Автор работы: Пользователь скрыл имя, 11 Января 2014 в 17:55, курс лекций
Работа содержит конспекты лекций по дисциплине "Микропроцессорные устройства".
Часто возникает необходимость сравнить два двоичных числа. Команды сравнения вычитают содержимое регистра или ячейки памяти из содержимого аккумулятора, но не изменяют данных ни того ни другого. Индикаторы подвержены влиянию результата сравнения. Применение этих команд позволяет принимать решения в ходе выполнения программы. Краткая характеристика команд сравнения приведена ниже.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Символика |
Индикаторы |
Сравнить А с данными |
Непосредственная |
CPI |
FE |
2 |
||
Сравнить A с регистром r |
Регистровая |
CMP r |
….. |
1 |
||
Сравнить А с LOC (HL) |
Косвенная |
CMP M |
BE |
1 |
Команды сдвига
Необходимо различать команды простого сдвига и циклического сдвига. Эти команды влияют на разряды регистра состояния. Разряд переноса участвует в выполнении этих команд и его значение изменяется по мере передачи данных. Рассмотрим четыре команды сдвига.
RAL - циклический сдвиг аккумулятора
влево
, ,
RAR - циклический сдвиг аккумулятора вправо
, ,
При использовании команд циклического сдвига не происходит потерь данных, поскольку данные перемещаются по замкнутому контуру. Если выполнить циклический сдвиг девять раз, то окончательное содержимое аккумулятора и разряда переноса полностью совпадёт с исходным.
RLC - сдвиг содержимого аккумулятора влево
, ,
RRC - сдвиг содержимого аккумулятора вправо
, ,
4.7 Команды передачи управления (ветвления)
Команды перехода (ветвления) позволяют изменять последовательность выполнения команд программы. Бывают команды безусловного и условного перехода. Сведения об основных командах перехода представлены в следующей таблице.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команды |
Символика |
Переход |
Прямая |
JMP |
C3 |
3 |
КОП Мл. адрес Ст. адрес |
|
Перейти если 0 |
___ |
JZ |
CA |
3 |
___ |
|
Перейти если не 0 |
___ |
JNZ |
C2 |
3 |
___ |
|
Перейти если перенос |
___ |
JC |
DA |
3 |
___ |
|
Перейти если нет переноса |
___ |
JNC |
D2 |
3 |
___ |
Первая команда в таблице является командой безусловного перехода. Команды передачи управления (перехода) являются средством изменения содержимого счётчика команд и, следовательно, изменения последовательности выполнения программы. Команды перехода во 2 и 3 байтах содержат адрес, который загружается в счётчик команд. Этот адрес указывает на ячейку памяти, содержащей команду, которая должна выполняться следующей.
Команды условного перехода проверяют значения разрядов регистра признаков и определяют последующий ход выполнения программы в зависимости от результата проверки. Эти команды повлекут за собой загрузку адреса в счётчик команд только если условия будут выполнены. В противном случае PC будет инкрементирован нормально.
Команды ветвления используют для формирования циклов программы.
4.8 Команды работы с подпрограммой
Команды вызова подпрограммы (CALL) и возврата из неё (RET) всегда используются парами. При их выполнении содержимое регистра признаков (индикаторы) не изменяется. Характеристики команд представлены в таблице.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команды |
Символика |
Вызов подпрограммы |
Прямая |
CALL |
CD |
3 |
КОП Мл. адрес Ст. адрес |
|
Возврат из подпрограммы |
Косвенная |
RET |
C9 |
1 |
КОП |
Команда CALL сочетает функции операций загрузки в стек и перехода. Сначала загружается в стек содержимое счётчика команд. Затем PC должен быть загружен новым адресом для выполнения перехода в подпрограмму.
4.9 Прочие команды
Операция |
Адресация |
Мнемоника |
КОП |
Байт |
Формат команды |
Символика |
Нет операций |
Неявная |
NOP |
00 |
1 |
КОП |
____ |
Останов |
Неявная |
HLT |
76 |
1 |
КОП |
____ |
Повторный пуск |
Неявная |
RST |
….. |
1 |
КОП |
В зависимости от типа операций АЛУ может оперировать одним или двумя словами данных и, следовательно, пользоваться одним или двумя входными портами. К операциям выполняемым АЛУ всех типов относятся следующие:
арифметические сложение и вычитание, операции , логические сложение и умножение, исключающее ИЛИ, инверсия, сдвиги вправо и влево. Перечисленные операции выполняются с использованием только аппаратных средств, заложенных в АЛУ. Более сложные операции, например такие, как арифметические умножение и деление выполняются программно путём комбинаций описанных элементарных операций. АЛУ относится к комбинационным устройствам, так как не содержит элементов памяти. Поэтому значения его выходных сигналов определяются исключительно комбинацией входных сигналов.
Анализ роботы ЭВМ показал, что около 50% выполняемых ею операций являются операциями арифметического сложения. Поэтому быстродействие ЭВМ определяется главным образом временем выполнения операций арифметического сложения. При этом быстродействие сумматоров определяется частотными свойствами используемой элементной базы и видом реализуемых функций алгебры логики (ФАЛ).
Сумматором называется комбинационное устройство, предназначенное для выполнения операции арифметического сложения чисел, представленных в двоичных кодах. Сумматоры являются одним из основных узлов АЛУ.
Классификация сумматоров может быть выполнена по различным признакам. По числу выводов различают: полусумматоры, одноразрядные сумматоры и многоразрядные сумматоры. Полусумматором называется устройство для сложения двух одноразрядных кодов, имеющее два входа и два выхода и формирующее из сигналов входных слагаемых сигналы суммы и переноса в старший разряд. Таблица истинности полусумматора показана ниже.
x |
y |
s |
p |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
ФАЛ, описывающая алгоритм работы полусумматора, будет следующей
(1)
Функция (1) называется функцией исключающее или, иначе суммой по модулю два.
С целью упрощения выражение (1) записывают следующим образом
s=xÅy.
Операция называется операцией исключающее ИЛИ-НЕ.
(3)
Техническая реализация выражения (1) приведена на рисунке.
Условное обозначение операции ИСКЛЮЧАЮЩЕЕ ИЛИ
Данная схема построена исходя из тождества
Тождество вытекает из правил де Моргана
; .
Условное обозначение полусумматора.
Одноразрядным сумматором называется устройство для сложения двух одноразрядных кодов, имеющее три входа и два выхода и формирующее из сигналов входных слагаемых и сигнала переноса из младших разрядов величины суммы и переноса в старший разряд .
Таблица истинности одноразрядного сумматора показана ниже. Таблица записана для i-ых разрядов складываемых чисел. ФАЛ, описывающие работу одноразрядного сумматора, и соответствующие таблице истинности будут следующими
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |