国产精品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>

      Fifo加載指令的制作方法

      文檔序號:6496610閱讀:227來源:國知局
      Fifo加載指令的制作方法
      【專利摘要】指令識別寄存器和存儲器位置。在處理器執(zhí)行所述指令后,即刻從所述存儲器位置加載項目,且執(zhí)行移位和插入操作以使所述寄存器中的數(shù)據(jù)移位且將所述項目插入到所述寄存器中。
      【專利說明】FIFO加載指令
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明大體上涉及先入先出(FIFO)加載指令。
      【背景技術(shù)】
      [0002]技術(shù)的進(jìn)步已產(chǎn)生更小且更強(qiáng)大的計算裝置。舉例來說,當(dāng)前存在多種便攜式個人計算裝置,包含無線計算裝置,例如較小、輕重量且易于由用戶攜帶的便攜式無線電話、個人數(shù)字助理(PDA)和尋呼裝置。更具體來說,便攜式無線電話(例如,蜂窩式電話和因特網(wǎng)協(xié)議(IP)電話)可經(jīng)由無線網(wǎng)絡(luò)傳送語音和數(shù)據(jù)包。此外,許多此類無線電話包含并入其中的其它類型裝置。舉例來說,無線電話還可包含數(shù)字靜態(tài)相機(jī)、數(shù)字?jǐn)z像機(jī)、數(shù)字記錄器和音頻文件播放器。而且,此些無線電話可處理可執(zhí)行指令,其包含可用以接入因特網(wǎng)的軟件應(yīng)用程序,例如網(wǎng)絡(luò)瀏覽器應(yīng)用程序。因而,這些無線電話可包含顯著的計算能力。
      [0003]例如無線電話和數(shù)字相機(jī)等多媒體裝置可包含多媒體數(shù)字信號處理器。由多媒體數(shù)字信號處理器執(zhí)行的一個過程是有限脈沖響應(yīng)(FIR)濾波。在FIR濾波中,滑動窗FIR可以回歸方式應(yīng)用于輸入數(shù)據(jù)流,其中每一窗中的數(shù)據(jù)經(jīng)受乘法和累加操作。舉例來說,存儲在存儲器中的輸入數(shù)據(jù)流可經(jīng)加載,且滑動窗濾波器可應(yīng)用于數(shù)據(jù)流的第一部分以獲得第一輸出。接著,可將數(shù)據(jù)流移位一值(例如,使窗在剩余數(shù)據(jù)流上“滑動”),且可將滑動窗應(yīng)用于數(shù)據(jù)流的第二部分以獲得第二輸出。由多媒體信號處理器執(zhí)行的另一過程是運(yùn)動估計,其可使每一窗中的數(shù)據(jù)經(jīng)受絕對差和累加操作。
      [0004]當(dāng)前的FIR和運(yùn)動估計技術(shù)可使用支持以任何字節(jié)對準(zhǔn)將數(shù)據(jù)流加載到存儲器中的硬件(例如,用以執(zhí)行從任一字節(jié)地址的加載對準(zhǔn)操作的定制硬件)。然而,此定制硬件可能昂貴且在小型裝置(例如,移動電話)中可能不合意,因為定制硬件占據(jù)額外的空間。其它技術(shù)可采用多個指令來從存儲器加載目標(biāo)數(shù)據(jù)流且執(zhí)行移位操作。舉例來說,第一指令可將目標(biāo)數(shù)據(jù)流(例如,D7D6-Dtl)從存儲器加載到第一寄存器(例如,RF(O))中,且第二指令可對目標(biāo)數(shù)據(jù)流執(zhí)行左移位操作且對先前存儲于第二寄存器(例如,RF(I))中的數(shù)據(jù)執(zhí)行右移位操作。隨后可將經(jīng)移位目標(biāo)數(shù)據(jù)插入且移位到第三寄存器(例如,RF (2))中。

      【發(fā)明內(nèi)容】

      [0005]揭示執(zhí)行數(shù)據(jù)加載、移位(即,對準(zhǔn))和插入操作的單個指令。舉例來說,指令可用以結(jié)合其它可執(zhí)行指令來執(zhí)行數(shù)據(jù)加載、移位和插入操作以在電子裝置(例如,移動裝置和數(shù)字相機(jī))處執(zhí)行FIR濾波和運(yùn)動估計。舉例來說,在FIR濾波期間,可執(zhí)行乘法和累加操作。作為另一實例,在運(yùn)動估計期間,可執(zhí)行絕對差和操作。在一個實施方案中,指令可識別寄存器和存儲器位置。寄存器可包含先前存儲的數(shù)據(jù)(例如,表示FIFO緩沖器),且存儲器位置可含有待插入到寄存器中的項目(例如,字節(jié)、半字或字)。在處理器執(zhí)行所述指令時,可從所述存儲器位置加載項目到寄存器中,且可執(zhí)行移位和插入操作以使所述寄存器中的先前數(shù)據(jù)移位且將所述項目插入到所述寄存器中??稍谥噶畹耐粓?zhí)行循環(huán)中執(zhí)行加載操作、移位操作和插入操作。此外,指令可利用極長指令字(VLIW)架構(gòu)的指令層級并行性。舉例來說,單個VLIW包可含有可并行執(zhí)行的多個此指令。
      [0006]在特定實施例中,一種設(shè)備包含存儲器,其存儲識別寄存器和存儲器位置的指令。在處理器執(zhí)行所述指令后,即刻從所述存儲器位置加載項目,且執(zhí)行移位和插入操作以使所述寄存器中的數(shù)據(jù)移位且將所述項目插入到所述寄存器中。
      [0007]在另一特定實施例中,一種方法包含接收識別寄存器和存儲器位置的指令。所述方法包含執(zhí)行所述指令。執(zhí)行所述指令包含:從所述存儲器位置加載項目;使所述寄存器中的數(shù)據(jù)移位;以及將所述項目插入到所述寄存器中。
      [0008]在另一特定實施例中,一種設(shè)備包含用于存儲識別寄存器和存儲器位置的指令的裝置。所述設(shè)備還包含用于執(zhí)行指令的裝置。所述用于執(zhí)行所述指令的裝置包含:用于從所述存儲器位置加載項目的裝置;用于使所述寄存器中的數(shù)據(jù)移位的裝置;以及用于將所述項目插入到所述寄存器中的裝置。
      [0009]在另一特定實施例中,一種非暫時性計算機(jī)可讀媒體包含程序代碼,所述程序代碼在由處理器執(zhí)行時致使所述處理器:接收識別寄存器和存儲器位置的單個指令;以及執(zhí)行所述單個指令。執(zhí)行所述單個指令包含:從所述存儲器位置加載項目;使所述寄存器中的數(shù)據(jù)移位;以及將所述項目插入到所述寄存器中。
      [0010]由所揭示實施例中的至少一者提供的一個特定優(yōu)點是應(yīng)用程序(例如,嵌入式多媒體處理應(yīng)用程序)的減少的代碼大小和較少的執(zhí)行循環(huán),原因在于使用單個指令來執(zhí)行數(shù)據(jù)加載、移位(即,對準(zhǔn))和插入功能性。另一特定優(yōu)點是較小、較便宜和較不功率密集的電子裝置,原因在于所揭示指令能夠支持未對準(zhǔn)數(shù)據(jù)而無需使用額外的定制硬件。
      [0011]在審閱整個申請案之后將明了本發(fā)明的其它方面、優(yōu)點和特征,整個申請案包含以下部分:【專利附圖】

      【附圖說明】、【具體實施方式】,和權(quán)利要求書。
      【專利附圖】
      附圖
      【附圖說明】
      [0012]圖1是說明執(zhí)行識別寄存器和存儲器位置的指令的圖;
      [0013]圖2是說明執(zhí)行識別寄存器和存儲器位置的指令的另一圖;
      [0014]圖3是包含存儲識別寄存器和存儲器位置的指令的存儲器的系統(tǒng)的特定說明性實施例的圖;
      [0015]圖4是執(zhí)行識別寄存器和存儲器位置的指令的方法的特定說明性實施例的流程圖;
      [0016]圖5是執(zhí)行識別寄存器和存儲器位置的指令的另一圖;以及
      [0017]圖6是包含可操作以執(zhí)行識別寄存器和存儲器位置的指令的處理器的無線裝置的特定實施例的框圖。
      【具體實施方式】
      [0018]用于執(zhí)行數(shù)據(jù)加載、移位和插入功能性的指令可識別寄存器和存儲器位置。當(dāng)執(zhí)行指令時,可從存儲器位置加載項目(例如,字節(jié)、半字或字),且可執(zhí)行移位和插入操作以使寄存器中的數(shù)據(jù)移位且將項目插入到寄存器中。可在同一執(zhí)行循環(huán)期間執(zhí)行加載、移位和插入操作。移位和插入操作可從寄存器移除數(shù)據(jù)的一部分以為將插入到寄存器中的項目產(chǎn)生空間。經(jīng)移除部分可表示從先入先出(FIFO)緩沖器的前部“彈出”的數(shù)據(jù)元素,且新添加到項目可表示正“推入”到FIFO緩沖器的后部中的數(shù)據(jù)元素。指令可結(jié)合其它可執(zhí)行指令(例如,乘法和累加指令)來執(zhí)行以對存儲在寄存器中的數(shù)據(jù)執(zhí)行濾波操作。濾波操作可為有限脈沖響應(yīng)(FIR)操作(例如,由調(diào)制解調(diào)器、語音譯碼器/解碼器(CODEC)、音頻編解碼器、圖像處理器或視頻編解碼器使用)。指令還可結(jié)合其它可執(zhí)行指令(例如,絕對差和指令)來執(zhí)行以對存儲在寄存器中的數(shù)據(jù)執(zhí)行運(yùn)動估計操作。
      [0019]圖1到2描繪識別寄存器和存儲器位置的FIFO加載指令的執(zhí)行的兩個實例。參見圖1,揭示FIFO加載指令的執(zhí)行的第一說明性實例,且大體上指定為100。
      [0020]FIFO加載指令可識別寄存器和存儲器位置,其中存儲器位置包含將加載到寄存器中的項目。寄存器可為寄存器對或單個寄存器。舉例來說,如圖1中說明,F(xiàn)IFO加載指令可為“R1:0 = MEM_FIF0(Rs) ”,其中‘MEM_FIF0’是FIFO加載指令的操作碼,‘Rs’是存儲器102中存儲項目150的地址的寄存器,且‘R1’是其中將加載項目150的包含數(shù)據(jù)144、143、142和141 (例如,X4X3X2X1)的寄存器140。寄存器140可相對于數(shù)據(jù)141到144作為FIFO緩沖器來操作(例如,數(shù)據(jù)X1Hl可位于FIFO緩沖器的前部,且數(shù)據(jù)X4可位于FIFO緩沖器的后部)。
      [0021]在特定實施例中,項目150可為字節(jié)、半字或字。FIFO加載指令也可指定項目是否為字節(jié)、半字或字。應(yīng)注意,項目可為任何其它長度。舉例來說,舉例來說,“MEMB_FIF0”操作碼可指示項目150為字節(jié)(例如,指令可為“R0 = MEMB_FIF0 (Rs) ” ),“MEMH_FIF0”操作碼可指示項目150為半字(例如,指令可為“R1 = MEMH_FIF0(Rs) ”),且“MEMW_FIF0”操作碼可指示項目150為字。指令可由處理器的執(zhí)行單元或加載/存儲單元結(jié)合其它可執(zhí)行指令來執(zhí)行以對寄存器140中的數(shù)據(jù)144到141執(zhí)行濾波操作。濾波操作可用以執(zhí)行(例如,移動裝置或數(shù)碼相機(jī)中的視頻數(shù)據(jù)的)有限脈沖響應(yīng)濾波或運(yùn)動估計。舉例來說,指令可結(jié)合其它可執(zhí)行指令使用以并行地執(zhí)行視頻幀的多個區(qū)或多個視頻幀的運(yùn)動估計,如參見圖3進(jìn)一步描述。
      [0022]在操作期間,識別寄存器140和項目150的存儲器位置的FIFO加載指令可從存儲器102 (例如,隨機(jī)存取存儲器(RAM))檢索,且可由處理器的執(zhí)行單元或加載/存儲單元(例如,加載硬件單元或加載對準(zhǔn)器單元)執(zhí)行。在執(zhí)行時,F(xiàn)IFO加載指令可致使項目150從存儲器位置加載,如所說明。另外,可執(zhí)行移位和插入操作以使寄存器140中的數(shù)據(jù)141到144移位且將項目150插入到寄存器140中。在特定實施例中,從存儲器位置加載項目150以及移位和插入操作可在處理器的同一執(zhí)行循環(huán)期間執(zhí)行。
      [0023]如圖1中說明,在從存儲器位置加載項目150之后,寄存器140中的數(shù)據(jù)141到144可右移位,且項目150可插入于存儲在寄存器140中的FIFO緩沖器的后部。舉例來說,寄存器140中的數(shù)據(jù)144到141 (即,X4X3X2X1)可右移位,從而致使從寄存器140移除數(shù)據(jù)141 (即,X1),且項目150可插入到寄存器140中,如圖1中所示。因此,圖1的MEM_FIF0指令可通過使用單個指令來啟用數(shù)據(jù)加載、移位和插入操作。
      [0024]參見圖2,揭示FIFO加載指令“R1:0 = MEM_FIF0(Rs) ”的執(zhí)行的第二說明性實例,且大體上指定為200。圖1描繪為將項目150插入到寄存器140的左側(cè)(例如,最高有效部分)中騰出空間的右移位操作,而圖2描繪為將項目150插入到寄存器140的右側(cè)(例如,最低有效部分)中騰出空間的左移位操作。在FIFO加載指令的執(zhí)行后,可即刻從存儲器位置加載項目150,可執(zhí)行左移位操作以使寄存器140中的數(shù)據(jù)141到144移位,且可執(zhí)行插入操作以將項目150插入到寄存器140中。因此,所揭示FIFO加載指令可與寄存器中從左到右以及從右到左兩個方向上定向的FIFO緩沖器一起使用。
      [0025]參見圖3,揭示可操作以存儲和處理包含多個FIFO加載指令351、352的指令包(例如,VLIW指令包350)的系統(tǒng)的特定說明性實施例,且大體上指定為300。
      [0026]系統(tǒng)300可包含存儲指令包350的存儲器102。存儲器102可經(jīng)由總線接口 308耦合到指令高速緩沖存儲器310。第一 FIFO加載指令351可識別第一寄存器(例如,指定為Rl的寄存器140)以及第一項目150 (例如,指定為項目I)的第一存儲器位置。第二 FIFO加載指令352可識別第二寄存器(例如,指定為R2的寄存器340)以及第二項目360 (例如,指定為項目2)的第二存儲器位置。項目150、360可存儲在存儲器102處和/或數(shù)據(jù)高速緩沖存儲器312處。舉例來說,圖3說明第一項目150存儲在存儲器102中,且第二項目360存儲在數(shù)據(jù)高速緩沖存儲器312和存儲器102兩者中。第一寄存器140和第二寄存器340可為通用寄存器堆326的部分。在特定實施例中,系統(tǒng)300的全部或一部分可集成到處理器中?;蛘撸鎯ζ?02和總線330可在處理器外部。
      [0027]存儲器102可經(jīng)由總線接口 308將指令包350傳輸?shù)街噶罡咚倬彌_存儲器310。數(shù)據(jù)高速緩沖存儲器312也可經(jīng)由總線接口 308耦合到存儲器102。在特定實施例中,存儲器102可由處理器(例如,數(shù)字信號處理器)存取,所述處理器可操作以執(zhí)行對數(shù)據(jù)的濾波操作、對數(shù)據(jù)的有限脈沖響應(yīng)操作、視頻數(shù)據(jù)的運(yùn)動估計,或其任一組合。處理器可執(zhí)行FIFO加載指令351和352以執(zhí)行數(shù)據(jù)加載、移位和插入操作。
      [0028]指令高速緩沖存儲器310可經(jīng)由總線311耦合到定序器314。定序器314可接收通用中斷316,其可從中斷寄存器(未圖示)檢索。在特定實施例中,指令高速緩沖存儲器310經(jīng)由多個當(dāng)前指令寄存器(未圖示)耦合到定序器314,所述當(dāng)前指令寄存器可耦合到總線311且與處理器300的特定線程(例如,硬件線程)相關(guān)聯(lián)。在特定實施例中,處理器300可為包含六(6)個線程的交錯多線程處理器。
      [0029]在特定實施例中,總線311可為一百二十八位(128位)總線,且定序器314可經(jīng)配置以經(jīng)由指令包(例如,VLIW指令包350)從存儲器102檢索指令,包含各自具有三十二
      (32)位長度的多個FIFO加載指令(例如,第一 FIFO加載指令351和第二 FIFO加載指令352)。定序器314可耦合到第一加載/存儲單元318、第二加載/存儲單元320、第一指令執(zhí)行單元322,以及第二指令執(zhí)行單元324。應(yīng)注意,可存在比所展示情形少或多的加載/存儲單元和指令執(zhí)行單元。每一單元318到324可包含一個或一個以上加載對準(zhǔn)器單元或加載硬件單元,其可操作以執(zhí)行FIFO加載指令。每一單元318到324可經(jīng)由第一總線328耦合到通用寄存器堆326。通用寄存器堆326還可經(jīng)由第二總線330耦合到定序器314、數(shù)據(jù)高速緩沖存儲器312和存儲器302。通用寄存器堆326可包含第一寄存器140和第二寄存器340。
      [0030]系統(tǒng)300還可包含監(jiān)督器控制寄存器332和全局控制寄存器336,用以存儲可由定序器314內(nèi)的控制邏輯存取以確定是否接受中斷(例如,通用中斷316)且控制指令執(zhí)行的位。
      [0031]在特定實施例中,加載/存儲單元318到320中的一者(例如,第一加載/存儲單元318)可執(zhí)行第一 FIFO加載指令351。在第一 FIFO加載指令351的執(zhí)行后,可即刻從存儲器102加載第一項目150,且可執(zhí)行移位和插入操作以使第一寄存器140中的數(shù)據(jù)移位,且將第一項目150插入到第一寄存器140中。根據(jù)數(shù)據(jù)高速緩沖存儲原理,第一項目150也可存儲在數(shù)據(jù)高速緩沖存儲器312中。另外,加載/存儲單元318到320中的另一者(例如,第二加載/存儲單元320)可執(zhí)行第二 FIFO加載指令352。在第二 FIFO加載指令352的執(zhí)行后,可即刻從數(shù)據(jù)高速緩沖存儲器312加載第二項目360,且可執(zhí)行移位和插入操作以使第二寄存器340中的數(shù)據(jù)移位,且將第二項目360插入到第二寄存器340中。在特定實施例中,第一 FIFO加載指令351和第二 FIFO加載指令352可在同一執(zhí)行循環(huán)期間由加載/存儲單元318和加載/存儲單元320并行地執(zhí)行。為了說明,在同一執(zhí)行循環(huán)期間,可(例如,從存儲器102和數(shù)據(jù)高速緩沖存儲器312)加載項目150和360,可使寄存器140和340中的數(shù)據(jù)移位,且可將項目150和360插入到寄存器140和340中。其它指令也可與FIFO加載指令351、352并行執(zhí)行。舉例來說,乘法指令、加法指令、乘法和加法指令以及絕對差和指令可與FIFO加載指令351、352并行執(zhí)行。為了說明,單元318到324中的一者或一者以上可執(zhí)行FIFO加載指令,而單元318到324中的另一者執(zhí)行乘法指令、加法指令、乘法和加法指令或絕對差和指令。
      [0032]因此,圖3的系統(tǒng)300可使得能夠?qū)⒍鄠€FIFO加載指令包化為單個VLIW包,其中此些指令可結(jié)合執(zhí)行視頻對象的運(yùn)動估計來使用。舉例來說,將加載、移位和插入操作囊封到單個指令中可使得處理器能夠針對視頻幀的多個區(qū)或針對多個視頻幀并行地執(zhí)行運(yùn)動估計。為了說明,VLIW指令包350中的指令351、352中的每一者可表示針對視頻幀的不同區(qū)的濾波操作。視頻數(shù)據(jù)的此并行處理可得到多媒體應(yīng)用的改善性能。
      [0033]參見圖4,描繪處理識別寄存器和存儲器位置的指令的方法的特定說明性實施例的流程圖,且大體上指定為400。在說明性實施例中,方法400可在圖3的系統(tǒng)300處執(zhí)行且可參見圖1到2來說明。
      [0034]方法400可包含在410處接收識別寄存器和項目的存儲器位置的指令。舉例來說,指令可存儲在圖1或圖2的存儲器102處和/或圖3的指令高速緩沖存儲器310處。存儲器可為基于寄存器的存儲器、隨機(jī)存取存儲器(RAM)、另一類型的存儲器,或其任一組合。項目可為字節(jié)、半字或字。舉例來說,如圖3中說明,包含第一 FIFO加載指令351和第二 FIFO加載指令352的VLIW指令包350可在處理器或其組件(例如,指令高速緩沖存儲器310)處接收?;蛘?,可接收僅包含單個FIFO加載指令的指令包。
      [0035]方法400還可包含在420處執(zhí)行指令。舉例來說,參見圖3,第一 FIFO加載指令351可由第一加載/存儲單元318執(zhí)行,且第二 FIFO加載指令352可由第二加載/存儲單元320執(zhí)行。第一 FIFO加載指令351可與執(zhí)行第二 FIFO加載指令352并行地且在同一時鐘循環(huán)期間執(zhí)行。另外,F(xiàn)IFO加載指令351到352中的一者或兩者可與執(zhí)行乘法指令或絕對差和指令并行地執(zhí)行。圖4的方法400可因此使得能夠在單個指令包中囊封和處理多個FIFO加載指令,這可導(dǎo)致較密集的視頻處理代碼。
      [0036]執(zhí)行指令可包含在422處從存儲器位置加載項目。舉例來說,在圖3中,執(zhí)行指令包350可包含從存儲器102加載第一項目150和從數(shù)據(jù)高速緩沖存儲器312加載第二項目360。執(zhí)行指令還可包含在424處使寄存器中的數(shù)據(jù)移位。在特定實施例中,所述移位是右移位操作,如圖1中說明。在另一特定實施例中,所述移位是左移位操作,如圖2中說明。在另一特定實施例中,執(zhí)行第一 FIFO加載指令351可包含執(zhí)行右移位操作,且執(zhí)行第二 FIFO加載指令352可包含執(zhí)行左移位操作(或反之亦然)。舉例來說,在圖3中,第一寄存器140中的數(shù)據(jù)可左移位,且第二寄存器340中的數(shù)據(jù)可右移位。因此,寄存器140、340中的數(shù)據(jù)可在相同方向上或在不同方向上移位。
      [0037]執(zhí)行指令可進(jìn)一步包含在426處將項目插入到寄存器中。舉例來說,在圖3中,第一項目150可插入到第一寄存器140中,且第二項目360可插入到第二寄存器340中。
      [0038]圖1到4中描述的實施例可涉及將數(shù)據(jù)移位出寄存器和將數(shù)據(jù)加載到同一寄存器中?;蛘?,可使用多寄存器實施方案。舉例來說,圖5說明使用多個寄存器執(zhí)行FIFO加載指令的實施例,且大體上指定為500。
      [0039]為了說明,F(xiàn)IFO緩沖器的數(shù)據(jù)Χ4Χ3ΧΑ144到141可存儲在第一寄存器510中。在FIFO加載指令的執(zhí)行期間,數(shù)據(jù)X4X3X2X1144到141可加載到移位器530中,且移位器530的輸出可提供到多路復(fù)用器540。多路復(fù)用器540還可接收將從存儲器102加載到FIFO緩沖器中的項目150。在特定實施例中,在數(shù)據(jù)加載過程期間可按需要對項目150進(jìn)行對準(zhǔn)、復(fù)制、補(bǔ)零和/或符號延伸。多路復(fù)用器540的輸出可存儲在第二寄存器520中,如圖5中說明。因此,F(xiàn)IFO加載指令可用以在源寄存器和目的地寄存器不同時執(zhí)行加載、移位和插入操作。
      [0040]參見圖6,描繪包含存儲識別寄存器和存儲器位置的FIFO加載指令的存儲器的無線裝置的特定說明性實施例的框圖,且大體上指定為600。裝置600包含耦合到存儲器102的處理器,例如數(shù)字信號處理器(DSP)664。在特定實施例中,存儲器102存儲且可傳輸可由DSP664執(zhí)行的指令,例如FIFO加載指令351。存儲器102還可存儲待加載的數(shù)據(jù),例如項目150。DSP可包含表示FIFO緩沖器的寄存器140,其存儲數(shù)據(jù)144到141 (即,“Xf.X/’)。在FIFO加載指令351的執(zhí)行后,可即刻從存儲器102中的存儲器位置加載項目150,且可執(zhí)行移位和插入操作以使寄存器140中的數(shù)據(jù)144到141移位,且將項目150插入到寄存器140中。舉例來說,在圖6中,可對數(shù)據(jù)144到141執(zhí)行左移位操作,從而導(dǎo)致從寄存器140移除數(shù)據(jù)X4144,且可將項目150插入到寄存器140中處于寄存器140的最低有效部分?;蛘撸墒辜拇嫫?40中的數(shù)據(jù)144到141右移位(未圖示),從而導(dǎo)致從寄存器140移除數(shù)據(jù)X1Hl,且可將項目150插入到寄存器140中處于寄存器140的最高有效部分。
      [0041]圖6還展示耦合到DSP664和顯示器628的顯示器控制器626。譯碼器/解碼器(CODEC) 634 (例如,音頻和/或語音編解碼器)可耦合到DSP664。舉例來說,編解碼器634可致使FIFO加載指令351的執(zhí)行,作為編碼或解碼過程的部分。例如顯示器控制器626(可包含視頻編解碼器和/或圖像處理器)和無線控制器640 (可包含調(diào)制解調(diào)器)等其它組件也可在信號處理期間致使FIFO加載指令351的執(zhí)行。揚(yáng)聲器636和麥克風(fēng)638可耦合到編解碼器634。圖6還指示無線控制器640可耦合到無線天線642。在特定實施例中,DSP664、顯示器控制器626、存儲器632、編解碼器634以及無線控制器640包含在系統(tǒng)級封裝或芯片上系統(tǒng)裝置622中。
      [0042]在特定實施例中,輸入裝置630和電源644耦合到芯片上系統(tǒng)裝置622。而且,在特定實施例中,如圖6中說明,顯示器628、輸入裝置630、揚(yáng)聲器636、麥克風(fēng)638、無線天線642以及電源644在芯片上系統(tǒng)裝置622的外部。然而,顯示器628、輸入裝置630、揚(yáng)聲器636、麥克風(fēng)638、無線天線642以及電源644中的每一者可耦合到芯片上系統(tǒng)裝置622的組件,例如接口或控制器。[0043]應(yīng)注意,雖然圖6描繪無線通信裝置,但DSP664和存儲器632也可集成到機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、個人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元或計算機(jī)中。處理器(例如,DSP664或包含圖3的加載/存儲單元318到320中的一者或一者以上的處理器)也可集成到此裝置中。
      [0044]結(jié)合所描述實施例,揭示一種設(shè)備,其包含用于存儲識別寄存器和存儲器位置的指令的裝置。舉例來說,用于存儲的裝置可為圖1到3和圖6的存儲器102、圖3的指令高速緩沖存儲器310、經(jīng)配置以存儲指令的一個或一個以上其它裝置,或其任一組合。
      [0045]所述設(shè)備還可包含用于執(zhí)行指令的裝置。舉例來說,用于執(zhí)行的裝置可包含以下各項中的一者或一者以上:圖3的單元318、320、322和324,圖5的移位器530,圖5的多路復(fù)用器540,圖6的DSP664,加載硬件單元,加載對準(zhǔn)器單元,經(jīng)配置以執(zhí)行指令的一個或一個以上其它裝置,或其任一組合。
      [0046]所述設(shè)備可進(jìn)一步包含用于從存儲器位置加載項目的裝置。舉例來說,用于加載的裝置可為以下各項中的一者或一者以上:圖3的單元318到324,加載硬件單元,加載對準(zhǔn)器單元,經(jīng)配置以從存儲器加載項目的一個或一個以上其它裝置,或其任一組合。
      [0047]所述設(shè)備可包含用于使寄存器中的數(shù)據(jù)移位的裝置。舉例來說,用于移位的裝置可為以下各項中的一者或一者以上:圖3的單元318到324,加載硬件單元,加載對準(zhǔn)器單元,數(shù)據(jù)移位單元,經(jīng)配置以移位數(shù)據(jù)的一個或一個以上其它裝置,或其任一組合。
      [0048]所述設(shè)備還可包含用于將項目插入到寄存器中的裝置。舉例來說,用于插入的裝置可為以下各項中的一者或一者以上:圖3的單元318到324,圖5的移位器530,加載硬件單元,加載對準(zhǔn)器單元,經(jīng)配置以加載數(shù)據(jù)的一個或一個以上其它裝置,或其任一組合。
      [0049]所述設(shè)備可進(jìn)一步包含用于與執(zhí)行所述指令并行地執(zhí)行第二指令的裝置,其中所述第二指令識別第二寄存器和第二存儲器位置。舉例來說,用于執(zhí)行的裝置可包含以下各項中的一者或一者以上:圖3的單元318到324,圖5的移位器530,圖5的多路復(fù)用器540,圖6的DSP664,加載硬件單元,加載對準(zhǔn)器單元,經(jīng)配置以與第一指令并行地執(zhí)行第二指令的一個或一個以上其它裝置,或其任一組合。
      [0050]所屬領(lǐng)域的技術(shù)人員將進(jìn)一步了解,結(jié)合本文所揭示的實施例描述的各種說明性邏輯塊、配置、模塊、電路和算法步驟可實施為電子硬件、計算機(jī)軟件或所述兩者的組合。上文已大體上在其功能性方面描述了各種說明性組件、塊、配置、模塊、電路和步驟。將此類功能性實施為硬件還是軟件取決于特定應(yīng)用和對整個系統(tǒng)施加的設(shè)計約束。熟練的技術(shù)人員針對每一特定應(yīng)用可以不同方式實施所描述的功能性,但不應(yīng)將此類實施方案決策解釋為造成與本發(fā)明的范圍的脫離。
      [0051]結(jié)合本文所揭示的實施例描述的方法或算法的步驟可直接以硬件、以由處理器執(zhí)行的軟件模塊或以所述兩者的組合來實施。軟件模塊可駐留在隨機(jī)存取存儲器(RAM)、快閃存儲器、只讀存儲器(ROM)、可編程只讀存儲器(PROM)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)、寄存器、硬盤、可裝卸式盤、壓縮光盤只讀存儲器(CD-ROM)或此項技術(shù)中已知的任何其它形式的存儲媒體中。示范性非暫時性(例如,有形)存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息和向存儲媒體寫入信息。在替代方案中,存儲媒體可與處理器成一體式。處理器和存儲媒體可駐留在專用集成電路(ASIC)中。ASIC可駐留在計算裝置或用戶終端中。在替代方案中,處理器和存儲媒體可作為離散組件駐留在計算裝置或用戶終端中。
      [0052]提供對所揭示實施例的先前描述是為了使得所屬領(lǐng)域的技術(shù)人員能夠制作或使用所揭示實施例。所屬領(lǐng)域的技術(shù)人員將容易了解對這些實施例的各種修改,且在不脫離本發(fā)明的范圍的情況下,本文所界定的原理可適用于其它實施例。因此,本發(fā)明既定不限于本文展示的實施例,而是應(yīng)被賦予與所附權(quán)利要求書界定的原理和新穎特征一致的可能的最廣范圍。
      【權(quán)利要求】
      1.一種設(shè)備,其包括: 存儲器,其存儲識別寄存器和存儲器位置的指令,其中在處理器執(zhí)行所述指令后,即刻從所述存儲器位置加載項目,且執(zhí)行移位和插入操作以使所述寄存器中的數(shù)據(jù)移位且將所述項目插入到所述寄存器中。
      2.根據(jù)權(quán)利要求1所述的設(shè)備,其中從所述存儲器位置加載所述項目以及所述移位和插入操作是在同一執(zhí)行循環(huán)中執(zhí)行。
      3.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述項目是字節(jié)、半字或字。
      4.根據(jù)權(quán)利要求1所述的設(shè)備,其中使所述數(shù)據(jù)移位字節(jié)、半字或字。
      5.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述移位和插入操作由加載對準(zhǔn)器單元執(zhí)行。
      6.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述移位和插入操作用來自所述存儲器位置的數(shù)據(jù)部分替換來自所述寄存器的數(shù)據(jù)部分。
      7.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述指令的所述執(zhí)行由所述處理器的加載硬件單元執(zhí)行。
      8.根據(jù)權(quán)利要求1所述的設(shè)備,其進(jìn)一步包括包含所述指令和第二指令的極長指令字VLIW 包。
      9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述第二指令識別第二寄存器和第二存儲器位置,其中在所述處 理器執(zhí)行所述第二指令后,即刻從所述第二存儲器位置加載第二項目,且執(zhí)行移位和插入操作以使所述第二寄存器中的數(shù)據(jù)移位且將所述第二項目插入到所述第二寄存器中,且其中所述第二指令與所述指令的執(zhí)行并行地執(zhí)行。
      10.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述指令可結(jié)合其它可執(zhí)行指令而執(zhí)行以對所述數(shù)據(jù)執(zhí)行濾波操作。
      11.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述濾波操作是有限脈沖響應(yīng)FIR操作。
      12.根據(jù)權(quán)利要求1所述的設(shè)備,其中所述指令可結(jié)合其它可執(zhí)行指令而執(zhí)行以執(zhí)行視頻數(shù)據(jù)的運(yùn)動估計。
      13.一種方法,其包括: 接收識別寄存器和存儲器位置的指令;以及 執(zhí)行所述指令,其中執(zhí)行所述指令包括: 從所述存儲器位置加載項目; 使所述寄存器中的數(shù)據(jù)移位;以及 將所述項目插入到所述寄存器中。
      14.根據(jù)權(quán)利要求13所述的方法,其中從所述存儲器加載所述項目、使所述寄存器中的所述數(shù)據(jù)移位以及將所述項目插入到所述寄存器中是在同一執(zhí)行循環(huán)中執(zhí)行。
      15.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包括: 接收識別第二寄存器和第二存儲器位置的第二指令;以及 與所述指令的執(zhí)行并行地執(zhí)行所述第二指令,其中執(zhí)行所述第二指令包括: 從所述第二存儲器位置加載第二項目; 使所述第二寄存器中的數(shù)據(jù)移位;以及 將所述第二項目插入到所述第二寄存器中。
      16.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包括與執(zhí)行所述指令并行地執(zhí)行乘法指令和加法指令。
      17.根據(jù)權(quán)利要求13所述的方法,其進(jìn)一步包括與執(zhí)行所述指令并行地執(zhí)行絕對差和操作。
      18.根據(jù)權(quán)利要求13所述的方法,其中所述寄存器作為先入先出FIFO緩沖器來操作。
      19.一種設(shè)備,其包括: 用于存儲識別寄存器和存儲器位置的指令的裝置;以及 用于執(zhí)行所述指令的裝置,其中所述用于執(zhí)行所述指令的裝置包括: 用于從所述存儲器位置加載項目的裝置; 用于使所述寄存器中的數(shù)據(jù)移位的裝置;以及 用于將所述項目插入到所述寄存器中的裝置。
      20.根據(jù)權(quán)利要求19所述的設(shè)備,其進(jìn)一步包括用于與執(zhí)行所述指令并行地執(zhí)行第二指令的裝置,其中所述第二指令識別第二寄存器和第二存儲器位置。
      21.一種包含程序代碼的非暫時性計算機(jī)可讀媒體,所述程序代碼在由處理器執(zhí)行時致使所述處理器: 接收識別寄存器和存儲器位置的單個指令;以及 執(zhí)行所述單個指令,其中執(zhí)行所述單個指令包含: 從所述存儲器位置加載項目; 使所述寄存器中的數(shù)據(jù)移位;以及 將所述項目插入到所述寄存器中。
      22.根據(jù)權(quán)利要求21所述的非暫時性計算機(jī)可讀媒體,其中從所述存儲器位置加載所述項目、使所述寄存器中的所述數(shù)據(jù)移位以及將所述項目插入到所述寄存器中是在同一執(zhí)行循環(huán)中執(zhí)行。
      【文檔編號】G06F9/30GK103827818SQ201280047140
      【公開日】2014年5月28日 申請日期:2012年9月30日 優(yōu)先權(quán)日:2011年9月30日
      【發(fā)明者】曾茂, 盧奇安·科德雷斯庫, 埃里克·詹姆斯·普隆迪克, 阿賈伊·阿南特·英格爾 申請人:高通股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1