Professional Documents
Culture Documents
Verzija: 1.0/2019
UICT 1
UICT
3 © D.Vuk 2003,2005.
Von Neumannova arhitektura računala
• Predstavlja prvi široko prihvaćen i cjelovit model DR
• John Von Neumann (čitaj: “džon fon nojman”) 1903-1957
4 © D.Vuk 2010
Shema Von Neumanove arhitekture računala
UPRAVLJAČKA J.
A-L Jedinica
Tok podataka
i instrukcija
Tok upravljačkih signala
5
Von Neumannov-a AR : pregled osnovnih osobina
6 © D.Vuk 2010
Dvije ključne ideje VN AR
• Koncept memoriranog programa
• Instrukcije su zajedno s podacima spremljene u memoriji
• Instrukcije su zapisane u obliku binarnih brojeva
- ovaj koncept u potpunosti vrijedi danas
• Instrukcije se izvode sekvencijalno
• Instrukcije se izvode jedna za drugom: jedna po jedna
- ovaj koncept kao opći princip vrijedi i danas,
- Ipak, danas kod suvremenih procesora postoji cijeli niz paralelnosti u izvršavanju , a osobito u
predviđanju koja će biti slijedeća instrukcija kako bi se izvršila barem djelomična priprema za njeno
izvođenje
- Kod višejezgrenih procesora također je prisutan taj princip
0101000110110001011 Procesor
0010001101100010011
7 © D.Vuk 2010
Značajke VNAR koje još i danas vrijede
• Linearno adresibilna memorija sa dimenzijom rednog broja bajtova odnosno riječi kao adrese
• 0 – označava prvu adresu
• n-1 – označava posljednju adresu
• Jedinstvena memorija za spremanje kako podataka, tako i programa
• Podaci i programi se spremaju u istu memoriju te dobivaju početnu relativnu adresu 0
• Relativna adresa je fizička adresa umanjena za Offset (udaljenost od početne fizičke adrese)
• U rijetkim izvedbama procesora postoji razdvajanje memorije na dva dijela: podatkovna i programska
• Ne postoji eksplicitno razlikovanje između podataka i instrukcija
• razlikovanje je moguće jedino implicitno preko operacija koje se nad njima izvršavaju
• stroj tretira sadržaj memorije isto bez obzira na podatke i instrukcije
• Značenje (semantika) nije sastavni dio podataka
• za bilo koju kombinaciju bajtova nije moguće samo na temelju njenog sadržaja zaključiti što predstavlja (znači)
• značenje podataka je sadržano u logici programa
• Računalo obrađuje i podatke i informacije:
• pomoću logike sadržane u hardveru obrađuje podatke (reprezentirane putem binarnih brojeva)
• Pomoću logike softvera obrađuje informacije (podaci koji sadrže semantiku - značenje)
8 © D.Vuk 2019
Von Neumanova arhitektura računala
9 © D.Vuk 2019
Osnovni dijelovi digitalnog računala prema VNAR
1. Aritmetičko logička jedinica (ALU)
2. Upravljačka jedinica (Control Unit)
3. Memorijska jedinica (memory Unit)
4. Sabirnica (Bus)
5. Ulazno izlazna jedinica (Input/Otput Unit)
6. Periferni uređaji (Peripheral Devices)
10 © D.Vuk 2010
Grafički prikaz modela von Neumannove AR
Spremanje programa i
Komunikacija računala sa
podataka
vanjskim svijetom:
Izvođenje programa Tipkovnica, miš, vanjske
memorije, ekran, pisač, …
Izvođenje aritmetičko logičkih operacija zahtijevanih
od strane programa
Periferne jedinice
- Obuhvaća sve vanjske uređaje koji se preko U/I jedinice odnosno sabirnice, priključuju na računalo
- To nije drugo ime za ulazno izlaznu jedinicu
11 © D.Vuk 2010
ALU - aritmetičko-logička jedinica:
• Što ALU radi?
• naziv govori: Arithmetic and Logic Unit
• aritmetičko = izvršava aritmetičke operacije (računa)
• logička = izvršava logičke operacije
• - izvršava bit-operacije
•
• ALU radi/izvodi operacije samo sa cijelim brojevima
• Floating Point operacije (ne mogu se izvoditi neposredno u ALU):
• to su operacije nad decimalnim brojevima: (npr. 3,234 ili 0,05 …)
• izvodi poseban FP procesor
• ALU može izvoditi FPO programski ih emulirajući kao kao cjelobrojne operacije, ali takvo
izvođenje je prilično sporo
• Svi ostali dijelovi računala služe radu ALU
12 © D.Vuk 2010
Sastav ALU :
• Sastoji se od:
• ALU u užem smislu
• Sklopovi koji izvršavaju aritmetičke i logičke operacije
• Registri – koje ALU neposredno koristi
• Registri opće namjene
• Akumulator(i)
• Statusni registar
• Sklopovlje koje ih povezuje
13 © D.Vuk 2010
ALU simbol i shema:
----INPUTI------->
ALU
UPRAVLJAČKI SIGNALI NA STATUSNE OZNAKE
TEMELJU KOJIH SE (ZASTAVICE)
ODABIRE FUNKCIJA, NPR.
ADD, SUB, ..
REZULTAT
14 © D.Vuk 2010
Registri:
• Registri su brze memorije s direktnim pristupom
• Njihova brzina odgovara brzini rada UJ i ALU sklopovlja
• Registri sadrže privremene rezultate rada ALU
• Sadržaj registara su nizovi binarnih vrijednosti (0,1)
• Izgrađeni su kao nizovi bistabila
• Svaki bit - po jedan bistabil
• Bitova u jednom registru (2x): 8, 16, 32, 64,128… bita !
• CPU najčešće sadrži od 32 na više registara
• Nisu svi registri jednake veličine
• Postoje specijalni registri i registri opće namjene
• Neke instrukcije zahtijevaju za operande točno određene registre, u kojima mogu biti ili samo
podaci ili samo adrese
15 © D.Vuk 2010
8- bitni registar
7 6 5 4 3 2 1 0 bitovi od 0 do 7
0 0 0 0 0 0 0 0 = 0 decimalno
1 1 1 1 1 1 1 1 = 255 decimalno
17 © D.Vuk 2010
Što je glavna zadaća upravljačke jedinice?
• Izvršavanje instrukcija u širem smislu, a obuhvaća:
• Pribavljanje instrukcije
• Dekodiranje instrukcije (opkod)
• Aktiviranje izvršenja instrukcije
18 © D.Vuk 2010
Instrukcija i instrukcijski skup?
• Instrukcija:
To je jedna od operacija iz skupa mogućih instrukcija/operacija koju je procesor u stanju izvršiti
Instrukcija se sastoji od :
- Instrukcijskog koda tj., od binarne oznake/šifre instrukcije , koja se naziva operacijski kod (opkod)
- Operanada :
- Operandi su vrijednosti ili adrese gdje se vrijednosti nalaze, nad kojima se izvodi operacija koju instrukcija
izvodi
- Operandi mogu biti podaci-konstante ili/i adrese
- neke instrukcije nemaju operande, a neke ih imaju
Napomena: ovdje su instrukcije napisane simbolički radi razumijevanja primjera, dok su strojne instrukcije stvarno izražene kao binarni
zapis
19 © D.Vuk 2010
Instrukcija i instrukcijski skup?
• Instrukcijski skup:
• To je skup svih strojnih instrukcija koje procesor sadrži, odnosno koje može izvesti
• Zavisi od pojedinog tipa procesora
• IS predstavlja arhitekturu procesora
• Instrukcije su ugrađene kao digitalni elektronički sklopovi u UJ
20 © D.Vuk 2010
Glavni dijelovi upravljačke jedinice:
• Program Counter – programsko brojilo: Sadrži adresu iduće instrukcije koja će se izvršavati, nakon završetka tekuće
dohvaćene instrukcije
• Instruction Register – instrukcijski registar: Sadrži instrukciju dohvaćenu iz memorije, koja će se izvršiti (opkod i
operande)
• Instrukcijski dekoder: Na temelju op. koda dekodira dohvaćenu instrukciju tj., aktivira potrebne sklopove za njeno
izvršavanje
21 © D.Vuk 2010
Sabirnice - fundamentalna pitanja:
Sabirnica treba riješiti
tipične probleme:
22 © D.Vuk 2010
Definicija sabirnice:
• Sabirnica (Bus) je:
• Djeljiva komunikacijska veza (shared link)
• Jedinstven sklop ožičenja koji se koristi za povezivanje dvije ili više jedinica
(komponenti) računala
23 © D.Vuk 2010
Definicija sabirnice:
Sabirnica sadrži 4 segmenta:
1. Adresna sabirnica
• Određuje izvor ili odredište podataka – adresu
• Širina adresne sabirnice definira kapacitet memorije koju je moguće adresirati (adresnog prostora):
• 8 bita – 256 Bajtova
• 16 bita – 64 KB
• 32 bita – 4 GB
• …
2. Podatkovna sabirnica
• Prenosi podatke
• Nema razlike na toj razini između “podataka” i “instrukcija” – i jedno i drugo su podaci
• Širina podatkovne sabirnice
• može biti : 8,16, 32, 64 bita,…
• to je ključni faktor performansi
• ..
3. Upravljačka sabirnica
• Provodi upravljačke i tajming signale
4. Ostale veze/signali (napon, clock, masa,…)
24 © D.Vuk 2010
Višestruke sabirnice:
• Računalo obično posjeduje više sabirnica:
• hijerarhijski organiziranih
• Međusobno povezanih sučeljima/mostovima (interface/bridge)
• Brže sabirnice su bliže procesoru
• Priključak za brze jedinice većeg kapaciteta
• Sporije sabirnice su udaljenije od procesora
• Priključak za sporije jedinice manjeg kapaciteta
25 © D.Vuk 2010
Sabirnice mikroračunala (PC):
• Interna (unutrašnja) sabirnica
• Povezuje jedinice unutar mikroprocesora
26 © D.Vuk 2010
Sabirnice mikroračunala:
• Neke od sabirnica osobnih računala
• Paralelne:
• PCI Express (PCIe) – to je glavna
sabirnica suvremenih osobnih računala
• izvedbe: x1 , x2, x4, x16 – lane (put)
•PCI Express ×4
• PCI-X -64 bita - namijenjene za servere •PCI Express ×16
• Stariji tipovi: •PCI Express ×1
• PCI –stari tip (32 bita, 5V) •PCI Express ×16
• AGP - Accelerated Graphics Port - za grafiku •Conventional PCI (32-bit, 5 V)
• Serijske:
• USB - Universal Serial Bus - priključak za do 127 uređaja
• FireWire (IEEE 1394) - priključak za do 63 uređaja
• Stariji modeli (uglavnom nisu u upotrebi):
• ISA
• VESA
• Microchanal
27 © D.Vuk 2010
PCIe – propusnost (troughput) prema verzijama i broju puteva (x lane)
https://en.wikipedia.org/wiki/PCI_Express
28 © D.Vuk 2012
29 © D.Vuk 2012
PCI sabirnica:
30 © D.Vuk 2010
Primjer hijerarhije sabirnica: Pentium procesor
Processor/Memory
Bus
PCI Bus
I/O Busses
31 © D.Vuk 2010
Ulazno-izlazna jedinica (I/O)
32 © D.Vuk 2012
Ulazno-izlazna jedinica (I/O)
• Pomoću U/I J računalo komunicira sa perifernim uređajima:
• Eksterne memorije
• Ispis
• Unos podataka i naredbi
• Multimedija
• ….
• Problem ulaza/izlaza:
• UI uređaji su mnogo puta sporiji od CPU
• Postoji mnoštvo specifičnosti koje karakteriziraju pojedine uređaje
33 © D.Vuk 2010
I/O moduli:
U/I -> Ulaz/Izlaz (engl.: I/O - Input/Output)
• U/I moduli su sklopovi U/I jedinice
• Problemi periferije:
• različitost periferije:
• prijenos različitih količina podataka
• različite brzine
• različiti formati
• sporost
• sve I/O jedinice su sporije od CPU i RAM-a
• Potrebni su I/O moduli (U/I moduli)
• nalaze se između pojedinih tipova perifernih jedinica i CPU i RAM-a
• ublažavaju negativan efekt različitosti i sporosti
• rasterećuju CPU i RAM
34 © D.Vuk 2010
Blok-dijagram U/I modula
Sistemska
sabirnica:
Adr/Podat/Uprav.
Veze prema
perifernim
uređajima
35 © D.Vuk 2010
Funkcije U/I modula:
• upravljanje i tajming
• komunikacija sa CPU
• komunikacija sa jedinicom
• baferiranje podataka
(privremeno spremanje podataka u lokalnu memoriju-buffer)
• otkrivanje grešaka
36 © D.Vuk 2010
Vrste U/I modula:
• U/I kanali ili U/I procesori
• Kompleksnije su izvedbe
• omogućuju obradu do najsitnijih detalja, bez učešća procesora
• omogućuju visoku razinu sučelja prema procesoru
37 © D.Vuk 2010
MEMORIJA
38 © D.Vuk 2010
Definicija memorije:
• Memorija je kolekcija ćelija
• koje mogu sadržavati binarne podatke
• sa pridruženim sklopovljem za input i output, odnosno
• sa mogućnošću čitanja i pisanja sadržaja ćelija
39 © D.Vuk 2010
Generalna podjela memorija:
• Memorije računala se generalno dijele na:
• Memorija u procesoru
• Registri
• Privremena (Cache) memorija
• Interna ili glavna memorija
• RAM
• Eksterni cache
• Eksterna ili sekundarna memorija
• Čvrsti (Hard) diskovi,
• magnetne trake,
• CD/DVD,…
40 © D.Vuk 2010
Položaj memorije u arhitekturi računala:
41 © D.Vuk 2010
Shema i funkcioniranje memorijskog podsustava:
•MAR - Memory Address Register –memorijski adresni
registar:
•Sadrži adresu ćelije koju treba pročitati ili na koju treba upisati sadržaj
iz/u MDR
42 © D.Vuk 2010
Organizacija memorije: LE/BE
• Poredak bajtova u riječi nije jednak kod svih procesora
postoje dvije varijante:
Primjer:
• IBM i SPARC procesori: Big endian
• INTEL procesori: Little endian
43 © D.Vuk 2010
Memorijske performanse: Vrijeme pristupa i memorijski ciklus
44 © D.Vuk 2010
Vrste memorija:
• Prema trajnosti memorijskog zapisa:
• Neizbrisive/stabilne (engl.: non-volatile)
• Sadržaj (zapis) ostaje trajno pohranjen i nakon prekida napajanja
45 © D.Vuk 2010
UICT
46
47 Reprezentacija programske logike :
© D.Vuk 2018.
48 Reprezentacija programske logike :
© D.Vuk 2018.
49 Asembler (Assembler):
© D.Vuk 2018.
50 Kod u asembleru i kod u strojnom jeziku:
IBM 370 Assemblerski kod preveden u strojni jezik (strojni kod : heksadecimalni zapis (lijevo) i binarni zapis (desno))
© D.Vuk 2018.
51
Primjer strojnog koda za dva različita stroja
Intel :
© D.Vuk 2018.
52
Proces asembliranja
Izvorni kod napisan u
Pod pojmom asembler razlikujemo dvije asemblerskom jeziku
stvari:
- Asemblerski jezik
- Program koji prevodi (asemblira) Assembler
assemblerski program/kod u strojni kod
Objektni kod
© D.Vuk 2018.
53
Asembliranje: primjer jednostavnog programa
© D.Vuk 2018.
54
Asembliranje: primjer jednostavnog programa
© D.Vuk 2018.
P1 Početak asembliranja
Adrese Sadržaji
memorijskih memorijskih
lokacija lokacija
Verzija: 3 55
P1 Prvi redak: konstanta addr predstavlja adresu
To je potrebno za nastanak
strojnog koda, tj., strojne
instrukcije
Verzija: 3 56
P1 Izvrši drugi redak: op.kod i vrij.simb postavi u mem.
2.red: 1.instrukcija
Verzija: 3 57
P1 Izvrši treći redak :op.kod postavi u memoriju
2.red: 1.instrukcija
3.red: 2.instrukcija
Verzija: 3 58
P1 Izvrši četvrti redak:
2.red: 1.instrukcija
3.red: 2.instrukcija
4.red: 3.instrukcija
65 © D.Vuk 2018.
2. Dohvat operanda: LD A, (0x0201)
66 © D.Vuk 2018
3. Dohvat operanda: LD A, (0x0201)
67 © D.Vuk 2018.
4. Izvrši: LD A, (0x0201)
68 © D.Vuk 2018.
5. Korak – dohvati i izvrši (pribroji): ADD A, 0x20
69
6. Korak: JP 0x0000
70