0% encontró este documento útil (0 votos)
35 vistas11 páginas

Recu Micros

El documento presenta ejercicios sobre arquitecturas de microprocesadores, incluyendo Harvard y Von Neumann, y sus características como el tamaño de registros, buses de datos y direcciones. Se analizan instrucciones específicas y se requiere calcular valores finales de registros y memorias tras la ejecución de dichas instrucciones. Además, se discuten aspectos como el tamaño del contador de programa y el registro de instrucciones en diferentes arquitecturas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas11 páginas

Recu Micros

El documento presenta ejercicios sobre arquitecturas de microprocesadores, incluyendo Harvard y Von Neumann, y sus características como el tamaño de registros, buses de datos y direcciones. Se analizan instrucciones específicas y se requiere calcular valores finales de registros y memorias tras la ejecución de dichas instrucciones. Además, se discuten aspectos como el tamaño del contador de programa y el registro de instrucciones en diferentes arquitecturas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ejercicio 1

❑ La siguiente figura muestra un diagrama de bloques simplificado de la arquitectura interna de un


microprocesador. Dicho microprocesador consta de dos memorias ambas direccionables a nivel de
palabra, una de instrucciones (Memoria 1) y otra de datos (Memoria 2), así como de un banco de
registros de 16 bits. El ancho del bus de datos de la memoria 1 es de 16 bits, pero puede haber
instrucciones que requieran 1 o 2 palabras.
PC 1. La arquitectura presentada es
ALU RESULT una arquitectura Harvard.
Address
Bus
Control
B
Justifiqué por qué y qué
A
Bus ventajas implica con respecto a
16 bits
una arquitectura Von Neumann.
MEMORY 1 IR 2. Indique la anchura del bus de
16 MB R0 direcciones de Memoria 1
Data DECODER
Bus
.
.
REGISTER (direccionable a nivel de
Control . BANK 16 bits palabra)
Bus R15 3. Indique el tamaño máximo en kB
Data de Memoria 2.
Address Bus
Bus 16 bits 4. Tamaño del IR y del PC. ¿Para
qué sirven?
5. ¿Cuantos bits se necesitan para
Control MEMORY 2 direccionar un registro del banco
Bus de registros internos dentro de
una instrucción?

Microprocesadores y Microcontroladores 2
Ejercicio 2
❑ Tenemos una arquitectura Von Neumann de 32 bits, con capacidad de direccionar
64 MB, a nivel de palabra. La CPU tiene 16 registros internos de propósito general
capaces de almacenar tanto datos como direcciones (filosofía Load & Store).
– Determine el tamaño (en bits) de los registros.

Microprocesadores y Microcontroladores 3
Para casa
❑ Se tiene una arquitectura Von Neumann de 16 bits, con capacidad de direccionar
128 MB, solo a nivel de palabra. Dicha arquitectura contiene 8 registros de
propósito general (datos y direcciones). Con esta información, conteste a las
siguientes preguntas:

1. Tamaño del registro de instrucción


2. Tamaño del contador de programa
3. Tamaño del puntero de pila
4. Tamaño de los registros internos

Microprocesadores y Microcontroladores 4
Ejercicio 3
❑ De acuerdo a las fases de ejecución de la Unidad de Control indique el contenido
del PC, IR, MAR, MBR y R3 tras haber ejecutado cada fase de la siguiente
instrucción alojada en la dirección 0x03:
AND R3, 0x100; R3<= R3 AND (0x100).

=6

00001100 (0x100)

AND R3, 0x100 (0x03)

Microprocesadores y Microcontroladores 5
Ejercicio Tipo Examen

❑ La siguiente figura muestra un diagrama de bloques simplificado de la arquitectura interna


de un microprocesador.
1. ¿Es una arquitectura Harvard?
2. Indique el tamaño del bus de datos
y del bus de direcciones, así como
el tamaño total de las memorias
del sistema, especificando para
cada una de ellas si contienen
instrucciones, datos o ambas
cosas
3. Tamaño del IR y del PC
4. Describa en RTL la fase fetch de la
Unidad de Control en esta
arquitectura y explíque en qué
consiste esta fase
5. ¿Para que se usa el PC?
6. ¿Cuántos bits necesita para
direccionar un registro del banco
de registros interno dentro de una
instrucción?

Microprocesadores y Microcontroladores 6
EJERCICIO 1

1) Es una arquitectura Marvard ya alle la memoria de datos


y la memoria de
programa son distintas.

una de las principales ventajas arquitectura von Neumann es


frente a una su mayor rapidez de procesado
, debido al uso de dos memorias separadas.

2) memoria 1 16 bits La memoria


1 tiene un tamaño de palabra de 16 bits y una capacidad de 16 MB

S >
como se direcciona a nivel de
palabra 16 bits = ZBytes
26 MB
.

16 x220x23 >
son necesarios 23 bits para direccionar la memoria .
1

3) memoria 2 16 bits Los registros tienen un tamaño de 16 bits


, se usan para direccionar la memoria z
, por tanto
, el tamaño máximo del bus de direcciones serán 16 bits, , esto quiere decir que se podrán
S >
direccionar un máximo de 246 palabras
, cada palabra tiene un ancho de 16 bits (2Bytes) :

216 x2Byte/ Palabra = 24x2x23 = 220 ; kB = 220x23 = 21 ;


20 - 13 = 7
;
2x2 = 128 kB/

4) In
V
Tamaño -
memoria = 24xm = 24 x 16
;
16x220x23 = 2x26 > El DC tiene un tamaño de 23 bits, sirve para direccionar la memoria de instrucciones .

memoria 1 16 bits

!
S > El ancho de palabra es de 16 bits , cada instrucción puede tener un máximo de 2 palabras 116x2 = 32 bits
.
26 MB
IR almacena las instrucciones para su decodificación .

5) Banco de registros de 16 registros


in

V < 16 = 1111 -
> lbits

memoria 2 16 bits

S >

128 kB

EJERCICIO 2

&
20x220x23
2x2023
6(1 MB 64x220x23
22
= =

> Necesitamos 24 bits


.

Arquitectura de 32 bits ~ direcciona datos de 32 bits = 25

EJERCICIO PARA CASA

&
1) 128 MB 27x22x23 Registro de Instrucciones (IR) 16 bits si 1 palabra 32 bits si .
2

27x220x2
= : ocupa , ocupa
= 226 < 26 bit en

Arquitectura de 16 bits (24)

2) Tamaño de PC = Tamaño de bus de direcciones = 16 bits .

direcciones 16 bits
3) (SP) Tamaño bus de =
del
.

Tamaño del puntero de Dila =

4) Tamaño de registros internos : 26 bits .

EJERCICIO 3

AND R3 , 0x100 R3) R3 AND 10x200

Fetch : MAR PC Execution : MAR = OX100

MBRS (MAR) MBR = 00001100b

IR S
MBR Ir = 00001100b

PCC DC + 1 PC = OXOL

R3 = R3 AND 00001106 = 4

EJERCICIO TIDO EXAMEN

1) una arquitectura Marvard es aquella que cuenta con dos memorias distintas para datos y programa
, y además tiene buses separados
.

2)
-24 bits Tamaño _
memoria = 2n x m =
22" x 16 = 23 x2" =
228 ;
MB = 220x2 = 223 ; 28 -
23 = 5 ;
25 MB = 32 MB//

!
v
V · Bus de direcciones : 211 bits

memoria 1 16 bits · Bus de datos : 16 bits Memoria 1 contiene INSTRUCCIONES .

S >
· Tamaño de memoria : 32 MB
V

-n Tamaño-memoria = 24 x m ; 32kB = 24x8 ; 25x2x23 = 24x23 =


n = 23

-
direcciones : 15 bits

"
V · Bus de

memoria 2 ⑧ bits · Bus de datos : 8 bits v Memoria 2 contiene datos


.

- · Tamaño de memoria : 32 k BV
32kB

3) DC = 211 bits

Ir = 26 bits

4)
IR =
(PC) consiste en buscar la instrucción a ejecutar en la memoria y llevarla a IR para poder decodificarla
.

5) PC = contador de Programa
, se usa para indicar la posición de memoria de la siguiente instrucción a
ejecutar.

6)
25x20x23 = 3 bit en
Ejercicio 1
❑ Sobre la arquitectura del Cortex M3, teniendo en cuenta el movimiento de datos y
direcciones a través de los diferentes buses y registros que aparecen en la figura,
indique el contenido final tras la ejecución de las siguientes instrucciones:

LDR R1, [R3] ; R1 <= (R3)
Teniendo en cuenta que inicialmente: Registros:
R1 = 0
ADD R2, R1, #25 ; R2 <= R1 + 25 R2 = 0
R3 = 0xF00
PC = 0x00C

Memoria:
0xF00 0x05

Microprocesadores y Microcontroladores 2
Ejercicio 3:

Analice el código, descríbalo en RTL e indique el valor final de los registros


y direcciones de memoria implicados

Mem. Código: @0x080007EC = 0x20001000


Mem. Datos: @0x20001000 = 0x00001001

Dirección Instrucción Notación RTL


0x0800079C LDR R1, [PC, #76]
0x080007A0 LDR R1, [R1, #0]
0x080007A4 ADDS R1, R1, #1
0x080007A8 LDR R2, [PC, #64]
0x080007AC STR R1, [R2, #0x0]

Microprocesadores y Microcontroladores 4 4
Ejercicio 4

Conteste a las siguientes preguntas sobre el siguiente fragmento de código.


Al terminar la ejecución:
a) ¿Cuál es el valor de R7 y R8?
b) ¿Cuál es la dirección de la siguiente instrucción a ejecutar?

0x08003804 MOV R9,#0x18


0x08003808 MOV R10,#0x0D
0x0800380C ADD R7,R9,R10
0x08003810 CMP R7,#0x25
0x08003814 BNE 0x08003800
0x08003818 MOV R8,#0x01
0x0800381C B 0x08003830
0x08003820 MOV R8,#0x00
0x08003824 B 0x08003834

Microprocesadores y Microcontroladores 5 5
EJERCILIO 1

v
condiciones iniciales : R1 = 0 Instrucciones : (DR R1 , (R3) >
Ry =
(R3) condiciones finales :
R1 = 0XO3

R2 = 0 ADD R2 , R1 , # 25 >
-
R2 < R1 + 25
R2 = 0x05 + OX19 = OX1E-
R3 = OXF0O

PC = 0X0OC R3 = OXFOOv

OXFOO Ox05
DC = p( + 4 = 0X0111 > Cada instrucción ane ejecutemos cama 4 al DC
.

EJERCICIO 2

Instrucción mudo de direccionamiento Descripción RTL Registros que cambian su valor

ADD R2 , R1 , # OX 0800 in mediato R2 Ri + UX0800 R2

MOV R2 , RG Directo R2S RG R2 v

v
LDR R5 (R2 , RG] RS( (R2 + RG)
,
Indexado
RS
-
STR R3 , (R2 ,
# 53) Indirecto con desplazamiento R3 > (22 + 53)
-
Ninguno

EJERCICIO 3

mem-código : UX080007EC = 0X2000 1000

mem-Datos : &0x200010000 = 0 x00001001

Dirección Instrucción Notación RTL

Ox0800079C R1S (PC + 76)v 0x20001000


LDR R1 , (Dc , #76] >
R1 =

OX 080007 AO LDR R1 , (R1 , #O] Rec (r1 + 0)v (r1 = 0x1001

OX 08000 7ALl ADDS R1 R1 #1 1v (R1 = 0x1002


, ,
R1R1 +

0 x080007A8 LDR R2 ,
(PC , #611] R2 (PC + 64)v > R2 = 0X2000 1000

0x080007 AC STR R1 ,
/R2 , #OXO) R1 > (r2 + 0)v c0x100 = = @ 0x20001000

EJERCICIO 4

v
OX08003804 #OX18 0x18) al R7 = 0X25 37
MOV Ra
, (ra =
=

28 = 0x01 = 1 v
0x08003008 MOV R10 , #OXOD (RIO = OXOD

0x0800380C ADD RE ,
Ra ,
R10 (R7 = Ra + R10)

0X0800 3810 CMD RE , #UX25 /RE = OX25)

ux08003814 BNE UX08003800 (R7 # UX25 > 0x08003800) b) 0x08003830


0x08003818 MOV R8 #OX01
, (r8 = 0X01)

0x0800381C B 0x 08003830 (DC =


0x08003830)

0x0800 3820 MOV RO ,


# 0X00 IR8 = OXOO

0x08003824 B0x08003831(PC = 0X08003834)

También podría gustarte