CPU
diablogrx Informe 2 de Noviembre de 2016
3.232 Palabras (13 Páginas) 104 Visitas
[pic 1][pic 2]
ALUMNO: MENDOZA GONZALEZ EFRAIN
MATERIA: ESTRUCTURA DE DATOS
PROFESIONISTA: HEYDI V LADRON DE GUEVARA
GRUPO: SCO4A111
TITULO DEL TRABAJO: CPU
FECHA DE ENTREGA:01 DE OCTUBRE DEL 2016
REPERTORIO DE INSTRUCCIONES: Las instrucciones que procesa y ejecuta el procesador se denomina instrucciones máquina o instrucciones del computador. La CPU realiza diferentes funciones que son un reflejo de la variedad de las instrucciones que tiene definida. Todo el conjunto de instrucciones distintas que puede ejecutar la CPU se denomina repertorio de instrucciones, el juego de instrucciones de un computador debe de cumplir dos condiciones:
Completitud: debe poder calcular, en un tiempo finito cualquier tarea computable.
Eficacia: debe permitir una alta velocidad de cálculo si exigir, a cambio una excesiva complejidad de la unidad de control ni de la unidad aritmética.
Cada una de las instrucciones máquina que compone el repertorio de instrucciones debe cumplir unas características generales.
1.- Las instrucciones realizan una función única y sencilla por lo que su decodificación por la CPU es sencilla.
2.- Una misma instrucción emplea siempre un número fijo de operandos. Diferentes instrucciones pueden tener diferentes números de operandos.
3.- La codificación de las instrucciones es sistemática, puesto que facilita su decodificación.
4.- Las instrucciones son auto contenidas e independientes contienen toda información necesaria para ejecutarse.
Los elementos consecutivos de una instrucción maquina con los que indica el procesador toda esta información son:
Código de operación: especifica mediante un código binario la operación a realizar.
Referencia a operandos fuente: la instrucción contiene los operandos de la instrucción o en caso contrario indica donde se encuentran en memoria.
Referencia de operando resultado: si la instrucción produce algún resultado indica donde se almacena.
Las instrucciones máquina con cadenas de unos y ceros, aunque cada procesador implementa un conjunto particular de instrucciones máquina, todos los repertorios de instrucciones de distintos computadores guardan una similitud los tres principales grupos de instrucciones que puede presentar un computador.
Instrucciones de referencia de datos: permiten copiar en el operando destino, la información almacenada en el operando origen, quedando este último sin modificar, en las instrucciones de transferencia junto al código de operación se debe especificar información referente al dato que se ha de transferir.
Instrucciones aritméticas y lógicas: este tipo de instrucciones efectúa alguna de las cuatro operaciones aritméticas básicas, de suma, resta, multiplicación y división, u operaciones lógicas bit a bit como son: AND, OR, XOR. Cada instrucción se aplica sobre unos operandos de un tipo concreto, están siempre disponibles para números enteros con signo existiendo a menudo su equivalente para números de punto flotante.
Instrucciones que modifican la secuencia del programa: Cuando el procesador ejecuta un programa, va leyendo la memoria las instrucciones situadas en las posiciones a las que va apuntando el registro PC de forma sucesiva, las instrucciones de salto permiten modificar la secuencia normal de ejecución del programa, el procesador al ejecutarlas copia la nueva dirección en la PC, lo que produce un salto en la secuencia de las instrucciones del programa, existen distintos tipos de bifurcaciones:
Bifurcación incondicional: este tipo de bifurcación cambian el secuencia miento del programa siempre que se ejecutan, modificando el valor del registro PC con el valor contenido en su campo de operandos.
Bifurcaciones condicionales: en las instrucciones de salto condicional se hace la bifurcación, solo si se cumple una condición dada que habitualmente depende del resultado de la ejecución de la instrucción anterior, en caso contrario se ejecuta la instrucción inmediatamente posterior de la secuencia.
Bifurcación de retorno: en este grupo se distinguen las instrucciones de salto a subrutina y las de retorno de subrutina, las primeras producen un salto incondicional a una dirección especificada en el operando, pero con la salvedad de que de forma automática el procesador almacena en memoria, en una zona reservada previamente llamada pila es una estructura de datos que se organiza según la filosofía, el último en entrar, primero en salir.
Modos de direccionamiento: este procedimiento sirve para determinar la ubicación del operando que dependiendo del tipo de instrucciones puede estar en:
La propia instrucción: parte de los bits que componen una instrucción sirven para almacenar el valor del operando.
Memoria principal: los datos para realizar la operación están almacenados en la memoria principal y parte de las bits de la instrucción contienen la dirección donde se almacenan el operando en memoria, se le llama dirección efectiva de dato.
Direccionamiento inmediato: el uso de este direccionamiento implica que la instrucción opera con un valor contante que se define a la hora de crear un programa, la principal ventaja del direccionamiento inmediato es que una vez cargada la instrucción no se requiere una nueva referencia a memoria para obtener el operando, ahorrándose de esta manera un ciclo de memoria en la ejecución de la instrucción.
Direccionamiento directo: se denomina indirecto cuando la instrucción contiene la dirección en memoria del operando, puede estar en cualquier zona de la memoria siempre que se encuentre dentro del rango de posiciones direccionales, la principal ventaja es que no necesita ningún calculo previo para conocer la dirección final de memoria del dato.
Direccionamiento mediante registro: este tipo de direccionamiento el operando se encuentra almacenado en una de las registros internos de la CPU, en la instrucción existe un campo que sirve para identificar el registro que contiene un dato, una ventaja que representa este modo es que no precisa ningún ciclo de lectura adicional para acceder al dato.
Direccionamiento relativo a registro: en el direccionamiento relativo a registro el dato al cual se desea acceder reside en memoria, la dirección efectiva del dato la calcula el procesador sumando una cantidad al valor contenido en un registro.
El direccionamiento relativo al registro base: emplea como puntero un registro de propósito general o dedicado exclusivamente para este fin que se denomina registro base, dado que los computadores disponen de varios registros que pueden actuar como base, la instrucción deberá contener un identificador del mismo para calcular la dirección efectiva del dato.
El direccionamiento relativo a pila suma el desplazamiento contenido en la instrucción con el valor del registro SP para obtener la dirección del objeto, este direccionamiento permite instrucciones muy compacta puesto que la instrucción no requiere ningún desplazamiento.
Direccionamiento indexado: el direccionamiento indexado se utiliza habitualmente como mecanismo eficiente para recorrer estructuras de datos tipo vector o tabla, para recorrer este tipo de estructuras el procesador realiza incrementos o decrementos del registro de forma automática tras cada referencia, esto de denomina auto-indexado y da ligar a cuatro variantes de este modo de direccionamiento.
Direccionamiento indirecto: el problema del direccionamiento directo es que la longitud que tiene el campo de direcciones en la instrucción es normalmente menor que el número menor que el número de bits que utiliza el procesador para especificar las direcciones, el direccionamiento indirecto soluciona este problema ya que el campo de direcciones contiene la dirección de una palabra de memoria que no contiene el dato, si no la dirección de memoria donde se encuentra este, en este direccionamiento se puede combinar con todos los tipos de direccionamientos.
Formato de instrucciones: el formato de instrucciones indica los campos y el tamaño de los mismos para cada instrucción, en el diseño de formato de las instrucciones la primera decisión a considerar es el tamaño de las instrucciones, para tomar esta decisión se tiene que considerar los siguientes aspectos.
El tamaño de la memoria.
La organización de la memoria.
La estructura de buses.
La complejidad de la CPU y su velocidad.
Campo de código de operación: este campo específica la operación que realiza cada instrucción, el número de instrucciones que contribuyen el repertorio de un computador vendrá limitado por la longitud de este camp, todas las instrucciones contienen el campo de código de operación a diferencia del campo de dirección que es opcional. Cuando las instrucciones pueden tener más de un formato, el código de operación que siempre es el primer campo del formato, debe indicar el formato de la instrucción actual, si el tamaño del campo de código de operación es fijo para todos los posibles formatos de instrucciones de un procesador, y este campo tiene a bits se podrán tener 2 códigos diferentes cada uno de ellos asociados a una instrucción diferente.
...