Немного конструктивизма :
Поскольку все устройства на ИСА в БК12 будут внешние, целесообразно сделать вообще переходник МПИ -> ИСА в качестве отдельного устройства, для возможной ( потом ) продажи его по-отдельности ( т.е. предусмотреть для него отдельную плюшку ).
*
Конструктивно со стороны МПИ шину ИСА можно представить адресным полем в диапазоне адресов 170000-171777, регистры управления ремаппингом - в диапазоне адресов 172100-172137 ( т.к. в 172140 сидит МУ в ДВК ).
Адресное поле представляет из себя проекцию на ИСА с таблицей адресов в СОЗУ, ячейки которого можно модифицировать из зоны регистров.
Например, в ячейке ремаппинга № 000002 содержится указатель 001000 - т.е. при обращении к адресу 170002 МПИ мы обращаемся к адресу
001000 в шине ИСА - таким образом, при запуске БИОС БК12 настраивает таблицу ремаппинга и появляется возможность пользоваться устройствами на шине ИСА. Следует принимать во внимание размер АП шины ИСА - 16 Мбайт ( 2 в 24-й степени ) - т.е. потребуются
не менее 3 ИС 62512-10 нс для таблицы ремаппинга.
Поскольку вроде как на ИСА нет векторных прерываний, придется их организовать "вручную" небольшим контроллерчиком, опять же с таблицей векторов, назначенных на отделные проволоки прерываний шины ИСА.
Немного хуже дело обстоит с ПДП на ИСА - он там несколько специфичен, но для серьезной работы придется, видимо, его тоже реализовать, причем без таблицы ремаппинга адресов на запись ( обсуждаемо ). Почему без таблицы - т.к. адреса должны вроде как задаваться пользователем в самом устройстве на шине ИСА - достаточно их просто странслировать на МПИ.
*
Регистры управления шиной ИСА можно представить как :
172100 - адрес таблицы ремаппинга адресов ( 1000 ячеек - 10 бит )
172102 - данные таблицы ремаппинга ( младшие разряды ) адреса шины ИСА
172104 - данные таблицы ремаппинга ( старший байт ) адреса шины ИСА
172106 - битовая карта разрешения прерываний ( каждый бит соответствует отдельной проволоке шины ИСА для прерываний )
172110 - адрес таблицы векторов прерываний ( 16 ячеек - 4 бита )
172112 - данные ( т.е. собственно вектора ) таблицы векторных прерываний.
172114 - битовая карта разрешения ПДП от шины ИСА - по одному биту на каждую проволоку ПДП шины ИСА
Вероятно понадобятся :
172116 - адрес таблицы начальных значений счетчиков адресов самодельного контроллера для реализации ПДП со стороны шины ИСА
( 8 ячеек )
172120 - данные таблицы начальных значений ПДП со стороны шины ИСА ( младшие байты )
172122 - данные таблицы начальных значений ПДП со стороны шины ИСА ( старший байт )
Вероятно, может понадобится регистр - селектор групп адресов ремаппинга ( т.е. управления страницами ремаппинга ) - думается,
16 шт. вполне достаточно -
172124 - номер страницы карты адресов ремаппинга, биты 1-4 ( возможно, 1-6 - для ИС 62512 в карте ремаппинга адресов обращения )
Это будет особенно полезно при работе с картами ИСА, имеющими большое к-во ячеек на шине ИСА - например, картами ОЗУ.
*
В общем, нужна одна довольно большая плюшка с большим к-вом выводов - для навешивания внешних ИС СОЗУ. Без ремаппинга адресов не стоит огород городить - будет слишком сложно пользоваться шиной ИСА со стороны МПИ.