Структура систем ввода-вывода

в начало

Структура систем ввода-вывода представляет из себя совокупность взаимосвязанных внутренних и внешних интерфейсов (шин), посредством которых все устройства (модули) объединены в единую систему, называемую компьютером.

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

Кроме того, в структуру систем ввода-вывода входят устройства управления шинами и схемы организации процессов передачи информации при различных режимах ввода-вывода.

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

Из поколения в поколение менялась элементная база и архитектура компьютеров. К моменту появления микропроцессоров (МП), больших интегральных схем (БИС) и персональных компьютеров уже сформировались определенные принципы построения и структуры систем ввода-вывода (см. рисунок 1.8).

В больших компьютерах (Мейнфрейм) типа IBM-360(370), ЕС ЭВМ-1033 (1040,1060), работающих в мультипрограммном режиме и имеющих мощный процессор с сопроцессором, большой емкости ОЗУ и много разнообразных ПУ, использовалась многомагистральная структура с выделенными каналами ввода-вывода и каскадно-магистральным подключением ПУ (см. рисунок 1.8а). В таких машинах, как правило, использовались два типа аппаратно реализованных каналов ввода-вывода: мультиплексный, работающий с медленными ПУ и селекторный, обслуживающий быстродействующие ПУ. Такая структура позволила максимально использовать вычислительную мощность компьютера за счет одновременного решения нескольких задач и параллельной работы процессора и каналов ввода-вывода.

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

В малых вычислительных машинах типа DEC PDP-11, СM-1(2,3,4), которые были намного дешевле больших, система ввода-вывода строилась по одномагистральной структуре с распределенным каналом ввода-вывода и радиально-магистральным подключением ПУ (см. рисунок 1.8б). Мультиплексный канал, как отдельное устройство, отсутствовал, его функции выполнял процессор. В качестве селекторного канала применялся контроллер прямого доступа к памяти с ограниченными функциями канала. Существовали стандарты на используемые внутримашинные системные шины, например, Unibus фирмы DEC (общая шина).

С появлением МП и БИС наступил новый этап развития структур систем ввода-вывода, обусловленный новым принципом построения вычислительных машин на основе модульности, микропрограммируемости и магистральности, о чем говорилось во введении. Новый этап повторял стадии развития предыдущего, но на качественно новой элементной базе и других подходах к компоновке компьютеров.

С развитием элементной базы компьютеров, повышением скорости работы микропроцессоров и микросхем памяти, увеличением емкости ОЗУ совершенствовалась и изменилась структура системы ввода-вывода информации, повышалась скорость работы интерфейсов. Развитие интерфейсов и систем ввода-вывода было направлено на минимизацию потерь в производительности компьютера, вызванных задержками в передаче информации между его модулями (устройствами), т.е. передач процессор-ОЗУ, процессор-ПУ, ПУ-ОЗУ. Особенно остро проблемы по увеличению скорости работы интерфейсов и систем ввода-вывода в целом встала в связи с появлением нового поколения МП типа Pentium и с использованием в компьютерах средств мультимедиа. В частности узким местом стало обеспечение качественной 3-х мерной графики и «живого» видео, требующих скоростей передачи более 500 Мбайт/сек.

Наиболее наглядно и полно можно проследить и прочувствовать проблемы и тенденции развития систем ввода-вывода при рассмотрении ретроспективы эволюции интерфейсов и структур систем ввода-вывода на примере персональных компьютеров типа IBM PC (см. рисунок 1.9).

В начале эры персональных компьютеров частота работы процессора составляла 10 МГц, при этом на выполнение даже самых простейших операций процессор затрачивал несколько тактов. В таких условиях для обеспечения бесперебойной работы процессора было достаточно всего 4 миллионов обращений к памяти в секунду, что соответствовало циклу работы в 250 нсек. Этим условиям удовлетворяла одношинная структура систем ввода-вывода, когда все устройства компьютера, включая ОЗУ, общались с процессором через общую шину (см. рисунок 1.9а), которую называли системной. Все интерфейсы ПУ подключались к этой шине. Наиболее распространенной системной шиной в этот период стала сначала 8 разрядная, затем 16 разрядная шина ISA, работающая на частоте 8 МГц.

С ростом частоты работы ПК (см. таблицу 3) и изменения времени доступа к ОЗУ пропускная способность шины ISA в 8 Мбайт/сек стала тормозить работу процессора. Решение проблемы нашли в выделении канала передачи данных МП-ОЗУ в отдельную шину, построенную на базе внешнего интерфейса МП, и изолированную от медленной шины ISA посредством контроллера шины данных. Это повысило производительность работы центрального процессора. Все ПУ продолжали взаимодействовать с центральным процессором через системную шину (см. рисунок 1.9б).

С дальнейшим ростом частоты работы МП тормозом в работе стало ОЗУ. Тогда ввели дополнительную высокоскоростную КЭШ-память (см. рисунок 1.9в), что уменьшило простои МП. Все ПУ продолжали работать через системную шину, но кроме ISA появились более скоростные шины EISA и MCA (см. таблицу 3).

На определенном этапе развития компьютеров стали широко использовать мультимедиа. Сразу выявилось узкое место во взаимодействии центрального процессора и видеокарты. Потребовалась пропускная способность более 100 Мбайт/сек.

Имеющиеся системные шины ISA, ЕISA, МСА не удовлетворяли этим условиям. Их пропускная способность составляла от 16 до 30 Мбайт/сек.

Выход был найден с разработкой и внедрением высокоскоростных локальных шин, посредством которых можно было связаться с памятью, на этой же шине работали жесткие диски, что также повышало качество вывода графической информации. Первой такой шиной была шина VL-bus, практически повторявшая интерфейс МП i486. Затем появилась локальная шина РСI. Она была процессорно-независимой и поэтому получила наибольшее распространение для последующих типов МП. Эта шина имела частоту работы 33 МГц и при 32-х разрядных данных обеспечивала пропускную способность в 132 Мбайт/сек (см. рисунок 1.9г). Системная шина ISA по-прежнему использовалась в компьютерах, что позволяло применять в новых компьютерах огромное количество ранее разработанных аппаратных и программных средств.

В такой системе ввода-вывода различные ПУ подключались к разным шинам. Медленные - к ISA, а высокоскоростные - к PCI. С появление шины PCI стало целесообразным использовать высокоскоростные параллельные и последовательные интерфейсы ПУ (SCSI, ATA, USB). На этом этапе системной стали называть шину МП, через которую он взаимодействовал с ОЗУ. Шина РСI и ISA и подобные другие назвали шинами ввода-вывода или шинами расширения. Действительно, эти шины как бы расширяли число устройств (см. рисунок 1.9г), работающих с ЦПр, и их основной функцией стало обеспечение процессов ввода и вывода информации.

Появление шины PCI не сняло всех проблем по качественному выводу визуальной информации для 3-х мерных изображений, "живого" видео. Здесь уже требовались скорости в сотни Мбайт/сек. В 1996г. фирма Intel разработала новую шину AGP, предназначенную только для связи ОЗУ и процессора с видеокартой монитора. Эта шина обеспечивала пропускную способность в сотни Мбайт/сек. Она непосредственно связывала видеокарту с ОЗУ минуя шину РСI.

На рисунке 1.10 изображена обобщенная структура системы ввода-вывода современного компьютера. Как видно из рисунков 1.9г и 1.10, через 20 лет снова пришли к многомагистральной структуре ввода-вывода с радиально-магистральными интерфейсами ПУ (см. рисунок 1.8).

Следует также отметить то, что шина ISA присутствует во всех структурах систем ввода-вывода. Это обусловлено стремлением пользователей сохранить преемственность новых компьютеров с ранее созданными и широко распространенными аппаратными и программными средствами. Хотя фирмам Intel и Microsoft предрекали, что с 1998г. шина ISA исчезнет, и все перейдут на соответствующее устройства для шины РСI, но шина ISA к 2000 году сохранила свои позиции.

Все шины систем ввода-вывода объединяются в единую транспортную среду передачи информации с помощью специальных устройств: мостов и контроллеров ввода-вывода.

Мост – устройство, применяемое для объединения шин, использующих разные или одинаковые протоколы обмена. Мост – это сложное устройство, которое осуществляет не только коммутацию каналов передачи данных, но и производит управление соответствующими шинами. В структуре компьютера, использующего шину РСI, применяются три типа мостов (см. рисунок 1.10). Мост шины (РСI Bridge), производящий подключение шины РСI к другим шинам, например, ISA или ЕISA. Главный мост (Host Bridge), соединяющий шину РСI с системной шиной, кроме того, этот мост содержит контроллер ОЗУ, арбитр и схему автоконфигурации. Одноранговый мост (Peer-to-Peer) для соединения двух шин РСI между собой. Это делается для увеличения числа устройств, подключаемых к шине.

Контроллер ввода-вывода управляет обменом информацией с ПУ. Он практически представляет из себя мост между шиной ввода-вывода и интерфейсом ПУ. В контроллер ввода-вывода могут входить специальные схемы-адаптеры, предназначенные для преобразования представления и скорости передачи информации. Примерами таких адаптеров могут служить асинхронные приемопередатчики типа i8250/16450/1656A, используемые в интерфейсах типа RS-232C, адаптер параллельного интерфейса 8255 и др.

Для управления шинами и обеспечения выполнения функций интерфейсов, входящих в систему ввода-вывода, применяются специальные контроллеры и схемы. К ним можно отнести контроллеры прерываний 8259А и прямого доступа к памяти 8237А, таймер 8254А, часы реального времени, буферы шин данных, дешифраторы, мультиплексоры, регистры и другие логические устройства.

В первых компьютерах, построенных с использованием микропроцессоров, контроллер и другие устройства строились на базе набора интегральных схем малой, средней и большой степени интеграции. Адаптеры, таймер и др. выпускались в виде отдельных микросхем (8250, 8255, 8259, 8237 и т.д.)

С повышением производительности компьютеров и увеличением степени интеграции все вышеперечисленные устройства и схемы стали объединяться в микросхемы со сверхбольшой степенью интеграции, образуя специальные наборы интегральных схем, называемых «чипсет» (ChipSet).

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

Первым серьезным шагом на пути повышения эффективности передачи информации в компьютерах на основе Pentium стал ChipSet третьего поколения 430FX (Triton) фирмы Intel, состоящий из 3-х микросхем. Чипсет первого поколения – 450GX/GX (Orion) был выполнен на 7 микросхемах. В 1999 году фирма Intel приступила к выпуску нового чипсета 440LXAGPset (см. рисунок 1.11) с технологией ускоренного графического порта (AGP), двойной независимой шиной (DIB) процессора Pentium II и поддержкой памяти типа SDRAM. Этот чипсет состоял из 2-х микросхем.

Через полгода появился новый чипсет Intel 440BX, предназначенный для материнских плат для процессора Pentium II и поддерживающий частоту системной шины в 100 МГц. На этой частоте работает системная память. Его отличие от чипсет 440LX в основном заключается в поддержке 100-мегагерцовой шины. Он состоит также из 2-х микросхем. Он характеризуется следующими свойствами:

Сейчас принято называть две главные микросхемы южный мост и северный мост. Северный мост обслуживает системную шину, шину памяти, AGP и является главным контроллером PCI. Южный мост обслуживает работу с ПУ (шины PCI, ISA, IDE).

Для компьютеров среднего класса, использующих процессоры Celeron, Pentium II и Pentium III, фирма Intel выпустила чипсет с новой архитектурой i810, состоящий из 3-х микросхем.

Особенностями чипсета этого типа являются следующие:

На рисунке 1.12 показана система ввода-вывода на основе чипсета i810. Функции микросхем чипсета следующие: контроллер памяти и видео, контроллер ввода-вывода и хаб фирменного программного обеспечения.

Этот чипсет имеет следующие характеристики:

Планируется выпуск последующих версий данного типа чипсетов i820 и др.

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