Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Семененко В.А. Вычислительная техника в инженерных и экономических расчетах учеб. пособие для студентов всех специальностей

.pdf
Скачиваний:
5
Добавлен:
23.10.2023
Размер:
8.7 Mб
Скачать

держи'іиым РМ2, что, в свою очередь, вызывает возбуждение шины п управляющей матрицы УМ и матрицы 'последова­ тельности МП. С управляющей матрицы считывается серия управляющих импульсов микро-инструкций адреса п. Матри­ ца последовательности порождает адрес п' последующих микроинструкций. Таким образом, к моменту появления на входе дешифратора очередного четного импульса ГИ на ре­ гистре РМ2 уже будет установлено новое значение кода, что приводит к возбуждению иной, чем в предыдущем такте горизонтальной шины матриц. На выходе матрицы. УМ по­ является новая серия микроинструкций, а на выходе матри­ цы М П—^очередной адрес, посылаемый в регистр РМі. -

В таблице 18 приведен пример выработки микроинструк­ ций для выполнения машинных операций сложения, вычита­ ния и деления в мини-ЭВМ.

Коді машин­ Микро­

ной опе­ адрес рации

«0

с1

в2

Д3

У4

5

6

Импульсы управления

(СА) - РА

Шп) -+■Рау Тро (МЯ) -V Рау 1pj ,

( Р А ) - С Ц

Т а б л и ц а 18

Следующий адрес

Условие

перехода

0' 1

-

7

13

12

9

 

7

 

8

Д

9

 

10

' В

11

12

с ѵв

13

(МК)-> РК(СА) +'1

8

 

Код маш. опер. ->- РМі

 

адрес

-»■ РА.

 

 

СІД

'

10

 

СДпр

 

СЦі

11

0

 

СЦ0

10 .

Вобр

 

13

 

 

 

0

 

-

П р и и е ч а и и е: здесь С — сложение, В — вычитание, Д — деление,

■У — умножение и т. д.

 

 

Когда регистры

микроинструкций устанавливаются

в

ноль, нолевая строка

(строка с микроадресом 0 ) 'передает

содержимое счетчика

адреса (CÂ) в регистр адреса (РА)

и

170

заносит следующий

адрес 7 в

регистр РМЬ Микроадрес 7

управляет передачей

текущей

инструкции

(М„) в

регистр

команд (РК) и 'приращением

содержимого

счетчика

адреса

на «1», В РМі заносится следующий адрес 8, который управ­

ляет

передачей

кода машинной операции в регистр

РМі и

адреса текущей

инструкции в регистр адреса. Таким

обра­

зом,

устройство

готово и обработке машинной операции.

Пусть, например, выполняется операция вычитания с ко­ дом машинной операции В. Она осуществляет передачу в регистр арифметического устройства (Рау) , содержимого текущей инструкции, устанавливая триггер Тр (рис. 3—29) в состояние «1». Она же вызывает следующий*адрес 12, по ко­ торому происходит образование обратного кода числа Во6р и переход к микроадресу 13. Последний вырабатывает сиг­ нал сложения тс и переход на начало микропрограммы.

При создании последней серии микроинструкций, необхо­ димых для выполнения данной команды, код на выходах МП не возникает, и в РМі вводится код операции следующей команды.

При выполнении инструкций типа деления, умножения и др., где необходимо изменять порядок выработки управляю­ щих импульсов в ходе выполнения одной и той же команды, используется триггер условий Ту, переключающий входные цепи матрицы. При выполнении деления микроадрес 3 осу­ ществляет пересылку адреса в счетчик циклов СЦ и вызов следующего микроадреса 9, который создает первый отсчет ОД; следующая строка 10 управляет сдвигом на 1 двоичный разряд вправо СдпР, производит отсчет счетчика циклов и вызывает строку 11, которая переводит к выполнению мик­ роадреса 10, если содержимое, счетчика циклов положительно ( С Ц о = 0) и-к микроадресу 0, если содержимое счетчика циклов отрицательно (СЦо='1). СЦо играет в этом случае роль условного перехода, поэтому микроинструкция 11 назы­ вается условной микроинструкцией.

ГЛАВА V

У С ТРО Й С ТВ А В В О Д А — В Ы В О Д А

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

171

§5—1. Типы вводных — выводных устройств

Кустройствам ввода'относятся:

а) устройства ввода с перфокарт и перфолент; скорость ввода— >1000 карт в минуту при вводе с перфо­

карт и 1000 строк в секунду при вводе перфоленты; ■б) устройства ввода с печатающих машинок и телетай­

пов; скорость ввода — 10 знаков в секунду;

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

іг) специальные устройства ввода. Сюда относятся устрой­ ства ввода данных с датчиков, считывающие устройства с голоса, текста, с экрана электронно-лучевой трубки и т. п.

К устройствам вывода относятся:

а) устройства вывода на широкую печать. Скорость вы­

вода—>несколько сот знаков в секунду;

 

 

 

 

б)

устройства вывода на перфокарты и перфоленты. Ско­

рость вывода —несколько десятков строк

в

секунду;

 

в)

устройства вывода на печатающие машинки и телетай­

пы, экранные и графические устройства;

в

другие

или на

г)

устройства вывода из

одной ЭВМ

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

накопления

данных;

 

 

д)

>устройства вывода на специальные блоки, цифроанал

говые

преобразователи, управляющие устройства

и

др.

§ 5—2. Структура системы ввода — вывода

ЦВМ

Ввод—'вывод информаций в ЦВМ организуется через каналы (рис. 3—1,6). Имеется 2 типа каналов: селекторный и мультиплексный.

Селекторный канал позволяет передавать и принимать

информацию только с одного

из устройства

ввода — вывода

в момент времени

t-v

подсоединенных

к ЭВМ через

Общее число

устройств,

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

172

Мультиплексный канал позволяет передавать и принимать ■информацию в момент времени t t одновременно с нескольких устройств ввода — вывода. К каналу подсоединяются сотни печатающих машинок, устройства вывода на перфокарты и перфоленты и др., т. е. устройства, работающие с небольшой скоростью.

§ 5—3. Организация работ при выводе

.В современных ЦВМ предусмотрено разделение работы программ ввода—'вывода и вычислительных программ, т. е.

эти процессы могут выполняться одновременно.

Последова­

тельность работ ввода — вывода организуется

с помощью

специальной управляющей программы супервизора. Основой

эффективного

использование оборудования ввода — вывода

является так

называемая система прерывания программ,

Когда устройство ввода—-вывода готово к передаче данных, оно посылает в систему прерывания'сигнал, по которому ма­ шина приостанавливает работу над текущей программой и вместо этоГ)0 выполняет программу ввода—вывода. Програм­ ма ввода—-вывода действует в дальнейшем независимо от центрального процессора в определенном буферном участке памяти. Принятой задаче присваивается определенный при­ оритет и задача ставится в очередь. Задачи располагаются .в очереди в соответствии с их приоритетами и обычно запоми­ наются на дисках. После завершения работы с текущей зада­ чей -в центральную память вызывается следующая и т. д. Такой порядок работы называется групповой, или пакетной обработкой.

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

Р А З Д Е Л Ч Е Т В Е Р Т Ы Й

ОСНОВЫ ПРОГРАММИРОВАНИЯ

ГЛАВА I

КОМАНДЫ ЦИФРОВЫХ МАШИН

§ 1—1Г Основные понятия

\

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

Решение задачи на ЦВМ сводится к выполнению различ­ ных элементарных операций в заданном порядке. Пусть, например, нужно разделить два числа А и В и сохранить частное С. Выполнение этой и всякой другой элементарной операции производится под воздействием команды, которая в данном случае может быть сформулирована следующим образоім: разделить число А, находящееся в некоторой ячей­ ке МОЗУ ссі, на число В из ячейки МОЗУ а2 и результат деления (частное) С поместить в ячейку МОЗУ р.

Эта команда записывается так:

а ,

а ,

р

Машины, в которых команды выполняются последова­ тельно (т. е. после выполнения N-ой команды выполняется N + 1 команда и т. д.), называются машинами с последова­ тельным, или естественным порядком выполнения команд. Исключение здесь еоставлят так называемые команды пере­ дачи управления, которые могут передавать управление не следующей, а любой другой команде (в том числе и следую­ щей) .

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

J74

команду, которая будет выполняться вслед за данной. Уни­ версальные вычислительные машины имеют естественный ■порядок выполнения команд.

Номера ячеек памяти называют адресами. Содержанием команды является код операции ( + , — , • X и т. д.). и адреса ячеек памяти. В зависимости от адресности вычислительные машины делятся на:

1) одноадресные;

2 ) двухадресные;

3) трехадресные и т. д.

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

Условно одноадресную команду записывают так:

 

КОП

А

 

 

КОП — означает код

операции (сложение,

деление и т. д.).

А — адрес второго числа

(номер ячейки,

в которой хранится вто­

рое число).

так и

адрес числа

А

кодируются двоичными

Как код операции,

числами. Например:

Код операции

0001— сложение,

0010— вычитание,

ООП — вычитание модулей, 0100— деление,

0101— умножение и т. д.

Адрес числа А

0001 — первая ячейка МОЗУ,

0375 — 375 ячейка МОЗУ.

 

В двухадресных командах

ЦВМ, например, типа

регистр — регистр

 

 

КОП

т

R2

 

 

код

операции определяет тип

операции между содержимыми регистров

R1

и R2.

Результат операции

остается на

регистре

R1.

 

 

В командах типа регистр — память

 

 

 

 

КОП

 

Х2

В2

 

Д2

операция

выполняется

между

содержимым

регистра

RI

и содержимым

ячейки памяти, адрес

которой

образуется

по адресу,

полученному из

содержимого индексного регистра Х2 плюс базового регистра В2 и при­

ращения Д2. Результат

выполнения операции остается на регистре 7?1.

В командах типа

память — память результат выполнения

операции

запоминается в одной из ячеек памяти. '

 

 

I

175

Трехадресная команда содержит код операции и три адреса:

А1 — адрес первого числа; А2 — адрес второго числа;

A3 — адрес ячейки, в которую отсылается результат вы­ полнения операции и запоминается в одной из ячеек памяти.

45-разрядная сетка электронной вычислительной машины на рис. 4—1 содержит:

kS

kk

kl

кг

3SS7

и

 

гег5гк

• •

ъ г я г

- і 4

 

0

[

МОП

 

 

0

 

 

 

 

 

• • •

 

 

A{

 

AZ

 

A3

 

JTj

 

 

 

 

 

 

V""

 

 

 

 

 

Рис. 4—1.

Представление

команды

в трехадресной ЦВМ'

 

1)

6 разрядов для кода операции,

 

 

 

 

 

2 )

3 разряда для специальных признаков;

 

 

 

3) 3 адреса по 12 двоичных разрядов в каждом адресе.

Например, необходимо умножить

число,

находящееся

в

ячейке, номер

которой • 12378,

на

число

из

ячейки

123-18

и

результат умножения снова запомнить в ячейке 12378.

 

•Допустим, код операции умножения 058. Тогда эта коман­

да запишется так:

 

 

 

 

 

 

 

 

 

 

 

05

 

1237

 

 

1231

1237

 

 

При записи в ячейку 12378 нового кода старое содержи­ мое этой ячейки стирается.

В двоичной записи эта команда выглядит таю

000101

001010011111

001010011001

001010011111

§ 1—2. Системы команд ЦВМ

Под системой команд ЭВМ понимают общее число раз­ личных команд, которое может выполнять машина. Число команд ЦВМ определяется количеством разрядов кода опе­ раций. Если число разрядов КОП равно 6 (рис. 4—1), то система команд такой ЦВМ содержит 26 = 64 команды.

Рассмотрим наиболее употребительные команды системы команд условной 3-адресной мащины.

176

Все операции, которые выполняет цифровая вычислитель­ ная машина, можно разделить «а 4 группы:

1. Операции над числами.

2. Операции над кодами (числами и командами).

3.Операции управления.

4.Операции обмена информацией между оперативной (внутренней) и внешней памятью.

1.К операциям над числами (арифметическим операциям)

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

Введем обозначения:

а— номер ячейки (адрес),

(а)— содержимое ячейки с номером а.

Сложение чисел

- + ®і “ 2 Р

(аі) + (а2) -> р, что означает: содержимое ячейки с номе­ ром си нужно сложить с содержимым ячейки с номером а-2 и результат (сумму) отослать в ячейку с номером р.

Пусть

(си) =35;

Ы= 3.

Тогда в результате выполнения этой команды (р) =38 .

 

 

Вычитание

чисел

 

 

 

а 2

Р

Пусть, например сц 100, а2 = 101, р =

105. a (а,) = 200,

(as)

=<100.

 

 

 

Тогда команда будет записана так:

 

 

100

101

105

В ячейку № 105 будет послано число 100:

 

 

 

200 100 =

100 =( р ) .

 

 

 

Умножение чисел

 

 

■X

*1

а 2

Р

(<ц)

X (а,) -ä- р

 

 

 

12-32

177

 

Деление

чисел

 

:

аі

02

Р

( а ,) : (0С2) — р

Извлечение квадратного корня

V

ч

р

K W — -р

2. К операциям над кодами относятся логические опера ции, операции сдвига, специальные операции над кодами.

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

Сравнение на равенство

Л _

d i

0 - 2

Р

1 с р

 

 

Если (аі) =1 (d2), то в машине вырабатывается управляю­ щий признак £0 = 1; если (аі) Ф (аг), то со = 0. Команда условного перехода (УП), которая следует за командой срав­ нения на равенство, в зависимости от того, равен ли со «1» или «0», разветвляет вычислительный процесс по одному из следующих направлений:

1) машина переходит к выполнению следующей по номе­ ру команды;

2) машина переходит к выполнению команды программы с номером, который задается в адресе втором А2 команды условного перехода.

Логическое умножение

ЛУ

аі

02

Р

ЫА (а2) — Р

Дозначает конъюнкцию по всем г-разрядам.

178

 

Логическое

сложение

 

лс

«1

<Х2

р

(си) V(a2) -> р

V — означает дизъюнкцию по всем /-разрядам.

Пример 1. Сравнить числа КШО и 11010 на равенство.

+ ср «1 я2 Р

 

 

(Яі) =10110

10110

 

 

 

 

(я2) =

11010

-U pllOlO

 

 

Коды не равны,

ш = 0,

 

01100

 

 

(р) = 01)100.

 

 

 

Пример' 2. Произвести логическое сложение кодов 10110 и МОЮ.

 

лЪ

 

«1

а2

р

 

 

 

К ) =

Щ ііі

 

101110

 

 

 

 

(я2) =

111010

 

V

 

 

 

 

 

:1!101і0 О) =

о

 

 

 

 

 

 

 

 

 

 

 

1(1(1 10 =

1ІІМО

 

 

 

 

 

 

(Р).

 

 

 

Пример 3.

Провести логическое

умножение кодов 10.Ы0

и

ПОЮ.

 

ЛУ

 

 

“г

Р

 

 

 

(«,) =

101(10

 

іо т о

(0=0

 

 

 

(я) =

т о ю

 

Л

 

 

 

 

ІіШІО

 

 

 

 

 

 

1001(0 =

1М 10

 

 

 

 

 

 

(Р).

 

 

 

 

 

Операции сдвига

 

 

 

 

 

 

УЧ

»

 

 

 

 

Сд

 

а

9

 

 

УЧ— условное число,

которое

определяет

количество

сдви­

гов и его направление (вправо или влево).

 

 

а —помер

ячейки, содержимое которой

сдвигается,

 

р — номер ячейки для отсылки результата.

і

 

12*

179

Соседние файлы в папке книги из ГПНТБ