TehnologijaNenad Marković |
Malo koji studentski rad može da se opiše kao prekretnica u istoriji moderne tehnologije. Završni master rad dvadesetjednogodišnjeg Kloda Šenona, napisan na MIT-u 1937. godine i objavljen 1938. pod naslovom „A Symbolic Analysis of Relay and Switching Circuits“, jedan je od retkih primera.
Digitalna kola su danas svuda oko nas, u praktično svakom savremenom uređaju sa kojim imamo dodir. Iako ta kola danas uglavnom rade pomoću tranzistora, a ne pomoću velikih elektromehaničkih releja kao u doba Kloda Šenona, osnovna logika je ostala ista. Digitalni sistemi i dalje počivaju na vrednostima koje se mogu predstaviti kao 0 i 1, uključeno i isključeno, tačno i netačno.
Šenonova genijalnost bila je u tome što je jasno pokazao da između sveta električnih kola i apstraktne matematičke logike postoji duboka veza: logičko kolo može se predstaviti Bulovom algebrom.
Da bi se razumeo značaj njegovog rada, važno je zamisliti svet elektrotehnike pre pojave savremenih računara. Automatske telefonske centrale, industrijski kontrolni sistemi, zaštitna kola i složeni uređaji za automatsko upravljanje koristili su releje i prekidače. Relej je elektromehanički prekidač: električni signal može da ga pokrene, a on zatim otvara ili zatvara druge kontakte u kolu.
Takvi sistemi su mogli da budu veoma složeni. Na primer, telefonska centrala je morala da poveže poziv sa odgovarajućom linijom. Industrijski sistem je morao da uključi ili isključi motor pod određenim uslovima. Zaštitno kolo je moralo da reaguje ako se pojavi opasno stanje. Sve se to svodilo na pitanja kombinovanja različitih uslova: ako je jedan uslov ispunjen, drugi nije, a treći jeste, šta uređaj treba da uradi?
Šenon u uvodu svoje teze direktno navodi da se u kontrolnim i zaštitnim kolima složenih električnih sistema često javljaju komplikovane međuveze relejnih kontakata i prekidača. Kao primere pominje automatske telefonske centrale, industrijsku kontrolu motora i gotovo sva kola namenjena automatskom izvođenju složenih operacija.
Pre Šenonovog pristupa, takva kola su se često projektovala metodom koju bismo mogli nazvati „zanatskom“. Inženjer bi pokušao da zadovolji jedan uslov, zatim bi dodavao kontakte da zadovolji drugi uslov, pa treći, sve dok sistem ne počne da radi. Sam Šenon taj stariji pristup opisuje kao metod „cut and try“, odnosno metod pokušavanja i doterivanja. Problem je bio u tome što takvo kolo često nije bilo najjednostavnije, a moglo je da sadrži i skrivene neželjene puteve struje, takozvane „sneak circuits“.
Drugim rečima, uređaj je radio, ali nije uvek bilo jasno zašto radi, da li je optimalno napravljen, niti da li će se u nekoj neočekivanoj kombinaciji uslova ponašati pogrešno.
Šenon je uzeo Bulovu algebru, matematički sistem koji potiče iz logike Džordža Bula, i pokazao da se ona može primeniti na električna kola sa relejima i prekidačima. U Bulovoj logici tvrdnja može biti tačna ili netačna. U električnom kolu kontakt može biti otvoren ili zatvoren. To je bila ključna veza.
Šenon uvodi simbolički način opisivanja kola. Kolo između dve tačke može biti otvoreno ili zatvoreno. On koristi vrednost 0 za zatvoreno kolo, a vrednost 1 za otvoreno kolo.* Zatim definiše kako se ponašaju serijske i paralelne veze kontakata. Serijska veza odgovara jednom tipu logičke operacije, a paralelna veza drugom.
U njegovoj tabeli analogije između logike i relejnih kola vidi se osnovna zamisao: simbol može da označava kolo, vrednosti 0 i 1 označavaju zatvoreno i otvoreno stanje, zbir označava serijsku vezu, proizvod paralelnu vezu, a negacija suprotno stanje kontakta. Ista simbolika može se tumačiti i kao iskazna logika: tvrdnja, istina, neistina, „ili“, „i“ i negacija.
Ovo je suština: logički iskaz može da se prevede u električno kolo.Ako bismo danas rekli: „Uređaj treba da se uključi ako su uslov A i uslov B ispunjeni, ili ako je uključen sigurnosni prekidač C“, Šenonov metod omogućava da se ta rečenica pretvori u simbolički izraz, da se izraz pojednostavi, a zatim da se iz njega nacrta konkretno kolo. Samim pojednostavljivanjem logičkog izraza, smanjuje se i broj fizičkih komponenti koje čine električno kolo.
Konačno, vrlo prostim matematičkim operacijama, inženjeri su bili u stanju da optimizuju kolo!
Zamislimo inženjera koji treba da napravi jednostavan sistem za otvaranje električne brave. Brava treba da se otvori samo ako su ispunjeni određeni uslovi. Stariji način rada bio bi praktičan, ali ne nužno pregledan: inženjer bi dodavao releje i kontakte dok sistem ne proradi. Ako se pojavi greška, dodao bi još jedan kontakt. Ako se pojavi novi uslov, dodao bi još jednu granu kola. Tako nastaje mreža koja možda funkcioniše, ali može biti veća, skuplja i nepouzdanija nego što mora.
Šenon predlaže drugačiji postupak.
Prvo se opišu željene karakteristike sistema.
Zatim se te karakteristike napišu kao logička funkcija u Bulovoj algebri.
Onda se logičke funkcije sređuju pravilima sličnim algebarskim.
Kada se dobije jednostavniji izraz, iz njega se neposredno crta jednostavnije kolo.
Šenon izričito kaže da se za problem sinteze željene karakteristike prvo zapisuju kao sistem jednačina, zatim se jednačine manipulišu u oblik koji predstavlja najjednostavnije kolo, a potom se kolo može odmah nacrtati iz jednačina.
To je bio ogroman skok. Projektovanje više nije samo puko dodavanje žica i kontakata. Postaje formalni postupak: napiši uslove, pretvori ih u jednačine, pojednostavi izraz, i na kraju nacrtaj kolo. Upravo zbog toga se Šenonov rad često opisuje kao trenutak kada je projektovanje digitalnih kola počelo da prelazi iz veštine i intuicije u nauku.
Jedan od najzgodnijih primera iz Šenonovog master rada je električna kombinaciona brava. Ovaj primer je dobar za razumevanje jer ne traži mnogo predznanja iz elektrotehnike. Gotovo svako razume ideju brave koja se otvara samo ako se unese tačna kombinacija. Električna kombinaciona brava radi po principu redosleda. Nije dovoljno samo pritisnuti pravu dugmad. Dugmići moraju biti pritisnuti pravilnim redom. Ako se pogreši, sistem treba da aktivira alarm ili da spreči otvaranje.
U pojednostavljenom objašnjenju, možemo zamisliti pet dugmadi: A, B, C, D i E. Brava se otvara samo ako korisnik prođe kroz tačan niz koraka. Na primer: prvo pritisne C, zatim B, zatim određenu kombinaciju, pa D. Svaki ispravan korak aktivira jedan relej koji „pamti“ da je taj deo kombinacije uspešno obavljen. Ako korisnik pritisne pogrešno dugme, aktivira se drugo kolo koje označava grešku.
Ovo je važno: ovakva brava nije samo trenutno kolo koje kaže „da“ ili „ne“. Ona ima i element redosleda. Mora da zna šta se dogodilo ranije. To znači da releji ne predstavljaju samo uslove, nego i jednostavan oblik memorije. Kada se jedan relej uključi i ostane uključen, on pamti da je prethodni korak bio uspešan.
Stariji, zanatski pristup ovakvoj bravi mogao bi da izgleda ovako: napravi se deo kola za prvi korak, zatim se doda deo za drugi, zatim se doda deo za grešku, pa deo za resetovanje, pa dodatni kontakti koji sprečavaju neželjene kombinacije. Kolo bi brzo postalo nepregledno. Svaki novi uslov mogao bi da uvede novu skrivenu grešku.
Šenonov pristup je drugačiji. On bi ponašanje brave opisao kroz stanja releja i uslove pod kojima se ta stanja menjaju. Na primer:Zatim se za svaki od tih releja može napisati jednačina. Jednačina kaže pod kojim uslovima relej treba da bude aktivan. Kada se jednačina dobije, ona se može pojednostaviti. Ako se isti uslov ponavlja na više mesta, može se izdvojiti. Ako postoje suvišni kontakti, mogu se ukloniti. Ako se dve grane ponašaju isto, mogu se zameniti jednostavnijom granom.
Tu je Šenonov metod najjači: on ne projektuje samo jedno kolo koje „nekako radi“, nego traži što jednostavniji izraz iza tog ponašanja.
Zamislimo uslov:
Brava se otvara ako su A i B uključeni, ili ako je uključen poseban ključ C.
U logičkom zapisu to izgleda ovako:
Otvaranje = (A ∧ B) ∨ C
U električnom kolu to znači:
Dakle, izraz nije samo apstraktna formula. On je plan za kolo. Serija i paralela nisu više samo fizičke veze žica, nego materijalni oblik logičkih odnosa.
Ako izraz može da se pojednostavi, pojednostavljuje se i kolo.
Na primer, izraz:
(A ∧ B) ∨ (A ∧ C)
može se napisati kao:
A ∧ (B ∨ C)
U prvom slučaju A se pojavljuje dva puta, u dve odvojene grane. U drugom slučaju A se koristi jednom, a posle njega dolazi izbor između B i C. U praksi to može značiti manje kontakata, manje releja, manje žica, manju cenu i manju mogućnost kvara.To je ono što je Šenon uneo u projektovanje: mogućnost da se fizičko kolo pojednostavi tako što se prvo pojednostavi logički izraz.
Za istoriju računarstva posebno je važan Šenonov primer sabirača u bazi dva („An Adder to the Base Two“). To je primer koji najdirektnije vodi ka modernim računarima.
Već sama činjenica da se među primerima nalaze sabirač i mašina za matematičke operacije pokazuje da je Šenon razumeo da relejna kola ne služe samo za telefonske centrale ili industrijske prekidače, već i za automatsku obradu simboličkih i numeričkih postupaka.
Binarni sabirač je uređaj koji sabira brojeve zapisane pomoću nula i jedinica. U jednoj koloni binarnog sabiranja postoje tri ulazne vrednosti:
Na primer, ako sabiramo 1 + 1, u binarnom sistemu rezultat nije „2“, jer cifra 2 ne postoji. Rezultat je 10. To znači: u ovoj koloni piše se 0, a 1 se prenosi u sledeću kolonu.
Pravila za jednu kolonu mogu se opisati ovako:
| A | B | C | cifra zbira | prenos |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Ova tabela izgleda kao obična tabela sabiranja, ali za Šenona ona je bila nešto više: iz nje se može izvesti električno kolo. Cifra zbira je 1 onda kada je broj jedinica na ulazu neparan. Dakle, kada je aktivan samo jedan ulaz ili kada su aktivna sva tri.
Prenos je 1 onda kada su aktivna bar dva ulaza. U savremenom zapisu, prenos se može izraziti ovako: prenos = AB + AC + BCTo znači: prenos postoji ako su aktivni A i B, ili A i C, ili B i C.
Sada dolazi ključni trenutak. Ovaj izraz nije samo račun. On kaže kako treba povezati kontakte. Svaki proizvod, na primer AB, može se predstaviti kao serijska veza dva kontakta: A i B. Znak plus znači da se takve grane povezuju kao alternative. Dakle, za prenos se prave tri grane:
A u seriji sa B
ili
A u seriji sa C
ili
B u seriji sa C
Ako bilo koja od tih grana provede struju, relej za prenos se aktivira.
To je srž cele priče. Pravilo binarnog sabiranja pretvara se u logički izraz, a logički izraz u fizičko kolo. Danas bi se to izvelo tranzistorima u integrisanom kolu. U Šenonovo vreme moglo se zamisliti pomoću releja. Ali princip je isti: matematika određuje strukturu kola.
Šenon nije pokazao samo kako se pravi jedno konkretno kolo, već je dao opštu metodu za projektovanje digitalnih sistema. Ako se neki postupak može opisati uslovima „ako“, „i“, „ili“ i „ne“, onda se može prevesti u mrežu prekidača, releja ili, kasnije, tranzistora.
U tome je bio veliki preokret. Prekidači više nisu bili samo delovi električnog sklopa, već nosioci logičkih vrednosti. Kolo je postalo fizički oblik logičkog izraza. Zato su primeri poput kombinacione brave i binarnog sabirača važni: oni pokazuju da se pravila ponašanja mogu zapisati jednačinama, pojednostaviti i zatim pretvoriti u mašinu.
Releji su kasnije zamenjeni tranzistorima, a tranzistori integrisanim kolima i mikročipovima. Ipak, osnovna ideja nije zastarela. Promenila se samo fizička tehnologija, ali je logika ostala ista. Kada danas procesor sabira binarne brojeve ili kada digitalno kolo izvrši neku operaciju, iza toga i dalje stoji ista misao: složeno ponašanje može se izgraditi kombinovanjem jednostavnih logičkih operacija.
Šira pouka Šenonovog rada jeste da apstraktna znanja ponekad menjaju svet tek mnogo kasnije. Bulova algebra je nastala u 19. veku kao deo simboličke logike, daleko od telefonskih centrala, industrijskih sistema i računara. Šenon je prepoznao trenutak u kome ta logika više ne mora da ostane na papiru, već može da se ugradi u mašinu.
Završni master rad Kloda Šenona iz 1937. godine može se smatrati najvažnijim radom jednog studenta u istoriji. Ovaj master rad je bio prelomna tačka u načinu na koji se razumeju električna kola. Rad je dokazao da je moguće opisati željeno ponašanje sistema jednačinama, pojednostaviti te jednačine i iz njih nacrtati logičko kolo. Iz te ideje izrasli su digitalni računari, savremena elektronika i svet u kome danas živimo. Na kraju, možemo reći da je Šenonov rad iz 1937, omogućio i nama da o njemu čitamo pomoću računara ili telefona, koristeći internet. Bez načina da se digitalna kola projektuju putem Bulove algebre, praktično ništa od ovoga ne bi postojalo.