Жылжымалы үтірлі сандарды бөлу операциясын орындайтын басқарушы автомат жобалау


Кіріспе
Бұл курстық жобада жылжымалы үтірлі сандарды бөлу операциясын орындайтын басқарушы автомат синтезделеді. Тексеру модуль бойынша жүргізіледі. Негізгі мақсаты - БА-тың функционалдық сұлбасын құру. Функционалдық сұлбаны құру үшін “ЖӘНЕ-НЕМЕСЕ” логикалық элементтер және жады элементі ретінде Т триггер қолданылады.
Курстық жоба 2 бөлімнен тұрады: операция орындалуының алгоритмін құру және осы алгоритмді жүзеге асыратын БА синтездеу. Сонымен қатар, осы тәсілді жүзеге асыратын программа жазу керек.
1. 1Жылжымалы үтірлі сандарды бөлуге мысал.
[В] ТУРА =1 1110 001001
[А] ТУРА =0 1100 101101
Шешеуі:
а) бөлiндінің таңбасын анықтаймыз:
Т1+Т2=0+1=1
б) Реттерін есептейміз:
Р А * = 1110
+
P В * = 0100
P А * +Р В * = 0010
+
түзету 1000 [-C] ҚОС
P А-В * = 1010
в) Мантиcсаларды көбейтеміз:
М А =000101
/
M В =101101
101101 1001 [B] керi= 0111
0111 1 0 1
1 001001
010010
0111
0 101110
1001
1 010010
100100
0111
1
г) Нәтижені қалыптастырамыз.
Нәтиже:
А/В=1 1010 101000
1. 2 Операциялы автоматтың құрылымы .
Операциялық автоматты құру үшін Т тригерін және “И - ИЛИ” логткалық элементтерін пайдаландық. Осы элементтер арқылы Мили автоиатының құрылымын құрдық. Операциялық автоматтың құрылымын анықтау үшін қажет ригистрлердің санын және олардың разрядтылығын анықтау керек. Берілген алгоритмді пайдаланып, көбейтуді орындау үшін мыналар қажет болады:
- Бірінші көбейткішке арналған алты разрядты бір регистр.
- Екінші көбейткішке арналған алты разрядты бір регистр.
- Көбейтіндіге арналған он екі разрядты бір регистр.
- Он екі разрядты сумматор.
- Бірінші ретке арналған төрт разрядты регистр.
- Екінші ретке арналған төрт разрядты регистр.
- Төрт разрядты сумматор.
- Алты разрядты счетчик
1. 3 Программаның сипаттамасы
Програма, Delphi программалау тілінде жазылған. Бұл программаның аты DIV. Программаны орындау үшін DIV_PR_K. exe файлын іске қосу керек. Программа арнайы процедураларды шақыру арқылы орындалады.
Программаның листингісі А-қосымшасында келтірілген.
Программада қолданылданылған процедуралар:
Draw процедурасы
Solve процедурасы
Inv процедурасы
Add процедурасы
Valu процедурасы
Proc процедурасы
Norm процедурасы
1. 4 Қолданушыға нұсқау
Бұл программаны жұмыс істету DIV_PR_K. exe файылына тышқаншаны қойыпсол пернесiн басып ашамыз. Экранға терезе шығады сол терезеде автоматтың құрлымдық сұлбасы болады соған мәндер берiп эмуляция деген пернешенi басып мәндердiң бөлiмiн аламыз . Немесе адымдап бөлу операциясын орындауға болады оны блок-сұлбаға қарап iстеуге болады.
1. 5Программаның алгоритмі
1. 7Операция
орныдалуының уақытын және операциялық автоматтың (ОА) аппараттық шығындарын есептеу.
Операция орындалуының уақыты - уақыт бірлігімен есептелнеді, себебі операцияның орындалуы қосу және жылжыту микрооперациялардың орындалуынан тұрады. Сонымен уақыттың шартты бірлігі деп, бір екілік разрядқа (τ ж ) жылжыту микрооперациясын орындауға кеткен уаөытты айтамыз. Сонымен қосу микрооперациясын орындауға кеткен уақыт төрт жылжыту операцияларға тең болады:
τ қосу = 4τ ж .
Операциялық автоматта операцияны орындауға кеткен уақыт мынаған тең болады:
τ қосу = τ қосу + Р к τ қосу .
Р к - түзетулер ықтималдығы. Р n =0, 5.
Т қосу = 4τ ж + 0, 5⋅4τ ж = 6τ ж .
Ақпараттық шығындар.
Q ОА = Q Рг1 + Q Рг2 + Q Рг3 + Q СМ = 6 + 6 + 12 + 12 + 4 + 4 + 4 +6=54ж. э.
ОА-ның ақпараттық шығандар жады элементінің шартты бірлігімен яғни, тригерлермен есептелнеді. Бұл кезде логикалық элементтер ескерілмейді.
1. 7 Операция орындалуын бақылау.
Модуль бойынша бақылауда сан кодына қосымша бақылау разрядтары енгізіледі. Олраға берілген белгілі бүтін санға бөлу жолымен алынған қалдық жазылады. Мүндай кодта машиналық сан шартты түрде бүтін сан түрде қаралады. Берілген ақпараттармен қандай операция жүргізілсе қалдықтармен сондай операциялар жүргізіледі. Қалдықтармен жүргізілген операциялар нәтижесі бақылауға тиісті операция нәтижесінде берілген модульге бөліну арқылы алынған қалдыққа тең болу керек. Қалдықтар (Р) бір - бірімен тең болмаса, онда ол жіберілген қателік белгісі болып табылады. Бұл тәсілмен модуль мөлшері не еселі емес барлық қателерді табуға болады.
Модуль мөлшеріне мынандай талаптар қойылады: 1. модульдің көптеген қателерді табу мүмкіндігі болу керек; 2. қалдық бөлу амалы орындалуын талап етпейтін қарапайым жолмен табылуы керек; 3. модуль мөлшері және ол арқылы алынған қалдық разрядтылығы үлкен болмау керек.
А = 0. 1110 0100
В = 1. 1010 0100
Z = 1. 1001
X (mod 3) = 01
11
00
1
01
Y( mod3 ) = 10
01
11
Z( mod3 ) = 01
11
00
1
01
Z=10
11
01
1
10
10
00
1
01
Z(mod15) =Z
2. Басқару автоматын синтездеу.
2. 1 Микропрограмманы кодалау .
Алгоритмнің граф схемасы (АГС) бойынша микропрограммалық автоматты синтездеуге көшейік. Мили автоматын синтездеу кезінде белгіленген АГС алу былай жүзеге асырылады: а) бастапқыдан кейінгі төбенің кірісімен соңғы төбе кірісі а 1 сигналымен белгіленеді; б) операциялық төбелерден кейінгі төбелер кірісі а 2 , а 3 , . . . , а n белгіленеді . ; в) белгіленітін төбелердің кірістері әртүрлі символдармен белгіленеді және бір реттен артық емес. Пайдаланатын символдар санын синтезделінетін автоматтың А= { а 1 , а 2 , . . . , а n } күйлер алфавиті анықтайды.
Жоғарыда айтылған ережелерді пайдаланып, белгіленген ГСА - ны аламыз (қосымша Б)
a1Y1a2
a2X15X16Y2a3
a2X15X16x7Y3a3
a2X15X16Y3a3
a2X7X8X15X16Y3a1
a3X13Y4a4
a4X14Y5a5
a4X14Y6a5
a5X5Y7a6
a5X5Y8a6
a6X9X0X1a7
a6X9X0X1Y9a7
a6X9X0X1Y10a7
a6X9X0X1Y11a7
a6X9X1X0Y12a7
a6X9X1X0Y13a7
a6X9X1X0Y14a7
a6X9X1X0Y15a7
a7Y16a8
a8X12a6
a8X12X8Y17a9
a8X12X8X4Y18a9
a8X12X8X4Y19a1
a9X4Y19a1
2. 2 Микропрограммалық автоматтың құрылымдық кестесін құру
Берілген типті автоматты синтездеу үшін берілген АГС бойынша құрылған МПА - ның құрылымдық тура кестесін құру керек. Бұл жағдайда Мили МПА - ның көшу кестесінде жеті бағана болады: а м - бастапқы күй; к(а м ) - бастапқы күйінің екілік коды; х(а м , а s ) - а м күйінен а s күйіне көшуге себепші болатын енгізу сигналы. Y(а м , а s ) - берідген көшуге сәйкес шығару сигналы; F(а м , а s ) - МПА - ны а м күйінен а s күйіне көшіруге қажетті жады элементтерінің қозу сигналдары.
2-кесте
2-кесте бойынша автоматтың қозу функцияларын жазамыз:
T1=a1∨a2X15X16∨a2X15X16x7∨a2X15X16X7X8∨a2X15X16X7X8∨a3X13∨a4X14∨a4X14∨a5X5∨a5X5∨a6X9X0X1∨a6X9X0X1∨a6X9X0X1∨a6X9X0X1∨a6X9X1X0∨a6X9X1X0∨a6X9X1X07∨a6X9X1X0=a1∨a2X15X16∨a3X13∨a4∨a5∨a6∨a7∨a8x12
T2=a2X15X16∨a2X15X16x7∨a2X15X16X7X8∨a4X14∨a4X14∨a6X9X0X1∨a6X9X0X1∨a6X9X0X1∨a6X9X0X1∨a6X9X1X0∨a6X9X1X07∨a6X9X1X0∨a6X9X1X0∨a8X12∨a8X12X8∨a8X12X8X4∨a8X12X8X4=a2X15X16∨a2X15X16x7∨a2X15X16X7X8∨a6∨a8x12
T3= a3X13∨a8X12X8∨a8X12X8X4∨a8X12X8X4= a3X13∨a8X12
T4= a8X12X8∨a8X12X8X4∨a9X4
Шығу функциялар:
Y1=a1
Y2=a1
Y3=a1
Y4=a1
Y5=a3x13∨a6x9x0x1∨a6x9x0x1∨a6x9x0x1∨a6x9x1x0= a3x13∨a6x9x1∨a6x9x0
Y6=a6x9x1x0
Y7=a4x14∨a6x9x0x1∨a6x9x0x1∨a6x9x1x0= a4x14∨a6x9x0x1
Y8=a3x13∨a4x14∨a6x9x0x1∨a6x9x1x0∨a6x9x1x0= a3x13∨a4x14∨a6x9x1x0
Y9=a2x15x16x7∨a2x15x16x7x8∨a2x7x8
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz