Architektura komputerów

1 Architektura komputerówWykład nr 7: Układ sterujący. Mi...
Author: Józef Kotlicki
0 downloads 2 Views

1 Architektura komputerówWykład nr 7: Układ sterujący. Mikrooperacje Piotr Bilski

2 Zadania układu sterującegoMonitorowanie stanu procesora Sterowanie pracą procesora Szeregowanie mikrooperacji Cykl rozkazu Cykl rozkazu Cykl rozkazu Pobranie Adresowanie pośrednie Przerwanie Wykonanie μOP μOP μOP

3 Mikrooperacje Elementarne kroki w ramach cyklu rozkazuKażdy krok jest prosty, lecz jego efekt jest również niewielki Każda mikrooperacja zajmuje jedną jednostkę czasu Występują we wszystkich fazach cyklu rozkazowego: pobrania, adresowania pośredniego, wykonywania, przerwania

4 Cykl pobrania rozkazu Procesor PC MAR Pamięć CU IR MBR t1: MAR  (PC)Szyna danych Procesor Szyna adresowa Szyna sterowania PC MAR Pamięć CU IR MBR t1: MAR  (PC) t2: MBR  M(MAR) PC  (PC) + 1 t3: IR  (MBR)

5 Cykl adresowania pośredniegoSzyna danych Procesor Szyna adresowa Szyna sterowania MAR Pamięć CU MBR t1: MAR  (IR(Adres)) t2: MBR  M(MAR) t3: IR(Adres)  (MBR(Adres))

6 Cykle przerwania Procesor PC MAR Pamięć CU MBR t1: MBR  (PC)Szyna danych Procesor Szyna adresowa Szyna sterowania PC MAR Pamięć CU MBR t1: MBR  (PC) t2: MAR  Adres PC  Adres POP t3: M(MAR)  (MBR)

7 Cykl wykonania Najbardziej skomplikowany cykl ze względu na rozgałęzienia Przykład: BSA X t1: MAR  (IR(Adres)) MBR  (PC) t2: PC  (IR(Adres)) M()  (MBR) t3: PC  (PC) + 1

8 Rejestr cyklu rozkazu (ICC)rejestr przechowujący kod cyklu rozkazu, w którym znajduje się procesor, np.: 00 – pobranie 01 – adresowanie pośrednie 10 – wykonanie 11 – przerwanie

9 Model jednostki sterującejSygnały sterujące wewnątrz procesora Rejestr rozkazu Znaczniki stanu Jednostka sterująca zegar Szyna sterowania

10 Rodzaje sygnałów sterującychAktywujące funkcje ALU Aktywujące ścieżkę danych Związane z magistralą systemową Sterowanie przy pomocy tych sygnałów odbywa się poprzez otwieranie bramek pomiędzy rejestrami a pamięcią Konieczna jest do tego znajomość ICC

11 Wewnętrzna organizacja procesoraCU IR PC t1: MAR  (IR(Adr)) t2: MBR  M(MAR) t3: Y  (MBR) t4: Z  (AC) + (Y) t5: AC  (Z) MAR Y Linie adresowe MBR ALU Linie danych AC Z Magistrala wewnętrzna

12 Procesor Intel 8085 (1977) Zgodny z procesorem 8080Zasilany napięciem +5V Struktura: CU, PC, A, RA, ALU, RF, RR Licznik rozkazów – 16 bitów, rejestr adresów – 16 bitów, rejestr rozkazów – 8 bitów Stos zewnętrzny w pamięci RAM ALU – przetwarza maksymalnie 2 argumenty

13 Schemat procesora 8085

14 Przykładowe sygnały zewnętrzne (Intel 8085)Sygnały adresów i danych Adresy/dane (A0-A7, A8-A15) Szeregowe dane wejściowe/wyjściowe (SID, SOD) Sygnały taktujące i sterujące CLK, X1, X2 Zezwolenie zatrzasku adresu (ALE) IO/M Sterowanie odczytu/zapisu (RD, WR) Sygnały inicjowane przez pamięć i we-wy Sygnały przerwań Inicjowanie procesora (RESET) Zasilanie

15 Rodzaje implementacji jednostki sterującejImplementacja mikroprogramowalna Implementacja układowa Szybka (układy logiczne) Skomplikowana Droga Realizacja: układ kombinacyjny Używana w maszynach RISC Wolniejsza Elastyczna Tania Realizacja: mikroprogram Używana w maszynach CISC

16 Implementacja układowaRejestr rozkazu Znaczniki stanu zegar Jednostka sterująca Generator taktowania Sygnały sterujące

17 Dekoder 2 na 4 A B S0 S1 S2 S3 A B S0 S1 S2 S3

18 Implementacja mikroprogramowalna jednostki sterującejLogika działania jednostki sterującej jest określana przez mikroprogram Mikroprogram składa się z mikrorozkazów przechowywanych w pamięci sterującej Technika pierwszy raz zastosowana w komputerze System/360 (IBM)

19 Koncepcja jednostki sterującej (Wilkes – 1951 r.)Mikrooperacja jest wierszem matrycy, połączonej z magistralą sterującą i rejestrem następnej mikrooperacji Część mikrorozkazu to sygnały sterujące, a część wskazuje następny mikrorozkaz Rejestr następnej mikrooperacji jest dwupoziomowy Dekoder adresu jest sterowany zegarem Mikrorozkaz ma postać jawną

20 Mikrorozkazy poziome i pionoweWarunek skoku Sygnały sterujące magistrali systemowej Wewnętrzne sygnały sterujące procesorem Adres mikrorozkazu Kody funkcji Adres mikrorozkazu Warunek skoku Kody zamiast linii sterujących – potrzebne dekodery

21 Organizacja pamięci sterującejPodprogram cyklu pobierania Podprogram cyklu adresowania pośr. Podprogram cyklu przerwania Podprogram cyklu wykonania Podprogramy poszczególnych instrukcji

22 Mikroprogramowalna jednostka sterującaRejestr rozkazu Znaczniki stanu ALU Dekoder Układy logiczne szeregowania Rejestr adresu sterowania Zegar Pamięć sterująca Odczyt Buforowy rejestr sterowania Dekoder Sygnały sterujące wewnątrz CPU Sygnały sterujące magistrali systemowej

23 Szeregowanie mikrorozkazówRozmiar rozkazu a czas generowania adresu Adres następnego mikrorozkazu jest: W rejestrze rozkazu (na początku cyklu rozkazu) W rozgałęzieniu Kolejny w sekwencji (najczęściej występujący) Metody szeregowania: Dwa pola adresowe Jedno pole adresowe Format zmienny

24 Szeregowanie z dwoma polami adresowymiCAR Dekoder adresu Znaczniki stanu Pamięć sterująca Stero-wanie CBR Adres 1 Adres 2 Ukł. Logiczne rozgałęzienia Multiplekser IR

25 Szeregowanie z jednym polem adresowymDekoder adresu CAR Znaczniki stanu Pamięć sterująca +1 CBR Sterowanie Adres Ukł. Logiczne rozgałęzienia Multiplekser IR

26 Szeregowanie z formatem zmiennymDekoder adresu CAR Pamięć sterująca Znaczniki stanu +1 Pole rozgałęzień CBR Całe pole Pole adresowe Ukł. Logiczne rozgałęzienia Ukł. Logiczne bramkowania Multiplekser IR

27 Generowanie adresów Jawne Dwa pola Rozgałęzienie warunkoweRozgałęzienie bezwarunkowe Niejawne Odwzorowanie Dodawanie Sterowanie szczątkowe

28 Odwzorowanie niejawne - dodawanieRejestr adresu Część stała adresu Bity ustawiane w celu ustalenia adresu następnego mikrorozkazu

29 Szeregowanie mikrorozkazów w LSI-11Procesor składa się z trzech układów: danych, sterowania i pamięć sterowania 22-bitowy mikrorozkaz Ok. 4 KB pamięci sterowania Metody wyznaczania następnego adresu: Następny w kolejności Odwzorowanie kodu operacji Podprogram standardowy (jednopoziomowy) Testowanie przerwania Rozgałęzienie

30 Wykonywanie mikrorozkazówCykl mikrorozkazu składa się z fazy pobrania i wykonania Wykonanie powoduje umieszczenie na magistrali wewnętrznej i systemowej sygnałów sterujących oraz określenie adresu następnego rozkazu Kombinacja bitów sterujących związana z mikrorozkazem jest kodowana

31 Bezpośrednie kodowanie mikrorozkazuPole Pole Pole Dekodery Dekodery Dekodery Sygnały sterujące

32 Pośrednie kodowanie mikrorozkazuPole Pole Pole Dekodery Dekodery Dekodery Dekodery Sygnały sterujące

33 Przykłady rozkazów pionowych MBR  Rejestr Rejestr  MBR MAR  Rejestr Odczyt z pamięci Zapis do pamięci AC  AC + Rejestr

34 Przykłady rozkazów poziomych transfer rejestrowy operacja pamięci Operacja szeregowania Operacja ALU Wybór rejestru stała

35 Format mikrorozkazu LSI-11Szerokość rozkazu: 22 bity Lista mikrorozkazów komplementarna z listą rozkazów maszynowych Funkcje specjalne Zakodowane mikrooperacje Ładowanie rejestru powrotnego Translacja

36 Format mikrorozkazu IBM 3033Pamięć sterowania – 4 KB słów Rozkazy z przedziału FF są 108-bitowe Rozkazy z przedziału FFF są 126-bitowe Rozkazy są poziome, ale z kodowaniem