1 / 76

Facultatea de Informatică - Iaşi

Facultatea de Informatică - Iaşi. Arhitectura Calculatoarelor Curs pentru anul I Informatică  FII - 2003 hluchian@infoiasi.ro. Autori ale căror prezentări publice au fost folosite pentru pregătirea acestei forme a cursului. Sivarama Dandamundi Jerry Breecher Randy Katz Michel Allemand

nydia
Télécharger la présentation

Facultatea de Informatică - Iaşi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Facultatea deInformatică - Iaşi Arhitectura Calculatoarelor Curs pentru anul I Informatică  FII - 2003 hluchian@infoiasi.ro

  2. Autori ale cărorprezentări publice au fost folosite pentru pregătirea acestei forme a cursului • Sivarama Dandamundi • Jerry Breecher • Randy Katz • Michel Allemand • Daniel Amyot • John Morris

  3. CUPRINS • I. Introducere în Arhitectura şi organizarea calculatorului • II. Circuite combinaţionale şi funcţii booleene • III. Circuite secvenţiale şi automate • IV. Reprezentări interne

  4. CIRCUITE COMBINAŢIONALE ŞI FUNCŢII BOOLEENE Capitolul al-II-lea

  5. &II.1. INTRODUCERE

  6. Semnal analogic şisemnal digital • Semnal analogic • continuu • dacă a luat valorile a şi b, atunci a luat şi “toate” valorile din [a,b]. • Semnal digital • are câteva niveluri – valori – distincte şi stabile • discontinuu • nu ia alte valori (…) • Indiferent de fenomenul fizic aflat la bază • Calculator: semnal digital cu 2 niveluri • “0” şi “1” … • Modem: comunicare digital – analogic. • Conducerea proceselor industriale • Folosirea reţelelor telefonice analogice

  7. Aplicaţii ale circuitelor digitale • Calculatoare • CPU, memorie, bus, periferice,… • Reţele, comunicaţii • telefoane, modemuri, routere • Bunuri diverse • automobile, audio-video, jucării, … • Echipament pentru (alte) activităţi ştiinţifice • Testare, măsurare etc. • Lumea calculului se extinde mult dincolo de PC. • embedded systems • definiţii restrânse ale calculului

  8. O 1 O m Circuite • Combinaţionale: • Secvenţiale: o1 Om I 1 IEŞIRI INTRĂRI I n I 1 INTRĂRI parte IEŞIRI I n combina- ţională STĂRI memorie

  9. Metoda cutiei negre • Pentru un circuit combinaţional a cărui structură / funcţionare nu este cunoscută: • se aplică fiecare combinaţie posibilă de valori ale intrărilor; • se observă valorile ieşirilor pentru fiecare astfel de combinaţie • se obţine astfel un tabel de adevăr. • Cum unui tabel de adevăr îi corespunde o funcţie booleană, rezultă că fiecărui circuit combinaţional îi corespunde o funcţie booleană.

  10. De la circuite la funcţii booleene • Circuit combinaţional  tabel de adevăr • n fixat: partea de intrare e întotdeauna aceeaşi • Întotdeauna aceeaşi corespondenţă pentru un circuit (determinist)

  11. &II.2. FUNCŢII BOOLEENE

  12. Structura algebrică • Mulţimea nevidă B • Mulţimea de operaţii binare { + , • } • O operaţie unară { } • B conţine cel puţin două elemente, a, b, a  b. • închidere: a + b este în B a • b este în B este în B

  13. Funcţii booleene • B = {0,1} • f : Bn Bm • funcţie: n variabile, m valori • circuit: n intrări, m ieşiri • Există astfel de funcţii. • n=1, m=1 : 4 funcţii unare cu o valoare.

  14. Funcţii booleenede două variabile • 16 funcţii booleene complet definite de 2 variabile şi cu o valoare. X F Y X xor Y X = Y not X X 1 Y 0 X and Y X or Y not Y X nand Y X nor Y

  15. Axiome şi teoremeîn algebra booleană • Identitate 1. X + 0 = X 1D. X • 1 = X • Constante 2. X + 1 = 1 2D. X • 0 = 0 • Idempotenţă 3. X + X = X 3D. X • X = X • Involuţie 4. = X • Complementaritate 5. X + = 1 5D. X • = 0 • Comutativitate 6. X + Y = Y + X 6D. X • Y = Y • X • Associativitate 7. (X + Y) + Z = X + (Y + Z) 7D. (X • Y) • Z = X • (Y • Z) • Distributivitate 8. X • (Y + Z) = (X • Y) + (X • Z) 8D. X + (Y • Z) = (X + Y) • (X + Z) • Unificare 9. X • Y + X • = X 9D. (X + Y) • (X + ) = X • Absorbţie 10. X + X • Y = X 10D. X • (X + Y) = X 11. (X + ) • Y = X • Y 11D. (X • ) + Y = X + Y

  16. Legile lui De Morgan • 12. • 12D. • Generalizare: • 13. • Dualitate

  17. Forme normale • Plecând de la tabelul de adevăr al unei funcţii, se pot obţine două expresii diferite pentru acea funcţie: • Forma normală disjunctivă • Pentru fiecare 1 din ultima coloană, se scrie un termen ce conţine doar conjuncţii • Termenii se leagă prin disjuncţie • Fiecare termen conţine fiecare variabilă a funcţiei • negată, dacă în linia acelui 1 variabila apare cu valoarea 0 • nenegată pentru 1 • Exemplu: F9(x,y)=x·y + x·y • Forma normală conjunctivă: dual • Exemplu: F9(x,y)= (x+y)·(x+y)

  18. Operaţiile calculatoruluila nivel logic elementar • Pentru calculatoarele actuale, operaţiile elementare la nivelul circuitelor de bază sunt operaţiile logicii booleene • care simulează şi operaţiile aritmetice elementare în baza 2. • Un circuit combinaţional poate fi văzut ca implementând o funcţie booleană.

  19. &II.3. DIAGRAME LOGICE

  20. A 0 0 1 1 A 0 0 1 1 B 0 1 0 1 B 0 1 0 1 OR 0 1 1 1 AND 0 0 0 1 A AND B Poarta AND A OR B Poarta OR A 0 1 NOT 1 0 A NOT Poarta NOT Alfabetul diagramelor logice • Porţi elementare • AND • OR • NOT • Funcţionarea unei porţi se poate descrie printr-un tabel de adevăr (funcţia booleană ataşată)

  21. A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 XOR 0 1 1 0 NOR 1 0 0 0 NAND 1 1 1 0 A NAND B Poarta NAND A NOR B Poarta NOR A XOR B Poarta XOR Alfabetul diagramelor logice • Alte porţi utile • NAND • NOR • XOR • NAND = NOT ° AND • NOR = NOT ° OR • XOR implementează funcţia sau-exclusiv • Porţile NAND şi NOR necesită doar 2 tranzistori • pentru AND şi OR e nevoie de câte 3 tranzistori

  22. În diagrame logice apar şi porţi “elementare” cu mai multe intrări • Operaţiile binare asociative pot fi extinse la operaţii cu orice număr finit de operanzi 

  23. Set minimal de generatori • Care este numărul minim de tipuri de porţi ce ar trebui produse pentru a putea obţine din ele circuite care implementează orice funcţie booleană? • 3 – anume, {NOT, OR, AND} – este un răspuns parţial • Forme normale (disjunctivă, conjunctivă) • Şi două ajung: NOT şi una din celelalte două • Răspunsul corect este 1, cu două soluţii: {NAND} şi {NOR}

  24. Temă • Arătaţi că {NAND} şi {NOR} sunt mulţimi de generatori pentru funcţiile booleene • Indicaţie: se foloseşte FND sau FNC. În particular:

  25. A 1 A A+B A+B B B  1

  26. &II.4. DESCRIEREA ADUNĂRII ÎN BAZA 2PRIN FUNCŢII BOOLEENE

  27. Definirea funcţiilor booleene • Funcţiile logice booleene pot fi definite în mai multe moduri: • prin tabel de adevăr • prin expresii conţinând variabile şi operaţii logice • în formă grafică • în sigma-notaţie (Σ) • Exemplu: funcţia “majoritatea dintre k” • are k variabile şi o valoare • valoarea funcţiei este 1 dacă majoritatea variabilelor au valoarea 1 • vom studia funcţia pentru k=3.

  28. Σ-notaţia • f=(3,5,6,7) • Fiecare număr din paranteză reprezintă un termen •  denotă disjuncţia termenilor • Numărul de variabile n este cea mai mică putere a lui 2 strict mai mare decât cel mai mare număr ce apare în paranteză • n = 3: 4 = 22 < 7 < 23 = 8 • f(x1 , x2 , x3)= (3,5,6,7)

  29. Σ-notaţia • Fiecare număr din paranteză se scrie în baza 2 pe n poziţii • 3  011 • Termenul corespunzând unui număr conţine: • toate variabilele, • fiecare negată dacă îi corespunde un 0 şi nenegată pentru 1, • legate prin conjuncţie • 3  011 

  30. Σ-notaţia • 11 aplicări ale funcţiilor elementare OR / AND. • Găsirea unei expresii echivalente (aceeaşi funcţie booleană) cu mai puţine aplicări de operatori ar face respectivul circuit • mai rapid, • mai ieftin, • mai fiabil.

  31. A B C IMP Funcţia “imparitate” cu 3 intrări • Implementarea formei normale disjunctive A B C IMP 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

  32. A B C F 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Implementarea funcţiei“majoritate din 3” • Forma normală disjunctivă: patru termeni, fiecare conţinând doar conjuncţii • corespund celor 4 linii cu ieşirea 1 • În fiecare termen, o variabilă apare negată numai dacă valoarea sa pe acea linie este 0. F = A B C + A B C + + A B C + A B C • Se poate implementa o expresie echivalentă mai simplă ?

  33. Minimizare • Nu doar set minimal de operatori, ci şi – pentru o funcţie dată – număr minimal de aplicări ale acestora (AND / OR) • FND – un număr de apariţii ale operatorilor • 11 OR / AND în exemplu • Proceduri de minimizare – reduc expresia • Rescriere echivalentă • Inducţie perfectă • Metoda Veitch-Karnaugh • Metoda Quine-McCluskey • Hibridizare (ex: V-K urmat de distributivitate)

  34. Idempotenţă Minimizare prin rescriere algebrică • Funcţia “majoritate din 3” A B C + A B C + A B C + A B C = A B C + A B C + A B C + A B C + A B C + A B C • Expresia devine: B C + A C + A B • Metodă dificilă pentru expresii complexe

  35. &II.5. MINIMIZAREA FUNCŢIILOR BOOLEENE PRIN METODA DIAGRAMELOR KARNAUGH

  36. Structura unei diagrame Karnaugh pentru n variabile • Pe structura unui tabel bidimensional • Zona variabilelor • 2 clase : etichete de linii / coloane (n par  clase egale) • se scriu numele variabilelor • Zona etichetelor • o etichetă este un şir de n biţi, dacă funcţia are n variabile • Pentru n par, n/2 biţi într-o etichetă de linii, n/2 pentru o etichetă de coloană • fiecare bit dintr-o etichetă corespunde unei variabile • Zona celor 2n locaţii din diagramă • în care se vor trece doar valorile de 1. • unei locaţii îi corespunde o unică etichetă

  37. Ordinea codului Grey ABC 00 01 11 10 ABCD 00 01 11 10 AB 0 1 00 0 0 01 1 1 11 10 Diagrama Karnaugh pentru două variabile Diagrama Karnaugh pentru 3 variabile Diagrama Karnaugh pentru 4 variabile Metoda Karnaugh

  38. Etichete: codul Grey • Etichetele nu se scriu în ordinea naturală, ci în ordinea Grey. • pe 2 poziţii binare: 00, 01, 11, 10. • pe 3 poziţii binare: 000, 001, 011, 010, 110, 111, 101, 100. • pe 4 poziţii binare: 0000, 0001, 0011, 0010, 0110, 0111, 0101,0100, 1100, 1101, 1111, 1110, 1010, 1011, 1001,1000. • Oricare două etichete consecutive – inclusiv prima şi ultima! - diferă printr-un singur bit.

  39. Adiacenţe în diagrame Karnaugh • Două poziţii sunt adiacente dacă etichetele corespunzătoare diferă pe un singur bit. • Generalizează “vecinătatea” intuitivă • 4 variabile: cele patru colţuri sunt adiacente! • Pentru o funcţie de n variabile, o locaţie are n locaţii adiacente • < 5 variabile – vizual • 5 sau mai multe: şi alte adiacenţe decât cele vizibile

  40. Paşii minimizării Karnaugh 1. Se trec în locaţiile corespunzătoare (conform etichetelor) valorile de 1 ale funcţiei; • Se caută blocuri conţinând numai valori 1, astfel încât: • fiecare valoare 1 să fie inclusă în cel puţin un bloc; • blocurile să fie cât mai mari şi mai puţine; • un bloc să conţină un număr de locaţii egal cu o putere a lui 2 • eventual puterea 0; • dacă blocul conţine 2k locaţii , atunci pentru fiecare locaţie blocul să conţină exact k locaţii adiacente cu ea.

  41. Paşii minimizării Karnaugh • Se scrie expresia minimizată a funcţiei astfel: • fiecărui bloc cu 2k locaţii 1 îi corespunde un termen conţinând n-k variabile legate prin conjuncţie; • în termen apar acele variabile ale căror etichete sunt constante pentru toate locaţiile din bloc; • o variabilă apare negată dacă eticheta sa constantă este 0 şi nenegată altfel; • termenii astfel obţinuţi (după considerarea tuturor blocurilor) sunt legaţi prin disjuncţie.

  42. BC ĀBC ĀBC ABC 00 01 11 10 ABC 00 01 11 10 AB 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0 1 0 ABC AC ABC Funcţia imparitate Funcţia majoritate din 3 Exemple: “majoritatea din 3”; imparitate

  43. Adiacenţa liniilor/coloanelor extreme _ AB ABC 00 01 11 10 0 1 0 1 1 1 1 1 0 1 _ C _ AB f(A,B,C)=Σ(0,2,3,4,5,6)

  44. ABCD ABCD 00 00 01 01 11 11 10 10 00 00 1 1 0 0 0 0 1 1 01 01 0 0 0 0 0 0 0 0 11 11 0 0 1 1 1 1 0 0 10 10 1 1 1 1 0 0 1 1 _ _ ABC _ ACD _ _ B D ABD _ _ B D ABD Expresia depinde de grupare

  45. ABCD ABCD 00 00 01 01 11 11 10 10 00 00 0 0 0 0 1 1 0 0 01 01 1 1 1 1 1 1 0 0 11 11 0 0 1 1 1 1 1 1 10 10 0 0 1 1 0 0 0 0 Simplificare Karnaugh neminimală Simplificare Karnaugh minimală Evitarea redundanţelor

  46. Combinaţii imposibilede valori • Variabilele nu vor avea niciodată acele combinaţii de valori • Se poate deci considera restricţia funcţiei booleene doar la subdomeniul de definiţie al combinaţiilor permise • doar aceasta va fi “vizibilă” în funcţionarea circuitului • se consideră cea mai convenabilă – din punctul de vedere al minimizării – extensie la combinaţiile imposibile • se consideră valoarea 0 sau 1, după cum convine

  47. Exemplu – afişarea cifrelor zecimale • Afişaj cu 7 segmente • Selectarea segmentelor pentru fiecare cifră • 0 – stins • 1 – aprins

  48. Funcţia booleană ataşată segmentului d Nr A B C D d Nr A B C D d 0 0 0 0 0 1 8 1 0 0 0 1 1 0 0 0 1 0 9 1 0 0 1 1 2 0 0 1 0 1 10 1 0 1 0 * 3 0 0 1 1 1 11 1 0 1 1 * 4 0 1 0 0 0 12 1 1 0 0 * 5 0 1 0 1 1 13 1 1 0 1 * 6 0 1 1 0 1 14 1 1 1 0 * 7 0 1 1 1 0 15 1 1 1 1 *

  49. ABCD ABCD 00 00 01 01 11 11 10 10 00 00 1 1 0 0 1 1 1 1 01 01 0 0 1 1 0 0 1 1 11 11 * 0 * 0 * 0 * 0 10 10 1 1 1 1 * 0 * 0 Combinaţiile imposibile pot simplifica expresia Simplificare “funcţionare de siguranţă” Simplificare exploatând combinaţiile imposibile

  50. A B C D LT EQ GT 0 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 A LTEQGT A B < C DA B = C DA B > C D N1 B C N2 D Diagrama bloc şi tabelul de adevăr Temă: comparator pe 2 biţi E nevoie de câte o reducere Karnaugh pentru fiecare dintre cele 3 funcţii

More Related