Файл: Богданов В.С. Системы математического обеспечения цифровых вычислительных машин учеб. пособие.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.08.2024
Просмотров: 44
Скачиваний: 0
МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РСФСР
РЯЗАНСКИЙ РАДИОТЕХНИЧЕСКИЙ ИНСТИТУТ
N
В. С. Богданов, И. И. Холкин
«
СШ7Ш1М ІІІАТЕШТІІ4БСКОГО
омгш 'п шиа цифровых
вычислительных шшин
Рязань 1973
'МИНИСТЕРСТВО ВЫСШЕГО и среднего специального
ОБРАЗОВАНИЯ РСФСР <
РЯЗАНСКИЙ радиотехнический институт
В.С.Богданов, И.И.Холкин
в
СИСТЕМЫ МАТЕМАТИЧЕСКОГО .ОБЕСПЕЧЕНИЯ
цифровых, вычислительных машин
Учебное пособйе .. ТТ
•Рязань 1972
г о с “ ПУБЛИ ЧН АЯ ' j
н а Ѵ ч :ю -т е х и п ч е с к а я |
■УмкЛИОТЕКА СССР I
73- 3
■Одобрено методическим Советом Рязанского падуо
ничѳокого института 2? октября І?7І года.
- 3 - |
... |
ВВЕДЕНИЕ
Эксплуатация современных вычислительных машин невозмож на без оснащения их большим комплектом служебных программ , которые облегчают решение задач и повышают эффективность ис пользования ЦВМ. Эти программы организуют весь процесс про хождения задач и фактически управляют работой самих ЭВМ.
Весь комплекс таких программ принято называть программ?- ннм, или математическим, обеспечением ЭВМ.
Математическое, или программное, обеспечение представ - ляет некоторую систему программирования данной ЦВМ, включаю щей языки программирования, методы перевода алгоритмов реше ния задач, записанных на этих языках, в команды данной ЦВМ,и
характеристики переводящих программ-трансляторов, методы от-
/
ладки и редактирования программ, методы ввода-вывода инфор - нации. Потребитель фактичеОки контактирует не с ЭВМ, а с ком плексом, состоящим из ЭВМ и системы программного обеспечения.
Эффективное использование современных ЭВМ вообще невоз можно без соответствующей достаточно развитой системы про - граимирования.
Если для машин первого поколения стоимость разработки программного обеспечения составляла примерно % от стоимос
ти вычислительного оборудования,, то к настоящему времени за траты на разработку программного обеспечения составляют для крупных ЭВМ 7D-80/? от стоимостиаппаратной части.
Отсюда следует важность рассмотрения вопросов, связан -
- 4 -
*
них с программным обеспеченней ЦВМ. .
Структура программного обеспечения з сильное степени ножет определять структуру самой ЭВМ. Больше того, удачное
разделение функций при |
решении задач между аппаратной частью |
|||
к программным обеспечением ЭВМ позволяет в сильной степени |
||||
повысить эффективность |
работы ЭВМ, |
которая |
определяется |
сред |
ним временен с момента |
поступления |
задачи |
на центр и до |
ыо - |
мента выдачи готовых результатов заказчику.
В данном пособии рассматриваются вопросы, касающиеся различных составляющих системы математического (программно го) обеспечения ЭВМ; алгоритмические языки, их структура и программирование на них, общие принципы построения трансля торов, структура служебных программ, обеспечивающих эффек - тивное прохождение задач на ЭВМ. ,
Изложению этих вопросов предшествует.рассмотрение неко торых основных понятий программирования> теории формальных языков.
*
Г л а в а I
НЕКОТОРЫЕ ОБШИБ ПОНЯТИЯ ТЕОРИИ ПРОГРАММИРОВАНИЯ
V
§ I. Алгоритмический язык - основа системы программирования
Со времени создания первых электронных Ц В М ( машины ЭНИАК - построенной при Пенсильванском университете в 1945 году, СЭАЕ - б Кембриджском университете в 1950 году) про
шло немногим более 20-ти лет, однако, несмотря на столь ко роткий период, они проникли практически во все'сферы челове
ческой деятельности. |
' ' |
|
Рассматривая историю развития 'IBM с точки зрения техно |
||
логии их |
производства, можно |
выделить четыре поколения: І-е |
поколение |
-• ламповые машины, |
2-е -транзисторные, 3-е - маши |
ны, построенные на интегральных элементах, 4-е - машины, по строенные на больших интегральных схемах.
|
Техническое совершенство ЭВМ привело к тому, что наибо |
||
лее совершенные образцы их |
(машины большой мощности ЯБМ-360 |
||
ЭЛЙАЕ ІТ) могут иметь обьем |
ОЗУ Ю ® * 10^ слов, а ВЗГ Ю ® ■» |
||
ю 12 слов,, при етои |
их быстродействие мсагет достигать 10^ ■* |
||
5-І08 |
операций в |
секунду. |
|
Характерной особенностью решения задачи на ЦВМ является |
|||
подготовка задачи к |
решению - программирование. Отметин, что |
- 6 -
программирование задачи требует длительного времени,, зачас тую во много раз превышающего решения самой задачи непосред
ственно на машине. Например, сравнительно небольшая по быст родействию отечественная ЭВМ "М-220", производящая 20-30 тыс. операций в секунду, решает задачу, содержащую несколько со
тен тысяч операций, примерно за 10 секунд, а на подготовку
ее уходят часы. Поэтому, наряду с техническим усовершенство ванием ЦВМ, повышением ее быстродействия, увеличением объема памяти перед, разработчиками в настоящее время стоит важная задача повышения эффективности.ЦВМ с целью сведения к мини-
О |
• |
|
муму |
времени, затрачиваемого на программирование. Решение |
|
этой |
задачи невозможно без знания алгоритмических языков. |
|
|
Программирование |
- это раздел прикладной математики , |
разрабатывающий методы составления програмы для решения ма тематических и информационно-логических задач на ЦВМ.
Первоначально задача программирования ставилась как за дача получения программы решения на языке конкретной ЩЗД, то есть в системе команд данной машины. Такой подход был удов летворительным при использовании первых ЦВМ и решении задач небольшое сложности. При появлении машин 2-го, а особенно З^го поколения такой подход стал непригодным, ибо при опи сании слонкых алгоритмов решения задач на больших ЦВ11 исход ный язык (система команд) является непреемлемым. В этой свя зи в программировании возникла задача создания удобного языка для описания алгоритмов решения задач и задача перево да сотого языка на язык конкретной машины.
Первоначально задача создания удобного языка решалась
-7 -
восновной за счет расширения языка конкретной машины путем включения в него более сложных операций, выполняемых машиной по так называемым стандартным подпрограммам (СП). Такой спо соб называется методом библиотечных подпрограмм. В настоящее
время подключение СП к основной программе производится |
по |
|
специальной |
программе. |
|
Другим |
способом создания удобного языка является метод |
|
псевдокода, |
то есть системы команд некоторой условной |
машины. |
Каждая такая команда, являясь элементарной в псевдокоде, спо собна выполнять значительно более сложные операции, чем дан ная конкретная машина. Псевдокоманда осуществляет вызов не которой СП, осуществляющей программным путем данную операцию. Третьим, более обширным, способом создания удобного язы
ка для описания алгоритмов является операторный метод: алго ритм расчленяется на операторы, каждый из которых описывает ся по определенным правилам. Выбор определяемых операторов и правила их описания задают некоторый так называемый алгорит мический язык, например, международный язык программирования АДГОЛ-60, обобщенный язык описания учетно-экономических за - дач Кобол и т.д .
Возникновение алгоритмических языков в свою очередь по ставило такие задачи, как разработка алгоритмов перевода (транслирования) с алгоритмического языка в систему команд конкретной ЦВ!і и разработка алгоритмов отладки программ. В настоящее время этим проблемам посвящена значительная часть работ в области программирования.
Следует отметить, что при использовании алгоритмическо
\
—8 —
го языка требуется специальная переводящая программа-трансля- тор. Транслятор основан на использовании подпрограммы перево да отдельных конструкций языка и иожет работать в двух режи мах-.
I. Выполнение вызываемых подпрограмм может осуществлять
ся сразу же за расшифровкой каждой псевдопрограммы. В этом случае транслятор называется интерпретирующей программой.
Метод интерпретации используется в системах автоматиза
ции программирования машин с относительно небольшой оператив
ной памятью и высокой скоростью выполнения операций. !
°2. Слова, описывающиё на данном языке алгоритмы работы
машины, заменяются соответствующими подпрограммами; трансля тор составляет, компилирует всю программу в целом, после че
го она выполняется на машине. Естественно, что |
объем памяти |
в этом случае должен быть значительно большим. |
Этот метод на |
зывается компилирующим, а программирующая программа - компи лятором;
Следует отметить, что создание транслятора для алгорит мического языка,тесно связано с использованием конкретной ма— 'тины. Для одного и того же алгоритмического языка могут быть созданы различные трансляторы. Они могут отличаться друг от друга (хотя и не существенно) даже в отдельных элементах . Эти отличия по большей части касаются детализации способа на
писания некоторых символов. Поэтому при использовании конк ретного транслятора для АЛГОЛа перед составлением алгоритма необходимо выяснить, что включает данный транслятор и как он работает.
I
- 9 -
Для этого нужно просмотреть справочник по данному тран
слятору и выявить особенности использования |
этого языка для |
||
данной машины. |
|
і' |
|
■ |
Бурное развитие |
программирования, в своп очередь, оказы |
|
вает |
большое влияние |
на развитие логики современных ЦВМ. |
|
|
Появились ЦВМ, |
внутренний язык которых |
представляет раз |
новидность алгоритыического языка (машина "Нир-І"). Логичес кое проектирование таких ЦВМ следует рассматривать как осо-
буп задачу программирования. |
. |
- . . |
|
С другой стороныі оказывая влияние на |
развитие |
машин, |
|
программирование использовало и использует |
реальные |
машины |
как источник новых идей. Так, появление машин, в составе ко торых имеются параллельно и независимо работающие устройства, поставило,перед программированием задачу создания программ , в которых должна быть предусмотрена возможность совмещения во времени отдельных групп операторов» .
Наконец, появление машин, способных решать одновременно несколько различных задач, привело к созданию нового раздала программирования" - мультипрограммирования.
§2. Основные понятия теории алгоритмов
Всвязи с тем, что успешное решение многих задач про - гранмирования и логического проектирования ЦВМ невозможно без изучения рбщих закономерностей, связанных с использованием автоматов и анализом алгоритмов, остановимся на основных
)