Sito Visitato 499325 volte | Pagina Visitata 1746 volte | Sei in : Etantonio/IT/Universita/1anno/FondamentiInformatica/ModelliCalcolo/Von_Neum/ |
Definizione macchina di Von Neumann 1) Descrivere la macchina di Von Neumann modello base : È costituita da un organo di controllo , da una memoria principale, una memoria secondaria, delle interfaccie input/output e una unità aritmetico logica.
2) Cosa è il MAR ? Memory Address Register, è un registro atto a contenere indirizzi, il quale funge da interfaccia tra l´organo di controllo ed il resto della macchina di Von Neumann.
3) Cosa è il MBR ? Memory Buffer Register, è un registro atto a contenere dati, il quale funge da interfaccia tra l´organo di controllo ed il resto della macchina di Von Neumann.
4) Descrivere le caratteristiche fisiche della macchina di Von Neumann: La memoria principale è formata da 4096 locazioni indirizzabili quindi tramite 12 bit infatti 212 = 4096 ciascuna di queste locazioni può contenere un dato o una istruzione. Ogni parola è in definitiva costituita da 8 bit dedicati al codice operativo e 12 bit dedicati all´indirizzo in cui può trovarsi l´operando o l´indirizzo dove trovare l´operando stesso.
5) Descrivere l´operazione di prodotto tra 2 numeri su questa macchina di Von Neumann: Uno dei 2 operandi deve trovarsi nel registro R mentre il 2° operando deve trovarsi nella cella indicata dalla parte I (Indirizzo) della istruzione attuale. Il risultato occupa 2 parole di memoria, la parte alta verrà a trovarsi nella accumulatore mentre la parte bassa verrà a trovarsi nel registro R.
6) Descrivere l´operazione di divisione tra 2 numeri su questa macchina di Von Neumann: Il dividendo deve trovarsi nella accumulatore mentre il divisore si trova nella cella puntata dal campo I della istruzione attuale. Il risultato cioè il quoziente verrà posto nel registro R mentre il resto verrà posto nella accumulatore.
7) Come si può effettuare una operazione di somma o di differenza utilizzando la stessa istruzione: Questo modello della macchina di Von Neumann non fa differenza tra dati ed istruzioni, pertanto è anche possibile modificare una istruzione nel corso del programma, quindi tramite una maschera si può andare a modificare il solo COP della locazione contenente l´istruzione interessata. Nel caso menzionato è sufficiente sommare uno al COP per passare da 5 a 6 e quindi da somma a sottrazione della accumulatore con l´operando seguente.
8) Descrivere l´indirizzamento diretto ed i suoi difetti: Nell´indirizzamento diretto le istruzioni contengono il vero indirizzo in cui è contenuto il dato che funge da operando. Il difetto è che il programmatore dovrebbe sapere a priori in quali locazioni di memoria andrebbe a situarsi ogni elemento del suo programma, il che non consente una gestione dinamica della memoria e conseguentemente è fonte di spreco di memoria, inoltre tale indirizzamento inibirebbe le modalità multitasking.
9) Descrivere l´indirizzamento indiretto: In questo tipo di indirizzamento, il campo I della istruzione in questione non contiene il vero indirizzo della operando bensì l´indirizzo dove trovare il vero indirizzo della operando, è una sorta di rimando.
10) Come cambia la macchina di Von Neumann per implementare l´indirizzamento indiretto: L´istruzione viene suddivisa nei seguenti campi : bit 1 - 7 Þ COP bit 8 Þ 0 = indirizzamento diretto 1 = indirizzamento indiretto bit 9 - 20 Þ Indirizzo il cui contenuto ha un diverso significato a seconda del tipo di indirizzamento.
11) Cosa si intende per linguaggio assemblativo: È un linguaggio che si propone di rendere più leggibili i programmi scritti in linguaggio macchina avvicinandosi un poco al linguaggio naturale e sostituendo quindi laddove possibile ai numeri delle sequenze di caratteri che spesso sono acronimi di parole inglesi che descrivono l´operazione. Esso rende possibile : a) Sostituire ai numeri del COP una terna di lettere b) Identificare delle locazioni di memoria con una label c) Utilizzare le etichette simboliche anche per gli operandi delle istruzioni.
12) Descrivere l´istruzione LOA PUN* : Carica la accumulatore con il valore presente nella cella il cui indirizzo è puntato da PUN.
13) Descrivere l´istruzione LOA PUN : Carica la accumulatore con il valore presente nella cella PUN.
14) Come si definisce una locazione costante in linguaggio assembler: Define Constant, è una informazione che indica al compilatore che quella cella contiene un dato e non una istruzione pertanto si può scrivere label DC ‘valorè
15) Come si definisce in memoria lo spazio per una variabile: DA è una informazione che indica al compilatore che quella cella contiene un dato variabile e non una istruzione pertanto si può scrivere label DA
16) Come si definisce in memoria un vettore di nome DATI: Esso sarà allocato in locazioni di memoria consecutive tramite le definizioni: DATI DC ‘´ a1´´ DC ‘´ a2´´ ........ ........ DC ‘´ an´´
17) Descrivere l´indirizzamento indicizzato : È un tipo di indirizzamento che fa utilizzo di 1 di 7 registri indice. L´indirizzo della operando è dato dalla somma della indirizzo presente nel campo I della istruzione e del registro indice selezionato.
18) Come cambia la macchina di Von Neumann per implementare l´indirizzamento indiciato: L´istruzione viene suddivisa nei seguenti campi : bit 1 - 5 Þ COP bit 6 - 8 Þ Codice indicante quale dei 7 registri contiene l´indirizzo da sommare bit 9 - 20 Þ Indirizzo da sommare al registro indice. Se il registro è 0 allora l´indirizzamento è diretto. Inoltre ogni registro indice è costituito da 12 bit.
19) Quale è il principale utilizzo dei registri indice: Consentono la scansione di un vettore che inizi alla locazione DATI tramite l´istruzione LOA DATI(1) indicante appunto di caricare la accumulatore con l´elemento del vettore che inizia alla locazione DATI e si trova dopo un n° di celle di spiazzamento rispetto ad essa individuato dal registro R1.
20) Descrivere l´operazione JONR2 B(3) : Se il registro 2 contiene un valore < 0 salta alla istruzione il cui indirizzo è la somma della parte indirizzo della cella individuata dall´etichetta B e del registro 3.
21) Descrivere l´indirizzamento indiretto indiciato : Unisce le caratteristiche della indirizzamento indiretto alle caratteristiche della indirizzamento indiciato, in particolare si distinguono l´indirizzamento indiretto preindiciato e l´indirizzamento indiretto postindiciato.
22) Cosa si intende per indirizzamento indiretto preindiciato: L´indirizzo della operando si trova nella cella il cui indirizzo è dato dalla somma del registro Rxx e del campo I della istruzione.
23) Cosa si intende per indirizzamento indiretto postindiciato: L´indirizzo della operando è dato dalla somma del registro Rxx con l´indirizzo contenuto nella cella indirizzata dal campo I della istruzione.
24) Cosa si intende per indirizzamento immediato: È un falso indirizzamento in quanto il campo I della istruzione non contiene un indirizzo bensì l´operando stesso.
25) Quando si parla di indirizzamenti relativi: È un tipo di indirizzamento che agevola il funzionamento del sistema operativo il quale suddivide la memoria in segmenti ed assegna un dato segmento ad un programma, a questo punto tutti gli indirizzi del programma saranno shiftati in alto di un valore pari all´indirizzo base del segmento.
26) Quanti tipi di indirizzamenti relativi esistono : Ci sono 3 diversi tipi di indirizzamenti relativi i quali differiscono unicamente per come viene scelta la base ossia l´inizio del segmento, l´indirizzamento basato sul Program Counter, sul registro base e sul Registro Puntatore.
27) Descrivere l´indirizzamento relativo basato sul Program Counter : L´operando si trova alla locazione somma dello spiazzamento e del Program Counter. La pagina ossia le celle di memoria raggiungibili sono quelle che hanno al centro la cella dove è contenuta l´istruzione preceduta quindi da metà delle celle indirizzabili dal campo I della istruzione e seguite da uno stesso n° di celle.
28) Descrivere l´indirizzamento relativo basato sul Registro Base : Il registro base contiene l´indirizzo dove inizia il segmento, sommando ad esso lo spiazzamento presente nel campo I della istruzione, si ottiene l´indirizzo della operando.
29) Descrivere l´indirizzamento relativo basato sul Registro Puntatore : Esso richiede una modifica del formato della istruzione la quale conterrà il COP, il Registro Puntatore ed indicherà se si debbono aggiungere o sottrarre M locazioni al valore del registro puntatore per ricavare l´indirizzo della operando.
30) Riassumere il set di istruzioni di cui dispone la macchina di Von Neumann : Aritmetiche ADD ADDRxx SUB SUBRxx MUL DIV Salti JMP JOP JOPRxx JOZ JOZRxx JON JONRxx Trasferimenti Da accumulatore o registro a locazione di memoria STO label STORxx label STOAD label Da locazione di memoria ad accumulatore o registro LOA label LOARxx label LOAN LABS Da registro ad accumulatore TAR Scorrimenti SHRI SHLE Fine ciclo HLT |