Microprocesadores
Inicialmente cuando no existan los microprocesadores las personas se ingeniaban en diseñar sus circuitos electrónicos y los resultados estaban expresados en diseños que implicaban muchos componentes electrónicos y cálculos matemáticos. Un circuito lógico básico requería de muchos elementos como transistores, resistencias.
Al principio se creía que el manejo de un microprocesador era para aquellas personas con un coeficiente intelectual muy alto; Por lo contrario con la aparición de este circuito integrado todo seria mucho mas fácil de entender y los diseños electrónicos serian mucho mas pequeños y simplificados.
Los microcontroladores están conquistando el mundo, pero la invasión acaba de comenzar y el nacimiento del siglo XXI sera testigo de la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte de los aparatos que se fabrican hoy en días. Cada vez existen mas productos que incorporan un Microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y costo , mejorar su fiabilidad.
El funcionamiento y aplicaciones de los microcontroladores y los microprocesadores permite profundizar en los aspectos tecnológicos de las arquitecturas de las nuevas computadoras, convirtiéndose de esta forma en una herramienta útil para el desarrollo de variadas aplicaciones que contribuyen al avance tecnológicos y desarrollo integral de la sociedad.
Estas aplicaciones que han surgido con propósitos, para solucionar las diversas necesidades existentes, que frustraban la realización de actividades ejecutadas por personas en los diferente escenarios industriales , empresariales entre otros.
¿Qué es un microprocesador?
Se llama microprocesador o simplemente procesador al circuito integrado central de un sistema informático, en donde se llevan a cabo las operaciones lógicas y aritméticas (cálculos) para permitir la ejecución de los programas, desde el Sistema Operativo hasta el Software de aplicación.
Un microprocesador puede operar con una o más CPU (Unidades Centrales de Procesamiento), constituidas cada una por registros, una unidad de control, una unidad aritmético-lógica y una unidad de cálculo en coma flotante (o coprocesador matemático).
Asimismo, se haya generalmente conectado mediante un zócalo a la placa base o tarjeta madre, junto con un sistema disipador de calor que conforman ciertos materiales de disipación térmica y un fan cooler (ventilador interno).
Mientras que un mismo microprocesador puede contar con uno o más núcleos físicos o lógicos, en los que se lleva a cabo toda la labor de cálculo, un mismo sistema informático puede disponer de varios procesadores trabajando en paralelo.
El rendimiento de dichos procesadores no es nada fácil de medir, pero se suele usar la frecuencia de reloj (medida en hercios) para distinguir entre la potencia de unos y de otros.
Historia del microprocesador
Los microprocesadores surgieron como producto de la evolución tecnológica de dos ramas específicas: la computación y los semiconductores. Ambos tuvieron sus inicios a mediados del siglo XX, en el contexto de la Segunda Guerra Mundial, con la invención del transistor, con el que se reemplazó a los tubos al vacío.
A partir de entonces, se usó el silicio para generar circuitos electrónicos simples, dando pie posteriormente (el inicio de la década de 1960) a la creación de los primeros circuitos digitales: Lógica Transistor-Resistor (RTL), Lógica Transistor Diodo (DTL), Lógica Transistor-Transistor (TTL) y Lógica Complementada Emisor (ECL).
El siguiente paso hacia los microprocesadores sería la invención de los circuitos integrados (SSI y MSI), permitiendo así el inicio de la agregación y miniaturización de componentes. Las primeras calculadoras en emplear esta tecnología requerían sin embargo entre 75 y 100 circuitos integrados, lo cual era impráctico. Y así, el siguiente paso en la reducción de la arquitectura computacional fue el desarrollo de los primeros microprocesadores.
El primer procesador fue el Intel 4004 fabricado en 1971. Contenía 2300 transistores y con sus apenas 4 bits de capacidad podía realizar 60.000 operaciones lógicas por segundo, en una frecuencia de reloj de 700 Hz. A partir de entonces, la carrera tecnológica invirtió en el desarrollo de mejores y más potentes microchips: de 8 bits, 16 bits, 32 bits y 64 bits, alcanzando en la actualidad frecuencias superiores a los 3 GHz.
Características del microprocesador
Los microprocesadores asemejan una pequeña computadora digital en miniatura, por lo que presenta su propia arquitectura y realiza operaciones bajo un programa de control. Dicha arquitectura se compone de:
- Encapsulado. Una cubierta cerámica que recubre el silicio y lo protege de los elementos (como el oxígeno del aire).
- Caché. Un tipo de memoria ultra rápida disponible para el procesador, de modo que no emplee memoria RAM sino cuando sea necesario, ya que en los varios niveles de la memoria caché se guardan datos en uso para su recuperación inmediata.
- Coprocesador matemático. Llamada unidad de coma flotante, es la porción del procesador que se encarga de las operaciones lógicas y formales.
- Registros. Una memoria breve de trabajo en el procesador, diseñada para llevar el control de su propio funcionamiento y condiciones.
- Puertos. Los conductos que permiten al procesador comunicar la información con el resto de los componentes del sistema.
¿Para qué sirve un microprocesador?
Los microprocesadores son el “cerebro” del computador: su centro lógico de operaciones aritméticas y lógicas, adonde van a ejecutarse todos los programas del sistema, tanto los propios del Sistema Operativo, como las aplicaciones ejecutadas por el usuario. Allí también se dan las lógicas binarias del sistema y los accesos a memoria. Es decir: el procesador es el motor informativo del computador.
Función del microprocesador
Un microprocesador opera en base a una serie de instrucciones elementales que son pre-programadas y almacenadas bajo la forma de código binario. Estas instrucciones van a organizarse a la memoria principal, y se dan de acuerdo a varias fases, que son:
- Prefetch. O pre-lectura de la instrucción desde la memoria principal del sistema.
- Fetch. Envío de la instrucción específica al decodificador.
- Decodificación. Traducción de la instrucción en una serie de operaciones a realizar, y lectura de los operandos necesarios para hacerlo.
- Ejecución. Realización de la instrucción por los componentes del sistema.
- Escritura. Grabado de los resultados de vuelta en la memoria principal, o en los registros.
Estas fases se llevan a cabo en varios ciclos del CPU, y su duración depende de la frecuencia a la que trabaje el microprocesador.
Microcontrolador.
Es un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador y que contiene todos los componentes fundamentales de un ordenador, aunque de limitadas prestaciones y que se suele destinar a gobernar una sola tarea. En su memoria sólo reside un programa que controla en funcionamiento de una tarea determinada, sus líneas de entrada/salida se conectan a los sensores y actuadores del dispositivo a controlar y, debido a su pequeño tamaño, suele ir integrado en el propio dispositivo al que gobierna.
Componentes
- Procesador o CPU (Unidad Central de Proceso).
- Memoria RAM para contener los datos.
- Memoria para el programa tipo ROM/EPROM/EEPROM/Flash.
- Líneas de E/S para comunicarse con el exterior.
- Diversos módulos para el control de periféricos (temporizadores, puertos serie y paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.).
- Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.
Características
Son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora utilizará un procesador muy pequeño (4 u 8 bits) porque sustituirá a un autómata finito. En cambio, un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bits o de 64 bits y de uno o más Códecs de señal digital (audio y/o vídeo).
El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bits, al igual que el sistema de control electrónico del motor en un automóvil. Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50 % son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (Ud. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores.
Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc. Un microcontrolador difiere de una unidad central de procesamiento normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de circuitos integrados externos de apoyo. La idea es que el circuito integrado se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los modulos de entrada y salida (puertos) y la memoria para almacenamiento de información. Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria de acceso aleatorio y/o ROM/EPROM/EEPROM/flash, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronización.
Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el lenguaje de programación BASIC que se utiliza bastante con este propósito. Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los ]]dispositivos de entrada/salida]] o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería.
Estructura básica de un microcontrolador
En esta figura, vemos al microcontrolador metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, periféricos y puertos de entrada/salida. Fuera del encapsulado se ubican otros circuitos para completar periféricos internos y dispositivos que pueden conectarse a los pines de entrada/salida. También se conectarán a los pines del encapsulado la alimentación, masa, circuito de completamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar.
Aplicaciones de los microcontroladores
Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.
Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos componentes. Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, ordenadores, impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentación electrónica, control de sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central, probablemente más potente, para compartir la información y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.
Los microcontroladores se encuentran por todas partes:
- Sistemas de comunicación: en grandes automatismos como centrales y en télefonos fijos, móviles, fax, etc.
- Electrodomésticos: lavadoras, hornos, frigoríficos, lavavajillas, batidoras, televisores, vídeos, reproductores DVD, equipos de música, mandos a distancia, consolas, etc.
- Industria informática: Se encuentran en casi todos los periféricos; ratones, teclados, impresoras, escáner, etc.
- Automoción: climatización, seguridad, ABS, etc.
- Industria: Autómatas, control de procesos, etc
- Sistemas de supervisión, vigilancia y alarma: ascensores, calefacción, aire acondicionado, alarmas de incendio, robo, etc.
- Otros: Instrumentación, electromedicina, tarjetas (smartcard), sistemas de navegación, etc.
Herramientas de Desarrollo
Las herramientas de desarrollo están formadas por un conjunto de programas e interfaces(IDEs) que permiten realizar los proyectos de la forma más rapida y eficiente posible. Las principales herramientas de ayuda al desarrollo de sistemas basados en microcontroladores se describen a continuación
Ensamblador
La programación en lenguaje ensamblador puede resultar un tanto ardua para el principiante, pero permite desarrollar programas muy eficientes, ya que otorga al programador el dominio absoluto del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma gratuita y en cualquier caso siempre se puede encontrar una versión gratuita para los microcontroladores más populares.
Compilador
La programación en un lenguaje de alto nivel (como C o Basic) permite disminuir el tiempo de desarrollo de un producto y si además está familiarizado con C o Basic es una buena opción. No obstante, cuando el compilador convierta el código del programa a un lenguaje ensamblado, cada línea de código del programa en lenguaje de alto nivel habrá generado bastantes más líneas de código en lenguaje ensamblador, normalmente en una relación de uno a tres. Esto significa que para utilizar un lenguaje de alto nivel necesitaremos un microcontrolador con una capacidad de memoria relativamente grande. Si el programa que estamos desarrollando necesita utilizar números con decimales, o con notación científica o se utilizan operaciones complejas, como pueden ser las trigonométricas, es casi obligado utilizar un lenguaje de alto nivel. Pero si lo que se va a hacer es manipular bits en registros, entradas, salidas y cálculos sencillos, el lenguaje ensamblado es la mejor opción. Las versiones más potentes de compiladores suelen ser muy caras, aunque para los microcontroladores más populares pueden encontrarse versiones demo limitadas e incluso compiladores gratuitos. Como compilador gratuito puede utilizarse el compilador C GNU, que es un compilador C de código abierto tan bueno como los compiladores C comerciales pero que sin embargo tiene un proceso de instalación que no es sencillo. Además hay que comprobar que arquitecturas de microcontrolador soporta. Algunas de las cuales son MSP430 de TI, AVR de Atmel y HC11 de Motorola.
Simulador/Depurador
Se trata de software que es capaz de ejecutar en una PC aplicaciones desarrolladas para el microcontrolador. Estos permiten tener un control absoluto sobre la ejecución de la aplicación, siendo ideales para la depuración de las mismas. Su gran inconveniente es que generalmente se imposibilita simular la entrada de señales (sobre todo analógicas) al microcontrolador. Tampoco toman en cuentan los posibles ruidos en las entradas, pero, al menos, permiten el paso físico de la implementación de un modo más seguro y menos costoso, puesto que ahorraremos en grabaciones de chips para la prueba in-situ.
Placas de demostración
Se trata de pequeños sistemas con un microcontrolador ya montado y que suelen conectarse a un PC desde el que se cargan los programas que se ejecutan en el microcontrolador. Las placas suelen incluir indicadores visuales, LCD, teclados, fácil acceso a los pines de E/S, etc. Pueden incluir un programa de control o sistema operativo que recibe el nombre de programa monitor. El programa monitor de algunas placas de demostración, aparte de permitir cargar programas y datos en la memoria del microcontrolador, puede permitir en cualquier momento realizar ejecución paso a paso(debug), monitorizar el estado del microcontrolador o modificar los valores almacenados en sus registros.
Emuladores en circuito
Se trata de un instrumento que se coloca entre el PC anfitrión y el zócalo de la tarjeta de circuito impreso donde se alojará el microcontrolador definitivo. El programa es ejecutado desde el PC, pero para la placa de la aplicación es como si lo hiciese el mismo microcontrolador que luego irá en el zócalo. Presenta en pantalla toda la información tal y como luego sucederá cuando se coloque la cápsula.
Programador
Es un dispositivo que conectado a un PC permite grabar en el microcontrolador el programa desarrollado. Algunos puede fabricarlos uno mismo y resultan muy económicos. También existe software gratuito para programar no ya solo microcontroladores sino también otros dispositivos, como memorias. Actualmente se tiende a realizar la programación en la propia placa de utilización mediante ISP, In System Programmation o ICSP, In Circuit Serial Programation. De esta manera se puede programar al microcontrolador una vez esté montado en la placa del circuito utilizando una conexión de dos, tres o cuatro terminales. Para utilizar esta técnica se utiliza un programador que suele ser muy sencillo y que en algunos casos puede construir uno mismo.
Otra posibilidad es utilizar un "cargador de arranque"(bootloader), muy util en la etapa de desarrollo de un programa. Un cargador de arranque es un pequeño programa en el microcontrolador que está montado en la placa del circuito que se está desarrollando y que puede comunicarse con las herramientas de desarrollo (que se van a utilizar para escribir el código del programa de la aplicación) a través de un enlace serie, como puede ser RS232, USB, I2C o un bus CAN. El programa cargador de arranque debe interpretar comandos para leer, grabar y borrar la parte de memoria reservada para el programa de la aplicación. Cuando se desea verificar el programa que se está desarrollando se inicia la comunicación con el programa cargador de arranque, que carga el código de programa en la memoria de programa del microcontrolador. Después el programa cargador de arranque transfiere el control al programa cargado y entonces se puede ejecutar y verificar el programa cargado. Esta operación de carga y prueba puede realizarse tantas veces como sea necesario.
Los requerimientos que tiene que cumplir el microcontrolador a utilizar son:
- Suficiente memoria de programa para alojar tanto el cargador de arranque como el programa en desarrollo.
- Que el microcontrolador permita que pueda modificarse la memoria de programa por si mismo.
- Un puerto serie para la comunicación.
Por ejemplo, el microcontrolador LPC210x de la casa Philips incluye un cargador de arranque serie integrado que está ubicado en los 8 K primeros de su memoria Flash. Estándo el terminal P0.14 a masa y generándo un reset el LPC210x ejecuta el programa cargador de arranque. Utilizándo un programa para PC gratuito de la casa Philips y un cable serie conectado entre el PC y la UART del microcontrolador LPC210x (a través de un conversor TTL/RS232 como el c.i. MAX232) se puede realizar la programación del microcontrolador. También resulta interesante el interface JTAG (que por ejemplo posee el microcontrolador LPC210x), que puede utilizarse para programar el dispositivo y para depurar un programa durante su ejecución en el microcontrolador. Para utilizar el interface JTAG se necesita un módulo interfaz de depuración JTAG que se conecta con entre el sistema de desarrollo del microcontrolador y el PC que lo aloja. En el mercado existen distintos módulos interfaces JTAG comerciales pero tambié se pueden encontrar otros en Internet.
Arquitectura de Von Neumann
Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura, en la cual la unidad central de proceso (CPU), está conectada a una memoria principal única (casi siempre sólo RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede a través de un sistema de buses único (control, direcciones y datos).
En un sistema con arquitectura Von Neumann el tamaño de la unidad de datos o instrucciones está fijado por el ancho del bus que comunica la memoria con la CPU. Así un microprocesador de 8 bits con un bus de 8 bits, tendrá que manejar datos e instrucciones de una o más unidades de 8 bits (bytes) de longitud. Si tiene que acceder a una instrucción o dato de más de un byte de longitud, tendrá que realizar más de un acceso a la memoria.
El tener un único bus hace que el microprocesador sea más lento en su respuesta, ya que no puede buscar en memoria una nueva instrucción mientras no finalicen las transferencias de datos de la instrucción anterior.
Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son:
- La limitación de la longitud de las instrucciones por el bus de datos, que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas.
- La limitación de la velocidad de operación a causa del bus único para datos e instrucciones que no deja acceder simultáneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso
Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:
![](https://www.monografias.com/trabajos28/arquitectura-von-neumann/Image343.gif)
La arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente:
- Obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.
- Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.
- Descodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.
- Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas.
- Regresa al paso N° 1.
Arquitectura Harvard
Este modelo, que utilizan los Microcontroladores PIC, tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes.
Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra sólo almacena datos (Memoria de Datos).
Ambos buses son totalmente independientes 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 estos pueden tener distintos contenidos en la misma dirección y también distinta longitud. También la longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general.
Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones tengan una sola posición de memoria de programa de longitud.
Además, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecución de una instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar.
Ventajas de esta arquitectura:
- El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa, logrando así mayor velocidad y menor longitud de programa.
- El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operación.
El Microcontrolador vs El Microprocesador
Se establecerá una diferencia entre el microprocesador y el microcontrolador, presentando las ventajas y desventajas entre estos dos dispositivos programables, contrastando sus principales características al usarlos en la implementación de sistemas digitales programables y analizando que pasa con cada uno de ellos y: la CPU, las Memorias RAM y ROM, la Velocidad de Operación, el Tamaño,los Costos, las Interferencias (ruido), el Tiempo de desarrollo.
En cuanto a los microcontroladores, en realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
Podemos empezar estableciendo que el uso de una u otra tecnología depende del fin que se espera, pues debido a sus características propias, los microcontroladores y los microprocesadores pueden adquirir variados y diferentes espacios de implementación, por ejemplo, los microprocesadores se han desarrollado fundamentalmente orientados al mercado de los ordenadores personales y las estaciones de trabajo, pues allí se requiere una elevada potencia de cálculo, el manejo de gran cantidad de memoria y una gran velocidad de procesamiento. Mientras que los microcontroladores están concebidos fundamentalmente para ser utilizados en aplicaciones puntuales, es decir, aplicaciones donde el microcontrolador debe realizar un pequeño número de tareas, al menos costo posible. En estas aplicaciones el microcontrolador ejecuta un programa almacenado permanentemente en su memoria, el cual trabaja con algunos datos almacenados temporalmente e interactúa con el exterior a través de las líneas de entrada y salida de que dispone.
Diferencias en cuanto a su esquema:
- Se puede observar en las gráficas, 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 deinstrucciones 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.
No hay comentarios.:
Publicar un comentario