Мир компьютерных технологий велик и многообразен. За 60 с лишним лет, прошедших с появления первых монструозных ЭВМ, произошло много больших и маленьких открытий. Компьютеры переселились из машзалов научных институтов сначала в офисы крупных компаний, а затем — на письменные столы обыкновенных пользователей.
Сегодня мы поговорим о по-настоящему знаковой машине, Altair 8800, и о ее создателе. Этот компьютер смог доказать всему миру: за устройствами на микропроцессорах будущее.
В сравнении со своим предшественником, первым «микрочиповым» компьютером Micral, Altair оказался чрезвычайно успешным на рынке продуктом. Его создатель, Эд Робертс, предполагал, что ему удастся продать всего пару-тройку сотен машин, да и то только энтузиастам. Однако в первый же месяц было реализовано несколько тысяч компьютеров.
Продавались компьютеры в те годы через почту: компания дала рекламное объявление в Popular Electronics и прочих специальных изданиях, а покупателям предлагалось отправить по указанному адресу письмо с заказом. К покупке были доступны и полностью собранные юниты, и наборы для сборки.
Altair 8800 по праву считается первой искрой, из которой разгорелся пожар микрокомпьютерной революции. Компьютерная шина, разработанная для Altair, де-факто задала стандарт целой отрасли. А Altair BASIC, первый язык программирования для этой машины, был разработан небезызвестной компанией Micro-Soft (тогда ее название еще писалось через дефис).
Появление MITS
В 1969 году молодой и амбициозный инженер Генри Эдвард Робертс (он родился в 1942 году) работал в специализированной лаборатории ВВС в Нью-Мексико. Вместе с тремя своими коллегами он решил применить знания в области электроники для организации производства небольших наборов для любителей моделей ракет.
Друзья организовали компанию Micro Instrumentation and Telemetry Systems (MITS) — по тогдашней традиции, прямо в гараже Робертса в Альбукерке. Вскоре они выпустили первую партию радиопередатчиков и наборов для сборки ракет. Продукт не снискал особого успеха на рынке, и вскоре MITS перешла на выпуск DIY-наборов для сборки калькуляторов. Этот проект оказался чуть более удачным и позволил компании перейти на более серьезные товары.
С выходом процессора Intel 8080 в апреле 1974 года рынок микропроцессоров по-настоящему взлетел. Новый CPU мог адресовать до 64 КБ ОЗУ, и его мощностей хватало на построение полноценного компьютера. Поэтому вслед за комплектами для сборки калькуляторов Робертс принялся разрабатывать нечто более интересное. Первый компьютер на базе Intel 8080 в качестве прототипа появился на свет поздней осенью 1974 года. Робертсу удалось добиться интервью с журналом Popular Electronics (там уже знали, что MITS работает над созданием компьютера на базе Intel 8080) и таким образом прорекламировать свою разработку. Предполагалось, что интервью и обзор компьютера будут опубликованы в «горячем» январском номере журнала. Что касается названия, слово «Altair» было предложено Робертсу издательством.
Altair 8800 появился на рынке в самый подходящий момент. MITS успела обзавестись достаточной клиентской базой — школы, колледжи, «домашние» любители электроники. И все они хотели заполучить собственный компьютер. Киллер-фичей Altair’ов по сравнению с прочими компьютерами на базе Intel 8080 стал высокоуровневый язык BASIC: в отличие от традиционного в то время языка ассемблера, он был гораздо проще в освоении и понижал порог входа для новичков. К тому же Altair был достаточно мощным, чтобы оказаться действительно полезным. Предполагалось, что машину можно будет расширять и, соответственно, приспосабливать под решение самых разных задач.
Первые продажи
Придя в банк за ссудой, Робертс оптимистично заявил, что за год сможет продать 800 компьютеров. А чтобы выйти в плюс, достаточно реализовать «всего» 200 единиц. Каково же было его удивление, когда после публикации рекламы в Popular Electronics на митс сошла целая лавина заказов. Пришлось нанять в штат дополнительных людей только для того, чтобы отвечать на звонки потенциальных покупателей. Уже к концу февраля MITS получила 1000+ заказов на Altair. Это не могло не сказаться на времени поставки: заявленных 60 дней не хватало на то, чтобы подготовить и выслать все заказы. Лишь к середине года Робертсу и его коллегам удалось наладить процесс подготовки и отправки компьютеров. В мае того же года MITS отчиталась, что ей удалось успешно поставить уже 2500 штук Altair 8800. А к августу их число превысило 5000. Это не могло не сказаться и на устройстве компании: если в январе в MITS работало менее 20 человек, то к октябрю их число возросло до 90.
Компьютер оказался крайне прибыльным, а шина расширения позволила MITS продавать дополнительную память и интерфейсные платы. В Altair использовался CPU Intel 8080A (реже — 8080), работавший на частоте 2 МГц (каждая инструкция занимает 4 такта). Объем оперативной памяти составлял всего 256 байт (память «1024 слова»), а плата с ней продавалась отдельно. Язык BASIC, о котором было объявлено в июле 1975 года, требовал наличия одной или двух плат памяти на 4096 слов, а также интерфейсной платы. Сам комплект Altair стоил 439 долларов. Платы памяти на 1024 слова (176 долларов) и 4096 слов (264 доллара) докупались по мере необходимости. Позднее Робертс представил также платы параллельного интерфейса (92 доллара) и 2 типа плат последовательного интерфейса: для загрузки программ с аудиокассет и для работы с телетайпом.
Программировать на первой версии Altair было сущей пыткой: подключение клавиатуры не было предусмотрено, и инструкции вводились в машину сугубо механическим путем. Пользователь должен был переключать переключатели-рычажки на корпусе машины в положения, соответствующие инструкциям микропроцессора 8080 или коду операции в двоичном формате, а затем загружать код в память машины переключателем ввода. Этот алгоритм требовалось повторять до тех пор, пока вся программа не окажется введена в память. Сейчас сложно это представить, но в первой версии Altair единственным пользовательским интерфейсом была панель с лампочками. Собственно, на мигании лампочками функционал компьютера и заканчивался. Но продажи все росли и росли. Робертс в поте лица трудился над созданием дополнительных карт-модулей, среди которых были устройство для чтения перфолент, дополнительные платы RAM, последовательный интерфейс RS-232 для подключения к телетайпу, видеокарта и 8-дюймовый дисковод для дискет объемом до 300 КБ.
Двое взволнованных мужчин
Статья об Altair чрезвычайно заинтересовала студента Гарвардского университета по имени Билл Гейтс и его хорошего друга Пола Аллена. Они связались с Робертсом и предложили ему купить их собственный интерпретатор языка BASIC. Робертса предложение заинтересовало, однако… никакого интерпретатора на тот момент не было и в помине. Только после общения с Робертсом Гейтс и Аллен приступили к его написанию. В качестве тестовой платформы они использовали самодельный симулятор 8080 на миникомпьютере PDP-10. Подобная спешка была обоснована резонным предположением программистов, что пройдет еще неделя-другая, и их опередит кто-то другой. Как только интерпретатор для PDP-10 был готов, Аллен полетел в Альбукерке на презентацию. Программа летела с ним, записанная на перфоленту.
Первый запуск программы оказался неудачным: интерпретатор выводил сообщение Altair Basic на экран и неминуемо вылетал. Что-то было не так с бумажным носителем. Тем не менее, Робертс согласился немного подождать и дать BASIC’у шанс. Уже на следующий день Аллену доставили новую, протестированную ленту, и она, слава богу, запустилась без проблем.
Первая когда-либо введенная программа на BASIC выглядела так:
10 print 2 + 2
После ввода команды «run» она вернула правильный ответ. Робертс сразу же предложил Аллену должность директора отдела по разработке программного обеспечения (который состоял из единственного сотрудника, других разработчиков ПО у MITS еще не было). Гейтс, тогда еще не ушедший в академический отпуск ради создания собственной компании, также устроился в MITS на полставки. Лишь спустя некоторое время Гейтс и Аллен покинули MITS и основали Micro-Soft.
Теперь скажем пару слов о важности Altair для всей компьютерной промышленности. Altair 8800 вдохновил энтузиастов по всем США на создание Клуба любителей домашних компьютеров. Позднее из этой «организации» появилось более двух десятков компьютерных компаний, включая Apple Computer.
В 1977 году MITS была куплена Pertec Computer Corp. за $6 млн, а Робертс поступил в медицинский институт Университета Мерсера. Неизвестно, по какой причине он решил сменить сферу деятельности, но, так или иначе, компьютеры для него остались в прошлом. Надо сказать, Робертс — не единственный человек, ушедший из технологического бизнеса после реализации единственного успешного проекта. Что-то подобное произошло и с небезызвестным Клайвом Синклером, этой темы мы уже касались в одной из прошлых статей.
Всю оставшуюся жизнь Робертс проработал сельским врачом в Кокране, штат Джорджия, и скончался 1 апреля 2010 года.
Видео с демонстрацией работы Altair 8800:
mistergrim
Но на самом деле, конечно, нет.
DrPass
i8080, к слову, вполне себе подходит под определение RISC. Набор инструкций простой, пересылка данных в память/из памяти выполняется отдельными командами. Чем не RISC?
mistergrim
Вот только у него отнюдь не все инструкции укладываются в четыре такта.
DrPass
Если мне память не изменяет (может изменять, я его последний раз четверть века назад юзал), у него вообще среднее выполнение инструкции этак тактов 8-10. Откуда автор статьи взял «каждая инструкция занимает 4 такта», не знаю. Там разве что сложение и его вариации за такое время выполняются.
UPD: Посмотрел спеки, в плане тактов — не особо изменяет, большинство команд 7-11 тактов, есть и по 17-18 тактов. За 4 такта действительно выполняется сложение и его варианты — вычитание, логические операции, также вращение битов, XCHG, сброс флагов и запрет/разрешение прерываний.
mistergrim
От четырёх до восемнадцати циклов, да.
RISC это вообще не про простоту (они с нынешней точки зрения все тогда крайне простые были).