ARQUITETURA DE COMPUTADORES - bpiropo.com.br · Unidade Central de Processamento •Evolução dos...

32
ARQUITETURA DE COMPUTADORES Aula 09: UCP – Evolução - I Prof. Benito Piropo Da-Rin

Transcript of ARQUITETURA DE COMPUTADORES - bpiropo.com.br · Unidade Central de Processamento •Evolução dos...

ARQUITETURA DE COMPUTADORES

Aula 09: UCP – Evolução - I

Prof. Benito Piropo Da-Rin

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

ARQUITETURA DE COMPUTADORES

Aula 09: UCP – Evolução - I

Prof. Benito Piropo Da-Rin