Similar presentations:
Микропроцессорларды жобалау
1.
2.
Пән атауы: Компьютер жүйелерінің архитектурасыТақырыбы: Микропроцессорларды жобалау.
Микробағдарламалау
Орындаушы: Алпысбай Рахат
Электрондық адрес:
[email protected]
3.
Процессорды микробағдарламалауМикропроцессордың барлық әрекеттері және оның шығысындағы сигналдар өңдеу блогының басқару кірістеріне берілетін
микрокомандалар тізбегі арқылы анықталады. Микрокомандалардың бұл тізбегі микробағдарлама деп аталады.
ЖЖҚ және ROM жұмыс істеу принциптерін зерделеу кезінде қажетті ақпаратты жазу немесе оқу үшін генерациялау қажет
уақыт диаграммалары берілді. Мына диаграммалардың бірін таңдайық:
4.
Кез келген уақыт диаграммасы микропроцессор арқылы жасалады. Микропроцессорлық өңдеу блогын талқылау кезіндемикросұлбаның дизайны қарастырылды, оның мысалын қолдана отырып, біз жұмыс істеуге қажетті сигналдарды
генерациялаймыз. Сигналдарды өңдеу блогының принципиалды сызбасына сүйене отырып, осы блокты басқаратын
микрокоманданың форматын анықтауға болады.
Кез келген сандық құрылғының жұмысы алдын ала белгіленген бастапқы шарттардан басталады. Бұл бастапқы шарттар
тізбекке қуат берілгеннен кейін пайда болатын арнайы RESET сигналымен қалыптасады. Микропроцессорды қалпына
келтіру сигналы ДК бағдарламасының есептегіш регистріне нөлдік мән жазатынына келістік. (Бұл шарт барлық
процессорлар үшін дұрыс емес. Мысалы, IBM үйлесімді процессорлары микросхема ысыру кезінде бағдарлама
есептегішінде F0000h мәнін жазады.)
Кез келген команданың орындалуы оны жүйелік жадтан (RAM немесе ROM) оқудан басталады. Бұл үшін қажетті
микрокомандалар BMU микробағдарламасының басқару блогынан бастапқы қалпына келтіру сигналы BMU
микрокомандалық есептегішінен жойылған бойда BOS басқару кірістеріне жеткізіледі. Бір байттық нұсқауды оқығанда
жүйелік жадтан тек опкодты оқып, операцияны орындау жеткілікті. Бұл процестің уақыт диаграммасы 2-суретте
көрсетілген. Микробағдарлама орындауы қажет әрекеттер тізбегі көрсеткілермен көрсетілген. Келесі пәрменді оқу үшін
микробағдарлама қайта іске қосылады.
5.
Жүйе жадынан операциялық кодты оқу үшін адрес шинасында осы команданың адресін орнату қажет. Бұл мекенжайкомпьютердің бағдарлама есептегішінде сақталады. Оны RA адрес регистріне көшірейік, оның шығыстары адрес
шинасына қосылған.
Пәрменді оқығаннан кейін оны декодтау керек. Бұны командалар регистрінің әрбір битін тексеру және сынақ нәтижесі
бойынша тармақтау арқылы немесе микробағдарламаны бір микропроцессорды синхрондау циклінде 256 тармаққа
тармақтай алатын микробағдарламаны басқару блогына аппараттық командалық дешифраторды қосу арқылы
микропрограммалық жолмен жасауға болады.
6.
Микропроцессорды жүзеге асыру принциптеріМикробағдарламалау қолданылмайтын жағдайларда команданың орындалуы электр тізбегі арқылы қамтамасыз
етіледі. Бірақ қазіргі заманғы компьютерлердің көпшілігінде аппараттық және бағдарламалық қамтамасыз ету
арасындағы тікелей байланыс микробағдарлама деңгейі арқылы жүзеге асырылады.
Кез келген машина командасын аппараттық құрал тікелей емес, оны қарапайым әрекеттердің сәйкес тізбегіне
интерпретациялау арқылы орындайды. Бұл әрқашан қарапайым әрекеттерден машина командаларын
бағдарламалау міндеті бар екенін білдіреді - микробағдарламалау. Бұл терминді алғаш рет 1953 жылы ВТ маманы
Уилкс енгізген. Бірақ бұл тек аппараттық құралдарға қатысты болды. 1960 жылдардың ортасында. 1VM
әзірлеушілерінің күш-жігерінің арқасында Уилкстің идеялары компьютерлерді ұйымдастыру принципіне айналды.
Микробағдарламалау ЭЕМ-нің модульдік құрылысына көшуді қамтамасыз етті. Микропрограммалау идеяларын
дамыта отырып, Глушков кез келген ақпаратты өңдеу құрылғысында жұмыс істейтін машина мен басқару
машинасын функционалды түрде ажыратуға болатынын көрсетті.
7.
Басқару блогы орындалатын бағдарламаға сәйкес компьютердің барлық компоненттері мен құрылғыларыныңжұмысын қамтамасыз етуге арналған. Басқару блогының негізгі функциялары:
• компьютерді іске қосу мен тоқтатуды ұйымдастыру;
• оперативті жадтан командаларды таңдау тәртібін анықтау;
• операндтардың физикалық адрестерін қалыптастыру;
• программаны орындау кезінде арифметикалық, логикалық және басқа операцияларды орындау үшін басқару
сигналдарының тізбегін генерациялау;
• әртүрлі режимдерде компьютердің жұмысын қамтамасыз ету;
• бағдарламаны автоматты түрде орындау;
• бағдарламаны кезең-кезеңімен орындау;
• үзу режимі;
• жадқа тікелей кіру режимі және т.б.
8.
Басқару жүйесінің жалпыланған құрылымыОрталық басқару орталығы – бағдарламаны іске асырудың негізгі функцияларын жүзеге асыратын орталық
басқару орталығы.
MUU - жергілікті басқару блогы (компьютерге кіретін құрылғылардың әрқайсысында орналасқан). Ол
әртүрлі сыртқы құрылғылардың жұмыс істеу принциптеріне сәйкес келетін нақты алгоритмдерді жүзеге
асырады.
ESD – сыртқы жад құрылғысы.
9.
Компьютерде есептерді қою кезіндегі ұғымдардың иерархиялық құрылымыМикрооперация - бұл кейбір қарапайым деректерді түрлендіру, мысалы, регистрге бір байтты мәліметтерді
қабылдау, айнымалыны инверсиялау және т.б.
Құрылғының жұмыс тәртібі келесі ережелерге негізделген.
1. Кез келген машина командасы ақпарат сөздері бойынша элементар әрекеттер тізбегінен тұратын қандай
да бір күрделі әрекет – микрооперациялар ретінде қарастырылады.
2. Микрооперациялардың орындалу реті түрлендірілетін сөздердің мағыналарына ғана емес, олардың
жұмыс істейтін машина тудыратын ақпараттық сигналдарына да байланысты. Мұндай сигналдардың
мысалдары операция нәтижесінің белгілері, жеке деректер биттерінің мәндері және т.б. болуы мүмкін.
3. Команданы машинамен орындау процесі микрооперациялар мен логикалық шарттар тұрғысынан қандай
да бір алгоритм түрінде сипатталады. Ақпараттық сигналдарды сипаттау – микропрограмма.
4. Микробағдарлама мәліметтерді өңдеу үшін ғана емес, сонымен бірге тұтас құрылғының жұмысын
басқаруды қамтамасыз етеді - микробағдарламаны басқару принципі.
10.
Осылайша, микроархитектура деңгейінің негізгі міндеті командалық архитектураның екінші деңгейініңкомандаларын түсіндіру болып табылады (1.2-суретті қараңыз). Бұл деңгейде регистрлер ALU-мен бірге
деректер келетін деректер жолын құрайды. Кейбір машиналарда деректер жолының жұмысы
микробағдарлама деп аталатын арнайы бағдарлама арқылы басқарылады. Басқа машиналарда деректер
жолы аппараттық құралдармен басқарылады. Микроархитектура деңгейінің құрылымы команда
архитектурасының деңгейіне, сонымен қатар компьютердің құны мен мақсатына байланысты.
Дегенмен, соңғы уақытқа дейін компьютерлерде микробағдарламалық басқарудың бұл принципі кеңінен
қолданылмады. Бұл бірнеше себептермен түсіндіріледі. Бір жағынан, микробағдарламаларды сақтауға
арналған жеткілікті сенімді және арзан жоғары жылдамдықты сақтау құрылғылары болмады; екінші
жағынан, микробағдарламалаудың мақсаты мен оның әкелетін пайдасы дұрыс түсінілмеді.
Микробағдарламалаудың негізгі құндылығы әрбір тұтынушы микробағдарламалардан өзіне белгілі бір
тапсырма үшін ең тиімді командалар жинағын құрастыра алатындығы болып есептелді. Нұсқаулардың бір
жинағынан екіншісіне көшу құрылғыны физикалық түрде қайта жасамай-ақ сақтау құрылғысындағы
ақпаратты жай ғана ауыстыру арқылы қол жеткізіледі.
11.
Жоғарыда айтылғандай (1.2-тармақты қараңыз), компьютерлік техникада микроархитектура, оныкомпьютерді ұйымдастыру деп те атайды, берілген командалар жинағы архитектурасын (ISA) процессорда
жүзеге асыру тәсілі. Әрбір ANK әртүрлі микроархитектуралар арқылы жүзеге асырылуы мүмкін. Іске асыру
белгілі бір дамудың мақсаттарына байланысты немесе технологиялық ауысулар нәтижесінде әртүрлі болуы
мүмкін. Компьютер архитектурасы – микроархитектураның, микрокодтың және командалар жиынының
архитектурасының жиынтығы.
Нұсқаулар жинағының архитектурасы (ISA) микропроцессорлық ядроның бағдарламаланатын бөлігін
анықтайды.
Микроархитектура микропроцессорлық чипте командалар жиынының архитектурасының моделін,
топологиясын және жүзеге асырылуын сипаттайды. Бұл деңгейде анықталады:
• орталық процессордың негізгі блоктарын жобалау және өзара қосу;
• ядролардың, атқарушы механизмдердің, ALU-лардың құрылымы, сонымен қатар олардың өзара
әрекеттесуі;
• ауысуды болжау блоктары;
• конвейерлерді ұйымдастыру;
• кэш жадын ұйымдастыру;
• сыртқы құрылғылармен әрекеттесу.
12.
Процессорды микробағдарламалауБіз бұрыннан белгілі болғандай, микропроцессордың барлық әрекеттері және оның шығысындағы
сигналдар өңдеу блогының басқару кірістеріне берілетін микрокомандалар тізбегі (микробағдарлама)
арқылы анықталады.
ЖЖҚ және ROM жұмыс істеу принциптерін зерделеу кезінде қажетті ақпаратты жазу немесе оқу үшін
генерациялануы керек уақыт диаграммалары берілді. Осы диаграммалардың бірін таңдап алайық
13.
Жадысы бар кез келген сандық құрылғының, соның ішінде микропроцессордың жұмысының негізгіпринципі синхрондау схемасының болуы болып табылады. Бұл сигнал қуат тізбегі сияқты цифрлық
құрылғының кез келген регистріне беріледі.
Орындалып жатқан команданы сақтау және декодтау үшін 8-разрядты регистрді таңдаймыз, оны RI деп
атаймыз. Қарапайым командалық жүйені енгізу үшін біз аккумуляторлық процессорды таңдаймыз.
Сәйкесінше, регистрлердің бірін LSS аккумуляторы ретінде бөлу қажет.
Мысал ретінде біз 8-биттік микропроцессорды таңдағандықтан, бұл процессордағы барлық регистрлер 8биттік. Мұндай регистрге жазуға болатын максималды сан 255, бірақ көптеген бағдарламалар үшін бұл жад
көлемі жеткіліксіз. Көрсетілген суретте. 4.5 тізбегі, 16-разрядты адресті алу үшін 8-разрядты екі адрестік
регистр қолданылады.
14.
RISC (Reduced Instruction Set) архитектурасы бар микропроцессорларКомпьютерлер) бастапқы архитектураның C/5C процессорларын қолданудың негізгі аймақтары үшін
бағдарламалардың үлкен санын статистикалық талдау нәтижесінде анықталатын салыстырмалы түрде
шағын (қысқартылған) жиі қолданылатын командалар жиынтығын пайдаланады. Барлық нұсқаулар
операндтарда жұмыс істейді және бірдей пішімге ие. Жадқа кіру арнайы регистрді жүктеу және жазу
командалары арқылы жүзеге асырылады.
Құрылымның қарапайымдылығы және нұсқаулардың шағын жиынтығы олардың толық аппараттық
орындалуын және аз мөлшерде жабдықтың тиімді құбырын жүзеге асыруға мүмкіндік береді. /?/5C
процессорларының арифметикасы құбырлар фрагментациясының жоғары дәрежесімен ерекшеленеді. Бұл
әдіс компьютердің сағат жиілігін (демек өнімділігін) арттыруға мүмкіндік береді. Конвейер жұмысының
әрбір фазасында неғұрлым элементарлық әрекеттер орындалса, оның жұмыс істеу жиілігі соғұрлым жоғары
болады. /?/5C процессорлары ең басынан-ақ арифметикалық операцияларды жеделдету үшін барлық
мүмкіндіктерді жүзеге асыруға бағытталған, сондықтан олардың конвейерлері C/5C процессорларына
қарағанда айтарлықтай жылдамырақ. Сондықтан RISC процессорлары әдеттегі командалар жиынтығымен
бірдей тактілік жиіліктегі C/AC процессорларына қарағанда 2-4 есе жылдамырақ және бағдарлама
көлемінің үлкендігіне қарамастан өнімдірек. RISC архитектурасы төрт негізгі принципке құрылған.
15.
Микропроцессорлық өңдеу блогы (операциялық блок)Бұл диаграмма микроинструкцияның жеке разрядтары (диаграмманың төменгі жағында көрсетілген)
әртүрлі сигналдарды өңдеу блоктарын (SPU) басқаратынын анық көрсетеді, сондықтан оларды бір-бірінен
тәуелсіз қарастыруға болады. Мұндай бит топтары микронұсқау өрістері деп аталады және осы микронұсқау
пішімін құрайды. Сигналды өңдеу блогын басқаратын разрядтардан басқа микропрограмманы басқару
блогын басқаратын разрядтар бар. Қарастырылып отырған процессордың микронұсқау форматы суретте
көрсетілген. Микрокоманданың орындалу нәтижесі SB жалпы синхрондау сигналының көмегімен
жазылады.
16.
Процессор жадтан таңдалған (оқылған) әрбір нұсқау процессордың келесі бірнеше тактілік циклдер үшінәрекет алгоритмін анықтайды. Нұсқау коды процессордың қандай операцияны және қандай операндтармен
(яғни, деректер кодтарымен) орындайтынын, нұсқауды орындау үшін кіріс ақпаратын қайдан алу керектігін
және нәтижені қайда орналастыру керектігін (қажет болса) көрсетеді. Нұсқау коды бір байттан бірнеше
байтқа дейін қабылдауы мүмкін, ал процессор өзі оқитын бірінші байттан немесе сөзден бастап оқу үшін
нұсқаудың қанша байт қажет екенін біледі. Процессорда нұсқау коды шифрдан шығарылады және жеке
процессор түйіндері орындайтын микрооперациялар жиынтығына түрлендіріледі. Бірақ бұл білім
микропроцессорлық жүйелерді жасаушы үшін аса маңызды емес, ол белгілі бір команданы орындау
нәтижесіне ғана мән береді.
Жалпы алғанда, процессордың командалық жүйесі командалардың келесі төрт негізгі тобын қамтиды:
• деректерді беру командалары;
• арифметикалық командалар;
• логикалық командалар;
• ауысу командалары.
17.
Арифметикалық командаларАрифметикалық нұсқаулар операнд кодтарын сандық екілік немесе BCD кодтары ретінде қарастырады. Бұл
командаларды бес негізгі топқа бөлуге болады:
• тұрақты нүктелік амалдар командалары (қосу, алу, көбейту, бөлу);
• өзгермелі нүкте амалдарының нұсқаулары (қосу, алу, көбейту, бөлу);
• тазалау командалары;
• арттыру және азайту командалары;
• салыстыру командасы.
Бекітілген нүктелі нұсқаулар процессор регистрлеріндегі немесе жадтағы кодтарды кәдімгі екілік кодтар
сияқты өңдейді. Қосу (ADD) командасы екі кодтың қосындысын есептейді. Алу (SUB) нұсқауы екі код
арасындағы айырмашылықты есептейді. Көбейту нұсқауы (MUL) екі кодтың көбейтіндісін есептейді
(нәтиженің ені факторлардың енінен екі есе көп). Бөлу (DIV) нұсқауы бір кодтың екінші бөлігіне бөлінген
бөлігін есептейді. Сонымен қатар, бұл командалардың барлығы қол қойылған және қол қойылмаған
сандармен жұмыс істей алады.
18.
Шартты өту командалары әрқашан секіруді тудырмайды, тек көрсетілген шарттар орындалғанда ғана.Мұндай шарттар әдетте процессордың күй регистріндегі (PSW) жалаушалардың мәндері болып табылады.
Яғни, өту шарты жалаушалардың мәндерін өзгертетін алдыңғы әрекеттің нәтижесі болып табылады.
Барлығы 4-тен 16-ға дейін осындай өту шарттары болуы мүмкін.Шартты өту командаларының бірнеше
мысалдары:
• нөлге тең болса секіру;
• нөлге тең болмаса секіру;
• толып кетсе секіру;
• толып кетпесе секіру;
• нөлден үлкен болса секіру;
• нөлден аз немесе тең болса, секіріңіз.
19.
ҚОРЫТЫНДЫНәтижесінде «Микропроцессорларды жобалау. Микробағдарламалау» тақырыбы компьютер архитектурасы және
есептеуіш жүйелерді жобалау саласындағы маңызды аспектіні білдіреді. Микропроцессорлық дизайн командалар
жиынының архитектурасын анықтаудан жады мен қуатты басқаруды оңтайландыруға дейінгі әртүрлі аспектілерді
мұқият қарастыруды талап етеді.
Микропроцессорларды құру - бұл командалар мен құбырлар архитектурасынан жадты басқаруға және сыртқы
интерфейстерге дейінгі әрбір элемент есептеу жүйесінің тиімді жұмысын қамтамасыз етуде маңызды рөл атқаратын
күрделі процесс.
Микробағдарламалау, өз кезегінде, микропроцессордың ішкі операцияларын жақсырақ басқару механизмін қамтамасыз
етеді. Бұл тәсілдің икемділігі процессордың әрекетіне оның аппараттық құралдарына елеулі өзгерістер енгізбестен
өзгертулер енгізуге мүмкіндік береді, бұл тез өзгеретін ақпараттық ортада өзектілікті және бейімделуді сақтаудың
маңызды факторы болып табылады.
Осылайша, микропроцессорлық дизайн мен микробағдарламалаудың үйлесімі әртүрлі мәселелерді тиімді шеше алатын
және қазіргі ақпараттық технологиялар талаптарына жауап беретін заманауи, өнімділігі жоғары есептеу жүйелерін
құрудың негізгі элементі болып табылады.
20.
Бақылау сұрақтары1. Микропроцессорлық дизайндағы командалар жинағы архитектурасының (ISA) рөлі қандай және ол қандай
негізгі аспектілерді анықтайды?
2. Неліктен микропроцессорлар үшін құбырдың архитектурасы маңызды және ол нұсқауларды орындау
контекстінде қандай артықшылықтар береді?
3. Микропроцессорлардағы жад иерархиясы дегеніміз не және өнімділікті жақсарту үшін бұл иерархияны
оңтайландыру неліктен маңызды?
4. Микропроцессордың ішкі операцияларын басқаруда микробағдарламалау икемділікті қалай қамтамасыз
етеді және қандай жағдайларда ол әсіресе пайдалы болуы мүмкін?
5. Неліктен микропроцессорлық дизайнда сағат жылдамдығы мен қуат мәселелері маңызды және
жобалаушылар есептеу жүйелерін жасау кезінде оларды қалай теңестіреді?