Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Mc lc

DANH MC HNH V .....................................................................................................2


LI NI U .....................................................................................................................3
1. Multicore l g?................................................................................................................4
2. Ti sao cn Multicore? ...................................................................................................5
2.1. Phng php tng tc ng h .........................................................................5
2.2. ng ng ha b vi x l .....................................................................................7
2.3. Phng php siu phn lung ................................................................................8
3. Cc k thut trong Multicore ...................................................................................... 10
3.1. Multicore kt hp vi Hyper Threading ............................................................ 10
3.2. Cc vn kt hp Multicore vi b nh Cache ............................................. 12
4. H iu hnh v chng trnh trong Multicore ........................................................ 17
5. Kt Lun ........................................................................................................................ 20

DANH MC HNH V

Hnh 1. S khi ca my tnh .......................................................................................4


Hnh 2. Cu to ca mt Core............................................................................................4
Hnh 3. S khi h thng Multicore ............................................................................5
Hnh 4. Biu thi gian kch thc ca Transistor t 2000-2020..............................6
Hnh 5. T l hiu nng so vi tc ng h ca vi x l hng Intel........................6
Hnh 6. Minh ha qu trnh thc hin Pipeline................................................................7
Hnh 7. S lng ph ALU....................................................................................................8
Hnh 8. Minh ha siu phn lung ....................................................................................9
Hnh 9. Tranh chp gia hai lung trong STT .............................................................. 10
Hnh 10. Multicore kt hp vi Hyper Threading........................................................ 11
Hnh 11. Chip i5-4200U 2 nhn, 4 lung ...................................................................... 11
Hnh 12. So snh tc v gi c cc loi b nh ....................................................... 12
Hnh 13. Cc kiu kt hp b nh trong Multicore ..................................................... 13
Hnh 14. Xung t d liu trong Multicore................................................................... 13
Hnh 15. Xung t d liu trong Multicore................................................................... 14
Hnh 16. Xung t d liu trong Multicore................................................................... 14
Hnh 17. Xung t d liu trong Multicore................................................................... 15
Hnh 18. Phng php v hiu ha d liu ................................................................... 15
Hnh 19. Phng php v hiu ha d liu ................................................................... 16
Hnh 20. Phng php v hiu ha d liu ................................................................... 16
Hnh 21. Phng php cp nht d liu ........................................................................ 17
Hnh 22. V d v Affinity masks khng c Hyper Threading................................... 18
Hnh 23. V d v Affinity masks c Hyper Threading .............................................. 18
Hnh 24. Set affinity trong Window............................................................................... 19

LI NI U
Ngy ny, vi tc pht trin nhanh chng ca x hi, nhu cu x l
thng tin ca ngi dng l ngy cng tng, i hi nhng chic my tnh
phi trang b cho mnh cc b x l mnh m v ng thi phi c gi thnh
hp l. Chnh v vy, ngy cng c nhiu gii php nng cao hiu nng ca
my tnh c a ra. Mt trong cc phng php v ang c p dng
vo thc t thnh cng l phng php nng cao hiu nng ca my tnh theo
cng ngh Multicore. y l mt cng ngh rt mi v th v. V vy, nhm
chng em quyt nh chn ti Tm hiu v cng ngh Multicore v cc
phng php ci thin hiu nng ca my tnh cp nht thm nhng kin
thc mi cho bn thn.
Trong bi tp ln ny, nhm chng em tm hiu xoay quay cc vn
chnh nh: cng ngh Multicore l g, u nhc im ca cng ngh
Multicore, so snh cng ngh Multicore vi cc cng ngh ci thin hiu nng
khc. Trong bi vit, nhm chng em xin trnh by ngn gn, tp trung vo
cc chnh ca tng vn .
Do thi gian tm hiu cn hiu hn ch nn trong bi vit khng trnh
khi nhng thiu st. V vy, chng em rt mong nhn c nhng kin
gp t c hon thin hn kin thc v vn ny.
Cui cng, nhm chng em xin chn thnh cm n c gio Ths. T
Kim Hu cho chng em mt ti th v.
Nhm sinh vin
S-BkFet

1. Multicore l g?
Nh chng ta bit, mt chic my tnh n gin l mt h thng bao gm
4 thnh phn: n v x l trung tm (CPU), b nh, thnh phn giao tip vi cc
thit b ngoi v v mt h thng bus. Trong , CPU l thnh phn quan trng nht
ca mt chic my tnh. Cu to c bn ca CPU bao gm 3 thnh phn:
ALU: n v tnh ton s hc v logic
Register file: tp thanh ghi
Bus Interface: n v iu khin h thng bus

Hnh 1. S khi ca my tnh

Hnh 1 th hin s khi ca mt chic my tnh. Trn , trong phn


vung mu chnh l cc thnh phn ca mt chic CPU n gin, chic CPU ny
ch c mt core. Vy Core l g?
Hnh 2, gii thch khi nim core ca CPU. Core
y c th hiu l mt li vi hai thnh phn l
ALU v tp thanh ghi kt ni vi nhau. Mt iu
lu , mt core khng c coi l mt chic CPU
y , n ch l mt thnh phn trong CPU.
T y, ta c th hiu cng ngh Multicore l cng
ngh thay v ch s dng mt core cho mt chic
CPU, ta s tch hp nhiu core ln trn cng mt
Hnh 2. Cu to ca mt Core

khun CPU v cc core ny cng s dng chung cc thnh phn ca my tnh.


hiu r ta hy theo di Hnh 3, trn hnh v minh ha s khi ca mt chic CPU
s dng theo cng ngh Multrcore.

Hnh 3. S khi h thng Multicore

n y, ta c th hnh dung ra cch nng cao hiu nng ca my tnh s


dng cng ngh ny. Trong cng ngh ny, ngi ta tng s lng cc n v tnh
ton ca CPU. C ngha l thay v trong mt thi im ch thc hin c mt tc
v, ta c thc hin ti a N tc v ng thi, vi N l s core ca CPU. Tuy nhin,
phng php ny cng c cc u v nhc im ca n. Nhng trc ht, ta hy
tm hiu v sao ngi ta li s dng cng ngh Multicore bng cch phn tch cc
mt hn ch v gii hn ca cc cng ngh c p dng trc nh: tng tc
ng h, ng ng ha b vi x l (Pipeline), cng ngh siu phn lung (Hyper
Threading hay Simultaneous multithreading).

2. Ti sao cn Multicore?
2.1. Phng php tng tc ng h
Nh chng ta bit, tc ng h l mt trong nhng nguyn nhn quyt
nh n hiu sut ca my tnh. Cng mt chic my tnh, khi m tc ng h
tng th thi gian thc hin mt lnh s gim xung, ngha l trong cng mt
khong thi gian ta thc hin c nhiu lnh hn hay hiu nng ca my tnh s
tng ln. Tuy nhin tc ca ng h ph thuc vo kch thc ca cc transistor,
tng tc ng h i hi kch thc ca cc transistor phi ngy cng nh.
ng ngha vi vic ch to ra mt chic CPU hiu nng cao ngy cng kh khi m
cng ngh ch to Transistor ang dng li cng ngh 22nm v rt kh khn
c th ch to ra mt chic Transistor nh hn na.

Hnh 4. Biu thi gian kch thc ca Transistor t 2000-2020

Hnh 5. T l hiu nng so vi tc ng h vi x l ca hng Intel

Mt nguyn nhn khc khin vic tng tc ng h nhanh t n gii


hn ca n l khi ta tng tc ng h, in nng tiu th ca mt chic CPU
cng tng ln mt cch nhanh chng theo hm bnh phng ca tc ng h.
6

iu ny, khin chic my tnh tr nn nng hn v cn phi c cc h thng tn


nhit t tin. Qua thc t, ngi ta nhn thy rng t l hiu nng so vi gi thnh
sn phm theo cch tng xung nhp nhanh t n mt ngng ti hn.
V cc l do trn, chng ta cn phi c cc phng php khc tt hn gii
quyt tng hiu nng ca my tnh.
2.2. ng ng ha b vi x l
Mt trong cc phng php rt hay v vn cn c s dng trong cc chic
CPU ngy ny l phng php ng ng ha b vi x l (Pipeline). C ch ngn
gn ca php php ny l chia qu trnh thc hin lnh thnh cc giai on nh hn
v mi giai on c mt n v thc hin ring. iu c ngha l ta c th thc
hin ng thi cc giai on khc nhau ca cc lnh khc nhau trong cng mt thi
im. iu ny, cho php ta tn dng cc ti nguyn sn c trn chic vi x l v c
th gip tng tc ng h m khng cn phi gim kch thc Transistor.
Tuy nhin, phng php ny cng c mt hn ch. l khai thc c
ht nng lc ca cc ti nguyn ta cn phi chia qu trnh thc hin lnh thnh cng
nhiu giai on cng tt. Nhng khi chia qu trnh thc hin lnh thnh cng nhiu
giai on, xung t gia cc qu trnh bt u xut hin v s lng xung t cng
tng theo s giai on. Vic ny i hi phi c cc phng php gii quyt v rt
kh gii quyt vn khi s giai on tng qu cao.

Hnh 6. Minh ha qu trnh thc hin Pipeline

Nhn chung, phng php ny l rt tt gii quyt bi ton khai thc hiu
qu ti nguyn sn c. Nhng nu xt k hn, ta s thy phng php ny cha khai
thc c ht ti nguyn trn b ALU. Ly mt v d, b ALU ca chng ta c hai
n v tnh ton ring bit cho s phc v s thc du phy ng nh trn hnh 6.
D cho s dng phng php Pipeline th ti mt thi im ta cng ch c th s

dng mt trong hai n v ny, ngha l n v cn li khng c s dng. iu


ny dn ti s ra i ca mt phng php mi, phng php siu phn lung.

Hnh 7. S lng ph ALU

2.3. Phng php siu phn lung


Siu phn lung hay a lung chy ng thi l cng cc tn ch cng mt
phng php, trong bi vit ny s s dng cch gi th nht. Ni mt cch n
gin hiu siu phn lung l nu my tnh c mt chic CPU th h iu hnh v
phn mm s tng tng n ang s hu hai chic CPU o v chng c th to ra
hai lung khc nhau chy ng thi trn hai chic CPU o ny vi yu cu ti
mt thi im hai lung ny s dng hai n v khc nhau ca chic CPU vt l.
hiu r hn phng php ny hy theo di hnh 8.

Hnh 8. Minh ha siu phn lung

Trn hnh 8, ta thy c hai lung 1 v lung 2 chy song song vi nhau v
chng s dng hai n v ti nguyn khc nhau ca ALU. Trong khi lung 1 s
dng n v tnh ton cho s nguyn th lung 2 s dng n v tnh ton s thc
du phy ng. R rng, nhn vo y ta c th thy phng php ny cho php
khai thc tt hn ti nguyn trn ALU.
Tuy nhin, mt nhc im ca phng php ny l nu c s tranh chp s
dng cng mt ti nguyn gia hai lung th cn phi gii quyt nh th no. iu
ny nu khng c gii quyt c th dn ti cc hu qu nghim trng v khng
th gii quyt c.
Phng php ny, tuy c mt hn ch rt ln. Nhng n vn rt tt cho cc
phn mm v h iu hnh h tr siu phn lung, h thng my ch. Ngy ny,
hu ht cc h iu hnh ph bin nh Window, MacOS, Linux, h tr siu
phn lung. Nhng mt iu khin phng php ny vn cha tht s hp dn l
vic vit cc chng trnh h tr siu phn lung thng kh hn cho cc lp trnh
vin.
Mt phng php gn ging v hiu qu hn, chnh l phng php
Multicore. Phng php Multicore ngoi vic gii quyt vn tranh chp tt hn
n cn l gii php tt gii quyt bi ton a nhim. Tc l, by gi vi
Multicore chng ta c th thc hin nhiu tc v ng thi, ly mt v d n gin
khi bn s dng trnh duyt web c bo, bn vn c th bt window player
9

nghe nhc, bt t in tm ngha ca mt t mi, Ni tm li, vi Multicore ta


c th thoi mi s dng nhiu ng dng cng mt lc.

Hnh 9. Tranh chp gia hai lung trong STT

Trong phn sau, chng ta s xem xt cch kt hp Multicore vi siu phn


lung, so snh hai cng ngh ny vi nhau, ngoi ra chng ta cng s phn tch v
gii quyt vn ng b d liu.

3. Cc k thut trong Multicore


3.1. Multicore kt hp vi Hyper Threading
Ngy nay, ngi ta thng kt hp nhiu phng php vi nhau khai thc
ti a hiu nng ca my tnh. Trong c s kt hp gia Multicore v Hyper
Threading. Cc chip vi x l ca Intel trn th trng hin cung cp cho ngi dng
cc ty chn sau:

Single-core, non-SMT
Single-core, with SMT
Multi-core, non-SMT
Multi-core, with SMT

10

Vi mt chic CPU hai core v s dng Hyper Threading th my tnh c th


c ti a 4 lung chy ng thi. Trn h iu hnh window thy iu ny ta c
th vo Task Manager kim tra.

Hnh 10. Multicore kt hp vi Hyper Threading

Hnh 11. CPU i5-4200U 2 nhn, 4 lung

11

Cch kt hp ny cho php cc chic CPU c th chy vi tc ng h


thp hn nhng vn t c hiu nng cao v gip gim in nng tiu th ca
my tnh.
So snh Multicore v Hyper Threading:
Multicore

Hyper Threading

C nhiu li v mi li thng nh v C th s dng vi li c kch thc


chm hn, b li vic thit k v sn
ln v nhanh hn.
xut n gin hn.
Hiu nng tt vi lung n.
iu ny thch hp vi s l song Hu ht vn p dng song song
song mc lung.
mc lnh.
3.2. Cc vn kt hp Multicore vi b nh Cache
Trong kin trc my tnh, thnh phn c tc chm nht chnh l b nh,
y thng l nguyn nhn chnh lm hiu nng ca my tnh gim. Thc ra, tc
ca b nh SRAM khng phi l qu chm tuy nhin gi thnh sn xut cc b
nh nhanh l rt tn km v th ngi ta s dng phng php phn cp b nh
gii quyt mt phn vn .

Hnh 12. So snh tc v gi c cc loi b nh

C s ca phng php ny l cc b nh gn my tnh c tc cao v dung


lng nh, cc b nh xa hn c tc chm hn v dung lng ln hn. Trong
Cache l thnh phn gn vi CPU nht v thng nm trong CPU. Cc d liu
s c ti vo trong cache trc khi c a vo CPU tnh ton.

12

Hnh 13. Cc kiu kt hp b nh trong Multicore

Trong Multicore, cc core c th c cc b nh Cache ring hay chia s b


nh Cache vi nhau. Hnh 13, minh ha cc cch kt hp b nh Cache trong
Multicore.
Khi kt hp vi b nh cache, trong h thng ny sinh ra vn cn phi
ng b d liu nu c nhiu lung cng tc ng n mt bin. hiu r vn
ny chng ta hy theo di mt v d.
Ta c mt chic my tnh 4 core v s dng kin trc phn cp b nh, trong
b nh chnh ang lu mt bin x = 15213.

Hnh 14. Xung t d liu trong Multicore

13

Core 1 v Core 2 cng s dng x v chng c x vo b nh cache ring ca


chng.

Hnh 15. Xung t d liu trong Multicore

Core 1 c x t Cache v tnh ton, lu tra li kt qu x = 21660 vo b nh


Cache ca n v b nh chnh.

Hnh 16. Xung t d liu trong Multicore

Mt lc sau, Core 2 mun s dng n x, n c x t Cache ca n nhng


ch c c kt qu c x = 15213. n y, r rng cn phi c gii php ng
b ha d liu.

14

Hnh 17. Xung t d liu trong Multicore

C hai phng php n gin gii quyt vn ny l phng php v


hiu hiu ha v phng php cp nht. Chng ta s ln lt tm hiu hai phng
php ny.
Phng php v hiu ha:
Cch x l ca phng php ny c th m t nh sau. Sau khi mt core thc
hin tnh ton mt bin no n s lu tr li kt qu vo b nh cache ca n v
b nh chnh ng thi gi thng bo n cache ca cc core khc thng bo d
liu c cp nht. D liu c trong cc cache c xa i v s c cp nht
li.

Hnh 18. Phng php v hiu ha d liu

15

Hnh 19. Phng php v hiu ha d liu

Hnh 20. Phng php v hiu ha d liu

Phng php cp nht:


Cch x l ca phng php ny c th m t nh sau. Sau khi mt core thc
hin tnh ton mt bin no n s lu tr li kt qu vo b nh cache ca n v
b nh chnh ng thi gi d liu n cache ca cc core khc v chng s cp
nht gi tr mi ny.
16

Hnh 21. Phng php cp nht d liu

So snh phng php v hiu ha v phng php cp nht


Phng php cp nht s dng nhiu ng bus d liu, mi ln cp nht
n s a d liu n tt c cc core, nh vy s d gy tc nghn bus.
Phng php v hiu ha ni chung s tt hn phng php cp nht, n
ch gi thng bo v hiu ha d liu v core no cn s dng n d liu
s t truy cp li b nh c d liu mi v cache ca n.
Ngoi cc phng php trn cn c cc phng php khc nh: MSI, MESI
(Modified, Exclusive, Shared, Invalid).

4. H iu hnh v chng trnh trong Multicore


Cc chng trnh mun khai thc tt kin trc Multicore phi c chia
thnh nhiu lung v phi c h iu hnh h tr. Ngy nay, hu ht cc h iu
hnh ph bin h tr Multicore. Trong cc h iu hnh, cc chng trnh s
c h iu hnh cp php c s dng cc core. Cc h iu hnh dng mt
khi nim gi l Affinity masks thc hin vic cp php cho cc chng trnh.
Mi mt chng trnh s c mt chui cc bit Affinity masks tng ng vi s
core ca CPU. Nu bit Affinity masks ca mt core no bng 1 th c ngha l
chng trnh c php s dng core , cn ngc li n khng c cp php.
V d: mt my tnh c 4 core v khng c Hyper Threading. H iu hnh
s s dng mt chui 4 bit cp php cho tng ng dng. Trong v d trn hnh

17

22, ng dng s c cp php s dng core 0, core 2, core 3, cn core 1 n khng


c s dng.

Hnh 22. V d v Affinity masks khng c Hyper Threading

Nu my tnh c Hyper Threading th h iu hnh cng s c cc bit


Affinity masks cp php s dng cho mi core o. Trong v d trn hnh 23,
ng dng c cp php s dng c hai core o thuc core 0, core 3 v s dng
core o th 2 ca core 1.

Hnh 23. V d v Affinity masks c Hyper Threading

Trn h iu hnh window, cc ng dng mc nh s c h iu hnh cp


php s dng tt c cc core. thay i iu ny, ta c th vo Task Manager,
chn Process v set Affinity cho cc process.

18

Hnh 24. Set affinity trong Window

Hnh 24, minh ha cch set affinity trong Window. Nhng chng ta khng
nn thay i cc thit lp ca h iu hnh nu khng c mt l do c th.
Trong cc chic my tnh s dng cng ngh Multicore th h iu hnh
ng mt vi tr rt quan trng, n ging nh mt ngi qun tr h thng ln lch
s dng cc ngun ti nguyn cho cc nhn vin ca mnh l cc chng trnh ng
dng.
Ni tm li, khai thc c ht hiu qu Multicore ta cn phi c mt h
iu hnh h tr tt cng ngh ny v cc chng trnh c vit ring.

19

5. Kt Lun
Qua qu trnh tm hiu v Multicore, c th n rng y l mt gii php tt
gii quyt bi ton a nhim. Khi m nhu cu thc hin cc tc v song song ca
ngi dng ngy cng tng nhanh th hiu qu ca cng ngh ny em li cng
c khng nh. Cho d cc chng trnh ng dng h tr tt cho Multicore l kh
vit hn so vi thng thng. Nhng vi nhng u im vt tri k trn th
Multicore ha hn s l mt xu hng cng ngh pht trin mnh m trong tng
lai.

20

You might also like