05 jednostka centralna
Transkrypt
05 jednostka centralna
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor ● Pobieranie rozkazów ● Interpretowanie rozkazów ● Pobieranie danych ● Przetwarzanie danych ● Zapisanie danych Główne zespoły procesora ● Jednostka arytmetyczno-logiczna ● Jednostka sterująca ● Rejestry ● Wewnętrzna magistrala Jednostka arytmetyczno-logiczna Znaczniki stanu Przesuwnik Układy logiczne i arytmetyczne Układ dopełniania Wewnętrzna magistrala procesora Wewnętrzna struktura procesora Rejestry Jednostka sterująca Ścieżki sterowania Organizacja rejestrów ● ● Rejestry widzialne dla użytkownika. Mogą być wykorzystywane przez programistę do przetwarzania danych. Programista ma bezpośredni wpływ na ich zawartość. Rejestry sterowania i stanu. Używane przez jednostkę sterującą. Przechowują informacje niezbędne dla działania procesora. Programista nie może bezpośrednio manipulować ich zawartością Rejestry widzialne dla programisty ● ● ● ● ogólnego przeznaczenia lub robocze uniwersalne danych – tylko do przetwarzania danych adresów – do przechowywania adresów lub ich części (np. wskaźniki segmentów lub indeksy) znaczniki stanu – kody warynkowe, flagi wskazujące wynik ostatniej operacji Rejestry sterowania i stanu ● ● ● ● Licznik programu lub instrukcji – zawiera adres rozkazu do pobrania. Rejestr rozkazu – zawiera ostatnio pobrany rozkaz. Rejestr adresowy pamięci – zawiera adres argumentu do pobrania lub zapisania. Rejestr buforowy pamięci – zawiera słowo danych do zapisania lub pobrane z pamięci. Słowo stanu programu Zawiera flagi i inne informacje o stanie procesora (np. tryb pracy): ● Znak – bit znaku ostatniej operacji arytm. ● Zero – czy wynik równy zero. ● Przeniesienie – czy było przeniesienie. ● Równość – przy porównaniu argumentów. ● Przepełnienie – przekroczenie zakresu. ● Blokowanie przerwania – obsługa przerwań. ● Nadzorca – tryb działania procesora. Rejestry procesora Z8000 Ogólnego przeznaczenia 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Wskaźnik stosu 15 Wskaźnik stosu Stan programu Słowo stanu Segment PC Wyrównanie PC Segment PSA Wyrównanie PSA Rejestry Intel 8086 Ogólnego przeznaczenia AX Akumulator BX Bazowy CX Zliczający DX Danych Wskaźniki i indeksy SP Stos BP Baza SI Źródło DI Przeznaczenie Stan programu Wskaźnik rozkazu Znaczniki stanu CS DS SS ES Segmentowe Kod Dane Stos Dodatkowy Rejestry Motoroli 68000 D0 D1 D2 D3 D4 D5 D6 D7 Rejestry danych Stan programu Licznik rozkazów Słowo stanu Rejestry adresu A0 A1 A2 A3 A4 A5 A6 A7 A7' Wskaźnik stosu użytkownika Wskaźnik stosu nadzorcy Rozszerzenia Intel 80386 Ogólnego przeznaczenia EAX Akumulator EBX Bazowy ECX Zliczający EDX Danych Wskaźniki i indeksy Stos ESP EBP Baza ESI Źródło EDI Przeznaczenie AX BX CX DX SP BP SI DI Stan programu Wskaźnik rozkazu Znaczniki stanu CS DS SS ES FS GS Segmentowe Kod Dane Stos Dodatkowy Dodatkowy Dodatkowy Cykl rozkazu ● Pobieranie ● Wykonywanie ● Przerwanie ● Adresowanie pośrednie Graf stanów cyklu rozkazu Pobieranie Adresowanie pośrednie Przerwanie Wykonywanie Przepływ danych Adresowanie pośrednie Adresowanie pośrednie Pobieranie argumentu Zapisywanie argumentu Pobieranie rozkazu Zgłoszenie zapotrzebowania na rozkaz Obliczanie adresu rozkazu Zgłoszenie Wiele zapotrzeboarguwania na mentów argument Dekodowanie operacji Następny rozkaz Obliczenie adresu argumentu Operacje zewnętrzne - dostęp do pamięci Wiele wyników Operacja na danych Obliczenie adresu argumentu Sprawdzenie wystąpienia przerwania Przerwanie Brak przerwań Operacje wewnętrzne procesora Przetwarzanie potokowe ● Pobranie rozkazu (FI) ● Dekodowanie rozkazu (DI) ● Obliczanie argumentów (CO) ● Pobieranie argumentów (FO) ● Wykonanie rozkazu (EI) ● Zapisanie argumentu (WO) Przebieg czasowy Czas: 1 2 3 4 5 6 7 8 9 10 11 12 Rozkaz 1 FI DI CO FO EI WO 2 FI DI CO FO EI WO 3 FI DI CO FO EI WO 4 FI DI CO FO EI WO 5 FI DI CO FO EI WO 6 FI DI CO FO EI WO 7 FI DI CO FO EI WO Wpływ rozgałęzienia warunkowego Czas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Rozkaz 1 FI DI CO FO EI WO 2 FI DI CO FO EI WO 3 FI DI CO FO EI WO 4 FI DI CO FO 5 FI DI CO 6 FI DI 7 FI 8 FI DI CO FO EI WO 9 FI DI CO FO EI WO Postępowanie z rozgałęzieniami ● ● zwielokrotnienie strumienia pobieranie docelowego rozkazu z wyprzedzeniem ● bufor pętli ● przewidywanie rozgałęzienia ● opóźnione rozgałęzienie Przewidywanie rozgałęzień ● ● ● Przewidywanie zawsze występującego skoku Przewidywanie nigdy nie występującego skoku Przewidywanie za pomocą kodu operacji ● Przełącznik nastąpiło/nie nastąpiło ● Tablica historii rozgałęzień