logo
МП устройства СУ / Конспект лекций

2.2. Структура мп-системы с общей шиной.

Часто при построении МП-системы для связи процессорного модуля с периферийными используется одна группа шин. В этом случае микропроцессор обращается к внешним устройствам ввода-вывода как к элементу памяти. Данная организация проста с точки зрения задействованных аппаратных средств, но допускает лишь последовательный во времени режим обмена информацией между периферийными модулями и процессорным модулем, т.е. невозможно одновременно обратиться и к памяти и к портам ввода-вывода. Это обстоятельство снижает производительность системы с точки зрения организации обмена информации в ней, но при этом не требует организации сложной аппаратной реализации. Во многих случаях управляющих систем, где не требуется сверхбыстрой реакции на внешние возмущения, такая структура является наиболее оптимальной. Структурная схема МП-системы с общей шиной представлена на рис.2.2.

Рис.2.2. Структура МП-системы с общей шиной.

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

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

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

Рассматриваемая структура содержит два модуля памяти: модуль ОЗУ и модуль ПЗУ. Некоторые МП-системы могут содержать несколько модулей ОЗУ и ПЗУ, каждый из которых имеет вход для приема сигнала «выбор модуля». Во всех случаях, когда содержится более одного модуля памяти, часть кода адреса ячейки памяти должна указывать, к какому модулю памяти производиться обращение. Эта часть называется кодом выбора модуля. Оставшаяся часть кода адреса выбирает ячейку памяти внутри модуля и называется адресом слова. Дешифрация кода выбора модуля производится с помощью дешифратора выбора модуля памяти, который вырабатывает соответствующий сигнал CS. Дешифрация адреса слова осуществляется внутренним дешифратором модуля. Входы этого дешифратора (адресные шины модуля памяти) подключаются к соответствующим линиям шины адреса.

Рассматриваемая структура содержит один порт ввода и один порт вывода. Однако таких портов может быть и гораздо больше. Все входы CS портов ввода и вывода подключаются через дешифратор номеров портов к линиям шины адреса. Порты «активизируются» при появлении на шине адреса кодов, соответствующих их номерам. Дополнительным условием «активизации» любого периферийного модуля является наличие соответствующего сигнала на шине управления. По линиям шины управления от процессорного модуля к периферийным поступают сигналы, определяющие выбор группы модулей (порты или модули памяти), а также направление обмена данными: сигнал чтения из модулей запоминающих устройств – MR (read memory), сигнал записи в модули запоминающих устройств – MW (write memory), сигнал чтения из порта ввода – IOR (read input/output), сигнал записи в порт вывода – IOW (write input/output).

Таким образом, при записи, например, числа в ячейку памяти ОЗУ процессорный модуль устанавливает на шине адреса адрес этой ячейки памяти, на шине данных – двоичный код записываемого числа и выдает на соответствующую линию шины управления сигнал MR. При этом с шины данных число записывается в адресуемую ячейку памяти ОЗУ. При чтении, например, данных из какого-либо порта ввода процессорный модуль устанавливает на шине адреса адрес этого порта и выдает на соответствующую линию шины управления сигнал IOR. При этом адресуемый порт ввода передает информацию со своего входа на шину данных, откуда она считывается процессорным модулем.

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

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

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