воскресенье, 28 мая 2023 г.

Фельдман Борис Яковлевич. От калькулятора к суперкомпьютеру



После прочтения книги Ревича и Малиновского про историю советских компьютеров наткнулся однажды на эту книгу, не смог пройти мимо и купил. Прочитать сразу, правда, желания тогда не возникло и эта книга довольно долго лежала у меня на книжной полке. Накоенц, после прочтения книги про историю возрождения Nokia, а скорее под впечатлением от серии статей Рождение советской ПРО (где о ПРО упоминается вскользь, а в основном рассказывается о компьютерах), захотелось прочитать эту книгу.

Автор работал в ИНЭУМ - институте электронных управляющих машин, основанных Исааком Семёновичем Бруком - создателем М-1, одной из первых вычислительных машин в СССР. Сейчас этот институт совмещён с фирмой МЦСТ - Московским Центром SPARC-Технологий, отколовшимся от ИТМиВТ и сформировавшимся из коллектива, который работал над суперкомпьютером "Эльбрус-3". ИТМиВТ - институт точной механики и вычислительной техники, которым руководил конкурент Брука - Сергей Алексеевич Лебедев, под руководством которого была создана другая вычислительная машина, претендующая на звание одной из первых в СССР - МЭСМ.

Калькуляторы

Поначалу автор книги занимался разработкой ЭКВМ - электронных клавишных вычислительных машин или, если говорить современным языком, калькуляторов. Понятное дело, что привычных нам микрокалькуляторов в то время не было, а первые протоипы калькуляторов основывались на транзисторах и имели отдельный массивный системный блок, сравнимый по размерам с системным блоком современного настольного компьютера. Только системный блок тех калькуляторов весил значительно больше.

Основной головной болью при разработке калькуляторов была оперативная память. Борис Фельдман стремился выпустить дешёвую массовую ЭКВМ, для чего нужно было сделать её максимально простой в изготовлении. Широко распространённая в то время память на ферритовых кольцах на эту роль не подходила - наматывать проволоку на ферритовые кольца приходилось вручную, процесс этот был не быстрый и чреват ошибками. Ошибки в количестве намотанных колец могли приводить к труднодиагностируемым сбоям.

В частности, автор рассказывает в книге об одной такой истории, где сотрудники ИНЭУМ ввели трудовую повинность для сотрудников лабораторий: для одного из проектируемых изделий каждый инженер с утра и вечером должен был намотать несколько ферритовых колец. Когда стали собирать вычислительные машины, столкнулись с спорадическими сбоями. После долгих разборок в конце-концов обнаружили, что в нескольких лабораториях наматывали ферритовые кольца с нужным соотношением обмоток, но количество колец в обмотках отличалось от количества колец, наматываемых в других лабораториях. Когда в каждом из изделий стали использовать только одинаковые кольца, сбои прекратились.

Борис Фельдман рассматривал несколько вариантов оперативной памяти для калькуляторов, а в итоге остановился на линиях задержки. Линия задержки - это кусок провода, на одном конце которого закреплён пьезоэлемент, возбуждающее в нём механические колебания, а на другом конце провода установлен пьезоэлемент, преобразующий механические колебания в электрические. Различают линии задержки с продольно-поперечными колебаниями и с крутильными колебаниями. В линию задержки можно отправить последовательность бит, которые необходимо запомнить, а на другом конце - считать их. Если нужно хранить данные постоянно, то их нужно постоянно гонять по этой линии задержки - система в чём-то отдалённо похожая на регенерацию памяти в модулях динамической памяти.

Для увеличения объёма оперативной памяти на линиях задержки можно использовать несколько линий задержки, но для синхронной работы таких линий задержки необходимо, чтобы длина всех используемых линий задержки отличалась не более чем на время, за которое по линии задержки передаётся половина бита. Кроме этого длина линии задержки зависит от перепадов температуры, из-за чего рассинхронизация может наступать при высоких температурах. То есть для исправной работы в условиях Средней Азии точность изготовления линий задержки нужно увеличить.

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

Вот так выглядели микросхемы серии 201 "Тропа", о которых чуть ниже.


ЭКВМ Искра-12 были выполнены на микросхемах серии МИР-10, информацию, а тем более фотографии, которых в сети найти чрезвычайно сложно:


ЭКВМ Искра-111т разрабатывалась параллельно с другими ЭКВМ той же серии. Буква "т" в индексе означало используемые микросхемы - "Тропа".
ЭКВМ с другими буквами в индексе разрабатывались в едином конструктиве, но на основе другой элементной базы. В частности, Искра-111м разрабатывалась на базе интегральынх микросхем МОП.

Требования к конструктиву были очень жёсткими - конкуренты всеми силами пытались сделать их такими, чтобы использовать микросхемы "Тропа" в этих калькуляторах было невозможно. Основным ограничением были габариты устройства. Однако коллективу разработчиков удалось втиснуть в конструкцию больше плат, т.к. минимальное расстояние между платами и их количество не были ограничены требованиями.

Автор книги хотел использовать именно эти микросхемы, потому что их производство уже было освоено для военных нужд. Для того, чтобы автору разрешили использовать микросхемы и транзисторы, на которых они основаны, в гражданской продукции, ему пришлось согласовать с заводами-изготовителями характеристики гражданских вариантов этих микросхем. Требования к гражданским микросхемам были менее жёсткими, а смягчение требований позволило снизить цену будущих ЭКВМ. Как показала практика, автор угадал с выбором элементной базы, т.к. наладить производство его детища на заводах удалось довольно быстро. Серийное производство Искры-111м было налажено не сразу и достигло сравнимых масштабов спустя несколько лет, когда у микросхем МОП были излечены все детские болезни.

Кроме этих ЭКВМ автор упоминает мимоходом ещё одно детище, сделанное как бы между делом. На заводе скопилось большое количество микросхем серии 155. Дело в том, что для поддержания стабильного производства микросхем заводу нужно было постоянно выпускать некоторое их минимальное количество. Но потребителей для этих микросхем было не так много, в результате невостребованны "излишки" оседали на складах завода, а то и вовсе уничтожались. Чтобы исправить положение, заводу нужно было найти применение этим микросхемам. Так появилась ЭКВМ Электроника 155.


Изначально коллектив разработчиков планировал делать свои ЭКВМ для двух сфер потребителей: инженерной и финансовой. Модели ЭКВМ для инженеров должны были развиться до вычислительных устройств, умеющих вычислять разнообразные тригонометрические и логарифмическией функции, а модели для финансовой сферы должны были оснащаться печатающим устройством для печати на лентах и передачи информации по линиям связи. Такие финансовые модели ЭКВМ могли бы встраиваться в сеть для сбора разнообразной статистики, что было особенно важно в плановой экономике для отслеживания статистических показателей и оперативного решения проблем. Далее, по мере развития микроэлектронной базы, план предусматривал постепенную разработку персональных компьютеров. Однако ни тем ни дргим задумкам сбыться не было суждено. Руководству института очень не нравилась лаборатория, ведущая самостоятельную весьма успешную деятельность, не подконтрольную руководству. Конкурентам из других институтов, находящихся в ведомствах других министерств (ИНЭУМ принадлежал министерству приборостроения и средств автоматизации), не нравились успешные конкуренты.

Возможно первые персональные компьютеры, прозведённые в СССР, выглядели бы примерно как IBM 5100, в котором вместо интегрального микропроцессора использовался набор из нескольких микросхем:

Миникомпьютеры

В итоге коллективу автора книги довелось поработать над модулем памяти микропрограмм компьютера М-400, который был совместим по системе команд с заграничным мини-компьютером PDP-11.
Затем коллектив, имея опыт разработки компонентов М-400, был переключен на разработку компьютера СМ-3, совместимого с тем же PDP-11. Несмотря на совместимость и наличие документации на прототип, разработка была в целом оригинальной: воспроизводились только система команд и интерфейсы, а внутренние архитектурные решения были оригинальными. Из-за несовершенства элементной базы память микропрограмм в СМ-3 была более медленной, чем в прототипе, но благодаря оригинальным архитектурным решениям разработчикам удалось достичь производительности, аналогичной прототипу.

К сожалению, мне не удалось найти в сети фотографий именно СМ-3. Аналогичный компьютер СМ-4, который был немного быстрее и поддерживал операции с плавающей запятой, выглядел вот так:
Следующим проектом был спецпроцессор к компьютерам СМ-3 или СМ-4 для вычисления быстрого преобразования Фурье и ряда других массово-параллельных вычислений. Процессор этот разрабатывался в крайне сжатые сроки, т.к. предполагалось, что он будет использоваться при радиолокации поверхности Венеры. Нужно было спроектировать спецпоцессор, раработать аппаратуру для сопряжения спецпроцессора с компьютерами СМ, написать программное обеспечение - драйвер спецпроцессора и библиотеки, которыми можно было бы пользоваться в программах для компьютера СМ. До приёма сигналов с Венеры нужно было ещё разработать и отладить соответвствующе программное обеспечение.

Не нашёл в сети фотографий спецпроцессора, зато нашёл фотографию вычислительной системы, которая обрабатывала информацию с межпланетных космических станций Венера-15 и Венера-16 и на которой формировалась карта поверхности Венеры:

Спецпроцессоры

Интерес к спецпроцессорам заставил меня слегка погрузиться в тему. Оказалось, что этот спецпроцессор не был единственным. Некоторое количество спецпроцессоров было выпущено и для компьютеров серии ЕС:
  • ЕС-1766 - макроконвейер для ЕС-1060 или ЕС-1066,
  • ЕС-2335 - матричный процессор, Болгария,
  • ЕС-2345 - матричный процессор, главный конструктор Арман Кучукян,
  • ЕС-2700 - матричный процессор, Болгария,
  • ЕС-2701 - макроконвейер, ИК АН УССР, В. М. Глушков,
  • ЕС-2703 - многопроцессорная вычислительная система из 16-64 процессоров, академик Анатолий Васильевич Каляев,
  • МДА ЕС-2704 - спецпроцессор, НИЦЭВТ, главный конструктор - В. У. Плюснин,
  • ЕС-2706 - матричный процессор, Болгария,
  • МДА ЕС-2727 - проект не завершён из-за прекращения финансирования,
  • МДА ЕС-2740 - миникомпьютер, уменьшенная в 6 раз по производительности версия МДА ЕС-2704.
Также к спецпроцессорам для миникомпьютеров СМ-2М можно отнести суперкомпьютеры ПС-2000, ПС-2100, которые были разработаны ИПУ - институтом проблем управления министерства приборостроения и средств автоматизации.
Кроме вычислительных спецпроцессоров существовали также и спецпроцессоры для выполнения программ для устаревших вычислительных систем на оборудовании более современных компьютеров и спецпроцессоры для поддержки выполнения программ, написанных на некоторых языках программирования.

В качестве примера спецпроцессоров первой категории можно привести спецпроцессор для выполнения программного обеспечения компьютеров БЭСМ-6 на аппаратном обеспечении компьютеров Эльбрус - Эльбрус-1К2 и Эльбрус-Б.

Ещё одним примером спецпроцессоров одновременно первой и второй категории можно считать процессор ЕС-1035, память микропрограмм которого можно было заменить. Этим, в частности, пользовались для выполнения программного обеспечения компьютеров Минск-32. А поскольку компьютеры Минск-32 были совместимы с программным обеспечением предыдущих компьютеров серии - Минск-2, Минск-22, Минск-22М, то выполнять на процессоре ЕС-1035 можно было и программы этих компьютеров. На этом же процессоре путём замены микрокода осуществлялась поддержка выполнения программ на языке Рефал.

Примером спецпроцессора второй категрии можно считать спцепроцессор ЕС-2702, который был предназначен для выполнения программ на языке программирования Рефал. В отличие от предыдущего случая, где процессор ЕС-1035 совмещал в себе функции основного процессора и спецпроцессора, в этом случае поцессор ЕС-2702 выполнял функции только спецпроцессора и ничем другим, кроме как поддержкой выполнения программ на языке Рефал, не занимался.