Файл: Каган Б.М. Цифровые вычислительные машины и системы учеб. пособие.pdf

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

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

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

Добавлен: 09.04.2024

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

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

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

Ном ера

ра зр я д о б - * ■ -01

 

 

 

00-

 

 

-01-

 

 

■10-

 

 

11

 

 

\oSE7^23

 

 

 

 

 

 

 

 

 

 

 

 

 

DDOO NULL

 

 

b

 

 

 

 

>

<

*

0 i

 

 

 

nqm So

 

 

 

 

0007

 

 

 

 

 

 

/

 

а

J

 

 

А

J

 

/ !

 

0010

 

 

 

 

 

 

 

 

b

к

s

 

ß

К

S

?

 

0011

 

 

 

 

 

 

 

 

C

1

r

 

C

L

T

 

 

0700

PF RES ВУР PH

 

 

 

 

а

m

U

 

P

M

и

¥

 

0707

HT HL LF RS

 

 

 

 

e

n

V

 

E

N

V

5

 

0110

IS SS EOS OS

 

 

 

 

f

0

W

 

F

0

w

6

 

0711

PEL 7DL PREE07

 

 

 

 

3

p

X

 

G

P

X

7

 

1000

 

 

 

 

 

 

ff

b

Я

У

 

H

0.

Y

8

 

1001

 

 

 

 

 

f

i

r

Z

 

I

R

Z

9

 

1010

 

 

 

 

9

f

 

.

 

 

 

 

 

 

 

 

 

1017

 

 

 

 

«

0

9

n

 

 

 

 

 

 

 

 

 

то

 

 

 

 

*

°/o ®

 

 

 

 

 

 

 

 

 

7701

 

 

 

 

(

)

rr\

r

 

 

 

 

 

 

 

 

 

7710

 

 

 

 

+

f

_

-

 

 

 

 

 

 

 

 

 

1111

 

 

 

 

$

Я +

V

 

 

 

 

 

 

 

 

Номера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разрядов

ии

п

 

 

 

I I

 

н/

I I

 

/ /

1

/

*

 

 

 

 

 

 

 

 

 

 

\VJ21

00

 

01

10

17

00 01

10 17

00 07 70 77

00 07

10 77

0000

NULL

 

DCo

 

 

У

0

 

 

 

 

@

P

 

 

 

P

0001

S O M

 

DC?

 

 

f

1

 

 

 

 

А

0

 

 

а

я

0010

ЕОА

 

DC?,

 

 

ff 2

 

 

 

 

В

R

 

 

b

r

0011

'Е О М

PC3

 

 

#

3

 

 

 

 

С

S

 

 

C

s

0100

E O T

STOP

 

 

ff

¥

 

 

 

 

P

T

 

 

d

t

0101

W R U

 

ERR

 

 

%

S

 

 

 

 

£

u

 

 

e

а

0110

RU

SYNC

 

 

Bc

6

 

 

 

 

F

V

 

 

f

V

о т

BELL

 

LEM

 

 

J

7

 

 

 

 

G

w

 

 

у

10

1000

BKSP

So

 

 

(

в

 

 

 

 

H

X

 

 

h

X

1001

НТ

 

St

 

 

)

9

 

 

 

 

I

Y

 

 

i

у

1010

LF

 

SZ

 

 

*

 

 

 

 

 

J

Z

 

 

j

7,

1011

VT

 

 

 

 

 

 

 

 

К

 

 

к

 

 

 

 

S,f

 

 

+

<

 

 

 

 

C

 

 

 

 

1700

F F

 

So

 

 

*

 

 

 

 

L

\

 

 

1

 

1101

CR

 

S.T

 

 

=

 

 

 

 

M

D

 

 

m

 

1П0

SD

 

Sfi

 

 

>1

 

 

 

 

N

T

 

 

n

ESC

1111

SJ

 

S?

 

 

/

 

 

 

 

 

0

 

 

0

VEL

Рис. 2-5. Кодирование символов в системе 360 фирмы

IB M .

а — расширенный двоично-кодированный

десятичный код

для

обме­

на

информацией

(EBCDIC);

б — восьмиразрядное

 

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

американского

стандартного

кода

для

обмена

 

информацией

 

 

 

 

 

 

 

 

(ASCII-8).

 

 

 

 

 

 


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

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

Рассмотрим примеры кодирования алфавитно-цифро­ вой информации. В случае использования кода EBCDIC выражение USSR 1917 будет храниться в памяти ЦВМ в виде алфавитно-цифрового слова из восьми байтов:

 

U

 

S

S

 

R

 

 

 

Т и о о к ю

'ш о о о ю '

'11100010'

Т ш Ік ю Г

 

1

9

 

 

1

7

 

 

Т Т й о о о Г

' i i i i i o o f

ш Г о о о Г

и п о п Г ’

а число—6, 2 8 5 запишется в память в виде слова из

шести байтов:

 

 

2

8

 

5

6

 

 

1 1 1

опооооо'

Т ш

о п о 0100101Г

 

nTToöIö'

 

иооо' Т Г п о ш Г .

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

Системы команд ЦВМ предусматривают выполнение над хранимыми в памяти алфавитно-цифровыми слова­ ми различных логических операций: ввод и вывод алфа­ витно-цифровой информации, передача из одного места памяти в другое, передача в регистры процессора, про­ верка д а совпадения слов или частей слов, сравнение цифровых кодов слов или их частей по величине и др. Однако в системах команд ЦВМ обычно нет арифмети­ ческих операций над числовыми данными, представлен­ ными в виде кодов алфавитно-цифровых символов, так

85


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

С целью экономии объема памяти путем более плот­ ной упаковки числовых десятичных данных и для удоб­ ства выполнения над ними арифметических операций в машинах с байтовым представлением информации на­ ряду с описанным выше способом представления алфа­ витно-цифровых символов предусматриваются специаль­

ные форматы

для представления

десятичной информа­

ции— зонный

(«распакованный»)

десятичный

формат

и уплотненный

(«упакованный»)

формат1 (рис. 2-6). Де-

З он а Ц иф ра

3.9HG Ц аф оа

З он а Ц иф ра З н а к

Ц и ф ра

Q

3

4

7

0

3

4

7

а)

0

3

4

 

 

 

 

 

 

 

 

 

 

 

 

 

Циф>pa Циф ра \Цафра

 

Цифра

f

0

J

4

;

0

J\4

7

 

0

J

4

7

0

3

4

7

 

Ц иф ра

З н а н

7 0

3 4

- 7

Рис. 2-6. Представление десятичной информации.

а — зонный (распакованный) формат; б— упакованный формат.

сятичные данные (рис. 2-6) рассматриваются как деся­ тичные числа со знаком. Числа могут иметь переменную длину. Для представления отрицательных чисел исполь­ зуется прямой код.

Десятичные цифры 0, 1, ..., 9 кодируются четырьмя двоичными разрядами в двоично-десятичной системе — коде 8421 (0000—1001). Неиспользуемые при этом ком­ бинации четырехразрядных кодов (1010—1111) служат для кодирования знаков и служебного символа.

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

1 Показанные на рис. 2-6 форматы для десятичных чисел при­ меняются в вычислительной системе IB M 360 и Е С Э В М .


Для знаков «+», «—» и зоны в системе IBM 360 ис­ пользуются разные коды в зависимости от применяемой системы кодирования символов (EBCDIC или ASCII-8).

В случае кода EBCDIC принято

кодировать:

плюс —

1100, минус—1101

и зона—1111. При работе с

кодом

ASCII-8 обозначают плюс—1010,

минус—1011

и зо­

на 0101.

 

 

 

 

Число—6,285 в зонном десятичном формате (при ра­

боте с кодом EBCDIC) будет иметь вид:

 

6

2

8

— 5

 

11 П ОЛ О

11110010'

11111000'

11010101' ’

 

при этом информация о месте расположения десятичной запятой (точки) фиксируется в самой программе задачи. Заметим, что в этом формате все цифры, кроме цифры младшего разряда, представляются согласно коду EBCDIC.

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

Важное достоинство

восьмиразрядного

слога — бай­

та состоит в возможности размещения в

одном слоге

двух десятичных цифр,

чем достигается

существенная

экономия памяти. Такой способ представления называ­ ется упакованным десятичным форматом (рис. 2-6,6). В этом формате код знака размещается в правых четы­ рех разрядах младшего байта. Десятичное число всегда занимает целое число байтов. Если левые четыре разря­ да самого левого (старшего) байта оказываются свобод­ ными, они заполняются нулями.

Число—6,285 в

упакованном

десятичном формате

имеет вид:

6

2 8

5 —

0

00Ö00110

боіошоо

01011101 .

Байт

Байт

Байт

87


В упакованном формате десятичное число может иметь длину от 1 до 16 байтов. В этом случае макси­ мальная длина числа 31 десятичная цифра плюс знак.

При выполнении операций над десятичными числами

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

упакованный формат.

Резуль­

тат также получается

в этом формате. Числа,

участву­

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

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

2-7. К О Д И Р О В А Н И Е К О М А Н Д

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

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

Команда должна указывать: а) какую операцию над­ лежит машине выполнить; б) над какими операндами выполняется операция; в) куда должен быть помещен

88