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