Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf ·...

57
Aula 24: Dispositivos de Entrada e Sa´ ıda Fernanda Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Material baseado nos slides do prof. Diego Passos Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ ıda FAC 1 / 57

Transcript of Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf ·...

Page 1: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Aula 24: Dispositivos de Entrada e Saıda

Fernanda Passos

Universidade Federal Fluminense

Fundamentos de Arquiteturas de Computadores

Material baseado nos slides do prof. Diego Passos

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 1 / 57

Page 2: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Revisao

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 2 / 57

Page 3: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Nas Aulas Anteriores. . .

Temos discutido sobre o processador, execucao de programas, linguagem de montagem. . .I Vimos como um processador implementa um conjunto de instrucoes.I Vimos como programas sao traduzidos para a linguagem de montagem.

F E para instrucoes binarias.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 3 / 57

Page 4: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Aula de de Hoje. . .

Vamos alterar o foco do curso.I Abordar um outro sub-sistema de um computador.

Vamos ver os dispositivos de Entrada e Saıda.I O que sao, exemplos, como funcionam. . .

Particularmente, utilizaremos o HD como estudo de caso.Falaremos sobre:

I O papel dos controladores de E/S.I Tipos de mapeamento de enderecos dos dispositivos de E/S.I Tecnicas de acesso dos dispositivos de E/S.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 4 / 57

Page 5: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Conceitos Basicos

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 5 / 57

Page 6: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Que e Entrada e Saıda?

Processo pelo qual um processador se comunica com o mundo externo.I Um usuario humano.I Outro sistema computacional.I Sensores, atuadores. . .

Comunicacao pode se dar em dois sentidos:I Entrada: processador recebe dados do mundo externo.I Saıda: processador envia dados para o mundo externo.

Alguns dispositivos de E/S sao unidirecionais, outros sao bidirecionais.Tambem referenciado pela sigla em ingles I/O.

I Input/Output.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 6 / 57

Page 7: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Dispositivos de E/S: Alguns Exemplos

Dispositivos de entrada:I Teclado.I Mouse.I Acelerometro.I GPS.I Camera.I Kinect.

Dispositivos de saıda:I Impressora.I Monitor.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 7 / 57

Page 8: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Dispositivos de E/S: Alguns Exemplos (II)

Dispositivos de entrada e saıda:I Tela sensıvel ao toque.I Placa de som.I HDs, pendrives, . . .I Interface de rede (Ethernet, Wifi, Bluetooth, . . . ).I Modem.I Porta serial.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 8 / 57

Page 9: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

E/S e Barramentos

Processador se comunica com outros dispositivosatraves de barramentos.

I Meios de comunicacao (potencialmente)compartilhados.

I Varios dispositivos conectados ao mesmobarramento.

Barramentos podem ser interligados a outrosbarramentos.

I Atraves de pontes ou bridges.

UCP

Flash ROM(BIOS)

Super I/OPorta Serial

Porta ParalelaTecladoMouse

Northbridge

(hub controladorda memória)

Southbridge(hub controlador

de E/S)IDE

SATAUSB

EthernetAudio Codec

CMOS Memory

PlacaGráfica

On-Board

Gerador de ClockPlaca

Gráfica

BarramentoGráfico de

Alta Velocidade(AGP ou PCI

Express)

Chipset

Front-sidebus

Barramentode Memória

Bancos de Memória

BarramentoPCI

Slots PCI

LPCBus

BarramentoInterno

BarramentoPCI

Cabeamentose Conectores

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 9 / 57

Page 10: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Estudo de Caso: Disco Rıgido

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 10 / 57

Page 11: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido

Um dos dispositivos de E/S mais comuns em computadores modernos.I Embora comece a ser substituıdo por outras tecnologias, como SSD.

Importante por tambem atuar como um tipo de memoria.I Memoria secundaria, na hierarquia.I Nıvel mais baixo.I Grande capacidade, relativamente barato, mas lento.

Tambem chamado de HD (do ingles Hard Drive).I Em oposicao aos discos magneticos flexıveis, como disquetes.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 11 / 57

Page 12: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Princıpio de Funcionamento

HDs utilizam uma mıdia que pode sermagnetizada.Informacao e armazenada alterando amagnetizacao de parte da mıdia.A mıdia e composta por um ou maisdiscos concentricos.

I Chamados de pratos.I Por sua vez, podem ter duas superfıcies

(de baixo e de cima).HD possui uma cabeca deleitura/gravacao que se posiciona sobreregioes dos discos.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 12 / 57

Page 13: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Layout da Superfıcie de um Prato

Cada prato de um HD e dividido emtrilhas.

I “Aneis” concentricos.Trilhas sao subdivididas em setores.

I Menor unidade que pode ser lida ouescrita.

Entre duas trilhas ou dois setoresconsecutivos, ha uma lacuna. ...

...S0

S1S2

S3

S4

S0S1

S2

S3

S4

Trilhas

LacunaEntreTrilhas

LacunaEntre

Setores

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 13 / 57

Page 14: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Cilindro

HDs modernos possuem multiplos pratos.I Todos giram no mesmo eixo.I Juntos.I Todos possuem o mesmo layout em suas superfıcies.

Conjunto de trilhas correspondentes nos varios pratos echamado de cilindro.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 14 / 57

Page 15: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Numeros Tıpicos

Cada setor geralmente e capaz de armazenar 512 bytes de dados.I HDs mais novos as vezes usam setores de 4 KiBytes.

Um HD pode ter varias superfıcies de leitura/escrita, cada uma com uma cabeca.I e.g., 1, 2, 16.

Em uma dada superfıcie, ha um certo numero de trilhas.I e.g., 10000.

E cada trilha tem um certo numero de setores.I e.g., 64, 200.

Para calcular a capacidade de armazenamento de um HD baseado nessas informacoes:I Capacidade = tamanho do setor × numero de setores total

F O tamanho do setor e em bytes.I numero de setores total = setores por trilha × numero de trilhas × numero de superfıcies

F Considerando que cada trilha tem a mesma quantidade de setores.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 15 / 57

Page 16: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Trilhas Constantes vs. Variaveis

HDs antigos comumente possuıam trilhas com numero fixo de setores.I i.e., todas as trilhas tinham o mesmo numero de setores.

“Tamanho” da trilha era determinado pelo tempo que a cabeca passava sobre a mesma.I Velocidade angular constante.I Trilhas externas eram maiores,em area.I Trilhas internas tinham maior densidade de bits.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 16 / 57

Page 17: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Trilhas Constantes vs. Variaveis

HDs modernos (i.e., desde a decada de 1990),utilizam o metodo de gravacao em multiplaszonas.

I Gravacao nas trilhas mais externas e mais rapida.F Mais bits por segundo.

I Faz com que o numero de bits por trilha seja maiornas trilhas mais externas.

I Mantem a densidade de bits (quase) constante.Resultado:

I Trilhas externas tem mais setores.

Setor 0

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 17 / 57

Page 18: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Organizacao de um Setor

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 18 / 57

Page 19: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Modos de Enderecamento

O setor e a unidade basica de acesso de um HD.I Tanto para leitura, quanto para escrita.I Nao podemos ler/escrever menos que um setor completo.

Logo, o enderecamento e feito atraves da identificacao de setores.Duas formas principais:

I Cylinder-Head-Sector, ou CHS.F Setor e identificado como uma tupla com tres componentes.

I Logical Block Addressing, ou LBA.F Cada setor e mapeado para um identificador numerico unico.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 19 / 57

Page 20: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

O Disco Rıgido: Tempo de Acesso

Quanto tempo demora a leitura de um dado de um HD?Ha varias etapas neste processo:

I Posicionamento da cabeca de leitura sobre a trilha correta.I Espera pelo setor correto (rotacao do prato).I Leitura em si.

Cada uma destas etapas corresponde a uma parcela do tempo total de leitura:I Tempo de busca (seek): posicionar o braco sobre a trilha desejada.I Latencia rotacional (latency): espera para que o setor desejado esteja sob a cabeca.I Tempo de transferencia (transfer): transferir um bloco de bits (setor desejado).

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 20 / 57

Page 21: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Disco Rıgido: Tempo de Busca

Depende do quao rapidamente o HD pode mover a cabeca de leitura.Tambem depende da posicao inicial da cabeca.

I Se ele ja esta proxima da trilha desejada, tempo e curto.HDs tıpicos tem tempo medio de busca na casa de 10 ms.Mas note que o princıpio de localidade espacial pode se aplicar ao HD.

I Leituras/escritas sucessivas podem ser feitas a trilhas proximas.I Reduz o tempo efetivo de busca.

Sistemas operacionais usam varios artifıcios para tentar melhorar esta localidade deacessos.

I Algoritmos de escalonamento de acessos.I Desfragmentacao do sistema de arquivos.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 21 / 57

Page 22: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Disco Rıgido: Latencia Rotacional

Uma vez que a cabeca seja posicionada na trilha, e preciso “esperar” que o setor certoseja alcancado.

I Atraves da rotacao do prato.Se dermos sorte, setor ja estara sob a cabeca.Se dermos azar, o setor acabou de passar.

I Precisaremos esperar uma revolucao completa do prato.Na media, precisaremos de metade de uma revolucao.Velocidades tıpicas de rotacao de pratos vao de 3600 a 7200 RPM.

I Revolucao completa demora de 8 ms a 16 ms.I Metade corresponde de 4 ms a 8 ms.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 22 / 57

Page 23: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Disco Rıgido: Tempo de Transferencia

Depende de uma serie de fatores:I Velocidade de rotacao.I Densidade de bits.I Tamanho do dado.

HDs modernos conseguem taxas de transferencia na casa de 100 MB/s.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 23 / 57

Page 24: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Barramentos de E/S

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 24 / 57

Page 25: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Conceitos Basicos

O conceito de barramento ja foi discutido algumas vezes ao longo deste curso.I Por exemplo, no contexto do barramento interconectando CPU e MP.

Mas computadores modernos possuem multiplos barramentos.I Para interconectar dispositivos de caracterısticas diferentes ao processador.

Dispositivos de E/S tendem a ser muito mais lentos que a MP.I Usar um unico barramento seria prejudicial a MP.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 25 / 57

Page 26: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Por Que os Barramentos de E/S Sao Mais Lentos?

Uma serie de razoes:I Velocidade dos dispositivos de E/S.

F Normalmente lentos em relacao ao processador e a MP.I Distancia dos barramentos de E/S.

F Normalmente longa em relacao ao barramento de conexao da CPU com a MP.I Numero de dispositivos.

F Barramentos sao compartilhados.F Capacidade e dividida entre os dispositivos.F Numero de dispositivos de E/S e relativamente grande.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 26 / 57

Page 27: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Exercıcio 1

Suponha que um HD possua:I 16 cabecas de leitura/escrita.I 10000 cilindros.I 100 setores por trilha.

F Assuma que todas as trilhas tem o mesmo numero de setores.I Setores de 512 bytes.

Determine o tamanho do HD em bytes.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 27 / 57

Page 28: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Exercıcio 2

Considere um HD com as seguintes caracterısticas:I Tempo de busca medio: 4 ms.I RPM: 15000.I Taxa de transferencia: 8 MB/s.

Considerando estes dados, determine o tempo medio para leitura de um setor de 512bytes.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 28 / 57

Page 29: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Exercıcio 2: Solucao

O tempo de busca medio equivale ao tempo medio para buscar a trilha mais o tempomedio de rotacao para achar o setor mais o tempo de transferencia de 512 bytes nataxa especificada.O tempo de busca medio e dado do problema: 4 ms.O tempo medio de rotacao e a metade do tempo de 1 rotacao.

I Sao dadas 15000 rotacoes por minuto.I Ou 15000/60 = 250 rotacoes por segundo.I Se 250 rotacoes demoram 1 segundo, 1 rotacao demora 1/250 segundos ou 0,004 s ou 4 ms.

O tempo de transferencia de 512 bytes numa taxa de 8 MB/s e:I Se transferimos 8 MB ou 8 × 106 bytes por segundo, entao para transferir 512 bytes,

precisamos de 512/(8 × 106) segundos.I O tempo para transferir 512 bytes na taxa especificada e: 0, 064 × 10−3 s = 0,064 ms.

Resposta: 4 ms + 4/2 ms + 0,064 ms = 6,064 ms

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 29 / 57

Page 30: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 30 / 57

Page 31: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores: Introducao

Em geral, dispositivos de E/S nao estao diretamente ligados a um barramento.Ao contrario, ha um dispositivo intermediario realizando esta conexao.

I Chamado de Controlador de E/S.I Algumas vezes, tambem chamado de Modulo de E/S.

O controlador se conecta tanto ao barramento de E/S, quanto ao dispositivo.I Recebe comandos e envia dados para a CPU.I Repassa estes comandos e interage com o dispositivo de E/S em si.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 31 / 57

Page 32: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores: Possıvel Arquitetura

CPU Memória

Controlador

de

Disco

Controlador

de

Vídeo

Barramento

Disco

RígidoMonitor

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 32 / 57

Page 33: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores: Por Que?

Por que nao conectar os dispositivos de E/S diretamente aos barramentos?Varios motivos:

I Dispositivos de E/S diferentes possuem caracterısticas diferentes.F Tempos de acesso.F Comandos.F Formato dos dados.F . . .

I Controladores abstraem as diferencas e tornam o acesso aos dados homogeneo.I Controladores podem controlar multiplas instancias de um dado dispositivo de forma

transparente.F e.g., controladora de HD com multiplos HDs conectados.

I Controladores podem implementar funcionalidades extras.F Que teriam que ser realizadas pela CPU, caso contrario.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 33 / 57

Page 34: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores: Funcionalidades

Duas funcionalidades obvias de um controlador de E/S sao:I Comunicacao com a CPU.I Comunicacao com o dispositivo de E/S.

Alem disso, sao funcionalidades comuns:I Controle e temporizacao.I Bufferizacao dos dados.I Deteccao de erros.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 34 / 57

Page 35: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Controladores: Exemplo de Interacao entre CPU e Controlador

CPU solicita estado do dispositivo ao controlador.Controlador verifica o estado do dispositivo e responde a CPU.Se o dispositivo esta pronto:

I CPU solicita leitura de dados.I Controlador recebe solicitacao e a traduz para comandos do dispositivo.I Dispositivo executa requisicao e repassa dados para o controlador.I Controlador traduz dados para formato adequado para comunicacao com o processador.I Controlador envia dados para o processador.I Processador armazenada dados em memoria.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 35 / 57

Page 36: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos de Dispositivos de E/S

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 36 / 57

Page 37: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Motivacao

Do ponto de vista do programador, como acessar um dispositivo de E/S?Em outras palavras, como dizer ao processador que queremos realizar uma operacao deE/S?Considere o seguinte exemplo:

I Queremos alterar a cor de um determinado pixel exibido no monitor.I Como pedimos ao processador para que isso seja feito?

Neste exemplo, temos uma operacao de saıda de dados.I Queremos “escrever” a cor de um pixel.I i.e., sabemos o que queremos escrever.

Mas qual e o endereco?

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 37 / 57

Page 38: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Tipos

Ha duas formas diferentes de lidar com este enderecamento de dispositivos de E/S:I E/S mapeado em memoria.I E/S mapeado por porta.

E comum que arquiteturas suportem ambas as formas.I Embora dispositivos de E/S complexos tendem a usar E/S mapeado por porta.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 38 / 57

Page 39: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Mapeamento em Memoria

No mapeamento em memoria, dispositivos de E/S sao associados a um ou maisenderecos de memoria.Parte do espaco de enderecamento da MP e reservado para dispositivos de E/S.

I Enderecos nao sao acessıveis na MP.Leituras ou escritas nestes enderecos sao capturadas pelos dispositivos de E/S.

I Traduzidas em requisicoes de entrada ou saıda de dados.Instrucoes de leitura/escrita de memoria sao usadas para E/S.

I e.g., load word, store word.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 39 / 57

Page 40: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Mapeamento em Memoria (Exemplo)

typescreentype = array[1..4000] of byte;

varscreen: screentype absolute $B800:0;

begin

screen[241]:= 70;screen[242]:= 76;screen[243]:= 65;screen[244]:= 76;screen[245]:= 67;screen[246]:= 76;

end.

DOS: mapeamento da memoria devıdeo em modo texto para uma faixade enderecos de memoria.Programas podiam tratar a memoriade vıdeo como um vetor ou matriz.

I Normalmente com 4000 bytes.Cada caractere correspondia a doisbytes:

I ASCII do caractere a ser exibido.I Informacao de cor (fundo e fonte).

Permitia funcionalidades como“salvar” e “restaurar” a tela.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 40 / 57

Page 41: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Mapeamento por Porta

Tambem chamado de E/S isolado.No mapeamento por porta, dispositivos sao associados a outro tipo de endereco.

I Um numero de porta.I Ha instrucoes especiais para ler/escrever em uma porta.

Exemplo (C, Linux):

while(1) {

data = inb(port);if (data != old_data)

printf("%02x\n", data);old_data = data;sleep(1);

}

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 41 / 57

Page 42: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Mapeamentos: Comparacao

Para que o mapeamento em memoria funcione, dispositivos de E/S precisam estarconectados (de alguma forma) ao mesmo barramento da MP.

I No mapeamento por porta, pode-se usar um barramento isolado.I Dedicado para I/O.I Pode afetar o desempenho.

Por outro lado, mapeamento em memoria simplifica logica do processador.I Acesso a MP e a dispositivos de E/S e padronizado.I Nao sao necessarias instrucoes especializadas.

Arquiteturas como a x86 suportam ambos os metodos.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 42 / 57

Page 43: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 43 / 57

Page 44: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: Motivacao

E/S e bem mais lenta que processamento.I E que acessos a MP.

Uma vez que uma operacao de E/S e requisitada, ela tipicamente demora varios ciclos declock.Perguntas:

I O que o processador faz neste perıodo?I Como ele sabe que a operacao foi concluıda?

Resposta: depende da tecnica de acesso utilizada.I E/S programada.I E/S por interrupcao.I E/S por DMA.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 44 / 57

Page 45: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S Programada

Processo de transferencia de dados e completamente controlado pela CPU.I Verifica estado do dispositivo.I Envia pedido.I Aguarda finalizacao.I Recebe os dados.

Durante a operacao, CPU fica “presa”.I Ou ao menos gasta tempo para periodicamente verificar se a operacao esta pronta.I Tambem gasta tempo interagindo com o dispositivo/controlador.

Metodo ineficiente.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 45 / 57

Page 46: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S Programada (Exemplo de Interacao)

CPU solicita operacao ao dispositivo/controlador.I Parametros enviados pelo barramento.

Dispositivo realiza operacao.Enquanto isso, CPU periodicamente verifica se a operacao terminou.

I Chamado de polling ou interrogacao.Eventualmente, operacao termina e controlador/dispositivo armazena esta informacao.

I Um registrador interno ou um bit de controle.Em dado momento, CPU volta a verificar e identifica que a operacao esta pronta.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 46 / 57

Page 47: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S Programada (Mais Formalmente)

Envia

Comando

Interroga

Estado

Pronto?

Ler

Dado

Terminou?

Continue

Não

Não

Sim

Sim

Enquanto requisicao nao termina, processador pode:I Fazer algo util e, de tempos em tempos, verificar o status.I Ou simplesmente verificar constantemente o status.

O segundo caso e conhecido como espera ocupada.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 47 / 57

Page 48: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao

E/S programada e muito ineficiente.I Sao gastos ciclos do processador, esperando pelo fim da operacao.I Mesmo quando acoes uteis sao intercaladas.

F i.e., quando nao utilizamos espera ocupada.Ineficiencia causada pela espera.

I Nao sabemos quanto tempo a operacao demora.I Precisamos vericar de tempos em tempos.

O ideal seria que o dispositivo/controlador pudesse avisar quando a operacao fosseconcluıda.

I Processador ficaria completamente livre para realizar outras tarefas.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 48 / 57

Page 49: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao (II)

Esta e exatamente a estrategia usada na E/S por interrupcao.I Processador requisita determinada operacao a um dispositivo/controlador.I Enquanto a operacao e realizada, CPU realiza outras tarefas.

F e.g., executa outras instrucoes do programa.I Quando a operacao e concluıda, dispositivo/controlador gera uma interrupcao.

Uma interrupcao e apenas um sinal eletrico de aviso ao processador.Uma vez recebido, processador para o que esta fazendo e aciona um tratador deinterrupcoes

I Trecho de codigo que lida com o evento.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 49 / 57

Page 50: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao (Exemplo de Interacao)

CPU solicita operacao ao dispositivo/controlador.I Parametros enviados pelo barramento.

Dispositivo realiza operacao.Enquanto isso, CPU fica livre para fazer outras atividades.Eventualmente, operacao termina e controlador/dispositivo gera o sinal de interrupcao.CPU recebe o sinal, dispara o tratador de interrupcao que le o dado do buffer dodispositivo/controlador.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 50 / 57

Page 51: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao (Fluxo de Execucao)

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 51 / 57

Page 52: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao (Tratamento da Interrupcao)

As informacoes salvas antes do tratamento da interrupcao sao chamadas de contexto.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 52 / 57

Page 53: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: E/S por Interrupcao (Multiplas Interrupcoes)

Note que multiplas operacoes de E/S podem ser executadas simultaneamente. Exemplo:I CPU requisita leitura do HD.I Enquanto a leitura e feita, CPU requisita amostra do microfone.

Neste caso, ao receber uma interrupcao, como a CPU sabe quem a gerou?I No exemplo, a controladora de disco ou a placa de som?

Varias solucoes:I Uma linha de interrupcao para cada controlador/dispositivo.

F Limita numero de dispositivos.F Projeto mais caro e complexo.

I Deteccao por software: UCP interroga dispositivo/controlador (ineficiente).I Arbitracao de barramento: dispositivo/controlador obtem barramento para ele

momentaneamente.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 53 / 57

Page 54: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: DMA

O uso de interrupcoes e bem mais eficiente que a E/S programada.I Processador nao precisa ficar verificando se a operacao terminou.

Mas note que o processador ainda controla a execucao da operacao.Considere, por exemplo, a tarefa de ler uma grande quantidade de dados do HD para aMP.

I Processador requisita leitura do primeiro setor.I Processador fica livre para outras tarefas.I Quando ha uma interrupcao, processador le dado do barramento e transfere para a MP.I Processador requisita leitura do proximo setor.I . . .

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 54 / 57

Page 55: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: DMA (II)

A cada interrupcao, processador para o que esta fazendo para dar sequencia a operacao.Os ciclos usados para isso poderiam ser mais bem empregados executando instrucoesuteis ao programa.Solucao:

I Usar um dispositivo auxiliar, chamado de controlador de DMA.I CPU informa os parametros da E/S no inıcio.I Controlador de DMA interage com o controlador/dispositivo de E/S.I Apenas quando a transferencia estiver completamente concluıda, controlador de DMA

gera uma interrupcao para a CPU.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 55 / 57

Page 56: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: DMA e Barramentos

Controlador de DMA transfere dados de E/S diretamente para a MP.Para isso, controlador precisa estar conectado ao barramento da MP.

I Direta ou indiretamente.Isso pode significar um prejuızo nos acessos da CPU a MP.Mas, em geral, o desempenho com DMA e bastante superior em grandes transferenciasde dados.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 56 / 57

Page 57: Aula 24: Dispositivos de Entrada e Saída - ic.uff.brfernanda/2016-1/FAC/aulas/aula23.pdf · Fernanda Passos (UFF) Dispositivos de Entrada e Sa´ıda FAC 8 / 57. E/S e Barramentos

Tecnicas de Acesso: Ultimo Detalhe

Note que a tecnica de acesso e ortogonal ao metodo de mapeamento de E/S.Isto e, podemos usar DMA, interrupcoes, E/S programada tanto para mapeamento emmemoria, quanto para mapeamento por porta.

Fernanda Passos (UFF) Dispositivos de Entrada e Saıda FAC 57 / 57