Основные виды транзакций: транзакции чтения и транзакции записи.
Рис. 1. Информационные потоки в вычислительной машине.
С развитием вычислительной техники менялась и структура взаимосвязей устройств ВМ (рис.2).
На начальной стадии преобладали непосредственные связи между взаимодействующими устройствами ВМ.
С появлением мини-ЭВМ, и особенно первых микроЭВМ, все более популярной становится схема с одной общей шиной.
Последовавший за этим быстрый рост производительности практически всех устройств ВМ привел к неспособности единственной шины справиться с возросшим трафиком, и ей на смену приходят структуры взаимосвязей на базе нескольких шин.
Дальнейшие перспективы повышения производительности вычислений связаны не столько с однопроцессорными машинами, сколько с многопроцессорными вычислительными системами. Способы взаимосвязей в таких системах значительно разнообразнее.
Взаимосвязь частей ВМ и ее «общение» с внешним миром обеспечиваются системой шин.
Большинство машин содержат несколько различных шин, каждая из которых оптимизирована под определенный вид коммуникаций:
· часть шин скрыта внутри интегральных микросхем или доступна только в пределах печатной платы.
· некоторые шины имеют доступные извне точки, с тем, чтобы к ним легко можно было подключить дополнительные устройства;
· большинство шин не просто доступны, но и отвечают определенным стандартам, что позволяет подсоединять к шине устройства различных производителей.
Чтобы охарактеризовать конкретную шину, нужно описать: I
· совокупность сигнальных линий;
· физические, механические и электрические характеристики шины
· используемые сигналы арбитража, состояния, управления и синхронизации;
· правила взаимодействия подключенных к шине устройств (протокол шины).
Шину образует набор коммуникационных линий, каждая из которых способна передавать сигналы, представляющие двоичные цифры 1 и 0. По линии может пересылаться развернутая во времени последовательность таких сигналов. При совместном использовании несколько линий могут обеспечить одновременную (параллельную) передачу двоичных чисел.
Физически линии шины реализуются в виде отдельных проводников, как полоски проводящего материала на монтажной плате либо как алюминиевые или медные проводящие дорожки на кристалле микросхемы.
Операции на шине называют транзакциями.
Типы шин
Важным критерием, определяющим характеристики шины, может служить ее целевое назначенце. По этому критерию можно выделить:
шины «процессор-память»;
шины ввода/вывода;
системные шины.
Шина «процессор-память»
Обеспечивает непосредственную связь между центральным процессором вычислительной машины и основной памятью.
В современных микропроцессорах такую шину часто называют шиной переднего планаи обозначают аббревиатурой FSB (Front-Side Bus).
Интенсивный трафик между процессором и памятью требует, чтобы полоса пропускания шины была наибольшей.
Полоса пропускания шины – это количество информации, проходящей по шине в единицу времени.
Роль этой шины иногда выполняет системная шина, однако в плане эффективности значительно выгоднее, если обмен между ЦП и ОП ведется по отдельной шине.
К рассматриваемому виду можно отнести также шину, связывающую процессор с кэш-памятью второго уровня, шина заднего плана — BSB (Back-Side Bus). BSB позволяет:
вести обмен с большей скоростью, чем FSB4
полностью реализовать возможности более скоростной кэш-памяти.
В фон-неймановских машинах именно обмен между ЦП ипамятью во многом определяет быстродействие ВМ. Разработчики уделяют связи ЦП с памятью особое внимание.
Распределение линий шины
Любая транзакция на шине начинается с выставления ведущим устройством адресной информации. Адрес позволяет выбрать ведомое устройство и устанавливает соединение между ним и ведущим.
Для передачи адреса используется часть сигнальных линий шины, совокупность которых часто называют шиной адреса(ША).
На ША могут выдаваться адреса ячеек памяти, номера регистров ЦП, адреса портов ввода/вывода и т.п.
Многообразие видов адресов предполагает наличие дополнительной информации, уточняющей вид, используемый в данной транзакции. Такая информация может косвенно содержаться в самом адресе, но чаще передается по специальным управляющим линиям шины.
Разнообразной может быть и структура адреса.
В некоторых шинах предусмотрены адреса специального вида:
broadcast - обеспечивает одновременный выбор определенной группы ведомых либо всех ведомых сразу. Такая возможность обычно практикуется в транзакциях записи (от ведущего к ведомым);
broadcall- специальный вид транзакции чтения (одновременно от нескольких ведомых общему ведущему). Английское название такой транзакции чтения можно перевести как «широковещательный опрос». Информация, возвращаемая ведущему, представляет собой результат побитового логического сложения данных, поступивших от всех адресуемых ведомых.
Число сигнальных линий, выделенных для передачи адреса составляют ширину шины.
Совокупность линий, служащих для пересылки данных между модулями системы, называют шиной данных (ШД).
Важнейшие характеристики шины данных — ширина и пропускная способность.
Ширина шины данныхопределяется количеством битов информации, которое может быть передано по шине за одну транзакцию {цикл шины).
Цикл шины следует отличать от периода тактовых импульсов — одна транзакция на шине может занимать несколько тактовых периодов.
В середине 1970-х годов типовая ширина шины данных составляла 8 бит. В наше время это обычно 32,64 или 128 бит. В любом случае ширину шины данных выбирают кратной целому числу байтов, причем это число, как правило, представляет собой целую степень числа 2.
Элемент данных, задействующий всю ширину ШД, принято называть словом.
Хотя в архитектуре некоторых ВМ понятие «слово» трактуется по-другому, то есть слово может иметь разрядность, не совпадающую с шириной ШД.
В большинстве шин используются адреса, позволяющие указать отдельный байт слова. Это свойство оказывается полезным, когда желательно изменить в памяти лишь часть полного слова.
При передаче по ШД части слова пересылка обычно производится по тем же сигнальным линиям, что и в случае пересылки полного слова, однако в ряде шин «урезанное» слово передается по младшим линиям ШД. Последний вариант может оказаться более удобным при последующем расширении шины данных, поскольку в этом случае сохраняется преемственность со «старой» шиной.
Ширина шины данных существенно влияет на производительность ВМ. Так, если шина данных имеет ширину вдвое меньшую чем длина команды, ЦП в течение каждого цикла команды вынужден осуществлять доступ к памяти дважды.
Пропускная способностьшины характеризуется количеством единиц информации (байтов), которые допускается передать по шине за единицувремени (секунду), определяется физическим построением шины и природой подключаемых к ней устройств. Очевидно, что чем шире шина, тем выше ее пропускная способность.
Если адрес и данные в шине передаются по независимым (выделенным) сигнальным линиям, то ширина ША и ШД обычно выбирается независимо. Наиболее частые комбинации: 16-8, 16-16, 20-8, 20-16, 24-32 и 32-32. Во многих шинах адрес и данные пересылаются по одним и тем же линиям, но в разных тактах шины. Этот прием называется временным мультиплексированием. В случае мультиплексирования ширина ША и ширина ШД должны быть взаимоувязаны.
Применение раздельных шин адреса и данных позволяет повысить эффективность использования шины, особенно в транзакциях записи, поскольку адрес ячейки памяти и записываемые данные могут передаваться одновременно.
Совокупность линий, по которым передается управляющая информации и информация о состоянии участвующих в транзакции устройств принято называть шиной управления (ШУ).
Сигнальные линии, входящие в ШУ, можно условно разделить на несколько групп.
Первую группу - линии, по которым пересылаются сигналы управления транзакциями (от 2 до 8 линий), т.е. сигналы, определяющие:
· тип выполняемой транзакции (чтение или запись);
· количество байтов, передаваемых по шине данных, и, если пересылается часть слова, то какие байты;
· какой тип адреса выдан на шину адреса;
· какой протокол передачи должен быть применен.
Вторая группа - линии передачи информации состояния {статуса, от 1 до 4 линий), по которым ведомое устройство может информировать ведущего о своем состоянии или передать код возникшей ошибки.
Третья группа— линии арбитража (от 3 до 11 линий). Арбитраж необходим для выбора одного из нескольких ведущих, одновременно претендующих на доступ к шине.
Четвертая группа - линии прерывания. По этим линиям передаются запросы на обслуживание, посылаемые от ведомых устройств к ведущему. Под собственно запросы обычно отводятся одна или две линии, однако при одновременном возникновении запросов от нескольких ведомых возникает проблема арбитража, для чего могут понадобиться дополнительные линии, если только с этой целью не используются линии третьей группы.
Пятая группа — линии для организации последовательных локальных сетей. Наличие от 1 до 4 таких линий стало общепринятой практикой в современных шинах. Обусловлено это тем, что последовательная передача данныхпротекает значительно медленнее, чем параллельная, и сети значительно выгоднее строить, не загружая быстрые линии основных шин адреса и данных. Кроме того, шины этой группы могут быть использованы как полноценный, хотя и медленный,избыточный тракт для замены ША и ШД в случае их отказа. Иногда шины пятой группы назначаются для реализации специальных функций, таких, например, как обработка прерываний или сортировка приоритетов задач.
В некоторых ШУ имеется шестая группа сигнальных линий — от 4 до 5 линий позиционного кода, подсоединяемых к специальным выводам разъема. С помощью перемычек на этих выводах можно задать уникальный позиционный код разъема на материнской плате или вставленной в этот разъем дочерней платы. Такой код может быть использован для индивидуальной инициализации каждой отдельной платы при включении или перезапуске системы.
Седьмая группа (одна из важнейших)-в каждой шине обязательно присутствуют линии тактирования и синхронизации. При проектировании шины таким линиям уделяется особое внимание. В состав группы, в зависимости от протокола шины (синхронный или асинхронный), входят от двух до шести линий.
В довершение необходимо упомянуть линии для подвода питающего напряжения и линии заземления.
Большое количество линий в шине предполагает использование разъемов со значительным числом контактов. В некоторых шинах разъемы имеют сотни контактов, где предусмотрены подключение вспомогательных шин специального назначения, свободные линии для локального обмена между дочерними платами, множественные параллельно расположенные контакты для «размножения» питания и «земли».
Рис. 1. Информационные потоки в вычислительной машине.
С развитием вычислительной техники менялась и структура взаимосвязей устройств ВМ (рис.2).
На начальной стадии преобладали непосредственные связи между взаимодействующими устройствами ВМ.
С появлением мини-ЭВМ, и особенно первых микроЭВМ, все более популярной становится схема с одной общей шиной.
Последовавший за этим быстрый рост производительности практически всех устройств ВМ привел к неспособности единственной шины справиться с возросшим трафиком, и ей на смену приходят структуры взаимосвязей на базе нескольких шин.
Дальнейшие перспективы повышения производительности вычислений связаны не столько с однопроцессорными машинами, сколько с многопроцессорными вычислительными системами. Способы взаимосвязей в таких системах значительно разнообразнее.
Взаимосвязь частей ВМ и ее «общение» с внешним миром обеспечиваются системой шин.
Большинство машин содержат несколько различных шин, каждая из которых оптимизирована под определенный вид коммуникаций:
· часть шин скрыта внутри интегральных микросхем или доступна только в пределах печатной платы.
· некоторые шины имеют доступные извне точки, с тем, чтобы к ним легко можно было подключить дополнительные устройства;
· большинство шин не просто доступны, но и отвечают определенным стандартам, что позволяет подсоединять к шине устройства различных производителей.
Чтобы охарактеризовать конкретную шину, нужно описать: I
· совокупность сигнальных линий;
· физические, механические и электрические характеристики шины
· используемые сигналы арбитража, состояния, управления и синхронизации;
· правила взаимодействия подключенных к шине устройств (протокол шины).
Шину образует набор коммуникационных линий, каждая из которых способна передавать сигналы, представляющие двоичные цифры 1 и 0. По линии может пересылаться развернутая во времени последовательность таких сигналов. При совместном использовании несколько линий могут обеспечить одновременную (параллельную) передачу двоичных чисел.
Физически линии шины реализуются в виде отдельных проводников, как полоски проводящего материала на монтажной плате либо как алюминиевые или медные проводящие дорожки на кристалле микросхемы.
Операции на шине называют транзакциями.
Основные виды транзакций: транзакции чтения и транзакции записи.
Если в обмене участвует устройство ввода/вывода, можно говорить о транзакциях ввода и вывода, по сути эквивалентных транзакциям чтения и записи соответственно.
Шинная транзакция включает в себя две части:
посылку адреса
прием (или посылку) данных.
Когда два устройства обмениваются информацией по шине, одно из них должно инициировать обмен и управлять им. Такого рода устройства называют ведущими(bus master).
В компьютерной терминологии «ведущий» — это любое устройство, способное взять на себя владение шиной и управлять пересылкой данных.
Ведущий не обязательно использует данные сам. Он, например, может захватить управление шиной в интересах другого устройства.
Устройства, не обладающие возможностями инициирования транзакции, носят название ведомых(bus slave).
В принципе к шине может быть подключено несколько потенциальных ведущих, но в любой момент времени активным может быть только один из них: если несколько устройств передают информацию одновременно, их сигналы перекрываются и искажаются. Для предотвращения одновременной активности нескольких ведущих в любой шине предусматривается процедура допуска к управлению шиной только одного из претендентов (арбитраж).
В то же время некоторые шины допускают широковещательный режим записи -информация одного ведущего передается сразу нескольким ведомым (здесь арбитраж не требуется).
Сигнал, направленный одним устройством, доступен всем остальным устройствам, подключенным к шине.
Английский эквивалент термина «шина» — «bus» — восходит к латинскому слову omnibus, означающему «для всего». Этим стремятся подчеркнуть, что шина ведет себя как магистраль, способная обеспечить всевозможные виды трафика.
Типы шин
Важным критерием, определяющим характеристики шины, может служить ее целевое назначенце. По этому критерию можно выделить:
шины «процессор-память»;
шины ввода/вывода;
системные шины.
Шина «процессор-память»
Обеспечивает непосредственную связь между центральным процессором вычислительной машины и основной памятью.
В современных микропроцессорах такую шину часто называют шиной переднего планаи обозначают аббревиатурой FSB (Front-Side Bus).
Интенсивный трафик между процессором и памятью требует, чтобы полоса пропускания шины была наибольшей.