Vous êtes sur la page 1sur 3

CPU

EJERCICIO 1

Indica el contenido de la memoria despus de la ejecucin de la siguiente porcin


de cdigo, teniendo en cuenta la situacin inicial:
(1) MOVEA.L #$000A02, A0
(2) MOVE.W (A0)+, D2
(3) MOVE.L $000A00, $000A02
(4) MOVE.B 0(A0, D2.W), $000A01

Situacin inicial:

$000A00 AF
$000A01 34
$000A02 00
$000A03 02
$000A04 56
$000A05 12
$000A06 00
$000A07 3D

EJERCICIO 2

Sabemos que los registros A3 y A4 de un procesador 68000 tienen almacenados


los valores A3=$305 y A4=$400. Escribir una sola instruccin en lenguaje
ensamblador con la cual se mueva el byte contenido en la posicin de memoria
$304 a la posicin $408 sin utilizar el modo de direccionamiento directo a
memoria.

EJERCICIO 3

Determinar qu ciclos de memoria producir la ejecucin de la siguiente


instruccin del MC68000, y en qu orden:
ADD.L (A0)+, 4(A0)

Siendo el valor inicial de A0=$00000400, y de la memoria:


$00030C $3456 $000406 $3456
$00030E $7890 $000408 $7890
$000400 $1234 $00040A $1234
$000402 $5678 $00040C $5678
$000404 $9012 $00040E $9012

Determinar para cada ciclo el valor del bus de direcciones, del bus de datos y de la
lnea de Lectura/Escritura.

1
EJERCICIO 4

Determinar el contenido de los octetos de memoria comprendidos entre las


direcciones $4000 y $4007, suponiendo que inicialmente todos ellos valen $55,
despus de ejecutar las siguientes instrucciones:
(1) MOVE.L #$33, $4002
(2) MOVE.W #$4444, $4000
(3) MOVE.L #$6666, $4004
(4) MOVE.B #$11, $4002
(5) MOVE.B #$22, $4001

EJERCICIO 5

Se dispone de un procesador con un bus de datos de 16 bits, capaz de direccionar


64 Mbytes de memoria y cuyas instrucciones tienen un tamao de 64 bits. Indicar
cuntos accesos a memoria realiza este procesador y con qu propsito se
realizan al ejecutar las siguientes instrucciones:
(1) MOVE.L #$A0000, $F0AA00
(2) ADD.W $00FF, $0200
(3) JMP $FFFF

Nota: La nomenclatura, la semntica y los modos de direccionamiento de estas


instrucciones son similares a las del MC68000.

EJERCICIO 6

Tenemos un procesador MC68000 trabajando con un reloj de 12.5 MHz. A dicha


frecuencia el procesador tarda en realizar un ciclo de bus (lectura o escritura) 320
ns. Suponiendo que el procesador ha tardado 960 ns en ejecutar la instruccin
MOVE.L (A7), D0. Indica cul es el nmero de palabras que ocupa el cdigo
mquina de la instruccin.

EJERCICIO 7

Considera el siguiente conjunto de instrucciones:

I1 : MOVE #10,D1 ; D1 := 10
I2 : ADD D1,D2,D3 ; D3 := D1 + D2
I3 : SUB D3,D2, D4 ; D4 := D3 - D2
I4 : ADD D3,D5,D6 ; D6 := D3 + D5

a) Indica las dependencias de datos existentes entre las instrucciones.

b) Vamos a considerar una segmentacin (pipeline) de 5 etapas (F:


extraccin, D: decodificacin, O: obtencin de operandos, E: ejecucin, W:
escritura de resultado). Completa el siguiente grfico de los ciclos
necesarios para ejecutar dicha secuencia de instrucciones, de forma que se

2
obtenga el resultado correcto. Para ello debern indicarse los retardos
necesarios segn las dependencias de datos existentes, manteniendo una
instruccin en la misma etapa del pipeline durante los ciclos que se
considere necesario. Debe suponerse que todas las etapas del pipeline
duran 1 ciclo y que no se utiliza anticipacin (data forwarding).

Ciclo/Inst. 1 2 3 4 5 6 7 8 9 10 11 12 13 14
I1 F D O E W
D1
I2
I3
I4

Vous aimerez peut-être aussi