Atlas (компьютер)

09-05-2023

Перейти к: навигация, поиск
Atlas из Манчестерского университета в январе 1963 года

Atlas — компьютер, созданный в Великобритании совместно Манчестерским университетом Виктории и компаниями Ferranti и Plessey. Atlas являлся одним из первых суперкомпьютеров, и на момент создания был одним из самых производительных компьютеров в мире[1]. Утверждалось, что каждый раз, когда Atlas останавливался для обслуживания, Великобритания теряла половину своей вычислительной мощности[2]. Atlas относится ко второму поколению ЭВМ и построен на биполярных германиевых транзисторах. Первый экземпляр Atlas был собран и официально введен в эксплуатацию в Манчестерском университете в 1962 году. Были собраны еще две машины: одна для компании BP и Лондонского университета, и одна для компьютерной лаборатории Atlas (в 1975 году объединена с лабораторией Резерфорда — Эплтона) в посёлке Чилтон под Оксфордом.

Для Кембриджского университета компанией Ferranti была создана модификация компьютера, названная Titan, позже ставшая известной как Atlas 2. Titan использовал другую организацию памяти и работал под управлением операционной системы с разделением времени, разработанной в компьютерной лаборатории Кембриджского университета. Было собрано два компьютера модификации Atlas 2s: один для центра САПР в Кембридже (позже переименован в CADCentre, затем AVEVA), и один для Организации по Атомному Оружию (англ. Atomic Weapons Establishment) в посёлке Олдермастон.

Atlas, установленный в Манчестерском университете, был списан в 1971 году[3], но другие машины использовались до 1974 года[4]. Части компьютера Atlas, установленного в Чилтоне, были переданы в Эдинбургский музей управления Национальных музеев Шотландии (NMS). Atlas 2, принадлежавший CADCentre, был списан в конце 1976 года.

Предыстория

Разработка прототипа компьютера под названием MUSE (от англ. microsecond engine — «микросекундная машина») началась в Манчестерском университете в 1956 году. Целью было создание компьютера, способного выполнять инструкцию за время, близкое к одной микросекунде, достигая скорости один миллион инструкций в секунду[5]. Mu (или µ) — международное обозначение приставки «микро», означающей порядок величины 10−6 (одна миллионная).

К концу 1958 года Манчестерский университет и компания Ferranti договорились о сотрудничестве с образованием совместного предприятия под руководством Томаса Килберна. Вскоре после этого компьютер был переименован в Atlas. Первый компьютер Atlas был официально введен в эксплуатацию 7 декабря 1962 года. Тогда его вычислительная мощность считалась равной четырём компьютерам IBM 7094[1] и почти такой же, как у компьютера IBM 7030 Stretch, являвшегося на тот момент самым быстрым суперкомпьютером в мире.

Техническое описание

Аппаратное обеспечение

Множество решений было реализовано в этом компьютере впервые. Ключевыми были следующие (размеры хранилищ указаны для компьютера Манчестерского университета, в других модификациях они были больше)[6]:

  • 48-битное машинное слово (не считая 2-х контрольных разрядов). Машинное слово могло содержать одно число с плавающей точкой, одну инструкцию, два 24-битных адреса или целых числа со знаком, либо восемь 6-битных символов. Числа с плавающей точкой использовали 40 бит мантиссы и 7 бит порядка. Порядок представлялся степенями числа 8[7].
  • 24-битное (2 миллиона машинных слов, 16 миллионов символов) адресное пространство, охватывающее хранилище супервизора, хранилище V (набор регистров для связи с устройствами ввода/вывода), фиксированное (только для чтения) хранилище и пользовательское хранилище.
  • 16К машинных слов памяти на магнитных сердечниках (эквивалентно 96 килобайтам), с использованием 4-х кратного расслоения памяти.
  • 96K машинных слов памяти на четырёх магнитных барабанах (эквивалентно 576 килобайтам), объединённых с памятью на магнитных сердечниках в общее хранилище c поддержкой виртуальной памяти (на тот момент называвшееся 'одноуровневым хранилищем') по технологии подкачки страниц.
  • 128 24-битных быстродействующих регистров, которые могли быть использованы как индексные для модификации адреса операнда (в инструкции могут быть указаны два индексных регистра). Часть регистров имела специальное назначение, например, регистр адреса операнда экстракода, регистр показателя аккумулятора с плавающей точкой, три счётчика команд для режима супервизора, режима выполнения экстракодов и пользовательского режима.
  • Возможность подключения новых сложных (для того времени) периферийных устройств, таких как накопитель на магнитной ленте.
  • Управление периферийными устройствами через отображаемые на память регистры хранилища V, прерывания и процедуры обработки экстракодов.
  • Использование ассоциативной памяти для определения присутствия требуемой страницы виртуальной памяти в физической памяти.
  • Использование конвейерного выполнения инструкций.

В компьютере Atlas не использовался центральный механизм синхронизации (тактовый генератор) — это был асинхронный процессор, в котором продвижение данных по конвейеру определяется готовностью очередной стадии, а не внешним тактовым сигналом. В связи с этим, точное измерение производительности было затруднено. Приблизительные времена выполнения операций:

Экстракоды

Особенностью компьютера Atlas были «экстракоды» — способ программной реализации сложных инструкций, не поддерживающихся аппаратно.

Старшие 10 бит из 48-битной инструкции Atlas обозначали код операции. Если старший бит равен нулю, то данная инструкция является обычной и выполняется аппаратно. Если старший бит установлен, то инструкция является экстракодом и реализуется через вызов специальной подпрограммы в фиксированном хранилище (ПЗУ), адрес которой определяется остальными 9 битами. Было реализовано около 250 экстракодов из 512 возможных.

Режим выполнения экстракодов использовал собственный счётчик команд и специальный регистр для упрощения доступа к операндам инструкции.

Экстракоды представляли собой то, что теперь называется программным прерыванием или ловушкой. Большая часть их использовалась для выполнения математических функций, которые было бы слишком сложно реализовывать непосредственно в аппаратном обеспечении, например синус, логарифм, квадратный корень. Примерно половина экстракодов, обозначенных как функции супервизора, была предназначена для вызова процедур операционной системы. Типичные примеры — функции «Вывести указанный символ в указанный поток» или «Прочитать блок из 512 машинных слов с ленточного накопителя N». Экстракоды были единственным средством, с помощью которого пользовательская программа могла взаимодействовать с супервизором. Подобные механизмы для вызова служб операционной системы имели и другие английские компьютеры этой эпохи, например Ferranti Orion.

Программное обеспечение

На Atlas впервые были представлены многие программные концепции, которые используются по сей день, включая супервизор Atlas, рассматриваемый многими как первая узнаваемая современная операционная система[8].

Одним из первых высокоуровневых языков программирования для компьютера стал Автокод Atlas, являвшийся вариантом языка Алгол. Также для Atlas были созданы компиляторы Алгола, Фортрана и Кобола. При их создании использовался такой инструмент как компилятор компиляторов, созданный Тони Брукером. Поскольку Atlas был университетским компьютером, его использовало множество студентов, получивших доступ к среде разработки машинного кода на машине с защитой памяти.

См. также

Примечания

  1. 1 2 Lavington, 1998, p. 41
  2. Lavington, 1998, pp. 44–45
  3. Lavington, 1998, p. 43
  4. Lavington, 1998, p. 44
  5. The Atlas. University of Manchester.
  6. Simon Lavington. The Atlas story.
  7. Floating-Point Formats
  8. Lavington, 1980, pp. 50–52

Литература

  • Dai Edwards Designing and Building Atlas // Resurrection: The Bulletin of the Computer Conservation Society : журнал. — 2013. — В. 62. — С. 9–18. — 0958-7403.
  • Simon Lavington Early British Computers. — Manchester University Press, 1980. — ISBN 0-7190-0803-4.
  • Simon Lavington A History of Manchester Computers. — 2-е изд. — Swindon: The British Computer Society, 1998. — ISBN 978-1-902505-01-5.

Дополнительная литература

  • F. H. Sumner, G. Haley, E. C. Y. Chen The Central Control Unit of the "Atlas" Computer // Information Processing : Proceedings of the IFIP Congress 62. — 1962. — С. 657-663.
  • T. Kilburn, D. B. G. Edwards, M. J. Lanigan, F. H. Sumner One-Level Storage System // IRE Trans. Electronic Computers. — 1962. — Т. 2. — С. 223-235.
  • T. Kilburn, D. J. Howarth, R. B. Payne, F. H. Sumner The Manchester University Atlas Operating System, Part I: Internal Organization // The Computer Journal. — 1961. — В. 3. — Т. 4. — С. 222-225. — 10.1093/comjnl/4.3.222
  • D. J. Howarth, R. B. Payne, F. H. Sumner The Manchester University Atlas Operating System, Part II: Users' Description // The Computer Journal. — 1961. — В. 3. — Т. 4. — С. 226-229. — 10.1093/comjnl/4.3.226
  • T. Kilburn, R .B. Payne, D .J. Howarth The Atlas Supervisor // Computers — Key to Total Systems Control : Proceedings of the Eastern Joint Computer Conference Washington, D.C., December 12-14. — 1961. — С. 279.
  • D. J. Howarth, P. D. Jones, M. T. Wyld The Atlas Scheduling System // The Computer Journal. — 1962. — В. 3. — Т. 5. — С. 238-244. — 10.1093/comjnl/5.3.238
  • The First Computers: History and Architectures / под ред. Raúl Rojas и Ulf Hashagen. — MIT Press, 2000. — ISBN 0-262-18197-5.
  • M. R. Williams A History of Computing Technology. — 2-е изд. — Wiley-IEEE Computer Society Press, 1997. — ISBN 978-0-8186-7739-7.

Внешние ссылки

  • The Atlas Autocode Reference Manual
  • Memories of the Ferranti Atlas computer

Atlas (компьютер).

© 2011–2023 stamp-i-k.ru, Россия, Барнаул, ул. Анатолия 32, +7 (3852) 15-49-47