- •Содержание
- •Введение
- •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 Разработка функциональной схемы процессора
- •Заключение
- •Список использованной литературы
- •Приложение
8 Проектирование операционного автомата арифметико-логического устройства
После проектирования отдельных алгоритмов арифметических и логических операций составим обобщенный алгоритма АЛУ (схема схеме КП 230101.010.017.071.002 ТЧ). Он составляется путем объединения частных алгоритмов выполнения отдельных арифметических и логических операций. На основании обобщенного алгоритма АЛУ составим список микроопераций МПА устройства управления нижнего уровня. Обозначим множество его входных сигналов (логических условий) через Х = {х1, х2, …, х3}, а множество его выходных (управляющих) сигналов – через У = {у1, у2, …, у3}. Список микроопераций и логических условий УУ нижнего уровня представлен в приложении 17.
После разработки обобщенного алгоритма АЛУ, разметки его, кодирования микроопераций и логических условий можно построить функциональную схему операционного автомата АЛУ (приложение 18).
9 Проектирование устройств управления процессора и алу двухступенчатой организации процесса управления
Функции управления ходом вычислительного процесса, обеспечивая автоматическое выполнение команд программы, реализует устройство управления (УУ) вычислительной машины.
Элементарные преобразования информации, выполняемые в течение одного такта сигналов синхронизации блока УУ, называются микрооперациями (МО). Совокупность сигналов управления, вызывающих одновременно выполняемые микрооперации, образует микрокоманду (МК). В свою очередь, последовательность микрокоманд, определяющую содержание и порядок шагов при реализации машинного цикла, принято называть микропрограммой. Сигналы управления вырабатываются устройством управления, а точнее, основным его узлом – микропрограммным автоматом (МПА).
Процесс управления исполнением команд при проектировании процессора целесообразно представлять в виде двухступенчатой иерархической структуры управляющих автоматов, состоящей из ведущего устройства управления процессором (УУпр) и ведомых (подчиненных) автоматов: устройства управления АЛУ (УУ АЛУ) и контроллера кэш-памяти (рисунок 5).
Рисунок 5 – Двухступенчатая структура процесса управления
9.1. Проектирование управляющего автомата устройства управления процессора
По заданию необходимо спроектировать автомат с программируемой логикой. Особенностью микропрограммного автомата с программируемой логикой является хранение микрокоманд в виде кодов в памяти микропрограмм. Каждой команде ВМ в этом ЗУ в явной форме соответствует микропрограмма, поэтому часто устройства управления, в состав которых входит микропрограммный автомат с программируемой логикой, называют микропрограммными.
Для разработки автомата будем использовать список микрокоманд и логических условий из таблицы приложения 15. Закодируем все логические условия и микрооперации двоичным кодом. Для этого разобьем множество микроопераций на 7 непересекающихся подмножеств. Получим:
Y1 = {y0, y7, y14, y21, y28, y35, y42, y49, y56, y63, y70}
Y2 = {y1, y8, y15, y22, y29, y36, y43, y50, y57, y64, y71}
Y3 = {y2, y9, y16, y23, y30, y37, y44, y51, y58, y65, y72}
Y4 = {y3, y10, y17, y24, y31, y38, y45, y52, y59, y66, y73}
Y5 = {y4, y11, y18, y25, y32, y39, y46, y53, y60, y67, y74}
Y6 = {y5, y12, y19, y26, y33, y40, y47, y54, y61, y68}
Y7 = {y6, y13, y20, y27, y34, y41, y48, y55, y62, y69}
Множество логических условий содержит 32 лементов
X = {x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32}
Для кодирования микроопераций в каждом из подмножеств необходимо использовать по четыре бита. Соответствующие таблицы кодирования микроопераций и логических условий приведены в таблицах 4 и 5
Таблица 4 – Кодирование микроопераций
Код микрооперации |
Подмножества микроопераций | ||||||
Y1 |
Y2 |
Y3 |
Y4 |
Y5 |
Y6 |
Y7 | |
0000 |
— |
— |
— |
— |
— |
— |
— |
0001 |
y0 |
y1 |
y2 |
y3 |
y4 |
y5 |
y6 |
0010 |
y7 |
y8 |
y9 |
y10 |
y11 |
y12 |
y13 |
0011 |
y14 |
y15 |
y16 |
y17 |
y18 |
y19 |
y20 |
0100 |
y21 |
y22 |
y23 |
y24 |
y25 |
y26 |
y27 |
0101 |
y28 |
y29 |
y30 |
y31 |
y32 |
y33 |
y34 |
0110 |
y35 |
y36 |
y37 |
y38 |
y39 |
y40 |
y41 |
0111 |
y42 |
y43 |
y44 |
y45 |
y46 |
y47 |
y48 |
1000 |
y49 |
y50 |
y51 |
y52 |
y53 |
y54 |
y55 |
1001 |
y56 |
y57 |
y58 |
y59 |
y60 |
y61 |
y62 |
1010 |
y63 |
y64 |
y65 |
y66 |
y67 |
y68 |
y69 |
1011 |
y70 |
y71 |
y72 |
y73 |
y74 |
— |
— |
Таблица 5 – Кодирование логических условий
Коды условий |
X |
Коды условий |
X |
Коды условий |
X |
000000
|
x0 |
000001
|
x1 |
000010
|
x2 |
000011
|
x3 |
000100
|
x4 |
000101
|
x5 |
000110
|
x6 |
000111
|
x7 |
001000
|
x8 |
001001
|
x9 |
001010
|
x10 |
001011
|
x11 |
001100
|
x12 |
001101
|
x13 |
001110
|
x14 |
001111
|
x15 |
010000
|
x16 |
010001
|
x17 |
010010
|
x18 |
010011
|
x19 |
010100
|
x20 |
010101
|
x21 |
010110
|
x22 |
010111
|
x23 |
011000
|
x24 |
011001
|
x25 |
011010
|
x26 |
011011
|
x27 |
011100
|
x28 |
011101
|
x29 |
011110
|
x30 |
011111
|
x31 |
100000
|
x32 |
На основании кодированного списка условий и микроопераций проектируем форматы микрокоманд (рисунок 6, 7)
Рисунок 6 – Формат операторных микрокоманд
Рисунок 7 – Формат микрокоманд переходов
В ПЗУ хранится два типа микрокоманд: операторные микрокоманды (рисунок 6) и микрокоманды перехода (рисунок 7). Обе микрокоманды дополнены до значения 31, как для ближайшей степени числа 2. Микрокоманды перехода предназначены для передачи управления по адресу «Адрес перехода 1», если условие X истинно, или по адресу «Адрес перехода 2» в том случае, если данное условие ложно.
В соответствии с выбранными форматами микрокоманд составляется функциональная схема МПА (схема приложения 19) на основе программируемой логики