Мы выбрали метиловый спирт в качестве целевого вещества потому, что он мог использоваться, помимо топлива, для синтеза многих других веществ - формальдегида, уксусной кислоты, других спиртов, каучуков, а при реакции с бензолом он дает толуол - в общем, чрезвычайно полезное вещество. Проблема в том, что при атмосферном давлении из синтез-газа получается не более двух процентов метилового спирта. К счастью, в 1921 году во Франции, а в 1923 - в Германии были разработаны более продуктивные методы получения метилового спирта из синтез-газа, но они требовали высоких давлений и температур - при 680 атмосферах и 300 градусах выход спирта составляет почти 100% - давление и температура сдвигали реакции в нужную сторону. Но высокие давления и температуры нас уже не пугали - мы занимались этим направлением в рамках гидрогенизации твердого топлива, так что какие-то навыки у нас были. К тому же если применять катализаторы, то их значения можно снизить. Тем более что были примеры и в нашей стране - первое производство метилового спирта в СССР по этой технологии было запущено в 1934, так что публикаций с технической литературе хватало. Не боги горшки обжигают.
К началу войны использовались процессы именно с применением катализаторов - катализаторы на оксидах цинка и хрома снижают потребные давления в два-три раза - до 250-350 атмосфер, хотя температуры процессов становятся выше - 350-400 градусов. Но сам процесс образования метанола - экзотермический, соответственно тепло надо отводить. Мы и так синтез-газ, полученный обработкой раскаленного кокса паром, охлаждали, сжимали, снова охлаждали - и сравнительно холодным подавали в реакционную камеру - стальную трубу, заполненную таблетками катализатора. Первая как-то работающая установка выдавала пять килограммов метанола в час, но уже вторая, заработавшая в августе 1942го - 100 килограммов, к тому же мы смогли утилизировать часть тепла - с его помощью получали пар, подогревали кокс в одной из двух камер, хотя много еще терялось с охлаждающей водой - к сентябрю народ даже сделал себе на дармовом тепле душевую, кайфовал.
Еще больше снизить давление удалось добавлением в катализаторы меди - оказывается, в мире не применяли медь из-за отравления серой - сера, присутствующая в сырье, соединялась с медью, образуя сульфиды. Но у них сырье было грязным - уголь, нефть, тогда как у нас использовался торф и древесный уголь - в них серы было гораздо меньше. Так что мы начали применять цинк-хром-медные катализаторы, и давление процесса снизилось до 40-100 атмосфер, а температура - до 230-260 градусов - при таких параметрах мы могли строить уже более объемные установки, поэтому к концу 1942 года мы производили уже пять тонн метилового спирта в час, сто тонн в сутки - это двести вылетов истребителей или штурмовиков с полной заправкой или четыреста - с половинной. Неплохой приварок. К лету 1943го выходило уже двадцать пять тонн в час, пятьсот тонн в сутки, к осени - семьсот - метиловый спирт становился основным авиационным топливом для полетов на высотах до двух километров, где в теплое время ниже риск образования ледяных пробок из-за набранной спиртом воды. Правда, была опасность паровых пробок, поэтому мы начинали добавлять более высокие спирты - этиловый, пропиловый, бутиловый.
Причем эти спирты можно было изготавливать одновременно с производством метилового спирта, просто добавив в катализатор немного щелочных или щелочноземельных металлов, точнее - их оксидов. С катализаторами мы, правда, намучались - слишком много там тонкостей. Их назначение - предоставить активные центры, на которых будет происходить нужная реакция. В принципе, получение метанола из синтез-газа возможно и на голом цинке, без хрома, и на других металлах - но именно сочетание цинка и хрома дает наибольший выход продукта - хром выступает в качестве активатора для цинка, то есть вещества, усиливающего активность катализатора. До конца мы еще в этой схеме не разобрались, но пока все выглядело следующим образом. Водород и оксид углерода адсорбируются на поверхности кристаллов цинка, то есть сближаются друг к другу и получают возможность поскорее вступить в реакцию. То есть и без катализатора реакции бы состоялись, что мы и наблюдали, но с катализатором они проходили чаще, интенсивнее - выход продукта за единицу времени существенно повышался. И хром препятствовал росту кристаллов цинка, то есть делал их более мелкими, увеличивал поверхность, на которой могли собраться реагенты - в этом, скорее всего, и заключалась роль хрома.
Активность катализаторов зависела и от способа их приготовления. Например, по "сухому" методу окись цинка и хромовый ангидрид измельчались, смачивались и формовались в таблетки диаметром пять-десять миллиметров. При "мокром" методе к суспензии оксида цинка добавляют раствор хромового ангидрида и потом сушат, то есть получается более однородная смесь, к тому же последующее высушивание оставляет множество пор и поверхность катализатора увеличивается - так, если для сухих внутренняя поверхность одного грамма катализатора была порядка ста квадратных метров (да, "огородная" сотка), то в мокрых - почти двести. В результате активность "мокрых" катализаторов становится на 10-15% выше, чем "сухих". Мы начинали сразу с мокрых - не хотелось измельчать еще и ангидрид. А с начала 1943го перешли уже на следующий способ изготовления - осаждением из азотнокислых солей цинка и хрома и последующим прокаливанием в атмосфере водорода. Преимуществом этого метода было то, что резко снижались потребные количества катализатора - его пленка крепилась на подложке, которая и обеспечивала механическую прочность. А за счет более мелких кристаллов активность была довольно высокой - примерно посередине между сухими и мокрыми. К такому способу пришли по аналогии с одним из способов изготовления активных пленок для ИК-техники, поэтому решили попробовать этот метод и в производстве катализаторов.
Пленочные катализаторы были лучше таблетированных прежде всего тем, что подложку можно было сделать полой и пропускать через нее охлаждающую жидкость - для нас первый год бичом была невозможность точного и быстрого контроля температуры в реакционной камере, катализаторы перегревались и получались локальные спекания кристаллов - активность резко падала. Так что подложки избавили нас хотя бы от этой напасти, хотя забивание внутренних полостей и поверхности водой и углеродом - одними из продуктов реакций - все так же продолжалось - тут уж приходилось регенерировать катализаторы - либо вытаскивать из камеры и прокаливать в водороде, либо продувать горячим водородом саму камеру. Исследовали и метод повышенной подачи водорода через определенные промежутки времени в ходе самого синтеза - предполагалось, что это не позволит вредным продуктам накапливаться в порах. А то если не делать регенерацию, поверхность грамма могла снизиться и в десять раз - до 10-15 квадратных метров. И это при том, что производительность катализаторов и так была не слишком высокой - если говорить о таблетированных катализаторах, то не больше двух литров метанола на литр катализатора в час.
То есть катализаторов требовалось много, точнее - дофига. Мы в том числе поэтому-то и перешли на цинк-хром-медные катализаторы, что для них требовалось гораздо меньше хрома, а то в цинк-хромовых самого хрома было как минимум 20%, и чтобы получать те самые тридцать пять тонн метилового спирта в час, чего мы достигли к осени сорок третьего, нам бы потребовалось как минимум двадцать пять тонн катализаторов, в которых должно было быть пять тонн хрома. А так потребность снижалась минимум в три раза, к тому же уже половина аппаратов у нас работала не на насыпных катализаторах, когда тысячи таблеток засыпаются в емкость и через эту кучу потом прогоняется синтез-газ, а на планарных - площадь катализатора мы сохранили ту же самую, а его массу уменьшили в пять раз. Правда, тут потребовалось организовывать вихревые потоки, чтобы повысить вероятность столкновения молекул синтез-газа с поверхностью катализатора, тогда как в насыпных аппаратах это происходило естественным путем - продираясь в промежутки между таблетками, газ постоянно сталкивался с их поверхностью, менял направление, завихрялся. Так что с планарными катализаторами были свои сложности, но хрома требовалось раз в двадцать меньше.
Мне, кстати, потом между делом рассказали, почему не использовали синтез бензина по методу Фишера-Тропша - для синтеза при низком давлении требуются кобальто-магниевые катализаторы, а кобальта у нас в сорок втором практически не было - привезли с большой земли на самолете несколько десятков килограммов, но мы их использовали для напыления на поверхности - прежде всего в ДВС. А с железными катализаторами потребные давления уже приближаются к давлениям гидрогенизации, так что выгода в плане производства аппаратуры теряется. Да и регулировать температуру сложнее. Впрочем, были и другие причины. Все дело в этой дурацкой молекуле кислорода, что присутствует в угарном газе. Ведь в бензине ее нет, следовательно, ее надо куда-то девать - вот она и уходит либо в воду, либо в спирты - то есть у бензина крадется водород, который вообще-то не так-то просто добыть - надо пыхать паром на раскаленный уголь, а это - затраты топлива. Так что немцы и сами не очень-то использовали этот метод - так, позднее мы узнали, что из шести миллионов тонн синтетического бензина в 1942 они произвели этим методом всего шестьсот тысяч тонн (в РИ - данные по 1943 году), то есть десять процентов, а остальные девяносто процентов пришлись на другие методы - в частности - ту же гидрогенизацию - в этом методе также есть этап получения синтез-газа, но потом эта смесь проходит через колонны с поглотителями угарного газа - собственно, через оксиды щелочных металлов - и дальше к сырью идет практически чистый водород.
Но и по метанольным катализаторам работы у нас продолжались - мы испытывали разные вещества. Для этого были созданы автоматизированные устройства по работе с высокими давлениями и температурами - стальные цилиндры, вентили, насосы - почти то же самое, что и в промышленных установках, но гораздо меньше размерами. С помощью этих устройств и ставились десятки опытов - не только по метанолу, но и по крегингу, риформингу - мы нарабатывали статистику взаимодействия катализаторов с сырьем при разных значениях давлений, температур, скорости потока. Кстати, именно в этих исследованиях и стала наконец вырисовываться компьютеризированная система управления экспериментом. Ранее я уже рассказывал, что наши лабораторные устройства имели простецкий командоаппарат с управлением от перфоленты, который позволял ввести "многостаночную" работу, когда один оператор мог обслуживать несколько устройств, на каждом из которых проводились однотипные эксперименты со своими параметрами. Отслеживание хода эксперимента - открытие заслонок, запуск и остановка двигателей, отслеживание температуры - все это управлялось автоматикой, построенной на схеме из операционных усилителей и дискретной схемы, которая управляла всем этим оркестром. Так вот экспериментаторы, набравшись опыта, стали приходить к мысли, что и каждым из этих оркестров тоже можно управлять. Народ понемногу дозревал. Более того - раз дискретные схемы управления однотипны, а различаются только схемы включения датчиков и операционных усилителей, то в принципе дискретную схему можно бы вынести и вовне - и она будет считывать с перфолент нужные команды и параметры температур, давлений и что там еще - для каждого аппарата своя перфолента - и управлять несколькими устройствами. Надо "всего-лишь" добавить схему выбора того устройства, с которого в данный момент принимаются сигналы датчиков и которому передаются параметры очередного шага.
Тут-то я и подсунул им идею управляющей ЭВМ, и даже выделил одну машину для экспериментов - она была из первых восьмибитных экземпляров и уже была старовата для выполнения расчетов (а ведь ей весной сорок третьего было всего полгода !), но для экспериментов ее пятьсот операций пересылки, сложения-вычитания и условных переходов в секунду должно было хватить - все-таки процессы сравнительно медленные, мы оценивали потребности в управляющих сигналах как десять проверок датчиков и десять пересылок данных в минуту на один аппарат. И это максимум.
- Зато - представляете ! - в управляющую последовательность можно будет легко вводить условные переходы, циклы по счетчику, даже выделять отдельные блоки !!! - это мне, программисту с чуть ли не тридцатилетним стажем, взахлеб рассказывали молодые лаборанты.
- Ну да - подпрогаммы.
- Ну да - подпрогаммы ... А точно ! Отличное название !!! А ведь на них можно генерировать и графики изменения сигналов, и тогда операционные усилители вообще не понадобятся ! Только машину бы надо помощнее ...
- Посмотрим. Вы сначала эту освойте. - слова лаборантов были для меня истинным елеем, но и размякать я не собирался, а то расслабишься, надаешь вырванных обещаний - потом ведь придется выполнять. Ставить более мощные машины, конечно, все-равно будем, но уже под соусом заботы руководства. Политика.
Да, "устаревшая" восьмибитная машина уже довольно сильно отстала от последующих поколений - они у нас появлялись каждый квартал - как по расписанию. Причем мы пока законсервировали систему команд центрального процессора - RISC на тридцать команд - а и хватит - сложение-вычитание, умножение-деление, битовые и-или-исключающее или-не, сдвиги вправо-влево, загрузка-выгрузка пользовательских регистров (РОН) - их было 16 штук, и системных - этих было также 16 - для симметрии, но пока использовалось только три - счетчик команд, указатель стека и регистр признаков - там пока использовался только младший бит - он и больше-меньше, он и переполнение - потом будем все разносить, ну в последних версиях появился регистр маски прерываний. И еще команды управления - безусловные и условные переходы - прямые или через регистр. Вызов подпрограмм и возврат был реализован программно, несколькими командами - сохранить нужные пользовательские регистры (нужность решалась по разному - программистом в вызывающей программе либо в вызываемой подпрограмме), счетчик команд, и выполнить безусловный переход - по прямому адресу, если процедура находилась в самой программе, или через регистр, если в общей библиотеке, а возврат - восстановить регистры и счетчик команд - все сохранения - с изменением указателя стека - такого же системного регистра - отдельными командами - то есть программисту надо было очень внимательно считать - на сколько его изменять - отдельных команд сохранения в стек и вытаскивания из него, как например в х86 с его push/pop, не было. Но это позволяло не дергать лишний раз сумматор - нарастить регистр один раз на все сохранения - и все. Подобными способами мы экономили транзисторы на схему управления.
Правда, эти команды - общего уровня, а так - у некоторых были и разновидности. Возможно, в ближайшие лет двадцать больше и не будет. Хотя - нет, в ближайшие несколько лет будет расширение системы команд - тут и нормальный вызов подпрограмм, чтобы сохранение счетчика и переход выполнялись за одну команду, и групповое сохранение-восстановление регистров - это будет и в качестве отдельной команды. Да и сами регистры предполагалось пометить тегами с типом содержимого - чтобы не таскать эти данные в командах - сложение так и останется со своим опкодом, а типы будут его дополнять - причем в тегах будут либо типы, либо ссылки на типы - например, для индексного доступа или наращивания индекса на размер элементов типа, на который он ссылается, а может и совместим использование с наращиванием в одной команде - еще будем думать. Тут уже потребуется дополнять операции загрузки - добавлять в них типы загружаемых значений - откуда-то ведь они должны появляться. Но места в байте, выделенном под опкод, было более чем достаточно - при общей длине команды 16-24 бита - я решил не жаться, под предполагаемое увеличение производства чипов памяти.
Ну и прочего хватало - мы пока определились с вычислительным ядром и переключились на эксперименты с обвязкой - как вычислительного ядра, так и самого процессора - переключение процессов, виртуальная память, конвейеризация (пока без внеочередного исполнения команд - постараемся переложить это на компилятор "псевдо-VLIW"), регистр признаков, кэш, прямой доступ к памяти, система прерываний, часы реального времени, терминалы, сетевые дела, принтеры и сканеры - всего над исследованиями работало порядка тридцати команд численностью пять-десять-пятнадцать человек, ну а я, как самый продвинутый в вычислительной технике в это время, был консультантом и координатором.
Пока же основные усилия были направлены на вспомогательные вычислители - шесть конвейерных вычислителей для чисел с фиксированной точкой уже активно участвовали в экспериментах, прежде всего по цифровой обработке сигналов для гидроакустики и радиолокации, а один вместе с шестью программистами даже плавал в Балтике на одной из подводных лодок, что мы захватили в Кенигсберге - отлаживались. Причем, несмотря на приказ не рисковать и вообще быть тише травы ниже воды, они утопили-таки какой-то крупный транспорт, шедший в Ригу, и потом полдня отбивались от насевших на них миноносцев и прочей мелочи - пару посудин потопили вертикальными торпедами, а потом смогли выставить антенну, вызвать авиацию и уже она отогнала остальных. Но уже появился первый конвейерный числогрыз для операций с плавающей точкой - шкафчик объемом с кубометр. Аппетиты насчет вычислительных мощностей росли с каждым днем, так что это направление у нас сейчас было важнейшим.
Причем набор дискретных микросхем был пока старым - с малой степенью интеграции, как и в другой вычислительной технике, но быстродействие за полгода выросло почти на порядок. И дальнейший рост пока не предвиделся - мы уперлись в технологические проблемы. Да, в экспериментальных образцах делались элементы с нормами порядка десяти микрометров - а это уже начало семидесятых. Но выход годных был очень мал - процент, не более. Все из-за дефектов полупроводниковых пластин и отсутствия чистых комнат. Первую проблемы мы решали проведением десятков экспериментов по выращиванию кристаллов, а по второй пытались сделать что-то типа закрытого конвейера - там основная сложность была в установке и перемещении пластин - насколько я понимал, большие чистые комнаты и были нужны из-за того, что эти действия выполнял человек. И если его изъять из процесса, то необходимый чистый объем существенно уменьшится. Заодно нарабатывали факты для построения теории полупроводников. До этого-то действовали чуть ли не методом тыка - нанести пасту с легирующим веществом, подержать в печи десять минут и измерить электрические параметры. Нанести пасту на другой образец и подержать двадцать минут. Измерить. Увеличить содержание примеси в пасте, нанести на третий образец, подержать в печи, измерить - и так сотни раз.
А еще то же самое, но с ионными пучками - тут шли двумя путями - и легирование широким пучком через маску, и попытки рисовать узким пучком уже сами элементы. Первый способ давал обнадеживающие результаты - возможность управления разгоном ионов позволяла регулировать глубину их проникновения - а это важно даже не столько для полевых транзисторов (хотя и для них тоже - если делать скрытые каналы с высоким легированием), сколько для биполярных - высокоскоростным пуском загнать вглубь эмиттер, менее скоростным - базу, и еще менее скоростным - сформировать коллектор у самой поверхности, ну и к базе и эмиттеру пробить легированные проходы, к которым паять электроды - технологических операций много, но с биполярными по другому наверное и не получится. А вот второй способ пока не радовал - сложности с фокусировкой пучков давали слишком размытое пятно - ведь пучок состоит из положительно заряженных частиц, а они все норовят оттолкнуться друг от друга - трудно удержать их в одной упряжке. Да и долго это - вырисовывать каждый элемент каждого транзистора.
Тут, кстати, больше надежд было на рисование электронным лучом на фоторезисте и дальнейшим смывом и легированием обычным способом - с электронными пучками были те же сложности с фокусировкой, но меньший размер и заряд частиц все-таки обеспечивал узкое пятно - порядка ста нанометров - а это в тысячу раз меньше, чем наши текущие технологические нормы. Мне смутно вспоминалось, что DECовская Alpha на чуть более "толстом" техпроцессе выдавала более полутора гигагерц рабочей частоты, а интеловские Пентиумы с не к ночи будь помянутой NetBurst - и до двух с половиной гигагерц, пусть еще и с другими технологическими хитростями. Ну а нам для конвейерных числогрызов такое и надо - конвейер все-равно сбрасывать не придется, так как не будет неудачных предсказаний, а все ветвление будет выполняться с помощью отдельного вектора с битовыми масками - "выполнять или не выполнять операцию".
Проблемой были эти чертовы дефекты на пластинах. Наши исследователи, правда, пошли на хитрость - протравили пластину, чтобы выявить дефекты, дополнительно не один раз просветили ее рентгеном, и на хороших участках нарисовали по частям умножитель 52х52 вместе со всеми сдвигателями, сумматорами и регистрами - как раз для чисел с плавающей точкой двойной точности. Куски умножителя связывали между собой на той же пластине длинными дорожками, причем пластину прогоняли через цикл три раза - даже на хороших участках не все сразу получалось. Хорошо хоть легировали "холодным" способом - широкими ионными пучками по нужным участкам, а не нагревом, поэтому проводники, сделанные на предыдущих проходах, оставались в целости - только сточить электронным лучом лишнее - и можно заполнять новые куски схемы и соединять их с уже существующими. Франкенштейн.
Сейчас именно эта микросхема работала в нашем конвейерном числогрызе, правда, на частоте всего пятьдесят мегагерц - тут и длинные внутренние соединения, и входные-выходные емкости, да и умножение выполнялось кусками 8х8. Но умножение стало самой быстрой операцией этого устройства. Правда, сам способ был неповторяем - сейчас таким образом "рисовали" уже третью схему, и она все также была "ручной работой". И пытались как-то автоматизировать процесс для последовательно-параллельных схем - я предполагал, что все связи с периферией у нас будут по типу USB (RS-232 - в топку, пусть он тоже последовательный, но с кучей лишних проводов), а там быстрое преобразование из последовательного представления в параллельное и обратно очень даже не помешает. Правда, сами соединения были по типу точка-точка, безо всяких хабов и прочих наворотов, как минимум на первое время - в протоколе зарезервировали поля под адрес устройства и номер протокола, да в схемы заложили возможность ответа как минимум на протокол. Зато - соединение делали сразу же с горячим подключением - удлиненные выводы земли и питания в разъемах и входы-выходы с тремя состояниями - пока на отдельных микросхемах, чтобы не пихать в одну микросхему транзисторы с каналами разной проводимости - это ведь почти что двойное количество техпроцессов - сначала пролегируй каналы n-типа, затем - p-типа, затем - то же со стоком и истоком - каждая лишняя операция - это снижение выхода годных микросхем, а у нас и так с этим напряженка. Ничего, нам миниатюрность пока не существенна.
Впрочем, я подозревал, что эти микросхемы пойдут вовсе не на медленную периферию типа принтеров - те обойдутся и обычными, пусть и более медленными, схемами. А вот "быстрые" пойдут на сетевые карты - тут я рассчитывал, что дифференциальная передача сигналов и витая пара помогут решить проблему последней мили (да и не последней, если снизить скорость и ставить промежуточные усилители) - безо всяких там коаксиалов, модемов и прочей лабуды (эх, не видать мне ностальгии по свистящему модему). В общем, Наполеон "отдыхает".