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 ? [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 ()? [0,25 punts]
b.
Quin és el valor en binari (format de 12 bits) de 235 si s'interpreta com a nombre octal ()? [0,25 punts]
c.
Quin és el valor en binari (format de 12 bits) de 235 si s'interpreta com a nombre decimal ()? [0,25 punts]
d.
Convertiu a binari el valor decimal amb part fraccionària 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):
Calculeu la suma 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.
- Representació de nombres: canvis de base, enters amb signe i aritmètica en C2 · 13 problemas · 75 % de que salga
- Estructura del computador: registres, memòria i busos · 9 problemas · 75 % de que salga
- Modes d'adreçament i execució a nivell de microoperacions · 9 problemas · 75 % de que salga
- Sistema operatiu: modes d'execució, crides al sistema i processos · 8 problemas · 75 % de que salga
- Programació en llenguatge màquina i traducció des de C · 7 problemas · 75 % de que salga
- Traça d'execució, subrutines i gestió de la pila · 7 problemas · 75 % de que salga