СИСТЕМНЫЕ ИНТЕРФЕЙСЫ И ШИНЫ РАСШИРЕНИЯ

Основой высокой производительности вычислительной машины любого типа является центральный процессор (ЦПр), состоящий из микропроцессора (МП) и оперативной памяти, связанных шиной передачи информации. Из этих трех составляющих определяющим является МП, т.к. он преобразует информацию и управляет передачей данных. Процессор – активное устройство, а ОЗУ и шина – пассивные. Если обозначить скорость работы МП – UМП, ОЗУ – UОЗУ, а шины – UШ, то наилучшим (оптимальным) соотношением скоростей будет UМП =UОЗУ =UШ. Пропускная способность шины зависит от ее разрядности, частоты работы и числа синхроимпульсов на передачу одного слова.

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

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

Рассмотрим, как изменялась пропускная способность системной шины (МП-память) в зависимости от скоростей работы МП и памяти.

В таблице 1 приведены некоторые характеристики микропроцессоров фирмы Intel, расположенных по годам, начиная с 1978г., года появления ПК.

В таблице 2 даны характеристики памяти (время доступа) и системной шины процессор-память (частота шины данных, максимальная и реальная пропускная способность). Под пропускной способностью понимают скорость передачи по шине, измеряемой количеством байт в секунду. Как видно из таблицы 1, тактовая частота МП с 1980г. возросла в 60 раз. За тоже время частота, на которой работает системная память со страничной организацией (FPM), возросла в 5 раз. Применение EDORAM и SDRAM увеличило производительность памяти всего в 10 раз. Таким образом, между производительностью МП и памяти образовался разрыв.

Из этой таблицы также видно, что частота работы системной шины, соединяющей МП и память, возросла в 8 раз и достигла 66 МГц. В перспективе планируется увеличить эту частоту до 100, 133, 200 МГц.

Но вместе с тем эти цифры показывают, что имеется постоянный разрыв между частотой работы МП и частотой системной шины, кратность соотношения этих частот, начиная с МП i486 составляет 1,5; 2; 2,5; 3.

Для повышения пропускной способности системной шины увеличивают ее ширину, т.е. число одновременно передаваемых байт. За весь период число разрядов шины данных увеличился с 8 до 64. Все эти меры довели пропускную способность системной шины до 528 Мбайт/сек, в перспективе оно возрастет до 800, 1600 и более Мбайт/сек. Это увеличение связано также с появлением новых технологий памяти основанных на синхронных DRAM: SDRAM II (DDR), SLDRAM и принципиально новой архитектуре памяти RAMBUS (RDRAM, Concurrent, RAMBUS, Direct RAMBUS).

Чтобы МП не простаивал, используют дополнительную высокоскоростную КЭШ-память на основе SRAM, располагаемую как на кристалле МП (КЭШ-память 1-го уровня), так и вне кристалла (КЭШ-память 2-го уровня). В последних МП типа Pentium II КЭШ-память 2-го уровня располагается в одном корпусе с МП, что позволяет увеличивать частоту работы шины связи этой памяти с ядром МП.

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

Рассмотрим их развитие и трансформацию, начиная с первых компьютеров IBM PC. Следует подчеркнуть, что развитие шин ввода-вывода шло таким образом, чтобы сохранить преемственность с ранее разработанными и выпускаемыми аппаратными и программными средствами.

Важным свойством интерфейсов ввода-вывода является поддержка режима автоконфигурации (Plug and Play). При конфигурации систем, каждому ПУ задается определенный уровень прерываний и диапазон адресов для регистров этого устройства. Этот процесс требует времени и определенной квалификации пользователя. Введение режима Plug and Play автоматизирует этот процесс, существенно облегчая конфигурирование с подключением нового ПУ.

В таблице 3 приведены характеристики шин ввода-вывода (шин расширения), используемых в персональных компьютерах типа IBM PC и др. типа, начиная с начала 80-х годов. В таблице приведена пиковая пропускная способность (теоретически возможная), реальная примерно в 2 раза ниже за счет прерываний, регенерации, протокольных процедур. Пропускная способность зависит от частоты работы шины, разрядности шины данных и количества тактов на передачу одного слова. Шина использует все свои возможности, если слово передается за один синхроимпульс шины.

Одной из первых шин персональных компьютеров была системная шина IBM PC/XT, обеспечивавшая передачу 8 бит данных. Кроме того, эта шина включала 20 адресных линий, которые ограничивали адресное пространство пределом в 1 Мбайт. Для работы с внешними устройствами в этой шине были предусмотрены также 4 линии аппаратных прерываний (IRQ) и 4 линии для требования внешними устройствами прямого доступа к памяти (DMA). При этом системная шина и микропроцессор синхронизировались от одного тактового генератора с частотой 4.77 МГц. Таким образом, теоретическая скорость передачи данных могла достигать немногим более 4 Мбайт/с.

Системная шина ISA (Industry Standard Architecture) впервые стала применяться в персональных компьютерах IBM PC/AT на базе процессора i286. В этой системной шине количество адресных линий было увеличено на 4, а данных - на 8, что позволило передавать параллельно 16 бит данных и обращаться к 16 Мбайт системной памяти. Количество линий аппаратных прерываний в этой шине было увеличено до 15, а каналов прямого доступа - до 7. Системная шина ISA полностью включала в себя возможности старой 8-разрядной шины. Шина ISA позволяет синхронизировать работу процессора и шины с разными тактовыми частотами. Она работает на частоте 8 МГц, что соответствует максимальной скорости передачи 16 Мбайт/с.

С появлением процессоров i386, i486 и Pentium шина ISA стала узким местом персональных компьютеров. Новая системная шина EISA (Extended Industry Standard Architecture), появившаяся в конце 1988 года, обеспечивает адресное пространство в 4 Гбайта, 32-битовую передачу данных (в том числе и в режиме DMA), улучшенную систему прерываний и арбитраж DMA, автоматическую конфигурацию системы и плат расширения. Устройства шины ISA могут работать на шине EISA.

Шина EISA тактируется частотой около 8 МГц и имеет максимальную теоретическую скорость передачи данных 33 Мбайт/с.

Шина MCA также обеспечивает 32-разрядную передачу данных, тактируется частотой 10 МГц, имеет средства автоматического конфигурирования и арбитража запросов. В отличие от EISA она не совместима с шиной ISA и используется только в компьютерах компании IBM.

Шина PCI (Peripheral Component Interconnect) также поддерживает 32-битовый канал передачи данных между процессором и периферийными устройствами, работает на тактовой частоте 33 МГц и имеет максимальную пропускную способность 132 Мбайт/с. Шина PCI является процессорно независимой (шина VL-bus подключается непосредственно к процессору i486 и только к нему). Ee легко подключить к различным центральным процессорам. В их числе Pentium, Alpha, R4400 и PowerPC.

Шина PCI вытеснила шину VLB и стала самой популярной. Она постоянно развивается, вышли версии 2.0; 2.1; 2.2, сейчас готовится версия PCI-Х. Скорость шины возросла до 528 Мбайт/сек при частоте 66 Мгц и использовании 64 разрядной шины. Шина поддерживает режим автоконфигурации, "горячую" замену адаптеров, управление энергопотреблением.

Шина РCI не устранила «узкое место" обмена памяти компьютера с видеокартой. Поэтому фирма Intel на базе стандарта PCI 2.1 разработала новую шину AGP (R1.0 затем 2.0). AGP – Accelerated Graphic Port – предназначена для подключения графических адаптеров. Эта шина 32-х разрядная с тактовой частотой 66 МГц, по составу сигналов напоминающая шину PCI. В обычном режиме шина AGP имеет пропускную способность в 256 Мбайт/сек. В версии 1.0 имеется режим AGP2Х, когда за один такт передается два 32-х разрядных слова по фронту и спаду сигнала синхронизации. Этот режим обеспечивает скорость 528 Мбайт/сек. В 1998г. появилась версия 2.0, где за один такт передается 4 слова. Это обеспечивает пропускную способность в 2 Гбайт/сек.

Но вместе с тем, шина AGP не заменяет полностью шину PCI, т.к. в ней не поддерживается ряд операций PCI, и она обладает своей рекордной пропускной способностью только в одну сторону от процессора к видеокарте, обратно данные пересылаются со скоростью обычной PCI.

Шина VME приобрела большую популярность как шина ввода/вывода в рабочих станциях и серверах на базе RISC-процессоров. Эта шина высоко стандартизована, имеется несколько версий этого стандарта. В частности, VME32 - 32-битовая шина с производительностью 30 Мбайт/с, а VME64 - 64-битовая шина с производительностью 160 Мбайт/с.

В однопроцессорных и многопроцессорных рабочих станциях и серверах на основе микропроцессоров SPARC одновременно используются несколько типов шин: SBus, MBus и XDBus, причем шина SBus применяется в качестве шины ввода/вывода, а MBus и XDBus - в качестве шин для объединения большого числа процессоров и памяти.

Шина SBus (известная также как стандарт IEEE-1496) имеет 32-битовую и 64-битовую реализацию, работает на частоте 20 и 25 МГц и имеет максимальную скорость передачи данных в 32-битовом режиме равную соответственно 80 или 100 Мбайт/с. Шина предусматривает режим групповой пересылки данных с максимальным размером пересылки до 128 байт. Она может работать в двух режимах передачи данных: режиме программируемого ввода/вывода и в режиме прямого доступа к виртуальной памяти (DVMA). Последний режим особенно эффективен при передаче больших блоков данных.

Шина MBus работает на тактовой частоте 50 МГц в синхронном режиме с мультиплексированием адреса и данных. Общее число сигналов шины равно 100, а разрядность шины данных составляет 64 бит. По шине передаются 36-битовые физические адреса. Шина обеспечивает протокол поддержания когерентного состояния кэш-памяти нескольких (до четырех) процессоров, имеет максимальную пропускную способность в 400 Мбайт/с, а типовая скорость передачи составляет 125 Мбайт/с. Отличительными свойствами шины MBus являются: возможность увеличения числа процессорных модулей, поддержка симметричной мультипроцессорной обработки, высокая пропускная способность при обмене с памятью и подсистемой ввода/вывода, открытые (непатентованные) спецификации интерфейсов.

Шина MBus была разработана для относительно небольших систем (ее длина ограничивается десятью дюймами, что позволяет объединить до четырех процессоров с кэш-памятью второго уровня и основной памятью). Для построения систем с большим числом процессоров нужна большая масштабируемость шины. Одна из подобного рода шин - XDBus, используется в серверах SPARCserver 1000 (до 8 процессоров) и SPAR Server 2000 (до 20 процессоров) компании Sun Microsystems и SuperServer 6400 компании Cray Research (до 64 процессоров). XDBus представляет собой шину, работающую в режиме расщепления транзакций. Это позволяет ей, имея пиковую производительность в 400 Мбайт/с, поддерживать типовую скорость передачи на уровне более 310 Мбайт/с.

В современных компьютерах часто применяются и фирменные (запатентованные) шины, обеспечивающие очень высокую пропускную способность для построения многопроцессорных серверов. Одной из подобных шин является системная шина POWERpath-2, которая применяется в суперсервере Chellenge компании Silicon Graphics. Она способна поддерживать эффективную работу до 36 процессоров MIPS R4400 (9 процессорных плат с четырьмя 150 МГц процессорами на каждой плате) с общей расслоенной памятью объемом до 16 Гбайт (коэффициент расслоения памяти равен восьми). POWERpath-2 имеет разрядность данных 256 бит, разрядность адреса 40 бит, и работает на частоте 50 МГц с пониженным напряжением питания. Она поддерживает методику расщепления транзакций, причем может иметь до восьми отложенных транзакций чтения одновременно. При этом арбитраж шины адреса и шины данных выполняется независимо. POWERpath-2 поддерживает протокол когерентного состояния кэш-памяти каждого процессора в системе.

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