COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP - ppt carregar
PublicouVítor Gouveia Alterado mais de 4 anos atrás
Apresentação em tema: "COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP"— Transcrição da apresentação:
1 COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP
Professor: Erivelto Tschoeke – UDESC/CEPLAN COMUNICAÇÃO ENTRE MEMÓRIA PRINCIPAL E UCP
2 BARRAMENTOS... Os diversos componentes dos computadores se comunicam através de barramentos. Barramento é um conjunto de condutores elétricos que interligam os diversos componentes do computador e de circuitos eletrônicos que controlam o fluxo dos bits. Para um dado ser transportado de um componente a outro, é preciso emitir os sinais de controle necessários para o componente-origem colocar o dado no barramento e para o componente-destino ler o dado do barramento. Como um dado é composto por bits (geralmente um ou mais bytes) o barramento deverá ter tantas linhas condutoras quanto forem os bits a serem transportados de cada vez.
3 continuação Obs.: Em alguns computadores (usando uma abordagem que visa a redução de custos), os dados podem ser transportados usando mais de um ciclo do barramento.
4 Continuação... Assim, se quisermos transferir um byte - por exemplo, da UCP para a Memória Principal, os circuitos de controle se encarregarão de colocar o byte no barramento, ou seja, colocariam sinais de tensão "high" nas 2ª, 4ª e 7ª linhas do barramento (por convenção, os bits são sempre ordenados da direita para a esquerda) e de informar à memória para ler o dado no barramento. Os dados são representados no barramento na forma de sinais de tensão, sendo que um sinal de tensão de uns poucos volts ("high") representa o bit "1" e um sinal próximo de zero volts ("low") representa o bit "0".
5 REGISTRADORES UTILIZADOS
A comunicação entre MP e UCP usa dois registradores da UCP chamados de Registrador de Endereços de Memória - REM ou, em inglês, Memory Address Register (MAR). Usa Também o Registrador de Dados da Memória - RDM ou, em inglês, Memory Buffer Register (MBR).
6 REM e RDM x = no de bits do barramento de endereços; em geral (mas não obrigatoriamente) é igual ao nº de bits do Registrador de Endereços de Memória – REM. M = nº de bits contidos em uma célula; M em geral (mas não obrigatoriamente) é igual ao nº de bits do Registrador de Dados da Memória - RDM.
8 Funcionamento... UCP / MP :
Barramento de endereços - unidirecional (só a UCP envia dados - write - ou lê dados - read - da MP) Barramento de dados – bidirecional. Barramento de controle – bidirecional. UCP ---> MP (controles r/w). MP -----> UCP (wait ... )
9 Funcionamento... ELEMENTOS ENVOLVIDOS: Barramentos:
De dados – bidirecional De endereços –unidirecional De controle – bidirecional; Registradores: REM - Registrador de Endereços de Memória (MAR - Memory Address Register). RDM - Registrador de Dados de Memória (MBR - Memory Buffer Register)
10 PALAVRA (UNIDADE DE INFORMAÇÃO)
Palavra é a unidade de informação do sistema UCP / MP. A conceituação mais usada (IBM, Digital) define palavra como sendo a capacidade de manipulação de bits do núcleo do computador (UCP e MP). Pressupõe-se aqui que todos os elementos do núcleo do computador (o que inclui o tamanho da UAL, do acumulador e registradores gerais da UCP e o barramento de dados) tenham a mesma largura (processem simultaneamente o mesmo número de bits), o que nem sempre acontece. Muitas vezes encontram-se computadores em que o tamanho da UAL e do acumulador (e registradores gerais) não é o mesmo tamanho dos barramentos.
11 Continuação... Desta forma, encontram-se especificações de "computadores de 64 bits" mesmo quando seu barramento de dados é de 32 bits, nesse caso referindo-se exclusivamente à capacidade de manipulação da UCP de 64 bits (isto é, sua UAL e acumulador tem 64 bits). Esta conceituação é imprecisa (às vezes, enganosa) e pode levar a erros de avaliação da capacidade de processamento de um computador.
12 Conceituação... Como exemplos, citamos os microprocessadores Intel 8086 (16 bits, sendo todos seus elementos de 16 bits) e seu "irmão" mais novo 8088, usado nos primeiros IBM/PC e XT (idêntico sob quase todos os aspectos ao 8086 e também dito de 16 bits, sendo que UAL e registradores são de 16 bits mas o barramento de dados é de apenas 8 bits, por economia e razões de compatibilidade com toda uma geração de placas de 8 bits).
13 Conceituação... Destaque-se que nesse caso as transferências de dados através do barramento de dados se fazem em duas etapas, um byte de cada vez, e em conseqüência no 8088 elas consomem o dobro dos ciclos de barramento que o 8086), o que torna suas operações de transferência de dados mais lentas que as de seu "irmão" 8086. Concluindo, deve-se analisar caso a caso, porque a simples menção ao tamanho da palavra não é uma terminologia que permita definir de forma conclusiva sobre a arquitetura do computador.
14 Lembre-se... Em geral, o termo "célula" é usada para definir a unidade de armazenamento (o tamanho de células de memória) e o termo "palavra" para definir a unidade de transferência e processamento, significando na prática quantos bits o computador movimenta e processa em cada operação.
15 Não esqueça... Célula não é sinônimo de palavra, embora em algumas máquinas a palavra seja igual à célula. A palavra de um computador pode ter 1 byte (p.ex, 8080), 2 bytes (p.ex ), 4 bytes (p.ex. 486, o Pentium, e muitos mainframes IBM) e mesmo 8 bytes (p.ex. o Alpha da DEC). Células de memória muitas vezes tem o tamanho de 1 ou 2 bytes - de 8 a 16 bits.
16 TEMPO DE ACESSO Tempo de acesso (ou tempo de acesso para leitura) é o tempo decorrido entre uma requisição de leitura de uma posição de memória e o instante em que a informação requerida está disponível para utilização pela UCP. Ou seja, o tempo que a memória consome para colocar o conteúdo de uma célula no barramento de dados. O tempo de acesso de uma memória depende da tecnologia da memória.
17 Tempo de ciclo... Tempo de ciclo (ou ciclo de memória é conceituado como o tempo decorrido entre dois ciclos sucessivos de acesso à memória. As memórias dinâmicas perdem seu conteúdo em alguns instantes e dependem de ser periodicamente atualizadas (ciclo de "refresh"). No caso das SRAM (Static RAM ou memórias estáticas), que não dependem de "refresh", o tempo de ciclo é igual ao tempo de acesso. As memórias dinâmicas, no entanto, requerem ciclos periódicos de "refresh", o que faz com que a memória fique indisponível para novas transferências, a intervalos regulares necessários para os ciclos de "refresh". Assim, as memórias DRAM tem ciclo de memória maior que o tempo de acesso.
18 Concluindo... O tempo de acesso de qualquer memória tipo RAM (Random Access Memory ou memória de acesso aleatório) é independente do endereço a ser acessado (a posição de memória a ser escrita ou lida), isso é, o tempo de acesso é o mesmo qualquer que seja o endereço acessado.
19 ACESSO À MEMÓRIA PRINCIPAL
O acesso à MP é ALEATÓRIO, portanto qualquer que seja o endereço (a posição) de memória que se queira acessar, o tempo de acesso é o mesmo (constante). Obs.: Embora a MP seja endereçada por célula, a UCP em geral acessa a MP por palavra. O endereçamento por célula dá maior flexibilidade de armazenamento, em compensação o número de acessos é em geral maior.
20 Funcionamento... A MP pode ser acessada através de duas operações: ACESSO Tipo LER ou ESCREVER a) LEITURA: LER DA MEMÓRIA Significa requisitar à MP o conteúdo de uma determinada célula (recuperar uma informação). Esta operação de recuperação da informação armazenada na MP consiste na transferência de um conjunto de bits (cópia) da MP para a UCP e é não destrutiva, isto é, o conteúdo da célula não é alterado. SENTIDO: da MP para a UCP
21 PASSOS EXECUTADOS PELO HARDWARE:
1) a UCP armazena no REM o endereço onde a informação requerida está armazenada; 2) a UCP comanda uma leitura; 3) o conteúdo da posição identificada pelo endereço contido no REM é transferido para o RDM e fica disponível para a UCP.
22 Segundo método... B) ESCRITA: ESCREVER NA MEMÓRIA Significa escrever uma informação em uma célula da MP (armazenar uma informação). Esta operação de armazenamento da informação na MP consiste na transferência de um conjunto de bits da UCP para a MP e é destrutiva (isto significa que qualquer informação que estiver gravada naquela célula será sobregravada). SENTIDO: da UCP para a MP
23 PASSOS EXECUTADOS PELO HARDWARE:
1) a UCP armazena no REM o endereço de memória da informação a ser gravada e no RDM a própria informação; 2) a UCP comanda uma operação de escrita; 3) a informação armazenada no RDM é transferida para a posição de memória cujo endereço está contido no REM.
24 CLASSIFICAÇÃO DAS MEMÓRIAS
Quanto à leitura e escrita, as memórias podem ser classificadas como: R/W - Read and Write (memória de leitura e escrita), comumente (e impropriamente) chamada de RAM (Random Access Memory ou memória de acesso aleatório), embora não seja a única RAM. Esta memória permite operações de escrita e leitura pelo usuário e pelos programas. Seu tempo de acesso é da ordem de 70ns e independe do endereço acessado. É construída com tecnologia de semicondutores (bipolar, CCD), pode ser estática (SRAM) ou dinâmica (DRAM) e é volátil. A MP é construída com memória R/W.
25 CLASSIFICAÇÃO DAS MEMÓRIAS
ROM - Read Only Memory ou memória apenas de leitura Esta memória permite apenas a leitura e uma vez gravada não pode mais ser alterada. Também é de acesso aleatório (isto é, é também uma RAM), mas não é volátil. É utilizada geralmente por fabricantes para gravar programas que não se deseja permitir que o usuário possa alterar ou apagar acidentalmente (tal como por ex..a BIOS - Basic Input Output System e microprogramas de memórias de controle). Quando se liga uma máquina, é da ROM que vem os programas que são carregados e processados no "boot" (na inicialização o hardware aponta automaticamente para o primeiro endereço da ROM). Desta forma, parte do espaço de endereçamento da MP é ocupado por ROM. A ROM é mais lenta que a R/W e é barata, porém o processo produtivo depende de ser programada por máscara ("mask programmed") em fábrica e devido ao alto custo da máscara somente se torna econômica em grandes quantidades.
26 Você sabia ? O Boot (ou bootstrap loader) é o processo de inicialização e carga dos programas básicos de um computador, automática, sem intervenção externa. Este termo vem de uma analogia com um processo (impossível) que seria uma pessoa se levantar puxando-se pelos cordões de suas próprias botas.
27 Classificação da memórias...
PROM - Programmable Read Only Memory ou memória apenas de leitura, programável. Esta memória é uma ROM programável (em condições e com máquinas adequadas, chamadas queimadores de PROM) e geralmente é comprada "virgem" (sem nada gravado), sendo muito utilizada no processo de testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas. Uma vez programada (em fábrica ou não), não pode mais ser alterada.
28 Classificação das memórias...
EPROM - Erasable Programmable Read Only Memory ou memória apenas de leitura, programável (com queimadores de PROM) e apagável (com máquinas adequadas, à base de raios ultra-violeta). Esta memória é uma PROM apagável. Tem utilização semelhante à da PROM, para testar programas no lugar da ROM, ou sempre que se queira produzir ROM em quantidades pequenas, com a vantagem de poder ser apagada e reutilizada.
29 Classificação das memórias...
EEPROM (ou E2PROM) - Electrically Erasable Programmable Read Only Memory ou memória apenas de leitura, programável e eletronicamente alterável. Também chamada EAROM (Electrically Alterable ROM). Esta memória é uma EPROM apagável por processo eletrônico, sob controle da UCP, com equipamento e programas adequados. É mais cara e é geralmente utilizada em dispositivos aos quais se deseja permitir a alteração, via modem, possibilitando a carga de novas versões de programas à distância ou então para possibilitar a reprogramação dinâmica de funções específicas de um determinado programa, geralmente relativas ao hardware (p.ex., a reconfiguração de teclado ou de modem, programação de um terminal, etc).
30 Lógica Temporizada Conforme vimos ao analisar a comunicação entre UCP e memória, as instruções, os dados e os endereços "trafegam" no computador através dos barramentos (de dados, de endereços e de controle), sob a forma de bits representados por sinais elétricos: uma tensão positiva alta ("high" - geralmente no entorno de 3 volts) significando "1" e uma tensão baixa ("low" - próxima de zero) significando "0". Mas os dados no computador não ficam estáticos; pelo contrário, a cada ciclo (cada "estado") dos circuitos, os sinais variam, de forma a representar novas instruções, dados e endereços.
31 Continuação... Ou seja, os sinais ficam estáticos apenas por um curto espaço de tempo, necessário e suficiente para os circuitos poderem detetar os sinais presentes no barramento naquele instante e reagir de forma apropriada. Assim, periodicamente, uma nova configuração de bits é colocada nos circuitos, e tudo isso só faz sentido se pudermos de alguma forma organizar e sincronizar essas variações, de forma a que, num dado instante, os diversos circuitos do computador possam "congelar" uma configuração de bits e processá-las. Para isso, é preciso que exista um outro elemento, que fornece uma base de tempo para que os circuitos e os sinais se sincronizem. Este circuito é chamado clock - o relógio interno do computador. Cada um dos estados diferentes que os circuitos assumem, limitados pelo sinal do clock, é chamado um ciclo de operação.
32 Clock A Unidade de Controle da UCP envia a todos os componentes do computador um sinal elétrico regular - o pulso de "clock" - que fornece uma referência de tempo para todas as atividades e permite o sincronismo das operações internas. O clock é um pulso alternado de sinais de tensão, gerado pelos circuitos de relógio (composto de um cristal oscilador e circuitos auxiliares).
33 Ciclo de Operação Cada um destes intervalos regulares de tempo é delimitado pelo início da descida do sinal, equivalendo um ciclo à excursão do sinal por um "low"e um "high" do pulso. O tempo do ciclo equivale ao período da oscilação. A física diz que período é o inverso da freqüência. Ou seja, P = 1 / f. A freqüência f do clock é medida em hertz. Inversamente, a duração de cada ciclo é chamada de período, definido por P=1/f (o período é o inverso da freqüência).
34 Ciclo de operação... Por exemplo, se f = 10 hz logo P = 1/10 = 0,1 s.
1 Ghz (1 Gigahertz) equivale a um Bilhão de ciclos por segundo. Sendo a freqüência de um processador medida em Gigahertz, o período será então medido em nanosegundos
35 Ciclo de operação... Sempre que se fala sobre máquinas velozes, citamos números em Gigahertz. Para um melhor entendimento sobre o que ocorre na máquina, em vez de falar sobre a freqüência do clock seria mais ilustrativo discutirmos uma outra grandeza: o período (isto é, o tempo de duração de cada ciclo ou simplesmente tempo de ciclo).
36 Tempo de ciclo Quando se diz que um processador é de 200 Mhz, está-se definindo a freqüência de operação de seu processador (seu clock), significando que o processador pode alternar seus estados internos 166 milhões de vezes por segundo. Isto acarreta que cada ciclo (equivalente a um estado lógico) de operação dura 1 / s = 5 x 10-9 s ou seja, 5 nanosegundos.
37 Tempo de ciclo.. Como podemos ver pelo exemplo a seguir, o processador com o clock ilustrado em (B) teria um tempo de ciclo cinco vezes menor que o (A) e portanto teria (teoricamente) condições de fazer cinco vezes mais operações no mesmo tempo.
38 Tempo de ciclo.. Quando analisamos os números de clock de um processador ou barramento, pode ficar uma impressão que esses números não fazem sentido: 133 MHz, 166 MHz ... Vejamos como ficam seus períodos, e como esses números apresentam um padrão regular:
39 Frequência (Mhz) Período (ns) 25 40 33 30 50 20 66 15 100 10 133 7.5 166 6 200 5 266 3.75 1Ghz 1
40 Tempo de ciclo... Os primeiros computadores tinham um único sinal de clock geral, válido para UCP, memória, barramentos de E/S (entrada / saída), etc. À medida que a tecnologia foi se aperfeiçoando, a freqüência de clock de operação dos processadores (e, em menor escala, também a das memórias) aumentou em uma escala muito maior que a dos demais componentes. Desta forma, foi necessário criar diferentes pulsos de clock para acomodar as freqüências de operação dos diferentes componentes. A placa-mãe de um PC utiliza uma freqüência-mestra (hoje em geral de 1,66 Ghz, equivalente a um período de menos de 1ns.
41 Tempo de ciclo... Em placas de 1,66 Ghz acontece o seguinte:
O processador tem essa freqüência 2Ghz a 2,5 Ghz. O barramento PCI usa freqüências reduzidas pela metade. As memórias (ciclos da ordem de 10 ns) usam freqüências reduzidas a um quarto. As cache secundárias (ciclos entre 1 e 2 ns) usam a própria freqüência da placa-mãe. As memórias cache primárias são hoje construídas como parte do processador e usam o mesmo clock do processador.
42 Resumindo.. O efeito prático (econômico$$$$) do aumento da freqüência de operação é que a precisão de fabricação dos circuitos tem que ser também maior. O tamanho de cada junção de transistor fica menor (hoje são construídos chips com 0,35 microns e uma nova geração com 0,05 microns está em gestação). Uma junção menor requer menor potência para sua operação, menos elétrons para operar uma transição de estados, menor tempo de propagação do sinal, menor potência dissipada.
43 Instruções por ciclo Qual a real importância e significado da freqüência do processador? Quando se faz uma soma em uma calculadora, basta teclar cada um dos algarismos do 1º número, teclar o sinal de mais, depois teclamos os algarismos do segundo número e teclamos o sinal de igual.
44 Continuando... É comum pensar que nos computadores as coisas se passam mais ou menos do mesmo jeito. No entanto, a soma propriamente dita é a menor das tarefas que um computador executa quando soma dois números. Neste exemplo, o computador precisaria localizar a instrução de soma na memória e movê-la para a UCP. Esta instrução estaria codificada na forma de dígitos binários e teria que ser decodificada para determinar a operação a ser realizada (no caso, ADD), o tamanho dos dados (quantas células eles ocupam), determinar a localização e buscar cada um dos números na memória, e só então, finalmente, fazer a soma.
45 Continuando... Para o computador, a soma é realmente a parte mais simples e mais rápida de toda a operação, já que decodificar a instrução e principalmente obter os dados tomam a maior parte do tempo (este assunto será discutido no Capítulo sobre Representação de Instruções).
46 Referências... Torres, Gabriel. Hardware Curso completo 4ª Edição.
Stallings, Willian. Arquitetura e Organização de Computadores 5ª Edição. Morimoto, Carlos E. Guia do Hardware 3ª Edição.