專利名稱:使用存儲(chǔ)器的方法、兩維數(shù)據(jù)存取存儲(chǔ)器以及操作處理設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及使用存儲(chǔ)器的方法、兩維數(shù)據(jù)存取存儲(chǔ)器以及操作處理設(shè)備,所述存儲(chǔ)器中可實(shí)現(xiàn)有效的SIMD(單指令流多數(shù)據(jù)流)操作,所述兩維數(shù)據(jù)存取存儲(chǔ)器作為設(shè)備包括有上述存儲(chǔ)器的方法,所述操作處理設(shè)備則可用上述兩維數(shù)據(jù)存取存儲(chǔ)器有效地執(zhí)行SIMD操作。
背景技術(shù):
SIMD操作涉及具有多個(gè)處理器并在同一指令中處理多個(gè)數(shù)據(jù)。所以,SIMD操作能通過從存儲(chǔ)在存儲(chǔ)器內(nèi)的數(shù)據(jù)一維行中取出部分行的連續(xù)數(shù)據(jù)而非常有效地執(zhí)行并行操作。
但是,當(dāng)要加以操作的數(shù)據(jù)未連續(xù)存儲(chǔ)在存儲(chǔ)器內(nèi)時(shí),或者在操作結(jié)果要離散地設(shè)置在存儲(chǔ)器中預(yù)定存儲(chǔ)單元內(nèi)時(shí),就需要具有為經(jīng)歷平行操作而準(zhǔn)備的處理以及用于將平行操作結(jié)果安排到存儲(chǔ)器中預(yù)定存儲(chǔ)單元的處理。所以,存在有這樣的缺點(diǎn)即妨礙固有的并行操作。
另外,日本專利公開2000-69478號(hào)中說明了帶有SIMD處理的用于加速兩維離散余弦變換。
利用這種技術(shù),按適于通過SIMD處理執(zhí)行變換編碼操作中的蝶形操作的順序重新排列按掃描順序排列的圖像數(shù)據(jù),重新排列的結(jié)果存儲(chǔ)在存儲(chǔ)器內(nèi),對(duì)存儲(chǔ)在存儲(chǔ)器內(nèi)的圖像數(shù)據(jù)進(jìn)行兩維余弦變換。
但是,在如上述專利所述的技術(shù)中,需要用于重新排列圖像數(shù)據(jù)的操作,并且,在用硬件實(shí)施時(shí),需要涉及重新排列的電路,從而導(dǎo)致因用于重新排列操作的存儲(chǔ)器存取而有較大的電路規(guī)模和有所增加的能耗。
發(fā)明概述就上述問題而言,本發(fā)明的第一個(gè)目的是提供使用存儲(chǔ)器的方法,該存儲(chǔ)器可使SIMD操作更有效。
再有,本發(fā)明的第二個(gè)目的是提供兩維數(shù)據(jù)存取存儲(chǔ)器,它可通過訪問相對(duì)兩維存儲(chǔ)器空間中的指定位置沿橫向或縱向方面排列的連續(xù)或不連續(xù)數(shù)據(jù)而實(shí)現(xiàn)有效的SIMD。
此外,本發(fā)明的第三個(gè)目的是提供一種操作處理設(shè)備,它可用兩維數(shù)據(jù)存取存儲(chǔ)器來有效地進(jìn)行SIMD操作。
為了解決上述問題并達(dá)到第一目的,依照如權(quán)利要求1的發(fā)明,提供了使用存儲(chǔ)器的方法,該方法包括下列步驟包含有預(yù)定的兩維存儲(chǔ)器空間,它由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成;將所述虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址預(yù)先分配給n個(gè)物理存儲(chǔ)器中按與所述虛擬最小兩維存儲(chǔ)器相關(guān)方式確定的每一個(gè)存儲(chǔ)器內(nèi)的預(yù)定地址;在讀取所述虛擬最小兩維存儲(chǔ)器中的數(shù)據(jù)時(shí),指定所述虛擬最小兩維存儲(chǔ)器中的讀取地址;以及,參照指定的讀取地址將數(shù)據(jù)讀取方式指定為數(shù)據(jù)的橫向方向和縱向方向,從而,根據(jù)指定的地址和指定的方向從n個(gè)物理存儲(chǔ)器的每個(gè)存儲(chǔ)器中的相應(yīng)地址開始讀取所述虛擬最小兩維存儲(chǔ)器中按橫向或縱向方向排列的連續(xù)數(shù)據(jù)。
依照權(quán)利要求2的本發(fā)明的第二個(gè)方面,提供了如權(quán)利要求1的使用存儲(chǔ)器的方法,其中,在將數(shù)據(jù)寫進(jìn)兩維存儲(chǔ)器空間時(shí),在所述虛擬最小兩維存儲(chǔ)器空間中指定寫地址,并且,參照指定的寫地址將寫入方向指定為數(shù)據(jù)的橫向方向或縱向方向,從而,可根據(jù)指定的地址和指定的方向在n個(gè)物理存儲(chǔ)器的每一個(gè)的相應(yīng)地址處寫要在所述虛擬最小兩維存儲(chǔ)器中沿橫向或縱向方向連續(xù)寫的連續(xù)數(shù)據(jù)。
依照權(quán)利要求3的發(fā)明,提供了使用存儲(chǔ)器的方法,該方法包括下列步驟包含有預(yù)定的兩維存儲(chǔ)器空間,它由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成;將所述虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址預(yù)先分配給n個(gè)物理存儲(chǔ)器中按與所述虛擬最小兩維存儲(chǔ)器相關(guān)方式確定的每一個(gè)存儲(chǔ)器內(nèi)的預(yù)定地址;在讀取所述兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí),指定所述虛擬最小兩維存儲(chǔ)器中的讀取地址;以及,參照指定的讀取地址指定預(yù)定的讀取方式(例如圖19或圖20所示的交錯(cuò)模式方式),從而,根據(jù)指定的地址和指定的方式從n個(gè)物理存儲(chǔ)器的每個(gè)存儲(chǔ)器中的相應(yīng)地址開始讀取所述虛擬最小兩維存儲(chǔ)器中的預(yù)定數(shù)據(jù)。
依照權(quán)利要求4的發(fā)明,提供如權(quán)利要求1或權(quán)利要求3的使用存儲(chǔ)器的方法,其中,將估算移動(dòng)畫面的運(yùn)動(dòng)矢量時(shí)的參照數(shù)據(jù)(例如圖31的參照系)的一部分存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi),并且,當(dāng)讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí),還指定在估算運(yùn)動(dòng)矢量時(shí)讀取預(yù)定數(shù)據(jù)的讀取模式(例如,第二實(shí)施例中的循環(huán)模式),從而,可將隨后的參照數(shù)據(jù)連續(xù)地寫進(jìn)虛擬最小兩維存儲(chǔ)器空間,其中,業(yè)已在估算運(yùn)動(dòng)矢量時(shí)讀取了數(shù)據(jù),或者,通過將數(shù)據(jù)的讀取地址修改成虛擬最小兩維存儲(chǔ)器空間中的預(yù)定地址而讀取數(shù)據(jù),其中,依照讀取地址、是如權(quán)利要求1的橫向或縱向方向的數(shù)據(jù)讀取方向或數(shù)據(jù)讀取方式和如權(quán)利要求3的讀取模式,如果數(shù)據(jù)跨越了兩維存儲(chǔ)器空間的邊緣(例如圖15的兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界),則寫入后續(xù)的參照數(shù)據(jù)。
依照權(quán)利要求5的發(fā)明,提供了使用存儲(chǔ)器的方法,其中,將估算移動(dòng)畫面的運(yùn)動(dòng)矢量時(shí)的參照數(shù)據(jù)(例如圖31的參照系)的一部分存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi),并且,當(dāng)讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí),還指定在估算運(yùn)動(dòng)矢量時(shí)預(yù)定數(shù)據(jù)的讀取模式(例如,第二實(shí)施例中的填充模式),從而,依照讀取地址、是如權(quán)利要求1的橫向或縱向方向的數(shù)據(jù)讀取方向或數(shù)據(jù)讀取方式和如權(quán)利要求3的讀取模式,如果數(shù)據(jù)跨越了參照數(shù)據(jù)現(xiàn)有范圍的邊緣(例如圖18的圖像邊界),則通過將不包含在參照數(shù)據(jù)現(xiàn)有范圍(例如其中有圖18參照系的數(shù)據(jù)的范圍)內(nèi)的數(shù)據(jù)讀取地址修改成位于參照數(shù)據(jù)現(xiàn)有范圍的邊緣處的預(yù)定數(shù)據(jù)的地址而讀取數(shù)據(jù)。
利用依照權(quán)利要求1至5的發(fā)明的結(jié)構(gòu),可更有效地進(jìn)行SIMD操作。
還有,利用依照權(quán)利要求3至5的發(fā)明的結(jié)構(gòu),可更有效地進(jìn)行用于估算移動(dòng)畫面運(yùn)動(dòng)矢量的處理過程。
為了達(dá)到本發(fā)明的第二目的,依照權(quán)利要求6的發(fā)明,提供了一種具有n個(gè)物理存儲(chǔ)器的兩維數(shù)據(jù)存取存儲(chǔ)器,它包含兩維存儲(chǔ)器空間,該空間由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成,分別按某種規(guī)則預(yù)先分配虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址,所述兩維數(shù)據(jù)存取存儲(chǔ)器包括一讀取數(shù)據(jù)控制部,它用于指定虛擬最小兩維存儲(chǔ)器空間中的存取位置、根據(jù)用于從指定存取位置讀取數(shù)據(jù)的讀取方向和用于指定方式的讀取存取模式重新排列從n個(gè)物理存儲(chǔ)器中讀出的數(shù)據(jù),并在讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí)以集合的方式輸出重新排列了的讀出數(shù)據(jù);以及,一讀取地址控制部,它用于將指定的讀取地址修改成預(yù)定的地址并根據(jù)指定的讀取存取模式和指定的存取位置或者在當(dāng)指定讀取地址時(shí)存取空間于相鄰虛擬最小兩維存儲(chǔ)器空間上延伸的情況下根據(jù)指定的讀取模式將其輸出給上述n個(gè)存儲(chǔ)器。
依照權(quán)利要求7的發(fā)明,提供了如權(quán)利要求6的兩維數(shù)據(jù)存取存儲(chǔ)器,其中,讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí),如果存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展,則根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
依照權(quán)利要求8的發(fā)明,提供了如權(quán)利要求6的兩維數(shù)據(jù)存取存儲(chǔ)器,其中,所述讀取數(shù)據(jù)控制部根據(jù)用于指定估算運(yùn)動(dòng)矢量時(shí)數(shù)據(jù)讀取模式的可選模式(例如第二實(shí)施例中的循環(huán)模式或填充模式)還有指定的讀取存取模式和指定的存取位置重新排列從n個(gè)物理存儲(chǔ)器中讀出的數(shù)據(jù),并以集合的方式輸出重新排列的讀出數(shù)據(jù),而且,所述讀取地址控制部將指定的讀取地址修改成預(yù)定的地址,以便根據(jù)指定的讀取存取模式和指定的存取位置或在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)指定的讀取存取模式或在指定讀取地址時(shí)存取空間跨越兩維存儲(chǔ)器空間的邊緣(例如圖15的兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界)的情況下根據(jù)指定的讀取存取模式將上述預(yù)定地址輸出給n個(gè)物理存儲(chǔ)器。
依照權(quán)利要求9的發(fā)明,提供了如權(quán)利要求8的兩維數(shù)據(jù)存取存儲(chǔ)器,其中,所述讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式和指定的可選模式(例如第二實(shí)施例中的循環(huán)模式)選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí)于存取空間跨越兩維存儲(chǔ)器空間的邊緣(例如圖15的兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界)的情況下根據(jù)讀取存取模式和可選模式校正各個(gè)n個(gè)物理存儲(chǔ)器中的高地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
依照權(quán)利要求10的發(fā)明,提供了如權(quán)利要求8的兩維數(shù)據(jù)存取存儲(chǔ)器,其中,所述讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式和指定的可選模式(例如第二實(shí)施例中的填充模式)選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí)于存取空間跨越存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi)的數(shù)據(jù)的現(xiàn)有范圍的邊緣的情況下根據(jù)讀取存取模式和可選模式校正各個(gè)n個(gè)物理存儲(chǔ)器中的高地址和低地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
依照權(quán)利要求11的發(fā)明,提供了如權(quán)利要求6或權(quán)利要求7的兩維數(shù)據(jù)存取存儲(chǔ)器,該存儲(chǔ)器還包括一寫入數(shù)據(jù)控制部,它用于指定虛擬最小兩維存儲(chǔ)器空間中的存取空間、根據(jù)指定從指定存取位置開始數(shù)據(jù)寫入方向的寫入存取模式重新排列寫進(jìn)n個(gè)物理存儲(chǔ)器的數(shù)據(jù)并在寫入數(shù)據(jù)時(shí)以集合的方式將重新排列的寫入數(shù)據(jù)提供給n個(gè)物理存儲(chǔ)器;以及,一寫入地址控制部,它用于將指定的寫入地址修改成預(yù)定的地址以便根據(jù)指定的寫入存取模式和指定的存取位置或在指定寫入地址時(shí)于存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)指定的寫入存取模式將上述寫入地址輸出給n個(gè)物理存儲(chǔ)器中的每一個(gè)。
還有,依照權(quán)利要求12的發(fā)明,提供了如權(quán)利要求5的兩維數(shù)據(jù)存取存儲(chǔ)器,其中,所述寫入數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的寫入地址而指定的寫入存取位置以及在寫入數(shù)據(jù)時(shí)根據(jù)指定的寫入存取模式選擇寫入n個(gè)物理存儲(chǔ)器中的數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于選擇寫入n個(gè)物理存儲(chǔ)器中的各個(gè)數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)寫入存取模式和寫入地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的寫入地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在指定寫入地址時(shí)于存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的寫入地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將寫入地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正寫入地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
利用依照如權(quán)利要求6至10的發(fā)明的結(jié)構(gòu),可從物理存儲(chǔ)器中同時(shí)讀出兩維存儲(chǔ)器空間內(nèi)相對(duì)指定位置沿橫向或縱向方向排列的連續(xù)數(shù)據(jù),從而使SIMD操作更有效。
利用依照如權(quán)利要求11和12的發(fā)明的結(jié)構(gòu),可從物理存儲(chǔ)器中同時(shí)讀出兩維存儲(chǔ)器空間內(nèi)相對(duì)指定位置沿橫向或縱向方向排列的連續(xù)數(shù)據(jù),并且,可將上述連續(xù)數(shù)據(jù)同時(shí)寫進(jìn)物理存儲(chǔ)器,因此,可使上述數(shù)據(jù)在兩維存儲(chǔ)器空間內(nèi)相對(duì)指定位置沿橫向或縱向方向排列,從而使SIMD操作更有效。
利用依照如權(quán)利要求8至10的發(fā)明的結(jié)構(gòu),可更有效地執(zhí)行用于估算移動(dòng)畫面的運(yùn)動(dòng)矢量的處理過程。
此外,為了達(dá)到本發(fā)明的第三個(gè)目的,依照權(quán)利要求13的發(fā)明,提供了一種操作處理設(shè)備,該設(shè)備包括如權(quán)利要求6、權(quán)利要求7、權(quán)利要求11或權(quán)利要求12中任何一個(gè)的兩維數(shù)據(jù)存取存儲(chǔ)器;以及,一SIMD式處理器,它用于通過根據(jù)預(yù)定的計(jì)算操作和存取模式指定兩維數(shù)據(jù)存取存儲(chǔ)器中的地址而執(zhí)行SIMD處理并從上述兩維數(shù)據(jù)存取存儲(chǔ)器中讀取預(yù)定的數(shù)據(jù)。
依照權(quán)利要求14的發(fā)明,提供了如權(quán)利要求13的操作處理設(shè)備,其中,所述預(yù)定的操作是兩維離散余弦變換。
此外,依照權(quán)利要求15的發(fā)明,提供了一種操作處理設(shè)備,該設(shè)備還包括如權(quán)利要求8至10中任何一個(gè)的兩維數(shù)據(jù)存取存儲(chǔ)器;以及,一SIMD式處理器,它用于通過根據(jù)預(yù)定的計(jì)算操作和存取模式及可選模式指定兩維數(shù)據(jù)存取存儲(chǔ)器中的地址而執(zhí)行SIMD處理并從上述兩維數(shù)據(jù)存取存儲(chǔ)器中讀取預(yù)定的數(shù)據(jù)。
再有,依照權(quán)利要求16的發(fā)明,提供了如權(quán)利要求15的操作處理設(shè)備,其中,所述預(yù)定的操作是這樣的操作處理,它涉及估算移動(dòng)畫面的運(yùn)動(dòng)矢量。
利用權(quán)利要求13和權(quán)利要求16的發(fā)明的結(jié)構(gòu),通過使用所述兩維數(shù)據(jù)存取存儲(chǔ)器可有效地執(zhí)行SIMD操作。
附圖簡(jiǎn)述圖1是示出了虛擬最小兩維存儲(chǔ)器空間的一個(gè)實(shí)例的圖;圖2是示出了如何將虛擬最小兩維存儲(chǔ)器空間映射進(jìn)物理存儲(chǔ)器的圖;圖3是示出了根據(jù)上述虛擬最小兩維存儲(chǔ)器空間形成的兩維存儲(chǔ)器空間的一個(gè)實(shí)例的圖;圖4是用于說明存取模式的圖;圖5是示出了本發(fā)明第一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器的結(jié)構(gòu)的框圖;圖6是示出了圖5所示的讀取地址控制部和讀取數(shù)據(jù)控制部的結(jié)構(gòu)的框圖;圖7是示出了圖5所示的寫入地址控制部和寫入數(shù)據(jù)控制部的結(jié)構(gòu)的框圖;圖8是示出了各選擇器根據(jù)讀取地址和讀取存取模式選擇哪個(gè)存儲(chǔ)器輸出的圖;圖9是示出了讀取地址變換實(shí)例的圖;圖10是示出了讀取地址校正實(shí)例的圖;圖11是示出了本發(fā)明第一實(shí)施例的操作處理設(shè)備的結(jié)構(gòu)的框圖;圖12是示出了圖11所示的兩維數(shù)據(jù)存取存儲(chǔ)器的操作實(shí)例(寫入實(shí)例)的圖;圖13是示出了兩維數(shù)據(jù)存取存儲(chǔ)器的另一個(gè)操作實(shí)例的圖;圖14是示出了兩維數(shù)據(jù)存取存儲(chǔ)器的又一個(gè)操作實(shí)例的圖;圖15是示出了在經(jīng)過兩維存儲(chǔ)器空間3的存儲(chǔ)區(qū)時(shí)循環(huán)模式中涉及的地址的圖;圖16是示出了循環(huán)模式中操作實(shí)例的圖;圖17是示出了用于在循環(huán)模式下估算運(yùn)動(dòng)矢量的過程;圖18是示出了這樣的狀態(tài)的圖,在該狀態(tài)中,兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界與填充模式下參照系的圖像邊界相一致;圖19是示出了交錯(cuò)模式下數(shù)據(jù)讀取模式的一個(gè)實(shí)例的圖;圖20是示出了交錯(cuò)模式下數(shù)據(jù)讀取順序的圖;圖21是執(zhí)行塊匹配的數(shù)量與用于累積余數(shù)的閾值之間關(guān)系的曲線圖;圖22是示出了本發(fā)明第二實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器的結(jié)構(gòu)的框圖;圖23是示出了讀取地址控制部111和讀取數(shù)據(jù)控制部112的詳細(xì)結(jié)構(gòu)的圖;圖24是示出了地址校正值的圖,所說的值在循環(huán)模式下指定行方向存取模式時(shí)用于高第三和隨后的位;圖25是示出了地址校正值的圖,所說的值在循環(huán)模式下指定列方向存取模式和列方向兩級(jí)存取模式時(shí)用于高第三和隨后的位;圖26是示出了各選擇器在填充模式下選擇哪個(gè)存儲(chǔ)器輸出的圖;圖27是示出了各選擇器在交錯(cuò)模式下選擇哪個(gè)存儲(chǔ)器輸出的圖;圖28是示出了交錯(cuò)模式下存儲(chǔ)器4A至4D中用于低兩位的地址a0、a1的圖;圖29是示出了本發(fā)明第二實(shí)施例的操作處理設(shè)備的結(jié)構(gòu)的圖;圖30是示出了本發(fā)明第二實(shí)施例的操作處理設(shè)備中運(yùn)動(dòng)矢量估算過程的操作的流程圖;圖31是示出了當(dāng)前坐標(biāo)系和參照系與檢索對(duì)象范圍及在檢索對(duì)象范圍內(nèi)存儲(chǔ)在兩維數(shù)據(jù)存取存儲(chǔ)器100中的區(qū)域的關(guān)系的圖;圖32是示出了在將地址信號(hào)的最高有效位分配成存取模式或可選模式時(shí)的數(shù)據(jù)結(jié)構(gòu)實(shí)例的圖;圖33是示出了在如圖32所示那樣分配信號(hào)時(shí)的讀取地址控制部和讀取數(shù)據(jù)控制部的結(jié)構(gòu)實(shí)例的框圖。
優(yōu)選實(shí)施例的詳細(xì)描述(第一實(shí)施例)以下參照
本發(fā)明的使用存儲(chǔ)器的方法的第一實(shí)施例。利用這一實(shí)施例的使用存儲(chǔ)器的方法,如圖1所示那樣限定虛擬最小兩維存儲(chǔ)器空間1,以下首先對(duì)虛擬最小兩維存儲(chǔ)器空間1進(jìn)行說明。
虛擬最小兩維存儲(chǔ)器空間1具有四個(gè)由最小單元構(gòu)成的虛擬存儲(chǔ)部件2,所述最小單元能存儲(chǔ)一個(gè)字節(jié)(8位),而虛擬存儲(chǔ)部件2則按縱向和橫向之一排列,或者,虛擬最小兩維存儲(chǔ)器空間1具有總共16個(gè)虛擬存儲(chǔ)部件2,如圖1所示。因此,在本例中,虛擬最小兩維存儲(chǔ)器空間1由4字節(jié)×4字節(jié)=16字節(jié)構(gòu)成。除如上所述的16字節(jié)以外,虛擬最小兩維存儲(chǔ)器空間1的長(zhǎng)度還可以是8字節(jié)×8字節(jié)=64字節(jié)。
虛擬最小兩維存儲(chǔ)器空間1在物理上映射進(jìn)四個(gè)物理存儲(chǔ)器4A至4D,如圖2所示。也就是說,一個(gè)虛擬最小兩維存儲(chǔ)器空間1對(duì)應(yīng)于四個(gè)物理存儲(chǔ)器4A至4D中的始于同一地址的四字節(jié)連續(xù)區(qū)域。具體地說,例如,如圖1所示的虛擬最小兩維存儲(chǔ)器空間1中的每個(gè)地址an(0)、bn(0)、cn(0)、dn(0)……均被重新分配給物理存儲(chǔ)器4A至4D中的預(yù)定地地an(0)、bn(0)、cn(0)、dn(0)……。
利用這一實(shí)施例的使用存儲(chǔ)器的方法,提供了兩維存儲(chǔ)器空間3,如圖3所示,以下對(duì)兩維存儲(chǔ)器空間3進(jìn)行說明。
兩維存儲(chǔ)器空間3具有虛擬最小兩維存儲(chǔ)器空間1,它沿橫向和縱向方向以類似鋪瓷磚的方式排列,如圖3所示。在這種兩種存儲(chǔ)器空間3中,只要是2的冪,就可以按需設(shè)定沿橫向方向排列虛擬最小兩維存儲(chǔ)器空間1的數(shù)量,在圖3的實(shí)例中,該數(shù)量是16字節(jié)×n字節(jié)。
以下參照?qǐng)D1至4說明上述實(shí)施例的使用存儲(chǔ)器的方法。
首先,提供了兩維存儲(chǔ)器空間3,其中,圖1所示的虛擬最小兩維存儲(chǔ)器空間1沿橫向和縱向方向以類似鋪瓷磚的方式排列,如圖3所示。
一方面,虛擬最小兩維存儲(chǔ)器空間1的各個(gè)地址預(yù)先分配給(關(guān)聯(lián)于)四個(gè)物理存儲(chǔ)器4A至4D的每一個(gè)存儲(chǔ)器中的預(yù)定地址,該預(yù)定地址是按與虛擬最小兩維存儲(chǔ)器空間1(見圖1和2)的長(zhǎng)度有關(guān)系的方式確定的。
以下說明從物理存儲(chǔ)器4A至4D中的讀取操作以便從虛擬最小兩維存儲(chǔ)器空間1內(nèi)的任何地址處讀出連續(xù)的數(shù)據(jù)。
在這種情況下,要指定任何的讀取地址以及用于指定數(shù)據(jù)讀取方向的讀取存取模式。
所述讀取存取模式包括行方向存取模式、列方向存取模式以及行方向兩級(jí)存取模式。
行方向存取模式包括從虛擬最小兩維存儲(chǔ)器空間1的任何讀取地址處沿行方向(橫向方向)讀出數(shù)據(jù),諸如8位×4、16位×2、32位×1,如圖4中M1所示,其中,可以認(rèn)為有16種存取方式。
列方向存取模式包括從虛擬最小兩維存儲(chǔ)器空間1的任何讀取地址處沿列方向(縱向方向)讀出數(shù)據(jù),諸如8位×4,如圖4中M2所示,其中,可以認(rèn)為有16種存取方式。
行方向兩級(jí)存取模式包括從虛擬最小兩維存儲(chǔ)器空間1的任何讀取地址處沿行方向按兩級(jí)讀出數(shù)據(jù),諸如16位×2,如圖4中M3所示,其中,可以認(rèn)為有8種存取方式。在這種模式下,存取僅限于沿行方向的兩字節(jié)單元。
通過這種方式,如果指定虛擬最小兩維存儲(chǔ)器空間1中的任何地址并且指定讀取存取模式,則根據(jù)指定的讀取地址和指定的讀取存取模式來指定各物理存儲(chǔ)器4A至4D中的各相應(yīng)地址,從而,可讀出數(shù)據(jù)并同時(shí)輸出讀出的數(shù)據(jù)。
例如,如果在虛擬最小兩維存儲(chǔ)器空間1中指定地址Cn(0)并且如圖4中M3所示那樣指定行方向兩級(jí)存取模式,則在存儲(chǔ)器4A中指定地址an(1)、在存儲(chǔ)器4B中指定地址bn(1)、在存儲(chǔ)器4C中指定地址cn(0)、在存儲(chǔ)器4D中指定地址dn(0),從而,可同時(shí)讀出各個(gè)數(shù)據(jù)。
以下說明在同時(shí)將數(shù)據(jù)寫至虛擬最小兩維存儲(chǔ)器空間1的任何地址時(shí)寫進(jìn)物理存儲(chǔ)器4A至4D的操作。
在這種情況下,指定任何的寫地址,并且,指定用于指定數(shù)據(jù)寫入方向的寫入存取模式。因此,根據(jù)指定的寫入地址和指定的寫入存取模式來指定各物理存儲(chǔ)器4A至4D中的各相應(yīng)地址,從而,可寫入數(shù)據(jù)并同時(shí)將寫數(shù)據(jù)寫入到各地址處。
例如,如果在虛擬最小兩維存儲(chǔ)器空間1中指定地址Cn(0)并且如圖4中M3所示那樣指定行方向兩級(jí)存取模式,則在存儲(chǔ)器4A中指定地址an(1)、在存儲(chǔ)器4B中指定地址bn(1)、在存儲(chǔ)器4C中指定地址cn(0)、在存儲(chǔ)器4D中指定地址dn(0),從而,可寫入數(shù)據(jù)并同時(shí)寫入各個(gè)數(shù)據(jù)。
如上所述,利用上述實(shí)施例的使用存儲(chǔ)器的方法,如果指定兩維存儲(chǔ)器3中任何的存取位置以及存取模式,則可根據(jù)指定的存取位置和指定的存取模式同時(shí)從各物理存儲(chǔ)器4A至4D中讀出相對(duì)兩維存儲(chǔ)器空間3中的任何存取位置沿橫向或縱向方向的連續(xù)數(shù)據(jù)或者同時(shí)將該數(shù)據(jù)寫進(jìn)各物理存儲(chǔ)器4A至4D。所以,上述實(shí)施例的使用存儲(chǔ)器的方法使得SIMD有較高的效率。
以下參照?qǐng)D5至7說明本發(fā)明的兩維數(shù)據(jù)存取存儲(chǔ)器的結(jié)構(gòu)。
上述實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器10實(shí)現(xiàn)了上述實(shí)施例的使用存儲(chǔ)器的方法。如圖5所示,存儲(chǔ)器10包括存儲(chǔ)器4A至4D、讀取地址控制部11、讀取數(shù)據(jù)控制部12、寫入地址控制部13以及寫入數(shù)據(jù)控制部14。讀取地址控制部11和讀取數(shù)據(jù)控制部12構(gòu)成了數(shù)據(jù)讀取系統(tǒng),寫入地址控制部13和寫入數(shù)據(jù)控制部14構(gòu)成了數(shù)據(jù)寫入系統(tǒng),其中,這兩個(gè)系統(tǒng)共享存儲(chǔ)器4A至4D。
提供有兩維存儲(chǔ)器空間3,其中,圖1所示的虛擬最小兩維存儲(chǔ)器空間1按圖3所示的縱向和橫向排列,虛擬最小兩維存儲(chǔ)器空間1中的每個(gè)地址均按某種規(guī)則分配給各物理存儲(chǔ)器4A至4D中的預(yù)定地址,如圖2所示。
讀取地址控制部11根據(jù)指定的讀取存取模式將讀取地址的預(yù)定部分轉(zhuǎn)換成預(yù)定值以便將其輸出給各物理存儲(chǔ)器4A至4D,或者在指定讀取地址時(shí)于存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1(見圖3和4)上擴(kuò)展的情況下根據(jù)指定的讀取存取模式校正讀取地址的其它部分,以便將其輸出給存儲(chǔ)器4A至4D。
讀取數(shù)據(jù)控制部12根據(jù)讀取地址的一部分指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取地址和指定的讀取存取模式重新排列從存儲(chǔ)器4A至4D讀出的數(shù)據(jù),以便同時(shí)輸出重新排列的讀出數(shù)據(jù)。
寫入地址控制部13根據(jù)指定的寫入存取模式將寫入地址的預(yù)定部分轉(zhuǎn)換成預(yù)定值以便將其輸出給物理存儲(chǔ)器4A至4D,或者在指定寫入地址時(shí)于存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1上擴(kuò)展的情況下根據(jù)指定的寫入存取模式校正寫入地址的其它部分,以便將其輸出給存儲(chǔ)器4A至4D。
寫入數(shù)據(jù)控制部14根據(jù)寫入地址的一部分指定虛擬最小兩維存儲(chǔ)器空間1中的寫入地址并在將數(shù)據(jù)寫入存儲(chǔ)器4A至4D時(shí)根據(jù)指定的寫入地址和指定的寫入存取模式重新排列寫入存儲(chǔ)器4A至4D的數(shù)據(jù),以便同時(shí)將重新排列的寫入數(shù)據(jù)寫進(jìn)各存儲(chǔ)器4A至4D中各指定的地址。
以下參照?qǐng)D6說明圖5所示的讀取地址控制部11和讀取數(shù)據(jù)控制部12的詳細(xì)結(jié)構(gòu)。
讀取地址控制部11包括一地址控制器21以及四個(gè)地址校正部22A至22D,如圖6所示。
地址控制器21將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,以便根據(jù)指定的讀取地址A0、A1、A4、A5和指定的讀取存取模式將與各存儲(chǔ)器4A至4D中低兩位的地址a0、a1相對(duì)應(yīng)的讀取地址A4、A5轉(zhuǎn)換成預(yù)定值,或者將校正信號(hào)輸出給地址校正部22A至22D,以便在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1上擴(kuò)展的情況下根據(jù)指定的讀取存取模式將與各存儲(chǔ)器4A至4D中高五位地址a2至a7相對(duì)應(yīng)的讀取地址A2、A3、A6至A9校正成預(yù)定值。
這里,讀取地址“A0、A1”表示虛擬最小兩維存儲(chǔ)器空間1的行方向(橫向方向)上的地址,它與存儲(chǔ)器4A至4D中的低地址a0、a1相對(duì)應(yīng)。還有,讀取地址“A4、A5”表示虛擬最小兩維存儲(chǔ)器空間1的列方向(縱向方向)上的地址。此外,讀取地址“A2、A3、A6至A9”表示兩維存儲(chǔ)器空間3的地址,它與存儲(chǔ)器4A至4D中的地址a2至a7相對(duì)應(yīng)。
地址校正部22A至22D設(shè)置成與存儲(chǔ)器4A至4D相對(duì)應(yīng)并根據(jù)來自地址控制器21的地址轉(zhuǎn)換信號(hào)將讀取地址A4、A5轉(zhuǎn)換成預(yù)定值以便將其作為低位地址a0、a1輸出給各存儲(chǔ)器4A至4D且根據(jù)來自地址控制器21的校正信號(hào)按預(yù)定的值校正讀取地址A2、A3、A6至A9,以便將其作為高五位地址a2至a7輸出給各存儲(chǔ)器4A至4D。
讀取數(shù)據(jù)控制部12包括一數(shù)據(jù)控制器23和四個(gè)選擇器24A至24D,如圖6所示。
數(shù)據(jù)控制器23在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并根據(jù)用于指定數(shù)據(jù)相對(duì)指定的讀取地址的讀取方向的讀取存取模式將用于使選擇器24A至24D選擇存儲(chǔ)器4A至4D中的讀取數(shù)據(jù)的選擇信號(hào)輸出給選擇器24A至24D。
選擇器24A至24D設(shè)置成與存儲(chǔ)器4A至4D相對(duì)應(yīng)并根據(jù)來自數(shù)據(jù)控制器23的選擇信號(hào)從存儲(chǔ)器4A至4D中選擇輸出線路上的讀取數(shù)據(jù)且同時(shí)將其輸出(取出)。
以下參照?qǐng)D7說明圖5所示的寫入地址控制部13和寫入數(shù)據(jù)控制部14的詳細(xì)結(jié)構(gòu)。
寫入地址控制部13包括一地址控制器31以及四個(gè)地址校正部32A至32D,如圖7所示。
地址控制器31將地址轉(zhuǎn)換信號(hào)輸出給地址校正部32A至32D,以便根據(jù)指定的寫入地址A0、A1、A4、A5和指定的寫入存取模式將與各存儲(chǔ)器4A至4D中低兩位的地址a0、a1相對(duì)應(yīng)的寫入地址A4、A5轉(zhuǎn)換成預(yù)定值,或者將地址校正信號(hào)輸出給地址校正部32A至32D,以便在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1上擴(kuò)展的情況下根據(jù)指定的寫入存取模式將與各存儲(chǔ)器4A至4D中高五位地址a2至a7相對(duì)應(yīng)的寫入地址A2、A3、A6至A9校正成預(yù)定值。
這里,寫入存取模式基本上與讀取存取模式相同并且由三種存取模式構(gòu)成。
地址校正部32A至32D設(shè)置成與存儲(chǔ)器4A至4D相對(duì)應(yīng)并根據(jù)來自地址控制器31的地址轉(zhuǎn)換信號(hào)將寫入地址A4、A5轉(zhuǎn)換成預(yù)定值以便將其作為低位地址a0、a1輸出給各存儲(chǔ)器4A至4D且根據(jù)來自地址控制器31的校正信號(hào)將地址A2、A3、A6至A9校正成預(yù)定的值,以便將其作為高五位地址a2至a7輸出給各存儲(chǔ)器4A至4D。
寫入數(shù)據(jù)控制部14包括一數(shù)據(jù)控制器33和四個(gè)選擇器34A至34D,如圖7所示。
數(shù)據(jù)控制器33在寫入數(shù)據(jù)時(shí)根據(jù)指定的寫入地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的寫入地址并根據(jù)用于指定數(shù)據(jù)相對(duì)指定的寫入地址的寫入方向的寫入存取模式將用于使選擇器34A至34D選擇存儲(chǔ)器4A至4D中的寫入數(shù)據(jù)的選擇信號(hào)輸出給選擇器34A至34D。
選擇器34A至34D設(shè)置成與存儲(chǔ)器4A至4D相對(duì)應(yīng)并同時(shí)根據(jù)來自數(shù)據(jù)控制器33的選擇信號(hào)以八位單位從各存儲(chǔ)器4A至4D中的各指定地址之外選擇寫入數(shù)據(jù)(例如32位)且同時(shí)將其輸出(取出)。
以下參照?qǐng)D8至10說明上述實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器的操作。
首先,說明對(duì)數(shù)據(jù)的讀取操作。在這種情況下,需要用地址控制器21和地址校正部22A至22D控制讀取地址并用數(shù)據(jù)控制器23和選擇器24A至24D控制讀取的數(shù)據(jù),首先說明數(shù)據(jù)控制器23。
圖6所示的數(shù)據(jù)控制器23在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取地址A0、A1、A4、A5與指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并根據(jù)用于使選擇器24A至24D按讀取存取模式選擇存儲(chǔ)器4A至4D的選擇信號(hào)輸出給選擇器24A至24D。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“00”和“00”并且將行方向存取模式(00)指定為讀取存取模式時(shí),選擇器24A選擇存儲(chǔ)器4A,選擇器24B選擇存儲(chǔ)器4B,選擇器24C選擇存儲(chǔ)器4C,選擇器24D選擇存儲(chǔ)器4D,如圖8中序號(hào)1所示。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“00”和“00”并且將列方向存取模式(01)指定為讀取存取模式時(shí),選擇器24A選擇存儲(chǔ)器4A,選擇器24B選擇存儲(chǔ)器4C,選擇器24C選擇存儲(chǔ)器4B,選擇器24D選擇存儲(chǔ)器4D,如圖8中序號(hào)17所示。
選擇器24A至24D在讀取數(shù)據(jù)時(shí)根據(jù)來自數(shù)據(jù)控制器23的信號(hào)將讀出數(shù)據(jù)輸出到各存儲(chǔ)器4A至4D中的輸出線路上。
例如,就圖8中序號(hào)1而言,對(duì)各存儲(chǔ)器4A至4D中輸出線路上的各數(shù)據(jù)(例如8位)來說,在讀取數(shù)據(jù)時(shí),選擇器24A輸出存儲(chǔ)器4A中的數(shù)據(jù),選擇器24B輸出存儲(chǔ)器4B中的數(shù)據(jù),選擇器24C輸出存儲(chǔ)器4C中的數(shù)據(jù)且選擇器24D同時(shí)輸出存儲(chǔ)器4D中的數(shù)據(jù)。就圖8中序號(hào)17而言,對(duì)各存儲(chǔ)器4A至4D中輸出線路上的各數(shù)據(jù)來說,在讀取數(shù)據(jù)時(shí),選擇器24A輸出存儲(chǔ)器4A中的數(shù)據(jù),選擇器24B輸出存儲(chǔ)器4C中的數(shù)據(jù),選擇器24C輸出存儲(chǔ)器4B中的數(shù)據(jù)且選擇器24D同時(shí)輸出存儲(chǔ)器4D中的數(shù)據(jù)。
一方面,地址控制器21將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,所述地址轉(zhuǎn)換信號(hào)用于根據(jù)指定的讀取地址A0、A1、A4、A5和指定的讀取存取模式將與各存儲(chǔ)器4A至4D中的低兩位地址a0、a1相對(duì)應(yīng)的讀取地址A4、A5轉(zhuǎn)換成預(yù)定的值。
例如,在將讀取存取模式指定為行方向存取模式時(shí),如果指定讀取地址“A4、A5”,則不轉(zhuǎn)換指定的讀取地址“A4、A5”,如圖9所示,因此,例如,在將讀取地址“A4、A5”指定為“00”,則將“00”輸出為用于存儲(chǔ)器4A至4D的各地址“a0、a1”。
相反,在將讀取存取模式指定為列方向存取模式或行方向兩級(jí)存取模式時(shí),如果指定了讀取地址“A4、A5”,就轉(zhuǎn)換指定的讀取地址“A4、A5”,如圖4所示。例如,在將讀取存取模式指定為列方向存取模式時(shí),就不轉(zhuǎn)換存儲(chǔ)器4A中的地址“a0、a1”,但是,如果將讀取地址“A4、A5”指定為“00”,則將存儲(chǔ)器4B、4C中的各地址分別轉(zhuǎn)換成“01”、“10”和“11”并進(jìn)行輸出。
此外,地址控制器21在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1(見圖3和4)上擴(kuò)展的情況下根據(jù)指定的讀取存取模式直接將指定的讀取地址A2、A3、A6至A9輸出為與各存儲(chǔ)器4A至4D中的高五位地址d2至d7相對(duì)應(yīng)的地址,或者輸出用于校正指定讀取地址A2、A3、A6至A9的校正信號(hào),以便將校正后的地址作為各存儲(chǔ)器4A至4D中的高五位地址d2至d7輸出給地址校正部22A至22D。
例如,在將讀取存取模式指定為行方向存取模式并且如圖10中序號(hào)2所示將讀取地址A0、A1、A4、A5指定為“1000”時(shí),地址控制部21就將用于使存儲(chǔ)器22A中的地址a2至a7加“+1”的校正信號(hào)輸出給地址校正部22A。因此,“+1”或“+4”是指存儲(chǔ)器22A中的地址加“+1”或“+4”,如圖10所示。
以下說明寫入數(shù)據(jù)的操作。在這種情況下,需要用地址控制器31和地址校正部32A至32D控制寫入地址并用數(shù)據(jù)控制器33和選擇器34A至34D控制讀取的數(shù)據(jù)。
但是,用地址控制器31和地址校正部32A至32D控制寫入地址的操作與地址控制器21和地址校正部22A至22D控制地址的操作幾乎一樣,故這里不予以說明。
數(shù)據(jù)控制器33在寫入數(shù)據(jù)時(shí)根據(jù)指定的寫入地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的寫入地址并根據(jù)用于指定相對(duì)指定的寫入地址的數(shù)據(jù)寫入方向的寫入存取模式將用于使選擇器34A至34D選擇存儲(chǔ)器4A至4D的選擇信號(hào)輸出給選擇器34A至34D。數(shù)據(jù)控制器33基本上與數(shù)據(jù)控制器23的操作相同。
選擇器34A至34D根據(jù)來自數(shù)據(jù)控制器33的選擇信號(hào)從外部選擇寫入數(shù)據(jù)并同時(shí)將其提供給各存儲(chǔ)器4A至4D中的各指定地址。
如上所述,利用這一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器,可以同時(shí)從物理存儲(chǔ)器4A至4D中讀出相對(duì)兩維存儲(chǔ)器空間內(nèi)指定位置沿橫向或縱向方向排列的連讀數(shù)據(jù),并且可同時(shí)將該數(shù)據(jù)寫進(jìn)物理存儲(chǔ)器4A至4D,因此,所述數(shù)據(jù)可相對(duì)兩維存儲(chǔ)器空間內(nèi)指定位置沿橫向或縱向方向排列,從而使SIMD操作更有效。
以下參照?qǐng)D11說明本發(fā)明操作處理設(shè)備的結(jié)構(gòu)。
這一實(shí)施例的操作處理設(shè)備能使SIMD式處理器41執(zhí)行兩維DCT(兩維離散余弦變換),以便應(yīng)用兩維數(shù)據(jù)存取存儲(chǔ)器10,如圖5至7所示。
為此目的,這種操作處理設(shè)備具有與SIMD式處理器41相連的兩維數(shù)據(jù)存取存儲(chǔ)器10以及外部I/F電路42,如圖11所示。
如以下將要說明的那樣,SIMD41可根據(jù)預(yù)定操作過程指定用于在兩維數(shù)據(jù)存取存儲(chǔ)器10中讀取或?qū)懭霐?shù)據(jù)的地址,并且能用命令程序來設(shè)置存取模式。還有,外部I/F電路41可將數(shù)據(jù)傳至外部或從外部接收數(shù)據(jù)。
以下說明本發(fā)明操作處理設(shè)備的操作實(shí)例。
首先,利用外部I/F電路42,將經(jīng)過兩維DCT的8×8象素?cái)?shù)據(jù)寫進(jìn)兩維數(shù)據(jù)存取存儲(chǔ)器10,如圖12所示。
SIMD式處理器41沿行方向執(zhí)行一維DCT。所以,SIMD式處理器41沿列方向按偶數(shù)行和奇數(shù)行中的一對(duì)象素?cái)?shù)據(jù)的方式讀取兩個(gè)象素?cái)?shù)據(jù),如圖12所示,并且,通過SIMD操作同時(shí)轉(zhuǎn)換兩行的一維DCT。
將沿行方向的一維DCT結(jié)果重新寫進(jìn)兩維數(shù)據(jù)存取存儲(chǔ)器10,如圖13所示。
此外,SIMD式處理器41沿列方向執(zhí)行一維DCT。在這種情況下,沿行方向按偶數(shù)列和奇數(shù)列中的一對(duì)象素?cái)?shù)據(jù)的方式讀取兩個(gè)象素?cái)?shù)據(jù),通過SIMD操作同時(shí)轉(zhuǎn)換兩列的一維DCT,并且,再次將其結(jié)果重新寫進(jìn)兩維數(shù)據(jù)存取存儲(chǔ)器10,如圖13所示。從而,在兩維數(shù)據(jù)存取存儲(chǔ)器10中獲得最后的兩維DCT的結(jié)果,如圖14所示。再次將這種結(jié)果通過外部I/F電路42輸出給外部。
如上所述,利用這一實(shí)施例的操作處理器設(shè)備,可通過使用這一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器而有效地執(zhí)行SIMD操作。(第二實(shí)施例)以下參照
本發(fā)明的第二實(shí)施例。
利用這一實(shí)施例的使用存儲(chǔ)器的方法,按與在第一實(shí)施例中相同的方式限定圖1所示的虛擬兩維存儲(chǔ)器空間1,并考慮圖3所示的兩維存儲(chǔ)器空間3。
以下說明這一實(shí)施例的使用存儲(chǔ)器的方法。
首先,考慮兩維存儲(chǔ)器空間3,其中,圖1所示的虛擬最小兩維存儲(chǔ)器空間1沿橫向和縱向方向以類似鋪瓷磚的方式排列,如圖3所示。
一方面,虛擬最小兩維存儲(chǔ)器空間1的各個(gè)地址預(yù)先分配給(關(guān)聯(lián)于)四個(gè)物理存儲(chǔ)器4A至4D的每一個(gè)存儲(chǔ)器中的預(yù)定地址,該預(yù)定地址是按與虛擬最小兩維存儲(chǔ)器空間1(見圖1和2)的長(zhǎng)度有關(guān)系的方式確定的。
以下說明在從虛擬最小兩維存儲(chǔ)器空間1內(nèi)的任何地址處讀出連續(xù)或預(yù)定不連續(xù)的數(shù)據(jù)時(shí)從物理存儲(chǔ)器4A至4D中的讀取操作。
在這種情況下,要指定任何的讀取地址以及用于指定數(shù)據(jù)讀取方向的讀取存取模式。所述讀取存取模式包括行方向存取模式、列方向存取模式以及行方向兩級(jí)存取模式,它們與在第一實(shí)施例中的相同,此外,所述讀取存取模式還包括交錯(cuò)模式。
而且,這一實(shí)施例中的使用存儲(chǔ)器的方法提供了可選模式,它用于指示在估算移動(dòng)畫內(nèi)的運(yùn)動(dòng)矢量時(shí)使用存儲(chǔ)器的方法。
可選模式包括循環(huán)模式和填充模式。
以下說明各種可選模式和交錯(cuò)模式。
如圖15所示,當(dāng)在估算運(yùn)動(dòng)矢量過程中數(shù)據(jù)涉及到在兩維存儲(chǔ)器空間3的存儲(chǔ)區(qū)上擴(kuò)展時(shí),循環(huán)模式允許有效地估算運(yùn)動(dòng)矢量。
也就是說,在估算運(yùn)動(dòng)矢量時(shí),當(dāng)前坐標(biāo)系和暫時(shí)相鄰的參照系的某個(gè)區(qū)域(見圖16)存儲(chǔ)在兩維存儲(chǔ)器空間3內(nèi)。從存儲(chǔ)在兩維存儲(chǔ)器空間3內(nèi)的數(shù)據(jù)中對(duì)屬于當(dāng)前坐標(biāo)看中通知的塊的有最少錯(cuò)誤的塊(最接近的塊)進(jìn)行檢索(塊匹配)。這時(shí),在循環(huán)模式中,在如以下將予以說明那樣兩維存儲(chǔ)器空間3的業(yè)已被按一定的時(shí)間檢索的區(qū)域中重寫行方向上與當(dāng)前存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi)的參照系的數(shù)據(jù)相連續(xù)的數(shù)據(jù)即與兩維存儲(chǔ)器空間3的存儲(chǔ)區(qū)的右側(cè)相鄰的數(shù)據(jù)。也就是說,就所涉及到數(shù)據(jù)而言,在兩維存儲(chǔ)器空間3中,循環(huán)地存儲(chǔ)行方向上的相對(duì)參照系中兩維存儲(chǔ)器空間3的存儲(chǔ)區(qū)連續(xù)的數(shù)據(jù)。
當(dāng)被檢索的區(qū)域(塊)在兩維存儲(chǔ)器空間3中連續(xù)移動(dòng)并且涉及到在兩維存儲(chǔ)器空間3中存儲(chǔ)區(qū)的邊界上經(jīng)過的數(shù)據(jù)時(shí),如果所涉及的數(shù)據(jù)超出兩維存儲(chǔ)器空間3中存儲(chǔ)區(qū)的邊界(右端),則校正所涉及的數(shù)據(jù)的地址,并且,在估算運(yùn)動(dòng)矢量涉及重寫進(jìn)兩維存儲(chǔ)器空間3內(nèi)的預(yù)定地址處的數(shù)據(jù)(循環(huán)存儲(chǔ)的預(yù)定數(shù)據(jù))。因此,在循環(huán)模式中,用戶不需要知道被檢索的區(qū)域是否經(jīng)過兩維存儲(chǔ)器空間3的邊界,從而可有效地估算出運(yùn)動(dòng)矢量。
以下說明在循環(huán)模式下估算運(yùn)動(dòng)矢量的方法。
圖17是示出了用于在循環(huán)模式下估算運(yùn)動(dòng)矢量的過程的流程圖。
在圖17中,如果指定循環(huán)模式并且開始運(yùn)動(dòng)矢量估算,則創(chuàng)建參照看中的被檢索區(qū),并且,初始化虛擬最小兩維存儲(chǔ)器空間3中的數(shù)據(jù)的讀取地址(步驟S10)。
然后,通過引用來自預(yù)定地址的讀取數(shù)據(jù)而進(jìn)行塊匹配(步驟S20),并且,判斷對(duì)所有被檢索區(qū)域的塊匹配是否結(jié)束(步驟S30)。
在步驟S30中,如果對(duì)所有被檢索區(qū)域的塊匹配未結(jié)束,則判斷對(duì)虛擬最小兩維存儲(chǔ)器空間1中的所有數(shù)據(jù)的塊匹配是否結(jié)束(步驟S40)。
在步驟S40中,如果對(duì)虛擬最小兩維存儲(chǔ)器空間1中的所有數(shù)據(jù)的塊匹配未結(jié)束,則更新虛擬最小兩維存儲(chǔ)器空間1中的讀取地址(步驟S50),因?yàn)?,不存在有?duì)未經(jīng)處理數(shù)據(jù)的塊匹配,然后,處理過程返回步驟S20。
另一方面,在步驟S40中,如果對(duì)虛擬最小兩維存儲(chǔ)器空間1中的所有數(shù)據(jù)的塊匹配結(jié)束,則重寫新的參照數(shù)據(jù)(例如在參照系中相鄰的行方向數(shù)據(jù))(步驟S60),因?yàn)椋瑢?duì)虛擬最小兩維存儲(chǔ)器空間1的塊匹配已結(jié)束(即已處理),然后,處理過程返回步驟S50。
在步驟S30中,如果對(duì)所有被檢索區(qū)域的塊匹配結(jié)束,則運(yùn)動(dòng)矢量估算結(jié)束。
以下說明填充模式。
如圖18所示,在兩維存儲(chǔ)器空間3中存儲(chǔ)區(qū)的邊界與估算運(yùn)動(dòng)矢量過程中的參照系的圖像邊界(例如圖像的右端或下端)相重合時(shí),填充模式是要適當(dāng)?shù)毓浪氵\(yùn)動(dòng)矢量。
在估算運(yùn)動(dòng)矢量時(shí),被檢索區(qū)(塊)在兩維存儲(chǔ)器空間3中連續(xù)地移動(dòng)。這時(shí),兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界與參照系的圖像邊界相重合(見圖18),其中,即使涉及經(jīng)過該存儲(chǔ)區(qū)的邊界的數(shù)據(jù),超出存儲(chǔ)區(qū)的邊界(右端或下端)的數(shù)據(jù)基本上不存在。因此,在填充模式中,就超出存儲(chǔ)區(qū)的邊界(右端或下端)的數(shù)據(jù)而言,通過參照邊界數(shù)據(jù)(即存儲(chǔ)在兩維存儲(chǔ)器空間3的右端或下端的數(shù)據(jù))而估算運(yùn)動(dòng)矢量。也就是說,就超出存儲(chǔ)區(qū)的邊界(右端或下端)的數(shù)據(jù)而言,在參照系和所涉及的圖像邊界周圍的外部邊緣中補(bǔ)充邊界數(shù)據(jù)。因此,在填充模式中,即使在兩維存儲(chǔ)器空間3中存儲(chǔ)區(qū)的邊界與參照系的圖像邊界相重合時(shí),也能適當(dāng)?shù)毓浪氵\(yùn)動(dòng)矢量。
盡管以上連同數(shù)據(jù)超出位于兩維存儲(chǔ)器空間3的右端或下端處的存儲(chǔ)區(qū)的邊界的實(shí)例說明了上述實(shí)施例,但是,本發(fā)明還可應(yīng)用于這樣的實(shí)例,在該實(shí)例中,數(shù)據(jù)超出位于兩維存儲(chǔ)器空間3的左端或上端處的存儲(chǔ)區(qū)的邊界。在這種情況下,將圖25列出的校正值改變成用于涉及超出位于兩維存儲(chǔ)器空間3的左端或上端處的存儲(chǔ)區(qū)的邊界的數(shù)據(jù)的值,以便獲得如上所述的同樣效果。
以下說明交錯(cuò)模式。
交錯(cuò)模式輸入為讀取存取模式的一種,并且可在估算運(yùn)動(dòng)矢量進(jìn)行快速塊匹配,如圖19所示。
也就是說,在估算運(yùn)動(dòng)模式時(shí),參照系的暫時(shí)與當(dāng)前坐標(biāo)系相鄰的某個(gè)區(qū)存儲(chǔ)在兩維存儲(chǔ)器空間3內(nèi)。在用于兩維存儲(chǔ)器空間3的虛擬最小兩維存儲(chǔ)器空間1內(nèi)的4×4象素的數(shù)據(jù)中,讀取位于第一和第三行及第一和第三列中的全部四個(gè)象素。對(duì)兩維存儲(chǔ)器空間3中的各虛擬最小兩維存儲(chǔ)器空間1進(jìn)行上述處理過程。與此相似,在改變要在虛擬最小兩維存儲(chǔ)器空間1中讀取象素?cái)?shù)據(jù)地址時(shí),重復(fù)上述過程,如圖20所示。因此,可以執(zhí)行對(duì)所有象素的塊匹配,從而可正確地檢索出有最少錯(cuò)誤的塊。
這里,在進(jìn)行塊匹配時(shí),將在用于通知塊的各象素?cái)?shù)據(jù)與要涉及的各象素?cái)?shù)據(jù)之間具有最少積累剩余量的塊確定為最近似的塊。還有,在交錯(cuò)模式下進(jìn)行塊匹配時(shí),如圖20所示那樣進(jìn)行四次塊匹配,因此,可執(zhí)行對(duì)所有象素?cái)?shù)據(jù)的塊匹配。這時(shí),在交錯(cuò)模式下,創(chuàng)建用于與執(zhí)行塊匹配的次數(shù)相對(duì)應(yīng)的累積剩余量的閾值,如圖21所示,從而,如果包含在各塊中的各象素?cái)?shù)據(jù)的累積剩余量超過上述閾值,則停止對(duì)該塊的塊匹配,并前進(jìn)至對(duì)下一個(gè)象素?cái)?shù)據(jù)的塊匹配。因此,由于不需要對(duì)所有象素的塊匹配,故可對(duì)存儲(chǔ)在兩維存儲(chǔ)器空間3中數(shù)據(jù)快速地進(jìn)行塊匹配。換句話說,可快速地估算運(yùn)動(dòng)失量。除圖19和20所示的那些形式以外,讀取用于塊匹配的象素?cái)?shù)據(jù)的形式還可以是始于任何地址的形式。
在圖21中,閾值是比將原點(diǎn)(0)和d4連接起來的連線大的值的原因如下在交錯(cuò)模式的塊匹配過程中,當(dāng)在圖20A中進(jìn)行讀取時(shí),剩余量例如超過上述連線的值,從而,可避免這樣的情況,其中,按下述過程廢棄掉有最小錯(cuò)誤的塊(即從塊匹配的對(duì)象中排除掉除有最小錯(cuò)誤的塊以外的塊)。
通過這種方式,如果指定虛擬最小兩維存儲(chǔ)器空間1中的任何讀取地址并且指定讀取存取模式和可選模式,則根據(jù)指定的讀取地址、指定的讀取存取模式和指定的可選模式來指定與各存儲(chǔ)器4A至4D相對(duì)應(yīng)的各地址,因此,可讀出數(shù)據(jù)并且同時(shí)將讀出的數(shù)據(jù)輸出。
例如,在圖15中,在虛擬最小兩維存儲(chǔ)器空間1中指定地址a03(2)并指定M3標(biāo)明的行方向存取模式和循環(huán)模式。在這種情況下,在存儲(chǔ)器4A中指定地址a03(2),在存儲(chǔ)器4B中指定地址b04(2),在存儲(chǔ)器4C中指定地址c03(2),在存儲(chǔ)器4D中指定地址d03(2),從而能同時(shí)讀取各地址。這時(shí),地址處于兩維存儲(chǔ)器空間中的同一行內(nèi),并且,左端地址與存儲(chǔ)器4B中的地址b04(2)相關(guān)聯(lián),通過訪問兩維存儲(chǔ)器空間3中同一行內(nèi)左端處的地址可以讀取存儲(chǔ)器4B中地址b04(2)處的數(shù)據(jù)。
例如,在圖18中,在虛擬最小兩維存儲(chǔ)器空間1中指定地址d03(2)并指定M3標(biāo)明的行方向存取模式和填充模式。在這種情況下,不從存儲(chǔ)器4A和4B中讀出數(shù)據(jù),并且,在存儲(chǔ)器4C中指定地址c03(2),在存儲(chǔ)器4D中指定地址d03(2),從而能同時(shí)讀取各地址。這時(shí),就超出圖像邊界的部分而言,可讀出邊界數(shù)據(jù)即存儲(chǔ)器4C中地址c03(2)處的數(shù)據(jù)。
例如,在圖19中,在虛擬最小兩維存儲(chǔ)器空間1中指定地址an(2)并指定交錯(cuò)模式。在這種情況下,在存儲(chǔ)器4A中指定地址an(2),在存儲(chǔ)器4B中指定地址bn(2),在存儲(chǔ)器4C中指定地址cn(0),在存儲(chǔ)器4D中指定地址dn(2),從而能同時(shí)讀取各地址。此外,在如圖20所示那樣進(jìn)行塊匹配時(shí),通過指定預(yù)定的地址而讀取各數(shù)據(jù)。
如上所述,利用這一實(shí)施例中的使用存儲(chǔ)器的方法,當(dāng)指定兩維存儲(chǔ)器空間3中的存取位置時(shí),就指定讀取存取模式和可選模式,根據(jù)指定執(zhí)行用于估算運(yùn)動(dòng)矢量的過程(如在循環(huán)模式、填充模式或交錯(cuò)模式中所限定的那樣)。就估算運(yùn)動(dòng)矢量而言,這一實(shí)施例中使用存儲(chǔ)器的方法有助于更有效地進(jìn)行SIMD操作。
以下參照?qǐng)D22和23說明本發(fā)明實(shí)施例軟件兩維數(shù)據(jù)存取存儲(chǔ)器的結(jié)構(gòu)。
這一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器100實(shí)現(xiàn)了上述實(shí)施例中使用存儲(chǔ)器的方法,并且,除表示可選模式的信號(hào)輸入進(jìn)讀取地址控制部111和讀取數(shù)據(jù)控制部112(見圖22)以外,具有如第一實(shí)施例中兩維數(shù)據(jù)存取存儲(chǔ)器10那樣的基本結(jié)構(gòu)。因此,僅說明包括讀取地址控制部111和讀取數(shù)據(jù)控制部112在內(nèi)的不同部分,并且,這里不對(duì)其它部分進(jìn)行說明,其中,相同的標(biāo)號(hào)屬于先前實(shí)施例中兩維數(shù)據(jù)存取存儲(chǔ)器10的相同或類似部分。
讀取地址控制部111根據(jù)指定的讀取存取模式將讀取地址的預(yù)定部分轉(zhuǎn)換成預(yù)定值以便將其輸出給存儲(chǔ)器4A至4D,或者在指定讀取地址時(shí)于存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1上擴(kuò)展的情況下(見圖3和4)根據(jù)指定的讀取存取模式校正讀取地址的其它部分。
在循環(huán)模式被輸出為可選模式的情況下,如果數(shù)據(jù)超出兩維存儲(chǔ)器空間3中存儲(chǔ)區(qū)的邊界(右端),則讀取地址控制部111將數(shù)據(jù)的參照地址校正成循環(huán)存儲(chǔ)的預(yù)定數(shù)據(jù)的地址,以便將其輸出給存儲(chǔ)器4A至4D。
在填充模式被輸出為可選模式的情況下,在存儲(chǔ)區(qū)的邊界與參照系的邊界部分相重合時(shí),如果涉及經(jīng)過兩維數(shù)據(jù)存取存儲(chǔ)器3中的存儲(chǔ)區(qū)的邊界的數(shù)據(jù),則讀取地址控制部111就會(huì)涉及存儲(chǔ)區(qū)的邊界處的數(shù)據(jù)的地址,以便將其輸出給存儲(chǔ)器4A至4D。
再有,在交錯(cuò)模式被輸出為讀取存取模式的情況下,讀取地址控制部111將虛擬最小兩維存儲(chǔ)器空間1中所涉及的地址校正成預(yù)定參照樣式(見圖19)的地址,以便將其輸出給存儲(chǔ)器4A至4D。
讀取數(shù)據(jù)控制部112在讀取數(shù)據(jù)時(shí)根據(jù)讀取地址的一部分指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址,并且根據(jù)指定的讀取地址和指定的讀取存取模式及可選模式重新排列來自存儲(chǔ)器4A至4D的讀取數(shù)據(jù),以便同時(shí)輸出重新排列的讀取數(shù)據(jù)。
以下參照?qǐng)D23說明圖22所示的讀取地址控制部11和讀取數(shù)據(jù)控制部12的詳細(xì)結(jié)構(gòu)。
讀取地址控制部111包括一地址控制器121以及四個(gè)地址校正部22A至22D,如圖23所示。
地址控制器121將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,以便根據(jù)指定的讀取地址A0至A9中的部分或全部和指定的讀取存取模式及可選模式將與各存儲(chǔ)器4A至4D中低兩位的地址a0、a1相對(duì)應(yīng)的讀取地址A4、A5轉(zhuǎn)換成預(yù)定值,或者將校正信號(hào)輸出給地址校正部22A至22D,以便在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間1上擴(kuò)展的情況下根據(jù)指定的讀取存取模式將與各存儲(chǔ)器4A至4D中高五位地址a2至a7相對(duì)應(yīng)的讀取地址A2、A3、A6至A9校正成預(yù)定值,并且,將循環(huán)模式指定為可選模式。
地址校正部22A至22D的結(jié)構(gòu)與圖6所示的地址校正部22A至22D的結(jié)構(gòu)相同,故這里不進(jìn)行說明。
讀取數(shù)據(jù)控制部112包括一數(shù)據(jù)控制器123和四個(gè)選擇器24A至24D,如圖6所示。
數(shù)據(jù)控制器23在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取地址A0至A9的一部分或全部指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并根據(jù)用于指定數(shù)據(jù)相對(duì)指定的讀取地址的讀取方向的讀取存取模式和指定的可選模式將用于使選擇器24A至24D選擇存儲(chǔ)器4A至4D中的讀取數(shù)據(jù)的選擇信號(hào)輸出給選擇器24A至24D。
選擇器24A至24D的結(jié)構(gòu)與圖6所示的選擇器24A至24D的結(jié)構(gòu)相同,故這里不進(jìn)行說明。
以下參照?qǐng)D24至28說明上述實(shí)施例的具有這種結(jié)構(gòu)的兩維數(shù)據(jù)存取存儲(chǔ)器的操作。在這種情況下,需要用地址控制器121和地址校正部22A至22D控制讀取地址并用數(shù)據(jù)控制器123和選擇器24A至24D控制讀取的數(shù)據(jù)。以下連同輸入各可選模式的實(shí)例以及將交錯(cuò)模式輸入為讀取存取模式的實(shí)例說明地址控制和讀取數(shù)據(jù)控制。
在將循環(huán)模式輸入為可選模式時(shí),如圖23所示的數(shù)據(jù)控制器123根據(jù)指定的讀取地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并將用于使選擇器24A至24D按讀取存取模式選擇存儲(chǔ)器4A至4D的選擇信號(hào)輸出給選擇器24A至24D。
圖23所示的地址控制器121將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,所述地址轉(zhuǎn)換信號(hào)用于根據(jù)指定的讀取地址A0、A1、A4、A5和指定的讀取存取模式將與各存儲(chǔ)器4A至4D中低兩位地址a0、a1相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值。
如果涉及經(jīng)過兩維存儲(chǔ)器空間3中的存儲(chǔ)區(qū)的邊界的數(shù)據(jù),則地址控制器121將用于把數(shù)據(jù)的地址校正(轉(zhuǎn)換)至預(yù)定數(shù)據(jù)的地址(即循環(huán)存儲(chǔ)在兩維存儲(chǔ)器空間3內(nèi)的數(shù)據(jù)的地址)的校正信號(hào)輸出給地址校正部22A至22D。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“00”和“00”并且將列方向存取模式(00)指定為讀取存取模式時(shí),作為校正值,地址校正部22A輸出“-3”、 地址校正部22B輸出“0”、地址校正部22C輸出“0”、地址校正部22D輸出“0”,如圖24中序號(hào)2所示。
與此相似,在指定列方向存取模式或列方向兩級(jí)存取模式的情況下,當(dāng)兩維存儲(chǔ)器空間3如圖15所示那樣縱向方向地由n個(gè)字節(jié)構(gòu)成時(shí),將“-(n-4)”輸出為校正值,該值用于在列方向上跨越邊界的數(shù)據(jù)的地址。圖25是示出了在指定列方向存取模式和列方向兩級(jí)存取模式時(shí)高第三位之后的地址校正值以及以后的位的圖。
這里,在用無符號(hào)2來表示讀取地址A0至A9的情況下,如果數(shù)據(jù)在列方向上跨越兩維存儲(chǔ)器空間3的邊界(下端),則讀取地址返回至“0”。因此,在這種情況下,不需要提供如圖25所示的帶有內(nèi)容的表。在行方向存取模式中,在數(shù)據(jù)跨越兩維存儲(chǔ)器空間3的邊界(右端)時(shí),讀取地址不返回“0”,并且,需要提供如圖24所示的帶內(nèi)容的表。
在將填充模式輸出為可選模式時(shí),圖23所示的數(shù)據(jù)控制器123根據(jù)指定的讀取地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并且將用于使選擇器24A至24D按讀取存取模式選擇存儲(chǔ)器4A至4D的選擇信號(hào)輸出給選擇器24A至24D。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“10”和“00”并且將列方向存取模式(00)指定為讀取存取模式時(shí),選擇器24A選擇存儲(chǔ)器4B、選擇器24B選擇存儲(chǔ)器4C、選擇器24C選擇存儲(chǔ)器4D、選擇器24D選擇存儲(chǔ)器4D,如圖26中序號(hào)2中所示。
圖23所示的地址控制器121將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,所述地址轉(zhuǎn)換信號(hào)用于根據(jù)指定的讀取地址A0、A1、A4、A5和指定的讀取存取模式將與各存儲(chǔ)器4A至4D中低兩位地址a0、a1相對(duì)應(yīng)的讀取地址A4、A5轉(zhuǎn)換成預(yù)定值。
在將交錯(cuò)模式輸出為讀取存取模式時(shí),圖23所示的數(shù)據(jù)控制器123根據(jù)指定的讀取地址A0、A1、A4、A5指定虛擬最小兩維存儲(chǔ)器空間1中的讀取地址并且將用于使選擇器24A至24D選擇存儲(chǔ)器4A至4D的選擇信號(hào)輸出給選擇器24A至24D。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“10”和“00”時(shí),選擇器24A選擇存儲(chǔ)器4B、選擇器24B選擇存儲(chǔ)器4D、選擇器24C選擇存儲(chǔ)器4A、選擇器24D選擇存儲(chǔ)器4C,如圖27中序號(hào)42中所示。
圖23所示的地址控制器121將地址轉(zhuǎn)換信號(hào)輸出給地址校正部22A至22D,所述地址轉(zhuǎn)換信號(hào)用于根據(jù)指定的讀取地址A0、A1、A4、A5將與各存儲(chǔ)器4A至4D中低兩位地址a0、a1相對(duì)應(yīng)的讀取地址A4、A5轉(zhuǎn)換成預(yù)定值。
例如,在將讀取地址“A0、A1”和“A4、A5”指定為“10”和“00”時(shí),地址校正部22A輸出校正值,該值用于將各存儲(chǔ)器4A至4D中的低兩位地址a0、a1的地址校正成用于存儲(chǔ)器4A的“01”、用于存儲(chǔ)器4B的“00”、用于存儲(chǔ)器4C的“01”、用于存儲(chǔ)器4D的“00”。
如上所述,利用這一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器,同時(shí)從物理存儲(chǔ)器4A至4D中讀出在交錯(cuò)模式下相對(duì)兩維存儲(chǔ)器空間中指定位置排列的不連續(xù)數(shù)據(jù),從而能在估算運(yùn)動(dòng)矢量時(shí)進(jìn)行塊匹配。此外,在循環(huán)模式下,當(dāng)涉及到經(jīng)過兩維存儲(chǔ)器空間中存儲(chǔ)區(qū)的邊界的數(shù)據(jù)時(shí),就會(huì)涉及用于參照系的校正地址處的數(shù)據(jù)。再有,在填充模式下,當(dāng)數(shù)據(jù)超出參照系的邊界時(shí),就補(bǔ)充邊界數(shù)據(jù)并涉及該數(shù)據(jù)。因此,可有效并適當(dāng)?shù)毓浪愠鲞\(yùn)動(dòng)矢量,并且,能在處理過程中執(zhí)行有效的SIMD操作。
以下說明本發(fā)明實(shí)施例的操作處理設(shè)備的結(jié)構(gòu)。
該實(shí)施例的操作處理設(shè)備能使SIMD式處理器41估算運(yùn)動(dòng)矢量,以便應(yīng)用兩維數(shù)據(jù)存取存儲(chǔ)器100,如圖22和23所示。
為此目的,這種操作處理設(shè)備具有與SIMD式處理器141相連的兩維數(shù)據(jù)存取存儲(chǔ)器100以及外部I/F電路142,如圖29所示。
如以下將要說明的那樣,SIMD141可根據(jù)預(yù)定操作過程指定用于在兩維數(shù)據(jù)存取存儲(chǔ)器100中讀取或?qū)懭霐?shù)據(jù)的地址,并且能用命令程序來設(shè)置存取模式。還有,外部I/F電路141可將數(shù)據(jù)傳至外部或從外部接收數(shù)據(jù)。
以下說明上述實(shí)施例具有這種結(jié)構(gòu)的操作處理設(shè)備的操作實(shí)例。圖30是示出了上述實(shí)施例操作處理設(shè)備中用于估算運(yùn)動(dòng)矢量的操作的流程圖。
在圖30中,操作處理設(shè)備指定當(dāng)前坐標(biāo)系中用于估算運(yùn)動(dòng)矢量的塊(步驟S101),并且參照該塊的中心根據(jù)參照系確定檢索的范圍(步驟S102)。圖31是示出了當(dāng)前坐標(biāo)系和參照系與檢索范圍的關(guān)系的圖,其中,提供了在檢索范圍中存儲(chǔ)在兩維數(shù)據(jù)存取存儲(chǔ)器100中的區(qū)域。
操作處理設(shè)備將檢索范圍(以下稱為“本地區(qū)域”)的一部分讀入兩維數(shù)據(jù)存取存儲(chǔ)器100(步驟S103),并且,判斷本地區(qū)域是否完全包含在參照系內(nèi)(即不超過邊界)(步驟S104)。
在步驟S104中,如果本地區(qū)域不完全包含在參照系內(nèi),則操作處理設(shè)備判斷本地區(qū)域在參照系外部的范圍(外部范圍)是否在三個(gè)象素內(nèi)(步驟S105)。如果判斷出本地區(qū)域在參照系外部的范圍(外部范圍)在三個(gè)象素內(nèi),則將可選模式設(shè)置成填充模式,并且,對(duì)外部范圍進(jìn)行塊匹配,同時(shí)涉及邊界數(shù)據(jù)(步驟S106)。操作處理設(shè)備的處理過程前進(jìn)至步驟S109。
在步驟S105中,如果判斷出本地區(qū)域在參照系外部的范圍(外部范圍)不在三個(gè)象素內(nèi),則操作處理設(shè)備將可選模式設(shè)置成缺省模式(即正常處理模式,其中,不構(gòu)成循環(huán)模式和填充模式),并且,通過在另一過程中補(bǔ)充邊界數(shù)據(jù)而對(duì)外部范圍進(jìn)行塊匹配,因?yàn)?,涉及到在填充模式中不能補(bǔ)充的范圍(步驟S108)。操作處理設(shè)備的處理過程前進(jìn)至步驟S109。
在步驟S104中,如果判斷出本地區(qū)域完全包含在參照系中,則操作處理設(shè)備將可選模式設(shè)置成循環(huán)模式,將參照系中與本地區(qū)域相鄰的數(shù)據(jù)重寫到兩維數(shù)據(jù)存取存儲(chǔ)器100中業(yè)已涉及的存儲(chǔ)區(qū)內(nèi),對(duì)跨越本地區(qū)域邊界的數(shù)據(jù)進(jìn)行塊匹配,從而涉及預(yù)定的重寫的數(shù)據(jù)(步驟S108)。操作處理設(shè)備的處理過程前進(jìn)至步驟S109。
在步驟S106和S108之后,操作處理設(shè)備判斷是否已檢索了(進(jìn)行塊匹配)整個(gè)檢索區(qū)域(步驟S109)。如果判斷出尚未檢索整個(gè)檢索區(qū)域,則在后續(xù)軟件檢索范圍內(nèi)更新本地區(qū)域(步驟S110)。操作處理設(shè)備的處理過程返回至步驟S103。
在步驟S109中,如果判斷出檢索了整個(gè)檢索區(qū)域,則操作處理設(shè)備因塊匹配而根據(jù)參照系與帶最少錯(cuò)誤的塊的位置關(guān)系估算運(yùn)動(dòng)矢量(步驟S111),并且判斷對(duì)當(dāng)前坐標(biāo)系中的所有塊來說是否都已估算了運(yùn)動(dòng)矢量(步驟S112)。
在步驟S112中,如果判斷出對(duì)當(dāng)前坐標(biāo)系中的所有塊來說尚未估算運(yùn)動(dòng)矢量,則更新用于在當(dāng)前坐標(biāo)系中估算運(yùn)動(dòng)矢量的塊的位置(步驟S113),然后,處理過程返回至步驟S101。另一方面,在步驟S兒2中,如果判斷出對(duì)當(dāng)前坐標(biāo)系中的所有塊來說都已估算了運(yùn)動(dòng)矢量,則結(jié)束運(yùn)動(dòng)矢量估算。
如上所述,利用這一實(shí)施例的操作處理設(shè)備,可通過使用這一實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器有效且適當(dāng)?shù)毓浪愠鲞\(yùn)動(dòng)矢量,并且,可在處理過程中實(shí)現(xiàn)有效的SIMD操作。
如上所述,利用本發(fā)明第二實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器,可同時(shí)從物理存儲(chǔ)器4A至4D中讀出在交錯(cuò)模式下相對(duì)兩維存儲(chǔ)器空間中指定位置排列的不連續(xù)數(shù)據(jù),從而能在估算運(yùn)動(dòng)矢量時(shí)進(jìn)行塊匹配。此外,在循環(huán)模式中,當(dāng)涉及到經(jīng)過兩維存儲(chǔ)器空間中存儲(chǔ)區(qū)的邊界的數(shù)據(jù)時(shí),就會(huì)涉及用于參照系的校正地址處的數(shù)據(jù)。再有,在填充模式中,當(dāng)數(shù)據(jù)超過參照系的邊界時(shí),就補(bǔ)充并可涉及邊界數(shù)據(jù)。因此,可有效并適當(dāng)?shù)毓浪氵\(yùn)動(dòng)矢量,并且,可在處理過程中實(shí)現(xiàn)有效的SIMD操作。
再有,利用本發(fā)明第二實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器,可通過使用第二實(shí)施例的兩維數(shù)據(jù)存取存儲(chǔ)器有效且適當(dāng)?shù)毓浪愠鲞\(yùn)動(dòng)矢量,并且,可在處理過程中實(shí)現(xiàn)有效的SIMD操作。
在第一和第二實(shí)施例中,用于指定存取模式或可選模式的信號(hào)線輸入為不同于地址信號(hào)的另一種信號(hào)(讀取地址信號(hào)或?qū)懭氲刂沸盘?hào))。但是,可連同地址信號(hào)一道輸入用于指定存取模式或可選模式的信號(hào)線。例如,可將存取模式或可選模式分配給地址信號(hào)的最高有效位,如圖32所示。圖33是示出了在如圖32那樣分配信號(hào)時(shí)讀取地址控制部和讀取數(shù)據(jù)控制部的結(jié)構(gòu)實(shí)例。
利用這種結(jié)構(gòu),在用兩維數(shù)據(jù)存取存儲(chǔ)器執(zhí)行所述處理過程時(shí),用戶僅需在輸入地址時(shí)輸入存取模式或可選模式,因此,輸入操作會(huì)更加簡(jiǎn)化。還有,由于兩維數(shù)據(jù)存取存儲(chǔ)器的結(jié)構(gòu)較為簡(jiǎn)單,故可縮小循環(huán)范圍并可提高集成度。
如上所述,本發(fā)明使用存儲(chǔ)器的方法有助于更有效的SIMD操作。
再有,利用本發(fā)明的兩維數(shù)據(jù)存取存儲(chǔ)器,可同時(shí)從物理存儲(chǔ)器中讀出相對(duì)兩維存儲(chǔ)器空間中指定位置沿橫向或縱向方向排列的連續(xù)數(shù)據(jù)或不連續(xù)數(shù)據(jù),從而能實(shí)現(xiàn)有效的SIMD操作。
此外,利用本發(fā)明的兩維數(shù)據(jù)存取存儲(chǔ)器,可同時(shí)從物理存儲(chǔ)器中讀出相對(duì)兩維存儲(chǔ)器空間中指定位置沿橫向或縱向方向排列的連續(xù)數(shù)據(jù),并同時(shí)將該數(shù)據(jù)寫進(jìn)物理存儲(chǔ)器,因此,可相對(duì)兩維數(shù)據(jù)存取存儲(chǔ)器中的指定位置沿橫向或縱向連續(xù)地排列數(shù)據(jù),從而能實(shí)現(xiàn)有效的SIMD操作。還有,兩維數(shù)據(jù)存取存儲(chǔ)器有助于更有效地估算移動(dòng)畫面的運(yùn)動(dòng)矢量。
再有,利用本發(fā)明的操作處理設(shè)備,可通過使用本發(fā)明的兩維數(shù)據(jù)存取存儲(chǔ)器而有效地進(jìn)行SIMD操作。
權(quán)利要求
1.一種使用存儲(chǔ)器的方法,該方法包括下列步驟包含有預(yù)定的兩維存儲(chǔ)器空間,它由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成;將所述虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址預(yù)先分配給n個(gè)物理存儲(chǔ)器中按與所述虛擬最小兩維存儲(chǔ)器相關(guān)方式確定的每一個(gè)存儲(chǔ)器內(nèi)的預(yù)定地址;在讀取所述虛擬最小兩維存儲(chǔ)器中的數(shù)據(jù)時(shí),指定所述虛擬最小兩維存儲(chǔ)器中的讀取地址;以及參照指定的讀取地址將數(shù)據(jù)讀取方向指定為數(shù)據(jù)的橫向方向和縱向方向;從而,根據(jù)指定的地址和指定的方向從n個(gè)物理存儲(chǔ)器的每個(gè)存儲(chǔ)器中的相應(yīng)地址開始讀取所述虛擬最小兩維存儲(chǔ)器中按橫向或縱向方向排列的連續(xù)數(shù)據(jù)。
2.如權(quán)利要求1的使用存儲(chǔ)器的方法,其特征在于,在將數(shù)據(jù)寫進(jìn)兩維存儲(chǔ)器空間時(shí),在所述虛擬最小兩維存儲(chǔ)器空間中指定寫地址,并且,參照指定的寫地址將寫入方向指定為數(shù)據(jù)的橫向方向或縱向方向,從而,可根據(jù)指定的地址和指定的方向在n個(gè)物理存儲(chǔ)器的每一個(gè)的相應(yīng)地址處寫要在所述虛擬最小兩維存儲(chǔ)器中沿橫向或縱向方向連續(xù)寫的連續(xù)數(shù)據(jù)。
3.一種使用存儲(chǔ)器的方法,該方法包括下列步驟包含有預(yù)定的兩維存儲(chǔ)器空間,它由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成;將所述虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址預(yù)先分配給n個(gè)物理存儲(chǔ)器中按與所述虛擬最小兩維存儲(chǔ)器相關(guān)方式確定的每一個(gè)存儲(chǔ)器內(nèi)的預(yù)定地址;在讀取所述兩維存儲(chǔ)器中的數(shù)據(jù)時(shí),指定所述虛擬最小兩維存儲(chǔ)器中的讀取地址;以及,參照指定的讀取地址指定預(yù)定的讀取方式;從而,根據(jù)指定的地址和指定的方式從n個(gè)物理存儲(chǔ)器的每個(gè)存儲(chǔ)器中的相應(yīng)地址開始讀取所述虛擬最小兩維存儲(chǔ)器中的預(yù)定數(shù)據(jù)。
4.如權(quán)利要求1或3的使用存儲(chǔ)器的方法,其特征在于,將估算移動(dòng)畫面的運(yùn)動(dòng)矢量時(shí)的參照數(shù)據(jù)的一部分存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi),并且,當(dāng)讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí),還指定在估算運(yùn)動(dòng)矢量時(shí)讀取數(shù)據(jù)的讀取模式,從而,將隨后的參照數(shù)據(jù)連續(xù)地寫進(jìn)虛擬最小兩維存儲(chǔ)器空間,其中,業(yè)已在估算運(yùn)動(dòng)矢量時(shí)讀取了數(shù)據(jù),或者,通過將數(shù)據(jù)的讀取地址修改成虛擬最小兩維存儲(chǔ)器空間中的預(yù)定地址而讀取數(shù)據(jù),其中,依照讀取地址、是如權(quán)利要求1的橫向或縱向方向的數(shù)據(jù)讀取方向或如權(quán)利要求3的讀取方式,如果數(shù)據(jù)跨越了兩維存儲(chǔ)器空間的邊緣,則寫入后續(xù)的參照數(shù)據(jù)。
5.如權(quán)利要求1或3的使用存儲(chǔ)器的方法,其特征在于,將估算移動(dòng)畫面的運(yùn)動(dòng)矢量時(shí)的參照數(shù)據(jù)的一部分存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi),并且,當(dāng)讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí),還指定在估算運(yùn)動(dòng)矢量時(shí)預(yù)定數(shù)據(jù)的讀取模式,從而,依照讀取地址、是如權(quán)利要求1的橫向或縱向方向的數(shù)據(jù)讀取方向或如權(quán)利要求3的讀取方式以及數(shù)據(jù)讀取模式,如果數(shù)據(jù)跨越了參照數(shù)據(jù)現(xiàn)有范圍的邊緣,則通過將不包含在參照數(shù)據(jù)現(xiàn)有范圍內(nèi)的數(shù)據(jù)讀取地址修改成位于參照數(shù)據(jù)現(xiàn)有范圍的邊緣處的預(yù)定數(shù)據(jù)的地址而讀取數(shù)據(jù)。
6.一種具有n個(gè)物理存儲(chǔ)器的兩維數(shù)據(jù)存取存儲(chǔ)器,它包含兩維存儲(chǔ)器空間,該空間由預(yù)定的按兩維方式形成的并沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成,分別按某種規(guī)則預(yù)先分配虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址,所述兩維數(shù)據(jù)存取存儲(chǔ)器包括一讀取數(shù)據(jù)控制部,它用于指定虛擬最小兩維存儲(chǔ)器空間中的存取位置、根據(jù)用于從指定存取位置讀取數(shù)據(jù)的讀取方向和用于指定方式的讀取存取模式重新排列從n個(gè)物理存儲(chǔ)器中讀出的數(shù)據(jù),并在讀取兩維存儲(chǔ)器空間中的數(shù)據(jù)時(shí)以集合的方式輸出重新排列了的讀出數(shù)據(jù);以及,一讀取地址控制部,它用于將指定的讀取地址修改成預(yù)定的地址并根據(jù)指定的讀取存取模式和指定的存取位置或者在當(dāng)指定讀取地址時(shí)存取空間于相鄰虛擬最小兩維存儲(chǔ)器空間上延伸的情況下根據(jù)指定的讀取模式將其輸出給上述n個(gè)存儲(chǔ)器。
7.如權(quán)利要求6的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,所述讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí),如果存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展,則根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
8.如權(quán)利要求6的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,所述讀取數(shù)據(jù)控制部根據(jù)用于指定估算運(yùn)動(dòng)矢量時(shí)數(shù)據(jù)讀取模式的可選模式還有指定的讀取存取模式和指定的存取位置重新排列從n個(gè)物理存儲(chǔ)器中讀出的數(shù)據(jù),并以集合的方式輸出重新排列的讀出數(shù)據(jù),而且,所述讀取地址控制部將指定的讀取地址修改成預(yù)定的地址,以便根據(jù)指定的讀取存取模式和指定的存取位置或在存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)指定的讀取存取模式或在指定讀取地址時(shí)存取空間跨越兩維存儲(chǔ)器空間的邊緣的情況下根據(jù)指定的讀取存取模式將上述預(yù)定地址輸出給n個(gè)物理存儲(chǔ)器。
9.如權(quán)利要求8的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,所述讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式和指定的可選模式選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí)于存取空間跨越兩維存儲(chǔ)器空間的邊緣的情況下根據(jù)讀取存取模式和可選模式校正各個(gè)n個(gè)物理存儲(chǔ)器中的高地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
10.如權(quán)利要求8的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,所述讀取數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的讀取地址而指定的存取位置以及在讀取數(shù)據(jù)時(shí)根據(jù)指定的讀取存取模式和指定的可選模式選擇n個(gè)物理存儲(chǔ)器中的讀取數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于從n個(gè)物理存儲(chǔ)器中選擇各個(gè)讀出數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)讀取存取模式和讀取地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的讀取地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)讀取存取模式校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的讀取地址,或者,上述地址控制器輸出校正信號(hào),以便在指定讀取地址時(shí)于存取空間跨越存儲(chǔ)在兩維存儲(chǔ)器空間內(nèi)的數(shù)據(jù)的現(xiàn)有范圍的邊緣的情況下根據(jù)讀取存取模式和可選模式校正各個(gè)n個(gè)物理存儲(chǔ)器中的高地址和低地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將讀取地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正讀取地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
11.如權(quán)利要求6或7的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,該存儲(chǔ)器還包括一寫入數(shù)據(jù)控制部,它用于指定虛擬最小兩維存儲(chǔ)器空間中的存取空間、根據(jù)指定從指定存取位置開始數(shù)據(jù)寫入方向的寫入存取模式重新排列寫進(jìn)n個(gè)物理存儲(chǔ)器的數(shù)據(jù)并在寫入數(shù)據(jù)時(shí)以集合的方式將重新排列的寫入數(shù)據(jù)提供給n個(gè)物理存儲(chǔ)器;以及,一寫入地址控制部,它用于將指定的寫入地址修改成預(yù)定的地址以便根據(jù)指定的寫入存取模式和指定的存取位置或在指定寫入地址時(shí)于存取空間在相鄰虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下根據(jù)指定的寫入存取模式將上述寫入地址輸出結(jié)n個(gè)物理存儲(chǔ)器中的每一個(gè)。
12.如權(quán)利要求11的兩維數(shù)據(jù)存取存儲(chǔ)器,其特征在于,所述寫入數(shù)據(jù)控制部包括一數(shù)據(jù)控制器,它用于輸出選擇信號(hào)以便根據(jù)虛擬最小兩維存儲(chǔ)器空間中按指定的寫入地址而指定的寫入存取位置以及在寫入數(shù)據(jù)時(shí)根據(jù)指定的寫入存取模式選擇寫入n個(gè)物理存儲(chǔ)器中的數(shù)據(jù);以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)選擇器,它們用于選擇寫入n個(gè)物理存儲(chǔ)器中的各個(gè)數(shù)據(jù)以便根據(jù)來自數(shù)據(jù)控制器的選擇信號(hào)同時(shí)輸出上述數(shù)據(jù);并且,所述讀取地址控制部包括一地址控制器,它用于輸出地址轉(zhuǎn)換信號(hào)以便根據(jù)寫入存取模式和寫入地址將與各個(gè)n個(gè)物理存儲(chǔ)器中的低地址相對(duì)應(yīng)的寫入地址轉(zhuǎn)換成預(yù)定值,或者,上述地址控制器輸出校正信號(hào),以便在指定寫入地址時(shí)于存取空間在相鄰的虛擬最小兩維存儲(chǔ)器空間上擴(kuò)展的情況下校正與各個(gè)n個(gè)物理存儲(chǔ)器中的高地址相對(duì)應(yīng)的寫入地址;以及,與n個(gè)物理存儲(chǔ)器相對(duì)應(yīng)設(shè)置的n個(gè)地址校正部,它們用于根據(jù)來自地址控制器的地址轉(zhuǎn)換信號(hào)將寫入地址轉(zhuǎn)換成預(yù)定值,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè),并且,上述地址校正部根據(jù)來自地址控制器的校正信號(hào)來校正寫入地址,以便將其輸出給n個(gè)存儲(chǔ)器中的每一個(gè)。
13.一種操作處理設(shè)備,該設(shè)備包括如權(quán)利要求6、7、11和12中任何一個(gè)的兩維數(shù)據(jù)存取存儲(chǔ)器;以及,一SIMD式處理器,它用于通過根據(jù)預(yù)定的計(jì)算操作和存取模式指定兩維數(shù)據(jù)存取存儲(chǔ)器中的地址而執(zhí)行SIMD處理并從上述兩維數(shù)據(jù)存取存儲(chǔ)器中讀取預(yù)定的數(shù)據(jù)。
14.如權(quán)利要求13的操作處理設(shè)備,其特征在于,所述預(yù)定的操作是兩維離散余弦變換。
15.一種操作處理設(shè)備,該設(shè)備還包括如權(quán)利要求8至10中任何一個(gè)的兩維數(shù)據(jù)存取存儲(chǔ)器;以及,一SIMD式處理器,它用于通過根據(jù)預(yù)定的計(jì)算操作和存取模式及可選模式指定兩維數(shù)據(jù)存取存儲(chǔ)器中的地址而執(zhí)行SIMD處理并從上述兩維數(shù)據(jù)存取存儲(chǔ)器中讀取預(yù)定的數(shù)據(jù)。
16.如權(quán)利要求15的操作處理設(shè)備,其特征在于,所述預(yù)定的操作是這樣的操作處理,它涉及估算移動(dòng)畫面的運(yùn)動(dòng)矢量。
全文摘要
提供了一種使用存儲(chǔ)器的方法,它有助于有效的SIMD操作。所述使用存儲(chǔ)器的方法包括下列步驟:包含有預(yù)定的兩維存儲(chǔ)器空間,它由預(yù)定的沿縱向和橫向方向排列的虛擬最小兩維存儲(chǔ)器空間構(gòu)成;將所述虛擬最小兩維存儲(chǔ)器空間的各個(gè)地址預(yù)先分配給n個(gè)物理存儲(chǔ)器中按與所述虛擬最小兩維存儲(chǔ)器相關(guān)方式確定的每一個(gè)存儲(chǔ)器內(nèi)的預(yù)定地址。在讀取數(shù)據(jù)時(shí),指定所述虛擬最小兩維存儲(chǔ)器中的讀取地址;并且,參照指定的讀取地址將數(shù)據(jù)讀取方向指定為數(shù)據(jù)的橫向方向和縱向方向;從而,根據(jù)指定的地址和指定的方向從n個(gè)物理存儲(chǔ)器的每個(gè)存儲(chǔ)器中的相應(yīng)地址開始讀取所述虛擬最小兩維存儲(chǔ)器中按橫向或縱向方向排列的連續(xù)數(shù)據(jù)。
文檔編號(hào)G06F12/06GK1354480SQ0113934
公開日2002年6月19日 申請(qǐng)日期2001年11月21日 優(yōu)先權(quán)日2000年11月22日
發(fā)明者礒村政一, 久保敏浩 申請(qǐng)人:精工愛普生株式會(huì)社