;)
  thinkIT.ru — первый IT-портал города  
 
 
Первый IT-портал города
 
 
Почта:
Пароль:
    Забыли пароль?

Сейчас в кино

Мышеловка
триллер, криминал

Солнцестояние
ужасы, триллер, драма

Обитель тьмы
ужасы, триллер

Код Гиас: Лелуш Воскресший
аниме, мультфильм, боевик

Соблазн
триллер, драма

Искусство обмана
комедия, криминал

Король Лев
мультфильм, мюзикл, драма

Анна
боевик, триллер

Али, рули!
боевик, комедия

Человек-паук: Вдали от дома
фантастика, боевик, приключения

Проклятие Аннабель 3
ужасы, триллер, детектив

Аладдин
мюзикл, фэнтези, мелодрама

Кино в Таганроге

 

 

Онлайн заказать Создание сайта в ростове-на-Дону . Информация contigo у нас на сайте.
 

Рубрика: blog!

9
Об Инженере и его первом личном компьютере

Об Инженере и его первом личном компьютере


как появился Apple I

Автор: Anatoly | Добавлено: 02 Июня, 2009 | Мало комментариев | Просмотров: 10437

Недавно посетило желание создать реплику старинной 8-битной персоналки. Хотелось выбрать самую интересную и перебрал множество. Было неожиданностью узнать насколько остроумно и изящно был построен Apple I. При поиске документации наткнулся на ряд статей и интервью, большей частью на английском. Очень много стало понятным и захотелось написать как я увидел возникновение Apple I глазами инженера. Заранее прошу прощение за неточности и явные ошибки – это мое виденье вопроса. Все приведенные цены в $ – середины семидесятых и их следует умножать в несколько раз, чтобы учесть инфляцию.

Стефан Возняк. Радиолюбитель, в детстве с подачи отца увлекался любительской радиосвязью, конструированием разных интересных устройств. Закончил аналог нашего техникума и поступил в университет. Прервал учебу в университете и пошел работать в 1975 году в Hewlett-Packard, где занимался разработкой калькуляторов.


В то время инженеры на работе пользовались компьютерами и миникомпьютерами. Стоимость компьютеров фирмы IBM была в районе нескольких сотен тысяч долларов, миникомпьютеры фирмы DEC стоили десятки тысяч долларов. Позволить их могли себе только предприятия или богатые учебные учреждения. Обычно такие компьютеры имели несколько терминалов. Терминал – это монитор, клавиатура и устройство связи с компьютером, все остальное – память, процессор, накопители – было одно на всех. Терминалы позволяли работать на компьютере одновременно нескольким людям. Работать на компьютере для инженера обычно означало набор собственной программы расчетов на Фортране и ее запуск. Занятие это было нервное и не очень приятное, так как ресурсы делились на всех, например при запуске большого приложения памяти могло не хватить остальным пользователям, на что следовала их бурная реакция – продвинутые пользователи могли увидеть со своего терминала кто же съел память. И на-ка-зать.


Причем все это было верно для самых современных на тот момент компьютеров, более старые компьютеры (каких было множество) были еще ужаснее с точки зрения пользователя – там правили бал перфокарты и перфоленты, к набору программ пользователь не допускался, результат работы программы можно было увидеть нескоро и не факт что тот же оператор вводившие твою выстраданную программу не ошибся при вводе.
На работе у Возняка был компьютер производства Hewlett-Packard, один на 80 инженеров. Для работы на нем нужно было заранее записываться, машинное время очень ценилось.


В то время были счастливые обладатели собственных терминалов, которые позволяли подключиться прямо из дому к удаленному компьютеру. За соответствующую плату, разумеется. И терминал также был недешевым удовольствием, поэтому в первой половине семидесятых появляется ряд любительских схем терминалов, доступных для повторения. Обычно они состояли из нескольких плат, с большим количеством микросхем и дискретных элементов. 


К 1975 году у Возняка уже был опыт разработки простейшего компьютера на дискретных элементах, с лампочками и переключателями. Он также отлично представлял принцип работы полноценных ЭВМ. Изучив доступные схемы терминалов, он решил разработать собственный. Важным критерием была дешевизна, самый дорогой элемент терминала была стандартная покупная клавиатура за $60, выдававшая на выходе параллельным кодом ASCII код нажатой кнопки. Вместо монитора предполагался домашний черно-белый телевизор.
Любое ОЗУ стоило очень дорого, кроме того у Возняка не было опыта работы с ним. Поэтому он разработал видеоконтроллер без микросхем ОЗУ. На сдвиговых регистрах. Набираемый текст хранился в них же! Все это напоминало гигантскую карусель, новый символ впихивался в общий цикл сдвига в нужный момент. Была отдельно кнопка аппаратной очистки экрана. Символы ASCII по-пиксельно хранились в стандартной уже прошитой крошечной ПЗУ (она так и продавалась, уже прошитая).
Схема была очень непростой для понимания, но гораздо меньше любых известных на тот момент. Возняку было чем гордиться! И конечно ему хотелось похвастать.


Клуб самодельных компьютеров (Homebrew Computer Club) был тем местом где могли понять и оценить что он сделал – так ему посоветовали знакомые. Он крайне смутно представлял что это за клуб и чем там занимаются.
Первый раз пришел туда, показал свой терминал и там же впервые услышал о компьютере Альтаир и загадочных микропроцессорах ( в больших и солидных компьютерах процессор никогда не был одной микросхемой, чаще это было много-много плат утыканных микросхемами и не только, поэтому приставка ‘микро’ имела очень важное значение). Набравшись смелости спросил – “Вот интересно, а что такое микропроцессоры?”. В результате ему дали небольшой документ с описанием микропроцессора. Скорее всего это был i8080, примененный в Альтаире. Микропроцессор оказался вылитым компьютером! Нехватало только памяти, устройства ввода/вывода и индикации.
Весь техникум и учебу в университете он продумывал и представлял разные варианты компьютеров, схем их построения, мечтал создать собственный. И микропроцессор отлично вписался в его представление о СВОЕМ НОВОМ КОМПЬЮТЕРЕ.
 i8080 (наш аналоги назывались К580ИК80, К580ВМ80) был отличным и проверенным, в том же Альтаире стоял именно он. Купить его в тот момент он мог за $400. Значит надо было ждать когда у него будет $400, а ждать он не мог. Затем он выяснил, что как работник HP может приобрести микропроцессор Motorola 6800 за $40. Уже лучше! А еще вариант – молодая фирма MOS Technology предлагала микропроцессор 6502 за $20 ( так в интервью сказал сам наш герой, мне лично чаще попадалась сумма $28). $20 решили дело.



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



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

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

Причем разместить можно на одной плате и просто не пустить паутину проводов в компьютер.

Правда, чтобы компьютер адекватно реагировал на нажатия клавиш и позволял вводить программы, отображать содержимое памяти нужна была программа опроса клавиш и отображения символов на терминале. Причем программа нужна сразу после включения, это он прекрасно понимал по опыту разработки калькуляторов. Нужна постоянная память.
Программа называлась ‘монитор’ и ее он писал сам. На листе бумаге. Ему требовалась только документация по системе команд микропроцессора. Перевод адресов в смещения для команд с относительной адресацией, меток в адреса делал вручную. Схема компьютера корректировалась под программу и программа под схему. Первая версия была написана для Моторола 6800, потом он переписал ее для 6502. Программа была аналогом BIOS и операционной системы вместе взятых и уместилась в 256 байт. Она позволяла вводить с клавиатуры программы в шестнадцатеричных кодах, просматривать содержимое памяти, запускать программы на выполнение.
Где взять микросхему ПЗУ? Микросхему с организацией 256x8 найти было непросто, опять же деньги. На работе он раздобыл две микросхемы PROM 256x4. Прошить он знал где – у знакомых в соседнем отделе через дорогу, освоил дорогу туда когда делал игру Pong. HP поощряла увлечение радиолюбительством своих сотрудников и в разумных пределах помогала комплектацией.
Задумайтесь, ведь эти ПЗУ можно было прошить только один раз. Это не были FLASH, у них не было ультрафиолетового стирания. Известно, что в первый раз он прошивал две версии, с обработчиком прерывания и без. Придя домой, он подключил ПЗУ к своему компьютеру. И компьютер ожил! Правда, только с версией без прерывания. Ночью откорректировал схему и запустил вариант с прерыванием.
Монитор обрабатывал нажатия клавиатуры, отображал содержимое памяти, но вводить новую программу пока было просто некуда – ведь ОЗУ не было совсем!


Раньше он никогда не использовал ОЗУ, на все хватало регистров. Микросхемы ОЗУ стоили очень дорого. Ему хотелось иметь ОЗУ не менее 4 килобайт, минимально необходимый для языка программирования высокого уровня. Статическое ОЗУ было гораздо проще подключить, динамическое стоило гораздо дешевле, но нужно было в паузах перебирать часто-часто адреса и перезаписывать информацию – иначе оно быстро забывало данные. Что вызывало тоску у разработчика. В результате дело решил анализ какие доступны микросхемы для покупки – 4 килобайта можно было набрать из 32 микросхем статической памяти или из 8 динамической. Победила динамическая. Схема регенерации для всего восьми микросхем уже не пугала.

После настройки схем ОЗУ уже можно было сесть и писать первые программы на ЛИЧНОМ компьютере.


Естественно, писать расчетные и инженерные программы в кодах было занятие неблагодарное, вместо того чтобы думать о задаче думаешь о хитросплетениях программной реализации. И вообще это очень долго. Необходим был язык высокого уровня.
В Клубе самодельных компьютеров наиболее современным и удобным считали Бейсик. Бейсика наш герой не знал, но знал что на нем уже есть много готовых программ, Бейсик есть на Альтаире и вообще все о нем говорят и это модно. Есть книга “101 игра на Бейсике. Поэтому Возняк однажды на работе открыл описание языка Бейсик и принялся читать.
Бейсик ему понравился прежде всего тем, что был очень похож на известный ему Фортран. Но интерпретатора Бейсика не было для 6502. Еще никто не писал. микропроцессор был слишком новый. И он понял что он может стать первым, кто напишет Бейсик под 6502. Ведь это хорошо, быть первым в чем-то?


Он был Инженер с большой буквы, ему было 25 и его ничуть не смутило что он никогда не писал интерпретаторов языков. Тем более в кодах. Вы только представьте, не на ассемблере, а в шестнадцатиразрядных кодах. Кто писал тот знает что это. А наш герой просто сел и начал его делать.


Первым делом он определил для чего ему нужен Бейсик. Запускать игры и моделировать работу логических схем, при этом можно отказаться от вычислений с плавающей точкой.
Затем исходя из этого расписал таблицу синтаксиса, структуру программы. Очень подробно. Настолько подробно, что как вспоминал впоследствии писать ее было несложно. Как я понимаю, сложно было расписать весь алгоритм. На Бейсик ушло 2-3 месяца и это задача оказалась наиболее длительной по времени.



Продолжение следует

Источники:

http://oldcomputers.net/applei.html

http://www.macworld.com/article/1575/2002/10/woz.html

http://old.e-xecutive.ru/success/article_4320/

http://apple2history.org/history/ah02.html

http://www.obsoletecomputermuseum.org/altair/

http://apple1computer.blogspot.com/

http://www.applefritter.com/apple1  - клуб владельцев Apple I, много документации и программ




Теги: apple I, история, железо, возняк, apple | Оценка: (8) |

Комментарии:

iNik iNik | 02 Июня 2009 11:47ссылка сюда
Очень классно! 5 баллов.
Ждем продолжения.
Art-Mizyakina ;)) Art-Mizyakina ;)) | 02 Июня 2009 11:48ссылка сюда
Блин.. здорово! Интересно и легко читается :)))
like_a like_a | 02 Июня 2009 14:43ссылка сюда
Прочитал на одном дыхании. История вдохновляет на подвиги :) Хочется написать свой компилятор :) Спасибо за статью.
CCMauc CCMauc | 02 Июня 2009 14:48ссылка сюда
Отлично!
Брэд Питт Брэд Питт | 02 Июня 2009 15:31ссылка сюда
Возняк — пиз***нутый!

Спасибо. Очень интересная статья.
Anatoly Anatoly | 02 Июня 2009 16:20ссылка сюда
Спасибо, очень приятно читать позитивные отзывы )))) Постараюсь чтобы продолжение понравилось
Еще забавная статья 1983 года, передает дух времени http://forum.psychotechnica.ru/doku.php/real-programmers
цитата из нее -
"...Однажды ему по междугородному телефону позвонил пользователь, чья система разрушилась в процессе очень важной работы. Джим исправил систему по телефону, заставляя пользователя набирать на передней панели ЭВМ команды обращения к диску, исправлять системные таблицы в шестнадцатеричной системе и считывать ему по телефону содержимое регистров"
Saint Saint | 03 Июня 2009 00:36ссылка сюда
Всё супер. Рассказ мне напомнил книгу про Стива Джобса, написана в таком же стиле. Если кому интересно вот http://thinkit.ru/images/blog/usersdata/179/icon_Steve_Jobs.pdf
Анонимность Серая Анонимность Серая | 03 Июня 2009 09:46ссылка сюда
Респект яблочникам, спасибо за статью!
Анонимность Серая Анонимность Серая | 01 Августа 2010 12:38ссылка сюда
ну а что там с продолжением?
Авторизуйтесь чтобы не быть Серой Анонимностью!

Обсуждаем

     

    Играть в Тетрис

    Играть в Тетрис!

    Играйте в тетрис бесплатно, и даже без СМС :)


    Найди нас везде!

    Теперь ты можешь найти нас во всех популярных социальных сетях. Читай thinkit.ru где тебе удобно!


    Банкоматы Таганрога

    Теперь ты сможешь легко узнать, где именно находится ближайший банкомат.

     

     
      CreativeCUBE - разработка и поддержка сайтовПроизводство и поддержка сайтов
    cCube.ru
      При воровстве с этого сайта ссылка обязательна.
    Copyright © 2008-2014 thinkit.ru
    Связаться с нами