數(shù)據(jù)訪問(wèn)方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種數(shù)據(jù)訪問(wèn)方法及設(shè)備。
【背景技術(shù)】
[0002]隨著芯片復(fù)雜度的不斷增加,單個(gè)芯片內(nèi)HAC(英文:Hardware Accelerator ;中文:硬件加速器)的數(shù)量越來(lái)越多,且HAC對(duì)SOC (英文!System On Chip ;中文:片上系統(tǒng))的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn)是HAC執(zhí)行業(yè)務(wù)過(guò)程中比不可少的環(huán)節(jié)。
[0003]目前,HAC對(duì)SOC的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn)的具體過(guò)程可以為:如圖1所示,每個(gè)HAC分別連接一個(gè)HAC-1F(英文:Hardware Accelerator Interface ;中文:硬件加速器接口),當(dāng)每個(gè)HAC接收到數(shù)據(jù)訪問(wèn)請(qǐng)求時(shí),該HAC將該數(shù)據(jù)訪問(wèn)請(qǐng)求發(fā)送給與其連接的HAC-1F,該HAC-1F基于指定數(shù)據(jù)量和該數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的數(shù)據(jù)量,在每個(gè)時(shí)鐘周期,從該數(shù)據(jù)訪問(wèn)請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)訪問(wèn)請(qǐng)求,子數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的子數(shù)據(jù)量小于或等于指定數(shù)據(jù)量。其中,指定數(shù)據(jù)量小于或等于SOC數(shù)據(jù)總線要求的最大數(shù)據(jù)量。之后,該HAC-1F將該子數(shù)據(jù)訪問(wèn)請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)訪問(wèn)命令,使該數(shù)據(jù)訪問(wèn)命令滿足SOC數(shù)據(jù)總線的協(xié)議。該HAC-1F將該數(shù)據(jù)訪問(wèn)命令發(fā)送給SOC數(shù)據(jù)總線,當(dāng)SOC數(shù)據(jù)總線檢測(cè)到多個(gè)HAC-1F發(fā)送的數(shù)據(jù)訪問(wèn)命令時(shí),基于每個(gè)HAC-1F接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的優(yōu)先級(jí),接收優(yōu)先級(jí)最高的數(shù)據(jù)訪問(wèn)請(qǐng)求拆分后的數(shù)據(jù)訪問(wèn)命令,并基于該數(shù)據(jù)訪問(wèn)命令,對(duì)SOC的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn)。
[0004]在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問(wèn)題:
[0005]SOC數(shù)據(jù)總線為每個(gè)HAC-1F均提供一個(gè)訪問(wèn)接口,當(dāng)HAC的數(shù)量增加時(shí),SOC數(shù)據(jù)總線需要提供的訪問(wèn)接口也會(huì)增加;并且在每個(gè)HAC-1F內(nèi)均需布置相同的拆分?jǐn)?shù)據(jù)訪問(wèn)請(qǐng)求的邏輯和協(xié)議轉(zhuǎn)化的邏輯,資源浪費(fèi)較多。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有技術(shù)的問(wèn)題,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)訪問(wèn)方法及設(shè)備。所述技術(shù)方案如下:
[0007]第一方面,提供了一種數(shù)據(jù)訪問(wèn)方法,所述方法包括:
[0008]在每個(gè)時(shí)鐘周期,當(dāng)檢測(cè)到多個(gè)硬件加速器HAC通過(guò)與所述多個(gè)HAC分別連接的硬件加速器接口 HAC-1F發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求時(shí),基于多個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求的優(yōu)先級(jí),接收優(yōu)先級(jí)最高的數(shù)據(jù)訪問(wèn)請(qǐng)求;
[0009]基于接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型,將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在邏輯主接口LMI的數(shù)據(jù)隊(duì)列中;
[0010]基于所述LMI的數(shù)據(jù)隊(duì)列中的目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的起始地址和片上系統(tǒng)SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,對(duì)SOC的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn)。
[0011]結(jié)合第一方面,在上述第一方面的第一種可能的實(shí)現(xiàn)方式中,所述基于接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型,將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在邏輯主接口 LMI的數(shù)據(jù)隊(duì)列中,包括:
[0012]如果接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型為數(shù)據(jù)寫請(qǐng)求,則將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在LMI的第一數(shù)據(jù)隊(duì)列中最后一個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求之后,所述第一數(shù)據(jù)隊(duì)列用于存儲(chǔ)數(shù)據(jù)寫請(qǐng)求;
[0013]如果接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型為數(shù)據(jù)讀請(qǐng)求,則將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在所述LMI的第二數(shù)據(jù)隊(duì)列中最后一個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求之后,所述第二數(shù)據(jù)隊(duì)列用于存儲(chǔ)數(shù)據(jù)讀請(qǐng)求。
[0014]結(jié)合第一方面,在上述第一方面的第二種可能的實(shí)現(xiàn)方式中,所述基于所述LMI的數(shù)據(jù)隊(duì)列中的目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的起始地址和片上系統(tǒng)SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,對(duì)SOC的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn),包括:
[0015]從LMI的第一數(shù)據(jù)隊(duì)列中,獲取目標(biāo)數(shù)據(jù)寫請(qǐng)求,以及從所述LMI的第二數(shù)據(jù)隊(duì)列中,獲取目標(biāo)數(shù)據(jù)讀請(qǐng)求;
[0016]基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中;
[0017]基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述SOC的存儲(chǔ)資源中讀取所述目標(biāo)數(shù)據(jù)讀請(qǐng)求的讀數(shù)據(jù)。
[0018]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在上述第一方面的第三種可能的實(shí)現(xiàn)方式中,所述基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中,包括:
[0019]基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和芯片數(shù)據(jù)總線的位寬,從目標(biāo)HAC中獲取寫數(shù)據(jù),并對(duì)獲取寫數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第一次數(shù),所述目標(biāo)HAC為發(fā)送所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的HAC ;
[0020]當(dāng)所述第一次數(shù)達(dá)到第一指定次數(shù)時(shí),從所述目標(biāo)HAC中獲取所述第一指定次數(shù)的下一次寫數(shù)據(jù)的過(guò)程中,基于所述第一數(shù)據(jù)量、所述第一起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)寫請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)寫請(qǐng)求,并將所述子數(shù)據(jù)寫請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)寫命令,所述數(shù)據(jù)寫命令攜帶第一子數(shù)據(jù)量和第一子起始地址;
[0021]當(dāng)所述第一次數(shù)達(dá)到第二指定次數(shù)時(shí),從所述目標(biāo)HAC中獲取所述第二指定次數(shù)的下一次寫數(shù)據(jù)的過(guò)程中,將所述數(shù)據(jù)寫命令發(fā)送給所述SOC數(shù)據(jù)總線,并將所述第一次數(shù)清零,重新統(tǒng)計(jì)第一次數(shù),返回上一步驟,直至將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求拆分完畢;
[0022]當(dāng)接收到所述SOC數(shù)據(jù)總線返回的數(shù)據(jù)寫響應(yīng)時(shí),將多次從所述目標(biāo)HAC中獲取所述數(shù)據(jù)寫命令的寫數(shù)據(jù),逐次發(fā)送給所述SOC數(shù)據(jù)總線,使所述SOC數(shù)據(jù)總線按照所述第一子數(shù)據(jù)量和所述第一子起始地址,將接收的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中。
[0023]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在上述第一方面的第四種可能的實(shí)現(xiàn)方式中,所述基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中,包括:
[0024]基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和芯片數(shù)據(jù)總線的位寬,從目標(biāo)HAC中獲取寫數(shù)據(jù),并對(duì)獲取寫數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第一次數(shù),所述目標(biāo)HAC為發(fā)送所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的HAC ;
[0025]當(dāng)所述第一次數(shù)達(dá)到第一指定次數(shù)時(shí),從所述目標(biāo)HAC中獲取所述第一指定次數(shù)的下一次寫數(shù)據(jù)的過(guò)程中,基于所述第一數(shù)據(jù)量、所述第一起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)寫請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)寫請(qǐng)求,將所述子數(shù)據(jù)寫請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)寫命令,返回本步驟,直至將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求拆分完畢;
[0026]將所述數(shù)據(jù)寫命令發(fā)送給所述SOC數(shù)據(jù)總線,所述數(shù)據(jù)寫命令攜帶第一子數(shù)據(jù)量和第一子起始地址;
[0027]當(dāng)接收到所述SOC數(shù)據(jù)總線返回的數(shù)據(jù)寫響應(yīng)時(shí),將多次從所述目標(biāo)HAC中獲取的寫數(shù)據(jù),逐次發(fā)送給所述SOC數(shù)據(jù)總線,使所述SOC數(shù)據(jù)總線按照所述第一子數(shù)據(jù)量和所述第一子起始地址,將接收的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中。
[0028]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式或者第一方面的第四種可能的實(shí)現(xiàn)方式,在上述第一方面的第五種可能的實(shí)現(xiàn)方式中,所述基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和芯片數(shù)據(jù)總線的位寬,從目標(biāo)HAC中獲取寫數(shù)據(jù),并對(duì)獲取寫數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第一次數(shù),包括:
[0029]基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和芯片數(shù)據(jù)總線的位寬,計(jì)算從目標(biāo)HAC中獲取寫數(shù)據(jù)的獲取次數(shù),所述芯片數(shù)據(jù)總線為與所述LMI連接的數(shù)據(jù)總線;
[0030]基于所述獲取次數(shù),向所述目標(biāo)HAC發(fā)送指示信息,所述指示信息用于指示所述目標(biāo)HAC將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的寫數(shù)據(jù)劃分為所述獲取次數(shù)次進(jìn)行發(fā)送;
[0031]接收所述目標(biāo)HAC發(fā)送的寫數(shù)據(jù),并對(duì)接收寫數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第一次數(shù)。
[0032]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式、第一方面的第三種可能的實(shí)現(xiàn)方式或者第一方面的第四種可能的實(shí)現(xiàn)方式,在上述第一方面的第六種可能的實(shí)現(xiàn)方式中,所述基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述SOC的存儲(chǔ)資源中讀取所述目標(biāo)數(shù)據(jù)讀請(qǐng)求的讀數(shù)據(jù),包括:
[0033]基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)讀請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)讀請(qǐng)求,并將所述子數(shù)據(jù)讀請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)讀命令;
[0034]將所述數(shù)據(jù)讀命令發(fā)送給所述SOC數(shù)據(jù)總線,使所述SOC數(shù)據(jù)總線將所述數(shù)據(jù)讀命令發(fā)送給SOC的存儲(chǔ)資源,所述數(shù)據(jù)讀命令中攜帶第二子數(shù)據(jù)量和第二子起始地址;
[0035]接收所述SOC的存儲(chǔ)資源通過(guò)所述SOC數(shù)據(jù)總線發(fā)送的讀數(shù)據(jù),對(duì)接收讀數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第二次數(shù);
[0036]當(dāng)所述第二次數(shù)達(dá)到第三指定次數(shù)時(shí),接收所述SOC的存儲(chǔ)資源通過(guò)所述SOC數(shù)據(jù)總線發(fā)送所述第三指定次數(shù)的下一次讀數(shù)據(jù)的過(guò)程中,基于所述第二數(shù)據(jù)量、所述第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)讀請(qǐng)求中拆分出下一個(gè)子數(shù)據(jù)讀請(qǐng)求,并將所述下一個(gè)子數(shù)據(jù)讀請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到下一個(gè)數(shù)據(jù)讀命令;
[0037]當(dāng)所述第二次數(shù)達(dá)到第四指定次數(shù)時(shí),接收所述SOC的存儲(chǔ)資源通過(guò)所述SOC數(shù)據(jù)總線發(fā)送所述第四指定次數(shù)的下一次讀數(shù)據(jù)的過(guò)程中,將所述下一個(gè)數(shù)據(jù)讀命令發(fā)送給所述SOC數(shù)據(jù)總線,并將所述第二次數(shù)清零,重新統(tǒng)計(jì)第二次數(shù),返回上一步驟,直至將所述目標(biāo)數(shù)據(jù)讀請(qǐng)求拆分完畢。
[0038]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式、第一方面的第三種可能的實(shí)現(xiàn)方式或者第一方面的第四種可能的實(shí)現(xiàn)方式,在上述第一方面的第七種可能的實(shí)現(xiàn)方式中,所述基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述SOC的存儲(chǔ)資源中讀取所述目標(biāo)數(shù)據(jù)讀請(qǐng)求的讀數(shù)據(jù),包括:
[0039]基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)讀請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)讀請(qǐng)求;
[0040]將所述子數(shù)據(jù)讀請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)讀命令,返回上一步驟,直至將所述目標(biāo)數(shù)據(jù)讀請(qǐng)求拆分完畢;
[0041]將所述數(shù)據(jù)讀命令發(fā)送給所述SOC數(shù)據(jù)總線,使所述SOC數(shù)據(jù)總線將所述數(shù)據(jù)讀命令發(fā)送給SOC的存儲(chǔ)資源,所述數(shù)據(jù)讀命令中攜帶第二子數(shù)據(jù)量和第二子起始地址;
[0042]逐次接收所述SOC的存儲(chǔ)資源通過(guò)所述SOC數(shù)據(jù)總線發(fā)送的讀數(shù)據(jù)。
[0043]結(jié)合第一方面,在上述第一方面的第八種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0044]對(duì)于每個(gè)HAC,當(dāng)向所述SOC數(shù)據(jù)總線發(fā)送屬于所述HAC的數(shù)據(jù)寫命令和數(shù)據(jù)讀命令時(shí),對(duì)發(fā)送的數(shù)據(jù)寫命令個(gè)數(shù)進(jìn)行統(tǒng)計(jì),得到第一命令個(gè)數(shù),以及對(duì)發(fā)送的數(shù)據(jù)讀命令個(gè)數(shù)進(jìn)行統(tǒng)計(jì),得到第二命令個(gè)數(shù);
[0045]當(dāng)所述第一命令個(gè)數(shù)等于第一個(gè)數(shù)閾值時(shí),停止接收所述HAC發(fā)送的類型為數(shù)據(jù)寫請(qǐng)求的數(shù)據(jù)訪問(wèn)請(qǐng)求,直至所述第一命令個(gè)數(shù)小于所述第一個(gè)數(shù)閾值;
[0046]當(dāng)所述第二命令個(gè)數(shù)等于第二個(gè)數(shù)閾值時(shí),停止接收所述HAC發(fā)送的類型為數(shù)據(jù)讀請(qǐng)求的數(shù)據(jù)訪問(wèn)請(qǐng)求,直至所述第二命令個(gè)數(shù)小于所述第二個(gè)數(shù)閾值。
[0047]第二方面,提供了一種數(shù)據(jù)訪問(wèn)設(shè)備,所述設(shè)備包括:
[0048]接收模塊,用于在每個(gè)時(shí)鐘周期,當(dāng)檢測(cè)到多個(gè)硬件加速器HAC通過(guò)與所述多個(gè)HAC分別連接的硬件加速器接口 HAC-1F發(fā)送的數(shù)據(jù)訪問(wèn)請(qǐng)求時(shí),基于多個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求的優(yōu)先級(jí),接收優(yōu)先級(jí)最高的數(shù)據(jù)訪問(wèn)請(qǐng)求;
[0049]存儲(chǔ)模塊,用于基于接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型,將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在邏輯主接口 LMI的數(shù)據(jù)隊(duì)列中;
[0050]數(shù)據(jù)訪問(wèn)模塊,用于基于所述LMI的數(shù)據(jù)隊(duì)列中的目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)訪問(wèn)請(qǐng)求攜帶的起始地址和片上系統(tǒng)SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,對(duì)SOC的存儲(chǔ)資源進(jìn)行數(shù)據(jù)訪問(wèn)。
[0051]結(jié)合第二方面,在上述第二方面的第一種可能的實(shí)現(xiàn)方式中,所述存儲(chǔ)模塊包括:
[0052]存儲(chǔ)單元,用于如果接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型為數(shù)據(jù)寫請(qǐng)求,則將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在LMI的第一數(shù)據(jù)隊(duì)列中最后一個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求之后,所述第一數(shù)據(jù)隊(duì)列用于存儲(chǔ)數(shù)據(jù)寫請(qǐng)求;
[0053]所述存儲(chǔ)單元,還用于如果接收的數(shù)據(jù)訪問(wèn)請(qǐng)求的類型為數(shù)據(jù)讀請(qǐng)求,則將所述接收的數(shù)據(jù)訪問(wèn)請(qǐng)求存儲(chǔ)在所述LMI的第二數(shù)據(jù)隊(duì)列中最后一個(gè)數(shù)據(jù)訪問(wèn)請(qǐng)求之后,所述第二數(shù)據(jù)隊(duì)列用于存儲(chǔ)數(shù)據(jù)讀請(qǐng)求。
[0054]結(jié)合第二方面,在上述第二方面的第二種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)訪問(wèn)模塊包括:
[0055]獲取單元,用于從LMI的第一數(shù)據(jù)隊(duì)列中,獲取目標(biāo)數(shù)據(jù)寫請(qǐng)求,以及從所述LMI的第二數(shù)據(jù)隊(duì)列中,獲取目標(biāo)數(shù)據(jù)讀請(qǐng)求;
[0056]寫入單元,用于基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中;
[0057]讀取單元,用于基于所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)讀請(qǐng)求攜帶的第二起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述SOC的存儲(chǔ)資源中讀取所述目標(biāo)數(shù)據(jù)讀請(qǐng)求的讀數(shù)據(jù)。
[0058]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在上述第二方面的第三種可能的實(shí)現(xiàn)方式中,所述寫入單元包括:
[0059]獲取子單元,用于基于所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一數(shù)據(jù)量、所述目標(biāo)數(shù)據(jù)寫請(qǐng)求攜帶的第一起始地址和芯片數(shù)據(jù)總線的位寬,從目標(biāo)HAC中獲取寫數(shù)據(jù),并對(duì)獲取寫數(shù)據(jù)的次數(shù)進(jìn)行統(tǒng)計(jì),得到第一次數(shù),所述目標(biāo)HAC為發(fā)送所述目標(biāo)數(shù)據(jù)寫請(qǐng)求的HAC ;
[0060]拆分子單元,用于當(dāng)所述第一次數(shù)達(dá)到第一指定次數(shù)時(shí),從所述目標(biāo)HAC中獲取所述第一指定次數(shù)的下一次寫數(shù)據(jù)的過(guò)程中,基于所述第一數(shù)據(jù)量、所述第一起始地址和所述SOC數(shù)據(jù)總線的最大數(shù)據(jù)量,從所述目標(biāo)數(shù)據(jù)寫請(qǐng)求中拆分出一個(gè)子數(shù)據(jù)寫請(qǐng)求,并將所述子數(shù)據(jù)寫請(qǐng)求進(jìn)行協(xié)議轉(zhuǎn)化,得到數(shù)據(jù)寫命令,所述數(shù)據(jù)寫命令攜帶第一子數(shù)據(jù)量和第一子起始地址;
[0061]發(fā)送子單元,用于當(dāng)所述第一次數(shù)達(dá)到第二指定次數(shù)時(shí),從所述目標(biāo)HAC中獲取所述第二指定次數(shù)的下一次寫數(shù)據(jù)的過(guò)程中,將所述數(shù)據(jù)寫命令發(fā)送給所述SOC數(shù)據(jù)總線,并將所述第一次數(shù)清零,重新統(tǒng)計(jì)第一次數(shù),返回上一拆分子單元,直至將所述目標(biāo)數(shù)據(jù)寫請(qǐng)求拆分完畢;
[0062]所述發(fā)送子單元,還用于當(dāng)接收到所述SOC數(shù)據(jù)總線返回的數(shù)據(jù)寫響應(yīng)時(shí),將多次從所述目標(biāo)HAC中獲取所述數(shù)據(jù)寫命令的寫數(shù)據(jù),逐次發(fā)送給所述SOC數(shù)據(jù)總線,使所述SOC數(shù)據(jù)總線按照所述第一子數(shù)據(jù)量和所述第一子起始地址,將接收的寫數(shù)據(jù)寫入SOC的存儲(chǔ)資源中。
[0063]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在上述第二方面的第四種可能的實(shí)現(xiàn)方式中,所述寫入單元包括: