Arquitetura 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ções
2. Como é feita a representação de dados
(números, caracteres)
3. Mecanismos de entrada e saída
4. Formas de endereçamento da memória
5. Registradores (número e tipos)
Organização X Arquitetura
• Questão para o arquiteto do sistema
Vale 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 subconjunto (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 86
Cálculo de tempo de CPU
• Tempo 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 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á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 clocks para executar o
programa)*(Período do clock)
Ou
Tempo de CPU= IC*CPI*(período do clock)
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 =S(ICi*CPIi)*(período do clock)
Obs.:
• Período do Clock 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.).
pipeline: 20
estágios
pipeline: 10
estágios
mesma
tecnologia
A cada 18 meses
dobra a velocidade
(lei de Moore)
O aumento do
desempenho é muito
maior do que o
aumento do clock.
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 .
Download

Tempo de CPU com usuário