Pobierz prezentację
1
Architektura komputerów
Wykład nr 7: Układ sterujący. Mikrooperacje Piotr Bilski
2
Zadania układu sterującego
Monitorowanie 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 rozkazu
Każ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średniego
Szyna 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ącej
Sygnały sterujące wewnątrz procesora Rejestr rozkazu Znaczniki stanu Jednostka sterująca zegar Szyna sterowania
10
Rodzaje sygnałów sterujących
Aktywują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 procesora
CU 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 8080
Zasilany 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ącej
Implementacja 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ładowa
Rejestr 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ącej
Logika 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 pionowe
Warunek 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ącej
Podprogram cyklu pobierania Podprogram cyklu adresowania pośr. Podprogram cyklu przerwania Podprogram cyklu wykonania Podprogramy poszczególnych instrukcji
22
Mikroprogramowalna jednostka sterująca
Rejestr 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ów
Rozmiar 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 adresowymi
CAR 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 adresowym
Dekoder adresu CAR Znaczniki stanu Pamięć sterująca +1 CBR Sterowanie Adres Ukł. Logiczne rozgałęzienia Multiplekser IR
26
Szeregowanie z formatem zmiennym
Dekoder 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 warunkowe
Rozgałęzienie bezwarunkowe Niejawne Odwzorowanie Dodawanie Sterowanie szczątkowe
28
Odwzorowanie niejawne - dodawanie
Rejestr adresu Część stała adresu Bity ustawiane w celu ustalenia adresu następnego mikrorozkazu
29
Szeregowanie mikrorozkazów w LSI-11
Procesor 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ów
Cykl 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 mikrorozkazu
Pole Pole Pole Dekodery Dekodery Dekodery Sygnały sterujące
32
Pośrednie kodowanie mikrorozkazu
Pole 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-11
Szerokość rozkazu: 22 bity Lista mikrorozkazów komplementarna z listą rozkazów maszynowych Funkcje specjalne Zakodowane mikrooperacje Ładowanie rejestru powrotnego Translacja
36
Format mikrorozkazu IBM 3033
Pamięć 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
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.