на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Проектирование процессора с плавающей точкой
p align="left">Произведение формируется в RG3.

Регистры операндов RG1 и RG2 и регистр произведения RG3 подразделяются на субрегистры знаков (S1, S2, S3), и порядков (Е1, Е2, Е3), и мантисс (М1, М2, М3).

Регистры мантисс расширены до 68 бит для увеличения точности вычислений. Окончательный результат округляется до 64 бит.

Схема обработки знаков вычисляет знак произведения S3=S1 S2. Сумматор SME вычисляет порядок произведения E3=E1+E2-16383. Умножение мантисс происходит с анализом младшего бита множителя со сдвигом множимого.

Умножение завершается нормализацией и округлением результата:

· Если произошло переполнение разрядной сетки мантиссы, то сдвиг вправо и инкремент E3 (нормализация вправо).

· Если произошло антипереполнение порядка, то сдвиг M3 вправо и обнуление E3 (денормализация).

· Округление M3 до 64 бит в зависимости от режима округления - поле RC (табл.5.1).

Таблица 5.1 - Округление результата

RC

Режим

r

Действие округления

00

01

К ближайшему вверх

R<1000

Отбросить младшие биты

R>=1000

Если старший отбрасываемый бит равен 1, то прибавить 1 к младшему сохраняемому биту, иначе отбросить младшие биты

10

11

Вниз

усечение

любое

Отбросить младшие биты

При умножении мантисс нормализованных чисел переполнение мантиссы возможно только на один бит и нормализация ограничивается одним сдвигом вправо. Денормализация выполняется как маскированная реакция на антипереполнение порядка (E3<0). Если E3>-64, M3 сдвигается на ABS(E3) битов вправо, а E3 обнуляется. Если E3<(-64) результат принимается равным нулю.

При нормализации возможны следующие особые случаи:

· При инкременте Е3 возникает переполнение порядка

· При декременте Е3 возникает антипереполнение порядка

При возникновении подобных случаев фиксируются следующие признаки результата:

· P - потеря точности;

· O - переполнение порядка;

· U - антипереполнение порядка;

· I - недействительная операция (при Т(0)=11 или Т(i)=11);

· D - денормализованный операнд (при Т(0)=10 или Т(i)=10).

Маскированные операции на особые случаи:

· O - запись кода бесконечности (Е3=11…1 и М3=1.00…0);

· U - запись кода нуля или денормализованного значения.

Схема операции FMul ST, ST(i) приведена на рис.5.1.

37

5.2. Алгоритм операции FSt m32real.

Порядок выполнения операции состоит из следующих этапов:

а) Чтение операнда из вершины стека ST(0) в БПФ;

б) Преобразование операнда из формата m80real в формат m32real;

в) Позиционирование операнда;

г) Запись в ОП.

1 этап. Чтение операнда из вершины стека ST(0) в БПФ.

Если регистр ST(0) непустой (Т(0)11), то читаем операнд в RGD=ST(0), иначе фиксируем недействительную операцию. Регистр операндов RGD подразделяется на субрегистры знака (S), порядка (E) и мантиссы (M).

2 этап. Преобразование операнда из формата m80real в формат m32real.

Преобразование начинается с проверки T(0) регистра слова тегов TW.

00 - нормализованное число;

01 - истинный нуль;

10 - денормализованное число;

Если число денормализовано или равно нулю, то результатом будет код нуля в формате ОТ.

Затем вычесть из смещенного порядка E разность смещений 16383-127 =16256. Если E > 254, то фиксируется особый случай переполнения O; если он не замаскирован, перейти к обработчику прерывания, если замаскирован - сформировать результат, равный наибольшему положительному или отрицательному числу, и закончить преобразование.

Если E < 1, то фиксируется особый случай антипереполнения U; если он не замаскирован, перейти к обработчику прерывания, если замаскирован - продолжить преобразование.

Если E < 23, произвести денормализацию числа - сдвинуть мантиссу на E битов вправо, округлить её и установить E=0, иначе проверить младшие отбрасываемые 40 бит мантиссы; если они не равны нулю, зафиксировать особый случай P (потеря точности); если особый случай не замаскирован, перейти к обработчику прерывания, если замаскирован - продолжить преобразование.

Далее округлить мантиссу до 24 бит в соответствии со значением поля RC; порядок округления описывается таблицей 5.1. Закончить преобразование, сдвинув мантиссу на 1 бит влево.

Преобразованное число находится в 79, 71-41 разрядах рабочего регистра RGD (рис. 5.2).

37

3 этап. Позиционирование операнда.

Позиционирование операнда - это размещение операнда в приемном регистре в некотором стандартном виде.

Переписываем операнд из регистра RGD в регистр REG (длина 32 бита) определенные разряды (рис 5.3).

37

REG[31] = RGD[79] - позиционирование знака.

REG[30:23] = RGD[71:64] - позиционирование порядка.

REG[22:0] = RGD[63:41] - позиционирование мантиссы.

Так как операнд имеет длину меньше, чем длина слова ОП, то REG позиционируют в RGRW в зависимости от байтов 0-2 адресного регистра EAR.

CASE EAR[0:1:2]

000: RGRW[31:0]:= REG;

001: RGRW[47:16]:= REG;

010: RGRW[63:32]:= REG;

011: RGRW[79:48]:= REG;

100: RGRW[95:64]:= REG;

101: RGRW[111:80]:= REG;

110: RGRW[127:96]:= REG;

111: INT.

4 этап. Запись в ОП.

MEM[EAR] = RGRW.

Схема операции FSt m32real приведена на рис. 5.4.

6. Структурные схемы блоков процессора

6.1. Блок памяти.

В курсовом проекте используется одноуровневая память данных емкостью 4Кб и длиной слова ОП 128 бит. Адрес данного к началу операции вычислен и находится в адресном регистре EAR. В операциях с ПТ минимальный размер данного 2 байта, поэтому адресация производится с точностью до двухбайтового слова W. Адрес содержит 11 бит, из них старшие 8 адресуют слово MW, а младшие 3 - слово W в MW.

В данном курсовом проекте адресуются данные длиной 32 бит. Они выбираются из ОП за одно обращение. Адресация памяти для заданного формата приведена на рис.6.1. Адрес двойного слова QW заканчивается битами 000,010,011, 100,101 или 110, но не 111. При выборке из ОП читается всегда полное слово MW в регистр чтения-записи RGRW[127:0]. Выделение из MW данных формата m32 происходит в БПФ.

W7

W6

W5

W4

W3

W2

W1

W0

7FF

m32

m32

m32

m32

7F8

7F7

m16

m32

m32

m32

m16

7F0

007

m16

m16

m16

m16

m16

m16

m16

m16

000

127 112

111 96

95 79

78 64

63 48

47 32

21 16

15 0

При записи данное должно быть размещено в ОП в соответствии со своим форматом и адресом, поскольку запись полного слова может привести к разрушению информации в соседних полях слова памяти. Для этого память выполнена в виде восьми банков Б7, Б6, …, Б0, которые хранят соответственно двухбайтовые слова W7, W6, …, W0 всех слов памяти. Управляют записью в банки биты разрешения записи Z7, Z6, …, Z0, формируемые в зависимости от трех младших бит адреса (таблица 6.1).

Таблица 6.1 - Формирование битов разрешения записи для формата m32

Младшие биты адреса EAR[0:1:2]

Биты разрешения

Z7

Z6

Z5

Z4

Z3

Z2

Z1

Z0

000

0

0

0

0

0

0

1

1

001

0

0

0

0

0

1

1

0

010

0

0

0

0

1

1

0

0

011

0

0

0

1

1

0

0

0

100

0

0

1

1

0

0

0

0

101

0

1

1

0

0

0

0

0

110

1

1

0

0

0

0

0

0

111

-

-

-

-

-

-

-

-

Схема организации памяти приведена на рис 6.2. Здесь БП - блок памяти (банки Б7-Б0), EAR - регистр исполнительного адреса, ФСРЗ - формирователь сигналов разрешения записи Z7-Z0. Схема управляется сигналами (битами МК) WR - запись, МЕМ - обращение к памяти.

6.2. Блок преобразования форматов.

При разработке алгоритма FSt m32real описаны основные действия в БПФ.

Укрупненная схема БПФ приведена на рис. 6.3.

Она включает в себя обратный (ОПФ) преобразователь форматов, коммутатор обратного (КОП) позиционирования со схемой управления СУОП. Коммутатор управляется сигналом EAR[0:1:2] и микрокодом формата данного FD.

Преобразователем управляют специальные последовательности микрокодов, вырабатываемые БМУ в зависимости от вида преобразования и его шага, а также от промежуточных результатов преобразования.

Структурная схема блока обратного преобразования форматов (ОПФ) из m80real в m32real для нормализованных чисел приведена на рис. 6.4.

На один вход сумматора SM1 подается константа -16256. На выходе SM1 получаем смещенный порядок E для формата m32real и передаем его в разряды 30:23 REG.

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.