Читать «Перелом. Часть 3» онлайн - страница 79

Сергей Владимирович Суханов

Правда, эти команды - общего уровня, а так - у некоторых были и разновидности. Возможно, в ближайшие лет двадцать больше и не будет. Хотя - нет, в ближайшие несколько лет будет расширение системы команд - тут и нормальный вызов подпрограмм, чтобы сохранение счетчика и переход выполнялись за одну команду, и групповое сохранение-восстановление регистров - это будет и в качестве отдельной команды. Да и сами регистры предполагалось пометить тегами с типом содержимого - чтобы не таскать эти данные в командах - сложение так и останется со своим опкодом, а типы будут его дополнять - причем в тегах будут либо типы, либо ссылки на типы - например, для индексного доступа или наращивания индекса на размер элементов типа, на который он ссылается, а может и совместим использование с наращиванием в одной команде - еще будем думать. Тут уже потребуется дополнять операции загрузки - добавлять в них типы загружаемых значений - откуда-то ведь они должны появляться. Но места в байте, выделенном под опкод, было более чем достаточно - при общей длине команды 16-24 бита - я решил не жаться, под предполагаемое увеличение производства чипов памяти.

Ну и прочего хватало - мы пока определились с вычислительным ядром и переключились на эксперименты с обвязкой - как вычислительного ядра, так и самого процессора - переключение процессов, виртуальная память, конвейеризация (пока без внеочередного исполнения команд - постараемся переложить это на компилятор "псевдо-VLIW"), регистр признаков, кэш, прямой доступ к памяти, система прерываний, часы реального времени, терминалы, сетевые дела, принтеры и сканеры - всего над исследованиями работало порядка тридцати команд численностью пять-десять-пятнадцать человек, ну а я, как самый продвинутый в вычислительной технике в это время, был консультантом и координатором.

Пока же основные усилия были направлены на вспомогательные вычислители - шесть конвейерных вычислителей для чисел с фиксированной точкой уже активно участвовали в экспериментах, прежде всего по цифровой обработке сигналов для гидроакустики и радиолокации, а один вместе с шестью программистами даже плавал в Балтике на одной из подводных лодок, что мы захватили в Кенигсберге - отлаживались. Причем, несмотря на приказ не рисковать и вообще быть тише травы ниже воды, они утопили-таки какой-то крупный транспорт, шедший в Ригу, и потом полдня отбивались от насевших на них миноносцев и прочей мелочи - пару посудин потопили вертикальными торпедами, а потом смогли выставить антенну, вызвать авиацию и уже она отогнала остальных. Но уже появился первый конвейерный числогрыз для операций с плавающей точкой - шкафчик объемом с кубометр. Аппетиты насчет вычислительных мощностей росли с каждым днем, так что это направление у нас сейчас было важнейшим.

Причем набор дискретных микросхем был пока старым - с малой степенью интеграции, как и в другой вычислительной технике, но быстродействие за полгода выросло почти на порядок. И дальнейший рост пока не предвиделся - мы уперлись в технологические проблемы. Да, в экспериментальных образцах делались элементы с нормами порядка десяти микрометров - а это уже начало семидесятых. Но выход годных был очень мал - процент, не более. Все из-за дефектов полупроводниковых пластин и отсутствия чистых комнат. Первую проблемы мы решали проведением десятков экспериментов по выращиванию кристаллов, а по второй пытались сделать что-то типа закрытого конвейера - там основная сложность была в установке и перемещении пластин - насколько я понимал, большие чистые комнаты и были нужны из-за того, что эти действия выполнял человек. И если его изъять из процесса, то необходимый чистый объем существенно уменьшится. Заодно нарабатывали факты для построения теории полупроводников. До этого-то действовали чуть ли не методом тыка - нанести пасту с легирующим веществом, подержать в печи десять минут и измерить электрические параметры. Нанести пасту на другой образец и подержать двадцать минут. Измерить. Увеличить содержание примеси в пасте, нанести на третий образец, подержать в печи, измерить - и так сотни раз.