Macchina di Von Neumann Flashcards

1
Q

Da quali parti è composta la macchina di Von Neumann?

A

CPU (CU e ALU), Memoria principale, dispositivi I/O e il bus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cosa fa’ la CU?

A

Scandisce le operazioni elementari per ogni istruzione, riconoscendo e generando i comandi atti all’esecuzione dell’istruzione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cosa si trova nella CU?

A

I registri, divisi in speciali e generali, il transcodificatore e un generatore di fase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quali sono i registri speciali presenti nella CU?

A

Il PC (Program Counter), l’SR (lo Status Register) e l’SP (lo Stack Pointer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cosa fa’ il PC (Program Counter)

A

E’ un registro che viene incrementato ad ogni clock che contiene l’indirizzo in memoria dell’istruzione da eseguire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cosa fa’ l’SR (Status Register)?

A

Registro speciale contenente varie informazioni del sistema, come i condition codes della ALU (overflow, zero, carry ecc…)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cosa fa’ l’SP (Stack Pointer)?

A

Registro che contiene l’indirizzo della cima della pila, usata per mantenre i dati durante il passaggio di parametri tra funzioni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A che serve il generatore di fase? Quali sono le fasi che controlla?

A

Scandisce le operazioni elementari eseguite dalla CU. Le fasi sono: FETCH (caricamento della parola nel PC);
DECODE (decodifica del tipo di istruzione con il decodificatore);
EXECUTE (esecuzione dei comandi decodificati. Questa fase può essere di durate differenti in base al tipo di istruzione);
MOVE (movimentazione dei dati in memoria).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Come avviene generalmente un ciclo di clock?

A

Viene prelevata l’istruzione in memoria a partite dall’indirizzo nel PC;
Viene incrementato il PC;
Viene determinato il tipo di istruzione prelevata;
Vengono reperiti gli operandi;
Viene eseguita l’istruzione;
Il valore finale viene rimesso in memoria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cosa fa’ il transcodificatore?

A

Il transcodificatore è composto dal decodificatore e il codificatore. Il primo prende l’istruzione dal PC e ne riconosce il tipo e dove andare a prendere i valori in mem, poi passa tutto al codificatore che attiva le unità necessarie per eseguire l’istruzione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Descrivi le fasi di questa istruzione:
ADD 0x300, 0x100, 0x200

A

❖ In fase di fetch si preleva l’istruzione dalla
Memoria Centrale e si incrementa il PC;
❖ In fase di decode, il decodificatore riconosce
l’addizione. Il codificatore, a sua volta, invia dei
comandi (dei segnali elettrici) lungo le linee di
ingresso della ALU che specificano il tipo di
operazione che questa deve offrire;
❖ In fase di load, contestualmente il codificatore lancia dei segnali per prendere gli operandi in memoria alla locazione 0x100 e poi 0x200;
❖ In fase di execute, una volta reperiti gli
operandi si deve generare la connessione con la ALU disconnettendo la memoria;
❖ La ALU esegue l’operazione;
❖ In fase di movement, si riattiva la linea con la Memoria Centrale per trasferire il risultato nella locazione 0x300.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A che servono i registri ad uso generale?

A

Servono per mantere temporaneamente dei dati senza depositarli e riprelevarli dalla memoria principale. Consentono di risparmiare tempo e aumentare l’efficienza della CU.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cosa sono gli accumulatori?

A

Sono registri speciali impliciti presenti nella ALU dove si trovano gli operandi su cui effettuare i calcoli. Sono impliciti perché svolgono solo quel ruolo e non è necessario esplicitarloe non possono essere modificati dal programmatore

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cosa sono i condition codes della ALU?

A

Sono linee di uscita che riportano informazioni sull’ultima operazione eseguita

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cos’è la ALU?

A

E’ una componente della CPU che si occupa di eseguire le operazioni logico-aritmetiche dell’elaboratore.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cos’è il registro degli errori della ALU?

A

Un registro speciale dove sono riportate situazioni irrisolvibili (radice negativa o divisione per 0)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Cos’è il coprocessore matematico?

A

Una ALU particolare che si occupa di effettuare operazioni in virgola mobile. Successivamente è stata inclusa nella ALU nativa

18
Q

Quanti tipi di memoria esistono?

A

RAM (Random Access Memory), memorie che perdono l’info in mancanza di corrente;
ROM (Read Only Memory), memorie che mantengono l’informazione e che possono essere solo lette;
CAM (Content Addressable Memory)

19
Q

Quali tipi di RAM esistono?

A

SRAM (Static RAM), memorie statiche dove l’info è memorizzata come in un latch D;
DRAM (Dynamic RAM), memorie dinamiche dove l’info rimane in un condensatore per circa 2ms e poi deve essere refreshata;
SDRAM (Synchronous DRAM), una evoluzione della DRAM che consente grazie ad un registro di uscita di mantenere il vecchio dato mentre se ne sta memorizzando uno nuovo.
DDR (Double Date Rate), evoluzione della SDRAM che consente di operare a doppia frequenza potendo essere pilotata sia nei fronti di salita che in quelli di discesa

20
Q

Quali tipi di ROM esistono?

A

PROM (Programmable ROM), memorie su cui poter scrivere una sola volta;
EPROM (Erasable Programmable ROM), memorie su cui si può scrivere più volte sfruttando appositivi sistemi (a raggi ultravioletti);
EEPROM (Electrically Erasable PROM), memorie dove la riscrittura o cancellazione dei dati avviene per via elettrica.

21
Q

Cos’è la memoria centrale?

A

Una memoria RAM DDR formata da tante celle ciascuna in grado di mantenere una stringa binaria di lunghezza n, che può essere un operando, una istruzione o un indirizzo. A ciascuna locazione si accede allo stesso tempo, e queste locazione sono numerati in sequenza da 0 a 2^m-1, dove m è la dimensione massima della memoria

22
Q

Come è suddivisa la memoria centrale?

A

Una parte dal sistema operativo, una dai programmi, una dallo Stack e una per i trasferimenti I/O

23
Q

Com’è progettata solitamente una memoria centrale?

A

Solitamente ciascuna cella di memoria è lunga 8 bit, mentre la lunghezza della parola viene decisa in fase di progettazione. Se ad esempio si sceglie una parola di 32 bit, verranno prelevate dalla memoria 4 celle contigue alla volta.

24
Q

Come possono venire ordinati i dati in memoria centrale?

A

In Big Endian (si ordinano dal byte più significativo al meno) o al contrario in Little Endian.

25
Q

Cosa interagisce con la memoria centrale per il prelievo o lo store dei dati?

A

Agiscono il MAR (Memory Address Register), che contiene gli indirizzi da prelevare in memoria, l’MDR (Memory Data Register), dove vengono mandati o prelevati i dati e un segnale di controllo della CU per controllare il tipo di operazione da effettuare (scrittura o lettura)

26
Q

In che modo viene progettata la struttura per accedere ai dati in memoria centrale?

A

L’indirizzo viene diviso in campi e ciascun campo

27
Q

cosa sono i dispositivi I/O?

A

Collegano l’elaboratore con il mondo esterno. Ciascun dispositivo può essere molto diverso da un altro e pertanto sono tutti gestiti in maniera molto diversa.

28
Q

Come vengono gestiti i trasferimenti di dati tra I/O e memoria/processore?

A

Vengono gestiti attraverso il protocollo, che controlla con il processore l’interazione tra I/O e memoria. Questo protocollo è uguale per tutti e deve essere rispettato indipendentemente dal tipo di dispositivo. Generalmente avviene grazie ad un controller, cioè uno particolare rete sequenziale avente il compito di fare da intermediario tra il processore e il dispositivo.

29
Q

Come funziona il protocollo I/O in input?

A

Il processore manda l’indirizzo del dispositivo e controlla il suo stato (READY). Se il dispositivo non è ready fa’ altro e poi ricontrolla, altrimenti va avanti e lo avverte che può ricevere un dato mandando il segnale START. Una volta che il dispositivo ha prodotto il dato questo viene salvato in un registro chiamato REG e generando il segnale COMPLETE, nel mentre il processore continua a controllarlo per sapere quando il dato è pronto. Se READY=1, lo riesamina successivamente, se READY=0 il dato è pronto perciò lo prende e lo mette in memoria.

30
Q

Come funziona il protocollo I/O in output?

A

Il processore manda l’indirizzo del dispositivo e controlla il suo stato (READY). Se il dispositivo non è ready fa’ altro e poi ricontrolla, altrimenti trasferisce il contenuto dei dati in una locazione di memoria nel registro di interfaccia del dispositivo. Il processore avverte il dispositivo che gli ha mandato il dato inviando il segnale START. Quando questo dato viene effettivamente letto dal dispositivo questo manda COMPLETE e setta READY=0. Intando il processore continua ad esaminarlo e se trova READY=1 riprova altrimenti se READY=0 termina e procede con la prossima istruzione.

31
Q

Che differenza c’è tra IO canonico e IO programmato?

A

Per I/O canonico si intende quando viene riservato ai dispositivi I/O un loro spazio di indirizzamento indipendente dove per accedere vengono usate specifiche istruzioni. Per I/O programmato invece viene riservata una porzione di memoria centrale proprio a questi dispositivi, così che qualora il processore dovesse fare riferimento ad un indirizzo presente in quella porzione, già sa che si tratta di I/O e non ha bisogno di usare specifiche istruzioni.

32
Q

Quanti tipi di interconnessione esistono?

A

C’è l’interconnessione punto a punto, l’interconnessione multiplexer, l’interconnessione demultiplexer, l’interconnessione mesh e l’interconnessione bus

33
Q

Come funziona l’interconnessione punto a punto?

A

Viene effettuato il trasferimento della parola da Rs a Rd, utilizzando principalmente n-latch e una linea di controllo per la sovrascrittura o la conservazione del valore corrente

34
Q

Come funziona l’interconnessione multiplexer?

A

Nella rete multiplexer molteplici registri sorgenti possono trasferire i loro dati ad un registro destinazione prefissato.

35
Q

Come funziona l’interconnessione demultiplexer?

A

Nella rete demultiplexer un registro sorgente può trasferire i suoi dati a molteplici registri destinazione.

36
Q

Come funziona l’interconnessione mesh?

A

Le reti mesh sono reti in grado di interconnettere tra loro m registri o in generale m componenti combinando mux e demux.

37
Q

Come funziona l’interconnessione bus?

A

E’ una rete formata da k linee, di solito tante quante sono grandi i registri. Il trasferimento avviene con l’attivazione della linea di selezione tra l’Rs e l’Rd. Viene usato un buffer tri-state per controllare quali linee far passare e quali no.

38
Q

Come sono collegate tra loro le componenti dell’elaboratore?

A

I primi elaboratori venivano collegati con un unico bus chiamato bus di sistema, formato da circa 50-100 fili di rame distanziati a intervalli regolari che consentivano l’inserimento di memorie e dispositivi I/O. Successivamente sono state adottate tecniche che usano più bus, uno in particolare tra memoria e processore e un altro per le altre periferiche.

39
Q

Differenza tra bus master e slave?

A

Il bus master è quello che controlla il trasferimento dei dati e che ordina quali operazioni devono essere svolte. Un esempio è quando il processore ordina al controller di un disco di leggere o scrivere. Nel caso del trasferimento in RAM è anche il controller del disco a fare da master per far leggere i dati alla RAM. La memoria centrale non può invece mai assumere il ruolo di master

40
Q

Differenza tra bus separati e bus multiplexati?

A

Nel primo costa di più perché devi fare più linee, nel secondo costa di meno ma è più lento perché hai una linea che deve trasferimenti più tipi di dato

41
Q

Nelle interconnessioni bus dove più dispositivi fanno uso della stessa linea che tipi di arbitraggio esistono e come funzionano?

A

C’è l’arbitraggio centralizzato dove è presente un arbitro che determina il prossimo dispositivo che deve trasferire i dati. Per farlo usa una unica linea di richiesta e il primo dispositivo più vicino che la vuole ne prende il controllo. Per avere diverse priorità si possono usare linee aggiuntive. Nell’arbitraggio decentralizzato invece vengono usate più linee di richiesta ciacuna con una sua priorità. Le richeiste sono gestite dai dispositivi stessi, che sono in grado di sapere se è il richiedente con la priorità più alta e quindi se può utilizzare la linea. Con questo sistema non si usa un arbitro ma al costo di produrre più linee. Inolte il numero di disp non può superare quello delle linee di richiesta.