Компьютер Атлас был одним из первых в мире суперкомпьютеров , использовавшихся с 1962 года (когда он был объявлен самым мощным компьютером в мире) по 1972 год . Компьютерные мощности Соединенного Королевства были потеряны. [2] Он примечателен тем, что был первой машиной с виртуальной памятью (в то время называемой «одноуровневым хранилищем» [3] ), использующей методы подкачки ; этот подход быстро распространился и теперь повсеместно распространен.
Атлас был компьютером второго поколения , в котором использовались дискретные германиевые транзисторы . Atlas был создан в результате совместных усилий разработчиков Манчестерского университета , Ferranti International plc и Plessey Co., plc . Две другие машины Atlas были построены: одна для British Petroleum и Лондонского университета , а также одна для компьютерной лаборатории Atlas в Чилтоне недалеко от Оксфорда .
Производная система была построена Ферранти для Кембриджского университета . Названный « Титан» , или «Атлас 2», [4] он имел другую организацию памяти и работал под управлением операционной системы с разделением времени, разработанной компьютерной лабораторией Кембриджского университета. Еще два Atlas 2 были доставлены: один в Центр CAD в Кембридже (позже названный CADCentre, затем AVEVA ), а другой в Исследовательский институт атомного оружия (AWRE) в Олдермастоне.
Атлас Манчестерского университета был выведен из эксплуатации в 1971 году. [5] Последний Атлас, машина CADCentre, был отключен в конце 1976 года. [6] Части Чилтонского Атласа хранятся в Национальных музеях Шотландии в Эдинбурге; Сама основная консоль была вновь открыта в июле 2014 года и находится в лаборатории Резерфорда Эпплтона в Чилтоне, недалеко от Оксфорда .
В 1956 году росло осознание того, что Великобритания отстает от США в разработке компьютеров. В апреле Б.В. Поллард из Ферранти заявил на компьютерной конференции, что «в этой стране существует целый ряд среднескоростных компьютеров, и единственные две машины, которые действительно быстры, — это Cambridge EDSAC 2 и Manchester Mark 2, хотя обе они до сих пор работают». очень медленный по сравнению с самыми быстрыми американскими машинами». [7] За этим последовали аналогичные опасения, выраженные в майском отчете Консультативному комитету по высокоскоростным вычислительным машинам Департамента научных и промышленных исследований , более известному как Комитет Бранта. [8]
В этот период команда Тома Килберна в Манчестерском университете экспериментировала с системами на основе транзисторов , создав две небольшие машины для проверки различных технологий. Это был явно путь вперед, и осенью 1956 года Килберн начал опрашивать возможных клиентов о том, какие функции они хотели бы видеть в новой машине на основе транзисторов. Большинство коммерческих клиентов указали на необходимость поддержки широкого спектра периферийных устройств, в то время как Управление по атомной энергии предложило машину, способную выполнять инструкцию каждую микросекунду [9] или, как это было бы известно сегодня, производительность 1 MIPS. Этот более поздний запрос привел к названию предполагаемой конструкции микросекундного двигателя MUSE. [10]
Необходимость поддержки множества периферийных устройств и необходимость быстрой работы, естественно, противоречат друг другу. Например , программа, которая обрабатывает данные с устройства считывания карт , будет тратить большую часть своего времени на ожидание, пока устройство считывания отправит следующий бит данных. Чтобы поддерживать эти устройства и при этом эффективно использовать центральный процессор (ЦП), новой системе потребуется дополнительная память для буферизации данных и операционная система , которая могла бы координировать поток данных вокруг системы. [11]
Когда Комитет Бранта услышал о новых и гораздо более быстрых американских разработках, Univac LARC и IBM STRETCH , они смогли привлечь внимание Национальной корпорации исследований и разработок (NRDC), ответственной за продвижение на рынок технологий исследовательских групп времен войны. . В течение следующих восемнадцати месяцев они провели многочисленные встречи с потенциальными клиентами, инженерными группами в Ferranti и EMI , а также с командами дизайнеров в Манчестере и Королевском радарном учреждении . [11]
Несмотря на все эти усилия, к лету 1958 года от NRDC все еще не было финансирования. Килберн решил продвинуться вперед, построив Muse меньшего размера, чтобы экспериментировать с различными концепциями. Это было оплачено за счет финансирования из Фонда компьютерных доходов Mark 1, который собирал средства за счет сдачи в аренду времени на университетском Mark 1. Вскоре после начала проекта, в октябре 1958 года, Ферранти решил принять в нем участие. В мае 1959 года они получили от NRDC грант в размере 300 000 фунтов стерлингов на создание системы, который должен был быть возвращен из доходов от продаж. В какой-то момент этого процесса машина была переименована в Atlas. [11]
К концу 1959 года рабочее проектирование было завершено, и строительство компиляторов продолжалось . Однако операционная система Supervisor уже сильно отставала. [12] Это привело к тому, что Дэвид Ховарт, недавно нанятый в Ferranti, расширил команду операционных систем с двух до шести программистов. В результате титанических усилий, возглавляемых неутомимым и энергичным Ховартом, команда в конечном итоге создала Supervisor, состоящий из 35 000 строк ассемблерного языка , который имел поддержку мультипрограммирования для решения проблемы управления периферийными устройствами. [13]
Первый Атлас создавался в университете в течение 1962 года. График был еще более ограничен запланированным остановом машины Ферранти Меркурий в конце декабря. Атлас достиг этой цели и был официально сдан в эксплуатацию 7 декабря Джоном Кокрофтом , директором AEA. [13] В этой системе была только ранняя версия Supervisor, и единственным компилятором был для Autocode . Лишь в январе 1964 года была установлена окончательная версия Supervisor вместе с компиляторами для ALGOL 60 и Fortran . [14]
К середине 1960-х годов первоначальная машина использовалась постоянно по 20-часовому графику в день, в течение которого можно было запускать до 1000 программ. Время было разделено между Университетом и Ферранти, последняя из которых взимала со своих клиентов 500 фунтов стерлингов в час. Часть этой суммы была возвращена в Университетский фонд компьютерных доходов. [14] В 1969 году было подсчитано, что компьютерное время, полученное университетом, стоило бы 720 000 фунтов стерлингов, если бы оно было сдано в аренду на открытом рынке. Машина была остановлена 30 ноября 1971 года. [15]
Ферранти продал еще две установки Atlas: одну совместному консорциуму Лондонского университета и British Petroleum в 1963 году, а другую Исследовательскому институту атомной энергии (Харвелл) в декабре 1964 года. Позже машина AEA была перенесена в компьютерную лабораторию Atlas в Чилтоне. в нескольких ярдах от пограничного забора Харвелла, что помещало его на гражданские земли и, таким образом, значительно облегчало доступ. Эта установка превратилась в самый большой Атлас, содержащий 48 килобайт 48-битной основной памяти и 32 ленточных накопителя. Время было предоставлено всем университетам Великобритании. Он был закрыт в марте 1974 года. [16]
В феврале 1962 года Ферранти передал некоторые части машины Атлас Кембриджскому университету , а взамен университет использовал их для разработки более дешевой версии системы. Результатом стала машина «Титан», которая вступила в строй летом 1963 года. Ферранти продал еще две машины этой конструкции под названием «Атлас 2», одну — Исследовательскому институту атомного оружия (Олдермастон) в 1963 году, а другую — спонсируемой правительством компьютерной компании. Центр автоматизированного проектирования в 1966 году. [17]
Атлас был разработан как ответ на программы США LARC и STRETCH. Оба в конечном итоге опередили официальное использование Atlas, LARC в 1961 году и STRETCH за несколько месяцев до Atlas. Atlas был намного быстрее, чем LARC, примерно в четыре раза, и работал немного медленнее, чем STRETCH — Atlas добавлял два числа с плавающей запятой примерно за 1,59 микросекунды, [14] тогда как STRETCH делал то же самое за 1,38–1,5 микросекунды. Тем не менее, глава подразделения программного обеспечения Ferranti Хью Девональд сказал в 1962 году: «Атлас фактически считается самой мощной вычислительной системой в мире. Под таким утверждением подразумевается, что если бы Атлас и любой из его конкурентов были представлены одновременно с аналогичными большими наборами репрезентативных вычислительных задач Atlas должен завершить свой набор раньше всех других компьютеров». [18] Никаких дальнейших попыток продажи LARC не предпринималось, [17] и неясно, сколько машин STRETCH в конечном итоге было произведено.
И только в 1964 году, когда появился CDC 6600 , Atlas был значительно лучше. Позже CDC заявила, что именно описание Muse 1959 года дало CDC идеи, которые значительно ускорили разработку 6600 и позволили доставить его раньше, чем первоначально предполагалось. [17] Это привело к тому, что компания выиграла контракт с CSIRO в Австралии, которая изначально обсуждала покупку Atlas. [17]
Ферранти испытывал серьезные финансовые трудности в начале 1960-х годов и решил продать компьютерное подразделение компании International Computers and Tabulators (ICT) в 1963 году. ICT решила сосредоточиться на рынке среднего класса со своей серией ICT 1900 , [19] гибким линейка машин на базе канадского Ferranti-Packard 6000 .
Атлас получил высокую оценку многих представителей компьютерной индустрии. Среди его поклонников был К. Гордон Белл из Digital Equipment Corporation , который позже похвалил его:
В архитектуре Манчестерский Атлас был образцовым не потому, что это была большая машина, которую мы собирались построить, а потому, что он иллюстрировал ряд хороших принципов проектирования. Atlas был мультипрограммным, с четко определенным интерфейсом между пользователем и операционной системой, имел очень большое адресное пространство и ввел понятие дополнительных кодов для расширения функциональности своего набора команд. [20]
В июне 2022 года веха IEEE была посвящена «Компьютеру Атласу и изобретению виртуальной памяти 1957–1962». [21]
Машина имела множество инновационных особенностей, но основные параметры работы были следующими (размер магазина соответствует манчестерской установке; остальные были крупнее):
Атлас не использовал механизм синхронной синхронизации — это был асинхронный процессор — поэтому замеры производительности были непростыми, но в качестве примера:
Одной из особенностей Атласа был «Экстракод», метод, позволяющий реализовывать сложные инструкции в программном обеспечении. Специальное оборудование ускоряет вход в процедуру экстракода и выход из нее, а также доступ к операндам; кроме того, код подпрограмм экстракода хранился в ПЗУ, доступ к которому можно было получить быстрее, чем к основному хранилищу.
Первые десять битов 48-битной машинной инструкции Atlas представляли собой код операции . Если старший бит был установлен в ноль, это была обычная машинная инструкция, выполняемая непосредственно аппаратным обеспечением. Если самый верхний бит был установлен в единицу, это был экстракод и был реализован как особый вид подпрограммы перехода к ячейке в фиксированном хранилище ( ПЗУ ), причем его адрес определялся остальными девятью битами. Реализовано около 250 экстракодов из 512 возможных.
Экстракоды — это то, что сегодня назвали бы программными прерываниями или ловушками . Они использовались для вызова математических процедур , которые было бы слишком неэффективно реализовать на аппаратном уровне , например , синус , логарифм и квадратный корень . Но около половины кодов были обозначены как функции Supervisor, вызывающие процедуры операционной системы . Типичными примерами могут быть «Напечатать указанный символ в указанном потоке» или «Прочитать блок из 512 слов с логической ленты N». Экстракоды были единственным средством, с помощью которого программа могла общаться с Супервизором. Другие британские машины той эпохи, такие как Ferranti Orion , имели аналогичные механизмы обращения к службам своих операционных систем.
Компания Atlas стала пионером многих концепций программного обеспечения, которые до сих пор широко используются, в том числе Atlas Supervisor , «которую многие считают первой узнаваемой современной операционной системой». [25]
Одним из первых языков высокого уровня, доступных в Atlas, был назван Atlas Autocode , который был современником Algol 60 и создан специально для устранения того, что Тони Брукер считал некоторыми дефектами в Algol 60. Однако Atlas поддерживал Algol 60 , а также Fortran и COBOL , а также ABL (Atlas Basic Language, язык символьного ввода, близкий к машинному языку). Будучи университетским компьютером, он пользовался покровительством большого числа студентов, имевших доступ к защищенной среде разработки машинного кода .
Некоторые компиляторы были написаны с использованием компилятора Compiler , который считается первым в своем типе.
У него также был язык программирования под названием SPG (генератор системных программ). Во время выполнения программа SPG может скомпилировать для себя больше программ. Он мог определять и использовать макросы . Его переменные были заключены в <угловые скобки>, и у него был анализатор текста, что придавало тексту программы SPG сходство с формой Бэкуса-Наура .
С самого начала Atlas задумывался как суперкомпьютер, включающий комплексную операционную систему. Аппаратное обеспечение включало в себя специфические функции, облегчавшие работу операционной системы. Например, подпрограммы экстракода и подпрограммы обработки прерываний имели выделенную память, регистры и программные счетчики; Поэтому переключение контекста из пользовательского режима в режим экстракода или исполнительный режим или из режима экстракода в исполнительный режим происходило очень быстро.