Функциональная организация и система команд процессора

Задание

Построить микропроцессор, выполняющий команды, приведенные в таблице 1.

Команды для проектируемого процессора

Таблица 1

Название команды

КОП16

И непосредственное

94

Сложение с нормализацией

Загрузка и проверка

12

Загрузка PSW

82

Должны обрабатываться программные прерывания, возникающие в процессе выполнения команд.

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

Аннотация

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

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

Содержание

Введение

1. Функциональная организация процессора

1.1 Описание команды “И непосредственное "

1.2 Сложение с нормализацией

1.3 Загрузка и проверка

1.4 Загрузка PSW

2. Синтез операций

2.1 Выборка команды

2.2 Реализация команды “И непосредственное "

2.2 Реализация команды “Сложение с нормализацией”

2.3 Реализация команды “ Загрузка и проверка”

2.4 Реализация команды “ Загрузка PSW"

3. Описание структурной схемы процессора

3.1 Процессор

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

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

3.4 Слово состояния процессора

3.5 Микрооперации и логические условия

4. Синтез управляющего автомата

4.1 Разметка граф схемы

4.2 Разбиение микроопераций по полям и кодирование логических условий

4.3 Прошивка МПЗУ

4.4 Описание Структурной и Электрической принципиальной схемы Управляющего автомата

Перечень используемых сокращений

Список используемой литературы

Заключение

Введение

Данный курсовой проект посвящен разработке микропроцессора, выполняющего некоторый набор команд. Для приближения к структуре и функционированию реальных процессорных устройств были даны команды и принципы работы с внешними устройствами аналогичные реально существующему процессору IBM/370. Разработка процессора - это один из наиболее важных этапов разработки ЭВМ в целом. Несмотря на то, что для функционирования модулей памяти и других внешних по отношению к процессору устройств безразлична внутренняя структура процессора, важно принимать во внимание при выборе набора устройств наиболее характерные типы данных обрабатываемые процессором, типы команд, назначение и функции внешних выводов процессора. В данном случае, так как команды процессора могут иметь длину 16 или 32 разряда, то желательно использовать память, позволяющую считывать одновременно не менее 32 разрядов. Подобный выбор структуры памяти хорошо стыкуется и с наиболее характерными форматами данных, с которыми работает процессор. В данном случае не лишен смысла был и выбор памяти с возможностью выборки 64-разраядных слов, так как процессор работает и с 64-разраядными словами, но так как такая разрядность используется только в одной из микроопераций, а данные при этом находятся в регистровой памяти, то при этом 64-разрядная память использовалась бы исключительно для выборки команд, а магистраль большую часть времени простаивала. Таким образом, была выбрана структура процессора, имеющая 32-разрядную внешнюю и 32-разрядную внутреннюю структуру.

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

1. Функциональная организация процессора

Процессор должен выполнять следующие команды:

И непосредственное

Сложение с нормализацией

Загрузка и проверка

Загрузка PSW

1.1 Описание команды “И непосредственное "

NI D>1> (B>1>), I>2 (>SI)

9416

I2

B>1>

D1

0 8 16 20 31

Поразрядное логическое произведение (И) первого и второго операндов помещается на место первого операнда.

Операнды обрабатываются как логические величины, не имеющие внутренней структуры, и к соответствующим битам применяется операция логического И. В бите результата устанавливается 1, если в соответствующих битах обоих операндов содержатся единицы, в противном случае - устанавливается 0.

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

Признак результата:

0-результат равен 0;

1-результат не равен 0;

2-

1.2 Сложение с нормализацией

AER R1,R2 (RR, короткие операнды)

3A16

R1

R2

0 8 12 15

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

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

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

При сложении коротких операндов мантисса промежуточной суммы состоит из 7 шестнадцатеричных цифр и, возможно, цифры переноса. Если перенос имеет место, сумма сдвигается вправо на одну цифру, и характеристика увеличивается на 1.

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

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

Если перенос из старшей позиции мантиссы промежуточной суммы характеристики нормализованной суммы превышает число 127, то фиксируется особый случай переполнения порядка. Операция завершается путем формирования характеристики, которая на 128 меньше действительного значения, и происходит программное прерывание из-за переполнения порядка. При этом результат будет нормализованным, а знак и мантисса сохраняют правильные значения. В случае команды сложение для расширенных операндов (AXR) сохраняется также правильное значение характеристики младшей части.

Если характеристика нормализованной суммы меньше 0, а мантисса не равна 0, имеет место особый случай исчезновения порядка. Если бит маски исчезновения порядка равен 1, операция завершается путем формирования характеристики, которая на 128 больше действительного значения. Результат нормализуется, а знак и мантисса сохраняют правильные значения. Затем происходит программное прерывание из-за исчезновения порядка. Если исчезновение порядка имеет место, а бит маски исчезновения порядка равен 0, то программное прерывание не происходит. Вместо этого операция завершается путем формирования результата, равного истинному 0. В случае команды сложение для расширенных операндов исчезновение порядка не фиксируется, если характеристика младшей части меньше 0, а характеристика старшей части больше или равна 0.

Если мантисса промежуточной суммы, включая дополнительную цифру, равна 0, имеет место особый случай потери значимости. Если бит маски потери значимости равен 1, то характеристика промежуточной суммы не меняется и становится характеристикой результата. Нормализация не производится, и происходит программное прерывание из-за потери значимости.

Если бит маски потери значимости равен 0, программное прерывание не происходит; Вместо этого формируется результат, равный истинному 0.

Признак результата:

0-Мантисса результата равна 0;

1-Результат меньше 0;

2-Результат больше 0;

Программные прерывания:

Операция (если в данной установке отсутствует средство обработки чисел с плавающей точкой или в случае команды AXR отсутствует средство обработки чисел с плавающей точкой повышенной точности)

Спецификация;

Переполнение порядка;

Исчезновение порядка;

Потеря значимости.

1.3 Загрузка и проверка

LTR R1,R2 (RR)

1216

R1

R2

0 8 12 15

Второй операнд без изменения помещается на место первого операнда. Поля R1 и R2 должны определять регистры 0,2,4 или 6; в противном случае фиксируется особый случай спецификации.

Признак результата:

0-результат равен 0;

1-результат меньше 0;

2 - результат больше 0;

3-

Программные прерывания отсутствуют.

1.4 Загрузка PSW

LPSW D>2> (B>2>) (S)

8216

// // // // /

B>2>

D>2>

0 8 16 20 31

Двойное слово из области, указанной адресом второго операнда, замещает текущее PSW.

Если в новом PSW задан режим BC, то при загрузке PSW содержимое позиции 16-33 нового PSW не сохраняется. Когда в последствии PSW записывается в память. Эти позиции содержат новый код прерывания и код длины команды.

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

До тех пор пока выполнение данной команды не будет завершено, доступ к последующим командам и их операндом не производится.

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

Биты 8-15 команды игнорируются.

Признак результата определяется содержимым соответствующего поля нового PSW.

Программное прерывание:

Привилегированная операция;

2. Синтез операций

2.1 Выборка команды

Перед выполнением любой команды нужно считать ее из памяти в регистр команд РК. Адрес считываемой команды задается в счетчике адреса команды СЧАК, представляющего собой биты 40. .62 из слова состояния программы PSW. Из памяти одновременно считываются 32 разряда - Регистр ОП, адрес которого находится в Адресном регистре ОП. Так как длина команды может быть равно 16 или 32 разрядам, то за одно обращение к памяти может быть считана одна или две команды либо одна команда и часть следующей.

Чтобы не производить повторное считывание, разряды РОП (16: 31) могут быть запомнены в буферном регистре БР. Для того, чтобы определить, находится ли в БР полезная информация, используется триггер переходов ТП, единичное значение которого означается, что информация в БР не может быть использована для формирования новой команды. Если ТП=0, то содержимое БР может быть использовано для формирования новой команды.

Если выбираемая команда имеет формат RR, первое полуслово, представляющее собой команду, передается на РК,

а разряды (16: 31) сохраняются на БР. При этом СЧАК увеличивается на “1".

Если выбираемая команда начинается со второго полуслова

и имеет длину в слово, то на РК разряды (0: 15) передаются разряды (16: 31) РОП, СЧАК увеличивается на “2” и происходит повторное обращение к ОП. Разряды (0: 15) РОП передаются на РК (16: 31).

Функциональная микропрограмма выборки команды приведена на рис.1

в приложении 1. После выборки команда находится в РК. Ее КОП мы

поочередно сравниваем с КОПами наших команд, как только они совпадут идем на выполнение. Если такого КОПа нет, то вызывается программное прерывание.

2.2 Реализация команды “И непосредственное "

В команде “И непосредственное “ явно дан второй операнд, длина которого 1 байт-это поле I2. Второй операнд находится в ОП. Его адрес

вычисляется следующим способом: из РП по адресу В1 извлекается РОН который складывается со смещением D1. В результате получаем адрес операнда в ОП. В зависимости от последних 2-х битов адреса извлекаем соответствующий байт и проводим операцию “И непосредственное ". Затем результат записываем на место 1-го операнда и производим запись полученного регистра в память. Признак результата устанавливается в соответствии вышеописанного условия.

Блок-схема алгоритма показана на рисунке 2.

2.2 Реализация команды “Сложение с нормализацией”

Для реализации команды “Сложение с нормализацией" были использованы следующие элементы. Триггера SA, SB, которые служат для хранения знака (модернизированный код); триггер DS используется как флаг переполнения при сложении. Четырехразрядные регистры DOPA и DOPB, где хранятся дополнительные цифры для соответствующих операндов. Операнды находятся в регистровой памяти по адресам R1 и R2 соответственно. При извлечении операндов проверяется корректность задания адресов. Для удобства операнды разбиты по полям: РА и РВ - поля характеристик, МА и МВ - поля мантисс. Программа реализуется в соответствии с описанием -подраздел 1.2 Схема алгоритма программы представлена на рисунке 3.

2.3 Реализация команды “ Загрузка и проверка”

При выполнении этой команды проверяется корректность задания адресов R1 и R2. В соответствии с заданием устанавливается признак результата.

2.4 Реализация команды “ Загрузка PSW"

Операнд находится в ОП. Его адрес вычисляется следующим способом: из РП по адресу В2 извлекается РОН который складывается со смещением D2. В результате получаем адрес операнда в ОП. Извлекаем регистр и записываем его в PSW (0: 31), затем увеличиваем на 1-у и записываем регистр в PSW (32: 63).

3. Описание структурной схемы процессора

3.1 Процессор

Процессор состоит из следующих основных частей:

32-разрядной магистрали М;

32-разрядного регистра Z для сопряжения с магистралью;

32-разрядного ALU

32-разрядных регистров А, В;

Триггеры DS,SA,SB;

4-разрядных регистров DOPA, DOPB;

16-разрядного буферного регистра БР и 32-разрядного регистра команд РК;

64-разрядного PSW;

Триггера перехода ТП;

Формирователей кодов ФК1-ФК6;

Различных схем сравнения, мультиплексоров и линий связи.

Кроме того, для работы процессора необходимы РП и ОП, которые могут находиться внутри процессора или подключаться в виде внешних устройств.

Магистраль процессора служит для связи РП и ОП с внутренними регистрами. РП подключена к М через регистр РРП. ОП подключена к М через регистр РОП. Z служит для связи РРП и РОП с регистрами процессора. БР и РК связаны с М непосредственно. ALU служит для выполнения различных операций и для связи между внутренними регистрами.

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

В оперативной памяти емкостью 256 килобайт хранятся 32 - разрядные слова. Слово читается и записывается в оперативную память только целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается на регистре адреса основной памяти АОП. Длина регистра АОП равняется , где -емкость ОП в словах. Слово информации, которое записывается или читается из ОП, размешается в регистре РОП. Операция в ОП возбуждается сигналами чтения из основной памяти ЧТОП и записи в основную память ЗПОП. Момент окончания операции в ОП отмечается сигналом . Так как цикл основной памяти имеет длительность большую такта работы процессора, то должна обеспечиваться синхронизация работы процессора и оперативной памяти за счет ждущих вершин графа микропрограммы.

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

Регистровая память применяется для увеличения быстродействия процессора. РП состоит из регистров общего назначения (РОН) и регистров с плавающей запятой (РПЗ). РОНы используются в качестве индекс регистров, базовых регистров, а также для хранения слов и полуслов, участвующих в операциях с фиксированной запятой. РОНы представляют собой 32 - разрядные регистры и адресуются числами от 0 до 15. Для обращения к РОНам в командах любого формата отводится четырехразрядное поле R.

При выполнении операций с плавающей запятой один или оба операнда могут располагаться на РПЗ. Всего используется четыре регистра длиной 8 байтов с адресами 0,2,4,6 соответственно.

РОНы и РПЗ структурно объединены в 24-регистровую память РП, регистры 0-15 представляют собой РОНы, а остальные 8 регистров используется для хранения четырех восьмибайтных слов. Длина регистра РП равна 32 разрядам. Адрес регистра указывается на 5-разрядном регистре АРП. Операнд, который записывается или читается из РП, помещается на регистр РРП. Чтение и запись слова инициируются соответственно сигналами ЧТРП и ЗПРП.

Для хранения текущей информации используется РК. Данные с него могут поступать на АРП и на ALU.

3.4 Слово состояния процессора

Слово-состояние процессора PSW содержит информацию о состоянии процессора. В связи с ограниченным набором команд используются не все разряды. Разряды 16-31 содержат код ошибки, вызвавшей программное прерывание. В данном случае используют

разряды 28-31. Разряды 32-33 хранят информацию о длине последней выполнившейся команды. В разряды 34-35 записывается признак результата. Разряды 36-39 хранят маску прерываний. Разряды 40-63 используются для хранения адреса команды. ФК1 используется для формирования кода длины ошибки. ФК2 - кода длины команды, ФК3 - признака результата, ФК4 - адреса памяти, ФК5 и ФК6 - для формирования некоторого кода при выполнении унарных операций.

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

При написании микропрограмм надо учитывать набор имеющегося оборудования. Для облегчения определения необходимого оборудования вначале пишем микропрограмму для самой большей по затратам оборудования команды. Ей является команда с плавающей запятой. Команда сравнения двух операндов с плавающей запятой. числа представляются в коротком формате.

±

Характеристика

Мантисса

0 1 7 8 31

Отрицательные числа изображаются в прямом коде. Характеристика Х равна порядку числа, увеличенному на 64, и представляет значения порядка в диапазоне от -64 до +63. Набор символов (_=) обозначает присвоение переменной в начале машинного такта, а набор символов (: =) обозначает присвоение переменной в конце такта.

Структурная схема процессора (операционная часть) приведена в приложении 2.

3.5 Микрооперации и логические условия

Перечень всех микроопераций показан в таблице 2.

Перечень всех логических условий показан в таблице 3.

Перечень микроопераций таблица 2

Y

ОПЕРАЦИЯ

Y

ОПЕРАЦИЯ

Y1

PSW (28: 31): =01012

Y45

MA. DOPA: =1110. MA

Y2

PSW (28: 31): =01102

Y46

A (0): =1

Y3

AOП: =СЧАК+1

Y47

MA. DOPA: =A (11: 31)

Y4

ЧТОП

Y48

SA. MA: =SA. MA+DOPA (0)

Y5

PK (0: 15): =БР

Y49

PSW (28: 31): =11002

Y6

СЧАК: =СЧАК+1

Y50

MA: =0001. A (8: 27)

Y7

M_=РОП

Y51

PSW (34: 35): =nA (0). A (0)

Y8

Z: =M

Y52

PA: =6410

Y9

PK (0: 15): =Z (0: 15)

Y53

PSW (28: 31): =11102

Y10

БР: =M (16: 31)

Y54

Z: =A

Y11

PK (16: 31): =M (0: 15)

Y55

РРП: =M

Y12

ТП: =0

Y56

M_=Z

Y13

ТП: =1

Y57

PSW (32: 33): =112

Y14

БР: =M (16: 31)

Y58

A: =0. .0. D2

Y15

РК: =Z

Y59

АРП: =0. B2

Y16

PSW (32: 33): =012

Y60

PSW (32: 33): =102

Y17

APП: =0. R2

Y61

A: =A+Z

Y18

ЧТРП

Y62

ОАП: =A (12: 29)

Y19

M_=РРП

Y63

A (12: 29): =A (12: 29) +1

Y20

ЗПРП

Y64

PSW (0: 31): =B

Y21

АРП: =0. R1

Y65

PSW (32: 63): =B

Y22

A: =Z

Y66

PSW (28: 31): =00012

Y23

PSW (34: 35): =102

Y67

A: =0. .0. D1

Y24

PSW (34: 35): =002

Y68

АРП: =0. B1

Y25

PSW (34: 35): =012

Y69

B (0: 7): =I2

Y26

АРП: =1. R1

Y70

B: =B (0: 7) &Z (0: 7). Z (8: 31)

Y27

DOPA: =0

Y71

A (0: 7): =B (0: 7) &Z (0: 7)

Y28

DOPB: =0

Y72

B: =Z (0: 7). B (0: 7) &Z (8: 15). Z (15: 31)

Y29

APП: =1. R2

Y73

A (0: 7): =B (0: 7) &Z (8: 15)

Y30

SA: =Z (0)

Y74

B: =Z (0: 15). B (0: 7) &Z (16: 23). Z (24: 31)

Y31

DS: =0

Y75

A (0: 7): =B (0: 7) &Z (16: 23)

Y32

B: =Z

Y76

B: =Z (0: 23) B (0: 7) &Z (24: 31)

Y33

SB: =Z (0)

Y77

A (0: 7): =B (0: 7) &Z (24: 31)

Y34

B: =A

Y78

Z: =B

Y35

SB: =SA

Y79

РОП: =M

Y36

PA: =PA+1

Y80

ЗПОП

Y37

MA. DOPA: =0000. MA

Y81

АОП: =4016

Y38

MA. DOPA: =nMA. nDOPA+1

Y82

Z: =PSW (0: 31)

Y39

MB. DOPB: =nMB. nDOPB+1

Y83

Z: =PSW (32: 63)

Y40

DS. SA. A (0). MA. DOPA: =

Y84

АОП: =4116

: =SA. A (0). MA. DOPA+

Y85

АОП: =10416

SB. B (0). MB. DOPB

Y86

PSW (32: 63): =Z

Y41

SA. A (0). MA. DOPA: =

Y87

АОП: =10510

: =SA. A (0). MA. DOPA+1

Y88

PSW (0: 31): =M

Y42

SA: =0

Y43

A (0): =0

Y44

MA. DOPA: =0001. MA

Перечень логических условий таблица 3

X

Логическое условие

x

Логическое условие

X1

PSW (63)

X19

SB

X2

СЧАК (0: 5) =0

X20

DS

X3

ТП

X21

SA+A (0)

X4

СЧАК (22)

X22

PA=0

X5

Z (16: 17)

X23

A (8: 11) =0

X6

Z (0:

1) =0

X24

MA=0

X7

ZOП

X25

PSW (39)

X8

КОП=1216

X26

КОП=8216

X9

R1 (0) +R1 (3)

X27

B2=0

X10

R2 (0) +R2 (3)

X28

B2 (3)

X11

A (1: 31)

X29

A (29: 30) =0

X12

A (0)

X30

A (0: 5)

X13

A (0: 7)

X31

КОП=9416

X14

БР (0:

1) =0

X32

B1=0

X15

КОП=0A16

X33

B1 (30

X16

Z (1: 7) >PA

X34

A (30)

X17

PB - PA=0

X35

A (31)

X18

SA

4. Синтез управляющего автомата

Для синтеза управляющего автомата было получено следующее задание: управляющий автомат должен иметь одно поле Логических условий - Х, один укороченный адрес - А и поля Y>i> для микроопераций.

4.1 Разметка граф схемы

Разметка осуществляется следующим образом: операционный блок и логическое условие представляются одним состоянием - P>i>>,> где i изменяется от 0 до 50 (по заданию). Если между операционным блоком и логическим условием есть разветвления, то операционный блок и логическое условие размечаются как два различных состояния - Р>i>> >и P>i>>+1 >соответственно.

Разметка ограничена количеством состояний (по заданию) - их должно быть 50. На размеченной ГСА все микрокоманды заменены на y>i>, а логические условия на x>i>. полученная ГСА изображена в приложении 1.

4.2 Разбиение микроопераций по полям и кодирование логических условий

Принцип разбиения заключается в следующем: y>i> расположенные в одном операционном блоке записываются в разные поля. Поэтому количество полей в данном примере равно 5. В каждом поле включается микрооперация y>0 (>отсутствие микроопераций в состоянии). В таблице 4 показано разбиение по полям и кодировка y>i>>.>

Разбиение по полям таблица 4

Y1

Y2

Y3

Y4

Y5

Операция

Код

Операция

Код

Операция

Код

Операция

Код

Операция

Код

Y0

0000

Y0

0000

Y0

000

Y0

000

Y0

000

Y7

0001

Y6

0001

Y10

001

Y11

001

Y12

001

Y1

0010

Y4

0010

Y8

010

Y15

010

Y21

010

Y2

0011

Y9

0011

Y13

011

Y14

011

Y31

011

Y3

0100

Y18

0100

Y26

100

Y17

100

Y29

100

Y5

0101

Y22

0101

Y36

101

Y20

101

Y43

101

Y19

0110

Y38

0110

Y32

110

Y27

110

Y46

110

Y28

0111

Y47

0111

Y30

111

Y24

1000

Y41

1000

Y25

1001

Y44

1001

Y35

1010

Y23

1010

Y37

1011

Y40

1011

Y39

1100

Y45

1100

Y33

1101

Y16

1101

Y43

1110

В выбранном нами участке схемы применяются лишь 20-ть логических условий. В таблице 5 представлена их кодировка, где добавлены сигналы "1" и "0".

Логические условия таблица5

X

Код

X

Код

x

Код

“0”

00000

X8

01000

X16

10000

X1

00001

X9

01001

X17

10001

X2

00010

X10

01010

X18

10010

X3

00011

X11

01011

X19

10011

X4

00100

X12

01100

X20

10100

X5

00101

X13

01101

“1”

11111

X6

00110

X14

01110

X7

00111

X15

01111

4.3 Прошивка МПЗУ

Для прошивки МПЗУ необходимо подсчитать, сколько разрядов надо выделить для РАМК. У нас 50 состояний и возможно появится пару БП, поэтому n =] ln>2> (60) [=6. В поле команды адрес укорочен на один бит: А (0: 4). После того как мы разбили микрооперации на поля и закодировали логические условия, команда имеет следующий вид:

Y1

Y2

Y3

Y4

Y5

X

A

0 3 7 10 13 16 21 26

Прошивка МПЗУ производится по следующим правилам.

1) Если в состоянии Р>i> есть операционный блок и (или) логическое условие, то их коды вписываются в соответствующие поля.

2) Поле А - это укороченное значение РАМК на 1 бит. В нем указывается адрес перехода по "0", укороченный на единицу, на следующее состояние.

3) Последний бит адреса равен значению Xi, поэтому за состоянием, куда мы переходим по "0", должно следовать состояние, куда мы переходим по "1". Если

такие состояния уже описаны, то записываем безусловный переход.

4) При отсутствии в состоянии логического условия, последний бит адреса кодируется "0" либо "1", в зависимости от того где мы разместили следующее состояние.

5) Алгоритм вычисления РАМК представлен на рисунке 1.

Рис.1. Алгоритм вычисления РАМК.

Следуя вышеизложенным правилам проведем прошивку ПЗУ (таблица 6).

Прошивка МПЗУ таблица 6

РАМК

Y1

Y2

Y3

Y4

Y5

X

A

P (t)

P (t+1)

000000

0000

0000

000

000

000

00001

00001

P0

P3

000001

0110

0101

010

111

011

10000

10101

P29

P31

000010

0000

0000

000

000

000

00010

00010

P3

P1

000011

0011

0000

000

000

000

00000

00000

P2

P0

000100

0010

0000

000

000

000

00000

00000

P1

P0

000101

0000

0000

000

000

000

00011

00011

P4

P7

000110

0000

0000

000

000

000

00100

00100

P7

P5

000111

0110

0000

010

101

010

00000

10010

P33

P34

001000

0100

0010

000

000

000

11111

00101

P5

P6

001001

0101

0001

000

000

000

01101

00110

P8

P10

001010

0001

0001

010

000

000

00100

00111

P9

P14

001011

0000

0000

000

000

000

00111

00101

P6

P9

001100

0000

0000

000

000

000

00010

01000

P10

БП1

001101

0000

0000

000

000

000

00111

01100

P20

P24

001110

0000

0000

000

000

000

00101

01010

P14

P9

001111

0000

0000

000

000

000

00110

01011

P17

P19

010000

0000

0000

000

000

000

00000

00010

БП1

P1

010001

0100

0010

000

000

000

11111

01001

P11

P12

010010

0001

0001

0001

001

001

11111

00110

P13

P20

010011

0000

0000

000

000

000

00111

01001

P12

P13

010100

0000

0011

000

000

000

00000

00110

P15

P10

010101

0000

0011

011

000

000

11111

00110

P16

P20

010110

0000

0011

000

011

001

11111

00110

P19

P20

010111

0000

0001

011

010

000

11111

00110

P18

P20

011000

0000

0000

000

000

000

01000

01101

P24

БП2

011001

0000

0000

000

000

000

01110

10000

P21

P22

011010

0000

0000

000

000

000

00000

00000

БП2

P0

011011

0000

0000

000

000

000

00000

01110

P25

P28

011100

0111

0100

100

110

101

01001

01111

P27

P28

011101

0011

1101

000

000

000

00000

00000

P26

P0

011110

0110

0100

010

000

101

11111

00000

P28

P29

011111

0000

0000

000

000

000

11111

01110

БП3

P26

100000

0000

0000

000

000

000

01001

10001

P22

P32

100001

0011

1101

000

000

000

00000

00000

P23

P0

100010

1111

1101

000

100

000

11111

00011

P32

P33

100011

0000

0000

000

000

000

11111

10000

БП4

P23

100100

0000

0101

000

000

000

01011

10011

P34

P35

100101

0000

0000

000

000

000

10000

10110

P39

P40

100110

0000

0000

000

000

000

01010

10100

P35

P36

100111

1001

0000

000

000

000

00000

00000

P38

P0

101000

0000

1010

000

000

000

00000

00000

P36

P0

101001

1000

0000

000

000

000

00000

00000

P37

P0

101010

1001

0101

101

000

100

11111

10010

P31

P39

101011

1110

0000

110

000

000

11111

10010

P30

P39

101100

1001

0000

101

000

000

11111

10010

P40

P39

101101

0000

0000

000

000

000

10001

10111

P41

P43

101110

0000

0000

000

000

000

10010

11000

P43

P45

101111

1100

0000

000

000

000

00000

10111

P42

43

110000

0000

1011

000

000

000

10011

11001

P45

P47

110001

1100

0000

000

000

000

00000

11000

P44

P45

110010

0000

0000

000

000

000

10100

11010

P47

P48

110011

0000

0000

000

101

000

00000

11001

P46

P47

110100

0000

0000

000

000

000

00000

00000

P48

P0

110101

0000

0000

000

000

000

10001

11011

P49

P50

110110

0000

1001

101

000

110

00000

00000

P50

P0

110111

1110

1100

101

000

111

00000

00000

P52

P0

4.4 Описание Структурной и Электрической принципиальной схемы Управляющего автомата

Устройства, использованные для реализации микропрограмм можно разбить следующим образом: DС1, DC2 дешифраторы 4 на 16; DС3, DC4, DC5 дешифраторы 3 на 8, ΜЅ - мультиплексор из 24 в 1; ПЗУ (0: 26) - для хранения форматов команд; РАМК (0: 5) - адресный регистр, для обращения к ячейкам ПЗУ. Входные данные - логические условия Х, выходные - множество кодированных У. Структурная схема управляющего автомата приведена в приложении 2.

При построении принципиальной электрической схемы использованы серии КР155 и КР556. Из серии КР556 выбирается для запоминания слов микропрограммы 3 ПЗУ КР556РТ17 емкостью 16 килобайт. Все остальные элементы: мультиплексоры, дешифраторы, инверторы и регистр адреса ПЗУ выбраны из серии КР155. Микросхемы данной серии - это маломощные, быстро действующие, цифровые, интегральные микросхемы, предназначенные для организации высокоскоростного обмена и обработки цифровой информации временного и электрического согласования сигналов в вычислительных системах. Микросхемы серии КР155 по сравнению с известными сериями логических ТТЛ микросхем обладают минимальным значением произведения быстро действия на рассеиваемую мощность.

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

Перечень используемых сокращений

РП - регистровая память;

ОП - оперативная память;

АРП - адрес регистровой памяти;

АОП - адрес оперативной памяти;

РОП - регистр оперативной памяти;

РРП - регистр регистровой памяти;

РК - регистр команд;

БР - буферный регистр;

PSW - регистр слово состояния процессора;

СЧАК - счетчик адреса команд;

РА - характеристика А;

РВ - характеристика В;

МА - мантисса А;

МВ - мантисса В;

М - магистраль;

Z - входной и выходной регистр процессора;

А, В - рабочие регистры;

DOPA, DOPB - дополнительная цифра;

DS, SA, SB - знаковые регистры;

ТП - триггер перехода;

ФК - формирователь кодов;

ALU - арифметическое логическое устройство;

Список используемой литературы

  1. Райков "Принципы работы IBM/370". - М.: Мир, 1975;

  2. Каган В.М. "электронные вычислительные машины и системы". - М.: Энергия, 1979;

  3. Майоров С.А., Новиков Г.И. "Структура электронных вычислительных машин". - Л.: Машиностроение, 1976;

  4. Методические указания к курсовому проектированию по дисциплине "Теория и проектирование ЦВМ". - Одесса ОПИ-1981;

  5. Н.Н. Акимов "Резисторы, конденсаторы, трансформаторы, дроссели,

  6. коммутационные устройства, РЭА". - Минск, Беларусь 1994;

  7. Тарабрин, справочник "Цифровые и интегральные микросхемы";

  8. Петровский И.И., справочник "Логические ИС КР1533 и Кр1554". - Москва: Бином, 1993;

  9. Нешумова К.А. "Электронные вычислительные машины и системы" - Москва: Высшая школа, 1989.

  10. ГОСТ 2.708. - 81. ЕСКД. Правила выполнения электрических схем

  11. цифровой вычислительной техники;

  12. ГОСТ 2.743-82. ЕСКД. Обозначения условные графические в схемах.

  13. Элементы цифровой техники.

Заключение

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

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

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