專利名稱:多維存儲器的數(shù)據(jù)傳送裝置、傳送程序以及傳送方法
技術(shù)領(lǐng)域:
本發(fā)明涉及可以實(shí)現(xiàn)高效率SIMD(單指令流多數(shù)據(jù)流)運(yùn)算的在二維存儲器和SRAM等一維存儲器之間進(jìn)行數(shù)據(jù)傳送的裝置、程序以及方法,特別涉及在能夠進(jìn)行高效率SIMD運(yùn)算的同時(shí),適合于在多維存儲器和一維存儲器之間進(jìn)行數(shù)據(jù)傳送的多維存儲器的數(shù)據(jù)傳送裝置以及多維存儲器的數(shù)據(jù)傳送程序、以及多維存儲器的數(shù)據(jù)傳送方法。
背景技術(shù):
SIMD運(yùn)算為帶有多個(gè)處理器并且通過同一命令來處理多個(gè)數(shù)據(jù)的方式。為此,一般地,在從存儲在存儲器中的一維數(shù)據(jù)列中取出連續(xù)部分的一部分列進(jìn)行并行運(yùn)算的情況下,它是非常有效率的。
但是,作為運(yùn)算對象的數(shù)據(jù)不是連續(xù)存儲在存儲器上,希望將運(yùn)算結(jié)果分散配置到存儲器上一定位置的情況下,需要用于準(zhǔn)備并列運(yùn)算對象數(shù)據(jù)的處理以及用于將并列運(yùn)算結(jié)果配置在存儲器一定位置上的處理。為此,存在妨礙原本并列處理的好處的缺陷。
但是,作為通過SIMD處理將二維離散余弦變換高速化的技術(shù),已知的是在特開2000-69478號公報(bào)上記載的發(fā)明。
該發(fā)明將按掃描順序配置的圖像數(shù)據(jù)重新排列為在適合于通過SIMD處理來執(zhí)行變換編碼運(yùn)算中的蝶形運(yùn)算的順序,每次將該重新排列結(jié)果存儲在存儲器中,將存儲在該存儲器中的圖像數(shù)據(jù)進(jìn)行二維離散余弦變換。
但是,在上述公報(bào)中記載的發(fā)明,將圖像數(shù)據(jù)重新排列的操作是必須的,在通過硬件實(shí)現(xiàn)的情況中,有關(guān)該重新排列的電路是必須的,考慮到電路規(guī)模變大等不利之處,并且還存在由于重新排列操作引起的通過存儲器訪問導(dǎo)致消耗功率變大這些不利之處。
作為解決該問題的一個(gè)方法,可以采用從訪問一側(cè)看去,將存儲器空間構(gòu)造成二維空間的二維存儲器。
由如下單元構(gòu)造二維存儲器例如,在假設(shè)縱向橫向上排列二維形成的一定虛擬最小二維存儲器空間的二維存儲器空間的同時(shí),預(yù)先以一定規(guī)則分別分配虛擬最小二維存儲器空間的各個(gè)地址的n個(gè)存儲器,數(shù)據(jù)讀出時(shí),特定所述虛擬最小二維存儲器空間上的訪問位置,根據(jù)從特定的訪問位置中讀出數(shù)據(jù)的方向或指定模式的讀出訪問圖案,重新排列來自n個(gè)存儲器的各個(gè)讀出數(shù)據(jù),將重新排列的各個(gè)讀出數(shù)據(jù)一并輸出的讀出數(shù)據(jù)控制器,指定讀出地址時(shí),根據(jù)所述指定讀出訪問模式和特定訪問位置,將指定讀出地址校正為一定地址并輸出到n個(gè)存儲器中的讀出地址控制單元。
由此,由于從物理各存儲器中同時(shí)讀出在從二維存儲器空間上讀指定位置處開始橫方向或縱方向排列的連續(xù)數(shù)據(jù)或不連續(xù)數(shù)據(jù),因此能實(shí)現(xiàn)有效率的SIMD運(yùn)算。對于二維存儲器,在本申請人以前申請的特愿2000-355945中詳細(xì)說明了。
因此,由于將進(jìn)行SIMD運(yùn)算的情況假定為將存儲在SRAM等(以下,相對于稱為二維存儲器的術(shù)語,將SRAM等常規(guī)存儲器稱之為一維存儲器)中的運(yùn)算對象數(shù)據(jù)讀入二維存儲器中開始執(zhí)行運(yùn)算,因此需要從一維存儲器開始有效率地將數(shù)據(jù)傳送到二維存儲器中的結(jié)構(gòu)。同樣地,運(yùn)算之后,由于假定將存儲在二維存儲器中的運(yùn)算數(shù)據(jù)寫入一維存儲器中,因此需要從二維存儲器開始有效率地將數(shù)據(jù)傳送到一維存儲器中的結(jié)構(gòu)。這種情況,期望數(shù)據(jù)傳送不只傳送數(shù)據(jù),而是適合于運(yùn)算。即,SIMD運(yùn)算由于有對二維空間中的一定區(qū)域內(nèi)的數(shù)據(jù)進(jìn)行運(yùn)算,因此需要從一維存儲器中一并讀出這樣的數(shù)據(jù)。
為此,不局限于二維存儲器,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和一維存儲器之間進(jìn)行數(shù)據(jù)傳送的情況中也是同樣的。
發(fā)明內(nèi)容
因此,本發(fā)明著眼于現(xiàn)有技術(shù)中未解決的問題,其目的在于為提供一種在能夠進(jìn)行高效率SIMD運(yùn)算的同時(shí),適合于在多維存儲器和一維存儲器之間進(jìn)行數(shù)據(jù)傳送的多維存儲器的數(shù)據(jù)傳送裝置以及多維存儲器的數(shù)據(jù)傳送程序、以及多維存儲器的數(shù)據(jù)傳送方法。
為了實(shí)現(xiàn)上述目的,涉及本發(fā)明的權(quán)利要求1中記載的多維存儲器的數(shù)據(jù)傳送裝置,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,它帶有,從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出裝置,以及將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入裝置。
根據(jù)這樣的結(jié)構(gòu),通過多維存儲器讀出裝置,從多維存儲器中讀出多維空間內(nèi)一定區(qū)域中的數(shù)據(jù),通過一維存儲器寫入裝置,將讀出的數(shù)據(jù)寫入一維存儲器中。
這里,多維存儲器是從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器,也可以是任何結(jié)構(gòu),其中,除了將存儲器空間構(gòu)造成二維空間的二維存儲器之外,還包含將存儲器空間構(gòu)造成三維以上的多維空間的多維存儲器。以下,在權(quán)利要求10中記載的多維存儲器的數(shù)據(jù)傳送裝置、權(quán)利要求22以及23中記載的多維存儲器的數(shù)據(jù)傳送程序、以及權(quán)利要求24以及25中記載的多維存儲器的數(shù)據(jù)傳送方法中都包含上述相同的含義。
涉及本發(fā)明的權(quán)利要求2中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求1中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述多維存儲器讀出裝置輸入作為讀出數(shù)據(jù)時(shí)基準(zhǔn)的讀出基準(zhǔn)地址以及用來特定所述多維空間內(nèi)讀出區(qū)域的讀出區(qū)域特定信息,根據(jù)輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域中的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過多維存儲器讀出裝置,基于輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從多維存儲器中讀出多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)。
這里,讀出區(qū)域特定信息是用于特定多維空間內(nèi)的讀出區(qū)域的信息,也可以是其它信息,例如,可以是表示特定讀出區(qū)域的形狀的坐標(biāo)的信息,還可以是將讀出區(qū)域定義為矩形以及三角形等的規(guī)定區(qū)域情況下表示它的形態(tài)的信息。
涉及本發(fā)明的權(quán)利要求3中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求2中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述讀出區(qū)域特定信息包含表示所述多維空間每個(gè)維中的該維中應(yīng)該讀出數(shù)據(jù)的長度的讀出數(shù)據(jù)長度信息,所述多維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述多維空間中的讀出區(qū)域,從而從所述多維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過多維存儲器讀出裝置,基于包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定多維空間中的讀出區(qū)域,從而從多維存儲器中讀出特定讀出區(qū)域的數(shù)據(jù)。
涉及本發(fā)明的權(quán)利要求4中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求3中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述讀出區(qū)域特定信息還包含表示對于所述多維空間的一定維數(shù)其中該維數(shù)的最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述多維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述多維空間中的讀出區(qū)域,從而從所述多維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過多維存儲器讀出裝置,基于由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度、以及所述讀出基準(zhǔn)地址,特定多維空間中的讀出區(qū)域,從而從多維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
涉及本發(fā)明的權(quán)利要求5中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求3以及4任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述一維存儲器寫入裝置輸入作為寫入數(shù)據(jù)時(shí)基準(zhǔn)的寫入基準(zhǔn)地址以及用來特定所述一維空間內(nèi)寫入?yún)^(qū)域的寫入?yún)^(qū)域特定信息,根據(jù)輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中。
根據(jù)這樣的結(jié)構(gòu),一旦輸入寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息時(shí),通過一維存儲器寫入裝置,基于輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將讀出的數(shù)據(jù)寫入一多維存儲器中。
這里,寫入?yún)^(qū)域特定信息是用于特定一維空間內(nèi)的寫入?yún)^(qū)域的信息,也可以是其它信息,例如,也可以是表示特定寫入?yún)^(qū)域的形狀的坐標(biāo)的信息,還可以是將寫入?yún)^(qū)域定義為矩形以及三角形等的規(guī)定區(qū)域情況下表示它的形態(tài)的信息。
涉及本發(fā)明的權(quán)利要求6中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求5中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述寫入?yún)^(qū)域特定信息包含在由邏輯上所述一維存儲器構(gòu)成與所述多維空間相同的多維空間的情況下,表示對于所述邏輯多維空間規(guī)定維數(shù)而言該維數(shù)最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述一維存儲器寫入裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述寫入基準(zhǔn)地址,特定所述一維存儲器的寫入?yún)^(qū)域從而將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述特定的寫入?yún)^(qū)域。
根據(jù)這樣的結(jié)構(gòu),一旦輸入寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息時(shí),通過一維存儲器寫入裝置,基于由包含在讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度、以及寫入基準(zhǔn)地址,特定多維存儲器中的寫入?yún)^(qū)域,從而將數(shù)據(jù)寫入特定寫入?yún)^(qū)域中。
涉及本發(fā)明的權(quán)利要求7中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求6中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述一維存儲器寫入裝置可以設(shè)定下列兩種模式中的任何一種使所述讀出區(qū)域和所述寫入?yún)^(qū)域相對應(yīng),在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將所述讀出區(qū)域和所述寫入?yún)^(qū)域轉(zhuǎn)置,在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中。
根據(jù)這樣的結(jié)構(gòu),設(shè)定為常規(guī)傳送模式時(shí),通過一維存儲器寫入裝置,使讀出區(qū)域與寫入?yún)^(qū)域相對應(yīng),將讀出的數(shù)據(jù)寫入一維存儲器中。設(shè)定轉(zhuǎn)置傳送模式時(shí),通過一維存儲器寫入裝置,將讀出區(qū)域與寫入?yún)^(qū)域轉(zhuǎn)置,將讀出的數(shù)據(jù)寫入一維存儲器中。
涉及本發(fā)明的權(quán)利要求8中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求1到7的任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,通過第1脈沖串長度的總線與所述多維存儲器相連,所述多維存儲器讀出裝置以所述第1脈沖串長度為單位從所述多維存儲器中讀出所述多維空間中一定區(qū)域內(nèi)的數(shù)據(jù),應(yīng)該從所述多維存儲器中讀出的數(shù)據(jù)不足所述第1脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位從所述多維存儲器中讀出。
根據(jù)這樣的結(jié)構(gòu),通過多維存儲器讀出裝置,以第1脈沖串長度為單位從多維存儲器中讀出多維空間中一定區(qū)域內(nèi)的數(shù)據(jù)。但是,應(yīng)該從所述多維存儲器中讀出的數(shù)據(jù)不足所述第1脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔忝}沖串長度的數(shù)據(jù)為單位從多維存儲器中讀出。
涉及本發(fā)明的權(quán)利要求9中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求1到8的任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,通過第2脈沖串長度的總線與所述一維存儲器相連,所述一維存儲器寫入裝置,以所述第2脈沖串長度為單位將由所述多維存儲器讀出裝置讀出數(shù)據(jù)寫入所述一維存儲器中,應(yīng)該寫入到所述一維存儲器中的數(shù)據(jù)不足所述第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位寫入所述一維存儲器中。
根據(jù)這樣的結(jié)構(gòu),通過一維存儲器讀出裝置,以第2脈沖串長度為單位將讀出數(shù)據(jù)寫入一維存儲器中。但是,應(yīng)該寫入到一維存儲器中的數(shù)據(jù)不足第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔愕?脈沖串長度的數(shù)據(jù)為單位將其寫入一維存儲器中。
涉及本發(fā)明的權(quán)利要求10中記載的多維存儲器的數(shù)據(jù)傳送裝置,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,它帶有,從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出裝置,以及將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入裝置。
根據(jù)這樣的結(jié)構(gòu),通過一維存儲器讀出裝置,從一維存儲器中讀出數(shù)據(jù),通過多維存儲器寫入裝置,將讀出的數(shù)據(jù)寫入到多維存儲器中從而配置在多維空間內(nèi)一定區(qū)域中。
涉及本發(fā)明的權(quán)利要求11中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求10中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述一維存儲器讀出裝置輸入作為讀出數(shù)據(jù)時(shí)基準(zhǔn)的讀出基準(zhǔn)地址,以及在由所述一維存儲器邏輯上構(gòu)成與所述多維空間相同的多維空間的情況下用來特定所述邏輯多維空間內(nèi)讀出區(qū)域的讀出區(qū)域特定信息,根據(jù)輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從所述一維存儲器中讀出所述邏輯多維空間內(nèi)一定區(qū)域中的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過一維存儲器讀出裝置,基于輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從一多維存儲器中讀出邏輯多維空間中一定區(qū)域內(nèi)的數(shù)據(jù)。
這里,讀出區(qū)域特定信息是用于特定邏輯多維空間內(nèi)的讀出區(qū)域的信息也可以是其它信息,例如,也可以是表示特定讀出區(qū)域的形狀的坐標(biāo)的信息,還可以是將讀出區(qū)域定義為矩形以及三角形等的規(guī)定區(qū)域情況下表示它的形態(tài)的信息。
涉及本發(fā)明的權(quán)利要求12中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求11中記載的多維存儲器的數(shù)據(jù)傳送裝置中所述讀出區(qū)域特定信息包含表示所述邏輯多維空間每個(gè)維中在該維中應(yīng)該讀出數(shù)據(jù)的長度的讀出數(shù)據(jù)長度信息,所述一維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從所述一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過一維存儲器讀出裝置,基于由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
涉及本發(fā)明的權(quán)利要求13中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求12中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述讀出區(qū)域特定信息還包含表示對于所述邏輯多維空間的一定維數(shù)其中該維數(shù)的最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述一維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從所述一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
根據(jù)這樣的結(jié)構(gòu),一旦輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息時(shí),通過一維存儲器讀出裝置,基于由包含在讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度、由包含在讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
涉及本發(fā)明的權(quán)利要求14中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求12以及13任何一個(gè)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述多維存儲器寫入裝置輸入作為寫入數(shù)據(jù)時(shí)基準(zhǔn)的寫入基準(zhǔn)地址以及用來特定所述多維空間內(nèi)寫入?yún)^(qū)域的寫入?yún)^(qū)域特定信息,根據(jù)輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中。
根據(jù)這樣的結(jié)構(gòu),一旦輸入寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息時(shí),通過多維存儲器寫入裝置,基于輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將讀出的數(shù)據(jù)寫入多維存儲器中。
這里,寫入?yún)^(qū)域特定信息最好是用于特定多維空間內(nèi)的寫入?yún)^(qū)域的信息,例如,可以是表示特定寫入?yún)^(qū)域的形狀的坐標(biāo)的信息,還可以是將寫入?yún)^(qū)域定義為矩形以及三角形等的規(guī)定區(qū)域情況下表示它的形態(tài)的信息。
涉及本發(fā)明的權(quán)利要求15中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求14中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述寫入?yún)^(qū)域特定信息包含表示對于所述多維空間規(guī)定維數(shù)而言該維數(shù)最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述多維存儲器寫入裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述寫入基準(zhǔn)地址,特定多維存儲器的寫入?yún)^(qū)域,從而將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述特定的寫入?yún)^(qū)域。
根據(jù)這樣的結(jié)構(gòu),一旦輸入寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息時(shí),通過多維存儲器寫入裝置,基于由包含在讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及寫入基準(zhǔn)地址,特定所述多維存儲器的寫入?yún)^(qū)域,從而將數(shù)據(jù)寫入特定的寫入?yún)^(qū)域。
涉及本發(fā)明的權(quán)利要求16中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求15中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述多維存儲器寫入裝置可以設(shè)定下列兩種模式中的任何一種使所述讀出區(qū)域和所述寫入?yún)^(qū)域相對應(yīng),在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將所述讀出區(qū)域和所述寫入?yún)^(qū)域轉(zhuǎn)置,在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中。
根據(jù)這樣的結(jié)構(gòu),設(shè)定了常規(guī)傳送模式時(shí),通過多維存儲器寫入裝置,使讀出區(qū)域與寫入?yún)^(qū)域相對應(yīng),將讀出的數(shù)據(jù)寫入多維存儲器中。設(shè)定轉(zhuǎn)置傳送模式時(shí),通過多維存儲器寫入裝置,將讀出區(qū)域與寫入?yún)^(qū)域轉(zhuǎn)置,將讀出的數(shù)據(jù)寫入多維存儲器中。
涉及本發(fā)明的權(quán)利要求17中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求10-16任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,通過第1脈沖串長度的總線與所述多維存儲器相連,所述多維存儲器寫入裝置以所述第1脈沖串長度為單位將從所述一維存儲器中讀出的數(shù)據(jù)寫入到所述多維存儲器中,應(yīng)該寫入從所述多維存儲器的數(shù)據(jù)不足所述第1脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位寫入到所述多維存儲器中。
根據(jù)這樣的結(jié)構(gòu),通過多維存儲器讀出裝置,以第1脈沖串長度為單位將讀出數(shù)據(jù)寫入多維存儲器中。但是,應(yīng)該寫入多維存儲器中的數(shù)據(jù)不足所述第1脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔愕?脈沖串長度的數(shù)據(jù)為單位寫入多維存儲器中。
涉及本發(fā)明的權(quán)利要求18中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求10到17任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,通過第2脈沖串長度的總線與所述一維存儲器相連,所述一維存儲器讀出裝置,以所述第2脈沖串長度為單位從所述一維存儲器中讀出來自所述一維存儲器的數(shù)據(jù),應(yīng)該從所述一維存儲器讀出的數(shù)據(jù)不足所述第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位從所述一維存儲器中讀出。
根據(jù)這樣的結(jié)構(gòu),通過一維存儲器讀出裝置,以第2脈沖串長度為單位從一維存儲器中讀出多維空間一定區(qū)域的數(shù)據(jù)。但是,應(yīng)該從一維存儲器中讀出的數(shù)據(jù)不足第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔愕?脈沖串長度的數(shù)據(jù)為單位從一維存儲器中將其讀出。
涉及本發(fā)明的權(quán)利要求19中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求1到18任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述多維存儲器和所述一維存儲器之間的數(shù)據(jù)傳送為與利用所述多維存儲器進(jìn)行運(yùn)算的運(yùn)算處理裝置的操作相獨(dú)立而執(zhí)行的。
根據(jù)這樣的結(jié)構(gòu),多維存儲器和一維存儲器之間的數(shù)據(jù)傳送是獨(dú)立于運(yùn)算處理裝置的操作而執(zhí)行的。
涉及本發(fā)明的權(quán)利要求20中記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求1到19任一項(xiàng)中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述多維存儲器帶有假設(shè)在縱向橫向上排列二維形成的一定虛擬最小二維存儲器空間的二維存儲器空間的同時(shí),預(yù)先以一定規(guī)則分別分配所述虛擬最小二維存儲器空間的各個(gè)地址的n個(gè)存儲器,數(shù)據(jù)讀出時(shí),特定所述虛擬最小二維存儲器空間上的地址位置,根據(jù)從特定的地址位置中讀出數(shù)據(jù)的方向或指定圖案的讀出訪問模式,重新排列來自n個(gè)存儲器的讀出數(shù)據(jù),將重新排列的各個(gè)讀出數(shù)據(jù)一并輸出的讀出數(shù)據(jù)控制器,指定讀出地址時(shí),根據(jù)所述指定讀出訪問模式和所述特定訪問位置,或在跨過訪問空間相鄰的所述虛擬最小二維存儲器空間的情況下根據(jù)所述指定讀出訪問模式,來將所述指定讀出地址校正為一定地址并輸出到所述n個(gè)存儲器中的讀出地址控制單元。
根據(jù)這樣的結(jié)構(gòu),指定讀出地址時(shí),通過讀出地址控制單元,對應(yīng)于指定讀出訪問模式和特定訪問位置,將指定讀出地址校正為一定地址,將校正后的地址輸出到n個(gè)存儲器中。在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間的情況下,通過讀出地址控制單元,對應(yīng)于指定讀出訪問模式,將指定讀出地址校正為一定地址,將校正后的地址輸出到n個(gè)存儲器中。然后,在數(shù)據(jù)讀出時(shí),通過讀出數(shù)據(jù)控制單元,特定虛擬最小二維存儲器空間上的訪問位置,對應(yīng)于讀出訪問模式,重新排列來自n個(gè)存儲器的各讀出數(shù)據(jù),將重新排列的各個(gè)讀出數(shù)據(jù)一并輸出。
涉及本發(fā)明的權(quán)利要求21記載的多維存儲器的數(shù)據(jù)傳送裝置,在權(quán)利要求20中記載的多維存儲器的數(shù)據(jù)傳送裝置中,所述讀出數(shù)據(jù)控制器帶有讀出數(shù)據(jù)時(shí),輸出根據(jù)指定的讀出地址來特定的所述虛擬最小二維存儲器空間上的訪問位置以及根據(jù)指定的所述讀出訪問模式來選擇所述n個(gè)存儲器的讀出數(shù)據(jù)的選擇信號的數(shù)據(jù)控制器,以及對應(yīng)于所述n個(gè)存儲器所設(shè)置、基于來自所述數(shù)據(jù)控制器的選擇信號來選擇來自所述n個(gè)存儲器的各個(gè)讀出數(shù)據(jù)并同時(shí)將其輸出的n個(gè)選擇器,所述讀出地址控制單元帶有指定讀出地址時(shí),根據(jù)所述讀出訪問模式以及所述讀出地址,輸出將相當(dāng)于所述各個(gè)存儲器的下位側(cè)地址的所述讀出地址變換為一定值的地址變換信號的同時(shí),在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間的情況下,根據(jù)所述讀出訪問模式,輸出將相當(dāng)于所述各個(gè)存儲器上位側(cè)地址的所述讀出地址進(jìn)行校正的校正信號的地址控制器,以及對應(yīng)于所述n個(gè)存儲器設(shè)置、基于來自所述地址控制器的地址變換信號將所述讀出地址變換為一定值并向所述各個(gè)存儲器輸出的同時(shí),基于來自所述地址控制器的校正信號對所述讀出地址進(jìn)行校正并向所述各個(gè)存儲器輸出的n個(gè)地址校正器。
根據(jù)這樣的結(jié)構(gòu),指定讀出地址時(shí),通過地址控制器,對應(yīng)于讀出訪問模式以及讀出地址,輸出將相當(dāng)于各個(gè)存儲器的下位側(cè)地址的讀出地址變換為一定值的地址變換信號,通過各個(gè)地址校正單元,基于地址變換信號,將讀出地址變換為一定值并輸出到各個(gè)存儲器中。在訪問空間跨過相鄰的虛擬最小二維存儲器空間的情況下,通過地址控制器,根據(jù)讀出訪問模式,輸出將相當(dāng)于各個(gè)存儲器上位側(cè)地址的讀出地址進(jìn)行校正的校正信號,通過各個(gè)地址校正單元,基于校正信號,校正讀出地址并將其輸出到各個(gè)存儲器中。
然后,在數(shù)據(jù)讀出時(shí),通過數(shù)據(jù)控制器,輸出對應(yīng)于根據(jù)讀出地址的指定特定的虛擬最小二維存儲器空間上的訪問位置,以及讀出訪問模式的指定來選擇n個(gè)存儲器的讀出數(shù)據(jù)的選擇信號,通過各個(gè)選擇單元,基于選擇信號,選擇來自n個(gè)存儲器的各讀出數(shù)據(jù)并同時(shí)將其輸出。
另一方面,為了實(shí)現(xiàn)上述目的,涉及本發(fā)明的權(quán)利要求22中記載的多維存儲器的數(shù)據(jù)傳送程序,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,它是用于在計(jì)算機(jī)中執(zhí)行作為從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出裝置,以及將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入裝置來實(shí)現(xiàn)的處理的程序。
根據(jù)這樣的結(jié)構(gòu),通過計(jì)算機(jī)讀取程序,根據(jù)讀出的程序計(jì)算機(jī)執(zhí)行處理時(shí),可以獲得與權(quán)利要求1記載的多維存儲器的數(shù)據(jù)傳送裝置相同的效果。
涉及本發(fā)明的權(quán)利要求23中記載的一種多維存儲器的數(shù)據(jù)傳送程序,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,它是用于在計(jì)算機(jī)中執(zhí)行作為從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出裝置,以及將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入裝置來實(shí)現(xiàn)的處理的程序。
根據(jù)這樣的結(jié)構(gòu),通過計(jì)算機(jī)讀取程序,根據(jù)讀出的程序計(jì)算機(jī)執(zhí)行處理時(shí),可以獲得與權(quán)利要求10記載的多維存儲器的數(shù)據(jù)傳送裝置相同的效果。
另一方面,為了實(shí)現(xiàn)上述目的,涉及本發(fā)明的權(quán)利要求24中記載的一種多維存儲器的數(shù)據(jù)傳送方法,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,它包含從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出步驟,以及將由所述多維存儲器讀出步驟讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入步驟。
涉及本發(fā)明的權(quán)利要求25中記載的一種多維存儲器的數(shù)據(jù)傳送方法,它在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,它包含從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出步驟,以及將由所述一維存儲器讀出步驟讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入步驟。
圖1是示出虛擬最小二維存儲器空間1的圖。
圖2是示出映射到虛擬最小二維存儲器空間的物理存儲器的圖。
圖3是示出了基于虛擬最小二維存儲器空間1所形成的二維存儲器空間3的圖。
圖4是說明訪問模式的圖。
圖5是示出了二維數(shù)據(jù)、訪問、存儲器10的結(jié)構(gòu)框圖。
圖6是示出讀出地址控制單元11以及讀出數(shù)據(jù)控制器12結(jié)構(gòu)框圖。
圖7是示出寫入地址控制單元13以及寫入數(shù)據(jù)控制器14的結(jié)構(gòu)框圖。
圖8是示出根據(jù)讀出地址和讀出訪問模式各選擇單元選擇哪個(gè)存儲器的輸出的圖。
圖9是示出讀出地址變換例子的圖。
圖10是示出讀出地址校正例子的圖。
圖11是示出涉及本發(fā)明的運(yùn)算處理裝置的結(jié)構(gòu)框圖。
圖12是示出通過常規(guī)傳送模式傳送數(shù)據(jù)情況的示意圖。
圖13是示出常規(guī)傳送處理的流程圖。
圖14是示出通過轉(zhuǎn)置傳送模式傳送數(shù)據(jù)情況的示意圖。
圖15是示出轉(zhuǎn)置傳送處理的流程圖。
圖16是利用二維數(shù)據(jù)、訪問、存儲器10執(zhí)行二維DCT的情況時(shí)的操作圖。
圖17是利用二維數(shù)據(jù)、訪問、存儲器10執(zhí)行二維DCT的情況時(shí)的操作圖。
圖18是利用二維數(shù)據(jù)、訪問、存儲器10執(zhí)行二維DCT的情況時(shí)的操作圖。
圖19是表示相對于DMAC43輸入輸出信號變化的時(shí)序圖。
圖20是示出了在地址信號的最上位比特部分中分配訪問模式情況的數(shù)據(jù)結(jié)構(gòu)例子的圖。
圖21是示出了如圖20所示分配信號的情況中,讀出地址控制單元以及讀出數(shù)據(jù)控制器的結(jié)構(gòu)例子框圖。
具體實(shí)施例方式
以下,參照
本發(fā)明的實(shí)施例。圖1到圖19是示出了涉及本發(fā)明的多維存儲器的數(shù)據(jù)傳送裝置以及多維存儲器的數(shù)據(jù)傳送程序、以及多維存儲器的數(shù)據(jù)傳送方法的實(shí)施例的圖。
本實(shí)施例將涉及本發(fā)明的多維存儲器的數(shù)據(jù)傳送裝置以及多維存儲器的數(shù)據(jù)傳送程序、以及多維存儲器的數(shù)據(jù)傳送方法應(yīng)用于通過DMAC(直接存儲器尋址控制器)在二維數(shù)據(jù)、訪問、存儲器和一維數(shù)據(jù)、訪問、存儲器之間進(jìn)行數(shù)據(jù)傳送的情況。
本實(shí)施例中,除了SRAM等一維數(shù)據(jù)、訪問、存儲器之外,還可以利用從訪問側(cè)看去將存儲器空間構(gòu)造成二維存儲器的數(shù)據(jù)、訪問、存儲器。由于二維數(shù)據(jù)、訪問、存儲器確定了如圖1所示的虛擬最小二維存儲器空間1,因此,首先對此進(jìn)行說明。圖1是示出了虛擬最小二維存儲器空間1的圖。
如圖1所示,虛擬最小二維存儲器空間1是例如在縱方向和橫方向上分別各配置4個(gè)總計(jì)16個(gè)可存儲1字節(jié)(8比特)最小單位的假設(shè)存儲元件2。因而,該例子是由4字節(jié)×4字節(jié)=16字節(jié)構(gòu)成。并且,虛擬最小二維存儲器空間1的大小除了上述16字節(jié)以外還可以是8×8=64字節(jié)等。
如圖2所示,在物理上,將虛擬最小二維存儲器空間1預(yù)先分割為4個(gè)物理的存儲器4A-4C并映射。即,1個(gè)虛擬最小二維存儲器空間1對應(yīng)于從4個(gè)物理存儲器4A-4C的相同地址開始的4字節(jié)連續(xù)區(qū)域。具體而言,例如,預(yù)先分別將各存儲器4A-4D的一定地址an(0)、bn(0)、cn(0)、dn(0)分配給虛擬最小二維存儲器空間1的各地址an(0)、bn(0)、cn(0)、dn(0)...。
本實(shí)施例中,由于假定了如圖3所示的二維存儲器空間3,因此對此進(jìn)行說明。圖3是示出了基于虛擬最小二維存儲器空間1所形成的二維存儲器空間3的圖。
如圖3所示,二維存儲器空間3將虛擬最小二維存儲器空間1在縱方向和橫方向上配置為瓦片狀。在二維存儲器空間3中,在橫方向上排列虛擬最小二維存儲器空間1的個(gè)數(shù)可以任意設(shè)定為2的倍數(shù),圖3的例子中,為16字節(jié)×n字節(jié)。
隨后,參照圖1到圖4說明涉及本實(shí)施例的存儲器的利用方法。
首先,如圖3所示,假定使虛擬最小二維存儲器空間1在縱橫方向上排列成瓦片狀的二維存儲器空間3。
另一方面,預(yù)先將虛擬最小二維存儲器空間1的各個(gè)地址分配(對應(yīng))到由與虛擬最小二維存儲器空間1的大小之間的關(guān)系確定的4個(gè)物理存儲器4A-4D的一定各個(gè)地址(參照圖1以及圖2)。
隨后,說明有關(guān)讀出從虛擬最小二維存儲器空間1上的任意地址開始連續(xù)的數(shù)據(jù)時(shí)的存儲器4A-4D的讀出操作。
這種情況中,指定該任意讀出地址同時(shí),指定指定數(shù)據(jù)讀出方向的讀出訪問模式。
在讀出訪問模式中,存在行方向訪問模式、列方向訪問模式、行方向2階段訪問模式。
如圖4的M1所示,行方向訪問模式從虛擬最小二維存儲器空間1上的任意讀出地址開始沿行方向(橫方向)按8比特×4、16比特×2、或32比特×1這樣讀出數(shù)據(jù),考慮16個(gè)左右的地址。
如圖4的M2所示,列方向訪問模式從虛擬最小二維存儲器空間1上的任意讀出地址開始沿列方向(縱方向)按8比特×4這樣讀出數(shù)據(jù),考慮16個(gè)左右的地址。
行方向2階段訪問模式如圖4的M3所示從虛擬最小二維存儲器空間1上的任意地址開始跨越行方向2階段,按16比特×2這樣讀出數(shù)據(jù),考慮8個(gè)左右的地址。在該模式中,將行方向僅限定為2字節(jié)單位。
如此,指定虛擬最小二維存儲器空間1上的任意讀出地址,并且一旦指定了讀出訪問模式,就基于該指定的讀出地址以及指定的讀出訪問模式,指定對應(yīng)于存儲器4A-4D的各個(gè)地址,讀出數(shù)據(jù)時(shí),同時(shí)輸出該讀出的數(shù)據(jù)。
例如,在圖4中,在虛擬最小二維存儲器空間1上,指定地址cn(0),并且指定M3所示的行方向2階段訪問模式的情況中,變?yōu)橐韵虑闆r。即,在這種情況中,分別將存儲器4A指定為地址an(1),將存儲器4B指定為地址bn(1),將存儲器4C指定為地址cn(0),將存儲器4D指定為地址dn(0),同時(shí)讀出各個(gè)數(shù)據(jù)。
隨后,說明將數(shù)據(jù)同時(shí)寫入虛擬最小二維存儲器空間1上的任意地址中時(shí)的存儲器4A-4D的寫入操作。
該情況中,指定該任意寫入地址的同時(shí),指定指定了數(shù)據(jù)寫入方向的寫入訪問模式。這樣做時(shí),基于該指定寫入地址和指定寫入訪問模式,在指定對應(yīng)于存儲器4A-4D的各個(gè)地址并變?yōu)榭蓪懭霐?shù)據(jù)的同時(shí),同時(shí)在各個(gè)地址中寫入應(yīng)該寫入的數(shù)據(jù)。
例如,在圖4中,在虛擬最小二維存儲器空間1上,指定地址cn(0),并且指定M3所示的行方向2階段訪問模式的情況中,變?yōu)橐韵虑闆r。即,在這種情況中,分別將存儲器4A指定為地址an(1),將存儲器4B指定為地址bn(1),將存儲器4C指定為地址cn(0),將存儲器4D指定為地址dn(0),數(shù)據(jù)變?yōu)榭梢詫懭霠顟B(tài),同時(shí)執(zhí)行這些各個(gè)數(shù)據(jù)的寫入。
如上所述,根據(jù)涉及本實(shí)施例的存儲器的利用方法,一旦指定了二維存儲器空間3上任意的訪問位置和訪問模式,則對應(yīng)于該指定,可以將二維存儲器空間3上任意訪問位置開始的橫方向或縱方向上連續(xù)的數(shù)據(jù)同時(shí)讀出寫入到各個(gè)存儲器4A-4D中。為此,涉及本實(shí)施例的存儲器的利用方法有利于SIMD運(yùn)算的高效率。
參照圖5到圖7來說明二維數(shù)據(jù)、訪問、存儲器10的結(jié)構(gòu)。
二維數(shù)據(jù)、訪問、存儲器10是將涉及上述實(shí)施例的存儲器利用方法具體化的裝置,如圖5所示,它帶有存儲器4A-4D、讀出地址控制單元11、讀出數(shù)據(jù)控制器12、寫入地址控制單元13、寫入數(shù)據(jù)庫控制單元14。
然后,讀出地址控制單元11和讀出數(shù)據(jù)控制器12構(gòu)成數(shù)據(jù)讀出系統(tǒng),同時(shí),寫入地址控制單元13和寫入數(shù)據(jù)控制器14構(gòu)成數(shù)據(jù)寫入系統(tǒng),這兩個(gè)系統(tǒng)共同擁有存儲器4A-4D。
如圖3所示,存儲器4A-4D是這樣的存儲器假設(shè)將虛擬最小二維存儲器空間1排列在縱橫方向上的二維存儲器空間3,如圖2所示,事先按照一定的規(guī)則將虛擬最小二維存儲器空間1的各個(gè)地址分別分配給預(yù)先確定的地址。
讀出地址控制單元11為這樣的地址控制單元指定讀出地址時(shí),根據(jù)讀出訪問模式的指定,將該讀出地址中的一定地址變換為一定值并輸出到存儲器4A-4D的同時(shí),在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間1的情況下(參照圖3以及圖4),根據(jù)指定讀出訪問模式,校正該讀出地址中的除了上述地址之外的地址并將其輸出到存儲器4A-4D。
讀出數(shù)據(jù)控制器12為這樣的控制單元指定讀出地址時(shí),根據(jù)讀出地址的一部分特定虛擬最小二維存儲器空間1上的讀出地址,對應(yīng)于特定的讀出地址以及指定的讀出訪問模式,重新排列來自存儲器4A-4D的各個(gè)讀出數(shù)據(jù),并且將重新排列的數(shù)據(jù)同時(shí)輸出。
寫入地址控制單元13為這樣的控制單元指定寫入地址時(shí),根據(jù)寫入訪問模式的指定,將該寫入地址中的一定地址變換為一定值并輸出到存儲器4A-4D的同時(shí),在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間1的情況下,根據(jù)指定寫入訪問模式,校正該寫入地址中的除了上述地址之外的地址并將其輸出到存儲器4A-4D。
寫入數(shù)據(jù)控制器14為這樣的控制單元對存儲器4A-4D寫入各個(gè)數(shù)據(jù)時(shí),基于寫入地址的一部分,特定虛擬最小二維存儲器空間1上的寫入地址,根據(jù)特定的寫入地址以及指定的寫入訪問模式,重新排列對存儲器4A-4D的各個(gè)寫入數(shù)據(jù),并且將重新排列的各個(gè)寫入數(shù)據(jù)同時(shí)寫入存儲器4A-4D的各個(gè)指定地址中。
然后,參照圖6詳細(xì)說明讀出地址控制單元11以及讀出數(shù)據(jù)控制器12的結(jié)構(gòu)。圖6是示出讀出地址控制單元11以及讀出數(shù)據(jù)控制器12結(jié)構(gòu)框圖。
如圖6所示,讀出地址控制單元11帶有地址控制器21以及4個(gè)地址校正單元22A-22D。
地址控制器21為這樣的控制單元,根據(jù)讀出地址A0、A1、A4、A5的指定以及讀出訪問模式的指定,將用于將相當(dāng)于存儲器4A-4D下位2比特的地址a0、a1的讀出地址A4、A5變換為一定值的地址變換信號輸出到校正單元22A-22D的同時(shí),在訪問的空間跨接相鄰的虛擬最小二維存儲器空間1的情況下,根據(jù)讀出訪問模式的指定,用于將相當(dāng)于存儲器4A-4D上位5比特的地址a2-a7的讀出地址A2、A3、A6-A9校正為一定值的校正信號輸出到地址校正單元22A-22D。
這里,讀出地址A0、A1為指定虛擬最小二維存儲器空間1的行方向(橫方向)的地址的地址,相當(dāng)于存儲器4A-4D的下位側(cè)的地址a0、a1。讀出地址A4、A5為指定虛擬最小二維存儲器空間1的列方向(縱方向)的地址的地址。另外,讀出地址A2、A3、A6-A9為指定二維存儲器空間3的地址的地址,相當(dāng)于存儲器4A-4D的地址a2-a7。
地址校正單元22A-22D為這樣的單元對應(yīng)于存儲器4A-4D而設(shè)計(jì),根據(jù)來自地址控制器21的地址變換信號,將讀出地址A4、A5變換為一定值,并將其作為存儲器4A-4D的下位側(cè)的地址a0、a1輸出的同時(shí),基于來自地址控制器21的校正信號,將讀出地址A2、A3、A6-A9僅校正為一定值并將其作為存儲器4A-4D的上5位地址a2-a7輸出。
如圖6所示,讀出數(shù)據(jù)控制器12帶有數(shù)據(jù)控制器23和4個(gè)選擇單元24A-24D。
數(shù)據(jù)控制器23為這樣的單元讀出地址時(shí),根據(jù)讀出地址A0、A1、A4、A5的指定,特定虛擬最小二維存儲器空間1上的讀出地址,根據(jù)指定從特定讀出地址中讀出數(shù)據(jù)的方向的讀出訪問模式,分別向選擇單元24A-24D輸出選擇單元24A-24D選擇存儲器4A-4D時(shí)的選擇信號。
選擇單元24A-24D是對應(yīng)于存儲器4A-4D而設(shè)計(jì),并且是基于來自數(shù)據(jù)控制器23的選擇信號來選擇各個(gè)存儲器4A-4D輸出線上的讀出數(shù)據(jù)并同時(shí)將其輸出(取出)的單元。
隨后,參照圖7詳細(xì)說明寫入地址控制單元13以及寫入數(shù)據(jù)控制器14的結(jié)構(gòu)。圖7是示出寫入地址控制單元13以及寫入數(shù)據(jù)控制器14的結(jié)構(gòu)框圖。
如圖7所示,寫入地址控制單元13帶有地址控制器31以及4個(gè)地址校正單元32A-32D。
地址控制器31為這樣的控制單元,根據(jù)寫入地址A0、A1、A4、A5的指定以及寫入訪問模式的指定,將用于將相當(dāng)于存儲器4A-4D下位2比特的地址a0、a1的寫入地址A4、A5變換為一定值的地址變換信號輸出到校正單元32A-32D的同時(shí),在訪問的空間跨接相鄰的虛擬最小二維存儲器空間1的情況下,根據(jù)寫入訪問模式的指定,用于將相當(dāng)于存儲器4A-4D上位5比特的地址a2-a7的地址的寫入地址A2、A3、A6-A9僅校正為一定值的校正信號輸出到地址校正單元32A-32D。
這里,寫入訪問模式與讀出訪問模式基本相同,由3個(gè)訪問模式組成。
地址校正單元32A-32D為這樣的單元對應(yīng)于存儲器4A-4D而設(shè)計(jì),根據(jù)來自地址控制器31的地址變換信號,將寫入地址A4、A5變換為一定值,并將其作為存儲器4A-4D的下位側(cè)的地址a0、a1輸出的同時(shí),基于來自地址控制器31的校正信號,將寫入地址A2、A3、A6-A9校正為一定值并將其作為存儲器4A-4D的上5位地址a2-a7輸出。
如圖7所示,寫入數(shù)據(jù)控制器14帶有數(shù)據(jù)控制器33和4個(gè)選擇單元34A-34D。
數(shù)據(jù)控制器33為這樣的單元寫入數(shù)據(jù)時(shí),根據(jù)寫入地址A0、A1、A4、A5的指定,特定虛擬最小二維存儲器空間1上的寫入地址,根據(jù)指定從特定寫入地址中寫入數(shù)據(jù)的方向的寫入訪問模式,分別向選擇單元34A-34D輸出選擇單元34A-34D選擇存儲器4A-4D時(shí)的選擇信號。
選擇單元34A-34D是對應(yīng)于存儲器4A-4D而設(shè)計(jì),并且是基于來自數(shù)據(jù)控制器33的選擇信號,使來自外部的寫入數(shù)據(jù)(例如,32比特)對應(yīng)于各個(gè)存儲器4A-4D的各個(gè)指定地址,并且以例如8比特為單位同時(shí)將其提供的選擇單元。
隨后,參照圖8到圖10說明二維數(shù)據(jù)、訪問、存儲器10的操作。
首先,說明讀出數(shù)據(jù)的情況。這種情況中,需要進(jìn)行地址控制器21和地址校正單元22A-22D的對讀出地址的控制以及數(shù)據(jù)控制器23和選擇單元24A-24D的對讀出數(shù)據(jù)的控制,從數(shù)據(jù)控制器23開始進(jìn)行說明。
在讀出數(shù)據(jù)時(shí),數(shù)據(jù)控制器23根據(jù)指定讀出地址A0、A1、A4、A5特定假設(shè)的最小二維存儲器空間1上的讀出地址,與此同時(shí),根據(jù)讀出地址,將選擇器24A-24D選擇存儲器4A-4D時(shí)的選擇信號分別輸出給選擇器24A-24D。
例如,如圖8的No1所示,將“00”、“00”指定為讀出地址“A0、A1”、“A4、A5”,將行方向訪問模式(00)指定為讀出訪問模式的情況下,選擇單元24A選擇存儲器4A,選擇單元24B選擇存儲器4B,選擇單元24C選擇存儲器4C,以及選擇單元24D選擇存儲器4D。
例如,如圖8的No17所示,將“00”、“00”指定為讀出地址“A0、A1”、“A4、A5”,將列方向訪問模式(01)指定為讀出訪問模式的情況下,選擇單元24A選擇存儲器4A,選擇單元24B選擇存儲器4C,選擇單元24C選擇存儲器4B,以及選擇單元24D選擇存儲器4D。
選擇單元24A-24D根據(jù)來自數(shù)據(jù)控制器23的選擇信號讀出數(shù)據(jù)時(shí),同時(shí)輸出各個(gè)存儲器4A-4D輸出線上的讀出數(shù)據(jù)。
例如,在上述圖8的No1的情況中,讀出數(shù)據(jù)時(shí),同時(shí)輸出各個(gè)存儲器4A-4D輸出線上的讀出數(shù)據(jù)(例如,8比特),即,由選擇單元24A選擇的存儲器4A的數(shù)據(jù)、由選擇單元24B選擇存儲器4B,選擇單元24C選擇存儲器4C,以及選擇單元24D選擇存儲器4D。在圖8的No17的情況下,讀出數(shù)據(jù)時(shí),同時(shí)輸出各個(gè)存儲器4A-4D輸出線上的讀出數(shù)據(jù),即,由選擇單元24A選擇的存儲器4A的數(shù)據(jù),由選擇單元24B選擇的存儲器4C的數(shù)據(jù),由選擇單元24C選擇的存儲器4B的數(shù)據(jù),以及由選擇單元24D選擇的存儲器4D的數(shù)據(jù)。
另一方面,地址控制器21根據(jù)讀出地址A0、A1、A4、A5的指定以及讀出訪問模式的指定,用于將相當(dāng)于存儲器4A-4D下位2比特的地址a0、a1的讀出地址A4、A5變換為一定值的地址變換信號分別輸出到校正單元22A-22D。
例如,如圖9所示,在將行方向訪問模式作為讀出訪問模式指定的情況中,指定讀出地址A4、A5時(shí),不執(zhí)行該指定讀出地址A4、A5的變換。因此,例如,將讀出地址A4、A5指定為00的情況下,將該00作為存儲器4A-4D的各個(gè)地址a0、a1來輸出。
與此相反,如圖9所示,在讀出訪問模式為列行方向訪問模式或指定行方向2階段訪問模式的情況中,指定讀出地址A4、A5時(shí),執(zhí)行該指定讀出地址A4、A5的變換。例如,將列方向訪問模式指定為讀取訪問模式,將讀出地址A4、A5指定為00時(shí),雖然不對存儲器4A的各個(gè)地址a0、a1進(jìn)行變換,因而對于存儲器4B、4C、4D的各個(gè)地址a0、a1而言,分別將其變換為01、10以及11并輸出。
地址控制器21在訪問跨過的空間相鄰的虛擬最小二維存儲器空間1的情況下(參照圖3以及圖4),根據(jù)讀出訪問模式的指定,將指定的讀出地址A2、A3、A6-A9作為相當(dāng)于存儲器4A-4D上位5比特的地址d2-d7的地址原樣輸出,或校正該指定的讀出地址A2、A3、A6-A9,向地址校正單元22A-22D輸出將校正過的地址作為存儲器4A-4D上位5比特的地址d2-d7輸出的校正信號。
例如,如圖10的No2所示,將行方向訪問模式作為讀出訪問模式指定,將“10000”指定為讀出地址A0、A1、A4、A5的情況中,地址控制器21將用來將存儲器22A的地址a2-a7加上+1的校正信號輸出到地址校正單元22A。因而,圖10中的+1以及+4表示將存儲器22A的地址a2-a7加上+1以及+4。
然后,說明寫入數(shù)據(jù)的情況。這種情況中,需要進(jìn)行地址控制器31和地址校正單元32A-32D的寫入地址的控制以及數(shù)據(jù)控制器33和選擇單元34A-34D的讀出數(shù)據(jù)的控制。
但是,由于地址控制器31和地址校正單元32A-32D的寫入地址的控制操作與地址控制器21和地址校正單元22A-22D的讀出地址的控制操作實(shí)質(zhì)相同,因此省略對其的說明。
在數(shù)據(jù)寫入時(shí),根據(jù)寫入地址A0、A1、A4、A5的指定,數(shù)據(jù)控制器33特定虛擬最小二維存儲器空間1上的寫入地址,根據(jù)指定將來自特定寫入地址的數(shù)據(jù)寫入方向的寫入訪問模式,將選擇單元34A-34D選擇存儲器4A-4D時(shí)用的選擇信號分別輸出到選擇單元34A-34D。數(shù)據(jù)控制器33與數(shù)據(jù)控制器23的操作基本相同。
選擇單元34A-34D根據(jù)來自數(shù)據(jù)控制器33的選擇信號,選擇來自外部的各個(gè)寫入數(shù)據(jù),并將其同時(shí)提供給各個(gè)存儲器4A-4D的指定地址。
如上所述,根據(jù)二維數(shù)據(jù)、訪問、存儲器10,能夠從物理的存儲器4A-4D上同時(shí)讀出從二維存儲器空間3上指定位置開始排列在橫方向或縱方向上的連續(xù)數(shù)據(jù),由于能夠在各個(gè)存儲器4A-4D上同時(shí)寫入以便于從二維存儲器空間3上指定位置開始沿橫方向或縱方向上,數(shù)據(jù)能連續(xù)地排列,因此可以實(shí)現(xiàn)高效率的SIMD運(yùn)算。
其次,參照圖11說明有關(guān)本發(fā)明的運(yùn)算處理裝置的結(jié)構(gòu)。圖11是示出了有關(guān)本發(fā)明運(yùn)算處理裝置結(jié)構(gòu)的框圖。
運(yùn)算處理裝置是利用二維數(shù)據(jù)、訪問、存儲器10,在SIMD型處理器42中執(zhí)行二維DCT(Discrete Cosine Transform離散余弦變換)的裝置。
如圖11所示,運(yùn)算處理裝置由一維數(shù)據(jù)、訪問、存儲器41、二維數(shù)據(jù)、訪問、存儲器10、利用一維數(shù)據(jù)、訪問、存儲器41以及二維數(shù)據(jù)、訪問、存儲器10執(zhí)行SIMD運(yùn)算的SIMD型處理器42,在一維數(shù)據(jù)、訪問、存儲器41和二維數(shù)據(jù)、訪問、存儲器10之間傳送數(shù)據(jù)的DMAC43構(gòu)成。
SIMD型處理器42是根據(jù)后述的一定運(yùn)算處理,在可以指定二維數(shù)據(jù)、訪問、存儲器10中的數(shù)據(jù)讀出或?qū)懭霑r(shí)的地址的同時(shí),能以命令程序設(shè)定訪問模式的處理器。
DMAC43通過一定脈沖串長度(例如,4比特)的總線分別連接到一維數(shù)據(jù)、訪問、存儲器41以及二維數(shù)據(jù)、訪問、存儲器10,通過來自SIMD型處理器42的指令在一維數(shù)據(jù)、訪問、存儲器41和二維數(shù)據(jù)、訪問、存儲器10之間以矩形形狀的存儲器區(qū)域?yàn)閱挝贿M(jìn)行數(shù)據(jù)的傳送。在數(shù)據(jù)傳送模式中,可以設(shè)定原樣傳送矩形形狀存儲器區(qū)域的常規(guī)傳送模式,以及將矩形形狀的存儲器區(qū)域轉(zhuǎn)置傳送的轉(zhuǎn)置模式,根據(jù)來自傳送模式SIMD型處理器42的指令來將傳送模式為任一模式。
隨后,參照圖12以及圖13說明DMAC43中執(zhí)行的常規(guī)傳送處理。圖12是示出了通過常規(guī)傳送模式傳送數(shù)據(jù)情況的示意圖。圖13是示出了常規(guī)傳送處理的流程圖。
將常規(guī)傳送模式設(shè)定為傳送模式的情況中,常規(guī)傳送處理為在一維數(shù)據(jù)、訪問、存儲器41和二維數(shù)據(jù)、訪問、存儲器10之間執(zhí)行數(shù)據(jù)傳送的處理。
在從二維數(shù)據(jù)、訪問、存儲器10開始向一維數(shù)據(jù)、訪問、存儲器41進(jìn)行數(shù)據(jù)傳送的情況中,如圖12所示,在二維數(shù)據(jù)、訪問、存儲器10中,將邏輯上構(gòu)成的二維空間橫方向上的數(shù)據(jù)長度定為FrameX,在一維數(shù)據(jù)、訪問、存儲器41中,將邏輯上構(gòu)成的二維空間橫方向上的數(shù)據(jù)長度定為FrameX′的同時(shí),通過將二維數(shù)據(jù)、訪問、存儲器10中的邏輯二維空間中的矩形區(qū)域原樣傳送到一維數(shù)據(jù)、訪問、存儲器41中的邏輯二維空間中來執(zhí)行數(shù)據(jù)傳送。
在二維數(shù)據(jù)、訪問、存儲器10中,通過作為從二維數(shù)據(jù)、訪問、存儲器10讀出數(shù)據(jù)時(shí)的基準(zhǔn)的傳送端地址SA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。在一維數(shù)據(jù)、訪問、存儲器41中,通過作為在一維數(shù)據(jù)、訪問、存儲器41中寫入數(shù)據(jù)時(shí)的基準(zhǔn)的傳送目的地地址DA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。
進(jìn)行數(shù)據(jù)傳送時(shí),如圖13所示,SIMD型處理器42首先移動(dòng)到步驟S100。
在步驟S100中,在寄存器中設(shè)定傳送端地址SA,移動(dòng)到步驟S102,在寄存器中設(shè)定傳送目的地地址DA,移動(dòng)到步驟S104,在寄存器中設(shè)定數(shù)據(jù)長度FrameX,移動(dòng)到步驟S106,在寄存器中設(shè)定數(shù)據(jù)長度FrameX′,移動(dòng)到步驟S108。
在步驟S108中,在寄存器中設(shè)定數(shù)據(jù)長度Rect.X,移動(dòng)到步驟S110,在寄存器中設(shè)定數(shù)據(jù)長度Rect.Y,移動(dòng)到步驟S112,在寄存器中將常規(guī)傳送模式作為傳送模式來設(shè)定,移動(dòng)到步驟S114,通過設(shè)定控制寄存器來指示開始傳送數(shù)據(jù),這一系列處理結(jié)束后返回到原始的處理。
DMAC43一旦設(shè)定常規(guī)傳送模式、設(shè)定控制寄存器時(shí),就執(zhí)行常規(guī)傳送處理,如圖13所示,首先移動(dòng)到步驟S200。
步驟S200中,將狀態(tài)變更為忙碌狀態(tài),移動(dòng)到步驟S202,將數(shù)據(jù)長度Rect.Y設(shè)定為變量Y,移動(dòng)到步驟S204,將數(shù)據(jù)長度Rect.X設(shè)定為變量X,移動(dòng)到步驟S206。
在步驟S206中判斷變量Y的值是否大于0,在判斷出變量Y的值大于0時(shí)(Yes),移動(dòng)到步驟S208,判斷變量X的值是否是超過脈沖串長度(在上述例子中為4比特)的值,判斷出變量X的值為超過脈沖串長度的值時(shí)(Yes),移動(dòng)到步驟S210。
在步驟S210中,以傳送端地址SA為基準(zhǔn),以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出數(shù)據(jù),移動(dòng)到步驟S212,以傳送目的地地址DA為基準(zhǔn),以脈沖串長度為單位將數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,移動(dòng)到步驟S214。
在步驟S214中,從變量X的值中減去脈沖串長度,移動(dòng)到步驟S228,在傳送端地址SA中加上脈沖串長度,移動(dòng)到步驟S230,在傳送目的地地址DA中加上脈沖串長度,然后移動(dòng)到步驟S208。
另一方面,在步驟S208中,判斷出變量X的值沒有脈沖串長度長之時(shí)(No),移動(dòng)到步驟S232,以傳送端地址SA為基準(zhǔn),從二維數(shù)據(jù)、訪問、存儲器10中讀出相當(dāng)于變量X值大小的比特?cái)?shù)數(shù)據(jù),移動(dòng)到步驟S250,以傳送目的地地址DA為基準(zhǔn),在一維數(shù)據(jù)、訪問、存儲器41中寫入相當(dāng)于變量X值的比特?cái)?shù)數(shù)據(jù),移動(dòng)到步驟S252。
在步驟S252中,在傳送端地址SA中加上從變量X以及數(shù)據(jù)長度FrameX的相加值中減去數(shù)據(jù)長度Rect.X所得到的值,移動(dòng)到步驟S254,在傳送目的地地址DA中加上從變量X以及數(shù)據(jù)長度FrameX′的相加值中減去數(shù)據(jù)長度Rect.X所得到的值,移動(dòng)到步驟S256,從變量Y的值中減去1,然后移動(dòng)到步驟S204。
另一方面,在步驟S206中,判斷出變量Y的值為0以下的值時(shí)(No),移動(dòng)到步驟S258,將完成狀態(tài)變更為結(jié)束狀態(tài)。完成狀態(tài)的變更是在一維數(shù)據(jù)、訪問、存儲器4 1中等待通過步驟S300輸出的寫入操作結(jié)束響應(yīng)后執(zhí)行的。
然后,移動(dòng)到步驟S260,判斷中斷屏蔽標(biāo)記的值是否為0,判斷出中斷屏蔽的值不為0時(shí)(No),移動(dòng)到步驟S262,將狀態(tài)變更為準(zhǔn)備狀態(tài),結(jié)束一系列的處理返回到原始處理狀態(tài)。
另一方面,在步驟S260中,判斷中斷屏蔽標(biāo)記為0時(shí)(Yes),移動(dòng)到步驟S264,輸出請求到中斷控制器中,結(jié)束一系列的處理返回到原始處理。
在中斷控制器中,輸入請求時(shí),將中斷信號輸出到SIMD型處理器42,在SIMD型處理器42中輸入中斷信號時(shí),移動(dòng)到步驟S120,執(zhí)行例外處理。執(zhí)行例外處理時(shí),DMAC43通過步驟S226進(jìn)入完成狀態(tài)的結(jié)束位,結(jié)束一系列的處理返回到原始處理。
然后,在執(zhí)行從一維數(shù)據(jù)、訪問、存儲器41到二維數(shù)據(jù)、訪問、存儲器10的數(shù)據(jù)傳送的情況中,如圖12所示,將一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間橫方向上的數(shù)據(jù)長度定為FrameX,將二維數(shù)據(jù)、訪問、存儲器10中邏輯上的二維空間橫方向上的數(shù)據(jù)長度定為FrameX′之時(shí),通過將一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間中的矩形區(qū)域原樣傳送到二維數(shù)據(jù)、訪問、存儲器10中的邏輯二維空間中來執(zhí)行數(shù)據(jù)傳送。
在一維數(shù)據(jù)、訪問、存儲器41中,通過作為從一維數(shù)據(jù)、訪問、存儲器41中讀出數(shù)據(jù)時(shí)的基準(zhǔn)的傳送端地址SA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。在二維數(shù)據(jù)、訪問、存儲器10中,通過作為在二維數(shù)據(jù)、訪問、存儲器10中寫入數(shù)據(jù)時(shí)的基準(zhǔn)的傳送目的地地址DA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。
這種情況中,在DMAC43中,以與執(zhí)行從二維數(shù)據(jù)、訪問、存儲器10到一維數(shù)據(jù)、訪問、存儲器41的數(shù)據(jù)傳送的情況相同的方式來執(zhí)行常規(guī)傳送處理。因而,省略對其的說明。
其次,參照圖14以及圖15說明在DMAC43中執(zhí)行的轉(zhuǎn)置傳送處理。圖14是示出了通過轉(zhuǎn)置傳送模式傳送數(shù)據(jù)情況的示意圖。圖15是顯示轉(zhuǎn)置傳送處理的流程圖。
在將轉(zhuǎn)置傳送模式設(shè)定為傳送模式的情況下,轉(zhuǎn)置傳送處理是在一維數(shù)據(jù)、訪問、存儲器41和二維數(shù)據(jù)、訪問、存儲器10之間執(zhí)行數(shù)據(jù)傳送的處理。
在執(zhí)行從二維數(shù)據(jù)、訪問、存儲器10到一維數(shù)據(jù)、訪問、存儲器41的數(shù)據(jù)傳送的情況中,如圖14所示,將二維數(shù)據(jù)、訪問、存儲器10中邏輯上的二維空間橫方向上的數(shù)據(jù)長度定為FrameX,將一維數(shù)據(jù)、訪問、存儲器41的邏輯上的二維空間橫方向上的數(shù)據(jù)長度定為FrameX′之時(shí),通過將二維數(shù)據(jù)、訪問、存儲器10中邏輯上的二維空間中的矩形區(qū)域轉(zhuǎn)置并傳送到一維數(shù)據(jù)、訪問、存儲器41中邏輯上的二維空間中,來執(zhí)行數(shù)據(jù)傳送。
在二維數(shù)據(jù)、訪問、存儲器10中,通過作為從二維數(shù)據(jù)、訪問、存儲器10讀出數(shù)據(jù)時(shí)基準(zhǔn)的傳送端地址SA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。在一維數(shù)據(jù)、訪問、存儲器41中,通過作為在一維數(shù)據(jù)、訪問、存儲器41中寫入數(shù)據(jù)時(shí)基準(zhǔn)的傳送目的地地址DA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。
進(jìn)行數(shù)據(jù)傳送時(shí),如圖15所示,SIMD型處理器42首先移動(dòng)到步驟S100。
在步驟S100中,在寄存器中設(shè)定傳送端地址SA,移動(dòng)到步驟S102,在寄存器中設(shè)定傳送目的地地址DA,移動(dòng)到步驟S104,在寄存器中設(shè)定數(shù)據(jù)長度FrameX,移動(dòng)到步驟S106,在寄存器中設(shè)定數(shù)據(jù)長度FrameX′,移動(dòng)到步驟S108。
在步驟S108中,在寄存器中設(shè)定數(shù)據(jù)長度Rect.X,移動(dòng)到步驟S110,在寄存器中設(shè)定數(shù)據(jù)長度Rect.Y,移動(dòng)到步驟S11 2,在寄存器中將常規(guī)傳送模式作為傳送模式來設(shè)定,移動(dòng)到步驟S114,通過設(shè)定控制寄存器來指示開始傳送數(shù)據(jù),這一系列處理結(jié)束后返回到原始的處理。
DMAC43一旦設(shè)定轉(zhuǎn)置傳送模式、設(shè)定控制寄存器時(shí),就執(zhí)行常規(guī)傳送處理,如圖15所示,首先移動(dòng)到步驟S200。
步驟S200中,將狀態(tài)變更為忙碌狀態(tài),移動(dòng)到步驟S202,將數(shù)據(jù)長度Rect.Y設(shè)定為變量Y,移動(dòng)到步驟S204,將數(shù)據(jù)長度Rect.X設(shè)定為變量X,移動(dòng)到步驟S206。
在步驟S206中判斷變量Y的值是否大于0,在判斷出變量Y的值大于0時(shí)(Yes),移動(dòng)到步驟S208,判斷變量X的值是否是超過脈沖串長度(在上述例子中為4比特)的值,判斷出變量X的值為脈沖串長度以上的值時(shí)(Yes),移動(dòng)到步驟S210。
在步驟S210中,以傳送端地址SA為基準(zhǔn),以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出數(shù)據(jù),移動(dòng)到步驟S214,從變量X的值中減去脈沖串長度,移動(dòng)到步驟S216,在變量n中設(shè)定脈沖串長度,移動(dòng)到步驟S218。
在步驟S218中,以傳送目的地地址DA為基準(zhǔn),將1字節(jié)的數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,移動(dòng)到步驟S220,在傳送目的地地址DA中加上數(shù)據(jù)長度FrameX′,移動(dòng)到步驟S220,從變量n的值中減去1,然后移動(dòng)到步驟S224。
在步驟S224中,判斷變量n的值是否大于0,判斷變量n的值大于0時(shí)(Yes),移動(dòng)到步驟S218,將其判斷為否定時(shí)(No),移動(dòng)到步驟S226,在轉(zhuǎn)送端地址SA中加上脈沖串長度,移動(dòng)到步驟S208。
另一方面,在步驟S208中,判斷變量X的值沒有超過脈沖串長度(No)時(shí),移動(dòng)到步驟S232,以傳送端地址SA為基準(zhǔn)從二維數(shù)據(jù)、訪問、存儲器10中讀出相當(dāng)于變量X值的比特?cái)?shù)數(shù)據(jù),移動(dòng)到步驟S234,在變量n中設(shè)定變量X的值,移動(dòng)到步驟S236。
在步驟S236中,以傳送目的地地址DA為基準(zhǔn),將1字節(jié)的數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,移動(dòng)到步驟S238,在傳送目的地地址DA中加上數(shù)據(jù)長度FrameX′,移動(dòng)到步驟S240,從變量n的值中減去1,然后移動(dòng)到步驟S242。
在步驟S242中,判斷變量n的值是否大于0,判斷變量n的值大于0時(shí)(Yes),移動(dòng)到步驟S236,將其判斷為否定時(shí)(No),移動(dòng)到步驟S244。
在步驟S244中,在傳送端地址SA中加上從變量X以及數(shù)據(jù)長度FrameX的相加值中減去數(shù)據(jù)長度Rect.X所得到的值,移動(dòng)到步驟S246,在傳送目的地地址DA中加上從數(shù)據(jù)長度FrameX′以及數(shù)據(jù)長度Rect.X的相乘值中減去1所得到的值,移動(dòng)到步驟S248,從變量Y的值中減去1,然后移動(dòng)到步驟S204。
另一方面,在步驟S206中,判斷變量Y的值小于0時(shí)(No),移動(dòng)到步驟S258,將完成狀態(tài)變更為結(jié)束狀態(tài)。完成狀態(tài)的變更是在一維數(shù)據(jù)、訪問、存儲器41中等待通過步驟S300輸出的寫入操作結(jié)束響應(yīng)后執(zhí)行的。
隨后,移動(dòng)到步驟S260,判斷中斷屏蔽標(biāo)記的值是否為0,判斷出中斷屏蔽的值不為0時(shí)(No),移動(dòng)到步驟S262,將狀態(tài)變更為準(zhǔn)備狀態(tài),結(jié)束一系列的處理返回到原始處理狀態(tài)。
另一方面,在步驟S260中,判斷中斷屏蔽標(biāo)記為0時(shí)(Yes),移動(dòng)到步驟S264,輸出請求到中斷控制器中,結(jié)束一系列的處理返回到原始處理。
在中斷控制器中,輸入請求時(shí),將中斷信號輸出到SIMD型處理器42,在SIMD型處理器42中輸入中斷信號時(shí),移動(dòng)到步驟S120,執(zhí)行例外處理。執(zhí)行例外處理時(shí),DMAC43通過步驟S226進(jìn)入完成狀態(tài)的結(jié)束位,結(jié)束一系列的處理返回到原始處理。
其次,在執(zhí)行從一維數(shù)據(jù)、訪問、存儲器41到二維數(shù)據(jù)、訪問、存儲器10的數(shù)據(jù)傳送的情況中,如圖14所示,將一維數(shù)據(jù)、訪問、存儲器41中邏輯上的二維空間橫方向上的數(shù)據(jù)長度定為FrameX,將二維數(shù)據(jù)、訪問、存儲器10中邏輯上的二維空間橫方向上的數(shù)據(jù)長度定為FrameX之時(shí),通過將一維數(shù)據(jù)、訪問、存儲器41中邏輯上的二維空間中的矩形區(qū)域轉(zhuǎn)置并傳送到二維數(shù)據(jù)、訪問、存儲器10中邏輯上的二維空間中,來執(zhí)行數(shù)據(jù)傳送。
在一維數(shù)據(jù)、訪問、存儲器41中,通過作為從一維數(shù)據(jù)、訪問、存儲器41讀出數(shù)據(jù)時(shí)基準(zhǔn)的傳送端地址SA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。在二維數(shù)據(jù)、訪問、存儲器10中,通過作為在二維數(shù)據(jù)、訪問、存儲器10中寫入數(shù)據(jù)時(shí)基準(zhǔn)的傳送目的地地址DA、矩形區(qū)域的橫方向的數(shù)據(jù)長度Rect.X以及矩形區(qū)域的縱方向的數(shù)據(jù)長度Rect.Y,特定矩形區(qū)域其位置和大小。
這種情況中,在DMAC43中,以與執(zhí)行從二維數(shù)據(jù)、訪問、存儲器10到一維數(shù)據(jù)、訪問、存儲器41的數(shù)據(jù)傳送的情況相同的方式來執(zhí)行傳送轉(zhuǎn)置處理。因而,省略對其的說明。
然后,參照
本實(shí)施例的操作。
開始,參照圖16到圖18來說明利用二維數(shù)據(jù)、訪問、存儲器10由SIMD型處理器42執(zhí)行二維DCT的情況。圖16到圖18是示出了利用二維數(shù)據(jù)、訪問、存儲器10執(zhí)行二維DCT的情況的圖。
首先,如圖16所示,從一維數(shù)據(jù)、訪問、存儲器41中讀出變?yōu)閳?zhí)行二維DCT對象的8×8象素?cái)?shù)據(jù),將讀出的數(shù)據(jù)寫入到二維數(shù)據(jù)、訪問、存儲器10中。
然后,SIMD型處理器42在行方向上執(zhí)行一維DCT。為此,如圖16所示,SIMD型處理器42使偶數(shù)行和奇數(shù)行的象素?cái)?shù)據(jù)成對,在列方向上讀入2個(gè)象素?cái)?shù)據(jù),通過SIMD運(yùn)算同時(shí)變換2行一維DCT。
然后,如圖17所示,將行方向上的一維DCT的結(jié)果再次寫入二維數(shù)據(jù)、訪問、存儲器10中。
另外,SIMD型處理器42在列方向上執(zhí)行一維DCT。在這種情況中,如圖17所示,使偶數(shù)列和奇數(shù)列成對,在行方向上讀2個(gè)象素?cái)?shù)據(jù),通過SIMD運(yùn)算同時(shí)變換2列一維DCT,將其結(jié)果再次寫入二維數(shù)據(jù)、訪問、存儲器10中。由此,在二維數(shù)據(jù)、訪問、存儲器10上獲得如圖18所示最終的二維DCT的結(jié)果。
如上所述,由于使用了二維數(shù)據(jù)、訪問、存儲器10,可以有效率地執(zhí)行SIMD運(yùn)算。
其次,參照圖19說明在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間通過常規(guī)傳送模式傳送數(shù)據(jù)的情況。圖19是示出了有關(guān)DMAC43輸入輸出信號的變化時(shí)序圖。
通過常規(guī)傳送模式從二維數(shù)據(jù)、訪問、存儲器10開始向一維數(shù)據(jù)、訪問、存儲器41進(jìn)行數(shù)據(jù)傳送的情況中,SIMD型處理器42通過步驟S100-S112,分別設(shè)定傳送端地址SA、傳送目的地地址DA、數(shù)據(jù)長度FrameX、數(shù)據(jù)長度FrameX′、數(shù)據(jù)長度Rect.X以及數(shù)據(jù)長度Rect.Y的同時(shí),將常規(guī)傳送模式設(shè)定為傳送模式。然后,通過步驟S114,通過設(shè)定控制寄存器來指示開始數(shù)據(jù)傳送。該設(shè)定是對DMAC43的寄存器執(zhí)行的。
DMAC43設(shè)定常規(guī)傳送模式、設(shè)定控制寄存器時(shí),通過步驟S200-S204,將狀態(tài)變更為忙碌狀態(tài),將數(shù)據(jù)長度Rect.Y設(shè)定為變量Y,將數(shù)據(jù)長度Rect.X設(shè)定為變量X。然后,通過步驟S210、S212,以轉(zhuǎn)送端地址SA為基準(zhǔn),以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出數(shù)據(jù),以轉(zhuǎn)送目的地地址DA為基準(zhǔn),以脈沖串長度為單位將數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中。
具體而言,以如圖19所示的時(shí)序執(zhí)行數(shù)據(jù)傳送。圖19中,DCLK表示時(shí)鐘信號。DAD0、DEN0、DRW0、DREADY0以及DIN0為對于二維數(shù)據(jù)、訪問、存儲器10的輸入輸出信號,DAD0表示到達(dá)存儲器的地址信號,DEN0為到達(dá)存儲器的總線使能信號,DRW0表示表明顯示讀出的信號,DREADY0表示來自存儲器的響應(yīng)信號,DIN0表示從存儲器讀出的數(shù)據(jù)信號。另外,DAD1、DEN1、DRW1、DREADY1以及DOUT1為對一維數(shù)據(jù)、訪問、存儲器41輸入輸出信號,DAD1表示到達(dá)存儲器的地址信號,DEN1表示達(dá)到存儲器的總線使能信號,DRW1表示表明顯示寫入的信號,DREADY1表示來自存儲器的響應(yīng)信號,DOUT1表示到達(dá)存儲器的寫入信號。DE-IRQ表示從DMAC43輸出到中斷控制器的中斷信號。
首先,在t0-t4時(shí)刻,如果分別將地址信號DADD輸出到二維數(shù)據(jù)、訪問、存儲器10中時(shí),在時(shí)刻t2、t3、t5、t6,基于各個(gè)地址信號DADD從二維數(shù)據(jù)、訪問、存儲器10中讀出數(shù)據(jù)并輸入到DMAC43中。
然后,在時(shí)刻t2輸入的數(shù)據(jù)在時(shí)刻t3與地址信號DAD1一起被輸出到一維數(shù)據(jù)、訪問、存儲器41中,在t3時(shí)刻輸入的數(shù)據(jù)在時(shí)刻t4與地址信號DAD1一起被寫入到一維數(shù)據(jù)、訪問、存儲器41中。在時(shí)刻t5輸入的數(shù)據(jù)在時(shí)刻t6與地址信號DAD1一起被輸出到一維數(shù)據(jù)、訪問、存儲器41中,在t9時(shí)刻輸入的數(shù)據(jù)在時(shí)刻t10與地址信號DAD1一起被寫入到一維數(shù)據(jù)、訪問、存儲器41中。
然后,通過步驟S214、S228、S230,從變量x的值中減去脈沖串長度,在傳送端地址SA以及傳送目的地地址DA中分別加上脈沖串長度。重復(fù)執(zhí)行從步驟S210到步驟S230的一系列傳送處理直到變量x的值不足脈沖串長度。由此,將矩形區(qū)域的1行數(shù)據(jù)中去掉了脈沖串長度的小數(shù)部分的全部數(shù)據(jù)傳送給一維數(shù)據(jù)、訪問、存儲器41。
變量x的值不足脈沖串長度時(shí),通過步驟S232、S250,以傳送端地址SA作為基準(zhǔn)從二維數(shù)據(jù)、訪問、存儲器10中讀出相當(dāng)于變量x的值的比特?cái)?shù)數(shù)據(jù),以傳送目的地地址DA作為基準(zhǔn)將相當(dāng)于變量x的值的比特?cái)?shù)數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中。還可以通過圖19所示的時(shí)序圖來執(zhí)行該數(shù)據(jù)的傳送。由此,可以將矩形區(qū)域內(nèi)1行中的數(shù)據(jù)全部傳送給一維數(shù)據(jù)、訪問、存儲器41。
隨后,通過步驟S252-S256,在傳送端地址SA中加上從變量X以及數(shù)據(jù)長度FrameX的相加值中減去數(shù)據(jù)長度Rect.X所得到的值,在傳送目的地地址DA中加上從變量X以及數(shù)據(jù)長度FrameX′的相加值中減去數(shù)據(jù)長度Rect.X所得到的值,并且從變量Y的值中減去1。重復(fù)執(zhí)行步驟S204到S256的一系列傳送處理直到變量y的值變?yōu)?以下。由此,可以將矩形區(qū)域內(nèi)的數(shù)據(jù)全部傳送給一維數(shù)據(jù)、訪問、存儲器41。
另一方面,即使通過常規(guī)傳送模式執(zhí)行從一維數(shù)據(jù)、訪問、存儲器41到二維數(shù)據(jù)、訪問、存儲器10的數(shù)據(jù)傳送的情況中,以與上述情況相同的方式執(zhí)行數(shù)據(jù)傳送。
然后,說明通過轉(zhuǎn)置傳送模式在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間傳送數(shù)據(jù)的情況。
在通過轉(zhuǎn)置傳送模式從二維數(shù)據(jù)、訪問、存儲器10到一維數(shù)據(jù)、訪問、存儲器41執(zhí)行傳送數(shù)據(jù)的情況中,SIMD型處理器42通過步驟S100-S112,分別設(shè)定傳送端地址SA、傳送目的地地址DA、數(shù)據(jù)長度FrameX、數(shù)據(jù)長度FrameX′、數(shù)據(jù)長度Rect.X,以及數(shù)據(jù)長度Rect.Y時(shí),將轉(zhuǎn)置傳送模式作為傳送模式來設(shè)定。然后,通過步驟S114,通過設(shè)定控制寄存器來指示開始傳送數(shù)據(jù)。對于DMAC43的寄存器來執(zhí)行這些設(shè)定。
DMAC43一旦設(shè)定轉(zhuǎn)置傳送模式、設(shè)定控制寄存器時(shí),通過步驟S200-S204,將狀態(tài)變更為忙碌狀態(tài),將數(shù)據(jù)長度Rect.Y設(shè)定為變量Y,將數(shù)據(jù)長度Rect.X設(shè)定為變量X。然后,通過步驟S210、S214,以傳送端地址SA為基準(zhǔn),以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10讀出數(shù)據(jù),從變量X的值中減去脈沖串長度。隨后,通過步驟S216-S222,以傳送目的地地址DA為基準(zhǔn),將比特?cái)?shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,在傳送目的地DA中加上數(shù)據(jù)長度FrameX′,僅重復(fù)執(zhí)行相當(dāng)于脈沖串長度次數(shù)寫入以及加法運(yùn)算。
然后,通過步驟226,在傳送端地址SA中加上脈沖串長度。重復(fù)執(zhí)行從步驟S210到步驟S226的一系列傳送處理直到變量x的值不足脈沖串長度。由此,將矩形區(qū)域的1行數(shù)據(jù)中去掉了脈沖串長度的小數(shù)部分的數(shù)據(jù)全部傳送給一維數(shù)據(jù)、訪問、存儲器41。由于傳送模式為轉(zhuǎn)置傳送模式,因此如圖14所示,在一維數(shù)據(jù)、訪問、存儲器41中在縱方向上傳送數(shù)據(jù)。
在變量x的值不足脈沖串長度時(shí),通過步驟S232,以傳送端地址SA為基準(zhǔn),從二維數(shù)據(jù)、訪問、存儲器10中讀出相當(dāng)于變量X值大小的比特?cái)?shù)數(shù)據(jù)。通過步驟S234-S240,以傳送目的地地址DA為基準(zhǔn),在一維數(shù)據(jù)、訪問、存儲器41中寫入相當(dāng)于1的比特的數(shù)據(jù),在傳送目的地DA中加上數(shù)據(jù)長度FrameX′,僅重復(fù)執(zhí)行相當(dāng)于變量X值次數(shù)的寫入以及加法運(yùn)算。由此,將矩形區(qū)域中1行數(shù)據(jù)傳送給一維數(shù)據(jù)、訪問、存儲器41。由于傳送模式為轉(zhuǎn)置傳送模式,因此如圖14所示,在一維數(shù)據(jù)、訪問、存儲器41中在縱方向上傳送數(shù)據(jù)。
然后,通過步驟S244-S248,在傳送端地址SA中加上從變量X以及數(shù)據(jù)長度FrameX的相加值中減去數(shù)據(jù)長度Rect.X后的值,在傳送目的地地址DA中加上從數(shù)據(jù)長度FrameX′以及數(shù)據(jù)長度Rect.X相乘所得到的值中減去1所得到的值,并且從變量Y的值中減去1。重復(fù)執(zhí)行步驟S204到S248的一系列傳送處理直到變量Y的值變?yōu)?以下。由此,可以將矩形區(qū)域內(nèi)的數(shù)據(jù)全部傳送給一維數(shù)據(jù)、訪問、存儲器41。
另一方面,即使通過轉(zhuǎn)置傳送模式執(zhí)行從一維數(shù)據(jù)、訪問、存儲器41到二維數(shù)據(jù)、訪問、存儲器10的數(shù)據(jù)傳送的情況中,以與上述情況相同的方式執(zhí)行數(shù)據(jù)傳送。這種情況中,由于數(shù)據(jù)寫入側(cè)為二維數(shù)據(jù)、訪問、存儲器10,并且在縱方向上連續(xù)執(zhí)行數(shù)據(jù)的寫入,因此象上述情況那樣,不局限于在二維數(shù)據(jù)、訪問、存儲器10中每個(gè)1比特寫入數(shù)據(jù),還可以以總線長度為單位寫入數(shù)據(jù)。后者可以進(jìn)行較高速度的數(shù)據(jù)傳送。
如此,本實(shí)施例中,DMAC43可以從二維數(shù)據(jù)、訪問、存儲器10中讀出二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的矩形區(qū)域的數(shù)據(jù),并且將讀出的數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中。
由此,由于能夠以二維空間中的矩形區(qū)域?yàn)閱挝粚?shù)據(jù)從二維數(shù)據(jù)、訪問、存儲器10中傳送到一維數(shù)據(jù)、訪問、存儲器41中,因此可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。并且通過利用二維數(shù)據(jù)、訪問、存儲器10,能夠?qū)崿F(xiàn)有效的SIMD運(yùn)算。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y以及傳送端地址SA特定二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的讀出區(qū)域,從二維數(shù)據(jù)、訪問、存儲器10中讀出特定讀出區(qū)域中的數(shù)據(jù)。
由此,由于能夠通過數(shù)據(jù)長度Rect.X、Rect.Y來設(shè)定讀出區(qū)域的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整讀出區(qū)域大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y、數(shù)據(jù)長度FrameX以及傳送端地址SA特定二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的讀出區(qū)域,從二維數(shù)據(jù)、訪問、存儲器10中讀出特定讀出區(qū)域中的數(shù)據(jù)。
由此,由于能夠通過數(shù)據(jù)長度FrameX來設(shè)定讀出區(qū)域的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y、數(shù)據(jù)長度FrameX′以及傳送端地址SA特定二維數(shù)據(jù)、訪問、存儲器41的寫入?yún)^(qū)域,將讀出數(shù)據(jù)寫入特定寫入?yún)^(qū)域中。
由此,由于能夠通過數(shù)據(jù)長度FrameX′來設(shè)定一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間的大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
另外,本實(shí)施例中,DMAC43可以設(shè)定下列兩種模式中的任何一種使讀出區(qū)域和寫入?yún)^(qū)域相對應(yīng)在寫入?yún)^(qū)域中寫入讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將讀出區(qū)域和寫入?yún)^(qū)域轉(zhuǎn)置,在寫入?yún)^(qū)域中寫入讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將讀出的數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中。
由此,由于除了將數(shù)據(jù)原樣傳送之外還能夠轉(zhuǎn)置傳送,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容需要轉(zhuǎn)置傳送的情況下,能夠執(zhí)行與其對應(yīng)的數(shù)據(jù)傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
另外,在本實(shí)施例中,DMAC43通過一定脈沖串長度的總線與二維數(shù)據(jù)、訪問、存儲器10相連,以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的矩形區(qū)域數(shù)據(jù),應(yīng)該從二維數(shù)據(jù)、訪問、存儲器10讀出的數(shù)據(jù)不足脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔忝}沖串長度的數(shù)據(jù)為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出。
由此,由于大體上是以脈沖串長度為單位從二維數(shù)據(jù)、訪問、存儲器10中讀出數(shù)據(jù),因此,在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間能夠執(zhí)行比較高速度數(shù)據(jù)傳送。并且由于適當(dāng)?shù)貍魉筒蛔忝}沖串長度的數(shù)據(jù),因此,在數(shù)據(jù)傳送時(shí),能夠降低在一維數(shù)據(jù)、訪問、存儲器41中寫入不需要數(shù)據(jù)的可能性。
另外,在本實(shí)施例中,DMAC43通過一定脈沖串長度的總線與一維數(shù)據(jù)、訪問、存儲器41相連,以脈沖串長度為單位將讀出數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,應(yīng)該寫入到一維數(shù)據(jù)、訪問、存儲器41中的數(shù)據(jù)不足脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔忝}沖串長度的數(shù)據(jù)為單位寫入一維數(shù)據(jù)、訪問、存儲器41中。
由此,由于大體上是以脈沖串長度為單位將數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中,因此,在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間能夠執(zhí)行比較高速度數(shù)據(jù)傳送。并且由于適當(dāng)?shù)貍魉筒蛔忝}沖串長度的數(shù)據(jù),因此,在數(shù)據(jù)傳送時(shí),能夠降低在一維數(shù)據(jù)、訪問、存儲器41中寫入不需要數(shù)據(jù)的可能性。
本實(shí)施例中,DMAC43從一維數(shù)據(jù)、訪問、存儲器41中讀出數(shù)據(jù),將讀出的數(shù)據(jù)寫入二維數(shù)據(jù)、訪問、存儲器10以便于將其設(shè)置在二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的矩形區(qū)域中。
由此,由于能夠以二維空間中的矩形區(qū)域?yàn)閱挝粚?shù)據(jù)從一維數(shù)據(jù)、訪問、存儲器41傳送到二維數(shù)據(jù)、訪問、存儲器10中,因此,在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。另外,通過利用二維數(shù)據(jù)、訪問、存儲器10,可以實(shí)現(xiàn)有效的SIMD運(yùn)算。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y以及傳送端地址SA特定一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間中的讀出區(qū)域,從一維數(shù)據(jù)、訪問、存儲器41中讀出變?yōu)樘囟ㄗx出區(qū)域的數(shù)據(jù)。
由此,由于能夠通過數(shù)據(jù)長度Rect.X、Rect.Y來設(shè)定讀出區(qū)域的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整讀出區(qū)域大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y、數(shù)據(jù)長度FrameX以及傳送端地址SA特定一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間中的讀出區(qū)域,從一維數(shù)據(jù)、訪問、存儲器41中讀出特定讀出區(qū)域中的數(shù)據(jù)。
由此,由于能夠通過數(shù)據(jù)長度FrameX來設(shè)定一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整一維數(shù)據(jù)、訪問、存儲器41的邏輯二維空間的大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
本實(shí)施例中,DMAC43基于數(shù)據(jù)長度Rect.X、Rect.Y、數(shù)據(jù)長度FrameX以及傳送目的地地址DA特定二維數(shù)據(jù)、訪問、存儲器10的寫入?yún)^(qū)域,變?yōu)閷⒆x出數(shù)據(jù)寫入特定寫入?yún)^(qū)域中。
由此,由于能夠通過數(shù)據(jù)長度FrameX′來設(shè)定二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間的大小,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容調(diào)整二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間的大小時(shí),能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)的傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
本實(shí)施例中,DMAC43可以設(shè)定下列兩種模式中的任何一種使讀出區(qū)域和寫入?yún)^(qū)域相對應(yīng),在寫入?yún)^(qū)域中寫入讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將讀出區(qū)域和寫入?yún)^(qū)域轉(zhuǎn)置,在寫入?yún)^(qū)域中寫入讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將讀出的數(shù)據(jù)寫入二維數(shù)據(jù)、訪問、存儲器10中。
由此,由于除了將數(shù)據(jù)原樣傳送之外還能夠轉(zhuǎn)置傳送,因此在SIMD運(yùn)算中根據(jù)其運(yùn)算內(nèi)容需要轉(zhuǎn)置傳送的情況下,能夠執(zhí)行與其對應(yīng)的數(shù)據(jù)傳送。因而,可以在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間執(zhí)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送。
另外,在本實(shí)施例中,DMAC43通過一定脈沖串長度的總線與二維數(shù)據(jù)、訪問、存儲器10相連,以脈沖串長度為單位將從一維數(shù)據(jù)、訪問、存儲器41中讀出的數(shù)據(jù)寫入二維數(shù)據(jù)、訪問、存儲器10中,應(yīng)該寫入到二維數(shù)據(jù)、訪問、存儲器10中的數(shù)據(jù)不足脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔忝}沖串長度的數(shù)據(jù)為單位寫入到二維數(shù)據(jù)、訪問、存儲器10中。
由此,由于大體上是以脈沖串長度為單位將數(shù)據(jù)寫入二維數(shù)據(jù)、訪問、存儲器10中,因此,在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間能夠執(zhí)行比較高速度數(shù)據(jù)傳送。并且由于適當(dāng)?shù)貍魉筒蛔忝}沖串長度的數(shù)據(jù),因此,在數(shù)據(jù)傳送時(shí),能夠降低在二維數(shù)據(jù)、訪問、存儲器10中寫入不需要數(shù)據(jù)的可能性。
另外,在本實(shí)施例中,DMAC43通過一定脈沖串長度的總線與一維數(shù)據(jù)、訪問、存儲器41相連,以脈沖串長度為單位從一維數(shù)據(jù)、訪問、存儲器41中讀出來自一維數(shù)據(jù)、訪問、存儲器41的數(shù)據(jù),應(yīng)該從一維數(shù)據(jù)、訪問、存儲器41讀出的數(shù)據(jù)不足脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔忝}沖串長度的數(shù)據(jù)為單位從一維數(shù)據(jù)、訪問、存儲器41中讀出。
由此,由于大體上是以脈沖串長度為單位執(zhí)行從一維數(shù)據(jù)、訪問、存儲器41中讀出數(shù)據(jù),因此,在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間能夠執(zhí)行比較高速度數(shù)據(jù)傳送。并且由于適當(dāng)?shù)貍魉筒蛔忝}沖串長度的數(shù)據(jù),因此,在數(shù)據(jù)傳送時(shí),能夠降低在二維數(shù)據(jù)、訪問、存儲器10中寫入不需要數(shù)據(jù)的可能性。
另外,本實(shí)施例中,DMAC43使二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間的數(shù)據(jù)傳送變?yōu)榕cSIMD型處理器42的操作獨(dú)立來執(zhí)行。
由此,在數(shù)據(jù)傳送過程中能夠降低對SIMD型處理器42的負(fù)載的同時(shí),在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間能夠執(zhí)行比較高速度數(shù)據(jù)傳送。
本實(shí)施例中,二維數(shù)據(jù)、訪問、存儲器10帶有;假設(shè)在縱向橫向上排列的二維形成的一定虛擬最小二維存儲器空間1的二維存儲器空間3的同時(shí),預(yù)先以一定規(guī)則分別分配虛擬最小二維存儲器空間1的各個(gè)地址的物理存儲器4A、4D,數(shù)據(jù)讀出時(shí)特定虛擬最小二維存儲器空間上的地址位置,根據(jù)從特定的地址位置中讀出數(shù)據(jù)的方向或指定模式的讀出訪問模式,交替來自物理存儲器4A-4D的各個(gè)讀出數(shù)據(jù),將交替的的各個(gè)讀出數(shù)據(jù)一并輸出的讀出數(shù)據(jù)控制器12,指定讀出地址時(shí),根據(jù)指定讀出訪問模式和特定地址位置,或根據(jù)在跨過訪問空間相鄰的虛擬最小二維存儲器空間1的情況下所指定讀出訪問模式,來將指定讀出地址校正為一定地址并輸出到物理存儲器4A-4D中的讀出地址控制單元11。
由此,能夠從物理存儲器4A-4D上同時(shí)讀出從二維存儲空間3上的指定位置開始的橫方向或縱方向上排列的連續(xù)數(shù)據(jù),由于能夠在從二維存儲器空間3上的指定位置開始沿橫向或縱向向各個(gè)存儲器4A-4D上同時(shí)寫入數(shù)據(jù),因此可以實(shí)現(xiàn)有效率的SIMD運(yùn)算。
在上述實(shí)施例中,二維數(shù)據(jù)、訪問、存儲器10對應(yīng)于權(quán)利要求1到25中記載的多維存儲器,一維數(shù)據(jù)、訪問、存儲器41對應(yīng)于權(quán)利要求1、5到7、9到13、17到19、22到25中記載的一維存儲器,步驟S210、S232對應(yīng)于權(quán)利要求1到9或22中記載的多維存儲器讀出裝置、權(quán)利要求10到16、18或23中記載的一維存儲器讀出裝置、權(quán)利要求24記載的多維存儲器讀出步驟、或權(quán)利要求25記載的一維存儲器讀出步驟。此外,步驟S212、S218、S236、S250對應(yīng)于權(quán)利要求1、5到7、9或22記載的一維存儲器寫入裝置、權(quán)利要求10、14到17或23記載的多維存儲器寫入裝置、權(quán)利要求24記載的一維存儲器寫入步驟,或權(quán)利要求25記載的多維存儲器寫入步驟。
上述實(shí)施例中,傳送端地址SA對應(yīng)于權(quán)利要求2到4、11到13記載的讀出基準(zhǔn)地址,傳送目的地地址DA對應(yīng)于權(quán)利要求5、6、14或15記載的寫入基準(zhǔn)地址,數(shù)據(jù)長度Rect.X、Rect.Y、FrameX對應(yīng)于權(quán)利要求2到4、6、11到13或15記載的讀出區(qū)域特定信息。數(shù)據(jù)長度Rect.X、Rect.Y對應(yīng)于權(quán)利要求3、4、12、13或15記載的讀出數(shù)據(jù)長度信息,數(shù)據(jù)長度FrameX′對應(yīng)于權(quán)利要求5、6、14或15記載的寫入?yún)^(qū)域特定信息,數(shù)據(jù)長度FrameX、FrameX′對應(yīng)于權(quán)利要求4、6、13或15記載的最大數(shù)據(jù)長度信息。
在上述實(shí)施例中,雖然說明了用來指定訪問模式的信號線是作為與地址信號(讀出地址信號或?qū)懭氲刂沸盘?不同的信號來輸入的,但是還可以將用來指定訪問模式的信號線與地址信號匯總輸入。例如,如圖20所示,還可以將訪問模式分配在地址信號的最上位比特部分。圖21是示出了分配如圖20所示的信號情況的讀出地址控制單元以及讀出數(shù)據(jù)控制器的結(jié)構(gòu)例子框圖。
在這樣結(jié)構(gòu)的情況中,利用二維數(shù)據(jù)、訪問、存儲器10執(zhí)行處理的情況中,用戶輸入地址時(shí),由于僅合并輸入訪問模式即可,因此輸入操作可以變得較簡單。并且,由于二維數(shù)據(jù)、訪問、存儲器10的結(jié)構(gòu)變得較簡單,能夠縮小電路規(guī)模,從而可以提高集成度。
在上述實(shí)施例中,雖然構(gòu)造成使二維數(shù)據(jù)、訪問、存儲器10和MDAC43直接連接,但是不局限于此,還可以構(gòu)造成使二維數(shù)據(jù)、訪問、存儲器10通過存儲器I/F與DMAC43相連。
在上述實(shí)施例中,雖然構(gòu)造成使一維數(shù)據(jù)、訪問、存儲器41和MDAC43直接連接,但是不局限于此,還可以構(gòu)造成使一維數(shù)據(jù)、訪問、存儲器41通過存儲器I/F與DMAC43相連。
在上述實(shí)施例中,在DMAC43中,雖然構(gòu)造成執(zhí)行常規(guī)傳送處理以及轉(zhuǎn)制傳送處理,但是不局限于此,根據(jù)用于實(shí)現(xiàn)常規(guī)傳送處理以及轉(zhuǎn)制傳送處理的程序,可以構(gòu)造成SIMD型處理器42等計(jì)算機(jī)來執(zhí)行這些處理。這種情況下,作為運(yùn)算處理單元的CPU在RAM中讀取存儲在ROM中的程序,根據(jù)讀取的程序執(zhí)行常規(guī)傳送處理以及轉(zhuǎn)制傳送處理。當(dāng)然,程序不局限于存儲在ROM中,還可以存儲在其它存儲媒體中,通過在RAM中讀取存儲在存儲媒體中的程序來執(zhí)行處理。
這里,作為存儲媒體可以是RAM、ROM等半導(dǎo)體存儲媒體、FD、HD等磁記錄行記錄媒體、CD、CDV、LD、DVD等光學(xué)讀取方式的存儲媒體、MO等磁記錄型/光學(xué)讀取方式記錄媒體,不論電子的、磁性的、光學(xué)等讀取方法,如果是能通過計(jì)算機(jī)讀取的存儲媒體,包含所有的存儲媒體。
在上述實(shí)施例中,在通過DMAC43在二維數(shù)據(jù)、訪問、存儲器10和一維數(shù)據(jù)、訪問、存儲器41之間進(jìn)行數(shù)據(jù)傳送的情況中,適用涉及本發(fā)明的多維存儲器的數(shù)據(jù)傳送裝置以及多維存儲器的數(shù)據(jù)傳送程序以及多維存儲器的數(shù)據(jù)傳送方法,但不限于此,在不脫離本發(fā)明精神的范圍中還可以用于其它情況中。
發(fā)明效果如上所述,根據(jù)涉及本發(fā)明權(quán)利要求1到9、19到21中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于可以以多維空間中的一定區(qū)域?yàn)閱挝粚?shù)據(jù)從多維存儲器傳送到一維存儲器中,因此,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。并且,通過使用多維存儲器,還可以獲得能實(shí)現(xiàn)有效率的SIMD運(yùn)算的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求2到7中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于通過僅輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息來執(zhí)行數(shù)據(jù)傳送,因此可以獲得比較容易地執(zhí)行數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求3到7中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過讀出數(shù)據(jù)長度信息來設(shè)定讀出區(qū)域的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整讀出區(qū)域的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求4中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過最大數(shù)據(jù)長度信息來設(shè)定多維空間的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整多維空間的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求5到7中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于通過僅輸入讀出基準(zhǔn)地址、讀出區(qū)域特定信息、寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息來執(zhí)行數(shù)據(jù)傳送,因此可以獲得比較容易地執(zhí)行數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求6或7中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過最大數(shù)據(jù)長度信息來設(shè)定邏輯多維空間的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整多維空間的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求7中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于可以或是將數(shù)據(jù)原樣傳送或是進(jìn)行轉(zhuǎn)置傳送,因此在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容進(jìn)行轉(zhuǎn)置傳送的情況下,能夠執(zhí)行與之相應(yīng)的數(shù)據(jù)傳送。因而可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求8中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠大致以第1脈沖串長度為單位執(zhí)行從多維存儲器中讀出數(shù)據(jù),因此可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較高速的數(shù)據(jù)傳送的效果。此外,由于適當(dāng)?shù)貍魉筒蛔愕?脈沖串長度的數(shù)據(jù),因此,可以獲得在傳送數(shù)據(jù)時(shí)降低將不需要的數(shù)據(jù)寫入一維存儲器中的可能性的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求9中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠大致以第2脈沖串長度為單位將數(shù)據(jù)寫入一維存儲器中,因此可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較高速的數(shù)據(jù)傳送的效果。此外,由于適當(dāng)?shù)貍魉筒蛔愕?脈沖串長度的數(shù)據(jù),因此,可以獲得在傳送數(shù)據(jù)時(shí)降低將不需要的數(shù)據(jù)寫入一維存儲器中的可能性的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求10到21中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠以多維空間內(nèi)一定區(qū)域?yàn)閱挝粚?shù)據(jù)從一維存儲器傳送到多維存儲器中,因此,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。并且,通過使用多維存儲器,還可以獲得能實(shí)現(xiàn)有效率的SIMD運(yùn)算的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求11到16中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于通過僅輸入讀出基準(zhǔn)地址以及讀出區(qū)域特定信息來執(zhí)行數(shù)據(jù)傳送,因此可以獲得比較容易地執(zhí)行數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求12到16中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過讀出數(shù)據(jù)長度信息來設(shè)定讀出區(qū)域的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整讀出區(qū)域的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求13中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過最大數(shù)據(jù)長度信息來設(shè)定多維空間的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整多維空間的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,在可以獲得多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求14到16中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于通過僅輸入讀出基準(zhǔn)地址、讀出區(qū)域特定信息、寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息來執(zhí)行數(shù)據(jù)傳送,因此可以獲得比較容易地執(zhí)行數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求15或16中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠通過最大數(shù)據(jù)長度信息來設(shè)定多維空間的大小,因此,在SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容來調(diào)整多維空間的大小的情況中,能夠根據(jù)調(diào)整的大小來執(zhí)行數(shù)據(jù)傳送。因而,可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求16中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于可以或是將數(shù)據(jù)原樣傳送或是進(jìn)行轉(zhuǎn)置傳送,因此在需要SIMD運(yùn)算過程中根據(jù)運(yùn)算內(nèi)容進(jìn)行轉(zhuǎn)置傳送的情況下,能夠執(zhí)行與之相應(yīng)的數(shù)據(jù)傳送。因而可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較適合于SIMD運(yùn)算的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求17中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠大致以第1脈沖串長度為單位執(zhí)行將數(shù)據(jù)寫入到多維存儲器中,因此可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較高速的數(shù)據(jù)傳送的效果。此外,由于適當(dāng)?shù)貍魉筒蛔愕?脈沖串長度的數(shù)據(jù),因此,可以獲得在傳送數(shù)據(jù)時(shí)降低將不需要的數(shù)據(jù)寫入多維存儲器中的可能性的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求18中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠大致以第2脈沖串長度為單位從一維存儲器中讀出數(shù)據(jù),因此可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較高速的數(shù)據(jù)傳送的效果。此外,由于適當(dāng)?shù)貍魉筒蛔愕?脈沖串長度的數(shù)據(jù),因此,可以獲得在傳送數(shù)據(jù)時(shí)降低將不需要的數(shù)據(jù)寫入多維存儲器中的可能性的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求19中記載的多維存儲器的數(shù)據(jù)傳送裝置,在進(jìn)行數(shù)據(jù)傳送過程中能夠降低對運(yùn)算處理裝置的負(fù)擔(dān)的同時(shí),可以獲得在多維存儲器和一維存儲器之間進(jìn)行比較高速的數(shù)據(jù)傳送的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求20或21中記載的多維存儲器的數(shù)據(jù)傳送裝置,由于能夠從物理各存儲器中同時(shí)讀出排列在從多維存儲器空間上指定位置處開始的橫方向或縱方向上的連續(xù)數(shù)據(jù),并且能夠在從多維存儲器空間上指定位置處開始沿橫方向或縱方向上連續(xù)排列地將數(shù)據(jù)同時(shí)寫入物理各存儲器中,因此可以獲得能實(shí)現(xiàn)有效率的SIMD運(yùn)算的效果。
另一方面,根據(jù)涉及本發(fā)明的權(quán)利要求22中記載的多維存儲器的數(shù)據(jù)傳送程序,可以獲得與權(quán)利要求1中記載的多維存儲器數(shù)據(jù)傳送裝置相同的效果。
另外,根據(jù)涉及本發(fā)明的權(quán)利要求23中記載的多維存儲器的數(shù)據(jù)傳送程序,可以獲得與權(quán)利要求10中記載的多維存儲器數(shù)據(jù)傳送裝置相同的效果。
另外,根據(jù)涉及本發(fā)明的權(quán)利要求24中記載的多維存儲器的數(shù)據(jù)傳送方法,可以獲得與權(quán)利要求1中記載的多維存儲器數(shù)據(jù)傳送裝置相同的效果。
根據(jù)涉及本發(fā)明的權(quán)利要求25中記載的多維存儲器的數(shù)據(jù)傳送方法,可以獲得與權(quán)利要求10中記載的多維存儲器數(shù)據(jù)傳送裝置相同的效果。
權(quán)利要求
1.一種多維存儲器的數(shù)據(jù)傳送裝置,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其帶有,從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出裝置,以及將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入裝置。
2.如權(quán)利要求1中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述多維存儲器讀出裝置輸入作為讀出數(shù)據(jù)時(shí)基準(zhǔn)的讀出基準(zhǔn)地址以及用來特定所述多維空間內(nèi)讀出區(qū)域的讀出區(qū)域特定信息,根據(jù)輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域中的數(shù)據(jù)。
3.如權(quán)利要求2中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述讀出區(qū)域特定信息包含表示所述多維空間每個(gè)維中的該維中應(yīng)該讀出數(shù)據(jù)的長度的讀出數(shù)據(jù)長度信息,所述多維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述多維空間中的讀出區(qū)域,從而從所述多維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
4.如權(quán)利要求3中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述讀出區(qū)域特定信息還包含表示對于所述多維空間的一定維數(shù)中該維數(shù)的最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述多維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述多維空間中的讀出區(qū)域,從而從所述多維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
5.如權(quán)利要求3以及4任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述一維存儲器寫入裝置輸入作為寫入數(shù)據(jù)時(shí)基準(zhǔn)的寫入基準(zhǔn)地址以及用來特定所述一維空間內(nèi)寫入?yún)^(qū)域的寫入?yún)^(qū)域特定信息,根據(jù)輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中。
6.如權(quán)利要求5中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述寫入?yún)^(qū)域特定信息包含在邏輯上由所述一維存儲器中構(gòu)成與所述多維空間相同的多維空間的情況下,表示對于所述邏輯多維空間的規(guī)定維數(shù)而言該維數(shù)最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述一維存儲器寫入裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述寫入基準(zhǔn)地址,特定所述一維存儲器的寫入?yún)^(qū)域,從而將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述特定的寫入?yún)^(qū)域。
7.如權(quán)利要求6中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述一維存儲器寫入裝置可以設(shè)定下列兩種模式中的任何一種使所述讀出區(qū)域和所述寫入?yún)^(qū)域相對應(yīng),在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將所述讀出區(qū)域和所述寫入?yún)^(qū)域轉(zhuǎn)置,在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中。
8.如權(quán)利要求1-7任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,通過第1脈沖串長度的總線與所述多維存儲器相連,所述多維存儲器讀出裝置以所述第1脈沖串長度為單位從所述多維存儲器中讀出所述多維空間中一定區(qū)域內(nèi)的數(shù)據(jù),當(dāng)應(yīng)從所述多維存儲器中讀出的數(shù)據(jù)不足所述第1脈沖串長度時(shí),,以不足所述第1脈沖串長度的數(shù)據(jù)為單位從所述多維存儲器中僅讀出該數(shù)據(jù)。
9.如權(quán)利要求1-8任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述一維存儲器通過第2脈沖串長度的總線相連,所述一維存儲器寫入裝置,以所述第2脈沖串長度為單位將由所述多維存儲器讀出裝置讀出數(shù)據(jù)寫入所述一維存儲器中,應(yīng)該寫入到所述一維存儲器中的數(shù)據(jù)不足所述第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位寫入所述一維存儲器中。
10.一種多維存儲器的數(shù)據(jù)傳送裝置,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其帶有,從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出裝置,以及將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入裝置。
11.如權(quán)利要求10中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述一維存儲器讀出裝置輸入作為讀出數(shù)據(jù)時(shí)基準(zhǔn)的讀出基準(zhǔn)地址,以及在所述一維存儲器中邏輯上構(gòu)成與所述多維空間相同的多維空間的情況下用來特定所述邏輯多維空間內(nèi)讀出區(qū)域的讀出區(qū)域特定信息,根據(jù)輸入的讀出基準(zhǔn)地址以及讀出區(qū)域特定信息,從所述一維存儲器中讀出所述邏輯多維空間內(nèi)一定區(qū)域中的數(shù)據(jù)。
12.如權(quán)利要求11中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述讀出區(qū)域特定信息包含表示所述邏輯多維空間每個(gè)維中在該維中應(yīng)該讀出數(shù)據(jù)的長度的讀出數(shù)據(jù)長度信息,所述一維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從所述一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
13.如權(quán)利要求12中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述讀出區(qū)域特定信息還包含表示對于所述邏輯多維空間的一定維數(shù)中該維數(shù)的最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述一維存儲器讀出裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述讀出區(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述讀出基準(zhǔn)地址,特定所述邏輯多維空間中的讀出區(qū)域,從而從所述一維存儲器中讀出特定讀出區(qū)域內(nèi)的數(shù)據(jù)。
14.如權(quán)利要求12以及13任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述多維存儲器寫入裝置輸入作為寫入數(shù)據(jù)時(shí)基準(zhǔn)的寫入基準(zhǔn)地址以及用來特定所述多維空間內(nèi)寫入?yún)^(qū)域的寫入?yún)^(qū)域特定信息,根據(jù)輸入的寫入基準(zhǔn)地址以及寫入?yún)^(qū)域特定信息,將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中。
15.如權(quán)利要求14中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述寫入?yún)^(qū)域特定信息包含表示對于所述多維空間固定維數(shù)而言該維數(shù)最大數(shù)據(jù)長度的最大數(shù)據(jù)長度信息,所述多維存儲器寫入裝置根據(jù)由包含在所述讀出區(qū)域特定信息中的各個(gè)讀出數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,由包含在所述寫入?yún)^(qū)域特定信息中的最大數(shù)據(jù)長度信息特定的數(shù)據(jù)長度,以及所述寫入基準(zhǔn)地址,特定所述多維存儲器的寫入?yún)^(qū)域,從而將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述特定的寫入?yún)^(qū)域。
16.如權(quán)利要求15中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述多維存儲器寫入裝置可以設(shè)定下列兩種模式中的任何一種使所述讀出區(qū)域和所述寫入?yún)^(qū)域相對應(yīng),在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域的數(shù)據(jù)的常規(guī)傳送模式,以及將所述讀出區(qū)域和所述寫入?yún)^(qū)域轉(zhuǎn)置,在所述寫入?yún)^(qū)域中寫入所述讀出區(qū)域數(shù)據(jù)的轉(zhuǎn)置傳送模式,根據(jù)設(shè)定的傳送模式,將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中。
17.如權(quán)利要求10-16任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,通過第1脈沖串長度的總線與所述多維存儲器相連,所述多維存儲器寫入裝置以所述第1脈沖串長度單位將從所述一維存儲器中讀出的數(shù)據(jù)寫入到所述多維存儲器中,應(yīng)該寫入所述多維存儲器的數(shù)據(jù)不足所述第1脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)單位寫入到所述多維存儲器中。
18.如權(quán)利要求10-17任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,通過第2脈沖串長度的總線與所述一維存儲器相連,所述一維存儲器讀出裝置,以所述第2脈沖串長度為單位從所述一維存儲器中讀出來自所述一維存儲器的數(shù)據(jù),應(yīng)該從所述一維存儲器讀出的數(shù)據(jù)不足所述第2脈沖串長度時(shí),僅對該數(shù)據(jù)而言,變?yōu)橐圆蛔闼龅?脈沖串長度的數(shù)據(jù)為單位從所述一維存儲器中讀出。
19.如權(quán)利要求1到18任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述多維存儲器和所述一維存儲器之間的數(shù)據(jù)傳送為與利用所述多維存儲器進(jìn)行運(yùn)算的運(yùn)算處理裝置的操作相獨(dú)立而執(zhí)行的。
20.如權(quán)利要求1到19任一項(xiàng)中所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述多維存儲器帶有假設(shè)在縱向橫向上排列的二維形成的一定虛擬最小二維存儲器空間的二維存儲器空間的同時(shí),預(yù)先以一定規(guī)則分別分配所述虛擬最小二維存儲器空間1的各個(gè)地址的n個(gè)存儲器,數(shù)據(jù)讀出時(shí),特定所述虛擬最小二維存儲器空間上的地址位置,根據(jù)從特定的地址位置中讀出數(shù)據(jù)的方向或指定圖案的讀出訪問模式,重新排列來自n個(gè)存儲器的讀出數(shù)據(jù),將重新排列的各個(gè)讀出數(shù)據(jù)一并輸出的讀出數(shù)據(jù)控制器,指定讀出地址時(shí),根據(jù)所述指定讀出訪問模式和所述特定訪問位置,或根據(jù)在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間1的情況下所述指定讀出訪問模式,來將所述指定讀出地址校正為一定地址并輸出到所述n個(gè)存儲器中的讀出地址控制單元。
21.如權(quán)利要求20所述的多維存儲器的數(shù)據(jù)傳送裝置,其特征在于,所述讀出數(shù)據(jù)控制器帶有讀出數(shù)據(jù)時(shí),輸出根據(jù)指定的讀出地址來特定的所述虛擬最小二維存儲器空間上的訪問位置以及根據(jù)指定的所述讀出訪問模式來選擇所述n個(gè)存儲器的讀出數(shù)據(jù)的選擇信號的數(shù)據(jù)控制器,以及對應(yīng)于所述n個(gè)存儲器所設(shè)置、基于來自所述數(shù)據(jù)控制器的選擇信號來選擇來自所述n個(gè)存儲器的各個(gè)讀出數(shù)據(jù)并同時(shí)將其輸出的n個(gè)選擇器,所述讀出地址控制單元帶有指定讀出地址時(shí),根據(jù)所述讀出訪問模式以及所述讀出地址,輸出將相當(dāng)于所述各個(gè)存儲器的下位側(cè)地址的所述讀出地址變換為一定值的地址變換信號的同時(shí),在訪問空間跨過相鄰的所述虛擬最小二維存儲器空間的情況下,根據(jù)所述讀出訪問模式,輸出將相當(dāng)于所述各個(gè)存儲器上位側(cè)地址的所述讀出地址進(jìn)行校正的校正信號的地址控制器,以及對應(yīng)于所述n個(gè)存儲器設(shè)置、基于來自所述地址控制器的地址變換信號將所述讀出地址變換為一定值并向所述各個(gè)存儲器輸出的同時(shí),基于來自所述地址控制器的校正信號對所述讀出地址進(jìn)行校正并向所述各個(gè)存儲器輸出的n個(gè)地址校正器。
22.一種多維存儲器的數(shù)據(jù)傳送程序,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其是用于在計(jì)算機(jī)中執(zhí)行作為從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出裝置,以及將由所述多維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入裝置來實(shí)現(xiàn)的處理的程序。
23.一種多維存儲器的數(shù)據(jù)傳送程序,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其是用于在計(jì)算機(jī)中執(zhí)行作為從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出裝置,以及將由所述一維存儲器讀出裝置讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入裝置來實(shí)現(xiàn)的處理的程序。
24.一種多維存儲器的數(shù)據(jù)傳送方法,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其包含從所述多維存儲器中讀出所述多維空間內(nèi)一定區(qū)域內(nèi)的數(shù)據(jù)的多維存儲器讀出步驟,以及將由所述多維存儲器讀出步驟讀出的數(shù)據(jù)寫入所述一維存儲器中的一維存儲器寫入步驟。
25.一種多維存儲器的數(shù)據(jù)傳送方法,在從訪問一側(cè)看去將存儲器空間構(gòu)成多維空間的多維存儲器和從訪問一側(cè)看去將存儲器空間構(gòu)成一維空間的一維存儲器之間進(jìn)行數(shù)據(jù)傳送,其特征在于,其包含從所述一維存儲器中讀出數(shù)據(jù)的一維存儲器讀出步驟,以及將由所述一維存儲器讀出步驟讀出的數(shù)據(jù)寫入所述多維存儲器中以便于將該數(shù)據(jù)配置在所述多維空間的一定區(qū)域中的多維存儲器寫入步驟。
全文摘要
本發(fā)明提供一種能夠進(jìn)行高效率SIMD運(yùn)算的同時(shí),適合于在多維存儲器和一維存儲器之間傳送數(shù)據(jù)的多維存儲器數(shù)據(jù)傳送裝置。DMAC43從二維數(shù)據(jù)、訪問、存儲器10中讀出二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的矩形區(qū)域內(nèi)的數(shù)據(jù),將讀出的數(shù)據(jù)寫入一維數(shù)據(jù)、訪問、存儲器41中。從一維數(shù)據(jù)、訪問、存儲器41中讀出數(shù)據(jù),將讀出數(shù)據(jù)寫入二維數(shù)據(jù)、訪問、存儲器10中以便于將該數(shù)據(jù)配置在二維數(shù)據(jù)、訪問、存儲器10的邏輯二維空間中的矩形區(qū)域中。
文檔編號G06F12/10GK1445679SQ03124370
公開日2003年10月1日 申請日期2003年3月19日 優(yōu)先權(quán)日2002年3月20日
發(fā)明者久保敏浩 申請人:精工愛普生株式會社