Скачиваний:
84
Добавлен:
13.03.2016
Размер:
101.89 Кб
Скачать

Лекция 8

3. Магистраль микропроцессорной системы

Каждая микросхема процессора содержит набор выводов, через которые происходит обмен информацией с внешним миром. Эти выводы подразделяются на три типа: адресные, информационные (данные) и управляющие, которые и являются основой трех шинной магистрали микросистемы. Эти выводы называют шиной адреса (AB - Address Bus), шиной данных (DB – Data Bus) и шиной управления (CB – Control Bus). Чтобы, например, выбрать команду, ЦПУ помещает на шину адреса адрес команды. Затем формирует сигналы на одной или нескольких линиях шины управления, чтобы сообщить памяти о выполнении операции чтения. В ответ память помещает на шину данных требуемое слово и посылает сигнал о том, что это сделано. Когда ЦПУ получает данный сигнал, он записывает выставленное слово в регистр команд.

Число адресных выводов и число выводов шины данных – два ключевых параметра, определяющих производительность ЦПУ. При наличии m адресных линий можно обратится к 2*m ячейкам памяти. Обычно m=16,20,32,64. ЦПУ, содержащий n линий шины данных, может считывать или записывать n-битное слово за одну операцию. Обычно n=8,16,32,64.

Линии шины управления регулируют и синхронизируют поток данных, а также выполняют другие разнообразные функции. Все шины управления содержат линии питания, “земли” и синхронизирующего сигнала. Остальные выводы разнятся от одной шины к другой. Тем не менее, линии шины управления можно разделить на несколько основных групп:

  1. Управление шиной.

  2. Прерывание.

  3. Арбитраж шины.

  4. Состояние.

  5. Разное.

3.1. Циклы обращения к магистрали

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

Рассмотрим простую магистраль со следующим набором сигналов управления в манере Intel:

RD (Read) – строб чтения памяти;

WR (Write) – строб записи в память;

READY – готовность к обмену.

Временные диаграммы передачи данных через магистраль однотипны и имеют вид представленный на рис.3.1.

На диаграммах выходные данные памяти истинны в момент окончания строба RD, тогда как формируемые ЦПУ выходные данные в течение действия сигнала WR.

В некоторых случаях, например, когда в МПС используются медленно работающие компоненты или некоторые из модулей еще не готовы к обмену по ряду причин, не зависящих от ЦПУ, длительность стробов WR и RD могут оказаться недостаточными для правильного обмена со стороны компонента. Тогда для организации надежного завершения магистральной операции в состав магистрали вводят специальную линию READY.

В каждом цикле обращения к магистрали перед окончании строба RD или WR ЦПУ проверяет линию READY. При подтверждении обмена ЦПУ завершает операцию на магистрали, в противном случае он переходит в состояние ожидания подтверждения, в котором остается до установления сигнала READY (рис.3.2).

Рассмотрим простую магистраль со следующим набором сигналов управления в манере Motorola:

STB – строб операции на магистрали;

W/R – тип операции запись/чтение;

ACK – подтверждение операции.

На рис.3.3. приведена временная диаграмма цикла чтения в манере Motorola.

По сигналу ACK ЦПУ осуществляет прием данных с шины.

3.2. Двухшинная магистраль

В МПС с целью сокращения ширины магистрали вводят совмещенную шину адреса/данных (AD), по которой передаются как адреса, так и данные. Этап передачи адресной информации отделен по времени от этапа передачи данных и стробируется специальным сигналом ALE (Address Latch Enable), который включен в состав CB.

На рис.3.4 представлена временная диаграмма работы такой магистрали.

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

3.3. Магистраль PCI

В МПС для подключения к ЦПУ различного рода устройств используется магистраль PCI (Peripheral Component Interconnect – взаимодействие периферийных компонентов), разработанную Intel. Версия PCI 2.2 работает с частотой 66 МГц, способна передать 64 бита за цикл, а ее общая пропускная способность составляет 526 Мбайт/c.

Во-первых, этого не достаточно для обмена с ОП, а во-вторых, PCI не совместима со старой магистралью ISA. Поэтому на Intel разработали мосты между магистралями. Мост PCI связывает центральный процессор, память и магистраль PCI. Мост ISA связывает магистраль PCI с магистралью ISA. Существуют специальные мосты, которые связывают две шины PCI. Следовательно МПС могут содержать несколько отдельных магистралей PCI. Мосты могут быть главными (Host) или агентами (Agent).

Магистраль PCI является синхронной. Все транзакции (запросы) осуществляются между задающим и подчиненным устройством. Магистраль PCI поддерживает пространство памяти, ввода/вывода (I/O) и конфигурации.

Адресные и информационные шины объединены. При чтении во время такта 1 задающее устройство передает адрес на шину. Во время такта 2 задающее устройство удаляет адрес и шина резервируется таким образом, чтобы подчиненное устройство могло ее использовать. Во время такта 3 подчиненное устройство выдает запрашиваемые данные. При операции записи шине не нужно переключаться. Тем не менее минимальная транзакция занимает три такта. Допускаются пересылки блоков данных неограниченной длины, а также другие операции.

Для передачи по магистрали данных, устройство сначала должно получить к ней доступ. Магистраль PCI управляется централизованным арбитром, как показано на рис.3.6. Арбитр шины встраивается в один из мостов. Линии REQ# используются для запроса магистрали, а динии GNT# - для получения разрешения на доступ к магистрали.

Чтобы сделать запрос на доступ к магистрали, устройство PCI (в том числе и ЦПУ) устанавливает сигнал REQ# и ждет, пока арбитр не выдаст сигнал GNT#. Если арбитр выдал сигнал GNT#, то устройство может использовать магистраль в следующем такте. Алгоритм арбитра допускает арбитраж по кругу, по приоритету и другие схемы.

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

Магистраль PCI содержит ряд обязательных сигналов:

CLK – тактовая частота.

AD (32 линии)– шина адресов/данных.

PAR – бит четности шины адресов/данных.

C/BE# (4 линии) - команда/разрешение соответствующего байта на шине AD.

FRAME# - устанавливается задатчиком и обозначает начало транзакции (установлены адрес и команда).

IRDY# - при чтении задающее устройство готово принять данные, а при записи данные находятся на шине.

IDSEL - считывание пространства конфигурации.

DEVSEL# - подчиненное устройство распознало свой адрес и ждет сигналы.

TRDY# – при чтении подчиненное выставило данные, а при записи – готово принять данные.

STOP# - подчиненное устройство требует прервать транзакцию.

PERR# - обнаружена ошибка четности данных.

SERR# - обнаружена ошибка четности адреса или системная ошибка.

RST# - перезагрузка.

Команды магистрали - это запись или чтение в одно из трех адресных пространств, подтверждение прерывания, работа с кэш-памятью.

Сигнал IDSEL связан с тем, что у каждого устройства PCI должно быть пространство конфигураций на 256 байт, которое доступно другим устройствам. Это пространство содержит характеристики устройства и используется в режиме автоматического конфигурирования при инициализации МПС.

Магистраль PCI содержит ряд факультативных сигналов:

REQ64# - запрос задатчика на 64-битную транзакцию.

ACK64# - разрешение 64-битной транзакции подчиненным устройством.

AD – дополнительные 32 линии шины адресов/данных. PAR64

C/BE# - дополнительные 4 бита для указания, к каким байтам слова выполняется обращение.

LOCK – блокировка магистрали при транзакции одним из процессоров мультипроцессорной системы.

SBO# - обращение к кэш-памяти другого процессора.

SDONE# - отслеживание адресов, по которым произошли изменения завершено.

INTx – запрос прерывания.

JTAG – 5 сигналов порта граничного сканирования по стандарту IEEE P1149.1.

M66EN – выбор тактовой частоты 33/66МГц.

На рис.3.7 приведена временная диаграмма транзакции чтения.

На рис.3.8 приведена временная диаграмма транзакции блочного чтения.

Соседние файлы в папке ВстроенныеСистемы