系統結構-計算機系統結構裏的多級立方體網絡怎麼理解?

一、背景 苦笑.jpg(x_x;)

  進行系統結構學習的過程中,多級立方體網絡這部分,真的是難以理解。我覺得吧,這本書編的也太垃圾了,一點也不通俗易懂。

  進行了各種資料搜索後,也沒有找到詳盡的解釋。

二、先從單級互連網絡開始講起

1、互連網絡

下面這部分直接抄的百度百科,劃重點,要有開關元件控制。簡單來說,就是爲了處理機和功能部件可以互相連接。

由開關元件按一定拓撲結構和控制方式構成的網絡以實現計算機系統內部多個處理機或多個功能部件間的相互連接。
在並行處理計算機系統、分佈計算機系統和計算機網等由多個處理機或多個功能部件組成的各種系統中,都會遇到機間互連問題。互連必須遵循一定的拓撲結構,通過開關元件來完成,以一定的控制方式實現機間通信。因此,互連網絡是這些系統的重要組成部分,它對系統的性能指標有決定性的影響。

2、那麼爲什麼要進行互連網絡的設計呢?

  比如我們有16個處理單元。你就這麼想吧,把一個處理單元當做是一個房子。現在16座房子,這些房子裏住了小紅0,小明1,小黑15等等小朋友。現在呢,每座房子都是獨立的,沒有路徑可達,所以要修路。最簡單的方法是什麼,每兩座房子之前就修一條路直達。開心不,賊爽。小紅0想去小黑15家,直接抵達,想去小明1家也直接抵達。如下圖所示。但這樣問題就出來了,除了小黑,小明,還有小2,小3,小n呢,如果兩兩間都修路的話,代價也太大了。光爲了方便小紅一人,就要修15條路。那小明肯定也想方便,也要直達小黑等朋友的家,也要修路。何等臥槽,這路也修太多了吧。
在這裏插入圖片描述
於是呢,就出現了網絡互連的設計這個概念。

既然兩兩相連的話,過於複雜,會增加成本,那我們就不兩兩相連。如果我們順序連接,0-1-2-3-。。。-15-0,如此這般,行程一個迴路,臥槽,兩兩之間皆可達,這才用了15根線啊親,省材省料。但是吧,這樣子成本降了,性能也不行了,距離遠的豈不是步數賊多。

於是呢,接着提出了設計互連網絡的主要目標:
在這裏插入圖片描述
翻譯成人能聽懂的話就是,平衡成本和性能:
(1)兩兩相連的話,過於複雜,會增加成本,所以別這麼幹老兄;
(2)這個路也能走,那個 路也能走;
(3)減少通訊延遲,提高並行處理的效率;
(4)64處理單元的非常複雜,可以用4個16的來組合;
又想巧又想好,想要小羊跑得快,還要小羊少喫草(≧▽≦)

比如看下圖,就是16個處理單元的線路圖。每個處理單元只有四根線與其他單元直連,比如0和1、4,12,15相連,但是通過迂迴的方式,任意兩個之間都可達了,而且可以有好幾種路徑過去,提高了靈活性。
在這裏插入圖片描述

3、互連函數

定義:互連函數表示互連網絡的出端號和入端號的一一對應關係。所有入端和出端f(x)都用二進制編碼,從兩者的二進制編碼上找出其函數規律。
翻譯成人話就是:找出到底要在哪兩座房子房子之間修路的規律唄。

3.1 基本的互連網絡

立方體、PM21、混洗交換、蝶形單級網絡

3.1.1立方體

下圖首行就是立方體互連函數的表達式,翻譯一下就是,Cube的下標i(下標從0開始)所對應的進制位取非。
以001這個二進制舉例:
Cube0的情況下,下標爲0取非:001——》000
Cube1的情況下,下標爲1取非:001——》011
Cube2的情況下,下標爲2取非:001——》101
在這裏插入圖片描述

3.1.2PM21

下圖首行就是PM21函數的表達式,N代表幾個元素,j代表當前值,mod是取餘符號。翻譯一下就是,PM 2+i=的下標i(下標從0開始)所對應的進制位取非。
example:
N=8,i=0時,PM 2+0=j+2^0 mod 8:
當前值爲j=1,所要連接的下個數值爲,1+2^0 mod 8=2 mod 8=2(2取餘8還是2)
當前值爲j=7,所要連接的下個數值爲,7+2^0 mod 8=8 mod 8=0(8取餘8是0)
N=8,i=1時,PM 2+1=j+2^1 mod 8:
當前值爲j=1,所要連接的下個數值爲,1+2^1 mod 8=3 mod 8=3
當前值爲j=7,所要連接的下個數值爲,7+2^1 mod 8=9 mod 8=1在這裏插入圖片描述

3.1.3混洗交換

下圖首行就是混洗交換函數的表達式,這個很簡單,就是把最前面一位移動到最後面。
example:001——》010——》100——》001
在這裏插入圖片描述

四、基本的多級互連網絡

多級立方體網絡、多級混洗交換網絡、多級PM21網絡、基準網絡、多級交叉開關網絡

1、基本概念

多級互連網絡採用多個相同的或不同的單級互連網絡直接連接起來,實現任意節點間的直接互連。

  • 交換開關
  • 交換開關之間的拓撲連接
  • 對交換開關的不同控制方式

1.1交換開關

交換開關是具有兩個入端和兩個出端的交換單元,用作各種多級互連網絡的基本構件。無論入端或出端,如果令居於上方的都用i表示,居於下方的都用j表示,則可以定義下列4種開關狀態或連接方式:
1)直連,即i入連i出,j入連j出;
2)交換,即i入連j出,j入連i出;
3)上播,即i入連i出和j出,j入懸空;
4)下播,即j入連i出和j出,i入懸空。
在這裏插入圖片描述
僅具有直通和交換兩種功能的是二功能開關,需1位控制信號;具有全部4種功能的是四功能開關,需4位控制信號。

1.2拓撲結構

前一級交換開關的輸出端和後一級交換開關的輸入端的連接模式。

1.3控制方式

  • 級控制:同級交換開關使用同一個控制信號控制。
  • 單元級控制:每個交換開關分別控制。
  • 部分級控制:第i級使用第i+1個控制信號控制。

2、多級立方體網絡(本文章的重點!就是我不理解的!)

注意:接下來的案例都以8個處理單元爲例
多級立方體網絡,以八個處理單元爲例,其普遍結構如下圖所示。特點是:第i級交換單元處於交換狀態時,實現的是Cubei互連函數,且都採用二功能交換單元

2.1疑惑

書上說,以八個處理單元爲例,其普遍結構如上圖所示,這句話意思是,八個處理單元的結構一般就是這樣的,你記住就行。
我沒理解的就是這裏,這個結構是怎麼畫出來的?
百度知道有個人提供了一個記圖辦法,可以應付一下。
三位二進制記爲xyz,
c1=x不變版,yz交換,
c2=y不變,xz交換。

c3回到原來的位置就好了。

比如權:5(101)-6(110)-3(011)-5
5(101)-6(110),x不變,yz交換,

6(110)-3(011),y不變,xz交換,

3(011)-5,回到原來的5。

2.2如何按要求配對通信,比如(0,5)、(1,4)、(2,7)、(3,6)

0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
(1)寫出實現此功能的互連函數的一般式;
Cube()
(2)畫出用三級立方體網絡實現互連函數的互連網絡拓撲圖,並標出各控制開關的狀態。
我們要知道一個重點,0,1,2這三級,都是由交換開關控制的,一般呢,只用到兩種功能的開關狀態,也就是直連和交換。下圖我畫的輔助線,0入5出,就是設置了三級的開關狀態爲0,2交換,1直連。
在這裏插入圖片描述
如果是(0,7)(1,6)(2,5)(3,4)呢?
三位進制位全取非,開關都是交換
在這裏插入圖片描述

2、多級混洗交換網絡

比起多級立方體網絡,混洗就簡單多了
所以我
問題:
第i級交換單元處於交換狀態時,實現的是Cubei互連函數是什麼意思?
參考鏈接:https://wenku.baidu.com/view/8406426f58fafab069dc021c.html

五、系統結構資源鏈接
02325-計算機系統結構教材(2012年-李學幹版)-帶目錄.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章