Зерна отольются в пули - Павел Дмитриев
Шрифт:
Интервал:
Закладка:
Надо заметить, что в конце 60-х подобную схему можно было без всяких сомнений признать безнадежно устаревшей. Я был поражен, когда не в теории, а собственными глазами и руками попробовал, что значит указывать два адреса для памяти на 64 килобайта – это же два числа, каждое из которых по 16 бит! Если добавить минимальные 8 бит на саму инструкцию, получается цепочка в 40 бит. И всю эту груду ноликов и единичек надо как-то хранить в оперативной памяти и пересылать по жалкой 8-разрядной шине.
Выход нашли давно, лучшие «собаководы» из DEC для своей PDP-8 использовали «особую» ячейку-аккумулятор, в которой хранился один из аргументов, туда же, после выполнения инструкции, записывался результат. Специально адресовать аккумулятор не требовалось, и большая часть команд заметно укоротилась. Несмотря на возросшую сложность программирования, архитектура была очень популярна даже в СССР, по ней была сделана новая и прогрессивная серия «Уралов». Примени этот метод ребята Староса, на операцию сложения потребовалось бы не 40 бит, а всего 24. Но на первой «Денди» «схитрили» еще проще, пользуясь тем, что код «Тетриса» занимал заведомо менее восьми килобайт, разработчики ограничились только 8-ю битами на адрес, и для сложения двух чисел вполне хватало 32-х бит.388
Дальше больше, операции с относительно медленной памятью на ферритовых сердечниках успели изрядно надоесть конструкторам, и они пустились «во все тяжкие» в деле изобретения «быстрых» архитектур, из которых можно было выделить два основных направления – стековое389 и регистровое.
Сторонники первого решили напрочь все упростить, и выкинули адреса из команд вообще. Соответственно, арифметико-логическое устройство оперировало исключительно двумя «верхними» ячейками, а сам стек был устроен примерно как магазин АК-47, в котором числа «заряжены» вместо патронов. В теории, сторонникам данной архитектуры никто не мешал добавить операции прямого доступа в основное ОЗУ, но красота идеологии потребовала крови практиков, которым оставили всего две операции – «загрузить в стек», и «выгрузить из стека». Причем нельзя сказать, что это все было какой-то абстрактной идеей, реализации «в натуре» не только существовали, но они еще и производили очень приличное впечатление. К примеру, стековые мейнфреймы Burroughs390 B5500 и, тем более, B6500 вполне успешно конкурировали с IBM и вымирать как-то не собирались.
Регистровые варианты на этом фоне смотрелись откровенно консервативным развитием идеи аккумуляторов. Где была одна «особая» ячейка – стало две, три, восемь или шестнадцать, все с «особым» коротким адресом. Однако и тут назревали нешуточные «развилки истории». Кто-то ратовал за упрощение а-ля стек, при котором АЛУ будет иметь дело только с регистрами, другие отстаивали необходимость «длинных» команд для прямого обращения к памяти… На первый взгляд такая мелочь! Вот только для программиста, имеющего дело с кодами, получаются совершенно разные ЭВМ. Соответственно и перспективы могли выйти очень… Разными.
Тут-то бы и сказаться преимуществам послезнания во всей красе! Увы, ничего дельного я не мог подсказать даже по самым общим вопросам. Разве что споры о полных и ограниченных наборах команд навевали ассоциации391 про будущие холивары между RISC и CISC, но полной уверенности все же не было. Да и чем это могло помочь? Разумеется, я прекрасно помнил, что Intel использовал CISС до процессора i486DX, и только потом перешел на RISC-ядро. Вот только кто ответит, насколько оптимален был их путь?!
В поисках знаний я проштудировал кучу книг из будущего. Увы, скоро в голове было «не протолкнуться» от шин, кешей, акселераторов, обработчики графики, северных и южных мостов, AGP и PCI, и прочих хитрых аббревиатур… То, что было связано с программированием, вообще «вынесло мозг» разнообразием подходов и вариантов. Когда-то в будущем, я считал себя специалистом, весьма и весьма неплохо разбирающимся в особенностях компьютеров, да что там, я мог буквально часами рассуждать, к примеру, о преимуществах DDR3 SDRAM! Оказывается, это были пустые камлания вокруг маркетингового буллшита! Подражающий реальному диспетчеру дикарь в сплетенных из ротанга «наушниках» и куском палки в качестве микрофона мог «призвать» самолет с новой порцией стеклянных бус на ближайшую к стойбищу поляну с большей вероятностью, чем я связать свои навыки с проектированием реального устройства.
Хорошо одно – пока я пытался явить окружающим откровение из будущего, специалисты сами определились с решением. Едва «попробовав» первые образцы SRAM, и получив заверения в быстром росте количества бит на кристалле, сторонники «длинных» команд «с прямыми адресами» буквально «положили на лопатки» как своих «регистровых» оппонентов, так и желающих «попробовать стек».392 Причина была тривиальной – полупроводниковое ОЗУ работало фактически на скорости будущего процессора, и отказ поддерживать доступ к нему на уровне команд стал казаться бессмысленной глупостью.393
После решения архитектурных вопросов, пошло моделирование. На этой стадии я даже не пытался вмешиваться, но все же примерно к пятой версии «Денди» не выдержал, и как-то очень по-доброму настучал Шелепину. Сколько можно, есть прототип сложностью чуть менее пяти тысяч транзисторов, в нем 8-битное АЛУ с логикой, сдвигом, сложением-вычитанием, такая же шина данных, 16-битные адреса позволяют использовать 64 килобайта памяти, где-то сбоку функциональной схемы пристроены 16 регистров общего назначения… И прочие параметры, эдак на три машинописных листа, если использовать ГОСТовский двойной интервал… В общем, мне казалось, что результат должен быть не сильно хуже «Ямахи»394 из моего школьного детства.
Главное, система работает, ее надо в серию гнать, а не доводить до окончательного совершенства. Без того спецы «убили» последний квартал на какой-то хитрый двухфазный тактовый сигнал,395 который дает надежду получить частоту минимум в один мегагерц. Вроде прекрасный результат, но только дай им волю – будут следующие полгода переводить прототип на четыре фазы, а потом и про восемь вспомнят.
В результате Филипп Георгиевич не разговаривал со мной неделю, но все же разгул перфекционизма прекратил, и надо признать, сделал это очень вовремя. Позже стало понятно, что потеря темпа обошлась очень недешево, враг подобрался буквально вплотную. Совсем не тот, что изображается на развороте «Крокодила» в черных цветах и фашисткой каске с набранным болдом шильдиком «НАТО». Доморощенные конкуренты оказались куда опаснее.
Первое время нас буквально «спасала» относительно низкая тактовая частота, непонятность, и реальная сложность освоения новых технологий. Профессионалы-лебедевцы из ИТМиВТ походили было вокруг, но вполне справедливо решили, что даже сверхбольшие микросхемы не сильно помогут в деле создания будущей рекордной супер-ЭВМ БЭСМ-8. Поэтому оставили Староса в покое, сосредоточив свои немалые аппаратные возможности на добыче полупроводниковой памяти.
Однако стоило Лебедеву увидеть заминку и очевидное недовольство «ленинградской командой» со стороны Шокина… Как будто вожак-волк заметил жирного подранка в лосином стаде! Сразу кто-то особо умный догадался, что СССР не помешает БЭСМ-Light, в конце концов, упрощать не сложно, а уж с опытом, который за последние двадцать лет накопил Институт Точной механики, так и вообще задача не стоит выеденного яйца. Почувствовав усиление конкурента, в ответ обнажили административные клыки сторонники ЕС-ЭВМ, в конце концов, копировать IBM тоже можно по-разному, и специально разработанная элементная база в этом деле не помешает.
Наше восьмибитное детище никто не принимал всерьез. Походя его мешали в грязь и те, и другие – «вместо решения задачи по разработке необходимой народному хозяйству Единой Серии ЭВМ отдельные товарищи занимаются разбазаривание средств и ресурсов на эксперименты с очевидно устаревшими концепциями, кроме того, выбранный ими путь „поставить ЭВМ на рабочий стол каждого инженера“ в крайне утопической форме поощряет индивидуализм…» Хорошо хоть про игровые автоматы молчали, знали, что в Президиуме ЦК очень симпатизируют проекту, лично товарищ Микоян не прочь поиграть в «Тетрис». А за пятипроцентный ручеек валюты, текущий в МЭП с импорта «Денди», им глотку порвет не только Шокин, но даже его секретарша.
Зато в деле критики старосовского компьютера они себя чувствовали вполне уверенно. Даже не стеснялись ссылаться на зарубежный опыт, причем «оттуда» мои идеи действительно выглядели по меньшей мере бледно. Техническая возможность сделать восьмибитный процессор на одном чипе у империалистов давно была. Не у Intel, разумеется, про эту компанию еще ничего не слыхать,396 небось Мур и Нойс таскают мебель по офису в какой-то Калифорнийской дыре, и ждут, когда транспортники притащат списанный «большими ребятами» степпер. А вот к примеру Radio Corporation of America уже могут себе позволить что-то на пяток тысяч транзисторов. Что им стоит, цветные телевизоры сметают с полок магазинов, плюс к этому в Штатах вовсю рекламируют новейшие компактные модели на интегральных схемах. Штат инженеров в RCA такой, что во всем СССР не собрать, да и объем выполняемых заказов будет поболее бюджета МЭП, даже если считать по смешному курсу газеты «Известия». Но вот не делают они процессоры, даже не пытаются, если верить КГБшным данным.