схематехника. Схемотехника
Скачать 0.84 Mb.
|
12.2 i8085 микропроцессор құрылымы 12.2 суретте i8085 МП ішкі құрылымы көрсетілген, оның құрамына буферлік регистрлі және ондық коррекция сызбалы 8-разрядтық АЛБ, РОН блогы, SP стек көрсету регистрлері және PC командасы есептегіші, алғашқы басқарушы автомат БА, адрес және мәліметтер шинасының буферлік сызбалары және жүйені басқару сызбасы кіреді. 12.2 сурет - i8085 МП ішкі құрылымы Сыртқы интерфейс 8-разрядтың екі бағытты мәліметтер шинасымен D[7:0], 16-разрядтың адрес шинасымен A[15:0] және басқару желісі тобымен көрсетілген. Микропроцессор, оның блоктары ақпаратпен алмасатын ішкі сегіз разрядтық мәліметтер шинасынан тұрады. Сызбада мынандай белгілеулер алынған: - AC (Accumulator) — регистр- аккумулятор, екісатылы триггерлерде орындалған және біруақытта екі сөзді сақтауға қабілетті (біреуі операндтар және операция нәтижесі); - W1 – операндттардың біреуін уақытша сақтау регистрі; - ALU (Arithmetic-Logic Unit) — арифметикалық-логикалық құрылғы, оның кірісіне берілетін екі сөз – операндысы жұмысты орындайды. Аккумулятор мәліметтер көзі және қабылдағыш қызметін атқарады. АЛҚ тікелей қосу, азайту, ығысу, сөздерді салыстыру, разряд бойынша логикалық операциялар (коньюкция, дизьюкция, 2 модулы бойынша көбейту) операцияларын ғана орындайды. Бұдан күрделілеу операциялар (көбейту, бөлу және т.б) кіші бағдарламалар бойынша орындалады. АЛҚ-да екілік сандарды екілік ондыққа көшіру схемасы бар (DA, Decimal Adjust); - RF (Register Rags) — яғни АЛҚ орындалған арифметикалық және логикалық нәтижелер белгілерін көрсететін жалаулар регистрі бес белгісі көрсетіледі: Z (Zero)- нөлдік нәтиже, С-тасымалдау, AC (Auxiliary Carry)-қосымша тасымалдау, S (Sign) – белгі, Р(Parity) – сөз салмағының тақтылығы. Қосымша тасымалдау белгісі (кіші және үлкен жартыбайттардың арасында) екілік-ондық кодта операциясын орындауда қажет. Мәліметтердің ішкі шинасымен мультиплексор арқылы регистрлер блогы байланысқан, олардың бөлігі арнайы, басқа бөлігі (жалпы қолданыстағы регистрлер, ЖҚР) бағдарламалық қол жеткізерлік және программистің қарауына қарай қолданыла алады. Регистрлер W2, W3, B,C,D,E, H, L, SP және PC арқылы белгіленген. W2 және W3 регистрлері жадыдан команданы таңдауда мәліметтерді уақытша сақтау үшін ғана арналған және программистерге рұқсат етілмейді. B,C,D,E,H,L жалпы қолданыстағы регистрлерге жатқызылады, себебі программист қарауына қарай қолданыла алады. Бұл сегізразрядты регистрлер бөлек, немесе 16-разрядты регистрлер рөлінде болатын B-C, D-E, H-L жұптары түрінде қолданыла алады. Регистрлер жұптары жұптың бірінші регистрі бойынша аталады, B. D, H жұптары сияқты. H-L жұбы жанама регистрлік адресация кезінде оған адрестерді енгізу үшін қолданылады. SP (Stack Pointer) регистрі – стек көрсеткіші. Стек (дүкендік жады) сөздер массивін есте сақтау үшін ыңғайды, бұл кезде жеке адрестеу талап етілмейді. Сөз стекке белгілі бір ретпен енгізіледі, сол сияқты есептеу кезінде олардың реті алдын-ала белгілі болады. (Last In — First Out) типін ұйымдастыруда стекке жазылған соңғы сөз есептеу кезінде бірінші болып шығады. Стектің негізгі міндеті бағдарламаның үзілуіне қызмет көрсететін бағдарламаларды орындау. PC (Program Counter) бағдарламалық есептегіші команда адресін береді және жады адресінің 64К ұяшықтарының кез-келгеніне орналасуы мүмкін. Микропроцессор МП ауытқуы кезінде РС нөлдік күйді қабылдайды, сөйтіп бірінші орындалатын ұяшық адресі болады, басқаша айтқанда команданы орындау нөлінші ұяшықтан басталады. Команда ұзындығын 1...3 байты құрайды. Жадыдан келесі байтты таңдаған соң бағдарламалық есептегіш құрамы автоматты түрде инкрементирленеді, егер ағымдық команда немесе кері жағдайда ағымдық команданың келесі байты бір байттық болса, онда PC келесі команда адресі шығады. Команданың екінші және үшінші байттары W2 және W3 регистрлеріне түседі, олар бағдарламалық адрестелмейді және ішкі басқарудың блогымен ғана қолданылады. Берілген сөзді INC/DEC (Increment/Decrement) схемасы одан өтетін сөздерді +1 немесе - 1-ге өзгертеді. IR (Instruction Register) командалар регистрі жадыдан команданың бірінші байтын (операция кодын) қабылдайды, олар дешифрациядан кейін операция кодымен алдын-ала жазылған машиналық циклдерді іске асыруға қажетті сигналдарды тудырады. Басқару автоматының блогы командалардың шығыс регистрі циклдерді синхронизациялау, күй сигналдарын генерациялау және шиналарды басқару (сыртқы құрылғылармен) үшін қолданылады. МП мен жады (немесе СҚ) арасындағы ауысу кезінде жадының (немесе СҚ) сәйкес ұяшық адресі таңдалған команда немесе регистрлік жұптардың біреуінен RA регистріне беріледі. Үш шығу күйі бар ВА адрес буфері А адрестік шинасының сызығындағы разряд адресінің үлкен, аға сигналдарын жібереді. 13 Дәріс. Адресация және командалар Команда – бұл МП белгілі әрекеттер орындауға мәжбүр ететін екі сөз. Командалар жиыны – МП орындай алатын барлық командалар жиынтығы. Команда екі бөліктен: операция кодынан (коп – opcode) және адрестен тұрады. ОПК басқару сызбасына «не істеу керек» және есептегіш командалары үшін командалар ұзындығын хабарлайды; ал адрес осы операцияға қатысатын мәліметтердің орнын көрсетеді. i8085 сериясы микропроцессорлар үшін командалар жиыны 75-80 команданы құрайды. Командалар саны ОПК санынан едәуір көп, себебі командалар құрған кезде операцияның сол бір коды түрлі адрестеу әдістерінде қолданылуы мүмкін. Қысқаша әріптік белгілеу ОПК адресті сандық жазу формасы түрінде жазу ассемблер бағдарламалау тілі деп аталады. Ассемблердің бағдарлама-трансляторы ОПК мнемоникалық белгілеуін машиналық код деп аталатын сәйкес екілік кодтарға түрлендіреді. МП әртүрлі ұзындықты командаларға ие: 1, 2 немесе 3 байт. Мәліметтерге қарау типін адрестеу тәсілі деп атайды. Адрестеу әдісінің келесі түрлері болады: - анық емес – ақпарат көзі мен қабылдаушы адресі бірбайттық командада анық емес көрсетілген. Мысалы, В регистрінен А регистріне (В → А) жіберу командасы. MOV A, B – opcode = 78h – СУ жіберуге арналған команда коды; 111- А регистр адресі, 000- В регистрі адресі; - тәуелсіз – ОПК әрқашан команданың бірінші байтында орналасады, ал одан кейін тікелей командаға байланысты 2 немесе 2 байтты алатын мәліметтер жүреді. MVI A, 6Dh 3E – КОП, 6Д – мәлімет (сан), 6Д санын А регистріне жіберетін екібайттық команда (6Д → А), жадыда екі торшаны алады; - тура – ОПК-дан кейін жады адресі немесе кіріс/шығыс құрылғысы (интерфейсі) орналасады, яғни адрес команданың өзінде көрсетіледі. STA 83F8 – А регистрін 83F8 адресі бойынша жады торына жіберетін үшбайтты команда. 32 (КОП) – F8(мл.байт) – 83(ст.байт); - жанама – бірбайттық команда, жадыдағы мәліметтер адресі бар регистрлік жұбының (HL, SP) ОПК-да көрсетілетін. MOV A, M - 7Eh – ОПК, адресі HL регистрлік жұбында орналасқан жады торынан қайта жіберу (көшіру). 13.1 i8085 микропроцессор командалары МП командалары 13.1 кестеде келтірілген бірінші бағанда r арқылы белгіленген, rp арқылы белгіленген регистр жұптарының, М арқылы белгіленген жады ұяшықтарының, b3b2 арқылы белгіленген 2 және 3 байт командааралық, port арқылы белгіленетін СҚ адрестерінің мнемокодтары берілген. 13.1 кесте - i8085 микропроцессор командалары
Екінші бағанында ИИИ -мәліметтер көздерінің адресі; ППП – қабылдағыш адресі; РЖ- регистрлер жұбы. РОН адрестері: 000 – В; 001 – С; 010 – Д; 011 – Е; 100 – Н; 101 – L; 111 – A. ADD – addition – қосу; SUB – subtraction – азайту. 13.2 МПС құрылымдық сызба Микропроцессорлық жүйе құрамына төмендегі микросызбалар кіреді: - орталық процессор i8085; - тактілік импульстар генераторы (ТИГ) i8284A; - ақаулар бақылаушысы i8259; - баспа регистрі i8282 сыртқы қондырғыларды бекітуге арналған; - шиналы қалыптастырғыш i8286 (екібағытты мәліметтер буфері); - оперативті жады RAM i2142; - бағдарламаланатын ПЗУ PROM i2716; - бағдарламаланатын параллельді интерфейс (БПИ) i82С55. 13.1 сурет – i8085 базасындағы МПС сызбасы 13.3 Индикация құрылғылары Жетісегментті индикаторлар МП регистрлерінің құрамын және жады ұяшықтарын бақылауға мүмкіндік береді, басқа ақпаратты бейнелейді. Әрбір индикаторға ОЗУ (ОЕСҚ) ұяшығы сәйкес келеді, онда индикатор сегменттерінің жарқырауын басқаратын жетісегментті код сақталады. Осы ұяшықтардан ақпарат арнайы сызба көмегімен индикаторларға жіберіліп, олар индикацияның динамикалық режимін қамтамасыз етеді. Бұл ұяшықтардағы әрбір бит анықталған сегментке (13.2 суретті қара) сәйкес келеді. Егер бит 1-ге тең болса, онда сәйкес сегмент жанатын болады, және керісінше 83FFH – жады ұяшығы оң индикаторға (барлығы сегіз) сәйкес келеді.
13.2 сурет - Жеті сегментті индикатор сызбасы Сыртқы құрылғылармен ақпарат алмасу i82C55 бағдарламалаушы интерфейс арқылы іске асырылады. Бағдарламалар ассемблер тілінде, яғни мнемониканы қолдану арқылы жазылады. МП команданы «түсіну» үшін оны машина тіліне (код) аудару керек. МП сандық сигналдармен тікелей жұмыс жасағандықтан, Ассемблер командалары екі кодта кодталған. Үлкен көрнекілік және ыңғайлылық үшін екі кодты он алтылыққа ауыстырады. Мысалы, 00111100 коды оналтылық түрде 3С деп жазылады, МП 8085 үшін А регистрі құрамындағы команданы 1-ге арттыруды көрсетеді және Ассемблер тілінде (INRA түрінде) жазылады. Ассемблерде жазылған бағдарламалар қодың трансляциялау және ОЕСҚ жүктеуге ұшырайды, сондай-ақ жүктеу жадының тізбекті ұяшықтарында іске асырылады. Қолдан трансляциялау 13.1 кестесі көмегімен i8085 мнемоникалық белгілеулерімен іске асырылады. Мысалы индикаторға «8» цифрын шығаратын бағдарламаны (13.2 кестені қара) . Бұл үшін басқа барлық сегменттерге бірлік импульстер беру керек. «1» байтының сәйкес разрядын қарастырыңыз (13.2 суретті қара). Екілік кодын аламыз: 01111111. 7Fh коды алдымен МП аккумуляторына алдымен MVI A командасымен жазылады, содан соң А құрамындағы индикаторға қайта жіберіледі. 13.2 кесте
|