Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Порядок обмена по системной магистрали ISA
Структура персонального компьютера типа IBM PC, с точки зрения разработчика УС, ориентированных на ISA, может быть условно представлена в виде на рис. 9.1. Помимо центрального процессора, системной памяти (оперативной и постоянной), стандартных средств ввода/вывода, входящих в любую микропроцессорную систему, здесь следует отдельно выделить встроенные контроллеры прерываний и прямого доступа к памяти (ПДП), перестановщик байтов данных, программируемый таймер и контроллер регенерации памяти. Все эти устройства, расположенные на материнской (системной) плате (motherboard) компьютера или вставленные в слоты ISA (устройства ввода/вывода), участвуют в обмене по магистрали и могут быть использованы разрабатываемыми УС.
Задатчиками шины могут выступать центральный процессор (самая обычная ситуация), контроллер ПДП, контроллер регенерации и некоторые внешние платы. В каждом цикле обмена задатчиком (ведущим устройством) всегда является только одно устройство. Контроллер ПДП захватывает магистраль (запрещает работу центрального процессора) на время прямой передачи информации между устройством ввода/вывода и памятью (по запросу устройства ввода/вывода). Контроллер регенерации периодически становится задатчиком магистрали для проведения циклов регенерации системной динамической памяти через заданные интервалы времени. Для 32-разрядных компьютеров (386DX, 486, Pentium и т.д.) обмен процессора с памятью (а иногда и с другими устройствами) осуществляется через быстродействующую локальную шину VLB или через РСI. Особенности магистрали ISA Магистраль ISA была разработана специально для персональных компьютеров типа IBM PC AT (начиная с процессора i80286) и является фактическим стандартом для всех изготовителей этих компьютеров. В то же время отсутствие официального международного статуса магистрали ISA (она не была утверждена в качестве стандарта ни одним международным комитетом по стандартизации) приводит к тому, что многие производители допускают некоторые, порой существенные отклонения от фирменного стандарта. Магистраль ISA явилась расширением магистрали компьютеров IBM PC и IBM PC XT. В ней было увеличено количество разрядов адреса и данных, увеличено число линий аппаратных прерываний и каналов ПДП, а также повышена тактовая частота. К 62-контактному разъему прежней магистрали был добавлен 36-контактный новый разъем. Тем не менее, совместимость была сохранена, и платы, предназначенные для IBM PC-XT, подходят и для IBM PC AT. Характерное отличие ISA состоит в том, что ее тактовый сигнал не совпадает с тактовым сигналом процессора, как это было в XT, поэтому скорость обмена по ней не пропорциональна тактовой частоте процессора. Магистраль ISA относится к немультиплексированным (то есть имеющим раздельные шины адреса и данных) 16-разрядным системным магистралям среднего быстродействия. Обмен осуществляется 8- или 16-разрядными данными. На магистрали реализован раздельный доступ к памяти компьютера и к устройствам ввода/вывода (для этого имеются специальные сигналы управления). Максимальный объем адресуемой памяти составляет 16 Мбайт (24 адресные линии). Максимальное адресное пространство для устройств ввода/вывода — 64 Кбайта (16 адресных линий), хотя практически все выпускаемые платы расширения используют только 10 адресных линий (1 Кбайт). Магистраль поддерживает регенерацию динамической памяти, радиальные прерывания и прямой доступ к памяти. Допускается также прямой доступ к памяти (захват магистрали). Наиболее распространенное конструктивное исполнение магистрали — разъемы (слоты), установленные на материнской плате компьютера, все одноименные контакты которых соединены между собой, то есть все разъемы абсолютно равноправны. Особенностью конструктивного решения магистрали является то, что платы расширения (дочерние платы), подключаемые к ее разъемам, могут иметь самые различные размеры (длина платы ограничена снизу размером разъема, а сверху — длиной корпуса компьютера). Платы расширения имеют интерфейсные разъемы магистрали, выполненные печатными проводниками. Количество установочных мест для плат расширения зависит от типа корпуса компьютера. Разъем магистрали ISA разделен на две части, что позволяет уменьшать размеры 8-разрядных плат расширения, а также использовать платы, разработанные для компьютеров IBM PC XT. Назначение контактов разъемов представлено в таблице 9.2 (здесь знак минус перед названием сигнала говорит о том, что активным уровнем этого сигнала является уровень логического нуля, в противном случае активным уровнем будет уровень логической единицы).
Табл. 9.2. Назначение контактов разъема ISA (I — входной сигнал, О — выходной сигнал, I/O — двунаправленный сигнал).
Табл. 9.2.(Продолжение)
Отметим, что на магистрали ISA используется положительная логика на шинах адреса и данных, то есть единице соответствует высокий уровень напряжения, а нулю — низкий). На магистрали присутствуют четыре напряжения питания: +5В, -5В, +12В и-12В, которые могут использоваться платами расширения.
Сигналы магистрали ISA Рассмотрим теперь назначение сигналов магистрали ISA и их особенности. SA0...SA19 — фиксируемые адресные разряды (они действительны в течение всего цикла обмена). Используются для передачи 20 младших разрядов адреса памяти и для адресов устройств ввода/вывода. При обращении к устройствам ввода/ вывода действительны только сигналы SA0...SA15 (но практически все платы расширения работают только с SA0...SA9). Распределение адресов устройств ввода/вывода представлено в таблице 9.3, а распределение адресов памяти — в таблице 9.4. Легко заметить, что значительная часть этих адресов занята стандартными устройствами компьютера. При регенерации памяти действительны только сигналы SA0...SA7, состояния старших разрядов не определены. Логика всех сигналов SA0...SA19 — положительная. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния. LA17...LA23 — нефиксируемые адресные разряды. Используются для адресации памяти и выработки сигнала -MEM CS 16. Действительны только в начале цикла обмена. Исполнитель должен фиксировать их по отрицательному фронту сигнала BALE. При обращении к устройствам ввода/вывода эти сигналы имеют уровень логического нуля. Логика положительная. Тип выходного каскада — три состояния. Для фиксации необходимо использовать регистр типа " защелка" (с записью по уровню), стробируемый сигналом BALE (например, КР1533ИРЗЗ, К555ИР22). При прямом доступе к памяти эти сигналы действительны в течение всего цикла обмена, как и SA0...SA19. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния. BALE (Bus Address Latch Enable — разрешение защелкивания адреса) — сигнал стробирования адресных разрядов. Его отрицательный фронт соответствует действительности адреса на линиях SA0...SA19 и LA17...LA23. Может использоваться устройствами ввода/вывода для заблаговременной подготовки к предстоящему обмену информацией (применяется редко). Тип выходного каскада — ТТЛ.
Табл. 9.3. Распределение адресов устройств ввода/вывода ISA.
Табл. 9.3. (Продолжение)
-SBHE (System Bus High Enable — разрешение старшего байта) — определяет тип цикла передачи данных (8- или 16-разрядный). Вырабатывается параллельно с сигналами SAO...SA19 и может рассматриваться как дополнительный разряд адреса. Становится активным при передаче старшего байта или 16-разрядного слова (определяется сигналом SAO), пассивен при передаче младшего байта. В режиме MASTER источником этого сигнала является устройство, которое захватило магистраль. Тип выходного каскада — три состояния. В таблице 9.5 приведены типы выполняемых операций при различных значениях сигналов -SBHE и SAO в случае программного обмена, а в таблице 1.6 — в случае прямого доступа к памяти. Табл. 9.4. Распределение адресов памяти.
Табл. 9.5. Тип выполняемых операций в зависимости от сигналов -SBHE и SAO при программном обмене (L — младший байт, Н — старший байт, УВВ — устройство ввода/вывода).
SD0...SD15 — разряды данных. По линиям SD0...SD7 передается младший байт, по линиям SD8...SD15 — старший байт. Обмен данными с 8-разрядными платами расширения осуществляется по линиям SD0...SD7. Устройство может активизировать шину данных, если к нему идет обращение с циклом чтения или если оно захватило магистраль (в режиме MASTER). Логика сигналов положительная. Тип выходных каскадов — три состояния. -SMEMR, -MEMR (Memory Read — чтение памяти) — стробы чтения данных из памяти. Память должна выставлять данные при активизации этих сигналов. Сигнал -SMEMR вырабатывается только при обращении к адресам, не превышающим FFFFF (в пределах 1 Мбайта), сигнал -MEMR— при обращении ко всем адресам. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния.
Табл. 9.6. Тип выполняемых операций в зависимости от сигналов -SBHE и SAO при ПДП (L — младший байт, Н — старший байт, УВВ — устройство ввода/вывода).
-SMEMW, -MEMW (Memory Write — запись памяти) — стробы записи данных в память. Память должна принимать данные по положительному (заднему) фронту этих сигналов. Сигнал -SMEMW вырабатывается только при обращении к адресам, не превышающим FFFFF (в пределах 1 Мбайта), сигнал -MEMW — при обращении ко всем адресам. В режиме MASTER эти сигналы вырабатывает устройство, захватившее магистраль. Тип выходных каскадов — три состояния. -IOR (I/O Read) — строб чтения данных из устройств ввода/ вывода. Устройство ввода/вывода должно выставлять свои данные при активизации сигнала -IOR и снимать их при снятии -IOR. В режиме MASTER этот сигнал вырабатывает устройство, захватившее магистраль. Тип выходного каскада — три состояния. -IOW (I/O Write) — строб записи данных в устройства ввода/ вывода. Устройство ввода/вывода должно принимать данные по положительному (заднему) фронту сигнала -IOW. В режиме MASTER этот сигнал вырабатывает устройство., захватившее магистраль. Тип выходного каскада — три состояния. -MEM CS16 ( Memory Cycle Select — выбор цикла для памяти) — сигнал выставляется памятью для сообщения задатчику о том, что она имеет 16-разрядную организацию. При отсутствии этого сигнала выполняется 8-разрядный обмен. Сигнал вырабатывается при распознавании памятью своего адреса на линиях LA17...LA23. Процессор фиксирует его по заднему фронту сигнала BALE. Тип выходного каскада — открытый коллектор. -I/O CS16 (I/O Cycle Select — выбор цикла для устройства ввода/вывода) — сигнал выставляется устройством ввода/вывода для сообщения задатчику о том, что оно имеет 16-разрядную организацию. При отсутствии этого сигнала выполняется 8-разрядный обмен. Сигнал вырабатывается при распознавании устройством ввода/вывода своего адреса на линиях SAO...SA15. Тип выходного каскада — открытый коллектор. I/O СН RDY (I/O Channel Ready — готовность канала ввода/ вывода) — сигнал снимается (делается низким) исполнителем (устройством ввода/вывода или памятью) по переднему фронту сигналов -IOR и -IOW в случае, если он не успевает выполнить требуемую операцию в темпе задатчика. При этом реализуется асинхронный обмен. Если исполнитель успевает работать в темпе задатчика, сигнал не снимается (фактически не устанавливается в низкий уровень). Цикл обмена в ответ на снятие этого сигнала продлевается на целое число периодов сигнала SYSCLK. Сигнал I/O СН RDY не должен сниматься на время, большее заданного в данном компьютере (по стандарту — 15 мкс), иначе компьютер переходит к обработке немаскируемого прерывания. Тип выходного каскада — открытый коллектор. -I/O СН СК (I/O Channel Check — проверка канала ввода/ вывода) — сигнал вырабатывается любым исполнителем (устройством ввода/вывода или памятью) для информирования задатчика о фатальной (неисправимой) ошибке, например об ошибке четности при доступе к памяти. Сигнал вызывает немаскируемое прерывание. Тип выходного каскада — открытый коллектор. -OWS (0 Wait States — 0 тактов ожидания) — выставляется исполнителем для информирования задатчика о необходимости проведения цикла обмена без вставки такта ожидания, если длительность стандартного цикла обмена велика для него. Вырабатывается после перехода сигнала BALE в низкий уровень. Должен быть синхронизован с сигналом SYSCLK. Используется редко. Тип выходного каскада — открытый коллектор. -REFRESH (Refresh — регенерация) — сигнал выставляется контроллером регенерации для информирования всех устройств на магистрали о выполнении циклов регенерации динамического ОЗУ компьютера (каждые 15 мкс). При регенерации выполняется псевдочтение из одного из 256 адресов ОЗУ (активизируются только разряды адреса SAO...SA7). Полный цикл регенерации — около 4 мс. Тип выходного каскада — открытый коллектор. RESET DRV (Reset of Driver — сброс устройства) — сигнал сброса в начальное состояние всех устройств на магистрали. Вырабатывается центральным процессором при включении или сбое питания, а также при нажатии на кнопку RESET компьютера. Внешние платы должны в ответ на этот сигнал (длительностью не менее 1 мс) перевести все свои выходы в высокоимпедансное состояние. Тип выходного каскада — ТТЛ. SYSCLK (System Clock — системный такт) — сигнал системного тактового генератора со скважностью 2 (меандр). В большинстве компьютеров его частота равна 8 МГц независимо от тактовой частоты процессора. Если в программе SETUP предусмотрена возможность изменения тактовой частоты магистрали, пользователь может задавать ее в широких пределах. Но для обеспечения наибольшей совместимости со всеми имеющимися платами расширения ISA не рекомендуется поднимать эту частоту выше 8 МГц. К тому же на производительность новых компьютеров в целом она влияет незначительно. В компьютерах XT сигнал SYSCLK — это тактовый сигнал процессора. Тип выходного каскада — три состояния. OSC — не синхронизированный с SYSCLK сигнал кварцевого генератора с частотой 14, 31818 МГц и со скважностью 2. Может использоваться платами расширения в качестве тактового сигнала, так как его частота одинакова для всех компьютеров с магистралью ISA. Тип выходного каскада — ТТЛ. IRQ (Interrupt Request — запрос прерывания) — сигналы запроса радиальных прерываний. Запросом является положительный переход на соответствующей линии IRQ. Сигнал должен удерживаться до начала обработки процессором запрошенного прерывания. Тип выходного каскада — ТТЛ. На каждой линии IRQ должен быть один выход. Иногда в литературе можно встретить рекомендацию применять выходы с тремя состояниями, но все равно больше одного выхода на линию быть не должно во избежание конфликтов сигналов. Многие входы IRQ заняты системными ресурсами компьютера (табл. 9.7). Сигналы IRQO...IRQ2, IRQ8 и IRQ13 задействованы на системной плате и недоступны платам расширения. В компьютере используются два 8-разрядных контроллера прерываний. Сигналы IRQO...IRQ7 относятся к первому из них, а IRQ8...IRQ15 — ко второму. Для каскадирования второго контроллера прерываний задействован вход IRQ2. В связи с этим запросы прерывания имеют следующие приоритеты в порядке возрастания: IRQ7, IRQ6, IRQ5, IRQ4, IRQ3, IRQ15, IRQ14, IRQ12, IRQII, IRQIO, IRQ9. DRQ (DMA Request — запрос ПДП) — сигналы запросов прямого доступа к памяти (ПДП). Запросом является положительный переход на соответствующей линии DRQ. Сигнал должен удерживаться до получения ответного сигнала -DACK с тем же номером. Тип выходного каскада — ТТЛ. На каждой линии DRQ должен быть один выход. В компьютере используются два контроллера ПДП. Каналы ПДП, соответствующие первому контроллеру (сигналы DRQO...DRQ3), предназначены для 8-битного обмена, а соответствующие второму контроллеру (DRQ5...DRQ7) — для 16-битного. Канал DRQ4 используется для каскадирования контроллеров и недоступен пользователям. DRQO имеет наивысший приоритет, DRQ7 — наинизший. В IBM PC XT канал DRQO использовался для регенерации динамической памяти. Канал DRQ1 зарезервирован для контроллера бисинхронного обмена SDLC, а канал DRQ2 — для контроллера гибкого диска.
Табл. 9.7. Назначение аппаратных прерываний ISA.
-DACK (DMA Acknowledge — подтверждение ПДП) — сигналы подтверждения предоставления прямого доступа. Вырабатываются в ответ на соответствующий сигнал DRQ в случае, если прямой доступ предоставлен данному каналу. Удерживаются до окончания прямого доступа. Тип выходного каскада — ТТЛ. AEN (Address Enable — разрешение адреса) — используется в режиме ПДП для сообщения всем платам расширения, что производится цикл ПДП. Устанавливается и снимается параллельно с адресом. При его переходе в активное состояние все платы расширения, не участвующие в данном ПДП, должны отключаться от магистрали (переходить в пассивное состоя ние). Тип выходного каскада — ТТЛ. Т/С (Terminal Count — окончание счета) — устанавливается в режиме ПДП тогда, когда по текущему каналу ПДП закончен счет циклов пересылок данных. Тип выходного каскада — ТТЛ. -MASTER (Master — хозяин, задатчик) — используется платой расширения, желающей стать задатчиком магистрали. В этом случае надо выставить сигнал DRQ и, получив в ответ сигнал -DACK, установить сигнал -MASTER, а затем через минимум один период SYSCLK можно выставлять адрес и через минимум два периода SYSCLK можно вырабатывать стробы обмена. Если -MASTER удерживается более 15 мкс, то динамическое ОЗУ компьютера требует регенерации (разрешения сигнала -REFRESH). Тип выходного каскада — открытый коллектор. Стандартом магистрали ISA установлены ограничения на максимальное значение тока, потребляемого каждой платой расширения. Значения этих токов для всех напряжений питания приведены в таблице 9.8. Отметим, что максимальный ток потребления всеми используемыми платами расширения определяется типом источника питания данного компьютера и не стандартизован. Вообще же мощность блока питания зависит от класса компьютера и может варьироваться от 100—150 Вт до 300—330 Вт. Наиболее типичные параметры источника питания IBM PC AT мощностью 200 Вт приведены в таблице 9.9.
Табл. 9.8. Максимальные токи потребления платами расширения.
Табл. 9.9. Допустимые токи потребления от источника питания
Выходные напряжения источника достигают номинального уровня за время не более 100 мс после включения питания. Источники, как правило, имеют встроенную защиту от перегрузок, которая включается за время 20 мс. Источник должен быть обязательно нагружен по напряжениям +5 В и +12 В. Если по этим выходам не будет обеспечен минимальный ток потребления, это воспринимается как перегрузка. Для выхода из перегрузки надо выключить и снова включить питание источника через время не менее 1с.
Циклы магистрали ISA В режиме программного обмена информацией на магистрали ISA выполняются четыре типа циклов: • цикл записи в память; • цикл чтения из памяти; • цикл записи в устройство ввода/вывода; • цикл чтения из устройства ввода/вывода. Наиболее часто УС проектируются как устройства ввода/ вывода. Временные диаграммы циклов обмена для этого случая приведены на рис. 9.3 (все временные параметры приведены для частоты SYSCLK, равной 8 МГц). Циклы начинаются с выставления задатчиком адреса на линиях SAO...SA15 и сигнала -SBHE. Отметим, что несмотря на потенциальную возможность адресации по 16 линиям адреса, чаще всего используются только 10 младших линий SAO...SA9, так как большинство разработанных ранее плат расширения используют только их, и, следовательно, за исключением особых случаев, нет смысла обрабатывать старшие разряды SAIO...SA15. В ответ на получение адреса исполнитель, распознавший свой адрес, должен сформировать сигнал -I/O CS16 в случае, если обмен должен быть 16-разрядным.
Далее следует собственно команда чтения или записи. При цикле чтения задатчик выставляет сигнал -IOR, в ответ на который исполнитель (УС) должен выдать данные на шину данных. Эти данные должны быть сняты исполнителем после окончания сигнала -IOR. В цикле записи задатчик выставляет записываемые данные и сопровождает их стробом записи -IOW. Здесь надо отметить, что хотя в соответствии со стандартом установка записываемых данных предшествует выставлению -IOW, в некоторых компьютерах реализуется обратный порядок: сначала выставляется -IOW, а затем появляются данные. Поэтому при проектировании УС надо рассматривать как момент действительности данных только задний (положительный) фронт сигнала -IOW. В случае, когда УС не успевает выполнить требуемую от него команду в темпе магистрали, оно может приостановить на целое число периодов сигнала SYSCLK завершение цикла чтения или записи с помощью снятия (перевода в низкий уровень) сигнала I/O СН RDY (так называемый удлиненный цикл). Это производится в ответ на получение сигнала -IOR или -IOW. Сигнал I/O СН RDY может удерживаться низким не более 15, 6 мкс, в противном случае процессор переходит в режим обработки немаскируемого прерывания. Отметим, что некоторые изготовители персональных компьютеров указывают в сопроводительной документации другие допустимые величины этого временного интервала (например, 2, 5 мкс), так что не следует ориентироваться на максимальную величину, указанную в стандарте, иначе нет гарантии работы УС во всех компьютерах. На рис. 9.4 приведены временные диаграммы циклов обмена с памятью (указаны только временные интервалы, отличающиеся от аналогичных на рис. 9.3). Для асинхронного режима обмена (удлиненного цикла) здесь также используется сигнал I/O СН RDY. Отметим, что УС, работающее как память, должно обрабатывать все адресные разряды, включая LA17...LA23. Помимо циклов программного обмена, на магистрали ISA могут выполняться также циклы прямого доступа к памяти (ПДП). Временная диаграмма для этого случая показана на рис. 9.5. Так как магистраль ISA имеет раздельные стробы чтения и записи для устройств ввода/вывода и для памяти, пересылка данных в режиме ПДП производится за один машинный цикл. То есть если данные надо переслать из устройства ввода/вывода в память, то одновременно производится чтение данных из устройства ввода/вывода (по сигналу -IOR) и их запись в память (по сигналу -MEMW). Аналогично производится пересылка данных из памяти в устройство ввода/вывода (по сигналам -MEMR и -IOW).
Цикл ПДП начинается с запроса ПДП от исполнителя, желающего произвести обмен, с помощью одного из сигналов DRQ. После освобождения магистрали текущим задатчиком (например, процессором) контроллер ПДП формирует соответствующий сигнал -DACK, говорящий о предоставлении ПДП запросившему его устройству. Затем контроллер ПДП вырабатывает адрес ячейки памяти, с которой будет производиться обмен в текущем цикле, и сигнал AEN, который говорит устройству ввода/вывода о том, что к нему идет обращение в режиме ПДП. После этого выставляется строб чтения (-IOR или -MEMR), в ответ на который источник передаваемых данных выставляет свою информацию на шину данных, и строб записи (-MEMW или -IOW), по которому данные записываются в приемник данных. Здесь так же, как и в обычном цикле, возможен асинхронный обмен (удлиненный цикл) с использованием сигнала I/O СН RDY. Одной из особенностей магистрали ISA является необходимость проведения регенерации динамической памяти компьютера с помощью специальных циклов регенерации на магистрали. Временная диаграмма цикла регенерации показана на рис. 9.6. Эти циклы выполняет входящий в состав материнской платы компьютера контроллер регенерации, который должен для этого получать управление магистралью каждые 15 микросекунд. Во время цикла регенерации производится чтение одной из 256 ячеек памяти (для адресации используются только восемь младших разрядов адреса SA0...SA7). При этом читаемая информация нигде не используется, то есть это цикл псевдочтения. Проведение 256 циклов регенерации, то есть псевдочтение из 256 последовательных адресов ОЗУ, обеспечивает полное обновление информации в ОЗУ и ее непрерывное сохранение. Если по каким-то причинам цикл регенерации не производится вовремя, то возможна потеря информации в ОЗУ. Цикл регенерации включает в себя выставление сигналов -REFRESH, адреса SAO...SA7 и -MEMR. В случае необходимости может использоваться сигнал I/O СН RDY. Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1814; Нарушение авторского права страницы