Читать «Цифровой журнал «Компьютерра» № 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
Процессорный модуль работал с восьмеричной системой счисления.
Формат инструкции, обрабатываемой процессорным модулем, был предельно прост. В двухбайтовой конструкции первый байт содержал команду, а во втором могла размещаться константа, адрес памяти или указатель на адрес.
При этом логика компьютера реализовывала несколько моделей адресации: непосредственную, косвенную, индексную и косвенно-индексную.
Разработанный набор инструкций был исчерпывающим для реализации полноценного языка ассемблера, специализированного под придуманный Бланкенбейкером процессорный модуль. В активе были инструкции проверки состояния регистров и логических условий, перехода, управления переключением битов в любой ячейке памяти, сдвига на несколько двоичных разрядов.