Si scriva un programma in linguaggio assembler che riceva in
input tre numeri N1, N2 ed N3. Calcoli quindi la somma N4=N1+N2 e la
differenza N5=N4-N3. Si stampi in output la differenza N5. Se la differenza è
positiva si ricevano in input altri N5 numeri e si stampi l'ultimo di questi.
Se la differenza non e' positiva si stampi la costante "0".
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 descrivano dettagliatamente le architetture di tipo
CISC e RISC e le loro differenze.
Si descriva dettagliatamente il funzionamento della cache,
la modalita' di accesso in memoria in presenza di cache e le motivazioni all'uso della
cache.
Si descrivano dettagliatamente le caratteristiche di processi e threads,
e le loro differenze.
Si descrivano dettagliatamente le differenti metodologie
di accesso logico ai dati all'interno di files.
Si descriva dettagliatamente il funzionamento dell'interfaccia grafica XWindow.