Microprocessadores MIB INTRODUÇÃO Processador ou Microprocessador = UCP (CPU) são termos equivalentes. Gerenciam todos os recursos disponíveis no Sistema (coordenados pelos programas) Executa somas e comparações entre números com velocidade extremamente elevada. As funções da UCP são sempre as mesmas, os que as diferenciam é a estrutura interna e os conjuntos de instruções próprios Microprocessadores MIB Incompatibilidade de Sistema Operacional (Win95 no Z80 ou no 8080) Trabalha diretamente com a memória principal (RAM) Ciclo de Instrução Ler (copiar) conteúdo de um endereço de memória no registrador do processador central; Comparar duas informações; Adicionar, subtrair dois números; Escrever palavra na memória ou dispositivo de saída. Microprocessadores MIB Atividades realizadas pela UCP Função Processamento: Atividades relacionadas com a efetiva execução de uma operação (processar) O dispositivo principal : UAL - Unidade de Aritmética e Lógica. Componentes relacionados : Registradores (servem para armazenar dados a serem usados pela UAL A interligação é efetuada pelo barramento interno da UCP. Função Controle: Atividades de busca, interpretação e controle da execução das instruções É projetada para entender o que fazer, como fazer e comandar quem vai fazer no momento adequado. Dispositivos básicos : unidade de controle, decodificador, registrador de instrução, contador de instrução, "clock" e os REM RDM Microprocessadores MIB Unidade de Aritmética e Lógica – UAL ou ULA Executa realmente as operações matemáticas com os dados. Registradores Destinados ao armazenamento de dados, pois servem de memória auxiliar da UAL. • Para transferir dados para a UAL • Armazena temporariamente o resultado de uma operação aritmética ou lógica realizada na UAL, podendo ser utilizado depois ou apenas para ser transferido para a memória. Clock Gerador de pulsos cuja duração é chamada de ciclo. Quantidade de pulsos por segundo define a unidade de medida(freqüência), a qual defini a velocidade da UCP. Unidade de medida é o Hertz (Hz) = 1 ciclo por segundo. Microprocessadores MIB Unidade de Controle (UC) Dispositivo mais complexo da UCP. Possui a lógica necessária para realizar a movimentação de dados e instruções de e para a UCP, Controla a ação da UAL Recebe instruções da unidade de E/S e as converte em um formato que pode ser entendido pela ULA Controla qual etapa do programa está sendo executado. Registrador de Instrução (RI) Tem a função específica de armazenar a instrução a ser executada pela UCP. Microprocessadores MIB Contador de Instrução Registrador cuja função específica é armazenar o endereço da próxima instrução a ser executada. Decodificador de Instrução Utilizado para identificar as operações a serem realizadas. Cada instrução é uma ordem para que a UCP realize uma determinada operação. Muitas instruções, cada uma possui uma identificação própria e única, a UC recebe a identificação e sinaliza adequadamente ao dispositivo certo da UCP. Registrador de Dados de Memória (RDM) e Registrador de Endereços de Memória (REM) Utilizados pela UCP e memória para comunicação e transferência de informações. MIB Microprocessadores Evolução Exponencial Processador Ano de lançamento Transistores 8088 1978 29 mil 286 1982 134 mil 386DX 1985 275 mil 486DX 1989 1,2 milhões Pentium 1993 3,3 milhões Pentium Pro 1995 5,5 milhões Pentium MMX 1996 4,5 milhões Pentium II 1997 7,5 milhões Pentium III 1999 25 milhões Pentium IV 2001 42 milhões MIB Microprocessadores Por que mais transistores ? - Velocidade - Aumento do Microcódigo (Conjunto de Instruções) Processador Novo Nova Instrução = Processador Anterior Conjunto de Instruções mais instruções => mais tempo para decodificar => mais lento Necessidade de novos recursos de aumento de desempenho para que seja mais rápido : Pipeline Cache Integração de C. A. Arquitetura Superescalar Microprocessadores MIB Tecnologia CISC (Complex Instruction Set Computing) Computação Utilizando Conjunto Complexo de Instruções Total do Conjunto de Instruções 20 % são realmente usadas por programas e S.O. (regra 80/20) 80% do tempo está se usando 20 %das instruções Nova Idéia : RISC (Reduced Instruction Set Computing) Computação Utilizando Conjunto Reduzido de Instruções - poucas instruções - padronizadas - eliminação do microcódigo Microprocessadores MIB Metodologia de linha de montagem ou pipeline Enquanto executava uma instrução teria partes ociosas PIPELINE : enquanto está executando uma instrução, o processador já está lendo e decodificando a próxima instrução. (somente 486 em diante) Microprocessadores MIB Processamento Paralelo Máquinas paralelas podem ser divididas em três categorias (Flynn), baseando-se no número de fluxos de instruções e de dados que elas têm: SISD (Single Instruction, Single Data) Fluxo único de instruções e de dados. Microprocessadores MIB SIMD (Single Instruction, Multiple Data) Fluxo único de instruções e múltiplo de dados. (Pentium MMX) Microprocessadores MIMD (Multiple Instruction, Multiple Data) Fluxo múltiplo de instruções e de dados MIB Microprocessadores MIB Categorias / Histórico (INTEL) 8086 (1978) • 1º processador de 16 bits • Grande fracasso, na época não existiam circuitos de apoio de 16 bits (restrito à sistemas corporativos) • Acessava até 1 MB de RAM • Coprocessador aritmético externo : 8087 8088 • Idêntico ao 8086, Internamente funciona com palavras binárias de 16 bits, externamente trabalha com 8 bits. • Permitiu seu uso em conjunto com periféricos de 8 bits, mais baratos na época, motivo da sua popularização. • Usado nos IBM PC e IBM XT • Velocidade de operação de 4,77 Mhz Microprocessadores MIB 80286 Palavras de 16 bits (interna e externamente) Lançado quando já existiam circuitos de apoio de 16 bits a preços acessíveis, tendo espantosa aceitação. Coprocessador aritmético, o 80287 Avanço sobre o 8086 Operação em: "Modo Real" e o "Modo Protegido" Modo Real se comporta como um 8086 (apesar de mais rápido) Total compatibilidade com os programas já existentes. Modo Protegido incorpora funções mais avançadas : - Capacidade de acessar até 16 MB de RAM (Address de 20 para 24 bits - Multitarefa - Memória Virtual em disco - Proteção de Memória Microprocessadores MIB 80286 • Ligando :Modo Real com certa instrução Modo Protegido • Problema : quando em Modo Protegido, incompatível com os programas escritos para 8088 • Estando em Modo Protegido não havia uma instrução para voltar para o Modo Real ( só re-startando) • Poucos foram os programas capazes de usa-lo • Computadores com processadores 286 utilizados como XT's mais rápidos Microprocessadores MIB 386 (1985) • Trabalha interna e externamente com palavras de 32 bits, • Acessar até 4 GB de memória RAM • Pode alternar entre o modo real e o modo protegido • Desenvolvidos vários S.O. que usam modo protegido 386 (Win3.1, OS/2, Win95 e Win-NT) • Criação de Memória Cache (na placa mãe) • Exigia periféricos de 32 bits (muito caros na época) • Intel lançou versão do 386 de baixo custo (386 SX) interno=32 bits externo=16 bits (386 original = 386 DX) • Placas mãe baratas usando os mesmos componentes das placas 286. • Coprocessadores aritméticos 80387SX e o 80387DX •AMD também lançaram seus modelos de 386. Microprocessadores MIB Microprocessador 80386. AMD e Intel 486DLC e 486SLC (Cyrix) • Nada mais eram do que processadores 386(respectivamente o DX e o SX) que possuíam um cache interno de 8 KB, usando placas de 386. • Devido ao cache tinha desempenho bastante superior ao 386 • Podia-se trocar apenas o processador, tornando boa opção de upgrade de baixo custo MIB Microprocessadores 486 • Manteve praticamente o mesmo número de instruções • Aumento muito superior em desempenho Novidades : • Co-processador matemático integrado (Versão DX) • Memória Cache Interna (8 kB DX2 16 kB DX4) • Memória Cache Externa • Características importantes do 386: • Manipulação de dados de 32 bits, • Acesso a 4 GB de RAM • 486DX50 • 486DX2-50 • 486DX2-66 • 486DX4-75 • 486DX2-100 50 Mhz (int) 50 Mhz “ 66 Mhz “ 75 Mhz “ 99 Mhz “ 50 Mhz (ext) 25 Mhz “ 33 Mhz “ 25 Mhz “ 33 Mhz “ Microprocessadores Empresa Modelo AMD AMD Cyrix Cyrix Am5x86-133 Am5x86-160 Cx5x86-100 Cx5x86-120 Clock (Mhz) Externo Interno 33 133 40 160 33 100 40 120 MIB Cache (L1) 16 kB 16 kB 16 kB 16 kB Microprocessadores MIB PENTIUM • Mudou tática do nome (não podia registrar nome-número) • Barramento de dados de 64 bits • Memória Cache L1 16 kB 8 kB dados 8kB instruções • Previsão de Desvio (Controlador de Cache se antecipa) • Arquitetura Superescalar (Como 2 x 486 em paralelo) • Multiprocessamento (dual Pentium) • Co-processador Matemático 10x + rápido) • CPU-ID Microprocessadores Clock (ext) (MHz) 50 60 66 1x Pentium-60 Pentium-66 Fator de Multiplicação / Clock (int) 1,5 x 2x 2,5 x Pentium-75 Pentium-125 Pentium-90 Pentium-120 Pentium-150 Pentium-100 Pentium-133 Pentium-166 MIB 3x Pentium-180 Pentium-200 AMD K5 • Compatível da AMD • Desempenho bastante semelhante ao Pentium • Perde apenas no desempenho do coprocessador aritmético que é mais lento • Não se tornou muito popular devido lançamento atrasado • Quando saíram versões 100 e 133 MHz do K5 • Intel já havia lançado as versões de 166 e 200 MHz do Pentium Ficando difícil a concorrência Microprocessadores MIB PENTIUM MMX (Multi Media eXtension) • Memória Cache L1 32 kB 16 kB dados 16 kB instruções • 2 Conj. de Instruções : 1 Tradicionais + 1 MMX (57 novas) • Não alterou modo de operação (não necessitou novos S.O.) • Compartilha o circuito do co-processador • Novo Conceito SIMD (processa vários dados “simultâneo”) Clock (ext) (MHz) 66 Fator de Multiplicação / Clock (int) 2,5 x 3x 3,5 x Pentium MMX-166 Pentium MMX-200 PentiumMMX-233 Microprocessadores MIB • Ganho de desempenho (para dados pequenos 8 bits) Microprocessadores AMD K6 Concorrente para o Pentium MMX • Cache L1 de 64 KB, contra os 32 KB do MMX • Capaz de executar apenas 1 instrução MMX /ciclo de clock contra 2 do Pentium MMX • Coprocessador aritmético interno bem mais lento que do Pentium • Aquecimento exagerado A escolha depende da aplicação Para jogos ou edição de imagens : o MMX Aplicações mais corriqueiras : o K6 é superior (e mais barato) MIB Microprocessadores MIB AMD K6-2 • 27 novas instruções aos seus processadores K6-2 (3D-Now) • Objetivo : agilizar processamento de imagens 3D, funcionando junto com placa aceleradora 3D • Velocidade de barramento de 100 MHz • Versões a partir de 300 MHz • Compatível com as instruções MMX, mas executa apenas 1 instrução/ciclo clock contra 2 dos Intel • Fabricados com tecnologia de 0.25 mícron, garante menor dissipação Microprocessadores MIB Cyrix 686MX • Concorrente da Cyrix contra MMX da Intel • Cache L1 de 64 KB e usa soquete 7 • Performance em aplicações Windows = K6 (mesmo clock) • Coprocessador aritmético é ainda mais lento do que K6 • Muito fraco desempenho em jogos e aplicativos gráficos que tem uso intenso de cálculos • Aplicações de escritório (Office), ótima opção devido ao baixo preço • Família MX Versões PR150, PR166, PR200, PR233 e PR266 686MX PR266 = 225 MHz (3x 75MHz) Microprocessadores MIB Cyrix MII • Nada mais é do que uma continuação da série 686MX • Alcançando índices PR 300, 333, 350 e PR400 Cyrix Media GX • É um 6x86MX acrescido de circuitos controladores de memória e cache • Também controladores de vídeo e som • Mercado de PCs de baixo custo e principalmente a notebooks. • Em portáteis vantagem de pouco consumo (autonomia da bateria) • Em desktops poucas possibilidades de upgrade (placa mãe específica) • Usado somente em computadores de arquitetura fechada Microprocessadores MIB PENTIUM PRO • Projeto para ser usado em servidores de rede • Acesso a 64 GB de memória (36 bits) • Arquitetura CISC / RISC (Núcleo RISC Decod. CISC) • Arquitetura Superescalar (3 canalizações) • Memória Cache L2 Integrada ao processador Microprocessadores MIB • Multiprocessamento : Pode trabalha até 4 em paralelo • Erro de Projeto : Perde ao processar instruções de 16 bits (Novas funções atingem bom desempenho para 32 bits) Clock (ext) (MHz) 60 66 Fator de Multiplicação / Clock (int) 2,5 x 3x Pentium Pro-150 Pentium Pro-180 Pentium Pro-166 Pentium Pro-200 Microprocessadores MIB PENTIUM II • Utiliza o núcleo do Pentium Pro e a tecnologia MMX • Novo Encapsulamento SEC e SLOT 1 • Memória Cache L2 não mais Integrada ao processador, mas no cartucho SEC (Porém com metade da freqüência) Microprocessadores MIB • Multiprocessamento : Pode trabalha até 2 em paralelo • Solucionou erro de projeto do Pentium Pro: Decodificador otimizado para instruções de 16 bits Clock (ext) (MHz) 66 100 3,5 x Pentium II-233 Pentium II-350 Fator de Multiplicação / Clock (int) 4x 4,5 x Pentium II-266 Pentium II-300 Pentium II-400 Pentium II-450 5x Pentium II-333 Pentium II-500 Microprocessadores MIB Celeron (Mercado de PC's de baixo custo) • Perdendo terreno para K6 e o 6x86MX, Intel lançou versão de baixo custo do Pentium II • Versões de 266 e 300 MHz. • É um Pentium II desprovido do Cache L2 • Performance do equipamento cai em mais de 30% • Perde até para mais antigos (o MMX, o K6 e o 6x86 MX) • Celeron de 266 MHz INFERIOR a 233 MMX (maioria das aplicações) • Ponto a favor : Coprocessador aritmético =do Pentium II (muito mais rápido do que o do MMX ou do K6) Microprocessadores MIB Celeron A (Mendocino) • Celeron não conseguiu uma boa aceitação no mercado • Intel equipa novas versões do Celeron com 128 KBytes de cache L2 • L2 ao contrário Pentium II funciona na mesma velocidade do processador. • É menos de 5% mais lento Pentium II • Mesmo que 4 vezes menos de cache, nele, este funciona ao dobro da velocidade Microprocessadores MIB Pentium Xeon • Basicamente a mesma arquitetura do Pentium II • Cache L2 mesma velocidade do processador (= Celeron Mendocino e no Pentium Pro) • Versões com 512, 1024 e 2048 KB de cache • Velocidades de 400 e 450 MHz • Novo Encapsulamento (Usa SLOT 2) • Multiprocesamento (até 8 processadores numa placa compatível) Clock (ext) (MHz) 100 4x PII Xeon-400 Fator de Multiplicação / Clock (int) 4,5 x 5x PII Xeon-450 PII Xeon-500 5,5 x PII Xeon-550 Microprocessadores Pentium III • 70 Novas instruções • Versões com BUS de 100 (0,25 mm) e 133 MHz (0,18 mm) • Cache L2 : 512 kB half-speed 256 kB full-speed MIB •Encapsulamento SEPP e FC-PCPGA • Tecnologia MMX2 (Utiliza mais o co-processador) • Co-processador Superescalar (MMX, MMX2 e Aritméticas) Microprocessadores MIB Pentium IV • Arquitetura Netburst • Composta por 4 componentes : • Hyper Pipelined Technology, • Rapid Execution Engine, • Execution Trace Cache e • Bus de 400MHz Hyper Pipelined Technology Pentium III 10 estágios Athlon 11 estágios Pentium 4 20 estágios ( + estágios freqüências mais altas) - Problema com muitos estágios na “decisão errada” (dobro do tempo para processar a decisão correta) Microprocessadores MIB Bus de 400 MHz Barramento operando a 100 MHz Mas com 4 transferências por ciclo Equivale a um barramento de 400 MHz Porém o barramento é equivalente à velocidade do acesso à memória RAM Rapid Execution Engine • P3 possui (1) ALU (1) GLU e (1) ALU complexa • P4 reforço nas unidades de inteiros do processador. • Possui 5 unidades de processamento de inteiros : • 2 ALUs processam as instruções mais simples • 2 GLUs encarregadas de ler e gravar dados • 1 ALU encarregada de decodificar e processar as instruções complexas (2 ALUs em || na freq. do nucleo, teoricamente o dobro de freq.) Microprocessadores MIB Apesar das 2 ALUs instr. simples serem mais rápidas, (compensando a perda de desempenho dos 20 estágios de Pipeline) ALU de instr. complexas não teve evolução. Usando 20 estágios de Pipeline tornou-se mais lenta que a do P3. SSE2 ("Double Precision Streaming SIMD Extensions“) • São 144 novas instruções de ponto flutuante de dupla precisão. Mesma função das SSE do PIII e do 3D-Now (Athlon) : “Melhorar o desempenho do processador em aplicativos de ponto flutuante” • As instruções do P4 são muito mais poderosas que os conjuntos anteriores • Pode literalmente salvar a pátria do Pentium 4 (caso realmente um grande número de aplicativos sejam bem otimizados para as novas instruções)