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

берчун

.pdf
Скачиваний:
240
Добавлен:
10.02.2015
Размер:
3.24 Mб
Скачать

Начало

C [0:31]:=000…0

 

 

C [26]

 

1

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

C [0:31]:=C [0:31] + 1

 

 

 

 

 

 

 

 

1

A [0]

 

0

 

 

 

 

B [0]

 

1

0

B [0]

 

 

 

0

 

 

 

1

A [0]:=1

A [0]:=0

A [0:31]:=A[1:31].A[0]

B [0:31]:=B [1:31].B [0]

Конец

Синтез канонического автомата

Входные и выходные слова:

Тип слова

Слово

Комментарий

 

 

 

Входное/выходное

A [0:31]

Первый операнд\результат операции

 

 

 

Входное/выходное

B [0:63]

Второй операнд\результат операции

 

 

 

Выходное

С [26]

Ограничение счётчика числом 32

 

 

 

Выходное

B [63]

Разряд, анализируемый мультиплексором

 

 

 

Выходное

П [0]

Перенос из старшего разряда младшего слова

 

 

 

Выходное

ПП [0]

Признак переполнения младшего слова

 

 

 

Выходное

A [0]

Старший разряд первого операнда

 

 

 

Выходное

B [0]

Старший разряд второго операнда

 

 

 

Логические условия:

Обозначение

Условие

Комментарий

 

 

 

X1

C [26]

Ограничение счётчика числом 32

 

 

 

X2

B [63]

Разряд, анализируемый мультиплексором

 

 

 

X3

П [0]

Перенос из старшего разряда младшего слова

 

 

 

X4

ПП [0]

Признак переполнения младшего слова

 

 

 

X5

A [0]

Анализ старшего разряда первого операнда

 

 

 

X6

B [0]

Анализ старшего разряда второго операнда

 

 

 

Микрооперации:

Обозначение

Микрооперация

 

 

Y1

C [0:31]:=000…0

 

 

Y2

C [0:31]:=C [0:31] + 1

 

 

Y3

B [33:63]:=B [32:62]

 

 

Y4

B [1:32]:=B [0:31] + 000…0

 

 

Y5

B [1:32]:=B [0:31] + A [0:31]

 

 

Y6

П [0]:=1

 

 

Y7

ПП [0]:=1

 

 

Y8

B [0:15]:=111…1

 

 

Y9

B [0:15]:=000…0

 

 

Y10

A [0]:=1

 

 

Y11

A [0]:=0

 

 

Y12

A [0:31]:=A [1:31].A [0]

 

 

Y13

B [0:31]:=B [1:31].B [0]

 

 

Построим логическую схему канонического автомата:

1 операнд

1

Y10

0

Y11

A [1:31].A [0]

Y12

2 операнд

 

 

 

B [32:62]

 

 

Y3

0

 

 

 

B [0:31]

 

 

Y4

 

 

000…0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

A [0:31]

 

 

Y5

 

 

B [0:31]

 

 

 

 

 

 

 

 

111…1

 

 

 

 

 

 

111…1

 

 

Y8

000…0

 

 

Y9

B [1:31].B [0]

 

 

Y13

000…0

Y1

C [0:31]

Y2

1

Y6

1

Y7

S

0

A

0

B

A [0:31]

B [0:63]

0

B [63]

 

П [0]

С

ПП [0]

A [0]

B [0]

П

ПП

S

Синтез М-автомата

Распределение регистров по шинам A1 и A2: A1 (C, B, ПП) и A2 (A).

Операторы, реализуемые М-автоматом:

Ym

Микрооперации

A1=Si

A2=Sj

Z= (A1,A2)

Sk=Z

 

 

 

 

 

 

Y1

C [0:31]:=000…0

A1=C

 

Z [0:31]:=000…0

C [0:31]:=Z [0:31]

 

 

 

 

 

 

Y2

C [0:31]:=C [0:31] + 1

A1=C

 

Z [0:31]:=A1 [0:31] + 1

C [0:31]:=Z [0:31]

 

 

 

 

 

 

Y3

B [33:63]:=B [32:62]

A1=B

 

Z [33:63]:=A1 [32:62]

B [33:63]:=Z [33:63]

 

 

 

 

 

 

Y4

B [1:32]:=B [0:31] + 000…0

A1=B

 

Z [1:32]:=A1 [0:31] + 000…0

B [1:32]:=Z [1:32]

 

 

 

 

 

 

Y5

B [1:32]:=B [0:31] + A [0:31]

A1=B

A2=A

Z [1:32]:=A1 [0:31] + A2 [0:31]

B [1:32]:=Z [1:32]

 

 

 

 

 

 

Y7

ПП [0]:=1

A1=ПП

 

Z [0]:=1

ПП [0]:=Z [0]

 

 

 

 

 

 

Y8

B [0:15]:=111…1

A1=B

 

Z [0:15]:=111…1

B [0:15]:=Z [0:15]

 

 

 

 

 

 

Y9

B [0:15]:=000…0

A1=B

 

Z [0:15]:=000…0

B [0:15]:=Z [0:15]

 

 

 

 

 

 

Y10

A [0]:=1

 

A2=A

Z [0]:=1

A [0]:=Z [0]

 

 

 

 

 

 

Y11

A [0]:=0

 

A2=A

Z [0]:=0

A [0]:= Z [0]

 

 

 

 

 

 

Y12

A [0:31]:=A [1:31].A [0]

 

A2=A

Z [0:31]:=A2 [1:31].A2 [0]

A [0:31]:= Z [0:31]

 

 

 

 

 

 

Y13

B [0:31]:=B [1:31].B [0]

A1=B

 

Z [0:31]:=A1 [1:31].A1 [0]

B [0:31]:= Z [0:31]

 

 

 

 

 

 

Управляющие сигналы и микрооперации:

 

Выборка операндов

Преобразование слов

Загрузка результата

 

 

 

 

 

 

 

 

ai

A1=Si

bj

A2=Sj

m

Z= m(A1,A2)

dk

Sk=Z

 

 

 

 

 

 

 

 

a1

A1=C

b1

A2=A

1

Z [0:31]:=000…0

d1

C [0:31]:=Z [0:31]

 

 

 

 

 

 

 

 

a2

A1=B

 

 

2

Z [0:31]:=A1 [0:31] + 1

d2

B [33:63]:=Z[33:63]

 

 

 

 

 

 

 

 

a3

A1=ПП

 

 

3

Z [33:63]:=A1 [32:62]

d3

B [1:32]:=Z [1:32]

 

 

 

 

 

 

 

 

 

 

 

 

4

Z [1:32]:=A1 [0:31] + 000…0

d4

ПП [0]:=Z [0]

 

 

 

 

 

 

 

 

 

 

 

 

5

Z [1:32]:=A1 [0:31] + A2 [0:31]

d5

B [0:15]:=Z [0:15]

 

 

 

 

 

 

 

 

 

 

 

 

6

Z [0]:=1

d6

A [0]:=Z [0]

 

 

 

 

 

 

 

 

 

 

 

 

7

Z [0:15]:=111…1

d7

A [0:31]:= Z [0:31]

 

 

 

 

 

 

 

 

 

 

 

 

8

Z [0:15]:=000…0

d8

B [0:31]:= Z [0:31]

 

 

 

 

 

 

 

 

 

 

 

 

9

Z [0]:=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

Z [0:31]:=A2 [1:31].A2 [0]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

Z [0:31]:=A1 [1:31].A1 [0]

 

 

 

 

 

 

 

 

 

 

Обобщённый оператор: Z = A3 + A4, где:

000…0;

1, 8

A1

[0:31];

2, 4, 5

A1

[32:62];

3

1[0];

6

A3 =

 

 

111…1;

7

0 [0];

9

A2 [1:31].A2 [0]; 10

A1 [1:31].A1 [0]; 11

000…0;

1, 3, 4, 6, 7, 8, 9, 10, 11

A4 = 1 [31];

2

A2 [0:31]; 5

Кодирование микроопераций наборами управляющих сигналов:

Y1

a1

-

1

d1

 

 

 

 

 

Y2

a1

-

2

d1

 

 

 

 

 

Y3

a2

-

3

d2

 

 

 

 

 

Y4

a2

-

4

d3

 

 

 

 

 

Y5

a2

b1

5

d3

 

 

 

 

 

Y7

a3

-

6

d4

 

 

 

 

 

Y8

a2

-

7

d5

 

 

 

 

 

Y9

a2

-

8

d5

 

 

 

 

 

Y10

-

b1

6

d6

 

 

 

 

 

Y11

-

b1

9

d6

 

 

 

 

 

Y12

-

b1

10

d7

 

 

 

 

 

Y13

a2

-

11

d8

 

 

 

 

 

Структурная схема М-автомата:

 

 

 

 

A1

A2

1ый операнд

 

 

 

 

 

 

d6 [0]

x

 

 

b1x

 

 

A

 

 

d7 [0:31]

 

 

 

x

 

 

 

2ой операнд

 

 

 

 

 

 

 

 

 

d2

[33:63] x

 

 

 

d3

[1:32]

x

B

a2 x

 

d5

[0:15]

x

 

 

 

d8

[0:31]

x

 

 

 

 

 

 

 

 

 

d1 [0:31] x

C

a1

x

 

 

 

 

 

 

 

d4

x

ПП

 

 

A3

 

 

 

 

000…0;

1, 8

 

 

 

 

 

 

x

 

 

 

 

A1

[0:31];

2, 4, 5

 

 

 

 

 

 

x

 

 

 

 

A1

[32:62];

3

 

 

 

 

 

 

x

 

 

 

 

A3

[0];

6

 

 

 

 

1

 

x

 

 

 

 

111…1;

7

 

 

 

 

 

 

x

 

 

 

 

A3

[0];

9

 

П

 

0

 

x

 

 

 

 

A2

[1:31].A2 [0]; 10

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

A1

[1:31].A1 [0]; 11

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

000…0; 1, 3, 4, 6,

 

 

 

 

7, 8, 9, 10, 11 x

 

 

 

 

A4

[31];

2

 

 

 

 

1

 

x

 

 

 

 

A2

[0:31];

5

 

 

 

 

 

 

x

 

 

 

 

 

 

A4

 

 

 

 

 

 

 

 

 

 

 

9 Представление чисел в ЭВМ

Целые числа .Прямой код. Прямой код двоичного числа совпадает по изображению с записью самого

числа. Значение знакового разряда для положительных чисел равно 0, а для отрицательных чисел 1. Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного

числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.

Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для

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

младшему

 

разряду

 

 

единицы.

В

любом

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

старший

бит

определяет

знак

числа:

0

 

-

 

положительное

 

число;

1 - отрицательное число

Пример.

Для числа +1101:

Прямой код

Обратный код

 

 

0,0001101

0,0001101

 

 

Дополнительный код

0,0001101

Для числа -1101:

Прямой код

Обратный код

 

 

1,0001101

1,1110010

 

 

Дополнительный код

1,1110011

Вещественные числа (числа с плавающей точкой)

Все равные по абсолютному значению положительные и отрицательные числа отличаются только этим битом. В остальном числа с разным знаком полностью одинаковы. Для представления отрицательных чисел здесь не

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

 

 

дополнительный

 

код.

Поле

мантиссы

содержит

мантиссу

нормализованного

числа.

Одинарная

 

 

 

 

точность:

1.(цифры

 

 

 

 

мантиссы)*2(P-127)

Двойная

 

 

 

 

точность:

1.(цифры

 

 

 

 

мантиссы)*2(P-1023)

Расширенная

 

 

 

 

точность:

1.(цифры мантиссы)*2(P-16383)

11. Управляющие автоматы с жёсткой логикой

Теория управляющих абстрактных и конечных автоматов – очень обширная наука, описывающая понятие автоматов, их поведение, формализацию, различные модели и пр. Здесь не будут рассматриваться все эти теоретические аспекты, рассмотрим лишь две практических варианта УА с жёсткой логикой.

Название «автомат с жёсткой логикой» проистекает из того, что алгоритм функционирования такого автомата жёстко задан его схемой. Для внесения даже незначительных изменений в алгоритм необходимо полностью (или почти полностью) пересинтезировать всю схему автомата. «Отделаться» какими-то мелкими изменениями возможно далеко не всегда.

Обобщённая структурная схема УА с жёсткой логикой имеет вид – рис. 2.

Рис. 2. Обобщённая структурная схема УА с жёсткой логикой

На рис. 2: X – множество входных сигналов автомата, Y – множество выходных сигналов, D – сигналы управления памятью, T – сигналы состояния.

УА состоит из 2-х функциональных блоков:

1.КС – комбинационная схема, формирующая выходные сигналы автомата и сигналы управления памятью.

2.Память автомата – просто набор триггеров (регистр). Кол-во триггеров n определяется кол-вом k требуемых состояний автомата. k определяется по-разному для разных автоматов. k равно ближайшему целому (в большую сторону) числу из значений выражения 2n. Т.е. n=]log2k[. Например, если у нас 5 состояний, то мы должны поставить 3 триггера (23=8>5), а если 8, то 4 (24=16>8).

Функционирование УА может задаваться графом переходов либо таблицами истинности. Можно описать его поведение и формулами: Y=ƒ1(X,T), D=ƒ2(X,T).

Очевидно, что при использовании одновходовых триггеров (D и Т) КС получается проще (для каждого триггера формировать надо только один сигнал вместо 2, как для RS или JK триггеров). На практике, если, например, в наличии есть только RS-триггеры, то можно несколько «схитрить», сделав D-триггеры из RS и синтезировать КС в расчёте на D.

Следует также отметить, что всегда следует применять триггеры с синхронизацией. Если использовать триггеры без синхронизации, например, асинхронные RS-триггеры, то полученный автомат будет «перещёлкивать» все свои состояния очень быстро, со скоростью, определяемой скоростью работы элементов, входящих в КС и самих триггеров. Кроме того, на выходе могут появляться какие-то другие, случайные и «незапланированные» комбинации состояний выходов.

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

УА с жёсткой логикой бывают 2-х видов – Мили и Мура.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]