ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

 Алматы энергетика және байланыс университеті

коммерциялық емес акционерлік қоғамы 

 

 

О.Т. Шанаев, Байкенов Б.С.

МИКРОПРОЦЕССОРЛЫҚ ТЕХНИКА НЕГІЗДЕРІ

 

Оқу құралы 

 

 

Алматы 2012


УДК 681.3(075.8)

ББК 32. 973 Я73

Ш23 Микропроцессорлық техника негіздері;

Оқу құралы / Шанаев О.Т., Байкенов Б.С. Алматы: АЭжБУ, 2011. – 84 бет.

 

ISBN 978-601-7307-25-7

 

 

Оқу құралында жеке микропроцесорлар мен микропроцессорлық жинам микросхемаларының негізіндегі дәстүрлі микропроцессорлық жүйелердің құрама бөліктері, олардың құрылым принциптері және жүйе жұмысының ұйымдастырылу тәртібі қарастырылады.

Оқу құралының бірінші бөлімінде, микропроцессорлық жүйенің негізін қалаушы, цифрлық құрылғылардың математикалық негіздері, қиыстырма және тізбектеме құрылғылардың құрылу тәртібі мен іс-әрекеті және олардың қалыпты түрлері, жады құрылғыларының негізгі құрылым принциптері мен кеңейтілу жолдары қарастырылады.

Оқу құралының екінші бөлімі, микропроцессорлық жүйенің басты буыны ретінде пайдаланылатын, микропроцессорлардың жалпылама құрылымы, олардың негізіндегі микропроцессорлық жүйенің құрылым принциптері мен құрамы және олардың іс-әрекеттерінің ұйымдастырылу тәртібі талқыланады.

Оқу құралының үшінші бөлімінде оқырманның микропроцессорлық жүйенің аппараттық құрылым принциптері мен бағдарламалы істеу принциптерін толығырақ игеруін қамтамасыз ету мақсатында және оның шығармашылдыққа ұмтылысын дамыту үшін осы принциптер негізінде құрылған микропроцессорлық жүйенің оқу моделі және оның жұмысының ұйымдастырылуы қарастырылады.

Без. 42, кесте. 28, әдеб. көрсеткіші 22 атау.

 

ББК 32. 973 Я73

 

ПІКІР БЕРУШІЛЕР:

АЭжБУ, физ-мат. ғылым. д-р., профессор С.Б. Бимурзаев,

КазНТУ, тех. ғыл. канд., доцент, А.К. Шайхин

 

                  Казақстан Республикасының Білім және ғылым министрлігінің 2011 жылғы баспа жоспары бойынша басылады.

 

ISBN 978-601-7307-25-7

 

© “Алматы энергетика және байланыс университеті КЕАҚ, 2011 ж.

Кіріспе

Қазіргі заманда әртүрлі өндіріс салалары мен тұрмыс қажетінде пайдаланылатын алуан түрлі техникалық құралымдардың жұмысының басқарылуы цифрлық техника негізінде жүзеге асырылатындығы белгілі. Басқару жұмысының белгіленген ретімен (яғни, белгіленген алгоритм бойынша) жүзеге асырылуы үшін басқарылым объектісінің параметрлері нақтылы уақытында өлшеніп және басқарушы құрылымның сәйкесті жағдайы анықталып, алынған мәліметтерге қажетті түрлендірілімдер арқылы өңдеу жүргізіліп, нәтижесінде басқару сигналдары тудырылады да, олардың сәйкесті іс-әрекетімен объектінің жағдайы қажетті бағытқа өзгертіледі. Келтірілген жұмыстардың жүзеге асырылуын, жалпылама түрде микропроцессорлық жүйе (МПЖ) деп аталатын, микропроцессор негізіндегі электрондық құрылымдар атқарады. Микропроцессорлық жүйелерде информацияның өңделуі және сақталуы цифрлық түрде жүргізілетіндіктен, оларға түсетін аналогты кіріс сигналдары аналогты-цифрлы түрлендіргіштер (АЦТ) арқылы таңдалым кодтарының тізбесіне түрлендіріледі, ал олардан өңдеу нәтижесі ретінде шығарылатын аналогты шығыс сигналдары таңдалым кодтарының тізбесінен цифрлы-аналогты түрлендіргіштер (ЦАТ) арқылы қалыптастырылады.

Дәстүрлі цифрлық жүйелердегі информацияның өңделу және сақталу алгоритмдері жүйенің сұлбақұралысымен ғана анықталады, яғни өзге алгоритмге көшу үшін, оны жүйе құрамындағы электрондық буындардың өзара байланыстарын өзгерту арқылы немесе осы буындарды олардың қойылған мәселеге жаралымды түріне ауыстыру арқылы ғана жүзеге асыруға болады немесе жүйенің құрылымын толықтай өзгертуге тура келеді. Әрине, бұндай түрлендірімдердің жүйе жұмысының барысында жүргізілуі мүмкін емес, ол үшін жүйені қайтадан құру керек болады. Тап осы себептен дәстүрлі цифрлық жүйе көбіне “тастай логикалы” жүйе деп аталады.

Кез келген “тастай логикалы” жүйе – алдын ала белгілі жеке бір мәселені (немесе, мазмұны жағынан жуық бірнеше мәселені) шешуге арналған арнайы жүйе. Оның күмәнсіз артықшылықтары бар. Біріншіден, арнайы жүйенің құрамында артық элемент болмайды, оның әрбір элементі міндетті түрде толыққанды жұмыс атқарады. Екіншіден, арнайы жүйеде информацияны өңдеу алгоритмінің орындалу жылдамдығы оның құрамындағы логикалық элементтердің тезәрекеттілігімен және олардың нақтылы байланыстарымен ғана анықталатындықтан, бұндай құрылымдар аса жоғары тезәрекеттілікті қамтамасыз ете алады.

“Тастай логикалы” жүйенің басты кемістігі – әрбір жаңа мәселені шешу үшін оны қайта құру қажеттігінде. Ал бұл – ұзаққа созылатын және қосымша қаражат талап ететін жұмыс. Бұл кемістіктен құтылу үшін, кез келген мәселеге жеңіл икемделетін жүйе құру керек, яғни, оның шешілетін мәселеге байланысты (құрылымды өзгертпестен) жұмыс алгоритмін (жүйенің жұмыс бағдарламасын) ауыстыру мүмкіншілігі болу керек. Бұндай “икемді логикалы” жүйе әмбебап немесе бағдарламалы жүйеге айналады, микропроцессорлық жүйе тап осындай жүйеге жатады.

Әмбебаптылыққа ұмтылу ұтылысқа да әкеледі. Аса күрделі мәселені шешуге (қарапайым мәселелермен салыстырғанда) арналған құрал құрамы күрделірек болады. Сондықтан, әмбебап жүйенің құрамы ең күрделі мәселенің шешілу мүмкіндігін қамтамасыз ету керек. Әрине, қарапайым мәселенің шешілуі кезінде бұндай жүйенің бар мүмкіншілігі толыққанды пайдаланылмайды. Сонымен қатар, әмбебаптылық жүйенің (оның құрылымының күрделенуіне байланысты) тезәрекеттілігін де төмендетеді.

Сонымен, келесі қорытындыға келуге болады: “тастай логикалы” жүйелер, аса жоғары тезәрекеттілікті қажет қылатын, өңделу алгоритмдері қарапайым түрдегі, жеке мәселелерге ыңғайлы келеді. Ал әмбебап, бағдарламалы жүйелер, онша тезәрекеттілікті қажет қылмайтын, шешетін мәселелері жиі өзгеріп отыратын және олардың шешілуі күрделі алгоритмдермен  жүзеге асырылатын жағдайларға  ыңғайлы келеді.

Бірақ соңғы кезде шығарылған әмбебап (микропроцессорлық) жүйелердің тезәрекеттілігі аса (бірнеше дәрежеге) көтерілді және бұндай жүйелерге арналған микросұлбалардың шығарылым көлемінің ұлғаюы олардың құнының төмендеуіне әкелді. Оның нәтижесінде “тастай логикалы” жүйелердің қолданылым аймағы тарыла түсті. Бұған қоса, қазіргі заманда ішкі құрылымын бағдарламалы тәсілмен өзгерту арқылы жеке мәселелерді шешуге тез икемделетін бағдарламалы микросұлбалардың шығарылым технологиясы аса қарқынды дамып келе жатыр. Олар “тастай логикалы” жүйелердің тезәрекеттілігі мен бағдарламалы жүйелердің икемділігін біріктіреді [22].

Мазмұны жағынан оқу құралы “Информациялық жүйелер” мамандығына дайындау барысында оқытылатын “Микропроцессорлық техника негіздері” пәнінің бағдарламасына сәйкес келеді. Университеттің мамандық бойынша оқу жоспарына сәйкесті бұл пәннің цифрлық құрылымдарға қатысты алғашқы пән болуына байланысты, оқу құралының бірінші бөлімінде, микропроцессорлық жүйенің негізін қалаушы, цифрлық құрылғылардың математикалық (арифметикалық және логикалық) негіздері, қиыстырма және тізбектеме құрылғылардың құрылу тәртібі мен іс-әрекеті және олардың қалыпты түрлері, жады құрылғыларының негізгі құрылым принциптері мен кеңейтілу жолдары қарастырылады. Оқу құралының осы бөлімінде қарастырылған жеке құрылғылар мен күрделі құрылымдар жөніндегі мәліметтерді толық игеру үшін, оқырманның (студенттің немесе жас оқытушының) осы құрылғылар мен құрылымдардың жұмысын зерттеу арқылы тексергені (зертханалық сабақтарда немесе өздік жұмыс кезінде) дұрыс болады [18,19]. Оларды өздік жұмыста моделдеу арқылы зерттеуге Electronics Workbench аса ыңғайлы келеді [9].

Оқу құралының екінші бөлімі, микропроцессорлық жүйенің басты буыны ретінде пайдаланылатын, микропроцессорлардың жалпылама құрылымы, олардың негізіндегі микропроцессорлық жүйенің құрылым принциптері мен құрамы және олардың іс-әрекеттерінің ұйымдастырылу тәртібі талқыланады. Микропроцессорлардың негізгі құрылым принциптері мен жұмыс тәртібін түсіндіру үшін олардың нақтылы бір түрін қарастыру ыңғайлы келеді. Оқу құралында осындай үлгі ретінде осы заманның басқару жүйелерінде кең қолданылатын қарапайым микропроцессор Intel 8085 алынып, оның ішкі құрама блоктары мен іс-әрекетін басқарушы бағдарламаларының құрылу негіздері қарастырылады.

Микропроцессорлық жүйелерді құру барысында өзара байланысты және өзара тәуелді екі фактор ескеріледі: қойылған мәселенің іс жүзінде жүзеге асырылуын қамтамасыз етуші жүйенің аппараттық бөлігін (hardware) құру және жүйенің іскерлік бөліктемелерінің қойылған мәселенің шешіліміне байланысты іс-әрекеттері мен өзара әрекеттесуінің бағдарламасын құруға мүмкіндік беруші командалар жүйесін (software) анықтау және олардың негізінде сәйкесті бағдарламалар құрып, олардың жұмысын зерттеу. Демек, микропроцессорлық жүйе жөнінде толық білім алу үшін оның аппараттық бөлігін де, бағдарламалық бөлігін де игеру керек.

Микропроцессорлық жүйенің аппараттық бөлігін игеруге оның құрама бөліктемелерінің (жады жүйесінің, енгізу құрылғыларының және микропроцессордың) автор құрған сәйкесті виртуалды моделдерінің жұмысын зерттеу үлкен көмек береді [19].

Микропроцессорлық жүйенің бағдарламалық бөлігін игеруге Intel 8085 микропроцессорының негізіндегі микропроцессорлық жүйенің симуляторын (8085 Simulator IDE) пайдалану бағдарлама құрамындағы командалардың жұмысын түсінуге  толық мүмкіндік береді. Алуан түрлі іскерлік элементтерімен қамтылған және олардың іс-әрекеттерінің көрнекілігімен көзге түсетін бағдарламалық симулятор оқушылардың құрамы жағынан түр-түрлі жүйе моделдерін құруына және олардың жұмысын зерттеуіне кең мүмкіндік береді, демек, олардың оқу материалын толық игеруіне жағдай жасайды [21].

Оқырманның микропроцессорлық жүйенің аппараттық құрылым принциптері мен бағдарламалы істеу принциптерін толығырақ игеруін қамтамасыз ету мақсатында және оның шығармашылдыққа ұмтылысын дамыту үшін оқу құралының үшінші бөлімінде осы принциптер негізінде құрылған микропроцессорлық жүйенің оқу моделі және оның жұмысының ұйымдастырылуы қарастырылады [20].

Оқу құралы автордың өндіріс және педагогика саласындағы көпжылдық тәжірибесінің негізінде жазылды. Мазмұны жағынан оқу құралы бакалаврлық оқу жүйесінде 5В070300 – Информациялық жүйелер мамандығына дайындау барысында оқытылатын “Микропроцессорлық техника негіздері” пәнінің бағдарламасына сәйкес келеді. Айтылған мамандықпен қатар оқу құралын (сәйкесті қысқарту немесе толықтыру арқылы) өзге мамандықтарға жоспарланған осы сияқты пәндерді оқыту барысында пайдалануға болады.


1 Цифрлық құрылғылар

1.1 Цифрлық құрылғылардың математикалық негіздері

Атқарар қызметі мен күрделілігі жағынан әртүрлі цифрлық құрылғының (логикалық элементтерден бастап есептеу машиналарына дейін) жұмысы екілік санау жүйесінде жүзеге асырылады, яғни олардың кірістеріне түсетін және оның шығыстарынан алынатын информация екілік сан түрінде көрсетіледі.

1.1.1 Екілік санау жүйесі

Цифрлық құрылғыларда пайдаланылатын екілік санау жүйесі позициялық санау жүйесіне жатады. Демек, сандарды екілік санау жүйесінде көрсету үшін және оларға арифметикалық операциялар жүргізу үшін, өзімізге таныс, күнделікті пайдаланылатын ондық санау жүйесінің қағидалары пайдаланылады. Сондықтан, алда келтірілетін, екілік санау жүйесіне байланысты түсіндірмелер ондық санау жүйесіндегі сәйкесті мәселелерді еске түсіріп, салыстырма қарастырылым арқылы жүргізіледі.

Ондық санау жүйесінде сан жазуға он символ (0 … 9) пайдаланылады (бұл жүйенің ондық санау жүйесі деп аталуы да осыған байланысты). Бұл символдардың сандағы тұрған орнына байланысты құны (салмағы) белгіленеді: ол онның (яғни, санау жүйесінің негізінің) сәйкесті разряд нөмірінің мәніндегі дәрежесі арқылы анықталады. Сонымен, санның ең кіші разрядындағы (нөлінші разрядтағы) символдың құны бір (100), келесі разрядтың (бірінші разрядтың) құны он (101), одан әрі жүз (102), мың (103) және с.с. өзгере береді. Разряд құны, мәніне сәйкесті, бірлік, ондық, жүздік, мыңдық деп және с.с. аталады, ал сан разрядында тұрған символ сәйкесті разряд құнының сан құрамына қанша рет кіретіндігін көрсетеді. Келесі мысал арқылы айтылғанды түсіндірейік:

.

Сонымен, келтірілген санның құрамында 7 бірлік, 5 жүздік, 3 мыңдық бар, ал ондық жоқ (0).

Екілік санау жүйесінде сан жазуға екі символ (0 және 1) пайдаланылады. Разряд құны екінің (яғни, санау жүйесінің негізінің) сәйкесті разряд нөмірінің мәніндегі дәрежесі арқылы анықталады. Сонымен, санның ең кіші разрядындағы (нөлінші разрядтағы) символдың құны бір (20), келесі разрядтың (бірінші разрядтың) құны екі (21), одан әрі төрт (22), сегіз (23) және с.с. өзгере береді. Разряд құны бірлік, екілік, төрттік, сегіздік деп және с.с. аталады, ал екілік код разрядында тұрған символ сәйкесті разряд құнының сан құрамына қанша рет кіретіндігін, дәлірек айтқанда, бар-жоқтығын көрсетеді. Айтылғанды келесі мысал суреттейді:

.

Код құрамындағы символдардың 0 және 1 мәнінде ғана болуына байланысты, олар разрядқа сәйкесті құндық мәннің код құрамында бар-жоқтығын көрсетеді. Мысалы, келтірілген мысалдағы кодтың құрамында бірлік, екілік және сегіздік бар (1), ал төрттік жоқ (0).

1.2.3.1 Сандардың түрлендірілімі

1.1.1.1.1 Ондық санның екілік санға түрлендірілуі

Өзімізге үйреншікті ондық сан түріндегі информацияны цифрлық құрылғыда өңдеу үшін ол екілік санау жүйесіндегі сәйкесті көрсетілім түріне, яғни екілік кодқа түрлендірілуі керек. Ол үшін түрлендірілетін сан және алынған кезекті бөлінділер екіге (яғни, жаңа санау жүйесінің негізіне) тізбелеп бөлінеді де, бөлінді мәні нөл болған кезде бөлу операциялары тоқтатылады; жеке бөлу операцияларында анықталған қалдықтардың  шығарылым бағытына қарсы тәртіппен жазылымы осы ондық санның екілік кодын береді. Мысал ретінде, ондық санау жүйесіндегі 75 санына сәйкесті екілік кодтың анықталуын көрсетелік:

7510 = 10010112.

Әрине, көрсетілген тәсілмен кез келген ондық санның сәйкесті екілік кодын анықтауға болады. Бірақ автор бұл тәсілді аса жеңіл тәсіл деп санамайды: біріншіден, бұндағы тізбелеп жүргізілетін бөлу операциялары ұзақ уақыт алады (мысал ретінде ондық 1000 санының екілік кодын алып көріңіз); екіншіден, тізбеленген бөлу операцияларының жүргізілу ұзақтығынан, қателік жіберу ықтималдығы да ұлғая түседі.

Айтылған тәсілдің кемістіктерінен құтылу мақсатында, автор ондық санның екілік кодын анықтауға іс жүзінде пайдаланып жүрген өз тәсілдерін ұсынады және оның біріншісін суреттеуге алдыңғы мысалда алынған 75 саны пайдаланылады:

-       алдымен алынған ондық санның құрамына кіретін екінің ең жоғарғы дәрежесіндегі санның екілік коды жазылады (6410 = 26 = 10000002, бұл санды сөз ыңғайлылығы үшін бірінші қадам коды деп аталық);

-       келесі қадамда түрлендірілетін саннан анықталған бірінші қадам коды алып тасталады да (75 – 64 = 11), қалған санның құрамына кіретін екінің ең жоғарғы дәрежесіндегі сан анықталады (810 = 23 = 10002, бұл санды екінші қадам коды деп аталық);

-       осы тәртіппен жалғастыра отырып, ақырында өзімізге жатталымды кішігірім санның кодына жетеміз (11 – 8 = 3, 310 = 112);

-       алынған бірнеше қадам кодтарын қосу арқылы қажетті код шығарылады.

Бұл тәсілдің айтылған тәртібінің біріктірілген суреттемесін көрсетелік:

Сонымен, қосу тәсілі деп аталатын бұл тәсілдің әр қадамында анықталатын кодтардың жазылымы да (1 және бірнеше нөл), олардың ақырында өзара қосылуы да оңай орындалатын операциялар болғандықтан бұл тәсіл арқылы ондық санның екілік кодын анықтау қиын болмайтындығы сөзсіз. Бірақ, кейбір жағдайда бұл тәсілді одан әрі жеңілдету мүмкіндігі туады. Мысалы, 1000 санының кодын шығару үшін алдыңғы тәсілді пайдалану алты қадамға созылады (512 + 256 + 128 + 64 + 32 + 8). Алынған сан 512-ден гөрі 1024-ке (210) жуық, сондықтан бұл жерде қажетті кодты шығару үшін 1024 санының кодынан 24-тің кодын алу жеңіл болар еді деген ой туады. Бірақ, 1024-тің 10000000000 түріндегі екілік кодынан 24 санының 11000 кодын алу тасымал арқылы жүзеге асырылатындықтан бұл оңай операция емес. 1024-тен 1 кемітілген 1023 санының коды 1111111111 болады және одан 23 санының 10111 кодын алу қиын еместігін осы мысалдың келесі суреттемесінен көреміз:

Сонымен, алу тәсілі деп аталатын екінші тәсіл коды ізделінетін ондық санның екінің нақтылы дәрежелі санынан аздап кем болған кезінде пайдалануға ыңғайлы келеді. Ол келесі тәртіппен жүзеге асырылады:

-       алдымен алынған ондық саннан аздап жоғары болатын екінің нақтылы дәрежесі арқылы сипатталатын саннан 1 кемітілген санның коды алынады (ол қатар жазылған бірнеше 1 арқылы жазылады және ондағы 1-дің саны дәреже мәніне тең болады);

-       бастапқы сан мен алынған кодтың ондық мәнінің айырымы анықталып, келесі қадамда екі тәсілдің ыңғайлысын пайдалану арқылы осы санның коды анықталады;

-       ақырында бірінші қадам кодынан екінші қадам коды алынып, қажетті код шығарылады.

Кейбір жағдайда ондық санға сәйкесті қажетті код айтылған екі тәсілді кезектеп пайдалану арқылы алынады.

 

 

 

1.1.1.1.2 Екілік санның ондық санға түрлендірілуі

Керісінше жағдайда, яғни берілген екілік код арқылы оған сәйкесті ондық санды анықтау код жазылымындағы 1 символдарының тұрған разрядтарына сәйкесті құндарын қосу арқылы жүзеге асырылады, оны келесі мысал суреттейді:

1101100012 = 28 + 27 + 25 + 24 + 20 = 256 + 128 + 32 + 16 + 1 = 43310.

1.1.1.1.3 Санның оналтылық жазылымы

Цифрлық құрылғылардың жұмысы екілік сандарға негізделген, бірақ пайдаланушыға мұндай сандармен жұмыс істеу (мысалы, Ассемблер тілінде бағдарлама құру кезінде) оңай жұмыс емес, сондықтан бұндай жағдайда пайдаланушының жұмысын жеңілдету үшін екілік кодтар оналтылық санау жүйесінде көрсетіледі. Жүйенің аталымына сәйкесті, бұл жүйеде сан жазуға (немесе көрсетуге) он алты символ пайдаланылады, олар – 1 … 9, A, B, C, D, E, F.

Ондық санның оналтылық жазылымын, әрине, дәстүрлі тәсілмен, яғни түрлендірілетін санды он алтыға бөліп, шығарылған қалдықтарды кері бағытта жазу арқылы анықтауға болады. Бірақ оны жеңілірек келетін тәсілмен анықтауға болады:

-       алдымен ондық санның екілік коды анықталады;

-       алынған кодтағы символдар кіші разрядынан бастап төрт-төрттен топтарға біріктіріледі;

-       әрбір топтың кодына сәйкесті оналтылық символын қою арқылы түрлендірілетін ондық санның оналтылық жазылымы шығарылады.

Айтылғанды келесі мысал арқылы түсіну қиын емес:

.

1.1.2 Логикалық функциялар

1.1.2.1 Негізгі функциялар

Цифрлық (логикалық) құрылғылардың кірістері мен шығыстарындағы кернеу мәндері логикалық 0 немесе логикалық 1 деп аталатын екі түрлі деңгейде болады. Логикалық құрылғылардың бұл ерекшелігі оларды жобалау үшін немесе осындай дайын құрылғылардың жұмысын талдау үшін логика алгебрасының (немесе Буль алгебрасының) қағидаларын пайдалануға мүмкіндік береді.

Цифрлық құрылғылардың атқарар қызметі сәйкесті логикалық функциялар арқылы сипатталады. Күрделілігі әртүрлі кез келген логикалық функцияны, негізгі логикалық функциялар деп аталатын, үш функция арқылы суреттеуге болады, олар – ЕМЕС, НЕМЕСЕ, ЖӘНЕ функциялары. Олардың атқарар қызметін кесте түрінде (ол ақиқаттық кестесі деп аталады) немесе сәйкесті логикалық өрнек арқылы суреттеуге болады.

ЕМЕС функциясы – аргументіне қарсы мәнді шығаратын, бір аргументті функция (1.1-кестені қара), сондықтан бұл функция инверсия (inversion - терістеу) деп те аталады. Оның аргументі Х деп белгіленген болса, онда бұл функция Y= өрнегімен суреттеледі.

1.1 К е с т е

Х1

0

1

1

0

 

 

 

НЕМЕСЕ функциясы – аргументтерінің барлығы да 0 кезінде ғана 0 шығаратын, ал қалған жағдайда (яғни, аргументтерінің кем дегенде біреуінің мәні 1 болғанда) 1 шығаратын, бірнеше аргументті функция (1.2-кестені қара). Бұл функция дизъюнкция (disjunction) немесе логикалық қосу (logical addition) деп те атала береді. Оның логикалық өрнегі Х1Х0 түрінде суреттеледі.

1.2 К е с т е

Х1

Х0

Х1Х0

0

0

0

0

1

1

1

0

1

1

1

1

 

 

 

 

 

ЖӘНЕ функциясы – аргументтерінің барлығы да 1 кезінде ғана 1 шығаратын, ал қалған жағдайда (яғни, аргументтерінің кем дегенде біреуінің мәні 0 болғанда) 0 шығаратын бірнеше аргументті функция (1.3-кестені қара). Бұл функция конъюнкция (conjunction) немесе логикалық көбейту (logical multiplication) деп те атала береді. Оның логикалық өрнегі Х1Х0 (немесе Х1Х0) түрінде суреттеледі.

1.3 К е с т е

Х1

Х0

Х1Х0

0

0

0

0

1

0

1

0

0

1

1

1

 

 

 

 

 

 

Суреттелген ЕМЕС, НЕМЕСЕ, ЖӘНЕ функциялары арқылы кез келген күрделі функцияны суреттеуге болады, сондықтан, олар логикалық функциялардың түпнегіздік жинағын (core set) құрады.

1.1.2.2 Әмбебап функциялар

Қарастырылған үш функциядан басқа, әмбебап функциялар деп аталатын екі функция бар, олар – НЕМЕСЕ-ЕМЕС және ЖӘНЕ-ЕМЕС функциялары. НЕМЕСЕ-ЕМЕС функциясы Пирс функциясы деп, ал ЖӘНЕ-ЕМЕС фукциясы Шеффер функциясы деп те атала береді. Олардың сәйкесті логикалық өрнектері  және  түрінде суреттеледі, ал атқарар қызметі 1.4-кестеде келтірілген.

1.4 К е с т е

Х1

Х0

0

0

1

1

0

1

0

1

1

0

0

1

1

1

0

0

 

 

 

 

 

 

Соңғы қарастырылған екі функцияның әрбіреуінің жеке өзі-ақ түпнегіздік жинақ құрады, яғни олардың негізінде кез келген күрделі логикалық функция құруға болады.

1.1.2.3 Теңдік және теңсіздік функциялары

Ерекше қызметтерге пайдаланылатын тағы екі функцияны қарастыра кетелік, олар – теңдік (немесе арифметикалық қосу) функциясы мен теңсіздік функциясы. Олардың сәйкесті логикалық өрнектері  және  түрінде суреттеледі, ал атқарар қызметі 1.5-кестеде келтірілген.

1.5 К е с т е

Х1

Х0

0

0

0

1

0

1

1

0

1

0

1

0

1

1

0

1

 

 

 

 

 

 

1.1.3 Логика алгебрасының заңдары мен заңдылықтары

Цифрлық құрылғылардың сұлбаларын құру барысында оларды суреттеуші логикалық фунцияларды әртүрлі мақсатқа сай (мысалы, оларды қарапайым түрге келтіру үшін) түрлендіру қажет болады. Бұндай түрлендірімдер логика алгебрасының заңдары мен осы заңдардың жеке жағдайларға тікелей пайдалануға ыңғайландырып шығарылған заңдылықтарының негізінде жүргізіледі (1.6-кестені қара).

Бұл заңдар мен заңдылықтар – симметриялы, яғни олардың дизъюнкциялық және конъюнкциялық түрлері болады. Бұл заңдардың кейбірі дәстүрлі алгебрада қалыптасқан заңдар, сондықтан олардың дұрыстығы күмән тудырмайды, ал дәстүрлі алгебраға тән емес, жаңа заңдар мен заңдылықтардың дұрыстығына көз жеткізу (яғни, оларды дәлелдеу) аргументтерінің орындарына олардың сәйкесті мәндерін (0 мен 1) қойып тексеру арқылы жүзеге асырылады.

 

 

 

1.6 К е с т е

Заңдар

Коммутативтік (commutativity) немесе алмастырылым заңы

Х1Х0 = Х0Х1

Х1Х0 = Х0Х1

Ассоциативтік (associativity) немесе біріктірілім заңы

Х2(Х1Х0) = (Х2Х1)Х0

Х2 (Х1Х0) = (Х2Х1)Х0

Дистрибутивтік (distributivity) немесе таратылым заңы

Х2Х1Х1Х0 = Х1(Х2Х0)

2Х1)(Х1Х0) = Х1(Х2Х0)

де Морган заңы

 

 

Заңдылықтар

X0 = X

X0 = 0

X1 = 1

X1 = X

XX = X

XX = X

X = 1

X = 0

X1X1X0 = X1

X1(X1X0) = X1

X1X0 = X1X0

X1(X0) = X1X0

 

1.1.4 Күрделі функциялар

Күрделі цифрлық құрылғылардың жұмысы әрине, қарапайым функцияларды нақтылы тәртіппен біріктіру арқылы көрсетілген күрделі функциялармен суреттеледі. Олар да қарапайым функциялар сияқты кесте түрінде немесе сәйкесті логикалық өрнек арқылы суреттеледі. Құрылғының жұмысын сипаттаушы логикалық өрнек арқылы оның сұлбасы құрылады. Демек, функция жазылымы күрделі болған сайын, оның сұлбасы да күрделі болады. Сондықтан, оларды мүмкіндігінше қарапайымдылау түрге келтіруге тырысу керек болады. Енді осы мәселелерді толығырақ қарастыруға кіріселік.

Цифрлық құрылғының жұмысы көптеген жағдайда кесте түрінде беріледі. Әрине, оның мәтін түріндегі түсіндірме арқылы да берілуі мүмкін, бұндай жағдайда берілген түсіндірмені кесте түріндегі суреттемеге айналдыру керек болады. Сонымен, әңгімені кестеден басталық, ал құрылғы қызметінің түсіндірме арқылы берілу жағдайы кейінірек қарастырылады.

Кесте түрінде сүреттелген функцияның (1.7-кестені қара) логикалық өрнегін жазудың екі түрлі жолы (тәсілі) бар:

-       көбейтінділердің қосылымы түрінде, яғни алдымен ЖӘНЕ функцияларын пайдаланып, сосын олардың нәтижесін НЕМЕСЕ функциясымен біріктіру арқылы жазу;

-       қосындылардың көбейтілімі түрінде, яғни алдымен НЕМЕСЕ функцияларын пайдаланып, сосын олардың нәтижесін ЖӘНЕ функциясымен біріктіру арқылы жазу.

1.7 К е с т е

X2

X1

X0

Y

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

1

 

Бірінші тәсіл келесі тәртіппен жүзеге асырылады:

-       функцияның (Y) 1 мәнін қабылдайтын аргумент жинақтарының логикалық көбейтінділері жазылады;

-       алдыңғы айтылған логикалық көбейтінділерді жазу кезінде 1 мәніндегі аргументтер тура түрінде алынады да, 0 мәніндегі аргументтер теріс түрінде алынады (бұндай жазылымдар конъюнктивті термдер деп аталады);

-       жазылған конъюнктивті термдер логикалық қосу функциясы арқылы біріктіріледі.

Кесте түрінде берілген үш аргументті функцияның айтылған тәсілмен жазылған логикалық өрнегі:

.

(1.1)

Енді логикалық өрнектің жазылымының екінші тәсілін қарастыралық, ол келесі тәртіппен жүзеге асырылады:

-       функцияның 0 мәнін қабылдайтын аргумент жинақтарының логикалық қосындылары жазылады;

-       логикалық қосындыларды жазу кезінде 0 мәніндегі аргументтер тура түрінде алынады да, 1 мәніндегі аргументтер теріс түрінде алынады (бұндай жазылымдар диъюнктивті термдер деп аталады);

-       жазылған диъюнктивті термдер логикалық көбейту функциясы арқылы біріктіріледі.

Кесте түрінде берілген үш аргументті функцияның екінші тәсілмен жазылған логикалық өрнегі:

.

(1.2)

1.2.3.1 Логикалық функцияларды минимизизациялау

Алынған (1.1) және (1.2) өрнектерінің кез келгені арқылы берілген құрылғының сұлбасын құруға болады, бірақ бұл өрнектердің күрделілігіне байланысты құрылатын сұлба да күрделі болып шығады. Сондықтан, көптеген жағдайда сұлба құруға пайдаланылатын логикалық өрнекті қарапайым түрге келтіру (яғни, минимизациялау) керек болады. Минимизация жүргізудің бірнеше жолы бар, енді соларды қарастыралық.

1.1.4.1.1 Тікелей түрлендіру тәсілі

Бұл тәсілмен логикалық функцияларды түрлендіру (минимизациялау) функция құрамындағы көрші термдерді тауып, оларға логика алгебрасының жоғарыда келтірілген заңдары мен заңдылықтарын тікелей пайдаланып, біріктіру арқылы жүзеге асырылады. Көрші термдерге бір аргументінің ғана айырмашылығы бар термдер жатады. Осы тәсілдің жүргізілу жолын (1.1) және (1.2) өрнектерінің түрлендірілуін қарастыру арқылы түсінуге болады.

(1.1) өрнегінің түрлендірілімі:

 (1.2) өрнегінің түрлендірілімі:

 

1.1.4.1.2 Карно картасы арқылы түрлендіру

Карно картасы – логикалық өрнектерді минимизациялауға ыңғайлан-дырылған, функцияның кестелі суреттелімінің ерекше түрі. Жоғарыда алын-ған мысалдағы функцияға құрылған Карно картасы 1.1-суретте келтірілген.

 

 

 

X1

X2

0

6

1

7

1

5

1

4

0

2

1

3

1

1

0

0

 

X0

1.1 Сурет

Карно картасында көрші термдер бірден көзге түседі: келтірілген картаның 1-, 3-, 5-, 7-ұяшықтарындағы бірліктердің өзара бірігіп, нәтижесінде одан X0 ғана қалатындығы және 4-ұяшықтағы бірліктің тек қана 5-ұяшықтағы бірлікпен бірігетіндігі көрініп тұр.

Төрт аргументті функцияға арналған Карно картасының түрі 1.2-суретте келтірілген.

 

X2

 

X3

12

13

9

8

14

15

11

10

X1

 

6

7

3

2

4

5

1

0

 

 

X0

 

1.2 Сурет

1.1.4.1.3 Арнайы түрлендіргішті пайдалану

Цифрлық құрылғыларды моделдеуге арналған бағдарламаларда мысалы, Electronics Workbench моделдеу жүйесінде минимизациялау жұмысын орындайтын арнайы түрлендіргіш (Logic Converter) орналастырылған. 1.3-суретте осы аспаптың сыртқы түрі және ол арқылы алынған функцияның минимизациялануы келтірілген.

1.3 Сурет

1.2 Қиыстырма құрылғылар

Шығыс сигналы (немесе сигналдары) тек қана кіріс сигналдарының кезекті мәндеріне тәуелді болатын құрылғылар қиыстырма құрылғылар деп аталады. Бұндай құрылғылардың қарапайым түріне логикалық элементтер жатады.

1.2.1 Логикалық элементтер

Логикалық элементтер – логикалық функцияларды жүзеге асыруға арналған құрылғылар. 1.4-суретте бұрын қарастырылған қарапайым функцияларды жүзеге асырушы сәйкесті логикалық элементтердің шартты сызба белгілемелері келтірілген.

 

 

NOT

OR

AND

NOR

NAND

XOR

XNOR

1.4 Сурет

1.2.1.1 Логикалық элементтердің тез әрекеттілігі

Логикалық элементтердің тез әрекеттілігі олардың бір жағдайынан екінші жағдайына ауысу жылдамдығымен анықталады. 1.5-суретте ЕМЕС (NOT) элементі арқылы өзгермелі сигналдардың өту нәтижесі көрсетілген.

1.5 Сурет

Бұнда шығыс сигналының өзгерісінің кіріс сигналының өзгерісінен нақтылы уақытқа кідіретіндігі айқын көрініп тұр. Біздің Electronics Workbench моделдеу жүйесінде жүргізген өлшеміміз бойынша ондағы ЕМЕС элементіндегі сигнал кідірісі 10 ns шамасында болады. Әрине, статикалық (яғни, белгілі уақыт аралығында тиянақты мәнін сақтайтын) сигналдармен істейтін құрылғылардың жұмысына бұндай кідірістің байқарлықтай әсері болмайды. Бірақ кейбір жағдайларда (мысалы, тізбектеме құрылғыларда) бұндай кідірістің құрылғының жұмысына байқарлықтай әсер етуі мүмкін. Кідіріс әрекетін суреттеу мақсатында екі ЕМЕС элементінің кірістеріне қатар берілген екі сигналдың осы элементтер арқылы алынған логикалық қосындысын қарастыралық (1.6-суретті қара). Сұлбада көрсетілгендей, бір сигнал екінші элементтің кірісіне екі ЕМЕС элементі арқылы берілген.

1.6 Сурет

Идеалды жағдайда (яғни, ЕМЕС элементтерінде ешқандай кідірістің болмауы кезінде) екі элементтің шығыстарындағы сигнал бірдей болар еді (1.7, a-суретті қара). Бұл диаграмма статикалық сигналдарды бақылауға арналған Electronics Workbench моделдеу жүйесіндегі Logic Analyzer аталымды арнайы аспап арқылы алынған.

 

a

b

1.7 Сурет

Сезімтал осциллограф арқылы алынған диаграммада (1.7, b-суретті қара) екінші элементтің бір кірісіне сигналдың екі ЕМЕС элементінен өтуге кеткен 20 ns кідірісінің әсерінен осы элементтің шығысындағы сигнал құрамына бөгде теріс импульстің қосылғанын көреміз. Сигнал құрамындағы бұндай бөгде импульс осы сигналдың түсетін құрылғысының бағдарланған жұмысын бүлдіруі мүмкін, сондықтан бұндай жағдайдың болмауын қамтамасыз ету керек.

Элементтегі сигнал кідірісін ұтымды пайдалануға да болады. Мысалы, түймежинамның жеке түймесі арқылы өте қысқа (ұзақтығы 10 ns шамасындағы) жазу сигналын алу үшін 1.8-суретте көрсетілген екі элемент арқылы құрылған сұлбаны пайдалануға болады.

 

a

b

1.8 Сурет

1.2.2 Қиыстырма құрылғыларды құру тәртібі

Қиыстырма құрылғыларды құру келесі тәртіппен жүргізіледі:

-       құрылғының мәтін түріндегі түсіндірмесінің негізінде оның ақиқаттық кестесі құрылады;

-       құрылған кестедегі деректер негізінде құрылғының жұмысын суреттеуші логикалық өрнек жазылады;

-       қажетті жағдайда алынған логикалық өрнек минимизацияланады;

-       алынған өрнек құрылғыны құруға бағдарланған түпнегіздік жинаққа (core set) сай түрлендіріледі;

-       ақырғы алынған өрнек негізінде түпнегіздік жинақтың элементтері арқылы құрылғының сұлбасы құрылады.

Құрылғыны құру тәртібінің бастапқы үш кезеңі бұрын (1.1.4-тарауда) қарастырылған болатын, сондықтан сонда алынған өрнек негізінде негізгі элементтер жинағының элементтері (ЕМЕС, НЕМЕСЕ, ЖӘНЕ) арқылы құрылғының сұлбасын құрамыз (1.9, a-суретті қара).

 

a

b

1.9 Сурет

Көптеген жағдайда құрылғының сұлбасын ЖӘНЕ-ЕМЕС элементтері-нің негізінде құру қажет болады. Бұндай жағдайда өрнек де Морган заңын пайдалану арқылы түрлендіріледі:

1.9, b-суретте құрылғының осы өрнек арқылы құрылған сұлбасы келті-рілген.

1.2.3 Қалыпты қиыстырма құрылғылар

Күрделі цифрлық құрылғылар әдетте, қалыпты қызмет атқарушы, жеке түрде құрылған қалыпты қызмет түйіндері арқылы құрылады. Цифрлық құрылғылардың қызмет буындары жалпы түрде: қиыстырма және тізбектеме түрлеріне бөлінеді. Осы тарауда қиыстырма түріндегі қалыпты қызмет буындарының құрылым принциптері мен жұмыс тәртібі қарастырылады.

1.2.3.1 Шифраторлар

Шифратор (Coder) – сигналға сәйкесті код қалыптастырушы құрылғы. Мысал ретінде сегіз кірісті (X7 … X0) шифратордың сұлбасын құру жолын қарастыралық. Кіріс саны сегіз болғандықтан, ол үшразрядты код (C2 … C0, CODE) қалыптастыру керек және кодтың қалыптасқанын жеке сигнал (O, OUT) арқылы құптауы керек (бұл сигнал қалыптасқан кодты қажетті жады буферіне жазып алуға пайдаланылады). Үлкен құрылымның құрамындағы жеке қызмет буындары әдетте, кезекпен  істейді, бұл олардың іске қосу кірісіне сәйкесті деңгейлі сигнал жіберілуі арқылы жүзеге асырылады. Осындай іске қосу кірісі (I, IN) біздің құрастыратын шифраторда да ескерілгені дұрыс. Тағы бір ескеретін мәселе: қалыпты қызмет буындарының іске қосу кірісі мен құптау шығысындағы сигналдың жандандыру деңгейі, әдетте, төменгі (0) мәнінде алынады. Шифратордың информациялық кірістеріне түсетін сигналдардың да жандандыру деңгейі төменгі (0) мәнінде болғаны бұндай құрылғыны іс жүзінде құруға ыңғайлы болады.

Шифратордың келтірілген түсіндірме суреттемесі оның ақиқаттық кестесін құруға толық мәлімет береді, келтірілген түсіндірме мәліметтерінің негізінде сол кестені (1.8-кестені қара) құралық.

 

 

1.8 К е с т е

I

Xi

C2

C1

C0

O

0

0

0

0

0

0

1

0

0

1

0

2

0

1

0

0

3

0

1

1

0

4

1

0

0

0

5

1

0

1

0

6

1

1

0

0

7

1

1

1

0

1

x

0

0

0

1

 

Кесте деректерінің негізінде жазылған шифратор шығыстарының логикалық өрнектері:

;

;

;

.

Бұл өрнектер алдымен НЕМЕСЕ функциялары арқылы жазылып, сосын де Морган заңын пайдалану арқылы ЖӘНЕ-ЕМЕС функциясымен суреттелген түріне түрлендірілді; оған тағы бір себеп – ЖӘНЕ-ЕМЕС элементтерінің олардың ішкі құрылымына байланысты тез әрекеттілігі басқа элементтермен салыстырғанда жоғары болады.

1.10-суретте шифратордың жазылған өрнектер негізінде құрылған сұлбасы келтірілген. Шифратор сұлбада шартты сызба белгілемесімен (1.10, b-суретті қара) көрсетіледі, ал 1.10, c-суретте Electronics Workbench бағдарламасының мүмкіндігін пайдалану арқылы жүзеге асырылған алдыңғы жиналған сұлбаның біріктірілген жеке блок (Subcircuit) түріндегі суреттемесі келтірілген (оның сәйкесті шықпалары олардың келтірілген құрылым сұлбасындағы орналастырылым бағытына сай шығарылған).

Құрылған шифратордың айта кететін бір кемшілігі бар, оған екі сигнал қатар жіберілген жағдайда оның шығарған коды шым-шытырық бірдеңеге айналып кетеді. Осындай жағдайды болдырмас үшін шифратордың өндірісте шығарылатын микросұлбалары (мысалы, 74148 микросұлбасы), әдетте, мәртебелі түрде құрылады. Яғни олар түскен бірнеше сигналдың белгіленген мәртебесі жоғарғысының кодын шығарады да, қалғандарына көңіл бөлмейді.

 

 

 

 

 

 

 

 

 

a

b

c

1.10 Сурет

1.2.3.1.1 Шифратордың өлшемін ұлғайту

Көптеген жағдайда таңдап алынған шифратор микросұлбасының өлшемі (кіріс саны) қойылған талапқа сай келмей, оны ұлғайту қажет болады. Мысалы, 74148 микросұлбасы сегіз кірісті мәртебелі шифратор қызметін атқарады. Осындай миросұлбалар негізінде (немесе алдыңғы құрылған сұлбаның жабық түріндегі блогы арқылы) кіріс саны екі есе ұлғайтылған шифратор құруға болады (1.11-суретті қара).

1.11 Сурет

1.2.3.2 Дешифраторлар

Дешифратор (Decoder) – кірістеріне түскен екілік кодқа сәйкесті шығысында сигнал қалыптастырушы құрылғы. Мысал ретінде төрт теріс шығысты (Q3 … Q0) дешифратордың сұлбасын құру жолын қарастыралық. Шығыс саны төртеу болғандықтан, оның кірісіне түсетін код екіразрядты (A1A0) болады. Дешифратордың іске қосу кірісіндегі (E, Enable) сигналдың жандандыру деңгейін төменгі (0) мәнінде алалық.

Дешифратордың келтірілген түсіндірме суреттемесінің негізінде, оның ақиқаттық кестесін (1.9-кестені қара) құрайық.

1.9 К е с т е

E

A1

A0

Q3

Q2

Q1

Q0

0

0

0

1

1

1

0

0

1

1

1

0

1

1

0

1

0

1

1

1

1

0

1

1

1

1

x

x

1

1

1

1

 

Кесте деректерінің негізінде жазылған дешифратор шығыстарының логикалық өрнектері:

;

;

;

.

1.12, a-суретте дешифратордың жазылған өрнектер негізінде құрылған сұлбасы келтірілген. Дешифратор сұлбада шартты сызба белгілемесімен (1.12, b-суретті қара) көрсетіледі, ал 1.12, c-суретте оның жиналған сұлбасының біріктірілген жеке блок түріндегі суреттемесі келтірілген.

 

 

 

 

 

 

 

a

b

c

1.12 Сурет

1.2.3.2.1 Дешифратор негізінде қиыстырма құрылғы құру

Күрделі логикалық функцияның өрнегінің жазылу тәртібін қарастыру кезінде (1.1.4-тарау) функцияның алынған логикалық өрнегіне (1.1) көз салсақ, ондағы әрбір термнің тура сегіз шығысты дешифратордың сәйкесті шығыстарының адресі екендігін көреміз. Демек, осындай дешифратордың сәйкесті шығыстарын бескірісті НЕМЕСЕ элементінің кірістеріне жалғау арқылы берілген функцияны жүзеге асыруға болады. Егер дешифратор теріс шығысты болса, онда (1.1) өрнегін де Морган заңы арқылы түрлендіреміз:

.

Алынған өрнектен берілген құрылғының қызметін теріс шығысты дешифратор негізінде жүзеге асыру үшін оның сәйкесті шығыстарына бескірісті ЖӘНЕ-ЕМЕС элементін жалғау жеткілікті екендігі көрініп тұр (1.13-суретті қара).

1.13 Сурет

Қиыстырма құрылғыны дешифратор негізінде құру тәсілі – аса ыңғайлы тәсіл: біріншіден, логикалық өрнекті минимизациялаудың қажеті жоқ (дәлірек айтқанда, өрнектің де қажеті жоқ, қажетті жалғамдар кестеден көрініп тұр), екіншіден, жалғыз дешифратор негізінде бірнеше функцияны қатар жүзеге асыруға болады.

1.2.3.3 Мультиплексорлар

Мультиплексор кірістерінің біреуін шығысына қосатын ауыстырғыш қызметін атқарады, қажетті кірістің таңдалуы сілтеу сөзімен жүзеге асырылады. Мультиплексордың кірістері екі топқа бөлінеді: дерек кірістері мен сілтеу кірістері. 

Мультиплексордың кірісті сілтеуге дешифраторды пайдалану арқылы құрылған сұлбасы 1.14, a-суретте, ал оның шартты сызба белгілемесі 1.14, b-суретте келтірілген.

Бірнеше мультиплексорды қатар қосу арқылы бірнешеразрядты (мысалы, сегізразрядты) сөздердің біреуін бір арнаға жіберу жұмысын атқаратын мультиплексорлық құрылым құру қиын емес, бұндай құрылымдарды арналы мультиплексор деп атауға болады.

a

b

1.14 Сурет

1.2.3.3.1 Мультиплексор негізінде қиыстырма құрылғы құру

Дешифраторлар сияқты мультиплексорлар негізінде де қиыстырма құрылғылардың жұмысын жүзеге асыруға болады. Біз оның екі жолын (тәсілін) қарастыралық.

Бірінші тәсілде жүзеге асырылуы қажетті функцияның сәйкесті аргументтер жинағындағы мәндері мультиплексордың дерек кірістеріне, ал аргумент мәндері оның адрестік кірістеріне беріледі. Бұл жерде мультиплексордың сілтеу (адрестік) кірістерінің саны функцияның аргументтерінің санымен (n) бірдей болу керек, демек, оның дерек кірістерінің саны 2n болады. 1.10-кестеде берілген функцияның осы тәсілмен, яғни сегізкірісті мультиплексор негізінде жүзеге асырылуы 1.15, a-суретте көрсетілген. Бұндағы жеке блок түрінде суреттелген мультиплексордың дерек кірістерінің шықпалары сол жағына, ал сілтеу кірістерінің шықпалары оның үстіңгі жағына орналастырылған.

1.10 К е с т е

X2

X1

X0

Y

0

0

0

1

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

0

1

1

1

0

 

Екінші тәсіл, функцияның аргументтерінің саны мультиплексордың сілтеу кірістерінің санынан артық болған жағдайда қолданылады. Бұл кезде мультиплексордың сілтеу кірістеріне аргумент сигналдарының бір бөлігі беріледі де, қалғаны оның дерек кірістерін реттеуге пайдаланылады. Келтірілген функцияның осы тәсілмен төрткірісті мультиплексор негізінде жүзеге асырылуы 1.15, b-суретте келтірілген. Бұнда A2 және A1 аргументтері мультиплексордың сілтеу сигналдары ретінде, ал A0 аргументі оның дерек кірістерін реттеуге пайдаланылған.

a

b

1.15 Сурет

1.2.3.4 Демультиплексорлар

Демультиплексор дерек кірісіндегі сигналды сілтеу коды арқылы анықталған шығысына жіберетін құрылғы. 

Демультиплексордың дешифратор арқылы құрылған сұлбасы 1.16, a-суретте, ал оның шартты сызба белгілемесі 1.16, b-суретте келтірілген.

 

a

b

1.16 Сурет

1.2.3.5 Қосуыштар

Қосуыштар – сандарды арифметикалық қосуға арналған құрылғылар. Көпразрядты сандарды қосу бірнеше бірразрядты қосуыштар арқылы жүзеге асырылады. Сондықтан, алдымен сол бірразрядты қосуыштартардың құрылым принциптерін қарастыралық.

1.2.3.5.1 Бірразрядты қосуыштар

Екі бірразрядты санды қосу кезінде олардың қосынды нәтижесі (S, Sum) мен келесі разрядқа жіберілетін тасымал (C, Carry) шығарылу керек, демек, оның жұмысын 1.11-кестемен суреттеуге болады. 

1.11 К е с т е

A

B

S

C

0

0

0

0

0

1

1

0

1

0

1

0

1

1

0

1

 

Кесте деректері негізінде жазылған құрылғы шығыстарының логикалық өрнектері:

.

Осы өрнектердің негізінде құрылған қосуыштың сұлбасы 1.17, a-суретте, ал оның жеке блок түрінде біріктірілген түрі 1.17, b-суретте келтірілген.

 

a

b

1.17 Сурет

Бұл қосуыш көпразрядты сандардың бірінші разрядтарын қосуға ғана жарайды (сондықтан ол жартылай қосуыш деп аталады), ал оның қалған сандардың өзге разрядтарына жарауы үшін оның алдыңғы разрядтан түскен тасымалды да қосатын мүмкіндігі болу керек. Толық қосуыштың жартылай қосуыштар арқылы құрылған сұлбасы 1.18, a-суретте, ал оның жеке блок түрінде біріктірілген түрі 1.18, b-суретте келтірілген.

 

a

b

1.18 Сурет

1.2.3.5.2 Көпразрядты қосуыштар

Көпразрядты қосуыштарды суреттелген толық қосуыштар арқылы құру қиын емес. 1.19-суретте төртразрядты қосуыштың сұлбасы, жабылған блогы және шартты сызба белгілемесі келтірілген.

a

b

c

1.19 Сурет

1.3 Тізбектеме құрылғылар

Шығыс сигналы (немесе сигналдары) кіріс сигналдарының кезекті мәндеріне және өзінің алдыңғы (кейде, одан бұрынғы да) жағдайына байланысты анықталатын құрылғылар тізбектеме құрылғылар деп аталады. Демек, бұндай құрылғылардың бұрынғы жағдайын есте сақтайтын мүмкіндігі, яғни оның құрамында жады элементтері болу керек. Сондықтан, алдымен жады элементтерінің (триггерлердің) түрлерімен және олардың құрылымы мен жұмыс принциптерімен танысайық.

1.3.1 Триггерлер

Триггерлер – екі тиянақты жағдайы бар, бірразрядты екілік сан сақтауға арналған құрылғылар. Оның тиянақты жағдайларының біреуі лог.1-ге, екіншісі лог.0-ге сәйкес келеді. Әдетте, триггерлік құрылымның қарама-қарсы деңгейлі (тура және теріс деп аталатын) екі шығысы болады, триггердің жағдайы оның тура шығысындағы сигнал деңгейімен анықталады.

Информацияның енгізілу (жазылу) тәртібіне байланысты триггерлер асинхронды және синхронды болып бөлінеді.

1.3.1.1 Асинхронды RS-триггерлер

Асинхронды триггерлердің жаңа жағдайға ауысуы тікелей олардың кірісіне берілетін информациялық сигналдардың өзгерісімен ғана анықталады. Оларды НЕМЕСЕ-ЕМЕС немесе ЖӘНЕ-ЕМЕС элементтерінің негізінде құруға болады.

1.3.1.1.1 Тура кірісті RS-триггер

Асинхронды триггердің НЕМЕСЕ-ЕМЕС элементтерінің негізінде құрылған сұлбасы 1.20, a-суретте келтірілген. Бұл құрылымның жұмысын 1.12-кестедегі жазылым ретімен талқылау арқылы қарастырайық.

 

a

b

1.20 Сурет

1.12 К е с т е

 

R

S

Q

Q’

1

0

0

?

?

2

1

0

1

3

0

0

1

4

1

1

0

5

0

1

0

6

1

1

0

0

7

0

0

???

???

 

Кестенің бірінші жолында – R = 0, S = 0; екі элементтің де бір кірісінде 0 тұр, ал олардың кері байланыстық кірістерінде қарастырылым басында қандай сигнал тұрғаны белгісіз, демек, құрылымның Q және Q’ шығыстарындағы сигнал деңгейлері де белгісіз.

Кестенің екінші жолында – R = 1, S = 0; жоғарғы элементтің бір кірісінде лог.1 тұрғандықтан, бұл элементтің жұмыс логикасына сәйкесті, оның шығысында (Q) лог.0 деңгейлі сигнал туады да, ол кері байланыс жолы арқылы төменгі элементтің екінші кірісіне түседі, нәтижесінде оның шығысында (Q’) лог.1 деңгейлі сигнал туады; сонымен, бұл жағдайда триггер лог.0 жағдайына келтіріледі (яғни, оған 0 жазылады).

Кестенің үшінші жолында – R = 0, S = 0; жоғарғы элементтің R кірісіндегі сигнал деңгейі өзгергенмен, оның екінші кірісінде (құрылымның Q’ шығысына жалғанған) лог.1 деңгейі тұрғандықтан, бұл элементтің шығысындағы сигнал деңгейі алдыңғы лог.0 деңгейінде қалады, демек триггердің жағдайы өзгермейді.

Кестенің төртінші жолында – R = 0, S = 1; төменгі элементтің бір кірісінде лог.1 тұрғандықтан, оның шығысында (Q’) лог.0 деңгейлі сигнал туады да, ол кері байланыс жолы арқылы жоғарғы элементтің екінші кірісіне түседі, нәтижесінде оның шығысында (Q) лог.1 деңгейлі сигнал туады; сонымен, бұл жағдайда триггер лог.1 жағдайына келтіріледі (яғни, оған 1 жазылады).

Кестенің бесінші жолында – R = 0, S = 0; төменгі элементтің S кірісіндегі сигнал деңгейі өзгергенмен, оның құрылымның Q шығысына жалғанған кірісінде лог.1 деңгейі тұрғандықтан, бұл элементтің шығысындағы сигнал деңгейі алдыңғы лог.1 деңгейінде қалады, демек, триггердің алдыңғы жағдайы сақталады.

Құрылымның қарастырылған жағдайларынан келесі қорытынды шығаруға болады: R = 1, S = 0 берілу жағдайы триггердің 0 жазу режиміне, R = 0, S = 1 жағдайы триггердің 1 жазу режиміне, ал R = 0, S = 0 жағдайы триггердің жазылған санды сақтау режиміне сәйкес келеді.

Триггердің кірістеріне R = 1, S = 1 берілген кезде (алтыншы жол) екі элементтің де шығыстарында лог.0 деңгейлі сигнал туады да, триггер сақтау режиміне ауыстырылғанда (жетінші жол), триггердің қай жағдайға тиянақталатындығы – кездейсоқ оқиға. Демек, бұндай жағдайды тудырмас үшін, қарастырылған триггердің кірістеріне R = 1, S = 1 берілмеуі керек; сондықтан, бұл жағдай триггердің тиым салынған режимі деп аталады.

Сонымен, қарастырылған триггердің жұмыс режимдерін 1.13-кесте түрінде суреттеуге болады.

1.13 К е с т е

R

S

Q

Q’

Режим

0

0

Q0

Q0

Сақтау режимі

0

1

1

0

‘1’ жазу режимі

1

0

0

1

‘0’ жазу режимі

1

1

Тиым салынған режим

 

Қарастырылған триггердің жазу режимдері сәйкесті информациялық сигналдардың (S – Set, R – Reset) бірлік деңгейімен жүзеге асырылатын-дығына байланысты, бұндай триггер тура кірісті триггер деп аталады. Оның шартты сызба белгілемесі 1.20, b-суретте келтірілген.

1.3.1.1.2 Теріс кірісті RS-триггер

ЖӘНЕ-ЕМЕС элементтерінің негізінде құрылған асинхронды триггердің сұлбасы 1.21, a-суретте келтірілген. Бұл құрылымның жұмысын 1.14-кестедегі жазылым ретімен қарастыралық.

 

a

b

1.21 Сурет

Кестенің бірінші жолында – R’ = 1, S’ = 1; екі элементтің де бір кірісінде 1 тұр, ал олардың кері байланыстық кірістерінде қарастырылым басында қандай сигнал тұрғаны белгісіз, демек, құрылымның Q және Q’ шығыстарындағы сигнал деңгейлері де белгісіз.

Кестенің екінші жолында – R’ = 0, S’ = 1; төменгі элементтің бір кірісінде лог.0 тұрғандықтан, бұл элементтің жұмыс логикасына сәйкесті, оның шығысында (Q’) лог.1 деңгейлі сигнал туады да, ол кері байланыс жолы арқылы жоғарғы элементтің екінші кірісіне түседі, нәтижесінде оның шығысында (Q) лог.0 деңгейлі сигнал туады; сонымен, бұл жағдайда триггер лог.0 жағдайына келтіріледі (яғни, оған 0 жазылады).

1.14 К е с т е

 

R

S

Q

Q’

1

1

1

?

?

2

0

0

1

3

1

0

1

4

0

1

0

5

1

1

0

6

0

0

1

1

7

1

1

???

???

 

Кестенің үшінші жолында – R’ = 1, S’ = 1; төменгі элементтің R кірісіндегі сигнал деңгейі өзгергенмен, оның құрылымның Q шығысына жалғанған кірісінде лог.0 деңгейі тұрғандықтан, бұл элементтің шығысындағы сигнал деңгейі алдыңғы лог.1 деңгейінде қалады, демек триггердің жағдайы өзгермейді.

Кестенің төртінші жолында – R’ = 1, S’ = 0; жоғарғы элементтің бір кірісінде лог.0 тұрғандықтан, оның шығысында (Q) лог.1 деңгейлі сигнал туады да, ол кері байланыс жолы арқылы төменгі элементтің екінші кірісіне түседі, нәтижесінде оның шығысында (Q’) лог.0 деңгейлі сигнал туады; сонымен, бұл жағдайда триггер лог.1 жағдайына келтіріледі (яғни, оған 1 жазылады).

Кестенің бесінші жолында – R’ = 1, S’ = 1; жоғарғы элементтің S кірісіндегі сигнал деңгейі өзгергенмен, оның құрылымның Q’ шығысына жалғанған кірісінде лог.0 деңгейі тұрғандықтан, бұл элементтің шығысындағы сигнал деңгейі алдыңғы лог.1 деңгейінде қалады, демек, триггердің алдыңғы жағдайы сақталады.

Құрылымның қарастырылған жағдайларынан келесі қорытынды шығаруға болады: R’ = 0, S’ = 1 берілу жағдайы триггердің 0 жазу режиміне, R’ = 1, S’ = 0 жағдайы триггердің 1 жазу режиміне, ал R’ = 1, S’ = 1 жағдайы триггердің жазылған санды сақтау режиміне сәйкес келеді.

Триггердің кірістеріне R’ = 0, S’ = 0 берілген кезде (кестенің алтыншы жолы) екі элементтің де шығыстарында лог.1 деңгейлі сигнал туады да, триггер сақтау режиміне ауыстырылғанда (кестенің жетінші жолы), триггердің қай жағдайға тиянақталатындығы кездейсоқ оқиға. Демек, бұндай жағдайды тудырмас үшін, қарастырылған триггердің кірістеріне R’ = 0, S’ = 0 берілмеуі керек, сондықтан, бұл жағдай триггердің тиым салынған режимі болады.

Сонымен, қарастырылған триггердің жұмыс режимдерін 1.15-кесте түрінде суреттеуге болады. Қарастырылған триггердің жазу режимдері сәйкесті информациялық сигналдардың (S – Set, R – Reset) нөлдік деңгейімен жүзеге асырылатын-дығына байланысты, бұндай триггер теріс кірісті триггер деп аталады. Оның шартты сызба белгілемесі 1.21, b-суретте келтірілген.

1.15 К е с т е

R’

S’

Q

Q’

Режим

0

0

Тиым салынған режим

0

1

1

0

 ‘0’ жазу режимі

1

0

0

1

‘1’ жазу режимі

1

1

Q0

Q0

Сақтау режимі

 

1.3.1.2 Синхронды триггерлер

Синхронды триггерлердің жаңа жағдайға ауысуы арнайы басқару сигналымен жүзеге асырылады, әрине, оның қай жағдайға ауысатындығы информациялық сигналдарға байланысты анықталады. Басқару сигналын қабылдау тәсіліне байланысты синхронды триггерлер статикалы басқарылымды және динамикалы басқарылымды түрлеріне ажыратылады.

1.3.1.2.1 Синхронды RS-триггер

Статикалы басқарылымды (яғни, деңгей арқылы басқарылатын) RS-триггердің сұлбасын теріс кірісті асинхронды RS-триггерге екі ЖӘНЕ-ЕМЕС элементінен тұратын басқару сұлбасын қосу арқылы жүзеге асыруға болады (1.22, a-суретті қара).

 

a

b

1.22 Сурет

Бұл триггердің жұмыс режидері 1.16-кестеде суреттелген.

1.16 К е с т е

С

R

S

Q

Q’

Режим

0

x

x

Q0

Q0

Сақтау режимі

1

0

0

Сақтау режимі

0

1

1

0

 ‘1 жазу режимі

1

0

0

1

0 жазу режимі

1

1

Q0

Q0

Тиым салынған режим

 

C = 0 кезінде триггер сақтау режимінде болады. Триггердің R мен S кірістеріндегі сигнал деңгейлеріне сәйкесті жағдайға ауысуы С = 1 кезінде жүзеге асырылады. Синхронды RS-триггердің шартты сызба белгілемесі 1.22, b-суретте келтірілген.

1.3.1.2.2 Статикалы басқарылымды D-триггер

Статикалы басқарылымды D-триггердің (Delay – кідіріс) сұлбасы мен шартты сызба белгілемесі 1.23-суретте келтірілген, ал оның жұмыс режимдері 1.17-кестеде суреттелген.

 

a

b

1.23 Сурет

1.17 К е с т е

С

D

Q

Q’

Режим

0

x

Q0

Q0

Сақтау режимі

1

0

0

1

0 жазу режимі

1

1

0

 ‘1 жазу режимі

 

1.3.1.2.3 Динамикалы басқарылымды триггерлер

Динамикалы басқарылымды триггерлер жағдайының ауысуы статикалы басқарылымды триггерлердегі сияқты басқару сигналының деңгейімен емес, оның ауытқуымен жүзеге асырылады. Олар үштриггерлі құрылым деп аталатын сұлбамен құрылады. Динамикалы басқарылымды триггерлердің күрделі сұлбаларын тәптіштеп қарап жатпай-ақ, олардың жұмыс режимдерімен ғана танысамыз.

D-триггер. Динамикалы басқарылымды D-триггердің шартты сызба белгілемесі 1.24, a-суретте келтірілген, ал оның жұмыс режимдері 1.18-кестеде суреттелген.

 

a

b

1.24 Сурет

 

 

1.18 К е с т е

С

D

Q

Q’

0

0

1

1

1

0

 

Бұл триггердің жағдайының информациялық сигналдың мәніне (D) сәйкесті ауысуы басқару сигналының тура ауытқу (0-ден 1-ге) мезетінде жүзеге асырылады. Оның шартты сызба белгілемесінде басқару сигналының ауытқу бағыты сәйкесті бағыттама түрінде бейнеленеді (1.24, a-суретті қара).

JK-триггер. JK-триггердің төрт түрлі жұмыс режимі бар (1.19-кестені қара): оның үш режимі (‘0’ жазу, ‘1’ жазу, сақтау) RS-триггердегі сияқты, ал төртінші режим санау режимі деп аталады; бұл режимде триггер кезекті жағдайынан қарсы жағдайға ауысады. JK-триггердің келтірілген жұмыс кестесінде және оның шартты сызба белгілемесінде (1.24, b-сурет) оның жағдайын ауыстыруы басқару сигналының теріс ауытқу (1-ден 0-ге) мезетінде жүзеге асырылатындығы сәйкесті бағыттау белгілерімен суреттелді.

1.19 К е с т е

С

J

K

Q

Q’

Режим

0

0

Q0

Q0

Сақтау режимі

0

1

0

1

0 жазу режимі

1

0

1

0

 ‘1 жазу режимі

1

1

Q0

Q0

Санау режимі

 

T-триггер. T-триггер санау режимінде істейтін триггер. T-триггердің қызметін жүзеге асыру үшін D-триггер мен JK-триггердің қосылым тәртібі 1.25-суретте келтірілген.

 

a

b

1.25 Сурет

Триггерлердің микросұлбалары. Микросұлба түрінде D-триггерлер мен JK-триггерлер шығарылады. Бұл микросұлбаларда информациялық және басқару сигналдарын енгізу шықпаларымен қатар, бастапқы қойылым сигналдарының (R', S’) шықпалары орналастырылады (1.26-суретті қара). Бұл кірістерге берілетін асинхронды сигналдардың мәртебесі басқа  сигналдарға қарағанда жоғары болады.

 

a

b

1.26 Сурет

1.3.2 Регистрлер

Регистр – көпразрядты екілік сан сақтауға арналған құрылғы. Олар триггерлердің (мысалы D-триггерлердің) негізінде құрылады. Әрине, регистр құрамындағы триггерлердің саны регистрдің разряд санымен анықталады.  Регистрге санның енгізілу тәртібіне байланысты, олардың тізбекті немесе параллель регистр деп аталатын түрлері болады.

Тізбекті регистрде әрбір триггердің шығысы келесі триггердің информациялық кірісіне жалғанады. Бірнешеразрядты екілік сан түріндегі сөздің разряд мәндері бір-бірлеп бірінші триггерге тактілік сигналдың сәйкесті ауытқуында енгізіледі де, осы мезетте триггерлердегі бұрынғы енгізілген разряд мәндері бір триггерден келесі триггерге ығысып отырады. Әрине, бүкіл сөзді енгізу үшін, оның қанша разряды болса, сонша тактілік сигнал қажет болады.

Параллель регистрдің триггерлерінің информациялық кірістеріне сөз разрядтарының мәндері қатар беріліп, олар регистрге жалғыз тактілік сигнал арқылы енгізіледі.

Екі түрлі енгізу тәсілі қамтылған әмбебап регистрлер де болады. Осындай әмбебап регистрдің мысалы ретінде 74194 аталымды төртразрядты регистрдің сызба белгілемесі 1.27-суретте келтірілген.

1.27 Сурет

Оның шықпаларының (яғни, оларға берілетін сигналдардың) қызметі:

-       VCC, GND – қорек көзі мен жердің қосылатын шықпалары;

-       A, B, C, D информацияны параллель енгізу шықпалары;

-       QA, QB, QC, QD – регистрдің шығыстары;

-       SR – солға ығыстыру кезіндегі информация енгізу шықпасы;

-       SL – оңға ығыстыру кезіндегі информация енгізу шықпасы;

-       S1, S0 – регистрдің жұмыс режимдерін анықтаушы сигналдардың шықпалары: S1 = 0, S0 = 0 – сақтау режимі; S1 = 0, S0 = 1 – солға ығыстыру режимі; S1 = 1, S0 = 0 – оңға ығыстыру режимі; S1 = 1, S0 = 1 – параллель енгізу режимі;

-       CLK – тактілік сигналдың шықпасы;

-       CLR’ – тазарту сигналының шықпасы.

1.3.3 Санауыштар

Санауыш – импульстердің әрбір сәйкесті ауытқымасында құрамындағы санды бірге өзгертіп отыратын құрылғы. Құрамындағы санның өзертілу бағытына байланысты тура, теріс және әмбебап санауыштар болады. Санауыштар T-триггерлердің негізінде құрылады.

Қарапайым санауыштың мысалы ретінде Electronics Workbench бағдарламасының элементтер қорындағы 7493 аталымды төртразрядты санауыштың сызба белгілемесі 1.28, a-суретте көрсетілген.

 

a

b

1.28 Сурет

Оның құрамында бірразрядты және үшразрядты санауыштар орналастырылған. Бұл микросұлбаның шықпаларының  қызметі:

-       VCC, GND – қорек көзі мен жердің қосылатын шықпалары;

-       CKA, QA – бірразрядты санауыштың кірісі мен шығысы;

-       CKB, QB, QC, QD – үшразрядты санауыштың кірісі мен шығыстары;

-       R01, R02 – санауыштарды тазарту сигналдарының шықпасы.

Бұл микросұлбаның құрамындағы санауыштарды жеке түрінде де, оларды бір-біріне жалғап, төртразрядты санауыш ретінде де пайдалануға болады.

Әмбебап санауыштың мысалы ретінде Electronics Workbench бағдарламасының элементтер қорындағы 74169 аталымды төртразрядты санауыштың сызба белгілемесі 1.28, b-суретте көрсетілген.

Бұл микросұлбаның шықпаларының  қызметі:

-       VCC, GND – қорек көзі мен жердің қосылатын шықпалары;

-       A, B, C, D – информацияның параллель енгізілу кірістері;

-       LOAD’ – информацияны параллель енгізу сигналының кірісі;

-       QA, QB, QC, QD – санауыштың шығыстары;

-       D/U’ – санау бағытын анықтаушы сигнал шықпасы;

-       ENP’, ENT’ – санауышты іске қосу сигналдарының кірістері;

-       CLK – тактілік сигналдың кірісі;

-       RCO’ – санау шегіне жету сигналы.

1.4 Жадылық құрылғылар

Жадылық құрылғылар (ЖҚ) – информация сақтауға арналған құрылғылар.

1.4.1 Жадылық құрылғылардың басқару сигналдары

Жадылық құрылғылардың жұмысы келесі сигналдармен басқарылады:

-       A (Address) – адрес, оның разрядтылығы (n) жады құрылымының ұяшық санымен (N) анықталады. Жады құрылымының ұяшық саны, әдетте, екінің тұтас мәнді дәрежесімен сипатталады. Адрес разрядтылығы (n) жадының ұяшық санына n =log2N қатынасымен байланысты;

-       CS (Chip Select) немесе CE (Chip Enable) – микросұлбаны таңдау немесе іске қосу сигналы;

-       R/W (Read/Write) – сәйкесті операцияны орындату сигналы;

-       DI (Data Input) және DO (Data Output) – кіріс және шығыс деректерінің сигналдары жүретін желілер. Кейбір жады құрылымдарында олар біріктірілген түрінде пайдаланылады.

1.4.2 Жадылық құрылғылардың басты параметрлері

Жады құрылымдарының жұмыс мүмкіндігі келесі параметрлерімен суреттеледі:

-       информациялық сыйымдылығы – сақталатын информацияның ең жоғарғы көлемі. Ол бит, байт немесе, бірнеше байттан тұратын, сөз санымен сипатталады;

-       ұйымдастырылымы – сақталатын сөз санының олардың разряд санына көбейтіндісі түрінде сипатталады. Мысалы, информациялық сыйымдылығы 2048 бит жады құрылымы 256x8 немесе 128x16 түрінде ұйымдастырылуы мүмкін;

-       тезәрекеттілігі – оқу, жазу операцияларының және оқу/жазу циклінің ұзақтығымен бағаланады. Қазіргі заманғы, сөз тобымен (бумасымен) жұмыс істейтін, жады құрылымдарында айтылған дәстүрлі параметрлермен қатар бастапқы байланыс уақыты (Latency) және буманың келесі сөздерінің жіберілім қарқыны (Bandwidth) аталымды жаңа параметрлер енгізілген;

Екі сигналдың (A және B) уақытқа қарай өзара орналасымына байланысты келесі параметрлер беріледі:

-       tSU(A–B) – екі сигналдың басталым мезгілдерінің аралығымен сипатталатын, алғы қойылым уақыты;

-       tH(A–B) – A сигналының басталымы мен B сигналының аяқталым  мезгілдерінің аралығымен сипатталатын, ұсталым уақыты;

-       tV(A–B) – екі сигналдың аяқталым мезгілдерінің аралығымен сипатталатын, сақталым уақыты;

-       tW сигнал ұзақтығы.

1.4.3 Жадылық құрылғылардың негізгі түрлері

Жадылық құрылғылар, өзара қайшы келетін, басты параметрлерінің (информациялық сыйымдылығы мен тезәрекеттілігінің) шамасына қарай, келесі түрлерге бөлінеді:

-       регистрлік жады, олар процессордың немесе сол сияқты үлкен құрылымдардың құрамында (яғни, олардың ішкі блогы ретінде) орналастырылады; сондықтан процессор сыртында жүзеге асырылған, баяу істейтін жады құрылымдарына байланыс саны кемиді де, жалпы құрылымның жұмыс жылдамдығының көтерілуіне жағдай жасалады;

-       кэш-жады, онда кезекті алмасу операцияларында пайдаланылатын информацияның көшірмесі сақталады, сондықтан олардың қайта қажет болуында шығарылуы тезірек орындалады;

-       негізгі жады (жұмыс жадысы, тұрақты жады), ол процессормен тікелей алмасу режимінде істейді және оның тезәрекеттілігі процессормен, мүмкіндігінше, келістірілген;

-       сыртқы жады, олар информациялық сыйымдылығы жағынан, ең көлемді құрылымдар, бірақ, олардың тезәрекеттілігі (қозғалмалы құрылғылар негізінде құрылатындықтан) басқа жады түрлерімен салыстырғанда өте төмен болады.

Жадылық құрылғылар, деректерге  шығу тәсіліне қарай келесі түрлеріне бөлінеді:

-       сілтеу арқылы шығарылымды ЖҚ;

-       тізбекті шығарылымды ЖҚ;

-       танымалды шығарылымды ЖҚ.

Сілтеу арқылы шығарылымды ЖҚ-лар RAM (Random Access Memory) және ROM (Read Only Memory) түрлеріне бөлінеді. RAM түрлі ЖҚ-ларда кезекті бағдарламаның орындалуы кезіндегі алмасуға қатысты, кез келген уақытта өзгеретін деректер сақталады. Олардың жадылық элементтерінде дерек сақталуы қорек көзіне тәуелді.

RAM түрлі ЖҚ-лар статикалық (SRAM) және динамикалық (DRAM) түрлерге бөлінеді. Оның біріншісінде жады элементтері ретінде триггерлер пайдаланылады, сондықтан олардың тезәрекеттілігі жоғары болады; ал екіншісінде деректер МТШ-құрылымның элементтері арқылы құрылған конденсаторлардың зарядтары түрінде сақталады. Конденсаторлардың өздігінен зарядсыздануы деректерді жояды, сондықтан олардың қайта-қайта (әрбір миллисекунд сайын) қалпына келтіріліп отырылуы керек. Бірақ, динамикалық жады элементтерінің орналастырылу тығыздығы статикалық құрылыммен салыстырғанда бірнеше есе асып түседі.

ROM түрлі ЖҚ-лардың кейбір түріндегі информация ешқашан өзгертілмейді, ал кейбір түрінде өзгертіледі, бірақ ол құрылғының жұмыс режимінде емес, арнайы режимде жүзеге асырылады.

ROM түрлі ЖҚ-лар бағдарлану тәсіліне байланысты бірнеше түрде шығарылады:

-       ROM(M) түріндегі құрылымдар жинам технологиясымен өндірісте шығарылу кезінде арнайы маскалар арқылы бағдарланады да, одан кейін ондағы информация ешқашан өзгертілмейді;

-       PROM (Programmable ROM) түріндегі құрылымдарды пайдаланушының өзі бағдарлайды (яғни, оған қажетті информацияны енгізеді), одан кейін бұл құрылым ROM(M) сияқты тұрақты жады ретінде пайдаланылады;

-       EPROM (Electrically Programmable ROM) және EEPROM (Electrically Erasable Programmable ROM) түріндегі құрылымдардағы информацияны өшіріп, одан кейін оларды қайтадан бағдарлауға болады. EPROM құрылымдарындағы информация ультракүлгін сәулесімен, ал EEPROM құрылымдарындағы информация электр сигналдарымен өшіріледі. Оларды бағдарлау зертханалық жағдайда арнайы бағдарлаушы құрылғылар арқылы жүзеге асырылады.

Тізбекті шығарылымды ЖҚ-ларға жазылған деректер кезек құрады. Кезектегі сөздердің оқылуы олардың жазылым тәртібімен немесе керісінше тәртіппен жүзеге асырылады. Сөздердің тура шығарылым тәртібі FIFO (First In – First Out) буферлері мен файлды және циклді ЖҚ-ларда қолданылады. Сөздердің кері тәртіппен оқылуы LIFO (Last In – First Out) буферлері ретінде істейтін стек түріндегі ЖҚ-ларда қолданылады.

Танымалды шығарылымды ЖҚ-лардағы информацияны іздеу оның жадыдағы орналасымы арқылы емес, cөз құрамына енгізілген арнайы танымал белгісі (tag) арқылы жүзеге асырылады.

1.4.4 Жадылық құрылғылардың негізгі құрылымдары

SRAM және ROM түрлі жадылық құрылғылар 2D, 3D және 2DM құрылымымен құрылады.

1.4.4.1 2D құрылымы

2D құрылымының ұйымдастырылу тәртібі 1.29-суретте көрсетілген. Бұл құрылымда m-разрядты жады ұяшықтары (ЖҰ) жеке жолдарға орналасады (суретте – вертикаль бойында), сондықтан бұндай құрылым көбіне сызықты құрылым деп аталады.

1.29 Сурет

Адрес кодының дешифраторы (DC), рұқсат сигналы CS (Chip Select) берілген кезде, шығыс жолдарының біреуін жандандырып, таңдалған жолдағы ұяшыққа, демек, онда сақтаулы сөзге қол жеткізеді. Матрица бағаналарының сәйкесті элементтері вертикаль жолға, яғни ішкі дерек жолына (разряд жолына, оқу/жазу жолына) жалғанған. Бағана элементтерінде сөздердің аттас биттері сақталған. Сөздің жіберілім бағыты R/W (Read/Write) сигналының әрекетіне байланысты оқу/жазу күшейткіштерімен анықталады.

2D құрылымды жадылық құрылғының жады ұяшықтарының санын бірнеше есе ұлғайту керек болса, құрылғыдағы дешифратордың шығыс саны да сонша есе ұлғайтылу керек болады, ал көпшығысты дешифратор құру – жеңіл мәселе емес. Сондықтан 2D құрылымы қарапайым құрылымдарда ғана пайдаланылады.

1.4.4.2 3D құрылымы

3D құрылымы (матрицалы құрылым) қоскоординаталы талғам арқылы адрес дешифраторын жеңілдетуге мүмкіндік береді (1.30-суретті қара).

1.30 Сурет

Бұнда n разрядты адрес коды екіге бөлінеді де, олардың әрбіреуі жеке ажыратылады. Жандандырылған жолдардың қиылысындағы жады элементі (немесе ұяшығы) таңдалады. Бұндай қиылыстар саны

2n/2 х 2n/2 = 2n.

Екі дешифратордың шығыстарының толық саны

2n/2 + 2n/2 = 2n/2+1

болады, ал бұл 2D құрылымдағы дешифратордың шығыс санынан (2n) санынан едәуір кем.

3D құрылымының мүмкіндігі 2D құрылымымен салыстырғанда көбірек болғанмен, оның қолданылым аймағы да шектелген.

1.4.4.3 2DM құрылымы

Үлкен құрылымдардың (мысалы, компьютерлердің) жады жүйелерін ұйымдастыруға арналған 2DM (модификацияланған 2D) құрылымының жады элементтерінің матрицасы (1.31-суретті қара) 2D құрылымының сипатындай: дешифратордың жандандырылған шығысы толық бір жолды таңдайды. Бірақ 2D құрылымынан ерекше, бұнда жол ұзындығы сақталушы сөздердің разряд санындай емес, одан бірнеше есе асып түседі. Жолдардың біреуін таңдауға адрес кодының An–1... Ak бөлігі пайдаланылады. Адрестің қалған разрядтары (от Ak–1... A0) таңдалған жолдағы көптеген сөздердің қажеттісін мультиплексор арқылы бөліп шығаруға пайдаланылады. Жол ұзындығы – m2k, бұндағы m – сақталушы сөздердің разряд саны. Ұзақтығы 2k жолдың әрбір “кесіндісінен” 2k мультиплексор бір бит таңдайды. Мультиплексорлардың шығыстарында шығыс сөзі қалыптасады. Үш жағдайлы басқарылымды буферлердің ОЕ кірістеріне түсетін CS сигналының рұқсатымен шығыс сөзі сыртқы желіге жіберіледі.

1.31 Сурет

1.4.5 Тұрақты жадылық құрылғылардың байланыс элементтері

1.4.5.1 ROM(M)  құрылғылары

ROM (Read Only Memory) түрлі жадылық құрылғылардың  кейбіреуіндегі информация (ROM(M) және PROM түрлі ЖҚ-да) ешқашан өзгермейді, ал кейбіреуінде (EPROM и EEPROM түрлі ЖҚ-да) өзгертіледі, бірақ ол құрылғының жұмыс режимінде емес, арнайы режимде жүзеге асырылады.

ROM(M) түріндегі құрылымдар жинамды технологиямен олардың өндірісте шығарылу кезінде арнайы маскалар арқылы бағдарланады да, одан кейін ондағы информация ешқашан өзгертілмейді. Оларды бағдарлау жады элементтерінің матрицасының горизонталь және вертикаль жолдарының арасында байланыс элементтерінің орналастырылуы арқылы жүзеге асырылады. Байланыс элементтері ретінде диодтардың, биполярлы транзисторлардың, МОШ-транзисторлардың және т.б. пайдаланылуы мүмкін.

Диодты ROM(M) матрицасында (1.32-суретті қара) горизонталь жолдар – сөз талғам жолдары, ал вертикаль жолдар – оқылым жолдары. Оқылатын сөз диодтардың координат торының түйіндеріндегі орналасысымымен анықталады. Сәйкесті қиылыста диодтың орналастырылған жағдайында таңдалған горизонталь жолдың жоғары мәнді потенциалы сәйкесті вертикаль жолға жіберіледі де, сөздің осы разрядында логикалық бір сигналы шығады. Диодтың жоқ кезінде, вертикаль жол резистор арқылы жерге жалғанғандықтан, осы жолдың потенциалы нөлге жуық болады. Көрсетілген матрицадағы талғам жолы Т0 жандандырылғанда 11010001 сөзі оқылады (номері ноль ұяшықта осы сөз сақталған). Т1 жолы жандандырылғанда 10101011 сөзі оқылады (ол номері 1 ұяшықта сақталған). Талғам жолдары – адрес дешифраторының шығыстары, әрбір адрес қиыстырымы дешифратордың сәйкесті шығысын жандандырады да, сілтенген ұяшықтағы сөз оқылады.

1.32 Сурет

МОШ-транзисторлы құрылымның матрицасының сәйкесті қиылысындағы нөл сақтаушы МОШ-транзисторларының арнасы мен жапқышының арасындағы тотық қабатының қалыңдығы ұлғайтылады да, ол транзистордың шекті ашылым кернеуін өсіреді, яғни ол ашылмайтын жағдайға келтіріледі, ал бір сақтаушы транзисторлардың тотық қабатының қалыңдығы оның дешифратордан түсетін талғам сигналымен ашылатындай мөлшерге қойылады (1.33-суретті қара).

1.33 Сурет

ROM(M) түрлі ЖҚ-лардың жады элементтері өте аз орын алады, демек, сәйкесті микросұлбалардың жиналым деңгейі жоғары болады. Бірақ жиналымды технологиялық тәсілмен бағдарлауға арналған маскаларды жобалау мен жасауға кететін қаражат аса көп болады. Бұндай қаражат олардың кең қолданылатын жағдайында ғана ақталады. Бұдан олардың қолданылым аймағы да анықталады, олар – тұтынушылардың көпшілігіне қажетті, стандартты информация сақтау. Мысалы, маскалы бағдарламалы ЖҚ-ларда алфавит (орысша және латынша) символдарының, қалыпты функциялардың (синустардың, квадраттық функциялардың және т.б.) кестелері, стандартты бағдарламалар және с.с. кең қолданылымды информацияның “тігілімдері”[1] болады.

1.4.5.2 PROM құрылғылары

PROM (Programmable ROM) түрлі жадылық құрылғылардың  микросұлбалары арнайы жалғамаларды жою немесе оларды құру арқылы бағдарланады. Микросұлбаның бастапқы дайындалымында барлық жалғамалар болады (немесе ешқандай жалғама болмайды). Бағдарлаудан кейін олардың қажеттілері ғана қалады (немесе құрылады).

Жойылымды жалғамалы (fuse түрлі) ЖҚ-лардың бастапқы микросұлбасында барлық жалғама орналастырылған (яғни, жады матрицасының барлық қиылысында лог.1 тұрады). Бағдарлау кезінде олардың кейбірі, амплитудасы мен ұзақтығы жеткілікті мөлшердегі, ток импульстарымен еріту арқылы жойылады (яғни, жады матрицасының сәйкесті қиылыстарына лог.0 жазылады). Ерітілме жалғамалар диодтардың немесе транзисторлардың электродтарына қосылады (1.34, a-суретті қара).

Құрылымды жалғамалы (antifuse түрлі) ЖҚ-лардың бастапқы микросұлбасының құрамындағы жады матрицасының барлық қиылысында қарсы қосылымды диод түріндегі немесе жұқа диэлектрлік қабат түріндегі құрылым орналастырылған.

 

a

b

1.34 Сурет

Қосдиодты құрылымның (1.34, b-суретті қара) бастапқы жағдайдағы кедергісі жоғары болады да, бұл қиылыстардың ажыратылған жағдайына, яғни онда лог.0 сақталған элемент тұрғанына сәйкес келеді. Нақтылы қиылыстарды лог.1 жағдайына келтіру үшін, яғни онда бір жазу үшін, бұндағы диодтарға жоғары мәнді кернеу беру арқылы кері бағытта қосылған диод тесіліп, бұл қиылыс тұйықталады да, онда ток жүргізуші жалғама туады.

Диэлектрлік қабатты құрылымдар аса ықшамды келеді, сондықтан олар, негізінде, мүмкіндігі және оған сәйкесті күрделілігі аса жоғары болатын, қазіргі заманғы бағдарламалы құрылымдарда қолданылады.

1.4.5.3 EPROM және EEPROM құрылғылары

Қайта бағдарламалы EPROM және EEPROM түрлі ЖҚ-ларда ескі информацияны өшіріп, оның орнына жаңа информация жазу мүмкіндігі жасалған. Бұл операциялар (өшіру және жазу) олардың жұмыс режимінен шығарылған арнайы жағдайда жүргізіледі.

Информацияның өшірілуі EPROM құрылымында ультракүлгін сәулесімен, ал EEPROM құрылымында электрлік тәсілмен жүзеге асырылады.

Қазіргі заманғы қайта бағдарламалы ЖҚ-лардың жады элементтері ретінде МНТШ-транзисторлар (Металл, Нитрид, Тотық, Шалаөткізгіш) және ЗТИМТШ-транзисторлар (Зарядтардың Тасқынды Инжекциясына негізделген МТШ-транзистор) пайдаланылады. Информация сақтаушы жады элементтерінің қызметі EPROM құрылымында МНТШ-транзисторлардың екі диэлектрлік қабатының (кремний тотығы мен кремний нитридінің) шекарасында зарядтардың ұсталымына, ал EEPROM құрылымында ЗТИМТШ-транзисторларда қосымша қалқыма жаппаның тудырылуына негізделген.


2 Микропроцессорлар және микропроцессорлық жүйелер

2.1            Микропроцессорлық жүйелердің құрылым принциптері

Микропроцессорлық жүйенің негізін қалаушы және оның жұмысын жүзеге асырушы басты бөлігі – микропроцессор (МП). Микропроцессор жүйеде информацияның өңделуін және оның жан-жақты жіберілімін бағдарлама арқылы басқарады. Қойылған мәселенің орындалу тәртібі сәйкесті бағдарламаға, яғни алынған микропроцессорға тән (яғни, оның командалар жүйесіне кіретін) командалар тізбесінің орындалуы арқылы жүзеге асырылады.

Микропроцессорлық жүйенің құрамына микропроцессормен қатар жады құрылымдары және информацияны енгізу/шығару құрылғылары (сыртқы құрылғылар) кіреді. Микропроцессорлық жүйенің құрамында бірге қолдануға жарамды (яғни, архитектурасы мен электрлік параметрлері бойынша сәйкестірілген) микросұлбалар жинағы микропроцессорлық жинам деп аталады.

Микропроцессорлық жүйелердің (МПЖ) құрылым негізіне үш принцип алынған:

-       модулдік;

-       магистралдік;

-       микробағдарламалы басқару.

Модулдік принцип жүйенің, қызметі жағынан толықтай бітірілген, жеке блоктар негізінде құрылатындығын сипаттайды. Әрбір модулдің, оны іске қосатын, рұқсат кірісі болады;  ондағы сигнал деңгейі модулдің үшінші (жоғары кедергілі) жағдайын, яғни оның жүйе желісіне қосылу/қосылмауын басқарады.

Магистралдік принцип МПЖ-нің қызмет блоктарының арасындағы байланыс сипатын анықтайды; жүйенің барлық блогы өзара жүйелік магистраль (жүйе желісі) арқылы жалғанады және сол арқылы информация алмасады.

Микробағдарламалы басқару принципі жүйе бағдарламасын құруға пайдаланылатын командалардың әрбіреуінің қарапайым операциялар – микрокомандалар (информация жіберілімі, арифметикалық операциялар, ығыстырымдар және т.б.) арқылы жүзеге асырылу мүмкіндіктерін сипаттайды.

Жүйелік магистралға негізгі үш информациалық желі кіреді: олар – адрес желісі АВ (Address Bus), дерек желісі DB (Data Bus) және басқарым желісі СВ (Control Bus).

Дерек желісі – жүйе модулдерінің арасында дерек алмастыратын, негізгі желі. Дерек желісі, оның деректерді екі бағытта да жіберуін қамтамасыз етуі керек болғандықтан, ол әрқашан екібағытты болады.

Адрес желісі – жадыға (немесе сыртқы құрылғыларға) байланысымды қамтамасыз етуші желі.

Магистралдың байланыс жолдарының толық санын кеміту үшін көбіне адрес желісі мен дерек желісін кезектестіру тәсілі қолданылады, яғни байланыс жолдары арқылы әртүрлі уақыт мезетінде адрес пен дерек кезектеп жіберіледі (цикл басында – адрес, цикл аяғында – деректер).

Басқару желісінің жолдарындағы сигналдар кезекті цикл түрін анықтайды және оның әртүрлі бөліктеріне немесе кезеңдеріне сәйкесті уақыт мезеттерін бекітеді. Онымен қатар, басқару сигналдары процессор (немесе магистралдың өзге қожасының, бастаушының, master) жұмысын жадының немесе енгізу/шығару құрылғыларының (орындаушы құрылғының, slave) жұмысымен келістіреді.

Негізгі басқару сигналдары – алмастыру стробтары, яғни жазу (шығару) стробы мен оқу (енгізу) стробы болып табылады. Бұл сигналдарды процессор қалыптастырады, олар деректердің желі арқылы сәйкесті бағытта жіберілу мезеттерін анықтайды.

Микропроцессорлық жүйенің  құрамындағы құрылғылардың барлығы да жүйе магистралына қосылған және олардың өзара информация алмасуы да осы магистраль арқылы жүзеге асырылады.

Енгізу/шығару құрылғыларын немесе сыртқы құрылғыларды (ЕШҚ немесе СҚ) жүйе магистралына қосу үшін олардың сигналдары, сәйкесті енгізу/шығару интерфейстері арқылы жүзеге асырылатын, нақтылы стандарттарға сәйкес болуы керек.

Процессордың деректерді жазу және оқу операцияларын орындауы бағдарламалы-басқарылымды алмасу, үзіліс және жадыға тура шығу режимдерінде жүзеге асырылуы мүмкін, олардың ішіндегі ең бастысы – біріншісі.

2.2            Intel 8085 микропроцессоры

2.2.1 Микропроцессордың құрылымы

Микропроцессор (МП) – қазіргі заманның күрделі цифрлық құрылғыларының (мысалы, компьютердің) құрамына кіретін, информация өңдеуші басты блок.

Микропроцессорлардың негізгі құрылым принциптері мен жұмыс тәртібін түсіну үшін олардың нақтылы бір түрін қарастыру ыңғайлы. Осындай үлгі ретінде қарапайым Intel 8085 микропроцессоры алынды. Өзінің қартаң жасына қарамай, бұл микропроцессор осы күнге дейін өз маңыздылығын жоймай, әлі де өндірісте шығарылады. Әрине, оның қолданылым аймағы – компьютерлер емес, оларда қазіргі заманда одан қуаттырақ және өнімділеу микропроцессорлар қолданылады. Intel 8085 сияқты микропроцессорлар, негізінде, олардың мүмкіншілігі жететін басқару жүйелерінде пайдаланылады.

Intel 8085 микропроцессорының құрылымы 2.1-суретте көрсетілген. Микропроцессордың құрама блоктарының арасындағы информация алмастырылуы оның ішкі сегізразрядты дерек желісі арқылы жүзеге асырылады.

2.1 Сурет

Микропроцессордың құрама блоктарын қарастырайық.

AC (Accumulator) – екісатылы триггер арқылы құрылған және қатарынан екі сөз (операндтардың біреуін және операция нәтижесін) сақтай алатын регистр-аккумулятор.

TR (Temporary Register) – операндтардың біреуін уақытша сақтауға арналған регистр.

ALU (Arithmetic-Logic Unit) – кірістеріне берілген екі сөзге (операндтарға) жүргізілетін операциялардың орындалуын жүзеге асыратын арифметикалық-логикалық құрылғы. Операцияға қатысты операндтардың біреуі аккумуляторда (AC), ал екіншісі уақытша регистрде (TR) сақталады; операция нәтижесі де аккумуляторға түседі. ALU тікелей қосу, алу, ығыстыру, сөздерді салыстыру операцияларын және логикалық операцияларды (инверсия, конъюнкция, дизъюнкция, екілік қосу) ғана орындайды. Олардан күрделірек операциялар (көбейту, бөлу және т.б.) қосалқы бағдарламалар арқылы орындалады. ALU құрамында екілік сандарды екілік-ондық кодқа айналдыру сұлбасы (DA, Decimal Adjust) болады.

RF (Register Flags) – орындалған арифметикалық және логикалық операциялардың нәтижелерінің белгі биттерін көрсететін, ту регистрі. Intel 8085 микропроцессорында бес түрлі белгі пайдаланылады: Z (Zero) – нөлдік белгісі, С (Carry) – тасымал белгісі, AC (Auxiliary Carry) – қосалқы тасымал белгісі, S (Sign) – терістік белгісі, P (Parity) – жұптық белгісі. Нөлдік белгі операция нәтижесінің ноль болғандығын, тасымал белгісі ең үлкен разрядтан  шығарылатын тасымалды (яғни, жетінші разрядтан; разряд номерінің нөлден басталатынын еске түсіріңіз), қосалқы тасымал белгісі үшінші разрядтан шығарылатын (яғни, сегізразрядты сөздің тетрадаларының арасындағы) тасымалды (ол екілік-ондық кодтарға операциялар жүргізуге қажет), терістік белгісі нәтиже таңбасын, жұптық белгісі нәтижедегі бірлік санының жұптығын сипаттайды. Бұл белгілер информацияның өңделу процесін басқару үшін пайдаланылады.

В, С, D, E, H, L – сегізразрядты жалпы қызмет регистрлері (ЖҚР), олар мультиплексор/демультиплексор (MUX/DMUX) арқылы ішкі дерек желісіне байланысқан. Олардың әрбіреуін жеке түрінде де,   В-С, D-E, H-L түрінде қос-қостап (олар В, D, Н жұптары деп аталады), 16-разрядты регистр ретінде де пайдалануға болады. H-L жұбы, әдетте, регистрлік жанама сілтеуге қажетті адресті сақтауға пайдаланылады.

W және Z – уақытша регистрлер, олар жадыдан команданың шығарылуы кезінде деректерді уақытша сақтауға арналған.

SP (Stack Pointer) – 16-разрядты стек көрсеткіші. Стек сөз жинағын сілтеусіз сақтауға ыңғайланған жады құрылымы. Стектің негізгі қызметі – үзіліс бағдарламалары мен қосалқы бағдарламалардың жұмысын қамтамасыз ету. Стектің түбі мен төбесі болады. Стекпен жүргізілетін операциялар – Push (сөзді енгізу) және Pop (сөзді шығару). Стек ретінде қызмет жадысының нақтылы аймағы бөлінеді де, оның түбі стек көрсеткішінде (SP) стек түбі ретінде белгіленеді. Стекпен жұмыс кезінде стек көрсеткішінде соңғы жазылған ұяшықтың адресі (стектің төбесі) тұрады. Push және Pop командаларының орындалуы кезінде SP мәні кеміп немесе өсіп отырады. Жадының байтты ұйымдастырылымында және стекке регистр жұбындағы дерек енгізілу кезінде үлкен байт SP-1 адресі бойынша, ал кіші байт SP-2 адресі бойынша сақталады да, SP мәні екіге кемиді. Оқу кезінде стектің жоғарғы екі ұяшығындағы дерек сәйкесті регистрлерге орналастырылады да, SP мәні екіге ұлғаяды. Сонымен, стек жұмысы LIFO (Last In – First Out) тәртібімен жүргізіледі, яғни стекке соңғы енгізілген сөз бірінші шығарылады.

IP (Instruction Pointer) –  16-разрядты команда санауышы. Онда келесі орындалатын команданың адресі тұрады. Бастапқы қойылым кезінде ол нөл мәнін қабылдайды, демек, бастапқы қойылым бағдарламасының бірінші командасы нөлінші ұяшықта болады. Команда ұзындығы 1...3 байт болады. Жадыдан кезекті байт шығарылғаннан кейін IP мәні ұлғайтылады, команда бірбайтты болса, онда келесі команданың адресі, ал өзгеше жағдайда кезекті команданың келесі байтының адресі шығады. Команданың екінші және үшінші байттары W және Z регистрлеріне түседі.

INC/DEC (Increment/Decrement) сұлбасы ол арқылы жіберілген сөздерді бірге ұлғайтып немесе кемітіп отырады.

IR (Instruction Register) – команда регистрі. Ол жадыдан команданың бірінші байтын, яғни команда кодын қабылдайды.

DC – команда дешифраторы. Ол команда регистріндегі (IR) команда кодына сәйкесті операцияның машина циклдерін жүзеге асыруға қажетті сигналдар тудырады.

Synchronising and Control блогы команда дешифраторы мен машина циклдерінің шифраторының жағдайы негізінде ахуал сигналдары мен микропроцессорлық жүйені сыртқы құрылғылармен байланыстыратын, сыртқы желіні басқару сигналдарын тудырады.

МП мен жады немесе сыртқы құрылғы (СҚ) арасындағы информация алмасуы кезінде жадының сәйкесті ұяшығының немесе СҚ командасының құрамындағы немесе регистр жұптарының біреуіндегі адресі адрес буферіне (AB) жіберіледі. Үш жағдайлы адрес буфері жады адресінің үлкен разрядтарын адрес желісінің A15-8 жолдарына жібереді.

Үш жағдайлы адрес/дерек буфері (A/DB) уақыт бойынша кезектесіп, адрестің кіші байтын немесе дерек байтын жібереді.

 Микропроцессордың әртүрлі ішкі регистрлерінің арасында дерек байттарының жіберілімі сегізразрядты ішкі дерек желісі арқылы, ал олардың МПЖ-нің басқа модулдерімен байланысы кезектелімді адрес/дерек желісі арқылы жүзеге асырылады.

Interrupt Control және Sequential I/O Control – үзілісті басқару және тізбекті енгізілім/шығарылымды басқару блоктары.

МП командаларының қалыпты жүргізілімінде олар жадыдан жазылым бағытымен HLT командасына жеткенше бір-бірден шығарылып орындалады. Жеке команданың шығарылуы мен орындалуы команда циклін (КЦ) құрады. Команда циклі бір немесе бірнеше машина циклінен (МЦ) тұрады. МП мен жады немесе СҚ арасында байт жіберуге арналған әрбір байланыс машина циклін қажет қылады. Өз кезегінде машина циклі бірнеше тактіге бөлінеді және такт саны машина циклінің түріне тәуелді болады.

Intel 8085 микропроцессорының келесі түрдегі машина циклдері бар:

1)     Команда таңдалымы (OF, Opcode Fetch).

2)     Жадыдан оқу (MR, Memory Read).

3)     Жадыға жазу (MW, Memory Write).

4)     Сыртқы құрылғыдан оқу (IOR, Input-Output Read).

5)     Сыртқы құрылғыға жазу (IOW, Input-Output Write).

6)     Үзілісті құптау (INA, Interrupt Acknowledge).

7)     Желіні босату (BI, Bus Idle).

8)     Тоқтатылым (HALT).

Әрбір машина циклінің басында цикл түрін сипаттаушы ахуал сигналдары тудырылады. Олар сыртқы құрылғыға жіберілетін қосалқы басқару сигналдарын қалыптастыруда пайдаланылады.

2.2.2 Микропроцессордың басқару сигналдары

Микропроцессордың шықпаларындағы сигналдар келесі қызметтерді атқарады:

-       A15-8 – жады адресінің үлкен байтын немесе сыртқы құрылғының толық адресін шығаруға арналған үш жағдайлы шығыс жолдары. HOLD, HALT және RESET режимдерінде олардың шықпалары үшінші (жоғары кедергілі) жағдайға ауысады;

-       AD7-0 – машина циклінің бірінші тактісінде жады адресінің кіші байтын немесе сыртқы құрылғының толық адресін шығаруға арналған үш жағдайлы кезектелімді жолдар. Адрес жіберілу тактісінен кейін олар дерек желісі ретінде пайдаланылады;

-       ALE – машина циклінің бірінші тактісінде жіберілген жады адресінің кіші байтын сыртқы адрес регистріне енгізуге рұқсат беру стробы. Адресті регистрге енгізу ALE сигналының артқы ауытқымасымен жүзеге асырылады;

-       ,  – сілтенген жады ұяшығына немесе сыртқы құрылғыға жіберілетін оқу және жазу стробтары. HOLD, HALT және RESET режимдерінде олардың шықпалары үшінші (жоғары кедергілі) жағдайға ауысады;

-       READY – жадының немесе сыртқы құрылғының МП-мен информация алмасуға дайын екендігін көрсететін, кіріс сигналы. Жадының немесе сыртқы құрылғының дайын еместігінде, МП күту жағдайына кіреді де, бұл жағдай бірлік деңгейдегі READY сигналы түскенше созылады;

-       S1, S0 –  МП-дің сыртқы құрылғыға жіберетін ахуал сигналдары. Олар машина циклінің басында қалыптасып, бұл цикл біткенше сақталады;

-       IO/М – жадыны немесе сыртқы құрылғыны таңдау сигналы. Оның жоғарғы деңгейінде сыртқы құрылғыға, ал төменгі деңгейінде жадыға байланыс жүзеге асырылады.

S1, S0 сигналдарымен бірге IO/М сигналы машина циклінің түрін анықтайды. Ахуал сигналдары мен ,  және  сигналдарының әртүрлі машина цикліне байланысты мәндері 2.1-кестеде келтірілген.

2.1 К е с т е

МЦ түрі

Ахуал сигналдары

Басқару сигналдары

IO/M

S1

S0

OF

0

1

1

0

1

1

MR

0

1

0

0

1

1

MW

0

0

1

1

0

1

IOR

1

1

0

0

1

1

IOW

1

0

1

1

0

1

INA

1

1

1

1

1

0

BI

ҮЖ

x

x

1

1

1

HALT

ҮЖ

0

0

ҮЖ

ҮЖ

1

 

Келтірілген кестеде ҮЖ арқылы үшінші жағдай белгіленген.

-       x1, x2 – МП-дың ішкі синхроимпульстер генераторының жұмысын қамтамасыз етуші кварцты резонатордың немесе одан басқа жиілік тиянақтаушы тізбектердің қосылатын шықпалары. МП-дың ішкі сұлбаларының жұмысын сәйкестіруші синхроимпульстер (CLK) шығару үшін генератор импульстері санау триггеріне жіберіледі де, ол қарсы фазалы екі импульстер тізбесін (Ф1 және Ф2) қалыптастырады. Олардың жиілігі (яғни, микропроцессордың жұмыс жиілігі) генератор жиілігінен 2 есе төмен болады. ALE сигналы Ф1 тізбесінен бірінші тактіде бөліп алынған біреуі ретінде қалытастырылады;

-        () – МП-ды бастапқы жағдайына қайтару кірісі. Бұл сигнал қорек көзі қосылған кезде өздігінен қалыптасады, оның кез келген уақытта оператордың командасы арқылы да түсуі мүмкін. Оның әрекетімен IP және IR регистрлері, үзіліс рұқсаты мен желі ұсталымының құпталым триггерлері және т.б. тазартылады;

-       CLK – микропроцессорлық жүйеге жіберілетін синхроимпульстер шығысы. Бұл импульстердің фазасы Ф2 импульстерінің фазасындай, ал жиілігі микропроцессордың x1 және x2 шықпаларындағы жиіліктен екі есе кем болады;

-       RESET – жүйенің сыртқы модулдерін тазарту сигналы, ол тактілік CLK импульстеріне байланыстырылған және оның фазасы  сигналынан өзгеше болады;

-       INTR (Interrupt Request) – векторлық үзіліс сұранысының кірісі. Бағдарлама арқылы үзіліске рұқсат берілген жағдайда, бұл сигнал  стробын тудырады. Бұл сұранысқа сәйкес шақырылатын қосалқы бағдарламаның адресін сыртқы құрылғы жібереді. Тазартылым кезінде сұраныс сигналы қабылданбайды (үзіліске тиым салынған);

-        (Interrupt Acknowledge) – кезекті команда циклі біткеннен кейін жіберілетін, векторлық үзілісті құптау стробы. Ол үзіліс векторын оқу үшін пайдаланылады;

-       RST 5,5; RST 6,5; RST 7,5 – RSTn (n = 5,5; 6,5; 7,5) түріндегі радиалды үзіліс сұраныстарының кірістері. Бұл сұраныстарға сәйкесті қызмет атқаратын қосалқы бағдарламалардың бастапқы адресі – 8n. Кіріс мәртебелері бекітілген, ең жоғарғы мәртебе RST 7,5 кірісінде. Бұл сұраныс тобының мәртебесі INTR сұранысының мәртебесінен жоғары болады. Бұл сұраныстардың әрбіреуіне және бір-біріне тәуелсіз тиым салуға болады;

-       TRAP – мәртебесі ең жоғарғы дәрежедегі, тиым салынбайтын үзіліс сұранысының кірісі;

-       SID, SOD (Serial Input Data, Serial Output Data) – деректерді тізбекті жіберу кірісі мен шығысы. RIM командасымен кіріс биті аккумулятордың жоғарғы разрядына енгізіледі, SIM командасымен шығыс биті осы разрядтан шығарылады;

-       HOLD – желіні иелену сұранысы. Оны сыртқы құрылғы қалыптастырады;

-       HLDA (Hold Acknowledge) – желінің иеленілуін құптау сигналы. Ол HOLD сигналына жауап ретінде кезекті машина циклінің аяғында қалыптастырылады да, МП-дың жүйе желісінен ажыратылғандығын куәлайды. Бұл кезде желілер мен басқарушы , , IO/M және ALE сигналдарының жолдары үшінші жағдайға ауыстырылады.

2.2.3 Микропроцессордың жұмыс тәртібі

Команда циклі КЦ команда таңдалымынан басталады (Opcode Fetch, OF). Бірінші машина циклі Ml әрқашан OF, онда МП команданың бірінші байтын алады. Одан кейін, команданың бірбайтты, екібайтты немесе үшбайтты болуына байланысты бір немесе екі MR (Memory Read) түрлі машина циклінің болуы мүмкін.

Команданың бірінші байтында (b1) операция коды, сілтеу тәсілі жөніндегі мәліметтер, ал егер команда бірбайтты болса, онда операндтың адресі де болады. Бұндағы адрес қысқа адресті “регистр-регистр” түріндегі операцияларға ғана байланысты болады. Жалпы қызметтік 8 регистрді сілтеуге үшразрядты, ал регистр жұптарын сілтеуге екіразрядты адрес жеткілікті. Команданың екінші байтында (b2) операндқа қатысты жады ұяшығының адресінің кіші бөлігі  немесе сыртқы құрылғының адресі немесе операндтың тікелей өзі болады (соңғылар команданың екібайттылық жағдайында). Команданың үшінші байтында (b3) операнд адресінің үлкен бөлігі немесе тікелей берілетін деректің екінші байты (регистрлер жұбына енгізу кезінде) болады. Регистрлер мен регистр жұптарының адрестері 2.2-кестеде берілген.

2.2 К е с т е

Регистрлер

Регистр жұптары

B

C

D

E

H

L

M

A

B

D

H

SP

000

001

010

011

100

101

110

111

00

01

10

11

 

Команданың таңдалып, айқындалғанынан кейін, оны орындауға қосымша машина циклдерінің қажет болуы мүмкін. Командада небәрі бірден беске дейін машина циклі болуы мүмкін.

Машина циклі, төменде қарастырылатын қалыпты әрекеттер жүргізілетін, тактілерден тұрады. Әртүрлі машина цикліндегі такт саны – 3…6, бірақ олардың көпшілігі үш тактіден тұрады.

Команда циклінде 4...18 такт болуы мүмкін.

Әртүрлі машина циклін жүзеге асырушы сигналдарды команданың бірінші байтындағы информация негізінде МП тудырады.

Айтылғанды мысал арқылы суреттелік. Аккумулятордағы деректі жады ұяшығына тура сілтеумен (яғни, адрестің командада көрсетілуі арқылы) жіберуші STA D3D2 (Store Accumulator Direct) командасының орындалуын қарастыралық. Команда – үшбайтты, оның МП-ға жіберілуі үшін үш машина циклі керек, оның біріншісінде b1 байты команда регистріне (IR) жіберіліп, келесілерінде b2 және b3 байттары уақытша регистрлерге (W және Z) жіберіледі. Бүкіл команда қабылданғаннан кейін МП аккумулятордағы дерек байтын, адресі МП-ға түскен, жады ұяшығына жіберу жұмысын жүзеге асырады. Сонымен, команда циклі OF-MR-MR-MW тәртібімен жүргізілетін төрт машина циклінен құрылады.

Әрбір машина циклі, тактілік импульстердің аттас ауытқымаларының аралығымен анықталатын, тактілерге (жағдайларға) бөлінеді.

Машина циклінің тактілерінде орындалатын қалыпты әрекеттер:

T1 – жадының немесе СҚ-ның адресі AD7-0 және A15-8 желілеріне қойылып, AD7-0 биттерін бекітуге ALE сигналы тудырылады. IO/M, S1 және S0 жолдарында цикл түрін анықтаушы информация қойылады. HALT туы тексеріледі.

Т2 – Ready және Hold кірістері тексеріледі. Егер осы машина циклі команда таңдалымының бір бөлігі болса, онда бағдарлама санауышы бірге ұлғайтылады. BI (Bus Idle, желіні босату) циклінен басқа машина циклдерінде басқару стробтарының (,  немесе ) біреуі бірлік жағдайынан жандандырылған нөлдік жағдайына ауысады.

TW (Wait) – жадының немесе СҚ-ның дерек алмасуға дайын еместігінде (READY жолында төменгі деңгейлі кернеу тұрғанда) туады. Адрес, дерек және басқару жолдарының жағдайы такт аяғындағы қалпында қалады. READY сигналы әрбір күту тактісінде тексеріледі.

Т3 – команда немесе  дерек байты микропроцессорға немесе одан жіберіледі. Жандандырылған басқару стробының деңгейі бірлік деңгейіне өзгертіледі.

Т4 – команда регистріндегі код айқындалады.

Т5,6 – кейбір командалардың бітірілуіне қажет кезінде пайдаланылады.

Жүйе желілері пайдаланылмайды.

Машина циклінде әрқашан Т1....Т3 тактілері болады, кейде такт саны одан көбірек болуы мүмкін, бірақ оқу мен жазуға үш такт ғана қажет.

2.2.4 Микропроцессордың үзіліс жүйесі

Микропроцессорлық жүйенің жұмысы кезінде оның ішінде немесе сыртында кезексіз әрекет қажет қылатын уақиғалар тууы мүмкін. Бұндай әрекет негізгі бағдарламаны үзіп (уақытша тоқтатып), үзіліс сұранысының жұмысын орындауға ауысу арқылы жүзеге асырылады. Жүйе ішіндегі сұраныстар оның жұмыс ахауынан, разряд торының асып кетуінде, нөлге бөлу кезінде және сыртқы құрылғылардың қызмет талабынан туады. Сыртқы сұраныстардың басқарылым объектілерінің қауіптілік жағдайында, қорек көздерінің ахаулығында және т.б. жағдайларда түсуі мүмкін.

Баяу істейтін сыртқы құрылғылардың сұраныстары бойынша үзілістер, микропроцессор уақытын олардың информация алмасуға дайын кезінде ғана алуына мүмкіндік беріп, бұндай ұйымдастырылым нәтижесінде жалпы жүйенің жұмыс тиімділігі көтеріледі. Сыртқы құрылғыға микропроцессор қажет болғанда, ол үзіліс сұранысының триггерін бірлік жағдайға қояды да, бұл үзіліс сигналын микропроцессордың қабылдап, сәйкесті өңдегенінше ол осы жағдайында қалады. Қабылданған үзіліс сұранысына жауап ретінде микропроцессорлық жүйеде кезекті команданың орындалуы бітіріледі, микропроцессор жағдайы еске сақталады, үзіліс қызметінің қосалқы бағдарламасы орындалады, сосын жүйенің басқарылуы негізгі бағдарламаның сәйкесті командасына қайтарылады.

Intel 8085 микропроцессорының бес үзіліс кірісі болады. Үзіліс, оған рұқсаттың бар кезінде, CALL командасының әрекетімен басталады: команда көрсеткішінің (IP) жағдайы стекке жіберіледі, ал оның өзіне орындалатын қосалқы бағдарламаның адресі енгізіледі де, үзіліс сұранысына қажетті жұмыс орындалады.

Микропроцессордың үзілістерге байланысты кірістері: TRAP; RST 5,5; RST 6,5; RST 7,5; INTR. Үзіліс жүйесінің ұйымдастырылымында сұраныстарды жасыру мәселелері шешіліп, олардың мәртебелік деңгейлері анықталады.

Жасыру дегеніміз – сәйкесті кірістің әрекетіне тиым салу. Үзіліс сұраныстарының кірістерінің жасырылымды немесе жасырылмайтын (яғни, әрқашан қабылдайтын жағдайында) болуы мүмкін.

TRAP кірісі – жасырылмайтын кіріс және оның мәртебесі ең жоғарғы деңгейде болады. Оған бағдарлама командалары арқылы тиым салынбайды. Бұл кіріске микропроцессорлық жүйедегі, кезексіз әрекет қажет қылатын, маңызды уақиғалардың (мысалы, қорек көзінің ахауының) хабарлау сигналдары беріледі. TRAP үзілісіне сайланысты қызметтің қосалқы бағдарламасының бастапқы адресі жадының бекітілген, адресі 24Н ұяшықта орналастырылған.

RSTn (n = 5,5; 6,5; 7,5) кірістерінің белгілемесі Restart сөзінен алынған. Бұл кірістердің үзілістері – жасырылмалы, яғни оларға EI (Enable Interrupt) және DI (Disable Interrupt) командалары арқылы рұқсат беруге немесе тиым салуға болады (олардың бәріне қатарынан). Микропроцессордың бастапқы тазартылымы бұл сұраныстардың барлығына да тиым салады, оларға бұдан әрі рұқсат беру үшін EI командасын беру керек. RSTn сұраныстарына жеке тиым салу мүмкіндігі де бар, ол арнайы SIM (Set Interrupt Mask) командасымен аккумулятордың А0...А2 биттерінің алдын ала енгізілген мәндеріне сәйкесті қойылады. RSTn кірістерінің мәртебелері RST 7,5; RST 6,5; RST 5,5 тәртібінде бекітілген. RSTn үзілістерінің қызметінің қосалқы бағдарламаларының бастапқы адрестері n мәнімен анықталады, сәйкесті бағдарламаның жұмысы бағдарлама санауышына 8n мәнін (002СН, 0034Н немесе ООЗСН) енгізуден басталады. Өзгеше айтқанда, бұл кірістердің үзіліс векторлары өздігінен анықталады, яғни оларды сыртқы құрылғыдан жіберудің қажеті болмайды.

RST 7,5 кірісі – динамикалық кіріс, ол сигналдың тура ауытқуына әрекет етеді, яғни сұраныс сигналы динамикалы кірісті триггерге енгізіледі де, оның алып тасталғанында, бұл үзіліс сұранысының қызметі орындалғанша немесе SIM немесе RESET командаларына дейін, онда сақталады. RST 6,5 және RST 5,5 кірістері – статикалық кірістер, олар сигнал деңгейіне әрекет етеді, демек, сұраныс сигналы жойылысымен, алып тасталынады.

INTR (Interrupt) кірісіне түсетін сұраныстың үзіліс векторы МП-ға сырттан жіберілу керек. Бұл кіріске көптеген жағдайда үзілістер контроллері қосылады, ол бірнеше сыртқы құрылғылардың сұраныстарын қабылдап, олардың мәртебелік жасырым мәселелерін шешіп, МП-ға жіберілетін жалғыз INTR сигналы мен сұранысқа сәйкесті үзіліс векторын қалыптастырады. Бұл жағдайда да RSTn командасы орындалады, бірақ n мәні үзіліс көзіне тәуелді болады. Үзілістерге рұқсат бар кезінде INTR сұранысының түсуіне жауап ретінде, микропроцессор  сигналымен үзіліс берілгендігін хабарлайды. Бұл сигнал буферлік күшейткіштердің шығыстық рұқсат кірістеріне түседі.

Үзілістің өңделуі кезінде, EI командасы орындалғанша, TRAP үзілісінен басқа үзілістерге тиым салынады. Жасырылмайтын TRAP үзілісі өзге үзілістерді жібергізбейді, бірақ бұрынғы түскен сұраныстың рұқсаттық жағдайын сақтайды.

2.2.5 Микропроцессордың тізбекті енгізу/шығару жүйесі

Микропроцессордың тізбекті деректерді жіберуге арналған екі кірісі бар: SOD және SID (Serial Output Data және Serial Input Data).

SOD шықпасы SIM командасымен басқарылады, ал SID шықпасындағы сигнал RIM командасымен оқылады. Бұл командалар бұрын RSTn үзілістерінің жасырылымын қою және тазарту командалары ретінде таныстырылғанды, олар тізбекті енгізу/шығаруды басқаруға да пайдаланылады.

SIM командасының орындалуынан бұрын аккумуляторда, биттері 2.3-кестедегі мағынада түсінілетін, сөз қалыптастырылады:

2.3 К е с т е

7

6

5

4

3

2

1

0

SOD

SOE

x

R7,5

MSE

M7,5

M6,5

M5,5

 

Мұндағы SOD – деректердің тізбекті шығысы, SOE (Serial Input Enable) – бірлік мәнінде тізбекті SOD деректерін микропроцессордың сәйкесті шығысына жіберетін сигнал, 5-бит пайдаланылмайды, R 7,5 сәйкесті RST 7,5 кірісін тазартады (осы кірістегі сигналдың динамикалы басқарылымды триггерге қабылданатындығын еске түсіреміз), MSE (Mask Set Enable) – 2...0 биттерінің әрекетін жандандырушы сигнал, М 7,5...М 5,5 биттерінің бірлік мәні оларға сәйкесті RST 7,5...RST 5,5 сұраныстарын жасырады, яғни оларға тиым салады.

Мысалы, SOD = 1, RST 6,5 кірісіне рұқсат берілуі, RST 7,5 триггерінің тазартылуы және RST 7,5 мен RST 5,5 кірістерінің жасырылуы екі командамен жүзеге асырылады:

 

MVI А, b2            ; аккумулятор биттерін қою

SIM                      ; жасырым биттерін және SOD битін өзгерту

MVI А, b2 командасы аккумуляторға b2 байтын жібереді, яғни аккумуляторға тіке сілтеу арқылы дерек жіберу операциясын (A) ← (b2) орындайды. Келтірілген жағдайға сәйкесті b2 байтының түрі: 11x11101.

Тізбекті деректерді SID шықпасы арқылы енгізу үшін RIM командасы пайдаланылады. RIM командасының орындалғанынан кейін аккумуляторда биттерінің мағынасы 2.4-кестеде келтірілген сөз қалыптасады:

2.4 К е с т е

7

6

5

4

3

2

1

0

SID

I7,5

I6,5

I5,5

IE

M7,5

M6,5

M5,5

 

Бұндағы SID – тізбекті енгізілетін деректер; I 7,5; I 6,5; I 5,5 – RST7.5; RST6.5 және RST5.5 шықпаларындағы логикалық деңгейлер, IE – үзіліске рұқсат сигналы, М 7,5...М 5,5 – маскалардың логикалық деңгейлері.

I 7,5... I 5,5 биттері сәйкесті логикалық деңгейлерді RIM командасының кезінде қалыптастырады. IE биті EI және DI командаларының қайсысы соңғы орындалғандығын көрсетеді, оған бұл кезде үзіліс режимінің болуы да (оның IE триггерін тазартып, басқа үзілістерге тиым салатындығына байланысты) әсер етеді. М 7.5...М 5,5 биттері үзіліс маскаларының кезекті жағдайларын суреттейді.

2.2.6 Микропроцессордың командалар жүйесі

Intel 8085 микропроцессорының командалар жүйесі 2.5-кестеде келтірілген. Кестенің бірінші бағанасында командалардың мнемокодтары (шартты жазылымы) берілген. Онда регистрлер – r, регистр жұптары – rp, жанама сілтеумен  байланысатын жады ұяшығы – М, команданың үшінші және екінші байттары – b3b2, сыртқы құрылғының адресі – port арқылы берілген.

Екінші бағанадағы команданың бірінші байтының (b1) кодтары операндтардың адресінің көрсетілуі қажет жағдайда, сегізразрядты екілік сан түрінде, өзге жағдайларда оналтылық сан түрінде берілген. Регистрлердің жалпылама адрестерінің разрядтары дерек көзі үшін S (Data Source) символдарымен, деректің жеткізілетін жері D (Data Destination) символдарымен, регистр жұптары P (Pair) символдарымен бейнеленген. Бұл символдардың орнына командағы қатысты регистрлер мен регистр жұптарының 2.2-кестеде келтірілген адресін қою арқылы нақтылы команданың коды алынады. Шартты ауыстыру командаларының кодындағы шарттардың коды C (Condition) символдарымен белгіленген, олардың түрлері мен белгілемелері 2.6-кестеде келтірілген.

RST командасының кодындағы nnn әріптерімен белгіленген үш разрядтың мәнін үзіліс жүйесі қояды немесе оны бағдарлаушы көрсетеді.

Салыстыру операцияларында операндтарға алу операциясы жүргізіліп, оның нәтижесіне байланысты Z және S белгілері қойылады (бірақ, нәтиже ешқайда сақталмайды).

Үшінші бағанада сәйкесті команданың орындалуынан кейін қойылатын тулар жөніндегі мәліметтер келтірілген: “–” символы – ешқандай ту көтетілмейді, “+” символы – тулардың барлығы да көтеріледі, “+” – тасымал туынан басқа тулардың барлығы көтеріледі, “С” – тасымал туы ғана көтеріледі. Бұл тулар (S – терістік, Z – нөлдік, AC – ондық тасымал, P – жұптық, С – тасымал) ту регистрінде қалыптастырылады:

7

6

5

4

3

2

1

0

S

Z

0

AC

0

P

1

C

 

Келесі үш бағанада команда байттарының саны мен оның орындалу уақытына сәйкесті такт саны мен цикл саны келтірілген.

Соңғы бағанада командаларға түсініктеме келтірілген.

2.5 К е с т е

Мнемокод

Код

Тулар

Байт саны

Такт саны

Цикл саны

Түсініктеме

 

1

2

3

4

5

6

7

 

Жіберім командалары

 

MOV r1, r2

01DDDSSS

1

4

1

r1 ← (r2)

 

MOV M, r

01110SSS

1

7

2

[(HL)] ← (r)

 

MOV r, M

01DDD110

1

7

2

(r) ← [(HL)]

 

MVI r, b2

00 DDD110

2

7

2

r1 ← b2

 

MVI M, b2

36

2

10

3

[(HL)] ← b2

 

LXI rpb3b2

00PP0001

3

10

3

rp ← b3b2

 

LDA b3b2

3A

3

13

4

A ← b3b2

 

STA b3b2

32

3

13

4

b3b2 ← (A)

LHLD b3b2

2A

3

16

5

HL ← b3b2

SHLD b3b2

22

3

16

5

b3b2 ← (HL)

LDAX rp

00PP0010

1

7

2

A ← [(rp)]

STAX rp

00PP1010

1

7

2

[(rp)] ← (A)

XCHG

EB

1

4

1

(HL) ↔ (rp)

Арифметикалық және логикалық операциялардың командалары

ADD r

10000SSS

+

1

4

1

A ← (A) + (r)

ADD M

86

+

1

7

2

A ← (A) + [(HL)]

ADI b2

C6

+

2

7

2

A ← (A) + b2

ADC r

10001SSS

+

1

4

1

A ← (A) + (r) + (TC)

ADC M

8E

+

1

7

2

A ← (A) + [(HL)] + (TC)

ACI b2

CE

+

2

7

2

A ← (A) + b2 + (TC)

SUB r

10010SSS

+

1

4

1

A ← (A) – (r)

SUB M

96

+

1

7

2

A ← (A) – [(HL)]

SUI b2

D6

+

1

7

2

A ← (A) – b2

SBB r

10011SSS

+

1

4

1

A ← (A) – (r) – (TC)

SBB M

9E

+

1

7

2

A ← (A) – [(HL)] – (TC)

2.5 кестенің жалғасы

1

2

3

4

5

6

7

SBI b2

DE

+

2

7

2

A ← (A) – b2 – (TC)

INR r

00DDD100

(+)

1

4

1

r ← (r) + 1

INR M

34

(+)

1

10

3

[(HL)] ← [(HL)] + 1

DCR r

00DDD101

(+)

1

4

1

r ← (r) – 1

DCR M

35

(+)

1

10

3

[(HL)] ← [(HL)] – 1

INX rp

00PP0011

1

6

1

rp ← (rp) + 1

DCX rp

00PP1011

1

6

1

rp ← (rp) – 1

DAD rp

00PP1001

1

10

3

[(HL)] ← [(HL)] + (rp)

DAA

27

+

1

4

1

A ← (A)2-10

ANA r

10100SSS

+

1

4

1

A ← (A) ۸ (r)

ANA M

A6

+

1

4

1

A ← (A) ۸ [(HL)]

ANI b2

E6

+

2

7

2

A ← (A) ۸ b2

XRA r

10101SSS

+

1

4

1

A ← (A)  (r)

XRA M

AE

+

1

7

2

A ← (A)  [(HL)]

XRI b2

EE

+

2

7

2

A ← (A)  b2

ORA r

10110SSS

+

1

7

2

A ← (A) ۷ (r)

ORA M

B6

+

1

7

2

A ← (A) ۷ [(HL)]

ORI b2

F6

+

2

7

2

A ← (A) ۷ b2

CMP r

10111SSS

+

1

4

1

 (A) – (r)

CMP M

BE

+

1

4

1

 (A) – [(HL)]

CPI b2

FE

+

2

7

2

 (A) – b2

CMA

2F

1

4

1

 A ←  

STC

37

C

1

4

1

 TC ← 1

CMC

3F

C

1

4

1

 TC

RLC

07

C

1

4

1

 A7-1 ← (A6-0), A0 ← (TC), TC←A7

RRC

0F

C

1

4

1

 A6-0 ← (A7-1), A7 ← (TC), TC←A0

RAL

17

C

1

4

1

 A7-1 ← (A6-0), A0 ← (A7), TC←A7

RAR

1F

C

1

4

1

 A6-0 ← (A7-1), A7 ← (A0), TC←A0

Басқару командалары

JMP b3b2

C3

3

10

3

PC ← b3b2

Jcond b3b2

11CCCC01

3

10

3

Cond = 1: PC ← b3b2

CALL b3b2

CD

3

18

5

SP ← (PC), PC ← b3b2

Ccond b3b2

11CCC100

3

2/5

9/18

Cond = 1:

SP ← (PC), PC ← b3b2

RET

C9

3

10

3

PC ← [(SP)]

Rcond

11CCC100

3

17/11

5/3

Cond = 1: PC ← [(SP)]

2.5 кестенің жалғасы

1

2

3

4

5

6

7

RST n

111nnn111

1

11

3

PC ← 8n

SPHL

E9

1

6

1

SP ← (HL)

Арнайы командалар

PUSH rp

11PP0101

1

11

3

SP ← (SP) – 2;

 [(SP)];[(SP) + 1]← (rp)

PUSH PSW

F5

1

11

3

SP ← (SP) – 2;

[(SP)],[(SP) + 1]←(A),(F)

POP rp

11PP0001

1

10

3

rp ← [(SP)],[(SP) + 1],

SP ← (SP) + 2

POP PSW

F1

1

10

3

F,A ← [(SP)],[(SP) + 1];

SP ← (SP) + 2

XTHL

E3

1

18

5

(HL) ↔ [(SP)],[(SP) + 1]

PCHL

F9

1

5

1

PC ← (HL)

IN port

DB

2

10

3

A ← (port)

OUT port

D3

2

10

3

port ← (A)

EI

FB

1

4

1

Үзіліске рұқсат

ВI

F3

1

4

1

Үзіліске тиым салу

HLT

76

1

7

2

Тоқтатылым

NOP

00

1

4

1

Операция жоқ

RIM

20

1

4

1

Үзіліс маскасын оқу

SIM

30

1

4

1

Үзіліс маскасын жазу

 

2.6 К е с т е

ССС

Мнемокод (cond)

Шарттар

000

NZ

Нолге тең болмау

001

Z

Нолге тең болу

010

NC

Тасымалдың тумауы

011

C

Тасымалдың тууы

100

PO

Тақтық

101

PE

Жұптық

110

P

Плюс

111

M

Минус

 

2.2.7 Микропроцессорда қолданылатын сілтеу тәсілдері

Бағдарламадағы нақтылы командаға сәйкесті операцияның орындалуы үшін, онда команданың түрін анықтаушы кодымен қатар, операцияға қатысты операндтардың қайдан алынатындығы және орындалған операцияның нәтижесінің қайда орналастырылатындығы көрсетілуі керек.

Intel 8085 микропроцессорында сілтеу адрестерін қалыптастыру төрт түрлі тәсілмен жүзеге асырылады, олар – тура сілтеу, регистрлік сілтеу, жанама сілтеу және тіке сілтеу тәсілдері.

Тура сілтеу тәсілінде адрес коды орындалушы команданың құрамында болады. Бұл тәсіл – ыңғайлы тәсіл, бірақ үлкен көлемді жадының адрес разрядтарының саны да үлкен болатындықтан, ол команданы ұзартады. Мысалы, 216 ұяшықтан тұратын жадыға сілтеу оналтыразрядты адреспен жүзеге асырылады. Сондықтан, бұндай командалар үшбайтты болады. Сыртқы құрылғыларға сілтеу сегізразрядты адрес арқылы жүзеге асырылады да, бұндай командалар екібайтты болады.

Регистрлік сілтеу тәсілінде операнд микропроцессордың ішкі регистрлерінің біреуінде болады. Intel 8085 микропроцессорының ішкі регистрлерінің саны сегізден аспайтындықтан, оларға сілтеуге үшразрядты адрес жеткілікті болады, сондықтан бұндай командалар бірбайтты болады.

Жанама сілтеу тәсілінде командада орындалатын операцияға қатысты операндтың адресі тұрған регистр көрсетіледі. Бұндай командалар да, регистрлік сілтемді командалар сияқты, ықшамды келеді, бірақ олардың орындалуы үшін бұл регистрге (жанама сілтеу регистріне) қажетті адрес алдын ала енгізілуі керек. Жанама сілтеу регистрі ретінде Intel 8085 микропроцессорында H және L регистрлері (HL жұбы) пайдаланылады. Жанама сілтеу тәсілі тізбе түрінде берілген деректерді өңдеуге аса ыңғайлы келеді, бұл кезде адрес бір рет қойылады да, кезекті адрес оның алдыңғы мәнін бірге өзгерту арқылы алынады.

Тіке сілтеу тәсілінде операцияға қатысты операнд тікелей команда құрамында беріледі. Бұндай командалар екібайтты (сыртқы құрылғымен байланысқа) немесе үшбайтты (жадымен байланысқа) болады.

Суреттелген сілтеу тәсілдерінен күрделірек келетін сілтеу тәсілдері де (индексті сілтеу, қатынасты сілтеу және т.б.) бар, бірақ олар Intel 8085 микропроцессоры сияқты қарапайым микропроцессорларда пайдаланылмайды.

Әртүрлі сілтеу тәсілдерін пайдалану бағдарламалардың көлемі мен олардың орындалу уақытын қысқартуға мүмкіндік береді.

Нақтылы тәсілмен сілтеуші адрес микропроцессорлық жүйенің адрестік желісі арқылы жіберіліп, микропроцессор байланысатын жады ұяшығын немесе сыртқы құрылғыны таңдайтын іс жүзіндегі адрес коды қалыптастырылады. 

Жады мен сыртқы құрылғылардың адрестік кеңістігінің пайдаланылу тәртібіне байланысты, “ортақ желілі” және “жеке желілі” деп аталатын, екі түрлі тағұлұм ажыратылады.

Бірінші “ортақ желілі” тағұлұм шегінде жады мен сыртқы құрылғыларды сілтеуге ортақ адрестік кеңістіктің жеке бөліктері бөлінеді. Бұл жағдайда жадыға немесе сыртқы құрылғыға байланыс бірдей командалармен және бір желі арқылы жүзеге асырылады, ал бұл бағдарламаның қарапайымды болуына жол ашады. Бірақ, адрестік кеңістіктің бір бөлігінің сыртқы құрылғыларға пайдаланылуына байланысты, жадыға бөлінген адрес кеңістігінің мөлшері кемиді.

“Жеке желілі” тағұлұмда жады мен сыртқы құрылғылардың әрбіреуінің  меншікті жеке адрестік кеңістіктері болады. Бұл кезде қай объектімен байланыс болып жатқандығын анықтаушы басқару сигналдары керек болады. Мысалы, IO/М сигналымен жады немесе сыртқы құрылғының сілтенуі көрсетіледі. Бұл жағдайда жады бүкіл адрестік кеңістікті пайдалана алады. Сыртқы құрылғымен дерек алмастыруға IN port және OUT port командалары ғана пайдаланылады да, оған микропроцессордың көптеген ыңғайлы командаларын пайдалануға мүмкіндік болмайды.

Микропроцессордың байланысатын адрестік кеңістігінің мөлшері адрес желісінің разрядының санына тәуелді. Мысалы, 16-разрядты адрес желісі арқылы 216 = 64К, ал 20-разрядты желі арқылы 220 = 1М көлеміндегі объектілермен байланысуға болады.

Адрестік кеңістіктің микропроцессор байланысатын қызмет жадысының, тұрақты жадының және сыртқы құрылғылардың блоктарына таратылып бөлінуін жүйені жобалаушы, нақтылы пайдаланылған микропроцессордың ерекшеліктерін ескере отырып, тағайындайды.

2.3            Микропроцессорлық жүйенің жұмысын бағдарлау

Микропроцессорлық жүйенің жұмысы, шешілетін мәселеге байланысты құрылған, командалар тізбесі түріндегі бағдарламаның басқаруымен жүзеге асырылады. Бұндай бағдарламалар, әдетте, командалардың мнемокодтары арқылы суреттелетін, ассемблер тілінде жазылады. Мнемокодтарды машина тіліне (екілік кодтарға) аударушы (translation) арнайы бағдарлама да Ассемблер деп аталады. Машина тіліндегі бағдарлама микропроцессорлық жүйенің жадылық модулінде сақталады да, оның құрамындағы команда кодтары нақтылы тәртіппен таңдалып (оқылып), ол команда кодтарында берілген мәліметтер (операция коды, сілтеу тәсілі, деректер) негізінде орындалады.

Ассемблер тіліндегі бағдарлама нақтылы тәртіппен келесі түрде жазылады:

{Белгі:}

Мнемокод

{Операнд(тар)}

; {Түсініктеме}

Көрнекі жақшаларда болуы да, болмауы да мүмкін элементтер келтірілген. Белгі, мнемокод және операндтар бос орын арқылы ажыратылады.

Белгі – команданың символды адресі. Белгілер ауыстыру арқылы баратын командаларда ғана қойылады. Белгі артында қоснүкте қойылады. Белгі аталымының бірінші символы әріп немесе “?”, “.”, “@”, “_”, “$” символдарының біреуі болу керек. Ауыстыру немесе қосалқы бағдарламаларды шақыру командаларында белгі аталымы операнд ретінде пайдаланылады.

Мнемокод команданың ассемблер тіліндегі жазылымы. Мнемокод ретінде команда қызметінің ағылшын тіліндегі мағынасының қысқартылымы пайдаланылады: ADD (ADDition), SUB (SUBtraction), XCHG (eXCHanGe).

Операндтар үтір арқылы бөлінеді. Екі операнд берілген жағдайда оның біріншісі информация қабылдаушысы, ал екіншісі информация көзі болады.

Түсініктеме командалардың қызметін суреттеуге ғана пайдаланылады, ол машина тіліне аударылмайды және әрқашан үтір-нүктеден басталады.

2.7 К е с т е

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

0

NOP

LXI

B

STAX

B

INX

B

INR

B

DCR

B

MVI

B

RLC

 

DAD

B

LDAX

B

DCX

B

INR

C

DCR

C

MVI

C

RRC

0

1

 

LXI

D

STAX

D

INX

D

INR

D

DCR

D

MVI

D

RAL

 

DAD

D

LDAX

D

DCX

D

INR

E

DCR

E

MVI

E

RAR

1

2

RIM

LXI

H

SHLD

INX

H

INR

H

DCR

H

MVI

H

DAA

 

DAD

H

LHLD

DCX

H

INR

L

DCR

L

MVI

L

CMA

2

3

SIM

LXI

SP

STA

INX

SP

INR

M

DCR

M

MVI

M

STC

 

DAD

SP

LDA

DCX

SP

INR

A

DCR

A

MVI

A

CMC

3

4

MOV

B,B

MOV

B,C

MOV

B,D

MOV

B,E

MOV

B,H

MOV

B,L

MOV

B,M

MOV

B,A

MOV

C,B

MOV

C,C

MOV

C,D

MOV

C,E

MOV

C,H

MOV

C,L

MOV

C,M

MOV

C,A

4

5

MOV

D,B

MOV

D,C

MOV

D,D

MOV

D,E

MOV

D,H

MOV

D,L

MOV

D,M

MOV

D,A

MOV

E,B

MOV

E,C

MOV

E,D

MOV

E,E

MOV

E,H

MOV

E,L

MOV

E,M

MOV

E,A

5

6

MOV

H,B

MOV

H,C

MOV

H,D

MOV

H,E

MOV

H,H

MOV

H,L

MOV

H,M

MOV

H,A

MOV

L,B

MOV

L,C

MOV

L,D

MOV

L,E

MOV

L,H

MOV

L,L

MOV

L,M

MOV

L,A

6

7

MOV

M,B

MOV

M,C

MOV

M,D

MOV

M,E

MOV

M,H

MOV

M,L

HLT

MOV

M,A

MOV

A,B

MOV

A,C

MOV

A,D

MOV

A,E

MOV

A,H

MOV

A,L

MOV

A,M

MOV

A,A

7

8

ADD

B

ADD

C

ADD

D

ADD

E

ADD

H

ADD

L

ADD

M

ADD

A

ADC

B

ADC

C

ADC

D

ADC

E

ADC

H

ADC

L

ADC

M

ADC

A

8

9

SUB

B

SUB

C

SUB

D

SUB

E

SUB

H

SUB

L

SUB

M

SUB

A

SBB

B

SBB

C

SBB

D

SBB

E

SBB

H

SBB

L

SBB

M

SBB

A

9

A

ANA

B

ANA

C

ANA

D

ANA

E

ANA

H

ANA

L

ANA

M

ANA

A

XRA

B

XRA

C

XRA

D

XRA

E

XRA

H

XRA

L

XRA

M

XRA

A

A

B

ORA

B

ORA

C

ORA

D

ORA

E

ORA

H

ORA

L

ORA

M

ORA

A

CMP

B

CMP

C

CMP

D

CMP

E

CMP

H

CMP

L

CMP

M

CMP

A

B

C

RNZ

POP

B

JNZ

JMP

CNZ

PUSH

B

ADI

RST

0

RZ

RET

JZ

 

CZ

CALL

ACI

RST

1

C

D

RNC

POP

D

JNC

OUT

CNC

PUSH

D

SUI

RST

2

RC

 

JC

IN

CC

 

SBI

RST

3

D

E

RPO

POP

H

JPO

XTHL

CPO

PUSH

H

ANI

RST

4

RPE

PCHL

JPE

XCHG

CPE

 

XRI

RST

5

E

F

RP

POP

PSW

JP

DI

CP

PUSH

PSW

ORI

RST

6

RM

SPHL

JM

EI

CM

 

CPI

RST

7

F

 

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

 

 

Бұдан әрі бірнеше қарапайым есептерді шешуге арналған бағдарламалар келтірілген. Құрылған бағдарламалардың жұмысын оқу жүйесінде пайдаланылатын микропроцессорлық жүйелердің зертханалық құрылымдарында тексеруге болады. Көптеген жағдайда бұндай құрылымдардың құрамына ассемблер тілінде құрылған бағдарламаларды машина тіліне аударушы Ассемблер бағдарламасы енгізілмеген. Бұндай жағдайда аудару жұмысы қолдан жүргізіледі. Ол бағдарламадағы командалардың 2.5-кесте арқылы алынатын кодтары, операндтар және олардың жазылатын (сақталатын) жады ұяшықтарының адрестері оналтылық жазылым түрінде суреттеледі. Оналтылық сандар сәйкесті символымен қойылады. Бұл бағдарламаларды зертханалық құрылымға енгізіп, олардың жұмысын тексеруге болады.

Команда кодтарын жоғарыда айтылғандай, 2.5-кесте арқылы алуға болады, бірақ бұл жеңіл жұмыс емес. Сондықтан, команда кодтарының алыну жолын жеңілдету мақсатында бұл кестенің ықшамдалған суреттелімін (2.7-кестені қара) беруді дұрыс деп санадық. Бұл кестеден қажетті команданың коды ол орналасқан горизонталь және вертикаль жолдардың аталымдарын қатар жазу арқылы (міндетті түрде осы тәртіппен) анықталады.

2.3.1     Дерек таратылымы

Intel 8085 микропроцессорының командалар жүйесіндегі әртүрлі сілтемелі дерек тарату командаларының іс-әрекетімен танысуға арналған келесі Transfers (Жіберілімдер) аталымды бағдарламаны қарастыралық.

 

;TRANSFERS

SW:   ;Single Writing

         MVI A,0FH;Direct Loading

         STA 00D0H;Direct Writing

         NOP

S1:     ;Serial Writing-1

         MVI C,07h;Data Counter

         LXI D,00D0H;Initial Address

         MVI A,00H;Cleaning

T0:    ADI 13H;Expansion Step

         INX D;Address Increment

         STAX D;Indirect Writing

         DCR C;Monitoring of the Data Counter

         JNZ T0;Continue

         XCHG;Exchange

         NOP

S2:     ;Serial Writing-2

         MVI C,08H;Data Counter

T1:    ADI 09H;Expansion Step

         INX H;Address Increment

         MOV M,A;Indirect Writing

         DCR C;Monitoring of the Data Counter

         JNZ T1;Continue

         NOP

AW:  ;Data Access and Writing

         LXI D,00EFH;Initial Address

         MVI C,08H;Data Counter

T2:    MOV A,M;Indirect Loading

         STAX D;Indirect Writing

         DCX H;Address Decrement

         DCX D;Address Decrement

         DCR C;Monitoring of the Data Counter

         JNZ T2;Continue

         NOP

AC:   ;Data Access, Conversion and Writing

         MVI C,07H;Data Counter

T3:    MOV A,M;Indirect Loading

         RLC;Left Shift

         XCHG;Exchange

         MOV M,A;Indirect Writing

         DCX H;Address Decrement

         DCX D;Address Decrement

         XCHG;Exchange

         DCR C;Monitoring of the Data Counter

         JNZ T3;Continue

         NOP

         SA:    ;Single Access and Writing

         LDA 00D0H;Direct Loading

         STA 00E0H;Direct Writing

         HLT;Ending

 

Бірнеше блок түрінде құрылған бұл бағдарламада процессор мен жады арасындағы дерек жіберілімдері жүзеге асырылады. Бірінші блокта (Single Writing-1) жадыға тура сілтемелі команда (STA 00D0H) арқылы жеке жіберілім жүзеге асырылады. Екінші блокта (Serial Writing) жадыға жанама сілтемелі команда (STAX D) арқылы дерек массивінің (арифметикалық прогрессияның мүшелері түріндегі) жіберілімі жүзеге асырылады. Дерек массивінің жіберілімінің ыңғайлырақ тәсілі (MOV M,A) келесі блокта (Single Writing-2) келтірілген.

Келесі үш блокта (Data Access, Data Access and Conversion, Single Writing) деректердің жадының бір аймағынан екінші аймағына алғы пайдаланылған командаларға ұқсас командалармен жіберілуі (тек кері тәртіппен) жүзеге асырылады.

Келтірілген бағдарламаны Intel 8085 микропроцессорының негізіндегі микропроцессорлық жүйенің симуляторы (8085 Simulator IDE) арқылы орындау бағдарлама құрамындағы командалардың жұмысын түсінуге  толық мүмкіндік береді. Алуан түрлі іскерлік элементтерімен қамтылған және олардың іс-әрекеттерінің көрнекілігімен көзге түсетін бағдарламалық симулятор оқушылардың құрамы жағынан түр-түрлі жүйе моделдерін құруына және олардың жұмысын зерттеуіне кең мүмкіндік береді, демек, олардың оқу материалын толық игеруіне жағдай жасайды.

Бағдарламаның жоғарыда сипатталған әрбір блогын жеке тексеру үшін олардың соңына (NOP командалары орналастырылған жолдарға) тоқтатылым нүктелерін қою керек (2.2-суретті қара).

2.2 Сурет

2.3.2     Бірбайтты арифметика

Келесі Single-Byte Arithmetic (Бірбайтты арифметика) бағдарламасы бірбайтты арифметикалық командалардың (ADD, SUB) іс-әрекетімен танысуға, айналымды бағдарламалық құрылымдардың ұйымдастырылу принциптерін түсінуге және перифериялық құрылғылармен жұмыстардың ұйымдастырылу принциптерн үйренуге арналған.

 

         ;SINGLE-BYTE ARITHMETIC

DA:   ;Data Array (arithmetical progression)

         LXI H,00E0H;Initial Address

         MVI C,0AH;Data Quantity

         MVI A,00H;Cleaning

         MOV M,C;Writing in the Memory

SD:    INX H;Address Increment

         ADI 15H;Increment Step of the Linear Series

         MOV M,A;Writing in the Memory

         DCR C;Monitoring of the Data Counter

         JNZ SD;Continue

         NOP

CS:    ;Cumulative Summation

         ;SUM=((2a1+(n-1)d)/2)n

         ;a1-first operand,n-quantity,d-step,

         LXI H,00E0H;Initial Address

         MVI A,00H;Cleaning

         MOV B,A;Cleaning

         MOV C,M;Installation of the Data Counter

C1:    INX H;Address Increment

         ADD M;Addition

         JNC C2;Carry Monitoring

         INR B;Carry Accumulation

C2:    DCR C;Monitoring of the Data Counter

         JNZ C1;Continue

         NOP

RR:   ;Retention of Result

         INX H;

         MOV M,A;Low Byte

         INX H;

         MOV M,B;High Byte

         NOP

SS:    ;Series Subtraction

         LXI H,00E0H;Initial Address

         MOV C,M;Installation of the Data Counter

S1:     INX H;Address Increment

         SUB M;Subtraction

         JNC S2;Borrow Monitoring

         DCR B;Borrow Subtraction

S2:     DCR C;Monitoring of the Data Counter

         JNZ S1;Continue

         NOP

AD:   ;ALTERNATIVE of the Single-Byte Summation

         ;Data

         IN 01H;First Operand

         MOV E,A

         IN 01H;Data Quantity

         MOV C,A

         IN 02H;Step

         MOV D,A

         LXI H,0000H

         NOP

AC    ;Cumulative Summation-A

A1:    MOV A,E

         ADD D

         MOV E,A

         MOV A,L

         ADD E

         JNC A2

         INR H

A2:    MOV L,A

         DCR C

         JNZ A1

         MOV A,L

         OUT 03H

         MOV A,H

         OUT 04H

         HLT;Ending

 

Бірнеше блок түрінде құрылған бұл бағдарламада процессор мен жады арасындағы дерек жіберілімдері жүзеге асырылады. Бірінші блокта (Single Writing-1) жадыға тура сілтемелі команда (STA 00D0H) арқылы жеке жіберілім жүзеге асырылады. Екінші блокта (Serial Writing) жадыға жанама сілтемелі команда (STAX D) арқылы дерек массивінің (арифметикалық прогрессияның мүшелері түріндегі) жіберілімі жүзеге асырылады. Дерек массивінің жіберілімінің ыңғайлырақ тәсілі (MOV M,A) келесі блокта (Single Writing-2) келтірілген.

Бұл бағдарламаның құрамындағы Data Array блогы жадыға арифметикалық прогрессия мүшелері түріндегі деректердің жазылуын жүзеге асырады (прогрессияның берілген параметрлерін (n = 0AH – мүшелер санын, a1 = 00H – бірінші мүшенің мәнін, d = 15H – прогрессия қадамын) жұмыстың орындалу барысында өзгертуге болады); Cumulative Summation блогы бағдарламаның алдыңғы блогында жадыға жазылған арифметикалық прогрессия мүшелерінің қосындысын анықтайды; Retention of Result блогы алынған қосынды нәтижесін жадыда сақтайды; Series Subtraction блогы алдында алынған қосындыдан арифметикалық прогрессия мүшелерінің мәндерін тізбелеп алады; екі қосалқы блок түрінде (Data и Cumulative Summation-A) құрылған ALTERNATIVE of the Single-Byte Summation блогында арифметикалық прогрессия мүшелерінің қосындысын анықтаудың перифериялық құрылғыларды пайдалану арқылы (IN, OUT) анықталатын өзгеше түрі жүзеге асырылады.

2.3.3     Екібайтты арифметика

Келесі Double-Byte Arithmetic (Екібайтты арифметика) бағдарламасы екібайтты сандарға арифметикалық операциялар жүргізуге арналған регистрлік сілтемді (ADD, ADC, SUB, SBB) және тіке сілтемді (ADI, ACI, SUI, SBI) командалардың іс-әрекетімен танысуға арналған.

 

         ;DOUBLE-BYTE ARITMETIC

         ;Data Array (arithmetical progression)

         LXI H,00E0H;initial address

         MVI C,0AH;data quantity

         MOV M,C

         MVI A,00H;low byte

         MVI B,12H;high byte

DD:   ADI 15H;step of the low byte=15H

         INR B;step of the high byte=01H

         INX H

         MOV M,A;loading in the low byte memory

         INX H

         MOV M,B;loading in the high byte memory

         DCR C;monitoring of the data counter

         JNZ DD;continue

         NOP

CC:   ;Cumulative Summation

         ;SUM=((2a1+(n-1)d)/2)n

         ;a1-first operand,n-quantity,d-step,

         LXI H,00E0H;initial address

         LXI D,0000H;temporary repository for the result

         MOV B,M;installation of the data counter

         MOV C,B;doublet of the data counter

CS:    MOV A,E

         INX H

         ADD M;low byte

         MOV E,A

         MOV A,D

         INX H

         ADC M;high byte

         MOV D,A

         DCR B;monitoring of the data counter

         JNZ CS;continue

         NOP

         AD:   ;Addition with Direct Addressing

         MOV A,E

         ADI 3DH;low byte

         MOV E,A

         MOV A,D

         ACI 5AH;high byte

         MOV D,A

         NOP

         RR:   ;Retention of the Result

         INX H;

         MOV M,E;low byte

         INX H;

         MOV M,D;high byte

         NOP

         SS:    ;Series Subtraction

         LXI H,00E0H

S0:     MOV A,E

         INX H

         SUB M;low byte

         MOV E,A

         MOV A,D

         INX H

         SBB M;high byte

         MOV D,A

         DCR C;monitoring of the data counter

         JNZ S0;continue

         NOP

SD:    ;Subtraction with Direct Addressing

         MOV A,E

         SUI 3DH;low byte

         MOV E,A

         MOV A,D

         INX H

         SBI 5AH;high byte

         MOV D,A

         NOP

AL:    ;ALTERNATIVE of the Double-Byte Summation

         LDA 00E0H

         MOV C,A;data counter

         LXI SP,00E1H;initial address

         LXI H,0000H;Double-Byte Accumulator

AS:    POP D;Pulling

         DAD D;Double-Byte Summation

         DCR C;monitoring of the data counter

         JNZ AS;continue

         LXI B,5A3DH

         DAD B

         HLT

 

Бұл бағдарламаның құрамындағы Data Array блогы жадыға арифметикалық прогрессия мүшелері түріндегі деректердің жазылуын жүзеге асырады (прогрессияның берілген параметрлерін (n = 0AH – мүшелер санын, a1 = 1200H – бірінші мүшенің мәнін, d = 0115 – прогрессия қадамын) жұмыстың орындалу барысында өзгертуге болады). Қалыптастырылған прогрессия мүшесі жадының екі ұяшығында сақталады (алдымен – кіші байты, сосын – үлкен байты); Cumulative Summation блогы бағдарламаның алдыңғы блогында жадыға жазылған арифметикалық прогрессия мүшелерінің қосындысын анықтайды; Addition with Direct Addressing блогы қосу операциясын тікелей сілтенімді командалар арқылы жүзеге асырады; Retention of Result блогы алынған қосынды нәтижесін жадыда сақтайды; Series Subtraction блогы алдында алынған қосындыдан арифметикалық прогрессия мүшелерінің мәндерін тізбелеп алады; Subtraction with Direct Addressing блогы алу операциясын тікелей сілтенімді командалар арқылы жүзеге асырады; ALTERNATIVE of the Double-Byte Summation блогы арифметикалық прогрессия мүшелерінің қосындысының екібайтты қосу командасы DAD арқылы анықталатын өзге жолын жүзеге асырады.

2.3.4     Көбейту бағдарламасы

Intel 8085 микропроцессорында көбейту командасы жоқ, сондықтан көбейту операциясын орындау үшін сәйкесті бағдарлама құру керек болады. Келесі бағдарлама, екібайтты DAD командасы арқылы ұйымдастырылатын, көбейту операциясын орындауға арналған Multiplication (Көбейту) бағдарламасының жұмысымен танысуға мүмкіндік береді.

Бірбайтты екілік сандарды көбейту алгоритмі келесі тәртіппен жүзеге асырылады:  сегізразрядты сандардың көбейтілу нәтижесі оналтыразрядты сан болатындықтан және жеке қосылымдардың да  оналтыразрядты сандарға жүргізілетіндігіне байланысты, оналтыразрядты аккумулятор ретінде HL регистрлік жұбы алынып, ол операция басында тазартылады; DE регистрлік жұбының E регистріне бірінші сан (көбейтілгіш), ал оның D регистріне нөл енгізіліп, көбейтілгіш қосуға ыңғайлы оналтыразрядты санға айналдырылады; екінші сан (көбейтілгіш) оның разрядтарын ығыстырып шығару үшін аккумуляторға (сөзімізді шатыстырмас үшін, оны бұдан әрі A регистрі деп атаймыз) енгізіледі; ығыстыру операциясының санын бақылап отыру үшін, көбейткіштің разряд саны микропроцессордың бір регистріне (мысалы, С регистріне) енгізіледі; әрбір жеке көбейту алдында осы мезетке дейін жиналған нәтиже (HL жұбындағы) солға ығыстырылады; ығыстыру арқылы А регистрінен шығарылған көбейткіштің кезекті разрядының мәні нөл болғанда, жеке көбейту осымен бітеді (яғни, алдыңғы ығыстырыммен); А регистрінен шығарылған көбейткіштің кезекті разрядының мәні бір болғанда, HL жұбына DE жұбы қосылады; әрбір жеке көбейтілімнен кейін санауыш құрамы бірге кемітіледі де, оның нөлге тең болған кезінде көбейту бағдарламасы өз жұмысын тоқтатады. Сонымен, ығыстыру операциясы сегіз рет жүргізіледі, ал қосу операциясының саны көбейткіштің құрамындағы бірліктердің санымен анықталады.

 

M:     ;MULTIPLICATION

         ;Data

         IN 01H

         MOV E,A

         MVI D,00H

         IN 02H

         LXI H,0000H

         MVI C,08H

         ;Implementation

M1:    DAD H

         RLC

         JNC M2

         DAD D

M2:    DCR C

         JNZ M1

         MOV A,L

         OUT 03H

         MOV A,H

         OUT 04H

         HLT

2.3.5     Стекпен жұмыс ұйымдастырылуы

Микропроцессорлық жүйе жұмысының негізгі бағдарламасының құрамында, әдетте, одан шақырылатын және нақтылы мәселелерді шешуге арналған, бірнеше қосалқы бағдарлама болады.

Қосалқы бағдарламалармен жұмыс ұйымдастырылуы кезінде шақырылған бағдарламаның орындалып біткенінен кейін негізгі бағдарламаға қайту мүмкіндігін қамтамасыз ету керек. Ол үшін жадының жеке бір аймағы стекке бөлінеді де, оның түбі стек көрсеткіші SP ретінде белгіленеді. Қосалқы бағдарламаның шақырылуы кезінде, оның орындалып біткенінен кейін қайтып келетін негізгі бағдарламаның келесі командасының адресі стекте сақталады. Әрбір қосалқы бағдарлама, негізгі бағдарламаға қайтуды қамтамасыз ететін, RET командасымен аяқталу керек.

Қажетті жағдайда регистрлердегі (дәлірек айтқанда, регистрлік жұптардағы) деректерді де стекте PUSH командасымен сақтап, сосын оларды стектен POP командасымен оқуға болады.

Төменде қосалқы бағдарламалармен және стекпен жұмыс ұйымдастырылу тәртібін қарастыру мақсатында y = a1*a2 + a3*a4 +  өрнегі бойынша Stack (Стек) аталымды есептеу бағдарламасы келтірілген.

 

         ;STACK...SUM=a1*a2+a3*a4+sum(ai,n,d)

         LXI SP,0FFH

         MVI B,0A0H

NOP

         ;mul1=a1*a2

         IN 01H;first multiplier

         MOV E,A

         IN 02H;second multiplier

         CALL MUL

         PUSH H

         CALL PER

         NOP

         ;mul2=a3*a4

         IN 01H;first multiplier

         MOV E,A

         IN 02H;second multiplier

         CALL MUL

         PUSH H

         CALL PER

         NOP

         ;sum(ai,n,d)

         IN 01H;quantity - n

         MOV C,A

         IN 02H;step - d

         MOV D,A

         IN 01h;first operand - a1

         MOV D,A

         LXI H,0000H

         CALL SUM

         CALL PER

         NOP

         ;S3

         POP D

         DAD D

         POP D

         DAD D

         CALL PER

         HLT

MUL: ;Multiplication (subroutine)

         MVI D,00H

         LXI H,0000H

         MVI C,08H

M1:    DAD H

         RLC

         JNC M2

         DAD D

M2:    DCR C

         JNZ M1

         RET

SUM: ;Cumulative Summation (subroutine)

CS3:  MOV A,E

         ADD D

         MOV E,A

         MOV A,L

         ADD E

         JNC CS4

         INR H

CS4:  MOV L,A

         DCR C

         JNZ CS3

         RET

PER:  ;Displaying on the Periphery

         ;and Writing on the Memory

         MOV C,B

         MVI B,00H

         MOV A,L

         OUT 03H

         STAX B

         INR C

         MOV A,H

         OUT 04H

         STAX B

         INR C

         MOV B,C

         RET

 

Бағдарламаның негізгі бөлігі келесі блоктардан тұрады: SUM – негізгі бағдарламаның басы, онда стек көрсеткішінің мәні SP және нәтижелерді шығару құрылғысында көрсетуге арналған қосалқы бағдарламаның жұмысын ұйымдастыруға қажетті информация қойылады; mul1 и mul2 – көбейтуге арналған деректер енгізіледі де, сосын көбейту бағдарламасы, одан кейін нәтиже көрсету бағдарламасы шақырылады; sum – қосуға арналған деректер енгізіліп, сосын қосу бағдарламасы, одан кейін нәтиже көрсету бағдарламасы шақырылады; S3 – ақырғы нәтиже, яғни алдыңғы кезеңдерде алынған жеке нәтижелердің қосындысы есептеледі.

Бағдарламада үш қосалқы бағдарлама пайдаланылады: Multiplication – шақырылар алдында енгізілген екі санның көбейтілуін жүзеге асырады; Cumulative Summation – алдын-ала енгізілген деректердің қосындысын есептейді; Displaying – қосалқы бағдарламаларда алынған нәтижелердің сыртқы құрылғыда шығарылуын және олардың жадыда сақталуын жүзеге асырады.

3 Микропроцессорлық жүйе моделі

3.1            MP4M моделі

Оқырманның микропроцессорлық жүйенің аппараттық құрылым принциптері мен бағдарламалы істеу принциптерін толығырақ игеруін қамтамасыз ету мақсатында осы принциптер негізінде құрылған микропроцессорлық жүйенің оқу моделін суреттеуді дұрыс көрдік.

Құрамына микропроцессор (MP4M), дерек енгізу құрылғысы (In), жады жүйесі (Mem) және жүйенің жұмыс режимін таңдау блогы енгізілген, 4-разрядты микропроцессорлық жүйенің моделі 3.1 суретте келтірілген .

 3.1 Сурет

Микропроцессор құрамына келесі блоктар кіреді (3.2-суретті қара): арнайы қызметтік регистрлер жинағы (RGs, Registers); арифметикалық-логикалық құрылғы (ALU, Arithmetic-Logic Unit); команда регистрі (IR, Instruction Register); команда дешифраторы (DC_16, Decoder 16-bit); таймер (CLK, Clock); микробағдарламалық құрылғы (Combi, Combinational Circuit.

Әрбіреуі нақтылы қызмет атқаруға арналған регистрлер жинағының (RGs) құрамына келесі регистрлер кіреді (3.3-суретті қара):

-       A регистрі аккумулятор (Accumulator) қызметін атқарады, онда арифметикалық және логикалық операцияларға қатысты операндтардың біреуі немесе операциялардың орындалу нәтижесі сақталады. Аккумуляторға дерек жадыдан (LD A командасы) немесе ALU-дан (кезекті арифметикалық немесе логикалық операция орындалғаннан кейін) енгізіледі;

3.2 Сурет

3.3 Сурет

-       A1 регистрі айналымды қосылымдардың ұйымдастырылуы кезінде туатын тасылымдарды жинауға арналған. Ол бағдарламаның іске қосылуы кезінде және аккумуляторға (A регистріне) LD A командасымен дерек енгізілуі кезінде тазартылады. Ондағы дерек Space түймесін басу арқылы аккумулятор көрсеткіштеріне қысқа мерзімге шығарылады;

-       B регистрі микропроцессордың ішкі регистрлері мен жады арасындағы дерек жіберілімдерінің адрес регистрінің қызметін атқарады (LD C, LD IP, LD SP, LD A командалары). LD C, LD SP, LD A командалары орындалғаннан кейін B регистріндегі сан ұлғайтылады (яғни, оған бір қосылады). Бұл регистрге дерек LD B командасымен енгізіледі, оған адрес регистрі ретінде C регистрі пайдаланылады. Ол бағдарламаның іске қосылуы кезінде тазартылады;

-       C регистрі арифметикалық және логикалық операцияларға қатысты екінші операндтың адрес регистрінің қызметін атқарады. Сәйкесті командалар орындалғаннан кейін С регистріндегі сан ұлғайтылады, бірақ оның бағытын (B регистрінен ерекше) өзгертуге болады, ол I түймесі арқылы қойылады және оның жағдайы (I) - Dcr/Inr көрсеткішінде көрсетіледі: I=0 кезінде – тура бағытта (Increment), ал I=1 кезінде – теріс бағытта (Decrement). Ондағы санды өзгермеген түрінде де қалдыруға болады, бұндай жағдай туралы жүйенің жұмыс режимдерін суреттеу кезінде айтылады. Бұл регистрге дерек LD C командасымен жүзеге асырылады. Бағдарламаның іске қосылуы кезінде бұл регистр 1111 жағдайына қойылады (XOR элементтері арқылы). Кез келген бағдарламаның құрамында дерек тарату командаларының болатындығынан, бағдарламаның бірінші командасы B регистріне дерек енгізу командасы (LD B) болу керек. C регистрінің сұлбасындағы (3.4-суретті қара)  төрткірісті OR элементі регистрдің нөлдік жағдайын анықтауға арналған, ол арқылы айналымды операциялардың ұйымдастырылуы кезінде шартты ауысу жүзеге асырылады;

3.4 Сурет

-       SP регистрі стек көрсеткішінің (Stack Pointer) қызметін атқарады, яғни PUSH және POP командалуы кезінде адрес регистрінің рөлінде болады:  ондағы адрес PUSH командасының орындалар алдында кемітіледі (Predecrement) және POP командасы орындалғаннан кейін ұлғайтылады (Postincrement). Загрузка этого регистра осуществляется командой LD SP. Бұл регистрге дерек LD SP командасымен жүзеге асырылады. Бағдарламаның іске қосылуы кезінде бұл регистр 1111 жағдайына қойылады;

-       IP регистрі команда көрсеткішінің (Instuction Pointer) қызметін атқарады. Кезекті команданың коды жадыдан шығарылып, команда регистріне сақталғаннан кейін ондағы адрес ұлғайтылады. Бұл регистрге дерек LD IP командасымен жүзеге асырылады. Ондағы адрес, жүйенің кейбір альтернативті жұмыс режимдерінде анықталатын, шартты ауысу кезінде де өзгертіледі. Ол бағдарламаның іске қосылуы кезінде тазартылады.

Барлық регистрдің кірістері ішкі дерек желісіне, ал шығыстары (үш жағдайлы буферлік элементтер арқылы) атқаратын қызметіне сәйкесті дерек желісіне немесе адрес желісіне қосылған.

Арифметикалық-логикалық құрылғы (ALU, Arithmetic-Logic Unit) арифметикалық және логикалық операциялардың орындалуын жүзеге асырады. Оның құрамында сәйкесті операциялардың орындалуын жүзеге асырушы бөліктемелер (sum, not, and, or, xor) және операндтар мен орындалған операцияның нәтижесін уақытша сақтауға арналған буферлік регистрлер болады.

Команда дешифраторы (DC_16) кезекті команданың кодына сәйкесті орындаушы микробағдарламасын іске қосады, яғни осы команданың орындалуына қатысты құрылғыларға жіберілетін басқару сигналдарының қалыптастырылу жолын анықтайды.

Таймер (CLK) командалардың орындалуына қатысты құрылғыларға жіберілетін басқару сигналдарының уақыттық таралымын анықтайды.

Қиыстырмалы микробағдарламалық құрылғы (Combi, Combinational Circuit) кезекті команданың орындалуын қамтамасыз етуші кеңістіктік және уақыттық басқару сигналдарын қалыптастырады.

Жады жүйесі (Mem) құрамындағы (3.5-сурет) 2D құрылымымен құрылған 16 ұяшықты дербес  жадылық құрылымдарға (mem) бағдарлама мен оның орындалуына қажетті деректер енгізіледі. Олардың сәйкесті информацияны енгізу құрылғысынан немесе микропроцессордан енгізуін және оған шығаруын жадының жергілікті басқару құрылғысы (MCon) енгізу құрылғысынан немесе микропроцессордан түскен басқару сигналдары арқылы реттейді.

3.5 Сурет

Енгізу құрылғысы (In) бағдарлама құрамындағы командалардың кодтары мен оның орындалуына қажетті деректердің 16 түйме арқылы енгізілуін қамтамасыз етеді. Ондағы түймелер жинағының (3.6, a-суретті қара) құрамындағы әрбір түйменің жолында орналастырылған, D-триггерінің негізінде құрылған, D (Delay) құрылымы (3.6, b-суретті қара) сәйкесті түйменің басылуы кезінде нақтылы ұзақтықты теріс импульс қалыптасуын қамтамасыз етеді. Басылған түймеге сәйкесті код қалыптастырушысы екі мәртебелі шифратор негізінде құрылған.

a

b

3.6 Сурет

Жүйе бірнеше режимде істей алады, олар режим таңдау блогындағы (Regime) түймелердің жағдайымен анықталады. Олардың жағдайы сәйкесті көрсеткіштерде суреттеледі. Осы режимдерді суреттелік.

 Енгізу құрылғысынан жады жүйесіне ақпарат енгізу M=1 кезінде жүргізіледі. Егер бұл кезде P=1 болса, онда ақпарат – бағдарлама жадысына (бағдарлама коды F тоқтату командасымен аяқталу керек), ал P=0 кезінде дерек жадысына енгізіледі. Жады құрамын тексеру Space түймесін қысқа уақытқа басып, жады ұяшығының адресін өзгерту арқылы жүргізіледі. P түймесінің жағдайы өзгертілгенде жады адресі тазартылады.

Бағдарламаны іске қосу M түймесін M=0 жағдайына ауыстыру арқылы жүзеге асырылады. Егер бұл кезде P=1 болса, онда арифметикалық және логикалық командалардың орындалуы кезінде C регистрінің жағдайы өзгереді (I мәніне сәйкесті), ал P=0 кезінде оның жағдайы өзгермеген жағдайында қалады.

ADS және ACS командалары арқылы S=0 кезінде – қосу операциялары, ал  S=1 кезінде алу операциялары орындалады. V=0 кезінде AND командасы арқылы екі операнд арасында – қалыпты логикалық көбейту операциясы, ал V=1 кезінде деректің нақтылы разрядындағы бірлік битті табуға арналған биттік операция жүзеге асырылады. Бұл биттік операцияның орындалуы үшін аккумуляторға қажетті разрядында ғана бір тұрған санауыш енгізілу керек. Суреттелген биттік операция сыртқы құрылғыдан келетін сұраныс сигналын немесе іс жүзіндегі қолданба жүйелердегі құптау сигналын тануды елестетеді.

Жүйені суреттелген режимдердің біреуіне ауыстыру бағдарламаны іске қосу алдында жүргізіледі, бірақ оны бағдарламаның жұмысының барысында да жүзеге асыруға болады, бұл жүйенің жүйенің бағдарламалық иүмкіндіктерін кеңейтеді. Мысалы, жұмыс барысында қосу операцияларын алу операцияларына немесе конъюнкцияны биттік операцияға ауыстыруға болады.

MP4M микропроцессорының командалары мен олардың сипаттамалары 3.1 кестеде, ал жүйенің жұмыс режимдерінің қойылуы 3.2 кестеде келтірілген.

3.1 К е с т е

Мн-ка

Код

Операциялар

Hex

V=0

P

S

V=1; I=1

LD B

0

B←[(C)];  C(C)+1

 

 

 

LD C

1

C←[(B)];  B(B)+1

 

 

 

LD IP

2

IP←[(B)]

 

 

 

LD SP

3

SP←[(B)]; B(B)+1

 

 

 

LD A

4

A←[(B)];  B(B)+1

 

 

 

ST

5

[(B)]←(A);B(B)+1

 

 

 

INR

6

A←(A)+1

 

 

 

NOT

7

A←

 

 

 

ADS

8

A←(A)±[(C)]; TC

P=1: C←var(I)

P=0: C = invar

S=1: SUB (–)

S=0:ADD,ADC (+)

Zc = 0:       IP←IP+1

ACS

9

A←(A)±[(C)±TC; TC

 

 

 

AND

A

A←(A)۸[(C)]

 

 

Zc۸Za=0:  IP←IP+1

OR

B

A←(A)۷[(C)]

 

 

 

XOR

C

A←(A)[(C)]

 

 

 

PUSH

D

SP←(SP)–1; (SP)]←(A)

 

 

 

POP

E

A←(SP)]; SP←(SP)+1

 

 

 

HLT

F

IP = invar

 

 

 

3.2 К е с т е

Кілт, инд-р

M/R = 1

M/R → 0: Running: A,B,IP ← 0; C,SP ← F

P=1:   C←var(I);               P=0:     C = invar

S = 0

P/D = 1:

MemPr←IN

P/D = 0:

MemD←IN

Addition         (+)

A ← (A) + [(C)]

S = 1

Subtraction     (–)

A ← (A) – [(C)]

I = 1

PostDecrement  C(C) –1

C←(C)–1; (C)=0: Zc ← 0

I = 0

PostIncrement   C(C) +1

C ← (C) + 1

V = 0

Logical Operation

A ← (A) {۸ / ۷ / } [(C)]

V = 1

Verifying of Byte

(A)=0010…bi = 1: Za ← 0

 

3.2            MP4M моделін бағдарлау

3.2.1     Дерек таратылымы

MP4M моделін дерек тарту командаларының жұмысымен танысалық. Ол үщін алдымен M және P түймелерін M=1 және P=1 жағдайына қою арқылы жүйені бағдарлама енгізу режиміне дайындап, жадыға келесі бағдарламаның команда кодтарын енгіз.

 

Адрес

Команда

Код

Адрес

Командалар

Код

0

LD B

0

5

POP

E

1

LD A

4

6

ST

5

2

LD SP

3

7

PUSH

D

3

LD C

1

8

PUSH

D

4

POP

E

9

HLT

F

 

M және P түймелерін M=1 және P=0 жағдайына қою арқылы жүйені дерек енгізу режиміне ауыстырып, жадыға әртүрлі деректерді енгіз. Жады түрін P түймесімен ауыстыра отырып, жадыға енгізілген ақпараттың (бағдарлама мен деректердің) дұрыстығын Space түймесін қысқа уақытқа басу арқылы тексер. P түймесін P=1 жағдайына қойып, сосын M түймесін M=0 жағдайына ауыстыру арқылы бағдарламаны іске қос. Көрсеткіштердің жағдайын бақылай отырып, бағдарлама жұмысын тексер. Қажетті жағдайда бағдарлама жұмысын  түймесімен тоқтата тұруға немесе M түймесін екі рет басу арқылы бағдарлама жұмысын қайта бастауға болады. Бағдарлама жұмысы тоқтатылғаннан кейін жүйені енгізу жүйесіне ауыстырып, дерек жадысын тексеру арқылы, ондағы өзгерістерді анықтауға болады.

3.2.2     Арифметикалық және логикалық командалар

Арифметикалық және логикалық командалардың іс-әрекетімен танысуды келесі бағдарлама арқылы жүзеге асыруға болады.

 

Адрес

Командалар

Кодтар

Адрес

Командалар

Кодтар

0

LD B

0

7

ADS

8

1

LD C

1

8

ACS

9

2

LD A

4

9

ACS

9

3

INR

6

A

AND

A

4

INR

6

B

OR

B

5

ADS

8

C

XOR

C

6

ADS

8

D

HLT

F

 

3.2.3     Айналымды бағдарламалық құрылымдар

Модель мүмкіншілігін айналымды бағдарламалық құрылымдардың ұйымдастырылу принциптерін келесі бағдарламалар арқылы тексеруге болады.

Келесі бағдарлама жадыға 1…5 адресі арасында орналастырылған N санның (бұл жағдайда N=5) қосындысын анықтауға арналған.

 

Адрес

Командалар

Кодтар

Адрес

Деректер

Адрес

Деректер

0

LD B

0

0

6

1

LD C

1

1

8

7

5

2

ADS

8

2

D

8

2

3

LD IP

2

3

A

4

HLT

F

4

9

 

 

 

 

 

5

B

F

7

 

Келесі бағдарлама жадыға 1…5 адресі арасында орналастырылған деректердің ішінен үшінші разрядында бір тұрған санды (бұл жағдайда адресі  2 ұяшықта орналасқан D санын) тауып береді, ал бұндай сан болмаған жағдайда (мысалы, дерек жадысының 2 ұяшығындағы D орнына  3 енгізілгенде) тексерім соңында бағдарлама жұмысын тоқтатады.

 

Адрес

Командалар

Кодтар

Адрес

Деректер

Адрес

Деректер

0

LD B

0

0

6

1

LD C

1

1

8

7

5

2

LD A

4

2

D

8

4

3

AND

A

3

A

9

3

4

LD IP

2

4

9

5

HLT

F

5

B

F

7

 

 


Әдебиеттер тізімі

1.     Токхейм Р. Основы цифровой электроники: Пер. с. англ. – М.: Мир, 1988.

2.     Токхейм Р. Микропроцессоры. Курс и упражнеия: Пер. с. англ. – М.: Мир, 1988.

3.     Бураханова З.М., Шанаев О.Т. Аналогты және цифрлы электрондық құрылғылар / Оқу құралы. – Алматы: АЭИ, 1992.

4.     Бураханова З.М., Шанаев О.Т. Электрондық тізбектер / Оқу құралы. – Алматы: АЭИ, 1996.

5.     Бураханова З.М. Дербес ЭЕМ арқылы схемақұралыстық моделдеу / Оқу құралы. – Алматы: АЭжБИ, 1999.

6.     Шанаев У.Т. Основы цифровой техники / Учебное пособие. – Алматы: АГУ, 1999.

7.     Уэйкерли Дж. Ф. Проектирование цифровых устройств: Пер. с. англ. – М.: Постмаркет, 2002.

8.     Хамахер К. И др. Организация ЭВМ. Пер. с. англ. – СПб.: Питер, 2003.

9.     Шанаев О.Т. Electronic Workbench моделдеу жүйесі / казақ және орыс тілдерінде. – Алматы: 2003.

10. Угрюмов Е. П. Цифровая схемотехника. – СПб.: БХВ-Петербург, 2004.

11. Бойко В.И. и др. Схемотехника электронных устройств. Цифровые устройства. – СПб.: БХВ-Петербург, 2004.

12. Бойко В.И. и др. Схемотехника электронных устройств. Микропроцессоры и микроконтроллеры. – СПб.: БХВ-Петербург, 2004.

13. Сугано Т. Дж., Уидмер Н. С. Цифровые системы. Теория и практика: Пер. с англ. – М.: Издательский дом “Вильямс”, 2004.

14. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар. Курстық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АИЭС, 2008.

15. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар: Оқу құралы / Алматы: АЭжБИ, 2009.

16. Шанаев О.Т. Микропроцессорлық жүйелер: Оқу құралы / Алматы: АЭжБИ, 2009.

17. Шанаев О.Т. Микропроцессорлық жүйелердің құрылғылары. Зертханалық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АИЭС, 2009.

18. Шанаев О.Т. Цифрлық құрылғылар және микропроцессорлар. Зертханалық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АЭжБУ, 2011.

19. Шанаев О.Т. Микропроцессорлық техника негіздері. 1-бөлім. Зертханалық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АЭжБУ, 2011. – 21 б.

20. Шанаев О.Т. Микропроцессорлық техника негіздері. 2-бөлім. Зертханалық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АЭжБУ, 2011. – 21 б.

21. Шанаев О.Т. Микропроцессорлық техника негіздері. 3-бөлім. Зертханалық жұмыстарды орындауға арналған әдістемелік  нұсқаулар. – Алматы: АЭжБУ, 2011. – 30 б.

22. Шанаев О.Т. Бағдарламалы құрылымдар: Оқу құралы / Алматы: АЭжБУ, 2011. – 80 б.

 


Мазмұны

Кіріспе  3

1 Цифрлық құрылғылар  6

1.1 Цифрлық құрылғылардың математикалық негіздері 6

1.1.1 Екілік санау жүйесі 6

1.2.3.1 Сандардың түрлендірілімі 7

1.1.1.1.1 Ондық санның екілік санға түрлендірілуі 7

1.1.1.1.2 Екілік санның ондық санға түрлендірілуі 9

1.1.1.1.3 Санның оналтылық жазылымы   9

1.1.2 Логикалық функциялар  9

1.1.2.1 Негізгі функциялар  9

1.1.2.2 Әмбебап функциялар  10

1.1.2.3 Теңдік және теңсіздік функциялары   11

1.1.3 Логика алгебрасының заңдары мен заңдылықтары   11

1.1.4 Күрделі функциялар  12

1.2.3.1 Логикалық функцияларды минимизизациялау  13

1.1.4.1.1 Тікелей түрлендіру тәсілі 14

1.1.4.1.2 Карно картасы арқылы түрлендіру  14

1.1.4.1.3 Арнайы түрлендіргішті пайдалану  15

1.2 Қиыстырма құрылғылар  15

1.2.1 Логикалық элементтер  15

1.2.1.1 Логикалық элементтердің тез әрекеттілігі 16

1.2.2 Қиыстырма құрылғыларды құру тәртібі 17

1.2.3 Қалыпты қиыстырма құрылғылар  18

1.2.3.1 Шифраторлар  18

1.2.3.1.1 Шифратордың өлшемін ұлғайту  20

1.2.3.2 Дешифраторлар  21

1.2.3.2.1 Дешифратор негізінде қиыстырма құрылғы құру  22

1.2.3.3 Мультиплексорлар  22

1.2.3.3.1 Мультиплексор негізінде қиыстырма құрылғы құру  23

1.2.3.4 Демультиплексорлар  24

1.2.3.5 Қосуыштар  24

1.2.3.5.1 Бірразрядты қосуыштар  24

1.2.3.5.2 Көпразрядты қосуыштар  25

1.3 Тізбектеме құрылғылар  26

1.3.1 Триггерлер  26

1.3.1.1 Асинхронды RS-триггерлер  26

1.3.1.1.1 Тура кірісті RS-триггер  26

1.3.1.1.2 Теріс кірісті RS-триггер  28

1.3.1.2 Синхронды триггерлер  30

1.3.1.2.1 Синхронды RS-триггер  30

1.3.1.2.2 Статикалы басқарылымды D-триггер  31

1.3.1.2.3 Динамикалы басқарылымды триггерлер  31

1.3.2 Регистрлер  33

1.3.3 Санауыштар  34

1.4 Жадылық құрылғылар  35

1.4.1 Жадылық құрылғылардың басқару сигналдары   35

1.4.2 Жадылық құрылғылардың басты параметрлері 35

1.4.3 Жадылық құрылғылардың негізгі түрлері 36

1.4.4 Жадылық құрылғылардың негізгі құрылымдары   37

1.4.4.1 2D құрылымы   37

1.4.4.2 3D құрылымы   38

1.4.4.3 2DM құрылымы   39

1.4.5 Тұрақты жадылық құрылғылардың байланыс элементтері 40

1.4.5.1 ROM(M)  құрылғылары   40

1.4.5.2 PROM құрылғылары   41

1.4.5.3 EPROM және EEPROM құрылғылары   42

2 Микропроцессорлар және микропроцессорлық жүйелер  43

2.1 Микропроцессорлық жүйелердің құрылым принциптері 43

2.2 Intel 8085 микропроцессоры   44

2.2.1 Микропроцессордың құрылымы   44

2.2.2 Микропроцессордың басқару сигналдары   47

2.2.3 Микропроцессордың жұмыс тәртібі 50

2.2.4 Микропроцессордың үзіліс жүйесі 51

2.2.5 Микропроцессордың тізбекті енгізу/шығару жүйесі 53

2.2.6 Микропроцессордың командалар жүйесі 54

2.2.7 Микропроцессорда қолданылатын сілтеу тәсілдері 57

2.3 Микропроцессорлық жүйенің жұмысын бағдарлау  59

2.3.1 Дерек таратылымы   61

2.3.2 Бірбайтты арифметика  63

2.3.3 Екібайтты арифметика  65

2.3.4 Көбейту бағдарламасы   68

2.3.5 Стекпен жұмыс ұйымдастырылуы   69

3 Микропроцессорлық жүйе моделі 72

3.1 MP4M моделі 72

3.2 MP4M моделін бағдарлау  78

3.2.1 Дерек таратылымы   78

3.2.2 Арифметикалық және логикалық командалар  78

3.2.3 Айналымды бағдарламалық құрылымдар  79

Әдебиеттер тізімі 80