logo
AOM / Мельник А

5.3.3.7. Введення буфера попередньої вибірки

Буфер попередньої вибірки встановлюється після ярусу вибірки команди. Він скла­дається з двох блоків пам'яті типу FIFOта блоку обчислення цільової адреси переходу, і включений в конвеєр команд, як це показано на рис. 5.15.

182

За значенням програмного лічильника ПЛ команди з пам'яті команд зчитуються в один з буферів FIFO.Блок обчислення цільової адреси аналізує кожну зчитану команду. При виявленні команди умовного переходу він обчислює адресу переходу та керує бло­ками FIFOі програмним лічильником з тим, щоб забезпечити паралельне зчитування обох можливих послідовностей команд з адреси переходу в блоки FIFO.Після обчис­лення адреси переходу блок обчислення цільової адреси підключає до входу конвеєра команд через мультиплексор МП відповідний буфер, а вміст іншого буфера стирається.

За рахунок попередньої вибірки для виявлення того, здійсненним чи нездійсненним є умовний перехід, таким підходом вдається зменшити втрати на виконання команд умовного переходу. При цьому буфер попередньої вибірки можна розглядати як декіль­ка додаткових ярусів конвеєра, які збільшують його початкову затримку та не впливають на продуктивність. З рис. 5.12 видно, що такий підхід ускладнює роботу конвеєра. Крім того, при наявності в програмі декількох команд умовного переходу підряд це вимагає включення додаткових блоків FIFO та іще більше ускладнює роботу комп'ютера.