­
­

Табло

топ 100 блогов thesz02.09.2024 https://en.wikipedia.org/wiki/Scoreboarding

Для каждой команды мы можем отмечать возможность её выполнения на основании доступности результатов предыдущих команд - если все аргументы команды записаны в регистровый файл, её можно выполнять.

Однако, можно пойти ещё дальше.

Как известно, название процессора MIPS означает Microprocessor without Interlocked Pipeline Stages - процессор, этапы конвейера которого не взаимодействуют друг с другом.

Однако, в MIPS есть исключения на этапе "обращение к памяти," куда можно запихнуть и исключения по переполнению команд сложения и вычитания чисел со знаком. Обращение к памяти, так же, может удерживать конвейер от продолжения работы, если данные пришлось тащить издалека.

То есть, MIPS не так, чтобы уж очень хорошо соответствовал своему имени.

Это можно исправить, добавив в логику работы с табло команд и регистров возможность выдавать частичные команды.

Те же загрузка из памяти и запись в память вычисляют адрес, проверяют его доступность в TLB (исключение, если адреса нет) и, затем, читают или пишут данные. Мы можем для всех загрузок и записей вычислить адреса и проверить их наличие в TLB, не взирая на зависимости по регистру-приёмнику (для загрузки) или по регистру-источнику (для записи).

Далее, мы можем выдать запрос на подкачку данных в кеш до того, как регистр-приёмник станет доступным. В результате мы сэкономим несколько тактов ожидания. А можем просто ждать, пока (физический) адрес загрузки команды появится в кеше.

Команды наподобие "проверь, находится ли адрес в TLB" или "находится ли физический адрес в кеше" позволяют не останавливать конвейер, устраняя то, чему MIPS не соответствовал.

Поэтому я считаю, что табло команд и регистров (scoreboarding) является недооценённым способом извлекать параллелизм по командам из программы. Он и прост, и позволяет устранить взаимодействие между этапами конвейера.

Просто все переключились на переименование регистров и использование контекстно-адресуемой памяти со спекулятивным выполнением, что и привело к интересным результатам. ;)

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
Можно ли папе, который только что покурил, дышать на ребенка, брать его на руки и ...
Не люблю название «Хэллоуин», оно не отражает всей глубины этой точки Колеса года. Зато хорошо передает подход к жизни людей, его придумавших. Берем антураж: шляпы, тыквы и прочее все, а контекст, сформировавший  праздник, отбрасываем. Можно подумать, что таким образом решается ...
Добрый день, уважаемые кошководы! Очень хочу услышать мнение специалистов вот по какому вопросу: Две недели назад у нас ушла на радугу наша кошка Мася. Она прожила у нас не долгую (всего 13 лет), но, надеюсь, счастливую жизнь. К сожалению, анализируя сейчас историю ее болезней и тяжелую ...
Сегодня черёд очередного небольшого путешествия по удивительным местам русской провинции. Давно планировал посетить эти локации, да вот всё никак руки не доходили. В ближайшее время репортажи о жизни в Твери и близлежащих городках, а пока для затравки один весьма любопытный объект. ...
И в завершении на сегодня -- об очередном запуске хуситами тяжелой ракеты с гиперзвуковой боеголовкой по территории Израиля -- на этот раз по военной базе ЦАХАЛ Неватим в пустыне Нагев Вот свежий сюжет о ракетных возможностях и ударе хуситов Йемен -- 8 ноября 2024 года Об ...