1 / 40

I/O

I/O. Transferências de dados. Introdução. Um importante aspecto na arquitectura de computador é o modo como são efectuadas as operações de I/O Envio de comandos CPU  periféricos Resposta a pedidos dos periféricos CPU  periféricos Trocas de dados CPU  periféricos

riva
Download Presentation

I/O

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I/O Transferências de dados

  2. Introdução • Um importante aspecto na arquitectura de computador é o modo como são efectuadas as operações de I/O • Envio de comandos • CPU  periféricos • Resposta a pedidos dos periféricos • CPU  periféricos • Trocas de dados • CPU  periféricos • memória  periféricos • periféricos  periféricos

  3. Introdução • O sistema tem que dar uma boa resposta a uma grande variedade de periféricos, que funcionam a “velocidades” diferentes

  4. Introdução • Ao mesmo tempo... • Não é conveniente o CPU estar à espera de respostas de periféricos • Se isso acontece, desperdiça-se tempo de processamento... • Não é conveniente o CPU ter um papel activo quando as transferências de dados são entre dispositivos externos • Memória  disco • Disco  memória • Memória  placa gráfica • etc.

  5. Acesso aos dispositivos • Controladores de dispositivo (adapters) • Interface que cada dispositivo apresenta ao resto do sistema • Um controlador é geralmente constituído por: • Conjunto de registos programáveis • Conjunto de registos para escrita e leitura de dados • Lógica de controlo • Mais ou menos complexa, consoante o dispositivo

  6. Acesso aos dispositivos • I/O dedicada • A cada registo dos diversos controladores é atribuído um número designado por porto (I/O Port) • O acesso é feito utilizando instruções do tipo in e out (assembly) • in registo, portcopia o conteúdo do registo do controlador de periférico para um registo da CPU • out port, registocopia o conteúdo de um registo da CPU para um registo do controlador • Requer linhas de controlo dedicadas para cada dispositivo

  7. Acesso aos dispositivos • Memory-mapped I/O • Deste modo o acesso aos dispositivos é feito como se tratasse de um acesso à memória • Cada registo do controlador encontra-se mapeado para uma posição de memória • Uma escrita ou leitura nessa posição de memória corresponde na realidade a uma escrita / leitura no registo do controlador • Os dispositivos, CPU e memória podem partilhar os mesmos barramentos

  8. Acesso aos dispositivos • I/O dedicada vs. Memory-mapped I/O Espaço dos periféricos Espaço de endereçamento Espaço de endereçamento Ports I/O Memory-mapped I/O I/O dedicada

  9. Operações de I/O • Existem basicamente três formas diferentes de efectuar operações de I/O • I/O programada • I/O por interrupções • I/O por DMA

  10. I/O Programada (Polling) • O CPU efectua todo o trabalho de I/O enviando e recebendo os dados dos dispositivos • Após despachar um conjunto de dados (normalmente organizados por blocos), verifica se o periférico está pronto para continuar • Problema: • O processador desperdiça muito tempo de processamento à espera de poder continuar, pois de um modo geral os periféricos são muito lentos face à sua velocidade

  11. I/O por Interrupções • Uma maneira mais eficiente deixar o CPU a correr normalmente os programas, interrompendo apenas quando é necessário • Exemplo: para se servir um pedido de um periférico que não pode esperar • Diz-se que ocorre uma interrupção • O programa que foi interrompido poderá mais tarde ser retomado a partir do ponto em que se encontrava na altura da interrupção • Vantagem: • Com este modelo, o processador envia / recebe dados do periférico, mas depois pode dedicar-se a outra tarefa – não fica em espera • Eventual problema: • As interrupções podem ocorrer com demasiada frequência (se existirem muitos dados envolvidos na transferência)

  12. 2. Controlador activa linha de interrupções 3. CPU envia Acknowledge 1. Dispositivo termina I/O IRQ é activada 4. Controlador coloca interrupt vector no BUS I/O por Interrupções • Interrupções de hardware (vectorizadas)

  13. I/O por Interrupções • Quando ocorre uma interrupção, o CPU: • Salvaguarda numa pilha todos os seus registos • PUSH dos registos e do estado da unidade funcional (flags) • Desactiva temporariamente as interrupções • Para não ser “interrompido” enquanto trata de uma interrupção • Lê o interrupt vector obtendo o endereço de início da rotina de serviço à interrupção • Salta para esse endereço e executa essa rotina • Terminado o serviço à interrupção: • Restauram-se os valores dos registos e do estado • Activam-se as interrupções • Salta-se para o valor restaurado de PC • Continua a partir do ponto onde estava quando foi interrompido

  14. 4. Transferência de dados 1. CPU programa o controlador DMA 2. DMA REQ 3. DMA ACK 5. Interrupção I/O por DMA • DMA (Direct Memory Access) • Liberta o processador em transferências de dados que envolvem a memória e periféricos BUS Endereço buffer Contador Controlo Controlador de DMA Controlador de Disco CPU Memória RAM

  15. I/O por DMA • Semelhante a I/O programada, mas o controlador DMA substitui o processador • O processador limita-se a dar as instruções necessárias ao controlador de DMA para iniciar a transferência de dados • Quando o controlador DMA terminar a transferência de dados, notifica o processador através de uma interrupção • Vantagem • Uma só interrupção após toda a operação de I/O terminar • Desvantagem (só em alguns casos): • Este esquema pode não funcionar se o periférico for demasiado rápido em relação ao controlador de DMA • Nesse caso pode-se usar I/O por interrupções

  16. I/O Periféricos

  17. Discos • Geometria de um disco rígido Cabeças magnéticas Superfície 0 Superfície 1 Superfície 2 Superfície 3 Superfície 4 Superfície 5

  18. Discos Sectores Cabeça Pistas

  19. Discos • Geometria de um disco • Cada arco circular completo designa-se pista • O conjunto de pistas na mesma posição radial (nas várias superfícies) designa-se cilindro • As pistas estão divididas em arcos de comprimento angular fixo designados sectores • Estrutura de um sector • Preâmbulo– sequência de bits para sincronização • Dados– parte onde é armazenada a informação útil (512 Bytes) • ECC– código de correcção de erros

  20. Discos • Temporizações típicas • Velocidade de rotação • Velocidade a que o disco roda • Valor típico: 7200 rpm (rotações por minuto) • Tempo de pesquisa (Seek) • Tempo que o braço demora a posicionar a cabeça sobre a pista a ler/escrever • Tempo de acesso • Tempo que a cabeça demora a posicionar-se sobre o sector a aceder (tempo de pesquisa + tempo de rotação) • Ritmo de transferência • Ritmo a que é lida/escrita informação do/no disco (depende do tempo de acesso, da dimensão dos sectores e da interface do disco com o resto do sistema) • Valor médio típico nos dias correntes: 70 MByte/s

  21. Discos Ópticos • CD-ROMs (Compact-Disk Read Only Memory) Dados organizados segundo uma espiral Blocos de dados com 2 KB de informação útil Pit Land

  22. Discos Ópticos • CD-ROMs Leitura da informação: ‘1’ Transição Pit-Land ou Land-Pit ‘0’ Sem transição

  23. Discos Ópticos • Dificuldade física em repetir ‘1’s • É utilizada codificação EFM (Eight to Fourteen Modulation) • Por cada 8 bits, são na realidade escritos 14 bits no CD • O objectivo deste código é garantir que os ‘1’s ficam salteados Código EFM(só as primeiras 8 palavras)

  24. Discos Ópticos • Estrutura de um bloco 16 bytes 2048 bytes 288 bytes Dados ECC Preâmbulo – sequência de sincronização + identificação do bloco Nota: no caso de ser um CD áudio, todo o bloco é utilizado para dados

  25. Discos Ópticos • CD-Rs (CD-Recordable) • Um CD-R é um CD em que os dados, uma vez gravados, não podem regravados • Os dados são gravados ofuscando uma superfície transparente através de uma queimadura provocada pelo laser (deste modo simula-se um Pit) Áreas queimadas

  26. Discos Ópticos • CD-RWs (CD-Rewritable) • Ao contrário dos CD-Rs, um CD-RW pode ser regravado múltiplas vezes • Utiliza numa das camadas um material com dois estados: • Cristalino (mais reflectivo) • Amorfo (menos reflectivo) • O laser do gravador opera a 3 níveis de potência: • Alta – Converte áreas cristalinas em amorfas (Pit) • Média – Converte as áreas amorfas em cristalinas (Land) • Baixa – Não efectua mudanças ao estado do material. É utilizada para leitura

  27. Discos Ópticos • Comparação entre discos ópticos

  28. Teclado • Estrutura genérica

  29. Teclado • Estrutura genérica Tecla premida:contacto no cruzamento

  30. Teclado • Funcionamento: • O micro-controlador produz todas as combinações binárias de 7 bits (com base num contador) • Estes bits são apresentados às entradas do descodificador e às linhas de selecção do multiplexer • A frequência de funcionamento do contador é elevada, varrendo toda a matriz de cruzamentos centenas de vezes por segundo. • Tanto o carregar como o largar de uma tecla (ou combinação de teclas) são detectados por inspecção da linha de saída do multiplexer • O código da tecla (ou teclas) pressionada – K-scan code – é obtido a partir das saídas do contador

  31. Teclado • Comunicação

  32. Teclado • Comunicação • O controlador de teclado tem a função de efectuar a interface com o resto do sistema • Depois de pressionada uma tecla, é colocado no registo de input um código normalizado da tecla e enviado um sinal de interrupção • O tratamento da interrupção “obriga” o CPU a ler o registo de input, copiando o código de tecla para a memória • O controlador comunica com o teclado através de uma linha de dados série sincronizada com um sinal de relógio • Para além disso, fornece a alimentação ao teclado

  33. Monitor e placa gráfica • Esquema genérico (CRT – Cathod Ray Tube) Canhões de electrões Pixel Linhas de varrimento

  34. Monitor e placa gráfica • Funcionamento (CRT) • Cada ponto no écran designa-se pixel • Por cada ponto existem três tubos de raios catódicos, que são “bombardeados” por electrões • Cada tubo -> uma componente de cor (R, G, B) • Obtém-se cores regulando a intensidade do “bombardeamento” em cada uma das componentes • Os canhões de electrões varrem todo o écran a uma frequência superior à que um humano consegue ver • Tipicamente superior a 60 Hz (60 varrimentos por segundo)

  35. Monitor e placa gráfica • Memória ocupada por uma imagem • Tipicamente cada amostra de componente de cor requer 8 bits (variando portanto entre 0 e 255) • suficiente para o sistema visual humano • Como em cada ponto se tem 3 componentes, cada ponto no écran requer 24 bits (3 bytes) • Se a resolução do écran for Nh x Nv, a memória necessária para cada imagem será de • Nv x Nh x 3 bytes • Exemplo: • Resolução: 1024 x 768 • Quantidade de informação por imagem = 1024 x 768 x 3 = 2.4 MBytes

  36. Monitor e placa gráfica • Ritmo de transmissão dos dados • O sistema terá que ser capaz de debitar dados a um ritmo compatível com o sistema visual humano • Exemplo • Com as resoluções indicadas atrás, para enviar para o écran 60 imagens por segundo, seria necessário um ritmo binário superior a:1024 x 768 x 3 x 60 = 14 MBytes/s • Para libertar o processador de grande parte do processamento gráfico, existem as placas gráficas

  37. Monitor e placa gráfica • Placa gráfica • Inicialmente serviam apenas para efectuar a interface entre o processador e o écran • Hoje em dia têm muitas outras funcionalidades: • Efectuam diversos cálculos gráficos, poupando trabalho ao CPU • Desenho de objectos geométricos planos (linhas, polígonos) • Computação 3D (profundidade, modelos de iluminação) • Melhoria da qualidade de imagem (anti-aliasing, filtragem, correcção do factor gamma) • Possuem memórias adaptadas para processamento de vídeo(VRAMs) • Permitem ligação de/a dispositivos externos (e.g., câmaras de vídeo) • Etc.

  38. Monitor e placa gráfica • Placa gráfica(estrutura básica) AGP – Accelerated Graphics Port – dedicado para o processamento gráfico

  39. Modem • Modem – Modulator-Demodulator • Dispositivo para comunicação entre computadores ligados a uma rede telefónica / cabo • O sinal binário a transmitir é modulado: • Em vez de ser transmitido um sinal entre 0 e 5 Volt, é utilizado um sinal sinusoidal (a portadora)

  40. Modem • Modulação Sinal original Modulação em amplitude (AM ou ASK) Modulação em frequência (FM ou FSK) Modulação de fase (PM ou PSK)

More Related