Проектирование универсального процессора
Выбор форматов данных и команд, видов адресации. Определение внутренних регистров процессора. Разработка блока формирования логического и физического адреса, устройства управления и форматов микрокоманд. Разработка подпрограммы вычисления функции Z(-x).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.02.2013 |
Размер файла | 757,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
10
Размещено на http://www.allbest.ru
УДК681.3
Реферат
Ашихмин М.В., Сусоров С.И. Проектирование универсального процессора. Курсовой проект; ВятГУ, каф. ЭВМ; рук. Бакшаев А.М. - Киров, 2002. Гр.ч. 2 л. Ф. А1, 3л. Ф. А2, ПЗ 42 с., рис.16, табл.14, 10 прил.
ПРОЦЕССОР, ОПЕРАЦИОННОЕ УСТРОЙСТВО, УСТРОЙСТВО
УПРАВЛЕНИЯ, АППАРАТУРА ПРЕРЫВАНИЙ, КОНВЕЙЕР.
Объект разработки - универсальный процессор.
Цель работы - разработка универсального процессора с заданным быстродействием. Процессор должен удовлетворять следующему техническому заданию:
объём ОЗУ - 128 Мбайт;
ширина выборки из памяти - 32 байт;
количество прерываний - 20 (вложенных 9);
форматы данных с ФЗ - 8/32 разряда;
форматы данных с ПЗ - 32 разряда;
быстродействие - 2.5 млн. оп/сек;
виды адресации - не менее 5;
время доступа к ОЗУ 200 нс.
Разработана структурная схема и технические задания на операционное устройство, устройства управления, оперативное запоминающее устройство, постоянное запоминающее устройство и арифметическое устройство для операций над числами с плавающей запятой. Произведен расчёт быстродействия процессора.
Содержание
Введение
1. Постановка задачи
2. Разработка архитектуры процессора
2.1 Выбор форматов данных
2.2 Выбор видов адресации
2.3 Выбор форматов команд
2.4 Разработка системы команд
2.5 Разработка архитектуры процессора
2.5.1 Определение внутренних регистров процессора
2.5.2 Выбор системы управления памятью
3. Разработка структуры процессора
3.1 Разработка операционного устройства
3.2 Разработка структуры ОЗУ
3.3 Разработка кеш-памяти
3.4 Разработка очереди команд
3.5 Разработка блока формирования логического адреса
3.6 Разработка блока формирования физического адреса
3.7 Аппаратуры прерываний
3.8 Разработка устройства управления и форматов микрокоманд
3.9 Разработка ступеней конвейера
3.10 Математический сопроцессор
4. Разработка граф-схем алгоритмов работы микропроцессора
4.1 Разработка ГСА командного цикла микропроцессора
4.2 Разработка ГСА работы ОК
5. Расчетная часть
5.1 Расчёт быстродействия
5.2 Расчёт надёжности аппаратуры очереди команд
5.3 Расчет потребляемой мощности
6. Разработка подпрограммы вычисления функции Z(-x)
Заключение
Список литературы
Приложения
процессор команда функция регистр
Введение
В настоящее время вычислительная техника играет значительную роль в научно-техническом прогрессе, способствуя повышению эффективности производства, качества продукции, производительности труда. Ее развитие оказывает влияние почти на все области человеческой деятельности, сфера применения ЭВМ постоянно расширяется. Непрерывно улучшаются основные технико-экономические характеристики ЭВМ, такие как быстродействие, объем оперативной памяти, надежность, стоимость, размеры, потребляемая мощность и т.д. При этом основным блоком в ЭВМ, определяющим его основные характеристики, является процессор. Процессор является самым важным и сложным устройством в иерархии устройств ЭВМ.
Условно процессоры можно разделить на две группы: универсальные и специализированные. Специализированные процессоры разрабатываются для заранее известного и ограниченного класса решаемых задач. Основным требованием к таким процессорам является минимальные аппаратурные затраты на достижение требуемых характеристик в заранее определенной области применения. Система команд специализированных процессоров не отличается универсальностью и обычно содержит только те команды, которые необходимы для решения поставленного круга задач. В отличие от специализированных процессоров, на этапе разработки универсальных типы решаемых задач не известны. При разработке таких процессоров стремятся разработать архитектуру, которая бы удовлетворяла требованиям решения задач из максимально широкого круга применения. Основным отличием универсальных процессоров от специализированных является развитая система команд.
При разработке вычислительных устройств могут ставиться различные цели: увеличение быстродействия, минимизация аппаратуры, точность вычислений. Однако, достигнуть все эти цели одновременно очень трудно. Так, например, повышение быстродействия ведет к увеличению аппаратных затрат и т.д. Поэтому при разработке вычислительных устройств необходимо исходить из потребностей заказчика, находя компромисс между перечисленными критериями.
Предметом данной курсовой работы является проектирование вычислительного процессора общего назначения, удовлетворяющего требованиям технического задания.
1. Постановка задачи
Разработать универсальный процессор (ПР) со следующими характеристиками:
объём ОЗУ - 128 Мбайт;
ширина выборки из памяти - 32 байт;
количество прерываний - 20 (вложенных 9);
форматы данных с ФЗ - 8/32 разряда;
форматы данных с ПЗ - 32 разряда;
быстродействие - 2.5 млн. оп./сек;
виды адресации - не менее 5;
время доступа к ОЗУ 200 нс;
дополнительная функция - y = Z(-x).
2. Разработка архитектуры процессора
2.1 Выбор форматов данных
По техническому заданию ПР должен поддерживать (использовать в качестве операндов) числа в формате с фиксированной запятой (ФЗ): байт - 8 бит и двойное слово - 32 бита. Действительные числа в формате с плавающей запятой (ПЗ) обрабатывает сопроцессор (СоПР) с разрядностью 32 бита.
Для ускорения передачи данных магистраль данных (МД) имеет разрядность 32 бита. 8-битные слова при передаче по ШД располагаются в младших разрядах.
Целые числа без знака представлены в прямом коде (ПК), целые числа со знаком - в дополнительном коде (ДК). Процессор не различает числа со знаком и без знака, это решает программист.
Ниже рассмотрены используемые форматы данных:
1) Байт без знака, целое. Диапазон представления чисел от 0 до 255 (рис. 1).
2) Байт со знаком, целое. Диапазон представления чисел от -128 до 127 (рис. 2).
Двойное слово без знака. Диапазон представления чисел от 0 до 4294967295 (рис. 3).
10
Размещено на http://www.allbest.ru
Двойное слово со знаком. Диапазон представления чисел от -2147483648 до 2147483647 (рис. 4).
Числа в формате с ПЗ.
Данные такого типа состоят из знака, положительной мантиссы (23 бита) и смещенного порядка (8 бит).
2.2 Выбор видов адресации
Система команд процессора предусматривает одиннадцать видов адресации (таблица 1). Из этих режимов адресации операндов только два не имеют отношения к памяти, остальные используются при формировании исполнительного адреса операнда в памяти.
Исполнительный адрес вычисляется с использованием комбинации следующих компонентов:
Смещение (С) - 8/20-разрядное число, включенное в команду.
База (Б) - содержимое базового регистра (обычно используется для указания на начало некоторого массива). Сюда же можно отнести содержимое регистра при косвенной регистровой адресации.
Индекс (И) - содержимое индексного регистра. Инкремент или декремент индексного регистра указывается битом направления (D) в регистре флагов. Обычно используется для выбора элемента массива.
Таблица 1 - виды адресации
№ |
Способ адресации |
Эффективный адрес |
|
1 |
Непосредственная |
Операнд в команде |
|
2 |
Регистровая |
Операнд в регистре |
|
3 |
Косвенная регистровая |
ЕА:=[Рег] |
|
4 |
Прямая |
ЕА:=А |
|
5 |
Индексная |
ЕА:=И+С |
|
6 |
Базово-индексная |
ЕА:=Б+И |
|
7 |
Базово-индексная со смещением |
ЕА:=Б+И+С |
|
8 |
Базовая |
ЕА:=Б+С |
|
9 |
Индексная авто[ин/де]крементная |
ЕА:=И+С И:=И[+/-]1 |
|
10 |
Базово-индексная авто[ин/де]крементная |
ЕА:=Б+И И:=И[+/-]1 |
|
11 |
Базово-индексная со смещением авто[ин/де]крементная |
ЕА:=Б+И+С И:=И[+/-]1 |
2.3 Выбор форматов команд
Для обеспечения гибкости системы команд с точки зрения программирования, но в то же время, исключая слишком длинные инструкции, решено ввести 3 основных формата команд: 2-х, 1-но и без- адресные. Исключены инструкции типа память-память, необходимость в которых не является первостепенной, а введение их не только потребует увеличения разрядности управляющей части, но и увеличения количества обращений к памяти, что отразится на быстродействии и эффективности хранения команд для разрабатываемого ПР.
Операционная часть команды одинакова для всех команд, но в разных форматах могут отсутствовать некоторые поля, которые используются в качестве дополнительных бит кода операции (КОП).
Двухадресные команды (рисунок 6)
15 |
14 10 |
9 |
8 |
7 6 |
5 3 |
2 0 |
|
0 |
КОП |
Н |
Ф |
ПА1 |
Рег2 |
Рег1 |
|
ПА2 |
|||||||
Смещение 8/20 / Адрес 32(мл)/ Непосредственный операнд 8 / Непосредственный операнд 32(мл) |
|||||||
Адрес 32(ст)/ Непосредственный операнд 32(ст) |
|||||||
Рисунок 6 - формат двухадресной команды. |
Расшифровка полей команды приводится ниже. Как видно из рисунка, у двухадресных команд в 15-м бите находится ноль. В двухадресных командах есть следующие типы команд: регистр - регистр, регистр - память, регистр - непосредственный операнд (НО), память - НО.
Назначение полей команды:
КОП (5 бит: 14-10) - код операции;
Ф (1 бит: 8) - разрядность операндов: 0 - 32 бита / 1 - 8 бит;
Н (1 бит: 9) - направление пересылки результата: 1 - справа налево / 0 - слева направо.
РЕГ1 (3 бита: 2-0) / РЕГ2 (3 бита: 5-3) - номер регистра:
Таблица 2 - кодирование РОН в командах
РЕГ |
Регистр (Ф=0/1) |
РЕГ |
Регистр (Ф=0/1) |
||
000 |
AX/ AL |
100 |
BP/ AH |
||
001 |
BX/ BL |
101 |
SP/ BH |
||
010 |
CX/ CL |
110 |
SI/ CH |
||
011 |
DX/ DL |
111 |
DI/ DH |
ПА1 (2 бита: 7,6) \ ПА2 (3 бита: 5-3) - используемые виды адресации (таблица 3);
Таблица 3 - сочетания видов адресации
ПА1 |
ПА2 |
Способ адресации |
|
00 |
001 |
РЕГ <-> НО |
|
00 |
010 |
[РЕГ] <-> НО |
|
01 |
ххх |
РЕГ <-> РЕГ |
|
10 |
ххх |
[РЕГ] <-> РЕГ |
|
11 |
000 |
[А] <-> РЕГ |
|
11 |
111 |
[И]+С <-> РЕГ |
|
11 |
101 |
[Б]+[И] <-> РЕГ |
|
11 |
110 |
[Б]+[И]+С <-> РЕГ |
|
11 |
100 |
[Б]+С <-> РЕГ |
|
11 |
011 |
[И+\-]+С <-> РЕГ |
|
11 |
001 |
[Б]+[И+\-] <-> РЕГ |
|
11 |
010 |
[Б]+[И+\-]+С <-> РЕГ |
Одноадресные команды (рисунок 7)
15 |
14 10 |
9 |
8 |
7 6 |
5 3 |
2 0 |
|
1 |
КОП |
0 |
Ф |
ПА1 |
Рег1 |
КОП |
|
ПА2 |
Флаг |
||||||
Адрес 8 / Адрес 32(мл) / НО 8 / НО 32(мл) |
|||||||
Адрес 32(ст) / НО 32(ст) |
|||||||
Рисунок 7 - формат одноадресной команды. |
Назначение полей в данном формате команды то же, что и в формате двухадресной команды, но есть некоторые отличия:
ПА1 (2 бита: 7,6) \ ПА2 (3 бита: 5-3) - используемые виды адресации (таблица 4);
Таблица 4 - используемые виды адресации.
ПА1 |
ПА2 |
Способ адресации |
|
00 |
ххх |
НО |
|
01 |
ххх |
РЕГ |
|
10 |
ххх |
[РЕГ] |
|
11 |
000 |
[А] |
|
11 |
111 |
[И]+С |
|
11 |
101 |
[Б]+[И] |
|
11 |
110 |
[Б]+[И]+С |
|
11 |
100 |
[Б]+С |
|
11 |
011 |
[И+\-]+С |
|
11 |
001 |
[Б]+[И+\-] |
|
11 |
010 |
[Б]+[И+\-]+С |
КОП (8 бит: 14-10,2-0) - код операции, причем при комбинации КОП 1111х в 14-10 разрядах (код команд JF и JNF), дополнительное поле КОП (2-0 разряды) содержит номер флага по которому осуществляется переход.
Безадресные команды (рисунок 8).
15 |
14 10 |
9 |
8 6 |
5 0 |
|
1 |
КОП |
1 |
Флаг |
* |
|
Рисунок 8 - формат безадресной команды. |
Остальные разряды в данном формате команды не используются (* зарезервированы).
2.4 Разработка системы команд
Согласно ТЗ, процессор должен быть универсальным, поэтому в систему команд должны входить команды для решения широкого круга задач. Как уже упоминалось ранее, в ПР предусмотрено несколько форматов команд. Благодаря выбранным видам адресации и представленному ниже набору команд, ПР удовлетворяет поставленному требованию.
Двухадресные команды (таблица 5). Под КОП данных команд отведено пять разрядов в формате команды, поэтому таких команд может быть только 32.
Таблица 5 - набор двухадресных команд
Мнемоника |
Код |
Инструкция |
|
MOV |
00000 |
Пересылка данных (копирование) |
|
XCHG |
00001 |
Обмен данными (взаимный) |
|
XLAT |
00010 |
Трансляция (перекодирование) содержимого регистра или памяти в значение из таблицы трансляции: Рег2:=[Рег1+Рег2] |
|
LEA |
00100 |
Загрузка эффективного адреса в регистр |
|
ADD |
00101 |
Сложение двух операндов |
|
SUB |
00110 |
Вычитание |
|
CMP |
01001 |
Сравнение(вычитание без сохранения результата - установка флагов) |
|
AND |
01010 |
Логическое «И» |
|
TEST |
01011 |
Проверка бит (логическое «И» без записи результата - установка флагов) |
|
OR |
01100 |
Логическое «ИЛИ» |
|
XOR |
01101 |
Исключающее «ИЛИ» |
|
SHL |
01110 |
Логический сдвиг влево |
|
SHR |
01111 |
Логический сдвиг вправо |
|
MUL |
10000 |
Умножение на беззнаковое значение |
|
IMUL |
10001 |
Умножение на целое знаковое значение |
|
DIV |
10010 |
Деление на беззнаковое число |
|
IDIV |
10011 |
Деление на целое знаковое число |
|
RCL |
10100 |
Циклический сдвиг влево через CF |
|
RCR |
10101 |
Циклический сдвиг вправо через CF |
|
ROL |
10110 |
Циклический сдвиг влево |
|
ROR |
10111 |
Циклический сдвиг вправо |
|
SAL |
11000 |
Арифметический сдвиг влево |
|
SAR |
11001 |
Арифметический сдвиг вправо |
|
ADC |
10110 |
Сложение двух операндов с учетом переноса от предыдущей операции (+CF) |
|
FLD |
11000 |
Загрузка вещественного числа |
|
Продолжение таблицы 5. |
|||
FPUSH |
11001 |
Сохранение в стеке |
|
FPOP |
11010 |
Выборка из стека |
|
FADD |
11011 |
Сложение вершины стека с содержимым одного из регистров СоПР |
|
FSUB |
11100 |
Вычитание из вершины стека содержимого одного из регистров СоПР |
|
FMUL |
11101 |
Деление вершины стека на содержимое одного из регистров СоПР |
|
FDIV |
11110 |
Умножение вершины стека на содержимое одного из регистров СоПР |
Количество команд: 31
Одноадресные команды (таблица 6). В поле КОП данной команды можно закодировать до 256 команд.
Таблица 6 - набор одноадресных команд.
Мнемоника |
Код |
Инструкция |
|
PUSH |
00000000 |
Помещение данных в стек |
|
POP |
00000001 |
Извлечение данных из стека |
|
INC |
00000100 |
Инкремент (сложение с 1) |
|
DEC |
00000101 |
Декремент (вычитание 1) |
|
NEG |
00001000 |
Изменение знака операнда |
|
NOT |
00001001 |
Инверсия |
|
CALL |
00001100 |
Вызов процедуры |
|
INT |
00001101 |
Выполнение программного прерывания |
|
LDS |
00010000 |
Загрузка сегментного регистра DS |
|
SDS |
00010001 |
Сохранение сегментного регистра DS |
|
LGDT |
00010010 |
Загрузка CR |
|
SGDT |
00010011 |
Сохранение CR |
|
LIDT |
00010100 |
Загрузка IDTR |
|
SIDT |
00010101 |
Сохранение IDTR |
|
LSS |
00010110 |
Загрузка сегментного регистра SS |
|
SSS |
00010111 |
Сохранение сегментного регистра SS |
|
LES |
00011000 |
Загрузка сегментного регистра ES |
|
SES |
00011001 |
Сохранение сегментного регистра ES |
|
JMP |
00011111 |
Безусловный переход |
|
JF |
11110ххх |
Переход, если флаг равен 1 |
|
JNF |
11111ххх |
Переход, если флаг не равен 1 |
Количество команд: 25.
Безадресные команды (таблица 7). В поле КОП данной команды можно закодировать до 32 команд.
Таблица 7 - набор безадресных команд
Мнемоника |
Код |
Инструкция |
|
PUSHF |
00001 |
Помещение в стек регистра флагов |
|
POPF |
00010 |
Извлечение из стека регистра флагов |
|
SET |
00100 |
Установка одного из восьми младших флагов |
|
CLR |
00101 |
Сброс в 0 одного из восьми младших флагов |
|
INV |
00111 |
Инверсия одного из восьми младших флагов |
|
NOP |
11111 |
Нет операции |
|
HLT |
00000 |
Останов процессора |
|
FNOP |
01111 |
Пустая операция СоПР |
|
RET |
10010 |
Возврат из процедуры |
|
IRET |
10011 |
Возврат из прерывания |
Количество команд: 13.
2.5 Разработка архитектуры процессора
2.5.1 Определение внутренних регистров процессора
Процессор имеет регистры, подразделяющиеся на следующие категории:
регистры общего назначения (РОН);
указатель инструкций, стека, индексные регистры и регистр слова состояния ПР;
регистры сегментов;
регистры базы.
Регистры общего назначения.
Как уже отмечалось выше, основной формат данных для ПР - тридцать два разряда. Следовательно, РОН'ы процессора также являются тридцати двух разрядными. Все РОН'ы могут участвовать в арифметико-логических операциях. Вместе с тем каждый РОН имеет свою специальную функцию, что позволяет уменьшить разрядность команд и повысить, в некоторых случаях, быстродействие. Так как данные в процессоре могут быть представлены как тридцати двух разрядными, так и восьмиразрядными, следовательно, младшие 16 разрядов РОН'ов(AX, BX, CX, DX), можно разделить (условно) на две части: Low - младшая и Hi - старшая (например, старшая часть - это AH, а младшая - AL). В команде разрядность данных определяется полем Ф, следовательно, при Ф = 0 команда работает с тридцатидвухразрядными данными, иначе - с восьмиразрядными. В таблице 8 представлен формат регистров общего назначения. В таблице 2 представлено кодирование РОН в командах.
Таблица 8 - формат регистров общего назначения.
31 15 8 0
AX |
AH |
AL |
||
BX |
BH |
BL |
||
CX |
CH |
CL |
||
DX |
DH |
DL |
||
EX |
EX |
|||
AP |
AP |
|||
BP |
BP |
|||
SP |
SP |
Рассмотрим специальное назначение РОН:
- AX - аккумулятор, может использоваться в качестве неявного операнда в некоторых командах;
- AP,BP - базовые регистры, используются в качестве базового регистра при базовой и базово-индексной адресации;
- CX - счетчик, является счетчиком при организации циклов;
- DX - данные, является расширением регистра AX при умножении двойных слов, а также при операциях деления хранит остаток;
Указатель инструкций, стека и регистр слова состояния ПР.
Указатель инструкций IP (20 разрядов) содержит смещение следующей исполняемой инструкции относительно базы сегмента кода.
В качестве указателя стека используется регистр SP (32 разрядов). Данный регистр содержит относительный адрес вершины стека (используются только 20 разрядов) и включен в РОН.
Для работы с массивами предусмотрены два индексных регистра SI и DI (20 разрядов) с возможностью (ин/де)кремента, которая задаётся используемой адресацией и значением бита направления в регистре слова состояния.
В состав архитектуры процессора входит 16-ти разрядный регистр слова состояния ПР PSW (рисунок 9).
15 |
14 |
13 |
12 |
11 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|||
MODE |
* |
ERRK |
IF |
TF |
BF |
DF |
CF |
OF |
SF |
ZF |
Рисунок 9 - слово состояния процессора.
В этом регистре:
устанавливается текущий режим работы ПР (поле MODE): 00 - реальный режим, 11 - защищённый режим. Два бита введены для большей надежности;
устанавливается текущий сегментный регистр (флаг DF) для сегмента данных (таблица 9);
устанавливается (флаг BF) текущая пара регистров база-индекс ( таблица 10);
фиксируются четыре флага для результатов выполнения арифметико-логических операций (таблица 11).
фиксируются флаг запрещения маскируемых прерываний (IF) и флаг трассировки (TF);
фиксируется код ошибки защиты памяти, возникающий при формировании физического адреса (ERRK).
Таблица 9.Таблица 11.
Флаг DF |
Регистр |
Флаг |
Назначение |
||
0 |
DS |
ZF |
признак нулевого результата |
||
1 |
ES |
SF |
знаковый разряд результата |
||
OF |
признак переполнения |
||||
Таблица 10. |
CF |
признак переноса |
|||
Флаг BF |
Сочетание регистров |
||||
0 |
[AP][DI] |
||||
1 |
[BP][SI] |
Регистры сегментов
Регистры сегментов содержат 8-битные указатели (в реальном режиме) или селекторы (в защищенном режиме) сегментов CS (сегмент кодов команд); SS (сегмент стека); DS (сегмент данных); ES -- дополнительный сегмент. Использование сегментных регистров определяется типом обращения к памяти. С каждым из 4-х сегментных регистров связаны программно-недоступные регистры дескрипторов, автоматически загружаемые при загрузке соответствующих сегментных регистров.
Регистры базы
Регистры базы предназначены для хранения базового адреса и размера таблицы дескрипторов сегментов (CR) и таблицы адресов ППОП (IDTR).
2.5.2 Выбор системы управления памятью
По ТЗ размер ОЗУ составляет 128 Мбайт. ПР может работать в двух режимах: реальном и защищенном. Так как в ПР предусмотрена работа с байтами (согласно ТЗ), то минимальная ячейка памяти, к которой может обращаться ПР - байт.
В реальном режиме программисту доступно все 128 Мбайт физической памяти. При этом память разбивается на сегменты по 512 Кбайт. Физический адрес вычисляется конкатенацией 8-разрядного значения сегментного регистра 19-разрядного смещения (рисунок 10).
В защищенном режиме адресуются 128 Мбайт с разделением на сегменты до 1 Мбайта с использованием защиты памяти. ПР работает в однозадачном режиме. Количество сегментов, т.е. размер таблицы дескрипторов, выбраны таким образом, чтобы можно было адресовать всю физическую память и составляет 128 дескрипторов. Адрес начала ТД и её размер определяются в регистре CR (рисунок 11).
32 7 |
6 0 |
|
БА |
предел |
|
Рисунок 11 - формат регистра CR. |
БА - базовый адрес таблицы дескрипторов;
предел - размер ТД в дескрипторах.
Физический адрес ФА формируется, как сумма 27-разрядной базы, которая хранится в дескрипторе (рисунок 12), и 20-разрядного логического адреса.
Формирование физического адреса в защищенном режиме на основе таблицы дескрипторов ТД с использованием теневых регистров для хранения дескрипторов активных сегментов показано на рисунке 13.
При формировании ФА адрес базы сегмента выбирается из теневого регистра.
63 51 |
50 |
49 |
48 |
47 |
46 20 |
19 0 |
|
* |
DPL |
C/D |
ED |
R/W |
БА |
Предел |
|
Рисунок 12 - формат дескриптора сегмента. |
DPL - уровень привилегий сегмента;
C/D - сегмент кода (=1) или данных (=0);
ED - направление расширения сегмента данных (ED=1 - сегмент стека);
R/W - запрет чтения из сегмента кода или запрет записи в сегмент данных (R/W=0).
Предел - размер сегмента в байтах;
БА - базовый адрес сегмента;
* - зарезервировано.
При загрузке в сегментные регистры нового селектора (рисунок 14) производится выборка соответствующего дескриптора из ТД, выполняется контроль по доступу и размеру и, если доступ разрешен, загрузка его в соответствующий теневой регистр.
7 1 |
0 |
|
Индекс |
RPL |
|
Рисунок 14 - формат селектора. |
индекс - номер дескриптора в ТД;
RPL - запрашиваемый уровень привилегий.
3. Разработка структуры процессора
Структурная схема ПР включает операционное устройство (ОУ), три устройства управления работой ступеней (УУПС, УУВС, УУТС), оперативное запоминающее устройство (ОЗУ), аппаратуру прерываний (АП), очередь команд (ОК), блоки формирования логического (БФЛА) и физического (БФФА) адресов, кэш-данных (КЭШД), контроллер шины (КШ), математический сопроцессор и буферные регистры для передачи данных между ступенями.
Структурная схема ПР приведена в приложении А.
3.1 Разработка операционного устройства
Операционное устройство (ОУ) процессора предназначено для выполнения простых арифметических, логических операций, операций сдвига и сложных операций, таких как умножение, на основе простых.
Основным элементом операционной устройства процессора являются микропроцессорные (МПС) секции типа КР1804ВС1 или её аналоги (например Am2901A).
ОУ процессора строится по типовой схеме включения. Для ускорения переноса между МПС вводится схема ускоренного переноса из микропроцессорного комплекта 1804 (или Am2902A). Для выполнения арифметических и логических сдвигов, а также для хранения флагов микросостояния и состояния процессора (PSW), генерации признаков логических условий из регистров состояния и микросостояния используется схема типа Am2904.
Т.к. вышеназванные секции обладают набором внутренних регистров, то часть из них (8 регистров) будут использованы под РОН, а оставшиеся, как вспомогательные при выполнении некоторых операций, т.е. под программно недоступные (ПН) регистры. Такое решение также позволяет исключить из командного цикла микропроцессора лишние такты по подготовке операндов при работе с регистровой и некоторыми другими адресациями.
Операнды, выбираемые из памяти и из команд, до начала работы ОУ, защёлкиваются во внешнем регистре ОУ RgD3, второй операнд в двухадресных командах, располагается в РОН или ПН регистре. Результат выполнения, в зависимости от бита направления Н в поле КОП помещается в один из РОН'ов или защёлкивается во внешнем регистре RgZ, откуда затем пишется в память.
В ОУ подается сигнал размера операнда (двойное слово или младший байт). Этот сигнал разрешает (в случае работы с байтами) подачу управляющих сигналов только на две младшие секции ОУ.
В ОУ также подаются флаг CF для выполнения некоторых операций и др. управляющие сигналы.
Быстродействие ОУ не должно превышать 90 нс.
Предлагаемая структурная схема ОУ на комплекте Am290 представлена в приложении Б.
3.2 Разработка структуры ОЗУ
По ТЗ объем ОЗУ равен 128 Мбайт с расслоением обращений на 32 байта.
Работа с ОЗУ производится в следующих направлениях:
заполнение ОК (8 32-х разрядных слов);
заполнение КЭШД (8 32-х разрядных слов);
удаление из КЭШД (8 32-х разрядных слов).
Для увеличения быстродействия работы памяти с ОК и КЭШД при заполнении используются пакетные циклы шины, позволяющие уменьшить время передачи данных (при времени доступа к ОЗУ 2 такта) с 16 тактов (8 дв.слов * 2 такта) до 9 тактов (1 дв.слово *2 такта + 7 дв.слов * 1 такт).
Т.к. такие циклы шины используются только для заполнения ОК и КЭШД, т.е. работа производится с последовательно расположенными данными, то внутренняя организация ОЗУ может быть как с параллельным, так и с конвейерным доступом на 2 32-х разрядных банка (рисунок 15).
Рисунок 15 - временная диаграмма работы ОЗУ.
При использовании пакетных циклов шины для операций с КЭШД должно соблюдаться условие: данные должны быть выровнены по границе 32 байта.
Однако при работе с ОК (пополнение), за счёт её организации такого требования для кода программы не выдвигается.
В случае удаления строки из КЭШД использование пакетных циклов невозможно, следовательно, передача осуществляется поочерёдно, по 2 такта на слово.
3.3 Разработка кэш-памяти
Время доступа к ОЗУ по техническому заданию составляет 200 нс. При заданном быстродействии работы процессора 2.5 млн. оп/сек это составляет половину всего времени, отведённого на команду, что не допустимо и прежде всего говорит о необходимости введения кэш-памяти.
Кэш-память вместе с ОЗУ образуют иерархическую структуру доступа к данным и ее действие эквивалентно быстрому доступу к ОЗУ. Рекомендуемый объем кеш-памяти 1/1000 от объема ОЗУ, что составит 128 Кбайт, однако, учитывая то, что процессор будет работать в однозадачном режиме, примем его равным 16 Кбайт.
Кэш-память строится из четырех модулей на основе частично-ассоциативного распределения (ЧАР). Достоинствами данного метода распределения является сокращение числа промахов по сравнению с методом прямого распределения, высокое быстродействие: чтение за один такт, а также незначительные аппаратурные затраты.
Модули образуют группу строк. Для выбора группы строк используется метод прямого распределения, а для выбора строки в группе - метод полностью ассоциативного распределения. Емкость строки - восемь 32-разрядных слов. При ЧАР адрес разбивается на три части: старшая часть - тег - для сравнения с тегами из группы строк и выбора одной строки, средняя часть - индекс - для выбора группы строк и младшая часть - номер слова в строке. Таким образом, по индексу выбирается множество строк (группа), а по тегу - конкретная строка из этого множества.
Однако по ТЗ необходимо предусмотреть работу с 8-ми разрядными данными, для чего вводится четвёртое поле, которое выбирает один из 4-х байтов 32-х разрядного слова при записи в КЭШД или байт, выводимый в младшие разряды выходного регистра.
Обращение к массиву тегов и СОЗУ данных кэш-памяти происходит одновременно, поэтому, если требуемая строка присутствует в кэш-памяти, данные сразу же выдаются на ШД.
Стратегия обновления ОЗУ - флаговая обратная запись. При такой стратегии обновления у каждой строки имеется бит записи в строку (одноразрядная память флагов). Таким образом, если требуемая строка находится к кэш-памяти и выполняется запись в строку, то бит в соответствующей ячейке памяти флагов устанавливается в единицу. При промахе анализируется значение бита флага, и процедура удаления строки из кэш-памяти в ОЗУ выполняется только в том случае, когда флаг установлен в единицу (при этом бит флага сбрасывается).
В качестве метода замещения кэш-памяти выбран метод, учитывающий активность строк - стратегия псевдо-LRU стека. При этом методе из кэш-памяти удаляется строка, которая дольше всех не использовалась, то есть при каждом обращении к строке ее номер заносится в стек, в результате удалению подлежит строка из наиболее глубокой позиции стека.
КЭШД для выбора данных с которыми будет происходить работа, имеет два регистра адреса. В дальнейшем, при разработке конвейера будет обосновано введение для этих целей двух регистров.
Кэш-память обменивается данными с ОЗУ по 32-разрядной МД.
Структурная схема КЭШД приведена в приложении В.
3.4 Разработка очереди команд
Т.к. КЭШД используется на 2-х ступенях конвейера из 3-х, и использование его для хранения и выборки команд привело бы к возникновению конфликтов по доступу к данным между ступенями конвейера, для первой ступени было решено ввести очередь команд (ОК).
ОК представляет собой буфер FIFO, в который выбираются команды из памяти перед выполнением. Ширина выборки по ТЗ составляет 32 байта, а для безостановочной работы ОК необходим объём в 2 раза превышающий ширину выборки, поэтому ОК состоит из 16 32-х разрядных слов или 64 байт. Функциональная схема ОК приведена в приложении Г.
На схеме: CTW - счётчик записи, указывает на первое свободное слово; CTR - счётчик чтения, указывает на дно стека; CT1 - счётчик пакетного цикла, формирует сигнал конца пакета; CT2 в паре с DC3- счётчик выбора выходного 16-и разрядного регистра (RgDO1-RgDO3); Tпд - триггер последнего действия, при равных счётчиках чтения и записи определяет стек полон или пуст; TГД - триггер готовности данных, устанавливается, когда данные в выходном регистре готовы к выборке; DC1 - 4-х входовой дешифратор, работает в паре со счётчиком CTW и выбирает слово, в которое будет записываться следующее данное из пакета; DC2 - в цикле чтения выбирает одну из 64-х пар восьмиразрядных регистров слова, для записи в выходные регистры RgDO1-RgDO3; MS1 и MS2 - мультиплексоры, позволяющие менять местами байты выдаваемые с локальной шины при записи в выходные регистры.
ОК содержит 64 восьмиразрядных регистра, разбитых на строки по 4 байта. Для разных целей регистры можно выбрать построчно (для записи в ОК - DC1) либо попарно (для чтения - DC2). Регистры подключены к двум шинам - входной 32-х разрядной (построчно) и выходной 16-и разрядной (попарно). Причём при подключении к выходной шине все чётные регистры в строках выдаются в старшие разряды локальной шины, а нечётные - в младшие. Таким образом, если выбирается чётная пара (старший байт чётный в строке), то при записи в выходной регистр нет необходимости перестановки байт местами, при нечётной паре - перестановка осуществляется мультиплексорами MS1 и MS2, под управлением младшего разряда счётчика CTR.
RS-триггер Tпд управляется внешним сигналом чтения ОК (Рчток) и внутренним конца цикла передачи пакета (Ркц).
Две комбинационные схемы CS1 и CS2 анализируют состояние счётчиков чтения CTR и записи CTW и вырабатывают осведомительные сигналы: очередь команд пуста (Рокп) и очередь команд полупуста (Рокпп). Причём для того, чтобы не было необходимости выравнивать команды по ширине выборки из ОЗУ, сигнал Рокп вырабатывается не только когда счётчики равны, но и когда в ОК остаётся ещё один достоверный байт, т.е. при выполнении пополнения ОК в следующей строке появится продолжение предыдущей информации, и возможно будет продолжить чтение с места остановки.
Т.к. аппаратура ОК для чтения и записи разделена, то функционирование алгоритмов пополнения и выборки возможно организовать параллельно. Для этого в ОК введены два раздельных УУ: УУЗ - для управления записью и УУЧ - чтением. В последующем, при разработке ГСА функционирования следует учесть, что УУЧ при возникновении сигнала Рокп (ОК пуста) должно приостановить выборку до тех пор, пока очередь не пополнится и сигнал не изменит своего состояния.
В начале работы процессора или переходе на другой участок кода ОК сбрасывается. В том числе сбрасываются в ноль счётчики указателей чтения CTR, записи CRW, счётчик пакетного цикла CT1, счётчик выбора выходного регистра CT2. Триггер последнего действия Tпд устанавливается в единицу, что означает, что последним действием было чтение и равные счётчики чтения и записи говорят о том, что ОК пуста.
После сброса (или когда все команды из ОК выбраны) в ОК логическими схемами вырабатывается осведомительный сигнал «очередь команд пуста» (Рокп), поступающий на УУ ОЗУ. УУ ОЗУ в свою очередь, если шинный интерфейс (ШИ) не занят, устанавливает на выходе сигнал готовности передачи пакета Ргпп, в следующем такте, переписывает адрес в свой регистр адреса со счётчика ОК CTAOK и начинает считывание и передачу на МД пакета.
3.5 Разработка блока формирования логического адреса
По техническому заданию, при разработке процессора необходимо предусмотреть работу с пятью или более видами адресации.
В данном курсовом проекте используется одиннадцать видов адресации и для каждого из них свой алгоритм формирования исполнительного или логического адреса, что говорит о необходимости введения специального блока формирования логического адреса (БФЛА).
Структура БФЛА приведена в приложении Д.
На схеме: SI, DI - индексные регистры; CS1 - комбинационные схемы, на выходах которых, в зависимости от управляющего сигнала можно получить либо входной сигнал либо ноль; CS2 - комбинационная схема, выходы которой, в зависимости от управляющего сигнала выдают входной сигнал либо находятся в Z-состоянии, MS - позволяет подать на выходной регистр логические адреса, сформированные не только на сумматоре; RgLA - выходной регистр, выходы которого подаются на вход схемы формирования физического адреса.
В зависимости от управляющих сигналов, на выходе БФЛА можно сформировать исполнительные адреса для следующих видов адресаций:
косвенная регистровая - адрес из РОН напрямую передаётся в выходной регистр;
прямая - адрес из регистра RgD11 (выборка из ОК) напрямую подаётся в выходной регистр;
все виды базовой и индексной адресаций - формирование происходит на сумматоре SM, при авто(ин\де)крементной адресации сигналы на SI и DI подаются управляющим устройством.
Для этого в блок подаются данные с магистрали данных и с регистра операнда, выбираемого из ОК. Выход с блока подаётся на вход блока формирования физического адреса.
Данные из регистров SI и DI подаются на вход данных ОУ и могут быть считаны при подаче в БФЛА соответствующих управляющих сигналов.
3.6 Разработка блока формирования физического адреса
Блок формирования физического адреса преобразует логический адрес (ЛА) в физический адрес ОЗУ и организует защиту памяти. Схема БФФА приведена в приложении Ж.
В БФФА входят:
четыре 8-разрядных сегментных регистра CS, DS, ES, SS, в которых в реальном режиме хранятся 8 разрядов базового адреса сегментов, а в защищенном режиме - семиразрядный индекс сегмента;
четыре 64-разрядных регистра дескрипторов сегментов RgDSi (теневые регистры сегментных регистров);
34-разрядный регистр CR, в котором хранится 27-разрядный базовый адрес таблицы дескрипторов (ТД) и размер ТД в дескрипторах (7 бит);
схемы сравнения и логические элементы для контроля прав доступа к сегменту или странице;
сумматоры и буферные элементы для формирования ФА;
мультиплексор, для возможности формирования на выходе как ФА операндов, так и ФА дескриптора в памяти и ФА для реального режима.
Формирование ФА без использования таблицы дескрипторов (реальный режим) происходит конкатенацией 8-разрядного селектора и 19-разрядного смещения на входе БФФА.
Формирование ФА с использованием таблицы дескрипторов (защищённый режим) осуществляется суммированием базового адреса из соответствующего теневого регистра дескриптора и 20-разрядного смещения на входе БФФА.
Обеспечение защиты памяти осуществляется при загрузке сегментных регистров новыми значениями и формировании ФА в защищённом режиме, в ходе которых производятся следующие проверки:
сравнивается индекс сегмента с пределом из регистра CR, индекс сегмента должен быть не больше предела;
защита по типу сегмента (пользовательский или системный: в системном режиме разрешается доступ к любому типу сегмента, а в пользовательском, только к соответствующему сегменту;
сегмент кода должен быть обязательно исполняемым;
для сегментов стека должны быть разрешены операции чтения и записи;
для сегментов данных тип дескриптора должен разрешать выполнение/считывание из сегмента (не допускаются только выполняемые сегменты, когда данные в виде констант размещаются в сегменте кода);
контроль атрибутов защиты сегментов кода (запрет записи в сегмент кода);
контроль атрибутов сегментов данных по записи, кроме сегмента стека, в который запись всегда разрешена;
сравнение ЛА с пределом из дескриптора сегмента, для сегментов кода и данных (ED=0) предел должен быть больше смещения, а для сегмента стека (ED=1) - наоборот.
Данные на вход поступают с МД и выхода БФЛА, результирующий физический адрес поступает на магистраль адреса.
3.7 Разработка аппаратуры прерываний
Связь с внешними устройствами является одной из важнейших функций процессора. Основа этой функции - это аппаратура прерываний (АП).
В данном курсовом проекте АП может работать в 4х режимах. Режим задаётся специальной командой, при выполнении которой номер режима записывается в специальный регистр в аппаратуре прерываний. Затем, при возникновении прерывания состояние регистра может быть проанализировано и, в зависимости от значения, УУПС осуществляет переход на обработку INT в заданном режиме с помощью преобразователя адреса (ПА).
Структурная схема АП приведена в приложении И.
По ТЗ вложенность запросов на прерывание достигает девяти, для чего в АП входит четырехразрядный счетчик CT, который фиксирует число поступивших запросов и логическая схема для запрета прерываний.
Регистр IDTR содержит базовый адрес таблицы прерываний, таким образом, формирование адреса дескриптора в таблицы прерываний происходит автоматически. Адрес подаётся на магистраль адреса.
Всего в аппаратуре прерываний может быть обработано 20 маскируемых аппаратных прерываний и одно немаскируемое прерывание, которое поступает с блока БФФА и возникает в случае возникновения ошибки защиты памяти. Приоритет прерываний возрастает с увеличением номера прерывания, т.е. запрос на прерывание с номером ноль имеет низший приоритет, а запрос на прерывание с номером 20 - высший приоритет. Причем немаскируемое прерывание имеет самый высший приоритет и обрабатывается вне очереди.
АП может быть выполнена на основе блока векторных приоритетных прерываний (БВПП) К1804ВН1. БВПП фиксирует запросы на прерывание, и если прерывания не запрещены (не замаскированы), то в соответствии с приоритетами вырабатывается сигнал ~RQINR (INT), который поступает в ЦУУ, а на шину адреса выдается адрес соответствующего дескриптора, который в дальнейшем используется для формирования адреса подпрограммы обработки прерывания (ППОП).
На каждый дескриптор в таблице IDT отведено по 4 байта.
3.8 Разработка устройств управления и форматов микрокоманд
Устройство управления (УУ) является связующим и управляющим звеном всех блоков процессора.
Для достижения заданного быстродействия в данном курсовом проекте командный цикл процессора был разделён на 3 ступени, работой каждой из которых управляет своё устройство. Таким образом, УУ представляет собой три параллельно работающих УУ, связанных между собой осведомительными сигналами.
Как известно, УУ может разрабатываться как на программируемой, так и на жёсткой логике. Выбор логики для данных УУ осуществлялся на основе граф-схем алгоритмов (ГСА) работы каждой ступени, т.е. выполняемых ими функций. ГСА второй ступени выполняет только чтение из КЭШД и формирование регистра результата RgR, причём все выполняемые функции не критичны ко времени такта, следовательно, УУ второй ступени возможно разработать на основе жёсткой логики. Устройства управления первой и третьей ступеней выполнены на программируемой логике.
Управление работой ступеней осуществляется на основе блока микропрограммного управления, который имеет классическую структуру и включает блок управления последовательностью микрокоманд (БУПМ) на основе КР1804ВУ4, ПЗУ микропрограмм, регистр микрокоманд RgMK, мультиплексор и инвертор кода условий.
Использование РМК в качестве конвейерного регистра дает возможность во время выдачи внешних управляющих сигналов сформировать в БУПМ адрес следующей микрокоманды и считать ее из блока памяти микропрограмм, что позволяет УУ и ОУ работать параллельно. Это повышает быстродействие и практически не увеличивает размер микропрограммы командного цикла. Структура УУ представлена на структурной схеме процессора в приложении А.
Для процессоров с микропрограммным уровнем управления основная часть управляющих сигналов для УУ, ОУ и других устройств формируется из полей микрокоманды (МК). Количество корпусов микросхем ПЗУ памяти микропрограмм прямо пропорционально разрядности МК, поэтому при разработке формата микрокоманды учитывалась возможность совмещения управляющих полей, если это не увеличивало объем оборудования и не снижало быстродействие.
Список сигналов, формируемых управляющим устройством первой ступени:
Y1 - Запись в RgK1
Y2 - Чт из ОК
Y3 - Запуск ОК
Y101 - Установка Тгд1
Y4 - Сброс ОК
Y5 - Сброс БФЛА
Y6 - Сброс ОУ
Y7 - Сброс АП
Y8,Y9 - Выбор сегментного регистра
Y10 - Запись в IP1
Y12 - Запись в СТАОК
Y13 - Запись в сегментный регистр
Y14 - Сброс ТГД1
Y15 - Запись в RgK2
Y16 - Запись в IP2
Y17..Y23 - формирование ЛА в БФЛА
Y24,Y25 - формирование ФА в БФФА
Y26 - Бесприоритетный запрос к ШИ
Y27 - Запись в RgA2
Y28 - Освобождение ШИ
Y29 - Запись в RgD12
Y30 - Чт из RgD11
Y49..Y52 - Управляющие сигналы ОУ
Список сигналов, формируемых управляющим устройством второй ступени:
Y31 - Чт из RgA2
Y32 - Чт из КЭШД
Y33 - Запись в RgD22
Y34 - Сброс TГД2
Y35 - Запись в RgR
Y36 - Запись в RgA3
Y37 - Запись в RgK3
Y38 - Чт из RgK3
Y39 - Запись RgD3
Y40 - Установка TГД2
Y102..Y105 - управление ОУ
Список сигналов, формируемых управляющим устройством третьей ступени:
Y42 - CTASS-1
Y43 - SP-1
Y44 - Чт из RgA3
Y45 - Чт из RgZ
Y46 - Запись в КЭШД
Y47 - Установка TГД3
Y48 - CTASS-4
Y53..Y56 - Управляющие сигналы ОУ
Y57 - Приоритетный запрос на захват шины
Y58 - Чт из CTASS
Y59 - Чт из IP2
Y60 - Запись в КЭШД
Y61 - Чт из сегментного регистра
Y62 - Чт слова состояния АП
Y63 - Чт RS АП
Y64 - Сброс регистров запросов
Y65 - Запись в регистр состояния АП
Y66 - CTASS+1
Y67 - SP+1
Y68..Y72 - Команды АП
Y73 - управление ОЗУ
Y74 - Запись в регистр режима работы АП
Y75 - Запись в RgAI
Y76 - Чт из RgAI
Y77 - Запись в RgZ
Y78 - Чт RgZ
Y79..Y84 - Формирование ЛА в БФЛА
Y85..Y86 - Выбор сегментного регистра
Y87 - Запись в IP1
Y88 - Запись в СТАОК
Y89 - Сброс ОК
Y90 - Освобождение ШИ
Y91 - Запись в PSW
Y92 - STASS+4
Y93 - SP+4
Y94 - Запись в сегментный регистр
Y95 - Чт из сегментного регистра
Y96 - Чт из IP3
Y97 - Сброс ТПО
Y98 - Чт из RgR
Y99 - Сброс ТГТ3
Y100 - Запись в CTASS
Список осведомительных сигналов, поступающих в устройства управления:
P1 - ТПО
P2 - Готовность данных первой ступени
...
Подобные документы
Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Последовательность загрузки значений регистров базовых адресов и регистров прав доступа для системного режима. Методы и средства защиты памяти, преобразования логического адреса в физический, реализованных в УУП процессора. Режим работы процессора.
лабораторная работа [1,5 M], добавлен 23.07.2012Определение основных функций процессора. Микросхема процессора и выводы шин адреса, данных и управления. Функции памяти и устройств ввода/вывода (мыши, клавиатуры, джойстика). Описание функций внутренних регистров микропроцессора. Оперативная память.
презентация [603,1 K], добавлен 17.06.2014Изучение базовых команд ПК на базе МП i286 и их форматов. Изучение прямых способов адресации данных. Наработка практических навыков работы с командами. Разработка регистровой модели выполнения операций передачи данных. Программа реализации команд.
контрольная работа [42,2 K], добавлен 12.03.2011Разработка устройства управления процессора для выполнения команд сложения, вычитания и поразрядного логического "или", с использованием способов адресации операндов: регистр-регистр, регистр - непосредственно операнд, регистр - прямая адресация памяти.
курсовая работа [72,8 K], добавлен 21.11.2011Описание архитектуры внешних выводов кристалла процессора. Рассмотрение форматов данных для целых чисел со знаком и без знака. Выбор модели памяти и структуры регистровой памяти. Использование кэш прямого отображения. Арифметические и логические команды.
курсовая работа [890,5 K], добавлен 05.06.2015Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.
дипломная работа [4,0 M], добавлен 25.03.2012Разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486. Структура сопроцессора FPU. Принцип выполнения операций, разработка блок-схемы, построение структурной схемы основных блоков процессора.
курсовая работа [734,9 K], добавлен 27.10.2010Рассмотрение принципа работы процессора и его практической реализации с использованием языка описания аппаратуры Verilog. Проектирование системы команд процессора. Выбор размера массива постоянной памяти. Подключение счетчика инструкций и файла регистра.
курсовая работа [1,2 M], добавлен 26.05.2022Общие сведения об управляющих автоматах, построенных на основе принципа программируемой логики. Программно-вычислительный комплекс разработки эффективных форматов микрокоманд для различных способов кодирования. Алгоритмы кодирования операционной части.
дипломная работа [2,1 M], добавлен 26.06.2012Ознакомление с языком ассемблера процессора Neuro Matrix NM 6403, его возможности, особенности работы, содержание операций в регистрах, архитектура. Разработка программы для заполнения блока памяти, компилирование и отладка файла, фиксирование его адреса.
лабораторная работа [48,2 K], добавлен 18.10.2012Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.
курсовая работа [621,0 K], добавлен 24.09.2010Разработка модели процессора, выполняющего набор машинных команд. Структурная схема процессора (операционного и управляющего автоматов), анализ принципа работы. Содержательный алгоритм микропрограммы, синтез управляющего автомата на основе жесткой логики.
курсовая работа [871,9 K], добавлен 16.09.2010Выполнение операции умножения над числами с фиксированной точкой со сдвигом суммы частичных произведений вправо. Разработка структуры центрального процессора при выполнении двухадресной команды со следующими способами адресации: прямая и регистровая.
курсовая работа [459,5 K], добавлен 25.03.2012Проектирование микро-ЭВМ. Программа вычисления матрицы. Кодирование программ и регистров, формат команды. Микропрограммное устройство управления. Граф-схемы выполнения операций. Прошивка ПЗУ микрокоманд, точек входа. Разработка принципиальной схемы.
курсовая работа [1,1 M], добавлен 01.03.2013Синтез структуры простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработка формата и кодировки команд, структурной схемы процессора, функциональные схемы всех его блоков в целом с указанием шин и управляющих сигналов.
реферат [123,9 K], добавлен 18.05.2009Принцип работы процессора, способы его охлаждения, кодовые названия. Шины процессора, разрядность и кэш–память. Технологии расширения и поток команд процессора. Процессорные вентиляторы и их характеристика. Алгоритм и способы разгона процессора.
реферат [38,0 K], добавлен 21.02.2009Основная цель этого блока, ввод данных для работы программы. Дополнительная цель, вывод информации. Два условия проверки вводимых данных. Первое условие проверки на количество точек. Второе, на правильность ввода координат точек. Созданные подпрограммы.
лабораторная работа [154,3 K], добавлен 13.02.2009Разработка программы эмулятора, которая должна имитировать рабочий цикл процессора для каждой команды. Анализ структуры микропроцессора. Моделирующие переменные. Мнемоника команд моделируемого процессора. Разработка структуры программы: классов, методов.
курсовая работа [156,8 K], добавлен 07.11.2012