Kompjuter

Izvor: Wikipedia

Kompjuter, računalo ili računar je složeni uređaj koji služi za izvršavanje matematičkih operacija ili kontrolnih operacija koje se mogu izraziti u numeričkom ili logičkom obliku. Računari su sastavljeni od komponenata koje obavljaju jednostavnije, jasno određene funkcije. Kompleksna interakcija tih komponenata rezultira sposobnošću računara da obrađuje informacije.

Osnovni principi[uredi - уреди]

Rad računara može biti zasnovan na kretanju mehaničkih dijelova, elektrona, fotona, kvantnih čestica ili neke druge fizičke pojave. Iako se računari mogu izgraditi na mnogim postojećim tehnologijama, gotovo svi današnji modeli sadrže u sebi elektroničke komponente.

Kod većine današnjih računara zadati problemi se u biti rješavaju pretvaranjem svih relevantnih informacija u matematičke relacije korištenjem binarnog sistema (nula i jedan). (Međutim, računari ne mogu riješiti sve matematičke probleme.)

Nakon što računar izvrši izračunavanje zadatog problema, rezultat se prikazuje na korisniku (čovjeku) pristupačan način; preko signalnih lampi, LED displeja, monitora, štampača i dr.

Početnici u radu sa računarima, naročito djeca, često ne mogu shvatiti činjenicu da su računari samo uređaji i da ne mogu "misliti" odnosno "razumjeti", čak ni ono što prikažu kao rezultat svog "rada". Slike, boje, riječi i dr. koje vidimo na ekranu računarskog monitora su samo programirani prikazi koje ljudski mozak prepoznaje i daje im značenje i smisao. Računar prosto manipulira tokovima elektrona kojima, na svojoj osnovnoj razini funkcionisanja - tranzistoru, dodjeljuje logičke vrijednosti nula ili jedan, odnosno, stanju "nema napona" ili "ima napona". Do sada nam nije poznat način kojim bi se uspješno imitiralo ljudsko razmišljanje ili samosvjesnost.

Veliki centralni računari (mejnfrejmovi)[uredi - уреди]

Mejnfrejm računar -{IBM 704}- iz pedesetih godina 20. veka

Gotovo istovremeno su uvedeni udaljeni (tzv. „glupi“) terminali koji su imali monitor i tastaturu za unos podataka u jednom kućištu ali se obrada podataka i dalje obavljala u glavnom (i jedinom) računaru (eng. Mainframe).

Kasnije su se pojavili i „inteligentni“ terminali koji su deo operacija mogli da obavljaju sami. Vikipedija, danas, je u elektronskom smislu organizovana na sličan način - glavni računar je u SAD a inteligenti terminali (PC računari) kod korisnika. Internet ima ulogu „mreže“.

Bitne odrednice za konstruktivna rješenja[uredi - уреди]

Binarni ili decimalni?[uredi - уреди]

Važan korak naprijed u razvoju digitalnog računarstva bilo je uvođenje binarnog sistema za unutrašnje numeričke procese. Ovim je prestala potreba za kompleksnim izvršnim mehanizmima koje su računari zasnovani na drugim numeričkim sistemima, npr. decimalnom ili heksadecimalnom, zahtijevali. Usvajanje binarnog sistema rezultiralo je pojednostavljenjem konstruktivnih rješenja kod implementacije aritmetičkih funkcija i logičkih operacija, znači, i pojednostavljenjem sklopova i komponenata samog računara.

Mogućnost programiranja[uredi - уреди]

Mogućnost da se računar programira, tj. opremi nizom izvršnih instrukcija bez potrebe za fizičko-konstruktivnim izmjenama, osnovna je funkcionalna karakteristika većine računara. Ova osobina je značajno unaprijeđena njihovim razvojem do stepena na kojem su bili sposobni kontrolirati redoslijed izvršavanja instrukcija na osnovu podataka dobijenih tokom samog vršenja određenog programa. Ovo konstruktivno unaprijeđenje je još više pojednostavljeno uvođenjem (v. prethodnu cjelinu) binarne aritmetike kojom se mogu predstaviti različite logičke operacije

Pohrana podataka[uredi - уреди]

Tokom računskih operacija često je potrebno pohraniti među-vrijednosti ("dva pišem a jedan pamtim") koje će se upotrijebiti u daljem računanju. Performanse nekog računara su najčešće ograničene brzinom kojom se vrijednosti čitaju/zapisuju iz/u memoriju i njenim kapacitetom. Prvobitno je zamišljeno da se memorija koristi samo za pomenute među-vrijednosti, međutim, ubrzo su se i sami programi počeli pohranjivati na ovaj način i to se uveliko primjenjuje kod današnjih kompjutera.

Kako rade digitalni računari[uredi - уреди]

Iako se tehnologija izrade računara značajno izmijenila od vremena prvih elektroničkih modela sagrađenih u četrdesetim godinama XX vijeka, još uvijek je većina današnjih rješenja zasnovana na von Neumannovoj arhitekturi. Računar kao sklop sastavljen od tri glavna dijela:

1. Mikroprocesor zajedno sa Aritmetičko-logičkom jedinicom ALU (eng. Arithmetic and Logic Unit),

2. memorija,

3. I/O (eng. Input and output system) ulazni i izlazni sklopovi.

Ovi dijelovi su međusobno povezani mnoštvom žica - "bus"; magistrala/sabirnica. Svi su obično pogonjeni vremenskim uređajem (tajmer, sat, generator takta), mada i drugi "događaji" mogu pogoniti kontrolne sklopove.

Memorija[uredi - уреди]

Ovdje podrazumijevamo da je memorija niz obrojčenih/numerisanih ćelija, od kojih svaka sadrži djelić informacije. Informacija može biti instrukcija kojom se računaru zadaje neki zadatak. Ćelija može sadržavati i podatak koji je potreban računaru da bi izvršio neku instrukciju. U svakom slučaju, bilo koja od ćelija može sadržavati djelić informacije koji u datom trenutku može predstavljati podatak a već u slijedećem - instrukciju. Znači, sadržaj memorijskih ćelija se neprestano mijenja.

Veličina svake ćelije i njihov broj, razlikuje se od računara do računara a i tehnologije izrade tokom njihovog razvoja su bile bitno različite. Tako smo imali elektromehaničke memorije - releje, cijevi ispunjene živom u kojima su se stvarali zvučni pulsevi, matrice stalnih/trajnih magneta, pojedinačnih tranzistora, sve do integralnih kola sa više miliona diskretnih i aktivnih elemenata.

=== Mikroprocesor, mikročip

Artimetičko-logička jedinica (ALU - arithmetic and logic unit) vrši osnovne aritmetičke operacije (sabiranje, oduzimanje i dr.), logičke operacije (I, ILI, NE) i upoređivanje, npr. da li se sadržaj dva bajta podudara. U ovoj jedinici se zapravo "odrađuje glavni posao".

Kontrolna jedinica vodi računa o tome koji bajtovi u memoriji sadrže instrukciju koju računar trenutno obrađuje, određuje koje operacije će ALU izvršavati, nalazi informacije u memoriji koje su potrebne za te operacije i prenosi rezultate na odgovarajuća memorijska mjesta. Kada je to obavljeno, kontrolna jedinica ide na narednu instrukciju (obično smještenu na slijedećem memorijskom mjestu) ukoliko instrukcija ne govori računaru da je slijedeća instrukcija smještena negdje drugo. Kada se poziva na memoriju, data instrukcija može na različite načine odrediti odgovarajuću memorijsku adresu. Uz to, neke matične ploče podržavaju dva ili više procesora. Takve obično nalazimo kod servera/poslužitelja.

Ulaz i izlaz[uredi - уреди]

Putem ulaza i izlaza (I/O), računar dobija informacije iz vanjskog svijeta i šalje rezultate natrag. Postoji širok spektar I/O uređaja; od običnih tastatura, preko miševa, monitora, disketnih pogona, CD/DVD (optičkih) pogona, štampača, sve do skenera i kamera.

Zajednička osobina svih ulaznih jedinica je da pretvaraju informacije određene vrste u podatke koji dalje mogu biti obrađeni u digitalnom sistemu računara. Nasuprot tome, izlazne jedinice pretvaraju podatke u informacije koje korisnik računara može razumjeti. U ovom slučaju, digitalni sistem računara predstavlja sistem za obradu podataka.

Instrukcije[uredi - уреди]

Računarske instrukcije nisu bogate kao što je ljudski jezik. Računar poznaje samo ograničen broj jasno definiranih i jednostavnih instrukcija. Evo nekoliko primjera: "kopirati sadržaj ćelije 7 u ćeliju 19", "ako je sadržaj ćelije 999 veći od 1, slijedeća instrukcija se nalazi u ćeliji 100", "sadržaj ćelije 6 oduzeti sadržaju ćelije 33 a rezultat upisati u ćeliju 50".

Instrukcije su u računaru predstavljene binarnim sistemom brojeva. Operacija "kopiraj" je, npr. kod Intelovih mikroprocesora u binarnom sistemu predstavljena ovako: 10110000. Određeni niz instrukcija koje određeni kompjuter može razumjeti naziva se mašinski jezik. U stvarnosti, ljudi ne stvaraju instrukcije direktno u mašinskom jeziku već koriste programske jezike koje se prevode u mašinski jezik putem posebnih računarskih programa "prevodilaca" i kompajlera. Neki programski jezici su veoma bliski mašinskom jeziku, kao što je Assembler a drugi, kao Prolog, su zasnovani na apstraktnim principima koji imaju malo sličnosti sa stvarnim operacijama unutar računara.

Arhitektura[uredi - уреди]

Kod današnjih računara, aritmetičko-logička i kontrolna jedinica smješteni su na jednom integralnom kolu kojeg nazivamo centralna procesorska jedinica (CPU - central processing unit). Memorija računara smještena je na nekoliko malih integralnih kola pored centralnog procesora. Nesrazmjerno veliki dio ukupne mase računara zapravo je sadržan u sistemu napajanja električnom energijom - napojna jediica i I/O uređajima.

Neki od većih računara razlikuju se od gore opisanog modela uglavnom po većem broju procesora i kontrolnih jedinica koji rade simultano. Dodajmo ovome da i neki računari, čija je isključiva namjena naučno istraživanje i računanje, imaju sasvim drugačiju arhitekturu i zbog drugačijeg, nestandardiziranog načina programiranja, nisu našli širu komercijalnu primjenu.

Dakle, u biti, princip funkcionisanja računara je prilično jednostavan; kod svakog takta, računar povlači instrukcije i podatke iz svoje memorije, izvršava instrukcije, pohranjuje rezultate i ponavlja ciklus. Ponavljanje se vrši sve do nailaska na instrukciju "stop".

Programi[uredi - уреди]

Računarski programi je zapravo niz instrukcija koje računar treba izvršiti, nekad uključujući i tabele podataka. Mnogo računarskih programa sadrži milione instrukcija i mnogo njih se neprekidno ponavlja. Tipični moderni personalni računar (PC - personal computer) može izvršiti nekoliko milijardi instrukcija u sekundi. Recimo i to da izvanredne sposobnosti računara nisu posljedica izvršavanja složenih instrukcija već miliona jednostavnih koje programeri uobličavaju u svrsishodne funkcije. Dobar programer, naprimjer, izradi niz instrukcija kojim se izvršava neki jednostavan zadatak kao što je iscrtavanje jedne tačke na ekranu i taj niz zatim učini dostupnim drugim programerima.

Sadašnji računari su u stanju izvršavati nekoliko programa istovremeno. U stvarnosti, određeno kratko vrijeme procesor izvršava instrukcije jednog programa a zatim se prebacuje na drugi program i izvršava dio njegovih instrukcija. To određeno kratko vrijeme često nazivamo vremenski isječak. Ovaj način rada stvara iluziju izvršavanja nekoliko programa istovremeno a u stvarnosti se radi o tome da programi dijele procesorsko "radno vrijeme". Operativni sistem je program koji najčešće ima ulogu kontroliranja ovakvog dijeljenja procesorskog vremena.

Operativni sistem[uredi - уреди]

Da bi računar radio, barem jedan program mora biti neprestano u funkciji. Pod normalnim uslovima, taj program je operativni sistem (OS - operating system). Operativni sistem odlučuje koji će program u datom trenutku bit izvršavan, koliko i kojih resursa će mu biti dodijeljeno (memorija, I/O) i sl. OS takođe obezbjeđuje takozvani apstraktni omotač oko hardvera i programima dozvoljava pristup preko servisa kao što su kodovi (upravljački programi - "drajveri" od engl. driver) koji omogućavaju programerima pisanje programa bez potrebe za poznavanjem intimnih detalja o svim priključenim uređajima.

Eksterni linkovi[uredi - уреди]