2015-07-15 9 views

Odpowiedz

5

Rejestry cienia MIPS służą do zmniejszenia obciążenia rejestru/magazynu w obsłudze przerwań. Przerwanie, do którego przypisany jest zestaw rejestrów cieni, nie wymaga zapisania żadnego z istniejącego kontekstu w celu zapewnienia wolnych rejestrów lub załadowania danych specyficznych dla przerwania, przechowywanych w rejestrach cienia przy wejściu do procedury obsługi przerwania; przy wyjściu obsługi przerwań nie jest konieczne zapisywanie kontekstu obsługi przerwań ani przywracanie poprzedniego kontekstu.

ARM zapewnia podobną funkcjonalność, jak nazywane rejestry bankowe. (W przypadku ARM replikowane są tylko niektóre z GPR.)

Rozszerzenie specyficzne dla aplikacji MIPS o wielowątkowości rozszerza wykorzystanie zestawów rejestrów cienia, aby stać się kontekstami wątków. (Zestawy rejestru cienia w efekcie obsługują bardzo ograniczoną formę wielowątkowości przy włączaniu zdarzeń, w której dodatkowe wątki są koncepcyjnie ograniczone do procedur obsługi przerwań i zdarzeń do przerwań).

+0

Czy rejestratory cienia są widoczne dla programisty lub są ściśle używane przez sprzęt? – flashburn

+0

@flashburn Są widoczne dla uprzywilejowanego oprogramowania (oczywiście program obsługi przerwań musi wiedzieć, że nie musi zapisywać stanu GPR); również "Uprzywilejowane oprogramowanie może potrzebować odniesienia do wszystkich GPR w pliku rejestru, nawet określonych rejestrów cienia, które nie są widoczne w bieżącym trybie." W tym celu używane są instrukcje RDPGPR i WRPGPR. " (Sekcja 7.1 Wprowadzenie do zestawów cieni, architektura MIPS dla programistów Volume III: MIPS64/microMIPS64 Privileged Resource Architecture, Rev. 6.00). –