viernes, 9 de marzo de 2012

ARQUITECTURA SEGÚN EL MODELO DE VON NEUMANN


El modelo Harvard, representado en la figura siguiente, dispone de dos memorias:
  • Memoria de datos
  • Memoria de Programa
Además cada memoria dispone de su respectivo bus, lo que permite, que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos y a la de instrucciones. Como los buses son independientes éstos pueden tener distintos contenidos en la misma dirección.

  • Procesador segmentado "pipe-line": quiere decir que aplica la técnica de segmentación que permite al procesador realizar simultáneamente la ejecución de una instrucción y la búsqueda de código de la siguiente. De esta manera, se puede ejecutar una instrucción en un ciclo. (Cada ciclo de instrucción son cuatro ciclos de reloj).

  
Ejemplo:
Búsqueda 1
Ejecuta 1
1. MOVLW 55h
Búsqueda 2
Ejecuta2
2 .MOVWF PORTB
Búsqueda 3
Ejecuta 3
3. CALL SUB_1
Busqueda 4
Salir
4. BSF PORTA,BIT3
Busqueda SUB_1
Ejecuta SUB_1
 Procesador Segmentado pipeline

DIFERENCIAS DEL MICROPROCESADOR Y MICROCONTROLADOR:


La configuración mínima básica de un Microprocesador esta constituida por un Micro de 40 Pines, Una memoria RAM de 28 Pines, una memoria ROM de 28 Pines y un decodificador de direcciones de 18 Pines;
    Microcontrolador incluye todo estos elementos del Microprocesador en un solo Circuito Integrado por lo que implica una gran ventaja en varios factores: En el circuito impreso por su amplia simplificación de circuitería.
    El costo para un sistema basado en Microcontrolador es mucho menor, mientras que para del Microprocesador, es muy alto en la actualidad.
    Los Microprocesadores tradicionales se basan en la arquitectura de Von Newmann, mientras que los microcontroladores trabajan con arquitectura de harvard.
    El tiempo de desarrollo de su proyecto electrónico es menor para los Microcontroladores.
    Se puede observar en las gráficas # 2 y 6, que la principal diferencia entre ambos radica en la ubicación del registro de trabajo, que para los PIC’s se denomina W (Working Register), y para los tradicionales es el Acumulador (A).
    En los microcontroladores tradicionales todas las operaciones se realizan sobre el acumulador. La salida del acumulador esta conectada a una de las entradas de la Unidad Aritmética y Lógica (ALU), y por lo tanto este es siempre uno de los dos operandos de cualquier instrucción, las instrucciones de simple operando (borrar, incrementar, decrementar, complementar), actúan sobre el acumulador.
    En los microcontroladores PIC, la salida de la ALU va al registro W y también a la memoria de datos, por lo tanto el resultado puede guardarse en cualquiera de los dos destinos.
    La gran ventaja de esta arquitectura(Microcontroladores ) es que permite un gran ahorro de instrucciones ya que el resultado de cualquier instrucción que opere con la memoria, ya sea de simple o doble operando, puede dejarse en la misma posición de memoria o en el registro W, según se seleccione con un bit de la misma instrucción . Las operaciones con constantes provenientes de la memoria de programa (literales) se realizan solo sobre el registro W.

ARQUITECTURA INTERNA DE HARVARD


Arquitectura Harvard Dispone de dos memorias independientes, una que contiene sólo instrucciones, y otra que contiene sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias, ésta es la estructura para los PIC's.

 CARACTERISTICAS DE SU PROCESADOR ES SEGMENTADO O PIPELINE
Un procesador segmentado o Pipeline realiza simultáneamente la ejecución de una instrucción y la  búsqueda de  código de lasiguiente, de esta manera, se puede ejecutar una instrucción en un ciclo máquina. En la familia PIC, un ciclo máquina está constituido por 4 ciclos de reloj.  En la familia PIC, la mayoría de las instrucciones se ejecutan en un solo ciclo máquina (4 ciclos de reloj). Sólo las instrucciones de salto tardan 2 ciclos máquina.
CARACTERISTICAS DE SU PROCESADOR ES TIPO RISC
RISC (Reduced Instruction Set Computer).  Son microprocesadores (CPU) con un repertorio de instrucciones reducido. Las instrucciones son muy simples y suelen ejecutarse en un ciclo  máquina. Los procesadores RISC suelen tener una estructura  Pipeline y ejecutar casi todas las instrucciones en el mismo tiempo. El PIC16F84 es un microcontrolador RISC con sólo 35 instruccione.
ARQUITECTURA ORTOGONAL
En una CPU con arquitectura ortogonal una instrucción puede utilizar cualquier elemento de la arquitectura como fuente o destino de una operación.
ARQUITECTURA INTERNA
Hemos visto que la arquitectura interna del PIC 16F84A se
caracteriza por:
•Tener una arquitectura Harvard
•Su procesador es segmentado o Pipeline
•Su procesador es tipo RISC
•El formato de las instrucciones es ortogonal
•La arquitectura está basada en banco de registrosLas anteriores características son válidas para el PIC16F877A

ARQUITECTURA INTERNA DE UN PIC


Las altas prestaciones de los microcontroladores PIC derivan de las características de su arquitectura. Están basados en una arquitectura tipo Harvard que posee buses y espacios de memoria por separado para el programa y los datos, lo que hace que sean más rápidos que los microcontroladores basados en la arquitectura tradicional de Von Neumann.
    Otra característica es su juego de instrucciones reducido (35 instrucciones) RISC, donde la mayoría se ejecutan en un solo ciclo de reloj excepto las instrucciones de salto que necesitan dos.
    Posee una ALU (Unidad Aritmético Lógica) de 8 bits capaz de realizar operaciones de desplazamientos, lógicas, sumas y restas. Posee un Registro de Trabajo (W) no direccionable que usa en operaciones con la ALU.
    Dependiendo de la instrucción ejecutada, la ALU puede afectar a los bits de Acarreo , Acarreo Digital (DC) y Cero (Z) del Registro de Estado (STATUS).
    La pila es de 8 niveles. No existe ninguna bandera que indique que esté llena, por lo que será el programador el que deberá controlar que no se produzca su desbordamiento.
    Este microcontrolador posee características especiales para reducir componentes externos con lo que se reducen los costos y se disminuyen los consumos. Posee 4 diferentes modos de oscilador, desde el simple circuito oscilador RC con lo que se disminuyen los costos hasta la utilización de un oscilador a cristal.
    En el modo SLEEP el consumo se reduce significativamente y puede ‘despertarse’ al microcontrolador utilizando tanto interrupciones internas como externas y señal de reset. Además posee la función Watchdog Timer (Perro Guardian) que protege al micro de ‘cuelgues’ debido a fallos software que produzcan bucles infinitos.
Descripción: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfm9JhpLsQxYAnwJdE3W94PHQzSf82O7zw4kLOYftDHCocbJZaVKvsSOXJs4M45kwFiat4UsJio8vUySnqit6F0FVCuXf-nUbP8Py9iNOb3ZQfgSP5-Xo2Ov_k32H9FYtA_GyGiCsFhmUy/s400/arq16f84_750.jpg


Memoria de datos
Los datos que manejas los programas varían continuamente, y esto exige que la memoria que los contiene debe ser de lectura y escritura, por lo que la memoria RAM estática (SRAM) es la más adecuada, aunque sea volátil.
Hay microcontroladores que disponen como memoria de datos una de lectura y escritura no volátil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la información, que está disponible al reiniciarse el programa. ElPIC16F84 dispone de 64 bytes de memoria EEPROM para contener datos.

REGISTROS DE CONFIGURACION.



Existen dos formas de configurar estos bits: una de ellas es desde MPLAB, mediante la opción Configuración bits del menú configure. La otra es mediante la directiva _ _CONFIG dentro del programa ensamblador.
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y cada una dispone de su propio sistema de buses para el acceso. Esta dualidad, además de propiciar el paralelismo, permite la adecuación del tamaño de las palabras y los buses a los requerimientos específicos de las instrucciones y de los datos.

El REGISTRÓ W



El registro de trabajo W (Working Register) es un registro relevante especial de 8 bits que participa en la mayoría de instrucciones. A diferencia de los SFR, se encuentra dentro de la misma CPU, y puede ser accedido tanto para lectura como para escritura.
Estos microcontroladores cuentan con un registro especial llamado palabra de configuración (Configuration Word) de 14 bits, que se encuentra en la dirección 2007h de la memoria de programa.
Este registro debe escribirse durante el proceso de grabación del microcontrolador ya que no puede ser modificado durante el tiempo de ejecución de un programa.
Su función es especificar ciertas características de funcionamiento del microcontrolador, como son: Protección de memoria de programa.
    Uso del modo de depuración en circuito.
    Permiso de escritura en memoria Flash.
    Protección de memoria EEPROM de datos.
    Uso de programación en modo de bajo voltaje.
    Uso de reinicio por caída de tensión.
    Uso del temporizador de conexión de alimentación.
    Uso del Watchdog.
Tipo de oscilador empleado.

REGISTROS DE ENTRADA Y SALIDA (PUERTOS)



En los registros de entrada - salida se puede escribir o leer, bajo un programa de control del mismo modo que en otro registro del archivo de registros, sin embargo una instrucción de lectura lee siempre el estado del PIN entrada - salida sin importar que el pin esté definido como entrada o como salida. Sobre una condición de reset todos los puertos entrada - salida son definidos como entradas (= a alta impedancia) mientras los registros de control de entrada - salida (TRIS A, TRIS B, TRIS C) son todos puestos en "1".
La ejecución de TRIS F" con los correspondientes ceros, en el registro W, es necesario para definir cualquiera de los pines de entrada - salida como salidas.
Puerto A: Registro de entrada/salida de 4 bits (RA0-RA3). Los bits 4-7 no están implementados y son leídos como "ceros".
Puerto B: Registro de entrada/salida de 8 bits.
Puerto C: Registro de entrada/salida de 8 bits para el PIC 16C57. Es un registro de propósito general para el PIC 16C54/56.
Registros de configuración de puertos (TRIS)

Estos registros sólo pueden ser escritos y son cargados con el contenido del registro W, ejecutando la instrucción TRIS f. Un "1" el contenido del registro de control de entrada/salida, coloca el correspondiente pin del puerto en el modo de alta impedancia, o sea de entrada.