Файл: Основы автоматизации для металлургов..pdf

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

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

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

Добавлен: 14.10.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

12*

179


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

чисел, передача данных из памяти в

арифметическое

устройство

и наборот

и т. д. Программа для более сложных

математических

и логических операций (например, извлечение корня)

может быть

составлена

из этих элементарных операций.

 

 

Такой

способ программирования

называется

программирова­

нием в машинном коде. Составленная

таким способом

программа

может быть непосредственно введена

в память ЭВМ. Программа

вычисления у= (а + Ь)2, может быть представлена в форме табл. 21, аналогичной записи на с. 173. В табл. 21 код операции 137 означает передачу данных из ячейки памяти с адресом, приведенным в адрес­ ной части команды, в регистр арифметического вычислительного устройства. Код операции 337 означает сложение содержания ячейки с адресом, приведенным в адресной части команды, и со­

держания

регистра арифметического вычислительного устройства,

и т. д. (т. е. аналогично

приведенному словесному описанию про­

граммы). Знак «плюс»в табл. 21 означает,

что вычисления осуще­

ствляются

последовательно.

 

 

 

 

 

 

 

 

Т А Б Л И Ц А 21

 

 

 

Запись программы для вычисления машинным

кодом

 

 

 

(ЭВМ ОДРА 1003)

 

 

 

 

 

 

 

Команда

 

 

 

Адрес

 

 

 

 

 

 

 

в памяти

Код

операции

Адрес

Адрес

последую­

 

операнда

щей инструкции

 

 

 

 

 

 

 

 

1

 

137

 

0007

 

 

2

 

337

 

0008

 

+

 

3

 

237

 

00006

 

+

 

4

 

637

 

00006

 

+

 

5

 

237

 

0009

 

+

 

6

 

 

 

 

 

 

 

7

 

 

 

7.281

 

 

 

8

 

 

 

16.31

 

 

 

9

 

 

 

 

 

 

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

Следует отметить, что программист, который программирует задание в машинном коде, обычно подготавливает программу в де-

180


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

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

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

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

стики и мантиссы. Арифметическое устройство проводит

операции

с

характеристикой-и мантиссой

отдельно. Естественно,

что место

в

памяти, необходимое для

записи характеристики,

получают

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

ном коде. Форма команды изменяется в зависимости

от числа ад­

ресов,

которые она содержит, и от вида ЭВМ. Ниже приведено

общее

описание состава команды. Команда содержит

информацию

о том, какой вид операции следует осуществить (так

называемый

181


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

Наиоысший

двоичный порядок (2'')

шла

 

 

 

 

і

 

 

 

 

 

 

 

 

 

36 37

33

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

Число

 

 

 

 

 

$на/< числа

 

 

 

 

Наивысший двоичный порядок

 

 

 

 

 

 

Иаибысший

дбоичный

порядок

 

(25) характеристики

 

 

(2'')

пантиссы

 

 

 

|

 

 

 

 

 

 

 

 

 

 

 

Характеристика

 

 

 

Мантисса числа

 

 

 

 

числа

 

7ТІ

 

 

 

 

 

 

30 iГ7^ 33\34 35 36 37 3S

ùA

 

 

 

 

 

 

 

m

^

 

 

 

 

 

 

 

 

 

 

 

 

 

Знак

пантиссы

 

 

Знак

характеристики

 

0 /

2 3

4

5 6

7

в 9

 

 

 

34 35 36 37 38

 

OR

 

 

AR

 

 

NR

 

HR

ZR

 

Код

 

 

Адрес

 

 

Адрес

 

Подиа>икация

 

операции

 

рперанда

последующей

 

 

 

 

 

 

 

 

 

 

копандьі

 

 

 

Рас.

114. Запись данных и к о м а н д в памяти:

 

 

• запись чисел

с

фиксированной запятой; б — запись чисел с плавающе й

 

 

запятой;

в — запись к о м а н д

в

памяти

 

 

 

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

Далее команда содержит адрес последующей

команды

(ино­

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

данные: данные,

•служащие для модификации команды, данные о длине слова

(у не­

которых ЭВМ длина слова переменная) и т. д.

 

 

182


Язык

относительных

адресов

и язык

символических

адресов

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

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

Основные устройства цифровой ЭВМ

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

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

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

Конструкцию отдельных элементов ЭВМ мы подробно рассмат­ ривать не будем. Приступим непосредственно к описанию свойствосновных блоков ЭВМ.

Арифметическое (вычислительное) устройство

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

183.