Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пример семы по эвм.doc
Скачиваний:
46
Добавлен:
14.03.2016
Размер:
331.78 Кб
Скачать

23

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ РОССИЙСКОЙ ФЕДЕРАЦИИ

Волгоградский государственный технический университет

(ВолгГТУ)

Кафедра ЭВМ и С

Семестровая работа

«Разработка процессора»

Выполнил студент

группы ИВТ-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