Algebre booleane e progetto logico dei calcolatori digitali/Progetto logico di un calcolatore digitale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Nessun oggetto della modifica
Riga 72:
Esso differisce da un '''floating-point computer''', capace di lavorare con una aritmetica in virgola mobile.
 
[[File:Formato istruzioni.png|rightcenter]]
 
La parola considerata come istruzione è suddivisa in due parti (campi): il codice operativo e l'indirizzo. Il formato istruzione del nostro calcolatore sarà quindi:
Riga 86:
=== Configurazione del calcolatore ===
 
[[File:Configurazione di un semplice calcolatore digitale.png|rightcenter]]
 
[[File:Memory resgister.png|rightcenter]]
La configurazione del nostro calcolatore ipotetico è mostrata in fig. 4.3.1.
 
Riga 107:
Un accumulatore (registro A) è sufficiente come unità aritmetica: esso consiste in 9 bits, in modo da memorizzare una intera parola (fig. 4.3.2)
 
[[File:Registri di un calcolatore digitale semplice.png|rightcenter]]
 
Quando una istruzione viene presa dalla memoria, essa viene conservata temporaneamente in un registro per essere successivamente eseguita. L'apposito registro viene chiamato '''intruction register''' '''(R)''' ed è ovviamente di 9 bits
Riga 141:
Le istruzioni eseguibili da questo calcolatore ipotetico sono raggruppate in tabella 4.3.3 seguente
 
{| class="wikitable"
{|
|-
! Codice........... !! Istruzione !! Descrizione dell'istruzione
Riga 305:
In fig-4.4.2 sono raffigurati entrambi i cicli.
 
[[File:Tabella 4.4.2.png|rightcenter]]
 
Durante la fase del ciclo di istruzione vi sono quattro operazioni (fig-4.4.3a); la prima permette di prendere una istruzione: una parola viene presa dalla memoria il cui indirizzo è nel registro '''C''' (000000 per la prima istruzione) e trasferita nel registro '''R'''; simbolicamente:
Riga 329:
Il motivo di questa ulteriore operazione è dovuto al fatto che la parte indirizzo del registro '''R''' (operand address) viene trasferita nel registro '''C''' e quindi l'indirizzo della istruzione contenuta in '''C''' (000000 per la prima istruzione) viene perduto.
 
[[File:Operazioni durante cicli di istruzione e di esecuzione.png|rightcenter]]
 
Questo indirizzo della istruzione che è stato preso in considerazione deve essere conservato in qualche maniera in quanto l'indirizzo della nuova istruzione è ottenuto da quello della presente, sommando '''1'''.
Riga 498:
::<math>f_{4t}=[f_4\bar G+f_{10}R_2+f_2\bar A_0+f_5(C_0+C_2)+f_8+f_{11}+f_{12}+f_{14}+f_{15}G]p</math>
 
[[File:Valori assunti da Flip-Flop.png|rightcenter]]
 
Quando il contatore si trova nello stato '''f<sub>15</sub>''' e il flip-flop G ha valore '''0''', viene richiesta l'operazione '''1=>F''': in tavola 4.5.2 vengono mostrati i valori assunti dai flip-flop '''F<sub>i</sub>''' durante tale operazione.
Riga 577:
::::<math>K_8=f_9 p</math>
 
[[File:Operazione di scorrimento a destra.png|rightcenter]]
 
L'operazione di scorrimento a destra avviene allo stato '''f<sub>12</sub>'''.
Riga 595:
Essa fa scorrere il contenuto dell'accumulatore di un bit verso sinistra mentre lo stato di '''A<sub>8</sub>''' viene sostituito da quello di '''A<sub>0</sub>'''.
 
[[File:Azzeramento dellaaccumulatore.png|rightcenter]]
 
Le equazioni di input saranno:
Riga 760:
::::<math>m_{jit}=(A_i\oplus M_{ji}) f_3D_j p\ \ \ \ i=o,..,8\ \ \ \ j=0,...,63</math>
 
[[File:Operazione di input.png|rightcenter]]
 
La seconda operazione consiste nell'inserire delle parole in memoria mediante gli interruttori '''Q'''