System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及集成電路設(shè)計(jì),具體涉及一種可變長(zhǎng)度指令存儲(chǔ)控制器、控制方法、終端及存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、在傳統(tǒng)的cpu架構(gòu)中,指令存儲(chǔ)控制器通常以固定的位寬(例如32位)存儲(chǔ)指令。這種設(shè)計(jì)簡(jiǎn)化了指令讀取和執(zhí)行的硬件邏輯,但也導(dǎo)致了一些效率問(wèn)題。有些指令可能只需要較短的編碼長(zhǎng)度,而傳統(tǒng)的32位指令存儲(chǔ)方式會(huì)浪費(fèi)存儲(chǔ)空間。在一些運(yùn)算中,cpu會(huì)頻繁的使用某些指令,假如使用可變長(zhǎng)度指令存儲(chǔ)控制器,對(duì)于頻繁使用的指令,可以選擇更短的編碼長(zhǎng)度,這將顯著減少指令存儲(chǔ)的空間需求,從而節(jié)省寶貴的指令存儲(chǔ)空間,有助于降低整個(gè)指令存儲(chǔ)器的體積和成本,提高存儲(chǔ)資源的利用效率。
2、現(xiàn)有技術(shù)提供一種用于高速緩存可變長(zhǎng)度指令的方法和設(shè)備,使用輔助存儲(chǔ)器來(lái)存儲(chǔ)高速緩存器邊界位置指令數(shù)據(jù)的余副本,其主要目的是解決可變長(zhǎng)度指令跨越高速緩存線邊界時(shí)的存取效率問(wèn)題,并不能降低整個(gè)指令存儲(chǔ)器的體積和成本。現(xiàn)有技術(shù)還提供一種具有固定數(shù)量的可變長(zhǎng)度指令的指令高速緩存器,此種方法必須已知指令的存儲(chǔ)數(shù)量,并且需要使用預(yù)解碼器預(yù)先處理指令,不適用于存儲(chǔ)數(shù)量未知的場(chǎng)景,并且預(yù)解碼操作增加了計(jì)算負(fù)擔(dān)。
3、綜上,現(xiàn)有指令存儲(chǔ)器存在體積和成本較高、資源利用率較低、不適用于存儲(chǔ)數(shù)量未知的場(chǎng)景等缺陷。
技術(shù)實(shí)現(xiàn)思路
1、本專利技術(shù)提供一種可變長(zhǎng)度指令存儲(chǔ)控制器、控制方法、終端及存儲(chǔ)介質(zhì),采用雙端口陣列獲取相鄰地址的指令,使用已知的指令長(zhǎng)度即可控制可變長(zhǎng)度指令的取出,本專利技術(shù)的體積和成本較低、資源利用率高、可以實(shí)
2、第一方面,本專利技術(shù)提供一種可變長(zhǎng)度指令存儲(chǔ)控制器,包括:地址判斷模塊、雙端口陣列、加1加法器,取指移位模塊及指令緩存模塊;
3、雙端口陣列包括第一讀端口、第二讀端口、第一寫(xiě)端口、第二寫(xiě)端口、第一使能端口及第二使能端口;第一使能端口用于控制第一寫(xiě)端口寫(xiě)入數(shù)據(jù)或第一讀端口讀出數(shù)據(jù);第二使能端口用于控制第二寫(xiě)端口寫(xiě)入數(shù)據(jù)或第二讀端口讀出數(shù)據(jù);
4、使用時(shí),預(yù)先向雙端口陣列存入不同長(zhǎng)度的多個(gè)指令;
5、地址判斷模塊,輸出待取出指令地址,待取出指令地址的低l位為控制信號(hào),l等于1或2;其余高h(yuǎn)位地址同時(shí)傳輸至第一讀端口及加1加法器,第一讀端口基于高h(yuǎn)位地址輸出該地址的第一端口指令;加1加法器將高h(yuǎn)位地址加1后傳輸至第二讀端口;第二讀端口輸出加1后地址的第二端口指令;第一端口指令及第二端口指令傳輸至取指移位模塊;
6、基于控制信號(hào)自第一端口指令中選取第一指令,自第二端口指令中選取第二指令;第一指令和第二指令組合為緩存指令;
7、取指移位模塊所包括的位移開(kāi)關(guān)陣列將緩存指令傳輸至指令緩存模塊,自指令緩存模塊中可取出任意長(zhǎng)度的指令,實(shí)現(xiàn)可變長(zhǎng)度指令的存儲(chǔ)控制。
8、作為一種可能的實(shí)現(xiàn)方式,可變長(zhǎng)度指令存儲(chǔ)控制器具有自動(dòng)模式和手動(dòng)模式;處于自動(dòng)模式時(shí),向地址判斷模塊輸入指令長(zhǎng)度,可變長(zhǎng)度指令存儲(chǔ)控制器基于指令長(zhǎng)度按存入順序依次讀取各個(gè)指令;
9、處于手動(dòng)模式時(shí),向地址判斷模塊輸入指定地址,可變長(zhǎng)度指令存儲(chǔ)控制器讀取指定地址中的可變長(zhǎng)度指令。
10、作為一種可能的實(shí)現(xiàn)方式,地址判斷模塊包括第一復(fù)用器、觸發(fā)器、加法器,由開(kāi)關(guān)信號(hào)可變長(zhǎng)度指令存儲(chǔ)控制器切換為自動(dòng)模式或手動(dòng)模式,第一復(fù)用器用于輸出待取出指令地址;
11、自動(dòng)模式下,觸發(fā)器緩存當(dāng)前指令地址,加法器將當(dāng)前指令地址與指令長(zhǎng)度相加后傳輸至第一復(fù)用器,第一復(fù)用器將上述相加后獲得的地址作為待取出指令地址輸出;
12、手動(dòng)模式下,第一復(fù)用器將指定地址作為待取出指令地址輸出。
13、作為一種可能的實(shí)現(xiàn)方式,取指移位模塊還包括第二復(fù)用器,第二復(fù)用器基于控制信號(hào)控制位移開(kāi)關(guān)陣列輸出第一端口指令和第二端口指令對(duì)應(yīng)位置的指令。
14、作為一種可能的實(shí)現(xiàn)方式,指令長(zhǎng)度為n比特,1≤n≤5;指定地址長(zhǎng)度為s比特,8≤s≤16;雙端口陣列容量為r比特,256≤r≤64k;指令緩存模塊容量為p比特,16≤p≤40。
15、第二方面,本專利技術(shù)提供一種可變長(zhǎng)度指令存儲(chǔ)控制方法,應(yīng)用第一方面提供的可變長(zhǎng)度指令存儲(chǔ)控制器,包括如下步驟:
16、s1.預(yù)先向雙端口陣列存入多個(gè)指令,生成待取出指令地址;
17、s2.將待取出指令地址劃分為低l位和高h(yuǎn)位,l等于1或2;
18、s3.基于高h(yuǎn)位讀取指令,基于低l位生成控制信號(hào);
19、s4.控制信號(hào)控制位移開(kāi)關(guān)陣列輸出對(duì)應(yīng)位置的指令至指令緩存模塊;
20、s5.自指令緩存模塊中取出可變長(zhǎng)度指令。
21、作為一種可能的實(shí)現(xiàn)方式,自動(dòng)模式時(shí),輸入指令長(zhǎng)度,基于指令長(zhǎng)度按存入順序依次讀取各個(gè)指令;手動(dòng)模式時(shí),輸入指定地址,讀取指定地址中的可變長(zhǎng)度指令。
22、作為一種可能的實(shí)現(xiàn)方式,自動(dòng)模式下,待取出指令地址為當(dāng)前指令地址與指令長(zhǎng)度相加后獲得的地址;手動(dòng)模式下,待取出指令地址為指定地址。
23、第三方面,本專利技術(shù)提供一種終端,包括處理器以及與處理器耦合的通信接口,處理器用于運(yùn)行計(jì)算機(jī)程序或指令,以實(shí)現(xiàn)第一方面提供的可變長(zhǎng)度指令存儲(chǔ)控制方法。
24、第四方面,本專利技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括處理器以及與處理器耦合的通信接口,處理器用于運(yùn)行計(jì)算機(jī)程序或指令,以實(shí)現(xiàn)第一方面提供的可變長(zhǎng)度指令存儲(chǔ)控制方法。
25、與現(xiàn)有技術(shù)相比,本專利技術(shù)所產(chǎn)生的有益效果在于:
26、1.使用本專利技術(shù)提供的可變長(zhǎng)度指令存儲(chǔ)控制器,用戶可以根據(jù)指令的實(shí)際長(zhǎng)度來(lái)存儲(chǔ)指令,而不是統(tǒng)一使用較長(zhǎng)的固定長(zhǎng)度。從而節(jié)省存儲(chǔ)空間,提高存儲(chǔ)資源的利用效率,有助于降低整體硬件的成本和體積。
27、2.本專利技術(shù)提供的可變長(zhǎng)度指令存儲(chǔ)控制器,能夠適用于存儲(chǔ)數(shù)量未知的場(chǎng)景,可以應(yīng)對(duì)更加靈活的指令使用情況和需求。
28、3.本專利技術(shù)提供的可變長(zhǎng)度指令存儲(chǔ)控制器,減少了預(yù)解碼操作,從而降低了計(jì)算負(fù)擔(dān)。
29、4.本專利技術(shù)提供的可變長(zhǎng)度指令存儲(chǔ)控制器,兼容性較好,能夠適應(yīng)不同長(zhǎng)度和類型的指令集。
本文檔來(lái)自技高網(wǎng)...【技術(shù)保護(hù)點(diǎn)】
1.一種可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述可變長(zhǎng)度指令存儲(chǔ)控制器包括:地址判斷模塊、雙端口陣列、加1加法器,取指移位模塊及指令緩存模塊;
2.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述可變長(zhǎng)度指令存儲(chǔ)控制器具有自動(dòng)模式和手動(dòng)模式;處于自動(dòng)模式時(shí),向所述地址判斷模塊輸入指令長(zhǎng)度,所述可變長(zhǎng)度指令存儲(chǔ)控制器基于所述指令長(zhǎng)度按存入順序依次讀取各個(gè)指令;
3.根據(jù)權(quán)利要求2所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述地址判斷模塊包括第一復(fù)用器、觸發(fā)器、加法器,由開(kāi)關(guān)信號(hào)控制所述可變長(zhǎng)度指令存儲(chǔ)控制器切換為自動(dòng)模式或手動(dòng)模式,所述第一復(fù)用器用于輸出待取出指令地址;
4.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述取指移位模塊還包括第二復(fù)用器,所述第二復(fù)用器基于所述控制信號(hào)控制位移開(kāi)關(guān)陣列輸出第一端口指令和第二端口指令對(duì)應(yīng)位置的指令。
5.根據(jù)權(quán)利要求2所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述指令長(zhǎng)度為N比特,1≤N≤5;所述指定地址長(zhǎng)度為S比特,8≤S≤16;所述雙端口陣列容量為R比特,256≤
6.一種可變長(zhǎng)度指令存儲(chǔ)控制方法,應(yīng)用權(quán)利要求1至5任一項(xiàng)所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,包括如下步驟:
7.根據(jù)權(quán)利要求6所述的可變長(zhǎng)度指令存儲(chǔ)控制方法,其特征在于,自動(dòng)模式時(shí),輸入指令長(zhǎng)度,基于所述指令長(zhǎng)度按存入順序依次讀取各個(gè)指令;手動(dòng)模式時(shí),輸入指定地址,讀取所述指定地址中的可變長(zhǎng)度指令。
8.根據(jù)權(quán)利要求7所述的可變長(zhǎng)度指令存儲(chǔ)控制方法,其特征在于,自動(dòng)模式下,所述待取出指令地址為當(dāng)前指令地址與所述指令長(zhǎng)度相加后獲得的地址;手動(dòng)模式下,所述待取出指令地址為所述指定地址。
9.一種終端,其特征在于,包括處理器以及與處理器耦合的通信接口,處理器用于運(yùn)行計(jì)算機(jī)程序或指令,以實(shí)現(xiàn)權(quán)利要求6至8任一項(xiàng)所述的可變長(zhǎng)度指令存儲(chǔ)控制方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括處理器以及與處理器耦合的通信接口,處理器用于運(yùn)行計(jì)算機(jī)程序或指令,以實(shí)現(xiàn)權(quán)利要求6至8任一項(xiàng)所述的可變長(zhǎng)度指令存儲(chǔ)控制方法。
...【技術(shù)特征摘要】
1.一種可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述可變長(zhǎng)度指令存儲(chǔ)控制器包括:地址判斷模塊、雙端口陣列、加1加法器,取指移位模塊及指令緩存模塊;
2.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述可變長(zhǎng)度指令存儲(chǔ)控制器具有自動(dòng)模式和手動(dòng)模式;處于自動(dòng)模式時(shí),向所述地址判斷模塊輸入指令長(zhǎng)度,所述可變長(zhǎng)度指令存儲(chǔ)控制器基于所述指令長(zhǎng)度按存入順序依次讀取各個(gè)指令;
3.根據(jù)權(quán)利要求2所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述地址判斷模塊包括第一復(fù)用器、觸發(fā)器、加法器,由開(kāi)關(guān)信號(hào)控制所述可變長(zhǎng)度指令存儲(chǔ)控制器切換為自動(dòng)模式或手動(dòng)模式,所述第一復(fù)用器用于輸出待取出指令地址;
4.根據(jù)權(quán)利要求1所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述取指移位模塊還包括第二復(fù)用器,所述第二復(fù)用器基于所述控制信號(hào)控制位移開(kāi)關(guān)陣列輸出第一端口指令和第二端口指令對(duì)應(yīng)位置的指令。
5.根據(jù)權(quán)利要求2所述的可變長(zhǎng)度指令存儲(chǔ)控制器,其特征在于,所述指令長(zhǎng)度為n比特,1≤n≤5;所述指定地址長(zhǎng)度為s比特,8≤s≤16;所述...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:楊鎰銘,呂世東,魏璽,李瀟然,
申請(qǐng)(專利權(quán))人:北京理工大學(xué),
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。