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

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

м

ь

c i

Последовательность

чисел а1, ...,

ап находится в

ячейках начиная с номера 300, число b находится в ячей­ ке номер 400, а результаты clt ..., сп будут записывать­ ся в ячейки с номерами 1000, ..., 1000+ п — 1. Структура команды для каждой из п операций умножения одинако­ ва, меняются только первый и третий адреса. Если после каждого цикла умножения записывать в ячейку номер К новые адреса сц и С{, увеличенные на единицу, то для всех п умножений понадобится только одна коман­ да, записанная в одну ячейку.

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

Возможность изменения адресов обусловлена тем, что они представлены в машине в виде кодов чисел, над которыми так же, как и над обычными числами, можно производить арифметические операции.

Таким образом, после команды умножения, записан­ ной в ячейке номер К, должна быть записана команда специального сложения Cj. Присвоим'ей условный код 02, а команде умножения М — условный код 05.

№Обозначение Код

ячейки

операции

операции

 

к

м

05

 

К+1

С.

’ -02'

"

К +2

в

03

,

к+з

Е

20

 

Адреса

300 400

У слов­

кное

'Ч И С Л О

 

!

1200

to о

 

КК +4

1000

К

to О О

000

К +4

55

Операцию Ci можно выполнить с помощью специаль­ ного блока арифметического устройства. Указание о том, какие адреса команды должны быть изменены на единицу, дается условным числом, помещаемым по вто­ рому адресу команды Сь Читается эта команда так: взять команду из ячейки К, увеличить в ней на единицу первый и третий адреса и измененную команду снова записать в ячейку К.

После выполнения операции Ci в ячейке К будет за­ писана команда:

К

м

05

301

400

1001

к выполнению которой следует перейти, чтобы получить второе произведение (а2) (Ь) = (с2). Последовательный порядок выполнения команд при этом нарушается, и для изменения этого порядка машине должно быть да­ но специальное указание. Кроме того, в программе долж­ но быть дано указание о том, когда перейти к естествен­ ному порядку выполнения команд. Эти два указания представляют собой участок программы, предназначен­ ной для контроля количества циклов и для определения (в зависимости от этого количества) направления даль­ нейших вычислений.

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

судить

о том, что все п циклов (содержащие в нашем

случае

одну операцию умножения)

выполнены.

Про­

верку логического условия

(выработку признака)

можно

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

операции

вычитания, которой

_ присвоим код 03.

Для этого в какие-либо две ячейки запоминающего устройства, например 1200 и 1201, помещаем соответст­ венно числа п — 1 и 1 и записываем команду К +2 сле­ дующим образом:

56

К+2

В

03

1200

1201

1200

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

( п -

1— / 1 + 1 = 0). После выполнения п-го цикла резуль­

тат,

записанный в ячейку номер 1200, окажется отрица­

тельным (п— 1 —п — — 1). Этот признак используется для прекращения выполнения циклической программы. Осуществляется это с помощью команды условной пе­ редачи управления Е, которая позволяет в зависимости от знака результата выполнения предшествующей ко­ манды (в нашем случае команды вычитания В, запи­ санной в ячейке К+2) изменить направление вычисли­ тельного процесса.

Команда Е, которую обозначим условным кодом 20,

должна быть помещена в ячейку К+3.

 

к+з

Е

20

К

К+4

0000

Если знак результата, полученный после выполнения команды К + 2, положителен, то следующей за коман­ дой К + 3 будет выполняться команда К; если же этот знак отрицателен, то это значит, что все ч циклов груп­ повых операций выполнены и после команды К +3 будет выполняться команда К+4, т. е. будет продолжен есте­ ственный процесс выполнения команд программы. Тре­ тий адрес команды условного перехода остается сво­

бодным.

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

57

ннй. Само собой разумеется, что вместо умножения мы могли бы взять любую другую операцию.

Следует отметить, что применение полученной про­ граммы для выполнения одной операции над группой чисел нецелесообразно с точки зрения эффективности использования машины, так как на одну полезную команду (М) требуется затратить три вспомогательные (Сь В и Е). Полезное-машинное время в этом случае составляет всего 25%.

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

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

..., ап на число Ь, составленная с использованием опи­ санных команд, имеет вид, приведенный в таблице (см. стр. 59). При этом считаем, что если указатель содер­ жит число 0, то изменение адресов не производится. Если указатель равен 5, то при каждом повторении команды ее 1-й и 3-й адреса увеличиваются на Г.

Как видно из сравнения программ, приведенных ч таблицах, применение автоматического изменения команд сокращает объем программы и время ее выполне-

58

 

Программа умножения

группы чисел

 

 

с автоматическим изменением команды

 

№

Обозначе­

Код

Указатель

 

Адреса

 

ячейки

ние

операции

 

 

 

операции

 

 

 

 

 

к

Нц

22

0

—

П

—

К+1

М

05

5

300

400

. 1000

К+2

Кд

23

0

к+ .

К+З

—

 

1

к+з

ния. Применяя более сложные команды, удается еще сильнее сократить объем программы и время работы.

П р и м е р 2. Для одноадресной машины.

С о с т а в л е н и е ' п р о г р а м м ы д л я в ы ч и с л е ­ н и я полинома степени п

у = а0+ агх + а2х 2+ а3х 3- f ...+ an- i^ n-1+ о-а*п•

Для получения компактной программы перепишем полином иначе:

_У=[[[(( ап) х -f a0r-i)x+aa-a)x+ . ..а3]х + а,}х -f а,]* + а0.

Такая запись позволяет использовать для решения за­ дачи циклическую программу.

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

Пусть коэффициенты полинома #п, а0 записаны в ячейках начиная с № 100, значение переменного х — в ячейке № 200, результат вычислений у должен быть по­ мещен в ячейку 1000. Тогда программа будет такой, как представлена в таблице на стр. 60; в этой программе,

если команда имеет значение указателя «1», происхо­ дит увеличение ее адреса на 1 при каждом исполнении. Сложение имеет код 01, посылка в сумматор — 02, умно­ жение— 05, конец цикла — 23, начало цикла — 22, по­ сылка из сумматора в .ячейку— 10.

Программа вычисления полинома

Номер

ячейки

К

К+1

К+2

К+3

К+ 4

К+5

К+ 6

Обозначе­

ние Код •Указатель Адрес Пояснения операции операции

Нц

22

0

п

Засылка

на

ре­

 

 

 

 

гистр

ап

в

ПС

02

0

100

Посылка

сумматор

 

м

05

 

 

 

0

200

Умножение содер­

 

 

 

 

жания

суммато­

Сл

 

 

 

ра на х

содер­

01

1

101

Сложение

 

 

 

 

жимого

сумма­

 

 

 

 

тора последова­

 

 

 

 

тельно

с

 

 

23

 

 

 

а0

Ки

0

К+2

Проверка,

условия

 

 

 

 

и переход либо

 

 

 

 

к К+2, либо к

ПЯ

 

 

 

К+5

резуль­

10

0

1000

Перенос

 

 

 

 

тата

 

 

После работы машины по команде К+1 и первого выполнения команд К + 2, К +3 в сумматоре образуется

вычисленное значение выражения

(апх-\-ап—\) — часть

формулы, по которой производятся

вычисления. При

втором повторении команд К+2, К +3 образуется значе­ ние выражения [(an^+an-i)Jc+an-2 )], наконец, после я-го повторения формула подсчитывается полностью и результат по команде с номером К + 5 записывается в ячейку 1000.

ЭЛЕМЕНТЫ ЭЛЕКТРОННЫХ ЦИФРОВЫХ МАШИН

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

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

идр.

Кдеталям, применяемым в современных электрон­ ных цифровых машинах, предъявляются следующие тре­ бования:

высокое быстродействие, составляющее миллионные

доди секунды; большой срок -службы (десятки тысяч часов для

наименее надежных элементов); малые величины допусков основных параметров;

отсутствие значительных изменений параметров от температуры, режима и времени работы;

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

Машины, построенные'на электромагнитных реле, не могут обладать высоким' быстродействием, так'как

61

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