Реклама:

Шины можно разделить на две категории в зависимости от их синхронизации. Синхронная шина содержит линию, которая запускается кварцевым генератором. Сигнал на этой линии представляет собой меандр с частотой обычно от 5 до 100 МГц. Любое действие шины занимает целое число так называемых циклов шины. Асинхронная шина не содержит задающего генератора. Циклы шины могут быть произвольными и не обязательно одинаковыми для всех пар устройств. Далее мы рассмотрим каждый тип шины отдельно.

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

В качестве примера того, как работает асинхронная шина, рассмотрим временную диаграмму на рис. 3.35. В этом примере мы будем использовать задающий генератор на 100 МГц, который дает цикл шины в 10 не. Хотя может показаться, что шина работает медленно по сравнению с процессорами на 3 ГГц и выше, не многие современные шины работают быстрее. Например, популярная шина PCI работает с частотой 33 МГц или 66 МГц. О причинах такой низкой скорости современных шин уже рассказывалось: к ним можно отнести такие технические проблемы, как перекос шины и необходимость совместимости.

В нашем примере мы предполагаем, что считывание информации из памяти занимает 15 не с момента установки адреса. Как мы скоро увидим, понадобится три цикла шины, чтобы считать одно слово. Первый цикл начинается на фронте отрезка Ть а третий заканчивается на фронте отрезка Т4, как показано на рис. 3.35. Отметим, что ни один из фронтов и спадов не нарисован вертикальным, потому что ни один электрический сигнал не может изменять свое значение за нулевое время. В нашем примере мы предполагаем, что для изменения сигнала требуется 1 не. Генератор и линии адреса и данных, а также линии MREQ, RD, WAIT показаны в том же масштабе времени.

Начало Tt определяется фронтом генератора. За время Tt центральный процессор помещает адрес нужного слово на адресные линии. Поскольку адрес представляет собой не одно значение (в отличие от генератора), мы не можем показать его в виде одной линии на схеме. Вместо этого мы показали его в виде двух линий с пересечениями там, где этот адрес меняется. Серый цвет на схеме показывает, что в этот момент не важно, какое значение принял сигнал. Используя то же соглашение, мы видим, что содержание линий данных не имеет значения до отрезка Т3.

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

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

После того как у адресных линий появляется возможность приобрести новое значение, устанавливаются сигналы MREQ и RD. Первый указывает, что осуществляется доступ к памяти, а не к устройству ввода-вывода, а второй - что осуществляется чтение, а не запись. Поскольку после установки адреса считывание информации из памяти занимает 15 не (часть первого цикла), память не может передать требуемые данные за период Т2. Чтобы центральный процессор не ожидал поступления данных, память устанавливает сигнал WAIT в начале отрезка Т2. Это означает ввод периодов ожидания (дополнительных циклов шины) до тех пор, пока память не сбросит сигнал WAIT. В нашем примере вводится один период ожидания (Т2), поскольку память работает слишком медленно. В начале отрезка Т3, когда есть уверенность в том, что память получит данные в течение текущего цикла, сигнал WAIT сбрасывается.

Во время первой половины отрезка Т3 память помещает данные на информационные линии. На спаде отрезка Т3 центральный процессор стробирует (то есть считывает) информационные линии, сохраняя их значения во внутреннем регистре. Считав данные, центральный процессор сбрасывает сигналы MREQ и RD. В случае необходимости на следующем фронте может начаться еще один цикл памяти. Эта последовательность может повторяться бесконечно.

Далее проясняется значение восьми символов на временной диаграмме (см. рис. 3.35) - они перечислены в табл. 3.4. ТАО, например, - это временной интервал между фронтом Тх и установкой адресных линий. В соответствии с требованиями синхронизации ТАЕ> < 4 не. Это значит, что производитель процессора гарантирует, что во время любого цикла считывания центральный процессор сможет выдать требуемый адрес в пределах И не от середины фронта

Таблица 3.4. Некоторые временные характеристики процесса считывания на синхронной шине

Символ

Значение

Минимум

Максимум Единицы измерения

 

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

 

4 не

 

Промежуток между стабилизацией адреса и установкой сигнала Мн;Е0

НС

Тм

Промежуток между спадом синхронизирующего сигнала в цикле и установкой сигнала Мн;Е0

 

3 не

 

Промежуток между спадом синхронизирующего сигнала в цикле и установкой сигнала ЯР

 

3 не

 

Период передачи данных до спада синхронизирующего сигнала

НС

 

Промежуток между спадом синхронизирующего сигнала в цикле Т3 и сбросом сигнала МЯЕО

 

3 не

 

Промежуток между спадом синхронизирующего сигнала в цикле Т3 и сбросом сигнала

 

3 не

 

Период продолжения передачи данных с момента сброса сигнала н;0

НС

Условия синхронизации также требуют, чтобы данные поступали на информационные линии по крайней мере за 2 не (Т^) до спада Т3, чтобы дать данным время установиться до того, как процессор начнет их стробировать. Сочетание ограничений на ТАО и Т08 означает, что в худшем случае в распоряжении памяти будет только 25 - 4 - 2 = 19 не с момента появления адреса и до момента, когда нужно выдавать данные. Поскольку достаточно 10 не, память даже в самом худшем случае может всегда ответить за период Т3. Если памяти для считывания требуется 20 не, то необходимо ввести второй период ожидания, и тогда память ответит в течение Т4.

Требования синхронизации гарантируют, что адрес будет установлен по крайней мере за 2 не до того, как появится сигнал МЫЕ(). Это время может быть важно в том случае, если МЫЕ() инициирует выбор элемента памяти, поскольку некоторые типы памяти требуют определенного времени на установку адреса до выбора элемента памяти. Ясно, что разработчику системы не следует выбирать микросхему памяти, которой нужно 3 не на установку.

Ограничения на Тм и TRL означают, что сигналы MREQ и RD будут установлены в пределах 3 не от спада В худшем случае у микросхемы памяти после установки сигналов MREQ и RD останется всего 10 + 10 - 3 - 2 = 15 не на передачу данных по шине. Это ограничение вводится дополнительно по отношению к интервалу в 15 не и не зависит от него.

Интервалы Тмн и TRH определяют, сколько времени требуется на отмену сигналов MREQ и RD после того, как данные стробированы. Наконец, интервал TDH определяет, сколько времени память должна держать данные на шине после снятия сигнала RD. В нашем примере при данном процессоре память может удалить данные с шины, как только сбрасывается сигнал RD; в случае других процессоров данные могут сохраняться еще некоторое время.

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

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

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

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

Еще хуже то, что если однажды был выбран определенный цикл шины и в соответствии с ним разработана память и карты ввода-вывода, то в будущем трудно делать технологические усовершенствования. Например, предположим, что через несколько лет после выпуска системы, изображенной на рис. 3.35, появилась новая память с временем доступа не 15, а 8 не. Это время позволяет избавиться от периода ожидания и увеличить скорость работы машины. А теперь представим, что появилась память с временем доступа 4 не. При этом улучшения производительности уже не будет, поскольку в данной разработке минимальное время чтения - 2 цикла.

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

По этой причине были разработаны асинхронные шины, то есть шины без задающего генератора (рис. 3.36). Здесь ничего не привязывается к генератору. Когда задающее устройство устанавливает адрес, сигнал MREQ, RD или любой другой требуемый сигнал, оно выдает специальный синхронизирующий сигнал MSYN (Master SYNchronization). Когда подчиненное устройство получает этот сигнал, оно начинает выполнять свою работу настолько быстро, насколько это возможно. Когда работа заканчивается, подчиненное устройство выдает сигнал SSYN (Slave SYNchronization).

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

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

Сигнал ББУЫ означает для задающего устройства, что данные доступны. Оно фиксирует их, а затем сбрасывает адресные линии вместе с сигналами М11Е(), КБ и МЗУЫ. Сброс сигнала МБУЫ означает для подчиненного устройства, что цикл закончен, поэтому устройство сбрасывает сигнал Б БУКТ, и все возвращается к первоначальному состоянию, когда все сигналы сброшены.

Стрелочки на временных диаграммах асинхронных шин (а иногда и синхронных шин) показывают причину и следствие какого-либо действия (см. рис. 3.36). Установка сигнала МБУК приводит к включению информационных линий, а также к установке сигнала Б БУК Установка сигнала ББУЫ, в свою очередь, вызывает отключение адресных линий, а также линий MR.EC), КБ и МБУК Наконец, сброс сигнала МЗУЫ вызывает сброс сигнала ЗБУЫ, и на этом процесс считывания заканчивается.

Набор таких взаимообусловленных сигналов называется полным квитированием. Здесь, в сущности, наблюдается 4 события:

1. Установка сигнала МЗУЫ.

2. Установка сигнала ЗБУЫ в ответ на сигнал МЗУЫ.

3. Сброс сигнала МЗУЫ в ответ на сигнал Б БУК

4. Сброс сигнала Б БУМ в ответ на сброс сигнала МБУК

Следует уяснить, что взаимообусловленность сигналов не является синхронной. Каждое событие вызывается предыдущим событием, а не импульсами генератора. Если какая-то пара устройств (задающее и подчиненное) работает медленно, это никак не влияет на другую пару устройств, которая может работать гораздо быстрее.

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

Ширина шины || Оглавление || Арбитраж шины