- •«Разработка процессора»
- •Гопта е. А.
- •1. Постановка задачи
- •2. Разработка формата команд, кодировки команд
- •3. Разработка структурной схемы процессора:
- •4. Разработка блока алу:
- •5. Разработка блока рон:
- •6. Разработка управляющего устройства уу.
- •7. Формат микрокоманд
- •Оценка размера памяти микропрограмм.
- •Формат микрокоманд:
- •Загрузка и декодирование.
- •Команда nor rd, Imm8.
- •Команда inc rd.
- •Команда st rd, Imm8, rs.
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ
Волгоградский государственный технический университет
(ВолгГТУ)
Кафедра ЭВМ и С
Семестровая работа
«Разработка процессора»
Выполнил студент
группы ИВТ-360
Гопта е. А.
Проверил доцент
кафедры ЭВМ и С:
Андреев А.Е.
Волгоград 2007
1. Постановка задачи
Характеристика процессора: простой процессор магистрального типа с одноблочным универсальным АЛУ. Разрядность регистров РОН и АЛУ процессора – 8 бит. Число РОН – 4. Адресуемая память - от 256 слов. Устройство управления – микропрограммное с ПЗУ микропрограмм.
Устройство управления – микропрограммное с памятью микрокоманд.
Варианты адресации: прямая, регистровая, косвенная регистровая, косвенная регистровая по базе (индексная).
Адресность команд – двухадресные (типа add r1,r2).
Тип сдвигателя – монтажный сдвиг на 1 разряд в обе стороны.
Адресная арифметика – на общем АЛУ.
Логика обработки разных форматов команд – микропрограммная.
Операции АЛУ: ADD, SHRA, NAND, SET.
Состав команд: LD – загрузка из памяти; ST – сохранить в память; ADD - сложение; SHRA – арифметический сдвиг вправо; JC– переход по флагу переноса; NOR – ИЛИ-НЕ; INC – инкремент; SLC – циклический сдвиг влево через бит переноса.
2. Разработка формата команд, кодировки команд
Примем число регистров общего назначения равным 4 (R0, R1, R2, R3).
Разработаем формат 8 различных команд, 5 из которых могут иметь два варианта формата: с регистровой адресацией и с непосредственной адресацией; с прямой и с косвенной регистровой по базе с непосредственным смещением, тогда общее число различных команд равно 13. Для кодирования 13 различных команд нужно 4 бита кода команды.
Описание команд:
Номер |
Команда |
Описание |
0001 |
ADD rd, rs |
rd = rd + rs |
0010 |
ADD rd, Imm8 |
rd = rd + Imm8 |
0011 |
NOR rd, rs |
rd = not(rd || rs) |
0100 |
NOR rd, Imm8 |
rd = not(rd || Imm8) |
0101 |
INC rd |
rd = rd + 1 |
0110 |
SHRA rd, rs |
арифметический сдвиг вправо |
0111 |
SLC rd, rs |
циклический сдвиг влево через CF |
1000 |
JC Imm8 |
Переход по единичному флагу на адрес Imm8 |
1001 |
JC Imm8, rs |
Переход по единичному флагу на адрес (Imm8+rs1) |
1010 |
LD rd, Imm8 |
rd = Mem(Imm8) |
1011 |
LD rd, Imm8, rs |
rd = Mem(Imm8 + rs) |
1100 |
ST rd, Imm8 |
Mem(Imm8) = rs |
1101 |
ST rd, Imm8, rs |
Mem(Imm8 + rs) = rd |
Формат команд:
Формат команды |
КОП |
Рег1 |
Рег2 |
Адрес |
Размер в битах |
4 |
2 |
2 |
8 |
ADD rd, rs1 |
0001 |
rd |
rs |
- |
ADD rd, Imm8 |
0010 |
rd |
rs |
Imm7...Imm0 |
NOR rd, rs1 |
0011 |
rd |
rs |
- |
NOR rd, Imm8 |
0100 |
rd |
- |
Imm7...Imm0 |
INC rd |
0101 |
rd |
- |
- |
SHRA rd, rs1 |
0110 |
rd |
rs |
- |
SLC rd, rs1 |
0111 |
rd |
rs |
- |
JC Imm8 |
1000 |
- |
Imm7...Imm0 | |
JC Imm8, rs1 |
1001 |
rs1 |
- |
Imm7...Imm0 |
LD rd, Imm8 |
1010 |
rd |
- |
Imm7...Imm0 |
LD rd, Imm8, rs1 |
1011 |
rd |
rs |
Imm7...Imm0 |
ST rd, Imm8 |
1100 |
rd |
- |
Imm7...Imm0 |
ST rd, Imm8, rs1 |
1101 |
rd |
rs |
Imm7...Imm0 |