Выбрать главу

Тем временем компания Texas Instruments возобновила контракт с СТС и тоже начала выпускать микропроцессоры (TI осваивала рынок так же настойчиво, как и Inteclass="underline" ее разработчик Гэри Бун перед этим получил патент на одночиповый компьютер). Теперь существовало три различных вида процессоров. Отдел маркетинга Intel был прав относительно необходимости создания широкой сети поддержки потребителей. Например, клиенты нуждались в документации о выполняемых чипом операциях, о понятном ему языке, необходимом для него напряжении и множестве других вещей. Кто-то должен был написать руководство для пользователя, и Intel поручила эту важную задачу инженеру Адаму Осборну, который впоследствии вплотную занимался процессом превращения компьютеров в персональные.

Программное обеспечение микропроцессора привело к образованию еще одной сферы поддержки потребителя. Чипам, как и универсальным процессорам, необходимы были программы, инструкции, которые указывали бы им, что нужно делать. Для создания подобных программ в Intel сначала собрали компьютеры на базе каждого из двух микропроцессорных чипов. Эти компьютеры были некоммерческим продуктом, они использовались для разработки системных программ, помогающих в написании программ для процессора. По сути они были микрокомпьютерами, хотя в то время никто не использовал этот термин.

Одним из первых разработчиков этих программ был Гэри Килдалл, работавший в одном из учебных заведений ВМС, расположенном на тихоокеанском побережье Силиконовой Долины в Калифорнии. Как и Осборн, позднее Килдалл стал очень важной фигурой в истории разработки персонального компьютера. В конце 1972 года Килдалл написал простейший язык для 4004 модели. Это была программа, переводившая кодированные буквенные команды в еще более кодированные единицы и нули, из которых и состоял набор внутренних инструкций для микропроцессора. Хотя программа была написана для 4004 модели, в действительности она предназначалась для большого компьютера IBM 360. Пользуясь ею, каждый мог набрать команды на клавиатуре IBM 360 и составить файл с набором инструкций для 4004 чипа, а затем и ввести его в 4004 микропроцессор, если тот был подключен к компьютеру IBM. Труднее было совместить 4004 модель с чем-либо еще. Микропроцессор требовалось подключать к особой схеме электрической сети, созданной для соединения других чипов с устройствами типа телетайпа. Системы разработки Intel как раз и были созданы для решения проблем такого типа. Естественно, Килдалла привлекли к работе в микрокомпьютерной лаборатории компании.

В конце концов, Гэри Килдалл заключил контракт с Intel на разработку языка для производителей чипов. PL/М (Programming Language for Microcomputer — язык программирования для микрокомпьютеров) должен был стать языком высокого уровня, в отличие от машинного языка низкого уровня, на котором был написан набор инструкций для микропроцессора. Пользуясь PL/М, каждый мог написать программу один раз и использовать ее на 4004 процессоре, на модели 8008 или на будущих процессорах Intel. Это существенно ускоряло процесс программирования.

Но написание языка было непростой задачей. Чтобы понять почему, мы должны представить, как компьютер обрабатывает язык. Компьютерный язык — это набор команд, которые машина должна распознать. Компьютер реагировал только на те команды, которые заложены в микросхему его чипа. Выполнение языковых команд требовало создания программы, транслирующей слова, понимаемые пользователем, в команды, которые могла использовать машина.

Микропроцессоры были не только очень малы, они использовали в своей работе ограниченную логику, они имели минимальное количество функций и ужасно трудно программировались. Разработка любого языка для них была сложной задачей, не говоря уже о языке высокого уровня. Друг и соратник Килдалла позднее рассказывал, что Гэри написал свой PL/М прежде всего потому, что задача казалась неосуществимой. Это было для него интеллектуальным вызовом, как и для большинства программистов и разработчиков до и после него.

Для хранения информации первые микрокомпьютеры Intel использовали бумажную ленту. Поэтому программам приходилось заставлять компьютер контролировать чтение бумажной ленты (перфоленты) и перфокарт, вводить данные по мере подачи информации с ленты, хранить и размещать их в памяти, выдавать информацию на перфокартах. Компьютер также мог манипулировать данными в памяти. Дырочками на перфокарте или перфоленте он показывал, какие ячейки в памяти свободны и какие заняты в конкретный момент. Многие программисты не хотели учитывать эти нюансы каждый раз при написании программы. Большие компьютеры автоматически занимались распределением памяти на задачи, используя программу, называемую операционной системой. Для программистов, работавших с большими компьютерами (mainframe), операционная система была данностью, неотъемлемой особенностью компьютерной среды. Но в Intel занимались всем практически с нуля, и Килдалл стал автором очень простой и компактной операционной системы, предназначенной именно для микропроцессоров. В конечном счете эта операционная система превратилась в язык, названный Килдаллом СР/М. Значение его стало понятно не сразу. Вот почему когда Гэри спросил руководство Intel, нет ли у компании возражений относительно продвижения СР/М на рынке как его собственной системы, то там просто пожали плечами и разрешили продолжать работу. У компании не было планов покупать ее для себя. А Килдалл сделал на этом целое состояние.