760 likes | 980 Vues
Periféricos e interfaces. Dispositivos de E/S. Diversos dispositivos — comportamento (entrada vs. saída) — parceiro (quem está do outro lado?) — taxa de dados. Um sistema típico de Hardware . CPU chip. register file. ALU. system bus. memory bus. main memory. bus interface. I/O
E N D
Dispositivos de E/S • Diversos dispositivos — comportamento (entrada vs. saída) — parceiro (quem está do outro lado?) — taxa de dados
Um sistematípico de Hardware CPU chip register file ALU system bus memory bus main memory bus interface I/O bridge I/O bus Expansion slots for other devices such as network adapters. USB controller graphics adapter disk controller mouse keyboard monitor disk
Barramento (bus) • Contem um conjunto de linhas de controle e um conjunto de linhas de dados, cujo acesso é compartilhado entre os dispositivos que são conectados. • Os dispositivos conectados num barramento, podem ser em geral: processador, memória e dispositivos de E/S. • As linhas de controle são usadas para sinalizar solicitações e confirmações e, também, para indicar que tipo de informação se encontra nas linhas de dados. • As linhas de dados transportam informações entre a origem e o destino. • Essa informação pode consistir de dados, comandos complexos ou endereços.
Barramentos (Bus) • Projeto difícil: — pode ser um gargalo (bottleneck) — comprimento do barramento — numero de dispositivos — compromisso(buffers para bandwidth superior aumenta a latência) — suporte para muitos dispositivos diferentes — custo • Tipos de barramentos: — processador-memória (pequeno, alta velocidade, projeto específico) — backplane (alta velocidade, em geral padronizado, p.ex., PCI) — E/S (dispositivos diferentes, padronizado, p.ex., SCSI) • Síncrono vs. Assíncrono — usa um clock e um protocolo síncrono, rápido e pequeno mas todos os dispositivos devem operar a uma mesma taxa • e a distorção (skew) do clock requer barramento curto — não usar um clock e ao invés usar handshaking
Tipos de dispostivos conectados num barramento • Num barramento são realizadas transações de transmissão de dados dos dispositivos origem para os dispositivos destino e para essas transações deve ter um controle. • Mestre – é quem controla o barramento • Normalmente é o processador. • Escravo – é quem é controlado • Normalmente são memórias e E/S • Mestre temporário – é quem assume o controle temporariamente.
Arbitração do Barramento • Quando num barramento existem vários dispositivos considerados mestres, deve existir um esquema de arbitração para determinar quem deve exercer a função de mestre num determinado instante. • Arbitração de barramento: — arbitração daisy chain (não muito justo) — arbitração centralizada (requer um árbitro), p.ex., PCI — auto seleção, p.ex., NuBus usado no Macintosh — detecção de colisão, p.ex., Ethernet
Comunicação com o Processador - Polling • Polling – é a forma mais simples para um dispositivo de E/S se comunicar com o processador. • O dispositivo de E/S coloca a informação no registrador de status, e o processador deve ler essa informação. • A desvantagem do polling é que ele desperdiça tempo de processador, pois os processadores são muito mais rápidos que os dispositivos de E/S; e o processador lê o registrador de status muitas vezes enquanto o dispositivo não completa uma operação de E/S.
Comunicação com o processador - Interrupção • Interrupçao – é um artifício usado para notificar o processador quando um dispositivo de E/S exige atenção do processador, interrompendo o processador. • Uma interrupção de E/S é assíncrona com relação à execução da instrução. • A unidade de controle do processador só verifica uma interrupção de E/S no momento em que começa uma nova instrução. • Quando uma interrupção de E/S ocorre, são transmitidas informações adicionais, como a identidade do dispositivo que está gerando a interrupção. • As interrupções representam dispositivos que podem ter diferentes prioridades em relação ao seu atendimento.
DMA – Direct Memory Access • Nos casos de polling e interrupção, o trabalho de mover dados fica a cargo do processador. • Para dispositivos de largura de banda (bandwidth) alta, como discos rígidos, as transferências consistem de blocos de dados relativamente grandes (centenas a milhares de bytes). • Para esses casos, foi inventado o mecanismo chamado acesso direto à memória (DMA – Direct Memory Access). • No DMA a interrupção é também usada, mas somente no término da transferência de dados, ou quando ocorre um erro. • O DMA usa um controlador especializado, que transfere dados entre um dispositivo de E/S e a memória independente do processador. • O controlador de DMA passa a ser o mestre do barramento e direciona as leituras e escritas entre si mesmo e a memória.
Barramentos do Pentium 4 • No Pentium 4, o processador se conecta aos periféricos por meio de dois chips principais. • O chip próximo à CPU é o hub controlador da memória, normalmente chamado de bridge norte. • O chip conectado a ele é o hub controlador de E/S, chamado de bridge sul. • O Bridge norte basicamente é um controlador de DMA, conectando o processador à memória, ao barramento gráfico AGP e ao chip da bridge sul. • O Bridge sul conecta a uma série de barramentos de E/S. • A Intel e outros fabricantes oferecem uma grande variedade de conjunto de chips para conectar o Pentium 4 ao mundo exterior.
Exemplo de uso de um barramento • ACESSO A DISCO RÍGIDO Leitura de setor
Leitura de um setor de disco: passo 1 CPU chip O CPU inicia uma leitura de disco escrevendo um comando, número de bloco lógico e endereço de memória num porto associado a um controlador de disco. register file ALU main memory bus interface I/O bus USB controller graphics adapter disk controller mouse keyboard monitor disk
Leitura de um setor de disco: passo 2 CPU chip O controlador de disco lê o setor e realiza a transferência usando o acesso direto à memória (DMA- Direct Memory Access). register file ALU main memory bus interface I/O bus USB controller graphics adapter disk controller mouse keyboard monitor disk
Leitura de um setor de disco: passo 3 CPU chip Quando a transferência usando DMA termina, o controlador de disco notifica a CPU usando uma interrupção (usando um pino especial de “interrupt” da CPU) register file ALU main memory bus interface I/O bus USB controller graphics adapter disk controller mouse keyboard monitor disk
drives de Disco • Para fazer acesso a dados: — busca: posicionar a cabeça sobre a trilha ( média 3 a 14 ms) — latência rotacional: espera por um setor desejado (.5 / RPM) — transferência: leitura dos dados (um ou mais setores) 30 a 80 MBits/s
Drives de disco • A latência média para a informação desejada está a meio caminho ao redor do disco. Como os discos giram entre 5.400 rpm a 15.000 rpm, a latência rotacional média está entre: 0.5 / 5.400 rpm = 0.5 /(5.400/60) = 5,6 ms e 0.5 / 15.000 rpm = 0.5/(15.000/60) = 2,0 ms. O tempo de transferência é uma função do tamanho do setor, da velocidade de rotação e da densidade de gravação de uma trilha. Ex. 30 a 80 Mbits/s. A maioria dos controladores tem uma cache interna que armazena setores; as taxas de transferência da cache são da ordem de 320 Mbits/s.
Exemplo: Tempo de leitura do disco • Qual é o tempo médio para ler ou escrever um setor de 512 bytes em um disco rígido girando a 10.000 rpm? O tempo de seek médio anunciado é de 6 ms, a taxa de transferência é de 50 Mbytes/s e o overhead da controladora é de 0,2 ms. Suponha que o disco esteja ocioso, de modo que não existe um tempo de espera. • O tempo médio de acesso é igual ao tempo médio de seek + latência rotacional média + tempo de transferência média + overhead da controladora. 6,0 ms + 0,5/(10/60) + 512/50.000 + 0,2 ms = 6,0 ms + 3,0 ms + 0,01 ms + 0,2 ms = 9,2 ms
RAID – Redundant Arrays of Inexpensive Disks • Substituindo discos grandes por muitos discos pequenos, o desempenho melhora porque há mais cabeças de leitura, e há vantagens no custo, consumo e espaço ocupado, pois discos menores são mais eficientes que os discos maiores. • A redundância é necessária porque muito mais discos menores tem menor confiabilidade do que alguns discos grandes. • De quanta redundância é necessária? • Evolução do número de discos de verificação extras: • RAID 0 – nenhuma redundância • RAID 1 – espelhamento • RAID 2 – Não usado • RAID 3 - paridade intercalada por um bit • RAID 4 – paridade intercalada por bloco • RAID 5 – paridade distribuída intercalada por bloco • RAID 6 – redundância P + Q
RAID 0 – sem redundância • Striping – espalhamento de dados por vários discos. • O striping por um conjunto de discos faz com que pareça como um único disco grande. • O desempenho é melhor que um único disco, pois muitos discos operam ao mesmo tempo. • Os sistemas de edição de vídeo, por exemplo, normalmente repartem dados e podem não se preocupar com a confiabilidade tanto quanto a um banco de dados. • Muito usado.
RAID 1 - ESPELHAMENTO OU SHADOWING • Utiliza o dobro da quantidade de discos do RAID 0. • Sempre que os dados são gravados em disco, esses dados também são gravados em um disco redundante. • Se um disco falhar, o sistema simplesmente vai ao “espelho” e lê seu conteúdo para obter a informação desejada. • O espelhamento é solução de RAID mais dispendiosa, pois exige mais discos. • USADO POR: EMC, HP (Tandem), IBM
RAID 2 • Utiliza um esquema de detecção e correção de erros que é mais usado para memórias. • Caiu em desuso Bits de detecção e correção Bits de dados
RAID 3 – usa bit de paridade • Só acrescenta informações redundantes suficientes para restaurar a informação perdida em uma falha. • Todos os discos do grupo são usados simultaneamente, com um disco extra para manter as informações para verificação e correção de falha – Paridade. • A correção é possível quando se sabe o disco que apresentou “crash”. • RAID 3 é popular para aplicações com grande conjunto de dados, como multimídia. • Todos os discos precisam ser lidos para determinar os dados, diferentemente do RAID 1 • USADO PELA: Storage Concepts
RAID 4 – paridade por bloco (strip) • Usa a mesma quantidade de discos de verificação que o RAID 3, mas eles acessam dados de forma diferente. • A paridade é armazenada por blocos e associada a um conjunto de bloco de dados. • USADA POR: Network Appliance
RAID 5 – paridade por blocos distribuída • A informação de paridade é espalhada por todos os discos, de modo que não haja um único gargalo para escritas, como no RAID 4. • BASTANTE USADO
RAID 6 • Redundãncia P + Q • Os esquemas baseados em paridade protegem contra uma única falha auto-identificável. • Quando uma correção de única falha não é suficiente, a paridade pode ser generalizada para ter um segundo cálculo sobre os dados e outro disco de verificação. • Esse segundo bloco de verificação permite a recuperação de uma segunda falha. • O overhead de armazenamento é o dobro do RAID 5. • RARAMENTE USADO
FORMAS DE GRAVAÇÃO EM DISCO MAGNÉTICO • FM CADA BIT É REPRESENTADO POR UM CLOCK E DADO • MFM X FM • RLL (Run Length Limited) 1,5 X MFM • ARLL (Advanced RLL) 2XMFM
CÓDIGO RLL 2.7 • DATA BIT RLL 2.7 000 000100 10 0100 010 100100 0010 00100100 11 1000 011 001000 0011 00001000 Cada 2 bits 1 deve ter no máximo 7 bits 0. O dado deve ser re-codificado usando a tabela: 001000100100100100 (011)-001000 Ex: 011010010 (010)-100100 (010)-100100
RLL 2.7 Só tem pulsos para bits de dados iguais a 1. Exemplo: para 001000100100100100
Cache de disco • Os discos rígidos IDE tem uma pequena memória. • Quanto o SO lê um setor, o disco rígido lê a trilha inteira e armazena nessa memória • Como é muito provável, pelo princípio da localidade espacial, que o próximo setor que o SO irá pedir se encontre na mesma trilha, existe uma alta probabilidade de acerto.
Interface IDE (Integrated Drive Electronics) • Para eliminar o ruído no cabo da interface controladora com o disco, a Western Digital criou um disco rígido com a interface controladora integrada diretamente na mesma placa dos circuitos de controle do mecanismo do disco. • Essa tecnologia passou a ser chamada de IDE
Interface IDE: ATA e ATAPI • A conexão de um disco IDE ao computador é chamada ATA (AT Attachment – Ligação AT), provida através de um conector para flat-cable de 40 pinos • Há um segundo padrão de conexão, ATAPI ( AT Attachment Packet Interface) ou ATA-2. Esse padrão, permite conexão de outros dispositivos IDE ao computador, como unidades de CD-ROM, DVD, gravadores de CD-R e CD-RW, unidades Zip, etc. Fisicamente o flat-cable é também de 40 pinos. A única mudança é o protocolo de transferência de dados, que permite transferência de dados em taxas mais elevadas. Conector IDE/ATA
Exemplo 1: Placa Multi-IO com interface IDE Conector IDE (ATA)
Exemplo 3: placa mãe com conector IDE Conector IDE (ATA)
Cuidado! interconexão do disco com flat-cable 40 pinos funcionando como antena evitar Funciona como antena
SATA – Serial ATA VELOCIDADE
SATA • Serial ATA conecta todos os dispositivos ATA e ATAPI, incluindo CDs, DVDs, fitas, dispositivos removíveis, zip drives, e CD-RW’s à placa mãe e substitui a interface paralela ATA. • Serial ATA reduz o custo e aumenta o desempenho incluindo a possibilidade de conexão quente (hot-plugability) • Serial ATA começa com throughput de 1.5 Gbps, e é escalável para 2x, 4x em diante. • Serial ATA é compatível com os drivers de software atualmente existente para ATA e roda em SOs padrões sem modificação.