Download - F oc aula_04
1
A Organização da Unidade Central de Processamento
OC_Aula_04
. As unidades físicas
. O ciclo da informação(fluxo)
. A tecnologia
2
Organização de Computadores
U
nida
de d
e C
ontr
ole
Barram. de Endereços
Barram. de Dados
Organização da Unidade de Processamento Central
Diagrama funcional
ACC
REGs
Ba
rra
me
nto
In
tern
o
ULA
Barramento de Controle
UC
Decodificador de Instruções
IR
REM
RDM
Clock
Memória Principal
PC
3
Organização de Computadores
Execução de um programaCiclo de execução de uma instrução Início
Busca da Instrução
Execução da Instrução
Parada
4
Organização de ComputadoresParalelismo no Nível das Instruções
Conceito– Arquitetos sempre desafiando para melhorar a
performance das máquinas que eles projetam.– Uma delas: fazer com que os chips rodem cada vez
mais rápido, aumentando a velocidade do clock.– As limitações tecnológicas, em parte, impedem este
avanço.– Projetistas utilizam o paralelismo, que consiste em
executar duas ou mais operações ao mesmo tempo.– O paralelismo se manifesta de duas maneiras:
No nível das instruçõesNo nível do processador
5
Organização de ComputadoresParalelismo no Nível das Instruções
Conceito– No nível da instrução - o paralelismo é
explorado dentro das instruções individuais, de maneira a conseguir que a máquina execute mais instruções individuais, de maneira a conseguir que a máquina execute mais instruções por segundo.
– No nível do processador - vários processadores trabalham juntos na solução do mesmo problema.
– Cada uma das metodologias tem seus próprios méritos.
6
Organização de Computadores
Execução em PipelineConceito
cada estágio possui um componente de hardware dedicado exclusivamente a ele todos os estágios trabalham ao mesmo tempo
Latência quanto uma instrução demora para ser executada
Banda passante quantos MIPS (milhões de instruções por segundo) o processador executa
7
Organização de Computadores
Execução em PipelinePipeline de 5 estágios
Unidade de busca da Instrução
Unidade de decodificação da instrução
Unidade de busca de operando
Unidade de execução da
instrução
Unidade de escrita
E1 E2 E3 E4 E5
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
E1
E2
E3
E4
E5
1 2 3 4 5 6
...
8
Organização de Computadores
Arquiteturas SuperescalaresConceito
– Se um pipeline é bom, com certeza dois serão ainda melhor.
– É possível projetar um processador com dois pipelines.– Neste caso, uma única unidade de busca de instrução
busca pares de instruções juntas e coloca cada uma delas em seu próprio pipeline, permitindo, portanto, a execução de instruções em paralelo.
– Para que seja possível a execução em paralelo dessas instruções, não pode haver conflito pela utilização de recursos durante a execução (os registradores são um exemplo desse tipo de recurso), e, além disso, o resultado de uma das instruções não pode depender da execução da outra.
9
Organização de Computadores
Arquiteturas SuperescalaresConceito
– O compilador precisa garantir que essas situações não venham a ocorrer (ou seja, o hardware não faz qualquer verificação de conflitos, dando resultados errados se as instruções executadas em paralelo não forem compatíveis), ou os conflitos são detectados e eliminados durante a execução das instruções usando um hardware específico para isso.
– Apesar das máquinas RISC já utilizarem o processamento em pipeline, a partir do 486 a Intel já passou a aplicar esta tecnologia em seus processadores.
10
Organização de Computadores
Arquiteturas SuperescalaresProcessador com dois pipelines
Unidade de busca da Instrução
Unidade de decodificação da instrução
Unidade de busca de operando
Unidade de execução da
instrução
Unidade de escrita
E1 E2 E3 E4 E5
Unidade de decodificação da instrução
Unidade de busca de operando
Unidade de execução da
instrução
Unidade de escrita
11
Organização de Computadores
Arquiteturas SuperescalaresArquitetura Superescalar
– A existência de quatro pipelines, apesar de conceituamente possível, duplica o hardware necessário à sua implementação.
– Em vez de quatro pipelines, as máquinas de alta performance usam outra metodologia.
– A idéia básica é ter um único pipeline, com diversas unidades funcionais.
– Ela traz implícito o fato de o estágio S3 poder distribuir instruções a uma velocidade considerávelmente mais alta que a capacidade do estágio S4 de executa-las.
12
Organização de Computadores
Arquiteturas SuperescalaresArquitetura Superescalar
– Se o estágio S3 distribui uma instrução a cada 10 ns, não mais que uma unidade funcional poderia estar ocupada ao mesmo tempo, impedindo portanto a implementação do processamento superescalar.
13
Organização de Computadores
Arquiteturas SuperescalaresProcessador superescalar com quatro unidades funcionais
Unidade de busca da Instrução
Unidade de decodificação da instrução
Unidade de busca de operando
ULA
Unidade de escrita
E1 E2 E3
E4
E5LOAD
STORE
Ponto flutuante
14
Organização de ComputadoresParalelismo no nível do processador
Conceito– A demanda de computadores mais rápidos parece não
ter fim.– Ex: astrônomos calculando o big-bang; economistas
calculando a economia mundial; adolescentes com jogos interativos em três dimensões, etc.
– Velocidade da luz em fios de cobre ou em fibra óptica da ordem de 20 cm/ns, uma limitação.
– O paralelismo de processador ajuda a aumentar a velocidade de execução.
– Pipelines aumentam em 5 a 10 vezes o processamento.– Para obter 50 a 100 vezes, é preciso colocar vários
processadores em paralelo.
15
Organização de ComputadoresParalelismo no nível do processador
Computadores Matriciais– A maioria dos problemas científicos trata com
matrizes ou alguma outra estrutura regular de dados.
– A regularidade e a estrutura de tais programas fazem deles candidatos potenciais a ter sua performance aumentada por meio da execução paralela.
– Há dois esquemas para implementação:– (1) máquinas projetadas com extensão de
processador– (2) máquinas paralelas.
16
Organização de Computadores
Paralelismo no nível do processador
Processadores Matriciais– Composto de um grande número de processadores
idênticos, que executam a mesma seqüência de instruções sobre diferentes conjunto de dados.
– O primeiro projeto foi o ILLIAC IV, fig. Próxima página.– O plano original era produzir uma máquina composta de
quatro quadrantes, cada um dos quais com uma estrutura de 8 x 8 elementos processador/memória.
– Cada quadrante tinha uma única unidade de controle que enviava instruções em broadcast para os processadores, instruções essas que eram executadas por todos os processadores junto de dados armazenados em sua memória local.
17
Organização de ComputadoresParalelismo no nível do processador
Computadores MatriciaisUnidade de Controle
Processador
MemóriaGradeprocessador/memória 8x8
Instruçõesenviadas
em broadcast
18
Organização de ComputadoresParalelismo no nível do processador
Processador Vertical– Se parece muito com um processador
matricial.– É muito eficiente na execução de uma
seqüência de operações em pares de elementos de dados.
– Todas as operações aritméticas são realizadas em uma única UAL, que opera em pipeline.
– A Cray produz ainda hoje computadores com processadores verticais.
19
Organização de Computadores
Computadores Vetoriais
Paralelismo no nível do processador
ULA
Registradores vetorias
20
Organização de ComputadoresParalelismo no nível do processador
Multiprocessadores– É composto de vários processadores independentes,
compartilhando a mesma memória, a exemplo de várias pessoas em uma sala de aula compartilhando o mesmo quadro-negro.
– Considerando que cada processador pode ler ou gravar em qualquer parte da memória, é necessário que as atividades dos vários processadores sejam coordenadas (por software), para evitar que a atividade de um processador interfira na atividade de outro.
– O esquema mais simples é o de barramento único com vários processadores e uma memória pendurados nele.
21
Organização de ComputadoresParalelismo no nível do processador
Multiprocessadores
Proc.1 Proc.2 Proc.3 Proc.4M
emó
riaC
omp
artil
hada
Proc.1 Proc.2 Proc.3 Proc.4
Mem
ória
Com
par
tilha
da
Mem.local Mem.local Mem.local Mem.local
22
Organização de Computadores
Paralelismo no nível do processador
Multicomputadores– Embora os sistemas Multiprocessadores, com um
pequeno número de processadores (<= 64) sejam muito fáceis de serem construídos, os sistemas com mais processadores são de difícil implementação.
– A dificuldade está na conexão do processador à memória.– Para resolver esse problema, os projetistas simplesmente
abandonaram a idéia da memória compartilhada e construíram sistemas com um grande número de computadores interconectados, sem qualquer tipo de memória comum.
– Os processadores de um sistema deste comunicam-se por meio do mecanismo de troca de mensagens, mais ou menos como no sistema de correio eletrônico.
23
Organização de ComputadoresParalelismo no nível do processador
Multicomputadores
C1
C2
C3
C4C5
24
Organização de Computadores
F I M