Esame di Sistemi di Elaborazione 15/01/2004
- Si scriva un programma in linguaggio assembler che riceva in input due numeri N1
e N2.
Calcoli quindi la differenza N3=N1-N2.
Se il risultato (N3) è negativo, si stampi in output 0.
Altrimenti si stampi in output N3 volte il numero 1.
Si illustri anche il contenuto dei registri IR, MAR, MDR, PC e A (accumulatore ALU)
alla fine della esecuzione del programma quando siano dati in input
i valori N1=10 e N2=11.
Lo studente supponga di avere già in memoria eventuali costanti necessarie al
programma e di avere a disposizione le seguenti istruzioni:
Arithmetic | 1xx | ADD |
2xx | SUB |
Data Movement | 3xx | STORE |
5xx | LOAD |
BR | 6xx | JUMP |
BRZ | 7xx | BRANC ON 0 |
BRP | 8xx | BRANCH ON + |
Input/Output | 901 | INPUT |
902 | OUTPUT |
Machine Control | 000 | HALT |
-
Si descriva il funzionamento della memoria cache in dettagli, usando anche
eventuali diagrammi.
-
Si dia la definizione di Clusters (sistema distribuito), si descrivano le possibili configurazioni,
e si evidenzino le differenze e similarità con le networks
(reti).
-
Si descrivano i metodi disponibili per l'accesso ed il trasferimento
di file remoti tra calcolatori.
-
Si descrivano i metodi disponibili per l'allocazione non contigua dei files,
discutendone in dettaglio vantaggi e svantaggi.
-
Si descrivano e confrontino gli algoritmi per il
rimpiazzamento delle pagine in memoria in un sistema a
memoria virtuale con paginazione.