Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARQUITETURA DE COMPUTADORES UNIDADES DE MEMÓRIA Prof: Leandro Coelho Leandro.coelho@unifacs.br 1 Plano de Aula � Memória Interna � Memória Externa 2 Arquitetura de Computadores Memória Interna � Visão geral do sistema de memória do computador � A memória é o componente de um sistema de computação cuja função é armazenar as informações que são, foram ou serão manipuladas pelo sistema. � Conceitualmente, a memória é um componente muito simples: � É um "depósito" onde são guardados certos elementos (as informações) para serem usados quando desejado (recuperação da informação armazenada). 3 Arquitetura de Computadores Memória Interna � Na prática, a memória de um computador possui tantas variedades; tais como: � Velocidade � Capacidade de armazenamento � Tecnologia de construção de utilidade dentro do sistema � Na realidade, um sistema hierarquicamente estruturado. 4 Arquitetura de Computadores Memória Interna � A figura a seguir apresenta o esquema conceitual de qualquer tipo de memória, imaginada como um depósito para uso de uma ou mais entidades. Exemplo de um típico depósito, que funciona de modo semelhante a uma memória 5 Arquitetura de Computadores Memória Interna � Conforme pode ser observado na figura, há duas únicas ações que podem ser realizadas em um depósito (memória): Exemplo de um típico depósito, que funciona de modo semelhante a uma memória 6 Arquitetura de Computadores Memória Interna � A primeira é a ação de guardar um elemento (ou um grupo de elementos) � Em computação, esta ação é genericamente denominada de armazenar e a operação em si, que é realizada para a consecução desta ação de armazenamento, é chamada de escrita ou gravação ("write"). Exemplo de um típico depósito, que funciona de modo semelhante a uma memória 7 Arquitetura de Computadores Memória Interna � A segunda é a ação de recuperação do elemento guardado (ou grupo de elementos) para um uso qualquer � Em computação esta ação se denomina recuperar "retrieve") e a operação para realizá-la chama-se leitura ("read"). Exemplo de um típico depósito, que funciona de modo semelhante a uma memória 8 Arquitetura de Computadores Memória Interna � Resumindo... � Pode-se imaginar vários tipos de "depósitos", existentes na nossa vida cotidiana e cujo funcionamento pode ser associado ao das memórias de computadores. � Uma biblioteca, p.ex., funciona como um "depósito" de elementos (os livros, periódicos, etc.). � Todo elemento recebido para ser guardado (armazenado) tem que possuir uma identificação (nome do livro ou do periódico, autor, etc.); e � Um código de localização (número da estante, da prateleira, etc.) para que seja possível ao funcionário ou usuário encontrar o livro ou periódico quando desejado. 9 Arquitetura de Computadores Memória Interna � Resumindo... �O funcionamento de uma agência de correios para guardar e recuperar correspondências, ou o modo de manipulação de correspondência em um edifício de apartamentos. � É semelhante ao das bibliotecas e � Apenas no que refere às operações de armazenamento e leitura � de certa forma, ao de uma memória de computador (ou, ainda, ao da própria memória dos seres humanos). 10 Arquitetura de Computadores Memória Interna � Resumindo... � Em uma biblioteca, o elemento a ser manipulado (a "informação" a que nos referimos antes) é o livro. � Por exemplo: a ação de armazenamento (que se denomina de escrita em sistemas de computação) consiste na operação de guardar o livro em uma estante / prateleira previamente identificada como disponível, a qual tem um código de localização, p.ex., prateleira 5 da estante 15 (que é o endereço). � Quando alguém deseja um livro emprestado, realiza-se uma operação de "recuperação da informação" (dado o nome do livro, encontra-se a sua localização, seu endereço). 11 Arquitetura de Computadores Memória Interna � Resumindo... � Na caixa de correio de um edifício de apartamentos o conceito é também semelhante. � A informação é a carta; cada apartamento possui um endereço e uma caixa correspondente. � A colocação pelo carteiro de uma carta que chega para um certo apartamento consiste na operação de armazenamento (escrita). � E a ação do proprietário de apanhar sua correspondência (recuperação ou leitura) é possível através do conhecimento da localização da caixa correspondente. 12 Arquitetura de Computadores Memória Interna � Resumindo... � Há uma pequena diferença nos exemplos citados em relação às memórias de computador, no que se refere à possibilidade de haver um endereço vazio. � Uma caixa de correio pode estar vazia porque o responsável retirou toda a correspondência; � Como também um determinado local de uma biblioteca pode estar vazio porque o livro está emprestado. � Isto não acontece com a memória eletrônica de um computador, pois, se ele estiver energizado, a memória conterá sinais elétricos em cada local de armazenamento. � Mesmo que não seja uma informação útil. 13 Arquitetura de Computadores Memória Interna � Resumindo... � No caso de uma memória de computador, o elemento a ser manipulado fisicamente é o bit. �O qual, em grupo de n bits (n pode variar consideravelmente, dependendo daquilo a que se está referindo), corresponde a uma unidade de informação a ser armazenada, transferida, recuperada, etc. 14 Arquitetura de Computadores Memória Interna � Resumindo... �Ou seja: � A memória serve para guardar (armazenar) informações (na forma de bits) e recuperá-las quando desejado. � Para isso, realizam-se ações de escrita (transferência de bits de outro componente do sistema de computação; por exemplo: da UCP, de um disco) e de leitura (transferência de bits da memória para a UCP, disco, etc.). Por informação, entendem-se as instruções e os dados de um programa. 15 Arquitetura de Computadores Memória Interna � Resumindo... �O número ou código que é associado ao local é o endereço ("address") e que irá permitir que a informação possa ser localizada; � Assim como nossa residência é localizada pelo seu endereço, como o livro é localizado pelo "endereço" da prateleira/estante e a correspondência é manipulada pelo seu endereço. 16 Arquitetura de Computadores Memória Interna � Para o correto e eficaz funcionamento da manipulação das informações (instruções de um programa e dados) de e para a memória de um computador, verifica-se a necessidade de se ter em um mesmo computador diferentes tipos de memória: � Para certas atividades, p.ex., é fundamental que a transferência de informações seja a mais rápida possível. � É o caso das atividades realizadas internamente no processador central, onde a velocidade é primordial, porém a quantidade de bits a ser manipulada é muito pequena Em geral, corresponde à quantidade de bits necessária para representar um único valor - um único dado). 17 Arquitetura de Computadores Memória Interna � Isso caracteriza um tipo de memória diferente, por exemplo, daquele em que a capacidade da memória é mais importante que a sua velocidade de transferência. � O ideal, é claro, é que a capacidade e velocidade de transferência fossem grandes, mas nesse caso o custo seria alto demais. Disponibilidade de espaço para guardar informações. 18 Arquitetura de Computadores Memória Interna � Ainda em relação ao tipo de alta velocidade e pequena quantidade de bits armazenáveis, que se usa na UCP, existem variações decorrentes do tipo de tecnologia utilizada na fabricação da memória. 19 Arquitetura de Computadores Memória Interna � Devido a grandevariedade de tipos de memória: � Não é possível implementar um sistema de computação com uma única memória; � Na realidade, há muitas memórias no computador, as quais se interligam de forma bem estruturada, constituindo um sistema em si, parte do sistema global de computação, podendo ser denominado subsistema de memória. 20 Arquitetura de Computadores Memória Interna � O subsistema de memória é projetado de modo que seus componentes sejam organizados hierarquicamente, conforme mostrado na estrutura em forma de pirâmide, da figura a seguir: � A pirâmide em questão é projetada com uma base larga, que simboliza a elevada capacidade, o tempo de uso e o custo do componente que a representa. 21 Arquitetura de Computadores Memória Interna � O subsistema de memória é projetado de modo que seus componentes sejam organizados hierarquicamente, conforme mostrado na estrutura em forma de pirâmide, da figura a seguir: Maior Velocidade Menor Velocidade 22 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de acesso Indica quanto tempo a memória gasta para colocar uma informação na barra de dados após uma determinada posição ter sido endereçada. 23 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória É o período de tempo decorrido entre duas operações sucessivas de acesso à memória, sejam de escrita ou de leitura. 24 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade É a quantidade de informação que pode ser armazenada em uma memória. 25 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade É a quantidade de informação que pode ser armazenada em uma memória. A unidade de medida mais comum é o byte, embora também possam ser usadas outras unidades como células (no caso de memória principal ou cache), setores (no caso de discos) e bits (no caso de registradores). 26 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade 4. Volatilidade Memórias podem ser do tipo volátil ou não volátil: 27 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade 4. Volatilidade Memórias podem ser do tipo volátil ou não volátil: •Uma memória não volátil é a que retém a informação armazenada quando a energia elétrica é desligada. • Memória volátil é aquela que perde a informação armazenada quando a energia elétrica é desligada. 28 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade 4. Volatilidade 5. Temporariedade Trata-se de uma característica que indica o conceito de tempo de permanência da informação em um dado tipo de memória. 29 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade 4. Volatilidade 5. Temporariedade 6. Custo O custo de fabricação de uma memória é bastante variado em função de diversos fatores: 30 Arquitetura de Computadores Memória Interna � Os principais parâmetros para análise das características de cada tipo de memória componente da hierarquia apresentada na figura são os seguintes: 1. Tempo de Acesso 2. Ciclo de Memória 3. Capacidade 4. Volatilidade 5. Temporariedade 6. Custo O custo de fabricação de uma memória é bastante variado em função de diversos fatores: •Pode-se mencionar principalmente a tecnologia de fabricação, que redunda em maior ou menor tempo de acesso, ciclo de memória, quantidade de bits em certo espaço físico e outros. 31 Arquitetura de Computadores Memória Interna � Registradores: � Em um sistema de computação, a destinação final do conteúdo de qualquer tipo de memória é o processador. �O objetivo final de cada uma das memórias (ou do subsistema de memória) é armazenar informações destinadas a serem, em algum momento, utilizadas pelo processador. �O processador é o responsável pela execução das instruções, pela manipulação dos dados e pela produção dos resultados das operações. 32 Arquitetura de Computadores Memória Interna � Registradores: � As ações operativas do processador são realizadas nas suas unidades funcionais: � Na unidade aritmética e lógica - UAL (ALU - Aritmetic and Logic Unit); � Na unidade de ponto flutuante - UFP (Float Point Unit - FPU). 33 Arquitetura de Computadores Memória Interna � Registradores: � Antes que a instrução seja interpretada e as unidades da UCP sejam acionadas: �O processador necessita buscar a instrução de onde ela estiver armazenada (memória cache ou principal); e � Armazená-la em seu próprio interior, em um dispositivo de memória denominado registrador de instrução. 34 Arquitetura de Computadores Memória Interna � Registradores: � Em seguida ao armazenamento da instrução: �O processador deverá, na maioria das vezes, buscar dados da memória (cache, principal ou mesmo de unidades de disco), para serem manipulados na UAL. � Esses dados também precisam ser armazenados em algum local da UCP até serem efetivamente utilizados. 35 Arquitetura de Computadores Memória Interna � Registradores: �Os resultados de um processamento (de uma soma, subtração, operação lógica, etc.) também precisam, às vezes, ser guardados temporariamente na UCP: � Para serem novamente manipulados na UAL por uma outra instrução; ou � Para serem transferidos para uma memória externa à UCP � Esses dados são armazenados na UCP em pequenas unidades de memória, denominadas registradores. 36 Arquitetura de Computadores Memória Interna � Um registrador é, portanto, o elemento superior da pirâmide de memória: Possui a maior velocidade de transferência dentro do sistema (menor tempo de acesso); Possui menor capacidade de armazenamento; e Possui maior custo. 37 Arquitetura de Computadores Memória Interna � Memória Cache � Na pirâmide de memória, abaixo dos registradores, encontra-se o conjunto cache-memória principal: � Em sistemas de computação mais antigos, a pirâmide não possuía memória cache e, desse modo, os registradores eram ligados diretamente à memória principal. 38 Arquitetura de Computadores Memória Interna � Em toda execução de uma instrução, a UCP acessa a memória principal (sem cache), pelo menos uma vez, para buscar a instrução(uma cópia dela) e transferi-la para um dos registradores da UCP. �Muitas instruções requerem outros acessos à memória, seja para a transferência de dados para a UCP (que serão processados na UAL), seja para a transferência do resultado de uma operação da UCP para a memória. 39 Arquitetura de Computadores Memória Interna � RESUMINDO... � Para a realização do ciclo de uma instrução há sempre a necessidade de ser realizado um ou mais ciclos de memória: � Considerando-se que um ciclo de memória é atualmente bem mais demorado do que o período de tempo que a UCP gasta para realizar uma operação na UAL, fica claro que a duração da execução de um ciclo de instrução é bastante afetada pela demora dos ciclos de memória. � Então, esta interface entre o processador e a memória principal vem sendo um ponto frágil no que se refere à performance do sistema. 40 Arquitetura de Computadores Memória Interna � Na busca de uma solução para este problema � O gargalo de congestionamento na comunicação UCP / MP que degrada o desempenho dos sistemas � Foi desenvolvida uma técnica que consiste na inclusão de um dispositivo de memória entre UCP e MP, denominado memória CACHE; � Cuja função é acelerar a velocidade de transferência das informações entre UCP e MP e, com isso, aumentar o desempenho dos sistemas de computação; � Esse tipo de memória é fabricado com tecnologia semelhante à da UCP e, em conseqüência, possui tempos de acesso compatíveis, resultando numa considerável redução da espera da UCP para receber dados e instruções da cache, ao contrário do que acontece em sistemas sem cache. 41 Arquitetura de Computadores Memória Interna � Na tentativa de melhorar o desempenho dos sistemas de computação, os projetistas das UCP vêm: � Tentando constantemente obter velocidades cada vez maiores nas operações dessas unidades; �O que não está acontecendo na mesma proporção com o aperfeiçoamento tecnológico das memórias utilizadas como memória principal. � Assim, atualmente a diferença de velocidade entre UCP e memória principal é talvez maior do que já foi no passado. 42 Arquitetura de Computadores Memória Interna � Esse tipo de memória é fabricado com tecnologia semelhante à da UCP e, em conseqüência: possui tempos de acesso compatíveis, resultando numa considerável redução da espera da UCP para receber dados e instruções da cache, ao contrário do que acontece em sistemas sem cache 43 Arquitetura de Computadores Memória Interna � Memória Principal � Uma das principais características definidas no projeto de arquitetura do sistema de Von Neumann, o qual se constitui na primeira geração dos computadores; � Consistia no fato de ser uma máquina "de programa armazenado". 44 Arquitetura de Computadores Memória Interna � Memória Principal �O fato de as instruções, uma após a outra, poderem ser imediatamente acessadas pela UCP: � É que garante o automatismo do sistema e, � Aumenta a velocidade de execução dos programas � Uma máquina executando ações sucessivas, sem intervalos e sem cansar, como não acontece com os seres humanos... � E a UCP pode acessar imediatamente uma instrução após a outra porque elas estão armazenadas internamente no computador. � Esta é a importância da memória. 45 Arquitetura de Computadores Memória Interna � Memória Principal � E, desde o princípio, a memória especificada para armazenar o programa (e os seus dados) a ser executado é: � A memória que atualmente chamamos de principal, para distinguí-la da memória de discos e, fitas (memória secundária). 46 Arquitetura de Computadores Memória Interna � A memória principal é, então, a memória básica de um sistema de computação desde seus primórdios: A memória principal, é o dispositivo onde o programa (e seus dados) que vai ser executado é armazenado para que a UCP vá "buscando" instrução por instrução. 47 Arquitetura de Computadores Memória Interna � Memória Principal � Características essenciais da memória principal �MP é o "depósito" de trabalho da UCP. �Os programas são organizados de modo que os comandos são descritos seqüencialmente e o armazenamento das instruções se faz da mesma maneira; � Palavra - é a unidade de informação do sistema UCP/MP que deve representar o valor de um número (um dado) ou uma instrução de máquina. 48 Arquitetura de Computadores Memória Interna � Memória Principal � Características essenciais da memória principal � Endereço, conteúdo e posição de MP 49 Arquitetura de Computadores Memória Interna � Memória Principal � Características essenciais da memória principal � Unidade de armazenamento - consiste no grupo de bits que é inequivocamente identificado e localizado por um endereço. A MP é, então: � organizada em unidades de armazenamento, denominadas células; � cada uma possuindo um número de identificação - seu endereço; � contendo em seu interior uma quantidade M de bits, que se constitui na informação propriamente dita (pode ser uma instrução ou parte dela, pode ser um dado ou parte dele). 50 Arquitetura de Computadores Memória Interna � Memória Principal � Características essenciais da memória principal � Unidade de transferência � Para a MP, consiste na quantidade de bits que é transferida da memória em uma operação de leitura ou transferida para a memória em uma operação de escrita. 51 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � A memória principal de qualquer sistema de computação é organizada como um conjunto de N células seqüencialmente dispostas a partir da célula de endereço igual a 0 (zero) até a última, de endereço igual a N-1, conforme mostrado na figura ao lado. Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 52 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � Cada célula é construída para armazenar um grupo de M bits, que representa a informação propriamente dita e que é manipulado em conjunto (como se fosse uma única unidade) em uma operação de leitura ou de escrita. Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 53 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � Essencialmente, o espaço de armazenamento da memória principal (genericamente chamada de RAM) é um grupo de N células, cada uma podendo armazenar um grupo de M bits. Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 54 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � Esta é a memória de trabalho da UCP e, portanto, deve permitir o armazenamento de instruções e dados (operação de escrita) e também a leitura destas mesmas instruções e dados. Chama-se a isso uma memória do tipo Leitura e Escrita ("Read / Write"). Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 55 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � Uma memória RAM é umconjunto de N células, cada uma armazenando um valor com M bits. Então, a quantidade de endereços contida no espaço endereçável da referida RAM é também igual a N, visto que a cada conteúdo de célula está associado um número, que é o seu endereço. Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 56 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � O valor de N representa a capacidade de memória, através da quantidade de células ou de endereços. O valor de M indica a quantidade de bits que podem ser armazenados em uma célula (que é a informação propriamente dita). Como 1 bit representa apenas um entre dois valores (base binária), então podemos concluir que: Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 57 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � A) pode-se armazenar em cada célula um valor entre 0 e 2M-1, porém um de cada vez. São 2M combinações possíveis. � Por exemplo, se M = 8 bits, temos: 28= 256 � Seriam armazenados valores entre: � 00000000(010 ou 016), � 11111111(25510 ou FF16) Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 58 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: � B) a MP tendo N endereços. � N=2E, sendo E = quantidade de bits dos números que representam cada um dos N endereços. � Por exemplo, se N = 512 (porque a MP tem 512 células), então, 512 = 2E, ou E = 9, pois 29 = 512. Bit 1 Bit 2 Bit 3 Bit m-1 Endereço 0 Endereço 2 Endereço 3 Endereço N-2 Endereço N-1 Endereço 1 N C é l u l a s M bits . . . . M bits 59 Arquitetura de Computadores Memória Interna � Memória Principal � Organização básica da MP: C) o total de bits que podem ser armazenados na referida MP é T, sendo: T = N x M ou T = 2E X M � No exemplo, onde a MP (RAM) é um espaço seqüencial de 512 células, cada uma com 8 bits de tamanho, teremos: � N = 512 células; M = 8 bits; E = 9 bits; T = 4.096 bits � N=2E; 512 = 29 � T=NxM=2ExM=512x8=4.096 bits=4 Kbits ou 4.096(4x1.024=K). 60 Arquitetura de Computadores Memória Interna � Memória Principal � Exemplos de configurações de MP (RAM) com diferentes valores de N, M, E e T. 61
Compartilhar