arquitetura de computadores parte ii - histórico
TRANSCRIPT
Arquitetura de ComputadoresArquitetura de Computadores
Parte II - Histórico
Família Intel P5 e P6
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)
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.
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).
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
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).
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.
• 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))
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.).
mesma tecnologi
a
pipeline: 10
estágios
pipeline: 20
estágios
O aumento do desempenho é
muito maior do que o aumento do
clock.
A cada 18 meses dobra a
velocidade (lei de Moore)
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 .