Universidade Federal de Goiás Instituto de Informática Curso de Ciência da Computação SISTEMAS DIGITAIS MEMÓRIA Profa. Karina Rocha G. da Silva [email protected] http://sites.google.com/site/karinarg Agradecimentos à Pearson Education pela disponibilização das figuras do livro: Sistemas Digitais princípios e aplicações Conexões CPU-Memória 2 A memória principal de um computador é construída com Cis de RAMs e ROMs São interfaceados com a CPU por 3 grupos de linhas de sinais ou barramentos. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Conexões CPU-Memória 3 Linhas de endereço ou barramento de endereço Linhas de dados ou barramentos de dados Linhas de controle ou barramentos de controle Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Conexões CPU-Memória 4 Cada barramento consiste de diversas linhas O número de linhas varia de um computador para o outro Os três barramentos são fundamentais para permitir que a CPU escreva doados na memória e leia dados da memória Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Conexões CPU-Memória 5 Quando um computador está executando instruções de um programa: A CPU busca (lê) informações da área de memória que contêm as instruções do programa A CPU busca (lê) dados sobre os quais as operações são realizadas A CPU armazena dados em posições da memória conforme instruções do programa Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Operação de escrita 6 Operação de escrita A CPU fornece o endereço binário da posição da memória em que o dado será armazenado. Coloca esse endereço nas linhas de barramento de endereço A CPU coloca os dados a serem armazenados no barramento de dados A CPU ativa as linhas de controle para a operação de escrita na memória Os Cis da memória decodificam o endereço binário para determinar o local de escrita Os dados são colocados na posição da memória Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Operação de leitura 7 Operação de leitura A CPU fornece o endereço binário na posição que o dado deve ser recuperado Coloca o endereço no barramento de endereço CPU ativa as linhas de controle apropriadas para a operação de leitura Os Cis da memória decodificam o endereço binário para determinar a posição para a leitura Colocam o dado no barramento de dados e os transfere para a CPU Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Função de cada barramento 8 Função de cada barramento: Barramento de endereço: Unidirecional Transporta as saídas binárias de endereço da CPU para os CIS de memória para selecionar uma posição de memória Barranebto de dados: Barramento bidirecional Transporta dados entre a CPU eos Cis de memória Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Função de cada barramento 9 Função de cada barramento: Barramento Transporta de controle sinais de controle da CPU para os Cis de memória Exemplo: sinais de R/W Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória apenas de leitura 10 Memória apenas de leitura Projetada para manter os dados que são permanentes ou que não mudam com frequencia Durante operações normais nenhum novo dado pode ser escrito na ROM, mas podem ser lidos dela Algumas ROMs devem ser gravadas durante o processo de fabricação Algumas RAMs podem ser gravadas eletricamente O processo de inserção de dados é chamado de programação ou queima da ROM Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória apenas de leitura 11 Algumas ROMs não podem ter seus dados alterados uma vez que eles tenham sido programados Algumas ROMs podem ser apagadas ou reprogramadas tantas vezes quanto desejado O principal uso de uma Rom é para o armazenamento de dados de um microcomputador Como a ROM não é volátil, esses dados não se perdem quando a energia elétrica é desligada Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória apenas de leitura 12 Quando o computador é desligado ele pode iniciar imediatamente a execução do programa armazenado na ROM As ROMs também são usadas em equipamentos como: Caixas registradoras Aparelhos e sistemas de segurança Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Diagrama em bloco de uma ROM 13 Diagrama de bloco de uma ROM Possui 3 conjuntos de sinais: entrada de endereço, entrada de controle e saída de dados Essa ROM armazena 16 palavras Saída da ROM permite a conexão de vários Cis de ROM no mesmo barramento de dados para expansão da memória. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Diagrama em bloco de uma ROM 14 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Diagrama em bloco de uma ROM 15 A entrada de controle CS é a entrada de seleção de chip (chip select) Essa entrada habilita e desabilita as saídas da ROM Pode ser chamada de CE (chip enable), OE (output enable) Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Operação de leitura 16 Para ler uma palavra precisamos fazer: Aplicar a entrada de endereço apropriada Ativar as entradas de controle Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Arquitetura da ROM 17 A arquitetura (estrutura) interna do CI de uma ROM é complexa Existem 4 partes básicas: Matriz de registradores Decodificador de linhas Decodificador de colunas Buffers de saídas Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Arquitetura da ROM 18 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Matriz de registradores 19 Armazena os dados que são programados na ROM Cada registrador contém um número de células de memória igual ao tamanho da palavra (cada registrados armazena uma palavra de 8 bits) Pode-se determinar a posição de cada registrador como se ele estivesse em uma linha e coluna específicas As 8 saídas de dados de cada registrador são conectadas no barramento interno de dados que percorre todo o circuito Cada registrador tem duas entradas de habilitação e as duas devem estar em nível alto para colocar o dado no barramento Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Decodificadores de endereço 20 O código de endereço A3A2A1A0 determina o registrador da matriz que será habilitado a colocar o dado no barramento Os bits de endereço A1A0 são fornecidos para decodificar uma das linhas Os bits de endereço A3A2 são fornecidos ao segundo decodificador para ativar a coluna Apenas um registrador terá a linha e a coluna selecionadas para esse endereço Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Buffers de saída 21 O registrador habilitado pelo endereço colocará os dados no barramento de dados Esses dados vão para os buffers de saída Os buffers os passam para as saídas externas de dados Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Rom programada por máscara 22 Suas informações são armazenadas ao mesmo tempo que o circuito integrado é fabricado O processo utiliza uma “máscara” para depositar metais sobre o silício Essa máscara determina onde se formam as conexões como o uso de um estêncil com spray A máscara é muito cara e precisa e deve ser feita de acordo com as especificações do cliente. Esse tipo de ROM só é econômico quando muitas ROMs do mesmo tipo são programada com as mesmas informações Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 ROMs programáveis (PROMs) 23 A PROM possui conexões a fusível que são programadas pelo usuário Uma vez programada ela não pode ser apagada e reprogramada Se o programa tiver que ser mudado ou estiver errado, essa PROM deve ser jogada fora Esses dispositivos são chamados de ROM programáveis apenas uma vez A programação é feita pela aplicação de pulsos de alta voltagem Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 ROM programável e apagável (EPROM) 24 Uma EPROM pode ser programada pelo usuário Pode ser apagada e reprogramada tantas vezes quanto necessário EPROM é não volátil EPROM pode ser apagada apenas por exposição a uma forte luz ultravioleta Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 PROM apagável eletricamente (EEPROM) 25 É um aperfeiçoamento da EPROM Possui a capacidade de ser apagada eletricamente Pode ser lida um número ilimitado de vezes, mas só pode ser apagada e programada um número limitado de vezes (100.000 e 1 milhão) Esse limite é causado pela continua deterioração interna do chip durante o processo de apagamento que requer uma tensão elétrica mais elevada Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória flash 26 EPROM são não voláteis Tempo de acesso reduzido Difíceis de apagar EEPROM Não voláteis Rápido acesso para leitura Apagamento e reprogramação rápida Baixa densidade e alto custo Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória flash 27 Memória flash Não volátil Capacidade de apagamento da EEPROM Densidade e custo próximo da EPROM Alta velocidade de leitura Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória ROM 28 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Aplicações das ROMs 29 Memória de programa de microcomputador dedicado Sistema de freios e controlador do motor do carro Telefone celular Filmadora de vídeo digital Forno de microondas Possuem sua instrução armazenada em uma ROM Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Aplicações das ROMs 30 Transferência de dados e portabilidade Dispositivos que precisam armazenar informações de forma portável USB Celular Câmera digital MP3 PDA Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Aplicações das ROMs 31 Memória bootstrap O programa bootstrap é armazenado na ROM Quando o computador é energizado, ele executa os comandos armazenados no programa bootstrap Esse programa faz a CPU inicializar o hardware do sistema O programa bootstrap carrega o sistema operacional na memória do computador Computador começa a executar instruções do S. O. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Aplicações das ROMs 32 Tabelas de dados Usadas para armazenamento de algumas tabelas que não são alteradas Exemplo: tabelas trigonométricas Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Aplicações das ROMs 33 Armazenamento auxiliar Memórias flash tem sido muito usadas como armazenamento auxiliar Não voláteis Velozes Consumo baixo Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 RAM 34 A RAM é uma memória de acesso direto Qualquer endereço de memória possui a mesma facilidade de acesso de qualquer outro endereço RAMs são usadas para armazenamento temporário de programas e dados Os ciclos de leitura devem ser rápidos para que a RAM não torne o computador lento A principal vantagem é que ela pode ser escrita e lida rapidamente Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 RAM 35 Velocidade da memória: Indicada pelo tempo que um módulo de memória demora em fornecer uma informação a partir do momento que esta é solicitada pelo controlador de memória. Este tempo é chamado de tempo de acesso O tempo de acesso é expresso em ns (nanosegundos), pois as memórias RAM são extremamente rápidas. Quanto mais rápido ele acontecer, mais rápido o processador vai ter acesso a informação, melhorando seu desempenho. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Arquitetura da RAM 36 Ram Possui um conjunto de registradores Cada registrador possui uma única palavra de dados e um único endereço Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Arquitetura da RAM 37 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Arquitetura da RAM 38 Essa RAM armazena 64 palavras de 4 bits Endereço varia de 0 a 63 O decodificador requer um código de entrada de 6 bits A5A4A3A2A1A0 = 011010 Como 011010 = 2610, a saída 26 do decodificador vai para o nível alto, selecionando o registrador 26 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 RAM estática 39 SRAM – Static RAM Formada a partir de Flip-flops Mantém os dados enquanto está energizada São mais frequentemente usados como memória interna do computador As operações de leitura e escrita realizadas pela CPU dependem da velocidade da RAM OS Cis de memória tem que ser rápidos o suficiente para responder aos comandos de leitura e escrita Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 RAM dinâmica 40 Se destacam pela sua alta capacidade, baixo consumo, e velocidades moderadas Armazenam dados como cargas de capacitores Possuem a tendência de ter fugas de cargas, por isso precisam que as células de memórias sejam recarregadas periodicamente Esse processo de recarga é denominado de refresh da RAM dinâmica Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 RAM dinâmica 41 A necessidade de reavivamento é uma desvantagem da RAM dinâmica em relação à Ram estática Alguns circuitos DRAMs possuem circuitos de controle de refresh incorporados Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 DRAM x SRAM 42 DRAM SRAM Necessidade de reavivamento Não necessita reavivamento Menor consumo Maior consumo Menor velocidade Maior velocidade Menor custo Maior custo Mais densa Menos densa Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 DRAM x SRAM 43 DRAMs possuem quatro vezes a densidade da SRAM Maior densidade possibilita quatro vezes mais capacidade de memória em uma mesma placa O custo da DRAM custa em torno de um quinto a um quarto do custo da SRAM DRAM consome em torno de um quinto a um quarto da energia de uma SRAM Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 DRAM x SRAM 44 SRAM são mais aplicadas: Em aplicações que requerem altas velocidades Aplicações que requerem pouca quantidade de memória Exemplo: microprocessadores Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 DRAM x SRAM 45 Os microprocessadores normalmente usam memória DRAM Alta capacidade Baixo consumo Usam SRAM para aplicações como: vídeos fráficos, tabelas e memória cache Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Memória 46 Necessidade de construção de vários tipos de memória: Velocidade das UCP ( > tempo de acesso da memória) Capacidade de armazenamento. Hierarquia de Memória Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 Hardware – Memória 47 Custo alto Velocidade alta Baixa capacidade Hierarquia de Memória Registradores Memória Cache Memória Principal Discos CD-ROM Custo baixo baixa Profa.Velocidade Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás Capacidade elevada Memória Secundária 31/05/2017 47 Hardware – Memória 48 Hierarquia de Memória - Elementos Registradores Memória Cache Memória Principal Memória Secundária Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 48 Hardware – Memória 49 Registradores Elementos superiores da pirâmide de memória, por possuírem a maior velocidade de transferência dentro do sistema (menor tempo de acesso), menor capacidade de armazenamento e maior custo. Memórias rápidas usadas em execução de instruções dentro do processador (objetivo: minimizar os acessos às memórias externas ao processador). Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 49 Hardware – Memória 50 Registradores Parâmetros: Menor tempo de acesso, baixa capacidade (Ex.: 32 bits, 64 bits), dispositivos voláteis, memória de semicondutores, armazenamento temporário e apresenta o custo mais elevado. Exemplo: EAX RAX Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 50 Hardware – Memória 51 Arquitetura Pentium: Exemplos de Registradores Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 51 Hardware – Memória 52 Registradores - Parâmetros Tempo de acesso/ciclo de memória - 1 a 5 ns. Capacidade - baixa - 8 a 64 bits Volatilidade - dispositivos voláteis. Tecnologia - memória de semicondutores Temporariedade - armazenamento temporário. Custo - mais elevado. Citar 1 aRocha 5 ns pode significar valor já desatualizado. Profa. Dra. Karina G. neste da Silva instante - Universidade Federal de Goiás um31/05/2017 52 Hardware – Memória 53 Memória Cache Problema de Sistemas de Computação - gargalo de congestionamento na comunicação CPU/MP. Solução: desenvolvimento de uma técnica que consiste na inclusão de um dispositivo de memória entre CPU e MP - memória CACHE. Memória Cache - função - acelerar a velocidade de transferência das informações entre CPU e MP, aumentando o desempenho dos sistemas. Usada para armazenamento de instruções e dados mais freqüentemente acessados do programa em Profa.execução. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 53 Hardware – Memória 54 Memória Cache Fabricada com tecnologia semelhante à da CPU (possui tempos de acesso compatíveis, resultando numa considerável redução da espera da CPU para receber dados e instruções da cache, ao contrário do que acontece em sistemas sem cache). Atualmente há diversos tipos de memória cache, utilizados em sistemas de computação modernos: Cache para a Memória Principal (RAM cache), Cache para Disco. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 54 Hardware – Memória 55 Memória Cache Podem ser inseridas em dois (ou três) níveis: Cache L1 (Level 1) - nível 1), Cache L2 e Cache L3. Cache L1(primária) - interna ao processador. Cache L2 (externa ou secundária) - instalada, em geral, na placa-mãe do computador. Atualmente:localizada no interior da pastilha do processador, separada deste (cache backside). Quanto mais próxima do processador, melhor será o desempenho do mesmo. Cache L3 - existente em poucos processadores, 31/05/2017 localizada externamente ao processador. 55 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás Hardware – Memória 56 Memória Cache - Parâmetros Tempo de acesso/ciclo de memória - 5 a 7 ns. Capacidade - deve-se conciliar o compromisso de uma apreciável capacidade com a não-elevação demasiada de seu preço. Valores: 16K a 16 MB. Volatilidade - dispositivos voláteis. Tecnologia - circuitos eletrônicos de alta velocidade. Em geral, são memórias RAM estáticas (SRAM). Temporariedade - armazenamento temporário. Custo - o custo de fabricação das memórias cache é alto. Memórias cache internas à CPU ainda são mais Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 caras do que as externas. 56 Hardware – Memória 57 Memória Principal A memória básica de um sistema de computação desde seus primórdios. É o dispositivo no qual o programa (e seus dados) que vai ser executado é armazenado para que a CPU vá "buscando" instrução por instrução. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 57 Hardware – Memória 58 Memória Principal - Parâmetros Tempo de acesso/ciclo de memória - 7 a l5 ns. Capacidade – usualmente, na ordem de até 1 GB (ou 512MB) Volatilidade - volátil. Há normalmente uma pequena quantidade de memória não volátil fazendo parte da memória principal (BIOS). Tecnologia - em sistemas atuais esta tecnologia produz memória com elementos dinâmicos (DRAM). Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 58 Hardware – Memória 59 Memória Principal - Parâmetros Temporariedade - variável, depende de várias circunstâncias (p. ex.: tamanho do programa e sua duração, a quantidade de programas que estão sendo processados juntos, etc.). A transitoriedade com que as informações permanecem armazenadas na MP é, em geral, mais duradoura que na memória cache ou nos registradores. Custo - DRAM têm um custo mais baixo que o das memórias cache - são vendidos computadores com quantidade apreciável de MP (256 MB, 512 Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 MB, 1 GB) sem que o preço seja inaceitável. 59 Hardware – Memória 60 Memória Principal Quanto maior a capacidade de armazenamento (em Bytes), maior a capacidade de processamento. Uso de memória virtual Uso do HD como extensão da Memória Principal Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 60 Hardware – Memória 61 Memória Principal – Endereços de Memória Memória – formada por um conjunto de células (posições), cada uma guarda uma informação. Célula – menor unidade endereçável (tamanho padrão usual – 8 bits – 1 byte). Bytes são agrupados em palavras (palavra de 32 bits tem 4 bytes/palavra). A maioria das instruções de uma máquina opera sobre palavras. Uma máquina de 32 bits deverá ter registradores e instruções para tratar palavras de 32 bits. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 61 Hardware – Memória 62 Memória Principal – Endereços de Memória Endereço da célula – número associado à célula, que permite aos programas referenciá-la. Memória de n células – 0 a n – 1 endereços Célula de k bits – pode armazenar 2 k combinações de bits. Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 62 Hardware – Memória 63 Memória Secundária Denominada memória secundária, memória auxiliar ou memória de massa. Objetivo: garantir um armazenamento mais permanente à toda a estrutura de dados e programas do usuário - deve possuir maior capacidade que a memória principal. Pode ser constituída por diferentes tipos de dispositivos, alguns diretamente ligados ao sistema para acesso imediato (Ex.: discos rígidos), e outros que podem ser conectados quando desejado (Ex.: fitas, etc.). Profa.disquetes, Dra. Karina Rocha G. da SilvaCD-ROM - Universidade Federal de Goiás 31/05/2017 63 Hardware – Memória 64 Memória Secundária - Parâmetros Tempo de acesso/ciclo de memória - são, em geral, dispositivos eletromecânicos e não circuitos puramente eletrônicos - possuem tempo de acesso maiores. Tempos de acesso típicos: ordem de 8 a 15 ms. Discos do tipo CD-ROM: 120 a 300 ms, fitas magnéticas - ordem de segundos. Capacidade - varia bastante dependendo do tipo de dispositivo utilizado. Discos rígidos – ordem de 120 GB, CD-ROM - ordem de 700 MB, fitas magnéticas (a capacidade depende do comprimento da fita e da densidade de gravação). Profa. Dra. Karina Rocha G. da Silva - Universidade Federal de Goiás 31/05/2017 64 Hardware – Memória 65 Memória Secundária - Parâmetros Volatilidade - não voláteis. Tecnologia - este parâmetro possui uma variedade imensa de tipos, visto que, para cada dispositivo entre os já mencionados (discos, disquetes, fitas, discos ópticos, CD-ROM), há diferentes tecnologias de fabricação. Temporariedade - armazenamento com caráter permanente ou, pelo menos, de longo período de armazenamento. Custo bastante Profa. Dra. Karina- Rocha G. da Silva variado. - Universidade Federal de Goiás 31/05/2017 65