Шинная архитектура Спектрума
(концептуальная разработка).
(C) Nemo 1994
________________________________
"Маразм крепчал..."
Из неопубликованного.
"Иногда трудно противостоять
давлению, оказываемому для вклю-
чения различных возможностей,
которые "тоже было бы неплохо
иметь в наличии". Вполне реальна
опасность, что желание угодить
всем будет мешать задаче полу-
чить целостный проект. Я всегда
старался выяснить, какую цену
придется заплатить за получаемый
выигрыш. Нужно сопоставлять по-
лучаемую выгоду и дополнительную
стоимость реализации и просто
присутствие чего-либо в системе,
которое ведет к ее увеличению.
Разработчики [языка] при этом
часто терпят неудачу".
Н. Вирт
Фирма (c) Nemo намеренно пуб-
ликует этот документ (а ему без
малого год), чтобы читатель смог
реально оценить объем проделан-
ной работы и правильность замыс-
ла, которые сейчас столь очевид-
ны.
Лабораторный метод
измерения емкости линий шины.
Существующие эмпирические ме-
тоды расчета емкостной нагрузки
шин в микро-ЭВМ напоминают более
ритуал, нежели инженерный рас-
чет. Данные на вносимые емкости
выводов ИМС зачастую отсутству-
ют, а те, что имеются, отражают
не реальные импедансы, а, ско-
рее, нежелание заводов-изготови-
телей отвечать за качество своей
продукции и явно завышены. Ре-
ально существующие системы (нап-
ример, Spectrum) неожиданно ока-
зываются работоспособными при
прямо-таки "астрономических" на-
грузках на шины. При постоянном
снижении входных токов и повыше-
ния быстродействия логики (155/
555/1533/1531) емкостная нагруз-
ка превращается сейчас в основ-
ное ограничение при наращивании
системы. Практически невозможно
рассчитать долю емкости, вноси-
мую дорожками печатной платы и
нестандартными техническими ре-
шениями. Исходя из всех этих со-
ображений и была предпринята по-
пытка опытного измерения емкос-
тей.
В основе метода лежит исполь-
зование емкости шин в качестве
времязадающих. Определение конк-
ретных величин производится пу-
тем анализа с помощью осциллог-
рафа навязанных внешним ключом
переходных процессов в реальной
системе.
При подаче на вход RES CPU
лог "О" шины адреса и данных пе-
реходят в Z-состояние. К измеря-
емой линии подключается ключ на
элементе ОК, управляемый сигна-
лом CLC (3,5 MHz) и источник то-
ка. Задав определенную величину
источника тока и измерив прира-
щение U по осциллограмме за не-
который период t, можно рассчи-
тать емкость:
╔══════════╗
║ idt ║
║ С = ─── ║
║ dU ║
╚══════════╝
(В этой формуле можно заменить
дифференциалы на приращения).
Емкость, вносимая установкой,
(щуп осциллографа, схема комму-
тации и т.д.) устанавливается
при помощи высокоточного калиб-
ровочного конденсатора при от-
ключенной измеряемой линии.
При измерении принимаются
следующие допущения:
- частота измерения достаточно
мала для проявления свойств
длинных линий печатных дорожек.
- частота измерения достаточно
велика для того, чтобы источник
тока не шунтировался активными
проводимостями на измеряемой ли-
нии. (Именно исходя из этих до-
пущений была выбрана частота 3,5
MHz, а не 1 MHz, при которой
нормируются емкости нагрузок для
шин Z80).
- считается, что источник тока
идеальный. Метод обеспечивает
точность порядка +/- 20%, что
вполне достаточно для практичес-
ких целей. Традиционный эмпири-
ческий метод дает ошибку около
+100%, -50%.
Буферирование шины.
Буферирование шины увеличива-
ет физическую нагрузочную спо-
собность, однако уменьшает логи-
ческую мощность шины. Небуфери-
рованная шина первого типа имеет
следующие достоинства:
- четкое документирование (по
существу, уже имеется стандарт)
на логику и временные парамет-
ры (ссылка на Z80).
- возможный набор сигналов, во-
обще говоря, один-единственный.
- совместимая с фирменными пе-
риферийными устройствами: Be-
ta-Disk, Kempston Joystick и
Kempston mouse, LPRINT III и
так далее.
- имеет достаточную физическую
нагрузочную способность при ис-
пользовании в качестве единичной
нагрузки элемента ALS.
Требования на архитектуру и
схемотехнику материнской платы,
накладываемые шиной.
1) В свете конференции 7-9 де-
кабря в качестве базовой архи-
тектуры оптимальна архитектура
AMSTRAD. По большому счету, в
базовую плату должны войти узлы,
поддерживаемые фирменным систем-
ным ПО, зашитым в ПЗУ этой пла-
ты. В частности RS и MIDI интер-
фейсы, в свое время не поддер-
жанные программистскими фирмами
на Западе, вряд ли необходимы.
2) Спорным вопросом является
наличие контроллера TR-DOS. Ав-
тор считает наличие контроллера
TRDOS в системной плате инерцией
стереотипа восприятия Spectrum -
машины как игровой приставки с
быстрой загрузкой программ. Не-
лишне заметить, что системный
слот, занятый контроллером TR-
DOS, впоследствии может исполь-
зоваться устройством, совмещаю-
щим функции TR-DOS и IDE -
контроллеров.
3) Системная плата должна обя-
зательно иметь CENTRONICS, т. к.
по данным фирмы IskraSoft, 50%
пользователей собираются ис-
пользовать ПК именно как тексто-
вый процессор.
4) В основу схемотехники должен
быть положен синхронный цифровой
автомат, синхросигналы формиру-
ются на D-триггерах (триггере),
тактируемых одним тактовым сиг-
налом. Это необходимо для мини-
мального разброса синхросигналов
относительно сигналов CPU.
Должна обеспечиваться 100% сов-
местимость слотов и материнских
плат. Это отчасти решает и воз-
можную для шины проблему помехо-
устойчивости по линиям (особенно
в режиме TURBO).
5) Процессор должен работать в
линейном, по крайней мере с точ-
ностью до цикла, времени, т. е.
любой программный фрагмент дол-
жен иметь неизменное время вы-
полнения независимо от фазы ви-
деопроцессора и расположения ко-
дов в адресном пространстве. Это
необходимо для организации рабо-
ты в реальном времени, сети,
АОН, АЦП/ЦАП, Фурье - преобра-
зований, синтеза речи.
6) Возможность синхронизации
видеопроцессора с внешним источ-
ником (а возможно) и всей машины
на уровне последовательности F =
14 МГц). Необходимо для синхро-
низации с TV кадром: (контролле-
ры наложения TV изображения),
PAL/SECAM кодеры.
Системная шина и
системный разъем.
Приходилось встречать публи-
кации, в которых эти понятия фи-
гурируют как синонимы. Однако ж,
это "две большие разницы", как
говорят в Одессе. Укажу на раз-
личия:
- системный разъем может быть
только один и, соответственно,
обслуживает одно периферийное
устройство. Оптимальное же число
слотов на шине - четыре;
- системный разъем предполагает
произвольный внешний конструк-
тивный объем подключаемого
устройства и должен иметь воз-
можность работы на ленточный ка-
бель.
Слоты расширения имеют жест-
кие конструктивные ограничения.
Сама материнская плата проекти-
руется под корпус, а место ее
установки жестко регламентирует-
ся.
Ламели системного разъема
выводятся на внешнюю поверхность
корпуса. Если это не сделано, то
можно считать, что его нет вов-
се. Платы периферийного устрой-
ства и основной платы располага-
ются в одной плоскости. Платы
расширения на шине устанавлива-
ются перпендикулярно основной
(материнской) плате и располага-
ются внутри корпуса;
- оптимальная компоновка для
системного разъема - "доска",для
шины - "системный блок". Систем-
ный разъем при открытой архитек-
туре распадается на два аспекта:
системную шину и интерфейс внеш-
них периферийных устройств. Ин-
терфейс ИРПР-М (CENTRONICS) рег-
ламентируется как ГОСТ 27492-88,
так и ОСТ 107.460831.003-87.
ГОСТ описывает интерфейс для
подключения ПУ, а ОСТ - для под-
ключения периферийных устройств.
Некоторые вопросы шины.
1. Тип физического соединения.
Оптимальный соединитель - двух-
рядный разъем под непосредствен-
ное сочленение с печатной пла-
той. Достоинства:
1) высота соединителя разъема
на 5мм меньше, чем с разъемами,
имеющими ответные части.
2) стоимость разъема пере-
распределяется в материнскую
плату, предположительно имеющую
больший жизненный цикл, чем пе-
риферийное устройство.
3) большая механическая проч-
ность соединения, чем с другими
известными типами разъемов.
2. Две оптимальные компоновки
материнской платы.
Первая компоновка - ряды кон-
тактов либо линии шины распола-
гаются параллельно линии, соеди-
няющей ключи ПЗУ и CPU. При та-
ком расположении можно получить
любую разводку шины. Простран-
ство между слотами не использу-
ется, что приводит к увеличению
площади платы. Вторая компоновка
- (как в Next) - ПЗУ и CPU рас-
полагаются между слотов, и пло-
щадь платы уменьшается. Разводка
шины теряет произвольность.
3. Точки перехвата.
Точки перехвата - точки вхо-
да/выхода, обеспечивающие воз-
можность модифицировать на шине
сигналы, генерируемые материнс-
кой платой. Точкой перехвата мо-
жет быть назначена любая стати-
ческая линия, имеющая соответ-
ствующий стробирующий сигнал.
Физически точка перехвата реали-
зуется включением в разрыв сиг-
нала балластного резистора по-
рядка 430 Ом. При использовании
единичных нагрузок типа ALS ко-
эффициент разветвления не умень-
шается. Введение CPU в цикл вво-
да-вывода такта ожидания позво-
ляет реализовать цепочное вклю-
чение точек перехвата на слотах
системной шины по сигналу IORQ,
что дает географический приори-
тет слотов по адресному про-
странству портов. Работа перифе-
рийного устройства с точкой пе-
рехвата осуществляется при помо-
щи логических элементов с ОК или
ОЭ - выходом. TRS - выход может,
при соответствующем включении,
эмулировать и ОЭ и ОК. Точки пе-
рехвата обогащают логику шины
без ее усложнения и введения до-
полнительных сигналов.
Вероятные проблемы с шиной.
1) В режиме TURBO узким местом
могут стать точки перехвата по
времени задержки.
2) Емкостная нагрузка на линии
может стать критической (опять
же TURBO).
3) Проблемы с синхронизацией
PAL - кодера, имеющего некратную
частоту (для исключения муара и
биений цвета).
Три подмножества сигналов.
1. Первое подмножество - это
сигналы CPU, общий знаменатель
всех Spectrum-машин. Наличие
всех этих сигналов строго необ-
ходимо.
2. Второе подмножество - сигна-
лы системного разъема фирменного
компьютера. Включает в себя
п.1., точки перехвата по ROMCS и
IORQ, а также дополнительные ис-
точники +12V, -5V.
3. Третье подмножество - вклю-
чает в себя п.2., кроме того
имеются пустые контакты и допол-
нительные сигналы. Из практики
оказалось, что интенсивно ис-
пользуется сигнал F (14 МГц).
Пустые контакты предполагается
задействовать по мере необходи-
мости. Так, например, в компью-
тере KAY-256 TURBO введена линия
TURBO.
Взаимосвязь компоновки и шины.
Реализация шины возможна лишь
при компоновке "системный блок",
т.к. слоты задают существенный
вертикальный размер. Компоновку
типа "Поиска" вряд ли можно
признать удачной, т.к. присут-
ствует большое количество откры-
тых объемных проводников и кон-
структивных объемов, и в целом
конструкция нетехнологична. По-
пытка установить винчестер на
такую систему еще более усугубит
ситуацию.
Некоторый опыт использования
шины в Spectrum'e.
1) Необходимо крепление слотов
к материнской плате, иначе воз-
можна их потеря при транспорти-
ровке.
2) Буферирование шины может
приводить к конфликтам системных
устройств и материнской платы.
3) Контроллеры должны использо-
вать, по возможности, первое
подмножество сигналов.
4) Нежелательно работать с ло-
гическими событиями, более ко-
роткими, чем машинный такт.
Состав материнской платы.
Распределение функций
между материнской платой и
слотами.
В материнскую плату должны
войти компоненты базовой модели,
которые достаточно отработаны и
"закоснели". Вероятно, это базо-
вая архитектура "Amstrad", т. е.
первые 10 пунктов обязательных
требований. Наличие этих компо-
нентов строго обязательно ПО.
Внешние соединители, благо
плата имеет в корпусе жестко
регламентированное место уста-
новки, устанавливаются на мате-
ринскую плату. Это, в отличие от
имеющихся моделей, дает возмож-
ность эксплуатации без корпуса.
Резко увеличивается ремонтопри-
годность и надежность компьютера
в целом.
Узкоспециализированные сигна-
лы, требующиеся для конкретного
слота, должны формироваться в
нем, пусть и с дублированием.
Не все сигналы на все случаи
жизни, а некий минимальный на-
бор, с помощью которого перефе-
рийное устройство может синтези-
ровать любой мыслимый сигнал,
синхронный с материнской платой.
Размер слотов по вертикали
определяется высотой корпуса,
которая, в свою очередь, высотой
2-х дисководов (идея "Слота").
Любопытно, что используя диско-
воды 3.5, можно задать такую вы-
соту слота, что сборка на россы-
пи окажется невозможной, т.е.
возможна технологическая защита,
не ущемляющая интересы пользова-
теля (как это и делала Apple).
Размер слотов по вертикали неяв-
но задает емкостную нагрузку на
шины и должен быть ограничен.
...