亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

混洗模式生成方法和裝置的制造方法

文檔序號(hào):10724533閱讀:542來(lái)源:國(guó)知局
混洗模式生成方法和裝置的制造方法
【專(zhuān)利摘要】本發(fā)明提供一種混洗模式生成方法和裝置,其中,混洗模式生成方法包括:獲取混洗模式生成指令的輸入操作數(shù);混洗模式生成指令用于為混洗指令生成混洗模式;輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量;根據(jù)生成模式獲取與生成模式相對(duì)應(yīng)的偏移向量;根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量,生成混洗模式;將混洗模式存儲(chǔ)在混洗模式生成指令的輸出操作數(shù)所指示的寄存器中。本發(fā)明提供的混洗模式生成方法,可以簡(jiǎn)化混洗模式設(shè)計(jì)的難度,提高混洗模式編程的靈活性。
【專(zhuān)利說(shuō)明】
混洗模式生成方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理領(lǐng)域,尤其涉及一種混洗模式生成方法和裝置。
【背景技術(shù)】
[0002] 隨著多媒體應(yīng)用的發(fā)展,處理器越來(lái)越多的計(jì)算任務(wù)都來(lái)自于數(shù)字圖像處理領(lǐng) 域,基于圖像的應(yīng)用成為服務(wù)器、桌面計(jì)算機(jī)、個(gè)人移動(dòng)設(shè)備以及嵌入式設(shè)備中不可忽視的 工作負(fù)載。針對(duì)數(shù)字圖像處理軟件的實(shí)際情況,對(duì)指令集架構(gòu)進(jìn)行更新,在處理器中加入對(duì) 應(yīng)用中常用操作的指令支持,是處理器發(fā)展的一個(gè)主要方向,同時(shí)也是處理器針對(duì)特定應(yīng) 用提升性能的簡(jiǎn)單且有效的方法,因此,越來(lái)越多的處理器中增加了單指令多數(shù)據(jù)流 (Single Instruction Multiple Data,簡(jiǎn)稱(chēng)SIMD)結(jié)構(gòu),以支持規(guī)則數(shù)據(jù)集合上的同種操 作。
[0003] 目前,SMD處理器中普遍引入了混洗指令,混洗指令是指按照特定圖像處理算法 要求的數(shù)據(jù)格式進(jìn)行混洗,然后,用一條運(yùn)算指令對(duì)向量寄存器中的元素同時(shí)進(jìn)行操作,這 樣就在硬件層面大大優(yōu)化了多媒體處理和矩陣運(yùn)算中操作數(shù)集合的快速生成。例如:在無(wú) 互鎖流水線級(jí)的微處理器(Million Instructions Per Second,簡(jiǎn)稱(chēng)MIPS)向量指令架構(gòu) 中,混洗指令具體為VSHF.B wd,ws,wt,其中,ws和wt均為源寄存器,wd既是目的寄存器,同 時(shí)也是模式控制寄存器,wd中包括混洗模式,所謂混洗模式,是指結(jié)果數(shù)據(jù)中各元素在源數(shù) 據(jù)中的位置索引。在寄存器為128位的情況下,ws、wt和wd均包含有16個(gè)字節(jié),wd中包括有16 個(gè)混洗模式字節(jié),則運(yùn)行混洗指令VSHF.B wd,ws,wt之后,新生成的目的寄存器wd,是按照 wd中16個(gè)混洗模式字節(jié)的模式要求,從ws和wt拼接后的256位(也即32個(gè)字節(jié))中選擇16個(gè) 字節(jié)形成的目標(biāo)向量。
[0004]但是,混洗指令VSHF.B wd,ws,wt在對(duì)數(shù)據(jù)元素進(jìn)行混洗操作時(shí),往往需要程序員 提前設(shè)計(jì)1到16個(gè)甚至更多的混洗模式的字節(jié),過(guò)程繁瑣,使得混洗模式編程的靈活性受 限。

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

[0005] 本發(fā)明提供一種混洗模式生成方法和裝置,通過(guò)混洗模式生成指令為混洗指令自 動(dòng)生成混洗模式,簡(jiǎn)化了混洗模式設(shè)計(jì)的難度,提高了混洗模式編程的靈活性。
[0006] 本發(fā)明提供的混洗模式生成方法,包括:
[0007] 獲取混洗模式生成指令的輸入操作數(shù);所述混洗模式生成指令用于為混洗指令生 成混洗模式;所述輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量;
[0008] 根據(jù)所述生成模式獲取與所述生成模式相對(duì)應(yīng)的偏移向量;
[0009] 根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量,生成所述混洗模式;
[0010] 將所述混洗模式存儲(chǔ)在所述混洗模式生成指令的輸出操作數(shù)所指示的寄存器中。
[0011] 本發(fā)明提供的混洗模式生成裝置,包括:
[0012] 第一獲取模塊,用于獲取混洗模式生成指令的輸入操作數(shù);所述混洗模式生成指 令用于為混洗指令生成混洗模式;所述輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量;
[0013]第二獲取模塊,用于根據(jù)所述生成模式獲取與所述生成模式相對(duì)應(yīng)的偏移向量; [0014]混洗模式生成模塊,用于根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量, 生成所述混洗模式;
[0015] 存儲(chǔ)模塊,用于將所述混洗模式存儲(chǔ)在所述混洗模式生成指令的輸出操作數(shù)所指 示的寄存器中。
[0016] 本發(fā)明提供一種混洗模式生成方法和裝置,其中,混洗模式生成方法包括:獲取混 洗模式生成指令的輸入操作數(shù),根據(jù)生成模式獲取與生成模式相對(duì)應(yīng)的偏移向量,根據(jù)偏 移向量中的各個(gè)偏移值和基礎(chǔ)偏移量,生成混洗模式,將混洗模式存儲(chǔ)在混洗模式生成指 令的輸出操作數(shù)所指示的寄存器中。本發(fā)明提供的混洗模式生成方法,通過(guò)調(diào)用混洗模式 生成指令,根據(jù)生成模式和基礎(chǔ)偏移量就可以獲取到與生成模式相對(duì)應(yīng)的混洗模式,大大 簡(jiǎn)化了混洗模式的設(shè)計(jì)復(fù)雜度,同時(shí)提高了混洗模式生成的靈活性。
【附圖說(shuō)明】
[0017] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā) 明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0018] 圖1為本發(fā)明實(shí)施例一提供的混洗模式生成方法的流程圖;
[0019] 圖2為本發(fā)明實(shí)施例二提供的混洗模式生成方法的流程圖;
[0020] 圖3A為本發(fā)明實(shí)施例三提供的混洗模式生成方法的一種工作流程圖;
[0021]圖3B為本發(fā)明實(shí)施例三提供的混洗模式生成方法的另一種工作流程圖;
[0022]圖3C為本發(fā)明實(shí)施例三提供的混洗模式生成方法的又一種工作流程圖;
[0023]圖4為本發(fā)明實(shí)施例一提供的混洗模式生成裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0025] 本發(fā)明實(shí)施例提供的混洗模式生成方法和裝置,主要應(yīng)用于數(shù)字圖像處理過(guò)程中 調(diào)用混洗指令的場(chǎng)景,例如:視頻圖像處理過(guò)程中的運(yùn)動(dòng)估計(jì)類(lèi)操作調(diào)用混洗指令的場(chǎng)景, 當(dāng)然,本發(fā)明實(shí)施例提供的混洗模式生成方法和裝置,也可以應(yīng)用于除數(shù)字圖像處理之外 的調(diào)用混洗指令的場(chǎng)景。
[0026] 圖1為本發(fā)明實(shí)施例一提供的混洗模式生成方法的流程圖,本實(shí)施例提供的混洗 模式生成方法,執(zhí)行主體可以為混洗模式生成裝置,混洗模式生成裝置可以為中央處理器 (Central Processing Unit,簡(jiǎn)稱(chēng)CPU),或者是集成在CPU中的電路,等等。如圖1所示,本實(shí) 施例提供的混洗模式生成方法,可以包括:
[0027] 步驟101、獲取混洗模式生成指令的輸入操作數(shù)。
[0028] 其中,混洗模式生成指令用于為混洗指令生成混洗模式。
[0029] 其中,輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量。
[0030] 在本實(shí)施例中,定義了混洗模式生成指令,通過(guò)執(zhí)行混洗模式生成指令從而為混 洗指令生成混洗模式。具體的,混洗模式生成指令的輸入操作數(shù)包括生成模式和基礎(chǔ)偏移 量,生成模式為混洗模式生成方式的索引值,基礎(chǔ)偏移量為混洗指令中源寄存器中的基礎(chǔ) 偏移數(shù)據(jù)的位置索引值。
[0031 ]例如:基礎(chǔ)偏移量為5,則混洗指令中源寄存器中的基礎(chǔ)偏移數(shù)據(jù)的位置索引值為 5,混洗模式生成指令將根據(jù)基礎(chǔ)偏移量5生成混洗模式。
[0032] 在本實(shí)施例中,獲取混洗模式生成指令的輸入操作數(shù),可以有多種實(shí)現(xiàn)方式,例 如:可以通過(guò)上層軟件參數(shù)傳遞的方式獲取,也可以通過(guò)計(jì)算過(guò)程中新生成的混洗模式生 成指令的輸入操作數(shù)的方式獲取,等等。
[0033] 需要說(shuō)明的是,本實(shí)施例對(duì)于混洗模式生成指令的指令名稱(chēng)和操作數(shù)的名稱(chēng)、類(lèi) 型不做特別限制。例如:在MIPS向量指令架構(gòu)中,混洗模式生成指令可以定義為:
[0034] VMEPATMSK.V wd,mode,u5
[0035] 其中,VMEPATMSK.V表示混洗模式生成指令的指令名稱(chēng),mode和u5為輸入操作數(shù), wd為輸出操作數(shù)。其中,mode表示生成模式,u5表示基礎(chǔ)偏移量,wd用于指示混洗模式生成 指令的目的寄存器的編號(hào)。其中,mode和u5可以為立即數(shù),wd可以為寄存器。
[0036] 下面以具體數(shù)值為例詳細(xì)說(shuō)明混洗模式生成指令,例如:
[0037] VMEPATMSK.V 1,9,13
[0038] 則上述混洗模式生成指令表示,以混洗指令中源寄存器中的基礎(chǔ)偏移數(shù)據(jù)的位置 索引值5為基礎(chǔ),按照生成方式的索引值9所指示的混洗模式生成方式生成混洗模式,其中, 目的寄存器編號(hào)為1。
[0039] 需要說(shuō)明的是,本實(shí)施例對(duì)于混洗模式生成指令中的輸入操作數(shù)和輸出操作數(shù)的 位數(shù)不做特別限制,位數(shù)的大小決定了輸入操作數(shù)和輸出操作數(shù)的數(shù)量,根據(jù)需要進(jìn)行設(shè) 置。
[0040] 可選的,生成模式和基礎(chǔ)偏移量均為5比特。此時(shí),生成模式為32種,取值可以為0 ~31之間的任意整數(shù),基礎(chǔ)偏移量為32種,取值可以為0~31之間的任意整數(shù)。
[00411可選的,輸出操作數(shù)可以為5比特。
[0042] 步驟102、根據(jù)生成模式獲取與生成模式相對(duì)應(yīng)的偏移向量。
[0043] 其中,偏移向量中的元素為偏移值,偏移值是指相對(duì)于混洗指令中源寄存器中基 礎(chǔ)偏移數(shù)據(jù)的位置索引偏移的索引值。
[0044] 可選的,偏移向量可以包括:基礎(chǔ)位移量和位移向量?;A(chǔ)位移量是指相對(duì)于混洗 指令中源寄存器中基礎(chǔ)偏移數(shù)據(jù)的位置索引整體偏移的索引值,位移向量中的元素為位移 值,位移值是指在基礎(chǔ)位移量的基礎(chǔ)上,相對(duì)于混洗指令中源寄存器中基礎(chǔ)偏移數(shù)據(jù)的位 置索引偏移的索引值。
[0045] 需要說(shuō)明的是,本實(shí)施例對(duì)于偏移向量中的偏移值、基礎(chǔ)位移量、位移向量中的位 移值的取值不做特別限制,根據(jù)需要進(jìn)行設(shè)置。
[0046] 步驟103、根據(jù)偏移向量中的各個(gè)偏移值和基礎(chǔ)偏移量,生成混洗模式。
[0047] 具體的,本實(shí)施例提供的混洗模式生成方法,通過(guò)獲取混洗模式生成指令中的生 成模式和基礎(chǔ)偏移量,可以獲取與生成模式相對(duì)應(yīng)的偏移向量,根據(jù)偏移向量中的各個(gè)偏 移值和基礎(chǔ)偏移量,就可以生成混洗模式,即,在執(zhí)行混洗指令之前,調(diào)用混洗模式生成指 令,不需要程序員通過(guò)復(fù)雜繁瑣的計(jì)算提前設(shè)計(jì)混洗模式,僅通過(guò)混洗模式生成指令中的 生成模式和基礎(chǔ)偏移量就可以獲取到與生成模式相對(duì)應(yīng)的混洗模式,從而大大簡(jiǎn)化了混洗 模式的設(shè)計(jì)復(fù)雜度,同時(shí)提高了混洗模式生成的靈活性,降低了處理器的額外開(kāi)銷(xiāo)。
[0048] 可選的,在一種具體的實(shí)現(xiàn)方式中,步驟103,根據(jù)偏移向量中的各個(gè)偏移值和基 礎(chǔ)偏移量,生成混洗模式,可以包括:
[0049] 將偏移向量中的各個(gè)偏移值依次與基礎(chǔ)偏移量相加,生成混洗模式。
[0050] 下面以具體數(shù)值為例詳細(xì)說(shuō)明生成混洗模式的步驟。
[0051] 假設(shè),基礎(chǔ)偏移量為10,偏移向量中的各個(gè)偏移值分別為:0、1、2、3、0、1、2、3、0、1、 2、 3、0、1、2、3〇
[0052] 則生成的混洗模式為:10+0、10+1、10+2、10+3、10+0、10+1、10+2、10+3、10+0、10+1、 10+2、10+3、10+0、10+1、10+2、10+3,即10、11、12、13、10、11、12、13、10、11、12、13、10、11、12、 13。
[0053]可選的,若偏移向量包括基礎(chǔ)位移量和位移向量,則根據(jù)偏移向量中的各個(gè)偏移 值和基礎(chǔ)偏移量,生成混洗模式,可以包括:
[0054]將位移向量中的各個(gè)位移值依次與基礎(chǔ)位移量以及基礎(chǔ)偏移量相加,生成混洗模 式。
[0055] 下面以具體數(shù)值為例詳細(xì)說(shuō)明生成混洗模式的步驟。
[0056] 假設(shè),基礎(chǔ)偏移量為6,基礎(chǔ)位移量為8,位移向量中的各個(gè)位移值分別為:0、1、2、 3、 1、2、3、4、0、1、2、3、1、2、3、4〇
[0057] 則生成的混洗模式為:6+8+0、6+8+1、6+8+2、6+8+3、6+8+1、6+8+2、6+8+3、6+8+4、6+ 8+0、6+8+l、6+8+2、6+8+3、6+8+l、6+8+2、6+8+3、6+8+4,BPl4、15、16、17、15、16、17、18、14、 15、16、17、15、16、17、18 〇
[0058]步驟104、將混洗模式存儲(chǔ)在混洗模式生成指令的輸出操作數(shù)所指示的寄存器中。
[0059] 具體的,混洗模式生成指令的輸出操作數(shù),用于指示混洗模式生成指令的目的寄 存器的編號(hào),將混洗模式存儲(chǔ)在輸出操作數(shù)所指示的寄存器中。
[0060] 可選的,本實(shí)施例提供的混洗模式生成方法,還可以包括:
[0061 ]根據(jù)混洗模式執(zhí)行混洗指令。
[0062] 本實(shí)施例提供了一種混洗模式生成方法,包括:獲取混洗模式生成指令的輸入操 作數(shù),根據(jù)生成模式獲取與生成模式相對(duì)應(yīng)的偏移向量,根據(jù)偏移向量中的各個(gè)偏移值和 基礎(chǔ)偏移量,生成混洗模式,將混洗模式存儲(chǔ)在混洗模式生成指令的輸出操作數(shù)所指示的 寄存器中。本實(shí)施例提供的混洗模式生成方法,通過(guò)調(diào)用混洗模式生成指令,根據(jù)生成模式 和基礎(chǔ)偏移量就可以獲取到與生成模式相對(duì)應(yīng)的混洗模式,大大簡(jiǎn)化了混洗模式的設(shè)計(jì)復(fù) 雜度,同時(shí)提高了混洗模式生成的靈活性,降低了處理器的額外開(kāi)銷(xiāo)。
[0063] 圖2為本發(fā)明實(shí)施例二提供的混洗模式生成方法的流程圖,本實(shí)施例在實(shí)施例一 的基礎(chǔ)上,提供了混洗模式生成方法的另一種實(shí)現(xiàn)方式。如圖2所示,本實(shí)施例提供的混洗 模式生成方法,在實(shí)施例一中步驟101之前,還可以包括:
[0064] 步驟201、獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則。
[0065] 具體的,對(duì)于特定的應(yīng)用軟件,在數(shù)據(jù)處理過(guò)程中,對(duì)數(shù)據(jù)進(jìn)行混洗操作通常會(huì)遵 循一定的規(guī)則,將該規(guī)則稱(chēng)為數(shù)據(jù)混洗規(guī)則。
[0066] 其中,本實(shí)施例對(duì)于應(yīng)用軟件的具體類(lèi)型不特別限制,例如:應(yīng)用軟件可以為視頻 處理軟件或者圖像處理軟件,等等。
[0067] 其中,獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則,可以是獲取應(yīng)用軟件中特定操作的數(shù)據(jù) 混洗規(guī)則,例如:獲取視頻處理軟件中運(yùn)動(dòng)估計(jì)類(lèi)操作的數(shù)據(jù)混洗規(guī)則,其中,運(yùn)動(dòng)估計(jì)是 視頻編碼和視頻處理中廣泛使用的技術(shù),用于去除幀間冗余度,使得視頻傳輸?shù)谋忍財(cái)?shù)大 大減少。
[0068] 下面以具體示例詳細(xì)說(shuō)明本步驟。
[0069]例如:對(duì)于視頻處理中的運(yùn)動(dòng)估計(jì)類(lèi)操作,通常將圖像按照4*4像素的大小劃分為 多個(gè)圖像子塊,對(duì)圖像子塊中的像素點(diǎn)進(jìn)行數(shù)據(jù)混洗操作,在數(shù)據(jù)處理過(guò)程中,對(duì)于每個(gè)圖 像子塊的數(shù)據(jù)混洗,通常只取圖像子塊的第1行的4個(gè)像素點(diǎn),那么,對(duì)于視頻處理中的運(yùn)動(dòng) 估計(jì)類(lèi)操作,數(shù)據(jù)混洗規(guī)則為獲取每個(gè)圖像子塊的第1行的4個(gè)像素點(diǎn)。
[0070]步驟202、根據(jù)數(shù)據(jù)混洗規(guī)則生成偏移向量以及與偏移向量相對(duì)應(yīng)的生成模式。
[0071] 具體的,由于應(yīng)用軟件的數(shù)據(jù)混洗操作具有數(shù)據(jù)混洗規(guī)則,則可以根據(jù)該數(shù)據(jù)混 洗規(guī)則生成偏移向量,并為該偏移向量生成與其對(duì)應(yīng)的生成模式,這樣,在混洗模式生成指 令中,獲取特定的生成模式,則對(duì)應(yīng)一個(gè)可以反映出數(shù)據(jù)混洗規(guī)則的偏移向量,進(jìn)而根據(jù)混 洗模式生成指令中的生成模式和基礎(chǔ)偏移量生成混洗模式,從而大大簡(jiǎn)化了混洗模式的設(shè) 計(jì)復(fù)雜度,提高了混洗模式生成的靈活性。
[0072] 下面以具體示例詳細(xì)說(shuō)明本步驟。
[0073] 例如:對(duì)于視頻處理中的運(yùn)動(dòng)估計(jì)類(lèi)操作,數(shù)據(jù)混洗規(guī)則為獲取每個(gè)圖像子塊的 第1行的4個(gè)像素點(diǎn),則根據(jù)該數(shù)據(jù)混洗規(guī)則可以生成偏移向量為0、1、2、3、1、2、3、4、0、1、2、 3、1、2、3、4,與該偏移向量相對(duì)應(yīng)的生成模式定義為1。
[0074] 本實(shí)施例提供了一種混洗模式生成方法,通過(guò)獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則, 根據(jù)數(shù)據(jù)混洗規(guī)則生成偏移向量以及與偏移向量相對(duì)應(yīng)的生成模式,通過(guò)調(diào)用混洗模式生 成指令可以生成混洗模式。本實(shí)施例提供的混洗模式生成方法,大大簡(jiǎn)化了混洗模式的設(shè) 計(jì)復(fù)雜度,同時(shí)提高了混洗模式生成的靈活性。
[0075]作為本發(fā)明的實(shí)施例三,在實(shí)施例一和實(shí)施例二的基礎(chǔ)上,將以具體示例詳細(xì)說(shuō) 明本實(shí)施例提供的混洗模式生成方法。
[0076]圖3A為本發(fā)明實(shí)施例三提供的混洗模式生成方法的一種工作流程圖,圖3A示出了 調(diào)用混洗模式生成指令和混洗指令,生成混洗結(jié)果的一種工作流程。
[0077] 如圖3A所示,混洗模式生成指令可以為VMEPATMSK. V wt 1,1,0,混洗指令可以為 VSHF.B wtljwrljwrlo
[0078]其中,生成模式為1,基礎(chǔ)偏移量為0,生成模式1對(duì)應(yīng)的偏移向量為0、1、2、3、1、2、 3、4、2、3、4、5、3、4、5、6,則調(diào)用混洗模式生成指令生成的混洗模式為0+0、0+1、0+2、0+3、0+ 1、0+2、0+3、0+4、0+2、0+3、0+4、0+5、0+3、0+4、0+5、0+6,艮P〇、l、2、3、l、2、3、4、2、3、4、5、3、4、 5、6,參見(jiàn)表U
[0079] 其中,S1-01和S1-03為混洗指令中的兩個(gè)源操作數(shù),S1-02表示將兩個(gè)源操作數(shù)進(jìn) 行首尾連接,S1-04為混洗模式生成指令的輸出操作數(shù)指示的寄存器,也是混洗指令的模式 向量寄存器,S1-05為按照模式向量寄存器進(jìn)行混洗之后,生成的目的向量寄存器。
[0080] 表 1
[0081]
[0082]圖3B為本發(fā)明實(shí)施例三提供的混洗模式生成方法的另一種工作流程圖,圖3B示出 了調(diào)用混洗模式生成指令和混洗指令,生成混洗結(jié)果的另一種工作流程。
[0083] 如圖3B所示,混洗模式生成指令可以為VMEPATMSK. V wt2,2,0,混洗指令可以為 VSHF.B wt2,wrl,wrl〇
[0084]其中,生成模式為2,基礎(chǔ)偏移量為0,生成模式2對(duì)應(yīng)的基礎(chǔ)位移量為4,生成模式2 對(duì)應(yīng)的位移向量為0、1、2、3、1、2、3、4、2、3、4、5、3、4、5、6,則調(diào)用混洗模式生成指令生成的 混洗板式為0+4+0、0+4+1、0+4+2、0+4+3、0+4+1、0+4+2、0+4+3、0+4+4、0+4+2、0+4+3、0+4+4、0 +4+5、0+4+3、0+4+4、0+4+5、0+4+6,BP4、5、6、7、5、6、7、8、6、7、8、9、7、8、9、10,參見(jiàn)表 2。
[0085] 其中,S2-01和S2-03為混洗指令中的兩個(gè)源操作數(shù),S2-02表示將兩個(gè)源操作數(shù)進(jìn) 行首尾連接,S2-04為混洗模式生成指令的輸出操作數(shù)指示的寄存器,也是混洗指令的模式 向量寄存器,S2-05~S2-08為混洗過(guò)程生成的4個(gè)字,S2-09為按照模式向量寄存器進(jìn)行混 洗之后,生成的目的向量寄存器。
[0086] 表 2
[0087]
[0088] 圖3C為本發(fā)明實(shí)施例三提供的混洗模式生成方法的又一種工作流程圖,圖3C示出 了調(diào)用混洗模式生成指令和混洗指令,生成混洗結(jié)果的又一種工作流程。
[0089] 如圖3C所示,混洗模式生成指令可以為VMEPATMSK. V wt3,0,8,混洗指令可以為 VSHF.B wt3,wrl,wrl〇
[0090]其中,生成模式為0,基礎(chǔ)偏移量為8,生成模式1對(duì)應(yīng)的偏移向量為0、1、2、3、0、1、 2、3、0、1、2、3、0、1、2、3,則調(diào)用混洗模式生成指令生成的混洗模式為8+0、8+1、8+2、8+3、8+ 0、8+1、8+2、8+3、8+0、8+1、8+2、8+3、8+0、8+1、8+2、8+3,ΒΡ8、9、10、11、8、9、10、11、8、9、10、 11、8、9、10、11,參見(jiàn)表3。
[0091] 其中,S3-01和S3-03為混洗指令中的兩個(gè)源操作數(shù),S3-02表示將兩個(gè)源操作數(shù)進(jìn) 行首尾連接,S3-04為混洗模式生成指令的輸出操作數(shù)指示的寄存器,也是混洗指令的模式 向量寄存器,S3-05為按照模式向量寄存器進(jìn)行混洗之后,生成的目的向量寄存器。
[0092] 表 3
[0093]
[0094] 圖4為本發(fā)明實(shí)施例一提供的混洗模式生成裝置的結(jié)構(gòu)示意圖,本實(shí)施例提供的 混洗模式生成裝置,用于執(zhí)行圖1~圖3C所示的任一實(shí)施例提供的混洗模式生成方法。如圖 4所示,本實(shí)施例提供的混洗模式生成裝置,可以包括:
[0095] 第一獲取模塊11,用于獲取混洗模式生成指令的輸入操作數(shù)?;煜茨J缴芍噶?用于為混洗指令生成混洗模式。輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量。
[0096] 第二獲取模塊12,用于根據(jù)生成模式獲取與生成模式相對(duì)應(yīng)的偏移向量。
[0097] 混洗模式生成模塊13,根據(jù)偏移向量中的各個(gè)偏移值和基礎(chǔ)偏移量,生成混洗模 式。
[0098] 存儲(chǔ)模塊14,用于將混洗模式存儲(chǔ)在混洗模式生成指令的輸出操作數(shù)所指示的寄 存器中。
[0099] 可選的,混洗模式生成模塊13具體用于:
[0100] 將偏移向量中的各個(gè)偏移值依次與基礎(chǔ)偏移量相加,生成混洗模式。
[0101] 可選的,混洗模式生成裝置還包括:第三獲取模塊。
[0102] 第三獲取模塊用于:
[0103] 獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則。
[0104] 根據(jù)數(shù)據(jù)混洗規(guī)則生成偏移向量以及與偏移向量相對(duì)應(yīng)的生成模式。
[0105] 可選的,偏移向量包括:基礎(chǔ)位移量和位移向量。
[0106] 混洗模式生成模塊13具體用于:
[0107] 將位移向量中的各個(gè)位移值依次與基礎(chǔ)位移量以及基礎(chǔ)偏移量相加,生成混洗模 式。
[0108] 可選的,生成模式和基礎(chǔ)偏移量均為5比特。
[0109] 可選的,混洗模式生成裝置還包括:混洗模塊。
[0110] 混洗模塊用于根據(jù)混洗模式執(zhí)行混洗指令。
[0111] 本實(shí)施例提供的混洗模式生成裝置,用于執(zhí)行圖1-圖3C所示任一方法實(shí)施例提供 的混洗模式生成方法,其技術(shù)原理和技術(shù)效果類(lèi)似,此處不再贅述。
[0112] 最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡 管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依 然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn) 行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù) 方案的范圍。
【主權(quán)項(xiàng)】
1. 一種混洗模式生成方法,其特征在于,包括: 獲取混洗模式生成指令的輸入操作數(shù);所述混洗模式生成指令用于為混洗指令生成混 洗模式;所述輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量; 根據(jù)所述生成模式獲取與所述生成模式相對(duì)應(yīng)的偏移向量; 根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量,生成所述混洗模式; 將所述混洗模式存儲(chǔ)在所述混洗模式生成指令的輸出操作數(shù)所指示的寄存器中。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述獲取混洗模式生成指令的輸入操作 數(shù)之前,還包括: 獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則; 根據(jù)所述數(shù)據(jù)混洗規(guī)則生成所述偏移向量以及與所述偏移向量相對(duì)應(yīng)的生成模式。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述偏移向量包括:基礎(chǔ)位移量和位移向 量; 所述根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量,生成所述混洗模式,包括: 將所述位移向量中的各個(gè)位移值依次與所述基礎(chǔ)位移量以及所述基礎(chǔ)偏移量相加,生 成所述混洗模式。4. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述生成模式和所述基礎(chǔ)偏移 量均為5比特。5. 根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,還包括: 根據(jù)所述混洗模式執(zhí)行所述混洗指令。6. -種混洗模式生成裝置,其特征在于,包括: 第一獲取模塊,用于獲取混洗模式生成指令的輸入操作數(shù);所述混洗模式生成指令用 于為混洗指令生成混洗模式;所述輸入操作數(shù)包括:生成模式和基礎(chǔ)偏移量; 第二獲取模塊,用于根據(jù)所述生成模式獲取與所述生成模式相對(duì)應(yīng)的偏移向量; 混洗模式生成模塊,用于根據(jù)所述偏移向量中的各個(gè)偏移值和所述基礎(chǔ)偏移量,生成 所述混洗模式; 存儲(chǔ)模塊,用于將所述混洗模式存儲(chǔ)在所述混洗模式生成指令的輸出操作數(shù)所指示的 寄存器中。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括:第三獲取模塊; 所述第三獲取模塊用于: 獲取應(yīng)用軟件中的數(shù)據(jù)混洗規(guī)則; 根據(jù)所述數(shù)據(jù)混洗規(guī)則生成所述偏移向量以及與所述偏移向量相對(duì)應(yīng)的生成模式。8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述偏移向量包括:基礎(chǔ)位移量和位移向 量; 所述混洗模式生成模塊具體用于: 將所述位移向量中的各個(gè)位移值依次與所述基礎(chǔ)位移量以及所述基礎(chǔ)偏移量相加,生 成所述混洗模式。9. 根據(jù)權(quán)利要求6至8任一項(xiàng)所述的裝置,其特征在于,所述生成模式和所述基礎(chǔ)偏移 量均為5比特。10. 根據(jù)權(quán)利要求6至8任一項(xiàng)所述的裝置,其特征在于,還包括:混洗模塊; 所述混洗模塊,用于根據(jù)所述混洗模式執(zhí)行所述混洗指令。
【文檔編號(hào)】G06F9/30GK106095392SQ201610443245
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年6月20日
【發(fā)明人】汪文祥, 劉天義, 吳瑞陽(yáng), 沈海華
【申請(qǐng)人】龍芯中科技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1