Fundamentos da Arquitetura de Computadores Memria Prof Andr

  • Slides: 44
Download presentation
Fundamentos da Arquitetura de Computadores Memória Prof. André Renato 1º Semestre / 2012

Fundamentos da Arquitetura de Computadores Memória Prof. André Renato 1º Semestre / 2012

Memória �A função da memória em um sistema de computação é armazenar dados de

Memória �A função da memória em um sistema de computação é armazenar dados de forma consistente para que futuras recuperações aconteçam sem erros. �A memória é, portanto, um componente conceitualmente muito simples: um depósito de dados.

Memória �Na prática, porém, não é possível construir e utilizar um sistema de computação

Memória �Na prática, porém, não é possível construir e utilizar um sistema de computação com apenas um único tipo de memória. �Razões: ◦ Aumento da velocidade de CPU, muito maior do que o tempo de acesso da memória; ◦ Crescente demanda por armazenamento;

Memória �Vamos imaginar a seguinte situação hipotética: ◦ Uma CPU processa um dado em

Memória �Vamos imaginar a seguinte situação hipotética: ◦ Uma CPU processa um dado em 5 nanossegundos; ◦ Uma memória necessita de 60 nanossegundos para transferir um dado; ◦ A CPU fica 55 nanossegundos “parada” entre um dado e outro. .

Memória �Aumento da demanda por armazenamento: ◦ Programas cada vez maiores; ◦ Aumento na

Memória �Aumento da demanda por armazenamento: ◦ Programas cada vez maiores; ◦ Aumento na produção e processamento de dados; �Emails; �Sites; �Blogs;

Memória �Memórias que sejam rápidas como as CPUs existem, mas são muito caras; �O

Memória �Memórias que sejam rápidas como as CPUs existem, mas são muito caras; �O custo fica ainda mais elevado se considerarmos a questão da necessidade de armazenamento das informações; �Assim, existe a necessidade de se trabalhar com memórias de tipos diferentes;

Memória

Memória

Memória �Vamos imaginar uma biblioteca: ◦ O elemento a ser manipulado é o livro;

Memória �Vamos imaginar uma biblioteca: ◦ O elemento a ser manipulado é o livro; ◦ A ação de armazenamento (chamada em computação de escrita) consiste na operação de colocar o livro em uma prateleira de uma estante, que esteja disponível; ◦ A ação de recuperação (chamada em computação de leitura) consiste em dadas uma estante e prateleira, obter o livro desejado.

Memória �Toda a informação com a qual um sistema computacional trabalha está, em algum

Memória �Toda a informação com a qual um sistema computacional trabalha está, em algum nível, armazenada em um sistema de memória, guardando os dados em caráter temporário ou “permanente”. �Como já estudamos, a menor quantidade de informação que podemos armazenar é em um dígito binário, ou BIT. Utilizando um bit estamos limitados a representar somente dois dados. �Precisamos definir agrupamentos de bits para representarmos mais símbolos ou valores.

Memória �Para representarmos uma letra ou número através de bits, convencionou-se montar um agrupamento

Memória �Para representarmos uma letra ou número através de bits, convencionou-se montar um agrupamento de 8 bits, chamado de byte. �Inicialmente, dos 8 bits, 7 eram usados para combinações, permitindo 128 símbolos diferentes, e 1 bit usado para controle de paridade. Hoje os sistemas são mais confiáveis e os 8 bits podem ser utilizados para combinações, permitindo 256 símbolos diferentes. �Um byte pode armazenar um caractere, que é a unidade básica de armazenamento na maioria dos sistemas computacionais.

Memória �Os primeiros processadores tinham capacidade de trabalhar com somente um caractere por vez,

Memória �Os primeiros processadores tinham capacidade de trabalhar com somente um caractere por vez, eram chamados de processadores de 8 bits. � A palavra é a quantidade de bits que uma UCP processa de uma vez. Quanto mais palavras a UCP consegue processar, maior sua velocidade. �Uma UCP de 64 bits processa em uma operação a mesma quantidade de dados que uma UCP de 16 bits faz em quatro operações.

Memória �Como localizar uma informação na memória? �Vamos voltar à biblioteca: ◦ Para obter

Memória �Como localizar uma informação na memória? �Vamos voltar à biblioteca: ◦ Para obter um livro é preciso conhecer a estante (prateleira) onde ele está. ◦ Esta informação é chamada de “endereço” do livro. ◦ Somente conhecendo o endereço, podemos acessar o livro.

Memória �Nos sistemas de computação, a memória é dividida em pequenos “pedaços” capazes de

Memória �Nos sistemas de computação, a memória é dividida em pequenos “pedaços” capazes de armazenar uma informação. �Estes “pedaços” são chamados de células de memória; �Cada célula contém um endereço único, associado a ele na sua fabricação;

Memória �A colocação de uma informação em memória é chamada de escrita ou armazenamento

Memória �A colocação de uma informação em memória é chamada de escrita ou armazenamento (write ou record); �A obtenção da informação é chamada de leitura ou recuperação (read ou retrieve); �Elas apresentam muitas diferenças.

Memória �A escrita é naturalmente uma operação destrutiva: o dado que existia anteriormente é

Memória �A escrita é naturalmente uma operação destrutiva: o dado que existia anteriormente é apagado e passa a ficar armazenado apenas o dado novo; �A leitura não deve ser destrutiva, ou seja, o dado deve ser obtido (copiado), mas pode continuar a existir a informação original.

Memória �Nos sistemas computacionais modernos, existe uma organização das memórias de acordo com as

Memória �Nos sistemas computacionais modernos, existe uma organização das memórias de acordo com as suas características. �Esta organização é chamada de hierarquia de memória e leva em consideração o custo, a capacidade de armazenamento e o tempo de acesso à informação;

Memória

Memória

Memória �Tempo de acesso – indica quanto tempo a memória precisa para colocar a

Memória �Tempo de acesso – indica quanto tempo a memória precisa para colocar a informação solicitada no barramento. �Pode ser chamado de tempo de leitura. �Começa a contar no momento que o endereço é passado (normalmente pela CPU).

Memória �O tempo de acesso depende da tecnologia utilizada para construir a memória. �Memórias

Memória �O tempo de acesso depende da tecnologia utilizada para construir a memória. �Memórias RAM consomem poucos nanossegundos enquanto a memória secundária consome alguns milisegundos (1000 vezes mais lenta).

Memória �Em memórias eletrônicas, o tempo de acesso entre dois pedidos de leituras consecutivos

Memória �Em memórias eletrônicas, o tempo de acesso entre dois pedidos de leituras consecutivos é invariável; �Em memórias eletromecânicas (HD, CDs, DVDs) isto depende de quais endereços foram utilizados, pois é necessário que algum dispositivo da memória seja reposicionado adequadamente.

Memória �Capacidade – é a quantidade total de informações que podem ser armazenadas em

Memória �Capacidade – é a quantidade total de informações que podem ser armazenadas em uma memória. �A unidade mais comum é o byte, mas podem ser utilizadas outras como bits(registradores), células(memória principal ou cache), setores (discos magnéticos) etc.

Memória �Custo – depende muito do tipo de tecnologia utilizado para produzir a memória.

Memória �Custo – depende muito do tipo de tecnologia utilizado para produzir a memória. �Uma boa medida é o custo por byte. �HDs têm o custo por byte muito abaixo do que as memórias RAM por exemplo.

Memória �Registradores: ◦ Registradores são dispositivos de memória presentes no interior da UCP, construídos

Memória �Registradores: ◦ Registradores são dispositivos de memória presentes no interior da UCP, construídos utilizando semicondutores (por isso são elementos de armazenamento volátil). ◦ Sua função é a de armazenar dados que serão utilizados pela UCP para o processamento da instrução atual ou de uma das próximas;

Memória �Registradores estão no topo da pirâmide, portanto possuem baixa capacidade de armazenamento (normalmente,

Memória �Registradores estão no topo da pirâmide, portanto possuem baixa capacidade de armazenamento (normalmente, o tamanho da palavra do processador), alta velocidade e alto custo. Sua utilização será estudada com mais detalhes durante o estudo da UCP.

Memória �No projeto de Von Neumann estava prevista uma área de memória a partir

Memória �No projeto de Von Neumann estava prevista uma área de memória a partir da qual estariam todos os dados que seriam lidos e escritos pelo programa em execução; é necessário que esta memória apresente baixo tempo de acesso, pois será altamente dinâmica, com dados sendo inseridos e retirados de suas posições de memória a todo momento.

Memória �São armazenados nas memórias de alta velocidade os dados e instruções que o

Memória �São armazenados nas memórias de alta velocidade os dados e instruções que o processador vai utilizar com mais frequência. Em memórias mais lentas, com grande capacidade de armazenamento podem ser usadas para guardar dados e instruções que não serão necessários naquele momento. � As memórias são organizadas hierarquicamente de forma a obtermos um sistema com desempenho (velocidade) próximo ao da memória mas rápida e custo por bit próximo ao da memória de menor custo.

Memória

Memória

Memória

Memória

Memória �O barramento de endereço é a via através da qual o processador transmite

Memória �O barramento de endereço é a via através da qual o processador transmite para a memória principal o endereço da locação onde será feito o acesso. �O barramento de dados é a via através da qual o conteúdo da locação é transferida entre o processador e a memória principal. �Pelo barramento de controle trafegam diversos sinais, através dos quais o processador controla o acesso a memória, indicando, por exemplo, se o acesso é de leitura ou de escrita.

Memória �Quanto maior o número de vias do barramento de dados, melhor o desempenho

Memória �Quanto maior o número de vias do barramento de dados, melhor o desempenho do sistema; �Quanto maior o número de vias do barramento de endereço, maior o número de células endereçáveis que a memória principal pode ter.

Memória

Memória

Memória �Da capacidade total da memória principal, existirá uma área reservada aonde estarão carregados

Memória �Da capacidade total da memória principal, existirá uma área reservada aonde estarão carregados os dados da memória ROM, que apesar de estarem armazenados em um circuito de memória não-volátil, ao iniciar-se o computador são carregados para uma parte da memória principal para que possam ser executados.

Memória �A memória principal é formada por módulos divididos em duas categorias: leitura e

Memória �A memória principal é formada por módulos divididos em duas categorias: leitura e escrita (que é popularmente tratada como RAM) e ROM. �A memória ROM (Read Only Memory – memória somente de leitura) é previamente gravada, podendo apenas ser acessada, e não modificada; os dados nela armazenados mantém-se íntegros na ausência de energia elétrica; isso a caracteriza como uma memória não-volátil

Memória �A memória ROM pode ser de três tipos: PROM (Programmable Read Only Memory),

Memória �A memória ROM pode ser de três tipos: PROM (Programmable Read Only Memory), EPROM (Erasable PROM) ou EEPROM (Electrically EPROM). �A memória PROM permite apenas acessos para leitura dos dados nela gravados. As memórias EPROM e EEPROM podem ter seu conteúdo apagado através da exposição a raios ultravioleta e corrente elétrica, respectivamente.

Memória �Em um dos tipos de memória ROM são armazenadas as sub-rotinas utilizadas pelo

Memória �Em um dos tipos de memória ROM são armazenadas as sub-rotinas utilizadas pelo sistema operacional para interação com o hardware do computador, conhecidas como firmware. O mais conhecido firmware utilizado em sistemas microcomputadores é o BIOS (Basic Input/Output System).

Memória �A memória RAM (Random Access Memory) do computador é utilizada para o processador

Memória �A memória RAM (Random Access Memory) do computador é utilizada para o processador efetuar acessos de leitura e escrita ao dispositivo na qual esteja implementada (por exemplo, bancos ou “pentes” de memória). �As memórias do tipo RAM são utilizadas fundamentalmente para o armazenamento de instruções e dados de um programa em execução. �O acesso aleatório se refere ao fato de palavras individuais da memória poderem ser acessadas diretamente, utilizando uma lógica de endereçamento implementada em hardware.

Memória �Memórias RAM são implementadas utilizando semicondutores organizados em pastilhas, cuja principal característica é

Memória �Memórias RAM são implementadas utilizando semicondutores organizados em pastilhas, cuja principal característica é de que operações de leitura e gravação possam ser realizadas rapidamente. �A característica do acesso aleatório (randômico) é considerada boa, pois o tempo de acesso é igual para todas as localidades de memória.

Memória �As memórias RAM são voláteis, isto é, os dados nela armazenados só existem

Memória �As memórias RAM são voláteis, isto é, os dados nela armazenados só existem enquanto alimentados continuamente por corrente elétrica. No caso da ausência de corrente, todos os dados são imediatamente apagados de forma irrecuperável. A RAM só pode ser usada para o armazenamento temporário de dados.

Memória �Dependendo dos materiais utilizados na fabricação da memória, existem dois tipos de RAM:

Memória �Dependendo dos materiais utilizados na fabricação da memória, existem dois tipos de RAM: estática (SRAM – Static RAM) ou dinâmica (DRAM – Dynamic RAM). �SRAM e DRAM se diferem quanto à capacidade de armazenamento e ao tempo de acesso.

Memória �Uma DRAM é constituída por células que armazenam dados com a carga de

Memória �Uma DRAM é constituída por células que armazenam dados com a carga de capacitores, onde a presença ou ausência de carga em um capacitor representa um dígito binário 0 ou 1. �A DRAM requer uma regeneração periódica de carga (refresh) para manter os dados nela armazenados, pois um capacitor tem a tendência natural de se descarregar com o tempo.

Memória � Na memória SRAM os dígitos binários são armazenados utilizando configurações flip-flop (também

Memória � Na memória SRAM os dígitos binários são armazenados utilizando configurações flip-flop (também chamado de latch) com portas lógicas, mantendo estes dados enquanto houver fornecimento de energia; um circuito flip-flop pode ser usado como uma memória de 1 bit. � Nas memórias DRAM a célula de bit é implementada por um circuito eletrônico que ocupa uma área de integração menor que a ocupada pelo circuito usado nas memória SRAM. � Como a área por célula bit é menor, para a mesma área total de integração o número total de células de bit em uma DRAM é maior, tornando-a mais densa.

Memória �As memórias SRAM possuem como vantagem sobre as DRAM um tempo de acesso

Memória �As memórias SRAM possuem como vantagem sobre as DRAM um tempo de acesso reduzido, chegando a ter um tempo de acesso até quatro vezes menor (por exemplo, para uma tecnologia de SRAM com tempo de acesso de 15 ns, a DRAM apresenta um tempo de acesso de 60 ns). �Enquanto a capacidade de armazenamento das memórias DRAM cresce rapidamente, a diminuição do tempo de acesso é de cerca de 30% a cada dez anos.

Memória �Dispositivos DRAM são utilizados em sistemas de baixo e médio custo, permitindo dotar

Memória �Dispositivos DRAM são utilizados em sistemas de baixo e médio custo, permitindo dotar o sistema com uma capacidade de memória elevada, sem aumentar significativamente seu custo. �Por apresentarem um custo mais elevado, as memórias SRAM são utilizadas apenas para sistemas de alto desempenho ou para implementar pequenas porções de memória de funções específicas, como a cache.

Memória �* Algumas figuras e definições foram tiradas do material de aula do professor

Memória �* Algumas figuras e definições foram tiradas do material de aula do professor Marcos Quinet.