PDF de programación - Juego de instrucciones

Imágen de pdf Juego de instrucciones

Juego de instruccionesgráfica de visualizaciones

Publicado el 13 de Julio del 2019
361 visualizaciones desde el 13 de Julio del 2019
1,2 MB
50 paginas
Creado hace 4a (28/01/2015)
Juego de
instrucciones


Miquel Albert Orenga
Gerard Enrique Manonellas

PID_00218268

CC-BY-SA • PID_00218268

Juego de instrucciones

Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-Compartir igual (BY-SA) v.3.0 España de Creative Commons. Se puede modificar la obra, reproducirla, distribuirla
o comunicarla públicamente siempre que se cite el autor y la fuente (FUOC. Fundació per a la Universitat Oberta de Catalunya), y
siempre que la obra derivada quede sujeta a la misma licencia que el material original. La licencia completa se puede consultar en:
http://creativecommons.org/licenses/by-sa/3.0/es/legalcode.ca

CC-BY-SA • PID_00218268

Índice

Juego de instrucciones


Introducción...............................................................................................

Objetivos.......................................................................................................

1.

Juego de instrucciones......................................................................
1.1. Ciclo de ejecución .......................................................................
1.2. Arquitectura del juego de instrucciones .....................................
1.3. Representación del juego de instrucciones .................................
Formato de las instrucciones ......................................................
1.4.
Elementos que componen una instrucción ...................
1.4.1.
1.4.2.
Tamaño de las instrucciones .........................................
1.5. Operandos ...................................................................................
1.5.1. Número de operandos ...................................................
1.5.2.
Localización de los operandos .......................................
1.5.3.
Tipo y tamaño de los operandos ...................................
Tipos de instrucciones ................................................................
Bits de resultado ............................................................
1.6.1.
1.6.2.
Instrucciones de transferencia de datos ........................
Instrucciones aritméticas ...............................................
1.6.3.
Instrucciones lógicas ......................................................
1.6.4.
1.6.5.
Instrucciones de ruptura de secuencia ..........................
1.6.6.
Instrucciones de entrada/salida .....................................
1.6.7. Otros tipos de instrucciones ..........................................
1.7. Diseño del juego de instrucciones ..............................................

1.6.


2. Modos de direccionamiento............................................................
2.1. Direccionamiento inmediato ......................................................
2.2. Direccionamiento directo ...........................................................
2.3. Direccionamiento indirecto ........................................................
2.4. Direccionamiento relativo ..........................................................
2.4.1. Direccionamiento relativo a registro base .....................
2.4.2. Direccionamiento relativo a registro índice ..................
2.4.3. Direccionamiento relativo a PC ....................................
2.5. Direccionamiento implícito ........................................................
2.5.1. Direccionamiento a pila ................................................


Resumen.......................................................................................................

5

6

7
7
8
9
10
10
11
14
14
14
15
17
17
18
19
23
26
32
32
33

34
36
37
38
40
41
42
44
46
46

48

CC-BY-SA • PID_00218268

Introducción

5

Juego de instrucciones

El juego de instrucciones es el punto de encuentro entre el diseñador del
computador y el programador. Desde el punto de vista del diseñador, es un pa-
so más en la explicitación del procesador de un computador y, desde el punto
de vista del programador en ensamblador, la herramienta básica para acceder
a los recursos disponibles del computador.

Para definir un juego de instrucciones hay que saber cómo se ejecutan las
instrucciones, qué elementos las forman y cuáles son las diferentes maneras de
acceder a los datos y a las instrucciones. Estos son los conceptos que trataremos
en este módulo y lo haremos de manera genérica para poderlos aplicar a todo
tipo de problemas reales y de procesadores comerciales.

Veremos cómo estos conceptos afectan a los diferentes parámetros de la ar-
quitectura del computador a la hora de definir el juego de instrucciones, qué
restricciones nos imponen y cómo podemos llegar a un compromiso entre fa-
cilitar la tarea al programador y dar una eficiencia máxima al computador.

CC-BY-SA • PID_00218268

Objetivos

6

Juego de instrucciones

Con los materiales didácticos de este módulo se pretende que los estudiantes
alcancen los objetivos siguientes:

1. Saber cómo se define el juego de instrucciones de un procesador.

2. Conocer los tipos de instrucciones más habituales en el juego de instruc-

ciones de un computador de propósito general.

3. Saber cómo funciona cada una de las instrucciones del juego de instruc-

ciones.

4. Aprender las nociones básicas necesarias para utilizar un juego de instruc-

ciones de bajo nivel.

5. Familiarizarse con las maneras de referenciar un dato en una instrucción.

CC-BY-SA • PID_00218268

7

Juego de instrucciones

1. Juego de instrucciones

La mayoría de los programas se escriben en lenguajes de alto nivel, como C++,
Java o Pascal. Para poder ejecutar un programa escrito en un lenguaje de alto
nivel en un procesador, este programa se debe traducir primero a un lenguaje
que pueda entender el procesador, diferente para cada familia de procesadores.
El conjunto de instrucciones que forman este lenguaje se denomina juego de
instrucciones o repertorio de instrucciones.

Para poder definir un juego de instrucciones, habrá que conocer bien la arqui-
tectura del computador para sacarle el máximo rendimiento; en este módulo
veremos cómo queda definido un juego de instrucciones según una arquitec-
tura genérica.

1.1. Ciclo de ejecución

Ejecutar un programa consiste en ejecutar una secuencia de instrucciones, de
manera que cada instrucción lleva a cabo un ciclo de ejecución. Esta secuencia
de instrucciones no será la secuencia escrita que hacemos de un programa,
sino la secuencia temporal de ejecución de las instrucciones considerando las
instrucciones de salto.

El ciclo￿de￿ejecución es la secuencia de operaciones que se hacen para
ejecutar cada una de las instrucciones y lo dividiremos en cuatro fases
principales:

1) Lectura de la instrucción.
2) Lectura de los operandos fuente.
3) Ejecución de la instrucción y almacenamiento del operando destino.
4) Comprobación de interrupciones.

Diferencias en las fases del ciclo de ejecución

Las fases del ciclo de ejecución son comunes en la mayoría de los computadores actuales y
las diferencias principales se encuentran en el orden en el que se llevan a cabo algunas de
las operaciones de cada fase o en el que se hacen algunas de las operaciones en otras fases.

En la tabla siguiente podéis ver de manera esquemática las operaciones que
se realizan en cada fase:

Inicio del ciclo de ejecución

Fase 1
Lectura de la instrucción

Leer la instrucción.

Descodificar la instrucción.

CC-BY-SA • PID_00218268

8

Juego de instrucciones

Inicio del ciclo de ejecución

Actualizar el PC.

Fase 2
Lectura de los operandos fuente

Calcular la dirección y leer el primer operando
fuente.

Calcular la dirección y leer el segundo operan-
do fuente.

Fase 3
Ejecución de la instrucción y almacenamiento
del operando destino

Ejecutar la instrucción.

Fase 4
Comprobación de interrupciones

Comprobar si algún dispositivo ha solicitado
una interrupción.

1.2. Arquitectura del juego de instrucciones

Las instrucciones de una arquitectura son autocontenidas; es decir, incluyen
toda la información necesaria para su ejecución.

Uno de los elementos necesarios en cualquier instrucción es el conjun-
to￿de￿operandos. Los operandos necesarios para ejecutar una instruc-
ción pueden encontrarse explícitamente en la instrucción o pueden ser
implícitos.

La localización dentro del procesador de los operandos necesarios para
ejecutar una instrucción y la manera de explicitarlos dan lugar a arqui-
tecturas diferentes del juego de instrucciones.

Según los criterios de localización y la explicitación de los operandos, podemos
identificar las arquitecturas del juego de instrucciones siguientes:

• Arquitecturas￿basadas￿en￿pila: los operandos son implícitos y se encuen-

tran en la pila.

• Arquitecturas￿basadas￿en￿acumulador: uno de los operandos se encuen-

tra de manera implícita en un registro denominado acumulador.

• Arquitecturas￿basadas￿en￿registros￿de￿propósito￿general: los operandos
se encuentran siempre de manera explícita, ya sea en registros de propósito
general o en la memoria.

Dentro de las arquitecturas basadas en registros de propósito general, podemos
distinguir tres subtipos:

• Registro-registro￿(o￿load-store). Solo pueden acceder a la memoria ins-

trucciones de carga (load) y almacenamiento (store).

• Registro-memoria. Cualquier instrucción puede acceder a la memoria con

uno de sus operandos.

CC-BY-SA • PID_00218268

9

Juego de instrucciones

Arquitectura memoria-
memoria

La arquitectura memoria-me-
moria es un tipo de arquitec-
tura que prácticamente no se
utiliza en la actualidad.

• Memoria-memoria. Cualquier instrucción puede acceder a la memoria

con todos sus operandos.

Ventajas de los subtipos de arquitecturas

El subtipo registro-registro presenta las ventajas siguientes respecto a los registro-memo-
ria y memoria-memoria: la codificación de las instrucciones es muy simple y de longitud
fija, y utiliza un número parecido de ciclos de reloj del procesador para ejecutarse. Como
contrapartida, se necesitan más
  • Links de descarga
http://lwp-l.com/pdf16285

Comentarios de: Juego de instrucciones (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad