Системный интерфейс UNIBUS Шина UNIBUS объединяет все сигнальные линии, связывающие и синхронизирующие работу процессора, оперативной памяти и всей периферии. адрес, данные и сигналы упраления передаются по 56 линиям шины. Шина UNIBUS, отечественный стандарт которой называется "Общая шина СМ ЭВМ" применена в машинах серии PDP11 и их аналогах СМ, СМ4 и других. Для всех устройств UNIBUS порядок обмена одинаков. Процессор выдает одни и те же последовательности сигналов при обращении к памяти и к регистрам внешних устройств. Тот же набор сигналов используется и при обращении периферийных устройств к памяти и к другим периферийным устройствам. С точки зрения процессора регистры памяти и регистры внешних устройств неразличимы, и любая из команд процессора будет выполнена одинаково над данными, находящимися как в памяти, так и в регистре внешнего устройства, что представляет мощные средства управления периферийными устройствами. Большинство линий UNIBUS соединяют все устройства на шине по схеме "монтажного ИЛИ" и электрически ненаправленные, хотя некоторые из этих линий передают логически однонаправленные сигналы. Другая группа линий проходит последовательно через все устройства на шине; к этой группе относятся сигналы подтверждения прерывания и разрешения прямого доступа. Обмен на шине может происходить между активным и пассивным устройствами. В каждый момент времени на шине может быть только одно активное устройство. Как правило, активным устройством на шине является процессор, обращающийся к памяти или к регистру периферийного устройства. Процессор не всегда является активным: он может предоставить управление шиной периферийному устройству, как правило устройству массовой памяти, например магнитному диску, который может обмениваться с нужной областью памяти минуя процессор. UNIBUS используется как процессором, так и устройствами ввода - вывода. Структура приоритетов шины определяет, какое устройство захватит шину. Каждое устройство, способное захватить шину, имеет наперед заданный приоритет BR7..BR4; если два устройства с равным приоритетом конкурируют за управление шиной, управление будет предоставлено тому устройству, которое находится электрически ближе к процессору. На шине реализован интерфейс обмена с подтверждением: для завершения обмена на каждый запрос активного устройства должен быть получен ответ от пассивного устройства, с которым происходит обмен. Таким образом обмен не зависит от физической длины шины и времени срабатывания активного и пассивного устройств. Максимальная производительность шины по стандарту составляет 2.5 миллиона 16-разрядных слов в секунду при оптимально разработанных устройствах (при использовании современной элементной базы и оптимальном согласовании для систем небольшой пространственной протяженности, быстродействие UNIBUS ограничено, вероятно, 10-12 миллионами 16-разрядных слов в секунду). Так же, как и память, регистры внешних устройств имеют адреса на шине. Все адресные инструкции могут быть выполнены над содержимым регистров внешних устройств, и эти инструкции выполняют одновременно роль инструкций ввода - вывода. Машины с UNIBUS имеют отличающуюся от большинства компьютеров систему управления внешними устройствами. Функции управления принадлежат адресуемым регистрам, установка определенных битов в которых приводит к выполнению устройством требуемых действий. Максимальное число регистров внешнего устройства не лимитируется. Устройства могут захватывать шину двумя способами. Первый заключается в выдаче активного сигнала запроса прямого доступа. Запрос прямого доступа может быть выставлен в произвольный момент независимо от сигналов на других линиях шины. Сигнал запроса прямого доступа формируется элементами с открытым коллектором по схеме монтажного "ИЛИ". Сигнал подтверждения прямого доступа распространяется последовательно от процессора через устройства на шине в порядке их расположения в системе. Устройство, выставившее запрос прямого доступа и получившее подтверждение, блокирует дальнейшее распространение этого сигнала и по окончании текущего обмена захватывает шину. Подтверждение прямого доступа выдается арбитром шины независимо от установленного приоритета процессора по окончании текущего цикла обмена. Обмен формата "Чтение-модификация-запись" всегда выполняется до конца. Второй способ захвата шины - выдача активного сигнала запроса прерывания. Сигнал требования прерывания также может быть выставлен асинхронно от остальных сигналов шины. Если запрос выставлен на шине с приоритетом более высоким, чем приоритет процессора, арбитр шины (входит в состав процессора) выдаст подтверждение прерывания на соответствующей линии. Подтверждение прерывания транслируется последовательно через устройства на шине в порядке их расположения. Устройство, выставившее запрос, получив подтверждение прерывания, блокирует его дальнейшее прохождение и по окончании текущего обмена выставляет на линиях данных адрес вектора прерывания. Выдача адреса вектора сопровождается сигналом ^INTR. Каждому устройству, способному сгенерировать прерывание, соответствует один или несколько приоритетов. Поскольку арбитраж прерываний и прямого доступа идет независимо от обменов данными по магистрали, все циклы обмена происходят с максимально возможной скоростью. UNIBUS содержит 56 сигнальных линий. Все линии шины делятся на три взаимозависимые секции. Секция передачи данных: Имя Название всего назначение активный- Адрес A<17..00> 18 Выбор адреса памяти или низкий регистра устройства Данные D<15..00> 16 Передача данных низкий Управ- C0,C1 2 Управление типом низкий ление обмена Запрос MSYN 1 Синхронизация обмена от низкий активного устройства Ответ SSYN 1 Ответ от пассивного устройства низкий Чет PA,PB 2 Ошибка четности низкий Преры- INTR 1 Адрес вектора достоверен низкий вание всего 41 линия. Секция арбитража: Запрос BR4,BR5 4 Запрос захвата шины, обычно низкий преры- BR6,BR7 для прерываний вания Подтве- BG4,BG5 4 Разрешение захвата шины, ВЫСОКИЙ рждение BG6,BG7 обычно для прерываний Запрос NPR 1 Запрос внепроцессорного низкий ПДП обмена (прямого доступа) Подтве- NPG 1 Разрешение на захват шины ВЫСОКИЙ рждение для прямого доступа к памяти ПДП и/или регистрам устройств Захват SACK 1 Подтверждение захвата шины низкий Занят BBSY 1 Секция данных занята низкий всего 12 линий Секция инициализации: Сброс INIT 1 Общий сброс низкий ПИТН ACLO 1 Сбой сетевого питания низкий ПОСТН DCLO 1 +5В кончились низкий всего 3 линии ----------------- Всего 56 сигнальных линий шины. Передача данных