Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АСВТ.doc
Скачиваний:
33
Добавлен:
05.11.2018
Размер:
4.6 Mб
Скачать

Команды процессора

Команды имеют длину в 2, 4, 6 байт. Каждая команда имеет один из шести возможных форматов:

RR, RX, RS, SI, S, SS. В обозначениях форматов используются заглавные буквы, которые указывают, операнды каких классов участвуют в операциях.

RR – операция типа регистр-регистр.

RХ – операция регистр-память, в которой адрес памяти индексируется.

RS – операция регистр-память, но без индексации.

SI – операция память-непосредственный операнд.

SS – операция память-память.

S – один операнд находится в памяти, а другой операнд задан не явно.

Первый байт команды, а в формате S – первые два байта, содержат код операции. Первые два бита кода операции определяют длину и формат команды.

В качестве примера приведем некоторые форматы команд:

В формате RX первый адрес находится в РОНе, номер которого задан полем R1 , а второй адрес задается полями В2, Х2, D2, и указывает на ячейку ОЗУ, в которой находится второй операнд.

В формате SI в качестве второго операнда непосредственно используется содержимое 8-разрядного поля I2. При этом поля В1 и D1 определяют первый операнд, который находится в ОЗУ. Адрес обращения ОЗУ либо содержится в регистре, номер которого указывается в поле R команды, либо формируется из трех двоичных чисел; базового адреса, индекса и смещения.

Базовый адрес – это 24-разрядное число в РОНе, номер которого задан полем В команды. Базовый адрес используется как средство независимой адресации каждой области памяти и определяет положение этой области в ОЗУ, указывая адрес первого байта области.

Индекс – представляет собой 24-разрядное число в РОНе, номер которого задан в поле Х команды.

Смещение – представляет собой 12-разрядное число в поле D команды. Смещение позволяет выполнить относительную адресацию в пределах 4096 байт, следующих за ячейкой, адрес которой равен базовому адресу.

Рассмотрим формирование физического адреса на примере формата SI.

В общем случае для формирования адреса, базовый адрес и индекс рассматривается в качестве 24-разрядных положительных чисел. Аналогично, смещение рассматривается в качестве 12-разрядного положительного числа, старшие 12 разрядов которого равны 0. Все три компоненты адреса (база, индекс и смещение) суммируются как 24-разрядные двоичные числа. При этом, если возникает переполнение, то оно игнорируется (не учитывается). В результате получается 24-разрядный адрес ячейки в ОЗУ, в которой находится один из операндов. При отсутствии в команде поля Х физический адрес формируется путем сложения базового адреса, заданного полем В команды, и смещением D.

Методы повышения производительности работы процессора

1.Конвейеризация (конвейер операций)

Повысить производительность процессора можно за счет параллельного выполнения отдельных этапов рабочего цикла команд. Пусть рабочий цикл процессора состоит из К этапов. Тогда при последовательном выполнении этапов продолжительность всех процедур рабочего цикла команды равна:

, – продолжительность i-го этапа

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

Каждый блок конвейера выполняет один этап рабочего цикла процессора и передает результат выполнения этого этапа на следующий блок для реализации очередного этапа и так далее.

Конвейеры операций могут быть синхронными и асинхронными. Если для выполнения этапа выделено одно и то же время tт, то такой конвейер называется синхронным. Время tт называется тактом процессора и равно продолжительности самого длинного этапа.

___

tT=max{ti} , i=1,k

Синхронный конвейер целесообразно использовать при условии, что продолжительности ti примерно одинаковые и равны tт. Покажем принцип работы конвейерных команд на временной диаграмме.

Пусть процесс выполнения команд разбит на 5 этапов. Тогда временная диаграмма имеет следующий вид:

На временной диаграмме одинаковыми символами помечены разные этапы рабочего цикла одной и той же команды. Всего команд на диаграмме 7. Эти 7 команд выполняются за 11 тактов на конвейере или за 35 тактов при последовательном методе выполнения команд, т.е. при отсутствии конвейера.

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

tпосл. К В приведенном примере tпосл. 35

К  _____  _____ ; ______ = ______  3

tконв. 2 tконв. 11

Таким образом, рост производительности не менее, чем в К раз и не более, чем в К раз. 2

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

Кроме конвейера команд используется также и арифметический конвейер, то есть само АЛУ также можно строить в виде конвейера. Конвейерное АЛУ часто называют магистралью. Арифметический конвейер в основном используется в специализированных устройствах с ограниченным набором алгоритмов обработки данных.