stringtranslate.com

Бык Гамма 60

Bull Gamma 60 — большой транзисторный мейнфрейм, разработанный компанией Compagnie des Machines Bull . Первоначально анонсированный в 1957 году, первый компьютер был поставлен в 1960 году. Он стал первым в мире многопоточным компьютером и первым, имеющим архитектуру, специально разработанную для параллелизма . [1] [2]

Gamma 60 стала инициатором множества новаторских технологий в начале 1960-х годов, особенно в области мультипрограммирования, с использованием инструментов, которые все еще находились на зачаточной стадии. После выпуска его архитектура привлекла значительное внимание конструкторов машин, стала предметом изучения наряду с современными суперкомпьютерами и была приведена в качестве примера прогресса в компьютерном проектировании. [3] [4]

Несмотря на свои инновации, большая площадь Gamma 60 (около 4000 кв. футов), высокая стоимость, энергопотребление и сложность в конечном итоге привели к ограниченному коммерческому успеху: по всему миру было продано всего около двадцати единиц. Его основными конкурентами были IBM 7070, 7090 и 7030 «Stretch». [5] Последняя Гамма 60 оставалась на вооружении до 1974 года. [6]

Дизайн

Gamma 60 ознаменовал выход Bull на рынок оперативной памяти , твердотельной логики и возможностей магнитной ленты . [7] Его архитектурное ядро ​​было основано на большой высокоскоростной центральной памяти с арбитром (известным как Распространитель программ), ответственным за распространение данных и инструкций по различным блокам компьютера. Процессор был разделен на центральный блок и ряд дискретных специализированных процессоров. Такая конструкция позволяла одновременно работать до пяти кластеров, каждый из которых содержал пять процессоров. [8]

Каждый блок компьютера, будь то процессор или периферийное устройство, работал автономно и запрашивал данные и инструкции от центрального блока, когда они становились доступными. Передача данных к блокам обработки и обратно происходила через две независимые шины — одну для передачи, а другую для извлечения. [4]

Процессор

Процессор работал в 24-битной параллельной конфигурации, при этом его основные типы данных содержали одно, два или четыре слова, также называемые «катенами», шириной от 24 до 96 бит. Более простые и медленные внешние устройства часто использовали внутреннюю 8-битную параллельную логику. Эти устройства обменивались данными с центральным блоком посредством последовательных битовых сообщений для запросов на передачу инструкций и данных. Все сообщения были асинхронными, и машина посредством классов приоритета была спроектирована так, чтобы при необходимости справляться с очень высокими задержками устройства, даже от АЛУ ( арифметико-логического устройства ). [4]

Процессор был разделен на четыре типа обрабатывающих элементов: [2]

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

Учитывая распределение процессоров по отдельным шкафам, выбор более медленной тактовой частоты в 100 кГц, половины от изначально предусмотренной, был направлен на смягчение влияния задержек распространения . Хотя это накладывало ограничение на производительность отдельных процессоров, стратегия Булла заключалась в том, чтобы уравновесить это за счет параллелизма и возможности легко добавлять дополнительные процессоры. [5] Интересно, что хотя логика Gamma 60 была транзисторной, рабочее напряжение германиевых транзисторов было слишком низким, чтобы противостоять импедансу больших расстояний, которые иногда могли возникать между некоторыми шкафами и периферийными устройствами. В результате в некоторых случаях для управления часами и некоторыми сигналами ввода-вывода приходилось использовать электронные лампы. [9]

Говоря современным языком, процессор Gamma 60 можно было бы описать как центральный процессор с аппаратным разделением времени для асинхронных параллельных процессов, использующий явный параллелизм разветвления-соединения на уровне инструкций. [4]

Gamma 60 предвосхитил архитектуру суперскалярных процессоров , где роль центральной памяти теперь частично берут на себя кэши. Кроме того, он имел сходство с архитектурами EPIC, такими как Intel Itanium , в том, что каждая инструкция представляла собой отдельный поток, а управление параллелизмом выполнения и согласованностью доступа к памяти было возложено на программиста. [8] [4]

Память

Основная память Gamma 60

Центральная память была реализована в виде стека основной памяти с базовым циклом памяти 10 мкс, что делало ее самым быстрым компонентом Gamma 60 (для сравнения, на добавление фиксированной точки требовалось 100 микросекунд). Адреса основной памяти были закодированы 15-битами, что позволяло хранить в центральной памяти 32 768 слов или 96 КБ.

Карта памяти была непрерывной и использовалась всеми устройствами, за исключением первых 128 байт, которые были специфичными для устройства и содержали набор локальных регистров. Поскольку центральная память имела самую низкую задержку среди всех компонентов, она составляла сердце Gamma 60. Отныне процессорные блоки не имели рабочей памяти, кроме своих регистров, вместо этого Распространитель программ отправлял им данные и инструкции. путем загрузки указателей на центральную память в их регистры. [4]

Память объемом 128 байт каждого процессора была реализована с использованием памяти планарного ядра и соответствовала следующей карте: [2]

Единственным исключением был Дистрибьютор программ, у которого был собственный набор регистров.

Периферийные устройства

Периферийные устройства Gamma 60 были разделены на четыре отдельных класса в зависимости от их задержки и характеристик производительности. [10]

Класс 0

Консоль Bull Gamma 60

Класс 0 включал самые быстрые и критичные ко времени периферийные устройства. Распространитель программы предпочитал этот класс любому другому для передачи инструкций и данных. Он состоял из двух устройств: логического устройства (двоичного АЛУ) и пульта оператора.

Класс 1

Класс 1 включал арифметический блок (BCD ALU), общий компаратор и транскодер (блок перевода).

Класс 2

Класс 2 включал устройства хранения данных, в частности:

Магнитные барабаны действовали как большие запоминающие устройства с более медленным временем доступа, чем центральная память (10 миллисекунд против 10 микросекунд). К Gamma 60 можно было добавить до четырех барабанов, каждый емкостью 128 дорожек по 200 слов (по 150 КБ каждая). Их память не была сопоставлена ​​с пространством имен основной памяти, но к ней обращались так же, как к магнитной ленте.

Каждый из десяти специализированных процессоров ввода-вывода Uniselectors мог управлять до двенадцати ленточных накопителей. Однако одновременно можно было подключить только 48 ленточных накопителей.

Магнитные ленты имели плотность записи 200 бит на дюйм и длину 730 или 1100 м. В устройствах с магнитной лентой использовалась фазовая модуляция , а не NRZ (невозврат с нуля), технология, которая ранее была разработана для барабанной памяти Gamma 3 .

Класс 3

Класс 3 включал более медленное записывающее оборудование, такое как:

Класс 4

Наконец, в класс 4 вошли самые медленные периферийные устройства, такие как телетайпы и пишущие машинки.

Цикл выполнения

Блок-схема Gamma 60

Механизм секвенирования, используемый Gamma 60, включал в себя оркестрацию выборки и распределения инструкций, контроль выполнения, доступ к памяти и межпроцессное взаимодействие. Следующая последовательность описывает полный цикл выполнения инструкции: [2]

  1. Распространитель программ просканировал процессор с наивысшим приоритетом, запрашивающий инструкцию (сигнал ITR).
  2. Распространитель программы отправил сигнал процессору с наивысшим приоритетом, который затем вернул свое слово состояния, которое впоследствии было помещено в регистр адреса (AR).
  3. а ) Если устройство было занято, но в данный момент не выполняло директиву, дистрибьютор программы извлекал и выполнял инструкцию, адресованную регистром адреса программы (PAR) этого устройства. Когда встречалась новая директива, она отправлялась в процессор, и распространитель программы сканировал ее в поисках другой работы. б ) Если процессор с наивысшим приоритетом был доступен, распространитель программы проверял очередь устройства на наличие ожидающих процессов. Если он был найден, PAR загружался с адресом указателя заголовка очереди процессорного устройства плюс один, указатель заголовка очереди обновлялся, и для этого устройства начиналась выборка и выполнение инструкций до тех пор, пока не было встречено директивное (или вырезанное) слово. Как и раньше, после отправки директивы распространитель программы сбросил сигнал запроса инструкций и просканировал другую работу.
  4. Когда процессор был готов принять или передать данные в/из памяти, он подал сигнал арбитру памяти.
  5. Арбитр памяти удовлетворил запрос памяти, используя адрес из соответствующего DAR (регистра адреса данных).
  6. Процессор продолжал передачу данных до тех пор, пока инструкция не была завершена. Затем он отправил дистрибьютору программы сигнал запроса новой инструкции.

Программирование

Программирование Gamma 60 было утомительным, поскольку в то время не существовало адекватных инструментов разработки для параллельного программирования. Языки высокого уровня появились только через два года после появления Gamma 60.

Существовали два типа машинных языков:

Осознав необходимость языка высокого уровня, Булл начал разработку нового языка для Gamma 60 под названием AP3. Однако в конечном итоге от этой инициативы отказались в пользу АЛГОЛА , в который Булл вложил значительные средства, начиная с конца 1950-х годов. [13] Компилятор ALGOL 60 был выпущен в декабре 1962 года. [13]

Хотя Algol решил множество сложных проблем при программировании Gamma 60, он плохо подходил для бизнес-приложений. Кроме того, COBOL еще не существовал на момент разработки Gamma 60, и на протяжении всего срока службы компьютера он все еще находился на ранней стадии своего развития. Кроме того, в Gamma 60 использовалась модель вилочного соединения [7] , для которой COBOL не был разработан. В результате у разработчиков не было другого выбора, кроме как использовать код B для программирования Gamma 60 в бизнес-приложениях. [7]

Отсутствие продвинутых инструментов высокого уровня для разбиения задач на небольшие параллельные потоки означало, что большинство программ использовали лишь часть возможностей оборудования. [14]

инструкции

Полная инструкция Gamma 60 состояла из серии 24-битных слов четырех типов:

Полная инструкция всегда должна завершаться директивой.

Форматы инструкций могли различаться в зависимости от процессора и поддерживали прямую, относительную и косвенную адресацию памяти. Gamma 60 в основном выполняла операции с памятью посредством операций загрузки-сохранения в основной памяти или использовала инструкции обработки для управления регистрами в процессорах. Многопроцессорная обработка осуществлялась с помощью двух инструкций: Cut («coupure») активировала процессор, указав адрес программы, а simu («simultané») включала асинхронную ветвь для другого устройства.

В качестве примера рассмотрим следующее выражение:

Это можно реализовать с помощью следующего псевдокода Gamma 60: [4]

[C] переход к единице умножения: [A] адрес (нагрузка) b [A] адрес (нагрузка) c [А] адрес (магазин)а Директива [D] (несколько)[C] сократить до арифметической единицы: [A] адрес (загрузка) a [A] адрес (нагрузка) d [A] адрес (магазин) d Директива [D] (добавить)

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

Ранняя операционная система GGZ ( Gestion Générale Zéro , или версия General Management Zero) была разработана для Gamma 60. Она поставлялась в виде компактного резидентного супервизора, хранящегося на магнитной ленте и содержащего загрузчик, таблицу ресурсов, обработчик ошибок и оператор. командный интерпретатор. Загрузчик был способен инициализировать несколько переменных во время загрузки или принимать их от оператора. [7]

Более совершенная операционная система, GGU ( Gestion Générale des Unités ), была позже выпущена, но осталась незавершенной, поскольку срок службы компьютера приближался к концу. GGU представил такие функции, как управление памятью, улучшенное восстановление ошибок, а также автоматическое управление и планирование заданий. [11] В частности, он использовался в RTT в Бельгии. [6]

К сожалению, программные инструменты, доступные в конце пятидесятых и начале шестидесятых годов, такие как компиляторы, операционные системы и отладчики, были все еще слишком примитивны, чтобы полностью использовать возможности Gamma 60. Только появились компиляторы, позволяющие автоматически использовать параллелизм для архитектуры EPIC. в конце 1990-х годов, после периода разработки, превысившего весь срок службы Gamma 60. [5]

Из-за серьезных проблем при разработке программ с использованием грубых инструментов того времени Булл потерял нескольких клиентов из-за IBM, чьи машины, хотя и были однопроцессорными, были проще и экономичнее. [15]

Клиенты

В конце пятидесятых — начале шестидесятых годов интерес к Gamma 60 проявили около двадцати крупных компаний и организаций, хотя не все из них совершили покупку. Устройство, отправленное AG Vie, было первым, произведенным, но у него возникли проблемы с надежностью, поскольку некоторые аппаратные проблемы все еще обнаруживались и решались. Поскольку терпение компании закончилось, компьютер был преждевременно выведен из эксплуатации. Gaz de France (ныне Engie ) также выразила интерес, но позже отказалась из-за сложностей реализации и эксплуатации. В конечном итоге контракт был заключен на IBM 7070. Другие клиенты перечислены в таблице ниже: [15]

Масштабная модель SNCF Gamma 60, ранее выставленная на железнодорожной станции Отей под Парижем.

Régie des Télégraphes et Téléphones , позже известная как Belgacom, а теперь Proximus , могла похвастаться одной из крупнейших установок Gamma 60, включающей в среднем двадцать процессоров. [17] Установка занимала два этажа: на нижнем этаже размещался генератор переменного тока мощностью 400 кВА, который подавал стабилизированный ток на компьютер, а также надежные системы кондиционирования воздуха для поддержания постоянной температуры термочувствительной германиевой электроники 18 °C. Верхний этаж был разделен на три комнаты: одну для основного компьютера, другую для операторской консоли и считывателей ленты и последнюю комнату для перфораторов и считывателей карт. [6]

«Гамма-60», прослужившая дольше всех, также находилась в РТТ, где непрерывно проработала 13 лет. Решение заменить две системы Gamma 60 в середине 1970-х годов на несколько компьютеров Siemens 4004 было политически мотивированным, поскольку бельгийское правительство заключило пятилетний контракт, связывающий их информационные системы с Siemens и Phillips. [6]

Наследие

Булл вложил значительные ресурсы в разработку Gamma 60, хотя практическое использование ее архитектурных инноваций стало возможным только в 1980-х или даже 1990-х годах, что сильно повлияло на ее коммерческий успех. [8] Проблемы, с которыми компания столкнулась на рынке, привели к финансовым трудностям, которые помешали созданию более доступной и уменьшенной версии, подходящей для небольших компаний. Вместо этого Gamma 30 среднего класса перешла на лицензионную версию более простого и традиционного компьютера RCA 301, который, хотя и успешно конкурировал с IBM 1401 , не смог извлечь выгоду из инноваций Gamma 60. [18]

В 1963 году Bull была в конечном итоге куплена General Electric , а основным преемником Gamma 60 стало семейство GE 600 , начиная с 1965 года.

На сегодняшний день не существует сохранившихся экземпляров Gamma 60, за исключением некоторых его компонентов, выставленных в некоторых музеях. Компьютерный музей NAM в Намюре, Бельгия, демонстрирует подробную масштабную модель Gamma 60, представленную на выставке RTT. Гамма 60 также была показана в фильме Жана-Люка Годара «Альфавиль» (1965), в котором изображался компьютер-антагонист Альфа 60. [19]

По состоянию на 2023 год не известно о существовании эмулятора Gamma 60.

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

Рекомендации

  1. ^ Батай, М. (1 апреля 1972 г.). «Что-то старое: Gamma 60, компьютер, опередивший свое время». Новости компьютерной архитектуры ACM SIGARCH . 1 (2): 10–15. дои : 10.1145/641276.641278. ISSN  0163-5964.
  2. ^ abcd «Архитектурный эскиз Bull Gamma 60 - Марк Смотерман». www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  3. ^ Торнтон, Джеймс Э. (октябрь 1980 г.). «Проект CDC 6600». Анналы истории вычислительной техники . 2 (4): 338–348. дои : 10.1109/MAHC.1980.10044. ISSN  0164-1239. Мои обязанности по проектированию модели 1604 расширились и теперь включают надзор за растущим числом инженеров. Я ненадолго избежал суматохи, чтобы посетить семинар и краткий курс в Калифорнийском университете в Лос-Анджелесе, посвященный гигантским компьютерам. На семинаре были рассмотрены такие машины как STRETCH, LARC, ATLAS, ILLIAC II и GAMMA 60.
  4. ^ abcdefg Тумлин, Смозерман. «Оценка конструкции Gamma 60». db.aconit.org . Клемсонский университет . Проверено 13 августа 2023 г.
  5. ^ abc "Une Opinion sur la Conception du Gamma 60" . www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  6. ^ abcd "Gamma 60 Bull à RTT, chr4rtt" . www.histoireinform.com . Проверено 13 августа 2023 г.
  7. ^ abcde Bellec, Жан (2002). «Гамма 60, введение». www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  8. ^ abc Беллек, Жан (2003). «Мнение о концепции гаммы 60». www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  9. ^ «Научно-техническое наследие: компьютеру Bull's Gamma 60 60 лет» . Echosciences Grenoble (на французском и английском языках) . Проверено 19 августа 2023 г.
  10. ^ Давус, Батай, Харранд (13 августа 2023 г.). «Le Gamma 60, номинал М. Даву, Батай, Харран, инженеры а-ля Compagnie des Machines Bull». www.feb-patrimoine.com . Проверено 13 августа 2023 г.{{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  11. ^ аб Мэтр, Андре. «История гаммы 60: аспекты техники - логика». www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  12. ^ Дрейфус, Пьер (1958). «Особенности проектирования компьютера ГАММА 60». Доклады и дискуссии, представленные на объединенной восточной компьютерной конференции 3-5 декабря 1958 г.: Современные компьютеры: цели, конструкции, приложения на XX - AIEE-ACM-IRE '58 (Восточный) . стр. 174–181. дои : 10.1145/1458043.1458080.
  13. ^ аб Мунье-Кун, Пьер (2014). «Алголь во Франции: от универсального проекта к встроенной культуре». IEEE Анналы истории вычислений . 36 (4): 6. ISSN  1058-6180.
  14. ^ Фламм, Кеннет (1 декабря 2010 г.). Создание компьютера: правительство, промышленность и высокие технологии. Издательство Брукингского института. ISBN 978-0-8157-0721-9.
  15. ^ аб Бурбулон, Хосе (2005). Приключение Гамма 60 . Бюллетень Федерации спортивного инвентаря. ISBN 978-2-7462-1177-3.
  16. ^ ""Использование самых современных машин свидетельствует о динамизме CNEP - BNP Paribas", с начала 1960-х годов". BNP Paribas – Колодец истории . Проверено 20 августа 2023 г.
  17. ^ "Histoire de la Compagnie des Machines Bull" . www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  18. ^ Леклерк, Бруно. «Le Gamma 60 - Человеческое приключение и техника». www.feb-patrimoine.com . Проверено 13 августа 2023 г.
  19. ^ «В главной роли компьютер - Bull Gamma 60 в Alphaville (1965)» . www.starringthecomputer.com . Проверено 21 августа 2023 г.

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