Смекни!
smekni.com

Проектирование процессора ЭВМ с архитектурой IA-32 (стр. 8 из 9)

На адресные входы Aи B может подаваться любая четырёх битная комбинация, так как все регистры в БПТ рабочие, а стек вынесен за пределы БПТ.

Таблица 5.9 – Значение полей А/В.

Значение Регистр
0000 Р1з
0001 Р1м
0010 РСМз
0011 РСМм
0100 СчТ
0101 РПТ1
0110 РПТ2
0111 РПТ3
1000 РПТ4
10001 РПТ5
1010 РПТ6
1011 РПТ7
1100 РПТ8
1101 РПТ9
1110 РПТ10
1111 РПТ11

5.1.3 Зона БМУ.

Поле УСА ( управление следующим адресом) принимает значение E по умолчанию, что соответствует последовательному выполнению команд. Для условного перехода в него записывается значение 3.

Поле П разрешает безусловный переход по адресу, записанному в АП.

Поле УСЛ отвечает за выбор условия перехода.

ФУ - фиксация флагов.

И - инверсия условия.

RLD – разрешение записи в Cч/РгА.

ВБ - выбор секции, для которой анализируются условия. 0 – для БФТ, 1 - для БПТ.

АП – адрес перехода. Адрес перехода размещён в отдельном поле, а не с поле CONST, так как поле CONSTможет использоваться для записи какой-либо константы и одновременно нужно организовать переход по адресу. Поэтому эти поля разделены.

УСЛ Переход
000 Переход по паритету PF0 = 1
001 При равенству 0 Z =1
010 При отрицат. знак N = 1
011 При переполнении V = 1
100 При переносе C = 1
101 Если меньше N + V = 1
110 Если меньше или равно Z v (N + V ) = 1
111 Если меньше или равно без знака C v Z = 1

Таблица 5.10 - Поле УСЛ.

5.1.4 Зона БИНТ.

Поле БФТ БИНТ

Источником данных для шины DA БФТ могут быть поле CONST из РгМк, операнд из РгЧтОП, передаваемый через мультиплексор MUXРежЧ, а также выход БПТ через DMXDYПТ.

Таблица 5.11 – MUXDAФТ.

MUXDAФТ Источник
00 CONST из РгМК
01 MUXРежЧ
10 DMXDYПТ

Источником данных для шины DB БФТ может быть непосредственный операнд из РгК(8:15), СчАК( для инкремента), смещение из РГК(16:23) или РгК(16:31) и порядок из БПТ через MUXSTPor.

Таблица 5.12 – MUXDBФТ.

MUXDBФТ Источник
000 РгК(8:15)
001 СчАК
010 РгК(16:23)
011 РгК(16:31)
100 MUXSTPor

Выходом БФТ могут быть шина DA БПТ через MUXDAПТ, РгАД, СчАК или РГЗпОП через MUXЗП

Таблица 5.13 – DMXDYФТ.

DMXDYФТ Направление
00 MUXDAПТ
01 РгАД
10 СчАК
11 MUXЗП

Выходом шины DB может быть либо РгЗпОП через MUXЗП, либо разряд порядка мантиссы для стекового регистра через DMXSTPor

Таблица 5.14 – DMXDBФТ.

DMUXDBФТ Направление
0 MUXЗП
1 DMXSTPor

Поле БПТ БИНТ

Источником данных для шины DA БПТ могут быть поле CONST из РгМк, и выход Y БПТ через DMXDYФТ.

Таблица 5.15 – MUXDAПТ.

MUXDAПТ Источник
0 CONST из РгМК
1 DMXDYФТ

Выходами шины DY БПТ могут быть входная шина DAБФТ через MUXDAФТ, разряды стека, где хранится мантисса ( через DMXSTMan) и разряды стека, где хранится знак ( через DMXSTZn)

Таблица 5.16 – DMXDYПТ.

DMXDYПТ Направление
00 MUXDAФТ
01 DMXSTMan
10 DMXSTZn

Входаvи шины DBмогут быть либо мантисса через MUXSTManили знак через MUXSTZn.

Таблица 5.17 – MUXDBПТ.

MUXDBПТ Направление
0 MUXSTMan
1 MUXSTZn

Поле ОП БИНТ

Входами мультиплексора записи MUXЗП могут быть выходы шины DB, DY,СчАК ( при сохранении при прерывании) и ССП( CR0) по той же причине.

Таблица 5.18 – MUXЗП.

MUXЗП Источник
000 DMXDBФТ

001 DMXDYФТ
010 СчАК
011 ССП (CR0)
100 EFLAGS

Таблица 5.18 (продолжение)

Запись в РгК может вестись либо напрямую из РгЧтОП, либо через РгБ. Для выбора необходимых байтов используется MUXЧ после которого и идёт запись в РгК. Иначе же ведётся запись из РгБ через соответствующие мультиплексоры.

Таблица 5.19 – DMXОП.

DMXОП Направление
0 РгБ
1 MUXЧ

Входом записи РгК могут быть РгБ через MUXБ или РгЧтОП через MUXЧ. Выбор источника осуществляется в MUXБЧ

Таблица 5.20 –MUXБЧ.

MUXБЧ Источник
0 MUXБ
1 MUXЧ

Мультиплексор MUXСА выбирает, откуда будет произволиться запись в РАОП – из СчАК или РгАД.

Таблица 5.21 –MUXСА.

MUXСА Источник
0 СчАК
1 РгАД

Также в поле БИНТ есть поле Рг. В нём определяется в какие из регистров возможна запись. Это регистры СчАК, РгК, РгАД, РгБ.

5.1.5 Зона ОП

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

Сигнал CS определяет выбрана ли ОП или нет. Сигналы R/W задают соответственно чтение из ОП в РгЧтОП или запись в РгЗпОП соответственно.

Также зона разрешает запись.

Таблица 5.22– Зона ОП

CS R/W Режим работы ОП
0 0 нет доступа
0 1 нет доступа
1 0 ОП := РгЗпОП
1 1 РгЧтОП := ОП

5.1.6 Зона CONST

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

5.2 Микропрограмма операции обработки чисел в формате с плавающей точкой

Микропрограмма команды FIADD.

Адрес Содержание МК Зона Поле Значение Примечание
00 Если РСМм(63)=0, то переход БПТБМУ ВИСТАЛУУВПРЕЗУСЛУСААП 40400232 РСМмРгА, РгВS+C00Без записиN=1Усл. Пер.Адрес п-да.
01 РСМм=LLS(РСМм, 1)РСМр=РСМр+1 БФТБПТБМУ ВУВПАЛУВСДВБУАП 16154910 РСМрС0=1S+C0РСМмЛС влевоБезусл.п-дАдрес перехода
02 РСМр=403Eh-РСМр БФТCONST ВАЛУИСТУВП 16241403Eh РСМрR-S-1+C0DAC0=1
03 РСМр=РСМр-Р1р БФТ АВАЛУУВП 151611 Р1рРСМрS-R-1+C0C0=1
04 СчТ=РСМр БФТБПТБИНТ АВИСТРЕЗMUXDAПТDMXDYФТ 1655110 РСМрСчТDAРЗУС вых. ФТНа БПТ
05 Если N=1, то переход БМУ УСЛУСААП 2311 N=1Усл. пер.Адрес пер.
06 Если РСМр>3FFFh, то переход БФТБМУCONST ВАЛУИСТРЕЗУВПУСЛИУСААП 1614615131Е3FFFh РСМрS-R-1+C0DAБез записиС0=1Zv (N+V)ИнверсияУсл. пер.Адрес пер.
07 Если РСМр=0, то переход БФТБМУCONST ВАЛУИСТРЕЗУВПУСЛУСААП 16146113130 РСМрS-R-1+C0DAБез записиС0=1Z=1Усл. пер.Адрес пер.
08 Если РСМр>0, то переход БФТБМУCONST ВАЛУИСТРЕЗУВПУСЛИУСААП 1614616130D0 РСМрS-R-1+C0DAБез записиС0=1Zv (N+V)ИнверсияУсАдрес Адрес пер.
09 Если СчТ<>0, то переход БПТБМУCONST ВАЛУИСТРЕЗУВПУСЛИУСААП 514611130В0 СчТS-R-1+C0DAБез записиС0=1РавныИнверсияУсл. пер.Адрес пер.
0A РСМр=Р1р БФТБМУ АВБУАП 1516113 Р1рРСМрБезусл. пер.Адрес пер.
0B РСМм=ARS(РСМм,1) БПТ ВСДВ 40 РСМмАС вправо
0C СчТ=СчТ+1 БПТБМУ ВАЛУУВПБУАП 541109 СчТS+C0С0=1Безусл. пер.Адрес перехода
0D Если СчТ<>0, то переход БПТБМУCONST ВАЛУИСТРЕЗУВПУСЛИУСААП 514611130F0 СчТS-R-1+C0DAБез записиС0=1РавныИнверсияУсл. пер.Адрес пер.
0E РСМр=РСМр+Р1р БФТБМУ АВАЛУУВПБУАП 151630113 Р1рРСМрR+S+C00Безусл. пер.Адрес пер.
0F Р1м=ARS(Р1м, 1) БПТ ВСДВ 20 Р1рАС вправо
10 СчТ=СчТ-1 БПТБМУCONST ВАЛУИСТУВПБУАП 514110D1 СчТS-R-1+C0DAC0=1Безусл. пер.Адрес пер.
11 Если РСМр<FFFFB000h, то переход БФТБМУCONST ВАЛУИСТРЕЗУСЛУСААП 161465307FFFFB000h РСМрS-R-1+C0DAБез записиЕсл.меньшеУсл. пер.Адрес пер.
12 РСМм=РСМм+Р1мРСМр=РСМр+Р1р БФТБПТБМУ АВАЛУАВАЛУУВПБУАП 15163243011E Р1рРСМрR+S+C0Р1рРСМмR+S+C0С0=0безусл. перАдрес пер.
13 Если РСМз<>Р1з, то переход БПТБМУ АВАЛУУВПУСЛИУСААП 131111315 Р1зРСМзS-R-1+C0C0=1Z=1ИнверсияУсл. пер.Адрес пер.
14 РСМм=РСМм+Р1м БПТБМУ АВАЛУУВПБУАП 243011С Р1мРСМмS+R+1C0=0Безусл.пер.Адрес пер.
15 Если РСМз=0, то переход БПТБМУCONST ВАЛУИСТРЕЗУВПУСЛУСААП 3146113190 РСМзS-R-1+C0DAБез щаписиС0=1РавныУсл. пер.Адрес пер.
16 Если Р1м<>РСМм, то переход БПТБМУ АВАЛУУВПУСЛУСААП 2411531С Р1рРСМрS-R-1+C0C0=1Есл.меньшеУсл.пер.Адрес пер.
17 РСМз=1 БПТCONST ВИСТРЕЗ 3411 РСМзDAРЗУ
18 РСМм=!РСМм+1 БПТБМУ ВАЛУУВПБУАП 45111С РСМм!S+C0C0=1Безусл.пер.Адрес.пер.
19 Если РСМм<Р1м, то переход БПТБМУ АВАЛУУВПУСЛУСААП 4211531С Р1мРСМмS-R-1+C0С0=1Есл.меньшеУсл. пер.Адрес пер.
1A РСМз=1 БПТCONST ВИСТРЕЗ 3411 РСМзDAРЗУ
1B РСМм=!РСМм+1 БПТБМУ ВАЛУУВПБУАП 45111С РСМм!S+C0С0=1Безусл.пер.Адрес пер.
1C Если V=1, то переход БМУ УСЛУСААП 3322 V=1Усл.пер.Адрес пер.
1D Если РСМ(63)=0, то переход БМУ УСЛИУСААП 2131F N=1ИнверсияУсл.пер.Адрес пер.
1E END
1F РСМм=ALS(РСМм, 1)РСМр=РСМр-1 БФТБПТCONST ВАЛУИСТУВПВСДВ 16141481 РСМрS-R-1+C0DAC0=1РСМрАС влево
20 Если N=0, то переход БМУ УСЛИУСААП 2131D N=1ИнверсияУсл. пер.Адрес пер.
21 Вызов обработчика прерываний антипереполнения
22 РСМм=ARS(РСМм,1)РСМр=РСМр+1 БФТБПТ ВАЛУУВПВСДВ 164140 РСМрS+C0С0=1РСМмАС вправо
23 Если РСМр(15)=0, топереход БМУ УСЛИУСААП 2131E N=1ИнверсияУсл. пер.Адрес пер.
24 Обработка прерываний переполнения порядка

Заключение