Выбрать главу

С трудом перевернувшись, Маас начал судорожно собирать энергию в ауру. Немного придя в себя он сказал себе: “Ну всё. Если не сейчас, то когда?” — и потянулся за заготовкой длинного телепорта.

Пятьдесят лет он хранил её в ауре на чёрный день. На такой случай, когда ситуация… такая как теперь.

Но заготовки не было. И заготовки Прыжка тоже. “Я в беспамятстве их пытался применить и профукал?”. Маас огляделся. Вокруг чёрная и выжженная земля. Место битвы преследователей с Ним. Но почему он не в плену? Непонятно. Кто его разбудил? Непонятно.

Маас поднялся и потихоньку поплёлся в гору. 

Магический вычислитель

Без компьютеров жизнь я себе уже не представляю. Поэтому, попав на эту планету, я сразу начал с того, что стал разрабатывать способ собрать магический компьютер.

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

Решив худо-бедно вопрос с инструментарием, я занялся вопросом создания частей компьютера. И начал я с …ячейки памяти.

Сперва я собрал на своих аналогах транзисторов элемент И-НЕ. Потом на нём собрал RS-триггер. Затем развил это плетение до JK-триггера. Получилось хранилище одного бита информации. Посчитал количество транзисторов в итоговой схеме и мне стало страшно. Семнадцать штук на один бит!

Понятное дело, что, если сохранять байты, слова, то часть транзисторов можно сэкономить. Если реализовывать аналог динамической памяти, то бит можно свести к одному-двум транзисторам и конденсатору. Но, всё равно, поскольку каждый транзистор мне приходится плести из магических нитей самостоятельно, то сборка даже килобита памяти — очень муторное занятие.

В общем стал я думать-гадать и придумывать что-то принципиально другое.

Ещё на Земле, когда я возился с магическим телевизором, у меня закрадывалась мысль сделать на базе плетения, преобразующего магическое излучение, ячейку памяти. Сейчас я вернулся к этой мысли. Дополнил плетение, реагирующее на магический поток, интегратором на операционном усилителе и получил этакую аналоговую ячейку памяти. На входе произвольный магический сигнал и другой вход “запомнить”. На выходе запомненное значение сигнала.

Получилось существенно более простое плетение, нежели триггер, но запоминает при этом не бит, а вещественное число (уровень).

Итого, ячейка памяти для вещественных чисел у меня есть. Но ячейка памяти для целых чисел тоже нужна. Либо нужен преобразователь вещественного числа в целое. Манипулирование целыми числами нужно хотя бы для того, чтобы сделать адресацию ячеек. Адресация по природе своей требует целочисленных вычислений.

Преобразователь вещественных чисел в целые — оказался неожиданно трудной задачей. Если ячейка памяти — плетение, примерно равное по сложности трём операционным усилителям, то адресация десяти ячеек у меня получается по сложности сопоставимо с двадцатью операционными усилителями.

Я оптимизировал так, оптимизировал сяк. Потом включил режим “Света” и загадал плетение с одним входом и десятью выходами. Повторял попытки где-то два дня и в итоге получил более простой результат, нежели плетение одного операционного усилителя.

Получается, память я построить могу. Сумматор и вычитатель у меня тоже есть — операционный усилитель.

В общем, провозившись больше трёх месяцев, я уже близок к построению своего первого варианта компьютера, который назвал Радио-86РК.

Я сплёл ALU, которое умеет выполнять некоторый набор команд. Ассемблер моего прототипа компьютера содержит всего шесть инструкций:

Загрузка одного из трёх аккумуляторов из памяти

Сохранение аккумулятора в память

Сложение двух аккумуляторов с сохранением результата в третий и переполнения в статусный регистр

Вычитание

Условный переход по адресу

Безусловный переход

Расчётная скорость выполнения инструкций очень низкая. Около двух инструкций в секунду. Такая низкая скорость обусловлена тем, что запоминание аналогового сигнала требует времени на заряд запоминающего накопителя. Если хочется больше скорости, то нужно манипулировать меньшими уровнями напряжений и накопителями меньшей ёмкости.