f oc aula_04

24
1 A Organização da Unidade Central de Processamento OC_Aula_04 . As unidades físicas . O ciclo da informação(fluxo) . A tecnologia

Upload: bruna-cardoso-stanziani-luiz

Post on 25-May-2015

343 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 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

Page 2: F oc aula_04

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

Page 3: F oc aula_04

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

Page 4: F oc aula_04

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

Page 5: F oc aula_04

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.

Page 6: F oc aula_04

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

Page 7: F oc aula_04

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

...

Page 8: F oc aula_04

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.

Page 9: F oc aula_04

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.

Page 10: F oc aula_04

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

Page 11: F oc aula_04

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.

Page 12: F oc aula_04

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.

Page 13: F oc aula_04

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

Page 14: F oc aula_04

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.

Page 15: F oc aula_04

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.

Page 16: F oc aula_04

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.

Page 17: F oc aula_04

17

Organização de ComputadoresParalelismo no nível do processador

Computadores MatriciaisUnidade de Controle

Processador

MemóriaGradeprocessador/memória 8x8

Instruçõesenviadas

em broadcast

Page 18: F oc aula_04

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.

Page 19: F oc aula_04

19

Organização de Computadores

Computadores Vetoriais

Paralelismo no nível do processador

ULA

Registradores vetorias

Page 20: F oc aula_04

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.

Page 21: F oc aula_04

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

Page 22: F oc aula_04

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.

Page 23: F oc aula_04

23

Organização de ComputadoresParalelismo no nível do processador

Multicomputadores

C1

C2

C3

C4C5

Page 24: F oc aula_04

24

Organização de Computadores

F I M