Evolucija arhitekture računara
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Predmet
ARHITEKTURA RAČUNARSKIH SISTEMA I MREŽA
„EVOLUCIJA ARHITEKTURE RAČUNARA”
(seminarski rad)
S a d r ž a j
PARALELIZAM UNUTAR PROCESORA........................................................31
ARHITEKTURA NAREDBI ZA INTEL ITANIUM..........................................32

EVOLUCIJA ARHITEKTURE RAČUNARA
2
posredstvom upravljačke table. Nameru prethodno pomenute grupe da napravi računar sa
radnom memorijom predviđenom za smeštanje i programa i podataka opisao je 1945. godine
njen član
John von Neumann
. On je opisani računar nazvao
EDVAC
(
Electronic Discrete
Variable Automatic Computer
). U 1946. godini
John von Neumann
je, kao koautor, objavio
opis usavršene verzije računara sa radnom memorijom predviđenom za smeštanje i programa i
podataka, kasnije nazvanog
IAS
(po nazivu institucije
Institute for Advanced Study
Prinston
univerziteta, u okviru koje je pomenuti opis nastao). U ova dva rada su izloženi suštinski
principi funkcionisanja elektronskih računara opšte namene sa radnom memorijom
predviđenom za smeštanje i programa i podataka. Prvi ovakav (u punom obimu funkcionalan)
računar, pod imenom
EDSAC
(
Electronic Delay Storage Automatic Calculator
), napravila je u
Velikoj Britaniji 1949. godine grupa sa Kembridž univerziteta, koju je predvodio
Maurice
Wilkes
.
U 1953. godini
IBM
(
International Business Machines Corporation
, tada vodeći
proizvođač poslovne opreme, prisutan na tržištu od 1896. godine) isporučio je na tržište
Sjedinjenih Američkih Država svoj prvi elektronski računar opšte namene pod imenom
IBM
701
. Prethodno, u 1944. godini,
IBM
je napravio prvi elektro-mehanički računar opšte namene,
nazvan
MARK I
. Idejni tvorac projekta ovoga, kao i kasnije napravljena 3 računara, nazvana
MARK II
,
MARK III
i
MARK
IV
, je
Howard Aiken
sa Harvard univerziteta. Poslednja dva
modela su bili elektronski računari opšte namene sa razdvojenim radnim memorijama za
programe i za podatke. Ovakav pristup je, po mestu nastanka, nazvan
harvardska
arhitektura
.
Procesori prve generacije računara su izrađivani u tehnologiji elektronskih cevi
(elektronska cev trioda je napravljena 1906. godine). Radne memorije su zasnivane na raznim
tehnologijama, pa su tako korišćene, na primer, i elektrostatičke radne memorije, kod kojih su
naelektrisanja tačaka na ekranu katodne cevi predstavljala binarne vrednosti. Jedinice
magnetnih traka su korišćene kao masovne memorije. Čitači bušenih traka ili kartica su
predstavljali ulazne uređaje, a na mestu izlaznih uređaja su se nalazili bušači traka i kartica, kao
i štampači. Centralni položaj procesora u organizaciji je imao za posledicu da bez njegovog
učešća nije bio moguć prenos podataka između bilo koje dve organizacione komponente
računara prve generacije. Za prenos podataka između radne memorije, sa jedne strane, i ulaznih
i izlaznih uređaja, odnosno, masovne memorije, sa druge strane, postojale su posebne ulazno-
izlazne naredbe. Radi njih, ukupan adresni prostor računara je podeljen na
memorijski adresni
prostor
, kome su pripadale samo lokacije radne memorije, i na
ulazno-izlazni adresni
prostor
, kome su pripadale samo lokacije koje su predstavljale ulazne i izlazne uređaje,
odnosno jedinice masovne memorije. Prema tome, ista adresa je označavala dve lokacije,
zavisno od toga da li je interpretirana kao adresa memorijskog ili adresa ulazno-izlaznog
adresnog prostora. Druga interpretacija adresa je bila moguća samo u okviru ulazno-izlaznih
naredbi. Računari prve generacije su bili namenjeni prevashodno za numeričke proračune, kao
što su, na primer, računanja tablica trigonometrijskih funkcija. Ipak, oni nisu podržavali
aritmetiku pomične tačke (
floating-point arithmetic
), jer je ona bila suviše komplikovana za
tehnologiju elektronskih cevi. Oni, takođe, nisu podržavali ni potprograme, a ni rukovanje
elementima nizova. Identična obrada uzastopnih elemenata niza je zahtevala ponavljanje
modifikacija mašinskih naredbi programa, radi pripremanja u mašinskim naredbama adresa
lokacija radne memorije sa vrednostima pojedinih elemenata. Računari prve generacije su
korišćeni na interaktivan način, pri čemu su programeri, posredstvom upravljačke table, bili u
neposrednoj komunikaciji sa računarom za vreme izvršavanja svojih programa. Programeri su u
početku bili upućeni na korišćenje mašinskog jezika, a kasnije i na korišćenje asemblerskog
EVOLUCIJA ARHITEKTURE RAČUNARA
3
jezika. Već kod računara prve generacije brzinu procesora, odnosno broj izvršenih mašinskih
naredbi u jedinici vemena, ograničavala je samo raspoloživa tehnologija, dok je brzinu radne
memorije, odnosno broj pristupa njenim lokacijama u jedinici vremena ograničavala cena
raspoloživih tehnologija. Primena najskuplje tehnologije je bila i ostala prihvatljiva kod
procesora, ali ne i kod radne memorije, jer je procesor sastavljen od neuporedivo manje
komponenti nego radna memorija. To znači da se već kod računara prve generacije javila
ozbiljna disproporcija između brzine procesora i brzine radne memorije (da se i ne pominje
disproporcija brzine procesora i brzine ostalih, mehanički zasnovanih organizacionih
komponenti računara prve generacije). Ozbiljna mana računara prve generacije je bila njihova
slaba iskorišćenost.
Nju su uzrokovali:
1.
interaktivni način rada (dok je programer ispravljao greške u svom programu, računar je
bio uglavnom neiskorišćen),
2.
modifikovanje programa u toku njihovog izvršavanja (što je zahtevalo punjenje programa
pre svakog novog izvršavanja) i
3.
učešće procesora u prenosu svakog podatka između bilo koje dve organizacione
komponente računara prve generacije (u toku čega je, zbog radnog čekanja, procesorsko
vreme neracionalno korišćeno).
1.3. PERIOD OKO 1960. GODINE
Tehnološku osnovu računara druge generacije su činili diskretni poluprovodnici
i magnetne jezgrice (
magnetic core
). Tranzistori su napravljeni 1948. godine, a magnetne
jezgrice su napravljane 1949. godine. Diskretni poluprovodnici su istisnuli elektronske cevi, jer
su imali nižu cenu, bili manji, brži i pouzdaniji, a imali su i manju potrošnju energije i manje
toplotno zračenje. Magnetne jezgrice su istisnule do tada korišćene memorijske tehnologije, jer
su omogućile pravljenje većih i pouzdanijih radnih memorija po nižoj ceni. U tehnologiji
magnetnih jezgrica binarne vrednosti su predstavljala dva stanja magnetizacije prstena,
napravljenog od magnetnog materijala, kroz koji su prolazili električni provodnici. Svaki bit je
predstavljen jednom magnetnom jezgricom. Selekciju reči omogućuju provodnici reč
i
, a pisanje
i čitanje bita omogućuju provodnici bit
j
. Pisanje jedinice u bit “j” reči “i” je podrazumevalo
prevođenje odgovarajuće magnetne jezgrice u željeno magnetno stanje. Do toga je dolazilo ako
se i kroz provodnik reč
i
i kroz provodnik bit
j
u zadanom smeru propusti struja, čija jačina je bila
jednaka polovini vrednosti neophodne za željenu magnetizaciju. Čitanje ovako predstavljenih
bita reči “i” se sastojalo od propuštanja struje magnetizacije kroz provodnik reč
i
u suprotnom
smeru od onog koji je korišćen za pisanje i od interpretacije stanja provodnika bit
j
. U ovim
provodnicima se indukovala struja, ako se pri čitanju menjalo stanje magnetizacije magnetne
jezgrice, pa je čitanje bilo destruktivno. Ovakvu memoriju je karakterisalo ne samo
vreme
pristupa
lokaciji (
access time
), nego i vreme u kome su se mogla napraviti ovakva dva
uzastopna pristupa, a koje je nazvano
vreme ciklusa
(
cycle time
). Vremenu pristupa je

EVOLUCIJA ARHITEKTURE RAČUNARA
5
jedan od sabiraka nalazi u posebnom registru procesora, nazvanom akumulator, gde se smeštao
(akumulirao) i zbir. Ili, za naredbe sabiranja nula-adresnih računara se podrazumevalo da se
oba sabirka nalaze na vrhu steka, gde se odlagao i zbir. Za jedno-adresne računare, kao što je
bio, na primer,
IBM 7094
, vezan je pojam
akumulatorske arhitekture
(
accumulator
architecture
), a za nula-adresne računare, kao što je bio, na primer,
Burroughs B5000
, vezan je
pojam
stek arhitekture
(
stack architecture
). Skup naredbi računara sa akumulatorskom
arhitekturom obavezno je sadržao i naredbe za rukovanje akumulatorima, a skup naredbi
računara sa stek arhitekturom obavezno je sadržao i naredbe za rukovanje stekom. Smanjenje
broja adresa u mašinskom formatu naredbe je smanjivalo veličinu memorije, potrebne sa
smeštanje mašinskih naredbi, ali je, istovremeno, uzrokovalo i povećanje broja mašinskih
naredbi u programu, jer su bile neophodne dodatne mašinske naredbe, na primer, za smeštanje
podrazumevajućih operanada u akumulator ili u stek. Prema tome, efekat smanjenja broja
adresa u mašinskim formatima naredbi je poništavalo povećanje broja mašinskih naredbi u
programu.
Za računare druge generacije je vezana pojava programskih jezika visokog
nivoa, kao što su:
1.
FORTRAN
(
FORmula TRANslation
, čiji razvoj je od 1954. do 1957. godine obavila grupa
koju je predvodio
John Backus
, a koju je finansirao
IBM
) i
2.
COBOL
(
COmmon Business Oriented Language
, čiju specifikaciju, završenu 1959.
godine, je nadzirao
CODASYL
,
Conference On Data
SYstems Languages
).
Programski jezici visokog nivoa su ponudili uopšteni programski model
računara (druge generacije) tako omogućili njihovo programiranje bez poznavanja detalja
njihovog funkcionisanja. Programski jezici visokog nivoa su zahtevali postojanje kompajlera,
koji su programe, pisane programskim jezicima visokog nivoa, prevodili u mašinski oblik.
Zahvaljujući kompajlerima, programi, pisani programskim jezicima visokog nivoa, su postali
prenosivi sa računara na računar. Takođe, pojavile su se biblioteke često korišćenih
potprograma i linkeri, namenjeni za spajanje nezavisno kompiliranih programa i potprograma.
Ograničena veličina radne memorije računara druge generacije je terala
programere da samo deo izvršavanog programa i samo deo obrađivanih podataka drže u radnoj
memoriji, a ostatak u masovnoj memoriji. Radi toga su razvijene i posebne tehnike za
preklapanje
(
overlaying
) delova programa, čije istovremeno prisustvo u radnoj memoriji nije
bilo potrebno. Na ovaj način radna i masovna memorija su tretirani kao dva nivoa
memorijske
hijerarhije
, kojom je upravljao korisnički program, tako što je inicirao prebacivanje svojih
delova sa jednog nivoa memorijske hijerarhije na drugi.
Oslanjanje samo na programske jezike visokog nivoa, i iz toga proizašlo
nepoznavanje detalja funkcionisanja računara druge generacije, je onemogućilo programere da
ove računare koriste na interaktivan način, uobičajen za računare prve generacije. To je imalo
za posledicu da je nestao jedan od uzroka neracionalnog korišćenja računarskog vremena.
Umesto interaktivnog načina rada, za računare druge generacije je uvedena praksa da
programeri svoje programe, pripremljene na bušenim karticama, predaju operaterima (osoblju,
zaduženom za opsluživanje računara). Operateri bi prikupljene programe jedan za drugim
puštali na izvršavanje (
batch processing
), a rezultate njihovog izvršavanja, na primer, u obliku
štampanih izveštaja, zajedno sa bušenim karticama, vraćali programerima. Na ovaj način,
računar je bio zaposlen dok god je bilo korisničkih programa, spremnih za izvršavanje. Radi
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti