Работа шин «Магистраль», PCI, ISA.
1.1. Состав сигналов в шине:
Адрес/данные разряд 0 Адрес/данные разряд 1 Адрес/данные разряд 2 Адрес/данные разряд 3 Адрес/данные разряд 4 Адрес/данные разряд 5 Адрес/данные разряд 6 Адрес/данные разряд 7 Адрес/данные разряд 8 Адрес/данные разряд 9 Адрес/данные разряд 10 Адрес/данные разряд 11 Адрес/данные разряд 12 Адрес/данные разряд 13 Адрес/данные разряд 14 Адрес/данные разряд 15 Синхронизация обмена Чтение Запись Байтовая операция Запрос на прерывание Входной сигнал предоставления прерывания Выходной сигнал предоставления прерывания Авария сетевого питания Авария источника питания Сброс Запрос на захват магистрали Разрешение захвата магистрали Подтверждение захвата магистрали Тактовая частота Общий провод | AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 MSA MSR MSW WBT INT INTI INTO PHB PSB CLR RQB ERQO ERQ CLC GND | C4 A6 C6 C8 A8 A10 A12 C12 A14 C14 A16 C16 A18 A20 C20 A22 C22 C24 A24 A2 A26 C28 A28 C30 C32 A32 A4 C10 C18 |
В приведенной таблице уменьшено число необходимых сигнальных линий за счет отказа от избыточности (уменьшено число прерываний, удалены команды, связанные с работой схем прямого доступа ПДП и т.д.), а также произведено совмещение сигнальных линий шин адреса и шины данных за счет разделения их функций во времени. В составе сигналов шины есть два специальных сигнала PHB и PSB, позволяющие повысить надежность работы при кратковременном прерывании сетевого питания. В данном случае формируется сигнал PHB, который вызывает процесс прерывания, во время которого процессор отправляет в стек свое словосостояние и адрес очередной команды. Эта операция выполняется за счет энергии, накопленной на конденсаторах блока питания. Если в короткое время сетевое питание будет восстановлено, то процессор выбирает из стека данные и продолжает работу по прерваннгой программе. В случае возникновения сигнала PSB, работа процессора прекращается. Данный процесс весьма эффективен при действии импульсных помех, которых большое количество в производственных электрических сетях.
|
На рис. 1,2. и 3 показаны циклограммы сигналов, действующих на сигнальных линиях магистрали МС2101.
Циклограммы приведены для трех операций: запись информации в память или во внешнее устройство, чтение информации из памяти или внешнего устройства, обслуживание запросов на прерывание от внешних устройств.
Циклограммы сигналов на шине «Магистраль».
Работу любой шины целесообразно изучать с использованием циклограмм на основных линиях. На рис. 1, 2. и 3 показаны циклограммы для трех операций: запись информации в память или во внешнее устройство, чтение информации из памяти или внешнего устройства, обслуживание запросов на прерывание от внешних устройств.
AD0...AD15 Aдрес Данные
MSA
MSW
ASW
Рис. 1. Циклограмма сигналов на «Магистрали» при записи
AD0...AD15 Aдрес Данные
MSA
MSW
ASW
Рис. 2. Циклограмма сигналов на «Магистрали» при чтении
Алгоритм работы канала при выполнении операции записи состоит из следующих переходов:
- установка на магистрали ведущим устройством (линии AD0...AD15) кода адреса того устройства, с которым будет производиться обмен информацией (это может быть адрес ячейки памяти или адрес любого периферийного устройства).
|
- установка на магистрали ведущим устройством сигнала синхронизации адреса (линия MSA),
- дешифрация (опознание) вызываемым устройством кода адреса и запоминание этого факта по переднему фронту сигнала MSA,
- снятие с магистрали кода адреса,
- установка на магистрали ведущим устройством (линии AD0...AD15) кода передаваемой информации,
- установка на магистрали ведущим устройством (процессором) сигнала записи MSW,
- запись установленной на магистрали ведомым устройством информации в память или во внутренние регистры по переднему фронту сигнала MSW,
- ответ ведомого устройства об окончании операции записи путем установки на магистрали сигнала ASW,
- снятие с магистрали ведущим устройством сигнала MSW,
- снятие с магистрали ведомым устройством сигнала ASW,
- снятие с магистрали ведущим устройством сигнала MSA.
Данный цикл повторяется при записи каждой дискреты передаваемой информации (байта или слова).
При чтении информации из памяти или внешнего регистра циклограмма сигналов аналогична за исключением нескольких переходов. Так после выдачи в магистраль сигнала MSA, ведущее устройство не устанавливает на магистрали код информации, а выдает на магистраль сигнал чтения MSR, в ответ на который ведомое устройство устанавливает на линиях AD код информации и сообщает об этом ведущему устройству сигналом ASW. Получив этот сигнал, ведущее устройство по переднему фронту считывает с магистрали код информации и заканчивает цикл так же, как и при записи.
INT
INTO
MSR
AD вектор прерывания
|
ASW
Рис. 3. Циклограмма сигналов на магистрали при обслуживании прерывания.
Операция обслуживания прерывания предназначена для того, чтобы осуществить обмен информацией по инициативе внешнего устройства. Для этого внешнее устройство должно не только сообщить ведущему устройству о необходимости обмена, но и передать ведущему устройству свой идентификационный код для опознания. Эти операции выполняются в цикле обслуживания прерывания от внешнего устройства. В магистрали УЧПУ МС2101 используется принцип векторного прерывания, заключающийся в том, что каждому внешнему устройству присваивается идентификационный код, называемый вектором прерывания. В момент необходимости обмена информацией внешнее устройство устанавливает на сигнальной линии запрос на прерывание - INT. Получив этот сигнал, ведущее устройство (процессор) заканчивает выполнение текущей операции, записывает в стек (особая область оперативной памяти) и устанавливает на магистрали выходной сигнал предоставления прерывания INTO, одновременно с ним ведущее устройство устанавливает на шине сигнал чтения MSR. Приняв эти два сигнала, внешнее устройство, запросившее прерывание, выполняет две операции: во-первых запрещает распространение сигнала INTO на последующие устройства, во-вторых устанавливает на шине данных код вектора прерывания и сообщает об этом ведущему устройству установкой сигнала ASW. Таким образом, внешнее устройство переходит в ранг ведомого и обслуживается ведущим в соответствии с вышеприведенными циклограммами. Если в момент работы процессора с вызвавшим прерывание устройством сформирует запрос на прерывание другое устройство, физически расположенное ближе к процессору, то не закончив работу с первым устройством процессор по той же циклограмме начнет обмен с последним устройством. Работа с первым устройством будет продолжена после окончания работы со вторым. Если же во время работы с первым устройством сформирует запрос на прерывание устройство физически расположенное дальше обслуживаемого, то оно не будет восприниматься процессором, т.к. на него не проходит сигнал INTO. Последнее устройство будет обслужено после окончания работы со всеми «ближними» устройствами. Подобная организация цикла обслуживания прерываний реализует принцип «геометрического» приоритета всех внешних устройств, т.е. чем ближе физически к ведущему устройству подключено внешнее устройство, тем выше его приоритет.
1.3. Состав сигналов на шине ISA. Таблица 1.
.Назначение сигнала | Обозначение | № кон | № кон | Обозначение | Назначение сигнала | |
Общий питания Сброс Питание +5в Запрос прер..№9 Питание - 5в Запрос ПДП №2 Питание - 12в Ошибка исполнит. Питание + 12в Общий питания Строб зап. в память Строб чтен. памяти Строб зап. вн. устр. Строб чтен.вн. устр Подтв. ПДП №3 Запрос ПДП№3 Подтв. ПДП№1 Запрос ПДП №1 Регенерация Тактовая частота Запрос прер. №7 Запрос прер. №6 Запрос прер. №5 Запрос прер. №4 Запрос прер. №3 Подтв. ПДП №2 Окончан.счета Строб адреса Питание + 5в Такт 14,31818мг Общий питания | GND RST Vcc IRQ9 -5v DRQ2 - 12 v OWS + 12 v GND SMEMW SMEMR IOW IOR DACK3 DRQ3 DACK1 DRQ1 REFRE SYSCLK IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 DACK2 TC BALE + 5v OSC GND | B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12 B13 B14 B15 B16 B17 B18 B19 B20 B21 B22 B23 B24 B25 B26 B27 B28 B29 B30 B31 | A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 | IOC HK SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0 IOC HR AEN SA19 SA18 SA17 SA16 SA15 SA14 SA13 SA12 SA11 SA10 SA9 SA8 SA7 SA6 SA5 SA4 SA3 SA2 SA1 SA0 | Фатальная ошибка Шина данных разряд 7 Готовность исполнителя Адрес при ПДП Шина адреса разряд 19 | |
Память имеет 16 раз Вн.устр. имеет 16раз Запрос прер. №10 Запрос прер. №11 Запрос прер. №12 Запрос прер. №15 Запрос прер. №14 Пред. ПДП №0 Запрос ПДП №0 Пред. ПДП №5 Запрос ПДП №5 Пред ПДП №6 Запрос ПДП №6 Пред ПДП №7 Запрос ПДП №7 Питание + 5в Управлен. при ПДП Общий питания | MEM16 IOC 16 IRQ10 IRQ11 IRQ12 IRQ15 IRQ14 DACK0 DRQ0 DACK5 DRQ5 DACK6 DRQ6 DACK7 DRQ7 Vcc Master GND | D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 | C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 | SBHE LA23 LA22 LA21 LA20 LA19 LA18 LA17 MEMR MEMW SD8 SD9 SD10 SD11 SD12 SD13 SD14 SD15 | Работа с двумя байтами Нефиксир. адрес раз.23 Строб чтения памяти Строб записи в память Шина данных разряд 8 15 |