fundamentos da arquitetura de computadores

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

Upload: braeden-lane

Post on 31-Dec-2015

24 views

Category:

Documents


0 download

DESCRIPTION

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 forma consistente para que futuras recuperações aconteçam sem erros. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fundamentos da Arquitetura de Computadores

Fundamentos da Arquitetura de Computadores

Memória

Prof. André Renato

1º Semestre / 2012

Page 2: Fundamentos da Arquitetura de Computadores

MemóriaA 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.

Page 3: Fundamentos da Arquitetura de Computadores

MemóriaNa 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;

Page 4: Fundamentos da Arquitetura de Computadores

MemóriaVamos 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....

Page 5: Fundamentos da Arquitetura de Computadores

MemóriaAumento da demanda por

armazenamento:◦Programas cada vez maiores;◦Aumento na produção e

processamento de dados; Emails; Sites; Blogs;

Page 6: Fundamentos da Arquitetura de Computadores

MemóriaMemó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;

Page 7: Fundamentos da Arquitetura de Computadores

Memória

Page 8: Fundamentos da Arquitetura de Computadores

MemóriaVamos 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.

Page 9: Fundamentos da Arquitetura de Computadores

MemóriaToda 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.

Page 10: Fundamentos da Arquitetura de Computadores

MemóriaPara 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.

Page 11: Fundamentos da Arquitetura de Computadores

MemóriaOs 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.

Page 12: Fundamentos da Arquitetura de Computadores

MemóriaComo 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.

Page 13: Fundamentos da Arquitetura de Computadores

MemóriaNos 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;

Page 14: Fundamentos da Arquitetura de Computadores

MemóriaA 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.

Page 15: Fundamentos da Arquitetura de Computadores

MemóriaA 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.

Page 16: Fundamentos da Arquitetura de Computadores

MemóriaNos 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;

Page 17: Fundamentos da Arquitetura de Computadores

Memória

Page 18: Fundamentos da Arquitetura de Computadores

MemóriaTempo 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).

Page 19: Fundamentos da Arquitetura de Computadores

MemóriaO 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).

Page 20: Fundamentos da Arquitetura de Computadores

MemóriaEm 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.

Page 21: Fundamentos da Arquitetura de Computadores

MemóriaCapacidade – é 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.

Page 22: Fundamentos da Arquitetura de Computadores

MemóriaCusto – 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.

Page 23: Fundamentos da Arquitetura de Computadores

MemóriaRegistradores:

◦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;

Page 24: Fundamentos da Arquitetura de Computadores

MemóriaRegistradores 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.

Page 25: Fundamentos da Arquitetura de Computadores

MemóriaNo 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.

Page 26: Fundamentos da Arquitetura de Computadores

MemóriaSã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.

Page 27: Fundamentos da Arquitetura de Computadores

Memória

Page 28: Fundamentos da Arquitetura de Computadores

Memória

Page 29: Fundamentos da Arquitetura de Computadores

MemóriaO 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.

Page 30: Fundamentos da Arquitetura de Computadores

MemóriaQuanto 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.

Page 31: Fundamentos da Arquitetura de Computadores

Memória

Page 32: Fundamentos da Arquitetura de Computadores

MemóriaDa 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.

Page 33: Fundamentos da Arquitetura de Computadores

MemóriaA 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

Page 34: Fundamentos da Arquitetura de Computadores

MemóriaA 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.

Page 35: Fundamentos da Arquitetura de Computadores

MemóriaEm 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).

Page 36: Fundamentos da Arquitetura de Computadores

MemóriaA 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.

Page 37: Fundamentos da Arquitetura de Computadores

MemóriaMemó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.

Page 38: Fundamentos da Arquitetura de Computadores

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.

Page 39: Fundamentos da Arquitetura de Computadores

MemóriaDependendo 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.

Page 40: Fundamentos da Arquitetura de Computadores

MemóriaUma 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.

Page 41: Fundamentos da Arquitetura de Computadores

MemóriaNa 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.

Page 42: Fundamentos da Arquitetura de Computadores

MemóriaAs 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.

Page 43: Fundamentos da Arquitetura de Computadores

MemóriaDispositivos 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.

Page 44: Fundamentos da Arquitetura de Computadores

Memória* Algumas figuras e definições

foram tiradas do material de aula do professor Marcos Quinet.