Кіріспе

Бірыңғай резервация станциясы, сондай-ақ біріктірілген жоспарлаушы деп аталады, – процессордың микроархитектурасының орталықтандырылмаған мүмкіндігі, ол тіркелімдерді қайта атауға мүмкіндік береді және Томасуло алгоритмімен динамикалық нұсқауларды жоспарлау үшін қолданылады. Резервация станциялары процессорға деректерді тіркелімге сақтап, қайта оқуды күтудің орнына, есептелгеннен кейін дереу деректерді алуға және қайта пайдалануға мүмкіндік береді. Нұсқаулар берілген кезде, олар кіріс деректерін оқығысы келетін резервация станциясын көрсете алады. Егер бірнеше нұсқау бір тіркелімге жазуды қажет етсе, барлығы орындала береді және тек (логикалық) соңғысы ғана жазылуы керек. Орындауды бастамас бұрын, операторлар қолжетімді ме (RAW) және орындау блогы бос па (құрылымдық қауіп) тексеріледі. Нұсқаулар қолжетімді параметрлермен сақталады және дайын болғанда орындалады. Нәтижелерді сәйкес нұсқауды орындайтын блок анықтайды. Тіркелімдерді қайта атау арқылы WAR және WAW қауіптері автоматты түрде шешіледі. Бұл толық ассоциативті құрылым болғандықтан, салыстыру құрылғыларында өте жоғары шығындар туындайды (процессорлық бірліктерден алынған барлық нәтижелерді сақталған барлық мекенжайлармен салыстыру қажет). Томасуло алгоритмінде нұсқаулар тізбекпен резервация станцияларына жіберіледі, олар нұсқауды және оның операторларын буферлейді. Егер оператор қолжетімді болмаса, резервация станциясы оператордың қолжетімді болуын күту үшін ортақ деректер шинасын тыңдайды. Оператор қолжетімді болған кезде, резервация станциясы оны буферлейді және нұсқауды орындау басталуы мүмкін. Функционалдық бірліктер (мысалы, қосу немесе көбейту), әрқайсысының өзіне сәйкес резервация станциялары бар. Функционалдық бірліктің шығысы ортақ деректер шинасына қосылады, онда резервация станциялары қажетті операторларды күтеді.