Si scriva un programma in linguaggio assembler che riceva in
input tre numeri N1, N2, N3. Li stampi in output in ordine decrescente.
Se l'ultimo numero e' maggiore di 15 si stampi anche 15.
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=4, N2=8 e N3=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 dettagliatamente il funzionamento delle interruzioni.
Si descriva dettagliatamente la modalita' di memorizzazione dei dati su supporti
magnetici (dischi, nastri) e ottici (CD).
Si descrivano dettagliatamente la struttura delle directory a grafo aciclico elencandone
vantaggi e svantaggi, e la gestione dei collegamenti.
Si descrivano dettagliatamente gli algoritmi di dispatching con prelazione (preemptive).
Si descriva dettagliatamente gli algoritmi per il rimpiazzamento delle pagine di memoria virtuale.