stringtranslate.com

ГЭ 645

Идеализированная конфигурация GE-645

Главный компьютер GE 645 был развитием GE 635 для использования в проекте Multics . Это был первый компьютер, который реализовал конфигурируемую аппаратно защищенную систему памяти. Он был разработан для удовлетворения требований проекта MAC по разработке платформы, на которой будет размещена их предложенная операционная система с разделением времени следующего поколения ( Multics ), и для удовлетворения требований теоретической компьютерной утилиты . [1] Система была первой по-настоящему симметричной многопроцессорной машиной, использующей виртуальную память , она также была среди первых машин, реализовавших то, что сейчас известно как буфер трансляции lookaside , [2] [3] [4] основополагающий патент на который был выдан Джону Кулеру и Эдварду Глейзеру. [5]

General Electric первоначально публично анонсировала GE 645 на осенней совместной компьютерной конференции [1] [3] в ноябре 1965 года. На последующей пресс-конференции в декабре [6] [7] того же года было объявлено, что они будут работать над «широкой коммерческой доступностью» [8] системы. Однако впоследствии они сняли ее с активного маркетинга в конце 1966 года. [8] Всего по крайней мере 6 сайтов использовали системы GE 645 в период с 1967 по 1975 год. [9]

Конфигурация системы

Базовая конфигурация системы состояла из комбинации 4 основных модулей [4] [10], а именно:

Патент US3525080, показывающий GE-645

Модули системного контроллера (SCM) фактически выступали в качестве сердца системы. Это были пассивные устройства, которые были подключены к каждому активному устройству (процессор, GIOC, EMU) и обеспечивали следующее: [4] [11]

По сравнению с остальной серией 600, 645 не использовал стандартные контроллеры ввода-вывода (IOC) для ввода-вывода. Также он не использовал процессор интерфейса DATANET-30 для связи. Вместо этого оба набора функций были объединены в один блок, называемый GIOC (Generalized I/O Controller), который предоставлял выделенные каналы как для периферийного (диск/лента), так и для терминального ввода-вывода. [4] [12] GIOC действовал как активное устройство и был напрямую подключен к памяти через выделенные ссылки к каждому системному контроллеру, который присутствовал в определенной конфигурации.

Extended Memory Unit, хотя и назывался барабаном , на самом деле был большим жестким диском с фиксированной головкой, по одной головке на дорожку, [13] это был OEM-продукт от Librascope . [13] [14] EMU состоял из 4096 дорожек, обеспечивающих 4 МВт (мегаслова) памяти (эквивалентно 16 МБ). Каждая дорожка имела выделенную головку чтения/записи, они были организованы в группы по 16 «наборов дорожек», которые использовались для чтения/записи сектора. Сектор является единицей распределения данных по умолчанию в EMU и состоит из 80 слов, из которых 64 слова являются данными, а остальные 16 использовались в качестве защитной полосы. [4] Средняя скорость передачи между EMU и памятью составляла 470 000 слов в секунду, все передачи были шириной 72 бита (два слова), при этом для передачи 4 слов требовалось 6,7 мкс. [4] Скорость вращения устройства составляла 1725 об/мин, что обеспечивало среднюю задержку в 17,4 миллисекунды. [4]

Архитектура

Режимы процессора

GE-645 имеет два режима выполнения инструкций (главный и подчиненный), унаследованные от GE-635, однако он также добавляет еще одно измерение, имея два режима адресации памяти (абсолютный и добавление). Когда процесс выполняется в абсолютном режиме, адресация ограничена 2 18 словами памяти, и все инструкции выполняются в главном режиме. Для сравнения, в режиме добавления адрес вычисляется с использованием «добавочных слов» с адресным пространством 2 24 слова и выполнением инструкций, происходящим либо в главном, либо в подчиненном режиме. [15]

Режим ведомого устройства

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

Мастер-режим

В этом режиме процессор может выполнять все инструкции и может блокировать прерывания при этом. Как и в режиме Slave, форма формирования адреса по умолчанию — через процесс добавления.

Абсолютный режим

Все инструкции могут быть выполнены в этом режиме, и полный доступ предоставляется ко всем привилегированным функциям оборудования. Прерывания могут быть запрещены, а выборка инструкций ограничена абсолютным адресом 2 18 (18 бит), таким образом ограничивая процессор возможностью доступа только к нижним 256 КВт физической памяти ядра. Процессор переключится в этот режим в случае сбоя или прерывания и останется в нем до тех пор, пока не выполнит инструкцию передачи, адрес операнда которой был получен через процесс добавления.

Режим добавления

По умолчанию это обычный режим адресации памяти, оба режима Master и Slave обычно работают в этом режиме. Косвенные слова и операнды доступны через механизм добавления с помощью процесса помещения 1 в бит 29 выполняемой инструкции. Таким образом, эффективные адреса либо добавляются к базовому адресу, либо смещение связывается с базовым адресом.

Функциональные единицы

Функциональные блоки процессора GE 645

Процессор 645 был разделен на четыре основных функциональных блока: [15]

Одним из ключевых отличий от GE 635 было добавление «блока добавления» (APU), который использовался для реализации гибридной модели виртуальной памяти «Страничная сегментация» . APU также использовался для реализации одноуровневого хранилища , которое является одной из фундаментальных абстракций, вокруг которых построен Multics. Формат инструкций также был расширен с ранее неиспользуемым битом 29, контролирующим, использовал ли адрес операнда инструкции 18-битный формат (бит 29 = 0) или тот, который состоял из 3-битного адреса базового регистра с 15-битным смещением (бит 29 = 1). [4] : 18, 22  [15]

Формат инструкции с битом 29, установленным в 1, следующий:

 1 1 2 2 2 2 3 3 0 2 3 7 8 6 7 8 9 0 5 +---+---------------+---------+-+-+-+------+ |BR | Y | OP |0|I|1| Тег | +---+---------------+---------+-+-+-+------+

Адресные базовые регистры

GE 645 имел 8 базовых регистров адреса (abr), [17] они могли работать как в «спаренном», так и в «неспаренном» режимах. [18] Более поздняя модель Honeywell 6180 изменила их на 8 регистров указателей. Каждый abr был 24-битным, состоящим из 18 бит для адреса и 6 бит для функций управления. [19]

Один бит поля функций управления указывает, является ли abr «внутренним» или «внешним». Если abr внутренний, другое 3-битное подполе поля функций управления указывает другой abr, с которым этот abr спарен; этот другой abr является внешним, причем внешний abr содержит номер сегмента в поле адреса, а внутренний abr содержит смещение внутри сегмента, указанного внешним abr. [15] : 4–4  Если инструкция или косвенное слово ссылаются на внешний abr, поле адреса в инструкции или косвенном слове используется как смещение в сегменте, указанном внешним abr. Если он ссылается на внутренний abr, поле адреса в инструкции или косвенном слове добавляется к смещению в abr, и полученное значение используется как смещение в сегменте, указанном внешним abr, с которым внутренний abr спарен. [15] : 6–26 

Регистры имеют следующие форматы в зависимости от того, как установлен бит 21. [19]

Форматировать как «внешнюю» базу с установленным битом 21:

 1 1 2 2 22 0 7 8 0 1 23 +------------------+---+-+--+ | ПДВ |\\\|1|\\| +------------------+---+-+--+

Форматировать как компонент эффективного «внутреннего» адреса с указателем на «внешнюю» базу, при этом бит 21 очищен:

 1 1 2 2 22 0 7 8 0 1 23 +------------------+---+-+--+ | PY |PB |0|\\| +------------------+---+-+--+ 


В Multics четный abr и следующий за ним нечетный abr были парными. При записи на ассемблере (EPLBSA/ALM) [NB 1] стандартная практика Multics заключалась в том, чтобы маркировать эти регистры следующим образом: [20]

Схема именования основана на следующем: [21]

8 регистров указателей в Honeywell 6180 и его последователях выполняли ту же функцию, что и 4 парных базовых регистра в GE-645, указывая смещение внутри сегмента.

История

Система CTSS была создана в вычислительном центре Массачусетского технологического института с использованием IBM 709 и впервые продемонстрирована в ноябре 1961 года [22] , впоследствии она была модернизирована до 7090 в 1962 году [23] и, наконец, до 7094 в 1963 году [24]. Это потребовало модификации этих стандартных систем путем добавления ряда RPQ , которые, среди прочего, добавили два банка памяти и переключение банков между пользовательским и супервизорным режимами, т. е. программы, работающие в банке памяти A-core, имели доступ к инструкциям, которые программы, работающие в банке B-core, не имели. [25]

Проект MAC официально начался с подписания контракта с ARPA 1 июля 1963 года. К октябрю 1963 года они получили выделенный 7094 для запуска CTSS, который был назван «Красной машиной» из-за красных боковых панелей. [24] Это должно было обеспечить среду разделения времени для проекта MAC и впоследствии активно использоваться для разработки Multics. В течение этого периода велась исследовательская работа по тому, как будет выглядеть замена CTSS и какой тип оборудования потребуется для его запуска. Был сформирован комитет, состоящий из Фернандо Дж. Корбато , Теда Глейзера, Джека Денниса и Роберта Грэма, в обязанности которого входило посещение производителей компьютеров для оценки уровня интереса в отрасли к тендеру на аппаратную платформу. [26] [27] Было ясно, что проект MAC ищет партнера по разработке, учитывая значительные изменения в оборудовании, которые потребуются для удовлетворения их требований, которые были определены как: [28]

  1. Пользовательские программы, имеющие защиту от чтения/записи.
  2. Что привилегированные инструкции не будут доступны программам конечного пользователя.
  3. По крайней мере, возможность адресации 256 КВ памяти напрямую.
  4. Собственная многопроцессорная способность, при которой все процессоры имеют эквивалентный функциональный уровень
  5. Эффективная поддержка телекоммуникаций, которая могла бы работать как с обычными телефонными линиями, так и с высокоскоростными каналами передачи данных, которые могли бы запускать графические терминалы, такие как разработанный Массачусетским технологическим институтом графический терминал Клуджа [29] .
  6. Устройства хранения данных большой емкости, включая быстрый барабан, который можно было использовать в качестве устройства подкачки.
  7. Аппаратная поддержка сегментации и страничного обмена с поддержкой ассоциативной памяти (CAM) для снижения накладных расходов на виртуальную память.

Они продолжили посещать, среди прочих, Burroughs , CDC , DEC , General Electric , IBM и Sperry Univac . Из них GE и IBM проявили наибольший интерес. [26] К лету 1964 года были получены предложения от DEC, IBM и GE, после оценок Технического комитета было принято единогласное решение принять предложение GE по GE 645, которое представляло собой конструкцию, основанную на GE 635, но измененную для соответствия требованиям, изложенным выше. [28]

Пока оборудование GE 645 проектировалось и отлаживалось в Фениксе, была внедрена система, в которой GE 635 мог использоваться для запуска симулятора, известного как 6.36, [30] чтобы разработка и проверка Multics могли происходить параллельно. Этот процесс включал создание ленты в системе CTSS, которая должна была быть введена в GECOS на системе 635 в MIT, чтобы она могла работать под управлением симулятора 6.36; полученный вывод должен был передаваться обратно по ленте в CTSS для отладки/анализа. [31] Эта смоделированная среда была заменена первым оборудованием 645 в 1967 году. Операционная система GECOS была полностью заменена Multics в 1969 году с супервизором Multics [3], разделенным защитными кольцами с «воротами», позволяющими получить доступ из пользовательского режима. [32]

Более позднее поколение в форме 645F (F для follow-on) не было завершено к тому времени, когда подразделение было продано Honeywell , и стало известно как Honeywell 6180. Первоначальный механизм контроля доступа GE/Honeywell 645 был признан недостаточным для высокоскоростного перехвата инструкций доступа, и повторная реализация в 6180 решила эти проблемы. [33] Основная часть этих компьютеров, работающих в режиме разделения времени на Multics, была установлена ​​в АНБ и подобных правительственных учреждениях. Их использование было ограничено чрезвычайными мерами безопасности и имело ограниченное влияние на последующие системы, за исключением кольца защиты. [34]

Аппаратная защита, представленная на этом компьютере и модифицированная на 6180, была позже реализована в процессоре компьютера Intel 286 как четырехслойное защитное кольцо, но четыре кольца оказались слишком громоздкими для программирования и слишком медленными для работы. Архитектура защитного кольца теперь используется только для защиты режима ядра от кода пользовательского режима, как это было при первоначальном использовании 645. [3]

Смотрите также

Дальнейшее чтение

Примечания

  1. ^ EPL BootStrap Assember / Язык ассемблера для Multics

Ссылки

  1. ^ ab Corbató, FJ; Vyssotsky, VA (30 ноября 1965 г.). "Введение и обзор системы multics". Труды 30 ноября - 1 декабря 1965 г., осенняя совместная компьютерная конференция, часть I на XX - AFIPS '65 (осень, часть I) . Ассоциация вычислительной техники. стр. 185–196. doi :10.1145/1463891.1463912. ISBN 9781450378857. S2CID  11197018.
  2. ^ Джон Кулер (зима 1995 г.). «Ядро корпорации Black Canyon Computer» (PDF) . IEEE Annals of the History of Computing . 17 (4): 56–60. doi :10.1109/85.477436.
  3. ^ abcd Glaser, EL; Couleur, JF; Oliver, GA (30 ноября 1965 г.). "Системное проектирование компьютера для приложений с разделением времени". Труды 30 ноября - 1 декабря 1965 г., осенняя совместная компьютерная конференция, часть I на XX - AFIPS '65 (осень, часть I) . Ассоциация вычислительной техники. стр. 197–202. doi :10.1145/1463891.1463913. ISBN 9781450378857. S2CID  15819355.
  4. ^ abcdefghij "GE-645 System Manual" (PDF) . General Electric. Январь 1968 . Получено 26 сентября 2023 .
  5. ^ Патент США 3412382, COULEUR JOHN F & GLASER EDWARD L, «Система обработки данных с общим доступом», передан Массачусетскому технологическому институту 
  6. Смит, Уильям Д. (2 декабря 1965 г.). «Новый компьютер, разработанный в GE» The New York Times . Получено 20 октября 2023 г.
  7. ^ "GE-645 Timesharing System". Digital Computer Journal . 18 (2). Office of Naval Research - Mathematics Science Division: 5–6. 1966.
  8. ^ ab "US vs IBM_Exhibit 14971 - Историческое повествование 1960-х годов" (PDF) . стр. 434, 510 . Получено 21 октября 2023 г. .
  9. ^ "Multics Site Timeline". multicians.org . Получено 21 октября 2023 г. .
  10. ^ Кайслер (2020), соч. цит., с. 274
  11. ^ Кайслер (2020), соч. цит., с. 275
  12. ^ Ossanna, JF ; Mikus, LE; Dunten, SD (30 ноября 1965 г.). "Связь и коммутация ввода/вывода в мультиплексной вычислительной системе". Труды 30 ноября - 1 декабря 1965 г., осенняя объединенная компьютерная конференция, часть I на XX - AFIPS '65 (осень, часть I) . Association for Computing Machinery. стр. 231–241. doi :10.1145/1463891.1463916. S2CID  15847853.
  13. ^ ab Van Vleck, Tom. "Низкое давление в бутылке". multicians.org . Получено 29 октября 2023 г. .
  14. ^ "The Librazette Vol. 10 No. 9" (PDF) . Архивировано из оригинала (PDF) 19 мая 2022 г.
  15. ^ abcde "СПРАВОЧНОЕ РУКОВОДСТВО ПО ПРОЦЕССОРУ МОДЕЛИ 645" (PDF) . Honeywell Information Systems Inc. Май 1972 . Получено 26 сентября 2023 .
  16. ^ Шредер, Майкл Д. (1971). «Производительность ассоциативной памяти GE-645 при работе Multics». Труды семинара SIGOPS по оценке производительности системы . Ассоциация вычислительной техники. стр. 227–245. doi :10.1145/800024.808361. ISBN 9781450373821. S2CID  44850627.
  17. ^ Organick (1972), op. cit., стр. 18
  18. ^ Грин, Пол. «Виртуальная память Multics — Учебное пособие и размышления». multicians.org . Получено 20 декабря 2023 г. .
  19. ^ ab Organick (1972), op. cit., стр. 19
  20. ^ Organick (1972), op. cit., стр. 20-21
  21. ^ Organick (1972), op. cit., стр. 22-23
  22. ^ Pugh (1991), op. cit., стр. 356
  23. ^ Corbató, Fernando J.; Merwin Daggett, Marjorie; Daley, Robert C. (3 мая 1962 г.). "Экспериментальная система разделения времени". Труды весенней совместной компьютерной конференции 1-3 мая 1962 г. (AIEE-IRE '62 (Spring)) . Association for Computing Machiner. стр. 335–344. doi : 10.1145/1460833.1460871 . ISBN 9781450378758. S2CID  234039583.
  24. ^ ab Ван Флек, Том. «IBM 7094 и CTSS». www.multicians.org . Получено 30 октября 2023 г. .
  25. ^ Crisman, PA, ed. (31 декабря 1969 г.). "The Compatible Time-Sharing System, A Programmer's Guide" (PDF) . The MIT Computation Center . Получено 10 марта 2022 г. .
  26. ^ ab Деннис, Джек Б. (Джек Боннелл); О'Нил, Джуди Э. (31 октября 1989 г.). «Устное историческое интервью с Джеком Боннеллом Деннисом». hdl :11299/107244 . Получено 31 октября 2023 г. .
  27. Корбато, Ф.Дж. (14 ноября 1990 г.). «Устное историческое интервью с Фернандо Х. Корбато». hdl : 11299/107230 . Проверено 31 октября 2023 г.
  28. ^ аб Фано (1979), соч. цит., с. 348
  29. ^ "Коллекция: Массачусетский технологический институт, Лаборатория исследований компьютерных наук | MIT ArchivesSpace". archivesspace.mit.edu .
  30. ^ "GE-635 в проекте MAC и BTL". multicians.org . Получено 19 октября 2023 г. .
  31. ^ "Project MAC Progress Report III, 1966-67" (PDF) . Архивировано из оригинала (PDF) 4 июня 2016 г.
  32. ^ "Project MAC Progress Report V, 1966-68" (PDF) . Архивировано из оригинала (PDF) 4 июня 2016 г.
  33. ^ Майкл Д. Шредер и Джером Х. Зальцер. «Архитектура оборудования для реализации защитных колец» . Получено 27 сентября 2012 г.
  34. ^ Дональд А. Маккензи (2001). Механизация доказательства: вычисления, риск и доверие . MIT Press. ISBN 0-262-13393-8.

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