Dispositivos de Control

Contenido 1.- Introducción..............................................................................................

Views 172 Downloads 2 File size 522KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Contenido 1.- Introducción.................................................................................................... 3 2.- Marco teórico.................................................................................................. 4 2.1.- Microprocesador........................................................................................... 4 2.2.- ¿De qué se encarda el microprocesador?.......................................................4 2.3.- Funcionamiento del microprocesador............................................................5 2.4.- Arquitectura del microprocesador..................................................................5 2.5.- Procesadores de silicio................................................................................. 7 2.6.- Ejemplos de arquitecturas............................................................................. 7 2.7.- Operación pasó a paso de un Microprocesador...............................................8 3.- Microcontrolador........................................................................................... 11 3.1.- ¿Para qué se utilizan los microprocesadores?..............................................11 3.2.- Características............................................................................................ 12 Arquitectura Von Neumann................................................................................. 13 Arquitectura Harvard.......................................................................................... 14 Registros........................................................................................................... 15 Unidad de control............................................................................................... 15 Unidad aritmético-lógica..................................................................................... 15 Uses.................................................................................................................. 15 Conjunto de instrucciones.................................................................................. 15 Memoria............................................................................................................. 16 4.- Implementación de programas básicos...........................................................18 4.1.- Ventajas de lenguajes de programación de alto nivel....................................18 4.2.- Lenguaje C.................................................................................................. 18 5. Conclusión..................................................................................................... 19 6. Bibliografía..................................................................................................... 20

1.- Introducción Esta investigación constara de los temas de la unidad 5 en la que se encuentran; microprocesadores, microcontroladores y la implementación de programas básicos, para lo cual los microprocesadores han venido a ser el resultado del desarrollo en el camino emprendido por la Electrónica Digital hacia la miniaturización, primeramente implementando una unidad de procesos completa en una sola pastilla o chip de circuito integrado, y posteriormente, mediante el aumento de la rapidez, capacidad de trabajo y potencia de dicha unidad. La aparición de los microprocesadores (MP) representa el siguiente punto de salto en la electrónica después del ocurrido con la invención del transistor, y la tecnología de su construcción avanza tan rápidamente que prácticamente ha revolucionado en corto tiempo el desarrollo de múltiples campos de la ciencia y la técnica, a la vez que se introduce de manera convincente en nuestra vida doméstica, siendo difícil mencionar una rama o campo de la ciencia en la cual no exista una aplicación de los microprocesadores. De hecho, cada día aumenta el número de instrumentos, sistemas de control de procesos, medios y equipos para las telecomunicaciones, medicina, servicios públicos e incluso juguetes, que emplean dentro de su estructura algún tipo de MP, sin entrar a considerar el hecho real de la introducción, divulgación y aceptación que han tenido las nuevas generaciones de computadoras digitales basadas en este componente y que son conocidas por nosotros como microcomputadoras. Es difícil predecir qué pasará en la electrónica en los próximos años, pero de acuerdo con la opinión de personalidades de esta rama, la influencia de los MP en el futuro será cada vez mayor y de ahí la importancia de preparar a los profesionales encargados de su aplicación y desarrollo, y de que a su vez, los graduados de nivel superior posean conocimientos elementales que les permitan ganar en la cultura general necesaria que sirva de base a un conocimiento mayor de la aplicación específica en el campo en que desarrollarán su vida profesional. Esencialmente, un microprocesador es un circuito de alta escala de integración (LSI), compuesto de muchos circuitos más simples como son los Fip-flops, contadores, registros, decodificadores, comparadores, etc.; todos ellos en una misma pastilla de silicio, de modo que el microprocesador puede ser considerado un dispositivo lógico de propósito general o universal. Todos estos componentes que llevan a cabo físicamente la lógica y operación del microprocesador se denominan el hardware del micro. Además existe una lista de instrucciones que puede realizar o acciones que puede llevar a cabo el micro.

2.- Marco teórico 2.1.- Microprocesador El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador.

2.2.- ¿De qué se encarda el microprocesador? Es el encargado de ejecutar los programas, desde el sistema operativo hasta las aplicaciones de usuario; sólo ejecuta instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria.

2.3.- Funcionamiento del microprocesador Esta unidad central de procesamiento está constituida, esencialmente, por registros, una unidad de control, una unidad aritmética lógica (ALU) y una unidad de cálculo en coma flotante (conocida antiguamente como «coprocesador matemático»). El microprocesador está conectado generalmente mediante un zócalo específico de la placa base de la computadora; normalmente para su correcto y estable funcionamiento, se le incorpora un sistema de refrigeración que consta de un disipador de calor fabricado en algún material de alta conductividad térmica, como cobre o aluminio, y de uno o más ventiladores que eliminan el exceso del calor absorbido por el disipador. Entre el disipador y la cápsula del microprocesador usualmente se coloca pasta térmica para mejorar la conductividad del calor. Existen otros métodos más eficaces, como la refrigeración líquida o el uso de células peltier para refrigeración extrema, aunque estas técnicas se utilizan casi exclusivamente para aplicaciones especiales, tales como en las prácticas de overclocking.

2.4.- Arquitectura del microprocesador

El microprocesador tiene una arquitectura parecida a la computadora digital. En otras palabras, el microprocesador es como la computadora digital porque ambos realizan cálculos bajo un programa de control. Consiguientemente, la historia de la computadora digital ayuda a entender el microprocesador. El hizo posible la fabricación de potentes calculadoras y de muchos otros productos. El microprocesador utiliza el mismo tipo de lógica que es usado en la unidad procesadora central (CPU) de una computadora digital. El microprocesador es algunas veces llamado unidad microprocesadora (MPU). En otras palabras, el microprocesador es una unidad procesadora de datos. En un microprocesador se puede diferenciar diversas partes: 

Encapsulado: es lo que rodea a la oblea de silicio en sí, para darle consistencia, impedir su deterioro (por ejemplo, por oxidación por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zócalo a su placa base.



Memoria caché: es una memoria ultrarrápida que emplea el procesador para tener alcance directo a ciertos datos que «predeciblemente» serán utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo así el tiempo de espera para adquisición de datos. Todos los micros compatibles con PC poseen la llamada caché interna de primer nivel o L1; es decir, la que está dentro del micro, encapsulada junto a él. Los micros más modernos (Core i3, Core i5, Core i7, etc.) incluyen también en su interior otro nivel de caché, más grande, aunque algo menos rápida, es la caché de segundo nivel o L2 e incluso los hay con memoria caché de nivel 3, o L3.



Coprocesador matemático: unidad de coma flotante. Es la parte del micro especializada en esa clase de cálculos matemáticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte está considerada como una parte «lógica» junto con los registros, la unidad de control, memoria y bus de datos.



Registros: son básicamente un tipo de memoria pequeña con fines especiales que el micro tiene disponible para algunos usos particulares. Hay

varios grupos de registros en cada procesador. Un grupo de registros está diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que la CPU los utiliza en algunas operaciones, en total son treinta y dos registros. 

Memoria: es el lugar donde el procesador encuentra las instrucciones de los programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las accede desde allí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de almacenamiento para el trabajo en curso.



Puertos: es la manera en que el procesador se comunica con el mundo externo. Un puerto es análogo a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un «número de puerto» que el procesador utiliza como si fuera un número de teléfono para llamar circuitos o a partes especiales.

2.5.- Procesadores de silicio El proceso de fabricación de un microprocesador es muy complejo. Todo comienza con un buen puñado de arena (compuesta básicamente de silicio), con la que se fabrica un mono cristal de unos 20 x 150 centímetros. Para ello, se funde el material en cuestión a alta temperatura (1.370 °C) y muy lentamente (10 a 40 mm por hora) se va formando el cristal. De este cristal, de cientos de kilos de peso, se cortan los extremos y la superficie exterior, de forma de obtener un cilindro perfecto. Luego, el cilindro se corta en obleas de 10 micras de espesor, la décima parte del espesor de un cabello humano, utilizando una sierra de diamante. De cada cilindro se obtienen miles de obleas, y de cada oblea se fabricarán varios cientos de microprocesadores.

2.6.- Ejemplos de arquitecturas  65xx  MOS Technology 6502

         

                    

Western Design Center 65xx ARM Altera Nios, Nios II AVR (puramente microcontroladores) EISC RCA 1802 (aka RCA COSMAC, CDP1802) DEC Alpha Intel Intel 4556, 4040 Intel 8970, 8085, Zilog Z80

   

 Intel Itanium Intel i860 Intel i515 LatticeMico32

M32R MIPS Motorola Motorola 6800 Motorola 6809 Motorola c115, ColdFire Corelduo 15485 sewcret ranses 0.2457 Motorola 88000 (antecesor de la familia PowerPC con el IBM POWER) IBM POWER (antecesor de la familia PowerPC con el Motorola 88000) Familia PowerPC, G3, G4, G5 NSC 320xx OpenRISC PA-RISC National Semiconductor SC/MP ("scamp") Signetics 2650 SPARC SuperH family Transmeta Crusoe, Transmeta Efficeon (arquitectura VLIW, con emulador de la IA32 de 32-bit Intel x86) INMOS Transputer x86

    

Intel 8086, 8088, 80186, 80188 (arquitectura x86 de 16-bit con sólo modo real) Intel 80286 (arquitectura x86 de 16-bit con modo real y modo protegido) IA-32 arquitectura x86 de 32-bits x86-64 arquitectura x86 de 64-bits Cambridge Consultants XAP

2.7.- Operación pasó a paso de un Microprocesador. Aunque a primera vista el tratamiento de un MP como un elemento de circuito pudiera aparecer como una tarea muy compleja, cuando se mira como un dispositivo que pasa por múltiples estados, se simplifica notablemente y su operación paso a paso puede describirse en términos más simples, como ilustramos a continuación mediante un ejemplo . Veamos cuál es la actividad que se requiere realizar para imprimir un carácter el cual ha sido previamente cargado en el acumulador. Asumimos que el periférico a considerar es una impresora: El software que necesitamos está almacenado en la memoria y consta de tres palabras de 8 bits (3 bytes) que contienen el código de la operación a imprimir seguido de dos bytes que definen la dirección de la impresora. Para imprimir el carácter, el MP transita por los nueve estados que se muestran en la figura: Si nosotros asumimos por conveniencia que la frecuencia impuesta por el reloj es de 1 MHz, nuestro circuito cambiará sus estados cada vez que transcurra 1 microsegundo. La acción que se realiza en cada estado se explica a continuación: Estado M1-T1. El contador de programa se conecta al bus de direcciones y coloca en éste la dirección de memoria en la cual está almacenado el primer byte. Simultáneamente un pulso de lectura es generado por la unidad de tiempo y control y enviado por el bus de control a la memoria, causando que el primer byte, o sea, el código de operación, pueda ser leído de la memoria. Estado M1-T2. Asumamos que la memoria toma menos que un microsegundo en responder. Esto significa que cuando nuestro circuito entra en este estado, el primer byte ya se encuentra en los terminales de salida de la memoria. Es por ello que en este estado el registro de instrucciones (RI) se conecta al bus de datos, produciéndose el enlace directo entre la memoria y este RI, el cual recibirá la señal de control que le indica que debe almacenar la información existente en la

memoria y que se le envía a través del bus de datos. Note que el bus de direcciones no está siendo usado en este estado. Estado M1-T3. En este estado el código de operación se decodifica. La salida del decodificador posibilitará la secuencia correcta de estados y las señales que debe generar la unidad de control para que la instrucción sea correctamente ejecutada. En nuestro caso ello implica transitar por los estados M2-T1, M2-T2, M3-T1, M3T2, M4-T1 y M4-T2. En este estado ni el bus de control ni el de datos han sido utilizados. Estado M2-T1. La acción realizada en este estado es idéntica a la del estado M1T1, con la excepción que el PC ha sido incrementado. Estado M2-T2. En este estado el DB se conecta al registro de direcciones y mediante un pulso correspondiente de control este graba el segundo byte en el lugar correspondiente (este es un registro de 16 bits). Estado M3-T1. La acción es semejante a los estados M1-T1 y M2-T2, con la excepción que el PC tiene la dirección del tercer byte. Estado M3-T2. Cuando el MP asume este estado, se obtiene el siguiente byte componente de la dirección, generándose por la unidad de control las señales apropiadas para grabar este byte en el lugar correspondiente del registro de direcciones. En el transcurso de esta secuencia de estados desde M1-T1 hasta M3-T2 hemos realizado el ciclo de búsqueda de la instrucción. En este punto dentro del MP se posee la información del código que define la operación, y la dirección de la impresora. Estado M4-T1. El registro de direcciones se conecta al AB por lo que la información que éste posee puede ser decodificada, generándose así la señal que permite identificar a que periférico se quiere acceder (en nuestro caso la impresora). Estado M4-T2. En este estado el acumulador se conecta al DB, y a través de éste y los interfaces correspondientes se envían la información a la impresora. Al mismo tiempo, el interface monitorea las señales de estado del MP en el bus de control, las cuales son usadas para generar las señales de control necesarias para activar la impresora y permitir así que el carácter en el acumulador se imprima

Una clasificación general de carácter básico que delimita algunos de los campos industriales de más interés y desarrollo de los sistemas basados en MP es la siguiente: 1-Industria en general.

2-Industria eléctrica y de electrodomésticos. 3-Instrumentación y medidas. 4-Terminales inteligentes. 5-Juegos y derivados.

3.- Microcontrolador Es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.

3.1.- ¿Para qué se utilizan los microprocesadores?

Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo general, tendrá la capacidad de mantenerse a la espera de un evento como pulsar un botón o de otra interrupción; así, el consumo de energía durante el estado de reposo (reloj de la CPU y los periféricos de la mayoría) puede ser sólo de nanovatios, lo que hace que muchos de ellos sean muy adecuados para aplicaciones con batería de larga duración. Otros microcontroladores pueden servir para roles de rendimiento crítico, donde sea necesario actuar más como un procesador digital de señal (DSP), con velocidades de reloj y consumo de energía más altos.

3.2.- Características Los microcontroladores están 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 DSP 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 módulos de entrada y salida (puertos) y la memoria para almacenamiento de información. 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, con lo 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 convertidor analógico 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.

Básicamente existen dos arquitecturas de computadoras, y por supuesto, están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita.

Arquitectura Von Neumann La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos, siendo la que se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de líneas de E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el procesador se monta en algún tipo de zócalo alojado en una placa madre. También esta organización les ahorra a los diseñadores de placas madre una buena cantidad de problemas y reduce el costo de este tipo de sistemas.

En un ordenador personal, cuando se carga un programa en memoria, a éste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales típicamente tenderemos los siguientes: código (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos físicos en el sistema (disco duro, memoria RAM, memoria flash, unidad de disco óptico...). En el caso de los microcontroladores, existen dos tipos de memoria bien definidas: memoria de datos (típicamente algún tipo de SRAM) y memoria de programas (ROM, PROM, EEPROM, flash u de otro tipo no volátil). En este caso la organización es distinta a las del ordenador personal, porque hay circuitos distintos para cada memoria y normalmente no se utilizan los registros de segmentos, sino que la memoria está segregada y el acceso a cada tipo de memoria depende de las instrucciones del procesador. A pesar de que en los sistemas integrados con arquitectura Von Neumann la memoria esté segregada, y existan diferencias con respecto a la definición tradicional de esta arquitectura; los buses para acceder a ambos tipos de memoria son los mismos, del procesador solamente salen el bus de datos, el de direcciones, y el de control. Como conclusión, la arquitectura no ha sido alterada, porque la forma en que se conecta la memoria al procesador sigue el mismo principio definido en la arquitectura básica. Algunas familias de microcontroladores como la Intel 8051 y la Z80 implementan este tipo de arquitectura, fundamentalmente porque era la utilizada cuando aparecieron los primeros microcontroladores.

Arquitectura Harvard La otra variante es la arquitectura Harvard, y por excelencia la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses segregados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.

La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. Típicamente los sistemas con esta arquitectura pueden ser dos veces más rápidos que sistemas similares con arquitectura Von Neumann. La desventaja está en que consume muchas líneas de E/S del procesador; por lo que en sistemas donde el procesador está ubicado en su propio encapsulado, solo se utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros sistemas integrados, donde usualmente la memoria de datos y programas comparten el mismo encapsulado que el procesador, este inconveniente deja de ser un problema serio y es por ello que encontramos la arquitectura Harvard en la mayoría de los microcontroladores. Por eso es importante recordar que un microcontrolador se puede configurar de diferentes maneras, siempre y cuando se respete el tamaño de memoria que este requiera para su correcto funcionamiento.

Registros Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.

Unidad de control Esta unidad es de las más importantes en el procesador, en ella recae la lógica necesaria para la decodificación y ejecución de las instrucciones, el control de los registros, la ALU, los buses y cuanta cosa más se quiera meter en el procesador.

Unidad aritmético-lógica Como los procesadores son circuitos que hacen básicamente operaciones lógicas y matemáticas, se le dedica a este proceso una unidad completa, con cierta independencia. Aquí es donde se realizan las sumas, restas, y operaciones lógicas típicas del álgebra de Boole.

Uses Son el medio de comunicación que utilizan los diferentes componentes del procesador para intercambiar información entre sí, eventualmente los buses o una parte de ellos estarán reflejados en los pines del encapsulado del procesador.

Conjunto de instrucciones Aunque no aparezca en el esquema, no podíamos dejar al conjunto o repertorio de instrucciones fuera de esta fiesta, porque este elemento determina lo que puede hacer el procesador. Define las operaciones básicas que puede realizar el procesador, que conjugadas y organizadas forman lo que conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento básico del lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y cuanto programa se le ocurra.

Memoria En los microcontroladores la memoria no es abundante, aquí no encontrará Gigabytes de memoria como en las computadoras personales. Típicamente la memoria de programas no excederá de 16 K-localizaciones de memoria no volátil (flash o eprom) para contener los programas.

Máscara ROM. En este caso no se “graba” el programa en memoria sino que el microcontrolador se fabrica con el programa, es un proceso similar al de producción de los CD comerciales mediante masterización. El costo inicial de producir un circuito de este tipo es alto, porque el diseño y producción de la máscara es un proceso costoso, sin embargo, cuando se necesitan varios miles o incluso cientos de miles de microcontroladores para una aplicación determinada, como por ejemplo, algún electrodoméstico, el costo inicial de producción de la máscara y el de fabricación del circuito se distribuye entre todos los circuitos de la serie y, el costo final de ésta, es bastante menor que el de sus semejantes con otro tipo de memoria. Memoria PROM (Programmable Read-Only Memory) también conocida como OTP (One Time Programmable). Este tipo de memoria, también es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeñas, donde la variante de máscara sea muy costosa, también para sistemas que requieren serialización de datos, almacenados como constantes en la memoria de programas. Memoria EPROM (Erasable Programmable Read Only Memory). Los microcontroladores con este tipo de memoria son muy fáciles de identificar porque su encapsulado es de cerámica y llevan encima una ventanita de vidrio desde la cual puede verse la oblea de silicio del microcontrolador. Se fabrican así porque la memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla a una fuente de luz ultravioleta, el proceso de grabación es similar al empleado para las memorias OTP. Al aparecer tecnologías menos costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de memoria han caído en desuso, se utilizaban en sistemas que requieren actualizaciones del programa y para los procesos de desarrollo y puesta a punto. EEPROM (Electrical Erasable Programmable Read Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla de cristal de cuarzo y los encapsulados cerámicos no son necesarios.

Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de memoria se hicieron más baratos y cómodos para trabajar que sus equivalentes con memoria EPROM. Otra característica destacable de este tipo de microcontrolador es que fue en ellos donde comenzaron a utilizarse los sistemas de programación en el sistema que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa. Memoria flash. En el campo de las memorias reprogramables para microcontroladores, son el último avance tecnológico en uso a gran escala, y han sustituido a los microcontroladores con memoria EEPROM. A las ventajas de las memorias flash se le adicionan su gran densidad respecto a sus predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo muy bajo. Pueden además ser programadas con las mismas tensiones de alimentación del microcontrolador, el acceso en lectura y la velocidad de programación es superior, disminución de los costos de producción, entre otras.

4.- Implementación de programas básicos Como el proceso de escribir un código ejecutable era considerablemente arduo, en consecuencia fue creado el primer lenguaje de programación denominado ensamblador (ASM). Siguiendo la sintaxis básica del ensamblador, era más fácil escribir y comprender el código. Las instrucciones en ensamblador consisten en las abreviaturas con significado y a cada instrucción corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a código máquina (código binario). Este programa compila instrucción a instrucción sin optimización. Como permite controlar en detalle todos los procesos puestos en marcha dentro del chip, este lenguaje de programación todavía sigue siendo popular.

4.1.- Ventajas de lenguajes de programación de alto nivel

A pesar de todos los lados buenos, el lenguaje ensamblador tiene algunas desventajas:   

Incluso una sola operación en el programa escrito en ensamblador consiste en muchas instrucciones, haciéndolo muy largo y difícil de manejar. Cada tipo de microcontrolador tiene su propio conjunto de instrucciones que un programador tiene que conocer para escribir un programa Un programador tiene que conocer el hardware del microcontrolador para escribir un programa

4.2.- Lenguaje C El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.). Las características de C pueden ser muy útiles al programar los microcontroladores. Además, C está estandarizado (el estándar ANSI), es muy portable, así que el mismo código se puede utilizar muchas veces en diferentes proyectos. Lo que lo hace accesible para cualquiera que conozca este lenguaje sin reparar en el propósito de uso del microcontrolador. C es un lenguaje compilado, lo que significa que los archivos fuentes que contienen el código C se traducen a lenguaje máquina por el compilador. Todas estas características hicieron al C uno de los lenguajes de programación más populares.

5. Conclusión Los temas descritos anteriormente nos ayudan a desarrollar una mejor visión de microprocesadores y su arquitectura de computadoras desde el punto de vista económico o cuantitativo, desde el punto de rendimiento-costo; ya que ejecutan instrucciones programadas en lenguaje de bajo nivel, realizando operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las lógicas binarias y accesos a memoria. A mi parecer, no deja de ser importante aprender las bases principales del diseño de microprocesadores ya que ello llevará a una mejor comprensión de los lenguajes de programación, segmentación, computadoras de procesadores paralelos, microcontroladores, etc. Además, poder diseñar un microprocesador sencillo como el que se desarrolla en este documento, nos conduce a conocer y comprender uno de los secretos de la electrónica más enigmáticos.

Resumiendo, el campo de microcontroladores ha evolucionado desde su origen junto con las computadoras y otros aparatos electrónicos. Este tema se relaciona con las áreas de Nanotecnología, Robótica, Electrónica, Física, Informática y Computación, teniendo como objetivo llevar a cabo procesos lógicos o acciones programadas en lenguaje ensamblador por un usuario o programador. Cuenta con tres diferentes tipos los cuales se clasifican por bits, por arquitectura y finalmente por software. Los microcontroladores cuentan con una gran variedad de aplicaciones, las mayores aplicaciones se encuentran reflejadas en el campo de la industria automotriz y en segundo lugar se puede ver el campo de la arquitectura y funcionamiento del termostato digital. La prospectiva de este tema indica que este tema seguirá evolucionando de manera progresiva a través de los años y con las mejoras que vengan en el campo de dispositivos como lo son los microcontroladores, ya que estos ayudan a terminar procesos mucho más rápidamente. Por lo cual, e campo de microcontroladores es un campo de estudio importante en el estudio para las futuras generaciones debido a que siempre existirá la necesidad de que aparatos electrónicos funcionen cada vez más rápido y que su tecnología en microchips sea cada vez de tamaño más reducido sin disminuir la velocidad. Además que con la ayuda de todos los lenguajes de programación nos podemos ayudar a realizar con una sola acción, vario cientos de procesos, por lo cual es indispensable para la electrónica el desarrollo de estos procesos.

6. Bibliografía 1. ELECTRÓNICA: TEORÍA DE CIRCUITOS. Sexta Edición. Robert L. Boylestad Louis Nashelsky

2. Señales y Sistemas | 2da Edición | Simón S. Haykin, Barry Van Veen

3. Electrónica de potencia: Circuitos, dispositivos y aplicaciones. Muhammad

Rashid. Tercera Edición. Editorial: Pearson Prentice Hall

4. Organización y arquitectura de computadoras. William Stallings. Ed.

Prentice Hall.