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.