- •«Санкт-Петербургский государственный электротехнический университет
- •Вариант задания: 2 (Традиционная архитектура)
- •1. Уточнение структуры системы
- •4. Формат команд.
- •5. Методы адресации:
- •6. Модель памяти и организация виртуальной памяти.
- •7. Реализация механизма прерываний.
- •8. Регистровая модель процессора и сопроцессора.
- •9. Команды процессора и сопроцессора
- •10. Временные диаграммы выполнения основных операций на шине.
- •11. Обобщенные алгоритмы функционирования процессора и сопроцессора.
- •Приложение 1. Руководство пользователя
- •Приложение 2. Текст программы
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«Санкт-Петербургский государственный электротехнический университет
"ЛЭТИ" имени В.И. Ульянова (Ленина)»
Кафедра ВТ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОМУ ПРОЕКТУ
по дисциплине «Архитектура ЭВМ»
Вариант 2
Выполнили: Гоголев Н.А.
Громов И. А.
Кленина Т.А.
Преподаватель: Водяхо А.И.
Санкт-Петербург
2007 г.
Содержание:
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА 1
К КУРСОВОМУ ПРОЕКТУ 1
Содержание: 2
1. Уточнение структуры системы 4
2. Разработка архитектуры внешних выводов 5
3. Форматы данных. 6
4. Формат команд. 8
5. Методы адресации: 9
6. Модель памяти и организация виртуальной памяти. 9
7. Реализация механизма прерываний. 13
8. Регистровая модель процессора и сопроцессора. 16
9. Команды процессора и сопроцессора 19
10. Временные диаграммы выполнения основных операций на шине. 22
11. Обобщенные алгоритмы функционирования процессора и сопроцессора. 25
Приложение 1. Руководство пользователя 30
Приложение 2. Текст программы 34
Вариант задания: 2 (Традиционная архитектура)
Поддерживаемые форматы данных: 16, 32 и 64 – разрядные целые беззнаковые/целые со знаком/ с плавающей точкой;
Максимальная адресность – 2;
Доступные способы адресации данных: относительная, прямая и косвенная;
Регистровая память – 8 универсальных 64-ех разрядных регистров;
В состав системы входит сопроцессор:
- обеспечивает выполнение опраций с плавающей точкой,
- имеет собственные регистры;
Шина адреса и данных – совмещенная;
Основная память: 512 Mb, ШД – 32;
Ввод/вывод – изолированный, т.е. с использованием специальных команд ввода/вывода;
Векторная система прерываний, используется внешний контроллер прерываний;
Поддержка виртуальной памяти;
1. Уточнение структуры системы
Разрабатываемый процессор предназначен для использования в качестве центрального процессора рабочей станции.
Процессорный
кристалл
Системная
шина
Шина
ввода-вывода
В системе используется совмещенная системная шина данных/адресов. Размерность шины – 32 бита.
2. Разработка архитектуры внешних выводов
Центральный процессор
CPU
+5V
WAIT
RESET
AD . . .
+5V
AD
ALE
HLD
READY
HLDA
INTA
INT
RD
CLC
WR
OUT
IN
BHE
...
AD – совмещенная шина адрес/данные
ALE – сигнал для фиксации адреса на внешнем регистре-защелке;
HLD – сигнал запроса на захват шины;
HLDA – сигнал подтверждения запроса на захват шины;
INT – сигнал запроса на прерывание;
INTA – сигнал подтверждения запроса на прерывание;
BHE – разрешение записи старшего байта;
WAIT – сигнал от сопроцессора об окончании вычислений;
READY – сигнал готовности от медленных внешних устройств;
Используется стандартный корпус на 68 выходов. 32 выхода используется для шины адрес/данные, 14 выходов для различных сигналов, 2 для питания (продублировано) , 20 выходов используется для “земли”.
Сопроцессор
. . .
AD
AD
+5V
RESET
CLC
FPINT
FPBUSY
INT
+5V
FPINT – сигнал прерывания, выдается при возникновении ошибки;
FPBUSY – указывает на то, что процессор занят;
Используется стандартный корпус на 40 выходов, из которых 32 отводится для шины адрес/данные, 6 под различные сигналы, 2 для питания и 1 для “земли”.
3. Форматы данных.
Целые числа без знака.
В этом формате все имеющиеся в наличии биты используются для хранения собственно модуля числа, а о его знаке ничего не известно. Обычно такие данные интерпретируются как целые неотрицательные числа. Поэтому этот формат используется также и для хранения адресов. Максимальное значение целых без знака зависит от количества битов, используемых для их хранения. В данной работе используются: полуслова (Half Words) - 16 бит, слова (Words) - 32 бита, двойные слова (Double Words) - 64 бита.
Целые числа со знаком.
Как следует из названия, данный формат, в отличие от предыдущего, позволяет учитывать кроме модуля, еще и знак числа. Знак хранится в старшем бите. Если этот бит, равен "0" – число положительное, если "1" – то отрицательное. Остальные разряды отводятся под модуль. Понятно, что его максимальная величина будет в 2 раза меньше, так как при сдвиге на один бит вправо или влево определяется фактически делением или умножением числа на 2.Поскольку ноль считается положительным, то максимальный модуль положительных чисел будет на единицу меньше, чем отрицательных. Все это справедливо только потому, что целые со знаком записываются в дополнительном коде. При этом положительные числа по способу хранения ничем не отличаются от целых без знака (кроме максимального значения модуля, ведь старший бит – знаковый). Модули отрицательных чисел выражаются числом, которое будучи добавлено к положительному числу той же величины даст в результате ноль. Для получения отрицательного числа из положительного с тем же модулем нужно для каждого бита положительного числа сформировать дополнение до единицы или обратный код, то есть вместо "0" записать "1" и наоборот, а затем к полученному результату прибавить единицу (эти действия и дадут дополнительный код).
Для целых со знаком в данной работе тоже используются: полуслова (Half Words) - 16 бит, слова (Words) - 32 бита, двойные слова (Double Words) - 64 бита.
Действительные (вещественные) числа в формате с плавающей точкой.
Этот формат данных использует для своей работы сопроцессор. Он может хранить как целые, так и дробные числа, положительные и отрицательные. Смысл в том, чтобы сохранить только старшие разряды числа (мантиссу) и число разрядов, на которое нужно их сдвинуть (порядок), а также знак. Итак, старший бит является знаковым ("0" – положительное число, "1" – отрицательное). Младшие биты используются для хранения мантиссы. Все оставшиеся разряды в середине хранят порядок. Мантисса хранится всегда в прямом коде (как число без знака), дополнительный не используется. Для получения значения порядка нужно взять соответствующие биты как число без знака, и вычесть половину (округленную в меньшую сторону) максимально возможного его значения. Все вещественные числа хранятся в так называемом нормализованном виде. При этом целая часть мантиссы равна единице, которую можно не хранить. Остальные биты (они и хранятся) являются, таким образом, дробной частью мантиссы.
В этой работе под числа с плавающей точкой может быть отведено:
а) 32 бита, тогда: знак – 1 бит, порядок – 8 бит, мантисса – 23 бита
(одинарная точность) и (значение) = (знак)1.(мантисса)∙2(порядок – 127) ;
б) 64 бита, тогда: знак – 1 бит, порядок – 11 бит, мантисса – 52 бита
(двойная точность) и (значение) = (знак)1.(мантисса)∙2(порядок – 1023) .
Графическое пояснение результатов.
Целые числа без знака.
а) Полуслово (Half Word) - 16 бит.
б) Слово (Word) - 32 бита.
в) Двойное слово (Double Word) - 64 бита.
Целые числа со знаком.
а) Полуслово (Half Word) - 16 бит.
б) Слово (Word) - 32 бита.
в) Двойное слово (Double Word) - 64 бита.
Действительные (вещественные) числа в формате с плавающей точкой.
а) Одинарная точность – 32 бита.
б) Двойная точность – 64 бита.