- •Содержание
- •Введение
- •1 Цель курсового проектирования
- •2 Задание на курсовое проектирование
- •3 Разработка структурной схемы вычислительного устройства
- •4 Выбор системы команд и определение форматов команд вычислительного устройства
- •5 Разработка алгоритма командного цикла вычислительного устройства
- •5.1 Алгоритм выборки команды
- •5.2 Алгоритм перехода к подпрограмме прерывания
- •5.3 Алгоритм формирования операндов для арифметико-логического устройства
- •5.4 Алгоритм выполнения команд передачи управления
- •5.5 Алгоритм вызова подпрограммы
- •5.6 Алгоритм возврата из подпрограммы
- •5.7 Алгоритмы операций со стеком
- •5.8 Алгоритмы выполнения операций с ву
- •5.9 Алгоритмы системных операций
- •5.10 Алгоритм выполнения операции записи в озу
- •5.11 Алгоритм выполнения операции чтения из озу
- •6 Разработка алгоритмов выполнения арифметических и логических операций
- •6.1 Алгоритм выполнения операций сложения и вычитания
- •6.2 Алгоритм выполнения логических операций
- •6.3 Алгоритм выполнения операции умножения
- •6.4 Алгоритм выполнения операции деления
- •7 Проектирование операционного автомата устройства выполнения команд
- •8 Проектирование операционного автомата арифметико-логического устройства
- •9 Проектирование устройств управления процессора и алу двухступенчатой организации процесса управления
- •9.1. Проектирование управляющего автомата устройства управления процессора
- •9.2. Проектирование управляющего автомата устройства управления алу
- •10 Пример кодирования пзу мк мпа алу для реализации микропрограммы операций сложения и вычитания
- •11 Разработка функциональной схемы процессора
- •Заключение
- •Список использованной литературы
- •Приложение
9.2. Проектирование управляющего автомата устройства управления алу
Для разработки автомата будем использовать список микрокоманд и логических условий из таблицы приложения 17 . Закодируем все логические условия и микрооперации двоичным кодом. Для этого разобьем множество микроопераций на 7 непересекающихся подмножеств. Получим:
Y1 = {y74, y81, y88, y95, y102, y109, y116}
Y2 = {y75, y82, y89, y96, y103, y110, y117}
Y3 = {y76, y83, y90, y97, y104, y111}
Y4 = {y77, y84, y91, y98, y105, y112}
Y5 = {y78, y85, y92, y99, y106, y113}
Y6 = {y79, y86, y93, y100, y107, y114}
Y7 = {y80, y87, y94, y101, y108, y115}
Множество логических условий
X = {x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45}
Для кодирования микроопераций операторных микрокоманд в каждом из подмножеств необходимо использовать по три бита. Соответствующие таблицы кодирования микроопераций и логических условий приведены в таблицах 6 и 7
Таблица 6– Кодирование микроопераций
Код микрооперации |
Подмножества микроопераций | ||||||
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 | |
000 |
— |
— |
— |
— |
— |
— |
— |
001 |
y74 |
y75 |
y76 |
y77 |
y78 |
y79 |
y80 |
010 |
y81 |
y82 |
y83 |
y84 |
y85 |
y86 |
y87 |
011 |
y88 |
y89 |
y90 |
y91 |
y92 |
y93 |
y94 |
100 |
y95 |
y96 |
y97 |
y98 |
y99 |
y100 |
y101 |
101 |
y102 |
y103 |
y104 |
y105 |
y106 |
y107 |
y108 |
110 |
y109 |
y110 |
y111 |
y112 |
y113 |
y114 |
y115 |
111 |
y116 |
y117 |
— |
— |
— |
— |
— |
Таблица 7 – Кодирование логических условий
Коды условий |
X |
Коды условий |
X |
Коды условий |
X |
0000
|
x33 |
0001
|
x34 |
0010
|
x35 |
0011
|
x36 |
0100
|
x37 |
0101
|
x38 |
0110 |
x39 |
0111 |
x40 |
1000 |
x41 |
1001 |
x42 |
1010 |
x43 |
1011 |
x44 |
1100 |
x45 |
1101 |
— |
1110 |
— |
На основании кодированного списка условий и микроопераций проектируем форматы микрокоманд (рисунок 8, 9)
Рисунок 8 – Формат операторных микрокоманд
Рисунок 9 – Формат микрокоманд переходов
В соответствии с выбранными форматами микрокоманд составляется функциональная схема МПА (схема приложения 20) на основе программируемой логики
10 Пример кодирования пзу мк мпа алу для реализации микропрограммы операций сложения и вычитания
Приведем пример кодирования ПЗУ МК для реализации микропрограммы операций сложения и вычитания. Естественной адресацией МК будем считать выполнение МП по истинной ветви алгоритма, т.е. там, где значение логического условия равно 1. Ниже приведена блок-схема алгоритма операции сложения/вычитания при естественной адресации микрокоманд с тремя дополнительными операторами безусловного перехода, обозначенными кодом «1» (рисунок приложения 21). В таблице 8 приведен фрагмент кода ПЗУ МК для хранения операции сложения/вычитания
Таблица 8 – Пример программы ПЗУ при естественной адресации микрокоманд.
Адрес памяти
|
используемые биты
|
неиспользуемые биты |
00100001 |
1 0101 00100010 00101010 |
00000000000 |
00100010 |
1 0101 00100011 00110010 |
00000000000 |
00100011 |
0 000 001 000 000 000 000 000 |
0000000000 |
00100100 |
0 000 000 001 000 000 000 000 |
0000000000 |
00100101 |
1 0010 00100110 00101001 |
00000000000 |
00100110 |
0 000 000 000 000 001 000 000 |
0000000000 |
00100111 |
0 000 000 000 000 000 001 000 |
0000000000 |
00101000 |
0 000 000 000 000 000 000 001 |
0000000000 |
00100000 |
0 000 000 000 000 000 000 000 |
0000000000 |
00101001 |
0 000 000 000 000 000 001 000 |
0000000000 |
00101010 |
1 0001 00101011 00110100 |
00000000000 |
00101011 |
0 000 001 000 000 000 000 000 |
0000000000 |
00101100 |
0 010 000 000 000 000 000 000 |
0000000000 |
00101101 |
1 0011 00101110 00110001 |
00000000000 |
00101110 |
0 000 000 010 000 000 000 000 |
0000000000 |
00101111 |
0 000 000 000 010 000 000 000 |
0000000000 |
00110000 |
0 000 000 000 000 050 000 000 |
0000000000 |
00110001 |
0 000 010 000 000 000 000 000 |
0000000000 |
00110010 |
1 1111 00100100 00100100 |
00000000000 |
00110011
|
1 1111 00100101 00100101 |
00000000000 |
Продолжение таблицы 8
00110100 |
1 1111 00101100 00101100 |
00000000000 |
00110101 |
1 1111 00101110 00101110 |
00000000000 |
00110110
|
1 1111 00100000 00100000 |
00000000000 |
Примечание. Код безусловного перехода 1111