Кіріспе

Орталық процессордың (CPU) микроархитектурасындағы нұсқау құбыр жолындағы мәселелер

Орталық процессордың (CPU) жобалау саласында, қауіп-қатерлер – келесі нұсқау келесі тактовый циклде орындала алмайтын жағдайларда туындайтын, және есептеу нәтижелерінің қате болуына әкелуі мүмкін проблемалар. Қауіп-қатерлердің үш негізгі түрі бар: дерек қауіп-қатері, құрылымдық қауіп-қатер және басқару қауіп-қатері (тарану қауіп-қатері). Қауіп-қатерлерді шешу үшін бірнеше әдіс қолданылады, оның ішінде құбыр жолында тоқтату/көпіршік жасау, операндарды алға жіберу, ал реттілігі бұзылған орындалу жағдайында – көрсеткіш кестесі әдісі және Томасуло алгоритмі.

Өмірбаян

Құбырлы процессордағы нұсқаулар бірнеше кезеңде орындалады, сондықтан кез келген сәтте құбырдың әртүрлі кезеңдерінде бірнеше нұсқаулар өңделеді, мысалы, алу және орындау. Әртүрлі нұсқаулар құбыржолдарының көптеген микроархитектуралары бар, және нұсқаулар реті келмей орындалуы мүмкін. Екі немесе одан көп параллель (мүмкін, реті келмей) нұсқаулардың қақтығысы туғанда қауіп пайда болады.

Бақылау қауіптілігі (бөлім қауіптілігі немесе нұсқаулық қауіптілігі)

Бақылау қаупі құбыр желісі тармақталуды болжауда қателік жасағанда туындайды, нәтижесінде құбыр желісіне кейіннен жойылатын нұсқаулар енгізіледі. "Тармақталу қаупі" термині де бақылау қаупін білдіреді.

Құбырдың бүршігі

Құбыр желісін көпірту, сондай-ақ құбыр желісін тоқтату немесе құбыр желісінде үзіліс жасау деп аталады, бұл деректерлік, құрылымдық және тармақталу қауіптерін болдырмау әдісі. Нұсқаулар алынғанда басқару логикасы қауіптің болуы мүмкін екенін немесе болатынын анықтайды. Егер осылай болса, онда басқару логикасы құбыр желісіне күйреу (s) енгізеді. Осылайша, келесі нұсқау (қауіпті тудыратын) орындалғанға дейін, алдыңғы нұсқау қауіптің алдын алу үшін аяқталуға жеткілікті уақыт алады. Егер күйреулердің саны құбыр желісіндегі кезеңдер санына тең болса, процессор барлық нұсқаулардан тазартылады және қауіпсіз жұмыс істей алады. Тоқтатудың барлық түрлері процессор орындауды қайта бастамас бұрын кешігуге әкеледі. Құбыр желісін тазалау, егер тармақталу нұсқаулығы жаңа жад мекенжайына секіргенде, құбыр желісіндегі барлық алдыңғы кезеңдерді жарамсыз етеді. Бұл алдыңғы кезеңдер тазартылады, содан кейін құбыр желісі тармақ көрсеткен жаңа нұсқау бойынша жалғасады.

Басқа әдістер

Жадтың кешігу уақыты – дизайнерлер назар аударуға тиіс тағы бір фактор, себебі кешігу жүйеленген жұмыстың тиімділігін төмендетуі мүмкін. Жады түрлерінің әрқайсысының жадыға қол жеткізу уақыты әртүрлі болады. Сондықтан, қолайлы жад түрін таңдау арқылы дизайнерлер құбырлы деректер жолының тиімділігін арттыра алады.