Павел Дмитриев - От! От! От винта! (СИ)
А вот почему не пускать отбраковку с 512-ти битных на 256 или даже 128 бит? Странно, что до этого никто еще не додумался. Вроде как совсем не сложно заранее заложить некоторую избыточность обвязки на чипе, и распаивать «как надо». Кстати, почему не добавить лишний столбец в маску, и потом по результатам тестирования использовать только бездефектные? Я сам не заметил, что пробормотал эти слова вслух. Не имей сидящий справа начальник ангстремовского цеха литографии классного слуха, все бы прошло незамеченным, но…
— Что ты сказал? — он резко, всем тяжелым корпусом, развернулся ко мне, и добавил громче: — Что-то интересное про дополнительный столбец ячеек!
— Можно добавить в схему процентов десять изыточности, — я охотно повторил свою идею. — Наверно, так удастся парировать часть дефектов.
— Но ведь и размер кристалла вырастет, — осторожно заметил ангстремовец, разглядывая меня как диковинного зверька. Увы, но авторитет у меня в кругах профессионалов был вполне адекватен «тайному» прозвищу — «любимчик Шелепина».
— Разумеется, — я не стал спорить с профессионалом. — Но на первый взгляд, может получиться, ведь, в сущности чип с регулярной структурой в большинстве случаев получается неработоспособным частично! — последнее слово показалось мне ключевым, и я на всякий случай его повторил: — Это чип логики или функционирует, или нет, а память — почти всегда хоть как-то, но работает!
Сидевший напротив незнакомый товарищ, внимательно прислушивающийся к нашему диалогу, на слове «частично» резко достал, можно сказать вырвал, из внутреннего кармана пиджака продолговатый чехол из лаковой темно-малиновой кожи, ловко вытряхнул из него в подставленную ладонь логарифмическую линейку, и начал что-то быстро на ней считать, перебирая инструмент длинными пальцами несостоявшегося пианиста.
— Интересное предложение, — протянул он, не прерывая манипуляций с деревянным прототипом микрокалькулятора. — Точно без специальных исследований не скажу, но на вскидку, в оптимуме возможно увеличение выхода годных процентов на пять! А, нет! — он задергал щегольски окантованным в золотистый металл бегунком с еще большей скоростью. — Надо учесть количество чипов на пластине, получится меньший эффект. Но все равно…
— Можно еще пускать брак как микросхемы меньшей емкости, — добавил я вторую часть идеи. — Наверно, под это будет не сложно доработать обвязку.
Теперь на мне и дальнем от начальников конце стола сфокусировалось внимание чуть не половины собравшихся. Стихийно поднявшаяся волна поясняющего идею шепота покатилась в сторону министра, где-то ближе к директорам заводов и НИИ отразилась, как от зеркала, и вернулась обратно спорами и рассуждениями в полный голос. Несколько минут Шокин не мешал, с удивлением, а может и надеждой прислушиваясь к набиравшему силу бардаку. Но наконец он не выдержал:
— Тихо, товарищи. Кто-нибудь, доложите суть предложения!
Первым, как ни странно, сориентировался в ситуации товарищ Лукин. Поднимаясь со стула, он умудрился блеснуть загоревшей лысиной в луче заходящего за окном солнца, и… Легко перехватил контроль над ситуацией в свои руки, показав настоящий класс управленца 80-го левела с бафом «костер у задницы».
Дальше все было просто. Я получил награду в виде сомнительного комплимента «вот что значит, товарищи, незашоренное мышление». А опытное производство буквально через пару недель выдало «на гора» совершенно немыслимое количество годных чипов, что-то около тридцати процентов. Из них чуть менее четверти были первоклассными, иначе говоря, имели емкость в 512 бит, и попадали в ведение минобороны.
Остальные чипы, те, что раньше шли в брак, расхватывались едва ли не в драку «обычными» ведомствами. Более того, выяснилось, что никого тут не смущает память ЭВМ в целых 8 килобайт, набранная, к примеру, из целой тысячи 64-х битных микросхемок.[383] Мне это казалось дикостью, анахронизмом, но разработчики почитали за большую удачу поставить «нереально» быструю SRAM на свои изделия.
Первая планка на пути к персональному компьютеру была взята, но тогда, жарким летом 1968 года, я этого попросту не заметил.
4.15
А все таки она вертится!
С процессором все было… Если говорить мягко, то в конкурсе терминов победу наверняка бы одержало слово «неоднозначно». Поначалу задача казалась почти тривиальной, как говорил кто-то из классиков, «…проект был большим, но простым — его поддерживало правительство».[384] Старт прошел необычайно легко, игровые автоматы серии «Денди», по сути примитивные восьмибитные компьютеры, массовое производство приняло с распростертыми объятиями. Разумеется, не просто так, страшно представить, какой немыслимой силы пинок был для этого «отвешен» с высших эшелонов власти.
Удалось победить и «детские болезни», тут здорово помогло бета-тестирование в нашем НИИ, и… Возможность «по-коммунистически» использовать ресурсы, или, говоря проще, плевать на экономику. Любой капиталист при одном лишь упоминании «ручной подгонки» полез бы за таблетками, а от счета «за технологическую оснастку» слег с сердечным приступом, но страна, запустившая на орбиту первый спутник, оказалась неизмеримо выше таких мелочей. И меня это, как ни странно, радовало — уж лучше пусть высококвалифицированные сборщики получают деньги за «Денди», и не очередной Т-64, или что там сейчас генералы считают актуальным ответом на «зверский оскал НАТО».
Так что еще год назад казалось, вот только правильно отрисовать «проводки» «на кремнии», и можно занимать очередь в кассу — получать премию. Однако скоро выяснилось, что перенести на кристалл все «один в один» невозможно. Тут задержка лишняя, там кусочек схемы получился в неудобном виде, транзисторов многовато выходит, да и вообще… Все самые лучшие идеи пришли в голову инженерам в акурат на следующее утро после сдачи «в серию». Не смотря на мои слабые протесты, пошла раскрутка страшного маховика доработки и улучшения.[385]
Первая версия «Денди» была сделана впопыхах, без особых архитектурных затей, и по сути являлась безрегистровой двухадресной машиной[386] наподобие первых «Минсков».[387] То есть в роли регистров выступал весь объем ОЗУ, а любая машинная инструкция могла использовать не более двух ячеек памяти. Таким образом, результат операции сложения автоматически записывался на место одного из слагаемых. Это был шаг вперед по сравнению с трехадресными БЭСМ-4 или М-20, в которых нужно было явно указывать следующую, как бы третью ячейку, но за сокращение длины кода пришлось «платить» пересохранением данных для повторного использования.
Надо заметить, что в конце 60-х подобную схему можно было без всяких сомнений признать безнадежно устаревшей. Я был поражен, когда не в теории, а собственными глазами и руками попробовал, что значит указывать два адреса для памяти на 64 килобайта — это же два числа, каждое из которых по 16 бит! Если добавить минимальные 8 бит на саму инструкцию, получается цепочка в 40 бит. И всю эту груду ноликов и единичек надо как-то хранить в оперативной памяти и пересылать по жалкой 8-ми разрядной шине.
Выход нашли давно, лучшие «собаководы» из DEC для своей PDP-8 использовали «особую» ячейку-аккумулятор, в которой хранился один из аргументов, туда же, после выполнения инструкции, записывался результат. Специально адресовать аккумулятор не требовалось, и большая часть команд заметно укоротилась. Не смотря на возросшую сложность программирования, архитектура была очень популярна даже в СССР, по ней была сделана новая и прогрессивная серия «Уралов». Примени этот метод ребята Староса, на операцию сложения потребовалось бы не 40 бит, а всего 24. Но на первой «Денди» «схитрили» еще проще, пользуясь там, что код «Тетриса» занимал заведомо менее восьми килобайт, разработчики ограничились только 8-ю битами на адрес, и для сложения двух чисел вполне хватало 32 бит.[388]
Дальше больше, операции с относительно медленной памятью на ферритовых сердечниках успели изрядно надоесть конструкторам, и они пустились «во все тяжкие» в деле изобретения «быстрых» архитектур, из которых можно было выделить два основных направления — стековое[389] и регистровое.
Сторонники первого решили напрочь все упростить, и выкинули адреса из команд вообще. Соответственно, арифметико-логическое устройство оперировало исключительно двумя «верхними» ячейками, а сам стек был устроен примерно как магазин АК-47, в котором числа «заряжены» вместо патронов. В теории, сторонникам данной архитектуры никто не мешал добавить операции прямого доступа в основное ОЗУ, но красота идеологии потребовала крови практиков, которым оставили всего две операции — «загрузить в стек», и «выгрузить из стека». Причем нельзя сказать, что это все было какой-то абстрактной идеей, реализации «в натуре» не только существовали, но они еще и производили очень приличное впечатление. К примеру, стековые мейнфреймы Burroughs[390] B5500 и, тем более, B6500 вполне успешно конкурировали с IBM и вымирать как-то не собирались.