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

以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法

文檔序號:6421283閱讀:112來源:國知局
專利名稱:以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法
技術(shù)領(lǐng)域
本發(fā)明是關(guān)于資料處理的技術(shù)領(lǐng)域,尤指一種處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法。
背景技術(shù)
在資料處理時,資料的對齊與否關(guān)是到許多關(guān)鍵運算的效能,例如字串、陣列等運算的效能。針對處理資料未對齊的問題,于美國第USP4,814,976號專利案中,是在載入或儲存未對齊資料即同時進行對齊的動作,并將跨越邊界的一筆資料分成兩次讀取或兩次寫出。然而,分成兩次讀取或兩次寫出將浪費資料頻寬且影響處理機性能。而且造成程序碼冗長及浪費程序儲存空間。例如,若是要將由儲存器中位址為(100+x)h起始的3個字組(words)資料(ABCDEFGHIJKL)搬到儲存器中位址為(200+y)h起始的位置的話(x,y=0,1,2 or 3),其程序碼如圖1所示,而圖2~5則分別為資料來源處與資料目的處的位址是否有對齊時的情況。圖2是資料來源處與資料目的處的位址均未對齊時的情況。圖3是資料來源處的位址對齊,而資料目的處的位址未對齊時的情況,此時LWLrA,(100)h指令和LWR rA,(100+3)h指令都會去讀取儲存器位址為100h這個字組,而且均寫入暫存器rA中,會執(zhí)行相同的動作,而造成資源浪費。圖4是資料來源處的位址未對齊,而資料目的處的位址對齊時的情況,此時SWL rA,(200)h指令和SWR rA,(200+3)h指令都會將暫存器rA的值(ABCD)寫至儲存器位址為200h這個字組。執(zhí)行相同的動作,而造成資源浪費。
圖5是資料來源處的位址與資料目的處的位址均對齊時的情況,此時LWL rA,(100)h指令和LWR rA,(100+3)h指令都會去讀取儲存器位址為100h這個字組,而且均寫入暫存器rA中,而且,SWL rA,(200)h指令和SWR rA,(200+3)h指令都會將暫存器rA的值(ABCD)寫至儲存器位址為200h這個字組。此時讀取或?qū)懗鼍鶗兄貜?fù)讀出或?qū)懭氲臓顩r,嚴重影響效率。
由上述說明可知,若所需載入的未對齊資料長度為n個字組,則需4n個指令才能描述讀取/寫出(移動)動作,同時至少需4n個指令周期才能完成讀取/寫出(移動)動作。而且因為對同一儲存器與暫存器位置作重復(fù)讀寫,使處理機管線遲滯(Stall)可能性提高。對同一儲存器位置作重復(fù)讀取,會浪費總線頻寬,尤其在有些不具有快取儲存器的系統(tǒng),所造成的延誤更是明顯。因此,現(xiàn)有處理機中資料搬移的自動對齊方法的設(shè)計仍有諸多缺失而有予以改進的必要。
發(fā)明人本著積極發(fā)明的精神,提出一種可以解決上述問題的「處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法」,幾經(jīng)研究實驗終至完成此項發(fā)明。

發(fā)明內(nèi)容
本發(fā)明目的是提供一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法,以避免現(xiàn)有技術(shù)因使用較多指令才能描述搬移動作的問題,同時減少指令周期以完成搬移動作,而提高執(zhí)行效率。
依據(jù)本發(fā)明的一特色,是提出一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分、第二部分及第三部分,該裝置主要包含一內(nèi)部暫存器、一讀取組合暫存器、一移位裝置、一旋轉(zhuǎn)裝置、一寫出組合暫存器及一選擇遮罩裝置。該內(nèi)部暫存器用以暫存資料;該讀取組合暫存器耦合至該儲存裝置,以暫存由該儲存裝置所讀取的資料;該移位裝置耦合至該讀取組合暫存器及該儲存裝置,以依據(jù)該未對齊資料的儲存位址,對該讀取組合暫存器及該儲存裝置進行移位,并將之儲存至該內(nèi)部暫存器;該旋轉(zhuǎn)裝置耦合至該內(nèi)部暫存器,以依據(jù)該未對齊資料的寫出位址,將該內(nèi)部暫存器的資料旋轉(zhuǎn)至一第二位置;該寫出組合暫存器是耦合至該旋轉(zhuǎn)裝置,以暫存該旋轉(zhuǎn)裝置的資料;以及,該選擇遮罩裝置是耦合至該旋轉(zhuǎn)裝置及寫出組合暫存器,以依據(jù)該未對齊資料的寫出位址,而選擇遮罩該旋轉(zhuǎn)裝置及寫出組合暫存器的資料,并將之寫出至該儲存裝置。
依據(jù)本發(fā)明的另一特色,是提出一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的方法,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分、第二部分及第三部分,該處理器具有一裝置,該方法主要包含一起始檢索步驟,是執(zhí)行一第一指令,以由包含該第一部分的該儲存裝置處,檢索一第一字組;一中繼檢索步驟,是執(zhí)行一第二指令,以由包含該第二部分的該儲存裝置處,檢索一第二字組;一第一移位步驟,是將該第一字組與該第二字組串接,并移位至第一讀入位置形成一第一讀入串接資料,并將該第一串接資料前m位元寫入該暫存裝置;一起始旋轉(zhuǎn)步驟,是將該暫存裝置的資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第一旋轉(zhuǎn)資料;一第一遮罩寫出步驟,是依據(jù)寫出的未對齊位址對該第一旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置;一結(jié)束檢索步驟,是執(zhí)行一第三指令,以由包含該第三部分的該儲存裝置處,檢索一第三字組;一第二移位步驟,是將該第一讀入串接資料未寫至該暫存裝置的部分與該第三字組串接,形成一第二讀入串接資料,并將該第二讀入串接資料前m位元寫入該暫存裝置;一中繼旋轉(zhuǎn)步驟,是將該暫存裝置的資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第二旋轉(zhuǎn)資料;一第一寫出步驟,是組合該第一旋轉(zhuǎn)資料未寫出部分及該第二旋轉(zhuǎn)資料的一部分,并寫出至該儲存裝置;一結(jié)束旋轉(zhuǎn)步驟,是將該第二讀入串接資料未寫至該暫存裝置的部分旋轉(zhuǎn)至第一位置,以產(chǎn)生一第三旋轉(zhuǎn)資料;一第二寫出步驟,是組合該第二旋轉(zhuǎn)資料未寫出部分及該第三旋轉(zhuǎn)資料的一部分,并將之寫出至該儲存裝置;一第二遮罩寫出步驟,對該第三旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置。依據(jù)本發(fā)明的再一特色,是提出一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的方法,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分及第二部分,該方法主要包含一起始檢索步驟,是執(zhí)行一第一指令,以由包含該第一部分的該儲存裝置處,檢索一第一字組;一結(jié)束檢索步驟,是執(zhí)行一第三指令,以由包含該第二部分的該儲存裝置處,檢索一第二字組;一第一移位步驟,是將該第一字組與該第二字組串接,并移位至第一讀入位置形成一第一讀入串接資料;一起始旋轉(zhuǎn)步驟,是將該第一讀入串接資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第一旋轉(zhuǎn)資料;一第一遮罩寫出步驟,是依據(jù)寫出的未對齊位址對該第一旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置;一第二遮罩寫出步驟,對該第一旋轉(zhuǎn)資料中未寫出部分遮罩并寫出至該儲存裝置。
本發(fā)明設(shè)計新穎,能提供產(chǎn)業(yè)上利用,確實能增進功效。


圖1是現(xiàn)有技術(shù)移動一組未對齊資料的程序碼;圖2是現(xiàn)有技術(shù)移動一組資料來源處與資料目的處的位址均未對齊時的情況;圖3是現(xiàn)有技術(shù)移動一組資料來源處的位址對齊而資料目的處的位址未對齊時的情況;
圖4是現(xiàn)有技術(shù)移動一組資料來源處的位址未對齊而資料目的處的位址對齊時的情況;圖5是現(xiàn)有技術(shù)移動一組資料來源處的位址與資料目的處的位址均對齊時的情況;圖6是本發(fā)明的處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置的方塊圖;圖7是本發(fā)明技術(shù)的指令格式;圖8是本發(fā)明技術(shù)的LCB指令的示意圖;圖9是本發(fā)明技術(shù)的LCW指令的示意圖;圖10是本發(fā)明技術(shù)的LCE指令的示意圖;圖11是本發(fā)明技術(shù)的LCB、LCW及LCE指令的執(zhí)行情形;圖12是本發(fā)明技術(shù)的SCB指令的示意圖;圖13是本發(fā)明技術(shù)的SCW指令的示意圖;圖14是本發(fā)明技術(shù)的SCE指令的示意圖;圖15是本發(fā)明技術(shù)的SCB、SCW及SCE指令的執(zhí)行情形;圖16是顯示本發(fā)明的運用的示意圖及程序碼;圖17是本發(fā)明技術(shù)移動一組資料來源處與資料目的處的位址均未對齊時的情況;圖18是本發(fā)明技術(shù)移動一組資料來源處的位址對齊而資料目的處的位址未對齊時的情況;圖19是本發(fā)明技術(shù)移動一組資料來源處的位址未對齊而資料目的處的位址對齊時的情況;
圖20是本發(fā)明技術(shù)移動一組資料來源處的位址與資料目的處的位址均對齊時的情況;圖21是顯示本發(fā)明技術(shù)另一運用的程序碼;圖22是本發(fā)明技術(shù)移動一字組資料來源處與資料目的處的位址均未對齊時的情況;圖23是本發(fā)明技術(shù)移動一字組資料來源處的位址對齊而資料目的處的位址未對齊時的情況;圖24是本發(fā)明技術(shù)移動一字組資料來源處的位址未對齊而資料目的處的位址對齊時的情況;圖25是本發(fā)明技術(shù)移動一字組資料來源處的位址與資料目的處的位址均對齊時的情況。
具體實施例方式
圖6顯示本發(fā)明的以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置的方塊圖,其包括有一讀取組合暫存器200(Load Combine Register、LDCR)、一移位裝置300、一內(nèi)部暫存器400、一旋轉(zhuǎn)裝置500、一寫出組合暫存器600(Store Combine Register、STCR)及一選擇遮罩裝置700。其中,該儲存裝置100具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,于本實施例中,m較佳為32位元,亦即該儲存裝置100是由復(fù)數(shù)個32位元的字組所組成。
該資料(ABCDEFGHIJKL)是儲存在該儲存裝置100的第一位置,并被字組邊界分隔為第一部分110、第二部分120及第三部分130。該資料將先被讀入并儲存在該處理器的內(nèi)部暫存器400(R16)中,其次,再被寫出至一儲存裝置100中的未對齊位置處。
該讀取組合暫存器200是耦合至該儲存裝置100,以暫存由該儲存裝置100所讀取的資料,該移位裝置300是耦合至該讀取組合暫存器200及該儲存裝置100,以依據(jù)該資料的儲存位址,以對該讀取組合暫存器200及該儲存裝置100進行移位,并將之儲存至該內(nèi)部暫存器400;該內(nèi)部暫存器400是用以暫存資料。
該旋轉(zhuǎn)裝置500是耦合至該內(nèi)部暫存器400,依據(jù)該資料的寫出位址,以將該內(nèi)部暫存器400的資料旋轉(zhuǎn)至一第一位置。該寫出組合暫存器600是耦合至該旋轉(zhuǎn)裝置500,以暫存該旋轉(zhuǎn)裝置500的資料。該選擇遮罩裝置700是耦合至該旋轉(zhuǎn)裝置500及寫出組合暫存器600,依據(jù)該資料的寫出位址,以選擇遮罩該旋轉(zhuǎn)裝置500及寫出組合暫存器600的資料,并將之寫出至該儲存裝置100的第二位置。
本發(fā)明的處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置中定義三個讀取指令以對該讀取組合暫存器200及移位裝置300產(chǎn)生相關(guān)的控制信號。該三個指令分別為載入組合起始指令(Load Combine Begin、LCB)、載入組合字組指令(Load Combine Word、LCW)及載入組合結(jié)束指令(LoadCombine End、LCE)。同時亦定義三個寫出指令以對該旋轉(zhuǎn)裝置500、寫出組合暫存器600及選擇遮罩裝置700產(chǎn)生相關(guān)的控制信號。該三個指令分別為儲存組合起始指令(Store Combine Begin、SCB)、儲存組合字組指令(Store Combine Word、SCW)及儲存組合結(jié)束指令(Store CombineEnd、SCE)。其格式如圖7所示。
LCB[Addr]指令是將讀取位址為Addr處的儲存器內(nèi)容載入該讀取組合暫存器200(LDCR)中,其主要目的是將資料被字組邊界所分隔的第一部分110讀入該處理器中。如圖8所示,LCB[101h]是將包含儲存器位址101h處的100h~103h內(nèi)容(ZABC)載入該讀取組合暫存器200(LDCR)中。
LCW rD,[Addr]指令如圖9所示是將讀取位址為Addr處的儲存器內(nèi)容與該讀取組合暫存器200(LDCR)中內(nèi)容結(jié)合,并依據(jù)該讀取位址(=Addr)向左移位后,寫入該暫存器rD中,并將位址為Addr處的儲存器內(nèi)容載入該讀取組合暫存器200(LDCR)中,其中,當該讀取位址(=Addr)為4N時,則不移位,當該讀取位址(=Addr)為4N+1時,則向左移位8位元,當該讀取位址(=Addr)為4N+2時,則向左移位16位元,當該讀取位址(=Addr)為4N+3時,則向左移位24位元。其主要目的是將資料被字組邊界所分隔的第二部分120讀入該處理器中。
LCE rD,[Addr]指令如圖10所示。其中,當該Addr為4N時,將組合暫存器200(LDCR)中內(nèi)容直接寫入暫存器rD中,但不將位址為Addr處的儲存器內(nèi)容載入該讀取組合暫存器200(LDCR)中。當該Addr不為4N時,是將讀取位址為Addr處的儲存器內(nèi)容與該讀取組合暫存器200(LDCR)中內(nèi)容結(jié)合,并依據(jù)該讀取位址(=Addr)向左移位后,寫入該暫存器rD中,并將位址為Addr處的儲存器內(nèi)容載入該讀取組合暫存器200(LDCR)中,其中,當該讀取位址(=Addr)為4N+1時,則向左移位8位元,當該讀取位址(=Addr)為4N+2時,則向左移位16位元,當該Addr為4N+3時,則向左移位24位元。其主要目的是將資料被字組邊界所分隔的第三部分130讀入該處理器中。
圖11則為該LCB[Addr]、LCW rD,[Addr]及LCE rD,[Addr]指令在二種資料排列方式(little endian、big endian)下的各種執(zhí)行情形,其中,在該讀取組合暫存器200(LDCR)中的資料為abcd,在儲存器中的資料為ABCD,s=0代表所讀取儲存器位址為4N,s=1代表所讀取儲存器位址為4N+1,s=2代表所讀取儲存器位址為4N+2,s=3代表所讀取儲存器位址為4N+3。
SCB rD,[Addr]指令如圖12所示,是將暫存器rD內(nèi)容值依據(jù)寫出位址Addr(s=Addr[1:0])分別旋轉(zhuǎn)0、1、2及3個位元組(byte),再寫至該寫出組合暫存器600(STCR),并依據(jù)寫出位址Addr(s=Addr[1:0])分別遮罩0、1、2及3個位元組后,再寫至該儲存器裝置100。例如,SCB R16,[101h]指令是將暫存器R16內(nèi)容值依據(jù)寫出位址101h(s=1)旋轉(zhuǎn)1個位元組,再寫至該寫出至該組合暫存器600(STCR),并依據(jù)寫出位址101h(s=1)遮罩1個位元組后,再寫至該儲存器裝置100位址101h處,故暫存器R16內(nèi)容值為ABCD且執(zhí)行完SCB R16,[101h]指令后,該寫出組合暫存器600(STCR)內(nèi)容值為DABC,而儲存器裝置位址101h至013h處內(nèi)容值為ABC,且儲存器裝置位址100h處內(nèi)容值并未改變。
SCW rD,[Addr]指令如圖13所示,是將暫存器rD內(nèi)容值依據(jù)寫出位址Addr(s=Addr[1:0])分別旋轉(zhuǎn)0、1、2及3個位元組,并依據(jù)寫出位址Addr(s=Addr[1:0])分別遮罩0、1、2及3個位元組,再與儲存在寫出組合暫存器600(STCR)的位元組組合后,寫至該儲存器裝置100,最后,將旋轉(zhuǎn)過的暫存器rD內(nèi)容值寫至該寫出組合暫存器600(STCR)中。例如,SCWR16,[101h]指令是將暫存器R16內(nèi)容值(ABCD)依據(jù)寫出位址101h(s=1)旋轉(zhuǎn)1個位元組(DABC),并依據(jù)寫出位址101h(s=1)遮罩1個位元組(D),再與儲存在寫出組合暫存器600(STCR)的位元組(abcd)組合后(aABC),再寫至該儲存器裝置100位址101h處(aABC),最后,將旋轉(zhuǎn)過的暫存器rD內(nèi)容值(DABC)寫至該寫出組合暫存器600(STCR)中,故執(zhí)行完SCBR16,[101h]指令后,該寫出組合暫存器600(STCR)內(nèi)容值為DABC,而儲存器裝置位址101h至013h處內(nèi)容值為ABC,且儲存器裝置位址100h處內(nèi)容值為a。
SCE[Addr]指令如圖14所示,是將寫出組合暫存器600(STCR)的內(nèi)容值依據(jù)寫出位址Addr(s=Addr[1:0])分別遮罩0、1、2及3個位元組,再寫至該儲存器裝置100。例如,SCW[101h]指令是將寫出組合暫存器600(STCR)的內(nèi)容值(abcd)依據(jù)寫出位址101h(s=1)遮罩3個位元組(bcd),再寫至該儲存器裝置100位址100h處(a),故執(zhí)行完SCE[101h]指令后,儲存器裝置位址101h至103h處內(nèi)容值并未改變,且儲存器裝置位址100h處內(nèi)容值為a。
圖15則為該SCB rD,[Addr]、SCW rD,[Addr]及SCE[Addr]指令在二種資料排列方式(little endian、big endian)下的各種執(zhí)行情形,其中,在該寫出組合暫存器600(STCR)中的資料為abcd,在儲存器中100h~103h處的資料為XYZW,在暫存器rD中的資料為ABCD,s=0代表所寫出儲存器位址為4N,s=1代表所寫出儲存器位址為4N+1,s=2代表所寫出儲存器位址為4N+2,s=3代表所寫出儲存器位址為4N+3。N為正整數(shù)。
圖16是顯示本發(fā)明的運用的示意圖及程序碼,其是將儲存器100的位址(100+x)h起始的3個字組資料(ABCDEFGHIJKL)搬到儲存器裝置100的位址(200+y)h起始的位置,其中x及y可為0、1、2或3。圖17~20分別為資料來源處與資料目的處的位址是否有對齊時的情況。圖17是資料來源處與資料目的處的位址均未對齊時(x=1,y=2)的情況。
圖18是資料來源處的位址對齊,而資料目的處的位址未對齊時(x=0,y=2)的情況,此時LCE rA,[10C]h指令并不會對該儲存器裝置100進行讀取動作,故只對該儲存器裝置100進行3次的讀取動作。
圖19是資料來源處的位址未對齊,而資料目的處的位址對齊時(x=1,y=0)的情況,此時SCE[20C]h指令并不會對該儲存器裝置100進行寫出動作,故只對該儲存器裝置100進行3次的寫出動作。
圖20是資料來源處的位址與資料目的處的位址均對齊時(x=0,y=0)的情況,此時LCE rA,[10C]h指令并不會對該儲存器裝置100進行讀取動作,故只對該儲存器裝置100進行3次的讀取動作,而且SCE[20C]h指令并不會對該儲存器裝置100進行寫出動作,故只對該儲存器裝置100進行3次的寫出動作。
圖21是顯示本發(fā)明技術(shù)另一的運用的程序碼,其是將儲存器100的位址(100+x)h起始的1個字組資料(ABCD)搬到儲存器裝置100的位址(200+y)h起始的位置,其中x及y可為0、1、2或3。圖22~25分別為資料來源處與資料目的處的位址是否有對齊時的情況。圖22是資料來源處與資料目的處的位址均未對齊時(x=1,y=2)的情況。
圖23是資料來源處的位址對齊,而資料目的處的位址未對齊時(x=0,y=2)的情況,此時LCE rA,[104]h指令并不會對該儲存器裝置100進行讀取動作,故只對該儲存器裝置100進行1次的讀取動作。
圖24是資料來源處的位址未對齊,而資料目的處的位址對齊時(x=1,y=0)的情況,此時SCE[204]h指令并不會對該儲存器裝置100進行寫出動作,故只對該儲存器裝置100進行1次的寫出動作。
圖25是資料來源處的位址與資料目的處的位址均對齊時(x=0,y=0)的情況,此時LCE rA,[104]h指令并不會對該儲存器裝置100進行讀取動作,故只對該儲存器裝置100進行1次的讀取動作,而且SCE[204]h指令并不會對該儲存器裝置100進行寫出動作,故只對該儲存器裝置100進行1次的寫出動作。
由上述的說明可知,若所需移動的資料長度為為n個字組,無論資料載入或儲存的位址是否對齊,本發(fā)明的技術(shù)只需只需2n+2個指令就能描述移動動作,不僅可減短程序碼,同時只需2n+2個指令周期就能完成移動動作,而大幅提高執(zhí)行效率。而且不會對同一儲存器與暫存器位置作重復(fù)讀寫,使處理機管線遲滯(Stall)可能性降低,由于對同一儲存器位置只作一次必要的讀取或?qū)懭耄?jié)省總線頻寬,使總線頻寬使用能達最佳化。
綜上所陳,本發(fā)明無論就目的、手段及功效,在在均顯示其迥異于現(xiàn)有技術(shù)的特征,實為一極具實用價值的發(fā)明。但應(yīng)注意的是,上述諸多實施例僅是為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍非僅限于上述實施例。
權(quán)利要求
1.一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置,其特征在于,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分、第二部分及第三部分,該裝置主要包含一內(nèi)部暫存器,是用以暫存資料;一讀取組合暫存器,其是耦合至該儲存裝置,以暫存由該儲存裝置所讀取的資料;一移位裝置,其是耦合至該讀取組合暫存器及該儲存裝置,以依據(jù)該未對齊資料的儲存位址,對該讀取組合暫存器及該儲存裝置進行移位,并將之儲存至該內(nèi)部暫存器;一旋轉(zhuǎn)裝置,其是耦合至該內(nèi)部暫存器,以依據(jù)該未對齊資料的寫出位址,將該內(nèi)部暫存器的資料旋轉(zhuǎn)至一第二位置;一寫出組合暫存器,其是耦合至該旋轉(zhuǎn)裝置,以暫存該旋轉(zhuǎn)裝置的資料;以及一選擇遮罩裝置,其是耦合至該旋轉(zhuǎn)裝置及寫出組合暫存器,以依據(jù)該未對齊資料的寫出位址,而選擇遮罩該旋轉(zhuǎn)裝置及寫出組合暫存器的資料,并將之寫出至該儲存裝置。
2.如權(quán)利要求1所述的裝置,其特征在于,所述移位裝置的移位方式為平移移位。
3.如權(quán)利要求1所述的裝置,其特征在于,所述移位裝置的移位方式為旋轉(zhuǎn)移位。
4.如權(quán)利要求1所述的裝置,其特征在于,所述該第一部分及一第三部分是小于m位元。
5.如權(quán)利要求1所述的裝置,其特征在于,所述該第一部分是等于m位元。
6.如權(quán)利要求1所述的裝置,其特征在于,所述m為32。
7.如權(quán)利要求1所述的裝置,其特征在于,所述該移位裝置是向左平移8k位元,其中k為正整數(shù)。
8.如權(quán)利要求1所述的裝置,其特征在于,所述該旋轉(zhuǎn)裝置是向右旋轉(zhuǎn)8k位元,其中k為正整數(shù)。
9.一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的方法,其特征在于,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分、第二部分及第三部分,該處理器具有一裝置,該方法主要包含一起始檢索步驟,是執(zhí)行一第一指令,以由包含該第一部分的該儲存裝置處,檢索一第一字組;一中繼檢索步驟,是執(zhí)行一第二指令,以由包含該第二部分的該儲存裝置處,檢索一第二字組;一第一移位步驟,是將該第一字組與該第二字組串接,并移位至第一讀入位置形成一第一讀入串接資料,并將該第一串接資料前m位元寫入該暫存裝置;一起始旋轉(zhuǎn)步驟,是將該暫存裝置的資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第一旋轉(zhuǎn)資料;一第一遮罩寫出步驟,是依據(jù)寫出的未對齊位址對該第一旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置;一結(jié)束檢索步驟,是執(zhí)行一第三指令,以由包含該第三部分的該儲存裝置處,檢索一第三字組;一第二移位步驟,是將該第一讀入串接資料未寫至該暫存裝置的部分與該第三字組串接,形成一第二讀入串接資料,并將該第二讀入串接資料前m位元寫入該暫存裝置;一中繼旋轉(zhuǎn)步驟,是將該暫存裝置的資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第二旋轉(zhuǎn)資料;一第一寫出步驟,是組合該第一旋轉(zhuǎn)資料未寫出部分及該第二旋轉(zhuǎn)資料的一部分,并寫出至該儲存裝置;一結(jié)束旋轉(zhuǎn)步驟,是將該第二讀入串接資料未寫至該暫存裝置的部分旋轉(zhuǎn)至第一位置,以產(chǎn)生一第三旋轉(zhuǎn)資料;一第二寫出步驟,是組合該第二旋轉(zhuǎn)資料未寫出部分及該第三旋轉(zhuǎn)資料的一部分,并將之寫出至該儲存裝置;以及一第二遮罩寫出步驟,對該第三旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置。
10.如權(quán)利要求9所述的方法,其特征在于,所述移位步驟為平移方式。
11.如權(quán)利要求9所述的方法,其特征在于,所述移位步驟為旋轉(zhuǎn)方式。
12.如權(quán)利要求9所述的方法,其特征在于,所述該第一部分及第三部分是小于m位元。
13.如權(quán)利要求9所述的方法,其特征在于,所述該第一部分是等于m位元。
14.如權(quán)利要求9所述的方法,其特征在于,所述m為32。
15.如權(quán)利要求9所述的方法,其特征在于,所述該第一移位步驟、該第二移位步驟及該第三移位步驟是向左移位8K位元,K為整數(shù)。
16.如申請專利范圍第9所述的方法,其特征在于,所述該旋轉(zhuǎn)至第一寫出位置是向右旋轉(zhuǎn)8K位元,K為整數(shù)。
17.一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的方法,其特征在于,其中,未對齊資料是儲存在一儲存裝置的第一位置,并寫出至該儲存裝置的第二位置,該儲存裝置具有由字組邊界所分隔的復(fù)數(shù)個m位元的字組,該未對齊資料在儲存裝置的第一位置處,被字組邊界分隔為第一部分及第二部分,該方法主要包含一起始檢索步驟,是執(zhí)行一第一指令,以由包含該第一部分的該儲存裝置處,檢索一第一字組;一結(jié)束檢索步驟,是執(zhí)行一第三指令,以由包含該第二部分的該儲存裝置處,檢索一第二字組;一第一移位步驟,是將該第一字組與該第二字組串接,并移位至第一讀入位置形成一第一讀入串接資料;一起始旋轉(zhuǎn)步驟,是將該第一讀入串接資料依據(jù)寫出的未對齊位址將其旋轉(zhuǎn)至第一寫出位置,以產(chǎn)生一第一旋轉(zhuǎn)資料;一第一遮罩寫出步驟,是依據(jù)寫出的未對齊位址對該第一旋轉(zhuǎn)資料遮罩并寫出至該儲存裝置;以及一第二遮罩寫出步驟,對該第一旋轉(zhuǎn)資料中未寫出部分遮罩并寫出至該儲存裝置。
18.如權(quán)利要求17所述的方法,其特征在于,所述移位步驟為平移方式。
19.如權(quán)利要求17所述的方法,其特征在于,所述移位步驟為旋轉(zhuǎn)方式。
20.如權(quán)利要求17所述的方法,其特征在于,所述該第一部分及第二部分是小于m位元。
21.如權(quán)利要求17所述的方法,其特征在于,所述該第一部分是等于m位元。
22.如權(quán)利要求17所述的方法,其特征在于,所述m為32。
23.如權(quán)利要求17所述的方法,其特征在于,所述該第一移位步驟是向左移位8K位元,K為整數(shù)。
24.如權(quán)利要求17所述的方法,其特征在于,所述該旋轉(zhuǎn)至第一寫出位置是向右旋轉(zhuǎn)8K位元,K為整數(shù)。
全文摘要
本發(fā)明是提出一種以處理器執(zhí)行儲存器間資料搬移的自動對齊的裝置及方法,其中,資料是儲存在一儲存裝置的第一位置且被字組邊界分隔為第一部分、第二部分及第三部分,并被寫出至儲存裝置的第二位置,該裝置主要包含一內(nèi)部暫存器、一讀取組合暫存器、一移位裝置、一旋轉(zhuǎn)裝置、一寫出組合暫存器及一選擇遮罩裝置。其是將資料先讀入并經(jīng)自動對齊處理后,再儲存于處理器的內(nèi)部暫存器中,其次,將儲存于內(nèi)部暫存器中的資料先自動對齊處理后,再將其寫出至儲存裝置中的未對齊位置處。
文檔編號G06F12/02GK1632742SQ200310122430
公開日2005年6月29日 申請日期2003年12月23日 優(yōu)先權(quán)日2003年12月23日
發(fā)明者梁伯嵩 申請人:凌陽科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东安县| 项城市| 子长县| 正蓝旗| 密山市| 新沂市| 体育| 敦煌市| 宜州市| 屏东市| 华安县| 凉山| 河津市| 峡江县| 迁西县| 临夏县| 长顺县| 鄱阳县| 宜丰县| 井冈山市| 安达市| 图们市| 和田县| 石景山区| 平凉市| 广州市| 朝阳市| 肥城市| 保德县| 庆云县| 舟曲县| 绥芬河市| 福海县| 广德县| 浠水县| 榆中县| 洞口县| 嘉义县| 南丰县| 朝阳区| 冕宁县|