17. Организация шин. Параметры шин. Циклы шины.
Организация шин: определения
Шина – общая электрическая магистраль между несколькими устройствами. Изначально ПК содержали лишь одну шину – системную шину, также называемую внутренней. Внешние шины используются для организации интерфейса с устройствами за пределами типичной процессорной системы.
Примеры: USB, Fire Wire. Эти шины обычно используются для общения с устройствами ввода/вывода.
Сигналы управляющей шины
- Чтение/запись памяти
- Чтение/запись I/O
- Готовность
- Запрос и разрешение шины
- Прерывание и подтверждение прерывания
- Запрос DMA, подтверждение DMA
- Синхросигнал
- Сброс
Параметры шин
- Ширина шины
- Частота шины
- Перекос (Skew)
- Тип шины
- Синхронизация шины
- Арбитраж
Ширина и частота шины, перекос
- Ширина шины определяет её пропускную способность.
- Широкая шина требует больше места, как из-за количества проводников, так и для обеспечения одинаковой длины проводников. Широкая шина требует много материалов, следовательно, она дорогая. В широкой шине серьезную проблему представляет эл.-маг. излучение, наводящее помехи между соседними проводниками шины.
- Проблема ширины шин часто решается путем мультиплексирования линий адреса и данных в одну шину. В таком случае используется одна физическая шина, а в ходе работы сначала по ней передается адрес, затем данные.
- Повышение частоты шины создает проблемы обратной совместимости и совместимости с медленными устройствами.
- При высокой тактовой частоте критическое значение приобретает перекос (skew), вызванный расхождением в распространении сигналов по разным линиям. Поэтому для работы с большими тактовыми частотами используются последовательные шины.
Тип шин, операции шин
Типы:
- Специализированные: шина данных, адресная шина.
- Мультиплексированные: одна шина используется для передачи данных и адреса в разные промежутки времени.
Операции:
- Чтение
- Запись
- Передача блоками
- Прерывание
- Чтение-модификация-запись – это операция, используемая в многопроцессорных системах.
Позволяет организовать исключительный, атомарный доступ к разделяемой информации, называемой критической секцией.
Синхронизация шин
Синхронные
Любая операция занимает целое число тактов.
Достоинство: простота работы, простота изготовления.
Недостатки: снижение общей эффективности передач, вся система привязана к одной частоте, более того, шина должна работать с частотой самого медленного из подключенных к ней устройства.
Асинхронные
Не зависят от тактового генератора. Циклы занимают столько, сколько требуется, и могут различаться для различных устройств одной шины. Такие шины управляются событиями. В них существует необходимость реализовывать handshake.
Достоинства: возможность поддержки устройств с различной частотой.
Недостатки: c ними сложнее работать. Их сложнее реализовать.
Арбитраж: определения
- Инициатор (Master) – ведущее устройство, инициирующее передачу данных.
- Ведомое устройство (Slave) – подчиненное устройство.
- Драйвер шины (Bus Driver) – цифровой усилитель, через который мастер подключается к шине.
- Приемник шины (Bus Receiver) – схема, с помощью которой к шине подключается slave.
- Приемопередатчик (Bus Transceiver) – схема, с помощью которой к шине подключаются устройства, которые в разные моменты выполняют роль Master и Slave.
Арбитраж
- Арбитр – устройство, разрешающее конфликты доступа к шине.
- Протокол – набор правил, которым должны подчиняться все устройства, подключаемые к шине.
Виды арбитража:
- Статический – доступ к шине осуществляется в заранее определенном порядке. Прост в реализации, неэффективен, не отражает нужд пользователей шины.
- Динамический – осуществляется по требованию мастера. Для реализации необходимо, чтобы у каждого мастера были линии запроса шины (request) и разрешения шины (grant). Если мастеру требуется шина, устанавливается сигнал на линию request. Транзакция может быть начата только после получения разрешения по линии grant.
Цикл шины
Цикл шины – направленная на выполнение определенной функции шины периодически повторяемая связанная последовательность управляющих работой шины сигналов, а также передач кодов по ее линиям.
Примеры циклов: циклы чтения, записи, прерывания и др.
По отношению к тактовым синхроимпульсам шины делятся на синхронные и асинхронные.
У синхронных шин все действия цикла шины привязаны к определенным фазам синхроимпульса – началу, середине, концу и т. д. Они имеют строго определенную длительность, а цикл такой шины всегда занимает целое количество тактов. У асинхронных шин такая привязка отсутствует