Файл: Зубов В.С. Математическое обеспечение цифровых вычислительных машин и систем учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 26.07.2024
Просмотров: 80
Скачиваний: 0
МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ СССР
МОСКОВСКИЙ о адена ЛЕНИНА ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ
Кафедра вычислительной техники В.С. Зубов, Л.П. Гайфуллина
Утвервдено Учебно-методическим управлением МЭИ
в качестве учебного пособия для студентов
МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
ЦИФРОВЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН И СИСТЕМ
Редактор В.Н. Фальк
Москва |
1974 |
W - Ю Р Ч В З
Гос. nySr"1. : чя
научно-теки . ?г;:яя
библиотека |
С О Р |
|
|
ЭКЗЕМПЛЯР |
|
ЧЧ-мЛЛр Р З Г О |
PA.n,'\ J |
|
^ |
|
А Н Н О Т А Ц И Я |
{ j o k s |
Настоящее |
пособие предназначается для слушателей факу |
льтета повышения квалификации преподавателей при МЭИ, про |
||
ходящих стажировку по специальности "Прикладная математика'.' |
||
|
Курс "Математическое обеспечение ЦВМ" является весьма |
|
объёмным, поэтому данное пособие может служить для начина |
||
ющего преподавателя указанного курса лишь в качестве исход |
||
ной схемы, основы I раздела курса: "Структуры данных, сред |
||
ства |
их организации и использования в ЭВМ". Именно поэтому |
в пособии много внимания уделено вопросам классификации,
систематизации средств, используемых в математическом обес печении ЭВМ. Для более детального ознакомления с вопросами построения и использования структур данных читатель отсыла ется к литературе.
При заданном объёме пособия сложной задачей являлось определение большого количества терминов, специфичных для рассматриваемого предмета; во многих случаях эти термины определены на явно, по контексту. Поэтому в месте первого использования терминов они выделены.
Данное пособив полезно также для студентов старших курсов и аспирантов специальности "Прикладная математика"
и некоторых других специальностей.
ВВЕДЕНИЕ
§ I . Некоторые черты развития математического обеспечения современных ЭВМ
Под математическим обеспечением (МО) вычислительных машин и систем обычно понимается совокупность языковых и
программных средств, как тех, что используются в целях ор ганизации, управления вычислительным процессом так и тех, что непосредственно предоставляются пользовате лям ЭВМ.
Если в ЭВМ первых поколений МО играло второстепенную роль, то в настоящее время существенное расширение круга
решаемых на ЭВМ задач, их усложнение, возросшая динамич ность систем управления, базирующихся на ЭВМ, объективно способствуют дальнейшему относительному увеличению роли той части алгоритма решения вычислительной задачи, которая задана логикой программ, используемых при её решении, а не логикой строения ЭВМ, её системой команд. Тем самым и МО постепенно приобретает доминирующее положение. Лишь при этом условии ЭВМ становится по-настоящему универсальным решающим средством, а специфика применений сосредотачивает ся, главным образом, в используемых программах.
Рассмотрим некоторые характерные черты развития МО ЭВМ.
I . Увеличение фонда алгоритмов и программ Особенностью производства МО является слабый износ из
делий - записей алгоритмов и программ - и медленный их мо ральный износ, который к тому же приводит обычно не к уни чтожению алгоритма или программы и новой разработке, а к некоторой их модернизации, переработке. Изделия МО в виде записи алгоритмов на алгоритмическом языке высокого уровня
должны обладать наибольшим средним ороком использования,
тан как их применение не обусловлено моральным износом ЭВМ.
Эти обстоятельства позволяют аккумулировать труд разработ чиков алгоритмов в виде фонда алгоритмов и программ, без чего расширение сферы применения ЭВМ высохсими темпами было бы немыслимым.
С увеличением фонда алгоритмов и программ возникают проблемы, специфичные для больших информационно-поисковых систем. Поэтому фонд алгоритмов и программ используется в виде совокупности библиотек алгоритмов и программ, хранимых на машинных носителях информации и различающихся по степени общности,например: библиотека общего пользования и частные библиотеки пользователей. Уровень языка, на котором записа на библиотека, может быть различным. МО современных вычис лительных сиотем даёт возможность объединения в общую про грамму (на языке машинного уровня) логически связанных ис ходных программ, напиоанных, возможно, на разных входных языках, что расширяет возможности использования библиотек.
2 . Увеличение уровня универсальности программ По своему эффекту данный процесс может быть уподоблен
переходу от единичного или мелкосерийного производства в промышленности к крупносерийному. Спецификой его примените льно к МО являются относительно большие затраты на разработ ку изделия - универсальной программы - и относительно малые затраты на "процесс производства изделий" - копирование универсальной программы.
Универсальность программы по применениям может быть до стигнута по-разному. Во многих случаях хотя бы некоторые характеристики входной информации или операционная среда
- 5 -
( используемые программой ресурсы ЭВМ) могут быть заданы на бором параметров, которые достаточно просто учесть в прог рамме или её части путём их настройки (при этом может быть задан и различный соотав или последовательность исполнения частей программы). Такой способ получил название способа
параметрической универсальности. Совместно с ним может при
меняться способ достижения универсальности за счёт использо вания функционально полного набора программных частей (мо
дулей), среди которых могут быть взаимоисключающие, выбира
емых управляющей частью программы для применения.
Универсальность программы в плане её решения на разных
ЭВМ зависит от уровня |
языка, на котором написана программа, |
и наличия программной |
совместимости разных ЭВМ. |
Различают 4 уровня программной совместимости:
1) Совместимость на уровне проблемно-ориентированного
языка (ПОЯ). Предполагает одинаковые стандарты записи тек стов программ для разных ЭВМ и наличие трансляторов о рас сматриваемого языка (например, о АЛГОЛ-60, ФОРТРАНА).Если
количество ПОЯ - р , |
а число разных машинных языков - |
п , |
|
то для |
полной совместимости необходимо иметь рп трансляторов. |
||
2) |
Совместимость |
на уровне промежуточного языка. |
В этом |
случае процесс трансляции программ протекает в 2 ступени:
сначала - трансляция с ПСЯ на промежуточный язык, затем -
трансляция с |
промежуточного языка |
на любой машинной язык. |
|
В этом |
случае |
требуется лишь р + п |
трансляторов. |
3) |
Совместимость на уровне машинно-ориентированного |
||
языка |
(ассемблера). В современных ЭВМ уровень ассемблера |
является самым низшим уровнем языка, ещё доступным для по льзователя, и трансляция с ПСЯ происходит на этогуровень.
-6 -
4)Совместимость на уровне машинных языков.
Два последних вида совместимости характерны для моделей т .н . рада программно совместимых вычислительных систем. Сов местимость вверх ~ от низших моделей ряда к высшим - обеспе чивается тем, что системы команд низших моделей являются подмножествами системы команд высшей. Совместимость вниз -
от высших моделей к низшим - обеспечивается интерпретацией тех инструкций высшей модели, которых нет в системе команд низшей. Для моделей ряда характерна прямая программная сов местимость. условиями которой являются: наличие совместимо сти и вверх,и вниз; общие форматы и операторы мнемокода;
одинаковые способы хранения, поиска и идентификации данных;
общий язык заданий операционной системе; аналогичное оформ ление программных модулей. Прямая программная совместимость обеспечивает наиболее широкое использование централизованно производимого МО, упрощает заимствование программ, облегча ет комплексирование различных моделей вычислительных систем.
Тенденция к всё большему выполнению условий программной совместимости разных ЭВМ и, в частности, построение рядов программно совместимых ЭВМ, создаёт условия для "крупносе рийного производства" в области разработки МО, т .е . условия для реализации программ в наиболее универсальном виде. По скольку полная универсальность по применениям, требующая наибольшего расхода памяти ЭВМ под рабочую программу, может оказаться излишней для конкретного пользователя (группы по льзователей) , при трансляция задания пользователя может быть применён принцип т .н . условной сборки. Подобный ему
принцип испоеьзуется и при генерация рабочего варианта опе рационной спстеге; 2СИ,
- 7 -
3. Дифференцированные требования к качеству программ Усложнение ЭВМ, а вместе с ними и МО, усложнение приме
нений ЭВМ, необходимость разработки универсальных программ,
к качеству которых предъявляются повышенные требования, ве дут к увеличению специализации в области программирования,
при которой программы, имеющие сколь-нибудь общее значение,
или длительно используемые программы (например, программы операционной системы) разрабатываются программистами боль шей квалификации. С течением времени программирование для рядового пользователя в значительной мере будет сведено к заданию параметров, описывающих исходную информацию, и оп ределению, в основном, в непроцедурной форде способа её об работки, т .е . к использованию в максимальной мере стандарт ного МО. Условием обеспечения необходимого его качества является разработка всё возрастающей доли МО т .н . систем ными программистами. С этой целью ими используется:
аJ Математическая оптимизация используемых алгоритмов.
б) Современная техника программирования: адресное прог
раммирование, разного рода логические векторы, широкий на бор методов буферизации, организации данных и доступа к ним,
правильный выбор структуры программ и т .п .
в ) |
Знание возможностей вычислительных систем и их МО. |
г ) |
Введение в программы функциональной избыточности, |
позволяющей выбирать лучший способ выполнения заданий в каждом конкретном случае их применения.
4. Внедрение системного программирования Значительная доля современного МО представлена система
ми МО. Их распространение обусловлено многими причинами:
появлением вычислительных систем, многие пункции управления
в которых решены схемно-программным путём ( операционные си стемы) ; резким расширением круга пользователей ЭВМ и объёма МО, потребовавшим более полного осуществления автоматизации
программирования ( системы программирования) ; требованиями
системной организации МО при его использовании в системах управления (АСУ) и других системных его применениях.
5 .Модульное выполнение систем математического обеспече ния (СМО)
Подобно тому, как вычислительные системы состоят из функционально законченных блоков, имеющих универсальные внешние связи, СМО в настоящее время также выполняются со стоящими из программных модулей, каждый из которых реализу ет собственную функцию. СМО в общем случав содержит управ ляющую часть и библиотеку (функциональных модулей. Связи между модулями осуществляются согласно определённому согла шению. Модуль использует определённое число входных пара метров (возможно, нулевое),в результате его выполнения об разуется некоторое количество значения выходных параметров,
могущих служить входными для других модулей.
Модульное строение даёт единственно возможный практиче ский способ осуществления в приемлемые сроки программ или СМО большого объёма, так как допускает независимое выпол нение и отладку отдельных их частей разными исполнителями.
СМО с модульным строением являются открытыми, т .е . допуска ют простую их модернизацию путём замены модулей, изменения или .добавления отдельных модулей, изменения связей между модулями. Именно модульное строение позволяет осуществлять функциональную избирательность путём включения в состав программы или С!.-Ю лишь тех модулей, которые образуют функци-
- 9 -
онально полный набор модулей для пользователей данной СМО или программы в запланированный период времени. Набор мода-
лей, являющийся пересечением всех вариантов системы, возмо~
жных при различных её применениях, называется ядром системы.
Вообще, при модальном программировании логика состав ления программы сводится к не зависящему от ЭВМ синтезиру ющему уровню, так как по сути дела модули являются элемен
тами проблемно-ориентированного языка высокого уровня. Оче видно, что создание библиотек модулей позволяет наиболее эффективно аккумулировать результаты работ в области МО.
Значительный экономический эффект ожидается от массового внедрения модульных прикладных систем программирования,
назначением которые является наиболее полная автоматизация технологичеоких процессов реализации на ЭВМ задач, относя щихся к узко специализированным классам.
6. Внедрение прикладных систем программирования Как известно, развитие автоматизации программирования
требует введения во входные языки ЭВМ проблемно-ориентиро ванных элементов. Достаточно общие элементы становятся стандартными средствами алгоритмических языков (к числу таковых можно отнести, например, пакет программ упорядоче ния и пакет программ для получения табличных отчётных форм в КОБОЛЕ), Вместе с тем, для каждого сектора науки и техни ки, сферы управления и обслуживания существует специфиче ская предметная область и специфические зависимости величин,
её описывающих, и,следовательно, существует известная специ фика' обработки данных. Этим объясняется наметившаяся тенден ция к определённой специализации в области МО, органически сочетаемая с унификацией МО.