- •Содержание
- •Раздел 1. Описание структуры разрабатываемого процессора 6
- •Раздел 2. Программная реализация основных элементов процессора 8
- •Введение
- •Реферат
- •Раздел 1. Описание структуры разрабатываемого процессора
- •Раздел 2. Программная реализация основных элементов процессора
- •Заключение
- •Список используемой литературы
Реферат
1. Объём пояснительной записки 13 листов.
Графическая часть отсутствует.
2. Основные ключевые слова: Процессор, регистр, память, классы, методы.
3. Задание на курсовое проектирование.
Задачей курсового проектирования является разработка программной реализации заданного процессора используя языки программирования высокого уровня (С++). Задание выбирается в соответствии со своим порядковым номером.
Для варианта 1:
Тип команд: двухадресные
Набор аппаратно исполняемых команд: сложение, сдвиг, инверсия, деление
Формат команд: безоперандные, трехоперандные
Количество и формат регистров: 4х8 бит, 12х16 бит, 2х32 бита
Количество ядер в процессоре: 2
Конвейеризация процессора 5-ти ступенчатый конвейер
Основная память: 32 Кбайта 16 разрядный адрес
Прерывание с приоритетом
Поддерживаемые виды адресации: непосредственная, регистровая, индексная.
Раздел 1. Описание структуры разрабатываемого процессора
1. Основная память 32 КБайта 16 разрядный адрес.
Шестнадцати разрядное число может хранить 216 (или 65535 бит=8192 байта)
Минимальный объем ячейки 32 Кбайта/216 = 32768 байт/ 8192 = 4 байта = тип int.
2. Количество и формат регистров
4х8 бит (1 байт) = четыре регистра типа char.
12х16 бит (2 байта)= двенадцать регистров типа short int.
2х32 бита (4 байта) = два регистра типа int.
3. Двухадресная система команд
В качестве адреса результата операции можно использовать адрес одного из исходных операндов. При этом результат операции записывается "поверх" одного из операндов, значение которого теряется, но команда становится компактнее.
-
Код
операции
Адрес 1
Адрес 2
4. Поддерживаемые виды адресации:
Непосредственная – в поле адреса команды располагается не адрес операнда, а сам операнд. Такой способ удобно использовать в работе с константами.
Регистровая - предполагает, что операнд (входной или выходной) находится во внутреннем регистре процессора.
Индексная - представляет собой удобный механизм для организации итеративных вычислений.
5. Пятиступенчатый конвейер
Структура процессора выполнена на основе постоянного последовательного выполнения пяти блоков.
Звено выборки команд |
|
Звено декодирования |
|
Звено выборки операндов |
|
Звено выполнения команд |
|
Звено возврата |
|
|
|
|
Звено выборки команд (Bloc1) берет команду из памяти и помещает ее в буфер до того момента, пока она не потребуется. Bloc1 начинает свою работу с ячейки памяти равной 34. в этой ячейке должен лежать код выполняемой операции.
Звено декодирования (Bloc2) определяет тип команды и операндов, нужных команде. Определение типа происходи в соответствии с таблицей систем команд.
Звено выборки операндов (Bloc3) определяет местонахождение операндов и вызывает их из регистров или из памяти. Этот блок считывает первый операнд из номера ячейки команды +1, а второй операнд из номера ячейки команды +2.
Звено выполнения команд (Bloc4) совершает операцию указанную командой.
Звено возврата (Bloc5) записывает результат работы команды в нужный регистр или память. При этом результат всегда записывается в первый операнд.
6. Набор аппаратно исполняемых команд
№ п/п обозначение команды флаги |
Мнемоническое название Код операции |
Содержание |
Изменяемые |
1 |
MOV |
Непосредственная адресация |
*reg=num |
2 |
MOV |
Регистровая адресация |
*op1=*op2 |
3 |
ADD |
Сложение целых чисел |
*op1=*op1+*op2 |
4 |
LS |
Сдвиг влево |
*op1=*op1<<num |
5 |
RS |
Сдвиг вправо |
*op1=*op1>>num |
6 |
NEG |
Инверсия |
*op1=~*op1 |
7 |
DIV |
Деление |
*op2=2^num *op1=*op1>>num |
