欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種弱相關(guān)多端口并行存儲(chǔ)控制器的制作方法

文檔序號(hào):6365428閱讀:214來(lái)源:國(guó)知局
專利名稱:一種弱相關(guān)多端口并行存儲(chǔ)控制器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種弱相關(guān)多端口并行存儲(chǔ)控制器,屬于計(jì)算機(jī)體系結(jié)構(gòu)、集成電路設(shè)計(jì)領(lǐng)域,適用于多內(nèi)核微處理器及多處理器系統(tǒng)的共享存儲(chǔ)器的構(gòu)建。
背景技術(shù)
現(xiàn)有多端 口并行存儲(chǔ)控制器的實(shí)現(xiàn)方式有2類①對(duì)于包括m個(gè)端口的存儲(chǔ)控制器,其控制n個(gè)存儲(chǔ)塊(芯片)時(shí),采用mXn交叉開(kāi)關(guān)或片上網(wǎng)絡(luò)將n個(gè)存儲(chǔ)塊(芯片)連接在一起,不同端口通過(guò)交叉開(kāi)關(guān)或片上網(wǎng)絡(luò)同時(shí)訪問(wèn)不同的存儲(chǔ)塊或芯片,此類結(jié)構(gòu)共享存儲(chǔ)器常見(jiàn)于目前絕大部分多核處理器的L2級(jí)共享存儲(chǔ)器;其中m、n為正整數(shù),m ^ 2且n > m ;②采用足夠高頻率的存儲(chǔ)芯片,以致能夠在較短時(shí)間內(nèi)分m次訪問(wèn)不同存儲(chǔ)單元的數(shù)據(jù),完成不同端口的并行訪問(wèn),此類結(jié)構(gòu)共享存儲(chǔ)器常見(jiàn)于處理器主頻不高的場(chǎng)合,如手機(jī)等嵌入式應(yīng)用。上述兩類結(jié)構(gòu)多端口存儲(chǔ)器的缺點(diǎn)在于第①類多端口存儲(chǔ)器僅支持固定長(zhǎng)度數(shù)據(jù)的讀寫,靈活度較低;第②類多端口存儲(chǔ)器往往只能應(yīng)用于處理器主頻不很高的場(chǎng)合,所以在多核處理器及大容量的L2共享存儲(chǔ)的場(chǎng)合不適用。

發(fā)明內(nèi)容
本發(fā)明的目的在于克服已有多端口存儲(chǔ)器控制器存在的缺陷,提出一種弱相關(guān)多端口并行存儲(chǔ)控制器,提高多個(gè)處理器并行訪存的效率。本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的。一種弱相關(guān)多端口并行存儲(chǔ)控制器,與外圍設(shè)備中的訪存單元和包含多個(gè)存儲(chǔ)塊的存儲(chǔ)體連接,能夠?qū)崿F(xiàn)外圍設(shè)備中的訪存單元與外圍設(shè)備中的存儲(chǔ)體之間的多端口并行存儲(chǔ);所述弱相關(guān)多端口并行存儲(chǔ)控制器包括存儲(chǔ)器端口模塊、仲裁模塊、地址生成模塊、口轉(zhuǎn)接|吳塊。所述存儲(chǔ)器端口模塊,包含m個(gè)端口,并預(yù)先為m個(gè)端口設(shè)置優(yōu)先級(jí)順序,m個(gè)端口的優(yōu)先級(jí)均不同;其中,m3 2 ;其功能包括①?gòu)耐鈬O(shè)備中的訪存單元獲取并鎖存訪存請(qǐng)求信息;所述訪存請(qǐng)求信息包括請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度及訪存模式;所述訪存模式包括讀操作和寫操作。②管理m個(gè)端口的狀態(tài);所述端口的狀態(tài)為占用、等待或者空閑。所述占用是指當(dāng)外圍設(shè)備中的訪存單元正通過(guò)存儲(chǔ)器端口模塊中的某一端口進(jìn)行訪存操作時(shí),稱該端口的狀態(tài)為占用;所述等待是指當(dāng)存儲(chǔ)器端口模塊中的某一端口接收到訪存請(qǐng)求信息,但該端口與其它端口之間發(fā)生訪存沖突,暫時(shí)不能進(jìn)行訪存操作,需等待到下一周期再次進(jìn)行仲裁,則稱該端口的狀態(tài)為等待;所述空閑是指存儲(chǔ)器端口模塊中的某一端口的狀態(tài)既非占用、又非等待狀態(tài),稱該端口的狀態(tài)為空閑。
所述仲裁模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口獲取存訪存請(qǐng)求信息和狀態(tài)信息。②從地址生成模塊獲取當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址。③判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突。④如果接收到訪存請(qǐng)求信息的端口發(fā)生訪存沖突,則進(jìn)行仲裁并將仲裁結(jié)果發(fā)送至地址生成模塊和存儲(chǔ)器端口模塊中的相應(yīng)端口。所述仲裁結(jié)果為允許進(jìn)行訪存操作或者等待。⑤如果接收到訪存請(qǐng)求信息的端口未發(fā)生訪存沖突,則發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口。所述判斷存儲(chǔ)器端口之間是否發(fā)生訪存沖突的具體方法為 當(dāng)存儲(chǔ)器端口模塊的m個(gè)端口中的2個(gè)以上端口同時(shí)發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址相同時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為并行沖突。當(dāng)存儲(chǔ)器端口模塊的m個(gè)端口中的I個(gè)端口發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址所在的存儲(chǔ)塊下一時(shí)刻將被其它端口訪問(wèn)時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為阻塞沖突。當(dāng)發(fā)生并行沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為根據(jù)發(fā)生并行沖突的端口的優(yōu)先級(jí)進(jìn)行仲裁,允許優(yōu)先級(jí)最高的端口進(jìn)行訪存操作。當(dāng)發(fā)生阻塞沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為不允許該端口進(jìn)行訪存操作,使該端口處于等待狀態(tài)。所述地址生成模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊獲取訪存請(qǐng)求信息;②從仲裁模塊獲取仲裁結(jié)果。③根據(jù)訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址。所述端口轉(zhuǎn)接模塊的功能為從地址生成模塊獲取當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址及訪存模式,在該端口與外圍設(shè)備中的存儲(chǔ)體之間建立連接,實(shí)現(xiàn)數(shù)據(jù)傳輸。各功能申旲塊的連接關(guān)系為存儲(chǔ)器端口模塊分別與外圍設(shè)備中的訪存單元、仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊連接;仲裁模塊分別與存儲(chǔ)器端口模塊、地址生成模塊連接;地址生成模塊分別與存儲(chǔ)器端口模塊、端口轉(zhuǎn)接模塊、仲裁模塊連接;端口轉(zhuǎn)接模塊分別與地址生成模塊和外圍設(shè)備中的存儲(chǔ)體連接。所述存儲(chǔ)器端口模塊與外圍設(shè)備中的訪存單元之間的連接采用地址和數(shù)據(jù)復(fù)用同一組信號(hào)線的方式進(jìn)行。其工作過(guò)程包括第I步至第7步,具體為第I步設(shè)置存儲(chǔ)器端口模塊的各端口初始狀態(tài)均為空閑。當(dāng)外圍設(shè)備中的訪存單元有訪存請(qǐng)求時(shí),執(zhí)行第2步到第7步的操作。第2步外圍設(shè)備中的訪存單元同時(shí)發(fā)送r個(gè)訪存請(qǐng)求信息到存儲(chǔ)器端口模塊的r個(gè)端口,其中I <r<m。第3步存儲(chǔ)器端口模塊鎖存訪存請(qǐng)求信息,并設(shè)置接收到訪存請(qǐng)求信息的端口的狀態(tài)為等待;第4步存儲(chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口將端口狀態(tài)信息和訪存請(qǐng)求信息發(fā)送給仲裁模塊。
第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;所述當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址的初始值均為空。如果接收到訪存請(qǐng)求信息的端口未發(fā)生訪存沖突,則發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口 ;如果接收到訪存請(qǐng)求信息的端口發(fā)生訪存沖突,則進(jìn)行仲裁并將仲裁結(jié)果發(fā)送至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口。
第6步所述存儲(chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口用“端口 P”表示。當(dāng)端口 P接收到仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作第6. I步端口 P將其狀態(tài)設(shè)置為占用,并向外圍設(shè)備中的訪存單元發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 P將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊;第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 P的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 P的具體訪存地址,同時(shí)將端口 P的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊;第6. 3步端口轉(zhuǎn)發(fā)模塊根據(jù)端口 P的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口 P的具體訪存地址,在端口 P與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 P與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸。第6. 4步地址生成模塊根據(jù)端口 P的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 P的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 P的狀態(tài)設(shè)置為空閑。第7步當(dāng)端口 P接收到仲裁模塊發(fā)送來(lái)的仲裁結(jié)果為等待時(shí),返回到第5步。經(jīng)過(guò)上述步驟的操作,即可實(shí)現(xiàn)多端口并行存儲(chǔ)。有益效果本發(fā)明提出的一種弱相關(guān)多端口并行存儲(chǔ)控制器與已有技術(shù)相比,具有以下優(yōu)
占-
^ \\\ ①本發(fā)明所提出的多端口并行存儲(chǔ)控制器支持任意長(zhǎng)度的塊讀寫,靈活度更高;②本發(fā)明所提出的多端口并行存儲(chǔ)控制器中地址和數(shù)據(jù)的傳輸復(fù)用同一組信號(hào)線完成,大大降低了系統(tǒng)中傳輸信號(hào)線的數(shù)量,利于布局布線的實(shí)施,降低了系統(tǒng)的復(fù)雜性和成本;③本發(fā)明所提出的多端口并行存儲(chǔ)控制器結(jié)構(gòu)簡(jiǎn)單,使用信號(hào)傳輸線較少,能夠支持大規(guī)模多端口存儲(chǔ)器的設(shè)計(jì)與實(shí)現(xiàn),例如16端口和32端口存儲(chǔ)器,能夠提高多個(gè)處理器并行訪存的效率。附圖
內(nèi)容附圖I為本發(fā)明具體實(shí)施例中的一種弱相關(guān)多端口并行存儲(chǔ)控制器的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明技術(shù)方案做詳細(xì)闡述。實(shí)施例I :
本實(shí)施例中的一種弱相關(guān)多端口并行存儲(chǔ)控制器,其結(jié)構(gòu)示意圖如圖I所示,與外圍設(shè)備中的訪存單元和存儲(chǔ)體連接,其包括存儲(chǔ)器端口模塊、仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊;外圍設(shè)備中的訪存單元包括4個(gè)處理器(Cl C4),外圍設(shè)備中的存儲(chǔ)體包括4個(gè)存儲(chǔ)塊(存儲(chǔ)塊0 存儲(chǔ)塊3)。所述4 個(gè)存儲(chǔ)塊中,每個(gè)存儲(chǔ)塊的存儲(chǔ)字寬為8比特位,即I個(gè)字節(jié)。所述存儲(chǔ)器端口模塊,包含4個(gè)端口(Pl P4),并預(yù)先為4個(gè)端口設(shè)置優(yōu)先級(jí)順序,4個(gè)端口的優(yōu)先級(jí)均不同,其優(yōu)先級(jí)關(guān)系為Pl > P2 > P3 > P4 ;其功能包括①?gòu)奶幚砥鳙@取并鎖存訪存請(qǐng)求信息;所述訪存請(qǐng)求信息包括請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度及訪存模式;所述訪存模式包括讀操作和寫操作。②管理4個(gè)端口的狀態(tài);所述端口的狀態(tài)為占用、等待或者空閑。所述占用是指當(dāng)處理器正通過(guò)存儲(chǔ)器端口模塊中的某一端口進(jìn)行訪存操作時(shí),稱該端口的狀態(tài)為占用;所述等待是指當(dāng)存儲(chǔ)器端口模塊中的某一端口接收到訪存請(qǐng)求信息,但該端口與其它端口之間發(fā)生訪存沖突,暫時(shí)不能進(jìn)行訪存操作,需等待到下一周期再次進(jìn)行仲裁,則稱該端口的狀態(tài)為等待;所述空閑是指存儲(chǔ)器端口模塊中的某一端口的狀態(tài)既非占用、又非等待狀態(tài),稱該端口的狀態(tài)為空閑。所述仲裁模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口獲取存訪存請(qǐng)求信息和狀態(tài)信息。②從地址生成模塊獲取當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址。③判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突。④如果接收到訪存請(qǐng)求信息的端口發(fā)生訪存沖突,則進(jìn)行仲裁并將仲裁結(jié)果發(fā)送至地址生成模塊和存儲(chǔ)器端口模塊中的相應(yīng)端口。所述仲裁結(jié)果為允許進(jìn)行訪存操作或者等待。⑤如果接收到訪存請(qǐng)求信息的端口未發(fā)生訪存沖突,則發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口。所述判斷存儲(chǔ)器端口之間是否發(fā)生訪存沖突的具體方法為當(dāng)存儲(chǔ)器端口模塊的4個(gè)端口中的2個(gè)以上端口同時(shí)發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址相同時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為并行沖突。當(dāng)存儲(chǔ)器端口模塊的4個(gè)端口中的I個(gè)端口發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址所在的存儲(chǔ)塊下一時(shí)刻將被其它端口訪問(wèn)時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為阻塞沖突。當(dāng)發(fā)生并行沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為根據(jù)發(fā)生并行沖突的端口的優(yōu)先級(jí)進(jìn)行仲裁,允許優(yōu)先級(jí)最高的端口進(jìn)行訪存操作。當(dāng)發(fā)生阻塞沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為不允許該端口進(jìn)行訪存操作,使該端口處于等待狀態(tài)。所述地址生成模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊獲取訪存請(qǐng)求信息;②從仲裁模塊獲取仲裁結(jié)果。③根據(jù)訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址。所述端口轉(zhuǎn)接模塊的功能為從地址生成模塊獲取當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址及訪存模式,在該端口與存儲(chǔ)體之間建立連接,實(shí)現(xiàn)數(shù)據(jù)傳輸。
所述外圍設(shè)備中的4個(gè)存儲(chǔ)塊采用交叉尋址方式存儲(chǔ)數(shù)據(jù),即處理器給出的訪存地址(用a表示,a為整數(shù))中的數(shù)據(jù)存儲(chǔ)在第b (0<b S3)個(gè)存儲(chǔ)塊中的a'地址,b =aMOD 4,a' = [a/4」,其中MOD表示求模操作,L」表示向下取整。各功能模塊的連接關(guān)系為存儲(chǔ)器端口模塊中的端口 Pl與處理器Cl連接,存儲(chǔ)器端口模塊中的端口 P2與處理器C2連接,存儲(chǔ)器端口模塊中的端口 P3與處理器C3連接,存儲(chǔ)器端口模塊中的端口 P4與處理器C4連接。存儲(chǔ)器端口模塊分別與仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊連接;仲裁模塊分別與存儲(chǔ)器端口模塊、地址生成模塊連接;地址生成模塊分別與存儲(chǔ)器端口模塊、端口轉(zhuǎn)接模塊、仲裁模塊連接;端口轉(zhuǎn)接模塊分別與地址生成模塊和外圍設(shè)備中的存儲(chǔ)體連接。所述存儲(chǔ)器端口模塊與外圍設(shè)備中的訪存單元之間的連接采用地址和數(shù)據(jù)復(fù)用同一組信號(hào)線的方式進(jìn)行。其工作過(guò)程包括第I步至第7步,具體為第I步設(shè)置存儲(chǔ)器端口模塊的各端口初始狀態(tài)均為空閑。當(dāng)處理器有訪存請(qǐng)求時(shí),執(zhí)行第2步到第7步的操作。第2步在第I時(shí)鐘周期,處理器Cl發(fā)送訪存請(qǐng)求信息到存儲(chǔ)器端口模塊中的端口 P1,其中數(shù)據(jù)塊起始地址為0x00000000,數(shù)據(jù)塊長(zhǎng)度為64字節(jié),訪存模式為讀;同時(shí)處理器C3發(fā)送訪存請(qǐng)求信息到存儲(chǔ)器端口模塊中的端口 P3,其中數(shù)據(jù)塊起始地址為0x00000000,數(shù)據(jù)塊長(zhǎng)度為128字節(jié),訪存模式為寫。第3步從第I到第2時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 Pl和P3分別鎖存來(lái)自處理器Cl和C3的訪存請(qǐng)求信息,并設(shè)置端口 Pl和P3的狀態(tài)為等待;第4步第3時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 Pl和P3將各自的端口狀態(tài)信息和訪存請(qǐng)求信息發(fā)送給仲裁模塊。第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;所述當(dāng)前時(shí)刻存儲(chǔ)器端口模塊端口 P2和P4的具體訪存地址的初始值均為空。由于存儲(chǔ)器端口模塊中的端口Pl和P3發(fā)生并行訪存沖突,且Pl的優(yōu)先級(jí)高于P3的優(yōu)先級(jí),則仲裁結(jié)果為第3時(shí)鐘周期發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的端口 Pl。第6步從第4時(shí)鐘周期開(kāi)始,所述存儲(chǔ)器端口模塊中的端口 Pl接收到來(lái)自仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作第6. I步端口 Pl將其狀態(tài)設(shè)置為占用,并向處理器Cl發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 Pl將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊;第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 Pl的具體訪存地址,同時(shí)將端口 Pl的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊;第6. 3步端口轉(zhuǎn)接模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口 Pl的具體訪存地址,在端口 Pl與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 Pl與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸。
第6. 4步地址生成模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 Pl的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 Pl的狀態(tài)設(shè)置為空閑。第7步端口 P3接收到仲裁模塊發(fā)送來(lái)的仲裁結(jié)果為等待,因此返回到第5步。第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;第4時(shí)鐘周期,所述存儲(chǔ)器端口模塊端口 P2和P4的具體訪存地址的初始值均為空;存儲(chǔ)器端口模塊中的端口Pl的狀態(tài)為占用,當(dāng)前訪存地址為0x00000000,下一時(shí)鐘周期訪存地址為0x00000001,與P3訪存地址0x00000000不同,則仲裁結(jié)果為發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的端口 P3。第6步所述存儲(chǔ)器端口模塊中的端口 P3接收到來(lái)自仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作第6. I步端口 P3將其狀態(tài)設(shè)置為占用,并向處理器C3發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 P3將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊;第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 P3的具體訪存地址,同時(shí)將端口 P3的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊;第6. 3步端口轉(zhuǎn)接模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口 P3的具體訪存地址,在端口 P3與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 P3與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸。第6. 4步地址生成模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 P3的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 P3的狀態(tài)設(shè)置為空閑。實(shí)施例2 本實(shí)施例中的一種弱相關(guān)多端口并行存儲(chǔ)控制器,其結(jié)構(gòu)與實(shí)施例I中的一樣,其工作過(guò)程具體為第I步設(shè)置存儲(chǔ)器端口模塊的各端口初始狀態(tài)均為空閑。當(dāng)處理器有訪存請(qǐng)求時(shí),執(zhí)行第2步到第7步的操作。第2步在第I時(shí)鐘周期,處理器Cl發(fā)送訪存請(qǐng)求信息到存儲(chǔ)器端口模塊中的端口 Pl,其中數(shù)據(jù)塊起始地址為0x00000000,數(shù)據(jù)塊長(zhǎng)度為64字節(jié),訪存模式為讀;在第3時(shí)鐘周期,處理器C3發(fā)送訪存請(qǐng)求信息到存儲(chǔ)器端口模塊中的端口 P3,其中數(shù)據(jù)塊起始地址為0x00000002,數(shù)據(jù)塊長(zhǎng)度為128字節(jié),訪存模式為寫。第3步從第I到第2時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 Pl鎖存來(lái)自處理器Cl的訪存請(qǐng)求信息,從第3到第4時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 P3分別鎖存來(lái)自處理 器C3的訪存請(qǐng)求信息,并設(shè)置端口 P3的狀態(tài)為等待;第4步第3時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 Pl將其端口狀態(tài)信息和訪存請(qǐng)求信息發(fā)送給仲裁模塊。第5時(shí)鐘周期,存儲(chǔ)器端口模塊中的端口 P3將其端口狀態(tài)信息和訪存請(qǐng)求信息發(fā)送給仲裁模塊。
第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;所述當(dāng)前時(shí)刻存儲(chǔ)器端口模塊端口 P2和P4的具體訪存地址的初始值均為空。第3時(shí)鐘周期,由于只有Pl發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求,則仲裁結(jié)果為第3時(shí)鐘周期發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的端口 P1。第5時(shí)鐘周期,存儲(chǔ)器端口模塊端口 Pl訪存地址為0x00000001,下一時(shí)鐘周期存儲(chǔ)器端口模塊端口 Pl訪存地址為0x00000002,與存儲(chǔ)器端口模塊端口 P3的起始訪存地址0x00000002相同,由于存儲(chǔ)器端口模塊端口 Pl的狀態(tài)為占用,則仲裁結(jié)果為第5時(shí)鐘周期發(fā)送等待信號(hào)至存儲(chǔ)器端口模塊的端口 P3。第6步從第4時(shí)鐘周期開(kāi)始,所述存儲(chǔ)器端口模塊中的端口 Pl接收到來(lái)自仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作第6. I步端口 Pl將其狀態(tài)設(shè)置為占用,并向處理器Cl發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 Pl將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊;第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 Pl的具體訪存地址,同時(shí)將端口 Pl的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊;第6. 3步端口轉(zhuǎn)接模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口 Pl的具體訪存地址,在端口 Pl與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 Pl與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸。第6. 4步地址生成模塊根據(jù)端口 Pl的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 Pl的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 Pl的狀態(tài)設(shè)置為空閑。第7步第5時(shí)鐘周期,端口 P3接收到仲裁模塊發(fā)送來(lái)的仲裁結(jié)果為等待,因此返回到第5步。第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;第6時(shí)鐘周期,所述存儲(chǔ)器端口模塊端口 P2和P4的具體訪存地址的初始值均為空;存儲(chǔ)器端口模塊中的端口Pl的狀態(tài)為占用,當(dāng)前訪存地址為0x00000002,下一時(shí)鐘周期訪存地址為0x00000003,與P3的起始地址0x00000002不同,則仲裁結(jié)果為發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的端口 P3。第6步所述存儲(chǔ)器端口模塊中的端口 P3接收到來(lái)自仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作第6. 1步端口 P3將其狀態(tài)設(shè)置為占用,并向處理器C3發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 P3將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊;第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 P3的具體訪存地址,同時(shí)將端口 P3的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊;第6. 3步端口轉(zhuǎn)接模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口 P3的具體訪存地址,在端口 P3與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 P3與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸。 第6. 4步地址生成模塊根據(jù)端口 P3的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 P3的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 P3的狀態(tài)設(shè)置為空閑。以上結(jié)合具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案作了說(shuō)明,但這些說(shuō)明不能被理解為限制了本發(fā)明的范圍,本發(fā)明的保護(hù)范圍由隨附的權(quán)利要求書限定,任何在本發(fā)明權(quán)利要求基礎(chǔ)上的改動(dòng)都是本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種弱相關(guān)多端口并行存儲(chǔ)控制器,與外圍設(shè)備中的訪存單元和包含多個(gè)存儲(chǔ)塊的存儲(chǔ)體連接,能夠?qū)崿F(xiàn)外圍設(shè)備中的訪存單元與外圍設(shè)備中的存儲(chǔ)體之間的多端口并行存儲(chǔ);其特征在于包括存儲(chǔ)器端口模塊、仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊; 所述存儲(chǔ)器端口模塊,包含m個(gè)端口,并預(yù)先為m個(gè)端口設(shè)置優(yōu)先級(jí)順序,m個(gè)端口的優(yōu)先級(jí)均不同;其中,m3 2 ;其功能包括①?gòu)耐鈬O(shè)備中的訪存單元獲取并鎖存訪存請(qǐng)求信息;所述訪存請(qǐng)求信息包括請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度及訪存模式;所述訪存模式包括讀操作和寫操作;②管理m個(gè)端口的狀態(tài);所述端口的狀態(tài)為占用、等待或者空閑; 所述占用是指當(dāng)外圍設(shè)備中的訪存單元正通過(guò)存儲(chǔ)器端口模塊中的某一端口進(jìn)行訪存操作時(shí),稱該端口的狀態(tài)為占用; 所述等待是指當(dāng)存儲(chǔ)器端口模塊中的某一端口接收到訪存請(qǐng)求信息,但該端口與其它端口之間發(fā)生訪存沖突,暫時(shí)不能進(jìn)行訪存操作,需等待到下一周期再次進(jìn)行仲裁,則稱該端口的狀態(tài)為等待; 所述空閑是指存儲(chǔ)器端口模塊中的某一端口的狀態(tài)既非占用、又非等待狀態(tài),稱該端口的狀態(tài)為空閑; 所述仲裁模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口獲取存訪存請(qǐng)求信息和狀態(tài)信息;②從地址生成模塊獲取當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址;③判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;④如果接收到訪存請(qǐng)求信息的端口發(fā)生訪存沖突,則進(jìn)行仲裁并將仲裁結(jié)果發(fā)送至地址生成模塊和存儲(chǔ)器端口模塊中的相應(yīng)端口 ;所述仲裁結(jié)果為允許進(jìn)行訪存操作或者等待如果接收到訪存請(qǐng)求信息的端口未發(fā)生訪存沖突,則發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口; 所述判斷存儲(chǔ)器端口之間是否發(fā)生訪存沖突的具體方法為 當(dāng)存儲(chǔ)器端口模塊的m個(gè)端口中的2個(gè)以上端口同時(shí)發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址相同時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為并行沖突; 當(dāng)存儲(chǔ)器端口模塊的m個(gè)端口中的I個(gè)端口發(fā)起存儲(chǔ)訪問(wèn)請(qǐng)求并且請(qǐng)求訪存的起始地址所在的存儲(chǔ)塊下一時(shí)刻將被其它端口訪問(wèn)時(shí),則認(rèn)為發(fā)生訪存沖突,稱該類訪存沖突為阻塞沖突; 當(dāng)發(fā)生并行沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為根據(jù)發(fā)生并行沖突的端口的優(yōu)先級(jí)進(jìn)行仲裁,允許優(yōu)先級(jí)最高的端口進(jìn)行訪存操作; 當(dāng)發(fā)生阻塞沖突時(shí),所述仲裁模塊進(jìn)行仲裁的具體方法為不允許該端口進(jìn)行訪存操作,使該端口處于等待狀態(tài); 所述地址生成模塊的功能包括①?gòu)拇鎯?chǔ)器端口模塊獲取訪存請(qǐng)求信息;②從仲裁模塊獲取仲裁結(jié)果;③根據(jù)訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址; 所述端口轉(zhuǎn)接模塊的功能為從地址生成模塊獲取當(dāng)前時(shí)刻允許進(jìn)行訪存操作的端口的具體訪存地址及訪存模式,在該端口與外圍設(shè)備中的存儲(chǔ)體之間建立連接,實(shí)現(xiàn)數(shù)據(jù)傳輸; 各功能模塊的連接關(guān)系為存儲(chǔ)器端口模塊分別與外圍設(shè)備中的訪存單元、仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊連接;仲裁模塊分別與存儲(chǔ)器端口模塊、地址生成模塊連接;地址生成模塊分別與存儲(chǔ)器端口模塊、端口轉(zhuǎn)接模塊、仲裁模塊連接;端口轉(zhuǎn)接模塊分別與地址生成模塊和外圍設(shè)備中的存儲(chǔ)體連接。
2.如權(quán)利要求I所述的一種弱相關(guān)多端口并行存儲(chǔ)控制器,其特征在于其工作過(guò)程包括第I步至第7步,具體為 第I步設(shè)置存儲(chǔ)器端口模塊的各端口初始狀態(tài)均為空閑;當(dāng)外圍設(shè)備中的訪存單元有訪存請(qǐng)求時(shí),執(zhí)行第2步到第7步的操作; 第2步外圍設(shè)備中的訪存單元同時(shí)發(fā)送r個(gè)訪存請(qǐng)求信息到存儲(chǔ)器端口模塊的r個(gè)端口,其中I 第3步存儲(chǔ)器端口模塊鎖存訪存請(qǐng)求信息,并設(shè)置接收到訪存請(qǐng)求信息的端口的狀態(tài)為等待; 第4步存儲(chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口將端口狀態(tài)信息和訪存請(qǐng)求信息發(fā)送給仲裁模塊; 第5步仲裁模塊根據(jù)訪存請(qǐng)求信息以及當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址,依次判斷接收到訪存請(qǐng)求信息的端口是否發(fā)生訪存沖突;所述當(dāng)前時(shí)刻存儲(chǔ)器端口模塊每個(gè)端口的具體訪存地址的初始值均為空;如果接收到訪存請(qǐng)求信息的端口未發(fā)生訪存沖突,則發(fā)送允許進(jìn)行訪存操作信號(hào)至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口 ;如果接收到訪存請(qǐng)求信息的端口發(fā)生訪存沖突,則進(jìn)行仲裁并將仲裁結(jié)果發(fā)送至地址生成模塊和存儲(chǔ)器端口模塊的相應(yīng)端口 ; 第6步所述存儲(chǔ)器端口模塊中接收到訪存請(qǐng)求信息的端口用“端口 P”表示;當(dāng)端口P接收到仲裁模塊發(fā)送來(lái)的允許進(jìn)行訪存操作信號(hào)時(shí),進(jìn)行第6. I步至第6. 4步操作 第6. I步端口 P將其狀態(tài)設(shè)置為占用,并向外圍設(shè)備中的訪存單元發(fā)送數(shù)據(jù)傳輸應(yīng)答信號(hào),同時(shí)端口 P將訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度發(fā)送至地址生成模塊,將訪存請(qǐng)求信息中的訪存模式發(fā)送給端口轉(zhuǎn)發(fā)模塊; 第6. 2步與第6. I步同步地址生成模塊根據(jù)端口 P的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度生成當(dāng)前時(shí)刻端口 P的具體訪存地址,同時(shí)將端口 P的具體訪存地址發(fā)送給端口轉(zhuǎn)發(fā)模塊和仲裁模塊; 第6. 3步端口轉(zhuǎn)發(fā)模塊根據(jù)端口 P的訪存請(qǐng)求信息中的訪存模式以及當(dāng)前時(shí)刻端口P的具體訪存地址,在端口 P與外圍設(shè)備中的存儲(chǔ)體之間建立連接,使端口 P與外圍設(shè)備中的存儲(chǔ)體之間實(shí)現(xiàn)數(shù)據(jù)傳輸; 第6. 4步地址生成模塊根據(jù)端口 P的訪存請(qǐng)求信息中的請(qǐng)求訪存的起始地址、請(qǐng)求訪存的長(zhǎng)度以及當(dāng)前時(shí)刻端口 P的具體訪存地址判斷本次訪存請(qǐng)求的數(shù)據(jù)訪問(wèn)是否完成,如果沒(méi)有完成,則返回到第6. 2步;如果已經(jīng)完成,則將端口 P的狀態(tài)設(shè)置為空閑; 第7步當(dāng)端口 P接收到仲裁模塊發(fā)送來(lái)的仲裁結(jié)果為等待時(shí),返回到第5步; 經(jīng)過(guò)上述步驟的操作,即可實(shí)現(xiàn)多端口并行存儲(chǔ)。
3.如權(quán)利要求I或2中所述的一種弱相關(guān)多端口并行存儲(chǔ)控制器,其特征在于所述存儲(chǔ)器端口模塊與外圍設(shè)備中的訪存單元之間的連接采用地址和數(shù)據(jù)復(fù)用同一組信號(hào)線的方式進(jìn)行。
全文摘要
本發(fā)明提出的一種弱相關(guān)多端口并行存儲(chǔ)控制器,與外圍設(shè)備中的訪存單元和包含多個(gè)存儲(chǔ)塊的存儲(chǔ)體連接,能夠?qū)崿F(xiàn)外圍設(shè)備中的訪存單元與外圍設(shè)備中的存儲(chǔ)體之間的多端口并行存儲(chǔ);其包括存儲(chǔ)器端口模塊、仲裁模塊、地址生成模塊、端口轉(zhuǎn)接模塊。本發(fā)明提出的多端口并行存儲(chǔ)控制器具有如下優(yōu)點(diǎn)①支持任意長(zhǎng)度的塊讀寫,靈活度更高;②地址和數(shù)據(jù)的傳輸復(fù)用同一組信號(hào)線完成,大大降低了系統(tǒng)中傳輸信號(hào)線的數(shù)量,利于布局布線的實(shí)施,降低了系統(tǒng)的復(fù)雜性和成本;③本發(fā)明所提出的多端口并行存儲(chǔ)控制器結(jié)構(gòu)簡(jiǎn)單,使用信號(hào)傳輸線較少,能夠支持大規(guī)模多端口存儲(chǔ)器的設(shè)計(jì)與實(shí)現(xiàn),提高多個(gè)處理器并行訪存的效率。
文檔編號(hào)G06F13/16GK102622192SQ201210046908
公開(kāi)日2012年8月1日 申請(qǐng)日期2012年2月27日 優(yōu)先權(quán)日2012年2月27日
發(fā)明者劉彩霞, 王一拙, 石峰, 薛立成, 計(jì)衛(wèi)星, 高玉金 申請(qǐng)人:北京理工大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青阳县| 南雄市| 华坪县| 清新县| 鹤壁市| 防城港市| 湄潭县| 遂溪县| 吉木乃县| 郓城县| 灌云县| 江陵县| 肥西县| 鄂伦春自治旗| 建德市| 巧家县| 四子王旗| 新兴县| 淮阳县| 泰和县| 朔州市| 巴塘县| 进贤县| 且末县| 扬中市| 东乡族自治县| 普陀区| 汉源县| 额尔古纳市| 荆门市| 吉安县| 西丰县| 沾益县| 麦盖提县| 教育| 海口市| 普兰县| 鹤岗市| 沙洋县| 洛宁县| 云安县|