[Sistema operacional] hierarquia de armazenamento de computador

Aqui Insert Picture Descrição

Aqui Insert Picture Descrição

Register

sistema de memória de nível superior é em registros de CPU. Eles CPU com o mesmo material, de modo tão rápido quanto a CPU. Obviamente, o acesso a eles é nenhum atraso. capacidade de armazenamento típico no processador central 32 é de 32 x 32 bits, um processador de 64 bits como de 64 bits de 64 ×. Em ambos os casos, a capacidade de armazenamento de menos de 1 KB. Estes programa de auto-gestão deve registrar em software (ou seja, decidir como usá-los).

esconderijo

A camada seguinte é uma cache, a maioria das quais é controlada pelo hardware. A memória principal é dividido em uma linha de cache (linha de cache), o tamanho típico de 64 bytes, endereços de 0 a 63 correspondente a linhas de cache 0, 64 a 127 correspondentes às linhas de cache endereço 1, e assim por diante. A linha de cache mais comumente utilizado é colocado em estreita proximidade dentro do cache da CPU ou CPU. Quando um programa precisa ler uma palavra de memória, a verificações de hardware de cache exigido linha de cache está no cache. Se assim for, é chamado de cache hit, um cache para satisfazer a solicitação, através do bus não precisa de solicitações de acesso enviadas para a memória principal. Hit Cache geralmente leva dois ciclos de relógio. Falta de cache de memória de acesso deve, que um monte de tempo para pagar o preço. Desde o cache é caro, por isso o seu tamanho limitado. Algumas máquinas têm dois ou mesmo três cache, cada nível de cache de uma capacidade lento e maior do que antes.

Cache desempenha um papel importante em muitas áreas da ciência da computação, não apenas RAM linha de cache. Enquanto há uma série de recursos pode ser dividido em partes menores, em seguida, alguns destes recursos terá de usar do que outras partes mais freqüência, geralmente usando o cache trará melhorias de desempenho. O sistema operacional tem sido no cache de uso. Por exemplo, a maioria dos sistemas operacionais permanecem na memória de arquivo freqüentemente usado (parte), a fim de evitar a recuperação repetida dos arquivos do disco. Da mesma forma, como esta:

/home/ast/projects/minix3/src/kernel/

Convertendo nomes de caminhos longos para abordar os resultados do disco onde os arquivos podem ser colocados no cache, localize o endereço para evitará a duplicação. Além disso, quando uma página da Web (URL) a tradução de endereços é o endereço de rede (endereço IP), esse resultado de conversão podem ser armazenadas para uso futuro. Há muitas outras aplicações semelhantes.

Em qualquer sistema de cache, há várias questões a considerar o mais cedo possível, incluindo:

  1. Quando um novo conteúdo em cache.

  2. O novo conteúdo no qual a linha de cache.

  3. Quando necessário, que o conteúdo deve ser removido do cache.

  4. O novo conteúdo deve ser removido onde colocar uma memória maior.

não é a solução para todos os problemas estão em linha com cada cache. Para a principal linha de cache de memória de cache da CPU, sempre que há um erro de cache, novos conteúdos serão transferidos. linha de cache é geralmente alta computação endereços de memória que deve ser usado como referência por. Por exemplo, para uma linha de 64 bytes de cache 4096, e um endereço de 32 bits, em que 6 a 17 bits é utilizado para a linha de memória cache, enquanto os bits 0-5 são utilizados para determinar a linha de cache em bytes. Neste exemplo, a posição é conteúdo removido novos dados a entrar no local, mas, em alguns sistemas pode não ser o caso. Finalmente, quando o conteúdo de uma linha de cache é re-escrito na memória principal (depois do conteúdo é armazenado em cache, podem ser modificados), para determinar com exclusividade a necessidade de reescrever o local de memória principal nesse endereço.

Cache é uma boa maneira, tão moderno em design com cache de dois CPU. Ou a primeira etapa é sempre referida como cache L1 na CPU, que tem sido geralmente utilizado para a instrução decodificada transferido para mecanismo de execução da CPU. Para aquelas palavras de dados frequentemente utilizados, a maioria dos chips arranjado com um segundo cache L1. tamanho do cache L1 típico é 16KB. Além disso, muitas vezes também projetado com dois cache, o cache L2 é chamado, ele é usado para armazenar usados ​​recentemente vários megabytes de palavra de memória. A diferença entre L1 e L2 cache que timing. O acesso ao cache L1, a ausência de qualquer atraso, o acesso ao cache L2, o atraso será de 1 ou 2 ciclos de relógio.

No chip de vários núcleos. Designers deve determinar a localização do cache. Na FIG. 1-8a, um cache L2 compartilhado por todos do núcleo. Intel multicore chips usando este método. Em contraste, na fig. 1-8b, cada núcleo tem a sua própria memória cache L2. AMD usando este método. No entanto, cada estratégia tem suas próprias vantagens e desvantagens. Por exemplo, cache L2 compartilhado da Intel requer um controlador de cache mais sofisticado, forma de tentar manter as dificuldades na coerência de cache L2 da AMD.

A memória principal

Na hierarquia das fig. 1-9, um na memória principal e, em seguida, para baixo. Este é o sistema de memória principal. A memória principal comumente referido como uma memória de acesso aleatório (Random Access Memory, memória RAM). Durante a última por vezes referido como memória de núcleo magnético, porque na década de 1950 e 1960, o uso de depósito primário magnetizable ferromagnética pequena. Atualmente, a capacidade da memória entre várias centenas de megabytes a vários gigabytes, e sua capacidade está crescendo rapidamente. Ele não pode ser respeitados em todas as solicitações de acesso à cache transferidos para a memória principal.

Além da memória principal, muitos computador já está usando uma pequena quantidade de memória de acesso aleatório não-volátil. RAM ao contrário, que, depois que a energia é cortada, memória de acesso aleatório não-volátil não perde seu conteúdo. ROM (Read Only Memory, ROM) foi concluída na fábrica programado, então deixará de ser modificado. ROM é rápido e barato. Em alguns computadores, o computador para o início do módulo sobre o carregador de inicialização armazenado na ROM. Além disso, algumas E / S cartões Tenho a ROM subjacente de controlo de processos.

EEPROM (eletricamente apagável PROM, eletricamente Erasable Programmable ROM) e uma memória flash (memória flash) são não-volátil, mas ao contrário da ROM, que podem ser apagados e regravados. No entanto, eles precisam reescrever, assim que seu uso RAM e ROM mesma ordem de grandeza maior do que o tempo da escrita, e as suas características distintivas torná-las possíveis para corrigir o caminho através do campo de reescrever programas armazenados erros.

No dispositivo electrónico portátil, tipicamente uma memória flash como o meio de armazenamento. A memória flash é uma câmera digital no filme, é um disco leitor de música portátil, este é apenas um flash na utilização dos dois. Piscar entre a RAM e velocidade do disco. Além disso, o armazenamento em disco é diferente se o número de apagar de flash muito, ele estava desgastado.

Outro tipo de memória é CMOS, é volátil. Muitos computadores utilizam memória CMOS para manter a hora ea data atuais. memória CMOS e incrementando circuito de relógio o tempo é impulsionado por uma pequena bateria, portanto, mesmo se o computador não está ligado, o tempo ainda pode ser atualizado corretamente. memória CMOS também pode salvar os parâmetros de configuração, tais como, o que é um disco de inicialização e assim por diante. CMOS foi adotado porque consome muito pouca energia, uma bateria instalada de fábrica muitas vezes pode usar um número de anos. No entanto, quando a bateria começa a falhar, o computador será "doença de Alzheimer" falta de memória do computador vai esquecer os anos de coisas, tais como qual o disco deve ser o início e assim por diante.

Rígido (HDD)

O próximo nível é o rígido (HDD). Comparado com o disco de RAM, cada bit de duas ordens de grandeza menor custo, e muitas vezes há duas ordens de magnitude maior capacidade. O único problema é que o disco aleatória de dados de tempo de acesso cerca de três ordens de magnitude mais lenta. A razão é que disco de baixa velocidade é um dispositivo mecânico.
Aqui Insert Picture Descrição
Um ou mais discos metálicos, de um disco, que roda a uma velocidade de 10 800 rpm ou 5400,7200. A partir da borda tem um braço robótico cross-pendurado no disco, semelhante ao antigo tom toca-discos de plástico braço 33 Ligue o leitor. Informação escrita sobre o disco em uma série de círculos concêntricos. Em qualquer posição do braço, cada secção da cabeça pode ler uma região anelar, chamadas faixas (pista). Todas as faixas sobre uma dada posição do braço combinados em conjunto para formar um cilindro (cilindro).

Cada faixa é dividida em vários setores, um valor típico do setor é de 512 bytes. Na moderna disco do que o interior cilíndrico exterior de sectores mais Comparativos os cilindros. Braço robótico para mover a partir de um cilindro cilindro adjacente leva cerca de 1 ms. Um cilindro para mover tempo aleatoriamente típico de 5ms a 10 ms, o tempo específico, dependendo da unidade. Uma vez que o braço magnético atinge a pista correcta, a unidade deve esperar que a rotação desejada para o sector sob a cabeça, o que aumenta os 5ms a atraso de 10 ms, particularmente atraso, que depende da velocidade do accionamento. Uma vez que o sector desejado sob a cabeça de movimento, começa a ler e a escrever, a taxa de disco de baixo extremidade 5 MB / s, enquanto que a taxa de disco de alta velocidade é de 160 MB / s.

Muitos computador conhecido suporta um mecanismo de memória virtual, que será discutido no Capítulo 3. Este mecanismo faz com que a execução do programa é maior do que a memória física pode ser desejado, que é o programa no disco, enquanto a memória principal como um cache, usado para armazenar as partes mais utilizadas do programa. Esse mecanismo precisa rapidamente resolver a memória de imagem, de modo a converter o endereço gerado para o endereço físico programa byte relevante na RAM. Esta imagem é composta por um membro da CPU, chamada de unidade de gerenciamento de memória (Memory Management Unit, MMU) para completar.

Aparece armazenar em cache e MMU tem uma influência importante sobre o desempenho do sistema. Em um sistema de multiprogramação, a mudança de um programa para outro, por vezes referido como a troca de contexto (troca de contexto), é necessário que todo o bloco de cache modificado para ser escrito de volta à operação de disco, e modificar a imagem no MMU Cadastre-se. "Mas o custo destas duas operações são muito caros, para que os programadores tentam evitar o uso dessas operações. Vamos ver o efeito dessas operações geradas mais tarde.

fita magnética

A última camada no sistema de memória é uma fita magnética. Esta mídia é frequentemente utilizado para discos de backup, e você pode economizar muito grandes conjuntos de dados. Antes de aceder a fita, a fita deve ligado à unidade de fita, o robô também pode ser montado a instalação manual (geralmente montado em grandes bases de dados do dispositivo de processamento automático de fita). Em seguida, a fita também pode ser necessária para ler os dados que orbitam a frente do bloco solicitado. Em suma, todo esse trabalho leva alguns minutos. A característica mais importante da fita é o custo por bit é extremamente barato, e é removível, o que para para sobreviver incêndios, inundações, terremotos e outros desastres, armazenamento off-site de fitas de backup deve ser, é muito importante.

Nós já discutimos a arquitetura de memória é típico, mas alguns sistemas não tem que instalar todos esses níveis, ou algumas diferenças (como CD-ROM). No entanto, em todos os sistemas, quando as gotas de nível, o seu tempo de acesso aleatório é significativamente aumentada, a capacidade é também aumentou significativamente, enquanto o custo por bit é significativamente reduzida. Como resultado, esta arquitetura de memória parece ter para estar conosco por muitos anos.

Publicado 374 artigos originais · ganhou elogios 14 · Exibições 100.000 +

Acho que você gosta

Origin blog.csdn.net/LU_ZHAO/article/details/105378166
Recomendado
Clasificación