本發(fā)明屬于系統(tǒng)總線設(shè)計(jì)領(lǐng)域,特別涉及一種基于旁路配置的總線訪問(wèn)控制系統(tǒng)及方法。
背景技術(shù):
1、處理器內(nèi)部包含多種外設(shè),以滿(mǎn)足處理器對(duì)不同數(shù)據(jù)源的需求。所有外設(shè)需掛在系統(tǒng)總線上,cpu等主機(jī)通過(guò)系統(tǒng)總線對(duì)各個(gè)外設(shè)進(jìn)行訪問(wèn)。為保證系統(tǒng)運(yùn)行的效率,需要過(guò)濾無(wú)效的訪問(wèn)請(qǐng)求。
2、現(xiàn)有系統(tǒng)總線結(jié)構(gòu)簡(jiǎn)單,主要包含路由單元和仲裁單元。一旦主機(jī)發(fā)起訪問(wèn)請(qǐng)求,該請(qǐng)求通過(guò)系統(tǒng)總線的路由單元和仲裁單元將到達(dá)外設(shè)。但某些場(chǎng)景中,需要系統(tǒng)總線下的某些外設(shè)忽略主機(jī)的某種訪問(wèn)請(qǐng)求(讀訪問(wèn)或?qū)懺L問(wèn))。由于現(xiàn)有總線沒(méi)有對(duì)經(jīng)過(guò)路由單元的訪問(wèn)請(qǐng)求進(jìn)行過(guò)濾,因此,不能滿(mǎn)足該場(chǎng)景。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于旁路配置的總線訪問(wèn)控制系統(tǒng)及方法,以達(dá)到對(duì)無(wú)效的訪問(wèn)請(qǐng)求進(jìn)行過(guò)濾,提升訪問(wèn)效率,降低功耗的目的。
2、為達(dá)到上述目的,本發(fā)明的技術(shù)方案如下:
3、一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),包括路由單元、n個(gè)旁路組件和計(jì)分板單元,cpu通過(guò)路由單元和n個(gè)旁路組件實(shí)現(xiàn)對(duì)n個(gè)外設(shè)的訪問(wèn);
4、所述路由單元:根據(jù)cpu發(fā)來(lái)的總線請(qǐng)求類(lèi)型和地址信息,完成總線請(qǐng)求從cpu到旁路組件的收發(fā);
5、所述旁路組件包括加鎖單元、隔離單元、記錄單元和仲裁單元;
6、所述加鎖單元:對(duì)隔離單元進(jìn)行加鎖和解鎖,防止誤操作;
7、所述隔離單元:根據(jù)加鎖單元輸出的解鎖信號(hào)和路由單元下發(fā)的隔離單元配置請(qǐng)求,對(duì)路由單元下發(fā)的外設(shè)訪問(wèn)請(qǐng)求進(jìn)行判定,一旦訪問(wèn)類(lèi)型匹配,隔離單元不會(huì)將該外設(shè)的訪問(wèn)請(qǐng)求下發(fā)仲裁單元,同時(shí),產(chǎn)生過(guò)濾請(qǐng)求信息;
8、所述記錄單元:保存隔離單元下發(fā)的過(guò)濾請(qǐng)求信息,同時(shí),將可用深度信息下發(fā)計(jì)分板單元;
9、所述仲裁單元:對(duì)通過(guò)隔離單元的請(qǐng)求和未完成的請(qǐng)求進(jìn)行仲裁,如果仲裁單元中存在未完成的請(qǐng)求,則當(dāng)前請(qǐng)求進(jìn)入仲裁單元的緩存,優(yōu)先下發(fā)未完成請(qǐng)求給對(duì)應(yīng)的外設(shè);否則,當(dāng)前請(qǐng)求直接下發(fā)給對(duì)應(yīng)的外設(shè);
10、所述計(jì)分板單元:根據(jù)各個(gè)旁路組件中記錄單元下發(fā)的可用深度信息,產(chǎn)生記錄滿(mǎn)中斷標(biāo)志,并發(fā)送給中斷控制器;中斷控制器產(chǎn)生對(duì)cpu的觸發(fā)信號(hào),觸發(fā)cpu運(yùn)行存儲(chǔ)中對(duì)應(yīng)的中斷服務(wù)程序進(jìn)行處理。
11、上述方案中,cpu的總線請(qǐng)求包括對(duì)各個(gè)外設(shè)的訪問(wèn)請(qǐng)求,對(duì)各個(gè)旁路組件中加鎖單元、隔離單元的配置請(qǐng)求,對(duì)旁路組件中記錄單元的訪問(wèn)請(qǐng)求。
12、上述方案中,配置隔離單元前需配置加鎖單元,輸出有效的解鎖信號(hào),完成對(duì)隔離單元的解鎖,解鎖后隔離單元可配置;完成預(yù)期操作后,可再次配置加鎖單元,輸出無(wú)效的解鎖信號(hào),完成對(duì)隔離單元的加鎖,此時(shí)隔離單元不可配置。
13、上述方案中,記錄單元的深度設(shè)置為128,每收到一組被過(guò)濾的總線請(qǐng)求,記錄單元的可用深度減1,當(dāng)記錄單元的可用深度為0時(shí),產(chǎn)生記錄滿(mǎn)中斷標(biāo)志給中斷控制器。
14、一種基于旁路配置的總線訪問(wèn)控制方法,采用如上所述的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),包括如下步驟:
15、(1)cpu通過(guò)總線接口對(duì)某一旁路組件中的加鎖單元進(jìn)行配置,進(jìn)而產(chǎn)生對(duì)該旁路組件中的隔離單元有效的解鎖信號(hào);對(duì)隔離單元進(jìn)行配置,明確需要被過(guò)濾掉的訪問(wèn)請(qǐng)求;再對(duì)加鎖單元進(jìn)行配置,使得解鎖信號(hào)無(wú)效,此時(shí)隔離單元不可再配置;配置完成后的效果是:該旁路組件中的隔離單元配置為過(guò)濾讀請(qǐng)求;
16、(2)cpu通過(guò)總線接口發(fā)出對(duì)該旁路組件對(duì)應(yīng)的外設(shè)的讀請(qǐng)求;
17、(3)讀請(qǐng)求經(jīng)過(guò)路由單元到達(dá)該旁路組件中的隔離單元;
18、(4)隔離單元開(kāi)始工作,cpu對(duì)該外設(shè)的讀請(qǐng)求被過(guò)濾,同時(shí)該旁路組件中的記錄單元記錄被過(guò)濾掉的讀請(qǐng)求信息,并將可用深度信息下發(fā)計(jì)分板單元;
19、(5)該旁路組件中的仲裁單元不會(huì)收到任何訪問(wèn)請(qǐng)求,不工作;
20、(6)該旁路組件對(duì)應(yīng)的外設(shè)不會(huì)收到訪問(wèn)請(qǐng)求,不工作。
21、進(jìn)一步的技術(shù)方案中,當(dāng)某一記錄單元的可用深度為0時(shí),計(jì)分板單元會(huì)產(chǎn)生記錄滿(mǎn)中斷標(biāo)志,并發(fā)送給中斷控制器,中斷控制器產(chǎn)生對(duì)cpu的觸發(fā)信號(hào),觸發(fā)cpu運(yùn)行存儲(chǔ)中對(duì)應(yīng)的中斷服務(wù)程序進(jìn)行處理。
22、進(jìn)一步的技術(shù)方案中,當(dāng)系統(tǒng)中沒(méi)有需要被過(guò)濾的請(qǐng)求時(shí),cpu不對(duì)加鎖單元和隔離單元進(jìn)行配置,則該旁路組件不會(huì)對(duì)訪問(wèn)請(qǐng)求進(jìn)行過(guò)濾,所有請(qǐng)求均可到達(dá)外設(shè)。
23、通過(guò)上述技術(shù)方案,本發(fā)明提供的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng)及方法具有如下有益效果:
24、本發(fā)明利用路由單元和旁路組件構(gòu)建可配置旁路(隔離單元、加鎖單元、記錄單元、仲裁單元整體稱(chēng)為可旁路組件)的系統(tǒng)總線,主機(jī)和外設(shè)通過(guò)總線接口進(jìn)行互連。既保留現(xiàn)有技術(shù)的操作途徑,又可通過(guò)配置,過(guò)濾掉主機(jī)的某種訪問(wèn)請(qǐng)求(讀訪問(wèn)或?qū)懺L問(wèn)),提升訪問(wèn)效率,降低功耗。同時(shí),能夠提高外設(shè)的通用性,不需要額外邏輯對(duì)收到的請(qǐng)求進(jìn)行判別。
1.一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),其特征在于,包括路由單元、n個(gè)旁路組件和計(jì)分板單元,cpu通過(guò)路由單元和n個(gè)旁路組件實(shí)現(xiàn)對(duì)n個(gè)外設(shè)的訪問(wèn);
2.根據(jù)權(quán)利要求1所述的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),其特征在于,cpu的總線請(qǐng)求包括對(duì)各個(gè)外設(shè)的訪問(wèn)請(qǐng)求,對(duì)各個(gè)旁路組件中加鎖單元、隔離單元的配置請(qǐng)求,對(duì)旁路組件中記錄單元的訪問(wèn)請(qǐng)求。
3.根據(jù)權(quán)利要求1所述的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),其特征在于,配置隔離單元前需配置加鎖單元,輸出有效的解鎖信號(hào),完成對(duì)隔離單元的解鎖,解鎖后隔離單元可配置;完成預(yù)期操作后,可再次配置加鎖單元,輸出無(wú)效的解鎖信號(hào),完成對(duì)隔離單元的加鎖,此時(shí)隔離單元不可配置。
4.根據(jù)權(quán)利要求1所述的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),其特征在于,記錄單元的深度設(shè)置為128,每收到一組被過(guò)濾的總線請(qǐng)求,記錄單元的可用深度減1,當(dāng)記錄單元的可用深度為0時(shí),產(chǎn)生記錄滿(mǎn)中斷標(biāo)志給中斷控制器。
5.一種基于旁路配置的總線訪問(wèn)控制方法,采用如權(quán)利要求1-4任一項(xiàng)所述的一種基于旁路配置的總線訪問(wèn)控制系統(tǒng),其特征在于,包括如下步驟:
6.根據(jù)權(quán)利要求5所述的基于旁路配置的總線訪問(wèn)控制方法,其特征在于,當(dāng)某一記錄單元的可用深度為0時(shí),計(jì)分板單元會(huì)產(chǎn)生記錄滿(mǎn)中斷標(biāo)志,并發(fā)送給中斷控制器,中斷控制器產(chǎn)生對(duì)cpu的觸發(fā)信號(hào),觸發(fā)cpu運(yùn)行存儲(chǔ)中對(duì)應(yīng)的中斷服務(wù)程序進(jìn)行處理。
7.根據(jù)權(quán)利要求5所述的基于旁路配置的總線訪問(wèn)控制方法,其特征在于,當(dāng)系統(tǒng)中沒(méi)有需要被過(guò)濾的請(qǐng)求時(shí),?cpu不對(duì)加鎖單元和隔離單元進(jìn)行配置,則該旁路組件不會(huì)對(duì)訪問(wèn)請(qǐng)求進(jìn)行過(guò)濾,所有請(qǐng)求均可到達(dá)外設(shè)。