Помощь в написании студенческих работ
Антистрессовый сервис

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

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

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

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

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

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

Входы:

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

DR — последовательный вход

S — разрешение параллельной записи

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

Выходы:

Q7 — знаковый разряд.

Q6 — Q0 — значащие разряды.

Q6 — старший значащий разряд.

Q0 — младший значащий разряд.

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

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

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

Рис. 4 — RgB

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

Входы:

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

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

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

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

— сдвиг информации в сторону младших разрядов. При этом в Q7 вдвигается то, что находится на входе DR.

DR, DI — последовательные входы.

S — разрешение параллельной записи.

Выходы:

Q7 — знаковый разряд.

Q6 — Q0 — значащие разряды.

Q6 — старший значащий разряд.

Q0 — младший значащий разряд.

Рис. 5 — RgS

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

Входы:

D7-D0 — параллельные входы записи.

S — разрешение параллельной записи.

Выходы:

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

Рис. 6 — SM1

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

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

Входы:

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

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

Выходы:

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

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

Рис. 7 — SM2

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

Входы:

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

1.7−1.0 — группа входов, на которые подается числоB.

Z — адресный вход.

Выходы:

Q7-Q0 — прямые выходы.

Таблица 1

Z

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

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

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

Рис. 8 — MUX2

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

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

Входы:

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

1.7−1.0 — группа входов, на которые подается число +B либоB;

Z — адресный вход.

Выходы:

Q7-Q0 — прямые выходы.

Таблица 2

Z

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

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

Информация с входов 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

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

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

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

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

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

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

X2 — проверка условия «A — кратно 4-ем».

X3 — проверка условия А<0.

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

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

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

X7 — проверка условия B=0.

X8 — проверка условия A=0.

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

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

RO — разрешение выдачи результата.

ER — сигнал о возникновении ошибки.

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

Y4 — запись операндов в регистры.

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

Y6 — сдвиг регистра RgВ в сторону старших разрядов.

Y7 — сдвиг регистра RgВ в сторону младших разрядов.

Y8 — сигнал на адресный вход мультиплексора MUX1, для выбора того, что будет подано на MUX2.

Y9 — сигнал на адресный вход мультиплексора MUX2, для выбора того, что будет подано на сумматор SM2. Y10 — разрешение записи данных в регистр RgS. OF — сигнал о переполнение разрядной сетки.

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

Рис. 14

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

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

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

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

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

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

6. Проверка знака содержимого регистра RgA, если x3=1, то переходим в семь, иначе в 13.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Числа для проверки работы спецпроцессора[1]:

A = -76 В двоичной системе счисления: [A] пк = 1.1 001 100

B = -48 В двоичной системе счисления: [В] пк = 1.110 000

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

[A] дк = 1.110 100

[В] дк = 1.1 010 000

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

RgA

RgВ

RgA1

RgS

0.0

0.0

0.0

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.110 100

1.1 010 000

1.110 100

0.0

1.1 011 010

1.1 010 000

1.110 100

0.0

1.1 101 101

1.100 000

1.110 100

0.0

1.1 101 101

1.100 000

1.110 100

1.1 101

1.1 101 101

1.100 000

1.110 100

1.1 101

1.1 101 101

1.100 000

1.110 100

1.1 101

1.1 101 101

1.100 000

1.110 100

1.1 101

1.1 101 101

1.100 000

1.110 100

1.1 101

Результат:

[R]дк = 1.1 101

[R]пк = 1.1 110 011

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

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

Проверка:

0.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

Адрес — адрес микрокоманды в памяти.

CX — поле управления выбором опрашиваемого входного осведомительного сигнала xi;

A1 — поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал xi =1;

A0 — поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал xi =0;

Y — выходные сигналы.

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

nx — разрядность поля выбора входного сигнала.

Разрядности полей микрокоманды:

nx = log2 nвх = log2 12 = 4 — разрядность поля выбора входного сигнала.

nвх — число входных осведомительных сигналов х;

na = log2 (nусл + nоп) = log2 (12 + 11) = 5 — разрядность полей адреса следующей микрокоманды.

nусл — число условных вершин

nоп — число операторных вершин;

nY = k =11- разрядность поля выходных управляющих сигналов.

k — число выходных управляющих сигналов.

nx = 4

na = 5

nY = 11

S1= 4+2*5+11=25[3]

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

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

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

Рис. 15 — RgADR

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

Входы:

АD4-АD0 — прямые информационные входы;

R — асинхронный сброс регистра;

C — тактовый вход синхроимпульса.

Выходы:

Q4-Q0 — адресные выходы.

Рис. 16 — ROM

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

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

Входы:

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

Q24-Q0 — выходы данных.

Q24-Q14 — выходы, содержащие управляющие сигналы для ОА.

Q13-Q9, Q8-Q4 — выходы, содержащие адреса для мультиплексора выбора следующего адреса.

Q3-Q0 — выходы, содержащие опрашиваемый осведомительный сигнал.

Рис. 17 — RgMK

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

Входы:

D24 — D0 — прямые информационные входы.

Выходы:

Q24 — Q14 — выходы, содержащие управляющие сигналы для ОА;

Q8 — Q4, Q13 — Q9 — выходы, содержащие адреса для мультиплексора выбора следующего адреса;

Q3 — Q0 — выходы, содержащие опрашиваемый осведомительный сигнал.

R — асинхронный сброс регистра;

C — тактовый вход синхроимпульса.

Рис. 18 — MUX ADR

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

Входы:

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

1.4−1.0-входы адреса микрокоманды «A1»

Z — адресный вход Выходы:

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

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

Z

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

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

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

Рис. 19 — MUX X

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

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

Входы:

D3-D0 — группа входов, на которые подается адрес коммутируемого сигнала;

0−9 — группа входов на которые поступают осведомительные сигналы Выходы:

Q — прямой выход.

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

D3 D2 D1 D0

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

«0»

RI

X2

X3

X4

X5

X6

X7

X8

X9

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

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

Адрес

CX

A0

A1

Y

«0»

Y4

«0»

«0»

«0»

«0»

«0»

«0»

Y3

Y3, Y6

Y9, Y10

«0»

«0»

Y5

Y10

«0»

«0»

Y7

Y8, Y9, Y10

«0»

OF

RO

ER

«0»

«0»

«0»

«0»

«0»

«0»

«0»

«0»

«0»

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

Таблица 9

CX (входы MUX X)

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

«0»

RI

X2

X3

X4

X5

X6

X7

X8

X9

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

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

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

Заключение

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

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

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

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

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

Показать весь текст
Заполнить форму текущей работой