2016-04-15 3 views
0

Я пытаюсь изучить архитектуру GPU с GPGPU-Sim, и я смущен потоком операций с памятью. Допустим, у меня есть арифметическая инструкция типа a = b + c. Перед выполнением вычислений операции загрузки памяти необходимы для b и c. Инструкции загрузки для них отправляются в память. Сначала проверяются теги кеша.Память графического процессора чтения, Операнный коллектор

В случае пропусков запрос добавляется в MSHR и отправляется в нижнюю память через сеть межсетевого соединения из ядер gpu. Когда запрос возвращается к ядру из сети межсетевого соединения, он добавляется к некоторому ответу памяти fifo. Затем строки кэша заполняются путем извлечения этих запросов из ответа fifo.

В случае попадания данные доступны в кеше.

В обоих случаях наши данные для арифметических инструкций доступны в кешках. Я знаю, что сборщик операндов собирает необходимые операнды для выдачи перекосов, но часть меня смущает, где сборщик операндов собирает эти операнды? На регистры потоков? Если да, когда эти регистры получают требуемые данные из кешей?

ответ

0

Найден ответ. Один ответ на запрос памяти из ответа fifo памяти вызывается каждым циклом, когда fifo не является пустым, а этап обратной записи не останавливается. Ответ на запрос всплывающей памяти записывается в банки с одним портовым регистром. Операционные блоки SIMD загружают требуемые регистры для арифметических команд из этих банков файлов регистров, когда это необходимо. Информация о коллекционере операнда и этих банках регистрационных файлов доступна онлайн и поддерживается NVIDIA.