一種多核處理器中處理單元接口電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種多核處理器中處理單元接口電路,特別是針對二維網(wǎng)格(mesh)架構(gòu)的多核處理器處理單元接口電路,屬于計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域。
【背景技術(shù)】
[0002]多核處理器通過在多個(gè)處理器核(又被稱為處理單元)上運(yùn)行多個(gè)線程來挖掘并行性。二維網(wǎng)格(mesh)架構(gòu)將片內(nèi)處理單元連接成十字網(wǎng)格的形式,這種方法拓?fù)浜唵?、尋徑方便,而且可擴(kuò)展性好,成為目前多核處理器設(shè)計(jì)的常用架構(gòu)。多核處理器片內(nèi)的處理單元,一般是微處理器和DSP引擎,它們作為成熟IP或者模塊與片上總線連接,集成在芯片中。目前具有代表性的多核處理器有picochip公司的pcl02、tiler公司的tile64和Coherent Logix公司的hx3100。這些產(chǎn)品內(nèi)部的處理單元與片內(nèi)總線的連接各有不同:
[0003]pcl02:處理單元的讀寫信號直接與片內(nèi)總線連接,屬于緊耦合。處理單元通過簡單讀寫操作與片外總線交互數(shù)據(jù)。對外每個(gè)讀寫周期需要2個(gè)時(shí)鐘:在第一個(gè)時(shí)鐘,將讀寫信息直接傳遞到目的地址;在第二個(gè)時(shí)鐘,將數(shù)據(jù)讀回,或者將數(shù)據(jù)寫入目的地址。
[0004]tile64:處理單元與片內(nèi)總線部分實(shí)現(xiàn)緊耦合。一方面,處理單元直接是將內(nèi)部的寄存器映射到片內(nèi)總線,利用總線通道將數(shù)據(jù)傳遞給目的處理單元內(nèi)部的寄存器;另一方面,處理單元的讀寫操作根據(jù)目的不同,分成訪問存儲(chǔ)器、訪問芯片輸入/輸出接口等幾類,每一類訪問需要將讀寫操作轉(zhuǎn)換成數(shù)據(jù)包的形式,利用專用的總線層傳遞。
[0005]hx3100:在芯片中集成了 100個(gè)處理單元。處理單元的讀寫操作,會(huì)轉(zhuǎn)換成數(shù)據(jù)包的形式,利用片內(nèi)總線傳遞。
[0006]從上述分析可知,目前的多核處理器,在處理單元與片內(nèi)總線的連接上,有兩種實(shí)現(xiàn)結(jié)構(gòu):第一種是處理單元將內(nèi)部的寄存器映射到片內(nèi)專用總線,通過專用總線,實(shí)現(xiàn)處理單元間內(nèi)部寄存器數(shù)據(jù)的點(diǎn)對點(diǎn)傳遞,如pcl02和tile64 ;第二種是將處理單元每次對外的讀寫操作轉(zhuǎn)換成數(shù)據(jù)包,通過片內(nèi)總線傳遞到目的地址,如tile64和hx3100。
[0007]但這兩種設(shè)計(jì)方案,存在這明顯的不足:對于第一種實(shí)現(xiàn)結(jié)構(gòu),缺乏數(shù)據(jù)訪問的靈活性,每次訪問需要事先規(guī)劃傳遞路徑;對于第二種實(shí)現(xiàn)結(jié)構(gòu),處理單元每次訪問產(chǎn)生的數(shù)據(jù)包在總線中傳遞過程中,需要數(shù)十到上百個(gè)時(shí)鐘的傳遞延時(shí)周期,必須在收到應(yīng)答數(shù)據(jù)包后再開始新的數(shù)據(jù)訪問。當(dāng)訪問頻繁時(shí),這部分耗時(shí)對處理器性能的影響將顯著增加。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供了一種多核處理器中處理單元接口電路,分別與多核處理器中集成的處理單元和片上網(wǎng)絡(luò)總線相連,作為處理單元和片上網(wǎng)絡(luò)總線傳遞信息的橋梁。處理單元接口內(nèi)部主要由慢速訪問模式單元、流水訪問模式單元、DMA訪問模式單元、功能控制寄存器和多個(gè)邏輯判斷電路組成。實(shí)現(xiàn)處理單元對總線的訪問控制,將訪問分為三種訪問模式,分別為慢速訪問模式、流水訪問模式、DMA訪問模式,其中,慢速訪問模式與傳統(tǒng)的多核處理器中處理單元訪問方式一致,處理單元每次訪問產(chǎn)生的數(shù)據(jù)包在總線中傳遞過程中,需要數(shù)十到上百個(gè)時(shí)鐘的傳遞延時(shí)周期,必須在收到應(yīng)答數(shù)據(jù)包后才開始新的數(shù)據(jù)訪問,流水訪問是處理單元連續(xù)對片上網(wǎng)絡(luò)總線進(jìn)行對讀操作或者寫操作,在讀寫操作過程中,應(yīng)答數(shù)據(jù)存儲(chǔ)在專用緩存中,連續(xù)讀寫操作完畢才處理緩存中的數(shù)據(jù),對于DMA訪問模式,處理單元設(shè)置參數(shù)后,DMA訪問模式單元自動(dòng)產(chǎn)生對片上網(wǎng)絡(luò)總線的訪問數(shù)據(jù)包,并同時(shí)接收片上網(wǎng)絡(luò)總線的應(yīng)答數(shù)據(jù)包,直到DMA訪問結(jié)束,本發(fā)明的處理單元接口優(yōu)點(diǎn)是增加了流水訪問模式和DMA訪問模式,實(shí)現(xiàn)了處理單元每次訪問產(chǎn)生的數(shù)據(jù)包在總線中傳遞過程中,不用在收到應(yīng)答數(shù)據(jù)包后才開始新的數(shù)據(jù)訪問,而是可以在發(fā)送數(shù)據(jù)包的同時(shí)接收數(shù)據(jù)包,降低處理單元訪問時(shí)間,提高處理器性能。
[0009]本發(fā)明的技術(shù)解決方案是:一種多核處理器中處理單元接口電路,包括第一組合邏輯判斷電路、功能控制寄存器、第二組合邏輯判斷電路、慢速訪問模式單元、流水訪問模式單元、DMA訪問模式單元和第三組合邏輯判斷電路;
[0010]所述第一組合邏輯判斷電路接收處理單元輸出的讀寫操作信號,并根據(jù)讀寫操作信號中地址線將讀寫操作信號輸出給功能控制寄存器或第二組合邏輯判斷電路;所述讀寫操作信號包括數(shù)據(jù)線、地址線、讀使能信號和寫使能信號;
[0011]所述功能控制寄存器接收第一組合邏輯判斷電路輸出的讀寫操作信號,在讀寫操作信號中寫使能信號線的觸發(fā)下,讀取讀寫操作信號中數(shù)據(jù)線的低3位數(shù)據(jù),并輸出到第二組合邏輯判斷電路和第三組合邏輯判斷電路;
[0012]所述慢速訪問模式單元、流水訪問模式單元和DMA訪問模式單元分別實(shí)現(xiàn)處理單元對總線的慢速訪問模式、流水訪問模式和DMA訪問模式;
[0013]第二組合邏輯判斷電路在功能控制寄存器輸出控制信號的控制下,將接收到的第一組合邏輯判斷電路輸出的讀寫操作信號輸出給慢速訪問模式單元、流水訪問模式單元或DMA訪問模式單元;
[0014]第三組合邏輯判斷電路在功能控制寄存器輸出控制信號的控制下,選擇接收慢速訪問模式單元、流水訪問模式單元或DMA訪問模式單元的總線操作信號,并將接收到的總線操作信號輸出給片內(nèi)總線網(wǎng)絡(luò)。
[0015]所述第一組合邏輯判斷電路接收處理單元輸出的讀寫操作信號,并根據(jù)讀寫操作信號中地址線將讀寫操作信號輸出給功能控制寄存器或第二組合邏輯判斷電路;具體為:
[0016]當(dāng)?shù)刂肪€指向的是功能控制寄存器時(shí),將讀寫操作信號輸出到功能控制寄存器,否則,將讀寫操作信號輸出到第二組合邏輯判斷電路。
[0017]所述第二組合邏輯判斷電路在功能控制寄存器輸出控制信號的控制下,將接收到的第一組合邏輯判斷電路輸出的讀寫操作信號輸出給慢速訪問模式單元、流水訪問模式單元或DMA訪問模式單元;具體為:
[0018]功能控制寄存器的輸出為3位信號線,從高位到低位為??位2、位I和位O ;在功能控制寄存器這三位信號的控制下,第二組合邏輯判斷電路將輸入的第一組合邏輯判斷電路輸出,有選擇地向三個(gè)不同的方向輸出:位O為I時(shí),選擇向慢速訪問模式單元輸出;位I為I時(shí),選擇向流水訪問模式單元輸出;位2為I時(shí),選擇向DMA訪問模式單元輸出。
[0019]所述第三組合邏輯判斷電路在功能控制寄存器輸出控制信號的控制下,選擇接收慢速訪問模式單元、流水訪問模式單元或DMA訪問模式單元的總線操作信號,具體為:
[0020]所述第三組合邏輯判斷電路為雙向選通控制電路,所述功能控制寄存器輸入的控制信號為3位數(shù)據(jù)信號,從高位到低位為:位2、位I和位O ;當(dāng)位O為I時(shí),第三組合邏輯判斷電路選擇接收慢速訪問模式單元的34位的總線操作信號;位I為I時(shí),第三組合邏輯判斷電路選擇接收流水訪問模式單元的34位的總線操作信號;位2為I時(shí),第三組合邏輯判斷電路選擇接收DMA訪問模式單元的34位的總線操作信號。
[0021]所述慢速訪問模式單元包括第一時(shí)序邏輯電路、第二時(shí)序邏輯電路、第一寄存器、第四組合邏輯判斷電路和第三時(shí)序邏輯電路;
[0022]所述第一寄存器接收第二組合邏輯判斷電路輸出讀寫操作信號中的數(shù)據(jù)線和地址線;
[0023]所述第一時(shí)序邏輯電路接收第二組合邏輯判斷電路輸出的讀使能信號和第一寄存器輸出的地址線,輸出34位數(shù)據(jù)線;
[0024]所述第二時(shí)序邏輯電路接收第二組合邏輯判斷電路輸出的寫使能信號和第一寄存器寄存的地址線和數(shù)據(jù)線,輸出34位數(shù)據(jù)線;
[0025]所述第四組合邏輯判斷電路接收第一時(shí)序邏輯電路和第二時(shí)序邏輯電路的34位數(shù)據(jù)線,并在數(shù)據(jù)線最高位為‘I’時(shí)將數(shù)據(jù)輸出給第三組合邏輯判斷電路;
[0026]第三時(shí)序邏輯電路接收第三組合邏輯判斷電路輸出的34位總線信號,當(dāng)最高位33位為‘I’時(shí),輸出34位總線信號中位31到位O。
[0027]所述流水訪問模式單元包括第一緩存單元、第二緩存單元、第四時(shí)序邏輯電路、第五時(shí)序邏輯電路、第二寄存器、第五組合邏輯判斷電路和第六時(shí)序邏輯電路;
[0028]所述第一緩存單元為FIFO結(jié)構(gòu),即先入先出結(jié)構(gòu),第一緩存單元緩存第二組合邏輯判斷電路輸出的讀寫操作信號,并將讀使能信號輸出給第四時(shí)序邏輯電路,將寫使能信號輸出給第五時(shí)序邏輯電路,將數(shù)據(jù)線和地址線輸出給第二寄存器;
[0029]所述第四時(shí)序邏輯電路接收第一緩存單元輸出的讀使能信號和第二寄存器寄存的地址線,輸出34位數(shù)據(jù)線;
[0030]所述第五時(shí)序邏輯電路接收第一緩存單元輸出的寫使能信號和第二寄存器寄存的地址線和數(shù)據(jù)線,輸出34位數(shù)據(jù)線;
[0031]所述第五組合邏輯判斷電路接收第四時(shí)序邏輯