русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-24; просмотров: 1553; Нарушение авторских прав


BIOS

Организация ввода-вывода

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

В современных ПК такой механизм можно разделить на несколько уровней:

- BIOS;

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

- Шины ввода/вывода.

 

BIOS (Basic Input/Output System) - основная система ввода/вывода, зашитая в ПЗУ (отсюда название ROM BIOS). Она представляет собой набор программ проверки и обслуживания аппаратуры компьютера, и выполняет роль посредника между DOS и аппаратурой. BIOS получает управление при включении и сбросе системной платы, тестирует саму плату и основные блоки компьютера - видеоадаптер, клавиатуру, контроллеры дисков и портов ввода/вывода, настраивает Chipset платы и зaгpужaeт внешнюю операционную систему. При работе под DOS, Windows BIOS управляет основными устройствами, при работе под OS/2, UNIX, WinNT BIOS практически не используется, выполняя лишь начальную проверку и настройку.

Обычно на системной плате установлено только ПЗУ с системным (Main, System) BIOS, отвечающим за саму плату и контроллеры FDD, HDD, портов и клавиатуры; в системный BIOS практически всегда входит System Setup - программа настройки системы. Видеоадаптеры и контроллеры HDD с интерфейсом SТ- 506 (MFM) и SCSI имеют собственные BIOS в отдельных ПЗУ; их также могут иметь и другие платы - интеллектуальные контроллеры дисков и портов, сетевые карты и т.п.

 

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



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

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

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

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

Рассмотрим типичную транзакцию на шине. Шинная транзакция включает в себя две части: посылку адреса и прием (или посылку) данных. Шинные транзакции обычно определяются характером взаимодействия с памятью: транзакция типа "Чтение" передает данные из памяти (либо в ЦП, либо в устройство ввода/вывода), транзакция типа "Запись" записывает данные в память. В транзакции типа "Чтение" по шине сначала посылается в память адрес вместе с соответствующими сигналами управления, индицирующими чтение. Память отвечает, возвращая на шину данные с соответствующими сигналами управления. Транзакция типа "Запись" требует, чтобы ЦП или устройство в/в послало в память адрес и данные и не ожидает возврата данных. Обычно ЦП вынужден простаивать во время интервала между посылкой адреса и получением данных при выполнении чтения, но часто он не ожидает завершения операции при записи данных в память.

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

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

В настоящее время используются два типа шин, отличающиеся способом коммутации: шины с коммутацией цепей (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.

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

ISA (Industry Standard Architecture - архитектура промышленного стандарта) - основная шина на компьютерах типа PC АТ (другое название - АТ-Bus). Является расширением XT-Bus, разрядность - 16/24 (16 Мб), тактовая частота - 8 МГц, предельная пропускная способность -5.55 Мб/с. Разделение IRQ также невозможно. Возможна нестандартная организация Bus Mastering, но для этого нужен запрограммированный 16-разрядный канал DMA. Конструктивно выполнено в виде 62-контактного разъема XT-Bus с прилегающим к нему 36-контактным разъемом расширения.

EISA (Enhanced ISA - расширенная ISA) - функциональное и конструктивное расширение ISA. Внешне разъемы имеют такой же вид, как и ISA, и в них могут вставляться платы ISA, но в глубине разъема находятся дополнительные ряды контактов EISA, а платы EISA имеют более высокую ножевую часть разъема с дополнительными рядами контактов. Разрядность - 32/32 (адресное пространство - 4 Гб), работает также на частоте 8 МГц. Предельная пропускная способность - 32 Мб/с. Поддерживает Bus Mastering - режим управления шиной со стороны любого из устройств на шине, имеет систему арбитража для управления доступом устройств у шине, позволяет автоматически настраивать параметры устройств, возможно разделение каналов IRQ и DMA.

Bus Mastering - cпособностъ внешнего устройства самостоятельно, без участия процессора, управлять шиной (пересылать данные, выдавать команды и сигналы управления). На время обмена устройство захватывает шину и становится главным, или ведущим (master) устройством. Такой подход обычно используется для освобождения процессора от операций пересылки команд и/или данных между двумя устройствами на одной нише. Частным случаем Bus Mastering является режим DMA, который осуществляет только внепроцессорную пересылку данных; в классической архитектуре PC этим занимается контроллер DMA, общий для всех устройств. Каждое же Bus Mastering-устройство имеет собственный подобный контроллер, что позволяет избавиться от проблем с распределением DMA- каналов и преодолеть ограничения стандартного DMA- контроллера (16- разрядность, способность адресовать только первые 16 Мб ОЗУ, низкое быстродействие и т.п.).

МСA (Micro (Сhannel Architecture - микроканальная архитектура) - шинакомпьютеров PS/2 фирмы IBM. Не совместима ни с одной другой, разрядность - 32/32, (базовая - 8/24, остальные - в качестве расширений). Поддерживает Bus Mastering, имеет арбитраж и автоматическую конфигурацию, синхронная (жестко фиксирована длительность цикла обмена), предельная пропускная способность - 40 Мб/с. Конструктивно выглядит, как одно- трехсекционный разъем (такой же, как у VLB). Первая, основная, секция - 8-разрядная (90 контактов), вторая - 16- разрядное расширение (22 контакта), третья - 32- разрядное расширение (52 контакта). В основной секции предусмотрены линии для передачи звуковых сигналов. Дополнительно рядом с одним из разъемов может устанавливаться разъем видеорасширения (20 контактов). EISA и МСА во многом параллельны, появление EISA было обусловлено собственностью IBM на архнтектуру МCА.

VLВ (VESA Local Bus - локальная шина стандарта VESA) - 32-разрядное (дополнение к шине ISA. Конструктивно представляет собой дополнительный разъем (116- контактный, как у МСА) при разъеме ISA. Разрядность - 32/32, тактовая частота - 25..50 МГц, предельная скорость обмена - 130 Мб/с. Электрически выполнена в виде расширения локальной шины процессора - большинство входных и выходных сигналов процессора передаются непосредственно VLB-платам без промежуточной буферизации. Из- за этого возрастает нагрузка на выходные каскады процессора, ухудшается качество сигналов на локальной шине и снижается надежность обмена по ней. Поэтому VLB имеет жесткое ограничение на количество устанавливаемых устройств: при 33 MГц - три, 40 МГц - два, и при 50 МГц - одно, причем желательно - интегрированное в системную плату.

РCI (Peripheral Component Interconnect - соединение внешних компонент) - развитие VLB в сторону EISA/MCA. He совместима ни с какими другими, разрядность - 32/32 (расширенный вариант - 64/64), тактовая частота -до 33 МГц (PCI 2.1 - до 66 МГц), пропускная способность - до 132 Мб/с (264 Мб/с для 32/32 на 66 МГц и 528 Мб/с для 64/64 на 66 МГц), поддержка Bus Mastering и автоконфигурации. Количество разъемов шины на одном сегменте ограничено четырьмя. Сегментов может быть несколько, они соединяются друг с другом посредством мостов (bridge). Сегменты могут объединяться в различные топологии (дерево, звезда и т.п.). Самая популярная шина в настоящее время, используется также на других компьютерах. Разъем похож на MCA/VLB, но чуть длиннее (124 контакта). 64-разрядный разъем имеет дополнительную 64-контактную секцию с собственным ключом. Все разъемы и карты к ним делятся на поддерживающие уровни сигналов 5В, 3.3 В и универсальные; первые два типа должны соответствовать друг другу, универсальные карты ставятся в любой разъем.

Cуществует также расширение MediaBus, введенное фирмой ASUSTek -дополнительный разъем содержит сигналы шины ISA.

PCMCIA (Personal Computer Memory Card International Association -ассоциация производителей плат памяти для персональных компьютеров) - внешняя шина компьютеров класса NoteBook. Другое название модуля PCMCIA - PC Card. Предельно проста, разрядность - 16/26 (адресное пространство - 64 Мб), поддерживает автоконфигурацию, возможно подключение и отключение устройств в процессе работы компьютера. Конструктив - миниатюрный 68-контактный разъем. Контакты питания сделаны более длинными, что позволяет вставлять и вынимать карту при включенном питании компьютера.

 

7.3. Шины ввода/вывода



<== предыдущая лекция | следующая лекция ==>
Сегментация памяти | Шина USB


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.166 сек.