亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

使處理器與協(xié)處理器接口的方法和設(shè)備的制作方法

文檔序號(hào):6434419閱讀:232來(lái)源:國(guó)知局
專利名稱:使處理器與協(xié)處理器接口的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及具有處理器及至少一個(gè)協(xié)處理器的數(shù)據(jù)處理系統(tǒng),并且,更具體地,涉及使處理器與協(xié)處理器接口的方法和設(shè)備。
背景技術(shù)
通過(guò)專用及特殊硬件功能部件擴(kuò)展基準(zhǔn)體系結(jié)構(gòu)及處理器的能力是可伸縮及可擴(kuò)展體系結(jié)構(gòu)的一個(gè)重要方面。
用于擴(kuò)展基準(zhǔn)體系結(jié)構(gòu)及處理器功能的一個(gè)最優(yōu)方法是通過(guò)使用協(xié)處理器。這些是在處理器的控制下操作的專用,通常為單目的的處理器。協(xié)處理器的一個(gè)常規(guī)用法是作為數(shù)學(xué)協(xié)處理器,以選擇性地向不直接支持浮點(diǎn)能力的體系結(jié)構(gòu)提供浮點(diǎn)能力。這種數(shù)學(xué)協(xié)處理器的某個(gè)例子是Intel 8087及80287。某些其它協(xié)處理器的可能用法或類型包含乘累加器,調(diào)制器/解調(diào)器(調(diào)制解調(diào)器),數(shù)字信號(hào)處理器(DSP),vitterbi計(jì)算器,加密處理器,圖象處理器,及向量處理器。
實(shí)現(xiàn)協(xié)處理器的一個(gè)方案是使用一個(gè)協(xié)處理器接口,其足夠緊密地耦合,使得接口的使用足夠快,以致有利于調(diào)用即使相當(dāng)簡(jiǎn)單的函數(shù)是有利的,同時(shí)將接口抽象到這樣一個(gè)程度,使得處理器體系結(jié)構(gòu)與任意指定協(xié)處理器的盡可能多的細(xì)節(jié)相隔離。例如,這樣一個(gè)緊密耦合的協(xié)處理器可以通過(guò)到主處理器的專用接口接收操作數(shù)及控制字。通常,基于由主處理器執(zhí)行的一組操作,主處理器會(huì)在主處理器產(chǎn)生一個(gè)數(shù)值之后把該數(shù)值傳遞給一個(gè)協(xié)處理器。在最后修改之后,該數(shù)值可以被發(fā)送給協(xié)處理器。然而,此最后傳送涉及對(duì)于某些協(xié)處理器操作可能不可接受的開銷。


通過(guò)舉例來(lái)說(shuō)明本發(fā)明,并且本發(fā)明不受附圖的限制,其中類似附圖標(biāo)記指示類似單元,并且其中
圖1是根據(jù)本發(fā)明圖解數(shù)據(jù)處理系統(tǒng)的一個(gè)實(shí)施例的模塊圖;圖2是圖解圖1的處理器的一部分的一個(gè)實(shí)施例的模塊圖;圖3是圖解圖1的協(xié)處理器的一部分的一個(gè)實(shí)施例的模塊圖;圖4是圖解寄存器廣播操作的一個(gè)實(shí)施例的時(shí)序圖;圖5是圖解廣播屏蔽寄存器的一個(gè)實(shí)施例的模塊圖;圖6是圖解廣播區(qū)的一個(gè)實(shí)施例的模塊圖;圖7是圖解寄存器廣播操作的一個(gè)可選實(shí)施例的時(shí)序圖;圖8是圖解圖2的控制電路的一部分的一個(gè)實(shí)施例的模塊圖;而圖9是圖解圖2的廣播區(qū)控制單元的一部分的一個(gè)實(shí)施例的模塊圖。
本領(lǐng)域技術(shù)人員理解,圖中的單元以簡(jiǎn)單和清晰的方式被圖解,并且沒(méi)有必要按比例畫出。例如,圖中某些單元的尺寸相對(duì)于其它單元被放大,以幫助改進(jìn)對(duì)本發(fā)明的實(shí)施例的理解。
具體實(shí)施例方式
在下面的描述中,提出諸如具體詞或字節(jié)長(zhǎng)度等等的許多特定細(xì)節(jié),以提供對(duì)本發(fā)明的徹底理解。然而,本領(lǐng)域的技術(shù)人員明白,本發(fā)明可以在沒(méi)有這種細(xì)節(jié)的情況下實(shí)施。在其它實(shí)例中,為了不以不必要的細(xì)節(jié)遮蓋本發(fā)明,電路以模塊圖形式示出。對(duì)于大部分而言,已經(jīng)省略了涉及時(shí)間考慮等等的細(xì)節(jié),因?yàn)檫@種細(xì)節(jié)不是獲得對(duì)本發(fā)明的完整理解所必須的,并且是相關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員所能理解的。
術(shù)語(yǔ)“總線”用于表示多個(gè)可用于傳送諸如數(shù)據(jù),地址,控制或狀態(tài)的一或多個(gè)各種信息的信號(hào)或?qū)w。當(dāng)用于將信號(hào),狀態(tài)位或類似裝置呈現(xiàn)為其邏輯真或邏輯假狀態(tài)時(shí),分別使用術(shù)語(yǔ)“聲明(assert)”及“取消(negate)”。如果邏輯真狀態(tài)是邏輯電平一,則邏輯假狀態(tài)是一個(gè)邏輯電平零。并且如果邏輯真狀態(tài)是邏輯電平零,則邏輯假狀態(tài)是邏輯電平一。一個(gè)跟隨在信號(hào)名稱后的“*”符號(hào)表示該信號(hào)是一個(gè)低電平有效信號(hào)(意味著邏輯真狀態(tài)是一個(gè)邏輯電平零)。
圖1是圖解數(shù)據(jù)處理系統(tǒng)10的一個(gè)實(shí)施例的模塊圖,數(shù)據(jù)處理系統(tǒng)10包含處理器12,協(xié)處理器14,協(xié)處理器16,存儲(chǔ)器18,其它模塊20及外部總線接口22,它們?nèi)客ㄟ^(guò)總線28雙向連接。本發(fā)明的可選實(shí)施例可以具有唯一一個(gè)協(xié)處理器14,兩個(gè)協(xié)處理器14及16,或甚至更多協(xié)處理器(未示出)。通過(guò)集成電路終端35把外部總線接口22雙向連接到外部總線26。把存儲(chǔ)器24雙向連接到外部總線26??蛇x地,可以通過(guò)集成電路終端31把處理器12外部連接到數(shù)據(jù)處理系統(tǒng)10??蛇x地,可以通過(guò)集成電路終端32把協(xié)處理器14外部連接到數(shù)據(jù)處理系統(tǒng)10??蛇x地,可以通過(guò)集成電路終端33把存儲(chǔ)器18外部連接到數(shù)據(jù)處理系統(tǒng)10??蛇x地,可以通過(guò)集成電路終端34把其它模塊20外部連接到數(shù)據(jù)處理系統(tǒng)10。通過(guò)協(xié)處理器接口30,處理器12雙向連接到協(xié)處理器14和協(xié)處理器16。盡管未在圖1中示出,但是可選實(shí)施例也可以具有附加存儲(chǔ)器,其類似于通過(guò)總線28連接的存儲(chǔ)器18。
圖2是圖解圖1的處理器12的一部分的模塊圖。在一個(gè)實(shí)施例中,處理器12包含控制電路40,指令解碼電路42,指令流水線44,寄存器46,算術(shù)邏輯單元(ALU)48,鎖存多路復(fù)用器(MUX)50,鎖存多路復(fù)用器(MUX)52,多路復(fù)用器(MUX)54,廣播區(qū)控制單元120,及程序計(jì)數(shù)器單元130。在本發(fā)明一個(gè)實(shí)施例中,協(xié)處理器接口30包含信號(hào)60-72及128。由控制電路40產(chǎn)生時(shí)鐘信號(hào)60。協(xié)處理器操作信號(hào)61由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。
監(jiān)控模式信號(hào)62由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。解碼信號(hào)63由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。通過(guò)控制電路40接收來(lái)自協(xié)處理器14或協(xié)處理器16的協(xié)處理器忙信號(hào)64。執(zhí)行信號(hào)65由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。通過(guò)控制電路40接收來(lái)自協(xié)處理品14或協(xié)處理器16的異常信號(hào)66。寄存器寫入(REGWR*)信號(hào)67由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。寄存器信號(hào)(REG[4:0])68由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。差錯(cuò)信號(hào)(H_ERR*)69由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。數(shù)據(jù)選通信號(hào)(H_DS*)70由控制電路40產(chǎn)生并且被提供給協(xié)處理器14及16。由控制電路40接收來(lái)自協(xié)處理器14及16的數(shù)據(jù)確認(rèn)信號(hào)(H_DA*)71。區(qū)域信號(hào)(H_REGION[N:1])由廣播區(qū)控制單元20產(chǎn)生并且被提供給控制電路40及協(xié)處理器14及16。也被認(rèn)為是協(xié)處理器接口30的一部分的硬件數(shù)據(jù)端口信號(hào)(HDP[31:0])72在協(xié)處理器14及16,以及處理器12內(nèi)的內(nèi)部電路之間是雙向的。
在本發(fā)明一個(gè)實(shí)施例中,提供針對(duì)或來(lái)自總線28的多個(gè)信號(hào),以便在存儲(chǔ)器18和/或存儲(chǔ)器24中加載或存儲(chǔ)數(shù)據(jù)。在一個(gè)實(shí)施例中,這些信號(hào)包含由控制電路40產(chǎn)生并且被提供給總線28的傳送請(qǐng)求信號(hào)(TREQ*)73。傳送錯(cuò)誤確認(rèn)信號(hào)(TEA*)74通過(guò)總線28被提供給控制電路40。傳送確認(rèn)信號(hào)(TA*)75通過(guò)總線28被提供給控制電路40。通過(guò)導(dǎo)體76從總線28向指令流水線44提供指令。通過(guò)導(dǎo)體76把數(shù)據(jù)提供給MUX 54。驅(qū)動(dòng)數(shù)據(jù)信號(hào)79使能三態(tài)緩沖區(qū)95以通過(guò)導(dǎo)體88及76從鎖存MUX 52提供數(shù)據(jù)。地址選擇信號(hào)78使能鎖存MUX 50以通過(guò)導(dǎo)體77向總線28提供地址。通過(guò)HDP信號(hào)(HDP[31:0])72提供MUX 54的另一個(gè)輸入。通過(guò)ALU結(jié)果導(dǎo)體86提供MUX 54的另一個(gè)輸入。MUX 54的輸出,即結(jié)果信號(hào)83被提供給寄存器46及三態(tài)緩沖區(qū)96的輸入。使能_廣播信號(hào)82使能三態(tài)緩沖區(qū)96驅(qū)動(dòng)HDP[31:0]72上的結(jié)果信號(hào)83。三態(tài)緩沖區(qū)96的輸出也被連接到鎖存MUX 52的輸入。提供結(jié)果信號(hào)83作為鎖存MUX 50的輸入,并且作為控制電路40的輸入。通過(guò)MUX54向寄存器46提供結(jié)果信號(hào)83。結(jié)果選擇信號(hào)(結(jié)果_選擇)81選定MUX 54的哪個(gè)輸入將在結(jié)果導(dǎo)體83上被驅(qū)動(dòng)。把源選擇信號(hào)(源_選擇)80提供給鎖存MUX 52以選定應(yīng)當(dāng)通過(guò)導(dǎo)體88驅(qū)動(dòng)哪個(gè)信號(hào)到三態(tài)緩沖區(qū)95??刂齐娐?0通過(guò)導(dǎo)體91提供控制信息并且接收來(lái)自寄存器46的狀態(tài)信息??刂齐娐?0通過(guò)導(dǎo)體92提供控制信號(hào)并且接收來(lái)自算術(shù)邏輯單元48的狀態(tài)信號(hào)??刂齐娐?0通過(guò)區(qū)說(shuō)明符122提供控制及信息信號(hào),并且接收來(lái)自廣播區(qū)控制單元20的控制及信息信號(hào)。控制電路通過(guò)導(dǎo)體124提供控制信號(hào)并且接收來(lái)自程序計(jì)數(shù)器單元130的狀態(tài)信號(hào)。控制電路40通過(guò)導(dǎo)體93提供控制信號(hào)并且接收來(lái)自指令流水線44及指令解碼電路42的狀態(tài)信號(hào)。指令流水線44通過(guò)導(dǎo)體89被連接以向指令解碼電路42提供指令。指令解碼電路42通過(guò)導(dǎo)體90向控制電路40及程序計(jì)數(shù)器單元130提供解碼指令信息。寄存器46通過(guò)導(dǎo)體84向算術(shù)邏輯單元48提供源操作數(shù)。寄存器46通過(guò)導(dǎo)體84,鎖存MUX 52,三態(tài)緩沖區(qū)95及導(dǎo)體76提供要存儲(chǔ)在存儲(chǔ)器18或存儲(chǔ)器24中的數(shù)據(jù)。寄存器46通過(guò)導(dǎo)體84,鎖存MUX 50及地址導(dǎo)體77向存儲(chǔ)器18或存儲(chǔ)器24提供地址信息。寄存器46通過(guò)導(dǎo)體85向算術(shù)邏輯單元48提供第二源操作數(shù)。程序計(jì)數(shù)器單元130通過(guò)導(dǎo)體126,鎖存MUX 50及地址導(dǎo)體77向存儲(chǔ)器18或存儲(chǔ)器24提供程序計(jì)數(shù)器。程序計(jì)數(shù)器130還向廣播區(qū)控制單元120提供程序計(jì)數(shù)器信息。程序計(jì)數(shù)器130接收來(lái)自鎖存MUX 50的輸出地址,以作為一個(gè)輸入以產(chǎn)生下一個(gè)存儲(chǔ)器地址。
注意,本發(fā)明的可選實(shí)施例可在寄存器46中包含任何數(shù)量的寄存器。并且,本發(fā)明的可選實(shí)施例可能使用一對(duì)單向總線代替雙向總線,以及使用多路復(fù)用器邏輯代替三態(tài)緩沖區(qū)以傳送信息。例如,HDP[31:0]或其它雙向總線可以被實(shí)現(xiàn)為分立的輸入和輸出部分。
圖3是圖解協(xié)處理器14的一部分的一個(gè)實(shí)施例的模塊圖。在一個(gè)實(shí)施例中,協(xié)處理器14包含控制電路100,計(jì)算電路102及可選存儲(chǔ)電路104??刂齐娐?00通過(guò)包含信號(hào)60-72及128的協(xié)處理器接口30雙向連接到處理器12。在本發(fā)明一個(gè)實(shí)施例中,控制電路100包含接收來(lái)自處理器12的操作信號(hào)61及解碼信號(hào)63的解碼電路106??刂齐娐?00通過(guò)導(dǎo)體108提供控制信息并且接收來(lái)自可選存儲(chǔ)電路104的狀態(tài)信息??刂齐娐?00通過(guò)導(dǎo)體109提供控制信息并且接收來(lái)自計(jì)算電路102的狀態(tài)信息。計(jì)算電路102及可選存儲(chǔ)電路104通過(guò)導(dǎo)體110雙向連接??梢蕴峁┽槍?duì)或來(lái)自總線28或集成電路終端32的一或多個(gè)信號(hào)110??刂齐娐?00通過(guò)導(dǎo)體112可以接收或提供針對(duì)或來(lái)自總線28或集成電路終端32的信息。信號(hào)72可以被雙向連接到計(jì)算電路102及可選存儲(chǔ)電路104。另外,信號(hào)72可以雙向連接到總線28或集成電路終端32。在本發(fā)明的一個(gè)可選實(shí)施例中,可不實(shí)現(xiàn)可選存儲(chǔ)電路104。在本發(fā)明的實(shí)現(xiàn)可選存儲(chǔ)電路104的實(shí)施例中,可以利用寄存器,任何類型的存儲(chǔ)器,包含鎖存器或可編程邏輯陣列的任何類型的存儲(chǔ)電路等實(shí)現(xiàn)可選存儲(chǔ)電路104。在本發(fā)明的可選實(shí)施例中,計(jì)算電路102可以執(zhí)行任何類型的邏輯或計(jì)算功能。
系統(tǒng)通過(guò)針對(duì)涉及專門應(yīng)用的操作而優(yōu)化的外部協(xié)處理器14(或硬件加速器)支持任務(wù)加速。這些外部協(xié)處理器14,16可以象用于執(zhí)行種群統(tǒng)計(jì)(population count)或更復(fù)雜功能的協(xié)處理器14(例如DSP加速協(xié)處理器14),或能夠進(jìn)行高速乘法/累加操作的協(xié)處理器16一樣簡(jiǎn)單。
通過(guò)若干適于具體實(shí)現(xiàn)的機(jī)構(gòu),在處理器12及協(xié)處理器14之間傳送數(shù)據(jù)。這些可以被分成針對(duì)協(xié)處理器14的傳送,及來(lái)自協(xié)處理器14的傳送。
用于向協(xié)處理器14傳送數(shù)據(jù)的機(jī)構(gòu)之一是寄存器廣播機(jī)構(gòu),該機(jī)構(gòu)不涉及指令原語(yǔ),而是正常處理器12操作的副產(chǎn)品。這涉及通過(guò)接口把更新反映到處理器12的通用寄存器(“GPR”)46,使得協(xié)處理器14可以監(jiān)視對(duì)一或多個(gè)處理器12寄存器的更新。如果協(xié)處理器14“覆蓋”GPR 46的內(nèi)部寄存器或功能,這會(huì)是適合的。在這種情況下,不需要從處理器12向協(xié)處理器14的顯式參數(shù)傳遞。
另一個(gè)向協(xié)處理器14傳送數(shù)據(jù)的方案是數(shù)據(jù)驅(qū)動(dòng)方案,其涉及向協(xié)處理器傳送一或多個(gè)數(shù)據(jù)項(xiàng)的協(xié)處理。這些項(xiàng)的傳送可以在沒(méi)有協(xié)處理器命令或指令的顯式傳送的情況下啟動(dòng)一個(gè)協(xié)處理操作。與協(xié)處理器14的通信開銷的降低可以導(dǎo)致顯著的性能提高。
在基處理器12中提供指令原語(yǔ),用于外部協(xié)處理器14,16及處理器12之間操作數(shù)及指令的顯式傳送。提供一個(gè)握手機(jī)構(gòu)以允許對(duì)指令及數(shù)據(jù)傳送的速率進(jìn)行控制。
注意,協(xié)處理器14被設(shè)計(jì)為特定于實(shí)現(xiàn)的單元,因而一個(gè)指定單元的實(shí)際功能在不同實(shí)現(xiàn)中可自由改變,即使可存在相同指令映射。
圖4是圖解一個(gè)寄存器廣播操作的時(shí)序圖。為了避免針對(duì)協(xié)處理器14或外部監(jiān)視器的參數(shù)傳遞的性能開銷,提供一個(gè)寄存器廣播機(jī)構(gòu)(也可以被稱為寄存器探聽(snooping)機(jī)構(gòu))。這允許協(xié)處理器14實(shí)現(xiàn)一或多個(gè)處理器12的通用寄存器46的影子復(fù)本(shadow copy)。該能力是通過(guò)傳送寫入處理器GPR 46之一的數(shù)值和有關(guān)哪個(gè)寄存器46被針對(duì)GPR更新而更新的指示來(lái)實(shí)現(xiàn)的。(注意,帶下劃線的寄存器,例如RA及RC,分別表示對(duì)應(yīng)指令,例如ADDC或OR的目的寄存器。)針對(duì)每個(gè)寄存器更新聲明一個(gè)選通信號(hào)REGWR*67。通過(guò)32位雙向數(shù)據(jù)路徑HDP[31:0]72傳送數(shù)值,并且一個(gè)5位寄存器編號(hào)總線提供一個(gè)指針給所更新的實(shí)際處理器寄存器46(REG[4:0])68。寄存器編號(hào)可以指示一個(gè)正常堆(file)或一個(gè)可選堆中的寄存器46。在優(yōu)選實(shí)施例中,通過(guò)REG[4]==1指示可選堆寄存器,并且通過(guò)REG[4]==0指示正常堆寄存器。然而注意,本發(fā)明不以任何方式依賴于寄存器組的實(shí)際劃分。
協(xié)處理器14可以內(nèi)部鎖存數(shù)值與目的寄存器46編號(hào)的指示,以避免稍后寄存器信息的顯式移動(dòng)。這些功能也可以被一個(gè)調(diào)試協(xié)處理器14用以跟蹤寄存器堆46或其子集的狀態(tài)。圖4說(shuō)明廣播能力的一個(gè)例子。
參照?qǐng)D4說(shuō)明的廣播能力通過(guò)HDP[31:0]72對(duì)每個(gè)針對(duì)寄存器堆的寫事務(wù)執(zhí)行廣播。因此這個(gè)能力允許協(xié)處理器14保持處理器12的寄存器堆(即GPR 46)的一個(gè)影子復(fù)本,并且不需要從處理器12向協(xié)處理器14顯式傳遞某些參數(shù)。然而,需要一種進(jìn)一步控制處理器12及協(xié)處理器14的廣播能力的能力。因此,圖5-9圖解了本發(fā)明允許處理器12的選擇性廣播能力并且允許協(xié)處理器14的選擇性更新策略的的一個(gè)實(shí)施例。
圖5根據(jù)本發(fā)明的一個(gè)實(shí)施例圖解了允許實(shí)現(xiàn)一個(gè)選擇性廣播能力的廣播屏蔽寄存器。因此,不是廣播每個(gè)結(jié)果更新到GPR 46,而是廣播屏蔽寄存器可以用于選擇GPR 46的子集,該子集的結(jié)果被廣播到協(xié)處理器14。例如,對(duì)于GPR 46中的每個(gè)寄存器,單個(gè)位可以用作廣播指示符,以確定對(duì)該具體寄存器的更新是否會(huì)導(dǎo)致(通過(guò)HDP[31:0]72)向協(xié)處理器14傳送更新的寄存器內(nèi)容。圖5圖解廣播屏蔽寄存器的一個(gè)例子,其中假定GPR 46具有16個(gè)寄存器。在這個(gè)例子中,0指示與具體位相關(guān)的寄存器禁止其結(jié)果廣播,并且1指示與具體位相關(guān)的寄存器使能其結(jié)果廣播。因此,在圖5的例子中,只有對(duì)對(duì)應(yīng)于位位置8及9(在一個(gè)實(shí)施例中,可以指示GPR 46內(nèi)的寄存器R8及寄存器R9)的寄存器的更新被廣播到協(xié)處理器14。如果GPR 46只包含8個(gè)寄存器,則廣播屏蔽寄存器只需要8位長(zhǎng)。因此,廣播屏蔽寄存器可被認(rèn)為是具有一組對(duì)應(yīng)于GPR 46的廣播指示符的廣播說(shuō)明符。
在一個(gè)實(shí)施例中,廣播屏蔽寄存器(例如廣播說(shuō)明符)是用戶可編程(通過(guò)軟件訪問(wèn)),并且當(dāng)系統(tǒng)狀態(tài)改變時(shí)可被修改,以便當(dāng)出現(xiàn)新要求時(shí)考慮隨時(shí)間出現(xiàn)的不同協(xié)處理活動(dòng)。在另一個(gè)實(shí)施例中,通過(guò)被設(shè)計(jì)成更新廣播屏蔽寄存器的具體指令內(nèi)的立即字段可訪問(wèn)廣播屏蔽寄存器或廣播說(shuō)明符??蛇x實(shí)施例也可以使用不同的廣播說(shuō)明符以及針對(duì)每個(gè)需要通過(guò)處理器12廣播其結(jié)果的寄存器提供一個(gè)對(duì)應(yīng)廣播指示符的不同方法,而不是使用圖5所示的廣播屏蔽寄存器。例如,可以把寄存器屏蔽字段存儲(chǔ)在對(duì)應(yīng)于GPR 46的存儲(chǔ)器18或24中。
通過(guò)一個(gè)廣播屏蔽寄存器(或其它廣播說(shuō)明符)的使用,可降低HDP[31:0]72的負(fù)載及總功耗。例如,如果一個(gè)數(shù)值不需要通過(guò)協(xié)處理器14探聽,則通過(guò)分配GPR 46內(nèi)的一個(gè)寄存器來(lái)存儲(chǔ)這個(gè)數(shù)值并且使用廣播屏蔽禁止這個(gè)寄存器的廣播,可以禁止通過(guò)處理器12廣播這個(gè)數(shù)值。因此,如果只有計(jì)算數(shù)值的一個(gè)子集需要從處理器12廣播到協(xié)處理器14,則可以保留GPR 46的一個(gè)子集以保存這些數(shù)值,并且接著僅更新這些保留寄存器之一的方式會(huì)導(dǎo)致計(jì)算的數(shù)值的廣播。由于產(chǎn)生結(jié)果的指令的數(shù)量較高,廣播全部寫入結(jié)果會(huì)不必要增加HDP[31:0]72的負(fù)載,并且消耗更多功率。因而,屏蔽廣播以使只向協(xié)處理器14廣播寄存器更新的一個(gè)子集,導(dǎo)致處理器12內(nèi)功耗的降低,并且降低HDP[31:0]72上過(guò)多的負(fù)載。
為了進(jìn)一步控制廣播能力,可以使用廣播區(qū)。圖6圖解了一個(gè)示例程序空間172,它被分成四個(gè)廣播區(qū)廣播區(qū)1 164,廣播區(qū)2 166,廣播區(qū)3 168,及廣播區(qū)4 170。程序空間172可以是處理器12內(nèi)的任何程序空間,并且可以位于諸如存儲(chǔ)器18或24的任何程序存儲(chǔ)器中。廣播區(qū)是指指令地址范圍(即程序區(qū)或執(zhí)行區(qū)),其中廣播被控制。在圖6中,每個(gè)廣播區(qū)具有一個(gè)對(duì)應(yīng)的廣播屏蔽。例如,廣播區(qū)1 164對(duì)應(yīng)于廣播屏蔽1 158,廣播區(qū)2 166及廣播區(qū)4 170都對(duì)應(yīng)于廣播屏蔽2160,并且廣播區(qū)3 168對(duì)應(yīng)于廣播屏蔽3 162。因此,一個(gè)廣播屏蔽可以對(duì)應(yīng)于不止一個(gè)廣播區(qū)。
可以用多個(gè)方式控制對(duì)廣播區(qū)的廣播屏蔽分配。其可以是固定的,或可以受軟件控制,并且是用戶可編程的。通過(guò)把廣播屏蔽與每個(gè)實(shí)現(xiàn)的廣播區(qū)配對(duì)的控制寄存器,或者通過(guò)其它存儲(chǔ)裝置可進(jìn)行編程。當(dāng)系統(tǒng)執(zhí)行進(jìn)行時(shí),廣播屏蔽與廣播區(qū)的關(guān)聯(lián)可以在用戶程序控制下,或通過(guò)系統(tǒng)事件的硬件監(jiān)視,或通過(guò)適于數(shù)據(jù)處理系統(tǒng)的任何其他控制裝置來(lái)改變。
當(dāng)在一個(gè)廣播區(qū)內(nèi)正執(zhí)行代碼時(shí),對(duì)應(yīng)廣播屏蔽用于提供更新結(jié)果的選擇性廣播。例如,在廣播區(qū)1 164內(nèi),只有對(duì)由廣播屏蔽1 158指示的寄存器的那些更新被廣播到協(xié)處理器14。在廣播區(qū)2 166或廣播區(qū)4 170內(nèi),對(duì)由廣播屏蔽2 160指示的寄存器的更新被廣播到協(xié)處理器14。在廣播區(qū)3 168內(nèi),對(duì)由廣播屏蔽3 162指示的寄存器的更新被廣播到協(xié)處理器14。
這種廣播區(qū)的使用還允許協(xié)處理器14的簡(jiǎn)化操作。例如,在某些情況下,協(xié)處理器14不再需要來(lái)自處理器12的顯式命令形式的知識(shí),但是由于處理器12可以被用來(lái)只向協(xié)處理器14傳遞實(shí)際驅(qū)動(dòng)項(xiàng),則能以數(shù)據(jù)驅(qū)動(dòng)方式操作。因此,通過(guò)使用廣播區(qū)及廣播屏蔽,處理器12可以控制其廣播能力,并且因而控制其發(fā)送至協(xié)處理器14的驅(qū)動(dòng)項(xiàng)。通過(guò)以數(shù)據(jù)驅(qū)動(dòng)方式進(jìn)行操作,涉及向協(xié)處理器14或16傳遞單個(gè)控制操作或指令的開銷可以被降低或消除,因而提高系統(tǒng)性能并且降低系統(tǒng)功耗。
可選地,圖6的廣播區(qū)1-4也可以獨(dú)立于廣播屏蔽1-3使用。例如,廣播區(qū)可以定義為其中出現(xiàn)或未出現(xiàn)廣播的區(qū)域。即,對(duì)于廣播區(qū)1164內(nèi)的代碼,針對(duì)GPR 46的任何更新,廣播可始終發(fā)生。然而,可以定義廣播區(qū)2,使得對(duì)于在這個(gè)范圍內(nèi)的代碼,廣播根本不發(fā)生。因此,廣播能力也可以單純基于廣播區(qū),而不是單純基于廣播屏蔽或廣播屏蔽及區(qū)域的組合,而是選擇性的。
圖7圖解了一個(gè)選擇性寄存器廣播操作的例子的時(shí)序圖。指令A(yù)DDR3,R2及ORR4,R5在圖6的廣播區(qū)1 164內(nèi),因此對(duì)應(yīng)于廣播屏蔽1 158,其一個(gè)例子也在圖7中說(shuō)明。指令A(yù)DDR6,R7,SUBR3,R4,及MULR9,R10在圖6的廣播區(qū)2 166內(nèi),因此對(duì)應(yīng)于廣播屏蔽2160,其一個(gè)例子也在圖7中說(shuō)明。圖7的時(shí)序圖指示何時(shí)指令在指令流水線44的執(zhí)行階段。在各個(gè)指令內(nèi)帶下劃線的寄存器指示目的寄存器(結(jié)果被寫入的寄存器)。
在區(qū)域1 164內(nèi),ADDR3,R2的結(jié)果被寫入寄存器R3(其中R3=R3+R2)。由于廣播屏蔽1 158把一個(gè)“1”寫入位位置3,對(duì)寄存器R3的任何寫入將通過(guò)HDP[31:0]72由處理器12廣播。因此,在圖7的時(shí)序圖的第一個(gè)時(shí)鐘周期內(nèi),ADD指令的結(jié)果(被寫入處理器12內(nèi)的R3的結(jié)果)通過(guò)HDP[31:0]72向協(xié)處理器14廣播。由于其正被廣播,也通過(guò)REG[4:0]68向協(xié)處理器14提供對(duì)應(yīng)于R3的寄存器編號(hào)。聲明REGWR*67以允許協(xié)處理器14把傳入結(jié)果寫入其寄存器之一,并且聲明使能_廣播82,使得圖2的三態(tài)緩沖區(qū)96可以驅(qū)動(dòng)結(jié)果到HDP[31:0]72。并且,通過(guò)H_REGION[N:1]128向協(xié)處理器14提供區(qū)域指示符。因此,當(dāng)在區(qū)域1中正執(zhí)行代碼時(shí),H_REGION[N:1]128(對(duì)應(yīng)于一個(gè)N位數(shù)值)指示“1”。
ORR4,R5指令跟隨ADDR3,R2指令,并且仍然在廣播區(qū)1 164內(nèi);然而,其目的寄存器是R4。根據(jù)廣播屏蔽1 158,寫入R4的結(jié)果不被廣播;因此,OR指令的結(jié)果不提供給協(xié)處理器14,寄存器編號(hào)不需要通過(guò)REG[4:0]68,并且REGWR*和使能_廣播都解除聲明。
下面3個(gè)指令A(yù)NDR6,R7,SUBR3,R4,及MULR9,R10全在廣播區(qū)2 166內(nèi)。R6,R3及R9均帶下劃線,以指示它們是其對(duì)應(yīng)指令的目的寄存器。一旦進(jìn)入廣播區(qū)2 166,H_REGION[N:1]128改變狀態(tài)以指示′2′。廣播區(qū)2 166具有一個(gè)表明只應(yīng)廣播對(duì)寄存器R9及R6的寫入的對(duì)應(yīng)廣播屏蔽2 160。因此,如在圖7的時(shí)序圖中所見,當(dāng)在廣播區(qū)2 166中時(shí),通過(guò)HDP[31:0]72向協(xié)處理器14僅廣播AND及MUL指令的結(jié)果。每個(gè)寄存器的寄存器編號(hào)也通過(guò)REG[4:0]68發(fā)送,并且聲明REGWR*和使能_廣播82。然而,由于廣播屏蔽2 160指示在廣播區(qū)2 166內(nèi)不應(yīng)廣播對(duì)寄存器R3的寫入,所以未廣播SUB指令的結(jié)果。
圖8以模塊圖形式圖解了圖2的控制電路40的一部分的一個(gè)實(shí)施例??刂齐娐?0的部分包含廣播屏蔽1寄存器134,廣播屏蔽2寄存器136,及廣播屏蔽M寄存器138,屏蔽選擇電路132,及目的比較單元142??刂齐娐?0包含M個(gè)廣播屏蔽寄存器。(同時(shí)注意,控制電路40可只包含1或2廣播屏蔽寄存器,即使圖解了3個(gè)。)控制電路40也包含連接到廣播屏蔽1寄存器134,廣播屏蔽2寄存器136及廣播屏蔽M寄存器138的屏蔽選擇電路132。屏蔽選擇電路也接收H_REGION[N:1],并且向目的比較單元142提供當(dāng)前廣播屏蔽140。目的比較單元142也被從指令解碼42連接到導(dǎo)體90,并且向三態(tài)緩沖區(qū)96提供使能_廣播82。
在操作中,廣播屏蔽寄存器134,136及138的值可以通過(guò)結(jié)果信號(hào)83加載。因此,可以向處理器12提交一個(gè)指令以加載值到廣播屏蔽寄存器;因此,通過(guò)導(dǎo)體90的控制信號(hào)可以指示要執(zhí)行一個(gè)指令以加載廣播屏蔽寄存器134,136或138,其中作為來(lái)自MUX 54的結(jié)果信號(hào)83而提供實(shí)際值。因此,在這個(gè)實(shí)施例中,廣播屏蔽寄存器134,136及138是用戶可編程的。屏蔽選擇電路132接收作為指示代碼的當(dāng)前執(zhí)行區(qū)(即,當(dāng)前程序區(qū)域)的N位數(shù)值的H_REGION[N:1]128。(注意,根據(jù)處理器12的設(shè)計(jì),區(qū)域數(shù)Y可大于或小于廣播屏蔽寄存器的數(shù)量。)屏蔽選擇電路132可以用若干不同方式實(shí)現(xiàn),以把廣播屏蔽寄存器134,136,...,138之一與由H_REGION[N:1]128指示的每個(gè)區(qū)域關(guān)聯(lián)。在一個(gè)實(shí)施例中,屏蔽選擇電路132把唯一廣播屏蔽與每個(gè)廣播區(qū)關(guān)聯(lián)。在可選實(shí)施例中,屏蔽選擇電路132可以包含用戶可編程寄存器或其它電路,以允許把一個(gè)選擇的廣播屏蔽任意關(guān)聯(lián)到每個(gè)廣播區(qū),因而允許不同廣播區(qū)共享廣播屏蔽??蛇x地,廣播屏蔽與廣播區(qū)的關(guān)聯(lián)可以基于數(shù)據(jù)處理系統(tǒng)10的狀態(tài),并且可以在沒(méi)有軟件干預(yù)的情況下動(dòng)態(tài)改變。
因此屏蔽選擇電路132使用H_REGION[N:1]128以選擇對(duì)應(yīng)廣播屏蔽寄存器(134,136或138),并且把它作為當(dāng)前廣播屏蔽140提供。例如,如果HREGION[N:1]128指示圖6的廣播區(qū)2 166,則屏蔽選擇電路132將選擇具有對(duì)應(yīng)于廣播屏蔽2 160的數(shù)值的廣播屏蔽寄存器(該值可被存儲(chǔ)在廣播屏蔽寄存器134,136或138的任何一個(gè)中)。接著目的比較單元142確定何時(shí)一個(gè)指令導(dǎo)致向GPR 46內(nèi)的一個(gè)目的寄存器寫入一個(gè)操作數(shù),并且把由指令解碼42通過(guò)導(dǎo)體90提供的目的寄存器與當(dāng)前廣播屏蔽140相比較,以確定是否使能廣播。如果比較指示應(yīng)當(dāng)廣播結(jié)果,則聲明使能_廣播82,以便使能三態(tài)緩沖區(qū)96驅(qū)動(dòng)結(jié)果到HDP[31:0]72上。
圖9以模塊圖形式圖解了圖2的部分廣播區(qū)控制單元的一個(gè)實(shí)施例。廣播區(qū)控制單元120包含區(qū)1上界寄存器146,區(qū)1下界寄存器148,區(qū)2上界寄存器150,區(qū)2下界寄存器152,區(qū)Y上界寄存器154,區(qū)Y下界寄存器156,及界限比較單元144。區(qū)1上界寄存器146,區(qū)1下界寄存器148,區(qū)2上界寄存器150,區(qū)2下界寄存器152,區(qū)Y上界寄存器154,區(qū)Y下界寄存器156可以接收來(lái)自控制單元40的區(qū)域_說(shuō)明符122,并且存儲(chǔ)這些說(shuō)明符??上蛎總€(gè)界限寄存器146,148,150,152,154及156提供唯一說(shuō)明符。這些說(shuō)明符可以由控制電路40根據(jù)結(jié)果83選擇,并且因而是指令執(zhí)行結(jié)果值的函數(shù),或可以通過(guò)指令解碼90,或由其它可選裝置提供。界限寄存器146,148,150,152,154及156向界限比較單元144提供輸出。界限比較單元144也被從程序計(jì)數(shù)器單元130連接到導(dǎo)體126,并且提供HREGION[N:1]128作為輸出。
在操作中,區(qū)1上界寄存器146及區(qū)1下界寄存器148定義對(duì)應(yīng)于廣播區(qū)1(例如,圖6的廣播區(qū)1 164)的開始及結(jié)束指令地址。因此,當(dāng)程序計(jì)數(shù)器(程序計(jì)數(shù)器單元130內(nèi))在開始及結(jié)束指令地址內(nèi)(即,區(qū)1的上界及下界內(nèi))時(shí),界限比較單元144輸出H_REGION[N:1]128以指示區(qū)1。同樣,每對(duì)上及下區(qū)界限,例如150及152或154及156,定義一個(gè)廣播區(qū),并且當(dāng)程序計(jì)數(shù)器在任何這些區(qū)內(nèi)時(shí),輸出對(duì)應(yīng)區(qū)作為H_REGION[N:1]128。注意,如圖9所示,廣播區(qū)控制單元120包含3個(gè)廣播區(qū)定義;然而,可以定義任何區(qū)數(shù)Y。通過(guò)提供兩種數(shù)值及控制信號(hào)以加載這些寄存器的區(qū)域_說(shuō)明符122,這些上及下界寄存器(146,148,150,152,154及156)可以全部是用戶可編程。
在可選實(shí)施例中,其它方法及寄存器可用于定義廣播區(qū)。例如,一個(gè)基地址及一個(gè)屏蔽可以用于定義每個(gè)廣播區(qū)而不是一個(gè)下界及上界。同時(shí),頁(yè)屬性可以用于定義使用保護(hù)或重新定位控制的系統(tǒng)中的廣播區(qū)(例如一個(gè)表查找支援緩沖區(qū),TLB)。在可選實(shí)施例中,廣播區(qū)控制單元120也可以位于控制電路40內(nèi)??蛇x地,廣播屏蔽寄存器及廣播區(qū)定義寄存器可以組合,使得通過(guò)一個(gè)具體區(qū)選擇一個(gè)具體屏蔽。通過(guò)這種方式,可以降低更新屏蔽及區(qū)定義的開銷。并且,如上所述,不同廣播區(qū)可以共享一個(gè)相同廣播屏蔽,同時(shí)降低廣播屏蔽寄存器的數(shù)量。同時(shí),可選實(shí)施例可以不需要向協(xié)處理器14提供廣播區(qū)信息,因而消除對(duì)H_REGION[N:1]128的需要。
在本發(fā)明的一個(gè)可選實(shí)施例中,圖6的廣播區(qū)1-4也可以允許協(xié)處理器14實(shí)現(xiàn)一個(gè)選擇性執(zhí)行模式策略。廣播區(qū)也可以被稱作執(zhí)行區(qū)。例如,通過(guò)傳遞一個(gè)指示當(dāng)前執(zhí)行區(qū)(諸如上面描述的H_REGION[N:1]128)的信號(hào),處理器12可以向協(xié)處理器14提供一個(gè)執(zhí)行上下文。即,H_REGION[N:1]128可用于允許協(xié)處理器14設(shè)置本身以在不同及唯一的數(shù)據(jù)驅(qū)動(dòng)操作模式中操作,其中通過(guò)H_REGION[N:1]128的值在處理器12的操作期間動(dòng)態(tài)選擇該模式。例如,根據(jù)當(dāng)前執(zhí)行區(qū)(即,當(dāng)前正執(zhí)行的程序代碼的部分),可以設(shè)置協(xié)處理器以響應(yīng)HREGION[N:1]128在不同模式下操作或執(zhí)行不同功能。例如,如果H_REGION[N:1]128指示執(zhí)行區(qū)2,則協(xié)處理器14可以對(duì)針對(duì)存儲(chǔ)器的傳送執(zhí)行循環(huán)冗余校驗(yàn),并且如果H_REGION[N:1]128指示執(zhí)行區(qū)3,則協(xié)處理器14可以執(zhí)行一個(gè)過(guò)濾函數(shù)或一個(gè)硬件散列函數(shù)。因此,根據(jù)當(dāng)前執(zhí)行區(qū),協(xié)處理器14可以改變其功能。
在當(dāng)前發(fā)明的某些實(shí)施例中,響應(yīng)通過(guò)H_REGION[N:1]接收當(dāng)前執(zhí)行區(qū)說(shuō)明符而修改協(xié)處理器14的操作的概念允許簡(jiǎn)化協(xié)處理器,以及降低處理器12及協(xié)處理器14之間命令傳送的開銷。協(xié)處理器14可以工作于數(shù)據(jù)驅(qū)動(dòng)方式,其中響應(yīng)通過(guò)HDP[31:0]72來(lái)自處理器12的數(shù)據(jù)傳送,以及通過(guò)GPR 46中正更新的寄存器的REG[4:0]68的指示,進(jìn)行處理。當(dāng)與廣播屏蔽的概念結(jié)合時(shí),只有實(shí)際數(shù)據(jù)驅(qū)動(dòng)項(xiàng)被傳遞到協(xié)處理器14。通過(guò)這種方式,由REG[4:0]68指示的,對(duì)應(yīng)于由處理器12執(zhí)行的指令的目的寄存器的每個(gè)值,可以進(jìn)一步指示由協(xié)處理器14執(zhí)行的具體操作,它是當(dāng)前執(zhí)行上下文的一個(gè)函數(shù)。當(dāng)一個(gè)寄存器廣播操作發(fā)生時(shí),處理器12的指令執(zhí)行可以把GPR 46內(nèi)的具體寄存器作為目標(biāo)以間接影響由協(xié)處理器14的選定功能。另外,當(dāng)由H_REGION[N:1]指示的執(zhí)行上下文改變時(shí),REG[4:0]68的具體編碼所對(duì)應(yīng)的選定功能可以改變,其中沒(méi)有通過(guò)處理器12顯式重新配置協(xié)處理器14的開銷。
在前面的說(shuō)明書中參照特定實(shí)施例描述了本發(fā)明。然而本領(lǐng)域的普通技術(shù)人員理解,在不偏離如下面權(quán)利要求書提出的本發(fā)明的范圍的前提下可以進(jìn)行各種修改和改變。例如,這里描述的電路可以通過(guò)單個(gè)集成電路,或不止一個(gè)集成電路,或硬件和軟件的組合來(lái)實(shí)現(xiàn)。相應(yīng)地,說(shuō)明書和圖例只被看作圖解性的而不是限定性的,并且所有這種修改均被包含在本發(fā)明的范圍內(nèi)。
前面已經(jīng)針對(duì)具體實(shí)施例描述了本發(fā)明的益處、其它優(yōu)點(diǎn)和問(wèn)題解決方案。然而,上述益處、優(yōu)點(diǎn)、問(wèn)題解決方案和目的是使任何益處、優(yōu)點(diǎn)或解決方案付諸實(shí)現(xiàn)和易于理解的任何要素,均不得被解釋成任何或所有權(quán)利要求的關(guān)鍵、必需或必要特征或要素。這里,術(shù)語(yǔ)″包括″或其任何其他表達(dá)方式均被用來(lái)覆蓋非排它性的內(nèi)含,使得包括一系列要素的過(guò)程、方法、項(xiàng)目或裝置不僅僅包含那些要素,而是可以包含其它沒(méi)有明確列出或所述過(guò)程、方法、項(xiàng)目或裝置所固有的要素。
權(quán)利要求
1.一種使處理器通過(guò)協(xié)處理器通信總線向寄存器堆選擇性廣播寫事務(wù)的方法,所述處理器具有包括多個(gè)寄存器的所述寄存器堆和對(duì)應(yīng)于該寄存器堆的廣播說(shuō)明符,該方法包括接收要寫入所述寄存器堆的操作數(shù);在所述寄存器堆中選擇所述多個(gè)寄存器中的一個(gè);向所述寄存器堆提供要寫入所述寄存器堆的所述操作數(shù);及根據(jù)廣播說(shuō)明符,通過(guò)所述協(xié)處理器通信總線選擇性地提供要寫入所述寄存器堆的所述操作數(shù)。
2.如權(quán)利要求1所述的方法,其中廣播說(shuō)明符包括一組廣播指示符,該組廣播指示符內(nèi)的每個(gè)廣播指示符對(duì)應(yīng)于多個(gè)寄存器中的一個(gè);通過(guò)所述協(xié)處理器通信總線選擇性地提供要寫入所述寄存器堆的所述操作數(shù)的步驟基于對(duì)應(yīng)于所述寄存器堆的所述多個(gè)寄存器中的選定一個(gè)的廣播指示符。
3.如權(quán)利要求1所述的方法,其中廣播說(shuō)明符是處理器內(nèi)多個(gè)廣播說(shuō)明符之一,多個(gè)廣播說(shuō)明符中的每個(gè)對(duì)應(yīng)于處理器的至少一個(gè)廣播區(qū),并且其中如權(quán)利要求4所述的方法還包括通過(guò)所述協(xié)處理器通信總線選擇性地提供與當(dāng)前寫事務(wù)的當(dāng)前廣播區(qū)對(duì)應(yīng)的區(qū)指示符。
4.一種使通過(guò)協(xié)處理器通信總線連接到第二處理器的第一處理器選擇性地改變所述第一處理器的執(zhí)行模式的方法,包括通過(guò)所述協(xié)處理器通信總線從所述第二處理器接收區(qū)指示符,其中區(qū)指示符指示第二處理器的當(dāng)前執(zhí)行區(qū);及根據(jù)區(qū)指示符選擇性地改變所述第一處理器的執(zhí)行模式。
5.一種使通過(guò)協(xié)處理器通信總線連接到第二處理器的第一處理器選擇性地改變所述第一處理器的執(zhí)行模式的方法,包括通過(guò)所述協(xié)處理器通信總線從所述第二處理器接收寄存器說(shuō)明符,其中寄存器說(shuō)明符指示所述第二處理器的寄存器堆內(nèi)正寫入操作數(shù)的選定寄存器;及根據(jù)寄存器說(shuō)明符選擇性地改變所述第一處理器的執(zhí)行模式。
6.一種使具有包括多個(gè)寄存器的寄存器堆的處理器通過(guò)協(xié)處理器通信總線向所述寄存器堆選擇性廣播寫事務(wù)的方法,該方法包括接收要寫入所述寄存器堆的操作數(shù);選擇所述寄存器堆的所述多個(gè)寄存器中的一個(gè);向所述寄存器堆提供要寫入所述寄存器堆的所述操作數(shù);及根據(jù)所述處理器的當(dāng)前執(zhí)行區(qū),通過(guò)所述協(xié)處理器通信總線選擇性地提供要寫入所述寄存器堆的所述操作數(shù)。
7.一種處理器,包括多個(gè)寄存器;用于對(duì)多個(gè)寄存器之一執(zhí)行寫操作的電路;用于提供寫操作的操作數(shù)給所述多個(gè)寄存器之一的導(dǎo)體;一組廣播說(shuō)明符;比較電路,用于比較多個(gè)寄存器之一和廣播說(shuō)明符中的選定一個(gè),并且用于提供廣播使能信號(hào);及連接到比較電路的端口,用于與協(xié)處理器通信總線通信,所述端口包括至少一個(gè)協(xié)處理器通信總線信號(hào),用于響應(yīng)廣播使能信號(hào)選擇性地提供所述操作數(shù)。
8.如權(quán)利要求7所述的處理器,其中該組廣播說(shuō)明符內(nèi)的每個(gè)廣播說(shuō)明符包括一組廣播指示符,其中每個(gè)廣播指示符對(duì)應(yīng)于多個(gè)寄存器中的至少一個(gè)。
9.如權(quán)利要求7所述的處理器,還包括程序計(jì)數(shù)器單元,用于指示地址位置;及廣播區(qū)控制單元,連接到程序計(jì)數(shù)器單元,用于指示何時(shí)來(lái)自程序計(jì)數(shù)器單元的所指示地址位置在一組廣播區(qū)之一內(nèi)。
10.一種處理器,包括多個(gè)寄存器;用于對(duì)多個(gè)寄存器之一執(zhí)行寫入的電路;用于提供寫操作的操作數(shù)給所述多個(gè)寄存器之一的導(dǎo)體;程序計(jì)數(shù)器單元,用于指示地址位置;執(zhí)行區(qū)控制單元,連接到程序計(jì)數(shù)器單元,用于指示何時(shí)來(lái)自程序計(jì)數(shù)器單元的所指示地址位置在一組執(zhí)行區(qū)之一內(nèi);及連接到比較電路的端口,用于與協(xié)處理器通信總線通信,所述端口包括至少一個(gè)協(xié)處理器通信總線信號(hào),用于當(dāng)所指示地址位置在一組執(zhí)行區(qū)之一內(nèi)時(shí),指示該組執(zhí)行區(qū)中的當(dāng)前執(zhí)行區(qū)。
全文摘要
本發(fā)明涉及使處理器(12)與至少一個(gè)協(xié)處理器(14,16)接口。一個(gè)實(shí)施例涉及具有一組廣播說(shuō)明符的處理器,該處理器使用廣播說(shuō)明符向一個(gè)協(xié)處理器通信總線選擇性地廣播處理器的寄存器內(nèi)寫入的操作數(shù)。因此每個(gè)廣播說(shuō)明符可以包含對(duì)應(yīng)于處理器的每個(gè)通用寄存器的廣播指示符。一個(gè)可選實(shí)施例也可以使用廣播區(qū)(164,166,168,170)的概念,其中各個(gè)廣播區(qū)可以具有對(duì)應(yīng)的廣播說(shuō)明符,其中一個(gè)廣播說(shuō)明符可對(duì)應(yīng)于多個(gè)廣播區(qū)??蛇x地,在一個(gè)實(shí)施例中,處理器可以使用獨(dú)立于廣播說(shuō)明符的廣播區(qū),其中協(xié)處理器能夠根據(jù)當(dāng)前廣播區(qū)改變其功能。在一個(gè)實(shí)施例中,處理器可通過(guò)協(xié)處理器通信總線(30)提供一個(gè)區(qū)說(shuō)明符(H REGION)以指示當(dāng)前廣播區(qū)。
文檔編號(hào)G06F9/38GK1610880SQ02826499
公開日2005年4月27日 申請(qǐng)日期2002年10月30日 優(yōu)先權(quán)日2001年11月13日
發(fā)明者威廉·C·矛伊爾 申請(qǐng)人:自由度半導(dǎo)體公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
<i id="2vc2l"><wbr id="2vc2l"><sub id="2vc2l"></sub></wbr></i>
<dfn id="2vc2l"><i id="2vc2l"><form id="2vc2l"></form></i></dfn>
<code id="2vc2l"><thead id="2vc2l"><sub id="2vc2l"></sub></thead></code>