41229

Системные и локальные шины

Лекция

Коммуникация, связь, радиоэлектроника и цифровые приборы

Системные и локальные шины [0. Стоимость такой организации получается достаточно низкой поскольку для реализации множества путей передачи информации используется единственный набор линий шины разделяемый множеством устройств. Одна из причин больших трудностей возникающих при разработке шин заключается в том что максимальная скорость шины главным образом лимитируется физическими факторами: длиной шины количеством подсоединяемых устройств. Эти физические ограничения не позволяют произвольно ускорять шины.

Русский

2013-10-24

257.5 KB

24 чел.


Лекция 2. Системные и локальные шины

[0.1] Общие положения

[0.2] Стандарты шин

[0.2.1] Системная шина IBM PC/XT

[0.2.2] Системная шина VME

[0.2.3] Шина ввода/вывода SCSI

[0.2.4] Системная шина ISA

[0.2.5] Системная шина EISA

[0.2.6] Системная шина PCI

[0.3]  Шинная организация ЭВМ

Общие положения

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

  •  низкая стоимость.
  •  универсальность.

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

Одна из причин больших трудностей, возникающих при разработке шин, заключается в том, что максимальная скорость шины главным образом лимитируется физическими факторами:

  •  длиной шины,
  •  количеством подсоединяемых устройств.

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

Традиционно шины делятся:

  •  на шины, обеспечивающие организацию связи процессора с памятью,
  •  и шины ввода/вывода.

Шины ввода/вывода могут иметь большую протяженность, поддерживать подсоединение многих типов устройств, и обычно следуют одному из шинных стандартов.

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

Как уже было отмечено, с целью снижения стоимости некоторые компьютеры имеют единственную шину для памяти и устройств ввода/вывода. Такая шина часто называется системной. Персональные компьютеры, как правило, строятся на основе одной системной шины в стандартах ISA или PCI. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к двухуровневой организации шин в персональных компьютерах на основе локальной шины. Локальной шиной называется шина, электрически выходящая непосредственно на контакты микропроцессора. Она обычно объединяет процессор, память, схемы буферизации для системной шины и ее контроллер, а также некоторые вспомогательные схемы. Типичными примерами локальных шин являются VL-Bus и PCI.

Разработка шины связана с реализацией ряда дополнительных возможностей (табл. 1).

Таблица 1

               Основные возможности шин

                      Возможность

                       Высокая производительность

                    Низкая стоимость

               Общая разрядность шины

                       Отдельные линии адреса и

                           данных

                    Мультиплексирование линий                                                         

                      Ареса и данных

                    Ширина (рязрядность) данных

                       Чем шире, тем быстрее

                        (например, 32 бит)

                     Чем уже, тем дешевле (например,

                       8 бит)

                       Размер пересылки

                   Пересылка нескольких слов имеет меньшие                                                                                                         н                            накладные расходы

                     Пересылка одного слова дешевле

                       Главные устройства шины

                       Несколько (требуется арбитраж)

                   Одно (арбитраж не нужен)

                       Расщепленные транзакции?

                     Да - отдельные пакеты Запроса и

                     ответа дают большую полосу

                    пропускания (нужно несколько

                      главных устройств)

                     Нет – продолжающееся соединение

                        дешевле и имеет меньшую

                       задержку

                       Тип синхронизации

                    Синхронные

                   Асинхронные

Решение о выборе той или иной возможности зависит от целевых параметров стоимости и производительности. Первые три возможности являются очевидными:

  •  раздельные линии адреса и данных,
  •  более широкие (имеющие большую разрядность) шины данных,
  •  режим групповых пересылок (пересылки нескольких слов)

Они дают увеличение производительности за счет увеличения стоимости.

Следующий термин, указанный в таблице, - количество главных устройств шины (bus master). Главное устройство шины - это устройство, которое может инициировать транзакции чтения или записи. ЦП, например, всегда является главным устройством шины. Шина имеет несколько главных устройств, если имеется несколько ЦП или когда устройства ввода/вывода могут инициировать транзакции на шине. Если имеется несколько таких устройств, то требуется схема арбитража, чтобы решить, кто следующий захватит шину. Арбитраж часто основан либо на схеме с фиксированным приоритетом, либо на более "справедливой" схеме, которая случайным образом выбирает, какое главное устройство захватит шину.

В настоящее время используются два типа шин, отличающиеся способом коммутации:

  •  шины с коммутацией цепей (circuit-switched bus),
  •  шины с коммутацией пакетов (packet-switched bus).

Они получившие свои названия по аналогии со способами коммутации в сетях передачи данных.

Шина с коммутацией пакетов при наличии нескольких главных устройств шины обеспечивает значительно большую пропускную способность по сравнению с шиной с коммутацией цепей за счет разделения транзакции на две логические части: запроса шины и ответа. Такая методика получила название "расщепления" транзакций (split transaction). (В некоторых системах такая возможность называется шиной соединения/разъединения (connect/disconnect) или конвейерной шиной (pipelined bus). Транзакция чтения разбивается на транзакцию запроса чтения, которая содержит адрес, и транзакцию ответа памяти, которая содержит данные. Каждая транзакция теперь должна быть помечена (тегирована) соответствующим образом, чтобы ЦП и память могли сообщить что есть что.

Шина с коммутацией цепей не делает расщепления транзакций, любая транзакция на ней есть неделимая операция. Главное устройство запрашивает шину, после арбитража помещает на нее адрес и блокирует шину до окончания обслуживания запроса. Большая часть этого времени обслуживания при этом тратится не на выполнение операций на шине (например, на задержку выборки из памяти). Таким образом, в шинах с коммутацией цепей это время просто теряется. Расщепленные транзакции делают шину доступной для других главных устройств пока память читает слово по запрошенному адресу. Это, правда, также означает, что ЦП должен бороться за шину для посылки данных, а память должна бороться за шину, чтобы вернуть данные. Таким образом, шина с расщеплением транзакций имеет более высокую пропускную способность, но обычно она имеет и большую задержку, чем шина, которая захватывается на все время выполнения транзакции. Транзакция называется расщепленной, поскольку произвольное количество других пакетов или транзакций могут использовать шину между запросом и ответом.

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

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

Стандарты шин 

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

Иногда широкое распространение и популярность конкретных машин становятся причиной того, что их шина ввода/вывода становится стандартом де-факто. Примерами таких шин могут служить PDP-11 Unibus и IBM PC-AT Bus. Иногда стандарты появляются также в результате определенных достижений по стандартизации в некотором секторе рынка устройств ввода/вывода. Интеллектуальный периферийный интерфейс (IPI - Intelligent Peripheral Interface) и Ethernet являются примерами стандартов, появившихся в результате кооперации производителей. Успех того или иного стандарта в значительной степени определяется его принятием такими организациями как ANSI (Национальный институт по стандартизации США) или IEEE (Институт инженеров по электротехнике и радиоэлектронике). Иногда стандарт шины может быть прямо разработан одним из комитетов по стандартизации: примером такого стандарта шины является FutureBus.

В табл. 2 представлены характеристики нескольких стандартных шин. Заметим, что строки этой таблицы, касающиеся пропускной способности, не указаны в виде одной цифры для шин процессор-память (VME, FutureBus, MultibusII). Размер пересылки, из-за разных накладных расходов шины, сильно влияет на пропускную способность. Поскольку подобные шины обычно обеспечивают связь с памятью, то пропускная способность шины зависит также от быстродействия памяти. Например, в идеальном случае при бесконечном размере пересылки и бесконечно быстрой памяти (время доступа 0 нсек) шина FutureBus на 240% быстрее шины VME, но при пересылке одиночных слов из 150-нсекундной памяти шина FutureBus только примерно на 20% быстрее, чем шина VME.

Таблица 2

Примеры стандартных шин

Параметр

VME bus

FutureBus

Multibus II

IPI

SCSI

                       Ширина шины

                        (кол-во сигналов)

                  128

                        96

                          96

                   16

                     8

                       Мультиплексирование

                         адреса/данных

                    Нет

                       Да

                           Да

                    (

                      (

                       Разрядность данных

                      16/32 бит

                    32 бит

                    бит 32

                 16 бит

                        8 бит

                      Количество главных

                        устройств шины

                     Несколько

                    Несколько

                     Несколько

                   Одно

                       Несколько

                          Максимальная

                        полоса пропускания

                      27.9 Мб/c

                     95.2 Мб/c

                    40.0 Мб/c

                       25.0 Мб/c

                      5.0 Мб/c

                      Максимальное

                       количество устройств

                          21   

                        20

                        21

                    8

                    7

                       Максимальная длина

                           шины

                         0.5 м

                        0.5 м

                         0.5 м

                   50 м

                     25 м

Системная шина IBM PC/XT

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

Системная шина VME

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

Шина ввода/вывода SCSI

Одной из наиболее популярных шин ввода-вывода является шина SCSI.

Под термином SCSI - Small Computer System Interface (Интерфейс малых вычислительных систем) обычно понимается набор стандартов, разработанных Национальным институтом стандартов США (ANSI) и определяющих механизм реализации магистрали передачи данных между системной шиной компьютера и периферийными устройствами. На сегодняшний день приняты два стандарта (SCSI-1 и SCSI-2). Стандарт SCSI-3 находится в процессе доработки.

Начальный стандарт 1986 года, известный теперь под названием SCSI-1, определял рабочие спецификации протокола шины, набор команд и электрические параметры. В 1992 году этот стандарт был пересмотрен с целью устранения недостатков первоначальной спецификации (особенно в части синхронного режима передачи данных) и добавления новых возможностей повышения производительности, таких как "быстрый режим" (fast mode), "широкий режим" (wide mode) и помеченные очереди. Этот пересмотренный стандарт получил название SCSI-2 и в настоящее время используется большинством поставщиков вычислительных систем.

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

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

Стандарт SCSI-2 определяет в частности различные режимы: Wide SCSI, Fast SCSI и Fast-and-Wide SCSI. Стандарт SCSI-1 определяет построение периферийной шины на основе 50-жильного экранированного кабеля, описывает методы адресации и электрические характеристики сигналов. Шина данных SCSI-1 имеет разрядность 8 бит, а максимальная скорость передачи составляет 5 Мбайт/сек.

Fast SCSI сохраняет 8-битовую шину данных и тем самым может использовать те же самые физические кабели, что и SCSI-1. Он отличается только тем, что допускает передачи со скоростью 10 Мбайт/сек в синхронном режиме.

Wide SCSI удваивает либо учетверяет разрядность шины данных (либо 16, либо 32 бит), допуская соответственно передачи со скоростью либо 10, либо 20 Мбайт/сек.

В комбинации Fast-and-Wide SCSI возможно достижение скоростей передачи 20 и 40 Мбайт/сек соответственно.

Однако поскольку в обычном 50-жильном кабеле просто не хватает жил, комитет SCSI решил расширить спецификацию вторым 66-жильным кабелем (так называемый B-кабель). B-кабель имеет дополнительные линии данных и ряд других сигнальных линий, позволяющие реализовать режим Fast-and-Wide.

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

Системная шина ISA

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

Системная шина EISA

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

В настоящее время широко не используется, вытеснена шиной PCI.

Системная шина PCI

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

Архитектура компьютера с шиной PCI показана на рис. 1.

Рис.1. Архитектура компьютера с шиной PCI

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"

Основные возможности шины следующие:

  •  Синхронный 32-х или 64-х разрядный обмен данными. При этом для уменьшения числа контактов (и стоимости) используется мультиплексирование, то есть адрес и данные передаются по одним и тем же линиям.
  •  Поддержка 5V и 3.3V логики. Разъемы для 5 и 3.3V плат различаются расположением ключей.
  •  Существуют и универсальные платы, поддерживающие оба напряжения. Заметим, что частота 66MHz поддерживается только 3.3V логикой.
  •  Частота работы шины 33MHz или 66MHz (в версии 2.1) позволяет обеспечить широкий диапазон пропускных способностей (с использованием пакетного режима):

132 МВ/сек при 32-bit/33MHz;

264 MB/сек при 32-bit/66MHz;

264 MB/сек при 64-bit/33MHz;

528 МВ/сек при 64-bit/66MHz.

При этом для работы шины на частоте 66MHz необходимо, чтобы все периферийные устройства работали на этой частоте.

  •  Полная поддержка multiply bus master (например, несколько контроллеров жестких дисков могут одновременно работать на шине).
  •  Поддержка write-back и write-through кэша.
  •  Автоматическое конфигурирование карт расширения при включении питания.
  •  Спецификация шины позволяет комбинировать до восьми функций на одной карте (например, видео + звук и т.д.).
  •  Шина позволяет устанавливать до 4 слотов расширения, однако возможно использование моста PCI-PCI для увеличения количества карт расширения.
  •  PCI-устройства оборудованы таймером, который используется для определения максимального промежутка времени, в течении которого устройство может занимать шину.

При разработке шины в ее архитектуру были заложены передовые технические решения, позволяющие повысить пропускную способность:

Шина поддерживает метод передачи данных, называемый "linear burst" (метод линейных пакетов). Этот метод предполагает, что пакет информации считывается (или записывается) "одним куском", то есть адрес автоматически увеличивается для следующего байта. Естественным образом при этом увеличивается скорость передачи собственно данных за счет уменьшения числа передаваемых адресов.

Шина PCI является той черепахой, на которой стоят слоны, поддерживающие "Землю" - архитектуру Microsoft/Intel Plug and Play (PnP) PC architecture. Спецификация шины PCI определяет три типа ресурсов: два обычных (диапазон памяти и диапазон ввода/вывода, как их называет компания Microsoft) и configuration space - "конфигурационное пространство" (рис. 2).

    Рис. 2. Конфигурационное пространство.

Конфигурационное пространство состоит из трех регионов:

  •  заголовка, независимого от устройства (device-independent header region);
  •  региона, определяемого типом устройства (header-type region);
  •  региона, определяемого пользователем (user-defined region).

В заголовке содержится информация о производителе и типе устройства - поле Class Code (сетевой адаптер, контроллер диска, мультимедиа и т.д.) и прочая служебная информация.

Следующий регион содержит регистры диапазонов памяти и ввода/вывода, которые позволяют динамически выделять устройству область системной памяти и адресного пространства. В зависимости от реализации системы конфигурация устройств производится либо BIOS (при выполнении POST - power-on self test), либо программно. Базовый регистр expansion ROM аналогично позволяет отображать ROM устройства в системную память. Поле CIS (Card Information Structure) pointer используется картами cardbus (PCMCIA R3.0). С Subsystem vendor/Subsystem ID все понятно, а последние 4 байта региона используются для определения прерывания и времени запроса/владения.

Добавление материала из белгородского пособия.

  1.   Шинная организация ЭВМ

Шины соединяют компьютерную систему в одно целое. Существует несколько типов шин:

ISA представляет небольшое расширение до 32 разрядов первоначальной шины IBM PC. При наличии шины ISA всегда содержится шина PCI, работающая быстрее. Первая шина PCI передавала 32 бита за цикл. Современная шина PCI  работает с частотой 56 МГц и способна передавать 64 бита за цикл, а ее пропускная способность составляет 528 Мбайт/с. Однако,  такой пропускной способности недостаточно для шины памяти. Кроме того, шина PCI не совместима со всеми старыми ISA. Поэтому в компьютерах используется три и более шин. Пример шинной организации компьютера фирмы Intel приведен на рис. 3.22. Центральный процессор обменивается с памятью по специальной шине, а шина ISA связана с шиной PCI при помощи мостов. Мост PCI связывает центральный процессор, память и шину PCI. Мост ISA связывает шину PCI с шиной ISA и поддерживает диск IDE. Имеется свободное гнездо  PCI для подключения дополнительных высокоскоростных периферийных устройств и свободное гнездо ISA для дополнительного

                         шина                          локальная                   шина

                          КЭШ-                            шина                         пам.

                         памяти

 

                                                                                                                                      свободное

                                                                                                                                      гнездо PCI

                                                                                                    шина PCI

                                                                   шина ISA

                                                                                                                                свободное

                                                                                                                                гнездо ISA

                                                                                                                           

Рис. 3.22. Шинная организация ЭВМ с процессором Intel

подключения низкоскоростных периферийных устройств. Шина PCI, поддерживающая 64-битные платы, может поддерживать и 32-битные платы, может работать с частотой 66 МГц или 33 МГц; является синхронной шиной. Шина PCI управляется центральным арбитром, который встраивается в один из мостов между шинами. От каждого устройства PCI к арбитру ведут две специальные линии: REQ# используется для запроса шины, GNT# используется для разрешения на доступ к шине.

Формирование запроса  на доступ к шине связано с установкой устройством PCI  сигнала REQ# и ожидания сигнала арбитра GNT#. При получении сигнала арбитра GNT# устройство использует шину в следующем цикле. Шина предоставляется для одной транзакции.

Транзакциями называют обращения процессора к памяти. Они имеют 6 стадий:

  1.  Фаза арбитража шины.
  2.  Фаза запроса.
  3.  Фаза сообщения об ошибке.
  4.  Фаза проверки наличия нужного слова в другом процессоре.
  5.  Фаза ответа.
  6.  Фаза передачи данных.

Наличие всех 6 стадий не является обязательным. На фазе арбитража шины определяется, какое из устройств будет следующим. На фазе запроса на шину передается адрес. На фазе сообщения об ошибке подчиненное устройство передает сигнал об ошибке четности в адресе или о наличии других неполадок. На следующей стадии центральный процессор проверяет, нет ли нужного ему слова в другом процессоре. Эта стадия нужна только в многопроцессорных системах. В следующей фазе задающее устройство определяет место получения необходимых данных. На последней стадии осуществляется передача данных. На каждой стадии используются определенные сигналы, отличные от сигналов на других стадиях. Поэтому каждая из стадий является независимой от других. Так как стадии повторяются в каждой из транзакций и управляются независимыми сигналами, то существует принципиальная возможность организации конвейерного режима шины памяти процессора. Для этого при выполнении k-й фазы в i-й транзакции в (i+1)-й транзакции выполняется (k-1)-я фаза. При этом задержки выполнения фаз в разных транзакциях различны и могут занимать несколько циклов шины.

В качестве второго примера шинной организации возьмем RISC компьютеры (Ultra SPARC  компании SUN).

Для соединения процессоров с памятью используется механизм (интерфейс) UPA (высокоскоростной пакетный коммутатор), воплощаемый в виде шины.. На рис. 3.23 приведена шинная организация RISC процессора.

В КЭШ-память второго уровня вызовы из основной памяти осуществляются через интерфейс UPA, который управляется централизованным контроллером. В него поступают сигналы управления от центрального процессора. Чтобы получить доступ к памяти, центральный процессор должен сначала получить разрешение воспользоваться шиной. При предоставлении шины процессору, он получает сигнал с адресных выводов, определяет тип запроса и передает сигнал по нужному адресному выводу.  Адрес и тип цикла шины передаются на адресные выводы за два цикла. В ожидании результатов процессор может выполнять другую работу. Например, отсутствие нужной команды в кэш-памяти не препятствует выполнению команд, которые уже вызваны и каждая из которых может обращаться к данным не в кэш-памяти. Следовательно, ожидать выполнения могут сразу несколько транзакций. Система UPA справляется сразу с несколькими независимыми потоками транзакций (чтение и запись). Каждый поток проходит с несколькими задержками, и центральный контроллер следит за всем этим, производя обращение к памяти в наиболее рациональном порядке. Все входные данные поступают в буфер UDB, который обеспечивает возможность асинхронной работы центрального процессора и памяти. Например, если центральному процессору требуется записать слово из кэш-памяти в основную, то он может записать данные в буфер UDB, не ожидая доступа к UPA.

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

                                 Адрес дескриптора                               Арбитраж шины

                                 Действительность                                   Адрес памяти

                                  Дескриптора                                           Четность адреса

                                    данные                                          

                                     дескриптора                                      Действительность

                              четность дескриптора                               адреса данных

                                                                                                     ожидание

                                   Адрес данных                                             ответ     

                                  Действительность

                                  Адреса данных

                                         Данные                                   

                                          Четность                            - управление

                                      

                                     Данные

                                                                          UDBII          Памяти

                                                                                               Код с исправлением ошибок

                                                                                                

Рис. 3.23. Шинная организация RISC-компьютера

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

 

шина PCI

   

Рис. 3.24. Шинная организация системы Java

Во время первых трех циклов происходит операция чтения. В течении цикла Т1 на заднем фронте синхронизирующего сигнала Ф задающее устройство помещает адрес на линию AD и команду на линии C/BE#. Затем задающее устройство устанавливает сигнал FRAME#.

Во время цикла Т2 задающее устройство переключает шину, чтобы во время цикла Т3 ею могло воспользоваться подчиненное устройство. Задающее устройство также изменяет сигнал C/BE#, чтобы указать, какие байты в слове необходимо считывать. Во время цикла Т3 подчиненное устройство устанавливает сигнал DEVSEL#,  сообщающий задающему устройству получение адреса и готовности к ответу. Подчиненное устройство также помещает данные на линии AD и выдает сигнал.TRDY#, который сообщает задающему устройству о данном действии. Если подчиненное устройство не может ответить быстро, оно снимает сигнал DEVSEL#, но не устанавливает сигнал TRDY# до тех пор,  пока не сможет передать данные. Этим организуется процедура ожидания готовности подчиненного  устройства. На диаграмме следующий цикл пустой, а с цикла Т5 начинается процесс записи. В течение цикла Т5 задающее устройство помещает адрес и команду на шину, а в следующем цикле выдает данные. Если линиями AD управляет одно и тоже устройство, то не требуется цикл реверсирования передачи. В цикле Т7 данные заносятся в память.

Рис. 3.25. Временная диаграмма шины PCI

Если шина PCI хорошо подходит для подсоединения высокоскоростных периферийных устройств, то для подсоединения низкоскоростных периферийных устройств  используется шина USB (универсальная последовательная шина). Шина USB состоит из центрального концентратора (хаба). Топология шины USB представляет дерево с корнем в центральном хабе, от которого отходят ряд каналов к устройствам ввода-вывода. Центральный хаб через миллисекунду передает новый кадр для синхронизации всех устройств во времени. Кадр состоит из пакетов, первый из которых передается от хаба к устройству. Шина USB поддерживает 4 типа кадров: кадры управления, изохронные кадры, кадры передачи больших массивов данных и кадры прерывания. Кадры  управления используются для конфигурации устройств, передачи команд устройствам и запросов об их состоянии. Изохронные кадры предназначены для устройств реального времени, которые должны принимать и посылать данные через равные временные интервалы. Задержки хорошо прогнозируются, но при ошибках повторная передача не производится. Кадры следующего типа используются для  передачи большого объема от устройств и к устройствам без требования реального времени. Кадры последнего типа необходимы для осуществления прерываний, так как шина USB не поддерживает прерываний.

Кадр состоит из одного или нескольких пакетов, которые могут посылаться в обоих направлениях. Существует четыре типа пакетов: маркеры, пакеты данных, пакеты квитирования и специальные пакеты. Маркеры передаются от хаба к устройству и предназначены для управления системой. На рис. 3.26 приведены четыре последовательных кадра.

 Пустой цикл

    0                                      1                                   2                                      3

                                         пакеты из                                                               пакеты из                                                            

                                       центрального                                                        центрального

                                      концентратора                                                      концентратора

                                                                                                                             от устройства

пакет данных из

устройства

Рис. 3.26. Центральный концентратор шины USB

Пакеты SOF, IN, OUT – маркеры. Пакет SOF является первым в любом коде и показывает начало кода. Если не нужно выполнять никаких действий, то пакет SOF единственный в кадре. Пакет IN – это запрос, который требует от устройства выдачи определенных данных. Поля в пакете IN содержат информацию о запрашиваемом канале и позволяют устройству определить необходимые данные. Пакет OUT объявляет о следовании передачи данных для устройства. Существует маркер SETUP, используемый для конфигурации. Кроме этого существует пакет DATA, включающий 8-битное поле синхронизации,  8-битное поле указателя типа пакета (PID) полезной нагрузки, 16-битное поле CRC для обнаружения ошибок. Есть три типа пакетов квитирования: ACK – предыдущий пакет данных принят правильно, NAC – найдена ошибка CRC и STALL – ожидание.

8

PAGE  18


 

А также другие работы, которые могут Вас заинтересовать

61488. Характеристика либеральной и реакционной политики? Примеры такой политики Александра Ι 15.93 KB
  Почему Россия потерпела поражение в Крымской войне Как это поражение повлияло на экономическое и политическое положение в России Политической причиной поражения России в ходе Крымской войны...
61490. История возникновения шариковой ручки 21.01 KB
  Цели: создать условия для проведения исследовательской деятельности; установить этапы развития письменных принадлежностей от руки до стариковой ручки; развивать детский интерес любознательность.
61491. История. Древне-Русское государство 23.84 KB
  Борьба Руси с иноземными завоевателями. подготовить 1 вопрос а также принятие христианства на Руси и его историческое значение. Он сделал немало для укрепления Киевской Руси. И при нем же произошло крещение Руси.
61494. Восстановление государственности. Воцарение династии Романовых 22.04 KB
  В этом веке происходил заметный подъём земледелия главным образом за счёт расширения посевных земель. В 17 веке началась распашка черноземных земель. В этом веке происходило целенаправленное совершенство С Х техники особенно сохи к тому времени существовало 12 разновидностей сохи.