Обзор микроархитектур современных десктопных процессоров. Часть 3
Страница 4. Внешние интерфейсы процессоров


Внешние интерфейсы процессоров

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

Наиболее традиционным способом организации внешнего интерфейса является шина FSB (Front Side Bus), используемая в процессорах компании Intel. В процессорах P-M, P-M2, P-4 и P8 используется одинаковая (по организации и протоколу) 64-битная шина с «учетверённой» скоростью передачи данных QDR (Quad Data Rate). Шина FSB соединяет один или два процессора (иногда больше) и контроллер, обеспечивающий доступ к оперативной памяти и внешним устройствам. Этот контроллер входит в состав набора системной логики (чипсета), его обычно называют «Northbridge» («Северный мост»).

В каждом такте синхронизации шины по ней может быть передана команда либо четыре порции данных по 64 бита (8 байт). Частота синхронизации шины находится в диапазоне 200-266 МГц для процессоров P-4/P-4E, и 266-333 МГц для процессоров P8. Это соответствует частоте передачи 8-байтных порций данных, равной 800-1066 МГц и 1066-1333 МГц, и предельной скорости передачи данных из памяти (в память) 6.4-8.5 Гбайт/с и 8.5-10.6 Гбайт/с.

Шинная организация системы имеет свои недостатки. В системе, содержащей два или более процессоров (процессорных ядер), шина FSB ограничивает пропускную способность при доступе в память. Использование режима передачи данных QDR с относительно невысокой частотой синхронизации приводит к дополнительным потерям времени при обращении в память — на обращение тратится несколько тактов синхронизации шины, что может увеличить латентность доступа на 20-25 нс и более. Наконец, шина FSB может являться узким местом при наличии внешних устройств с очень высоким темпом передачи данных (например, коммуникационных контроллеров в кластерах). Для ослабления ограничений такого рода иногда используют многошинную организацию систем, когда, например, две пары процессоров группируются на двух независимых шинах, которые объединяются (управляются) специальным контроллером.

Несколько иначе организован внешний интерфейс в процессоре IBM PPC970. Он соединяется с контроллером памяти через два однонаправленных 32-битных канала (последовательные шины) — один для чтения из памяти, другой для записи. Данные передаются с «удвоенной» скоростью (DDR, Double Data Rate). Предельная скорость передачи данных по каждому каналу может достигать 5 Гбайт/с (для процессора с частотой 2.5 ГГц), однако в силу последовательной организации реально достигается скорость на уровне 90% от предельной. Достаточно высокая частота синхронизации позволяет несколько снизить потери времени на доступ, однако скорость канала недостаточна для чтения данных из памяти в необходимом темпе.

Наиболее интересным образом организованы интерфейсы в процессоре AMD K8. На кристалле этого процессора содержится встроенный контроллер оперативной памяти, непосредственно управляющий сигналами, посылаемыми на микросхемы памяти. Поскольку управляющая логика такого контроллера непосредственно связана с ядром процессора и может работать на высокой частоте, исключаются потери времени на доступ к данным. В сравнении с процессорами на шине FSB, время доступа к памяти может оказаться примерно в полтора раза ниже (например, 45-50 нс против 70 нс), что повышает производительность процессора за счёт снижения потерь на ожидание данных. Современные варианты процессоров K8 могут работать с двумя каналами памяти DDR-400, обеспечивая предельную пропускную способность в 6.4 Гбайт/с. В настоящее время осуществляется переход к поддержке памяти DDR2-667 и DDR2-800, что позволит повысить пиковую пропускную способность до 10.6 Гбайт/с и 12.8 Гбайт/с, соответственно.

Взаимодействие с контроллером внешних устройств осуществляется через специальные высокоскоростные последовательные каналы HyperTransport (HT). Всего в процессоре может быть три таких канала с частотой синхронизации 1 ГГц при «удвоенной» скорости передачи (DDR). Каждый канал состоит из двух однонаправленных шин шириной 16 бит (2 байта). Предельная скорость передачи данных составляет 4 Гбайт/с (в каждом направлении), реальная — несколько ниже.

Три канала HT могут быть использованы для объединения двух и более процессоров в многопроцессорную систему с общей памятью. В этой системе каждый процессор имеет собственную, индивидуальную оперативную память, доступ к которой может осуществляться из любого процессора. Выбор нужного канала HT, и последующая маршрутизация запроса производится автоматически, на аппаратном уровне. По существу, при доступе в «чужую» (нелокальную) память канал HT исполняет роль системной шины, а удалённый процессор — роль контроллера памяти. Латентность при доступе к «чужой» памяти выше, чем к локальной, а темп чтения — существенно ниже. Поэтому число процессоров в многопроцессорной системе обычно не превышает двух или четырёх (при максимуме восемь), а высокая эффективность вычислений достигается лишь при исполнении достаточно независимых программ, «привязанных» к конкретному процессору и его локальной памяти.

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

Однако встроенный контроллер памяти имеет и свои недостатки. В связи с тем, что повышаются электрические требования к процессору с встроенным контроллером, бывает затруднено использование конфигураций с большим количеством чипов памяти, либо в таких конфигурациях происходит снижение скоростных характеристик памяти. В ряде случаев приходится прибегать к применению так называемой буферизованной (регистровой) памяти, которая создаёт меньшую электрическую нагрузку, но при этом имеет худшие скоростные характеристики. При создании систем с общей памятью возникают проблемы с организацией вычислений, поскольку такие системы являются неоднородными по доступу к памяти — время и скорость доступа к локальной и «чужой» памяти сильно различаются.

По всей видимости, с повышением скорости работы памяти и увеличением потребностей процессоров в пропускной способности от использования встроенных контроллеров придётся отказаться — они будут заменены вынесенными индивидуальными контроллерами, соединяемыми с процессорами при помощи высокоскоростных шин.

 
« Предыдущая статья   Следующая статья »