Передовица » Hardware » ДЗУ » Исследование КНГМД 140 » Почему агатовский контроллер существенно крупнее Disk ][ ?

Почему агатовский контроллер существенно крупнее Disk ][ ?

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

Официальные схемы контроллеров версии 1 и 2 находятся на страничке Контроллеры 140Кб. Ну а другой ссылкой будет являтся схема из книжки М.П.Мымрина, страница 206 (версия 1). Схема полная, но устаревшая (что-то вроде вроде преальфа, версия 1 получается с учётом моих исправлений) и нарисована не особенно удобно. Поэтому в этом тексте приведены мои варианты её рисунка.

Шинный интерфейс и ПЗУ начального загрузчика

Образован микросхемами D2, D8, D9, D13,... и может быть ещё несколькими. У эппла - B2, A2, D2... Шинный интерфейс несколько различается по структуре, но уровень сложности примерно одинаков. Агатовский немного более "правильный" - он не позволяет, например, выставлять данные на шину если процессор выполняет операцию записи.

Но в агатовском варианте аккумулятор секвенсора и ПЗУ подключены на шину не напрямую, а через формирователи D10/D11/D18/D19 (версии 1) или через формирователь D5 и ключи D18/D19 (версия 2). В эпловском же варианте ПЗУ подключена напрямую, возможно потому, что имеет интерфейс с Z-состоянием, а не открытый коллектор. Аккумулятор секвенсора также подключен напрямую, потому что тоже имеет Z-состояние и может отключатся от шины (ls323), в то время как используемый в агатовском контроллере регистр (ир13) этого не умел. Позднее в России тоже стали выпускать аналог ls232 - с названием ир29 - но это было уже в конце 80-х.


Версия 1

Защёлки режимов

В эпле используются (и, видимо, не только в контроллере дисковода) микросхема ls259 (C2), наш аналог - ир30. Она представляет собой 8 бит статической памяти, запись в которую выполняется по одной шине данных и трём шинам адреса, а чтение - по восьми параллельным выходам.

В агатовских контроллерах разработчики были вынуждены заменить эту деталь группой: D7 (декодер адреса), D4/D5/D6/D21 (двухбитные защёлки). Интересно, что ир30 уже использовалась в системной плате девятого Агата, но разработчикам контроллера версии 2 (а он вышел всего на три месяца раньше платы девятки) было запрещено использовать ир30 (причины пока неизвестны).

Секвенсор

Регистр адреса и предформирователь данных (агат/эппл): D16 / A3 (причем в контроллере версии 1 это ир13, а в 2 - тм9 - у неё размер поменьше из-за меньшего числа функций и выводов). ПЗУ программ: D12 / B3. Аккумулятор и АЛУ: D15 / C3. Здесь нужно остановится подробнее: используемая в Агате ир13 (D15) имеет асинхронный вход сброса, в то время как для правильной работы секвенсора вход должен быть синхронный. Чтобы его синхронизовать, на помощь добавлена ещё одна микросхема - D20.


Версия 1

Ещё кое что

Не сбились со счёта ? :) В агатовском контроллере есть ещё несколько деталей, возможно, предназначенных для работы с какими-то другими дисководами. Эти элементы есть только в версии 1: D17/D23/D24 (обведены синим цветом на схеме, участвуют в записи) и D23.3 - похоже, как-то относилась к каналу чтения.

Remark: ковыряясь с процедурами секвенсора и пытаясь смоделировать его работу на языке высокого уровня несколько дней потерял в поисках ошибки. Как оказалось, во многих (имеющихся у меня) справочниках, микросхема ир13 имеет лапку 3 обозначенную как D0, 4 - как Q0 и т.д. - как нарисовано в моих схемах и у Мымрина. Казалось бы - нулевым битом обычно обозначают самый правый, наименее значимый (с точки зрения арифметики), бит. Соответственно, сдвиг вправо предполагает копирование значения из D1 в D0. Но выяснилось, что здесь это не так: выводы 3 и 4 - это наиболее значащий бит! В найденном англоязычном описании и в справочнике Козака пины 3/4 обозначен как "A", последующие биты - "B", "C"... Такая вот шуточка.

И теперь: схема эпловского контроллера

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *