Адресность машинной команды
Устройство центрального процессора
Процессоры характеризуются рядом параметров. Основными считаются тактовая частота и длина машинного слова.
Процессор выполняет каждую команду за определенное количество тактов. Чем выше тактовая частота. Тем быстрее работает компьютер. Вычислительная мощность компьютера определяется также количеством байтов, которые могут быть одновременно обработаны процессором. Типичными для настоящего времени являются длины машинных слов 4 и 8 байтов.
Внутреннее устройство тракта данных типичного фон-неймановского процессора показано на рис. 4.2. Тракт данных состоит из регистров (обычно от 1 до 32), АЛУ (арифметико-логического устройства) и нескольких соединяющих шин. Содержимое регистров поступает во входные регистры АЛУ, которые на рис. 4.2 обозначены буквами А и В. В них находятся входные данные АЛУ, пока АЛУ производит вычисления.
Рис. 4.2 Тракт в обычной фон-неймановской машине.
АЛУ выполняет сложение, вычитание и другие простые операции над входными данными и помещает результат в выходной регистр. Этот выходной регистр может помещаться обратно в один из регистров. Он может быть сохранен в памяти, если это необходимо. На рис. 4.2 показана операция сложения. Отметим, что входные и выходные регистры есть не у всех компьютеров.
Большинство команд можно разделить на две группы: команды типа регистр-память и типа регистр-регистр. Команды первого типа вызывают слова из памяти, помещают их в регистры, где они используются в качестве входных данных АЛУ. («Слова» – это такие элементы данных, которые перемещаются между памятью и регистрами.) Словом может быть целое число. Другие команды этого типа помещают регистры обратно в память. ( На самом деле размер слова обычно соответствует разрядности регистра данных. Так, например, у 16-битных микропроцессоров 8086 и 8088 слово было 16-битным, а у 32-битных микропроцессоров слово имеет длину 32 бита.)
Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных. В какой-то степени он определяет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает.
Машинные команды и прерывания
Структура машинной команды
Каждому действию, принадлежащему системе команд компьютера, ставится во взаимно однозначное соответствие двоичный код – код операции(КОП). Данные называют операндами. Операнд может быть задан непосредственно в команде или находиться в регистре или в памяти.
Каждая машинная команда характеризуется длиной, и, если она находится в поле оперативной памяти, то и адресом.
Формат машинной команды – это исчерпывающе полный набор правил ее кодирования.
Адресность машинной команды
Единственным обязательным элементом МК является ее код. Также в составе команды обычно имеется несколько операндов. Наибольшее число операндов имеют четырехадресные команды. Первые 2 из них задают, например, слагаемые, третий – место, куда будет записан результат, четвертый – адрес команды, которую процессор должен выполнить следующей.
Наиболее естественную структуру имеют 3-ехадресные команды. Но с целью уменьшения длины команды результат можно помещать по первому или второму адресу команды, заменяя тот операнд, который в дальнейших вычислениях не требуется.
Существуют также одноадресные и безадресные команды. (Задание: пример)
Способы адресации
Способы задания операндов в команде принято называть адресацией.
Основные способы адресации:
1. Непосредственная адресация – код операнда включается в МК как ее составная часть;
2. Регистровая адресация – операнд находится в регистре процессора, а в команде указывается код регистра;
3. Прямая адресация – операнд находится в поле оперативной памяти, а в МК указан адрес этого поля;
4. Косвенная адресация – операнд находится в поле оперативной памяти, а в МК содержатся некоторые элементы, по которым однозначно определяется адрес этого поля.