disciplina de arquitetura de computadoreswiki.icmc.usp.br/images/c/c6/ssc0510-aula09.pdf · usp -...

16
1 USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório Set. 2009 1 Aula 09 Aula 09 Prof. Fernando Santos Prof. Fernando Santos Osório Osório Email: Email: fosorio fosorio [at] { [at] { icmc icmc. . usp usp. . br br , , gmail gmail. com } . com } Página Página Pessoal Pessoal: http://www.icmc.usp.br/~fosorio/ : http://www.icmc.usp.br/~fosorio/ Estagiário Estagiário PAE PAE Maurício Maurício Dias Dias - Email: acdias29 [at] yahoo.com.br Email: acdias29 [at] yahoo.com.br Material on Material on-line: COTEIA line: COTEIA - http://coteia.icmc.usp.br http://coteia.icmc.usp.br USP - ICMC - SSC SSC 0510 - Informática - 2o. Semestre 2010 Disciplina de Arquitetura de Computadores USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório Set. 2009 2 Aula 06 - Tópicos Abordados Conteúdos Abordados: 1. CPU: Técnicas de Otimização > Técnicas de Pipeline > Pré-Fetch de Instrução 2. Memória - Organização da Memória > Hierarquia de Memória > Registradores > Memória Cache > Memória Principal > Memória Secundária > Memória Virtual 3. Entrada e Saída > Bancos de Memória de I/O > Barramentos e DMA > E/S por Polling e por Interrupção

Upload: others

Post on 09-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

1

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

1Aula 09Aula 09

Prof. Fernando Santos Prof. Fernando Santos OsórioOsório

Email: Email: fosoriofosorio [at] { [at] { icmcicmc. . uspusp. . brbr , , gmailgmail. com }. com }

PáginaPágina PessoalPessoal: http://www.icmc.usp.br/~fosorio/: http://www.icmc.usp.br/~fosorio/

EstagiárioEstagiário PAE PAE MaurícioMaurício Dias Dias -- Email: acdias29 [at] yahoo.com.brEmail: acdias29 [at] yahoo.com.br

Material onMaterial on--line: COTEIA line: COTEIA -- http://coteia.icmc.usp.brhttp://coteia.icmc.usp.br

USP - ICMC - SSC SSC 0510 - Informática - 2o. Semestre 2010

Disciplina de

Arquitetura de Computadores

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

2

Aula 06 - Tópicos Abordados

Conteúdos Abordados:

1. CPU: Técnicas de Otimização > Técnicas de Pipeline> Pré-Fetch de Instrução

2. Memória - Organização da Memória> Hierarquia de Memória> Registradores> Memória Cache> Memória Principal> Memória Secundária> Memória Virtual

3. Entrada e Saída> Bancos de Memória de I/O> Barramentos e DMA> E/S por Polling e por Interrupção

Page 2: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

2

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

3

1. CPU: Técnicas de Otimização

CPU: Otimizações

Memória:Registradores x Memória Principal x Memória Secundária(Interno a CPU) (RAM/ROM) (Disco / Fita)

Intruções / Execução:- Pipeline de Execução- Conjunto amplo de Registradores Internos- Cache On Board- Cache On board: L1 & L2- Pré-Carga (Pre-Fetch) e Predição de Desvios (Branch prediction)- Análise de Fluxo de Execução (Data flow analysis)- Execução Especulativa (Speculative execution)

E/S:- Interrupções- DMA (Direct Memory Access)

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

4

1. CPU: Técnicas de Otimização

CPU: Otimizações

Intruções / Execução:- Pipeline de Execução - Explorando o paralelismo na execução

Neander: Instrução LDA (carrega acumulador)Simbólico: LDA end

RT: AC ←←←← MEM(end)

Passos no nível RT:

Busca: REM←←←← PC

Read; PC ←←←← PC + 1

RI ←←←← RDM

Execução: REM←←←← PC

Read; PC ←←←← PC + 1

REM←←←← RDM

Read

AC ←←←← RDM; atualiza N e Z

Busca da Instrução

Incrementa o PC

Page 3: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

3

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

5

1. CPU: Técnicas de Otimização

CPU: Otimizações

Intruções / Execução:- Pipeline de Execução - Explorando o paralelismo na execução

Paralelismo entre etapas da execução de uma instrução

> Busca da Instrução

> Incrementa o PC

> Busca do Operando

> Incrementa o PC

> Armazena o Resultado

> Decodifica Instrução

> Executa Instrução (ULA, E/S, ...)

> Busca da próxima instrução

Registrador

Memória

Cache

Pipeline de Execução

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

6

1. CPU: Técnicas de Otimização

Pipeline

Ciclos de Operação da CPU

Estágios do Pipeline

Pre-Fetch

Previsão de Desvio

Material complementar

William Stallings

Computer Organization and Architecture (Book)

Chapter 12 [Trad. E.Simões / F.Osório]

Page 4: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

4

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

7

2. Memória: Organização da Memória

Hierarquia de Memórias

CPU - Registradores

CPU - Cache (L1, L2, ...)

Memória Principal

[Memória Virtual]

Memória Secundária

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

8

Performance

� Tempo de Acesso / Access time– Tempo entre apresentar o endereço e obter o dado válido.

� Ciclo de Memória / Memory Cycle time– Tempo que pode ser necessário para a memória se "recuperar" antes de um próximo acesso.

– Tempo de ciclo = access + recovery

� Taxa de Transferência / Transfer Rate– Taxa na qual os dados são movidos.

2. Memória: Organização da Memória

Page 5: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

5

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

9

Tipos Físicos de Memórias

� Semicondutor– RAM, ROM, Flash

� Magnética– Disco e Fita

� Ótica– CD & DVD

� Outros– Bubble memory

– Holográfica

2. Memória: Organização da Memória

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

10

Memória RAM e ROM

2. Memória: Organização da Memória

ZX SpectrumZ80

Page 6: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

6

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

11

Características Físicas

� Decaimento (Decay)

� Volatilidade (Power off)

� Gravável (Erasable)

� Consumo de energia

� Velocidade de acesso

� Capacidade de armazenamento

2. Memória: Organização da Memória

DRAM

SRAM

ROM

PROM

FLASH

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

12

DRAM + Refresh + I/O (Video)

2. Memória: Organização da Memória

ZX SpectrumZ80

http://www.1000bit.net/support/manuali/zxspectrum/sm/section1.html

Page 7: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

7

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

13

DRAM + Refresh + I/O (Video)

2. Memória: Organização da Memória

ZX SpectrumZ80

Dynamic Memory RefreshThe CPU incorporates built-in dynamic RAM refresh circuitry. As part of the instruction

OP code fetch cycle, the CPU performs a memory request after first placing the refresh address

on the lower eight bits of the address bus. At the end of the cycle the address is incremented

so that over 255 fetch cycles, each row of the dynamic RAM is refreshed.

This mechanism only applies to the optional 32k expansion RAM in the the 48k Spectrum.

An alternative refresh method is adapted for the standard 16k RAM.

MEMORY ORGANISATIONIn the standard 16k Spectrum there are 32k bytes of addressable memory equally divided

between ROM and RAM.

The lower 16k bytes of memory (addresses 0000 - 3FFF) are implemented in a ROM (IC5)

which holds the monitor program. This program is a complex Z80 machine code program divided

broadly into three parts one each covering the input/output routines, the BASIC interpreter and

expression handling.

The upper 16 bytes of memory (addresses 4000 - 7FFF) are implemented using eight 16k bit

dynamic RAMs (IC6-IC13). Approximately half of this space is available to the user for

writing BASIC or machine code programs.

The remainder is used to hold the system variables including 6k bytes reserved for the

memory mapped display area.

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

14

DRAM + Refresh + I/O (Video)

2. Memória: Organização da Memória

ZX SpectrumZ80

Page 8: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

8

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

15

Organização

� Arranjo físico dos bits em palavras

� Nem sempre é óbvia

e.g. memória entrelaçada (interleaved)

páginas de memória

memória em planos de bits (mk x nbits)

2. Memória: Organização da Memória

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

16

Lista de Hierarquia

� Registradores

� Cache L1

� Cache L2

� Memória principal

� Cache de Disco

� Disco

� Ótica

� Fita

2. Memória: Organização da Memória

Page 9: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

9

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

17

Cache

� Pequena quantidade de memória mais rápida

� Se localiza entre a CPU e a Memória Principal

� Pode fazer parte do chip da CPU ou de um módulo

2. Memória: Organização da Memória

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

18

Operação do Cache – Visão Geral

� CPU requer o conteúdo de uma posição de memória

� Verifica se o dado deste endereço está no cache

� Se tem no cache, localiza e lê os dados,lê da memória cache (+ rápida)

� Se não tem no cache, lê os dados (bloco de dados) da memória principal para a memória cache

� Repassa os dados do cache para a CPU

� O cache inclui tags (marcas) para identificar qual bloco da memória principal que está em qual bloco (slot) slot do cache.

2. Memória: Organização da Memória

Page 10: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

10

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

19

Projeto do Cache

� Tamanho

� Função de Mapeamento

� Algoritmo de Atualização

� Política de escrita

� Tamanho do bloco

� Número de caches

2. Memória: Organização da Memória

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

20

Size does matter (“Tamanho faz diferença”)

� Custo– O custo de ter mais memória de cache é elevado.

� Velocidade– Mais cache => Mais rápido (até certo ponto);

– Verificar os dados presentes no cache consome

um certo tempo.

2. Memória: Organização da Memória

Page 11: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

11

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

21

Organização Típica de Cache

2. Memória: Organização da Memória

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

22

I/O – Tipos de E/S: Comandos

3. Entrada e Saída

� Dois métodos são usados para acessar os dispositivos de I/O

- I/O mapeado em memória (Acesso a memória de I/O – LDA, STA).

- Instruções especiais de I/O (CPU Instruction Set: InPort, OutPort).

� I/O Mapeado em Memória:

- Reserva uma parte do endereçamento de memória para

acesso aos dispositivos de I/O. Escreve e lê dados nesta área.

Exemplo: 0xF000 (área reservada para memória de vídeo)

- Comandos de acesso a memória são interpretados como I/Os.

� I/O por Instruções Especiais:

- Instruções Especiais de I/O identificam o número do dispositivo

de I/O que se deseja acessar.

Exemplo: InPort 0x01FF (área reservada para status do dispositivo)

Page 12: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

12

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

23

I/O – Tipos de E/S: Métodos

* Programado:

- Baseado em uma rotina que é responsável pela transferênciados dados para o dispositivo de I/O;

* Por Interrupção:

- Baseado em um conjunto de Hardware+Software que são usados para controlar a transferência dos dados. O hardwaresinaliza quando pode receber/enviar dados e uma rotina de software “atende” o pedido (interrupção), realizando o I/O;

* Por Acesso Direto a Memória: DMA

- A transferência dos dados é realizada diretamente entre odispositivo de I/O e a memória, sem a necessidade de umainterferência direta da CPU.

3. Entrada e Saída

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

24

I/O - E/S por Polling e por Interrupção

O Sistema Operacional precisa saber quando- Um dado está disponível para transferência (leitura ou escrita);

- O dispositivo de completou a operação requisitada;- Ocorreu um erro de I/O durante uma operação.

Estas operações podem ser feitas de 2 modos principais:

1. Polling:

- O dispositivo de I/O coloca informações em um registrador de status; - O sistema operacional verifica periodicamente o status do registrador.

2. I/O Interrupt:

- Quando o dispositivo de I/O precisar da atenção do processador,ele irá gerar um sinal de interrupção (Interrupt – IRQ) para o processador.

- O sistema operacional deve prover uma rotina que irá atender esta solicitação de interrupção (Interrupt Handler)

3. Entrada e Saída

Page 13: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

13

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

25

I/O - E/S por Polling

3. Entrada e Saída

� Vantagem

– Simples: o processador está controlando o I/O e faz todo o trabalho.

� Desvantagem:

– Sobrecarga do Polling que consome muito tempo de CPU.

CPU

IOC

device

Memory

yes

busy wait loopis an inefficient

way to use the CPUunless the device

is very fast!

but checks for I/O completion can bedispersed among

computation intensive code

Is thedata

ready?

readdata

storedata

yes no

done?no

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

26

I/O - E/S por por Polling

3. Entrada e Saída

Controles: I/O Request (IORQ)

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Porta de I/O:

-Acessa um endereço

de I/O

-Status:

Dado disponível

Dado Indisponível

Page 14: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

14

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

27

I/O - E/S por por Interrupção

3. Entrada e Saída

� Vantagem:– O programa do usuário só é parado nomomento em que a transferência realmente ocorre.

� Desvantagem:– Necessidade de um hardware especial para gerenciar os eventos: – Gerar a interrupção (I/O device) / Detectar a interrupção (CPU)

CPU

IOC

device

Memory

addsubandornop

readstore...rti

Memória

Programa do Usuário(1) I/O

interrupt

(2) save PC[+regs]

(3) interruptservice address

Rotina de TratamentoDe Interrupção(4)

:

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

28

I/O - E/S por por Interrupção

3. Entrada e Saída

Controles: Interruption (Int) / Non-Maskable-Interrupt (NMI)

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Interrupt (Int):

-Interromper a CPU

avisando que tem

evento sinalizando I/O

-Int: Pegue o dado,

Próximo dado.

Page 15: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

15

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

29

I/O - Barramento e DMA

3. Entrada e Saída

Address Bus / Data Bus Control Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

DMA: De um modo geral o DMA consiste na realização de uma transferência

de dados entre um determinado dispositivo de I/O e a memória principal,

praticamente sem intervenção da CPU.

Controle: DMA controller => Requisição de Barramento (BusRq)

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

30

I/O - Barramento e DMA

3. Entrada e Saída

Controles: Requisição de Barramento (BusRq)

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Address / Data Bus

CPU

Main MemoryI/OModule

CPURegs

Cache Memory

Page 16: Disciplina de Arquitetura de Computadoreswiki.icmc.usp.br/images/c/c6/SSC0510-Aula09.pdf · USP - SSC-510 - Informática T1 / 2009-2 Arquitetura de Computadores Prof. Fernando Osório

16

USP - SSC-510 - Informática T1 / 2009-2Arquitetura de ComputadoresProf. Fernando Osório

Set. 2009

31

INFORMAÇÕES SOBRE A DISCIPLINA

Visite regularmente o site da CoTeia - Material em permanente atualização

USP USP -- Universidade de São Paulo Universidade de São Paulo -- São Carlos, SPSão Carlos, SPICMC ICMC -- Instituto de Ciências Matemáticas e de Computação Instituto de Ciências Matemáticas e de Computação

SSC SSC -- Departamento de Sistemas de ComputaçãoDepartamento de Sistemas de Computação

Prof. Fernando Santos OSÓRIOProf. Fernando Santos OSÓRIO

Web institucional: http://www.icmc.usp.br/ssc/Web institucional: http://www.icmc.usp.br/ssc/

Página pessoal: http://www.icmc.usp.br/~fosorio/Página pessoal: http://www.icmc.usp.br/~fosorio/

EE--mailmail: : fosoriofosorio [[atat] ] icmcicmc. . uspusp. . brbr ou ou fosoriofosorio [[atat] ] gmailgmail. com. com

Disciplina de Arquitetura de Computadores / InformáticaDisciplina de Arquitetura de Computadores / Informática

Estagiário PAE: Maurício A. DiasEstagiário PAE: Maurício A. Dias

Web disciplina: COTEIA Web disciplina: COTEIA -- Http://coteia.icmc.usp.brHttp://coteia.icmc.usp.br

> Programa, Material de Aulas, Critérios de Avaliação,> Programa, Material de Aulas, Critérios de Avaliação,

> Lista de Exercícios, Trabalhos Práticos, Datas das Provas> Lista de Exercícios, Trabalhos Práticos, Datas das Provas