9
- 48 - ARQUITETURA DE COMPUTADORES - 1866 6.7 – Operações com as Memórias: Já sabemos, conforme anteriormente citado, que é possível realizar duas operações em uma memória: Escrita (write) – armazenar informações na memória; Leitura (read) – recuperar uma informação armazenada na memória. A operação de leitura não destrói o conteúdo da memória, ela apenas providencia a transferência de uma cópia do que está armazenado, enquanto a informação desejada continua armazenada. Somente a operação de escrita é destrutiva. 6.8 – Memória Virtual: Antes de poder explicar o que é a memória virtual, é importante ao menos voltarmos a falar um pouco a respeito da memória principal (MP) = RAM. A memória RAM é o local que o processador utiliza para armazenar tudo que estiver aberto em seu computador, como arquivos, jogos e todo tipo de programas. Assim, conforme vamos abrindo mais aplicativos, a RAM vai sendo consumida. A memória principal (RAM) disponível em um computador é em geral bem menor do que o tamanho máximo de memória permitido pelo processador (por exemplo, em uma arquitetura de 32 bits podemos endereçar até 4 GB de memória principal). O problema é que temos um espaço limitado de memória RAM e, cada vez mais, os aplicativos consomem partes maiores dela. E o que o processador faz quando a memória RAM acaba? Muito simples: utiliza a Memória Virtual. O mecanismo de memória virtual foi criado para permitir a execução de programas que necessitem de mais memória principal (RAM) do que a quantidade instalada no sistema. A memória virtual é uma espécie de arquivo que é criado no computador e o processador utiliza para armazenar dados que ele costuma deixar na memória RAM. É como se ele simulasse a memória RAM dentro do seu HD, por isso que se chama memória virtual. E por que será que a memória RAM é mais cara? Não seria mais fácil simplesmente utilizar o HD para armazenar os dados? Não exatamente, porque a

Memórias

Embed Size (px)

DESCRIPTION

Arquivo sobre memórias

Citation preview

  • - 48 -

    ARQUITETURA DE COMPUTADORES - 1866

    6.7 Operaes com as Memrias:

    J sabemos, conforme anteriormente citado, que possvel realizar duas

    operaes em uma memria:

    Escrita (write) armazenar informaes na memria;

    Leitura (read) recuperar uma informao armazenada na memria.

    A operao de leitura no destri o contedo da memria, ela apenas

    providencia a transferncia de uma cpia do que est armazenado, enquanto a

    informao desejada continua armazenada. Somente a operao de escrita

    destrutiva.

    6.8 Memria Virtual:

    Antes de poder explicar o que a memria virtual, importante ao menos

    voltarmos a falar um pouco a respeito da memria principal (MP) = RAM. A memria

    RAM o local que o processador utiliza para armazenar tudo que estiver aberto em

    seu computador, como arquivos, jogos e todo tipo de programas. Assim, conforme

    vamos abrindo mais aplicativos, a RAM vai sendo consumida.

    A memria principal (RAM) disponvel em um computador em geral bem

    menor do que o tamanho mximo de memria permitido pelo processador (por

    exemplo, em uma arquitetura de 32 bits podemos enderear at 4 GB de memria

    principal).

    O problema que temos um espao limitado de memria RAM e, cada vez

    mais, os aplicativos consomem partes maiores dela. E o que o processador faz

    quando a memria RAM acaba? Muito simples: utiliza a Memria Virtual.

    O mecanismo de memria virtual foi criado para permitir a execuo de

    programas que necessitem de mais memria principal (RAM) do que a quantidade

    instalada no sistema.

    A memria virtual uma espcie de arquivo que criado no computador e o

    processador utiliza para armazenar dados que ele costuma deixar na memria RAM.

    como se ele simulasse a memria RAM dentro do seu HD, por isso que se chama

    memria virtual.

    E por que ser que a memria RAM mais cara? No seria mais fcil

    simplesmente utilizar o HD para armazenar os dados? No exatamente, porque a

  • - 49 -

    ARQUITETURA DE COMPUTADORES - 1866

    memria virtual extremamente mais devagar do que a memria RAM. Dessa forma,

    se o seu computador estiver com pouca memria RAM e precisar usar a memria

    virtual para armazenar dados dos programas, com certeza o desempenho vai

    despencar.

    Existe uma separao da memria lgica do usurio, da memria fsica:

    somente uma parte do programa precisa estar na memria para execuo;

    o espao de endereamento lgico pode ser muito maior que espao de

    endereamento fsico;

    permite o compartilhamento de espaos de endereos por vrios

    processos.

    Em um sistema de memria virtual, o endereo de memria gerado pelo

    programa um endereo virtual, sendo diferente do endereo real usado para o

    acesso memria principal.

    Os possveis endereos virtuais que podem ser gerados pelo programa

    formam o espao de endereamento virtual, enquanto a faixa de endereos na

    memria principal constitui o espao de endereamento real.

    Embora sob o ponto de vista do programa as instrues e dados estejam

    armazenados no espao de endereamento virtual, na realidade eles continuam

    armazenados na memria principal, representada pelo espao de endereamento

    real.

    Esta diferena entre endereamento virtual e real utiliza um mecanismo que

    faz a correspondncia entre o endereo virtual gerado pelo programa e o endereo

    real que ser usado para acessar a memria principal, o gerenciador de memria

    virtual, ou DAT (Dynamic Address Translator).

  • - 50 -

    ARQUITETURA DE COMPUTADORES - 1866

    Como a memria virtual pode ser muito maior do que a memria principal

    presente, pode acontecer que o bloco de dados referenciado pelo programa no

    esteja presente na memria principal no momento que referenciado.

    Os blocos de dados e instrues de um programa em execuo ficam

    armazenados na memria secundria, que uma unidade de disco do sistema.

    Na ausncia do bloco referenciado pelo programa no momento que o DAT

    realiza o mapeamento, este carregado da memria secundria para a memria

    principal.

    6.8.1 Memria Virtual - Segmentao e Paginao:

    Blocos de memria podem ser organizados de duas formas: em segmentos ou

    pginas.

    O segmento pode ser formado por um bloco de informaes logicamente

    relacionadas; os segmentos podem ter tamanho varivel.

    Uma pgina um bloco de dados de tamanho fixo e no segue nenhuma

    coeso lgica, isto , os dados podem no ter relao entre si.

    O DAT possui uma pequena memria interna chamada TLB (Translation

    Lookaside Buffer), que armazena os pares de endereos virtual/principal acessados

    recentemente, como uma memria cache.

    No acesso a uma posio de memria virtual, se o dado requerido no possui

    um registro relacionando com a memria principal, o bloco de dados tambm no se

    encontra na memria principal. Essa ausncia de bloco denominada falha de

    pgina ou falha de segmento.

    6.8.2 Controle de Memria Virtual:

    Ao ocorrer uma falha o DAT gera uma interrupo, transferindo o controle do

    processador para o sistema operacional, para que este transfira o bloco de dados

    referenciado da memria secundria para a memria principal.

    Aps a transferncia do bloco de dados ser concluda, o controle do

    processador retorna ao programa em execuo, exatamente para o ponto onde foi

    interrompido, agora com os dados referenciados presentes na memria principal.

  • - 51 -

    ARQUITETURA DE COMPUTADORES - 1866

    Com a utilizao da memria virtual, no necessrio que todas as instrues

    e dados de um programa permaneam na memria principal durante a execuo do

    programa, blocos so transferidos da memria secundria para a principal medida

    que forem referenciados.

    importante ressaltarmos que todo o mecanismo de memria virtual funciona

    de forma totalmente transparente para o programa, e mais importante, para o

    programador que o desenvolveu.

    6.9 Memria Cache:

    A memria cache uma pequena poro de memria inserida entre o

    processador e a memria principal, cuja funo acelerar a velocidade de

    transferncia das informaes entre a CPU e a memria principal e, com isso,

    aumentar o desempenho dos sistemas de computao.

    Para tanto, este tipo de memria fabricado com tecnologia semelhante da

    CPU e, em conseqncia, possui tempos de acesso compatveis com a mesma,

    resultando numa considervel reduo da espera da CPU para receber dados e

    instrues da cache, ao contrrio 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 memrias cache podem ser inseridas em dois ou mais nveis. O primeiro

    nvel o L1 (Level 1 Nvel 1), uma memria cache inserida internamente no

    processador, isto , encapsulada na mesma pastilha. Nas placas-me mais antigas

    a cache L2 vinha soldada na prpria placa, sendo que os processadores mais novos

    j possuem esta memria em seu prprio interior, a exemplo da L1. Quando

    processadores que possuem cache L1 e L2 em seu prprio interior so instalados em

  • - 52 -

    ARQUITETURA DE COMPUTADORES - 1866

    uma placa me que possua memria cache, esta passa a ser utilizada como cache de

    nvel 3, ou L3. J existem processadores que possuem esta memria (L3) tambm

    em seu prprio interior. Como exemplo podemos citar o processador Core i7 da Intel,

    que possue 8MB de cache L3. Neste caso, se existir memria cache presente na

    placa me, esta 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 memria principal.

    6.10 Organizao para transferncia de Informaes entre

    CPU/Cache/MP:

    Sempre que a CPU vai buscar uma nova informao (instruo ou dado), ela

    acessa a memria cache.

    Se a informao estiver na cache, chama-se de acerto (ou hit), ela

    transferida em alta velocidade, compatvel com a da CPU.

    Se a informao no estiver na cache, chama-se de falta (ou fault), ento o

    sistema est programado para interromper a execuo do programa e transferir a

    informao desejada da MP para a cache. S que essa transferncia no somente

    da instruo desejada, mas dela e de um grupo subsequente, na pressuposio de

    que as instrues do grupo sero requeridas pela CPU em seguida e, portanto, j

    estaro na cache quando necessrio (acertos).

    Para haver realmente algum aumento de desempenho de um sistema de

    computao, com a incluso da memria cache, necessrio que haja mais hits do

    que faults.

  • - 53 -

    ARQUITETURA DE COMPUTADORES - 1866

    6.11 Memria Secundria (ou Auxiliar):

    Na base da pirmide que representa a hierarquia de memria em um sistema

    de computao encontra-se um tipo de memria com maior capacidade de

    armazenamento do que os outros tipos j descritos, menor custo por byte

    armazenado e com tempos de acesso tambm superiores aos outros tipos. Esta

    memria denominada memria secundria ou memria auxiliar tem por objetivo

    garantir um armazenamento mais permanente aos dados e programas do usurio,

    razo por que deve naturalmente possuir maior capacidade que a memria principal.

    Este tipo de memria pode ser constitudo por diferentes tipos de dispositivos,

    alguns diretamente ligados ao sistema para acesso imediato (discos rgidos, por

    exemplo) e outros que podem ser conectados quando desejado (como pen drive, CD,

    DVD, etc), cuja informao armazenada se torna disponvel para o usurio quando o

    especfico pen drive ou CD estiver inserido no elemento de leitura (porta USB ou

    drive de CD-ROM, respectivamente).

    Dispositivos de memria secundria so necessrios a qualquer sistema de

    computao, pois nenhum computador fica ininterruptamente ligado, ou seja, os

    dados e instrues no podem ficar armazenados indefinidamente na memria

    principal.

    Vejamos abaixo algumas caractersticas deste tipo de memria:

    Tempo de acesso: os dispositivos que representam este tipo de

    memria so eletromecnicos e no circuitos puramente eletrnicos

    (como o caso dos registradores, memria cache e memria principal),

    por isso este tipo de memria possui os maiores tempos de acesso

    dentre todos os tipos de memria.

    Capacidade de armazenamento: uma das principais caractersticas da

    memria secundria sua grande capacidade de armazenamento, a

    qual tambm varia consideravelmente dependendo do tipo de

    dispositivo utilizado.

    Volatilidade: uma das principais caractersticas dos dispositivos que

    constituem a memria secundria sua no volatilidade: as

    informaes no se perdem quando no h alimentao eltrica. Trata-

  • - 54 -

    ARQUITETURA DE COMPUTADORES - 1866

    se, pois, de dispositivos teis para guardar os programas e dados de

    forma permanente.

    6.11.1 Geometria dos Discos Rgidos (HD):

    O disco rgido ou HD (Hard Disk) um dispositivo de armazenamento de

    grande volume de dados (Memria Secundria), no voltil. No HD so 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, Msicas, Planilhas, Apresentaes,

    etc).

    Um disco consiste de pratos, cada qual com duas superfcies. Cada

    superfcie consiste de anis concntricos denominados trilhas. Cada trilha consiste

    de setores separados por espaos.

    O nmero 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 prxima da extremidade do disco denominada trilha 0, a trilha

    que vem em seguida chamada trilha 1, e assim por diante, at chegar trilha mais

    prxima do centro.

    Os HDs com grande capacidade contam com mais de um prato, sobrepostos

    um sobre o outro.

  • - 55 -

    ARQUITETURA DE COMPUTADORES - 1866

    Trilhas de mesmo nmero em faces diferentes formam um cilindro. Exemplo:

    Todas as trilhas de nmero Zero de todos os discos formam o cilindro Zero. Os

    cilindros so numerados a partir de zero, na borda mais externa dos discos. As faces

    tambm so numeradas, comeando de zero na superfcie mais alta.

    6.11.2 Capacidade do Disco:

    Capacidade: nmero mximo de bits que podem ser armazenados

    expresso em terabytes (1 TB).

    Fatores que determinam a capacidade:

    Densidade de gravao: nmero de bits que podem ser gravados em 1

    polegada de uma trilha.

    Densidade de trilha: nmero de trilhas que podem existir em um segmento

    radial.

    Densidade de armazenamento: produto da densidade de gravao com

    densidade de trilha.

    Calculando a capacidade de disco:

    Capacidade = (# bytes/setor) x (md. # setores/trilha) x (# trilhas/superfcie)

    x (# superfcies/prato) x (# pratos/disco)

  • - 56 -

    ARQUITETURA DE COMPUTADORES - 1866

    Exemplo 01:

    512 bytes/setor

    300 setores/trilha (em mdia)

    20.000 trilhas/superfcie

    2 superfcies/prato

    5 pratos/disco

    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 mdia)

    100.000 trilhas/superfcie

    2 superfcies/prato

    5 pratos/disco

    Qual ser a capacidade deste disco?