本說明書實施例涉及數(shù)據(jù)處理的,特別涉及一種數(shù)據(jù)訪存方法、自然語言推理方法、處理器及計算設(shè)備。
背景技術(shù):
1、隨著數(shù)據(jù)處理技術(shù)的發(fā)展,對于訪存與訪存帶寬的需求日漸提升。
2、目前,針對數(shù)據(jù)訪存的譯碼流程,需要將單個數(shù)據(jù)訪存指令拆分譯碼為多個目標指令下發(fā)執(zhí)行,當(dāng)拆分譯碼信息下發(fā)到數(shù)據(jù)訪存單元(load-store?unit,簡稱lsu)后,數(shù)據(jù)訪存單元發(fā)送數(shù)據(jù)讀寫請求至數(shù)據(jù)總線,執(zhí)行數(shù)據(jù)的寫出和讀入。
3、然而,受限于內(nèi)存地址依賴,已有的數(shù)據(jù)訪存指令正在執(zhí)行,在內(nèi)存地址上完成數(shù)據(jù)的寫出,當(dāng)前的數(shù)據(jù)訪存指令拆分得到目標指令需要等待執(zhí)行,數(shù)據(jù)訪存單元需要等待已有的數(shù)據(jù)訪存指令完成響應(yīng)才能發(fā)送數(shù)據(jù)讀寫請求至數(shù)據(jù)總線,另外,受限于寄存器依賴,已有的數(shù)據(jù)訪存指令正在有限的寄存器上執(zhí)行,需要等待寄存器釋放,增加了數(shù)據(jù)訪存的延遲,降低了訪存性能和數(shù)據(jù)訪存帶寬。因此,亟需一種低延遲、高訪存性能、高數(shù)據(jù)訪存帶寬的數(shù)據(jù)訪存方法。
技術(shù)實現(xiàn)思路
1、有鑒于此,本說明書實施例提供了一種數(shù)據(jù)訪存方法。本說明書一個或者多個實施例同時涉及一種自然語言推理方法,一種處理器以及一種計算設(shè)備,以解決現(xiàn)有技術(shù)中存在的技術(shù)缺陷。
2、根據(jù)本說明書實施例的第一方面,提供了一種數(shù)據(jù)訪存方法,包括:
3、獲取數(shù)據(jù)訪存指令;
4、對數(shù)據(jù)訪存指令進行地址拆分譯碼,獲得內(nèi)存地址信息,基于內(nèi)存地址信息,判斷是否發(fā)生地址依賴,并對數(shù)據(jù)訪存指令進行寄存器拆分譯碼,獲得寄存器信息,基于寄存器信息,判斷是否發(fā)生寄存器依賴;
5、在不發(fā)生地址依賴的情況下,基于內(nèi)存地址信息和寄存器信息,構(gòu)建目標指令;
6、在不發(fā)生寄存器依賴的情況下,執(zhí)行目標指令完成數(shù)據(jù)訪存。
7、根據(jù)本說明書實施例的第二方面,提供了一種自然語言推理方法,應(yīng)用于處理器,包括:
8、接收前端發(fā)送的自然語言任務(wù)的推理請求,其中,推理請求包括數(shù)據(jù)訪存指令;
9、對數(shù)據(jù)訪存指令進行地址拆分譯碼,獲得內(nèi)存地址信息,基于內(nèi)存地址信息,判斷是否發(fā)生地址依賴,并對數(shù)據(jù)訪存指令進行寄存器拆分譯碼,獲得寄存器信息,基于寄存器信息,判斷是否發(fā)生寄存器依賴;
10、在不發(fā)生地址依賴的情況下,基于內(nèi)存地址信息和寄存器信息,構(gòu)建目標指令;
11、在不發(fā)生寄存器依賴的情況下,執(zhí)行目標指令完成數(shù)據(jù)訪存,獲得推理結(jié)果;
12、將推理結(jié)果發(fā)送至前端。
13、根據(jù)本說明書實施例的第三方面,提供了一種處理器,包括指令接口、地址拆分譯碼器、寄存器拆分譯碼器、寄存器狀態(tài)表和數(shù)據(jù)訪存單元;
14、指令接口,用于獲取數(shù)據(jù)訪存指令;
15、地址拆分譯碼器,用于對數(shù)據(jù)訪存指令進行地址拆分譯碼,獲得內(nèi)存地址信息,基于內(nèi)存地址信息,判斷是否發(fā)生地址依賴;
16、寄存器拆分譯碼器,用于對數(shù)據(jù)訪存指令進行寄存器拆分譯碼,獲得寄存器信息;
17、寄存器狀態(tài)表,用于基于寄存器信息,判斷是否發(fā)生寄存器依賴;
18、數(shù)據(jù)訪存單元,用于在不發(fā)生地址依賴的情況下,基于內(nèi)存地址信息和寄存器信息,構(gòu)建目標指令,在不發(fā)生寄存器依賴的情況下,執(zhí)行目標指令完成數(shù)據(jù)訪存。
19、根據(jù)本說明書實施例的第四方面,提供了一種計算設(shè)備,包括上述的處理器。
20、本說明書一個實施例中,獲取數(shù)據(jù)訪存指令;對數(shù)據(jù)訪存指令進行地址拆分譯碼,獲得內(nèi)存地址信息,基于內(nèi)存地址信息,判斷是否發(fā)生地址依賴,并對數(shù)據(jù)訪存指令進行寄存器拆分譯碼,獲得寄存器信息,基于寄存器信息,判斷是否發(fā)生寄存器依賴;在不發(fā)生地址依賴的情況下,基于內(nèi)存地址信息和寄存器信息,構(gòu)建目標指令;在不發(fā)生寄存器依賴的情況下,執(zhí)行目標指令完成數(shù)據(jù)訪存。實現(xiàn)了拆分譯碼的解耦,將地址依賴與寄存器依賴判斷相分離,在無地址依賴的情況下提前拆分出目標指令,降低響應(yīng)時間,在不發(fā)生寄存器依賴的情況下,直接執(zhí)行目標指令完成數(shù)據(jù)訪存,降低了數(shù)據(jù)訪存的延遲,提升了訪存性能和數(shù)據(jù)訪存帶寬。
1.一種數(shù)據(jù)訪存方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,在所述基于所述寄存器信息,判斷是否發(fā)生寄存器依賴之前,還包括:
3.根據(jù)權(quán)利要求1所述的方法,在所述在不發(fā)生地址依賴的情況下,基于所述內(nèi)存地址信息和所述寄存器信息,構(gòu)建目標指令之前,還包括:
4.根據(jù)權(quán)利要求1-3任一項所述的方法,所述基于所述內(nèi)存地址信息,判斷是否發(fā)生地址依賴,包括:
5.根據(jù)權(quán)利要求4所述的方法,在所述基于所述數(shù)據(jù)訪存順序表中目標指令的數(shù)據(jù)訪存項和其他數(shù)據(jù)訪存項的內(nèi)存地址信息,判斷是否發(fā)生地址依賴之后,還包括:
6.根據(jù)權(quán)利要求4所述的方法,所述目標指令的數(shù)據(jù)訪存項的內(nèi)存地址信息包括起始內(nèi)存地址和結(jié)束內(nèi)存地址,所述其他數(shù)據(jù)訪存項的內(nèi)存地址信息包括起始內(nèi)存地址和結(jié)束內(nèi)存地址;
7.根據(jù)權(quán)利要求4所述的方法,所述目標指令包括數(shù)據(jù)訪問指令和數(shù)據(jù)存儲指令,所述其他數(shù)據(jù)訪問項對應(yīng)的指令包括數(shù)據(jù)訪問指令和數(shù)據(jù)存儲指令;
8.根據(jù)權(quán)利要求1所述的方法,在所述基于所述內(nèi)存地址信息,判斷是否發(fā)生地址依賴之后,還包括:
9.根據(jù)權(quán)利要求8所述的方法,在所述通過所述數(shù)據(jù)總線,將目標數(shù)據(jù)從所述寄存器讀出,并寫入所述目標內(nèi)存區(qū)域之后,還包括:
10.一種自然語言推理方法,應(yīng)用于處理器,包括:
11.一種處理器,包括指令接口、地址拆分譯碼器、寄存器拆分譯碼器、寄存器狀態(tài)表和數(shù)據(jù)訪存單元;
12.根據(jù)權(quán)利要求11所述的處理器,所述數(shù)據(jù)訪存指令包括數(shù)據(jù)訪問指令和數(shù)據(jù)存儲指令,所述地址拆分譯碼器包括訪問地址拆分譯碼器、存儲地址拆分譯碼器和數(shù)據(jù)訪存順序表;
13.根據(jù)權(quán)利要求11所述的處理器,所述數(shù)據(jù)訪存指令包括數(shù)據(jù)訪問指令和數(shù)據(jù)存儲指令,所述寄存器拆分譯碼器包括訪問寄存器拆分譯碼器和存儲寄存器拆分譯碼器;
14.根據(jù)權(quán)利要求11所述的處理器,所述地址拆分譯碼器,還用于基于所述內(nèi)存地址信息,在數(shù)據(jù)訪存順序表中構(gòu)建目標指令的數(shù)據(jù)訪存項,基于所述數(shù)據(jù)訪存順序表中目標指令的數(shù)據(jù)訪存項和其他數(shù)據(jù)訪存項的內(nèi)存地址信息,判斷是否發(fā)生地址依賴。
15.一種計算設(shè)備,包括權(quán)利要求11至14任意一項所述的處理器。