Strumenti Utente

Strumenti Sito


informatica:ae:pcmem17

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
informatica:ae:pcmem17 [08/11/2017 alle 11:26 (7 anni fa)] – creata Marco Daneluttoinformatica:ae:pcmem17 [08/11/2017 alle 12:06 (7 anni fa)] (versione attuale) Marco Danelutto
Linea 13: Linea 13:
 La memoria M può essere implementata utilizzando una ROM, ovvero una memoria in cui le parole sono scritte in modo immutabile all'atto della fabbricazione, utilizzando i valori derivabili da microprogramma.  La memoria M può essere implementata utilizzando una ROM, ovvero una memoria in cui le parole sono scritte in modo immutabile all'atto della fabbricazione, utilizzando i valori derivabili da microprogramma. 
  
 +=== Esempio === 
 +Una unità U riceve da U1 un valore e lo cerca in una memoria interna M. Se lo trova, ne restituisce l'indirizzo ad U1, altrimenti restituisce -1. 
  
 +Il microcodice è il seguente
 +<code>
 +0. (RDY=0) nop, 0
 +   (=1) 1->I, zero(IN-M[0])->F, 1
 +1. (I0, F = 00) I+1->I, zero(IN - M[I])->F, 1
 +   (=10) -1 -> OUT, reset RDY, set ACK, 0
 +   (=-1) I-1 -> OUT, reset RDY, set ACK, 0
 +</code>
 +
 +Serve un commutatore (e quindi un segnale α) per scrivere in I (1 o I+1) per scrivere in OUT (I-1 o (-1)) e un commutatore per decidere se indirizzare la memoria M con la costante 0 o con I. 
 +
 +Servono β per decidere se scrivere I, F, OUT, RDY (reset) e ACK (set).
 +
 +Ci sono due possibili stati interni della PC.
 +
 +{{ :informatica:ae:po1.png?400 |}}
 +
 +Quindi (rispetto alla terminologia utilizzata per la spiegazione qui sopra): 
 +  * n = 1
 +  * vc = 3
 +  * m = 8 
 +  * M è una memoria da 2 alla (1+3) = 16 posizioni, ognuna di 8 bit (nota che ci sono più posizioni che frasi, perchè serve scrivere qualcosa anche negli indirizzi che non contano: per la 0. conta l'indirizzo che ha il bit di stato a 0 e il bit RDY a 0 o a 1, ma non interessano le configurazioni di I0 e F che dunque devono essere rappresentate con tutti i 4 valori possibili nell'indirizzo)
 +
 +La configurazione della memoria scritta in fase di creazione della memoria, assumendo che l'ordine delle variabili di controllo sia quello stabilito sopra αKout, αKindM, βI, ... , βack: 
 +
 +<code>
 +// ind    s α   β
 +M[0000] = 0 000 00000    // quando lo stato interno è 0 e RDY è 0, tutti i β sono a 0 
 +M[0001] = 0 000 00000    // (e per comodità anche gli α )
 +M[0010] = 0 000 00000
 +M[0011] = 0 000 00000
 +
 +M[0100] = 1 000 11000    // quando lo stato interno è 0 e RDY è 1 ... 
 +M[0101] = 1 000 11000 
 +M[0110] = 1 000 11000 
 +M[0111] = 1 000 11000 
 +
 +M[1000] = 1 101 11000    // prima frase della 1. indipendendemente da RDY
 +M[1100] = 1 101 11000
 +
 +M[1010] = 0 000 00111    // seconda frase della 1. indipendentemente da RDY
 +M[1110] = 0 000 00111
 +
 +M[1001] = 0 010 00111    // terza frase della 1.  indipendentemente da RDY
 +M[1101] = 0 010 00111
 +
 +M[1011] = 0 010 00111    // quarta frase della 1. indipendentemente da RDY
 +M[1111] = 0 010 00111
 +</code>
informatica/ae/pcmem17.1510140411.txt.gz · Ultima modifica: 08/11/2017 alle 11:26 (7 anni fa) da Marco Danelutto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki