本發(fā)明屬于集成電路設(shè)計(jì),尤其涉及一種探針處理器。
背景技術(shù):
1、解決np-完全問題是當(dāng)前社會(huì)面臨的重大挑戰(zhàn)之一,需要突破圖靈模型的限制。探針機(jī)概念是近年來首次提出的一種可以有效解決該np-完全問題的新型計(jì)算模型,是重要的全球?qū)W術(shù)探索前沿領(lǐng)域。
2、馮·諾依曼型處理器的數(shù)學(xué)模型是圖靈機(jī),它是一種典型的串行計(jì)算模型,這使得其在處理大規(guī)模np-完全問題時(shí)顯得“力不從心”。np-完全問題被普遍視為當(dāng)今人類社會(huì)發(fā)展面臨的最大挑戰(zhàn)之一,因?yàn)榇祟悊栴}的計(jì)算復(fù)雜性隨問題規(guī)模的增加呈指數(shù)爆炸增長。
3、以100點(diǎn)計(jì)算圖的3著色求解問題為例,它需要的可行解空間為3100,約為5.15×1047。使用傳統(tǒng)圖靈機(jī)大型服務(wù)器需要求解幾十天。此類np-完全問題的求解難題廣泛存在于現(xiàn)實(shí)生活中。例如:1.整數(shù)規(guī)劃類問題,包括列車調(diào)度,航天在軌飛行器規(guī)劃,物流倉儲(chǔ)無人車規(guī)劃等。2.通訊協(xié)議加解密問題,例如rsa算法,一種公鑰加密算法,廣泛應(yīng)用于金融領(lǐng)域類銀行間數(shù)據(jù)傳輸。
4、許進(jìn)教授及其團(tuán)隊(duì)于2016年提出了一種名為“探針機(jī)”的底層全并行計(jì)算模型。這一模型首次在理論上超越了傳統(tǒng)的圖靈機(jī)模型,旨在解決當(dāng)前電子計(jì)算機(jī)無法高效處理的np完全問題,如哈密爾頓問題和圖的頂點(diǎn)著色問題。
5、基于以上探針機(jī)模型,許進(jìn)教授團(tuán)隊(duì)提出了兩種生物實(shí)現(xiàn)的構(gòu)想:一種是利用納米顆粒和dna分子作為數(shù)據(jù),dna分子作為探針的納米dna計(jì)算機(jī);另一種是利用乙酰膽堿等神經(jīng)遞質(zhì)作為數(shù)據(jù)纖維中的信息,類似于生物神經(jīng)系統(tǒng)中“動(dòng)作電位”作為探針的模型。
6、生物實(shí)現(xiàn)的計(jì)算模型,盡管具有創(chuàng)新性和前景,但也存在一些顯著的缺點(diǎn):(1)復(fù)雜性和可控性:生物系統(tǒng)的復(fù)雜性遠(yuǎn)高于電子系統(tǒng),特別是在涉及到分子和細(xì)胞層面的操作時(shí)??刂坪途_管理這些系統(tǒng)的行為是一項(xiàng)極具挑戰(zhàn)性的任務(wù);(2)穩(wěn)定性和可靠性:生物材料(如dna、蛋白質(zhì)等)在不同環(huán)境條件下可能表現(xiàn)出不穩(wěn)定或降解,這對計(jì)算的可靠性和穩(wěn)定性構(gòu)成了重大威脅;(3)速度和效率:盡管生物計(jì)算在某些特定問題上可能表現(xiàn)出色,但在總體速度和效率上,與現(xiàn)代電子計(jì)算機(jī)相比,生物計(jì)算仍處于劣勢。生物反應(yīng)的時(shí)間尺度通常較長,無法與電子計(jì)算的納秒級(jí)速度相提并論;(4)規(guī)模和可擴(kuò)展性:生物計(jì)算系統(tǒng)目前難以擴(kuò)展到大規(guī)模應(yīng)用。制造和維護(hù)大規(guī)模生物計(jì)算機(jī)不僅技術(shù)復(fù)雜,而且成本高昂。許進(jìn)教授團(tuán)隊(duì)提出一種從底層全并行的計(jì)算模型——探針機(jī);(5)環(huán)境依賴性:生物系統(tǒng)對環(huán)境條件(如溫度、ph值、營養(yǎng)供給等)極為敏感,稍有變化可能導(dǎo)致系統(tǒng)性能大幅波動(dòng)。這種對環(huán)境的依賴性增加了實(shí)際應(yīng)用的難度。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題是,提供一種探針處理器,有效提高探針操作的計(jì)算效率。
2、為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案:
3、一種探針處理器,,基于risc-v處理器架構(gòu),包括:探針操作專用指令集和探針處理器微架構(gòu);其中,
4、所述探針操作專用指令集,用于實(shí)現(xiàn)探針相關(guān)的基本操作;
5、所述探針處理器微架構(gòu),用于根據(jù)探針操作專用指令集,實(shí)現(xiàn)探針操作。
6、作為優(yōu)選,探針操作專用指令集包括:gset指令、gpre指令、gclear指令、ginfer指令、gprobe指令、gfill指令;其中,gset指令用于設(shè)置著色數(shù)和點(diǎn)數(shù);gpre指令用于設(shè)置點(diǎn)色集;gclear指令用于清空temp_sol、temp_fresh_point、temp_sign或true_sol、true_fresh_point、true_sign寄存器;ginfer指令用于啟動(dòng)推理操作;gprobe指令用于指定鄰接矩陣的地址,并啟動(dòng)探針操作;gfill指令用于進(jìn)行裝填temp_fresh_point和true_fresh_point寄存器。
7、作為優(yōu)選,所述探針處理器微架構(gòu)包括:取指單元,執(zhí)行單元以及探針單元;其中,
8、所述取指單元,用于從指定內(nèi)存取出正確指令,并進(jìn)行分支預(yù)測和解碼,若預(yù)測成功,得到對應(yīng)指令pc和相應(yīng)指令信息;若預(yù)測失敗,則清空指令流水線繼續(xù)執(zhí)行對應(yīng)指令,得到指令信息,并將信息送入執(zhí)行單元;
9、所述執(zhí)行單元,用于接收到指令,根據(jù)不同指令類型分發(fā)到相應(yīng)運(yùn)算單元執(zhí)行,同時(shí)用于維護(hù)指令的數(shù)據(jù)相關(guān)性;
10、所述探針單元,用于實(shí)現(xiàn)探針操作專用指令集。
11、作為優(yōu)選,所述探針單元包括探針解碼模塊、數(shù)據(jù)接口模塊、數(shù)據(jù)庫模塊、探針控制模塊、探針寫回模塊、推理模塊和探針模塊;其中,
12、所述探針解碼模塊,用于全解碼自定義指令,獲取指令信息,并傳遞給探針控制模塊,指令信息包含:探針運(yùn)算配置信息、處理數(shù)據(jù)地址、運(yùn)算操作類型和讀寫操作信息;
13、所述探針控制模塊,用于根據(jù)探針運(yùn)算配置信息、處理數(shù)據(jù)地址、運(yùn)算操作類型和讀寫操作信息對探針內(nèi)部功能模塊進(jìn)行調(diào)度、配置和執(zhí)行;
14、所述數(shù)據(jù)庫模塊,用于存儲(chǔ)探針操作中多位中間臨時(shí)數(shù)據(jù)和輸入輸出數(shù)據(jù)等;
15、所述推理模塊,用于執(zhí)行推理操作;
16、所述探針模塊,用于根據(jù)指令配置信息、運(yùn)算操作類型,執(zhí)行探針操作;
17、所述探針寫回模塊,用于保存計(jì)算結(jié)果,并通過仲裁寫回risc-v處理器中正確的位置。
18、作為優(yōu)選,所述數(shù)據(jù)庫模塊包括:true_sol、true_fresh_point、true_sign三個(gè)寬度為n且深度為m的寄存器組和temp_sol、temp_fresh_point、temp_sign三個(gè)寬度為n且深度為2m-1的寄存器組。
19、作為優(yōu)選,所述推理模塊由若干個(gè)反相器和與門組成,推理模塊的輸入是able_list和true_fresh_point寄存器數(shù)據(jù),經(jīng)過推理計(jì)算,輸出結(jié)果存到temp_fresh_point和temp_sol中。
20、作為優(yōu)選,所述探針模塊的輸入是temp_sol寄存器數(shù)據(jù)和鄰接矩陣,輸出結(jié)果存入temp_sign中。
21、作為優(yōu)選,取指單元通過地址生成模塊生成指令所需的地址;地址生成模塊與預(yù)分支預(yù)測模塊和總線控制模塊相連;總線控制模塊與總線接口單元和指令存儲(chǔ)器相連,總線控制模塊還通過選擇器與預(yù)解碼模塊以及執(zhí)行單元中的取指分發(fā)單元建立聯(lián)系;取指分發(fā)單元將指令分發(fā)到控制指令判斷模塊、算數(shù)運(yùn)算單元、長指令單元、加載存儲(chǔ)單元和探針解碼器;探針解碼器與數(shù)據(jù)接口和探針控制模塊相連;數(shù)據(jù)接口模塊與數(shù)據(jù)庫模塊模塊和探針寫回模塊模塊相連,并同時(shí)連接推理模塊和探針模塊;執(zhí)行單元通過寫回仲裁選擇器與交付模塊相連,最終連接寫回寄存器模塊。
22、作為優(yōu)選,指令執(zhí)行流程如下:指令執(zhí)行過程開始于指令被存儲(chǔ)在指令存儲(chǔ)器中,地址生成模塊生成指令的地址,即程序計(jì)數(shù)器pc,并將這個(gè)地址傳遞給總線控制模塊;總線控制模塊根據(jù)pc取出相應(yīng)的指令,并將其傳遞給預(yù)解碼模塊和取指分發(fā)單元;如果該指令是一個(gè)跳轉(zhuǎn)指令,它將通過預(yù)分支預(yù)測模塊直接生成新的跳轉(zhuǎn)地址;如果指令不是跳轉(zhuǎn)指令,取指分發(fā)單元根據(jù)指令的不同類型,將其分發(fā)到算數(shù)運(yùn)算單元、長指令單元、加載存儲(chǔ)單元或策略計(jì)算執(zhí)行單元;對于探針指令,通過探針解碼器進(jìn)行全解碼,以獲取完整的指令信息,數(shù)據(jù)接口模塊接收解碼后的數(shù)據(jù)信息,并從外部數(shù)據(jù)存儲(chǔ)器中獲取所需的數(shù)據(jù);同時(shí),探針控制模塊接收計(jì)算信息,并根據(jù)計(jì)算信息對推理模塊和探針模塊進(jìn)行調(diào)度和配置;推理模塊和探針模塊還接收來自數(shù)據(jù)池的計(jì)算數(shù)據(jù),通過探針寫回模塊傳遞給寫回仲裁選擇器;寫回仲裁選擇器與交付模塊協(xié)作,使計(jì)算結(jié)果被正確地寫回到寄存器中。
23、本發(fā)明探針處理器采用取指、執(zhí)行構(gòu)成的二級(jí)流水線結(jié)構(gòu),通過設(shè)計(jì)探針處理單元并擴(kuò)展自定義探針指令實(shí)現(xiàn)探針操作。相應(yīng)地,探針處理器修改取指部分解碼邏輯,使處理器可以識(shí)別自定義指令,對存算一體結(jié)構(gòu)的探針單元進(jìn)行配置、調(diào)度,以支持對不同點(diǎn)數(shù)不同著色數(shù)探針操作的實(shí)現(xiàn)。探針處理器充分利用探針操作的可拆解性和risc-v架構(gòu)的擴(kuò)展性,有效提高探針操作的計(jì)算效率