Arquitectura de Computadores Cap VI:Repertorio de Instrucciones

13,749 views

Published on

Repertorio de Instrucciones
Ponente: Ing. Greyson Alberca Prieto

Published in: Education, Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
13,749
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
546
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • C odigo de operaci on: especi ca la operaci on a realizar (suma, E/S, etc.). La operaci on se indica mediante un c odigo binario. Referencia a operandos fuente: la operaci on puede implicar a uno o m as operandos fuente, es decir, operandos que son entradas para la instrucci on. Referencia al operando resultado: la operaci on puede producir un resultado. Referencia a la siguiente instrucci on: dice a la CPU de d onde captar la siguiente instrucci on tras completarse la ejecuci on de la instrucci on actual. En la mayor a de los casos la siguiente instrucci on a captar sigue inmediatamente la instrucci on en ejecuci on. En tales casos no hay referencia expl cita a la siguiente instrucci on. Cuando sea necesaria una referencia expl cita, debe suministrarse la direcci on de memoria principal o virtual.
  • Dependiendo del tipo de instrucción se evaluará su modo de representación y ejecución.
  • En la figura 9.3 se puede comparar los diferentes tipos de instrucciones con sus direcciones y en que se diferencian cada una de ellas. En la tabla 9.1 se puede ver como se interpretan las instrucciones de acuerdo al número de direcciones.
  • Es el medio que tiene el programador para controlar la CPU.
  • Revisar como es que ocurre que el usuario ingresa siempre números decimal y la salida también es decimal, si la computadora trabaja con binarios, referirse al decimal empaquetado. Revisar la tabla 6.1 que muestra la representación de estos tipos de datos
  • En la tabla 9.3 se presenta los subtipos de operaciones a realizar dependiendo del tipo de operación. .
  • En la tabla 10.11 se muestran ejemplos de las instrucciones de transferencia de datos más comunes. Hay algunas acciones que ejerce la CPU para varios tipos de operaciones, estas se resumen en la figura 9.4 Transferencias de datos. Las instrucciones que trans eren datos entre memoria y registros se denominan instrucciones de transferencia de datos. Para acceder a una palabra en memoria, la instrucci on debe proporcionar la direcci on de memoria. La instrucci on de transferencia que mueve datos de memoria a alg un registro se denomina carga (load). La instrucci on complementaria, llamada almacenar (store), trans ere datos de un registro a memoria.
  • El ejecutar una instrucción aritmética puede implicar operaciones de transferencia de datos para ubicar los operandos como entradas a la ALU. Aritm eticas. La mayor a de las m aquinas proporcionan las operaciones artim eticas b asicas de suma, resta, multiplicaci on y divisi on. Estas se tienen siempre para n umeros enteros con signo y, a menudo, para n umeros en coma flotante. Otras operaciones posibles son, por ejemplo, c alculo del valor absoluto, cambiar el signo al operando o incrementar o decrementar el operando
  • Hacer referencia a la figura 9.5 para diferenciar su funcionamiento. L ogicas. La mayor a de las m aquinas tambi en disponen de diversidad operaciones para manipular bits individuales dentro de una palabra o de otra unidad direccionable. Est an basadas en operaciones booleanas.
  • De entrada/salida. Las instrucciones de E/S se pueden hacer corresponder f acilmente con las ordenes de E/S que la CPU env a a un m odulo de E/S, a menudo hay una simple relaci on de uno a uno.
  • De control del sistema. Estas instrucciones son, por lo general, instrucciones privilegiadas que pueden ejecutarse s olo mientras el procesador est a en un estado privilegiado concreto o est a ejecutando un programa de una zona privilegiada espec ca de memoria. Normalmente estas instrucciones est an reservadas para el sistema operativo.
  • De control de flujo. En todos los tipos de operaciones discutidos hasta aqu , la siguiente instrucci on a ejecutar es la inmediatamente posterior, en memoria, a la instrucci on en curso. Sin embargo, una fracci on signi cativa de las instrucciones de cualquier programa tienen como misi on cambiar la secuencia de ejecuci on de instrucciones. La operaci on que realiza la CPU es actualizar el contador de programa para que contenga la direcci on de alguna de las instrucciones que hay en memoria. Las operaciones de control de ujo que se pueden encontrar en los repertorios de instrucciones son: Instrucciones de bifurcaci on, tambi en llamadas de salto". Tienen como uno de sus operandos la direcci on de la siguiente instrucci on a ejecutar. Instrucciones de salto condicional. Se efect ua la bifurcaci on (se actualiza el contador de programa con la direcci on especi cada en el operando) s olo si se cumple una condici on dada, en caso contrario se ejecuta la instrucci on siguiente de la secuencia (se incrementa el contador de programa de la forma habitual). Instrucciones de llamada a subrutina. En cualquier punto del programa se puede invocar o llamar a la subrutina. Se ordena al computador que pase a ejecutar la subrutina y que retorne despu es al punto en que tuvo lugar la llamada. El uso de subrutinas requiere por tanto dos instrucciones b asicas: una instrucci on de llamada, que produce una bifurcaci on desde la posici on actual al comienzo de la subrutina, y una instrucci on de retorno de la subrutina al lugar desde el que se llam o.
  • Arquitectura de Computadores Cap VI:Repertorio de Instrucciones

    1. 1. <ul><li>ESCUELA : </li></ul><ul><li>PONENTE: </li></ul><ul><li>BIMESTRE: </li></ul>Arquitectura de Computadores <ul><li>CICLO: </li></ul>CIENCIAS DE LA COMPUTACIÓN II BIMESTRE Ing. Greyson Alberca Prieto Octubre – Febrero 2009
    2. 2. Contenidos <ul><li>Aritm ética del Computador </li></ul><ul><li>Repertorio de Instrucciones </li></ul><ul><li>Unidad de Control </li></ul><ul><li>Unidad Aritmético Lógica </li></ul><ul><li>Bibliograf ía ・ Organizaci ón y Arquitectura de Computadores, William Stalling </li></ul>Capítulo VI Arquitectura de Computadores
    3. 3. Objetivos <ul><ul><ul><li>Identificar los elementos esenciales de una instrucción del computador </li></ul></ul></ul><ul><ul><ul><li>Definir los códigos de operación y su funcionamiento. </li></ul></ul></ul><ul><ul><ul><li>Conocer como ocurre la referencia a operandos. </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    4. 4. Temas <ul><ul><ul><li>1. Características de las instrucciones máquina </li></ul></ul></ul><ul><ul><ul><ul><li>1.1. Elementos de una instrucción máquina </li></ul></ul></ul></ul><ul><ul><ul><ul><li>1.2. Representación de la instrucciones </li></ul></ul></ul></ul><ul><ul><ul><ul><li>1.3. Tipos de instrucciones </li></ul></ul></ul></ul><ul><ul><ul><ul><li>1.4. Número de direcciones </li></ul></ul></ul></ul><ul><ul><ul><ul><li>1.5. Diseño del repertorio de instrucciones </li></ul></ul></ul></ul><ul><ul><ul><li>2. Tipos de operandos </li></ul></ul></ul><ul><ul><ul><ul><li>2.1. Números </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2.2. Caracteres </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2.3. Datos Lógicos </li></ul></ul></ul></ul><ul><ul><ul><ul><li>2.4. División </li></ul></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    5. 5. Temas <ul><ul><ul><li>3. Tipo de operaciones </li></ul></ul></ul><ul><ul><ul><ul><li>3.1. Transferencia de datos </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.2. Aritméticas </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.3. Lógicas </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.4. conversión </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.5. Entrada/Salida </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.6. Control del sistema </li></ul></ul></ul></ul><ul><ul><ul><ul><li>3.7. Control de flujo </li></ul></ul></ul></ul><ul><ul><ul><li>4. Lenguaje ensamblador </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    6. 6. Introducci ón <ul><li>El funcionamiento de la CPU esta determinado por las instrucciones que ejecuta(instrucciones m áquina o instrucciones de computador ). El conjunto de instrucciones se determina “ repertorio de instrucciones” </li></ul>Capítulo VI Arquitectura de Computadores
    7. 7. <ul><li>Conjunto de instrucciones que son entendidos por CPU </li></ul><ul><li>C ódigos máquina </li></ul><ul><li>Binarias </li></ul><ul><li>Generalmente representadas en c ódigo ensamblador </li></ul>Capítulo VI Arquitectura de Computadores Repertorio de Instrucciones
    8. 8. Características de las instrucciones máquina <ul><ul><ul><li>Elementos de una instrucción máquina </li></ul></ul></ul><ul><ul><ul><ul><li>Código de operación </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Referencia de datos fuente </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Referencia al operando resultado </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Referencia a la siguiente instrucción </li></ul></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    9. 9. Representación de la instrucciones <ul><li>Cada instrucción dentro del computador se representa en una secuencia de bits </li></ul><ul><li>Para facilitar la representación se usan representaciones simbólicas, tenemos. </li></ul><ul><ul><ul><li>ADD Sumar </li></ul></ul></ul><ul><ul><ul><li>SUB restar </li></ul></ul></ul><ul><ul><ul><li>MPY Multiplicar </li></ul></ul></ul><ul><ul><ul><li>DIV Dividir </li></ul></ul></ul><ul><ul><ul><li>LOAD Cargar datos a memoria </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    10. 10. Tipos de instrucciones <ul><ul><ul><li>De procesamiento de datos </li></ul></ul></ul><ul><ul><ul><li>De almacenamiento de datos </li></ul></ul></ul><ul><ul><ul><li>De transferencia de datos </li></ul></ul></ul><ul><ul><ul><li>De Control </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    11. 11. Número de direcciones <ul><ul><ul><li>El número de direcciones para una instrucción depende del diseño del CPU </li></ul></ul></ul><ul><ul><ul><li>Van desde una , dos, tres y hasta cuatro. En el caso de cuatro los elementos son: dos operadores, un resultado y la dirección de la instrucción siguiente(en la mayoría de casos viene implícita). </li></ul></ul></ul><ul><ul><ul><li>La definición del número de direcciones varía mucho pues si el número de direcciones es de uno, esto implica una CPU menos compleja, instrucciones más cortas, lo mismo ocurre si son de tres o cuatro va subiendo la complejidad. </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    12. 12. Diseño del repertorio de instrucciones <ul><li>Aspectos de diseño fundamentales en el diseño de un repertorio de instrucciones: </li></ul><ul><ul><li>Repertorio de operaciones </li></ul></ul><ul><ul><li>Tipos de datos </li></ul></ul><ul><ul><li>Formato de instrucciones </li></ul></ul><ul><ul><li>Registros </li></ul></ul><ul><ul><li>Direccionamiento </li></ul></ul>Capítulo VI Arquitectura de Computadores
    13. 13. Tipos de operandos <ul><li>Como las instrucciones máquina operan con datos </li></ul><ul><li>Las categorías más importantes de datos son: </li></ul><ul><ul><li>Números </li></ul></ul><ul><ul><li>Caracteres </li></ul></ul><ul><ul><li>Datos Lógicos </li></ul></ul><ul><ul><li>División </li></ul></ul>Capítulo VI Arquitectura de Computadores
    14. 14. Datos <ul><li>Caracteres </li></ul><ul><li>Al igual que los números los caracteres se almacenan en los sistemas de cómputo en datos binarios. Una de la representaciones mas conocida es el ASCII </li></ul><ul><li>Datos Lógicos </li></ul><ul><li>A veces es útil considerar una unidad de n bits como n elementos o datos de 1 bit, donde cada elemento tiene un valor 1 o 0. </li></ul><ul><li>Números </li></ul><ul><li>Tenemos tres tipos de datos numéricos: </li></ul><ul><ul><li>Entero o coma fija </li></ul></ul><ul><ul><li>La coma flotante </li></ul></ul><ul><ul><li>En decimal </li></ul></ul>Capítulo VI Arquitectura de Computadores
    15. 15. Tipos de Operaciones <ul><li>Los códigos de operación varían de una máquina a otra, pero las operaciones son las mismas. Los tipos de operaciones son: </li></ul><ul><ul><ul><li>Transferencia de datos </li></ul></ul></ul><ul><ul><ul><li>Aritméticas </li></ul></ul></ul><ul><ul><ul><li>Lógicas </li></ul></ul></ul><ul><ul><ul><li>Conversión </li></ul></ul></ul><ul><ul><ul><li>Entrada/Salida </li></ul></ul></ul><ul><ul><ul><li>Control del sistema </li></ul></ul></ul><ul><ul><ul><li>Control de flujo </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    16. 16. Transferencia de datos <ul><li>La instrucción de transferencia debe especificar varias cosas: </li></ul><ul><ul><li>Posiciones de los operandos fuente y destino </li></ul></ul><ul><ul><li>Longitud de los datos a transferir </li></ul></ul><ul><ul><li>Modo de direccionamiento para cada operando </li></ul></ul>Capítulo VI Arquitectura de Computadores
    17. 17. Aritméticas <ul><li>Las operaciones aritméticas básicas son: suma , resta, multiplicación y división; pero hay operaciones que requieren un solo operando: </li></ul><ul><ul><li>Absolute </li></ul></ul><ul><ul><li>Negative </li></ul></ul><ul><ul><li>Increment </li></ul></ul><ul><ul><li>Derement </li></ul></ul>Capítulo VI Arquitectura de Computadores
    18. 18. Lógicas <ul><li>Se basan en operaciones boleanas. </li></ul><ul><li>En este caso se aplican operando básicos como, AND, OR, XOR, EQUAL. </li></ul><ul><li>Además se incluyen operaciones de desplazamiento y rotación tales como. </li></ul><ul><ul><ul><ul><li>Desplazamiento lógico a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento lógico a la izquierda </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento aritmético a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Desplazamiento aritmético a la izquierda </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Rotación a la derecha </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Rotación a la izquierda </li></ul></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    19. 19. <ul><ul><ul><li>Conversión </li></ul></ul></ul><ul><ul><ul><li>Instrucciones de conversión son aquellas que cambian el formato u operan sobre el formato de los datos. Un ejemplo común es el de convertir un decimal a binario. </li></ul></ul></ul><ul><ul><ul><li>Entrada/Salida </li></ul></ul></ul><ul><ul><ul><li>Como ya los revisamos antes teníamos varios tipos de entradas salidas: entrada/salida programada aisladas, entradas/salidas programadas asignadas en memoria, DMA y procesador de E/S. revisar capitulo de E/S </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    20. 20. <ul><ul><ul><li>Control del sistema </li></ul></ul></ul><ul><ul><ul><li>Llamadas instrucciones privilegiadas, que se ejecutan solo cuando el procesador está en un estado privilegiado o está ejecutando un programa en una zona privilegiada. Por lo general las usan el sistema operativo. </li></ul></ul></ul>Capítulo VI Arquitectura de Computadores
    21. 21. Control de flujo <ul><li>Algunas razones para el uso de funciones de control de flujo: </li></ul><ul><ul><li>Para ejecutar instrucciones mas de una vez </li></ul></ul><ul><ul><li>Para la toma de decisiones </li></ul></ul><ul><ul><li>Ejecución de programas largos </li></ul></ul><ul><li>Operaciones de control de flujo: </li></ul><ul><ul><li>Instrucciones de bifurcación </li></ul></ul><ul><ul><li>Instrucciones de salto implícito </li></ul></ul><ul><ul><li>Instrucciones de llamada a procedimiento </li></ul></ul>Capítulo VI Arquitectura de Computadores
    22. 22. Lenguaje ensamblador <ul><li>La CPU puede interpretar y ejecutar instrucciones máquina. Estos son números binarios almacenados en el computador. Para programar todas estas operaciones es necesario utilizar sentencias en lenguajes máquina. </li></ul>Capítulo VI Arquitectura de Computadores

    ×