主處理器與若干協(xié)處理器的嵌入式連接方法及連接接口的制作方法
【專利摘要】本發(fā)明提供了一種適于在單芯片系統(tǒng)內(nèi)的主處理器和若干協(xié)處理器之間實(shí)現(xiàn)指令控制和數(shù)據(jù)傳輸?shù)慕涌?,該接口至少包含并行的由主處理器發(fā)往若干協(xié)處理器的一套指令信號(hào),一套地址及寫數(shù)據(jù)信號(hào),和一套控制信號(hào);該接口還至少包含由協(xié)處理器發(fā)往主處理器的,經(jīng)過匯總電路合并的一套指令命中標(biāo)示信號(hào),一套數(shù)據(jù)信號(hào)和一套中斷請(qǐng)求信號(hào),協(xié)處理器還至少包含一整套片內(nèi)總線接口,能夠?qū)崿F(xiàn)對(duì)總線從設(shè)備的獨(dú)立訪問。本發(fā)明的優(yōu)點(diǎn)是:能夠兼顧主處理器和若干協(xié)處理器之間數(shù)據(jù)傳輸和處理效率,實(shí)現(xiàn)接口的通用性和可復(fù)用性,且軟件工具鏈友好的嵌入式主處理器和若干協(xié)處理器的連接。
【專利說明】主處理器與若干協(xié)處理器的嵌入式連接方法及連接接口
【技術(shù)領(lǐng)域】
[0001〕 本發(fā)明涉及集成電路中的嵌入式通用處理器接口【技術(shù)領(lǐng)域】,尤其是涉及一種通用的主處理器與若干協(xié)處理器的嵌入式連接方法及裝置。
【背景技術(shù)】
[0002]在集成電路中的嵌入式系統(tǒng)中,為了減輕通用主處理器的計(jì)算負(fù)擔(dān),或特意增強(qiáng)系統(tǒng)在某方面(如浮點(diǎn)運(yùn)算,圖像處理,加解密等)的處理能力,往往為通用主處理器配備一個(gè)或若干協(xié)處理器,也稱作加速處理單元。根據(jù)應(yīng)用目標(biāo)和應(yīng)用場(chǎng)合的不同,協(xié)處理器的功能和結(jié)構(gòu)往往相差較大,其與通用主處理器的接口也各有不同,尚沒有統(tǒng)一的業(yè)界標(biāo)準(zhǔn)或通用的連接方法。目前,通用主處理器和協(xié)處理器的連接方法,大致可以分為如下二種:
[0003]一是間接連接,即主處理器和協(xié)處理器間沒有指令和數(shù)據(jù)交互通道,兩者以相對(duì)獨(dú)立的方式連接在片內(nèi)總線上,各自獨(dú)立地從總線讀取指令,并獨(dú)立地對(duì)總線上的從設(shè)備進(jìn)行讀寫操作,兩種處理器往往使用不同的指令集,編譯工具鏈和調(diào)試工具鏈。兩個(gè)處理器間的數(shù)據(jù)交互是通過片內(nèi)總線和總線上掛載的從設(shè)備來中轉(zhuǎn)完成的。這種間接連接方式,其優(yōu)點(diǎn)是主處理器和協(xié)處理器選型靈活,只需要依照應(yīng)用目標(biāo)和處理器的性能指標(biāo)進(jìn)行獨(dú)立選型即可。其缺點(diǎn)是主處理器和協(xié)處理器間沒有數(shù)據(jù)直連通道,對(duì)于需要頻繁進(jìn)行數(shù)據(jù)交互的應(yīng)用場(chǎng)景,交互效率較低;同時(shí),在一套嵌入式系統(tǒng)中采用多套指令集,編譯工具鏈和調(diào)試工具鏈,對(duì)于系統(tǒng)的后續(xù)開發(fā)會(huì)帶來更大的成本和復(fù)雜度。
[0004]二是通用協(xié)處理器接口,即主處理器和協(xié)處理器間通過主處理器規(guī)定的一套通用數(shù)據(jù)通道進(jìn)行交互,協(xié)處理器沒有獨(dú)立的指令集,所有處理動(dòng)作受主處理器控制,主處理器通過其指令集規(guī)定的幾條數(shù)據(jù)傳輸指令,對(duì)協(xié)處理器的控制和狀態(tài)寄存器進(jìn)行讀寫操作,間接達(dá)到對(duì)協(xié)處理器進(jìn)行細(xì)粒度控制的效果。協(xié)處理器不需要自己的指令集,編譯工具鏈和調(diào)試工具鏈,但需要遵守主處理器規(guī)定的一套通用協(xié)處理器接口協(xié)議。協(xié)處理器沒有獨(dú)立的讀寫總線能力,所有的控制信息和數(shù)據(jù)流均由主處理器提供。這種通用協(xié)處理器接口的連接方式,其優(yōu)點(diǎn)是指令集只采用主處理器的指令集,編譯工具鏈和調(diào)試工具鏈即可,對(duì)于頻繁的數(shù)據(jù)交互也有較高的傳輸效率。其缺點(diǎn)是僅通過幾條數(shù)據(jù)傳輸指令,在實(shí)現(xiàn)對(duì)協(xié)處理器的復(fù)雜控制上,效率和靈活度都較低,從而間接導(dǎo)致協(xié)處理器無法高效完成一些較為復(fù)雜的計(jì)算任務(wù)。
[0005]三是專用的緊耦合協(xié)處理器接口,即主處理器和協(xié)處理器間通過主處理器規(guī)定的一整套專用的指令通道,數(shù)據(jù)通道和控制通道進(jìn)行交互。協(xié)處理器可以自行解碼主處理器發(fā)出的指令,并獨(dú)立完成指令規(guī)定的運(yùn)算和控制任務(wù);協(xié)處理器的數(shù)據(jù)一般通過獨(dú)立的數(shù)據(jù)通道接入主處理器的總線讀寫通道,使協(xié)處理器具有獨(dú)立且高效的總線讀寫能力。此外緊耦合的特點(diǎn)還體現(xiàn)在主處理器和協(xié)處理器控制流的同步上,通過獨(dú)立的控制通道,主處理器的一系列控制和狀態(tài)信息,如清空流水線,中斷,跳轉(zhuǎn),停機(jī)等,會(huì)傳遞到協(xié)處理器內(nèi)部,并影響協(xié)處理器的執(zhí)行進(jìn)程,達(dá)到兩個(gè)處理器同步并行的控制效果。專用的緊耦合協(xié)處理器接口的連接方式,其優(yōu)點(diǎn)是最大限度地提高了協(xié)處理器的數(shù)據(jù)傳輸和處理效率,且只需要支持指令擴(kuò)展的一套編譯工具鏈和調(diào)試工具鏈。其缺點(diǎn)是專用接口連接信號(hào)多,協(xié)議復(fù)雜,且主處理器和協(xié)處理器的內(nèi)部電路都需要針對(duì)專用接口進(jìn)行改動(dòng),降低了主處理器和協(xié)處理器模塊的可復(fù)用性,并延長了嵌入式系統(tǒng)的開發(fā)周期。
[0006]當(dāng)主處理器需要與若干相同或不同的協(xié)處理器進(jìn)行交互時(shí),數(shù)據(jù)傳輸效率,接口的通用性和可復(fù)用性,以及軟件工具鏈友好性的要求就更高。
[0007]綜上所述,設(shè)計(jì)一套能夠兼顧數(shù)據(jù)傳輸和處理效率,可復(fù)用性強(qiáng),且軟件工具鏈友好的嵌入式主處理器和若干協(xié)處理器的連接方法,是嵌入式通用處理器接口【技術(shù)領(lǐng)域】的一個(gè)重要課題。
【發(fā)明內(nèi)容】
[0008]本發(fā)明要解決的問題是提供一種通用的主處理器與若干協(xié)處理器的嵌入式連接方法及連接接口。
[0009]為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:
[0010]主處理器與若干協(xié)處理器的嵌入式連接方法,包含:
[0011]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的指令信息,供相關(guān)的協(xié)處理器收取和解析,指令信息為一組既定的指令集;
[0012]將各協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)經(jīng)過匯總合為一位總標(biāo)志信息送往主處理器,只能有一個(gè)協(xié)處理器的指令命中標(biāo)志信號(hào)為有效值;
[0013]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的地址信息,供相關(guān)的協(xié)處理器收取和解析,地址信息為一組既定的地址編碼,每個(gè)地址編碼對(duì)應(yīng)若干協(xié)處理器中的一組或多組可訪問的寄存器;
[0014]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的數(shù)據(jù)信息,供相關(guān)的協(xié)處理器收??;
[0015]若干協(xié)處理器發(fā)出的并行數(shù)據(jù)信息經(jīng)過匯總合并為一組并行數(shù)據(jù)送往主處理器,同一時(shí)刻只能有一個(gè)協(xié)處理器的數(shù)據(jù)信號(hào)為有效值;
[0016]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的控制信息,供相關(guān)的協(xié)處理器收?。?br>
[0017]各協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)經(jīng)過匯總合并為一位總中斷請(qǐng)求信號(hào)送往主處理器,同一時(shí)刻允許有多個(gè)協(xié)處理器的中斷請(qǐng)求信號(hào)為有效值;
[0018]每個(gè)協(xié)處理器通過一套獨(dú)立的片內(nèi)總線讀寫接口可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;以及
[0019]主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
[0020]主處理器與若干協(xié)處理器的嵌入式連接接口,包括主處理器、若干協(xié)處理器和所述主處理器與協(xié)處理器之間傳輸數(shù)據(jù)的接口,所述接口包括:
[0021]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的指令信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出指令信息;
[0022]對(duì)于每個(gè)協(xié)處理器,至少有一個(gè)由協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)接口,若干協(xié)處理器的命中標(biāo)志信號(hào)經(jīng)標(biāo)志匯總電路合并后,由主處理器進(jìn)行接收;
[0023]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的地址信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出地址信息;
[0024]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出數(shù)據(jù)信息;
[0025]對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接口,若干協(xié)處理器的并行數(shù)據(jù)信號(hào)經(jīng)回讀數(shù)據(jù)匯總電路合并后,由主處理器進(jìn)行接收;
[0026]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的控制信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出若干控制信號(hào);
[0027]對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)接口,若干協(xié)處理器的中斷請(qǐng)求信號(hào)經(jīng)中斷匯總電路合并后,由主處理器進(jìn)行接收;
[0028]對(duì)于每個(gè)協(xié)處理器,有一套獨(dú)立的片內(nèi)總線讀寫接口,通過該接口各協(xié)處理器可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;
[0029]主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
[0030]進(jìn)一步的,所述主處理器內(nèi)部結(jié)構(gòu)包括:
[0031]主處理器的內(nèi)核電路,主要實(shí)現(xiàn)通用處理器常規(guī)的計(jì)算和控制功能;
[0032]指令廣播單元,負(fù)責(zé)將主處理器每條指令周期內(nèi)新取得的指令,以并行信號(hào)的形式廣播到主處理器外部;
[0033]指令命中監(jiān)測(cè)單元,負(fù)責(zé)判斷匯總后的指令命中標(biāo)志信息是否為有效值,如被判斷為無效值,則負(fù)責(zé)向內(nèi)核電路發(fā)起本條指令為非法指令的標(biāo)示信號(hào);
[0034]協(xié)處理器寄存器讀寫控制單元,負(fù)責(zé)將內(nèi)核電路發(fā)起的對(duì)某個(gè)或多個(gè)協(xié)處理器的內(nèi)部寄存器的寫操作或讀操作轉(zhuǎn)化為對(duì)多個(gè)接口信號(hào)的一系列控制;
[0035]協(xié)處理器控制單元,負(fù)責(zé)將對(duì)協(xié)處理器的控制信息以信號(hào)的形式廣播到主處理器外部;
[0036]中斷請(qǐng)求收集單元,負(fù)責(zé)接收經(jīng)過匯總的中斷請(qǐng)求信號(hào),并將有效的中斷請(qǐng)求傳遞給內(nèi)核電路。
[0037]進(jìn)一步的,所述協(xié)處理器內(nèi)部結(jié)構(gòu)包括:
[0038]協(xié)處理器內(nèi)核電路,主要實(shí)現(xiàn)指令的執(zhí)行和數(shù)據(jù)的存取處理功能;
[0039]指令接收和判別單元,負(fù)責(zé)接收主處理器發(fā)出的指令廣播信號(hào),并進(jìn)行譯碼,如果經(jīng)譯碼后,確認(rèn)為本協(xié)處理器可執(zhí)行指令,則控制指令命中標(biāo)志信號(hào)輸出有效值,否則輸出無效值;
[0040]本地寄存器讀寫控制單元,負(fù)責(zé)接收主處理器發(fā)出的地址廣播信號(hào)并進(jìn)行地址判另I」,如果經(jīng)判別確認(rèn)該地址指向本協(xié)處理器的某個(gè)可訪問寄存器,則依據(jù)讀寫控制信息控制該寄存器與并行讀寫數(shù)據(jù)接口進(jìn)行對(duì)應(yīng)的數(shù)據(jù)存??;否則控制并行讀數(shù)據(jù)接口輸出無效值;
[0041]控制信息接收單元,負(fù)責(zé)接收主處理器發(fā)出的控制廣播信號(hào),并進(jìn)行有效控制信息提取,并將提取的有效控制信息轉(zhuǎn)發(fā)給協(xié)處理器內(nèi)核電路;
[0042]中斷請(qǐng)求發(fā)送單元,負(fù)責(zé)實(shí)時(shí)偵測(cè)協(xié)處理器內(nèi)核電路是否有任何異常發(fā)生,如果有異常則控制中斷請(qǐng)求接口信號(hào)輸出有效值。
[0043]本發(fā)明具有的優(yōu)點(diǎn)和積極效果是:
[0044]本發(fā)明方法和裝置提供的主處理器與若干協(xié)處理器的連接方式均能夠兼顧主處理器和若干協(xié)處理器之間數(shù)據(jù)傳輸和處理效率,實(shí)現(xiàn)接口的通用性和可復(fù)用性,且軟件工具鏈友好的嵌入式主處理器和若干協(xié)處理器的連接。
【專利附圖】
【附圖說明】
[0045]圖1是本發(fā)明的一個(gè)實(shí)施方式的主處理器與若干協(xié)處理器的連接裝置結(jié)構(gòu)示意圖;
[0046]圖2是本發(fā)明的一個(gè)實(shí)施方式的主處理器與若干協(xié)處理器的連接信號(hào)的構(gòu)成圖;
[0047]圖3是本發(fā)明的一個(gè)實(shí)施方式的主處理器內(nèi)部結(jié)構(gòu)示意圖;
[0048]圖4是本發(fā)明的一個(gè)實(shí)施方式的協(xié)處理器內(nèi)部結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0049]本發(fā)明的核心思想是主處理器和若干協(xié)處理器之間設(shè)置直接連接的若干組接口,從而實(shí)現(xiàn)指令和控制信息的廣播以及數(shù)據(jù)的雙向交互;同時(shí)對(duì)于每個(gè)協(xié)處理器,有一套獨(dú)立的片內(nèi)總線讀寫接口,通過該接口各協(xié)處理器可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
[0050]本發(fā)明的實(shí)施例以如圖1所示的嵌入式系統(tǒng)1000為例,所述嵌入式系統(tǒng)1000為包括一個(gè)主處理器1200、若干協(xié)處理器1300、若干組主處理器與協(xié)處理器間的接口 1100、芯片內(nèi)系統(tǒng)總線1400、以及若干總線從設(shè)備1500的單芯片系統(tǒng);主處理器1200,為通用的嵌入式處理器,負(fù)責(zé)完成單芯片系統(tǒng)的大部分控制和計(jì)算任務(wù);若干協(xié)處理器1300,為協(xié)助主處理器1200完成特定功能的加速計(jì)算電路,此處所指的特定功能,如圖形圖像處理、信號(hào)處理、加解密運(yùn)算、浮點(diǎn)運(yùn)算、向量運(yùn)算等;若干協(xié)處理器1300的具體數(shù)量和功能根據(jù)單芯片系統(tǒng)的應(yīng)用場(chǎng)景進(jìn)行選定。同時(shí),主處理器1200和若干協(xié)處理器1300各自獨(dú)立地連接到芯片內(nèi)系統(tǒng)總線1400上,本發(fā)明對(duì)芯片內(nèi)系統(tǒng)總線1400具體采用哪種通用的總線協(xié)議不進(jìn)行限定,通過芯片內(nèi)系統(tǒng)總線1400,主處理器1200和若干協(xié)處理器1300可以獨(dú)立地訪問總線1400上掛載的若干從設(shè)備1500。此處所指的總線訪問,在具體實(shí)施上,為對(duì)總線若干從設(shè)備1500的讀寫操作,又稱為存取操作。其中主處理器1200和若干協(xié)處理器1300,米用相同的輸入時(shí)鐘1001和相同的輸入復(fù)位信號(hào)1002。
[0051]本發(fā)明的主處理器與若干協(xié)處理器的嵌入式連接方法,如圖2所示,包含:
[0052]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的指令信息1101,所述指令信號(hào)1101,為一套由主處理器1200發(fā)出的并行信號(hào),該套指令信號(hào)1101以廣播的方式同時(shí)向每個(gè)協(xié)處理器1300發(fā)出相同的指令信息,供相關(guān)的協(xié)處理器1300收取和解析,該指令信息為一組既定的指令集;在本實(shí)施例中為?0861~13八指令集中的指令子集,該組既定的指令集必須可以被與主處理器1200配套的軟件編譯和調(diào)試工具鏈正確的識(shí)別和解析;
[0053]將各協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)1302經(jīng)過匯總合為一位總標(biāo)志信息1102送往主處理器,所述總標(biāo)志信息1102,為一組由各協(xié)處理器1300發(fā)出的指令命中標(biāo)志信號(hào)1302經(jīng)過匯總合并后的信號(hào),同一時(shí)刻,只能有一個(gè)協(xié)處理器1300的標(biāo)志信號(hào)為有效值,而其余協(xié)處理器1300的標(biāo)志信號(hào)均為無效值。在本實(shí)施例中,有效值為高電平,無效值為低電平,各指令命中標(biāo)志信號(hào)1302,需經(jīng)過標(biāo)志匯總電路1112的處理,合并為一位總標(biāo)志信息送往主處理器1200 ;
[0054]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的地址信息1103,供相關(guān)的協(xié)處理器收取和解析,地址信息1103為一組既定的地址編碼,每個(gè)編碼對(duì)應(yīng)若干協(xié)處理器1300中的一組或多組可訪問的寄存器;此處所指的寄存器訪問,在具體實(shí)施上,為對(duì)寄存器的讀寫操作,又稱為存取操作。
[0055]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的數(shù)據(jù)信息1104,供相關(guān)的協(xié)處理器收??;
[0056]若干協(xié)處理器發(fā)出的并行數(shù)據(jù)信息1305經(jīng)過匯總合并為一組并行數(shù)據(jù)信息1105送往主處理器,同一時(shí)刻只能有一個(gè)協(xié)處理器1300的數(shù)據(jù)信號(hào)為有效值,而其余協(xié)處理器1300的數(shù)據(jù)信號(hào)均為無效值;此實(shí)施例中的有效值為非零數(shù)據(jù),無效值為全零數(shù)據(jù),各并行數(shù)據(jù)信號(hào)1305,需經(jīng)過數(shù)據(jù)匯總電路1115的處理,合并為一組并行數(shù)據(jù)送往主處理器1200 ;
[0057]主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的控制信息1106,供相關(guān)的協(xié)處理器收??;此實(shí)施例中控制信息1106至少包括讀寫標(biāo)志信號(hào)和暫停標(biāo)志信號(hào)。
[0058]各協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)1307經(jīng)過匯總合并為一位總中斷請(qǐng)求信號(hào)1107送往主處理器,同一時(shí)刻允許有多個(gè)協(xié)處理器1300的中斷請(qǐng)求信號(hào)為有效值;在本實(shí)施例中,有效值為高電平,各中斷請(qǐng)求信號(hào)1307需經(jīng)過中斷匯總電路1117的處理,合并為一位總中斷請(qǐng)求信號(hào)送往主處理器1200。
[0059]每個(gè)協(xié)處理器通過一套獨(dú)立的片內(nèi)總線讀寫接口可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;以及
[0060]主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
[0061]本發(fā)明的主處理器與若干協(xié)處理器的嵌入式連接接口的具體實(shí)施例做詳細(xì)說明如下:所述接口包括:
[0062]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的指令信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出指令信息;
[0063]對(duì)于每個(gè)協(xié)處理器,至少有一個(gè)由協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)接口,若干協(xié)處理器的命中標(biāo)志信號(hào)經(jīng)標(biāo)志匯總電路合并后,由主處理器進(jìn)行接收;
[0064]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的地址信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出地址信息;
[0065]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出數(shù)據(jù)信息;
[0066]對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接口,若干協(xié)處理器的并行數(shù)據(jù)信號(hào)經(jīng)回讀數(shù)據(jù)匯總電路合并后,由主處理器進(jìn)行接收;
[0067]對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的控制信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出若干控制信號(hào);
[0068]對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)接口,若干協(xié)處理器的中斷請(qǐng)求信號(hào)經(jīng)中斷匯總電路合并后,由主處理器進(jìn)行接收;
[0069]對(duì)于每個(gè)協(xié)處理器,有一套獨(dú)立的片內(nèi)總線讀寫接口,通過該接口各協(xié)處理器可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;
[0070]主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
[0071]本發(fā)明的一個(gè)實(shí)施例的主處理器1200內(nèi)部結(jié)構(gòu)如圖3所示,其中,主處理器內(nèi)核電路1210,主要實(shí)現(xiàn)取指令、譯碼、執(zhí)行、存取數(shù)據(jù)等通用處理器常規(guī)的計(jì)算和控制功能,除了主處理器內(nèi)核電路1210外,主處理器中與協(xié)處理器接口的相關(guān)電路應(yīng)至少包括如下部分:
[0072]指令廣播單元1221,負(fù)責(zé)將在主處理器每條指令周期內(nèi)新取得的指令,以并行信號(hào)1101的形式廣播到主處理器外部;
[0073]指令命中監(jiān)測(cè)單元1222,負(fù)責(zé)判斷匯總后的指令命中標(biāo)志信息1102是否為有效值,如被判斷為無效值,則負(fù)責(zé)向主處理器內(nèi)核電路1210發(fā)起本條指令為非法指令的標(biāo)不信號(hào);
[0074]協(xié)處理器寄存器讀寫控制單元1223,負(fù)責(zé)將主處理器內(nèi)核電路1210發(fā)起的對(duì)某個(gè)或多個(gè)協(xié)處理器的內(nèi)部寄存器的寫操作,轉(zhuǎn)化為對(duì)多個(gè)接口信號(hào)的一系列控制;在此實(shí)施例中,所指的一系列控制至少包括如下動(dòng)作:在并行地址信號(hào)1103上進(jìn)行地址信息的廣播,在并行數(shù)據(jù)信號(hào)1104上進(jìn)行待寫數(shù)據(jù)的廣播,以及將控制信號(hào)1106中的讀寫標(biāo)示信號(hào)設(shè)置為寫標(biāo)示;
[0075]此外協(xié)處理器寄存器讀寫控制單元1223,還負(fù)責(zé)將主處理器內(nèi)核電路1210發(fā)起的對(duì)某個(gè)協(xié)處理器的內(nèi)部寄存器的讀操作轉(zhuǎn)化為對(duì)多個(gè)接口信號(hào)的一系列控制;在此實(shí)施例中,所指的一系列控制至少包括如下動(dòng)作:在并行地址信號(hào)1103上進(jìn)行地址信息的廣播,將控制信號(hào)1106中的讀寫標(biāo)示信號(hào)設(shè)置為讀標(biāo)示,以及從匯總后的并行數(shù)據(jù)信號(hào)1105上接收回讀的有效數(shù)據(jù),并傳遞給主處理器內(nèi)核電路1210 ;
[0076]協(xié)處理器控制單兀1226,負(fù)責(zé)將對(duì)協(xié)處理器的控制信息以信號(hào)1106的形式廣播到主處理器外部。此實(shí)施例中的控制信息具體指協(xié)處理器停機(jī)信息;
[0077]中斷請(qǐng)求收集單元1227,負(fù)責(zé)接收經(jīng)過匯總的中斷請(qǐng)求信號(hào)1107,并將有效的中斷請(qǐng)求傳遞給主處理器內(nèi)核電路1210。
[0078]本發(fā)明的一個(gè)實(shí)施方式的協(xié)處理器1300內(nèi)部結(jié)構(gòu)如圖4所示:
[0079]協(xié)處理器內(nèi)核電路1310,主要實(shí)現(xiàn)指令的執(zhí)行和數(shù)據(jù)的存取等協(xié)處理器數(shù)據(jù)處理功能;協(xié)處理器中與主處理器接口的相關(guān)電路應(yīng)至少包括如下部分:
[0080]指令接收和判別單元1321,負(fù)責(zé)接收主處理器發(fā)出的指令廣播信號(hào)1101,并進(jìn)行譯碼,如果經(jīng)譯碼后,確認(rèn)該廣播指令為本協(xié)處理器可執(zhí)行的指令,則控制指令命中標(biāo)志信號(hào)1302輸出有效值,如果未能確認(rèn)該廣播指令為本協(xié)處理可執(zhí)行的指令,則控制指令命中標(biāo)志信號(hào)1302輸出無效值;
[0081]本地寄存器讀寫控制單元1323,負(fù)責(zé)接收主處理器發(fā)出的地址廣播信號(hào)1103,并進(jìn)行地址判別,如果經(jīng)判別確認(rèn)該地址指向本協(xié)處理器的某個(gè)可訪問寄存器,則依據(jù)1106的讀寫控制信息,控制該寄存器與并行讀寫數(shù)據(jù)接口 1104或1305進(jìn)行對(duì)應(yīng)的數(shù)據(jù)存?。蝗绻?jīng)判別確認(rèn)該地址不指向本協(xié)處理器的任何可訪問寄存器,則控制并行讀數(shù)據(jù)接口1305輸出無效值;
[0082]控制信息接收單元1326,負(fù)責(zé)接收主處理器發(fā)出的控制廣播信號(hào)1106,并進(jìn)行有效控制信息提取,并將提取的有效控制信息轉(zhuǎn)發(fā)給協(xié)處理器內(nèi)核電路1310 ;此實(shí)施例中控制信息具體指讀寫控制信息和停機(jī)控制信息;
[0083]中斷請(qǐng)求發(fā)送單元1327,負(fù)責(zé)實(shí)時(shí)偵測(cè)協(xié)處理器內(nèi)核電路1310是否有任何異常發(fā)生,如果發(fā)生異常,則控制中斷請(qǐng)求接口信號(hào)1307輸出有效值。
[0084]以上對(duì)本發(fā)明的實(shí)施例進(jìn)行了詳細(xì)說明,但所述內(nèi)容僅為本發(fā)明的較佳實(shí)施例,不能被認(rèn)為用于限定本發(fā)明的實(shí)施范圍。凡依本發(fā)明申請(qǐng)范圍所作的均等變化與改進(jìn)等,均應(yīng)仍歸屬于本發(fā)明的專利涵蓋范圍之內(nèi)。
【權(quán)利要求】
1.主處理器與若干協(xié)處理器的嵌入式連接方法,其特征在于包含: 主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的指令信息,供相關(guān)的協(xié)處理器收取和解析,指令信息為一組既定的指令集; 將各協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)經(jīng)過匯總合為一位總標(biāo)志信息送往主處理器,只能有一個(gè)協(xié)處理器的指令命中標(biāo)志信號(hào)為有效值; 主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的地址信息,供相關(guān)的協(xié)處理器收取和解析,地址信息為一組既定的地址編碼,每個(gè)地址編碼對(duì)應(yīng)若干協(xié)處理器中的一組或多組可訪問的寄存器; 主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的數(shù)據(jù)信息,供相關(guān)的協(xié)處理器收??; 若干協(xié)處理器發(fā)出的并行數(shù)據(jù)信息經(jīng)過匯總合并為一組并行數(shù)據(jù)送往主處理器,同一時(shí)刻只能有一個(gè)協(xié)處理器的數(shù)據(jù)信號(hào)為有效值; 主處理器以廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出相同的并行的控制信息,供相關(guān)的協(xié)處理器收??; 各協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)經(jīng)過匯總合并為一位總中斷請(qǐng)求信號(hào)送往主處理器,同一時(shí)刻允許有多個(gè)協(xié)處理器的中斷請(qǐng)求信號(hào)為有效值; 每個(gè)協(xié)處理器通過一套獨(dú)立的片內(nèi)總線讀寫接口可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備;以及 主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
2.主處理器與若干協(xié)處理器嵌入式連接的接口,其特征在于所述接口包括: 對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的指令信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出指令信息; 對(duì)于每個(gè)協(xié)處理器,至少有一個(gè)由協(xié)處理器發(fā)出的指令命中標(biāo)志信號(hào)接口,若干協(xié)處理器的命中標(biāo)志信號(hào)經(jīng)標(biāo)志匯總電路合并后,由主處理器進(jìn)行接收; 對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的地址信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出地址信息; 對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出數(shù)據(jù)信息; 對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的并行的數(shù)據(jù)信號(hào)接口,若干協(xié)處理器的并行數(shù)據(jù)信號(hào)經(jīng)回讀數(shù)據(jù)匯總電路合并后,由主處理器進(jìn)行接收; 對(duì)于每個(gè)協(xié)處理器,至少有一套由主處理器發(fā)出的控制信號(hào)接收接口,主處理器通過廣播的方式同時(shí)向每個(gè)協(xié)處理器發(fā)出若干控制信號(hào); 對(duì)于每個(gè)協(xié)處理器,至少有一套由協(xié)處理器發(fā)出的中斷請(qǐng)求信號(hào)接口,若干協(xié)處理器的中斷請(qǐng)求信號(hào)經(jīng)中斷匯總電路合并后,由主處理器進(jìn)行接收; 對(duì)于每個(gè)協(xié)處理器,有一套獨(dú)立的片內(nèi)總線讀寫接口,通過該接口各協(xié)處理器可以自主地訪問片內(nèi)總線上的各個(gè)從設(shè)備; 主處理器和所有協(xié)處理器共享同一個(gè)時(shí)鐘和外部復(fù)位信號(hào)。
3.根據(jù)權(quán)利要求2所述的主處理器與若干協(xié)處理器的嵌入式連接接口,其特征在于:所述主處理器內(nèi)部結(jié)構(gòu)包括: 主處理器的內(nèi)核電路,主要實(shí)現(xiàn)通用處理器常規(guī)的計(jì)算和控制功能; 指令廣播單元,負(fù)責(zé)將主處理器每條指令周期內(nèi)新取得的指令,以并行信號(hào)的形式廣播到主處理器外部; 指令命中監(jiān)測(cè)單元,負(fù)責(zé)判斷匯總后的指令命中標(biāo)志信息是否為有效值,如被判斷為無效值,則負(fù)責(zé)向內(nèi)核電路發(fā)起本條指令為非法指令的標(biāo)示信號(hào); 協(xié)處理器寄存器讀寫控制單元,負(fù)責(zé)將內(nèi)核電路發(fā)起的對(duì)某個(gè)或多個(gè)協(xié)處理器的內(nèi)部寄存器的寫操作或讀操作轉(zhuǎn)化為對(duì)多個(gè)接口信號(hào)的一系列控制; 協(xié)處理器控制單元,負(fù)責(zé)將對(duì)協(xié)處理器的控制信息以信號(hào)的形式廣播到主處理器外部; 中斷請(qǐng)求收集單元,負(fù)責(zé)接收經(jīng)過匯總的中斷請(qǐng)求信號(hào),并將有效的中斷請(qǐng)求傳遞給內(nèi)核電路。
4.根據(jù)權(quán)利要求2或3所述的主處理器與若干協(xié)處理器的嵌入式連接接口,其特征在于所述協(xié)處理器內(nèi)部結(jié)構(gòu)包括: 協(xié)處理器內(nèi)核電路,主要實(shí)現(xiàn)指令的執(zhí)行和數(shù)據(jù)的存取處理功能; 指令接收和判別單元,負(fù)責(zé)接收主處理器發(fā)出的指令廣播信號(hào),并進(jìn)行譯碼,如果經(jīng)譯碼后,確認(rèn)為本協(xié)處理器可執(zhí)行指令,則控制指令命中標(biāo)志信號(hào)輸出有效值,否則輸出無效值; 本地寄存器讀寫控制單元,負(fù)責(zé)接收主處理器發(fā)出的地址廣播信號(hào)并進(jìn)行地址判別,如果經(jīng)判別確認(rèn)該地址指向本協(xié)處理器的某個(gè)可訪問寄存器,則依據(jù)讀寫控制信息控制該寄存器與并行讀寫數(shù)據(jù)接口進(jìn)行對(duì)應(yīng)的數(shù)據(jù)存??;否則控制并行讀數(shù)據(jù)接口輸出無效值; 控制信息接收單元,負(fù)責(zé)接收主處理器發(fā)出的控制廣播信號(hào),并進(jìn)行有效控制信息提取,并將提取的有效控制信息轉(zhuǎn)發(fā)給協(xié)處理器內(nèi)核電路; 中斷請(qǐng)求發(fā)送單元,負(fù)責(zé)實(shí)時(shí)偵測(cè)協(xié)處理器內(nèi)核電路是否有任何異常發(fā)生,如果有異常則控制中斷請(qǐng)求接口信號(hào)輸出有效值。
【文檔編號(hào)】G06F13/40GK104298639SQ201410490578
【公開日】2015年1月21日 申請(qǐng)日期:2014年9月23日 優(yōu)先權(quán)日:2014年9月23日
【發(fā)明者】王粟 申請(qǐng)人:天津國芯科技有限公司