Таненбаум Э.- Архитектура компьютера. стр.158

Конвейерный режим шины памяти процессора Pentium 4

Современные процессоры, такие как Pentium 4, работают гораздо быстрее современных динамических ОЗУ. Чтобы процессор не простаивал, необходима максимально возможная производительность памяти. По этой причине шина памяти процессора Pentium 4 работает в конвейерном режиме, когда в шине происходят одновременно 8 операций. Понятие конвейера мы рассматривали

в главе 2, когда говорили о конвейерных процессорах. Отметим, что память тоже может быть конвейерной.

Обращения процессора к памяти, которые называются транзакциями, состоят из шести фаз:

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

2. Запрос.

3. Сообщение об ошибке.

4. Слежение.

5. Ответ.

6. Передача данных.

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

В системе с процессором Pentium 4 в каждой фазе используются определенные сигналы, отличные от сигналов других фаз, поэтому каждая из них не зависит от остальных. Шесть групп этих сигналов показаны в левой части рис. 3.42^ Например, один из процессоров может пытаться получить доступ к шине, используя сигналы арбитража. Как только процессор получает право доступа к шине, он освобождает эти линии шины и занимает линии запроса. Тем временем другой процессор или какое-нибудь устройство ввода-вывода может войти в фазу арбитража шины и т. д. Рисунок 3.43 иллюстрирует ситуацию одновременного выполнения нескольких транзакций.

Фаза арбитража шины на рис. 3.43 не показана, поскольку она не всегда нужна. Например, если устройство, обладающее в данный момент шиной (часто это центральный процессор), захочет произвести еще одну транзакцию, ему не понадобится заново получать доступ к шине. Запрашивать шину заново нужно только в том случае, если оно уступило ее другому устройству. Транзакции 1 и 2 обычные: пять фаз за пять циклов шины. Во время транзакции 3 вводится более длительная фаза передачи данных (когда, например, требуется передать целый блок или ввести режим ожидания). Вследствие этого транзакция 4 не может начать фазу передачи данных сразу после фазы ответа. Фаза передачи данных начинается только после того, как будет сброшен сигнал DBSY#. Фаза ответа в транзакции 5 также может занимать несколько циклов шины, что задерживает транзакцию 6. Наконец, мы видим, что в транзакции 7 также происходит задержка. В действительности же маловероятно, что центральный процессор будет пытаться начать новую транзакцию на каждом цикле шины, поэтому простои не такие уж длительные.

1 В левой части рисунка показано только 5 групп. Сигналы еще одной фазы (фазы слежения) почему-то оказались в правой части рисунка. — Примеч. ред.


⇐ Предыдущая страница| |Следующая страница ⇒