Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Проектирование процессора с плавающей точкой

Тип Реферат
Предмет Информатика
Просмотров
1445
Размер файла
493 б
Поделиться

Ознакомительный фрагмент работы:

Проектирование процессора с плавающей точкой

Министерство Образования

Российской Федерации

РГРТА

Кафедра ЭВМ

Пояснительная записка к курсовому проекту по дисциплине

«Организация ЭВМ и систем»

по теме

«Проектирование процессора с плавающей точкой»

Выполнил студент гр.343

Савченко Н.

Проверил:

Юдинцев А.С.

Рязань 2004


Содержание

Техническое задание

Введение

1. Описание команд

1.1. FMul ST, ST(i) - умножение

1.2. FSt m32real - сохранение

2. Форматы данных

2.1. Внутренний формат

2.2. Внешний формат

2.3. Пример формата m80real

2.4. Пример формата m32real

3. Программная модель процессора

4. Блок – схема процессора

5. Алгоритмы операций

5.1. Алгоритм операции FMulSt,St(i)

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

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

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

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

6.3. Блок регистров

6.4. Блок обработки данных (блок умножения)

6.5. Блок микропрограммного управления

7. Моделирование операции FMul St,St(i)

Заключение

Список использованных источников


Техническое задание

FMul ST, ST(i) - умножение.

Команда умножения умножает операнды источника и получателя и возвращает произведение в получатель.

ST ← ST * ST(i)

Оба операнда находятся в регистровом стеке в формате 80real.

Умножение с анализом младшего бита множителя со сдвигом множимого.

Особые случаи: P, U, O, D, I.

FStm32real - сохранение.

m32real ← ST

Особые случаи: P, U, O, D, I.

Емкость ОП 4 Кбайт.

Длина слова памяти 128 бит.

Введение

С появлением процессора i486 и его сопроцессора FPU – сопроцессора с плавающей точкой, работа с вещественными числами стала аппаратной, а не программной задачей. Производительность ЭВМ увеличилась. Возможности использования ЭВМ в бухгалтерии и многих других областях деятельности человека дали толчок массовому внедрению их в повседневную жизнь. Были переписаны многие программы, компиляторы. Освоение архитектуры, принципов работы сопроцессора FPU стало для программистов едва ли не основной задачей.

В данной работе описываются команды, форматы данных ППТ, программная модель и почти все блоки процессора, рассматриваются алгоритмы выполнения заданных операций, а также моделирование одной арифметической операции на модели микропрограммируемого процессора (MICRO).

1. Описание команд

1.1. FMulST, ST(i) - умножение.

Команда умножения умножает операнды источника и получателя и возвращает произведение в получатель.

ST ← ST * ST(i)

Оба операнда находятся в регистровом стеке в формате 80real.

Умножение с анализом младшего бита множителя со сдвигом множимого.

Особые случаи:

P - неточный результат;

U - антипереполнение;

O - переполнение;

D - денормализованный операнд;

I - недействительная операция.

Формат команды представлен на рисунке 1.1

Адрес второго операнда определяется полем ST(i), которое принимает значения от 000 до 111, где 000 – вершина стека, 111 – восьмой элемент регистрового стека.

Бит R показывает, возвращается ли результат в вершину стека. В данном случае R = 0.

Бит P указывает, что после операции производится извлечение из стека. P = 0, так как извлечения нет.

1.2. FStm32real- сохранение.

Команда FSt m32real передает значение из регистра ST в ОП. Содержимое ST остается неизменным.

Особые случаи:

P - неточный результат;

U - антипереполнение;

O - переполнение;

D - денормализованный операнд;

I - недействительная операция.

Формат команды представлен на рисунке 1.2

Адрес операнда m32real определяется полями mod, r/m, SIB, Disp. Адрес вычисляется целочисленным процессором. К началу операции он уже сформирован. Бит [0] первого байта команды определяет тип операции.

В данном случае Бит [0] = 1 – передача данного из стека в память.

Поле MF определяет тип операнда. При m32realMF = 00.


2. Форматы данных

2.1. Внутренний формат.

Во внутренних операциях процессор с плавающей точкой (ППТ) использует представление вещественных чисел в формате с расширенной точностью (РТ, m80real) (рис.2.1). Длина формата 80 бит.

Значащие цифры числа находятся в поле мантиссы (М). Длина мантиссы 64 бита. Поле порядка (E) показывает фактическое положение двоичной точки в разрядах мантиссы. Длина порядка 15 бит. Бит знака (S) определяет знак числа. Мантисса представлена в прямом коде. Порядок задается в смещенной форме; он равен истинному порядку (П), увеличенному на значение смещения – смещ РТ = 16383:

E = П + смещ РТ

Истинный порядок изменяется от –16382 до 16383. Порядки 000…0b и 111…1b зарезервированы для специальных значений. Числа в формате РТ имеют явный бит F0.

Значение числа в формате РТ равно .

2.2. Внешний формат.

В данном курсовом проекте рассматривается один внешний формат m32real – формат обычной точности (ОТ) (рис.2.2). Длина формата 32 бита.


Значащие цифры числа находятся в поле мантиссы (М). Длина мантиссы 23 бита. Поле порядка (E) показывает фактическое положение двоичной точки в разрядах мантиссы. Длина порядка 8 бит. Бит знака (S) определяет знак числа. Мантисса представлена в прямом коде. Порядок задается в смещенной форме; он равен истинному порядку (П), увеличенному на значение смещения – смещ ОТ = 127:

E = П + смещ ОТ

Истинный порядок изменяется от –126 до 127. Порядки 000…0b и 111…1b зарезервированы для специальных значений. Явный бит F0 в формате ОТ отсутствует и мантисса оказывается правильной дробью.

Значение числа в формате ОТ равно .

2.3. Пример формата m80real.

Покажем представление десятичного числа 24789.8125 в формате РТ. Двоичный код числа равен 110000011010101.1101b, истинный порядок равен 14. Смещенный порядок E=14+16383=16397=100000000001101b. Число в формате РТ приведено на рис. 2.3.


2.4. Пример формата m32real.

Покажем представление десятичного числа -85.125 в формате ОТ. Двоичный код числа равен -1010101.001b, истинный порядок равен 6. Смещенный порядок E=6+127=133=10000101b. Число в формате ОТ приведено на рис. 2.4.

3. Программная модель процессора

Программная модель (рис. 3.1) включает в себя кольцевой стек из восьми регистров R0-R7, слово тэгов TW, слово состояния SW и слово управления CW. В стеке хранятся числа в формате РТ. В полях S, Е и М регистров записаны соответственно знак, порядок и мантисса. Вершина стека определяется полем TOP слова состояния SW и обозначается ST(0), или просто ST. На рисунке вершиной стека является физический регистр R3. ST(0) содержит последнее включенное в стек значение, регистр ST(1) предпоследнее и т.д. Включение в стек осуществляет декремент TOP и загрузку в новую вершину стека. При извлечении из стека данное читается из ST(0), а затем производится инкремент TOP.

С каждым регистром стека ассоциируется двухбитный тэг, характеризующий хранимое число:

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

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

10 - денормализованное число, бесконечность или неопределенность;

11 - пустой регистр.

В слове состояния SW поле TOP содержит адрес текущей вершины стека. Биты кода условия C0-C3 фиксируют результаты команд сравнения, проверки и анализа. Восемь бит отведены для регистрации особых случаев (ошибок) (рис.3.2).

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

·P – неточный результат (точность);

·U – антипереполнение;

·O – переполнение;

·D – денормализованный операнд;

·I – недействительная операция;

·Z – деление на нуль.

Особым случаям соответствуют флажки в слове состояния SW (рис.3.2): IE, ZE, DE, OE, UE, PE. При любом особом случае устанавливается бит суммарной ошибки ES, а также вырабатывается активный сигнал ошибки FERR.

В слове управления CW поле RCзадает режим округления, когда формат получателя не позволяет точно представить результат. Пусть B – точный результат, A и C – ближайшие к нему представимые в заданном формате числа: A<B<C. Поле RC задает режим округления:

00 – округление к ближайшему – выбор из А и С, ближайшего к В;

01 – округление вниз – А;

10 – округление вверх – С;

11 – усечение – меньшее из А и С по модулю.

Младшие 6 битов CW хранят маски особых случаев: IM, DM, ZM, OM, UM, PM(рис.3.3). Если бит маски установлен, прерывание при соответствующем особом случае не происходит. Если бит маски сброшен, происходит прерывание.

В данном курсовом проекте используются следующие особые случаи: P, U, O, D, I.

Недействительная операция.

Этот случай возникает при антипереполнении стека (попытка извлечения из пустого регистра) и переполнении стека (попытка включения в непустой регистр). Стековые операции распознаются по биту SF=1 в SW. При антипереполнении стека бит C1=0, С1=1 при переполнении. В операциях FStm32real и FMulSt, St(i) формируется особый случай I при попытке извлечения из пустого регистра.

Переполнение.

Возникает, когда округленный результат арифметической команды с преобразованием формата превышает наибольшее конечное число в формате получателя. Маскированная реакция зависит от режима округления.

Денормализованный операнд.

Возникает при попытке оперировать денормализованным операндом. Маскированная реакция – установка бита D и продолжение операции, при незамаскированном варианте операнды не изменяются, устанавливается бит D и вызывается обработчик особого случая.


4. Блок – схема процессора

На основании анализа заданных операций укрупненная блок-схема процессора представлена на рис 4.1. В него входят оперативная память ОП, блок преобразования форматов данных БПФ, блок регистров БР, блок обработки данных БОД, блок микропрограммного управления БМУ. БПФ и ОП связаны 128-битной шиной и через нее передаются данные в ОП в формате m32real. БПФ осуществляет обратное преобразование из формата PT в OТ.

БР включает в себя регистровый стек, регистры слов тэгов, управления и состояния. Из БР в БПФ передается операнд из вершины стека в формате РТ (операция FSt). Из БР в БОД передаются 2 операнда в формате РТ для операции умножения (FMul) и из БОД в БР передается результат операции умножения в формате РТ в вершину стека. В БОД осуществляется операция умножения.

Управление операциями осуществляется БМУ путем выборки последовательности микрокодов (МК). Обратная связь от БПФ, БР и БОД к БМУ обеспечивается через шину осведомительных сигналов ОС.

5. Алгоритмы операций

5.1. Алгоритм операции FMulSt,St(i).

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

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

б) Чтение операнда из ST(i) в БОД;

в) Операция умножения;

г) Запись результата умножения в стек ST(0).

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

Если регистр ST(0) непустой (Т(0)¹11), то читаем операнд в RGD=ST(0), а оттуда в рабочий регистр RG1.

2 этап. Чтение операнда из ST(i) в БОД.

Если регистр ST(i) непустой (Т(i)¹11), то читаем операнд в RGD=ST(i), а оттуда в рабочий регистр RG2.

3 этап. Операция умножения.

Первый операнд читается из вершины стека в рабочий регистр

RG1:RG1=ST(0).

Второй операнд читается из вершины стека в рабочий регистр RG2:

RG2=ST(i).

Произведение формируется в 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 - запись кода нуля или денормализованного значения.

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


Рисунок 5.1 – Схема операции FMulSt, St(i) (начало)

Рисунок 5.1 – Схема операции FMulSt, St(i) (окончание)

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

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

а) Чтение операнда из вершины стека 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).

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

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

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

79 71 64 63 41 0

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.

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

Рисунок 5.4 - Схема операции FStm32real (начало)

Рисунок 5.4 - Схема операции FStm32real (окончание)

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 происходит в БПФ.

W7W6W5W4W3W2W1W0
7FFm32m32m32m327F8
7F7m16m32m32m32m167F0
007m16m16m16m16m16m16m16m16000
127 112111 9695 7978 6463 4847 3221 1615 0
Рисунок 6.1 - Адресация памяти для формата m32

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

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

Младшие биты адреса EAR[0:1:2]Биты разрешения
Z7Z6Z5Z4Z3Z2Z1Z0
00000000011
00100000110
01000001100
01100011000
10000110000
10101100000
11011000000
111--------

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

Рисунок 6.2 – Схема организации памяти.

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

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

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

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

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

Рисунок 6.3 – Укрупненная схема БПФ.

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

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

Старшие разряды мантиссы M из регистра RGD передаются в регистр RGS1.

Осуществляем сдвиг регистра RGS1 на один разряд влево. В разряды 22-0 регистра REG передаем старшие разряды регистра RGS1. Знак S (79 разряд), передается в 31 разряд регистра REG без изменений.


6.3. Блок регистров.

Блок регистров БР (рис.6.5) включает в себя регистровый стек ST, регистр тэгов TW, регистр управления CW, регистр состояния SW, регистр 1-го операнда RGA, схему СхАиМ анализа и модификации TW, CW и SW, трехразрядный сумматор SM.

Выборка из ST происходит по шинам А и B, запись – только по шине А. ST имеет адресные входы A=TOP (адресует вершину стека) и B=TOP+i (адресует регистр ST(i)). Чтение происходит по сигналу RD. Если при этом подан сигнал разрешения обращения к ST(i) EI=1, чтение происходит одновременно по обоим адресам. Запись происходит по сигналу WR в ST(0) при EI=0 и в ST(i) при EI=1.

Схема анализа и модификации выполняет проверку и модификацию тэгов, установку битов особых случаев, проверку масок.

6.4. Блок обработки данных (блок умножения)

Обобщенная схема БОД.

БОД выполняет операцию умножения над поступающими на его входы операндами. Обобщенная схема БОД приведена на рис. 6.6.

В нее входят регистры RG1 и RG2 первого и второго операндов, компаратор COMP для сравнения операндов с кодами истинного нуля, блок выполнения операций БВО, регистр результата RGB. Константы для сравнения с операндом поступают на компаратор из ПЗУ констант в составе блока микропрограммного управления БМУ. БВО разделяют на схему обработки знаков, блок обработки порядков БОП, блок обработки мантисс БОМ и формирователь признака результата ФПР. Регистры RG1 и RG2 могут быть совмещены с регистрами RGA и RGB БР. Их используют для хранения исходных операндов.

Блок умножения.

На основании алгоритма операции FMulST,ST(i) разработан блок умножения Регистры операндов RG1 и RG2 и регистр произведения RG3 подразделяются на субрегистры знаков (S1, S2, S3), порядков (E1, E2, E3) и мантисс (М1, М2, М3). Регистры мантисс расширены до 68 бит для увеличения точности вычислений. Окончательный результат получается в RG3 округляется до 64 бит.

Структурная схема обработки знаков показана на рисунке 6.8. Знак результата определяется как S3=S1 + S2.

Рисунок 6.8. – Схема обработки знаков



Рисунок 6.7 – Блок умножения


Сумматор SME вычисляет порядок произведения E3=E1+E2-16383.

Умножитель мантисс умножает мантиссы по схеме с анализом младшего бита множителя со сдвигом множимого влево.

Вариант такой схемы приведен на рис. 6.9. Для организации цикла используется счетчик циклов CTT.

Умножение завершается нормализацией и округлением результата. Вариант схемы нормализации представлен на рис. 6.10, округления – на рис. 6.11.

Рисунок 6.9 – Структурная схема блока умножения мантисс


Рисунок 6.10 – Структурная схема блока нормализации


Рисунок 6.11 – Структурная схема блока округления


6.5. Блок микропрограммного управления

В состав БМУ (рис. 6.12) входят регистр команд RGК, регистр микрокоманд RGМК, схема управления последовательностью микрокоманд УПМ, мультиплексор кода условия МКУ; инвертор кода условия ИКУ, счетчик микрокоманд СМК, преобразователь кода операции ПКОп, мультиплексор адреса МК МУАД, память констант ПЗУК.

ПЗУ МК содержит микропрограммы выполняемых операций. RGМК хранит выбранную микрокоманду (микрокод) на время ее исполнения. В микрокоманде можно выделить часть, которая управляет операционными блоками - ОП, БПФ, БР, БОД, и часть, которая управляет самим БМУ. В МК, которая управляет БМУ входят следующие поля: CHA –управление адресом следующей МК, CC-определяет проверяемое логическое условие (ЛУ), I - бит инверсии условия, J- бит безусловного перехода, Адр/К (адреса/константы)- поле адреса или константы, которое содержит адрес следующей МК, адрес ПЗУ констант или небольшую константу К.

МКУ выделяет ЛУ, указанное СС, а ИКУ передает полученное значение Х на УПМ с инверсией или без нее в зависимости от бита I.

ПКОп преобразует код операции в начальный адрес НА микропрограммы этой операции или непосредственно в микрокод. УПМ управляет мультиплексором адреса МК МУАД в зависимости от полей CHA и J МК и значения условия Х.


Внешняя шина
Внутренняя шина БМУ

Рисунок 6.12 – Структурная схема БМУ



7. Моделирование операции FMulSt,St(i)

Основные этапы моделирования:

1) постановка задачи;

2) разработка схемы алгоритма;

3) распределение регистров;

4) микропрограмма заданного алгоритма (с коментариями);

5) значения исходных данных и результатов;

6) протокол изменения состояния основных элементов модели в режиме «микрокоманда» (трасса);

7) проверка вручную правильности результата.

1 этап. Постановка задачи.

Моделирование имеет целью проверку правильности алгоритма и его окончательную отладку.

Смоделировать операцию умножения мантисс двух вещественных чисел (FMulSt, St(i)). Умножение осуществляется с анализом младшего бита множителя со сдвигом множимого влево.

2 этап. Разработка схема алгоритма.

Схемы алгоритма представлены на рисунках 5.6 и 7.1.

3 этап. Распределение регистров.

Знак и характеристика первого числа хранятся в регистре BX (15ый бит – знак числа, биты 0-14 – характеристика), мантисса – в регистре BP. Знак и характеристика второго числа хранятся в регистре CX, мантисса – в регистре SI. Произведение получается в регистрах DX и DI (аналогично).

Также в микропрограмме используются дополнительные регистры RGQ и AX. AX- сначала для выделения знака числа, затем как маска. RGQ– младшая часть мантиссы второго операнда.

4 этап. Микропрограмма заданного алгоритма (с комментариями).

Микропрограмма по заданному алгоритму, с учетом распределения регистров представлена в таблице 7.1.

Рисунок 7.1. – Блок-схема алгоритма умножения


Таблица 7.1 – Микропрограмма операции FMulSt,St(i) (начало).

abmambmemsrcshnaluccxfdstwmjficcchaconst
MK0 AX=BX
30000100600400070000
MK1 AX=AX xor CX
10000100e00400070000
MK2 AX=AX & 8000h
00000500900400078000
MK3 DX=AX
02000100600400070000
MK4 BX=BX & 7FFFh
03000500900400077FFF
MK5 CX=CX & 7FFFh
01000500900400077FFF
MK6 BX=BX + CX
13000100300400070000
MK7 BX=BX – 3FFFh
03000500110400073FFF
MK8 DX= DX v BX RACT=Fh

Таблица 7.1 – Микропрограмма операции FMulSt,St(i) (окончание).

abmambmemsrcshnaluccxfdstwmjficcchaconst
32000100C0040006000F
MK9 AX=1
00000500600400070001
MK A RGQ=BP
05000160400000070000
MK B BP=0
05000500600400070000
MK C IF (SI & AX)=0 GOTO E
0600010090000013000E
MK D DI=DI+BP
57000100300400070000
MK E BP=L1(BP, RGQ)
050001A1400400070000
MK F SI=R1(SI) RACT=RACT-1 If RACT=0 GOTO C
0600012140040004000C
MK 10 DI=L1(DI)
07000181400400070000
MK 11 HALT
00000100600005070000

5 этап. Значения исходных данных и результатов.

Исходные данные:

1-ый операнд: 3FFFA000

BX = 3FFF

BP = A000

2-ой операнд: 3FFE C000

CX = 3FFE

SI = C000

Результат: 3FFEF000

DX = 3FFE

DI = F000


6 этап. Трасса программы (таблица 7.2).

Таблица 7.2 – Трасса программы.

AXBXBPCXSIDXDIRGQCMKRFIRACT
00003FFFA0003FFEC0000000000000000000000000
3FFF3FFFA0003FFEC0000000000000000001000000
00013FFFA0003FFEC0000000000000002100000
00003FFFA0003FFEC0000000000000003040000
00003FFFA0003FFEC0000000000000004040000
00003FFFA0003FFEC0000000000000005000000
00003FFFA0003FFEC0000000000000006100000
00007FFDA0003FFEC0000000000000007000000
00003FFEA0003FFEC0000000000000008100000
00003FFEA0003FFEC0003FFE00000000910000F
00013FFEA0003FFEC0003FFE00000000A10000F
00013FFEA0003FFEC0003FFE0000A000B0A000F
00013FFE00003FFEC0003FFE0000A000C04000F
00013FFE00003FFEC0003FFE0000A000E04000F
00013FFE00013FFEC0003FFE00004000F04000F
00013FFE00013FFE60003FFE00004000C0A000E
00013FFE00013FFE60003FFE00004000E04000E
00013FFE00023FFE60003FFE00008000F00000E
00013FFE00023FFE30003FFE00008000C00000D
00013FFE28003FFE00033FFE00000000C000001
00013FFE28003FFE00033FFE00000000D100001
00013FFE28003FFE00033FFE28000000E000001
00013FFE50003FFE00033FFE28000000F000001
00013FFE50003FFE00013FFE28000000C100000
00013FFE50003FFE00013FFE28000000D100000
00013FFE50003FFE00013FFE78000000E000000
00013FFEA0003FFE00013FFE78000000F000000
00013FFEA0003FFE00003FFE7800000010000000
00013FFEA0003FFE00003FFEF000000011000000
00013FFEA0003FFE00003FFEF000000012100000

7 этап. Проверка вручную правильности результата.

а) BX=3FFF BP=A000 =>

S1=0, E1=3FFF, M1=A000

П1=3FFF-3FFF=0

X=1,010*1=1,012=1,2510

б) CX=3FFF SI=C000 =>

S2=0, E2=3FFE, M2=C000

П2=3FFE-3FFF=-1

Y=0,11002=0,7510

в) X*Y=0,75*1,25= 0,9375=(15/16)10=0,11112

П3=-1, E3=3FFE, M1=1,1112=F00016

DX=3FFE, DI=F000

Заключение

Целью данного курсового проекта является разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486, изучение структуры сопроцессора FPU. В результате выполнения данной работы был расписан принцип выполнения операций, разработаны блок-схемы выполнения этих операций, построены структурные схемы основных блоков процессора.

Грамотная разработка подобных устройств дает необходимые первичные навыки будущим инженерам различных специальностей.

Список использованных источников

1. Григорьев В.Л. Микропроцессор i486. Архитектура и программирование (в четырех книгах). М.: ГРАНАЛ, 1993. 382 с.

2. Григорьев В.Л. Архитектура и программирование арифметического сопроцессора. М.: Энергоатомиздат, 1991.

3. Злобин В.К., Григорьев В.Л. Программирование арифметических операций в микропроцессорах: учебное пособие для технических вузов, М: Высш. шк., 1991, 303 с.

4. Исследование микропрограммируемого процессора: методические указания к лабораторным работам / РГРТА; Сост.: Волковыский В.Л., Елесина С.И., Никифоров М.Б. Рязань, 2001, 40 с.

5. Проектирование процессора с плавающей точкой: методические указания к лабораторным работам / РГРТА; Сост.: Волковыский В.Л., Елесина С.И. Рязань, 2003, 32 с.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно