Sunteți pe pagina 1din 3

Arquitectura y Organizacin de Computadoras

Ejercicio 1.
Objetivo del problema: encontrar el mayor de un nmero en una arreglo de 100 posiciones en la
memoria IAS.
Desarrollo:
1.

Condiciones iniciales: es importante considerar que no se cuenta con instrucciones para la toma
de datos de entrada (por ejemplo ingreso por teclado) entonces se asume que el arreglo y los
valores iniciales ya estn en la memoria IAS.
Memoria IAS: Datos
000

D
I
R
R
E
C
C
I
O
N
E
S

001

002

003

004

005

006

007
:

10

099

D
E

100

I
A
S

A
R
R
E
G
L
O

11

101
102

Contiene cada elemento del arreglo (S)

103

99

104

Contiene el elemento mayor (B)


Contiene el nmero de posiciones a repetir
(C )
Contiene una constate (D)

Observe que la memoria IAS se compone de direcciones de una longitud de 12 bits de acuerdo a la
definicin. En este ejemplo se ha enumerado el arreglo secuencialmente desde 000 hasta 099, para que
pueda entender que se trabajarn con cien elementos. Generalmente estas direcciones se encuentran
en hexadecimales, pero para facilitar la comprensin del ejemplo se ha manejado con expresiones
decimales (en base 10). Adems de las direcciones otro componente es la informacin misma que en
este caso son nmeros tambin representados en formato decimal.
Bajo el arreglo se observa que los espacios de memoria 101, 102, 103 y 104 son utilizados temporalmente
para el proceso de obtener el mayor de los elementos.
2.

Con las instrucciones de la tabla 2.1 se ha diseado un algoritmo que permita obtener el mayor
de estos elementos. Recuerde: no se puede incluir alguna instruccin que no est en la tabla. Se
muestra el algoritmo utilizado:

ALGORITMO
1.

Inicializar a B con 0, aqu se guardar temporalmente el elemento mayor en cada comparacin.

Primer bimestre

Gua didctica: Arquitectura de Computadores

2.

Inicializar S con el primer elemento a comparar.

3.

Realizar la operacin B-S.

4.

Si la operacin anterior es negativa, entonces ubicar en B el valor de S (indica que S es mayor).

5.

Si la operacin es positiva ( indica que B es mayor o igual), mantener el valor de B.

6.

Asignar a S el siguiente elemento a comparar.

7.

Volver al paso 3 hasta que se recorran todos los elementos del arreglo. (C<99).

A continuacin representamos el algoritmo anterior expresado en instrucciones de IAS.

F0
F1
F2
F3
F4
F5
F6
F7
F8

3.

DIR IZQ
LOAD M(099)
LOAD M(B)
JUMP +M(F3,0:19)
LOAD M(C)
STOR M(C)
JUMP + M(F0,0:19)
LOAD M(S)
JUMP (F3,0:19)

DIR DER
STORE M(S)
SUB M(S)
JUMP M(F6,0:19)
SUB M(D)
STOR M(F0,28:39)
JUMP (F8,0:19)
STOR M(B)
----------

El algoritmo anterior se lo ha formalizado de tal manera que sus instrucciones se representen


dentro del formato de la figura 2.2 literal b.
Memoria IAS: instrucciones

D
I
R
R
E
C
C
I
O
N
E
S

105
106
107
108
109
110
111
112

Codop
LOAD M(X)
LOAD M(X)
JUMP +M(X,0:19)
LOAD M(X)
STOR M(X)
JUMP +M(X,0:19)
LOAD M(X)
JUMP M(X,0:19)

Direccin
099
102
108
103
103
105
101
108

Codop
STORE M(X)
SUB M(X)
JUMP M(X,0:19)
SUB M(X)
STOR M(X,8:19)
JUMP M(X,0:19)
STOR M(X)
---------------

Direccin
101
101
111
104
105
113
102
----

I
N
S
T
R
U
C

113

114

I
O

115

116

4.

Seguido se debe hacer la corrida de prueba del algoritmo construido. Para ello debemos utilizar
las figuras 2.3 y figura 2.4. Los pasos a seguir son:
a.

Se inicia el proceso ubicando en el PC la direccin de la primera instruccin a ejecutar. PC


=105.

19

Gua
didctica:
Arquitectura de Computadores
Primer
bimestre

Gua didctica: Arquitectura de Computadores

Primer bimestre

5.

b.

Se obtiene la siguiente instruccin desde la memoria en la direccin


indicada por el contador de programa y se la guarda en el registro de
instruccin. MBR M(105).

c.

Se decodifica la instruccin mediante la unidad de control. Esta se


encarga de coordinar el resto de componentes del ordenador para
realizar una funcin determinada.

d.

Se ejecuta la instruccin. Esta puede cambiar el valor del contador del


programa, permitiendo as operaciones repetitivas. El contador puede
cambiar tambin cuando se cumpla una cierta condicin aritmtica,
haciendo que el ordenador pueda tomar decisiones, que pueden
alcanzar cualquier grado de complejidad, mediante la aritmtica y
lgica anteriores.

e.

Se aumenta el contador de programa


instruccin para apuntar a la siguiente.

f.

Se repite el proceso con todas las instrucciones.

en la longitud

de la

Ahora, se utiliza la siguiente tabla para indicar el proceso que se ha seguido:


AC

PC
F0 (IZQ)
F0 (DER)
F1(IZQ)
F1(DER)
F2(IZQ)
F2(DER)
F6(IZQ)
F6(DER)
F7(IZQ)
F3(IZQ)
F3(DER)
F4(IZQ)
F4(DER)
F5(IZQ)
F0( IZQ)
.

M(099)9
9
0
(0-9)-9
(AC>0)
PC=F6
M(S)9
9
PC=F3
M(C)99
(99-1)98
98
98
(AC>0), PC=F0
M(098)8

M(S)

M(B)

M(C)

M(D)

0
9
9
9
9

0
0
0
0
0

99
99
99
99
99

1
1
1
1
1

9
9
9
9
9
9
9
9
9

0
9
9
9
9
9
9
9
9
..

99
99
99
99
99
98
98
98
98
..

1
1
1
1
1
1
1
1
1
..

DEBER:
Una vez que ha comprendido el ejercicio realice lo siguiente:
1.
Transcriba
el
algoritmo
representaciones hexadecimales.
2.

con

Complete qu funcin cumplen los registros IBR, MBR, MAR


en cada uno de los pasos en el numeral 5.

Libro Arquitectura de Computadoras William Stalling 7ma ed.


Ing. Gerson Paul Alberca Gua Didctica Arquitectura de Computadoras

Cambio de
instruccin

F1: LOAD M(098)


..

S-ar putea să vă placă și