Architektura komputerów Tydzień 8
Magistrale systemowe
● Układy składające się na komputer (procesor, pamięć, układy we/wy)
muszą się ze sobą komunikować, czyli być połączone.
● Układy łączymy ze sobą ścieżkami zapewniającymi przesyłanie danych między nimi.
● Magistrala to zestaw ścieżek łączących różne układy. Jest ona wspólna dla wszystkich lub części układów.
● Magistrala systemowa składa się z kilkudziesięciu lub nawet kilkuset oddzielnych linii.
● Linie te dzielimy na trzy zasadnicze grupy:
– danych – ścieżki do przesyłania danych
– adresowe – określają źródło lub przeznaczenie dla danych (adres pamięci lub urządzenie wejścia/wyjścia)
– sterowania – regulują dostęp do magistrali
– Zapis w pamięci
– Odczyt z pamięci
– Zapis do wyjścia
– Odczyt z wejścia
– Potwierdzenie przesłania
– Zapotrzebowanie na magistralę
– Rezygnacja z magistrali
– Żądanie przerwania
– Potwierdzenie przerwania
– Zegar
Hierarchiczne struktury wielomagistralowe
● Im więcej urządzeń dołączonych do magistrali, tym większe opóźnienia propagacji, co może zauważalnie
zmniejszyć wydajność.
● Jeśli zapotrzebowanie na przesyłanie danych jest bliskie pojemności
magistrali, staje się ona wąskim
gardłem – wprowadza opóźnienia.
● Rozwiązaniem jest stosowanie wielu magistral odpowiednio połączonych.
hierarchiczne
Pamięć
Sterownik
Pamięć
Procesor
podręczna
pamięci
główna
Magistrala
Magistrala
lokalna
systemowa
SCSI
IEEE 1394
Grafika
LAN
Magistrala szybkiego przesyłania
Porty
Porty
Interfejs
Porty
szeregowe
równoległe
szyny
PS/2
Szyna rozszerzeń
● Linie magistrali można podzielić na dwa rodzaje:
– specjalizowane
– multipleksowane
● Linie specjalizowane są przeznaczine do realizowania jednej, wyznaczonej funkcji, np. linia adresowa lub danych.
● Linie multipleksowane mogą spełniać różne role, np. podanie adresu w jednej jednostce czasu, a w następnej danych.
● Jeśli do magistrali może być
przyłączonych więcej niż dwa układy musi istnieć sterownik zwany arbitrem.
● Arbiter przydziela czas magistrali poszczególnym układom zgłaszającym zapotrzebowanie na przesłanie danych.
● Czas przydzielony może być
koordynowany asynchronicznie lub
synchronicznie.
● PCI to skrót od Peripheral Component Interconnect
● Magistrala PCI może mieć 32 lub 64 linie danych.
● Może pracować z częstotliwością 33 lub 66 MHz.
● Magistrala PCI jest zestandaryzowana i może być używana w komputerach o
różnych architekturach (Intel x86, PowerPC i innych).
PCI w komputerach biurowych Pamięć
Procesor
podręczna
Sterownik
Pamięć
pamięci
główna
Magistrala PCI
Most szyny
LAN
IDE
Grafika
rozszerzeń
Magistrala rozszerzeń
Porty
Port
szeregowe
równoległy
Pamięć
główna
Procesor 0
Procesor 1
Pamięć
Pamięć
Sterownik
podręczna
podręczna
pamięci
Magistrala systemowa
Most PCI
Most PCI
Magistrala PCI
Magistrala PCI
Most szyny
Porty
Port
rozszerzeń szeregowe równoległy
LAN
SCSI
Grafika
Magistrala rozszerzeń
● Linie magistrali PCI można podzielić na następujące grupy:
– systemowe (zegar, zerowanie)
– adresu i danych (32 multipleksowane linie dla adresów i danych)
– sterowania interfejsu
– arbitrażowe
– informacje o błędach
– opcjonalne linie przerwań
– opcjonalne rozszerzenia 64 bitowe (dodatkowe 32 multipleksowane linie adresów i danych)
– opcjonalne obsługi pamięci podręcznej
– opcjonalne testowania
● Przesyłanie danych odbywa się w formie transakcji między inicjatorem
transmisji a celem.
● Inicjator domagając się sterowania magistralą określa typ transakcji do przeprowadzenia wysyłając jeden z rozkazów PCI.
● Każde przesłanie danych to jedna transakcja składająca się z jednego cyklu adresowego i jednego lub więcej faz przesyłania danych.
– potwierdzenie przerwania
– cykl specjalny
– odczyt wejścia-wyjścia
– zapis wejścia-wyjścia
– odczyt pamięci
– linia odczytu pamięci
– zwielokrotniony odczyt pamięci
– zapis w pamięci
– zapis w pamięci i unieważnienie
– odczyt konfiguracji
– zapis konfiguracji
– cykl podwójnego adresu
● Każdy moduł ma przypisane oddzielne sygnały zapotrzebowania (REQ) i
udostępniania (GNT) do arbitra.
Arbiter
GNT REQ
GNT REQ
GNT REQ
GNT REQ
PCI
Urządzenie Urządzenie Urządzenie Urządzenie PCI
PCI
PCI
PCI