Arquiteturas de Computadores
Programa de Pós-Graduação
em Ciência da Computação
Norian Marranghello – Março/Junho de 2006
Norian Marranghello – 2006 – Arquiteturas de Computadores
Plano da aula
§
Final da revisão
§
Histórico
§
Classificação de Arquiteturas
§
Arquitetura do Conjunto de Instruções
Norian Marranghello – 2006 – Arquiteturas de Computadores
Histórico
§
Quatro gerações
§
Primórdios: até os anos trinta
§
Babilônia
§
Charles Babbage
§
Ada Augusta Byron
§
Konrad Zuze
§
ABC
Norian Marranghello – 2006 – Arquiteturas de Computadores
Histórico
nPrimeira geração:
n1940 - 1953
nEletrônicos – válvulas
n1944: memória = discos
n1945: armazenamento de programas
n1946: EDVAC
n1947: transistor
n1950: programação simbólica
Norian Marranghello – 2006 – Arquiteturas de Computadores
Histórico
nSegunda geração:
n1954 – 1963
nComputadores transistorizados
n1954: FORmula TRANslation 0
n1958:
nALGOrithmic Language nCircuito Integradon
1960: Common Business Oriented Language
n1963: CMOS
Histórico
n
Terceira geração:
n
1964 - 1975
n
1965: CIs - SSI e MSI
n1968: Memórias de estado sólido
n
Aprimoramento das linguagens de alto nível
n1970: Processadores vetoriais e matriciais
n1971: i4004
Norian Marranghello – 2006 – Arquiteturas de Computadores
Histórico
n
Quarta geração:
n
1976 até hoje?
n
CIs LSI e VLSI: lógica e memória
nCompiladores vetorizantes
nS.O.
nCompartilhamento de tempo nMemórias virtuais
n
Supercomputadores e PCs
Norian Marranghello – 2006 – Arquiteturas de Computadores
Histórico
n
Atualidade:
n
Quinta geração?
n
CIs ULSI – micro ou nanotecnologia?
nTERAFLOPS ou processamento inteligente?
nProcessamento paralelo
n
Novas tecnologias
nProcessamento óptico/quântico nMáquinas de inspiração biológica
Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação
n
Flynn – proposta em 1966
n Michael J. Flynn, “Very high speed computing systems” Proc.
of the IEEE, 54(12)1901-1909, December 1966.
n
Feng - proposta em 1972
nTse-yun Feng, “An overview of parallel processing systems”,
Westcom Technical Papers, Session I –pp.1-2, 1972.
n
Händler – proposta em 1977
nWolfgang Händler, The impact of classification schemes on
computer architecture”, Proc. of the International Conference on Parallel Processing, pp.7-15, 1977.
Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Händler
n
Estrutural ...
n
T(C) = < K x K’, D x D’, W x W’>
n K à número de processadores
n K’ à número de processadores cascateáveis n D à número de ULAs controladas por processador n D’ à número de ULAs cascateáveis
n W à tamanho da palavra da ULA n W’ à número de estágios nas ULAs
Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Händler
n
Sistema A
n Processador Central (PC) n Processador de E/S (ES)
n T(A) = T(PC) x T(ES) = <espec. do PC> x <espec. do ES>
n
Sistema B
n Configuração alfa (α) n Configuração beta (β) n T(B) = T(α) + T(β) = <espec. de α> + <espec. de β> nT(A) = <T(
α
) + T(
β
)> x <T(ES)>
Classificação de Händler
nExemplo 1:
n T(PC) = <1x1, 1x1, 64x10> = <1, 1, 64x10> n T(ES) = <10x1, 1x1, 16x1> = <10, 1, 16> n T(C) = T(PC) x T(ES) = <1, 1, 64x10> x <10, 1, 16>Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Händler
nExemplo 2:
n T(C1) = <16, 1, 32> n T(C2) = <1x16, 1, 32> n T(C3) = <1, 16, 32> n T(C) = <16, 1, 32> + <1x16, 1, 32> + <1, 16, 32>Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Feng
n
Grau de paralelismo
n n à tamanho de palavra n m à fatia de bits n P(n,m) à grau de paralelismo
nWSBS (processamento serial por bit): n=m=1 nWSBP (processamento por fatia de bits): n=1, m>1 nWPBS (processamento por fatia de palavras): n>1, m=1 nWPBP (processamento paralelo): n>1, m>1
Norian Marranghello – 2006 – Arquiteturas de Computadores
16
Classificação de Feng
m
n
1 1 32 64 32 WSBS WPBS WSBP WPBPNorian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Flynn
n
Fluxos de dados x Fluxos de Instruções
UP
UC
MP
FI
FD
Unidade de Processamento Unidade de Controle Memória Principal Fluxo de Instruções Fluxo de DadosNorian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Flynn
UP
UC
FI
FD
MP
FI
SISD
Classificação de Flynn
SIMD
FI
UP
nUC
MP
nFI
FD
nUP
2MP
2FD
2UP
1MP
1FD
1Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Flynn
MISD
UP
nUC
1MP
nFI
1UP
2MP
2UP
1MP
1FD
UC
2UC
nFI
nFI
2FD
Norian Marranghello – 2006 – Arquiteturas de Computadores
Classificação de Flynn
MIMD
UP
nUC
1MP
nFI
1UP
2MP
2UP
1MP
1FD
1UC
2UC
nFI
nFI
2FD
2FD
nNorian Marranghello – 2006 – Arquiteturas de Computadores
Intervalo
Norian Marranghello – 2006 – Arquiteturas de Computadores
Arquitetura do conjunto de instruções
n
Ciclo de máquina
n
Paralelismo: estrutural versus temporal
n
Introdução ao pipelining
Norian Marranghello – 2006 – Arquiteturas de Computadores
Ciclo de máquina
Sinais de controle ativos Dados na unidade de execução Resultados enviados ao destino Carga dos registradores de destino Pulso de RelógioCiclo de máquina
R
1
Circuito CombinatórioR
2
E(R1) S(R1) E(R2) S(R2) Relógio Nível Borda φ1 φ2 Ciclo P tw Pmax tg tdNorian Marranghello – 2006 – Arquiteturas de Computadores
Ciclo de máquina
∆
t = P
max+ SC
sincSC
sinc= t
g+ t
d+ t
wSC
sinc= t
g+ t
dNorian Marranghello – 2006 – Arquiteturas de Computadores
Paralelismo
n
Estrutural
n Combina diversas máquinas em arranjos, para resolver certos problemas com mais eficiência.
n
Temporal
n Aproveita a ociosidade dos circuitos para aumentar a vazão da máquina.
Norian Marranghello – 2006 – Arquiteturas de Computadores
Pipeline
BI DI BO Ex AR BI DI BO Ex AR Ciclo da instrução BI DI BO Ex AR BI DI BO Ex AR BI DI BO Ex AR BI DI BO Ex AR BI DI BO Ex ARNorian Marranghello – 2006 – Arquiteturas de Computadores
Pipeline
BI DI BO Ex AR
BI DI BO Ex AR
Norian Marranghello – 2006 – Arquiteturas de Computadores
Pipeline
nT
p= (1+
κ
) T
s/NE + SC
nD = 1 / [1 + (NE – 1) i]
nG = D / T
pPipeline
NEot = (1 - i) (1 + κ) Tp i SCNorian Marranghello – 2006 – Arquiteturas de Computadores
Fim!
n