Интерфейсы и шины в вычислительной системе
Шина
Интерфейс
Основные технические характеристики интерфейсов
Электрические аспекты
Факторы влияющие на распространение сигнала
Отражение
Перекос
Арбитраж
Схемы приоритетов
Схемы арбитража
Обслуживание нескольких устройств
Обслуживание нескольких устройств
Обслуживание нескольких устройств
Разрешение конфликтов на шине
Типы шин
Синхронная шина
Синхронная шина
Синхронная шина
Асинхронные шины
Асинхронные шины
Методы управления вводом/выводом
Стандартные интерфейсы ввода/вывода
Стандартные интерфейсы ввода-вывода
Стандартные интерфейсы ввода-вывода
Шина PCI
Шина PCI
Шина PCI
Конфигурирование устройства
Подключение шины PCI
PCI Express
Параллельный интерфейс SCSI
Шина SCSI
Асинхронные шины
Шина USB
Шина USB
Адресация USB
Шина USB
611.00K
Category: informaticsinformatics

Интерфейсы и шины в вычислительной системе. (Тема 3)

1. Интерфейсы и шины в вычислительной системе

Структура взаимосвязей
вычислительной машины

2.

Операция
Адрес
Память
N ячеек
Данные
Данные
Операция
Внутренние данные
Адрес
Внутренние данные
Модуль
ввода-вывода
Внешние данные
M портов
Сигналы прерывания
Внешние данные
Команды
Сигналы управления
Данные
Центральный
процессор
Данные
Сигналы прерывания

3.

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

4. Шина

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

5. Интерфейс

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

6. Основные технические характеристики интерфейсов

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

7.

• Взаимосвязь частей ВМ и ее «общение» с
внешним миром обеспечиваются системой
шин. Большинство машин содержат
несколько различных шин, каждая из
которых оптимизирована под определенный
вид коммуникаций. Часть шин скрыта внутри
интегральных микросхем или доступна
только в пределах печатной платы.
Некоторые шины имеют доступные извне
точки, к которым легко подключить
дополнительные устройства, большинство
таких шин не просто доступны, но и
отвечают определенным стандартам, что
позволяет подсоединять к шине устройства
различных производителей.

8.

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

9.

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

10. Электрические аспекты

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

11.

• Схему, меняющую напряжение на
сигнальной шине, обычно называют
драйвером. При реализации шины
необходимо предусмотреть возможность
отключения драйвера от сигнальной линии
на период, когда он не использует шину.
Один из способов— применение драйвера,
выход которого может находиться в одном из
трех состояний: «высокий уровень
напряжения» (high), «низкий уровень
напряжения» (low) и «отключен» (off). Для
перевода в состояние «off», эквивалентное
отключению выхода драйвера от сигнальной
линии, используется специальный вход
драйвера.

12.

• Совместное использование линии шины
несколькими устройствами возможно также за
счет подключения этой линии к выходу
драйвера через резистор, соединенный с
источником питания (схемы с открытым
коллектором (ТТЛ), открытым стоком (МОП) или
открытым эмиттером (ЭСЛ)). Данный способ
исключает электрические конфликты на шине и
позволяет реализовать вид логической
операции, «монтажное ИЛИ» или «монтажное
И». Если к линии одновременно подключается
несколько драйверов, то сигнал на линии
представляет собой результат логического
сложения (операция ИЛИ) всех поступивших на
линию сигналов. Это используется при
решении задачи арбитража. В некоторых шинах
«монтажное ИЛИ» используется лишь в
отдельных сигнальных линиях.

13. Факторы влияющие на распространение сигнала

• скорость распространения;
• отражение;
• перекос;
• эффекты перекрестного влияния.
Теоретическая граница скорости
распространения сигнала —300 мм/нс.
Реальная скорость, определяемая
физическими характеристиками
сигнальных линий и нагрузкой, не может
превысить 70% от скорости света.

14. Отражение

• Сигнал драйвера «подтягивает» линию к
своему уровню напряжения. Изменение
напряжения распространяется от точки
подключения драйвера в обоих
направлениях, пока на всей линии не
установится уровень сигнала драйвера.
Характер распространения сигнала
определяют емкость, индуктивность и
характеристическое сопротивление линии,
локальные значения которых по длине
линии зависят от локальных свойств
проводника и его окружения.

15.

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

16. Перекос

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

17. Арбитраж

• Операции на шине называют транзакциями.
Основные виды транзакций — транзакции
чтения и транзакции записи. Шинная
транзакция включает в себя две части: посылку
адреса и прием (или посылку) данных.
• Когда два устройства обмениваются
информацией по шине, одно из них должно
инициировать обмен и управлять им. Такого
рода устройства называют ведущими (bus
master). «Ведущий» — это любое устройство,
способное взять на себя владение шиной и
управлять пересылкой данных

18.

• Ведущий может захватить управление шиной в
интересах другого устройства. Устройства, не
обладающие возможностями инициирования
транзакции, носят название ведомых (bus
slave). К шине может быть подключено
несколько потенциальных ведущих, но в любой
момент времени активным может быть только
один из них: если несколько устройств
передают информацию одновременно, их
сигналы перекрываются и искажаются. Для
предотвращения одновременной активности
нескольких ведущих в любой шине
предусматривается процедура допуска к
управлению шиной только одного из
претендентов (арбитраж).

19. Схемы приоритетов

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

20.

Алгоритмы динамического изменения
приоритетов:
• простая циклическая смена
приоритетов;
• циклическая смена приоритетов с
учетом последнего запроса;
• смена приоритетов по случайному
закону;
• схема равных приоритетов;
• алгоритм наиболее давнего
использования.

21.

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

22.

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

23. Схемы арбитража

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

24. Обслуживание нескольких устройств

Реализация приоритетов прерываний с использованием
индивидуальных линий подтверждения прерывания
INTRp
INTR1
Устройство
1
INTA1
Арбитражная
схема
Устройство
2
Устройство
p
INTAp

25.

• Достоинство данного метода высокая
скорость арбитража, потому что
арбитраж производится параллельно.
• Недостаток – большое количество
сигнальных линий.
• INTR1 – запрос на захват шины
• INTA1 - разрешение на захват шины
• Приоритет определяется алгоритмом
арбитра

26. Обслуживание нескольких устройств

Схемы приоритетов : гирляндная цепь
INTR
INTA
Устройство
1
Устройство
2
Устройство
n

27.

• Запрос на обслуживание шины все
устройства подают по одной шине INTR
параллельно. Если шина не занята,
контроллер выдает сигнал предоставления
работы с шиной который последовательно
проходит через устройства пока не встретит
первое устройство запросившее шину.
Устройство блокирует прохождение сигнала
дальше, выставляет сигнал занятости шины
и начинает управлять шиной. Приоритет не
изменяемый и зависит от местоположения
устройства.

28. Обслуживание нескольких устройств

Схемы приоритетов : группы с приоритетами
INTR1
INTA1
Устройство
Устройство
INTR p
INTA p
Устройство
Арбитражная
схема
Устройство

29.

• Совмещает первые два способа.
Группы обслуживаются параллельно с
заданным алгоритмом определения
приоритета, а внутри группы приоритет
зависит от местоположения устройства.

30. Разрешение конфликтов на шине

Схема распределенного арбитража
Vcc
____
ARB3
____
ARB2
____
ARB1
____
ARB0
______________
Start - Arbitration
Открытый
коллектор
0
1
0
1
0
1
1
1

31.

• Предположим, что устройства А и В, которые
имеют идентификационные номера 5 и 6,
одновременно запрашивают шину. Устройство А
передает значение 0101, а устройство В –
значение 0110. Оба они получают код 0111. После
этого каждое из устройств сравнивает код со своим
идентификационным номером, начиная с самого
старшего разряда, и, если обнаруживает различие
хотя бы в одном разряде, отключает свой
повторитель в этом разряде и все повторители
младших разрядов. Для этого оно просто помещает
на входы соответствующих повторителей значение
0. В нашем примере устройство А обнаруживает
различие на линии

32.

ARB1, поэтому отключает повторители на
линиях ARB1 и ARB0. В результате код на
линиях арбитража меняется на 0110, и это
означает, что победило устройство В.
Поскольку код на линиях приоритета в течение
короткого промежутка времени был равен
0111, устройство В смогло временно
отключить свой повторитель на линии ARB0.
Однако оно снова включит этот повторитель,
как только увидит на линии ARB1 значение 0,
появившееся в результате действий
устройства А. Т.О. чем больше номер, тем
больше приоритет

33. Типы шин

• Важным критерием, определяющим
характеристики шины, может
служить ее целевое назначение. По
этому критерию можно выделить:
• шины «процессор-память»;
• шины ввода/вывода;
• системные шины.

34.

• Шина «процессор-память» обеспечивает
непосредственную связь между центральным
процессором вычислительной машины и
основной памятью . В современных
микропроцессорах такую шину часто называют
шиной переднего плана и обозначают
аббревиатурой FSB (Front-Side Bus).
Интенсивный трафик между процессором и
памятью требует, чтобы полоса пропускания
шины, то есть количество информации,
проходящей по шине в единицу времени, была
наибольшей. Роль этой шины иногда выполняет
системная шина однако в плане эффективности
значительно выгоднее, если обмен между ЦП и
ОП ведется по отдельной шине.

35.

• Шина ввода/вывода служит для соединения
процессора (памяти) с устройствами
ввода/вывода (УВВ). Учитывая разнообразие
таких устройств, шины ввода/вывода
унифицируются и стандартизируются. Связи с
большинством УВВ не требуют от шины
высокой пропускной способности. При
проектировании шин ввода/вывода в учет
берутся стоимость конструктива и
соединительных разъемов. Такие шины
содержат меньше линий по сравнению с
вариантом «процессор-память», но длина
линий может быть весьма большой. Типичными
примерами подобных шин могут служить шины
PCI и SCSI.

36.

• С целью снижения стоимости некоторые ВМ
имеют общую шину для памяти и устройств
ввода/вывода. Такая шина часто называется
системной. Системная шина служит для
физического и логического объединения всех
устройств ВМ. Поскольку основные устройства
машины, как правило, размещаются на общей
монтажной плате, системную шину часто
называют объединительной шиной (backplane
bus), хотя эти термины нельзя считать строго
эквивалентными.
• Системная шина в состоянии содержать
несколько сотен линий. Совокупность линий
шины можно подразделить на три
функциональные группы: шину данных, шину
адреса и шину управления. К последней
обычно относят также линии для подачи
питающего напряжения на подключаемые к
системной шине модули.

37.

• Все этапы передачи данных по шине
должны быть синхронизированы по
времени.
• По типу синхронизации передачи
данных шины различаются на
синхронные и асинхронные.
• Время необходимое для передачи
данных называют циклом шины

38. Синхронная шина

Временная диаграмма операции пересылки
по синхронной шине при вводе данных
Время
Тактовый
сигнал шины
Адрес и
Команды
Данные
t0
t1
Цикл шины
t2

39.

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

40.

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

41.

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

42.

• В течение промежутка времени от t0 до t1
информация на шине ненадежна, поскольку
состояние сигналов изменяется. В момент времени
t1 адресуемое устройство помещает запрошенные
входные данные на линии данных.
• В конце тактового цикла (t2) хозяин шины
стробирует данные на линиях данных в свой
входной буфер. Слово «стробировать» в
используемом контексте означает снять значения с
линий данных в указанный момент времени и
сохранить их в буфере. Для того чтобы данные
правильно загружались в любое устройство
хранения они должны находиться на его входе в
течение времени, достаточного для их сохранения.
Поэтому период времени t2 – t1 должен быть
больше максимального времени распространения
сигнала по шине в сумме со временем установки
входного буферного регистра хозяина шины.

43. Синхронная шина

Временная диаграмма для операции пересылки входных данных
с учетом задержек на распространение сигнала
Время
Тактовый
сигнал шины
Для хозяина шины
tAM
Адрес и команда
Данные
tDM
Для подчиненного
устройства
tAS
Адрес и команда
Данные
tDS
t0
t1
t2

44.

• Каждый сигнал, за исключением тактового,
показан здесь в двух вариантах. Поскольку
на передачу сигнала от одного устройства к
другому уходит некоторое время, разные
устройства видят изменения этого сигнала в
разные моменты. Одно представление
соответствует тому, как данный сигнал видит
хозяин шины, а другое – тому, как его видит
подчиненное устройство. При этом
предполагается, что изменения тактового
сигнала все подключенные к шине
устройства замечают одновременно

45.

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

46. Синхронная шина

Пересылка данных с использованием нескольких
тактов
1
Тактовый сигнал
Адрес
Команда
Данные
Slave-ready
2
3
Время
4

47.

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

48. Асинхронные шины

Пересылка входных данных по шине с
использованием квитирования (ввод)
Время
Адрес и
команда
Master-ready
Slave-ready
Данные
t0
t1
t2
Цикл шины
t3
t4
t5

49.

• Альтернативная схема управления
пересылкой данных по шине основывается
на механизме квитирования, то есть
подтверждения связи, между хозяином
шины и подчиненным устройством.
Концепция квитирования является
обобщением идеи использования сигнала
Slave-ready. В схеме с квитированием
тактовая линия заменяется двумя
управляющими линиями синхронизации:
Master-ready и Slave-ready. Первая
принадлежит хозяину шины, который
передает по ней сигнал готовности к
транзакции, а по второй отвечает
подчиненное устройство.

50.

• Пример выполнения операции пересылки входных
данных с использованием квитирования
• t0 – хозяин шины помещает на нее адрес и
команду, и все устройства на шине начинают
декодировать эту информацию.
• t1 – хозяин шины активизирует линию Master-ready,
чтобы проинформировать устройства вводавывода о том, что адрес и команда поданы на
шину. Задержка, равная t1 - t0 учитывает сдвиг
сигналов и время декодирования.
• t2 –подчиненное устройство выполняет операцию
ввода. Одновременно оно активизирует сигнал
Slave-ready. Длительность промежутка времени t2
– t1 зависит от расстояния между хозяином шины и
подчиненным устройством, а также от задержек в
схеме подчиненного устройства. Поскольку
указанный промежуток времени имеет разную
длительность, схема получается асинхронной.

51.

• t3 – сигнал Slave-ready достигает хозяина шины и
сообщает ему, что на шине имеются данные.
После задержки (t2 – t3 ), равной сумме времени
максимального сдвига сигналов на шине и
минимального времени установки буфера, хозяин
шины стробирует данные в свой входной буфер.
Одновременно он удаляет с шины сигнал Masterready, сообщая тем самым о получении данных.
• t4 – хозяин шины удаляет с шины адрес и команду.
• t5 – когда интерфейс устройства фиксирует
переход сигнала Master-ready из 1 в 0, он удаляет с
шины данные и сигнал Slave-ready. На этом
пересылка входных данных завершается.

52. Асинхронные шины

Пересылка выходных данных по шине с
использованием квитирования (вывод)
Время
Адрес и
команда
Данные
Master-ready
Slave-ready
t0
t1
t2
Цикл шины
t3
t4
t5

53.

• Процесс выполнения операции вывода
почти ничем не отличается от процесса
выполнения операции ввода. Правда, в этом
случае хозяин шины одновременно с
адресом и командой помещает на линии
данных выходную информацию. Получив
сигнал Master-ready, подчиненное
устройство стробирует данные в свой
входной буфер и сообщает об этом
установкой сигнала Slave-ready в 1. Дальше
все происходит точно так, как при вводе
данных.

54. Методы управления вводом/выводом

• В ВМ находят применение три способа
организации ввода/вывода:
• программно управляемый ввод/вывод;
• ввод/вывод по прерываниям;
• прямой доступ к памяти.

55.

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

56.

• Ввод/вывод по прерываниям во многом
совпадает с программно управляемым
методом. Отличие состоит в том, что после
выдачи команды ввода/вывода ЦП не
должен циклически опрашивать МВВ для
выяснения состояния устройства. Вместо
этого процессор может продолжать
выполнение других команд до тех пор, пока
не получит запрос прерывания от МВВ,
извещающий о завершении выполнения
ранее выданной команды. Как и при
программно управляемом вводе/выводе, ЦП
отвечает за извлечение данных из памяти
(при выводе) и запись данных в память (при
вводе).

57.

• Повышение как скорости ввода/вывода, так
и эффективности использования ЦП
обеспечивает третий способ ввода/вывода
— прямой доступ к памяти (ПДП). В этом
режиме основная память и модуль
ввода/вывода обмениваются информацией
напрямую, минуя процессор. Процессор
инициирует операцию и передает
управление контроллеру ПДП. По
завершении ввода/вывода контроллер
оповещает ЦП с помощью прерывания.

58. Стандартные интерфейсы ввода/вывода

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

59.

• Универсальный стандарт для шины
процессора определить невозможно,
поскольку ее структура очень тесно связана
с архитектурой процессора. Структура шины
зависит от электрических характеристик
процессора, в том числе от его тактовой
частоты. Однако на шину расширения эти
ограничения не распространяются, поэтому
для нее можно использовать стандартную
схему сигналов. Для шин расширения
разработан целый ряд стандартов.
Некоторые стандарты разрабатывались
объединенными усилиями крупных
компаний, которые были заинтересованы в
создании совместимых устройств.

60. Стандартные интерфейсы ввода-вывода

• В этом разделе вы познакомитесь с
тремя широко применяемыми
стандартами шин:
• PCI (Peripheral Component
Interconnect)
• SCSI (Small Computer Systems
Interface)
• USB (Universal Serial Bus).

61. Стандартные интерфейсы ввода-вывода

Пример компьютерной системы, в которой используется
несколько стандартов интерфейса
Процессор
Основная память
Шина процессора
Мост
Шина PCI
Дополнительная Контроллер
память
SCSI
Шина SCSI
Дисковый
контроллер
Диск 1
Диск 2
Интерфейс
Ethernet
Контроллер
CD-ROM
CD-ROM
Контроллер
USB
Видео
Клавиатура
Интерфейс
ISA
Диск
Игровое
устройство

62. Шина PCI

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

63.

• Шина PCI предназначена для поддержки режима
пакетного ввода/вывода данных. Операция чтения
или записи одного слова интерпретируется ею как
чтение или запись пакета длиной в одно слово.
Шина поддерживает три независимых адресных
пространства: памяти, ввода-вывода и
конфигурации. Назначение первых двух понятно.
Адресное пространство ввода-вывода
используется такими процессорами, как Pentium,
имеющими отдельное адресное пространство
ввода-вывода. Конфигурационное адресное
пространство предназначено для поддержки
технологии plug-and-play. Сопровождающая адрес
4-разрядная команда указывает, какое из трех
адресных пространств должно использоваться в
этой операции пересылки данных.

64.

• Хозяином шины в каждый конкретный
момент времени может быть только одно
устройство. Это устройство имеет право
инициировать операции пересылки данных с
помощью команд чтения и записи. Согласно
терминологии PCI, хозяин шины называется
инициатором. Им может быть либо
процессор, либо контроллер ПДП.
Адресуемое устройство, отвечающее на
команды чтения и записи, называется
целевым. Рассмотрим назначение сигналов
пересылки данных по шине PCI

65.

Имя
Описание
CLK
Тактовый сигнал с частотой
FRAME*
Активизируется инициатором с целью определения
длительности транзакции
AD
Представляет 32 линии для пересылки адресов и
данных (количество линий при необходимости
может быть увеличено до 64)
С/ВЕ#
Представляет 4 линии для команды считывания
(Command) и массив, указывающий, какие байты
подлежат считыванию (Byte enable)
IRDY#,
TRDY#
Сигналы готовности инициатора
устройства соответственно
DEVSEL#
Ответ устройства, указывающий, что оно
распознало свой адрес и готово к операции
пересылки данных
IDSEL#
Сигнал выбора инициализируемого устройства
и
целевого

66. Шина PCI

Операция чтения на шине PCI
CLK
1
2
3
4
5
6
7
Frame#
AD
Адрес
C/BE#
Команда
IRDY#
TRDY#
DEVSEL#
#1
#2
#3
Разрешающий сигнал
#4

67.

• Рассмотрим операцию в которой процессор
считывает из памяти 32-разрядное слово. Ее
инициатором является процессор, а
целевым устройством – память. Полная
операция пересылки данных по шине,
включающая пересылку адреса и пакета
данных, называется транзакцией.
Пересылка отдельного слова в ходе
транзакции называется фазой. Тактовый
сигнал используется для координирования
различных фаз транзакции. Все изменения
сигналов инициируются передним фронтом
тактового сигнала. Из-за задержек
изменения сигналов следуют через
некоторое время после тактовых импульсов.

68.

• На такте 1 процессор помещает на шину сигнал
FRAME#, сообщая тем самым о начале
транзакции. Одновременно он помещает адрес на
линии AD и команду на линии С/ВЕ#. В данном
случае команда указывает, что запрошена
операция чтения и что в ней используется
адресное пространство памяти.
• Такт 2 предназначен для переключения линий
шины AD. Процессор удаляет с них адрес и
отключает свои выходные повторители. Выбранное
целевое устройство, напротив, включает свои
повторители на линиях AD и в течение такта 3 по
мещает на эти линии запрошенные данные. Затем
оно активизирует сигнал DEVSEL# и поддерживает
его в активном состоянии до конца транзакции.

69.

• Линии С/ВЕ#, использовавшиеся для пересылки
команды на такте 1, в оставшейся части
транзакции применяются для другой цели. Каждая
из них связана с одним байтом данных на линиях
AD. Инициатор активизирует одну или несколько
линий С/ВЕ#, для того чтобы указать, какие из
линий AD должны использоваться для пересылки
данных. Если целевое устройство способно
одновременно пересылать 32 бита данных, все
четыре линии С/ВЕ# устанавливаются в 1.
• В течение такта 3 инициатор активизирует сигнал
IRDY#, с тем чтобы сообщить о своей готовности к
получению данных. Если целевое устройство к
этому моменту уже готово к отправке данных, оно
устанавливает сигнал TRDY# и помещает на шину
слово данных. В конце такта инициатор загружает
данные в свой входной буфер. На тактах 4-6
целевое устройство отсылает инициатору еще три
слова данных.

70.

• С помощью сигнала FRAME# инициатор
указывает длину пакета данных. Во время
передачи предпоследнего слова он снимает
этот сигнал, отмечая окончание пакета. В
нашем примере инициатор хочет прочитать
четыре слова. Поэтому он снимает сигнал
FRAME# на такте 5, во время которого
получает третье слово данных. После
отправки четвертого слова на такте 6
целевое устройство отсоединяет свои
повторители от линий AD и в начале такта 7
снимает сигнал DEVSEL#.

71. Шина PCI

Роль сигналов IRDY# и TRDY# в операции чтения
CLK
Frame#
AD
C/BE#
IRDY#
TRDY#
DEVSEL#
Адрес
Команда
#1
#2
#3
Разрешающий сигнал
#4

72.

• С помощью сигналов IRDY# и TRDY# инициатор и
целевое устройство делают паузы в середине
транзакции. Целевое устройство отсылает третье
слово на такте 5. Предположим, что в этот момент
инициатор не готов к его получению. Тогда он
снимает сигнал IRDY#, а целевое устройство
сохраняет третье слово на линях AD до тех пор,
пока сигнал IRDY# не появится снова. На такте 6
инициатор активизирует сигнал IRDY# и в конце
этого такта загружает данные в свой входной
буфер. Допустим, что теперь целевое устройство
не готово к немедленной отправке четвертого
слова данных. В начала такта 7 оно снимает
сигнал TRDY#, а на такте 8 помещает четвертое
слово на линии AD и активизирует сигнал TRDY#.
Поскольку на третьем слове данных сигнал
FRAME# снимается, после пересылки четвертого
слова данных транзакция завершается.

73. Конфигурирование устройства

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

74.

• В результате процесса инициализации устройствам
назначаются адреса. Это означает, что в ходе
операции конфигурирования шины доступ к
устройствам по их адресам не возможен, поскольку
таковые им пока еще не назначены. Поэтому для
доступа к адресному пространству конфигурации
применяется другой механизм. У каждого
устройства имеется входной сигнал, называемый
IDSEL# (Initialization Device Select – выбор
инициализируемого устройства). В ходе операции
конфигурирования выбор устройства выполняется
с помощью этого сигнала, а не с помощью адреса,
поданного на AD-входы устройства. На
материнской плате в каждом разъеме, к которому
подключается интерфейс устройства вводавывода, имеется контакт IDSEL#, соединенный с
одной из 21 старших адресных линий, от AD11 до
AD31.

75.

• Выбор устройства для конфигурирования
выполняется путем подачи на шину
конфигурационной команды и адреса, в котором
соответствующая линия AD установлена в 1, а
оставшиеся 20 линий – в 0. Младшие адресные
линии, от AD10 до AD00, используются для
задания типа операции и для доступа к
содержимому конфигурационной ROM устройства.
Такая организация шины PCI позволяет
подключить к ней не более 21 устройства вводавывода. Конфигурационное программное
обеспечение сканирует 21 область
конфигурационного адресного пространства, чтобы
узнать, какие устройства подключены к
компьютеру.

76.

• Каждое устройство может запросить адрес в
пространстве ввода-вывода или в пространстве
основной памяти. Назначенный устройству адрес
записывается в один из его регистров. Кроме того,
конфигурационное программное обеспечение
устанавливает такие параметры, как приоритет
прерываний устройства. Шина PCI включает
четыре линии запроса прерывания. Записывая
данные в регистр конфигурации устройства,
программное обеспечение информирует
устройство о том, какие из этих линий оно может
использовать для запроса прерывания. Если
устройству необходима инициализация,
предназначенный для этой цели код хранится в
специальной ROM его интерфейса. (Это не та
ROM, которая используется в процессе
конфигурирования.) Программное обеспечение PCI
считывает данный код и выполняет его для
инициализации устройства.

77.

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

78. Подключение шины PCI

79. PCI Express

• Интерфейс PCI Express использует
концепцию PCI, однако физическая их
реализация кардинально отличается. На
физическом уровне PCI Express
представляет собой не шину, а некое
подобие сетевого взаимодействия на основе
последовательного протокола. Высокое
быст
English     Русский Rules