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.
