1.2.3. Бақылаушы кемегімен есептеу процесін басқару туралы түсінік. Мәліметтерді алмасуда процессордың дәстүрлі архитектурасының негізгі мәселелері. Процессор екі тәртіптің бірінде жұмыс істеп тұрады:
а) нақты адрестеу тәртібі (Real Address Mode), мұнда физикалық жадының 1Мбайт дейін адрестеуге болады;
б) виртуалдық адрестеудің қорғаулы тәртібі (Protected Virtual Address Mode), мұнда процессор физикалық жадының 4 Гбайт – қа дейін және виртуалдық жадының 64 Тбайт – қа дейін адрестеуге мүмкіндік береді. i80386-дан жоғары барлық процессорлар сегментация және адрестерді беттік трансляциялау механизмін қолдайтын жадыны
басқаратын кірістірілген (встроенный) блоктан тұрады. Процессорлар жады кеңістігін төрт деңгейлі қорғауды қамтамасыз етеді. Бесінші кезеңнің және одан да жоғары (Pentium Pro...) кезеңдердің процессорларында әртүрлі «операцияларды қиыстыру» әдістері жүзеге асырылған. Бұл есептеуіш процестің ұйымдастырылуы кез келген уақыт кескінінде бір уақытта бірнеше негізгі операциялар орындалуымен сипатталады. Мұндай есептеуіш процестің ұйымдастырылуы екі ұғымнан тұрады: конвейеризация және параллелизм. Бұл ұғымдар арасында көптеген ортақ түсініктер болса да, олар екі әртүрлі шешу жолдарын көрсетеді. Параллелизм кезінде операцияларды қиыстыруға бірнеше
аппараттық құрылымдардың көшірмесінде орындау арқылы қол жеткізуге болады. Құрылымның әр түрлі міндет атқаратын барлық элементтерінің жұмысын біруақытта орындау арқылы жоғары өнімділікке жетуге болады.
Кейбір операцияларды (командаларды) бірнеше кезеңдерге бөліп, мәліметтерді бір кезеңнен келесі кезеңге тасымалдау арқылы орындалатын процесс конвейерлік өңдеудің негізін құрайды. Әр кезеңді орындау үшін аппаратурының жеке бір блогі бөлінеді, оны конвейердің оның барлық конвейерлерінен орындалған командалардың шығарлу темпімен бағаланады. Егер процессор бір конвейерден құралса, онда оны скалярлық деп атайды, ал егер екі немесе одан да көп болса – суперскалярлық деп атаймыз. Сурет 9.1 – де бес ретті команданы өңдеуге арналған бес баспалдағы бар конвейердің жұмыс диаграммасы көрсетілген.
Командалар кезеңдеріне белгілеулер меншіктелген:
– команда 1 – ®;
– команда 2 – @;
– команда 3 – $;
– команда 4 – £;
– команда 5 – &.
Параллелизм деп бірнеше командаларды (немесе
бағдарламалар) біруақытта орындау, яғни өңдеу жылдамдығын арттыру
әдісі деп түсінуге болады. Командалардың орындалуын қиыстыру
командалар деңгейіндегі параллелизм деп атайды. Сондықтан да
параллельді орындалатын командалар бір –біріне тәуелді болмауы керек.
Егер екі команда арасында өзара тәуелділік болса, онда ол параллельді
бола алмайды.
Командалар арасында үш түрлі тәуелділік болуы мүмкін:
а) мәліметтер бойынша тәуелділік;
б) атауы бойынша тәуелділік;
в) басқарылуы бойынша тәуелділік.
Бұл тәуелділіктерді реті бойынша қарастырайық. J командасы i командасынан мәліметтер бойынша тәуелді, егер –j командасы k командасынан мәліметтер бойынша тәуелді, ал k командасы i командасынан мәліметтер бойынша тәуелді.
Мәліметтер бойынша тәуелділік маңыздылығы параллелизм деңгейінің жоғарғы шекарасын орнатуда. Атауы бойынша тәуелділік екі команда бір атауды – адресті
қолданғанда пайда болады, бірақ мәліметтер бойынша тәуелділік болмаса. i және j командалар арасында екі түрлі атауы бойынша тәуелділік болуы мүмкін – антитәуелділік және шығысы бойынша тәуелділік: а) i және j командалар арасында антитәуелділік келесі жағдайда пайда болады, егер j командасы нәтижені қандайда бір регистрге немесе жады ұяшығына жазады, ал i командасы бұл регистрден немесе жады
Сурет 9.2 –Атауы бойынша антитәуелділік
б)шығысы бойынша тәуелділік келесі жағдайда пайда болады, егер
i және j командалары нәтижені бір регистрге немесе жады ұяшығына
жазатын болса, сурет 9.3.
Сурет 9.3 – Шығысы бойынша тәуелділік
Атауы бойынша тәуелділік арқылы байланысқан командалар біруақытта орындалуы мүмкін немесе реттелуі мүмкін. Бұл үшін процессорларда регистрлерін атын өзерту керек. Басқару бойынша тәуелділік командалар реттілігін шартты ауысу
командасына байланысты анықтайды. (сурет 9.4). Басқару бойынша тәуелділікпен байланысты екі шектеу бар: а) басқаруы бойынша шартты ауысудан тәуелді болатын команда ауысу нәтижесінде шартты ауысу командасының алдында тұруы мүмкін
емес;
б) басқаруы бойынша шартты ауысудан тәуелді емес команда ауысу нәтижесінде шартты ауысу командасынан кейін тұруы мүмкін емес; Жаңа процессорларда әртүрлі ауысуды болжайтын механизмдер бар. Бұл механизм шартты тексеруді күтпей, шартты ауысу командасының сұрыптауынан кейін командалар ағынын сұрыптауын
және декодтауын жалғастыруға рұқсат береді. Ауысуды болжау сұрыптау және декодтау ағынын тармақтардың біріне бағыттайды. Статикалық және динамикалық ауысуларды болжаулары бар. Статикалық әдіс процессордағы схема бойынша жұмыс істейді. Ол
ауысулар бір шарттар бойынша орындалуы мүмкін, ал басқалары
бойынша жоқ деген болжамда негізілген.
Динамикалық болжам есептеуіш процестің басталуына сүйенеді,
әр ауысудың нақты жағдайларына байланысты орындалу тәртібі туралы
мәліметтер жиналады, және бұл мәліметтер бойынша ауысу орындалады.