As Unidades de Busca e Decodificação
A unidade de busca é responsável por pegar a próxima instrução a ser decodificada da memória RAM ou cache. Para mais informações nós sugerimos a leitura dos tutoriais Como os Processadores Funcionam e Como o Cache de Memória Funciona.
Figura 3: As unidades de busca e decodificação
Como mostrado na página anterior, a unidade de busca é compartilhada pelos dois “núcleos” disponíveis em cada módulo Bulldozer. O cache de instruções L1 de instruções também é compartilhado pelos dois “núcleos”, por ser um componente essencial da unidade de busca, mas cada “núcleo” do processador tem seu próprio cache L1 de dados. O interessante é que a AMD já anunciou que o cache L1 de instruções usado na arquitetura Bulldozer é de 64 KB usando arquitetura associativa de duas vias, a mesma configuração usada pelos processadores baseados na arquitetura AMD64, com a diferença óbvia de que enquanto os processadores AMD64 têm um cache L1 de memória por núcleo, os processadores baseados na arquitetura Bulldozer terão um cache de memória L1 por cada par de núcleos. No entanto, o cache de dados usado por cada “núcleo” será de apenas 16 KB, que é consideravelmente menor do que os 64 KB por núcleo atualmente usados pelos processadores baseados na arquitetura AMD64.
Até o momento a AMD não divulgou o tamanho do BTB (Branch Target Buffers ou Buffer de Desvios), que é uma pequena memória que lista todos os desvios identificados no programa, usado pelo mecanismo de previsão de desvios do processador.
O tamanho da TLB (Translation Look-aside Buffers ou Buffer de Tradução de Endereços), por outro lado, foi divulgado, como você pode ver na Figura 3. Esse buffer é uma pequena memória para ajudar na conversão entre os endereços virtuais e os endereços físicos, usados principalmente pelo circuito de memória virtual (memória virtual, também conhecida como arquivo de troca, é uma técnica onde o processador simula mais memória RAM do que a quantidade realmente instalada no micro usando um arquivo no disco rígido).
Os programas para PCs são escritos usando instruções x86, mas atualmente a unidade de execução do processador só entende instruções proprietárias RISC. Portanto a unidade de decodificação é responsável por converter instruções x86 do programa em microinstruções RISC, que são o tipo de instruções entendidas pela unidade de execução do processador. A arquitetura Bulldozer tem quatro decodificadores, mas até agora a AMD não deu muitas informações sobre o tipo de instruções que cada decodificador pode processar. Normalmente pelo menos um desses decodificadores processa exclusivamente instruções complexas, usando o microcódigo armazenado em uma memória ROM (no slide “Ucode” deveria ser lido como “µcode” ou “microcode”). A decodificação de instruções complexas leva vários pulsos de clock para ser completada, pois elas são convertidas em várias microinstruções. Instruções simples, no entanto, são normalmente convertidas em apenas um pulso de clock porque elas são traduzidas em uma única microinstrução. Normalmente os fabricantes de processadores otimizam seus produtos para decodificarem as instruções mais comuns o mais rápido possível em apenas um pulso de clock.
Respostas recomendadas
Crie uma conta ou entre para comentar
Você precisa ser um usuário para fazer um comentário
Criar uma conta
Crie uma nova conta em nossa comunidade. É fácil!
Crie uma nova contaEntrar
Já tem uma conta? Faça o login.
Entrar agora