PL167608B1 - Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL - Google Patents

Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL

Info

Publication number
PL167608B1
PL167608B1 PL91291778A PL29177891A PL167608B1 PL 167608 B1 PL167608 B1 PL 167608B1 PL 91291778 A PL91291778 A PL 91291778A PL 29177891 A PL29177891 A PL 29177891A PL 167608 B1 PL167608 B1 PL 167608B1
Authority
PL
Poland
Prior art keywords
bus
arbitration
priority
external devices
cycle
Prior art date
Application number
PL91291778A
Other languages
English (en)
Other versions
PL291778A1 (en
Inventor
George Bohoslaw Marenin
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of PL291778A1 publication Critical patent/PL291778A1/xx
Publication of PL167608B1 publication Critical patent/PL167608B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

1. Sposób zarzadzania przesylaniem danych miedzy pamiecia a urzadzeniami zewnetrznymi, w którym prze- syla sie dane przez niededykowana magistrale w trybie bezposredniego dostepu pamieci, pomiedzy pamiecia lub wieloma urzadzeniami zewnetrznymi, z których kazde ma przyporzadkowany priorytet, znamienny tym, ze generuje sie kolejne sekwencje dwóch nienakladajacych sie sygnalów taktujacych w kazdym okresie taktu, cykle transmisji danych o dlugosci równej liczbie okresów taktu potrzebnej do generowania przez jedno z urzadzen zewnetrznych sygnalu potwierdzajacego zakonczenie transmisji danych oraz cykl arbitrazowy równy wybranej liczbie okresów taktu, po czym przesyla sie do urzadzen zewnetrznych zadania obslugi przez magistrale arbitra- zowa tylko przy przednim zboczu pierwszego z sygnalów taktujacych w jednej sekwencji oraz dynamicznie wyste- rowuje sie, na koncu ostatniego z sygnalów taktujacych tej sekwencji, urzadzenie zewnetrzne zadajace obslugi i posiadajace najwyzszy priorytet, które wyznacza sie automatycznie jako nastepne urzadzenie zarzadzajace magistrala, nastepnie w sposób ciagly powtarza sie cykl arbitrazu od chwili zwolnienia kontroli nad magistrala przez jej aktualne urzadzenie zarzadzajace magistrala, aby urzadzenie zewnetrzne o wyzszym priorytecie moglo odebrac zezwolenie od wyznaczonego juz urzadzenia zewnetrznego, oraz przekazuje sie adresy i dane miedzy wyznaczonym urzadzeniem zarzadzajacym magistrala, a pamiecia lub innym urzadzeniem zewnetrznym po niede- dykowanej magistrali podczas nastepnego cyklu, gdy aktualne urzadzenie zarzadzajace magistrala zwolni te magistrale. F i g . 4 PL PL

Description

Przedmiotem wynalazku jest sposób i urządzenie do zarządzania przesyłaniem danych między pamięcią a urządzeniami zewnętrznymi.
Znane urządzenie do przesyłania pakietów danych zawiera układy do arbitrażu kanałów magistrali. W publikacji „IBM MicroChannel Architecture“, stanowiącej dodatek do opisu interfejsów sprzętowych systemu PS/2, wydanej w listopadzie 1989, opisano aktualnie szeroko stosowaną architekturę kanałów do przesyłania informacji. Na stronach 30-33 tej publikacji są omówione przesyłania pakietowe danych i lokalny arbitraż oraz zasady ustalania pierwszeństwa modułów zarządzających magistralą.
W znanym rozwiązaniu w przypadku bezpośredniego dostępu do pamięci (DMA), wymaga się wielu cykli dla przeprowadzenia arbitrażu priorytetów między wieloma urządzeniami zewnętrznymi i określenia urządzenia o priorytecie najwyższym. Powoduje to zmniejszenie czasu wykorzystywanego na efektywne przesyłanie danych.
Ponadto w znanych rozwiązaniach, w czasie wykonywania cykli arbitrażu, nie dopuszcza się wytwarzania sygnałów potwierdzania sterowania magistralą. Te cykle arbitrażu stanowią dodatkowe czynności zmniejszające pasmo przenoszenia. W celu zmniejszenia tych dodatkowych czynności, aktualnie stosuje się nieefektywne rozwiązanie, polegające na grupowaniu przesyłanych danych w pakiety symetrycznych, to jest kolejnych i nieprzerwanych, cykli. Wadą tego rozwiązania jest konieczność stosowania dodatkowego sprzętu w postaci dużych buforów pamięci i ich układów sterujących, których działanie jest przerywane w zmiennych odstępach czasu, narzuconych przez wymaganie nieprzerywania pracy innych urządzeń realizujących przesłania w trybie bezpośredniego dostępu do pamięci o wyższym priorytecie, którym należy zapewnić pierwszeństwo. Dla uniknięcia naruszenia jednorodności łącza przez urządzenie zewnętrzne, opracowane zostały wyszukane algorytmy, które zwiększają jeszcze złożoność logiczną łącza przy nieznacznej poprawie przesyłania danych.
Żadne ze znanych rozwiązań nie zapewnia zarządzania przesyłaniem danych optymalizującego arbitraż magistrali dla wielu urządzeń zewnętrznych przy zastosowaniu minimalnej liczby układów logicznych, które jednocześnie eliminowały duże bufory pakietów informacji i jałowe cykle arbitrażu, umożliwiałyby przesyłanie danych z różnych urządzeń zewnętrznych w multipleksowanym ciągłym strumieniu sekwencyjnym oraz podobnie jak znane rozwiązania, pozwalałyby dynamicznie zmieniać priorytety odpowiednich urządzeń zewnętrznych.
Istotą sposobu zarządzania przesyłaniem danych między pamięcią a urządzeniami zewnętrznymi według wynalazku, w którym przesyła się dane przez niededykowaną magistralę w trybie
167 608 bezpośredniego dostępu do pamięci, pomiędzy pamięcią lub wieloma urządzeniami zewnętrznymi, z których każde ma przyporządkowany priorytet, jest to, że generuje się kolejne sekwencje dwóch nienakładających się sygnałów taktujących w każdym okresie taktu, cykle transmisji danych o długości równej liczbie okresów taktu potrzebnej dla wygenerowania przez jedno z urządzeń zewnętrznych sygnału potwierdzającego zakończenie transmisji danych oraz cykl arbitrażowy równy wybranej liczbie okresów taktu, po czym przesyła się do urządzeń zewnętrznych żądania obsługi przez magistralę arbitrażową tylko przy przednim zboczu pierwszego z sygnałów taktujących w jednej sekwencji oraz dynamicznie wysterowuje się, na końcu ostatniego z sygnałów taktujących tej sekwencji, urządzenie zewnętrzne żądające obsługi i posiadające najwyższy priorytet, które wyznacza się automatycznie jako następne urządzenie zarządzające magistralą, następnie w sposób ciągły powtarza się cykl arbitrażu od chwili zwolnienia kontroli nad magistralą przez jej aktualne urządzenie zarządzające magistralą, aby urządzenie zewnętrzne o wyższym priorytecie mogło odebrać zezwolenie od wyznaczonego już urządzenia zewnętrznego, oraz przekazuje się adresy i dane między wyznaczonym urządzeniem zarządzającym magistralą a pamięcią lub innym urządzeniem zewnętrznym po niededykowanej magistrali podczas następnego cyklu, gdy aktualne urządzenie zarządzające magistralą zwolni tę magistralę.
Korzystne jest, gdy zgodnie z wynalazkiem podczas inicjowania cyklu przesyłania danych dokonuje się mikroprocesorowej, dynamicznej zmiany priorytetów przynajmniej jednego z urządzeń zewnętrznych, podczas etapu przekazywania adresów i danych, przesyła się po niededykowanej magistrali z różnych urządzeń zewnętrznych dane w postaci multripleksowanego ciągłego strumienia sekwencyjnego, bez opóźnień między sekwencjami, zaś podczas cykli arbitrażowych, realizowanych na magistrali arbitrażowej, poddaje się współbieżnej analizie żądania obsługi i wydawania zezwoleń przez arbitraż magistrali niezależnie od transmisji danych.
Dalsze korzyści z wynalazku uzyskuje się, gdy w czasie kiedy aktualne urządzenie zarządzające magistralą komunikuje się zjednym z urządzeń zewnętrznych, wydłuża się cykl transmisji danych o wielokrotność długości cyklu dwóch nienakładających się sygnałów taktujących.
Z kolei istotą urządzenia do zarządzania przesyłaniem danych między pamięcią a urządzeniami zewnętrznymi, według wynalazku, przy przesyłaniu danych przez niededykowaną magistralę w trybie bezpośredniego dostępu do pamięci pomiędzy pamięcią lub widoma urządzeniami zewnętrznymi, z których każde ma przyporządkowany priorytet jest to, że zawiera magistralę arbitrażową podłączoną do każdego z urządzeń zewnętrznych, generator taktu, połączony do niededykowanej magistrali, kolejnych sekwencji dwóch nienakładających się sygnałów taktujących w każdym okresie, cykli transmisji danych o długości równej liczbie okresów taktu potrzebnej dla wygenerowania przez jedno z urządzeń zewnętrznych sygnału potwierdzającego zakończenie transmisji danych oraz cyklu arbitrażowego równego wybranej liczbie okresów taktu, pierwszy układ logiczny, podłączony do generatora taktu i do magistrali arbitrażowej, reagujący tylko na przednie zbocze pierwszego z sygnałów taktujących w jednej sekwencji do przekazywania priorytetowych żądań obsługi z każdego urządzenia zewnętrznego na magistralę arbitrażową, drugi układ logiczny, podłączony do generatora taktu i każdego urządzenia zewnętrznego, reagującego na tylne zbocze ostatniego z sygnałów taktujących cyklu arbitrażowego w tej samej jednej sekwencji do dynamicznego wysterowania urządzenia zewnętrznego posiadającego najwyższy priorytet urządzeń zewnętrznych żądających obsługi, jako następnego urządzenia zewnętrznego, które stanie się urządzeniem zarządzającym magistralą, oraz trzeci układ logiczny zawierający przerzutniki, podłączony do generatora taktu i do niededykowanej magistrali, reagujący na początek pierwszego sygnału taktującego w cyklu podczas jednej sekwencji poprzez przekazanie adresów, reagujący na początek pierwszego sygnału taktującego podczas cyklu, który następuje po jednej sekwencji poprzez transmisję danych dla pojedynczego przekazu danych lub strumienia danych o zmiennej długości między wyznaczonym urządzeniem zarządzającym magistralą a pamięcią lub innym z urządzeń zewnętrznych po niededykowanej magistrali, rozpoczynając od następnego taktu po tym, jak aktywne wówczas urządzenie zarządzania magistralą przestanie ją kontrolować.
Korzystne jest, gdy urządzenie według wynalazku także zawiera rejestr, podłączony do magistrali arbitrażowej, przechowywania kodu priorytetu, określającego priorytet przynajmniej jednego z urządzeń zewnętrznych, oraz mikroprocesor, podłączony poprzez niededykowaną magistralę do rejestru, dynamicznie modyfikujący kod priorytetu i umożliwiający zmianę tego priorytetu, albo
167 608 gdy zgodnie z wynalazkiem urządzenie zawiera rejestr, podłączony do magistrali arbitrażowej, dokonujący preselekcji i ustalenia kodu priorytettu określającego priorytet każdego urządzenia zewnętrznego.
W rozwiązaniu według wynalazku wyeliminowano jałowe cykle arbitrażu oraz czasy oczekiwania w trybie przesłań pakietowych. Uproszczony został protokół obsługi przesyłania danych przez wyeliminowanie stosowania buforów strumieni danych i układów arbitrażu. Urządzenia zewnętrzne wiedzą z wyprzedzeniem o potwierdzeniu dostępu do magistrali, co umożliwia szybsze wykonywanie operacji przesyłania danych.
Przedmiot wynalazku w przykładzie realizacji jest odtworzony na rysunku, na którym fig. 1 przedstawia ogólny schemat blokowy urządzenia zarządzania magistralą komputera, w którym to urządzeniu zastosowano wynalazek, fig. 2 - schemat układu związanego z każdym urządzeniem zewnętrznym, służącego do generowania nienakładających się sygnałów taktujących, fig. 3 - przebiegi czasowe obrazujące nienakładające się sygnały taktujące generowane przez układ pokazany na fig. 2, fig. 4 - schemat układu arbitrażu modułu zarządzającego magistralą, wytwarzającego sygnał potwierdzenia dostępu na końcu ostatniego z sygnałów taktujących zgodnie z ustalonym priorytetem, przykładowo wynoszącym „5“ (0101), fig. 5 - schemat układu, który może zastąpić część układu pokazanego na fig. 4, dla uzyskania układu wytwarzającego sygnał potwierdzenia dostępu do magistrali modułu zarządzającego przy końcu ostatniego z sygnałów taktujących, zgodnie z priorytetem, który może być zmieniany dynamicznie, i fig. 6 - przebiegi czasowe, ilustrujące potokowe przetwarzanie sygnałów: dostępu do magistrali, potwierdzenia przyznania magistrali, adresów, przesyłu danych i ich współzależności dla uzyskania kolejnych operacji wejścia - wyjścia realizowanych pakietowo lub potokowo.
Jak pokazano na figurze 1, urządzenie zarządzania magistralą, w którym zastosowano wynalazek ma centralną jednostkę przetwarzającą (CPU), korzystnie mikroprocesor 10, komunikującą się poprzez niededykowaną magistralę systemową 12 z pamięcią główną 11 i z wieloma urządzeniami zewnętrznymi 13,14. Stosowana tutaj nazwa „urządzenia zewnętrzne“ może ogólnie oznaczać inne jednostki centralne i urządzenia zewnętrzne, takie jak pliki dyskowe, drukarki, itp. Źródło sygnału, takie jak oscylator 15, wytwarza sygnały prostokątne dla każdego urządzenia zewnętrznego. Jak pokazano na rysunku, oscylator 15 jest oddzielony od jednostki centralnej, lecz jeżeli jest to korzystniejsze, funkcje dostarczania sygnału może realizować jednostka centralna. Zgodnie z wynalazkiem, nie jest wymagany jakikolwiek kontroler magistrali lub kontroler DMA.
Jak pokazano na figurze 2, każde urządzenie zewnętrzne 13, 14 ma parę inwerterów 20, 21 i parę układów sterujących buforami 22,23. W chwili, gdy sygnał na wyjściu oscylatora 15 przyjmuje wartość dodatnią, rozpoczyna się narastanie sygnału w przewodzie 24. Ten sygnał jest podawany bezpośrednio na element I 25, a pośrednio również na wspomnianą bramkę I 25 po jego dwu kolejnych negacjach w inwerterach 20, 21, dla uzyskania opóźnienia czasowego. Przy końcu opóźnienia czasowego, sygnał kluczowany na zewnątrz przez element I 25 jest negowany przez element LUB 26, co powoduje, że układ sterujący bufora 22 wysterowuje dodatnio wyjście zegarowe Cl. Tymczasem sygnał wyjściowy elementu LUB 26 zostaje podany na wejście elementu I 27, na którego inne wyjście jest podawany nieco opóźniony sygnał wyjściowy z inwertera 20, co w rezultacie powoduje, że w elemencie LUB 28 zachodzi negacja sygnału i sterujący układ buforowy 23 wysterowuje dodatnio wyjście zegarowe C2. Elementy 25,26 są identyczne jak elementy 27, 28.
Synchronizację dodatnich i ujemnych cykli odpowiednich sygnałów taktujących Cl i C2 przedstawiono na figurze 3. Sygnały C1i C2 są przesunięte w fazie względem siebie o 180°. Jednak wskutek opóźnienia wprowadzanego przez inwerter 21, długość cyklu sygnału taktującego Cl jest nieco mniejsza od analogicznej długości cyklu sygnału taktującego C2, dla wyeliminowania możliwości nakładania się tych sygnałów. Jeżeli na przykład założyć, że długość cyklu oscylatora 15 wynosi 100ns, to długość fazy dodatniego sygnału taktującego C1 wynosi 49 ns, co wynika z opóźnienia względem przedniego zbocza o 2 1/2 ns i opóźnienia względem tylnego zbocza o 1/2 ns, w rezultacie powoduje, że długość fazy ujemnego sygnału taktującego C1 wynosi 51 ns. Oczywiście dodatni sygnał taktującyC2 ma nieco większą długość fazy, wynoszącą 49,5 ns, a wobec opóźnienia
1/2 ns względem poprzedniego zbocza i opóźnienia 2ns względem tylnego zbocza, uzyskiwana długość fazy ujemnego sygnałau taktującego C2 wynosi 50,5 ns.
167 608
Liniami przerywanymi 29, 30, 31 pokazano na fig. 2 połączenia, które są zalecane dla celów diagnostycznych. Połączenia te są normalnie nieaktywne i są tu pokazane wyłącznie dla kompletności informacji. Podanie sygnału ujemnego na przewód 29 wyłącza sygnał taktujący Cl, w związku z czym aktywnym pozostanie tylko sygnał taktujący C2. Analogicznie podanie sygnału ujemnego na przewód 30 wyłącza sygnał taktujący C2, w rezultacie czego aktywnym pozostaje tylko sygnał taktujący C1. Podanie sygnału dodatniego na przewód 31 odblokowuje negujące elementy LUB 26, 28, umożliwiając prowadzenie ciągłego sterowania dodatnimi sygnałami taktującymi C1 i C2.
Zgodnie z wynalazkiem, każde urządzenie zewnętrzne 13, 14, w wybranej wcześniej chwili czasu na początku cyklu, a mianowicie podczas narastania przedniego zbocza pierwszego sygnału taktującego Cl, jest informowane o tym, czy stało się ono modułem zarządzającym magistralą. Żądania arbitrażu mogą być zmienione tylko na kodowanej magistrali arbitrażu 40 (figura 4), podczas narastania sygnału taktującego C1, a następnie są stabilne aż do potwierdzenia przyznania magistrali podczas opadającego zbocza ostatniego sygnału taktującego C2.
Pokazane na fig. 4 przewody ARO, AR1, AR2, AR3 i -LOCK są przez element LUB dołączone do magistrali arbitrażu 40. Dowolne urządzenie zewnętrzne 13,14, które chce uzyskać dostęp do magistrali 12, wpisuje swoje żądanie czytania lub pisania do układu przerzutnika, nie pokazanego na rysunku, który jest ustawiany sygnałem taktującym C2. To żądanie jest przekazywane przez przerzutnik podtrzymywania 41 synchronizowany sygnałem taktującym C1. Dodatni sygnał wyjściowy tego przerzutnika 41 jest podawany do elementu LUB 42. Jeżeli na magistrali arbitrażu 40 nie występuje wyższy priorytet, to sygnał na przewodzie ARO ma wartość dodatnią, a element LUB 42 działa jak inwerter wytwarzający sygnał ujemny. Sygnał tenjest negowany w inwerterze 43 i staje się dodatnim sygnałem + BUS REQUEST HIGHEST 1 (Najwyższe Żądanie Dostępu do Magistrali 1). Ten sygnał żądania jest negowany przez inwersyjny układ sterujący 44 wysyłający sygnał ujemny przewodem AR1 na magistralę arbitrażu 40. Omawiany sygnał żądania dostępu łącznie z sygnałem BUS REQUEST HIGHEST 3 (Najwyższe Żądanie Dostępu do Magistrali 3) podlega obróbce, po czym urządzenie zewnętrzne 13 lub 14 żądające dostępu do tej magistrali, staje się urządzeniem rozstrzygającym o dostępie do magistrali.
W przypadku, gdy inne urządzenie zewnętrzne ma aktywny najwyższy poziom sygnału na przewodzie ARO na magistrali arbitrażu 40, wówczas sygnał na tym przewodzie ARO, łączącym tę magistralę z inwersyjnym elementem LUB 42, ma wartość ujemną, co w rezultacie daje sygnał dodatni na wyjściu elementu LUB 42, blokujący dowolny sygnał wyjściowy żądania dostępu do magistrali, pojawiający się na przewodach AR1 i AR3. Dodatni sygnał wyjściowy elementu LUB 42 powoduje, że inwersyjny element I 45 blokuje przekazywanie do przewodu aR3 magistrali arbitrażu 40 wszelkich sygnałów żądania dostępu do magistrali.
Jak pokazano na fig. 4, ustalony zostaje kod priorytetu 5. W przypadku kodu 5 „Priorytet własny w kodzie czterobitowym tworzą bity na przewodach AR1 i AR3, przy czym bit na przewodzie AR3 jest bitem najmniej znaczącym.
W przypadku, gdy bit wyższego priorytetu na przewodzie AR2 przychodzący z urządzenia zewnętrznego jest aktywny, przeprowadzana jest jego inwersja w elemencie 46 i zmiana polaryzacji na dodatnią na wejściu inwersyjnego elementu I 45. Jeżeli sygnał wejściowy tylko jednego z wejść inwersyjnego elementu I 45 ma wartość dodatnią, to sygnał wyjściowy tego elementu będzie miał wartość ujemną i w tym przypadku, wskutek obecności inwersyjnego elementu sterującego 47, na przewodzie AR3 nie może pojawić się wyjściowy sygnał ujemny.
W przypadku, gdy nie ma żądań uzyskania priorytetu na przewodach ARO lub AR2 z jakiegokolwiek innego urządzenia zewnętrznego, wówczas na obu wejściach inwersyjnego elementu I 45 będzie sygnał ujemny. Następnie sygnał wyjściowy + BUS REQUEST HIGHEST 3 (Najwyższe Żądanie Dostępu do Magistrali 3). Ten sygnał wyjściowy jest negowany przez inwersyjny element sterujący 47 i pojawia się jako aktywny ujemny sygnał wyjściowy na przewodzie AR3. Sygnał wyjściowy inwersyjnego elementu I 45, który, w tym przypadku, jest sygnałem Najwyższe Żądanie Dostępu do Magistrali 3, odzwierciedla wynik dekodowania własnego priorytetu i wstępnych warunków w przerzutniku 48, pamiętającym biegunowość sygnału „Priorytet Własny w czasie sygnału taktującego C2. Przerzutnik 48 przechowuje informację odpowiadającą warunkom
167 608
Ί występującym przy końcu sygnału taktującego C2. Z chwilą ustawienia tego przerzutnika 48 można ustawić przerzutnik 49 pamiętania sygnału „Potwierdzenie Własne Magistrali w następnym cyklu dla zachowania potwierdzenia w kolejnym cyklu. Sygnał wyjściowy przerzutnika 48 przechodzi przez element I 50 i jest negowany w inwersyjnym elemencie LUB 51, a następnie zostaje zapamiętany przez przerzutnik 49 pamiętania sygnału „Potwierdzenie Własne Magistrali na początku sygnału taktującego C1. Jest to informacja dla konkretnego urządzenia zewnętrznego, że w tym cyklu jest ono urządzeniem zarządzającym magistralą.
Poprzednie urządzenie zewnętrzne, które było urządzeniem zarządzającym magistralą przed rozpatrywanym określeniem priorytetu, może przedłużyć swój cykl nawet wówczas, gdy został ustawiony jego własny przerzutnik „Priorytet Własny, analogiczny do przerzutnika 48. Wydłuża to następny cykl do momentu, w którym poprzednie urządzenie zarządzające zwolni niededykowaną magistralę 12. Funkcja opóźnienia jest sterowana przez drugie wejście elementu I 50, które jest dołączone do wyjścia przerzutnika 52 pamiętania biegunowości sygnału „Dowolny Dostęp Przerzutnik 52 został ustawiony w poprzednim sygnale taktującym C2 sygnałem na przewodzie -LOCK magistrali 40. Opóźnienie może trwać dowolną liczbę cykli sygnału taktującego C2.
Natychmiast po zakończeniu wydłużonych cykli, w trakcie sygnału taktującego C1 następuje zajęcie sygnału na przewodzie -LOCK przez poprzedni moduł zarządzający magistralą. Stwarza to możliwość przetwarzania informacji przerzutnika 49 sygnału „Własne Potwierdzenie Magistrali w trybie potokowym, w trakcie następnego sygnału taktującego C1, sterowanym przez przerzutnik 52 pamiętania biegunowności sygnału „Dowolny Dostęp, zwalniany przez sygnał taktujący C2 przy założeniu, że w rozważanym przedziale czasu nie otrzymane zostały żadne żądania o wyższym priorytecie, naruszające priorytet ustalany w bieżącym arbitrażu.
Załóżmy teraz, że urządzenie zewnątrzne chce zając dwa lub więcej kolejnych cykli w związku z wolną pracą jego odbiornika lub ponieważ chce pracować w trybie pakietowym. Urządzenie zewnętrzne ustawia przerzutnik 53 przechowujący biegunowość sygnału „Własny Dostęp w cyklu sygnału taktującego C2, wykorzystując inwersyjny element I 54. Żądanie -OWN EXTEND (Rozszerzenie Własne) musi być wpisane przez sygnał taktujący Cl do innego, nie pokazanego na rysunku przerzutnika, zanim pojawi się ono także w inwersyjnym elemencie I 54. Ten sam sygnał wyjściowy inwersyjnego elementu I 54, za pośrednictwem inwersyjnego elementu sterującego 55, ustawia przerzutnik 52 „Dowolny Dostęp, a także wysyła zwykły sygnał przewodem -LOCK na magistralę arbitrażu 40. Dopóki przerzutnik 53 „Własny Dostęp jest ustawiony, dopóty jego dodatni sygnał wyjściowy będzie sumowany logicznie w inwersyjnym elemencie LUB 51, w celu podtrzymania włączonego stanu przerzutnika 49 „Własne Potwierdzenie Magistrali dla wielu cykli. W chwili, w której rozszerzony cykl zostaje zakończony, sygnał taktujący C2 zeruje przerzutnik 53, a sygnał taktujący Cl zeruje przerzutnik 49. Dzięki temu może być usunięty sygnał z przewodu -LOCK. Teraz wszystkie urządzenia zewnętrzne są przygotowane do kontynuacji kolejnych przesłuchań danych.
Inwersyjne elementy sterujące 56, 57 są wewnętrznie nieaktywne i ich wejścia są uziemione, gdyż układy te nie uczestniczą w generacji kodu priorytetu 0101, tym niemniej pozostają one aktywne względem sygnałów zewnętrznych z magistrali 40.
Dla uzyskania synchronizacji potokowej do bramkowania danych w niededykowanej magistrali 12 należy w cyklu sygnału taktującego C2 przesłać dodatni sygnał wyjściowy z przerzutnika 49 do przerzutnika 58 „Opóźnienie-Potwierdzenie Własne i w cyklu sygnału taktującego C1 przesłać sygnał wyjściowy przerzutnika 58 do przerzutnika 59 „Przesłanie Danych Własnych. Sygnałem wyjściowym przerzutnika 59 jest sygnał synchronizujący, który bramkuje dane przekazywane do lub z niededykowanej magistrali 12.
Na figurze 5 pokazano układ, który może zastąpić układ 65, znajdujący się wewnątrz linii przerywanych na fig. 4, i daje możliwość dynamicznej zmiany kodu priorytetu. Czterobitowy kod priorytetu, pozwalający uzyskać do 16 różnych wartości priorytetów, jest wprowadzany do rejestru 70 na początku wykonywania operacji, na przykład w czasie ładowania początkowego programu. Ten układ 65 ma cztery inwersyjne układy sterujące 71, 72, 73, 74, zrealizowane w układzie otwartego kolektora. Ustalają one wartości bitów arbitrażu na przewodach ARO, AR1 i AR3 uzyskiwane odpowiednio z elementów 175,76,77 i 78. Te elementy I określają najwyższy priorytet przy pomocy dwu złożonych układów bramkujących 79,80, który teraz mają postać pojedynczych układów.
167 608
Pierwszy układ bramkujący 79 zawiera dwa elementy 181,82 i trójwejściowy element LUB 83. Inwersyjny element LUB 83 blokuje wszystkie sygnały żądania dostępu o niższym priorytecie na przewodach AR1, AR2 i AR3. Element LUB 83 blokuje również układ 84 „Priorytet Własny w przypadku, gdy wyższy priorytet jest zewnętrznie aktywny w magistrali arbitrażu 40. W przypadku, gdy aktywny jest sygnał na przewodzie ARO, a sygnał na wyjściu przerzutnika pamiętania znaku PRO rejestru 70 nie jest aktywny, to element I 81 przez inwersyjny element OR 83 zablokuje sygnały na przewodach AR1, AR2 i AR3 oraz sygnał na przewodzie OWN PRIORITY (Własny Priorytet).
Podobnie w przypadku, gdy aktywny jest sygnał na przewodzie AR1, a nie jest ustawiony przerzutnik pamiętania znaku PR1, przy pomocy elementu I 82 blokowane będą sygnały na przewodach AR1, AR2, AR3 i sygnał na przewodzie OWN PRIORITY, w wyniku czego arbitraż przeciwdziała obsłużeniu urządzenia zewnętrznego w następnej kolejności.
Ostatni sygnał wejściowy inwersyjnego elementu 83 jest doprowadzany z wyjścia przerzutnika pamiętania biegunowości sygnału „Żądanie Dostępu do Magistrali, nie pokazanego na rysunku, ustalanego przez sygnał taktujący C1 i żąda cyklu arbitrażu dla przesłania danych. Sygnał na przewodzie przerzutnika pamiętania biegunowości + BUS REQUEST ( + Żądanie Dostępu do Magistrali) będzie ujemny wówczas, gdy nie jest aktywny. To automatycznie będzie powodowało blokowanie wszystkich elementów I 75, 76, 77, 78 i 84. W przypadku, gdy na wyjściu układu 84 „Priorytet Własny jest sygnał dodatni, świadczy o tym, że to urządzenie zewnętrzne jest aktualnie urządzeniem o najwyższym priorytecie, które wygrało arbitraż i może wystartować od wysłania następnej sekwencji cykli.
Drugi układ bramkujący 80 zawiera elementy I 85 i 86, które działają podobnie do elementów I 81 i 82, z tą różnicą, że współdziałają z dwoma najmniej znaczącymi bitami magistrali arbitrażu 40 na przewodach AR2 i AR3. Inwersyjny element LUB 87 spełnia również takie same funkcje dla dwu najmniej znaczących bitów jak element LUB 83, lecz nie wymaga dołączenia wyjścia zatrzasku pamiętania biegunowości sygnału + BUS REQUEST (Żądanie Dostępu do Magistrali), ponieważ wyjście to jest już sterowane przez element LUB 83, którego wyjście jest dołączone do elementów I 76, 77, 78, 84. Wyjście inwersyjnego elementu LUB 87 steruje zatem tylko najmniej znaczącym bitem na przewodzie AR3 magistrali arbitrażu 40, a także układem 84 „Priorytet Własny.
Najbardziej znaczący bit na przewodzie ARO magistrali arbitrażu 40 jest bitem najwyższego priorytetu. Dowolne zewnętrzne urządzenie sterujące tym bitem będzie automatycznie miało najwyższy priorytet. W przypadku, gdy priorytet wpisywany przez mikroprocesor 10 do rejestru 70 wskazuje, że konkretne urządzenie zewnętrzne ma aktywny bit priorytetu na przewodzie PRO lub bit bardziej znaczący, to dowolny przerzutnik pamiętania biegunowości sygnału ( „Żądania Dostępu do Magistrali, nie pokazany na rysunku, którego stan jest określony przez sygnał taktujący Cl, będzie automatycznie sterował przewodem ARO magistrali arbitrażu 40. W tym przypadku ten bit będzie zawsze aktywny i nie zachodzi potrzeba jego blokowania.
Na figurze 6 pokazano przebiegi czasowe, ilustrujące potokową realizację różnych operacji bazujących na wykorzystaniu oscylatora 15 (fig. 1) o dowolnej częstotliwości. W aktualnie stosowanej technologii długość cyklu wynosi 100 ns, a w technologiach przyszłościowych planowana długość cyklu wynosi 50 ns. Sygnał BUS REQUEST - może być zawsze zmieniony na początku sygnału taktującego C1, to jest w pierwszej połowie cyklu oscylatora 15. Sygnał BUS REQx pozostaje niezmieniony do następnego sygnału taktującego C1. Sygnał BUS GRTx jest również ustalany przez sygnał taktujący C1, lecz odbywa się to po cyklu BUS REQx, a zatem w potoku jest umieszczony zawsze o jeden cykl sygnału później.
Na figurze 6 pokazano także współdziałanie wielu urządzeń o różnych priorytetech, od A -najwyższego do H - najniższego. Na fig. 6 przedstawiono w jaki sposób te priorytety tworzą kolejne cykle bądź to w postaci pakietów, bądź jako przebiegi opóźnione przez wolno działające poza potokiem zewnętrzne urządzenia podległe, kiedy to urządzenia te mogą odbierać dane odpowiednio do ich wewnętrznej synchronizacji. Pod nazwą „Urządzenie podległe rozumiane jest tu dowolne urządzenie z którym chce się komunikować urządzenie zarządzające magistralą.
Każdorazowo, gdy urządzenie zewnętrzne wygrywa arbitraż dostępu do niededykowanej magistrali 12, powinno wewnętrznie zapamiętać w swoim przerzutniku sygnał BUS GRTx, podobnie jak element 49 na fig. 4. Ten przerzutnik steruje bieżącym cyklem pracy urządzenia zewnętrznego, które wygrało arbitraż.
167 608
W tym samym czasie rozpatrywane urządzenie zewnętrzne jest zajęte nawiązaniem łączności z urządzeniem podporządkowanym. W czasie cyklu BUS GRTx urządzenie zewnętrzne wysyła adres na magistralę 12. Urządzenie to sygnalizuje również swoją chęć realizacji funkcji czytania lub pisania przy pomocy sygnału + RD/-WR. Sygnał -LOCK stanie się również aktywnym w przypadku, gdy urządzenie rozstrzygające o dostępie do magistrali 12 chce pracować w trybie pakietowym, to jest chce zablokować inne urządzenia zewnętrzne na czas trwania krótkiej paczki impulsów, zanim zdąży zgłosić się następne urządzenie zewnętrzne o najwyższym priorytecie. W przypadku, gdy nastąpiło jedno przesłanie danych, po którym zewnętrzne urządzenie podporządkowane stwierdza, że jest powtarzany jego własny adres, to może ono chcieć wydłużyć czas do wartości niezbędnej dla odebrania lub wysłania danych. Urządzenie może to wykonać zwiększając podstawowy cykl transmisji danych o jeden lub więcej przyrostów czasowych, poprzez ustawienie sygnału -LOCK przy wykorzystaniu logicznych podobnych do pokazanych na fig. 4, które zastosowano w urządzeniach zarządzających magistralą. Sygnał odpowiedzi na przewodzie biegnącym z każdego urządzenia zewnętrznego wskazuje, że urządzenie to wysyła lub podbiera dane z magistrali
12. Sygnał -LOCK może być również odpowiedzią urządzenia podporządkowanego dla następnego cyklu wskazującą, że urządzenie to nie może realizować kolejnego cyklu.
Jak pokazano na fig. 6, po sygnale żądania dostępu do magistrali pojawia się sygnał potwierdzenia przyznania dostępu do magistrali i sygnały odresowwe wytwarzane w urządzeniu zarządzającym magistralą. Jako trzecia w ciągu operacji potokowych jest realizowana funkcja czytania lub pisania.
Figura 6 przedstawia ponadto przebiegi sygnałów dla operacji pisania i czytania wykonywanych przez różne urządzenia A-H zarządzające magistralą, współpracujące z urządzeniami podporządkowanymi P-W w różnych trybach działania.
Jak pokazano na rysunku, w realizacji wynalazku zastosowano magistralę adresową i dwukierunkową magistralę danych. Oczywiście w przypadku szybkiego przetwarzania potokowego wynalazek może być realizowany przy wykorzystaniu jednokierunkowej magistrali wyjściowej do przesyłania adresów i danych multipleksowanych co pół cyklu, natomiast magistrala danych może mieć postać jednokierunkowej wejściowej magistrali danych.
W przypadku, gdy jest to korzystne, wynalazek może być realizowany przy wykorzystaniu pojedynczej niededykowanej magistrali dwukierunkowej. W tym rozwiązaniu adresy będą wysyłane tylko raz na początku długiego przesyłania, a w czasie kolejnych cykli przesyłania danych adresy będą sekwencyjnie zwiększane, dopóki nie zostanie wysłany nowy adres niesekwencyjny. Mówiąc dokładniej, na początku długiego przesyłania urządzenie realizuje paczkę dwu cykli, wysyłając adres w czasie pierwszego cyklu i dane w czasie drugiego i następnych cykli. W tym przypadku fig. 6 powinna być zmodyfikowana tak, aby nastąpiło wyeliminowanie magistrali adresowej, a wynikiem arbitrażu powinien być pośredni wskaźnik adresu multipleksowanych urządzeń zewnętrznych.
I __TzTi iz/ioso -
Λ co ο
i3
Departament Wydawnictw UP RP. Nakład 90 egz. Cena 1,50 zł

Claims (8)

  1. Zastrzeżenia patentowe
    1. Sposób zarządzania przesyłaniem danych między pamięcią a urządzeniami zewnętrznymi, w którym przesyła się dane przez niededykowaną magistralę w trybie bezpośredniego dostępu pamięci, pomiędzy pamięcią lub wieloma urządzeniami zewnętrznymi, z których każde ma przyporządkowany priorytet, znamienny tym, że generuje się kolejne sekwencje dwóch nienakładających się sygnałów taktujących w każdym okresie taktu, cykle transmisji danych o długości równej liczbie okresów taktu potrzebnej do generowania przez jedno z urządzeń zewnętrznych sygnału potwierdzającego zakończenie transmisji danych oraz cykl arbitrażowy równy wybranej liczbie okresów taktu, po czym przesyła się do urządzeń zewnętrznych żądania obsługi przez magistralę arbitrażową tylko przy przednim zboczu pierwszego z sygnałów taktujących w jednej sekwencji oraz dynamicznie wysterowuje się, na końcu ostatniego z sygnałów taktujących tej sekwencji, urządzenie zewnętrzne żądające obsługi i posiadające najwyższy priorytet, które wyznacza się automatycznie jako następne urządzenie zarządzające magistralą, następnie w sposób ciągły powtarza się cykl arbitrażu od chwili zwolnienia kontroli nad magistralą przezjej aktualne urządzenie zarządzające magistralą, aby urządzenie zewnętrzne o wyższym priorytecie mogło odebrać zezwolenie od wyznaczonego już urządzenia zewnętrznego, oraz przekazuje się adresy i dane między wyznaczonym urządzeniem zarządzającym magistralą, a pamięcią lub innym urządzeniem zewnętrznym po niededykowanej magistrali podczas następnego cyklu, gdy aktualne urządzenie zarządzające magistralą zwolni tę magistralę.
  2. 2. Sposób według zastrz. 1, znamienny tym, że podczas inicjowania cyklu przesyłania danych dokonuje się mikroprocesorowej, dynamicznej zmiany priorytetów przynajmniej jednego z urządzeń zewnętrznych.
  3. 3. Sposób według zastrz. 2, znamienny tym, że podczas etapu przekazywania adresów i danych, przesyła się po niededykowanej magistrali z różnych urządzeń zewnętrznych dane w postaci multipleksowanego ciągłego strumienia sekwencyjnego, bez opóźnień między sekwencjami.
  4. 4. Sposób według zastrz. 2, znamienny tym, że podczas cykli arbitrażowych, realizowanych na magistrali arbitrażowej, poddaje się współbieżnej analizie żądania obsługi i wydawania zezwoleń przez arbitraż magistrali niezależnie od transmisji danych.
  5. 5. Sposób według zastrz. 2, znamienny tym, że gdy aktualne urządzenie zarządzające magistralą komunikuje się z jednym z urządzeń zewnętrznych, wydłuża się cykl transmisji danych o wielokrotność długości cyklu dwóch nienakładających się sygnałów taktujących.
  6. 6. Urządzenie do zarządzania przesyłaniem danych między pamięcią a urządzeniami zewnętrznymi, przy przesyłaniu danych przez niededykowaną magistralę w trybie bezpośredniego dostępu do pamięci, pomiędzy pamięcią lub wieloma urządzeniami zewnętrznymi, z których każde ma przyporządkowany priorytet, znamienne tym, że zawiera magistralę arbitrażową (40) podłączoną do każdego z urządzeń zewnętrznych (13, 14), generator taktu (20-28), połączony do niededykowanej magistrali (12), kolejnych sekwencji dwóch nienakładających się sygnałów taktujących (C1-C2) w każdym okresie, cykli transmisji danych o długości równej liczbie okresów taktu potrzebnej dla wygenerowania przez jedno z urządzeń zewnętrznych (13,14) sygnału potwierdzającego zakończenie transmisji danych oraz cyklu arbitrażowego równego wybranej liczbie okresów taktu, pierwszy układ logiczny (41, 65), podłączony do generatora taktu (20-28) i do magistrali arbitrażowej (40), reagujący tylko na przednie zbocze pierwszego z sygnałów taktujących (C1, C2) w jednej sekwencji do przekazywania priorytetowych żądań obsługi z każdego urządzenia zewnętrznego (13,14) na magistralę arbitrażową (40), drugi układ logiczny (48, 58), podłączony do generatora taktu (20-28) i każdego urządzenia zewnętrznego (13,14), reagującego na tylne zbocze ostatniego z sygnałów taktujących (C1, C2) cyklu arbitrażowego w tej samej jednej sekwencji do dynamicznego wysterowania urządzenia zewnętrznego (13,14) posiadającego najwyższy priorytet z urządzeń zewnętrznych (13,14) żądających obsługi, jako następnego urządzenia zewnętrznego
    167 608 (13,14), które stanie się urządzeniem zarządzającym magistralą, oraz trzeci układ logiczny zawierający przerzutniki (49,59), podłączony do generatora taktu (20-28) i do niededykowanej magistrali (12), reagujący na początek pierwszego sygnału taktującego w cyklu podczas jednej sekwencji poprzez przekazanie adresów, reagujący na początek pierwszego sygnału taktującego podczas cyklu, który następuje po jednej sekwencji poprzez transmisję danych dla pojedynczego przekazu danych lub strumienia danych o zmiennej długości między wyznaczonym urządzeniem zarządzającym magistralą a pamięcią (11) lub innym z urządzeń zewnętrznych (13,14) po niededykowanej magistrali (12), rozpoczynając od następnego taktu po tym, jak aktywne wówczas urządzenie zarządzające magistralą przestanie ją kontrolować.
  7. 7. Urządzenie według zastrz. 6, znamienne tym, że zawiera rejestr (70), podłączony do magistrali arbitrażowej (40), przechowywania kodu priorytetu, określającego priorytet przynajmniej jednego z urządzeń zewnętrznych (13,14), oraz mikroprocesor (10), podłączony poprzez niededykowaną magistralę (12) do rejestru (70), dynamicznie modyfikujący kod priorytetu i umożliwiający zmianę tego priorytetu.
  8. 8. Urządzenie według zastrz. 6, znamienne tym, że zawiera rejestr (70), podłączony do magistrali arbitrażowej (40), dokonujący preselekcji i ustalenia kodu priorytetu określającego priorytet każdego urządzenia zewnętrznego (U, 14).
PL91291778A 1990-09-21 1991-09-19 Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL PL167608B1 (pl)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US58634990A 1990-09-21 1990-09-21

Publications (2)

Publication Number Publication Date
PL291778A1 PL291778A1 (en) 1992-06-01
PL167608B1 true PL167608B1 (pl) 1995-09-30

Family

ID=24345380

Family Applications (1)

Application Number Title Priority Date Filing Date
PL91291778A PL167608B1 (pl) 1990-09-21 1991-09-19 Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL

Country Status (18)

Country Link
US (1) US5195185A (pl)
EP (1) EP0476990B1 (pl)
JP (1) JPH0810445B2 (pl)
KR (1) KR950014505B1 (pl)
CN (1) CN1037553C (pl)
AU (1) AU639589B2 (pl)
BR (1) BR9103929A (pl)
CA (1) CA2050129C (pl)
CZ (1) CZ282214B6 (pl)
DE (1) DE69132344T2 (pl)
FI (1) FI914429A (pl)
HU (1) HU215867B (pl)
MX (1) MX173460B (pl)
NO (1) NO913707L (pl)
PL (1) PL167608B1 (pl)
PT (1) PT99006A (pl)
RU (1) RU2110838C1 (pl)
SG (1) SG42853A1 (pl)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559962A (en) * 1989-10-09 1996-09-24 Yamaha Corporation Data transmission system selecting both source and destination using addressing mechanism
US5461723A (en) * 1990-04-05 1995-10-24 Mit Technology Corp. Dual channel data block transfer bus
FR2675286B1 (fr) * 1991-04-15 1993-06-18 Bull Sa Circuit integre arbitreur de bus mca et utilisations d'un tel circuit.
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
JPH05165762A (ja) * 1991-12-13 1993-07-02 Toshiba Corp Dmaコントローラ
EP0559408B1 (en) * 1992-03-04 1998-08-26 Motorola, Inc. A method and apparatus for performing bus arbitration using an arbiter in a data processing system
EP0559409B1 (en) * 1992-03-04 1998-07-22 Motorola, Inc. A method and apparatus for performing a bus arbitration protocol in a data processing system
US5341480A (en) * 1992-04-09 1994-08-23 Apple Computer, Inc. Method and apparatus for providing a two conductor serial bus
JPH05342178A (ja) * 1992-06-10 1993-12-24 Hitachi Ltd 調停回路およびそれを用いたデータ処理装置
US5313591A (en) * 1992-06-25 1994-05-17 Hewlett-Packard Company Computer bus arbitration for N processors requiring only N unidirectional signal leads
US5596749A (en) * 1992-09-21 1997-01-21 Texas Instruments Incorporated Arbitration request sequencer
US5535395A (en) * 1992-10-02 1996-07-09 Compaq Computer Corporation Prioritization of microprocessors in multiprocessor computer systems
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5299196A (en) * 1992-11-12 1994-03-29 International Business Machines Corporation Distributed address decoding for bus structures
JPH06282528A (ja) * 1993-01-29 1994-10-07 Internatl Business Mach Corp <Ibm> データ転送方法及びそのシステム
US5546548A (en) * 1993-03-31 1996-08-13 Intel Corporation Arbiter and arbitration process for a dynamic and flexible prioritization
EP0619547A1 (en) * 1993-04-05 1994-10-12 Motorola, Inc. A method of requesting data and apparatus therefor
CA2115731C (en) * 1993-05-17 2000-01-25 Mikiel Loyal Larson Dynamically programmable bus arbiter with provisions for historical feedback and error detection and correction
US5517671A (en) * 1993-07-30 1996-05-14 Dell Usa, L.P. System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus
US6163848A (en) * 1993-09-22 2000-12-19 Advanced Micro Devices, Inc. System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus
US5600839A (en) * 1993-10-01 1997-02-04 Advanced Micro Devices, Inc. System and method for controlling assertion of a peripheral bus clock signal through a slave device
US5524215A (en) * 1993-10-05 1996-06-04 Motorola, Inc. Bus protocol and method for controlling a data processor
EP0654743A1 (en) * 1993-11-19 1995-05-24 International Business Machines Corporation Computer system having a DSP local bus
US6026455A (en) * 1994-02-24 2000-02-15 Intel Corporation Architecture and method for providing guaranteed access for a retrying bus master to a data transfer bridge connecting two buses in a computer system
US5519838A (en) * 1994-02-24 1996-05-21 Hewlett-Packard Company Fast pipelined distributed arbitration scheme
US5533205A (en) * 1994-03-30 1996-07-02 International Business Machines Corporation Method and system for efficient bus allocation in a multimedia computer system
US5572687A (en) * 1994-04-22 1996-11-05 The University Of British Columbia Method and apparatus for priority arbitration among devices in a computer system
US5526496A (en) * 1994-04-22 1996-06-11 The University Of British Columbia Method and apparatus for priority arbitration among devices in a computer system
US6256694B1 (en) * 1994-06-30 2001-07-03 Compaq Computer Corporation Distributed early arbitration
US5758106A (en) * 1994-06-30 1998-05-26 Digital Equipment Corporation Arbitration unit which requests control of the system bus prior to determining whether such control is required
US5568614A (en) * 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5598542A (en) * 1994-08-08 1997-01-28 International Business Machines Corporation Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values
US5634060A (en) * 1994-08-09 1997-05-27 Unisys Corporation Method and apparatus for high-speed efficient bi-directional communication between multiple processor over a common bus
US5559969A (en) * 1994-08-09 1996-09-24 Unisys Corporation Method and apparatus for efficiently interfacing variable width data streams to a fixed width memory
US6434638B1 (en) 1994-12-09 2002-08-13 International Business Machines Corporation Arbitration protocol for peer-to-peer communication in synchronous systems
KR0155269B1 (ko) * 1995-01-16 1998-11-16 김광호 버스 중재방법 및 그 장치
JP3320233B2 (ja) * 1995-02-06 2002-09-03 キヤノン株式会社 記録装置
US5701313A (en) * 1995-02-24 1997-12-23 Unisys Corporation Method and apparatus for removing soft errors from a memory
US5511164A (en) 1995-03-01 1996-04-23 Unisys Corporation Method and apparatus for determining the source and nature of an error within a computer system
US5740383A (en) * 1995-12-22 1998-04-14 Cirrus Logic, Inc. Dynamic arbitration priority
KR100201325B1 (ko) * 1996-03-30 1999-06-15 유기범 다중 프로세서 시스템에서 시스템 버스의 클럭속도를 향상시키는 방법
US5842025A (en) * 1996-08-27 1998-11-24 Mmc Networks, Inc. Arbitration methods and apparatus
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5859986A (en) * 1997-02-20 1999-01-12 International Business Machines Corporation Bandwidth efficient method and means for resynchronizing a master and slave over a clocked, arbitrated, bidirectional multistate parallel bus using local data recirculation, wait states, and cycle stealing
US5862353A (en) * 1997-03-25 1999-01-19 International Business Machines Corporation Systems and methods for dynamically controlling a bus
US5996037A (en) * 1997-06-03 1999-11-30 Lsi Logic Corporation System and method for arbitrating multi-function access to a system bus
US6006303A (en) * 1997-08-28 1999-12-21 Oki Electric Industry Co., Inc. Priority encoding and decoding for memory architecture
JP4019333B2 (ja) * 1998-02-13 2007-12-12 富士通株式会社 ヘッドic回路及び記録装置
US6047336A (en) * 1998-03-16 2000-04-04 International Business Machines Corporation Speculative direct memory access transfer between slave devices and memory
US6182112B1 (en) 1998-06-12 2001-01-30 Unisys Corporation Method of and apparatus for bandwidth control of transfers via a bi-directional interface
US6199135B1 (en) 1998-06-12 2001-03-06 Unisys Corporation Source synchronous transfer scheme for a high speed memory interface
US6330646B1 (en) * 1999-01-08 2001-12-11 Intel Corporation Arbitration mechanism for a computer system having a unified memory architecture
US6519666B1 (en) 1999-10-05 2003-02-11 International Business Machines Corporation Arbitration scheme for optimal performance
US8834864B2 (en) * 2003-06-05 2014-09-16 Baxter International Inc. Methods for repairing and regenerating human dura mater
KR101034493B1 (ko) * 2004-01-09 2011-05-17 삼성전자주식회사 화상 변환 장치, 화상 변환을 위한 직접 메모리 액세스장치 및 화상 변환을 지원하는 카메라 인터페이스
JP2006155387A (ja) * 2004-11-30 2006-06-15 Yamaha Corp コンピュータシステム
DE602006019005D1 (de) * 2006-06-27 2011-01-27 Thomson Licensing Verfahren und vorrichtung zur durchführung der arbitrierung
GB2473505B (en) * 2009-09-15 2016-09-14 Advanced Risc Mach Ltd A data processing apparatus and a method for setting priority levels for transactions
US8713277B2 (en) * 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
CN111478840A (zh) * 2020-04-15 2020-07-31 联合华芯电子有限公司 用于总线***的双速率仲裁中继设备
CN113821470A (zh) * 2020-06-19 2021-12-21 平头哥(上海)半导体技术有限公司 总线设备、嵌入式***和片上***
RU2749911C1 (ru) * 2020-12-25 2021-06-21 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Аппаратная реализация механизма использования одной памяти несколькими устройствами

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4453211A (en) * 1981-04-28 1984-06-05 Formation, Inc. System bus for an emulated multichannel system
EP0340347B1 (en) * 1983-09-22 1994-04-06 Digital Equipment Corporation Bus arbitration system
US4967344A (en) * 1985-03-26 1990-10-30 Codex Corporation Interconnection network for multiple processors
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller
US4924427A (en) * 1985-11-15 1990-05-08 Unisys Corporation Direct memory access controller with direct memory to memory transfers
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
JPS6366654A (ja) * 1986-09-08 1988-03-25 Matsushita Electric Ind Co Ltd 同期型バス
US4947368A (en) * 1987-05-01 1990-08-07 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
DE3782500T2 (de) * 1987-12-23 1993-05-06 Ibm Gemeinsam genutzte speicherschnittstelle fuer datenverarbeitungsanlage.
US5001625A (en) * 1988-03-24 1991-03-19 Gould Inc. Bus structure for overlapped data transfer
US5016162A (en) * 1988-03-30 1991-05-14 Data General Corp. Contention revolution in a digital computer system
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5006982A (en) * 1988-10-21 1991-04-09 Siemens Ak. Method of increasing the bandwidth of a packet bus by reordering reply packets

Also Published As

Publication number Publication date
CN1060166A (zh) 1992-04-08
PL291778A1 (en) 1992-06-01
AU639589B2 (en) 1993-07-29
NO913707L (no) 1992-03-23
FI914429A0 (fi) 1991-09-20
EP0476990B1 (en) 2000-08-02
CA2050129A1 (en) 1992-03-22
CA2050129C (en) 1996-05-14
US5195185A (en) 1993-03-16
HU913024D0 (en) 1992-01-28
KR920006858A (ko) 1992-04-28
PT99006A (pt) 1993-10-29
DE69132344T2 (de) 2001-02-15
RU2110838C1 (ru) 1998-05-10
KR950014505B1 (ko) 1995-12-02
AU8261291A (en) 1992-03-26
HUT58931A (en) 1992-03-30
NO913707D0 (no) 1991-09-20
MX173460B (es) 1994-03-04
EP0476990A3 (en) 1993-08-04
CS287491A3 (en) 1992-04-15
CZ282214B6 (cs) 1997-06-11
CN1037553C (zh) 1998-02-25
FI914429A (fi) 1992-03-22
SG42853A1 (en) 1997-10-17
JPH04246758A (ja) 1992-09-02
BR9103929A (pt) 1992-05-26
JPH0810445B2 (ja) 1996-01-31
HU215867B (hu) 1999-03-29
DE69132344D1 (de) 2000-09-07
EP0476990A2 (en) 1992-03-25

Similar Documents

Publication Publication Date Title
PL167608B1 (pl) Sposób i urzadzenie do zarzadzania przesylaniem danych miedzy pamieciaa urzadzeniami zewnetrznymi PL PL
US4660169A (en) Access control to a shared resource in an asynchronous system
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US6314484B1 (en) Computer system with a bus having a segmented structure
JP2510799B2 (ja) デ―タ処理装置およびメモリコントロ―ラ
JPH03175848A (ja) 2経路データ転送装置
JP2928866B2 (ja) プログラマブルなデータ転送タイミング
US5649209A (en) Bus coupling information processing system for multiple access to system bus
US6611893B1 (en) Data bus method and apparatus providing variable data rates using a smart bus arbiter
JPH0690701B2 (ja) 仲裁回路
US5937167A (en) Communication controller for generating four timing signals each of selectable frequency for transferring data across a network
JP4404637B2 (ja) 局所同期回路間の情報交換
JPH0677248B2 (ja) ピン数の少ない高性能バスインターフェイス
US5377334A (en) Fast asynchronous resource master-slave combination
JPS6290742A (ja) 中央処理装置の性能を向上させる方法および装置
US7162557B2 (en) Competition arbitration system
US5241629A (en) Method and apparatus for a high performance round robin distributed bus priority network
US7302508B2 (en) Apparatus and method for high speed data transfer
EP0130471A2 (en) Interface controller for connecting multiple asynchronous buses and data processing system including such controller
US20030053573A1 (en) Microcontroller having a transmission-bus-interface
JPS6214868B2 (pl)
JPH03181093A (ja) マルチポートメモリ装置
JPH08180027A (ja) 調停回路
JPS6341973A (ja) マルチプロセツサシステム
JPH01193959A (ja) 共通バス調停回路