cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/arch/archlect4.pdf · reti...

57
Cenni alle reti logiche Luigi Palopoli

Upload: phungtu

Post on 15-Feb-2019

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Cenni alle reti logiche

Luigi  Palopoli  

Page 2: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Cosa sono le reti logiche?

•  Fino  ad  ora  abbiamo  visto  §  Rappresentazione  dell’informazione  §  Assembler  

•  L’obbie:vo  di  questo  corso  è  mostrare  come  si  proge>o  una  computer  

•  Quindi  abbiamo  adesso  bisogno  di  fare  una  piccola  digressione  su  come  si  proge>ano  I  circuiA  logici  

•  Avremo  un  corso  specifico  su  questo…..  

Page 3: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Valori logici

•  I  computer  moderni  sono  realizzaA  tramite  circuiA  ele>ronici  

•  Tra>andosi  di  elemenA  digitali  avremo  due  livelli  fondamentali  §  Alto,  Asserito  (1):  associato  alla  tensione  di  alimentazione  Vdd  

§  Basso,  negato  (0):  associato  alla  massa  (tensione  =  0)  

•  Altri  livelli  di  tensione  sono  non  significaAvi  e  assunA  solo  in  fase  transitoria  

Page 4: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Reti logiche

•  Le  porte  logiche  sono  dei  circuiA  che  trasformano  alcuni  valori  logici  in  ingresso  in  altri  valori  logici  in  uscita  

•  Le  porte  logiche  sono  di  due  Api  §  Combinatorie  

ü Relazione  funzionale  tra  ingresso  e  uscita  ü Non  hanno  memoria  ü L’uscita  dipende  solo  dal  valore  dell’ingresso  

§  Sequenziali  ü L’uscita  dipende  dalla  storia  degli  ingressi  passaA  e  non  solo  dal  valore  a>uale  

ü Hanno  memoria  (de>a  anche  stato  della  rete)  

Page 5: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Tabella di verità

•  Una  possibile  maniera  di  specificare  una  rete  logica  combinatoria  è  tramite  una  tabella  di  verità  che  elenca  I  valori  delle  uscite  in  corrispondenza  dei  vari  ingressi  

INPUT   OUTPUT  

A   B   C   D     E   F  

0   0   0   0   0   0  

0   0   1   1   0   0  

0   1   0   1   0   0  

0   1   1   1   1   0  

1   0   0   1   0   0  

1   0   1   1   1   0  

1   1   0   1   1   0  

1   1   1   1   0   1  

Page 6: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Algebra di boole

•  Una  maniera  più  compa>a  è  di  specificare  le  funzioni  logiche  combinatorie  tramite  espressioni  algebriche  definite  con  l’algebra  di  boole  

•  Esistono  tre  operatori  di  base  §  AND  

ü viene  rappresentato  tramite  il  simbolo  di  prodo>o.  Esempio  A•B.    ü Produce  1  se  entrambi  gli  operandi  sono  uno  e  zero  negli  altri  casi  

§  OR  ü rappresentato  tramite  il  simbolo  della  somma  (+).  Esempio  A+B  ü Produce  zero  se  e  solo  se  entrambi  gli  operandi  sono  0  

§  Not  ü Rappresentato  da  una  barra.  Esempio:  Ā  ü Ha  l’effe>o  di  inverAre  il  valore  logico  

Page 7: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Algebra di Boole

•  Ci  sono  una  serie  di  regole  che  ci  perme>ono  di  manipolare  facilmente  le  espressioni  logiche  §  IdenAtà:  A+0=A,  A•1=A  §  Regola  zero  e  uno:  A  +  1  =  1,  A•0=0  §  Regola  dell’inversa  A  +  Ā=1,  A•Ā=0  §  Regola  commutaAva:  A+B=B+A,  A•B=B•A  §  Regola  AssociaAva:  A+(B+C)=(A+B)+C,  A•(B•C)=(A•B)•C  

§  Regola  distribuAva:  A•(B+C)=(A•B)+(A•C),  A+B•C=(A+B)(A+C)  

Page 8: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Algebra di Boole

•  In  più  esistono  dure  regole  molto  importanA,  de>e  di  De  Morgan        

•  Queste  leggi  ci  dicono  che  se  abbiamo  una  nand,  o  una  nor  tu:  gli  altri  operatori  logici  si  possono  ricavare  

A ·B = A+B

A+B = A ·B

Page 9: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Algebra di Boole Esempio

•  Torniamo  alla  nostra  tabella        

INPUT   OUTPUT  

A   B   C   D     E   F  

0   0   0   0   0   0  

0   0   1   1   0   0  

0   1   0   1   0   0  

0   1   1   1   1   0  

1   0   0   1   0   0  

1   0   1   1   1   0  

1   1   0   1   1   0  

1   1   1   1   0   1  

•  Possiamo  vedere  facilmente  D = A+B + C

F = A ·B · C

Page 10: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Algebra di Boole - Esempio

•  Torniamo  alla  nostra  tabella        

INPUT   OUTPUT  

A   B   C   D     E   F  

0   0   0   0   0   0  

0   0   1   1   0   0  

0   1   0   1   0   0  

0   1   1   1   1   0  

1   0   0   1   0   0  

1   0   1   1   1   0  

1   1   0   1   1   0  

1   1   1   1   0   1  

     E  vale  1:  §  Se  A=1,  B=1,  C=0    oppure  

§  Se  A=1,  C=1  B  =  0  oppure    

§  Se  B=1,  C=1,  A=  0  

E = (A ·B · C) + (A · C ·B) + (B · C ·A)

E = (A+B + C) · (A+ C +B) · (B + C +A)

•  O  usando  De  Morgan  

Page 11: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Porte logiche

•  In  realtà  esistono  dei  circuiA  ele>ronici  (porte  logiche)  che  mi  implementano  gli  operatori  booleani  fondamentali  

AND   OR   NOT  

Page 12: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Porte logiche

•  Le  porte  si  possono  combinare  tra  di  loro  (con  il  not  che  può  essere  semplificato  tramite  un  cerchio)  

A+B

Page 13: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Alcuni circuiti

•  Decoder  

Page 14: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Alcuni circuiti

•  MulAplexor  

•  Deviatore  che  sulla  base  di  un  input  di  controllo,  determina  quale  degli  input  passa.  

Page 15: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Alcuni circuiti

•  MulAplexor  a  N  vie  

Decoder  

••••  

••••  

Page 16: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Forme canonica SP

•  Abbiamo  visto  che  Arare  fuori  un’espressione  logica  da  una  tabella  di  verità  è  semplice  

•  Basta  prendere  ciascuna  riga  uguale  a  1  e  scrivere  un  termine  di  prodo>o  logico  de>ato  dalla  configurazione  degli  ingressi  

•  A  quel  punto  si  può  fare  la  somma  di  tu:  I  prodo:  individuaA  

Page 17: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Altro esempio

•  Consideriamo  come  ulteriore  esempio:  

INPUT   OUTPUT  A   B   C   D  0   0   0   0  0   0   1   1  0   1   0   1  0   1   1   0  1   0   0   1  1   0   1   0  1   1   0   0  1   1   1   1  

D = (A ·B · C) + (A ·B · C) + (A ·B · C) + (A ·B · C)

Page 18: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

PLA

•  La  stru>ura  che  abbiamo  visto  si  compone  di  due  stadi:  la  prima    è  una  barriera  di  AND  (cde:  anche  mintermini)  e  una  barriera  di  OR  

•  La  dimensione  totale  del  PLA  è  data  dalla  somma  di  Piano  AND  (numero  di  mintermini  e  loro  complessità)  e  del  piano  OR  (Numero  di  uscite)  

•  Cara>erisAche  importanA:  §  Ci  sono  porte  logiche  solo  per  le  configurazione  che  prudcono  1  

§  Se  un  mintermine  è  condiviso  tra  varei  uscita,  basta  una  sola  entry  

Page 19: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Esempio •  Ritorniamo  all’esempio                  

INPUT   OUTPUT  

A   B   C   D     E   F  

0   0   0   0   0   0  

0   0   1   1   0   0  

0   1   0   1   0   0  

0   1   1   1   1   0  

1   0   0   1   0   0  

1   0   1   1   1   0  

1   1   0   1   1   0  

1   1   1   1   0   1  

Page 20: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Esempio •  Implementazione  tramite  porte  logiche            

D = A+B + C

F = A ·B · CE = (A ·B · C) + (A · C ·B) + (B · C ·A)

Page 21: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Esempio •  Una  diversa  rappresentazione  (usando  i  punA  nei  piani  and  e  or)  

         

D = A+B + C

F = A ·B · CE = (A ·B · C) + (A · C ·B) + (B · C ·A)

Page 22: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Costo

•  Le  funzioni  logiche  possono  essere  implementate  in  maniera  diversa  (più  o  meno  efficiente)  

•  Per  COSTO  di  una  rete  logica  si  intende  normalmente  la  somma  del  numero  di  porte  e  del  numero  di  ingressi  della  rete  (indipendentemente  dal  fa>o  che  siano  posiAvi  o  negaA)  

•  E’  possibile  trovare  delle  implementazioni  di  una  rete  che  hanno  cosA  diversi  

 

Page 23: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Minimizzazione di funzioni logiche

•  La minimizzazione di alcune espressioni logiche è banale, in altri casi è necessario applicare le regole algebriche in modo “furbo”

•  Es. f(x1, x2, x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3

= x1x2(x3 + x3) + x1x2(x3 + x3)

= x1x2 + x1x2

= (x1 + x1)x2

= x2

Page 24: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Minimizzazione

•  Esistono  metodi  di  minimizzazione  sistemaAci  basaA  sull’applicazione  iteraAva  di  queste  regole  

•  Altri  metodi  sono  basaA  su  rappresentazioni  grafiche  (mappe  di  Karnaugh),  ma  si  applicano  solo  a  casi  più  semplici  

•  Questo  argomento  si  chiama  “sintesi  logica”  e  per  gli  interessaA  è  coperto  nel  corso  di  reA  logiche  

Page 25: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Array di elementi logici

•  Molto  spesso  si  costruiscono  array  di  elemenA  che  operano  su  daA  complessi  

•  Ad  esempio  come  realizzare  un  mulAplexer  che  opera  su  un  bus  a  32  bit  uAlizzando  elemenA  a  un  bit  

•  BUS:  insieme  di  file  (ad  esempio  32)  che  viene  visto  come  un  singolo  segnale  logico  

Page 26: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Multiplexor a 32 bit

Page 27: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

ALU

•  ALU:  la  algebraic  logic  unit  è  una  componente  che  è  in  grado  di  effe>uare  varie  operazioi  logiche  e  aritmeAche  (secondo  la  selezione  che  viene  fa>a).  

•  Esempio  ALU  a  un  bit  che  effe>ua  (a  comando)  AND  o  OR    

Page 28: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Sommatore a un bit

•  Fino  a  ora  c’e’  la  parte  logica  ma  non  quella  aritmeAca  •  Come  fare  una  sommatore  a  un  bit  (full  adder)?  •  Teniamo  presente  che  oltre  agli  operandi  abbiamo  in  input  il  

riporto  (carry  in),  e  produciamo  in  output  un  altro  riporto  (carry  out)  

Page 29: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Sommatore a un bit

•  Il  sommatore  a  un  bit  è  una  rete  logica  combinatoria  per  la  quale  possiamo  scrivere  la  tabella  di  verità  

Page 30: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Sommatore a un bit

•  Per  il  carry  out  l’espressione  come  SP  è:  CarryOut = (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn

= (a · b · CarryIn) + (a · b · CarryIn) + a · b= (b · CarryIn) + (a · CarryIn) + a · b

•  L’ulAmo  passaggio  si  giusAfica  perchè  a · b · CarryIn 6= b · CarryIn $ a = 1, b = 1

Ma  in  quel  caso  a•b=1  porta  comunque  a  1  l’espressione  

Page 31: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Sommatore a un bit

•  Per  la  sum  l’espressione  come  SP  è:  sum = (a · b · CarryIn) + (b · a · CarryIn) + (a · b · CarryIn) + (a · b · CarryIn)

•  Circuito  per  carryout  

Page 32: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

ALU a 1 bit

•  Possiamo  ora  combinare  le  tre  operazioni  

Page 33: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Una ALU a 32 bit

•  I  blocchi  che  abbiamo  visto  si  possono  combinare  per  o>enere  una  ALU  a  32  bit  

Page 34: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Sottrattore

•  Cosa  succede  se  se:amo  il  carry  in  a  1?  •  Molto  semplicemente  possiamo  sommare:  a  +  b  +  1  Se  neghiamo  b  possiamo  o>enere  un  comporamento  da  so>razione  (complemento  a  due):    

a+ b+ 1 = a+ (b+ 1) = a+ (�b) = a� b

Page 35: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Circuito complessivo

•  Circuito  risultante   •  Per  so>rare  basta  selezionare  la  somma,  se>are  Binvert  e  CarryIn  a  1  

Page 36: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

NOR

•  Abbiamo  visto  che  nell’assembly  del  MIPS  c’e’  anche  l’operazione  di  nor….  

•  La  possiamo  facilmente  implementare  con  le  leggi  di  De  Morgan      Questo  vuol  dire  che  abbiamo  bisogno  anche  della  possibilità  di  uAlizzare  come  operando  a  inverAto  

(a+ b) = a · b

Page 37: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

ALU a 1 bit

•  Selezionando  And,  Ainvert,  Binvert  o>eniamo  nor  

Page 38: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Confronti e overflow

•  L’operazione  slt  si  può  effe>ure  con  la  seguente  considerazione    

•  Quindi  slt  deve  effe>uare  la  so>razione  ma  resAtuire  come  risultato  il  bit  di  segno  (il  più  significaAvo)  del  risultato  della  so>razione  al  bit  meno  significaAvo  e  lasciare  0  nelle  altre  posizioni  

•  Anche  il  bit  di  overflow  si  genera  considerando  il  carry  sul  modulo  più  signifiicaAvo  o  i  segni  di  operandi  e  risultato  

a < b $ a� b < 0

Page 39: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Schema complessivo

SLT:  Si  fa  una  so>razione  e  il  bit  più  signiifvaAvo  viene  trasferito  su  quello  meno  signiifcaAvo  del  

risultato  mentre  gli  altri  devono  essere  0  

Page 40: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Schema delle singole celle

Cella  relaAva  a  bit  meno  significaAvo  mi  deve  propagare  less  (che  viene  se>ato  a  zero  ecce>o  

che  per  il  primo)  per  operazione  slt.  

Cella  relaAva  a  bit  a  bit  meno  significaAvo  che  deve  generare  il  nit  di  segno  in  caso  di  operazione  di  slt.  

Page 41: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Reti con reazione e memoria

•  Le funzioni logiche e le relative reti di implementazione visto fino ad ora sono note come “reti combinatorie”

•  Le reti combinatorie non hanno una nozione “esplicita” del tempo e non hanno memoria del passato: in ogni istante di tempo l’uscita dipende solamente dagli ingressi nell’istante considerato

•  In molte applicazioni è necessario introdurre memoria nel sistema ...

•  In realtà si dà sempre per scontato che un elaboratore sia in grado di memorizzare informazioni

Page 42: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Reti con reazione e memoria

•  La memoria in una rete logica si ottiene con una “reazione” cioè alimentando l’uscita di alcune porte sugli ingressi di porte del medesimo stadio in modo da formare un anello in cui gli ingressi dipendono dalle uscite (e viceversa)

•  La reazione complica in modo significativo l’analisi e la sintesi di una rete logica

•  La memoria deriva dal fatto che gli ingressi “ricordano” il passato della rete attraverso il valore delle uscite passate

Page 43: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Elemento base di

memoria (latch)

realizzazione con due porte NOR

e schema di “temporizzazione”

della tavola di verità

Page 44: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Analogia Fisica

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Vin

V1V2

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

Vin

VinV2

Equilibrio 0!

Equilibrio 1!

Metastabile!

Stabile left Stablie destra

.

Metastabile

Page 45: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Memorizzare un bit

Q+!

Q–!

R!

S!

R-S Latch!

Q+

Q–

R

S

Q+

Q–

R

S

Reset!1

0

1 0

0 1

Q+

Q–

R

S

Q+

Q–

R

S

Set!0

1

0 1

1 0

Q+

Q–

R

S

Q+

Q–

R

S

Memorizzare!0

0

!q q

q !q

Elemento Bistabile!

Q+!

Q–!

q

!q

q = 0 or 1!

Page 46: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Stati indecidibili e temporizzazione

•  Dato che i segnali non si propagano in tempo nullo, l’effetto del cambio di un ingresso di propaga in tempo finito sulle uscite

•  Se le uscite sono reazionate questo può creare problemi di indecidibilità dello stato di una rete con memoria

•  Gli elementi di memoria sono quindi sempre temporizzati, cioè sono governati da un segnale speciale chiamato “clock”

•  Un elemento base di memoria temporizzato viene normalmente indicato come “gated latch”

Page 47: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

•  Il clock viene inserito come “ingresso di abilitazione” attraverso porte AND: se ck è a zero la rete reazionata ha gli ingressi forzati a zero e non può cambiare stato

•  Quando ck è a uno la gli ingressi della rete reazionata sono gli ingressi R ed S del circuito

•  Circuiti di questo tipo hanno rappresentazione grafiche “standard”

Abilitazione

Page 48: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Elementi di memoria “reali” celle D e flip-flop

•  Le reti viste prima sono note come latch S-R (Set-Reset)

•  Hanno il difetto di avere uno stato indecidibile (cioè l’uscita non può essere nota con certezza) quanto entrambi gli ingressi sono a uno

•  In molti casi questo è inaccettabile •  Si può rimediare??

§  latch-D (data) §  flip-flop

Page 49: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Latch tipo “D” •  Gli ingressi al circuito

base sono ottenuti da una unica variabile

•  Non vi può essere ambiguità

•  Il circuito è abilitato durante tutta la fase positiva del clock

Page 50: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Flip-flop master-slave

D   Q  

Q  

Master   Slave  

D  

Clock  

Q  

Q  

D   Q  

Q  

Q  m   Q  s  

D  

Clock  

Q  m  

Q   Q  s  =  

D   Q  

Q  

(a) Circuit

(b) Timing diagram

(c) Graphical symbol

Clk  Clk  

•  Configurazioni più complesse (come questa) consentono ad esempio di ottenere che l’uscita del circuito commuti esattamente al termine dell’impulso di clock

Page 51: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Registri

§  Impiegati per registrare delle word di dati §  Collezione di latch edge-triggered §  Caricano gli input sul fronte in salita del clock

I! O!

Clock!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

D!C! Q+!

i7!i6!i5!i4!i3!i2!i1!i0!

o7!

o6!

o5!

o4!

o3!

o2!

o1!

o0!

Clock!

Structure!

Page 52: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Operazioni su registri

§ Memorizzano bit §  La maggior parte delle volte operano come una

barriera tra input e output §  Sul fronte in salita del clock memorizzano l’input

State = x"Rising"clock"_

Output = x"Input = y"x" _

State = y"

Output = y"y"

Page 53: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Vantaggi dell’edge triggered

•  Una  metodologia  edge  triggered  perme>e  di  aggiornare  lo  stato  a  parAre  dal  quello  presente  senza  creare  delle  situazioni  di  corse  

•  Questo  porta  alle  macchine  a  staA  in  cui:  §  Lo  stato  successivo  dipende  da  quello  presente  e  dall’input  §  L’output  dipende  dallo  stato  presente  e  dall’input  (macchina  di  mealy),  o  solo  dall  stato  presente  (macchina  di  moore)  

Page 54: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Esempio di macchina a stati

§ Circuito accumulatore

§  A ogni ciclo carica l’input e lo accumula

Comb. Logic!

A"L"U"

0"

Out!MUX"0"

1"

Clock!

In!Load!

x0" x1" x2" x3" x4" x5"

x0" x0+x1" x0+x1+x2" x3" x3+x4" x3+x4+x5"

Clock!

Load!

In!

Out!

Page 55: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Register file

•  I  registri  possono  essere  organizzaA  in  un  array  (memoria)  con  la  possibilità  di  scrivere  o  leggere  su  alcuni  di  essi  

Page 56: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Register file -- lettura

•  Possiamo  leggere  due  registri.  Per  sceglire  quali  usiamo  un  mux  

Page 57: Cenni alle reti logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/ARCHlect4.pdf · Reti con reazione e memoria • Le funzioni logiche e le relative reti di implementazione

Register file -- scrittura

•  Possiamo  scrivere  in  un  registro.  Per  sceglier  quale  usiamo  un  decoder