A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 181

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 183

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 181

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: models/model_blog.php

Line Number: 183

Табло | Yablor.ru

Табло

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

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

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

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

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

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

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

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

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

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

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

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

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

Предыдущие записи блогера :
Архив записей в блогах:
Завтра моя запись уйдет с 1 места в общем ТОПе будет убита в связи с необходимостью реализации предписания Роскомнадзора, предусмотренного статьей 10.6 Федерального закона «Об информации, информационных технологиях и о защите информации и я дополню эту заметку кое чем ...
...в Дамаске Махди встретит Иисуса, который убьет Даджаля, но сначала убьет всех христиан . Что-то мне в это верится. Не так давно ув. taki_net написал пост, где сетовал на то, что расплодившиеся антиклерикалы называют главное действующее ...
Всем по рыбе Хе, поцоны! Массовый психоз в виде непонятно зачем задираемых вверх дворников, на самом деле облегчает жизнь негодяям. Подумай об этом, прежде чем примкнуть к офисным хомячкам. ...
Друзья, немного полезного. В этом году сразу Джош Берсин и Deloitte выпустили свои тренды и прогнозы на 2023 год и подготовили для нас удобные для чтения документы. Cейчас, наши коллеги начнут публиковать статьи и записывать на вебинары на эту тему, а пока можете почитать отчеты и ...
Продолжение истории про Варю и Сашу ( love-story про куклу из витрины вы уже наверняка видели:). Трудно оторвать взгляд от этой невероятно красивой пары! 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ...