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

Examen de Fonaments d'Informàtica de la UAB (Grado en Ingeniería Informática) 2018, recuperació. (Febrer 2018): 11 problemas con solución. Gratis.

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

1 Teoria 1 (2 punts). Funcionalitat de registres i unitats

Expliqueu de manera sintètica quina funció desenvolupen cadascun dels següents elements i registres de la CPU:

a.

b.

c.

d.

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

2 Teoria 2 (1,5 punts). Nivells de la jerarquia de memòria

Analitzant les propietats de la jerarquia de memòria convencional (Registres, Memòria Cau, Memòria Principal i Emmagatzematge Secundari), indiqueu quin tipus d'elements (instruccions i dades) s'emmagatzemen en els tres primers nivells.

Nota guia: En els dispositius d'emmagatzematge secundari trobem de forma permanent el conjunt d'aplicacions instal·lades i els fitxers d'usuari.

1.

2.

3.

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

3. Teoria 3 (2 punts). Transferència de registres model von Neumann

Descriviu pas a pas la seqüència temporal a nivell de transferència de registres (RTL) seguint l'arquitectura de von Neumann per a cadascuna de les operacions següents:

a.

add AX, 1000

(AX és un registre intern, 1000 representa adreçament directe a memòria, MAR i MBR són els registres d'enllaç amb el bus de memòria).

b.

call 2000

(Salt a subrutina; el punter SP conté el valor 400, apunta a la primera posició disponible de la pila i la pila creix cap a adreces decreixents).

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

Teoria 4 (2,5 punts). Gestió d'interrupcions i registres

Suposeu que el processador executa la instrucció cmp R0, R1 d'un determinat programa P1 sota les condicions següents:

La instrucció se situa a l'adreça 1000 de memòria.

R0 i R1 són registres de 8 bits. En començar l'operació, R0=101100102\text{R0} = 10110010_2 i R1=011001112\text{R1} = 01100111_2.

El punter de pila SP conté el valor 2000. La màquina treballa fent que SP apunti a la primera posició lliure i la pila creix cap a adreces creixents de memòria.

Mentre l'ALU realitza l'operació entre R0 i R1, s'activa una línia d'interrupció.

El registre d'estat (SR) té 8 bits; els 4 bits menys significatius contenen els flags C, Z, S i O (en aquest ordre exactament), mentre que els 4 bits més significatius són 0.

La rutina d'atenció a la interrupció (ISR) està ubicada a l'adreça 200 de memòria.

Assumint que la interrupció serà acceptada i servida pel processador, responeu:

a)

Acabarà el processador d'executar la instrucció cmp R0, R1 abans de gestionar la interrupció? Raoneu la resposta.

Sí

No

b)

Quan la CPU accepta la interrupció, cal identificar el dispositiu causant. Descriviu breument com es pot dur a terme aquest reconeixement (esmenteu els dos mecanismes principals estudiats):

c)

Quins valors concrets tindran emmagatzemats el comptador de programa (PC), el registre d'estat (SR) i el punter de pila (SP) immediatament abans de realitzar el salt a la rutina d'atenció?

d)

Quins valors tindran el PC i el SP immediatament després de fer el salt a la rutina d'atenció?

e)

Quins valors s'hauran apilat a la pila en produir-se el salt i a quines posicions de memòria específiques s'hauran guardat?

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

Teoria 5 (1 punt). Mecanismes d'Entrada/Sortida

Descriviu breument els tres mecanismes d'E/S principals treballats a l'assignatura: E/S programada amb llaços d'espera (busy waiting), E/S dirigida per interrupcions i Accés Directe a Memòria (DMA). Argumenteu quins motius justifiquen l'aparició i ús dels dos últims.

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

Teoria 6 (2 punts). Mode usuari, mode supervisor i crides al sistema

Al llarg del curs s'ha insistit que els programes desenvolupats per usuaris no tenen autorització per executar operacions d'E/S de manera directa.

a)

Per quin motiu físic i d'arquitectura no ho poden fer?

b)

Quines altres restriccions imposa el sistema a un programa que s'executa en mode usuari?

c)

Quin és l'únic programari autoritzat a gestionar la totalitat dels recursos del computador i quina conseqüència se'n deriva per al control del sistema?

d)

Quin mecanisme permet que un programa d'usuari sol·liciti l'execució d'una tasca d'E/S?

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

Problema 1 (1,5 punts). Traducció d'assemblador a llenguatge C

Traduïu el següent fragment de codi en llenguatge màquina/assemblador al seu equivalent en llenguatge C. Si cal, definiu les variables necessàries indicant el tipus més escaient:

Instruccions

Comentaris

mov R0, 1000

; Adreçament de registre directe i directe

mov R1, 1001

cmp R0, R1

; Comparació

je <label1>

; Salta si és igual

shl R0

; Desplaçament a l'esquerra

mov 1000, R0

jmp <label2>

; Salt incondicional

label1: add R0, R1

; Suma

mov 1000, R0

label2: sub R1, R0

; Resta

mov 1001, R1

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

Problema 2 (1,5 punts). Traducció de C a llenguatge màquina

Donat el següent fragment de codi en C, escriviu el codi equivalent en llenguatge assemblador. Assumiu les assignacions d'adreces indicades:

#define N 1000

int i, min, V[N];

...

min = V[0];

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

if (min > V[i]) min = V[i];

}

Adreces assignades:

i a l'adreça 998

min a l'adreça 999

El vector V comença a partir de l'adreça 1000

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

Problema 3 [2 punts]. Conversió de bases a Complement a 2 (16 bits)

Determineu la representació binària en Complement a 2 a 16 bits dels següents valors expressats en les bases indicades. Detalleu clarament totes les operacions fetes per obtenir el resultat:

a.

b.

c.

d.

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

Problema 4 (2 punts). Aritmètica en Complement a 2 de 8 bits

Considerant els següents dos nombres de 8 bits representats en Complement a 2:

A=111101012A = 11110101_2 &emsp; B=001101102B = 00110110_2

Calculeu les següents operacions sense utilitzar directament la resta (és a dir, sumant el complementat corresponent quan calgui). Indiqueu en cada cas si es produeix o no error de desbordament (overflow):

a)

A+BA + B

No

Sí

b)

A−BA - B

No

Sí

c)

B−AB - A

No

Sí

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

Problema 5 (2 punts). Traça d'execució i gestió de la pila

Donat el següent fragment de programa en assemblador:

1.- mov X, #0

2.- mov R0, 200[X]

3.- mov (301), R0

4.- call 50

5.- cmp X, #2

6.- jnz 2

50.- push R0

51.- inc R0

52.- inc X

53.- pop R0

54.- ret

Modes d'adreçament utilitzats:

n: Directe

#n: Immediat

n[X]: Indexat

(n): Indirecte

Condicions de la pila: L'SP apunta a la primera posició lliure de la pila i aquesta creix cap a posicions majors de memòria.

Ompliu la taula següent que reflecteix l'evolució dels registres, la memòria i la pila al llarg de l'execució. Escriviu la instrucció executada a cada pas i el valor corresponent que s'ha modificat:

INSTRUCCIÓ

PC

SP

R0

X

100

101

102

200

201

202

300

301

302

400

401

Estat inicial

1

400

200

201

202

10

11

12

100

101

102

mov X, #0

2

0

mov R0, 200[X]

3

10

mov (301), R0

4

call 50

50

401

push R0

51

402

inc R0

52

inc X

53

1

pop R0

54

401

10

ret

5

400

cmp X, #2

6

jnz 2

mov R0, 200[X]

3

mov (301), R0

4

call 50

50

401

push R0

51

402

inc R0

52

inc X

53

2

pop R0

54

401

11

ret

5

400

cmp X, #2

6

jnz 2

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 Final - Gener 2018 (2018)