Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Формирование ФА в реальном режиме.




В реальном режиме работы селектор – это база. База – это старшие 16 разрядов базо-вого адреса.

Для формирования БА база сдвигается вле- во на 4 разряда (умножается на 16). БА ск-ладывается с относительным адресом (16 бит), и таким образом формируется ФА.

15 0

ОА

сегментный ФА граница

регистр сегмента

15 0 база 0000 20 бит 64 КБ

база начало

база сдви- БА 20 бит сегмента

гается влево на 4 бита ОП

62.Формирование ФА в защищенном режиме. В защищенном режиме с содержимым се-гментного регистра (селектором) связан программно недоступный регистр деск-риптора, который хранит размер сегмен- та, БА и атрибуты защиты. Разрядность каждой части равна разрядно- сти шины адреса МП. По селектору определяется регистр деск-риптора, из которого считывается БА и складывается с относительным адресом. Таким образом, формируется ФА, кото- рый в случае деления памяти на страни- цы называется линейным адресом. Относительный адрес Сегментный регистр гра- 15 0 ФА ница селектор (ли- сегме- регистр ней- нта диск- размер сегмента ный рип- БА адрес) нача- тора ло атрибуты защиты сегме- нта Логический адрес состоит из двух частей: Селектор: Относительный адрес Селектор: Смещение В реальном режиме работы: База: Смещение. Вместо селектора можно указывать сегментный регистр. Пример: Объем ОП = 1МБ, режим работы МП – реальный. Текущая программа занимает третий сегмент, данные этой программы – четвертый, стек – шестой. 1)Определить кол-во сегментов в памяти: Объем ОП 1МБ. Объем сегмента 64 КБ. Т=1МБ/64КБ = 1024КБ/64КБ = 16 ОА 7 0 FFFFh ФА FFFFFh Сегмент F0000h 15 БА 0000h   FFFFh ФА 2FFFFh Сегмент 20000h 2 БА 0000h FFFFh ФА 1FFFFh Сегмент 10000h 1 БА 0000h FFFFh ФА 0FFFFh Сегмент 00000h 0 БА 0000h 64КБ 1МБ 2)Определить разрядность ОА. n = log264K n=16 Диапазон ОА: 0000h–FFFFh 3)Определить базовые адреса сегментов. 4)Указать содержимое сегментных регистров. Сегмент 3 – программа. Сегмент 4 – данные. Сегмент 6 – стек. Селектор программного сегмента находится в CS. Реальный режим: Селектор = База, База – старшие 16 бит БА. БА третьего сегмента 30000h (CS) = 30000h База (SS) = 6000h (DS) = 4000h 63.Физический, логический, относительный адрес. Уникальный адрес байта памяти называет- ся физическим адресом или абсолютным. Физический адрес МП выставляет на шину адреса. При большем объеме памяти большей бу- дет и разрядность физического адреса. Это приводит к увеличению длины команды и программы в целом. Чтобы исключить зависимость длины ко-манды от объема ОП компьютера, память условно делят на участки, называемые сегментами. Начальные адреса сегментов могут быть любыми, их назыв. базовыми адресами. БА – это ФА первой ячейки сегмента. Адрес байта в сегменте называется смеще-нием (относительный адрес, исполните-льный адрес, эффективный адрес), т.е. ад- рес ячейки, отсчитанный от начала сегме- нта. В команде указыв. относительный адрес и для его хранения достаточно m разрядов. При этих условиях ФА ячейки памяти рас-считывается по формуле: ФА=БА+offset. 64.Устройство управления микропроцессора. Регистр команд, счетчик команд, очередь команд. Назначение устройства управления: обес-печивает управление выполнением команд. Состав: 1)Регистр команд. 2)Счетчик команд. 3)Микропрограммное устройство управ-ления. 4)Очередь команд. Регистр команд: Регистр команд предназначен для приема из внутренней памяти (ОП, ПП) и хране- ния команды. Разрядность регистра команд определяет- ся разрядностью самой длинной команды микропроцессора – 12 байт. Команда, которая находится в регистре команд и выполняется МП, называется текущей командой. Счетчик команд: 16-разрядный – IP. 32-разрядный – EIP. Счетчик команд хранит относительный адрес команды. После считывания команды из памяти и загрузки ее в регистр команд содержимое счетчика увеличивается на длину команды. Счетчик команд программисту не доступен. Ни в одной команде нельзя использовать имя счетчика команд. Содержимое счетчика команд изменяется при выполнении команд передачи управ-ления и прерываний: 1)команды безусловного перехода. JMP метка. 2)команды условного перехода. JZ метка, JNZ метка. 3)переход на подпрограмму. CALL имя подпрограммы. Очередь команд: Пока выполняется текущая команда, если магистраль процессора свободна, из памя- ти осуществляется считывание следующей команды, которая загружается в очередь команд. Очередь команд увеличивается быстродействием МП, т.к. выполнение команды совмещается с выборкой следу-ющей команды. 65.Устройство управления микропроцессора. Микропрограммное устройство управления. Совместимость процессоров. Назначение устройства управления МП: обеспечивает управление выполнением команд. Состав: 1)Регистр команд. 2)Счетчик команд. 3)Микропрограммное устройство управ-ления. 4)Очередь команд. Микропрограммные ус-ва управления пре-дназначены для преобразования кода опе-рации команды в управляющие сигналы. У каждого процессора есть система команд.

 

Обеспечивается вертикальная совмести-мость по системе команд, т.е. МП, вы-пущенный последним, содержит все ко-манды предыдущих процессоров. Для каждой команды разрабатывается микропрограмма, которая состоит из микрокоманд. Микрокоманда – набор управляющих сигналов, которые могут действовать одновременно. Микропрограммы хранятся в постоянной памяти МП. 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 Т2 Т2 Т2   clock цикл магистрали такты ожидания RDY#=0 f = 100 МГц. Т = 1/а = 1/100 МГц = 10 нс. Полная передача инф-ции происходит в течение цикла магистрали, состоящего из 2 или > тактов. Каждый цикл магистрали продолжается до получения от внешней аппаратуры сигнала READY (готов RDY). Если READY не активен, то такт T2 пов-торяется до тех пор, пока проверка входа READY не укажет на его активность. По-вторяющиеся такты T2 называются такта- ми ожидания. Командный цикл – время выборки кома- нды из памяти и ее выполнение. Командный цикл начинается с цикла ма-гистрали “выборка команды”.   72.Сигналы определения цикла магистрали. M/IO#, D/C#, W/R#. Указывают тип выполняемого цикла магистрали. M/IO# = 0 – цикл обращения к портам. M/IO# = 1 – цикл обращения к памяти. W/R# = 0 – цикл чтения. W/R# = 1 – цикл записи. D/C# = 0 – цикл управления. D/C# = 1 – цикл данных. Пример: OUT 34h, AL M/IO# = 0. D/C# = 1. W/R# = 1. Типы циклов магистрали:
M/ IO# D/ C# W/ R# цикл магистралей
      подтверждение прерывания спец. цикл останов. чтение из порта запись в порт выборка команды резерв чтение из памяти запись в память

Циклы магистрали МП.

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

выборка чтение из запись в

команды памяти память

 

Протокол обмана МП:

T1 T2 T1 T2

Ti

 

clock

A31-A0

M/IO#,D/C#

ADS#

 

W/R#

 

READY#

 

D31-D0 дан-

ные

цикл в МП цикл

чтения записи

74.Цикл МП “Захват магистрали”.

Активный сигнал на входе Hold VG гово- рит о том, что некое активное устройство просит МП передать ему управление ма-гистралью. В ответ, после завершения текущего цикла магистрали, МП перево- дит свои выходы в высокоимпедансное состояние и формирует сигнал подтвер-ждения на выходе HLDA.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...