欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在單指令多數(shù)據(jù)通路結(jié)構(gòu)中的非整數(shù)倍大小陣列循環(huán)處理的制作方法

文檔序號:6476765閱讀:222來源:國知局
專利名稱:在單指令多數(shù)據(jù)通路結(jié)構(gòu)中的非整數(shù)倍大小陣列循環(huán)處理的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在單指令多數(shù)據(jù)通路(single instruction multiple datapath,SIMD)處理器結(jié)構(gòu)中的一個數(shù)據(jù)項陣列(an array of data items)上的循環(huán)處理操作。
背景技術(shù)
并行處理是處理數(shù)據(jù)項陣列的有效方法。SIMD處理器為一種并行處理器陣列結(jié)構(gòu),其中一個單指令可控制多個數(shù)據(jù)通路。每一數(shù)據(jù)通路在一給定時間內(nèi)只能處理一個數(shù)據(jù)項。舉一個簡單的例子,在一個具有四個數(shù)據(jù)通路的SIMD處理器中,在兩遍循環(huán)操作中的四個數(shù)據(jù)通路的每一個中可處理一個八數(shù)據(jù)項陣列中的數(shù)據(jù)項。數(shù)據(jù)通路和數(shù)據(jù)項之間的分配是可變的,但是一種方法為,在第一遍(pass),第一數(shù)據(jù)通路處理陣列的第一數(shù)據(jù)項,第二數(shù)據(jù)通路處理陣列的第二數(shù)據(jù)項,第三數(shù)據(jù)通路處理陣列的第三數(shù)據(jù)項,第四數(shù)據(jù)通路處理陣列的第四數(shù)據(jù)項。在第二遍,第一數(shù)據(jù)通路處理第五數(shù)據(jù)項,第二數(shù)據(jù)通路處理第六數(shù)據(jù)項,第三數(shù)據(jù)通路處理第七數(shù)據(jù)項,第四數(shù)據(jù)通路處理第八數(shù)據(jù)項。
當(dāng)陣列中的數(shù)據(jù)項數(shù)目不是數(shù)據(jù)通路數(shù)目的整數(shù)倍時就會有問題產(chǎn)生。例如,通過修改上述的簡單例子,從而得到四個數(shù)據(jù)通路和一個具有七個資料項的陣列,則在第二遍期間,第四數(shù)據(jù)通路沒有陣列第八項的元素可處理。其結(jié)果是,除非在第二遍期間禁用第四數(shù)據(jù)通路,否則第四數(shù)據(jù)通路可能錯誤地改寫存儲器中其他的數(shù)據(jù)結(jié)構(gòu)。
一種避免這種錯誤地改寫的方法是強制要求陣列的大小,也就是要求數(shù)據(jù)項陣列中包含的數(shù)據(jù)項數(shù)目為數(shù)據(jù)通路數(shù)目的整數(shù)倍。這種方法是假設(shè)程序員事先控制好數(shù)據(jù)項如何在陣列中分配,可是他們并不是總能這樣做。
典型地,數(shù)據(jù)通路SIMD處理器中的每一數(shù)據(jù)通路都有一個相關(guān)的處理器啟動位來控制數(shù)據(jù)通路啟動或禁用。例如當(dāng)一個數(shù)據(jù)通路將以別的方式超出陣列時,可允許禁用該數(shù)據(jù)通路。

發(fā)明內(nèi)容
總的來說,本發(fā)明的特點在于提供一種方法,用來控制是否啟動正在運算陣列中的數(shù)據(jù)元素的SIMD處理器中的多個處理器數(shù)據(jù)通路之一,該方法包括基于關(guān)于SIMD處理器和陣列的參數(shù)以及陣列的數(shù)據(jù)項相對的數(shù)據(jù)通路的處理狀態(tài)的信息來決定是否啟動該數(shù)據(jù)通路。
在優(yōu)選實施例中,信息包括數(shù)據(jù)項和存儲器之間的分配,由數(shù)據(jù)通路執(zhí)行循環(huán)處理操作的并行循環(huán)遍數(shù)的總數(shù)、陣列的大小、數(shù)據(jù)通路的數(shù)目(也就是SIMD處理器中有多少數(shù)據(jù)通路)。處理狀態(tài)是循環(huán)處理操作中數(shù)據(jù)通路的剩余并行遍數(shù)循環(huán)遍數(shù)的數(shù)目。
數(shù)據(jù)項和存儲器之間的分配可能是單一間隔(unity-stride),相鄰(contiguous)或條狀間隔(striped-stride)。
在另一方面,本發(fā)明的特點是一個計算機指令包括一個循環(huán)處理指令,該循環(huán)處理指令在處理數(shù)據(jù)項陣列期間,能指定多個處理器數(shù)據(jù)通路之一的啟動。
在優(yōu)選實施例中,該指令包括能指定剩余并行循環(huán)遍數(shù)的數(shù)目以處理陣列的并行計數(shù)字段和能指定串行循環(huán)遍數(shù)數(shù)目以處理陣列的串行計數(shù)字段。
在另一方面,本發(fā)明的特點是提供一個處理器,包括寄存器文件(registerfile)和與該寄存器文件連接的算術(shù)邏輯單元,以及一個程序處理存儲器,用于存儲處理數(shù)據(jù)陣列期間使處理器啟動多個處理器數(shù)據(jù)通路之一的循環(huán)處理指令。
本發(fā)明實施例的各個方面可具有下列一個或更多的優(yōu)點。
不必事先了解陣列的數(shù)據(jù)項數(shù)目就可以禁用數(shù)據(jù)通路。
本方法可容易地擴展至多種存儲器分配結(jié)構(gòu)。
因為由也可節(jié)省寄存器空間的簡單且功能強大的單指令來指定所需許多操作,所述操作用于決定是否啟動和禁用數(shù)據(jù)通路,所以循環(huán)處理指令可節(jié)省指令存儲器。循環(huán)處理指令挽救了程序員,使其不必強制使數(shù)據(jù)項陣列中數(shù)據(jù)項的數(shù)目為數(shù)據(jù)通路數(shù)目的整數(shù)倍。
通過參考下列詳細說明、附圖和權(quán)利要求,本發(fā)明其它特點和優(yōu)點將會更加清楚。


圖1是單指令多數(shù)據(jù)通路(SIMD)處理器的方塊圖。
圖2是循環(huán)處理期間,具有4個數(shù)據(jù)通路的SIMD處理器以存儲器的單一間隔分配來處理陣列中的30個數(shù)據(jù)項的表格。
圖3是循環(huán)處理指令的語法。
圖4是循環(huán)處理期間,具有4個數(shù)據(jù)通路的SIMD處理器以存儲器的相鄰間隔分配來處理陣列中的30個數(shù)據(jù)項的表格。
圖5是含循環(huán)分支的循環(huán)處理指令的語法。
圖6是循環(huán)處理期間控制SIMD處理器的數(shù)據(jù)通路啟動的處理的流程圖。
不同附圖中的相同附圖標(biāo)記表示相同元件。
具體實施例方式
參考圖1,單指令多數(shù)據(jù)通路(SIMD)處理器10包括指令高速緩沖存儲器12,控制邏輯14,串行數(shù)據(jù)通路,和標(biāo)注為18a,18b,18c,...,18n的多個并行數(shù)據(jù)通路。并行數(shù)據(jù)通路18寫入存儲器20。每一數(shù)據(jù)通路18有與其相連的處理器啟動(PE)位22。具體地說,并行數(shù)據(jù)通路18a連接到處理器PE位22a,并行數(shù)據(jù)通路18b連接到處理器PE位22b,以下類推。當(dāng)啟動PE位時,啟動所連接的并行數(shù)據(jù)通路,并且并行數(shù)據(jù)通路寫入數(shù)據(jù)項。例如,如果啟動PE位22a時,可由并行數(shù)據(jù)通路18a寫入數(shù)據(jù)項;如果啟動PE位22b時,可由并行數(shù)據(jù)通路18b寫入數(shù)據(jù)項。如果啟動PE位22n時,并行數(shù)據(jù)通路18n寫入數(shù)據(jù)項。當(dāng)禁用PE位時,其所連接的并行數(shù)據(jù)通路禁用,并且并行數(shù)據(jù)通路不能寫入數(shù)據(jù)項。
在運算時,控制邏輯14從指令高速緩沖存儲器12獲得指令。指令被饋送給串行數(shù)據(jù)通路16,該串行數(shù)據(jù)通路16提供該指令給并行數(shù)據(jù)通路18。除非某一特定數(shù)據(jù)通路的處理器啟動位被禁用,否則每一數(shù)據(jù)通路18被同時讀取和寫入。
在數(shù)據(jù)項陣列的循環(huán)處理操作期間,可能需要禁用一個或更多數(shù)據(jù)通路18,以避免未使用到的數(shù)據(jù)通路超出陣列末端和錯誤地改寫存儲器中另一數(shù)據(jù)結(jié)構(gòu)。在循環(huán)處理操作期間,基于SIMD處理器和陣列的參數(shù)以及陣列中數(shù)據(jù)項相對的數(shù)據(jù)通路的處理狀態(tài)的信息來快速地決定數(shù)據(jù)通路的啟動與禁用,而不需要由人工來決定。此信息包括(1)循環(huán)處理操作時發(fā)生的并行循環(huán)遍數(shù)總數(shù),(2)在串行數(shù)據(jù)通路設(shè)計中所執(zhí)行的循環(huán)遍數(shù)的數(shù)目(這表示陣列的大小),(3)在循環(huán)處理操作時剩余并行遍數(shù)的數(shù)目,(4)用于在數(shù)據(jù)通路間分配陣列的數(shù)據(jù)項的存儲器分配,和(5)并行數(shù)據(jù)通路的數(shù)目。提供了基于該信息在循環(huán)處理期間啟動或禁用一個數(shù)據(jù)通路(由此啟動或禁用該數(shù)據(jù)通路)的處理器啟動位的指令。
有許多種方法來分配用于SIMD處理器中的數(shù)據(jù)項陣列的處理的存儲器。最簡單的存儲器分配方法是數(shù)據(jù)通路數(shù)目(NDP)的每一個占用該循環(huán)的第NDP次迭代。這種存儲器分配類型稱為“單一間隔”。
參考圖2,例如,表格圖解表示循環(huán)處理期間,具有4個標(biāo)號為DP0、DP1、DP2和DP3的數(shù)據(jù)通路的SIMD處理器以圖示存儲器分配的單一間隔分別處理陣列中標(biāo)號為0到29的30個數(shù)據(jù)項。為了處理此陣列,執(zhí)行8遍并行循環(huán)。在第1遍并行循環(huán)中,由數(shù)據(jù)通路0、1、2和3來處理數(shù)據(jù)項0、1、2和3。在第2遍并行循環(huán)中,由數(shù)據(jù)通路0、1、2和3來處理數(shù)據(jù)項4、5、6和7。在最后一遍并行循環(huán)中,也就是第8遍并行循環(huán),由數(shù)據(jù)通路0和1來處理數(shù)據(jù)項28和29,而數(shù)據(jù)通路2和3必須禁用以免超出陣列和重寫存儲器中存儲的其它數(shù)據(jù)。
圖2所示表格說明了為何這種存儲器分配類型被稱為單一間隔。在給定任一遍并行循環(huán)中的每一并行數(shù)據(jù)通路正在處理的數(shù)據(jù)項之間的“間隔“為1。也就是說在一遍并行循環(huán)中正由并行數(shù)據(jù)通路處理的任意兩個數(shù)據(jù)項差值為1(或單一)。
單一間隔分配中,在處理多個數(shù)據(jù)項時,提出了一種模型。具體地說,該模型圖解表示只有在最后一遍并行循環(huán)中的兩個數(shù)據(jù)通路需要被禁用(很明顯地,圖2所示的模型是簡單的;當(dāng)數(shù)據(jù)通路的數(shù)目和陣列大小增加時,模型變得較復(fù)雜但仍可及時識別)。從該模型可知在串行計算機中所執(zhí)行的循環(huán)遍數(shù)總數(shù)(這表示陣列的大小),剩余并行循環(huán)遍數(shù)的數(shù)目,和數(shù)據(jù)通路的數(shù)目,并提供了一條指令來決定在特定的某遍并行循環(huán)期間,是否禁用特定的數(shù)據(jù)通路。
參考圖3,循環(huán)處理器啟動指令30包括表示在循環(huán)處理操作期間剩余并行循環(huán)遍數(shù)的數(shù)目的字段C,和表示在串行計算機結(jié)構(gòu)中對陣列中全部數(shù)據(jù)項進行業(yè)務(wù)處理所需的遍數(shù)總數(shù)目的字段L。指令30包括存儲器分配指定x。在圖2所示的例子中,存儲器分配指定x將參考單一間隔存儲器分配,即由于共有30個數(shù)據(jù)項在串行計算機結(jié)構(gòu)中要求30遍循環(huán),所以U和L=30。PE[i,j]表示在第j遍并行循環(huán)期間,數(shù)據(jù)通路i的處理器啟動位的狀態(tài)。
參考圖2所舉的單一間隔的例子,串行循環(huán)遍數(shù)的總數(shù)除以數(shù)據(jù)通路的數(shù)目,并把所得值上舍入為下一整數(shù),由此來決定并行循環(huán)遍數(shù)的總數(shù)。因而,在并行循環(huán)遍數(shù)的總數(shù)等于30/4的例子中,所得值上舍入為下一整數(shù)8。
如果并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍數(shù)的數(shù)目,全部由數(shù)據(jù)通路的總數(shù)加上數(shù)據(jù)通路索引來相乘,所得到的數(shù)比串行循環(huán)遍數(shù)總數(shù)還少時,則利用由單一間隔例子中表示的模型得到的經(jīng)驗以及C和L的值,啟動與表示數(shù)據(jù)通路的數(shù)據(jù)通路索引i和數(shù)據(jù)項j相關(guān)聯(lián)的處理器啟動位,即PE[i,j]。
可替換的是,SIMD處理器10可使用相鄰間隔存儲器分配。參考圖4,示出了具有4個數(shù)據(jù)通路(DP0-DP3)和實現(xiàn)相鄰間隔存儲器分配的SIMD處理器10如何處理陣列中30個數(shù)據(jù)項(0-29)的表格。為了處理此陣列中的全部30個數(shù)據(jù)項,執(zhí)行8遍并行。在第1遍并行循環(huán)中,分別由數(shù)據(jù)通路0、1、2和3來處理數(shù)據(jù)項0、8、16和24。在第2遍并行循環(huán)中,由數(shù)據(jù)通路0、1、2和3來處理數(shù)據(jù)項1、9、17和25。繼續(xù)該處理,即產(chǎn)生一個模型。在該特定例子中,在第7遍和第8遍并行循環(huán)中,禁用數(shù)據(jù)通路3以免改寫超出陣列中30個數(shù)據(jù)項的末端的存儲器。在每一遍啟動其它所有數(shù)據(jù)通路。
當(dāng)鄰近數(shù)據(jù)項被用于處理某一特定的數(shù)據(jù)項時,相鄰間隔存儲器分配很有用。比如,如果數(shù)據(jù)通路0正在處理第5遍并行循環(huán)中的數(shù)據(jù)項4,則其已具有來自第4遍并行循環(huán)的數(shù)據(jù)項3,并將使用下一遍并行循環(huán)中的數(shù)據(jù)項5。因為每一數(shù)據(jù)通路正在訪問陣列的相鄰區(qū)域,所以這種存儲器分配被稱作相鄰間隔分配。
在相鄰間隔存儲器分配中,提出一個模型,表示在這個例子的最后二遍并行循環(huán)的執(zhí)行期間,需要禁用一個單數(shù)據(jù)通路。再參考圖3,存儲器分配指定x=CONT表示相鄰間隔存儲器分配的結(jié)構(gòu)。參考圖4所述例子,串行循環(huán)遍數(shù)的總數(shù)除以數(shù)據(jù)通路的數(shù)目,并把所得值上舍入為下一整數(shù),由此來決定處理數(shù)據(jù)項陣列所需的并行循環(huán)遍數(shù)的總數(shù)。因而,在并行循環(huán)遍數(shù)的總數(shù)等于30/4的例子中,所得值上舍入為8。
如果并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路索引加上并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍數(shù)的數(shù)目比串行循環(huán)遍數(shù)的總數(shù)少,則根據(jù)相鄰間隔存儲器分配模型以及C值和L值,啟動與數(shù)據(jù)通路索引i和數(shù)據(jù)項j相關(guān)聯(lián)的處理器啟動位,即PE[i,j]。
交叉存取式存儲器允許一次執(zhí)行多個存儲器存取。交叉存取式存儲器的內(nèi)存條的數(shù)目M一般而言為2的次方,因為這允許使用最低地址位來完成內(nèi)存條的選取。如果讀寫指令的間隔也是2的次方,因為所有的地址都試圖要存取相同內(nèi)存條,則存儲器交叉存取就沒有任何幫助。例如,M=4而且間隔也為4,而讀或?qū)懙牡刂穼⑹?、4、8等等,則它們?nèi)勘仨氂蓛?nèi)存條0來處理;而內(nèi)存條1、2、3將是空閑的。
為了避免所有的數(shù)據(jù)項由相同的內(nèi)存條處理,間隔的值可以被選成奇數(shù)。因為任何奇數(shù)均與2的任意次方互質(zhì),所以如果M是2的次方,則間隔選為奇數(shù)可均勻地擴展M個內(nèi)存條中的地址。以30項的陣列為例,采用相鄰分配時,間隔為9而非8。數(shù)據(jù)通路0將對應(yīng)陣列的0到8項,數(shù)據(jù)通路1將與陣列的9到17項關(guān)聯(lián),數(shù)據(jù)通路2將對應(yīng)陣列的18到26項,數(shù)據(jù)通路3將被分配到陣列的26到29項。數(shù)據(jù)通路3對于最后6項,也就是陣列的30到35項將被關(guān)閉。這種存儲器分配被稱作條狀間隔存儲器分配。
在條狀間隔存儲器分配結(jié)構(gòu)中,由串行數(shù)據(jù)通路的總數(shù)除以數(shù)據(jù)通路的數(shù)目,并把所得值上舍入至下一個奇數(shù),來決定處理數(shù)據(jù)項陣列所需的并行循環(huán)遍數(shù)數(shù)目。
再參考圖3,存儲器指定x=S表示條狀間隔分配。如果并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路索引加上并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍數(shù)的數(shù)目比串行循環(huán)遍數(shù)的總數(shù)少,則啟動與數(shù)據(jù)通路i和數(shù)據(jù)項j相關(guān)聯(lián)的處理器啟動位,即PE[i,j]。
參考圖5,示出了結(jié)合循環(huán)分支指令70的循環(huán)處理器啟動指令。該被結(jié)合的指令70,依據(jù)存儲器分配結(jié)構(gòu)、并行循環(huán)遍數(shù)的總數(shù)和剩余并行循環(huán)遍數(shù)的數(shù)目,來設(shè)定先前所述的處理器啟動位和檢測剩余并行循環(huán)遍數(shù)的數(shù)目是否為零。如果剩余并行循環(huán)遍數(shù)的數(shù)目大于零,則執(zhí)行分支(即“go to PC+displacement”),以執(zhí)行下一遍循環(huán)操作。否則,退出循環(huán),且處理繼續(xù)。另一例子中,減少剩余并行循環(huán)遍數(shù)的數(shù)目且繼續(xù)循環(huán)處理操作。
參考圖6,在循環(huán)處理期間,控制SIMD處理器中數(shù)據(jù)通路的啟動的處理100判斷(步驟102)用于對陣列中全部數(shù)據(jù)項進行業(yè)務(wù)處理的串行循環(huán)遍數(shù)的數(shù)目。處理判斷(步驟104)用于對陣列進行業(yè)務(wù)處理的剩余并行循環(huán)遍數(shù)的數(shù)目。處理然后測試(步驟106)存儲器分配結(jié)構(gòu)是否為單一間隔分配。如果存儲器分配是單一間隔分配,且如果并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍數(shù)的數(shù)目,全部乘以數(shù)據(jù)通路的總數(shù)加上數(shù)據(jù)通路索引比串行循環(huán)遍數(shù)的總數(shù)少時,則啟動正對數(shù)據(jù)項進行業(yè)務(wù)處理的數(shù)據(jù)通路的處理器啟動位(步驟108)。
如果存儲器分配不是單一間隔,則處理測試(步驟110)存儲器分配結(jié)構(gòu)是否為相鄰間隔分配。如果存儲器分配為相鄰間隔分配,且如果并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路索引加上并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍教的數(shù)目比串行循環(huán)遍數(shù)的總數(shù)少時,則啟動正對數(shù)據(jù)項進行業(yè)務(wù)處理的數(shù)據(jù)通路的處理器啟動位(步驟112)。
最后,如果存儲器分配不是單一或相鄰間隔分配時,處理測試(步驟114)存儲器分配結(jié)構(gòu)是否為條狀間隔分配。如果存儲器分配為條狀間隔分配,且并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路索引加上并行循環(huán)遍數(shù)的總數(shù)減去剩余并行循環(huán)遍數(shù)的數(shù)目比串行循環(huán)遍數(shù)的總數(shù)少時,則啟動正對數(shù)據(jù)項進行業(yè)務(wù)處理的數(shù)據(jù)通路的處理器啟動位(步驟116)。
本發(fā)明的許多實施例已描述如上。然而,應(yīng)理解在不脫離本發(fā)明的精神和范圍的情況下,可做各種更改。例如為了處理更多的數(shù)據(jù)項,依據(jù)采用的存儲器分配結(jié)構(gòu),在一個模型發(fā)展了的時間前,可一直使用查詢表。一旦模型發(fā)展了,以這里描述的方法來決定數(shù)據(jù)通路的啟動。因此,其余的實施例均在所附權(quán)利要求保護范圍內(nèi)。
權(quán)利要求
1.一種控制方法,用于控制是否啟動SIMD處理器中的多個處理器數(shù)據(jù)通路之一,這些數(shù)據(jù)通路正在運行陣列中的數(shù)據(jù)元素,所述方法包括基于關(guān)于SIMD處理器和陣列的參數(shù)以及陣列中數(shù)據(jù)項相對的數(shù)據(jù)通路的處理狀態(tài)的信息來決定是否啟動該數(shù)據(jù)通路。
2.根據(jù)權(quán)利要求1所述的方法,其中所述信息包括所述數(shù)據(jù)項和存儲器之間的分配。
3.根據(jù)權(quán)利要求2所述的方法,其中所述信息包括所述分配是否為單一、相鄰、或條狀間隔。
4.根據(jù)權(quán)利要求1所述的方法,其中所述信息包括所述數(shù)據(jù)通路執(zhí)行循環(huán)處理操作的并行循環(huán)遍數(shù)的總數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其中所述信息表示所述陣列的大小。
6.根據(jù)權(quán)利要求1所述的方法,其中所述處理狀態(tài)為所述循環(huán)處理操作中剩余并行循環(huán)遍數(shù)的數(shù)目。
7.根據(jù)權(quán)利要求1所述的方法,其中所述信息包括所述處理器數(shù)據(jù)通路的數(shù)目。
8.根據(jù)權(quán)利要求1所述的方法,其中所述信息包括所述數(shù)據(jù)項和存儲器之間的分配,所述數(shù)據(jù)通路執(zhí)行循環(huán)處理操作的并行循環(huán)遍數(shù)的總數(shù),所述陣列的大小,所述循環(huán)處理操作中所述數(shù)據(jù)通路的剩余并行遍數(shù)的數(shù)目,和所述處理器數(shù)據(jù)通路的數(shù)目。
9.根據(jù)權(quán)利要求8所述的方法,其中所述數(shù)據(jù)項和所述存儲器之間的分配為單一間隔。
10.根據(jù)權(quán)利要求9所述的方法,其中由串行循環(huán)遍數(shù)的總數(shù)除以所執(zhí)行數(shù)據(jù)通路的總數(shù),并上舍入到下一個整數(shù)來決定所述循環(huán)遍數(shù)的總數(shù)。
11.根據(jù)權(quán)利要求10所述的方法,其中啟動包括確定所述并行循環(huán)遍數(shù)的總數(shù)減去剩余循環(huán)遍數(shù)的數(shù)目乘以所執(zhí)行數(shù)據(jù)通路的總數(shù)加上數(shù)據(jù)通路的數(shù)目是否小于所述串行循環(huán)遍數(shù)的總數(shù)。
12.根據(jù)權(quán)利要求8所述的方法,其中所述數(shù)據(jù)項和所述存儲器之間的分配為相鄰間隔。
13.根據(jù)權(quán)利要求12所述的方法,其中由所述串行循環(huán)遍數(shù)的總數(shù)除以數(shù)據(jù)通路的數(shù)目,并上舍入到下一個整數(shù)值來決定所述并行循環(huán)遍數(shù)的總數(shù)。
14.根據(jù)權(quán)利要求13所述的方法,其中啟動包括確定所述并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路的數(shù)目加上所述并行循環(huán)遍數(shù)的總數(shù)減去所述剩余并行循環(huán)遍數(shù)的數(shù)目是否小于所述串行循環(huán)遍數(shù)的總數(shù)。
15.根據(jù)權(quán)利要求8所述的方法,其中所述分配為條狀間隔。
16.根據(jù)權(quán)利要求15所述的方法,其中啟動包括確定所述并行循環(huán)遍數(shù)的總數(shù)乘以數(shù)據(jù)通路的數(shù)目加上所述并行循環(huán)遍數(shù)的總數(shù)減去所述剩余并行循環(huán)遍數(shù)的數(shù)目是否小于所述串行循環(huán)遍數(shù)的總數(shù)。
17.一種計算機指令,包括循環(huán)處理指令,用于在處理數(shù)據(jù)項陣列期間指定多個處理器數(shù)據(jù)通路之一的啟動。
18.根據(jù)權(quán)利要求17所述的指令,進一步包括指定所述剩余并行循環(huán)遍數(shù)的數(shù)目以處理所述陣列的并行計數(shù)字段。
19.根據(jù)權(quán)利要求17所述的指令,其中所述指令更包括指定所述串行循環(huán)遍數(shù)的數(shù)目以處理所述陣列的串行計數(shù)字段。
20.一種處理器,包括寄存器文件;連接到所述寄存器文件的算術(shù)邏輯單元,和程序控制存儲器,用于存儲處理數(shù)據(jù)陣列期間使處理器啟動多個處理器數(shù)據(jù)通路之一的循環(huán)處理指令。
全文摘要
說明了一種在循環(huán)處理操作期間,控制SIMD處理器中的處理器數(shù)據(jù)通路的啟動的方法。所述方法所使用的信息包括數(shù)據(jù)項和存儲器(20)之間的分配,陣列的大小和在循環(huán)處理操作中數(shù)據(jù)通路的剩余并行遍數(shù)的數(shù)目。也提供一個計算機指令(12),其中包括循環(huán)處理指令,用于在處理數(shù)據(jù)項陣列期間指定多個數(shù)據(jù)通路之一的啟動。該指令包括一個指定剩余并行循環(huán)遍數(shù)的數(shù)目以處理所述陣列的計數(shù)字段和一個指定串行循環(huán)遍數(shù)的數(shù)目以處理所述陣列的計數(shù)字段。可使用不同的指令來處理并行數(shù)據(jù)通路的遍數(shù)的不同分配。所述指令也使用關(guān)于數(shù)據(jù)通路總數(shù)(18)的信息。
文檔編號G06F9/38GK1484786SQ01821639
公開日2004年3月24日 申請日期2001年11月9日 優(yōu)先權(quán)日2000年11月13日
發(fā)明者約翰·L·雷福德, 約翰 L 雷福德 申請人:奇普賴茨設(shè)計公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
明水县| 英山县| 伽师县| 惠安县| 新干县| 昆山市| 贡山| 湖北省| 芒康县| 仪陇县| 阿图什市| 玉屏| 云安县| 正镶白旗| 勃利县| 清徐县| 芦山县| 伊金霍洛旗| 托里县| 庄浪县| 华坪县| 奉贤区| 临海市| 绵竹市| 财经| 黄冈市| 金堂县| 增城市| 静乐县| 汝城县| 永兴县| 额尔古纳市| 金湖县| 海淀区| 尖扎县| 肇东市| 桃园县| 微博| 武穴市| 定兴县| 务川|