4. Memórias de Dados e de Programa Professor: Vlademir de Oliveira Disciplina: Microcontroladores e DSP
4.1 Memórias Semicondutoras Algumas definições Célula: Dispositivo de armazenamento de 1 bit. Palavra: Tipicamente o tamanho do barramento de dados. Capacidade: Éa quantidade de localidades da memória. Ex.: 8MX16 nº de bits nº de palavras armazenáveis Densidade: Relaciona a capacidade por espaço físico ocupado; Quanto maior a densidade menor o dispositivo.
4.1 Memórias Semicondutoras Algumas definições Volátil: Quando a memória só consegue manter os dados armazenados enquanto estiver ligada àtensão de alimentação. Não Volátil : Mantém os dados mesmo quando está desligada; Também é classificada como somente leitura.
4.1 Memórias Semicondutoras Memórias não voláteis ROM (Read Only Memory): Os dados são gravados no processo de fabricação e não pode ser reprogramada. PROM (Programmable ROM): Pode ser programada, porém somente uma vez. EPROM (Erasable PROM): Possui uma janela fotosensível que permite ser apagada, e depois gravada eletricamente. EEPROM (Electrically EPROM): Essa pode ser apagada e gravada eletronicamente. Todo o procedimento é através de tensões de configuração.
4.1 Memórias Semicondutoras Memórias não voláteis Flash ROM : Pode ser programada e reprogramada por um software específico. A desvantagem é que só pode ser apagada por setores. A memória Flash éuma memória de grande densidade.
4.1 Memórias Semicondutoras Memórias voláteis Registradores: São compostos por flip flops; Possuem tempo de acesso muito veloz. RAM (Random Acess Memory): Podem ser escritas e lidas várias vezes. Possuem dois tipos, dinâmica (DRAM) e estática (SRAM). DRAM (dynamic RAM): Constituída de transistores e capacitores. Essa memória necessita de um sinal de refresh para manter os dados armazenados; Possui acesso lento comparada a SRAM. SRAM (static RAM): Constituída de flip flops. Utilizadas na cache L2.
4.1 Memórias Semicondutoras Memórias voláteis SDRAM (Sincronous Dynamic RAM): Híbrido de RAM dinâmica e estática. SDR SDRAM (Single data rate SDRAM): um dado por pulso de clock. DDR SDRAM (Double data rate SDRAM): permite dois acessos simultâneos. Disco: Usado apenas em computação.
4.2 Arquiteturas Básicas CPU A função de uma CPU é executar sequencialmente as instruções contidas na memória de programa. Cada instrução necessita de um operando e/ou endereço para sua execução. A forma de manipulação dos dados depende do projeto do hardware. As arquiteturas básicas de CPUs de microcontroladores serão apresentadas a seguir.
4.2 Arquiteturas Básicas Algumas arquiteturas Arquitetura Baseada em Acumulador O operando é retirado do acumulador e da memória de dados e depois o resultado é gravado no acumulador. A desvantagem é que o tempo de acesso a memória é lento, comparado à registradores internos.
4.2 Arquiteturas Básicas Algumas arquiteturas Arquitetura Baseada em Registrador Nesse caso, os operandos são ambos de registradores. Esses registradores são acessados mais rapidamente pela CPU.
4.2 Arquiteturas Básicas Algumas arquiteturas Arquitetura Baseada na Pilha (Stack) O mesmo que nos anteriores, mas para a pilha.
4.2 Arquiteturas Básicas Algumas arquiteturas Arquitetura Pipeline É a técnica que permite separar o hardware em subpartições, que por sua vez, realizam o processo de busca e execução da instrução simultaneamente. Em microcontroladores o pipeline só é usado com instruções RISC.
4.3 Mapeamento de Memória do PIC Mapa da memória de programa MCU PIC mid-range A memória de programa do PIC16F877A é de 14-bits do tipo Flash ROM..
4.3 Mapeamento de Memória do PIC Mapa da memória de programa Setores da Memória de Programa Vetor de reset: É o primeiro endereço da memória de programa que contém a instrução que será executada após um start-up ou reset. Vetor de interrupção: Quando uma interrupção ocorre, o programa é desviado para o início do vetor de interrupção. Paginação: A memória de programa é dividida em blocos de 2 kwords e 14ibits. A paginação é transparente para o usuário, realizada pelo registrador PC (Program Counter).
4.3 Mapeamento de Memória do PIC Memória de Dados Diferente dos computadores, a memória RAM dos PICs é utilizada essencialmente para mapear os registradores, de controle e de dados. Os registradores mapeados na RAM são divididos em dois grupos: SFR (Special Function Register): São utilizados para controlar os periféricos e módulos internos, flags de estado do processador, entre outras funções. GPR (General Purpose Register): São utilizados para armazenamento temporário de dados.
4.3 Mapeamento de Memória do PIC Memória de Dados A memória RAM dos PICs também opera por paginação. Cada banco com 128 posições, ou seja, 128 registradores endereçados po 7 bits. Isso permite a compatibilidade do código dos MCUs PIC. Os principais registradores são: STATUS: Armazenamento de flags matemáticos e de estado da CPU, além dos bits de seleção do banco de memória, RP0 e RP1. INTCON: Controle de interrupção. OPTION_REG: Configurar o funcionamento de alguns periféricos internos do PIC.
4.3 Mapeamento de Memória do PIC Memória de Dados A memória RAM dos PICs também opera por paginação. Cada banco com 128 posições, ou seja, 128 registradores endereçados po 7 bits. Isso permite a compatibilidade do código dos MCUs PIC. Os principais registradores são: PORTX: Leitura e escrita de informações nos pinos de I/O. TRISX: Controle da direção de funcionamento de cada pino de portas (se é de entrada ou de saída).