Шины

Структура, показанная на рис. 1.6, на протяжении многих лет использовалась в мини-компьютерах, а также в первой модели IBM PC. Но по мере увеличения скорости работы процессоров и памяти возможности единой шины (и, конечно, шины IBM PC) по обеспечению всех процессов обмена данными достигли своего предела.
Нужно было что-то делать. В результате появились дополнительные шины как для более быстродействующих устройств ввода-вывода, так и для обмена данными между процессором и памятью. Вследствие этой эволюции массовая x86-система на данный момент имеет вид, показанный на рис. 1.12.

У этой системы имеется множество шин (например, шина кэш-памяти, шина памяти, а также шины PCIe, PCI, USB, SATA и DMI), каждая из которых имеет свою скорость передачи данных и свое предназначение. Операционная система для осуществления функций настройки и управления должна знать обо всех этих шинах. Основной шиной является PCI (Peripheral Component Interconnect — интерфейс периферийных устройств).

Шина PCIe была придумана Intel в качестве преемницы более старой шины PCI, которая в свою очередь пришла на замену исходной шине ISA (Industry Standard Architecture — стандартная промышленная архитектура). Благодаря возможности передавать данные со скоростью в десятки гигабит в секунду шина PCIe работает намного быстрее своих предшественниц. Она сильно отличается от них и по своей природе. Вплоть до ее создания в 2004 году большинство шин были параллельными и совместно используемыми. Архитектура шин совместного использования означает, что для передачи данных разными устройствами используются одни и те же проводники. Таким образом, когда данные для передачи имеются сразу у нескольких устройств, для определения устройства, которому будет позволено использовать шину, требуется арбитр. В отличие от этого шина PCIe использует выделенные непосредственные соединения типа «точка — точка». Архитектура параллельной шины, подобная той, что используется в PCI, предполагает отправку каждого слова данных по нескольким проводникам. Например, в обычных шинах PCI одно 32-разрядное число отправляется по 32 параллельным проводникам. В отличие от этого в PCIe используется архитектура последовательной шины, и все биты сообщения отправляются по одному соединению, известному как дорожка (lane), что очень похоже на отправку сетевого пакета. Это существенно упрощает задачу, поскольку обеспечивать абсолютно одновременное прибытие всех 32 битов в пункт назначения уже не нужно. Но параллелизм все же используется, поскольку параллельно могут действовать сразу несколько дорожек. Например, для параллельной передачи 32 сообщений могут использоваться 32 дорожки. Из-за быстрого роста скоростей передачи данных таких периферийных устройств, как сетевые карты и графические адаптеры, стандарт PCIe обновляется каждые 3-5 лет. Например, 16 дорожек PCIe 2.0 предлагали скорость 64 Гбит/с. Обновление до PCIe 3.0 удвоит эту скорость, а обновление до PCIe 4.0 — удвоит еще раз.

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

В данной конфигурации центральный процессор общается с памятью через быструю шину DDR3, со внешним графическим устройством — через шину PCIe, а со всеми остальными устройствами — через концентратор по шине DMI (Direct Media Interface — интерфейс непосредственной передачи данных). Концентратор в свою очередь соединяет все другие устройства, используя для обмена данными с USB- устройствами универсальную последовательную шину, для обмена данными с жесткими дисками и DVD-приводами — шину SATA и для передачи Ethernet-кадров — шину PCIe. Об устаревших PCI-устройствах, использующих традиционную шину PCI, здесь уже упоминалось.

Шина USB (Universal Serial Bus — универсальная последовательная шина) была разработана для подключения к компьютеру всех низкоскоростных устройств ввода-вывода вроде клавиатуры и мыши. Но как-то неестественно было бы называть устройства USB 3.0 со скоростью передачи данных 5 Гбит/с «медленными» тому поколению, становление которого пришлось на те времена, когда основной для первых машин IBM PC считалась шина ISA со скоростью передачи данных в 8 Мбит/с. В USB используется небольшой разъем, имеющий (в зависимости от версии) от 4 до 11 контактов, часть из которых подводят к USB-устройствам питание или подключены к заземлению.

Рис. 1.12. Структура большой системы семейства x86


USB является централизованной шиной, в которой главное (корневое) устройство опрашивает устройства ввода-вывода каждую миллисекунду, чтобы узнать, есть ли у них данные для передачи. Стандарт USB 1.0 мог обеспечить совокупную скорость передачи данных 12 Мбит/с, в USB 2.0 скорость была поднята до 480 Мбит/с, а пиковая скорость в USB 3.0 составила никак не меньше 5 Гбит/с. Любое USB-устройство может быть подключено к компьютеру и приступить к работе немедленно, не требуя его перезагрузки, которая нужна была некоторым устройствам до появления USB, что приводило в ужас целое поколение разочарованных пользователей.

SCSI (Small Computer System Interface — интерфейс малых вычислительных систем) является высокоскоростной шиной, предназначенной для высокопроизводительных дисков, сканеров и других устройств, нуждающихся в значительной пропускной способности. В наши дни эти шины встречаются в основном в серверах и рабочих станциях. Скорость передачи данных может достигать 640 Мбайт/с.

Для работы в окружении, показанном на рис. 1.12, операционная система должна знать о том, какие периферийные устройства подключены к компьютеру, и сконфигурировать эти устройства. Это требование заставило корпорации Intel и Microsoft разработать для PC-совместимых компьютеров систему, называемую plug and play (подключи и работай). Она основана на аналогичной концепции, первоначально реализованной в Apple Macintosh. До появления plug and play каждая плата ввода-вывода имела фиксированный уровень запроса на прерывание и постоянные адреса для своих регистров ввода-вывода. Например, клавиатура использовала прерывание 1 и адреса

ввода-вывода от 0x60 до 0x64; контроллер гибкого диска использовал прерывание 6 и адреса ввода-вывода от 0x3F0 до 0x3F7; принтер использовал прерывание 7 и адреса ввода-вывода от 0x378 до 0x37A и т. д.

До поры до времени все это неплохо работало. Проблемы начинались, когда пользователь покупал звуковую карту и внутренний модем и обнаруживалось, что оба устройства использовали, скажем, прерывание 4. Возникал конфликт, не позволяющий им работать вместе. Решением стало появление на каждой плате ввода-вывода DIP- переключателей, или перемычек (jumpers). Однако приходилось инструктировать пользователя о необходимости выбрать уровень запроса на прерывание и адреса ввода-вывода для данного устройства, которые не конфликтовали бы со всеми другими прерываниями и адресами, задействованными на его системе. Иногда выполнить эти требования без ошибок оказывались способны подростки, которые посвятили свою жизнь решению головоломок компьютерного оборудования. Но, к сожалению, кроме них это практически никому не удавалось, что приводило к полному хаосу.

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

1.3.7.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Шины:

  1. Конспект – золото студента
  2. Лень — двигатель прогресса
  3. Глава 9. Получение образцов для сравнительного исследования
  4. к) Оказание медицинской или иной помощи потерпевшему непосредственно после совершения преступления, добровольное возмещение имущественного ущерба и мо-рального вреда, причиненных в результате преступления, иные действия, направленные на заглаживание вреда, при-чиненного потерпевшему
  5. Знай, на что смотреть
  6. От аутогенной тренировки к современному методу Ключ.
  7. От аутогенной тренировки к современному методу Ключ.
  8. § 10 Принадлежности недвижимых и движимых имуществ
  9. Новое отношение к злу
  10. Л.О. Доліненко, В.О. Доліненко, С.О. Сарновська. Цивільне право України, 2006
  11. ЦИВІЛЬНЕ ПРАВО УКРАЇНИ
  12. ПЕРЕДМОВА
  13. Частина І ПРОГРАМА КУРСУ «ЦИВІЛЬНЕ ПРАВО УКРАЇНИ»
  14. Розділ І. Загальні положення цивільного права
  15. Тема 1. Поняття цивільного права. Предмет та метод, система цивільного права. Функції та принципи цивільного права