4-МАЪРУЗА
Мавзу: МИКРОКОНТРОЛЛЕРНИ ТАШКИЛЛАШТИРИШ
Режа:
4.1.Микроконтроллер процессори.
4.2.Микроконтроллернинг умумий ҳотираси.
4.3.Кэш-ҳотирани ташкиллаштириш.
Таянч иборалар: модулли тамоил, процессор ядроси, марказий процессор, микроконтроллер, дастурлар ҳотираси, арифметик – мантиқий қурилма, кэш-ҳотира.
4.1.Микроконтроллер процессори
Модулли тамоил асосида қурилган бир оиланинг барча МК лари бир ҳил процессор ядросига эга бўладилар ва МК нинг турли моделларини ажратиб турувчи ўзгарувчан функционал блокка эга бўлади. 4.1-чизмада модулли МК таркибий схемаси келтирилган.
4.1-чизма. Микроконтроллернинг асосий функционал блоклари
Процессор ядроси ўз таркибига қуйидаги қурилмаларни олади:
-марказий процессор;
-манзил, ахборот ва бошқариш шиналар таркибида контроллернинг ички магистрали (КИМ);
-МК синхронизациялаш схемаси;
-МК иш тартибини бошқариш схемаси, шу жумладан яна пасайтирилган энергияни истемол иш тартибини қувватлаш, дастлабки ишга тушуриш (сброс, ташлаш) ва х.к. ўз ичига олган.
Ўзгарувчан функционал блок ўз таркибига турли ҳилдаги ва турли сиғимга эга бўлган ҳотира модулларини, киритиш/чиқариш портларини, такт генератор модулини (Г), таймерни олади. Нисбаттан оддий микроконтроллерларда узулишларга ишлов бериш модули процессор ядросининг таркибига киради. Анча мураккаб микроконтроллерларда эса у ривожланган имкониятли алоҳида модул сифатида бўлади. Ўзгарувчан функционал блок таркибига қўшимча модул сифатида кучланиш компаратори, аналог-рақам ўзгартирувчи (АРЎ) ва бошқалар кириши мумкун. Ҳар бир модул МК таркибида контроллернинг ички магистралининг (КИМ) протоколларини ҳисобга олинган ҳолда ишлаши учун лойиҳалаштирилади. Ушбу ёндошув бир оила ичида таркиби жихатидан турли МК яратиш имконини беради.
Процессор бевосита иккилик тизимида ҳавола қилинган ахборотларга ишлов беришни ва буйруқлар кетма-кетлигига мос равишда бу жараённи бошқаришни амалга оширади. Такт генератори (Г) МК қурилмаларидаги жароёларни ўтишини синхронизациялаш учун таянч сигналлар кетма-кетлигини ҳосил қилишни бажаради. Шина контроллери микроконтроллердаги буйруқларни бажарилишининг турли босқичларини тактловчи ва микроконтроллернинг ташқи қурилмалари билан ахборот алмашувини таминловчи ички магистралларда (ахборотлар ва манзиллар магистраллари) тарқалувчи импульс кетма – кетлигини шакиллантиришни ҳосил қилади (4.1-чизма). Процессор ядросининг таркибига МК ишлашини иш тартибларини синхронизациялаш ва бошқаришни тактловчи схема киради.
Буйруқлар процессорнинг буйруқлар ҳотирасида берилган манзилда (ячейка номерида) жойлашади ва у бажарилаётган операцияни баён қилувчи ҳамда операндаларни берувчи (ахборотлар, улар устида операция бажарилади) бошқариш кодларидир. Ҳар бир МК буйруқлар рўйхати ва уларни ўлчами билан ҳарактерланадиган маълум буйруқлар тизимига эга. Буйруқлар тизими операциялар тўпламидан иборат бўлиб, МК процессори томонидан бажарилади. Буйруқлар рўйхатидан тўртта операциялар гуруҳини ажратиш мумкун:
ахборотларни узатиш операцияси (ҳотира ячейкалари ўртасида ва бошқа микроконтроллернинг дастурий –эга бўлиш элементлари ўртасида);
арифметик операциялар (қўшиш, айириш, кўпайтириш, бўлиш);
мантиқий операциялар (“ВА”, “ЁКИ”, инвертлаш, “ЁКИ” ни инкори, турли суришлар);
бошқаришни узатиш операциялари (манзил бўйича шартсиз ўтиш, тенглик шарти бўйича ўтиш ёки операндаларни тенг эмаслиги бўйича ўтиш, дастур остига ўтиш ва ундан қайтиш).
Буйруқ ўлчами дастурнинг навбатдаги қадамида бажариладиган операцияни, кириш ва чиқиш операндаларни, шунингдек дастурнинг кейинги қадамида бажарилиши керак бўлган буйруқ манзилини аниқлашга имкон беради. Буйруқлар вазифаси бўйича оддий шахсий компьютер буйруқ туридан кам фарқ қилади, умуман процессорнинг ўзини таркиби эса оддий процессорнинг соддалаштирилган вариантидан иборат (4.2-чизма).
Бажариладиган буйруқ тури операция коди (ОПК) томонидан берилади. Операндаларни бериш учун қуйидаги манзиллаш усуллари ишлатилади:
аниқ бўлмаган: операнд кўрсатилмайди, сабаби унга сўзсиз эга бўлиш мумкун (масалан, уни жойлаштириш ягона бўлиши мумкун бўлганлиги сабабли);
бевосита: кириш операнди буйруқ таркибига киритилади (масалан, константаларни бериш мақсадида);
тўғри: буйруқда ахборотлар ҳотирасидаги операнда жойлашган манзил кўрсатилади;
билвосита: буйруқда ахборотлар ҳотирасининг ячейка манзили кўрсатилади, ахборотлар ҳотира ячейка манзилида операнд жойлашган (масалан, дастур қисмини кўп маротабадан такрорланишида буйруқ операнда қийматини ўзгартириш қулай кетма-кет жойлашган ахборотларга эга бўлишни ташкиллаштиришда, шу орқали қидирилаётган ахборот манзилини ўзгартириб);
нисбий: буйруқда ахборотлар ҳотирасининг ячейка манзили кўрсатилади, унинг қийматига қандайдир катталик қўшилган бўлиб (аниқмас ҳолда берилган) ахборотлар ҳотирасидаги ячейка манзилини беради, у бўйича қидирилаётган операнд жойлашган (масалан, ахборотлар жадвали элементига мурожат қилинганда, қидирилаётган операндани жадвалнинг бошланишига нисбаттан сурилиш бўйича топиш осон). Кейинги бажариладиган буйруқ манзили аниқмас ҳолда худди дастур ҳотира манзили каби берилади, бу эса кўпчилик дастурларда буйруқлар кетма-кетлигини чизиқли бўлаклари кўплиги билан тушунтирилади. Циклларни, дастур остиларни, шартлар бўйича шохланишлар ва хоказоларни ташкил қилишда уни аниқ бериш учун буйруқларни ишлатилади, уларни ОПК лари маълум бошқаришни узатиш буйруғини кодлаштиради.
Микроконтроллерда буйруқларни бажарилиш тартиби қуйидагича амалга оширилади. Ташлаш импульсининг таъсири тугаши билан процессор ригистрларини ишга тушириш амалга оширилади. Буйруқлар саноқ қурилмасига бошлоғич ишга тушириш манзили критилади. Буйруқлар саноқ қурилмасидаги манзил бўйича дастурлар ҳотирасининг ҳудудидан шина контроллери ҳосил қиладиган бошқариш сигналининг таъсири остида буйруқлар регистрига контроллер бажарадиган дастурнинг навбатдаги буйруғи юкланади.
Ҳар қандай буйруқни бажарилиши элементар ҳаракатларнинг кетма-кетлигидан иборат (микрооперациялар): операция турини ва талаб этилаётган операндаларни турган жойини аниқлаш, уларни ҳотирадан ўқиш, бажарувчи блок учун ҳаракат кодини ҳосил қилиш амалларини бажариш, натижани ёзиш, навбатдаги буйруқ манзилини аниқлаш мақсадида буйруқларни шифрдан чиқариш. Бу амалларни батафсилроқ кўриб чиқамиз.
4.2-чизма.Микроконтроллер процессорининг таркибий схемаси
.
Дастурлар ҳотирасидан ОПК ўқилади, буйруқлар шифрдан чиқарилади ва микродастурли автоматга (МДА) берилади, ушбу босқичда буйруққа ишлов беришга зарур бўлган бошқариш сигналлари шина контроллеридан келади ва у синхронлашнинг ҳар бир навбатдаги такти билан ишлаб чиқарилади. Процессорда арифметик ва мантиқий операцияларни, суриш, нолга ўтқазишларни арифметик – мантиқий қурилма (АМҚ) томонидан таъминланади. Ахборотлар иккилик-ўнлик тизимида ифодаланганда, маска коди АМҚ да битлар устида операция бажарилаётганда ва шунингдек константа кодини берганда константалар ҳотираси тузатиш кодларини ҳосил қилишни таъминлайди. АМҚ да операция бажарилгандан сўнг вақтинча ахборотни сақлаш учун кириш операндалар регистрлари мўлжалланган, унга ахборот тегишли кўрсатувчини ишлатиб ахборотлар ҳотира ҳудудидан киритилади. АМҚ да операцияларни бажариш тўхтагач унинг натижаси натижалар регистрига киритилади, шунингдек операцияни бажарилиш белгилари шакилланади (тўлиш, сурилиш, натижа ишораси), у белгилар процессорнинг сўз ҳолат регистрига киритилади ва операцион тизим томонидан ўқилиш ва таҳлиллаш учун эга бўлиши мумкун (масалан, арифметик тўлиш бўлганлиги туфайли дастурнинг бошқа шохчасига ўтишини ташкиллаштириш учун). Сўнг ахборотлар кўрсатгичига ахборотлар ҳотира ячейкасининг манзили кетма-кет киритилади, уларга буйруқлар натижасини жойлаш зарур (бу манзиллар чиқиш операндаларнинг манзиллар майдонидан олинади) ва ахборотлар кўрсатгичи томонидан манзилланиб операнда натижа регистрларидан ахборотлар ҳотира ячейкасига киритилади. МК процессорларида стек ҳотира ишлатилади (оператив ҳотирани ажратилган худуди), ундан асосий дастурдан чиқиш нуқталарини ва узилиш дастурига ишлов бериб бўлгач унга қайтиш жараёнини ҳотиралаб қолишни жорий этиш учун фойдаланилади.
МП нинг энг оддий функцияларидан бири - икки сонни қўшишни кўриб чиқамиз.
Фараз қилайлик, микропроцессонинг буйруқ сўзининг таркиби қуйидаги кўринишга эга:
Операция коди
|
Операнда манзили
|
Кейинги буйруқ манзили
|
4.1-жадвал.
ОХҚ ячейкаси
|
Буйруқ
|
Ҳаракат
|
2051
|
01 0641 2052
|
0641 ячейка қийматини аккумуляторга ёзиш
|
2052
|
15 0642 2053
|
0642 ячейка қийматини аккумуляторда қўшиш
|
2053
|
02 0643 2054
|
Аккумулятор қийматини 0643 ячейкага ёзиш
|
2054
|
00 0000 0000
|
Тўхта
|
|
|
|
0641
|
А қўшилувчи
|
|
0642
|
В қўшилувчи
|
|
0643
|
Натижа
|
|
Бу ҳолда дастур таркиби қуйидаги кўринишга эга бўлади:
1 – қадам –ОХҚ дан қўшилувчиларни ўқиш;
2 – қадам – қўшилувчиларни арифметик-мантиқий қурилмага (АМҚ) ёзиш;
3 – қадам – қўшиш;
4 – қадам – натижани ОХҚ ёзиш;
5 – қадам – тўхташ.
Фараз қилайлик, операция коди қуйидагича:
01 – операндани ОХҚ дан аккумуляторга чақириш;
02 – аккумулятор қийматини ОХҚ ёзиш;
15 – аккумулятордаги қийматни ОХҚ ячейкасидаги қийматга қўшиш;
00 – тўхташ.
4.1-жадвалдан кўрамизки, микропроцессорнинг ҳар бир буйруғига операция коди тўғри келади. Микропроцессорнинг операциялар сони ички буйруқлар регистрининг катталиги билан белгиланади. Демак, агарда буйруқлар регистрининг разряди 8 битли бўлса, у ҳолда бундек микропроцессорнинг буйруқлар тизимида 256 та бўлиши мумкун бўлган операциялар сонидан кўп бўлиши мумкун эмас.
Do'stlaringiz bilan baham: |