Слайд 3В системы "Электроника ССБИС/1" входили:
- основная машина векторно-конвейерного типа с локальным оперативными
запоминающим устройством емкостью 8-32 Мб и производительностью 250 млн. операций в секунду над числами с плавающей запятой;
- подсистема внешней полупроводниковой памяти емкостью 256 Мб с двухпортовым контроллером для подключения двух основных машин;
- от 2 до 8 дисковых подсистем общей емкостью 20 Гб;
- подсистема внешних машин, используемая для работы с периферийным оборудованием и для подготовки заданий для основной машины;
- управляющая машина для выполнения управляющих и диагностических функций всей системы.
Слайд 4Основная машина имела операционную систему (ОС), выполнявшую наряду с традиционными функциями операционных
систем управление данными на двухуровневой внешней памяти, поддержку транспортных и функциональных протоколов сети.
Основные особенности архитектуры высокопроизводительной векторно-конвейерной ЭВМ - наличие возможностей векторной обработки данных, многоуровневая организация регистров процессора, параллельно работающие конвейерные устройства — потребовали создания оптимизирующих трансляторов с языков высокого уровня.
Слайд 5В состав системного программного обеспечения основной машины вычислительной системы "Электроника ССБИС" входили
следующие компоненты:
- операционная система;
- базовая система программирования;
- система программирования на языке ФОРТРАН-77;
- система программирования на языке Си;
- система программирования на языке Паскаль;
- имитационный комплекс основной машины, предназначенный для разработки и отладки ее программного обеспечения на инструментальных ЭВМ ("Эльбрус 1KB", IBM PC/AT);
- стандартное прикладное программное обеспечение.
Слайд 6Операционная система состоит из ядра и совокупности системных задач.
Некоторые системные задачи,
называемые псевдозадачами, работают в привилегированном режиме, обладают доступом ко всей оперативной памяти. В виде псевдозадач оформлены: транспортная станция, задачи управления оперативной и внешней памятью. Псевдозадачи взаимодействуют с задачами ОС, используя стандартный аппарат обмена сообщениями.
Аппарат обмена сообщениями между задачами реализует примитивы: "послать сообщение синхронно", "послать сообщение асинхронно", "послать ответ на сообщение", "ждать сообщение", "ждать ответ на сообщение", "ждать истечения интервала времени" и примитивы с различными комбинациями таких указаний.
Слайд 7Центральной задачей ОС является "Инициатор-терминатор", выполняющий следующие функции:
- образование новых пользовательских задач
и системных нерезидентных задач ОС;
- извещение всех системных задач о появлении новой задачи, в результате чего все системные задачи настраиваются на работу с новым абонентом;
- нормальное или аварийное завершение задачи, о котором оповещаются все системные задачи, после чего системные задачи отстраиваются от абонента;
- планирование выполнения введенных заданий и шагов заданий;
- разрешение конфликтных ситуаций при не хватке ресурсов и тупиках в системе;
- управление "контрольными точками".
Слайд 8Для обеспечения гибкого конструирования и изменения операционной среды выполняемой программы в системе
программирования ОМ реализован механизм абстракций при помощи понятия "кластер".
Абстрактный объект характеризуется уровнем спецификации (представляется набором операций со специфицированным интерфейсом) и уровнем представления (с описанием локальных структур данных; процедур, реализующих операции; других абстрактных объектов).
Программе, использующей абстрактный объект, он доступен только на уровне спецификаций, уровень представления скрыт от нее. Кластер порождается конструкцией объявления, в которой задается имя экземпляра и его тип. Тип содержит всю информацию, характеризующую объект.
Существуют эквивалентные типы кластеров (порождающие кластеры с одинаковым уровнем спецификаций, но с различными уровнями представления).
Совокупность кластеров задает операционную среду выполнения программы.
Слайд 9Объекты файловой системы ОС ОМ хранятся на внешней памяти ОМ, которая является
двухуровневой: первичная внешняя память (интегральная массовая память) и вторичная (дисковая память). Основное назначение массовой памяти — сглаживание дисбаланса между скоростью работы процессора и темпом обмена с дисковой памятью. Особенный выигрыш при использовании массовой памяти может быть получен при реализации непоследовательных методов доступа - прямых, индексных, ключевых и т.п.
Максимально выигрывают от использования массовой памяти получают задачи, обрабатывающие большие массивы информации с произвольным доступом к элементам массивов данных (например по строкам, столбцам, диагоналям матрици т.д.).
Обычный режим работы — обработка активных файлов в массовой памяти, предварительно переписанных в нее из дисковой памяти. Существует также возможность работы и с файлами на дисковой памяти, например с файлами последовательной организации.
Слайд 10Принципиальной особенностью массовой памяти является наличие процессора управления ее работой.
Процессор массовой
памяти может обеспечивать выполнение передачи данных между ней и оперативной памятью по любому алгоритму выборки ячеек, например, передавать строки, столбцы или диагонали матриц. Это повышает общую эффективность работы системы, так как освобождает процессор ОМ от рутинной работы, уменьшает объем информации, обмениваемой с внешней памятью, поскольку поток данных между ОМ и массовой памятью будет содержать только полезную информацию.
Основная машина по каналам связана с внешними машинами. ОС ОМ по этим каналам может связываться с программным обеспечением на ВМ, в частности через него получать доступ к файлам в архивах внешних машин.
Слайд 11Взаимодействие компонентов программных систем, в том числе операционных систем, работающих в разных
машинах происходит по динамически устанавливаемым соединениям. На каждое установление соединения приходится несколько обменов информацией по этому соединению. В период взаимодействия компоненты посылают друг другу сообщения.
Характер взаимодействия между компонентами относится к типу «удаленный вызов процедур». То есть, из пары взаимодействующих по соединению компонентов один является активной стороной, и инициатива в посылке сообщений принадлежит ему. Он посылает запросы, которые пассивный компонент обрабатывает и отвечает на них.
Слайд 12Функции транспортного уровня состоят в установлении транспортного соединения между точками доступа, в
транспортировке данных по этому соединению, в управлении потоком данных.
Сетевое программное обеспечение локальной сети ВС создает базовый транспортный уровень, выше которого строятся служебные и прикладные функциональные системы.
Таковой является система пакетной обработки заданий на ОМ.
Слайд 13Базовая система программирования ОМ
Базовая система программирования на языке ассемблера, позволяет вручную писать
высокоэффективные программы, в полной мере учитывающие особенности архитектуры ОМ.
Она содержит макроассемблер, кластерный оверлейный загрузчик, символьный отладчик
Язык макроассемблера позволяет программисту выражать в символьной форме все функции центрального процессора ОМ.
Слайд 14Особенностью базовой системы программирования ОМ является возможность использования абстрактных типов данных, поддерживаемая
ассемблером, загрузчиком и языком управления заданиями ОС.
Независимость программ от операционной среды выполнения основывается на понятии эквивалентных кластеров. У них одинаковые наборы операций, но могут быть различные внутренняя структура и реализация операций.
Слайд 15Кластерный оверлейный загрузчик предназначен для формирования двоичного образа рабочей программы, пригодного для
хранения в библиотеке, а также для непосредственной записи в оперативную память и последующего выполнения.
Символьный интерактивный отладчик ОМ обеспечивает выполнение следующих требований:
• наличие режима имитации, позволяющего осуществлять более детальный контроль за выполнением программы, чем это возможно с помощью одних лишь аппаратных прерываний;
• возможность управления режимом реализации прерываний и перехода от режима аппарат ной реализации к режиму имитации и обратно;
• возможность задавать условия прерывания, связанные с обращениями не только к памяти, но и к регистрам, так как регистры векторно-конвейерной ЭВМ могут использоваться для длительного хранения переменных;
• возможность обратного прослеживания значений переменной (то есть выяснения изменений значения переменной до достижения текущего значения) для переменных, хранящихся на регистрах;
• возможность замеров времени выполнения отдельных участков программы.
Слайд 16Система программирования на языке ФОРТРАН-77
Основными компонентами, поддерживающими программирование в этой системе являются
компилятор программ с языка ФОРТРАН-77 и административная система управления операциями ввода/вывода.
Компилятор с языка ФОРТРАН-77 для ОМ является прямым. Это позволяет эксплуатировать его как на основной машине, так и в рамках имитационного комплекса.
Слайд 17Система программирования на языке Си
Система программирования языка Си включает в себя препроцессор,
компилятор и библиотеку стандартных функций, определенных в Стандарте языка.
Система программирования на языке Си почти целиком написана на этом языке.
Слайд 18Система программирования на языке Паскаль
Система включает в себя в качестве компонент компилятор
программ с языка Паскаль, а также административную систему поддержки работы Паскаль-программ на ОМ. Результатом работы компилятора с языка Паскаль является стандартный загрузочный модуль ОМ.
Слайд 19Имитационный комплекс основной машины
Имитационный комплекс ОМ предоставляет пользователю средства программирования ОМ путем
использования инструментальной машины "Эльбрус 1КБ" или IBM PC/AT.
Обеспечиваются возможности трансляции, загрузки, интерпретации, диалоговой и пакетной отладки программ, написанных на языке ассемблера ОМ. Файлы пользователя хранятся в специальным образом организованных областях на внешней памяти инструментальной ЭВМ - архивах, причем обеспечивается доступ к файлам по именам.
Слайд 20Директивы имитационного комплекса обеспечивают:
- создание архива;
- печать справочника архива;
- создание, ликвидацию, печать
файла в архиве;
- копирование файла;
- создание, обновление, печать пакета модулей;
- создание и модификацию библиотеки модулей;
- загрузку модулей из библиотеки в пакет;
- печать справочника библиотеки;
- перенос пакета модулей из памяти в архив и обратно;
- трансляцию с языка ассемблера;
- загрузку пакета модулей;
- интерпретацию.
Слайд 21Стандартное прикладное программное обеспечение
Стандартное прикладное обеспечение ВС "Электроника ССБИС" организовано в виде
расширяемого множества эффективно реализованных подпрограмм, объединенных в библиотеки и пакеты.
Его состав охватывает как наиболее часто встречающиеся общеупотребительные задачи численного анализа и дискретной математики, так и задачи, связанные с отдельными предметными областями.
Разработка стандартного обеспечения отделена от пользователя и является неотъемлемой частью реализации всего проекта создания новой машины.
Слайд 22Отличительной особенностью разработки в целом является то, что создание стандартного прикладного обеспечения
осуществлялось одновременно с разработкой аппаратуры и системного обеспечения, поэтому тестирование, отладка и оптимизация разрабатываемых программ велись на имитационном комплексе основной машины.
Слайд 23Разработка стандартного прикладного обеспечения для векторно-конвейерной ЭВМ "Электроника ССБИС" была начата с
ядра, охватывающего первоочередные задачи общего назначения.
• Библиотека стандартных подпрограмм вычисления элементарных математических функций (108 программных модулей, макро ассемблер). Отдельные разделы:
- вычисление элементарных функций вещественного аргумента (скалярный и векторный варианты);
- вычисление элементарных функций комплексного аргумента (скалярный и векторный варианты);
- вычисления с двойной точностью (арифметические операции, скалярный и векторный варианты вычисления элементарных функций).
Слайд 24Библиотека стандартных программ вычисления специальных функций скалярного и векторного вещественного аргумента (27
программных модулей, макроассемблер и ФОРТРАН).
• Библиотека элементарных операций линейной алгебры СПЛАВ (17 программных модулей, макроассемблер, вещественные и комплексные аргументы). Отдельные разделы:
- скалярное произведение векторов;
- умножение вектора на скаляр и сложение с другим вектором;
- копирование вектора;
- перемещение векторов;
- вычисление евклидовой нормы;
- вычисление суммы абсолютных значений элементов вектора;
- умножение вектора на константу (масштабирование);
- вращение Гивенса;
- поиск максимального по абсолютному значению элемента вектора.
Слайд 25• Библиотека программ нечисловой обработки (36 программных модулей, макроассемблер).
• Библиотека программ внутренней
сортировки.
• Библиотека стандартных программ генерирования псевдослучайных чисел (10
программных модулей, макроассемблер, скалярный и векторный варианты).
• Библиотека стандартных программ элементарной статистики, предварительная
обработка данных, вычисление функций распределения и критериев согласия (32 программных мо дуля, макроассемблер).
Слайд 26Библиотека программ интерполирования, аппроксимации и сглаживания функций (12 программных модулей, макроассемблер).
• Библиотека
стандартных программ численного интегрирования (12 программных
модулей, макроассемблер и ФОРТРАН).
• Библиотека программ решения систем обыкновенных дифференциальных уравнений первого порядка (макроассемблер и ФОРТРАН).
• Библиотека программ решения интегральных уравнений (6 программных модулей, IIJl-1 и макроассемблер).
Слайд 27Библиотека базовых программ решения задач комбинаторной вычислительной геометрии (11 программных модулей, макроас
семблер).
• Библиотека программ решения задач на графах (21 программный модуль, макроассемблер).
Пакет программ быстрого преобразования Фурье (37 программных модулей, ПЛ/1 и макроассем блер).
• Пакет программ решения задач линейной алгебры с заполненными квадратными и прямо угольными матрицами общего вида, симметричными и треугольными матрицами (50 программных модулей, ФОРТРАН и макроассемблер).
Слайд 28Пакет программ решения задач линейной алгебры с использованием внешней полупроводниковой памяти (30
программных модулей, ФОРТРАН и макроассемблер).
• Пакет программ решения задач на собственные значения для заполненных симметричных положительно определенных матриц (4 программных модуля, ФОРТРАН и макроассемблер).
• Пакет программ решения задач линейной алгебры с разреженными матрицами (29
про граммных модулей, ФОРТРАН и макроассемблер).
• Пакет программ решения задач линейной алгебры с ленточными матрицами прямыми методами (38 программных модулей, ФОРТ РАН и макроассемблер).
Слайд 29Пакет программ решения систем линей ных уравнений с ленточными матрицами ите рационными
методами (12 программных модулей, ФОРТРАН)
• Пакет программ решения задач спектрального анализа для симметричных трехдиагональных матриц (8 программных модулей, ФОРТРАН и макроассемблер).
• Пакет программ решения задач оптимального распределения ресурсов на сетях большой размерности (39 программных модулей, ФОРТРАН и макроассемблер).