Читать «Цифровой журнал «Компьютерра» № 72» онлайн - страница 3

Коллектив авторов

1970 год. Рождение Kenbak-1

К реальному воплощению своей идеи фикс Бланкенбейкер приступает только осенью 1970 года, когда волею судеб временно становится безработным. Следуя давней изобретательской традиции, он располагается в гараже своего дома, разрабатывает вначале схему вычислителя, а затем и разводку печатной платы для него.

Травлением дорожек материнской платы для Kenbak-1 Бланкенбейкер занимался лично

Изобретатель не ставит перед собой грандиозных задач. Основными критериями, которыми он руководствуется при проектировании своего компьютера, являются низкая цена и простота освоения, позволяющая осилить мудрёную науку программирования любому желающему. Он прекрасно осознавал, что его детище никогда не сможет состязаться в скорости работы с настоящими мейнфреймами. Но этого и не нужно. Главное, чтобы принципы их работы совпадали. В этом смысле в основу своего компьютера Бланкенбейкер положил идею вычислителя фон Неймана с хранимой в памяти программой.

Аналог микропроцессора в Kenbak-1 был реализован на 132 элементах TTL

В 1971 году печатная плата для компьютера Бланкенбейкера была готова. Суммарная стоимость всех компонентов не превышала ста пятидесяти долларов — беспрецедентно мало, учитывая, что самый доступный компьютер в то время стоил несколько тысяч.

Технические характеристики гаражной ЭВМ были более чем скромными. TTL-эквивалент процессора обеспечивал скорость вычислений, соответствующую работе микропроцессора с тактовой частотой один мегагерц, а оперативная память составляла всего 256 байт и была реализована на двух регистрах сдвига, хранящих по 1024 бита каждый. Всего на материнской плате размещалось 132 TTL-элемента, для работы которых использовалось питание пять и двенадцать вольт. Чтобы регистры сдвига — самый горячий элемент компьютера — не перегревались, напротив них был установлен небольшой вентилятор.

Процессорный модуль компьютера был представлен тремя регистрами, два из которых, A и B, были главными регистрами арифметико-логического устройства, реализующими команды Load, Store, Add, Substract, And, Or, Shift и Rotate. Ещё один регистр Х использовался АЛУ при работе с индексной моделью памяти. В качестве счётчика команд использовался регистр P, а ещё два регистра.

Адреса памяти, по которым можно было обратиться к основным регистрам Kenbak-1

Процессорный модуль работал с восьмеричной системой счисления.

Формат инструкции, обрабатываемой процессорным модулем, был предельно прост. В двухбайтовой конструкции первый байт содержал команду, а во втором могла размещаться константа, адрес памяти или указатель на адрес.

При этом логика компьютера реализовывала несколько моделей адресации: непосредственную, косвенную, индексную и косвенно-индексную.

Разработанный набор инструкций был исчерпывающим для реализации полноценного языка ассемблера, специализированного под придуманный Бланкенбейкером процессорный модуль. В активе были инструкции проверки состояния регистров и логических условий, перехода, управления переключением битов в любой ячейке памяти, сдвига на несколько двоичных разрядов.