1 / 39

Architektura komputerów

Architektura komputerów. Wykład nr 2: Procesor, cykl programu, przerwania, magistrala systemowa Piotr Bilski. Maszyna von Neumanna (Princeton). Jednostka centralna (CPU). urządzenia wejścia-wyjścia. AC. I/O AR. ALU. MBR. I/O BR. Magistrala wewn. pamięć główna. MAR. CU. PC. IR.

jaimie
Download Presentation

Architektura komputerów

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architektura komputerów Wykład nr 2: Procesor, cykl programu, przerwania, magistrala systemowa Piotr Bilski

  2. Maszyna von Neumanna (Princeton) Jednostka centralna (CPU) urządzenia wejścia-wyjścia AC I/O AR ALU MBR I/O BR Magistrala wewn. pamięć główna MAR CU PC IR

  3. Pojęcie programu • Programem nazywamy zbiór instrukcji, których wykonanie w określonej kolejności zapewnia odpowiednie przetworzenie informacji. • Instrukcja (rozkaz) jest słowem maszynowym zawierającym informację o wykonywanej operacji, miejscu w pamięci gdzie znajdują się operandy, rezultat i następny rozkaz.

  4. Wymagania odnośnie systemu komputerowego przetwarzającego program (von Neumann) System komputerowy musi: • Mieć skończoną i funkcjonalnie pełną listę rozkazów; • Mieć możliwość wprowadzenia programu do systemu komputerowego poprzez urządzenia zewnętrzne i przechowywać instrukcje w pamięci w sposób identyczny jak danych; • Dane i instrukcje powinny być jednakowo dostępne dla procesora (poprzez jednoznaczne adresy w pamięci); • Informacja jest przetwarzana dzięki sekwencyjnemu odczytywaniu instrukcji z pamięci komputera i wykonywaniu tych instrukcji w procesorze.

  5. X1 X2 X3 X4 X1 X2 X3 X4 Y1 Y2 Y1 Y2 Program vs. „program” sprzętowy Sterowanie Hard-wired program 0000: move 4 0001: add 5 0010: store 6 0011: stop

  6. Dopuszcza przerwania? Pobranie rozkazu Wykonanie rozkazu Obsługa przerwań Działanie komputera Cykl przerwania Cykl pobierania Cykl wykonania TAK NIE START STOP

  7. Język przesłań rejestrowych • Symbole złożone z wielkich liter oznaczają zawartość • M – pamięć • A, MAR itd. – rejestr •  przepisanie • ( ) – adres • 0:7 – zakres bitów słowa pamięci lub rejestru, którego dotyczy operacja Np.: MAR  PC MBR  M(MAR)

  8. Cykl pobrania rozkazu • Licznik programu (PC) przechowuje adres następnej instrukcji do pobrania (na początku jest to tzw. punkt wejścia) • Procesor pobiera instrukcję spod adresu wskazywanego przez PC • Wartość PC zwiększana jest o 1 (chyba że trzeba inaczej – np. skok) • Instrukcja ładowana jest to rejestru rozkazów (IR) • Procesor dekoduje instrukcję i wykonuje operację z nią związaną

  9. Ilustracja cyklu pobrania rozkazu Punkt wejścia Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU MAR  PC CU PC IR 100 MAR MAGISTRALA ADRESOWA

  10. Ilustracja cyklu pobrania rozkazu MAGISTRALA DANYCH MBR  M(MAR) Move 104 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU CU ODCZYT PC IR MAGISTRALA STERUJĄCA MAR 100 MAGISTRALA ADRESOWA

  11. Ilustracja cyklu pobrania rozkazu MAGISTRALA DANYCH Move 104 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU PC  PC + 1 CU ODCZYT PC IR MAGISTRALA STERUJĄCA 101 MAR 100 MAGISTRALA ADRESOWA

  12. Ilustracja cyklu pobrania rozkazu MAGISTRALA DANYCH Move 104 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU IR  MBR Move 104 CU ODCZYT PC IR MAGISTRALA STERUJĄCA 101 MAR 100 MAGISTRALA ADRESOWA

  13. Ilustracja cyklu pobrania rozkazu MAGISTRALA DANYCH Move 104 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU CU  IR Move 104 CU ODCZYT PC IR MAGISTRALA STERUJĄCA 101 MAR 100 MAGISTRALA ADRESOWA

  14. Cykl wykonania rozkazu • Procesor – pamięć • transfer danychpomiędzy CPU a pamięcią • Procesor – wejście/wyjście • transfer danychpomiędzy CPU a modułem wejścia/wyjścia • Przetwarzanie danych • działania arytmetyczne lub logiczne na danych • Sterowanie • zmiana kolejności wykonania operacji (np. skok) • Kombinacja powyższych

  15. Ilustracja cyklu wykonania rozkazu MAGISTRALA DANYCH MBR  M(104) 3 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR AC  MBR ALU MAR  IR(104) Move 104 ODCZYT CU PC IR MAGISTRALA STERUJĄCA 101 MAR 104 104 MAGISTRALA ADRESOWA

  16. Następny cykl pobrania rozkazu MAGISTRALA DANYCH MBR  M(101) Add 105 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU MAR  PC ODCZYT CU PC IR MAGISTRALA STERUJĄCA 101 MAR 101 MAGISTRALA ADRESOWA

  17. Następny cykl pobrania rozkazu MAGISTRALA DANYCH Add 105 Adres Zawartość • Move 104 • Add 105 • Store 106 • Stop • 3 • 5 AC MBR ALU IR  MBR CU  IR Add 105 ODCZYT CU PC IR MAGISTRALA STERUJĄCA 101 MAR 101 MAGISTRALA ADRESOWA

  18. Format rozkazu 0 3 4 15 Kod operacji Adres 0 1 15 Wielkość Znak rozkaz argument Np. Move 104 - 0101000001101000

  19. Graf stanów cyklu rozkazu Pobranie argumentu Obliczenie adresu arg. Pobranie rozkazu Wiele argumentów Wiele wyników Dekodo-wanie rozkazu Operacja na danych Obliczenie adresu rozkazu Obliczenie adresu arg. Zapisanie argumentu Brak przerwań Powrót do danych Rozkaz wykonany, pobierz następny Sprawdzenie przerwań Obsługa przerwań

  20. Przerwania • Mechanizm pozwalający innym komponentomzakłócenie normalnego porządku przetwarzania • Programowe • np. przepełnienie, dzielenie przez zero • Zegarowe • Generowane przez wewnętrzny zegar procesora • Używane przy wywłaszczaniu procesów • Wejścia/wyjścia • Z kontrolera wejścia/wyjścia • Awaria sprzętu • Błąd parzystości pamięci

  21. Idea zastosowania przerwań Program użytkownika Program użytkownika Program wejścia / wyjścia Program wejścia / wyjścia 1 1 4 4 ZAPIS ZAPIS Rozkaz we-wy Rozkaz we-wy 2a @ 2b 2 Program obsługi przerwań 5 ZAPIS ZAPIS Stop 3a @ 3b 5 3 Stop

  22. Cykl przerwania • Procesor cyklicznie sprawdza, czy nie wystąpiło przerwanie • Wskazane jest to przez sygnał przerwania • Jeśli nie ma przerwania, pobierany jest następny rozkaz • Jeśli jest przerwanie: • Zawiesza się wykonanie wykonywanego programu • Zapisywany jest jego kontekst • Licznik programu ustawiany jest na adres pierwszej instrukcji programu obsługi przerwań • Przerwanie jest przetwarzanie • Następuje przywrócenie poprzedniego kontekstu i powraca się do wykonywania programu użytkownika

  23. Przerwania wielokrotne Istnieją dwie metody obsługi przerwań wielokrotnych • Przerwania zablokowane • Procesor ignoruje inne przerwania podczas obsługi przerwania • Przerwania czekają w kolejce, po zakończeniu obsługi przerwania sprawdza się, czy nie ma następnego • Przerwania są obsługiwane w kolejności wystąpienia • Priorytety • Obsługa przerwania o niskim priorytecie może zostać zakłócona przez przerwanie o wyższym priorytecie • Po zakończeniu obsługi przerwania o wyższym priorytecie następuje powrót do obsługi przerwania o niższym priorytecie

  24. Ilustracja obsługi przerwań wielokrotnych Obsługa sekwencyjna Obsługa priorytetowa Program użytkowy Program użytkowy Przerwanie nr 1 Przerwanie nr 1 Przerwanie nr 2 Przerwanie nr 2

  25. Przykład przypisania przerwań

  26. Przepływ danych w modułach komputerowych odczyt zapis PAMIĘĆ ADRES DANE N słów DANE odczyt zapis MODUŁ WEJŚCIA / WYJŚCIA Dane wewn. ADRES Dane zewn. Dane wewn. M portów Przerwania Dane zewn. ADRES ROZKAZY PROCESOR DANE DANE Przerwania Przerwania

  27. Magistrala • Jest to droga zapewniająca komunikację z urządzeniami • Składa się z wielu dróg komunikacyjnych (linii) trzech rodzajów: danych, adresowych i sterowania • Szerokość magistrali to maksymalna liczba bitów, którą można przesłać jednocześnie (równa liczbie linii)

  28. Najważniejsze magistrale • ISA (1985) • PCI (1993) • AGP 1x/2x (1997-1998) • AGP 4x (1999) • AGP 8x (2002) • PCI Express (2004) • SCSI (1979) • Magistrale przemysłowe (PROFIBUS, IEC-625)

  29. Przepustowość magistral

  30. Działanie magistrali Komunikacja między dwoma modułami Wysyłanie danych: • Uzyskanie dostępu do magistrali • Przekazanie danych Odbieranie danych • Uzyskanie dostępu do magistrali • Przekazanie informacji o potrzebie uzyskania danych (poprzez linie sterujące) • Oczekiwanie na przesłanie danych

  31. „Płaska” struktura magistrali (ISA)

  32. Hierarchiczna struktura magistrali

  33. Rodzaje magistral Przeznaczenie • Specjalistyczna • Multipleksowana Metoda arbitrażu • Scentralizowana • Rozproszona Koordynacja czasowa • Synchroniczna • Asynchroniczna

  34. Koordynacja synchroniczna

  35. Koordynacja asynchroniczna Odczyt

  36. Koordynacja asynchroniczna Zapis

  37. Magistrala PCI • Zaproponowana przez Intela w 1990 r. • Częstotliwość pracy: 66 MHz • Pracuje w konfiguracji 32 lub 64-bitowej • Komunikacja z procesorem i pamięcią przez mosty (bridge), możliwa struktura hierarchiczna • Obowiązujące linie sygnałowe: • systemowe (np. zegar, reset) • adresowe i danych (32) • sterowania interfejsu • arbitrażowe (indywidualne!) • informacja o błędach

  38. Magistrala PCI Express • Połączenia typu punkt-punkt • Wprowadzenie przełączników (switch) • Częstotliwość taktowania: 2,5 GHz • Skalowalna przepustowość magistrali – od 1x do 32x (w zależności od liczby wykorzystywanych kanałów/slotów) • Prędkość 250 MB/s dla pojedynczego slotu (dla karty graficznej 16x PCIe jest to 4 GB/s) • Wsteczna zgodność z PCI

  39. Architektura komputera z PCI Express

More Related