Sim, neste caso, várias palavras de dados estão sendo lidas por cada banco simultaneamente. Isso requer um controle refinado dos acessos à memória pelo programa que está sendo executado, caso contrário, você encontrará conflitos de acesso / agendamento de banco . Em termos de hardware, uma porta é apenas uma interface de conexões entre dois peças de hardware (serial ou paralelo, um fio ou mais). Cada banco de memória terá uma porta que faz a interface da memória compartilhada com os núcleos da GPU.
Em relação ao cache , talvez você queira ver a pergunta o que é a diferença entre um cache e um um buffer? para uma análise detalhada de caches e outras nomenclaturas. Com relação às portas, um cache deve ser transparente para o uso da porta - idealmente, você deve obter um aumento na taxa de transferência (ou diminuição na latência) usando um cache sem afetar a maneira como a porta é usada em um nível alto .
Em termos de bancos de memória, o controlador e o ponto final de cada banco não exigiriam mudanças em termos de interface. Ao acessar as palavras de dados subseqüentes, supondo que a palavra tenha sido armazenada em cache na hierarquia de cache, os dados simplesmente estarão disponíveis / retornados mais rapidamente - em vez de o controlador de cache não ter captado ainda, e o acesso à palavra diretamente na memória é necessário. Em ambos os casos, a interface da porta externa é idêntica, apenas a temporização dos sinais muda devido ao aumento do atraso.