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

Examen de Fonaments d'Informàtica de la UAB (Grado en Ingeniería Informática) 2021, final de (Gener 2021): 14 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 · Sistema operatiu: modes d'execució, crides al sistema i processos

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

1. Teoria 1 (1,5 punts). Conceptes bàsics d'arquitectura

Contesteu de manera concisa a les qüestions següents:

a.

Definiu què és el registre Stack Pointer (SP) i quina funció desenvolupa.

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

1. Teoria 1 (1,5 punts). Conceptes bàsics d'arquitectura

Contesteu de manera concisa a les qüestions següents:

b.

Expliqueu el concepte de mode d'adreçament (tingueu en compte que no es demana una simple llista dels mateixos).

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

1. Teoria 1 (1,5 punts). Conceptes bàsics d'arquitectura

Contesteu de manera concisa a les qüestions següents:

c.

En què consisteixen el mode usuari i el mode supervisor? Expliqueu la seva relació amb el sistema operatiu.

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

2. Teoria 2 (1,5 punts). Adreçament de memòria i anàlisi de codi

a.

(0,5 punts) Si un computador compta amb un bus d'adreces de 64 línies (bits), determineu el nombre màxim de posicions (cel·les) de memòria principal que pot adreçar, expressant el resultat final en Gigas.

Gigas

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

2. Teoria 2 (1,5 punts). Adreçament de memòria i anàlisi de codi

b.

(1 punt) Analitzeu el següent segment de codi que comença a executar-se amb el comptador de programa a PC=50PC = 50:

Adreça

Instrucció

50

MOV RPG, #25

51

SHL RPG

52

CALL 1000

53

MOV 100, RPG

...

...

1000

PUSH RPG

1001

RTN

Descriviu quin és el resultat o comportament global de la seva execució (sense limitar-vos a traduir línia per línia). S'obté algun càlcul final? Quan finalitza? Com evoluciona la pila?

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

Teoria 3 (1 punt). Microoperacions i model de von Neumann

Especifiqueu a nivell de microoperacions de transferència entre registres l'execució completa de la instrucció indicada a continuació, seguint el cicle d'instrucció bàsic de la màquina de von Neumann:

MOV RPG, (3000)

Notes: RPG és un registre intern del processador. La notació (3000) especifica un mode d'adreçament indirecte. Els registres d'interfície amb el bus de memòria són AR (registre d'adreces) i DR (registre de dades).

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

Teoria 4 (1 punt). Estat del processador davant una interrupció

Mentre la CPU està executant la instrucció CMP RPG0, RPG1 d'un programa P1P_1, es donen les condicions següents:

La instrucció CMP està allotjada a la posició 4000 de memòria.

RPG0 i RPG1 són registres de 8 bits amb els continguts RPG0=001100102RPG0 = 00110010_2 i RPG1=111001112RPG1 = 11100111_2.

El punter de pila té el valor SP=1000SP = 1000, apunta a la primera posició buida de la pila i aquesta creix cap a adreces creixents.

Durant l'operació a l'ALU s'activa la línia d'interrupció del processador.

El registre d'estat (SR) té 8 bits, dels quals els 4 de menor pes contenen els bits de condició C,Z,S,OC, Z, S, O (en aquest ordre), i els 4 bits més significatius són sempre 0.

La rutina d'atenció a la interrupció està situada a l'adreça de memòria 400.

Assumint que la interrupció és atesa immediatament en finalitzar la instrucció, indiqueu:

a.

Els valors de PC, SR i SP just abans de fer el salt a la rutina de servei:

b.

Els valors de PC i SP un cop s'ha realitzat el salt a la rutina de servei:

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

Teoria 5 (1 punt). Mecanisme i tipus d'interrupcions

Descriviu detalladament la seqüència d'esdeveniments que té lloc a la CPU des que es rep una interrupció fins que s'executa la instrucció de retorn d'interrupció. Quins tipus principals d'interrupcions existeixen en un computador? Caracteritzeu-ne cadascun.

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

Problema 1 (1 punt). Traducció de bucle d'alt nivell a assemblador

Traduïu a llenguatge màquina (assemblador) el fragment de codi en C següent. Podeu associar lliurement les adreces de memòria a cadascuna de les variables emprades:

#define N 1000

int i, min, V[N];

...

min = V[0];

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

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

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

Seqüències de 8 bits a determinar el valor decimal (base 10):

i) 11010110

ii) 00100010

Problema 2.a (0,25 punts)

Determineu el valor decimal (base 10) de les seqüències de 8 bits com a nombre natural en binari pur sense signe:

i)

ii)

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

Seqüències de 8 bits a determinar el valor decimal (base 10):

i) 11010110

ii) 00100010

Problema 2.b (0,25 punts) i 2.c (0,5 punts)

b. (0,25 punts) Nombre enter en signe-magnitud (SM) de 8 bits:

i)

ii)

c. (0,5 punts) Nombre enter en complement a dos (Ca2) de 8 bits:

i)

ii)

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

Problema 3 (1 punt). Conversió a binari des de diferents bases

Trobeu la representació binària (base 2) de la seqüència de dígits 235 quan s'interpreta com a nombre natural expressat en:

a.

2_2

b.

2_2

c.

2_2

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

Problema 4 (1 punt). Aritmètica binària en complement a dos

Siguin els nombres enters binaris representats en complement a dos (Ca2) amb 8 bits:

A=111101012B=111000012A = 11110101_2 \qquad B = 11100001_2

Efectueu les operacions en Ca2 i responeu justificadament si es produeix desbordament ( overflow):

a)

Calculeu A+BA + B. Hi ha desbordament?

No

Sí

b)

Calculeu A−BA - B. Hi ha desbordament?

No

Sí

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

Problema 5 (2 punts). Traça d'execució d'un programa en assemblador

Es considera un computador amb els modes d'adreçament següents:

n: Directe

#n: Immediat

n[X]: Indexat

(n): Indirecte

El punter SP apunta a la primera posició lliure de la pila i aquesta creix cap a adreces numèricament més altes.

Es disposa del fragment de codi següent:

Adreça

Instrucció

Adreça

Instrucció

1 · MOV X, #2 · 50 · PUSH R0

2 · MOV R0, 200[X] · 51 · INC R0

3 · MOV (301), R0 · 52 · INC X

4 · CALL 50 · 53 · PULL R0

5 · CMP X, #4 · 54 · RTN

6 · BNE 2 (o BOZ 2)

Representeu la taula de traça de l'execució indicant únicament els valors dels registres i de la memòria que canvien en cada pas, començant des de l'estat inicial on PC=1PC = 1 i SP=400SP = 400, amb els continguts de memòria inicials: posicions 100=200100=200, 101=201101=201, 102=202102=202, 200=10200=10, 201=11201=11, 202=12202=12, 203=100203=100, 301=101301=101, 302=102302=102.

Completeu les cel·les que canvien de valor en cada pas d'execució. Deixeu buides les cel·les dels registres o memòries que no modifiquen el seu valor respecte a l'estat anterior.

INSTRUCCIÓ

PC

SP

R0

X

@101

@400

@401

Estat inicial

1

400

-

-

201

-

-

MOV X, #2

MOV R0, 200[X]

MOV (301), R0

CALL 50

PUSH R0

INC R0

INC X

PULL R0

RTN

CMP X, #4

BNE 2

MOV R0, 200[X] (2a volta)

MOV (301), R0 (2a volta)

CALL 50 (2a volta)

PUSH R0 (2a volta)

INC R0 (2a volta)

INC X (2a volta)

PULL R0 (2a volta)

RTN (2a volta)

CMP X, #4 (2a volta)

BNE 2 (2a volta)

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 Fonaments d'Informàtica - Curs 2021-2022 (2021)