arquitectura de computadores (acom) - autenticação · arquitectura de computadores (acom) meaer...

44
Arquitectura de Computadores (ACom) MEAer Acetatos das Aulas Te´oricas Vers˜ ao 4.0 - Portuguˆ es Aula N o 27: ıtulo: Sistema de Interrup¸c˜ oes e Modos de Transferˆ encia de In- forma¸c˜ ao Sum´ ario: Sistema de Interrup¸ oes; Transferˆ encia sob controlo do pro- grama; Transferˆ encia por interrup¸c˜ ao; Transferˆ encia por DMA (estrutura interna, modo de funcionamento); Processadores de I/O; Sistema de entradas e sa´ ıdas de um PC. 2014/2015 [email protected]

Upload: nguyennhi

Post on 14-Dec-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Arquitectura de Computadores(ACom)

MEAer

Acetatos das Aulas Teoricas

Versao 4.0 - Portugues

Aula No 27:

Tıtulo: Sistema de Interrupcoes e Modos de Transferencia de In-formacao

Sumario: Sistema de Interrupcoes; Transferencia sob controlo do pro-grama; Transferencia por interrupcao; Transferencia por DMA(estrutura interna, modo de funcionamento); Processadores deI/O; Sistema de entradas e saıdas de um PC.

2014/2015

[email protected]

Sistema de InterrupcoesModos de Transferencia de Informacao

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 1 / 53

Arquitectura de Computadores(ACom)

Aula Anterior

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 2 / 53

Na aula anterior...

� Comunicacao Serie vs. Paralela� Sincronizacao� Comunicacao Serie Sıncrona

◮ Barramento SPI◮ Barramento I2C

� Comunicacao Serie Assıncrona

◮ Norma RS-232

Road Map

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 3 / 53

Planeamento

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 4 / 53

� PlaneamentoSemana Teórica 1 Teórica 2 Problemas (P) / Laboratório (L)

16-fev a 20-fevCARNAVAL Apresentação da cadeira; Introdução P0: Revisões SD

23-fev a 27-fevL1: Modos de endereçamento

02-mar a 06-marOperações lógicas e aritméticas ISA do P3 P1: Assembly do P3

09-mar a 13-marL2: Instruções Aritméticas e Salto

16-mar a 20-marTécnicas de programação em Assembly Geração do código objecto. L3: Rotinas; Passagem parâmetros

23-mar a 27-marEstrutura de um processador Unidade de processamento

30-mar a 03-abrUnidade de controlo PÁSCOA PÁSCOA

06-abr a 10-abrPÁSCOA L4: IO; Interrupções

13-abr a 17-abrOrganização interna do P3: circuito de controlo Organização interna do P3: microprogramação P3: Micro-programação

20-abr a 24-abrL5: Micro-programação

27-abr a 01-maiDependências dados e de controlo; Conflitos L6: Arduino

04-mai a 08-maiSistema de memória Memórias cache: políticas de substituição L7: Pipelines

11-mai a 15-maiMemórias cache: políticas de escrita P4: Pipeline; Caches

18-mai a 22-maiMemória virtual: TLB L8: Caches

25-mai a 29-maiModos de transferência de dados DMA e Processadores IO P5: Mem. Virtual; Comunicação; IO.

Instruções Assembly; Operandos e modos de endereçamento; Processador P3

Operandos; Pilha; Instruções de acesso à memória; Codificação das instruções.

Periféricos do P3; Interrupções e contagemdotempo no P3

Tradução de linguagemde alto nível paraAssembly

P2: Interrupções; Codificação de Instruções

Controlo microprogramado; Organização interna do P3: circuito de dados

Família Intel x86; Arquitecturas de processadores em pipeline

Arquitecturas de processadores em pipeline; Dependências

Tópicos avançados de arquitectura de computadores

Memória virtual: definições, tabela de páginas hierárquica

Espaços de endereçamento: memória e entradas/saídas

Sumario

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 5 / 53

Hoje:

� Sistema de Interrupcoes� Modos de transferencia de informacao

◮ Transferencia sob controlo do programa◮ Transferencia por interrupcao◮ Transferencia por DMA

• Estrutura interna• Modo de funcionamento

◮ Processadores I/O

� Sistema de entradas e saıdas de um PC

Bibliografia:

• Seccoes 14.5 e 14.6

Sistema de Interrupcoes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 6 / 53

Transferencias Sob Controlo do Programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 53

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

pronto?

fim?

sim

não

sim

não

� Transferencias sob controlo do programa:

◮ O processador tem de ter a iniciativa de ver-ificar se um dado periferico esta pronto paratransferir informacao (polling)

Transferencias Sob Controlo do Programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 53

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

pronto?

fim?

sim

não

sim

não

� Transferencias sob controlo do programa:

◮ O processador tem de ter a iniciativa de ver-ificar se um dado periferico esta pronto paratransferir informacao (polling)

Forma melhor?

Transferencias Sob Controlo do Programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 7 / 53

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

pronto?

fim?

sim

não

sim

não

� Transferencias sob controlo do programa:

◮ O processador tem de ter a iniciativa de ver-ificar se um dado periferico esta pronto paratransferir informacao (polling)

Forma melhor?

� Transferencia controlada por interrupcoes:

Sistema de Interrupcoes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 53

� Processador controla os barramentos do sistema. Osperifericos tem que chamar a atencao do processador quandotem dados para enviar ou receber:

⇒ Interrupcao!!!

Sistema de Interrupcoes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 53

� Processador controla os barramentos do sistema. Osperifericos tem que chamar a atencao do processador quandotem dados para enviar ou receber:

⇒ Interrupcao!!!

� A interrupcao leva o processador a executar uma rotina detratamento a interrupcao:

◮ Especıfica de cada periferico.

Sistema de Interrupcoes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 8 / 53

� Processador controla os barramentos do sistema. Osperifericos tem que chamar a atencao do processador quandotem dados para enviar ou receber:

⇒ Interrupcao!!!

� A interrupcao leva o processador a executar uma rotina detratamento a interrupcao:

◮ Especıfica de cada periferico.

Problema: como e que o processador sabe que rotina deveser executada?

Tabela de Rotinas de Interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 9 / 53

� Solucao: cada linha de interrupcao tera associado umendereco (fixo) de inıcio da rotina de tratamento ainterrupcao respectiva:Exemplo:

Int 0 ⇒ Processador salta para 0000hInt 1 ⇒ Processador salta para 0010h

...Int i ⇒ PC ← 0000h+i×10h

Problema: tamanho de cada rotina limitada a 10henderecos...

Tabela de Rotinas de Interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 10 / 53

� Solucao Melhor: Tabela de Rotinas de Interrupcao:

◮ Tabela residente numa posicao fixa em memoria◮ Preenchida por software◮ Tem tantas entradas quantas as linhas de interrupcao do

processador◮ Cada entrada esta associada a uma das linhas de

interrupcao e contem o endereco do inıcio da rotina detratamento do periferico ligado nessa linha

Exemplo:

Int 0 ⇒ Executa rotina que comeca em M[FE00h]Int 1 ⇒ Executa rotina que comeca em M[FE01h]...Int i ⇒ PC ← M[FE00h+i]

Prioridade das Interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 11 / 53

� Prioridade no atendimento:

◮ Polıtica especıfica de cada arquitectura...

Exemplo:◮ Caso surjam mais do que uma interrupcao em

simultaneo, sera atendida aquela com menor ındice;◮ As restantes ficarao pendentes...

Prioridade das Interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 11 / 53

� Prioridade no atendimento:

◮ Polıtica especıfica de cada arquitectura...

Exemplo:◮ Caso surjam mais do que uma interrupcao em

simultaneo, sera atendida aquela com menor ındice;◮ As restantes ficarao pendentes...

Problema: como identificar o periferico que desencadeou ainterrupcao?

Linhas de Interrupcao Independentes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 12 / 53

UCP

TecladoRatoDiscoMemória...

Endereços

Dados

Int0Int1Int2

IntN

n

m

Linhas de Interrupcao Independentes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 12 / 53

UCP

TecladoRatoDiscoMemória...

Endereços

Dados

Int0Int1Int2

IntN

n

m

Problema: o numero de perifericos capazes de gerar interrupcoesesta limitado ao no de linhas de interrupcao disponıveis...

Linhas de Interrupcao Independentes

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 12 / 53

UCP

TecladoRatoDiscoMemória...

Endereços

Dados

Int0Int1Int2

IntN

n

m

Problema: o numero de perifericos capazes de gerar interrupcoesesta limitado ao no de linhas de interrupcao disponıveis...

Alternativa: linha de interrupcao partilhada

Linha de Interrupcao Partilhada

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 13 / 53

Problema: e necessario identificar a origem da interrupcao.

� Interrupcoes Nao-Vectorizadas: o processador tem quevarrer os perifericos ate identificar o responsavel

� Interrupcoes Vectorizadas: o periferico responsavel tem deidentificar-se perante o processador

Interrupcoes Nao-Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 14 / 53

� Interrupcoes Nao-Vectorizadas:

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Passa paraendereço E/S do

periférico seguinte

Salta para rotinade interrupção

desse periférico

pronto?não

Inicializa oendereço de E/Spara o primeiro

periférico

sim

Interrupcoes Nao-Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 53

� Interrupcoes Nao-Vectorizadas: a rotina de interrupcao eunica, tendo como fase inicial a identificacao do perifericoque deve ser servido (ver fluxograma)

Interrupcoes Nao-Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 53

� Interrupcoes Nao-Vectorizadas: a rotina de interrupcao eunica, tendo como fase inicial a identificacao do perifericoque deve ser servido (ver fluxograma)

↓Uma vez identificado o periferico, esta salta para a zona decodigo de tratamento da interrupcao especıfica desseperiferico

Interrupcoes Nao-Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 53

� Interrupcoes Nao-Vectorizadas: a rotina de interrupcao eunica, tendo como fase inicial a identificacao do perifericoque deve ser servido (ver fluxograma)

↓Uma vez identificado o periferico, esta salta para a zona decodigo de tratamento da interrupcao especıfica desseperiferico

� A prioridade e definida pela ordem em que os perifericos saotestados

Interrupcoes Nao-Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 15 / 53

� Interrupcoes Nao-Vectorizadas: a rotina de interrupcao eunica, tendo como fase inicial a identificacao do perifericoque deve ser servido (ver fluxograma)

↓Uma vez identificado o periferico, esta salta para a zona decodigo de tratamento da interrupcao especıfica desseperiferico

� A prioridade e definida pela ordem em que os perifericos saotestados

Problema: atendimento lento...

Interrupcoes Vectorizadas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 16 / 53

� Interrupcoes Vectorizadas:

◮ Como resposta ao sinal de acknowledge do pedido deinterrupcao (IAK), o periferico identifica-se, colocando oseu vector de interrupcao no barramento de dados doprocessador

� Normalmente, utilizam-se controladores de interrupcoes(Programmable Interrupt Controllers - PICs) que:

◮ Aceitam um conjunto de linhas de interrupcao◮ Gerem a interface com o processador◮ Fornecem o vector da interrupcao pendente de mais alta

prioridade◮ Permitem o mascaramento de interrupcoes

Programmable Interrupt Controller (PIC)

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 17 / 53

Codificadorcom

prioridades3

Int0

Int1

Int2

Int3

Int4

Int5

Int6

Int7

Vector deinterrupção

Linha deinterrupção

(INT)

Máscara deInterrupções

Interrupçõespendentes

Programmable Interrupt Controller (PIC)

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 18 / 53

Modos de transferencia de informacao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 19 / 53

Arquitectura Geral de um Computador

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 20 / 53

Processador

MemóriaInterface

Periférico

Barramento de dadosBarramento de endereços

Barramento de controlo

Interface Interface

Periférico Periférico

. . .

Transferencia de informacao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 21 / 53

� Fluxo de processamento da informacao gerada nosperifericos:

1. Transferencia dos dados para a memoria2. Processamento dos dados em memoria

Transferencia de informacao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 21 / 53

� Fluxo de processamento da informacao gerada nosperifericos:

1. Transferencia dos dados para a memoria2. Processamento dos dados em memoria

� Transferencia de dados entre o computador e osperifericos:

◮ Controlada por programa◮ Controlada por interrupcoes◮ Acesso directo a memoria◮ Usando um processador de I/O

Transferencia Controlada por Programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 22 / 53

Transferencia controlada por programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 23 / 53

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

pronto?

fim?

sim

não

sim

não

� O programa controla toda a fase de transferencia

� O programa tem de monitorizar a interface doperiferico para saber quando:

◮ Pode enviar dados◮ Novos dados estao prontos para serem lidos

Transferencia controlada por programa

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 23 / 53

Lê o portode estado

da interface

Isola bit deestado de

periférico pronto

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

pronto?

fim?

sim

não

sim

não

� O programa controla toda a fase de transferencia

� O programa tem de monitorizar a interface doperiferico para saber quando:

◮ Pode enviar dados◮ Novos dados estao prontos para serem lidos

↓Polling!!!

Vantagem: muito simplesDesvantagem: o processador fica em espera ac-tiva!

Transferencia Controlada porInterrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 24 / 53

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 25 / 53

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

� Quando o periferico estiver disponıvel, a sua in-terface gera uma interrupcao

� O processador so executa o procedimento detransferencia quando houver dados para ler:

◮ O processador pode estar a executar qualqueroutra parte do programa

◮ Quando for interrompido, executa a rotina detransferencia de dados

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 25 / 53

Lê posiçãode memória

para um registo

Escreve registono porto de escrita

da interface

Incrementa posiçãode memória e totalde transferências

� Quando o periferico estiver disponıvel, a sua in-terface gera uma interrupcao

� O processador so executa o procedimento detransferencia quando houver dados para ler:

◮ O processador pode estar a executar qualqueroutra parte do programa

◮ Quando for interrompido, executa a rotina detransferencia de dados

Vantagens:

◮ Deixa de haver ciclos desperdicados a esperaque o periferico esteja disponıvel

◮ Podem existir varias transferencias a decorrercom perifericos diferentes

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 53

� O processador limita-se a ir buscar os dados a um dos sıtios(memoria/periferico) e a colocar no outro(periferico/memoria)

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 53

� O processador limita-se a ir buscar os dados a um dos sıtios(memoria/periferico) e a colocar no outro(periferico/memoria)

↓Muitos MOVs!!!

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 53

� O processador limita-se a ir buscar os dados a um dos sıtios(memoria/periferico) e a colocar no outro(periferico/memoria)

↓Muitos MOVs!!!

↓Tarefa pouco interessante para um processador...

Transferencia controlada por interrupcao

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 26 / 53

� O processador limita-se a ir buscar os dados a um dos sıtios(memoria/periferico) e a colocar no outro(periferico/memoria)

↓Muitos MOVs!!!

↓Tarefa pouco interessante para um processador...

Alternativa: Acesso Directo a Memoria

Transferencia Controlada DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 27 / 53

Acesso Directo a Memoria

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 28 / 53

� Acesso Directo a Memoria(Direct Memory Access - DMA):

Objectivo:

◮ Permitir a transferencia de dados sem a interferencia doprocessador;

Vantagens:

◮ O processador pode “concentrar-se” em executar tarefasmais complicadas;

◮ Caso o periferico seja mais rapido do que o processador,o processador deixa de ser o ponto de estrangulamento.

Acesso Directo a Memoria

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 29 / 53

� Controlador de DMA:

◮ Sempre que e necessario realizar uma transferencia dedados, este circuito toma conta dos barramentos dosistema e coordena a transferencia de dados entre amemoria primaria e o periferico (ou vice-versa).

Acesso Directo a Memoria

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 29 / 53

� Controlador de DMA:

◮ Sempre que e necessario realizar uma transferencia dedados, este circuito toma conta dos barramentos dosistema e coordena a transferencia de dados entre amemoria primaria e o periferico (ou vice-versa).

Restricao: durante a transferencia de dados o processadornao pode aceder aos barramentos que ligam a memoriaprimaria e os perifericos (ler dados ou instrucoes)

Acesso Directo a Memoria

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 29 / 53

� Controlador de DMA:

◮ Sempre que e necessario realizar uma transferencia dedados, este circuito toma conta dos barramentos dosistema e coordena a transferencia de dados entre amemoria primaria e o periferico (ou vice-versa).

Restricao: durante a transferencia de dados o processadornao pode aceder aos barramentos que ligam a memoriaprimaria e os perifericos (ler dados ou instrucoes)

↓Problema?

Acesso Directo a Memoria

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 29 / 53

� Controlador de DMA:

◮ Sempre que e necessario realizar uma transferencia dedados, este circuito toma conta dos barramentos dosistema e coordena a transferencia de dados entre amemoria primaria e o periferico (ou vice-versa).

Restricao: durante a transferencia de dados o processadornao pode aceder aos barramentos que ligam a memoriaprimaria e os perifericos (ler dados ou instrucoes)

↓Problema? Nao! → O processador pode continuar atrabalhar com os dados/instrucoes que estao na(s) cache(s).

Transferencia por DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 30 / 53

Arquitectura do sistema com um controlador DMA:

UCP

Endereços

Dados

Memóriaprimária

PeriféricoA

PeriféricoB

Controladorde DMA

MRD/MWRIORD/IOWR

...

DMAR_ADMAG_A

DMAR_BDMAG_B

BUS_REQUEST

BUS_GRANT

n

m

Transferencia por DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 53

UCP

Endereços

Dados

Memóriaprimária

PeriféricoA

PeriféricoB

Controladorde DMA

MRD/MWRIORD/IOWR

...

DMAR_ADMAG_A

DMAR_BDMAG_B

BUS_REQUEST

BUS_GRANT

n

m

Protocolo do tipo Double Handshaking :

1. O processador funciona normalmente, processandoinstrucoes e realizando escritas e leituras da memoria.

2. O periferico A (exemplo) tem uma palavra de dados quedeve ser transferida para a memoria. A interface desteperiferico activa a linha DMAR A (DMA Request), pela qualpede ao controlador de DMA autorizacao para a operacao.

Transferencia por DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 53

UCP

Endereços

Dados

Memóriaprimária

PeriféricoA

PeriféricoB

Controladorde DMA

MRD/MWRIORD/IOWR

...

DMAR_ADMAG_A

DMAR_BDMAG_B

BUS_REQUEST

BUS_GRANT

n

m

Protocolo do tipo Double Handshaking :

3. O controlador de DMA activa, por seu lado, a linhaBUS REQUEST e espera por autorizacao do processador.

4. Quando possıvel, o processador liberta os barramentos,deixando-os em alta-impedancia e activa a linha BUS GRANT.

Transferencia por DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 53

UCP

Endereços

Dados

Memóriaprimária

PeriféricoA

PeriféricoB

Controladorde DMA

MRD/MWRIORD/IOWR

...

DMAR_ADMAG_A

DMAR_BDMAG_B

BUS_REQUEST

BUS_GRANT

n

m

Protocolo do tipo Double Handshaking :

5. O controlador de DMA coloca o endereco da posicao dememoria onde vai escrever no barramento de enderecos,coloca a linha MRD a 0 e activa a linha DMAG A, dando assimindicacao ao periferico da autorizacao para a transferencia.

6. O periferico, recebendo a autorizacao, coloca os dados nobarramento de dados e retira o DMAR A.

Transferencia por DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 31 / 53

UCP

Endereços

Dados

Memóriaprimária

PeriféricoA

PeriféricoB

Controladorde DMA

MRD/MWRIORD/IOWR

...

DMAR_ADMAG_A

DMAR_BDMAG_B

BUS_REQUEST

BUS_GRANT

n

m

Protocolo do tipo Double Handshaking :

7. O controlador desactiva (respeitando as temporizacoes deescrita ou leitura da memoria) o barramento de enderecos,as linhas RD, BUS REQUEST, DMAG A.

8. O processador retira a linha BUS GRANT e retorna a suaactividade normal.

Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 32 / 53

� Controlador de DMA:

◮ Durante o ciclo de DMA, funciona como mestre dosbarramentos.

◮ Durante o resto do tempo, funciona como escravo:

• Antes de realizar ciclos de DMA, tem de serprogramado com:

◦ Os enderecos de/para onde transferir dados namemoria;

◦ Qual a quantidade de informacao natransferencia;

◦ Qual o tipo de DMA (ver a seguir).

Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 32 / 53

� Controlador de DMA:

◮ Durante o ciclo de DMA, funciona como mestre dosbarramentos.

◮ Durante o resto do tempo, funciona como escravo:

• Antes de realizar ciclos de DMA, tem de serprogramado com:

◦ Os enderecos de/para onde transferir dados namemoria;

◦ Qual a quantidade de informacao natransferencia;

◦ Qual o tipo de DMA (ver a seguir).

↓O controlador de DMA dispoe de um conjunto deregistos internos que podem ser escritos ou lidos peloprocessador.

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 33 / 53

� Arquitectura Interna de um Controlador de DMA:

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 34 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� No inıcio de uma transferencia, o processador programa noRegisto de Controlo:

◮ Tipo de transferencia;◮ Direccao das transferencias;◮ Endereco de inıcio da zona de memoria envolvida;◮ Numero de acessos.

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� Sempre que o periferico pretende realizar uma transferencia:

1. O periferico activa a linha DMAR;2. O controlador pede controlo dos barramentos atraves da

linha BUS REQUEST;3. O processador cede os barramentos activando a linha

BUS GRANT;

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� Sempre que o periferico pretende realizar uma transferencia:

4. O controlador activa o buffer de endereco de modo aenderecar a posicao de memoria envolvida;

5. O controlador activa a linha READ ou WRITE, conformese trate de leitura da memoria para o periferico ou oinverso;

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 35 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� Sempre que o periferico pretende realizar uma transferencia:

6. O controlador activa a linha DMAG do periferico, o que oleva a receber a palavra proveniente da memoria pelobarramento de dados ou a transferir a sua palavrainterna para o barramento de dados.

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 36 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� Acabado este ciclo, o controlador:

7. Retira o pedido BUS REQUEST;8. Incrementa o Registo de Endereco para ficar a apontar

para a posicao seguinte de memoria;

Arquitectura Interna de um Controlador de DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 36 / 53

Endereço

Contadorde acessos

Read

DMAR DMAG

Registo decontrolo

Lógicade

controlo

BUS_REQUESTBUS_GRANT

Write

Endereços

Dados

n

m

LdOE

Ld

Ld

OE

OE

� Acabado este ciclo, o controlador:

9. Decrementa o Contador de Acessos;10. Se o Contador de Acessos ficar a zero, activa uma

linha de Interrupcao para avisar o processador que atransferencia programada terminou.

Tipos e Modos de Funcionamento do DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 37 / 53

� Tipos de DMA:

◮ De memoria para um periferico;◮ De um periferico para a memoria;◮ De memoria para memoria;◮ De um periferico para outro periferico.

Tipos e Modos de Funcionamento do DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 37 / 53

� Tipos de DMA:

◮ De memoria para um periferico;◮ De um periferico para a memoria;◮ De memoria para memoria;◮ De um periferico para outro periferico.

� Modos de transferencia:

◮ Por Palavra;◮ Por Rajada (Burst);◮ Por Bloco.

Modos de Funcionamento do DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 38 / 53

Pede controlodos

barramentos

Transfereuma palavra

Cedecontrolo dosbarramentos

Perif.pronto?

sim

não

Fimtransfer.?sim

não

� Modo de transferencia por palavra:

◮ Cada ciclo de DMA e usado paratransferir uma unica palavra,

◮ Apos a transferencia, o controlo edevolvido ao processador.

Modos de Funcionamento do DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 39 / 53

Pede controlodos

barramentos

Transfereuma palavra

Cedecontrolo dosbarramentos

Perif.pronto? sim

não

Fimtransfer.?sim

não

Perif.pronto?

sim

não

Cedecontrolo dosbarramentos

� Modo de transferencia por rajada(burst):

◮ Um ciclo de DMA e usado paratransferir uma palavra;

◮ Se houver mais palavras prontaspara serem transmitidas, da-seinıcio de imediato a uma novatransferencia;

◮ O controlo do barramento so edevolvido ao processador quandonao houver mais dados paratransmitir.

Modos de Funcionamento do DMA

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 40 / 53

Pede controlodos

barramentos

Transfereuma palavra

Cedecontrolo dosbarramentos

Perif.pronto?

sim

não

Fimtransfer.?sim

não

� Modo de transferencia porbloco:

◮ Quando se inicia uma trans-ferencia, o controlador per-manece com o controlo sobreos barramentos ate ser trans-ferido o total de palavras para oqual foi programado, indepen-dentemente de entre cada parde palavras o periferico estar ounao pronto.

↓Usado com perifericos muitorapidos

Transferencia controlada por processadorde IO

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 41 / 53

Transferencia usando um processador deentradas/saidas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 42 / 53

UCP

Endereços

Dados

Memóriaprimária

Periférico A Periférico B

Processadorentradas/saídas

MRD/MWR

...

BUS_REQUEST

BUS_GRANT

n

m

Endereços

Dados

IORD/IOWR

Interrupçao

� O processador de entradas/saıdas funciona como umintermediario entre o processador e os perifericos;

� Tal como o controlador de DMA, este co-processador sopode utilizar os barramentos depois de ter pedidoautorizacao ao processador.

Transferencia usando um processador deentradas/saidas

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 43 / 53

UCP

Endereços

Dados

Memóriaprimária

Periférico A Periférico B

Processadorentradas/saídas

MRD/MWR

...

BUS_REQUEST

BUS_GRANT

n

m

Endereços

Dados

IORD/IOWR

Interrupçao

� Vantagens: O processador de entradas/saıdas pode, tambem,executar programas:

◮ O conjunto reduzido de instrucoes permite fazer algumprocessamento simples dos dados transferidos;

◮ E o processador principal que define o programa que oprocessador de IO deve executar para controlar a transferenciade dados dos perifericos.

Organizacao das Estradas/Saıdas numPC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 44 / 53

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 45 / 53

� Barramento Processador-Memoria:

◮ Especıfico de cada sistema;◮ Curto e de elevada velocidade;◮ Muito optimizado, de forma a maximizar o ritmo de

transferencias;◮ Largura adaptada ao tamanho do bloco da cache.

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 45 / 53

� Barramento Processador-Memoria:

◮ Especıfico de cada sistema;◮ Curto e de elevada velocidade;◮ Muito optimizado, de forma a maximizar o ritmo de

transferencias;◮ Largura adaptada ao tamanho do bloco da cache.

� Barramento Intermedio “Backplane”:

◮ Liga o Barramento de I/O ao BarramentoProcessador-Memoria;

◮ Normalizado (ex: ATA, PCI, PCI-express).

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 45 / 53

� Barramento Processador-Memoria:

◮ Especıfico de cada sistema;◮ Curto e de elevada velocidade;◮ Muito optimizado, de forma a maximizar o ritmo de

transferencias;◮ Largura adaptada ao tamanho do bloco da cache.

� Barramento Intermedio “Backplane”:

◮ Liga o Barramento de I/O ao BarramentoProcessador-Memoria;

◮ Normalizado (ex: ATA, PCI, PCI-express).

� Barramento de Input/Output (I/O):

◮ Normalizado (ex.: USB, Firewire, RS-232);◮ Geralmente mais longo e mais lento;◮ Versatil, a fim de acomodar um conjunto variado de

perifericos.

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 46 / 53

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 47 / 53

A maioria dos sistemas adoptam um sistema de barramentosdividido em duas partes:

� Northbridge� Southbridge

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 47 / 53

A maioria dos sistemas adoptam um sistema de barramentosdividido em duas partes:

� Northbridge, tambem chamado de Memory Controler Hub,contem o controlador de memoria e todos os outroscontroladores que acedem a perifericos de elevadavelocidade: placas graficas, placas de rede gigabit, etc.

� Southbridge

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 47 / 53

A maioria dos sistemas adoptam um sistema de barramentosdividido em duas partes:

� Northbridge� Southbridge, tambem chamado de I/O Controler Hub, trata

da comunicacao com uma variedade de perifericos atraves deum conjunto de barramentos dedicados: PCI, PCI Express,SATA, USB, etc.

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 47 / 53

A maioria dos sistemas adoptam um sistema de barramentosdividido em duas partes:

� Northbridge� Southbridge

Em geral, o processador e interligado a Northbridge atravesdo Front Side Bus (FSB).

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 48 / 53

!"#$%&''()$'*+",-./0-1)2' *34567'8"97')22:'

#;<0=>/?''@A/'8/6.5B0'$C-'DB-/-'

!"#$%&'()#'*+,-./$'!01%'()#234'

567'8'9::';<='*5>6?(@#3A'BCC';<=A'.-'6::';<='

D'#%-0EF'GHG#4'

IB:';(@#'

9'J!(#4''''5:';(@#'

D'KE-EFF%F'GHG4'

I::';(@#'

<)7'()#4'97'8'D55';<='

;%&.-"'L./$-.FF%-'<)7'

*+M.-$N7-01O%23'

P@Q'L./$-.FF%-'<)7'

*+!.)$N7-01O%23'

?70$'%$N%-/%$4':>D55'?(@#'RRS'!RSG;'

;E0/';%&.-"'

?-EKN0T#'.)$K)$4''''

D>:'?(@#'

ULP4''''''''''''''''''

CD7'8'CC';<='

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 49 / 53

� Ultimas arquitecturas Intel Core - controlador de memoriaintegrado no CPU.

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 50 / 53

Intel Core i5-2500K (quad-core)

Organizacao das Estradas/Saıdas num PC

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 51 / 53

FIM

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 52 / 53

Nota de Agradecimento

Sistema deInterrupcoes

Modos detransferencia deinformacao

TransferenciaControlada porPrograma

TransferenciaControlada porInterrupcao

TransferenciaControlada DMA

Transferenciacontrolada porprocessador de IO

Organizacao dasEstradas/Saıdasnum PC

FIM

Prof. Nuno Roma ACom 2014/15 (MEAer) - DEEC-IST 53 / 53

Agradecimento

Algumas paginas desta apresentacao foram extraidas de:

[1] Jose Carlos Monteiro, “Arquitectura de Computadores”, InstitutoSuperior Tecnico (IST), Universidade Tecnica de Lisboa, Portugal,2010.