arquitectura de computadores (acom) - autenticação · arquitectura de computadores (acom) meaer...
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
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.