Modo de direccionamiento y ciclos de maquina

Ciclos de maquina

Un micro-controlador es un ordenador en miniatura, con su unidad de proceso, memoria, dispositivos y juego de instrucciones propias de cada micro (Detalladas en la datasheet, en el caso del PIC16F887 posee 35 instrucciones). Cada instrucción tiene una función definida y se ejecutan en una cierta cantidad de tiempo, algunas instrucciones mucho más rápida que otras; para saber este tiempo es que se usa el termino  de ciclo de maquina, que no es más que "El tiempo mínimo necesario para ejecutar una instrucción".


Si nos fijamos en la figura de arriba, nos podemos dar cuenta que el reloj se ha definido en cuatro estados (Q1, Q2, Q3 y Q4) y divididas a partir de este punto. Con esto nos podemos dar una idea que para esa figura,,  un ciclo de maquina esta compuesto por cuatro periodos de reloj. Es decir, que el tiempo mínimo para que un integrado ejecute una instrucción es igual a cuatro ciclos de reloj.

Un ciclo de maquina cambia para cada microcontrolador. Por ejemplo, para la serie de PIC16F, un ciclo de maquina comprende 4 periodos de reloj. Por lo tanto, si queremos calcular tiempos de ejecución entre cada instrucción tenemos que tener a la manos dos cosas: saber la velocidad del reloj y tener un cronograma a la mano que nos indique cuando ciclos de reloj comprende el ciclo de maquina del microcontrolador que vamos a analizar. A continuación se anexa un pedazo del datasheet del PIC16F887, donde hace énfasis en los ciclos que tarda en ejecutar cada una de sus 35 instrucciones.


Modo de direccionamiento

Los modos de direccionamiento de un microcontrolador, son las diferentes maneras de especificar un operando dentro de una instrucción mediante lenguaje ensamblador, en otras palabras, localiza la dirección de memoria de un operando mediante la información contenida en los registros del microcontrolador. Se definen de seis formas:

  • Direccionamiento Directo: En el modo directo, el campo de dirección contiene la dirección del operando. Se requiere una única referencia de memoria para leer el operando de la localización dada. Sin embargo, sólo proporciona un espacio de direcciones limitado.
  • Direccionamiento Indirecto: Este modo tiene un espacio de direcciones grande, a diferencia del direccionamiento inmediato y el directo, pero debido a que se requieren múltiples accesos de memoria para encontrar el operando es más lento.
  • Direccionamiento Inmediato: Este modo es rápido y se puede utilizar para definir constantes o establecer valores de variables iniciales.
  • Direccionamiento Indirecto de registro: Este modo tiene un espacio de direcciones grande, pero es limitado al ancho de los registros disponibles para almacenar la dirección efectiva.
  • Direccionamiento de Desplazamiento: Este modo puede considerarse una combinación del modo de direccionamiento indirecto y de registro.
  • Direccionamiento de Pila (Stack): Consiste en un conjunto lineal de ubicaciones referidos al último que entra y primero en salir. El operando está en la parte superior de la pila.
El microcontrolador PIC16F887 tiene la capacidad de realizar el direccionamiento indirecto mediante los registros INDF y FSR. En otras palabras, las direcciones de registro se especifican en FSR mientras que se almacenan en el registro INDF (Un registro que no existe físicamente, gracias a esto se facilita el proceso de escribir un programa en este microcontrolador. 



Share:

No hay comentarios:

Publicar un comentario

Publicaciones Populares

Publicaciones Recientes