|
| Por Dentro da Arquitetura do Pentium M |
|
|
| Pipeline do Pentium M |
Pipeline é uma lista de todos os estágios que uma dada instrução precisa percorrer para ser executada. A Intel não divulga quais são os estágios do pipeline do Pentium M, mas falaremos sobre o pipeline do Pentium III. O pipeline do Pentium M tem provavelmente mais estágios do que o do Pentium III, mas analisando o pipeline do Pentium III podemos ter uma idéia de como a arquitetura do Pentium M funciona.
Lembre-se de que o pipeline do Pentium 4 tem 20 estágios e o pipeline dos novos processadores Pentium 4 baseados no núcleo Prescott tem 31 estágios.
Na Figura 1 você pode ver o pipeline de 11 estágios do Pentium III.
 clique para ampliar Figura 1: Pipeline do Pentium III.
Aqui está uma explanação básica de cada um dos estágios, que explica como uma dada instrução é processada em processadores baseados na arquitetura P6. Se você achar complicado, não se preocupe. Isto é apenas um resumo do que falaremos nas próximas páginas.
- Busca - Estágio 1 (IFU1): Carrega uma linha (32 bytes, 256 bits) do cache L1 de instruções e armazena no buffer de pré-busca (Instruction Streaming Buffer).
- Busca - Estágio 2 (IFU2): Identifica os limites de instruções dentro de 16 bytes (128 bits). Como as instruções x86 não têm tamanho fixo, este estágio marca onde começa e onde termina cada instrução dentro dos 16 bytes carregados. Se houver alguma instrução de desvio nesses 16 bytes, seu endereço é armazenado no buffer de destino do desvio (BTB), de forma que o processador possa posteriormente usar esta informação no seu circuito de previsão de desvio.
- Busca - Estágio 3 (IFU3): Separa as instruções para serem entregues ao decodificador apropriado. Existem três diferentes unidades de decodificação, como explicaremos adiante.
- Decodificação - Estágio 1 (DEC1): Decodifica a instrução x86 em uma microinstrução RISC (também chamada micro-op, µop ou microinstrução). Como o processador tem três unidades de decodificação, é possível a decodificação de até três instruções simultaneamente.
- Decodificação - Estágio 2 (DEC2): Passa as microinstruções para a fila de instrução decodificadas, que é capaz de armazenar até seis microinstruções (micro-ops). Se a instrução x86 tiver sido convertida em mais do que seis microinstruções, este estágio precisará ser repetido de forma a colher as microinstruções que ficaram faltando.
- Renomeamento de registradores (RAT): Como a microarquitetura P6 implementa execução fora de ordem, o valor de um dado registrador poderia ser alterado por uma instrução executada antes do seu lugar “correto” (original) no fluxo do programa, corrompendo os dados necessários por outra instrução. Para resolver este tipo de conflito, neste estágio o nome do registrador original usado pela instrução é trocado por um dos 40 registradores internos que a microarquitetura P6 tem.
- Buffer de reordenamento (ROB): Neste estágio, três microinstruções são carregadas para o buffer de reordenamento (ROB). Se todos os dados necessários para a execução de uma microinstrução estiverem disponíveis e se houver uma posição disponível na fila de microinstruções da unidade de reserva, então a microinstrução é copiada para a fila de execução da unidade de reversa.
- Envio (DIS): Se a microinstrução não foi enviada para a unidade de reserva, isto é feito. A microinstrução é enviada para a unidade de execução apropriada.
- Execução (EX): A microinstrução é executada na unidade de execução apropriada. Em geral, cada microinstrução é capaz de ser executada em apenas um pulso de clock.
- Retirada - Estágio 1 (RET1): Verifica no buffer de reordenamento se há microinstrução que podem ser marcadas como “executadas”.
- Retirada - Estágio 2 (RET2): Quando todas as microinstruções envolvidas com a instrução x86 anterior já foram retiradas do buffer de reordenamento e todas as microinstruções envolvidas com a instrução x86 atual foram executadas, essas microinstruções são removidas do buffer de reordenamento e os registradores x86 são atualizados (processo inverso ao que é feito no estágio de renomeamento de registradores). O processo de retirada tem de ser feito em ordem. Até três microinstruções podem ser retiradas do buffer de reordenamento por pulso de clock.
Não se preocupe se tudo isso parecer confuso para você. Explicaremos tudo isto melhor nas próximas páginas. |
| Páginas (7): « 1 [2] 3 4 5 6 7 » |
| Imprimir | Enviar a um Amigo |
Adicionar aos Favoritos
| Comentários (0)
|
|
|
| Últimas Notícias |
08 de setembro de 2008 - 10:43 H |
05 de setembro de 2008 - 11:22 H |
04 de setembro de 2008 - 14:51 H |
03 de setembro de 2008 - 11:17 H |
02 de setembro de 2008 - 11:38 H |
01 de setembro de 2008 - 15:09 H |
01 de setembro de 2008 - 14:56 H |
01 de setembro de 2008 - 10:49 H |
29 de agosto de 2008 - 12:06 H |
28 de agosto de 2008 - 15:33 H |
|
| .:: Mais Notícias ::. |
| Últimas Mensagens no Fórum |
283.015 usuários cadastrados
4.725 usuários on-line |
por allanpgf (261.133 visualizações, 8.081 respostas) |
por Shankar (2 visualizações, 0 respostas) |
por derikrossi (1.760 visualizações, 5 respostas) |
por faller (287 visualizações, 11 respostas) |
por RCALLMANN (7 visualizações, 1 respostas) |
por Viny (51 visualizações, 5 respostas) |
por saccomani (1 visualizações, 0 respostas) |
por Bodebrutal (57 visualizações, 4 respostas) |
por wardys (113.878 visualizações, 2.223 respostas) |
por Nickneo (40.152 visualizações, 1.274 respostas) |
| .:: Visite Nosso Fórum ::. |
|
|