Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
системные шины.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.37 Mб
Скачать

5.2. Процессорная шина

Процессорная шина, фронтальная системная шина FSB (Frontal System Bus) или просто системная шина- это названия информационной магистрали, связывающей процессор с памятью и другими устройствами компьютера. Первоначально, на ранних этапах развития персональных компьютеров, процессорная шина не была специализирована и в качестве её использовалась универсальная системная шина компьютера. В настоящее время процессорная шина (FSB) является отдельным устройством, с собственной разрядностью, тактовой частотой и архитектурой, она связывает процессор с микросхемой северного моста чипсета и через него- с видеоподсистемой, памятью и южным мостом, который управляет устройствами ввода-вывода. Существует несколько разновидностей FSB, в зависимости от типа процессора.

 Разновидности современных процессорных шин

Таблица 5.1.

Процессор

Тип FSB

Разрядность, бит

Частота, МГц

Пропускная способность, Гбайт/сек

Celeron, Pentium, Core 2 Duo, Core 2 Quad

Quad Pumped Bus

64

100-400

3,2- 8,5

Sempron,Athlon 64,

Athlon x2,Phenom

Hyper Transport 2.0

 

 

 

 Hyper Transport 3.0

16x16

800- 1000

 

 

 

1800-2000

2x(3.2- 4.0)

 

2x(7.2-8.0)

Для процессоров компании AMD (Sempron, Athlon 64, Ahlon x2, Phenom) понятие системной шины несколько меняется, поскольку в этом процессоре есть интегрированный контроллер памяти DDR400 (DDR2-667/800) и системный интерфейс Нурег-Тгаnsport (800 - 4000 МГц). Это означает, что данный процессор взаимодействует с оперативной памятью напрямую, используя два канала передачи данных, обеспечивающих пропускную способность 6,4 Гбайт/с соответственно (у DDR2-800 для 2-х каналов Bandwidth составит 12.8 ГГб/с), минуя системную логику компьютера (чипсет). В то же время обмен информацией с видеоподсистемой и внешними устройствами ввода-вывода происходит традиционно- по FSB Hyper Transport, через северный мост чипсета.

Рис.5.3. Реализация процессорной шины и шины памяти у процессоров компании AMD

Шина Hyper Transport

Hyper Transport ранее известная как Lightning Data Transport (LDT)- это двунаправленная последовательно/параллельная, полнодуплексная   компьютерная шина с высокой пропускной способностью и малыми задержками шина, способная передавать данные одновременно в двух направлении (вниз- от процессора к чипсету и вверх- в направлении процессора от чипсета).

Исторически HyperTransport разрабатывался AMD в качестве процессорной шины нового поколения специально для чипов с интегрированным контроллером памяти (архитектура AMD64). Напомним, что в многопроцессорных системах на основе AMD Opteron подсистема памяти "размазана" по всем процессорам - у каждого есть своя локальная память, подключенная через интегрированный контроллер, и каждый может обращаться к памяти любого другого процессора (рис. 1).

Рис1

Это позволяет увеличить производительность и объем подсистемы памяти (типичного "бутылочного горлышка" SMP-систем) пропорционально числу работающих с нею процессоров, тем самым заметно увеличивая масштабируемость системы1. Такая архитектура известна уже давно - например, процессоры Silicon Graphics (SGI) в мощных графических станциях. От них архитектура и получила свое название - Non-Uniform Memory Architecture (NUMA). "Неоднородная" она потому, что "накладные расходы" на обращение к разным участкам памяти сильно отличаются: локальная память "быстрая", а память соседа - "медленная", причем чем "дальше" расположен сосед, тем медленнее память. Медлительность является следствием того, что для обращения к соседу требуется проделать целый ряд операций - переслать по межпроцессорной шине запрос, дождаться его выполнения контроллером памяти адресата, вернуть данные по шине обратно. Очевидно, что чем быстрее при этом шина, тем более "однородна" память2. Исходя из этих соображений и проектировалась новая шина (тогда еще называвшаяся Lightning Transport), призванная обеспечить пропускную способность не меньшую, чем у оперативной памяти, и минимальные задержки на передачу данных и сообщений.

Архитектура шины НТ

Понятие "последовательная шина" вовсе не определяется ее однобитной шириной. Куда важнее то, что параллельные шины жестко привязаны к их физической реализации, а последовательные - передают любые данные посредством пакетов через некоторую абстрактную физическую среду. Поэтому HT (минимальная ширина которой - 2 бита) с полным правом может называться последовательной шиной - любые данные, передаваемые по ней, упаковываются в пакеты стандартного вида. Правда, требования скорости наложили на протокол передачи данных сильнейшие ограничения - столь изящной "layered architecture", как у Intel, мы здесь не увидим, да и влияние физической реализации линков HT на общую архитектуру шины очень заметно. Поэтому мы пойдем "снизу вверх" - от электрики к протоколам передачи.

Физический уровень

Н а схемотехническом уровне разводка НТ выглядит очень просто - в чем-то даже проще, нежели у PCI Express. Предусмотрены только соединения точка-точка, двунаправленные (одно направление на прием, другое на передачу), используется низковольтная дифференциальная сигнальная пара (напряжение высокого и низкого уровней +1,7 В и –0,3 В, импеданс [полное сопротивление] 100 Ом, терминаторы шины встроены в кристаллы контроллеров). Возможно использование 2, 4, 8, 16 или 32 линий на каждое направление (каждая линия - два проводника), причем "ширина" направлений, в отличие от PCI Express, не обязана быть одинаковой (например, разрешается использовать 2 линии на прием и 32 на передачу, см. рис. 3).

Данные передаются по традиционной схеме DDR - есть дополнительные линии для тактового сигнала, передача данных синхронизируется по началу и окончанию каждого тактового импульса (то есть за такт данные передаются дважды). Передача и прием данных в НТ тактируются независимо, причем если ширина направления превышает 8 бит, то тактирующих линий больше одной - каждые 8 бит тактируются отдельной линией.3 Питание предусмотрено только для нужд самой шины - это линия +2,5 В, все остальное устройство HyperTransport должно питаться от внешнего источника. Для наглядности на рис. 3 показан пример структуры шины HT.

"Базовая" тактовая частота шины HT - 200 МГц (то есть частота передачи данных - 400 МГц). Это минимально возможная частота функционирования шины, она определяет и минимальную пропускную способность HT-линка: 2 бита (минимальная ширина направления) x 200 МГц (минимальная частота) x 2 (DDR) = 100 Мбайт/с. В отличие от PCI Express, где 20% от этой величины "съедает" кодирование "8/10", это "честные" 100 Мбайт/с, то есть теоретически все они доступны устройству (пакетирование, конечно, снизит реальную пропускную способность). Все последующие тактовые частоты определяются как кратные данной - 400 МГц, 600 МГц, 800 МГц (HyperTransport 1.0–1.1), 1000 МГц (последние ревизии HT 1.x и HT 2.0), 1200 и 1400 МГц (HT 2.0); см. табл. 1.

Из таблицы, например, видно, что даже на минимальной разводке (2+2 бита, 21 проводник, 400 Мбайт/с) 800-мегагерцовая HT давно позволяет получить производительность вдвое большую, чем PCI Express x1 (1+1 бит, 36 разъемов в слоте, 250 Мбайт/с). Производительность "старших" решений HT (32 бита) соответствует по скорости двухканальной памяти DDR400; следующий шаг дает производительность двух каналов DDR500, а HT 2.0 в принципе вполне достаточен для передачи данных от двухканальной памяти DDR2-800). Столь широкого спектра скоростей за глаза хватает для любых применений - от простейших до сверхпроизводительных. Неудивительно, что HT получил широчайшую поддержку в тех областях, где производительность критична (см. врезку в конце статьи) - эта шина с успехом используется помимо AMD Athlon 64/Opteron еще и в новейших процессорах Apple G5 (IBM) и сопутствующих чипсетах, в процессорах Transmeta, в разнообразных сетевых устройствах (Cisco, Broadcom), в чипсетах Nvidia и ALi/ULi.4

В принципе технология могла бы с легкостью занять место PCI Express. Этому мешает только неудобство протоколов передачи, которые, вообще говоря, можно было бы и перекрыть вышележащими протоколами, - но Intel предложила свою, совершенно иную альтернативу, а на разработку собственной шины общего назначения (3GIO) на базе HT у AMD, видимо, не хватило ресурсов.

Один из классических примеров реализации шины НТ - в процессорах AMD семейства K8 (Athlon 64/Opteron). Сегодняшние ревизии этих процессоров поддерживают от одного до трех линков HT в физической конфигурации 16x16 (16 бит в каждую сторону), частота до 800 МГц (максимальная пропускная способность каждого линка HT у этих процессоров - до 3,2 Гбайт/с). В процессорах Athlon 64 и Opteron серии 1xx - один линк HT, он задействуется на подключение периферии к процессору (рис. 2). Для построения полноценных многопроцессорных систем требуется еще хотя бы один линк HT для подключения других процессоров - и он появляется в процессорах Opteron серии 2xx (два линка) и 8xx (три линка). В общем-то, даже на Opteron 2xx можно было бы (соединяя их в длинную цепочку) строить многопроцессорные системы (рис. 2), но на практике это невыгодно - большое "расстояние" между крайними процессорами и фактически единственная шина HT на всех не способствуют высокой производительности такой системы. Поэтому "2xx" предназначаются лишь для построения двухпроцессорных систем. В серии 8xx трех линков вполне достаточно для создания сложных, сильно связанных топологий ("разорванный куб", например, где восемь процессоров логически располагаются в вершинах куба, а линки HT - ребра этого куба, причем одно из ребер разорвано, и два высвободившихся линка задействованы для подключения периферии). В ближайших ревизиях появится поддержка HT с частотой 1,0 ГГц.

Логический уровень

От физического уровня переходим к логическому. HT здесь устроен довольно необычно для пакетных систем - сказывается влияние физического уровня. Вся передаваемая информация четко разделяется на служебную и непосредственно данные. Для ее разграничения предназначается линия CTL (рис. 4). Пакет HT - это просто кусок данных, в котором что-то в определенном формате записано. В первом пакете будет передана вся служебная информация, а вторым (сразу же за первым) пойдут собственно данные - без всяких заголовков, единым куском. При этом в момент передачи пакета данных устройству может потребоваться срочно передать какой-то системный пакет - тогда передача первого пакета "прервется на полуслове", будет передан второй пакет, после чего передача данных возобновится.

Такая экзотическая на первый взгляд схема нужна для обеспечения экстремально низких задержек передачи сообщений: при достаточно широкой шине типичная задержка передачи сообщения в НТ составляет 1–2 такта! А ведь подобные задержки и определяют латентность контроллера памяти "удаленного" процессора.

Думаете, всё, больше ничего удивительного в протоколах HT нет? Ошибаетесь! CRC в HT не является свойством каких-то конкретных пакетов, это свойство шины в целом. Не подумайте, что CRC передается по отдельным линиям, как в параллельных шинах, нет. Просто поток данных логически "нарезается" на окна, и в каждом "окне" в определенный момент времени в передачу данных "вклинивается" 4-полутактный блок, в котором передается CRC предыдущего окна. Это позволяет сразу посчитать,5какая часть производительности шины расходуется на обеспечение целостности передаваемых данных - всего-то 4/512=0,78%!

Обзор шины

HyperTransport работает на частотах от 200 МГц до 3,2 ГГц (у шины PCI — 33 и 66 МГц). Кроме того, она использует DDR, что означает, что данные посылаются как по фронту так и по срезу сигнала синхронизации, что позволяет осуществлять до 5200 миллионов посылок в секунду при частоте сигнала синхронизации 2,6 ГГц; частота сигнала синхронизации настраивается автоматически.

HyperTransport поддерживает автоматическое определение ширины шины, от 2-х до 32 бит. Полноразмерная, полноскоростная, 32-битная шина в двунаправленном режиме способна обеспечить пропускную способность до 51 600 Мбайт/с = 2 (DDR) × 2 × 32/8 (байт) × 3200 (МГц) (максимум в одном направлении — 25 800 Мбайт/с), являясь, таким образом, самой быстрой шиной среди себе подобных. Шина может быть использована как в подсистемах с высокими требованиями к пропускной способности (оперативная память и ЦПУ), так и в подсистемах с низкими требованиями (периферийные устройства). Данная технология также способна обеспечить низкие задержки для других применений в других подсистемах.

Шина HyperTransport основана на передаче пакетов. Каждый пакет состоит из 32-разрядных слов, вне зависимости от физической ширины шины (количества информационных линий). Первое слово в пакете — всегда управляющее слово. Если пакет содержит адрес, то последние 8 бит управляющего слова сцеплены со следующим 32-битным словом, в результате образуя 40-битный адрес. Шина поддерживает 64-разрядную адресацию — в этом случае пакет начинается со специального 32 разрядного управляющего слова, указывающего на 64 разрядную адресацию, и содержащего разряды адреса с 40 по 63 (разряды адреса нумеруются начиная с 0). Остальные 32-битные слова пакета содержат непосредственно передаваемые данные. Данные всегда передаются 32-битными словами, вне зависимости от их реальной длины (например, в ответ на запрос на чтение одного байта по шине будет передан пакет, содержащий 32 бита данных и флагом-признаком того, что значимыми из этих 32 бит являются только 8).

Пакеты HyperTransport передаются по шине последовательно. Увеличение пропускной способности влечёт за собой увеличение ширины шины. HyperTransport может использоваться для передачи служебных сообщений системы, для передачи прерываний, для конфигурирования устройств, подключённых к шине и для передачи данных.

Операция записи на шине бывает двух видов — posted и non-posted. Posted-операция записи заключается в передаче единственного пакета, содержащего адрес, по которому необходимо произвести запись, и данные. Эта операция обычно используется для обмена данными с высокоскоростными устройствами, например, для DMA-передачи. Non-posted операция записи состоит из посылки двух пакетов: устройство, инициирующее операцию записи посылает устройству-адресату пакет, содержащий адрес и данные. Устройство-адресат, получив такой пакет, проводит операцию записи и отсылает устройству-инициатору пакет, содержащий информацию о том, успешно ли произведена запись. Таким образом, posted-запись позволяет получить максимальную скорость передачи данных (нет затрат на пересылку пакета-подтверждения), а non-posted-запись позволяет обеспечить надёжную передачу данных (приход пакета-подтверждения гарантирует, что данные дошли до адресата).

Шина HyperTransport поддерживает технологии энергосбережения, а именно ACPI. Это значит, что при изменении состояния процессора (C-state) на энергосберегающее, изменяется также и состояние устройств (D-state). Например, при отключении процессора жёсткие диски также отключаются.

Электрический интерфейс HyperTransport/LDT — низковольтные дифференциальные сигналы, с напряжением 1,2 В.