Инженер 2.1
Шрифт:
Маас поднялся и потихоньку поплёлся в гору.
Магический вычислитель
Без компьютеров жизнь я себе уже не представляю. Поэтому, попав на эту планету, я сразу начал с того, что стал разрабатывать способ собрать магический компьютер.
Конечно сперва были нужны инструменты, для отладки. Вольтметр и осциллограф сделать оказалось несложно. Конечно осциллограф без компьютера на борту получился не очень удобный. Приходится синхронизацию “ловить” как на старых аналоговых осциллографах.
Решив худо-бедно вопрос с инструментарием, я занялся вопросом создания частей компьютера. И начал я с …ячейки памяти.
Сперва я собрал на своих аналогах транзисторов элемент И-НЕ. Потом на нём собрал RS-триггер. Затем развил это плетение до JK-триггера. Получилось хранилище одного бита информации. Посчитал количество транзисторов в итоговой схеме и мне стало страшно. Семнадцать штук на один бит!
Понятное дело, что, если сохранять байты, слова, то часть транзисторов можно сэкономить. Если реализовывать аналог динамической памяти, то бит можно свести к одному-двум транзисторам и конденсатору. Но, всё равно, поскольку каждый транзистор мне приходится плести из магических нитей самостоятельно, то сборка даже килобита памяти — очень муторное занятие.
В общем стал я думать-гадать и придумывать что-то принципиально другое.
Ещё на Земле, когда я возился с магическим телевизором, у меня закрадывалась мысль сделать на базе плетения, преобразующего магическое излучение, ячейку памяти. Сейчас я вернулся к этой мысли. Дополнил плетение, реагирующее на магический поток, интегратором на операционном усилителе и получил этакую аналоговую ячейку памяти. На входе произвольный магический сигнал и другой вход “запомнить”. На выходе запомненное значение сигнала.
Получилось существенно более простое плетение, нежели триггер, но запоминает при этом не бит, а вещественное число (уровень).
Итого, ячейка памяти для вещественных чисел у меня есть. Но ячейка памяти для целых чисел тоже нужна. Либо нужен преобразователь вещественного числа в целое. Манипулирование целыми числами нужно хотя бы для того, чтобы сделать адресацию ячеек. Адресация по природе своей требует целочисленных вычислений.
Преобразователь вещественных чисел в целые — оказался неожиданно трудной задачей. Если ячейка памяти — плетение, примерно равное по сложности трём операционным усилителям, то адресация десяти ячеек у меня получается по сложности сопоставимо с двадцатью операционными усилителями.
Я оптимизировал так, оптимизировал сяк. Потом включил режим “Света” и загадал плетение с одним входом и десятью выходами. Повторял попытки где-то два дня и в итоге получил более простой результат, нежели плетение одного операционного усилителя.
Получается, память я построить могу. Сумматор и вычитатель у меня тоже есть — операционный
В общем, провозившись больше трёх месяцев, я уже близок к построению своего первого варианта компьютера, который назвал Радио-86РК.
Я сплёл ALU, которое умеет выполнять некоторый набор команд. Ассемблер моего прототипа компьютера содержит всего шесть инструкций:
Загрузка одного из трёх аккумуляторов из памяти
Сохранение аккумулятора в память
Сложение двух аккумуляторов с сохранением результата в третий и переполнения в статусный регистр
Вычитание
Условный переход по адресу
Безусловный переход
Расчётная скорость выполнения инструкций очень низкая. Около двух инструкций в секунду. Такая низкая скорость обусловлена тем, что запоминание аналогового сигнала требует времени на заряд запоминающего накопителя. Если хочется больше скорости, то нужно манипулировать меньшими уровнями напряжений и накопителями меньшей ёмкости.
Ещё на Земле я проводил эксперименты по созданию микроплетений. Я попробовал сплести ячейку памяти микронного размера и провёл с ней эксперименты. Уменьшая ячейку можно увеличить её быстродействие. Действительно, получается, что можно создать мой Радио-86РК, работающий, на частоте десятки килогерц, но на его построение мне нужно потратить около тераджоуля энергии. Это при том, что памяти я пока решил сделать всего тысячу ячеек!
Создание микроплетений при помощи конструктов берёт много энергии. Нужно выяснить почему это так. Разобраться можно ли уменьшить потребление.
Пока я коплю энергию на свой первый прототип, думаю над интерфейсом ввода-вывода. Кажется его тоже можно построить на основе плетения связи. То есть транслировать содержимое произвольной ячейки прямо в мозг пользователю. В виде, например, цветового ощущения.
Сома
— …Всё верно. Треугольники ABC и DEF равны по второму признаку. Поэтому этот угол прямой. Молодец! …Хорошо, давай закончим с геометрией и перейдём к следующему уроку. Что у нас по расписанию?
— Физика. — Сказала Сома.
— На чём мы остановились?
— Теплоёмкость — это физическая величина, показывающая сколько тепла может накопить тело при изменении температуры на один градус!
— А удельная теплоёмкость? — Спросил Учитель.
— Удельная — это теплоёмкость одного килограмма…
Сома разглядывала Учителя. Как она могла так его бояться? Вот уже несколько месяцев он учит её тому, что называет “школьной программой”.
Сома не знает пока зачем ей все эти знания, но новая жизнь ей определённо нравится.
Начали они со… страха. Он дал ей нож и заставил вырезать много одинаковых веточек.
Вырезая, она вспоминала Ога и Корна. Вспоминала, как они дрались между собой за неё. Животный рык и руки, тянущие её, ещё маленькую девочку, в разные стороны. И боль. Это было восемь лет назад, когда ей было двенадцать. До сих пор вспомнить страшно.
“Что будет делать с этими палочками этот человек? Зачем меня ему отдали?” — размышляла она. “Он сам попросил вождя отдать меня ему.” — вздохнула она и продолжила работу.