- •КУРСОВОЙ ПРОЕКТ
- •ЧТО ТАКОЕ ПРОЦЕССОР
- •• Процессор состоит из нескольких частей. Блок управления отвечает за вызов команд из
- •• Большинство современных процессоров основаны на принципах фон-неймановской вычислительной машины.
- ••Тракт данных состоит из регистров (обычно от 1 до 32), арифметико-логического устройства (АЛУ)
- •Центральный процессор выполняет каждую команду за несколько шагов. Он делает следующее:
- ••Каждый процессор имеет собственный вполне определенный набор команд, называемый системой команд процессора.
- •• Способ адресации определяет, каким образом следует использовать информацию, размещенную в поле адреса
- ••В функциональном и структурном отношении процессор удобно представить разделенным на две части: операционное
- ••В зависимости от способа хранения микропрограмм различают управляющие автоматы:
- •ПОСТАНОВКА ЦЕЛИ
- •ПОСТАНОВКА ЗАДАЧИ
- •РАССМОТРЕННЫЕ ПРИМЕРЫ
- ••MIPS архитектура разрабатывалась в соответствии с концепцией проектирования RISC. Ранние варианты архитектуры имели
- •ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА
- •• Характеристики устройства:
- ••Инструкции делятся на три типа: R, I и J. Каждая инструкция начинается с
- •РАЗРАБОТКА КОМБИНАЦИОННЫХ И ПОСЛЕДОВАТЕЛЬНЫХ БЛОКОВ ПРОЦЕССОРА
- ••Арифметико-логическое устройство поддерживает 16 арифметических и логических операций. Данные поступают одновременно на все
- •РАЗРАБОТКА ОПЕРАЦИОННОГО УСТРОЙСТВА
- •РАЗРАБОТКА УСТРОЙСТВА УПРАВЛЕНИЯ
- •КОНЕЦ
ПОСТАНОВКА ЦЕЛИ
•Закрепление теоретических знаний в области архитектуры ЭВМ и аппаратных средств современных компьютерных систем;
•Проектирование и разработка процессора с собственным набором команд и микроархитектурой;
•Получение практических навыков разработки цифровых устройств с использованием программного инструмента Logisim.
ПОСТАНОВКА ЗАДАЧИ
Для достижения поставленных целей были сформулированы следующие задачи:
• Изучить принципы разработки процессоров;
•Изучить принципы функционирования различных архитектур;
•Понять принцип работы управляющего автомата с программируемой логикой;
•Выбрать разрядность инструкций, данных и адреса;
•Разработать формат и точный набор инструкций;
•Спроектировать основные устройства операционного блока процессора
(Регистровый файл, АЛУ);
• Построить тракт данных процессора;
• Построить управляющий автомат процессора;
• Запрограммировать ПЗУ микрокоманд управляющего блока;
• Убедиться в правильности исполнения инструкций процессором.
РАССМОТРЕННЫЕ ПРИМЕРЫ
•В рамках данного курсового проекта была рассмотрена и изучена MIPS архитектура
•MIPS архитектура разрабатывалась в соответствии с концепцией проектирования RISC. Ранние варианты архитектуры имели 32-битную структуру, позднее появились 64-битные версии.
•MIPS поддерживает следующие типы данных: байт (8 бит), полслова (16 бит), слово (32 бита), двойное слово (64 бита).
•Блок регистров состоит из 32 регистров общего
назначения.
• Инструкции
Тип |
−31− формат (в битах) −0− |
|
|||
R |
код (6) |
rs (5) |
rt (5) |
rd (5) shamt |
функц |
|
|
|
|
(5) |
ия (6) |
I |
код (6) |
rs (5) |
rt (5) |
непосредственное (16) |
Jкод (6) адрес (26)
ПРОЕКТИРОВАНИЕ ПРОЦЕССОРА
•В основу устройства, разработанного в процессе выполнения работы, легли принципы RISC реализованные в архитектуре процессоров MIPS. Процессор построен на базе фон-неймановской архитектуры (данные и инструкции в одной памяти). Тракт данных процессора и устройство управления являются многотактными. Управление осуществляется автоматом с программируемой логикой. Данный тип автомата совмещает в себе гибкость и удобство проектирования в отличие от автомата с жесткой логикой.
• Характеристики устройства:
• Полное название устройства: «16-и битный RISC процессор с микропрограммным устройством управления»;
•Архитектура: RISC;
•Разрядность данных: 16 бит;
•Разрядность адреса: 16 бит;
•Адресация: пословная;
•Порядок следования битов: little-endian;
•Количество и тип регистров: 16 регистров общего назначения;
•Общее количество команд: 32 команды;
•Общее число форматов команд: 3 формата;
•Способы адресации: прямая, непосредственная, относительная,
•Система операций: арифметико-логические, пересылки и загрузки,
передачи управления.
•Инструкции делятся на три типа: R, I и J. Каждая инструкция начинается с 4-битного кода операции. В дополнение к коду, инструкции R-типа определяют два регистра и функцию АЛУ; инструкции I-типа определяют регистр и непосредственное значение; инструкции J-типа состоят из кода операции и 12-битного адреса перехода.
Opcode |
Rg1 |
Rg2 |
Funct |
Opcode |
Rg1 |
|
Imm |
Opcode |
|
Addr |
|
№ |
HEX |
Opcode |
Funct |
Мнемоника |
Описание |
1 |
0 |
0000 |
- |
lw rg1, imm |
Загрузка слова из памяти |
2 |
1 |
0001 |
- |
mov rg1, rg2 |
Пересылка из rg2 в rg1 |
3 |
2 |
0010 |
- |
sw rg1, imm |
Сохранить слово в памяти |
4 |
3 |
0011 |
- |
cmp rg1, rg2 |
Сравнение |
5 |
4 |
0100 |
- |
jmp label |
Безусловный переход |
6 |
5 |
0101 |
- |
je imm |
Переход, если rg1 == rg2 |
7 |
6 |
0110 |
- |
jne imm |
Переход, если rg1 != rg2 |
8 |
7 |
0111 |
- |
jl Imm |
Переход, если rg1 < rg2 |
9 |
8 |
1000 |
- |
jg imm |
Переход, если rg1 > rg2 |
10 |
9 |
1001 |
- |
jle imm |
Переход, если rg1 <= rg2 |
11 |
a |
1010 |
- |
jge imm |
Переход, если rg1 >= rg2 |
12 |
b |
1011 |
0000… |
операция rg1, |
Арифметические операции |
|
|
|
1111 |
rg2 |
|
13 |
c |
1100 |
- |
ori rg1, imm |
Поразрядное ИЛИ с константой |
14 |
d |
1101 |
- |
lui rg1, imm |
Загрузка константы в старшую часть |
15 |
e |
1110 |
- |
movh rg1 |
Пересылка из hi регистра |
16 |
f |
1111 |
- |
jmr rg1 |
Безусловный переход по регистру |
РАЗРАБОТКА КОМБИНАЦИОННЫХ И ПОСЛЕДОВАТЕЛЬНЫХ БЛОКОВ ПРОЦЕССОРА
•Разработка устройства началась с этапа проектирования регистрового блока. Блок состоит из 15 16-и битных регистров и одного константного нуля. Коммутация и выбор регистров происходит с помощью двух мультиплексоров и одного
демультиплексора. Регистры имеют общие входы обнуления, и записи данных. Выбор регистра для записи в него данных происходит путем подачи сигнала разрешения с демультиплексора. Регистровый блок имеет два отдельных выхода, для асинхронного считывания данных из регистров.
•Арифметико-логическое устройство поддерживает 16 арифметических и логических операций. Данные поступают одновременно на все входы комбинационных схем АЛУ, выбор операции осуществляется переключением выходного мультиплексора. В АЛУ также присутствует схема сравнения двух операндов. Результат сравнения подается на шесть выходов (=, ≠, <, >, <=, >=). Вывод старшей части результата в операциях умножения и деления осуществляется переключением одноадресного мультиплексора. Выбор осуществляется вторым битом операционного поля АЛУ.