Vous êtes sur la page 1sur 13

SISTEMAS MICROPROCESADOS

MEMORIAS E INTRODUCCION A MICROPROCESADORES

Ivn Yerovi

Grupo: GR3 Profesor: Ing. Jorge Rosero


Fecha de entrega: 2013-01-27

Semestre 01-2013

HISTORIA DE LA COMPUTACIN Inicialmente los primeros computadores fueron destinados a realizar simples operaciones aritmticas mediante el uso de tcnicas mecnicas y diseos bastante simples que no requeran de energa elctrica. Las ideas para la fabricacin de calculadoras que realizan cierto tipo de operacin eran bastante creativas e interesantes, sin embargo su poca versatilidad y el gran espacio q estas usaban no era de gran comodidad para el usuario. Estas ideas incluan desde la utilizacin de engranajes hasta la implementacin de tarjetas perforadas (tal como la q usa las cajas musicales para reproducir su armona almacenada), dispuestas de cierta forma, tal que podan realizar las operaciones requeridas. El primer elemento de memoria propiamente electrnico fue inventado en el ao 1919 gracias a los inventores WH Eccles y FW Jordan. Se le denomin flip-flop, circuito multivibrador o biestable debido a que puede presentar 2 estados binarios diferentes (1,0) dependiendo del anterior estado que haya tenido. Posteriormente, debido a la necesidad del ejrcito alemn de tener una maquina automtica que calcule las orientaciones predeterminadas que los aviones de combate deberan tomar, adems de que requeran que estas sean almacenadas, el ingeniero Konrad Zuse dise el prototipo llamado Z1 en honor a su apellido. La Z1 contena casi todas las partes de una computadora moderna, es decir: unidad de control, memoria, lgica micro-programada, unidad aritmtica en punto flotante (la unidad de lgica booleana no se realiz) y dispositivos de entrada-salida. Era programable parcialmente mediante un programa en cinta perforada y un lector de cinta perforada. Tena una memoria de 64 palabras en punto flotante, en la que cada palabra de la memoria se poda leer y escribir por la unidad de control. La mquina era slo capaz de ejecutar instrucciones que lea del lector de cinta perforada, por lo que el programa en s no se ha cargado en su totalidad en la memoria interna de antemano. Lastimosamente, esta computadora automtica nunca llego a servir correctamente debido a la falta de perfeccionamiento en sus componentes mecnicos. Sin embargo, Zuse decidi mantenerse en pie firme y logr inventar la primera mquina electrnica programable y completamente automtica, la llamaron Z3. Utiliz para su diseo alrededor de 2300 rels y tena las mismas funciones para las cuales se habra tratado de disear su predecesora la Z1. Lamentablemente, sus planos y mayora de copias fueron destruidos durante la Segunda Mundial. Sin embargo, su sucesora, la Z4, que realizaba las mismas y otras ms complicadas operaciones matemticas fue un xito comercial situndose como la primera computadora que llegara a venderse a escala mundial. A partir de ese momento se multiplicaron los esfuerzos por crear computadores ms eficientes y duraderos, empezando con la ENIAC en 1946, la cual es considerada la primera computadora programable de propsito general llegando a ejecutar ms de 5000 operaciones aritmticas por segundo. Aun as, todava usaba elementos mecnicos, tal como rels y tubos de vaco que hacan que esta ocupe un espacio tan grande como una habitacin entera. Los tubos de vaco servan como memoria, debido a su ncleo magntico que permite guardar una carga y por ende informacin que puede cambiar de acuerdo al circuito que se implemente. En 1947, se dio la invencin del transistor, producto del trabajo de los laboratoristas de la empresa Bell: John Bardeen, Walter H. Brattain y William Shockley. Esta fue la segunda generacin de computadores que se caracteriz por la invencin del primer lenguaje de programacin de alto nivel llamado FORTRAN, de lo cual la empresa IBM sacara una enorme ventaja sobre sus competidoras. En esta poca es cuando se descubren las propiedades de almacenamiento de informacin de los elementos semiconductores, lo cual significara un cambio de total de la tecnologa de tubos de vaco y los ncleos magnticos a una ms confiable proporcionada por los transistores. Sin embargo el reinado de esta generacin de computadores no durara mucho, ya que gracias a la invencin del circuito integrado o microchip por parte de Jack S. Kilby, empezara en 1964 la tercera generacin de computadores que usaran estos dispositivos nicamente. El nivel de integracin de los circuitos utilizados por las diferentes empresas que tuvieron xito en esta generacin era mediano y permiti que se construyan computadores mucho ms pequeos a los q solo usaban transistores y ms an que los que usaban tubos de vaco. El 15 de noviembre de 1971, el mundo informtico dara un salto gigantesco que perdurara hasta el da de hoy, gracias a la invencin del microprocesador 4004 por parte de la empresa Intel. Dentro de este dispositivo se colocaron todas las unidades necesarias para la estructuracin de un CPU, entre ellas: el ALU (Arithmetical Logic Unit), el control Unit, el Register Bank, etc. Este microprocesador se caracterizaba por su memoria de 16 registros con 4 bits de almacenamiento cada uno, lo cual permita guardar una cantidad grandsima de informacin instantnea pudiendo ejecutar millones de instrucciones por segundo. De ah que posteriormente se crearon modelos de procesadores mucho ms pequeos y ms avanzados hasta llegar a los microprocesadores utilizados hoy en da en computadores personales que llegan a los 256 bits de operacin, que logran ejecutar miles de millones de instrucciones por segundo. Por su parte las memorias han sufrido tambin cambios importantes, que van desde la utilizacin de tarjetas perforadas, cintas magnticas y tubos de vaco hasta la utilizacin de microchips y memorias de ncleo magntico muy comunes en estos das. La RAM o memoria de acceso aleatorio, es clave en el funcionamiento de cualquier computador, ya que ah es donde se cargan todas las instrucciones que el procesador ejecuta sin necesidad de obtener tal informacin mediante un orden predeterminado hacindola de fcil y rpido acceso. El diseo de esta memoria ha evolucionado desde la utilizacin de ncleos magnticos que requeran que cada bit estuviera almacenado en un toroide de material ferromagntico de algunos milmetros de dimetro (lo que resultaba en dispositivos con

una capacidad de memoria muy pequea) hasta la utilizacin de microchips semiconductores cuyo funcionamiento es ms eficiente, rpido y de fcil miniaturizacin. Este desarrollo tambin se puede aplicar a las memorias ROM que se encargan de las operaciones de control de arranque y funcionamiento correcto de los circuitos electrnicos. Para las memorias de almacenamiento de informacin que no tienen que ver con el sistema operativo se han creado mltiples opciones. La ms usada para el almacenamiento masivo de soporte es el disco duro magntico que todava sigue siendo instalado en los computadores modernos. Para la extraccin y portabilidad de informacin existen diferentes dispositivos que van desde las memorias de disco ptico, cinta magntica y flash, de los cuales el ultimo es el sistema de almacenamiento de informacin que ms ha sobresalido en el tiempo moderno. MEMORIAS Son elementos que permiten el almacenamiento de informacin para un posterior procesamiento mediante el uso de un computador. Las unidades de memoria como sistema estn diseadas a partir de celdas de memoria que a su vez solo pueden almacenar mximo un bit (0,1). Ejemplo: flip-flop, capacitor cargado, un canal de cinta o disco magntico. Las instrucciones que se forman a partir de la informacin almacenada en las memorias se denominan palabras de memoria, el nmero de instrucciones o palabras depende de la capacidad de almacenamiento instantneo del computador dado en bits. Existen varios tipos de clasificar a las memorias, entre ellas: 1) Segn su localizacin y conexin al computador Memoria interna: es la que guarda la informacin de las diferentes instrucciones y procesos que el computador debe realizar para su correcto funcionamiento, esta se comunica directamente con el CPU mediante los buses de direccin y control. Memoria externa o auxiliar: tambin denominada de almacenamiento masivo porque es usada para almacenar grandes cantidades de informacin sin necesidad de corriente elctrica. La informacin que estos dispositivos almacenan se transmite a travs del bus de datos externo para posteriormente ser procesada dependiendo de que si el usuario la requiera o no. Proceso de escritura de informacin - La CPU proporciona la direccin binaria de la localidad de memoria donde va a almacenarse el dato mediante el bus de direccin. - La CPU genera las seales de comando apropiadas para la operacin de escritura. - Los circuitos integrados decodifican la direccin para determinar la localidad seleccionada para la escritura. - El dato se almacena en la localidad seleccionada. Proceso de lectura de informacin - La CPU proporciona la localidad de memoria donde se encuentra el dato que se va a leer a travs del bus de direccin. - La CPU activa las seales de comando adecuadas para la operacin de lectura. - Los circuitos integrados que forman la memoria decodifican la direccin para determinar la localidad seleccionada para efectuar la lectura. - Los circuitos integrados que forman la memoria colocan el contenido de la localidad seleccionada en el bus de datos de donde se transfiere al CPU. 2) Segn su funcionamiento

Memorias voltiles: requieren alimentacin de energa constantemente para mantener la informacin almacenada. Suele ser usada en memorias primarias o internas para el correcto funcionamiento del ordenador. Al ser semiconductoras pierden la informacin al apagar el equipo. Memorias no voltiles: retiene la informacin aun cuando haya sido desconectada la luz elctrica. Su uso es para almacenamiento a largo plazo y se usa en memorias secundarias, terciarias y fuera de lnea o externas. 3) Segn su propsito Memorias de acceso secuencial (SAM) En este tipo de memorias el tiempo que se demora en acceder a la informacin almacenada no es constante sino depende de la localidad y direccin que posea el dato, ya que estas memorias estn dispuestas de tal forma que las palabras se escriben y se leen de forma secuencial es decir una tras de otra. Ejemplos: disco magntico, cinta magntica, disco compacto. Memoria de Lectura y Escritura (RWM) Este tipo de memoria permite leer y escribir informacin con mucha facilidad y sin ningn tipo de restriccin estructural. Memoria Cach Es la memoria de visitas que contiene las pginas de internet recientemente visitadas por el usuario. De esta forma si es que el usuario requiere entrar a estas pginas sin utilizar la conexin de Internet lo podr hacer a travs de la comparticin de disco duro que esta memoria posee y con una velocidad ms rpida ya que la pgina no se cargar mediante la conexin a Internet sino a partir del bus de datos del disco duro. Memoria de slo lectura (ROM) Esta memoria solo puede ser escrita una vez y eso sucede en el momento que se realiza su fabricacin. Por lo tanto la informacin solo puede leerse de la memoria. Es una memoria no voltil, lo cual quiere decir que mantiene sus datos aun cuando el ordenador se encuentra apagado. Su diagrama de bloques es el siguiente: Esta ROM almacena 16 palabras de 8 bits cada una, ya que tiene 2^4=16 direcciones de entrada posibles, por lo que se denomina una ROM DE 16x8. CS habilita o deshabilita las salidas de la ROM. Para leer la informacin de la ROM se debe aplicar las entradas de direccin adecuada y luego activar CS. Las ROMS se caracterizan por presentar un retraso entre la aplicacin de las entradas y la aparicin de las salidas de datos durante la operacin de lectura, a esto se le llama tiempo de acceso que es una medida de la velocidad de operacin de la ROM. Este factor esta dado desde el momento en que se ha dado la especificacin de cambiar una direccin por otra hasta que se hayan decodificado completamente y se haya seleccionado el registro que llevara los datos a los bferes de salida. Depende de la circuitera interna de la ROM y va desde los 30 a los 90 nanosegundos. Existen varios tipos de memorias ROM, entre ellas las siguientes: - ROM programadas por mascarilla (MROM) Tiene sus localidades de almacenamiento escritas o programadas por el fabricante segn lo que el cliente requiera. La mascarilla es un negativo fotogrfico que sirve para controlar las conexiones elctricas en el circuito. Al ser mascarillas costosas se usan ms cuando se necesita una cantidad considerable de ROMs idnticamente programadas. Dependiendo que la capacidad de memoria y las aplicacin que se requiera, las estructuras de las diferentes ROMS pueden utilizar tanto BJTs como FETS. Estos se encuentran conectados en configuracin colector abierto y se predisponen de manera que forman registros. Generalmente las ROMS creadas a partir de MOSFETS son ms rpidas y disipan por lo tanto menor potencia. - ROM programables (PROM)

Es una ROM utilizada para aplicaciones de bajo volumen. Utiliza conexiones fusibles, que pueden funcionar como cortocircuitos o circuitos abiertos segn como se requiera activar o desactivar un registro de memoria o celda. La programacin se realiza mediante un aparato que aplica grandes voltajes a los terminales del fusible que se quiera quemar y poner en cero, analizando en primera instancia cuales son las direcciones que se desea mantener en uno. Los datos no cambiaran ya que nada causara que el fusible abierto y fundido se cierre de nuevo, esto implica que la memoria solo puede ser programada una primera y nica vez. -ROM programable y borrable (EPROM) Es una ROM que puede ser programada y borrada por el usuario tantas veces como se requiera. Es una memoria no voltil que mantiene sus datos de forma indefinida. El proceso de programacin se realiza mediante un aparato que aplica niveles de voltaje especiales a las entradas adecuadas del circuito segn la direccin que se especifique durante un tiempo determinado. Los voltajes son aplicados de forma que cierran o abren los MOSFET que funcionan como celdas de almacenamiento que tienen una compuerta flotante y normalmente se encuentra apagado y el transistor guarda un 1 lgico. Al aplicar el voltaje se enciende el transistor de manera permanente haciendo que la celda de memoria guarde un cero lgico. Para el borrado de la informacin presente en la EPROM se debe exponer la ventana presente sobre el encapsulado del circuito a los rayos ultravioleta del sol durante 15 a 20 minutos. La luz UV produce una fotocorriente que va desde la compuerta flotante hacia el sustrato de silicio apagando el MOSFET. Un tipo de memoria EPROM es conocido como memoria FLASH. -ROM elctricamente borrable (EEPROM) Esta ROM mantiene la misma estructura de compuerta flotante que la EPROM posee, pero incluye una regin muy delgada encima del electrodo de drenaje del MOSFET, con lo cual al aplicar un alto voltaje (21 V) entre la compuerta y el drenaje del MOSFET se puede inducir una carga en la compuerta flotante donde permanecer aun cuando se interrumpa la corriente. Para el borrado de las cargas se deben invertir algunos voltajes con lo cual se borra la celda de memoria. Debido a que estas corrientes son bajas, el borrado y programacin se puede hacer en el propio circuito sin necesidad de soportes externos. Sus ventajas son: la rapidez (5 ms comparado con los 50 ms de las EPROM), los datos se borran por completo automticamente antes de empezar la escritura, tienen integrado un soporte para amplificar el voltaje de alimentacin (5V) hasta llegar al voltaje de programacin (21V). La nica desventaja es el costo, debido al diseo complejo de sus celdas de memoria que causa que se requiera utilizar ms Silicio en busca del aumento de la capacidad para llegar a generar lo mismo que una EPROM tendra con la mitad de Silicio. -Memorias instantneas Tiene la misma estructura que la EPROM, con la diferencia de que sus transistores son un poco ms grandes. Tiene una capa ms delgada de xido en la compuerta que permite borrar por electricidad, por lo cual se puede construir con densidades ms grandes que las EEPROMS. Se llama tambin de rfaga porque tienen muy cortos tiempos para borrar y escribir llegando a alcanzar tiempos de milisegundos en comparacin con los 20 minutos de la EPROM, tambin poseen una opcin de borrado por sectores a seleccin del usuario. Aplicaciones de la ROM -Firmware: almacenamiento de datos y cdigos que deben estar disponibles al conectar la corriente elctrica para alimentar al microprocesador. Estos cdigos no permiten cambios durante el funcionamiento del sistema. La mayora de PC de escritorio almacenan la los programas del sistema operativo y los interpretes de lenguaje. -Memoria de arranque: guarda las instrucciones de arranque y acoplamiento de circuitera del hardware que se ejecuta al momento de encender el operador. - Tablas de datos: tal como conversiones numricas y tablas trigonomtricas. - Convertidor de datos: toma datos expresados en un cdigo en cierto tipo de cdigo y produce una salida en otro tipo de cdigo. -Generador de funciones: produce formas de onda tales como ondas seno, dientes de sierra triangulares y cuadradas. - Almacenamiento auxiliar: se puede utilizar una ROM en vez de un disco magntico para almacenar datos que requieran bajas capacidades.

Memorias de acceso aleatorio (RAM) Estas memorias son de acceso aleatorio, lo cual quiere decir que se puede tener acceso fcilmente a cualquier localidad de direccin de memoria. Se emplea en computadores como almacenamiento temporal para programas y datos, lo cual requiere que la RAM tenga ciclos de lectura y escritura rpidos. La desventaja de estas memorias es que son voltiles, por lo cual se pierde toda la informacin cada vez que se apaga la alimentacin. La ventaja principal es que se puede leer y escribir en ella con gran facilidad y rapidez. Existen 2 tipos de memorias RAM: -RAM esttica (SRAM) Las celdas de memoria RAM esttica son esencialmente flip-flops que permanecern en un estado determinado indefinidamente, siempre y cuando no se corte el suministro de energa. Estn disponibles en tecnologas bipolares (alta velocidad) y MOS (capacidad mayor). -RAM dinmica (DRAM) Estas se fabrican con tecnologa MOS y se caracteriza por su gran capacidad de almacenamiento, bajos requerimientos de consumo de potencia y velocidad de operacin media. Estas guardan los unos y ceros como cargas sobre pequeos capacitores MOS. Dada la tendencia que tienen estas cargas a fugarse, estas memorias requieren de la recarga de las celdas de memoria (refresco) mediante un dispositivo externo. Al tener una estructura de celda ms sencilla las DRAM tienen 4 veces la densidad de las SRAM, lo cual permite colocar hasta 4 veces ms capacidad de memoria en circuito impreso. MICROPROCESADORES Introduccin Los microprocesadores se encuentran en la cima del diseo de sistemas digitales ya que sus escalas de integracin son las ms grandes, as como sus aplicaciones que pueden ser infinitas de acuerdo a la programacin de estos. Especficamente se encuentran en los siguientes sistemas de integracin: VLSI (Very Large Scale Integration): sobrepasan el equivalente de los 10000 a 100000 compuertas bsicas. Se debe tomar en cuenta el nmero de instrucciones y el nmero de circuitos de soporte controlado por un programa externo. ULSI (Ultra Large Scale Integration): sobrepasan el equivalente de los 10000 a 1000000 compuertas bsicas. Se debe tomar en cuenta el nmero de instrucciones y el nmero de circuitos de soporte controlado por un programa externo. GLSI (Giga Large Scale Integration): sobrepasan el equivalente de las 1000000 compuertas bsicas. Viene incluida la memoria de programa (Flash), memorias de datos (SRAM), puertos de salida y entrada (I/O), convertidores A/D. Existen varios tipos de micro-controladores, entre ellos: ASIC: es un circuito integrado para Aplicaciones especficas est hecho a la medida para un solo uso en particular. A travs de los aos ha pasado de contener desde 5000 compuertas lgicas a ms de 100 millones. Ejemplos de este son los microprocesadores de 32 bits, bloques de memoria RAM, ROM, EEPROM y Flash. FPGA: es un dispositivo semiconductor que contiene bloques de lgica cuya interconexin y funcionalidad puede ser configurada in situ mediante un lenguaje de programacin especializado. Se utilizan en aplicaciones en aplicaciones similares a los ASICS sin embargo son ms lentas, consumen ms potencia y no pueden abarcar sistemas tan complejos. Sin embargo tienen la ventaja de ser reprogramables y sus costos de desarrollo y adquisicin son menores. El micro-controlador: posee todos los componentes que se requieren para un sistema de proceso en un solo circuito integrado, incluyendo: CPU, RAM (memoria de datos), ROM /PROM /EEPROM /FLASH (memoria de programa). Puertos I/O, Comunicacin serial y paralela, Temporizadores /Contadores, Sistema de Interrupciones, Convertidores A /D y ms funciones tiles para la Ingeniera en general.

Ventajas del uso de procesadores - Reduccin del costo de implementacin del sistema debido al menor nmero de circuitos integrados, del tiempo de implementacin gracias a la facilidad de evaluacin y desarrollo del sistema. - Incremento en la flexibilidad del diseo, pues las modificaciones del sistema pueden realizarse con solo reemplazar el programa almacenado; incremento de la confiabilidad en virtud de la reduccin de nmero de puntos de conexin entre integrados. Aplicaciones de los procesadores: pueden ser muchas y variadas, entre ellas: -Robtica: sin importar de su aplicacin, todo robot puede ser diseado para ser controlado a partir de microprocesadores, cada uno de los cuales tiene un diferente sector de accin, ejemplo: movilidad, sensibilidad, sonido, etc. -Perifricos de computadores: tales como los que controlan el flujo de papel y otras opciones en una impresora. -Cromatografa: para detectar gases u otro tipos de sustancias en una mezcla, compuesto entre otras. -Seguridad laboral: para controlar las estaciones de trabajo que puedan presentar un riesgo potencial para el trabajador. -Aeronutica: para controlar la velocidad, puntos de aterrizaje, coordenadas, peso, etc. en un avin o nave espacial. -Automviles: para controlar el sistema de frenado (ABS), velocidad, parqueo, flujo de combustible o sustancias elementales para el correcto funcionamiento del auto, entretenimiento y confort (reproductor de msica, aire acondicionado, etc.) -PC: para controlar las unidades de procesamiento y perifricos, dependiendo del uso que se le quiera dar al computador -Electrodomsticos: para controlar la temperatura de un refrigerador, canales de TV, tiempo de coccin en un microondas, reproduccin de un DVD, volumen de un reproductor musical, conexin a Internet, etc. Historia del microprocesador - El primer microprocesador fue el Intel 4004, producido en 1971. Se desarroll originalmente para una calculadora y result revolucionario para su poca. Contena 2.300 transistores, era un microprocesador de arquitectura de 4 bits que poda realizar hasta 60.000 operaciones por segundo trabajando a una frecuencia de reloj de alrededor de 700KHz. - El primer microprocesador de 8 bits fue el Intel 8008, desarrollado a mediados de 1972 para su uso en terminales informticos. El Intel 8008 integraba 3300 transistores y poda procesar a frecuencias mximas de 800Khz. - El primer microprocesador de 16 bits fue el 8086. Fue el inicio y el primer miembro de la popular arquitectura x86, actualmente usada en la mayora de los computadores. El chip 8086 fue introducido al mercado en el verano de 1978, pero debido a que no haba aplicaciones en el mercado que funcionaran con 16 bits, Intel sac al mercado el 8088, que fue lanzado en 1979. Llegaron a operar a frecuencias mayores de 4Mhz. - Uno de los primeros procesadores de arquitectura de 32 bits fue el 80386 de Intel, fabricado a mediados y fines de la dcada de 1980; en sus diferentes versiones lleg a trabajar a frecuencias del orden de los 40Mhz. - El microprocesador DEC Alpha se lanz al mercado en 1992, corriendo a 200 MHz en su primera versin, en tanto que el Intel Pentium surgi en 1993 con una frecuencia de trabajo de 66Mhz. El procesador Alpha, de tecnologa RISC y arquitectura de 64 bits, marc un hito, declarndose como el ms rpido del mundo, en su poca. Lleg a 1Ghz de frecuencia hacia el ao 2001. Irnicamente, a mediados del 2003, cuando se pensaba quitarlo de circulacin, el Alpha aun encabezaba la lista de los microprocesadores ms rpidos de Estados Unidos. - Los microprocesadores modernos tienen una capacidad y velocidad mucho mayores, trabajan en arquitecturas de 64 bits, integran ms de 700 millones de transistores, como es en el caso de las serie Core i7, y pueden operar a frecuencias normales algo superiores a los 3GHz (3000MHz). Marcas de microprocesadores Ya que existe una gran variedad de compaas, aqu se nombran solo algunas: AMD, INTEL, FACHON, POWERPC, CYRIX, FAIRCHILD, TEXAS, IBM, NEXGEN, MOTOROLA, ATMEL. Hoy en da los que ms se conocen son los AMD e INTEL ya que son los que ms pelean dan en el mercado en cuanto a calidad y rendimiento.

Arquitectura del microprocesador El microprocesador es como la computadora digital porque ambos realizan clculos bajo un programa de control. El microprocesador utiliza el mismo tipo de lgica que es usado en la unidad procesadora central (CPU) de una computadora digital. El microprocesador es algunas veces llamado unidad microprocesadora (MPU). 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 oxidacin por el aire) y permitir el enlace con los conectores externos que lo acoplaran a su zcalo a su placa base. - Memoria cach: es una memoria ultrarrpida que emplea el procesador para tener alcance directo a ciertos datos que predeciblemente sern utilizados en las siguientes operaciones, sin tener que acudir a la memoria RAM, reduciendo as el tiempo de espera para adquisicin de datos. Coprocesador matemtico: unidad de coma flotante. Es la parte del micro especializada en esa clase de clculos matemticos, antiguamente estaba en el exterior del procesador en otro chip. Esta parte est considerada como una parte lgica junto con los registros, la unidad de control, memoria y bus de datos. Registros: son bsicamente un tipo de memoria pequea 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 diseado para control del programador y hay otros que no son diseados 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 estn almacenados en memoria, y el procesador las accede desde all. La memoria es una parte interna de la computadora y su funcin 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 anlogo a una lnea de telfono. Cualquier parte de la circuitera de la computadora con la cual el procesador necesita comunicarse, tiene asignado un nmero de puerto que el procesador utiliza como si fuera un nmero de telfono para llamar circuitos o a partes especiales. Tipos de diseo de microprocesadores CISC (Complex Instruction Set Computer-Computador con Set de Instrucciones Complejo) Es el diseo ms usado para microprocesadores, cuyo conjunto de instrucciones es de ms de 80, las cuales son muy oponentes y de mltiples aplicaciones mientras otras realizan una tarea concreta. Algunas instrucciones acceden a ciertos espacios de direccin y otras no. La ventaja principal es que algunas instrucciones son cuasi-marcos ya que son tan potentes que equivalen a muchas instrucciones simples. RISC (Reduced Instruction Set Computer-Computador con Set de Instrucciones Reducido) Es el diseo que ha estado marcando la tendencia de diseo los ltimos aos y viene con la necesidad de reducir el tamao del juego de instrucciones y el tamao del chip. Dado a que las conexiones internas dentro del chip son ms simples la compilacin es ms sencilla y rpida, lo cual tambin permite aumentar la frecuencia del reloj. Adems consume una potencia menor. El juego de instrucciones es ortogonal o simtrico, lo cual simplifica el proceso de programacin, puesto que cada instruccin puede operar con cualquier registro y usar cualquier modo de direccin, las instrucciones no tienen combinaciones especiales, excepciones ni restricciones.

FUNCIONAMIENTO DE UN MICROPROCESADOR Bsicamente puede ser considerado un CPU como el de la figura. Tiene un diseo Von Neumann (un solo bus de instrucciones y datos, instrucciones y memoria comn). Sus partes esenciales son: ALU: realiza las operaciones aritmticas o lgicas. Tiene 2 entradas: Acumulador (Rd) y Registro de datos (Rr) Registro de direccin: guarda la direccin de la localidad de la memoria o dispositivo que se ejecuta en ese instante. Contador de programa (PC): controla la secuencia en la que se ejecutan las instrucciones del programa. Decodificador de instruccin: despus de que se obtiene el cdigo de una instruccin y se lo pone en el registro de instruccin, el decodificador lo examina y decide la operacin a ejecutarse. Controlador secuenciador: genera una gran variedad de seales de control para ejecutar una instruccin, adems de las seales de control y sincronismo requeridos por los otros componentes del sistema. Registro de banderas: su funcin es considerar las situaciones excepcionales que se producen en el interior del CPU. Las instrucciones condicionales pueden generar saltos en la ejecucin del programa en funcin del valor de alguno de estos bits. CARGA Y EJECUCION DE UNA INSTRUCCIN La operacin est dividida en 3 fases: 1) Se realiza la fase de carga donde el procesador toma una instruccin desde la memoria de programa 2) Se decodifica la instruccin 3) Se pasa a la fase de ejecucin donde el procesador realiza la operacin indicada por la instruccin Hay que indicar que para resolver cualquier tipo de problema se debe indicar las instrucciones con el ms mnimo detalle, tener listos los conjuntos de instrucciones que se van a utilizar (presentes en las especificaciones de cada procesador) y memorizar su abreviacin o mnemnico. En ciertos microcomputadores bsicos no se permite el uso mnemnicos y por lo tanto toca usar el cdigo opcode o binario de cada instruccin, a este proceso se lo denomina ensamblaje manual. Ejecucin de un programa Antes de ejecutar el programa se debe verificar que est almacenado en la memoria. Una vez comprobado esto se procede a iniciar el PC con la direccin de la primera instruccin. Para cargar la 1ra instruccin, primero se debe transferir el contenido del PC al registro de direccin. Una vez que se haya hecho esto el contador del programa se incrementa en 1 (no altera el contenido). Luego el contenido del registro de direccin pasa al bus de direccin, el circuito de memoria decodifica la direccin y selecciona la localidad de memoria, esta memoria almacenara el opcode que ser decodificado e informar al controlador-secuenciador sobre el cdigo ingresado lo cual har que se generen los pulsos de control necesarios para llevar a cabo la instruccin. Posteriormente para el ingreso del segundo cdigo se transfiere la direccin del siguiente byte desde el PC al registro de direccin incrementando el registro de direccin en un bit. Por ltimo se carga y se ejecuta la instruccin HALT, que interrumpe completamente la CPU, utilizando el mismo procedimiento descrito anteriormente

Todo este proceso es realizado gracias a la utilizacin de un programa monitor que es el que se encarga de comandar estas operaciones y aun otras ms complejas como el ingreso de datos desde el teclado. El programa monitor es un conjunto de subprogramas que permite efectuar las comunicaciones bsicas entre el usuario y el computador. Ensambladores y lenguajes de ensamblaje Los programas ms usados para programar microprocesadores son los siguientes: ProgISP, AVRStudio, Bascom, Flat assembler-A86-A386 (Intel), Microsoft Macro Assembler, RosASM, Turbo Assembler (IBM), GNU Assembler. Los lenguajes de programacin ms usados son los siguientes: Lenguaje C, Lenguaje Visual Basic, Lenguaje Assembler (ensamblador). A continuacin se nombran algunas ventajas y desventajas de cada uno de estos 3 lenguajes de programacin: BASIC Es un lenguaje muy simple y con instrucciones fcilmente legibles, incluso por no expertos. C Es un lenguaje de alto nivel ms cercano a la mquina. Puedes construir fcilmente. rutinas matemticas Con l se tiene un aprovechamiento eficiente de los recursos del PIC. Se pueden crear macros con este lenguaje, para despus simplificar el cdigo en diferentes desarrollos. Con l se pueden controlar los tiempos y los registros bit a bit. Excelente para manejar interrupciones simultneas. Cuando se genera el archivo .hex ste es completamente optimizado. Desventajas Nunca se tiene el control del programa en cuanto a tiempos de ejecucin y control de registros bit a bit. Es muy complicado el manejo de interrupciones simultneas en este lenguaje. Tiene limitaciones cuando genera el archivo .hex, es decir no optimiza el tamao de memoria de programa del PIC. Los programas al compilarlos pueden resultar un poco extensos y pesados por ello debe tenerse en cuenta la capacidad de memoria de programa del PIC a utilizar. Con este lenguaje tampoco se puede controlar del todo los tiempos y los registros bit a bit. En realidad desde mi punto de vista no existe ninguna, excepto cuando no se tiene experiencia en programacin puede tardarse el desarrollo de alguna rutina en comparacin con los otros lenguajes. El compilador para este lenguaje es el MPLAB IDE el cual se consigue totalmente gratuito en la pgina de Microchip y constantemente estn sacando nuevas versiones, debe aclararse que este solo funciona bajo ambiente Windows. Para Linux existe un versin alternativa llamada PIKLAB la cual presenta simuladores, editores, ensambladores y soporta una gran cantidad de compiladores C para PIC. ASSEMBLER Es el lenguaje de bajo nivel natural de la lnea PIC tanto para gama baja, media o alta.

Ventajas

Puede ser de ayuda al combinarlo con Ensamblador sobre todo en la gama alta. Se pueden crear macros con este lenguaje, para despus simplificar el cdigo en diferentes desarrollos. Es aceptado por la empresa fabricante Microchip, incluso ellos tienen algunos compiladores C.

Ejemplo de programa en Assembler que utiliza interrupcin de TIMER para hacer parpadear un LED conectado al pin A0 del PIC16F84. El LED se prende por 0.5 segundos y se apaga por 0.5 segundos, repitindose el ciclo infinitamente. Debe usarse con un cristal de 4 MHz. list p=16f84 include <p16f84.inc> ; Definicin de variables CONTL EQU H0C; variables CONTH EQU H0D; contadores en rutinas de retardo CONTTMR EQU H'20' FLAGS EQU H'11' AUX EQU H'33' W_AUX EQU H'34' ; Definicin de constantes LED EQU 0 MEDIOSEGUNDO EQU 0 ORG H'00' GOTO PARTIDA ORG H'04' GOTO INTERR PARTIDA BCF STATUS, RP1 BSF STATUS, RP0; BANK 1 MOVLW H'00' MOVWF TRISA ; PORTA OUTPUTS MOVLW H'FF' MOVWF TRISB ; PORTB ES INPUT MOVLW B10000111; CONFIGURA OPTION REG. (prescaler 1:256) MOVWF OPTION_REG MOVLW B00100000; CONFIGURA INTCON (ENABLE INT TMR0, ; DISABLE RB0/INT, ; DISABLE GLOBAL INT.) MOVWF INTCON BCF STATUS, RP0; BANK 0 CLRF FLAGS CLRF PORTA ; Al configurar el prescaler en 1:256, cada 256 ciclos de instruccin (1 useg/ciclo para cristal de 4 Mhz) se incrementa en 1 el registro TMR0. Es decir, cada 256 useg TMR0 aumenta en 1. Recuerden que el TIMER hace overflow cuando el TMR0 pasa de FF a 00. MOVLW .6 ; 256-250=6 MOVWF TMR0 ; INTERRUPCIONES C/64 ms ; Al cargar un 6 (decimal) en el TMRO, entonces se necesitarn 250 incrementos de TMR0 para que haga overflow. En otras palabras, en 250 * 256 useg = 64000 useg = 64 mseg se producir el prximo overflow y, por lo tanto, la prxima interrupcin de TIMER. MOVLW .8 MOVWF CONTTMR ; 64 ms * 8 =0.512 segs.

; Adems, en cada interrupcin de TIMER decrementaremos la variable CONTTMR en uno. Como inicialmente la variable CONTTMR vale 8 (decimal), tendremos que decrementarla 8 veces para que llegue a valer 0. Por lo tanto, en 8 interrupciones de TIMER la variable CONTTMR valdr cero y en ese momento prenderemos o apagaremos el LED. En otras palabras, cada 8 interrupciones * 64 ms/interrupcin = 0.512 segs prenderemos o apagaremos el LED. BSF INTCON, GIE; HABILITA TODAS LAS INTERRUPCIONES LOOP BTFSC FLAGS, MEDIOSEGUNDO; revisa el flag que indica que ha transcurrido medio segundo. CALL CAMBIA_LED; si ha transcurrido medio segundo cambia el valor del LED. GOTO LOOP ;****** Rutina de interrupcin ******** INTERR MOVWF W_AUX ; respaldo de w (por si acaso) BTFSC INTCON, T0IF; pregunta si interrupcin fue por timer GOTO TIEMPO ; va a subrutina tiempo, si interrupcin fue de timer MOVF W_AUX, W ; recupera w RETFIE TIEMPO DECFSZ CONTTMR, F GOTO RECUPERA_INT ; si al decrementar el resultado no fue 0 se va a recupera_int BSF FLAGS, MEDIOSEGUNDO; se decremento y dio 0, por lo tanto ha pasado medio segundo (flag MEDIOSEGUNDO=1) MOVLW .8 MOVWF CONTTMR RECUPERA_INT MOVLW .6 MOVWF TMR0 ; INTERRUPCIONES C/64 ms BCF INTCON, T0IF; flag de int.de TMR0 se borra para permitir nuevas interrupciones de timer MOVF W_AUX, W RETFIE ;****** Fin rutina de interrupcin ****

CAMBIA_LED; si LED=0 se hace LED=1 y viceversa BTFSS PORTA, LED GOTO PRENDE_LED BCF PORTA, LED BCF FLAGS, MEDIOSEGUNDO RETURN PRENDE_LED BSF PORTA, LED BCF FLAGS, MEDIOSEGUNDO RETURN END

BIBLIOGRAFA - Sistemas Digitales, Principios y aplicaciones, Ronald J. Tocci, 6ta edicin. - Sistemas Digitales, Ing. Carlos Novillo. - Sistemas Micro procesados, Ing. Carlos Novillo. - http://electronicadesarrollo.blogspot.com/2007/12/programacin-de-pics.html - http://www.jlking.cl/ejemplos/pic/timer84.html - http://es.wikipedia.org/wiki/Microprocesador - http://es.wikipedia.org/wiki/Memoria_(inform%C3%A1tica)

Vous aimerez peut-être aussi