Remkomplekty.ru

IT Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Дешифратор адреса ячейки памяти это

Дешифратор кода операции

Лекция №8. Структура ЭВМ.

Дешифраторы.

Дешифраторы находят широкое применение в узлах и устройствах ЭВМ. Дешифраторы предназначены для декодирования (распознавания) кодовых комбинаций (адрес устройства, код операции и т. д.).

Дешифратор адреса

Дешифратор адреса – это устройство входящее в состав другого устройства опознающее собственный адрес этого устройства (рис. 1).

Рассмотрим построение дешифратора адреса на примере. Построим дешифратор адреса для четырехразрядной адресной шины А3, А2, А1, А.

Дешифратор адреса предназначен для опознавания адреса устройства A.

Адрес представляется многоразрядным двоичным числом (рис. 2).

A3A2A1A0 (2) – запись адреса в двоичной системе счисления

A10 = A3 * ´ 2 3 + A2 * ´ 2 2 + A1 * ´ 2 1 + A * ´ 2 0 — адрес в десятичной системе счисления

Если на вход дешифратора подается собственный адрес устройства, то на выход подается единичный сигнал » 5 В. Если на вход подается не собственный адрес, то на выход подается нулевой сигнал » 0,2 В.

Правило построения дешифратора адреса

1. Произведем перевод адресного кода из десятичной системы счисления в двоичную систему счисления и дополним полученное двоичное число слева нулями до необходимой разрядности n+1.

2. Построим логическое выражение которое будет являться логическим произведением n сомножителей. Каждый сомножитель является элементарным высказыванием или элементарным высказыванием взятым с отрицанием. Сопоставим с каждым входом дешифратора элементарное высказывания:

3. Запишем логическое выражение в виде логического произведения высказываний Bi (i = 0. n), количество которых совпадает с количеством разрядов адресной шины n+1.

При этом каждый сомножитель Bi(i = 0. n) равен:

Ai (i = 0. n), если соответствующий разряд двоичного числа равен 1;

ØАi (i = 0. n), если соответствующий разряд двоичного числа равен 0.

4. Применим алгоритм построения логических схем.

Пример 1 дешифратора (рис. 3).

Допустим, адрес устройства, которое подключается к адресной шине, равен 510 (0l0l2).

По сигналу с дешифратора это устройство должно активизироваться, если на адресной шине появляется сигнал, равный пяти з = 0, A2 = 1, А1 = 0, А = 1), т. е. дешифратор распознает адресный код, равный пяти, и при этом на выходе дешифратора вырабатывается сигнал, равный логической единице.

При любом другом значении адресного кода на выходе дешифратора вырабатывается сигнал, равный логическому нулю.

Адрес равен 510 = 1012 = 01012

1310 = 1 3 1 2 0 1 1 0 2, n = 4

Дешифратор кода операции

Другим типом наиболее распространенных дешифраторов являются дешифраторы, преобразующие n-разрядное входное двоичное число (код) в единичный сигнал на одном из 2 n их выходов. Такие дешифраторы могут использоваться, например, для определения исполняемых машинных команд в устройстве управления ЭВМ. Обозначение дешифратора на электронных схемах показано на рис 5.

Пример дешифратора команд с таблицей истинности (табл.1)показанна рис. 7.

Большая Энциклопедия Нефти и Газа

Дешифратор — адрес — память

Эти линии, кроме того, используются для адресации портов ввода-вывода и регистра состояния. Если в системе должно быть более 2048 областей памяти, то выход внешнего дешифратора адреса памяти должен быть подключен к входу ПЗУ Выбор кристалла. С помощью внеш-них логических схем и сигнала Выбор кристалла обеспечивается выбор нужного модуля ПЗУ. [17]

На рис. 8.4 представлена выборка команды СЛОЖЕНИЕ. Во время этого цикла содержимое счетчика команд загружается в регистр адреса памяти. Дешифратор адреса памяти декодирует адрес. По получении сигнала Чтение памяти на шину данных подается код команды СЛОЖЕНИЕ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ. Эта команда загружается в регистр команд микропроцессора. [19]

В ходе цикла выполнения данной команды ( рис. 8.5) дважды осуществляется приращение содержимого счетчика команд, Он указывает Теперь на область с адресом 0004, в которой хранится команда ОСТАНОВ. Содержимое аккумулятора пересылается в буферный регистр аккумулятора. В то же время дешифратор адреса памяти указывает на данные, содержащиеся во втором байте команды. После поступления сигнала Чтение памяти данные ( число 29) направляются на шину данных микро — ЭВМ, откуда они загружаются в буферный регистр АЛУ. [21]

Регистр адреса ( РА) при каждом обращении к памяти указывает ячейку памяти, которая подлежит использованию микропроцессором, а при обращении к портам ввода-вывода — номер порта, с которого надлежит произвести ввод информации в процессорный модуль или ее вывод из него во внешнее устройство. Выходы РА образуют шину адресов из 16 линий. Информация с шины адресов может поступить в дешифратор адреса памяти ( ОЗУ или ПЗУ) или дешифратор адреса устройств ввода-вывода. [22]

При каждом обращении к памяти он указывает ячейку памяти, которая подлежит использованию микропроцессором, а при обращении к портам ввода-вывода — номер порта, с которого надлежит ввести информацию в процессорный модуль или ее вывести из него во внешнее устройство. Выходы РА образуют шину адресов из 16 линий. Информация с шины адресов может поступить в дешифратор адреса памяти ( ОЗУ или ПЗУ) или дешифратор адреса устройства ввода-вывода. [23]

На рис. 7.7 представлен цикл выборки этой команды. Содержимое счетчика команд загружается в регистр адреса памяти. Из этого регистра адрес ( указывающий на область 0003) подается на адресную шину памяти. Дешифратор адреса памяти декодирует адрес. Устройство управления вырабатывает сигнал Чтение памяти, являющийся для памяти указанием вывести содержимое области памяти 0003 на шину данных. Затем в регистр команд микропроцессора пересылается команда ВВОД. Тем самым завершается цикл выборки команды. [24]

Содержимое регистровой пары ВС ( число СЮОЕ) пересылается в регистр адреса памяти. Из регистра адреса памяти эта адресная информация выводится на адресную шину. В то же время содержимое аккумулятора помещается на шину данных микропроцессора. Дешифратор адреса памяти декодирует адрес ОООЕ. При поступлении сигнала Запись в память информация, имеющая место на шине данных, записывается в область памяти ОООЕ. Теперь в области ОООЕ содержится копия данных, находящихся в аккумуляторе. Выполнение команды ЗАПИСЬ В ПАМЯТЬ завершается. Первое слово данных занесено в файл данных. [25]

На рис. 7.12 показан цикл выборки данной команды. Содержимое счетчика команд загружается в регистр адреса памяти. Адрес 0006 выдается из этого регистра на адресную шину. В дешифратор адреса памяти поступают адрес и сигнал Чтение памяти. Содержимое области памяти 0006 помещается на шину данных микро — ЭВМ. Команда ПРИРАЩЕНИЕ ПОЛОЖИТЕЛЬНОЕ РЕГИСТРОВОЙ ПАРЫ пересылается в регистр команд. [26]

При работе процессорный модуль должен обмениваться данными с периферийными модулями и ячейками памяти. Для того чтобы иметь такую возможность, каждые периферийный модуль и ячейка памяти имеют свои индивидуальные номера — адреса. По линии 3 рис. 13.23 производится подача управляющего сигнала на чтение из памяти; по линии 4-запись в память; по линиям / и 2 соответственно чтение и запись из устройства ввода-вывода. Одновременно через внутреннюю управляющую линию в микропроцессоре производится подача управляющих сигналов на РА памяти. В результате или на 16 линиях шины адресов появляется двоичный код, соответствующий адресу ячейки памяти, или на 8 линиях шины младших разрядов РА, соответствующий одному из портов ввода-вывода. Этот код по линиям шины адресов поступает на дешифраторы адреса памяти и адреса устройства ввода — вывода. [27]

Читать еще:  Браузер гугл хром не запускается

При работе процессорный модуль должен обмениваться данными с периферийными модулями и ячейками памяти. Для того чтобы иметь такую возможность, каждые периферийный модуль и ячейка памяти имеют свои индивидуальные номера — адреса. По линии 3 ( см. рис. 16.2) производится подача управляющего сигнала на чтение из памяти; по линии 4 — запись в память; по линиям In 2 — соответственно чтение и запись из устройства ввода-вывода. Одновременно через внутреннюю управляющую линию в микропроцессоре производится подача управляющих сигналов на РА памяти. В результате двоичный код, соответствующий адресу ячейки памяти, появляется или на 16 линиях шины адресов, или на восьми линиях шины младших разрядов РА — соответствующий одному из портов ввода-вывода. Этот код по линиям шины адресов поступает на дешифраторы адреса памяти и адреса устройства ввода-вывода. Одновременно одной из четырех линий шины управления на устройство ввода-вывода или памяти поступает сигнал, разрешающий чтение или запись информации по заданному адресу. [29]

Дешифратор адреса ячейки памяти это

Дешифраторов с более, чем тремя входами данных, выполненных в виде отдельных микросхем, практически не производят, так как они имели бы недопустимо большое количество выводов. Однако наличие входов выбора микросхемы позволяет каскадировать дешифраторы. На рисунке 6 приведена схема дешифратора с пятью входами данных и тридцатью двумя выходами. Дешифратор собран по схеме каскадирования. Для построения такой схемы потребовался один дешифратор на два входа и четыре дешифратора на три входа.


Рис. 6.

Дешифраторы имеются в составе многих серий логических микросхем. Например в составе ТТЛ серий: 155, 555, 1533, 531. Или в составе КМОП серий, таких как: 176, 561, 564, 1561. По стандартам СССР в названиях микросхем дешифраторов присутствует буквосочетание «ИД». Например К155ИД1, К155ИД3, К155ИД4, К555ИД6 и другие. Некоторые дешифраторы предназначены для управления исполнительными или индикаторными устройствами. Практически все дешифраторы допускают подключение к своим выходам светодиодов через соответствующие токоограничивающие резисторы сопротивлением 270 — 300 Ом. А такой дешифратор, как К155ИД1 имеет выходы, рассчитанные на управление цифровым газоразрядным индикатором с напряжением питания до 300 вольт. В этом устаревшем индикаторе для индикации каждой цифры имеется отдельный электрод.

Дешифраторы широко применяются в микропроцессорной технике. И главное их применение – это обеспечение возможности подключения нескольких регистров или ячеек памяти к одной шине данных.

Посмотрите на рисунок 7. На нем изображена схема подключения четырех регистров к шине данных при помощи дешифратора 2Х4 (то есть дешифратора, имеющего два входа и четыре выхода). Это уже элемент микропроцессорной схемотехники. Здесь используются регистры с третьим (высокоимпендансным) состоянием выходов. Они выполняют роль ячеек памяти.


Рис. 7.

LD0…LD7 – это шина данных. Посредством этой шины двоичные восьмиразрядные числа (данные) подаются на блок памяти для их последующей записи в одну из ячеек в режиме записи данных. На нее же поступают данные, считанные из одной из ячеек в режиме чтения памяти.

LA0, LA – это простейший вариант шины адреса. Реальные шины адреса имеют, как минимум восемь разрядов. Большинство микроконтроллеров работают с адресами, имеющими не более восьми разрядов. А шины адреса обычно имеют не менее 16 разрядов. Что такое адрес, я думаю уже понятно. Каждая ячейка памяти имеет свой номер. Код, равный номеру ячейки памяти, называется ее адресом. В приведенной схеме имеется четыре регистра — ячейки памяти. Они имеют адреса 0, 1, 2 и 3. Самый верхний по схеме регистр – это ячейка памяти с адресом 0. Самый нижний имеет адрес 3.Линии WRITE и READ – это простейшая шина управления. Сигнал UPR используется для выбора всего этого блока памяти из нескольких аналогичных блоков. Будем считать, что на этом входе присутствует сигнал низкого логического уровня, который переводит модуль в рабочее состояние. В режиме записи, сначала на шину адреса подается двоичное число – адрес ячейки памяти, в которую необходимо записать байт данных. (Байтом называют двоичное число имеющее восемь двоичных разрядов). Предположим, что мы хотим записать число в ячейку с адресом 1. Для этого на шину адреса мы должны подать этот адрес. То есть подать на входы LA0, LA1 число 012. При этом на выходе Q1 дешифратора появится сигнал лог. 0 . Этот сигнал поступит на вход выбора микросхемы второго с верху регистра и переводит его в активное состояние. Этот регистр и есть ячейка памяти с адресом 1. На аналогичные входы остальных регистров поступит запрещающий сигнал (лог. 1.). Одновременно, на шину данных от внешнего источника подается двоичное число, предназначенное для записи в ячейку памяти. Это число поступит на входы D0…D7 всех четырех регистров. После того, как сигналы на шине данных и шине адреса установятся, на вход WRITE подается отрицательный импульс записи. Он так же поступит на входы С всех четырех регистров. Но байт данных будет записан только в тот регистр, на который подан разрешающий сигнал с дешифратора, то есть в ячейку с адресом 1. Для правильной работы схемы в режиме записи на входе READ все время должен присутствовать сигнал лог. 1, который переведет выходы всех четырех регистров в высокоимпендансное состояние. При этом, выходы всех регистров будут отключены от схемы и не будут мешать процессу записи.

Теперь рассмотрим процесс чтения информации из памяти. Сначала на шину адреса подается двоичный код адреса той ячейки, откуда необходимо считать число. Код адреса поступит на дешифратор, который в свою очередь активизирует нужную ячейку памяти. После этого на вход READ подается сигнал логического 0. Этот сигнал переведет выходы регистра, выбранного дешифратором в рабочее состояние. Регистр подключит свои выходы к шине данных, и внешнее устройство сможет прочитать содержимое этой ячейки памяти. По окончании процесса чтения сигнал на входе READ должен опять перейти в единичное состояние. В микропроцессорной системе внешним устройством, управляющим процессами чтения и записи памяти чаще всего (но не всегда) является центральный процессор.

Дешифратор адреса ячейки памяти это

Элементы схемотехники цифровых устройств обработки информации

Электронные вычислительные машины выполняют арифметические и логические операции, при этом используется два класса переменных: числа и логические переменные.

Числа несут информацию о количественных характеристиках системы; над ними производятся арифметические действия.

Логические переменные определяют состояние системы или принадлежность её к определённому классу состояний (коммутация каналов, управление работой ЭВМ по программе и т.п.).

Логические переменные могут принимать только два значения: истина и ложь. В устройствах цифровой обработки информации этим двум значениям переменных ставится в соответствие два уровня напряжения: высокий — (логическая «1») и низкий — (логический 0»). Однако в эти значения не вкладывается смысл количества.

Элементы, осуществляющие простейшие операции над такими двоичными сигналами, называют логическими. На основе логических элементов разрабатываются устройства, выполняющие и арифметические, и логические операции.

Читать еще:  Самый популярный браузер в россии 2020

В настоящее время логические элементы (ЛЭ) выполняются с помощью различных технологий, которые определяют численные значения основных параметров ЛЭ и, как следствие, качественные показатели цифровых устройств обработки информации, разработанных на их основе. Поэтому в данном пособии схемотехнике и параметрам ЛЭ различных технологий уделено должное внимание.

1 Арифметические и логические основы ЭВМ

1.1 Арифметические основы ЭВМ

В настоящее время в обыденной жизни для кодирования числовой информации используется десятичная система счисления с основанием 10, в которой используется 10 элементов обозначения: числа 0, 1, 2, … 8, 9. В первом (младшем) разряде указывается число единиц, во втором — десятков, в третьем — сотен и т.д.; иными словами, в каждом следующем разряде вес разрядного коэффициента увеличивается в 10 раз.

В цифровых устройствах обработки информации используется двоичная система счисления с основанием 2, в которой используется два элемента обозначения: 0 и 1. Веса разрядов слева направо от младших разрядов к старшим увеличиваются в 2 раза, то есть имеют такую последовательность: 8421. В общем виде эта последовательность имеет вид:

…2 5 2 4 2 3 2 2 2 1 2 0 ,2 -1 2 -2 2 -3 …

и используется для перевода двоичного числа в десятичное. Например, двоичное число 101011 эквивалентно десятичному числу 43:

2 5 ·1+2 4 ·0+2 3 ·1+2 2 ·0+2 1 ·1+2 0 ·1=43

В цифровых устройствах используются специальные термины для обозначения различных по объёму единиц информации: бит, байт, килобайт, мегабайт и т.д.

Бит или двоичный разряд определяет значение одного какого-либо знака в двоичном числе. Например, двоичное число 101 имеет три бита или три разряда. Крайний справа разряд, с наименьшим весом, называется младшим, а крайний слева, с наибольшим весом, — старшим.

Байт определяет 8-разрядную единицу информацию, 1 байт=23 бит, например, 10110011 или 01010111 и т.д., 1 кбайт = 2 10 байт, 1 Мбайт = 2 10 кбайт = 2 20 байт.

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

Основанием шестнадцатеричной системы счисления является число 16=2 4 , в которой используется 16 элементов обозначения: числа от 0 до 9 и буквы A, B, C, D, E, F. Для перевода двоичного числа в шестнадцатеричное достаточно двоичное число разделить на четырёхбитовые группы: целую часть справа налево, дробную — слева направо от запятой. Крайние группы могут быть неполными.

Каждая двоичная группа представляется соответствующим шестнадцатеричным символом (таблица 1). Например, двоичное число 0101110000111001 в шестнадцатеричной системе выражается числом 5C39.

Пользователю наиболее удобна десятичная система счисления. Поэтому многие цифровые устройства, работая с двоичными числами, осуществляют приём и выдачу пользователю десятичных чисел. При этом применяется двоично-десятичный код.

Двоично-десятичный код образуется заменой каждой десятичной цифры числа четырёхразрядным двоичным представлением этой цифры в двоичном коде (См. таблицу 1). Например, число 15 представляется как 00010101 BCD (Binary Coded Decimal). При этом в каждом байте располагаются две десятичные цифры. Заметим, что двоично-десятичный код при таком преобразовании не является двоичным числом, эквивалентным десятичному числу.

1.2 Логические основы ЭВМ

Раздел математической логики, изучающий связи между логическими переменными, имеющими только два значения, называется алгеброй логики. Алгебра логики разработана английским математиком Дж. Булем и часто называется булевой алгеброй. Алгебра логики является теоретической базой для построения систем цифровой обработки информации. Вначале на основе законов алгебры логики разрабатывается логическое уравнение устройства, которое позволяет соединить логические элементы таким образом, чтобы схема выполняла заданную логическую функцию.

Системная шина процессора.

Системная шина процессора предназначена для обмена информацией микропроцессора с любыми внутренними устройствами микропроцессорной системы (контроллера или компьютера). В качестве обязательных устройств, которые входят в состав любой микропроцессорной системы, можно назвать ОЗУ, ПЗУ, таймер и порты ввода-вывода. Структурная схема простейшего микропроцессорного устройства приведена на рисунке 1.

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

В понятие шины вкладывают разное значение при рассмотрении различных вопросов. В простейшем случае под понятием шина подразумевают параллельно проложенные провода, по которым передаЈтся двоичная информация. При этом по каждому проводу передаЈтся отдельный двоичный разряд. Информация может передаваться в одном направлении, как, например, для шины адреса или шины управления, или в различных направлениях (для шины данных). По шине данных информация передаЈтся либо к процессору, либо от процессора в зависимости от операции записи или чтения, которую в данный момент осуществляет процессор.

В любом случае все сигналы, необходимые для работы системной шины формируются микросхемой процессора как это рассматривалось при изучении блока обработки данных. Иногда для увеличения скорости обработки информации функции управления системной шины берЈт на себя отдельная микросхема (например контроллер прямого доступа к памяти или сопроцессор). Арбитраж доступа к системной шине при этом осуществляет контроллер системной шины (в простейшем случае достаточно сигнала занятости шины).

В некоторых случаях в понятие шина дополнительно включают требования по уровням напряжения, которыми представляются нули и единицы, передаваемые по еЈ проводам. В состав требований могут быть включены длительности фронтов передаваемых сигналов, типы используемых разъЈмов и их распайка, последовательность передаваемых сигналов и скорость их передачи.

Рисунок 1. Структурная схема подключения микропроцессорных устройств к системной шине.

При подключении различных устройств к системной шине возникает вопрос — как различать эти устройства между собой? Единственный способ сделать это использовать индивидуальный адрес для каждого устройства, подключенного к системной шине микропроцессора. Так как адресация производится к каждой ячейке устройства индивидуально, то возникает понятие адресного пространства, занимаемого каждым устройством и адресного пространства микропроцессорного устройства в целом.

Адресное пространство микропроцессорного устройства.

Адресное пространство микропроцессорного устройства изображается графически прямоугольником, одна из сторон которого представляет разрядность адресуемой ячейки этого микропроцессора, а другая сторона — весь диапазон доступных адресов для этого же микропроцессора. Обычно в качестве минимально адресуемой ячейки памяти выбирается восьмиразрядная ячейка памяти (байт). Диапазон доступных адресов микропроцессора определяется разрядностью шины адреса системной шины. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:

Для шестнадцатиразрядной шины это будет число 65535 (64K). Адресное пространство этой шины и распределение памяти микропроцессорной системы, изображЈнной на рисунке 1, приведено на рисунке 2, а распределение памяти микропроцессорной системы, изображЈнной на рисунке 1, приведено на рисунке 3.

Рисунок 2. Адресное пространство шестнадцатиразрядной шины адреса.

Рисунок 3. Распределение памяти микропроцессора с шестнадцатиразрядной шиной адреса.

Микропроцессоры после включения питания и выполнения процедуры сброса всегда начинают выполнение программы с определЈнного адреса, чаще всего нулевого. Однако есть и исключения. Например процессоры, на основе которых строятся универсальные компьютеры IBM PC или Macintosh стартуют не с нулевого адреса. Программа должна храниться в памяти, которая не стирается при выключении питания, то есть в ПЗУ.

Читать еще:  Почему загрузка в браузере медленная

Выберем для построения микропроцессорной системы микросхему ПЗУ объЈмом 2 килобайта, как это показано на рисунке 1. При рассмотрении построения блока обработки сигналов мы договорились, что процессор после сброса начинает работу с нулевого адреса, поэтому разместим ПЗУ в адресном пространстве начиная с нулевого адреса. Для того, чтобы нулевая ячейка ПЗУ оказались расположенной по нулевому адресу адресного пространства микропроцессора, старшие разряды шины адреса должны быть равны 0.

При построении схемы необходимо декодировать старшие пять разрядов адреса (определить, чтобы они были равны 0). Это выполняется при помощи дешифратора адреса, который в данном случае вырождается в пятивходовую схему «ИЛИ-НЕ» Это связано с тем, что внутри ПЗУ уже есть одиннадцативходовый дешифратор адреса. При использовании дешифратора адреса, обращение к ячейкам памяти выше двух килобайт не приведЈт к чтению ячеек ПЗУ, так как на входе выбора кристалла CS уровень напряжения останется высоким.

Теперь подключим микросхему ОЗУ. Для примера выберем микросхему объЈмом 8 Кбайт. Для выбора любой из ячеек этой микросхемы достаточно тринадцатибитового адреса, поэтому необходимо дополнительно декодировать три оставшихся разряда адреса. Так как начальные ячейки памяти адресного пространства уже заняты ПЗУ, то использовать нельзя. Выберем следующую комбинацию цифр 001 и используем известные нам принципы построения схемы по произвольной таблице истинности. Дешифратор адреса выродится в данном случае в трЈхвходовую схему «И-НЕ» с двумя инверторами на входе. Схема этого дешифратора приведена на рисунке 1. ПриведЈнный дешифратор адреса обеспечивает нулевой уровень сигнала на входе CS только при комбинации старших бит 000. Обратите внимание, что так как объЈм ПЗУ меньше объЈма ОЗУ, то между областью адресов ПЗУ и областью адресов ОЗУ образовалось пустое пространство неиспользуемых адресов памяти.

И, наконец, так как все микропроцессоры предназначены для обработки данных, поступающих извне, то в любой микропроцессорной системе должны присутствовать порты ввода-вывода. Порт ввода-вывода отображается в адресное пространство микропроцессорного устройства как одиночная ячейка памяти, поэтому порт ввода вывода можно разместить по любому свободному адресу. Проще всего построить дешифратор числа FFFFh. В этом случае дешифратор превращается в обычную 16-ти входовую схему «И-НЕ», поэтому и выберем эту ячейку памяти в адресном пространстве микропроцессора для размещения порта ввода-вывода.

Способы расширения адресного пространства микропроцессора.

Известно, что размер адресного пространства определяется разрядностью счЈтчика команд микропроцессора. Достаточно часто при развитии микропроцессорной системы возможности адресного пространства исчерпываются. В таком случае приходится прибегать к методам расширения адресного пространства.

Для расширения адресного пространства можно воспользоваться параллельным портом. Внешние выводы параллельного порта при этом используются в качестве старших битов адресной шины. Такой метод расширения адресного пространства называется страничным методом адресации. Регистр данных параллельного порта при использовании его для расширения адресного пространства будет называться переключателем страниц. Схема использования параллельного порта в качестве переключателя страниц памяти приведена на рисунке 4.

Рисунок 4. Использование параллельного порта в качестве переключателя страниц памяти.

В этой схеме параллельный порт используется в качестве простейшего контроллера памяти микропроцессорного устройства. При применении восьмиразрядного параллельного порта в микропроцессорной системе появились дополнительные восемь линий адреса. В результате адресное пространство микропроцессорной системы увеличилось до 16 Мегабайт. Структура нового адресного пространства приведена на рисунке 5, а принцип формирования нового адреса с использованием переключателя страниц приведЈн на рисунке 6.

Рисунок 5. Структура страничного адресного пространства.

Рисунок 6. Формирование адреса с использованием переключателя страниц.

Метод страничной адресации прост в реализации и при формировании адреса физической памяти не приводит к дополнительным временным задержкам, но при использовании многозадачного режима работы процессора для каждой активной задачи выделяется целая страница в системной памяти микропроцессора. При такой работе в системной памяти процессора остаЈтся много неиспользуемых областей. Решить возникшую проблему позволяет метод сегментной организации памяти.

При сегментном методе организации памяти для расширения адресного пространства используется базовый регистр, относительно которого производится адресация команд или данных в программе. Разрядность базового регистра обычно выбирают равной разрядности счЈтчика команд. В качестве базового регистра, как и при страничной организации памяти, можно использовать параллельный порт.

Для формирования физического адреса используется параллельный двоичный сумматор. На входы этого сумматора подаЈтся содержимое базового регистра и содержимое счЈтчика команд. Суммирование производится со смещением содержимого базового регистра влево на несколько бит относительно счЈтчика команд (рисунок 8). В результате максимальный размер сегмента определяется разрядностью программного счЈтчика, а максимальная неиспользуемая область памяти – смещением базового регистра относительно программного счЈтчика.

Адресное пространство при использовании сегментного метода адресации приведено на рисунке 7.

Рисунок 7. Пример адресного пространства с разделением на сегменты.

Количество сегментов определяется количеством базовых регистров. Сегменты могут перекрываться в адресном пространстве, и тем самым может регулироваться размер памяти, который отводится под каждый конкретный сегмент памяти. В компьютерах семейства IBM PC имеются четыре базовых регистра, определяющих сегмент данных, сегмент программы, сегмент стека и дополнительный сегмент. Информацию в базовые регистры заносит операционная система при переключении задач.

Рисунок 8. Формирование адреса при сегментной адресации.

ЕщЈ одним распространЈнным способом увеличения адресного пространства является применение окон. При использовании окон производится расширение не всего адресного пространства, а только его части. Внутри адресного пространства выделяется некоторая область, которая называется окном. В это окно может отображаться часть другого адресного пространства.

При использовании окон может быть использован как страничный метод отображения адресного пространства, так и сегментный метод отображения адресного пространства в окно.

При использовании страничного метода отображения, конкретная страница другого адресного пространства, которая в данный момент отображается в окно памяти, определяется переключателем страниц, построенному по такому же принципу как это было рассмотрено на рисунке 4.

При использовании сегментного метода отображения, конкретная область адресного пространства, которая будет отображаться в окно, определяется содержимым базового регистра. Если разрядность адреса вспомогательного адресного пространства, отображаемого в окно основной памяти, совпадает с разрядностью базового регистра, то любая область вспомогательной памяти может быть отображена в основную память с точностью до байта.

Принцип построения оконной адресации при отображении страниц показан на рисунке 9.

Рисунок 9. Применение окна для расширения адресного пространства.

Оконная адресация часто используется при развитии микропроцессорных семейств, когда размера областей памяти, отведЈнных для конкретных задач в младших моделях семейства, не хватает для старших моделей семейства, а при этом нужно поддерживать аппаратную совместимость с младшими моделями семейства. В качестве примера можно привести микросхемы I81c96 фирмы INTEL или TMS320c5410 фирмы Texas Instrument, где для расширения области регистров специальных функций используется оконная адресация.

Ссылка на основную публикацию
Adblock
detector