Смекни!
smekni.com

Методические указания к выполнению курсового проекта «Проектирование процессора эвм» по курсу «Организация эвм, комплексов и систем» для студентов дневного отделения специальности 2201 Ижевск 2001г (стр. 4 из 12)


В ЕС ЭВМ команды представляются в пяти форматах: RR, RX, RS, SI, SS (рис. 5). (Формат SS здесь не рассматривается).

Рис. 5. Форматы команд ЭВМ ЕС

Первый байт команды содержит код операции КОП. Первые два разряда КОП(0:1) определяют формат команды: 00 – RR, 01 – RX, 10 – RS, 11 – SS. В зависимости от формата команды операнды выбираются из регистровой или основной памяти. Результат операции записывается обычно по адресу первого операнда. В формате SI второй операнд I2 выбирается непосредственно из команды.

Поля R1, R2 и R3 являются адресами соответственно первого, второго и третьего операндов, хранящихся в регистровой памяти (РОН или РПЗ). Поля В1, В2, D1, D2, X2 содержат информацию об адресах первого и второго операндов, хранящихся в ОП (см. “Формирование адресов операндов”).

3. СТРУКТУРНАЯ ОРГАНИЗАЦИЯ ЭВМ

Структура проектируемой ЭВМ в общем виде представлена на рис.6. Процессор состоит из операционного автомата (ОА) и управляющего автомата (УА), которые связаны с основной и регистровой памятью.

3.1. Структура процессора

ОА процессора служит для хранения слов информации, выполнения микроопераций (МО) над ними и вычисления логических условий (ЛУ), зависящих от слов.

УА обеспечивает требуемый порядок выработки наборов управляющих сигналов (следования МО) на основе заданных микропрограмм (МП).

ОА процессора рекомендуется строить на основе принципа
общих микроопераций [2]. ОА разделяется на две части: память ОА и комбинационную часть (рис. 6 см. в приложении). Память ОА состоит из N регистров. Рабочие регистры РА, РВ, РС и т.д. используются для хранения операндов и внутренних слов МП. Длина их определяется длиной операндов и особенностями выполняемых команд. Длина регистра команд РК назначается исходя из максимальной длины команд заданного набора. Счетчик адреса команд (СЧАК) хранит и модифицирует адрес команды. Так как адрес команды
всегда кратен полуслову, то длина СЧАК определяется емкостью ОП в полусловах, т.е. log2Е-1, где Е- емкость ОП в байтах.

Буферный регистр (БР) необходим для хранения неиспользованной части слова ОП в процессе выборки команд из ОП и имеет длину 1 или 3 полуслова при 32 или 64-разрядном слове ОП соответственно.

Память ОА связана с комбинационной частью шинами А, В и С. На шины А и В посредством управляющих сигналов из множеств {a} и {b} выбираются операнды, вступающие в микрооперацию, а шина С используется для занесения результатов МО в память ОА. Операционный автомат подключен к магистрали М, связывающей его с ОП и РП через регистр Z.

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

ФК необходим для формирования обратного кода слова, находящегося на шине В (F:=B), выделения поля слова (F:=В(1:31)), формирования константы (F:=const). Возможна прямая передача слова с входной шины ФК на выходную (F:=В). Все МО на ФК инициируются управляющими сигналами из множества {f}.

СДВ служит для выполнения МО сдвига слова вправо или влево на нужное количество разрядов k (S:=Lk(F) или S:=Rk(F), где k=1,2,…) и для прямой передачи слова через СДВ (S:=F). МО сдвига инициируются управляющими сигналами из множества {s}. Если при выполнении МО сдвига необходимо запоминать значение спадающего разряда (оно может быть использовано в дальнейшем), то в структуру вводим дополнительный триггер. На рис.6 показан триггер L, связанный со старшим разрядом СДВ. МО сдвига в этом случае запишется: L.S:=L1(F).

Основное назначение КСМ - выполнение МО суммирования чисел (K:=A+S или K:=A+S+1). Кроме этого, КСМ может выполнять логические МО (К:=АvS; К:=А&S; К:=AÅS), микрооперации счета (К:=А+1; К:=S+1) и прямую передачу слова на шину K (K:=A; K:=S). Все МО КСМ инициируются управляющими сигналами из множества {k}. П – триггер для запоминания переноса при сложении (вводится в структуру ОА при необходимости).

Результат МО фиксируется в промежуточном регистре Z управляющим сигналом z1 на время одного такта, а затем может быть передан в память ОА по шине С (управляющие сигналы {c}), в ОП или РП через магистраль М (управляющие сигналы {m}) или в адресный регистр АР (управляющие сигналы {r}).

Например, сложная микрокоманда РА:=РВ+R1(

) может быть реализована в предлагаемой структуре ОА следующим образом: А:=РВ; В:=РС; F:=
;
S:=R1(F); К:=А+S; Z:=K; РА:=Z.

Хранение признаков результата, состояний процессора и режимов работы обеспечивает совокупность триггеров, образующих регистр состояний процессора (РСП). Регистр РСП представляет собой часть регистра слова состояния процессора (ССП) ЭВМ. В нем фиксируются все особые случаи выполнения команды (сигналы прерываний), устанавливаются режимы работы и состояния процессора, признак результата (см. рис.10). Если одна из заданных команд использует ССП полностью (т.е. ССП является операндом), то нет необходимости вводить в структуру регистр РСП. В этом случае СЧАК также принадлежит регистру ССП (0:63).

3.2. Оперативная память

В ОП емкостью Е байтов хранятся 16, 32 или 64- разрядные слова. Слово читается и записывается в 0П всегда целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается в регистре адреса оперативной памяти (АОП). Длина регистра АОП вычисляется как log2ЕС, где ЕС - емкость ОП в словах (ЕС=Е/l, где l – длина слова ОП в байтах). Слово памяти, которое записывается или читается из ОП, размещается в регистре слова ОП (РОП). Длина регистра РОП (0:l-1), где lÎ{16,32,64}. Операция в ОП возбуждается сигналами чтения из ОП (ЧТОП) и записи в ОП (ЗПОП). Момент окончания цикла обращения к ОП отмечается сигналом занятости ОП ZОП, так как цикл ОП имеет длительность, большую такта работы процессора. Таким образом, синхронизация работы процессора и ОП обеспечивается за счет ждущих вершин графа микропрограммы.



Рис.6. Базовая структурная схема процессора


Обмен информацией между ОА и ОП происходит через магистраль М и промежуточный регистр Z. Адрес слова, которое необходимо прочитать или записать в ОП, предварительно формируется в адресном регистре АР, связанном с АОП шиной, управляемой сигналами из множества {r}. Длина АР равна log2E, т.е. АР хранит адрес байта в ОП.


Обмен информацией между процессором и ОП происходит следующим образом. Пусть необходимо прочитать слово информа­ции (команду, операнд) из ОП по адресу А, сформированному в одном из рабочих регистров памяти ОА. В первом такте адрес А передается в АР через регистр Z (рис. 7). Во втором такте А из АР загружается в регистр АОП и подается управляющий сигнал чтения ЧТОП. Нулевое значение осведомительного сигнала Zоп отмечает окончание цикла чтения ОП и, следовательно, прочитанное слово появилось в регистре слова ОП РОП. В третьем такте слово информации передается из РОП через магистраль М и регистр Z в память ОА. Функциональная микропрограмма чтения из ОП приведена на рис.7а. В дальнейшем МО передачи будут записываться укрупнено, т.е. вместо трех МО: М:=РОП, Z:=М, Слово:=Z запишем: Слово:=РОП. Функциональная микропрограмма записи слова в ОП по адресу A представлена на рис.7б.

Рис. 7. Функциональные микропрограммы: а) чтение слова из ОП;

б) запись слова в ОП по адресу А

3.3. Регистровая память

РП [0:23](0:31) является внутренней (сверхоперативной) памятью процессора. Длина регистра слова РП (РРП) - 32 разряда. Адрес регистра указывается в 5-разрядном регистре адреса РП (APП). Чтение и запись в РП инициируются сигналами ЧтРП и ЗпРП, соответственно.

При обращении к РОН с полусловом или словом любое значение адреса от 0 до 15 является допустимым. При обращении к РОН с двойным словом адрес должен быть четным, (если адрес у РОН нечетный – нарушение спецификации адреса (S)). При обращении к РПЗ со словом или двойным словом (числа с плавающей запя­той) адрес РПЗ должен быть четным и меньше восьми. В ином случае фиксируется нарушение спецификации адреса РПЗ (SP).

Сопряжение ОА процессора с РП организовано через магистраль (рис. 1,6). Сигнал занятости РП отсутствует, т.к. цикл РП (чтение или запись) укладывается в такт процессора.

В формате команды под адрес РП (номер регистра) отводится четырехразрядное поле (R, B или X). Обращение к определенному виду регистров (РОН или РПЗ) зависит от кода операции в команде (типа операнда).

Для обращения к POH за целым числом, базовым адресом, индексным приращением, кодом логической величины или адресом необходимо установить старший разряд адреса АРП(1) в нуль. Для обращения к РПЗ за числом с плавающей запятой АРП(1) устанавливается в единицу. Разряды АРП(2:5) определяются по­лем R , В или Х в команде. Обращение к регистрам РП за двойным словом выполняется за два цикла. Функциональные микро­программы чтения слова из POH с адресом R и записи двой­ного слова в РПЗ с адресом R приведены на рис. 8.


Рис. 8. Функциональные микропрограммы: а) чтение слова из РОН R;