Главная страница

пр4. Основные компоненты архитектуры


Скачать 22.63 Kb.
НазваниеОсновные компоненты архитектуры
Дата12.06.2021
Размер22.63 Kb.
Формат файлаdocx
Имя файлапр4.docx
ТипДокументы
#216951

Центра́льный проце́ссор — электронный блок либо интегральная схема, исполняющая машинные инструкции, главная часть аппаратного обеспечения компьютера или программируемого логического контроллера

Основное назначение - выполняет арифметические и логические операции, заданные программой, управляет вычислительным процессом и координирует работу всех устройств компьютера

Основные компоненты архитектуры:

  • центральный процессор

  • информационная магистраль

  • внутренняя память (постоянная и оперативная)

  • внешняя память

  • переферийные устройства (устройства ввода-вывода).

В общем случае система команд процессора включает в себя следующие четыре основные группы команд:

  • команды пересылки данных;

  • арифметические команды;

  • логические команды;

  • команды переходов.

Команды пересылки данных занимают очень важное место в системе команд любого процессора. Они выполняют следующие важнейшие функции:

  • загрузка (запись) содержимого во внутренние регистры процессора;

  • сохранение в памяти содержимого внутренних регистров процессора;

  • копирование содержимого из одной области памяти в другую;

  • запись в устройства ввода/вывода и чтение из устройств ввода/вывода.

Арифметические команды рассматривают коды операндов как числовые двоичные или двоично-десятичные коды. Эти команды могут быть разделены на пять основных групп:

  • команды операций с фиксированной запятой (сложение, вычитание, умножение, деление);

  • команды операций с плавающей запятой (сложение, вычитание, умножение, деление);

  • команды очистки;

  • команды инкремента и декремента;

  • команда сравнения.

Логические команды выполняют над операндами логические (побитовые) операции, то есть они рассматривают коды операндов не как единое число, а как набор отдельных битов. Этим они отличаются от арифметических командЛогические команды выполняют следующие основные операции:

  • логическое И, логическое ИЛИ, сложение по модулю 2 (Исключающее ИЛИ);

  • логические, арифметические и циклические сдвиги;

  • проверка битов и операндов;

  • установка и очистка битов (флагов) регистра состояния процессора ( PSW ).

Команды переходов предназначены для организации всевозможных циклов, ветвлений, вызовов подпрограмм и т.д., то есть они нарушают последовательный ход выполнения программы. Эти команды записывают в регистр-счетчик команд новое значение и тем самым вызывают переход процессора не к следующей по порядку команде, а к любой другой команде в памяти программ. Некоторые команды переходов предусматривают в дальнейшем возврат назад, в точку, из которой был сделан переход, другие не предусматривают этого. Если возврат предусмотрен, то текущие параметры процессора сохраняются в стеке. Если возврат не предусмотрен, то текущие параметры процессора не сохраняются.

Команды переходов без возврата делятся на две группы:

  • команды безусловных переходов;

  • команды условных переходов.

Примеры

Команда

Операнды

Описание  

AAA

Нет операндов

Коррекция ASCII-формата после сложения.
Корректирует результат в регистрах AH и AL после сложения при работе с BCD-значениями.

Она работает согласно следующему алгоритму

Если младшие (правые) четыре бита
регистра AL > 9 или флаг AF = 1, то:

  • AL = AL + 6

  • AH = AH + 1

  • AF = 1

  • CF = 1

иначе

  • AF = 0

  • CF = 0

в любом случае:
очистить старшие четыре бита регистра AL.

Пример:

MOV AX, 15 ; AH = 00, AL = 0Fh

AAA ; AH = 01, AL = 05

RET

C

Z

S

O

P

A

r

?

?

?

?

r

 

AAD

Нет операндов


Коррекция ASCII-формата перед делением.
Подготавливает два BCD-значения для деления.

Алгоритм:


  • AL = (AH * 10) + AL

  • AH = 0


Пример:

MOV AX, 0105h ; AH = 01, AL = 05

AAD ; AH = 00, AL = 0Fh (15)

RET

C

Z

S

O

P

A

?

r

r

?

r

?

 

AAM

Нет операндов

Коррекция ASCII-формата после умножения.
Корректирует результат умножения двух BCD-значений.

Алгоритм:


  • AH = AL / 10

  • AL = остаток


Пример:

MOV AL, 15 ; AL = 0Fh

AAM ; AH = 01, AL = 05

RET

C

Z

S

O

P

A

?

r

r

?

r

?





написать администратору сайта