Материал: Нечаев А.Н. Устройство и работа электронных цифровых машин

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сложение многоразрядных двоичных чисел .выпол­ няется по тем же правилам, по которым складываются и десятичные числа: сложение производится поразряд­ но, начиная с младшего разряда, и в случае возникнове­ ния в каком-либо разряде переполнения единица пере­ носа прибавляется к цифре следующего, более старшего порядка. Рассмотрим сложение, например, двоичных чисел: 10011 (десятичное число 19) и ПОЮ (26):

,

10011

 

19

“

11010

+

2 6

 

101101

 

4 5

Операция вычитания двух чисел в машине сводится к алгебраическому сложению этих чисел. Для этого ал­ гебраический знак у вычитаемого меняется на обрат­ ный и операция вычитания заменяется операцией сло­ жения, 'например в обратном коде. Обратный код числа получается заменой в изображении числа пулей едини­ цами, а единиц — нулями.

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

0 X 0 = 0

о х 1 = 0

1 X 0 = 0

1 X1 = 1

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

42

качестве примера рассмотрим перемножение двоичных чисел: ПОЮ (десятичное число 26) и 1001 (9):

w

11010

V

2 6

х

1001

х

9

 

11010

 

2 3 4

 

0 0 0 0 0

 

 

+ 0 0 0 0 0 11010

11101010

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

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

110011 101.

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

сел используется д е с я т и ч н а я

д в о и ч н о-к о д и р о-

в а н н а я с и с т е м а счисления.

В этой системе числа

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

Перевод чисел из десятичной двоично-кодированной системы счисления в двоичную при вводе числовых

43

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

Избыточность представления десятичных цифр с по­ мощью четырех двоичных разрядов (возможны 16 раз­ личных комбинаций) допускает несколько систем дво­ ичного кодирования десятичных цифр: код типа 8—4— —2—1, код 2—4—2—1, код с избытком три (8—4—2—

—1)+3 и другие. Во всех системах используется четыре двоичных разряда, каждому из которых'приписывается некоторое значение или вес.

В системе 8—4—2—1 веса двоичных разрядов припи­ сываются так же, как и в обычных двоичных числах. Кодовые обозначения просто совпадают с двоичными представлениями десятичных цифр.

Код с избытком три называется так потому, что ои получается из кода 8—4—2—1 путем прибавления дво­ ичной тройки (0011) к каждому представлению десятич­ ной цифры.

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

44

Системы кодов 8—4—2—1, 2—4—2—1 и код с из­ бытком три показаны в таблице:

Десятичная

Код 8 - 4 - 2 - 1

Код

Код с избытком

цифра

2 - 4 - 2 —I

три

0

0000

0000

ООП

1

0001

0001

0100

2

0010

0010

0101

3

ООП

ООП

оно

4

0100

0100

0111

5

0101

1011

1000

6

оно

1100

1001

7

0111

1101

1010

8

1000

1110

1011

9

1001

1111

1100

И т. д.

 

 

 

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

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

Использование в ЭЦУМ таких систем не дает воз­ можности четко различать изменения состояний двух и более разрядов, и преобразующее устройство, в котором в один момент времени изменяется больше, чем один двоичный разряд, может вносить большие искажения. Например, за счет неточности считывания показаний вместо кода 0100- (десятичная цифра' 4) может считать­ ся код 0111 (десятичная цифра 7). Поэтому при ис­ пользовании кода, например, 8—4—2—1 пределы ошиб­ ки могут достигать полной шкалы преобразования.

45

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

Десятичное число

Код Грея

Десятичное

Код Грея

число

 

0

00000

11

 

01110

1

00001

12

 

01010

2

00011

13

 

01011

3

00010

14

 

01001

4

00110

15

 

01000

5

00111

16

 

11000

6

00101

17

 

11001

7

00100

18

 

п о п

8

01100

19

 

п о ю

9

01101

20

д.

11110

10

01111

И т.

 

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

В машинах с ф и к с и р о в а н н о й з а п я т о й

одна

часть общего количества

разрядов

используется

для

изображения целой части

числа, а

другая — для

изо­

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

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

46

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

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

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

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

Представление в машине чисел с плавающей запя­ той имеет по крайней мере три преимущества по срав­ нению с представлением чисел с фиксированной запя­ той: 1) больший диапазон представления чисел при име­ ющемся в машине количестве разрядов, вследствие чего почти исключены случаи переполнения разрядной сет­ ки; 2) при программировании задач., нет ..надобности заботиться о масштабах чисел; 3) обеспечивается при­ близительно . одинаковая точность представления боль­ ших и малых чисел.

47

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

Программирование задач

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

тов и т. д.). Машине дается задание на

выполнение

операций в виде к о м а н д

(приказов). В командах со­

держатся указания о том,

какую операцию

выполнить,

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

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

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

48

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

Например, пусть при решении задачи однократно вы­ полняются все команды с номерами от 1 до 10 включи­ тельно, а участок с номерами команд от 11 до 18 тре­ буется повторить 12 раз. Наиболее просто, но в то же время наиболее невыгодно эту задачу можно решить, повторив 12 раз запись одной и той же последователь­ ности команд. Однако ее можно решить иначе, допол­

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

повторяемых команд новой,

19-й командой, которая

12 раз «возвращает» машину к

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

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

вида — командами безусловной

передачи

управления

(безусловного перехода).

 

 

В приведенном выше примере команда номер 19 осу­

ществляет условную передачу

управления.

Если цикл

повторен менее 12 раз, то управление передается коман­ де с номером 11, в противном случае управление пере­ дается какой-либо другой команде, например, следую­ щей (с номером 20).

Рассмотрим еще один пример. Пусть в упомянутой выше программе после выполнения команд с номерами от 20 до 24 требуется, в зависимости от некоторого ус­ ловия, либо выполнить команды от 26-й до 35-й, либо только команды от 30-й до 35-й, обходя команды с но­ мерами 26, 27, 28 и 29. При составлении такого участка программы в качестве 25-й команды применяют коман­ ду условного перехода, которая либо передает управ­

4

А. Нечаев

49

Источник: https://tut-files.ru/previewfile/124908