Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Tema 2, Apuntes de Ingeniería del Software

Asignatura: Estructura de los computadores, Profesor: José Jaime Ruiz Ortiz, Carrera: Ingeniería de Software, Universidad: UCM

Tipo: Apuntes

2012/2013

Subido el 13/05/2013

plandevida
plandevida 🇪🇸

4.3

(23)

15 documentos

1 / 72

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Tema 2: Diseño del repertorio de instrucciones.
1. Formato de las instrucciones
2. Propiedades generales del direccionamiento
3
Md
d
di i i t
3
.
M
o
d
os
d
e
di
recc
i
onam
i
en
t
o.
4. Formato de los datos
5. Instrucciones que operan sobre datos
1
ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48

Vista previa parcial del texto

¡Descarga Tema 2 y más Apuntes en PDF de Ingeniería del Software solo en Docsity!

Tema 2: Diseño del repertorio de instrucciones. 1. Formato de las instrucciones2. Propiedades generales del direccionamiento3 M d^ d^ di^ i

i^ t

3. Modos de direccionamiento.4. Formato de los datos5. Instrucciones que operan sobre datos

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Elementos que determinan una arquitectura ISA (

Instruction Set Architecture

^ Las^ instrucciones^ son

las^ acciones^ elementales

que^ puede^ ejecutar^ un

computador

^ Las^ instrucciones^ son

las^ acciones^ elementales

que^ puede^ ejecutar^ un

computador.

^ Una acción compleja deberá codificarse como una secuencia de instrucciones máquina. ^ Una instrucción codifica los siguientes elementos:• una^ operación básica^ • que realiza sobre unos

datos^ ubicados en memoria o en los registros

  • a los que accede utilizando un

modo de direccionamiento

^ Por tanto el repertorio de instrucciones vendrá definido por:^ •^ Conjunto^ básico

de^ operaciones^ que^ se

realizan^ sobre^ los^ datos

Conjunto^ básico^ de^ operaciones

que^ se^ realizan^ sobre los^ datos: suma, resta, etc. • Tipos de datos y formatos que manejan las instrucciones:naturales, enteros, reales, caracteres, etc.

tipo de direccionamiento naturales, enteros, reales, caracteres, etc. • Modos de direccionamiento de los datos en la memoria:inmediato, directo, indirecto, etc.  i d d d^ lid d

tipo de direccionamiento^ .indirecto^ -- directo^ -- inmediato --^ (MUL, real, indirecto)^ ADD^ XOR^ SUB^ MUL

Propiedad de ortogonalidad.^ •^ Determina la posibilidad de combinar en una instrucción:operaciones, tipos de datos y modos de direccionamiento

operaciones entero -- ADD^ XOR^ SUB^ MUL| |^ |^ |^ | natural --real -- tipo de datos^2 ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Modelo de ejecución de programas en una arquitectura (2)Modelo con máquina virtual

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Formato de las instrucciones^ •^ Las informaciones de las instrucciones se codifican siguiendo un formato preestablecido.^ •^ El formato determinará la longitud en bits de las instrucciones así como el significado ylongitud de cada uno de sus camposlongitud de cada uno de sus campos.^ •^ En general una instrucción se compone de los siguientes campos:^ ^ Código de operación (CO)^ ^ Operandos fuente (OP1, OP2,...)^ ^ Operando destino o Resultado (OPd)^ ^ Instrucción siguiente (IS)^ CO

OP1^ OP^

..........^ OPd^

IS

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Ejemplo

E = (A^ B)(C + D)E^ = (A – B)(C + D)

3 operandos^

2 operandos^

1 operando^

0 operandos

ADD C, D, CSUB A^ B^ A

ADD^ C, DSUB^ A^ B

LOAD^ A SUB^ B

(PUSH) LOAD A(PUSH) LOAD B

SUB A, B, AMUL A, C, E

SUB^ A, BMUL^ B,^ D MOV D,^ E

SUB^ B STORE ALOAD^ C ADD^ D MUL^ A

(PUSH) LOAD BSUB(PUSH) LOAD D(PUSH) LOAD CADD MUL^ A STORE E

ADDMUL(PULL) STORE E^7 ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Diseño del repertorio de instrucciones (2)Clasificación según la forma de almacenar operandos en la CPU^ • Arquitectura de pila (HP 3000/70)• Arquitectura de acumulador (Motorola 6809)• Arquitectura de

registros de propósito general

(IBM 360)

Ejemplo : código máquina en cada una de las tres alternativas correspondiente a la sentenciade asignación C := A + B

C = A + B

Pila^ Acumulador

Conjunto de registrosj^

g PUSH ALOADPUSH B

ALOADADD B

A,^ R1ADD B^ R

PUSH BADDADDPOP^ C

BADDSTORE C

B,^ R1STORE^ R1, C

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Códigos de operación de longitud fija y variable^ •^ La^ longitud^ del

CO^ de^ un^ repertorio^ no

tiene^ por^ que^ ser^ la^ misma

para^ todas^ las^ instrucciones

La^ longitud^ del^ CO^ de

un^ repertorio^ no^ tiene

por^ que^ ser^ la^ misma para^ todas^ las^ instrucciones

-^ Se puede ampliar el CO en instrucciones que necesiten menos bits en los operandos •^ Ejemplo: Máquina con instrucciones de longitud fija de 24 bits y 16 registros generales^ CO^ R

OP 0 0 0 0ROP0 0 0 1ROP...

15 instrucciones de CO^ R^

OP

.. .. 1 1 1 0R

....

2 operandos(CO de 4 bits) OP 1 1 1 1^ 0 0 0 01 1 1 1^ 0 0 0 1.

15 instrucciones de

. 1 1 1 1 1 1 1 0^

1 operando(CO de 8 bits) 1 1 1 1^ 1 1 1 1^ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

16 2 65 536 1 1 1 1^ 1 1 1 1^ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.. 1 1 1 1^ 1 1 1 1^ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

16 2 = 65.536instrucciones de0 operandos(CO de 24 bits)

10

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Otra alternativa^ • Dedicar 2 bits para indicar si la instrucción tiene 0, 1 o 2 operandos:^2

L^ CO^

R^

OP

En este caso podemos codificar los siguientes grupos de instrucciones:En^ este caso podemos codificar los siguientes grupos de instrucciones:L = 00^ ^ CO de 2 bits

^ 4 instrucciones de 2 operandos L = 01^ ^ CO de 6 bits

^ 64 instrucciones de 1 operando L = 10^ ^ CO de 22 bits

^ 4.194.304 instrucciones de 0 operandos Team 2^

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Ejemplo^ Supongamos las siguientes frecuencias de ejecución de 7 tipos diferentes de instrucciones:Supongamos^ las siguientes frecuencias de ejecución de 7 tipos diferentes de instrucciones:

Tipo de instrucciones^ Frecuencia de ejecución

Código de Huffman ADD^ 0.

0

  • CO de longitud fija:(se necesitarían 3 bits)

SUB0.25MUL0.12DIV0.03STA0.

(^1011011100111010) LDAJMP ADD^ 0. 0.020.

(^11110111110010) 0

(^1) 0.470. SUB^ 0.25MUL^ 0.12DIV^ 0.

  • CO de longitud variable:(se necesitan 1 89 bits)

0 1 1 0.06 STA 0.03 1 0.10LDA 0.02 0 0.04JMP 0. (se^ necesitan 1,89 bits)

1 lfl iimi^ bitsbits^3891

(^502). (^0502). 0 (^5003). (^05003). 0 (^312). (^0225). (^01) (^53). (^0) 

   

^ 

13

bitsbits _ (^3) _ (^89). 1 ^ ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Propiedades generales del direccionamiento.Resolución^ • Es la menor cantidad de información direccionada por la arquitectura.• El mínimo absoluto es un bit, aunque esta alternativa la utilizan pocos procesadores.• Lo más frecuente en los procesadores actuales es utilizar resoluciones de 1 o 2 bytes.• La resolución puede ser diferente para instrucciones y datos.•Ejemplos:Ejemplos:Resolución^

MC6802^ VAX-

IBM/370^ B

B6700^ iAPX Resolución^ MC6802^0

VAX 11^ IBM/

B1700^ B

iAPX

Instrucciones^16 Datos^8

Datos^8

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Alineación^ Un objeto de datos de

n^ bytes^ ubicado en la dirección de memoria

D^ está alineado si

D mod n = 0 Objeto de datos direccionado (tamaño)

Alineaciones^ correctas Objeto^ de datos direccionado (tamaño)

Alineaciones correctas bytemedia palabra (2 bytes)

D t^ i^ d^ á^ i^

ól^ it^

li^ d media palabra (2 bytes)palabra (4 bytes)doble palabra (8 bytes)

^ Determinadas máquinas sólo permiten accesos alineados ^ La falta de alineación implica complicaciones hardware ^ Los programas con accesos alineados se ejecutan más rápidamente ^ Para alinear datos se utiliza una red de alineación.

32 bits 32 bits (^) 32 bits32 bits l CPU a la CPU ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Espacios de direcciones^ U^ i^

d^ d^ h^

3 i^ d^ di^ i^

dif

Un mismo procesador pueden tener hasta 3 espacios de direcciones diferentes:^ ^ Espacio de direcciones de registros^ ^ Espacio de direcciones de memoria^ ^ Espacio de direcciones de entrada/salidaLos espacios de direcciones de memoria y entrada/salida de algunos procesadoresestán unificados (un solo espacio)

( p ) - Los puertos de E/S ocupan direcciones de memoria.N i t i t i^ ífi^ d

E/S

  • No existen instrucciones específicas de E/S- Se utilizan las de referencia a memoria (carga y almacenamiento)con las direcciones asignadas a los puertos.

g^ p ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Directo (memoria o registros)^ OPER = Dirección de memoria o de un registroDE = OPERDO = ^

Memoriao Registros CO^ OPER

DO ^ La especificación de un

registro requiere menor número de bits

que la de una

posición de memoria  El acceso a los^ registros es más rápido

que a Memoria ^ El direccionamiento directo a memoria se conoce como

absoluto El direccionamiento directo a memoria se conoce como

absoluto ^ A veces se limita el número de bits de OPER limitando el acceso a sólo una parte de lamemoria ( página cero

ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE

Indirecto (memoria)^ OPER = Dirección de memoriaDE = DO = <>

Memoria CO^ OPER

n-p^2 direcciones (directo) CO^ direcciónp^ bits^ n-p^ bits DE DO

p^ bits^ n-p^ bits

n-p^2 direccionesn^2 di^ i CO^ dirección^ di^ ^ n- bits

n^2 direcciones (indirecto) dirección ^ Permite el tratamiento de una

dirección de memoria como un dato ^ Permite el^ paso por referencia

de parámetros a subrutinas ^ Permite^ referenciar un espacio mayor

de direcciones ESTRUCTURA DE COMPUTADORES. GRADO EN INGENIERIA DEL SOFTWARE