10 Memória v02
Introdução Num micro-processador a informação é guardada em registos Estes são definidos com grupos de FFs tipo D Além da informação precisamos de guardar também as instruções do próprio programa Para isso precisamos de muitos registos, isto é memória em massa Esta memória chamada também de memória principal encontra-se em bancos ou chips e pode estar dentro do chip do próprio processador ou fora deste 18 December 2014 Sistemas Digitais 2
Tipos de memória RAM random access memory leitura e escrita ROM read only memory apenas de leitura PROM programmable read only memory pode ser reescritra pelo utilizador fusible-link PROM: Pode ser reprogramada apenas uma vez: Cada elemento (um díodo) pode ser queimado aplicando uma corrente EPROM: Erasable PROM: muito comum, pode ser reprogramada muitas vezes Desvantagens: Para ser apagada o chip deve ser removido da board e submetido a luz ultra-violeta Não pode ser reprogramada byte a byte Tem de ser toda de uma só vez O chip tem uma janela de quartzo onde a luz UV é recebida A produção do chip é assim mais cara EEPROM ou E 2 PROM (electrically-erasable PROM): Elimina as desvantagens da EPROM 18 December 2014 Sistemas Digitais 3
Tecnologia de fabrico da memória (1) SRAM - STATIC RAM cada célula (bit) consiste de um simples FF como um SR Assim cada bit requere 4 a 6 transistores Cada bit é acedido por um sinal de seleção de linha e coluna gerado pelo descodificador de endereços 18 December 2014 Sistemas Digitais 4
Tecnologia de fabrico da memória (2) DRAM - DYNAMIC RAM cada célula (bit) consiste de um simples transístor (MOS metal oxide semiconductor) e um condensador Vantagem: Maior densidade de bits por chip Desvantagem: Os condensadores têm fugas, perdendo carga Por isso cada célula deve ser refrescada periodicamente, por exemplo a cada 2 ms 18 December 2014 Sistemas Digitais 5
Tecnologia de fabrico da memória (3) DRAM e SRAM são voláteis Isto é quando é desligada a energia o conteúdo perde-se A memória fabricada com tecnologia CMOS consome pouca energia Em alguns sistemas quando a energia principal está desligada esta pode ser alimentada por uma bateria para manter o estado A memória não volátil que guarda a configuração da BIOS de um PC é deste tipo CMOS e alimentada por uma pilha 18 December 2014 Sistemas Digitais 6
Organização da memória Refere-se ao número de bits numa palavra Muitas SRAMs têm um comprimento de palavra de 8 bits Se for necessário usar palavras de 16 bits ou mais, podem ser usados bancos de 8 bits em paralelo Podemos ter a memória organizada em: Chips de 8 bits cada: 2K x 8 64k x 8 Chips de 1 bit 1M x1 4M x1 O barramento também pode ter o comprimento de uma palavra 18 December 2014 Sistemas Digitais 7
Velocidade da memória A construção de DRAMs incide principalmente na capacidade A capacidade das DRAMs é cerca de 16x a das SRAMs A velocidade das SRAMS é 8-6x a das DRAMs Existem técnicas de aceder mais rapidamente à memória: Caching Interleaving 18 December 2014 Sistemas Digitais 8
Caching Parte de um programa ou dados é colocado num buffer de memória especial e muito mais rápida (e mais cara) chamada cache O critério do que se coloca nesse buffer varia Pode ser as ultimas instruções acedidas: o que é útil no caso de execução de um ciclo Pode ser uma matriz de dados que se está a aceder continuamente 18 December 2014 Sistemas Digitais 9
Interleaving Os chips de memória são organizados em bancos com o comprimento de uma palavra Os bancos são endereçados em paralelo Múltiplas palavras são lidas e escritas em paralelo 18 December 2014 Sistemas Digitais 10
Utilização da memória (1) Os chips de memória são vistos como caixas negras A organização não é visível Apenas é indicado no barramento de endereços qual a palavra aceder 18 December 2014 Sistemas Digitais 11
Utilização da memória (2) O barramento de dados é um conjunto de linhas onde a palavra a aceder é transportada entre a memória e a CPU O barramento de controlo é um conjunto de poucas linhas que indica como aceder: ler ou escrever O chip a aceder 18 December 2014 Sistemas Digitais 12
Utilização da memória (3) A CPU usa estes barramentos para aceder à memória 18 December 2014 Sistemas Digitais 13
Descodificação de endereços (1) Se a memória estiver organizada em dois chips de 1024 endereços cada o bit mais significativo do barramento de endereços seleciona o chip a aceder e os restantes a palavra nesse chip 18 December 2014 Sistemas Digitais 14
Descodificação de endereços (2) Podemos usar um descodificador (ex 2 para 8), como o LS138, para selecionar mais chips Neste exemplo os 3 bits mais altos do endereço selecionam o chip Sistemas Digitais 15
Descodificação de endereços (3) Usando um LS138 3 e chips de 64K bytes podemos aceder a um máximo de 512K bytes O próprio LS138 tem entradas de Enable (2 invertidas e uma normal) Sistemas Digitais 16
Descodificação de endereços (4) Podemos assim selecionar qual o LS138 a habilitar Se tivermos dois ligados a 8 bancos de 64 Kbytes cada um Sistemas Digitais 17
Descodificação de endereços (5) Podemos usar a linha de endereços A19 para selecionar o LS138 a habilitar Assim acede-se ao dobro da memória 1024K bytes Sistemas Digitais 18