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

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

Описание

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

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

акс.doc

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

12.8-сурет. USB шинасы стандартты айырғышының екі түрінің алдынан көрінісі, ұяшық USB: “А” типті (а) және “В” типті (б)

USB шиналарының  мәліметтері.  Ақпаратты сигналдар екі фазалы сигнал болып келеді. 12.8- суреттерде көрсетілгендей.

12.9-сурет. USB шинасына КМОП-буфері жұбын қолданып қосылу

Бұл кестеде  дифференциалды сызықтың орнына Texas Instruments фирмасы шығарған  75773 интегралды микросхема қолданылады. Келесі этапта сигналдардың  USB шинасында араласуын қарастырамыз.

 

12.10-сурет. USB шинасы бойынша мәліметтерді өткізуде қолданылатын NRZI кодтау әдісі

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

Негізгі әдебиет: [1] – 31- 800 c, [2] – 15-600 c

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

  1. Сопроцессор жұмыс істейтін үш негізгі мәліметтер типін атаңыз.
  2. Сопроцессор қамтитын бүтін санды мәліметтердің өлшемі (бит саны және мәндер диапазоны) қандай?
  3. Сопроцессорда өңдеу үшін BCD-сандары форматы қандай?
  4. Орталық процессормен командалар орындалуы кезінде сопроцессор қандай жағдайда болады?
  5. Сороцессормен командалар орындалуы кезінде орталық процессор қандай жағдайда болады?

 

13-Дәріс. Микропроцессорлар.

32-разрядты кодировкасы бар v4 және  v5 командаларының толық жиынынан бөлек ARM командалар жүйесі архиттертурасының спецификациясы осы көптеген жиындардың жинақталған кодировкасын ұсынады. Берілген бағыныңқы көпшілік  Thumb деп аталады, ал  ARM архитектурасының сәйкес нұсқалары  v4T и v5T деген атауларға ие. Thumb командалары 16-разрядты жарты сөзбен кодталады.

Thumb командаларының бағыңқы  жүйесін өндіру энергожұтқыштығын  төмен арзан енгізілген жхүйелерді  басқаратын программаларды сақтау  үшін бөлінетін жады көлемін кішірейту қажетілігіне негізделген. v4T команда базасында  ARM7TDMI процессоры құрылған. Сигналдардың цифрлық өңделуіне арналған программалық қамтамасымен кішігірім жады көлемі бар жалғыз микросхема түрінде жасалған процессор ұялы телефондарда қолдану үшін арналған.

Thumb командаларынан құрылған программалар келесі түрде орындалады. Командалар жадыдан алынады және динамикалық түрде 16-разрядтық фарматтан ARM командаларының сәйкес стандартты 32-разрядтық форматына көшіріледі, содан кейін орындалады. Сөйтіп олар көптеген қымбат емес процессорларда өңделеді. Кейбір жоғарғы өңдіргіш процессорларда Thumb командалары 32-разрядтық форматқа түрленбейді, оның орнына олар 16-разрядтық форматтан кері кодталады..CPSR (Current Program Status Register) программасының ағындық күйінің регистрінде ARM (T - 0)  Thumb (T = 1) немесе стандартты 32-разрядты форлматың қандай екендігін анықтайтын Т разрядтың командаларының кіріс ағынына ие. Thumb және стандартты командалардың бірі қөосымшада кезектесуіне рұқсат беріледі.

ARM-ның Thumb командалары  мен  стандартты командалар  арасында екі айқын айырмашылық  бар. Біріншіден, көптеген  Thumb командаларында  екі операндасы бар формат  қолданылады,  мұнда тағайындау  регистрі  бастапқы регистрлердің  біреуі болып табылады. Екіншіден ARM-ның барлық стандартты нұсқаулары командаларды шартты орындау механизмның барлық стандартты нұсқаулары командаларды шартты орындау механизмін ұстанады. Ал енді  Thumb бағыныңқы жүйесінде бұл жағдай ауысу командаларымен басқа командалар үшін ғана ақиқат  болады. Сондықтан да Thumb командаларын 16-разрядты сөздер түрінде беруге болады.

Процессорлардың ядролары

 ARM компаниясы ARM процессорларынының спецификациясы мен кэш жады  және жадыны басқару блоктары сияқты олармен тығыз байланысты компоненттерді өндіреді және лицензиясын береді. Бұл спецификацияларды енгізілетін жүйелер мен басқа мамандандырылған компьютерлік компоненттердің компания  өңдірушілері сатып алады.  ARM процессорының схемалары ядро деп атайды.  ARM компаниясының спецификациялары екі катогорияға бөлінеді: аппараттық микроэлементтің спецификациялары және синтездейтін спецификациялар. Бірінші категория нақты микросхеманың өндірілу процессіне бағытталған схемалардың физикалық ұйымдасуының егжей тегжейлі спецификацияларын қамтиды. Екінші категорияға қаланатын технологияларға сәйкес библиотекалық компонентерде синтезделетін жоғары деңгейлі тілдегі программалық модулдер жатады. Мұндай спецификация процессордың  функционалды элементерін анықтайтын көптеген әр түрлі параметрлердің бапталуына рұқсат береді. ARM7TDMI процессорының ядросының аппараттық микроэлемент спецефикация формасында өндірілген, ал ARM7TDMI-7 —  ядросы синтезделетін специлфикация формасында өңдірілген.

ARM7TDMI процессорлық  ядросы

Бұл ядро әдетте энергияны көп қажет етпейтін арзан қондырғыларда қолданылады. ARM7TDMI процессорының құрамына тандау, кері кодтау және орындау деген деңгейлерден тұратын жәй үш деңгейлі  конвейер енеді. Мұнда v4T нұсқасы жүзеге асырылған, ол стандарты командалар жиыны сияқты  Thumb командаларын қолданады. Жәй жұмыс параметрлері қорек кернеуі   3,3 В мен тактділік жиелік 66 МГц болып табылады. Басқада нұсқаларын жүзеге асыруы мүмкін, мысалы төмен волтті батареялары бар қондырғылар үшін  0,9 В қорек кернеуі немесе анағұрлым жоғары өнімділігі бар қондырғылар үшін  100 МГц тактілік жилікпен.

ARM9TDMI және ARM10TDMI процессорлық ядролары

ARM9TDMI және ARM10TDMI процессорлық  ядролары  5-деңгейлі және 6-деңгейлі конвейерлерге негізделген. ARM7TDMI процессорына қарағанда анағұрлым жоғары өнімділікке жету үшін оларда командалар мен деректердің бөлек порттары қарастырылған. 200 және 300 МГц тактілі жиліктерде ARM процессорларының қосымшаларының  7, 9 және 10 нұсқаларының өндіру деңгейлері  1:2:4 қатынасы сияқты.  ARM10TDMI процессорының жадысының әр бір портының шинасы екі басқа процесордікінен кең және  64 битке тең, ал  ARM9TDMI және ARM7TDMI процессорларының бұл параметрлері тек  32 битті құқрайды.  ARM9TDMI  процессорында ARM командалар жүйесінің  v4T нұсқасы жүзеге асырылған,  ARM10TDMI прцессорында  v5TE нұсқасы. Екі процессорда орындау үшін Thumb командаларын тікелей кері кодтайды.Анағұрлым жоғары өнімділікке осы процессорлармен кэш жадыны қолдану арқылы жетуге болады.

ARM720T CPU-ядросы

ARM720T CPU-ядро  құрамына  ARM7TDMIпроцессорлық ядросы, командалар  мен деректерге арналған  унифициялық 8-килобайтты кэш, сонымен бірге мақсаты виртуалды жадыны басқару болып табылатын аппараттық қамтама енеді. 4 арнасы бар көптік-ассоциативті  кэш   16-баиттық блоктардан тұрады. Жадыны басқару блогында соңғы болып қолданылған жады парақтарының адрестерін сақтау үшін адрестік лезде түрленуінің  64-элементті ассоциативті буфері қолданылады. Бұл  интегрирленген қондырғының тактілі жилілігі  60 МГц жетуі мүмкін. Тек процессорлық ядролар енетін микросхемалармен салыстырғанда енгізілетін кэш жады мен жадыны басқару блогы  микросхеманың жалпы көлемін бес есе, ал энергияны қолдануды үшесе үлкейтеді.

ARM920T және ARM1020E CPU-ядролары

ARM9TDMI және ARM10TDMI процессорлық  ядроларына негізделген  CPU-ядролар  командалар мен деректердің бөлек кэштерімен қамтылған. ARM920T ядросының кез келген көлемі  16 Кбайт және 64-арналы көптік-ассоциативті құрылымға ие, сонымен қатар  32-байттық блоктардан құралған. Жадының әр бір блогы үшін жадыны басқарудың бүлік блогы бөлінген. Сонымен бірге олардың барлығының құрамына  64-элементті ассоциативті буфер TLB енеді. ARM1020E ядросынада  ARM9TDMI ядросының  кэші сияқты құрылымы бар  32 Кбайт көлемді екі кэші бар.

StrongARM SA-11O CPU-ядросы

StrongARM CPU-ядросы  — бұл  ARM және Digital Equipment Corporation компанияларының бірлесіп жасаған өнімі. Оның  SA-110 нұсқасы Intel корпорациясымен өндіріледі. Бұл процессорлық компоненті   ARM архитектурасының  v4 нұсқасы жүзеге асырылған. Берілген процессор Thumb командалар жиынын қолданбайды, бірақ қалған жақтарынан  ARM9TDMI процессорлық  ядросымен үйлесімді болып келеді. Өндірісі бойынша  StrongARM SA-110 ядросы ARM920T ядросына жақын, бірақ соңғысымен салыстырғанда ол анағұрлым көне технология бойынша жүзеге асырылған, көп энергияны қажет етеді және 200 МГц тактілі жилікте жұмыс істейді.  StrongARM процессорының құрамына  5-деңгейлі конвейер енеді. Мұнда командалар мен деректердің бөлек кэштері ескеріліп жасалған. Кэштің екеуі де 32-арналы көптік-ассоциативті құрылымға ие және  32-байттық  блоктардан тұрады. Сигналдарды цифрлық өңдеу құрылғыларының өнімділігін жоғарлату үшін процессор үш және одан да төмен тактілі тежегіші бар көптегіштің жоғары жылдамдықты схемамен жабдықталған.

Motorola 680X0 және ColdFire процессорларының жиыны

Motorola 68000 процессорымен  сіз 3 бөлігінің екінші бөлігінде таныстыңыз. Енді біз 680X0 жиынының және оған жақын ColdFire жиынының жаңа процессорларын қарастырайық.

Motorola 68000 процессорлары  1979 жылы өндірілген.  1980-шы жылдар  басынан 90-шы жылдардың басына  дейін дербес компьютерлер нарығында  Apple компьютерлерінде қолданылған  68000, 68020, 68030 и 68040 процессорлары пайда болды. 680X0 жиынының соңғы мүшесі  1990-шы жылдары шығарылған  68060 процессоры. Бұл  процессор сонымен бірге оған жақын  ColdFire процессорлары енгізілетін жүйелер нарығына арналған.

Intel IA-32 процессорларының  жиыны

Intel процессоры үлкен  табысқа ие және ноутбук пен  дербес компьютерлерде кең қолданылады. 1980-жылдары  Intel фирмасы  IBM PC де  қолдану үшін процессорлардың  алғашқы сериясын шығарды..

Intel процессорларының архитектурасы үздіксіз жетілдіріп отырған, командалардың базалық жүйесінің негізінде анағұрлым процессорлар шығарылды. Эволюциялық қатарға 80286, 80386, 80486 процесссорлары енеді, сонымен бірге Pentium ағымдық сервисінің процессорлары енеді.  80286 процессоры 16-разрядты болады, келесі прцессорлар 32-разрядты адрестер мен деректер анықталған. IA-32 жиынының алғашқы өкілі 80386 процессоры болды. 32-разрядты микросхемалар өлшемдері үлкен модулдер түрінде шығару арқасында адрестер мен деректердің сызықтарын мультиплексирлеу қажеттілілігі жойылады.

IA-32 процессорлар үшін жады сигментациясы

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

Шын режим

IA-32 процессорының шын режимі—бұл 8086 процессорымен қолданатын адрестерді генерирлеу режимі. Мұнда жады көлемдері 64 Кбайт сегменттер кезегі түрінде қарастырылады. Әрбір сегмент үшін 16-разрядтық орындаулы адрестер 8086 процессорының адресация режимін қолдану арқылы құрылады. Код сегментіне қатынау үшін бұл процессорды  CS, SS, DS және  ES сегменттік регистрлері қолданылады.  80386 процессорына тағы екі сегменттік қосылады FS және GS.

11.1 суретінде жадының  20-разрядты сыртқы адрестерін генерирлеу процесі берілген. Сегменттік регистрде берілген  16-разрядтық мән төрт позицияға солға қарай ығыстырылады, нәтижесінде сегменттің, бастапқы адресін беретін жадының 20-разрядтық  адрес алынады. Екі разрядты орындаушы алу үшін сегменттің бастапқы адресіне суретте ығысу түрінде берілген процессормен  генерирленген  16-разрядтық орындаушы адрес қосылады. Жадыда сегментті жою үшін сегменттік регистрге осы сегменттің басының   20-разрядты адресінің 16 үлкен разряды орналастырылады.

 



        1 Мбайт алатын және 20-разрядтық адрестермен жабылған адрестік кеңістікте көлемі 64 Кбайт 16жабылмаған сегменттер орналаса алады. Бірақ сегменттер жабылуыда мүмкін. Бұл түрлі программалардың командалар мен деректерге бірге қатынауды ұйымдастыру үшін ыңғайлы. CS және SS сегменттері программада командаларға немесе стекке сілтеу бар болған кезде қолданылады. Деректерді сақтау үшін үнсіздік бойынша сегментті DSрегистрі бөлінеді.

13.1. сурет.  8086 процессорында  жады адресін құру.

Егер командалар деректеріне қатынау үшін ES регистрі қолданылуы керек болса, онда бұл команданың басында сәйкес код қосылады.

Қорғалған  режим

IA-32  архитектурасының  процессорлары қорғалған режимде   жұмыс істейді.   11.2  суретте  бұл режимде жады адресі базалық және адрестік регистрлер негізінде сонымен бірге команда ішіндегі ығысу мәні негізінде қалай генерлейтіндігін көрсетілген.   32-разрядты орындаушы адресті алу үшін индексті регистрдің мәні  1, 2, 4 немесе 8 тең масштабтау коэффицентіне көбейтіледі. Кейін нәтиже базалық регистрге командада берілген ығысуға қатысты қосылады. Алты сегменттік регистрдің біреуінің он төрт үлкен биттері  32-разрядты базалық адрестер алынатын сегменттер дискриторларының кестесінде индекс ретінде қолданылған дискриптор анықталады. Бұл адрес сегменттің ішіндегі орындаушы адреске қосылады, нәтижесінде 32-разрядтық сызықты адрес алынады. Парақтық блок парақ кестесін қолдана отырып сызықты адресті 32-разрядтық физикалық адреске тасмалдайды.

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

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

-орындаушы адрес  физикалық адретің ролін арқаратын  текс әдістік кеңістік түрінде;

-айнымалы ұзындықтың  бір немесе бірнеше сегменттері түрінде

-көлемі 4-кбайт  парақтарға бөлінген 32-разрядты  жады екңістіктегі түрінде;

-сегменттермен  парақтардан құралған құрылым  түрінде.

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

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