![](/user_photo/_userpic.png)
книги из ГПНТБ / Нечаев А.Н. Устройство и работа электронных цифровых машин
.pdfходной информации, вводимой в машину, и большое, количество выводимой информации. Для обеспечения оперативной работы ИЛМ имеют хорошо развитую си стему устройств -ввода, которая обычно имеет гибкую структуру. Она позволяет использовать перфокарты, перфоленты, магнитные ленты, производить ввод данныхнепосредственно с телеграфных и телефонных каналов связи и др. В некоторых ИЛМ ввод данных производится одновременно по нескольким каналам без прерывания ра боты машины по выполнению вычислений;
При решении информационных |
задач • над числами |
и словами, введенными в машину, |
обычно выполняется |
сравнительно небольшая последовательность логиче ских и арифметических операций (поиск необходимых данных в запоминающих устройствах, сравнение, сло жение, вычитание и т. п.). В связи с тем что поиск ин формации в запоминающих устройствах большой ем кости занимает значительное время, очень высокие тре бования к быстродействию арифметического устройст ва могут не предъявляться.
Выводные устройства ИЛМ рассчитаны на вывод из машины огромных массивов информации — результатов обработки данных. Они позволяют выводить результа ты на различные устройства (печатающее устройство, устройство отображения графической информации на' специальных электронно-лучевых трубках, построители
графиков и т. п.), а при необходимости |
передачи ре |
зультатов на большие расстояния — в |
каналы связи. |
Вывод результатов из ИЛМ возможен |
на несколько |
выводных устройств без прекращения и даже без за медления основной работы машины.
Информационно-логические машины, используемые для решения задач статистики, экономики, бухгалтер ского учета, а также для решения сложных логиче ских задач (например, автоматического перевода тек стов с иностранных языков), работают по схеме «чело век — машина — человек».
При использовании ИЛМ для обработки данных, получаемых при испытании каких-либо объектов, эти данные, характеризующие состояние и параметры ис следуемого объекта, поступают через преобразующие устройства непосредственно на вход машины, обраба тываются в ней, и результаты обработки выдаются ис
32
следователю в виде отпечатанных таблиц или в виде графиков. В этом случае ИЛМ работает по схеме «объ ект— машина — человек».
Электронные цифровые машины, ■действующие в си стемах автоматического управления и регулировки, об разуют класс так называемых управляющих машин.
Электронная ' ■ цифровая .управляющая машина (ЭЦУМ) — одно из центральных звеньев сложного ком плекса автоматического управления. Она предназнача ется для того, чтобы задавать, программу работы, об рабатывать информацию о состоянии отдельных эле ментов и всей системы в целом и вырабатывать необ ходимые управляющие сигналы. В более сложных слу чаях машина выполняет расчеты по выбору оптималь ного режима работыГсйстемы управления.
ЭЦУМ содержит те же основные' устройства, что и любая цифровая электронная вычислительная машина, однако между ними: имеется и некоторое различие, от носящееся главным образом к устройствам ввода — вывода.
Исходные данные поступают в управляющую маши ну автоматически, непосредственно от измерительных и контрольных приборов, определяющих параметры со стояния системы. Режим работы системы автоматиче ского управления производственным и технологическим
процессами характеризуется непрерывно |
меняющими |
|||
ся величинами (температурой, |
давлением, |
скоростью, |
||
составом вещества и др.). Эти |
величины перед вводом |
|||
в машину с помощью |
специальных |
преобразующих |
||
устройств должны быть |
представлены |
в |
дискретной |
(цифровой) форме. При выводе управляющих сигналов, воздействующих непосредственно на органы управле ния системой, производится обратное преобразование. Электронные цифровые управляющие машины работа ют по схеме «объект машина — объект».
Управляющие машины должны обладать высоким быстродействием, обеспечивающим достаточно точное управление быстропротекающими процессами. Кроме ■того, они должны быть очень надежными и иметь кон струкцию, обеспечивающую нормальную работу, напри мер, при необычных температурных условиях, в загряз
ненной атмосфере и т. д.
В настоящее время ведутся исследовательские ра-
3 |
А. Нечаев |
33 |
боты по расширению возможностей ЭЦУМ. Использо вание устройства, накапливающего информацию о со стоянии системы, позволяет машине сравнивать прош лое состояние с настоящим и на основе анализа посту пившей в нее информации вырабатывать наилучший, с точки зрения заранее выбранного критерия, вариант решения. Запоминание оптимальных вариантов в виде последовательности команд как бы приспосабливает машину к данной системе, формирует необходимый за кон управления.
ПОДГОТОВКА ЗАДАЧ ДЛЯ РЕШЕНИЯ НА ЭЦМ
Условия большинства научно-технических задач и задач экономики можно записать в виде уравнений, для решения которых необходимо выполнять такие матема тические операции, как вычисление интегралов и различ- . ных тригонометрических функций, производить, дейст- . вия над комплексными' числами, решать .дифферен циальные уравнения и т.. п.
На электронных цифровых маши.нах решаются зада чи разнообразных типов и самой-различной трудности, поэтому прежде, чем задача сможет быть введена в ма шину, необходимо выполнить большую подготовительную работу.
Электронная цифровая машина может выполнять только простейшие арифметические и логические опера-., ции, а также операции управления. Большинство ЭЦМ может лишь складывать, вычитать, умножать и делить. Машины, выполняющие непосредственно (не по спе циальной программе) извлечение квадратного корня, строятся редко.
Логические операции включают в себя' операций сравнения (определение равенства или'неравенства чй: ' сел, определение большего числа из двух сравнивае мых чисел и т. п.), логического сложения, логического умножения и др. Логические операции составляют oc-i' новную массу операций при решении’ различных логи-
’ ческих и информационных, задач. . |
" * |
Операции управления используются н машине для уп |
|
равления последовательностью выполнения |
программ. |
К ним относятся операции передачи управления и неко торые другие. .
з* |
35 |
Порядок решения задачи
При решении задачи, на электронной цифровой вы числительной машине необходимо выполнить следующую
последовательность работ. |
о п и с а н и е |
|||||
1) |
Составить |
м а т е м а т и ч е с к о е |
||||
з а д а ч и , т. |
е. записать ее в виде формул |
или |
урав |
|||
нений, определить |
последовательность |
их |
вычислений |
|||
и установить |
количественные значения |
начальных (ис |
||||
ходных) числовых данных, необходимых |
для |
реше |
||||
ния |
задачи. |
Разработанные в математической |
теории |
|||
методы исследования различных процессов |
дают воз |
можность описать их в такой форме почти для любой задачи.
2) Выбрать |
ч и с л е н н ы й м е т о д решения задачи. |
Существующие |
математические методы численного ре |
шения задач являются достаточно универсальными и позволяют получать результаты с любой, наперед задан ной точностью. Однако для этого требуется проделать огромное количество простейших операций, которые мо гут быть выполнены машиной.
3) Разработать а л г о р и т м , т. е. четко и однознач но определить все этапы и разветвления процесса реше ния задачи на машине. При решении сложных задач целесообразно расчленить программу на более простые части, соответствующие основным этапам вычислений. При разработке алгоритма весь вычислительный про цесс можно записать в виде блок-схемы или последо вательности операторов, обозначающих этапы решения задачи.
4)Разработать общую организацию программы и распределение памяти машины. При распределении па мяти назначаются участки запоминающих устройств: для размещения программы вычислений, исходных чис ловых данных, промежуточных и окончательных ре зультатов.
5)Составить для каждого этапа программу (т. е. последовательность команд, выполняемых машиной) в виде буквенных символов.
6)Произвести' п е р ек о д и р о в к у программы и на чальных данных задачи из буквенных символов в код,' принятый в машине. Кодирование обычно представляет
36
собой очень кропотливую работу и чаще всего является источником ошибок.
7)Путем соединения частных программ получить общую программу решения задачи.
8)■Провести предварительную проверку правильно сти составленной программы и устранить обнаружен
ные ошибки.
9) С помощью внешних устройств перенести исход ные данные задачи с бланков на перфокарты или пер фоленту, т. е. преобразовать их в форму, пригодную для автоматического ввода в машину.
10) Проверить правильность подготовки перфокарт и перфолент с помощью специальных контрольных устройств.
11) Отладить программу на машине, т. е. при проб ном решении выявить ошибки, которые могли возник нуть при программировании, кодировании и подготовке данных для ввода в машину. Большинство программсложных задач, даже при очень внимательном их со ставлении и подготовке, содержит ошибки.
12)Исправить обнаруженные ошибки.
13)После того как выяснено, что программа рабо тает правильно, остается ввести отлаженную програм му и исходные числовые данные в машину и начать ре
шение задачи.
14) В ходе решения задачи правильность работы машины может контролироваться повторным выполне нием участков программы и выводом из машины ха рактерных промежуточных результатов.
15) Получить результаты решения задачи, автомати чески выданные машиной на устройства вывода (бы стродействующее печатающее устройство или перфора тор результатов) ' - *
16) При выдаче результатов на перфокарты или перфоленту отпечатать их на печатающем устройстве системы внешних устройств машины.
17)Обработать результаты, отпечатанные на бу мажном рулоне, т. е. расшифровать значения данных, и, если необходимо, построить по ним графики.
18)Оформить полученные результаты (сброшюро вать или переплести) и вместе с отчетом по решению задачи выдать заказчику.
37
Приведенный порядок работ, выполняемых прп ре шении задач, показывает, что программирование тре бует от программиста большого напряжения умствен ных сил и неослабного внимания в течение всего вре мени подготовки задачи для решения. Программирова ние сложных задач — работа трудоемкая, сопряженная с возможностью возникновения ошибок на каждом из этапов.
Поэтому в настоящее время ведутся работы в на
правлении |
автоматизации |
процесса программирования |
и создания |
б и б л и о т е к и |
п р о г р а м м . Но для того |
чтобы возложить работу по подготовке и программиро ванию задач на вычислительные машины, необходимо разработать специальные п р о г р а м м и р у ю щ и е прот граммы, по которым • машина сама перерабатывала бы
вводимую в ее запоминающие |
устройства |
информа |
цию о порядке решения задачи. |
С помощью |
програм |
мирующих программ можно автоматизировать выпол нение наиболее трудоемких этапов работы, связанных с составлением программы и переводом программ в код данной машины (этапы 5 и 6).
Организация библиотек наиболее часто применяе мых программ и даже частей программ позволяет (вруч
ную или путем использования в |
машине специальной |
к о м п и л и р у ю щ е й программы) |
объединять части |
стандартных программ и вновь составленных программ в одно целое. Применение компилирующих программ по зволяет автоматизировать этап 7.
Использование аппаратуры, производящей считыва ние информации непосредственно с бланков или печат ного текста, 'позволит автоматизировать процессы пре образования данных для ввода в машину (этап 9). Экспериментальные образцы такой • аппаратуры уже имеются.
Представление чисел в ЭЦМ
Числа в машинах обычно представляются в какойлибо позиционной системе, в которой значение каждо го знака определяется не только формой начертания, но и местом его в записи числа. В позиционной системе цифры выполняют роль коэффициентов при последо
вательно расположенных целых степенях числа, служа щего основанием системы счисления.
В машинах применяется несколько систем счисле ния и изображения чисел. Например, при вводе дан ных в машину и выводе из нее результатов числа обычно записываются в привычной для нас десятичной системе счисления. Числа, над которыми выполняются операции, в большинстве машин представлены не в де сятичной, а двоичной системе. Некоторые машины опе рируют с десятичными цифрами, каждая из которых закодирована в двоичной системе. В машине «Сетунь» используется троичная система счисления. Команды в программах обычно записываются на бланках в восьме ричной системе. Большое количество различных форм записи чисел и кодов объясняется удобствами, которые они дают при выполнении тех или иных видов обработ ки информации.
Название системы .происходит от того числа, кото рое принято за основание счисления. Основание опре деляет соотношение между единицами соседних разря дов, а также количество различных цифр, применяемых для изображения чисел в той или иной системе счис ления.
Десятичная система имеет основанием число 10. В ней используется десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Десятичная система — позиционная, поэтому десятйч
ное число, например 2547, можно |
записать следующим |
|
образом: 2547 = 2000 + 500+40+7 |
или |
2547=2-10® + |
+ 5 • 102+4 • 101+ 7 • 10°. Заметим, |
что |
при представле |
нии целых чисел степени основания системы счисления увеличиваются справа налево, начиная с нулевой для младшего разряда. При представлении смешанного чис
ла, например |
539,285 = |
5 - |
102 + 3 ■ 10г + 9 - |
10°-+ 2 |
- |
• 10—1+ 8 • |
10-2 + 5 - |
10 |
3, при движении |
вправо |
от |
запятой возрастают отрицательные степени основания системы счисления. Таким образом, все числа в десятич ной системе счисления получаются с помощью числа 10 (основания системы счисления), взятого в различных степенях и помноженного на цифры этой системы.
Двоичная система счисления имеет основанием чис ло 2. Все числа в двоичной системе изображаются на борами только двух цифр — 0 и 1. Это обстоятельство значительно облегчает изображение чисел в машине с
39
помощью электрических, магнитных и других элементов. Достаточно, чтобы элементы электронной цифровой ма шины, с помощью которых изображаются разряды чи сел, могли принимать всего два резко отличных друг от друга состояния.
Двоичная система, так же как и десятичная, являет ся позиционной. Поэтому двоичное число, например 1101*, можно представить в виде суммы:
|
1101 = 1 |
• |
23 + |
1 • |
23 + |
0 • |
2Х+ 1 • |
2° = 1 |
• |
8 + |
1 • 4 + |
|
|
|
|
|
+ |
0 ■2 + 1 • |
1 = 13, |
|
|
|
|||
т. е. двоичное |
число |
1101 |
эквивалентно |
десятичному |
||||||||
|
числу 13. |
|
|
|
|
|
|
например |
101,01, |
можно |
||
|
Смешанное двоичное число, |
|||||||||||
записать как сумму: |
|
|
|
|
|
|
|
|
||||
|
101,01 = |
1 • |
22 -+ |
0 • |
21 + |
1 |
2° + |
0 • 2-1 + |
1 • |
2 -2= |
||
|
1 - 4 + 0 - 2 + 1 - 1 + 0 - — + 1 • — = 5- . |
|
||||||||||
|
|
|
|
|
|
S |
2 |
4 |
|
4 |
|
|
|
|
|
|
|
|
|
101,01 |
соответствует |
||||
|
Таким образом, двоичное число |
|||||||||||
десятичному числу 5,25. |
|
|
|
|
|
|
||||||
|
Любое двоичное число имеет свой «эквивалент в де |
|||||||||||
сятичной системе: |
|
|
|
|
|
|
|
|
||||
|
Двоичная |
Десятичная |
Двоичная |
Десятичная |
Двоичная |
Десятичная |
||||||
1 система |
|
система |
система |
система |
система |
система |
||||||
|
0 |
|
0 |
|
1010 |
|
10 |
10100 |
|
20 |
||
|
1 |
|
1 |
|
1011 |
|
и |
10101 |
|
21 |
||
|
10 |
|
2 |
|
1100 |
|
12 |
10110 |
|
22 |
||
|
и |
|
3 |
|
1101 |
|
13 |
10111 |
|
23 |
||
| |
100 |
|
4 |
|
1110 |
|
14 |
11000 |
|
24 |
||
|
101 |
|
5 |
|
1111 |
|
15 |
11001 |
|
25 |
||
|
п о |
|
6 |
|
10000 |
|
16 |
пою |
|
26 |
||
|
111 |
|
7 |
|
10001 |
|
17 |
п о п |
|
27 |
||
|
1000 |
|
8 |
|
10010 |
|
18 |
11100 |
|
28 |
||
|
1001 |
|
9 |
|
10011 |
|
19 |
11101 |
|
29 |
||
|
|
|
|
|
|
|
|
|
И т. |
д. |
|
|
Из этой таблицы видно, что даже при записи не больших чисел в двоичной системе счисления требует ся значительное количество разрядов, т. е. запись двоич-
* 1101 читается не «тысяча сто один», а «единица, единица, ноль, единица».
40
пых чисел |
более громоздка, |
чем десятичных. Можно |
подсчитать, |
что для записи достаточно большого числа |
|
в двоичной |
системе счисления |
требуется разрядов в |
три с лишним раза больше, чем при записи его в десятич ной системе. Однако при оценке способов представле ния чисел в машине надо исходить не из количества разрядов, а из количества цифро-разрядов, т. е. произ ведения количества разрядов, необходимого для записи числа, на количество цифр в системе. Действительно, в цифровой машине каждый разряд числа может прини мать столько дискретных значений, сколько имеет цифр применяемая система счисления. Реализация каждого из этих значений либо требует особого оборудования, либо вызывает усложнение режимов работы элементов.
В этом отношении двоичная система счисления бо лее экономична, чем десятичная. Это можно показать на таком примере. Для изображения десятичных чисел до 999 требуется 10x3 = 30 цифро-разрядов, это же чис ло в двоичной системе счисления записывается как. 1111100111, т. е. требует приблизительно 2X10 = 20 циф ро-разрядов. Десятичные числа до 99 изображаются 10x2 = 20 цифро-разрядами, а эквивалентное ему двоич ное число 1100011 изображается 2X7=14 цифро-разря дами. Если считать, что для изображения каждого циф- ро-разряда требуется один элемент схемы, то можно сделать вывод о выгодности двоичной системы счисле ния по сравнению с десятичной приблизительно в 1,5 раза.
Другое преимущество двоичной системы счисления— простота выполнения арифметических действий. Это то же одна из причин широкого применения ее в вычисли тельных устройствах и логических цепях-.
'При выполнений операции сложения двух д е с я т и ч - и ы х чисел необходимо' помнить все суммы десятичных
цифр, т. е., - например, что |
1+0=1, 5 + 6=11, 7+9=16, |
9+ 9= 18 и т. д. |
д в о и ч н ы х цифр значи |
Таблица сложения двух |
|
тельно проще: |
|
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1 Т+ 1=10
41