System powtórek

System odtwarzania jest podsystemem procesora Intel Pentium 4 . Jego podstawową funkcją jest przechwytywanie operacji, które zostały omyłkowo wysłane do wykonania przez program planujący procesora . Operacje wyłapane przez system powtórek są następnie ponownie wykonywane w pętli, aż do spełnienia warunków niezbędnych do ich prawidłowego wykonania.

Przegląd

System powtórek powstał w wyniku dążenia Intela do coraz większych częstotliwości taktowania . Te wyższe częstotliwości taktowania wymagały bardzo długich potoków (do 31 stopni w rdzeniu Prescotta ). Z tego powodu istnieje sześć etapów między harmonogramem a jednostkami wykonawczymi w rdzeniu Prescott. Aby utrzymać akceptowalną wydajność, inżynierowie Intela musieli zaprojektować program planujący tak, aby był bardzo optymistyczny.

Harmonogram w procesorze Pentium 4 jest tak agresywny, że wysyła operacje do wykonania bez gwarancji, że zostaną pomyślnie wykonane. (Między innymi program planujący zakłada, że ​​wszystkie dane znajdują się w pamięci podręcznej procesora poziomu 1 „ pamięć podręczna śledzenia ” .) Najczęstszą przyczyną niepowodzenia wykonania jest brak dostępności wymaganych danych, co najprawdopodobniej wynika z braku pamięci podręcznej. Kiedy tak się dzieje, system odtwarzania sygnalizuje programowi planującemu zatrzymanie, a następnie wielokrotnie wykonuje nieudany ciąg zależnych operacji, aż do pomyślnego zakończenia.

Względy dotyczące wydajności

Nic dziwnego, że w niektórych przypadkach system powtórek może mieć bardzo zły wpływ na wydajność. W normalnych warunkach jednostki wykonawcze w Pentium 4 są używane przez około 33% czasu. Po wywołaniu systemu powtórek zajmie on jednostki wykonania prawie w każdym dostępnym cyklu. Powoduje to marnowanie energii, która jest coraz ważniejszym wskaźnikiem projektowania architektonicznego, ale nie powoduje spadku wydajności, ponieważ jednostki wykonawcze i tak byłyby bezczynne. Jednak w przypadku hiperwątkowości jest w użyciu, system powtórek uniemożliwi drugiemu wątkowi wykorzystanie jednostek wykonawczych. To jest prawdziwa przyczyna jakiegokolwiek pogorszenia wydajności związanego z hiperwątkowością. W Prescott Pentium 4 zyskał kolejkę powtórek, która skraca czas, w którym system powtórek zajmuje jednostki wykonawcze.

W innych przypadkach, gdy każdy wątek przetwarza różne typy operacji, system odtwarzania nie będzie przeszkadzał i może wystąpić wzrost wydajności. To wyjaśnia, dlaczego wydajność z hiperwątkowością zależy od aplikacji.

Zobacz też