Магистрали микропроцессорных систем

Обмен информацией ЦП с памятью и подсистемой ВВ происходит по внутрисистемной магистрали, представляющей собой единый набор шин системы. Наиболее часто используется трехшинная магистраль, состоящая из (см. рис. 6.2,а):

  • • шины данных ШД, предназначенной для обмена данными;
  • • шины адреса ША, по которой передаются адреса ячеек памяти или портов при обращениях;
  • • шины управления ШУ, служащей для управления работой системы.

Магистрали: (а) трехшинная и (б) двухшинная

Рис. 6.2. Магистрали: (а) трехшинная и (б) двухшинная

Некоторые микропроцессоры (например, микроконтроллеры MCS-51) имеют совмещенную шину адреса/данных (ША/Д). Микросистема с двухшинной магистралью приведена на рис. 6.2,6. В этом случае для разделения функций совмещенной шины ША/Д используется строб чтения адреса (ЧтА). При ЧтА = 1 шина ША/Д выполняет функцию передачи адреса, при ЧтА = 0 – функцию передачи данных. Фиксация адреса обычно осуществляется по срезу строба (переходу ЧтА из 1 в 0) в специальном адресном регистре RG (рис. 6.3, а, б).

Схема (а) и временные диаграммы (б), иллюстрирующие принцип обращения к памяти по двухшинной магистрали

Рис. 6.3. Схема (а) и временные диаграммы (б), иллюстрирующие принцип обращения к памяти по двухшинной магистрали

Организация пространств памяти и ввода-вывода

С точки зрения программиста память можно представить как упорядоченный набор 8-разрядных ячеек (рис. 6.4,я). Каждой ячейке памяти (байту) соответствует число (номер), называемое адресом ячейки. Последовательность адресов составляет целочисленный ряд от 0 до 2W-1, где т – разрядность адресного кода, определяемая числом линий адресной шины. Совокупность всех адресов образует адресное пространство памяти. Такое пространство и его адрес называют линейными. В рассмотренных выше 8-разрядных процессорах линейный адрес эквивалентен физическому адресу, который выставляется на адресную шину для обращения к физической памяти емкостью 216 = 64 Кбайт.

Организация пространства памяти (а) и доступа к байту (б), слову (в) и двойному слову (г)

Рис. 6.4. Организация пространства памяти (а) и доступа к байту (б), слову (в) и двойному слову (г)

Линейное адресное пространство обеспечивает доступ к любому байту памяти (рис. 6.4,6). Слова (2 байта) и двойные слова (4 байта) в линейной памяти занимают соседние байты. Порядок расположения байтов внутри слова: сначала следует младший (L-байт), затем – старший (Н-байт) байт слова (рис. 6.4,в,г). Адрес L-байта служит адресом всего слова и может быть как четным, так и нечетным (определяется путем выбора начального адреса Ан).

В адресном пространстве памяти можно выделить три составляющих:

  • • CSEG (Code Segment) – пространство памяти команд (кода, программ);
  • • DSEG (Data Segment) – пространство памяти данных;
  • • RSEG (Register Segment) – пространство памяти программно-доступных регистров.

На организацию памяти команд и данных влияет архитектура МС. Как отмечалось ранее, в системах с гарвардской архитектурой пространства памяти команд и данных разделены. Системы с принстонской архитектурой имеют общую память и единое адресное пространство для команд и данных. Отметим, что при сегментной организации памяти реализуется отдельный доступ к сегментам команд и сегментам данных, однако сами сегменты могут располагаться по любым адресам.

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

Подсистему ввода-вывода (ВВ) можно представить в виде пространства IOSEG (Input/Out Segment – IOSEG) и правил доступа к нему. Возможно два вида пространств IOSEG:

  • изолированное пространство IOSEG представляется набором из п ячеек (портов) с произвольным доступом к каждой из них. Для большинства МС разрядность портов составляет 8 или 16 бит. Подобно пространству памяти пространство ВВ линейно упорядочено. Каждый элемент пространства IOSEG имеет свой адрес. Диапазон адресов зависит от числа т адресных разрядов и имеет пределы 0 и 2т-1. Для многих процессоров предусмотрены команды обращения к портам, например ввода IN и вывода OUT;
  • совмещенное пространство IOSEG. Для него в пространстве памяти данных DSEG выделяются области для адресации портов. Как будет показано ниже, в этом случае используется такая же организация доступа к портам, как и к ячейкам памяти.
 
< Пред   СОДЕРЖАНИЕ     След >