專利名稱:包括多個存儲結構的半導體器件的制作方法
技術領域:
本發明涉及一種增大半導體中的處理器到存儲器速度的結構和相關方法。
背景技術:
電子結構一般包括在電子結構內運行的信號的漫長存取時間。漫長的存取時間使整個電子結構的性能下降,由此使得電子結構沒有效率。因此,需要增大電子結構內的信號存取時間,以便產生更有效的電子結構。
發明內容
本發明提供了一種半導體器件,包括半導體器件內的多個系統,每個系統包括至少一個處理器和局部存儲結構,其中在每個所述系統內,每個所述處理器與每個所述局部存儲結構電耦合,每個所述局部存儲結構與其余的每個局部存儲結構電耦合,每個所述局部存儲結構適合與每個所述處理器共享地址空間,每個所述處理器適合向每個所述局部存儲結構傳輸數據和指令。
本發明提供了一種控制數據流的方法,包括在半導體器件內提供多個系統,每個系統包括至少一個與局部存儲結構電耦合的處理器;使每個所述局部存儲結構與其余的每個局部存儲結構電耦合;使每個所述局部存儲結構與其余的每個局部存儲結構共享地址空間;以及每個所述處理器向每個所述局部存儲結構傳輸數據和指令。
圖1表示出按照本發明的實施例、包括第一系統和第二系統的半導體器件的方框圖。
圖2表示出圖1的替換型實施例,即按照本發明的實施例、包括多個系統的半導體器件的方框圖,每個系統包括多個處理器。
圖3表示出圖1的替換型實施例,即按照本發明的實施例、包括多個系統的半導體器件的方框圖,每個系統包括解碼器和讀隊列。
圖4表示出圖2的替換型實施例,即按照本發明的實施例、包括多個系統的半導體器件的方框圖,每個系統包括多個與解碼器和讀隊列耦合的處理器。
具體實施例方式
圖1示出了包括第一系統6和第二系統3的半導體器件2的方框圖,其中按照本發明的實施例,第一系統6包括第一處理器7和第一局部存儲結構8,第二系統3包括第二處理器9和第二存儲結構1。在圖1中,第一系統6和第二系統3是為了圖示目的而示出的,因此半導體器件2可包括與第一系統6和/或第二系統3相等同的多個系統。而且,多個系統中的每一個可包括多個處理器(正如以下在圖2的描述中詳細提及的)。第一處理器7通過鏈路72與第一局部存儲結構8電耦合。第二處理器9通過鏈路74與第二局部存儲結構1電耦合。在每個系統6和3中,每個處理器7和9在相應的局部存儲結構8和1的附近,但是沒有觸及這些局部存儲結構8和1。在每個系統6和3中,每個處理器7和9與相應的局部存儲結構8和1之間的物理距離,為約50微米-約400微米。每個處理器7和9控制半導體器件2的多個功能,例如壓縮功能、計算功能、加密功能、解碼功能等。將處理器7和局部存儲結構8分為一組,而將處理器9與局部存儲結構1分為一組,這樣增大了半導體器件可以行使功能的整個速度,因為每個處理器7和9分別物理上接近每個存儲結構8和1。第一系統6中的局部存儲結構8通過鏈路10與第二系統3中的局部存儲結構1電耦合。鏈路10可以是高速串行鏈路。高速串行鏈路可以是本領域普通技術人員公知的任何高速串行鏈路,例如約10兆比特/秒的通用串行總線(USB)1.0、約2.5千兆比特/秒的外圍分量互連(PCI)。第一局部存儲結構8包括與存儲控制器4耦合的存儲器5。第二局部存儲結構1包括與存儲控制器15耦合的存儲器11。存儲器5包括處理器7的一組數據和/或指令,從而處理器7可以執行半導體器件2的多個功能(如上所述)。存儲器11包括處理器9的一組數據和/或指令,從而處理器9可以執行半導體器件2的多個功能(如上所述)。第一系統6中的存儲器5可包括適合由處理器7和處理器9存取的第一共享地址空間。第二系統3中的存儲器11可包括適合由處理器7和處理器9存取的第二共享地址空間。此外,處理器7可存取局部存儲器5中不與處理器9共享的地址空間,處理器9可存取局部存儲器11中不與處理器7共享的地址空間。因此,根據共享的地址空間和不共享的地址空間,可尋址空間的總量(T)等于,每個系統3和6中可尋址空間的共享部分(S)加上不共享的可尋址空間(U)與處理器個數(N)的積(即,T=S+N*U)。上述特征能夠使處理器7和處理器9從存儲器11和/或9的任一個或二者中的共享存儲空間存取共享的一組數據和/或指令。或者是,第一系統6中的存儲器5不可以與第二系統3中的處理器9共享任何地址空間,第二系統3中的存儲器11不可以與第一系統6中的處理器7共享任何地址空間。系統6中的存儲控制器4適合控制處理器7和/或存儲器5和11之間的數據和/或指令流。系統3中的存儲控制器15適合控制處理器9和/或存儲器5和11之間的數據和/或指令流。第一系統6保持與第二系統3一致的數據(即,數據是一樣的)。存儲控制器4適合在處理器7正存取存儲器5或存儲器11中的存儲位置的任何時候,向存儲控制器15發送消息(存儲器讀/寫消息),如果處理器9試圖存取存儲器5或存儲器11中的同一存儲位置的話。在處理器9正存取存儲器11或存儲器5中的存儲位置的任何時候,如果處理器7試圖存取存儲器11或存儲器5中的同一存儲位置的話,存儲控制器15適合向存儲控制器4發送消息(存儲器讀/寫消息)。上述特征保持了數據的一致性,并避免系統6和3丟失用于執行任何具體功能的任何數據和/或指令。有關保持數據的一致性,將在以下圖3的描述中進一步詳細討論。數據的一致性可以用本領域普通技術人員公知的任何協議來維持,這些協議包括爭用(contention)協議、令牌傳遞(token passing)協議、輪詢(polling)協議等。半導體器件2可以是集成電路(IC)。每個系統6和7中的存儲器8可以是隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦可編程只讀存儲器(EPROM)等。系統6適合向系統7傳輸“存儲器寫消息”,反之亦然。每個系統6和3中的處理器9可以是中央處理單元(CPU)、數字信號處理器(DSP)。
圖2示出了圖1的替換型實施例,即表示出按照本發明的實施例、包括第一系統15和第二系統19的半導體器件12的方框圖。與圖1相反的是,系統15包括多個與局部存儲結構23電耦合的處理器14,16和18。存儲結構23包括存儲器38和存儲控制器40。系統15內的每個處理器14,16和18可執行彼此相關并要求使用同一存儲器38的功能(即,以上在圖1的描述中所述的功能)。將執行類似功能的處理器14,16和18一起物理接近地與同一存儲器38分為一組,這樣增大了半導體器件可以行使功能的整個速度,因為每個處理器14,16和18物理接近存儲器38。與系統15類似,系統19包括多個與局部存儲結構27電耦合的處理器26,28和30。存儲結構27包括存儲器46和存儲控制器48。系統19內的每個處理器26,28和30可執行彼此相關并要求使用同一存儲器46的功能(即,以上在圖1的描述中所述的功能)。存儲器38包括每個處理器14,16和18的一組數據和/或指令,從而每個處理器14,16和18可以執行半導體器件12的多個功能(正如以上在圖1的描述中所述的)。第一系統15中的存儲器38可包括適合由處理器14,16和18的組合以及處理器26,28和30的組合存取的第一共享地址空間。第二系統19中的存儲器46可包括適合由處理器14,16和18的組合以及處理器26,28和30的組合存取的第二共享地址空間。此外,處理器14,16和18的組合可存取局部存儲器38中不與處理器26,28和30的組合共享的地址空間,而處理器26,28和30的組合可存取局部存儲器46中不與處理器14,16和18的組合共享的地址空間。因此,根據共享的地址空間和不共享的地址空間,可尋址空間的總量(T)等于,每個系統15和19中可尋址空間的共享部分(S)加上不共享的可尋址空間(U)與處理器個數(N)的積(即,T=S+N*U)。上述特征能夠使處理器14,16和18從存儲器38和/或46的任一個或二者中的共享存儲空間存取共享的一組數據和/或指令。或者是,第一系統15中的存儲器38不可以與第二系統19中的處理器26,28和30共享任何地址空間,第二系統19中的存儲器46不可以與第一系統15中的處理器14,16和18共享任何地址空間。系統15中的存儲控制器40適合通過相應鏈路20,22和24控制每個處理器14,16和18與存儲器38之間的數據和/或指令流。存儲控制器40保持系統15內以及在處理器14,16和18與存儲器38之間的數據一致性(即數據是一樣的)。存儲控制器40適合在處理器14,16和18的任一個準備存取存儲器38中的存儲位置的任何時候,向每個處理器14,16和18發送消息(即,存儲器讀/寫消息),此時處理器14,16和18的任一個正試圖存取存儲器38中的同一存儲位置。上述特征保持了數據的一致性,并避免處理器14,16和18的任一個丟失用于執行任何具體功能的任何數據和/或指令。有關保持數據的一致性,將在以下圖4的描述中進一步詳細討論。
系統19中的存儲器46包括每個處理器26,28和30的一組數據和/或指令,從而每個處理器26,28和30可以執行半導體器件12的多個功能(正如以上在圖1的描述中所述的)。此外,第二系統19中的存儲器46適合與處理器26,28和30共享地址空間。上述特征能夠使處理器26,28和30從存儲器46中的共享存儲空間存取共享的一組數據和/或指令。系統19中的存儲控制器48適合通過相應鏈路32,34和36控制每個處理器26,28和30與存儲器46之間的數據和/或指令流。存儲控制器48保持系統19內以及在處理器26,28和30與存儲器46之間的數據一致性(即數據是一樣的)。存儲控制器48適合在處理器26,28和30的任一個存取存儲器38中的存儲位置的任何時候,向每個處理器26,28和30發送消息(即,存儲器讀/寫消息),此時處理器26,28和30的任一個正試圖存取存儲器46中的同一存儲位置。上述特征保持了數據的一致性,并避免處理器26,28和30的任一個丟失用于執行任何具體功能的任何數據和/或指令。有關保持數據的一致性,將在以下圖4的描述中進一步詳細討論。與圖1中的系統6和7一樣,圖2中的系統15和19適合保持彼此一致的數據(參見圖1的描述)。每個系統內的處理器之間或系統之間的數據一致性,可以用本領域普通技術人員公知的任何協議來維持,這些協議包括爭用協議、令牌傳遞協議、輪詢協議等。
圖3示出了圖1的替換型實施例,即表示出按照本發明的實施例、包括與第二系統90耦合的第一系統89的半導體器件42(類似于圖1中的半導體器件2)的方框圖。包括存儲結構86和處理器52的圖3中的系統89,與圖1中的系統6相關。包括存儲結構85和處理器53的圖3中的系統90,與圖1中的系統7相關。存儲結構86包括存儲器54和存儲控制器35。存儲結構85包括存儲器55和存儲控制器37。與圖1相反的是,圖3中的存儲控制器35包括解碼器56和讀隊列58,而圖3中的存儲控制器37包括解碼器57和讀隊列59。解碼器56通過鏈路44(相當于圖1中的鏈路10)與解碼器57電耦合,借此使第一系統89與第二系統90耦合。在處理器52和53正試圖將共享的一組數據和/或指令同時讀或寫到存儲器54或存儲器55中的共享存儲位置時,系統89適合保持與系統90一致的數據。作為第一實例,如果在處理器52嘗試從存儲器54中的第一存儲位置讀取數據和/或指令時,處理器53同時嘗試將數據和/或指令寫到存儲器54中的第一存儲位置,那么解碼器56將通過鏈路83向存儲器54傳送數據和/或指令,通過鏈路61向讀隊列58傳送數據和/或指令。處理器52然后將通過鏈路78從讀隊列58(而不是通過鏈路76從存儲器54)讀取數據和/或指令。上述過程能夠使處理器52讀取最多的當前數據和/或指令。處理器52正常情況下將通過鏈路76存取存儲器54。作為第二實例,如果在處理器53嘗試從存儲器55中的第二存儲位置讀取數據和/或指令時,處理器52同時嘗試將數據和/或指令寫到存儲器55中的第二存儲位置,那么解碼器57將通過鏈路84向存儲器55傳送數據和/或指令,通過鏈路62向讀隊列59傳送數據和/或指令。處理器53然后將通過鏈路79從讀隊列59(而不是通過鏈路81從存儲器55)讀取數據和/或指令。上述過程能夠使處理器53讀取最多的當前數據和/或指令。處理器53正常情況下將通過鏈路81存取存儲器55。
圖4示出了圖2的替換型實施例,即表示出按照本發明的實施例、包括與第二系統110耦合的第一系統108的半導體器件107(類似于圖2中的半導體器件12)的方框圖。包括存儲結構106和多個處理器92,93和94的圖4中的系統108,與圖2中的系統15相關。包括存儲結構119和多個處理器95,96和97的圖4中的系統110,與圖2中的系統19相關。存儲結構106包括存儲器105和存儲控制器126。存儲結構119包括存儲器117和存儲控制器128。與圖2相反的是,圖4中的存儲控制器126包括解碼器104和讀隊列103,而圖4中的存儲控制器128包括解碼器115和讀隊列116。多個處理器92,93和94通過總線結構122分別單獨與鏈路100,101和102耦合,多個處理器95,96和97通過總線結構124分別單獨與鏈路111,112和114耦合。解碼器104通過鏈路109(相當于圖2中的鏈路50)與解碼器115電耦合,借此使第一系統108與第二系統110耦合。系統108適合保持與系統110一致的數據(正如以上在圖3的描述中所述的)。此外,存儲控制器126適合保持多個處理器92,93和94與存儲器105之間的數據一致性。例如,如果在處理器93嘗試從存儲器105中的第一存儲位置讀取數據和/或指令時,處理器92同時嘗試將數據和/或指令寫到存儲器105中的第一存儲位置,那么解碼器104將通過鏈路80向存儲器105傳送數據和/或指令,通過鏈路128向讀隊列103傳送數據和/或指令。處理器93然后將通過鏈路101從讀隊列103(而不是通過鏈路100從存儲器105)讀取數據和/或指令。上述過程能夠使處理器93讀取最多的當前數據和/或指令。處理器93正常情況下將通過鏈路100存取存儲器105。上述過程可應用于系統108中的多個處理器92,93和94與存儲器105之間的讀/寫的任何組合。注意,與系統108有關的上述過程可應用于系統110中的多個處理器95,96和97與存儲器117之間的讀/寫的任何組合。
雖然為了圖示目的,本文已經描述了本發明的實施例,但是許多修改和改動對于本領域的技術人員來說都是顯而易見的。因此,所附的權利要求書意在包含所有這樣的修改和改動,就如同落在本發明的真正精髓和范圍內一樣。
權利要求
1.一種半導體器件,包括所述半導體器件內的多個系統,所述每個系統包括至少一個處理器和局部存儲結構,其中在每個所述系統內,每個所述處理器與每個所述局部存儲結構電耦合,每個所述局部存儲結構與其余的每個局部存儲結構電耦合,每個所述局部存儲結構適合與每個所述處理器共享地址空間,每個所述處理器適合向每個所述局部存儲結構傳輸數據和指令。
2.如權利要求1所述的半導體器件,其特征在于,每個所述系統中的每個局部存儲結構包括與其它系統中的處理器共享的第一地址空間,每個所述系統中的每個局部存儲結構包括不與任何其它系統中的處理器共享的第二地址空間。
3.如權利要求1所述的半導體器件,其特征在于,每個所述處理器還適合從每個所述局部存儲結構取出數據和指令。
4.如權利要求3所述的半導體器件,其特征在于,每個局部存儲結構包括與存儲控制器耦合的存儲器,并且所述存儲控制器適合控制每個處理器與每個存儲器之間的所述數據和指令流。
5.如權利要求4所述的半導體器件,其特征在于,每個存儲器包括解碼器和讀隊列,其中所述多個系統內的第一系統中的解碼器適合從所述多個系統內的第二系統接收數據和指令,并向第一系統中的存儲器和讀隊列傳輸數據;如果在所述第一系統中的處理器正試圖從第一系統的存儲器中的存儲位置讀取數據的同時,第二系統向所述存儲位置傳輸數據的話,所述處理器適合從第一系統的讀隊列讀取數據,而不是從所述存儲器讀取數據。
6.如權利要求4所述的半導體器件,其特征在于,所述存儲器選自于由以下存儲器構成的組隨機存取存儲器、只讀存儲器和可擦可編程只讀存儲器。
7.如權利要求1所述的半導體器件,其特征在于,每個所述系統適合向其它的每個所述系統傳輸存儲器寫消息。
8.如權利要求1所述的半導體器件,其特征在于,每個所述局部存儲結構利用高速串行鏈路與其余的每個局部存儲結構電耦合。
9.如權利要求1所述的半導體器件,其特征在于,每個所述系統內的每個所述處理器與每個所述局部存儲結構之間的物理距離,在約50微米至約400微米的范圍內。
10.如權利要求1所述的半導體器件,其特征在于,每個所述處理器選自于由以下處理器構成的組中央處理單元和數字信號處理器。
11.如權利要求1所述的半導體器件,其特征在于,所述多個系統適合保持每個所述存儲結構與每個所述處理器之間的數據一致性。
12.如權利要求11所述的半導體器件,其特征在于,所述數據一致性是利用從以下協議構成的組中選擇的協議來保持的爭用協議、令牌傳遞協議和輪詢協議。
13.如權利要求1所述的半導體器件,其特征在于,每個系統包括與每個所述系統內的每個所述局部存儲結構電耦合的多個處理器。
14.如權利要求13所述的半導體器件,其特征在于,每個局部存儲結構包括與存儲控制器耦合的存儲器,所述存儲控制器適合控制所述多個處理器中每個處理器與每個存儲器之間的所述數據和指令流。
15.如權利要求14所述的半導體器件,其特征在于,每個系統中的每個存儲控制器包括解碼器和讀隊列,其中所述解碼器適合從系統內的所述多個處理器中的第一處理器接收數據和指令,并向所述系統中的存儲器和讀隊列傳輸所述數據和指令;如果在所述系統中的第二處理器正試圖從所述存儲器中的存儲位置讀取數據和指令的同時,第一處理器向所述存儲位置傳輸數據和指令的話,第二處理器適合從讀隊列讀取數據和指令,而不是從所述存儲器讀取數據和指令。
16.一種控制數據流的方法,包括在半導體器件內提供多個系統,所述每個系統包括至少一個與局部存儲結構電耦合的處理器;使每個所述局部存儲結構與其余的每個局部存儲結構電耦合;使每個所述系統中的每個局部存儲結構與每個其它系統中的每個處理器共享地址空間;以及每個所述處理器向每個所述局部存儲結構傳輸數據和指令。
17.如權利要求16所述的方法,其特征在于,每個所述系統中的每個局部存儲結構包括與其它系統中的處理器共享的第一地址空間,每個所述系統中的每個局部存儲結構包括不與任何其它系統中的處理器共享的第二地址空間。
18.如權利要求16所述的方法,其特征在于,還包括,所述處理器從每個所述局部存儲結構取出數據和指令。
19.如權利要求18所述的方法,其特征在于,每個局部存儲結構包括與存儲控制器耦合的存儲器;利用每個所述存儲控制器,來控制每個處理器與每個存儲器之間的數據和指令流。
20.如權利要求19所述的方法,其特征在于,每個存儲器包括解碼器和讀隊列;利用所述多個系統內的第一系統中的解碼器,從所述多個系統內的第二系統接收數據和指令;利用解碼器,向第一系統中的存儲器和讀隊列傳輸數據和指令,其中,如果在所述第一系統中的處理器正試圖從所述存儲器中的存儲位置讀取數據和指令的同時,第二系統向所述存儲位置傳輸數據和指令的話,所述處理器適合從讀隊列讀取數據和指令,而不是從所述存儲器讀取數據和指令。
21.如權利要求19所述的方法,其特征在于,所述存儲器選自于由以下存儲器構成的組隨機存取存儲器、只讀存儲器和可擦可編程只讀存儲器。
22.如權利要求16所述的方法,其特征在于,還包括利用每個所述系統,向其它的每個所述系統傳輸存儲器寫消息。
23.如權利要求16所述的方法,其特征在于,每個所述局部存儲結構利用高速串行鏈路與其它的每個所述局部存儲結構電耦合。
24.如權利要求16所述的方法,其特征在于,每個所述系統內的每個所述處理器與每個所述局部存儲結構之間的物理距離,在約50微米至約400微米的范圍內。
25.如權利要求16所述的方法,其特征在于,每個所述處理器選自于由以下處理器構成的組中央處理單元和數字信號處理器。
26.如權利要求16所述的方法,其特征在于,還包括利用多個系統,保持每個所述存儲結構與每個所述處理器之間的數據一致性。
27.如權利要求26所述的方法,其特征在于,所述數據一致性是利用從以下協議構成的組中選擇的協議來保持的爭用協議、令牌傳遞協議和輪詢協議。
28.如權利要求16所述的方法,其特征在于,每個系統包括與每個所述系統內的每個所述局部存儲結構電耦合的多個處理器。
29.如權利要求26所述的方法,其特征在于,每個局部存儲結構包括與存儲控制器耦合的存儲器;利用每個所述存儲控制器,控制每個系統內的所述多個處理器中每個處理器與每個存儲器之間的數據和指令流。
30.如權利要求29所述的方法,其特征在于,每個系統中的每個存儲控制器包括解碼器和讀隊列;利用所述多個系統內的第一系統中的解碼器,從所述多個系統內的第一系統中的所述多個處理器中的一個處理器接收數據和指令;利用所述解碼器,向所述系統中的存儲器和讀隊列傳輸所述數據和指令;如果在所述系統中的第二處理器正試圖從所述存儲器中的存儲位置讀取數據和指令的同時,所述第一處理器向所述存儲位置傳輸數據和指令的話,利用第二處理器,從讀隊列讀取數據和指令,而不是從所述存儲器讀取數據和指令。
全文摘要
本發明涉及一種在具有多個系統(例如6和3)的半導體器件(2)上傳輸數據的結構和方法。每個系統具有至少一個處理器(例如7)和局部存儲結構(例如8)。在每個系統內,每個處理器與每個局部存儲結構電耦合。每個局部存儲結構與其它的每個局部存儲結構電耦合。每個局部存儲結構適合與每個處理器共享地址空間。每個處理器適合向每個局部存儲結構傳輸數據和指令。
文檔編號G06F13/00GK1856773SQ200480027754
公開日2006年11月1日 申請日期2004年9月24日 優先權日2003年9月25日
發明者肯尼思·J.·古德諾, 弗朗西斯·A.·卡姆普, 賈森·M.·諾曼, 塞巴斯蒂安·T.·溫特羅內 申請人:國際商業機器公司