Upload
buituyen
View
224
Download
1
Embed Size (px)
Citation preview
Unidade Central de Processamento
• Evolução dos processadores
– Arquitetura aberta do PC;
– Placa-mãe “planar”
– End: segmento/deslocamento – Mem. Plana;
– Multitarefa e memória virtual;
– Modos de operação real, protegido, 8086 virtual
– Barramento frontal;
– Linha de montagem / Exec. Especulativa
(do 4004 ao 486) Arquitetura de Computadores Prof. Benito Piropo Da-Rin
A evolução das UCPs:
O que importa em uma UCP? Data do lançamento;
Características (largura e número) dos registradores ;
Frequência de operação da UCP;
Características (largura e frequência de operação) do barramento frontal (FSB) de dados (taxa de transferência de dados) e endereços (capacidade de endereçamento);
Características adicionais: • Funcionalidades (memória virtual, escalaridade, etc.)
• Número de transistores;
• Espessura da camada de silício;
• Número de núcleos, número e capacidade do cache interno, etc.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Por que acompanhar a linha Intel ?
A Intel (sigla de Integrated Electronics) fabricou o primeiro microprocessador (i4004) em 1971 e desde então vem incorporando novas funcionalidades à sua linha de UCPs, sempre acompanhando a evolução da tecnologia. Ao seguir a evolução da linha Intel estaremos acompanhando passo a passo a evolução da tecnologia de fabricação de microprocessadores.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 4004, novembro de 1971: Registradores de 4 bits (16
caracteres: 0 - 9 e operadores)
Barramento interno de 4 bits;
Memória RAM (endereçável): 640 posições de 1 byte;
Memória ROM: 4 KB
2.300 transistores;
Frequência: 108 KHz;
Camada de silício: 10 micra.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 8008 – Abril de 1972: Registradores de 8 bits (dois
4004 justapostos);
Barramento interno 8 bits (multiplexado);
Memória RAM (endereçável): 16 KB;
3.500 transistores;
Frequência: 200 a 500 KHz;
Camada de silício: 10 micra.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 8080 – Abril de 1974: o primeiro “de 8 bits”
7 Registradores de 8 bits (desde o projeto);
Barramento 8 bits (dados) / 16 bits (endereços);
Memória RAM (endereçável): 64 KB;
6.000 transistores;
Frequência: 2 a 3 MHz;
Camada de Si: 6 micra;
Primeiro a ser usado como UCP de um computador “de 8 bits” (Altair) e primeiro processador “conhecido”.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Altair 8800 – Janeiro/ 1975: Fabricante (do “kit”): Micro
Instrumentation and Telemetry (MITS).
Preço: kit ; US$ 400; montado: US$ 600;
Processador: Intel 8080 2 MHz; MP: 256 B (expansível até 64 K); Armazenamento: Fita (magnética
ou perfurada); Opcional: disco flexível 5,25” ou 8”;
Saídas: Paralela e Serial, opcionais; Sem vídeo..
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 8086 – junho de 1978: Desempenho 10 vezes superior ao do
8080;
8 registradores de 16 bits;
Barramento FSB dados: 16 bits/8bits; endereços: 20 bits;
Endereçamento: segmento/deslocamento;
Memória RAM endereçável: 1 MB;
29.000 transistores;
Freq: 4,77 / 8 / 10 MHz;
Camada de Si: 3 micra;
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Unidade Central de Processamento
O início da “linha PC” IBM Personal Computer (PC) – 12 de agosto de 1981 Objetivo: 1) evitar perda de mercado (repetindo caso dos minis, para
DEC e outras) e 2) funcionar como “terminal inteligente” de máquinas de grande porte.
Por razões legais (ação anti-monopólio) a IBM usou componentes “de prateleira”. Por isso: – Adoção do Intel 8088 (barramento de dados de 8 bits) – Arquitetura aberta.
Consequência (indesejada pela IBM, excelente para usuários): ensejou a fabricação dos clones e tornou-se padrão de mercado.
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
O sucesso dos PCs: Previsão inicial da IBM: vender 25.000 máquinas.
Mercado: • 1 bilhão de máquinas em uso em 2008.
• Previsão: dois bilhões em 2015
Algumas consequências: • Levou a Intel a fazer parte das “Fortune 500”;
• Seu sistema operacional MS-DOS (derivado do QDOS desenvolvido por Tim Patterson e comprado da Seattle Computers por 50 mil dólares) transformou a MS na maior empresa de software do mundo;
• Levou os computadores para todas as empresas e quase todos os domicílios;
• Deu origem à informática moderna (e a nosso curso...)
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
8086/88 – IBM PC:
Conceitos:
• “Computador pessoal”;
• Arquitetura aberta;
• Barramento de E/S provido de conectores de uso geral (“expansion slots”);
• Endereçamento por segmento / deslocamento;
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 80286 – fevereiro de 1982: Primeiro desenvolvido para micros
pessoais;
8 registradores de 16 bits;
Barramento FSB dados: 16 bits; endereços: 24 bits;
Endereçamento: segmento/deslocamento;
Memória RAM endereçável: 16 MB;
Freq: 6 / 10 / 12 MHz (AMD: 20 MHz);
134.000 transistores;
Camada de Si: 1,5 micron;
Pioneiro da “compatibilidade retroativa”
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
O “286”: Versão muito aperfeiçoada e avançada do 8086;
Circuito interno reprojetado (a versão de 6 MHz tinha um desempenho 5 X melhor que a de 5 MHz do 8086);
Foi a UCP adotada pela IBM para o “AT” em 1984;
Foi o primeiro microprocessador a ter um “chipset” (conjunto de poucos CIs que substituem dúzias de outros componentes auxiliares);
Barramento Frontal (FSB) desvinculado do de E/S;
Pioneiro na tecnologia de: • Multitarefa / Proteção de memória;
• Uso de memória virtual.
• Barramento frontal (FSB).
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Multitarefa / Modo protegido: Multitarefa: simulação da execução simultânea
de programas distribuindo certo número de ciclos de máquina sucessivamente a cada um deles (cada um recebia uma “fatia de tempo”, ou time slice);
Cada programa tinha direito a acessar um trecho de memória para seu uso. Para evitar interferência no trecho de memória dedicado a outro programa, a UCP rodava no “modo protegido”.
Para garantir compatibilidade com os programas desenvolvidos para o DOS (do 8086) a UCP inicializava no “modo real”, emulando um 8086 com todas as suas limitações.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Memória virtual: Multitarefa -> Mais programas -> Mais memória RAM;
Solução: simular memória primária (RAM, cara) na memória secundária (disco rígido, mais barata) armazenando trechos da MP em “arquivo de troca” (swap file) no disco.
No 286 aumenta o endereçamento: 16 MB -> 1 GB
PORÉM: como a UCP não pode acessar disco diretamente e como instruções só podem ser lidas na MP, caso seja necessário acessar um dos endereços cujo conteúdo está no disco, é preciso trocar conteúdo de memória com disco;
Consequência: lentidão.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Memória Virtual:
Troca de conteúdo entre MP e disco rígido
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
O 80286 e o IBM AT:
CONCEITOS:
• Multitarefa: fatia de tempo (“time slice”), modos de operação: real e protegido;
• Memória Virtual: Arquivo de troca (“Swap File”);
• Barramento Frontal (FSB);
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Problemas do 80286... O 80286 iniciava no modo real e passava para o protegido
mediante a execução de uma instrução; mas não havia instrução para retornar do modo protegido ao real.
Multitarefa exigia colaboração do sistema operacional;
PORTANTO: somente se podia tirar todo o proveito do 286 (multitarefa, modo protegido, memória virtual e 16 MB de RAM) rodando o OS/2, desenvolvido para ele.
OS/2 só rodava um programa DOS de cada vez (na “compatibility box”) e havia poucos programas OS/2;
Em 84/85 o mercado já era dominado pelo DOS...
RESULTADO: a maioria dos 286 rodava como 8086;
SOLUÇÃO: 80386
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Intel 80386 – junho de 1985: (SX: 06/1988 ; SL: 10/1990)
Primeiro desenvolvido com visão de mercado de micros;
Registradores de 32 bits (primeiro “de 32 bits”); Barramento FSB dados: 32 bits; endereços: 32
bits; Endereçamento: direto (“memória plana”); Memória RAM endereçável: 4 GB; Virtual: 64
TB; Freq: 16 / 20 / 25 / 33 MHz (AMD: 40 MHz); 275.000 transistores; Camada de Si: 1,5 micron; Modos: real, protegido, 8086 virtual; Instrução para retornar ao modo real;
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i386 - características. “Modo 8086 virtual”: “máquinas virtuais” com acesso
protegido a 1 MB de memória carregavam cópia do DOS, código e dados de um programa. Resultado prático: multitarefa de programas DOS.
Arquitetura “de 32 bits”: modelo de programação que perdurou por 20 anos (atravessou a “era Pentium”)
Centenas de vezes mais rápido que o 8088
Primeiro 386: Compaq (1987) (IBM: PS/2 -> desastre)
Primeiro a ter cache interno (16 bytes, só instruções)
386 SX: barramento dados MP 16 bits (facilitar vendas)
(DX: Double-word eXternal; SX: Single-word eXternal)
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i386:
CONCEITOS:
• “Modo 8086 virtual”: “máquinas virtuais”;
• Arquitetura de 32 bits: memória plana (não mais segmento/deslocamento);
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i80486 – abril de 1989: (SX: 04/91; DX2: 03/92; DX4: 07/94) Primeiro a incorporar coprocessador
matemático e cache interno de 8 KB; Registradores, FSB - dados e endereços: 32 bits; Endereçamento: direto (“memória plana”); Memória RAM endereçável: 4 GB; Virtual: 64
TB; Frequências: 25/40/50 (SX: 33; DX2: 40/66;
DX4: 75/100) MHz; 1,2 milhões de transistores; Camada de Si: 1 micron; Modos: real, protegido, 8086 virtual; Processamento em “pipeline”. Dissipador de calor (passivo)
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Características do i386 x i486:
Onde estão as diferenças?
• Além de incluir cache interno de 8 KB e coprocessador matemático, todo o hardware do processador foi otimizado e ele adotou a arquitetura em pipeline.
• Por isso, ainda que operando na mesma frequência, o i486 era significativamente mais rápido que o i386.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Característica i386 i486
Registradores 32 bits 32 bits
Endereçamento Direto Direto
Memória RAM/Virtual 4 GB / 64 TB 4 GB / 64 TB
Modos Real/Protegido/8086 Virtual Real/Protegido/8086 Virtual
Conjunto de instruções Praticamente idênticos (486 tinha 6 instruções a mais)
i486 - Pipelining (Linha de Montagem). Na arquitetura convencional: a instrução é lida,
decodificada, executada (o que pode exigir ler ou escrever na MP) e o resultado é escrito em um Registrador, passo a passo.
Como estas tarefas são independentes, cada uma delas é executada em uma seção do microprocessador. Então por que não começar a processar a próxima instrução antes de terminar a anterior, como em uma linha de montagem?
A divisão do hardware do processador em seções (ou “estágios”) e a execução simultânea de instruções sucessivas em diferentes estágios chama-se “Linha de montagem” ou “PIPELINING” (expressão do inglês para “encanamento”)
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i486 - Pipelining (Linha de Montagem).
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i486 - Pipelining (Linha de Montagem) Divisão do hardware interno do processador em seções
independentes que podem operar simultaneamente.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Execução especulativa. Quase todo programa depende da escolha da próxima
instrução baseada em decisões lógicas (comparações).
Em um pipeline, que instrução escolher se o resultado da comparação ainda não estiver disponível?
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Execução especulativa. Quase todo programa depende da escolha da próxima
instrução baseada em decisões lógicas (comparações).
Em um pipeline, que instrução escolher se o resultado da comparação ainda não estiver disponível?
Solução: “CHUTAR” um resultado e seguir adiante...
• Se acertou, ganha-se tempo.
• Se errou, descarta-se os resultados intermediários e opera-se com o resultado correto (e nada se perde, já que a alternativa seria mesmo esperar o resultado…)
O nome técnico disto é Execução Especulativa ou Predição de Ramo (“branch prediction”)
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
Desvinculação das frequências de operação de UCP e barramento. No início dos anos 90 a tecnologia de fabricação de
processadores produzia UCPs cada vez mais rápidas.
PORÉM: a tecnologia de fabricação de memórias não evoluíu com a mesma rapidez e os tempos de acesso à memória não se reduziam na mesma proporção.
SOLUÇÃO: Desvincular frequencias da UCP e do barramento FSB • i486 DX2: f(CPU) = 2 x f(barramento) – 40/20 ; 66/33
• i486 DX”4: f(CPU) = 3 x f(barramento) – 75/25 ; 100/33
Esta tendência perdura até os dias de hoje.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin
i486: CONCEITOS:
• Cache interno ou cache de nível um ou cache L1;
• Coprocessador matemático incorporado;
• Arquitetura em linha de montagem (“pipelining”): execução especulativa ou predição de ramo (“branch prediction”);
• Desvinculação da frequência de processamento interna da UCP da frequência do barramento frontal;
• Início do uso do dissipador de calor passivo.
Unidade Central de Processamento
Arquitetura de Computadores Prof. Benito Piropo Da-Rin