Смекни!
smekni.com

Проектирование процессора с плавающей точкой (стр. 4 из 4)

a b ma mb mem src sh n alu ccx f dst wm jfi cc cha const
3 2 0 0 0 1 0 0 C 0 0 4 0 0 0 6 000F
MK9 AX=1
0 0 0 0 0 5 0 0 6 0 0 4 0 0 0 7 0001
MK A RGQ=BP
0 5 0 0 0 1 6 0 4 0 0 0 0 0 0 7 0000
MK B BP=0
0 5 0 0 0 5 0 0 6 0 0 4 0 0 0 7 0000
MK C IF (SI & AX)=0 GOTO E
0 6 0 0 0 1 0 0 9 0 0 0 0 0 1 3 000E
MK D DI=DI+BP
5 7 0 0 0 1 0 0 3 0 0 4 0 0 0 7 0000
MK E BP=L1(BP, RGQ)
0 5 0 0 0 1 A 1 4 0 0 4 0 0 0 7 0000
MK F SI=R1(SI) RACT=RACT-1 If RACT=0 GOTO C
0 6 0 0 0 1 2 1 4 0 0 4 0 0 0 4 000C
MK 10 DI=L1(DI)
0 7 0 0 0 1 8 1 4 0 0 4 0 0 0 7 0000
MK 11 HALT
0 0 0 0 0 1 0 0 6 0 0 0 0 5 0 7 0000

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

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

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

BX = 3FFF

BP = A000

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

CX = 3FFE

SI = C000

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

DX = 3FFE

DI = F000


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

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

AX BX BP CX SI DX DI RGQ CMK RFI RACT
0000 3FFF A000 3FFE C000 0000 0000 0000 0000 00 0000
3FFF 3FFF A000 3FFE C000 0000 0000 0000 0001 00 0000
0001 3FFF A000 3FFE C000 0000 0000 0000 2 10 0000
0000 3FFF A000 3FFE C000 0000 0000 0000 3 04 0000
0000 3FFF A000 3FFE C000 0000 0000 0000 4 04 0000
0000 3FFF A000 3FFE C000 0000 0000 0000 5 00 0000
0000 3FFF A000 3FFE C000 0000 0000 0000 6 10 0000
0000 7FFD A000 3FFE C000 0000 0000 0000 7 00 0000
0000 3FFE A000 3FFE C000 0000 0000 0000 8 10 0000
0000 3FFE A000 3FFE C000 3FFE 0000 0000 9 10 000F
0001 3FFE A000 3FFE C000 3FFE 0000 0000 A 10 000F
0001 3FFE A000 3FFE C000 3FFE 0000 A000 B 0A 000F
0001 3FFE 0000 3FFE C000 3FFE 0000 A000 C 04 000F
0001 3FFE 0000 3FFE C000 3FFE 0000 A000 E 04 000F
0001 3FFE 0001 3FFE C000 3FFE 0000 4000 F 04 000F
0001 3FFE 0001 3FFE 6000 3FFE 0000 4000 C 0A 000E
0001 3FFE 0001 3FFE 6000 3FFE 0000 4000 E 04 000E
0001 3FFE 0002 3FFE 6000 3FFE 0000 8000 F 00 000E
0001 3FFE 0002 3FFE 3000 3FFE 0000 8000 C 00 000D
0001 3FFE 2800 3FFE 0003 3FFE 0000 0000 C 00 0001
0001 3FFE 2800 3FFE 0003 3FFE 0000 0000 D 10 0001
0001 3FFE 2800 3FFE 0003 3FFE 2800 0000 E 00 0001
0001 3FFE 5000 3FFE 0003 3FFE 2800 0000 F 00 0001
0001 3FFE 5000 3FFE 0001 3FFE 2800 0000 C 10 0000
0001 3FFE 5000 3FFE 0001 3FFE 2800 0000 D 10 0000
0001 3FFE 5000 3FFE 0001 3FFE 7800 0000 E 00 0000
0001 3FFE A000 3FFE 0001 3FFE 7800 0000 F 00 0000
0001 3FFE A000 3FFE 0000 3FFE 7800 0000 10 00 0000
0001 3FFE A000 3FFE 0000 3FFE F000 0000 11 00 0000
0001 3FFE A000 3FFE 0000 3FFE F000 0000 12 10 0000

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