亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

具有笛卡爾控制器的數(shù)據處理系統(tǒng)的制作方法

文檔序號:6422556閱讀:152來源:國知局
專利名稱:具有笛卡爾控制器的數(shù)據處理系統(tǒng)的制作方法
技術領域
本發(fā)明總的來說涉及一種具有控制器的數(shù)據處理系統(tǒng),更為具體地,涉及一種數(shù)據處理系統(tǒng),其具有用作面向堆棧的處理器的控制器,且在一個實施例中,能夠驅動連接引擎(CE)并從而驅動包括在其中的連接存儲器(CM)的操作。
背景技術
控制器應用于非常多(但是非全部)的復雜計算系統(tǒng)中。典型地,這些控制器采取已知的處理器等的形式,用于諸如控制與該控制器通信的那些部件或設備的連續(xù)工作。
在這種系統(tǒng)中,時常需要在很短的時幀中對大量的數(shù)據進行處理,搜索和其它操作。典型地,通過配置整個系統(tǒng)使得每個受控的部件都彼此并行工作,能夠提高執(zhí)行這些工作的速度。也就是說,來自該系統(tǒng)中控制器的指令由系統(tǒng)的各個部件在每個周期并行執(zhí)行,由此節(jié)省了時間且提高了系統(tǒng)的效率。
然而已知的受控處理器系統(tǒng)仍不可避免地存在固有的低效操作。最主要的是,當控制器不僅要發(fā)布指令到并行連接的那些部件,而且還要同時執(zhí)行控制器自身內的基本例行程序時,已知的控制處理器系統(tǒng)就呈現(xiàn)出很大的“停機時間”。也就是說,已知的受控處理器系統(tǒng)不能夠在公共的時幀中在完成執(zhí)行自身的操作的同時,還負責并行執(zhí)行它們的集成部件中的指令。
致力于消除問題和考慮,本發(fā)明為此尋求利用一種具有被稱作笛卡爾控制器(CC)的新型控制器的數(shù)據處理系統(tǒng),其能夠在單獨的時鐘周期內,發(fā)布用于在受控設備中并行執(zhí)行的這些指令的命令,同時執(zhí)行自身的操作。

發(fā)明內容
本發(fā)明的目的是提供一種高效率的數(shù)據處理系統(tǒng)。
本發(fā)明的另一個目的是提供一種能夠發(fā)布指令到多個受控設備的高效率的數(shù)據處理系統(tǒng)。
本發(fā)明的另一個目的是提供一種能夠保證在多個受控設備中彼此并行執(zhí)行指令的高效率的數(shù)據處理系統(tǒng)。
本發(fā)明的再一目的是提供一種高效率數(shù)據處理系統(tǒng)的控制器,該控制器能夠在執(zhí)行內部操作的同時發(fā)布指令給多個受控設備。
本發(fā)明的再一目的是提供一種高效率數(shù)據處理系統(tǒng)的控制器,該控制器能夠在執(zhí)行內部操作的同時發(fā)布指令給多個受控設備,由此在每個時鐘周期內,完成控制器的內部操作和受控設備中的并行處理兩者。
根據本發(fā)明的一個實施例,用于選擇性地操作數(shù)據的數(shù)據處理系統(tǒng)包括單元式數(shù)據處理引擎,控制器用來選擇性地輸出多個指令中的一個給該單元式引擎,用于驅動由該引擎啟用的執(zhí)行程序,同時時鐘設備用于輸出由每秒預定數(shù)的時鐘周期組成的同步時鐘信號。該時鐘設備輸出同步時鐘信號給單元式引擎以及控制器。控制器在單獨的時鐘周期內,輸出其中指令之一給單元式引擎用于執(zhí)行程序之一,同時也執(zhí)行自身的操作。
本發(fā)明的這些和其他目的,以及優(yōu)選實施例,將通過對說明書、權利要求以及附圖的整體理解后變得更加清楚。


圖1是根據本發(fā)明的一個實施例的包括了存儲器引擎以及同步時鐘元件的笛卡爾控制器的總的結構的框圖。
圖2示出了用于笛卡爾控制器的指令格式。
具體實施例方式
圖1示出了笛卡爾控制器(CC)100與數(shù)據處理引擎102(下文稱作連接引擎)以及在其中支持的有效單元矩陣,或處理元件104(下文稱作連接存儲器(CM))之間的結構關系。同步時鐘電路106用來協(xié)調CC100,CE102以及CM104的操作,使得CC100發(fā)布多個指令的其中一個,傳送到CE102以及CM104用于并行執(zhí)行和處理。
時鐘電路106能夠每秒輸出預定數(shù)目的時鐘周期,且CC100能夠執(zhí)行內部操作使得在單獨的時鐘周期內,CC100執(zhí)行多個內部操作的其中一個同時發(fā)布多個指令中的一個給CE102。圖中還示出了緩存存儲器108和RAM控制器110。
緩存存儲器108構成緩沖池,優(yōu)選的每個大小等于CM104的大小,且受CE102的控制。這些緩存器(也被稱為行)的用途為,允許在長于CM104的容量內的字符串上進行其他操作之中的檢索、插入以及刪除的操作,由此實現(xiàn)更低成本且減少功率損耗。
很容易地理解到本發(fā)明的目的為在不脫離本發(fā)明所提供的CC100能夠向CE102發(fā)布命令并從CE102接收數(shù)據的較寬的范圍內,提供CC100可以具有任何數(shù)量的特定電路結構。
根據本發(fā)明的優(yōu)選實施例,CC100為32比特面向堆棧的處理器,其能夠驅動CE102中啟用的執(zhí)行程序。CE102本身是數(shù)據并行工具,如已知的SIMD(單指令多數(shù)據)工具。CE102執(zhí)行的編碼是串行的,但是CE102從CC100獲得的每個指令所指定的操作在一個時鐘周期內由CM104的所有單元并行執(zhí)行。也就是說,比如“find”這樣的工作代碼被提供給多個可用的單元,則該多個可用的單元都嚴格地按照并行原則相互獨立地完成各自的工作。
盡管本發(fā)明描述了啟用CE102的并行執(zhí)行,然而,在不脫離本發(fā)明的較寬的范圍的情況下,本發(fā)明可以不被局限于此,可以用其他的工具或設備來作為與CC100通信的替換裝置。也就是說,本發(fā)明預想,CE102以外的或者代替CE102的其他設備能夠在單獨的時鐘周期內,由CC100發(fā)布的指令并行控制。
回到圖1,CE102自身不能夠接入到程序存儲器來獲取它的指令(每個周期它的各單元都預期在特定寄存器中獲得工作代碼),但由于是不同的實體,在當前的情況下,是由CC100來完成接入工作的;編碼是連續(xù)的,且需要單獨的接入點來獲取它。因此CC100的主要工作是驅動CE102程序的執(zhí)行,即,由單個單元獲取需執(zhí)行的指令并將它們放置在內部寄存器中;與此同時,其又作為CE102的網關,由此處理CE102的所有輸入/輸出的交互活動。CC100同樣還執(zhí)行簡單的順序操作,沒有這些簡單的順序操作,將不可能為這樣的機器編寫有意義的代碼,該簡單的順序操作是一類所謂的“控制原語(controlprimitives)”的操作,即,用于生成編碼判決序列的那些指令(例如if、while、repeat等)。
當串行控制器典型地應用在驅動用于數(shù)據并行的機器的代碼的執(zhí)行時,已知結構利用下列兩種解決方案之一來實現(xiàn)它們各自的控制器現(xiàn)有的處理器,如非隔板式(off-the-shelf)芯片,如ARM控制器或Intel處理器。這種解決方案的效率不是最佳的,其原因是,當這些控制器執(zhí)行它們自己的指令時,與他們連接的并行機器是空閑的。也就是說,已知的現(xiàn)有處理器不能夠在獲取用于連接在他們上的并行機器的指令的同時還執(zhí)行它們自己的指令;以及使用多個微指令字段來為一組設備發(fā)布命令的微編程機器。這種解決方案的效率不是最佳的,其原因是,很難協(xié)調屬于都以微代碼實現(xiàn)的不同的指令組中的兩個獨立的指令的并行執(zhí)行過程。
因此本發(fā)明的重要方面就是,考慮CE102和CM104設計和最優(yōu)化CC100,且還能夠用于控制其它機器,實現(xiàn)一種指令傳遞途徑,其允許每個時鐘周期內并行執(zhí)行兩種類型的指令一個用于CE102,另一個用于CC100本身。
值得一提的是,通過在每個時鐘周期內啟用執(zhí)行兩種類型的指令,CC100能夠以更高效的且時間更精確的方式來進行數(shù)據處理工作。更具體地,CC100能夠在單獨的時鐘周期內控制執(zhí)行屬于兩個不同的指令組的代碼,而這個過程在已知的串行控制器和它們的并行機器中需要花費兩倍,甚至更多的時鐘周期來完成此相同的任務。
CC100具有RISC結構,如前面提到的,它能夠在單獨的時鐘周期內,執(zhí)行內部操作同時產生在CE102中的相應操作。因此在CC100和CE102中操作的指令都是在CC100的每個指令中進行編碼的。
在本發(fā)明的一個優(yōu)選實施例中,下面列出基于堆棧的機器CC100的結構的一部分1.控制單元,其主要組成部分為程序存儲器以及控制堆棧;2.執(zhí)行單元,其主要組成部分為數(shù)據存儲器,數(shù)據堆棧以及邏輯和計算單元;3. I/O單元,其主要組成部分為兩個FIFO;以及4.公用機器界面,其主要包括驅動器和接收器。
CC100的指令組圖2示出CC100的指令格式,其中系統(tǒng)并行地執(zhí)行ceOp字段中編碼的CE102中的指令,且執(zhí)行ccOp字段中的編碼的CC100中的指令。
指令包括下列字段ccOp,其位于instr[31:25],是用于CC100的工作代碼;ceOp,其位于instr[24:17],是用于CE102的工作代碼(發(fā)送到CE102且與ccOP字段中編碼的指令并行執(zhí)行);value,其位于instr[16:0],是用于任何指令的即時操作數(shù),如果需要,可以同時用于兩個指令。
CC100的優(yōu)選實施例的指令執(zhí)行分類如下1.運算和邏輯指令;2.數(shù)據傳輸指令;3.堆棧指令,包括a. remove<num>,通過從數(shù)據堆棧指針減去num的值,將數(shù)量等于num操作數(shù)的多個值從數(shù)據堆棧頂端進行出棧操作;b. restore,保存最后一次執(zhí)行remove指令之前的堆棧指針的值;c. pushframe<num>,通過向控制堆棧指針加上num的值,將數(shù)量等于num操作數(shù)的多個字壓棧到控制堆棧中。注意,新壓棧的控制堆棧幀的內容是未定義的;以及d. popframe<num>,通過從控制堆棧指針中減去num的值,將數(shù)量等于num操作數(shù)的多個字從控制堆棧頂端進行出棧操作。
4.堆?;Q指令,包括a. xchg,分別將數(shù)據堆棧和控制堆棧頂端的值互換;b. cs2ds,將控制堆棧頂端的值出棧并將其壓棧到數(shù)據堆棧中;c. ds2cs,將數(shù)據堆棧頂端的值出棧并將其壓棧到控制堆棧中;d. pushcs<num>,將其關于控制堆棧的指針偏移量由num操作數(shù)給出的控制堆棧的值壓棧到數(shù)據堆棧中。
5.控制指令;6.等待指令,其是“w event”形式,由一個或多個周期來完成。在每個等待類型指令的周期中,評估被稱作event的布爾條件;如果event的實值是真,則CC程序計數(shù)器加1;否則程序計數(shù)器保持不變,其結果是將在接下來的時鐘周期測試相同的條件。和優(yōu)選實施例的CC100中的等待類型指令相關的一些events如下a. zero將數(shù)據堆棧的頂端與零相比較,如果不等于零則減值,否則數(shù)據堆棧頂端值被清除;b. noMarker控制系統(tǒng)設置標志,即優(yōu)選實施例的CC100中的CE102;c. noFullOut一個標志,其如果是真,則表示輸出FIFO準備接收新數(shù)據;以及d. noEmptyIn一個標志,其如果是真,則表示輸入FIFO包含至少一個字的數(shù)據。
7.測試指令;8.條件跳轉指令以及9.I/O指令。
盡管前面詳細分類列舉了優(yōu)選實施例的CC100所執(zhí)行的特定種類的指令,但應當容易的理解,在不脫離本發(fā)明的較寬的范圍的情況下,CC100可以執(zhí)行沒有在此指定的其它另外的指令。前面的列舉只是通過詳細描述和舉例說明的方式給出,并不能把上述的分類說明解釋為無遺漏的。
盡管參照優(yōu)選實施方案對本發(fā)明進行描述,但本領域普通技術人員應理解,在不脫離本發(fā)明的實質范圍的情況下,可以作多種顯而易見的改變,以及等效物的部分替換。因此,本發(fā)明意在不局限于某些特定的實施例所涉及的范圍,而本發(fā)明包含了落在所附的權利要求的保護范圍內的所有的實施例。
權利要求
1.一種用于數(shù)據的選擇性操作的數(shù)據處理系統(tǒng),所述數(shù)據處理系統(tǒng)包括存儲器設備,其用于存儲所述數(shù)據;引擎,其訪問所述存儲設備,所述引擎支持在其中的多個機器可執(zhí)行程序;控制器,其選擇性地輸出多個指令中的一個給所述引擎,用于驅動由所述引擎啟用的所述程序的執(zhí)行;時鐘設備,其用于輸出由每秒預定數(shù)目的時鐘周期組成的同步時鐘信號,所述時鐘設備輸出所述同步時鐘信號給所述存儲器設備、所述引擎以及所述控制器;以及其中所述控制器在單獨的時鐘周期內,輸出所述指令中的一個給所述引擎用來執(zhí)行所述程序之一,同時還執(zhí)行自身的操作。
2.一種數(shù)據處理系統(tǒng),所述數(shù)據處理系統(tǒng)包括數(shù)據設備,其用于選擇性地存儲數(shù)據;引擎,其訪問所述存儲設備,所述引擎支持在其中的多個機器可執(zhí)行程序;控制器,其選擇性地輸出多個指令中的一個給所述引擎,用于驅動所述多個機器可執(zhí)行程序的執(zhí)行;時鐘設備,其用于輸出由每秒預定數(shù)目的時鐘周期組成的同步時鐘信號,所述時鐘設備輸出所述同步時鐘信號給所述數(shù)據設備、所述引擎以及所述控制器;以及其中在所述的時鐘周期之一內,所述控制器輸出所述指令中的一個給所述引擎用來執(zhí)行所述多個機器可執(zhí)行程序中的一個,同時還執(zhí)行自身的操作。
3.如權利要求2所述的數(shù)據處理系統(tǒng),其中所述數(shù)據設備是具有n個單元的關聯(lián)存儲器設備
4.如權利要求3所述的數(shù)據處理系統(tǒng),其中所述關聯(lián)存儲器設備中的所述n個單元的每一個都包括處理電路。
5.如權利要求1所述的數(shù)據處理系統(tǒng),其中所述控制器包括執(zhí)行單元以及具有數(shù)據堆棧指針的集成數(shù)據堆棧。
6.如權利要求5所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“remove”命令,憑此命令將與所述“remove”命令相應的值從所述數(shù)據堆棧指針中減去,由此將數(shù)量等于所述值的多個值從數(shù)據堆棧頂端進行出棧操作。
7.如權利要求6所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“restore”命令,憑此命令將在執(zhí)行最近一次所述“remove”命令期間與所述“restore”命令相應的所述值加到數(shù)據堆棧指針上,由此將所述數(shù)據堆棧的指針恢復到它在執(zhí)行所述“remove”命令之前的初始位置。
8.如權利要求5所述的數(shù)據處理系統(tǒng),其中所述控制器進一步包括控制堆棧和控制堆棧指針。
9.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“pushframe”命令,憑此命令將與所述“pushframe”命令相應的值加到所述控制堆棧指針上,由此將數(shù)量等于所述“pushframe”命令的相應數(shù)量的多個字壓棧到所述控制堆棧的頂端。
10.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“popframe”命令,憑此命令將與所述“popframe”命令相應的值從所述控制堆棧指針中減去,由此將數(shù)量等于所述值的多個值從控制堆棧頂端進行出棧操作。
11.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“xchg”命令,憑此命令將數(shù)據堆棧頂端的值和控制堆棧頂端的值互換。
12.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“cs2ds”命令,憑此命令將所述控制堆棧頂端的值壓棧到所述數(shù)據堆棧中。
13.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“ds2cs”命令,此命令是將所述數(shù)據堆棧頂端的值壓棧到所述控制堆棧中。
14.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“pushcs”命令,此命令是將所述控制堆棧的值壓棧到所述數(shù)據堆棧中;且其中所述的值反映了關于所述控制堆棧指針的偏移位置,所述偏移位置等于與所述“pushcs”命令相應的量。
15.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為多周期“wait zero”命令,此命令是在所述時鐘周期之一內,將所述數(shù)據堆棧的頂端值與零作比較;其中如果所述數(shù)據堆棧的頂端值等于零,則清除所述數(shù)據堆棧的頂端值,且程序計數(shù)器被增加,并執(zhí)行隨后的指令;以及其中如果所述數(shù)據堆棧的頂端值不等于零,則所述程序計數(shù)器保持不變,且在接下來的時鐘周期重復“wait zero”命令。
16.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“wait noMarker”命令,此命令是在所述時鐘周期之一內,將所述“wait noMarker”指令所指示的內部二進位標志與零作比較;其中如果所述內部二進位標志等于零,則程序計數(shù)器被增加,并執(zhí)行隨后的指令;以及其中如果該內部二進位標志不等于零,則所述程序計數(shù)器保持不變,且在接下來的時鐘周期重復“wait noMarker”命令。
17.如權利要求8所述的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“wait noFullOut”命令,此命令是在所述時鐘周期之一內,確定輸出隊列是否已滿;其中如果所述輸出隊列未滿,則程序計數(shù)器被增加,并執(zhí)行隨后的指令;以及其中如果所述輸出隊列已滿,則所述程序計數(shù)器保持不變,且在接下來的時鐘周期重復“wait noFullOut”命令。
18.如權利要求8的數(shù)據處理系統(tǒng),其中所述控制器發(fā)布的所述多個指令中的一個為“wait noEmptyIn”命令,此命令是在所述時鐘周期之一內,確定輸入隊列是否為空;其中如果所述輸入隊列不為空,則程序計數(shù)器被增加,并執(zhí)行隨后的指令;以及其中如果所述輸入隊列為空,則所述程序計數(shù)器保持不變,且在接下來的時鐘周期重復“wait noEmptyIn”命令。
19.一種用于數(shù)據的選擇性操作的數(shù)據處理系統(tǒng),所述數(shù)據處理系統(tǒng)包括關聯(lián)存儲器設備,其用于存儲所述數(shù)據;引擎,其訪問所述存儲器設備,所述引擎支持在其中的多個機器可執(zhí)行程序;控制器,其選擇性地輸出多個指令中的一個給所述引擎,用于驅動由所述引擎啟用的所述程序的執(zhí)行;時鐘設備,其用于輸出由每秒內預定數(shù)目的時鐘周期組成的同步時鐘信號,所述時鐘設備輸出所述同步時鐘信號給所述存儲器設備,所述引擎以及所述控制器;及其中所述控制器在單獨的時鐘周期內,輸出所述指令中的一個給所述引擎用來執(zhí)行所述程序之一,同時還執(zhí)行自身的操作。
20.一種處理數(shù)據的方法,所述處理數(shù)據的方法包括下列步驟將數(shù)據存儲到數(shù)據設備中;提供與所述存儲器設備通信的引擎,所述引擎支持在其中的多個機器可執(zhí)行程序;提供控制器,其選擇性地輸出多個指令中的一個給所述引擎,用于驅動由所述多個機器可執(zhí)行程序的執(zhí)行;將具有每秒預定數(shù)目的時鐘周期的同步時鐘信號輸出給所述數(shù)據設備,所述引擎以及所述控制器;以及在所述時鐘周期的一個時鐘周期內,輸出所述指令中的一個給所述引擎,且執(zhí)行所述多個機器可執(zhí)行程序中的一個。
全文摘要
一種數(shù)據處理系統(tǒng),其包括用于選擇性地存儲數(shù)據的數(shù)據設備(104),和訪問存儲設備的引擎(元件102),引擎(元件102)支持多個機器可執(zhí)行程序??刂破?元件100)用于選擇性地輸出多個指令中的一個給引擎(元件102),用于驅動由引擎啟用的程序的執(zhí)行,而時鐘設備(元件106)用于輸出由每秒預定數(shù)目的時鐘周期組成的同步時鐘信號。該時鐘設備輸出同步時鐘信號給數(shù)據設備(104),引擎(元件102)以及控制器(元件100)??刂破髟趩为毜臅r鐘周期內輸出指令中的一個給引擎用來執(zhí)行所述程序之一,同時還執(zhí)行自身的操作。
文檔編號G06F15/76GK1720514SQ200380105096
公開日2006年1月11日 申請日期2003年12月5日 優(yōu)先權日2002年12月5日
發(fā)明者丹·托梅斯庫, 格奧爾基·斯特凡 申請人:康奈克斯技術公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1