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

Если на «Альтаире» для загрузки программы требовалось около получаса, на Apple I с его клавиатурой это занимало меньше минуты.

Что такое ROM?

ROM – постоянная память – может быть запрограммирована только один раз и будет хранить информацию даже после выключения компьютера. На чипе ROM обычно записываются программы, которые компьютеру необходимо помнить всегда: что делать, когда он включается, что выводить на экран, как распознавать подключенные устройства вроде клавиатуры, принтера и монитора. Разрабатывая Apple I, я позаимствовал идею создания такой программы в ROM из калькуляторов HP.

Чтобы понять, что загружено в память «Альтаира», порой надо было полчаса разглядывать его лампочки. В Apple I хватало и секунды – одного взгляда на экран телевизора.

Я назвал свою маленькую программу «монитором», потому что в основном она занималась отслеживанием ввода с клавиатуры. Это ключевой момент – ведь конечной целью моего компьютера было написание программ. Если конкретнее, то я хотел запускать на нем «Фортран» – популярный в то время язык программирования.

Таким образом, идея состояла в том, чтобы заменить большую панель управления – похожую на кабину самолета, со всеми ее лампочками и переключателями – одной маленькой программой. Данные можно было вводить с настоящей клавиатуры и видеть результаты на настоящем экране.

С тех пор у каждого компьютера есть клавиатура и экран. Вот как кардинально все изменила моя идея.

* * *

У меня был свой стиль проектирования: прежде чем приступить к работе, я тратил массу времени на подготовку. Теперь, когда я почувствовал уверенность, что сделать компьютер реально, я начал искать информацию обо всех компонентах и чипах, которые могли бы пригодиться при его сборке.

Я ехал на работу утром – иногда даже в 6.30 утра – и там, сидя в одиночестве, быстро прочитывал инженерные журналы и инструкции к чипам. Я изучал спецификации и чертежи интересующих меня чипов, вроде того процессора Motorola за 40 долларов, о котором рассказал Майрон. Все это время я мысленно прорабатывал проект.

У Motorola 6800 было 40 коннекторов, и мне нужно было знать точно, как работает каждый из них. Поскольку я занимался этим только в свободное время, процесс затянулся надолго. Прошло несколько недель, а до конструирования так и не дошло. Наконец как-то ночью я начертил схему на бумаге. Наброски я делал и прежде, теперь же тщательно зарисовал все на своей чертежной доске в Hewlett-Packard.

Теперь до сборки компьютера оставался всего один шаг. Не хватало лишь комплектующих.

* * *

Мне стали попадаться статьи, в которых говорилось, что вскоре на выставке WESCON в Сан-Франциско будет представлен новый, гораздо более совершенный процессор. Они привлекали мое внимание еще и потому, что этот новый микропроцессор – 6502 производства компании MOS Technologies из Пенсильвании – был совместим с процессором Motorola 6800, положенным мной в основу компьютера, и повторял его электрическую схему. То есть я мог воткнуть его, не переделывая свою конструкцию.

А затем я услышал, что он будет продаваться с прилавка MOS Technologies на выставке. Вот как этот микропроцессор попал в Apple I: его было очень легко заполучить.

Более того, его цена была вдвое меньше той суммы, в которую обошелся бы мне процессор Motorola, даже если бы я покупал его на особых условиях для HP.

Выставка WESCON проходила 16–18 июня 1975 года в знаменитом выставочном центре Cow Palace в Сан-Франциско. Я с приятелями поехал туда и выстоял очередь перед столом MOS Technologies. Парень по имени Чак Педл торговал чипами с лотка.

Я тут же купил несколько штук по 20 долларов и руководство к ним за 5 долларов.

Теперь у меня было все необходимое для сборки компьютера.

* * *

Пару дней спустя на собрании «Клуба самодельных компьютеров» еще несколько человек радостно продемонстрировали свои процессоры 6502. Я не представлял, что они собираются с ними делать, но знал, чем займусь я сам.

Чтобы собрать компьютер, я разложил все детали на столе. Сборкой я занимался в своей кабинке в HP. Обычно после работы я ехал домой, разогревал готовый ужин в микроволновке или готовил спагетти, а потом снова ехал в офис (дорога занимала минут пять), проходил пост охраны и сидел там допоздна. Наверное, мне нравилось работать над проектом именно в HP, потому что там царил дух инженерии. И когда приходило время тестировать сборку или паять, можно было воспользоваться местным оборудованием.

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

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

Для всех чипов я задействовал гнезда, потому что был просто помешан на них – еще со времен работы в Electroglas, где припаянные чипы было не так-то просто извлечь и поменять. Я же хотел, чтобы это было легко.

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

У меня в лаборатории было два чипа PROM, на которых могло храниться 256 байт данных. Их было достаточно для крохотной программы. (Сегодня-то программы весят в миллионы раз больше.) Это настолько малый объем памяти, что в текстовом редакторе его хватит лишь на одно предложение.

Я решил записать на эти чипы свою программу-монитор, позволяющую использовать клавиатуру вместо панели управления.

Что такое ARPANET?

Это сокращение от Advanced Research Projects Agency Network – «Сеть агентства передовых исследовательских проектов». ARPANET разрабатывалась Министерством обороны США и стала первой рабочей сетью на основе пакетной коммутации, способной связывать компьютеры по всему миру. Затем она превратилась в то, что сегодня известно под названием Интернет.

ARPANET и Интернет основаны на передаче данных по принципу «пакетной коммутации». Компьютер разбивает фрагмент данных на пакеты, которые можно отправлять по разным линиям связи и затем собирать воедино на другом конце. До этого основным методом была коммутация каналов. Это было похоже на старые телефонные системы начала XX столетия. Каждому звонку соответствовал отдельный канал, и весь сигнал шел только по нему.

Использование пакетной коммутации – феноменальный прорыв, благодаря которому и стал возможен Интернет.

* * *

Чтобы подключить чипы в компьютере – спаять все вместе, – мне потребовалась одна ночь. Еще несколько вечеров я писал 256-байтную программу – причем в буквальном смысле, ручкой на бумаге. У меня здорово получались компактные программы, но здесь была непростая задача даже для меня.

Это была моя первая программа для микропроцессора 6502. Тогда нормальные люди писали программы так: они платили за компьютерное время, за использование терминала и печатали программу. Терминал был подключен к дорогущему здоровенному компьютеру, стоявшему где-то еще. И вот этот компьютер распечатывал вашу программу в виде нулей и единиц, которые микропроцессор мог распознать.

Затем нули и единицы вводились в память RAM или PROM, и программа запускалась. Но я не мог позволить себе платить за компьютерное время и поэтому вынужден был писать программу на бумаге. К счастью, в руководстве к процессору 6502 описывались последовательности нулей и единиц для каждой инструкции, для каждого шага программы. MOS Technologies даже выдавала маленькую карточку, которую можно было носить с собой в кармане: на ней были записаны все нули и единицы для всех нужных

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату