Логический синтез автомата управления АЛУ
СОДЕРЖАНИЕ:
1. Задание.
2. Введение.
3. Алгоритм работы устройства управления.
3.1. Числовые примеры со всеми возможными вариантами.
3.2. Блок-схема алгоритма.
3.3.Автомат Мили.
4. Арифметико-логическое устройство (АЛУ).
5. Составление и минимизация
логических выражений для выходов автомата
Мили
6.1.Логический синтез
7. Заключение
1.Задание
Вариант № |
Операция |
Код |
Тип ЭКА |
Тип автомата |
10 |
Суммирование с плавающей |
Обратный |
RS-триггер |
Мили |
ЦЕЛЬ РАБОТЫ
Углубление и закрепление
2.Введение
Цифровые электронные вычислительные машины предназначены для обработки цифровой информации и являются частным, но наиболее распространенным видом цифровых автоматов. Для успешного изучения общих принципов обработки цифровой информации рационально, по возможности максимально, отвлечься от реального аппаратного обеспечения компьютера и рассматривать компьютер как абстрактный цифровой автомат, предназначенный для обработки информации, представленной в цифровой форме. Знания по прикладной теории таких автоматов необходимы для успешного поиска новых принципов построения компьютеров, совершенствования уже известных алгоритмов обработки цифровой информации, грамотной эксплуатации вычислительной техники и разработки различного программного обеспечения.
Для всего этого необходимы четкие знания арифметических и логических основ цифровых автоматов, принципов анализа и синтеза этих автоматов. Все это является теоретической основой специальных инженерных дисциплин по вычислительной технике.
3. Алгоритм работы устройства управления
3.1. Числовые примеры со всеми возможными вариантами
A = mq p ,
где m - мантисса числа, q - основание системы счисления, q p - порядок числа, который для упрощения в примерах будем иногда изображать как P. Тогда очевидно, что p - это показатель степени порядка, который обычно называют просто порядком числа, т.к. в основном всегда q = 2. Предыдущее выражение можно записать в следующем виде:
A = mAPA,
имея в виду, что в компьютерах обычно q = 2.
Так, например, число 1984 в форме с плавающей запятой в десятичной системе счисления можно записать следующим образом:
0 |
|
1984.010 |
0.1984104 |
19.84102 |
19840010-2 |
и т.д.
Число с плавающей запятой принято представлять в так называемом нормализованном виде для максимально точного представления числа. Если выполняется неравенство
q-1 |m| <1,
а в случае двоичной системы счисления:
0.5 |m| <1,
то считается, что число представлено в нормализованном виде. Например, 0,1984104 является нормализованным видом числа 1984 в форме с плавающей запятой в десятичной системе счисления.
Таким образом, у двоичного нормализованного числа в форме с плавающей запятой мантисса - правильная дробь и в старшем разряде мантиссы всегда стоит 1. Операция приведения числа к нормализованному виду называется нормализацией. Нормализация чисел в компьютере выполняется или автоматически или же по специальной программе.
Система счисления для заданного цифрового автомата остается постоянной, при представлении числа в формате с плавающей запятой нет необходимости указывать ее основание, достаточно лишь представить показатель степени порядка числа.
Для представления двоичного числа в форме с плавающей запятой в разрядной сетке, выделенной для этой цели, отводится по одному разряду для представления знака числа Sm и знака показателя степени порядка SP; определенное число разрядов для представления значения самого показателя p, а также разряды для размещения значения модуля мантиссы m. Например, возможен следующий вариант:
Sp p Sm m
т.е.
[A] = Sp pASmmA
Обычно в формате с плавающей запятой вместо показателя p используют так называемый "смещенный порядок":
r = p + l,
где l - избыток (смещение), значение которого подбирается таким образом, чтобы при изменении значения показателя от некоторого минимального значения -|pmax| до максимального +|pmax|, характеристика r менялась от 0 до rmax. Характеристика не меняет своего знака. В этом случае отпадает необходимость в отображении знака порядка Sp. Для этого принимается, что
l = 2k-1,
где k - число разрядов, выделенных для представления порядка числа в формате с плавающей запятой.
Тогда формат числа с плавающей запятой можно представить, в частности, следующим образом:
Sm r m
т.е.
[A] = Sm r mA
Такой формат и используется, в основном, в настоящее время.
Рассмотрим несколько примеров представления чисел в форме с плавающей запятой. Предварительно напомним, что показатель степени двойки в разрядах разрядной сетки длиной n, отведенной для представления целых чисел, изменяется от 0 до n-1, а в случае правильных дробных чисел - от -1 до -n.
Если для представления показателя порядка выделены 4 разряда, то
l = 23 = 810 = 10002. Для этого случая в таблице приведены значения показателя порядка, характеристики и мантиссы для некоторых чисел, представленных в форме с плавающей запятой.
Т а б л и ц а
A10 |
p10 |
r10 |
m2 |
0 |
0 |
8 |
0.0 |
1 |
1 |
9 |
0.1 |
2 |
2 |
10 |
0.1 |
3 |
2 |
10 |
0.11 |
0.5 |
0 |
8 |
0.1 |
0.25 |
-1 |
7 |
0.1 |
0.75 |
0 |
8 |
0.11 |
0.375 |
-1 |
7 |
0.11 |
Например, в 16-ти
разрядных компьютерах для
Разряды 147 старшего слова числа используются для представления характеристики числа. В остальных разрядах старшего слова и во всем младшем слове размещается модуль мантиссы числа. 15-й разряд старшего слова используется под знак числа.
Единица самого старшего разряда нормализованной мантиссы обычно является "скрытой", т.е подразумевается и не отражается в формате числа.
7-ой разряд
старшего слова, в котором
Таким образом,
мантисса в таком варианте отображается,
начиная с разряда, следующего после
самого старшего. При всех операциях
с мантиссой числа это
После завершения этих процедур во время формирования отображения нормализованного числа в отведенной для него разрядной сетке машинных слов, старшая единица мантиссы опять отбрасывается.
8-разрядное поле
порядка позволяет изменять
В отличие от показателя порядка, как уже отмечалось, характеристика не меняет своего знака и в данном случае изменяется от 0 (при p = -12810) до 3778 (при p = +12710), причем r = 2008 при p = 0. Исключение составляет число 0: ноль с обычной и двойной точностью выражается нулевой характеристикой и нулевой мантиссой.
Примеры представления чисел в форме с плавающей запятой в
16-разрядных
компьютерах приведены в
Т а б л и ц а
A10 |
15 |
14 |
13 |
12 |
11 |
10 |
9 |
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
A8 |
1 |
1 |
1 |
040200 | ||||||||||||||
2 |
1 |
1 |
040400 | ||||||||||||||
7 |
1 |
1 |
1 |
1 |
1 |
040740 | |||||||||||
10 |
1 |
1 |
1 |
041040 | |||||||||||||
0.5 |
1 |
040000 | |||||||||||||||
0.25 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
037600 | |||||||||
-2 |
1 |
1 |
1 |
140400 | |||||||||||||
-7 |
1 |
1 |
1 |
1 |
1 |
1 |
140740 | ||||||||||
0 |
000000 |
А8 - представление
старшего слова числа в форме
с плавающей запятой в
Во всех приведенных примерах содержимое младшего слова числа равно нулю. В случае представления числа с плавающей запятой с двойной точностью, под мантиссу отводится еще два 16-ти разрядных слова, т.е. для представления числа в такой форме отводится 4 16-ти разрядных слова.
Например, в микропроцессоре 80386 предусмотрено три варианта представления числа в форме с плавающей запятой: с разрядностью 32, 64 и 80 бит. В первом случае под характеристику выделяется 7 разрядов, а в остальных - по 8.
Длина разрядной сетки, выделенной под характеристику, определяет диапазон представления чисел в формате с плавающей запятой.
Как уже отмечалось, модуль мантиссы нормализованного числа - mА, представленного в формате с плавающей запятой лежит в пределах:
2-1 mА (1 - 2-n)
где n - число разрядов, выделенных для представления мантиссы числа А. Если для представления порядка (p) выделено k разрядов, то
pmin = -2k b pmax = (2k -1)
Тогда диапазон, в котором может быть представлено число в формате с плавающей запятой, будет равен:
2Pmin2-1 A (1 - 2-n)2Pmax
или
.
Основным преимуществом представления чисел в форме с плавающей запятой является большой диапазон машинных чисел и высокая точность их представления. Диапазон определяется длиной разрядной сетки, выделенной под характеристику, а точность - определяется длиной разрядной сетки, выделенной под мантиссу.
Структурные схемы двоичных сумматоров, предназначенных для выполнения алгераического сложения чисел представленных в обратном и дополнительном кодах приведены на рисунке в) и б) соответственно, а на рисунке а) - для арифметического сложения чисел, представленных в прямом коде. На этих рисунках символами Sg обозначаются значения знаковых битов операндов и результата.
а)
a1 |
SM |
c1 |
a2 |
SM |
c2 |
an |
SM |
cn |
Sga |
SM |
|
B1 |
b2 |
Bn |
||||||||
|
P0 |
P1 |
P2 |
Pn-1 |
|||||||
4 |
5 |
n |
б)
a1 |
SM |
c1 |
a2 |
SM |
c2 |
an |
SM |
cn |
Sga |
SM |
|
B1 |
b2 |
Bn |
Sgb |
|||||||
|
P0 |
P1 |
P2 |
Pn-1 |
Pn |
||||||
1 |
2 |
n |
в)
a1 |
SM |
c1 |
a2 |
SM |
c2 |
an |
SM |
cn |
Sga |
SM |
|
B1 |
b2 |
Bn |
Sgb |
|||||||
|
P0 |
P1 |
P2 |
Pn-1 |
Pn |
||||||
1 |
2 |
n |
При сложении двух чисел, представленных в обратном или дополнительном коде, их знаковые разряды складываются аналогично цифровым, причем возможен перенос единицы из старшего цифрового разряда в знаковый.
Если оба операнда представлены в прямом коде и имеют одинаковые знаки, то над такими операндами выполняется процедура сложения и результату присваивается знак исходных операндов.
Рассмотрим примеры:
1) 210 + 410 = 610
2) -210 - 410 = -610
0. 0010 а) 1. 1110 б) 1. 1101
+ 0. 0100 + 1. 1100 + 1. 1011
0. 0110 = 610 1 1. 1010 = -610 1 1. 1000
Во втором примере оба отрицательных слагаемых представлены либо в дополнительном коде (а), либо в обратном коде (б). В первом случае результат получен в дополнительном коде, а во втором, после коррекции, - в обратном.
Если же операнды имеют разные знаки, то должна выполняться процедура вычитания. Но, как уже отмечалось, процедуру вычитания заменяют процедурой сложения, отрицательный операнд представляют в обратном или дополнительном коде, а положительный операнд - в прямом коде.
Например:
1) 410 - 210 = 210
а) 0. 0100 б) 0. 0100
+ 1. 1110 + 1. 1101
1 0. 0010 = 210 1 0. 0001
2) 410 - 410 = 0
а) 0. 0100 б) 0. 0100
+ 1. 1100
1 0. 0000 = 010 1. 1111
1 0. 0000 = 010
3) 210 - 410 = -210
а) 0. 0010
+ 1. 1100
1. 1110
= -210
В примерах 1а и 2а единица, выходящая за разрядную сетку, не учитывается.
Как видно из примеров процедура алгебраического сложения с дополнительными кодами проще, чем с обратными кодами, т.к. в последнем случае при возникновении единицы переноса за пределы разрядной сетки, выделенной для числа в формате с фиксированной запятой, приходится корректировать результат с помощью дополнительной процедуры прибавления единицы к результату. Нулевой результат получается или в прямом коде или же в обратном, что также требует коррекции результата. Поэтому в настоящее время на практике для представления отрицательных операндов используется в основном дополнительный код.
Таким образом,
перед выполнением самой
Еще раз подчеркнем, что результат алгебраического сложения операндов представленных в обратном и дополнительном кодах получается также в обратном и дополнительном коде соответственно.
Алгебраическое сложение чисел, представленных в форме с плавающей запятой
Нужно подчеркнуть, что при выполнении любых арифметических действий над операндами, представленными в форме с плавающей запятой, операции, выполняемые над мантиссами и порядками (или характеристиками) этих чисел, различны. Поэтому перед началом любой арифметической процедуры каждый из операндов "расчленяется": порядок (характеристика) отделяется от мантиссы операнда, что-бы можно было над ними выполнять необходимые отдельные процедуры. После выполнения конкретного арифметического действия и обязательной процедуры нормализации результата, его порядок или характеристика и мантисса "упаковываются" в обычный формат с плавающей запятой.
В случае алгебраического сложения порядки операндов обязательно должны быть одинаковыми. Поэтому в начале процедуры сложения и вычитания чисел производится, при необходимости, выравнивание характеристик операндов. Для этого мантисса операнда с меньшей характеристикой сдвигается по разрядной сетке вправо с прибавление единицы к его характеристике при каждом сдвиге на один разряд. Эта процедура продолжается до тех пор пока характеристики обоих операндов не станут равными.
Полученная таким образом характеристика, одинаковая для обоих операндов, присваивается, как предварительная, результату операции. Далее осуществляется сложение или вычитание мантисс по правилам, аналогичным для чисел с фиксированной запятой, в частности мантисса одного из операндов преобразуется в дополнительный код для того чтобы процедуру вычитания свести к сложению. Если ответ получился в дополнительном коде, то его преобразуют в прямой, т.к. мантисса числа с плавающей запятой - это всегда модуль числа. Далее, при необходимости, выполняется нормализация и округление ответа. В процессе нормализации мантисса поразрядно сдвигается влево или вправо. При сдвиге влево на каждый разряд вычитается единица из характеристики, предварительно присвоенной ответу. При каждом сдвиге вправо - к ней прибавляется единица. Отметим, что сдвиг мантиссы вправо необходим в тех случаях, когда при сложении мантисс произошло переполнение разрядной сетки. В процессе этих последних операций определяются окончательные значения характеристики и мантиссы ответа.
Таким образом, операция нормализации числа состоит из проверки выполнения условия
0,12 m 1
и сдвига изображения мантиссы в ту или иную сторону с соответствующей коррекцией характеристики. Сдвиги могут осуществляться на один и более разрядов в левую сторону, или на один разряд в правую сторону в пределах разрядной сетки машины.
Нарушение нормализации может быть двух видов: нарушение справа, т.е. когда величина результата больше или равна 1, и слева, когда величина результата оказывается меньше 0,12.
Надо отметить, что при реализации алгоритмов математических операций в формате с плавающей запятой каждый раз, когда осуществляется та или иная процедура, затрагивающая характеристики операндов или результата, производится контроль над переполнением и исчезновением порядка, т.е. контролируется условие
0 r rmax ,
где rmax = l + pmax .
Рассмотрим пример:
Имеем 8-разрядную мантиссу и 6-разрядный порядок, смещение равно 10002. Сложим 2 числа с мантиссами m1 = 0,10100000, m2 = 0,10000000 и с характеристиками r1 = 001011, r2 = 001010. Т.к. порядки разные надо их выравнивать: r1 - r2 = 000001, значит надо сдвинуть m2 на 1 разряд вправо, а к r2 прибавить 1. После преобразований получим:
m2 = 0,01000000, r2 = 001010 + 000001 = 001011. Складываем мантиссы, получаем: m = m1 + m2 = 0,10100000 + 0,01000000 = 0,11100000, r = 001011.
Нормализация ответа не нужна.
Модифицированный прямой, обратный и дополнительный код
Эти коды отличаются от обычных прямых, обратных и дополнительных тем, что имеют по два знаковых разряда. При выполнении арифметических действий над двоичными числами эти два знака позволяют легко определить переполнение разрядной сетки. Если содержимое этих двух разрядов совпадает, то значит переполнение отсутствует. В противном случае в компьютере вырабатывается управляющий сигнал (сигнал переполнения) либо на останов компьютера, либо на устранение переполнения разрядной сетки.
Примеры.
1) Сложить два числа в модифицированном коде:
X = 00. 01012, Y = 00. 00112 , X + Y = 510 + 310 = 810
00. 0101
+ 00. 0011
00. 1000 = 810
2) Сложить X = -510 = -01012 = 11. 0101 , Y = -810 = -10002 = 11. 1000
X + Y = -1310
11. 1011
+ 11. 1000
1 11. 0011 = -1310
3) Сложить X = 0,1101 , Y = 0,1101, X + Y = 2610
00. 1101
+ 00. 1101
01. 1010 различные знаковые разряды
свидетельствуют о
4) -8 - 8 = 0
11. 1000
+ 11. 1000
1 11. 0000 .
В последнем
примере получился отрицательны
3.2. Блок-схема алгоритма
3.3.Автомат Мили
Абстрактный синтез включает в себя разработку алгоритма работы автомата и составление его формального описания в виде автоматных таблиц или в виде графа переходов. Алгоритм наиболее удобно и наглядно представлять в виде блок-схем. Разработка алгоритмов и блок-схем является наиболее творческой частью работы и плохо поддаётся формализации. По разработанной блок-схеме описание работы автомата проще всего составлять в виде графа переходов
Автомат Мили
yt = f1(xt, zt)
zt+1 = f2(xt, zt)
В автомате Мили выходной сигнал зависит не только от внутреннего состояния автомата, но и от входного сигнала, поэтому состояний можно задавать меньше, новое состояние наступает после выполнения одного или нескольких действий, выполняемых по разным условиям. В рассматриваемом нами примере (см. рис.1.) всего три состояния (g1*, g2*, g3*, обозначены знаком Ä). Граф переходов приведен на рис.
Граф переходов для автомата Мили строится подобно автомату Мура, только при переходах из одного состояния в другое по разным условиям выполняются различные операции (см. переход g0 ® g1 на рис.). Поэтому на дугах графа следует указывать и значения выходных сигналов.
4. Арифметико-логическое устройство (АЛУ)
Общая структура АЛУ сложения чисел с фиксированной точкой:

- Логическиое программирование
- Логическое высказывание
- Логическое завершение теории потребления и спроса
- Логическое и чувственное познание
- Логическое мышление
- Логическое отрицание и умножение
- Логическое программирование
- Логические ошибки и их причины
- Логические системы
- Логические функции
- Логические элементы и их электронные аналоги в компьютере
- Логический анализ и ошибки в регламентационных документах организации
- Логический анализ суждений как необходимой компонент познавательных учебных действий
- Логический метод Генделя