6.3+Decodificacion+De+Una+Instruccion

En la mayoría de los casos se utiliza el microcódigo, que comprende microinstrucciones o códigos de micro instrucciones. Las microinstrucciones, por lo tanto son las instrucciones que en realidad son ejecutadas por el núcleo de ejecución o aritmética y lógica núcleo del procesador. Los códigos de microinstrucciones se obtienen mediante la traducción del original código de programa en una instrucción decodificador comprenden en el transformador, antes de ejecutar las instrucciones básicas en la ejecución. Con el fin de que un microprocesador será la búsqueda de apoyo, en general, esta función está incorporada en el microcódigo, que comprende de este modo el apoyo a las funciones que permite la traza. En un microprocesador que permite la localización suele ser señal de un maestro se utiliza para permitir que todos los tipos de rastros, este maestro señal que se llama una señal permitirá rastrear. RESUMEN Se trata de un objeto de la presente invención para proporcionar un método y un dispositivo para la prestación de un versátil programa de traducción de las instrucciones para ser ejecutadas por un procesador a microinstrucciones utilizados por el núcleo del procesador. UNIDAD DE DECODIFICACION Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc. UNIDAD DE EJECUCION Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. UNIDAD ARITMETICO LOGICA (ALU) La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son: UNIDAD DE CONTROL Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:

code * tomar las instrucciones de memoria * decodificar o interpretar las instrucciones * ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)

code Para realizar su función, la unidad de control consta de los siguientes elementos:

code * Contador de programa * Registro de instrucciones * Decodificador * Reloj * Secuenciador *

.Contador de programa. Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.

code .Registro de instrucción. Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos. .Decodificador. Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador. .Reloj. Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. .Secuenciador. En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción. UNIDAD ARITMÉTICO-LÓGICA (ALU) Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envia los datos y le indica la operación a realizar. La ALU está formada a su vez por los siguientes elementos:

code * Circuito operacional * Registros de entrada (REN) * Registro acumulador * Registro de estado (flags)

code .Circuito operacional. Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento (suma, resta, etc). .Registros de entrada (REN). En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas.

code .Registro acumulador. Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control.

code .Registro de estado (flags). Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo. Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador. ====**autor: hernandez martinez osc**ar =

=Decodificación De Una Instrucción =

Esta se encarga de que la instrucción que se va a ejecutar sea realizada en el procesador. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria, etc.

Todos sabemos en la actualidad que las compañías de procesadores siempre han estado compitiendo con sus productos; los procesadores Intel y los AMD.

Ahora bien la compañía AMD nos dice que su procesador AMD K6 III es mejor debido al rendimiento. Esta es la razón por la que merece la pena comprar un K6-III frente a sus competidores (aparte del precio). Para entender esto primero debemos saber como funciona el K6-X. Lo que hace este procesador (y cualquier otro) es //decodificar las instrucciones// que le llegan y posteriormente ejecutarlas.
 * En el caso del K6 el proceso es:**

· Se envía la instrucción al decodificador · El decodificador transforma la instrucción x86 en una(o más) instrucción(es) Risc86 (las internas del procesador). · Se envía la instrucción Risc86 a la unidad de ejecución adecuada (la de enteros, la de coma flotante) · Primera fase de ejecución. · Segunda fase de ejecución. · Salida · El diagrama de un Pentium 2/Celeron y familia es bastante similar. Visto esto, podemos observar que el rendimiento está caracterizado por la rapidez con que se ejecuten las fases más críticas: La fase de decodificación (primero la decodificación de la instrucción x86 y después la de la RISC86), y la fase de envío y ejecución de la instrucción).

CPU Instrucciones x86 decodificadas Instrucciones RISC86 decodificadas Máximo número de instrucciones RISC86 enviadas Máximo número de instrucciones ejecutadas P2- Celeron 3 6 3 3 K6-X 2 4 4 6 Esto significa que el P2 decodifica más rápido las instrucciones, pero es más lento ejecutandolas que el K6. El K6, sin embargo, está normalmente esperando a las instrucciones para ejecutarlas. media type="youtube" key="i70uPVe8d64" height="385" width="480"
 * Ahora vemos la tabla comparativa:**

** Decodificar la instrucción **
El decodificador de instrucción interpreta e implementa la instrucción. El registro de instrucción (IR) mantiene la instrucción en curso mientras el contador de programa (PC, //program counter//) guarda la [|dirección de memoria] de la siguiente instrucción a ser ejecutada. También se lee la dirección efectiva de la memoria principal si la instrucción tiene una dirección indirecta, y se recogen los datos requeridos de la memoria principal para ser procesados y colocados en los registros de datos.
 * Recogida de datos desde la memoria principal

**__UNIDAD DE DECODIFICACION__** Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc.

media type="youtube" key="_ggfYGF3omI" height="385" width="480"

//** autor: jorge luis camarillo cristobal **//

Habitualmente son cuatro los eventos o pasos que se llevan a cabo en cada ciclo de instrucción (ciclo de fetch):

(1) Buscar la instruccion en la memoria principal
Se vuelca el valor del [|contador de programa] sobre el [|bus de direcciones]. Entonces la CPU pasa la instrucción de la memoria principal a través del bus de datos al [|Registro de Datos de Memoria] (MDR). A continuación el valor del MDR es colocado en el [|Registro de Instrucción Actual] (CIR), un circuito que guarda la instrucción temporalmente de manera que pueda ser decodificada y ejecutada.

(2) Decodificar la instrucción
El decodificador de instrucción interpreta e implementa la instrucción. El registro de instrucción (IR) mantiene la instrucción en curso mientras el contador de programa (PC, //program counter//) guarda la [|dirección de memoria] de la siguiente instrucción a ser ejecutada. También se lee la dirección efectiva de la memoria principal si la instrucción tiene una dirección indirecta, y se recogen los datos requeridos de la memoria principal para ser procesados y colocados en los registros de datos.
 * Recogida de datos desde la memoria principal

(3) Ejecutar la instrucción
A partir del registro de instrucción, los datos que forman la instrucción son decodificados por la unidad de control. Ésta interpreta la información como una secuencia de señales de control que son enviadas a las unidades funcionales relevantes de la CPU para realizar la operación requerida por la instrucción.

(4) Almacenar o guardar resultados
El resultado generado por la operación es almacenado en la memoria principal o enviado a un dispositivo de salida dependiendo de la instrucción. Basándose en los resultados de la operación, el contador de programa se incrementa para apuntar a la siguiente instrucción o se actualiza con una dirección diferente donde la próxima instrucción será recogida.

Autor: Gutierrez Junco Claudia
En la mayoría de los casos se utiliza el microcódigo, que comprende microinstrucciones o códigos de micro instrucciones. Las microinstrucciones, por lo tanto son las instrucciones que en realidad son ejecutadas por el núcleo de ejecución o aritmética y lógica núcleo del procesador. Los códigos de microinstrucciones se obtienen mediante la traducción del original código de programa en una instrucción decodificador comprenden en el transformador, antes de ejecutar las instrucciones básicas en la ejecución. Con el fin de que un microprocesador será la búsqueda de apoyo, en general, esta función está incorporada en el microcódigo, que comprende de este modo el apoyo a las funciones que permite la traza. En un microprocesador que permite la localización suele ser señal de un maestro se utiliza para permitir que todos los tipos de rastros, este maestro señal que se llama una señal permitirá rastrear. RESUMEN Se trata de un objeto de la presente invención para proporcionar un método y un dispositivo para la prestación de un versátil programa de traducción de las instrucciones para ser ejecutadas por un procesador a microinstrucciones utilizados por el núcleo del procesador. UNIDAD DE DECODIFICACION Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc. UNIDAD DE EJECUCION Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. UNIDAD ARITMETICO LOGICA (ALU) La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son: UNIDAD DE CONTROL Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:
 * DECODIFICACION DE UNA INSTRUCCION **

Para realizar su función, la unidad de control consta de los siguientes elementos:
 * tomar las instrucciones de memoria
 * decodificar o interpretar las instrucciones
 * ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)
 * Contador de programa
 * Registro de instrucciones
 * Decodificador
 * Reloj
 * Secuenciador

.Contador de programa. Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso. .Registro de instrucción. Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos. .Decodificador. Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador. .Reloj. Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. .Secuenciador. En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción.

** ★ **** •« **** ║█ ** ** ║║▀▄▀▄ YESSICA LIZBETH FAJARDO NIETO ║█ ** ** ║║▀▄▀▄ **** •« **** ★ **

En la mayoría de los casos se utiliza el microcódigo, que comprende microinstrucciones o códigos de micro instrucciones. Las microinstrucciones, por lo tanto son las instrucciones que en realidad son ejecutadas por el núcleo de ejecución o aritmética y lógica núcleo del procesador. Los códigos de microinstrucciones se obtienen mediante la traducción del original código de programa en una instrucción decodificador comprenden en el transformador, antes de ejecutar las instrucciones básicas en la ejecución. Con el fin de que un microprocesador será la búsqueda de apoyo, en general, esta función está incorporada en el microcódigo, que comprende de este modo el apoyo a las funciones que permite la traza. En un microprocesador que permite la localización suele ser señal de un maestro se utiliza para permitir que todos los tipos de rastros, este maestro señal que se llama una señal permitirá rastrear. RESUMEN Se trata de un objeto de la presente invención para proporcionar un método y un dispositivo para la prestación de un versátil programa de traducción de las instrucciones para ser ejecutadas por un procesador a microinstrucciones utilizados por el núcleo del procesador. UNIDAD DE DECODIFICACION Se encarga de decodificar la instrucción que se va a ejecutar. Es decir, saber qué instrucción es. Cuando el microprocesador lee de memoria una instrucción, el código de esa instrucción le llega a esta unidad. Esta unidad se encarga de interpretar ese código para averiguar el tipo de instrucción a realizar. Por ejemplo, instrucciones de suma, multiplicación, almacenamiento de datos en memoria,etc. UNIDAD DE EJECUCION Una vez que la unidad de decodificación sabe cuál es el significado de la instrucción leída de memoria, se lo comunica a la unidad de ejecución. Esta unidad será la encargada de consumar la ejecución y para ello activará las señales necesarias y en un orden determinado. Es decir, es la encargada de dar las órdenes necesarias a las diversas partes del microprocesador para poder ejecutar cada una de las instrucciones. UNIDAD ARITMETICO LOGICA (ALU) La ALU (Aritmethic Logic Unit) es el bloque funcional del microprocesador encargado de realizar todas aquellas operaciones matemáticas. Las operaciones que realiza son las siguientes: suma, resta, multiplicación, división y aquellas que trabajan con dígitos binarios (10 que se conoce como operaciones lógicas: ANO, NOR, NOT, NANO, OR, X-OR, etc). En suma, saber cómo funciona un microprocesador, implica conocer cómo se van ejecutando cada una de las instrucciones del programa que se almacena en memoria. Los pasos globales que se siguen a la hora de consumar una instrucción son: UNIDAD DE CONTROL Es el centro nervioso del ordenador, ya que desde ella se controlan y gobiernan todas las operaciones. Cómo funciones básicas tiene:

code * tomar las instrucciones de memoria * decodificar o interpretar las instrucciones * ejecutar las instrucciones ( tratar las situaciones de tipo interno (inherentes a la propia CPU) y de tipo externo (inherentes a los periféricos)

code Para realizar su función, la unidad de control consta de los siguientes elementos:

code * Contador de programa * Registro de instrucciones * Decodificador * Reloj * Secuenciador *

.Contador de programa. Contiene permanentemente la dirección de memoria de la siguiente instrucción a ejecutar. Al iniciar la ejecución de un programa toma la dirección de su primera instrucción. Incrementa su valor en uno, de forma automática, cada vez que se concluye una instrucción, salvo si la instrucción que se está ejecutando es de salto o de ruptura de secuencia, en cuyo caso el contador de programa tomará la dirección de la instrucción que se tenga que ejecutar a continuación; esta dirección está en la propia instrucción en curso.

code .Registro de instrucción. Contiene la instrucción que se está ejecutando en cada momento. Esta instrucción llevará consigo el código de operación (un código que indica qué tipo de operación se va a realizar, por ejemplo una suma) y en su caso los operandos (datos sobre los que actúa la instrucción, por ejemplo los números a sumar) o las direcciones de memoria de estos operandos. .Decodificador. Se encarga de extraer el código de operación de la instrucción en curso (que está en el registro de instrucción), lo analiza y emite las señales necesarias al resto de elementos para su ejecución a través del secuenciador. .Reloj. Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes (frecuencia constante), que marcan los instantes en que han de comenzar los distintos pasos de que consta cada instrucción. .Secuenciador. En este dispositivo se generan órdenes muy elementales (microórdenes) que, sincronizadas por los impulsos de reloj, hacen que se vaya ejecutando poco a poco la instrucción que está cargada en el registro de instrucción. UNIDAD ARITMÉTICO-LÓGICA (ALU) Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envia los datos y le indica la operación a realizar. La ALU está formada a su vez por los siguientes elementos:

code * Circuito operacional * Registros de entrada (REN) * Registro acumulador * Registro de estado (flags)

code .Circuito operacional. Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento (suma, resta, etc). .Registros de entrada (REN). En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas.

code .Registro acumulador. Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control.

code .Registro de estado (flags). Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo. Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador. En función del tipo de microprocesador, concretamente si es más avanzado o no, podrá entender y ejecutar más o menos instrucciones. Las instrucciones se clasifican según su función en:

code * Instrucciones de transferencia de datos * Instrucciones de cálculo * Instrucciones de transferencia del control del programa * Instrucciones de control

code .Instrucciones de transferencia de datos. Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 [|K Bytes][|**?**] con una sola instrucción. .Instrucciones de cálculo. Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo ANO, OR, así como desplazamiento y rotación de bits. .Instrucciones de transferencia del control del programa. Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación. .Instrucciones de control. Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc. Prácticamente todas las instrucciones están formadas por dos elementos:

code * código de operación que indica el tipo de operación se va a realizar * operandos, que son los datos sobre los que actúa.

code Por ejemplo, una instrucción que sume dos números está formado por:

code * código de operación que indique “sumar” * primer número a sumar * segundo número a sumar

code Existen instrucciones que sólo tienen un operando o incluso que no tienen ninguno, estando formadas solamente por el código de operación. EJECUCIÓN DE LAS INSTRUCCIONES Para que un programa pueda ser ejecutado por un ordenador, ha de estar almacenado en la memoria central (memoria RAM). El microprocesador tomará una a una las instrucciones que lo componen e irá realizando las tareas correspondientes. Se denomina ciclo de instrucción al conjunto de acciones que se llevan a cabo en la realización de una instrucción. Se compone de dos fases:

code * Fase de búsqueda * Fase de ejecución

code .Fase de búsqueda. En esta fase se transfiere la instrucción que se va a ejecutar desde la memoria central a la unidad de control. .Fase de ejecución. Consiste en la realización de todas las acciones que conlleva la propia instrucción. Una forma de clasificar los microprocesadores es en función de las instrucciones que son capaces de ejecutar. Podemos encontrar dos tipos: microprocesadores: con tecnología CISC y RISC. CISC Complex Instructions Set Computer, Ordenador con un conjunto de instrucciones complejo. RISC Reduced Instructions Set Computer, Ordenador con un conjunto de instrucciones reducido. Cuando se desee que un microprocesador RISC ejecute cierta instrucción que no entiende, ésta se descompondrá en varias instrucciones de las sencillas que sí entiende. Aún así, descomponiendo una instrucción compleja en varias sencillas, es capaz de operar mucho más rápido que el microprocesador CISC, el cual no tiene que descomponer esa instrucción porque la entiende directamente. Prácticamente, todos los microprocesadores que se utilizan en la fabricación de ordenadores personales (microprocesadores fabricados por Intel) son de tecnología CISC. Intel, poco a poco, va abandonando la tecnología CISC y la sustituye por tecnología RISC. Así por ejemplo, un Pentium, sin dejar de pertenecer a la categoria CISC incorpora algunas caracteristicas de los micros RISC. Es de esperar que en un futuro, los micros fabricados sean de tecnología RISC; entonces los ordenadores serán muchísimo más rápido de lo que hoy los conocemos. ana lucia vanegas martinez

UNIDAD ARITMÉTICO-LÓGICA (ALU) Esta unidad se encarga de realizar las operaciones elementales de tipo aritmético (sumas, restas, productos, divisiones) y de tipo lógico (comparaciones). A través de un bus interno se comunica con la unidad de control la cual le envia los datos y le indica la operación a realizar. La ALU está formada a su vez por los siguientes elementos: code * Circuito operacional * Registros de entrada (REN) * Registro acumulador * Registro de estado (flags)

code .Circuito operacional. Contiene los circuitos necesarios para la realización de las operaciones con los datos procedentes de los registros de entrada (REN). Este circuito tiene unas entradas de órdenes para seleccionar la clase de operación que debe realizar en cada momento (suma, resta, etc). .Registros de entrada (REN). En ellos se almacenan los datos u operandos que intervienen en una instrucción antes de la realización de la operación por parte del circuito operacional. También se emplean para el almacenamiento de resultados intermedios o finales de las operaciones respectivas. code .Registro acumulador. Almacena los resultados de las operaciones llevadas a cabo por el circuito operacional. Está conectado con los registros de entrada para realimentación en el caso de operaciones encadenadas. Asimismo tiene una conexión directa al bus de datos para el envío de los resultados a la memoria central o a la unidad de control.

code .Registro de estado (flags). Se trata de unos registros de memoria en los que se deja constancia algunas condiciones que se dieron en la última operación realizada y que habrán de ser tenidas en cuenta en operaciones posteriores. Por ejemplo, en el caso de hacer una resta, tiene que quedar constancia si el resultado fue cero, positivo o negativo. Se conoce como set de instrucciones al conjunto de instrucciones que es capaz de entender y ejecutar un microprocesador. En función del tipo de microprocesador, concretamente si es más avanzado o no, podrá entender y ejecutar más o menos instrucciones. Las instrucciones se clasifican según su función en: code * Instrucciones de transferencia de datos * Instrucciones de cálculo * Instrucciones de transferencia del control del programa * Instrucciones de control

code .Instrucciones de transferencia de datos. Estas instrucciones mueven datos (que se consideran elementos de entrada/salida) desde la memoria hacia los registros internos del microprocesador, y viceversa. También se usan para pasar datos de un registro a otro del microprocesador. Existen algunas instrucciones que permiten mover no sólo un dato, sino un conjunto de hasta 64 [|K Bytes][|?] con una sola instrucción. .Instrucciones de cálculo. Son instrucciones destinadas a ejecutar ciertas operaciones aritméticas, como por ejemplo sumar, restar, multiplicar o dividir, o ciertas operaciones lógicas, como por ejemplo ANO, OR, así como desplazamiento y rotación de bits. .Instrucciones de transferencia del control del programa. Permiten romper la secuencia lineal del programa y saltar a otro punto del mismo. Pueden equivaler a la instrucción GOTO que traen muchos lenguajes de programación. .Instrucciones de control. Son instrucciones especiales o de control que actúan sobre el propio microprocesador. Permiten acceder a diversas funciones, como por ejemplo activar o desactivar las interrupciones, pasar órdenes al coprocesador matemático, detener la actividad del microprocesador hasta que se produzca una interrupción, etc. Prácticamente todas las instrucciones están formadas por dos elementos: code * código de operación que indica el tipo de operación se va a realizar * operandos, que son los datos sobre los que actúa.

code Por ejemplo, una instrucción que sume dos números está formado por: code * código de operación que indique “sumar” * primer número a sumar * segundo número a sumar

code Existen instrucciones que sólo tienen un operando o incluso que no tienen ninguno, estando formadas solamente por el código de operación.



posteo: Romero Pastén Luis Angel