Processador Pentium 4 MO401 – Arquitetura de Computadores I - ppt carregar
PublicouOtávio Rapozo Alterado mais de 6 anos atrás
Apresentação em tema: "Processador Pentium 4 MO401 – Arquitetura de Computadores I"— Transcrição da apresentação:
1 Processador Pentium 4 MO401 – Arquitetura de Computadores I
2º Semestre Prof. Responsável: Rodolfo J. de Azevedo Processador Pentium 4 Sandro Rogério Pereira RA
2 PROCESSADORES História Arquitetura Intel Motor de execução rápida
Tecnologia de Hyper-Pipelined Trace Cache Cache de L1 Instruções SSE/SSE 2 Transferência avançada de cache nível 2 Barramento de sistema ( Front Side Bus ) Memória de Duplo canal HyperThreading Previsão de Desvios (Execução Dinâmica Avançada) Métricas de Desempenho Conclusão
3 História Pentium 4: Sétima Geração da Arquitetura X86 Antecessores
Pentium Pro Pentium II Pentium III Baseado no mesmo núcleo (Microarquitetura). Difere pelo tamanho de cache e técnicas de implementações. Presença de Instruções SSE. Mecanismos de proteção Clock de 8 MHz. Novembro de 2000 : Pentium 4 "Willamette " CPU totalmente redesenhada. Clock de 1,4 GHz à 1,5 GHz. Motivação: Pouco ganho de desempenho com o aumento da frequência na CPU
4 Arquitetura Intel Motor de execução rápida :
Capacidade de duplicar a velocidade das ALU (Aritmetics Logic Unit)  Maior performance e diminuição dos tempos e intervalos de execução entre cálculos e processamentos. A Unidade Lógica Aritmética pode trabalhar com o dobro do clock interno do processador para aumentar o desempenho em cálculos usando números inteiros. Duas ULAs processam instruções mais simples Duas AGUs se encarregam de ler e gravar dados. Uma terceira ULA é encarregada de decodificar/processar as instruções mais complexas.
5 Arquitetura Intel Tecnologia hyper-pipelined: Vantagens Desvantagens:
Duplica a capacidade de sequência para 20 etapas. Execução comando é dividida em partes menores  Mais fácil e mais rápido de executar. Desvantagens: Mais fases para se executar  tempo global requerido para cada operação aumenta. Pipeline mais profundo  Maior tempo de recuperação de um desvio errado ou perdido.
6 Arquitetura Intel Trace Cache:
O Pentium 4 usa uma cache especial para armazenar instruções já decodificadas. Evita decodificação repetida das instruções de x86. Retêm a ordem de execução de micro-operações armazenadas.
7 Arquitetura Intel Cache de L1 : Write-through. 4-way set associative.
Alteração no tamanho e retrição para armazenamento de dados apenas. Objetivo: "Torná-lo ainda menor por causa do grande tamanho do encapsulamento". Novos algoritmos de acesso à cache de L1  Latência baixou para 2 clock (Pentium III consumia 3 clock). Miniaturização do núcleo do processador  Cache de L1 maiores.
8 Arquitetura Intel Instruções SSE/SSE 2 :
Aumentam a tecnologia MMX™ e SSE existente no seu antecessor PIII, contem ainda cerca de 114 novas instruções novas para a tecnologia MMX, já existente.
9 Arquitetura Intel Tranferência Avançada de Cache L2 : Resultados:
Canal de comunicação de dados mais rápido entre a cache nível 2 e o núcleo do processador. Armazena cópias da cache L1 em modo Imperativo (Não exclusivo). Planejado para processar fluxo de dados  caminho de dados entre o cache L2 e o núcleo do processador foi duplicado. Resultados: Pentium 4 de 1.4 GHz  Taxa de transferência de dados de 44.8GB/s. Pentium III de 1 GHz  Taxa de transferência de dados de 16GB/s. Desvantagem: A ULA de intruções mais complexas não teve a mesma evolução das ULAs de instruções simples Quando utilizado os 20 estágios de Pipeline, a ULA de instruções complexas passa a ser mais lenta que a do Pentium III fraco em processamento de ponto flutuante
10 Arquitetura Intel Barramento de sistema (Front Side Bus) :
Aumento de Performance em conjunto aos novos sistema de execução dinâmica e calculo de ponto flutuante. Pentium 4 (Quad Pumped)  Largura de Banda três vezes maior que a largura da banda do barramento Pentium III. Reduz a latência da CPU enquanto espera pelos novos conjuntos de dados. Implementado fisicamente com uma freqüência básica (100 MHz) trabalhando de forma quadruplicada  400 MHz.
11 Arquitetura Intel Memória de Duplo canal :
Novas versões do Pentium 4 possum FSB de 800 MHz. Problema: Memória ainda é lenta ! Solução: Dois módulos de memória (400 MHz cada) operam em paralelo para para oferecer desempenho equivalente a 800 MHz.
12 Arquitetura Intel Suporte à tecnologia HiperThreading : Vantagens:
Lançamento: Abril de 2003. Parceria entre Intel + Principled TechnologiesSM (PT). Vantagens: -	Maior utilização do tempo ocioso do processador ao executar instruções de um outro processo. Comportamento semelhante a uma máquina de dois processadores. Ganho de desempenho de até 30% no processador. Desvantagens: -	Alguns ambientes operacionais como Windows 98/SE/ME e XP Home não fazem uso do Hyper Threading (recurso desativado).
13 Arquitetura Intel Previsão de Desvios (Execução Dinâmica Avançada) :
Pentium 4 adota uma política de previsão dinâmica de desvios, baseada num histórico das condições passadas, que é guardado no Branch Target Buffer (BTB). Uma previsão de desvio errada provoca a perda de um nº maior de instruções (execução especulativa) Considerando: 14% das instruções são de desvio errando 50% = desempenho 30% inferior ao Pentium III Alterações feitas tentam diminuir a perda de desempenho trazida pelo maior nº de estágios. Capacidade de previsão de desvio 33% maior que do Pentium III. Média de 90-95% de predições corretas.
14 Métrica de Desempenho Um aumento de 40% a 50% na freqüência resultou em um de ganho de 20% no desempenho em testes com inteiros e de 20% a 70% de ganho em testes com ponto flutuante/aplicações multimídia . Pentium 4 obteve maior ganho de performance que o seu antecessor Pentium III em função do aumento da freqüência, novos componentes e técnicas avançadas
15 Conclusão Aumento da velocidade do clock. Novos componentes.
Novas técnicas Resultado: Diminuição da latência do processador  Melhor desempenho. Tamanho das intruções é variável. A primary opcode can be 1, 2, or 3 bytes in length. An additional 3-bit opcode field is sometimes encoded in the ModR/M byte. Smaller fields can be defined within the primary opcode. Such fields define the direction of operation, size of displacements, register encoding, condition codes, or sign extension. The encoding fields used by an opcode vary depending on the class of operation. Two-byte opcode formats for general-purpose and SIMD instructions consist of: • An escape opcode byte 0FH as the primary opcode and a second opcode byte • A mandatory prefix (66FH, F2H, F3H), an escape opcode byte, and a second opcode byte The ModR/M byte consists of three bit fields (see Section 2.4.). In addition to the reg field being treated as an extended opcode field for some instructions, some patterns of the other two bit fields in the ModR/M byte may also be used to express opcode information. Using undefined expression of the primary opcode bytes, and/or undefined expression in the opcode extension field in the ModR/M byte, and/or undefined expression in other bit fields of the ModR/M byte is reserved. Valid opcode expressions are defined in Appendix A and Appendix B. Use of any of reserved opcode expression can cause unpredictable behavior. Many instructions that refer to an operand in memory have an addressing-form specifier byte (called the ModR/M byte) following the primary opcode. The ModR/M byte contains three fields of information: • The mod field combines with the r/m field to form 32 possible values: eight registers and 24 addressing modes. • The reg/opcode field specifies either a register number or three more bits of opcode information. The purpose of the reg/opcode field is specified in the primary opcode. • The r/m field can specify a register as an operand or it can be combined with the mod field to encode an addressing mode. Sometimes, certain combinations of the mod field and the r/m field is used to express opcode information for some instructions. Certain encodings of the ModR/M byte require a second addressing byte (the SIB byte). The base-plus-index and scale-plus-index forms of 32-bit addressing require the SIB byte. The SIB byte includes the following fields: • The scale field specifies the scale factor. • The index field specifies the register number of the index register. • The base field specifies the register number of the base register. Some addressing forms include a displacement immediately following the ModR/M byte (or the SIB byte if one is present). If a displacement is required, it can require 1, 2, or 4 bytes. If the instruction specifies an immediate operand, the operand always follows any displacement bytes. An immediate operand can be 1, 2 or 4 bytes.
16 Dúvidas ??? A Intel chama o pipeline do Pentium 4 de "Tecnologia Hyper Pipelined" por causa de sua grande profundidade comparativa: 20 estágios! Apenas como referência: O pipeline do Pentium III tem apenas 10 estágios de profundidade. Mas o que a Intel pretende com essa profundidade de pipeline? Devido ao fato da execução de cada comando ser dividida em partes menores, que parecem mais fáceis e mais rápidas de se executar do que o comando inteiro, nada impede para os desenvolvedores de aumentar a freqüência da CPU. Se a atual tecnologia de 0.18 mícron permite alcançar apenas 1GHz no processador Pentium de III (ou 1.13GHz se você quer ser mais otimista), os futuros processadores Pentium 4 poderão chegar a 2GHz de freqüência de funcionamento. Porém, um pipeline mais fundo não é livre de desvantagens. A primeira é evidente: a partir do momento em que há mais fases para se executar antes da operação ser completada, o tempo global requerido para cada operação aumentou. É por isso que, para provar que os novos Pentium 4 rodam mais rápidos que os antigos Pentium III CPUs, a Intel iniciou sua nova família de processador a 1.4GHz. Se a Intel lançasse um Pentium 4 de 1GHz, seria batido, indubitavelmente, por um Pentium III também de 1GHz. Um pipelining mais profundo permite que as instruções dentro do processador sejam enfileiradas e executadas o mais rápido possível, resultando nas mais altas velocidades de clock para desktops. The Front End Pipeline : The front end supplies instructions in program order to the out-of-order execution core. It performs a number of functions: • Prefetches IA-32 instructions that are likely to be executed • Fetches instructions that have not already been prefetche • Decodes IA-32 instructions into micro-operations • Generates microcode for complex instructions and special-purpose code • Delivers decoded instructions from the execution trace cache • Predicts branches using highly advanced algorithm Hyper-Pipelined Technology : A microarquitetura Intel aumentou o pilenining dando uma maior performance, frequência e escalabilidade do processador. Um dos seus pipelines chaves, previsão de desvio/recuperação, é implementado em 31 estágios no P4 90 nm, comparado com 20 estágios no P micron. Advanced Dynamic Execution Deep, out-of-order, speculative execution engine • Up to 126 instructions in flight • Up to 48 loads and 24 stores in pipeline2 Superscalar issue to enable parallelism