Шина ISA
Страница 2. Характеристики задатчиков на шине


 

2. Характеристики задатчиков на шине

2.1. Центральный процессор

Центральный процессор по умолчанию является основным владельцем шины, контроллер ПДП и контроллер регенерации памяти могут стать задатчиками на шине, только предварительно запретив работу ЦП. Процесс запрещения работы ЦП состоит в выработке сигнала запроса на ПДП и приема сигнала подтверждения ПДП.

Центральный процессор может быть источником как 16-разрядных операций, так и 32-разрядных. Когда ЦП является 16-разрядным ресурсом, он может выполнять операции как с 16-, так и с 8-разрядными ресурсами на шине. При выполнении ЦП команды, оперирующей с 16-разрядными данными, если ресурс доступа 8- разрядный, то специальными аппаратными средствами на материнской плате в этом случае выполняются два цикла доступа. Если же ЦП является 32-разрядным, то аппаратно на материнской плате компьютера один 32-разрядный цикл работы ЦП с внешним ресурсом должен быть преобразован в два индивидуальных 16-разрядных цикла доступа.

Особенности для внешних плат. Если ЦП является задатчиком на шине, то внешние платы могут функционировать только в режиме памяти или устройства ввода/вывода.

2.2. Контроллер ПДП

Сигналы для поддержки ПДП заводятся с разъема непосредственно на контроллер ПДП, выполненный, как правило, на микросхеме Intel 8237A. Когда режим ПДП запрашивается каким-либо устройством (хотя бы один из сигналов DRQ становится активным), контроллер ПДП осуществляет захват шины у ЦП. Выдача затем соответствующего сигнала -DACK означает, что контроллер ПДП начал передачу данных. Циклы ПДП не будут выполняться на шине, если сигнал -MASTER будет разрешен с какой-либо внешней платы.

Если запрос на ПДП требуется устройству ввода/вывода, то следует учесть, что каналы 0...3 ПДП поддерживают передачу только 8-разрядных данных; все данные должны передаваться только по линиям SD<7...0>. Перестановка байтов в этом случае выполняется аппаратно на материнской плате в соответствии с сигналами SA0 и -SBHE. Такая перестановка может потребоваться, например, при передаче данных из старшего байта 16-разрядной памяти в 8-разрядный порт. Каналы ПДП 5...7 поддерживают передачу только 16-разрядных данных; все данные должны передаваться как 16-разрядные по линиям SD<15...0>. Память, участвующая в работе в режиме ПДП по этим каналам, должна быть только 16-разрядной. Перестановщик байтов на материнской плате не будет корректировать несоответствие размеров данных.

ПРИМЕЧАНИЕ: 8-разрядная память со своей стороны может передавать данные в режиме ПДП только 8-разрядным устройствам ввода/вывода; использование 8-разрядной памяти с 16-разрядными устройствами ввода/вывода не допускается.

ВНИМАНИЕ! Контроллер регенерации памяти не может захватить шину до тех пор, пока контроллер ПДП ей владеет. Это означает, что любой цикл ПДП не должен превышать 15 мкс. В противном случае может произойти потеря информации в микросхемах динамической памяти.

ОСОБЕННОСТИ ДЛЯ ВНЕШНИХ ПЛАТ

Сигналы запроса и подтверждения режима ПДП заведены на все внешние платы и эти сигналы вырабатываются обычными ТТЛ выходами, поэтому все внешние платы должны использовать и анализировать различные каналы ПДП. В противном случае возможен конфликт внешних слотов между собой или с устройствами на материнской плате.

Внешние слоты могут быть или памятью прямого доступа или устройством ввода/вывода, когда они взаимодействуют с контроллером ПДП.

2.3. Внешняя плата

Внешние платы могут функционировать в 5 различных режимах: задатчика шины, памяти и устройств ввода/вывода прямого доступа, памяти и устройств ввода/вывода, регенерации памяти или сброса. Платы могут поддерживать любую комбинацию из первых четырех режимов; сигналу сброса должны подчиниться все платы одновременно.

Только 16-разрядные платы с двумя интерфейсными разъемами могут становиться задатчиками на шине. Для захвата шины внешняя плата должна разрешить сигнал -DRQ и, получив сигнал -DACK от контроллера ПДП, разрешить сигнал -MASTER. На этом процедура захвата шины заканчивается.

Внешняя плата, захватив шину, может выполнять любые циклы доступа, так же как центральный процессор. Единственное ограничение - невозможность выполнять циклы ПДП, так как все интерфейсные сигналы, управляющие работой контроллера ПДП, заведены на материнскую плату и не могут быть использованы контроллером ПДП, находящимся на внешней плате. Когда внешняя плата является задатчиком на шине, контроллер ПДП запрещает сигнал AEN и это позволяет устройствам ввода/вывода нормально дешифрировать адрес и быть доступными для внешней платы. При запрещенном сигнале AEN циклы передачи ПДП невозможны (подробнее в разделе описания сигнала AEN, в гл. 3). Кроме этого, циклы ПДП не могут быть выполнены на шине также и потому, что у контроллера ПДП канал, через который был осуществлен захват шины, занят, а другие каналы контроллера ПДП не могут быть использованы до освобождения ранее занятого, т.е. до освобождения шины захватившей ее внешней платой.

ПРИМЕЧАНИЕ: Программное обеспечение, поддерживающее работу внешней платы в качестве задатчика шины, должно обеспечивать использование каналов ПДП только в режиме каскадирования. В противном случае внешняя плата не сможет осуществить захват шины.

ПРИМЕЧАНИЕ: Внешняя плата начинает любой цикл доступа как 16-разрядная, однако если сигнал -MEM CS16 или -I/O CS16 не будет разрешен, цикл будет завершен как 8-разрядный. При этом перестановщик байтов на материнской плате будет определять, по каким линиям данных (SD<15...8> или SD<8...0>) передается байт информации, исходя из анализа сигналов -SBHE и SA0.

ВНИМАНИЕ! Захватившая шину внешняя плата обязана не реже, чем через 15 мкс, вырабатывать сигнал -REFRESH для запроса контроллеру регенерации на регенерацию памяти. Контроллер регенерации при выполнении цикла регенерации памяти вырабатывает сигналы адреса, команд и анализирует сигнал I/O CH RDY, но внешняя плата, выработавшая сигнал -REFRESH, по завершении цикла регенерации снимает этот сигнал и продолжает оставаться задатчиком на шине. При необходимости выполнить несколько циклов регенерации сигнал -REFRESH может быть удержан внешней платой на все время требуемого количества циклов регенерации.

Контроллер регенерации памяти не может захватить шину сам до тех пор, пока контроллер ПДП (а именно через него внешняя плата становится задатчиком на шине) не освободит ее на время регенерации по сигналу -REFRESH.

2.4. Режимы прямого доступа к памяти или к устройствам ввода/вывода

Внешняя плата может работать в режиме ПДП только в том случае, если контроллер ПДП является задатчиком на шине. В режиме прямого доступа к памяти данные всегда передаются между устройством ввода/вывода и памятью на внешней плате. В режиме прямого доступа к устройству ввода/вывода данные передаются между памятью и устройством ввода/вывода на внешней плате. Внешняя плата, отвечающая на шине как 8- или 16-разрядное устройство, должна соответственно использовать 8- или 16- разрядные каналы контроллера ПДП. В табл. 2.2 показано состояние сигналов на шине для режима ПДП.

ВНИМАНИЕ! Следует специально обратить внимание на некоторые особенности при выполнении циклов передачи данных между 8-разрядными устройствами ввода/вывода и 16-разрядной памятью на внешней плате. Во-первых, внешняя плата должна анализировать сигналы -SBHE и SA0 для правильного определения передаваемых данных.

Во-вторых, при записи в УВВ из памяти на внешней плате перестановщик байтов на материнской плате будет определять, по какой половине шины данных (SD<15...8> или SD<7...0>) следует направить байт; внешняя плата после анализа -SBHE и SA0 должна определить, по какой половине шины данных ей направить байт данных. В-третьих, при чтении УВВ в память на внешней плате перестановшик байтов направляет в память байт данных также либо по старшей половине шины данных SD<15...8>, либо по младшей половине SD<7...0>. Внешняя плата по сигналам -SBHE и SA0 должна определять, когда следует переводить в третье состояние свои выходы по младшей половине шины данных SD<7...0> во избежание столкновений на шине.

Внешняя плата может как 16-разрядная память обмениваться в режиме ПДП как с 8-ми разрядными устройствами ввода/вывода, так и с 16-разрядными. Но, если внешняя плата является 8-разрядной памятью, то в режиме ПДП она может обмениваться данными только с 8-разрядными устройствами ввода/вывода. Другая особенность относится к тому случаю, когда контроллер ПДП выполняет запись данных в 8- разрядное устройство вывода на внешней плате из 16-разрядной памяти. Если такая внешняя плата установлена в 16-разрядный слот и может работать в 16-разрядном режиме, она должна для такого случая поддерживать старшую половину шины данных SD<15...8> в третьем состоянии во избежание столкновения сигналов на шине.

ВНИМАНИЕ! Когда контроллер ПДП является задатчиком на шине, он игнорирует сигнал -0WS, поэтому если внешняя плата используется как 16-разрядная память и обмен с ней выполняется контроллером ПДП, применение быстрых микросхем памяти в такой плате лишено смысла.

Обычный доступ к внешней плате как к памяти или устройству ввода/вывода. Внешняя плата становится обычным ресурсом памяти или ввода/вывода, если задатчиком на шине является центральный процессор или другая внешняя плата.

ВНИМАНИЕ! Существуют особенности такого использования внешней платы, если она устанавливается в [8/16] слот, а участвует в обмене данными как 8-разрядная память или УВВ в течении всего цикла доступа. При чтении данных в такую внешнюю плату перестановщик байтов будет переставлять данные между шинами SD<15...8> или SD<7...0> для правильного приема данных внешней платой. Внешняя плата при этом должна поддерживать свои выходы SD<15...8> в третьем состоянии, так как иначе неизбежно столкновение сигналов на шине данных.

ВНИМАНИЕ! Когда некоторые внешние платы становятся задатчиками на шине, они могут игнорировать сигнал I/O CH RDY или -0WS и выполнять цикл доступа как цикл обращения к 8- или 16-разрядной памяти. Но любые внешние платы обязаны возвращать задатчику на шине ISA эти сигналы при необходимости, так как если центральный процессор является задатчиком на шине, то он использует эти сигналы для определения продолжительности цикла доступа.

2.5. Режим сброса

Все внешние платы оказываются в режиме сброса при разрешенном сигнале RESET DRV; иначе этот режим невозможен. Все выходы с тремя состояниями на плате должны быть в третьем состоянии и все выходы с открытым коллектором должны быть в состоянии логической единицы на время не менее 500 нс после разрешения сигнала RESET DRV. Все внешние платы должны завершить свою инициализацию за время не более 1 мс после разрешения сигнала RESET DRV и быть готовыми к выполнению циклов доступа на шине. Любые операции на шине возможны только после запрещения сигнала RESET DRV.

2.6. Контроллер регенерации памяти

Контроллер регенерации памяти выполняет циклы чтения памяти по специальным адресам на материнской плате и внешних платах для регенерации информации в микросхемах динамической памяти. Каждые 15 мкс контроллер пытается овладеть шиной для запуска цикла регенерации. Если в этот момент задатчиком на шине является центральный процессор, то он освобождает шину для контроллера регенерации. Если в этот момент шина захвачена внешней платой, то контроллер регенерации выполнит цикл регенерации только при выработке внешней платой сигнала -REFRESH. Если в этот момент задатчиком на шине являлся контроллер ПДП, то до освобождения им шины цикл регенерации не может быть выполнен.

Когда выполняется цикл регенерации, контроллер регенерации вырабатывает сигналы адреса SA<7...0> с одним из 256 возможных адресов регенерации. Другие адресные линии неопределены и могут находиться в третьем состоянии. Этот цикл может выполняться с задержкой по сигналу I/O CH RDY с разрешенными сигналами -SMEMR и -MEMR.

ВНИМАНИЕ! Циклы регенерации должны выполняться каждые 15 мкс для перебора всех 256 адресов за 4 мс. Если это условие не выполняется, данные, хранящиеся в динамической памяти, могут быть утеряны.

 
« Предыдущая статья   Следующая статья »