. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aula 24: E/S: Dispositivos Típicos e Barramentos
Diego Passos
Universidade Federal Fluminense
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nas Aulas Anteriores. . .
Temos discutido sobre o processador, execução de programas, linguagem de montagem. . .
▶ Vimos como um processador implementa um conjunto de instruções.
▶ Vimos como programas são traduzidos para a linguagem de montagem.
⋆ E para instruções binárias.
A Partir de Hoje. . .
Vamos alterar o foco do curso.
▶ Abordar um outro sub-sistema de um computador. Vamos os dispositivos de Entrada e Saída.
▶ O que são.
▶ Exemplos.
▶ Como funcionam.
▶ . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conceitos Básicos
O Que é Entrada e Saída?
Processo pelo qual um processador se comunica com o mundo externo.
▶ Um usuário humano.
▶ Outro sistema computacional.
▶ Sensores, atuadores. . .
Comunicação pode se dar em dois sentidos:
▶ Entrada: processador recebe dados do mundo externo.
▶ Saída: processador envia dados para o mundo externo.
Alguns dispositivos de E/S são unidirecionais, outros são bidirecionais. Também referenciado pela sigla em inglês I/O.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dispositivos de E/S: Alguns Exemplos
Dispositivos de entrada: ▶ Teclado. ▶ Mouse. ▶ Acelerômetro. ▶ GPS. ▶ Câmera. ▶ Kinect. Dispositivos de saída: ▶ Impressora. ▶ Monitor.
Dispositivos de E/S: Alguns Exemplos (II)
Dispositivos de entrada e saída:
▶ Tela sensível ao toque.
▶ Placa de som.
▶ HDs, pendrives, . . .
▶ Interface de rede (Ethernet, Wifi, Bluetooth, . . . ).
▶ Modem.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E/S e Barramentos
Processador se comunica com outros dispositivos através de barramentos.
▶ Meios de comunicação (potencialmente) compartilhados.
▶ Vários dispositivos conectados ao mesmo barramento.
Barramentos podem ser interligados a outros barramentos.
▶ Através de pontes ou bridges.
UCP Flash ROM (BIOS) Super I/O Porta Serial Porta Paralela Teclado Mouse Northbridge (hub controlador da memória) Southbridge (hub controlador de E/S) IDE SATA USB Ethernet Audio Codec CMOS Memory Placa Gráfica On-Board Gerador de Clock Placa Gráfica Barramento Gráfico de Alta Velocidade (AGP ou PCI Express) Chipset Front-side bus Barramento de Memória Bancos de Memória Barramento PCI Slots PCI LPC Bus Barramento Interno Barramento PCI Cabeamentos e Conectores
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O Disco Rígido
Um dos dispositivos de E/S mais comuns em computadores modernos.
▶ Embora comece a ser substituído por outras tecnologias, como SSD. Importante por também atuar como um tipo de memória.
▶ Memória secundária, na hierarquia.
▶ Nível mais baixo.
▶ Grande capacidade, relativamente barato, mas lento. Também chamado de HD (do inglês Hard Drive).
O Disco Rígido: Princípio de Funcionamento
HDs utilizam uma mídia que pode ser magnetizada.
Informação é armazenada alterando a magnetização de parte da mídia. A mídia é composta por um ou mais discos concêntricos.
▶ Chamados de pratos.
▶ Por sua vez, podem ter duas superfícies (de baixo e de cima).
HD possui uma cabeça de
leitura/gravação que se posiciona sobre regiões dos discos.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O Disco Rígido: Layout da Superfície de um Prato
Cada prato de um HD é dividido em trilhas.
▶ “Anéis” concêntricos.
Trilhas são subdivididas em setores.
▶ Menor unidade que pode ser lida ou escrita.
Entre duas trilhas ou dois setores
consecutivos, há uma lacuna. ...
... S0 S1 S2 S3 S4 S0 S1 S2 S3 S4 Trilhas Lacuna Entre Trilhas Lacuna Entre Trilhas
O Disco Rígido: Cilindro
HDs modernos possuem múltiplos pratos.
▶ Todos giram no mesmo eixo.
▶ Juntos.
▶ Todos possuem o mesmo layout em suas superfícies. Conjunto de trilhas correspondentes nos vários pratos é chamado de cilindro.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O Disco Rígido: Números Típicos
Cada setor geralmente é capaz de armazenar 512 bytes de dados.
▶ HDs mais novos às vezes usam setores de 4 KiBytes.
Um HD pode ter várias superfícies de leitura/escrita, cado uma com uma cabeça.
▶ e.g., 1, 2, 16.
Em uma dada superfície, há um certo número de trilhas.
▶ e.g., 10000.
E cada trilha tem um certo número de setores.
O Disco Rígido: Trilhas Constantes vs. Variáveis
HDs antigos comumente possuíam trilhas com número fixo de setores.
▶ i.e., todas as trilhas tinham o mesmo número de setores.
“Tamanho” da trilha era determinado pelo tempo que a cabeça passava sobre a mesma.
▶ Velocidade angular constante.
▶ Trilhas externas eram maiores,em área.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O Disco Rígido: Trilhas Constantes vs. Variáveis
HDs modernos (i.e., desde a década de 1990), utilizam o método de gravação em múltiplas zonas.
▶ Gravação nas trilhas mais externas é mais rápida.
⋆ Mais bits por segundo.
▶ Faz com que o número de bits por trilha seja maior nas trilhas mais externas.
▶ Mantém a densidade de bits (quase) constante. Resultado:
▶ Trilhas externas têm mais setores.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O Disco Rígido: Modos de Endereçamento
O setor é a unidade básica de acesso de um HD.
▶ Tanto para leitura, quanto para escrita.
▶ Não podemos ler/escrever menos que um setor completo.
Logo, o endereçamento é feito através da identificação de setores. Duas formas principais:
▶ Cylinder-Head-Sector, ou CHS.
⋆ Setor é identificado como uma tupla com três componentes.
▶ Logical Block Addressing, ou LBA.
O Disco Rígido: Tempo de Acesso
Quanto tempo demora a leitura de um dado de um HD? Há várias etapas neste processo:
▶ Posicionamento da cabeça de leitura sobre a trilha correta.
▶ Espera pelo setor correto (rotação do prato).
▶ Leitura em si.
Cada uma destas etapas corresponde a uma parcela do tempo total de leitura:
▶ Tempo de busca (seek): posicionar o braço sobre a trilha desejada.
▶ Latência rotacional (latency ): espera para que o setor desejado esteja sob a cabeça.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disco Rígido: Tempo de Busca
Depende do quão rapidamente o HD pode mover a cabeça de leitura. Também depende da posição inicial da cabeça.
▶ Se ele já está próxima da trilha desejada, tempo é curto. HDs típicos têm tempo médio de busca na casa de 10 ms.
Mas note que o princípio de localidade espacial pode se aplicar ao HD.
▶ Leituras/escritas sucessivas podem ser feitas à trilhas próximas.
▶ Reduz o tempo efetivo de busca.
Sistemas operacionais usam vários artifícios para tentar melhorar esta localidade de acessos.
▶ Algoritmos de escalonamento de acessos.
Disco Rígido: Latência Rotacional
Uma vez que a cabeça seja posicionada na trilha, é preciso “esperar” que o setor certo seja alcançado.
▶ Através da rotação do prato.
Se dermos sorte, setor já estará sob a cabeça. Se dermos azar, o setor acabou de passar.
▶ Precisaremos esperar uma revolução completa do prato. Na média, precisaremos de metade de uma revolução.
Velocidades típicas de rotação de pratos vão de 3600 a 7200 RPM.
▶ Revolução completa demora de 8 ms a 16 ms.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disco Rígido: Tempo de Transferência
Depende de uma série de fatores:
▶ Velocidade de rotação.
▶ Densidade de bits.
▶ Tamanho do dado.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conceitos Básicos
O conceito de barramento já foi discutido algumas vezes ao longo deste curso.
▶ Por exemplo, no contexto do barramento interconectando CPU e MP. Mas computadores modernos possuem múltiplos barramentos.
▶ Para interconectar dispositivos de características diferentes ao processador. Dispositivos de E/S tendem a ser muito mais lentos que a MP.
Por Que os Barramentos de E/S São Mais Lentos?
Uma série de razões:
▶ Velocidade dos dispositivos de E/S.
⋆ Normalmente lentos em relação ao processador e à MP.
▶ Distância dos barramentos de E/S.
⋆ Normalmente longa em relação ao barramento de conexão da CPU com a MP.
▶ Número de dispositivos.
⋆ Barramentos são compartilhados.
⋆ Capacidade é dividida entre os dispositivos.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Padronização dos Barramentos
A ideia dos dispositivos de E/S é expandir a funcionalidade do computador.
▶ Dispositivos periféricos.
Por isso, é desejável que os dispositivos de E/S sejam genéricos.
▶ Possam ser conectados a vários tipos de computadores diferentes.
▶ e.g., uma impressora que pode ser conectada tanto a um PC, quanto a um MAC.
Como os dispositivos de E/S se conectam a barramentos, estes precisam ser padronizados.
Padronização dos Barramentos (II)
Características Firewire (1394) USB 2.0 PCI Express Serial ATA Serial Attached SCSI
Tipo de Uso Externo Externo Interno Interno Externo
Dispositivos por Canal
63 127 1 1 4
Largura do BD 4 2 2 por pista 4 4
Capacidade Teórica 50MB/s ou 100MB/s 0,2MB/s, 1,5MB/s ou 60MB/s 250MB/s por pista 300MB/s 300MB/s Conectável Mesmo Ligado
sim sim depende sim sim
Comprimento Máximo do Barramento 4,5m 5m 0,5m 1m 8m Nome do Padrão IEEE 1394, IEEE 1394b USB Implemen-tors Forum PCI-SIG SATA-IO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exercício 1
Suponha que um HD possua:
▶ 16 cabeças de leitura/escrita.
▶ 10000 cilindros.
▶ 100 setores por trilha.
⋆ Assuma que todas as trilhas têm o mesmo número de setores.
▶ Setores de 512 bytes.
Exercício 2
Considere um HD com as seguintes características:
▶ Tempo de busca médio: 4 ms.
▶ RPM: 15000.
▶ Taxa de transferência: 100 MB/s.
Considerando estes dados, determine o tempo médio para leitura de um setor de 512 bytes.