Buscar

RESUMO Organização de Computadores (Memória)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

O que é memória? 
Memória é o componente dentro da arquitetura e organização do computador com a função de armazenar os programas e os dados que 
serão manipulados pelo sistema operacional dentro dos ciclos de instrução. 
A memória não pode ser considerada um componente único, mas sim um subsistema. 
Para ficar mais clara a diferença de velocidade de processamento, vamos falar dos números. Dentro da CPU, um dado é processado em 
aproximadamente 5 nanossegundos (isto significa 5 bilionésimos de segundo), ao contrário do processamento da ​memória principal ​ .Como 
sabemos que tudo que está sendo processado fica armazenado na memória RAM e é requisitado pela CPU, quando a CPU recebe este 
conteúdo e processa em ​5ns​, a CPU fica mais ​55ns ​ ociosa aguardando o envio de uma nova informação por parte da memória principal. 
Por esse e por outros motivos, surgiram outras memórias que auxiliam nesta compensação. 
 
Memória primária x secundária 
1. Para se entender a diferença dessas divisões, é importante conhecer o conceito de volatilidade. 
2. Uma memória é volátil quando ela perde o conteúdo, quando não há alimentação de energia. Resumindo, se o equipamento 
é desligado, seu conteúdo é perdido. 
Sendo assim, analise as definições: 
● memória primária ​: São os componentes que fornecem dados e instruções para uso imediato, sendo voláteis.Basicamente, é 
formada pelos seguintes componentes: Registradores, Memória cache e Memória principal. 
● Memória secundária:​ São os componentes que provêm capacidade de armazenamento permanente (não voláteis).Exemplos de 
dispositivos de armazenamento secundário são:Discos Rígidos, Discos Óticos (CDs, DVDs, etc.) e Fitas. 
● os tipos de memória em ordem decrescente de velocidade de acesso (da maior velocidade para a menor velocidade): Registradores, 
Memória Cache, Memória Principal e Memórias Secundárias. 
Registradores (baixa capacidade de armazenamento) 
Quando estudamos o ciclo de instrução, ou ciclo de busca–decodificação e execução, verificamos a presença de registradores, que são 
dispositivos de armazenamento temporário, localizados na CPU, utilizados constantemente dentro do processo de execução das instruções. 
Por serem usados pela CPU, entende-se que são memórias muito rápidas. Na verdade, são consideradas as memórias mais rápidas 
existentes no sistema de computação. 
Porém, como seu objetivo é o armazenamento do conteúdo de memória a ser processado pela CPU, sua capacidade de armazenamento se 
limita à palavra daquele processador, normalmente variando de ​8 a 64 Bits​. 
Memória cache 
é uma memória criada justamente para diminuir os “estados de espera” entre CPU e memória principal, sendo muito mais rápida do 
que a memória RAM e com mais capacidade do que os registradores. 
Como já estudado, a CPU trabalha diretamente com a memória RAM. Sendo assim, todos os dados processados são recebidos dos módulos 
de memória RAM, para, dessa forma, serem decodificados e executados.Porém, com o desenvolvimento constante na tecnologia de 
construção de processadores, (lembre-se inclusive da Lei de Moore) a sua velocidade foi ficando cada vez maior quando comparada à 
velocidade de transmissão da memória principal (que não acompanhou da mesma forma a evolução em velocidade, mas sim em capacidade 
de armazenamento). 
Com isso, surgiu um desequilíbrio entre a comunicação da CPU e a memória principal, de forma que a CPU processa dados mais rápido do 
que a memória RAM poderia enviar, resultando em longos períodos de ociosidade ou estados de espera (“wait states”) devido ao gargalo 
(“bottleneck”) criado por este desequilíbrio, o que logicamente resulta em um desperdício da capacidade de processamento da CPU. 
Por esse fato e também porque os registradores possuem alta velocidade mas baixa capacidade de armazenamento, foi necessário, dentro 
da hierarquia da memória, criar uma nova “camada” que possibilitasse a CPU usar melhor toda a sua capacidade de processamento: a 
cache.memória 
Ela tem a função de armazenar temporariamente conteúdos muito requisitados e fornecer as informações para a CPU de forma mais ágil, 
vitando que a memória principal tenha que ser consultada a todo momento, reduzindo a ociosidade da CPU. 
Certamente, o custo da memória cache é maior do que o da principal e menor do que o custo de registradores, o que justifica parte da 
solução encontrada. 
No entanto, o custo de fabricação da memória cache é muito maior do que o da principal, não justificando a extinção da principal. 
Ou seja, não seria viável economicamente construir um computador somente com tecnologia de memória cache. 
A partir dos processadores 386, surgiu a inclusão de memória cache, localizada entre a CPU e a principal, e que funcionaria como um 
espelho de parte do conteúdo dessa memória principal. 
Exemplo das primeiras placas-mãe lançadas com memória cache, localizada na própria placa-mãe. 
Princípio da localidade 
O funcionamento da memória cache se faz da seguinte forma: ​todo conteúdo consultado com mais frequência na memória principal é 
mantido de forma espelhada na memória cache ​, ou seja, este conteúdo não é apagado na memória principal, somente espelhado. 
Esse conteúdo consultado com frequência é verificado pelo ​princípio da localidade​. 
 
Por esse princípio, se um endereço, por exemplo, na memória principal, foi requisitado pela CPU, é bem provável que um endereço próximo 
ou vizinho a este seja o próximo a ser consultado pela CPU na memória principal. 
Dessa forma, antecipa-se não somente o conteúdo solicitado pela CPU, mas também o conteúdo dos endereços próximos a esta localidade 
são espelhados da memória principal para a cache, de modo que, em uma próxima vez que for efetuada uma consulta por parte da CPU, 
este conteúdo possa ser acessado diretamente pela cache, otimizando o tempo de processamento. 
● Tipos de princípio da localidade 
 
1)PRINCÍPIO DA LOCALIDADE TEMPORAL 
Baseia-se no fato de que um dado acessado recentemente tem mais chances de ser usado novamente do que um dado usado há 
mais tempo. 
Isso é uma realidade pois, quando um programa está em execução, uma variável pode ser consultada diversas vezes durante seu 
processamento, por exemplo, se houver uma rotina de loop ou sub-rotinas. 
Sendo assim, o princípio da localidade temporal tende a manter os dados e instruções recentemente acessados. 
 ​ ​ 2) PRINCÍPIO DA LOCALIDADE ESPACIAL 
 Baseia-se no fato de que há uma grande probabilidade de acesso para dados e instruções em endereços próximos àqueles acessados 
recentemente pela CPU (como no exemplo citado anteriormente). 
Durante a execução de um programa, normalmente as variáveis são criadas e armazenadas próximas umas às outras, dentro da memória 
principal. 
O conteúdo estará disponível na memória cache de imediato? 
Logicamente, nem sempre, em uma consulta efetuada pela CPU, o conteúdo estará disponível na memória cache de imediato. 
Sendo assim, existem duas possibilidades: 
• Se a CPU busca um determinado dado e o encontra na cache, dá-se o que chamamos de cache hit, ou seja, conteúdo é localizado 
na cache; 
• Se o caso for negativo, ou seja, se o dado não estiver presente na cache, sendo necessário requisitar o conteúdo para a memória 
principal, dá-se o que chamamos de cache miss. 
Mapeamento de cache 
Mesmo com a memória cache, a localização das instruções ou dados a serem manipulados pela CPU continuam se relacionando a 
endereços da memória principal e não da memória cache.Se a CPU busca um determinado conteúdo, continua sendo referenciado o 
endereço da MP. 
Sabendo que a memória cache possui uma pequena porção de memória e que normalmente o índice de cache hit é de 90%, como 
esta memória é referenciada na cache, de forma a evitar que toda a memória cache tenha que ser varrida a fim de localizar um 
determinado endereço? 
O que seria ineficiente? 
A base disso é o processo de mapeamento da memória,ou seja, é feita uma divisão da memória principal em blocos de tamanho fixo, 
conhecidas como linhas de cache. 
Essas linhas possuem de 4 bytes (32 bits) a 64 bytes (512 bits) e são endereçadas a partir do zero, de forma que, se a memória principal for 
dividida em 64 bytes, teríamos as linhas que iriam de 0 a 63 bytes, de 64 a 127 bytes, e assim por diante.Feito isso, já se tem uma forma de 
mapeamento que pode ser feito na cache. 
Veja algumas formas desse mapeamento da cache: 
Caches totalmente associativas
 
Neste método todas as linhas de cache da memória principal podem ser gravadas em qualquer localização na memória cache. 
É uma forma ineficiente porque a recuperação dos dados pode levar à varredura completa da cache para localizar o conteúdo. 
 
Caches de mapeamento direto 
 
O método de mapeamento direto limita a gravação das linhas de cache em locais específicos na cache. Porém, este índice pré-definido dos 
locais permite que a pesquisa do conteúdo na cache seja mais ágil. 
A figura abaixo mostra um esquema de mapeamento direto em que a linha de cache consiste em 32 bytes (256 bits). 
Caches associativas de conjunto 
 
Este tipo de mapeamento é um esquema híbrido entre o mapeamento totalmente associativo e o mapeamento direto. 
 
Ele permite que os problemas do mapeamento totalmente associativo (em que a cache inteira precisa ser varrida à procura de um 
endereço) e do mapeamento direto (em que ocorrem colisões) sejam minimizados. 
Nele, um mesmo endereço na memória principal pode ser armazenado em mais de um local (por vez) da cache, através da criação de vias 
de cache, ou seja, cada linha pode possuir n vias de cache, onde normalmente são de 2 a 4 vias. 
 
Métodos de substituição de dados 
No que se refere à memória cache, é importante lembrar que existe um momento em que sua capacidade está lotada e os dados precisam 
ser substituídos, como, por exemplo, os das vias de cache. 
 
Como optar por qual via de cache a ser excluída para uma nova substituição? 
 
Existem três métodos conhecidos de substituição de dados na cache: 
Substituição Aleatória​ : É escolhida uma posição qualquer da cache aleatoriamente para ser substituída. 
First-in First-out​ : Remove a linha que está mais tempo na cache. 
Least Recently Used (LRU)​: Remove a via menos recentemente utilizada e a linha que a mais tempo não é referenciada pelo CPU. Quando 
há um cache hit, um contador é zerado para esta via, enquanto todos os demais tem seu contador incrementado. 
 
Quando for necessário substituir uma linha na cache, será retirada aquela cujo contador tiver o valor mais alto. Utilizado para substituição de 
dados no mapeamento de cache associativa de conjunto. 
 
Políticas de escrita em cache na memória principal 
 
Logicamente, é necessário que, em algum momento, os dados atualizados na memória cache também sejam atualizados na memória 
principal. Afinal, uma deve ser o espelho da outra.Sendo assim, existem políticas que efetuam esta atualização: 
-> Write Through​- Consiste em atualizar o valor em cache e na MP simultaneamente. 
-> ​Write Back - ​Consiste em atualizar a cache, porém ao enviar atualizações em blocos para a memória principal. 
 
Memória Principal 
A Memória Principal é a memória básica de um sistema de computação desde seus primórdios. É o dispositivo onde o programa (e 
dados) que vai ser executado é armazenado para que a CPU vá “buscando” instrução por instrução. 
Normalmente é chamada de ​RAM​ (​Random Access Memory​, em português Memória de Acesso Aleatório).Sua tecnologia de 
construção se difere das memórias cache. Para se ter uma ideia, cada bit na memória cache precisa de 6 transistores, ao passo que 
1 bit de MP necessita apenas de 1 capacitor e 1 transistor. 
Isso permite uma densidade mais elevada da MP e, portanto, uma capacidade maior a um custo menor. 
Porém, o acesso é bem mais lento do que o das memórias cache, como já é sabido. 
● Estrutura Processador/Memória Principal 
Somente duas operações são permitidas na comunicação CPU/Memória Principal. São elas: 
 
Leitura (sinal READ): Para recuperar um conteúdo armazenado. Esta ação não elimina o conteúdo da memória. 
 Escrita (sinal WRITE)​: Para armazenar informações na memória. Esta ação elimina o conteúdo da memória, gravando 
uma informação por cima. 
Dentro do processo de gravação, são utilizados: 
 * Barramentos de Controle; 
* Endereços e Dados; 
* Unidade de Controle (UC); 
* Registradores de Endereço de Memória (REM); 
* Registrador de Dados de Memória (RDM). 
Processo de leitura 
1 A CPU armazena no REM o endereço da posição, onde a informação a ser lida está localizada; 
2 A CPU comanda uma leitura (sinal de controle para memória - READ), pelo barramento de controle; 
3 O conteúdo (Palavra) da posição identificada pelo endereço armazenado no REM, então, é transferido para o RDM e a partir 
dele enviado para a UCP, pelo barramento de dados. 
Processo de escrita 
1 A CPU envia, para o REM, o endereço da memória onde a palavra será gravada e, para o RDM, a informação (Palavra) da 
posição a ser gravada; 
2 A CPU comanda uma gravação (sinal write) pelo barramento de controle; 
3 A palavra armazenada no RDM é, nesse momento, transferida para a posição de memória, cujo endereço está no REM. 
Células e Endereços 
A Memória Principal é organizada como um conjunto de células que ficam sequencialmente dispostas, de modo que a CPU possa 
 
recuperar e armazenar informações sempre que necessário, através de endereços que permitem a localização das mesmas. 
Quando se diz célula, queremos dizer a unidade de armazenamento do computador na Memória Principal, sendo a menor unidade da 
memória que pode ser endereçada, pois não é possível buscar uma parte da célula, e sim a célula no seu todo, que possui um 
tamanho fixo, de acordo com a máquina e sua construção.Porém, na atualidade, se baseia em células de 8 bits, ou seja, 1 byte, que 
são identificadas por um Endereço único, onde a CPU se referencia ao tentar acessar, seja para consulta ou para gravação pelo 
Sistema Operacional. 
As células são numeradas sequencialmente, de 0 a m-1. Endereço é o localizador da célula, que permite identificar univocamente 
uma célula 
Em geral, para se representar o endereço, é utilizado o tamanho máximo da PALAVRA do computador. Normalmente, o tamanho 
máximo do Registrador, endereço este que irá trafegar no Barramento de Endereços, já estudado em aulas anteriores. 
 
Representação do endereço 
É a quantidade de bits necessária para representar a quantidade de memória. 
 
Se analisarmos desta maneira, sabemos que 1 bit consegue representar 2 endereços de memória, ou seja, 0 e 1. 
 
Sendo assim, podemos considerar algumas fórmulas para facilitar a representação de endereços de células na Memória Principal. 
 
Fórmulas: 
Quantidade células possíveis para de se endereçar com x bits. 
 
N = 2 elevado a x. Onde x é o total de bits que será usado para endereçamento. 
 
 
Assim, com 8 bits, conseguimos endereçar o total de 256 células, uma vez que 28 = 256 células de memória de 8 Bits, ou 256 Bytes. 
 
Capacidade de memória 
Você deve estar se perguntando... como se calcula a capacidade de memória de um equipamento? 
 
Deve-se calcular o número total de endereços (total de células) x tamanho de cada célula de memória. 
 
Vamos entender melhor através de um .Exemplo 
Total de Endereços: 1024 / Tamanho da célula: 8 bits (ou 1 byte). 
 
Tamanho MP: 1024 bytes. 
 
Classificações da memória 
As memórias podem ser classificadas de diversas maneiras. 
Veja alguns exemplos importantes: 
 
1)​Quanto à forma de acesso 
● Aleatória (RAM) Significa que o tempo de acesso será o mesmo, independentemente de onde se encontra a célula. 
O termo acesso aleatório se relaciona à capacidade de acesso em qualquer posição de memória e em qualquer momento 
para gravação e leitura de conteúdo.● Não aleatório (Memórias Secundárias) 
O tempo de acesso dependerá de onde o dado se encontra e tem relação com o acesso sequencial, imposto por alguns 
dispositivos de armazenamento, como uma unidade de fita. 
  
2)​Quanto ao acesso de leitura e escrita 
 
● R/W 
Read and Write ou memória de leitura e escrita. Este tipo de memória permite operações de escrita e leitura pelo usuário e pelos 
programas. É uma memória volátil, ou seja, perde seu conteúdo na falta de energia. 
 
ROM 
Read Only Memory ou memória apenas de leitura. Esta memória permite apenas a leitura. Seu conteúdo, uma vez gravado, não pode 
mais ser alterado. 
 
Foi muito utilizado inicialmente por fabricantes de computadores para gravar programas que não deviam ser apagados (por exemplo 
a BIOS - Basic Input Output System de computadores). É um tipo de memória não volátil. 
 
PROM 
Programmable Read Only Memory ou memória apenas de leitura, programável. Esta memória é uma ROM Programável. Diz-se 
programável pois ela poderia ser comprada “virgem”, sem conteúdo, e, uma vez gravado o conteúdo com os gravadores de PROM, 
não podiam mais ser alterados. 
 
 
 
EPROM 
Erasable Programmable Read Only Memory ou memória apenas de leitura. 
Assim como a PROM, poderia ser gravado com os gravadores de PROM apropriados, mas poderiam também ter seu conteúdo 
apagado utilizando-se máquinas específicas, baseadas em raios ultravioleta. Não foi muito utilizado depois da chegada da EEPROM. 
 
EEPROM (OU E2PROM) 
Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura, programável e eletronicamente alterável. 
Também chamada EAROM (Electrically Alterable ROM). 
Esta sim é uma memória EPROM, agora apagável por processo eletrônico, com equipamento e programas adequados. Apesar de 
mais cara, é geralmente utilizada em dispositivos em que se deseja permitir alteração, possibilitando a carga de novas versões de 
programas ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa ou 
equipamento. 
Atualmente, grande parte dos equipamentos, sejam eles notebooks ou desktops, possuem sua atualização de BIOS ou Firmware 
baseado em EEPROM, em que sua atualização não depende da troca de hardware, mas somente da execução de um programa que 
faz toda a sua alteração eletrônica. 
 
FLASH 
Um tipo específico de EEPROM, que é escrita e apagada em blocos, ao contrário das EEPROMs convencionais, em que é possível 
apagar cada byte, ao invés de grandes blocos de dados. 
EEPROMs convencionais são bem mais caras. Poderiam ser utilizadas para substituir os discos rígidos, porém se desgastam após 
serem apagadas 100 mil vezes. Ao passo que discos duram muitos anos, não importando quantas vezes sejam reescritos. 
O custo do byte armazenado em uma memória flash também é bem maior do que o custo do byte em um disco rígido convencional, 
como pode ser visto hoje com os discos SSD. 
3)Quanto à tecnologia de construção 
 
 ​ * SRAM (Static RAM)​ São memórias de conteúdo estático, que não dependem de atualizações periódicas de alimentação de energia 
para manterem os valores armazenados. Estes tipos de memória, por serem mais rápidas e de custo mais elevado, são utilizadas 
principalmente na construção de memórias cache.  
● DRAM (Dynamic RAM) ​Essas memórias têm tempo de acesso maior, na faixa de 60ns e são as mais comuns hoje em dia. A 
Memória Principal normalmente emprega essa tecnologia. 
Como seu conteúdo é perdido em alguns instantes, elas precisam ser periodicamente atualizadas (ciclo de “refresh”) e com 
alimentação constante de energia, o que faz com que fiquem indisponíveis para novas transferências em intervalos regulares. São 
as memórias utilizadas na construção da memória RAM. 
 
Memória secundária 
Memórias secundárias ou memórias auxiliares são dispositivos de armazenamento em massa, não deixando de ser importantes no 
subsistema de memória, principalmente na resolução de problemas de armazenamento de grande quantidade de informações, bem 
como pelo falo de serem memórias não voláteis, ou seja, a informação não é perdida quando a mesma perde a alimentação de 
energia elétrica. 
A capacidade da Memória Principal é limitada pelo seu relativo alto custo. As memórias auxiliares, ao contrário, têm maior 
capacidade e menor custo. 
Portanto, o custo por bit armazenado é muito menor. 
A memória secundária em sistema de computação pode ser formada por diferentes tipos de dispositivos, alguns acessados 
diretamente e de forma constante pelo sistema operacional (disco rígidos - Hard Disks – HD, ou os atuais discos SSD) e outros que 
podem ser conectados quando desejados (Pen Drives, CD-ROM, etc). 
⟹ ​Lembrando que uma das principais características dos dispositivos que constituem as memórias secundárias é sua NÃO 
VOLATILIDADE, isto é, não dependem de estar energizados para manter seu conteúdo gravado. 
 
Veja algumas características importantes quanto a outros dispositivos de armazenamento secundário: 
 
TEMPO DE ACESSO 
Uma vez que muitos são dispositivos eletromecânicos e não circuitos puramente eletrônicos (a exemplo dos discos rígidos, CD-ROM, 
DVD-ROM, entre outros), seu tempo de acesso é muito mais elevado. 
O acesso a um dado no disco rígido, por exemplo, depende do deslocamento do braço que contém a leitora e do movimento de rotação do 
disco. 
Dessa forma, todos os processos mecânicos a serem executados por esses dispositivos jamais se compararão em termos de velocidade a 
um acesso aleatório de uma célula da Memória Principal, que depende apenas de um sinal elétrico para localizar um conteúdo na memória. 
 
CAPACIDADE 
Um dos grandes atrativos dos dispositivos de Memória Secundária é sua alta capacidade de armazenamento, que chegam a dezenas e até 
centenas de GBytes. 
 
 
VOLATILIDADE: 
Como esses dispositivos armazenam as informações de forma magnética ou ótica, elas não se perdem nem desaparecem quando não há 
alimentação de energia elétrica.o é, não dependem de estar energizados para manter seu conteúdo gravado. 
Disco Rígido: 
Em termos de Memória Secundária, ainda é muito utilizado o Disco Rígido, formado por uma estrutura eletromecânica de discos de platina, 
em que a leitura é feita por um cabeçote, que, através da indução, efetua a leitura dos dados, sem efetivamente ter o contato físico com o 
disco.Apesar de ainda ser o mais utilizado, oferece riscos maiores para falhas por ser um dispositivo eletromecânico. Por isso, a cada dia 
cresce o uso dos discos SSD (Solid State Disk), que são discos puramente eletrônicos, formados por células de memória flash e que não 
dependem de dispositivos eletromecânicos para seu funcionamento. 
 
Isso aumenta consideravelmente sua velocidade, como também seu custo, cujo o GByte ainda é consideravelmente mais caro do que o custo 
oferecido pelo Disco Rígido. 
Basicamente, a função principal dos discos HDD (Hard Disk Drive) e SSD (Solid State Drive) são as mesmas, ou seja, o armazenamento de 
grande volume de dados não volátil. 
A principal desvantagem do SSD em relação ao HD ainda hoje é o preço devido ao fato de que o SSD é uma tecnologia puramente eletrônica, 
em que discos magnéticos foram trocados por memórias flash, de forma que o custo por GB de armazenamento ainda é mais caro. 
Porém, os SSDs se destacam quando o assunto é velocidade. Em uma pequena comparação com um HDD, o tempo de boot de um sistema 
operacional Windows em um mesmo equipamento cai para menos da metade em um disco SSD. 
 
 ​AULA 10 
 
COMPONENTES DA MEMÓRIA PRINCIPAL 
 - ​BARRAMENTO DE DADOS:​ Interliga o RDM à memória principal para a transferência de informações. É bidirecional 
 
- ​REGISTRADOR DE DADOS DA MEMÓRIA (RDM): ​ ​Registrador que armazena temporariamente as informações que está sendo 
transferida de/para a memória 
 
- ​BARRAMENTO DE ENDEREÇOS​:​ Interliga o REM à memóriaprincipal. É unidirecional 
 
COMPONENTES DA MEMÓRIA PRINCIPAL 
 
- ​REGISTRADOR DE ENDEREÇOS DA MEMÓRIA:​ Registrador que armazena temporariamente o endereço de acesso 
 
- ​BARRAMENTO DE CONTROLE:​ Interliga a unidade de controle do processador à memória principal para envio de sinais durante as 
operações de leitura escrita 
 
- ​CONTROLADOR DE MEMÓRIA:​ Responsável por gerar os sinais necessários para controle do processo de leitura e escrita, além de 
interligar a memória aos demais componentes do sistema 
Organização da memória principal ➔células 
 
Palavra ➔ ​conjunto de células com significado 
Unidade de transferência ​➔ quantidade de bits 
transferidos de/para a memória 
Capacidade de memória​ ➔ quantidade de informações armazenadas 
N = número de células * tamanho da célula 
 
Memória CACHE 
-O acesso a cache é transparente para a aplicação e para o sistema operacional, uma vez que todo o gerenciamento da memória cache é feito 
por hardware 
 
-O processador inicia a operação de leitura para o endereço desejado da Memória Principal 
 
-O sistema de controle da cache intercepta o endereço e conclui se o dado solicitado está ou não armazenado na cache. Um acerto é 
denominado ​cache hit​ e a falha é denominada​ cache miss 
 
-Se ocorrer um cache miss o controlador da memória principal é acionado para localizar o dado na memória, transferindo-o para a cache. Um 
novo acesso é feito a memória cache 
Transmissão serial 
 
Na transmissão serial, o periférico é conectado ao dispositivo controlador (veremos posteriormente) ou interface de E/S por uma única linha 
 
de transmissão de dados.  
 
 Nesse tipo de transmissão, a informação é transmitida/recebida bit a bit e, por não haver necessidade de controle e gerenciamento como o 
paralelo, é de fácil controle e implementação.  
 Por essa facilidade, o uso deste tipo de transmissão, bem como tecnologias disponíveis, têm crescido consideravelmente.  
 Por exemplo, a porta USB (Universal SERIAL Bus, ou barramento SATA - SERIAL ATA), são tecnologias padronizadas no uso de 
equipamentos. 
Transmissão paralela 
 
Na transmissão em paralelo, um grupo de bits é transmitido de cada vez, cada um sendo enviado por uma linha separada de transmissão. 
A informação é transmitida/recebida em grupos de bits de cada vez, simultaneamente. 
Por ser feita dessa forma, os sinais de cada linha de barramento precisam chegar simultaneamente. Sendo assim, é difícil de controlar, pois 
os mecanismos de verificação desse “paralelismo” têm de custo elevado. 
Controladora de E/S 
 
A CPU e Memória Principal não se comunicam diretamente com o periférico, necessitando de uma interface de comunicação entre CPU/MP e 
o periférico, conhecidos normalmente como controladoras de E/S, conforme mostra a figura: 
 
Esquema de comunicação dos componentes do computador que são: CPU, memória, monitor, teclado, leitor de disco, e HD. A CPU e a 
memória se comunicam sem intermédio de controladores, ao contrário do Monitor, teclado, leitor de disco e HD que necessitam de 
controladores para a comunicação. 
 
Esses dispositivos ficam interligados através de barramento ou “bus” e normalmente possuem unidades de memória (registradores) para 
comunicação com a CPU, que se comunica com sua controladora, responsável por converter o fluxo de bits em um bloco de bytes, 
executando também as correções de erros necessárias e tornando os dados disponíveis para serem copiados para a MP. 
 
Sendo assim, as controladoras de E/S são um hardware que controla uma porta, barramento ou dispositivo e sua comunicação com a CPU, 
ou seja, quando um programa precisa de dados do disco, por exemplo, ele envia um comando ao controlador de disco, que emite um sinal de 
comando como “seek” à unidade de disco. 
Controladora de E/S - Processo de comunicação 
 
1 Inicialmente, a CPU interroga o dispositivo, enviando o endereço do dispositivo e um sinal dizendo se quer mandar ou receber dados 
através da controladora; 
2 A controladora, reconhecendo seu endereço, responde quando está pronta para receber (ou enviar) os dados; 
3 A CPU então irá transferir (ou receber) os dados através da controladora; 
4 A controladora responderá à CPU confirmando que: 
 
 
• Recebeu (ou transferiu) os dados (“Acknowledge” ou ACK); ou 
• Não recebeu os dados, neste caso solicitando retransmissão (“Not-acknowledge” ou NAK). 
 
 
Device Drivers 
 
Para que o Sistema Operacional possa se comunicar com novos periféricos e dispositivos interligados ao sistema de computação, é 
necessário que ele reconheça esses dispositivos. 
 
Dessa forma, podemos entender como Device Driver o software que permite que o sistema operacional e este dispositivo específico possam 
se comunicar dentro do processamento da CPU. 
 
Normalmente, por se tratar de um novo periférico a ser instalado no sistema de computação, o driver é desenvolvido pela mesma empresa 
que projetou e fabricou o dispositivo, de forma que o driver serve como complemento a fim de traduzir as requisições de alto nível (feitas pelo 
usuário) para o dispositivo específico (junto à controladora), podendo também trabalhar junto à controladora de E/S na conversão de dados e 
detecção e correção de erros, garantindo o correto funcionamento do dispositivo. 
Formas de comunicação entre CPU/MP e interface de E/S 
 
Existem formas de comunicação da CPU e Memória Principal com as interfaces de entrada e saída. 
Para qualquer tipo de comunicação, sempre há o armazenamento de conteúdo de dados em memória, a fim de que este conteúdo possa ser 
trafegado durante o processamento. 
Porém, esta comunicação pode se diferir pelo tipo de memória utilizada durante esse processamento, sendo eles: 
   
Memória compartilhada 
 
Nesse tipo, a memória principal é compartilhada tanto por instruções e dados comuns de um programa quanto por instruções/dados de 
operações de E/S, sendo necessário somente lançar no barramento de controle o comando de leitura/escrita que deve ser executado, pois a 
memória principal é justamente a memória utilizada neste tipo de operação. 
 
Vantagem Não necessita de instruções especiais para processamento. 
Desvantagem Ocupa parte do espaço da memória principal para seu processamento​. 
 
 
Memória isolada 
 
Nesse exemplo, existe uma memória isolada. Consiste em criar um espaço de memória próprio de E/S para aquela operação, não utilizando 
assim uma parcela da memória principal. 
Para isso, é necessário um sinal de identificação a fim de saber se a instrução a ser processada é de E/S ou não, pois o local de 
armazenamento do conteúdo a ser processado estará em local diferente. 
 
Vantagem Não utiliza espaço da memória principal. 
Desvantagem Necessita de instruções especiais. 
 
 
Formas de realização de entrada/saí​da 
 
Agora que estudamos como funciona a comunicação dos dispositivos de entrada e saída em um Sistema de Computação, é importante 
entender como é realizada a comunicação de entrada e saída nos mesmos. 
 
Existem três tipos principais: 
 
1. E/S PROGRAMADA 
Nesse tipo, a CPU lê constantemente o status do controlador de E/S e verifica se já acabou o processamento (Polling ou 
Busy-waiting), espera até o fim da operação para dar continuidade aos demais. 
Há um intenso uso da CPU, bem como uma ociosidade de tempo, uma vez que o polling faz com que existam momentos de espera 
no processamento. 
 
 
2. E/S COM EMPREGO DE INTERRUPÇÃO 
Muito utilizada na arquitetura atual, como o próprio nome diz, nesse tipo, a CPU solicita a transferência de um processamento à 
controladora e desvia-se para outra atividade, sem aguardar que o processamento seja finalizado. 
Dessa forma, ela pode se preocupar com outros processamentos até que o mesmo seja finalizado pelo dispositivo de E/S, que, ao 
finalizar, avisa à CPU, por meio de um sinal de interrupção, que faz com que a CPU “desvie” sua atençãopara o resultado do 
 
processamento requisitado. 
 
Tipos de interrupção:  
Internas: Geradas pela execução de uma instrução. Exemplo: Divisão por Zero, etc. 
Externas: Geradas por um sinal externo à CPU. Utilizadas na comunicação com periféricos. 
 
3. ACESSO DIRETO À MEMÓRIA (DMA – DIRECT MEMORY ACCESS) 
Controlador de DMA: Permite a transferência de dados entre uma interface e a MP praticamente sem intervenção da CPU. 
CPU solicita transferência. Controlador sinaliza final através de interrupção. 
Tratamento de interrupção (Interrupt Handler) 
 
O tratamento de interrupções pode ser resumido pelo exemplo de diálogo abaixo, onde é demonstrada a comunicação SEM interrupção e 
COM interrupção. 
Este exemplo pode diferenciar claramente como o emprego de interrupção interfere e auxilia na otimização do processamento em um 
Sistema de Computação. 
É importante reforçar que cada tipo de interrupção tem um tratamento específico a ser feito. 
Se estivermos falando de um click do mouse, o “mecanismo de tratamento” vai verificar que o botão foi pressionado e, dependendo do botão 
(vamos considerar um mouse de 2 botões), uma operação diferente será executada. 
Geralmente, a CPU utiliza o código identificador do botão pressionado para um endereço específico de memória e cada programa irá tomar 
sua decisão do que será feito quando este “click” for efetuado, seja ele um navegador de internet, um jogo, entre outros aplicativos. 
Quando esse processo de interrupção pelo mouse é encerrado, o tratamento também é encerrado, e a CPU volta à execução do programa que 
havia sido interrompido para tratar o “click” do mouse, restaurando todos os valores, salvos antes da interrupção, e retomando exatamente do 
ponto em que parou. 
Tipos de interrupções 
 
1. Maskable interrupt (IRQ) 
É uma interrupção de hardware que pode ser ignorada por configurar um bit em um registro da máscara de interrupção (IMR) bit-mask. 
 
2.Non-maskable interrupt (NMI) 
É uma interrupção de hardware que carece um bit-mask associado. Então, isso nunca pode ser ignorado.  
NMIs são frequentemente usados por timers, especialmente por watchdog timers. 
 
3.Inter-processor Interrupt (IPI) 
Caso especial gerado por um processador para interromper outro processador em um sistema de multiprocessadores. 
 
4.Software Interrupt 
É uma interrupção gerada dentro de um processador pela execução de uma instrução. 
Interrupções de software são frequentemente usadas para implementar chamadas de sistema porque elas implementam uma chamada de 
sub-rotina com a mudança de nível da CPU.

Continue navegando