Курсовая работа: Функциональная организация и система команд процессора
Различных схем сравнения, мультиплексоров и линий связи.
Кроме того, для работы процессора необходимы РП и ОП, которые могут находиться внутри процессора или подключаться в виде внешних устройств.
Магистраль процессора служит для связи РП и ОП с внутренними регистрами. РП подключена к М через регистр РРП. ОП подключена к М через регистр РОП. 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. Синтез управляющего автомата
Для синтеза управляющего автомата было получено следующее задание: управляющий автомат должен иметь одно поле Логических условий - Х, один укороченный адрес - А и поля Yi для микроопераций.
4.1 Разметка граф схемы
Разметка осуществляется следующим образом: операционный блок и логическое условие представляются одним состоянием - Pi , где i изменяется от 0 до 50 (по заданию). Если между операционным блоком и логическим условием есть разветвления, то операционный блок и логическое условие размечаются как два различных состояния - Рi и Pi +1 соответственно.
Разметка ограничена количеством состояний (по заданию) - их должно быть 50. На размеченной ГСА все микрокоманды заменены на yi , а логические условия на xi . полученная ГСА изображена в приложении 1.
4.2 Разбиение микроопераций по полям и кодирование логических условий
Принцип разбиения заключается в следующем: yi расположенные в одном операционном блоке записываются в разные поля. Поэтому количество полей в данном примере равно 5. В каждом поле включается микрооперация y0 ( отсутствие микроопераций в состоянии). В таблице 4 показано разбиение по полям и кодировка yi .
Разбиение по полям таблица 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".