Arquitetura de Computadores Prof. Jonathan Gustavo Rogéri Memória Cache • CPUs são mais rápidas que as memórias ; • CPU precisa esperar vários ciclos para obter retorno; • Para memórias ficarem mais rápidas, precisariam estar no chip da CPU, o que é inviável tecnicamente e economicamente; • Cache, memória rápida e pequena; • Palavras usadas com mais freqüência são mantidas na cache; • Quando precisa de uma palavra, a CPU verifica primeiro a chace, e se não encontrar o que precisa, parte para a memória principal; Memória Cache • Princípio da localidade – Tendência de se utilizar os vizinhos de um endereço utilizado – Laços de repetição executam várias vezes o mesmo comando • Linhas de cache: blocos trazidos da memória principal usando o principio da localidade • Quanto maior a cache, melhor o desempenho da CPU, porém, maior o custo • Cache unificada x Cache dividida • Quantidade de caches Memória Secundária Discos magnéticos • Memória principal é sempre muito pequena • O disco magnético é composto de: – um ou mais pratos de alumínio com revestimento magnetizável, normalmente com 3 a 12 centímetros de diâmetro – um cabeçote de disco que contem uma bobina de indução que flutua logo acima da superfície, apoiado sobre um colchão de ar – A maioria dos discos possui vários pratos empilhados na vertical, cada um com seu braço e cabeçotes específicos – A trilha é uma sequência de bits circular completa no disco – Com a tecnologia atual, os discos possuem entre 5000 e 1000 trilhas por centímetro – A trilha é dividida em uma quantidade de setores, de tamanho fixo, precedida por um preâmbulo – Logo após a trilha tem-se o código de correção de erros (ECC) – Entre dois setores encontra um espaço denominado lacuna intersetores – Cuidados com relação ao tamanho real dos discos comercializados Discos magnéticos Discos magnéticos • Corrente positiva ou negativa passa pelo cabeçote e magnetiza a superfície logo abaixo dele • Quando o cabeçote passa por uma superfície magnetizada, a corrente positiva ou negativa é induzida nele, possibilitando assim a leitura dos bits. • Braços móveis fazem com que o cabeçote se mova para a parte central ou mais exterior do disco • Os discos giram para que o cabeçote fique posicionado sobre o endereço necessário • Maior densidade na direção radial do que ao longo da circunferência • Gravação perpendicular será comercializada em pouco tempo Discos magnéticos Discos magnéticos • Desempenho do disco depende de: – Busca (seek): tempo que o braço leva para se deslocar até a trilha correta (médio entre 5 e 10 ms) – Latência rotacional: tempo gasto pelo para que o setor desejado gire até o cabeçote (médio entre 3 e 6 ms) • Tempos mais comuns: 5400 RPM, 7200 RPM e 10800 RPM Discos magnéticos • Antigamente os fabricantes utilizavam quantidades fixas de setores, independente da posição radial no disco. Hoje, a quantidade de setores vai aumentando conforme a circunferência fica maior • Todos os drives de disco possuem um controlador, um chip que controla o drive Discos IDE • Discos antigos possuiam controlador em placa separada e utilizam o BIOS para gravação e leitura • IDE (Integrated Drive Eletronics – Eletrônica de Drives Integrados) – 1980, podia endereçar até 504 Mb • EIDE (Extended IDE – IDE Estendido) – 1994, podia endereçar até 128Gb – Podiam trabalhar com dois canais (drive primário e secundário) – Suportava até 4 drives (CD, DVD, etc) – Velocidade de 4 para 16 Mb/s Discos IDE • ATA-3 (Attachment) – Referência ao IBM PC/AT (Advanced Tecnology) • ATAPI-4 (ATA Packet Interface – Interface de pacotes) – Velocidade de 33 Mb/s • ATAPI-5 – Velocidade de até 66 Mb/s • ATAPI-6 – Velocidade de até 100 Mb/s – Pode endereçar até 128Pb Discos IDE • ATAPI-7 (ATA Serial ou Serial ATA) – Uma ruptura radical com o passado – Ao invés de aumentar o tamanho do conector, utiliza-se transmissão de 1 bit por vez – Velocidades que começam em 150 Mb/s, mas espera-se alcançar 1,5 Gb/s – Melhora o fluxo de ar interno dos computadores – Redução no consumo de energia SCSI • Small Computer System Interface (Interface para Sistemas Computacionais Pequenos) • Interface diferente dos padrões IDE • Taxas de transmissão mais elevadas • Normalmente utilizados por computadores de grande porte e servidores SCSI • Barramento ao qual podem ser conectados um controlador SCSI e até 15 dispositivos • Dispositivos com dois conectores, um para entrada e outro para saída • Saída de um dispositivo é conectadas à entrada do outro • Cabos de barramento possuem alta imunidade contra ruídos e podem ser utilizados a vários metros de distância • IDE e EIDE permitem somente um dispositivo ativo por vez, enquanto SCSI permite vários dispostivos trabalhando simultaneamente RAID • Desempenho das CPUs dobra a cada 18 meses • Desempenho dos discos aumentou de 5 a 10 vezes em 40 anos • E/S paralelas poderia ser uma saída para melhoria de desempenho de discos • Em 1988 foram propostas por Patterson seis organizações específicas de discos RAID • RAID (Redundant Array of Inexpensive Disks – Arranjo Redundante de Discos Baratos) • RAID (Redundant Array of Independent Disks – Arranjo Redundante de Discos Independentes) • A idéia é instalar uma caixa cheia de discos próxima ao computador e substituir o controlador de discos por um controlador RAID • Para o software, parece um único drive • Divide os dados nos n drives • Possibilidade de RAID SCSI RAID • RAID Nível 0 – Disco dividido em tiras de k setores – Escreve tiras consecutivas nos drives, por alternância circular – Para ler um bloco com tamanho de 4 tiras, o processo aconteceria paralelamente – Funciona melhor com requisições grandes – Não funciona com SOs que solicitam dados a um setor por vez – Não possui redudância RAID • RAID Nível 1 – Duplica todos os discos: quatro primários e quatro de backup – Cada tira é escrita duas vezes – Não ganha desempenho na escrita, mas duplica o desempenho na leitura – Excelente opção para segurança de dados RAID • RAID Nível 2 – Divisão em palavras ou até mesmo em bytes – Quatro bits de dados mais três de paridade, sendo um salvo em cada drive – Alta taxa de dados, mas poucas requisições de E/S simultaneamente – Rotação dos drives sincronizada – Alto índice de segurança de dados – Exige muito do controlador RAID • RAID Nível 3 – Simplificação do RAID Nível 2 – Os bits de paridade são salvos em um drive específico de paridade – Facilidade para correção de erros – Alta taxa de dados, mas poucas requisições de E/S simultaneamente – Drives com rotação sincronizada RAID • RAID Nível 4 – Divisão por setores – Parecido com o RAID Nível 0, porém com um drive para paridade – Se um drive falhar, os dados perdidos podem ser recalculados com base no drive de paridade – Ao alterar qualquer dado, a paridade precisa ser recalculada, resultando numa perda excessiva de tempo RAID • RAID Nível 5 – Paradide distribuida uniformimente pelos drives – Não gera gargado no drive de paridade – Alta complexidade para reconstruir os dados um drive danificado