Дәрістер тезистері

Автор работы: Пользователь скрыл имя, 05 Мая 2013 в 11:35, курс лекций

Описание

Машиналық командаларды орындайтын және басқа да құрылғылардың қызметін координациялайтын процессорлық құрылғыларды, әдетте командалар жүйесінің процессоры (Instruction Set Processor, ISP) немесе жәй процессор деп атайды. Біз процессордың ішкі құрылымын талдаймыз және ол таңдауды, дешифрацияны орындауды және программа командаларын өңдеуді қалай орындайтындығына тоқталамыз. Компьютердің процессорлық құрылғысын әдетте орталық процессор деп атайды (Central Processing Unit, CPU). «Орталық» термині бұрын қолданылған компбютерлерге байланысты айтылған, өйткені ол кездегі компьютерлерде бір ғана команда процессоры қолданылған, ал қазіргі компьютерлік жүйелерде бірнеше процессорлар қолданылады, демек ол термин ескірген деп айтуымызға да болады.

Работа состоит из  1 файл

акс.doc

— 2.60 Мб (Скачать документ)

Бұл микросхема тек сегіз адрестік шығуға ие.

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 микропроцессорларының мәліметтер  шинасы 8088/80188 микропроцессорының шинасынан  екі есе кең. 8086, 80186, 80286 және 80386SX микропроцессорлары имәліметтерді 16- немесе 8-разрядты ұяшыққа жаза алатындай болуы керек. Яғни 16-разрядты шина 8 разрядтан екі жеке секцияға бөлінуі керек. 8.6-суретте жадтың екі банкі көрсетілген. Бір банк (кіші банк) барлық жұп жад ұяшықтарын, екіншісі (үлкен банк) барлық тақ жад ұяшықтарын ұстайды.

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Т басқасы) микропроцессорлары  64-разрядты мәліметтер шинасына ие, оған 8 дешифратор (біреуі банкке) немесесегіз жеке жазу жеке сигналдары қажет. Жүйелердің көбінде жад интерфейсі жеке жазу сигналдарын қолданады.  8.10-суретте  Pentium микропроцессоры үшін сегіз банктен тұратын жадты ұйымдстыру көрсетілген.

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

Бақылау сұрақтары:

  1. Қандай типтер барлық жад микросхемалары үшін жалпы боп табылады?
  2. CS немесе СЕ шығулары жад микросхемасында қандай қызмет атқарады?
  3. ОЕ шығуы жад микросхемасында қандай қызмет атқарады?
  4. WE шығуы жад микросхемасында қандай қызмет атқарады?
  5. 4016 типіндегі SRAM жады микрсхемасы G , S және W шығуларына ие. Бұл ЕС-да осы шығулар не үшін қолданылады?

 

9-Дәріс. Үзіліс. Үзіліс процесінің негіздері. Аппаратты үзілістер.

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

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

9.1-сурет. Типтік жүйеде үзілісті қолдануға көрсететін микропроцессормен орындалатын программа мысалы

Үзілістер

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

Үзіліс векторлары

Үзіліс векторы  және үзіліс векторлары кестесі түсінігі аппаратты және программалық үзілістерді  түсіндіру үшін маңызды боп табылады.

Үзіліс векторлары кестесі (interrupt vector table) жадтың алғашқы 1024 байтын және ООООО0Н—0003FFH адресімен иелейді. ОЛ 256 әр түрлі типке ие, әр бірне өзінің 4 – байтты үзіліс векторы сәйкес келеді. Үзіліс векторы (interrupt vector) үзіліске қызмет көрсету процедурасының адресін (сегмент және орын ауыстыру) қамтиды.

9.2-суретте микропроцессор  үшін үзіліс векторларының кестесі көрсетілген. Бес үзіліс векторы Intel 8086 тобынан   Pentium-ға дейін микропроцессорлар үшін ұқсас. Әр бір 4 байтты бастапқы адреске ие (starting address) . Алғашқы вектордың екі байты адресатің орын ауыстыруына (offset), ал соңғы екі байт — сегментіне (segment) ие.

Төменде әр бір  тип үшін функциялар саны немесе микропроцессордағы үзіліс векторларының нөмірлері  көрсетілген.

-        Тип 0  Бөлу қатесі — бөлу  нәтижесі асып кеткенде немесе  нөлге бөлгенде пайда болады.

- Тип 1 Қадамдық немесе тексеру кезіндегі үзіліс — осы команданы орындаудан кейін егер трассировка жалаушасы (TF) орнатылған болса пайда болады.

-   Тип  2  Маскаланбайтын аппаратты үзіліс  — микропроцессордың  NMI кіру  қорытындысында логикалық деңгейде  сигналдың бар болуын нәтижесін  көрсетеді.

-     Тип 3 Бір байтты үзіліс  —  бұл арнаулы бір байтты команда int 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).

Информация о работе Дәрістер тезистері