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] Последний Gamma 60 оставался в эксплуатации до 1974 года. [6]

Дизайн

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

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

Процессор

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

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

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

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

В современных терминах процессор Gamma 60 можно описать как аппаратный центральный процессор с разделением времени для асинхронных параллельных процессов, использующий явный параллелизм fork-join на уровне инструкций. [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 относятся самые медленные периферийные устройства, такие как телетайпы и пишущие машинки.

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

Блок-схема Гаммы 60

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

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

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

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

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

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

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

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

Инструкции

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

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

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

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

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

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

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

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

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

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

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

Клиенты

Масштабная модель RTT Gamma 60, экспонируемая в компьютерном музее NAM-IP в Намюре, Бельгия.

Около двадцати крупных компаний и организаций проявили интерес к 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]

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

Наследие

Bull выделила значительные ресурсы на разработку 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. Gamma 60 также была показана в фильме Жана-Люка Годара Alphaville (1965), изображающем антагониста компьютера Alpha 60. [19]

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

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

Ссылки

  1. ^ Батай, М. (1972-04-01). «Что-то старое: Gamma 60 — компьютер, опередивший свое время». ACM SIGARCH Computer Architecture News . 1 (2): 10–15. doi :10.1145/641276.641278. ISSN  0163-5964.
  2. ^ abcd "Архитектурный эскиз Bull Gamma 60 -- Марк Смотерман". www.feb-patrimoine.com . Получено 13 августа 2023 г.
  3. ^ Thornton, James E. (октябрь 1980 г.). "Проект CDC 6600". Annals of the History of Computing . 2 (4): 338–348. doi :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 . Получено 2023-08-13 .
  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). "Программирование особенностей проектирования компьютера GAMMA 60". Доклады и обсуждения, представленные на 3-5 декабря 1958 года на восточной объединенной компьютерной конференции: Современные компьютеры: цели, конструкции, приложения на XX - AIEE-ACM-IRE '58 (Восточная) . С. 174–181. doi :10.1145/1458043.1458080.
  13. ^ ab Mounier-Kuhn, Pierre (2014). «Algol во Франции: от универсального проекта к встроенной культуре». IEEE Annals of the History of Computing . 36 (4): 6. ISSN  1058-6180.
  14. ^ Фламм, Кеннет (2010-12-01). Создание компьютера: правительство, промышленность и высокие технологии. Brookings Institution Press. 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. ^ "В главной роли компьютер - Булл Гамма 60 в Альфавилле (1965)". www.starringthecomputer.com . Получено 21.08.2023 .

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