国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      字節(jié)可尋址存儲器的提取索引尋址的制作方法

      文檔序號:6567632閱讀:205來源:國知局
      專利名稱:字節(jié)可尋址存儲器的提取索引尋址的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明大體上涉及微處理器結(jié)構(gòu)中的存儲器存取,所述微處理器結(jié)構(gòu)包含加載一存 儲(RISC機(jī)器)結(jié)構(gòu)和存儲器導(dǎo)向(CISC機(jī)器)結(jié)構(gòu)兩者。本發(fā)明更確切地說涉及允 許微處理器更高效地存取存儲器結(jié)構(gòu)(特別是字節(jié)可尋址存儲器)的索引尋址方案。
      背景技術(shù)
      涉及兩個操作數(shù)(一個操作數(shù)是字節(jié)值,另一個操作數(shù)是巳知的常數(shù)值)的操作通 常對于用査找表來進(jìn)行計算是可行的,因為只存在256 (=28)個可能字節(jié)值和相應(yīng)結(jié) 果,因而查找表將相當(dāng)小。對于計算量大的操作(例如,除法、取冪),存取查找表往 往比相同操作的完全硬件或軟件執(zhí)行快速得多。如果處理器結(jié)構(gòu)支持以寄存器索引偏移 進(jìn)行存儲器加載,那么可容易地在一個RISC指令中執(zhí)行查找。
      在字長度(例如,32位)是字節(jié)長度(8位)的倍數(shù)的機(jī)器上,可將若干(例如, 4個)字節(jié)壓縮成單個字,因而在存儲器有限的應(yīng)用中節(jié)省了可能寶貴的存儲器空間。 可對處理器自身的內(nèi)部寄存器和處理器存取的存儲器兩者應(yīng)用這種字節(jié)壓縮方案。
      但是,在將使用壓縮的字節(jié)執(zhí)行表的查找的情況下,提取所需的字節(jié)通常將要求執(zhí) 行一系列額外指令,而這會降低效率。
      在現(xiàn)代微處理器應(yīng)用中,加密和解密操作正變得越來越重要。加密和解密算法可能 計算量相當(dāng)大。此種算法通常用于計算能力有限的便攜或嵌入式應(yīng)用中。較常用的分塊 加密算法(尤其)包含Blowfish、 Triple-DES和Rijndael。
      所有這些算法均使用特殊的陣列尋址操作,其要求在當(dāng)前的微處理器上執(zhí)行較長的
      指令序列。所述操作如下
      result = pointer0 [offset0》24]
      A poi血l [ (offsetl》16) & 0xff) A pointer2 [ (offset2 〉> 8) & 0xff] A pointer3 [offset3 & 0xff];
      (1)
      此處主要有四個涉及經(jīng)壓縮的查找表的存儲器存取操作。這些操作中的每一者提取32位字中的四個字節(jié)中的一者、對提取的字節(jié)進(jìn)行零擴(kuò)展,且接著將其與基準(zhǔn)指針相加。 這個索引操作的結(jié)果產(chǎn)生待存取的存儲器地址。如果較快速地執(zhí)行這個陣列存取,那么 可實現(xiàn)加密和解密過程的顯著加速。
      因此需要使由操作(1)表示的存儲器存取效率更高,使得加密和解密應(yīng)用將因而 與這些算法的目前實施方案相比運行得更快并具有更高的功率效率。

      發(fā)明內(nèi)容
      本發(fā)明描述一種微處理器電路,其響應(yīng)于用于高效地尋址存儲器并將數(shù)據(jù)從所得的 存儲器位置加載到寄存器文件中的指令。舉例來說,簡單的"以所提取的索引加載字" 指令致使電路從索引寄存器Ri提取規(guī)定字節(jié),并建立零擴(kuò)展字(其中提取的字節(jié)位于 位位置[9:2]),這對應(yīng)于將提取的字節(jié)從其最右邊的位置向左移位兩個位的效果。在電 路的示范性實施方案中,通過使用經(jīng)耦合以接收索引寄存器的每一字節(jié)并且受字節(jié)選擇 值控制的多路復(fù)用器來實現(xiàn)這個組合式提取操作。將從多路復(fù)用器的輸出中選定的字節(jié) 在所需的位位置處直接(不帶有任何移位操作)加載到位移寄存器中(可選的,或直接 加載到加法器的輸入中)。所得的字形成偏移值,接著將所述偏移值與基準(zhǔn)地址寄存器 Rb的內(nèi)容相加以形成存儲器地址。接著獲取所述地址處的存儲器內(nèi)容并將其加載到目 標(biāo)H的地寄存器Rd中。這個指令尤其可用于對表進(jìn)行索引。


      圖1是用于實施本發(fā)明的示范性微處理器電路(和存取的存儲器)的框圖,所述電 路包含與寄存器、加法器及其它區(qū)塊耦合的字節(jié)提取和零擴(kuò)展單元。
      具體實施例方式
      參看圖1,寄存器Ri、 Rb和Rd中的每一者都是字長度寄存器(例如,具有32個 位)。本發(fā)明特別關(guān)注的是從索引寄存器Ri中提取規(guī)定字節(jié)。在此處展示的示范性實施 例中,索引寄存器Ri含有四個字節(jié),標(biāo)記為頂部字節(jié)t (包含位31到24)、上部字節(jié)u (包含位23到16)、下部字節(jié)1 (包含字節(jié)15到8)和底部字節(jié)b (包含位7到0)???在一個指令中使用兩位字節(jié)編號{3,2,1,0}標(biāo)識索引寄存器Ri的(t,u,l,W部分??稍谝粋€ 指令中使用寄存器編號(例如{0,1,...,15})單獨標(biāo)識將微處理器中的哪些硬件寄存器指 定成索引、基準(zhǔn)和目的地寄存器Ri、 Rb和Rd。
      指令可從Ri中規(guī)定一個待提取、零擴(kuò)展并向左位移特定數(shù)目的位的字節(jié)。在現(xiàn)有 的微處理器電路中,通常使用涉及向左和向右連續(xù)位移位若干量的不同步驟的序列來執(zhí) 行此零擴(kuò)展位提取,所述量取決于待提取和擴(kuò)展的特定字節(jié)。舉例來說,為了提取頂部
      字節(jié)t,可將索引寄存器Ri的整個字長度內(nèi)容讀取到臨時寄存器中,并接著在臨時寄存 器中將其向右移位24位。為了提取上部字節(jié)u,可將索引寄存器Ri的整個內(nèi)容讀取到 臨時寄存器中、向左移位8位并接著向右移位24位。為了提取下部字節(jié)l,可將索引寄 存器Ri的整個內(nèi)容讀取到臨時寄存器中、向左移位16位,并接著向右移位24位。為 了提取底部字節(jié)b,可將索引寄存器Ri的整個內(nèi)容讀取到臨時寄存器中、向左移位24 位,并接著向右移位24位。 一旦被提取出來,結(jié)果被再次向左移位一定量的位(例如, 移位2位以便存取字節(jié)可尋址存儲器),以便獲得地址偏移或位移。因此,現(xiàn)有技術(shù)執(zhí) 行一組循序的移位操作,以便從索引寄存器中提取所需的字節(jié),并在其可用作加載指令 的地址偏移或位移之前對其進(jìn)行字對準(zhǔn)。
      在本發(fā)明中,字節(jié)提取和零擴(kuò)展單元13直接在單個步驟中獲得地址偏移值。單元 13包含多路復(fù)用器15,其從索引寄存器Ri中提取正確的字節(jié)。多路復(fù)用器15具有來 自索引寄存器Ri的四個字節(jié)位置(t, u, l和b)中的每一者的字節(jié)寬輸入。多路復(fù)用 器15還具有兩位選擇控制輸入(圖1中標(biāo)記為〈part",其是從微處理器的指令解碼器 接收的,并且致使多路復(fù)用器15選擇所需的字節(jié)(t, u, l或b)并將其放置在其字節(jié) 寬輸出17上。
      地址位移寄存器19 (可選)可接收這個多路復(fù)用器輸出17,并直接在此寄存器19 的位位置[9:2]處加載有選定字節(jié)。這些特定的位位置自動提供選定字節(jié)的兩位位移,從
      而不需要進(jìn)行單獨兩位向左移位操作來獲得用于存取字節(jié)可尋址存儲器的正確地址偏 移。寄存器19中的偏移值的其它所有位位置[31:10]和[1:0]都含有零,因而自動提供零 擴(kuò)展。來自位移寄存器19的字長度輸出21形成字節(jié)提取和零擴(kuò)展單元13的地址偏移 輸出。
      或者,地址位移寄存器19可能只對字寬偏移值21有概念,且可將來自多路復(fù)用器 17的選定字節(jié)(t, u, l或b)在一個加法器輸入的所需位位置[9:2]處直接輸入到加法器 25中。這個加法器輸入的其它位位置[31:10]和[1:0]加載有零,以使提供給加法器25的 零擴(kuò)展偏移字21完整。在任何情況下,都在規(guī)定的位位置(此處為[9:2])向偏移字提 供選定字節(jié),而不必借助移位操作序列。
      將偏移值21加到從基準(zhǔn)地址寄存器Rb獲得的基準(zhǔn)地址23上。來自加法器25的輸 出形成將從存儲器27存取的存儲器地址。從存儲器27中獲取所述地址處的內(nèi)容,并將 其放置在目的地寄存器Rd中。這結(jié)束了提取索引存儲器存取操作,Rd — *(Rb + (Ri[part] 2))。
      這種用于支持以寄存器索引偏移進(jìn)行存儲器加載的電路特別可用于預(yù)期需要進(jìn)行
      頻繁的字節(jié)大小的表査找的微處理器中,例如特別適用于實施分塊加密算法的處理器。 此種算法通常在一系列的循環(huán)中對文本消息塊進(jìn)行操作,其中每一循環(huán)可包括某個規(guī)定 序列的置換、取代和與循環(huán)密鑰的組合。此種加密操作中有幾種最好使用查找表來實施。 本發(fā)明支持的提取索引存儲器存取使得能夠在字節(jié)壓縮存儲器結(jié)構(gòu)中高效地執(zhí)行這些 表查找,從而既節(jié)省寶貴的時間又節(jié)省寶貴的存儲器空間。
      雖然已根據(jù)示范性實施例描述了本發(fā)明,但熟練的技術(shù)人員將認(rèn)識到其它也屬于本 發(fā)明范圍內(nèi)的相關(guān)實施方案。舉例來說,可使用除本文描述的示范性32位(即4字節(jié)) 字之外的其它字大小。選定字節(jié)被加載到的位位置(在上文實例中提供為用于適應(yīng)字節(jié) 尋址存儲器的[9:2])可經(jīng)改變以對應(yīng)于不同于2的位移值??赡軐嵤┏嗦窂?fù)用器之外 的其它選擇裝置,只要其避免多歩驟移位序列即可。
      權(quán)利要求
      1.一種在微處理器中的電路,所述微處理器響應(yīng)于用于使用索引尋址存取存儲器的指令,所述電路包括一組字長度寄存器,其包含規(guī)定為索引寄存器、基準(zhǔn)地址寄存器和目的地寄存器的寄存器,所述索引寄存器經(jīng)配置以含有待單獨提取的壓縮字節(jié);多路復(fù)用器,其具有字長度輸入端,所述字長度輸入端耦合到所述索引寄存器并適合存取在所述索引寄存器內(nèi)壓縮的每一字節(jié);字節(jié)長度輸出端;和控制輸入,所述控制輸入用于接收字節(jié)選擇信息,所述多路復(fù)用器適合提取在其輸入端處接收到的所述字節(jié)中的選定一者,并只將所述選定字節(jié)傳遞到其輸出端;以及加法器,其經(jīng)耦合以從所述基準(zhǔn)地址寄存器接收字長度內(nèi)容,并且還接收偏移字,所述偏移字在所述偏移字的特定位位置處含有來自所述多路復(fù)用器的輸出端的所述選定字節(jié),所述加法器適合將所述接收到的內(nèi)容的輸出總和供應(yīng)為待存取的存儲器地址,所述存儲器地址處存取的存儲器內(nèi)容可加載到所述目的地寄存器中。
      2. 根據(jù)權(quán)利要求1所述的電路,其中所述字長度是四字節(jié)長度,且所述多路復(fù)用器的 所述控制輸入是規(guī)定四個字節(jié)中待提取的一者的兩位輸入。
      3. 根據(jù)權(quán)利要求1所述的電路,其中所述偏移字的含有來自所述多路復(fù)用器的輸出端 的所述選定字節(jié)的所述特定位位置是位位置[9:2],其對應(yīng)于適合存取字節(jié)可尋址存儲器的向左移位兩位的偏移。
      4. 根據(jù)權(quán)利要求1所述的電路,其進(jìn)一步包括字長度位移寄存器,所述字長度位移寄 存器耦合到所述多路復(fù)用器的所述字節(jié)長度輸出端,并適合在所述位移寄存器的特 定位位置處加載所述選定字節(jié),從所述位移寄存器輸出的內(nèi)容形成提供到所述加法 器的所述偏移字。
      5. 根據(jù)權(quán)利要求4所述的電路,其中所述位移寄存器適合在其除適合加載所述選定字 節(jié)的所述特定位位置之外的所有位位置處存儲零。
      6. 根據(jù)權(quán)利要求1所述的電路,其中所述加法器是所述微處理器中的中央處理單元的 組件,而不是專門用于索引尋址的單獨組件。
      7. —種由微處理器響應(yīng)于使用索引尋址存取存儲器的指令而執(zhí)行的方法,所述方法包 括將特定字長度寄存器規(guī)定為索引寄存器、基準(zhǔn)地址寄存器和目的地寄存器,并規(guī) 定在所述索引寄存器內(nèi)壓縮的待提取的字節(jié);使用多路復(fù)用器從所述索引寄存器中提取所述規(guī)定字節(jié),并將所述規(guī)定字節(jié)提供 為偏移字的特定位位置;將來自所述基準(zhǔn)地址寄存器的字長度內(nèi)容與所述偏移字相加以獲得總和作為待 存取的存儲器地址;以及存取所述存儲器地址處的存儲器內(nèi)容,并將所述存取的存儲器內(nèi)容加載到所述目 的地寄存器中。
      8. 根據(jù)權(quán)利要求7所述的方法,其中所述字長度是四字節(jié)長度,且所述多路復(fù)用器是 兩位控制輸入,其規(guī)定在所述索引寄存器內(nèi)壓縮的四個字節(jié)中的哪一字節(jié)由所述多 路復(fù)用器提取。
      9. 根據(jù)權(quán)利要求7所述的方法,其中所述偏移字的含有所述規(guī)定字節(jié)的所述特定位位 置是位位置[9:2],其對應(yīng)于適合存取字節(jié)可尋址存儲器的向左移位兩位的偏移。
      10. 根據(jù)權(quán)利要求7所述的方法,其中所述偏移字在除了含有所述規(guī)定字節(jié)的特定位位 置之外的所有位位置中含有零。
      11. 根據(jù)權(quán)利要求7所述的方法,其中所述索引寄存器、基準(zhǔn)地址寄存器和目的地寄存 器以及所述索引寄存器的所述規(guī)定字節(jié)全部借助所述微處理器所響應(yīng)的提取索引 指令由加載字來規(guī)定。
      全文摘要
      一種用于字節(jié)可尋址存儲器的索引尋址的微處理器電路包含由指令指定的字長度索引、基準(zhǔn)地址和目的地寄存器(Ri,Rb,Rd)。所述指令還規(guī)定在所述索引寄存器(Ri)內(nèi)壓縮的待提取的一個字節(jié)(t,u,l,b)。多路復(fù)用器(15)具有存取所述索引寄存器
      文檔編號G06F12/06GK101189585SQ200680019316
      公開日2008年5月28日 申請日期2006年4月27日 優(yōu)先權(quán)日2005年5月31日
      發(fā)明者厄于溫·斯特倫, 埃里克·K·雷諾, 龍尼·彼得森 申請人:愛特梅爾公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1