多处理机课件.ppt
◆一個旋轉鎖的代碼段(R1中的地址對應為用來進行原子交換的鎖)liR2,#1lockit:exchR2,0(R1);原子交換bnezR2,lockit;是否已加鎖?(2)機器支持Cache一致性將鎖緩衝進入Cache,並通過一致性機制使鎖值保持一致。
lockit:lwR2,0(R1);取鎖值bnezR2,lockit;鎖不可用liR2,#1;存入鎖值exchR2,0(R1);交換bnezR2,lockit;如果鎖不為0轉移(3)旋轉鎖是怎樣使用Cache一致性機制的?三個處理器競爭鎖的操作步驟處理器P0處理器P1處理器P2鎖狀態匯流排/目錄操作1佔有鎖環繞測試lock=0環繞測試lock=0Shared無2將鎖置為0(收到作廢命令)(收到作廢命令)ExclusiveP0發鎖變數作廢消息3?Cache失效Cache失效Shared匯流排/目錄處理P2Cache失效,鎖從P0寫回4?匯流排/目錄忙則等待Lock=0SharedP2Cache失效處理5?Lock=0執行交換,導致Cache失效SharedP1Cache失效處理6?執行交換,導致Cache失效交換完畢,返回0置lock=1Exclusive匯流排/目錄處理P2Cache失效,發作廢消息7?交換完畢,返回1進入關鍵處理段Shared匯流排/目錄處理P2Cache失效,寫回8?環繞測試lock=0??無(2)帶弦環增加的鏈路愈多,結點度愈高,網路直徑就愈小。全連接網路結點度:1直徑最短,為1。3.迴圈移數網路通過在環上每個結點到所有與其距離為2的整數冪的結點之間都增加一條附加鏈而構成的。結點數:16結點度:7直徑:2如果|j-i|=2r,r=0,1,2,…,n-1,網路規模N=2n,則結點i與結點j連接。這種迴圈移數網路的結點度為d=2n-1,直徑D=n/2。4.樹形和星形(1)一棵5層31個結點的二叉樹一般說來,一棵k層完全平衡的二叉樹有N=2k-1個結點。最大結點度是3,直徑是2(k-1)。(2)星形一種2層樹。結點度較高,為d=N-1。直徑較小,是一常數2。5.胖樹形6.網格形和環網形(1)一個3×3網格形網路一般說來,N=nk個結點的k維網路的內部結點度為2k,網路直徑為k(n-1)。邊結點和角結點的結點度分別為3或2。(2)環形網◆可看做是直徑更短的另一種網格。◆環形網沿陣列每行和每列都有環形連接。◆一個n×n二元環網結點度為4直徑為2*[n/2」7.超立方體◆一種二元n-立方體結構。