Esame di Sistemi di Elaborazione 8/02/2006

Le risposte alle domande devono essere esaustive!

  1. Si scriva un programma in linguaggio assembler che riceva in input due numeri N e M. Quindi se N>M stampi la sequenza N, N-1, N-2, ..., M+1, M. altrimenti la sequenza M, M-1, M-2, ..., N+1, N.
    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 N=5, M=13.
    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

  2. Si descriva dettagliatamente il funzionamento della cache e motivi del suo utilizzo.

  3. Si descriva il funzionamento dell'input-output tramite interruzioni.

  4. Si descrivano gli stati (operativi) di un processo e si dicano in che modo avvengono i cambiamenti di stato.

  5. Si descrivano differenze tra algoritmi di scheduling preemptive e non preemptive. Si descriva dettagliatamente un algoritmo all'interno di ognuna delle due classi.

  6. Si descrivano dettagliatamente le differenti metodologie di accesso logico ai files.