Examen de Fonaments d'Informàtica UAB 2021 · - Curs 2021-2022

Examen de Fonaments d'Informàtica de la UAB (Grado en Ingeniería Informática) 2021, - Curs 2021-2022: 14 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.a - Registres de la CPU · Estructura del computador: registres, memòria i busos

1 Teoria 1 (1,5 punts). Registres, modes d'adreçament i modes d'operació

Contesteu breument i amb precisió a les qüestions següents:

a.

Quina funció tenen els registres Stack Pointer (SP), Memory Address Register (MAR) i Memory Buffer Register (MBR)? [0,5 punts]

Ejercicio Teoria 1.b - Modes d'adreçament · Modes d'adreçament i execució a nivell de microoperacions

1 Teoria 1 (1,5 punts). Registres, modes d'adreçament i modes d'operació

Contesteu breument i amb precisió a les qüestions següents:

b.

Definiu què és un Mode d'adreçament (tingueu en compte que no es demana enumerar-los, sinó definir el concepte). [0,5 punts]

Ejercicio Teoria 1.c - Modes d'operació i SO · Sistema operatiu: modes d'execució, crides al sistema i processos

1 Teoria 1 (1,5 punts). Registres, modes d'adreçament i modes d'operació

Contesteu breument i amb precisió a les qüestions següents:

c.

En què consisteixen el mode usuari i el mode supervisor? Quina relació guarden amb el Sistema Operatiu? [0,5 punts]

Ejercicio Teoria 2.a - Controlador DMA · Entrada/sortida: E/S programada, per interrupcions i DMA

2 Teoria 2 (0,75 punts). DMA i anàlisi de codi en assemblador

a.

Què és el controlador DMA ( Direct Memory Access) i com funciona? [0,5 punts]

Ejercicio Teoria 2.b - Anàlisi de subrutina i pila · Traça d'execució, subrutines i gestió de la pila

2 Teoria 2 (0,75 punts). DMA i anàlisi de codi en assemblador

b.

Quin efecte produeix l'execució del programa següent suposant un valor inicial del comptador de programa PC=50PC = 50? [0,25 punts]

Nota: No descriviu les instruccions una a una. Descriviu l'efecte global: calcula alguna cosa? acaba l'execució? com evoluciona la pila?

50 MOV RPG, #25

51 SHL RPG

52 PUSH RPG

53 CALL 1000

54 MOV 100, RPG

1000 PULL RPG

1001 RTN

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

Teoria 3 (1 punt). Microoperacions d'instrucció indexada

Descriviu, a nivell de microoperacions de transferència entre registres segons el model de màquina de von Neumann, l'execució pas a pas de la següent instrucció:

MOV RPG, 3000(X) On RPG és un registre de propòsit general, es fa servir el mode d'adreçament indexat respecte al registre índex X (que conté el valor 25), i MAR i MBR són els registres d'interfície amb els busos de memòria.

1.

2.

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

Teoria 4 (0,75 punts). Gestió d'interrupcions i estat del processador

En un moment determinat el processador es troba executant la instrucció SUB RPG0, RPG1 que pertany a un cert programa P1. Es coneixen les dades següents:

La instrucció s'ubica a l'adreça de memòria 2500.

RPG0 i RPG1 són registres de 8 bits. En el moment d'executar-la, RPG0 conté el valor binari 00110010 i RPG1 conté el valor 11100111.

El registre SP conté el valor 1555. En aquesta màquina, SP apunta a la primera posició ocupada de la pila i aquesta creix cap a posicions menors de memòria.

En el moment en què la ALU està efectuant l'operació (en complement a 2) entre RPG0 i RPG1, s'activa l'únic senyal d'interrupció del processador.

El registre d'estat (SR) té 8 bits: els 4 bits menys significatius són, en aquest ordre, els indicadors C, Z, N i V; els 4 bits més significatius valen sempre 0.

La rutina de servei de la interrupció s'inicia a l'adreça 400 de la memòria.

Suposant que el processador accepta i atén la interrupció, responeu:

a.

Quins valors tenen emmagatzemats els registres comptador de programa (PC), registre d'estat (SR) i punter de pila (SP) just abans de saltar a la rutina d'atenció a la interrupció? [0,25 punts]

b.

Quins valors tenen els registres PC i SP just després d'efectuar el salt a la rutina de servei? [0,25 punts]

c.

Quins valors queden emmagatzemats a la pila i a quines posicions de memòria s'ubiquen en el moment de fer el salt? [0,25 punts]

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

Teoria 5 (1 punt). Procés d'interrupció i tipologia

Descriviu el procés que se segueix en el maquinari i programari quan es rep una interrupció. Relacioneu-ho amb el propòsit de la instrucció de retorn d'interrupció ( IRET / RTN). Quins tipus d'interrupció es poden produir en un computador? Caracteritzeu cadascun d'ells.

a)

b)

c)

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

Problema 1 (1 punt). Traducció de C a assemblador

Donat el fragment de codi següent en llenguatge C:

#define N 1000

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

...

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

if ( A[i] < B[i]) { C[i] = A[i]; }

else { C[i] = B[i]; }

Escriviu el fragment equivalent en llenguatge màquina / assemblador sabent que la base de C[1] se situa a l'adreça 1000, B[1] a l'adreça 2000 i A[1] a l'adreça 3000. Podeu emprar un registre índex X per gestionar l'índex i.

Problema 2.a - Binari pur sense signe · Representació de nombres: canvis de base, enters amb signe i aritmètica en C2

Mostreu el procediment per calcular el valor en decimal (base 10) de les dues seqüències de bits següents: 01010011 i 11010110, si s'interpreten com a:

a. Nombres naturals en binari pur sense signe. [0,25 punts]

1.

2.

Problema 2.b-c - Enters amb signe · Representació de nombres: canvis de base, enters amb signe i aritmètica en C2

Mostreu el procediment per calcular el valor en decimal (base 10) de les dues seqüències de bits següents: 01010011 i 11010110, si s'interpreten com a:

Mostreu el procediment per calcular el valor en decimal (base 10) de les dues seqüències de bits següents: 01010011 i 11010110, si s'interpreten com a:

b)

Nombres enters representats en Signe i Magnitud (SM) de 8 bits. Amplieu posteriorment la seva representació a 12 bits. [0,25 punts]

c)

Nombres enters representats en Complement a 2 (C2) de 8 bits. Amplieu posteriorment la seva representació a 12 bits. [0,25 punts]

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

Problema 3 (1 punt). Conversió de bases i fracció binària

Efectueu els següents canvis de base:

a.

Quin és el valor en binari (format de 12 bits) de la seqüència 235 si s'interpreta com a nombre hexadecimal (23516235_{16})? [0,25 punts]

b.

Quin és el valor en binari (format de 12 bits) de 235 si s'interpreta com a nombre octal (2358235_8)? [0,25 punts]

c.

Quin és el valor en binari (format de 12 bits) de 235 si s'interpreta com a nombre decimal (23510235_{10})? [0,25 punts]

d.

Convertiu a binari el valor decimal amb part fraccionària 235,8210235{,}82_{10} utilitzant 4 bits per a la part fraccionària. [0,25 punts]

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

Donats els valors binaris de 8 bits en Complement a 2 (C2):

A=111101012B=111000012\begin{aligned} A &= 11110101_2 \\ B &= 11100001_2 \end{aligned}

Calculeu la suma A+BA + B operant en C2. Indiqueu si es produeix desbordament ( overflow) i justifiqueu la resposta analitzant el ròssec i els signes.

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

Problema 5 (2 punts). Traça d'execució de programa

Els modes d'adreçament utilitzats en la següent màquina són:

n: Directe

#n: Immediat

n[X]: Indexat

(n): Indirecte

El registre SP apunta a la primera posició ocupada de la pila i aquesta creix cap a posicions de menor numeració de memòria.

A partir del següent fragment de codi:

1. MOV X, #1

2. MOV R0, 200[X]

3. MOV (301), R0

4. CALL 50

5. CMP X, #3

6. BNE 2

50. PUSH R0

51. INC R0

52. INC X

53. PULL R0

54. RTN

Completeu la traça d'execució omplint la taula següent amb els valors dels registres, de la memòria i de la pila a mesura que canvien (anoteu únicament els valors que es modifiquen en cada pas):

INSTRUCCIÓ

PC

SP

R0

X

100

101

102

200

201

202

203

301

302

500

501

502

503

Estat inicial

1

502

200

201

202

23

25

34

100

101

102

103

104

105

106

MOV X, #1

MOV R0, 200[X]

MOV (301), R0

CALL 50

PUSH R0

INC R0

INC X

PULL R0

RTN

CMP X, #3

BNE 2 (BNZ 2)

MOV R0, 200[X]

MOV (301), R0

CALL 50

PUSH R0

INC R0

INC X

PULL R0

RTN

CMP X, #3

BNE 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 2021

Examen final de Fonaments d'Informàtica (Gener 2021) (2021)