Знай меру! История польского компьютера Mera 400

afty15y07b71tyriaqivt_wbwmu.jpeg
Польша — одно из немногих государств бывшего соцлагеря, сумевших выстроить собственную индустрию производства компьютеров от больших промышленных мейнфреймов до настольных персоналок. Между тем, о польских ПК родом из 70-х — 80-х известно не так уж и много: они использовались в основном в пределах самой Польской Народной Республики и на экспорт не поставлялись.

О выпускавшихся во Вроцлаве больших «промышленных» ЭВМ семейства Odra на «Хабре» уже выходила очень интересная статья. В ней упоминались и другие компьютеры производства польских промышленных предприятий, но как-то кратко и вскользь, поэтому я решил рассказать об одном из таких устройств чуть более подробно, дополнив тем самым недостающие фрагменты картины.

Устройство компьютера


После провала проекта K-202 Яцека Карпинского (об этой истории можно прочитать в статье по ссылке выше), одной из самых успешных и известных польских ЭВМ по праву считается Mera 400. Известна она прежде всего благодаря участию в фильме «Сексмиссия, или Новые амазонки», правда, в кадр кинооператора попал в основном терминал этого компьютера, а сама машина была чуть менее «кинематографичной» и чуть более похожей на обычные ЭВМ конца 70-х.

Разрабатывалась Mera 400 на фундаменте того самого неудачного K-202. Примечательно имя разработчика: это Эльжбета Барбара Езерска-Земкевич, урожденная Ольшевская — польская программистка и компьютерный инженер, первая и самая известная в Польше женщина-компьютерщик. В 1965 году она окончила факультет электроники и информатики Варшавского политехнического университета, а затем устроилась в «Институт математических машин», где занялась разработкой ЭВМ. Первым компьютером, созданным при ее непосредственном участии, стал транзисторный мейнфрейм ZAM-21, за ним последовала ЭВМ Odra 1305, к которой Эльжбета тоже приложила свою нежную женскую руку. Но польской промышленности в первую очередь были необходимы относительно небольшие и недорогие компьютеры, занимающие не отдельное кондиционируемое помещение, а хотя бы средних размеров шкаф с электронными платами. При этом такие компьютеры должны были соперничать по своей вычислительной мощности с мейнфреймами практически на равных. Вот такой машиной и стала Mera 400.

zcpkbane_chw3wnqmfzdy3wh8sk.jpeg

Разработка компьютера началась в 1974 году, а в 1976 уже было налажено серийное производство этой ЭВМ на заводе компьютерных систем MERA в Варшаве. Машина имела традиционную для середины 70-х архитектуру: два отдельных 16-битных процессорных модуля, связанных одной магистральной шиной. Каждый процессорный модуль состоял из 6 печатных плат размером 30×30 сантиметров, заполненных микросхемами.

onm984oasic9f_lyicvrqetz-rg.png

Одна такая плата отвечала за строго определенную часть функций центрального процессора Mera 400, который был полностью построен на ТТЛ-логике. Процессор включал 530 микросхем (то есть, порядка 20 000 транзисторов), причем в его конструкции использовались как польские микросхемы, так и чипы, изготовленные на чехословацком предприятии Tesla и венгерском заводе Tungsram. В архитектуре использовалось и несколько зарубежных микросхем, для которых поляки не сумели подобрать восточноевропейские или советские аналоги. Каждая плата имела на торце 192-контактный разъем, с использованием которого она подключалась к общей плате Mera 400 — примерно как картриджи с играми вставлялись в игровые приставки Dendy.

На одной из этих шести плат было реализовано устройство управления процессором, другая представляла собой генератор тактовых сигналов и блок микроопераций, третья декодировала считываемые из памяти инструкции, четвертая содержала универсальные регистры процессора (8 16-битных универсальных регистров, включая 7 аккумуляторов или индексных регистров). На пятой располагалось арифметико-логическое устройство, а еще одна плата представляла собой 32-разрядный обработчик прерываний. Фактически, только 3 из этих плат непосредственно отвечали за выполнение математических и логических операций, а остальные 3 обеспечивали работу процессора и контролировали его функции. Эти 3 платы конструктивно представляли собой конечный автомат, полностью контролирующий работу процессора Mera 400, что представляет собой весьма нестандартное решение: другие процессоры того времени управлялись микропрограммами, а не специальным аппаратным устройством. Позже создатель компьютера, Эльжбета Езерска-Земкевич, вспоминала, что в ее распоряжении на тот момент не было компьютера с микроассемблером, на котором она могла бы разработать такую микропрограмму, не было программатора, чтобы записать ее в какой-нибудь чип с энергонезависимой памятью. Да и опыт проектирования таких систем отсутствовал. Поэтому приходилось изобретать сложные управляющие механизмы на ТТЛ-логике исходя из того, что у польских инженеров имелось в наличии.

Процессор работал с машинными словами длиной 16 бит. Система могла адресовать 17 блоков ОЗУ по 32 тысячи 16-битных слов в каждом: таким образом, общий объем оперативной памяти мог достигать внушительного по тем временам 1 мегабайта (1088 КБайт). Однако в базовой конфигурации машина оснащалась всего лишь 64 Кбайтами ОЗУ. Компьютер был оборудован часами реального времени, системой сигнализации об отключении питания с автоматическим перезапуском ЭВМ в случае сбоев. Также он позволял подключать до 8 периферийных устройств: считыватели перфокарт, накопители на магнитной ленте, табулаторы, мониторы, внешние терминалы, телетайп в качестве средства ввода и электрическую пишущую машинку вместо прнтера, а чуть позже — и дисководы.

zxly49r-ty_emqr9mexu8jreq-i.png

Помимо внешних устройств ввода-вывода, на процессорном блоке Mera 400 была смонтирована специальная панель управления, где демонстрировалось состояние регистров памяти в режиме реального времени. Оператор мог менять режим работы процессора и управлять состоянием ОЗУ с помощью специальных переключателей. Посредством этих переключателей и индикаторов можно было диагностировать неправильно работающее ПО или само оборудование ЭВМ.

xl6i6yhom6_fki96xdpukutcvwo.jpeg

С учетом того, что весь компьютер вместе с блоками питания умещался в небольшом шкафу размером с современную серверную стойку габаритами 560×900x1212 мм и массой 130 кг (еще одна такая же стойка отводилась под считыватель перфокарт или стример на магнитной ленте), для 1976 года это была вполне продвинутая машина, обеспечивавшая быстродействие порядка 400 тыс. операций в секунду и способная работать в режиме реального времени.

n10uueqwtytt-8lh23qzxyq4wlw.jpeg

Поскольку Mera 400 была построена на основе модульной архитектуры с использованием асинхронной передачи данных, она без особого труда позволяла подключить к общей шине дополнительные интерфейсы — благодаря чему со временем компьютер «оброс» теми самыми терминалами, дисководами и внешними накопителями. Информация между модулями передавалась по отдельным каналам: всего в архитектуре этой ЭВМ использовалось 16 независимых каналов для данных, 16 каналов адресации, 4 канала для выбора номера блока памяти и 12 линий для передачи сигналов управления.

Операционная система

Для Mera 400 в политехническим институте Гданьска была разработана собственная операционная система, получившая название CROOK — по большому счету, она представляла собой польскую реализацию UNIX-подобной архитектуры. Первые версии CROOK создавались еще для K-202, но со временем ОС была адаптирована под новую ЭВМ. Систему написали на Ассемблере, благодаря чему она оказалась очень компактной: вся ОС вместе с драйверами и вспомогательными утилитами умещалась в 38 килобайт. Последняя версия этой операционки, CROOK-5, датированная 5 октября 1990 года, имеет размер 167 килобайт и содержит 10 251 строку кода.

dcnic549mzvbpxpcrd7hhqnka_q.png

Операционная система была многопользовательской: одновременно CROOK поддерживала до 32 терминальных сессий, благодаря чему к этой машине, как к мейнфрейму, могли удаленного подключаться другие пользователи. Это делало Mera 400 неплохим решением для использования в вычислительных центрах, в университетах и на предприятиях.

Создатель компьютера, Эльжбета Езерска-Земкевич, вспоминала, что одной из ключевых функций Mera 400 должна была стать разработка новых программ, но изначально для этого компьютера (как и для K-202), не существовало подходящего языка программирования. Поэтому она сама написала для него компилятор Ассемблера, отчасти решив таким образом проблему дефицита прикладного софта — при желании пользователи могли написать его самостоятельно. В период с 1977 по 1982 год на компьютерах Mera 400 была разработана объектно-ориентированная версия языка программирования Loglan'82.

izxivryq3gktqwiga-w7dudvtda.jpeg

Mera 400 не имела какого-либо аналога BIOS, позволявшего автоматизировать процесс загрузки машины: запуск ОС осуществлялся вручную с использованием переключателей на панели управления компьютером.

С момента официального запуска проекта было построено ровно 656 экземпляров компьютера Mera 400, которые нашли свое применение на многих польских предприятиях, в учебных заведениях и в военной сфере. Интересно, что по состоянию на 2018 год по крайней мере один экземпляр Mera 400 продолжал использоваться в Военно-воздушной академии в Деблине для симуляции полетов.

В последние годы энтузиасты и исследователи предпринимали усилия по восстановлению и эмуляции системы Mera 400. Был разработан эмулятор EM400, позволяющий запускать оригинальное программное обеспечение Mera 400 на современных ПК. Кроме того, были успешно восстановлены данные с магнитных лент, использовавшихся с этими компьютерами, что позволило сохранить важные исторические материалы.

Эти ЭВМ активно использовались до середины 90-х, а один экземпляр, сохранившийся в Музее политехнического университета в Гданьске, функционирует и по сей день. Еще один компьютер Mera 400 можно увидеть в экспозиции Музея техники в Варшаве.

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

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

IT-инфраструктура | Удвоение первого платежа по коду HABR


yum0upvqpmb1rcchboht0xncbsw.png

Habrahabr.ru прочитано 7054 раза