jueves, 9 de junio de 2011

Microcontroladores: Memorias

 La arquitectura interna de Pic se divide en las siguientes partes, que seran explicadas en detalle en esta entrada
  • Memoria de Programa (ROM): Donde se guardan todas los comandos del microcontrolador.
  • Memoria de datos: Alli se hallan registros de variables que el microcontrolador necesite crear para funcionar. Se divide en 2 partes
        Area RAM:  Se compone por 22 registros de propostito general (SFR) y 68 de proposito general
        Area EEPROM : Que se compone de 68 registros x 8 bits
  • ALU y Registro de Trabajo W: En este sector se hacen las operaciones matematicas. Que puede ser entre cualquier registro, memoria, puerto, o el codigo de instrucion
  • 2 puertos para la comunicacion con el mundo exterior ó perifericos son: Port A de 5 bits (Pines Desde RA0 hasta RA4) Y el Port B de 8 bits (Puertos desde RB0 hasta RB7)
  • Contador de Programa (Counter Timer) contiene 13 bits, basicamente es el encargado de direccionar las instrucciones de la memoria de programa.

Memoria de DATOS
Como habiamos esxplicado anteriormente la memoria de Datos se divide en 2 partes, la memoria RAM y la memoria EEPROM;:
La memoria RAM es una memoria volatil, que guarda variables, datos, etc. como son variables van variando por lo que tiene que escribirse y rescribirse muchas veces por lo tanto los datos tienen no tienen que ser almacenados, por eso lo de volatil Al ser Volatil al sacarle la energia, los datos en ella se borraran. Los bytes de la RAM, se guardan en direcciones, como por ejemplo 03h (STATUS)
La RAM se divide en 2 partes:
    • GPR: General Purpose Register ó Registros de proposito general: Contiene 68 posisiones de memoria (Bytes) para guardar variables. Son registros de uso general para guardar datos temporales del programa.
    • SFR: Special Fuctions register): Son los primeros registros, cada uno tiene un propoito especial
La memoria de Datos cuenta con dos bancos de memoria: El banco "0" y el banco "1".
  • Los registros del SFR estan entre las direcciones 00h y 0Bh del banco 0 y entre las direcciones 80h y 8Bh. Algunos registros SFR se ecuentran duplicados en ambos bancos, para acelerar los tiempos de busqueda. como por ejemplo el registro PCL.
Si queremos seleccionar algun banco en especial debermos configurar el bit 5 del registro STATUS, Si es un "0" selleccionara el banco "0" y si es un "1" seleccionarmenos el banco 1.

Memoria de Programa
En la memoria de programa se almacenan las instrucciones del programa, estos datos tienen que estar guardados SIEMPRE, por eso, cuando se desconecta la energia los datos se mantienen. Para grabar un microcontrolador se debe tener una computadora con conexion DB9 (SERIE), un equipo llamado programador y un software llamado MPLAB (Microchip - PIC), la programacion del micro esta explicada detalladamente dentro de la etiqueta "Microcontroladores" la entrada Microcontroladores: Programación.
 La utilizacion de la memoria de programa o memoria ROM FLASH, es comoda y facil de usar.



ALU Y Registro "W"
El registro W es uno de los mas importantes, ya que hay muchas datos que no pueden ser llevados de un lugar a otro directamente sino que primero tienen que ser llevados a ese registro y luego ser utilizados posteriormente, estos comandos se encuentran explicados en la entrada Microcontroladores: Programacion.

El registro "ALU": (Aricmetic Logic Unit) es por donde se realizan todas la operaciones matematicas necesarias.


Arquitectura Ortogonal PIC
Los Microcontroladores PIC tienen una Arquitectura Ortogonal con respecto
al ALU y al registro W, esta Arquitectura ofrece una mayor velocidad que otras. Ya que el registro W se encuentra antes que el ALU, entonces se pueden hacer operaciones con el registro W y cualquier otro registro, puerto, dato, etc.
Y luego poder guardarlo en el registro W o en cualquier en la memoria de DATOS
Arquitectura Ortogonal Von Neumann
Con la otra forma (Arquitectura Von Neumann) el registro Work (Acumulador) Se encuentra luego del ALU, por lo que hace mas lento si uno quiere guardar en el Acumulador un resultado, ya que lleva mas instrucciones, lo que conlleva a mas ciclos de reloj.






      No hay comentarios:

      Publicar un comentario