Mała liczba pinów — Low Pin Count

Niska liczba pinów
Niska liczba pinów
Rok utworzenia 1998
Stworzone przez Intel
Zastępuje Przemysłowa architektura standardowa
Zastąpione przez Ulepszona magistrala szeregowego interfejsu peryferyjnego (2016)
Szerokość w bitach 4
Prędkość 33 MHz
Styl Równolegle
Interfejs do podłączania podczas pracy Nie
Interfejs zewnętrzny Nie
Hrabia Low Pin interfejs Winbond chipie
Trusted Platform Module zainstalowany na płycie głównej i korzystający z magistrali LPC

Low Pin Count ( LPC ) autobus to autobus komputer używany w IBM kompatybilnych komputerów osobistych na podłączenie urządzeń o niskiej przepustowości do procesora , takich jak BIOS ROM (BIOS ROM został przeniesiony do szeregowego Peripheral Interface (SPI) autobusie w 2006 roku ), „starsze” urządzenia we/wy (zintegrowane z Super I/O , wbudowanym kontrolerem lub układem IPMI ) oraz Trusted Platform Module (TPM). „Starszego typu” urządzeń I / O zawierają zazwyczaj szeregowych i równoległych portów PS / 2 klawiatury , PS / 2 myszy , i Kontroler stacji dysków .

Większość płyt głównych do komputerów PC z magistralą LPC jest wyposażona w koncentrator kontrolera platformy (PCH) lub układ mostka południowego , który działa jako host i kontroluje magistralę LPC. Wszystkie inne urządzenia podłączone do fizycznych przewodów magistrali LPC są urządzeniami peryferyjnymi.

Przegląd

Schemat przedstawiający magistralę LPC łączącą mostek południowy, pamięć flash ROM i układ Super I/O

Magistrala LPC została wprowadzona przez firmę Intel w 1998 roku jako zgodny z oprogramowaniem substytut magistrali Industry Standard Architecture (ISA). Przypomina ISA do oprogramowania, chociaż fizycznie jest zupełnie inny. Magistrala ISA ma 16-bitową magistralę danych i 24-bitową magistralę adresową, która może być używana zarówno dla 16-bitowych adresów portów we/wy, jak i 24-bitowych adresów pamięci; oba działają z prędkością do 8,33  MHz . Magistrala LPC wykorzystuje mocno zmultipleksowaną, czterobitową magistralę, działającą z czterokrotnie wyższą częstotliwością zegara (33,3 MHz), aby przesyłać adresy i dane z podobną wydajnością.

Główną zaletą LPC jest to, że podstawowa magistrala wymaga tylko siedmiu sygnałów, co znacznie zmniejsza liczbę styków wymaganych w układach peryferyjnych. Układ scalony wykorzystujący LPC będzie potrzebował od 30 do 72 pinów mniej niż jego odpowiednik ISA. Łatwiej jest też trasować na nowoczesnych płytach głównych, które często są dość zatłoczone. Szybkość zegara została dobrana tak, aby odpowiadała szybkości PCI , aby jeszcze bardziej ułatwić integrację. Ponadto LPC ma być magistralą tylko z płytą główną. Żadne złącze nie jest zdefiniowane i nie są dostępne żadne peryferyjne płyty- córki LPC , z wyjątkiem Trusted Platform Modules (TPM) z płytą-córką TPM, której układ pinów jest zastrzeżony dla producenta płyty głównej i kart POST do wyświetlania kodów diagnostycznych BIOS. Wykrywanie urządzeń nie jest obsługiwane; ponieważ podłączone są tylko urządzenia płyty głównej lub określone modele modułu TPM, obraz oprogramowania układowego hosta (BIOS, UEFI ) będzie zawierał statyczny opis wszelkich urządzeń i ich adresów we/wy, które mają znajdować się na określonej płycie głównej.

Sygnały

Specyfikacja LPC definiuje siedem obowiązkowych sygnałów wymaganych do dwukierunkowego przesyłania danych:

  • LCLK : zegar 33,3 MHz dostarczany przez hosta. Może być podłączony do konwencjonalnego zegara PCI (PCICLK), dzięki czemu nie wymaga dedykowanego pinu na hoście (mostek południowy).
  • LRESET# : Aktywny-niski reset magistrali. Może być podłączony do PCIRST#.
  • LFRAME# : Ten sygnał aktywny-niski wskazuje początek transakcji magistrali LPC. Kierowany tylko przez gospodarza.
  • LAD[3:0] : Te cztery dwukierunkowe sygnały przenoszą zmultipleksowany adres, dane i inne informacje. Podobnie jak poprzednie dwa sygnały sterujące, te sygnały mają słabe rezystory podciągające , więc pozostaną w stanie wszystkich jedynek, jeśli nie będą aktywnie sterowane przez urządzenie.

Zdefiniowano sześć dodatkowych sygnałów, które są opcjonalne dla urządzeń LPC, które nie wymagają ich funkcjonalności, ale obsługa dwóch pierwszych jest obowiązkowa dla hosta:

  • LDRQ# : Żądanie DMA/mastera magistrali. Jest to dane wyjściowe z urządzenia, które chce uzyskać bezpośredni dostęp do pamięci, za pośrednictwem kontrolera DMA zgodnego z Intel 8237 lub protokołu magistrali master specyficznego dla LPC. Host musi zapewnić jeden odpowiedni pin wejściowy dla każdego urządzenia, które tego potrzebuje (co najmniej dwa).
  • SERIRQ : Serializowany sygnał przerwania zgodny z Intel 8259 . Jedna linia jest współdzielona przez wszystkie urządzenia LPC i hosta.
  • CLKRUN# : Sygnał otwartego kolektora używany do ponownego uruchomienia zegara w systemach, które mogą go zatrzymać w celu zarządzania energią. Niewymagane, jeśli host nie zatrzymuje zegara. Może być podłączony do równoważnego sygnału PCI.
  • LPME# : zdarzenie zarządzania energią typu otwarty kolektor, aby wybudzić system ze stanu uśpienia. Odpowiednik sygnału PME# magistrali PCI.
  • LPCPD# : Opcjonalne wyjście z hosta, aby ostrzec urządzenie LPC, że zasilanie zostanie wkrótce odłączone i nie powinno ono wykonywać żadnych przerwań ani żądań DMA.
  • LSMI# : Żądanie przerwania zarządzania systemem . Jest to wymagane tylko wtedy, gdy urządzenie LPC musi wyzwolić SMI# w odpowiedzi na dostęp do magistrali (np. w celu wykonania emulacji programowej brakującego sprzętu peryferyjnego). W przeciwnym razie do żądania SMI można użyć wolniejszego protokołu SERIRQ.

Czas i wydajność

Magistrala LPC wywodzi swoje konwencje elektryczne z konwencji konwencjonalnych PCI . W szczególności podziela ograniczenie, że wymagane są dwa cykle bezczynności, aby „odwrócić” dowolny sygnał magistrali, aby „mówiło” inne urządzenie. W pierwszym autobus jest aktywnie prowadzony wysoko. W drugim szyna jest nienapędzana i utrzymywana wysoko przez rezystory podciągające. Nowe urządzenie może rozpocząć przesyłanie danych przez magistralę w trzecim cyklu. Operacje LPC spędzają dużą część swojego czasu na wykonywaniu takich zmian.

Jak wspomniano, magistrala LPC została zaprojektowana tak, aby mieć wydajność zbliżoną do magistrali ISA. Dokładne szybkości przesyłania danych zależą od typu dostępu do magistrali (wejścia/wyjścia, pamięć, DMA , oprogramowanie układowe ) oraz od szybkości hosta i urządzenia LPC. Wszystkie cykle magistrali, z wyjątkiem 128-bajtowego cyklu odczytu oprogramowania układowego, w którym 256 z 273 taktów zegara zużywanych przez ten cykl jest faktycznie używanych do przesyłania danych w celu uzyskania przepustowości 15,63 MB/s, spędzają większość czasu na narzutach, a nie transfer danych. Następny najszybszy cykl magistrali, 32-bitowy cykl zapisu DMA w stylu ISA, który jest zdefiniowany w tym standardzie, może przesyłać do 6,67 MB/s, ponieważ tylko 8 z 20 taktów zegara używanych w tym cyklu magistrali faktycznie przesyła dane z resztą cykli są nad głową.

Jednym z najwolniejszych cykli magistrali jest prosty odczyt lub zapis pamięci, w którym tylko 2 z 17 taktów zegara (plus wszelkie stany oczekiwania narzucone przez urządzenie) przesyłają dane, z szybkością transferu 1,96 MB/s.

Aplikacje

Intel zaprojektował magistralę LPC tak, aby obraz systemu BIOS mógł być przechowywany w pojedynczym układzie pamięci flash podłączonym bezpośrednio do magistrali LPC. Intel umożliwił również umieszczenie obrazów systemu operacyjnego i aplikacji na pojedynczym układzie pamięci flash podłączonym bezpośrednio do magistrali LPC, jako alternatywa dla portu Parallel ATA .

CPLD lub FPGA może implementować hosta LPC lub obwodowego.

Oryginalna konsola do gier Xbox ma port debugowania LPC, którego można użyć do wymuszenia na konsoli Xbox uruchomienia nowego kodu.

Działanie zgodne z ISA

Wszystkie transakcje magistrali LPC są inicjowane przez hosta, który na krótko ustawia LFRAME# na niskim poziomie, przynajmniej przez jeden cykl. Podczas ostatniego cyklu z niskim LFRAME# (określanym jako pole START), host ustawia LAD[3:0] na same zera, aby wskazać, że nastąpi transakcja zgodna z ISA. Podczas pierwszego cyklu z ponownie wysokim LFRAME# host steruje polem „typ/kierunek cyklu” (CTDIR): trzy bity wskazujące typ (we/wy, pamięć lub DMA) i kierunek (odczyt z urządzenia lub zapis do urządzenie) transferu do naśladowania. Zwykle następuje po nim pole adresu przelewu. Wielkość adresu zależy od rodzaju cyklu:

  • W przypadku dostępu do wejść/wyjść adres to 16 bitów, które są przesyłane jako pierwsze w ciągu 4 cykli.
  • W przypadku dostępu do pamięci systemowej adres to 32 bity, przesyłane najbardziej znaczące półbajty najpierw w ciągu 8 cykli.
  • Dostęp DMA w stylu ISA nie ma adresu per se , ale dwa cykle zegara przesyłają półbajt zawierający numer kanału DMA, a drugi półbajt podający rozmiar transferu. Adres pamięci jest programowany w kontrolerze DMA w stylu ISA w chipsecie lub procesorze poza magistralą LPC. Zobacz sekcję dotyczącą DMA poniżej.

Odczyty i zapisy zgodne z ISA

Dostęp do pamięci i we/wy jest dozwolony tylko jako dostęp jednobajtowy.

W przypadku zapisu, po adresie opisanym powyżej następuje pole danych, 8 bitów przesyłanych z najmniej znaczącym półbajtem najpierw przez dwa cykle.

Następnie host przekazuje magistralę do urządzenia. To odwrócenie zajmuje dwa cykle i działa w taki sam sposób, jak konwencjonalne sygnały sterujące szyną PCI: przez jeden cykl host steruje liniami LAD w stan wysoki (1111). Podczas drugiego cyklu host przestaje sterować liniami, chociaż pozostają one wysokie ze względu na rezystory podciągające. Urządzenie może prowadzić linie począwszy od trzeciego cyklu.

Po każdym przełączeniu do urządzenia jest co najmniej jeden cykl SYNC. Liczba jest zmienna, pod kontrolą urządzenia, aby dodać tyle stanów oczekiwania, ile potrzebuje. Wzorce bitowe 0101 i 0110 wskazują, że cykle synchronizacji będą kontynuowane. Oczekiwanie kończy się, gdy urządzenie steruje wzorcem 0000 (gotowość) lub 1010 (błąd) na magistrali LAD przez jeden cykl.

W przypadku odczytów następuje po nim 8 bitów danych, przesyłanych najpierw najmniej znaczący nibble przez dwa cykle, tak samo jak w przypadku zapisu.

Następnie urządzenie ponownie zawraca magistralę do hosta (co zajmuje kolejne dwa cykle) i transfer jest zakończony; gospodarz może wysłać pole START kolejnego przelewu w kolejnym cyklu.

Jeśli host spróbuje wykonać transfer na nieużywany adres, żadne urządzenie nie będzie sterować cyklami SYNC, a host zobaczy 1111 na magistrali LAD. Po obejrzeniu trzech cykli 1111 (dwa cykle są dozwolone, oprócz dwóch cykli odwrócenia, aby wolne urządzenie dekodowało adres i zaczęło sterować wzorcami SYNC), host przerwie operację.

DMA zgodne z ISA

Układ kontrolera platformy (PCH) lub układ mostka południowego działa jako host i kontroluje magistralę LPC. Działa również jako centralny kontroler DMA dla urządzeń na tej magistrali, jeśli kontroler pamięci znajduje się w chipsecie. W procesorach, które zawierają własne kontrolery pamięci, kontroler DMA znajduje się w procesorze. Aby zapewnić zgodność z oprogramowaniem pierwotnie napisanym dla systemów z magistralą ISA, kontroler DMA zawiera odpowiedniki obwodów „starszych” pokładowych urządzeń peryferyjnych architektury IBM PC/AT , takich jak dwa programowalne kontrolery przerwań , programowalny zegar interwałowy i dwa ISA Kontrolery DMA , z których wszystkie są zaangażowane w „ DMA w stylu ISA ”.

DMA zgodne z ISA wykorzystuje kontroler DMA zgodny z Intel 8237 na hoście, który śledzi lokalizację i długość bufora pamięci, a także kierunek przesyłania. Urządzenie po prostu żąda usługi z danego numeru kanału DMA, a host wykonuje dostęp DMA na magistrali LPC.

Żądania DMA są realizowane przy użyciu sygnału LDRQ# urządzenia. Normalnie wysoki, urządzenie może wskazać przejście na linii DRQ zgodnej z ISA, wysyłając 6-bitowe żądanie: bit startu 0, 3-bitowy numer kanału DMA (najpierw bit najbardziej znaczący), jeden bit nowego poziomu żądania ( prawie zawsze 1, co oznacza żądanie transferu DMA) i końcowy 1 bit stopu. Host wykonuje następnie cykl DMA. Cykle DMA są nazywane na podstawie dostępu do pamięci, więc „odczyt” to transfer z pamięci do urządzenia, a „zapis” to transfer z urządzenia do pamięci.

„Adres” składa się z dwóch cykli: 3-bitowego numeru kanału i 1-bitowego wskazania liczby zacisków (pin TC magistrali ISA lub wyjście EOP# 8237), po którym następuje 2-bitowy rozmiar transferu.

Domyślnie kanały DMA 0–3 wykonują transfery 8-bitowe, a kanały 5–7 wykonują transfery 16-bitowe; ale rozszerzenie specyficzne dla LPC umożliwia transfery 1-, 2- lub 4-bajtowe na dowolnym kanale. Gdy wykonywany jest transfer wielobajtowy, każdy bajt ma swoje własne pole SYNC, jak opisano poniżej. Transfery DMA umożliwiają dodatkową wartość pola SYNC: wzorzec 1001 wskazuje, że urządzenie jest gotowe z bieżącym bajtem, a także chce przesłać więcej bajtów. Standardowy wzorzec „gotowy” 0000 wskazuje, że jest to ostatni bajt.

Normalny wzorzec „gotowości” SYNC o wartości 0000 (lub wzorzec błędu o wartości 1010) żąda, aby host zatrzymał DMA po następnym bajcie, dopóki urządzenie nie wyśle ​​kolejnego żądania DMA za pośrednictwem sygnału LDRQ#. Wzorzec 1001 wskazuje, że host powinien uznać, że żądanie DMA urządzenia jest nadal aktywne; host będzie kontynuował z pozostałymi bajtami w tym transferze lub rozpocznie inny transfer, w zależności od potrzeb, bez oddzielnego żądania za pośrednictwem LDRQ#.

W przypadku zapisu DMA, w którym dane są przesyłane z urządzenia, po polu SYNC następuje 8 bitów danych i inne pole SYNC, aż zostanie osiągnięta długość określona przez hosta dla tego przesyłania lub urządzenie zatrzyma przesyłanie. Dwucyklowe pole realizacji kończy transakcję. W przypadku odczytu DMA, w którym dane są przesyłane do urządzenia, po polu SYNC następuje obrót, a sekwencja danych — obrót — synchronizacja — powtarzanie dla każdego przesłanego bajtu.

Serializowane przerwania

Przerwania serializowane są przesyłane przez pojedynczą współdzieloną linię SERIRQ za pomocą zegara. Każdemu żądaniu przerwania dedykowana jest szczelina czasowa, a początkowa synchronizacja jest wykonywana przez hosta. Jako uproszczony przykład:

  • Host ustawia linię SERIRQ na niskim poziomie przez osiem zegarów, a następnie na wysokim poziomie przez kolejny, i pozwala autobusowi płynąć na ostatni cykl realizacji.
  • Jeśli urządzenie musi zażądać IRQ#6, czeka na 6×3=18 zegarów, a następnie ustawia SERIRQ na niskim poziomie zegara i wysokim na innym.

Urządzenia mogą synchronizować się na pierwszym etapie, ponieważ linia może być obniżana przez hosta tylko przez dwa lub więcej kolejnych zegarów: żadne inne urządzenie nie obniża jej przez więcej niż jeden zegar. Host rozpoznaje źródła przerwań, obserwując linię podczas zliczania zegarów: jeśli widzi, że linia SERIRQ jest obniżona przy osiemnastym zegarze, to zapewnione jest IRQ 18/3=6.

Powyższe jest trybem ciągłym, w którym host inicjuje protokół. W trybie cichym urządzenie żąda przerwania, ustawiając niską wartość SERIRQ przez zegar. Gospodarz kontynuuje obniżanie linii dla pozostałych siedmiu zegarów. Od tego momentu protokół jest taki sam. W obu trybach liczba zegarów początkowego impulsu synchronizacji może wynosić od czterech do ośmiu.

Na początku protokół działa w trybie ciągłym. Pod koniec każdej pełnej transakcji magistrali (po ustawieniu przez hosta wartości SERIRQ w stan niski, a następnie odczekaniu, aż wszystkie urządzenia wyślą żądania przerwania) host wysyła ostatni komunikat: ustawia linię SERIRQ w stan niski przez dwa lub trzy zegary, w zależności od trybu, który zostanie wykorzystany w następnej transakcji.

Zaletą korzystania z przerwań serializowanych nad tradycyjnym mechanizmem jest to, że potrzebna jest tylko jedna linia SERIRQ (poza zegarem, który i tak jest obecny), a nie linia dla każdego poziomu przerwań.

Cykle LPC bez ISA

Wartości pola START inne niż 0000 są używane do wskazania różnych transferów niezgodnych z ISA. Obsługiwane przelewy to:

POCZĄTEK = 1101, 1110
Pamięć oprogramowania do odczytu i zapisu
Dzięki temu oprogramowanie układowe (BIOS) może znajdować się poza zwykłą przestrzenią adresową urządzeń peryferyjnych. Te transfery są podobne do transferów zgodnych z ISA, z tym wyjątkiem, że:
  • Brak pola CTDIR; kierunek kodowany jest w polu START (1101 dla odczytu, 1110 dla zapisu).
  • Istnieje 4-bitowe pole wyboru chipa, które umożliwia wybór jednego koncentratora oprogramowania układowego z wielu. Na przykład drugi koncentrator oprogramowania układowego może służyć do przechowywania zapasowego systemu BIOS na wypadek uszkodzenia podstawowego systemu BIOS przez złośliwe oprogramowanie lub nieprawidłową pamięć flash.
  • Adres ma 28 bitów. Najpierw przenosi się najbardziej znaczący kęs.
  • Po adresie następuje pole rozmiaru. Obsługiwane rozmiary odczytu/zapisu to 1, 2 i 4 bajty. Obsługiwane rozmiary tylko do odczytu to 16 lub 128 bajtów.
  • Dane są przesyłane w jednej ciągłej serii, bez stanów oczekiwania. Dla całego transferu jest tylko jedno pole SYNC.
START = 0010, 0011
Nadrzędna magistrala DMA
Maksymalnie dwa urządzenia na magistrali LPC mogą zażądać transferu nadrzędnego magistrali przy użyciu sygnału LDRQ#, aby zażądać użycia zarezerwowanego kanału DMA 4. W takim przypadku host rozpocznie transfer ze specjalnym polem START o wartości 0010 dla nadrzędnej magistrali 0 lub 0011 dla urządzenia nadrzędnego magistrali 1, po których natychmiast następują dwa cykle odwrócenia w celu przekazania magistrali urządzeniu żądającemu cyklu DMA urządzenia nadrzędnego magistrali. Po cyklach realizacji transfer przebiega bardzo podobnie do transferu inicjowanego przez hosta zgodnego z ISA z odwróconymi rolami:
  • Urządzenie wysyła jednocyklowe pole CTDIR (dozwolone są tylko typy I/O i transfer pamięci).
  • Urządzenie wysyła adres (16 lub 32 bity w zależności od typu). Najpierw przenosi się najbardziej znaczący kęs.
  • Urządzenie wysyła jednocyklowe pole rozmiaru transferu, kodujące 8, 16 lub 32 bity.
  • W przypadku zapisu dane następują. W przeciwieństwie do cykli DMA zgodnych z ISA, dane są przesyłane w jednej serii, bez więcej stanów oczekiwania.
  • Następnie przychodzą dwa cykle zwrotne, podczas gdy magistrala LAD jest zwracana hostowi.
  • Wstawiane jest pole SYNC o zmiennej długości, pod kontrolą hosta.
  • W przypadku odczytu następują dane dostarczone przez hosta.
  • Różni się to od 16-bitowego masteringu magistrali ISA, ponieważ mastering magistrali LPC wymaga 32-bitowego adresu pamięci podczas transferu pamięci, nie używa kanału DMA w stylu ISA i może obsługiwać transfery 8, 16 lub 32-bitowe; podczas gdy 16-bitowa magistrala ISA wymaga 24-bitowego adresu pamięci podczas transferu pamięci, wymaga użycia kanału DMA w stylu ISA i nie może wykonywać 32-bitowych transferów.
START = 1111
przerwanie transakcji
W dowolnym momencie, chociaż zazwyczaj w odpowiedzi na błąd urządzenia podczas pola SYNC, host może przerwać bieżącą transakcję, ustawiając LFRAME# w stanie niskim bez czekania na zakończenie bieżącej transakcji. Musi utrzymywać go w stanie niskim przez co najmniej 4 cykle, a następnie zwracać go w stanie wysokim ze specjalną wartością pola START wynoszącą 1111. Wykonuje to miękki reset magistrali LPC i pozostawia magistralę w stanie bezczynności do momentu rozpoczęcia następnego transferu poprzez ponowne wysterowanie LFRAME# w stan niski .
START = 0101
Dostęp do lokalizacji TPM
Ostatnie specyfikacje modułu Trusted Platform Module definiują specjalne cykle odczytu TPM i cykle zapisu TPM, które są oparte na cyklach odczytu we/wy i zapisu we/wy. Cykle te wykorzystują pole START z poprzednio zarezerwowaną wartością 0101 i umieszczają 16-bitowy offset adresu pamięci w polu adresu. Te cykle są używane podczas korzystania z obiektu lokalnego modułu TPM.

Obsługiwane urządzenia peryferyjne

Specyfikacja magistrali LPC ogranicza typ urządzeń peryferyjnych, które mogą być do niej podłączone. Dopuszcza tylko urządzenia należące do następujących klas urządzeń: urządzenia super I/O, zintegrowany dźwięk, w tym urządzenia AC'97 lub urządzenia z zaimplementowanym interfejsem Sound Blaster , pamięć ogólnych aplikacji, w tym nieulotna pamięć BIOS , koncentratory oprogramowania układowego i wbudowane kontrolerów. Ponadto, każda klasa jest ograniczona, które cykle autobusowe są dozwolone dla każdej klasy.

Urządzenia Super I/O i urządzenia audio mogą akceptować cykle I/O, akceptować cykle DMA innych firm w stylu ISA i generować cykle magistrali master. Urządzenia pamięci do zastosowań ogólnych, takie jak nieulotna pamięć BIOS i urządzenia flash LPC, mogą akceptować cykle pamięci. Koncentratory oprogramowania układowego mogą akceptować cykle pamięci oprogramowania układowego. Sterowniki wbudowane mogą akceptować cykle we/wy i generować cykle mastera magistrali. Niektóre cykle ISA, które uznano za nieprzydatne dla tych klas, zostały usunięte. Obejmują one inicjowane przez hosta dwubajtowe cykle pamięci i inicjowane przez hosta dwubajtowe cykle we/wy. Te usunięte typy transferu mogą być inicjowane przez hosta na magistralach ISA, ale nie na magistralach LPC. Host musiałby symulować dwubajtowe cykle, dzieląc je na dwa jednobajtowe cykle. Szyna ISA ma podobną koncepcję, ponieważ oryginalna 8-bitowa szyna ISA wymagała podziału 16-bitowych cykli. Dlatego 16-bitowa magistrala ISA automatycznie dzieli 16-bitowe cykle na 8-bitowe cykle na korzyść 8-bitowych urządzeń peryferyjnych ISA, chyba że urządzenie ISA będące celem 16-bitowej pamięci lub cyklu I/O wyśle ​​sygnał, który mówi: autobus, który mógłby zaakceptować żądany transfer 16-bitowy bez pomocy rozdzielacza cykli ISA. Mastering magistrali w stylu ISA został zastąpiony w magistrali LPC protokołem bus masteringu, który w ogóle nie opiera się na kontrolerach DMA w stylu ISA. Dokonano tego w celu usunięcia ograniczeń ISA dotyczących rodzaju cykli magistrali master, które urządzenie może inicjować na którym kanale DMA. Cykle magistrali w stylu ISA, które zostały odziedziczone przez LPC po ISA, to jednobajtowe cykle magistrali I/O inicjowane przez host, jednobajtowe cykle pamięci inicjowane przez hosta oraz jedno- lub dwubajtowe cykle DMA w stylu ISA .

Dodano jednak kilka cykli magistrali innych niż ISA. Cykle dodane w celu poprawy wydajności urządzeń poza koncentratorami oprogramowania układowego obejmują jedno-, dwu- i czterobajtowe cykle pamięci głównej magistrali w stylu LPC; jedno-, dwu- i czterobajtowe cykle we/wy magistrali master; i 32-bitowy DMA innej firmy, który jest zgodny ze wszystkimi ograniczeniami zewnętrznego DMA w stylu ISA, z wyjątkiem tego, że może wykonywać 32-bitowe transfery. Każde urządzenie, które może akceptować tradycyjne DMA w stylu ISA, może również używać tego 32-bitowego DMA w stylu ISA. Host może inicjować 32-bitowe cykle DMA w stylu ISA, podczas gdy urządzenia peryferyjne mogą inicjować cykle mastera magistrali. Koncentratory oprogramowania układowego zużywały cykle oprogramowania układowego, które zostały zaprojektowane tylko dla koncentratorów oprogramowania układowego, dzięki czemu adresy oprogramowania układowego i normalne adresy we/wy mapowane w pamięci mogły się nakładać bez konfliktów. Odczyty z pamięci oprogramowania układowego mogą odczytywać jednocześnie 1, 2, 4, 16 lub 128 bajtów. Zapisy do pamięci oprogramowania układowego mogą jednocześnie zapisywać jeden, dwa lub cztery bajty.

Zobacz też

Bibliografia

Linki zewnętrzne