Материал: Tannenbaum

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

Микросхемы процессоров и шины 183

чить ширину шины данных (то есть увеличить количество битов за одну передачу).

Можно повысить скорость работы шины, но сделать это довольно сложно, посколь-
ку сигналы на разных линиях передаются с разной скоростью (это явление назы-
вается

 перекосом шины).

 Чем быстрее работает шина, тем больше перекос.

При увеличении скорости работы шины возникает еще одна проблема: в этом

случае она не будет совместимой с более старыми версиями. Старые платы, разра-

ботанные для более медленной шины, не могут работать с новой. Такая ситуация

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

увеличения производительности просто добавляются новые линии, как показано

на рис. 3.33. Как вы понимаете, в этом тоже есть свои недостатки. IBM PC и его
последователи, например, начали с 8 информационных линий, затем перешли к

16, а затем к 32, и все это в одной и той же шине.

Чтобы обойти эту проблему, разработчики иногда отдают предпочтение мульти-

плексной

 шине.

 В этой шине нет разделения на адресные и информационные ли-

нии. В ней может быть, например, 32 линии и для адресов, и для данных. Сначала
эти линии используются для адресов. Затем они используются для данных. Чтобы

записать информацию в память, нужно сначала передавать в память адрес, а затем

данные. В случае с отдельными линиями адреса и данные могут передаваться вме-

сте. Объединение линий сокращает ширину и стоимость шины, но система рабо-

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

Синхронизация шины

Шины можно разделить на две категории в зависимости от их синхронизации.

Синхронная шина

 содержит линию, которая запускается кварцевым генератором.

Сигнал на этой линии представляет собой меандр с частотой обычно от 5 до

100 МГц. Любое действие шины занимает целое число так называемых

 циклов

шины. Асинхронная шина

 не содержит задающего генератора. Циклы шины

могут быть любой требуемой длины и необязательно одинаковы по отношению

ко всем парам устройств. Ниже мы рассмотрим каждый тип шины отдельно.

Синхронные шины

В качестве примера того, как работает асинхронная шина, рассмотрим временную

диаграмму на рис. 3.34. В этом примере мы будем использовать задающий генера-

тор на 40 МГц, который дает цикл шины в 25 не. Хотя может показаться, что шина

работает медленно по сравнению с процессорами на 500 МГц и выше, не многие
современные шины работают быстрее. Например, шина ISA (она встроена во все
персональные компьютеры с процессором Intel) работает с частотой 8,33 МГц, и даже
популярная шина PCI — с частотой 33 МГц или 66 МГц. Причины такой низкой
скорости современных шин были даны выше: такие технические проблемы, как

перекос шины и требование совместимости.

В нашем примере мы предполагаем, что считывание информации из памяти

занимает 40 не с того момента, как адрес стал постоянным. Как мы скоро увидим,

понадобится три цикла шины, чтобы считать одно слово. Первый цикл начинается

background image

184

Глава 3. Цифровой логический уровень

на нарастающем фронте отрезка Т

ь

 а третий заканчивается на нарастающем фрон-

те отрезка Т

3

, как показано на рис. 3.34. Отметим, что ни один из нарастающих и

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

предполагаем, что для изменения сигнала требуется 1 не. Генератор и линии

ADDRESS, DATA, MREQ, RD, WAIT показаны в том же масштабе времени.

Г

Цикл чтения с 1 периодом ожидания

Т

2

г

Адрес памяти для считывания

X

ns

,

 Данные Y

'мн

'RH

'DH

Время —*-

Рис. 3.34. Временная диаграмма процесса считывания на синхронной шине

Начало Ti определяется нарастающим фронтом генератора. За часть времени

Ti центральный процессор помещает адрес нужного слово на адресные линии.

Поскольку адрес представляет собой не одно значение (в отличие от генератора),

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

Используя то же соглашение, мы видим, что содержание линий данных не имеет

значения до отрезка Т

3

.

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

значение, устанавливаются сигналы MREQ и RD. Первый указывает, что осуще-

ствляется доступ к памяти, а не к устройству ввода-вывода, а второй — что осуще-
ствляется чтение, а не запись. Поскольку считывание информации из памяти за-
нимает 40 не после того, как адрес стал постоянным (часть первого цикла), память
не может передать требуемые данные за период Т

2

. Чтобы центральный процессор

не ожидал поступления данных, память устанавливает линию WAIT в начале от-
резка Т

а

. Это действие вводит периоды ожидания (дополнительные циклы шины),

до тех пор пока память не сбросит сигнал WAIT. В нашем примере вводится один
период ожидания (Т

2

), поскольку память работает слишком медленно. В начале

background image

Микросхемы процессоров и шины

 185

Тз, когда есть уверенность в том, что память получит данные в течение текущего
цикла, сигнал WAIT сбрасывается.

Во время первой половины Т

3

 память помещает данные на информационные

линии. На заднем фронте Т

3

 центральный процессор стробирует (то есть считыва-

ет) информационные линии, сохраняя их значения во внутреннем регистре. Считав

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

Далее проясняется значение восьми символов на временной диаграмме (см.

рис. 3.34 и табл. 3.4). T

AD

, например, — это временной интервал между нарастаю-

щим фронтом Т( и установкой адресных линий. В соответствии с требованиями
синхронизации T

AD

 < 11 не. Значит, производитель процессора 1арантирует, что

во время любого цикла считывания центральный процессор будет выдавать тре-

буемый адрес в пределах 11 не от середины нарастающего фронта TV

Таблица 3.4.

 Некоторые временные характеристики процесса считывания

на синхронной шине

Символ  З н а ч е н и е  М и н и м у м ,  н е  М а к с и м у м ,  н е

TAD Задержка выдачи адреса 11

T

M L

 Промежуток между стабилизацией 6

адреса и установкой сигнала MREQ

Т

м

 Промежуток между задним фронтом 8

синхронизирующего сигнала в цикле Ti
и установкой сигнала MREQ

TR

L

 Промежуток между задним фронтом 8

синхронизирующего сигнала в цикле T

t

и установкой сигнала RD

Tos Период передачи данных до заднего 5

фронта синхронизирующего сигнала

Т

м н

 Промежуток между задним фронтом 8

синхронизирующего сигнала в цикле Тз
и  с б р о с о м сигнала MREQ

Тдн Промежуток между задним фронтом 8

синхронизирующего сигнала в цикле Тэ
и сбросом сигнала RD

Тон Период продолжения передачи данных О

с момента сброса сигнала RD

Условия синхронизации также требуют, чтобы данные поступали на информа-

ционные линии по крайней мере за 5 не (T

D

s) до заднего фронта Т

3

, чтобы дать

данным время установиться до того, как процессор стробирует их. Сочетание

ограничений на T

A

D И T

D

S означает, что в худшем случае в распоряжении памяти

будет только 62,5-11-5=46,5 не с момента появления адреса и до момента, когда
нужно выдавать данные. Поскольку достаточно 40 не, память даже в самом худ-

шем случае может всегда ответить за период Т

3

. Если памяти для считывания тре-

буется 50 не, то необходимо ввести второй период ожидания, и тогда память отве-
тит в течение Т

3

.

background image

1 8 6 Глава 3. Цифровой логический уровень

Требования синхронизации гарантируют, что адрес будет установлен по край-

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

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

Ограничения на Т

м

 и T

R[

. означают, что WREQ и RD будут установлены в пре-

делах 8 не от заднего фронта Т

ь

 В худшем случае у микросхемы памяти после

установки MREQ и RD останется всего 25+25-8-5=37 не на передачу данных по

шине. Это ограничение дополнительно по отношению к интервалу в 40 не и не

зависит от него.

Тмн и TRH определяют, сколько времени требуется на отмену сигналов MREQ и

R~D после того, как данные стробированы. Наконец, Т

О

н определяет, сколько вре-

мени память должна держать данные на шине после снятия сигнала КП. В нашем
примере при данном процессоре память может удалить данные с шины, как только
сбрасывается сигнал RT); при других процессорах, однако, данные могут сохра-
няться еще некоторое время.

Необходимо подчеркнуть, что наш пример представляет собой сильно упро-

щенную версию реальных временных ограничений. В действительности должно

определяться гораздо больше таких ограничений. Тем не менее этот пример на-
глядно демонстрирует, как работает синхронная шина.

Отметим, что сигналы управления могут задаваться или с помощью низкого,

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

Асинхронные шины

Хотя достаточно удобно использовать синхронные шины благодаря дискретным

временным интервалам, здесь все же есть некоторые проблемы. Например, если
процессор и память способны закончить передачу за 3,1 цикла, они вынуждены

продлить ее до 4,0 циклов, поскольку неполные циклы запрещены.

Еще хуже то, что если однажды был выбран определенный цикл шины и в соот-

ветствии с ним были разработаны память и карты ввода-вывода, то в будущем труд-
но делать технологические усовершенствования. Например, предположим, что
через несколько лет после выпуска системы, изображенной на рис. 3.34, появилась
новая память с временем доступа не 40, а 20 не. Это избавило бы нас от периода
ожидания и увеличило скорость работы машины. Теперь представим, что появи-
лась память с временем доступа 10 не. При этом улучшения производительнос-
ти уже не будет, поскольку в данной разработке минимальное время для чтения —

2 цикла.

Если синхронная шина соединяет ряд устройств, одни из которых работают

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

По этой причине были разработаны асинхронные шины, то есть шины без зада-

ющего генератора, как показано на рис. 3.35. Здесь ничего не привязывается к ге-
нератору. Когда задающее устройство устанавливает адрес, MREQ, RD и любой

background image

Микросхемы процессоров и шины

187

другой требуемый сигнал, он выдает специальный сигнал, который мы будем на-
зывать MSYN (Master SYNchronization). Когда подчиненное устройство получает

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

SYNchronization).

Адрес У

Адрес памяти для считывания

MREQ

RD

MSYN

Данные

\

V

JC

SSYN

Рис.

 3.35. Работа асинхронной шины

Сигнал SSYN означает для задающего устройства, что данные доступны.

 Oi

фиксирует их, а затем отключает адресные линии вместе с MREQ, RD и M$YN

Отмена сигнала MSYN означает для подчиненного устройства, что цикл закончен
поэтому устройство отменяет сигнал SSYN, и все возвращается к первоначально-

му состоянию, когда все сигналы отменены.

Стрелочки на временных диаграммах асинхронных шин (а иногда и синх-

ронных шин) показывают причину и следствие какого-либо действия (рис. 3.35)

Установка сигнала MSYN приводит к запуску информационных линий, а также

 ь

установке сигнала SSYN. Установка сигнала SSYN, в свою очередь, вызывает от-
ключение адресных линий, MREQ, RD и MSYN. Наконец, отключение MSYN вы-
зывает отключение SSYN, и на этом процесс считывания заканчивается.

Набор таких взаимообусловленных сигналов называется

 полным квитирова-

нием.

 Здесь, в сущности, наблюдается 4 события:

1. Установка сигнала MSYN.

2. Установка сигнала SSVN в ответ на сигнал
3. Отмена сигнала MSYN в ответ на сигнал
4. Отмена сигнала SSYN в ответ на отмену сигнала MSYN.

Следует уяснить, что взаимообусловленность сигналов не зависит от синхро-

низации. Каждое событие вызывается предыдущим событием, а не импульсами

генератора. Если какая-то пара двух устройств (задающего и подчиненного) рабо-

тает медленно, это никак не повлияет на следующую пару устройств, которая ра-
ботает гораздо быстрее.

Источник: https://files.student-it.ru/previewfile/18474