Sie sind auf Seite 1von 57

Arhitektura i organizacija računala

Preddiplomski studij
informatike

prof.dr.sc. Ivo Ipšić


VON NEUMANNOV
MODEL RAČUNALA

 povijesni pregled računala


 funkcijske jedinice von

Neumannovog modela računala


 jednostavno računalo
Nulta generacija – generacija mehaničkih
strojeva za računanje (1644. – 1945.)

 B. Pascal je u razdoblju između 1642. i 1644. godine izgradio stroj


koji je mogao obavljati računske operacije zbrajanja i oduzimanja

 G. W. Leibniz 1673. oblikovao je mehanički računski stroj koji je, uz


zbrajanje i oduzimanje, mogao obavljati i računske operacije
množenja i dijeljenja. Bio je to ekvivalent "džepnim kalkulatorima" sa
četiri funkcije tri stoljeća kasnije.

 C. Babbage je 1822. izgradio diferencijski stroj (engl. difference


engine) koji se temeljio na računu konačnih diferencija. C. Babbage
je, također, 1834. započeo rad na analitičkom stroju (engl. analytical
engine) koji je obavljao četiri osnovne računske operacije i
korjenovanje te je trebao biti računski stroj opće namjene.
Charles Babage: Analitički stroj
 Osnovi elementi
 Ulazna jedinica
 Aritmetičko – logička jedinica - MILL
 Centralni kontroler
 Izlazna jedinica
 odvojene memorija - STORE
 izvodi sve računske operacije
 instrukcija definira koju operaciju izvesti i u kojem
redoslijedu
 memorija kapaciteta 1000 50-znamenkastih
brojeva
 programabilan pomoću bušenih kartica
 potpuno mehanički
 Ada Lovelace Byron
 izradila jedan od prvih programa za analitički stoj
 programski jezik ADA
4
Razvoj elektroničkih računala
 prema tehnologiji dijeli se na 4 generacije:
 IV.
 I.
 mikroelektronika
 elektroničke cijevi
 magnetski mediji  VLSI
 II.  mikroračunala
 tranzistori  mikroprocesor
 elektronički sklopovi
 feritne memorije
 III.
 integrirani sklopovi

5
Prva generacija – elektronička računala s
elektronskim cijevima (1945. – 1955.)

 Tijekom ratne 1943. za razbijanje šifriranih poruka, odnosno


dekriptiranje njemačkih poruka u Engleskoj je izgrađeno računalo
COLOSSUS koje se smatra prvim elektroničkim računalom. Ono je
imalo oko dvije tisuće elektronskih cijevi, a u razvoju računala
sudjelovao je A. Turing.

 Iste su godine J. Mauchley i J. P. Eckert započeli s izgradnjom


računala ENIAC (Electronic Numerical Integrator And Computer).

 Dok su J. Mauchley i J. P. Eckert radili na EDVAC-u (Electronic


Discrete Variabile Automatic Computer) koji je trebao biti nasljednik
ENIAC-a, J. von Neumann, koji je inače sudjelovao u projektu
ENIAC, došao je u Institut za napredna istraživanja (Institute of
Advanced Studies) u Princeton, SAD, te započeo projekt izgradnje
računala IAS.
COLOSSUS

 Tijekom ratne 1943. za


razbijanje šifriranih poruka,
odnosno dekriptiranje
njemačkih poruka u
Engleskoj je izgrađeno
računalo COLOSSUS koje
se smatra prvim
elektroničkim računalom.
 Ono je imalo oko dvije
tisuće elektronskih cijevi, a
u razvoju računala
sudjelovao je A. Turing.
Codename: ENIAC

 ENIAC - Electronic Numerical Integrator and Calculator


 John Mauchly i Presper Eckert na Moore School of Engineering,
Pennsylvania za potrebe mornarice grade elektroničko računalo
 smatraju da će raditi brže od postojećih elektromehaničkih računala
 radi u dekadskom brojevnom sustavu
 na izlazu – bušene kartice
 kasnije dodana unutarnja memorija, koja nije originalno predviđena
 potpuno funkcionalan 1945.g
 ENIAC je oko 1000 puta brži od računala izvedenih u tehnologiji
releja

8
ENIAC - specifikacija
 izgrađen od
 17.468 vakumskih cijevi
 500.000 spojeva
 70.000 otpornika
 10.,000 kondenzatora
 6,000 ručnih prekidača
 1,500 releja
 500 terminala
 CPU brzina
 5.000 zbrajanja,
 357 množenja
 i 38 dijeljenja na sekundu
 OS: fiksno ožičena logika (hard wired)
 inicijalna cijena $500,000
 površina 167,3 m2
 potrošnja 180 kW, težina 100 T
9
I. generacija: 1953-1958.

 elektroničke cijevi
 magnetski mediji
 1952. UNIVAC I
 prvo računalo s poluvodičima (Remington-Rand)
 razvijen koncept integriranih krugova
 (Integrated Circuits - Geoffrey Dummer in Washington)
 1954. FORTRAN, John W. Backus, IBM
 1956. Magnetic Disk Memory, IBM
 RAMAC350 Random Access Method of Accounting and
Control
 1956. prvi operacijski sustav Bob Patrick i Owen
Mock
 GM/NAA-I/O i instaliran na IBM 704 računalu
10
John von Neumann , 1946.

 ideja:
 zajedničko pohranjivanje podataka
i programa u memoriji računala
 slijedeći korak programa ovisi o
prijašnjem
 predložena arhitektura za
 EDVAC (Electronic Discrete
Variable Automatic Computer)
postaje poznata pod imenom von
Neumanova arhitektura računala
11
I. generacija: 1945-1955.

 elektroničke cijevi
 magnetski mediji
 1952. UNIVAC I
 prvo računalo s poluvodičima (Remington-Rand)
 razvijen koncept integriranih krugova
 (Integrated Circuits - Geoffrey Dummer in Washington)
 1954. FORTRAN, John W. Backus, IBM
 1956. Magnetic Disk Memory, IBM
 RAMAC350 Random Access Method of Accounting and
Control
 1956. prvi operacijski sustav Bob Patrick i Owen
Mock
 GM/NAA-I/O i instaliran na IBM 704 računalu
12
Druga generacija računala – tranzistor kao
građevna komponenta (1955. – 1965.)

 izum i razvoj tranzistora


 Nobelova nagrada za fiziku 1956
 integrirani sklop (IC) Jack Kilby 1958
(Nobelova nagrada za fiziku 2000)

 1961. prvi komercijalni integrirani


sklop (Fairchild Semi Conductor)

13
Treća generacija – integrirani
sklopovi (1965. – 1980.)
 Spomenimo neka računala i porodice računala iz treće
generacije: IBM System/360 Model 30, 40, 50 i 65, UNIVAC
1100 te DEC-ove PDP-11 i VAX 11 porodice računala.
 Prvo se vektorsko superračunalo Cray I pojavilo na tržištu
1974.
 U drugoj polovini 1971. pojavljuje se na tržištu prvi 4-bitni
mikroprocesor Intel 4004 koji je bio predviđen kao kalkulatorski
čip. Prvi 8-bitni mikroprocesor opće namjene Intel 8008 pojavit
će samo godinu dana kasnije. Godine 1974. pojavljuje se
druga generacija 8-bitnih mikroprocesora čiji su tipični
predstavnici Motorola 6800 i Intel 8080 te nagovještavaju
revoluciju na području računala.
III. generacija: 1976-1977.
 Apple I
 Cray 1, prvo komercijalno superračunalo
 Seymour Cray
 prvi koji je prešao 1 MIPS
 cijena: $5 - $8.8 milijuna
 isporučenih: 85
 tehnologija:
• vektorsko procesiranje,
• 200.000 specijaliziranih ECL integriranih
krugova
• 100-160 MFLOPS performance
 softver:
• Cray Operating System (COS),
• Cray Fortran Compiler,
• Cray Assembler Language
15
Četvrta generacija računala – sklopovi vrlo visokog
stupnja integracije (1980. – ?)

 1983.
 Motorola 68000 čip za napredna
računala, laserske pisače i
grafičku okolinu
 GNU Manifesto, Richard Stallman
 C++
 1984.
 MacIntosh, Apple
 InkJet printer, HP
 1985.
 CD-ROM
 MS Windows
 Intel 80386 procesor – PC 386

16
Generacije računala

Tehnologija – sastavnica Godina Broj osnovnih operacija u sekundi


elektromehanika – releji 1940. 10
elektronika – elektronske cijevi 1945. 103
elektronika – tranzistor 1950. 104
mikroelektronika – sklopovi niskog 1960. 105
stupnja integracije
mikroelektronika – sklopovi srednjeg 1980. 106
stupnja integracije
mikroelektronika – sklopovi vrlo visokog 2000. 109
stupnja integracije
Razvoj mikroprocesora Intel Pentium

1995 Pentium® Pro Processor 5.5 Million Transistors


1997 Pentium® II Processor 7.5 Million Transistors
1998 Pentium® II Xeon Processor 7.5 Million Transistors
1999 Celeron Processor 7.5 Million Transistors
1999 Pentium® III Processor 9.5 Million Transistors
1999 Pentium® III Xeon Processor 9.5 Million Transistors
1999 Pentium® III E 28.1 Million Transistors
2000 Pentium® 4 42 Million Transistors
Razvoj višejezgrenih procesora

 Quad-Core + GPU Core i7 1,400,000,000 2012 Intel 22 nm 160 mm²


 Dual-Core Itanium 2 1,700,000,000[6] 2006 Intel 90 nm 596 mm²
 Six-Core Xeon 7400 1,900,000,000 2008 Intel 45 nm 503 mm²
 Quad-Core Itanium Tukwila 2,000,000,000[7] 2010 Intel 65 nm 699 mm²
 Six-Core Core i7/8-Core Xeon E5
(Sandy Bridge-E/EP) 2,270,000,000 [8] 2011 Intel 32 nm 434 mm²
 8-Core Xeon Nehalem-EX 2,300,000,000[9] 2010 Intel 45 nm 684 mm²
 10-Core Xeon Westmere-EX 2,600,000,000 2011 Intel 32 nm 512 mm²
 8-Core Itanium Poulson 3,100,000,000 2012 Intel 32 nm 544 mm²

 62-Core Xeon Phi 5,000,000,000 2012 Intel 22 nm


Višejezgreni procesori
 Multiple parallel general-purpose processors (GPPs)
 Multiple application-specific processors (ASPs)

Intel Network Processor IBM Cell


1 GPP Core 1 GPP (2 threads)
16 ASPs (128 threads) 8 ASPs
18 18 18

RDRA
M
Stripe
RDRA
M
RDRA
M
MEv2
1
MEv2
2
MEv2
3
MEv2
4
IXP280 S
Picochip DSP
0
1 2 3 Rbuf

1 GPP core
P
64 @ 16b
I
128B
Intel® G MEv2 MEv2 MEv2 MEv2 4
PCI 8 7 6 5 or
XScale A

248 ASPs
C
64b (64b) ™ S Tbuf
S
Core K 64 @ 16b
66 I
E MEv2 MEv2 MEv2 MEv2 128B
MHz 32K IC X
T 9 10 11 12 Hash
32K DC
48/64/1
CSRs
- 28
QDR QDR QDR QDR Scratch
Fast_wr
MEv2 MEv2 MEv2 MEv2 16KB
SRAM SRAM SRAM SRAM -UART
16 15 14 13
1 2 3 4 -
E/D Q
1 1
8 8
E/D Q
1 1
8 8
E/D Q
1 1
8 8
E/D Q
1 1
8 8
Timers
-GPIO
- Cisco CRS-1
Sun Niagara
BootROM/Sl

188 Tensilica GPPs


owPort

8 GPP cores (32 threads)

Intel 4004 (1971):


4-bit processor, 1000s of “The Processor is the
2312 transistors,
~100 KIPS,
processor new Transistor”
10 micron PMOS, cores per [Rowen]
11 mm2 chip
die
Povećanje kapaciteta DRAM
čipova
John von Neumann , 1946.

 ideja:
 zajedničko pohranjivanje podataka
i programa u memoriji računala
 slijedeći korak programa ovisi o
prijašnjem
 predložena arhitektura za
 EDVAC (Electronic Discrete
Variable Automatic Computer)
postaje poznata pod imenom von
Neumanova arhitektura računala
Model von Neumannovog
računala
 četiri osnovne
funkcijske jedinice:
 aritmetičko-logičke,
 upravljačke,
 memorijske i
 ulazno-izlazne jedinice
Model von Neumannovog
računala
 Izravna veza između
memorijske i ulazno-izlazne
jedinice naziva se izravan
pristup memoriji (engl. DMA
– Direct Memory Access).
 Tok podataka uspostavljen
je i između ulazno-izlazne
jedinice koja obično
predstavlja sučelje (engl.
interface) s ulazno-izlaznim
(perifernim) uređajima
(prikazna jedinica, zaslon,
pisač, miš, tipkovnica i sl.).
IAS Računalo
Model von Neumannovog računala

REGISTRI

UPRAVLJAČKI ARITMETIČKO -
LOGIČKA
SKLOP JEDINICA

CPU

ULAZNA IZLAZNA
JEDINICA MEMORIJA JEDINICA

Tok podataka i instrukcija

Upravljački signali
CPU

 aritmetičko – logička jedinica (ALU): izvršava aritmetiče i logičke


operacije na podacima zapisanim u registre prema naredbama
upravljačkog sklopa
 registri mikroprocesora: privremena pohrana podataka i
instrukcija provides temporary storage for data and instructions.
 registri upravljačkog sklopa:
• instrukcijski registar csadrži instrukciju koja se izvršava
• programsko brojilo (instruction pointer) sadrži adresu sljedeće
instrukcije
 registri aritmetičko logičkog sklopa
• akumulator sadrži operande i rezultate aritmetičkih i logičkih
operacija

28
CPU

 interne sabirnice mikroprocesora:


povezuju upravljački sklop, ALU i registre
 upravljački sklop: upravlja operacijama
mikroprocesora, interpretira, dekodira
instrukcije, prenosi podatke među
registrima, upravlja ALU, ...
 priručna memorija (cache) : sadrži skup
instrukcija i podataka koje mikroprocesor
koristi za izvršavanje

29
Upravljačka jedinica

 Upravljačka jedinica na temelju dekodiranja strojne instrukcije


generira sve potrebne upravljačke signale za vremensko vođenje i
upravljanje ostalim jedinicama računala.

 Pod formatom strojne instrukcije razumijeva se oblik (organizacija)


strojne instrukcije s označenim poljima (nizovima binarnih znamenki
0 i 1) kojima je naznačena funkcija.
IAS računalo

dvije strojne instrukcije


smještaju se u jednu
memorijsku lokaciju: lijeva
strojna instrukcija i desna
strojna instrukcija
VON NEUMANNOV MODEL RAČUNALA

 instrukcije su u računalu svedene na numerički kod, tako da se podaci i


instrukcije pohranjuju u jednakom obliku i na jednaki način u istoj jedinici
- memorijska jedinica
 budući da je računalo prvenstveno stroj za računanje, mora imati jedinicu
koja obavlja aritmetičke operacije. Ta se jedinica naziva aritmetička
jedinica. No stroj treba izvoditi i logičke operacije (logičko I, ILI, NE,
ISKLJUČIVO ILI) - aritmetičko-logička jedinica
 računalo mora imati jedinicu koja tumači i razumije instrukcije svedene
na numerički kod, a uz to upravlja slijedom izvršavanja instrukcija
(osigurava potpuno automatsko izvođenje programa) - upravljačka
jedinica
 računalo treba komunicirati s vanjskim svijetom (korisnikom, procesom,
drugim računalom) - ulazno-izlazne jedinice

AOR2010/2011 32
Jezik mikroprocesora

 instrukcije se izvršavaju u dvije faze: pribavi i


izvrši instrukciju
0 3 78 31
OP 1 AM ADRESA

OP - operacija, instrukcijski kod


AM - način adresiranja

polje operacijskog koda

bit 4 = 1  32 bitna instrukcija

AOR2010/2011 33
Prevođenje programa

tekst C program (p1.c)

prevodioc - compiler (gcc -S)

tekst asemblerski program (p1.s)

asembler (gcc, as)

binarni kod objektni program (p1.o)

binarni kod Izvršni program (p)


Jezik mikroprocesora

int zbroji(int x, int y)


{
int zbroj;

return zbroj=x+y;
}
Jezik mikroprocesora

 prevođenje izvornog programa u asmblerski


kod
 gcc –O2 –S zbroji.c
 gcc - GNU compiler

 prikaz asembleskog programa


 objdump -d zbroji.s
Jezik mikroprocesora

zbroji.o: file format pe-i386

Disassembly of section .text:

00000000 <_zbroji>:
0: 55 push %ebp
1: 89 e5 mov %esp,%ebp
3: 8b 45 0c mov 0xc(%ebp),%eax
6: 8b 55 08 mov 0x8(%ebp),%edx
9: 5d pop %ebp
a: 01 d0 add %edx,%eax
c: c3 ret
d: 90 nop
e: 90 nop
f: 90 nop

objektni kod asemblerski kod


Jezik mikroprocesora
.type zbroji, %function
.arch armv6 zbroji:
.eabi_attribute 27, 3 @ args = 0, pretend = 0, frame = 0
.eabi_attribute 28, 1 @ frame_needed = 0,
.fpu vfp uses_anonymous_args = 0
.eabi_attribute 20, 1 @ link register save eliminated.
.eabi_attribute 21, 1 add r0, r0, r1
.eabi_attribute 23, 3 bx lr
.eabi_attribute 24, 1 .size zbroji, .-zbroji
.eabi_attribute 25, 1 .ident "GCC: (Debian 4.6.3-14+rpi1)
.eabi_attribute 26, 2 4.6.3"
.eabi_attribute 30, 2 .section .note.GNU-
.eabi_attribute 18, 4 stack,"",%progbits
.file "zbroji.c"
.text
.align 2
.global zbroji
Jezik mikroprocesora

 instrukcija zbroji zbroj=x+y registri mikroprocesora

 01 d0 add %edx,%eax

 0000000111010000 16-bitna instrukcija


Jezik mikroprocesora

 instrukcije se izvršavaju u dvije faze: pribavi i


izvrši instrukciju
0 3 78 31
OP 1 AM ADRESA

OP - operacija, instrukcijski kod


AM - način adresiranja

polje operacijskog koda

bit 4 = 1  32 bitna instrukcija


Instrukcijski ciklus

 U fazi pribavljanja na osnovi adrese zapisane u registru PC


pribavlja se instrukcija iz memorije i prenosi u instrukcijski
registar.
 U drugoj fazi se instrukcija izvršava tako da se dekodira i da
upravljači sklop generira signale potrebne za izvršavanje
instrukcije.
 Zadnji korak izvršavanja instrukcije je povećanje adresu u
registru PC za jedan. Nakon toga se ponavlja postupak sve
dok se ne generira signal koji označava kraj niza instrukcija
odn. programa.

AOR2010/2011 41
Instrukcijski ciklus

1. PC -> MAR Prijenos adrese iz registra PC u MAR

2. MDR -> IR Prijenos sadržaja registra MDR u IR

3. IR(address) -> MAR Prijenos adresnog djela instrukcije u


MAR
4. MDR -> A Prijenos podatka iz MDR u AR

5. PC + 1 -> PC Povećaj programsko brojilo

42
Instrukcijski ciklus
Memorija

 svaki podatak u memoriji ima svoju


jednoznačnu adresu
 u memoriji se pohrajuju podaci i programi
 postupci pisanja i čitanja preko dva registra:
MAR i MDR

44
Memorija - čitanje

• zapisuje se adresa podatka koji se čita u registar


MAR;
• generiraju se upravljački signali na liniji za čitanje,
koji omogućavaju da se sadržaj memorijske lokacije
zapisane u MAR prenese u registar MDR;
• nakon operacije čitanja podatak se nalazi u MDR;
• vrši se prijenos podatka iz registra MDR u ciljni
registar.

45
Memorija - pisanje

• zapisuje se adresa na koju želimo pohraniti podatak


u MAR;
• podatak se prenosi u registar MDR;
• generiraju se upravljački signali, koji vrše prijenos
podataka iz MDR u memoriju na adresu zapisanu u
registru MAR;
• nakon operacije pisanja podatak se nalazi u
memoriji

AOR2010/2011 46
Memorije mikroprocesora
Memorija
Upravljačka jedinica

 instrukcije za prijenos (premještanje) podataka,


 instrukcije za obradu podataka,
 ulazno-izlazne instrukcije,
 instrukcije za upravljanje izvršavanjem programa
Sabirnice mikroprocesora

RAM ROM
Control Bus

Microprocessor
(CPU)

Data Bus Input/Output


Address Bus (I/O)
Sabirnice (BUS)
 spojni putovi – vodovi –
povezuju dijelove računala
 adresna sabirnica – prijenos
adresa instrukcija i podataka
potrebnih za operacije čitanja i
pisanja
 podatkovna sabirnica –
prijenos podataka i instrukcija
– dvosmjerna komunikacija
 upravljačka sabirnica –
prijenos upravljačkih i
sinkronizacijskih signala
Ulazno-izlazna jedinica
Jednostavno
mikroračunalo temeljeno
na mikroprocesoru
MC6800
 Detalj priključenja
ulazno-izlazne
jedinice ACIA
Pojednostavljen model von
Neumannovog računala
 računalo se sastoji od:
 procesora
 memorijske jedinice i
 spojnim putom
 propusnost spojnog
puta utječe na brzinu
obrade
Turingov stroj – von Neumannov
model
Algoritam obrade određen programom
Memorija - konačna
Algoritam obrade određen izvedbom
upravljačke jedinice
Memorija – beskonačna traka
I I I I I I I

q1

L Q P

q2

Das könnte Ihnen auch gefallen