Professional Documents
Culture Documents
Multithreading
Multithreading
Na vrhuncu 32-bitnih računarskih dana sa jednim procesorom, Intel je objavio CPU koji se zove
Pentium 4 koji je paralelizovan u sljedećem koraku sa Hyper-Threading-om. Hyper-Threading
omogućio je Pentium 4 da istovremeno pokreće više niti, što se generički naziva istovremenim
multithreadingom, efikasno pretvarajući CPU u dva CPU-a na jednom čipu - sa ulovom.
Multithreading povećava efikasnost CPU-a, ali sa nekoliko ograničenja. Prvo, operativni sistem i
aplikacija moraju biti dizajnirani da iskoriste prednosti ove funkcije. Drugo, mada CPU simulira
radnje drugog procesora, to ne udvostručuje procesnu snagu, jer glavni izvori izvršavanja nisu
duplirani.
Multicore Processing
Dok se proizvodna tehnologija sve više i više razvija, fizička ograničenja mikroelektroničkih
elemenata baziranih na poluvodičima postala su jedna od glavnih briga u dizajniranjuračunalnih
komponenti. Neki od efekata tih fizičkih ograničenja su velika disipacija topline (problem
zagrijavanja) i problemi sinkronizacije podataka (gubitak podataka). Potreba za sve više
kompleksnim i sposobnim procesorima dovela je proizvođače procesora do toga da različitim
metodama ostvare ciljeve. Zato se danas javljaju višejezgreni procesori. U sljedećih nekoliko
godina nesumnjivo je da možemo očekivati konstantno povećanje broja jezgri na jednom čipu.
Sada se javlja prilika za ponovnu upotrebu Mooreovog zakona, ali u smislu povećanja broja
jezgri, a ne tranzistora, no u kojem vremenskom periodu ostaje nepoznato. Također je za
očekivati da će razvoj arhitekture procesora pratiti i mogućnosti njihovog programiranja, jer puno
jezgri u procesoru ne znači ništa ako nemamo programsku podršku optimiziranu za izvođenje na
takvim procesorima.
Danas je trend takav da imamo “višejezgrene procesore” (multi- core processors) sa dvije, četiri,
osam jezgri, ali to se kreće prema “punojezgrenim procesorima” (many- core processors) koji će
imati desetine ili stotine jezgara.
Brzina CPU-a je pogodila praktičnu granicu od približno 4 GHz u periodu 2002-2003, što je
motivisalo proizvođače procesora da pronađu nove načine da dobiju više procesorske snage za
procesore. Iako su Intel i AMD imali različita mišljenja o 64-bitnim CPU-ima, obojica su se u
isto vrijeme odlučili da kombinuju dva CPU-a (ili jezgre) u jedan čip, stvarajući dvojezgarnu
arhitekturu. Dvojezgreni CPU ima dvije jedinice za izvršenje - dva seta cevovoda - ali dva seta
cevovoda dele memorije i RAM memorije
Danas su mnogobrojni procesori - sa četiri, šest ili osam jezgara - česti.
Iako je njegova upotreba izbledela nakon Pentium 4, Intel je Hyper-Threading vratio na
mainstream procesore Core i7 2011. godine (i nekoliko godina ranije sa low-powered Atom
procesorima), a Microsoft optimizovao verzije Windows 7 i novije verzije podržati tehnologiju.
Core i7 ima L1, L2 i L3 kešere od 64 KB, 256 KB i 15 MB, respektivno. (L1 cache dijeli na 32
KB za obradu podataka - D-Cache-i još 32 KB za instrukcije-I-Cache.) Svako jezgro ima
namenske L1 i L2 keše. (Ovo možete da kažete za × 6 desno od spiska kapaciteta.) Svih šest
jezgara dijele džinovsku L3 keš memoriju. Taj bazen memorije omogućava jezgri da
komuniciraju i rade zajedno bez potrebe za pristupom radikalno sporijoj RAM memoriji.
Proizvođači CPU-a konstruisali su jezgre u više jezgrenim procesorima kako bi dijelili rad
nezavisno od operativnog sistema, poznatog kao Multicore Processing. Ovo se razlikuje od
Hyper-Threading-a, đe OS i aplikacije moraju biti napisane posebno za obradu više navoja.
Imajte na umu da čak i kod višekorisnih procesora aplikacije moraju biti modifikovane ili
optimizovane da bi ova paralelizacija imala veliki uticaj na performanse.
Savremeni procesori imaju više jezgara po fizičkom procesoru. Ovo je poznato i kao chip
multiprocesor (CMP) arhitektura, đe jedan fizički CPU može imati mnogo logičkih CPU jezgara,
svako jezgro funkcioniše kao fizički CPU sama po sebi. Važno je da CPU raspoređivač bude
svjestan procesora postavki i njihovih jezgara.
Neki moderni procesori su opremljeni sa zajedničkim keš memorijama L2 ili L3, koji bi mogli da
dele mnoge jezgre. Poslednji keš memorija ili LLC označava keš nad kojim se pristup mora otići
u memoriju. Drugim riječima, ako se traženi podaci ne drže u LLC, procesor će morati pristupiti
glavnoj memoriji. Pogađanje keša se javlja kada procesor uspe da pristupi podacima iz keša.
Propuštanje keša se javlja kada se traženi podaci ne drže u keš memoriji. Zbog toga što je LLC
još uvek znatno brži od glavne memorije, važno je održati visoku brzinu keširanja u LLC-u kako
bi održali dobre performanse.
Savremeni procesori
Savremeni računari imaju 64-bitne procesore i višejezgarni su.
U procesorima Intel Core sedme generacije koriste se energetski efikasna arhitektura, napredna
procesna tehnologija i optimizacija veličine a sve kako bi se postigle brži rad u odnosu na
prethodnu generaciju procesora.Pristup internetu je ubrzan u odnosu na prethodnu generaciju. Na
procesorima su poboljšane performanse, smanjena potrošnja energije i to na način da se to
postiglo u baš onim trenuvcima kada je to najpotrebnije za rad procesora. Tipični procesori
sedme generacije-Y i U podržavaju 2 jezgra (cores) i 4 niti (threads) uz tehnologiju Hyper-
Threading. Značajno su povećane grafičke performance, Namjensko ubrzanje hardvera znatno
smanjuje potrošnju energije i omogućava tri puta više vremena trajanja baterije tokom lokalne 4K
video reprodukcije. Postignut je napredak u brzini prenosa podataka, brže je pokretanje računara
itd.
1. 45 nm u 2007.;
2. 32 nm u 2009;
3. 22 nm u 2011.;
4. 14 nm u 2015.
Uz sve manji 3D tranzistor, Intel dizajnira moćnije procesore. Nova tehnologija omogućava
inovativne mikroarhitekture, koji se upotrebljavaju za nove proizvode – računare, servere,
mobilne telefone, POS uređaje itd.
Neki proiyvodjači, prije svih Samsung i Apple za svoje najsavremenije telefone I tablete koriste
sopstvene verzije procesora od 10 nm.
Intelova tehnogija 10 nm će, procenjuje se, biti generacija ispred drugih "10 nm" tehnologija.
Efikasnija ušteda energije će se ostvariti upotrebom tranzistora koji su još manji.
“… Intelov proces od 10 nm isporučuje do 25 posto bolje performanse i 45 posto nižu snagu nego
prethodna 14 nm tehnologija. Intel 10nm takođe ima značajan učinak u odnosu na drugu
industriju "10nm" tehnologije. Nova, poboljšana verzija procesa od 10 nm, nazvana 10 ++, može
povećati performanse dodatnih 15 odsto ili smanjenje snage za 30 odsto…”[6]
# of Cores 4
# of Threads 8
Cache 8 MB SmartCache
TDP 28.0 W
Ako bi željeli prostije da predstavimo jezgra procesora, možemo napraviti paralelu sa hard
diskom i podjelom hard diska na particije. “Threads” nije ništa drugo do virtuelno jezgro.
Karakteristike mikroprocesora[1]
A. ŠIRINA MIKROPROCESORA
Mikroprocesori 8088 i 386SX imaju unutrašnje registre (unutrašnju sabirnicu podataka) koji su
dvostruko veći od spoljašnje magistrale podataka. Potrebna su dva ciklusa da bi se unutrašnji
registri napunili podacima iz spoljašnje magistrale, odnosno da bi se podaci iz unutrašnjih
registara prebacili na spoljasnju magistralu podataka.
Mikroprocesori Pentium I, II, III, IV, i Itanium 2 imaju unutrašnje registre (unutrašnju sabirnicu
podataka) koji su dvostruko manji od spoljašnje magistrale podataka. Problem se rješava
primjenom superskalarnog izvršavanja naredbi. Superskalarna arhitektura predstavlja višestruke
protočne obrade podataka. Mikroprocesor Pentium I ima dva unutrašnja 32-bitna protočna
procesora za obradu podataka. Mikroprocesori Pentium III i IV imaju šest unutrašnjih protočnih
obrada podataka.
Adresna magistrala predstavlja skup provodnika koji se koriste za za definisanje adrese
memeorijske lokacije RAM-a u koju mikroprocesor šalje neki podatak, ili adrese memorijske
lokacije RAM-a sa koje mikroprocesor čita neki podatak. Veličina adresne magistrale određuje
najveću količinu RAM memorije sa kojom mikroprocesor može da komunicira. Ako je veličina
n
adresne magistrale n bita, mikroprocesor može da adresira 2 memorijskih lokacija, a svaka
memorijska lokacija sadrži 8 b=1 B memorije:
20
- 8088, 8086: 20-bitna adresna magistrala - 2 B=1 048 576 B=1024 kB=1 MB;
24
- 286, 386SX: 24-bitna adresna magistrala - 2 B=16 772 216 B=16 MB;
32
- 386DX, 486, Pentium I: 32-bitna adresna magistrala - 2 B=4 GB;
36
- Pentium II, III, IV: 36-bitna adresna magistrala: 2 B=16 GB;
44
- Itanium: 44-bitna adresna magistrala: 2 B=16 TB;