Domanda

alt text

Bene Non riesco a capire il diagramma sopra di Von Neumann architettura [Citato da wikipedia] e non sono nemmeno sicuro se sia corretto. Alcuni dubbi evidenti che ho -

Come si può comunicare con ALU memoria? Non è che dovrebbe essere lavoro di CU?

Come è accumulatore di una parte della ALU?

E, cosa è esattamente il lavoro dell'accumulatore?

È stato utile?

Soluzione

A giudicare dalla schema del computer IAS (che dovrebbe essere abbastanza simile a EDVAC , il computer von Neumann ha scritto) l'unità di controllo fornisce gli indirizzi (registro MAR) e controlli le operazioni di bus con segnali come AS, R / W *. D'altra parte, ALU è collegato al bus dati (registro MDR): riceve i dati dalla memoria e memorizza i risultati. Il diagramma mostra anche che ALU riceve le istruzioni e inoltra loro di CU (registro IBR).

Per esempio, supponiamo che l'unità di controllo appena recuperato il ADD $1234 istruzioni. Allora l'elaborazione procede come segue:

  1. puts CU $1234 sul bus indirizzi e iniziati un ciclo di lettura
  2. l'operando viene ricevuto da ALU (registro MDR) e ha aggiunto con accumulatore (registro AC)
  3. il risultato dell'addizione è finalmente memorizzato nell'accumulatore.

Le risposte alle tue domande:

  1. ALU riceve i dati dalla memoria, eseguire le operazioni e memorizza il risultato indietro. Al momento tutti i dati sono stati memorizzati nella memoria (non c'erano registri general purpose), quindi era logico mettere MDR in ALU, il che significa che ALU dovrebbe essere collegato al bus di dati.
  2. Il computer IAS è stato progettato in modo che un ingresso e l'uscita ALU ALU sono cablati all'accumulatore. Quindi era logico posto accumulatore ALU.
  3. L'accumulatore è concepito come un luogo per memorizzare i risultati intermedi, perché avere istruzioni con più di un operando memoria era più difficile da implementare.

Infine, credo che questa discussione è puramente storico. Non v'è alcun motivo particolare per preferire associare il MDR con ALU piuttosto che CU. Era solo che von Neumann è successo a pensare in questo modo, quando stava scrivendo un articolo su EDVAC. Per rendere la storia completa, Wikipedia dice che EDVAC è stato effettivamente progettato da Eckert e Mauchly, mentre von Neumann ha fatto solo la consultazione e la scrittura.

Altri suggerimenti

L'accumulatore è il registro in cui il risultato della operazione aritmetica viene memorizzato temporaneamente. È più veloce utilizzando direttamente la memoria principale. Dal momento che memorizza i risultati aritmetiche ha senso di essere parte della ALU.

L'unità di controllo è come un coordinatore che dice agli altri componenti per fare questo e quello. Ma non fornisce i mezzi come farlo, quindi questo è il motivo per cui la necessità di comunicare ALU direttamene con la memoria.

Bene, l'ALU cambia le bandiere registrano quando fa qualcosa, è per questo che è collegato con la memoria (le bandiere non sono nel CU e nella ALU nessuno dei due, e dal momento che questi sono gli unici componenti che vengono visualizzati ..). E i negozi di accumulo dati in attesa temporaneamente l'ALU di elaborarlo. È collegato direttamente alla ALU perché questo registro è stato pensato per supportare con i suoi calcoli, proprio come il registro ecx è collegata con i circuiti contatori. Naturalmente è possibile aggiungere ECX, EDX ma è più lento. La scelta della sorgente e il registro di destinazione è molto difficile a causa dei circuiti aggiuntivi necessari per attuare in una CPU ed è stato archiviato di recente (relativamente). Quell'immagine è piuttosto vecchio (ssegvic è giusto!) Perché dimostra che di input / output sono possibili solo con l'accumulatore. A mio parere questo è più chiaro:

L'ALU è collegato al bus interno, ma questo non significa che comunica con tutto collegato ad esso. Un'ultima cosa:. Alla ricerca di immagini migliori ho notato che l'ALU non è sempre connesso con la memoria, in alcuni di essi è collegato solo con il CU

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top