Станфорд сәулеті. Конвейерлік сәулеті бар МҮ-ні нұсқауларды өңдеу жылдамдығы келесі типтегі конфликтілік жағдайлардың пайда болуынан төмендейді:
бағдарлама, конвейерді тазалануын және оны жаңа нұсқаулармен толықтыру қажет болатын өтпелерді жүзеге асырады (адрес бойынша тәуелділік).
конвейердегі нұсқауларға сол бір ресурсқа бір мезетте –жады шинасына, тіркегішке немесе АЛҚ(АЛУ) назарі қажет.
Конвейерді бөгеудің түрлі жағдайлары мүмкін, ол нұсқауды өңдеудің бес деңгейінен тұрады (1.8 сурет): нұсқау таңдауы (ІF), нұсқау дешифрациясы (ID), операндыны таңдау (OF), есептеу (ОЕ) және нәтижені есте сақтау (OS). Бірінші жағдайда JMP-ң сөзсіз өту нұсқауы орындалады, ол өз кезегінде конвейерді төрт этапты қоса, оның өңдеуі аяқталғанша тоқтатады:
Екінші жағдайда (1.8б- сурет) INC нұсқауы, алдыңғы ADD В,С, А нұсқауы А тіркегішіне операция нәтижелерінің жазбаларын аяқтағанша А операндын таңдай алмайды; бөгеу екі тактіге созылады.
1.8- сурет.
Мұндай конфликтілік жағдайлар - барлық нұсқаулардың конвейерлік өңдеуі бар МҮ-ге тән адрес және мәліметтерге тәуелділік. Дәстүрлі түрде бұл мәселелер өту нүктесіндегі нұсқауларды таңдауларын аппараттық түрде шешіледі немесе конфликтілік жағдайлар туындаған кезде конвейерлерді жабу арқылы.
Стандфорд сәулеті конвейер бөгеулерінен құтылуды тиімді компиляторлар көмегімен алдын ала қарастырады. Оларды конвейерде өңдеу мезетінде бір біріне тәуелді етпейтіндей етіп, нұсқауларды реттейді. Сонымен бірге берклийлік сәулеті бар кейбір RISC МП-де қолданылатын тиімді компиляторлар көмегімен бөгелген өтудің нұсқауы енгізіледі. Бөгелген өту нұсқауы, өту нұсқауының ізінен жүрген нұсқау басқаруды өту нүктесіне бергенше орындалады. Осы уақытта үрдісші өту адресі бойынша нұсқауды таңдауға және оны конвейерге жүктеге мүмкіндігі бар.
Дәстүрлі МҮ бұл бағдарламаның фрагментін жай өту ретінде іске асырады - нұсқаулар мына кезектестікте орындалады: 100, 101,102,105 және т.б. Мұндай эффектіні RISC МҮ-де алу үшін, бөгелген өтуге амалдарды орындамайтын NOP нұсқауын енгізу керек. Сонда, кезектестік мынадай болады: 100, 101,102,103,106 және т.б. ; ол мүмкіндігі бойынша бөгелген өтуден соң, циклді максималды түрде қолдана алатындай реттейтін тиімді компилятор арқылы өңделеді. Нұсқауларды орындау реті мына түрге ие болады:100,101,102,105 және т.б. Біздің нұсқау өту нұсқауынан соң жүретін болғандықтан, әрдайым орындалады және 101 адресі бойынша өтуі ADD нұсқауын орындаушы 102 адресіне тәуелді болмайды, бұл кезектестік бағдарлама фрагментіне эквивалентті.
Бөгелген өтпелер концепциясы бір такт ішіндегі жадыға арналатын нұсқауларды орындайтын жағдайлар түрінде қолданылады. Бұл нұсқауларды орындау әдісі екі тактіні қажет етеді: біреуі адресті анықтау үшін қажет етсе, екіншісі - жадыға қатысты. Жадыға арналған модифицирленген нұсқаулар бөгелген жүктемелер деп аталады және құрылғылардың кейбір өзгерістерін
1.2-кесте.
қарастырады: МҮ жады мен тіркеушілері қосымша порттары бар болуы қажет. Мәлімттер бойынша тәуелділік, тиімділеуші компилятор көмегімен құтылады.
Станфордтық сәулеті бар RISC МҮ үшін аз шамадағы жалпы тағайындалған тіркеушілер тән, олар жергілікті айнымалылар мен процедуралар параметерлерін сақтау үшін қолданылады. Айнымалылар арасындағы тіркеушілерді тарату тиімділеуші компилятор арқылы орындалады.
Достарыңызбен бөлісу: |