PDF de programación - Capítulo 2 - El repertorio de instrucciones

<<>>
Imágen de pdf Capítulo 2 - El repertorio de instrucciones

Capítulo 2 - El repertorio de instruccionesgráfica de visualizaciones

Publicado el 5 de Julio del 2017
1.981 visualizaciones desde el 5 de Julio del 2017
1,8 MB
41 paginas
Captulo 2

El repertorio de instrucciones

2.1.

Introduccion

El funcionamiento de la CPU esta determinado por las instrucciones que eje-
cuta. Estas instrucciones se denominan instrucciones maquina o instrucciones del
computador. Al conjunto de instrucciones distintas que puede ejecutar la CPU se le
denomina repertorio de instrucciones de la CPU.

En los computadores actuales las instrucciones se representan como numeros y
los programas se pueden almacenar en memoria (concepto de programa almacenado).
Cada instruccion maquina debe contener la informacion que necesita la CPU para
su ejecucion. Los elementos constitutivos de una instruccion maquina son:

Codigo de operacion: especica la operacion a realizar (suma, E/S, etc.).
La operacion se indica mediante un codigo binario.

Referencia a operandos fuente: la operacion puede implicar a uno o mas
operandos fuente, es decir, operandos que son entradas para la instruccion.

Referencia al operando resultado: la operacion puede producir un resul-
tado.

Referencia a la siguiente instruccion: dice a la CPU de donde captar la
siguiente instruccion tras completarse la ejecucion de la instruccion actual.

En la mayora de los casos la siguiente instruccion a captar sigue inmediatamente
a la instruccion en ejecucion. En tales casos no hay referencia explcita a la siguiente
instruccion. Cuando sea necesaria una referencia explcita, debe suministrarse la
direccion de memoria principal o virtual.

23

24

CAPITULO 2. EL REPERTORIO DE INSTRUCCIONES

Los operandos fuente y resultado pueden estar en algunas de las siguentes areas:

Memoria principal o virtual: como en las referencias a instrucciones si-
guientes, debe indicarse la direccion de memoria principal o de memoria vir-
tual.

Registro de la CPU: salvo raras excepciones, una CPU contiene uno o mas
registros que pueden ser referenciados por instrucciones maquina. Si existe mas
de uno, cada registro tendra asignado un numero unico, y la instruccion debe
contener el numero del registro deseado.

Dispositivo de entrada/salida (E/S): la instruccion debe especicar el
modulo y dispositivo de E/S para la operacion. En el caso de E/S asignadas
en memoria, se dara otra direccion de memoria principal o virtual.

2.2. Representacion de las instrucciones

Dentro del computador, cada instruccion se representa por una secuencia de bits.
La instruccion esta dividida en campos, correspondientes a los elementos constitu-
tivos de la misma. La descripcion de la instruccion en campos y bits se denomina
formato de instruccion. La gura 2.1 muestra un ejemplo sencillo de formato de
instruccion. En la mayora de los repertorios de instrucciones se emplea mas de un
formato. Durante su ejecucion, la instruccion se escribe en un registro de instruccion
(IR) de la CPU. La CPU debe ser capaz de extraer los datos de los distintos campos
de la instruccion para realizar la operacion requerida.

Es difcil manejar las representaciones binarias de las instrucciones maquina,
por ello, se utilizan representaciones simbolicas de estas instrucciones. Tanto los
operandos como los codigos de operacion se suelen representar simbolicamente. Por
ejemplo, la instruccion

ADD R, Y

puede signicar \sumar el valor contenido en la posicion Y al contenido en el registro
R".

Es raro encontrar ya programadores en lenguaje maquina. La mayora de los
programas actuales se escriben en un lenguaje de alto nivel o, en su ausencia, en
lenguaje ensamblador.

2.3. DISE ÑO DEL REPERTORIO DE INSTRUCCIONES

25

4 bits

6 bits

6 bits

Codop

Ref. a operando

Ref. a operando

16 bits

Figura 2.1: Un formato de instrucciones sencillo

2.3. Diseño del repertorio de instrucciones

Uno de los aspectos mas interesantes y mas analizados del diseño de un compu-
tador, es el diseño del repertorio de instrucciones del lenguaje maquina. El diseño de
un repertorio de instrucciones es muy complejo, ya que afecta a muchos aspectos del
computador. El repertorio de instrucciones dene muchas de las funciones realizadas
por la CPU y tiene, por tanto, un efecto signicativo sobre la implementacion de
la misma. El repertorio de instrucciones es el medio que tiene el programador para
controlar la CPU.

Los aspectos mas importantes a tener en cuenta en el diseño del repertorio de

instrucciones son:

Repertorio de operaciones: cuantas y que operaciones considerar, y cuan
complejas deben ser.

Tipos de datos: los distintos tipos de datos con los que se efectuan opera-
ciones. Hay dos caractersticas importantes de los repertorios de instrucciones
que dividen las arquitecturas de registros de proposito general. Ambas estan
relacionadas con la naturaleza de los operandos. La primera es el numero de
operandos (dos o tres) que pueden tener las instrucciones de la ALU, y la
segunda, el numero de operandos que se pueden direccionar en memoria. Las
combinaciones posibles son:

Registro-registro (tambien llamada carga/almacenamiento)

Registro-memoria

Memoria-memoria

Formatos de instrucciones: longitud de la instruccion (en bits), numero de
direcciones, tamaño de los distintos campos, etc.

Registros: numero de registros de la CPU que pueden ser referenciados por
instrucciones, y su uso.

26

CAPITULO 2. EL REPERTORIO DE INSTRUCCIONES

Direccionamiento: el modo o modos de direccionamiento mediante los cuales
puede especicarse la direccion de un operando.

Estos aspectos estan fuertemente interrelacionados, y deben considerarse con-

juntamente en el diseño de un repertorio de instrucciones.

2.4. Direccionamiento

Independientemente que una arquitectura sea registro-registro o permita que
cualquier operando sea una referencia a memoria, debe denir cuantas direcciones
de memoria son interpretadas y como se especican. En esta seccion trataremos
ambas cuestiones.

2.4.1.

Interpretacion de las direcciones de memoria

>Como se interpreta una direccion en memoria? Es decir, >que objeto es accedido
como una funcion de la direccion y la longitud? En años recientes casi todos los
fabricantes de computadoras han adoptado como estandar una celda de 8 bits, que
recibe el nombre de byte. Los bytes se agrupan a su vez en palabras. Una computadora
con palabras de 32 bits tiene 4 bytes/palabra, mientras que una con palabras de 64
bits tiene 8 bytes/palabra. La importancia de las palabras es que casi todas las
instrucciones operan con palabras enteras; por ejemplo, suman dos palabras. As ,
una maquina de 32 bits tiene registros de 32 bits e instrucciones para manipular
palabras de 32 bits, mientras que una maquina de 64 bits tiene registros de 64 bits
e instrucciones para transferir, sumar, restar y manipular palabras de 64 bits.

En la mayora de las arquitecturas nos encontramos con un requisito denominado
restriccion de alineacion para el acceso a las direcciones de memoria. Por ejemplo,
en una arquitectura MIPS, cuyo tamaño de palabra es siempre 32 bits, las palabras
deben comenzar siempre en direcciones multiplo de 4 (puesto que cada palabra se
compone de 4 celdas o bytes). Esta restriccion de alineacion facilita la transferencia
de datos mas rapidamente.

Otro aspecto curioso y molesto, relacionado con la forma en que se referencian
y se representan los bytes dentro de una palabra y los bits dentro de un byte, es
el siguiente. Los bytes de una palabra pueden numerarse de izquierda a derecha o
de derecha a izquierda. A primera vista podra parecer que esta decision carece de
importancia pero, sin embargo, tiene implicaciones importantes. Hay dos convenios
diferentes para clasicar los bytes de una palabra:

2.4. DIRECCIONAMIENTO

27

Big Endian: usa la direccion del byte de mas a la izquierda o de \mayor peso"
como direccion de palabra.

Little Endian: usa el byte de mas a la derecha o de \menor peso" como direc-
cion de palabra.

2.4.2. Modos de direccionamiento

Se denominan modos de direccionamiento a aquellos algoritmos empleados por

el procesador para calcular las direcciones de las instrucciones y datos.

Los operandos de la instruccion pueden venir especicados por un registro, una
constante o una posicion de memoria. Cuando se utiliza una posicion de memoria la
direccion real de memoria especicada por el modo de direccionamiento se denomina
direccion efectiva.

El campo o campos de direccion en un formato de instruccion usual esta bastante
limitado. Nos gustara poder referenciar un rango grande de posiciones de memoria
principal o, en algunos sistemas, de memoria virtual. Para conseguir este objetivo
se han empleado diversas tecnicas de direccionamiento. Todas ellas implican algun
compromiso entre el rango de direcciones y/o exibilidad de direccionamiento de una
parte, y por otra, el numero de referencias a memoria y/o la complejidad d
  • Links de descarga
http://lwp-l.com/pdf4904

Comentarios de: Capítulo 2 - El repertorio de instrucciones (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad