Считается, что эпоха персоналок наступила в 1974 году, когда компания MITS наладила массовое производство знаменитого Altair 8800, положившего начало буму «домашних» компьютеров. До этого ЭВМ были слишком громоздкими и чересчур дорогими для простого обывателя. Однако ещё в 1971 году серийно выпускался компьютер, который мог приобрести обычный человек, чтобы изучить азы программирования. Правда, эта машина не имела ни монитора, ни клавиатуры, ни привычного современным пользователям интерфейса — даже командной строки…
▍ Ху из мистер Бланкенбейкер?
70-е годы можно назвать периодом любительской электроники: в Европе и США издавалось огромное количество журналов для радиолюбителей, а в американских магазинах RadioShack продавались печатные платы и электронные компоненты на любой вкус. Тем интереснее судьба создателя уникальной машины Kenbak-1, которую называют первым в истории серийным персональным компьютером — Джона Вирджила Бланкенбейкера: в доме, где он родился, не было не только телефона, но даже электричества.
Джон Бланкенбейкер появился на свет в 24 декабря 1929 года в Оклахоме, в семье фермера и школьной учительницы. Когда парню исполнилось 7 лет, семейство перебралось в Орегон, но условия, в которых рос будущий изобретатель Kenbak-1, не слишком изменились: это по-прежнему было жуткое захолустье, обитатели которого занимались преимущественно сельским хозяйством.
Тем не менее, мальчишку тянуло к технике: в подростковом возрасте он разобрал сломанный папин автомобиль, чтобы посмотреть, как он устроен, затем по схеме из книги соорудил детекторный радиоприёмник, а потом — радиоприёмник с усилителем на одной вакуумной лампе. Бланкенбейкер попытался модернизировать усилитель, добавив ещё одну лампу, но схема не заработала — тогда парень понял, что ему катастрофически не хватает фундаментальных знаний. Для оплаты обучения в колледже у семьи не было денег, и окончив школу, Джон записался в военно-морской флот США: там ему пообещали оплатить четыре года обучения на факультете радиоэлектроники в обмен на два года военной службы.
В период пребывания на флоте Джон Бланкенбейкер работал с радиопередатчиками и получил неплохую теоретическую и практическую подготовку в сфере электроники, которая по завершении контракта позволила ему поступить в Университет штата Орегон. Именно там, как и многие другие пионеры IT, он впервые услышал о вычислительных машинах. К сожалению, у студентов его факультета, специализировавшихся на теоретической физике, не было доступа к ЭВМ, а у самого Бланкенбейкера не хватало денег, чтобы самостоятельно оплатить работу в вычислительном центре, поэтому он мечтал собрать собственный компьютер, который помогал бы ему в расчётах. Тут надо отметить, что на дворе стоял 1950 год, и самая компактная ЭВМ того времени имела габариты нескольких внушительных по размеру шкафов. О компактных персоналках тогда, разумеется, никто даже не слышал.
▍ Первые идеи
В свободное от учёбы время Джон начал набрасывать схему простенькой вычислительной машины на основе реле и вакуумных ламп. Скромная стипендия не позволила бы ему начать какой-то технически сложный проект, но Бланкенбейкеру повезло: летом 1951 года он попал на стажировку в Национальное бюро стандартов в Вашингтоне (NBS), причём оказался в числе четырёх студентов, получивших доступ к компьютеру SEAC.
Этот компьютер был построен и запущен в работу всего за год до знакомства с ним Бланкенбейкера, и команда NBS как раз работала над его улучшением. Джону поручили создать устройство для тестирования диодных цепей SEAC, и он успешно справился с поставленной задачей. Параллельно студентов обучали булевой логике и уравнениям, но Бланкенбейкеру разрешали пользоваться компьютером только во время грозы, поскольку из-за атмосферного электричества ЭВМ работала нестабильно и в такие моменты была непригодна для серьёзных расчётов. В короткие периоды непогоды Джон написал для SEAC программу, вычислявшую корни квадратных уравнений, но ему так и не удалось отладить её из-за ограниченного объёма доступного ему машинного времени. Это ещё сильнее укрепило решимость Бланкенбейкера сконструировать персональный компьютер, которым не нужно было бы с кем-нибудь делиться.
Национальное бюро стандартов предлагало Бланкенбейкеру остаться у них после получения диплома бакалавра, но в 1952 году Джон предпочёл устроиться на полставки в компанию Hughes Aircraft, чтобы продолжить учёбу в магистратуре. Там он занимался проектированием компактных бортовых вычислителей для самолётов — такие ЭВМ помещались в корпус размером с небольшой чемодан. В том же году Hughes Aircraft начала разработку большого коммерческого компьютера для бизнеса, и команду Бланкенбейкера направили на этот проект для создания арифметико-логического устройства новой ЭВМ. В ходе обсуждения архитектуры этого компьютера один из менеджеров сказал Джону, что добавление в схему каждого триггера прибавляет к итоговой стоимости машины примерно 500 долларов. Именно тогда Бланкенбейкер задумался: а можно ли построить компьютер с простой логикой, в идеале — с одним триггером, но с большим объёмом последовательной памяти? Он предложил эту идею своему работодателю, но руководителей Hughes Aircraft проект не заинтересовал, а спустя год компания свернула разработку и большого коммерческого компьютера, поскольку исследования рынка показали, что фирма вряд ли получит заказы более чем на 20 таких машин. В итоге Бланкенбейкер запатентовал придуманные им схемы на своё имя.
Закончив магистратуру в Калифорнийском университете в Лос-Анджелесе, осенью 1956 года Бланкенбейкер поступил в докторантуру MIT на отделение электротехники — индустрия стремительно переходила на транзисторы, и Джон хотел узнать о них как можно больше. Тем не менее, он не забыл о своей идее постройки компьютера на простой логике — Джон подробно описал её в статье «Логически микро-программируемые компьютеры», опубликованной в 1958 году в журнале IRE Transactions on Electronic Computers. Дальнейшее развитие этого проекта позволило Бланкенбейкеру зарегистрировать патент на изобретение под названием «Компьютер с хранимой логикой», эта же работа легла в основу его дипломной работы в MIT.
В 1963-м бывший коллега Джона ещё по работе в Hughes Aircraft, вместе с которым они трудились над проектом бизнес-ЭВМ, нанял его в свою компанию Scantlin Electronics, собиравшую цены на акции и продававшую эту информацию брокерам. Бланкенбейкер писал софт для анализа рынков, но работать приходилось по ночам, поскольку днём единственный компьютер Scantlin Electronics был занят. В 1970 году из-за конфликта между учредителями Бланкенбейкер покинул компанию, получив прощальный бонус в размере 6000 долларов. Эти деньги он и решил использовать, чтобы наладить, наконец, выпуск собственного персонального компьютера.
▍ Рождение Kenbak-1
В 1970 году на курсах программирования практиковалась такая схема: учащиеся составляли программу, пробивали её на перфокартах с использованием табулятора и сдавали их преподавателю. Перфокарты отправлялись в ближайший вычислительный центр, и через день-другой студенты получали распечатку с результатами работы своей программы. Это был чрезвычайно длительный и утомительный процесс, поэтому Бланкенбейкер мечтал создать компьютер, который решил бы эту проблему. Начал он с заказа каталогов электронных компонентов от разных компаний, в которых отыскал довольно дешёвую последовательную память с 1024-битным сдвиговым регистром (1404A), недавно выпущенную компанией Intel. Общий объём памяти в конструкции его компьютера составлял 256 байт. Логику конструктор решил реализовать на TTL-микросхемах серии 7400 — всего ЭВМ содержала 45 таких микросхем, и ещё 90 других чипов.
Джон сам спроектировал и вытравил плату для своего компьютера, а затем собрал машину в готовом корпусе, купленном у компании Bud Industries. В качестве названия ЭВМ он выбрал среднюю часть своей фамилии — Kenbak-1, поскольку считал, что фамилия целиком слишком длинная и сложная для запоминания, а слово «Kenbak» чем-то напоминает название «Kodak».
Ядром Kenbak-1 стал последовательный сумматор, способный обрабатывать только один бит за такт. АЛУ компьютера представляло собой конечный автомат, позволявший выполнять последовательный набор инструкций. Каждое состояние конечного автомата соответствовало определённой функции. Например, ожиданию ввода адреса ячейки памяти для записи или чтению данных, либо поиску следующей инструкции. Помимо операций сложения и вычитания Kenbak-1 мог осуществлять умножение и деление, а также логические операции И/ИЛИ. Для синхронизации всех последовательных битов, циркулирующих в памяти сдвигового регистра, и выполнения операций под управлением конечного автомата использовался двухфазный генератор тактовой частоты 1 МГц, собранный на двух транзисторах.
Kenbak-1 не имел дисплея или клавиатуры: ввод данных выполнялся нажатием восьми клавиш на лицевой панели, а за вывод отвечали расположенные там же восемь световых индикаторов. Помимо клавиш для ввода данных рядом размещались кнопки «Установить адрес» (для ввода адресов ячеек памяти), «Сохранить» (для запоминания введённого значения), «Очистить», а также «Старт» и «Стоп» для запуска программы. Сама программа писалась прямо в машинном коде, который включал в себя только примитивные операции с отдельными байтами данных. Из 256 байт памяти программисту было доступно 248, их можно было заполнить инструкциями и константами, а 8 ячеек считались «служебными» и использовались самой машиной. Инструкции обозначались однобайтовым кодом, за которым следовал однобайтовый же операнд, содержащий константу или адрес нужной ячейки памяти. Для своего компьютера Бланкенбейкер разработал довольно большой набор инструкций, который, по мнению некоторых исследователей, вполне мог конкурировать с набором инструкций PDP-8.
Помимо полезных научных программ для Kenbak-1 существовали игры — например, «бросание кубиков» или «крестики-нолики». Очень популярной была программа, позволявшая ввести любую дату с 1900 по 1999 год, а Kenbak-1 показывал, на какой день недели она приходится, зажигая один из индикаторов. Компьютер работал примерно так, как показано на этом видео:
Джон Бланкенбейкер планировал продавать свой компьютер в виде набора компонентов для самостоятельной сборки, который по его расчётам должен был стоить 150 долларов — фантастически дешёво для 1971 года. Цена готового компьютера (без блока питания) предполагалась в размере 450 долларов, но фактическая стоимость оказалась выше — 750 долларов США. Однако идея продавать Kenbak-1 в школы с треском провалилась: схема финансирования американских школ была слишком сложна и многоэтапна, и чтобы пробиться сквозь всю эту бюрократию требовался целый штат зубастых менеджеров. Реклама в журналах для радиолюбителей тоже работала плохо: читатели просто не понимали, что это за устройство и зачем оно нужно. В итоге Бланкенбейкер разработал оригинальную маркетинговую схему: он отправлял свой компьютер потенциальному покупателю по почте, тот мог использовать его в течение двух недель, после чего-либо высылал чек, либо возвращал машину. Параллельно со сборкой компьютеров и заботами, связанными с рекламой, Джон вёл занятия по программированию для одарённых школьников 5-6 классов — на основе, разумеется, Kenbak-1.
Компьютер был очень привлекательным благодаря низкой стоимости, но оказался не лишён конструктивных недостатков. Во-первых, он сильно перегревался во время работы, что приводило к периодическим сбоям и зависаниям. Джону пришлось модифицировать корпус, просверлив отверстия в крышке и использовав внешний вентилятор. Второй проблемой стала ненадёжность переключателей: ради экономии Бланкенбейкер использовал недорогие кнопки фирмы Raytheon, которые часто ломались при слишком сильном нажатии. Но главной архитектурной проблемой Kenbak-1 была невозможность сохранить введённую программу: после выключения питания содержимое памяти сбрасывалось, и всё приходилось начинать сначала.
▍ Крушение надежд
Машина продавалась плохо — всего Джону удалось реализовать лишь 44 компьютера. К 1973 году Бланкенбейкер понял, что бизнес, как сейчас говорят, «не взлетел». Никакие ухищрения вроде попытки продавать только плату Kenbak-1 или предложения покупать ЭВМ в рассрочку не спасли стартап. Джон продал все права на дизайн и конструкцию компьютера компании CTI Educational Products из Южной Каролины. Эта фирма попыталась продавать Kenbak-1 по цене 1035 долларов за штуку под своей торговой маркой, но тоже потерпела фиаско. В конечном итоге она так и не рассчиталась с изобретателем, отправив Бланкенбейкеру вместо последнего платежа ящик неиспользованных деталей от Kenbak-1, после чего тоже обанкротилась.
После краха своего проекта Джон Бланкенбейкер вернулся к работе по найму, сотрудничал с несколькими IT-компаниями, затем перебрался с семьёй в Пенсильванию, и до 2002 года преподавал в Университете Линкольна, пока не вышел на пенсию. Оставив преподавательскую деятельность, Бланкенбейкер увлёкся генеалогией и написал несколько работ, посвящённых жизни первых американских поселенцев германского происхождения.
Сегодня в мире сохранилось всего лишь несколько оригинальных экземпляров Kenbak-1, представленных в музейных экспозициях. Известны современные проекты работающих реплик Kenbak-1 на основе контроллеров Arduino. Компьютер, безусловно, был необычным и опередившим своё время. Жаль, что он не нашёл признания у пользователей, но зато занял видное место в истории компьютерных технологий.
Автор: Валентин Холмогоров