автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Архитектура рабочей станции "Мрамор" и ее программное обеспечение

кандидата технических наук
Берс, Андрей Александрович
город
Новосибирск
год
1993
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Архитектура рабочей станции "Мрамор" и ее программное обеспечение»

Автореферат диссертации по теме "Архитектура рабочей станции "Мрамор" и ее программное обеспечение"

РОССИЙСКАЯ АКАДЕМИЯ НАУК СИБИРСКОЕ ОТДЕЛЕНИЕ ИНСТИТУТ СИСТЕМ ИНФОРМАТИКИ

На правах рукописи

БЕРС Андрей Александрович

АРХИТЕКТУРА РАБОЧЕЙ СТАНЦИИ «МРАМОР» и ЕЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Специальности:

05.13.11—математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

05.13.13 — вычислительные машины, комплексы, системы и сети

Диссертация в форме научного доклада

на соискание ученой степени кандидата технических наук

Новосибирск —1993

Работа выполнена в Институте Систем Информатики Сибирского отделения РАН.

Научный руководитель — академик А. П. Ершов

Официальные оппоненты:

член-корреспондент РАН, профессор, доктор технических наук С. Т. Васьков

доцент, кандидат технических наук В. П. Котляров

Ведущая организация — Санкт-Петербургский институт информатики и автоматизации РАН.

г-

Защита состоится « у » 1993 г. в / часов.

на заседании специализированного совета К.003.93.01 по защите диссертаций на соискание ученой степени кандидата наук в Институте Систем Информатики СО РАН по адресу:

630090, г. Новосибирск-90, пр. Академика Лаврентьева, 6.

Диссертационный доклад разослан

Ученый секретарь специализированного совета,

кандидат физико-математических наук М. А. Бульонков

А. А. БЕРС

АРХИТЕКТУРА РАБОЧЕЙ СТАНЦИИ «МРАМОР» И ЕЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

СВЕДЕНИЕ

Разработка и организация серийного выпуска рабочей станции МРАМОР (Многофункциональное Рабочее Автоматизированное Место Обслуживания Редакции) проводились в рамках работ по проекту РУБИН газеты «Правда» [4] в 1980—1989 гг.

Проект РУБИН газеты «Празда» был организован в рамках международного сотрудничества между СССР и ПНР. В этой кооперации участвовали с Советской стороны: Издательство «Правда», Вычислительный центр СО АН СССР и Институт Прикладной математики им. М. В. Келдыша АН СССР, с Польской стороны: Завод точной механики «МЕРА-Блоне» и Центр телевизионной техники ЦОБРЕСПУ.

Генеральной схемой создания и развития системы РУБИН устанавливалось, что система будет состоять из центрального вычислительного комплекса (ЦВК), реализуемого на старших моделях ЕС ЭВМ, на котором будет функционировать большая информационно-справочная база данных для анализа и проверки публикуемых материалов и перспективного планирования выпусков газеты, а также периферийной локальной сети рабочих мест сотрудников различных отделов и руководства редакции [12а].

Рабочая станция МРАМОР создавалась, чтобы служить в качестве базовой терминальной аппаратуры этой локальной сети.

Научным руководителем Проекта РУБИН был академик А. П. Ершов, а Глазным конструктором системы РУБИН и РС МРАМОР был утвержден автор данной диссертации.

Актуальность работы определялась необходимостью обеспечить автоматизацию трудоемких редакционно-издательских процессов, требующих, чтобы большие объемы текстовой информации были бы обработаны в жестко ограниченные сроки (особенно при выпуске газеты). Важность разрабатываемого проекта РУБИН была подтверждена тем, что он был включен в состав программ важнейших научно-исследовательских работ ГКНТ СССР на 1980—85 гг.

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

При этом в ходе разработки РС МРАМОР решались следующие задачи:

1. Практическое осуществление м наработка опыта совместного проектирования единой программно-аппаратной среды, включающей аппаратуру, базовое и прикладное программное обеспечение, интерфейс пользователя и дизайн рабочего места.

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

3. Получение максимальной открытости аппаратуры, чтобы:

— обеспечить требуемые характеристики рабочих мест и компенсировать слабость доступной элементной базы посредством выбора архитектурных (конструктивных) решений;

— при проектировании иметь возможность выбора между аппаратной и программной реализацией необходимых функций;

— получить большое разнообразие рабочих мест при малом числе типов производимых компонент;

— создать возможности для дальнейшего развития и расширения функций РС МРАМОР за счет пополнения состава ее модулей, устройств и, главным образом, прикладного программного обеспечения, имея в виду последовательно более сложные взаимосвязанные сферы применения: редактирование и подготовка изданий, создание систем программирования и проектирование электронной аппаратуры.

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

5. Реализация принципов электронной подготовки изданий разных классов и произвольной сложности за счет отделения обработки способов полиграфического исполнения от обработки собственно текста. Достижение эффективной глобальной обработки текста (в том числе — макетирования и верстки) через совместное применение методов структурно-ссылочного представления текста в сочетании с его разметками. Обеспечение средств подготовки изданий на различных национальных языках и для разных типов письменности [2, 3, 11].

-4

I

6. Удовлетворение потребностей профессиональной редакционно-издательской деятельности, обеспечивающей переработку весьма больших объемов информации в заданное ограниченное время с получением результатов высокого качества, при системной поддержке разделения работы среди коллектива пользователей (в единой технологической цепочке) [126, 12д].

7. Обеспечение работы РС МРАМОР в качестве терминалов периферии системы РУБИН, подключаемых к ЦВК и его спразочно-инфор-мационным системам; согласование функций редакционно-издательской подготовки на рабочем месте с функциями доступа к базе данных для содержательного поиска и проверки смысловой информации, для ее планирования и т. п. [8, 12г].

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

— в основном аппаратура должна была быть построена только на отечественной элементной базе и компонентах; допускалось применение элементной базы и компонентов и устройств, производимых в странах-участниках СЭВ;

— требовался максимальный учет сложившихся технологий работы конкретного потребителя (редакции газеты «Правда»),— при этом не могло быть и речи о том, что пользователи будут согласны приспосабливаться к неудобным для них функциям и особенностям рабочих мест;

— необходимо было опираться на конкретные возможности реального завода-изготовителя (Польского завода точной механики «МЕРА-Блоне»).

Научная новизна предложенных решений состоит в:

— разработке оригинальной открытой архитектуры многопроцессорной рабочей станции с гетерогенными вычислительными блоками;

— достижении компенсации слабостей доступной элементной базы за счет архитектурных и конструктивных решений;

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

— разработке основ базового программного обеспечения, управляющего работой многопроцессорного комплекса на основе этой модели вычислений;

— определении номенклатуры рабочих мест различных подразделений редакции и возможности динамического перехода в процессе работы на одном физическом месте к функциям разных логических рабочих мест;

— разработке технологии и средств электронной подготовки изданий различных классов и произвольной сложности за счет отделения обработки полиграфического исполнения от работы с собственно текстом;

— разработке совместного применения структурно-ссылочного представления текста в сочетании с его разметками для обеспечения эффективного проведения глобальной обработки текста (в том числе — макетирования и верстки);

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

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

Достоверность научных результатов подтверждается опытно-промышленной эксплуатацией высокопроизводительных и удобных для пользователей рабочих мест систем подготовки газетных, журнальных и книжных изданий, созданных на базе'РС МРАМОР и большим числом выпущенных на них изданий (в том числе,— регулярный выпуск газеты «ЭНСК», подготовка ряда номеров журналов «Наука и жизнь» и «ЭКО» и большого числа книг) с высоким полиграфическим качеством.

Апробгцня работы

Конфзргицкн: Основные результаты работы докладывались и обсуждались на Всесоюзной конференции «Актуальные проблемы развития архитектуры и программного обеспечения ЭВМ и вычислительных систем» (Академгородок, 1982), Всесоюзной конференции «Полигра-фия-86» (Москва, 1986), Всесоюзной конференции «Научные проблемы создания ЭВМ нового поколения» (Академгородок, 1986), на Всепольской конференции «РОИКОМ-87» (Познань, 1987), VII Всесоюзном симпозиуме «Модульные информационно-вычислительные системы» (Академгородок, 1989) и Первой Всесоюзной конференции по ФОРТ-системам программирования (Ленинград, 1991).

Семмнзры: Различные аспекты работы по РС МРАМОР неоднократно докладывались на семинарах з ВЦ и ИСИ СО АН СССР, а также на факультете ВМК МГУ, о Институтах Кибернетики АН УСС и ЭССР, и заседаниях ЦПГ МПТ Комиссии по матобеспечению АН СССР.

Дсмонстрац>:м: Опытные образцы РС АЛРАМОР в течение месяца демонстрировались в действии в редакции газеты «Правды» для сотрудников редакций ведущих издательств и других специалистов различных полиграфических предприятий, а затем были представлены во время показа «Перспективная полиграфическая техника», (для секретарей ЦК КПСС) проходившего в Перзой образцовой типографии (ААосква, июль 1985).

Серийные экземпляры PC МРАМОР были экспонатами выставки «Сибирский прибор 87» (Академгородок, 1987), где разработка была удостоена Диплома за оригинальное решение, и выставки «Мера-Блоне советской информатике» (Вильнюс, 1988).

На конкурсе прикладных работ СО АН СССР 1988 года за разработку PC МРАМОР был присужден Диплом lll-й степени.

Публикации: По теме диссертации опубликовано 11 печатных работ.

АППАРАТУРА РАБОЧЕЙ СТАНЦИИ МРАМОР

В ходе разработки PC МРАМОР следует выделить два этапа: создание опытного образца и проектирование серийных моделей.

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

Опытный образец был разработан как рабочая станция, имеющая два рабочих места, □ каждое из которых были включены: клавиатура, дисплей и дисковод типа PLx45 на две 8" дискеты.

Опытный образец сделан на основе системной шины «MULTIBUS» в ее старом конструктиве с печатными разъемами на платах.

На шине размещены модули памяти и контроллеры, выполненные на микросхемах серий К580, К155, К531 и т. п.

Всего на шине опытного образца было размещено 5 контроллеров с процессорами К580 и 256 Кб общей оперативной памяти.

Были построены модули-контроллеры:

— магистрали (с арбитром прерываний);

— пользователя, управляющий дисплеем с 64 Кб опорной памяти экрана и клавиатурой;

— интерфейсов (2 параллельных и 2 последовательных канала);

— накопителей на ГМД (для четырех дисководов с 8" дискетами одинарной плотности).

У каждого контроллера есть локальная память, размещенная в младших 8 Кб адресного пространства и разделенная на части, занимаемые ПЗУ (до 6 Кб), ОЗУ (1 Кб) и портами вместо памяти.

Наряду со своими специализированными функциями, задаваемыми программами в ПЗУ, каждый контроллер может выполнять программы и использовать данные, размещенные в общей памяти (256 Кб). Обмен данными между контроллерами также производится через общую память. Связь контроллеров реализована через прерывания, с использованием портов вместо памяти для связи каждого контроллера с контроллером магистрали.

Микропроцессор К580 может адресовать только 64 Кб памяти, поэтому для контроллеров опытного образца был разработан механизм расширения адресации. Непосредственно с микропроцессором связан конечный автомат, определяющий по сигналам состояния и порядковому номеру цикла в команде, с какой целью в этом цикле процессор обращается в память: для выборки команды, работы со стеком или работы с данными. К выдаваемому процессором 16-разрядному адресу приписывается один из трех двухразрядных префиксов, хранящихся в специальном регистре н задаваемых программно.

Оперативная память разбита на четыре подпространства по 64К адресов, любые 3 из них могут одновременно быть назначены программе в качестве сегментов команд, данных и стека. При этом только контроллер магистрали имеет доступ к младшим 8 Кб любого подпространства общей памяти, все остальные контроллеры в этом диапазоне обращаются в свою локальную память.

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

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

Клавиатура опытного образца имела 130 клавиш, из которых 50 были организованы в три больших поля функциональных клавиш и 12 образовали отдельное поле цифрового ввода. Она позволяла получить четыре полных регистра по 256 кодов, причем их раскладка и семантика полностью определялись программным драйвером.

Для опытного образца был заказан и разработан в ЦОБРЕСПУ монохромный монитор с диагональю 50 см и повышенным временем послесвечения (для устранения мерцания изображения на экране при стандартной телевизионной развертке). Длинная сторона экрана располагается вертикально (портретная ориентация), развертка изображения тоже происходит по вертикали, т. е. поперек текстовых строк.

На вышеуказанной аппаратуре было реализовано базовое и демонстрационное прикладное программное обеспечение рабочих мест проекта РУБИН.

На опытном образце были продемонстрированы:

— многооконный интерфейс пользователя с перекрывающимися окнами, свободно изменяющими свои размеры и перемещаемые по экрану по командам с клавиатуры ;

— использование различных алфавитов с буквами различных начертаний и пропорциональными ширинами знаков (в том числе: для армянской, грузинской и арабской письменностей) и различными направлениями письма;

— редакционная подготовка материалов в диалоге в одном или нескольких окнах со скоростью реакции менее 0.1 сек;

— качественное отображение текста экранными шрифтами переменной ширины с расчетом его разбиения на строки по ширинам шрифтов будущего полиграфического воспроизведения;

— расчет размеров публикуемых материалов, подготовка гранок и сводок объемов для планирования номеров газеты;

— диалоговая верстка газетной полосы на основе показа макета на экране, расчета оставшегося свободного места и т. п.;

— ведение справочной картотеки на экране;

— средства символьной псевдографики;

— совместная работа процессоров для достижения быстрой реакции при диалоге;

— файловая система хранения информации на дискетах.

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

В то же время были обнаружены и определенные недостатки в архитектуре опытных образцов, которые следовало исправить при переходе к серийному выпуску. Прежде всего это касалось недостаточности объема оперативной памяти, необходимости создания дополнительно новых типов контроллеров и повышения скорости их работы. Обнаружилось, например, что процессорные части контроллеров (созданных разными разработчиками), различаются в исполнении при однотипности функций.

При анализе этой ситуации возникла идея отделения вычислительных модулей от модулей, управляющих устройствами посредством введения

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

К тому же, к этому времени отечественная электронная промышленность начала выпуск 16-разрядных микропроцессоров, соответствующих микропроцессору Intel 8086, с гораздо большим диапазоном адресации и высоким быстродействием, а также других серий микросхем с высокой степенью интеграции, в том числе микросхем памяти большой емкости. Стали доступными и другие устройства, например НГМД с двусторонними дискетами двойной плотности.

Изменились требования к конструктивам плат, модулей и крейтов. Были выпущены новые отечественные стандарты на интерфейсы, в том числе на многопроцессорную шину И-41.

В итоге было принято решение разработать два типа вычислительных блоков: 16-и разрядный на основе микропроцессора серии К1810 (Intel 8086) и 8-и разрядный на основе микропроцессора серии К580 (Intel 8080), а также положить в основу архитектуры станции двухуровневую систему шин, чтобы отделить вычислительные мощности от адаптеров конкретных устройств.

МНОГОШИННАЯ АРХИТЕКТУРА

В основе архитектуры МРАМОРа лежат два уровня магистральных шин: системная шина и локальные шины вычислительных блоков.

Старший уровень составляет Системная шина (СШ), полностью соответствующая стандарту И-41 по ОСТ 25 969—82. Системная шина имеет ширину по данным — 8 и 16 бит, раздельные линии для адресов и данных, арбитраж на 16 задатчиков и цикл — 100 нсек. Она обеспечивает присоединение до 16 разных вычислительных блоков, контроллеров устройств и модулей системной памяти.

Младший уровень образован Локальными шинами (ЛШ) вычислительных блоков. Все локальные шины одинаковы, имеют ширину по данным—16 бит, совмещенные линии для адресов и данных и цикл в 100 нсек. Обмен информацией по ЛШ управляется со стороны вычислительного блока, которому она принадлежит. На ЛШ можно присоединить различные комбинации модулей — адаптеров устройств и модулей'локальной оперативной и постоянной памяти.

Выделение шин второго уровня позволило сократить количество типов модулей, запускаемых в производство, выделив все вычислительные мощности станции в отдельные вычислительные блоки, и создать

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

Адресные пространства

Определяемое архитектурой логическое адресное пространство РС МРАМОР состоит из 32 М адресов памяти и О К адресов в пространстве ввода-вывода.

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

Все пространства памяти используют единую адресацию. Старшие 16 Мб относятся к Системной памяти, а младшие 16 Мб относятся к памяти на Локальных шинах. Всего может быть до 16 ЛШ, с адресами по 1 Мб каждая.

Адреса, реально занятые подключенными к шинам модулями памяти, не обязаны идти подряд. В РС МРАМОР аппаратно реализована страничная организация памяти, причем размер страниц может быть разным для разных типов вычислительных блоков. Любая страница может быть размещена в любой части из перечисленных выше пространств, начинаясь с адреса, кратного ее размеру (конечно, если там имеется физически реализованная память).

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

МОДЕЛИ РС МРАМОР

В составе опытной серии были выпущены две модели РС МРАМОР: на четыре (модель МРАМОР РС-4) и на два (модель МРАМОР РС-2) рабочих места. Кроме того были изготовлены два экземпляра одноместной рабочей станции (модель МРАМОР РС-1).

Крейты размещения модулей РС МРАМОР соответствуют стандартным требованиям конструктива «Еврокарта—2» с двумя позициями разъемов. Часть крайних позиций справа и слева в крейтах разделена снимаемыми при необходимости перегородками для размещения модулей половинной высоты, используемых адаптерами на ЛШ.

Монтаж шин в крейтах частично реализован печатной соединительной платой, а частично осуществлен накруткой на трехрядных 96-контактных разъемах, что облегчает создание разных конфигураций моделей.

Крейт модели РС-4 содержит 21 позицию для модулей и имеет 13 + 1 позицию на системной шине и пять локальных шин:

ЛШ-0 — 6 позиций, ЛШ-1 — 4 позиции, ЛШ-2 — 4 позиции,

ЛШ-3 — 6 позиций и ЛШ-4 — 7 позиций.

Крейт модели РС-2 построен аналогичным образом, но содержит 14 позиций для модулей, имеет 8-+-1 позицию на системной шине и три локальные шины:

ЛШ-0 — 5 позиций, ЛШ-1—4 позиции, ЛШ-2 — 7 позиций.

Крейт модели РС-1 содержит 6 позиций для модулей, одну системную и одну локальную шины.

Приведем, в качестве примера, две конфигурации аппаратуры: одну для модели МРАМОР РС-2 из серийного комплекта на два рабочих места редакции, а вторую для модели МРАМОР РС-4, с оборудованием, удовлетворяющим потребности сдвоенного рабочего места разработчика программно-аппаратного комплекса класса рабочей станции МРАМОР (В скобках даны обозначения модулей и шестнадцатиричные значения приписанных блокам приоритетов — № X).

МРАМОР РС-2:

На Системной шине размещаются: модуль управления магистрали (РБСМ), три 16-разрядных вычислительных блока, контроллер НГМД (МОСМ, № Р) и два модуля (ООММ) общесистемной памяти по 512 Кб.

К ЛШ-0 первого вычислительного блока (С11В-16М, № 0) подключены: адаптер дисплея (С0А-4М) и плата. последовательных интерфейсов (5Ю-4), через которую подключены клавиатура с мышью для одного рабочего места.

На ЛШ-1 второго вычислительного блока (С11В-16М, № 4) помещены: адаптер дисплея (С0А-4М), модуль добавочного ПЗУ (1*-ЯОМ) и плата последовательных интерфейсов (Б Ю-4), через которую подключены клавиатура с мышью для другого рабочего места.

К ЛШ-2 третьего вычислительного блока (№ 2) присоединяются: модуль локальной памяти (РОМ-Я) на 128 Кб и плата параллельных интерфейсов (0Р1А).

МРАМОР РС-4:

Системная шина: РБСМ, 4 РОММ по 512 Кб, МОСМ (№ Р),

4 вычислительных блока С1ЛЗ-16М и вычислительный блок С1М-8М; Локальная шина (СиВ-16М, №0) ЛШ-0: ЭОМ-^ Э0А-4М, 5Ю-4; Локальная шина (С1М-8М, №1) ЛШ-1: ЭОМ^ + ЕХЭОМ 128 Кб; Локальная шина (СиВ-16М, №2) ЛШ-2: РОМ-!*, ООА-4М, 5Ю-4; Локальная шина (СиВ-16М, №8) ЛШ-3: ООМ-1*. Я-1ЮМ, РР1А, 5Ю-4; Локальная шина (СиВ-16М, №4) ЛШ-4: РОМ-Й, адаптер НЖМД.

Эта конфигурация обеспечивает 3.5 Мб оперативной памяти, до 256 Кб памяти на СПЗУ, внешнюю память на 4-х НГМД и винчестере, 12 последовательных и 2 параллельных канала.

ОСНОВНЫЕ МОДУЛИ

Управление магистралью и питанием (PSCM).

Арбитраж системной шины определяется разбиением 16 возможных уровней приоритетов на два класса. Старшие 8 уровней имеют фиксированные приоритеты, а младшие 8 уровней переключаются по циклу. Порядок переходов в этом цикле задается таблично специальным ПЗУ и поэтому может быть изменен при создании требуемой конфигурации станции, в зависимости от особенностей сферы ее применения.

Если процессор выдает сигнал блокировки доступа (Lock) на Системную шину, то это препятствует выходу на нео других вычислительных блокоз. В связи с тем, что доступ процессора через СШ на локальную шину любого другого вычислительного блока имеет приоритет перед доступом от местного процессора, правильная работа с семафорами (командами типа test-and-set) обеспечивается даже при их размещении в локальной памяти.

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

Системные часы поддерживают отсчгт астрономического еремсни в периоды отключения питания станции и могут работать в режиме 12-ти или 24-х часового отсчета; часы могут устанавливаться и опрашиваться программно.

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

В PC МРАМОР осуществлено программное управление выключением сетевого питания. Это обусловлено тем, что отдельные рабочие места одной станции могут находиться в соседних комнатах (на расстоянии до 25 метров друг от друга). При этом включение станции в сеть может быть произведено с любого рабочего места. На рабочих .местах нет выключателя станции из сети; есть специальная машинная команда (псевдозаписи в определенный порт), доступная операционной система PC МРАМОР.

Закончив работу, пользователь может отключить лишь устройства (монитор и дисководы) езоаго рабочего места, ко не станцию в целом. Все остальные заботы переложены на базовое программное обеспечение.

Модули оперативной памяти и ПЗУ (DOMM, DOM-R и R-ROM).

Номенклатура и объемы модулей памяти полностью определялись доступной элементной базой. Модули системной памяти (DOM) выпущены на 256, 384 и 512 Кб. Модули локальной памяти (DOMR) имеют половинную высоту и объем 128 Кб. Через разъем на лицевой стороне модуля DOMR к нему может быть присоединена дополнительная 128 Кб плата-расширитель (EXDOM).

Модули ПЗУ (R-ROM) имеют половинную высоту и предназначены для локальной шины. Они могут содержать от 4 до 256 Кб на микросхемах с УФ-стиранием в зависимости от числа и типов используемых элементов.

Начальный адрес любого модуля памяти в адресном пространстве соответствующей шины устанавливается перемычками на модуле.

Контроллер НГМД (MDCM).

Контроллер построен на микропроцессоре Zilog 80 и может управлять четырьмя дисководами, подключаемыми по стандарту SASI, с дискетами 5" или 8", одинарной или двойной плотности в зависимости от варианта размещенного в ПЗУ драйвера.

Контроллер дисков имеет 16Кб ПЗУ и 1 Кб локального ОЗУ. Кроме работы с дисками в драйвере контроллера предусмотрена дополнительная возможность исполнения произвольной программы, находящейся в системной памяти, для чего в пространстве его адресации выделено 16 Кб под окно доступа в системную память.

Вычислительные блок».

Шестнадцатиразрядный вычислительный блок (CUB-16M) построен на микропроцессоре типа 8086, реализует связи между системной и локальной шинами и содержит, кроме того, ряд программно-управляемых групп микросхем, обеспечивающих реализацию дополнительных функций блока.

На каждом блоке перемычками выставляется его уникальный номер из диапазона 00..0F, являющийся одновременно префиксом адресов его ЛШ и номером приоритета на СШ.

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

На блоке могут быть размещены микросхемы СПЗУ с общим объемом до 32К 16-разрядных слов.

В вычислительном блоке (CUB-16M) предусмотрена возможность установки двух сопроцессоров: арифметического — 8087 и ввода/вывода — 8089.

Связь системной и локальной шин между собой и с собственной шиной микропроцессора обеспечивается группой шинных формирова-

телей. При этом в случае одновременного поступления запросов на доступ к локальной шине от микропроцессора и СШ, последняя имеет приоритет, захватывая один очередной цикл локальной шины.

Схемы обеспечения страничного доступа к памяти используют микросхемы статического ОЗУ на 64 16-разрядных слова, в которых хранится таблица переадресации (ТПА). Выработанный микропроцессором 20-разрядный адрес делится на две части. Старшая подается на вход ТПА, на входе которой вырабатываются сигналы направления адреса и номер страницы, а младшая определяет смещение на этой странице.

Для CUB-16M разработаны две модификации с размером страницы s 4Кб или в 16Кб. Для первой из них младшие 12 битов процессорного адреса непосредственно выдаются как шинный адрес, з качестве младших разрядов (ADR0..ADRB).

Старшие разряды шинного адреса (ADRC..ADR17 на СШ; ADRC..ADR13 на ЛШ) поступают с выходов ТПА (разряды З..Е), на входы' которой поступают старшие биты адреса из процессора (разряды С..11, а биты адреса 12 и 13 не используются). Одновременно из ТПА выдаются сигналы, направляющие адрес либо в ПЗУ, либо на свою ЛШ вычислительного блока, или же на СШ (и, может быть, через нее на ЛШ другого блока). В модификации с 16Кб размером страницы используются все биты процессорного адреса, причем 14 младших из них определяют смещение на странице.

В результате, в любой момент времени процессор имеет доступ к 64 страницам, каждая из которых может находиться в одном из независимых адресных подпространств памяти: СШ, 16ХЛШ, ПЗУ.

Логический диапазон адресации СШ—16М, каждой из ЛШ — 1М, ПЗУ вычислительного блока — 64К.

При начальном сбросе системы (RESET) механизм переадресации блокируется и все адреса направляются в ПЗУ. Одновременно взводится специальный триггер RESET, запрещаются все прерывания, в том числе и NMI, и выключаются все возможные защиты. Нормальный режим работы блока восстанавливается только после сброса триггера RESET специальной командой.

Адресное пространство команд ввода-вывода 16-ти разрядного вычислительного блока CUB-16M имеет следующее строение:

адреса 0000..0FFF присвоены портам общего назначения на СШ, адреса 1000..1EFF — внутренним портам схем данного вычислительного блока, адреса 1 F00..1 FFF определяют порты локальной шины, а адреса 2000..2FFF — почтовые ящики связи вычислительных блоков между собой через СШ.

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

регистры слова состояния и внутреннего управления блока, ТПА, программируемые таймер (8253) и контроллеры прерываний (8259А), триггеры RESET и немаскируемых прерываний. Конкретные команды ввода-вывода в эти внутренние порты могут рассматриваться как реализация специальных команд вычислительного блока, дополняющих систему команд процессора и доступных программисту.

На вычислительном блоке реализована схема обслуживания прерываний на 15 входов. К любому из этих входов может быть присоединен установкой перемычек любой из источников прерывания.

Для блока CUB-16M предусмотрены следующие источники прерывания: от сопроцессоров 8087 и 8089 — 3 прерывания; от счетчиков коротких и длинных интервалов от таймера — 2 прерывания; от записи в почтовые ящики связи между блоками — 1 прерывание; приходящие по СШ — 8 прерываний; приходящие no Jllii — 8 прерываний. Кроме того, при нарушении защиты, исчерпании кванта доступа, ошибке четности и падении напряжения питания вырабатывается немаскируемое прерывание, фиксируемое соответствующими битами в слове состояния блока. После прихода одного такого прерывания все последующие не фиксируются вплоть до общего сброса немаскируемых прерываний специальной командой.

Первые 256 байт адресного пространства ЛШ блока отведены под почтовые ящики для связи процессоров блоков между собой. У каждого блока имеется 16 почтовых ящиков (от п/я-00 до п/я-FF), по 16 байт каждый. Номера почтовых ящиков соответствуют номерам вычислительных блоков; протокол связи таков, что блок с номером j может записать информацию в п/я-j. При записи в младший байт любого почтового ящика в процессор посылается прерывание, на обработчик которого возлагаются дальнейшие действия.

Восьмиразрядный вычислительный блок (CUA-8M) построен с такой же архитектурой на базе микропроцессора К580, дополненного схемой расширения адресного пространства, которая была описана ранее. Блок предусматривает доступ к страницам по 4 Кб. Почтовые ящики и работа с прерываниями аналогична блоку CUB-16M. На блоке может быть размещено до 32 Кб ПЗУ.

Адаптер дисплея (GDA-4M).

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

формату печатных полос, было принято расположенно экрана с зерти-кальной ориентацией его длинной стороны (обычно называемое — «портретным», в отлична от «ландшафтного», применяемого в телевизорах).

При этом были использованы схемы стандартной системы телевизионной чересстрочной развертки на 625 строк, но линии развертки направлены по вертикали, перпендикулярно к направлению строк текста, что облегчило выдачу на экран знаков с переменной шириной.. Размер изображения на экране — 768x576 точек.

Лучше всего представлять экран монитора РС МРАМОР, как состоящий из 96 строчек, каждая из которых собрана из стоящих друг за другом 576 столбиков по 8 точек. Таких столбиков — 55296, и состояние каждого может храниться в байте опорной памяти. Отсюда следует, что объем опорной памяти можог быть выбран в 64 Кб. Параллельно расположена память атрибутоз — 64К X 2 бита, обеспечивающая три способа выделений показа столбцов на экрана: два уровня яркости и мерцание. Целесообразно отводить под текстовые строки на экране в высоту целое число столбиков, тогда экранные символы могут иметь высоту, кратную 8-ми точкам при любой ширине.

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

Позиция каждого столбика на экране определяется двумя координатами (Х,У), где:

X — номер строчки, в диапазоне 0..95,

У — номер столбика в строчке, в диапазоне 0..575.

Верхняя точка столбика соответствует старшему биту байта.

Двумерная адресация столбика сохранена в структуре адреса соответствующего байта опорной памяти, выдаваемого из программы — ЫОУХ, где:

N — два бита, задаваемые перемычками на плате;

О — бит, различающий память атрибутов (0-1) от памяти изображения (0-0);

У — 7 битов номера строчки,

X— 10 битов номера столбца.

Отображение адресов опорной памяти на позиции столбиков по ходу развертки изображения осуществляется схемой адаптера, логику работы которой можно объяснить следующим образом:

Представим изображение на экране в виде мозаики, составленной из прямоугольников, размещенных в 3 ряда по 9 штук. Каждый из прямоугольников представляет часть экрана в 32 строчки по 64 столбика.

Составим матрицу из номеров этих прямоугольников.

00 01 02 03 04 05 06 07 08 09

10 11 12 13 14 15 16 17 18 19

20 21 22 23 24 25 26 27 28 29

Теперь переместим элементы двух самых левых столбцов матрицы, образовав из них четвертый ряд и добавив два недостающих элемента. Получим матрицу

00 01 02 03 04 05 06 07

10 11 12 13 14 15 16 17

20 21 22 23 24 25 26 27

30=08 31 = =18 32=28 33=05 34=19 35=29 36 37

которую можно сопоставить с образом опорной памяти (64К), представленной прямоугольником из 128X512 адресов. Два последних элемента соответствуют при этом тем адресам опорной памяти, содержимое которых не показывается на экране. Именно такая перекладка адресов и реализуется конечным автоматом б схеме.

Клзан&тура (ЬК-МК).

Клавиатура реализована на микропроцессоре К1816ВМ35, программы для которого размещены в 4 Кб СПЗУ. Клавиатура связана со станцией последовательным каналом, работающим со скоростью 19200 бод. Манипулятор типа «мышь» подключен к клавиатуре и обслуживается ее микропроцессором. Клавиатура содержит источник звука, 8 сигнальных светодиодов и 137 клавиш, 134 из них выдают код в канал связи. Та часть программы-драйвера клавиатуры, которая исполняется процессором клавиатуры, опрашивает состояние клавиш, отрабатывает сигналы от мыши, передаст и принимает байты по последовательному каналу, включает звук и соетодиоды. Вся остальная работа осуществляется второй частью программы-драйвера, исполняемой вычислительным блоком.

Интерфейсные модули.

Модуль параллельного интерфейса (ОР1АМ) для ЛШ имеет половинную высоту и построен стандартным способом на базе микросхемы типа К580ВА55 (8255) и полностью программно управляем в рамках ее возможностей. Модуль обеспечивает два параллельных канала, один их которых предназначен для вывода, а другой может настраиваться на ввод или вывод перемычкой.

Модуль последовательного интерфейса (БЮ4) для ЛШ имеет половинную высоту. Он построен на базе двух микросхем типа 1)А8560

производства ГДР (SIO-2 Z80) и два таймера типа К500ВИ53 (8253) и обеспечивает 4 последовательных дуплексных канала. Через эти каналы можно вести обмен, используя асинхронный протокол со скоростью до 76.8 Кбод и/или синхронные BI5YNC и HLDL протоколы со скоростями до 120 Кбод. Параметры каналов программируются по обычным правилам.

Линейные цепи последовательных каналов вынесены на отдельную плату (RSCL), размещенную вне крейта и обеспечивающую 8 линейных каналов:

— 2 канала с уровнями ТТЛ (0V и 5V);

— 2 канала типа «Токовая петля 20/40 мА» (±12V);

— 4 канала, обеспечивающих по выбору стандарт RS-232C или стандарт «Токовая петля 20 мА».

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

Модель МРАМОР РС-4 имеет 16 выходных разъемов последовательных каналов, а модель МРАМОР РС-2 — 8 выходных разъемов.

Вспомогательные модули.

В дополнение к серийно выпущенным компонентам для PC МРАМОР были изготовлены и успешно опробоааны в работе несколько экспериментальных блокоз для локальной шины, среди которых следует отметить:

— программатор СПЗУ, обеспечивающий программирование всех разновидностей микросхем ПЗУ серий 573, 27хх и РТ.

— модуль связи с автономным контроллером по стандарту SCSI, управляющим двумя винчестерами по 25 Мб. Подключение винчестеров к пилотному образцу станции, работающему в лаборатории, значительно увеличило удобство работы и ее производительность. Следует лишь сожалеть о том, что на момент выпуска опытной серии винчестерные накопители оказались недоступными.

— адаптер непосредственного управление механизмами фотонаборного автомата ФА-1000 программами из МРАМОРа. Это существенно повысило возможности работы с ФА-1000, увеличило скорость и надежность его работы, а также позволило использовать фотоматериалы с просроченным сроком давности без снижения качества получаемых фотоформ.

— адаптер управления фотовыводом полосы на фототелеграфный приемник системы «Газета-2», минуя каналы дельней связи. Формат полосы — А2, используемое разрешение—15.5 лин/мм, поле изображения 400 X 600 мм, Вместо передачи битовой карты полосы, объем которой составляет 7.79 Мб, использовалось специальное координатное

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

ДНЗАЯН PC МРАМОР

Много сниллания при создании PC МРАМОР было удалено ее общей компоновке и дизайну рабочих мест. В отличие от общепринятого подхода, когда персональная ЭВМ, es дисплей и другие блоки разме-щеются на столе, зенимая почти все место на нам, при проектировании PC МРАМОР был принят принцип «организации большого свободного рабочего столз пользователя». Поэтому Есе модули и НГМД размещены d приставкой тумбе, снабженной роликами, для клавиатуры предусмотрена выдвигающаяся из под поверхности стола опорная рамка, позволяющая обеспечить эргономически правильную высоту клавиатуры и регулироаать угол ее наклона. Монитор подвешен над столом на специальном поворотном кронштейне, можно регулировать высоту расположения экрана м его наклон. К монитору может крепиться ориги-кало держатель.

Клазиши на клавиатура сгруппированы в шесть эргономически целесообразно расположенных полей, три из которых являются полями функциональных клавиш, одно — соответствует клавиатуре пишущей машинки, и ещо дза— для числового ввода и управления курсором. На клавиатуре имеется 137 клавиш, значение 134-х из них — полностью программируемо. Пять регистровых кл&зиш могут обеспечить одновременную работу в 32 регистрах по 128 символов в каждом. Поля выделены цветом и разделены промежутками, позволяющими разместить накладки с обозначениями функций. Для сигнализации пользователю от программы на клавиатуре есть 0 сбстодиодов красного, желтого и зеленого цвзтое, три из которых совмещены с фиксируемыми в нажатом положении клавишами.

йЛЗОЕОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Совместная работа всех модулей и присоединенных через них устройств РС МРАМОР организуется базовым программным обеспечением, разработка которого проводилась параллельно с разработкой аппаратуры и совместно с ней.

Рабочая смесь и виртуальные машины.

В основу подхода к проектированию архитектуры РС МРАМОР была положена модель организации вычислений, наззанная «рабочей смесью». В рабочей смеси все исполняемые программы рассматриваются как состоящие из отдельных программных фрагментов, каждый из которых обязан быть замкнут по управлению, т. е. не содержать передач управления командам, лежащим вне него. Разные программные фрагменты могут быть предназначены для разных виртуальных машин (ВМ), к которым отнесены и реальные процессоры.

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

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

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

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

«Норд-100», в силу архитектур»: машины), возникает возможность сделать носителем текущего управления нового программного фрагмента другое машинное управление.

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

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

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

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

Средства программирования, посредством которых проектируется программный фрагмент, определяют, что он создается в некотором контексте, локализующем используемые s этом фрагменте обозначения и их типы. Контексты связаны между собою отношениями видимости и образуют ориентированный граф без контуров. Эта информация позволяет определить объем и строение рабочей области для каждого программного фрагмента при его трансляции в исполняемый код для соответствующей ВМ [15].

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

Процессы в операционной системе МРАМОРа выполняют две взаимодополнительные функции, главная из которых,— изоляция друг от

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

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

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

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

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

Реализация аппаратно-программной обстановки посредством рабочей смеси облегчает создание и дальнейшее сопрозождение большой системы по частям, способствует разработке переносимых программ и организацию их диалоговой отладки. При этом легко образовывать связи не только вниз, но и взерх по слоям шитого кода с различными уровнями высоты (крупностью) используемых средств свертки. Поскольку организующие системные действия исполняются только тогда, когда это необходимо,— на границах повторяемости исполнителей команд, или для обработки прерываний, то накладные расходы операционной системы весьма невелики.

Легко видеть, что аппаратура РС МРАМОР хорошо согласована с моделью организации исполнения программных фрагментов а рабочей смеси соответствующими виртуальными машинами, включая реальные микропроцессоры. Более того, современные микропроцессоры, начиная с 8086, используют любую паузу для подкачки очереди команд. Поэтому одним из эффективных средств реализации является размещение исполнителей ВМ в локальней памяти вычислительного блока, а программных фрагменте;*, "исполняемых на этой ВАЛ — в системной памяти, что снижает загрузку СШ и позволяет ее регулировать.

Системное программное обеспечение

Системное программное обеспечение управляет функционированием всех компонент РС МРАМОР, поддерживает обмен информацией с внешними устройствами и по линиям связи и предоставляет средства для разработки и выполнения прикладных программ. В нем можно выделить следующие функциональные компоненты [8, 19]:

— начальная загрузка и инициализация рабочей смеси;

— поддержка виртуальных машин, обслуживание передачи сигналов между процессами, обработка аппаратных прерываний, составляющие ядро операционной системы;

— диспетчеризация процессов, их создание и уничтожение, загрузка программ, распределение и выделение страниц памяти;

— драйверы устройств, в том числе — служба времени;

— файловая система, доступ к информации от внешних каналов;

— реализация многооконного интерфейса рабочего места.

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

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

Файловая система используется не только для доступа к внешним данным, но и для описания устройств, таких как дисководы, каналы связи, принтеры и т. п. Файлы рассматриваются как однородные непрерывные последовательности элементов, к которым применяется потоково-пози-ционный метод доступа.

В связи с отсутствием в серийных моделях РС МРАМОР винчестерских дисков в ОС нет понятия пользователя. Вместо этого для каждого физического рабочего места определен свой корневой каталог, через который устанавливаются связи с каталогами на дискетах пользователей. Каждый процесс имеет две главные ссылки в файловую систему: на корневой каталог рабочего места и в свой текущий каталог, позволяющий адресоваться к файлам, не указывая всего пути по иерархическому дереву каталогов.

Многооконный интерфейс обеспечивает перекрытие окон и изменение размеров и положения окон пользователем [18]. Произвольные прямоугольные поля на экране или в окнах могут иметь повышенную или пониженную яркость и/или мерцание. Все выдаваемые в окна

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

Наличие курсора выделяет среди всех окон на экране то, в которое поступает в данный момент ввод с клавиатуры и мыши.

Как было сказано выше, драйвер клавиатуры и мыши составлен из двух частей, одна из которых размещена в ПЗУ микропроцессора клавиатуры, а вторая в оперативной памяти станции. Были разработаны три разновидности драйвера [16]: для серийного рабочего места РС МРАМОР, драйвер совместимости клавиатуры с РС 1ВМ и драйвер, позволяющий аккордный ввод с клавиатуры с возможностью одновременного нажатия/отпускания до 16-ти клавиш. Все драйверы допускают управление курсором как при помощи мыши, так и с клавиатуры одновременно. Значения функциональных клавиш определяются текущей исполняемой программой и могут зависеть от того, с каким окном в данное зремя езязана клавиатура.

ПРИКЛАДНЫЕ ПРОГРАММНЫЕ СИСТЕМЫ

Для РС МРАМОР разработан ряд прикладных программных систем, к которым относятся средства разработки программ, система шрифтового обеспечения МРАМОРа, системы поддержки разработки, тестирования и приемки самой станции [17].

На МРАМОРе реализована профессиональная система подготовки полиграфических изданий, обеспечивающая полный технологический цикл от первичного ввода текстов до выдачи фотоформ сверстанных полос [9, 11].

Средства разработки программного обеспечения

Программное обеспечение для РС МРАМОР частично создавалось с помощью кросс-систем программирования, а частично резидентными системами. Реализованы две резидентные ФОРТ-системы, соответствующие русифицированному стандарту языка ФОРТ-83. Одна из них является интерпретатором, включенным в ПЗУ любого вычислительного блока. Словари, системные переменные и стеки ФОРТ-интерпрстатороз могут быть размещены а любой зоне системной или локальной памяти. Текущее состояние ФОРТ-машины любого вычислительного блока может быть запомнено на дискете, а в дальнейшем восстановлено одной командой.

Вторая резидентная ФОРТ-система создана как транслятор с языка ФОДУЛА в машинные команды микропроцессоров. ФОДУЛА — это

язык ФОРТ-83, усиленный средствами модульной организации программ, аналогичными по своим возможностям средствам языка Модула-2.

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

Кросс-системы программирования реализованы на мини-ЭВМ типа «НОРД-ЮО», и обеспечивали создание программ на языке, получившем рабочее название СиДула: поскольку его типы данных и операторы аналогичны средствам языка Си, а организация модульности программных текстов сделана по образцу языка Модула-2.

На ЭВМ типа «НОРД-ЮО» реализована также кросс-система для языка вместо ассемблера микропроцессоров 8048 (8035), состоящая из транслятора, ретранслятора объектного кода и отладчика [16], используемая для разработки драйверов клавиатуры.

Шрифтовое обеспечение

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

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

ЗАКЛЮЧЕНИЕ

Основные результаты

В ходе работы по созданию РС МРАМОР были разработаны:

— модель организации вычислений в виде рабочей смеси единичных исполнений программных фрагментов на множестве виртуальных процессоров (включая реальные процессоры);

— оригинальная открытая архитектура многопроцессорной рабочей станции с гетерогенными вычислительными блоками, позволяющая компенсировать недостатки доступной элементной базы за счет архитектурных и конструктивных решений;

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

— программно-аппаратная архитектура рабочей станции, в которой функции рабочих мест в основном определяются содержанием их программных компонентов, что позволило выбирать при проектировании между аппаратной и/или программной реализацией необходимых функций и обеспечить построение на оснозе РС МРАМОР большого разнообразия рабочих мест при малол* числе типов производимых компонент.

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

Выпущена опытная серия РС МРАМОР на 40 рабочих мест.

Коллектив разрзботчикез

Рабочая станция МРАМОР создавалась в ходе совместной работы Лаборатории экспериментальной информатики ВЦ СО АН СССР (ныне в составе ИСИ РАН) и польского завода «МЕРА-Блоне».

Архитектура и функциональные характеристики РС МРАМОР н рабочих мест на ее есноае, а также ее базовое и прикладное программное обеспечение разработаны з Лаборатории, овеществлением идей з аппаратуре и подготозксй производства к серийному выпуску занимался зазод «МЕРЛ-Блоне». Большую поддержку этой работе в ремках «Проекта РУБИН> осуществляло Издательстсо «Правда».

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

Работу польских коллег сначала возглавлял Т, Мошевнч, а зо время работ над серийными рабочими станциями — Я. Завадский, он же сг.рое-ктирозал модули вычислительных блоков.

Я. Загрсек реализовал модули управления магистрали, клавиатуры и параллельных интерфейсов. М. Зюлковский — модуль дисплея и схемы раззодки крентез, 3. Лучу:: и Р. Паце < проектировали модули памяти и контроллер НГМД, А. Колодеях и М. Августиняк — систему питзнич и платы последовательных интерфейсов, Я. Матраш и С. Шумский проектировали асе механические конструкции.

Мониторы для МРАМОРа созданы в Центре телевизионной аппаратуры з Варшаве под руководством Е. Кани и Л. Непеклы.

В лаборатории экспериментальной информатики о работах по РС МРАМОР участвовали в разное время: В. Г. Поляков, являвшийся ответственным исполнителем в ВЦ СО АН СССР по проекту РУБИН, создавший программное обеспечение сопровождения разработки, тестирования и приемки РС МРАМОР и реализовавший средства создания шрифтового обеспечения; В. А. Четвернин, Ю. В. Бовкун, А. П. Мельник, А. Р. Мулла-галиес и С. Б. Руднев разработали резидентные и кросс-системы программирования, на которых создано программное обеспечение МРАМОРа, кроме того В. А. Четвернин и Ю. В. Бовкун реализовали ядро операционной системы и файловую систему, а А. Р. Муллагалиев — многооконный интерфейс и драйверы клавиатуры. Е. В. Овчаренко и М. В. Садомская участвовали в создании экранного интерфейса и редактирования в ПО демонстрации опытного образца. А. В. Коваленин и Г. П. Несговорова и А. П. Мельник разработали алгоритмы переноса для русского и ряда других языков.

Все текущие организационные трудности по проекту РУБИН легли на плечи В. А. Тифенбеха и руководимого им технического отдела Издательства «Правда».

Автор искренне благодарен всем участникам этой интересной и долгой работы, и особо хочет и должен отметить то внимание, которое ей уделял наш учитель академик А. П. Ершов.

Печатные работы по теме днссертгцкк

1. Берс A.A., Первин Ю. А. Состав информационного обеспечения системы машинного автоматизированного ретроспективного анализа газетных данных (СМАРАГД) // Новые задачи информатики.—Новосибирск, 1979.—с. 47—66.

2. Берс А. А. Строение системы САПФИР // Новые задачи информатики.—Новосибирск, 1979.—с. 6—32.

3. Берс А. А., Детушев В. А. Автоматизированный набор блочных текстов в системе САПФИР // Новые задачи информатики.—Новосибирск, 1979.—с. 33—46.

4. Берс А. А. Информационно-вычислительная система РУБИН газеты «Правда» // Прикладные методы информатики.—Новосибирск, 1980.—с. 55—78.

5. Берс А. А., Поляков В. Г., Руднев С. Б. Основные принципы разработки системы программирования для микропроцессоров // Программное обеспечение задач информатики.—Новосибирск, 1982.—с. 5—25.

6. Берс А. А., Поляков В. Г., Руднев С. Б. О системе программирования высокого уровня со смешанными вычислениями для персональных микропроцессорных комплексов // Актуальные проблемы развития

архитектуры и программного обеспечения ЗЗМ и вычислительных систем.—Новосибирск, 1983.—с. 78—94.

7. Берс А. А., Поляков В. Г. Архитектура многофункционального автоматизированного рабочего места обслуживания редакции // Персональные ЭВМ з задачах информатики.—Новосибирск, 1984.—с. 40—49.

8. Берс А. А., Поляков В. Г. Особенности системного программного обеспечения многофункционального автоматизированного рабочего места обслуживания редакции // Персональные ЭВМ в задачах информатики.—Новосибирск, 1984.—с. 50—57.

9. Берс А. А. Рабочая станция нового поколения МРАМОР // Разработка ЭВМ нового поколения: Архитектура, программирование, интеллектуализация.—Новосибирск, 1986.—с. 126—141.

10. Берс А. А. Об объектной ориентации и организации архитектуры программных систем // Актуальные вопросы технологии программирования.—Л., 1989.—с. 4—15.

11. Берс А. А., Бовкун Ю. В., Муллагалиев А. Р., Поляков В. Г., Че-твернин В. А. Рабочая станция МРАМОР // Модульные информационно-вычислительные системы: Тез. докладов / VII Всесоюз. симпозиум, Новосибирск, 1989.—с. 177—178.

Литература

12. Проект РУБИН газеты «Презда»:

12а. Генеральная схема создания и развития информационно-вычислительной системы РУБИН газеты «Правда» М.—Н-ск, Издательство ЦК КПСС «Правда», 1979.

126. Техническое задание на информационно-вычислительную систему РУБИН газеты «Правда» М.—Н-ск, Издательство ЦК КПСС «Правда», 1983.

12в. Частное техническое задание на периферийную рабочую станцию МРАМОР для системы РУБИН (1-я очередь) М.—Н-ск, Издательство ЦК КПСС «Правда», 1985.

12г. Частное техническое задание на прикладное программное обеспечение периферии системы РУБИН М.—Н-ск, Издательство ЦК КПСС «Правда», 1985.

12д. Технорабочий проект первой очереди информационновычис-лительной системы РУБИН газеты «Правда» М.—Н-ск, Издательство ЦК КПСС «Правда», 1985.

13. Поляков В. Г. Средства анализа действующего математического обеспечения // Теоретические основы компиляции.— Новосибирск, 1980.—с. 139—150.

14. Бовкун Ю. В., Коваленин А. В. Система программирования ЯВА // Материалы XXI Всесоюз. научн. студенческой конф.—Новосибирск, 1983.—с. 3—9.

15. Руднев С. Б., Чотсернин В. А. Переносимая рабочая смесь — ядра программного обеспечения персональной ЭВМ // Персональные ЭВМ в задачах информатики.—Новосибирск, 1984.—с. 58—72.

16. Муллагалиев А. Р. Кросс-система и язык вместо ассемблера для микро-ЭВМ К1816 // Информатика: инструментальные средства.—Новосибирск, 1988.—с. 98—107.

17. Мельник А. П., Полякоз В. Г., Четвернин В. А. Инструментальная среда для тестирования рабочей станции МРАМОР // Информатика: инструмзнтальныз средства.—Новосибирск, 1983.—с. 137—145.

18. Несговорова Г. П., Садомская М. В. Вперед к пользователю, или проблемы интерфейса // Программно-инструментальные средства задач информатики.—Новосибирск, 1990.—с. 129—134.

19. Бовкун Ю. В., ЧотЕсрнин В. А. Операционная система ОНИКС // Программно-инструментальные средства зздеч информатики.—Новосибирск, 1990.—с. 164—180.

20. Ершов А. П. Смотреть вперед, видеть по сторонам. Колонка родектора // Микропроцессорные средства и системы, № 2, 1988.

Текст подготовлен и сверстан нз рабочей станции МРАМОР. Фотоформы изготовлены на комплексе МРАМОР-ФА в ИСИ СО РАН.

Подписано в печать 25.01.1993 .. Формат бумаги 60х90'/|б- Объем 2,0 уч. изд. л. Тираж 100 экз.

Заказ №

Отпечатано на ротапринте Вычислительного центра СО РАН. 630090, Новосибирск-90, проспект Академика Лаврентьева, 6.