Организация памяти и вычисление адреса
⇐ ПредыдущаяСтр 2 из 2
МП 8086 имеет 20-ти разрядную шину адреса ША, позволяющую обращаться к 2^20 или примерно к одному миллиону ячеек памяти. 16-ти битовая шина данных ШД может пересылть информацию байтами или словами. Память обычно организована в виде линейного одномерного массива байтов, причем два соседних байта могут рассматриваться как слово. Все мегабайтное пространство памяти условно делится на 16 сегментов объемом по 64Kb. Микропроцессору доступны в каждый момент четыре - кодовый сегмент, где хранится программа, стековый сегмент, сегмент данных программы и дополнительный сегмент данных. Начальные адреса этих сегментов хранятся в регистрах CS,SS,DS и ES. Так как эти регистры 16-ти битовые, а все адресное пространство 20-ти битовое, то МП начальный сегментный адрес в 20-ти битовом сумматоре сдвигает на четыре бита влево (эквивалентно умножению на 16) и складывает с содержимым одного из регистров (IP,SP,DI,SI). Полученное число называется физическим адресом. Например, извлекая из памяти очередной байт кода программы МП формирует физический адрес по формуле: Физический адрес = (IP) + (CS) * 16, где (IP) - смещение, эффективный или исполнительный адрес, (CS) - сегментный адрес, а (CS) * 16 - называется начальным сегментным адресом. Организация памяти приведена на рис. 4.3.
Рис. 4.3
Процессорный блок
Включает микропроцессор, стабилизируемый кварцем генератор импульсов, два устройства для формирования адресных и управляющих сигналов и двунаправленный буфер шины данных. Схема ПБ представлена на рис. 4.4. Для уменьшения общего количества выводов МП, по некоторым из них в разные моменты передаются разные сигналы, поэтому младшие 16 линий адреса и шина данных совмещены (мультиплексированы).
Конденсатор C до включения питания разряжен. В начальный момент времени t0 подается напряжение питания на выводы (+). Начиная с этого момента времени на входе ~RES действует логический 0 до момента t1, когда напряжение на конденсаторе C достигнет порогового значения логической 1. В течение интервала t0..t1 выходной сигнал RESET имеет активный уровень лог.1. Микропроцессор переводится в исходное состояние. При этом в регистр CS записывается код FFFFh, а в регистр IP код 0000h. Рис. 4.4
Когда C зарядится и сигнал ~RES станет "1", на входе RESET микропроцессора сигнал снизится до пассивного уровня. Начинается основной цикл работы. МП извлекает из ячейки памяти с адресом FFFF:0000 первый байт команды, который чаще всего является кодом безусловного перехода к тому месту в памяти, где находится начало программы. В процессе работы можно перезапустить МП с помощью кнопки SW. Конденсатор C разряжается до нуля и процесс запуска повторяется. МП может работать в двух режимах в максимальном и минимальном. Минимальный режим ограничивает адресуемый объем памяти до 64Kb. В большинстве приложений в приборостроении такого объема достаточно, поэтому сигнал ~MX/MN = 1. Формирователи сигналов ШУ, ША и ШД (шины управления адреса и данных), выполнены на элементах ИЛИ, регистрах и шинных формирователях и служат также для увеличения мощности этих сигналов. Генератор G формирует последовательность импульсов CLK, называемых тактовыми. Выполнение команды производится в течение интервалов времени, называемых циклами (см. рис. 4.5). Если в цикле есть обращение к памяти или к внешним устройствам, то он называется циклом шины. Цикл шины содержит 4 обязательных такта T1... T4.
Рис. 4.5
В такте T1 микропроцессор передает по совмещенной шине адрес/данные адрес ячейки памяти или внешнего устройства (ВУ), подключенного к шинам ШУ,ША и ШД. В такте T2 производится выбор направления обмена данными с памятью или ВУ, а в тактах T3,T4 - передача данных. Если ЗУ (запоминающее устройство) или ВУ медленные, то на вход готовности RDY посылается сигнал RDY = 0, по которому МП вставляет циклы ожидания TW, до тех пор, пока не будет установлена готовность ВУ или ЗУ (RDY = 1). Если в цикле нет обращения к шине, то МП формирует холостые циклы TI.
Для разделения сигналов совмещенной шины адрес/данные ШАД(AD15..0) их необходимо "демультиплексировать" с помощью регистра защелки адреса RG и двунаправленного буфера BD. При обращении к памяти (в том числе при выборке команды) микропроцессор передает по ШАД адрес ячейки памяти. Этот адрес записывается в D-триггеры регистра RG сигналом ALE генерируемым микрпроцессором в этот момент и поступающим на синхровходы D-триггеров. Адрес в регистре сохраняется на время последующей передачи данных. Следом по ШАД передаются, либо данные от микропроцессора к ВУ или ЗУ, либо в обратном направлении. МП должен, во-первых, обеспечить правильное направление передачи буфера BD и, во-вторых, открыть (разрешить) тристабильные элементы буфера для передачи данных. Первую задачу решает сигнал МП ~DT/R (~DT/R=0 передача данных от МП - Transmit, ~DT/R=1 прием данных МП - Receive). Вторая задача решается генерацией МП сигнала ~DEN (Data Enable). Чтение или ввод данных в один из регистров МП осуществляется с помощью инверсных сигналов шины управления (ШУ): ~MEMR (чтение из памяти), ~IOR (ввод из ВУ), называемыми еще стробами чтения. Запись или вывод данных из МП по шине данных сопровождается стробами записи ~MEMW (запись в память (ЗУ)), или ~IOW (вывод во внешнее устройство (ВУ)). Четверка стробов, которые являются основными сигналами шины управления, формируется из сигналов чтения, записи (~RD,~WR) и сигнала M/~IO, определяющего к чему производится обращение: к ЗУ или ВУ. Формирование этих сигналов производится с помощью простой комбинационной схемы, содержащей 4 элемента ИЛИ и один инвертор.
4.4 Контрольные вопросы:
1. Принцип формирования сигналов шины адреса. 2. Принцип формирования сигналов шины данных. 3. Принцип формирования сигналов шины управления. 4. Вычисление физического адреса ячейки памяти. 5. Цикл шины микропроцессора.
4.5 Порядок проведения экспериментов:
Читайте также: I. Организация работы. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|