Разблокировка Oysters T72HM 3G
Разблокировка Oysters T72HM 3G


Разблокировка МТС SMART Sprint
Разблокировка МТС SMART Sprint


Разблокировка Билайн Таб 2
Разблокировка Билайн Таб 2


В начало

Распределение адресного пространства (Тема)

 

Объем адресного пространства МПС с интерфейсом "Общая шина" определяется главным образом разрядностью шины адреса и, кроме того, номенклатурой управляющих сигналов интерфейса. Управляющие сигналы могут определять тип объекта, к которому производится обращение (ОЗУ, ВУ, стек, специализированные ПЗУ и др.). В случае, если МП не выдает сигналов, идентифицирующих пассивное устройство (или они не используются в МПС), - для селекции используются только адресные линии. Число адресуемых объектов составляет в этом случае 2k, где k - разрядность шины адреса. Будем называть такое адресное пространство "единым". Иногда говорят, что ВУ в едином адресном пространстве "отображены на память", т.е. адреса ВУ занимают адреса ячеек памяти. Пример организации селекции устройств в едином адресном пространстве МПС на базе i8080 и распределение адресного пространства показаны на Рис. 1 и Рис. 2 соответственно.

 

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

 

Рис. 2. Пример распределения единого адресного пространства

 

При небольших объемах памяти в МПС целесообразно использовать некоторые адресные линии непосредственно в качестве селектирующих (Рис. 3), что позволяет уменьшить объем оборудования МПС за счет исключения селектора адреса. При этом, однако, адресное пространство используется крайне неэффективно (Рис. 4).

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

Так, большинство МП выдают в той или иной форме информацию о типе обращения. В результате в большинстве интерфейсов присутствуют отдельные управляющие линии для обращения к памяти и вводу/ выводу, реже - стеку или специализированному ПЗУ. В результате суммарный объем адресного пространства МПС может превышать величину 2k.

 

Рис. 3. Использование адресных линий для прямой селекции устройств

 

Например, используя информацию PSW МП i8080, можно располагать в МПС следующим объемом памяти и УВВ: 64K ЗУ (адреса 0000..FFFF) + 64K стек (0000..FFFF) + 256 УВв (00..FF) + 256 УВыв (00..FF) = 128,5K байт. Для этого необходимо включить в состав МПС системный контроллер, фиксирующий PSW и формирующий управляющие сигналы чтения и записи стека, памяти и ВУ.

Рис. 4. Распределение адресного пространства для структуры, изображенной на рис. 3

 

Характерно, что серийный системный контроллер К580ВК28 не выделяет область стека (формирует только сигналы RDM, WRM, RDIO и WRIO), поэтому при необходимости отводить под стек большой объем памяти можно синтезировать на ИС системный контроллер, аналогичный по функциям ..ВК28, но формирующий дополнительно управляющие сигналы RDS и WRS.

Другой пример разделения адресного пространства по функциональному признаку дает МП К1801ВМ2. Он формирует специальный управляющий сигнал, позволяющий обращаться к системной области ПЗУ, в которой записаны подпрограммы выполнения команд арифметики с плавающей запятой (ПЗ). В потоке команд МП серии К1801 одни и те же коды используются для инициирования сопроцессора плавающей арифметики (при его наличии) или вызова подпрограмм выполнения команд ПЗ при отсутствии сопроцессора. Управляющий сигнал вырабатывается только при выполнении команд ПЗ и селектирует соответствующее ПЗУ, которое в остальных командных циклах является "прозрачным", т.е. его адреса могут использоваться другими устройствами памяти.

Диспетчер памяти. При необходимости расширить объем памяти за пределы адресного пространства можно воспользоваться т.н. "диспетчером памяти". В простейшем случае он представляет собой программно-доступный регистр, который должен располагаться в пространстве ввода/вывода. В него заносится номер активного в данный момент банка памяти, причем объем банка может равняться объему адресного пространства МП (2k).

Очевидно, в каждый момент времени процессору доступен только один банк. При необходимости перехода в другой банк памяти МП должен предварительно выполнить программную процедуру (часто всего одну команду) перезагрузки содержимого номера банка. Сказанное иллюстрируется рис. 5. К развитию этой идеи можно отнести механизм сегментации памяти в 16- и 32-разрядных МП фирмы INTEL.

 

Рис. 5. Использование диспетчера памяти