Структура системной шины

Организация шин. Системная шина

Лекция 9. Организация ввода-вывода информации. Системная шина

Вопросы для самопроверки

1) В чём заключается динамическое распределение памяти? Дайте определение виртуальной памяти, свопингу. Что даёт использование виртуальной памяти?

2) В чём заключаются особенности модели сегментной организации памяти? Опишите схему сегментного распределения памяти. Что представляет собой дескрипторная сегментная таблица? Поясните схему вычисления физического адреса операнда при сегментной организации памяти. Какими преимуществами и недостатками обладает сегментная модель виртуальной памяти? Каким образом осуществляется вызов сегментов по требованию?

3) В чём заключаются особенности модели страничной организации памяти? Опишите схему страничного распределения памяти. Что представляет собой страничная таблица? Какими преимуществами и недостатками обладает страничная модель виртуальной памяти? Каким образом осуществляется вызов страниц по требованию?

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

 

 

Согласно /1, 2, 5, 6, 17/, вычислительная машина представляет собой сложную систему, включающую в себя большое количество различных устройств, в т.ч., периферийных (внешних). Передача информации с периферийного устройства (ПУ) в ВМ называется операцией ввода, а передача данных из ВМ в ПУ – операцией вывода. Для информационного обмена между устройствами ВМ применяются магистрали (шины), к которым эти устройства подключаются. В современных ВМ используется иерархия шин отличающихся пропускной способностью, набором сигналов и протоколом.

Далее рассмотрим принципы организации шин ВМ /1, 5, 6, 17/.

Шина – это группа проводников, соединяющая различные устройства /5/.

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

Системная шина – это шина, которая служит для физического и логического объединения всех устройств ВМ. Совокупность линий шины можно подразделить на три функциональные группы: шину данных, шину адреса и шину управления /6/ (Рисунок 9.1):

В общем, функционирование системной шины можно описать следующим образом:

1) Если одно из устройств хочет передать данные в другое, оно должно получить в своё распоряжение шину и передать по ней данные.

2) Если какое-то устройство хочет получить данные от другого устройства, оно должно получить доступ к шине и с помощью соответствующих линий управления и адреса передать другому устройству запрос. Далее оно должно ожидать, пока устройство, получившее запрос, пошлёт данные.

 

Рисунок 9.1 – Структура системной шины

Операции на шине называются транзакциями. Основные виды транзакций: транзакция чтения (ввода) и транзакция записи (вывода). Шинная транзакция включает в себя две части: посылку адреса и приём (или посылку) данных.

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

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

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

Ширина шины адреса – число сигнальных линий системной шины, выделенных для передачи адреса. Это одна из базовых характеристик шины, поскольку от неё зависит потенциальная ёмкость адресуемой памяти и число обслуживаемых портов ввода-вывода.

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

Ширина шины данных – это количество битов информации, которое может быть передано по шине за одну транзакцию (цикл шины). Цикл шины не следует путать с периодом тактовых импульсов – одна транзакция по шине может занимать несколько тактовых периодов. В настоящее время ширина шины данных составляет обычно 32, 64 или 128 бит. Ширину шины данных выбирают кратной целому числу байтов, которое, как правило, представляет собой целую степень числа 2.

Элемент данных, который задействует всю ширину шины данных, принято называть словом, хотя в архитектуре ВМ понятие «слово» трактуется иначе. То есть, слово может иметь разрядность, не совпадающую с шириной с шиной данных.

Ширина шины данных существенно влияет на производительность ВМ. Например, если шина данных имеет ширину вдвое меньшую длины команды процессора, то последний вынужден осуществлять доступ к памяти дважды.

Пропускная способность шины данных – это количество единиц информации (байтов), передаваемых по шине за единицу времени (секунду); измеряется в бит/с. Она определяется физическим построением шины и природой подключаемых к ней устройств. Чем больше ширина данных, тем выше её пропускная способность. Общее время передачи данных в современных ВМ составляет примерно 7,5 нс.

Некоторые шины содержат дополнительные линии для обнаружения ошибок, возникших в процессе передачи.

Если адрес и данные передаются по независимым (выделенным) линиям, то ширина шины адреса и шины данных выбирается независимо. Если адрес и данные передаются по одним и тем же линиям, то передача осуществляется в разных тактах шины. Этот приём называется временным мультиплексированием.

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

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

Первую группу (2-8 линий) образуют линии, по которым передаются сигналы управления транзакциями (тип транзакции, тип адреса, тип применяемого протокола, число байтов, передаваемых по шине данных).

Ко второй группе (1-4 линии) относятся линии передачи информации состояния (статуса). Ведомое устройство может информировать ведущее устройство о своём состоянии или передать код возникшей ошибки.

Третью группу (3-11 линий) образуют линии арбитража. В реальных системах на роль ведущего могут одновременно претендовать сразу несколько из подключённых к шине устройств. Однако управлять шиной в каждый момент времени может только одно из них. Процедура допуска к управлению шиной одного из претендентов называется арбитражем шины. Решение обычно принимается на основе приоритетов претендентов.

В четвёртую группу (1-2 линии) входят линии прерывания. По ним передаются запросы на обслуживание, посылаемые от ведомых устройств к ведущему.

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

К шестой группе (4-5 линий) относятся линии позиционного кода, которые подсоединяются к специальным выводам разъёма. Такой код может быть использован для индивидуальной инициализации материнской или дочерней платы при включении или перезагрузке системы.

В седьмую группу (2-6 линий) входят линии тактирования и синхронизации.

Кроме того, необходимо отметить линии для подвода питающего напряжения и линии заземления.