Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Интерфейс программного обмена данными. Структура системной шины



Интерфейс – это совокупность аппаратных и программных средств, реализующих стандарт по организации связей в магистрально-модульной системе. Классификация интерфейсов: По способу соединения модулей в структуру различают: интерфейсы магистральные - одна общая шина (магистраль) используется для объединения модулей и обмена информацией. Здесь термин магистраль используется как частный случай более общего понятия – интерфейс; радиальные (индивидуальные); цепочечные; смешанные (комбинированные). По способу передачи информации: параллельные, последовательные и параллельно-последовательные. По принципу обмена: синхронные и асинхронные. По режиму передачи информации: симплексный режим (передача только в одном направлении); дуплексный режим (двусторонняя одновременная передача); полудуплексный режим (двусторонняя передача, но в разные моменты времени). Основные элементы интерфейса: совокупность правил обмена (протокол обмена); аппаратная часть интерфейса (физическая реализация); программное обеспечение интерфейса (алгоритм управления обменом, реализующий протокол обмена). Интерфейсы, используемые в ВТ, обычно делятся на 3 класса: параллельные, последовательные и связные. Параллельный интерфейс обеспечивает однонаправленную передачу n-разрядного двоичного кода (слова), т. е. передачу параллельного кода (n=8,16,32,64,…). Параллельные интерфейсы обеспечивают высокую пропускную способность, которая измеряется количеством битов информации в единицу времени, обычно в секунду. Например, интерфейс ISA обеспечивает пропускную способность 16МВ/сек, поскольку n=16, а тактовая частота – 8 МГц. На структурных схемах ЭВМ электрической цепи интерфейса принято обозначать одной или несколькими линиями и называть шинами, м.б. однонаправленная шина, двунаправленная шина – магистраль. Электрические цепи интерфейса в зависимости от их назначения принято разделять на 2 основные группы: информационные и управления. Совокупность (набор) электрических цепей, объединенных в группу по назначению, и принято называть шиной, т. е. различают шины информационные и управления. Информационные шины (ШИ) используются для передачи в разные моменты времени либо данных, либо команд, либо адресов. Тип передаваемой информации указывается (сообщается) приемному устройству путем посылки осведомительного сигнала: D, С, А (100 – данные, 001 – адрес, 010 – команда). Осведомительные сигналы передаются по специальным осведомительным цепям, которые образуют группу – шину осведомительных сигналов. Осведомительные сигналы используются для управления демультиплексором (в приемнике). Цепи, образующие шину управления (ШУ), используются для передачи различных сигналов управления, т. е. сигналов, которые формируются одним устройством (модулем), передаются по цепям ШУ и используются для управления другим устройством (модулем) в процессе обмена информацией по ШИ. Например, при обмене с модулем памяти (модулем ОЗУ), по цепям ШУ посылается сигнал чтения (записи), который интерпретируется как сигнал, указывающий направление обмена: из ЗУ или в ЗУ. Кроме того, по цепям ШУ передаются и другие управляющие сигналы, в частности, сигналы синхронизации. Дело в том, что для передачи информации по ШИ (по цепям параллельного интерфейса) используется один из двух способов (принципов) управления: синхронный или асинхронный. При синхронном способе управление передачей осуществляется сигналом синхронизации (стробом), который вырабатывается передающим устройством и подается в приемное устройство, где используется для приема информации. Достоинство способа – простота. Недостатки: - потери времени для тех пар устройств, для которых фактическое время меньше и, следовательно, низкая пропускная способность; - низкая надежность передачи, так как нет уверенности, что приемное устройство примет информацию по СС. В связи с этими недостатками синхронный способ, как правило, применяется только в параллельных интерфейсах при передаче на небольшие расстояния (не более 100 метров) при условии, что разброс времени приема незначителен, а надежность приемных устройств высокая. Чтобы «сгладить» указанные недостатки, применяется второй способ – асинхронный (типа «запрос-ответ»). При этом способе приемное устройство, принявшее информацию по сигналу синхронизации СС, вырабатывает ответный сигнал, подтверждающий факт приема информации с ШИ. Сигнал синхронизации в этом способе исполняет роль запроса на прием информации, а сигнал ответа – роль осведомительного сигнала, подтверждающего прием информации. Отсюда другое название асинхронного способа – передача с квитированием (от слова «квитанция») – посылка сообщения с уведомлением отправителя при помощи квитанции. Область применения – в интерфейсах, которые используются для подключения устройств различного быстродействия, например - периферийных устройств. Последовательный интерфейс состоит обычно из одной цепи (точнее – пары цепей – витой пары), данные по которой передаются бит за битом, т. е. в последовательном коде. Если интерфейс обеспечивает передачу только в одном направлении, то интерфейс называется в этом случае симплексным, обеспечивает симплексный режим передачи. Если интерфейс обеспечивает одновременную передачу информации от А к В и в обратном направлении – от В к А, то говорят, что последовательный интерфейс обеспечивает дуплексный режим. Это означает, что он состоит из двух витых пар (и проводников). Полудуплексный режим – двунаправленная передача, но не одновременно, а в разные моменты времени, т. е. в этом случае витая пара используется для передачи информации в режиме разделения времени – в режиме мультиплексирования. Примером последовательного интерфейса является RS-232-C или его отечественный аналог стык – 2(С2). Пропускная способность последовательных интерфейсов обычно ограничена (меньше, чем у параллельных) и лежит в пределах от 102 до 107 бит/с при длине линий от единиц, десятков метров до 1 км. Пример для RS-232-С: пропускную способность можно выбрать из набора значений: 50,75, 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 бит/с. Связные интерфейсы обеспечивают передачу информации по каналам связи на большие расстояния: от 1 км и выше до сотен, тысяч км. Однако скорость передачи в них, как и в последовательных интерфейсах, невелика: до 107 бит/с. Работа связных интерфейсов поддерживается специальной аппаратурой – т. н. аппаратурой передачи данных (АПД). АПД повышает достоверность передачи информации на большие расстояния. В вычислительной технике последовательные и связные интерфейсы используются для подключения удаленных ПУ, а также для связи между машинами, входящими в состав сети ЭВМ (локальной или глобальной). Следует отметить, что современные каналы связи (с целью увеличения пропускной способности и дальности) строятся обычно на основе волоконно-оптических линий связи, обеспечивающих существенное увеличение пропускной способности интерфейса. В вычислительной системе, состоящей из множества подсистем, необходим механизм для их взаимодействия. Эти подсистемы должны быстро и эффективно обмениваться данными. Например, процессор, с одной стороны, должен быть связан с памятью, с другой стороны, необходима связь процессора с устройствами ввода/вывода. Одним из простейших механизмов, позволяющих организовать взаимодействие различных подсистем, является единственная центральная шина, к которой подсоединяются все подсистемы. Доступ к такой шине разделяется между всеми подсистемами. Подобная организация имеет два основных преимущества: низкая стоимость и универсальность. Поскольку такая шина является единственным местом подсоединения для разных устройств, новые устройства могут быть легко добавлены, и одни и те же периферийные устройства можно даже применять в разных вычислительных системах, использующих однотипную шину. Стоимость такой организации получается достаточно низкой, поскольку для реализации множества путей передачи информации используется единственный набор линий шины, разделяемый множеством устройств. Главным недостатком организации с единственной шиной является то, что шина создает узкое горло, ограничивая, возможно, максимальную пропускную способность ввода/вывода. Если весь поток ввода/вывода должен проходить через центральную шину, такое ограничение пропускной способности весьма реально. В коммерческих системах, где ввод/вывод осуществляется очень часто, а также в суперкомпьютерах, где необходимые скорости ввода/вывода очень высоки из-за высокой производительности процессора, одним из главных вопросов разработки является создание системы нескольких шин, способной удовлетворить все запросы. Одна из причин больших трудностей, возникающих при разработке шин, заключается в том, что максимальная скорость шины главным образом лимитируется физическими факторами: длиной шины и количеством подсоединяемых устройств (и, следовательно, нагрузкой на шину). Эти физические ограничения не позволяют произвольно ускорять шины. Требования быстродействия (малой задержки) системы ввода/ввывода и высокой пропускной способности являются противоречивыми. В современных крупных системах используется целый комплекс взаимосвязанных шин, каждая из которых обеспечивает упрощение взаимодействия различных подсистем, высокую пропускную способность, избыточность (для увеличения отказоустойчивости) и эффективность. Традиционно шины делятся на шины, обеспечивающие организацию связи процессора с памятью, и шины ввода/вывода. Шины ввода/вывода могут иметь большую протяженность, поддерживать подсоединение многих типов устройств, и обычно следуют одному из шинных стандартов. Шины процессор-память, с другой стороны, сравнительно короткие, обычно высокоскоростные и соответствуют организации системы памяти для обеспечения максимальной пропускной способности канала память-процессор. На этапе разработки системы, для шины процессор-память заранее известны все типы и параметры устройств, которые должны соединяться между собой, в то время как разработчик шины ввода/вывода должен иметь дело с устройствами, различающимися по задержке и пропускной способности. Как уже было отмечено, с целью снижения стоимости некоторые компьютеры имеют единственную шину для памяти и устройств ввода/вывода. Такая шина часто называется системной. Персональные компьютеры, как правило, строятся на основе одной системной шины в стандартах ISA, EISA или MCA. Необходимость сохранения баланса производительности по мере роста быстродействия микропроцессоров привела к двухуровневой организации шин в персональных компьютерах на основе локальной шины. Локальной шиной называется шина, электрически выходящая непосредственно на контакты микропроцессора. Она обычно объединяет процессор, память, схемы буферизации для системной шины и ее контроллер, а также некоторые вспомогательные схемы. Типичными примерами локальных шин являются VL-Bus и PCI. Рассмотрим типичную транзакцию на шине. Шинная транзакция включает в себя две части: посылку адреса и прием (или посылку) данных. Шинные транзакции обычно определяются характером взаимодействия с памятью: транзакция типа "Чтение" передает данные из памяти (либо в ЦП, либо в устройство ввода/вывода), транзакция типа "Запись" записывает данные в память. В транзакции типа "Чтение" по шине сначала посылается в память адрес вместе с соответствующими сигналами управления, индицирующими чтение. Память отвечает, возвращая на шину данные с соответствующими сигналами управления. Транзакция типа "Запись" требует, чтобы ЦП или устройство в/в послало в память адрес и данные и не ожидает возврата данных. Обычно ЦП вынужден простаивать во время интервала между посылкой адреса и получением данных при выполнении чтения, но часто он не ожидает завершения операции при записи данных в память. Разработка шины связана с реализацией ряда дополнительных возможностей. Решение о выборе той или иной возможности зависит от целевых параметров стоимости и производительности. Первые три возможности являются очевидными: раздельные линии адреса и данных, более широкие (имеющие большую разрядность) шины данных и режим групповых пересылок (пересылки нескольких слов) дают увеличение производительности за счет увеличения стоимости. Главное устройство шины - это устройство, которое может инициировать транзакции чтения или записи. ЦП, например, всегда является главным устройством шины. Шина имеет несколько главных устройств, если имеется несколько ЦП или когда устройства ввода/вывода могут инициировать транзакции на шине. Если имеется несколько таких устройств, то требуется схема арбитража, чтобы решить, кто следующий захватит шину. Арбитраж часто основан либо на схеме с фиксированным приоритетом, либо на более "справедливой" схеме, которая случайным образом выбирает, какое главное устройство захватит шину. В настоящее время используются два типа шин, отличающиеся способом коммутации: шины с коммутацией цепей (circuit-switched bus) и шины с коммутацией пакетов (packet-switched bus), получившие свои названия по аналогии со способами коммутации в сетях передачи данных. Шина с коммутацией пакетов при наличии нескольких главных устройств шины обеспечивает значительно большую пропускную способность по сравнению с шиной с коммутацией цепей за счет разделения транзакции на две логические части: запроса шины и ответа. Такая методика получила название "расщепления" транзакций (split transaction). (В некоторых системах такая возможность называется шиной соединения/разъединения (connect/disconnect) или конвейерной шиной (pipelined bus). Транзакция чтения разбивается на транзакцию запроса чтения, которая содержит адрес, и транзакцию ответа памяти, которая содержит данные. Каждая транзакция теперь должна быть помечена (тегирована) соответствующим образом, чтобы ЦП и память могли сообщить что есть что. Шина с коммутацией цепей не делает расщепления транзакций, любая транзакция на ней есть неделимая операция. Главное устройство запрашивает шину, после арбитража помещает на нее адрес и блокирует шину до окончания обслуживания запроса. Большая часть этого времени обслуживания при этом тратится не на выполнение операций на шине (например, на задержку выборки из памяти). Таким образом, в шинах с коммутацией цепей это время просто теряется. Расщепленные транзакции делают шину доступной для других главных устройств пока память читает слово по запрошенному адресу. Это, правда, также означает, что ЦП должен бороться за шину для посылки данных, а память должна бороться за шину, чтобы вернуть данные. Таким образом, шина с расщеплением транзакций имеет более высокую пропускную способность, но обычно она имеет и большую задержку, чем шина, которая захватывается на все время выполнения транзакции. Транзакция называется расщепленной, поскольку произвольное количество других пакетов или транзакций могут использовать шину между запросом и ответом. Последний вопрос связан с выбором типа синхронизации и определяет является ли шина синхронной или асинхронной. Если шина синхронная, то она включает сигналы синхронизации, которые передаются по линиям управления шины, и фиксированный протокол, определяющий расположение сигналов адреса и данных относительно сигналов синхронизации. Поскольку практически никакой дополнительной логики не требуется для того, чтобы решить, что делать в следующий момент времени, эти шины могут быть и быстрыми, и дешевыми. Однако они имеют два главных недостатка. Все на шине должно происходить с одной и той же частотой синхронизации, поэтому из-за проблемы перекоса синхросигналов, синхронные шины не могут быть длинными. Обычно шины процессор-память синхронные. Асинхронная шина, с другой стороны, не тактируется. Вместо этого обычно используется старт-стопный режим передачи и протокол "рукопожатия" (handshaking) между источником и приемником данных на шине. Эта схема позволяет гораздо проще приспособить широкое разнообразие устройств и удлинить шину без беспокойства о перекосе сигналов синхронизации и о системе синхронизации. Если может использоваться синхронная шина, то она обычно быстрее, чем асинхронная, из-за отсутствия накладных расходов на синхронизацию шины для каждой транзакции. Выбор типа шины (синхронной или асинхронной) определяет не только пропускную способность, но также непосредственно влияет на емкость системы ввода/вывода в терминах физического расстояния и количества устройств, которые могут быть подсоединены к шине. Асинхронные шины по мере изменения технологии лучше масштабируются. Шины ввода/вывода обычно асинхронные. Пример: Шина PCI (Peripheral Component Interconnect) также, как и шина VL-bus, поддерживает 32-битовый канал передачи данных между процессором и периферийными устройствами, работает на тактовой частоте 33 МГц и имеет максимальную пропускную способность 120 Мбайт/с. При работе с процессорами i486 шина PCI дает примерно те же показатели производительности, что и шина VL-bus. Однако, в отличие от последней, шина PCI является процессорно независимой (шина VL-bus подключается непосредственно к процессору i486 и только к нему). Ee легко подключить к различным центральным процессорам. В их числе Pentium, Alpha, R4400 и PowerPC.




Дата публикования: 2015-02-03; Прочитано: 2384 | Нарушение авторского права страницы



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...