Magistrala systemowa Flashcards
System komputerowy zawiera pewną liczbę magistrali. Najważniejsza z nich to magistrala systemowa (niektóre systemy wykorzystują kilka magistrali systemowych) łącząca najważniejsze podzespoły komputera, czyli procesor, pamięć i układy wejścia-wyjścia.
Czym jest magistrala?
Magistrala to zespół linii oraz układów przełączających służących do przesyłania sygnałów między połączonymi urządzeniami. W komputerach jest rodzajem “autostrady”, którą dane przenoszą się pomiędzy poszczególnymi elementami komputera.
W jaki sposób magistrala przesyła słowo maszynowe?
Zazwyczaj magistrala przesyła całe słowo maszynowe wykorzystywane przez wiele urządzeń. Jedno słowo maszynowe to 8, 16, 32, 64 lub więcej bitów, czyli napięć elektrycznych.
Na czym polega szeregowy oraz równoległy przesył danych?
Jedno słowo można przesłać albo jednym “przewodem” (połączeniem elektrycznym) jeden za drugim, albo jednocześnie 8, 16, 32, 64 połączeniami (w zależności od długości słowa). Pierwsze rozwiązanie nazywamy szeregowym, drugie - równoległym. Magistrala systemowa jest w znakomitej większości przypadków magistralą równoległą.
Co to oznacza, że dostęp do magistrali jest sekwencyjny?
W danej chwili może korzystać z niej tylko jedno urządzenie - gdyby w tym samym czasie nadawało kilka urządzeń, ich sygnały zakłócałyby się wzajemnie, co prowadziłoby do przekłamań w transmisji danych.
Jak wygląda struktura magistrali?
Magistrala systemowa składa się z wielu oddzielnych linii o określonym znaczeniu lub funkcji. Linie zawarte w magistrali można podzielić na trzy grupy (patrz rysunek niżej):
◆ linie danych;
◆ linie adresów;
◆ linie sterowania.
Opcjonalnie mogą pojawić się również linie zasilania, jednak nie zawsze one występują.
Czym są linie danych i do czego służą?
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. Przykładowo, 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. Z tego względu optymalnym rozwiązaniem jest stosowanie szyny danych dopasowanej do szerokości rejestrów danych w procesorze.
Czym są linie adresowe?
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).
Czym jest szyna kombinowana?
Jest to szyna stosowana alternatywnie do szyny adresowej i szyny danych, łącząca obie w jedną. Dane i adresy są przesyłane poprzez jedną taką szynę w obu kierunkach, za ich rozdzielenie odpowiedzialny jest wbudowany multiplekser. Jednakże rozwiązanie takie jako wolniejsze jest rzadko stosowane.
Czym są linie sterowania?
Linie sterowania (nazywane czasem również kontrolnymi) 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, które określają jakie operacje mają być wykonane;
◆ informacje regulujące czas (taktujące), określające ważność danych i adresów.
Jakie są typy szyny sterowania?
Istnieją dwa główne typy szyny sterowania:
◆ synchroniczna – czas jaki występuje w przerwach pomiędzy wysyłaniem sygnałów sterowany jest tylko i wyłącznie przez CPU;
◆ asynchroniczna – w przypadku tej szyny powolna pamięć lub jednostka I/O może według własnych potrzeb spowolnić czas przesyłania danych przez magistralę. Każda magistrala asynchroniczna może również pracować w trybie synchronicznym.
Jakie są zasady działania magistrali systemowej?
Reasumując, działanie magistrali systemowej opiera się na następujących zasadach:
◆ jeśli pewien moduł (nazwijmy go modułem X) zamierza przesłać dane do drugiego modułu (powiedzmy modułu Y), to musi:
1. uzyskać dostęp do magistrali;
2. przekazać dane za pośrednictwem magistrali;
◆ jeśli natomiast pewien moduł (moduł Y) zamierza pozyskać dane od drugiego modułu (modułu X), to musi:
1. uzyskać dostęp do magistrali;
2. przekazać zapotrzebowanie do modułu X przez odpowiednie linie sterowania i adresowe.
Przykład przebiegu operacji zapisu do pamięci (synchronicznie):
- CPU ustala adres i „kładzie” go na magistrali (szyna adresowa)
- CPU aktywuje CS (Chip Select)
- Pamięć pobiera adres
- CPU „kładzie” dane na magistrali (szyna danych)
- CPU aktywuje funkcję „write” (szyna sterowania)
- Pamięć pobiera dane i zapisuje je pod wcześniej pobranym adresem
- CPU deaktywuje funkcję „write”
- CPU deaktywuje szynę danych
Przykład przebiegu operacji odczytu (synchronicznie):
- CPU ustala adres i „kładzie” go na magistrali;
- CPU aktywuje CS (Chip Select);
- Pamięć pobiera adres
- CPU aktywuje funkcję „read”
- Pamięć „kładzie” dane na na magistrali
- CPU pobiera dane
- CPU deaktywuje funkcję „read”
- CPU deaktywuje szynę danych.