Шина INTEL ISA
Шина INTEL ISA представляет собой параллельную шину, созданую на базе шины
памяти и ввода/вывода IBM PC/AT. В данном документе представлены электрические и
механические характеристики шины INTEL ISA при использовании с разьемами ISA,
совместимыми с продукцией, поставляемой производителем основных плат INTEL OEM.
В этом документе рассматривается интерфейс шины, контакты разьемов и
электрический интерфейс со стандартными платами IBM PC/AT.
Главная цель этой информации - обеспечение данными об использовании и
проектировании плат расширения для основных плат INTEL ISA. Собрать всю
информацию было непросто, так как существует множество плат расширения. В данном
описании сведена инормация о синхронизации, архитектуре и практических успехах,
достигнутых при проектировании различных типов плат INTEL. Нет гарантий, что
платы расширения, разработанные согласно этого документа, будут работать с
некоторыми или со всеми платами ISA производства INTEL или не INTEL. Только что
разработанные платы расширения должны проверяться на разных основных платформах
ISA.
2.0 ХАРАКТЕР ТЕХНИЧЕСКИХ ДАННЫХ
Технические данные касаются всех плат шины INTEL ISA. Они содерат информацию о
применении для помощи при проектировании плат расширения. Любые отличия между
техническими данными и используемой шиной ISA базовой платы INTEL должны быть
освещены в руководстве по эксплуатации данного изделия.
Для привлечения внимания к наиболее важной информации имеются три рубрики.
3.0 ПРИНЯТЫЕ ОБОЗНАЧЕНИЯ
Если в данном описании после названия сигнала следует звездочка (*), это значит,
что сигнал находится в логически верном сотоянии, когда напряжение находится на
низком уровне. Название сигнала без звездочки указывает на логически верное
состояние сигнала при высоком уровне напряжения.
Для предупреждения недоразумений при ссылках на логиеское состояние
сигналаиспользуются термины "разрешен" - "запрещен". Сигнал разрешен, если он
логически верен, и запрещен, если он логически ложен.
О многих сигналах шины INTEL ISA более просто и удобно говорить, как о группе,
так как много сигналов имеют идентичные функции. Названя сигналов в этих группах
слелуют десятичной системе счисления.
1) При обсуждении отдельного сигнала десятичный номер прилагается к названию
сигнала, например, А15. _
2) Разьединенный набор линий сигналов в одной группе сигналов может
рассматриваться в совокупности при распечатке названия группы и заключении
десятичных чисел в скобки, например, А<15,12,00>.
3) Диапазон последовательных сигналов в одной и той же группе сигналов может
рассматриваться при распечатке названия группы и дополнении начальным и
завершающим сигналами, отделенными двойными точками, например, А<15...08>.
Диапазоны сигналов включают в себя начальный и завершающий сигналы.
4) Последовательные и разьединенные сигналы в одной и той же группе
рассматриваются при использовании комбинации обоих методов (2) и (3), например,
А<15,07...00>.
5) Название группы сигналов без дополнений означает всю группу сигналов,
например, А эквивалентно А<15...00>.
Комплект скобок "( )" используется для указания размера разьема. (8) -
8-разрядный источник, а (8/16) поддерживает 8 или 16-разрядный источник .
Линии сигналов и группы линий сигналов на шине INTEL ISA всегда изображаются
печатными заглавными буквами, как и при изображении отдельного сигнала
"MEMREF*".
Использование слова "бит" всегда относится к отдельным или нескольким битам
данных, если перед ним не используется слово "адрес".
4.0 ОБЗОР АРХИТЕКТУРЫ
Шина INTEL ISA составляет часть архитектуры INTEL ISA совместимой основной
платы. Основными частями данной архитектуры, взаимодействующими с шиной ISA,
являются основной ЦП, контроллер ПДП, контроллер прерываний, контроллер
регенерации, память, схема обмена байтами, платы расширения, часы реального
времени - таймер/счетчик и источники ввода/вывода (см. рис. 4.0). Основной ЦП,
контроллер ПДП, контроллер регенерации и платы расширения являются единственными
источниками, которые могут стать владельцами шины и определены следующим
образом:
Другие источники не могут стать владельцами шины, но поддерживают совместимость
с IBM/AT. Эти источники имеют следующее определение.
Шина INTEL ISA представляет собой комбинацию упомянутой генмонтажной панели и
разьемов, которые обьединяют места плат расширения и источников основной платы.
В места для плат расширения могут вставляться или 8-, или 16-разрядные платы
расширения.
Место (8) содержит один разьем; (8/16) имеет один дополнительный разьем. Место с
одним разьемом может принимать только 8 бит данных. Место с двойным разьемом
может принимать либо 8 либо 16 бит данных. Общее колличество мест расширения
ограничено параметрами нагрузки и линии связи, однако у большинства исполнений
имеется 8 мест для расширения, что определяется имеющимися каналами ПДП и
линиями прерывания.
5.0 ПАРАМЕТРЫ ВЛАДЕЛЬЦА ШИНЫ И ПРОЕКТИРОВАНИЕ
5.1 ОСНОВНОЙ ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
Основной ЦП является стандартным владельцем шины, контроллеры регенерации и ПДП
(а также платы расширения, получив разрешение от контроллера ПДП) становятся
задатчиками шины только после его отключения. Отключение основного процессора
выполняется квитированием его сигнала на линии запроса на захват и линии
подтверждения захвата контроллером ПДП или регенерации.
Основной ЦП может быть 16- или 32-битовым источником. Когда основной ЦП является
16-битовым источником, он может выполнять как 8-, так и 16-битовый доступ к
источнику на шине. Реакция выходных линий источников шины должна соответствовать
разделу 6.4. Если основной ЦП является 32-разрядным источником, то технические
средства основной платы должны разделить доступ на два отдельных 16-разрядных
доступа к шине ISA.
Основной процессор является единственным источником, обслуживающим контроллеры
прерывания и ПДП. Доступ к контроллеру прерываний может осуществляться и платой
расширения, которая стала захватчиком шины, но такие операции могут привести к
нарушению программного обеспечения основного ЦП. Контроллер ПДП представляет
метод, по которому платы расширения могут стать задатчиками шины; таким образом,
попытка доступа к контроллеру ПДП платой расширения произойдет в то время, в
течение которого контроллер ПДП считает, что происходит передача ПДП, что
недопустимо.
ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ.
Платы расширения, которые взаимодействуют с основным ЦП, могут находиться только
в режимах доступа к памяти или источнику ввода/вывода, когда основной ЦП
является захватчиком шины. См. раздел 5.3.
В таблице 5.1 показаны источники сигналов линий, которые являются запускающими
или принимающими, когда основной ЦП является задатчиком шины. Она также
определяет тип драйвера.
Примечание к табл 5.1.: основной ЦП = PRI, плата расширения = ADD, контроллер
ПДП = DMA, контроллер регенерации = REF, память основной платы = MEM, ввод/вывод
основной платы =IO, TTL = = К1533 или К555, OC - открытый коллектор и TRI -
приемники/передатчики с тремя состояниями.
"-" указывает на то, что соответствующая линия не разрешена или не
контроллируется источником.
"x"-игнорируется. Источник может разрешить сигнал, но он будет игнорироваться
другими источниками.
(1) DRQ# может быть запущен, но не воспримется, пока контроллер ПДП является
задатчиком шины.
(2) Принят основным ЦП через контроллер прерываний и задействуется по усмотрению
основного процессора, когда он является задатчиком шины.
(3) Этот сигнал должен контроллироваться постоянно и при разрешении немедленно
восприниматься.
(4) Всегда принимается устройством обмена байтами данных.
(5) Приводится в действие источниками основной платы, если адрес находится в
первом Mбайте адресного пространства и есть сигнал или MRDC* или MWTC*.
5.2 КОНТРОЛЛЕР ПДП
Линии ПДП разьема непосредственно подключаются к контроллеру ПДП 8237А INTEL.
Когда линии запроса ПДП приводятся в действие источником, контроллер ПДП
получает шину квитированием линий запроса захвата и подтверждения захвата
основного ЦП. После разрешения захвата шины приводятся в действие
соответствующая линия подтверждения ПДП, и начинается цикл передачи ПДП. Когда
линия подтерждения ПДП подключается к плате расширения, циклы передачи ПДП не
начнутся, если не разрешена линия SECMAST* платой расширения (см. раздел 6.4).
Источники ввода/вывода, участвующие в передаче ПДП, должны согласовываться по
размеру данных канала ПДП. Каналы 0-3 поддерживают 8-разрядные источники
ввода/вывода; все данные должны передаваться как биты даннных на линиях данных
D<07...00>. Устройство обмена байтами на основной плате будет использовать А0 и
SBHE* при необходимости передач между старшим байтом 16-разрядной памяти и
младшим байтом 8-разрядного источника ввода/вывода. Каналы ПДП 5-7 поддерживают
только 16-разрядные источники ввода/вывода: все данные должны передаваться как
16 бит данных по линиям данных D<15...00>. Память, связанная с передачей, должна
иметь размер данных 16 бит: устройство обмена байтами на основной плате не
компенсирует такое несоответствие размера данных.
ПРИМЕЧАНИЕ
8-битовый источник памяти может использоваться в передачах ПДП только с
8-битовым источником ввода/вывода; использование 8-разрядного источника памяти с
16-разрядным источником ввода/вывода не разрешено.
ВНИМАНИЕ!
Контроллер регенерации не может стать захватчиком шины, когда контроллер ПДП
является захватчиком шины. Таким образом, постоянный захват шины контроллером
ПДП при передачах, длящихся более 15 мксек, может вызвать потерю данных в
источниках, имещих динамическое ОЗУ и использующих циклы регенерации шины ISA.
ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ
Линии запроса ПДП и подтверждения запускаются драйверами TTL и подсоединяются ко
всем местам. Платы расширения должны обеспечить выбор различных каналов ПДП при
настройке, для предупреждения конфликта с уже установленными платами или
ресурсами основной платы.
Платы расширения могут использоваться в режиме прямого доступа к памяти или к
вводу/выводу только при взаимодействии с контроллером ПДП в качестве источника
ПДП. См. раздел 5.3.
В табл. 5.2 показаны источники сигналов линий, которые являются запускающими или
принимающими, когда контроллер ПДП является владельцем шины. Она определяет
также тип драйвера.
Примечание к табл. 5.2.: основной ЦП = PRI, плата расширения = ADD, контроллер
ПДП = DMA, контроллер регенерации = REF, память основной платы = MEM, ввод/вывод
основной платы =IO, TTL = = К1533 или К555, OC - открытый коллектор и TRI -
приемники/передатчики с тремя состояниями.
"-" указывает на то, что соответствующая линия не разрешена или не
контроллируется источником.
"x"-игнорируется. Источник может разрешить сигнал, но он будет игнорироваться
другими источниками. _
(1) DRQ# может быть запущен, но не воспримется, пока контроллер ПДП является
задатчиком шины.
(2) Принят основным ЦП через контроллер прерываний и задействуется по усмотрению
основного процессора, когда он является задатчиком шины.
(3) Этот сигнал должен контроллироваться постоянно и при разрешении немедленно
восприниматься.
(4) Всегда принимается устройством обмена байтами данных.
(5) Приводится в действие источниками основной платы, если адрес находится в
первом Mбайте адресного пространства и есть сигнал или MRDC* или MWTC*.
(6) Запускаются на разрешеный уровень аппаратными средствами основной платы на
весь цикл.
5.3 ПЛАТЫ РАСШИРЕНИЯ
Могут функционировать в 5 различных режимах: захвата шины, прямого доступа к
памяти или вводу/выводу, обращения к памяти или источнику ввода/вывода,
регенерации или сброса. Платы расширения могут поддерживать любую комбинацию
первых четырех режимаов, но все платы расширения должны исполнять режим сброса.
Режим захвата шины
Задатчиком шины могут стать только 16-разрядные платы расширения, установленные
на (8/16) место. Плата расширения становится задатчиком шины при запуске линии
DRQ# и SECMAST*, когда связанная с ними линия DACK приводится в действие
контроллером ПДП. Платы расширения могут начинать только 16-битовые циклы
доступа к шине ISA, так как завершение цикла в виде 8 или 16 битов зависит от
состояния линий MCS16# и IOCS16*, запускаемых источником, к которому был
выполнен доступ.
Циклы, выполняемые платой расширения, представляют собой всегда циклы доступа.
Плата расширения не может выполнять циклы передачи ПДП, так как все управляющие
линии ПДП подсоединяются к контроллеру ПДП на основной плате и не могут быть
поделены контроллерами ПДП, если один из них находится на плате расширения.
Когда плата расширения является владельцем шины, контроллер ПДП отключает линию
AEN, когда он разрешает совладение шины. Отключение линии AEN позволяет
источникам ввода/вывода декодировать линии адреса и осуществить доступ со
стороны платы расширения. Если AEN отключена, передачи ПДП произойти не могут
(см.описание AEN в разделе 7.1). Кроме того, циклы передачи ПДП не могут
выполняться, так как контроллер ПДП имеет канал, который разрешил активный
захват шины; другие каналы ПДП не могут быть задействованы, пока не потеряет
активность канал, задействованный при захвате шины платой расщирения.
ПРИМЕЧАНИЕ
Программное обеспечение, поставляемое с платой расширения, должно
инструктировать основной ЦП на программирование специального канала ПДП в режиме
каскада. Канал ПДП должен программироваться в каскадном режиме для того, чтобы
связанная с ним плата расширения стала задатчиком шины.
ПРИМЕЧАНИЕ
Платы расширения начинают все доступы как 16-разрядные. Если не разрешены MCS16*
или IOCS16*, то цикл заканчивается как 8разрядный. Устройство обмена байтами на
основной плате пропустит 8-разрядный байт через А<15...08> и А<07...00>, как
установлено SBHE* и А0.
Более полная информация представлена в разделе 6.4.
ВНИМАНИЕ!
Плата расширения, которая становится задатчиком шины, должна приводить в
действие линию MEMREF* каждые 15 мксек для запроса контроллеру регенерации на
выполнение цикла регенерации. Контроллер регенерации выполняет цикл, задействуя
линии адреса, линии команды и управляя линией IOCHRDY, а плата расширения
приводит в действие линию MEMREF* и сохраняет состояние захвата шины. Плата
расширения должна быть ответственна за запрос цикла регенерации, так как
контроллер регенерации не может захватить шину, если контроллер ПДП является
захватчиком шины. Помните, что плата расширения становится захватчиком шины,
частично получив эту возможность от контроллера ПДП, который является активным и
косвенным владельцем шины.
В табл. 5.3 показаны источники сигналов линий, которые являются запускающими или
принимающими, когда плата расширения является владельцем шины. Она определяет
также тип драйвера.
Примечание к табл. 5.3.: основной ЦП = PRI, плата расширения = ADD, контроллер
ПДП = DMA, контроллер регенерации = REF, память основной платы = MEM, ввод/вывод
основной платы =IO, TTL = = К1533 или К555, OC - открытый коллектор и TRI -
приемники/передатчики с тремя состояниями.
"-" указывает на то, что соответствующая линия не разрешена или не
контроллируется источником.
"x"-игнорируется. Источник может разрешить сигнал, но он будет игнорироваться
другими источниками.
(1) DRQ# может быть запущен, но не воспримется, пока контроллер ПДП является
задатчиком шины.
(2) Принят основным ЦП через контроллер прерываний и задействуется по усмотрению
основного процессора, когда он является задатчиком шины.
(3) Этот сигнал должен контроллироваться постоянно и при разрешении немедленно
восприниматься.
(4) Всегда принимается устройством обмена байтами данных.
(5) Приводится в действие источниками основной платы, если адрес находится в
первом Mбайте адресного пространства и есть сигнал или MRDC* или MWTC*.
(6) Запускаются на разрешеный уровень аппаратными средствами основной платы на
весь цикл.
Режим прямого доступа к памяти или вводу/выводу
Плата расширения может находиться в режиме ПДП только, когда контроллер ПДП
является владельцем шины. Режим ПДП к памяти позволяет передавать данные между
другими источниками ввода/вывода и памятью платы расширения. Режим ПДП к
вводу/выводу позволяет передавать данные между памятью и вводом/выводом платы
расширения квитированием линий запроса ПДП и подтверждения ПДП. Плата
расширения, которая отвечает как 8-разрядный или 16-разрядный источник
ввода/вывода, должна использовать 8- и 16-разрядные каналы ПДП соответственно.
Плата расширения может поддерживать как режим ПДП к памяти, так и режим ПДП к
вводуа/выводу одновременно, при которых данные будут передаваться между памятью
и вводом/выводом платы расширения.
Состояние линий сигнала платы расширения, когда контроллер ПДП является
владельцем шины, рассматривается в таблице 5.2.
ВНИМАНИЕ!
Специального рассмотрения заслуживают те случаи, когда контроллер ПДП выполняет
цикл передачи между 8-разрядным источником ввода/вывода и 16-разрядным
источником памяти платы расширения. Вопервых, платы расширения знают, что
передача выполняется с 8разрядным источником ввода/вывода из-за SBHE* и А0.
Во-вторых, когда осуществляется запись в память, устройство обмена байтами на
основной плате помещает байт либо на D<15...08> либо на D<07...00>; плата
расширения должна контролировать SBHE* и А0 для определения, какие из линий
данных содержат правильный байт. В-третьих, при считывании памяти устройство
обмена байтами на основной плате будет пропускать байт с D<15...08> на
D<07...00>, когда требуется. Плата расширения должна контролировать SBHE* и А0
для управления установкой в третье состояние D<07...00> для предупреждения
столкновений с буфером.
Плата расширения может представлятьсобой 16-разрядный источник памяти при
передаче ПДП для источников ввода/вывода 8или 16-разрядных данных. Плата
расширения должна быть 8-разрядным источником памяти при передаче ПДП, если
источник ввода/вывода только 8-разрядный.
Внимания заслуживает также цикл передачи ПДП, который производит запись в
источник памяти, из платы расширения, которая представляет собой 8-разрядный
источник ввода/вывода. Если плата расширения установлена в место (8/16), то она
должна установить линии D<15...08> в третье состояние. Они устанавливаютя в
третье состояние для предупреждения столкновений буфера с устройством обмена
байтами на основной плате, когда оно пропускает младший байт на старший во время
цикла передачи.
Более полная информация содержится в разделе 6.4.
ВНИМАНИЕ!
Когда контроллер ПДП является владельцем шины он игнорирует сигнал SRDY*; таким
образом, плата расширения не может обеспечивать быстрые передачи ПДП с ОЗУ.
Режим обращения к памяти или вводу/выводу
Плата расширения может рассматриваться как источник памяти или ввода/вывода,
когда основной ЦП или другая плата расширения является захватчиком шины.
ВНИМАНИЕ!
Необходимо рассматривать специальные случаи, когда плата расширения находится в
месте (8/16) и отвечает во время цикла доступа как 8-разрядный источник памяти
или ввода/вывода. Когда источник платы расширения считывается, устройство обмена
байтами на основной плате поместит байт либо на D<15...08> либо на D<07...00>
для обеспечения 16-разрядных данных задатчика шины. Плата расширения должна
обеспечить третье состояние на линиях D<15...08>, так как эти линии приводятся в
действие устройством обмена байтами на основной плате.
Более полная информация приводится в разделе 6.4.
ВНИМАНИЕ!
Когда некоторые платы расширения являются задатчиками шины, они игнорируют
сигналы IOCHRDY или SRDY* и выполняют стандартный цикл 8- или 16-разрядной
памяти. Любая плата расширения,которая возвращает сигналы IOCHRDY или SRDY* на
плату расширения, как это делается с основным ЦП, должна определить, может ли
плата расширения-задатчик шины поддерживать эти линии.
В табл. 5.1 и 5.3 показаны источники сигналов линий, которые являются
запускающими или принимающими, когда плата расширения находится в режиме
обращения к памяти или вводу/выводу и главный ЦП или другая плата расширения
(отмеченная как ADDX) являются задатчиком шины соответственно. Они определяют
также тип драйвера.
Режим сброса
Плата расширения входит в режим сброса всякий раз, когда разрешен RSTDEV,
независимо от того, в каком другом режиме она находилась. Все сигналы с тремя
состояниями шины платы расширения установиться в третье состояние, и все сигналы
с открытым коллектором должны быть отключены в течение 500 нсек длительности
разрешенного RSTDEV. Плата должна завершить инициализацию в течение 1 мсек
длительности разрешенного сигнала RSTDEV и быть готовой к нормальной работе
шины. Нормальная работа шины начинается немедленно после отключения сигнала
линии RSTDEV.
5.4 КОНТРОЛЛЕР РЕГЕНЕРАЦИИ
Контроллер регенерации выполняет цикл чтения по специальному адресу для
регенерации динамического ОЗУ основной платы или плат расширения. Каждые 15
мксек контроллер регенерации пытается захватить шину для выполнения цикла
регенерации. Если задатчиком шины в данный момент является основной ЦП, то
владение шиной передается контроллеру регенерации. Если плата расширения в
данный момент является задатчиком шины, то контроллер регенерации будет
выполнять цикл регенерации только если плата расширения разрешает линию MЕMREF*.
Если контроллер ПДП является задатчиком шины, то до передачи контроллером ПДП
управления шиной никакие циклы регенерации не могут быть выполнены.
Когда выполняется цикл регенерации, контроллер регенерации приводит в действие
линии адреса А<07...00> с одним из 256 адресов регенерации. Другие линии адреса
неопределены и должны устанавливаться в третье состояние источниками, которые
могут возбуждать их. Цикл представляет собой цикл доступа нормального типа или
типа готовности при разрешенных MEMR* и MRDC*.
ВНИМАНИЕ!
Цикл регенерации должен выполняться каждые 15 мксек для доступа ко всем адресам
динамического ОЗУ каждые 4 мсек. Если это не происходит, данные в ОЗУ могут быть
потеряны.
В табл. 5.4.1 и 5.4.2 показаны источники сигналов линий, которые являются
запускающими или принимающими для цикла регенерации, когда контроллер
регенерации или плата расширения является владельцем шины соответственно. Они
определяют также тип драйвера.
Примечание к табл. 5.4.1.: основной ЦП = PRI, плата расширения = ADD, контроллер
ПДП = DMA, контроллер регенерации = REF, память основной платы = MEM, ввод/вывод
основной платы =IO, TTL = = К1533 или К555, OC - открытый коллектор и TRI -
приемники/передатчики с тремя состояниями.
"-" указывает на то, что соответствующая линия не разрешена или не
контроллируется источником.
"x"-игнорируется. Источник может разрешить сигнал, но он будет игнорироваться
другими источниками. _
(1) DRQ# может быть запущен, но не воспримется, пока контроллер ПДП является
задатчиком шины.
(2) Принят основным ЦП через контроллер прерываний и задействуется по усмотрению
основного процессора, когда он является задатчиком шины.
(3) Этот сигнал должен контроллироваться постоянно и при разрешении немедленно
восприниматься.
(4) Всегда принимается устройством обмена байтами данных.
(5) Приводится в действие источниками основной платы, если адрес находится в
первом Mбайте адресного пространства и есть сигнал или MRDC* или MWTC*.
(6) Запускаются на разрешеный уровень аппаратными средствами основной платы на
весь цикл.
Примечание к табл. 5.4.2.: основной ЦП = PRI, плата расширения = ADD, контроллер
ПДП = DMA, контроллер регенерации = REF, память основной платы = MEM, ввод/вывод
основной платы =IO, TTL = = К1533 или К555, OC - открытый коллектор и TRI -
приемники/передатчикис тремя состояниями.
"-" указывает на то, что соответствующая линия не разрешена или не
контроллируется источником.
"x"-игнорируется. Источник может разрешить сигнал, но он будет игнорироваться
другими источниками.
(1) DRQ# может быть запущен, но не воспримется, пока контроллер ПДП является
задатчиком шины.
(2) Принят основным ЦП через контроллер прерываний и задействуется по усмотрению
основного процессора, когда он является задатчиком шины.
(3) Этот сигнал должен контроллироваться постоянно и при разрешении немедленно
восприниматься.
(4) Всегда принимается устройством обмена байтами данных.
(5) Приводится в действие источниками основной платы, если адрес находится в
первом Mбайте адресного пространства и есть сигнал или MRDC* или MWTC*.
(6) Запускаются на разрешеный уровень аппаратными средствами основной платы на
весь цикл.
Разрешается платой расширения, которая является задатчиком шины.
ПАРАМЕТРЫ УСТРОЙСТВА, НЕ ЯВЛЯЮЩЕГОСЯ ЗАДАТЧИКОМ ШИНЫ
Шина ISA фирмы INTEL имеет несколько особенных параметров, которые не зависят от
владения шиной.
6.1 АДРЕСНОЕ ПРОСТРАНСТВО ПАМЯТИ
Максимальное адресное пространство памяти, поддерживаемое шиной ISA, - 16 Мбайт
(24 адресные шины), однако не все места для плат расширения, могут поддерживать
все адресное пространство. Когда задатчик обращается к памяти основной платы или
платы расширения, он должен разрешить MRDC* или MWTC*; технические средства
основной платы, в свою очередь, разрешают линии MEMR* или MEMW* при доступе к
первым 1 Мбайтам. К месту (8) подключаются только линии MEMR*, MEMW*, D<07...00>
и A<19...00>; таким образом, ресурсы места (8) могут иметь длину данных только 8
бит и постоянно находиться в первых 1 Мбайтах адресного пространства
запоминающего устройства (ЗУ). Места для для плат расширения (8/16) принимают
все линии команд, адресов и данных; следовательно, эти ресурсы могут
соответствовать ресурсам данных 8 или 16 битов в любом месте адресного
пространства памяти. Доступ будет выполняться как 16-битовый цикл, если
разрешена MCS16*.
ПРИМЕЧАНИЕ
Способность памяти основной платы или платы расширения работать как ресурс
16-битовой памяти требует разрешения MCS16*. Формирование MCS16* основано на
декодировании LA <23...17>; таким образом, длина данных каждого блока из 128
кбайтов в адресных границах 128 кбайт должна быть всегда 8 или 16 битов.
Различные части каждого блока 128 кбайтов не могут быть разной длины данных,
поскольку это потребовало бы декодирования других адресных линий для генерации
MCS16*.
ВНИМАНИЕ!
Динамическое ОЗУ вместе с другими ресурсами шины требует цикла регенерации. Если
операция регенерации не выполняется каждые 15 мксек, то может произойти потеря
данных.
ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ.
Ресурс памяти на основной плате представляет собой пространство двух типов:
динамического ОЗУ (DRAM) и стираемого постоянного ЗУ (EPROM). DRAM имеет длинну
16 или 32 информационных бит в зависимости от разрядности данных главного CPU
(центрального процессора); но всегда по отношению к плате расширения выступает
как ресурс данных 16 бит. EPROM содержит BIOS и всегда 16-битовое.
Информацию о распределении памяти смотри в " Техническом справочнике INTEL ISA
на базе основной платы". Рекомендуется тщательно изучить принципы операций ЗУ,
прежде чем приступить к проектированию платы расширения. _
6.2 АДРЕСНОЕ ПРОСТРАНСТВО УСТРОЙСТВ ВВОДА/ВЫВОДА.
Максимальное адресное пространство ввода/вывода, поддерживаемое шиной ISA,
составляет 64 кбайта (16 адресных линий). Все места поддерживают 16 адресных
линий. Первые 256 байтов резервируются для ресурсов основной платы: регистров
контроллера прерываний и контроллеров прямого доступа к памяти,
таймера/счетчика, часов реального времени и других элементов для совместимости с
AT. Остальное адресное пространство ввода/вывода выбирает ресурсы на шине ISA.
См. информацию о распределении адресного пространства устройства ввода/вывода в
"Техническом справочнике INTEL ISA на основной плате".
ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ.
Даже несмотря на то, что существует 16 адресных линий, традиционно платами
расширения декодировались только первые 10 адресных шин для доступа к внешнему
устроруйству. Это приводит к тому. что 1-килобайтовый блок по отношению к
1-килобайтовой адресной границе становится повтором первого 1-килобайтового
блока. Следовательно, первые 256 байтов, которые занимают совместимые с XT/AT
ресурсы основной платы, повторяются в начале каждой 1-килобайтовой адресной
границы. Ресурсы платы расширения не должны пользоваться этой частью
1-килобайтовых блоков.
Если все платы расширения, подключенные к основной плате, и сама основная плата
декодирует все 16 адресные линии, то первый 1-килобайтовый блок не будет
повторяться по всему адресному пространству. Совместимые с XT/AT ресурсы в этом
случае храняться только в первых 256 байтах первого 1 килобайта.
6.3 СТРУКТУРА ПРЕРЫВАНИЯ.
Линии прерывания мест непосредственно связаны с кнтроллером прерывания INTEL
8259A. Контроллер прерывания будет реагировать на прерывания при переходе с
низкого уровня на высокий. На шине ISA отсутствуют линии подтверждения
прерывания. Ресурс должен использовать доступ владельца шины к памяти или
внешним устройствам для подтверждения прерывания.
ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ
Линии управления прерываниями подключаются ко всем местам и запускаются
триггером. Платы расширения должны разрешить выборку линии прерывания во время
установки, чтобы избежать конфликта с уже установленными платами или ресурсами
основной платы.
6.4 ОБМЕН (СВОПИНГ) ДАННЫМИ
Главный центральный процессор и плата расширения может выполнять циклы обращения
8 или 16 битов. Все обращения начинаются как 16-битовые циклы и могут
выполняться как 8- или 16-битовые. Цикл будет выполняться как 8-битовый, если
MCS16* или IOCS16* не разрешаются выбранным ресурсом.
Технические средства устройства обмена байтов постоянно находятся на основной
плате. Они используются для регулирования при несовпадении размера данных между
ресурсами. Несовпадение может возникнуть во время цикла обращения, как показано
на рис.6.4.1 и в таблице 6.4.1. Кроме того, оно может возникнуть во время циклов
передачи ПДП ( см. рис. 6.4.2 и таблицу 6.4.2).
Таблица 6.4.1 приводит байты, которыми обменивались во время цикла обращения.
Технические средства для обмена байтов позволяют владельцу шины длиной 16 бтов
выбирать ресурсы длины 8 битов. Операция обмена между старшими и младшими
байтами приведена в таблице 6.4.1. H>L обозначает линии старших байтов, идущих
на линии младших байтов от технических средств; H означает, что старший байт посылается между владельцем шины и выбранным ресурсом без обмена. Примечание к табл. 6.4.1.: Задатчик шины имеет размер данных 16 бит, но может осуществлять 8-разрядный доступ. 7.0 ОПИСАНИЕ СИГНАЛОВ Эта глава перечисляет и описывает семь групп сигналов, которые имеет шина ISA INTEL. Подробно описывается функция каждого сигнала. Каждая сигнальная группа имеет знак (8) или (8/16), который обозначает, что этот особый сигнал имеется только в месте 8 битов или 8/16 битов соответственно. 7.1 СИГНАЛЬНЫЕ ГРУППЫ Шина ISA INTEL имеет семь групп сигналов: адрес, данные, управление циклом, центральное управление, прерывание, прямой доступ к памяти (DMA) и питания. Обозначение направления входа и выхода для каждого сигнала определяется относительно задатчика шины. 7.1.1 ГРУППА СИГНАЛОВ АДРЕСА Группа сигналов адреса состоит из сигналов, управляемых задатчиком шины, для определения адреса данных. А <19...0> (8) (8/16) Сигналы адреса защелкиваются выходами, управляемыми задатчиком шины. При доступе к адресному пространству памяти они представляют самые младшие 20 адресных бита и определяют адресное пространство 1 Мбайт. Когда выбирается адресное пространство внешнего устройства, А <15...0> содержит достоверный адрес и A <19...16> не определяются. Во время циклов регенерации A <07...00> содержит достоверный адрес, A <19...08> не определяются и должны устанавливаться в третье состояние всеми ресурсами, которые могут ими управлять. ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТЫ РАСШИРЕНИЯ Плата расширения должна быть задатчиком шины для разрешения линии MEMREF*. Когда она разрешена, линии адресов управляются от контроллера регенерации; они должны быть на плате расширения в третьем состоянии. LA <23...17> (8/16) Незащелкнутые адресные сигналы возбуждаются задатчиком шины. Когда главный центральный процессор становится задатчиком шины, линии LA - достоверные при наличии BUSALE, но недостоверные для всего цикла. Когда контроллер прямого доступа к памяти (DMA) является задатчиком шины, линии LA должны быть достоверными до MRDC* или MWTC* и остаются достоверными весь цикл. При доступе к адресному пространству памяти они представляют семь самых старших адресных битов. При доступе к адресному пространству внешних устройств (IO) или во время циклов регенерации эти линии переходят в логический 0. Во время циклов регенерации линии незащелкнутых адресов не определяются и должны устанавливаться в третье состояние всеми ресурсами, которые могут ими управлять. ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТЫ РАСШИРЕНИЯ Когда плата расширения является задатчиком шины, эти линии должны быть достоверными перед MRDC* или MWTC* и оставаться достоверными весь цикл. Плата расширения должна быть задатчиком шины для разрешения линии MEMREF*. Когда плата расширения разрешает линию MEMREF*, адлесные линии возбуждаются контроллером регенерации; они должны устанавливаться платой расширения в третье состояние. SBHE* (8/16) " Разрешение старшего байта системной шины" разрешается главным CPU для того, чтобы показать, что данные передаются на линиях D <15...8> SBHE* и АО используются для определения байтов, которые должны передаваться по шине, как показано на рис.6.4 и в таблице 6.4. SBHE* не запускается, когда контроллер регенерации является задатчиком шины, так как не происходит обмена данными; реальные данные не считываются. ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТЫ РАСШИРЕНИЯ Когда плата расширения является задатчиком шины, SBHE* применяется таким же образом, что и при использовани главным центральным процессором. Сигнал SBHE* устанавливается в третье состояние, когда разрешается линия MEMREF* платой расширения, являющейся задатчиком шины. BUSALE (8) (8/16) "Разрешение запоминания адреса шины" является стробом адреса, возбуждаемым главным центральным процессором, чтобы показать, когда LA <23...17> достоверны и могут защелкиваться. Он также показывает, когда SBНE* и A <19...0> - достоверны. Когда контроллер DMA - задатчик шины, BUSALE устанавливается в логическую 1 основной платой, так как LA <23...17> и A <19...0> достоверны до того, как будут разрешены командные линии. Когда задатчик шины - контроллер регенерации, основная плата устанавливает линию BUSALE в логическую 1, так как SA <19...0> - достоверны до того, как будут разрешены линии MRDC* и MEMR*. ОСНОВЫ ПРОЕКТИРОВАНИЯ ПЛАТ РАСШИРЕНИЯ Когда плата расширения является задатчиком шины, BUSALE устанавливается в логическую 1 основной платой на все время, что она будет задатчиком шины. Таким образом, LA <23...17> и A <19...0> должны быть достоверными до того, как плата расширения разрешит командные линии. Когда задатчик шины - главный центральный процессор и он обращается к плате расширения, LA <23...19> достоверны только короткое время; BUSALE применяется платой расширения для защелкивания адреса. Когда какой-нибудь ресурс, исключая главный центральный процессор, является задатчиком шины, линия BUSALE остается
Подобные работы: