Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
3
Добавлен:
23.10.2023
Размер:
4.27 Mб
Скачать

МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РСФСР

РЯЗАНСКИЙ РАДИОТЕХНИЧЕСКИЙ ИНСТИТУТ

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. Основные понятия теории алгоритмов

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

)

Соседние файлы в папке книги из ГПНТБ