Tri stuba računarstva

Kada me pitaju čime se bavim, odgovor je uvek isti: računarskom tehnikom. Ali ne propuštam da se bliže odredim i dodam da se bavim računarskim hardverom. U stvari, pre bih rekao da je moje opredeljenje bilo i ostalo sistemsko. Tokom više od četiri decenije najviše sam se bavio sistemskim aspektima računarstva, odnosno sistemskim komponentama računara.

Takvo shvatanje računarstva poneo sam od samog početka. Najviše zasluga za to ima dragi kolega Jovan Joca Đorđević, koji mi je u razgovorima početkom osamdesetih najbolje osvetlio tajne računarstva, a posebno njegove osnove: hardver i sve ono što se na njega naslanja. Joca se početkom 1981. godine vratio iz inostranstva, gde je 1979. stekao doktorat iz računarske tehnike na Univerzitetu u Mančesteru, a zatim proveo godine na postdoktorskim studijama na Univerzitetu Karnegi Melon u Pitsburgu.

Na čemu počiva računarstvo

Možda se neko neće složiti sa mojom podelom, ali računarstvo, po meni, počiva na tri stuba:

  • arhitekturi i organizaciji računara,
  • programskim jezicima,
  • operativnim sistemima.

Ne ulazeći u detalje, arhitektura računara određuje šta računar radi, a organizacija računara kako to radi. Programski jezici su interfejs između čoveka i računara, odnosno alat kojim se čovekov opis rešenja problema preslikava na arhitekturu računara. Operativni sistemi su, najzad, uopštavanje samog korišćenja računara kroz programiranje.

Sistemski pristup podrazumeva poznavanje računara kao celine, odnosno svih veza između ova tri stuba. Te veze s jedne strane obezbeđuju ukupnu funkcionalnost računara, a s druge su važne za efikasnost njegovog rada i za to koliko je pogodan za korišćenje. Čoveka pri tome treba posmatrati u najmanje tri uloge: kao projektanta, kao programera i kao neposrednog korisnika.

Od privilegije do svakodnevice

Sve do pojave mikroprocesora, a zatim i mikroračunara, računari nisu imali puno pravo građanstva. Zbog veličine, potrošnje električne energije i, najzad, cene, bili su rezervisani za strogo namenske poslove. U početku su to bila istraživanja, motivisana pre svega vojnim razvojem, pa su računare mogle da priušte samo velike državne institucije i bogate korporacije. Prelom se desio kada su računari dokazali da su pogodni za obradu podataka u velikim trgovačkim, bankarskim i proizvodnim sistemima. Mogućnost komercijalizacije stvorila je uslove za serijsku proizvodnju i dalji razvoj tehnologije računarskih komponenata. Ali računari su se i dalje koristili samo sa mesta u njihovoj neposrednoj blizini.

Napredak je došao tokom sedamdesetih godina, kada se razvoj odvijao na dva koloseka: razvoj i proizvodnja mini računara bili su u punom zamahu, a zahvaljujući mikroprocesorima pojavili su se i mikroračunari. Mikroračunari su omogućili i pojedincima da postanu korisnici računara. Posebno je važan datum 12. avgust 1981. godine, kada je IBM, tada najmoćnija računarska kompanija na svetu, u njujorškom hotelu „Valdorf Astorija“ predstavio svoj mikroračunar IBM PC. Dva slova, PC, skraćenica od Personal Computer, postaće sinonim za računare koji će u narednim decenijama postati deo naše svakodnevice.

Paralelno sa razvojem samih računara, širini njihove primene doprinelo je i njihovo međusobno povezivanje. U početku su se povezivali lokalno, u lokalne računarske mreže (LAN, Local Area Network). Sa razvojem komunikacija povezivanje se širilo, da bismo danas imali globalnu mrežu poznatu kao Internet, koja omogućava povezivanje bilo kog računara na Zemlji u jedinstven sistem.

Kraj XX veka obeležio je dramatičan razvoj poluprovodničke tehnologije, koji je iz temelja izmenio računarsku tehniku. Od tehnike koja je svetu nudila proizvod, računar, koji se koristio u skladu sa svojim mogućnostima, dobili smo tehniku koja sve više ispunjava zahteve najrazličitijih primena. Može se reći čak i da ti zahtevi idu ispred stvarnih potreba čoveka, pa mogućnosti računara ne samo da olakšavaju ljudski život, već prete i da ga promene iz temelja.

Šta je arhitektura računara

Arhitektura računara (Computer Architecture) je, kao što sam rekao, jedan od tri stuba računarstva. Pojednostavljeno, ona određuje šta računar radi. Pojam se često vezuje za skup instrukcija računara, pa se umesto arhitektura računara kaže arhitektura skupa instrukcija (ISA, Instruction Set Architecture).

Razvoj računarstva i pojava mnogo novih pojmova doveli su do potrebe da se pojmovi sažmu, pa su neki od postojećih dobili šire značenje. Tako je bilo i sa arhitekturom računara, koja danas često obuhvata i ono što se nekada zvalo organizacija računara. Organizacija računara (Computer Organization) opisuje kako računar radi, odnosno njegovu konkretnu fizičku realizaciju: od kojih se blokova sastoji i kako su oni međusobno povezani.

Za samo pola veka računar je od privilegovanog uređaja postao svojina celog čovečanstva. Želja da se računar približi najširem krugu korisnika uticala je na to da mnogi pojmovi promene značenje. Tako je bilo i sa arhitekturom računara: od fundamentalnog pojma postala je jednostavan opis računara. Ako iole upućenoj osobi postavite pitanje šta je arhitektura računara, dobićete jednostavan odgovor: procesor, memorija, ulazno-izlazni uređaji. Ili, malo drugačije: CPU, RAM, tastatura, miš, štampač…

Pošto su računari svuda, postavlja se pitanje ko treba tačno da zna šta je arhitektura računara. Da li to mora da zna svaki korisnik, pogotovo kad se zna da su korisnici računara i vlasnici savremenih mobilnih telefona, često nesvesni da, dok pričaju i kuckaju po telefonu, zapravo koriste računar? U suštini, pitanje arhitekture računara je pitanje računarskog obrazovanja. Razumevanje njene važnosti često se ne pretvara u odgovarajući obrazovni pristup. Sve se svodi na meru: koliko znanja iz arhitekture računara treba da dobiju naši studenti.

Računarsko obrazovanje

Računarsko obrazovanje ne može se posmatrati izvan konteksta celokupnog obrazovanja. Pošto o obrazovanju uopšte pišem posebno, ovde ću se dotaći samo nekih specifičnosti. Obrazovanje u računarstvu prvo je bilo usmereno na to da stručnjaci projektuju računare, ili makar razvijaju programe koji omogućavaju njihovu neposrednu primenu. Pri tome je veoma važno da postoji industrija koja će tako školovane stručnjake prihvatiti.

Nažalost, računarske industrije u Srbiji praktično nema. Svedena je na firme koje razvijaju softver, i to često na način koji se ne može nazvati softverskom industrijom, pogotovo što je softver koji se kod nas razvija najvećim delom aplikativni. Za njegov razvoj, u principu, nije potrebno detaljno poznavanje arhitekture računara.

Treba se podsetiti da u vreme kada su se u Srbiji projektovali i proizvodili računari, posebnog računarskog obrazovanja suštinski nije ni bilo. Srbija, nažalost, nije izdržala tehnološku bitku, koja se najvećim delom vodila upravo na polju računarstva. S druge strane, računarsko obrazovanje se formalno razvijalo. Danas u Srbiji studijske programe sa rečju „računar“ u nazivu ima osam fakulteta, sedam državnih i jedan privatni.

Računarstvo je kao obrazovni fokus dobilo izraz i kroz studije takozvanih informacionih tehnologija. I u njihovim nastavnim planovima arhitektura računara ima svoje mesto, s naglaskom na upoznavanju studenata sa principima rada računara, što najčešće znači više prostora za organizaciju računara. Ali nepostojanje ozbiljne računarske industrije, posebno u oblasti hardvera, otvara pitanje koliko široko i duboko znanje iz arhitekture i organizacije računara treba pružiti studentima računarstva.

Kuda ide računarstvo

Kako su računari zaista stizali u Jugoslaviju, najbolje pokazuje jedna zaobilaznica.

Početkom osamdesetih godina postojala je zabrana uvoza računara. Mnoge firme su upravo u tome videle šansu da, zaobilazeći zakon, dobro zarade. Klasičan primer je pojava PDP-11 računara na jugoslovenskom tržištu.

Slovenačke firme kao što su „Lesnina”, „Marles” i „Slovenijales” bile su tokom sedamdesetih veliki izvoznici nameštaja i proizvoda od drveta. U tom poslu njihov glavni spoljnotrgovinski partner bila je ljubljanska „Elektrotehna”. Izvozničke firme su bile obavezne da devize koje unesu u zemlju prodaju Narodnoj banci, ali ako su uvozile robu, te obaveze nisu imale. „Elektrotehna” je tu klauzulu iskoristila i formirala preduzeće „Delta”, registrovano za proizvodnju računara.

U to vreme su PDP-11 računari firme DEC bili najprodavaniji mini računari na svetu, pa su odlučili da ih pod svojim imenom prodaju na jugoslovenskom tržištu.

Autohtonu pojavu na domaćem računarskom tržištu predstavljala je grupacija okupljena oko Instituta „Mihajlo Pupin” i programa TIM. Najpoznatiji računari iz te familije bili su TIM-100, TIM-200, TIM-300 i TIM-600.

Softver koji nismo napisali

Pri svemu tome je propuštena šansa da se više uradi na razvoju softvera. Sem časnih izuzetaka, nije bilo izraženijih pokušaja da se radi na sopstvenim verzijama sistemskog softvera.

Legenda kaže da je prevodilac za FORTRAN IV+, razvijen u DEC-u, generisao toliko efikasan kod da bi ga programer teško mogao napisati direktno na mašinskom jeziku.

Šezdesetih i sedamdesetih je u praktičnoj upotrebi bio relativno mali broj programskih jezika visokog nivoa. Projektanti kompajlera su zato mogli ozbiljnije da se uhvate ukoštac sa problemom generisanja efikasnih mašinskih programa. Jer računari su bili znatno sporiji nego danas — gotovo da je svaka suvišna mašinska instrukcija kvarila performanse programa čiji je bila deo. S druge strane, operativni sistem, koji je već uveliko postao nezamenljiv, efektivno je trošio računarsko vreme. Bilo je očigledno da treba naći put ka novim operativnim sistemima, koji će efikasnije realizovati funkcije neophodne za uspešno korišćenje računara.

Bili su to samo neki od problema koji su nametali glavno pitanje: kuda ide računarstvo?

Zrelost, pa preokret

Sedamdesetih godina je klasično računarstvo dostiglo punu zrelost. Primena računara bila je u punom zamahu, operativni sistemi su omogućavali višekorisnički i višeprocesni rad, pojavljivali su se novi programski jezici prilagođeni konkretnim primenama. Veliki računari su polako ustupali mesto mini računarima.

Razvoj poluprovodničke tehnologije i pojava mikroprocesora na početku osme decenije najavili su velike promene. Prvi mikroprocesori su po računarskim parametrima daleko zaostajali za postojećim računarima. Međutim, trebalo je da prođe manje od decenije i po da se situacija promeni.

Neko novo računarstvo

Pored poznatih firmi, na računarskoj pozornici zaigrali su i novi igrači. Mikroračunarske komponente i računari zasnovani na njima demokratizovali su svet računarstva, praktično svako je mogao da razvije sopstveni računar. Počelo je vreme računara iz garaža. Zahvaljujući tome, neke firme su se izdigle do najvećih poslovnih visina, na primer Apple.

Neke firme su se prilagođavale novonastaloj situaciji. Kroz takav proces je IBM tržištu ponudio Personal Computer, koji svi znamo po skraćenici PC. Neke, kao Hewlett-Packard, prebacile su se sa drugih delatnosti i uplovile u vode računarstva.

Ali bilo je i firmi koje nisu prepoznale huk vremena i nestale sa scene. Najupečatljiviji primer je Digital Equipment Corporation. Sledeći viziju svog predsednika Kena Olsena, nisu verovali u mikroračunarsku eru. Kada su to shvatili, bilo je kasno. Iako je njihov mikroprocesor Alpha bio najnapredniji u svoje vreme, drugi su već osvojili tržište. Na kraju su i sami izašli na tržište, pa ih je kupio Compaq, firma nastala na tragovima popularnosti PC računara.

Današnje generacije i ne znaju šta je DEC bio u istoriji računarstva. Ni koliko su njihovi računari PDP-11 i VAX-11 doprineli da računari postanu to što jesu.

Literatura

Flynn, M. J., Directions and Issues in Architecture and Language, IEEE Computer, oktobar 1980, str. 5–22 · Ditzel, D. R., Patterson, D. A., Retrospective on High-Level Language Computer Architecture, Proceedings of the 7th International Conference on Computer Architecture, 1980, str. 97–104 · Wulf, W. A., Compilers and Computer Architecture, IEEE Computer, jul 1981, str. 41–47 · Myers, G. J., Advances in Computer Architecture, John Wiley & Sons, 1982 · Patterson, D. A., Sequin, C. H., A VLSI RISC, IEEE Computer, septembar 1982, str. 8–21

Labudova pesma jugoslovenskog računarstva

Početak sedamdesetih godina prošlog veka, sa pojavom prvog mikroprocesora Intel 4004, najavio je revoluciju u računarstvu. Mikroprocesori su sa sobom donosili sopstvenu arhitekturu skupa instrukcija. Zadatak projektanata sada je bio usmeren na povezivanje mikroprocesora sa okruženjem, periferijama. I na tom planu je posao bio olakšan, jer su proizvođači nudili gotova periferijska integrisana kola za tu namenu.

Druga polovina sedamdesetih donela je preorijentaciju obrade podataka sa dotadašnjih mainframe i mini računara na mikroračunare. Njihova relativno niska cena uticala je da više ne budu privilegija bogatih. Dostupnost do nivoa pojedinca značila je svojevrsnu demokratizaciju primene računara.

Kako je „Delta” postala „Iskra Delta”

Razvoj mini računara imao je odraza i na „računarsku industriju” u tadašnjoj Jugoslaviji. Kao država relativno otvorena prema svetu, jugoslovenska preduzeća su bila u prilici da kupuju licence za proizvodnju različitih industrijskih proizvoda. Tokom sedamdesetih to je obuhvatilo i računare, pa su se na tržištu pojavili računari poznatih svetskih firmi, DEC, CDC i Honeywell.

Slovenačko spoljnotrgovinsko preduzeće „Elektrotehna” 1974. godine formira preduzeće „Delta”, koje počinje da sklapa računare istog imena. Zapravo se radilo o računarima iz familije PDP-11, koje je proizvodila jedna od vodećih svetskih firmi, Digital Equipment Corporation. Istovremeno „Iskra” iz Kranja pokušava da jugoslovenskom tržištu ponudi mini računar Cyber 18 firme Control Data Corporation.

S obzirom na popularnost PDP-11, slovenačka vlada donosi odluku da „Delta” dalje funkcioniše u okviru sistema „Iskre”, tako da se na tržištu pojavljuje nova firma „Iskra Delta”, koja je nudila računare iz DEC-ovih familija PDP-11 i VAX-11.

U to vreme i Elektronska industrija iz Niša, u saradnji sa američkim Honeywellom, započinje proizvodnju mini računarskih sistema Honeywell Level 6.

Labudova pesma

Poslednji klasični računar projektovan u Institutu „Mihajlo Pupin”, a time i u celoj Jugoslaviji, bio je PMO. Projekat je realizovan od 1980. do 1985. godine, zajednički sa Institutom problema upravljanja iz Moskve.

Računar ipak nije bio sasvim klasičan, jer je realizovan kao RISC procesor. Pominjanje RISC-a budi asocijaciju na RISC I sa Berklija i MIPS sa Stanforda. Ali u isto vreme je i na Balkanu razvijen procesor zasnovan na sličnom konceptu. Čak je imao i bolje karakteristike u pogledu broja registara.

Ali sve je to ostalo nekako u senci. Možda nismo imali hrabrosti ili umeća da sami sebe promovišemo. Istina, naš procesor je realizovan korišćenjem SSI i MSI TTL tehnologije, dok su pomenuta dva bila VLSI projekti.

Tim projektom je spuštena zavesa na jednu delatnost kojom se Jugoslavija svrstala u razvijeni deo čovečanstva. I to u trenutku kada je računarstvo tek postajalo tehnika koja će pokoriti svet.

Šta smo se odrekli

Odlukom da se pažnja posveti razvoju sistema isključivo na osnovu gotovih računarskih komponenata, dobrovoljno smo se odrekli sopstvenog znanja.

Danas više nema ni kritične mase znanja ni kadrova za projektovanje u oblasti računarske tehnike. Sami smo sebe gurnuli u grupu zemalja koje su nekada bile daleko iza nas. A neke su čak i učile od nas, školujući svoje kadrove na našim fakultetima.

Danas nam ostaje da se tešimo nekakvim rezultatima u informacionim tehnologijama. Ti rezultati jesu stvarni, ali današnje generacije, čak i oni koji deluju u toj oblasti, moraju da znaju da to nije računarska tehnika. Tehnika u kojoj smo imali svoje mesto u svetskim razmerama.

Ima li u Srbiji računarske tehnike

I sama pomisao na istoriju računarstva predstavlja ogroman izazov. A pri tome ne treba zaboraviti da je ta istorija sažeta u poslednjih sto godina, pa i manje. Gotovo da je teže pisati o istoriji računarstva nego o ratovima koji su se dešavali u isto vreme.

Računarstvo je oblast u kojoj su iskoraci pokušavani na različitim mestima u svetu. Pošto je najtešnje vezano za razvoj elektronike i odgovarajuće tehnologije, logično je gde je došlo do najvećih proboja. Bez dubljeg razmišljanja, računarstvo se danas prevashodno posmatra kao tehnološki problem. Međutim, treba očekivati da se u pozadini intenzivno razmišlja o novim konceptima, koji bi trebalo da ga podignu na višu stepenicu.

Obrnuta sudbina

Uprkos posledicama rata i činjenici da je elektronika ovde ušla tek uoči njega, Jugoslavija se prilično rano uključila u svet računarstva. Nosioci razvoja prvih računara bili su Institut u Vinči i kasnije Institut „Mihajlo Pupin”. Prvi računar razvijen u Jugoslaviji bio je CER-10.

Nažalost, računarstvo u Jugoslaviji, a time i u Srbiji, imalo je pomalo obrnutu sudbinu od one koja je postojala u svetu. Od zemlje koja je bila među pionirima, postali smo zemlja koja je u razvojnom smislu na repu događaja. Umesto toga, postali smo zemlja u kojoj je primena računara postala sinonim za samo računarstvo. A i dostignuća na tom planu su diskutabilna.

Suočavanje sa istinom

Četrdeset i kusur godina ubeđujem i sebe i druge da se bavim računarskom tehnikom. Možda je došao trenutak kada se treba suočiti sa istinom. Jer ima jedno tri decenije kako je taj pojam nekako gurnut u stranu. Za to vreme u prvi plan su izlazili pojmovi kao što su informatika, informacione tehnologije, a danas digitalizacija. A pri tome, da li iz neznanja ili nečeg drugog, svi zaboravljaju da iza svih tih pojmova u savremeno doba stoji, računar.

Kad se pomene računarska tehnika, dovoljno upućeni razmišljaju o projektovanju i o korišćenju, odnosno primeni računara. Gde je tu onda prava računarska tehnika? Bez straha da ću pogrešiti: pod računarskom tehnikom podrazumeva se oblast projektovanja računarskih sistema. To znači i hardvera i softvera, s tim što se kod softvera prvenstveno misli na sistemski softver.

Pitanje koje se mora postaviti glasi: ima li danas u Srbiji prave računarske tehnike?

Korak u budućnost, sa Zvezdarskog brda

Da bi se dao inicijalni odgovor, potrebno je posegnuti malo za istorijom. I to onim vremenom kada su se računari realizovali na osnovu integrisanih kola niskog i srednjeg stepena integracije. Ta kola su u principu bila slobodno dostupna na tržištu, pa je razvoj računara zavisio od sposobnosti inženjera da ga projektuju. To je podrazumevalo specificiranje nove arhitekture i njenu realizaciju u obliku konkretnog uređaja.

Bile su to šezdesete i sedamdesete godine prošlog veka. Može se reći da je to bilo zlatno doba i za računarstvo u Srbiji. Vodeću ulogu imao je Institut „Mihajlo Pupin” i njegova Digitalna laboratorija.

CER-10 je bio prvi jugoslovenski digitalni računar. Projektovan je u Institutu u Vinči, a realizovan 1960. godine u Institutu „Mihajlo Pupin”. Izveden je korišćenjem elektronskih cevi, tranzistora, elektronskih releja i feritne memorije. Posle njega je sledio čitav niz računara koji su nosili istu oznaku.

I tada smo bili svet

Krajem šezdesetih i početkom sedamdesetih inženjeri Instituta „Mihajlo Pupin” i Instituta problema upravljanja iz Moskve projektovali su i realizovali hibridni, analogno-digitalni računar HRS-100. Za potrebe instituta iz sastava Akademije nauka Sovjetskog Saveza realizovana su tri takva sistema.

Kraj ere računara na bazi diskretnih komponenata predstavljao je specijalizovani sistem PMO, Procesor multiprocesne obrade. Razvoj je tekao od 1980. do 1985. godine. Procesor je bio namenjen kao hardverska podrška radu operativnog sistema, a realizovan je kao RISC mašina.

Njegov razvoj tekao je paralelno sa razvojem RISC mikroprocesora, koji je na Univerzitetu Berkli vodio tim istraživača pod rukovodstvom Dejvida Patersona. Razvoj PMO bio je potpuno nezavisan od njega.

To pokazuje da je i početkom osamdesetih godina prošlog veka u Srbiji postojala kritična masa istraživača i znanja da se uhvati ukoštac sa najsloženijim projektima u oblasti računarske tehnike.