Файл: Никитенко В.Д. Подготовка программ для станков с числовым программным управлением.pdf

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

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

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

Добавлен: 20.06.2024

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

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

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

работы машины. ЗУ состоит из отдельных ячеек, в каж­ дой из которых может быть помещено одно число. Обычно все ячейки в ЗУ по количеству разрядов совершенно оди­ наковы. Они пронумерованы подряд. Каждая ячейка имеет свой постоянный номер — адрес, например 0001,

0002, 0003 и т. д. Запоминающие

устройства бывают опе­

ративные (ОЗУ),

внешние и долговременные

(ДЗУ),

ОЗУ — внутренний

накопитель,

оперативная

память.

Служит для хранения программ, исходного числового ма­ териала, а также промежуточных и конечных результатов. Количество ячеек ОЗУ сравнительно невелико — порядка

нескольких десятков тысяч и

измеряется в единицах К

= 1024/10 = 1777/8). Так,

в ОЗУ «Минск-32» коли­

чество ячеек К — 32. ОЗУ характеризуется большой ско­ ростью выборки (считывание) чисел из нее, а также записи (запоминания). Время выборки (записи) одного числа для ОЗУ отечественных машин колеблется от нескольких мил­ лисекунд до нескольких микросекунд.

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

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

но

весьма

большой

емкостью. Этот накопитель

связан

с оперативной

памятью (обычно через АУ), что позволяет

осуществлять

обмен

числовым материалом между

ними.

 

Долговременное запоминающее устройство (ДЗУ) хра­

нит

однажды заложенную в него информацию, которая

не

подвергается изменению. В ДЗУ хранят константы и

неизменные

стандартные программы.

 

 

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

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

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

*

99



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

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

Совокупность операций, выполняемых машиной, назы­ вается системой операций данной машины. Каждой опе­ рации присваивается определенный номер. Записанный в той системе счисления, в которой работает машина, этот номер называется кодом операции.

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

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

а) адреса чисел, над которыми должны быть выпол­ нены операции;

б) количество чисел; в) адрес ячейки, в которую должен быть послан ре­

зультат.

По количеству записываемых в команде адресов раз­ личают ЭВМ одноадресные («Урал-14», «Урал-16»), двух­ адресные («Минск-22», «Минск-32»), трехадресные (БЭСМ-4, М-20). Рассмотрим процесс программирования

для

условной

трехадресной

машины.

Пример. Составить программу вычисления квадратного трехчлена;

 

 

 

у — ах2 +

Ьх + с.

Решение

можно расписать в следующих э лементарных операциях:

1) bx =

Rx;

R2.

 

2) R1-\-

с =

 

3)

х-х =

R3;

 

 

4)

a. R3

= Ri,

 

5)

fis-t-

« 4 =

«/•

 

100


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

можно

поместить в следующие

ячейки памяти ЭВМ:

 

 

 

а — в

1000-го

ячейку;

 

 

 

Ь — в 1001-ю

ячейку;

 

 

 

с — в

1002-ю

ячейку;

 

 

 

х — в 1003-ю

ячейку;

 

 

 

Ri

— в

1004-ю

ячейку;

 

 

 

Я 2

в

1005-ю

ячейку;

 

 

 

R3

— в 1006-ю

ячейку;

 

 

 

Rt

— в 1007-ю

ячейку;

 

 

 

у — в 1010-ю

ячейку.

 

 

 

Будем считать, что код операции

сложения

обозначается

01,

опера­

ции умножения 05, а останов 17.

Поместим

программу

в

ячейки

памяти, начиная с 1011-й. Программа вычисления квадратного трех­

члена запишется на

бланке

следующим

образом:

 

 

В ы ч и с л е н ие з н а ­

А д р е с

К о д

А д р е с

Адрес

А д р е с

чения

квадрат­

команды

операции

]

1!

Ш

ного

трехчлена

 

 

 

 

 

Ь-х = Я]

1011

05

1001

1003

1004

Я1 +

с = Я 2

1012

01

1004

1002

1005

XX

Я 3

1013

05

1003

1003

1006

с - Я 3 = Rt

1014

05

1000

1006

1007

Яо +

я„ = у

1015

01

1005

1007

1010

Стол

1016

17

0000

0000

0000

В адресах I л II команд записывают номера ячеек операндов — чисел, над которыми п команде выполняется операция . В адресе / / / — помора ячеек, куда заносят результат операции . Результат этой задачи занесен в ячейку 1010; откуда его м о ж н о д а л е е вывести на печать, предварительно переведя из двоичной системы в десятичную .

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

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

101


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

Рассмотрим пример составления циклической про­ граммы для условной двухадресной ЭВМ [16].

Пример. Составить программу вычисления суммы

S -

1 J - 1 4- 3 -4- 4

Будем считать, что ЭВМ имеет возможность выполнять следующие операции:

05 — содержимое первого адреса записывается по второму адресу;

24 — выполняется две операции: результат предыдущего действия записывается по второму адресу и следующая команда для выполнения

берется по

первому

адресу;

00 — содержимое

первого и второго адреса суммируется и сумма

записывается

по

второму адресу;

13 — содержимое первого и второго адреса перемножается, резуль­

тат остается

на

сумматоре;

12 — содержимое

второго адреса делится на содержимое первого,

результат остается на сумматоре;

11 — из содержимого второго адреса вычитается содержимое пер­

вого адреса,

результат

остается на сумматоре;

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

второму

адресу, если

результат

отрицательный;

 

47 — останов.

 

в

элементарных

действиях.

Распишем

решение

1.

1 -> К — единица заносится в ячейку, отведенную для номера К.

2. 0 -> S — нуль

заносится в

ячейку

S.

 

 

3. Перейти к команде 5.

 

 

 

 

4.

К +

1 =

К — номер К увеличивается на единицу.

5.

К- К = R — вычисляется знаменатель

члена

суммы.

6.

1 : R =

R — вычисляется

очередной

член

суммы.

7.

S +

R =

S — вычисляется

сумма

S.

4, то идти к команде 9,

8.

| К | ^ 4

— условный переход: если

 

в противном случае — к

команде

4.

 

 

 

9.

Останов.

 

 

 

 

 

 

 

 

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

стим

в

следующие ячейки

памяти ЭВМ:

 

 

1 — в 0100

ячейку;

 

 

 

 

 

 

0 — в 0101

ячейку;

 

 

 

 

 

 

4 — в 0102

ячейку;

 

 

 

 

 

 

К — в 0103

ячейку;

 

 

 

 

 

 

5

— в 0104

ячейку;

 

 

 

 

 

 

R

— в 0105

ячейку.

 

 

 

 

 

 

102