6.9 – Memória Cache: A memória cache é uma pequena porção de

Propaganda
ARQUITETURA DE COMPUTADORES - 1866
6.9 – Memória Cache:
A memória cache é uma pequena porção de memória inserida entre o
processador e a memória principal, cuja função é acelerar a velocidade de
transferência das informações entre a CPU e a memória principal e, com isso,
aumentar o desempenho dos sistemas de computação.
Para tanto, este tipo de memória é fabricado com tecnologia semelhante à da
CPU e, em conseqüência, possui tempos de acesso compatíveis com a mesma,
resultando numa considerável redução da espera da CPU para receber dados e
instruções da cache, ao contrário do que acontecem em sistemas sem cache.
Devido ao custo, a capacidade de armazenamento costuma ser da ordem de
Kbytes. Nos sistemas mais modernos já encontramos caches com 1 Mbyte ou mais.
As memórias cache podem ser inseridas em dois ou mais níveis. O primeiro
nível é o L1 (Level 1 – Nível 1), uma memória cache inserida internamente no
processador, isto é, é encapsulada na mesma pastilha. Nas placas-mãe mais antigas
a cache L2 vinha soldada na própria placa, sendo que os processadores mais novos
já possuem esta memória em seu próprio interior, a exemplo da L1. Quando
processadores que possuem cache L1 e L2 em seu próprio interior são instalados em
uma placa mãe que possua memória cache, esta passa a ser utilizada como cache de
nível 3, ou L3. Há projetos de processadores que terão esta memória também em
seu próprio interior. Com isso, a memória cache presente na placa mãe será
considerada como L4. A CPU procura por dados primeiro em L1, depois em L2 (e/ou
L3 e L4) e finalmente requisita os dados da memória principal.
- 50 -
ARQUITETURA DE COMPUTADORES - 1866
6.10
–
Organização
para
transferência
de
Informações
entre
CPU/Cache/MP:
Sempre que a CPU vai buscar uma nova informação (instrução ou dado), ela
acessa a memória cache.
Se a informação estiver na cache, chama-se de acerto (ou hit), ela é
transferida em alta velocidade, compatível com a da CPU.
Se a informação não estiver na cache, chama-se de falta (ou fault), então o
sistema está programado para interromper a execução do programa e transferir a
informação desejada da MP para a cache. Só que essa transferência não é somente
da instrução desejada, mas dela e de um grupo subsequente, na pressuposição de
que as instruções do grupo serão requeridas pela CPU em seguida e, portanto, já
estarão na cache quando necessário (acertos).
Para haver realmente algum aumento de desempenho de um sistema de
computação, com a inclusão da memória cache, é necessário que haja mais hits do
que faults.
- 51 -
ARQUITETURA DE COMPUTADORES - 1866
6.11 – Memória Secundária (ou Auxiliar):
Na base da pirâmide que representa a hierarquia de memória em um sistema
de computação encontra-se um tipo de memória com maior capacidade de
armazenamento do que os outros tipos já descritos, menor custo por byte
armazenado e com tempos de acesso também superiores aos outros tipos. Esta
memória denominada memória secundária ou memória auxiliar tem por objetivo
garantir um armazenamento mais permanente aos dados e programas do usuário,
razão por que deve naturalmente possuir maior capacidade que a memória principal.
Este tipo de memória pode ser constituído por diferentes tipos de dispositivos,
alguns diretamente ligados ao sistema para acesso imediato (discos rígidos, por
exemplo) e outros que podem ser conectados quando desejado (como pen drive, CD,
DVD, etc), cuja informação armazenada se torna disponível para o usuário quando o
específico pen drive ou CD estiver inserido no elemento de leitura (porta USB ou
drive de CD-ROM, respectivamente).
Dispositivos de memória secundária são necessários a qualquer sistema de
computação, pois nenhum computador fica ininterruptamente ligado, ou seja, os
dados e instruções não podem ficar armazenados indefinidamente na memória
principal.
Vejamos abaixo algumas características deste tipo de memória:
Tempo de acesso: os dispositivos que representam este tipo de
memória são eletromecânicos e não circuitos puramente eletrônicos
(como é o caso dos registradores, memória cache e memória principal),
por isso este tipo de memória possui os maiores tempos de acesso
dentre todos os tipos de memória.
Capacidade de armazenamento: uma das principais características da
memória secundária é sua grande capacidade de armazenamento, a
qual também varia consideravelmente dependendo do tipo de
dispositivo utilizado.
Volatilidade: uma das principais características dos dispositivos que
constituem
a memória secundária é sua não volatilidade: as
informações não se perdem quando não há alimentação elétrica. Trata-
- 52 -
ARQUITETURA DE COMPUTADORES - 1866
se, pois, de dispositivos úteis para guardar os programas e dados de
forma permanente.
6.11.1 – Geometria dos Discos Rígidos (HD):
O disco rígido ou HD (Hard Disk) é um dispositivo de armazenamento de
grande volume de dados (Memória Secundária), não volátil. No HD são armazenados
os programas instalados no computador (Sistema Operacional: Windows, Linux, Mac
OS / Aplicativos: Word, Excel, Outlook, Nero, IE, Firefox, Photoshop, etc) e os
arquivos gerados pelos mesmos (Fotos, Textos, Músicas, Planilhas, Apresentações,
etc).
Um disco consiste de pratos, cada qual com duas superfícies. Cada
superfície consiste de anéis concêntricos denominados trilhas. Cada trilha consiste
de setores separados por espaços.
O número de trilhas em um disco e a capacidade que cada trilha pode
armazenar depende do tipo de disco. Numeradas da borda para o centro, isto é, a
trilha que fica mais próxima da extremidade do disco é denominada trilha 0, a trilha
que vem em seguida é chamada trilha 1, e assim por diante, até chegar à trilha mais
próxima do centro.
Os HDs com grande capacidade contam com mais de um prato, sobrepostos
um sobre o outro.
Trilhas de mesmo número em faces diferentes formam um cilindro. Exemplo:
Todas as trilhas de número Zero de todos os discos formam o cilindro Zero. Os
- 53 -
ARQUITETURA DE COMPUTADORES - 1866
cilindros são numerados a partir de zero, na borda mais externa dos discos. As faces
também são numeradas, começando de zero na superfície mais alta.
6.11.2 – Capacidade do Disco:
Capacidade: é número máximo de bits que podem ser armazenados
expresso em gigabytes (1 GB).
Fatores que determinam a capacidade:
Densidade de gravação: número de bits que podem ser gravados em 1
polegada de uma trilha.
Densidade de trilha: número de trilhas que podem existir em um segmento
radial.
Densidade de armazenamento: produto da densidade de gravação com
densidade de trilha.
Calculando a capacidade de disco:
Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície)
x (# superfícies/prato) x (# pratos/disco)
Exemplo 01:
– 512 bytes/setor
– 300 setores/trilha (em média)
– 20.000 trilhas/superfície
– 2 superfícies/prato
– 5 pratos/disco
- 54 -
ARQUITETURA DE COMPUTADORES - 1866
Capacidade = 512 x 300 x 20000 x 2 x 5
= 30.720.000.000
≅ 30,72 GB
Exemplo 02:
– 512 bytes/setor
– 500 setores/trilha (em média)
– 100.000 trilhas/superfície
– 2 superfícies/prato
– 5 pratos/disco
Qual será a capacidade deste disco?
6.11.3 – Operação do Disco:
Operação de disco com múltiplos discos
- 55 -
ARQUITETURA DE COMPUTADORES - 1866
6.11.4 – Organização do Disco – Setor de Boot:
Nem toda a área disponível no disco pode ser utilizada para a gravação de
arquivos de dados. É necessário reservar certas porções para operações necessárias
a qualquer sistema, como o setor de boot e tabelas de alocação de arquivos.
A BIOS (Basic Input/Output System) lê um setor específico do disco rígido,
chamado se setor de boot mestre MBR (Master Boot Record) ou trilha zero. O setor
de boot do HD armazena informações sobre o Sistema Operacional instalado, quais
arquivos devem ser carregados para inicializar o sistema, etc. O setor de boot
funciona como um ponto de partida, assim que o computador é ligado, a BIOS lê o
setor de boot e segue as instruções que estiverem gravadas nela, que iniciarão o
carregamento do Sistema Operacional. Geralmente o boot é feito através do HD, mas
de acordo com o que for configurado na opção "Boot Sequence" no Setup, a BIOS
pode procurar o boot também no disquete, no CD-ROM, num disco Zip ou até
mesmo tentar dar boot através da rede.
6.11.5 – Organização do Disco – Endereçamento:
Para que o sistema operacional seja capaz de recuperar dados rapidamente de
um sistema de memória de armazenamento secundário, é necessária a utilização de
um sistema de endereçamento, denominado genericamente de formatação.
A formatação organiza trilhas e setores do disco em regiões onde os dados
são, de fato, gravados. O tamanho destas regiões varia segundo o processo de
formatação utilizado.
6.11.5.1 – File Allocation Table - FAT
FAT é a sigla para File Allocation Table (Tabela de Alocação de Arquivos). A
primeira versão do FAT surgiu em 1977, para trabalhar com o sistema operacional
MS-DOS, mas foi padrão até o Windows 95.
Trata-se de um sistema de arquivos que funciona com base em uma espécie
de tabela que indica onde estão os dados de cada arquivo. Esse esquema é
necessário porque o espaço destinado ao armazenamento é dividido em blocos, e
cada arquivo gravado pode ocupar vários destes, mas não necessariamente de
- 56 -
ARQUITETURA DE COMPUTADORES - 1866
maneira sequencial: os blocos podem estar em várias posições diferentes. Assim, a
tabela acaba atuando como um "guia" para localizá-los.
Entendendo os sistemas de arquivos FAT:
Em um disco rígido, a área de armazenamento é dividida em trilhas. Cada
trilha é subdividida em setores. Desse modo, é de se presumir que os sistemas de
arquivos FAT trabalhem diretamente com esses setores. Mas não é bem assim.
Na verdade, o FAT trabalha com grupos de setores, onde cada um recebe a
denominação cluster (ou unidade de alocação). No caso do FAT16, cada cluster pode
ter, comumente, um dos seguintes tamanhos: 2 KB, 4 KB, 8 KB, 16 KB e, por fim, 32
KB. A definição desse tamanho é uniforme, ou seja, não pode haver tamanhos
variados de clusters em uma mesma unidade de armazenamento.
Cada arquivo gravado utiliza tantos clusters quanto forem necessários para
cobrir o seu tamanho. Se, por exemplo, tivermos um arquivo com 50 KB, é possível
guardá-lo em dois clusters de 32 KB cada. Você deve ter percebido então que, neste
caso, um cluster ficou com espaço sobrando. Esta área pode ser destinada a outro
arquivo, correto? Errado! Acontece que cada cluster só pode ser utilizado por um
único arquivo. Se sobrar espaço, este permanecerá vazio. Esse é um dos problemas
do sistema FAT: desperdício.
Normalmente, o tamanho dos clusters é definido no procedimento de
instalação do sistema operacional, na etapa de formatação da unidade de
armazenamento.
Diferenças entre FAT16 e FAT32
O FAT16 utiliza 16 bits para endereçamento dos dados (daí o número 16 na
sigla), o que, na prática, significa que o sistema de arquivos pode trabalhar com até
65536 clusters, no máximo. Para chegar a este número, basta fazer 216 = 65536.
O sistema de arquivos FAT32 consegue solucionar esse problema por utilizar
32 bits no endereçamento de dados (novamente, aqui você pode perceber o porquê
do número na sigla). No FAT16, quanto maior o espaço em disco, maior o tamanho
do cluster. Com o FAT32, é possível usar clusters menores - geralmente de 4 KB mesmo com a unidade oferecendo maior capacidade de armazenamento. Desta
forma, o desperdício acaba sendo menor.
- 57 -
ARQUITETURA DE COMPUTADORES - 1866
6.11.5.2 – NTFS
Para discos de maior capacidade, procuramos reduzir o tamanho do cluster,
para evitar a fragmentação interna (a fragmentação interna ocorre quando a área
mínima de gravação que definimos para arquivos não é totalmente utilizada), e a
conseqüente perda de espaço de armazenamento.
O NTFS (New Technology File System) foi desenvolvido pela Microsoft para
ser utilizado pelo Windows NT e seus derivados (2000, XP, Vista, Server 2003, Server
2008 e Seven) para ser um sistema de arquivos mais flexível, confiável, adaptável,
seguro e veloz para operações com arquivos, como leitura, escrita e busca.
O acesso é direto ao setor físico, de 512 bytes, independente do tamanho do
disco. Com partições NTFS é ainda possível armazenar um maior volume de dados e
suporte a nomes longos de arquivos.
- 58 -
Download