Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Na disciplina de Eletrônica Digital, vimos como são projetados e construídos diversos tipos de registradores. Apesar de serem muito rápidos, os registradores têm capacidade de armazenamento reduzidíssima: cada registrador é capaz de armazenar somente uma palavra por vez. – Porém, nos sistemas digitais em geral, e particularmente nos computadores, grandes quantidades de informação (palavras) devem poder ser armazenadas. Para tanto, é necessário que o sistema digital possua um conjunto específico de circuitos que sejam mais apropriados ao armazenamento simultâneo de um grande número de palavras. – Tais circuitos efetivamente existem e são genericamente denominados de memórias. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memórias são dispositivos semicondutores que armazenam informações na forma binária. São informações constituídas de números, letras, caracteres quaisquer, comandos de operações, endereços, etc. – Os bits das informações podem ser acessados, quando no procedimento de leitura, ou gravados/substituídos, quando no procedimento de escrita ou armazenamento. – As memórias semicondutoras são usadas como memória principal (interna) ou memória de trabalho de um computador, pois permanece em comunicação constante com a unidade central de processamento (CPU) à medida que um programa de instruções está sendo executado. – Uma outra forma de armazenamento no computador é efetuada pela memória auxiliar (externa) ou memória de massa, onde opera com uma velocidade mais baixa que a memória principal e armazena programas e dados que não estão sendo usados a todo o momento pela CPU. Esta memória transfere as informações para a memória principal quando apenas for necessária ou solicitada no processamento. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Objectivo de um sistema de memória: GUARDAR DADOS (0’s e 1’s) – Operações básicas - ● ESCREVER um dado; ● LER um dado; – Que dispositivo utiliza-se no armazenamento de um dado binário (0 ou 1)? Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Para guardar um dado basta um flip-flop Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – O seguinte arranjo representa um circuito de memória estática do mais elementar possível: memoriza apenas um bit de informação em um flip-flop tipo RS. – A entrada END é para endereçamento. Para um bloco só, ela não faz muito sentido. Mas, num circuito real, com mais de um bloco, ela "conecta" ou "desconecta" logicamente as entradas e saída do flip-flop com uso das portas ES, ER e EQ conforme tópico anterior. – D é a entrada do bit de informação. O inversor faz com que as entradas S e R do flip-flop só possam ser inversas, evitando estado impossível do flip-flop RS (S=1 e R=1). – L/E é a entrada que define a operação da memória (leitura ou escrita). Usa a entrada de clock do flip-flop. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Os dados podem ser guardados em “caixas”(endereços) de 1 bit, ou em “caixas” de vários bits – Chama-se Largura da memória ao nº de bits que é guardado num mesmo endereço ● Por vezes chama-se também tamanho da “word”da máquina – Uma memória com “nxm” bits tem n endereços, cada um com m bits – Grande parte das memórias têm 8 bits (1 byte) de largura – Uma memória de 64bits pode ser representada como: Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Desta forma para acessar um conjunto de dados é necessário usar um conjunto de flip-flops organizados de manira específica. – Assim cada um deles é identificado através de um endereço dentro da memória. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Uma memória qualquer tem que ter no mínimo uma via através da qual possa se se faça um acesso a um dado específico ( barramento de endereçamento), uma via por onde os dados possam entrar e/ou sair (barramento de dados) e uma via através da qual se possa controlar outros aspectos da memória ( barramento de controle). – Deste modo, detalha-se a seguir os três tipos de barramentos das memórias : ● Barramento de dados (Data Bus) → permite a entrada (escrita) e/ou saída (leitura) dos dados. Em grande parte dos circuitos integrados de memórias uma mesma linha física é utilizada como entrada e como saída (nunca simultaneamente, claro), diminuindo pela metade o número de pinos necessários para a transferência de dados. ● Barramento de endereçamento (Address Bus) → permite que uma posição de memória seja acessada através da combinação de zeros e uns (endereço) neste barramento. ● Barramento de Controle (Control Bus) → é um conjunto de linhas que permitem controles do tipo: habilitação do C.I. para o funcionamento (Chip Enable), habilitação da operaç ão de escrita(Write Enable), habilitação da função de leitura(Read Enable, estas duas geralmente num único pino do tipo Write/read), habilitação do barramento de dados, estado de stand by, estado de saídas em alta impedância ou tri-state (Output Enable) etc. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Vamos tomar um exemplo de memória RAM 4 x 4, constituída por 16 CMs. – Para cada acesso à memória, o decodificador de endereços ativa o sinal de seleção de linha associado ao endereço aplicado as suas entradas, o que ativa todos os CMs da linha selecionada. – Neste momento, se RWS=1 e CS=1, o novo conjunto de bits será armazenado nas CMs da linha selecionada. Por outro lado, se RWS=0 e CS=1, os bits que estão armazenados na linha selecionada passarão pelos buffersde saída das respectivas CMs e pelos buffersde entrada/saída do chip. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – A organização da memória RAM implica em restrições de tempo nas operações de escrita e leitura. – Por exemplo, como o caminho crítico da entrada a saída passa pelo decodificador, as entradas de endereço devem estar estáveis antes de quaisquer outros sinais. – Isto significa que durante o ciclo de leitura mostrado abaixo, as entradas de endereço deverão ser fornecidas em t0, seguidas por CS em t1. Assim, os dados da memória estarão disponíveis somente em t2. – O atraso t2-t0 é denominado tempo de acesso à memória (memory-access time), enquanto que o tempo t2-t1é denominado tempo de habilitação da saída (output-enable time). Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Note que após os valores das entradas de endereço terem sido modificadas em t3, os dados ainda estarão disponíveis até t5. – O intervalo t5-t3é denominado tempo de manutenção da saída (output-hold time). – Já o intervalo t5-t4é denominado tempo de desabilitação da saída (output-disable time). – Como o caminho entre as entradas de endereço e as saídas é maior do que o caminho entre CS até as saídas, o tempo de acesso determina a validade dos dados sempre que o endereço e CS forem aplicados ao mesmo tempo. – Por outro lado, se o endereço e CS deixarem de ser válidos (CS=0, no caso), o tempo de desabilitação determinará a validade dos dados. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Através da célula básica padrão analisada anteriormente, pode-se construir arquiteturas de memórias RAM estáticas no formato N x M,conforme exemplo abaixo, uma memória com estrutura de 4 localidades com 4 bits. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Através da célula básica padrão analisada anteriormente, pode-se construir arquiteturas de memórias RAM estáticas no formato N x M,conforme exemplo abaixo, uma memória com estrutura de 4 localidades com 4 bits. Prof. Rômulo Nunes MICROS ● Estrutura básicade memória – Através da célula básica padrão analisada anteriormente, pode-se construir arquiteturas de memórias RAM estáticas no formato N x M,conforme exemplo abaixo, uma memória com estrutura de 4 localidades com 4 bits. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – O circuito é constituído de um decodificador de 2 canais, responsável pelo endereçamento de cada localidade através de A1e A0, no conjunto formado por 4 células interligadas horizontalmente. Os terminais de dados D estão interligados, verticalmente, cujo posicionamento do bit na palavra de dados é efetuado através da entrada de controle CS. Para completar, todas as entradas W R/ estão interligadas para propiciar o controle simultâneo da escrita/leitura em todas as localidades. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Suponha que se deseje fabricar num único chip (circuito integrado) uma memória RAM capaz de armazenar 22nnxmm bits, seguindo a organização descrita anteriormente. Diagrama de blocos a seguir mostra as duas representações gráficas possíveis para um tal chip. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Suponha que se deseje fabricar num único chip (circuito integrado) uma memória RAM capaz de armazenar 22nnxmm bits, seguindo a organização descrita anteriormente. Diagrama de blocos a seguir mostra as duas representações gráficas possíveis para um tal chip. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Este chip deverá possuir n entradas de endereço (An-1, …, A1,A0), de modo a se poder selecionar cada uma dentre todas as 2n posições existentes na matriz. – Este chip também deverá conter m entradas (In-1, …, I1,I0), e m saídas (On-1, …, O1,O0), de modo a permitir a leitura (=consulta) do conteúdo de uma das 2n linhas ou a escrita (=gravação) de uma nova informação numa das 2n linhas da matriz. – Como existem duas operações possíveis sobre o conteúdo da matriz (leitura e escrita), é natural que deva existir uma entrada de seleção de operação. Esta entrada será denominada RWS (Read/Write Select). Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Quando RWS=0, a operação a ser realizada será a leitura do conteúdo da posição cujo endereço está presente na entrada de endereços. O valor lido aparecerá na saída do chip. – Quando RWS=1, a operação a ser realizada será a escrita da informação binária presente na entrada do chip na linha cujo endereço está presente na entrada de endereço. – Por fim, deve existir um sinal de habilitação do chip como um todo (CS - Chip Select). – Caso CS=0, o chip está desativado. Caso CS=1, o chip estará realizando a operação especificada pelo valor da entrada RWS. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Quando RWS=0, a operação a ser realizada será a leitura do conteúdo da posição cujo endereço está presente na entrada de endereços. O valor lido aparecerá na saída do chip. – Quando RWS=1, a operação a ser realizada será a escrita da informação binária presente na entrada do chip na linha cujo endereço está presente na entrada de endereço. – Por fim, deve existir um sinal de habilitação do chip como um todo (CS - Chip Select). – Caso CS=0, o chip está desativado. Caso CS=1, o chip estará realizando a operação especificada pelo valor da entrada RWS. – O sinal de habilitação do chip, CS, serve para o caso em que seja necessário mais de um chip para implementar a memória do computador. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – A expansão da capacidade de uma memória pode ser efetuada pela palavra de dados, pelo aumento de localidade ou por ambos. – Como primeiro exemplo tomaremos uma expansão por palavra de dados, onde a obtenção de uma memória de 256x8 é obtida pela expansão de dois blocos de memória de 256x4. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Os terminais de endereçamento A7 a A0, de seleção da pastilha CS e de controle de escrita/leitura R/W são interligados, pois as operações são comuns aos dois blocos. – A barra de dados D7a D0é composta pela associação da barra de dados de cada bloco, resultando numa palavra de 8 bits Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Como segundo exemplo considere uma expansão por localidades de memórias, mostrando a formação de uma memória RAM 128x4, obtida a partir de blocos de memórias 32x4. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – O endereçamento é efetuado pelos terminais A6a A0, constituídos dos 5 terminais de cada bloco de memória mais 2 terminais auxiliares, onde farão a seleção de cada bloco em sequência, através das entradas CS. – Os terminais de dados D3a D0, bem como os terminais de escrita/leitura W R/ são apenas interligados. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Exercício: Para se obter um subsistema de memória 16k x 8 a partirde memórias 4k x 8, interliga-se endereços, dados e controle,mantendo-se independentes apenas os sinais de habilitação das memórias. – Exercício: Obter uma memória de1k x 8 a partir de memórias 1k x 4. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Apesar da CM ter sido representada como sendo constituída por um latch D e duas portas, na prática sua fabricação pode ser levada a cabo com estruturas mais simples, que utilizam menos transistores. – A forma de implementação de CMs leva a classificação das memórias RAM em estáticas e dinâmicas. No caso da RAM estática (conhecida por SRAM, static RAM), a CM é feita com 6 transistores, onde quatro deles formam dois inversores conectados em laço de realimentação, fazendo o papel do latch D. No lugar da porta Ee do bufferde saída há um transistor (para cada um, no caso), o qual serve como chave de liga-desliga. – A memória SRAM é capaz de manter seu conteúdo por tempo indeterminado, desde que este a alimentação não seja interrompida. – No caso da memória dinâmica (conhecida por DRAM, dynamic RAM), cada CM é implementada com somente um transistor. A desvantagem deste tipo de RAM é que o conteúdo da CM é perdido após a operação de leitura, devendo ser reescrito. Para piorar, devido às imperfeições do processo de fabricação, o conteúdo da CM só se mantém por um curto período de tempo. – Estes dois problemas são contornados pela utilização de um mecanismo de refresh construído dentro da memória, o qual periodicamente reforça o conteúdo de cada linha de CMs. Durante a operação de refresh, as operações de leitura e escrita são suspensas, o que reduz o desempenho deste tipo de memória. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – As memórias DRAM apresentam uma densidade muito grande, o que se traduz em maiores capacidades de armazenamento. Elas também apresentam um custo bem reduzido. – Devido a estas duas características, as DRAMs são muito utilizadas no projeto de produtos eletrônicos. – Por outro lado, as memórias SRAM são mais caras e apresentam menores capacidades de armazenamento. Porém, são mais velozes do que as memórias DRAM, sendo portanto apropriadas para os casos em que a quantidade de dados a serem armazenados não é grande e uma velocidade maior de operação é necessária. – As memórias SRAM e DRAM são ditas memórias voláteis, pois, uma vez interrompido o fornecimento de energia, elas perdem seu conteúdo. Já as memórias ROM são ditas não- voláteis, pois não perdem seu conteúdo quando o fornecimento de energia é interrompido. As memórias ROM tem uma organização semelhante às memórias RAM (matriz de CMs com decodificador de endereço e buffers de saída). Porém, a CM de uma ROM é bem mais simples, normalmenteconstituída por um único transistor ou diodo, o qual pode ser configurado uma vez para permitir o acesso ao 0 lógico (=0V) ou ao 1 lógico (de 5V a 1,5 V, conforme a tecnologia). – Nos computadores, as memórias ROM servem para armazenar todas as configurações básicas que jamais serão alteradas, como por exemplo, as rotinas de entrada e saída (denominadas de ROM-BIOS, nos computadores tipo PC). Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – SRAM vs. DRAM Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Os tipos de DRAM existentes variam em função da capacidade, velocidade, consumo, custo e versatilidade: ● SIMM (Single-In-line Memory Module) e DIMM (Dual-In-line Memory Module) – são módulos de memória que permitem uma instalação rápida e são padrões de diversos tipos de DRAMs. Os módulos SIMM e DIMM definem apenas como a DRAM é “empacotada”. ● DRAM FPM (Fast Page module) – permite acesso mais rápido a qualquer posição de memória dentro da “página” corrente. Normalmente, a maioria dos dados gravados na memória são seqüenciais. Nesse tipo de DRAM, o endereço da linha (RAS) é enviado uma vez e o endereço da coluna (CAS) é incrementado. ● DRAM EDO (Extended data output) – é uma melhoria em relação às FPM. Os dados são colocados na saída e a DRAM EDO já pode decodificar o próximo endereço sem que esses dados tenham sido lidos; ● DRAM BEDO (Burst EDO) –Possui uma arquitetura que permite alcançar alta velocidade ao se acessar dados sequenciais; ● SDRAM (Synchronous DRAM) –são organizadas em dois bancos que são acessados alternadamente utilizando um sinal de clock sincronizado com a CPU. Desse modo essas memórias alcançam altas taxas de transferências. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Tecnologia de módulos de memória RAM ● SIPP (Single in Line Pin Package): foi o primeiro módulo a ser criado e sua aparência lembrava um pente (daí o apelido “ pente de memória” ). Os terminais eram similares aos usados nos DIP, causando mau contanto e danificação. Eram encontrados em versões de 256KB, 1MB e 4MB, todos de 8bits; Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Tecnologia de módulos de memória RAM ● SIMM30-(Single in Line Memory Module): é basicamente um SIPP com novo encaixe, semelhante ao dos slots e não permite que os módulos sejam colocados invertidos. Eles têm 30 terminais, operando a 8bits em versões de 256KB, 1MB e 4MB; Possui módulos com e sem paridade; ● SIMM-72 (Single in Line Memory Module): possuem 72 terminais e trabalham com 32 bits, tendo sido criados para uso com 486 e superiores. São encontrados com diversas capacidades, sendo as mais usuaisde 4MB, 8MB, 16MB e 32MB, com e sem paridade. Para saber se o módulo tem ou não paridade, basta contar o número de circuitos: se for ímpar ele possui paridade (em módulos com dupla-face, contar somente os circuitos de uma face); Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Tecnologia de módulos de memória RAM ● DIMM (Double in Line Memory Module): possuem 168 terminais (84 DE CADA LADO) e trabalham com 64bits. São encontrados com diversas capacidades acima de 8MB, com e sem paridade. Os primeiros eram montados com FPM ou EDO e atualmente utilizam SDRAM ou superiores. Ao contrario dos anteriores, possui contatos independentes nas duas faces; Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Tecnologia de módulos de memória RAM ● RIMM (Rambus In Line Memory Module): padronizado pela Rambus para uso da RDRAM no micro. São fisicamente semelhantes as DIMM, porém não é possível o encaixe de módulos RIMM em soquetes DIMM e vice-versa; Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Alguns armazenamentos especiais ● Armazenamento de Dados com o Sistema Desligado – muitos equipamentos armazenam seus dados em memórias RAM alimentadas com baterias de reserva (NVRAM– RAM não- volátil); ● Memória Cache – tipo de memória de alta velocidade e baixa capacidade de armazenamento que interage diretamente com a CPU. Na cache estão contidos os dados mais requisitados pelo processador e isso evita um acesso desnecessário na RAM. ● Memória FIFO (First-In, First-Out) – também conhecidas como buffers para armazenamento temporário. Por exemplo, osdados são transferidos em altas taxas do PC para a impressora. Como a impressão é mais lenta que a transferência, esses dados devem ser armazenados em FIFOs e daí podem ser impressos. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Hierarquia das tecnologias de memória ● Hierarquia de dispositivos de armazenamento em computadores. A CPU enxerga nessa ordem e acessa primeiro a que está mais próxima. ● Subindo na hierarquia, quanto mais próximo da CPU, maior velocidade, maior custo, porém menor capacidade de armazenamento. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memórias Não Voláteis : são memórias cujas informações mantidas não são perdidas caso o computador seja desligado. Nos microcomputadores, existe um programa muito importante chamado de BIOS (Basic Input - Output System -Sistema Básicode Entrada e Saída). ● O BIOS tem várias funções, entre as quais, a de realizar a "partida" do computador. Quando ligamos o computador, o BIOS realiza a contagem de memória, faz uma rápida checagem do funcionamento do computador e realiza a carga do Sistema Operacional que deve estar armazenado no disco. ● O BIOS está gravado em uma memória permanente localizada na placa mãe. – ROM (Read Only Memory) → memória somente para leitura. Este tipo de memória não é volátil (pode-se dezenergizá -la sem perder a informação armazenada), e é utilizada para o armazenamento de programas e dados que serão utilizados continuamente em um sistema sem a necessidade de alteração, como é o caso do programa BIOS (Basic Input Output System ) de um computador. O programa armazenado não necessita ser carregado toda vez que se liga o sistema. A evolução deste tipo de memória deu origem às memórias dos tipos PROM, EPROM, EEPROM e FLASH, discutidas mais adiante. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – ROM programada por máscara ● ROM "programada" pelo fabricante. Quando se deseja uma ROM, estabelece-se o programa interno e encomenda-se o dispositivo ao fabricante. ● O fabricante criará então uma máscara que determinará as conex ões elétricas de uma matriz de elementos semicondutores (diodosfus íveis) para produzir o chip encomendado. Este processo é caro, sendo viável somente para construção em larga escala. – PROM ● É uma ROM programável uma única vez, pelo u suário. Este tipo de memória é comprada virgem e o usuário efetua a gravação através de um gravador de PROMs. A memória é uma matriz de diodos e a gravação mantém ou queima um "diodo -fusível" desta matriz padrão, conforme se queira o 1 ou o 0 numa determinada posição. ● Exemplos Comerciais: 74186 (64x8) ®tempo de acesso »50 ns; TMS27C256 (32kx8) ®tempo de acesso »120 a 250 ns; Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – ROM programável Apagável (EPROM) ● A EPROM é o tipo de ROM mais utilizada. Igualmente à PROM, é uma matriz virgem que pode ser gravada. A diferença é que ela pode ser “apagada” (ou recondicionada ao seu estado “virgem”) através de radiação ultravioleta (UV). Esta memória tem uma janela de quartzo, transparente ao UV, para este fim. Num dia ensolarado de verão, com Sol do meio dia, pode -se apagar uma EPROM em uns vinte minutos, se esta for colocada sob os raios do Sol. Normalmente são utilizadas lâmpadas fluorescentes sem a camada de cristais de fósforo para apagar EPROMS. Otempo típico de apagamento através de um dispositivo apagador de EPROMs é de 15 a 20 minutos. ● Existem vários e baratos dispositivos no mercado capazes de gravarem os mais variados tipos de EPROM. Esta memória é por definição somente para leitura e sua gravação inicial é efetuada através de tensões bem acima de sua tensão nominal de funcionamento (5V). É muito importante saber a tensão exata de gravação de uma memó ria. Tipicamente a tensão tem passos de 0,5 volts e vai de 8 a 28 volts. Atualmente esta tensão tende a ficar num valor padronizado pela maioria dos fabricantes, mas ainda existem muitos problemas de diferenças de tensões de gravação. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – ROM programável apagável eletricamente (EEPROM=E2PROM) ● É idêntica à EPROM, com a vantagem adicional poder ser apagada ou reprogramada eletricamente. Muito utilizada em sistemas de BIOS juntamente com as RAMs não- voláteis. – FLASH ● São memórias permanentes utilizadas geralmente em computadores e no interior de microcontroladores, cuja função é a de guardar os programas principais das máquinas. Ao contrário das outras ROM’s, esta pode funcionar com tensão de gravação de 5,0 volts. ● Além disso, a memória flash oferece um tempo de acesso rápido,embora não tão rápido como a memória volátil (DRAM utilizadas para a memória principal em PCs) e melhor resistência do que discos rígidos. Estas características explicam a popularidade de memória flash em dispositivos portáteis. ● Outra característica da memória flash é que quando embalado em um "cartão de memória" são extremamente duráveis, sendo capaz de resistir a uma pressão intensa, variações extremas de temperatura, e até mesmo imersão em água ● Uma limitação é que a memória flash tem um número finito de modificações (escrita/exclusão). Porém este efeito é parcialmente compensado por alguns chip firmware ou drivers de arquivos de sistema de forma dinâmica e escreve contando o remapeamento dos blocos, a fim de difundir as operações escritas entre os setores Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Existem dois tipos de memórias flash, a NAND e a NOR. ● A memória flash NOR (Not OR) permite acessar os dados da memória de maneira aleatória, com alta velocidade. Foi a primeira a se popularizar, chegando ao mercado em 1988, seus chips possuem uma interface de endereços semelhante à da RAM, sendo utilizado para armazenar o BIOS das placas-mãe e também firmwares de vários dispositivos, que antes eram armazenados em memória ROM ou EPROM. ● Alguns dos problemas nesse tipo de memória devem-se ao seu alto custo, e ao seu alto tempo de gravação nas células. Mas embora esses problemas existam, ela é largamente utilizada até hoje em celulares, palmtops e firmware. ● Chegaram a ser empregadas na fabricação das memórias PCMCIA e CompactFlash, mas com a introdução do tipo NAND, desapareceram deste ramo. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Existem dois tipos de memórias flash, a NAND e a NOR. ● A memória flash NAND (Not AND) trabalha em alta velocidade, faz acesso sequencial às células de memória e trata-as em conjunto, isto é, em blocos de células, em vez de acessá- las de maneira individual.[2] Essa arquitetura foi introduzida pela Toshiba em 1989. ● Cada bloco consiste em um determinado número de páginas. As páginas são tipicamente 512, 2048 ou 4096 bytes em tamanho. A página é associada a alguns bytes (tipicamente 12- 16 bytes). Atualmente são os tipos de memória mais usados em dispositivos portáteis. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Exercício ● Mostrar a forma de onda da saída da memória ROM com conversor D/A da figura abaixo: Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Parte do problema de limitação de velocidade do processador refere-se á diferença de velocidade entre o ciclo de tempo da CPU e o ciclo de tempo da memória principal, ou seja, a MP transfere bits para a CPU em velocidades sempre inferiores às que a CPU pode receber e processar os dados, o que acarreta, muitas vezes, a necessidade de acrescentar-se um tempo de espera para a CPU (wait state). ● O problema de diferença de velocidade se torna difícil de solucionar apenas com melhorias no desempenho das MP, devido a fatores de custo e tecnologia. ● Enquanto o desempenho dos microprocessadores, por exemplo, vem dobrando a cada 18/24 meses, o mesmo não acontece com a taxa de transferência e o tempo de acesso das memórias DRAM, que vêm aumentando pouco de ano para ano. ● Na busca de uma solução para este problema foi desenvolvida uma técnica que consiste da inclusão de um dispositivo entre a CPU e a MP, denominado de memória CACHE, cuja função é acelerar a transferência de informações entre CPU e MP e, com isso, aumentar o desempenho do sistema de computação. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● A cache é um nível na hierarquia de memória entre a CPU e a memória principal (MP). É construída com memória SRAM, que é muito mais rápida do que a DRAM, normalmente empregada na construção de MP. ● A cache é fabricada com tecnologia semelhante à da CPU e, em consequência possui tempos de acesso compatíveis, resultando numa considerável redução da espera da CPU para receber dados e instruções. Como o custo da memória estática é muito alto, a cache normalmente é muito menor do que a memória principal. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Poder-se-ia fazer uma analogia entre a memória cache e o fichário que ficaria em nossa mesa de trabalho. ● Um arquivo (memória principal) maior conteria informações completas para realização do trabalho e o fichário (a memória cache) conteria informações mais corriqueiras. ● Mais próximo do trabalhador (a CPU), o fichário (a cache) aumentaria a rapidez na realização do trabalho e reduziria a pesquisa no arquivo. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Com a inclusão da cache pode-se enumerar, de modo simplista, o funcionamento do sistema: 1 → Sempre que a CPU vai buscar uma nova informação (instruções ou dados), ela acessa a memória cache; 2 → Se a informação estiver na cache (chama-se “ cache hit” – acerto), ela é transferida em alta velocidade (compatível com a da CPU); 3 → Se a informação não estiver na cache (chama-se “ cache miss” – falta), então o sistema está programado para transferir a informação desejada da MP para a cache. Só que esta informação não é somente da instrução ou dado desejado, mas dele e de um grupo subsequente, na pressuposição de que as instruções/dados do grupo serão requeridas pela CPU em seguida e, portanto, já estarão na cache quando necessário. ● Para haver algum aumento no desempenho de um sistema de computação com a inclusão da memória cache énecessário que haja mais acertos (hits) do que faltas (miss). Isto é, a memória cache somente é produtiva se a CPU puder encontrar uma quantidade apreciável de palavras na cache, suficientemente grande para sobrepujar as eventuais perdas de tempo com as faltas, que redundam em transferência de um bloco de palavras da MP para a cache, além da efetiva transferência da informação desejada. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Basicamente há dois tipos de memória cache: – A que vem incorporada à máquina. – A que é implementada via software na memória RAM do sistema. ● A memória cache incorporada à máquina é um tipo muito mais rápido do que a memóriaRAM convencional. Por exemplo, em uma placa mãe típica de 100MHz, o tempo de acesso à memória principal é de 180 nano segundos, e o acesso à memória cache é na ordem de 45 nanosegundos. Por isso ela é usada para armazenar tabelas muito usadas pelo sistema operacional ou para executar parte de programas que necessitam de maior velocidade de processamento. ● A memória cache criada via software é usada para aumentar o desempenho do acesso ao disco do sistema, guardando as informações mais acessadas na memória, ou seja, quando for preciso acessar uma nova informação, ela já está armazenada em memória, que possui um tempo de acesso muito mais rápido do que o disco. Com isso, o número de vezes que a unidade de disco é acessada diminui, reduzindo o desgaste físico do disco e da cabeça de leitura e gravação. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Níveis de Cache: Existem vários “níveis” de cache em um computador moderno, cada nível agindo como um buffer para informações recentemente usadas para aumentar o desempenho. Mas quando referimos apenas a simplesmente “cache”, normalmente está se referenciando o nível “secundário” ou nível 2 que é aquela posicionada entre o processador e a memória principal. ● Cada nível é mais próximo do processador e mais rápida que o nível mais abaixo. Cada nível também cacheia o nível mais abaixo dela, devido a sua velocidade aumentada relativa aos níveis mais baixo. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Cache Primária –Layer 1: A cache nível 1 (L1) ou cache primária é a memória mais rápida de um PC. Ela é def fato construída diret amente no processador. Esta cache é muito pequena, geralmente de 9KB a 64KB, mas é extremamente rápida. Ela roda na mesma velocidade do processador. ● Se o processador solicita uma informação e pode encontrá -la na cache L1, este é o melhor caso, pois a informação é imediatamente disponível e o processador não tem que esperar. ● O processador Pentium III apresenta uma memória cache L1 de 16KB para instruções e outra de 16KB para dados. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Cache Secundária –Layer 2: A cache nível 2 é uma cache secundária para o nív el 2, e é maior e um pouco mais lenta. Ela é usada para armazenar endereços recentes que não são mantidos pelo nível 1. Este nível tem um tamanho variando de 64KB a 2MB e até pouco tempo atrás era encontrada na placa mãe ou um modulo que é inserido na plac a mãe. ● Os processadores Pentium Pro tém a cache L2 no mesmo pacote do processador (embora este não esteja no mesmo circuito do processador e da cache L1). Isto significa que ela roda muito mais rápida que a cache L2 que é separada e reside na placa mãe. ● O Pentium II e III até 600MHz tém um meio termo, sua cache L2, de 512KB, roda na metade da velocidade da CPU. ● O Pentium III acima 600MHz apresenta uma memória cache L2 de 256KB no mesmo pacote e opera na mesma velocidade da CPU. ● O nível dois algumas vezes é chamada de cache externa, desde que ela reside fora do processador. Mesmo nos Pentium Pro, que está em um chip separado no mesmo pacote. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Para haver algum aumento no desempenho de um sistema de computação com a inclusão da memória cache é necessário que haja mais acertos (hits) do que faltas (miss). Isto é, a memória cache somente é produtiva se a CPU puder encontrar uma quantidade apreciável de palavras na cache, suficientemente grande para sobrepujar as eventuais perdas de tempo com as faltas, que redundam em transferência de um bloco de palavras da MP para a cache, além da efetiva transferência da informação desejada. ● Desta forma na implementação de memórias fortemente referenciada pela existência de localidades na execução dos programas. Sendo assim existem dois tipos de localidades: a espacial e a temporal. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Desta forma na implementação de memórias fortemente referenciada pela existência de localidades na execução dos programas. Sendo assim existem dois tipos de localidades: a espacial e a temporal. ● Localidade Temporal: As posições da memória, uma vez acessadas, tendem a ser acessadas novamente num futuro próximo. Normalmente ocorrem devido ao uso de laços de instruções, acessos a pilhas de dados e variáveis como índices, contadores e acumuladores; ● Localidade Espacial: Se um programa acessa uma palavra de memória, há uma boa probabilidade de que o programa acesse num futuro próximo, uma palavra subsequente ou um endereço adjacente àquela palavra que ele acabou de acessar. Em outras palavras, os endereços em acessos futuros tendem a ser próximos de endereços de acessos anteriores. Ocorre devido ao uso da organização sequencial de programas. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Outro fator que influencia diretamente o desempenho da cache é a forma de mapeamento dos dados da MP nela. Como o tamanho da cache é bem menor que MP, apenas uma parte dos dados da MP pode ser copiada na cache. ● Existem basicamente três formas de mapeamento: o associativo, o direto e o set- associativo. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Mapeamento completamente associativo: A palavra pode ser colocada em qualquer lugar da cache. Neste caso deve ser armazenado na cache não somente o dado mas também o endereço. ● Para descobrir se a posição procurada está armazenada na cache, é feita a comparação simultânea de todos os endereços, caso seja localizado (cache hit) o dado é devolvido ao processador. ● Caso o endereço pesquisado não se encontre na cache (cache miss) a memória principal é acessada. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Mapeamento direto: Cada palavra deve ser armazenada em um lugar específico na cache, o qual que depende do seu endereço na memória principal. O endereço é dividido em duas partes: Tag e Índice. ● O índice é usado como endereço na cache. Indica a posição da cache onde pode estar armazenada a palavra. ● O tag é usado para conferir se a palavra que está na cache é a que está sendo procurada, uma vez que endereços diferentes, com o mesmo índice serão mapeados sempre para a mesma posição da cache. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Mapeamento set-associativo: O mapeamento set-associativo é um projeto intermediário entre os dois anteriores. Neste caso, existem um número fixo de posições onde a palavra pode ser armazenada (pelo menos duas) que é chamado um conjunto. ● Uma cache com um conjunto de duas posições é chamada 2-way set-associativa. ● Como na cache com mapeamento direto, o conjunto é definido pela parte do endereço chamada índice. ● Cada um dos tags do conjunto são comparados simultaneamente como tag do endereço. ● Se nenhum deles coincidir ocorre um cache miss. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Outro problema a ser considerado na implementação de uma memória cache é a política de substituição das palavras. ● Deve-se responder a seguinte pergunta: “ Em que local da cache será colocada a nova linha?” A política de substituição define qual linha será tirada da cache para dar lugar a uma nova. ● No caso do mapeamento direto, cada palavra temum lugar predefinido, então não existe escolha. ● Para o mapeamento completamente associativo, pode-se escolher qualquer posição da cache e no set-associativo, qualquer posição dentro do conjunto definido pelo índice. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● As principais políticas de substituição são: – Substituição Aleatória: Neste caso é escolhida uma posição qualquer da cache aleatoriamente para ser substituída. É mais simples de implementar mas não leva em conta o princípio da localidade temporal. – First-in First-out: Remove a linha que está a mais tempo na cache. Exige a implementação de uma fila em hardware. – LRU - Least Recently Used: Menos recentemente utilizado. Remove-se a linha que a mais tempo não é referenciada. Exige implementação de um contador para cada linha. Quando um hit ocorre na linha seu contador é zerado enquanto todos os demais são incrementados. Quando for necessário substituir uma linha, será retirada aquela cujo contador tiver o valor mais alto. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Uma vez que todas as solicitações feitas a memória são realizadas através da cache, caso a CPU fizer a escrita de uma posição que estiver armazenada na cache, se esta alteração não for repassada para a MP, pode-se perder a atualização quando a linha da cache for substituída. ● Para evitar este problema pode-se adotar duas estratégias: – Escrita em ambas (Write-through): Cada escrita na cache é imediatamente repetida na memória principal; – Escrita no retorno (Write-back): As escritas são feitas apenas na cache, mas ela será escrita na MP quando for substituída. Pode-se escrevê-la mesmo se não foi alterada ou somente se tiver sido modificada. ● Com a política “ write -through” pode haver uma grande quantidade de escritas desnecessárias na MP, com natural redução do desempenho do sistema. ● Já a política “ write -back” minimiza esta desvantagem, porém a MP fica potencialmente desatualizada para utilização por outros dispositivos a ela ligados, como módulos de E/S, o que os obriga a acessar dados na cache. Prof. Rômulo Nunes MICROS ● Estrutura básica de memória – Memória Cache ● Uma vez que tanto os dados como as instruções são mantidos na memória principal, ambos tiram proveito da memória cache. Pode-se adotar cache unificada ou separada para cada tipo de conteúdo. ● A cache separada possui como vantagem possuir uma Cache de instruções somente de leitura, o que simplifica o circuito e barramento independente ligando cada uma das caches e o processador, o que permite transferências simultâneas. ● Além disso, pode-se adotar estratégias diferentes para cada cache (tamanho, organização, etc.). Por outro lado,a abordagem de cache separada apresenta como desvantagem o fato de que instruções e dados colocados em posições próximas da memória poderão estar nas duas caches. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62
Compartilhar