
Errata corrige dei Cap.11 e 12 del manuale Contemporary Logic Design di R. Katz
[Tiziano Villa]

=========================================

Cap. 11 
p. 11-17
Freccia tra MRB e Memoria dev'essere bidirezionale
(attualmente va solo da MBR a Memoria)

p. 11-66, seconda riga di titolo
Le microoperazioni dell'operazione RTL AC ---> MBR sono
(nelle trasparenze sono state dimenticate le prime due):
RTL              Microoperazioni
AC ---> MBR      AC ---> ALU A (immediata)
                 ALU PASS A    (immediata)
                 AC ---> RBUS  (immediata)
                 RBUS ---> MBR (ritardata)

p. 588 libro di R. Katz
IR<13:0> --> MAR   IR   --> ABUS (immediate)
                   ABUS --> IR   (immediate)
correggi in:
IR<13:0> --> MAR   IR   --> ABUS (immediate)
                   ABUS --> MAR  (immediate)


p. 589 libro di R. Katz
Fig. 11.29, nell'elenco delle micro-operazioni manca ALU Pass A 
rispetto all'elenco di p. 588

=========================================

Cap. 12 
p. 12-26
Spiegazione.
Nelle formule di CNT e CNT negato e' presente il termine s9
perche' CNT negato e' usato come HOLD e quindi vi deve comparire
il termine Wait.s9, e percio' per simmetria si e' introdotto
in CNT il termine duale !Wait.s9.
Il termine !Wait.s9 e' presente anche in CLR e, poiche'
CLR ha precedenza su CNT, quando il termine !Wait.s9 e' vero
si asserisce l'uscita CLR e non CNT, il che e' corretto.
[La Cnt PAL realizza la funzione !CNT=HOLD, la sua negazione
- nota l'inversione in uscita - ne realizza il complemento rispetto
all'universo, il quale complemento interseca i termini 
che asseriscono CLR e LOAD, i quali pero' prevalgono perche' 
CLR > LOAD > CNT]

p. 12-28
!CLR = !(!CLRm + !Reset) ---> !CLR = !CLRm . !Reset

Commenti allo schematico
- segnale LD
 LD va asserito solo nello stato S4 (OD)
 quando i segnali di selezione del selettore sono 0100 (stato S4)
 allora l'ingresso E4 (connesso a VDD) e' istradato sull'uscita 
 EOUT attiva bassa
- segnale CLRm
 i segnali E7, E12, E13 (corrispondenti a S7, S12, S13)
 sono connessi a VDD perche' da essi ci si deve portare allo
 stato futuro S0
- segnale CNT
 problema: l'ingresso CNT del contatore e' attivo alto,
           ma l'uscita del selettore e' attiva bassa
 soluzione: per asserire alto CNT si asserisce basso l'ingresso
            appropriato del selettore (due negazioni si annullano)
            * E0, E5, E8, E10 sono connessi a terra perche' si conta
              per S0+S5+S8+S10
            * E1, E3 sono connessi a !Wait perche' si conta per
              Wait(S1+S3)
            * E2, E6, E11 sono connessi a Wait perche' si conta per
              !Wait(S2+S6+S11)
              [in questo caso non serve realizzare !Wait.S9]

p. 12-34
Aggiungere riga finale nella ROM
1 XXXX XX 0000(RES) PC ---> 0 
come nella Fig. 12.20 p. 625 libro di R. Katz 

p. 12-44,12-45 
e libro Fig. 12.27, p. 635
Si cambi come segue:

Da
  ROM ADDRESS  Symbolic Contents  
  000000       RES  RT PC->MAR, PC+1->PC
  000001       IF0  RT MAR->M, Read
A
  000000       RES  RT 0->PC
  000001       IF0  RT PC->MAR, PC+1->PC

Da
  ROM ADDRESS  Symbolic Contents  
  000111            RT IR->MAR
A
  000111            RT NoOp

Da 
  ROM ADDRESS  Symbolic Contents  
  001010       LD0  RT MAR->M, READ
  001011       LD1  RT MAR->M,MBR->M,READ
A
  001010       LD0  RT IR->MAR
  001011       LD1  RT MAR->M,MBR->M,READ

Da 
  ROM ADDRESS  Symbolic Contents  
  010001            RT MAR->M,MBR->M,WRITE
  010010       ST0  RT MAR->M,MBR->M,WRITE
A
  ROM ADDRESS  Symbolic Contents  
  010001       ST0  RT IR->MAR
  010010            RT AC->MBR
  010010       ST1  RT MAR->M,MBR->M,WRITE

Da
  ROM ADDRESS  Symbolic Contents  
  010110       AD0  RT MAR->M, Read
  010111       AD1  RT MAR->M, M->MBR, Read
A
  010110       AD0  IR->MAR
  010111       AD1  RT MAR->M, M->MBR, Read

p. 604 libro di R. Katz
"this compares rather unfavorably"
perche' "unfavorably" se sono 21 termini prodotto contro 512 ?

p. 605 libro di R. Katz
Fig. 12.3, la micro-operazione MBUS --> AC dovrebbe essere omessa
se AC non e' un registro a scrittura duale

p. 629 libro di R. Katz
Nella Fig. 12.23 ci sono 22 segnali, mentre nella Fig. 11.29 ci sono 18 
segnali (in Fig. 12.3 ci sono 19 segnali, uno in piu' della Fig. 11.29, 
si tratta di MBUS --> AC, vedi nota precedente);
  Ci sono 5 segnali in Fig. 12.23 che non compaiono in Fig. 11.29:
    1)        MBR --> ABUS  nuovo
    2)       ABUS --> IR    nuovo
  queste due micro-operazioni realizzano MBR --> IR,
  in alternativa alla scelta di Fig. 11.29:
              MBR --> MBUS   
             MBUS --> IR
  [per consistenza si deve modificare l'unita' esecutiva di Fig. 11.26:
  si deve collegare MBR con ABUS e ABUS con IR, mentre non serve
  il collegamento tra MBUS e IR - invece serve sempre MBR --> MBUS 
  per gli stati LD2 (MBR --> AC) e AD2(MBR+AC --> AC)]
    3)         AC --> RBUS  nuovo
  serve per realizzare AC --> MBR in st0 
  [in mancanza di ALU PASS A che permetterebbe di passare da AC a MBR
   passando dall'ALU; si noti che ALU PASS A e' presente a p. 588, 
   ma e' stato dimenticato in Fig. 11.29, p. 589] 
    4)         AC --> ALU A cablato in Fig. 11.29
    5) ALU Result --> RBUS  cablato in Fig. 11.29
  C'e' un segnale in Fig. 11.29 che non compare in Fig. 12.23
    1)       MBUS --> IR    cablato in Fig. 11.29
    serviva per realizzare MBR --> IR che ora passa per ABUS
  [si noti che MBUS --> IR era presente in Fig. 11.29]
  In totale ci sono (5-1=)4 micro-operazioni in piu' in Fig. 12.23 
  rispetto a Fig. 11.29.
   
p. 633, libro di R. Katz
* In Sources il segnale MBR ---> IR e' ripetuto due volte
  percio' le sorgenti sono 8 e non 9
* Nel passare alla microprogrammazione verticale si suggerisce 
  di eliminare la micro-operazione MBR ---> MBUS, ma poi essa e'
  mantenuta nello schema della Fig. 12.26 

p. 635, libro di R. Katz
Analisi del microcodice di LD2 nella Fig. 12.27
- nella realizzazione con microprogrammazione verticale si ha
LD2  RT MBR ---> AC  ottenuto come: ALURes ---> RBUS, RBUS ---> AC, ALU PassB
- nella realizzazione con microprogrammazione orizzontale si ha
LD2  RBUS ---> AC, MBUS ---> ALUB, ALU PassB, MBR ---> MBUS, ALURes ---> RBUS
la differenza si spiega cosi' 
1) MBUS ---> ALUB e' cablato all'ingresso di ALUB
2) MBR ---> MBUS eliminato perche' MBR e' l'unica sorgente di MBUS

p. 12-46 e p. 637, Fig. 12.28, libro di R. Katz
* Secondo decodificatore dall'alto (decodificatore DST)
  - eliminare il segnale ABUS ---> IR
  - inserire il segnale  MBUS ---> IR
  - i segnali sono disallineati rispetto ai piedini d'uscita
    e devono essere abbassati di un piedino:
    il segnale RBUS ---> AC corrisponde al piedino 1, 
    il segnale MBUS ---> IR corrisponde al piedino 1, 
    e cosi' via ...
    il segnale MBR ---> M corrisponde al piedino 7,
    mentre al piedino 0 non corrisponde un segnale di controllo
* Terzo decodificatore dall'alto (decodificatore SRC)
  - eliminare il segnale MBR ---> ABUS
  - inserire il segnale  MBR ---> MBUS
