Смекни!
smekni.com

Деление без восстановления остатка со сдвигом остатка

СОДЕРЖАНИЕ


Введение…………………………………………………………………………...4 1. Разработкамикропрограммывыполненияоперации…………...……………5

    1. Представлениечисел с фиксированнойзапятой…………………………………………5

1.2 Обзор дополнительногокода числа……………………………………………………….5 1.3 Рассмотрениепроцесса выполненияоперации делениябез восстановления(8421)…..6 1.4 Структурнаясхема ОА………………………………………………………………..…..12 1.5 Разработкаграф-схемыалгоритма………………………………………………………12 1.6 Описаниемоделирующейпрограммы……………………………………...……………15 1.7 Оценка временивыполненияоперации иоценка аппаратныхзатрат ОА…………….15 1.8 Контрольвыполненияоперации деленияпо модулю…………………………………..16 2. Синтезуправляющегоавтомата……………………………………………...17

    1. Кодированиемикропрограммы………………………………………………………….17

2.2 Переход отначальногоязыка заданияавтомата кстандартномузаданию…………...18 2.3 СоставлениеструктурнойтаблицыМПА……………………………………………….18 2.4 Построениефункциональнойсхемы…………………………………………………….21 2.5 Расчет тактаработы управляющегоавтомата………………………………………….22 Заключение………………………………………………………………………23 Списоклитературы……………………………………………………………..24 ПриложениеА (графическийматериал)……………………………………….25 ПриложениеВ (моделирующаяпрограмма)…………………………………..26



ЗАДАНИЕ


Делениебез восстановленияостатка сосдвигом остатка

В формес фиксированнойзапятой: формат(1, 8)

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

Двоично-десятичнаясистема счисления(код 8421, 8421+6)

Контрольпо модулю

Синхронныйавтомат Мили

Логическийэлемент “ИЛИ-НЕ”

ТриггерJK-типа


Заданиевыдал І___ І_______ 2003г. Преподаватель:ШерстобитоваТ.М.

Заданиепринял І___ І_______ 2003г. Студент:Родионов С.В. .Специальность: 3704 Группа: ЭВМ 00-2 .

ВВЕДЕНИЕ


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

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

В данном курсовомпроекте описанпроцесс проектированияуправляющегоавтомата (УА),осуществляющийуправлениевыполненияоперации делениябез восстановленияв коде 8421, 8421+6. Курсоваяработа состоитиз двух разделов:разработкаалгоритмавыполненияоперации инепосредственносинтеза УА,реализующегоэтот алгоритм,а также программына языке программированияАссемблера,выполняющейоперацию деленияв коде 8421, 8421+6.

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


1. Разработкамикропрограммывыполненияоперации


  1. Представлениечисел с фиксированнойзапятой


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

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

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

В знаковуючасть записываетсяинформацияо знаке числа.Принято, чтознак положительногочисла "+" изображаетсясимволом 0, азнак отрицательногочисла " – "изображаетсясимволом 1.


1.2 Обзордополнительногокода числа


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

А - В = А + ( - В)


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

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


[A]пр= 0.an an-1 an-2.....a1 a0,


тогдачисло – А в этомже коде представляетсякак


[-A]пр= 1.an an-1 an-2.....a1 a0,


тогдачисло -Aв дополнительномкоде изображаетсяв виде


[-A]доп= [-A]об + 1


где


[-A]об =1.an an-1 an-2.....a1 a0,


где

ai= 1, если ai= 0,

ai= 0, если ai= 1,


ai– цифра i- того разрядадвоичногочисла. Следовательно,при переходеот прямого кодак обратномувсе цифры разрядовмантиссы числаинвертируются.

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

Дополнительныйкод некоторогочисла получаетсяего заменойна новое число,дополняющееего до числа,равного весуразряда, следующегоза самым старшимразрядом разряднойсетки, используемойдля представлениямантиссы числав формате сфиксированнойзапятой. Поэтомутакой код числаназываетсядополнительным.

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

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


1.3 Рассмотрениепроцесса выполненияоперации делениябез восстановленияв коде 8421,8421+6


a)Двоично-десятичнаясистема счисления:

Двоично-десятичныйкод (Д-код) десятичногочисла, это такоеего представление,в котором каждаядесятичнаяцифра изображаетсячетырьмя двоичнымиразрядами(тетрадой издвоичных символов):


A = {a4,n a3,n a2,na1,n}n {a4,n-1 a3,n-1 a2,n-1 a1,n-1}n-1 ... {a4,0 a3,0 a2,0 a1,0}0 ,


где

-двоичные разрядытетрады, i- номер разрядавнутри тетрады,j -номер самойтетрады.

Для однозначностиперевода чиселв Д-код и обратножелательно,чтобы разрядытетрад имелиопределенныйвес. Максимальноедопустимоечисло в тетраде- 9. Если возникаетчисло 10 и больше,то единицапереходит вследующуюстаршую тетраду.СуществуютразличныеД-коды, мы рассматримД-код, вес разрядов,тетрады которогоследующий: 8,4, 2, 1.

Десятичные

цифры

8421 8421(+6)
0 0000 0110
1 0001 0111
2 0010 1000
3 0011 1001
4 0100 1010
5 0101 1011
6 0110 1100
7 0111 1101
8 1000 1110
9 1001 1111


б) Свойствакода 8421

1) Коды 8421 и 8421(+6)взаимно дополняющиедруг друга, иэто свойствоиспользуетсяпри выполнениеалгебраическогосложения.


-3 = 1.0011 пк

1.1100 ок

1

1.1101 дк = | 7 |


1.1101 7 (8421)

1.1101 = 7 (8421(+6))


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

.

Следовательно,необходимоубрать разницу.Один из используемыхпри этом приемовсостоит в том,что во все цифровыететрады числав коде 8421 добавляется0110 и после этогопроизводитсяинвертированиенабора.

Полученноеизображениепредставляетсобой обратныйкод числа. Адополнительныйкод получается,как обычно,добавлением1 к младшемуразряду младшейтетрады.


2) Аддитивностьсистемы:

Сi= I1I2I3...In

Cj= J1J2J3...Jn

Eij= E1E2E3...En


Системасчисления 8421аддитивна

3= 0.0011

4= 0.0100

7= 0.0111


в) Алгебраическоесложение в коде8421,8421+6

Первый случай– если слагаемыететрады имеютодинаковыезнаки

А>0,В>0, е– ?

Aе– ?


+



Если приэтом был переносp =1, то выполняетсяК = 0

Если приэтом не былопереноса p= 0, то выполняетсяК = – 6


Второй случай– если слагаемыететрады имеютразличные знаки

А>0,В

A0


+



е

Если е> 0 и при этом былперенос p= 1, то выполняетсяК = 0,

Если е> 0 и при этом небыло переносаp =0, то выполняетсяК = – 6

Если е

Если е

г) Делениев коде 8421, 8421+6

1) Тетрадарассматриваетсякак единоецелое, и сдвигосуществляетсяна одну тетрадупосле формированияочереднойтетрады частного.

2) Для формированиятетрады частногоиз делимоговычитают делительдо тех пор, показнак остаткане изменитсяна противоположный.Если послеположительногоостатка получилиотрицательный,то он не восстанавливается,в следующуютетраду частногозаписывается9 и после сдвиганачинаетсяприбавлениеделителя, накаждый отрицательныйостаток изтекущей тетрадычастного отнимается1. При смене знакана положительныйв следующуютетраду частногозаписывается0 и на каждыйположительныйостаток в текущую тетраду частногоприбавляется1.

3) Появлениеостатка спротивоположнымзнаком являетсяпризнаком концаформированияочереднойтетрады частного,осуществляетсясдвиг остаткасразу на однутетраду. И переходятк формированиюследующейтетрады частного.

4) Каждоеалгебраическоесложение требуетсоответствующейкоррекции.

5) Пункты 2,3,4повторяютстолько раз,сколько нужнополучить тетрадв частном.


Реализацияпримера в десятичномвиде:

д.к.=9.4267


+

0.13570011

0.5733

9.4267

0 . 9 0 9 0

¬

+

9.56240011

5.62400110

-1+1-1 +1

-1+1-1 +1

0.5733

-1+1-1 +1

+ 6.19730110 -1 -1 +1
0.5733 -1 -1 +1
+ 6.77060110 -1 -1 +1
0.5733 -1 +1
+ 7.34390110 0 . 2 3 6 7
0.5733
+ 7.91720110
0.5733
+ 8.49050110
0.5733
+ 9.06380110
0.5733
+ 9.63710110
0.5733

¬

+

0.21040110

2.10401100


9.4267
+ 1.53071100
9.4267
+ 0.95741100
9.4267

+

0.38411100
9.4267

¬

+

9.81081100

8.10811000


0.5733
+ 8.68141000
0.5733
+ 9.25471000
0.5733
+ 9.82801000
0.5733

¬

+

0.40131000

4.01310000


9.4267
+ 3.43980000
9.4267
+ 2.86690000
9.4267
+ 2.29320000
9.4267
+ 1.71990000
9.4267
+ 1.14660000
9.4267
+ 0.57330000
9.4267

0.00000000


Реализацияпримера вдвоично-десятичномкоде 8421, 8421+6

д.к.1111101010001100 1101

+ 0000 0001 0011 0101 0111 0000 0000 0001 0001 0110 1011 1101 1001 1001
1111 1010 1000 1100 1101 0000 1001 0000 1001 0000
+ 1111 1011 1100 0010 0100

-0001+0001-0001+0001

1010 1010 1010 коррекция -0001+0001-0001+0001

¬

+

1001 0101 0110 0010 0100 0000 0000 0001 0001 -0001+0001-0001+0001
0101 0110 0010 0100 0000 0000 0001 0001 0000

-0001 -0001+0001

0110 1011 1101 1001 1001 -0001 -0001+0001
+ 1100 0001 1111 1101 1001 -0001 -0001+0001
1010 1010 1010 1010 коррекция -0001 +0001
+ 0110 0001 1001 0111 0011

0010 0011 0110 0111

0110 1011 1101 1001 1001
+ 1100 1101 0111 0000 1100
1010 1010 1010 коррекция
+ 0110 0111 0111 0000 0110
0110 1011 1101 1001 1001
+ 1101 0011 0100 1001 1111
1010 1010 1010 коррекция
+ 0111 0011 0100 0011 1001
0110 1011 1101 1001 1001
+ 1101 1111 0001 1101 0010
1010 1010 1010 коррекция
+ 0111 1001 0001 0111 0010
0110 1011 1101 1001 1001
+ 1110 0100 1111 0000 1011
1010 1010 1010 коррекция
+ 1000 0100 1001 0000 0101
0110 1011 1101 1001 1001
+ 1111 0000 0110 1001 1110
1010 1010 1010 коррекция
+ 1001 0000 0110 0011 1000
0110 1011 1101 1001 1001
+ 1111 1100 0011 1101 0001
1010 1010 1010 коррекция
+ 1001 0110 0011 0111 0001
0110 1011 1101 1001 1001
+ 0000 0010 0001 0000 1010
1010 коррекция

¬

+

0000 0010 0001 0000 0100 0000 0001 0001 0000

0010 0001 0000 0100 0000 0001 0001 0000 0000


1111 1010 1000 1100 1101
+ 0001 1011 1001 0000 1101
1010 1010 1010 коррекция
+ 0001 0101 0011 0000 0111
1111 1010 1000 1100 1101
+ 0000 1111 1011 1101 0100
1010 1010 1010 коррекция
+

0000 1001 0101 0111 0100


1111 1010 1000 1100 1101
+ 0000 0011 1110 0100 0001
1010 коррекция
+ 0000 0011 1000 0100 0001
1111 1010 1000 1100 1101
+ 1111 1110 0001 0000 1110
1010 1010 1010 коррекция

¬

+

1001 1000 0001 0000 1000 0001 0001 0000 0000

1000 0001 0000 1000 0001 0001 0000 0000 0000


0110 1011 1101 1001 1001
+ 1110 1100 1110 0001 1010
1010 1010 1010 1010 коррекция
+ 1000 0110 1000 0001 0100
0110 1011 1101 1001 1001
+ 1111 0010 0101 0101 1101
1010 1010 1010 коррекция
+ 1001 0010 0101 0100 0111
0110 1011 1101 1001 1001
+ 1111 1110 0010 1110 0000
1010 1010 1010 коррекция
+ 1001 1000 0010 1000 0000

0110 1011 1101 1001 1001


+ 0000 0100 0000 0001 1001
1010 коррекция

¬

+

0000 0100 0000 0001 0011 0001 0000 0000 0000

0100 0000 0001 0011 0001 0000 0000 0000 0000


1111 1010 1000 1100 1101
+ 0011 1010 1001 1111 1110
1010 1010 1010 1010 коррекция
+ 0011 0100 0011 1001 1000
1111 1010 1000 1100 1101
+ 0010 1110 1100 0110 0101
1010 1010 коррекция
+ 0010 1000 0110 0110 0101
1111 1010 1000 1100 1101
+ 0010 0010 1111 0011 0010
1010 коррекция
+ 0010 0010 1001 0011 0010
1111 1010 1000 1100 1101
+ 0001 1101 0001 1111 1111
1010 1010 1010 коррекция
+ 0001 0111 0001 1001 1001
1111 1010 1000 1100 1101
+

0001 0001 1010 0110 0110


1010 коррекция
+ 0001 0001 0100 0110 0110
1111 1010 1000 1100 1101
+ 0000 1011 1101 0011 0011
1010 1010 коррекция
+ 0000 0101 0111 0011 0011

1111 1010 1000 1100 1101



0000 0000 0000 0000 0000


  1. Структурнаясхема ОА

(ПриложениеА, лист № 1 )

Дляреализациипредложенногоалгоритмавыполненияоперации делениянеобходимыследующиеоперационныеэлементы:

  1. Рг.А(0-19) –регистр делителя:4р.- знак, 16р.- мантиссаделителя.

  2. СМ (0-43) – сумматор:4р.- знак, 32р.- мантиссаделимого,

4р.- переносы.

3)Рг.В(0-19) – регистрчастного: 4р.-знак, 16р.- мантиссачастного.

4)регистр Рг.К(0-3)– регистр коррекции.

5) счетчикСч.1 - этот счетчикнеобходим дляформированиятетрады частного.

6) счетчикСч.2 - этот счетчикнеобходим длявыхода из цикладеления, выходбудет осуществленпосле того, какбудут пройденывсе тетрады.

7) счетчикСч.3 - этот счетчикнеобходим длявыхода из коррекции.


1.5Разработкаграф-схемыалгоритма (ГСА)

(ПриложениеА, лист № 2,3)

Дляреализациилюбой арифметическойоперации необходимознать алгоритмее выполнения,ниже приводитсяалгоритм операцииделения чиселс фиксированнойзапятой в коде8421, 8421+6. Если блокивыполняютсяпоследовательно,то ссылки наследующий блокне приводятся.


Таблица 1 -Определениеблоков

Номер блока
Назначение

A00(Л2)

Начало.

B00(Л2)

Начальнаяустановка:

СМ:=X,Рг.А:=Y, Сч1:=0, Сч2:=0,Сч3:=0, Рг.K:="1010".

C00(Л2)

Определяемзнак частногопутем сложениязнаковых разрядовделимого иделителя помодулю два изаносим егов Рг.B[16-19].

D00(Л2)

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

F00(Л2)

ПроверяемСМ[40-43]=0000, если Дато на G00(Л2),иначе на B00(Л3).

G00(Л2)

Программаобработкипрерываний(АВОСТ).

Выдачасообщения опереполнение.

B00(Л3)

ПроверяемСМ[22,23]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD00(Л3),иначе на C01(Л3).

C01(Л3)

ПроверяемСМ[21,23]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD00(Л3),иначе на E00(Л3).

D00(Л3)

Коррекция:СМ[20-23]:=СМ[20-23] + Рг.К[0-3].

E00(Л3)

ПроверяемСМ[27,28]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наG00(Л3),иначе на F01(Л3).

F01(Л3)

ПроверяемСМ[26,28]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наG00(Л3),иначе на B02(Л3).

G00(Л3)

Коррекция:СМ[25-28]:=СМ[25-28] + Рг.К[0-3].

B02(Л3)

ПроверяемСМ[32,33]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD02(Л3),иначе на C03(Л3).

C03(Л3)

ПроверяемСМ[31,33]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD02(Л3),иначе на E02(Л3).

D02(Л3)

Коррекция:СМ[30-33]:=СМ[30-33] + Рг.К[0-3].

E02(Л3)

ПроверяемСМ[37,38]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наG02(Л3),иначе на F03(Л3).

F03(Л3)

ПроверяемСМ[36,38]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наG02(Л3),иначе на B04(Л3).

G02(Л3)

Коррекция:СМ[35-38]:=СМ[35-38] + Рг.К[0-3].

B04(Л3)

ПроверяемСМ[42,43]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD04(Л3),иначе на C05(Л3).

C05(Л3)

ПроверяемСМ[41,43]=11, т.е. на наличиезапрещенныхкомбинаций,если Да то наD04(Л3),иначе на E04(Л3).

D04(Л3)

Коррекция:СМ[40-43]:=СМ[40-43] + Рг.К[0-3].

E04(Л3)

ПроверяемСч.3=0, если Да,то переходимна B04(Л2),иначе на F05(Л3).

F05(Л3)

ПроверяемСч.3=1, если Да,то переходимна B02(Л2),иначе на B06(Л2).

B04(Л2)

Сдвигаемрегистр СМвлево на 5 разрядов.

ВСч.1 заносим9.

C04(Л2)

Сч.1:=9.

D04(Л2)

Сложениеделимого иделителя, делительв прямом коде.

F04(Л2)

Сч.3:=1.

Переходна коррекцию.

B02(Л2)

ПроверяемСМ[40-43]=0000, если Дато на C02(Л2),иначе на C03(Л2).

C03(Л2)

ДекрементСч1 (отнимаемот текущейтетрады частного1).

C02(Л2)

ИнкрементСч.2 (переходк следущейтетраде частного).

ПрисваиваемРг.В[0-3] значениеСч1.

Сдвигаемрегистр Рг.Ввлево на 4 разряда.

D02(Л2)

Сдвигаемрегистр СМвлево на 5 разрядов.

ВСч.1 заносим1.

E02(Л2)

Сложениеделимого иделителя, делительв дополнительномкоде.

G02(Л2)

Сч.3:=2.

Переходна коррекцию.

B06(Л2)

ПроверяемСМ[40-43]=0000, если Дато на C06(Л2),иначе на C07(Л2).

C06(Л2)

ИнкрементСч1 (прибавляемк текущей тетрадечастного 1).

C07(Л2)

ИнкрементСч.2 (переходк следущейтетраде частного).

ПрисваиваемРг.В[0-3] значениеСч1.

Сдвигаемрегистр Рг.Ввлево на 4 разряда.

D07(Л2)

ПроверяемСч.2=0, если Да тона E07(Л2),иначе на C04(Л2).

E07(Л2)

Выводимчастное, т.е.Z:=Рг.В.

F07(Л2)

Конец.

1.6 Описаниемоделирующейпрограммы

(ПриложениеВ)

Программаоперации делениябез восстановленияостатка сосдвигом остаткас фиксированнойточкой в коде8421, 8421+6 выполненана языке программированияассемблера.В моделирующейпрограмме регистрамиРг.А, Рг.В, Рг.К,а так же счетчикамиСЧ.1 и СЧ.2 СЧ.3 являютсярегистры самойЭВМ и оперативнаяпамять.


Описаниепрограммыпострочно:

1– 22 – Связываниеданных с сегментомданных DS,очистка экрана,приглашениек вводу двухчисел, записьвведенных чиселпо адресам всегменте данных.

23 –28 – Вычислениезнака частного.

29– 72 – Вычислениеколичестватетрад, подготовкапод знак целойтетрады, вызовпроцедурпреобразованияиз ASCIIв байты делимогои делителя,пробное сложение,проверка напереполнение.

73 –79 – Вывод сообщенияо переполнениии переход навыход из программы.

80– 103 – Вызов процедурыпреобразованияконечногорезультатаиз байта в ASCII,вывод знаковогоразряда и выводрезультата,стандартныйвыход из программы.

104 – 131 – Процедураперевода делимогоиз ASCII в BIN.

132 – 159 – Процедураперевода делимогоиз ASCII в BIN.

160 –176 – Процедураперевода делителяв дополнительныйкод.

177 –243 – Процедурасложения тетрадделимого иделителя сучетом возникающихмежтетрадныхпереносов,процедурапроверки накоррекцию.

244– 267 – Процедураперевода конечногорезультатаиз байта в ASCII.

268 –277 – Описаниесегмента данных,закрытие кодовогосегмента.


  1. Оценкавремени выполненияоперации иоценка аппаратныхзатрат ОА


Времявыполненияоперации определяетсяформулой:

Топ. дел.= к*Т’

Т’= Lср.*Топ.сл.+ 4tсдв.

Топ.сл.= tсл.+tсл.*pкор.

Lср.=5,5 – среднееколичествошагов, т.к. самоеминимальноезначение = l,а максимальноезначение = 10.

pкор=вероятностькоррекции, для8421 равна 0,5

tсл.=4*tсдв.


Т=к(L*Tсл.+ 4tсдв.)=к(5,5Тсл.+ 4tсдв.)= 8(5,5*1,5*4*tсдв.+ 4*tсдв.)=

=8(37tсдв.)=296tсдв.

к=8, т.к. нужновычислить 8тетрад.


Оценкааппаратныхзатрат осуществляетсяпутем подсчетаразрядов вэлементах,участвующихв операцииделения:

Q=Q(Рг.А(0-19))+Q(Рг.В(0-19))+Q(Рг.К(0-3))+Q(СМ(0-43))+Q(Сч.1(0-3))+Q(Сч.2(0-1))+Q(Сч.3(0-1))=20+20+4+44+4+2+2=96


1.8Контроль выполненияоперации деленияпо модулю


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

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

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

  1. непосредственноеделение суммыцифр на модуль;

2) простосуммированиецифр по выбранномумодулю.

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

Приэтом к модулюпредставляютследующие общиетребования:

  1. Модульдолжен обеспечиватьобнаружение,как можно большегочисла ошибок,при обязательномобнаруженииодиночныхошибок .

  2. Модульдолжен бытьтаким, чтобыостаток отделения нанего числаопределялсяпростым и быстрымметодом безнепосредственногоделения.

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

2. СИНТЕЗУПРАВЛЯЮЩЕГОАВТОМАТА


    1. Кодированиемикропрограммы


В этом пунктеосуществляетсяпереход непосредственнок синтезумикропрограммногоавтомата пограф схемеалгоритма(ГСА).

Начатьследует с синтезаабстрактногоавтомата, которыйосуществляетсяпо кодированнойГСА. КодированнаяГСА получаетсяпутём пометкикаждой вершиныв содержательнойГСА.

Чтобы получитьотмеченнуюГСА для абстрактногоавтомата Мили,необходимовоспользоватьсяследующимиправилами:

1) Начальнаяи конечнаявершины обозначаютсясимволами а0;

2) Вход каждойвершины следуяза операторомотмечается а1, а2, и т.д.;

3) Каждая операторнаявершина отмечаетсяне более одногораза.

Врезультатеполучаем алфавитсостояний А= { а12,... , аm}.

Используяэти правила,создаем таблицудля кодированнойГСА(см. Таблицу2).


Таблица 2 - Кодированиеблоков


ОБ и ЛУ

Условныеобозначения

СМ:=X, Рг.А:=Y,Сч1:=0, Сч2:=0, Сч3:=0,

Рг.K:="1010"

Y1

СМ[40-43]:=СМ[40-43]+ Рг.А[16-19]

Рг.B[16-19]:=СМ[40-43]

Y2

СМ[20-23]:=СМ[20-23]+ Рг.А[0-3] + ''1" [20]

СМ[25-28]:=СМ[25-28]+ Рг.А[4-7] + ''1" [25]

СМ[30-33]:=СМ[30-33]+ Рг.А[8-11] + ''1" [30]

СМ[35-38]:=СМ[35-38]+ Рг.А[12-15] + ''1" [35]

СМ[40-43]:=СМ[40-43]+ Рг.А[16-19] + ''1" [40]

Y3

ПрограммаОбработкиПрерываний Y4
СМ[20-23]:=СМ[20-23]+ Рг.К[0-3]

Y5

СМ[25-28]:=СМ[25-28]+ Рг.К[0-3]

Y6

СМ[30-33]:=СМ[30-33]+ Рг.К[0-3]

Y7

СМ[35-38]:=СМ[35-38]+ Рг.К[0-3]

Y8

СМ[40-43]:=СМ[40-43]+ Рг.К[0-3]

Y9

СМ:=L(5)СМ Y10
Сч.1:="9" Y11

СМ[20-23]:=СМ[20-23]+ Рг.А[0-3]

СМ[25-28]:=СМ[25-28]+ Рг.А[4-7]

СМ[30-33]:=СМ[30-33]+ Рг.А[8-11]

СМ[35-38]:=СМ[35-38]+ Рг.А[12-15]

СМ[40-43]:=СМ[40-43]+ Рг.А[16-19]

Y12

Сч.3:= 1

Y13

Сч.2:=Сч.2+1

Рг.В[0-3]:=Сч1

Рг.В:=L(4)Рг.В

Y14

Сч.1:=Сч.1-1

Y15

СМ:=L(5)СМ

Сч1:=0

Y16

Сч.3:=2

Y17

Сч.1:=Сч.1+1

Y18

Z:=Рг.В

Y19

СМ[40-43]=0000

X1

СМ[22,23]=11

X2

СМ[21,23]=11

X3

СМ[27,28]=11

X4

СМ[26,28]=11

X5

СМ[32,33]=11

X6

СМ[31,23]=11

X7

СМ[37,38]=11

X8

СМ[36,38]=11

X9

СМ[42,43]=11

X10

СМ[41,43]=11

X11

СЧ.3=0

X12

СЧ.3=1

X13

СЧ.2=0

X14


2.2Переход отначальногоязыка заданияавтомата

к стандартномузаданию


В отмеченнойГСА путем переходамежду состояниямиаm иаs, называетсяпоследовательностьследующеговида:

- обозначениевершины, изкоторой осуществляетсяпереход;

- вершина,в которуюосуществляетсяпереход;

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

Иногдавозможно итакое что, когдаK = 0 (нет ни однойусловной вершины),в этом случаепуть имеет вид

.

Любой графмикропрограммногоавтомата Милиобычно задаетсяв виде прямойили обратнойтаблицы переходов.

Выписываяпути переходадля нашей ГСА,составляемтаблицу переходовдля микропрограммногоавтомата Мили.


2.3 Составлениеструктурнойтаблицы МПА


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

аM– исходноесостояние

KM)– двоичный кодисходногосостояния

аS– входной сигнал,под воздействиемкоторого происходитпереход изсостояния AMв состояниеAS

KS)– двоичный кодсостоянияперехода

XMS)– входной сигнал,соответствующийданному переходу

YMS)– выходнойсигнал, соответствующийданному переходу

FMS)– обязательныесигналы возбужденияпамяти, необходимыедля переключенияМПА из состоянияAMв состояниеAS

Коды состоянийK(am)и K(as)будем кодироватьдвоичной системойсчисления.Всего у нас 20состояний, аэто значит, чтодля кодированиянам необходимои достаточно5-х разрядногочисла, т.е. используем5 JK-триггеров.


Таблица3 - Структурнаятаблица МПА


аM

K(аM)

аS

K(аS)

X(аM,аS)

Y(аM,аS)

F(аM,аS)

a0 00000 a1 00001 1 J5
a1 00001 a2 00011 1 y1 J4
a2 00011 a3 00010 1 y2 K5
a3 00010 a4 00100 1 y3 J3,K4
a4 00100 a0 00000 x1 y3 K3
a4 00100 a5 00110

1
J4
a5 00110 a6 00111 x2 y5 J5
a5 00110 a6 00111

2,x3
y5 J5
a5 00110 a6 00111

2,
3
J5
a6 00111 a7 00101 x4 y6 K4
a6 00111 a7 00101

4,x5
y6 K4
a6 00111 a7 00101

4,
5
K4
a7 00101 a8 01101 x6 y7 J2
a7 00101 a8 01101

6,x7
y7 J2
a7 00101 a8 01101

6,
7
J2
a8 01101 a9 01100 x8 y8 K5
a8 01101 a9 01100

8,x9
y8 K5
a8 01101 a9 01100

8,
9
K5
a9 01100 a10 01000 x10 y9 K3
a9 01100 a10 01000

10,x11
y9 K3
a9 01100 a10 01000

10,
11
K3
a10 01000 a11 01010 x12 y10 J2
a10 01000 a14 11010

12,x13,x1
y14 J1,J4
a10 01000 a12 01011

12,x13,
1
y15 J2,J1
a10 01000 a15 11100

12,
13,x1
y18 J1,J3
a10 01000 a17 11000

12,
13,
1
y14 J1
a11 01010 a12 01011 1 y17 J5
a12 01011 a13 01111 1 y12 J3
a13 01111 a5 00110 1 y16 K2,K5
a14 11010 a15 11100 1 y16 J3,K4
a15 11100 a16 11110 1 y3 J4
a16 11110 a5 00110 1 y17 K1,K2
a17 11000 a0 00000 x14 y19 K1,K2
a17 11000 a11 01010

14
K1, J4

Составлениевыраженийфункций возбужденияавтомата:

J5=

J4=

J3=

J2=

J1=

K5=

K4=

K3=

K2=

K1=


Переведемфункции возбужденияв свой базис“ИЛИ-НЕ”:

J5=

J4=

J3=

J2=

J1=

K5=

K4=

K3=

K2=

K1=

2.4 Построениефункциональнойсхемы

(ПриложениеА, лист № 5 )

Функциональнуюсхему управляющегоавтомата согласнозаданию надопостроить вбазисе "ИЛИ- НЕ", т.е. используя логическиеэлементы "ИЛИ- НЕ".

Используявыраженияфункций возбуждения,спроектируемфункциональнуюсхему Управляющегоавтомата Милис элементамипамяти на JK– триггерах.

Для получениясигналов J1-J5и K1-K5,мы используемпрямые и инверсныесостояния x,которые подаютсяна шину X,и, используя логическиеэлементы "ИЛИ- НЕ" на шину

соответственно.

Согласнорасчетам ивычислениям,проведеннымвыше, наш автоматимеет 20 состояний,это значит, чтодля получениятребуемыхсигналов внашей схемепонадобитсядешифраторсостояний (a0– a19).Затем для удобстваи читаемостисхемы, полученныесигналы подаютсяна шину А. С шиныА, используя логическиеэлементы "ИЛИ- НЕ", получаеминверсныесостояния

(а0-а19),которые выводимна шину

.

Приступаемнепосредственнок формированиюсигналов возбуждениядля этого полученныенами сигналыс шин А и

,Х и
подаютсяна элементы"ИЛИ - НЕ", послечего они проходятстадию обработки,на которойполучаютсянужные намсигналы J1-J5и K1-K5.Далее эти сигналыпоступают навходы пяти JKтриггеров, врезультатечего мы имеемсформированныесигналы Q1-Q5и их инверсныесостояния,которые в своюочередь образуютшину Qи подаются наначало функциональнойсхемы, где будутзаново участвоватьв формированиисигналов.

Для получениявыходных сигналов,мы используемполученнуюнами шину А, врезультатечего получаемвыходную шинуУ.

JK-триггери его характеристики:




2.5 Расчет тактаработы управляющегоавтомата


Тактработы УА зависитот законафункционированияи структурыавтомата. Вавтомате Милипереключениесостояния УАпроисходитв конце тактапосле выдачивыходных сигналовв соответствиисо значениямипоступившихвыходных сигналовиз ОА. В связис этим тактработы управляющегоавтомата,функционирующегокак автоматМили, определяетсяпо формуле:

Т=Туп+Tв

где

Тв=40нс - максимальноевремя формированиявыходных сигналов,

Тп=80нс - время переключенияпамяти состояний.

Ту=20нс - время надешифрированиесостояний,


Такимобразом:

Т=40+80+20=140нс

Частота


ЗАКЛЮЧЕНИЕ


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

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

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

Сравниваявсе изученныемною методыделения, я сделалдля себя вывод,что на сегодняшнийдень наиболеераспространеннымиметодами являются:деление свосстановлениемсо сдвигомостатка, делениебез восстановлениясо сдвигомделителя. Нов то же времясамый оптимальныйвариант - делениебез восстановлениясо сдвигомостатка. А самоебыстродействующееделение безвосстановлениясо сдвигомделителя, таккак сдвиг делителяможно совместитьво времени сосложением.


Список литературы


1.Савельев А.Я. Арифметическиеи логическиеосновы цифровыхавтоматов.

- М.:Высшая школа, 1980.

  1. СавельевА.Я. Прикладнаятеория цифровыхавтоматов. -М.: Высшая школа,1987.

  2. АйтхожаеваЕ.Ш. ПроектированиеУправляющегоавтомата. - А.:КазПТИ,

1987.

4. АйтхожаеваЕ.Ж. Прикладнаятеория цифровыхавтоматов.Алматы: 1993.


ПРИЛОЖЕНИЕA


ПРИЛОЖЕНИЕВ