L.05Partea 2 / Calculatorul
Cuprins

Comutatorul

Un bit are nevoie de un suport fizic concret: un lucru capabil să stea în două stări limpezi și stabile. Cel mai simplu dispozitiv de acest fel este comutatorul, care lasă sau nu un curent electric să treacă. Legând câteva asemenea punți în serie sau în paralel, descoperim că legile naturii compun de la sine operațiile logicii. Iar când comutatorul ajunge să fie manevrat nu de degetul omului, ci de un semnal electric, lanțul calculelor devine nesfârșit.

Termeni: comutator în serie în paralel poartă logică tabel de adevăr tranzistor poartă · canal rezistență ȘI-NU

Curent, tensiune, comutator

În prima parte a cursului am descoperit că informația se măsoară în biți. Dar un bit nu poate pluti suspendat în aer; el are nevoie de o ancoră în lumea materială. Fizic vorbind, orice lucru care poate adopta două stări perfect distincte și stabile poate păstra un bit: o monedă așezată pe cap sau pe pajură, un bec aprins sau stins, o poartă deschisă ori zăvorâtă. De ce au ales însă calculatoarele noastre tocmai electricitatea? Pentru că semnalele electrice călătoresc aproape cu viteza luminii, circuitele pot fi micșorate până la dimensiuni microscopice, iar firele nu obosesc și nu se tocesc mecanic.

Să ne amintim ce este un curent electric: o deplasare ordonată de mici sarcini electrice, electronii, printr-un fir conductor. Îl putem înțelege foarte ușor gândindu-ne la apa care curge printr-o rețea de țevi. Acolo unde vorbim despre tensiune, ne imaginăm presiunea apei, adică forța cu care sunt împinși electronii la drum de către baterie. Acolo unde vorbim despre intensitate, ne gândim la debit: câte sarcini străbat secțiunea firului în fiecare secundă.

Pe acest traseu, cel mai simplu element de control este un comutator: o întrerupere voită a firului, asemenea unui pod mobil peste un canal. Când podul este coborât — spunem că circuitul este închis —, drumul e continuu și curentul curge liber spre lampă. Când podul este ridicat — circuitul este deschis —, legătura este ruptă, iar curentul se oprește instantaneu. Comutatorul nu cunoaște nuanțe de mijloc: fie lasă totul să treacă, fie oprește totul. Are două stări limpezi, așadar găzduiește exact un bit. Convenția firească pe care o vom păstra pe tot parcursul călătoriei noastre este simplă: comutator închis înseamnă 1 (prezență, curent), iar comutator deschis înseamnă 0 (absență, repaus).

Un comutator, o baterie, o lampă; apasă pe comutator

Serie și paralel

Un singur comutator nu poate face mare lucru: doar aprinde sau stinge o lumină. Adevărata magie începe în clipa în care așezăm două comutatoare pe același circuit. Avem două moduri fundamentale de a le îmbina, iar din această geometrie elementară răsare spontan logica.

Dacă așezăm două comutatoare unul după altul pe același fir unic, spunem că le legăm în serie. Gândiți-vă la două bariere succesive pe o șosea îngustă: mașina poate trece numai și numai dacă ambele bariere sunt ridicate. Dacă măcar una singură rămâne coborâtă, drumul este blocat. Curentul trece exclusiv atunci când primul comutator este închis ȘI al doilea este închis.

Dacă în schimb despicăm firul în două brațe ocolitoare și punem câte un comutator pe fiecare braț înainte de a le reuni, le legăm în paralel. Aici avem două rute alternative: este de ajuns ca măcar o singură cale să fie deschisă pentru ca electronii să găsească drumul spre lampă. Curentul trece dacă este închis primul comutator SAU al doilea comutator (sau amândouă deodată).

Aceleași două comutatoare, legate în două feluri
în serie
în paralel

Acesta este momentul de grație în care materia se întâlnește cu rațiunea. Nimeni nu a „programat” firele de cupru să gândească; legătura în serie realizează din fire operația logică ȘI, iar legătura în paralel realizează operația SAU. Regulile logicii formale nu sunt născociri abstracte, ci însăși dinamica prin care curg fluxurile de materie și energie când le oferim căi alternative.

Poarta logică și tabelul de adevăr

Un mic ansamblu de circuite a cărui stare de ieșire depinde strict de ceea ce primește la intrări în acea clipă — fără să fie influențat de trecut — poartă numele de poartă logică. Comportamentul oricărei porți poate fi descris complet, fără nicio ambiguitate, printr-un tabel de adevăr: o listă care trece în revistă toate combinațiile posibile ale intrărilor și arată ce valoare va apărea la ieșire pentru fiecare dintre ele.

Frumusețea acestui tabel constă în faptul că ne permite să privim poarta din exterior, ca pe o „cutie neagră”. Două circuite care produc exact același tabel de adevăr sunt complet echivalente funcțional, oricât de deosebite ar fi piesele din interiorul lor. Dacă avem două intrări, fiecare putând fi 0 sau 1, există doar patru combinații posibile (00, 01, 10, 11). Pentru patru rânduri, putem imagina exact 16 tabele de adevăr distincte — adică există doar șaisprezece porți logice cu două intrări posibile în întregul univers, printre care se numără ȘI, SAU sau poarta banală care dă mereu 1.

Dar ne lipsește încă o operație fundamentală, poate cea mai intuitivă dintre toate: negația, adică poarta NU. Ea are o singură intrare și întoarce pe dos starea semnalului: când intrarea este 0, ieșirea devine 1; când intrarea este 1, ieșirea devine 0. Cu un simplu comutator mecanic apăsat cu degetul, negația este greu de obținut elegant, fiindcă apăsarea conectează contactul, nu îl desface. Pentru a inversa semnalul cu ușurință și a trece mai departe, avem nevoie de un salt tehnologic decisiv.

Tranzistorul

Să ne oprim o clipă și să remarcăm o limitare uriașă: un întrerupător de pe perete trebuie acționat cu degetul. O mână omenească apasă, o lampă se aprinde, și lanțul se oprește acolo. Nu putem construi un calculator dacă fiecare pas are nevoie de un om care să apese următoarea tastă! Pentru ca o mașină să calculeze singură milioane de pași succesivi, ieșirea primului comutator trebuie să poată acționa nemijlocit intrarea celui de-al doilea. Cu alte cuvinte, comanda trebuie să fie de aceeași natură cu rezultatul: un semnal electric. Ne trebuie un comutator manevrat nu de mușchi, ci de electricitate.

Acest comutator miraculos este tranzistorul. El are trei borne. Două dintre ele — numite convențional sursă și drenă — reprezintă capetele drumului principal, între care curentul poate să treacă sau să fie oprit, exact ca la contactele unui întrerupător clasic. Al treilea capăt, numit poartă, este clapa de comandă. Poarta nici măcar nu atinge direct drumul de curgere; este izolată de el printr-un strat minuscul de sticlă de siliciu. Când aplicăm o tensiune pe poartă (starea 1), câmpul electric creat atrage sarcini libere în materialul semiconductor de dedesubt, deschizând o punte conductoare numită canal: drumul se închide și curentul trece. Când tensiunea de pe poartă scade la 0, puntea dispare instantaneu și drumul este barat. Nu există nicio piesă în mișcare; este un robinet acționat nu mecanic, ci prin simpla prezență a unui câmp electric.

Tranzistorul singur: poarta închide sau deschide drumul; apasă pe intrare

Priviți desenul de mai sus: avem din nou o baterie, un traseu și o lampă. Singura schimbare este că drumul nu mai este închis de un deget, ci de tensiunea aplicată pe poarta tranzistorului. Iar această tensiune poate proveni chiar din ieșirea unui alt tranzistor! În acest punct se produce marea revoluție: circuitele pot fi legate în cascadă fără sfârșit. Tranzistoarele formează porți, porțile formează sumatoare, iar sumatoarele împletite cu memorii formează procesorul. În plus, un tranzistor minuscul poate comuta de miliarde de ori pe secundă, iar dimensiunile lui atomice permit așezarea a zeci de miliarde de astfel de comutatoare pe o pastilă de siliciu de mărimea unei unghii.

Având tranzistorul la dispoziție, poarta NU se naște dintr-un joc elegant de forțe opuse, asemenea unui meci de tras la sfoară între doi competitori: unul slab, dar stăruitor, și unul uriaș, dar intermitent. Rolul concurentului slab este jucat de o rezistență legată direct la sursa de tensiune (valoarea 1): ea încearcă mereu să ridice ieșirea la 1, dar o face blând, lăsând curentul să se strecoare doar cu greutate. Rolul concurentului puternic este jucat de tranzistor, legat între ieșire și masă (valoarea 0): când este deschis, el oferă o cale directă spre 0, mult mai largă decât rezistența, copleșind-o fără drept de apel.

Urmăriți cele două stări în figura următoare. Când intrarea este 0, poarta tranzistorului este inactivă, tranzistorul nu conduce și nu trage deloc în jos; rezistența blândă câștigă meciul nestingherită, ridicând ieșirea la 1, iar lampa strălucește. Când intrarea devine 1, tranzistorul intră în acțiune, leagă ieșirea direct la masă și o prăbușește la 0; curentul ocolește lampa și se scurge prin tranzistor, iar lampa se stinge. Ieșirea este întotdeauna contrariul fidel al intrării: iată poarta NU în toată splendoarea ei.

Poarta NU: rezistența trage ieșirea în sus, tranzistorul o trage în jos

Procesoarele moderne perfecționează această idee: în locul rezistenței pasive, folosesc un al doilea tranzistor de tip opus. Unul trage în sus exact atunci când celălalt eliberează drumul în jos. Circuitul consumă energie aproape exclusiv în clipa scurtă a comutării, permițând miliardelor de comutatoare să lucreze împreună fără să topească cipul.

Orice funcție, din trei porți

Avem acum la îndemână o trusă de unelte completă: porțile ȘI, SAU și NU. Vestea uluitoare este că, îmbinând doar aceste trei porți elementare, putem fabrica absolut orice tabel de adevăr imaginabil. Procedeul este atât de riguros și mecanic încât orice comportament logic, oricât de sofisticat, poate fi transpus nemijlocit în circuite integrate.

Rețeta este intuitivă: privim tabelul de adevăr și ne oprim doar la rândurile unde dorim ca ieșirea să fie 1. Pentru fiecare astfel de rând, construim o rețea de porți ȘI care să se activeze exclusiv pentru acea combinație specifică de semnale (folosind intrarea directă dacă rândul cere 1, sau trecând-o printr-un NU dacă rândul cere 0). În final, adunăm toate aceste condiții printr-o poartă mare SAU. Circuitul se va aprinde atunci când oricare dintre situațiile dorite devine realitate și va rămâne mut în toate celelalte cazuri.

Alege ieșirile; circuitul se scrie singur
expresia

Această metodă universală garantează un circuit perfect funcțional, chiar dacă nu întotdeauna cel mai economic. Arta proiectării de cipuri constă tocmai în simplificarea acestor rețele, eliminând tranzistoarele redundante pentru a economisi spațiu și consum de curent.

Mai mult decât atât, cele trei porți pot fi reduse la una singură! Poarta ȘI-NU (o poartă ȘI urmată de un inversor NU) este universală: legându-i ambele intrări împreună obținem un NU, două porți la rând refac un ȘI, iar combinată inteligent produce un SAU. În fabricile de semiconductoare, un singur tipar geometric de bază, repetat disciplinat de miliarde de ori, este suficient pentru a da viață oricărui gând logic. Drumul de la comutatorul fizic la logica pură este acum deschis și fără cusur; rămâne doar să vedem ce merită să construim mai întâi. Iar lecția următoare începe cu inima oricărei socoteli: adunarea.