arquitetura de computadores parte ii - histórico

13
Arquitetura de Arquitetura de Computadores Computadores Parte II - Histórico

Upload: internet

Post on 17-Apr-2015

110 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Arquitetura de Computadores Parte II - Histórico

Arquitetura de ComputadoresArquitetura de Computadores

Parte II - Histórico

Page 2: Arquitetura de Computadores Parte II - Histórico

Família Intel P5 e P6

Page 3: Arquitetura de Computadores Parte II - Histórico

Arquitetura de Computadores

Arquitetura refere-se aos atributos de um sistema que são visíveis para o

programador. Exemplos de atributos:1. Conjunto de instruções2. Como é feita a representação de dados

(números, caracteres)3. Mecanismos de entrada e saída4. Formas de endereçamento da memória5. Registradores (número e tipos)

Page 4: Arquitetura de Computadores Parte II - Histórico

Organização X Arquitetura

• Questão para o arquiteto do sistemaVale a pena ter uma instrução que faça multiplicação?

• Questão p/ o projetista da microarquitetura (o que é visto em organização):Como vou implementar a multiplicação (vários passos, pipeline,..)

O conceito de arquitetura foi introduzido pelo IBM/360 (1964). A IBM tinha duas máquinas principais:

7094: mastigador de números voltado para aplicações científicas que usava aritmética binária e trabalhava com dados de 36 bits;1401: processador de E/S voltado para aplicações comerciais que usava aritmética decimal e trabalhava com dados de tamanho variável.

Page 5: Arquitetura de Computadores Parte II - Histórico

Em 1964 a IBM lançou o 360 ou a família 360. Um conjunto de computadores com preço e características diferentes mas que tem a mesma arquitetura (assembly, representação de dados, etc.). Entre elas variavam:

• O número de portas de E/S• Capacidade de memória• Velocidade• Custos (certamente)

– O sistema operacional era idêntico– As máquinas visavam aplicações científicas e comerciais– Os modelos mais sofisticados tinham um conjunto

completo de instruções; as mais sofisticadas, apenas executavam um sub-conjunto (a migração era possível entre as máquinas simples para as sofisticadas)

– Estas máquinas não eram compatíveis com os modelos antigos (7094 e 1401).

– Modelos 30, 40, 50, 65 e 75.A DEC segue o exemplo e lança sua família (PDP-8).

Page 6: Arquitetura de Computadores Parte II - Histórico

Exemplo conhecido de arquitetura

• Arquitetura do 86 (início com o 8086 em 1978): segue o 8088, 80286, 80386, 80486, Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium III e Pentium IV

• De um processador para outro foram introduzidas novas instruções (Pentium executa todos programas do 8086, mas o inverso não é verdade)

Família 86Família 86

Page 7: Arquitetura de Computadores Parte II - Histórico

Cálculo de tempo de CPU

• Tempo de respostaTempo de resposta: o tempo completo para terminar a execução de um programa– Em muitas aplicações, o que determina o tempo

de resposta é o tempo gasto com E/S• Tempo de CPUTempo de CPU: tempo do programa na CPU

(não considerando E/S)– O tempo de CPU inclui o tempo com o usuário e o

tempo com o Sistema Operacional (S.O.);• Tempo de CPU com usuárioTempo de CPU com usuário: tempo que a CPU

gasta no programa propriamente (não considerando S.0.)(consideramos este tempo nos próximos slides).

Page 8: Arquitetura de Computadores Parte II - Histórico

Equações para cálculo de tempo de CPU

Tempo de CPU= (número de Tempo de CPU= (número de clocksclocks para executar o para executar o programa)*(Período do programa)*(Período do clockclock))

OuOuTempo de CPU= IC*CPI*(período do Tempo de CPU= IC*CPI*(período do clockclock))

onde IC (instruction count) é o número total de instruções do programa e CPI é o número de clocks por instrução.

• Em muitas máquinas o número de clocks por instrução difere de instrução para instrução!!

– Neste caso pode-se utilizar um valor médio determinado na execução de um ou mais programas testes.

clocks p/ instrução = CPI = (número de clocks da exec.)T/ICT

onde (número de clocks da exec.)T é o numero total de clocks gastos na execução dos programas testes; ICT é o número total de instruções dos programas testes.

Page 9: Arquitetura de Computadores Parte II - Histórico

• Algumas vezes conhecemos o CPI para classes de instruções. Assim considere– CPIi = número médio de clocks para a

instrução da classe i;

– ICi = o número de instruções da classe i presentes no programa.

O tempo de execução será:

Tempo de CPU =Tempo de CPU =ICICii**CPICPIii))**(período do (período do clockclock))

Page 10: Arquitetura de Computadores Parte II - Histórico

Obs.:• Período do Período do ClockClock depende

– da tecnologia (se o computador é construído com tecnologia mais moderna (transistores menores), os tempos de atraso dos blocos são menores é pode ser mais rápido);

– da microarquitetura e organização do computador (vimos duas possíveis implementações para MIPs, com um clock e com pipeline. Nesse caso, com mesmo valores de atrasos em blocos obtemos um clock de 27,5ns e 10ns);

– Da arquitetura pois a microarquitetura depende da arquitetura (conjunto de instruções, número de registradores, etc.).

Page 11: Arquitetura de Computadores Parte II - Histórico

mesma tecnologi

a

pipeline: 10

estágios

pipeline: 20

estágios

Page 12: Arquitetura de Computadores Parte II - Histórico

O aumento do desempenho é

muito maior do que o aumento do

clock.

A cada 18 meses dobra a

velocidade (lei de Moore)

Page 13: Arquitetura de Computadores Parte II - Histórico

Glossário• SPEC Int - medida usada para avaliar o desempenho dos equipamentos em

operações com números inteiros, as mais utilizadas pelos aplicativos convencionais. Substitui o antigo IPS ou MIPS. SPEC, SPECint, SPECfp e SPECrate são marcas registradas da Standar Performance Evaluation Corporation. Para mais informações sobre os testes de desempenho da SPEC, visite www.spec.org .