Министерство общего и
профессионального образования
Российской Федерации.
Рязанская Государственная
Радиотехническая Академия.
Кафедра ЭВМ.
Пояснительная записка к курсовому проекту
«Разработка процессора с плавающей точкой»
по курсу
«Организация ЭВМ и систем».
Выполнил:
Ст. гр. 143
Бодров В.В.
Проверил:
Доц. каф. ЭВМ
Елесина С.И.
Рязань 2002 г.
Содержание:
Стр.1 – Титульный лист.
Стр.2 – Содержание.
Стр.3 – Задание.
Стр.4 – Форматы данных.
Стр.6 – Программная модель процессора.
Стр.9 – Описание команд.
Стр.11 – Блок-схема процессора.
Стр.12 – Алгоритмы операций.
Стр.21 – Структурные схемы блоков процессора.
Стр.31 – Моделирование операций.
Стр.38 – Заключение.
Стр.38 – Примечания.
Задание
FDiv St(i),St – деление.
Команда деления производит деление стека St(i) на вершину стека и возвращает частное в получатель.
St(i) St(i)/St
Один из операндов находится в регистровом стеке St(i) в формате 80 Real , второй в вершине регистрового стека St в формате 80 Real.
Особые случаи: P,U,Z,O,D,I.
FIST m16int – сохранение целочисленное.
Команда сохранения преобразует значение из регистра St в формат получателя и помещает операнд в ОП. Если получателем является ре-гистр, номер используемого регистра берётся до извлечения из стека.
m16int St
Особые случаи: P,I,U,O,D.
Ёмкость ОП 8Кбайт.
Длина слова памяти 32 бита.
I. Форматы данных.
1.1.Внутренний формат.
Во внутренних операциях процессор с плавающей точкой (ППТ) ис-пользует представление вещественных чисел в формате с расширен-ной точностью РТ (рис.1.1). Длина формата 80 бит.
14 0 0 63
S E 1. M
79 78 64 63 62 0
рис.1.1 Внутренний формат РТ.
Значащие цифры числа находятся в поле мантиссы (M). Длина ман-тиссы 64 бита. Поле порядка (Е) показывает фактическое положение двоичной точки в разрядах мантиссы. Длина порядка 15 бит. Бит зна-ка S определяет знак числа. Мантисса представлена в прямом коде. Порядок E задаётся в смещённой форме; он равен истинному порядку (П), увеличенному на значение смещения – смещ. РТ = 16383:
Е = П + смещ РТ.
Истинный порядок изменяется от –16382 до 16383. Смещённые по-рядки 000..0В и 111..1В зарезервированы для специальных значений. Числа в формате РТ имеют явный бит F0.
Значение числа в формате РТ равно
S (Е-смещ РТ)
(-1) * 2 * (F0).(F1)(F2)…(F63)
Пример:
Число – 15 в формате РТ будет выглядеть следующим образом:
14 0 0 63
1 01000…00010 1. 1110000000000000000000000000000…000
79 78 64 63 62 0
Рис.1.1.а. Пример записи числа в формате РТ.
1.2.Внешние форматы.
В данном курсовом проекте рассматривается один внешний формат: 16int – целое слово (ЦС) .
Формат ЦС представлен на рис.1.2. Длина формата 16 бит.
S
15 14 0
Рис.1.2. Формат ЦС.
Бит знака S определяет знак числа. Для представления чисел приме-няется стандартный дополнительный код (ДК). Диапазон чисел:
-32768…+ 32767. Все двоичные целые числа точно представимы в формате РТ.
Пример:
Число 5 в формате ЦС будет выглядеть следующим образом:
0 0000000…000000000101
15 14 0
Рис.1.2.а. Пример записи числа формате ЦС.
II.Программная модель процессора.
Программная модель (рис.2.1) включает в себя кольцевой стек из восьми регистров R0-R7, регистры слова тэгов TW , слова состояния SW и слова управления CW. В стеке хранятся числа в формате РТ. Вершина стека определяется полем ТОР слова состояния SW и обо-значается ST(0) или ST. На рисунке вершиной стека является физи-ческий регистр R3. ST(0) содержит последнее включённое в стек значение, регистр ST(1) предпоследнее и т.д. Включение в стек осу-ществляет декремент ТОР и загрузку в новую вершину стека. При извлечении из стека данное читается из ST(0), а затем производится декремент ТОР.
15 13 11 0
SW
*
C3 Т О Р
011
C2 C1 C0 Флажки
ошибок
15 0
CW *** RC PC Маски
TW
R0 ST(5)
T(5)
R1 ST(6) T(6)
R2 ST(7) T(7)
R3
Вершина стека ST(0) T(0)
R4 ST(1) T(1)
R5 ST(2) T(2)
R6 ST(3) T(3)
R7
ST(4)
T(4)
79 0 1 0
Рис.2.1. Программная модель процессора.
С каждым регистром стека ассоциируется двухбитный тэг, характе-ризующий хранимое число:
00 – нормализованное число;
01 – истинный нуль;
10 – денормализованное число;
11 – пустой регистр.
В слове состояния SW поле ТОР содержит адрес текущей вершины стека. Биты кода условия C0-C3 фиксируют результаты команд срав-нения, проверки и анализа. Восемь бит отведены для регистрации особых случаев (ошибок) (рис.2.2).
15 14 13 11 10 9 8 7 6 5 4 3 2 1 0
SW * C3 TOP C1 C0 ES SF PE UE OE ZE DE IE
Рис.2.2. Регистр SW
При выполнении команд с ПТ возможны следующие особые случаи:
- P – неточный результат (точность);
- U – антипереполнение;
- O – переполнение;
- D – денормализованный операнд;
- I – недействительная операция;
- Z – деление на нуль.
Особым случаям соответствуют флажки в слове состояния SW (рис.2.2): IE,ZE,DE,OE,UE,PE. При любом особом случае устанавли-вается бит суммарной ошибки ES, а также вырабатывается активный сигнал ошибки FERR.
В слове управления CW поле RC задаёт режим округления, когда формат получателя не позволяет точно представить результат. Пусть В - точный результат, А и С – ближайшие к нему представимые в за-данном формате числа: А
|
|