• Nie Znaleziono Wyników

Własność samosterowalności pola komutacyjnego typu log 2 N − 1log2N − 1

Dowolne nowe połączenie zestawiane w architekturze pola komutacyjnego typu log2N − 1 może być kierowane przy wykorzystaniu numeru wyjścia, do którego dane połączenie jest ad-resowane [34–36, 92, 130–132]. Taka właściwość nazywana jest samosterowalnością architektury pola komutacyjnego.

Dotychczas, w rozdziale 4.2 poświęconemu architekturze pola komutacyjnego typu log2N − 1, dla zwiększenia czytelności, używana była jedynie reprezentacja dziesiętna numerów wyjść pola

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Rysunek 4.12. Reprezentacja architektury pola komutacyjnego log216 − 1 za pomocą grafu dwudzielnego

(a) (b)

(c) (d)

Rysunek 4.13. Wzory możliwych grafów krzyżujących się ścieżek dla architektury pola komutacyjnego log216 − 1

31

Rysunek 4.14. Graf dwudzielny dla architektury pola komutacyjnego log232 − 1

(a)

(b)

(c)

(d)

Rysunek 4.15. Wzory możliwych grafów krzyżujących się ścieżek dla architektury pola komutacyjnego log232 − 1

komutacyjnego typu log2N − 1. Każde wyjście z pola komutacyjnego można jednak reprezen-tować za pomocą numerów binarnych – czyli w sposób zrozumiały dla sprzętu elektronicznego, w którym zrealizowane jest urządzenie sterujące nadzorujące pracę pola komutacyjnego.

Do zapisu binarnego wszystkich możliwych numerów wyjść z architektury pola komutacyj-nego typu log2N − 1 o pojemności N potrzeba log2N bitów. Dla pola komutacyjnego log28 − 1 są to trzy bity, dla pola log216 − 1 są to cztery bity, itd. W odróżnieniu jednak od struktury pola typu baseline, w nowej strukturze każdy bit z reprezentacji binarnej musi być interpreto-wany w inny sposób.

Dla uproszczenia dalszych rozważań, numer w reprezentacji binarnej odpowiadający

da-nemu wyjściu z architektury pola komutacyjnego będzie reprezentowany przez następujące bity: b1, b2, b3, . . . , blog2N. Dla struktury pola komutacyjnego typu log2N − 1, mającego pojem-ność N , jest log2N takich bitów, gdzie bit b1 jest bitem najbardziej znaczącym a bit blog2N jest bitem najmniej znaczącym. Stąd też, dowolne wyjście pola komutacyjnego typu log2N − 1 opisane jest przez ciąg bitów [b1b2. . . blog2N −1blog2N]b, gdzie [i]b oznacza zapis binarny liczby i.

Dla przykładu, struktura pola komutacyjnego log28 − 1 przedstawiona na rysunku 4.16(a) ma dwie sekcje (s1 i s2) oraz pojemność N = 8. Ze względu na pojemność pola potrzeba trzech bitów aby jednoznacznie opisać każde wyjście pola komutacyjnego. Na przykład, wyjście o numerze 0 w strukturze pola komutacyjnego log28 − 1 będzie zapisane jako ciąg bitów [000]b, wyjście o numerze 3 jako ciąg bitów [011]b, a wyjście o numerze 5 jako ciąg bitów [101]b. Stąd, dla wyjścia o numerze 5, bity z reprezentacji binarnej numeru tego wyjścia wynoszą odpowiednio:

b1 = 1, b2 = 0 i b3 = 1.

Ponadto, na rysunku 4.16(a) przedstawiona jest architektura pola komutacyjnego log28 − 1 z numerami wyjść zapisanymi w reprezentacji binarnej z uwzględnieniem zależności pomiędzy poszczególnymi bitami bi, gdzie i = 1, 2, 3:

• dla wyjść: 3 i 4 – dwa ostatnie bity (b2 i b3) są zawsze równe sobie, ale są one różne od bitu bardziej znaczącego (b1) od nich b1 6= b2 = b3, czyli:

blog2N −2 6= blog2N −1 = blog2N, (4.4)

• dla wyjść: 0, 1 i 2 – bit b1 jest zawsze równy 0, czyli:

blog2N −2= 0, (4.5)

• dla wyjść: 5, 6 i 7 – bit b1 jest zawsze równy 1, czyli:

blog2N −2= 1. (4.6)

Opisana wcześniej zależność między bitami b1, b2 i b3 zachodzi dla struktury pola komu-tacyjnego log28 − 1, przedstawionego na rysunku 4.16. Można ją jednak wykorzystywać rów-nież w przypadku architektury pola komutacyjnego typu log2N − 1 mającego większą po-jemność (N ≥ 16), co przekłada się także na większą liczbę bitów, które są niezbędne do reprezentacji binarnej numeru identyfikującego jednoznacznie każde z wyjść pola komutacyj-nego typu log2N − 1. Dla większych pojemności (N ≥ 16) struktura pola komutacyjnego typu

h0, 5i

b1 6= b2 = b3 b1 = 0

b1 = 1 7

0 0

1 2

7 = [1 1 1]b 6 = [1 1 0]b 5 = [1 0 1]b 2

1 0

4 = [1 0 0]b 3 = [0 1 1]b

2 = [0 1 0]b 1 = [0 0 1]b 0 = [0 0 0]b

s1 s2

(a)

h0, 5i

[1 1 1]b [1 1 0]b [1 0 1]b [1 0 0]b [0 1 1]b [0 1 0]b [0 0 1]b [0 0 0]b

s1 s2

(b)

Rysunek 4.16. Kierowanie połączenia w architekturze pola komutacyjnego log28 − 1: (a) reprezentacja komutatory-łącza, (b) reprezentacja za pomocą grafu dwudzielnego

log2N − 1 ma więcej niż dwie sekcje (n0 > 2). Należy jednak uwzględnić fakt, że sekcje si, gdzie i = 1, 2, . . . , log2N − 3, składają się tylko i wyłącznie z komutatorów mających po dwa wyjścia (wynika to bezpośrednio z charakteru architektury pola komutacyjnego typu log2N − 1 opisa-nego w szczegółach w rozdziale 4.2). Do sterowania tylko dwóch wyjść z jedopisa-nego komutatora, wystarczy jeden bit. Z tego też względu, wszystkie bity z reprezentacji binarnej numeru wyj-ścia pola komutacyjnego typu log2N − 1, poza trzema najmniej znaczącymi bitami (blog2N −2, blog2N −1 i blog2N), są używane tak jak bity w typowym samosterowalnym polu komutacyjnym typu baseline:

• gdy bit bi = 0, to w komutatorze wybierane jest wyjście górne (wyjście 0),

• gdy bit bi = 1, to w komutatorze wybierane jest wyjście dolne (wyjście 1), gdzie i = 1, 2, . . . , log2N − 3.

Rozpatrując zatem w strukturze pola komutacyjnego typu log2N − 1 o dowolnej pojemności N wszystkie bity bi, gdzie i = 1, 2, . . . , log2N − 1, log2N , można wyróżnić trzy, przedstawione poniżej, przypadki kierowania połączeń w polu komutacyjnym typu log2N − 1:

1. Kierowanie dowolnego połączenia w sekcji sn0

Dla tego przypadku komutatory mogą mieć dwa wyjścia (o numerach 0 i 1) lub trzy wyjścia (o numerach 0, 1 i 2). Należy rozpatrywać w związku z tym wszystkie trzy bity blog2N −2, blog2N −1 i blog2N z numeru binarnego reprezentującego dane wyjście pola komu-tacyjnego typu log2N − 1.

Jeżeli spełniony jest warunek (4.4), to dowolne połączenie zostało skierowane w poprzed-niej sekcji sn0−1 do komutatora z sekcji sn0 mającego dwa wyjścia. Zatem, odpowiednie wyjście z komutatora sekcji sn0 jest wybierane na podstawie wartości bitu blog2N −2. Gdy wartość bitu blog2N −2 = 0, to wybierane jest wyjście o numerze 0, gdy wartość bitu blog2N −2 = 1, to wybierane jest wyjście o numerze 1.

Natomiast, jeżeli warunek (4.4) nie jest spełniony, to spełniona jest jedna z zależności:

blog2N −2 = blog2N −1= blog2N lub blog2N −16= blog2N i dowolne połączenie zostało skierowane w poprzedniej sekcji sn0−1 do komutatora z sekcji sn0 mającego trzy wyjścia. Wyjście o numerze 0 zostanie wybrane, gdy operacja binarna:

[blog2N −1blog2N]b− [0blog2N −2]b = [00]b = 0 (4.7)

jest prawdziwa. Wyjście o numerze 1 zostanie wybrane, gdy prawdziwa jest operacja binarna:

[blog2N −1blog2N]b− [0blog2N −2]b = [01]b = 1. (4.8) Natomiast, wyjście o numerze 2 zostanie wybrane, gdy prawdziwa jest operacja binarna:

[blog2N −1blog2N]b− [0blog2N −2]b = [10]b = 2. (4.9)

Przykładowo, operacja binarna

[00]b − [00]b = [00]b = 0 (4.10) lub

[01]b − [01]b = [00]b = 0 (4.11) determinuje wybór wyjścia o numerze 0, operacja binarna

[01]b − [00]b = [01]b = 1 (4.12) lub

[10]b − [01]b = [01]b = 1 (4.13) determinuje wybór wyjścia o numerze 1, a operacja binarna

[10]b − [00]b = [10]b = 2 (4.14) lub

[11]b − [01]b = [10]b = 2 (4.15) determinuje wybór wyjścia o numerze 2.

2. Kierowanie dowolnego połączenia w sekcji sn0−1

W tym przypadku rozważane są trzy ostatnie bity blog2N −2, blog2N −1 i blog2N z numeru binarnego reprezentującego dane wyjście pola komutacyjnego typu log2N − 1.

Jeżeli spełniony jest warunek (4.4), to rozważane połączenie przechodzi w komutatorze w sekcji sn0−1 przez wyjście o numerze 1.

Z kolei, gdy warunek (4.4) nie jest spełniony, to gdy bit blog2N −2 = 0, rozważane połączenie przechodzi przez wyjście o numerze 0 komutatora sekcji sn0−1, a gdy bit blog2N −2= 1, to rozważane połączenie przechodzi przez wyjście o numerze 2 tego komutatora.

3. Kierowanie dowolnego połączenia w sekcjach si, gdzie i = 1, 2, . . . , n0− 2

W tym przypadku każdy komutator ma tylko dwa wyjścia (o numerach 0 i 1). Z tego też względu wystarczy jedynie jeden bit aby kierować dowolnym połączeniem w komutatorach mających po dwa wyjścia.

Na rysunku 4.17 przedstawiony jest przykład kierowania połączeniem w zaproponowanej w rozprawie nowej strukturze pola komutacyjnego typu log2N − 1. W polu log232 − 1 o pojem-ności N = 32, które składa się z n0 = 4 sekcji ma być zestawione połączenie h19, 19i. W sekcji wyjściowej sn0 = s4 występują komutatory mające po dwa wyjścia (są to komutatory: IV2, IV5, IV8 i IV11) lub komutatory mające po trzy wyjścia (są to komutatory: IV1, IV3, IV4, IV6, IV7, IV9, IV10 i IV12). W sekcji s3 wszystkie OSE mają po trzy wyjścia (są to komutatory: III1, III2, III3, III4, III5, III6, III7 i III8), natomiast komutatory z sekcji s1 i s2 mają zawsze po dwa wyjścia (są to odpowiednio komutatory: I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11 i I12 oraz II1, II2, II3, II4, II5, II6, II7 i II8). Dlatego też, w komutatorach z dwóch pierwszych sekcji s1 i s2 pola komutacyjnego log232 − 1, właściwe wyjście OSE wybierane jest w oparciu o jeden bit, tak samo jak to ma miejsce w tradycyjnej strukturze pola komutacyjnego typu baseline zbudowanej z symetrycznych komutatorów o rozmiarze 2 × 2. Zachodzi tutaj zatem trzeci przypadek kierowania połączeniem w architekturze pola komutacyjnego typu log2N − 1.

Z kolei, w sekcjach s3 i s4 prawidłowe wyjście z OSE wybierane jest na podstawie trzech ostat-nich bitów z numeru binarnego reprezentującego wyjście pola komutacyjnego log232 − 1, do którego kierowane jest dane połączenie. Na rysunku 4.17 przedstawiona jest struktura pola komutacyjnego log232 − 1, w którym zestawione jest połączenie h19, 19i (czarna pogrubiona linia). Reprezentacja binarna wyjścia o numerze 19 ma postać [10011]b, stąd bit b1 = 1, bit b2 = 0, bit b3 = 0, bit b4 = 1 oraz bit b5 = 1. W pierwszej kolejności rozpatrywane połą-czenie h19, 19i przechodzi w sekcji wejściowej s1 przez wyjście 1 komutatora I8, ponieważ bit b1 = 1. Następnie, w sekcji s2 połączenie h19, 19i przechodzi przez wyjście 0 w komutatorze II7, ponieważ bit b2 = 0. W kolejnej sekcji s3 sprawdzane są trzy ostatnie bity z reprezentacji binarnej wyjścia o numerze 19. Zachodzi tutaj zależność (4.4) b3 = 0 6= b4 = b5 = 1, dlatego w komutatorze III6 wybierane jest wyjście o numerze 1 (drugi przypadek kierowania połączeniem w strukturze pola komutacyjnego typu log2N − 1). Natomiast, w ostatniej sekcji s4 w komuta-torze IV8 wybierane jest wyjście o numerze 0. Wybór tego wyjścia dokonywany jest w oparciu

31

Rysunek 4.17. Przykład kierowania połączenia w architekturze pola komutacyjnego log232 − 1 dla połączenia h19, 19i

o bit b3 ponieważ b3 6= b4 = b5 (zachodzi tutaj pierwszy przypadek kierowania połączeniem w architekturze pola komutacyjnego typu log2N − 1).

Należy zauważyć, że w nowej strukturze pola istnieje tylko jedna możliwa droga połącze-niowa między każdym wejściem i każdym wyjściem. Jednak do kierowanie połączenia z dowol-nego wejścia do określodowol-nego wyjścia zawsze wystarczy informacja o binarnym numerze tego

wyjścia. Zatem nowa architektura pola, podobnie jak pole typu baseline, jest strukturą samo-sterowalną [91, 128].

4.6. Przeniki w architekturze pola komutacyjnego