Системные интерфейсы с изолированной и общей системой шин
В предыдущих разделах при описании обобщенного алгоритма работы центрального процессора мы намеренно опустили из рассмотрения вопрос о том, как процессор “отличает” порты внешних устройств от ячеек памяти и наоборот, как память и порты внешних устройств “понимают”, чей адрес процессор выставил на шину - ячейки памяти или порта? Рассмотрим эту проблему.
Несмотря на многообразие типов ЭВМ по способу организации взаимодействия между процессором, памятью и периферийными устройствами в машинах с шинной организацией можно выделить два основных способа организации шин.
1. Двухшинная организация, или интерфейс с изолированной системой шин. Такую организацию имеют, например, персональные ЭВМ фирмы IBM. Название “двухшинная” отражает тот факт, что с функциональной точки зрения есть два тракта передачи данных, процессор – память и процессор –периферийные устройства, обращение к которым осуществляется отдельными группами команд. Можно утверждать, что при таком способе организации используются четыре логических шины: две шины данных, различные для портов внешних устройств и для памяти, и две шины адреса. Эти четыре логические шины могут соответствовать всего двум или даже одной физической шине, просто для разных целей могут использоваться разные группы линий. Неоднозначность проистекает из того, что разработчики по-своему описывают уже известные организации, делая акцент на отличиях в непринципиальных моментах.
Данный тип организации интерфейса иллюстрируется на рис. 6. Характерной его особенностью является раздельная адресация памяти и периферийных устройств при обмене информацией. В ПЭВМ с процессором 8086 физически используется одна адресная шина. Для адресации памяти используются все 20 линий адресной шины, для адресации внешних устройств только 16 линий адресной шины. Данные передаются по одной и той же 16-разрядной шине. При работе с памятью используются управляющие сигналыMRDC (Memory ReaD Command - чтение памяти) и MWTC (Memory WriTe Command - запись в память), при работе с портами внешних устройств сигналы IORDC (Input Output ReaD Command - чтение порта ввода - вывода) и IOWTC(Input Output WriTe Command - запись в порт ввода - вывода). Для организации доступа к портам внешних устройств процессор использует команды типа IN (ввести) и OUT (вывести).
2. Одношинная организация интерфейса, или интерфейс с общей шиной. Использован в миниЭВМ семейства PDP-11, LSI-11, VAX-11 фирмы Digital Equipment. В последствии многие разработчики микроЭВМ стали широко использовать данный способ построения интерфейса.
При данной организации интерфейса часть общего адресного пространства отводится для периферийных устройств, порты которых адресуются так же, как и ячейки памяти. На рис. 7 показана упрощенная схема организации и программная модель мини-ЭВМ PDP-11/75 (отечественный аналог СМ-1420). Обращение к портам внешних устройств осуществляется теми же командами, что и работа с памятью, с использованием того же набора режимов адресации. При этом команды ввода - вывода не используются или вовсе отсутствуют. В ЭВМ СМ-1420, например, общий размер адресного пространства составляет 16 Мбайт, часть, размером в 16Mбайт – 8 Кбайт отведена для адресации памяти, и 8К – для адресации портов внешних устройств. Такая организация интерфейса сокращает объем памяти, доступный программе, но существенно упрощает разработку схем управления и дешифрирования адреса. Шина в такой системе является “общей”, в том смысле, что процессор считает и память, и порты внешних устройств равноправными по отношению к шине и использует для доступа к ним один набор команд и управляющих сигналов. При такой схеме обмен данными реализуется с использованием всего двух управляющих сигналов - RD (ReaD - чтение) и WR (WRite - запись).