Conceptos basico Microcontroladores

6
Unidad de control La unidad de control es la parte de la CPU que realmente hace que las cosas ocurran. La unidad de control emite señales de control (ordenes) externas a la CPU para producir el intercambio de datos con la memoria y los módulos de E/S. Tambien emite señales de control internas para transferir datos entre registros , hacer que la ALU ejecute una función concreta y regular otras operaciones internas. Es la unidad que extrae y analiza las instrucciones de la memoria central . Para ello necesita dos registros : 1) Uno, llamado contador de programa, que contiene la dirección de las próximas instrucciones por ejecutar. Su nombre se debe a que, excepción hecha de las rupturas de secuencia , este registro va aumentando su contenido de manera de direccionar a la siguiente instrucción; 2) Otro, llamado registro de instrucción, que tiene dos partes: una para el código de operación, que define el tipo de instrucción a ejecutar (suma, multiplicación, salto, etc.) y otra parte, que contiene la dirección del operando. Sus componentes son: - Decodificador: Se encarga de extraer el código de operación de la instrucción en curso (que está en RI), la analiza y emite señales necesarias al resto de elementos para su ejecución a través del secuenciador. - Reloj: Proporciona una sucesión de pulsos eléctricos o ciclos a intervalos constantes, que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. - Secuenciador (S): También llamado controlador. En este dispositivo se generan órdenes muy elementales (microórdenes)

description

PC

Transcript of Conceptos basico Microcontroladores

Unidad de controlLa unidad de control es la parte de laCPUque realmente hace que las cosas ocurran.La unidad de control emite seales de control (ordenes) externas a la CPU para producir el intercambio dedatoscon la memoria y los mdulos de E/S. Tambien emite seales de control internas para transferir datos entreregistros, hacer que laALUejecute una funcin concreta y regular otras operaciones internas.Es la unidad que extrae y analiza lasinstruccionesde lamemoria central. Para ello necesita dosregistros:

1)Uno, llamado contador de programa, que contiene la direccin de las prximas instrucciones por ejecutar. Su nombre se debe a que, excepcin hecha de lasrupturas de secuencia, este registro va aumentando su contenido de manera de direccionar a la siguiente instruccin;2)Otro, llamado registro de instruccin, que tiene dos partes: una para el cdigo de operacin, que define el tipo de instruccin a ejecutar (suma, multiplicacin, salto, etc.) y otra parte, que contiene la direccin del operando.

Sus componentes son:- Decodificador:Se encarga de extraer el cdigo de operacin de la instruccin en curso (que est en RI), la analiza y emite seales necesarias al resto de elementos para su ejecucin a travs del secuenciador.-Reloj:Proporciona una sucesin de pulsos elctricos o ciclos a intervalos constantes, que marcan los instantes en que han de comenzar los distintos pasos de que consta cadainstruccin.

- Secuenciador (S):Tambin llamado controlador. En este dispositivo se generan rdenes muy elementales (micrordenes) que, sincronizadas por los pulsos del reloj, hacen que se vaya ejecutando poco a poco la instruccin que est cargada en el RI.MicroprogramacionUn microprograma es una secuencia de datos binarios omicroinstruccionesque representan seales elctricas internas de la unidad de control de un microprocesador.Unas pocas de estas microinstrucciones implementan una instruccin completa del microprocesador. Por ejemplo, la instruccin "sumar dos registros" tpica de cualquier microprocesador, se implementa mediante la activacin y desactivacin de un conjunto reducido de seales elctricas en elbanco de registrosy launidad aritmtico-lgica. En concreto, el microprograma de esta instruccin significara:

Activar las seales de seleccin de registro como primer operando de la ALU. Activar las seales de seleccin de registro como segundo operando de la ALU. Activar las seales de seleccin de operador para que corresponda a la suma en la ALU. Esperar unos ciclos de reloj hasta que la operacin est completada. Activar la seal de escritura en el registro acumulador.El diseo de microprocesadores de propsito general conoce dos tcnicas que conducen a una clasificacin de stos en dos grupos: Los microprocesadores "cableados": aquellos que tienen unaunidad de controlespecficamente diseada sobre el silicio para unjuego de instruccionesconcreto. Los microprocesadores "microprogramados": aquellos que tienen una unidad de controlgenricao prediseada y que implementan un juego de instrucciones u otro dependiendo de un microprograma.En los primeros aos de la "era del silicio", el diseo de microprocesadores cableados resultaba enormemente costoso debido a que son muy complejos y no existan herramientas adecuadas para disear y verificar la correccin de los diseos.Por este motivo, era habitual que los microprocesadores fueran gobernados por un microprograma, mucho ms sencillo de disear. Una vez creada una unidad de control microprogramada, era posible replicarla en todos los modelos de microprocesador. La nica diferencia entre unos y otros radicaba en el microprograma utilizado.Hoy da la microprogramacin ha desaparecido prcticamente por completo. Esto se debe a los siguientes factores: Ya existen herramientas avanzadas para disear complejas unidades de control con millones de transistores litografiados. Estas herramientas prcticamente garantizan la ausencia de errores de diseo. Las unidades de control cableadas tienen un rendimiento significativamente mayor que cualquier unidad microprogramada, resultando ms competitivas.

Memoria cache

La memoria cache delprocesadorse encarga de acelerar las lecturas y escrituras del sistema de memoria para conseguir as que todas tus aplicaciones funcionen ms rpido.Se habla desistema de memoriaporque en realidad nos estamos refiriendo a varios bloques. El ms alejado del micro y por lo tanto ms lento y grande es eldisco duro. En este los datos se almacenan incluso cuando el equipo est apagado. Al producirse el encendido pasan a lamemoria RAMaquellos programas que ejecutas y los datos que necesites en cada momento.Por desgracia el acceso a la memoria RAM desde el micro no es instantneo. Esto que puede parecer algo anecdtico, estamos hablando del orden de nanosegundos, puede provocar bloqueos y cadas de rendimiento.Qu es la memoria cache?La cache es la solucin al problema de rendimiento del sistema de memoria. Es muy pequea y est incluida en el interior del micro. Su funcin es sencilla, conseguir que los datos ms usados estn lo ms cerca del procesador para ser accedidos de la manera ms rpida posible.Cmo funciona la memoria cache?Se organiza en niveles, de menor a mayor tamao segn lo alejada que est del micro. Si el procesador necesita un dato de la memoria se comprueba si este se encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo nivel y si no en el tercero. Todo se acelera si se colocan los datos ms utilizados en los niveles ms cercanos al procesador.Cada uno de estos niveles tiene un bloque de control el cual se encarga de almacenar y poner los datos a disposicin del micro. El tiempo que tarda en buscar la informacin es proporcional al tamao de la propia memoria que administra. Como queremos que los datos lleguen lo antes posible al micro los niveles ms bajos tendrn menor capacidad. Cada nivel superior, por tanto, es bastante ms grande que el anterior.La memoria cache es muy pequea. En comparacin con la memoria RAM unas mil veces ms pequea. Por suerte, los programas suelen realizar muchas operaciones sobre los mismos datos y por lo tanto se consiguen grandes mejoras al usar esta tcnica.Qu tipo de aplicaciones se benefician de esta memoria?La memoria cache es capaz de acelerar todo tipo de aplicaciones. Al ser un sistema pensado para evitar bloqueos sus ventajas no son lineales. Es decir, una memoria de seis megas, no te dar el doble de prestaciones que una de tres si no que en ciertas situaciones ser algo mayor. En este caso y como ocurre con el tamao de la memoria RAM cuanto ms mejor.

Memoria virtualLa memoria virtual es una tcnica de gestin de la memoria que permite que el sistema operativo disponga, tanto para el software de usuario como para s mismo, de mayor cantidad de memoria que est disponible fsicamente. La mayora de los ordenadores tienen cuatro tipos de memoria: registros en laCPU, lamemoria cach(tanto dentro como fuera del CPU), la memoriaRAMy el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad y menor velocidad.Muchas aplicaciones requieren acceso a ms informacin (cdigo y datos) que la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente. Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su informacin en disco, movindola a la memoria principal cuando sea necesario. Hay varias formas de hacer esto.Una opcin es que la aplicacin misma sea responsable de decidir qu informacin ser guardada en cada sitio (segmentacin), y de traerla y llevarla. La desventaja de esto, adems de la dificultad en el diseo e implementacin del programa, es que es muy probable que los intereses sobre la memoria de dos o varios programas generen conflictos entre s: cada programador podra realizar su diseo teniendo en cuenta que es el nico programa ejecutndose en el sistema. La alternativa es usar memoria virtual, donde la combinacin entrehardwareespecial y elsistema operativohace uso de la memoria principal y la secundaria para hacer parecer que el ordenador tiene mucha ms memoria principal (RAM) que la que realmente posee. Este mtodo es invisible a los procesos. La cantidad de memoria mxima que se puede hacer ver que hay tiene que ver con las caractersticas del procesador. Por ejemplo, en un sistema de 32 bits, el mximo es 232, lo que da 4096 Megabytes (4 Gigabytes). Todo esto hace el trabajo del programador de aplicaciones mucho ms fcil, al poder ignorar completamente la necesidad de mover datos entre los distintos espacios de memoria.Aunque la memoria virtual podra estar implementada por elsoftwaredel sistema operativo, en la prctica casi siempre se usa una combinacin de hardware y software, dado el esfuerzo extra que implicara para el procesador.