2. Circuite logice Memorii. Copyright Paul GASNER

Σχετικά έγγραφα
2. Circuite logice 2.4. Decodoare. Multiplexoare. Copyright Paul GASNER


5.4. MULTIPLEXOARE A 0 A 1 A 2

Arhitectura Calculatoarelor. Fizică - Informatică an II. 2. Circuite logice. Copyright Paul GASNER 1

2. Circuite logice 2.5. Sumatoare şi multiplicatoare. Copyright Paul GASNER

Metode iterative pentru probleme neliniare - contractii

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Circuite logice programabile

CIRCUITE COMBINAŢIONALE UZUALE

2. Circuite logice 2.2. Diagrame Karnaugh. Copyright Paul GASNER 1

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile


Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Curs 4 Serii de numere reale

Curs 1 Şiruri de numere reale

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Codificatorul SN74148 este un codificator zecimal-bcd de trei biţi (fig ). Figura Codificatorul integrat SN74148

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

CIRCUITE LOGICE CU TB

6.4. REGISTRE. Un registru care îndeplineşte două sau mai multe funcţii din cele 4 prezentate mai sus se numeşte registru universal.

Integrala nedefinită (primitive)

Seminar 5 Analiza stabilității sistemelor liniare

Sisteme diferenţiale liniare de ordinul 1

MARCAREA REZISTOARELOR

5 STRUCTURI PROGRAMABILE

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Circuite cu tranzistoare. 1. Inversorul CMOS

Metode de interpolare bazate pe diferenţe divizate

2.2. ELEMENTE DE LOGICA CIRCUITELOR NUMERICE

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Problema a II - a (10 puncte) Diferite circuite electrice

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Electronică anul II PROBLEME

Examen AG. Student:... Grupa:... ianuarie 2011

Aplicaţii ale principiului I al termodinamicii la gazul ideal

4.2. CIRCUITE LOGICE ÎN TEHNOLOGIE INTEGRATĂ

Functii Breviar teoretic 8 ianuarie ianuarie 2011


COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Proiectarea filtrelor prin metoda pierderilor de inserţie

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

V O. = v I v stabilizator

Subiecte Clasa a VII-a

Cursul nr. 6. C6.1 Multiplexorul / Selectorul de date


AUTOMATE FINITE. Un automat cu stări finite se defineşte formal prin cvintuplul

Criptosisteme cu cheie publică III

Capitolul 2 - HIDROCARBURI 2.5.ARENE

Subiecte Clasa a VIII-a

Examen AG. Student:... Grupa: ianuarie 2016

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

ANEXA 4. OPERAŢII ARITMETICE IMPLEMENTĂRI

a. 11 % b. 12 % c. 13 % d. 14 %

riptografie şi Securitate

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Examen. Site Sambata, S14, ora (? secretariat) barem minim 7 prezente lista bonus-uri acumulate

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

ELECTRONICĂ DIGITALĂ

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

Εμπορική αλληλογραφία Ηλεκτρονική Αλληλογραφία

Curs 2 Şiruri de numere reale

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Facultatea de Electronică şi Telecomunicaţii Laborator 1 - Arhitectura Sistemelor de Calcul an univ / 2006, sem I asistent Aghion Cristian

Tabelul tranziţiilor este prezentat mai jos. La construirea sumatorului folosim bistabile de tip JK: (3.1)

III. Reprezentarea informaţiei în sistemele de calcul

4. Măsurarea tensiunilor şi a curenţilor electrici. Voltmetre electronice analogice

Stabilizator cu diodă Zener

FLUXURI MAXIME ÎN REŢELE DE TRANSPORT. x 4

Foarte formal, destinatarul ocupă o funcţie care trebuie folosită în locul numelui

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

10. Unitati de executie integrate

Capitolul 2 - HIDROCARBURI 2.3.ALCHINE

Capitolul 2 - HIDROCARBURI 2.5.ARENE

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Ecuatii trigonometrice

POARTA TTL STANDARD. Studiul parametrilor circuitelor TTL standard şi determinarea caracteristicilor porţii logice fundamentale.

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Laborator 11. Mulţimi Julia. Temă

Asupra unei inegalităţi date la barajul OBMJ 2006

SIGURANŢE CILINDRICE

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Tranzistoare bipolare şi cu efect de câmp

Analiza funcționării și proiectarea unui stabilizator de tensiune continuă realizat cu o diodă Zener

Esalonul Redus pe Linii (ERL). Subspatii.

Laborator 4 Circuite integrate digitale TTL

Transcript:

2. Circuite logice 2.11. Memorii Copyright Paul GASNER

Random Access Memory RAM Toate circuitele secvenţiale depind de memorii un flip-flop poate stoca doar un bit de informaţie un registru poate stoca un cuvânt (pe 8, 16, 32 sau 64 bits) RAM permite stocarea unor cantităţi mult mai mari de memorie. Trebuie rezolvate următoarele probleme: interfaţarea cu memoria implementarea ierarhizarea cipurilor Copyright Paul GASNER 2

RAM capabilităţi În general, o memorie trebuie să fie minimum capabilă: să stocheze o valoare să permită citirea valorii stocate să permită rescrierea valorii stocate RAM trebuie să îndeplinească cerinţele de mai sus, dar având în vedere că stochează mai multe valori, deci se asociază o adresă fiecărei locaţii de memorie şi atunci se redefinesc cerinţele: RAM trebuie să fie capabilă: să stocheze mai multe cuvinte, câte unul la fiecare adresă să permită citirea cuvintelor stocate la orice adresă să permită rescrierea cuvintelor stocate, indiferent de adresă Copyright Paul GASNER 3

Organizarea RAM operaţii memorie 2 k x n k n ADRS DATA CS WR OUT n CS WR Operaţie 0 x nimic 1 0 citirea cuvântului selectat 1 1 scrierea cuvântului selectat CS (Chip Select) activează sau dezactivează RAM ADRS adresa (locaţia) de memorie scrisă sau citită WR selectează citirea sau scrierea la adresa aleasă citire WR=0 şi OUT este valoarea n-bit stocată la ADRS scriere WR=1 şi valoarea n-bit de la DATA este stocată în memorie Copyright Paul GASNER 4

Organizarea RAM capacitate O memorie 2 k x n prezintă: 2 k locaţii de memorie k linii pentru accesarea adresei cuvântul stocat la o adresă conţine n biţi k n memorie 2 k x n ADRS DATA CS WR OUT De exemplu, o memorie 2 24 x16 RAM conţine 2 24 =16M cuvinte, fiecare de lungime 16 bits RAM are nevoie de 24 linii de adresă capacitatea totală de stocare este 2 24 28 x16=2 biţi n Copyright Paul GASNER 5

Mărimi utilizate Prefix Baza 2 Baza 10 K Kilo 2 10 = 1,024 10 3 = 1,000 M Mega 2 20 = 1,048,576 10 6 = 1,000,000 G Giga 2 30 = 1,073,741,824 10 9 = 1,000,000,000 O memorie 2 24 x16=2 28 biţi = 2 24 bytes=32mb Un sistem care utilizează 32 biţi pentru adrese poate accesa aproximativ 4 miliarde de locaţii dacă o locaţie poate stoca un byte, atunci sistemul poate accesa 4GB RAM a nu se confunda RAM cu memoria virtuală de pe HDD swap Adresă 00000000 00000001 00000002 00000003.............................. FFFFFFFC FFFFFFFD FFFFFFFE FFFFFFFF Date Copyright Paul GASNER 6

Operaţia de citire Pentru a citi din memorie, circuitul de control (controller de memorie) trebuie să: activeze cipul prin CS=1 selecteze operaţia de citire WR=0 trimită adresa dorită pe magistrala de adrese ADRS citească conţinutul adresei specificate la ieşirea OUT Intrarea DATA nu este utilizată la citire memorie 2 k x n k n ADRS DATA CS WR OUT n Copyright Paul GASNER 7

Operaţia de scriere Pentru a citi din memorie, circuitul de control (controller de memorie) trebuie să: activeze cipul prin CS=1 selecteze operaţia de scriere WR=1 trimită adresa dorită pe magistrala de adrese ADRS trimită datele pentru stocare pe magistrala de date DATA Ieşirea OUT nu este utilizată la scriere memorie 2 k x n k n ADRS DATA CS WR OUT n Copyright Paul GASNER 8

Memoria statică Există mai multe căi de implementare hardware a RAM memoria statică utilizată în cache şi video (cu excepţia ultimelor generaţii) memoria dinamică Memoria statică este construită cu ajutorul latch-urilor (la nivel de bit) şi nu a flip-flop-urilor: un latch necesită de cel puţin 2 ori mai puţine componente decât un flip-flop (are nevoie de 2 porţi NAND sau NOR) cu cât sunt mai puţine componente, cu atât circuitul este mai rapid, fără distorsiuni sau alte pierderi, mai fiabil şi consumă mai puţină energie rămâne problema sincronizării Copyright Paul GASNER 9

Celula RAM 1 bit Intrarea ADRS nu e necesară doar un singur bit Citirea: dacă CS=1 şi WR=0, atunci C=0 şi latch-ul D îşi păstrează starea conţinutul latch-ului aparea la ieşirea OUT Scrierea: dacă CS=1 şi WR=0, atunci C=0 şi latch-ul D îşi păstrează starea conţinutul latch-ului apărea la ieşirea OUT Copyright Paul GASNER 10

Cip 4x1 RAM ADRS are 2 biţi Cuvintele conţin doar 1 bit, deci DATA şi OUT sunt pe 1 bit Selectarea celulei se face prin decodorul legat la porturile de activare CS pe baza adresei introduse Numai o singură celulă poate fi scrisă sau citită la un moment dat RAM 4 bit Copyright Paul GASNER 11

Conectarea ieşirilor Nu este recomandată conectarea ieşirilor între ele, deoarece valori diferite ale acestora conduc la conflicte (logice şi electrice) conflict Combinarea ieşirilor se realizează cu OR sau MUX dar aceasta soluţie presupune complicarea circuitului Copyright Paul GASNER 12

Buffer 3 stări EN IN OUT 0 x Deconectat 1 0 0 1 1 1 Ieşirea unui buffer 3 stări (three-state buffer) poate lua 3 valori, spre deosebire de porţile clasice Deconectat semnifică absenţa oricărui semnal la ieşire, astfel încât OUT poate fi conectat în siguranţă la un alt semnal Stare deconectat este o stare de impedanţă ridicată Copyright Paul GASNER 13

Conectarea bufferelor Se pot interconecta ieşirile bufferelor doar dacă la un moment dat numai unul dintre ele este activ dacă decodorul este dezactivat, atunci toate bufferele sunt dezactivate şi toate ieşirile vor fi deconectate când decodorul este activat, doar un singur buffer este activ şi valoarea de la intrarea sa va fi transmisă la OUT Copyright Paul GASNER 14

4x4 RAM Copyright Paul GASNER 15

64K x 8 RAM => 256K x 8 RAM 16 8 8 8 16 18 linii la adrese primii 2 biţi cei mai semnificativi fiind la decodor şi selectează celula de memorie ceilalţi 16 biţi merg la cipurile de 64K Cipurile 64K x 8 partajează intrările WR şi DATA 8 Copyright Paul GASNER 16

Domeniile de adrese 8 16 11 1111 1111 1111 1111 (0x3ffff)... 11 0000 0000 0000 0000 (0x30000) 10 1111 1111 1111 1111 (0x2ffff)... 10 0000 0000 0000 0000 (0x20000) 01 1111 1111 1111 1111 (0x1ffff)... 01 0000 0000 0000 0000 (0x10000) 8 00 1111 1111 1111 1111 (0x0ffff)... 00 0000 0000 0000 0000 (0x00000) Copyright Paul GASNER 17

64K x 8 RAM => 64K x 16 RAM Se pot stoca şi cuvinte mai lungi: cei mai semnificativi 8 biţi în cipul din stânga cei mai puţin semnificativi 8 biţi în cipul din dreapta 16 8 8 8 8 Copyright Paul GASNER 18

Memorii dinamice Memoriile dinamice folosesc condensatori pentru stocarea informaţiilor prezenţa sarcinii electrice semnifică 1 logic absenţa sarcinii electrice semnifică 0 logic Consensatorii necesită reîncărcare permanentă de unde numele de memorie dinamică DRAM Memoria dinamică are dimensiuni fizice mult mai mici decât memoria statică: stocarea unui bit necesită un condensator şi un tranzistor la memoria dinamică, pe când la cea statică sunt necesari 4+6 tranzistori Copyright Paul GASNER 19

SDRAM Synchronous DRAM SDRAM Cipurile de memorie sunt organizate în module şi conectate la CPU printr-o magistrală de 64 biţi (8 bytes) Viteza: PC66, PC100, PC133 aka 66MHz, 100MHz, 133MHz Lăţimea de bandă: PC100: 100MHz x 8bytes = 800MB/ s PC133: 133MHz x 8bytes = 1GB/s Tensiune de alimentare 3.3V Copyright Paul GASNER 20

DDR-RAM Double Data Rate RAM Transferul de date se face foarte asemănător ca la SDRAM, dar se folosesc ambele fronturi (pozitiv şi negativ) de la semnalul de ceas La un bus de 100-133MHz, memoria apare ca 200-266MHz PC1600 = DDR 200MHz: 200MHz x 8bytes = 1600MB/s PC2100 = DDR 266MHz: 266MHz x 8bytes = 2100MB/s PC3200 = DDR 400MHz: 400Mhz x 8bytes = 3200MB/s Tensiune de alimentare 2.5V Copyright Paul GASNER 21

RDRAM Rambus Dynamic RAM Utilizate Playstation2 şi primele PC cu Pentium4 Busul de date este de 16 biţi şi memoria funcţionează la 400MHz (ambele fronturi de ceas) Rata de transfer de 1.6GB/s Duble channel 3.2GB/s Tensiune de alimentare 2.5V Copyright Paul GASNER 22

dinamic versus static Memoria dinamică are dimensiuni foarte mici comparativ cu cea statică Dezavantaje majore DRAM: viteză mică (nu satisface necesarul procesorului) latenţă mare Pentru a îmbunătăţi viteza, procesoarele utilizează memorie statică internă cache cu rolul de memorie tampon Tip modul SD RAM, PC100 SD RAM, PC133 Rambus, PC800 Rambus, Dual PC800 DDR 266 (PC2100) DDR 333 (PC2700) DDR 400 (PC3200) DUAL DDR PC3200 DUAL DDR2-400 DUAL DDR2-533 transfer maxm 800 MB/sec 1064 MB/sec 1600 MB/sec 3200 MB/sec 2128 MB/sec 2664 MB/sec 3200 MB/sec 6400 MB/sec 8600 MB/sec 10600 MB/sec Procesor Lăţime Maximum address bus RAM 8088, 8086 20 1 MB 80286, 80386SX 24 16 MB 80386DX, 80486, Pentium, Pentium 32 4 GB MMX, K5, K6 etc. Pentium Pro, Pentium II, III Pentium 4 36 64 GB Copyright Paul GASNER 23

ROM Read Only Memory ROM este un tip special de memorie, al cărei conţinut nu se modifică (uzual) nu prezintă port de activare a scrierii WR ca la RAM stocarea datelor în ROM se efectuează cu unelte speciale Sunt utilizate pentru stocarea datelor permanente: BIOS în PC-uri sisteme de operare PDA, telefoane, console de jocuri etc tabele matematice pentru sisteme de calcul 2 k x n ROM k ADRS OUT n CS Copyright Paul GASNER 24

ROM. Funcţii ROM este un circuit combinaţional, nu secvenţial Poate fi privit ca un circuit combinaţional care are la intrare adresa locaţiei de memorie, iar la ieşire conţinutul locaţiei respective Tabela ROM prezintă conţinutul memoriei, adică datele stocate la fiecare adresă Tabela ROM este ca o tabelă de adevăr şi se poate construi un circuit combinaţional pe baza acesteia Adresa A 2 A 1 A 0 Data V 2 V 1 V 0 000 000 001 100 010 110 011 100 100 101 101 000 110 011 111 011 Copyright Paul GASNER 25

ROM cu decodoare Tabela de adevăr poate fi convertită în circuit clasic combinaţional cu decodoare X Y Z C S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Poate fi privit ca o memorie care stochează suma şi bitul de depăşire conform tabelei de adevăr Copyright Paul GASNER 26

Arhitectura ROM Într-adevăr, ROM-urile se bazează pe implementarea cu decodoare a funcţiilor un ROM nescris (blank) este o colecţie de decodoare şi porţi OR conexiunile dintre intrările porţilor şi ieşirile decodoarelor sunt programabile A scrie sau programa un ROM înseamnă realizarea conexiunilor dorite între decodor şi porţi Copyright Paul GASNER 27

Exemplu ROM Un ROM 8x3 pentru implementarea funcţiilor V2V1V0 V2 = Σm(1,2,3,4) V1 = Σm(2,6,7) V0 = Σm(4,6,7) Copyright Paul GASNER 28

Exemplu ROM Un ROM 8x3 pentru implementarea funcţiilor V2V1V0 A2 A1 A0 V2 = Σm(1,2,3,4) V1 = Σm(2,6,7) V0 = Σm(4,6,7) Copyright Paul GASNER 29

... sau prescurtat... Un ROM 8x3 pentru implementarea funcţiilor V2V1V0 A2 A1 A0 V2= Σm(1,2,3,4) V1 = Σm(2,6,7) V0= Σm(4,6,7) V2 V1 V0 Copyright Paul GASNER 30

... sau prescurtat Un ROM 8x3 pentru implementarea funcţiilor V2V1V0 A2 A1 A0 V2= Σm(1,2,3,4) V1 = Σm(2,6,7) V0= Σm(4,6,7) V2 V1 V0 Adresa A 2 A 1 A 0 Data V 2 V 1 V 0 000 000 001 100 010 110 011 100 100 101 101 000 110 011 111 011 Copyright Paul GASNER 31

Matrici logice programabile PLA Un ROM nu este optimizat, decodorul generează toţi mintermenii posibili Pentru a implementa o funcţie cu n intrări sunt necesare: un decodor nx2 n care conţine n inversoare şi 2 n porţi AND fiecare cu n intrări o poartă OR cu 2 n intrări numărul de porţi se dublează la fiecare intrare suplimentară O matrice programabilă programmable logic array PLA înglobează decodorul în partea programabilă a ROM şi se aleg doar produsele necesare implementării funcţiei (nu neapărat mintermeni) Copyright Paul GASNER 32

Un PLA 3x4x3 neprogramat PLA 3x4x3 = 3 intrări + 4 produse + 3 ieşiri chenarul reprezintă decodorul din RAM conexiunile se realizază în AND array pentru a obţine doar 4 mintermeni (nu toţi 8) produsele se sumează în OR array Inputs AND array OR array Outputs Copyright Paul GASNER 33

Optimizarea PLA cu K-map Optimizarea clasică utilizând diagrame Karnaugh ar duce la obţinerea a 6 produse diferite pentru cele 3 funcţii V2 V1 V0 Y 0 1 1 1 X 1 0 0 0 Z Y 0 0 0 1 X 0 0 1 1 Z Y 0 0 0 0 X 1 0 1 1 Z V2= Σm(1,2,3,4) V1 = Σm(2,6,7) V0= Σm(4,6,7) Copyright Paul GASNER 34

Optimizarea PLA cu K-map Pentru PLA se încearcă minimizarea pentru toate funcţiile împreună V2 = xy z + x z + x yz V1 = x yz + xy V0 = xy z + xy Y 0 1 1 1 X 1 0 0 0 Z Y 0 0 0 1 X 0 0 1 1 Z Y 0 0 0 0 X 1 0 1 1 Z V2= Σm(1,2,3,4) V1 = Σm(2,6,7) V0= Σm(4,6,7) Copyright Paul GASNER 35

Exemplu PLA A2 A1 A0 xy z xy x z x yz V2 = Σm(1,2,3,4) = xy z + x z + x yz V1 = Σm(2,6,7) = x yz + xy V0 = Σm(4,6,7) = xy z + xy V 2 V 1 V 0 Copyright Paul GASNER 36

PLA. Concluzii PLA k x m x n are k linii pentru adresă, 2 k locaţii fiecare stocând un cuvânt pe n biţi PLA k x m x n poate implementa n funcţii cu k intrări; funcţiile trebuie să poată fi exprimate prin maximum m termeni produs PLA nu permite stocarea tuturor valorilor posibile Deoarece se pot alege produsele generate, PLA are un număr mult mai mic de porţi logice şi intrări în porţi decât ROM ROM poate implementa toate funcţiile posibile cu k intrări, nu şi PLA Implementarea unei funcţii cu memorii reduce practic la zero timpul de calcul Copyright Paul GASNER 37