Examen de Fonaments d'Informàtica UAB 2018 · Final - Gener 2018

Examen de Fonaments d'Informàtica de la UAB (Grado en Ingeniería Informática) 2018, Final - Gener 2018: 15 problemas con solución. Con corrección al momento.

Temas del examen: Representació de nombres: canvis de base, enters amb signe i aritmètica en C2 · Estructura del computador: registres, memòria i busos · Modes d'adreçament i execució a nivell de microoperacions · Programació en llenguatge màquina i traducció des de C · Traça d'execució, subrutines i gestió de la pila · Interrupcions, excepcions i registre d'estat · Entrada/sortida: E/S programada, per interrupcions i DMA · Sistema operatiu: modes d'execució, crides al sistema i processos

Ejercicio Teoria 1 · Estructura del computador: registres, memòria i busos

Teoria 1 (1 punt). Registres de la CPU

Descriviu resumidament la funció de cadascun dels següents registres:

a.

b.

c.

d.

Ejercicio Teoria 2 · Estructura del computador: registres, memòria i busos

Teoria 2 (1,5 punts). Jerarquia de memòria i memòria Cau

a.

Ordeneu els diferents nivells de memòria presents en un computador tenint en compte la seva capacitat i temps d'accés.

b.

Expliqueu breument el propòsit i funcionament bàsic de la memòria Cau (Cache).

Ejercicio Teoria 3 · Modes d'adreçament i execució a nivell de microoperacions

Teoria 3 (3 punts). Transferències entre registres de Von Neumann

Detalleu les etapes i microoperacions a nivell de transferència de registres (RTL) seguint el model de Von Neumann per a:

a.

add AX, (1000) (Adreçaments de registre directe i indirecte respectivament).

b.

push AX (La pila creix cap a adreces inferiors i SP apunta a la primera posició buida).

c.

mov 1000[SI], BX (Adreçaments indexat i registre directe respectivament).

Ejercicio Teoria 4 · Modes d'adreçament i execució a nivell de microoperacions

Teoria 4 (1 punt). Instruccions de ruptura de seqüència

Classifiqueu i descriviu les modalitats d'instruccions de salt o canvi de flux de seqüència, aportant exemples d'ús.

Ejercicio Teoria 5 · Interrupcions, excepcions i registre d'estat

Teoria 5 (1 punt). Registre d'estat i salts condicionals

Un processador executa la instrucció cmp R0, R1 ubicada a l'adreça 1000 de memòria. Dades conegudes:

R0 i R1 són registres de 8 bits en Complement a 2: R0 = 10110010 (-78 en dec.), R1 = 11100111 (-25 en dec.).

Adreça 1001: conté sub R1, R0.

Adreça 1002: conté jon 2000 (salta si negatiu).

El registre d'estat (SR) té els 4 bits menys significatius definits com: C, Z, S, O (en aquest ordre, essent O el LSB). Els 4 bits alts sempre valen 0.

Respongueu:

a.

b.

c.

Ejercicio Teoria 6 · Entrada/sortida: E/S programada, per interrupcions i DMA

Teoria 6 (1,5 punts). Entrada/Sortida: mapeig i mecanismes

a.

Descriviu el concepte d'Entrada/Sortida mapejada en memòria (Memory-Mapped I/O).

b.

Definiu els tres mecanismes principals d'E/S: E/S programada amb espera activa, E/S mitjançant interrupcions i Accés Directe a Memòria (DMA). Indiqueu quins motius justifiquen l'ús dels dos darrers.

Ejercicio Teoria 7 · Sistema operatiu: modes d'execució, crides al sistema i processos

Teoria 7 (1 punt). Modes d'execució i crides al sistema

a.

Quina diferència hi ha entre el mode usuari i el mode supervisor (privilegiat)?

b.

En quins instants es commuta entre el mode usuari i el supervisor, i a la inversa?

c.

Quin component software és l'únic autoritzat per operar en mode supervisor i quines conseqüències té per a la gestió dels recursos?

d.

Ejercicio Teoria 8 · Sistema operatiu: modes d'execució, crides al sistema i processos

Teoria 8 (1 punt). Concepte de procés i PCB

Des de la perspectiva del Sistema Operatiu:

a.

Definiu què és un procés.

b.

c.

Indiqueu quins tipus d'informació s'emmagatzemen en aquesta estructura.

Ejercicio Teoria 9 · Sistema operatiu: modes d'execució, crides al sistema i processos

Teoria 9 (1 punt). Diagrama de transició d'estats d'un procés

Observeu el diagrama següent i expliqueu breument els estats principals d'un procés i les transicions que es produeixen entre ells:

Problema 1 · Programació en llenguatge màquina i traducció des de C

Problema 1 (2 punts). Traducció d'assemblador a C

Donat el següent codi en llenguatge màquina/assemblador, escriviu el fragment equivalent en C utilitzant variables adients assignades a les adreces 1000, 1001 i 1002:

mov R0, 1000; R0 ← variable X (adreça 1000)

mov R1, 1001; R1 ← variable Y (adreça 1001)

mov R2, 1002; R2 ← variable Z (adreça 1002)

cmp R0, R1

jnn label1; Salta a label1 si R0 >= R1

label0: cmp R0, R1

joz label2; Salta a label2 si R0 == R1

add R2, R0; Z = Z + X

inc R0; X++

jmp label0

label1: mul R2, R0; Z = Z * X

label2: add R0, R1; X = X + Y

mov 1001, R1

mov 1002, R2

Problema 2 · Programació en llenguatge màquina i traducció des de C

Problema 2 (2 punts). Traducció de C a assemblador

Traduïu a llenguatge màquina/assemblador el següent fragment de codi en C. Podeu assignar com a adreces base: V→1000V \rightarrow 1000, A→2000A \rightarrow 2000, B→3000B \rightarrow 3000 i utilitzar el registre SI com a índex i.

#define N 1000

int i, V[N], A[N], B[N];

...

for (i = 0; i < N; i++) {

if (A[i] <= B[i])

V[i] = A[i];

else

V[i] = B[i];

}

Problema 3 · Representació de nombres: canvis de base, enters amb signe i aritmètica en C2

Problema 3 (1 punt). Conversió a binari en Complement a 2

Representeu en format binari de 16 bits en Complement a 2 els següents valors, mostrant tots els passos:

a.

+56510+565_{10}

b.

−6BF216-6BF2_{16}

Problema 4 · Representació de nombres: canvis de base, enters amb signe i aritmètica en C2

Problema 4 (1 punt). Conversió a binari en Complement a 1

Representeu en binari de 16 bits en Complement a 1 els següents nombres detallant els càlculs:

a.

−21323124-2132312_4

b.

+72518+7251_8

Problema 5 · Representació de nombres: canvis de base, enters amb signe i aritmètica en C2

Problema 5 (2 punts). Operacions aritmètiques en Complement a 2

Donats els valors de 8 bits en Complement a 2:

A = 11110110 (-10 decimal)

B = 01110110 (+118 decimal)

Calculeu les següents operacions sumant en binari (sense fer restes directes) i determineu justificadament si hi ha desbordament (overflow):

a)

A + B

b)

A - B

c)

B - A

Problema 6 · Traça d'execució, subrutines i gestió de la pila

Problema 6 (2 punts). Traça d'execució d'un programa

A partir del següent codi de programa i de la taula de memòria inicial que es proporciona, completeu els valors dels registres i de les posicions de memòria a mesura que s'executa la seqüència:

Indiqueu la instrucció executada o el raonament pas a pas associat a la traça:

También puedes estudiar por temas

Practica un tema con ejercicios de los exámenes de todos los años, mezclados.

Ver los 9 temas

Otras convocatorias de 2018

Examen de recuperació. Fonaments d'Informàtica (Febrer 2018) (2018)