Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 11:35, курс лекций
Машиналық командаларды орындайтын және басқа да құрылғылардың қызметін координациялайтын процессорлық құрылғыларды, әдетте командалар жүйесінің процессоры (Instruction Set Processor, ISP) немесе жәй процессор деп атайды. Біз процессордың ішкі құрылымын талдаймыз және ол таңдауды, дешифрацияны орындауды және программа командаларын өңдеуді қалай орындайтындығына тоқталамыз. Компьютердің процессорлық құрылғысын әдетте орталық процессор деп атайды (Central Processing Unit, CPU). «Орталық» термині бұрын қолданылған компбютерлерге байланысты айтылған, өйткені ол кездегі компьютерлерде бір ғана команда процессоры қолданылған, ал қазіргі компьютерлік жүйелерде бірнеше процессорлар қолданылады, демек ол термин ескірген деп айтуымызға да болады.
Бұл микросхема тек сегіз адрестік шығуға ие.
8.5.-сурет. TMS4464 типіндегі DRAM микросхемасы
8.4-Кесте.
TMS4464 типіндегі DRAM микросхемасы қорытындыларының белгіленуілері
Қорытынды |
Белгілеу |
Ао—А7 |
Адрестік сызықтар (address) |
DQ1—DQ4 |
Мәліметтеді енгізу-шығару |
CAS |
Бағана адресі стробы(column address strobe) |
q |
Мәліметтер шығуы мүмкіндігі (output enable) |
RAS |
Жолдар адресі стробы(row address strobe) |
W |
Жазу мүмкіндігі шығуы(write enable) |
VDO |
+5 қорек кернеуі тұрақты тоқ көзінен |
Vss |
Тұрақты тоқ көзінен жерлік шығу (ground) |
Адресті дешифрирлау
ЕҚ микропроцессорға қосу үшін микропроцессордан түсетін адресті дешифрлау керек. Дешифрлау процесі жадтың бірмәнді анықталатын сегментінде жадтың функциялануын немесе ақпаратты ЕҚ-да орналастыру үшін жад картасын бөлістіруді алдын ала қарастырады. Адресті дешифраторсыз микропроцессорға тек бір ЕҚ қосылуы мүмкін, бұл оны мүлде пайдасыз етеді.
Дешифратор не үшін қажет? 8088 микропроцессорын 2716 типіндегі EPROM-мен салыстыруда адрестік шығулардың снында айырмашылық бар екені көрінеді: EPROM 11 адрестік шығуға, ал микропроцессор — 20 шығуға ие. Демек микропроцессор 20-разрядты жад адресін оқу және жазу кезінде жібереді. EPROM-да тек 11 адрестік шығу болғандықтан, онда сәйкессіздік бар болады. Дешифратор жад элементіне қосылмаған адрестік шығуларды түзетеді.
Жад интерфейсі 16-разрядтыбасқару шинасы.
8086, 80186, 80286 және
8O386SX микропроцессорларының
32-разрядты 80386DX және 80486 микропроцессорларының жад интерфейсі
32-разрядты микропроцессорлар үшін жад интерфейсі 8- және 1б-разрядты жүйелер сияқты. Жалғыз айырмашылық микропроцессор 32-разрядты мәліметтер шинасына ие және жад төтр банкке бөлінеді. Тағы бір айырмашылық 80386DX және 80486 (SX және DX) микропроцессорлар 32-разрядты мәліметтер шинасына ие, оларға ПЛУ (ПМЛ немесе ПЛМ) микросхемасындағы дешифраторлар қажет.
Жад банктері
8.7-сурет. 80386 DX және 80486 микропроцессорлары үшін жадты ұйымдастыру
Үлкен есте сақтау жүйелері төрт 8-разрядты банкке ие, олардың әр бірі 1 Гбайт жадқа ие.
Банкті таңдау 80386DX және 80486 микропроцессорлары жасайтын сәйкес ВЕЗ, ВЕ2, ВЕ1 және ВЕО сигналдарымен жүргізіледі. Барлық 4 банк32-разрядты мәліметтер сөзін өткізу мезетінде таңдалынады.
Для систем памяти для ов 8O386DX және 80486микропроцессорлары үшін де , 8086/802S6/80386SX микропроцессорлары үшін де жад жүйелері үшінәр бір жад банкін жазу жеке сигналдары талап етіледі.
8.8.-сурет. 32-разрядты 80386DX және 80486 микропроцессорлар жады банктері үшін жеке жазу сигналдарын қалыптпстыратын сұлбалар
Алдыңғы талқылаудан мынандай қорытынды жасауға болады: 80386DX және 804S6 микропроцессорлары жады интерфейсі үшін банкке жазудың төрт әдісін қалыптастыру және 32-разрядты адресті дешифрлау талап етіледі. 803S6DX және 80486 микропроцессорлары үшін жад интерфейсін оңай сәкестендіру мүмкін 74LS138 сияқты интегралдық дешифраторлар жоқ.
Мұндай жүйені іске асыру үшін 8 статикалық ЕҚ(32К х 8) және PAL16L8 типті екі ПМЛ микросхемасы қолданылады. Бұл екі микросхеманы қолдану қажеттілігі 32-разряты микропроцессор көптеген адрестік шығуларға ие екендігімен байланымты.
64-разрядты Pentium—Pentium 4 микропроцессорларының жад интерфейсі
Pentium—Pentium 4 ( Pentium
версии Р24Т басқасы)
8.10-сурет. Pentium—Pentium 4 микропроцессорлары үшін жадты ұйымдастыру
Pentium—Pentium 4 микропроцессорлары үшін жадты ұйымдастыру 80486 микропроцессоры үшін жадқа ұқсас, тек төрт банктің орнына сегіз банк бар.
Жеке жазу сигналдары НЕМЕСЕ схемасы бойынша ВЕО-ВЕ7 банктер мүмкіндігі және MWTC сигналы бірігуі негізінде қалыптасады, ол өз кезегінде микропроцессордың M/IO W/R-мен сигналдарынан қалыптасады.
64-разрядты микропроцессоры үшін жад банктері үшін жеке жазу сигналдарын қалыптастыратын сұлба 8.11.-суретте көрсетілген.
Жеке жазу сигналдары және жад банктері үшін ПМЛ микросхемасы қолданылады.
Негізгі әдебиет: [1] – 31- 800 б, [2] – 15-600бc
Бақылау сұрақтары:
9-Дәріс. Үзіліс. Үзіліс процесінің негіздері. Аппаратты үзілістер.
Үзіліс процесінің негіздері. Үзіліс процесінің микропроцессор базасында жүйесінде құрылымы және Intel микропроцессорлар тобы үшін үзіліс мүмкіндіктері қарастырылады.
Үзіліс қызметі. Үзіліс әсіресе өткізудің аз жылдамдығына қатысты мәліметтерге мұқтаж немесе қамтамасыз ететін енгізу-шығару құрылғыларын үйкестіруде пайдалы. 9.1-суретте микропроцессор арқылы қандай да бір уақыт аралығында негізгі программамен қатар пернетақтада теру және принтерге мәліметтерді шғару жүріп тұрған кезде мысал көрсетілген.
9.1-сурет. Типтік жүйеде үзілісті қолдануға көрсететін микропроцессормен орындалатын программа мысалы
Үзілістер
Intel микропроцессорлар
тобы үзіліс процесінің
Үзіліс векторлары
Үзіліс векторы және үзіліс векторлары кестесі түсінігі аппаратты және программалық үзілістерді түсіндіру үшін маңызды боп табылады.
Үзіліс векторлары кестесі (interrupt vector table) жадтың алғашқы 1024 байтын және ООООО0Н—0003FFH адресімен иелейді. ОЛ 256 әр түрлі типке ие, әр бірне өзінің 4 – байтты үзіліс векторы сәйкес келеді. Үзіліс векторы (interrupt vector) үзіліске қызмет көрсету процедурасының адресін (сегмент және орын ауыстыру) қамтиды.
9.2-суретте микропроцессор
үшін үзіліс векторларының кест
Төменде әр бір тип үшін функциялар саны немесе микропроцессордағы үзіліс векторларының нөмірлері көрсетілген.
- Тип 0 Бөлу қатесі — бөлу нәтижесі асып кеткенде немесе нөлге бөлгенде пайда болады.
- Тип 1 Қадамдық немесе тексеру кезіндегі үзіліс — осы команданы орындаудан кейін егер трассировка жалаушасы (TF) орнатылған болса пайда болады.
- Тип
2 Маскаланбайтын аппаратты
-
Тип 3 Бір байтты үзіліс —
бұл арнаулы бір байтты
- Тип 4 Асып кету. Бұл кезде into командасын қолданатын арнаулы вектор қолданылады. Бұл команда into программаны үзеді және 4 векторы бойынша үзіліс өңдеушесін шақырады асып кету жалаушасы OF (overflow flag) орнатылған жағдайда. Тип 5 Массив шекарасының бұзылуы, bound— бұл команда бірінші операнданың(регистр) құрамын екінші операндада к, жадта көрсетілген шектік мәнмен сәйкес қояды.
- Тип 6 Амалдардың нақты емес кодтары — программада анықталмаған коды пайда болған кезде жүреді.
- Тип 7 Сопроцессор жоқ (not available) — егер сопроцессор жүйеде жоқ болса пайда болады. Егер wait сопроцессорының дайындығын күту командасы орындалса, немесе esc сопроцессор командасы орындалса, сопроцессор табылмаса, онда 7 типті жоқ болу немесе үзіліс болады.
- Тип 8 Қос қате — активтеледі, егер бір команда бойынша екі жеке үзіліс өтеді.
- Тип 9 Сопроцессор жады сегментінің асып түсуі — егер esc командасы жад операндасының (сопроцессордың амалдар коды) FFFFH адресінің орын ауыстыруы шегінен шығып кетсе.
- Тип 10 Есеп жағдайының дұрыс емес сегменті (TSS — task state segment) — дұрыс емес TSS кезінде өтеді, өйткені сегменттің шектік өрісі 002ВН мәніне сәйкес келмейді немесе одан асып кетеді.
- Тип 11 Сегмент жоқ — бұл бит Р (Р = 0) дескрипторда сегмент жоқ немесе ол дұрыс емес болса пайда болады.
9.2.-сурет. Үзіліс векторлары кестесі
- Тип 12 Стек сегментінің асып кетуі — стектік сегменті асып кеткенде (Р = 0) немесе стек сегменті шекарасы асып кеткенде пайда болады.
- Тип 13 Жалпы қорғау — Pentium 4-те қорғаудың бұзылуынан болады, қорғаныс режимінде жұмыс істейтін.
Төменде бұл бұзылулардың тізімі келтірілген:
а) дескрипторлар кестесі лимитінің асып кетуі;
б) ережелердің бұзылуы;
в) сегмент дескрипторы дұрыс емес типінің жүктелуі;
г) кодтың қорғалған сегментіне жазу;
я) кодтың орындалатын сегментінен оқу;
е) мәліметтер сегментіне тек оқу үшін жазу;
ж) сегмент лимитінің асып кетуі;
з) CPL =IOPL cts, hlt, lgdt, lidt, lldt, lmsw или ltr командаларының орындалуы кезінде, мұндағы CPL — (current privilege level) ағымдық деңгейі, aл IOPL — (I/O privilege level) енгізу-шығару деңгейі;
и) CPL > IOPL in, lock, out, outs и sti командаларының орындалуы кезінде, мұндағы CPL — (current privilege level) ағымдық деңгейі, aл IOPL — (I/O privilege level)
енгізу-шығару.
- Тип 14 Бет қатесі – жадтың беттерінің кез келген қатесінде немесе 80386, 80486 және Pentium—Pentium 4 микропроцессорларында кодқа кіру кезінде пайда болады.
- Тип 16 Сопроцессордың қатесі — (ERROR — 0) 80386, 80486 және Pentium—Pentium 4 микропроцессорларында тек esc или wait командалрында жүз береді.
- Тип 17 Тегістеу бақылау қатесі — сандық мәліметтер (сөз немесе екілік сөз) жадтың тақ ұяшығына адрестелген.
- Тип 18 Процессор бақылау қатесі — активизирует прерывание режима управления системной памятью в икропроцессорах Pentium—Pentium 4 микропроцессорларында жүйелік жадты басқару режимін үзуді активтендіреді.
Екі операндаға ие команда bound бірінші операнданың (регистрдың) белгісі бар сан ретінде алынған мәнін екінші операндада (айнымалы) көрсетілген шегіне береді. Екіні операнд екі сөз немесе қос сөз белгісі бар бүтін сан ретінде қарасытырылған жадта қатар орналастырылған. Бірінші сан төменгі шек, екіншісі жоғары деп қарастырылады.
Команда into асып кету командасын бақылайды OF (overflow flag). Егер жалауша тұрса яғни OF = 1, онда команда into процедураға қарайды, оның адресі 4 нөмірімен үзіліс векторында сақталады. Егер жалауа жоқ болса яғни OF = 0, онда үзіліс болмайды және программа келесі команданың орындалуына көшеді.
Команда int n үзіліс қызмет көрсету процедурасына қарайды (немесе үзіліс өңдеушісіне), ол вектор нөмірі қойылған адрестен басталады.
Әрбір команда int екі сөзден тұрады: бірінші байт амал кодын ұстайды, ал екінші номер — үзіліс типі немесе номері. Бұның алғыз ерекшелігі команда int з — бірбайтты команда.
Команда iret үзіліс өңдеушісінен оралу арнаулы командасы боп табылады, программалық немесе аппараттық процедурадан оралу үшін қолданылады. Команда iret стектен алты байт жүктейді: екі IP регистрі үшін, екеуі CS регистрі үшін және екеуі жалауша регистрі үшін.
Нақты режимдегі үзіліс
Микропроцессор ағымдық команда орындалғаннан кейін келесі реттегі оларды тексеру арқылы үзіліс шақырушы шарттарды анықтайды: 1) орындалатын команда; 2) жұмыстың қадамдық режимі 3) маскаланбаған үзіліс (сигнал NMI); 4) сопроцессор сегменті асып кетуі; 5) аппараттық үзіліс (сигнал INTR); 6) программалық үзіліс (команды INT).
Бір немесе бірнеше әрекетті үзу шарттары бар болғанда келесі тізбекпен орындалады:
1. Жалаушалар регистры құрамы стекте сақталады.
2. Үзілістің екі жалаушасы алып тасталады: IF және TF.
3. Кодтық сегмент құрамы (CS) стекте сақталады.
4. Команданы көрсету регистры құрамы (IP) стекте сақталады.
Осылайша әр бір үзілісте микропроцессор жалаушалар регистры құрамы, IP және CS регистрлары, IF және TF екі жалауын алып тастайды, ал соңынан үзіліс векторымен адрестелген үзіліске қызмет көрсету процедурасына өтеді.
Қорғалған режимдегі үзіліс.
Қорғалған режимдегі үзіліс нақты режимдегі сияқты қызметке ие, бірақ үзіліс векторларының кестелері басқаша. Қорғалған режимде үзіліс векторларының орнына үзіліс дескртпторлары кестесінде (IDT — interrupt descriptor table) орналасқан 256 үзіліс дескрипторларның жиынын қолданады. Үзіліс дескрипторлары кестесі 2 Кбайттан (256x8, яғни 256 дескриптор әр бірінде 8 байттан) тұрады. Әрбір жеке жазу дескрипторлар кестесіндегі IDT үзілісінің үзіліс қызмет көрсету процедурасының адресін қамтиды.9.3-суретте үзіліс дескрипторы құрамы көрсетілген. Бір селектор және сегмент дескрипторы дескрипторлар глобальды кестесіне орналасуы мүмкін(GDT — Global Descriptor Table).