Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая / Процессор / Курсовой проект.docx
Скачиваний:
16
Добавлен:
07.02.2023
Размер:
887.99 Кб
Скачать

Глава 4. Проектирование

4.1 Описание устройства

В основу устройства, разработанного в процессе выполнения работы, легли принципы RISC реализованные в архитектуре процессоров MIPS. Процессор построен на базе фон-неймановской архитектуры (данные и инструкции в одной памяти). Тракт данных процессора и устройство управления являются многотактными. Управление осуществляется автоматом с программируемой логикой. Данный тип автомата совмещает в себе гибкость и удобство проектирования в отличие от автомата с жесткой логикой.

Характеристики устройства:

  • Полное название устройства: «16-и битный RISC процессор с микропрограммным устройством управления»;

  • Архитектура: RISC;

  • Разрядность данных: 16 бит;

  • Разрядность адреса: 16 бит;

  • Адресация: пословная;

  • Порядок следования битов: little-endian;

  • Количество и тип регистров: 16 регистров общего назначения;

  • Общее количество команд: 32 команды;

  • Общее число форматов команд: 3 формата;

  • Способы адресации: прямая, непосредственная, относительная;

  • Система операций: арифметико-логические, пересылки и загрузки, передачи управления.

Таблица условного назначения регистров:

Номер регистра

Назначение

0

0x0 - Константный нуль

1

Временный регистр (аккумулятор)

2-15

Регистры общего назначения

4.2 Этапы проектирования

4.2.1 Описание формата и точного набора инструкций

Инструкции делятся на три типа: R, I и J. Каждая инструкция начинается с 4-битного кода операции. В дополнение к коду, инструкции R-типа определяют два регистра и функцию АЛУ; инструкции I-типа определяют регистр и непосредственное значение; инструкции J-типа состоят из кода операции и 12-битного адреса перехода.

Opcode

Rg1

Rg2

Funct

Opcode

Rg1

Imm

Opcode

Addr



Общая таблица инструкций:

HEX

Opcode

Funct

Мнемоника

Описание

0

0000

-

lw rg1, imm

Загрузка слова из памяти

1

0001

-

mov rg1, rg2

Пересылка из rg2 в rg1

2

0010

-

sw rg1, imm

Сохранить слово в памяти

3

0011

-

cmp rg1, rg2

Сравнение

4

0100

-

jmp label

Безусловный переход

5

0101

-

je imm

Переход, если rg1 == rg2

6

0110

-

jne imm

Переход, если rg1 != rg2

7

0111

-

jl Imm

Переход, если rg1 < rg2

8

1000

-

jg imm

Переход, если rg1 > rg2

9

1001

-

jle imm

Переход, если rg1 <= rg2

a

1010

-

jge imm

Переход, если rg1 >= rg2

b

1011

0000…1111

операция rg1, rg2

Арифметические операции

c

1100

-

ori rg1, imm

Поразрядное ИЛИ с константой

d

1101

-

lui rg1, imm

Загрузка константы в старшую часть

e

1110

-

movh rg1

Пересылка из hi регистра

f

1111

-

jmr rg1

Безусловный переход по регистру

Полная таблица инструкций:

HEX

Opcode

HEX funct

Funct

Мнемоника

Описание

0

0000

-

lw rg1, imm

Загрузка слова из памяти

1

0001

-

mov rg1, rg2

Пересылка из rg2 в rg1

2

0010

-

sw rg1, imm

Сохранить слово в памяти

3

0011

-

cmp rg1, rg2

Сравнение

4

0100

-

jmp label

Безусловный переход

5

0101

-

je, imm

Переход, если rg1 == rg2

6

0110

-

jne, imm

Переход, если rg1 != rg2

7

0111

-

jl, Imm

Переход, если rg1 < rg2

8

1000

-

jg, imm

Переход, если rg1 > rg2

9

1001

-

jle, imm

Переход, если rg1 <= rg2

a

1010

-

jge, imm

Переход, если rg1 >= rg2

b

1011

0

0000

add rg1, rg2

Сложение

1

0001

sub rg1, rg2

Вычитание

2

0010

mul rg1, rg2

Умножение

3

0011

div rg1, rg2

Деление

4

0100

and rg1, rg2

Поразрядное И

5

0101

or rg1, rg2

Поразрядное ИЛИ

6

0110

xor rg1, rg2

Поразрядное Искл-ИЛИ

7

0111

nor rg1, rg2

Поразрядное И-НЕ

8

1000

nand rg1, rg2

Поразрядное ИЛИ-НЕ

9

1001

par rg1, rg2

Четность

a

1010

npar rg1, rg2

Нечетность

b

1011

sll rg1, shift

Логический сдвиг влево

c

1100

slr rg1, shift

Логический сдвиг вправо

d

1101

sar rg1, shift

Арифметический сдвиг вправо

e

1110

ror rg1, shift

Циклический сдвиг вправо

f

1111

rol rg1, shift

Циклический сдвиг влево

c

1100

-

ori rg1, imm

Поразрядное ИЛИ с константой

d

1101

-

lui rg1, imm

Загрузка константы в старшую часть регистра

e

1110

-

movh rg1

Пересылка из hi регистра

f

1111

-

jmr rg1

Безусловный переход по регистру

Соседние файлы в папке Процессор