帶有可重切換緩存的數位訊號處理器的製作方法
2023-05-11 15:58:26 2
專利名稱:帶有可重切換緩存的數位訊號處理器的製作方法
技術領域:
本發明涉及的是一種數位訊號處理器,特別是一種帶有可重切換緩存的數位訊號處理器,屬於數位訊號處理技術領域。
背景技術:
現代的數位訊號處理工作的程序越來越大,如果所有的程序都被一次讀入片上內存的話需要很多的片上內存,以至於非常大的晶片面積,增加了不少的成本。但是如果都使用片外內存的話,由於片外內存比片上內存需要更多的讀寫周期,程序運行的效率會非常的低。為了解決效率和成本之間的矛盾,一部分現代的數位訊號處理器(DSP)中使用了緩存(cache)的裝置。1987年國際電氣學會IEEE出版的《1987年IEEE固體電路研討會(1987 IEEE International Solid StateCircuits Conference)》一書中的《帶有片上緩存的60納秒CMOS數位訊號處理器(A 60ns CMOS DSP with On-chip Instruction Cache)》一文公開了這樣的數位訊號處理器,所謂緩存就是在片內留有很小的一部分內存,同時該內存塊和片外內存保留有數據交換的通道,緩存的大小對於程序而言是透明的。緩存中的內容可以是整個內存區域中任何地址上的內容鏡像拷貝。當任意一個地址訪問內存時,晶片自動判斷這一內存區域是否在現有的緩存中,如果存在則直接訪問,否則從片外內存中把所需的數據調入緩存,然後進行訪問。從片外內存中把所需的數據調入緩存需要把原有的緩存內容替換出去,替換哪一部分有一定的策略,同時如何把替換出去的內容寫回片外內存也有一定的策略。但是作為一種通用的晶片,在某些情況下,它也可能只運行非常小的程序,這時候就可以省去片外內存,而使用緩存大小的片上內存。但是如果保留片上存儲體緩存的性質的話,程序是無法知道緩存中的確切內容的,這樣就無法進行正確的訪問。原有通常的設計中,緩存只能擁有單一的功能,這樣當運行非常小的程序時,緩存加上外存的設計就會顯得比較浪費。
發明內容
本發明的目的在於克服現有技術中的不足,提供一種帶有可重切換緩存的數位訊號處理器,改進了現有的緩存的設計,使其可以通過一個埠的設置,把片上緩存改成一般的片上內存,這樣在運行小程序時,可以進行準確而高效的內存訪問操作。
本發明是通過以下技術方案實現的,本發明主要包括程序控制單元、地址發生器單元、指令解碼單元、數字數據處理單元、片內數字數據存儲器、片外數字數據存儲器,指令解碼單元連接到程序控制單元,程序控制單元連接到地址發生單元、指令解碼單元和數字數據處理單元,數字數據處理單元雙向連接到片內數字數據存儲器,地址發生器單元由地址總線連接到片內數字數據存儲器,同時片內數字數據存儲器由數據總線連接到地址發生器單元、指令解碼單元和數字數據處理單元,片內數字數據存儲器和片外數字數據存儲器相連,數字數據總線與數字數據存儲器相連,數字數據存儲器存儲提供要由所述數位訊號處理器操作的數字數據,指令解碼單元為數位訊號處理器提取構成程序的指令,並把指令翻譯成控制信號和數據信號,數字數據處理單元根據控制信號對輸入的數據進行數字運算或者邏輯運算,地址發生器單元生成訪問數字數據存儲器的地址,程序控制單元根據所述指令生成控制所述數位訊號處理器的其他單元的操作的命令信號。設置一個特定的外圍埠,將片內數字數據存儲器中物理存儲體作為普通片上內存或者緩存使用,外圍埠信號連接到片內數字數據存儲器中的選擇器上,地址和控制總線一路連接到命中判斷邏輯上,另一路直接連接到選擇器上,選擇器通過總線連接到16位片上存儲體。
設置一個特定的外圍埠,將片內數字數據存儲器中物理存儲體作為普通片上內存或者緩存使用。外圍埠信號連接到片內數字數據存儲器中的選擇器上,地址和控制總線一路連接到命中判斷邏輯上,另一路直接連接到選擇器上,選擇器通過總線連接到16位片上的存儲體,當一個特定的外圍埠設置為緩存時,數位訊號處理器核心送出的地址總線值通過組合邏輯判斷所訪問的內容是否在緩存中,片外內存通過一定的組合邏輯和作為緩存的片上存儲體相連,當特定的外圍埠設置為片上內存時,數位訊號處理器核心送出的地址總線直接與片上存儲體相連接。
本發明的數位訊號處理器改變片上緩存為內存的工作原理如下從數位訊號處理器核心引出的地址總線和讀寫控制信號線分成兩路,其中第一路連接到緩存的命中判斷邏輯電路上,命中判斷邏輯電路主要根據地址總線的值判斷地址所指的內容是否在緩存中,只有當讀或寫信號有效並且緩存命中信號有效時,緩存才被訪問。命中判斷邏輯電路有地址總線和讀寫控制線作為輸出。第二路可以被直接連接到作為片上內存的片上存儲體中,但是連接片上內存的地址總線只是輸入地址總線的低14位。這時,只要讀寫信號有效,片上內存就能被訪問。最後這兩路控制和地址總線經過一個兩路變一路的選擇器,選擇器的輸入就是這兩路總線,輸出就是真正連接到物理片上存儲體的控制和地址總線。所述的選通器的控制信號就是外圍埠輸入的,當控制信號表示片上存儲體被配置成緩存時連接器中所述的第一路輸出信號有效,否則連接器中所述的第二路輸出信號有效。
本發明具有實質性特點和顯著進步,它使得片上存儲體可以被配置成片上緩存或者片上內存。這樣大大增加了晶片應用於不同的應用場合的靈活性,提高了晶片的性價比。
圖1本發明數位訊號處理器的結構框2本發明數位訊號處理器中片內數字數據存儲器的結構框圖具體實施方式
圖1是本發明所涉及的數位訊號處理器的框圖,它描述的主要是整體數位訊號處理器的各個組成模塊的連接關係。如圖1所示,數位訊號處理器核心5具有程序控制單元1、地址發生器單元2、指令解碼單元3、和數字數據處理單元4,數字數據存儲器6與數位訊號處理器核心5構成整個數位訊號處理器。指令解碼單元3把指令碼翻譯成數位訊號處理器核心5內部的代表指令意義的控制信號,這些所述的控制信號連接到程序控制單元1,程序控制單元1向地址發生單元2、指令解碼單元3和數字數據處理單元4發出控制這些模塊工作所需的控制信號。數字數據處理單元接受來自片內數字數據存儲器6的數據,對其進行運算。地址發生器單元2進行地址運算,地址運算的結果通過地址總線連接到片內數字數據存儲器6上。片內數字數據存儲器6根據地址發生器單元2產生的地址把相應的數字數據放到數據總線上,所述的數據總線連接到指令解碼單元3和數據處理單元4,為它們提供指令和操作數。片外數字數據存儲體7和片內數字數據存儲體6相連,當片內數字數據存儲體6作為緩存時,片外數字數據存儲體7作為外存和緩存交換數據,使得晶片可以運行超過緩存大小的程序。當片內數字數據存儲體6作為片上內存時,片外數字數據存儲體7不參與任何工作。
圖2是本發明所涉及的數位訊號處理器中片內數字數據存儲器框圖,它包括真正的物理片上存儲體,緩存命中判斷邏輯,緩存和片外存儲體數據交換控制邏輯,讀寫數據和地址總線,讀寫控制信號,以及這些東西的連接關係。下述所有數據總線為16位的,地址總線為24位的,所謂的控制信號為一個讀控制信號和一根寫控制信號。如圖2所示,片內數字數據存儲器6和數位訊號處理器核心5相連的主要是地址總線,控制總線和數據總線,其中前兩種是從數位訊號處理器核心5到片內數字數據存儲器6單向的總線,而數據總線27是雙向的。數據總線27直接連接到16位片上物理存儲體11上。在圖2上表示時,地址總線和控制總線用一條總線29表示。一路,總線29連接到命中判斷邏輯13上,地址和控制總線30上的地址總線的數據就是總線29上的地址總線的數據,但是這時總線30上的控制總線的信號是原有的控制信號和表示命中與否的信號進行邏輯與操作後得到的信號。表示命中與否的信號由命中判斷邏輯13根據輸入的地址總線的值判斷得到。從命中判斷邏輯13輸出的地址和控制總線連接到選擇器14上。另一路,從總線29直接引出低14位的地址總線連接到選擇器14上(其餘高10位信號在選擇器14中置0),總線29上的控制信號也直接連接到選擇器14上。
選擇器14從上述兩路信號中選擇一路,並把選擇出的一路信號連接到16位片上物理存儲體11上。外圍埠信號cache_mem是選擇器14的控制信號,當其為1時,選擇總線29上控制信號直接連接到選擇器14上的那一路信號作為選擇器14的輸出信號,這時表示16位片上物理存儲體11被配置成片上內存;否則選擇另一路作為選擇器14的輸出信號,這時表示16位片上物理存儲體11被配置成緩存。
當16位片上物理存儲體11被配置成緩存,就需要在數據交換控制邏輯12的控制下,進行緩存和片外數字數據存儲體7之間的數據交換以運行較大的程序。其中總線21、總線22是數據總線,總線25、總線26是訪問片外數字數據存儲體7的地址和控制總線。數據交換控制邏輯12主要負責緩存的替換策略和寫回策略的實現。當16位片上物理存儲體11被配置成片上內存時,數據交換控制邏輯12沒有作用,片內數字數據存儲器6和片外數字數據存儲器7沒有任何的數據和控制的信號交流。
權利要求
1.一種帶有可重切換緩存的數位訊號處理器,主要包括程序控制單元(1)、地址發生器單元(2)、指令解碼單元(3)、數字數據處理單元(4)、地址和控制總線(29),其特徵在於還包括片內數字數據存儲器(6)、片外數字數據存儲器(7)、選擇器(14)、命中判斷邏輯(13),指令解碼單元(3)連接到程序控制單元,程序控制單元(1)連接到地址發生單元、指令解碼單元(3)和數字數據處理單元(4),數字數據處理單元(4)雙向連接到片內數字數據存儲器(6),地址發生器單元(2)由地址總線連接到片內數字數據存儲器(6),同時片內數字數據存儲器(6)由數據總線連接到地址發生器單元(2)、指令解碼單元(3)和數字數據處理單元(4),片內數字數據存儲器(6)和片外數字數據存儲器(7)相連,數字數據總線與數字數據存儲器(6)相連,程序控制單元(1)根據所述指令生成控制所述數位訊號處理器的其他單元的操作的命令信號,設置一個特定的外圍埠,將片內數字數據存儲器(6)中物理存儲體作為普通片上內存或者緩存使用,外圍埠信號連接到片內數字數據存儲器(6)中的選擇器(14)上,地址和控制總線(29)一路連接到命中判斷邏輯(13)上,另一路直接連接到選擇器上,選擇器(14)通過總線(28)連接到16位片上存儲體(11)。
2.根據權利要求1所述的帶有可重切換緩存的數位訊號處理器,其特徵是,數字數據存儲器(6)存儲提供要由所述數位訊號處理器操作的數字數據,指令解碼單元(3)為所述數位訊號處理器提取構成程序的指令,並把指令翻譯成控制信號和數據信號。
3.根據權利要求1所述的帶有可重切換緩存的數位訊號處理器,其特徵是,數字數據處理單元(4)根據控制信號對輸入的數據進行數字運算或者邏輯運算,地址發生器單元(2)生成訪問數字數據存儲器(6)的地址。
全文摘要
一種帶有可重切換緩存的數位訊號處理器,屬於數位訊號處理技術領域。主要包括程序控制單元、地址發生器單元、指令解碼單元、數字數據處理單元、片內數字數據存儲器、片外數字數據存儲器、選擇器、命中判斷邏輯器,本發明提供一種帶有可重切換緩存的數位訊號處理器,改進了現有的緩存的設計,使其可以通過一個埠的設置,把片上緩存改成一般的片上內存,這樣在運行小程序時,可以進行準確而高效的內存訪問操作。它使得片上存儲體可以被配置成片上緩存或者片上內存。這樣大大增加了晶片應用於不同的應用場合的靈活性,提高了晶片的性價比。
文檔編號G06F9/30GK1521631SQ0311537
公開日2004年8月18日 申請日期2003年2月13日 優先權日2003年2月13日
發明者陳進, 陳 進 申請人:上海漢芯半導體科技有限公司