2013-04-02 8 views
6

Powiedzmy, że 4 wątki działają na 4 oddzielnych rdzeniach procesora wielordzeniowego x86 i nie udostępniają żadnych danych, czy możliwe jest progresywne wykonanie 4 rdzenie wykorzystują oddzielne i predefiniowane części współużytkowanej pamięci podręcznej L2.Czy możliwe jest przypisanie części współużytkowanych pamięci podręcznych L2 do różnych rdzeni?

+3

Oto jeden interesujący artykuł na ten temat, http://www.eecg.toronto.edu/~tamda/papers/softpart.pdf – MetallicPriest

+0

Szczególnie podoba mi się termin * problematycznie * ... ;-) – Axel

+0

Oh, Nie widziałem, aby zalecenie sprawdzania pisowni było problematyczne, gdy pisałem programowo, LOL! – MetallicPriest

Odpowiedz

2

Używajmy dwóch terminów, ekskluzywnych i współdzielonych pamięci podręcznych zamiast pamięci podręcznych L1, L2, L3, L4. Różne rodziny procesorów zaczynają udostępniać pamięć podręczną na różnych poziomach. W przedstawionych terminach pierwotne pytanie brzmi: czy możliwe jest dzielenie współużytkowanej pamięci podręcznej na części, z których każda będzie używana wyłącznie przez jeden z procesorów/rdzeni? Nie ma jednoznacznej odpowiedzi. Ponadto istnieją dwie odpowiedzi naprzeciwko siebie.

1) Pierwsza i ogólna odpowiedź: NIE. Pamięć podręczna jest zaprojektowana w sprzęcie. Dostępnych jest tylko kilka dźwigni sterujących pamięci podręcznej w oprogramowaniu, takich jak włączanie/wyłączanie pamięci podręcznej dla całej pamięci lub określonego regionu pamięci, stosowanie określonych zasad dla spłukiwania pamięci podręcznej (zapisywanie/zapisywanie). NIE w zasadzie ze względu na fakt, że został zaprojektowany do zarządzania sprzętem. Nie ma więc użytecznych interfejsów, które pozwolą na wygodne zarządzanie oprogramowaniem.

2) Druga odpowiedź: Tak. Tak naprawdę pamięć podręczna zaprojektowana w taki sposób, że każda linia pamięci podręcznej może zapisywać dane z określonego zestawu linii pamięci. W związku z tym, jeśli menedżer pamięci zapewnia gwarancję, że ten sam procesor jest używany przez jeden procesor/rdzeń i używa wszystkich linii pamięci przypisanych wyłącznie do tej samej linii pamięci podręcznej, wówczas menedżer pamięci zapewnia, że ​​ta linia pamięci podręcznej będzie używana wyłącznie przez ten procesor. Jest to bardzo trudne rozwiązanie. Ma on bardzo ograniczone korzyści i ma poważne wady: układ pamięci jest bardzo pofragmentowany, wykorzystanie pamięci podręcznej jest niezrównoważone, skomplikowane zarządzanie pamięcią, bardzo zależne od oprogramowania typu "hadrware" (szczegóły można znaleźć w artykule dostarczonym przez "MetallicPriest").

Życiorys: jest to możliwe w teorii i prawie niemożliwe w praktyce.

Powiązane problemy