ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Set De Instrucciones Del CPU

jhoeltarazona26 de Mayo de 2014

2.626 Palabras (11 Páginas)707 Visitas

Página 1 de 11

Universidad Nacional de Ingeniería

Facultad de Ingeniería Industrial y de Sistemas

Curso : Arquitectura del computador – ST 314 V

Profesor : Lic. José Alberto Zamora Ramírez

Set de Instrucciones del CPU

1. ¿ Que es una instrucción ?

Una instrucción se puede ver como una cadena de bits que se agrupan en campos con tamaños diferentes.

Ejemplo:

add al,30h

Las instrucciones que es capaz de realizar el CPU (Unidad Central de Proceso) se denominan instrucciones de máquina y el lenguaje que se utiliza para su codificación es el lenguaje máquina. Cada procesador es capaz de ejecutar una cierta cantidad de instrucciones distintas, las que son conocidas como conjunto de instrucciones (Set Instruction) que es particular para cada tipo de procesador.

Debemos recordar que la Unidad de Control, componente del CPU, es la encargada de buscar y hacer ejecutar las instrucciones. Es entonces una especie de director de operaciones, que manda a todas las restantes partes de la máquina, lo que deben hacer y en que instante de tiempo hacerlo.

2. ¿ Cuales son los elementos de una instrucción de máquina?

La forma de la instrucción es conocida como formato de la misma, que puede ser tal como el indicado en la figura, en la cual se destacan tres campos: el del código operativo, el de la referencia al primer operando y el correspondiente a la referencia al segundo operando.

Figura - Un formato de instrucción simple de dos direcciones.

Dada la dificultad, tanto para el escritor como para el lector, para interpretar las expresiones en código binario de las instrucciones de máquina, se ha convertido en práctica corriente la de utilizar representaciones simbólicas, en las cuales los códigos operativos son reemplazados por abreviaturas nemotécnicas, tales como:

ADD suma

SUB sustracción

MUL multiplicación

DIV división

MOV almacenamiento de datos en memoria

Cada instrucción debe contener toda la información requerida para que la CPU realice la ejecución. Los elementos que por lo general están presentes son:

a) Código de Operación : Especifica la operación a ser llevada a cabo. Esta es indicada por un código binario, también conocido como “Código Operativo” o CODOP

b) Referencia al operando fuente: Esta operación puede comprender una o más fuentes de operandos, o sea datos que son las entradas de la operación.

c) Referencia al operando resultado: La operación puede generar un resultado.

d) Referencia a la próxima instrucción: Lo que indica a la CPU donde buscar la próxima instrucción, luego de haber concluido la ejecución de la actual.

La nueva instrucción a buscar se encuentra alojada en memoria, o en un sistema de memoria virtual, en la principal o en la secundaria (disco). Donde no hay una referencia específica a la próxima instrucción, ella se encuentra en la casilla siguiente, en cambio cuando se precisa una referencia específica, se debe además suministrar la dirección en la memoria principal o en la virtual.

Los operandos fuente y resultado, pueden encontrarse en alguna de las siguientes tres áreas:

- Memoria principal o virtual: Como referencia a la próxima instrucción debe entregarse la dirección en la cual se encuentra, tanto sea en la memoria principal como en la virtual.

- Registro de la UCP: Con raras excepciones, la UCP contiene uno o más registros que pueden ser referenciados por las instrucciones de máquina. Cuando existe uno solo, la referencia puede ser implícita. Si existen varios, a cada uno se le asigna un número, y la instrucción con tendrá el número del referenciado.

- Dispositivo de E/S: La instrucción debe especificar cual módulo y cual dispositivo se utilizarán para la operación. Si se utiliza un sistema de E/S por memoria mapeada, es necesaria la dirección de memoria principal o virtual a la cual se conecta el dispositivo a emplear.

Resumiendo : Las instrucciones tienen un Código de operación, que indica qué operación se debe realizar por el procesador, y además los operandos, relativos a los datos, que son necesarios para realizar su misión. Por tanto, cada instrucción contiene el citado código de operación y un campo de dirección que especifica donde localizar los operandos que son necesarios para dicha operación

3. El Repertorio de instrucciones

• El funcionamiento de la CPU está determinado por las instrucciones que ejecuta

• El medio por el que el programador controla la CPU

• CPU: Nivel de microprocesador (organización e instrucciones del hardware)

• Nivel máquina: microprogramas (no hardware)

• El diseño del repertorio de instrucciones

– Complejo (afecta a muchos aspectos del computador)

– Define las funciones que realiza la CPU (influye en la implementación)

– Es un tema de controversia

– Aspectos de diseño a los que afecta:

• Repertorio de operaciones

• Tipos de datos con los que se realizan operaciones

• Formato de las instrucciones

• Registros

• Direccionamiento

• Procesadores de propósito específico (ej: impresoras)

• Procesadores de propósito general:

– CISC

– RISC

Detalle:

• CISC (Complex Instruction Set Computer) Computadores de juego de instrucciones complejo

– Número grande de instrucciones

– Instrucciones complejas

• Ventajas aparentes:

– Simplificar compiladores: Al implementa instrucciones máquina parecidas al lenguaje de alto nivel, se reduce el número de instrucciones máquina a ejecutar.

– Programas más pequeños (menos instrucciones) y rápidos

• Realidad

– Instrucciones difíciles de aprovechar

– Programas más pequeños en nº de instrucciones no implica más pequeños en bits

– CPU complejas con un repertorio de instrucciones grande son lentas (aunque tengan pocas instrucciones no se ejecutan rápidamente)

– Instrucciones desiguales dificultan procesamiento paralelo.

• RISC (Reduced Instruction Set Computer) computadores de juego de instrucciones reducido

– Repertorio de instrucciones pequeño (instrucciones importantes y utilizadas)

• Ventajas:

– Se descomponen sólo las instrucciones menos frecuentes

– Las instrucciones se ejecutan rápidamente (son simples)

– Fáciles de procesar (permiten procesamiento paralelo)

– Se consiguen computadores

• Eficientes

• Escalables

• Necesitan menos lógica para ejecutar instrucciones: baratos

• Inconvenientes:

– Requieren compiladores más complejos

• CISC vs RISC:

• RISC: más potentes, y rápidos... ¡¡pero el mercado se inclinó por CISC!!

– CISC tiene un coste “razonable” para el usuario final (RISC se incorporó a equipos “de gama alta”)

– Para el usuario medio las prestaciones CISC son suficientes

– El software de CISC y RISC es incompatible

• Los procesadores CISCx86 van sobre DOS y Windows

• La familia CISCx86 tiene compatibilidad hacia atrás (se pueden renovar equipos manteniendo datos y aplicaciones)

• Actualmente, no hay CISC o RISC puros:

– Pentium Pro traducía las instrucciones largas CISC en microoperaciones sencillas de longitud fija ejecutadas en un núcleo estilo RISC

– UltraSparc II acelera la decodificación MPEG con instrucciones específicas para gráficos (equivalentes a 48 instrucciones simples)

4. El Diseño de Instrucciones

Tomaremos en cuenta los sgtes. puntos:

4.1 Formato de las instrucciones: descripción en bits de las distintas partes de la instrucción

– Código de operación

– Algún o ningún operando

– Modos de direccionamiento

– Longitud

– Posibilidad de longitud variable...

4.1.1 Longitud de la instrucción

• Afecta (y se ve afectada) por características de la memoria (tamaño y organización), buses , CPU (complejidad y velocidad)

• Compromiso: nºde instrucciones máquina/ necesidad de ahorrar espacio

• Instrucciones largas:

– Más codigo y operandos -> programas más cortos

– Más modos de direccionamiento -> gestión de tablas y bifurcaciones multi-rama

– Memoria virtual grande-> necesidad de direccionar rangos grandes

• Instrucciones cortas

– Una instrucción de 32 bits ocupa el doble que una de 16 ¿es el doble de útil?

• Relación entre la longitud y la organización del computador

• Tamaño del bus (nº entero de instrucciones en un ciclo de captación)

– Tamaño de instrucción = tamaño de transferencia de memoria

– Múltiplo

• Tamaño de datos

– Longitud de instrucción = múltiplo de carácter

– Longitud de instrucción = múltiplo de la longitud de números en coma fija (unidad “natural” de organización)

• Velocidad de transferencia de memoria.

– Se captan más instrucciones cortas: variar la longitud permite adecuar el nº de instrucciones/ciclo a la velocidad de ejecución

4.1.2 Número de

...

Descargar como (para miembros actualizados) txt (20 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com