Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительные системы-введение.doc
Скачиваний:
7
Добавлен:
14.09.2019
Размер:
453.63 Кб
Скачать

Машинные команды

Показанная на рис. 2.2 последовательность этапов представляет собой пример команды, которую должен уметь выполнять центральный процессор любой машины. Такие команды называются машинными командами. Вас, вероятно, удивит тот факт, что полный список машинных команд относительно невелик. Одной из наибо­лее удивительных особенностей компьютерных наук является то, что если машина способна выполнять определенный тщательно продуманный набор элементарных операций, то дальнейшее расширение набора команд машины не приведет к увели­чению ее теоретических функциональных возможностей. Другими словами, после какого-то момента добавление новых функций позволяет повысить лишь комфорт­ность эксплуатации машины или скорость ее работы, однако никак не влияет на ос­новные ее свойства.

При изучении системы машинных команд полезно будет разделить их на три категории: команды передачи данных, арифметические и логические команды, а также команды управления.

Команды передачи данных

Первая группа команд этой категории включает те команды, при выполнении ко­торых происходит перемещение данных из одного места в другое. На рис. 2.2 к этой группе относятся действия, выполняемые на этапах 1, 2 и 4. Как и в случае с основ­ной памятью, наиболее типичной является ситуация, когда перемещаемые данные сохраняются и в месте их исходного расположения. Процедура выполнения команд передачи данных больше напоминает копирование информации с одного места в другое, а не обычное их перемещение. Поэтому чаще всего, употребляемые названия команд пересылка или перемещение следует считать выбранными неверно. Более подходящими названиями для этих команд можно считать копирование или дубли­рование. Поскольку мы коснулись терминологии, то следует указать, что для пере­дачи данных между ЦП и основной памятью существуют специальные термины. За­прос на заполнение регистра общего назначения содержимым ячейки памяти обычно называют командой загрузки (LOAD), а запрос на передачу содержимого регистра в ячейку основной памяти — командой сохранения (STORE).

Вторую, очень важную группу команд этой категории составляют команды связи с устройствами, выходящими за рамки интерфейса ЦП-основная память. Поскольку эти команды отвечают за выполнение в машине операций вво­да/вывода, они обычно называются командами ввода/вывода и в некоторых слу­чаях помещаются в отдельную категорию. Однако для выполнения операций ввода/вывода обычно используются те же коман­ды, с помощью которых выполняется передача данных между ЦП и основной памятью машины. А это означает, что выделение данных команд в отдельную категорию следует считать неправомерным.

Арифметические и логические команды

Ко второй категории относятся те команды, которые указывают блоку управ­ления на необходимость запросить выполнение определенных действий арифме­тико-логического блока. На рис. 2.2 к этой категории относятся действия, вы­полняемые на этапе 3. Как следует из самого названия арифметико-логического блока, он также предусматривает выполнение группы операций, отличающихся от основных арифметических действий. К ним относятся обычные логические операции AND (И), OR (ИЛИ) и XOR (исключающее ИЛИ). В этой главе мы обсудим эти операции более подробно. В основном они используются для манипуляции отдельными битами некоторого регистра общего назначения; при этом состояние остальных регистров остается неизменным. Другая группа операций, реализованная в большинстве типов арифметико-логических блоков, состоит из команд, позволяющих перемещать содержимое регистров влево или вправо в пределах самих этих регистров. Такие операции называются операциями сдвига (SHIFT) или вращения (ROTATE), в за­висимости от того, что происходит с битами, выходящими при перемещении со­держимого регистра за его пределы. При операции сдвига эти биты просто от­брасываются, а при операции вращения — биты, покидающие пределы регистра с одного конца, помещаются во вновь вставляемые позиции на другом конце ре­гистра. (Иногда последняя операция называется циклическим сдвигом.)