Файл: Голембо, З. Б. Алгоритмизация и программирование электротехнических задач на электронных цифровых вычислительных машинах учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 75

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

где NAME — название подпрограммы, а ш, и2 ,

и „ — е е аргу­

менты.

 

После заголовка идет собственно подпрограмма, т. е. после­ довательность операторов, задающая алгоритм вычислений. Аргу­ менты подпрограммы являются «фиктивными» величинами: до того, как подпрограмма вызвана (с помощью оператора CALL), они не принимают никаких значений и не соответствуют ячейкам ЗУ. Лишь после выполнения оператора CALL, в котором перечисляют­ ся фактические аргументы, подпрограмма начинает работать, причем вместо «фиктивных» аргументов подставляются факти­ ческие.

Подпрограмма связана с вызывающей программой только че­ рез аргументы, если не используются переменные COMMON. Ре­ зультаты вычислений также «передаются» в вызывающую програм­ му через аргументы. В остальном подпрограмма совершенно не за­ висит от вызывающей программы. Можно, например, использовать в подпрограмме те же названия переменных, что и в основной

программе, не заботясь о последствиях такого

«дублирования».

Другим средством связи подпрограмм являются блоки COMMON.

Оператор COMMON уже описывался ранее.

 

Подпрограмма-функция

аналогична

подпрограмме

SUBROUTINE. В начале подпрограммы-функции записывается за­

головок

 

 

FUNCTION

NAME (ut > u2 , ..., u„),

где NAME —название функции, а ш, u 2

u„ — ее аргументы.

Если теперь где-либо в арифметическом выражении появится

запись STEP (X, Y), то вместо аргументов ш

и и 2 подставятся X

и Y и будут произведены расчеты, указанные после заголовка фун­ кции. Все сказанное о связи между подпрограммой и вызывающей программой относится и к функции. Отличие FUNCTION от SUBROUTINE состоит в том, что функция вызывается автома­ тически, когда в выражении появляется ее название.

Кроме указанных функций, в языке ФОРТРАН имеются стан­ дартные функции: синус, тангенс, логарифм и др. К функциям относятся и такие простые операции, как выделение целой части. Эти операции называются «встроенными» функциями, поскольку они вводятся в программу всякий раз при их появлении.

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

ARG (А,В,С) = А > | < * 2 + В>)<>|<2 — А>|<В/С + ЗЛ.

Такая запись называется арифметическим оператором-функцией. Перечислим свойства языка ФОРТРАН, выгодно отличающие

его от других алгоритмических языков.

1. Простота: его легко освоить за короткое время и сразу же использовать для расчетов в теоретических областях или для ре-

26


шения прикладных задач. В то же время он достаточно мощен для того, чтобы можно было использовать его для записи практи­ чески любого алгоритма. Благодаря простоте языка ФОРТРАН, соответствующие компиляторы весьма эффективны: трансляция осу­ ществляется быстро, а рабочая программа почти столь же «хоро­ ша», как если бы была составлена на машинном языке. Этого нель­ зя сказать о более сложных языках (например, об языке Алгол).

2.Обладает хорошими средствами для связи человека с ма­ шиной. Результаты вычислений выдаются в привычном для че­ ловека виде: в форме текста, таблиц, графиков и пр. Средства связи человека с машиной в других языках, если только они достаточно эффективны, почти всегда основываются на методике языка ФОРТРАН. Наоборот, связь человека с машиной при пользовании слишком формализованными языками (например, языком Алгол) бывает недостаточной.

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

4.Удобен при отладке программ: в силу его простоты часто ошибки в программе можно обнаружить уже в момент трансляции. Кроме того, язык ФОРТРАН допускает большую гибкость и про­ стоту при внесении модификаций в программы и позволяет легко строить сложные системы из почти независимых блоков.

 

СТРУКТУРА ЭЦВМ. СПОСОБЫ

Г Л А В А 3

ОРГАНИЗАЦИИ ПЕРЕРАБОТКИ

ИНФОРМАЦИИ В ВЫЧИСЛИТЕЛЬНЫХ

 

 

И УПРАВЛЯЮЩИХ

ПРОЦЕССАХ

 

§ 3.1. Структурная

схема ЭЦВМ

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

 

 

 

 

новой

философией

построе­

У вв.

ЗУ

 

У Быв.

ния

логической

 

структуры

 

схемных решений,

организа­

 

 

 

 

цией

работы,

в основе

кото­

 

 

 

 

рой лежит

идея

параллель­

 

 

 

 

ной работы многих устройств.

 

АУ

УУ

 

 

Устройства ЭЦВМ класси­

 

 

 

 

фицируют

в

зависимости от

Рис. 3.1.

Структурная схема

ЭЦВМ

роли,

которую они

выполня­

ют.

Обычно

ЭЦВМ состоит

 

 

 

 

 

 

 

 

из

следующей

группы

обя­

зательных

блоков

(рис. 3.1): запоминающее

устройство

ЗУ,

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

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

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

28


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

Логические элементы, применяемые в ЭЦВМ для осуществле­ ния управления какой-либо схемой в зависимости от состояния дру­ гих схем, делятся на элементы: совпадения, разделения, инверторы и элементы, реализующие комбинированные логические операции.

Рассмотрим назначение и особенности работы каждого из основ­

ных блоков ЭЦВМ.

 

 

 

 

Запоминающее устройство.

Это

устройство используется

для хранения команд, исходной

информации

и

результатов проме­

жуточных и окончательных вычислений

до

тех

пор, пока они

не потребуются. Основными операциями в ЗУ являются считывание и запись информации. Выполнение одной операции называется

обращением к ЗУ, а полное время ее выполнения — циклом обра­ щения. Цикл обращения характеризует быстродействие ЗУ. Время выборки — промежуток времени от начала цикла обращения по считыванию до момента появления считанного кода на выходных кодовых шинах.

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

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

Современный этап развития цифровой вычислительной техни­ ки характеризуется увеличением числа классов и типов применяе­ мых ЗУ, а также резким повышением требований, предъявляемых к их основным эксплуатационным параметрам: надежности, емко­ сти, быстродействию, стоимости, габаритам и потребляемой мощ­ ности. Так как в настоящее время не созданы ЗУ, удовлетворяющие максимальным требованиям по всем параметрам одновременно, то можно говорить лишь о повышении требований по одному-двум па­ раметрам в ущерб остальным. Например, повышение быстродейст­ вия ЗУ возможно при определенном снижении его емкости и повы­ шении стоимости.

29



Поэтому в большинстве случаев идут по пути создания неко­ торой иерархии ЗУ по отношению к времени выборки. Иерархия выглядит следующим образом. Ее верхние ступени составляют ЗУ высокого быстродействия (соответствующего быстродействию основ­ ных вычислительных устройств ЭЦВМ) и сравнительно малой емко­ сти. Эти ЗУ определяют быстродействие ЭЦВМ. В них хранится выполняемая программа, данные для текущих вычислений. К та­ ким ЗУ можно отнести оперативные запоминающие устройства (ОЗУ), работающие по принципу замещения: если в ячейке А за­ писано слово Pt, то ранее хранившееся там слово Ptr стирается. Счи­ тывание информации из любой ячейки ОЗУ происходит без разру­ шения этой информации: слово Рit хранящееся в ячейке А, можно считывать неограниченное число раз.

На нижних ступенях иерархии располагаются ЗУ с меньшим быстродействием очень большой емкости. Это ЗУ : с произвольной выборкой для больших массивов информации с емкостью несколько миллионов слов; с плавающим временем выборки (барабаны, дис­ ки); с плавающим временем выборки и малым быстродействием (магнитные ленты, перфоленты, бумажные ленты). Обычно чем выше производительность ЭЦВМ или системы, тем больше уровней в иерархии ЗУ и тем сложнее ее структура. В универсальных ЭЦВМ, в зависимости от ее класса количество уровней памяти сос­ тавляет 2 ч- 4, а в вычислительных системах — 6 - ^ 7 .

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

Различают АУ последовательного и параллельного действия. В АУ последовательного действия числа поступают разряд за раз­ рядом и операции выполняются над каждым из разрядов. В АУ

параллельного

действия числа всеми своими разрядами

поступают

одновременно

и операции выполняются над всеми

разрядами

сразу.

 

 

Для приема чисел, хранения их на время, необходимое для выполнения намеченной операции, АУ имеет регистры, а для сло­ жения чисел — сумматор.

Важной частью АУ является накопитель, который служит для временного хранения одного из двух чисел, участвующих в ариф­ метической'операции. Результаты операций обычно оставляются в накапливающих регистрах для того, чтобы в дальнейшем над ними можно было производить другие операции или записывать их в па­ мять. Например, чтобы выполнить операцию с двумя числами, нуж­ но сначала передать из памяти в АУ первое число и временно за­ помнить его до того момента, пока не будет передано второе чи­ сло. Когда операция выполнена на сумматоре, результат предвари-

30