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

Организация командного управления

Командный уровень управления является более высоким по отношению к микрокомандному. Управление реализуется по хранимой в памяти машины программе. Под командой понимается управляющее слово, определяющее функционирование ЦВМ в ходе выполнения машинной операции. К машинным операциям относятся: арифметические, логические операции, операции обмена с памятью, обмена с внешними устройствами (операции ввода/вывода), управления процессором, передачи управления в ходе исполнения программы (условные, безусловные переходы) и др. Перечисленные операции определяют соответствующие функциональные группы команд. Команда может быть представлена в виде машинного кода, который непосредственно принимается к управлению, либо в виде символьного кода, требующего дополнительных преобразований для получения машинного кода.

Функционально связанная последовательность команд, описывающая выполнение алгоритма решения задачи, называется программой.

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

Описание основных процессов командного цикла дано в разделе истории развития ЭЦВМ при рассмотрении примера ЦВМ первого поколения (см. рис. 2).

Форматы и адресность команд

Традиционно в ЦВМ первых поколений использовались команды с фиксированным форматом. Для этих команд характерны неизменяемые разрядность и разбивка формата на функциональные поля. Обязательным функциональным полем является поле кода операции (КОп), кроме которого возможно наличие адресных и служебных полей. Количество адресных полей определяет адресность команды. Служебные поля могут нести дополнительную информацию, например, о способах адресации к операндам или командам при выполнении данной команды.

Наибольшее распространение получили следующие типы форматов.

1. Безадресные команды (рис. 42 а). Содержат в формате только код операции.

Вся остальная информация имеется в соответствующей микропрограмме (на аппаратном уровне), вызываемой по Коп: адреса источников операндов и приемников результатов; адресация к следующей команде; иная информация, зависящая от типа команды. Данный тип команд используется в основном в специализированных машинах, требующих минимального объема для хранения программы и максимального быстродействия при выборке команд.

2. Одноадресные команды (рис. 42 б). Содержат в формате кроме кода операции одно адресное поле А1, которое определяет размещение одного из операндов, либо операнда и результата, либо адреса передачи управления. Недостающая информация содержится на аппаратном уровне. Эти форматы используются в основном в управляющих машинах. Как и безадресные, эти команды неудобны для программирования, но имеют малый размер формата и короткий цикл выборки команд.

3. Двухадресные команды (рис.42 в). Содержат код операции и два адресных поля А1 и А2, которые для двуместных операций могут задавать адреса двух операндов, либо одного из операндов и результата, либо двух операндов с размещением результата по одному из адресов. Для операций большей мерности недостаток адресной информации компенсируется на аппаратном уровне. Эти команды достаточно наглядны при программировании, требуют средних временных затрат на выборку и приемлемых объёмов памяти для размещения программ.

4. Трехадресные команды (рис. 42 г). Содержат полную информацию об источниках операндов и приемнике результата для двуместных операций, что позволяет наиболее быстро исполнить команду, но затратить больше времени на выборку команды из памяти и требуют существенных затрат памяти на хранение программы. Наиболее наглядны при программировании.

5. В специализированных быстродействующих машинах использовались четырехадресные команды (рис. 42 д), где А4 – адрес передачи управления (принудительно задаваемый адрес следующей команды). В отличие от предыдущих типов команд, ориентированных на использование естественной адресации, обеспечивают выигрыш в быстродействии при формировании адреса следующей команды, а также создают большие удобства при программировании.

Начиная с систем третьего поколения, вводятся системы команд с переменным форматом, которые содержат команды с различной адресностью и различной длиной формата. В отличие от систем, ориентированных на фиксированные форматы, в которых разрядность памяти программ определялась длиной формата команды и не всегда совпадала с разрядностью данных, в системах третьего поколения используется байтовая организация памяти (байт – кратный кусок формата, 1 байт = 8 бит).

Недостаток данного подхода – снижение быстродействия при выборке длинных команд и длинных форматов данных.

Первыми подобный подход предложили специалисты компании IBM при разработке системы IBM 360. Они применили память с байтовой структурой и использовали пять типов форматов команд, кратных байту (рис. 43).

Самыми короткими командами, имеющими двухбайтовый формат, были команды типа RR (регистр – регистр). Первый байт закреплялся за кодом операции, второй байт отводился под адресные поля обращения к регистрам общего назначения R1, R2. Команда двухадресная, ориентирована на внутренние операции операционной части (регистровые операции), обеспечивает максимальное быстродействие как по выборке команды, так и по её исполнению. Внутренние операции не требуют внешнего обмена и выполняются быстрее. Недостатком является малая адресуемая оперативная область для размещения операндов и результатов. Обычно сверхоперативное запоминающее устройство в виде регистров общего назначения содержит от нескольких единиц до нескольких десятков регистров.

Команды типаRX (регистр – индексируемая ячейка памяти) занимают четыре байта и также являются двухадресными, но второй операнд или результат могли размещаться в любом месте основной памяти. Адрес обращения к ОП формировался по правилу (R(X2))+(R(B2))+D2, где X2 – указатель на индексный регистр R(X2), B2 – указатель на базовый регистр R(B2), D2 – непосредственное смещение, размещаемое в коде команды. Подобная адресация определяется как базово-индексная со смещением. Она обеспечивает обращение к любой ячейке основной памяти, но требует большего времени для её выборки и исполнения.

Третий тип команд RS (регистр – память) также имеет четырёхбайтовый формат, но использует трёхадресную систему. Адреса одного из операндов R1 и результата R3 указывают на регистровую память, второй операнд размещается в основной памяти, и для его выборки используется базовая адресация со смещением (R(B2))+D2. Трёхадресная система позволяет упростить процесс программирования и в то же время обеспечивает обращение к любой оперативной ячейке основной памяти, имея по сравнению с RX большее быстродействие по формированию второго адреса.

Команды типа SI (память – непосредственный операнд) содержат в коде команды непосредственное значение операнда I2, который может быть загружен в ячейку основной памяти, адресуемую по принципу базовой адресации со смещением. Подобные команды применяются для инициализации оперативных ячеек и при операциях между содержимым ячейки памяти и непосредственным операндом. Команды являются двухадресными и занимают четыре байта.

Самый длинный шестибайтовый формат имели команды типа SS (память–память). В формате кроме кода операции указывается адрес базового регистра В1 и непосредственное смещение D1 для формирования адреса начала первого операнда в адресном пространстве памяти, адрес базового регистра B2 и непосредственное смещение D2 для формирования адреса начала второго операнда, длины в байтах первого L1 и второго L2 операндов. Команда позволяет осуществлять пересылку операндов произвольного формата, каждый из которых может иметь длину до 16 байтов. Команды данного типа могли использоваться для пересылки операндов внутри основной памяти и при обмене с внешними устройствами.

В современных системах используется подобный подход. Программист по своему усмотрению выбирает наиболее приемлемые способы адресации и типы форматов.