• Tidak ada hasil yang ditemukan

ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА и ПРОГРАММИРОВАНИЕ

N/A
N/A
Protected

Academic year: 2023

Membagikan "ВЫЧИСЛИТЕЛЬНАЯ МАТЕМАТИКА и ПРОГРАММИРОВАНИЕ"

Copied!
544
0
0

Teks penuh

(1)

Ю. П. Боглаев

ВЫЧИСЛИТЕЛЬНАЯ

МАТЕМАТИКА и

ПРОГРАММИРОВАНИЕ

Допущено

Государственным комитетом СССР по народному образованию в качестве учебного пособия для студентов высших технических

учебных заведений

f c w W H W M r * . » *г. « г . . Л

!5

. \/;Я .v-АТУРА

Москва

«Высшая школа»

1990

(2)

Б Б К 22.18 Б73 У Д К 681.3.06

Р е ц е н з е н т ы : кафедра прикладной математики Обнинского института атомной энергетики (зав. кафедрой — д-р физ.- мат. наук, проф. В. А. Тупчиев) и канд. физ.-мат. наук В. Г. Сушко (Московский государственный университет им. М. В. Ломоносова)

Боглаев Ю. П.

Б73 Вычислительная м атем атика й | программирование:

Учеб. пособие для студентов втузов.І—М.: Высш. шк., 1990.—

544 с.: ил.

ISB N 5-06-000623-9

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

1602120000(4309000000) — 435 ББК 22.18

Б --- -— --- --- 8 8 — 90

001(01)— 90 517.8

IS B N 5-06-00623-9 © Ю. П. Боглаев, 1990

(3)

О Г Л А В Л Е Н И Е

Предисловие ... 5

Введение ... 7

Г л а в а 1 Архитектура ЭВМ 1.1. Введение ... 15

1.2. Архитектура фон Неймана ... 16

1.3. Классификация архитектурных решений ЭВМ ... 22

1.4. Вычислительные системы серии СМ ... 28

1.5. Память на магнитных дисках и лентах ... 33

1.6. Алфавитно-цифровые печатающие устройства ... 37

1.7. Алфавитно-цифровой терминал ... 38

Г л а в а 2 Структура алгоритмов и программ 2.1. Семейства вычислительных алгоритмов ... 41

2.2. Структура алгоритмов ... 46

2.3. Поток данных ... 52

2.4. Структура программ ... 54

Г л а в а 3 Программирование на фортране 3.1. Введение ... 61

3.2. Основы программирования на фортране ... 63

3.3. Программирование элементарных вычислительных алгоритмов 90 3.4. Оптимизация программ ... 116

3.5. Расширение возможностей фортрана ... 123

Г л а в а 4 Системные и инструментальные программы 4.1. Введение ... 133

4.2. Элементы операционных систем ... 137

4.3. Система реального времени ... 143

Г л а в а 5 М етоды вычислений 5.1. Примеры ... 164

5.2. Масштабирование и замена переменных ... 172

5.3. Аналитические методы ... 178

5.4. Методы возмущений ... 224

5.5. Численные методы ... 235

5.6. Оценка результатов вычислений ... 239

5.7. Особенности серийных вычислений ... 246

Г л а в а 6 Теория приближений 6.1. Введение ... 248

6.2. Интерполяция ... 251

(4)

6.3. Сплайны ... 256

6.4. Равномерные приближения ... 261

6.5. Среднеквадратичные приближения ... 268

Г л а в а 7 Численное интегрирование 7.1. Введение ... 276

7.2. Простейшие квадратурные формулы ... 279

7.3. Составные квадратурные формулы ... 282

7.4. Оценка погрешности численного интегрирования ... 288

7.5. Формулы Гаусса ... 293

7.6. Интегрирование функций двух переменных ... 297

Г л а в а 8 Линейная алгебра. Линейная оптимизация 8.1. Оценки погрешности решения задач линейной алгебры ... 301

8.2. Прямые методы решения систем линейных уравнений ... 312

8.3. Итерационные методы решения систем линейных уравне­ ний ... ... 322

8.4. Вычисление собственных значений и векторов ... 328

8.5. Линейная оптимизация ... 335

Г л а в а 9 Нелинейные уравнения. Нелинейная оптимизация 9.1. Введение ... 344

9.2. Сжимающие отображения ... 348

9.3. Метод Ньютона ... 356

9.4. Метод бисекции ... 361

9.5. Поиск минимума функции ... 363

9.6. Методы спуска ... 367

9.7. Метод золотого сечения ... 371

Г л а в а 10 Обыкновенные дифференциальные уравнения 10.1. Дискретизация ... 375

10.2. Задача Коши. Методы Рунге -Кутта ... 387

10.3. Жесткие уравнения ... 396

10.4. Краевые задачи ... 402

Г л а в а 11 Уравнения с частными производными 11.1. Введение ... 415

11.2. Разностный метод решения стационарных уравнений ... 422

11.3. Разностный метод решения нестационарных уравнений ... 433

11.4. Метод прямых ... 440

Г л а в а 12 Библиотека фор гран-программ 12.1. Каталог библиотеки ... 445

12.2. Содержание разделов ... 446

12.3. Описание программ ... 450

Задачи и упражнения ... 490

I уровень ... 490

II уровень ... 510

III уровень ... 518

Приложение 1. Англо-русский словарь ... 525

Приложение 2. Фортран 77... 529

Литература ... 534

Предметный указатель ... 536

(5)

П Р Е Д И С Л О В И Е

Вычислительная м атем атика и програм м ирование (ВМ П) зани­

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

Однако при всем разнообразии методик преподавания можно выделить два принципиально различных направления: 1) вычисли­

тельная м атем атика и програм м ирование читаю тся как отдельные курсы; 2) ВМП — единый курс. П ри написании книги автор при­

держивался второго направления. Н астоящ ая книга написана в соот­

ветствии с програм м ой курсов «Основы програм м ирования» и «Ос­

новы математического моделирования».

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

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

мических, технологических и т. п. процессов. О перационная система реального времени ОС РВ предоставляет возм ож ность реш ать одновременно задачи управления приборами, технологическими установками, стендами и т. д. Эти задачи м огут успешно решаться после изучения маш инно-ориентированного язы ка макроассемблера.

(6)

Если курс ВМ П организуется на базе другой вычислительной техники, например ЕС, с другой операционной системой, то следует соответственно заменить содержание 1.4— 1.7; 4.3. Изучение остального м атериала книги не зависит от специфики используемых ЭВМ . Численные методы и состав библиотеки ф ортран-програм м отобраны на основе анализа распространенных библиотек для научно-технических расчетов в объеме, достаточном для начального этапа обучения.

М инимальны й объем курса ВМ П вклю чает содержание глав 3, 4, 6— 11 в соответствии с профилем специальности студента.

Главы 2 и 5 ориентированы на углубленный подход к предмету, их содержание помож ет в проведении типовых расчетов, вы пол­

нении курсовых работ и т. п.

Изложение програм м ирования строится на основе алгоритм ов численного анализа. Н ачальным итогом обучения является умение написать самостоятельно програм м у (по данном у алгоритму) и отладить ее на ЭВМ. Д алее акцент переносится на использование библиотечных программ и анализ собственно численных методов.

Курс заверш ается решением на ЭВМ задачи технического содер­

жания, которая является типичной для будущей специальности студента.

А втор приносит глубокую благодарность академ икам Ю. А. Оси- пьяну, А. А. Самарскому, А. Н. Тихонову, профессором В. Ф. Буту­

зову, А. Б. Васильевой, Ю. А. Дубинскому, В. П. Кутепову, С. А. Л о ­ мову, Н. X. Розову, В. А. Тупчиеву, А. Б. Ф ролову, доцентам А. А. Амосову, Н. В. Копченовой, В. Г. Сушко, чей научно-педаго- гический опыт был явно и неявно использован в работе над книгой.

Все замеченные недостатки, предложения просьба направлять автору в адрес изд-ва «Высшая школа». 101430, М осква, ГСП -4, Неглинная ул., 29/14.

Автор

(7)

ВВЕДЕНИЕ

Во все времена человек стремился расш ирить свои возможности, создавая разнообразны е орудия труда, познания м ира, средства существования. Так, например, недостаточность зрениия компенси­

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

Вычислительные маш ины «дополняю т» возмож ности человечес­

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

ния какой-либо работы.

В конце 40-х годов XX в. работы в области ядерной физики, баллистики управляемых снарядов, аэродинамики и т. д. потре­

бовали такой вычислительной работы , которую уже было невоз­

можно выполнить с пом ощ ью ариф м ом етров — основного вычисли­

тельного инструмента тех лет. Наука и техника были поставлены перед дилеммой: или всем сесть за ариф м ом етры , или найти новый эффективный инструмент вычислений. Аналогичные про­

блемы уже не раз возникали и будут еще не раз вставать перед учеными и инженерами: экстенсивный путь развития далее непри­

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

«универсальная» использован не случайно: специализированные маш ины (например, для обработки банковских счетов, инвен­

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

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

К раткая характеристика различных поколений ЭВМ.

Первое поколение Э В М . Техническая основа элементной базы маш ин первого поколения — электронные лампы . М аксимальное быстродействие ~ 102 арифметических операций в секунду (оп/с), объем оперативной пам яти 102 слов. Режим использования — м он о­

польный, т. е. в распоряжении пользователя были все ресурсы маш ины и ее управление.

(8)

Второе поколение ЭВМ . Техническая основа — транзисторы.

М аксимальное быстродействие ~ 104 оп/с, объем оперативной п а­

м яти ~ 104 слов, внешняя пам ять на магнитных лентах, дисках

~ 107 слов. Режим использования — пакетная обработка. Задания для ЭВМ (на перфокартах или магнитны х лентах, дисках) собира­

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

ческими соображениями.

Третье поколение ЭВМ. Техническая основа — больш ие интег­

ральны е схемы (БИ С ), которые на м алы х полупроводниковых кристаллах реализую т больш ие схемы маш ин второго поколения.

М аксимальное быстродействие ~ 106 оп/с, оперативная п ам ять

~ 106 слов, внешняя память ~ 109 слов. М етод использова­

н и я — режим разделения времени совместно с пакетной обработкой.

Высокое быстродействие позволяет время обслуживания п ол ьзова­

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

«владеет» маш иной. Положение пользователя стало похож им на м онопольное владение ЭВМ первого поколения.

Четвертое поколение ЭВМ . Техническая о сн ова— сверхбольш ие интегральны е схемы (СБИС); на одном полупроводниковом кри­

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

туры ЭВМ . Традиционная архитектура ЭВМ фон Н еймана д ом ини­

ровала на протяжении трех поколений. М аксимальное б ы стро­

действие ~ 109 оп/с, оперативная пам ять ~ 107 слов, внешняя п ам ять ограничена в основном экономическими соображ ениями.

М етод работы — доступ к ЭВМ, объединенным в сети; использо­

вание пакетов програм м с языками программирования, близкими к профессиональным.

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

лагается вы раж ать в единицах лвс (логический вывод в секунду).

Ф орма общения с ЭВМ на естественном языке и дисциплина программирования как наука для пользователя перестаю т в бу­

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

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

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

(9)

оказы вает непосредственное воздействие на области своих при­

ложений. Космическая техника и атом н ая энергетика, проектиро­

вание сложных объектов м аш иностроения и управление быстро- протекаю щ ими процессами, создание баз данных и знаний немы­

слимы без применения ЭВМ . Сфера применения ЭВМ охватывает практически все направления человеческой деятельности и постоян­

но расширяется.

Рассмотрим два важных направления использования ЭВМ:

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

М а т е м а т и ч е с к о е м о д е л и р о в а н и е . И меется конкретная техническая задача, ищ утся различные подходы к ее решению.

Пусть, например, нужно спроектировать новую турбину ГЭС.

Ч тобы знать поведение турбины, следует реш ить задачи гидро­

динамики, механики (динамика, прочность, устойчивость), управле­

ния (переход с одного реж има на другой) и т. д. В распоряжении специалиста им ею тся старые технические решения, которы е час­

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

Если реальны й процесс, возмож но и стационарны й (не зави­

сящий от времени), описан достаточно точно математическими соотнош ениями, то говорят о построении м атематической модели данного процесса. П олная схема м атематического м оделирования приведена на рис. В.1.

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

лительного м етода, является оценка погреш ности получаемого решения.

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

Т Е Х Н И Ч . З А Д А Ч А

МАТЕМАТИЧЕСКАЯ ВЫЧИСЛИТЕЛЬНЫЙ

М ЕТОД М О Д ЕЛ Ь

/

1

РАБОТА Н А ЭВМ

_ П РО ГРА М М А А Л Г О Р И Т М

Рис. В.1

(10)

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

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

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

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

рования были разработаны языки программирования более высокого уровня — ассемблер, алгол, фортран, бэйсик, паскаль и т. д. П р о гр ам ­ мирование на языке высокого уровня, упрощ ая процесс подготовки п рограм м ы , требует применения специальной програм м ы (принадле­

жащ ей математическому обеспечению ЭВМ) — транслятора с языка вы сокого уровня. Аналогичные процедуры имею т языки с интерпре­

тато р ам и и ЭВМ с аппаратно реализованными трансляторам и.

Т аким образом, составление програм м ы , готовой к исполнению , вклю чает применение промыш ленного математического обеспечения ЭВМ , в частности операционной системы (ОС), и умение с ней р аботать.

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

ции усилий инженера на главной цели — решение научно-техничес- кой задачи.

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

П роиллю стрируем описанную схему математического м одели­

рования на примере следующей технической задачи. Н айти на

(11)

интервале времени /0 < t < /„ переходный процесс в системе управле­

ния турбиной, описываемой вектором состояния х ( х у, х 10) с заданны м начальны м вектором

Математическая модель. П редполож им, что поведение вектора состояния во времени мож но описать обыкновенным дифферен­

циальным уравнением

Ч тобы получить уравнение (2), необходимо использовать методы теории управления, механики, выделить главные черты управля­

емого движения и пренебречь второстепенными. Соотнош ения (1) и (2) и являю тся математической м оделью процесса управления.

Вычислительный метод. Точное решение (1), (2) удается найти в исключительных случаях (линейные уравнения с постоянными коэффициентами, переменные разделяю тся, специальные уравнения).

Как правило, использую т приближенные методы. Простейший из них — явный м етод Эйлера. Интервал [г0, /„] покрывается дискрет­

ным множ еством /( = {/0 + г7г}, где Һ— ш аг интегрирования, г = 0, 1, 2, N. Будем искать приближения х г к вектор-функции x(t) на множестве th следуя методу Эйлера:

Ф ормулы (1), (3) представляю т собой вычислительный метод, который м ож ет дать некоторые приближения x h г'= 1, 2, ..., TV, к точным значениям л:(г;) на множестве Важнейшей задачей выбора вычислительного м етод а является обеспечение сходимости приближений к точному решению ( || лг(—х(*г)|| -*0, Һ-*0) и оценка погреш ности приближений ( || лг£ — *(/,-) || =?).

Алгоритм. А лгоритм м етода Эйлера без контроля точности можно описать следую щ им образом.

1. Задать числа t0, tN, Һ, вектор х 0.

2. Вычислить N —[(tN — t0)/h^.

3. П о вектору я, вычислить вектор xi+1, следуя ф ормуле (3), и вы дать его значение на дисплей.

4. Закончить процесс вычислений после определения вектора x N.

Программа. Возможный вариант програм м ы на ф ортране при­

веден ниже. П еревод английских слов м ож но найти в словаре (см. Приложение 1):

(1)

(2)

*1+1 = x i + h f { x i, t i), х 0 = х (0}. (3)

REA L Х(10),Ғ(10),ТС>, R E A L T N ,H ,X IN T E G E R N ,I,J

R E A D (5,1) T O ,T N ,H ,X F O R M A T (F7.4)

N = ( T N - T O ) /H DO 3 1 = 1,N

SU B R O U T IN E S(F,X ,T) REA L X (10),F(10),T F(1) = T + X (2)**2 F(2) = X(3) —X (l)

F(10) = COS(X(9))

(12)

CA LL S(F,X ,TO ) DO 2 J = 1,10 2 X(J) = X(J) + H * F (J)

W R ITE (5,1) X 3 T O = T O + H

EN D

В правом столбце представлена часть програм м ы , вычисляю щ ая правую часть (2):

f i = t + x l , f2 = x3- x 1 , ..., Уі0 = c o sхд.

Работа на Э ВМ . П ользователь ЭВМ должен быть зарегистри­

рован в ОС РВ администратором, ему присваивается код идентификации, например [231, 1], он должен иметь пароль, например TOR. Работа на ЭВМ заклю чается в наборе следующих ком анд на клавиатуре дисплея (каждая строка заканчивается наж атием клавиш и возврата каретки). Подчеркнутые символы вы даю тся на экран дисплея ОС, пропущенный текст заменен многоточием:

> H E L L O

> [231,1]

> PASS W ARD: TO R

> ED I U P R ,F T N IN P U T

набор текста программы, приведенного выше два наж атия возврата каретки

* ЕХ

> F O R U P R ,U P R = UPR

> Т К В U P R /C P = U PR, [1,1 ] FO R O T S/L B

> R U N UPR

набор чисел T O ,T N ,H , вектора X

выдача на дисплей результатов вычислений

> Т Т : --- S T O P

> BYE

Здесь приведен вариант дисплейного сеанса от входа в ОС по команде H ELLO (здравствуйте) до выхода из ОС по команде BYE (до свидания) в предположении, что пользователь не совершал ошибок. Реально работа на ЭВМ состоит в устранении различных ош ибок в програм м е (отладка программы ) с помощ ью диагностики ошибок, которая выдается на экран дисплея програм м ам и ОС.

Укажем те элементы математического моделирования, которые находятся в центре внимания настоящ ей книги. Э то вычислительный

R ETU R N EN D

(13)

Рис. В.2

метод, алгоритм , програм м а, работа на ЭВМ. Ч астично затра­

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

ций и пояснения происхождения математических моделей.

Схема рис. В.1 представляет собой способ применения ЭВМ изолированно, в автоном ном режиме (O F F LIN E) от какого-либо реального процесса, которы й модель описывает.

Н аиболее общ ая ф орм а применения ЭВМ в технических зада­

ч ах — это одновременное использование ЭВМ для математического моделирования реального процесса, объекта и управление этим процессом, объектом в реальном времени — режим связи ЭВМ с объектом (ON LIN E).

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

ется в пам яти маш ины . Схема управления изображ ена на рис. В.2.

Стрелкам и показан путь реализации задачи управления и м одели­

рования. Здесь необходимо програм м ировать работу модулей

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

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

Д ля програм м ирования задач в реальном м асш табе времени

(14)

идеальны м является владение по крайней мере двумя язы кам и типа ассемблера и фортрана.

С т р у к т у р а к н и г и . Содержание книги можно условно разбить на две части. В первой части (гл. 1— 4 и 12) излагаю тся архитектура ЭВМ , работа за дисплеем, программирование, ОС, библиотека ф ортран-програм м . Во второй части (гл. 5— 11) представлены вычислительные методы. Каж дая глава этой части независима.

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

С о в е т ы п о п р и м е н е н и ю к у р с а В МП н а п р а к т и к е

1. Задачи рекомендуется реш ать не только в дисплейном классе на ЭВМ коллективного пользования, но и на персональной вычислительной технике (персональные ЭВМ , програм м ируем ы е м икрокалькуляторы ).

2. П ри постановке технической задачи прежде всего следует ознаком иться со всеми м етодам и ее решения на ЭВМ (модели, алгоритм ы , программы), известными в данный мом ент, наприм ер в фондах алгоритмов и программ.

3. «Ближайш ая» решенная задача, как правило, служит хорош им тестом для проверки решения поставленной задачи, а ее решение (аналитическое или численное) может быть использовано в вы ­ числениях (см. 5.1— 5.4).

4. Решение задачи на ЭВМ, полученное без оценки погреш ности, не имеет практического смысла.

5. Д о начала решения задачи следует оценить возмож ности ЭВМ: точность представления чисел долж на быть достаточной для ее решения, объем памяти должен соответствовать задаче, время вычислений не долж но превыш ать требуемый предел, средства ввода — вывода информации долж ны обеспечивать потреб­

ности задачи.

6. Сведения, выходящие за рамки настоящей книги, м ож но найти: по архитектуре ЭВМ — [5, 28 ]; по структуре алгоритм ов и п р о гр ам м — [1, 17, 28]; по операционным систем ам — [5, 7, 12, 14]; по программированию на ф ортран е— [3, 6, 13, 15, 17, 32];

по м етодам вычислений— [2, 4, 8— 11, 15, 16, 18— 25, 29— 33];

тексты ф ортран -п рограм м — [3, 6, 9, 13, 15, 26, 27, 30, 32].

(15)

Г л а в а 1 АРХИТЕКТУРА ЭВМ

• 1.1. Введение

1.1.1. Пользователь и ЭВМ. Н а вычислительную маш ину, как и на лю бой объект, различные специалисты см отрят по-разному.

К онструктор вычислительной техники, инженер-электронщ ик, видит в ЭВМ набор электронных узлов (плат, интегральных схем, кристаллов) и технологию их изготовления. Разработчика про­

грам м ного обеспечения, инженера-программиста, интересует набор команд, выполняемый ЭВМ , временные характеристики всех ус­

тройств. Эксплуатирую щ ие ЭВМ инженеры-электронщ ики и про­

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

Разработчики и специалисты по эксплуатации являю тся профес­

сионалами в вычислительной технике, для них ЭВМ — основной объект приложения профессиональных знаний.

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

ных и т. п.). Естественно, что внутри этих групп: разработчиков, специалистов по эксплуатации, пользователей — есть своя иерархия (тонкая структура), которую легко понять поработав в этой группе.

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

ции и водителей.

А налогия между водителям и и пользователям и пом ож ет выяс­

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

Аналогичную неоднородность состава представляет группа п ользо­

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

(16)

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

О днако такой уровень владения техникой приводит пользователя (водителя) в беспомощное состояние из-за м алейших пустяков.

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

В настоящ ей главе рассматривается «материальная часть» ЭВМ , назы ваем ая архитектурой.

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

И м еть представление об архитектуре полезно, а часто и не­

обходим о пользователю на лю б ом этапе вычислительного про­

цесса от ф ормулировки математической м одели до проведе­

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

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

• 1.2. Архитектура фон Неймана

1.2.1. Основные элементы. Структура, присущая больш инству современных ЭВМ , была принципиально описана в конце 40-х годов фон Нейманом. Ее иногда назы ваю т классической или традиционной. Общая организация ЭВМ представлена на рис. 1.1.

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

Рис. 1.1

(17)

ством. Второй блок — устройство управления. Э тот блок обеспечи­

вает последовательность управляющ их сигналов для арифметичес­

кого и логического устройства.

П ри выполнении арифметических операций возникает необходи­

м ость в сохранении промежуточных результатов. Роль хранилища информации, доступной как арифметическому и логическому ус­

тройству, так и устройству управления, выполняет оперативное запоминаю щ ее устройство или память.

Д ля того чтобы использовать маш ину для обработки необходи­

мой информации и получения результатов, нужно вводить и вы ­ водить информацию . Э ти операции обеспечивают устройства ввода и вывода (рис. 1.1).

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

гическом уровне все арифметическое и логическое устройство можно разм естить на одном кристалле полупроводникового элемен­

та разм ером с конторскую скрепку.

1.2.3. Устройство управления. Э тот блок управляет работой всей ЭВМ. Здесь оценивается поток входной информации и реш а­

ется вопрос: когда, как и какими средствами вы полнять обработку.

Устройство управления указывает арифметическому и логическому устройству последовательность работ, источник получения инфор­

мации, а также приемник результатов.

У правляю щ ие сигналы вы рабаты ваю тся на основе интер­

претации последовательности команд. К ом анда содерж ит ин­

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

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

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

ном уровне.

У стройство управления совместно с арифметическим и логичес­

ким устройством назы ваю т центральны м процессором.

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

(18)

БИТЫ БАЙТЫ

о о * о о * о *

о 0 0 * 0 0 * 0

Рис. 1.2

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

П ростейш ей единицей измерения данных является двоичный р азряд — бит. Бит имеет представление «О» или «1» и запоминается как определенное направление намагниченности ф ерритового сер­

дечника либо определенное состояние электронного переклю чателя.

О тдельны й бит обрабаты вается и изменяется только в центральном процессоре.

М ногие ЭВМ имею т байтовую архитектуру. Байт — это по­

следовательность битов, образующ их единицу передачи инфор­

мации. Обычно байт состоит из 8 бит (рис. 1.2). Н а ЭВМ с бай товой архитектурой предусматривается обращение к отдель­

ны м байтам.

У порядоченная совокупность битов (байтов) образую т слово.

К оличество битов в слове изменяется от 8 (для микро-ЭВ М ) до 64 (в супер-ЭВМ). В маш инах с байтовой архитектурой слово представляется 2, 4, 8 байтами. М аш инное с л о в о — это основной объект данных в языке ф ортран (см. гл. 3).

Каж дое слово (ячейка) имеет свой адрес, связанный с располож е­

нием в памяти. Следует отличать адрес от содерж имого (рис. 1.3).

1.2.5. Организация памяти. В лю бой ЭВМ, даже в калькуляторе, существует несколько уровней памяти. Важной особенностью иерархии уровней является обратно пропорциональная зависимость емкости от стоимости (скорости доступа). Ч ем больш е емкость пам яти, тем медленнее к ней доступ (рис. 1.4). Время д оступа— это время, необходимое для выборки из пам яти или записи в нее информации. Характеристики шести уравнений памяти приведены в табл. 1.1.

С амую быструю часть памяти представляет собой часть центрального процессора — регистры. Регистры образую т два набо­

ра: регистры ком анд и регистры данных. В зависимости от характера данных регистры организованы в группы. Имею тся адресные регистры и регистры данных различных типов.

АД РЕС

3

СО Д ЕРЖ И М О Е ЯЧЕИКИ

0 0 * 0 0 * о

4 * о о * * о о о

Рис. 1.3

(19)

Р Е Г И С Т Р Ы РЕ ГИ СТР Ы

КОМАНД ОПЕРАНДОВ

Б У Ф Е РН А Я ПАМЯТЬ | ОСНОВНАЯ ПАМЯТЬ ДОПОЛНИТЕЛЬНАЯ ПАМЯТЬ ВТОРИЧНАЯ П А М Я Т Ь М А ССОВАЯ П А М Я Т Ь

Рис. 1.4

Т а б л и ц а 1.1

Тип памяти Время доступа, с Емкость, бит

Регистры ( 2 - н 2 0 ) - 1 0 9 ю 3 — ю 4

Буферная ( 2 0 -г- 2 0 0 ) • 1 0 ~ 9 ю 4 — ю 5

Основная ( 0 , 2 - г 2 0 ) - 1 0 _ 6 ю 6 - ю 8

Дополнительная 1 - 1 0 ) 1 0 3 ю 7 — ю 9

Вторичная ( 2 0 ч - 1 0 0 ) • 1 0 ~ 3 1 0 9 — 1 0 й

Массовая О О о ю 1 1 — ю 12

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

ния. Э тот уровень называется буферной пам ятью (кэш -памятью ).

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

Техническое решение, лежащее в основе буферной памяти, известно как «предварительно просматриваемая память».

Основная (или оперативная) память расш иряется двумя типами памяти: дополнительной и вторичной, реализуемой обычно на магнитных дисках. Диски дополнительной пам яти имею т фиксиро­

ванные головки чтения-записи, а вторичной п ам я т и — подвижные головки.

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

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

ке, выполняется операционной системой (гл. 4). П ользователь вообщ е не знает, где физически расположена ячейка с данны м адресом. Такой адрес пам яти назы вается виртуальны м , а организа­

ция п а м я т и — виртуальной пам ятью . Истинный физический адрес

Referensi

Dokumen terkait

Алматы, Казахстан ОБ ОДНОМ АЛГОРИТМЕ РЕШЕНИЯ ЛИНЕЙНОЙ КРАЕВОЙ ЗАДАЧИ ДЛЯ ОБЫКНОВЕННОГО ДИФФЕРЕНЦИАЛЬНОГО УРАВНЕНИЯ С ПАРАМЕТРОМ Аннотация На ограниченном отрезке рассматривается

В этой связи для проведения целенаправленной и эффективной медицинской реабилитации ликвидаторов последствий аварии на ЧАЭС, а также для решения проблемы контроля за численностью и