В.М.> В сегодняшней практике инженеру уже для использования численных симуляторв такой багаж не требуется. Разработчикам - да, но и там очень узкому кругу.
Инженеру тоже может такая задача встать, под которую софт еще не сделали. И тогда вперед, жевать Березина-Жидкова и прочих Самарских с Бахваловыми, смотреть, как хотя бы типовые численные методы строго логически обосновываются и как границы применимости очерчиваются. Чтобы потом рожать свою схему. И учиться камлать.
В.М.> Это речь уже даже не про проект а так зарисовки. Проект, без упора в изготовление, все-стаки заканчиватеся выдачей нарисованной, пусть и на бумаге, топологии.
Топология тоже не является чем-то неподъемным. Просто та картинка от интеловцев могла быть нарисована с опорой на тогдашние возможности железа. Они всегда конкретные. Узнать, что сейчас можно реализовать, а что нельзя, и из чего - дело пары-тройки дней, ИМХО. Серокоя например поспрашивать.
ИМХО, задачки из теории графов тут уровня опять же старшеклассника-первокурсника.
В.М.> Там ведь даже не точки - там квадратики-полоски.
Это не принципиально, т.к. можно взять некую минимальной толщины полоску за единичное ребро, а остальные эмулировать (если дорожим толщиной уже на этапе разработки схемы) парными, тройными и т.д. ребрами, инцидентными той же паре вершин - квадратиков.
>Но как посмотрел, что они там за этим наворачивают для валидации - быстро утерся.
А может, это было с непривычки?
Мы ж не говорим про предельно оптимальную по площади схему, т.к. тут главная скрипка - особенности "железа". А про составление логической схемы с некоторыми доп. условиями типа планарности её графа. Да и острота проблемы планарности отчасти снижается, если девайс не на одном кристалле полагаем.
В.М.> Алгоритм проектирования "цессн" вообще-то расписан детально в любом приличном учебнике. Но его не просто нужно глянуть а осознать.
Так вот, синтез цифровой схемы осознается ИМХО немеряно проще, чем проектирование самолетика. Формально на конечное число всех возможных комбинаций входов схема (любая её часть) должна давать такое же конечное наперед заданное множество выходов. Это делается с помощью давно известных блоков а-ля триггеры, сумматоры, регистры и т.п. Все они делаются из схемок "И-НЕ" давно известными несекретными способами. Т.е. настоящие ужимки и прыжки ведутся вокруг реальных аналоговых элементов типа транзисторы-диоды и т.п., чтобы они при заданных воздействиях (кварц. генератор) реагировали так, как надо: воспроизводили бы цифровые операции предсказуемым образом. Нужно найти рабочий диапазон входных параметров, и дальше по всей схеме его соблюдать.
>Формальное проектирование процессоров - то же смаое, это как в численный пакет нпихать каких попало данных, получить картинку с красивыми изолиниями - тоже ведь, "расчет сделан", формально
Нет, это другое.
Сначала делается и оптимизируется лог. схема. Потом уже рожается проект реального девайса и ловятся тараканы в предполагаемом физическом воплощении логич. схемы. Второе - это радиоэлектроника - тоже не неподъемная вещь, люди этим даже увлекаются. И второй этап никак не может отменить результаты первого этапа, только дополнить и уточнить.
В.М.> С процессорами, как-то тоже не у всех прокатывает
Дык. Но ИМХО главная сложность зарыта не в проектировании логики.
И ИМХО даже не в оптимизации физической топологии в условиях разброса параметров отдельных элементов. Понятно, что встает вопрос об устойчивости физ.девайса как предсказуемо работающей логической схемы. Но если однородную элементную базу как-то заиметь(ГДЕ?КАК?), то ИМХО задержки и рассинхронизации, вызываемые ёмкостями/индуктивностями взаимным конкретным расположением конкретных проводников и транзисторов, рассчитать можно. И ИМХО критерии оптимизации родить. И количественный предел сложности устойчиво работающей схемы прикинуть.
В.М.>Вот сделать - и париться не надо. Ума предложений изготовить чипы по вашему проекту. Пара моих знакомых фирм этим пользуются, выпускают всякие спецплаты для видеобработки на ТВ и АСУТП.
Праздное любопытство: им надо полностью топологию дать, или только чисто логическую схему? Если чисто логическую, а её реализацию фирма гарантирует, то выходит, что вопрос исчерпан. А если полностью топологию, то непонятно, как можно задать проект, если не знаешь конкретных возможностей элементов изделий данной фирмы. И даже знаешь, как доказательно разобраться в причине возможных глюков: то ли сам дурак, тупую схему сваял, а они лишь честно перенесли, то ли они приврали насчет гарантируемого качества элементной базы, и теперь в брак уходит 90%, а оставшийся процент кристаллов по цене получается на вес обогащенного урана.
В.М.> Хех, хреново - не то слово. Жестокий практический опыт работы с 32-х разрядным процессором, собранным на рассыпухе на двух платах еще не забыт.
Небось висел постоянно?
Расскажите.
В.М.> Да нет, и инженерного тоже. Вышепомянутую машинку умудрились в количестве 200 штук за год собрать.
Собрать 200 в год ручками - это просто дофига, молодцы. Со стабильным качеством? А ля не более 3х зависаний в час при +20.
В.М.> Так они сделан на 10 лет позже - в это время уже совсем другие машинки появлялись.
Я не про то. PDP-11 был намного навороченнее i8080 внутри, пускай и шкафчик. Речь про сложность логической схемы, а не эффективность и качество исполнения элементной базы. Если даже его упрощенный вариант К1801вм1 имеет в 8 раз больше транзисторов, чем 8080. Это был ЗЫ, теперь он оффтоп, относился к другой теме.
В.М.> Это уже когда готовы цифровые элементы. А вот их смих - приходилось и приходится "париться":
Сейчас это не проблема. Поэтому
В.М.> ...На смену проектированию на уровне логических элементов, принципы которого мы осваивали в университетах, ...
об этом в первую очередь и шла речь. Такое первокуры ИМХО потянут на ура, не то что Роман.
>...пришло проектирование на уровне транзисторов, обеспечивающее максимальную эффективность их применения при минимальных размерах интегральных схем. Повторяющиеся функции присваивались отдельным ячейкам, но оптимизация ячеек все же проходила на уровне транзисторов.
Ну и зря, ИМХО. Если я верно понял, о чем они говорят, то оптимизацию можно было вернуть на уровень ячеек, просто пришлось бы рассматривать помимо каждой ячейки её ближайшее окружение (пусть даже и из таких же ячеек), и её конкретное расстояние (в количестве ячеек) от источников энергии. И даже какой-то формализм ИМХО натянуть можно с помощью матрицы смежности графа текущего процессорного блока.
Ну, для оптимизации по скорости - максимизации синхронности работы всех элементов этого блока.
Вряд ли целесообразно вылизывать весь процессор сразу целиком потранзисторно, в конце концов, он должен состоять из "приборов" - кусков, независимых друг от друга в питании. Я не сомневаюсь, что на самом деле они так и делают, и тогда делали. Не могли вылизывали они всю схему всего проца потранзисторно, это в дурку загреметь можно.
 [показать]
Очевидные(даже ламеру) источники неприятностей:
1. Неидентичность работы формально одинаковых элементов в одинаковых условиях. В случае кристалла никак не лечится непосредственно. Либо находится в приемлемых рамках, либо кристалл выкидывают как неустойчивую схему.
2. Дополнительные сопротивления, емкости и индуктивности, вызванные конкретным взаимным расположением элементов на кристалле. ИМХО основной трабл и предмет оптимизации, но на практике сложность обсчета чисто количественная. Вряд ли кто-то оптимизирует проц целиком потранзисторно. Скорее всего вылизывают схему "И-НЕ", потом исследуют её поведение в зависимости от расположения в более крупном устройстве типа триггера и вылизывают триггер. Потом вылизывают регистр из триггеров. И т.д. И лишь уже расположение самых крупных или уникальных блоков вылизывают, учитывая, например, возможный градиент температуры.
Уверен, что проводится именно такая последовательная локально-иерархичная оптимизация, и, скажем, триггер внутри АЛУ физически построен точно также, как триггер внутри блока интерфейса. Т.е. если даже и возможен более оптимальный и быстрый вариант, при котором один триггер данного регистра сидит в одном конце кристалла, а все остальные сидят в другом, этот вариант не выбирается никогда, и в перебираемом списке при оптимизации не участвует. И уж тем более, если речь идет об раскидывании отдельных транзисторов какого-нить сумматора.
В противном случае получится мартышкин труд, и если им занимаются, значит, сам подход в чем-то ущербный, выродился хз во что.
Одинаково скомпонованные из почти одинаковых элементов устройства имеют сходные траблы из следующего пункта, их лечат единообразно.
3. Потери от потребления элементов - падение амплитуд напряжения импульсов + сглаживание их фронтов - нелинейные искажения. Ну, тут схемы обвязки-поддержки: усиление, и восстановление формы и длительности импульсов - поддержание того самого диапазона входных сигналов, в котором аналоговые девайсы успешно притворяются цифровой схемой, врут складно хором.
Эталон неподалеку есть - кварцевый генератор.
Написаны банальности, может, есть еще нетривиальные источники траблов. Но как с выписанным бороться ИМХО заранее ясно. Или заранее ясно, куда надо копать.
В.М.> ... Нас вводили в помещение под названием "зона общих терминалов", в котором стояло несколько простеньких терминалов ввода-вывода, подключенных к центральной ЭВМ типа PDP-10.
Вот гады. Убили DEC при помощи его же изделий.
Низабудунипращу.
>Мы умели составлять описание интегральной схемы, количество транзисторов в которой колебалось от пяти до нескольких десятков, отдавать системе моделирование схем команды на обсчет тих или иных входных сигналов и на отслеживание сигналов выходных. Результаты моделирования выводились на принтер в виде "линейной графики" с определением временных характеристик и параметров напряжения по каждому знакоместу в целом.
Ну вот, о чем я и. Осциллограф конечно же нужен, да.
>Разрешение оси ординат ограничивалось 70-ю или 120-ю точками (знаками) в зависимости от ширины каретки принтера.
Какой еще принтер?! Миллиметровку на экран осциллографа, карандаш в зубы - и с песней вперед, ВАХ перерисовывать, чтобы конкретные числа получить!
>Система моделирования была необходима для обсчета таких интегральных схем, как усилители считывания данных ОЗУ, входные буферы, внутренние каналы предварительной зарядки и разгрузки.
И это понятно. Обвязка более ответственна - эталон типа. Значит, её цепочки минимальной длины и вообще наиболее продуманны, ибо состоят из таких же элементов, что и "целевые", а каждый элемент немного глюк еси. М.быть в обвязке применяется и мажорирование.
В.М.> Конечно же, у нас не было и никаких компьютерных средств для удаления паразитных емкостей из топологии кристалла,
Ничего, если размеры и погонные параметры известны, можно и ручками посчитать типовые схемки. Можно изготовить единичные образцы и померить, в особенности если с созданием упрощенной физической модели не выходит.
>...поэтому точность обсчета тактовых частот в огромной степени зависела от способности инженера-проектировщика интуитивно рассчитывать расстояния и маршрутизацию связей между элементами интегральной схемы.
Угу, интуитивно. Прорешал небось к тому времени туеву хучу задачек про длинные и полосовые линии, напаялся и наизмерялся, вот и ленился формализовать ту часть, что касается конкретных веществ и конкретных элементов с конкретными погонными параметрами.
Экое радиоэлектронное кунфу, уже наверное 3й
дан курс, да.
Только сдается мне, нынешние дипломники соответствующих ВУЗов ниже 32разрядников не проектируют.
>Для микросхемы 8085 Питер Штолль разработал таблицу расчетных задержек при загрузке в обедненном режиме транзисторов всех использовавшихся нами размеров при различных нагрузках на схему.
Это все очевидно, и ИМХО с этим Роман справиться сможет. Т.е. нет ничего непостижимого и немерено сложного. Муторной рутинной работы - вагон. А вот Задач ИМХО оч.немного. Я вот только про расчет устойчивости при заданном разбросе параметров транзисторов, и ее зависимость с ростом сложности вкусную задачку и вижу.
>По этому "бумажному компьютеру" мы и обсчитывали подавляющее большинство тактовых маршрутов вместо того, чтобы пользоваться системой моделирования. Причем ошибки эти таблицы давали весьма и весьма незначительные при условии, что приблизительные расчеты паразитных емкостей в кристалле были сделаны более-менее верно.
Обратите внимание, интеловцы сами же и говорят про главную засаду - разброс параметров в серии формально однотипных элементов. То бишь, если реальные х-ки соответствуют номиналу с хорошей точностью - всё пучком. Если Роман купит на Митино ведро транзисторов (а скорее микросхем с уже готовой логикой) с разбросом параметров в 1% вокруг номинала, задача ИМХО будет решена в приемлемый срок. А если в 30%, то вряд ли. Интеловцы просто выкинут такой кристалл по результатам тестирования и повысят цену на оставшиеся. Ибо таблица Питера Шноля на таком "добре" начнет не просто врать, но еще и грубить и громко ругаться матом.