Slajd 1
Magistrala (ang. bus) – zespół linii oraz układów przełączających służących do przesyłania sygnałów między połączonymi urządzeniami w systemach mikroprocesorowych. Jest elementem, który sprawia, że system komputerowy staje się określoną całością. Jest wspólnym nośnikiem transmisji (shared transmission medium). Magistrala składa się z wielu dróg linii komunikacyjnych, przez które mogą być przesyłane sygnały reprezentujące binarne 0 i 1. W ciągu pewnego czasu przez pojedynczą linię może być przekazywana sekwencja cyfr binarnych. Kilka linii zawartych w magistrali można wykorzystywać razem do jednoczesnego (równoległego transmitowania cyfr binarnych, przykładowo 8 bitowa jednostka danych może być przesyłana przez 8 linii magistrali. Magistrala łącząca główne zespoły komputera (procesor, pamięć, urządzenia wejścia –wyjścia) nazywamy magistralą systemową.
Połączenie magistrali z elementami systemu komputerowego
Slajd 2
Magistrala systemowa składa się zwykle z 50 do 100 oddzielnych linii. Której każdej linii jest przypisane określone znaczenie lub funkcja. Chociaż występuje wiele różnych rozwiązań magistrali systemowych możemy rozróżnić trzy grupy funkcjonalne linie: danych, adresów i sterowania.
Linie danych - służą do przenoszenia danych pomiędzy komponentami systemu. Linie te zwane są szyną danych (ang. data bus). Liczba linii szyny określa jej szerokość (przeważnie występuje 8, 16, 32, 64 linii), czyli ilość bitów, które można jednocześnie przesyłać. Szerokość szyny danych jest jednym z głównych czynników określających wydajność systemu komputerowego. Na przykład jeśli szyna danych ma szerokość 16 bitów, a wykonywany rozkaz 32 bity, to procesor chcąc nie chcąc, musi łączyć się z modułem pamięci dwukrotnie w czasie tego cyklu rozkazu.
Linie adresowe - wykorzystywane są do określania skąd i dokąd przepływają informacje przesyłane szyną danych. Na przykład procesor, który chce odczytać dane z pamięci, umieszcza adres tych danych na szynie adresowej, a chcąc zapisać efekt ich wykonania wysyła na szynę adresową adres pamięci (lub modułu we-wy), do którego chce przesłać tenże wynik.
Istotnym parametrem również tej szyny jest jej szerokość. Szerokość szyny adresowej określa maksymalną pojemność pamięci systemu, a ściślej rzecz ujmując przestrzeń adresową, która nie musi być pamięcią, ale np. urządzeniem we-wy. Zwykle bity mniej znaczące służą do adresowania pamięci lub określonych portów wewnątrz modułu we-wy, zaś bity bardziej znaczące do wybrania określonego modułu (np. pamięci lub we-wy).
Linie sterowania - zapewniają regulację dostępu do linii danych i linii adresowych oraz umożliwiają sterowanie ich wykorzystaniem. Sygnały sterujące przesyłane pomiędzy modułami systemu komputerowego zawierają rozkazy, jak i informacje regulujące czas(taktujące).Sygnały czasowe określają ważność danych i adresów. Typowe linie sterowania to:
- zapis w pamięci (dane z magistrali zostają zapisane pod określonym adresem pamięci);
- odczyt z pamięci (dane spod określonego adresu są umieszczane w magistrali);
- zapis do we-wy dane z magistrali są adresowane do portu wejścia-wyjścia);
- odczyt z we-wy (dane z adresowanego portu we-wy są umieszczane na magistrali);
- potwierdzenie przesyłania (wskazuje że dane zostały przejęte lub umieszczone na w magistrali);
- zapotrzebowanie na magistralę moduł zgłasza zapotrzebowanie na przejecie magistrali;
- rezygnacja z magistrali moduł rezygnuje ze sterowania magistralą;
- żądanie przerwania wskazuje ze przerwanie jest zawieszone;
- potwierdzenie przerwania potwierdza że zawieszone przerwanie zostało rozpoznane;
Slajd 3
Realizacja (działanie magistrali)
Jeśli jeden z modułów zamierza wysłać dane do drugiego, to musi wykonać dwie rzeczy: po pierwsze uzyskać dostęp do magistrali, po drugie przekazać dane za pośrednictwem magistrali. Jeśli natomiast zamierza uzyskać dane z innego modułu to musi uzyskać dostęp do magistrali i przekazać zapotrzebowanie do tego modułu przez odpowiednie linie sterowania i adresowe. Musi następnie czekać, aż drugi moduł wyśle dane. Magistrala rozciąga się przez cały system, a wszystkie jego zespoły są podłączone do pewnej liczby lub do wszystkich linii magistrali. Powszechnym rozwiązaniem jest magistrala składająca się z dwóch pionowych zespołów połączeń. Wzdłuż tych zespołów połączeń w regularnych odstępach są rozmieszczone punkty mocowania w postaci gniazd podtrzymujących płytki drukowane. Każdy z głównych zespołów systemu zajmuje jedną lub więcej płytek i jest połączony z magistralą poprzez gniazda. Przedstawione rozwiązanie jest praktyczne i wygodne. Pozwala szybko rozszerzyć system poprzez dodanie nowego modułu (np. pamięci), oraz w przypadku awarii kiedy łatwo można usunąć uszkodzony moduł (płytkę).
Slajd 4
Struktury wielomagistralowe:
Na ogół, im więcej modułów ,przyrządów dołączonych jest do magistrali tym większe jest opóżnienie propagacji. Opóznienie to określa czas potrzebny do tego aby skoordynować wykorzystanie magistrali. Jeśli sterowanie magistralą przenosi się od zespołu do zespołu to opóźnienia propagacji mogą zauważalnie obniżyć wydajność całego systemu. Dlatego często magistrala może stać się wąskim gardłem, jeśli zapotrzebowanie na przesłanie zgromadzonych danych zbliża się do pojemności magistrali. Aby przeciwdziałać temu problemów i zwiększa się szybkość przenoszenia danych przez magistralę, a także stosując szersze magistrale np.: 64 bitowe zamiast 32 bitowych). Ponieważ szybkość generowania danych przez dołączone urządzenia(np.: interfejsy sieciowe, czy video) wzrastają szybko, przesyłanie pojedynczą magistrala danych jest za wolne. Dlatego w większości systemów komputerowych wykorzystuje się struktury wielomagistralowe o określonej hierarchii.
Slajd 5
Tradycyjna architektura magistrali.
Występuje tu lokalna magistrala łącząca procesor i pamięć podręczną. Może ona wspomagać jedno lub więcej urządzeń lokalnych. Sterownik pamięci podręcznej łączy tę pamięć nie tylko do magistrali lokalnej, ale również do magistrali systemowej, do której są dołączone wszystkie moduły pamięci głównej. Struktury pamięci podręcznej uwalnia procesor od potrzeby częstego dostępu do pamięci głównej. Dzięki temu pamięć główna może być przesunięta z magistrali lokalnej do systemowej. W ten sposób wejście wyjście komunikuje się z pamięcią główną przez magistralę systemową nie kolidując z działalnością procesora.
Możliwe jest podłączenie sterowników wejścia-wyjścia bezpośrednio do magistrali systemowej. Efektowniejszym rozwiązaniem jest jednak wykorzystanie jednej lub wielu szyn(expansion buses). Interfejs szyny buforuje dane przesyłane między magistralą systemową a sterownikiem wejścia-wyjścia dołączonymi do szyny rozszerzenia. Rozwiązanie to umożliwia systemowi wykorzystanie wielu urządzeń wejścia-wyjścia i jednoczesne izolowanie ruchu między pamięcią, a procesorem od ruchu związanego z wejściem-wyjściem.
Slajd 6
Architektura międzypiętrowa (dużej wydajności)
Architektura tradycyjna przedstawiona na poprzednim slajdzie przestaje być wydolna i załamuje się w miarę jak rośnie wydajność urządzeń wejścia-wyjścia. Rozwiązaniem tego problemu jest budowanie szybkich magistrali ściśle zintegrowanych z resztą systemu wymagających tylko mostu miedzy magistralą procesora a magistralą szybką. Rozwiązanie takie określane jest mianem architektury miedzy piętrowej (mezzanine architecture). Typowa realizacja takiego rozwiązania pokazana jest na rysunku.
Występuje tu magistrala lokalna, łącząca procesor z sterownikiem pamięci podręcznej, który z kolei jest podłączony do magistrali systemowej współpracującej z pamięcią główną. Sterownik pamięci podręcznej jest zintegrowany z mostem(urządzeniem buforującym)łączącym z magistralą szybka. Magistrala ta obsługuje połączenia z szybkimi sieciami LAN o dużej przepustowości (100Mbit/s), sterowniki urządzeń graficznych i wideo oraz sterowniki interfejsów z lokalnymi magistralami peryferyjnymi w tym SCSI. Ten ostatni jest urządzeniem z szybka magistralą zaprojektowaną specjalnie do obsługi urządzeń wejścia-wyjścia o dużej przepustowości. Wolniejsze urządzenia nadal są obsługiwane przez szynę rozszerzenia z interfejsem buforującym ruch miedzy szyną rozszerzenia a szybką magistralą. Zaletą tego rozwiązania jest to, że szybka magistrala ścisłej sprzęga procesor z urządzeniami wejścia-wyjścia o wysokich wymaganiach, a jednocześnie jest niezależna od procesora. Dzięki temu mogą być tolerowane różnice szybkości procesora i szybkiej magistrali, a także definicje linii sygnałowych.
Slajd 7
Elementy projektowania magistrali
Linie magistralowe pod katem projektowania mogą być podzielone na dwa rodzaje: specjalistyczne i multipleksowe. Linia specjalistyczna jest trwale przypisana albo jednej funkcji, albo fizycznie określonym zespołom komputera. Przykładem specjalizacji funkcjonalnej jest zastosowanie oddzielnych, specjalistycznych linii adresów i danych, co jest powszechne w wielu magistralach. Nie jest to jedyne rozwiązanie, ponieważ adresy i dane mogą być przesyłane przez ten sam zespól linii przy wykorzystaniu linii sterowania określającej ważność adresu(Adress Valid), każdy moduł ma do dyspozycji określony odcinek czasu na skopiowanie adresu i stwierdzenie czy jest modułem adresowym. Adres jest następnie usuwany z magistrali a te same połączenia magistralowe są wykorzystywane do przenoszenia danych odczytywanych lub zapisywanych. Dlatego metoda używania tych samych linii do wielu celów jest znana jako multipleksowanie czasowe. Natomiast przykładem specjalizacji fizycznej jest magistrala wejścia –wyjscia do łączenia modułów wejścia –wyjscia (physical dedication).
Slajd 8
Magistrala PCI
Magistrala PCI (Peripheral Component Interconnect) jest to szerokopasmowa magistrala która jest niezależna od procesora, i która może funkcjonować jako magistrala miedz piętrowa lub peryferyjna . Magistrala PCI została zaprojektowana jako ekonomiczne rozwiązanie spełniające wymagania wejścia i wyjścia w nowoczesnych systemach służąca do przyłączania urządzeń do płyty głównej w komputerach klasy PC. Istotną cechą magistrali PCI jest wysoka zgodność pomiędzy poszczególnymi wersjami magistrali PCI, jak i rozwiązań standardach pochodnych (np. PCI X) przejawiająca się tym, że urządzenia mogą pracować zarówno w starszych jak i nowszych gniazdach, pod warunkiem że są dopasowane napięciowo (warianty 3.3V i popularniejszy 5V). Zgodność ta nie jest jednak zachowana w stosunku co do magistrali PCI Express, która aktualnie wypiera standard magistrali PCI.
Slajd 9
Rozwój magistrali PCI
W poniższej tabeli możemy zaobserwować rozwój magistrali PCI od wprowadzenia jej do produkcji przez firmę Intel w 1993 roku do ostatniej wersji wprowadzonej na rynek w 2002 roku.
Wersja | PCI 2.0 | PCI 2.1 | PCI 2.2 | PCI 2.3 |
---|---|---|---|---|
Rok Wprowadzenia | 1993 | 1994 | 1999 | 202 |
Maksymalna szerokość szyny danych | 32 bity | 64 bity | 64 bity | 64 bity |
Maksymalna częstotliwość taktowania | 33 MHz | 66 MHz | 66 MHz | 66 MHz |
Maksymalna przepustowość | 132 MB/s | 528 MB/s | 528 MB/s | 528 MB/s |
Napięcie | 5V | 5V | 5V/3,3V | 3,3V |
Slajd 10
Wykorzystanie magistrali PCI.
Na rysunku poniżej przedstawiono typowe wykorzystanie magistrali PCI w systemie jednoprocesorowym. Gdzie zintegrowany układ sterownika DRAM i mostu do magistrali PCI zapewnia ścisłe sprzężenie z procesorem i możliwość dostarczenia danych z dużą szybkością. Most działa jako bufor danych, dzięki czemu szybkość magistrali może się różnić od szybkości procesora. Aktualna norma magistrali pozwala na użycie do 64 linii danych przy 33MHz, co daje szybkość przesyłania danych 264MBs lub przy 66 MHz 2.112 Gbit/s.
Slajd 11
Struktura Magistrali
Magistrala PCI może być konfigurowana tak jak wspomnieliśmy jako magistrala 32 lub 64- bitowa. Obowiązujące zgodnie z opracowanym standardem linie sygnałowe magistrali PCI których jest 50, można podzielić na następujące grupy funkcjonalne:
Wyprowadzenia systemowe . Należą do nich wyprowadzenia zegara i przywracania (reset).
Wyprowadzania adresu i danych . Należą do nich 32 linie multipleksowane adresów i danych. Pozostałe linie w tej są wykorzystywane do interpretowania i określania ważności linii sygnałowych przenoszących adresy i dane.
Wyprowadzenia sterowania interfejsu. Służą do koordynowania transakcji i współdziałania miedzy jednostkami inicjującymi a docelowymi.
Wyprowadzenia arbitrażowe. W przeciwieństwie do pozostałych linii sygnałowych magistrali PCI nie są one liniami wspólnymi. Każda jednostka nadrzędna PCI ma własną parę linii arbitrażowych, które łączą ją bezpośrednio z arbitrem magistrali PCI.
Wyprowadzenia informujące o błędach. Wykorzystywane do informowania o błędach parzystości i innych.