Рефераты

Курсовая: Разработка процессора с плавающей точкой

Регистр микрокоманд
П
БПФ
БР
БВО
Адр/К
СНА
СС
I
J

Курсовая: Разработка процессора с плавающей точкой

Рис.6.10. Структурная схема БМУ. VII. Моделирование операций. 1.) Постановка задачи. Написать программу деления двух чисел в формате 80real на эмуляторе MICRO. 2.) Разработка схемы алгоритма.
Курсовая: Разработка процессора с плавающей точкой
Блок-схема: решение: CX=0 1

Курсовая: Разработка процессора с плавающей точкой

Курсовая: Разработка процессора с плавающей точкой
0
DI=SI
Курсовая: Разработка процессора с плавающей точкой
CS=SHL(DX)
Курсовая: Разработка процессора с плавающей точкой Курсовая: Разработка процессора с плавающей точкой Курсовая: Разработка процессора с плавающей точкой
DI=SHL(BX)
BP=BP xor DI
DI=DI and DX
Курсовая: Разработка процессора с плавающей точкой Курсовая: Разработка процессора с плавающей точкой
DI=SI
BP=DI
DI=DI and BX
Курсовая: Разработка процессора с плавающей точкой
Курсовая: Разработка процессора с плавающей точкой
Блок-схема: узел: 2
Блок-схема: решение: N 0 1
Курсовая: Разработка процессора с плавающей точкой Курсовая: Разработка процессора с плавающей точкой
Блок-схема: узел: 3Блок-схема: узел: 6

Курсовая: Разработка процессора с плавающей точкой

Курсовая: Разработка процессора с плавающей точкой

Курсовая: Разработка процессора с плавающей точкой

Блок-схема: решение: RACT=0 0
Курсовая: Разработка процессора с плавающей точкой Курсовая: Разработка процессора с плавающей точкой 1 Блок-схема: альтернативный процесс: конец 3.) Распределение регистров. AX – Хранит мантиссу делимого. BX – Старший бит хранит знак делимого, а остальные 15 бит хранят порядок делимого в смещённой форме. CX – Хранит мантиссу делителя. DX – Старший бит хранит знак делителя, а остальные 15 бит хранят порядок делителя в смещённой форме. SP – Предназначен для хранения мантиссы частного. BP – Предназначен для хранения знака и порядка частного. Старший бит – знак, а остальные 15 бит – порядок в смещённой форме. SI – Хранит маску: 8000h. DI – Временный (вспомогательный) регистр. CS – Временный (вспомогательный) регистр. 4.) Микропрограмма заданного алгоритма (с комментариями).
МКabmambmemsrcshaluccxfdstwmjficcchaconst
0100001060100213001C
16700010600400070000
23700010900400070000
37500010600400070000
46700010600400070000
52700010900400070000
67500010E00400070000
73700018600400070000
82800018600400070000
98700010110400070000
A0700012400400070000
B0700050300400073FFF
C7500010300400070000
D0400050600400070000
E0700012600400070000
F7700012600400070000
101800012600400070000
118800012600400070000
12000000000000006000F
138700010110400070000
147000010601002230018
150400018400400070000
160400050300400070001
17000000000000403001A
180400018400400070000
198700010300400070000
1A0700018400400070000
1B0000000000000040013
1C0000000000005070000
1D0000010600000070000
1E0000010600000070000
1F0000010600000070000
МК 0: IF CX = 0 THEN GOTO МК 1C; МК 1: DI := SI; МК 2: DI := DI AND BX; МК 3: BP := DI; МК 4: DI := SI; МК 5: DI := DI AND DX; МК 6: BP := BP XOR DI; МК 7: DI := SHL(BX); МК 8: CS := SHL(DX); МК 9: DI := DI – CS; МК A: DI := SHR(DI); МК B: DI := DI + 3FFF; МК C: BP := BP + DI; МК D: SP := 0; МК E: DI := SHR(AX); МК F: DI := SHR(DI); МК 10: CS := SHR(CX); МК 11: CS := SHR(CS); МК 12: RACT := F; МК 13: DI := DI – CS; МК 14: IF N = 1 THEN GOTO МК 18; МК 15: SP:= SHL(SP); МК 16: SP := SP + 1h; МК 17: GOTO МК 1A; МК 18: SP := SHL(SP).0; МК 19: DI := DI + CS; МК 1A: DI := SHL(DI); МК 1B: RACT := RACT – 1h; IF RACT ¹ 0 THEN GOTO МК 13; МК 1C: STOP; МК 1D: «Пустая» команда; МК 1E: «Пустая» команда; МК 1F: «Пустая» команда. 4.) Значение исходных данных и результатов. В качестве примера работы программы разделим два числа: – 15 и 3. В результате должны получить – 5. 15 = Fh = 11112-10; 3 = 3h = 00112-10; 5 = 5h = 01012-10.

Курсовая: Разработка процессора с плавающей точкой

Начальное состояние регистров: AX = F000h; SP = FFFFh; CS = FFFFh; IP = 0000h; BX = C002h; BP = FFFFh; SS = 0000h; PSW = 0000h; CX = C000h; SI = 8000h; DS = 0000h; RGK= 0000h; DX = 4000h; DI = FFFFh; ES = 0000h; RW = 0000h.

Курсовая: Разработка процессора с плавающей точкой

Состояние регистров после выполнения программы деления: AX = F000h; SP = A000h; CS = 3000h; IP = 0000h; BX = C002h; BP = C001h; SS = 0000h; PSW = 0000h; CX = C000h; SI = 8000h; DS = 0000h; RGK= 0000h; DX = 4000h; DI = 0000h; ES = 0000h; RW = 0000h. 5.) Трасса.
шагСМКAXBXCXDXSPBPSIDICS
00F000C002C0004000FFFFFFFF8000FFFFFFFF
11F000C002C0004000FFFFFFFF8000FFFFFFFF
22F000C002C0004000FFFFFFFF80008000FFFF
33F000C002C0004000FFFFFFFF80008000FFFF
44F000C002C0004000FFFF800080008000FFFF
55F000C002C0004000FFFF800080008000FFFF
66F000C002C0004000FFFF800080000000FFFF
77F000C002C0004000FFFF800080000000FFFF
88F000C002C0004000FFFF800080008004FFFF
99F000C002C0004000FFFF8000800080048000
10AF000C002C0004000FFFF8000800000048000
11BF000C002C0004000FFFF8000800000028000
12CF000C002C0004000FFFF8000800040018000
13DF000C002C0004000FFFFC001800040018000
14EF000C002C00040000000C001800040018000
15FF000C002C00040000000C001800078008000
1610F000C002C00040000000C00180003C008000
1711F000C002C00040000000C00180003C006000
1812F000C002C00040000000C00180003C003000
1913F000C002C00040000000C00180003C003000
2014F000C002C00040000000C00180000C003000
2115F000C002C00040000000C00180000C003000
2216F000C002C00040000000C00180000C003000
2317F000C002C00040000001C00180000C003000
241AF000C002C00040000001C00180000C003000
251BF000C002C00040000001C001800018003000
2613F000C002C00040000001C001800018003000
2714F000C002C00040000001C0018000E8003000
2818F000C002C00040000001C0018000E8003000
2919F000C002C00040000002C0018000E8003000
301AF000C002C00040000002C001800018003000
311BF000C002C00040000002C001800030003000
3213F000C002C00040000002C001800030003000
3314F000C002C00040000002C001800000003000
3415F000C002C00040000002C001800000003000
3516F000C002C00040000004C001800000003000
3617F000C002C00040000005C001800000003000
371AF000C002C00040000005C001800000003000
381BF000C002C00040000005C001800000003000
3913F000C002C00040000005C001800000003000
4014F000C002C00040000005C0018000D0003000
...........
1171CF000C002C0004000A000C001800000003000
1181DF000C002C0004000A000C001800000003000
Работа микропрограммы и алгоритма в целом были проверены также и при делении числа 20 на число 10. В результате деления этих чисел должны были получить число 2. Точно такой же результат был получен при делении этих чисел по вышеописанному алгоритму и реализованному в микрокомандах на эмуляторе MICRO. Отсюда можно сделать вывод, что алгоритм работает правильно, и микропрограмма написана верно. Заключение. Целью данного курсового проекта являлась разработка процессора с плавающей точкой. В результате проделанной работы процессор был разработан. Примечания. В данной пояснительной записке могут встречаться опечатки и неточности, а также некоторые «лишние» слова и блоки. Вполне вероятно, что в распечатанном варианте все или почти все опечатки, неточности и ошибки исправлены «от руки». При разработке процессора с плавающей точкой использовались лекции по данной дисциплине, методические указания, а так же примерный вариант данной курсовой работы. Данная пояснительная записка имеется также в полной форме в электронном виде. Тексты, схемы алгоритмов, таблицы, структурные схемы и т. п. были набраны, нарисованы и начерчены при помощи программы Microsoft Word 97. Никакие другие программы при написании данной пояснительной записки не использовались. Микропрограмма написана для эмулятора микропрограммируемого процессора версии MICRO_BT. Дата написания: 27 декабря 2002г. Время: 3:33. Подпись разработчика:

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


© 2010 БИБЛИОТЕКА РЕФЕРАТЫ