Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры Орг ЭВМ

10. Структуры команд ЭВМ. Адресность ЭВМ. Место адресного сопроцессора в структуре ЭВМ

10. Структуры команд ЭВМ. Адресность ЭВМ. Место адресного сопроцессора в структуре ЭВМ

Все команды можно разбить на 5 основных групп:

1.     Основные (команды обработки). 2. Команды пересылки (команды обмена между процессором и ОП). Примечание: в CISC, таких команд может и не быть (причиной этому является возможность непосредственного обращения к памяти). 3. Команды управления (может привлекаться ОБ, а может и не привлекаться). 4. Команды ввода-вывода (может отсутствовать в случае организации адресного пространства ввода-вывода с отображением в ОЗУ, вместо них используются команды пересылки). 5. Системные команды (управление ресурсами системы, работа в сети).

Типовая команда, в общем случае, должна указывать: подлежащую выполнению операцию; адреса исходных данных (операндов), над которыми выполняется операция; адрес, по которому должен быть помещен результат операции.

В соответствии с этим команда состоит из двух частей: операционной и адрес­ной,(рис. 2.37).

Операционная часть    

Адресная часть

 

 

Рис. 2.37. Структура команды

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

- общее число различных команд; - общую длину команды; - тип полей команды (фиксированной или переменной длины) и их длина; - простоту декодирования; - адресуемость и способы адресации; - стоимость оборудования для декодирования и исполнения команд.

Длина команды

В рамках системы команд одной ВМ могут использоваться разные форматы команд. Обычно это связано с применением различных способов адресации. В таком случае в состав кода команды вводится поле для задания способа адресации (СА), и обобщенный формат команды приобретает вид, показанный на рис. 2.38.

Коп

СА

Адресная часть

Рис. 2.38. Обобщенный формат команды

Общая длина команды Rk  может быть описана следующим соотношением:

(2.1) l-количество адресов в команде; - количество разрядов для записи i-ro ;  -разрядность поля кода операции; RСА - разрядность поля способа адресации

В большинстве ВМ одновременно уживаются несколько различных форматов команд.

Разрядность поля кода операции

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

где int означает округление в большую сторону до целого числа.

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

Разрядность адресной части

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

  Разрядности полей RАi  и RСА рассчитываются по формулам:                                                                                                                                                                                                         

где N i — количество ячеек памяти, к которому можно обратиться с помощью i0 адреса; NCAколичество способов адресации (int означает округление в большую сторону до целого числа).

Количество адресов в команде

Для определения количества адресов, включаемых в адресную часть, будем исполь­зовать термин адресность. В «максимальном» варианте необходимо указать три компонента: адрес первого операнда, адрес второго операнда и адрес ячейки, куда заносится результат операции. В принципе может быть добавлен еще один адрес, указывающий место хранения следующей инструкции. В итоге имеет место четы­рехадресный формат команды (рис. 2.39).

Операция


             Адреса

 

Код операции

1-й операнд

2-й операнд

Результат

Следующая команда

Рис. 2.39. Четырехадресный формат команды

В фон-неймановских ВМ необходимость в четвертом адресе отпадает, поскольку команды располагаются в памяти в порядке их выполнения, и адрес очередной команды может быть получен за счет простого увеличения адреса текущей коман­ды в счетчике команд. Это позволяет перейти к трехадресному формату команды (рис. 2.40). Требуется только добавить в систему команд ВМ команды, способные изменять порядок вычислений.

Операция

Адреса

 



Код операции

1-й операнд

2-й операнд 

результат






Рис. 2.40. Трехадресный формат команды

Если по умолчанию взять в качестве адреса результата адрес одного из операндов(обычно второго), то можно обойтись без третьего адреса, и в итоге получаем двухадресный формат команды (рис. 2.41). Естественно, что в этом случае соответствующий операнд после выполнения операции теряется.

Операция


 

Адреса


 

Код операции

1-й операнд

2-й операнд/результат

Рис. 2.41. Двухадресный формат команды

 Команду можно еще более сократить, перейдя к одноадресному формату (рис 2.42), что возможно при выделении определенного стандартного места для хранения первого операнда и результата. Обычно для этой цели используется спе­циальный регистр центрального процессора (ЦП), известный под названием ак­кумулятора, поскольку здесь аккумулируется результат.

Операция


 

Адрес


                       

Код операции

1-й или 2-й операнд

Рис. 2.42. Одноадресный формат команды

            Применение единственного регистра для хранения одного из операндов и ре­зультата является ограничивающим фактором, поэтому помимо аккумулятора ча­сто используют и другие регистры ЦП. Так как число регистров в ЦП невелико, для указания одного из них в команде достаточно иметь сравнительно короткое адресное поле. Соответствующий формат носит название полутораадресного или регистрового формата (рис. 2.43).

Операция

          Адреса                                                    

 


 

Код операции

Регистр

2-й операнд

Рис. 2.43. Полутораадресный формат команды

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

Рис. 2.44. Нульадресный формат команды

В таком варианте адресная часть команды вообще отсутствует или не задействуется.

Выбор адресности команд

При выборе количества адресов в адресной части команды обычно руководствуются следующими критериями:

* емкостью запоминающего устройства, требуемой для хранения программы' - временем выполнения программы;

*  эффективностью использования ячеек памяти при хранении программы.

Адресность и емкость запоминающего устройства

Емкость запоминающего устройства для хранения программы ЕА можно оценить из соотношения

где NAколичество программ в программе; RKразрядность команды, опреде­ляемая в соответствии с формулой (2.1); А — индекс, указывающий адресность команд программы. С этих позиций оптимальная адресность команды определяется путем решения уравнения    при условии, что найденное значение обес­печивает минимум ЕА. В [29] показано, что в среднем ЕА монотонно возрастает с увеличением А. Таким образом, при выборе количества адресов по критерию «ем­кость ЗУ» предпочтение следует отдавать одноадресным командам.

Адресность и время выполнения программы Время выполнения одной команды складывается из времени выполнения опера­ции и времени обращения к памяти. Для трехадресной команды последнее суммируется из четырех составляющих времени: выборки команды; выборки первого операнда; выборки второго операнда; записи в память результата. Одноадресная команда требует двух обращений к памяти: выборки команды;  выборки операнда.

Категория: Шпоры Орг ЭВМ | Добавил: Kober (10.06.2013)
Просмотров: 2525
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz