Введение
Компьютерная разработка 1956 года
Bendix G-15 – это компьютер, представленный в 1956 году корпорацией Bendix, компьютерное подразделение, Лос-Анджелес, Калифорния. Он имеет размеры около и весит около. G-15 оснащен барабанной памятью объемом 2160 29-битных слов, а также 20 слов, используемых для специальных целей и быстрого доступа к хранилищу. Базовая система, без периферийных устройств, стоила 49 500 долларов. Рабочая модель стоила около 60 000 долларов (60 000 долларов в 1956 году эквивалентны приблизительно <расчетной сумме> в последние годы). Его также можно было арендовать за 1485 долларов в месяц. Он предназначался для научных и промышленных рынков. Серия была постепенно снята с производства, когда корпорация Control Data Corporation приобрела компьютерное подразделение Bendix в 1963 году. Главным конструктором G-15 был Гарри Хаски, который работал с Аланом Тьюрингом над ACE в Великобритании и над SWAC в 1950-х годах. Он разработал большую часть конструкции, работая профессором в Беркли (где его аспирантами были, в частности, Никлаус Вирт) и других университетах. Дэвид С. Эванс был одним из инженеров Bendix, работавших над проектом G-15. Позже он прославился своими работами в области компьютерной графики и основанием компании Evans & Sutherland вместе с Иваном Сазерлендом.
Архитектура
G 15 был вдохновлен автоматической вычислительной машиной (ACE). Это машина последовательной архитектуры, в которой основная память реализована на магнитном барабане. Она использует барабан как рециркулирующую линию задержки, в отличие от аналоговой реализации линии задержки в других последовательных конструкциях. Каждый трек имеет набор головок чтения и записи; как только бит считывается с трека, он немедленно перезаписывается на тот же трек на определенном расстоянии. Длина задержки, а следовательно, и количество слов на треке, определяется расстоянием между головками чтения и записи, при этом задержка соответствует времени, необходимому для прохождения участка барабана от головки записи к соответствующей головке чтения. В нормальном режиме данные записываются обратно без изменений, но этот поток данных может быть перехвачен в любой момент, что позволяет машине обновлять участки трека по мере необходимости. Такая конструкция позволяет создавать "линии задержки" любой требуемой длины. Помимо двадцати "длинных линий" по 108 слов каждая, имеются четыре короткие линии по четыре слова каждая. Эти короткие линии рециркулируют в 27 раз быстрее, чем длинные, обеспечивая быстрый доступ к часто используемым данным. Даже аккумуляторы машины реализованы как линии барабана: три линии двойного слова используются для промежуточного хранения и операций сложения, умножения и деления двойной точности, в дополнение к одному аккумулятору одинарного слова. Использование барабана вместо триггеров для регистров позволило уменьшить количество вакуумных ламп. Следствием этой конструкции является то, что, в отличие от других компьютеров с магнитными барабанами, G 15 не сохраняет свою память при выключении. Единственными постоянными треками являются два трека синхронизации, записанные на барабане на заводе. Второй трек служит резервной копией, поскольку треки подвержены стиранию в случае короткого замыкания одной из их усилительных ламп. Последовательный характер памяти G 15 был перенесен в конструкцию его арифметических и управляющих схем. Сумматоры работают с одним двоичным разрядом за раз, и даже машинное слово инструкции было разработано для минимизации количества бит в инструкции, которые необходимо было сохранить в триггерах (вплоть до использования еще одной линии барабана на одно слово, предназначенной исключительно для генерации сигналов синхронизации адреса). G 15 содержит 180 блоков вакуумных ламп и 3000 германиевых диодов. Общее количество ламп составляет около 450 (в основном двойных триодов). Его магнитная барабанная память вмещает 2160 слов по 29 бит. Среднее время доступа к памяти составляет 14,5 миллисекунд, но его архитектура адресации команд может значительно сократить это время для хорошо написанных программ. Время сложения составляет 270 микросекунд (без учета времени доступа к памяти). Умножение одинарной точности занимает 2439 микросекунд, а умножение двойной точности – 16700 микросекунд.
Периферийные устройства
Одним из основных устройств вывода G 15 является пишущая машинка со скоростью вывода около 10 символов в секунду для чисел (и строчных шестнадцатеричных символов u и z) и около трех символов в секунду для буквенных символов. Ограниченный объем памяти машины затрудняет вывод чего-либо, кроме чисел; иногда в пишущую машинку вставлялись бумажные формы с предварительно напечатанными полями или этикетки. Также была доступна более быстрая пишущая машинка. Высокоскоростной фотоэлектрический считыватель бумажной ленты (250 шестнадцатеричных цифр в секунду с пятиканальной бумажной ленты для PR 1; 400 символов с 5-8-канальной ленты для PR 2) считывал программы (и иногда сохранял данные) с лент, которые часто монтировались в картриджах для удобной загрузки и выгрузки. Подобно магнитной ленте, данные на бумажной ленте разбивались на блоки по 108 слов или меньше, поскольку это максимальный размер считываемого блока. Картридж мог содержать множество блоков, до 2500 слов (~10 килобайт). Хотя существует дополнительный высокоскоростной перфоратор бумажной ленты (PTP 1 со скоростью 60 цифр в секунду) для вывода, стандартный перфоратор работает со скоростью 17 шестнадцатеричных символов в секунду (510 байт в минуту). Опционально, AN 1 "Универсальный кодирующий адаптер" включал в себя "35-4" Friden Flexowriter, а также считыватель бумажной ленты HSR 8 и перфоратор бумажной ленты HSP 8. Механический считыватель и перфоратор могут обрабатывать бумажные ленты шириной до восьми каналов со скоростью 110 символов в секунду. CA 1 "Соединитель для перфокарт" может подключать один или два перфоратора карт IBM 026 (которые чаще использовались как ручные устройства) для считывания карт со скоростью 17 столбцов в секунду (приблизительно 12 полных карт в минуту) или перфорации карт со скоростью 11 столбцов в секунду (приблизительно 8 полных карт в минуту). Частично заполненные карты обрабатывались быстрее со скоростью пропуска 80 столбцов в секунду. Более дорогой CA 2 "Соединитель для перфокарт" считывает и перфорирует карты со скоростью 100 карт в минуту. Перовый плоттер PA 3 работает со скоростью 1 дюйм в секунду с 200 приращениями на дюйм на бумажном рулоне шириной 1 фут и длиной 100 футов. Опциональный выдвижной держатель пера устраняет "линии возврата". MTA 2 может подключать до четырех накопителей для полудюймовых магнитных лент из майлара, которые могут хранить до 300 000 слов (в блоках не более 108 слов). Скорость чтения/записи составляет 430 шестнадцатеричных цифр в секунду; скорость двунаправленного поиска составляет 2500 символов в секунду. Дифференциальный анализатор DA 1 облегчает решение дифференциальных уравнений. Он содержит 108 интеграторов и 108 постоянных умножителей, обеспечивающих 34 обновления в секунду.
Программное обеспечение
Проблема, характерная для машин с последовательной памятью, – это задержка носителя информации: инструкции и данные не всегда доступны немедленно, и в худшем случае машина должна ждать полного оборота линии задержки, чтобы получить данные с заданного адреса памяти. Эта проблема решается в G15 с помощью того, что в документации Bendix называется "кодированием с минимальным временем доступа". Каждая инструкция содержит адрес следующей инструкции для выполнения, что позволяет программисту располагать инструкции таким образом, чтобы после завершения одной инструкции следующая уже находилась под считывающей головкой своей линии. Данные можно располагать аналогичным образом. Для упрощения этого процесса в листы кодирования включена таблица со всеми номерами адресов; программист может вычеркивать каждый адрес по мере его использования. Компания Bendix также разработала операционную систему с тем же названием. В конце 1950-х годов был представлен символический ассемблер, аналогичный Symbolic Optimal Assembly Program (SOAP) для IBM 650, который включает в себя подпрограммы для кодирования с минимальным временем доступа. Другие средства программирования включают программу-супервизор, интерпретационную систему для операций с плавающей точкой под названием "Интерком" и ALGO – алгебраический язык, разработанный на основе предварительного отчета комитета ALGOL 1958 года. Пользователи также разрабатывали собственные инструменты, и, по слухам, распространялась версия "Интеркома", адаптированная для нужд гражданских инженеров. Арифметика с плавающей точкой реализована программно. Серия языков "Интерком" предоставляет более удобную для программирования виртуальную машину, работающую с числами с плавающей точкой. Инструкции для "Интеркома" 500, 550 и 1000 – числовые, длиной шесть или семь цифр. Инструкции хранятся последовательно; главное здесь – удобство, а не скорость. "Интерком" 1000 даже имеет опциональную версию двойной точности. Как упоминалось выше, машина использует шестнадцатеричные числа, но пользователю обычно не приходится с ними работать при обычном программировании. Пользовательские программы используют десятичные числа, в то время как операционная система размещается в старших адресах.
Значение
G 15 иногда описывают как первый персональный компьютер из-за наличия в нём интерпретационной системы Intercom. Однако на звание первого претендуют и другие машины, такие как LGP 30 (поставлен в конце 1956 года), DEC LINC (март 1962 года) и PDP 8 (март 1965 года), а некоторые считают, что персональными компьютерами можно называть только микрокомпьютеры, появившиеся в 1970-х годах. Тем не менее, низкая стоимость приобретения и эксплуатации машины, а также отсутствие необходимости в выделенном операторе позволяли организациям предоставлять пользователям полный доступ к компьютеру. Всего было произведено более 400 машин G 15. Около 300 G 15 было установлено в Соединенных Штатах, а несколько экземпляров было продано в других странах, таких как Австралия и Канада. Машина нашла применение в области гражданского строительства, где использовалась для решения задач земляных работ. Некоторые экземпляры сохранились и сейчас экспонируются в компьютерных музеях и музеях науки и техники по всему миру. Хаски получил один из последних выпущенных G 15, с позолоченной передней панелью. Это был первый компьютер, с которым работал Кен Томпсон. Bendix G 15 использовался в средней школе Фримонт (Оклендский объединенный школьный округ) в 1964–65 учебном году на старшем семинаре по математике. Студентов обучали основам программирования, одним из упражнений было вычисление квадратного корня методом ньютоновских приближений. Bendix G 15 продолжал использоваться в 1970 году на летних курсах повышения квалификации UC Berkeley по программированию в Oakland Technical High School. Bendix G 15 использовался в Летней научной программе, по крайней мере, в 1962 и 1963 годах. Один из ассистентов преподавателя, аспирант Калифорнийского университета в Лос-Анджелесе, сообщил, что его использовали для проверки синтаксиса программ на Фортране перед отправкой их на ЭВМ 7094. Сын инженера, организовавшего использование компьютера, был студентом в 1963 году. Программа началась как шестинедельный интенсивный курс по естественным наукам для старшеклассников, поступающих в старшие классы, в школе Thacher в городе Охай, штат Калифорния, в сотрудничестве с директором школы, Стэнфордским университетом, Калифорнийским технологическим институтом и колледжем Харви Мадд в ответ на запуск Спутника. Учебная программа была сосредоточена на астрономии, а лабораторный проект заключался в фотографировании астероида трижды и вычислении его орбиты. В настоящее время это некоммерческая организация, полностью принадлежащая и управляемая выпускниками, предлагающая курсы по биохимии, геномике и синтетической химии в дополнение к первоначальной программе по астрономии (теперь астрофизике).