Modos de Transferência Acesso Direto à Memória (DMA) ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon.

Slides:



Advertisements
Apresentações semelhantes
Software Básico Entrada/Saída Capítulo 2 Mitsuo Takaki
Advertisements

Capitulo 6: Entrada e Saída
Modos de Transferência Acesso Direto à Memória (DMA)
A Interface entre Processadores e Periféricos
Arquitetura e organização de computadores.
Barramentos Introdução.
Técnicas para operações E/S
ARQUITETURA DE COMPUTADORES II
Problemas com Entrada e Saída
Rganização de Computadores A Interface entre o Processador e os Periféricos Capítulo 8 – Patterson & Hennessy (seções 8.4 e 8.5) Organização de Computadores.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Arquitetura de Computadores
Sistemas Operacionais I
Sistemas Operacionais
Fundamentos da Arquitetura de Computadores
Sistemas Operacionais
Sistemas Operacionais
Entrada e Saída (E/S ou I/O)
Infra-Estrutura de Software
Unidade Central De Processamento: Processador
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Montagem e Manutenção de Computador I Curso Técnico em Rede de Computadores Aula 05.
Sistemas Operacionais
Faculdade INED Prof. David Silva
Entrada e Saída (E/S).
Subsistema de Entrada e Saída do Kernel
Arquitetura de computadores
Arquitetura de ComputadoresProf a Luiza Mourelle Entrada e Saída O processo de fornecer informações ou obtê-las dos computadores é chamado entrada/saída.
Sistemas Operacionais IV – Gerenciamento de E/S
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Prof. Dr. Norian Marranghello Grupo 10 Hugo Brandão Uchôa Renato Moreno Peixoto de Mello Acessos não uniforme à memória.
Prof. Gilson Simões Gonçalves Sistemas Operacionais Prof. Gilson Simões Gonçalves Aula II.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Slots, Placa-Mãe, USB e Fontes. Nomes: Daniel, Dhiego e Otávio.
Modelos de Troca de Dados em Nível Elétrico ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon.
Modos de Transferência Acesso Direto à Memória (DMA) ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon.
Por Cássio Mello e André Luis.  É a parte inteligente do circuito, onde sinais de controle serão recebidos e enviados e o processamento será efetuado.
Introdução à Robótica COLÉGIO DAMAS DE INSTRUÇÃO CRISTÃ.
Informática Básica Karine Alessandra Córdova Hardware e Software Exemplos de Hardware: Teclado, Mouse, Monitor, HD entre outros. Exemplos de Software:
Organização de Computadores – Análise de Placa-mãe PC Chips K7 M863G Alunos: Mathews Phillipp Santos de Lima Jeferson dos Santos Araújo Renato de Carvalho.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
SECRETARIA DE ESTADO DA EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DIRETORIA DE DESENVOLVIMENTO HUMANO GERÊNCIA DE TECNOLOGIA DE INFORMAÇÕES EDUCACIONAIS E ADMINISTRATIVAS.
1 Circuitos Sequenciais: Registradores Disciplina: Circuitos Digitais Aula 20 Lucas Santos Pereira.
Sistema Informatizado Hardware. Sistema Informatizado Chama-se sistema informatizado a integração que acontece de três componentes básicos: a) Os computadores.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
“Características e Limitações”
Redes de Computadores e Aplicações – Camada de Rede IGOR ALVES.
 Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:  Somar e subtrair  Mover um dado de um local de armazenamento.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
“Armazenar dados e programas que serão utilizados pelo processador (CPU – unidade central de processamento) ”
TRABALHO AVALIATIVO ALUNO: FRANCISCO HELIÉSUS DE MEDEIROS MATÉRIA: ORGANIZAÇÃO DE COMPUTADORES.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Informática Industrial N8INF Prof. Dr. Cesar da Costa 4.a Aula: Rede ModBus.
REDES INDUSTRIAIS.
Protocolo Ethernet Prof: Ricardo Quintão. Roteiro CSMA CSMA/CD Ethernet Recuo Binário Exponencial.
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
GESTÃO DE PROJETOS. 1. Introdução ao Gerenciamento de Projetos 1.1. Definições de Projeto, Programa e Portfólio. Relações entre Gerenciamento de Projetos,
“Armazenar dados e programas que serão utilizados pelo processador (CPU – Unidade Central de Processamento) ”
Estrutura do computador
 Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer  Localidade Temporal  Um item referenciado.
Endereçamento IP Básico
GRUPO: Augusto Monteiro, Igor Dias e Tais Ucinski PROFº CESAR AUGUSTO KRUGER CASO 2: A MODA.
Oficina de Informática
Sistemas Internacional de Unidades. Já imaginou se quando você fosse comprar uma fonte, importada, e ela viesse com as todas as especificações expressas.
EA869 Montadores Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato.
Rede em barramento (bus) Esta topologia de redes trabalha com vários computadores ligados com cabos coaxiais. Desta forma apenas um só computador pode.
Reducing Memory Access Latency with Asymmetric DRAM Bank Organizations Reduzindo a Latência do Acesso à Memória com Organizações de Bancos DRAM Assimétricos.
Modos de Transferência Acesso Direto à Memória (DMA)
Transcrição da apresentação:

Modos de Transferência Acesso Direto à Memória (DMA) ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon

2 / 18 DMA – Acesso Direto à Memória Problema –Interrupção não necessita que CPU aguarde por eventos –Porém CPU é responsável por realizar transferência de dados Solução –DMA Funcionamento –Dispositivo controlador (DMA Controller - DMAC) é responsável pela transferência de dados Características de funcionamento –Mecanismos de interrupção continuam sendo utilizados Mas apenas no término de um evento de E/S, ou na ocorrência de erros –Comparando com polling e interrupção, DMA deve ser utilizado para interface de periféricos que necessitem de grande vazão –Durante operação DMAC se torna mestre do barramento e controla transferência entre E/S e Memória

3 / 18 Considerações –Se a CPU precisar do barramento durante o DMA, ocorrerá atraso, uma vez que a memória está ocupada –Utilizando caches no processador o desempenho irá melhorar, uma vez que o processador não precisará aguardar pela liberação do barramento DMA – Acesso Direto à Memória

4 / 18 Passos Genéricos na Transferência com DMA 1.CPU programa DMAC com –Identificação do dispositivo que solicitou DMA –Operação a ser realizada no dispositivo (escrita/leitura) –Endereço origem e destino (da memória principal e do periférico) –Número de bytes a serem transmitidos 2.DMAC assume barramento, iniciando a operação –Transferência inicia quando dado está disponível. O DMAC fornece o endereço de leitura ou escrita. Se requisição necessitar mais de uma transferência, o DMAC gera próximo endereço de memória –Por meio deste mecanismo o DMA pode transferir milhares de bytes do entre periférico e memória, sem interromper a CPU 3.Concluída transferência de DMA, DMAC interrompe CPU que poderá verificar se operação foi realizada com sucesso examinando memória ou interrogando DMAC Uma vez programado DMAC, DMAC e CPU operam em paralelo

5 / 18 Arquitetura Exemplo de DMA Transferência de Dados Exemplo Para os dados irem de um dispositivo para memória: 1.Dispositivo assinala DMAREQ para o DMAC 2.DMAC assinala BUSREQ ao micro-processador 3.Assim que possível, a CPU assinala BUSACK 4.DMAC indica endereço para escrever os dados no barramento de endereço 5.DMAC assinala DMAACK para o dispositivo e WRITE para a memória 6.Dispositivo utiliza o barramento de dados 7.DMAC libera DMAACK, o endereço de barramento e BUSREQ 8.CPU libera BUSACK e continua executando instruções

6 / 18 Exercícios 1.Qual fração de tempo da CPU é consumida na operação de DMA considerando as informações que seguem? CPU operando a 50 MHz HD transferindo dados a 2 MBps continuamente, utilizando DMA Duração da programação do controlador de DMA pela CPU necessita ciclos de relógio Duração da rotina de interrupção para tratar término do DMA é de 500 ciclos de relógio Cada operação de transferência do disco manipula 4 KB

7 / 18 Solução de Exercício 1.Solução: Freqüência de operação = 50 MHz Período do relógio = 1 / 50 MHz = 20 ns Ciclos para programação do DMAC = ciclos Tempo para programação do DMAC = ciclos * 20 ns = 20 us Ciclos para interrupção de DMA = 500 ciclos Tempo para interrupção de DMA = 500 ciclos * 20 ns = 10 us Taxa de transferência de dados do HD = 2 MBps Volume de transferência por operação = 4 KB Número de operações necessárias por segundo = 2 MB / 4 KB = 500 Tempo total = 500 * (20 us + 10 us) = 500 * 30 us = 15 ms A cada segundo o DMA consome 1000 ms  100% 15 ms  X = 1,5 % da CPU

8 / 18 Exercícios 2.Quanto tempo de CPU consome a mesma transferência de dados do problema anterior com as informações que seguem? Supondo agora que o barramento de dados entre o HD e a CPU seja de 32 bits A cada ciclo, a CPU consegue transferir um dado do HD para a memória

9 / 18 Solução de Exercícios 2. Solução: Período do relógio = 20 ns Número de ciclos para transferir um dado = 1 Tempo para transferir um dado = 1 * 20 ns = 20 ns Taxa de transferência de dados do HD = 2 MBps Número de bytes de um dado = 32 / 8 = 4 Número de dados transferidos por segundo = 2 MB / 4 B = 0,5 M Tempo para transferir todos os bytes = 0,5 M * 20 ns = 10 ms CONCLUSÃO: Para este caso, não é interessante utilizar DMA, pois o tempo para programá-lo somado ao de interrupção (15ms) é maior que o consumido apenas pela CPU

10 / 18 Técnicas para Compartilhamento do Barramento entre CPU e DMAC Halt (Transferência de Bloco) –Método simples, onde DMAC suspende processador (ganha barramento) –Usa pino de HOLD –CPU pode realizar operações que não fazem acesso ao barramento –Passos 1.Uma vez programado DMAC, este envia sinal de HOLD para a CPU 2.CPU conclui instrução corrente e envia HOLDACK 3.DMAC recebendo HOLDACK tem acesso total ao barramento 4.Ao término da transferência DMAS remove HOLD Entrelaçado (interleaved) –DMAC disputa barramento com CPU para fazer acesso à memória –Controlador do barramento pode dar prioridade a CPU para evitar atrasos

11 / 18 Roubo de Ciclo (cycle stealing) –Envia palavra a palavra (ou bloco a bloco) –DMAC requer barramento e CPU entrega entre ciclos de máquina –Passos 1.DMAC assincronamente requer barramento com DMAREQ 2.CPU termina ciclo corrente e envia DMAACK, liberando barramento 3.DMAC faz uma transferência e remove DMAREQ 4.Terminada TODA transferência, DMAC avisa CPU por interrupção Técnicas para Compartilhamento do Barramento entre CPU e DMAC

12 / 18 Estudos de Caso de DMA DMA em PC (entre memória principal e placa de som) com 8237A –CPU programa DMAC –DMAC recebe da CPU sinal para iniciar DMA –DMAC realiza leitura na RAM e envia para a placa –CPU realiza em paralelo outras operações que não envolvam barramento Antes de iniciar uma transferência é necessário definir –Página da memória a ser utilizada –Deslocamento na página –Quantidade de dados a ser transferida Limitações do DMA no PC –Máximo 64 KB por vez (pois contador de bytes do DMAC contém 16 bits) –Só pode transferir dentro da mesma página –Velocidade: apenas 6 MHz (para a época do XT era suficiente), logo para processador com mais de 200 MHz não faz sentido utilizar este padrão de DMA

13 / 18 Estudos de Caso de DMA Fast Multiword DMA –Padrão de DMA permitido pelo chipset Triton da Intel que utiliza um modo de transferência de dados entre disco rígido e memória –Este modo transfere 48 bits por vez ao invés dos 16 bits originais –Transferência pode chegar a 16,6 MB/s Ultra DMA –Transfere dados no modo de rajadas (burst mode) –Desenvolvido pela Quantum Corporation e Intel para tornar-se um padrão da indústria. –Introduzido em computadores no final de 1997 com o objetivo de torná-lo um padrão de interface para disco rígido –Evoluiu conforme as interfaces ATA (AT Attachment) Ultra DMA MBps (Mega bytes por segundo) Ultra DMA MBps Ultra DMA MBps Ultra DMA MBps Ultra DMA MBps Ultra DMA MBps Ultra DMA MBps

14 / 18 Estudos de Caso de DMA DMA no Cell –Cell é um multiprocessador integrado em um único CI (MultiProcessor System-on-Chip - MPSoC), composto por 9 processadores –Desempenho chega a 200 GBps (Gigabytes por segundo) –Transferência em um único bloco de até 16KBytes ou uma lista de 2 a 2048 blocos –DMA no Cell suporta coerência de cache

15 / 18 Exercícios 1.Qual a principal aplicação do método de E/S tipo DMA? Mostre como um dispositivo DMA pode ser programado para realizar a transferência entre dispositivos 2.Em que casos a utilização do método de E/S tipo DMA é recomendada? 3.Explique o procedimento “roubo de ciclo” (ou cycle stealing) utilizado em DMAs. Como ele pode ser otimizado? 4.Supor uma CPU operando a 50 MHz, com HD transferindo dados a 2 MBps continuamente, utilizando DMA. Se a duração da programação do controlador de DMA pela CPU necessita ciclos de clock, a duração da rotina de interrupção para tratar término do DMA é de 500 ciclos de relógio, e cada operação de transferência do disco manipula 4 KB, qual a fração de tempo da CPU é consumida na operação?

16 / RESPOSTA: Freqüência de operação = 50 MHz Período do relógio = 1 / 50 MHz = 20 ns Ciclos para programação do DMAC = ciclos Tempo para programação do DMAC = ciclos * 20 ns = 20 us Ciclos para interrupção de DMA = 500 ciclos Tempo para interrupção de DMA = 500 ciclos * 20 ns = 10 us Taxa de transferência de dados do HD = 2 MBps Volume de transferência por operação = 4 KB Número de operações necessárias por segundo = 2 MB / 4 KB = 2 K = Tempo total = * (20 us + 10 us) = * 30 us = 60 ms A cada segundo o DMA consome 1000 ms  100% 60 ms  XX = 6 % da CPU Solução de Exercícios

17 / 18 Exercícios 5.Supondo agora que o barramento de dados entre o HD e a CPU seja de 32 bits, e a cada 4 ciclos, a CPU consegue transferir um dado do HD para a memória, quanto tempo de CPU consumiria a mesma transferência de dados?

18 / RESPOSTA: Período do clock = 20 ns Número de ciclos para transferir um dado (32 bits) = 4 Tempo para transferir um dado (32 bits) = 4 * 20 ns = 80 ns Taxa de transferência de dados do HD = 2 MBps Número de dados necessários para transferência por segundo = 2 MB / 4 B = 0,5 M Tempo para transferir todos os bytes = 0,5 M * 80 ns = 0,5 * * B * 80 ns = 40 ms CONCLUSÃO: Para este caso, não é interessante utilizar DMA Solução de Exercícios

19 / 18 Exercícios 6.(POSCOMP 2011, Questão 40) O gerenciamento dos sistemas de entrada/saída de dados é normalmente implementado em duas camadas: uma responsável pelo controle do dispositivo e outra, pelo gerenciamento de entrada/saída. Por que isso representa um projeto eficiente? a) Porque permite o uso de duas linguagens de programação na sua implementação, pois o controle do dispositivo exige a programação em linguagem de máquina b) Porque permite separar as operações de entrada das operações de saída de dados c) Porque permite o compartilhamento dos dispositivos de entrada/saída através do gerenciamento de entrada/saída d) Porque permite evitar o uso de DMA para a operação de entrada/saída e) Porque permite separar características de hardware de características funcionais do dispositivo de entrada/saída.

20 / 18 Resposta de Exercícios 6.(POSCOMP 2011, Questão 40) O gerenciamento dos sistemas de entrada/saída de dados é normalmente implementado em duas camadas: uma responsável pelo controle do dispositivo e outra, pelo gerenciamento de entrada/saída. Por que isso representa um projeto eficiente? a) Porque permite o uso de duas linguagens de programação na sua implementação, pois o controle do dispositivo exige a programação em linguagem de máquina b) Porque permite separar as operações de entrada das operações de saída de dados c) Porque permite o compartilhamento dos dispositivos de entrada/saída através do gerenciamento de entrada/saída d) Porque permite evitar o uso de DMA para a operação de entrada/saída e) Porque permite separar características de hardware de características funcionais do dispositivo de entrada/saída