Magistrala systemowa - System bus

Przykład pojedynczej systemowej magistrali komputerowej

Magistrala systemowa jest jeden autobus komputer , który łączy główne komponenty systemu komputerowego, łącząc w sobie funkcje magistrali danych do przenoszenia informacji, autobus adres , aby określić, gdzie należy przesłać lub odczytać z, a kontrola autobusu , aby określić jej operacja. Technika została opracowana w celu obniżenia kosztów i poprawy modułowości, i chociaż była popularna w latach 70. i 80., bardziej nowoczesne komputery wykorzystują różne oddzielne magistrale dostosowane do bardziej specyficznych potrzeb.

Magistrali poziomie systemu (w odróżnieniu od wewnętrznych jednostki centralnej za DataPath autobusach) łączy procesor z pamięcią i urządzeniami I / O. Zazwyczaj magistrala na poziomie systemowym jest przeznaczona do użytku jako płyta montażowa .

Scenariusz tła

Wiele komputerów było opartych na pierwszym szkicu raportu z raportu EDVAC opublikowanego w 1945 roku. W tym, co stało się znane jako architektura Von Neumanna , centralna jednostka sterująca i jednostka arytmetyczno-logiczna (ALU, którą nazwał centralną częścią arytmetyczną) zostały połączone z pamięcią komputera oraz funkcjami wejścia i wyjścia w celu utworzenia zapisanego programu komputerowego . W Raporcie przedstawiono ogólną organizację i model teoretyczny komputera, ale nie implementację tego modelu. Wkrótce projekty zintegrowały jednostkę sterującą i ALU w coś, co stało się znane jako jednostka centralna (CPU).

Komputery w latach 50. i 60. były na ogół konstruowane ad hoc. Na przykład procesor, pamięć i jednostki wejścia/wyjścia były jedną lub kilkoma szafkami połączonymi kablami. Inżynierowie zastosowali powszechne techniki znormalizowanych wiązek przewodów i rozszerzyli koncepcję, ponieważ w tych wczesnych maszynach zastosowano płyty montażowe do mocowania płytek obwodów drukowanych . Nazwa „bus” była już używana dla „ szyny zbiorczej ”, która doprowadzała energię elektryczną do różnych części maszyn elektrycznych, w tym wczesnych kalkulatorów mechanicznych. Pojawienie się układów scalonych znacznie zmniejszyło wielkość każdej jednostki komputerowej, a magistrale stały się bardziej znormalizowane. Standardowe moduły można było łączyć ze sobą w bardziej jednolity sposób i były łatwiejsze do opracowania i utrzymania.

Opis

Aby zapewnić jeszcze większą modułowość przy niższych kosztach, magistrale pamięci i we/wy (oraz wymagane magistrale sterowania i zasilania ) były czasami łączone w jedną zunifikowaną magistralę systemową. Modułowość i koszt stały się ważne, ponieważ komputery stały się na tyle małe, że mieściły się w jednej szafce (a klienci oczekiwali podobnych obniżek cen). Firma Digital Equipment Corporation (DEC) dodatkowo obniżyła koszty masowo produkowanych minikomputerów i mapowanych w pamięci we/wy do magistrali pamięci, dzięki czemu urządzenia wyglądały jak lokalizacje pamięci. Ten został wdrożony w Unibus z PDP-11 około 1969 roku, eliminując potrzebę stosowania oddzielnego wejścia / wyjścia magistrali. Nawet komputery takie jak PDP-8 bez we/wy mapowanych w pamięci zostały wkrótce zaimplementowane z magistralą systemową, która umożliwiała podłączanie modułów do dowolnego gniazda. Niektórzy autorzy nazwali to nowym, uproszczonym „modelem” architektury komputerowej.

Wiele wczesnych mikrokomputerów (z procesorem na ogół na jednym układzie scalonym ) zostało zbudowanych z pojedynczą magistralą systemową, począwszy od magistrali S-100 w systemie komputerowym Altair 8800 około 1975 roku. IBM PC używał architektury Industry Standard Architecture (ISA). Bus jako swoją magistralę systemową w 1981 roku. Pasywne płyty montażowe wczesnych modeli zostały zastąpione standardem umieszczania procesora i pamięci RAM na płycie głównej , z opcjonalnymi płytami- córkami lub kartami rozszerzeń w gniazdach magistrali systemowej.

Proste symetryczne przetwarzanie wieloprocesowe z wykorzystaniem magistrali systemowej

Multibus stał się standard Instytut Inżynierów Elektryków i Elektroników jako standard IEEE 796 w 1983 roku Sun Microsystems opracował SBus w 1989 roku w celu wspierania mniejszych kart rozszerzeń. Najłatwiejszym sposobem na zaimplementowanie symetrycznego przetwarzania wieloprocesowego było podłączenie więcej niż jednego procesora do współużytkowanej magistrali systemowej, która była używana w latach 80. XX wieku. Jednak współdzielony autobus szybko stał się wąskim gardłem i zbadano bardziej wyrafinowane techniki połączeń.

Nawet w bardzo prostych systemach, w różnych momentach magistrala danych jest sterowana przez pamięć programu, pamięć RAM i urządzenia I/O. Aby zapobiec rywalizacji o magistralę danych, w danej chwili tylko jedno urządzenie steruje magistralą danych. W bardzo prostych systemach tylko magistrala danych musi być magistralą dwukierunkową. W bardzo prostych systemach rejestr adresu pamięci zawsze steruje szyną adresową, jednostka sterująca zawsze steruje szyną sterującą, a dekoder adresu wybiera, które konkretne urządzenie może sterować szyną danych podczas tego cyklu szyny. W bardzo prostych systemach każdy cykl instrukcji rozpoczyna się od cyklu pamięci READ, w którym pamięć programu przenosi instrukcję na szynę danych, podczas gdy rejestr instrukcji zatrzaskuje tę instrukcję z szyny danych. Niektóre instrukcje kontynuują cykl pamięci WRITE, w którym rejestr danych pamięci kieruje dane do szyny danych do wybranego urządzenia RAM lub we/wy. Inne instrukcje kontynuują kolejny cykl pamięci READ, w którym wybrana pamięć RAM, pamięć programu lub urządzenie we/wy kieruje dane do szyny danych, podczas gdy rejestr danych pamięci zatrzaskuje te dane z szyny danych.

Bardziej złożone systemy mają magistralę multi-master — nie tylko mają wiele urządzeń, z których każde steruje magistralą danych, ale także wiele magistral nadrzędnych, z których każde steruje magistralą adresową. Magistrala adresowa, jak również magistrala danych w systemach bus snooping , musi być magistralą dwukierunkową, często zaimplementowaną jako magistrala trójstanowa . Aby zapobiec rywalizacji o szynę na szynie adresowej, arbitra szyny wybiera, który konkretny master szyny może sterować szyną adresową podczas tego cyklu szyny.

Podwójny niezależny autobus

Wraz z ewolucją konstrukcji procesora w kierunku korzystania z szybszych magistral lokalnych i wolniejszych magistrali peryferyjnych , firma Intel przyjęła terminologię podwójnej niezależnej magistrali (DIB), wykorzystując zewnętrzną magistralę FSB do głównej pamięci systemowej oraz wewnętrzną magistralę tylną między jednym lub większą liczbą procesorów i pamięci podręczne procesora . Zostało to wprowadzone w produktach Pentium Pro i Pentium II w połowie do późnych lat 90-tych. Podstawowa magistrala do komunikacji danych między procesorem a pamięcią główną oraz urządzeniami wejściowymi i wyjściowymi nazywana jest magistralą front-side , a magistrala back-side uzyskuje dostęp do pamięci podręcznej poziomu 2.

Od 2005/2006, biorąc pod uwagę architekturę, w której 4 procesory współdzielą chipset, DIB składa się z dwóch magistral, z których każda jest współdzielona przez dwa procesory. Teoretyczna przepustowość jest podwojona w porównaniu ze współdzieloną magistralą FSB do 12,8 GB/s w najlepszym przypadku. Jednak informacje snoop przydatne do zagwarantowania spójności pamięci podręcznej współdzielonych danych znajdujących się w różnych pamięciach podręcznych muszą być wysyłane w trybie rozgłaszania, zmniejszając dostępną przepustowość. Aby złagodzić to ograniczenie, w chipsecie wstawiono filtr snoop, aby buforować informacje o snoop.

Nowoczesne komputery osobiste i serwerowe wykorzystują technologie połączeń o wyższej wydajności, takie jak HyperTransport i Intel QuickPath Interconnect , podczas gdy architektura magistrali systemowej była nadal używana w prostszych wbudowanych mikroprocesorach. Magistrala systemowa może nawet znajdować się wewnątrz pojedynczego układu scalonego, tworząc system na chipie . Przykłady obejmują AMBA , CoreConnect i Wishbone .

Zobacz też

Bibliografia