Шинная архитектура Спектрума (концептуальная разработка). (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). Размер слотов по вертикали неяв- но задает емкостную нагрузку на шины и должен быть ограничен. ...