Формирование ФА в реальном режиме
В реальном режиме работы селектор – это база. База – это старшие 16 разрядов базо-вого адреса.
Для формирования БА база сдвигается вле- во на 4 разряда (умножается на 16). БА ск-ладывается с относительным адресом (16 бит), и таким образом формируется ФА.
15 0
ОА
сегментный ФА граница
регистр сегмента
15 0 база 0000 20 бит 64 КБ
база начало
база сдви- БА 20 бит сегмента
гается влево на 4 бита ОП
![Формирование ФА в реальном режиме Формирование ФА в реальном режиме - student2.ru](/images/arkhitektura/formirovanie-fa-v-realnom-rezhime-52090-2.gif)
![Формирование ФА в реальном режиме Формирование ФА в реальном режиме - student2.ru](/images/arkhitektura/formirovanie-fa-v-realnom-rezhime-52090-3.gif)
Обеспечивается вертикальная совмести-мость по системе команд, т.е. МП, вы-пущенный последним, содержит все ко-манды предыдущих процессоров. Для каждой команды разрабатывается микропрограмма, которая состоит из микрокоманд. Микрокоманда – набор управляющих сигналов, которые могут действовать одновременно. Микропрограммы хранятся в постоянной памяти МП. 66.Структура команды МП. Команда (инструкция) указывает, какую операцию должен выполнить процессор (сложить, вычесть …), где находятся операнды и где разместить результат. В структуре команды можно выделить код операции (КОП) и адресную часть. Команды бывают 2-адресными, одноад-ресными и безадресными. В 2-адресной команде указываются адреса двух операндов, результат размещается на месте первого операнда. В одноадресных командах указывается ад- рес одного операнда, результат размещает- ся на месте этого операнда. Безадресная команда не содержит адресов операндов. CLI – устанавливает флаг прерывания IF в 0. 67.Способы адресации. Регистровая, непосредственная. Прямая, косвенно-регистровая. Регистровая: Операнд находится в регистре, в команде указывается имя регистра. регистровая адресация MOV BL , AL До выполнения: (BL)=15, (AL)=30. После выполнения: (BL)=30, (AL)=30. Непосредственная: Операнд находится в команде в поле “непосредственный операнд”. регистр. непоср. адрес. адрес. MOV AL , 40 После выполнения: (AL)=40 Прямая: Операнд находится в памяти, в команде указывается имя переменно. Относительный адрес памяти размещается в поле “смещение команды”. регистр. прямая адрес. адрес. MOV AL , AS .data AS AS+1 AS+2 AS DB 12, 16, 30 .code MOV AX , @data MOV DS , AX регист. адрес. рег. адр. прям. адр. MOV AL , AS+2 ; (AL):=30 Содержимое ячейки памяти (AS=2) копируется в РОН AL. Косвенно-регистровая: Операнд находится в памяти, а относите-льный адрес операнда находится в инде-ксном регистре (SI, DI, ESI, EDI) или ба-зовом регистре (BX, EBX). 16 бит 32 бит В команде следует указать имя регистра в квадратных скобках. регист. косв.-рег. адр. адр. MOV AL , [SI] Содержимое ячейки памяти, относитель- ный адрес которой находится в регистре SI, копируется в РОН AL. .data AS AS+1 AS+2 AS DB 12, 13, 30 0000h 0001h 0002h .code MOV AX , @data MOV DS , AX LEA SI , AS+2 ; (SI):=0002h, (SI):=AS+2 MOV AL , [SI] ; (AL):=((SI)), (AL):=(0002h), (AL):=30 (AL)=30, (BL)=30 LEA R , M 2 Б MOV R , offset M 2 Б Относительный адрес ячейки М загружа- ется в РОН R. 68.Способы адресации. Базовая, индексная. Базово-индексная. Базовая: Операнд находится в памяти. Относительный адрес формируется путем сложения содержимого базового регистра (BP или BX) и смещение. регистр. MOV AL , AS[BX] Относительный адрес = (BX) + относите-льный адрес AS. Индексная: Операнд находится в памяти. Относительный адрес формируется путем сложения содержимого индексного регис- тра (SI или DI) и смещения относительного адреса ячейки памяти. индексная MOV AL , AS[DI] Относительный адрес = (DI) + относите-льный адрес AS. .data AS AS+1 AS+2 AS+3 AS DB 13, 12, 5, 6 0000h 0001h 0002h 0003h .code MOV AX , @data MOV DS , AX регистр. непос. MOV DI , 3 ; (DI):=3 регистр. индекс. MOV AL , AS[DI] ; (AL):=(AS+3) AL:=6 Относительный адрес = относительный адресAS+(DI) = AS+3 = 0000h+3 = 0003h Базово-индексная: Операнд находится в памяти. Относительн. адрес образуется путем сло-жения содержимого базового регистра (BP или BX) и индексного регистра (SI или DI). MOV AL , [BP][SI] [BP+SI] Относительный адрес = (BP) + (SI) .data AS DB 13, 14, 5, 6 .code 0000h 0001h 0002h 0003h MOV AX , @data MOV DS , AX MOV BP , 1 ; (BP):=1 MOV SI , 2 ; (SI):=2 регистр. базово-индек. MOV AL , [BP][SI] ; (AL):=((BP+SI))=6 Относительный адрес = (BP)+(SI)=1+2=3 Содержимое ячейки памяти, относитель- ный адрес которой равен сумме содер-жимого BP и SI, копируется в РОН AL. 69.Интерфейс МП. Шина данных. Управление разрядностью шины данных. Контроль по паритету. МП Intel 486 имеет 168-выходной корпус с матричным расположением. Взаимодействие МП с другими устройст-вами системы осуществляется при помощи 32-разрядной шины данных, 32-разрядной шины адреса и шины управления. Шина данных D31-D0 является двунапра-вленной, имеет возможность установки в высокоимпедансное состояние. Обеспе-чивает передачу данных между МП и др. устройствами системы. Изменение разрядности шины данных осуществляется с помощью сигналов на входах BS16# и BS8#. | Разрядность шины данных: BS16#, BS8# Сигналы на этих входах позволяют связать МП с 16- и 8-разрядными шинами данных. МП опрашивает эти входы в каждом такте. При активизации этих сигналов МП авто-матически генерирует вместо одного зап- роса передачи данных большого формата несколько запросов передачи данных ме-ньшего формата. BS16# BS8# Шина данных 0 0 8 бит 0 1 16 бит 1 0 8 бит 1 1 32 бит 70.Шина адреса МП. Адресное пространство памяти. Адресное пространство ввода-вывода. А31-А0. Является двунаправленной и имеет возмо-жность установки в высокоимпедансное состояние. На шине адреса МП формирует физический адрес байта памяти. Адресное пространство памяти: 232 = 22 * 210 * 210 * 210 = 4 ГБ Диапазон адресов: 0–232-1 00000000h – FFFFFFFFh Также на шине адреса МП формирует ад- рес из пространства ввода-вывода (адрес порта). Адресное пространство ввода-вывода 64К (65536 портов). Адрес порта передается по линиям A15-A0. Современные МП – это МП с изолирован- ной шиной, т.е. адресное пространство па- мяти и портов ввода-вывода перекрываю- тся, т.е. есть нулевая ячейка памяти и ну- левой порт. Для работы с памятью и пространством ввода-вывода используются разные ко-манды. Для работы с памятью – команда MOV, для работы с пространством ввода-вывода – команды: 1)IN (ввод из порта), 2)OUT (вывод в порт). 71.Командный цикл. Такт магистрали. Цикл магистрали. Элементарным интервалом времени при реализации протоколов обмена является такт магистрали, равный одному пери- оду сигнала, поступающему на вход Clock МП (внешняя тактовая частота МП или частота системной шины). ![]()
Циклы магистрали МП. 1) регист.регист. MOV AL , BL выборка
2) регистр. прямая MOV AL , AS выборка чтение из
M/IO# = 1, D/C = 1, W/R# = 0 3) прям. регист. MOV AM , BL выборка запись в
4) OUT 20h , AL выборка запись в
M/IO# = 0, D/C# = 1, W/R# = 1 5) INC A ; (A):=(A)+1 выборка чтение из запись в
Протокол обмана МП:
Ti clock A31-A0 M/IO#,D/C# ADS# W/R# READY# D31-D0 дан- ные цикл в МП цикл чтения записи 74.Цикл МП “Захват магистрали”. Активный сигнал на входе Hold VG гово- рит о том, что некое активное устройство просит МП передать ему управление ма-гистралью. В ответ, после завершения текущего цикла магистрали, МП перево- дит свои выходы в высокоимпедансное состояние и формирует сигнал подтвер-ждения на выходе HLDA. Наши рекомендации
|