Baixe o app para aproveitar ainda mais
Prévia do material em texto
Memórias LEONARDO LIRA RAMALHO LEONARDO.RAMALHO@IFPA.EDU.BR Introdução • A principal vantagem dos sistemas digitais sobre os analógicos é a capacidade de armazenar, facilmente, grandes quantidades de informação e dados por períodos longos ou curtos. • Esta capacidade de memória é o que torna os sistemas digitais tão versáteis e adaptáveis a diversas situações. • Em um computador digital, a memória principal armazena instruções que informam ao computador o que fazer sob qualquer circunstância possível, de modo que o computador realiza sua tarefa com um mínimo de intervenção humana. 2 Introdução 3 Terminologia • Célula de Memória ◦ Um dispositivo ou circuito elétrico utilizado para armazenar um único bit (0 ou 1). Exemplos de célula de memória incluem um flip-flop, um capacitor carregado e um pequeno local em um CD, fita ou disco magnético • Palavra de Memória ◦ Um grupo de bits (células) em uma memória que representa instruções ou dados de algum tipo. Por exemplo, um registrador de oito FF’s pode ser considerado uma memória que esta armazenando uma palavra de 8 bits. Os tamanhos de palavras nos computadores modernos variam tipicamente de 8 a 64 bits, dependendo do porte do computador 4 Terminologia • Byte ◦ Um termo especial usado para um grupo de oito bits. Um byte sempre é constituído de 8 bits. Tamanhos de palavra podem ser expressos em bytes assim como em bits. Por exemplo, uma palavra de 8 bits é também uma palavra de um byte; uma palavra de 16 bits tem dois bytes, e assim por diante. • Capacidade ◦ Uma maneira de especificar quantos bits podem ser armazenados em um determinado dispositivo de memória ou num sistema de memória completo. 5 Terminologia Capacidade • Quantidade de informação que a memória é capaz de armazenar • Por exemplo, supondo que uma memória é capaz de armazenar 4.096 palavras de 8 bits, a capacidade total é 32.768 bits ou 4096 bytes • Representação: 6 4.096 × 8 Número de palavras Número de bits por palavra Terminologia Capacidade • O número de palavras em uma memória geralmente é um múltiplo de 1024 • Quando nos referimos à capacidade de memória, é comum usar o 1K para representar 1.024 = 210 • A capacidade de armazenamento de 4096×16 pode ser representada com 4K×16 • Similarmente: ◦ 1M (1 mega) representa 220= 1.048.576 ◦ 1G (1 giga) representa 230= 1 .073.741.824 ◦ 1T (1 tera) representa 240= 1.099.511.627.776 7 Terminologia Capacidade • Os bits geralmente são abreviados com b (minúsculo) e e os bytes são abreviados com B (maiúsculo) 8 256 KB = 256×1024 bytes =256×1024×8 bits B (maiúsculo) indica bytes K = 1024 *Note que nesses casos não foi especificado o número de palavras e nem o tamanho de cada palavra 256 Kb = 256×1024 bits Terminologia Capacidade (Exemplo) • Um certo chip de memória semicondutora é especificado como 2K X 8. • Quantas palavras podem ser armazenadas neste chip? • Qual é o tamanho da palavra? • Quantos bits esse chip pode armazenar no total? 9 2𝐾 = 2 × 1024 = 2048 palavras Cada palavra tem 8 bits 2048 × 8 = 16384 bits Terminologia Capacidade (Exemplo) • Qual das memórias abaixo armazena mais bits? ◦ 5M × 8 ◦ 4M × 16 • Qual das memórias abaixo armazena mais bits? ◦ 8M × 8 ◦ 1M × 32 10 = 5 × 1.048.576 × 8 =41.943.040 bits = 4 × 1.048.576 × 16 = 67.108.864 bits = 8 × 1.048.576 × 8 =67.108.864 bits = 1 × 1.048.576 × 32 = 33.554.432 bits Terminologia Capacidade (Exemplo) • Uma determinada memória tem uma capacidade de 4K x 8, qual é a capacidade em bits e em bytes? 11 = 4 × 1024 × 8 = 32768 bits = 32 Kb = 4 × 1024 × 8/8 = 4096 bytes = 4 KB Terminologia Endereço • Um número que identifica a posição de uma palavra na memória • Cada palavra armazenada em um dispositivo ou sistema de memória possui um endereço único • As máquinas lidam os endereços como número binários, mas geralmente são representados em formato hexadecimal, decimal ou octal em documentos ou manuais 12 Terminologia Endereço • Cada posição da memória possui um endereço único • No exemplo ao lado, a memória possui 8 palavras ◦ Endereçadas de 0002 = 010 até 1112 = 710 ◦ Nesse exemplo, não sabemos o tamanho de cada palavra 13 Terminologia Endereço • Quantas palavras essa memória possui? • Qual é o tamanho de cada palavra? • Qual é o conteúdo da palavra com endereço 00100? • Em qual região da memória há o conteúdo 1000? 14 Endereço Palavras Célula de memória 25 = 32 4 bits 0001 Endereço 00011 Terminologia Operação de Leitura • Operação na qual a palavra binária armazenada numa determinada posição (endereço) de memória é detectada e então transferida para outro dispositivo • Também conhecida com operação de busca, pois a palavra é buscada na memória 15 Terminologia Operação de Escrita • Operação na qual uma nova palavra é colocada numa determinada posição de memória • Também é chamada de operação de armazenamento • Sempre que uma nova palavra é escrita numa posição de memória, ela substitui a palavra que estava previamente armazenada lá ◦ Quando deseja-se “apagar” um HD, escreve-se zeros em todas os endereços de memória 16 Terminologia Tempo de acesso (tacc) • Uma medida da velocidade de operação de um dispositivo de memória. • É o tempo necessário para realizar uma operação de leitura. • Mais especificamente, é o tempo entre a memória receber uma nova entrada de endereço e os dados se tornarem disponíveis na saída da memória. 17 Terminologia Memória Volátil e não-volátil • Memória volátil ◦ Qualquer tipo de memória que necessita de energia elétrica para poder armazenar informação ◦ Se a energia elétrica é removida, todas as informações armazenadas na memória são perdidas • Memória não-volátil ◦ Armazenam informação mesmo após ser desligada e ligada. Para ler e escrever ainda é necessário ter alimentação ◦ Exemplos de memória não-voláteis: Memórias magnéticas e memórias SSD 18 Terminologia Memória RAM e SAM • MEMÓRIA DE ACESSO ALEATÓRIO (RAM – Random Access Memory) ◦ Memória na qual a posição física real de uma palavra da memória não tem efeito sobre o tempo necessário para ler ou escrever nesta posição. ◦ Geralmente associadas com memórias voláteis • MEMÓRIA DE ACESSO SEQUENCIAL (SAM – Sequential Access Memory) ◦ Um tipo de memória na qual o tempo de acesso não é constante e depende do endereço ◦ Uma determinada palavra armazenada é encontrada percorrendo todos os endereços até que o endereço desejado seja alcançado ◦ Exemplos: fitas magnéticas e DVDs 19 Terminologia Memória Estática e Memória Dinâmica • DISPOSITIVOS DE MEMÓRIA ESTÁTICA ◦ Dispositivos de memória semicondutora nos quais os dados permanecem armazenados enquanto a energia está presente, sem a necessidade de reescrever periodicamente os dados na memória • DISPOSITIVOS DE MEMÓRIA DINÂMICA ◦ Dispositivos de memória semicondutora nos quais os dados não permanecem armazenados, mesmo com a energia presente, a menos que os dados sejam periodicamente reescritos na memória. Esta última operação é denominada refresh. • * Não confundir com a volatilidade da memória 20 Terminologia Memória cache, principal, auxiliar • Memória Cache: Um bloco de memória de alta velocidade e mais cara. Geralmente está entre a CPU e as memórias mais lentas para armazenar dados que frequentemente são usados pela CPU • Memória Principal: a memória principal que armazena os dados e as instruções que a CPU está acessando no momento. Geralmente é uma memória semicondutora. Também chamada de memória de trabalho • Memória Auxiliar: armazena grandes quantidades de informação externamente à memória principal. É mais lenta e mais barata do que a memória principal e sempre é não-volátil. Discos magnéticos e CDs são dispositivos comuns de memória auxiliar. Também chamada de memória de massa 21 Tipos de memória não-volátil • ROM (Read-only memory): ◦ memória somente leitura ◦ A gravação geralmente é realizada no processo de fabricação da memória • EEPROM (ElectricallyErasable Programmable Read-Only Memory) ◦ Tipos de ROM que podem ser reescrita ◦ Novos dados podem ser escritos na memória eletricamente ◦ Possui um limite de gravações. Após esse limite a memória pode não funcionar mais adequadamente • FLASH ◦ Tipo de EEPROM, mas mais caras que as EEPROM conencionais ◦ Mais rápidas que as EEPROMs convencionais e mais lentas que as RAMs ◦ Os dados são mantidos mesmo sem energa 22 Tipos de memória não-volátil • SSD (Solid State Drive): ◦ Tipo de memória FLASH ◦ Acesso aos dados feitos eletricament ◦ Mais rápidas que os HDD e sem componentes móveis • HDD (Hard Disk Drives): ◦ Memória magnética ◦ Acesso aos dados feitos por um “braço” móvel ◦ Combinação de elementos eletrônicos e mecânicos 23 https://www.youtube.com/watch?v=PJTrZ8IYRL4 Memória RAM Volátil 24 Memória RAM típica de um PC https://www.tecmundo.com.br/hardware/1775-o-que-e-ddr-.htm Hierarquia de memória em níveis 25Tenenbaum, 2013 Organização Estruturada de Computadores Disco óticoFita Disco de Estado Sólido Disco Magnético Memória Principal Cache Registradores V el o ci d ad e Geralmente não-volátil Geralmente não-volátil Geralmente volátil Geralmente volátil Geralmente volátil Menor Maior Menor Maior P re ço V o lu m e d e d ad o s Menor Maior Princípios de Operação da Memória • Todos os sistemas de memória necessitam de diversos tipos de entrada e saída para realizar as operações de leitura e escrita 1. Aplicar o endereço binário da posição de memória que se pretende acessar (ler ou escrever) 2. Habilitar o dispositivo de memória para responder às entradas de controle 3. Colocar os dados armazenados no endereço especificado nas linhas de dados internas 26 Princípios de Operação da Memória Continuação 4. No caso de operações de leitura, habilitar as saída de dados para disponibilizar a palavra desejada 5. No caso de operações de escrita, aplicar os dados a serem armazenados aos pinos de entrada de dados ◦ Além de fornecer o endereço desejado 6. Habilitar a operação de escrita, o que faz com que o dispositivo pegue a palavra e o endereço na entrada e salve na posição desejada 7. Desativar os controles de leitura ou escrita quando terminar a leitura ou escrita e desabilitar o CI de memória 27 Princípios de Operação da Memória 28 Essa memória é um arranjo de 32 registradores de 4 bits cada Princípios de Operação da Memória 29 Cada posição, possui 4 células de memória que formam a palavra de memória Princípios de Operação da Memória 30 Controla se deve ler (read) ou escrever (write) 𝑅/ 𝑊 = 1 (leitura) 𝑅/ 𝑊 = 0 (escrita) Princípios de Operação da Memória 31 Memory enable (ME) ME=1, Habilita leitura ou escritas na mem. ME=0, coloca as entradas e saídas em alta-impedância Princípios de Operação da Memória 32 Define qual espaço de memória será lido ou escrito Princípios de Operação da Memória 33 Define o conteúdo da palavra na operação de escrita na memória Princípios de Operação da Memória 34 Saída da palavra desejada na operação de leitura da memória Princípios de Operação da Memória Exemplo: Descreva as condições de cada entrada e saída para ler o espaço com endereço 00100 35 1)A4=0A3=0A2=1 A1=0A0=0 4) alto Mem.: 3) ZZZZ 2) alto Mem.: 5) 0001 Princípios de Operação da Memória Exemplo: Descreva as condições de cada entrada e saída para ler o espaço com endereço 00011 36 Princípios de Operação da Memória Exemplo: Descreva as condições de cada entrada e saída para escrever 1110 na posição 310 37 1)A4=0A3=0A2=0 A1=1A0=1 5) alto 2) 1110 3) baixo Mem.: 4) ZZZZ 1 1 1 0 6) atualização Princípios de Operação da Memória Exemplo: Quais seriam os passo para escrever 0011 no endereço 30? 38 Princípios de Operação da Memória Exemplo: uma determinada memória tem uma capacidade 16K x 8 • Quantas linhas de entrada e saída de dados essa memória possui? • Quantas linhas de endereços ela tem? • Qual é sua capacidade em bits e bytes 39 Oito de cada, pois o tamanho da palavra é oito A memória armazena 16 x 1024 = 16384 palavras Logo necessita de log2 (16384) = 14 bits para endereçar todas as palavras 16 × 1024 × 8 = 131072 bits ou 128 Kb 16 × 1024 × 8 /8 = 16384 bytes ou 16 KB Conexão CPU-memória Quando um computador está executando um programa, a CPU continuamente busca (lê) informação das posições de memória que contêm (1) os códigos do programa que representam as operações a serem realizadas e (2) os dados para serem manipulados. 40 Conexão CPU-memória 41 Barramento unidirecional que leva os endereços binários da CPU para os Cis de memória para selecionar uma posição de memória Conexão CPU-memória 42 Barrarnento bidirecional que pode transportar dados da CPU para os CIs de memória (escrita) e do CIs para a CPU (leitura) Conexão CPU-memória 43 Barramento que leva os sinais de controle da CPU para as memórias, tais como sinais de leitura/escrita (𝑅/ 𝑊) e o de habilitação da memória (ME) Conexão CPU-memória 44 Barramento que leva os sinais de controle da CPU para as memórias, tais como sinais de leitura/escrita (𝑅/ 𝑊) e o de habilitação da memória (ME) Bibliografia Básicas: [1] Ronald J. Tocci, Neal S. Widner, Gregory L. Moss, Sistemas Digitais. Princípios e Aplicações, Pearson, 2011 Complementar: [2] Volnei A. Pedroni. Finite state machines in hardware: theory and design (with VHDL and SystemVerilog), The MIT Press, 2013 45
Compartilhar