專利名稱:一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)體系結(jié)構(gòu)及超大規(guī)模集成電路設(shè)計(jì)技術(shù)領(lǐng)域,尤其 涉及一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng)及方法。
背景技術(shù):
協(xié)處理器是針對(duì)不同的應(yīng)用場合和需求,對(duì)主處理器擴(kuò)展的、協(xié)助主 處理器完成特殊應(yīng)用處理的處理器。例如浮點(diǎn)運(yùn)算協(xié)處理器,多媒體協(xié)處 理器等。
協(xié)處理器具有可編程性。協(xié)處理器有著在主處理器指令集基礎(chǔ)上擴(kuò)充 的協(xié)處理器指令集,協(xié)處理器含有面向特定應(yīng)用的功能單元,可以用于加 速特定應(yīng)用的處理。
傳統(tǒng)的主處理器與協(xié)處理器的接口采用較為復(fù)雜的緊密耦合的方式。
例如,高級(jí)精簡指令集處理器(Advanced RISC Machines, ARM)與其協(xié)
處理器接口通過專用的協(xié)處理器接口進(jìn)行互連和通訊。協(xié)處理器的接口包 括以下四類信號(hào)時(shí)鐘信號(hào)、時(shí)鐘控制信號(hào)、流水線跟隨信號(hào)和握手信號(hào)。 ARM的協(xié)處理器與ARM處理器使用同一時(shí)鐘信號(hào)。協(xié)處理器中有自己的 流水線。協(xié)處理器通過與ARM處理器連接的協(xié)處理器接口使用一個(gè)流水 線跟隨器,對(duì)ARM內(nèi)核流水線中執(zhí)行的指令進(jìn)行跟蹤,并且保持兩個(gè)流 水線的步調(diào)一致。
但是,現(xiàn)有的主處理器與協(xié)處理器的接口及互連結(jié)構(gòu)有著一些無法回 避的內(nèi)在缺陷。譬如,兼容性不強(qiáng),只能支持特定的主處理器和協(xié)處理器; 協(xié)處理器進(jìn)行數(shù)據(jù)處理的粒度較細(xì),只能有效進(jìn)行單個(gè)數(shù)據(jù)字的處理,并 不能支持粒度較粗的數(shù)據(jù)處理;協(xié)處理器和主處理器共用一段流水線,兩 者不能同時(shí)并行運(yùn)行;不支持靈活的協(xié)處理器指令集設(shè)計(jì)等。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
針對(duì)上述現(xiàn)有技術(shù)存在的不足,本發(fā)明的一個(gè)主要目的在于提供一種 實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng),以提高主處理器與協(xié)處理器 之間的兼容性,使協(xié)處理器能夠支持各種粒度的數(shù)據(jù)處理,并使協(xié)處理器 和處理器能夠并行運(yùn)行,支持靈活的協(xié)處理器指令集設(shè)計(jì)。
本發(fā)明的另一個(gè)主要目的在于提供一種實(shí)現(xiàn)主處理器與協(xié)處理器接 口與互連的方法,以提高主處理器與協(xié)處理器之間的兼容性,使協(xié)處理器 能夠支持各種粒度的數(shù)據(jù)處理,并使協(xié)處理器和處理器能夠并行運(yùn)行,支 持靈活的協(xié)處理器指令集設(shè)計(jì)。
(二)技術(shù)方案 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的
一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng),包括一個(gè)主處理器 和至少一個(gè)協(xié)處理器,該系統(tǒng)還包括
雙端口數(shù)據(jù)存儲(chǔ)器,用于實(shí)現(xiàn)所述主處理器與至少一個(gè)協(xié)處理器之間
的數(shù)據(jù)通訊;
主處理器數(shù)據(jù)總線,用于連接所述主處理器與雙端口數(shù)據(jù)存儲(chǔ)器; 協(xié)處理器數(shù)據(jù)總線,用于連接雙端口數(shù)據(jù)存儲(chǔ)器與所述至少一個(gè)協(xié)處 理器;
至少一個(gè)命令字寄存器,用于將接收自所述主處理器的指令發(fā)送給與 自身連接的協(xié)處理器;
至少一個(gè)狀態(tài)字寄存器,用于將接收自協(xié)處理器的狀態(tài)信息發(fā)送給所 述主處理器。
所述雙端口數(shù)據(jù)存儲(chǔ)器包括通過所述主處理器數(shù)據(jù)總線與主處理器 連接的數(shù)據(jù)訪問端口;通過所述協(xié)處理器數(shù)據(jù)總線與至少一個(gè)協(xié)處理器連 接的數(shù)據(jù)訪問端口;和與所述兩個(gè)數(shù)據(jù)訪問端口對(duì)應(yīng)的地址譯碼邏輯電 路。
所述雙端口數(shù)據(jù)存儲(chǔ)器的兩個(gè)數(shù)據(jù)訪問端口分別至少包括時(shí)鐘信 號(hào)、控制信號(hào)、地址信號(hào)和數(shù)據(jù)信號(hào)。
所述主處理器通過與自身連接的數(shù)據(jù)訪問端口,以及協(xié)處理器通過與 自身連接的數(shù)據(jù)訪問端口,同時(shí)對(duì)雙端口數(shù)據(jù)存儲(chǔ)器的不同存儲(chǔ)區(qū)域進(jìn)行 讀操作或?qū)懖僮鳌?br>
所述主處理器為哈佛結(jié)構(gòu)的主處理器;所述主處理器數(shù)據(jù)總線為哈佛 結(jié)構(gòu)主處理器的數(shù)據(jù)總線,用于連接所述哈佛結(jié)構(gòu)的主處理器與雙端口數(shù) 據(jù)存儲(chǔ)器的一個(gè)數(shù)據(jù)訪問端口;所述協(xié)處理器數(shù)據(jù)總線用于連接所述至少
一個(gè)協(xié)處理器與雙端口數(shù)據(jù)存儲(chǔ)器的另一個(gè)數(shù)據(jù)訪問端口。
所述命令字寄存器與協(xié)處理器一一對(duì)應(yīng);所述主處理器通過執(zhí)行寫操 作對(duì)全部命令字寄存器進(jìn)行訪問,所述協(xié)處理器通過執(zhí)行讀操作對(duì)與自身 對(duì)應(yīng)的命令字寄存器進(jìn)行訪問。
所述狀態(tài)字寄存器與協(xié)處理器一一對(duì)應(yīng);所述主處理器通過執(zhí)行讀操 作對(duì)全部狀態(tài)字寄存器進(jìn)行訪問,所述協(xié)處理器通過執(zhí)行寫操作對(duì)與自身 對(duì)應(yīng)的狀態(tài)字寄存器進(jìn)行訪問。
一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方法,該方法包括
A、 主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的 指定存儲(chǔ)區(qū)域,并向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令;
B、 協(xié)處理器接收到啟動(dòng)指令后向主處理器返回命令接收狀態(tài)字,訪
問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域獲取主處理器寫入的數(shù)據(jù),執(zhí)行啟
動(dòng)指令中定義的操作;
C、 協(xié)處理器完成指令中定義的操作后向主處理器返回命令完成狀態(tài) 字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果。
步驟A中所述主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù) 存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,是通過主處理器數(shù)據(jù)總線與雙端口數(shù)據(jù)存儲(chǔ)器 的一個(gè)數(shù)據(jù)訪問端口訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域?qū)崿F(xiàn)的。
步驟A中所述主處理器向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令包括主處 理器通過命令字寄存器向協(xié)處理器發(fā)送至少攜帶有執(zhí)行定義操作和訪問 指定存儲(chǔ)區(qū)域信息的協(xié)處理器啟動(dòng)指令。
步驟B中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字是通過狀態(tài) 字寄存器返回的。
步驟B中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字后進(jìn)一步包
括主處理器根據(jù)接收的命令接收狀態(tài)字執(zhí)行正常的程序流。
步驟C中所述協(xié)處理器完成指令中定義的操作后進(jìn)一步將執(zhí)行結(jié)果
攜帶在命令完成狀態(tài)字中,步驟C中所述協(xié)處理器向主處理器返回命令完
成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果包括
Cl、協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送攜帶有執(zhí)行結(jié)果的命
令完成狀態(tài)字;
C2、主處理器接收到協(xié)處理器發(fā)送的命令完成狀態(tài)字,從命令完成狀 態(tài)字中獲取協(xié)處理器返回的執(zhí)行結(jié)果。
步驟c中所述協(xié)處理器完成指令中定義的操作后進(jìn)一步將執(zhí)行結(jié)果
數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,步驟c中所述協(xié)處理器向
主處理器返回命令完成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果包括 Cl'、協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送命令完成狀態(tài)字; C2'、主處理器接收到命令完成狀態(tài)字,訪問雙端口數(shù)據(jù)存儲(chǔ)器中的
指定存儲(chǔ)區(qū)域,獲取協(xié)處理器寫入的執(zhí)行結(jié)果數(shù)據(jù)。
(三)有益效果 從上述技術(shù)方案可以看出,本發(fā)明具有以下有益效果
1、 利用本發(fā)明,由于主處理器和協(xié)處理器分別利用各自的數(shù)據(jù)總線 及流水線,所以主處理器能夠與各種類型的協(xié)處理器互連并協(xié)同工作,大 大提高了主處理器與協(xié)處理器之間的兼容性。
2、 利用本發(fā)明,由于協(xié)處理器在進(jìn)行數(shù)據(jù)處理時(shí),既能夠進(jìn)行單個(gè) 數(shù)據(jù)字的細(xì)粒度數(shù)據(jù)處理,又能夠進(jìn)行多個(gè)數(shù)據(jù)字的粗粒度數(shù)據(jù)處理,所 以協(xié)處理器能夠支持各種粒度的數(shù)據(jù)處理。
3、 利用本發(fā)明,由于主處理器和協(xié)處理器對(duì)雙端口數(shù)據(jù)存儲(chǔ)器的特
定區(qū)域采用分時(shí)訪問的機(jī)制,協(xié)處理器對(duì)數(shù)據(jù)存儲(chǔ)器的訪問操作及執(zhí)行操 作的過程不會(huì)影響主處理器對(duì)數(shù)據(jù)存儲(chǔ)器的訪問操作及執(zhí)行操作的過程, 二者訪問數(shù)據(jù)存儲(chǔ)器的時(shí)序也不會(huì)互相影響,在協(xié)處理器執(zhí)行操作的同時(shí) 主處理器也可以正常執(zhí)行程序流,所以主處理器和協(xié)處理器可以并行運(yùn) 行。
4、 利用本發(fā)明,主處理器和協(xié)處理器也可以通過雙端口數(shù)據(jù)存儲(chǔ)器
獲得很高的數(shù)據(jù)訪問帶寬,協(xié)處理器還能夠支持靈活的協(xié)處理器指令集設(shè) 計(jì)。
5、 利用本發(fā)明,主處理器每次只發(fā)出一個(gè)協(xié)處理器指令,即只有一 個(gè)協(xié)處理器進(jìn)行操作并有可能訪問協(xié)處理器數(shù)據(jù)總線,在任意時(shí)刻也只有 一個(gè)協(xié)處理器對(duì)協(xié)處理器數(shù)據(jù)總線進(jìn)行訪問,因此不會(huì)出現(xiàn)協(xié)處理器數(shù)據(jù) 總線訪問沖突的問題。
6、 利用本發(fā)明,在協(xié)處理器完成協(xié)處理器指令定義的特定操作并且 返回狀態(tài)之前,主處理器不會(huì)啟動(dòng)其它的協(xié)處理器。這樣,在某一時(shí)刻只 有主處理器和一個(gè)協(xié)處理器同時(shí)工作,不會(huì)出現(xiàn)多個(gè)協(xié)處理器同時(shí)工作的 情況,因此不會(huì)出現(xiàn)協(xié)處理器之間操作沖突的問題。
圖1為本發(fā)明提供的實(shí)現(xiàn)主處理器與N個(gè)協(xié)處理器接口與互連的系統(tǒng) 的示意圖2為本發(fā)明提供的實(shí)現(xiàn)主處理器與一個(gè)協(xié)處理器接口與互連的系統(tǒng) 的示意圖3為本發(fā)明提供的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連總體技術(shù)方 案的實(shí)現(xiàn)流程圖4為依照本發(fā)明第一個(gè)實(shí)施例實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連 的方法流程圖5為依照本發(fā)明第二個(gè)實(shí)施例實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連 的方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí) 施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
如圖1所示,圖1為本發(fā)明提供的實(shí)現(xiàn)主處理器與N個(gè)協(xié)處理器接口 與互連的系統(tǒng)的示意圖,該系統(tǒng)包括一個(gè)主處理器和至少一個(gè)協(xié)處理器, 該系統(tǒng)還包括
雙端口數(shù)據(jù)存儲(chǔ)器,用于實(shí)現(xiàn)所述主處理器與至少一個(gè)協(xié)處理器之間 的數(shù)據(jù)通訊;
主處理器數(shù)據(jù)總線,用于連接所述主處理器與雙端口數(shù)據(jù)存儲(chǔ)器;
協(xié)處理器數(shù)據(jù)總線,用于連接雙端口數(shù)據(jù)存儲(chǔ)器與所述至少一個(gè)協(xié)處
理器;
至少一個(gè)命令字寄存器,用于將接收自所述主處理器的指令發(fā)送給與 自身連接的協(xié)處理器;
至少一個(gè)狀態(tài)字寄存器,用于將接收自協(xié)處理器的狀態(tài)信息發(fā)送給所 述主處理器。
上述主處理器為哈佛結(jié)構(gòu)的主處理器,具有獨(dú)立的數(shù)據(jù)存儲(chǔ)器和程序 存儲(chǔ)器,分別與數(shù)據(jù)總線和程序總線相連接,取指和執(zhí)行并行獨(dú)立進(jìn)行。
其中,主處理器的數(shù)據(jù)總線為了和協(xié)處理器的數(shù)據(jù)總線相區(qū)別,被標(biāo) 識(shí)為主處理器數(shù)據(jù)總線,協(xié)處理器的數(shù)據(jù)總線被標(biāo)識(shí)為協(xié)處理器數(shù)據(jù)總 線。
雙端口數(shù)據(jù)存儲(chǔ)器是由主處理器原有的單端口存儲(chǔ)器擴(kuò)展而來的,主 處理器和協(xié)處理器通過雙端口數(shù)據(jù)存儲(chǔ)器進(jìn)行數(shù)據(jù)通訊。所述雙端口數(shù)據(jù) 存儲(chǔ)器包括通過所述主處理器數(shù)據(jù)總線與主處理器連接的數(shù)據(jù)訪問端 口,即數(shù)據(jù)訪問端口A;通過所述協(xié)處理器數(shù)據(jù)總線與至少一個(gè)協(xié)處理器 連接的數(shù)據(jù)訪問端口,即數(shù)據(jù)訪問端口B;和與所述兩個(gè)數(shù)據(jù)訪問端口對(duì) 應(yīng)的地址譯碼邏輯電路。
雙端口數(shù)據(jù)存儲(chǔ)器具有完全獨(dú)立的兩套數(shù)據(jù)訪問端口及相應(yīng)的地址 譯碼邏輯電路。雙端口的數(shù)據(jù)存儲(chǔ)器具有的數(shù)據(jù)訪問端口 A和數(shù)據(jù)訪問端 口 B相互獨(dú)立。數(shù)據(jù)訪問端口 A和數(shù)據(jù)訪問端口 B分別至少包括時(shí)鐘 信號(hào)、控制信號(hào)、地址信號(hào)和數(shù)據(jù)信號(hào)等。
主處理器數(shù)據(jù)總線與雙端口數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)訪問端口 A相連,主處
理器通過主處理器數(shù)據(jù)總線和數(shù)據(jù)訪問端口A訪問雙端口數(shù)據(jù)存儲(chǔ)器。雙 端口數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)訪問端口A保持與主處理器數(shù)據(jù)總線的連接。
協(xié)處理器數(shù)據(jù)總線與雙端口數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)訪問端口 B相連,協(xié)處 理器通過協(xié)處理器數(shù)據(jù)總線和數(shù)據(jù)訪問端口 B訪問雙端口數(shù)據(jù)存儲(chǔ)器。雙 端口數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)訪問端口 B與協(xié)處理器數(shù)據(jù)總線連接,并通過協(xié)處
理器數(shù)據(jù)總線并聯(lián)多個(gè)協(xié)處理器。
由于主處理器每次只發(fā)出一個(gè)協(xié)處理器指令,即只有一個(gè)協(xié)處理器進(jìn) 行操作并有可能訪問協(xié)處理器數(shù)據(jù)總線,所以在任意時(shí)刻最多只有一個(gè)協(xié) 處理器對(duì)協(xié)處理器數(shù)據(jù)總線進(jìn)行訪問,因此不會(huì)出現(xiàn)協(xié)處理器數(shù)據(jù)總線的 訪問沖突。
由于主處理器每次最多只能啟動(dòng)一個(gè)協(xié)處理器,在協(xié)處理器數(shù)據(jù)總線 上不會(huì)出現(xiàn)多個(gè)協(xié)處理器同時(shí)工作,競爭總線資源的情況,并且協(xié)處理器 都自帶有地址譯碼的邏輯。
雙端口數(shù)據(jù)存儲(chǔ)器的兩套數(shù)據(jù)訪問端口可獨(dú)立工作于不同的時(shí)鐘頻 率,并可同時(shí)對(duì)雙端口數(shù)據(jù)存儲(chǔ)器進(jìn)行訪問。但是,如果同時(shí)對(duì)雙端口數(shù) 據(jù)存儲(chǔ)器的某一特定的存儲(chǔ)區(qū)域進(jìn)行讀寫操作,則有可能訪問失敗。為了 保證數(shù)據(jù)通訊的正確有效,在本發(fā)明中主處理器和協(xié)處理器對(duì)雙端口存儲(chǔ) 器的訪問分時(shí)進(jìn)行。
主處理器通過數(shù)據(jù)訪問端口 A,協(xié)處理器通過數(shù)據(jù)訪問端口B,同時(shí) 對(duì)雙端口數(shù)據(jù)存儲(chǔ)器的不同存儲(chǔ)區(qū)域進(jìn)行讀操作或?qū)懖僮?。但是,主處?br>
器通過數(shù)據(jù)訪問端口A,協(xié)處理器通過數(shù)據(jù)訪問端口B,不能同時(shí)讀寫雙
端口數(shù)據(jù)存儲(chǔ)器的同一存儲(chǔ)單元。
主處理器發(fā)出協(xié)處理器指令啟動(dòng)協(xié)處理器工作時(shí),在協(xié)處理器指令中 指定了協(xié)處理器可以訪問的存儲(chǔ)器區(qū)域。在協(xié)處理器對(duì)此存儲(chǔ)器區(qū)域進(jìn)行 訪問的時(shí)候,協(xié)處理器的操作并不影響主處理器正常執(zhí)行程序流,但主處 理器只能訪問除指定協(xié)處理器訪問區(qū)域以外的其它存儲(chǔ)器區(qū)域。當(dāng)協(xié)處理 器完成了對(duì)指定存儲(chǔ)器區(qū)域的訪問并執(zhí)行完相應(yīng)操作之后,將向主處理器 返回命令完成狀態(tài)字。主處理器接收到命令完成狀態(tài)字之后,才可以對(duì)指 定協(xié)處理器訪問的存儲(chǔ)器區(qū)域進(jìn)行訪問。
在進(jìn)行主處理器和協(xié)處理器的數(shù)據(jù)通訊時(shí),主處理器首先將需傳遞到 協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器的特定存儲(chǔ)器區(qū)域,并啟動(dòng)主處理 器。當(dāng)主處理器發(fā)送協(xié)處理器指令并啟動(dòng)協(xié)處理器工作之后,協(xié)處理器可
以通過協(xié)處理器數(shù)據(jù)總線和雙端口存儲(chǔ)器的端口 B,訪問雙端口數(shù)據(jù)存儲(chǔ) 器的特定存儲(chǔ)器區(qū)域讀入操作數(shù)據(jù),并操作完成后寫入數(shù)據(jù)。此時(shí)主處理 器不能對(duì)此存儲(chǔ)器區(qū)域進(jìn)行訪問,只有當(dāng)協(xié)處理器完成對(duì)數(shù)據(jù)存儲(chǔ)器的訪
問并返回命令完成狀態(tài)字,且主處理器接收到命令完成狀態(tài)字之后,主處 理器才可以對(duì)雙端口數(shù)據(jù)存儲(chǔ)器的特定存儲(chǔ)器區(qū)域進(jìn)行訪問。主處理器通 過訪問雙端口數(shù)據(jù)存儲(chǔ)器的特定存儲(chǔ)器區(qū)域獲取協(xié)處理器寫入的數(shù)據(jù),完 成主處理器和協(xié)處理器間的數(shù)據(jù)通訊。
所述命令字寄存器與協(xié)處理器一一對(duì)應(yīng),主處理器通過執(zhí)行寫操作對(duì) 全部命令字寄存器進(jìn)行訪問,協(xié)處理器通過執(zhí)行讀操作對(duì)與自身對(duì)應(yīng)的命 令字寄存器進(jìn)行訪問。
所述狀態(tài)字寄存器與協(xié)處理器一一對(duì)應(yīng),主處理器通過執(zhí)行讀操作對(duì) 全部狀態(tài)字寄存器進(jìn)行訪問,協(xié)處理器通過執(zhí)行寫操作對(duì)與自身對(duì)應(yīng)的狀 態(tài)字寄存器進(jìn)行訪問。
主處理器通過命令字寄存器向協(xié)處理器傳遞協(xié)處理器指令,協(xié)處理器 通過狀態(tài)字寄存器并結(jié)合中斷請(qǐng)求信號(hào)向主處理器返回狀態(tài)。命令字寄存 器將從主處理器發(fā)出的協(xié)處理器指令傳遞給協(xié)處理器,狀態(tài)字寄存器則將 從協(xié)處理器返回的狀態(tài)傳遞給主處理器。同時(shí),協(xié)處理器的狀態(tài)返回是和 主處理器的外部中斷結(jié)合在一起的。
圖1中的N個(gè)命令字寄存器和N個(gè)狀態(tài)字寄存器都是主處理器可尋
址訪問的。而協(xié)處理器則只能尋址訪問到其所屬的一個(gè)命令字寄存器和一
個(gè)狀態(tài)字寄存器。例如協(xié)處理器N只能訪問命令字寄存器N和狀態(tài)字寄 存器N。
同時(shí),主處理器只能對(duì)狀態(tài)字寄存器進(jìn)行讀操作,協(xié)處理器只能對(duì)狀 態(tài)字寄存器進(jìn)行寫操作;主處理器只能對(duì)命令字寄存器進(jìn)行寫操作,協(xié)處 理器只能對(duì)命令字寄存器進(jìn)行讀操作。
中斷請(qǐng)求信號(hào)和中斷響應(yīng)信號(hào)也是一一對(duì)應(yīng)的。例如圖1中的中斷申 請(qǐng)信號(hào)N對(duì)應(yīng)中斷響應(yīng)信號(hào)N。中斷請(qǐng)求信號(hào)和中斷響應(yīng)信號(hào)屬于主處理 器,分別對(duì)應(yīng)N個(gè)外部中斷,例如中斷申請(qǐng)信號(hào)N和中斷響應(yīng)信號(hào)N對(duì) 應(yīng)主處理器的外部中斷N。每一個(gè)協(xié)處理器被分配一個(gè)外部中斷資源,并 分別連接一個(gè)中斷請(qǐng)求信號(hào)和一個(gè)中斷響應(yīng)信號(hào)。例如協(xié)處理器N連接到 中斷請(qǐng)求信號(hào)N和中斷響應(yīng)信號(hào)N。協(xié)處理器N通過中斷申請(qǐng)信號(hào)N和 中斷響應(yīng)信號(hào)N與主處理器連接并可申請(qǐng)主處理器的外部中斷N,當(dāng)協(xié)處 理器發(fā)出外部中斷請(qǐng)求的時(shí)候,主處理器進(jìn)入外部中斷N對(duì)應(yīng)的中斷服務(wù)程序執(zhí)行。
主處理器向協(xié)處理器發(fā)送命令的過程是主處理器在執(zhí)行正常的程序 流的過程中,如需啟動(dòng)協(xié)處理器N進(jìn)行某種特定的操作,則將命令字R 寫入命令字寄存器。其中命令字R定義了協(xié)處理器的操作類型及主處理器 指定的可以訪問的存儲(chǔ)器區(qū)域。與主處理器連接的N個(gè)協(xié)處理器,在未接 收到命令的時(shí)候,都處于命令查詢狀態(tài),不斷査詢命令字寄存器。如協(xié)處 理器中的某個(gè)協(xié)處理器N查詢到命令字寄存器N中的值為其可識(shí)別并執(zhí)
行的協(xié)處理器指令R,則會(huì)返回命令接收狀態(tài)字,并且開始相應(yīng)的協(xié)處理 器操作。在協(xié)處理器N完成協(xié)處理器指令R定義的特定操作并且返回狀 態(tài)之前,主處理器不會(huì)啟動(dòng)其它的協(xié)處理器。這樣,在某一時(shí)刻最多只有 處理器和一個(gè)協(xié)處理器同時(shí)工作,不會(huì)出現(xiàn)多個(gè)協(xié)處理器同時(shí)工作的情 況,因此不會(huì)出現(xiàn)協(xié)處理器之間操作沖突的問題。
協(xié)處理器向主處理器返回狀態(tài)的過程是當(dāng)協(xié)處理器N發(fā)起向主處理 器的狀態(tài)返回的時(shí)候,協(xié)處理器N在將狀態(tài)字S寫入狀態(tài)字寄存器N后, 將中斷請(qǐng)求信號(hào)N置為有效以便處理器N能夠即時(shí)響應(yīng)并處理。其中狀 態(tài)字S中定義了協(xié)處理器N向主處理器返回的狀態(tài)。
主處理器在接收到中斷申請(qǐng)N后,由中斷控制器根據(jù)中斷屏蔽位以及 中斷優(yōu)先級(jí)等條件判斷是否接收該中斷。如接收中斷請(qǐng)求N,主處理器會(huì) 將中斷響應(yīng)信號(hào)N置為有效。處于中斷申請(qǐng)等待狀態(tài)的協(xié)處理器N檢測 到中斷響應(yīng)N信號(hào)有效后,撤銷中斷申請(qǐng)信號(hào)N。
基于圖1所示的本發(fā)明實(shí)現(xiàn)主處理器與N個(gè)協(xié)處理器接口與互連的系 統(tǒng)的示意圖,圖2示出了本發(fā)明提供的實(shí)現(xiàn)主處理器與一個(gè)協(xié)處理器接口 與互連的系統(tǒng)的示意圖。
主處理器和一個(gè)協(xié)處理器接口及互聯(lián)的結(jié)構(gòu)是圖1中的主處理器和N 個(gè)協(xié)處理器連接的結(jié)構(gòu)方式當(dāng)N二1時(shí)的特殊情況。在主處理器和N個(gè)協(xié) 處理器接口及互聯(lián)的結(jié)構(gòu)中,多個(gè)協(xié)處理器不會(huì)同時(shí)工作。在某一個(gè)時(shí)刻 最多只有主處理器和一個(gè)協(xié)處理器同時(shí)并行工作。協(xié)處理器和協(xié)處理器間 也不存在數(shù)據(jù)通訊,協(xié)處理器間也不會(huì)出現(xiàn)資源訪問沖突等情況。因此, 在主處理器和一個(gè)協(xié)處理器接口及互聯(lián)的結(jié)構(gòu)中主處理器與協(xié)處理器間
的通訊方式與主處理器和N個(gè)協(xié)處理器接口及互聯(lián)的結(jié)構(gòu)中的完全一致。
基于圖1所示的本發(fā)明實(shí)現(xiàn)主處理器與N個(gè)協(xié)處理器接口與互連的系 統(tǒng)的示意圖,以及圖2所示的本發(fā)明實(shí)現(xiàn)主處理器與一個(gè)協(xié)處理器接口與 互連的系統(tǒng)的示意圖,圖3示出了本發(fā)明提供的實(shí)現(xiàn)主處理器與協(xié)處理器 接口與互連總體技術(shù)方案的實(shí)現(xiàn)流程圖,該方法包括以下步驟
步驟301:主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ) 器中的指定存儲(chǔ)區(qū)域,并向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令;
步驟302:協(xié)處理器接收到啟動(dòng)指令后向主處理器返回命令接收狀態(tài) 字,訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域獲取主處理器寫入的數(shù)據(jù), 執(zhí)行啟動(dòng)指令中定義的操作;
步驟303:協(xié)處理器完成指令中定義的操作后向主處理器返回命令完
成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果。
上述步驟301中所述主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口
數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,是通過主處理器數(shù)據(jù)總線與雙端口數(shù)據(jù)存 儲(chǔ)器的一個(gè)數(shù)據(jù)訪問端口訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域?qū)崿F(xiàn) 的。
上述步驟301中所述主處理器向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令包 括主處理器通過命令字寄存器向協(xié)處理器發(fā)送至少攜帶有執(zhí)行定義操作 和訪問指定存儲(chǔ)區(qū)域信息的協(xié)處理器啟動(dòng)指令。
上述步驟302中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字是通過 狀態(tài)字寄存器返回的。
上述步驟302中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字后進(jìn)一 步包括主處理器根據(jù)接收的命令接收狀態(tài)字執(zhí)行正常的程序流。
上述步驟303中協(xié)處理器完成指令中定義的操作后,主處理器可以通
過以下兩種方式獲取執(zhí)行結(jié)果
方式一、協(xié)處理器完成指令中定義的操作后進(jìn)一步將執(zhí)行結(jié)果攜帶在 命令完成狀態(tài)字中,所述協(xié)處理器向主處理器返回命令完成狀態(tài)字,主處
理器獲取協(xié)處理器的執(zhí)行結(jié)果包括
步驟3031:協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送攜帶有執(zhí)行結(jié)
果的命令完成狀態(tài)字;
步驟3032:主處理器接收到協(xié)處理器發(fā)送的命令完成狀態(tài)字,從命令
完成狀態(tài)字中獲取協(xié)處理器返回的執(zhí)行結(jié)果。
方式二、協(xié)處理器完成指令中定義的操作后進(jìn)一步將執(zhí)行結(jié)果數(shù)據(jù)寫 入雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,所述協(xié)處理器向主處理器返回命
令完成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果包括
步驟3031':協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送命令完成狀 態(tài)字;
步驟3032':主處理器接收到命令完成狀態(tài)字,訪問雙端口數(shù)據(jù)存儲(chǔ)
器中的指定存儲(chǔ)區(qū)域,獲取協(xié)處理器寫入的執(zhí)行結(jié)果數(shù)據(jù)。
下面,基于圖3所示的本發(fā)明提供的實(shí)現(xiàn)主處理器與協(xié)處理器接口與 互連總體技術(shù)方案的實(shí)現(xiàn)流程圖,以圖2所示的主處理器和一個(gè)協(xié)處理器 接口及互連的系統(tǒng)為例,詳細(xì)說明本發(fā)明中的處理器與協(xié)處理器的接口及 互聯(lián)的方法。
如圖4所示,圖4為依照本發(fā)明第一個(gè)實(shí)施例實(shí)現(xiàn)主處理器與協(xié)處理
器接口與互連的方法流程圖,該方法的具體實(shí)施步驟如下 步驟401:開始。
步驟402:發(fā)送協(xié)處理器啟動(dòng)指令。即主處理器通過命令字寄存器向 協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令R,協(xié)處理器啟動(dòng)指令R定義了協(xié)處理器
需要執(zhí)行的具體操作,并且指定了協(xié)處理器可以訪問的數(shù)據(jù)存儲(chǔ)器區(qū)域。
步驟403:返回命令接收狀態(tài)字。即協(xié)處理器通過狀態(tài)字寄存器向主 處理器發(fā)送命令接收狀態(tài)字S,同時(shí)置中斷請(qǐng)求信號(hào)有效,標(biāo)識(shí)協(xié)處理器 已經(jīng)接收協(xié)處理器啟動(dòng)指令,開始進(jìn)行協(xié)處理器指令R所定義的操作處 理。
步驟404:撤銷協(xié)處理器啟動(dòng)指令。即主處理器接收中斷請(qǐng)求信號(hào)有 效,進(jìn)入此外部中斷對(duì)應(yīng)的中斷服務(wù)程序,接收狀態(tài)字寄存器中的狀態(tài)字, 如果狀態(tài)字為命令接收狀態(tài)字S,則撤銷協(xié)處理器啟動(dòng)指令,主處理器開 始執(zhí)行正常的程序流,但不能對(duì)協(xié)處理器正在訪問的數(shù)據(jù)存儲(chǔ)器區(qū)域進(jìn)行 訪問。
步驟405:返回命令完成狀態(tài)字。即協(xié)處理器完成協(xié)處理器指令R所 定義的操作后,將執(zhí)行結(jié)果攜帶在命令完成狀態(tài)字U中,通過狀態(tài)字寄存 器向主處理器發(fā)送命令完成狀態(tài)字U,同時(shí)置中斷請(qǐng)求信號(hào)有效,標(biāo)識(shí)協(xié)
處理器已經(jīng)完成協(xié)處理器指令R所定義的操作,通過命令完成狀態(tài)字U
返回操作完成后需要返回的執(zhí)行結(jié)果信息。
步驟406:接收命令完成狀態(tài)字。即主處理器接收中斷請(qǐng)求信號(hào)有效,
進(jìn)入中斷對(duì)應(yīng)的中斷服務(wù)程序,接收狀態(tài)字寄存器中的命令完成狀態(tài)字u,
并主處理器從命令完成狀態(tài)字u中提取出所需要的協(xié)處理器返回的執(zhí)行
結(jié)果信息。
在本步驟中,主處理器只有接收到命令完成狀態(tài)字u后,才能對(duì)雙端
口數(shù)據(jù)存儲(chǔ)器中的特定存儲(chǔ)區(qū)域進(jìn)行訪問。
步驟407:結(jié)束。協(xié)處理器執(zhí)行的一個(gè)輪回結(jié)束。
在本發(fā)實(shí)施例的步驟405中,協(xié)處理器完成協(xié)處理器指令R所定義的 操作后,將執(zhí)行結(jié)果攜帶在命令完成狀態(tài)字U中,通過狀態(tài)字寄存器向主 處理器發(fā)送命令完成狀態(tài)字U,同時(shí)置中斷請(qǐng)求信號(hào)有效,標(biāo)識(shí)協(xié)處理器 己經(jīng)完成協(xié)處理器指令R所定義的操作,通過命令完成狀態(tài)字U返回操 作完成后需要返回的執(zhí)行結(jié)果信息。在實(shí)際應(yīng)用中,協(xié)處理器也可以在完 成指令中定義的操作后進(jìn)一步將執(zhí)行結(jié)果數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中 的指定存儲(chǔ)區(qū)域。此時(shí),主處理器接收到協(xié)處理器返回的命令完成狀態(tài)字 后,可以通過訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域來獲取協(xié)處理器的 執(zhí)行結(jié)果信息。
上述過程具體可參見圖5,圖5為依照本發(fā)明第二個(gè)實(shí)施例實(shí)現(xiàn)主處 理器與協(xié)處理器接口與互連的方法流程圖,該方法的具體實(shí)施步驟如下
步驟501:開始。
步驟502:發(fā)送協(xié)處理器啟動(dòng)指令。即主處理器通過命令字寄存器向
協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令R,協(xié)處理器啟動(dòng)指令R定義了協(xié)處理器 需要執(zhí)行的具體操作,并且指定了協(xié)處理器可以訪問的數(shù)據(jù)存儲(chǔ)器區(qū)域。
步驟503:返回命令接收狀態(tài)字。即協(xié)處理器通過狀態(tài)字寄存器向主
處理器發(fā)送命令接收狀態(tài)字S,同時(shí)置中斷請(qǐng)求信號(hào)有效,標(biāo)識(shí)協(xié)處理器 已經(jīng)接收協(xié)處理器啟動(dòng)指令,開始進(jìn)行協(xié)處理器指令R所定義的操作處
理。
步驟504:撤銷協(xié)處理器啟動(dòng)指令。即主處理器接收中斷請(qǐng)求信號(hào)有 效,進(jìn)入此外部中斷對(duì)應(yīng)的中斷服務(wù)程序,接收狀態(tài)字寄存器中的狀態(tài)字, 如果狀態(tài)字為命令接收狀態(tài)字S,則撤銷協(xié)處理器啟動(dòng)指令,主處理器開 始執(zhí)行正常的程序流,但不能對(duì)協(xié)處理器正在訪問的數(shù)據(jù)存儲(chǔ)器區(qū)域進(jìn)行 訪問。
步驟505:返回命令完成狀態(tài)字。即協(xié)處理器完成協(xié)處理器指令R所
定義的操作后,將執(zhí)行結(jié)果數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)
域,并通過狀態(tài)字寄存器向主處理器發(fā)送命令完成狀態(tài)字U,同時(shí)置中斷 請(qǐng)求信號(hào)有效,標(biāo)識(shí)協(xié)處理器已經(jīng)完成協(xié)處理器指令R所定義的操作。
步驟506:接收命令完成狀態(tài)字。即主處理器接收中斷請(qǐng)求信號(hào)有效, 進(jìn)入中斷對(duì)應(yīng)的中斷服務(wù)程序,接收狀態(tài)字寄存器中的命令完成狀態(tài)字U, 并根據(jù)接收的命令完成狀態(tài)字U訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū) 域,獲取協(xié)處理器寫入的執(zhí)行結(jié)果數(shù)據(jù)。
步驟507:結(jié)束。協(xié)處理器執(zhí)行的一個(gè)輪回結(jié)束。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行 了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而 已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng),包括一個(gè)主處理器和至少一個(gè)協(xié)處理器,其特征在于,該系統(tǒng)還包括雙端口數(shù)據(jù)存儲(chǔ)器,用于實(shí)現(xiàn)所述主處理器與至少一個(gè)協(xié)處理器之間的數(shù)據(jù)通訊;主處理器數(shù)據(jù)總線,用于連接所述主處理器與雙端口數(shù)據(jù)存儲(chǔ)器;協(xié)處理器數(shù)據(jù)總線,用于連接雙端口數(shù)據(jù)存儲(chǔ)器與所述至少一個(gè)協(xié)處理器;至少一個(gè)命令字寄存器,用于將接收自所述主處理器的指令發(fā)送給與自身連接的協(xié)處理器;至少一個(gè)狀態(tài)字寄存器,用于將接收自協(xié)處理器的狀態(tài)信息發(fā)送給所述主處理器。
2、 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系 統(tǒng),其特征在于,所述雙端口數(shù)據(jù)存儲(chǔ)器包括通過所述主處理器數(shù)據(jù)總線與主處理器連接的數(shù)據(jù)訪問端口;通過所述協(xié)處理器數(shù)據(jù)總線與至少一個(gè)協(xié)處理器連接的數(shù)據(jù)訪問端和與所述兩個(gè)數(shù)據(jù)訪問端口對(duì)應(yīng)的地址譯碼邏輯電路。
3、 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系 統(tǒng),其特征在于,所述雙端口數(shù)據(jù)存儲(chǔ)器的兩個(gè)數(shù)據(jù)訪問端口分別至少包 括時(shí)鐘信號(hào)、控制信號(hào)、地址信號(hào)和數(shù)據(jù)信號(hào)。
4、 根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng),其特征在于,所述主處理器通過與自身連接的數(shù)據(jù)訪問端口,以及協(xié)處理器通過與 自身連接的數(shù)據(jù)訪問端口,同時(shí)對(duì)雙端口數(shù)據(jù)存儲(chǔ)器的不同存儲(chǔ)區(qū)域進(jìn)行 讀操作或?qū)懖僮鳌?br>
5、 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系 統(tǒng),其特征在于,所述主處理器為哈佛結(jié)構(gòu)的主處理器;所述主處理器數(shù)據(jù)總線為哈佛結(jié)構(gòu)主處理器的數(shù)據(jù)總線,用于連接所 述哈佛結(jié)構(gòu)的主處理器與雙端口數(shù)據(jù)存儲(chǔ)器的一個(gè)數(shù)據(jù)訪問端口;所述協(xié)處理器數(shù)據(jù)總線用于連接所述至少一個(gè)協(xié)處理器與雙端口數(shù) 據(jù)存儲(chǔ)器的另一個(gè)數(shù)據(jù)訪問端口。
6、 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系 統(tǒng),其特征在于,所述命令字寄存器與協(xié)處理器一一對(duì)應(yīng);所述主處理器通過執(zhí)行寫操作對(duì)全部命令字寄存器進(jìn)行訪問,所述協(xié) 處理器通過執(zhí)行讀操作對(duì)與自身對(duì)應(yīng)的命令字寄存器進(jìn)行訪問。
7、 根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系 統(tǒng),其特征在于,所述狀態(tài)字寄存器與協(xié)處理器一一對(duì)應(yīng);所述主處理器通過執(zhí)行讀操作對(duì)全部狀態(tài)字寄存器進(jìn)行訪問,所述協(xié) 處理器通過執(zhí)行寫操作對(duì)與自身對(duì)應(yīng)的狀態(tài)字寄存器進(jìn)行訪問。
8、 一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方法,其特征在于, 該方法包括A、 主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的 指定存儲(chǔ)區(qū)域,并向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令;B、 協(xié)處理器接收到啟動(dòng)指令后向主處理器返回命令接收狀態(tài)字,訪 問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域獲取主處理器寫入的數(shù)據(jù),執(zhí)行啟 動(dòng)指令中定義的操作;C、 協(xié)處理器完成指令中定義的操作后向主處理器返回命令完成狀態(tài) 字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果。
9、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟A中所述主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入 雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,是通過主處理器數(shù)據(jù)總線與雙端口 數(shù)據(jù)存儲(chǔ)器的一個(gè)數(shù)據(jù)訪問端口訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū) 域?qū)崿F(xiàn)的。
10、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟A中所述主處理器向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令包括主處理器通過命令字寄存器向協(xié)處理器發(fā)送至少攜帶有執(zhí)行定義操 作和訪問指定存儲(chǔ)區(qū)域信息的協(xié)處理器啟動(dòng)指令。
11、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟B中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字 是通過狀態(tài)字寄存器返回的。
12、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟B中所述協(xié)處理器向主處理器返回命令接收狀態(tài)字后進(jìn)一步包括主處理器根據(jù)接收的命令接收狀態(tài)字執(zhí)行正常的程序流。
13、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟C中所述協(xié)處理器完成指令中定義的操作后進(jìn)一步 將執(zhí)行結(jié)果攜帶在命令完成狀態(tài)字中,步驟C中所述協(xié)處理器向主處理器返回命令完成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果包括Cl、協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送攜帶有執(zhí)行結(jié)果的命 令完成狀態(tài)字;C2、主處理器接收到協(xié)處理器發(fā)送的命令完成狀態(tài)字,從命令完成狀 態(tài)字中獲取協(xié)處理器返回的執(zhí)行結(jié)果。
14、 根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方 法,其特征在于,步驟C中所述協(xié)處理器完成指令中定義的操作后進(jìn)一步 將執(zhí)行結(jié)果數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,步驟C中所述協(xié)處理器向主處理器返回命令完成狀態(tài)字,主處理器獲 取協(xié)處理器的執(zhí)行結(jié)果包括cr、協(xié)處理器通過狀態(tài)字寄存器向主處理器發(fā)送命令完成狀態(tài)字;C2'、主處理器接收到命令完成狀態(tài)字,訪問雙端口數(shù)據(jù)存儲(chǔ)器中的 指定存儲(chǔ)區(qū)域,獲取協(xié)處理器寫入的執(zhí)行結(jié)果數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的系統(tǒng),包括主處理器、至少一個(gè)協(xié)處理器、雙端口數(shù)據(jù)存儲(chǔ)器、主處理器數(shù)據(jù)總線、協(xié)處理器數(shù)據(jù)總線、至少一個(gè)命令字寄存器和至少一個(gè)狀態(tài)字寄存器。本發(fā)明還公開了一種實(shí)現(xiàn)主處理器與協(xié)處理器接口與互連的方法,包括A.主處理器將需傳遞給協(xié)處理器的數(shù)據(jù)寫入雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域,并向協(xié)處理器發(fā)送協(xié)處理器啟動(dòng)指令;B.協(xié)處理器接收到啟動(dòng)指令后向主處理器返回命令接收狀態(tài)字,訪問雙端口數(shù)據(jù)存儲(chǔ)器中的指定存儲(chǔ)區(qū)域獲取主處理器寫入的數(shù)據(jù),執(zhí)行啟動(dòng)指令中定義的操作;C.協(xié)處理器完成指令中定義的操作后向主處理器返回命令完成狀態(tài)字,主處理器獲取協(xié)處理器的執(zhí)行結(jié)果。
文檔編號(hào)G06F13/38GK101097559SQ20061008945
公開日2008年1月2日 申請(qǐng)日期2006年6月28日 優(yōu)先權(quán)日2006年6月28日
發(fā)明者洋 劉, 莉 周, 杰 陳, 旭 馬, 健 高 申請(qǐng)人:中國科學(xué)院微電子研究所