Когда мы произносим словосочетание «французские технологии», первыми в голову приходят названия «Рено», «Пежо» и «Ситроен». Однако если уточнить запрос до «французские компьютерные технологии», память дает сбой, а то и вовсе норовит упасть в BSOD. Тем не менее, во Франции успешно создавали компьютерные системы, причем первые из них появились еще в начале пятидесятых годов ХХ столетия. Об одной такой машине, обогнавшей по популярности компьютеры от IBM — наш сегодняшний рассказ.

Компьютер Bull Gamma 3 изначально задумывали, как электронный ускоритель для электромеханических счетных машин, подобных тем, которые в США уже много лет производила и продавала корпорация IBM (речь, в частности, идет об IBM 604 — электромеханическом калькуляторе, серийно выпускавшемся с 1948 года). В Европе у IBM имелся конкурент: парижская компания Compagnie des Machines Bull, до 1950 года выпускавшая табуляторы и электромеханические калькуляторы. Эти устройства использовались для складского и бухгалтерского учета, а также подсчета зарплат на многих предприятиях Франции. Собственно, и сама компания была основана в 1931 году, как производитель устройств под названием «комбинированная машина для сортировки, записи и табуляции перфокарт», которую в 1919 году изобрел норвежский инженер по имени Фредрик Розинг Булл.


Табулятор

Французы приобрели патент Булла и наладили выпуск табуляторов — машин, предназначенных для автоматической обработки (суммирования и категоризации) числовой и буквенной информации, а также электромеханических арифмометров. Как и другие подобные устройства того времени, машины Compagnie des Machines Bull выполняли арифметические операции с использованием набора цифровых колес, приводимых в движение электрическим устройством на основе реле. Проще всего на таком калькуляторе было выполнить операцию сложения, а вот вычитание или умножение требовало значительных временных затрат.

В 1949 году инженеры Compagnie des Machines Bull задумались над идеей использовать вместо реле вакуумные лампы, скорость переключения которых была намного выше — это позволило бы увеличить быстродействие их электромеханических калькуляторов. От задумки они перешли к делу, и уже к 1951 году собрали прототип «ускорителя» для собственных вычислительных устройств. Схемы этой машины состояли из 400 электронных ламп, 8000 германиевых диодов и 48-битных регистров, состоящих из электрических линий задержки, призванных снизить влияние не слишком надежных вакуумных трубок на работоспособность машины. Весил аппарат 900 кг. Устройство понемногу обрастало все новыми элементами, и к 1952 году превратилось в полноценную электронно-вычислительную машину, получившую название Gamma 3.



Компьютер использовал тактовую частоту 281 кГц, намного более высокую, чем у конкурирующих вычислительных машин того времени (например, IBM 604 работала на частоте 50 кГц), а главное — обеспечивал большую скорость вычислений. Gamma 3 выполняла сложение двух чисел за 680 микросекунд, а на умножение требовалось 5,7 миллисекунд. Инструкции для выполнения расчетов можно было запрограммировать на специальной панели Gamma 3, кроме того, вместо этой панели можно было подключить табулятор: тогда подготовленная в нем программа запускалась непосредственно на компьютере.



Такой набор инструкций мог включать не более 64 шагов. Длительность выполнения инструкций варьировалась от 0,6 до 10 миллисекунд, а в среднем на обработку одной инструкции уходило 2 миллисекунды, что по тем временам считалось весьма неплохим показателем. В конструкции Gamma 3 в отличие от других компьютеров того времени имелось целых два арфиметико-логических устройства: одно для работы с числами в двоичной системе (48-битные слова), использовавшееся в процессе научных и промышленных вычислений, другое — для десятичных чисел (12-битные слова), применявшихся преимущественно в ходе обработки бизнес-данных. Переключение между этими режимами осуществлялось с помощью специальных инструкций. Несмотря на то, что Bull Gamma 3 использовал полный по Тьюрингу набор команд и оперировал в двоичной системе счисления, у этого компьютера изначально отсутствовала возможность хранить программы в памяти. Фактически, первая модель Gamma 3 представляла собой большую приставку к табулятору, а не наоборот.



Ситуация изменилась с появлением концепции Programme Par Carte, PPC: согласно этому принципу инструкции для Gamma 3 кодировались на перфокартах и считывались с них посредством табулятора. Примерно в то же время аналогичные разработки вела и корпорация IBM — у американцев проект назывался CPC (Card Programmed Calculator), он позволял подключать блок для работы с перфокартами к счетным машинам 604-й серии.

Использование PPC позволило обойти ограничение в 64 шага программы — теперь она могла содержать любое количество команд, что приблизило Gamma 3 к более современным ЭВМ. Да и скорость выполнения инструкций определялась быстродействием считывающего перфокарты устройства. Компьютеры серии Gamma 3 строились под заказ, и пользовались определенным спросом: их покупали крупные предприятия и кредитные организации. Первым клиентом, заказавшим этот компьютер, стал банк Crédit Lyonnais в Сент-Этьене, позже ЭВМ от Compagnie des Machines Bull приобретали коммерческие и научные учреждения, в частности, европейская организация по ядерным исследованиям CERN.

В 1955 году компания Compagnie des Machines Bull модифицировала компьютер: новая модель получила обозначение Gamma AET (Armoire Extension Tambour). Основным отличием этой версии ЭВМ стало появление магнитного барабана в качестве основного хранилища программ. Барабан представлял собой дюралевый цилиндр длиной 15 или 30 см, вращающийся со скоростью около 2750 оборотов в минуту. На него можно было записать 64 (для 15-сантиметрового барабана) или 128 дорожек (для 30-сантиметрового) по 8 блоков, каждый из которых содержал 16 слов по 48 бит. То есть, совокупный объем накопителя достигал 49 152 инструкций или 49 килобайт — довольно большого по тем временам значения.



Вообще, память в Gamma 3 и AET была устроена довольно оригинально для начала 50-х годов. Она включала три основных конструктивных элемента. Ядро памяти составляла так называемая «память оператора» — аккумулятор, состоящий из семи регистров непосредственно в арифметико-логическом устройстве. Кроме него память машины содержала дополнительный аккумулятор для 96-битной арифметики двойной точности, и регистры общего назначения, которые французские инженеры называли «Mémoires Banales». Обмен данными между общими регистрами и дополнительным аккумулятором осуществлялся через память оператора. В дополнение к этому основная память машины содержала шесть внутренних регистров: сдвиговый регистр, регистр для хранения результатов операций сравнения, знаковый регистр, счетчик программ и регистр стека.



Второй модуль, собранный в отдельном шкафу, был реализован на магниторестриктивных линиях задержки и играл роль буферной памяти, в которой сохранялись данные, считываемые с магнитного барабана и записываемые на него. Фактически, этот модуль представлял собой буфер ввода-вывода. Данные хранились в буфере группами по 48 инструкций, называемыми «сериями». При необходимости серия перемещалась с магнитного барабана в промежуточную буферную память, действующую как кэш инструкций, что позволяло компьютеру последовательно выбирать из кэша строки программы и передавать их в регистр команд. Интересно, что оператор мог менять внутри арифметического устройства компьютера инструкции, их параметры и адреса. Эта возможность проложила путь для косвенной или индексной адресации. Благодаря использованию буферной памяти в Gamma 3 отсутствовала характерная для компьютеров от IBM (в частности, IBM 650) проблема с замедлением работы программ из-за неоптимальной записи инструкций на магнитный барабан, в результате которой возникали задержки при считывании команд в память



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

Компьютер использовал сложный набор инструкций, состоявших из 16-битных слов. Каждое слово включало четыре шестнадцатеричных числа: код операции, адрес, начальный порядок (Ordre Début) и конечный порядок (Ordre Fin) — последние два параметра определяли позиции хранящихся данных, например, адреса дорожек магнитного барабана или блока памяти, в котором записана информация. При этом код операции определял тип инструкции, а остальные три значения играли роль передаваемых инструкцией значений.

Изначально в Gamma 3 отсутствовало какое-либо подобие ассемблера или языка высокого уровня, поэтому программирование компьютера представляло собой нетривиальную задачу. Сначала программист составлял на бумаге алгоритмическую блок-схему будущей программы, по ней записывал мнемоническую последовательность команд. Ее при помощи специальных таблиц нужно было перевести в машинный код, который записывался опять же на бумаге. После тщательной проверки код переносился на перфокарты. В процессе копирования программы с перфокарт на магнитный барабан оператор мог запустить ее пошаговое выполнение в режиме отладки, и при необходимости изменить те или иные данные в памяти, а затем сохранить изменения.



Поскольку на практике операторам Gamma 3 часто приходилось выполнять одни и те же стандартные вычисления, вскоре для них разработали некое подобие «стандартных библиотек» — наборы перфокарт с уже готовой и отлаженной программой, в которую нужно было только добавить свои значения. Такие наборы поставлялись заказчикам вместе с компьютером. К ним относилась, например, программа PDF (Point Decimal Flottant), добавлявшая две дополнительные инструкции: BD и DCC для облегчения использования чисел с плавающей запятой. Позже, в середине 50-х, группа студентов из Университета Лилля под руководством профессора Пьера Бахуса создала для Gamma 3 язык программирования наподобие Ассемблера, получивший название Auto-Programmation Bull (APB). Этот язык быстро завоевал популярность среди пользователей Gamma 3, и даже был портирован на IBM 1620.

В 1957 появилось на свет третье поколение ЭВМ: Gamma 3 ET — Extension Tambour, что означает «расширенный барабан». Барабан в этой машине действительно был увеличен: его объем составил 16 384 слов или 50 000 инструкций (98 килобайт). Также компьютер получил дисплей от осциллографа для проверки памяти и клавиши для пошагового ввода кода. При этом табулятор по-прежнему мог служить устройством ввода-вывода, а Gamma 3 играл при нем роль центрального вычислительного устройства с архитектурой Фон-Неймана.



Bull Gamma 3 успешно конкурировал с похожим по архитектуре компьютером IBM 650 и завоевал заметный успех в Европе: всего до 1962 года, когда выпуск этой машины прекратили, было продано 1200 экземпляров компьютера — больше, чем продажи IBM 650 во всех европейских странах. Gamma 3 ET стал самой успешной французской коммерческой ЭВМ с хранимыми программами, и этот успех во многом сподвиг конкурентов из IBM на разработку и выпуск более совершенного компьютера IBM 1401.

До наших дней дошло только четыре экземпляра Gamma 3: один можно увидеть в технологическом музее во Фракфурте, второй — в Анжере, Франция, где собирали эти машины, третий — в Museo degli Strumenti per il Calcolo в итальянской Пизе. Наконец, единственный сохранившийся Gamma 3 версии ЕТ выставлен в музее ACONIT во французском Гренобле. А разработчик компьютера, компания Compagnie des Machines Bull, прекрасно чувствует себя и сегодня — под названием Atos Group она производит различную промышленную и медицинскую электронику.

Статья поддерживается командой Serverspace.

Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows из любой точки мира менее чем за 1 минуту. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.

Комментарии (5)


  1. Factivist
    08.12.2023 11:18
    +1

    Однако если уточнить запрос до «французские компьютерные технологии», память дает сбой

    Ну почему же, можно сразу вспомнить https://ru.wikipedia.org/wiki/Минитель


    1. pae174
      08.12.2023 11:18
      +5

      Да ну и не только это.

      Первый в мире механический сумматор создан Паскалем во Франции в 17 веке.

      Первая в мире телеграфная сеть в национальных масштабах создана во Франции в 18 веке (оптический телеграф).

      Первый в мире старт-стопный телеграфный аппарат придумал в 19 веке француз Жан Эмиль Бодо, в честь которого теперь и называется единица измерения скорости передачи данных в электрических линиях связи. Он же придумал и телеграфный код. Старт-стопные аппараты открыли дорогу к созданию телетайпа и телексных систем.

      В конце 19 века Франция рулила по части телеграфной связи и всякие там Америки тупо пытались её догнать. Попытки объединить в единое целое разрозненные национальные сетки привели к необходимости хоть какой-нибудь стандартизации всего этого дела и в результате именно во Франции в 1865 году была создана организация под названием Международный Телеграфный Союз, которая позже была переименована в, татааааа, Международный Союз Электросвязи (ITU).

      Минитель, опередивший всемирную паутину примерно на 20 лет, это просто результат национального фанатизма в части телеграфии.


      1. Oangai
        08.12.2023 11:18
        +3

        результат национального фанатизма

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

        Другое дело, что еще в относительно недавнем прошлом, с 19го века точно, можно увидеть примерно равного размера технологические зоны развившиеся каждая на своём культурно- языковом контексте - французская, английская, немецкая, российская, даже нидерландская, вполне самодостаточная. Пока мир был не слишком связан, это был такой граф с четко выраженными кластерами, развитие научной и инженерной мысли произходило преимущественно в своём пространстве, заимствования случались реже. А потом получилось что англоязычная разрослась на весь мир, немецкая в неё интегрировалась и почти растворилась, российская ушла с мировой сцены, а французская изза их врожденной неприязни к английскому языку как-то замкнулась сама на себе и существует как на другой планете, производит отличное качество но морально отстаёт на несколько лет от остального мира. С Японией кстати тоже похоже выглядит. Про Францию по своему опыту знаю, работал с ними.


  1. Javian
    08.12.2023 11:18
    +2

    память в Gamma 3 и AET была устроена довольно оригинально для начала 50-х годов

    Читаешь про память, а на иллюстрации видишь выпрямительный блок...


    1. Oangai
      08.12.2023 11:18
      +2

      да, суровая память на селеновых выпрямителях и силовых конденсаторах!