DIGITALNA RAČUNALA SIS - lzmk.hr...Ulazne jedinice, koje predstavljaju vezu računala s vanjskim...
Transcript of DIGITALNA RAČUNALA SIS - lzmk.hr...Ulazne jedinice, koje predstavljaju vezu računala s vanjskim...
DIGITALNA RAČUNALA SIS
DIGITALNA RAČUNALA, strojevi za obavljanje računskih operacija s numerički izraženim veličinama (digit — engl. znamenka, brojka, cifra). U takvim numeričkim strojevima (rus. цифровые машины) 3 kako se oni također nazivaju, predstavljene su znamenke obično diskretnim fizikalnim stanjima. Digitalna računala izrađuju se u čisto mehaničkoj, mehaničko-pneumatskoj, meha- ničko-električkoj i električko-elektroničkoj izvedbi.
Digitalna računala mogu se prema svojoj konstrukciji i namjeni svrstati uglavnom u nekoliko grupa: u računala za opću upotrebu, računala za obradu podataka i specijalna računala prilagođena nekoj određenoj svrsi. U digitalna računala idu i obična mehanička stolna računala.
Digitalna računala za opću upotrebu služe kao pomoćno sredstvo pri naučnom, projektantskom i razvojnom radu, prvenstveno za rješavanje čisto matematičkih problema, tj. za numeričku analizu. Ona imaju memoriju s pomoću koje pamte primljene informacije i izvršavaju velikom brzinom, samostalno i bez čovjekova učešća, složene nizove računskih i logičkih (nearitmetičkih) radnji na osnovi primljenih instrukcija.
Računala za obradu podataka služe za pamćenje i obradu podataka. Ona su znatno jednostavnija od računala za opću upotrebu i nalaze veliku primjenu u proizvodnji, raspodjeli i administraciji (v. Obrada podataka).
Specijalna računala konstruirana su za rješavanje nekog određenog zadatka, pa je stoga tome prilagođena i njihova izvedba. Pojedine jedinice su im obično jednostavnije, a neke uopće ne postoje. Takva računala vrše često samo jednu ili samo nekoliko operacija, a ponekad se mogu i njihove jedinice prespojiti za izvođenje neke određene operacije.
Obični mehanički ili elektromehanički stolni računski strojevi služe za obavljanje 4 osnovnih operacija.
U ovom članku obradit će se uglavnom samo digitalno računalo opće upotrebe, jer ono sadrži gotovo sve jedinice koje su sadržane u drugim računalima. Na neka specijalna računala osvrnut ćemo se kratko na kraju članka.
Potreba za bržim odvijanjem računskih operacija potakla je ljude već vrlo rano na konstrukciju pom oćnih uređaja za računanje. T zv. »abakus« (lat. abacus) kojim su se služili stari Egipćani, Grci i Rimljani predstavljao je prvi »računski stroj« (si. 1). T o je bila ploča sa 8 utora po kojima su se pom icali kamenčići.
zbrajanje i odbijanje. U nju su se podaci unosili ručno s pom oću šiljka, a rezultati su izlazili automatski. Prvi računski stroj koji se prodavao za kom ercijalne svrhe konstruirao je Ch. X . Thom as 1820. Prve ideje i nacrte potpuno· automatskog mehaničkog digitalnog računala dao je Ch. Babbage u prvoj polovini X IX st. Taj stroj imao je sve elem ente današnjih digitalnih uređaja, kao štosu pam ćenje, aritmetička i upravljačka jedinica. Taj »analitički stroj« trebalo je da služi rješavanju bilo kakvog algebarskog problema; zbog ondašnjeg stanja tehnike nije mogao biti ostvaren, ali i da nije bilo te zapreke, kao čisto mehanički uređaj ne bi bio mogao uspjeti u tom opsegu.
Prvim računskim strojevima vršilo se m noženje i dijeljenje višestrukim zbrajanjem odn. odbijanjem; kasnije su se pojavili i strojevi specijalno konstruirani za m noženje, kao npr. stroj L. Bollćea iz 1888.
Računski strojevi koji su građeni kasnije predstavljali su prevelike i pre- spore sistem e te ekonomski nisu bili opravdani; stoga nisu ni značili neki naročiti doprinos razvoju automatske računske tehnike. God. 1936 obradio je A. M . T uring problem atiku numeričkog računala. T ek 1944 izrađen je na Pen- silvanijskom univerzitetu prvi elektronički računski uređaj nazvan E N IA C - Otada pa do danas digitalna računska tehnika razvija se tako brzo da se u tom pogledu njen razvoj m ože usporediti jedino još s razvojem nuklearne i raketne teh nike, koje su, uostalom, također mnogo doprinijele razvoju računala. N aročit napredak u razvoju digitalnih računala zabilježen je počevši od 1958, otkad se u takvim uređajima primjenjuju poluvodički sastavni dijelovi.
.7090SA tch
Л Л л \ \ \MANIAC ( \ O R D V A d K ^ - n O l- - _____ Л \ Г
V ^ AVIDAC \ l
/] D atam aiic/I
f.LAC . nvoc a n.f.D aSU c
мЛису/ /
MEG
SI. 1. Prikaz abakusa iz 1504. Slika prikazuje natjecanje izm eđu Pitagore (desno), koji se smatrao izumiteljem računanja s abakusom, i Boetija (lijevo) za koga se vjerovalo da je uveo računanje s indijskim (arapskim) brojkama. Sudac je božica
Aritmetika; pobjeđuje Boetije.
Ovo pom oćno računsko sredstvo ostalo je u upotrebi uz izvjesne izmjene sve do X V III stoljeća, a ponegdje ga upotrebljavaju još i danas. Konstrukcijom računskih strojeva počeli su se već u X V II st. baviti m nogi stručnjaci, npr. E. Gunter (1620), B. Pascal (1642), G. W . Leibniz (1664). T zv. »Pascalina« iz 1642, izrađena po zamisli Pascala, smatra se prvim mehaničkim računalom za
Jipzboj karticam a ~~
SI. 2. Stablo razvoja digitalnih računala
SI. 2 prikazuje stablo razvoja računskih strojeva. Oznake na stablu predstavljaju nazive najpoznatijih računala u svijetu u početnom periodu razvoja, digitalnih računala. M noga od tih računala danas su zastarjela: brzine kojima su radili znatno su prem ašene, načini njihova rada i m nogi uređaji koji su ulazili u njihov sastav danas se više ne upotrebljavaju (npr. elektrostatičke memorije,, živini zadržni vodovi, sklopovi s elektronkama itd .). Često se u razvoju računala razlikuju tri generacije: u prvu generaciju idu računala s elektronkama i klasičnim sastavnim dijelovima, u drugu računala s klasičnim tranzistorima, s minijaturnim sastavnim dijelovima i ev. štampanim krugovima, a treću i posljednju generaciju čine digitalna računala izrađena u m ikrotehnici s pom oću integriranih sklopova.
Razlika između digitalnih i analognih računala. Digitalna računala valja razlikovati od analognih (v. Analogno računalo). Digitalna računala vrše s pomoću svojih računskih jedinica operacije sa znamenkama, a analogna računala rješavaju pojedine probleme simulirajući promjenljive veličine odgovarajućim modelima. U analognim računalima veličine se prikazuju neprekidno, nekom dužinom, električnim naponom, kutom ili na neki drugi način; numerička, tj. digitalna računala, pak, rade diskontinuirano, pomoću brojeva koji predstavljaju kvantizirane fizikalne veličine. Na taj se način izražavaju njima također funkcije i varijable kojima se označava neko stanje fizikalnih veličina, pozicije mehaničkih elemenata itd. Da bi se kontinuirano promjenljivi (analogni) podaci mogli obraditi u digitalnim računalima, oni se pretvaraju s pomoću analogno-digitalnih pretvornika u odgovarajuće brojeve, diskontinuirane, diskretne (digitalne) veličine, što se naziva kvantiziranjem. Digitalna računala mogu dakle da služe i za neposredno promatranje fizikalnih modela.
Naučni problemi mogu se rješavati bilo analognim bilo digitalnim računalima, ali su rješenja dobivena u jednom i u drugom slučaju po svom obliku i po svojim karakteristikama različita. Dok će se iz analognog računala dobiti rezultat u obliku neke funkcije, npr. krivulje na oscilografu, digitalno će računalo dati opće ili pojedinačno rješenje u obliku brojčanih podataka, npr. u obliku neke tablice s brojevima. Tačnost digitalnih računala zavisi od njihovih karakteristika, npr. od broja decimalnih mjesta i od vremena koje se želi potrošiti za određenu operaciju; po pravilu je ta tačnost veća od tačnosti analognih računala.
Kombinacija digitalnih i analognih računala naziva se hibridnim računalima. Ta su računala obrađena na kraju ovog članka.
Sastav i rad računala opće primjene. Digitalna računala imaju zadatak da s brojevima i znakovima koje primaju na svom ulazu obave određene računske operacije primjenom određenih
314 DIGITALNA RAČUNALA
logičkih postupaka i da na taj način dobivene rezultate šalju u obliku brojeva i znakova kroz izlaz računala (si. 3).
Digitalno je računalo osposobljeno za izvršenje nekog konkretnog zadatka tek pošto mu se preda preko jedne ulazne jedinice odgovarajući program, koji se sastoji od niza pojedinih instrukcija.
Brojevi i instrukcije ” RačUnalo Rezultati u
obliku brojeva
SI. 3. Shema rada digitalnog računala
Instrukcije predstavljaju najmanje upute za rad računala, a sastoje se od dva dijela: operacioni dio sadrži nalog za izvršenje određene operacije, a adresni dio upućuje računalo gdje će naći podatke s kojima će operaciju izvršiti (,argumente) ili kamo treba da smjesti (uskladišti) rezultat. Program koji se predaje računalu treba da je kodiran3 tj. napisan u takvom obliku i redoslijedu da ga računalo može primiti i registrirati. Postupak sastavljanja kodiranog programa zove se programiranje.
O programiranju u jeziku računala govori se ako su instrukcije ispisane u programu tačno onako kao što će biti uskladištene u pamćenju (memoriji) računala i kasnije izvršene. U takvom programiranju kodiranje je teško i zamorno, pa se u novije vrijeme prelazi sve više na automatsko programiranje. Pri njemu računalo samo učestvuje u sastavljanju konačnog programa prema kojemu će izvršavati operacije. Računalu se u tom slučaju predaje samo tzv. izvorni program* tj. prema odgovarajućim propisima oformljen zadatak, npr. u obliku formule. Na osnovu toga onda samo računalo, uz pomoć svog posebnog internog programa (tzv. kompilatora), sastavlja nizove instrukcija za izvršenje pojedinih operacija. Taj niz instrukcija sačinjava konačni objektivni program, koji se pohranjuje u memoriji računala i na osnovu kojeg računalo onda obavlja operacije i gotove rezultate ispisuje na jednoj od svojih izlaznih jedinica.
Pravila tzv. viših ili programskih jezika, kao što su npr. ALGOL, COBOL, FORTRAN, tačno propisuju kako treba pri automatskom programiranju pripremiti i oformiti (kodirati) zadatke. Jasno je da se zadatak smije pri automatskom programiranju kodirati samo na onom jeziku za koji postoji u računalu interni program (taj se normalno isporučuje zajedno s računalom).
Samo izračunavanje rezultata računalo obavlja na isti način kad je primijenjeno automatsko programiranje kao kad je program izrađen i predat u jeziku računala. Stoga pri opisu računala i funkcije njegovih dijelova neće biti potrebno osvrtati se na automatsko programiranje, koje je, zajedno s programiranjem u jeziku računala, opširno obrađeno u narednom članku Digitalna računala, programiranje.
Digitalna računala rade vrlo brzo; pojedine računske operacije traju npr. u suvremenim računalima tek nekoliko miliontih dijelova sekunde (mikrosekunda, jjls) . Da bi se rad računala mogao odvijati što brže i bez zastoja, argumenti se ne unose kroz ulaz istovremeno kad se odvija i sama računska operacija, jer bi to bilo presporo, već se oni zajedno s instrukcijama predaju memoriji koja ih »pamti« (uskladištuje). Podaci se uzimaju iz memorije tek kad dođu na red u izvršenju računske operacije. Na isti način
Brojevi iMemorijainstrukcije ^
\ iRačunskajedinica
Rezultati u "obliku brojeva
SI. 4. U loga memorije u digitalnom računalu
pamti memorija i rezultate koji iz nje kasnije, polaganije, prolaze kroz izlaz (si. 4).
Svi podaci, tj. argumenti i instrukcije, koje digitalno računalo pamti, obrađuje i prema kojima postupa, izraženi su znamenkama. Međutim, digitalna elektronička računala normalno ne rade s decimalnim brojevima, već upotrebljavaju druge brojčane sisteme — prvenstveno binarni sistem brojeva — jer su oni u pogledu tehničke izvedbe računala prikladniji. O tome je govora u narednom poglavlju. Jasno je da moraju stoga i sve računske jedinice
i memorije računala biti prilagođene računanju sa znamenkama i računskim operacijama tih sistema.
Sastav elektroničkog digitalnog računala u načelu prikazuje blok-shema na slici 5. Iz nje se vidi da se takvo računalo sastoji od ulaznih i izlaznih jedinica, memorije i računske jedinice, koju tvore upravljačka i aritmetička jedinica. Osim tih dijelova postoje još upravljačka ploča i uređaj za napajanje strujom. Na slici vide se putevi kojima se kreću argumenti (podaci), instrukcije (upute), nalozi i rezultati.
Ulazne jedinice, koje predstavljaju vezu računala s vanjskim svijetom, sastoje se npr. od pisača, bušača i čitača perforiranih traka i kartica, od pisača i čitača magnetskih traka, ili nekih drugih uređaja. One pretvaraju i ulazne informacije u kod, sistem s kojim dotično računalo radi.
Tako kodirane podatke u vidu riječi šalju ulazni organi u memoriju radi pamćenja i uskladištenja. Memorija se sastoji od velikog broja bistabilnih elemenata. Za ovu svrhu služe magnetske jezgrice, magnetske trake, diskovi i bubnjevi, elektronički multi- vibratorski sklopovi i drugi uređaji koji će biti kasnije detaljno
Instrukcije i argumenti
|----------------iI Upravljačka | I pločaI__________ i Rezultati
!I Uređaj j| za napajanje |I___________I
SI. 5. Blok-shem a digitalnog računala opće primjene. AR Argumenti,N A L nalozi, IN S instrukcije, RE rezultati
opisani. Pojedine grupe takvih elemenata predviđene su za pamćenje jedne riječi. Da bi se znalo kuda treba spremiti neku informaciju i odakle je kasnije u toku računanja opet uzeti, svaka jedinica memorijskih elemenata ima svoje ime, tj. svoju adresu koja se izražava odgovarajućim brojem. Izdavanjem informacija iz memorije i unošenjem rezultata u nju rukovodi upravljačka jedinica.
Jezgro digitalnog računala tvori računska jedinica koja se sastoji od upravljačke i aritmetičke jedinice. Te su dvije jedinice izgrađene od sličnih elemenata.
Za automatsko odvijanje računskih operacija brine se upravljačka jedinica, koja se sastoji od nekoliko podsklopova. Ona traži po završetku svake računske radnje od memorije slijedeću instrukciju i prema njoj izdaje aritmetičkoj jedinici sva naređenja za izvršenje određene računske operacije. Upravljačka jedinica poziva osim toga iz memorije argumente s kojima treba izvesti iduću računsku operaciju i šalje ih aritmetičkoj jedinici. Osim toga se brine da se međurezultati dobiveni u tekućem računskom postupku stave privremeno u internu memoriju koju aritmetička jedinica za ovu svrhu ima. Ona, konačno, šalje i završne rezultate glavnoj memoriji. Osim toga postoji u nekim računalima i uređaj sa satnim impulsnim generatorom koji u tačno određenim vremenskim intervalima s pomoću električnih impulsa upravlja radom svih organa računala i time vremenski usklađuje dolazak pojedinih podataka s izvršenjem operacija.
Aritmetička jedinica obavlja računske operacije. Radi toga ona je sastavljena od računskih jedinica, kojima se vrše te operacije, i od lokalnih memorija. U aritmetičkoj jedinici obavljaju se četiri osnovne računske operacije: zbrajanje, odbijanje, množenje i dijeljenje, i na njih se s pomoću programiranja svode i svi ostali, kompliciraniji i viši matematički postupci. Osnovne
DIGITALNA RAČUNALA 315
se računske operacije ne izvode u svemu na način poznat iz računanja u decimalnom sistemu, nego se u računalima primjenjuju zbog upotrebe binarnog brojčanog sistema postupci algebarske logike kao što su: konjunkcija, disjunkcija, komplementiranje i drugi. Aritmetička jedinica je znatno jednostavnija u tzv. serijskim računalima, koja računske operacije izvode postupno, od brojke do brojke nekog broja, slično kao kad se računa olovkom, nego u paralelnim računalima, u kojima se računski rad odvija istovremeno na brojkama svih mjesta. Stoga su i aritmetičke jedinice paralelnih računala skuplje.
Kao izlazne jedinice koje ispisuju ili prikazuju gotove rezultate služe pisači, perforatori, pokazivači i druge zapisne sprave.
Upravljačka ploča ima uglavnom veći broj sklopki i služi za ukopčavanje računala, upravljanje njegovim radom, njegovu kontrolu i ispitivanje, a također za uvođenje nekih programskih promjena.
Napajanje računala vrši se obično iz gradske mreže.
ULAZNE I IZLAZNE JEDINICE RAČUNALA
Broj i vrsta ulaznih i izlaznih jedinica zavisi od vrste računala, odn. od njegove namjene. U proračunima koji se odnose na statističke, privredne i proizvodne probleme broj je podataka i broj rezultata velik, ali su računske operacije relativno kratke i jednostavne. Za rješavanje takvih problema potrebna su računala s mnogobrojnim i kompliciranim ulaznim i izlaznim jedinicama. Pri rješavanju tehničkih i naučnih problema potreban je samo mali broj razmjerno jednostavnih ulaznih i izlaznih jedinica, ali je sam proračun složeniji.
Formiranje ulaznih informacija u riječi i njihovo kodiranje. Kao što je naprijed rečeno, podaci koji se unose u računalo moraju biti prethodno na pogodan način pripremljeni, tj. prevedeni na jezik računala i kodirani. Jezik računala sastoji se od pojedinih »riječi«, koje se posredstvom kodiranja izražavaju određenim brojem binarnih znamenaka.
Formiranje riječi. U toku programiranja, numeričke vrijednosti koje računalo treba da preradi i instrukcije koje mu se daju za tu preradu formiraju se u riječi prema nekom ugovorenom kodu, a na osnovu prethodno sastavljenih spiskova u kojima su ti podaci prikazani decimalnim brojevima ili specijalnim kraticama. Svaka takva riječ sadrži jednu informaciju ili više informacija koje sačinjavaju neku cjelinu. S pomoću ulazne jedinice, npr. stroja za pisanje, ove se riječi prilikom unošenja u računalo pretvaraju u kod kojim ono radi, npr. kod binarnih računala u binarne brojeve koji se sastoje od određenog broja binarnih znamenki O i l . (Binarna znamenka zove se i bit, prema engleskom binary digli). Koliki je broj bitova u broju kojim je izražena svaka riječ, to zavisi od konstrukcije računala. Dužina riječi, tzv. ritam, iznosio je ranije često 12 binarnih znamenki, kod novijih računala on se kreće između 16 i 64 bita. Dužina riječi se izražava često i u bajtima (engl. byte): to je slijed binarnih znamenki koje u računalu tvore jednu cjelinu. Bajt iznosi obično 4---8 bita, uz eventualni dodatak još neke pomoćne znamenke. Sve riječi istog računala imaju istu dužinu. Ako nema dovoljno informacija za popunjenje cijele riječi, ili je broj koji se prenosi kratak, prazna se mjesta riječi popunjavaju nulama. Postoje, međutim, i neka moderna računala kod kojih mogu riječi koje sadrže instrukcije biti i kraće od normiranih riječi ukoliko se primijeni neki simbolički jezik za programiranje. Riječi koje sadrže instrukcije prema vani se ni u čemu ne razlikuju od riječi koje sadrže argumente, razlika se uočava samo kroz interpretaciju. Sastav pojedinih riječi tačno je propisan i on je usko povezan s konstrukcijom računala; tako, npr., već prema tipu računala, riječi s instrukcijama sadrže od jedne do tri adrese.
Sadržaj neke instrukcije s jednom adresom može npr. biti ovakav: »Zbroji broj koji se nalazi u memoriji aritmetičke jedinice s brojem koji je spremljen u glavnoj memoriji pod adresom 245«. Takva se informacija prilikom programiranja upisuje u spisak npr. ovako: +01245, gdje -f- znači oznaku za instrukciju, 01 matematičku operaciju a 245 adresu. (Prilikom unošenja u računalo ovi se znakovi kod binarnih računala pretvaraju u binarni oblik.) Cijela ova informacija predstavlja dakle jednu riječ. Jedna riječ pohranjuje se u memoriji vrlo često pod jednom adresom.
Kodiranje rijeci. Svaki podatak što ga saopćavamo u svagdanjem životu na određeni je način kodiran, jer ga nesvjesno izražavamo na neki način koji je među određenim brojem ljudi uobičajen. Tako npr. izgovorena riječ »trinaest« za nas koji znamo naš jezik znači broj ili količinu. Za stranca, međutim, takvo uzastopno mijenjanje glasova nije razumljivo, jer njemu nije poznat kod našeg govora. Ako broj 13, međutim, napišemo brojkama uobičajenog decimalnog sistema, gdje 1 znači desetice, a 3 jedinice, onda taj način prikazivanja razumiju svi ljudi koji poznaju brojke i načela decimalnog sistema.
Teorijski mogu da postoje vrlo različiti sistemi brojeva. Danas je najpoznatiji decimalni brojčani sistem koji radi sa osnovom (radiksom) 10. Ako decimalni broj 4567,8 napišemo u razvijenom obliku, dobivamo : 4 x IO3 + 5 x IO2 + 6 x 101 ++ 7 X 10° + 8 X 10-1. Vidi se da u decimalnom sistemu mjesta brojki imaju svoje vrijednosti koje odgovaraju potencijama od 10. Općenito, za bazu q> važi da vrijednost broja N iznosi:
N = an - qn + an_x · qn~1 + . . . + a0 · q°. (1)U toj su jednadžbi an, an_13 . . . 3a0 brojke pojedinih mjesta. Prije decimalnog sistema (sa q = 10) ljudi su upotrebljavali druge brojčane sisteme, u kojima je q iznosio 6, 12 pa čak i 60. Nekim ostacima tih sistema služimo se još i danas, npr. u jedinicama za kutove, jedinicama za vrijeme i kad računamo na tucete (12 komada) i grose (12 tuceta). U digitalnim računalima upotrebljavamo binarni sistem sa q = 2, oktalni sa q = 8, a često također seksadecimalni (heksadecimalni) sa q = 16 i normalni decimalni sistem. Svaki brojčani sistem mora imati toliko brojki koliko iznosi q, dakle decimalni 10, binarni 2, itd.
Kako su ćelije za pamćenje koje se upotrebljavaju u elektronskim računskim strojevima uglavnom bistabilni elementi, tj. elementi koji mogu zauzeti samo jedno od dva stabilna stanja, to su za rad u računalima prikladniji kodovi sa svega dvije osnovne veličine, simbolički označavane znamenkama 0 i 1. Tako npr. kontakt releja može zauzeti samo jedan od dva položaja, sklopovi s elektronkama i tranzistorima mogu biti ili u stanju vodljivosti ili u stanju nevodljivosti, magnetski uređaji mogu biti polarizirani samo u jednom ili u drugom smislu.
D a bi se binarna znamenka 1 razlikovala od decimalne, ona se u novije vrijeme često piše L . Iz razloga sim etrije se onda obično i m jesto nule (0) piše slovo O. N pr. um jesto 0011 piše se O O LL.
Ako broj sastavljen od binarnih brojki ima 4 mjesta, onda broj kombinacija od dviju binarnih brojki iznosi 24, tj. 16; takve su kombinacije 0001, 0010, 1111, itd. Između tih 16 kombinacija se za izražavanje brojki 0 do 9 izabire njih 10 prema različitim kriterijima, pa tako dobivamo različite binarne kodove. U računskim strojevima upotrebljavaju se dva načelno različita načina kodiranja, tj. dva načina izražavanja decimalnih brojki i slova s pomoću binarnih brojčanih kombinacija.
U kodovima prve vrste daje se binarnoj brojci 1 na svakom mjestu binarnog broja određena stalna brojčana vrijednost tako da zbroj vrijednosti svih mjesta predstavlja broj koji se želi prikazati. Pri vrednovanju tih mjesta mogu se upotrijebiti različiti kriteriji, pa se je tako došlo do različitih binarnih kodova.
Kod 8—4—2—1 dobiva se ako se posljednjem mjestu daje vrijednost 2° = 1, pretposljednjem 21 = 2, trećem 22 = 4, četvrtom 23 = 8 itd. Brojevi tog koda predstavljaju, dakle, binarne brojeve prema jednadžbi (1), sa q = 2. Znamenke u tom sistemu mogu, dakako, biti samo a0 = 0 i ax = 1. U tablici 1 navedena su prva dvadeset i dva binarna broja po ovom kodu.
T a b l ic a 1
Decim.broj
binarni Decim. broj broj
binarnibroj
Decim.broj
binarnibroj
Decim.broj
binarnibroj
0 0 6 110 12 1100 18 100101 1 7 111 13 1101 19 100112 10 8 1000 14 1110 20 101003 11 9 1001 15 1111 21 101014 100 10 1010 16 10000 22 101105 101 11 1011 17 10001 itd. itd.
Primjer. D ecim alnom broju 6 odgovara binarni broj 110 (ili 0110, 00110 itd ., prema broju m jesta u kodu) jer je 1 x 4 + 1 x 2 + 0 x 1 = 6 .
316 DIGITALNA RAČUNALA
Ako želim o decim alni broj pretvoriti u binarni broj, dijelim o prvo njega, a zatim kvocijente postupno sa 2, a ostatke zapisujemo. (Vidi primjer u tablici 2.) Ostaci čitani odozdo prema gore daju binarni broj. Prema tom e decim alnom broju 113 odgovara binarni broj 1110001.
T a b l ic a 2
K vocijent
1135 62814
731
O statak
Pojedinim mjestima binarnog broja mogu se dati i druge vrijednosti, pa se tako dobivaju druge vrste binarnih kodova, kao npr. kod 2421, kod 4221 itd. Često se kombinacije izaberu tako da zbroj brojki, kad je na svakom mjestu brojka 1, iznosi 9, npr. u kodu 4221 binarni broj 1111 odgovara decimalnom broju 4 + 2 + + 2 + 1 = 9.
U kodovima druge vrste ne daju se pojedinim mjestima određene vrijednosti, niti se te vrijednosti zatim zbrajaju, već binarna kombinacija kao cjelina dobije značenje određene brojke, znaka ili slova. Ovakvi kodovi imaju obično za brojeve 4 do 5 mjesta, a za slova 5 do 7 mjesta. Da se olakša kontrola ispravnosti i ispravnog pre- nosa, uzimaju se između svih mogućih kombinacija samo one koje odgovaraju još nekim dodatnim uvjetima, kao npr. da svaka kombinacija sa 5 mjesta sadrži 2 puta binarnu brojku 1.
T a b l ic a 3
Decimalni broj ili alfabetski znak
Brojevi i znakovi kodirani prema kodu
2 od 5 Eksces 3
0 00011 10000111 00101 00001002 00110 10001013 01001 10001104 01010 00001115 01100 00010006 10001 10010017 10010 10010108 10100 00010119 11000 1001100A 1010100B 0010101
Z 1111100
I S « I S + I * I
I I I l II
Među ovakve kodove idu kodovi »Eksces 3«, »2 od 5« i dr.Tablica 3 prikazuje binarne brojeve kodirane po ovim ko
dovima. Kod Eksces 3 zove se tako jer binarna vrijednost prvih4 brojki zdesna po kodu 8421 prelazi za iznos 3 vrijednost što je predstavlja određena kombinacija po kodu Eksces 3. Npr. 1001001 odgovara po kodu Eksces 3 decimalnom broju 6, a 1001 po binarnom kodu 8421 odgovara decimalnom broju 9, što prelazi 6 za iznos od 3.
Danas se upotrebljava obično alfa-numerička (brojčano- -slovčana) verzija koda »Eksces 3« koja ima 7 mjesta, kao što se to vidi iz tablice 3. Zbog kontrole ispravnosti kodirane kombinacije nalazi se na posljednjem mjestu (prvom slijeva) znamenka 1 ako na ostalim mjestima ima paran broj znamenki 1, a 0, ako ih ima neparan broj.Iduće dvije znamenke (druga i treća slijeva) pokazuju da li kombinacija označava slovo (0,1 10, 11) ili znamenku (00).
U kodu »2 od 5«, koji ima samo 5 mjesta, kombinacije su izabrane tako da zbroj znamenki 1 iznosi uvijek 2. I ovaj sistem služi lakšem otkrivanju grešaka.
Ulazne jedinice digitalnih računala imaju zadatak da ulazne podatke s koda programa prevedu na kod računala i da ih prilagode njegovom načinu rada. Ali u svakodnevnoj praksi većina informacija koje računalo treba da obradi obično nije izražena u binarnom i električkom obliku, već npr. u obliku brojki, znakova ili pisanog teksta. Ulazne jedinice služe stoga kao pretvornici i one obavljaju trostruk zadatak: pretvaraju informaciju u pogodno kodiran digitalni oblik, daju digitaliziranoj informaciji električki oblik — tj. izražavaju je slijedom električkih impulsa — i po potrebi skupljaju bitove informacija u riječi i sinhroniziraju odašiljanje impulsa s radnim taktom računala.
Postoji velik broj uređaja s pomoću kojih se mogu unositi digitalni podaci u računalo. Najčešće služe za to: perforirane trake, perforirane kartice, magnetske trake i diskovi, strojevi za pisanje i polja s tipkama, a rjeđe i za specijalne namjene: čitači štampanog teksta, sljedila toka krivulja i neki mehanički uređaji. Za uvođenje analognih veličina u digitalna računala upotrebljavaju se analogno-digitalni pretvornici.
Među ulaznim jedinicama ima takvih koje rade sporo, npr. strojevi za pisanje (sa 10 znakova u sekundi) i takvih koji rade znatno brže, npr. čitači magnetske trake (i do 3000 znakova u sekundi). Kad ulazne jedinice djeluju sporo, upotrebljava se redovito memorija kao posrednik između ulaza i računske jedinice. Memorija prima podatke od ulaznog pretvornika, pamti ih i predaje zatim velikom brzinom računskom dijelu računala. Kako je radni sat velikih digitalnih računala vrlo skup (danas 1000 do 2500 novih dinara), to se i za samo unošenje često primjenjuju brži ulazi, kako bi angažiranje računala trajalo Što kraće vrijeme.
U nastavku opisat će se najvažnije vrste ulaznih jedinica koje se primjenjuju u digitalnim računalima.
Perforirane trake. Za unošenje informacija u računalo s pomoću perforiranih traka treba imati: perforator ili bušilicu, samu traku i, konačno, čitač perforirane trake, koji sačinjava, u stvari, ulaznu jedinicu računala. Perforirane trake su papirne vrpce standardnih širina, npr.17,4, 22,2, 25,4 mm; na njima se specijalnim perforatorom tj. elektromehaničkim bušilom, koje ima tastaturu, izbuši u svakom redu (okomito na smjer dužine trake) određeni broj rupa koje prema određenom binarnom kodu odgovaraju određenom decimalnom broju, znaku ili slovu, kao što je to bilo poznato već od tele- printerskog telegrafskog prenosa (si. 6). Broj rupa u jednom redu zavisi od vrste binarnog koda koji se upotrebljava; iznosi obično od 4 do 8. Niz malih rupica u sredini trake služi za vođenje i transport trake. Rupa na traci znači bit 1, a mjesto bez rupe bit 0. Svi bitovi u jednom redu predstavljaju jedan znak. Ako, na primjer, riječi u računalu imaju dužinu od 30 bita, onda je, uz kod sa pet mjesta, za ispisivanje jedne riječi potrebno šest redaka rupica. Perforatori traka imaju tipkalo s decimalnim brojevima, sa znakovima i slovima. Kad se npr. na perforatoru
SI. 6. Perforirana traka sa sedam
rupica
0 0 0 0 0 0 0 | 0 0 | 0 0 0 0 0 0 0 0 0 0 0 8 0 0 01 2 3 4 5 6 ? 8 9 iJ U 12 13 14 15 16 t; 1» 19 20 21 22 23 24 25 2S
i n i | n i 1 i m i ! 1 1 1 i n i n i l
2222222§22Ì222222222222222 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4 4 | 4 4 4 4 4 4 4 4 4 4 4 43 4 5 S 7 ? 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 :5 26
5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 | G 6 | 6 G 6 G 6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
3 8 8 8 8 8 8 3 | 8 8 | 8 | 8 8 8 8 8 8 8 6 8 8 8 8ZiFFERNKARTE 2
9 9 9 9 9 S | 9 9 | 9 9 | 9 | 9 9 9 9 9 9 9 9 9 9 93 4 5 i 1 « 9 10 II I? 13 14 « i« U 1» 19 20 21 :? 23 24 75 26
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 o’27 28 29 30 31 32 33 34 35 36 37 ii 39 40 41 42 43 44 <j 46 *7 43 49 50 01 52 53 54 55 56 5? 58 59 60 SI 62 63 64 65 66 67 68 69 70 7) 72 73 74 75 76 77 )8 79.80
1 1 I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 t 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 * 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 421 2S 23 30 31 32 33 34 35 3S 3’ 38 Zi 4(1 41 4? 43 44 45 4S 47 48 49 50 51 52 53 54 55 5« 57 58 59 60 61 62 63 64 6S 66 67 68 69 70 ?! 72 73 74 74 7« 77 78 79 80
5 55 555 5 555 5 55 5 555 5 5 5 5 5 5 5 5 5 555 5 555 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 8 6 6 6 6 6 6 8 6
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
8 8 8 8 6 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 S 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8IBM OSTERRE1CH
9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 927 28 29 30 31 32 33 34 35 J6 27 38 39 40 41 42 43 44 45 46 47 M 49 50 V 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 8S
SI. 7. Perforirana kartica
DIGITALNA RAČUNALA 317
za kod 8421 pritisne tipka, recimo3 za brojku 6, perforator sam izvrši kodiranje, tj. na pritisak tipkala izbuši 2 rupice a 3 mjesta ostavi neizbušena, što odgovara binarnom broju 00110. Perforatori traka su često kombinirani sa strojevima za pisanje. Uređaj za čitanje perforirane trake u računalu pretvara izbušene rupe i nebušena mjesta u električne impulse i šalje ih u memoriju. Brzina čitanja perforirane trake može iznositi i nekoliko hiljada bita u sekundi. Sporiji uređaji za čitanje rade s pomoću mehaničkih ticala, brži čitači svjetlosnom zrakom koja aktivira foto- električnu ćeliju i time pretvara izbušene rupice u električne impulse.
Perforirane kartice. Za perforirane kartice postoje slični perforatori i čitači kao za trake. Na karticama mogu rupice biti izbušene ili samo uz jedan rub, na isti način kao na traci, ili po cijeloj površini kartice (si. 7). Uređaji za čitanje perforiranih kartica,
SI. 8. Uređaj za čitanje perforiranih kartica
koji predstavljaju prilično veliku aparaturu (si. 8), rade brzinom i do preko 10 000 kartica na sat.
Strojevi za pisanje su uređaji s tastaturom koji pretvaraju na mehanički ili električki način decimalne brojke, znakove i slova u binarno kodirane brojeve. Oni su po svom načinu rada vrlo slični bušaćima traka ili teleprinterima (v. Telegrafija). Obično strojevi za pisanje imaju pisalo teksta za kontrolu podataka koji se šalju u računalo ili kao izlazni dio računala (si. 9). Najčešće imaju
jalno adaptirani teleprinteri. Strojevi za pisanje daju na svom izlazu ili već pravilno kodirane i oblikovane električne impulse ili perforiranu traku. Najveća brzina rada takvih pisača iznosi obično 10 odn. 20 znakova u sekundi.
Telegrafske i telefonske linije mogu se preko odgovarajućih adaptera priključiti izravno na memoriju računala kad se program i brojčani podaci šalju u računski centar iz nekog drugog poduzeća, instituta ili mjesta. Podaci moraju u tom slučaju biti već unaprijed pripremljeni, obrađeni i kodirani. Prijenos podataka vrši se na udaljenom mjestu s pomoću stroja za pisanje ili čitača traka, a prijem rezultata s pomoću stroja za pisanje ili bušilice (si. 10).
Magnetske trake i diskovi mogu se uz odgovarajuće uređaje za upisivanje i čitače također upotrijebiti kao ulazni organi ako treba unošenje podataka ubrzati. Oni po svojoj konstrukciji potpuno odgovaraju trakama i diskovima koji su opisani među memorijama. Magnetizirana tačka znači kod njih bit 1 a nemagne- tizirana bit 0. Brzina prenosa s ovakve trake u memoriju može iznositi i do 100 000 bita u sekundi. Takvi uređaji idu dakle među brze ulazne organe.
Uređaji za čitanje štampanog i pisanog teksta mogu u specijalnim slučajevima također da služe kao ulazni organi. Postoji mnogo
SI. 9. Stroj za pisanje s dodatnim bušačem i čitačem perforirane trake. Uređaj om ogućuje prethodnu pripremu trake uz ubaci- civanje instrukcije i brzu predaju informacija s pom oću gotove
trake računalu
takvi strojevi za pisanje ugrađen i perforator za bušenje traka i kartica. U nekim računalima se za ovu svrhu primjenjuju speci-
Sl. 11. Princip uređaja za čitanje štampanog teksta s pomoću fotoćelija
sistema koji omogućuju čitanje slova i brojki. Neki od njih rade s pomoću svjetlosne zrake i fotoćelija (si. 11), drugi s magnetskim crnilom, treći s crnilom koje pravi papir na ispisanim mjestima provodljivim. Svi oni rade obično na principu razlaganja slike na svijetle i tamne, magnetske i nemagnetske, vodljive i ne vodljive tačkice, koje se kao bitovi 1 i 0 prenose u odgovarajuće matrice. Primjena takvih uređaja je mnogostrana; upotrebljavaju se najviše u bankama za provjeru čekova, potpisa i slično. Posebnu vrstu
(0) (1) (1) (0) (1) U+!
L TI b
I I
SI. 12. tričnih ulazni
i I
n n
I I I
U l .1 1 1 II I I Il i l i I I I I I5 4· 3 2 1
Vrijeme
Promjene napona (a) i elek- impulsa (¿0 s pom oću kojih
organi predaju pojedine riječi memoriji
SI. 10. Primopredajnik (čitač i bušilica perforirane trake) za rad s računalom na daljinu preko telefon
ske linije
m m m \r r r h g i1 ii i! M i i1 0 0 0 0_1 1 1 10 0 0 Ò0 0 0 cT0 0 0 01 T 1 10 0 0 0 ČT0 à 0 0 0
Pomak mjesta
Pomak Tryesfa f
Registar sa dva pomaka
318 DIGITALNA RAČUNALA
takvih uređaja predstavljaju si jedila toka krivulja, koje mogu raditi prema opisanom ali i prema nekim drugim principima.
Ulazni organi predaju računalu (memoriji) pojedine riječi s pomoću električnih impulsa ili promjena napona kao što to pokazuje slika 12.
Analogno-digitalni pretvornici upotrebljavaju se za pretvaranje analognih podataka, koji se dobivaju npr. pri mjerenju temperature, snage, momenta, protoka, kutova, položaja osovine i drugih kontinualnih veličina, u diskretne signale binarno-nu- meričkog tipa. Takvi pretvornici, koji mogu da rade na vrlo različitim principima, služe kao ulazni organi digitalnih računala u kojima se analogni (kontinualni) podaci matematički obrađuju. Načelno se analogni podaci mogu pretvarati u digitalne posredno ili neposredno.
Pri posrednom ili indirektnom pretvaranju se analogna veličina, koja se kontinuirano mjeri, pretvara najprije u električki kontinuirani signal i ovom se tek kasnije daje odgovarajući numerički oblik. Za posredno pretvaranje primjenjuje se često metoda s komparatorom. U komparatoru može se npr. upoređivati ulazni analogni napon s naponom koji daje preko posebnog digitalno- analognog pretvornika neko brojilo koje stvara električne impulse. Ako je napon koji dolazi iz brojila veći od ulaznog napona, kompa- rator daje bit 0, a ako je manji, bit 1. S pomoću ovih bita regulira se povratnim putem brojilo tako da se broj impulsa iz brojila povećava ili smanjuje dok ne odgovara analognom ulaznom naponu. Broj impulsa u jedinici vremena broji registar za brojenje, pa njegovo stanje predstavlja digitalni oblik analogne veličine u datom trenutku.
Drugi je način posrednog pretvaranja analogne veličine u digitalnu da se trenutna vrijednost analogne veličine pretvori najprije u normirani impuls čija je širina proporcionalna vrijednosti analogne veličine u datom trenutku. Ti se impulsi kasnije kvantiziraju tako da se njima uspostavi spoj s jednim ulazom konjunktivnog sklopa, kojemu je drugi ulaz spojen s impulsnim generatorom sata računala. Time se dobiva na izlazu pretvornika broj impulsa koji je razmjeran širini impulsa, a time i mjerenoj analognoj veličini. Daljnji se postupak odvija kao što je naprijed navedeno.
Pri neposrednom ili direktnom pretvaranju analogna se veličina pretvara izravno u numeričko-kodiranu vrijednost. Kao primjer takva pretvaranja može poslužiti pretvaranje kutnog položaja neke osovine u brojčanu binarnu vrijednost. Ako pretvornik treba da radi s digitalnim računalom u kome se primjenjuje brojčani kod od 5 mjesta, na osovini čiji se kutni položaj želi izraziti numerički nalazi se ploča sa 5 koncentričnih koluta iste širine
18 1
10 9
SI. 13. Pretvaranje kutnog položaja u binarni broj. Tam ne površine na kolutu pretvornika provodljive su, svijetle su neprovodljive, prve predstavljaju binarnu brojku 1, druge brojku 0.Ako se četkice nalaze npr. u položaju A -O , tj. u sektoru 13, dobiva se binarni broj 01101, što
odgovara decimalnom broju 13
(sl. 13). Cijela ploča podijeljena je na sektore određene širine, npr. 10°. Koluti su u nekim sektorima vodljivi a u drugim ne- vodljivi, pa se tako dobivaju vodljivi i nevodljivi segmenti. Po kolutima klizi 5 četkica koje se određenim mehanizmom ukopčavaju postupno od centra ploče prema obodu. Četkice koje se nalaze na vodljivom segmentu dobivaju preko njega napon, a
druge ostaju bez napona. Segmenti su kombinirani tako da slijed naponskih (1) i beznaponskih (0) stanja predstavlja binarni broj koji odgovara broju segmenata ili kutnom položaju u stepenima. Isti problem može se riješiti i s pomoću prozirnih i neprozirnih segmenata, pomične zrake svjetla i fotoćelije. Takvi pretvornici susreću se češće u hibridnim računalima.
Izlazne jedinice digitalnih računala jesu polagani i brzi pisaći strojevi, perforatori traka i kartica, katodne cijevi koje prikazuju izravno tekst i brojke (alfa-numerički pokazivači), kontinuirani (analogni) izlazi i zapisne sprave krivulja i sinoptičkih karata. U nastavku će se opisati neki najvažniji izlazni organi.
Najčešće služe kao izlaz iz računala zapisne sprave različnih tipova. One se mogu podijeliti na polagane i brze, na mehaničke i nemehaničke pisaće strojeve. Najčešće se susreću obični elektromehanički pisaći strojevi slični teleprinterima koji pišu slovo po slovo na list ili svitak papira (v. sl. 9). Brzina pisanja iznosi već prema tipu 10 ili 20 znakova u sekundi. Brzi, tzv. linijski pisaći strojevi štampaju istovremeno cijeli redak od ^ 1 2 0 znakova s time da mogu odštampati i 5 do 20 takvih redaka u sekundi (v. sl. 40, lijevo). Mehanički matrični printer firme Eastman Kodak štampa i do 350 redaka u sekundi.
Sl. 14. Perforator trake. U pozadini kontrolni pult.
S pomoću nemehaničkih strojeva za pisanje prenosi se informacija na papir npr. fotografskim, elektrofotografskim ili magneto- fotografskim putem. Neki takvi pisaći strojevi upotrebljavaju kao izvor informacija svijetleći tekst sa ekrana specijalne katodne cijevi, koji se kontinualno preslikava. Brzina pisanja takvih uređaja iznosi 15 000 do 30 000 znakova u sekundi. Pri elektro- fotografskom načinu reprodukcije površina se foto-papira nabija električnim nabojem neposredno prije snimanja. Na osvijetljenim mjestima papir postaje provodljiv i naboj nestane kad papir prelazi preko uzemljenog valjka. Zatim se pušta na papir prašina nabijena suprotnim polaritetom. Ona biva privučena i kupi se na mjestima koja nisu bila osvijetljena. Zagrijavanjem ova se prašina fiksira na papiru.
Osim opisanih vrsta sprava za pisanje postoje još brži strojevi koji su vrlo skupi i vrlo se rijetko upotrebljavaju.
Vrlo često služe kao izlazne jedinice perf oratori traka bez tastature. Polagani perforatori buše desetak znakova u sekundi, a brzi postižu 150 do 1000 znakova u sekundi (sl. 14). Slično rade i bušilice kartica, koje mogu perforirati i više od 10 000 kartica na sat.
Pokazivači s katodnom cijevi za tekstualno (alfa-numeričko) prikazivanje rezultata digitalnih računala upotrebljavaju se u posljednje vrijeme sve češće. Tekst se sa zaslona izravno čita (sl. 15; v. i sl. 37).
Digitalno-analogni pretvornici služe za pretvaranje podataka, koje daje digitalno računalo u diskretnoj binarnoj formi, u kontinuirani (analogni) oblik, npr. radi prikazivanja podataka u grafičkom obliku u vidu krivulje ili radi ponovnog unošenja podataka u neki uređaj koji traži na svom ulazu analogne veličine. Ovi se
DIGITALNA RAČUNALA 319
W MI I I j® ;S 8 s i lB l! B i l1. i
m WUrA-** ' I. 3 ; - :
SI. 15. Pokazivač s katodnom cijevi
pretvornici stoga često upotrebljavaju kao izlazni organ digitalnih računala. Električni binarni impulsi pretvaraju se u kontinuirane veličine električkog napona ili struje obično s pomoću dioda, otpornika i slijedova otpornika. Često se za tu svrhu upotrebljavaju djelioci napona (si. 16). Svaki od četiri prekidača, koji mogu
SI. 16. D igitalno-analogni pretvornik na principu đjelioca napona. Prikazani položaj pretvara binarni broj 1001 u
analogni 9
biti npr. kontakti releja, odgovara kad je zatvoren bitu 1, a kad je otvoren bitu 0. Za svako mjesto binarne brojke predviđen je zaseban prekidač (1, 2, 4, 8). Ako su npr. zatvoreni prvi i posljednji kontakt, taj položaj odgovara broju 1 + 8 = 9 jer su i provodljivosti otpornika dimenzionirane proporcionalno vrijednostima pojedinih mjesta binarnog koda. Iz izvora struje koji napaja pre- tvornike teći će dakle struja koja će biti proporcionalna dotičnoj digitalnoj veličini, pa će i pad napona na izlaznom otporniku Rizi ukoliko je taj malen spram ostalih, biti proporcionalan digitalnoj vrijednosti. Tako postoje i pretvornici vrlo različitih konstrukcija za kutne i druge veličine, ali u njihov opis ovdje ne možemo ulaziti.
Na digitalne pretvornike mogu se priključiti i nw_ koordinatni pisači i crtači krivulja.
JEDINICE ZA PAMĆENJE ILI MEMORIJE ^
Jedinice za pamćenje ili memorije su uređaji koji se primjenjuju za »pamćenje«, tj. spremanje informacija. Oni se sastoje od većeg broja osnovnih jedinica za pamćenje koje su sposobne da zauzmu jedno od dva stabilna stanja. Od takvih se sklopova traži da zapamte binarnu informaciju koja se sastoji bilo od stanja »0« ili od stanja »1«.Ako se pojavi informacija stanja »0«, jedinica za pamćenje ostaje nepromijenjena, pri ulasku informacije »1« element za pamćenje će zauzeti drugo stanje ili položaj i zadržati ga do daljnjeg. Nakon predaje informacije može jedinica za pamćenje to
stanje i nadalje zadržati ili se vratiti u svoje osnovno stanje, što zavisi i od vrste memorije. Više takvih bistabilnih jedinica za pamćenje sačinjava jednu ćeliju za pamćenje, a velik broj ćelija, memoriju.
Pri današnjem stanju tehnike postoji velik broj uređaja, sklopova i jedinica koje se mogu upotrijebiti kao elementi za pamćenje u memorijama. Najčešće se upotrebljavaju za ovu svrhu: bistabilni elektronički sklopovi, magnetske trake, magnetski bubnjevi ili diskovi, matrice s feritnim jezgricama, a rjeđe: releji, perfori- rane trake i kartice, zadržni vodovi i supervodljivi sklopovi. Ovi posljednji su još u fazi razvoja.
Memorije se mogu s obzirom na način ulaska i izlaska informacija podijeliti na paralelne, serijske i mješovite. U paralelnim memorijama informacije se predaju istovremeno svim jedinicama za pamćenje. To traži da do svake jedinice vodi zaseban vod, što iziskuje mnogo elemenata, pa je stoga skupo. Primjer takve memorije predstavljaju matrice s feritnim jezgricama. Serijskim memorijama predaju se podaci jedan za drugim. Primjer takve jedinice za pamćenje je memorija s magnetskom trakom. U mješovite memorije unosi se istovremeno veći broj informacija, od kojih se podaci za svaku pojedinu informaciju upisuju postupno jedan za drugim. Kao primjer za tu vrstu memorije mogu poslužiti magnetski bubnjevi na kojima se podaci upisuju istovremeno na više staza (v. si. 21).
Karakteristične su veličine za svaku memoriju njezin kapacitet i vrijeme pristupa (zahvata ili traženja). Kapacitet se izražava brojem riječi što ga memorija može zapamtiti. Uz to može se naznačiti još i broj bita u riječi. Ako kažemo, npr., da neka memorija može pamtiti 8192 riječi od kojih svaka sadrži 11 brojeva po 4 bita, to znači da takva memorija može pamtiti 90112 znamenki ili 360 448 bita. (To odgovara memoriji Iskrinog računala Z-23, v. si. 39.) Vrijeme pristupa zavisi od tipa i vrste memorije. Na osnovu toga dijele se memorije na brze i spore. Vrijeme pristupa brzih i paralelnih memorija kreće se, zavisno od vrste memorije, između 10-9 i 10~3 sek, a sporih i serijskih memorija između IO-8 i 10_1 sek.
Da bi podaci koji dolaze iz memorije pridolazili u pravom tempu i stizali u tačno određenom trenutku, kad su potrebni za izvršenje računske operacije, mora i rad memorije biti tačno sinhroniziran s računskom jedinicom. O tome se brine sinhroni- zirajući uređaj svojim impulsima.
Kao što je već ranije rečeno, postoji velik broj različnih memorija koje se u računalima upotrebljavaju za pamćenje riječi. Ovdje ćemo opisati samo neke najznačajnije.
Među elektroničke sklopove idu prvenstveno bistabilni multivibrator i, koji su izrađeni u starijim uređajima s pomoću elektronki, a u novijim uređajima rade s pomoću tranzistora. Ponekad se nazivaju ti uređaji i »flip-flopom«, prema anglo-američkom nazivu. Svaki bistabilni multivibrator sastoji se od dva jednaka i među sobom simetrički spojena elektronička kruga. Dok jedan od njih provodi struju, drugi je zatvoren. Prebacivanje iz jednog stanja u drugo vrši se s pomoću vanjskih impulsa koji se šalju kroz ulaze 61 ili R. Uređaj prebačen u jedno od dva stabilna stanja ostaje u tom stanju dok ga novi vanjski impuls ne prebaci u drugo stanje.
SI. 17. Primjer bistabilnog multivibratora s tranzistorima
320 DIGITALNA RAČUNALA
Takav uređaj je dakle kadar da privremeno pamti jedan binarni znak, 0 ili 1. Na njegovom izlazu pojavljuje se za vrijeme trajanja takvog stanja napon koji odgovara u jednom slučaju bitu 1, a u drugom bitu 0.
Slika 17 prikazuje primjer sheme takvog bistabilnog multivi- bratora sa tranzistorima PNP. Detalji o takvim uređajima iznijeti su u članku Impulsna tehnika. Ovdje će se objasniti uređaj samo u grubim crtama. Pretpostavimo da u trenutnom stanju tranzistor T2 provodi struju. Zbog pada napona na otporniku i?4 vladat će na kolektoru k2 napon blizak nuli, a kroz T2 teći će struja zasićenja. Kolektorski napon prenosi se sa k2 preko otpornika R5 na bazis bx tranzistora T1 i zatvara ga. To je ujedno i osnovno stanje (0) bistabilnog multivibratora. Ako na ulaz damo pozitivan impuls •od nekih +12 V, taj će napon preko kondenzatora C2 i diode kratkotrajno zavladati na bazisu bx i ukopčati tranzistor Tv Zbog toga će narasti napon na kolektoru kj otprilike na 0, što će preko R2 djelovati na bazis b?3 zaustaviti struju kroz tranzistor T2 i time uspostaviti drugo stabilno stanje (1). Pozitivni impuls na ulazu R vratit će uređaj opet u osnovno stanje. Dioda na ulazima sprečava povratnu struju. Umjesto dva ulaza može postojati i samo jedan, kao što je to crtkano prikazano.
Kako elektronski bistabilni sklopovi rade vrlo brzo, u djelićima mikrosekunda, to se oni upotrebljavaju kao sklopni uređaji a ponekad i kao memorija u registrima, a rjeđe u glavnim memorijama računala, jer ih tamo treba mnogo, a skupi su. Simbolički znak za takav uređaj pokazuje si. 18. Bistabilni multivi- bratori mogu da posluže i kao sklopni, odn. logički uređaji.
Magnetske trake idu među najjednostavnije memorije i one se vrlo često upotrebljavaju kao glavne ili dodatne jedinice za pamćenje. One rade u principu na isti način kao magnetofoni sa magnetskom trakom (v. Elektroakustika). Dok se od magnetofonske trake traži da ispravno registrira zvučne titraje do nekih 15 kHz, memorija sa magnetskom trakom mora zapisati i pročitati i do milijun bita u sekundi (si.19). Informacije se ubacuju na traku na koju je nanijet tanak sloj feromagnetskog materijala,:s pomoću glave za upisivanje kojom se magnetizira magnetski materijal u vidu tankih nevidljivih magnetiziranih crtica. Za čitanje služe iste ili zasebne glave u kojima se prilikom prolaza magnetiziranih površina inducira naponski impuls koji se vodi preko pojačala u računalo.Širina trake s jednom stazom iznosi ~ 12 mm. Ukoliko je uređaj predviđen za rad sa više staza — obično se upotrebljava i do 7 staza — vrpca je znatno sira. Da bi se na traci dugoj nekoliko stotina metara mogla pro
ći b
SI. 20. Uređaj za upisivanje i čitanje magnetske trake; a sa slaganjem trake, b s namatanjem trake
naći određena informacija, stavlja se već u toku programiranja ispred svake informacije adresa. Npr. ako instrukcija glasi: »Izvadi iz adrese 420 riječi s argumentima i prebaci je u aritmetičku jedinicu«, uređaj će prilikom odvijanja trake paziti kad naiđe adresa 420 i brojeve koji slijede odvesti kamo treba. Vrijeme pristupa takvih memorija nešto je duže, jer se vrpca mora najprije odmotati do mjesta tražene informacije, mada ona to čini vrlo brzo (si. 20). Na jednu traku može se smjestiti i više milijuna binarnih znakova.
Magnetski bubnjevi rade na istom principu kao i magnetske trake. SI. 21 prikazuje načelni izgled takva bubnja, koji se okreće velikom brzinom, ponekad čak i do 20 000 obrtaja u minuti.
SI. 21. Čitanje i upisivanje na magnetskom bubnju
Na površini bubnja, koja je također prevučena tankim feromagnet- skim slojem, predviđeno je za upisivanje više paralelnih staza, a njima pripada isto toliko glava za upisivanje i čitanje. Na takav bubanj može se smjestiti i do 10 000 binarnih znakova. Kako se bubanj okreće brzo, i vrijeme je pristupa relativno kratko: iznosi u prosjeku svega nekoliko milisekunda. Kapacitet jednog bubnja iznosi nekoliko stotina hiljada bita.
Magnetski diskovi rade na istom principu kao bubnjevi. Diskovi koji su obično izrađeni od aluminij um ske ploče prekrivene fero- magnetskim slojem imaju promjer od ~ 300 mm i mogu se ispisati s obje strane, a može biti predviđeno da se ručno ili automatski izmjenjuju. Magnetski diskovi podijeljeni su na zone (npr. dvije), a zone u pojase (npr. 60). U svaki takav pojas ili stazu može se upisati ~ 50 digitalnih znakova. Ukupni kapacitet obiju strana takva diska iznosi i do 100 000 binarnih znakova. Diskovi se okreću sa više hiljada obrtaja u minuti. Vrijeme pristupa iznosi samo desetke milisekunda. Danas se magnetski diskovi upotrebljavaju vrlo često, naročito u manjim uređajima, i to kao računska i glavna memorija (si. 22).
Memorija s magnetskim jezgricama sastoji se od velikog broja sitnih feritnih prstena oblika i dimenzija otprilike prema slici 23 a.T i se prsteni magnetiziraju s pomoću provučene žice kroz koju kratko vremeno teče struja.Smjer magnetskog toka u jezgri, u odnosu na smjer struje, vidi se na si. 23 b. Feromagnetski materijali od kojih se izrađuju takve jezgrice (v. Magnetizam) imaju skoro pravokutnu petlju histereze (si. 23 c, tačke K 3 L, Ai, N). To će reći, s jedne strane, da će se magnetsko stanje, to jest smjer magnetskog toka, takva prstena promijeniti skokovito čim struja magnetiziranja naraste približno do vrijednosti + / (skok od L na Ai) ili do vrijednosti — I (skokod N na IC). S druge 22. Memorija s magnetskim diskom
SI. 18. Grafički sim bol za bistabilni multivibrator
(flip-flop)
bSI. 19. Princip rada glave za upisivanje i čitanje signala na magnetskoj traci, a Glava i traka, b magnetizirano mjesto
na traci
za pamćenje informacija Trag za sinhronizaciju rada za sinhronizaciju doboša
□ Glava za čitanje
S Glava za čitanje i upisivanje
DIGITALNA RAČUNALA 321
strane preostaje, čim struja magnetizacije nestane, jako velik remanentni magnetizam (P ili R). Upravo s pomoću preostalog magnetizma jezgrica pamti informacije. Svaka jezgrica služi za pamćenje jedne binarne znamenke. Položaj P odgovara bitu 1, a položaj R predstavlja stanje mirovanja i odgovara bitu 0. Za
/c - V
SI. 23. M agnetske jezgrice za memorije, a Izgled i dimenzije, b smjer m agnetskog toka prilikom prolaska struje kroz provučenu žicu, c krivulja histereze za ferite
pamćenje jedne cijele riječi potrebno je, prema tome, toliko jezgrica koliko riječ ima binarnih znamenki.
Magnetske jezgrice postavljaju se u jednoj ravnini u više horizontalnih redova tako da jezgrice svakog reda dolaze jedna ispod druge kao što to shematski prikazuje si. 24 a. Kroz svaku jezgricu provučene su 3 ili 4 žice. Postoji više načina spajanja jezgrica. Jednostavan način takva spajanja prikazan je na si. 24 a. Kroz sve jezgrice svakog horizontalnog reda provučena je po jedna horizontalna žica (X), kroz svaki vertikalni red po jedna vertikalna žica (Y). Sve ove žice X 1 do X n i Yx do Yn služe za magnetiziranje jezgrica. Da bi se magnetizirala neka određena jezgrica u polju (označena crno u slici) šalje se pola struje kroz žicu X 5 a druga polovica kroz žicu Y4. Struja J/2 koja teče kroz jednu žicu nije dovoljna za premagnetiziranje jezgrica, ali struje obiju žica koje prolaze kroz istu jezgricu — a to je samo ta jezgrica koju treba magnetizirati — stvorit će dovoljno jako magnetsko polje za prepo- lariziranje feritne jezgrice. Slanjem struje //2 kroz jednu horizontalnu i jednu vertikalnu žicu vrši se dakle izbor jedne određene jezgrice. Kroz sve jezgrice povučena je još i treća, tzv. signalna žica. U trenutku skokovitog prelaza iz jednog magnetskog stanja u drugo, promjena magnetskog polja inducira u toj žici naponski impuls, koji se nakon pojačanja vodi u druge organe. Da ti impulsi ne bi izlazili i prilikom unošenja podataka u memoriju, u krug ove žice ubačena je dioda koja impulse propušta samo prilikom vađenja podataka. Za brisanje magnetskog stanja i vraćanje jezgrica u osnovno stanje služi ponekad zasebna, četvrta žica, kroz koju prolazi struja — I. Ali u vezi s time postoje i različite druge kom
binacije. Više polja jezgrica, koja nazivamo i matricama, smještaju se u računalu jedna pored druge, kao što to shematski prikazuje slika 24 b.
Prilikom izuzimanja podataka memorija s jezgricama se isprazni. Ukoliko je potrebno da se neki podatak pamti i nadalje, jezgrice se moraju odmah po »pražnjenju« ponovo premagnetizirati.
Memorije sa zadrznim ili usporavajućim vodom su uređaji u kojima se električni impulsi, koji predstavljaju informaciju izra
ženu bitovima, pretvaraju s pomoću magnetostrikcijskih ili pije- zoelektričkih pretvornika u mehaničke titraje koji se šire kroz vod za usporavanje, npr. žicu od nikla ili cijev napunjenu živom, u kome je brzina širenja relativno mala. Na drugom kraju takva voda se mehanički titraji pretvaraju u električke titraje, pojačavaju i opet šalju u ulazni pretvornik. Jednom tako unijeta informacija kruži u krugu koji sačinjavaju: vod za usporavanje, izlazni pretvornik, pojačalo, ulazni pretvornik, vod za usporavanje. Da informacija prevali taj cijeli put, potrebno je nekoliko milisekunda. Za dobivanje informacije iz ovog kruga predviđen je poseban uređaj. U modernim uređajima se zadržni vodovi sa niklom još primjenjuju ali zadržni vodovi sa živom više se ne upotrebljavaju.
Memorije s električkim nabojima slične su katodnim cijevima. Umjesto zaslona takve cijevi imaju izoliranu površinu na koju se s pomoću zrake elektrona na određeno mjesto dovedu električki naboji. Tačke s nabojem i bez njega predstavljaju pojedine binarne znamenke informacije. Ako elektronskom zrakom ponovo pretražimo neku tačku radi utvrđivanja ima li na njoj naboja ili ne, u slučaju da postoji naboj doći će do sekundarne emisije i stvaranja električkog impulsa. Ove memorije se u suvremenim uređajima više ne upotrebljavaju.
Memorije na principu supravodljivosti. Supravodljivošću naziva se pojava da neke tvari, npr. tantal, niob, niob-arsenit i dr., gube na dovoljno niskim temperaturama, u blizini apsolutne nule (0 °K), sav svoj električki otpor i postaju beskonačno pro- vodljive. Temperaturni prag na kojem nastupa ova pojava zavisi još i od magnetskog polja u kome se takav vodič nalazi. Osnovni sastavni dio u kojem se ta pojava iskorištava za memoriju naziva se kriotron. To je 5-*-25 mm duga žica od tantala preko koje je namotan svitak tanje žice od, npr., nioba. Niob prelazi u supra- vodljivo stanje već na 9,9 °K, a tantal na 4,4 °K. Ako se za hlađenje upotrijebi tekući helijum, koji kod isparavanja pri pritisku 1 at ima temperaturu od ~ 4,2 °K, oba metala prelaze u supra- vodljivo stanje s time što se prag prelaska za tantal nalazi samo za ~ 0,2 °K iznad temperature ključanja helijuma. Djelovanjem već relativno slabog magnetskog polja može se tantal opet vratiti u stanje normalne vodljivosti i na taj način može se upravljati jačinom struje koja teče kroz kriotron. Pri tom smjer struje u svitku, odnosno smjer magnetskog polja, nema utjecaja. Od više takvih elemenata sastavljaju se memorije i logičke jedinice slične bistabilnom multivibratoru.Kriotroni služe u tim jedinicama kao bistabilni, pobudni i izlazni sklopovi. Takvi elementi mogu se, dakle, nalaziti u dva stabilna stanja: u stanju supravodljivosti i u stanju normalne vodljivosti.
Struja koju daju na svom izlazu supravodljivi elementi dosta je velika i ne treba je više pojačavati, što je znatna prednost.
Za održavanje tako niskih temperatura potreban je tekući helijum. Primjena uređaja za pravljenje tekućeg helijuma isplati se samo kod većih digitalnih računskih uređaja. Pored mnogih dobrih strana imaju takve ćelije i nedostatak što im je relativno dugo vrijeme pristupa.
Pored opisanih sistema postoje još i drugi uređaji koji rade na elektroničkom, dielektričkom ili magnetskom principu. Od magnetskih memorija valja spomenuti feritne pločice i jezgrice sa više provrta, transfluksore i tankoslojne (thin film) memorije.
UPRAVLJAČKA JEDINICA
Upravljačka jedinica vodi odvijanje računskih operacija na osnovu instrukcija tako da se operacije izvršavaju u ispravnom redoslijedu i u skladu jedna s drugom. Ta jedinica se sastoji od uređaja za dekodiranje instrukcija i generatora signala za upravljanje. Uređaj za dekodiranje sadrži još i registar instrukcija i registar tekućih adresa. Postoje znatne razlike u konstrukciji i veličini upravljačke jedinice različitih vrsta računala. Upravljačke jedinice sastavljene su, kao i aritmetičke jedinice, od logičkih elemenata i od elemenata memorije.
Upravljačka jedinica je samo izvršilac naređenja što ih sadrže pojedine instrukcije programa. Zbog toga je potrebno da se prije
žica od niobija«¿oko 0,01 mm žica od tantala
oko 0,2 mm I« 5 do 25 mm
SI. 25. Shematski prikaz kriotrona
SI. 24. M emorija s m agnetskim jezgricama. a Razmještaj i ožičenje jezgrica u jednoj ravni, b razmještaj jezgrica u memoriji
T E , I I I , 21
322 DIGITALNA RAČUNALA
početka rješavanja nekog problema pošalje u memoriju računala kompletan program, s time da instrukcije budu unijete u ispravnom redoslijedu. O programu i instrukcijama v. članak Digitalna računala, programiranje, ali radi boljeg razumijevanja treba već ovdje reći da instrukcije sadrže: kodirano naređenje za izvođenje određene računske operacije, adrese argumenata s kojima treba provesti operaciju (operanada), adresu u koju treba smjestiti rezultat i adresu memorije u kojoj se nalazi iduća instrukcija. Instrukcije dakle nikad ne sadrže argumente, već samo njihove adrese. Koliko će podataka i koliko adresa biti u riječi koja sadrži instrukcije zavisi od dužine riječi dotičnog računala i njegove konstrukcije.
Upravljačka jedinica izvršava naređenja onim redoslijedom kojim su instrukcije smještene u memoriji. Taj redoslijed se može prekinuti ili izmijeniti s komandnog pulta, ako se da naređenje za preskok na neko drugo mjesto u programu ili za prelazak na neki drugi program.
U nastavku se opisuje u glavnim crtama kako se odvija rad u upravljačkoj jedinici (si. 26). S pomoću registra tekuće adrese traži se nova instrukcija. Ona se dovodi u registar instrukcija gdje se pamti. Bitovi koji predstavljaju kodirano naređenje za određenu matematičku operaciju, npr. »izvrši zbrajanje«, vode se u uređaj za dekodiranje, a adresni dio instrukcije služi zato da riječ s operandom iz naznačene adrese bude prebačena u registarsku memoriju aritmetičke jedinice. Prema tome tri osnovne funkcije registra instrukcija i registra adresa jesu: određivanje adrese koja je potrebna u idućoj fazi, praćenje i upravljanje normalnim slijedom radnji instrukcije i eventualno preskok i prelaz na ano- malni slijed instrukcija. Pri kraju svake faze adresni registar izračunava novu adresu instrukcije a registar instrukcija se vraća u osnovni položaj.
Upravljanje nekom aritmetičkom operacijom počinje u uređaju za dekodiranje. Ulazni signal za taj uređaj čine bitovi iz registra instrukcija. Na osnovu primljenog naređenja, npr. »izvrši množenje«, dekoder daje određeni signal za predviđenu operaciju. Svaka kompliciranija operacija sastoji se od više faza, npr. za dijeljenje može biti potrebno i više od 20 faza. Jednostavni signali, koji ne traže više faza rada, idu pravo u aritmetičku jedinicu, naređenja za složenije operacije idu prethodno u generator signala koji ima zaseban ulaz za svaku pojedinu operaciju i koji daje za aktiviranje pojedinih sklopova u aritmetičkoj jedinici signale tačno raspoređene po fazama rada.
Riječ s instrukcijom iz memorije
SI. 26. Blok-shem a upravljačke jedinice
Osim toga što treba u računalu tačno sinhronizirati pojedine faze, valja i radu računala dati određen tempo rada, u kojem će se izvršiti pojedine radnje. Jedna faza za drugom izvršava se npr. svakih nekoliko mikrosekunda. Za upravljanje tempom služi specijalni satni oscilator od npr. 1 MHz, koji svojim impulsima regulira brzinu rada i time usklađuje rad cijelog računala preko upravljačke jedinice.
Takva računala nazivamo sinhronim računalima. U tzv. asin- hronim računalima služe za vremensko usklađivanje rada zadržni
vodovi, preko kojih završetak jedne radne faze pokreće izvršenje iduće instrukcije.
ARITMETIČKA JEDINICA
Aritmetička jedinica je dio računala koji vrši računske operacije s brojevima. Ona prima operande, tj. brojeve s kojima treba izvršiti neku računsku operaciju, neposredno iz glavne memorije, a naređenja za izbor određene računske operacije i naređenja za njezino izvršenje prema instrukciji stižu joj posredno, iz upravljačke jedinice. Aritmetička jedinica se sastoji od logičkih sklopova i internih memorija koje nazivamo akumulatorom i registrima.
Memorija
Aritmetska jedinica
1-kPMParalelno računalo
SI. 27. Blok-shem a serijskog (gore) i paralelnog (dolje) računala
Normalno se prebacuje iz memorije u računalo odjednom samo jedna riječ koja sadrži argument (si. 27). U serijskim računalima ta se riječ prenosi bit po bit u tekućem slijedu. U paralelnim računalima prebacuju se odjednom svi bitovi jedne riječi iz memorije u registar i obratno. Na taj isti način obavljaju se i računske operacije. U serijskim uređajima je za izvršenje određene operacije dovoljan samo mali broj računskih organa, koji je nezavisan od broja mjesta operanda. Ovakvi uređaji su stoga manji i jeftiniji, ali njihov rad traje dulje. Paralelna računala moraju imati toliko logičkih i memorijskih jedinica koliko operand ima mjesta. Stoga takvi uređaji rade znatno brže od serijskih, ali su i mnogo veći i skuplji. Postoje i mješoviti, serijsko-paralelni sistemi.
Operandi kojima se vrše računske operacije izraženi su s pomoću binarnih brojeva ili binarno kodiranih decimalnih brojeva. Stoga se mora u računalima primijeniti i binarna aritmetika. Ovdje se dakle ne radi više o računskim operacijama u običnom smislu, niti se govori više o brojevima, već o nekontinuiranim ili diskretnim promjenljivim veličinama kojima se bavi posebna disciplina matematike, tzv. Booleova algebra simboličke logike (v. Logika). Da bi se mogao shvatiti rad aritmetičke jedinice, njenih logičkih organa i internih memorija, treba se najprije ukratko upoznati s osnovama algebre logike i njezinim najvažnijim funkcijama.
Algebra logike. Pri računanju binarnim brojevima ne upotrebljavaju se oni računski postupci koji se primjenjuju pri radu s decimalnim brojevima, već se upotrebljavaju računske operacije algebre logike, koje nisu istovjetne sa četiri osnovne operacije što ih vršimo s decimalnim brojevima. Tri osnovne funkcije algebre logike s pomoću kojih se mogu izraziti i sve ostale logičke funkcije i provesti sve osnovne matematičke operacije jesu: negacija, konjunkcija i disjunkcija. Prema tome moraju i logički sklopovi od kojih su sastavljene računske jedinice digitalnih računala, a s pomoću kojih se vrše sve logičke računske operacije, imati svojstva tih osnovnih funkcija algebre logike i posjedovati dvovrednosna, a memorije i bistabilna stanja. Postoji mnogo mehaničkih i električkih sklopova i sastavnih dijelova koji imaju takva svojstva. Oni mogu raditi na čisto mehaničkom, elektromehaničkom, električkom ili elektroničkom principu. Ovamo idu
DIGITALNA RAČUNALA 323
T a b l i c a 4PR IM JER I E L E K T R IČ N IH SK L O P O V A ZA O S T V A R E N JE T R IJ U O S N O V N IH L O G IČ K IH F U N K C IJA
R e a l i z a c i j a s p o m o ć u : r e I e j a d i o d a t r a n z i s t o r a e I e k t r o n k i
F u n kcija:
N e g a c i j a , i n v e r z i j a (NE - fu nk ci ja) Y=A
'm1/(1) ° IR I *1/0)
J Ti 1im X | mUlaz - + Izlaz
K o n j u n k c i j a
f l - f u n k c l j e O 2" ° 3*
umI
Y-A-B° UH1) >
J .mrJ 4
Izlaz IU( 0) {
U(1)Juiazi(/(0)
Y-A-BU(1)
J1/(0)
Izlaz
*1/(1)
In k l u z i v n a d i s j u n k c i j a
( I L I - f u n k c i j a ) A______ Y=A+B
h J
Ulazi JL-
npr. pneumatski mehanizmi, elektromehanički i električki releji, sklopovi s elektronkama, tranzistorima i diodama.
Valja imati na umu da Booleove funkcije u svojoj suštini predstavljaju samo logičko rezoniranje o tome da li je neka tvrdnja tačna ili ne. U računalima je broj pretpostavki o kojima se raspravlja malen, jer su tu prvenstveno posrijedi samo naponi koji vladaju na ulazima u neki logički organ, jer su sve riječi s argumentima i instrukcijama predstavljene slijedovima dvaju različitih napona (0 i 1). Prema tome će se u računalu postaviti npr. pitanje: »Da li na ulazu A nekog logičkog organa vlada ili ne vlada napon od1 V?« i računalo daje kao odgovor tvrdnju: »u A vlada naponod IV« ili »u A ne vlada napon od IV«. Umetanjem riječce NE u neku tvrdnju i riječce I ili ILI između dvije tvrdnje dobivaju se iz jednih tvrdnja nove tvrdnje (postavke), dobivaju se različite logičke funkcije prvobitnih argumenata. Tako npr. predstavlja primjer disjunktivne funkcije tvrdnja: »Ako na ulazu A IL I na ulazu B nekog logičkog organa vlada napon od 1 volta, tajće napon vladati i na njegovom izlazu«.
Simbolički znakovi što se primjenjuju u algebri logike ponešto odstupaju od uobičajenih računskih simbola. Osnovne postavke, tj. osnovne promjenljive, označavaju se obično velikim početnim slovima abecede: A , B3 itd., za kombinirane postavke pišemo obično posljednja velika slova abecede: X s Y3 Z, ili pak f(A 3 B).
Nakon ovog općeg uvoda obradit ćemo detaljnije tri osnovne funkcije logike: negaciju, konjunkciju i inkluzivnu disjunkciju, i razmotriti električke ili elektroničke sklopove kojima se one mogu u praksi realizirati. Pregled takvih električkih i elektroničkih naprava prikazuje tablica 4.
Negacija (NE-funkcija) je funkcija algebre logike koja ima uvijek vrijednost suprotnu, tj. komplementnu, vrijednosti argu
o——I i I OC ¿ 0— ------oc A O ° C
A = C
b
A= C
d
menta. Negacija se označava crticom iznad argumenta pa je f neg(A) — A. Prema tome, ako je A = 1, funkcija negacije je A — 0, a ako je A — 0, negacija iznosi A — 1. Grafički simbolički znakovi koji se upotrebljavaju za funkciju negacije i za naprave kojima se može iz promjenljive dobiti njezina negacija prikazani su na si. 28.
Iz prvog reda tablice 4 vidi se da se funkcija negacije može realizirati s pomoću naprava koje sadrže releje s mirnim kontaktom, tranzistore ili elektronke. Pozitivni impuls (1) aktivira preko ulaza A relej R koji zbog toga privuče svoju kotvicu i time otvori mirni kontakt r. Time pozitivni napon, koji je dotada vladao na izlazu, spadne na nulu. Isto tako će pozitivan impuls na bazisu NPN-tranzistora otvoriti tok struje kroz tranzistor, pa će zbog pada napona na otporniku R na izlazu zavladati negativniji napon, čime se dobiva na izlazu impuls suprotnog smisla. Slično i pozitivni impuls na ulazu sklopa s elektronkom daje na izlazu negativan impuls.
Konjunkcija (I-funkcija) je funkcija dvaju argumenata. Ona ima vrijednost 1 samo ako su i jedan i drugi argumenat jednaki 1. Sva četiri slučaja koja mogu da nastupe na konjunktivnim sklopovima (a do đ) prikazuje tablica 5.
T a b l ic a 5
a b c d
U laz A 0 1 0 1
U laz B 0 0 1 1
Izlaz X 0 0 0 1
SI. 28. Grafički sim boli za negaciju, a Sim bol za funkciju negacije, 6· simboli za prikazivanje logičkih uređaja negacije
Konjunkcija se označava simbolom »·« ili »&«. Prema tome je A o n ( A , B) — A · B = A & B. Simbolički znak za funkciju ko- njunkcije i za prikazivanje konjunktivnog sklopa prikazan je na si. 29. Za izvršenje logičke operacije koja odgovara funkciji konjunk- cije mogu se upotrijebiti različite naprave s relej ima, diodama, tranzistorima ili elektronkama, od kojih su nekoje prikazane u
324 DIGITALNA RAČUNALA
drugom redu tablice 4. Radni kontakti r i s releja R i 5 vezani su u seriji. Na izlazu dobit će se pozitivan napon (1) samo kad se zatvore oba kontakta, što će se desiti kad se i na ulazu A i na ulazu B pojavi pozitivan napon (1), koji će aktivirati oba releja istovremeno.
SI. 29. Grafički sim boli za konjunkciju. a , b , c Sim boli za funkciju konjunkcije, d, e sim boli za logičke uređaje konjunkcije
Nadalje, obje diode propuštaju struju samo u smjeru strelice. Dok na ulazima A i B vlada napon nula (0), struja koja teče preko otpornika R stvarat će na njemu pad napona, zbog čega će na izlazu vladati niski napon (0). Čim se pojavi na oba ulaza pozitivan napon (1) jednak naponu izvora £/, struja prestaje teći, nestaje pad napona i na izlazu se pojavljuje pozitivan napon izvora (1).
Da bi se postigla konjunkcija sklopom s elektronkama ili tranzistorima, potreban je kompliciraniji sklop. U tabl. 4 prikazan je kao primjer sklop s elektronkama. Anode izlaznih elektronki Ed i £ 4, na koje je spojen izlaz, vezane su na zajednički otpornik R s . Dok bar jedna od njih propušta struju, na izlazu će, zbog pada napona na otporniku R3} vladati niži napon U(0). Međutim, čim nijedna od elektronki Ez i Ex više ne propušta struju, izlazni napon naraste na vrijednost £7(1). Zatvaranje izlaznih elektronki vrše elektronke E1 i E% inverzijom pozitivnih ulaznih napona U{1).
Inkluzivna disjunkcija (ILI-funkcija) je također funkcija dvaju argumenata A i B. Ona je jednaka 1 samo kad je bar jedan od oba argumenta (jedan ili oba) jednak 1. Svi mogući slučajevi koji mogu nastupiti na disjunktivnim sklopovima (a do d) prikazani su u tabl. 6.
T a b l ic a 6
a b с d
U laz A 0 1 0 1
U laz В 0 0 1 1
Izlaz X 0 1 1 1
Simbolički se disjunkcija označava znakom » + « i l i»V <s pa je f dls(A, B) = A + B = A \ J B . Grafičke simbole za disjunk- tivne funkcije i za disjunktivni sklop prikazuje si. 30. (Znak V
a b с d e f
SI. 30. Grafički sim boli za disjunkciju. a, b, c Sim boli za funkciju disjunkcije, dy e, f sim boli za logičke uređaje disjunkcije
potječe od lat. »vel«, što znači »ili« u inkluzivnom smislu, tj. u smislu i/ili.)
Za izvršenje logičkih operacija koje odgovaraju funkciji disjunkcije mogu se upotrijebiti sklopovi s relejima, diodama, tranzistorima i elektronkama. Nekoliko takvih sprega prikazano je u posljednjem retku tablice 4. Radni kontakti r i s releja R i 5 spojeni su paralelno. Na izlazu dobiva se pozitivan napon (1) kad se pojavi pozitivan napon na bilo kojem od ulaza A ili B. Priključi li se pozitivan napon (1) na ulaz A ili B diodnog sklopa, struja će teći u smjeru strelice i na otporniku R pojavljuje se pad napona, što ima za posljedicu pozitivan napon na izlazu. Ako se na ulaze A ili B tranzistorskog PNP-sklopa sa dva paralelna PNP-tranzi- stora priključi negativan napon, proteći će kroz dotični tranzistor struja, na otporniku R pojavit će se pad napona, a na izlazu negativan napon. Isto tako dobit će se na izlazu sklopa sa dvije paralelne elektronke pozitivan napon zbog pada napona na otporniku R kad se na rešetku jedne ili druge elektronke priključi pozitivan napon.
Osim spomenutih triju osnovnih logičkih funkcija ima i drugih (ukupno ih se, zajedno s osnovnim, navodi 16), ali se svaka od njih može prikazati kombinacijom nekih od triju osnovnih funkcija. Ovdje će se navesti još jedna funkcija koja se primjenjuje u digitalnom računalu: ekskluzivna disjunkcija.
Ekskluzivna disjunkcija (ekskluzivna ILI-funkcija) je funkcija dvaju argumenata A i B. Ona ima vrijednost 1 samo ako ili A ili B ima vrijednost 1 (ne oboje!). (To značenje izražava latinska riječ »aut« za »ili«.) Tablica 7 prikazuje slučajeve koji mogu nastupiti na ekskluzivnodisjunktivnim sklopovima.
T a b lic a 7
a b с d
U laz A 0 1 0 1
U laz В 0 0 1 1
Izlaz X 0 1 1 0
Simbolički se ekskluzivna disjunkcija označava znakom v ili <=|=>Logički sklopovi opisani su podrobnije u članku Impulsna
tehnika.Osnovne računske operacije s pomoću funkcija algebre logike
vrše se, naravno, na nešto drukčiji način nego s pomoću decimalnih brojeva, ali se može odgovarajućom kombinacijom logičkih funkcija izvesti bilo koja osnovna matematička operacija.
Računske operacije s binarnim brojevima. U računalima izvode se četiri osnovne aritmetičke operacije, na koje se prilikom programiranja svode i sve ostale kompliciranije računske radnje. Te operacije ne izvode se računalima na isti način kao s decimalnim brojevima, već se vrše s pomoću binarnih brojeva i postupaka algebre logike. Razmotrit ćemo ukratko kako se odvijaju te računske operacije i kakvi su logički sklopovi koji u različitim vrstama računala služe za tu svrhu.
Zbrajanje binarnih brojeva vrši se olovkom na analogan način kao zbrajanje decimalnih brojeva, s time da se ovdje mora izvršiti prijenos na više mjesto kad se zbroj popuni na binarno 10 (= decimalno 2). Za binarne brojeve važi naime da je: 0 4- 0 = 0,0 + 1 = 1, 1 + 0 = 1 i 1 + 1 = 10 (binarno). Zbrajanje brojeva 25 i 26 izgledalo bi u binarnom sistemu ovako:
11001 (= decimalno 25)+ 11010 (= decimalno 26)
110011 (= decimalno 51)Zbrajanje u računalima uz primjenu funkcije logike izvodi
se drukčije. Razmotrit ćemo najprije koje sve vrijednosti može imati zbroj dviju binarnih znamenki A i В na bilo kom mjestu nekog broja.
T a b l ic a 8
A в Zbroj Prijenos
0 0 0 00 1 1 01 0 1 01 1 10 1
Iz prednje se tablice vidi da ona odgovara (za zbroj) tablici ekskluzivne disjunkcije. Sklop kojim se može takva funkcija realizirati dobiva se kombinacijom sklopa s karakteristikom disjunkcije i sklopova s karakteristikom drugih osnovnih logičkih funkcija. Nadalje se vidi iz podataka tabl. 8 da se bit 1 pojavljuje kao prenos jedino u slučaju kad su obje promjenljive A i B jednake 1. Iznos prenosa može se dakle dobiti sklopom koji ima karakteristike kon- junktivne funkcije (v. tabl. 5). Računski sklop koji ima karakteristike ekskluzivne disjunkcije i konjunkcije može dakle poslužiti za zbrajanje, a naziva se poluzbrajačem ili polusumatorom. Postoji više izvedbi polusumatora; slika 31 pokazuje dvije takve moguće sprege.
Da bi se binarne brojke svakog mjesta mogle po redu zbrajati, potrebno je zbroju tekućih dviju brojaka dodati još i prenos sa prethodnog mjesta. Prvi dio zadatka vrši prvi polusumator,
DIGITALNA RAČUNALA 325
An E
dZbrajač
nZbrajač
T i - T jSn S3
ЯZbrajač
UZbrajač
S2
rezultat
[ 1]00000-f '—► 1
00001
Komplement se dobiva tako da se u suptrahendu na mjesto svakog bita 0 stavi bit 1, a na mjesto svakog bita 1 bit 0. U računalima dobiva se komplement obično s pomoću sklopa za inverziju npr. tako da se na jedan ulaz sprega s karakteristikom funkcije ekskluzivnog ILI daje uvijek 1. Za odbijanje je dakle potrebno predvidjeti odgovarajuće organe za komplementiranje u memoriji registra koji sadrži suptrahend. Da bi se postojeći sumator mogao upotrijebiti za odbijanje, potrebno je predvidjeti u prvom zbra- jaču (pri paralelnom radu) spregu za zbrajanje ostatka sa posljednjeg mjesta, kao što to prikazuje si. 33.
Množenje binarnih brojeva vrši se prema ovoj tablici množenja: 0 x 0 = Oj 0 x 1 = 0, 1 x 0 = 0 i 1 x 1 = 1. Olovkom se binarni brojevi množe slično kao decimalni. U računalima može se množenje izvesti na više načina. Mi ćemo ovdje opisati množenje na principu uzastopnog zbrajanja uz pomicanje mjesta; taj se način množenja često primjenjuje u serijskim računalima. Kao primjer uzet ćemo opet decimalne brojeve 25 i 26 i prikazati kako se množe rukom a kako serijskim računalom.
Računanje rukom:11001 x 11010 ( = decim alno 25 i 26) 00000
11001 00000
11001 11001
Računanje serijskim računalom: 11001 X 11010 00000
11001110010
000001010001010 ( = decim alno 650) Produkt 110010
1100111111010
110011010001010 Produkt
SI. 31. Poluzbrajač. a Princip rada ¿>, c dvije izvedbe poluzbrajača kom binacijom osnovnih sklopova
a drugi dio zadatka, drugi polusumator. Oba polusumatora predstavljaju jednu jedinicu koja se zajedno naziva sumator om ili zbra- jačem. U paralelnim računalima se sumatori spajaju paralelno, pa ih u tom slučaju ima koliko i mjesta (si. 32). Serijska računala imaju samo jedan sumator, kroz koji prolaze brojke svakog broja po redu zdesna nalijevo.
SI. 32. Zbrajanje u paralelnom računalu. Za svako m jesto postoji zaseban zbrajač, a svi rade istovremeno
uz prenošenje
Odbijanje binarnih brojeva vrši se po pravilu: 0 — 0 = 0, 1 — 0 = 1 , 1 — 1 = 0 i (binarno) 10 — 1 = 1. Ako za računanje olovkom uzmemo kao primjer opet dva ista decimalna broja 26 i 25, dobivamo:
11010 (= decimalno 26)— 11001 (= decimalno 25)
00001 (= decimalno 1)
Da bi se mogao upotrijebiti isti organ računala za zbrajanje i za odbijanje, u računalima se odbijanje obično ne vrši direktno, već zbrajanjem minuenda i komplementa suptrahenda s time da se prenos koji ostane na posljednjem mjestu (prvom slijeva) pribroji prvom mjestu (zdesna) kao što to pokazuje ovaj primjer:
m inuend 11010 ( = decimalno 26)kom plem entsuptrahenda + 00110
Prema tome mogu se za množenje upotrijebiti isti organi kao i za zbrajanje, ako su osposobljeni za pomicanje mjesta.
Za množenje paralelnim računalima ne može se primijeniti paralelni rad kao za zbrajanje i odbijanje. Međutim, radi skraćenja postupka se ipak primjenjuju različiti specijalni postupci.
Dijeljenje može se vršiti analogno množenju s time da se uzastopno odbija divizor od dividenda i da se mjesta pomiču u suprotnu stranu. Obično se, međutim, dijeljenje u serijskim računalima vrši po sasvim drugom principu, naročito ako je divizor £> veći od dividenda N. U tom slučaju dobiva se kvocijent opet postupnim odbijanjem s time da se dividend, i kasnije ostaci, prethodno uvijek pomnože sa 2, po shemi Qx = 2N — D, Q2 = = 2N' —D itd., dok ostatak ne postane manji od nule. Tada se dvostrukom iznosu ostatka pribraja D. Paralelnim računalima vrši se dijeljenje također po specijalnom postupku uz primjenu odbijanja i zbrajanja čim je ostatak manji od divizora.
Provođenje računskih operacija računalom. Rad računala za vrijeme trajanja jedne instrukcije za zbrajanje može se općenito podijeliti na 4 radne faze:
Prva faza: Na osnovu adrese dobivene iz instrukcije poziva dekodirajući uređaj s pomoću odgovarajućeg signala iz memorije I argument i smješta ga u akumulator koji ga privremeno pamti.
Druga faza: Na isti način poziva se II argument, a istovremeno se naređuje odgovarajućim signalom iz generatora signala
SI. 33. Primjer sumatora. a Princip, b izvedba sumatora kombinacijom osnovnih sklopova ( K ulaz prenosa sa zadnjeg m jesta, Ci izlaz prenosa s
prvog m jesta , S i zbroj prvog mjesta)
326 DIGITALNA RAČUNALA
izvršenje operacije. Rezultati se stavljaju u dio akumulatora koji se u međuvremenu ispraznio.
Treća faza: Rezultat se prebacuje iz akumulatora u memoriju na adresu predviđenu instrukcijom.
Četvrta faza: Utvrđuje se adresa iduće instrukcije i pamti u registru tekućih adresa u upravljačkoj jedinici.
Ove faze važe u principu za svaku od 4 osnovne računske operacije s razlikom da je razmještaj pojedinih veličina u pojedine memorije za različite operacije ponešto različit (tablica 9):
T a b l ic a 9
M emorija
Registar
Akumulator
X-registar
Zbrajanje Odbijanje
adend
augend i zbroj
suptrahend
m inuend i razlika
M noženje Dijeljenje
multiplikand
produkt
multiplikator
divizor
dividend
kvocijent
SI. 34 prikazuje jedno od mogućih rješenja za aritmetičku jedinicu paralelnog računala. Ona se sastoji od tri interne memorije: akumulatora, registra za pamćenje i X-registra, nazvanog ponekad i multiplikatorsko-kvocijentnim registrom. Nadalje se
registar zapamćenje
Akumulator / - r e g is ta r
%Er-3̂"
% -*4
b—5̂
Be~A7-
b —Ag-
B b~A§-
5 g —
Ai0Bw~
—Si - S 2
—S3
---- S4
—S5 —s6
—S7
-S8\-s .
SI. 34. Shematski prikaz aritmetičke jedinice, a Interne memorije i logički p re - klopni sklopovi (prikazani su samo preklopni sklopovi za posljednje m jesto
brojeva, A x i B J , b blok-shema pripadajućeg zbrajača
ona sastoji od logičkih sklopnih krugova i zbrajača. U shemi primjera računala koje je predviđeno za riječi od svega 10 bita ucrtani su logički krugovi samo za posljednje mjesto. Krugovi za ostala mjesta izgledaju analogno.
Zbrajanje se odvija na prikazanom primjeru računske jedinice ovako: Prvi argument (augend) koji se sastoji od 10 bita ([B1 do Z?10) prebacuje se u toku prve faze iz memorije u akumulator, drugi argument (adend) koji se sastoji od 10 bita (Ax do A10) prebacuje se u toku druge faze u registar za pamćenje. Impuls iz upravljačke jedinice kojim se naređuje zbrajanje aktivira preko disjunktivnog sklopa bistabilni multivibrator označen za + , koji na osnovu toga svojim + -naponom aktivira oba konjunktivna sklopa i time omogućuje da preko njih bitovi A 1 i Bx iz obiju internih memorija stignu do zbrajača. Taj isti napon ujedno preko R-ulaza bistabilnih multivibratora akumulatora briše njihov sadržaj i vraća ih u osnovni položaj, čime je akumulator ispražnjen. Rezultat S1 dobiven iz zbrajača prebacuje se u akumulator koji je u međuvremenu ispražnjen.
Odbijanje vrši se analogno zbrajanju, s tom razlikom da upravljačka jedinica šalje osim signala za zbrajanje još i signal za komple- mentiranje. Ovaj impuls na S-ulazu multi vibratora K izaziva na njegovom izlazu + -napon (1) s pomoću kojeg se u invertorskom sklopu vrši komplementiranje bita A x prije nego što ide u zbrajač. Završni prenos ubacuje se preko i?-ulaza multivibratora K u prvi zbrajač.
Pri množenju nalazi se multiplikand u registru za pamćenje, a multiplikator u X-registru; akumulator je na početku prazan.
Prema sklopu koji prikazuje primjer obavlja se množenje uzastopnim zbrajanjem uz pomicanje mjesta. Sklop za pomicanje nije na slici prikazan. Pomicanje brojeva vrši se u akumulatoru i u X-registru tako da se multiplikator nakon svakog pomicanja skraćuje za jednu brojku, s time da na posljednjem mjestu (X^ stoji brojka koja upravo množi. Ako je ta brojka 0, vrši se samo pomicanje; ako je jednaka 1, vrši se najprije pomicanje pa zbrajanje multiplikanda iz registra za pamćenje s pomaknutim brojem. Taj se postupak opetuje do 10 puta. S obzirom na to da umnožak može imati i do 20 mjesta a akumulator u kome se pamti produkt ima samo 10 mjesta, uređaj je napravljen tako da se akumulator produžuje u X-registar. Zbrajanje se realizira na taj način da će pozitivan napon, ako je posljednji bit u X-registru 1, aktivirati preko disjunktivnog sklopa bistabilni multivibrator sa oznakom + , kao pri zbrajanju.
Dijeljenje vrši se ovakvim uređajem analogno kao i množenje, s time da se umjesto pomicanja udesno vrši pomicanje ulijevo, a umjesto zbrajanja, odbijanje. Divizor se nalazi u tom slučaju u registru za pamćenje, dividend u akumulatoru, a kvocijent u X-registru.
Ostale računske operacije dobijaju se programiranjem uz primjenu opisanih osnovnih operacija.
NEKA SPECIJALNA RAČUNALA
Naprijed je opisano računalo za opću primjenu koje može da rješava i komplicirane računske probleme. Zbog toga i imaju računala te vrste jako razvijene računske jedinice i jedinice za pamćenje. Računala za specijalne namjene sastavljena su uglavnom od istih osnovnih organa, s tom razlikom da će neki od tih organa biti znatno manji i jednostavniji, a drugi će ponekad sasvim otpasti. Specijalna računala se naime uvijek prilagođuju konkretnom zadatku. Njihova je karakteristika, naročito kad se primjenjuju u privredi i industrijskim procesima, da imaju obično velik broj ulaza i izlaza. Ako se pojave i u tim oblastima neki kompliciraniji računski problemi, ide se na integraciju specijalnih računala s računalima za opću primjenu. U nastavku dat će se samo kratak opis nekih specijalnih računala, jer će računala za obradu podataka biti obrađena u ovoj enciklopediji na drugom mjestu (v. Obrada podataka).
Digitalni diferencijalni analizator (DDA) služi za izračunavanje neke funkcije tačka po tačku. Često se naime s pomoću analognih računala ne može postići dovoljna tačnost, pa se primjenjuje ovo malo i jeftino računalo.DDA izračunava postepeno vrijednosti neke funkcije uzastopnim diferencijalnim zbrajanjem. To je izraženo u općem obliku jed- nadžbom: y(xi+1) = y(x,) + (y)xi.Pri tom je važno da se y izračunava naročito jednostavno. Ovaj uređaj radi bez instrukcije i programa u memoriji. Program se postiže odgovarajućim spajanjem pojedinih organa. Osnovna računska jedinica analizatora DDA sastoji se od sklopa za zbrajanje ili odbijanje, akumulatora i brojača i vidi se na si. 35. Radi rješenja određenog zadatka može se i više takvih sklopova spojiti u red.
Računala za upravljanje proizvodnim dinamičkim procesom donose u toku proizvodnje odluke o tome treba li neku radnju izvršiti ili ne. Ove se odluke donose na osnovu izmjerenih veličina. Tako treba npr. donijeti odluku da se neki spremnik isprazni kad je pun, ili da se pomiješa jedan rastvor s drugim kad je skupljena pogodna količina ili postignuta pogodna temperatura. Takav uređaj imat će zasebne organe za svaku radnju i signalni generator kojim se na daljinu aktivira izvršenje ako ulazni signal daje zadovoljavajući rezultat. Shemu ovakva uređaja pokazuje si. 36. Ulazni organi su pretvarači mjernih podataka i oni od njih
Zbroj
I" AkumulatorU
r -Ax
mB rojilo
SI. 35. Osnovna računska jedinica digitalnog diferencijalnog analizatora. Svaki prijenos aktivira brojilo i povećava iznos funkcije
u brojilu za jedinicu
DIGITALNA RAČUNALA 327
sačinjavaju riječi, a izlazni signali aktiviraju signalni generator kojim se aktiviraju izvršni organi (npr. otvaranje ventila) s pomoću servo-uređaja. Računski postupak se sastoji u tome da se ulazne riječi s izmjerenim veličinama upoređuju s riječima (prvom i drugom) koje propisuju granične uvjete. Ovo upoređivanje nastavlja se dok se ne dobiva zadovoljavajući rezultat. Memorija mora biti samo tolika koliko je potrebno za pamćenje riječi koje sadrže izmjerene i propisane veličine i još neke druge podatke. Kad
upoređenje zadovoljava, izuzima se na odnosnoj adresi naređenje za izvršenje. Program, koji se samo rijetko mijenja, unosi se izravno preko pulta za upravljanje.
Slično su izrađena i računala kojima se prati neka situacija, npr. u zraku oko aerodroma. Podaci ulaze u tom slučaju automatski preko radara.
Računala za rješavanje problema u privredi prilagođena su opet problemima što ih postavlja skladišna služba, inventura, potrošnja rezervnih dijelova, održavanje bankovnih konta, bilansa, itd.
Hibridna elektronska računala predstavljaju kombinacije digitalnih i analognih računala (v. Analogno računalo). U takvim kombinacijama digitalna računala služe za kontrolu podataka analognih računala u pojedinim fazama procesa proračuna, za analizu rezultata i za proračun određenih funkcija i dodavanje tih podataka analognom računalu.
Najčešće se upotrebljavaju ove kombinacije digitalnih i analognih računala: a) kombinacija digitalnog računala s diferencijalnim analizatorom, koji predstavlja posebnu vrstu analognog računala za rješavanje diferencijalnih jednadžbi; b) kombinacija analognog i digitalnog računala i c) sistem integriran od analognog i digitalnog računala sa diferencijalnim analizatorom. U kombinaciji a) postiže se znatno povećanje brzine rješavanja diferencijalnih jednadžbi. U kombinaciji b) služi digitalni dio računala za logičko upravljanje, promjene programa, za pamćenje funkcija, rezultata i tabelarnih podataka i, konačno, za izvođenje aritmetičkih proračuna velikom tačnošću.
Hibridna računala su vrlo skupa i primjenjuju se stoga samo pri rješavanju vrlo značajnih zadataka, kao što su npr. proračuni putanja raketa i satelita i drugi proračuni u vezi sa svemirskim letjelicama.
PRIMJENA DIGITALNIH RAČUNALA I SISTEMA
Digitalna računala i digitalni sistemi primjenjuju se danas u mnogim granama čovjekove djelatnosti, kao što su privreda, industrija i nauka. Njihova afirmacija u najrazličitijim vrstama posla postaje iz dana u dan veća. Tome pridonose njihova osnovna svojstva: vanredna brzina kojom vrše računske operacije (i po više hiljada u sekundi), velika tačnost i pouzdanost pri računanju i mogućnost da se njima obradi vrlo velik broj podataka. Digitalna računala postala su danas prijeko potrebni instrumenti svugdje tamo gdje se radi o brzom rješavanju kompliciranih matematičkih problema.
Elektronička računala afirmirala su se najprije u mnogim granama tehnike i nauke, a tek kasnije u privredi. S pomoću digitalnih računala može se riješiti svaki zadatak koji se može prika
zati u vidu računskog ili neračunskog algoritma, tj. programa sastavljenog od slijeda operatora, u slučaju da algoritam radi s operatorima za koje je predviđeno računalo. S digitalnim računalima mogu se rješavati brojni i opsežni zadaci s područja numeričke analize, a također nearitmetički zadaci, o čemu će biti riječi malo kasnije. Za naučne i tehničke proračune u vezi s projektiranjem u građevinarstvu, mašinstvu, elektronici i drugim granama tehnike digitalno je računalo postalo neophodno pomoćno
sredstvo naučenjaka, inženjera i konstruktora.
U nastavku razmotrit će se neka područja primjene takvih računala.
Numerička analiza. Digitalno računalo opće primjene predviđeno je u osnovi za rješavanje zadataka iz numeričke analize. Svaki matematički problem treba u toku programiranja rastaviti u slijed zbrajanja, odbijanja, množenja i dijeljenja, za što je do danas već razrađeno mnoštvo metoda i formula. Među najznačajnije numeričke zadatke koji se mogu rješavati s pomoću digitalnih računala idu: rješavanje simultanih linearnih jednadžbi, algebarskih i transcen- dentnih jednadžbi, evolucija funkcije s pomoću polinomskih aproksimacija, inte
gracija, diferencijacija, rješavanje diferencijalnih jednadžbi i dr.U statističkoj analizi dobiva primjena digitalnih računala sve
veće značenje. Ovamo idu npr. jednostavna korelacija, parcijalna korelacija I i II reda, autokorelacija i spektralna analiza. Statistička analiza pruža također sve veće mogućnosti u planskim proračunima i u ekonomici.
Nenumerički problemi. Digitalna računala mogu se upotrijebiti i pri rješavanju problema čiji rezultati nemaju numerički oblik. Među takve probleme idu: logika, igre, jezični prijevodi, traženje literature itd. U ovakvim problemima traže se prvenstveno logičke operacije i spektar rezultata.
Logika je područje koje zasjeca u samo bivstvo računala i njegovo djelovanje. Problemi te vrste pojavljuju se npr. u automatskom programiranju i u automatici uopće. S pomoću postojećeg računala može se isprojektirati konstrukcija nekog novog računala ukoliko se izabere odgovarajuća simbolika. Ta simbolika poznata je iz matematičke logike, čije su grane npr.: teorija funkcija algebre logike, predikativni račun i teorija algoritama. S pomoću računala mogu se modelirati i logički problemi kojima se može dati fizikalna struktura.
I mnogi problemi igara mogu se svesti na logičke probleme. Većina igara ima diskretan karakter, gdje su važne pozicije figura i kretanja. Upravo stoga se problemi igara mogu programirati i na digitalnom računalu. Stroj se služi strategijom igre i može odrediti optimalna rješenja. Stroj može stoga igrati različite igre, npr. šah, domino, ratne igre itd., ponekad i bolje od čovjeka.
Problem prevođenja tekstova s jednog jezika na drugi s pomoću digitalnih računala svodi se zapravo na problem prekodiranja iz jednog jezika u drugi jezik. Takvi strojevi imaju u svojoj memoriji vrlo opsežan rječnik, a osim toga nalaze se u memoriji još i lingvistička pravila za formiranje fraza i rečenica. Među jezicima ne postoji naime jednostavna zavisnost i riječi u jeziku na koji se prevodi, navedene u istom redoslijedu kao u jeziku s kojeg su prevedene, ne daju još pravilnu rečenicu. Značenje imaju cijele rečenice, a značenje rečenice zavisi od semantičkog sadržaja i sintaktičke funkcije riječi. Za automatsko prevođenje potrebne su stoga vrlo opširne lingvističke analize obaju jezika. U USA i SSSR ulažu se veliki napori za usavršenje digitalnih računala za prevođenje sa ruskog na engleski i obratno. Ipak su zasada takvi prijevodi još strogo specijalizirani po strukama. Taj je način prevođenja za sada još i vrlo skup.
Primjena digitalnih računala raste velikom brzinom i u industriji, gdje ih nalazimo kod strojeva za automatsku obradu i kod uređaja za optimizaciju i regulaciju; tamo su često povezani i s analognim sistemima (v. Automatizacija, TE 1, str. 494).
SI. 36. Blok-shema računala za upravljanje nekim proizvodnim procesom
328 DIGITALNA RAČUNALA
IZVEDBA DIGITALNIH RAČUNALA
Kao što je to već ranije istaknuto, cijela se garnitura uređaja koji sačinjavaju komplet digitalnog računala sastoji od ulaznih jedinica, centralnog elektroničkog dijela računala i izlaznih jedinica. Veličina takvog računala zavisi u velikoj mjeri od vrste i
SI. 37. Elektroničko računalo u obliku pisaćeg stroja. Vrši osim 4 osnovne operacije i vađenje kvadratnog korijena. Rezultati se vide na ekranu katodne cijevi
namjene računala. Ona se kreće od računala veličine pisaćeg stroja (si. 37) do velikog skupa aparatura koje zapremaju cijelu prostoriju osrednje veličine. Primjenom modernijih i minijaturnih sastavnih dijelova i uređaja veličina se računala postepeno smanjuje.
Današnja računala srednje veličine imaju obično izgled pisaćeg stola na kome se nalaze kontrolna ploča i neke ulazne i izlazne jedinice. Sve ostale elektroničke, logičke i memorijske jedinice smještene su u samom stolu (si. 38). Veća računala imaju dio uređaja smješten i po ormarima koji okružuju centralno radno mjesto programera. Neki takvi dodatni uređaji znaju biti prilično veliki, npr. različite memorije s magnetskim trakama i diskovima, bušaći kartica, crtači itd. (si. 39 i 40).
Po svojoj strukturi računala su dosta složeni uređaji jer imaju golem broj električkih spojeva. U nešto većem računalu red veličine broja kontakata koje treba spojiti iznosi IO5, pa provedba tih spojeva predstavlja vrlo velik posao. (Vidi sliku na prilogu u bakrotisku.) Pojedine električke jedinice izrađene su u vidu modula, tj. u vidu ožičenih ploča na kojima su usko zbijeni svi sastavni dijelovi koji sačinjavaju jedinicu. U najnovije vrijeme se za izradu takvih jedinica, koje se uvrštavaju u računalo uticanjem u odgovarajuća podnožja s pomoću mnogopolnih kontaktora, primjenjuju svi vidovi najmodernije elektroničke tehnike, kao što su štampani krugovi, integrirani krugovi, mikrominijaturna teh-
Sl. 38. D igitalno računalo u stolnoj izvedbi. N a stolu vide se slijeva nadesno: čitač perforirane trake, upravljački pult i kao izlaz bušač perforirane trake. Svi ostali dijelovi, koji su većinom izrađeni u mikrominijaturnoj tehnici s epi- taksijalnim planarnim silikonskim poluvodičim a, smješteni su u samom stolu
nika, epitaksijalne i planarne silicijumske konstrukcije (v. sliku na prilogu u bakrotisku).
Računski strojevi uzimaju struju iz gradske mreže, ali često preko akumulatora koji se napajaju u puferu.
Podložnost kvarovima modernih uređaja, koji su potpuno tranzistorizirani i građeni po modernim principima, vrlo je mala. Računa se da prosječno nastupa jedna greška na dvije hiljade radnih sati računala. Za utvrđivanje grešaka postoje naročiti tražioci grešaka i specijalni dijagnostički programi s pomoću kojih se svaka greška može vrlo brzo utvrditi i locirati.
TENDENCIJE U RAZVOJU RAČUNALA
Tehnička konstrukcija računala nalazi se u stalnom razvoju. Dok se velika računala izrađuju uglavnom još maloserijski ili pojedinačno, računala za širu primjenu, kao npr. računala za komercijalne i industrijske svrhe, proizvode se danas već serijski, što donosi sa sobom mnoge prednosti, a naročito pojeftinjenje. I
SI. 39. Programski vođeno binarno digitalno računalo Zuse-Iskra tip Z-23
SI. 40. Veliko digitalno računalo opće namjene prilagođeno za privredu. N a slici lijevo: brzi pisač, u sredini: upravljački pult, desno: običan pisač, straga
memorije s magnetskim trakama
pri samom razvoju i konstrukciji digitalnih računala primjenjuju se računala radi optimizacije, npr. radi postizanja što manjeg broja vodova i što kraćih međuspojnih vodova.
Osim u sastavu računala golem je napredak postignut pri konstrukciji sastavnih dijelova. Od nekadašnjih elektronki prešlo se u potpunosti na poluprovodničke elemente, tj. na tranzistorei diode, tako da je već 1958 izrađeno prvo tranzistorizirano računalo. Prednost primjene poluprovodničkih dijelova je znatno manja zapremina, veća brzina rada i dulji vijek računala. Brži rad takvih logičkih jedinica tražio je i brže memorije. S obzirom na to da su brze memorije skupe, sada se u računalima kombiniraju brze i
DIGITALNA RAČUNALA — DIGITALNA RAČUNALA, PROGRAMIRANJE 329
sporije memorije, i to se u računskim jedinicama i svagdje gdje je to još potrebno upotrebljavaju brze memorije, a na drugim mjestima sporije i jeftinije. Tendencija je da se razviju što brže, a ipak jeftinije memorije. Tako su magnetske jezgrice s vremenom pristupa od 2 do 20 mikrosekunda istisnule neke ranije brze memorije. Iz istog razloga dobivaju sve veće značenje magnetski diskovi koji se mogu mijenjati kao gramofonske ploče u džuk- -boksima. Takve ploče imaju vrijeme pristupa od 2 do 400 mi- krosekundi (srednja vrednost 150 mikrosekundi). Tek odnedavna su u upotrebi tankoslojne magnetske memorije naparene na staklenu ili metalnu foliju, kojima je vrijeme pristupa samo 0,06 mikrosekundi. U najnovije vrijeme se radi i na razvoju dijelova koji rade na principu supravodljivosti a sastavljeni su od kriotrona. Oni služe kao bistabilni multivibratori ili kao ćelije za memoriju. Primjena supravodljivih dijelova u tankoslojnoj tehnici još je u stanju razvoja.
Minijaturizacija dijelova našla je upravo u računskim strojevima svoju najveću primjenu. Štampani krugovi, integrirani sklopovi, planarne i epitaksijalne silicijumske konstrukcije brzo su prihvaćene od konstruktera računala. Istovremenom izradom
SI. 1. Pregled radnih faza pripreme zadatka
SI. 41. Minijaturni integrirani poluvodički elektronski sklop
dioda, tranzistora, otpora i kondenzatora na zajedničkoj podlozi nevjerojatno je smanjena veličina, a naročito zapremina pojedinih logičkih i memorijskih organa.
Paralelno s razvojem računala i njegovih organa razvijaju se i ulazne i izlazne jedinice. Pri tom je osnovni cilj brzina rada. Primjenjuju se brži čitači koji rade na čisto optičkim principima a i brži pisači na elektro-optičkim osnovama koji postižu sa specijalnim papirom i brzinu od 3000 do 5000 redaka u minuti. Njihova cijena je zasada još visoka. U razvoju su pisači koji rade s elektro- statičkom fotografijom. S njima se postižu još znatno veće brzine.
L IT .: W . M eyer zur Capellen, M athem atische Instrum ente, Leipzig 1949· — D . R . H artree, Calculating instrum ents and m achines, Cambridge 1950. — H . Rutishauser, A . Speiser, E. S tiefel, Program mgesteuerte digitale Rechengeräte, Basel 1951. — A . D . Booth, K . H . V. Booth, A utom atic digital calculators, London 1956. — F. A lt , E lectronic digital com puters, N ew York 1958. — H . A . Архангельский , В . И . Зайцев, Автоматические цифровы е машины, М осква 1958. — C. V. L. Sm ith , E lectronic digital com puters, N ew York 1959. — Handbook o f automation, computation and control, vol. 2: Com puters and data processing, N ew York 1959. — Т. C. Bartee, D igital com puters’ fundam entals, N ew York 1960. — В . А . Бат раков, В . И . Богатырев, Электронные цифровы е машины, М осква-Л енинград 1961. — А . И . Китов, Н . А . Криницкий, Электронны е цифровы е машины и программирование, М осква *1961. — И . С. Евдокимов, Г. П . Евстигнеев, В . Н . Круш ин , Ц ифровы е вычислительные машины, М осква *1961. — В . А . Зимин , Электронные вычислительные машины, М осква 1962. — В . И . Лоскутов , Управляю щ ие математические машины, М осква 1962. — Л . И . Гутенмахер, Электронные информационно-логические машины, М осква *1962 — М . Greenberger, Computers and the world o f the future, Cambridge, M ass. 1962. — J . S . M u rp h y , Elektronische Ziffernrechner (prevod s engleskog), Berlin 1965. — A . P. Speiser, D igitale R echenanlagen, B erlin-H eidelberg-N ew York *1965. — H . W. Gschmnd, A n introduction to the design o f digital com puters, W ien-N ew York 1967. — G. Schubert, D igitale K leinrechner, Berlin 1968. — T. R . H . S izer , ed., T h e digital differential analyzer: an increm ental com puter, London1968* A. P. Železnikar
DIGITALNA RAČUNALA, PROGRAMIRANJE. Pro- gramiranje ili sastavljanje programa sastoji se u određivanju niza postupaka prema kojima treba digitalno računalo zadane podatke da pretvori u tražene rezultate. Da bi se dakle neki problem mogao obraditi s pomoću automatskog digitalnog računala, moraju se pripremiti podaci, a pored toga treba za određeni zadatak izraditi program rada računala. U prvoj fazi izrade programa određuje
se vrsta i redosljed operacija koje računalo treba obaviti (programiranje u užem smislu), u drugoj se fazi tako sastavljeni program ispisuje u takvom obliku da ga računalo može primiti i prema njemu računati (kodiranje).
Put od problema do rezultata ne obuhvaća samo programiranje već i širu pripremu zadatka, u koju idu: izbor računala, formuliranje zadatka, analiza, programiranje s kodiranjem, testiranje i računanje (si. 1). Velik rad uložen u pripremu svakog većeg programa ipak je obično ekonomski opravdan jer se računanje s istim programom ali s različitim zadanim podacima obavlja obično mnogo puta.
PRIPREMA ZADATKAU istom gradu ili čak u istom računskom centru može progra
meru biti na raspolaganju nekoliko računala. Još prije nego je neki problem precizno formuliran, pristupa se izboru računala> vodeći računa o ekonomičnosti izvođenja zadatka i o brzini dobivanja rezultata. Općenito je jeftinije računanje na bržem računalu, ali na izbor računala utječu i druga svojstva pojedinih računala, npr. veličina glavne memorije, veličina i vrsta vanjskih memorija, brzina davanja rezultata, mogućnost upotrebe viših jezika za programiranje, raspoloživo vrijeme za rad na računalu.
Stručnjaci za problem prelaze zatim na formuliranje zadatka, što se vrši obično pomoću matematičkih izraza, jednadžbi i ne- jednadžbi, ili pomoću jasnih i jednoznačnih rečenica. Kad su zadaci složeniji, može se već prilikom formulacije problema nacrtati tzv. blok-dijagram3 kojim se zadatak prikazuje rastavljen na nekoliko dijelova. Tako formuliran zadatak predaju stručnjaci za pripremu programerima, tj. stručnjacima koji treba da pripreme zadatak za obradu u računalu. Da prilikom predaje zadatka ne dođe do nesporazuma, mora zadatak biti precizno i detaljno formuliran.
Slijedeći dio pripreme, analiza zadatka, obuhvaća ispitivanje broja rješenja i određivanje približnih postupaka. Najprije se ispituje ima li zadatak rješenje, i ako ga ima, postoji li samo jedno rješenje ili ih ima više. Ako prema formulaciji zadatka postoji više rješenja, a traži se samo jedno, treba formulaciju problema upotpuniti. Slično, ako formulirani zadatak nema rješenja, a prema prirodi problema rješenje mora postojati, treba formulaciju ispraviti.
Poslije ispitivanja mogućnosti rješenja analiziraju se pogreške. Kod jednostavnih zadataka takva analiza nije potrebna, ali ako se beskonačni procesi zamjenjuju konačnim, mora se istražiti u kojoj mjeri takva aproksimacija utječe na rezultat. Strogo uzevši gotovo uvijek nastaju takve pogreške, jer se beskonačni razlomci zaokružuju na konačne i jer se brojevi zaokružuju na određen broj decimala. Međutim, u većini tehničkih proračuna ovo se ne odra- zuje na rezultat.
Nakon analize pristupa se programiranju u užem smislu. Pri tom se određuje vrsta i slijed operacija. Broj tih postupaka može biti velik, tako da se lako gubi pregled nad njima. Radi lakšeg snalaženja obično se slijed operacija i kriterija prikazuje dijagramom toka.
Dijelovi pripreme koji su do sada opisani ne ovise gotovo nikako o svojstvima računala.
Slijedeći dio pripreme, kodiranje, postupak je u kome se ispisuju instrukcije na jeziku računala ili na nekom višem jeziku koji računalo može prevesti na svoj jezik. Kodiranje je detaljnije opisano u ovom članku u poglavlju Osnove programiranja i kodiranja. Kodiranje je vezano za svojstva računala.
Po završenom kodiranju, a prije prelaska na računanje, treba program testirati, tj. provjeriti u samom računalu. Pri tom se pogreške u kodiranju traže tako da se stroju zadaju ulazni podaci za koje je rezultat unaprijed poznat. Testiranje s traženjem i ispravljanjem pogrešaka često je mučan i dugotrajan posao. Kod zamršenih programa nema vremena da se provjere svi dijelovi i sve mogućnosti u programu. Zato se nakon važnijih testiranja prelazi pažljivo na upotrebu programa za rješavanje novih zadataka