ПУЗАНКОВу / zadanie_na_variant_3
.docx1. Техническое задание
1.1. Предмет проектирования
Разработка программной модели однокристального RISC-процессора.
Проектируется процессор общего назначения, предназначенный для использования в качестве центрального процессора (ЦП) рабочей станции, ориентированной на работу в многопользовательском режиме.
1.2. Общие требования к разрабатываемому процессору
Система команд должна удовлетворять следующим требованиям.
1. Операции обращения к памяти отделены от операций, связанных с обработкой данных.
2. Операции, связанные с преобразованием данных, выполняются по принципу регистр-регистр.
3. В общем случае аппаратно поддерживаются операции над целыми числами со знаком и без знака, а также над числами, представленными в формате с плавающей точкой (ПТ).
4. Система команд должна быть функционально полной и включать команды общего назначения, команды для обработки чисел с ПТ и привилегированные команды.
5. Процессор должен иметь векторную систему прерываний.
6. Для процессоров с традиционной (принстонской) архитектурой должны быть предусмотрены механизмы поддержки многозадачности.
7. Процессоры должны иметь встроенную кэш-память.
Программная модель представляет собой симулятор, который должен удовлетворять следующим требованиям:
1. Отображать содержимое регистров общего назначения, системных регистров и регистров, используемых для хранения чисел с плавающей точкой.
- 2. Симулятор должен позволять выполнять покомандное выполнение программы.
3. Выполняемая программа хранится в отдельном файле и представляет собой псевдоассемблерный код.
4. В зависимости от варианта задания симулятор пишется либо на С++, либо на Java.
1.3. Исходные данные для курсового проектирования
Вариант 2
|
Формат данных |
Регистровая память |
||||||
N |
8 |
16 |
32 |
64 |
Количество регистров |
Тип |
Разрядность |
|
2 |
- |
+ |
+ |
+ |
8 |
У |
64 |
|
Шина адрес-данные |
Наличие сопро- цессора |
Основная память |
Ввод-вывод |
Поддержка графики |
|||||||
N |
С |
Р |
|
Объем, Гбайт |
ШД |
И |
П |
|
||||
2 |
+ |
- |
+ |
16 |
32 |
+ |
- |
- |
Исходные данные для проектирования:
Традиционная архитектура процессора
Поддерживаются следующие форматы данных:
- 16-разрядные числа со знаком и без знака;
- 32-разрядные числа со знаком и без знака;
- 64-разрядные числа со знаком и без знака;
- 32-разрядные числа в формате с ПТ;
- 64-разрядные числа в формате с ПТ.
8 регистров универсального типа, 64-разрядные.
Регистры общего назначения (РОН), которые предназначены для хранения как адресов, так и целых чисел.
Предусматривается наличие сопроцессора, следовательно для хранения чисел с ПТ должны использоваться отдельные регистры с ПТ, которые физически размещаются внутри сопроцессора.
В процессоре используется совмещенная шина адреса и данных (С). В состав системы входит сопроцессор, обеспечивающий выполнение операций с ПТ, который должен иметь собственные регистры с ПТ.
Объем оперативной памяти равен 16Гбайт, к которому необходимо обеспечить доступ, в режиме прямоадресуемой памяти. Разрядность шины данных (32-разрядная) определяется разрядностью памяти.
Ввод-вывод может быть изолированный (И), т. е. разработан с использованием специальных команд ввода-вывода. Идентификация обращения к регистрам внешних устройств осуществляется по коду операции.
Требуется разработать систему прерываний; при этом требуется реализовать векторную систему прерываний. (Таблица векторов может находиться по произвольным адресам). Предлагается использовать внешний контроллер прерываний.
Нет поддержки графики
Наличие поддержки виртуальной памяти для процессоров с традиционной архитектурой подразумевает решение следующих задач:
- разработки формата и способа хранения таблицы виртуальных и физических страниц;
- выбора способа преобразования виртуального адреса в физический и его аппаратную поддержку;
- выбора варианта удаления страницы из ОЗУ и его алгоритмическую проработку;
- разработки алгоритма обмена страницами между ОЗУ и внешней памятью.
2.2. Разработка архитектуры ЦП
2.2.3. Выбор форматов данных
основные используемые типы данных
Целые числа
Целые числа могут занимать байт, слово или двойное слово. Они могут быть знаковыми и беззнаковыми. В знаковых целых самый старший бит байта, слова или двойного слова, занимаемого числом, отводится для индикации знака числа. Нуль соответствует плюсу, 1 — минусу. Таким образом, возможный диапазон представляемых значений для знаковых целых составляет: от –128 до 127 для байта, от –231 до 231 для слов, от –263 до 263 для двойных слов. Беззнаковые целые могут принимать значения: от 0 до 255 для байт, от 0 до 232-1 для слов, от 0 до 264-1 для двойных слов.
Числа с плавающей точкой
Числа можно представить в виде: , где – мантисса, а – экспонента (положительное или отрицательное целое число). Такое представление чисел в компьютере называется представление числа с плавающей точкой.
Область значений определяется по числу разрядов в экспоненте, а точность – по числу разрядов в мантиссе.
Числа с плавающей точкой могут быть 32-разрядные (одинарной точности) и 64-разрядные (двойной точности).
Оба формата представления чисел с плавающей точкой начинаются со знакового бита: 0 соответствует положительному числу, 1 – отрицательному. Затем следует смещенная экспонента. Для формата одинарной точности смещение равно 127, а для формата двойной точности – 1023. Минимальная (0) и максимальная (255 и 2047) экспоненты не используются для нормализованных чисел. Область значений экспоненты для формата одинарной точности : от -126 до 127, для формата двойной точности: от -1022 до 1023.