Разработка спецпроцессора для выполнения операции сложения чисел, представленных в формате с плавающей точкой

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    358,51 Кб
  • Опубликовано:
    2013-07-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка спецпроцессора для выполнения операции сложения чисел, представленных в формате с плавающей точкой

Введение

Данный курсовой проект предназначен для закрепления у студентов теоретической базы и навыков логического проектирования узлов ЭВМ. Результат работы над курсовым проектом - синтезированный спецпроцессор, выполняющий заданную арифметическую операцию над двоичными числами в заданных кодах обработки и состоящий из двух основных блоков: операционного и управляющего автоматов.

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

1. Разработка функциональной схемы операционного автомата микросхемы специализированного процессора, выполняющего заданную арифметическую операцию

.1 Условное графическое изображение спецпроцессора

Функциональная схема, представленная на чертеже, выполняет операцию сложения двух чисел с фиксированной точкой. Числа A и В поступают в дополнительном немодифицированном коде. Сложение чисел выполняется в дополнительном немодифицированном коде. Результат поступает на выход спецпроцессора также в дополнительном немодифицированном коде.

Рис. 1

Входы D14-D8: значащие разряды числа А.

Вход D15 - знаковый разряд.

Вход D14 - старший значащий разряд.

числа A

Вход D8 - младший значащий разряд.

числа A

Входы D6 - D0: значащие разряды числа B.

Вход D7 - знаковый разряд числа B.

Вход D6 - старший значащий разряд.

числа B

Вход D0 - младший значащий разряд.

числа B

Вход RI: сигнал о готовности входных операндов.

Вход C: синхроимпульс.

Вход R: асинхронный вход сброса.

Выходы R6 - R0: значащие разряды результата.

Выход R7 - знаковый разряд результата.

Выход R6 - старший значащий разряд результата.

Выход R0 - младший значащий разряд результата.

Выход RО: сигнал о готовности результата.

Выход ER: сигнал о возникновении ошибки.

Выход OF: сигнал о возникновении переполнения.

1.2 Назначение и описание режимов работы функциональных узлов операционного автомата

Рис. 2 - RgA, RgA1

Эти регистры предназначены для хранения числа A. Являются 8-ми разрядными последовательно-параллельными сдвигающими регистрами (7 значащих и 1 знаковый разряд). Предназначены для приема, хранения и сдвигов в сторону младших разрядов числа А.

Рис. 3 - RgA, RgA1

Входы:-D0 - прямые входы регистров (D7 - знаковый разряд, D6 - старший значащий разряд, D0 - младший значащий разряд)- последовательный вход- разрешение параллельной записи

- сдвиг в сторону младших разрядов на один разряд.

Выходы:- знаковый разряд.- Q0 - значащие разряды.- старший значащий разряд.- младший значащий разряд.

Режим работы:

При подаче сигнала на вход S информация с входов D7-D0 записывается в регистр.

При подаче сигнала на вход сдвига происходит сдвиг содержимого регистра в сторону младших разрядов на один разряд, при этом в освободившийся разряд вдвигается знаковый разряд.

Рис. 4 - RgB

-ми разрядный последовательно-параллельный реверсивный регистр. (7 значащих и 1 знаковый разряд). Предназначены для приема, хранения и сдвига в сторону младших/старших разрядов числа B.

Входы:-D0 - прямые входы регистра.

(D7 - знаковый разряд, D6 - старший значащий разряд, D0 - младший значащий разряд).

 - сдвиг информации в сторону старших разрядов, при этом в Q0

вдвигается то, что находится на входе DI.

 - сдвиг информации в сторону младших разрядов. При этом в Q7 вдвигается то, что находится на входе DR.,DI - последовательные входы.- разрешение параллельной записи.

Выходы:- знаковый разряд.- Q0 - значащие разряды.- старший значащий разряд.- младший значащий разряд.

Рис. 5 - RgS

- 8-разрядный параллельный регистр, служит для хранения результата суммирования.

Входы:-D0 - параллельные входы записи.- разрешение параллельной записи.

Выходы:-Q0 - параллельные прямые выходы.

Рис. 6 - SM1

8-ми разрядный двоичный суматор.

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

Входы:

A7-A0 и B7-B0 - операнды;

C - входной перенос;

Выходы:

S7-S0 - параллельные прямые выходы(сумма операндов);

P - выход переноса.

Рис. 7 - SM2

-ми разрядный мультиплексор

Предназначен для выбора операции, сложения(+B) или вычитания(-B). При подаче на адресный вход Z сигнала «1» на выход мультиплексора коммутируются сигналы с входов 1.7-1.0, при подаче сигнала «0», на выход мультиплексора коммутируются сигналы с входов 0.7-0.0

Входы:

.7-0.0 - группа входов, на которые подается число +B.

.7-1.0 - группа входов, на которые подается число -B.- адресный вход.

Выходы:-Q0 - прямые выходы.

Таблица 1

Z

Выходные сигналы

0

Информация с входов 0.7-0.0

1

Информация с входов 1.7-1.0


Рис. 8 - MUX2

-ми разрядный мультиплексор.

Предназначен для выбора операции, сложения («вычитания») чисел A и B либо преобразования числа A. При подаче на адресный вход Z сигнала «1» на выход мультиплексора коммутируются сигналы с входов 1.7-1.0, при подаче сигнала «0», на выход мультиплексора коммутируются сигналы с входов 0.7-0.0.

Входы:

.7-0.0 - группа входов, на которые подается число записанное в регистре RgA1;

.7-1.0 - группа входов, на которые подается число +B либо -B;- адресный вход.

Выходы:-Q0 - прямые выходы.

Таблица 2

Z

Выходные сигналы

0

Информация с входов 0.7-0.0

1

Информация с входов 1.7-1.0


Рис. 9 - Элемент «или-не»

Схема преобразования числа в противоположное

Предназначена для преобразования числа B, для того чтобы организовать операцию вычитания чисел.

Элемент «ИЛИ-НЕ»

Служит для того чтобы определить является ли число A кратным 4. На вход элемента подаются два младших разряда числа A.

Рис. 10 - Схема обнаружения числа, которое по модулю меньше 0.5

Служит для того чтобы определить явявляется ли модуль числа записанного в RgB, меньшим чем 0.5. На вход схемы подается знаковый разряд числа и его старший значащий разряд.

Рис. 11 - Элемент «или-не» для обнаружения «0»

Предназначен для определения равенства нулю регистров RgA RgB. На входы элемента подаются значащие разряды числа записанного в одном из регистров(RgA, RgB).

Рис. 12 - Схема преобразования числа в противоположное

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

Рис. 13 - Схема определения переполнения регистра результата

Предназначена для определения переполнения регистра результата. Переполнение может возникнуть, когда знак результата противоположен знакам операндов и в случае нахождения разности чисел с разными знаками. На входы схемы подаются знаки чисел записанных в регистрах RgA, RgB, RgS и сигналы x3, x6. Сигнал x9 равный «1» сигнализирует о переполнении, таблица истинности данной функции представлена ниже (таблица 3).

Таблица 3

SgA

SgB

SgS

x3

x6

x9

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

1

0

0

1

0

0

1

0

1

1

0

0

1

1

0

1

0

0

1

1

1

1

0

1

0

0

0

0

0

1

0

0

1

0

0

1

0

1

0

0

0

1

0

1

1

0

0

1

1

0

0

0

0

1

1

0

1

0

0

1

1

1

0

0

0

1

1

1

1

0

1

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

0

0

1

0

0

1

1

0

1

0

1

0

0

0

1

0

1

0

1

1

1

0

1

1

0

0

1

0

1

1

1

0

1

1

0

0

0

1

1

1

0

0

1

1

1

1

0

1

0

1

1

1

0

1

1

1

1

1

1

0

0

0

1

1

1

0

1

0

1

1

1

1

0

0

1

1

1

1

1

0


ФАЛ описывающая осведомительный

сигнал x9:



Переполнение на наборе 10101 возникает потому что выполняется условие A>0, B-четное и выполняется операция А-0.5B, и при выполнении данной операции возникает сложение двух положительных чисел сумма которых превышает допустимую разрядность.

2. Разработка закодированной граф-схемы машинного алгоритма выполнения заданной арифметической операции

.1 Список используемых осведомительных сигналов X

микросхема сигнал процессор мультиплексор

RI - сигнал готовности входных операндов.- проверка условия «A - кратно 4-ем».- проверка условия А<0.

Х4 - проверка условия |B|<0.5.

Х5 - проверка условия B<0.

Х6 - проверка условия, «B - четное».- проверка условия B=0.- проверка условия A=0.

Х9 - проверка на переполнение регистра результата.

2.2 Список используемых управляющих сигналов Y

- разрешение выдачи результата.- сигнал о возникновении ошибки.- сдвиг содержимого регистра RgA в сторону младших разрядов.- запись операндов в регистры.-сдвиг содержимого регистра RgA1 в сторону младших разрядов.- сдвиг регистра RgВ в сторону старших разрядов.- сдвиг регистра RgВ в сторону младших разрядов.- сигнал на адресный вход мультиплексора MUX1, для выбора того, что будет подано на MUX2.- сигнал на адресный вход мультиплексора MUX2, для выбора того, что будет подано на сумматор SM2. Y10 - разрешение записи данных в регистр RgS. OF - сигнал о переполнение разрядной сетки.

2.3 Граф-схема машинного алгоритма

Рис. 14

2.4 Описание граф-схемы микропрограммы

. Начальная инициализация спецпроцессора.

. Проверка готовности операндов.

. Запись операндов в регистры RgA, RgA1, RgB.

. Проверка содержмого регистра RgB на равенство нулю. Если RgB=0, то выдаем сигнал об ошибке и переходим в конец микропрограммы.

. Проверка содержмого регистра RgA на равенство нулю. Если RgA=0, то выдаем сигнал об ошибке и переходим в конец микропрограммы, иначе переходим в 6.

. Проверка знака содержимого регистра RgB, если x5=1, то переходим в 8, иначе в 13.

. Проверка содержимого регистра RgA на кратность 4-ем, если содержимое регистра кратно четырем,переходим в 9, иначе в 13.

. Проверка условия |RgB|<0.5, если условие выполняется переходим в 10, иначе в 13.

. Сдвиг содержимого регистра RgA в сторону младших разрядов.

. Сдвиг содержимого регистра RgA в сторону младших разрядов, и сдвиг содержимого RgB в сторону старших разрядов.

. Запись в регистр RgS значения выражения 0.25RgA+2B.

. Проверка знака содержимого регистра RgA, если знак отрицательный, то переходим в 14, иначе в 16.

. Проверка знака содержимого RgB, если RgB>0, то переходим в 15, иначе в 17.

. Сдвиг содержимого регистра RgA1 в сторону младших разрядов.

. Запись в регистр RgS значения выражения 1.5A.

. Проверка знака содержимого регистра RgA, если RgA<0, то переходим в 24, иначе в 18.

. Проверка является ли содержимое регистра RgB четным, если RgB-кратно 2, то переходим в 19, иначе в 24.

. Сдвиг содержимого RgB в сторону младших разрядов.

. Запись в регистр RgS значения выражения A-0.5B.

. Проверка содержимого регистра RgS на переполнение, если x9=1, выдаем сигнал о переполнении и переходим в конец микропрограммы, иначе выдаем сигнал о готовности результата и переходим в конец микропрограммы.

. Выдача сигнала о переполнении.

. Выдача сигнала о готовности результата.

. Выдача сигнала об ошибке.

. Конец микропрограммы.

2.5 Таблица работы операционного автомата

Числа для проверки работы спецпроцессора[1]:= -76 В двоичной системе счисления: [A] пк = 1.1001100= -48 В двоичной системе счисления: [В] пк = 1.0110000

Представленные в кодах поступления:

[A] дк = 1.0110100

[В] дк = 1.1010000

Таблица 4 - Значения регистров автомата в каждом такте работы

RgA

RgВ

RgA1

RgS

1

0.0000000

0.0000000

0.0000000

0.0000000

2

1.0110100

1.1010000

1.0110100

0.0000000

3

1.0110100

1.1010000

1.0110100

0.0000000

4

1.0110100

1.1010000

1.0110100

0.0000000

5

1.0110100

1.1010000

1.0110100

0.0000000

6

1.0110100

1.1010000

1.0110100

0.0000000

7

1.0110100

1.1010000

1.0110100

0.0000000

8

1.0110100

1.1010000

1.0110100

0.0000000

9

1.1011010

1.1010000

1.0110100

0.0000000

10

1.1101101

1.0100000

1.0110100

0.0000000

11

1.1101101

1.0100000

1.0110100

1.0001101

12

1.1101101

1.0100000

1.0110100

1.0001101

13

1.1101101

1.0100000

1.0110100

1.0001101

14

1.1101101

1.0100000

1.0110100

1.0001101

15

1.1101101

1.0100000

1.0110100

1.0001101


Результат:

[R]дк = 1.0001101

[R]пк = 1.1110011

Переведем в десятичну систему счисления:

= -1* (20+21+24+25+26 ) = -1*(1+2+16+32+64)=-115.

Проверка:

.25А+2В=0.25*(-76) +2*(-48)= -19-96= -115.

Вывод: результат, выданный автоматом является верным.

3. Разработка функциональной схемы управляющего автомата микросхемы специализированного процессора

Данный управляющий автомат построен на основе принципа программного управления, с принудительной адресацией. Формат микрокоманды управляющего автомата представлен в табл. 5.

Таблица 5 - Формат микрокоманды управляющего автомата с принудительной адресацией

Адрес AD4-AD0(RgADR)

CX Q3-Q0(RgMK)

A0 Q13-Q9(RgMK)

A1 Q13-Q9(RgMK)

Y Q24-Q14(RgMK)

1 na

1 nx

1 na

1 na

1 ny


Адрес - адрес микрокоманды в памяти.- поле управления выбором опрашиваемого входного осведомительного сигнала xi;- поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал xi =1;- поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал xi =0;- выходные сигналы.- разрядность полей адреса следующей микрокоманды.- разрядность поля выбора входного сигнала.

Разрядности полей микрокоманды:= ù log2 nвх é = ù log2 12 é = 4 - разрядность поля выбора входного сигнала.вх - число входных осведомительных сигналов х;= ù log2 (nусл + nоп) é = ù log2 (12 + 11) é = 5 - разрядность полей адреса следующей микрокоманды.усл - число условных вершиноп - число операторных вершин;= k =11- разрядность поля выходных управляющих сигналов.- число выходных управляющих сигналов.= 4= 5= 11= 4+2*5+11=25[3]

Организация ПЗУ 32х25 (32*25=800 бит).

3.1 Описание функциональной схемы управляющего автомата

Управляющий автомат с программируемой логикой на ПЗУ с принудительной адресацией.

Рис. 15 - RgADR

Регистр адреса. Содержит адрес текущей микрокоманды.

Входы:

АD4-АD0 - прямые информационные входы;- асинхронный сброс регистра;- тактовый вход синхроимпульса.

Выходы:-Q0 - адресные выходы.

Рис. 16 - ROM

ПЗУ предназначено для хранения микропрограммы управляющего автомата. Организация 32x25.

При подаче адреса на адресные входы, на выходе появляются данные (выходной(ые) сигнал(ы), адрес микрокоманды «A0», адрес микрокоманды «A1», опрашиваемый сигнал) соответствующие микрокоманде поданной на вход.

Входы:-A0 - адресные входы

Выходы:-Q0 - выходы данных.-Q14 - выходы, содержащие управляющие сигналы для ОА.-Q9, Q8-Q4 - выходы, содержащие адреса для мультиплексора выбора следующего адреса.-Q0 - выходы, содержащие опрашиваемый осведомительный сигнал.

Рис. 17 - RgMK

Параллельный 25-ти разрядный регистр микрокоманды, содержит текущую микрокоманду из ПЗУ.

Входы:- D0 - прямые информационные входы.

Выходы:- Q14 - выходы, содержащие управляющие сигналы для ОА;- Q4, Q13 - Q9 - выходы, содержащие адреса для мультиплексора выбора следующего адреса;- Q0 - выходы, содержащие опрашиваемый осведомительный сигнал.- асинхронный сброс регистра;- тактовый вход синхроимпульса.

Рис. 18 - MUX ADR

Мультиплексор выбора следующего адреса. Выбирает адрес следующей микрокоманды в зависимости от значения на входе Z. Принцип работы мультиплексора показан в табл. 6

Входы:

.4-0.0-входы адреса микрокоманды «A0»

.4-1.0-входы адреса микрокоманды «A1»- адресный вход

Выходы:-Q0 - сигналы содержащие, коммутируемую информацию с одного из входов(0.4-0.0 или 1.4-1.0).

Таблица 6 - Принцип работы мультиплексора MUX ARD

Z

Выходные сигналы (Q4,Q3,Q2,Q1,Q0)

0

Информация с входов 0.7-0.0

1

Информация с входов 1.7-1.0


Рис. 19 - MUX X

Мультиплексор выбора осведомительного сигнала.

В зависимости от значения на входах D3-D0 выводит на выход значение осведомительного сигнала со входов 0-9.

Входы:-D0 - группа входов, на

которые подается адрес коммутируемого сигнала;

-9 - группа входов на которые поступают осведомительные сигналы

Выходы:- прямой выход.

Таблица 7 - Принцип работы мультиплексора MUX X

D3 D2 D1 D0

Выходной сигнал

0000

«0»

0001

RI

0010

X2

0011

X3

0100

X4

0101

X5

0110

X6

0111

X7

1000

X8

1001

X9


3.2 Таблица прошивки ПЗУ

Таблица 8 - Прошивка ПЗУ

Адрес

CX

A0

A1

Y

00000

0001

00000

00001

«0»

00001

0000

00010

00010

Y4

00010

0111

00011

10110

«0»

00011

1000

00100

10110

«0»

00100

0011

01011

00101

«0»

00101

0101

01011

00110

«0»

00110

0010

01011

00111

«0»

00111

0100

01011

01000

«0»

01000

0000

01001

01001

Y3

01001

0000

01010

01010

Y3, Y6

01010

0000

10011

10011

Y9, Y10

01011

0011

01111

01100

«0»

01100

0101

01101

01111

«0»

01101

0000

01110

01110

Y5

01110

0000

10011

10011

Y10

01111

0011

10000

10110

«0»

10000

0110

10110

10001

«0»

10001

0000

10010

10010

Y7

10010

0000

10011

10011

Y8, Y9,Y10

10011

1001

10101

10100

«0»

10100

0000

10111

10111

OF

10101

0000

10111

10111

RO

10110

0000

10111

10111

ER

10111

0000

00000

00000

«0»

11000

0000

00000

00000

«0»

11001

0000

00000

00000

«0»

11010

0000

00000

00000

«0»

11011

0000

00000

00000

«0»

11100

0000

00000

00000

«0»

11101

0000

00000

00000

«0»

0000

00000

00000

«0»

11111

0000

00000

00000

«0»


3.3 Таблица назначения адресных входов мультиплексора сигнала

Таблица 9

CX (входы MUX X)

Сигнал (выход MUX X)

0000

«0»

0001

RI

0010

X2

0011

X3

0100

X4

0101

X5

0110

X6

0111

X7

1000

X8

1001

X9


3.4 Требования к ПЗУ

Микропрограмма состоит из 32 строк по (5+4+5+5+11=30) бит. Общий объём памяти занимаемый микропрограммой:


То есть 800 бит. Организация 32x25.

Заключение

В данном курсовом проекте мною был разработан спецпроцессор для выполнения операции сложения чисел, представленных в формате с плавающей точкой. Были закреплены навыки синтеза операционного и управляющего автоматов и знания, полученные в ходе изучения данной дисциплины. Были рассмотрены основные стандарты ГОСТ и ЕСКД, которые используются при проектировании цифровой вычислительной техники.

Список литературы

1.   Постников А.И. «Методические указания по курсовому проектированию для студентов специальности 230101.65» Красноярск, 2011.

2.      Постников А.И. «Прикладная теория цифровых автоматов. Машинная арифметика» Красноярск 2003.

.        Постников А.И. «Теория автоматов и машинная арифметика» Красноярск 2006.

.        ГОСТ 2.743-91 «Единая система конструкторской документации. Обозначения условные в графических схемах. Элементы цифровой техники».

Похожие работы на - Разработка спецпроцессора для выполнения операции сложения чисел, представленных в формате с плавающей точкой

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!