2.2. LMNT D LOGIC CIRCUITLOR NUMRIC Pe lângă capacitatea de a eectua operańii aritmetice, un microprocesor poate i programat să realizeze operańii logice ca ND, OR, XOR, NOT, etc. În acelaşi timp, elemente logice (porńi), sunt utilizate ca părńi componente ale sistemului microcalculator. Comportarea celor mai utilizate elemente logice, întâlnite într-un sistem microcalculator, cât şi regulile de uncńionare a circuitelor logice sunt prezentate în continuare. 2.2.1.Porti logice simple Cele mai utilizate porńi TTL sunt: ND, OR, NND, NOR, XOR, şi x NOR. Tabelele de adevăr ale celor 6 tipuri de porńi se prezintă în Tabelul 2.3, iar Figura 2.1 prezintă simbolurile asociate acestora. Tabelul 2,3 ND OR NND NOR XOR x- NOR 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 0 0 0 1 ND OR XOR + NND NOR x-nor + Fig. 2.1. Simboluri porńi logice 2.2.2 PorŃi inversoare 2.2. Inversoarele sunt circuite cu schema şi diagrama de uncńionare prezentate în igura 0 1 1 0 Fig. 2.2. PorŃi inversoare
2.2.3. PorŃi tri-state PorŃile tri-state (cu trei stări) reprezintă o componenta importanta în sistemele microprocesor. xistă tipuri de circuite tri-state inversoare şi neinversoare. În Figura 2.3 se prezintă tabela de adevăr şi reprezentarea simbolică a circuitului tri-state. lementele de circuit cu ieşiri tri-state se utilizează datorită posibilităńii de a avea stare de mare impedanńă la ieşirea circuitului. stel se permite decuplarea semnalului de ieşire, de semnalul de intrare, al circuitului. Out Out Out Out X 0 High Z X 0 High Z 0 1 0 0 1 1 1 1 1 1 1 0 a) b) Figura 2.3. PorŃi tri-state. a) neinversoare; b) inversoare 2.2.4. istabilul de tip D istabilul D este utilizat în sistemele cu microprocesoare ca element de memorie de 1 bit (mai rar se utilizează şi bistabile de tip T, SR, sau JK). Circuitul are doua stări stabile, având reprezentarea convenńională şi tabela de adevăr în igura 2.4. cuańia caracteristică a bistabilului D este: ( ) t t +δt t Q = D Q + D Q = D. Se observă că, ieşirea la momentul t+δt urmăreşte valoarea intrării D la momentul t. Transerul este controlat de semnalul. xistă două categorii de bistabile D, din punctul de vedere al controlului transerului datei prin intermediul semnalului : - activ pe ront, când valoarea semnalului de la intrarea D este transmisă la ieşirea Q, la trecerea semnalului din starea 1 în starea 0, deci pentru ront descrescător, sau la trecerea semnalului din starea 0 în starea 1, deci pentru ront crescător; - activ pe nivel, când pe perioada nivelului activ al semnalului ieşirea Q urmăreşte variańiile intrării D. La dezactivarea semnalului, ieşirea Q rămâne în ultima stare în care a ost. D Q Q Fig. 2.4. istabil de tip D D t Q t Q t+δt 0 0 0 0 1 0 1 0 1 1 1 1
2.2.5. Registre. Registrele reprezintă o componentă undamentală în orice microcalculator. Şi microprocesorul conńine un număr de registre. Un registru reprezintă un şir de bistabile utilizat pentru a memora inormańie binară (temporar sau permanent). O operańie recventă într-un microprocesor este transerul paralel al datelor între două registre. De exemplu, date sunt încărcate inińial în registrul şi apoi transerate în registrul la aparińia semnalului Transer pe linia de ceas a registrului. ConŃinutul registrului este neschimbat, până la o modiicare ulterioara (ştergere, încărcare cu alte date). Simbolic, se reprezintă transerul conńinutului registrului în registrul prin relańia: T:() (), "La primirea semnalului de control, se transeră conńinutul registrului în registrul ". cest tip de registru este de tip PIPO (Paralel Input Paralel Output = intrare paralelă, ieşire paralelă). date ieşire RD WRIT date intrare Fig. 2.5. Transerul paralel al datelor între două registre O altă operańie recventă în sistemele microprocesor este transerul serial al datelor între registre. În acest caz, transerul unui bit de la intrarea registrului până la ieşirea acestuia va necesita 8 semnale de ceas. cest tip de registru se numeşte SISO (Serial Input Serial Output = intrare serială, ieşire serială). Figura 2.6 prezintă schema de realizare a transerului serial între două registre de câte 8 bińi iecare. S Înainte de transer S Reg. Reg. 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 S După transer S Reg. Reg. 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 Fig. 2.6 Transerul serial al datelor între două registre
Se observă că, registrul îşi păstrează conńinutul prin recilcularea inormańiei între ieşire şi intrare. Durata transerului va i evident de 8 pulsuri de ceas. 2.2.6. Multiplexoare Un multiplexor este un circuit care selectează o singură ieşire din mai multe intrări (uzual 4, 8 sau 16). SelecŃia liniei de ieşire se ace cu semnale de control. Figura 2.7 prezintă un multiplexor cu patru intrări (,, si ), şi ieşirea (şi negata sa). Liniile de control şi şi semnalul de activare completează circuitul. Din punct de vedere uncńional, multiplexorul poate i privit ca un comutator cu mai multe pozińii, selectând una dintre ele la un moment dat (, în igura 2.7,b). FuncŃia de ieşire are expresia: ( 0 1 2 3 ) = D + D + D + D. Se observă că: - dacă =0, =0 = 1, se selectează linia (termenii ceilalńi iind nuli); - dacă =0, =1 = 1, se selectează linia, etc. - dacă =1, se inhibă operańia întregului circuit. Implementarea logică a circuitului este dată în igura 2.7.c MUX a) b) c) Fig. 2.7. Simbolul, schema uncńională şi schema logică a unui multiplexor 4 la 1 2.2.7. Demultiplexoare şi decodiicatoare Un demultiplexor îndeplineşte uncńia opusă unui multiplexor. l poate i utilizat la conversia unui şir de semnale numerice transmise serial, într-o ormă paralelă. Diagrama bloc a acestui circuit este prezentata în igura 2.8. D DeMux O 0 O 1 O 2 O 3 Fig. 2.8. Demultiplexor 1 la 4
Linia de intrare D poate i conectată la oricare dintre cele patru linii de ieşire, prin semnalele de control şi. Fiind posibile 4 combinańii distincte ale celor două semnale de control şi, circuitul va avea în acest caz patru linii de ieşire. stel, pentru =0, =0, semnalul D este transerat la ieşirea O 0 (la activarea circuitului, prin semnalul =0), pentru =0, =1 semnalul D este transerat la ieşirea O 1, ş.a.m.d. Decodiicatorul este, de apt, un demultiplexor ără intrări de date. l converteşte un cod pe n bińi în maxim 2 n ieşiri individuale. Figura 2.9 prezintă diagrama bloc şi tabela de adevăr a unui decodiicator 3 la 8. Ieşirile decodiicatorului sunt active pe 0. Decodiicatoarele sunt utilizate în sistemele microprocesor pentru selecńia cipurilor de memorie, a porturilor sistemului, etc. De exemplu, decodiicatorul din igura 2.9 poate i utilizat la selecńia unuia din 8 cipuri de memorie, în uncńie de codul de selecńie al liniilor de intrare, urnizat de către microprocesor. Decodiicatorul are o linie de activare. De multe ori, decodiicatoarele sunt dotate cu mai multe linii de activare, (unele active pe nivel logic "0", altele pe nivel logic "1"), ceea ce măreşte lexibilitatea acestor circuite. O 0 Decod O 1 O 2 O 3 O 4 O 5 O 6 O 7 C cod intrare Fig. 2.9. Schema şi tabela de adevăr a unui decodiicator 3 la 8 C O 0 O 1 O 2 O 3 O 4 O 5 O 6 O 7 1 X X X 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 FuncŃie: activarea unica a unuia dintre semnalele de ieşire, corespunzător combinańiei semnalelor de selecńie.