Harvard vs. Neumann -> Multiprocessor
SZIGETI Szabolcs
szigi at ik.bme.hu
Thu Dec 15 21:54:12 CET 2005
Hali!
> Ez erdekes. De ez a cache nem azert tud-e olyan marha gyors lenni, mert a
> prociba van integralva, es nem kell kivezetni onnan kulso busszal?
Kivezetni nem kell, de ha azt látja, hogy a másik fél írt olyan memória
címre, amelyet o éppen cache-el, akkor érvénytelenítheti a megfelelo cache
bejegyzését.
Ezt azután lehet ragozni különbözo esetekre. Nézzünk meg két egyszeru
példát:
CPU1 és CPU 2 van. Mindeketten hivatkoznak M memória címre, és mindkettonek
bent van a cache-eben ennek a címnek a tartalam.
Legyen eloször write-trough a cache (azaz az írás sorám a memória is azonnal
íródik).
CPU1 írja M-et, CPU2 figyeli a buszt, és látja, hogy írás van M-re, ekkor
saját cache bejegyzését érvényteleníti, és opcionálisan be is olvashatja
magának az új értéket.
Ha write-back cache (a cache módisítása nem kerül azonnal átvezetésre a
memóriában) van, akkor a helyzet kicsit bonyolultabb.
CPU1 olvassa M-et, CPU2 észeli, hogy neki cache-elve van M, ezért szól
CPU1-nek (valamilyen busz protkollal, vagy külön vonallal), hogy hohó! CPU1
megáll, megvárja, amíg CPU2 visszaírja a memóriába, majd folytatja az
olvasást. Ez természetesen teljesítményvezsteséggel járhat. Az oprendszer
adott esetben figyelhet a cache kérdésekre a processz és memória kezelésnél.
Ezek az eljárások mindenféle módon tuningolhatóak még, még lehet
optimalizálni a különbözo esetekben.
Szabolcs
More information about the Elektro
mailing list