You are on page 1of 36

Архитектура рачунара и

оперативни системи
Др Дејан Симић, dsimic@fon.rs
Факултет организационих наука
Универзитет у Београду

11/9/2018 1

Termini predavanja

Utorkom, časovi predavanja


14:15 – 16h B4, B5, B6
(Sala B009)
Četvrtkom, časovi predavanja
14:15 – 16h B1, B2, B3
(Sala B009)

11/9/2018 2

1
Termin konsultacija

Utorkom, 17h – 19h, Kab. 217

11/9/2018 3

LITERATURA

LITERATURA – UDŽBENIK & elektronski sadržaj

D. Simić, P. Bataveljić, “Organizacija računara i operativni


sistemi”, 2011. god., četvrto izdanje, FON, udžbenik
(skriptarnica Fakulteta)

Materijal u elektronskom obliku, 2018. god.

11/9/2018 4

2
LITERATURA

11/9/2018 5

DOPUNSKA LITERATURA
The image part with relationship ID rId1 was not found in the file.

[William Stallings, 2013] William Stallings, “Organizacija i


arhitektura računara – Projekat u funkciji performansi”, Prevod
devetog izdanja, Prevod Računarski fakultet, CET Beograd,
2013.

[Tanenbaum, 2012] Andrew, S., Tanenbaum, “Structured


Computer Organization”, 6th Edition, Prentice Hall, Inc., 2012.

[Silberschatz, 2012] Silberschatz Avi, Galvin Peter, Gagne


Greg, “Operating System Concepts”, 9th Edition, John Wiley &
Sons, 2012.

11/9/2018 6

3
DOPUNSKA LITERATURA

11/9/2018 7

DOPUNSKA LITERATURA - nastavak

[Hennessy, 2012] Hennessy L. John, Patterson A. David,


Arpaci-Dusseau C. Andrea, Arpaci-Dusseau H. Remzi,
Asanovic Krste, “Computer Architecture: A Quantative
Approach”, (6th Edition), The Morgan Kaufmann Series in
Computer Architecture and Design, 2012.

[Patterson, 2017] Patterson A. D. and Hennessy L. J.,


“Computer Organization and Design: The
Hardware/Software Interface” (RISK-V Edition), The Morgan
Kaufmann Series in Computer Architecture and Design,
2017.

11/9/2018 8

4
DOPUNSKA LITERATURA na engleskom jeziku

11/9/2018 9

Sadržaj predmeta I deo


ARHITEKTURA RAČUNARA

Arhitektura računara

Organizacija računara

Model računara

Osnovne funkcije računara

Izvršavanje instrukcija (naredbi)


programa unutar centralnog procesora

Performanse računara

Preklapanje i paralelno izvršavanje


instrukcija

Amdalov zakon

11/9/2018 10

5
Sadržaj predmeta I deo – nastavak
ARHITEKTURA RAČUNARA

Format instrukcija

Načini adresiranja

Strukturna organizacija računara

Komunikacija između CPU i memorije

Tipovi instrukcija na mašinskom nivou

Asembler i programiranje u asembleru

Upravljanje izvršavanjem programa

Mikroprogramski nivo

11/9/2018 11

Sadržaj predmeta II deo


PRINCIPI RADA OPERATIVNIH SISTEMA

Uvodni deo u operativne sisteme

Upravljanje procesima

Upravljanje memorijom

Dodeljivanje procesora procesima

Deadlock (potpuni zastoj)

Upravljanje podacima

Zaštita podataka u operativnim


sistemima

11/9/2018 12

6
MODEL IZVRŠAVANJA ELEMENTARNIH
OPERACIJA NA RAČUNARIMA

Da bi se funkcija f(x) evaluirala na računaru ona se


mora predstaviti kao niz funkcija:

f1, f2, f3, …, fn

od kojih se svaka može izraziti pomoću skupa


elementarnih operacija koje računar može da izvrši.

11/9/2018 13

FORMALIZACIJA RAČUNANJA NA RAČUNARU

Tada se niz funkcija:

Y1 = f1(x)

Y2 = f2(Y1)

Y3 = f3(Y2)

Yn-1 = fn-1(Yn-2)

Z = fn(Yn-1)

može posmatrati kao program koji računar može da izvrši i predstavlja formalnu definiciju
računanja.

11/9/2018 14

7
OBRADA PODATAKA & ALGORITMI
Svaka obrada podataka se može opisati algoritmom kojim se definiše:

a) skup operacija koje je potrebno izvršiti i

b) redosled njihovog izvršavanja.

Da bi se tako definisan skup operacija mogao smatrati algoritmom on mora da


poseduje osobine:

KONAČNOSTI – u smislu da se mora izvršiti u konačnom broju koraka i

DETERMINISANOSTI – u smislu da svaka operacija mora biti precizno definisana da


se može jednoznačno protumačiti.

11/9/2018 15

Arhitektura računara

“The architecture of a computer is the interface


between the machine and the software”

- Andris Padges
IBM 360/370 Architect

11/9/2018 16

8
Arhitektura i organizacija računara

Arhitektura računara ≠ Organizacija računara

Arhitektura računara je naučna oblast koja daje


odgovor na pitanje:
“Kako projektovati delove računarskog sistema
koji su vidljivi programeru?”
Primeri atributa arhitekture računara su:
skup instrukcija (naredbi, načini adresiranja
memorije, U/I mehanizmi, broj bitova koji se
koriste za predstavljanje raznih tipova podataka
(brojeva, znakova, ...).
11/9/2018 17

Organizacija računara

Organizacija računara prikazuje strukturne veze unutar


računara koje nisu vidljive od strane programera, kao
što su na primer
interfejsi ka periferijskim uređajima,
učestanost takta i tehnologija koja se koristi za
memoriju,
tok informacija između komponenata,
mogućnosti i performanse funkcijskih jedinica (na
primer, registara, ALU, “shifter”-a itd.).

Primeri atributa organizacije računara su: upotrebljena


memorijska tehnologija, upravljački signali, interfejsi
između računara i periferijskih uređaja.

11/9/2018 18

9
Hardverske komponente

Procesori

Memorija

U/I uređaji

Magistrale

Kućište računara

Napajanje

11/9/2018 19

Lista najpoznatijih kompanija u kojima se


hardver projektuje

Intel

AMD

IBM

ARM

Qualcomm

NVIDIA

Samsung

11/9/2018 20

10
Hardver

CPU Memory Floppy Hard


Video Keyboard
disk Disk
Controller Controller
Controller controller

11/9/2018 21

Uticaj novih tehnologija

Promene u tehnologiji dovode do promena u organizaciji


računara, a to dalje dovodi do uvođenja moćnijih i
složenijih arhitektura računara.

Model računara obuhvata izabranu (projektovanu)


arhitekturu računara, dok organizacija računara može
da se menja u okviru istog modela računara.

Proizvođači računara nude familiju modela računara pri


čemu svi imaju istu arhitekturu, ali postoje razlike u
organizaciji.

Različiti modeli računara imaju različite cene i različite


karakteristike performansi.

11/9/2018 22

11
Trendovi povećanja takta procesora

11/9/2018 23

Poboljšanje performansi – Murov zakon


Transistors
(1000s)

clock speed
(MHz)

power (W)

Instructions/cycle
(ILP)

11/9/2018 24

12
Performanse mikroprocesora

50% poboljšanje svake godine!!


Šta doprinosi ovom poboljšanju?
11/9/2018 25

The Big Picture

“Both hardware and software consist of hierarchical


layers, with each lower layer hiding details from the
level above.
This principle of abstraction is the way both hardware
designers and software designers cope with the
complexity of computer systems.
One key interface between the levels of abstraction
is the instruction set architecture: the interface
between the hardware and low-level software. This
abstract interface enables many implementations of
varying cost and performance to run identical
software.”
John L. Hennessy
David A. Patterson
11/9/2018 26

13
Apstrakcija i složenost

Aplikacija
Apstrakcija omogućava
upravljanje složenošću Operativni sistem
sistema
Složeni interfejsi Prevodilac

 Specificiraju šta treba


Mašinski jezik (ISA)
uraditi
 Skrivaju detalje kako Digitalna logika

Elektronska kola

Poluprovodnički uređaji

11/9/2018 27

Računar - mašina koja ima više nivoa


apstrakcije – nivoi transformacije
Virtuelna mašina Mn, sa
mašinskim jezikom Ln

...
Virtuelna mašina M2, sa
mašinskim jezikom L2

Virtuelna mašina M1, sa


mašinskim jezikom L1

Stvarni računar M0, sa


mašinskim jezikom L0

11/9/2018 28

14
Nivoi transformacije

Problem
Algorithm
Program/Language
Runtime System
(VM, OS, MM)
ISA (Architecture)
Microarchitecture
Logic
Circuits
Electrons

11/9/2018 29

Istorija procesora

God. Događaj Komentar


1947 Prvi transistor Bell Labs
1958 Prvo integrisano Jack Kilby – dobitnik
kolo (IC) Nobelove nagrade
1971 Prvi mikroprocesor Intel
1974 Intel 4004 2300 tranzistora
1978 Intel 8086 29K tranzistora
1989 Intel 80486 1.M tranzistora, “pipelined”
1995 Intel Pentium Pro 5.5M tranzistora
2005 Intel Montecito 1B tranzistora

11/9/2018 30

15
Pentium

8088
• 8 Bit CPU
• 4 mhz
• 1MB ram addressable
Pentium IV
• 32 Bit CPU
• 2 ghz
• 4GB ram addressable

11/9/2018 31

Pentium procesori

1993 Pentium Intel Prvi personalni računari sa ugrađenim


Pentium procesorom

2001 Pentium 4 Intel Prvi personalni računari sa ugrađenim


Pentium 4 procesorom

2004 Pentium 4 Intel 2 MB skrivene memorije trećeg nivoa.


“Extreme
Edition”

2006, Intel Core Intel Procesori za mobilne uređaje, desktop


2007 računare i multi-core servere.
Ostvaruju bolje performanse uz
istovremeno niže napajanje u
odnosu na prethodne modele
procesora.

11/9/2018 32

16
Multicore

Najpre, serveri
IBM Power4, 2001
Zatim desktop računari
AMD Athlon X2, 2005
Zatim laptop-ovi
Intel Core Duo, 2006
Mobilni telefoni
ARM MPCore, prototipovi

11/9/2018 33

Trend: više jezgara na istom čipu

Core Core
Core Core Core
Core Core

Single Core Dual Core Quad Core


Core area A ~A/2 ~A/4
Core power W ~W/2 ~W/4
Chip power W+O W + O’ W + O’’
Core performance P 0.9P 0.8P
Chip performance P 1.8P 3.2P

11/9/2018 34

17
Primer čipa sa više jezgara (multicore)

DRAM BANKS
11/9/2018 35

Primer čipa sa više jezgara (multicore)

11/9/2018 36

18
Trend: paralelno procesiranje na jednom čipu

11/9/2018 37

Primer neočekivanog usporenja na


dvojezgarnom procesoru

11/9/2018 38

19
Strukturna organizacija na dvojezgarnom
sistemu

11/9/2018 39

Primer višejezgarnog procesora


• Intel Xeon E5-2699 V4 (2016)
• Application: server
• Technology: 14nm (16% of P4)

• 7.2B transistors (130x)


• 456 mm2 (4.5x)
• 2.4 to 3.6 Ghz (~1x)
• 1.8 Volts (~1x)

• 256-bit data (2x)


• 14-stage pipelined datapath (0.5x)
• 4 instructions per cycle (1x)
• Three levels of on-chip cache
• data-parallel vector (SIMD) instructions, hyperthreading
• 22-core multicore (22x)
11/9/2018 40

20
Osnovne funkcije računara

4 osnovne funkcije računara:


Upravljanje
Obrada podataka
Skladištenje podataka
Prenos podataka

11/9/2018 41

Sve funkcije računara


PRENOS
PODATAKA

MEHANIZMI
UPRAVLJANJA

SKLADIŠTENJE OBRADA
PODATAKA PODATAKA

11/9/2018 42

21
Prenos podataka
PRENOS
PODATAKA npr. kopiranje
datoteke

MEHANIZMI
UPRAVLJANJA

SKLADIŠTENJE OBRADA
PODATAKA PODATAKA

11/9/2018 43

Funkcija upravljanja
PRENOS
PODATAKA npr. load-
ovanje
podataka radi
editovanja
MEHANIZMI
UPRAVLJANJA

SKLADIŠTENJE OBRADA
PODATAKA PODATAKA

11/9/2018 44

22
Obrada podataka
PRENOS
PODATAKA npr.
izračunavanje
vrednosti po
zadatom
MEHANIZMI
algoritmu
UPRAVLJANJA

SKLADIŠTENJE OBRADA
PODATAKA PODATAKA

11/9/2018 45

Skladištenje podataka
PRENOS
PODATAKA npr. na
magnetnom
disku
MEHANIZMI
UPRAVLJANJA

SKLADIŠTENJE OBRADA
PODATAKA PODATAKA

11/9/2018 46

23
Hijerarhijska dekompozicija strukture računara
(strukturne komponente savremenih računara)

Registri

Interne CPU
međuveze

Upravljačka
jedinica

11/9/2018 47

Struktura centralnog procesora


(strukturna organizacija)

Registri Aritmetička
i logička
jedinica

Interne CPU
međuveze

Upravljačka
jedinica

11/9/2018 48

24
Aplikacije koje zahtevaju veće korišćenje
mikroprocesora

Prepoznavanje govora

Obrada slike

Video konferencije

Simulaciono modelovanje

Veštačka inteligencija

Multimedijalno izdavaštvo itd.

11/9/2018 49

ARHITEKTURA PROCESORA

Arhitektura procesora je određena sa:

- mehanizmom - skupom
prekida. registara,

- skupom
- načinima tipova
adresiranja i podataka koje
podržava,

- skupom - formatom
instrukcija instrukcija
(naredbi), (naredbi),

11/9/2018 50

25
Centralni procesor & sistemska magistrala

51

Arhitektura Von-Neumann-ove mašine

Memorija

Aritmetičko
Upravljačka logička Ulaz
jedinica jedinica
Izlaz

11/9/2018
Akumulator 52

26
“Princeton” arhitektura

11/9/2018 53

“Harvard” arhitektura

11/9/2018 54

27
Von Neumann-ov model
MEMORY
MAR MDR

INPUT OUTPUT
Keyboard Monitor
Mouse PROCESSING UNIT Printer
Scanner LED
Disk ALU TEMP Disk

CONTROL UNIT
PC IR

11/9/2018 55

Interfejs ka memoriji
Kako jedinica za procesiranje dobija podatke iz memorije?
MAR: Memory Address Register
MDR: Memory Data Register MEMORY

Za čitanje lokacije (A): MAR MDR


1. Upisati adresu (A) u MAR.
2. Poslati “read” signal memoriji.
3. Pročitati podatke iz MDR.

Za upisivanje vrednosti (X) u lokaciju (A):


1. Upisati podatke (X) u MDR.
2. Upisati adresu (A) u MAR.
3. Poslati “write” signal memoriji.

11/9/2018 56

28
Primer strukture mat. ploče
Cache

More to the “north” CPU


= closer to the CPU
= faster
CPU BUS
North Bridge DDR2 or DDR3
External Channel 1
PCI express 2.0
Graphics On-board Memory Mem BUS
Card Graphics controller DDR2 or DDR3
Channel 2

South Bridge PCI express ×1

IO Controller
USB SATA PCI
controller controller

Sound Lan
Adap
Parallel Port

Card
Serial Port

Floppy DVD Hard


keybrd mouse
Drive Drive Disk
speakers
LAN

11/9/2018 57

Flynn-ova klasifikacija računara

SISD (“Single Instruction stream,


Single Data stream”),
SIMD (“Single Instruction stream,
Multiple Data streams”),
MIMD (“Multiple Instruction streams,
Multiple Data streams”),
MISD (“Multiple Instruction streams,
Single Data stream”)
11/9/2018 58

29
SISD arhitektura

11/9/2018 59

SIMD arhitektura

11/9/2018 60

30
SIMD arhitektura

Preth. instrukcija Preth. instrukcija Preth. instrukcija


LOAD A(1) LOAD A(2) LOAD A(3)

vreme
LOAD B(1) LOAD B(2) LOAD B(3)
C(1) = A(1) + B(1) C(2) = A(2) + B(2) C(3) = A(3) + B(3)
STORE C(1) STORE C(2) STORE C(3)
Slede} a instrukcija Slede} a instrukcija Slede} a instrukcija

P1 P2 P3

11/9/2018 61

11/9/2018 62

31
MIMD arhitektura

11/9/2018 63

MIMD arhitektura

Preth. instrukcija Preth. instrukcija Preth. instrukcija


LOAD A(1) Alpha = Q**2 Beta = W + 2
vreme

LOAD B(1) Y=X/Z L=M*N


C(1) = A(1) + B(1) CALL function1 P = L**3
STORE C(1) CALL procedure1 STORE P
Slede} a instrukcija Slede} a instrukcija Slede} a instrukcija

P1 P2 P3

11/9/2018 64

32
MISD arhitektura
Tok
instrukcija 0
Upravljačka
Procesor 0
jedinica 0

Tok
instrukcija 1
Upravljačka
Procesor 1
jedinica 1
Tok
podataka

.
.
.

Tok instrukcija
N-1
Upravljačka
Procesor N-1
jedinica N-1

11/9/2018 65

Merenje brzine procesiranja

Jedinica mere - MIPS (“Millions of


Instructions Per Second”) označava
izvršavanje milion mašinskih instrukcija u
sekundi.
Jedinica mere megaflops - MFLOPS
(“Millions of FLoating point Operations Per
Second”) označava milion operacija u
pokretnom zarezu izvršenih u jednoj
sekundi.
GFLOPS, TFLOPS

11/9/2018 66

33
Tipične brzine rada U/I uređaja

67

Ubrzanje procesora

Pipelining
Cache na ploči
L1 i L2 cache na ploči

Predikcija grananja (Branch prediction)

Analiza toka podataka

Spekulativno izvršavanje (Speculative execution)


11/9/2018 68

34
Mismatch performansi

Brzina procesora se povećava

Kapacitet memorije se povećava

Brzina memorije se povećava sporije od brzine procesora

11/9/2018 69

Moguća rešenja
Povećati broj bita kojima se pristupa istovremeno
Napraviti DRAM “wider”
Promeniti DRAM interfejs
Cache
Smanjiti frekvenciju pristupa memoriji
Više složene cache memorije i cache na chipu
Povećati propusni opseg međusobne veze
Magistrale velike brzine
Hijerarhija magistrala

11/9/2018 70

35
Dijagram Itanium 2 procesora

71

36

You might also like