專利名稱:可編程事件計(jì)數(shù)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字計(jì)算機(jī)系統(tǒng),尤其涉及在分析數(shù)字計(jì)算機(jī)系統(tǒng)的操作性能和系統(tǒng)調(diào)試中有用的、以及作為基于事件的中斷的源的一種內(nèi)置式芯片上可編程電子事件計(jì)數(shù)器系統(tǒng)。
背景電子計(jì)數(shù)器是眾所周知的設(shè)備并以許多形式出現(xiàn)。一種作為軟件計(jì)數(shù)器是由微處理器執(zhí)行的被編程的計(jì)數(shù)器。另一種作為數(shù)字電子計(jì)數(shù)器。眾所周知,這類計(jì)數(shù)器可以被配置成增加—(即)從規(guī)定數(shù)目向上計(jì)數(shù)或減少—向下計(jì)數(shù)。此外,它們可以被編程或硬連線(hard-wired),以便分別從由各自的軟件程序或硬連線設(shè)置在那里的特殊數(shù)目增加或減少。
計(jì)數(shù)器長期以來一直被用作數(shù)字系統(tǒng)(包括與本發(fā)明有關(guān)的數(shù)字處理系統(tǒng))的一個(gè)部件。當(dāng)計(jì)數(shù)器被用在數(shù)字處理系統(tǒng)中時(shí),它們經(jīng)常被“內(nèi)置”到半導(dǎo)體芯片。也就是說,它被建立在相同的半導(dǎo)體芯片上,數(shù)字處理系統(tǒng)的其他半導(dǎo)體部件、功能單元被制造在其上,它們在操作期間被使用(例如,處理器)。例如,申請人被告知,“高能奔騰”處理器包含兩個(gè)寄存器,可以對它們進(jìn)行編程,以便作為計(jì)數(shù)器來運(yùn)行。它們在處理器內(nèi)用于控制,以便下溢或溢出生成一個(gè)控制信號(hào)、一個(gè)中斷,該中斷被用在微處理器的操作中。
在一些數(shù)字系統(tǒng)中,電子計(jì)數(shù)器一直被用作計(jì)時(shí)器。通過直接或間接地計(jì)算高頻的時(shí)鐘脈沖,減數(shù)計(jì)數(shù)器能夠使脈沖重復(fù)比率逐步減小到一個(gè)較低的比率,在各輸出脈沖之間產(chǎn)生一個(gè)較大的時(shí)間間隔。脈沖-脈沖時(shí)間定義了精確的周期。通過被耦合到一個(gè)觸發(fā)器,可以產(chǎn)生所定義的持續(xù)時(shí)期內(nèi)的脈沖。
數(shù)字電子計(jì)數(shù)器也已用來計(jì)數(shù)事件。本發(fā)明還涉及數(shù)字電子計(jì)數(shù)器、更加深?yuàn)W的應(yīng)用中的事件計(jì)數(shù),計(jì)數(shù)事件以及在微處理器的操作時(shí)期內(nèi)所發(fā)生事件的組合。
這樣,本發(fā)明的主要目的是提供一種更加有效的系統(tǒng),用于從告知在處理器系統(tǒng)操作時(shí)期內(nèi)所發(fā)生事件的數(shù)字處理系統(tǒng)內(nèi)的功能單元收集信息。
本發(fā)明的另一個(gè)目的是提供一種更加可調(diào)整的系統(tǒng),用于通過在微處理器芯片上的單一位置處固定許多事件計(jì)數(shù)器和允許將產(chǎn)生功能單元的事件的數(shù)目(和種類)選擇到監(jiān)視器,來從微處理器的功能單元收集事件信息。
本發(fā)明的再一個(gè)目的是提供一種可編程的事件計(jì)數(shù)系統(tǒng),該系統(tǒng)能夠計(jì)算微處理器操作的一個(gè)時(shí)期內(nèi)所產(chǎn)生事件的組合,其中的事件根據(jù)布爾邏輯的規(guī)定被組合起來。
本發(fā)明的再一個(gè)目的是提供一種處理器系統(tǒng),當(dāng)一個(gè)事件或多個(gè)事件的組合的計(jì)數(shù)達(dá)到預(yù)定數(shù)目時(shí),該系統(tǒng)合并一個(gè)硬件事件計(jì)數(shù)器,以便在各個(gè)可選擇的處理器功能之間進(jìn)行自動(dòng)切換,例如通過生產(chǎn)一個(gè)中斷,從而避免了用軟件處理事件的測定與切換功能的必要性。
概要通過在處理器芯片的一個(gè)位置上固定許多可編程的數(shù)字電子計(jì)數(shù)器和多路復(fù)用器而建立的一種事件計(jì)數(shù)器系統(tǒng)實(shí)現(xiàn)了前述的各個(gè)目的。每個(gè)多路復(fù)用器與計(jì)數(shù)器中的至少和一個(gè)計(jì)數(shù)器有關(guān)。多路復(fù)用器用作計(jì)數(shù)器到在處理器的功能單元處生成的事件信息的通路。
每個(gè)多路復(fù)用器的多個(gè)輸入通道都被耦合到處理器的各種功能單元中的多個(gè)位置,該處理器的動(dòng)作將直接或間接地加以計(jì)算,每個(gè)這樣的功能單元包含被耦合到前述多路復(fù)用器的輸入的多個(gè)不同的輸出。這允許計(jì)算那些功能單元的任何多個(gè)事件生成動(dòng)作。作為一個(gè)優(yōu)點(diǎn),本發(fā)明避免了為獨(dú)個(gè)功能單元的多個(gè)事件生成動(dòng)作中的每個(gè)動(dòng)作合并分開的計(jì)數(shù)器的必要性。
計(jì)數(shù)器系統(tǒng)用作關(guān)于處理器系統(tǒng)中所發(fā)生事件的信息的一個(gè)來源。它是處理器芯片的不可分割的一部分。計(jì)數(shù)器系統(tǒng)用于生成便利于處理器操作的中斷。
計(jì)數(shù)器系統(tǒng)在軟件控制下可編程。當(dāng)一個(gè)組合信號(hào)被合適的總線上所提供的軟件選擇時(shí),進(jìn)行計(jì)數(shù),為一個(gè)事件監(jiān)測的功能單元(或多個(gè)單元),每個(gè)功能單元(或多個(gè)單元)內(nèi)的來源將被監(jiān)測或被組合與監(jiān)測。計(jì)數(shù)器系統(tǒng)甚至可以由處理器的執(zhí)行程序“在飛行中”編程或再編程,以便結(jié)合一項(xiàng)程序操作來使用計(jì)數(shù)器硬件。
作為本發(fā)明的再一個(gè)方面,系統(tǒng)包括一個(gè)組合邏輯單元(“信號(hào)組合器”),以便提供用于計(jì)數(shù)的一個(gè)“組合”事件。該組合邏輯單元能夠根據(jù)一個(gè)布爾邏輯標(biāo)準(zhǔn)來組合至少兩個(gè)不同的事件,并在軟件控制下被選擇。多路復(fù)用器的輸出通過多個(gè)信號(hào)組合器中的一個(gè)有關(guān)的信號(hào)組合器提供給計(jì)數(shù)器。不同的事件可以被合乎邏輯地組合,以建立要計(jì)數(shù)的組合事件。例如,除了由單一功能單元(只是X或只是Y)產(chǎn)生的單獨(dú)事件以外,這類事件可包括兩個(gè)所選事件(X和Y)的一個(gè)時(shí)鐘周期內(nèi)的并發(fā)事件、一個(gè)事件而不是另一個(gè)事件(是X不是Y,或是Y不是X)的發(fā)生,以及類似的位布爾函數(shù)。作為一個(gè)優(yōu)點(diǎn),對計(jì)算機(jī)系統(tǒng)內(nèi)發(fā)生的復(fù)雜的操作,可以用公式表示成多個(gè)事件輸入的非常有用的相互關(guān)系,用于計(jì)數(shù)。
通過閱讀本說明書中的關(guān)于本發(fā)明一個(gè)較佳實(shí)施例的詳細(xì)描述并結(jié)合
,精通該技術(shù)領(lǐng)域的人會(huì)更了解本發(fā)明的前述和額外的目的和優(yōu)點(diǎn)及其結(jié)構(gòu)特征(只在前文中作簡要的概述)。
附圖簡述圖1是本發(fā)明的一較佳實(shí)施例的方塊圖;圖2是圖1中的實(shí)施例的部件中所用的邏輯選擇電路的示意圖;圖3示意地展示了圖1中的實(shí)施例中所用的可切換邊緣和電平檢測電路;以及,圖4示意地展示了采用圖1所示實(shí)施例中所用的計(jì)數(shù)器的輸出的門控電路,以生成中斷信號(hào)。
較佳實(shí)施例的詳細(xì)描述參考圖1,該圖用塊圖的形式展示了計(jì)數(shù)器系統(tǒng)1的一個(gè)較佳實(shí)施例。計(jì)數(shù)器包括四個(gè)可編程計(jì)數(shù)器3、5、7和9;四個(gè)計(jì)數(shù)器控制寄存器11、13、15和17;四個(gè)信號(hào)組合器19、21、23和25;以及四個(gè)多路復(fù)用器(“MUXs”)27、29、31和33。如計(jì)數(shù)器系統(tǒng)周圍的虛線所表現(xiàn)的,前述部件被按自然法則地歸類在一起,在相同半導(dǎo)體芯片上的一個(gè)所選的位置被嵌入,微處理器及其有關(guān)的功能單元(其中只有一些被象征性地展示)被制造在其上。
一對總線35和37分別連接到控制寄存器和可編程計(jì)數(shù)器。那些總線中的每個(gè)總線包含數(shù)據(jù)和延伸到各自的寄存器和計(jì)數(shù)器的地址和數(shù)據(jù)輸入。這些線延伸到在塊38處表現(xiàn)的計(jì)算機(jī)的其他部分,它們可以合并包含計(jì)數(shù)器系統(tǒng)和功能元件的半導(dǎo)體芯片,數(shù)字?jǐn)?shù)據(jù)和地址信息來源于它們,以便為計(jì)數(shù)器和控制寄存器編程。
各種計(jì)數(shù)器的中斷輸出被耦合到門控電路。中斷總線36從門控電路延伸,使由任何計(jì)數(shù)器生成的一個(gè)中斷被那個(gè)門控電路輸出到計(jì)算機(jī)38中的其他單元。
每個(gè)計(jì)數(shù)器和每個(gè)控制寄存器在軟件控制下可單獨(dú)尋址,這在本文后面會(huì)更加詳細(xì)地加以描述。計(jì)數(shù)器是可編程的。它們可以被寫到軟件或由軟件讀取。它們可以是任何尺寸。在本發(fā)明的一個(gè)應(yīng)用實(shí)施例中,計(jì)數(shù)器是32位計(jì)數(shù)器。
每個(gè)控制寄存器19、21、23和25分別與四個(gè)計(jì)數(shù)器中的一個(gè)計(jì)數(shù)器有關(guān),并分別與信號(hào)組合器電路中的每個(gè)信號(hào)組合器電路有關(guān)??刂萍拇嫫魇强蓪ぶ返?,并在軟件控制下被寫入。一旦信息被寫入/被登記到控制寄存器,控制寄存器將選擇的信息提供給有關(guān)的信號(hào)組合器(這在本文后面會(huì)更加詳細(xì)地描述),并選擇有關(guān)的MUX將傳遞哪個(gè)輸入、要檢測的信號(hào)類型、中斷優(yōu)先和在事件中要采取的行動(dòng),處理器生成一個(gè)殺死(停止)信號(hào)。
每個(gè)MUX27、29、31和33都包含來自正在被操作的處理器中的每個(gè)功能單元的多重輸入。那些輸入被選擇性地多路復(fù)用到一個(gè)信號(hào)組合器,從那時(shí)起在程序控制下到一個(gè)有關(guān)的計(jì)數(shù)器(或一對計(jì)數(shù)器)(如下文更加詳細(xì)的描述),以便MUX各自的多重輸入中只有一個(gè)所選擇的輸入(只表現(xiàn)多個(gè)功能單元12、14、16和18中的一個(gè)功能單元,并且用塊象征性地展示)是活動(dòng)的,并能夠?qū)⒁粋€(gè)事件信號(hào)傳遞給計(jì)算程序的MUX的輸出。
應(yīng)該認(rèn)識(shí)到,這里所用的術(shù)語“功能單元”是指半導(dǎo)體芯片(它在正在數(shù)字計(jì)算機(jī)系統(tǒng)中運(yùn)行的一個(gè)軟件應(yīng)用程序的處理過程中執(zhí)行一項(xiàng)功能)上的任何單獨(dú)的數(shù)字電子部件(例如,共同構(gòu)成或定義一個(gè)微處理器的那些功能元件),并非意在被局限于執(zhí)行指令的特殊單元。要理解本發(fā)明,并不一定要知道功能元件的細(xì)節(jié),不需要描述該細(xì)節(jié)。其中的一些細(xì)節(jié)在本說明書的背景部分中被簡要描述。那些功能單元可以包括程序計(jì)數(shù)器、數(shù)據(jù)高速緩沖存儲(chǔ)器、總線界面、指令執(zhí)行、存儲(chǔ)緩沖器、整數(shù)單元、浮點(diǎn)單元和類似物。
在所說明的特定實(shí)施例和應(yīng)用中,每個(gè)MUX從每個(gè)功能單元接收四個(gè)分開的輸入,被應(yīng)用于每個(gè)MUX的輸入的總數(shù)是16個(gè)。如本文其他地方所描述的,應(yīng)該理解,一些處理器功能單元能夠(或可能能夠)提供不只四個(gè)事件信號(hào),因此,在其他的應(yīng)用實(shí)施例中,更多數(shù)量的輸入(和更大的MUXs)可以被代替,或者M(jìn)UXs可以被聯(lián)結(jié)。
到每個(gè)MUX的輸入經(jīng)由總線4、6、8和10被提供,每個(gè)總線都包含足夠的導(dǎo)線,以處理起源于各個(gè)功能單元的單獨(dú)的事件。每個(gè)這樣的總線的前述導(dǎo)線延伸到處理器的各自單獨(dú)的功能單元內(nèi)的不同輸出位置,功能單元位于半導(dǎo)體芯片上的其他地方,可以用作事件的單獨(dú)來源,軟件科學(xué)家可能希望選擇這些單獨(dú)的來源,用于監(jiān)測。例如,這些單元可以是程序計(jì)數(shù)器、數(shù)據(jù)高速緩沖存儲(chǔ)器、總線界面、指令執(zhí)行、存儲(chǔ)緩沖器、整數(shù)單元、浮點(diǎn)單元。
通過將每個(gè)微處理器功能單元設(shè)計(jì)成包含至少四個(gè)不同的事件輸出信號(hào),可以選擇和監(jiān)測其中的任何事件輸出信號(hào),用于與其有關(guān)的一個(gè)事件。因此,在應(yīng)用實(shí)施例總線4、6、8和10中,每個(gè)總線包含四個(gè)單獨(dú)的導(dǎo)線,并且從計(jì)數(shù)器系統(tǒng)1延伸到各自的處理器功能單元12、14、16和18。但是,顯而易見,如果一個(gè)功能單元被設(shè)計(jì)包含很少的事件信號(hào)來源(比如說三個(gè)),則總線中的額外導(dǎo)線可以被忽略或不被使用。
該實(shí)施例中為每個(gè)功能單元所選的位置的數(shù)目—4個(gè)被認(rèn)為是足夠的。應(yīng)該理解,系統(tǒng)并不局限于只監(jiān)測四個(gè)功能單元,也不局限于只監(jiān)測每個(gè)功能單元中的四個(gè)事件生成位置。人們經(jīng)常會(huì)發(fā)現(xiàn),一些功能單元包含四個(gè)以上的位置,它們作為有用的事件信息的潛在來源是有價(jià)值的。為了在一個(gè)給定的功能單元中供應(yīng)更多的位置,那個(gè)功能單元可能包含(或應(yīng)該被修改,以便包含)有關(guān)的地方事件選擇邏輯(例如,地方MUX),以便為經(jīng)由被識(shí)別的總線而到事件計(jì)數(shù)系統(tǒng)的傳送選擇四個(gè)事件的特殊集合。與所描述的事件計(jì)數(shù)器一樣,那個(gè)地方選擇邏輯也應(yīng)該被軟件控制。
此外,當(dāng)處理器芯片上待監(jiān)測的可能的獨(dú)個(gè)功能單元的數(shù)目超過四個(gè)時(shí),功能單元必須包括位于離計(jì)數(shù)器控制單元很遠(yuǎn)的半導(dǎo)體芯片上的另一個(gè)MUX單元,本質(zhì)上用樹狀結(jié)構(gòu)將兩個(gè)MUX“聯(lián)系”起來。后者安排由圖中的功能單元18展示。
如所示的內(nèi)容,功能單元18包含一組四個(gè)MUXs20,實(shí)際上組成一個(gè)“虛擬的”功能單元。該組中的每個(gè)單獨(dú)的MUX通過四個(gè)導(dǎo)線總線被連接到實(shí)際的功能單元。這樣,功能單元20的輸出是連接到四個(gè)輸入中的一個(gè)輸入的許多實(shí)際功能單元中所選擇的一個(gè)功能單元,這四個(gè)輸入是到被選擇和被啟動(dòng)的四個(gè)MUX的組中的一個(gè)MUX。進(jìn)行該選擇的裝置也較佳地被程序控制??梢杂妙愃频姆绞絹碓黾右蟊O(jiān)測的額外數(shù)量的功能單元方面的規(guī)定。前述MUX可以被包括在包含所述計(jì)數(shù)器系統(tǒng)的芯片的區(qū)域中。
每個(gè)MUX也包含被耦合到控制寄存器11、13、15和17的一個(gè)選擇輸入總線28、30、32和34。將由MUX輸出的特殊的MUX輸入由一種選擇代碼(二進(jìn)制代碼比較合適,被應(yīng)用于其各自的選擇輸入)來選擇。該選擇代碼通過控制寄存器11、13、15和17中各自有關(guān)的控制寄存器來被加以應(yīng)用,這以后將在計(jì)數(shù)器單元的操作描述中進(jìn)行討論。
通過控制寄存器,信號(hào)組合器19、21、23和25是可編程的,可定義單獨(dú)事件的組合的標(biāo)準(zhǔn)。通過一個(gè)有關(guān)的控制寄存器中的信息,來對那些結(jié)合器進(jìn)行邏輯選擇。如所示的內(nèi)容,控制寄存器11提供在信號(hào)組合器單元19中的選擇,寄存器13提供在邏輯單元21中的選擇,寄存器15提供在單元23中的選擇,寄存器17控制在信號(hào)組合器單元25中的選擇。
信號(hào)組合器單元19、21、23和25都包含兩個(gè)數(shù)據(jù)輸入,每個(gè)輸入被連接到兩個(gè)MUX中的一個(gè)分開MUX的輸出,啟動(dòng)來自獨(dú)個(gè)功能單元中的兩個(gè)功能單元的事件的一項(xiàng)信號(hào)組合功能。為了清楚起見,信號(hào)組合器輸入被標(biāo)記有四個(gè)MUX 27、29、31和33中特殊兩個(gè)的圈出的數(shù)字,其輸出分別被連接到各自信號(hào)組合器單元的兩個(gè)輸入,如果需要的話,其事件可以被結(jié)合起來,這以后將更全面地加以描述。這樣,如圖中所示,來自MUX33的輸出連接到信號(hào)組合器單元19和21的一個(gè)輸入,MUX31的輸出連接到信號(hào)組合器單元21和23的一個(gè)輸入,等等。
在這個(gè)實(shí)施例中,計(jì)數(shù)器3、5、7和9被配置成從一個(gè)設(shè)置的數(shù)字減小。所需的數(shù)字或計(jì)數(shù)適當(dāng)?shù)赝ㄟ^計(jì)算機(jī)38并經(jīng)由總線35被寫入計(jì)數(shù)器。每當(dāng)接收到一個(gè)輸入時(shí),計(jì)數(shù)就減少。一旦計(jì)數(shù)器減小到零以下,它就會(huì)產(chǎn)生一個(gè)輸出。該輸出是從數(shù)字“0”(代表正數(shù))到數(shù)字“1”(代表負(fù)數(shù))的其MSB處的記號(hào)或極性“記號(hào)”輸出的一個(gè)變化。
這種設(shè)計(jì)的計(jì)數(shù)器繼續(xù)減小過零并計(jì)算負(fù)數(shù),減小具有每個(gè)額外輸入的負(fù)數(shù),直到達(dá)到最大的數(shù)字。當(dāng)達(dá)到那個(gè)最大的數(shù)字時(shí),計(jì)數(shù)器重置,將其MSB或記號(hào)輸出改變?yōu)檎?,并利用額外的輸入脈沖,從那個(gè)最大的正數(shù)減小。這種計(jì)數(shù)器配置眾所周知,在技術(shù)文獻(xiàn)中可找到它的設(shè)計(jì)。
繼續(xù)參考圖1,每個(gè)信號(hào)組合器19、21、23和25包括一個(gè)“位”布爾邏輯電路,該電路提供基于兩個(gè)輸入的所有16項(xiàng)可能的功能。這種邏輯選擇電路對于精通該技術(shù)領(lǐng)域的人而言眾所周知,并在有關(guān)“C”編程的文獻(xiàn)中有所描述。這種選擇電路可包括三個(gè)MUX(例如圖2中所示意地展示的),可對其加以參考。該硬件包含三個(gè)雙重通道MUX 47、48和49,選擇寄存器50包含被標(biāo)記有從A到D的塊,代表四位的功能選擇數(shù)據(jù)。X和Y代表將被合乎邏輯地組合在一起的兩個(gè)輸入。MUX49的輸出是由選擇寄存器中的塊A到B的高狀態(tài)或低狀態(tài)規(guī)定的通道X和Y的組合。
表格1-第1部分信號(hào)組合函數(shù)的值
利用這個(gè)信號(hào)組合器,為通過MUX=s的事件輸入信號(hào)的四種可能的組合中的每種組合定義一個(gè)信號(hào)輸出值——選擇。以下的表格1-第1部分和1-第2部分表現(xiàn)了被用于規(guī)定有關(guān)兩個(gè)輸入信號(hào)的邏輯函數(shù)的各個(gè)值,表格中指定的X和Y由一對MUX=s提供。計(jì)數(shù)器3、5、7和9的X-Y個(gè)信號(hào)對分別是MUX對27&33、31&33、29&31,以及27&29。表格使用C布爾符號(hào)表格中的符號(hào)“&”代表按位“與”運(yùn)算;符號(hào)“|”代表包含的“或”運(yùn)算;符號(hào)“^”代表排除的“或”運(yùn)算,符號(hào)“!”代表一個(gè)“非”運(yùn)算。
表格1-第2部分信號(hào)組合函數(shù)的值
信號(hào)組合器單元的多功能性允許計(jì)算單獨(dú)的事件和計(jì)算組合的事件,這被稱作“組合邏輯”。例如,首先假設(shè)某人只希望計(jì)算發(fā)生在功能單元的事件,而不將該事件與任何其他用于計(jì)算的事件結(jié)合起來,比如由表格中的輸入X代表的事件,它對應(yīng)于來自一個(gè)MUX的輸出,忽略不計(jì)輸入Y和第二MUX。定位表格的第2部分中的列Oxc,人們發(fā)現(xiàn)一個(gè)“僅X”表達(dá)。這意味著輸出將只是信號(hào)輸入值中的四個(gè)位進(jìn)行比較,以肯定這種情況。應(yīng)用于關(guān)于那個(gè)選擇的結(jié)合器的信號(hào)選擇,輸入的位代碼是1和0的相同的串。利用被輸入信號(hào)組合器單元19的那個(gè)代碼,在發(fā)生一個(gè)事件時(shí),只計(jì)算來自MUX33的輸出。
同樣,如果將只提供Y處的輸入,在表格第2部分的列Oxa(11的十六進(jìn)制)中發(fā)現(xiàn)該運(yùn)算的位代碼,它是該運(yùn)算的真實(shí)表格值。又例如,再考慮邏輯單元19,只有來自MUX27的輸出被計(jì)算為一個(gè)事件。
但是,如果某人想只在一個(gè)事件發(fā)生在由X和Y(換言之,是X“與”Y的布爾邏輯值)代表的兩個(gè)位置時(shí)進(jìn)行計(jì)算,則在計(jì)算之前,X和Y輸入必須是“真”。在列Ox8中可發(fā)現(xiàn)該組合邏輯值的選擇。如在該列中所示,提供了該布爾關(guān)系的正確表格值和位值,以識(shí)別“與”運(yùn)算。X和Y在第四行中都是“真”。
假設(shè)將那些選擇位值編程入到信號(hào)組合器單元19的選擇輸入,如果事件信號(hào)在MUXs27和33的所選輸入處被同時(shí)接收和呈現(xiàn),那么,只計(jì)數(shù)事件。這樣,可以選擇各種不同的布爾邏輯運(yùn)算。如人們所理解的,雖然可用,但不可能將所有那些組合用于每種處理器系統(tǒng)中的這個(gè)計(jì)數(shù)器系統(tǒng)中。
如以塊形式(例如,信號(hào)組合器單元19中的塊19a和19b、單元21中的21a和21b,以及關(guān)于單元23和25的塊)所示,信號(hào)組合器19、21、23和25也包括傳統(tǒng)設(shè)計(jì)的邊緣檢測模式和電平檢測模式電路。信號(hào)組合器在缺省的情況下處于電平檢測模式。當(dāng)需要時(shí),它們被設(shè)置為邊緣檢測模式,也通過軟件控制來實(shí)現(xiàn)。
術(shù)語“邊緣”和“電平”可能也被改編成來自脈沖電壓測量的技術(shù)的簡寫表達(dá),其中,一個(gè)脈沖主要邊緣及其持續(xù)時(shí)間是可觀察到的特征,這些術(shù)語會(huì)使更熟悉測量技術(shù)的一些讀者最初誤解那些電路的操作。為了避免迷惑,應(yīng)該理解,這里被稱作的“邊緣”檢測可以被更加精確地描述,意在意味著一個(gè)事件的發(fā)生,即,一個(gè)事件已經(jīng)開始或發(fā)生(即使只是很簡要的)。這里稱作的“電平”檢測可以被更加精確地描述為一個(gè)事件的持續(xù)時(shí)間的意思,即一個(gè)事件信號(hào)(或情況)持續(xù)的時(shí)間長度。
這樣,在“電平”敏感模式—默認(rèn)模式中,計(jì)數(shù)器將計(jì)算時(shí)鐘周期(其中,事件被確定為是“真”C邏輯上的“1”)的數(shù)目并代表事件的持續(xù)時(shí)間。當(dāng)“邊緣”檢測邏輯事件是“真”但在前面的周期中是“假”(邏輯上的“0”)時(shí),它們在時(shí)鐘周期方面被加以計(jì)算。這樣,在“邊緣”檢測模式中,計(jì)數(shù)事件從“假”轉(zhuǎn)換為“真”所需的時(shí)間數(shù)量。
例如,考慮熟悉的高速緩沖存儲(chǔ)器錯(cuò)誤事件。在層次模式中,計(jì)算其中可發(fā)現(xiàn)處于高速緩沖存儲(chǔ)器錯(cuò)誤狀態(tài)的處理器的時(shí)鐘周期的總數(shù)目。在邊緣模式中,計(jì)算高速緩沖存儲(chǔ)器錯(cuò)誤的數(shù)目。利用手頭的那些計(jì)算,人們可以確定每次高速緩沖存儲(chǔ)器錯(cuò)誤的時(shí)鐘周期的平均數(shù)目。該平均數(shù)目是一個(gè)有用的性能統(tǒng)計(jì)數(shù)字。
圖3示意地展示了關(guān)于邊緣和電平檢測的電路的執(zhí)行情況,可對其進(jìn)行參考。X和Y輸入(事件信號(hào))被應(yīng)用于一個(gè)信號(hào)組合器19,該信號(hào)組合器用于將輸出組合到MUX51的輸出。觸發(fā)器52的控制輸入被保留在邏輯上的“0”。觸發(fā)器的輸出又應(yīng)用于“非”門53的輸入,“非”門的輸出被輸入到“與”門54的輸入,那個(gè)“非”門的輸出被輸入到“與”門54的一個(gè)輸入?!芭c”門54的第二輸入也被連接到結(jié)合器輸出。
在默認(rèn)的條件下,到MUX51的選擇輸入55保留在一個(gè)邏輯上的“0”,因此,它將結(jié)合器的輸出傳送到MUX輸出。但是,當(dāng)MUX的選擇輸入被設(shè)置為邏輯上的“1”時(shí),其輸出通過其第二通道輸入被提供,該通道輸入被連接到“與”門54的輸出。當(dāng)D觸發(fā)器52接收一個(gè)“1”信號(hào)時(shí),它發(fā)生變化并重置,即刻將其輸出從“1”改變?yōu)椤?”,然后回到“1”。負(fù)走向的脈沖被倒轉(zhuǎn)并被應(yīng)用于“與”門54的一個(gè)輸入,利用其另一個(gè)輸入處呈現(xiàn)的數(shù)字“1”,它在觸發(fā)器“0”輸出脈沖的瞬間內(nèi)將一個(gè)輸出提供給MUX51。
只要“1”保留在觸發(fā)器輸入處,觸發(fā)器就不能生成負(fù)脈沖,只有當(dāng)來自信號(hào)組合器19的事件輸出終止時(shí),才能夠這樣做。這樣,來自MUX51的輸出表現(xiàn)一個(gè)組合事件何時(shí)開始或發(fā)生、邊緣檢測,而不是事件的持續(xù)時(shí)間。這些檢測單元較佳地被包括在信號(hào)組合器單元的輸出端處,如果需要的話,它們也可以被放置在輸入端處。
除了通過存儲(chǔ)在有關(guān)的控制寄存器中的代碼正在進(jìn)行的合乎邏輯的選擇以外,該寄存器也提供這些代碼,以選擇邊緣檢測或電平檢測模式。
在必要的情況下,關(guān)于正確的操作,在被發(fā)送到事件組合邏輯(信號(hào)組合器)之前,所有的事件應(yīng)該被同步到相同的管道階段。該同步確保事件信號(hào)同時(shí)被提供給組合邏輯,這些事件信號(hào)可能不同步,而且不重疊,從而導(dǎo)致信號(hào)在不同的時(shí)間達(dá)到組合邏輯,因而無法被組合。通過阻止一個(gè)事件信號(hào)、延遲其傳送和/或擴(kuò)展其持續(xù)時(shí)間,在其他信號(hào)趕上之前,兩個(gè)信號(hào)可以被同時(shí)呈現(xiàn),因此允許有效的組合。這類延遲或保留電路被(或應(yīng)該被)并入功能單元中,以便處理起源于各個(gè)功能單元的那些事件信號(hào),可以發(fā)現(xiàn)它們需要這類延遲或抑制。所以,同步對于允許多個(gè)事件按一種有意義的方式被組合而言很重要,對于使全局切斷信號(hào)有意義也很重要。在′205Kelly專利系統(tǒng)中,本文后面會(huì)更全面地加以描述,一個(gè)全局切斷信號(hào)只由執(zhí)行階段中的指令生成。一些事件(例如,中斷)本質(zhì)上是異步的,沒有有意義的方法可使它們同步成EM階段。
參考圖4,該圖示意地展示了圖1中的門40的內(nèi)容,通過它,如果計(jì)數(shù)器3、5、7或9中的任何計(jì)數(shù)器獲得各自特殊的被編程數(shù)目,則系統(tǒng)提供一個(gè)中斷。這個(gè)門包含“或”門41和四個(gè)“與”門42-45。那些“與”門的輸出被輸入到“或”門。每個(gè)各自的“與”門的一個(gè)輸入耦合到MSB或多個(gè)計(jì)數(shù)器中的一個(gè)計(jì)數(shù)器的記號(hào)輸出。如所指出的內(nèi)容,計(jì)數(shù)器3的記號(hào)輸出耦合到門42的一個(gè)輸入。到那個(gè)“與”門的另一個(gè)輸入被耦合到與各自的計(jì)數(shù)器有關(guān)的控制寄存器的中斷使能終端。在給出的例子中,到“與”門42的第二輸入被耦合到控制寄存器11的輸出。如圖中的導(dǎo)線數(shù)目所指出的,來自其他計(jì)數(shù)器的類似連接和它們有關(guān)的控制寄存器被連接到其他“與”門的輸入。
當(dāng)一個(gè)特定計(jì)數(shù)器要生成關(guān)于達(dá)到一個(gè)規(guī)定計(jì)數(shù)的中斷時(shí),“中斷使能”信息與這里所寫的其他數(shù)字信息同時(shí)被載入有關(guān)的控制寄存器。該中斷使能是用文字格式被寫入控制寄存器的一個(gè)特殊位置處的一個(gè)“1”,這在本文后面更加全面地加以描述。如果不是這樣,則該特殊的位保留在一個(gè)“0”??刂萍拇嫫髦械闹袛嗍鼓苄畔⒊霈F(xiàn)在寄存器的輸出處,并出現(xiàn)在到一個(gè)有關(guān)的“與”門的一個(gè)輸入處。例如,假設(shè)計(jì)數(shù)器3可實(shí)現(xiàn)中斷,則進(jìn)入“與”門42的導(dǎo)線11是一個(gè)數(shù)字“1”。只有當(dāng)“與”門的兩個(gè)輸入都處于數(shù)字“1”時(shí),“與”門才能將其輸出改變成數(shù)字“1”。如果任何一個(gè)門輸入處于“0”,則“與”門不會(huì)改變其輸出。它保留“0”。
如較早時(shí)候所描述的,當(dāng)計(jì)數(shù)器達(dá)到其計(jì)算(即,減小過0)時(shí),其MSB或記號(hào)輸出從數(shù)字“0”變成數(shù)字“1”。當(dāng)?shù)健芭c”門42的兩個(gè)輸入都是“1”時(shí),“與”門將其輸出改變成數(shù)字“1”?!盎颉遍T41(如果任何“與”門輸出數(shù)字“1”,它會(huì)輸出數(shù)字“1”)對應(yīng)于并提供數(shù)字“1”輸出(用作中斷信號(hào))。當(dāng)計(jì)數(shù)器的各個(gè)控制寄存器被編程為中斷使能時(shí),中斷可以按類似的方式由達(dá)到計(jì)算的任何其他的計(jì)數(shù)器提供。
對應(yīng)運(yùn)算,編程科學(xué)家決定將計(jì)算什么事件。這個(gè)人選擇上至四個(gè)事件,并決定這些事件是應(yīng)該被組合用于計(jì)算還是進(jìn)行單獨(dú)計(jì)算。如果決定是組合這些事件,那么,這個(gè)人決定怎樣將它們組合起來以生成四個(gè)計(jì)數(shù)器信號(hào)。這個(gè)人將信息編程入文本數(shù)據(jù)并相應(yīng)地將該信息發(fā)送到計(jì)數(shù)器控制。
以下圖表表現(xiàn)了關(guān)于控制寄存器的32位字的一種可能格式的一個(gè)例子,展示了每段文字的內(nèi)容和邊界位位置3114 13 10 9 8 7 6 5 4 3
如所示內(nèi)容,在這個(gè)例子中,沒有使用位位置14~31。
分開的32位字被用于為各個(gè)計(jì)數(shù)器提供計(jì)算。計(jì)算文字中的32二進(jìn)制位位置允許在計(jì)數(shù)器中插入一個(gè)很大的數(shù)字,它有時(shí)是需要的,并取決于計(jì)數(shù)器是被用于生成一個(gè)中斷還是只是允許某人在一段預(yù)定的時(shí)間后進(jìn)行計(jì)算。
標(biāo)記有“事件選擇”的字的6位部分從由功能單元發(fā)送到所描述的計(jì)數(shù)器單元的所有那些事件信號(hào)中選擇事件信號(hào)。通過產(chǎn)生信號(hào)的功能單元的說明書和電線或電線(該信號(hào)在其上被發(fā)送到這個(gè)計(jì)數(shù)器單元),來實(shí)現(xiàn)選擇。
UNIT這個(gè)名稱是指“單元索引選擇”。處理器內(nèi)的每個(gè)功能單元都被分配了標(biāo)志。這個(gè)4位數(shù)據(jù)識(shí)別產(chǎn)生被監(jiān)測事件的計(jì)算機(jī)內(nèi)的功能單元。產(chǎn)生事件的單元在事件描述中被用記憶方法指出。
WIRE這個(gè)名稱是“連線選擇器”。這個(gè)塊中的2位識(shí)別應(yīng)該為這個(gè)事件計(jì)數(shù)器選擇來自所選功能單元的四根電線中的哪些電線。事件在其上被發(fā)送的電線由計(jì)數(shù)器單元中的一個(gè)事件選擇寄存器確定。
IE這個(gè)名稱是指“中斷使能”。如較早時(shí)候所描述的內(nèi)容,計(jì)數(shù)器可以被用來生成一個(gè)中斷。這個(gè)位置的數(shù)字位指出計(jì)數(shù)器是否將會(huì)生成那個(gè)中斷。這個(gè)位置的一個(gè)“0”指示,將不生成中斷。那個(gè)位置的一個(gè)“1”命令計(jì)數(shù)器生成一個(gè)中斷。如果計(jì)數(shù)器最重要的位—MSB,位31是1,則中斷應(yīng)該是“中斷優(yōu)先領(lǐng)域IP”中所規(guī)定的優(yōu)先項(xiàng),這在本文后面描述。由于控制單元的較佳實(shí)施例使用減數(shù)計(jì)數(shù)器,因此,當(dāng)該文字的CNT塊中所規(guī)定的計(jì)算減小到一個(gè)負(fù)值時(shí),生成中斷,這在本文后面描述。
IP這個(gè)名稱是指“中斷優(yōu)先”。為增加計(jì)數(shù)器系統(tǒng)的多功能性,可以包括優(yōu)先層次標(biāo)識(shí)符。這個(gè)數(shù)據(jù)位規(guī)定了當(dāng)該計(jì)數(shù)器的位31是一個(gè)數(shù)字1時(shí)所要求的計(jì)數(shù)器中斷的優(yōu)先。高度優(yōu)先計(jì)數(shù)器中斷比處理器所用的正常的高度優(yōu)先權(quán)更高。應(yīng)該理解,該計(jì)數(shù)器系統(tǒng)被并入其內(nèi)的處理器應(yīng)該具有檢測、使用和遵照該優(yōu)先信息行事的必要的能力。關(guān)于代碼簡介(性能分析)應(yīng)用,通常使用高度的優(yōu)先權(quán)。監(jiān)視器定時(shí)器應(yīng)用也會(huì)可能使用這項(xiàng)高度優(yōu)先權(quán)。如果中斷優(yōu)先在一個(gè)特殊的處理器系統(tǒng)中并不重要,則位位置可以保留不用。
名稱GK是指“全局切斷處理”,這里所用的術(shù)語表示取消當(dāng)前在處理器管道中的所有操作和許多處理器中的一項(xiàng)普通操作的功能,但由其他名稱所指。在本發(fā)明所在的處理器的操作過程中,該處理器或它的多個(gè)功能單元(例如,正在被監(jiān)測的功能單元)中的一個(gè)功能單元可以生成一個(gè)全局切斷信號(hào)。例如,這種全局切斷信號(hào)起源于′205Kelly等人的專利中所描述的系統(tǒng)內(nèi)的一個(gè)功能單元,這在本文的其他地方描述。關(guān)于增加的編程多功能性,如文本操作員的要求,本發(fā)明被較佳地組織成作出相應(yīng)的響應(yīng)或不作出相應(yīng)的響應(yīng)。這樣,數(shù)字文字的這個(gè)塊中的“0”指出,全局切斷信號(hào)將被忽略,即,不管本發(fā)明所在的處理器發(fā)出的一個(gè)全局殺死命令存在與否,如果用信號(hào)通知,則計(jì)數(shù)事件。但是,“1”指出殺死信號(hào)應(yīng)用,在哪個(gè)事件中,在應(yīng)用殺死信號(hào)的處理器操作的時(shí)期內(nèi),用信號(hào)通知給來自功能單元的計(jì)數(shù)器的事件不會(huì)被加以計(jì)算。
名稱M代表“計(jì)數(shù)模式”。這個(gè)數(shù)據(jù)塊規(guī)定計(jì)數(shù)器應(yīng)該何時(shí)計(jì)算是“信號(hào)組合函數(shù)”的輸出的信號(hào)。在這個(gè)位置的“0”命令計(jì)數(shù)器根據(jù)被輸入信號(hào)的持續(xù)時(shí)間來引發(fā)計(jì)算,以便在處理器時(shí)鐘的每個(gè)時(shí)鐘周期內(nèi)計(jì)算出信號(hào)是正確的。另一方面,“1”命令計(jì)數(shù)器根據(jù)邊緣檢測的發(fā)生(發(fā)生的事件)來引發(fā)其計(jì)算,也就是說計(jì)算被接收的信號(hào)何時(shí)從“假”變成“真”。
名稱SCF代表“信號(hào)組合函數(shù)”。在這些位位置的數(shù)據(jù)為兩個(gè)事件輸入信號(hào)的四個(gè)可能的組合中的每個(gè)組合定義一個(gè)單一的輸出值。例如,與每個(gè)計(jì)數(shù)器有關(guān)的數(shù)字邏輯電路(這在本文其他地方更加詳細(xì)地描述)允許兩個(gè)分開的事件被組合起來。這個(gè)計(jì)數(shù)器單元能夠提供該信息。在本文較早陳述的具有一張“事實(shí)表格”的“位”布爾邏輯中描述了選擇。因?yàn)檫@個(gè)邏輯部件被連續(xù)地連接到計(jì)數(shù)器輸入,所以,其中的一項(xiàng)命令是允許只來自多個(gè)MUX輸入中的一個(gè)輸入的輸入,從而只計(jì)算與其有關(guān)的單獨(dú)的事件。
每個(gè)計(jì)數(shù)器包含一個(gè)32位(二進(jìn)制)計(jì)數(shù)寄存器。這個(gè)計(jì)數(shù)寄存器可以經(jīng)由總線35由軟件讀取或被寫入。通過經(jīng)由計(jì)算機(jī)38開始的一項(xiàng)軟件讀取操作,進(jìn)行性能分析的軟件科學(xué)家(或計(jì)算機(jī)程序本身)可以隨時(shí)檢查計(jì)數(shù)器中的計(jì)算。寄存器根據(jù)較早時(shí)候所描述的事件選擇和處理邏輯來減小寄存器中所包含的數(shù)字。當(dāng)計(jì)算減小到0以下(即一個(gè)負(fù)數(shù))時(shí),已經(jīng)實(shí)現(xiàn)該計(jì)算。
如果處理器系統(tǒng)在測試時(shí)間正在運(yùn)行,計(jì)數(shù)器也許已經(jīng)在計(jì)算,它首先應(yīng)該被停止。為了做到這一點(diǎn),“0”被寫入計(jì)數(shù)器的“計(jì)數(shù)器控制寄存器”。通過設(shè)置信號(hào)組合函數(shù)領(lǐng)域以輸出一個(gè)恒定的“假”信號(hào),這個(gè)動(dòng)作使中斷生成和計(jì)算無法實(shí)現(xiàn)。
運(yùn)算相對直接了當(dāng)?shù)?。利用被編程入?jì)數(shù)器3、5、7和9的規(guī)定的計(jì)算和被安裝在各個(gè)控制寄存器11、13、15和17中的所需選擇,MUX的選擇器建立與被選擇用于計(jì)算的特殊功能單元中的來源有關(guān)的導(dǎo)線,各個(gè)信號(hào)組合器建立規(guī)定的事件或?qū)⒂梢粋€(gè)有關(guān)的計(jì)數(shù)器計(jì)算的事件組合。假設(shè)計(jì)數(shù)器3將監(jiān)測功能單元12中的一個(gè)源處的一個(gè)事件,MUX27建立到信號(hào)組合器19的一條路徑,它已被設(shè)置來只允許那個(gè)輸入27通過到計(jì)數(shù)器。這些事件因此被計(jì)算。當(dāng)計(jì)數(shù)器3中所規(guī)定的計(jì)算被達(dá)到時(shí),一個(gè)中斷信號(hào)由計(jì)數(shù)器提供給門40,那個(gè)門又將總線36上的中斷發(fā)送到計(jì)算機(jī)。如果控制寄存器被設(shè)置成使能中斷,則它們只是被生成。
同樣,例如,當(dāng)所需的計(jì)數(shù)是對事件組合計(jì)數(shù)時(shí),來自功能單元12的一個(gè)來源和來自功能單元16的另一個(gè)源MUXs27和33被選擇來監(jiān)測那些源,并將它們各自的輸出應(yīng)用于信號(hào)組合器19。只有當(dāng)發(fā)生在兩個(gè)源處的事件的輸入信號(hào)被應(yīng)用于信號(hào)組合器各自的兩個(gè)輸入時(shí),該信號(hào)組合器才允許一個(gè)輸出到計(jì)數(shù)器。如同以前,當(dāng)計(jì)算被達(dá)到時(shí),計(jì)數(shù)器3輸出被應(yīng)用于門40的一個(gè)中斷,并從該門被發(fā)送到總線36上的計(jì)算機(jī)38。
應(yīng)該理解,其他所有的計(jì)數(shù)器可能正在同時(shí)進(jìn)行計(jì)算。本質(zhì)上與以前一樣,該運(yùn)算不需要加以分開描述。
如精通該技術(shù)領(lǐng)域的人所理解的,雖然較佳實(shí)施例中所用的信號(hào)組合器提供了廣泛的可能的選擇,但是,在不脫離本發(fā)明的范圍的前提下,其他的信號(hào)組合器可能被代替,允許較少數(shù)量或種類的選項(xiàng)。
此外,前述實(shí)施例硬連線或連接兩個(gè)MUXs到兩個(gè)信號(hào)組合器單元,而那些MUXs又被硬連線到處理器內(nèi)特殊的功能單元。但是,由于每個(gè)事件選擇MUX樹狀結(jié)構(gòu)在所展示的應(yīng)用實(shí)施例中的兩個(gè)計(jì)數(shù)器之間被分享,因此,為給定的一個(gè)計(jì)數(shù)器選擇的每個(gè)事件也被輸入到一個(gè)鄰近計(jì)數(shù)器的信號(hào)組合函數(shù),在應(yīng)用中稍加限制。認(rèn)為可以修改前述的實(shí)施例,以便具有更大的多功能性,另一個(gè)選擇電路將允許人改變哪些MUX輸出被連接到特殊的信號(hào)組合器單元。
此外,可以利用附加電平的選擇邏輯來進(jìn)一步改進(jìn)圖1的實(shí)施例,以便形成能夠監(jiān)測更加復(fù)雜的操作的選擇性實(shí)施例。每個(gè)選擇邏輯單元19、21、23和25根據(jù)由多個(gè)功能單元中的兩個(gè)功能單元中的各項(xiàng)活動(dòng)之間的設(shè)置組合邏輯定義的規(guī)定關(guān)系來提供一項(xiàng)計(jì)算。通過增加選擇邏輯的一個(gè)額外的階段,以便接收和監(jiān)測來自圖的實(shí)施例所示的選擇邏輯單元中的兩個(gè)選擇邏輯單元(例如,選擇邏輯單元19和21)的輸出,并通過向多個(gè)計(jì)數(shù)器中的一個(gè)計(jì)數(shù)器呈現(xiàn)那個(gè)額外的選擇邏輯的輸出,人們能夠獲得基于選擇邏輯單元19與21之間的規(guī)定關(guān)系(由所規(guī)定的組合邏輯定義)的一項(xiàng)計(jì)算。因此,這種計(jì)算基于多個(gè)處理器功能單元中的四個(gè)處理器功能單元中的一個(gè)被監(jiān)測動(dòng)作的發(fā)生。為了實(shí)現(xiàn)這種改進(jìn)的實(shí)施例,有必要增加一個(gè)額外的控制寄存器(如同前面所描述的控制寄存器),以便將合適的選擇輸入提供給該額外的選擇邏輯單元。精通該技術(shù)領(lǐng)域的人會(huì)理解,可以進(jìn)一步執(zhí)行事件的所述漸增,用于監(jiān)測更加復(fù)雜的關(guān)系,盡管這樣做的有意義的理由或必要性目前并不明顯。
如果需要的話,人們也可以使用三個(gè)或四個(gè)輸入信號(hào)組合函數(shù)。一般而言,前述計(jì)數(shù)器系統(tǒng)的結(jié)構(gòu)允許有N個(gè)計(jì)數(shù)器,每個(gè)計(jì)數(shù)器將根據(jù)X個(gè)獨(dú)立輸入事件的函數(shù)來進(jìn)行計(jì)算。這種安排要求N-X個(gè)事件選擇MUX樹狀結(jié)構(gòu)。如果為N和X所選的數(shù)字很大,則該結(jié)構(gòu)將要求很大數(shù)量的邏輯裝置,由于被建立在一個(gè)半導(dǎo)體芯片上,該結(jié)構(gòu)需要大量的芯片領(lǐng)域。所述的應(yīng)用實(shí)施例以減少多功能性為代價(jià)提供了節(jié)省芯片面積的一種方法。
新穎的計(jì)數(shù)器系統(tǒng)在應(yīng)用中是通用的。它對Kelly等人的、于1998年11月3日授予的第5,832,205號(hào)美國專利中所描述的系統(tǒng)具有特殊的應(yīng)用。該專利名稱為《用于檢測與正在被尋址的一個(gè)部件的物理性質(zhì)有關(guān)的推測失誤的微處理器的存儲(chǔ)控制器》(′205Kelly專利),它被受讓于本發(fā)明的受讓人—Transmeta公司。
′205Kelly專利尤其描述了一種新穎的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)用作能夠執(zhí)行利用一個(gè)指令集設(shè)計(jì)的軟件程序的主機(jī)系統(tǒng),意在在具有不同設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)、目標(biāo)系統(tǒng),以及包含對于目標(biāo)系統(tǒng)而言是獨(dú)特的但與主機(jī)系統(tǒng)不相關(guān)的一個(gè)指令集的系統(tǒng)上運(yùn)行。這包含被稱作“代碼變體軟件”的軟件和硬件,該硬件在其他事物中將包括軟件程序“在飛行(運(yùn)行)中”的指令轉(zhuǎn)換成主機(jī)指令集的指令的軟件,然后執(zhí)行那些指令。
Kelly等人的計(jì)算機(jī)系統(tǒng)尋求通過重新計(jì)劃、記錄和取消所發(fā)現(xiàn)的不必要的被轉(zhuǎn)換指令來實(shí)行優(yōu)化,以便以一種更有效的順序來執(zhí)行一系列指令。為實(shí)現(xiàn)該目的,它繼續(xù)轉(zhuǎn)換指令來產(chǎn)生第一序列的自然轉(zhuǎn)換主機(jī)指令,并將該轉(zhuǎn)換保存在一個(gè)轉(zhuǎn)換緩沖器中。然后,代碼變體軟件嘗試通過優(yōu)化該序列來簡化轉(zhuǎn)換。
然而,當(dāng)這種優(yōu)化的序列由于任何原因而未能執(zhí)行時(shí),處理器生成一個(gè)例外并執(zhí)行稱作“重新運(yùn)行”的過程,將指令執(zhí)行返回目標(biāo)處理器的正確狀態(tài)已知的一個(gè)執(zhí)行優(yōu)先點(diǎn)。然后,處理器重新開始使用“自然”轉(zhuǎn)換的轉(zhuǎn)換(包括更多的基本指令),并存儲(chǔ)指令序列中每個(gè)步驟的目標(biāo)處理器的狀態(tài)。當(dāng)該例外最終重新發(fā)生時(shí),這使處理器能夠處于正確的狀態(tài),以便可以適當(dāng)?shù)靥幚碓摾狻?br>
通過創(chuàng)建執(zhí)行時(shí)間較少的較短且更容易管理的指令轉(zhuǎn)換,′205Kelly系統(tǒng)中的處理器經(jīng)常能夠以高于計(jì)算機(jī)(軟件原來為它設(shè)計(jì))的操作速度來運(yùn)行軟件程序。
在前述的優(yōu)化過程中,許多例外或重新運(yùn)行命令可能最初會(huì)頻繁發(fā)生,然后隨著前述人工學(xué)習(xí)的繼續(xù)而逐漸停止。監(jiān)測那些事件允許軟件確定是否進(jìn)一步實(shí)行優(yōu)化。新的計(jì)數(shù)器可以被并入′205Kelly專利的計(jì)算機(jī)內(nèi),以便允許優(yōu)化軟件來監(jiān)測那些事件。
當(dāng)作為一種關(guān)鍵的設(shè)備被包括在計(jì)算機(jī)處理器的功能中時(shí),前述的計(jì)數(shù)器系統(tǒng)可以應(yīng)用于一個(gè)特定事件,以便當(dāng)進(jìn)行一項(xiàng)預(yù)定的計(jì)算時(shí)生成一個(gè)處理器中斷,這可以顯示一個(gè)事件的發(fā)生過于頻繁或與系統(tǒng)設(shè)計(jì)者有關(guān)的另一個(gè)原因。尤其是,通過計(jì)算時(shí)鐘周期(即時(shí)間間隔)來檢測某些事件的額外活動(dòng)(例如,重新運(yùn)行)和提供實(shí)時(shí)的性能信息,計(jì)數(shù)器可以被應(yīng)用于周期性地生成中斷。然后,后面的信息可由代碼變體軟件使用,來動(dòng)態(tài)地改變代碼生成的行為。
此外,計(jì)數(shù)器系統(tǒng)可以被應(yīng)用來監(jiān)測正常的處理器活動(dòng)過程中主要處理器事件的發(fā)生,以及性能監(jiān)視器的傳統(tǒng)使用。然后,可以分析所獲得的信息,以便理解處理器行為和校準(zhǔn)性能模擬器。計(jì)數(shù)器還允許內(nèi)部的邏輯事件被軟件監(jiān)測,而不影響邏輯的操作。這提供了一項(xiàng)調(diào)試功能。
監(jiān)測這類事件通常使工程師或軟件科學(xué)家了解潛在的瓶頸,在某個(gè)程序和其通過軟件的不可見行為的其他方面的運(yùn)行過程中會(huì)遇到這些瓶頸。這是一種性能測量與定時(shí)功能,它特別有助于設(shè)計(jì)者開發(fā)硬件或軟件的精致附件,以便改進(jìn)一種新的處理系統(tǒng)的操作。
這樣,例如,新的計(jì)數(shù)器可以被進(jìn)一步應(yīng)用于根據(jù)′205Kelly專利構(gòu)造的計(jì)算機(jī)內(nèi),以便計(jì)算前述的例外和重新運(yùn)行事件、處理器失速發(fā)生的次數(shù)、處理器完成有用工作所采取的周期的次數(shù)、中斷被全局失靈或被防礙的次數(shù)、例外失靈的次數(shù)、被錯(cuò)誤預(yù)測的支路和所采用的支路及許多其他事件的次數(shù),這可能與計(jì)算機(jī)和軟件設(shè)計(jì)者有關(guān),但是不一定要理解本發(fā)明。
以上的描述定義了一種獨(dú)特、新穎的計(jì)數(shù)器系統(tǒng),該系統(tǒng)提供一種系統(tǒng)計(jì)算功能,其中成對事件被饋入兩個(gè)輸入的任意邏輯塊,能夠在程序控制下計(jì)算兩個(gè)輸入的任何函數(shù)。只有簡單的事件需要被直接生成。復(fù)雜的事件本質(zhì)上由組合函數(shù)同步化。
該行業(yè)的人眾所周知,計(jì)數(shù)器系統(tǒng)由屬于標(biāo)準(zhǔn)設(shè)計(jì)的各個(gè)部件構(gòu)造而成,這是一個(gè)優(yōu)點(diǎn)。
這可以用于性能簡介,以便調(diào)試,識(shí)別引發(fā)某些需要的或不需要的事件的指令??梢苑治鏊坪踹\(yùn)行程序太慢的處理器芯片,并確定導(dǎo)致速度減慢的錯(cuò)誤或問題。
認(rèn)為本發(fā)明的較佳實(shí)施例的前述描述在內(nèi)容的詳細(xì)程度方面足以使精通該技術(shù)領(lǐng)域的人制作和使用本發(fā)明。但是,不言而喻,用于前述目的的元件的細(xì)節(jié)并非意在限制本發(fā)明的范圍,精通該技術(shù)領(lǐng)域的人在閱讀本說明書之后將了解那些元件和其他修改的等同物,它們都在本發(fā)明的范圍以內(nèi)。這樣,本發(fā)明將在所附權(quán)利要求的全部范圍內(nèi)被廣泛地加以構(gòu)造。
權(quán)利要求
1.在半導(dǎo)體芯片中的一種事件計(jì)數(shù)器系統(tǒng),所述半導(dǎo)體芯片上包括一微處理器,所述微處理器包括多個(gè)功能性執(zhí)行單元,其中,在所述微處理器的操作過程中,所述多個(gè)功能性執(zhí)行單元中的每一個(gè)執(zhí)行單元起事件信號(hào)源的作用,其特征在于所述系統(tǒng)包括多個(gè)可編程計(jì)數(shù)器,所述可編程事件計(jì)數(shù)器用于對在軟件應(yīng)用程序運(yùn)行期間由至少一個(gè)各自功能性單元所產(chǎn)生的事件計(jì)數(shù);所述多個(gè)可編程計(jì)數(shù)器被固定在所述半導(dǎo)體芯片的一個(gè)區(qū)域內(nèi);以及多個(gè)電氣總線,它們從關(guān)于電連接的所述位置延伸到所述多個(gè)功能單元中相應(yīng)功能單元,用于將發(fā)生在每個(gè)相應(yīng)功能單元處的事件信號(hào)耦合到所述位置。
2.如權(quán)利要求1中所限定的發(fā)明,其特征在于進(jìn)一步包括多個(gè)MUX=s,每個(gè)所述MUX包括多重輸入通道、單個(gè)輸出通道和一個(gè)選擇器,該選擇器可以選擇所述輸入通道中的一個(gè)通過到所述輸出通道;這響應(yīng)于將選擇器控制信息應(yīng)用于所述選擇器;多個(gè)信號(hào)組合邏輯裝置,每個(gè)所述信號(hào)組合邏輯裝置能夠規(guī)定多個(gè)可用布爾邏輯關(guān)系中任何一個(gè),所述組合邏輯裝置用于根據(jù)所述布爾邏輯關(guān)系中的一種關(guān)系合乎邏輯地組合被施加于一對輸入的信號(hào),以便只有當(dāng)所述輸入處的信號(hào)滿足所述一種布爾邏輯關(guān)系時(shí)才產(chǎn)生一個(gè)輸出;每個(gè)所述信號(hào)組合邏輯裝置包括一個(gè)選擇輸入,用于響應(yīng)于被施加于所述選擇輸入的控制信息來選擇所述多個(gè)布爾邏輯關(guān)系中的一種關(guān)系。
3.如權(quán)利要求2中所限定的發(fā)明,其中,每個(gè)所述多個(gè)MUX=s的所述輸出通道被連接到所述多個(gè)組合邏輯裝置中僅兩個(gè)裝置中每一個(gè)的一個(gè)輸入;以及其中,任何所述組合邏輯裝置的所述成對輸入的一個(gè)輸入被連接到所述多個(gè)MUX輸出的單個(gè)輸出,由此當(dāng)所述多個(gè)功能單元中兩個(gè)功能單元產(chǎn)生具有由所述控制信息所選擇的所選布爾邏輯關(guān)系的事件信號(hào)時(shí),所述組合邏輯裝置能夠產(chǎn)生一個(gè)輸出;以及所述多個(gè)組合邏輯裝置中每一個(gè)的所述輸出被連接到所述多個(gè)計(jì)數(shù)器的相應(yīng)一個(gè)的一個(gè)輸入,從而每個(gè)計(jì)數(shù)器響應(yīng)于所述組合邏輯裝置中相關(guān)一個(gè)的輸出而計(jì)算一個(gè)事件。
4.如權(quán)利要求3中所限定的發(fā)明,其中,每個(gè)所述MUX的所述選擇器響應(yīng)于數(shù)字選擇代碼的應(yīng)用來選擇一個(gè)輸入通道;以及其中,所述控制信息包括數(shù)字邏輯代碼。
5.如權(quán)利要求4中所限定的發(fā)明,其特征在于還包括多個(gè)控制寄存器,每個(gè)所述控制寄存器用于存儲(chǔ)至少一個(gè)數(shù)字選擇代碼和一個(gè)數(shù)字邏輯代碼;每個(gè)所述控制寄存器與所述多個(gè)組合邏輯裝置中各自一個(gè)以及與所述多個(gè)MUX=s中各自一個(gè)相關(guān)聯(lián),每個(gè)所述控制寄存器包含發(fā)送所存儲(chǔ)數(shù)字選擇代碼的第一輸出和發(fā)送所存儲(chǔ)數(shù)字邏輯代碼的第二輸出以及接收所述數(shù)字選擇代碼和所述數(shù)字邏輯代碼的一個(gè)輸入;所述控制寄存器的所述第一輸出被連接到所述各個(gè)MUX的所述選擇輸入,而所述控制寄存器的所述第二輸出被連接到所述各個(gè)組合邏輯單元的所述選擇輸入。
6.如權(quán)利要求5中所限定的發(fā)明,其特征在于還包括用于將數(shù)字選擇代碼和數(shù)字邏輯代碼輸入到所述多個(gè)控制寄存器的每一個(gè)的裝置。
7.如權(quán)利要求1中所限定的發(fā)明,其特征在于還包括用具有要計(jì)數(shù)的各個(gè)數(shù)對所述可編程計(jì)數(shù)器中至少一些編程的裝置;每個(gè)所述的可編程計(jì)數(shù)器包括一個(gè)輸出,用于提供達(dá)到在其內(nèi)編程的數(shù)字的輸出信號(hào);以及門控裝置,用于響應(yīng)于來自任何所述可編程計(jì)數(shù)器的輸出信號(hào)而提供一中斷輸出。
8.如權(quán)利要求7中所限定的發(fā)明,其中,每個(gè)所述可編程計(jì)數(shù)器包括一個(gè)減數(shù)計(jì)數(shù)器。
9.如權(quán)利要求8中所限定的發(fā)明,其特征在于還包括用于檢測信號(hào)的持續(xù)時(shí)間的電平檢測電路;以及用于檢測信號(hào)的發(fā)生的邊緣檢測電路;信號(hào)類型選擇裝置用于將串聯(lián)的所述電平檢測電路和所述邊緣檢測電路中的所選一個(gè)電路放于所述組合邏輯裝置的輸出與所述有關(guān)可編程計(jì)數(shù)器之間,從而任何一種信號(hào)可以被呈現(xiàn)給所述可編程計(jì)數(shù)器用于計(jì)數(shù)。
10.權(quán)利要求8中所限定的發(fā)明,其中,每個(gè)所述組合邏輯裝置提供一輸出信號(hào),該輸出信號(hào)持續(xù)一段事件組合被計(jì)數(shù)的周期;還包括多個(gè)邊緣檢測電路,所述邊緣檢測電路中的一個(gè)與所述多個(gè)組合邏輯裝置中各自一個(gè)有關(guān);每個(gè)所述邊緣檢測電路用于檢測來自一相關(guān)組合邏輯裝置的一輸出信號(hào)的開始,所述邊緣檢測電路具有從所述相關(guān)組合邏輯裝置接收所述輸出信號(hào)的一個(gè)輸入和提供表現(xiàn)所述被接收輸出信號(hào)的開始的輸出的一個(gè)輸出;用于選擇性地將與所述組合邏輯裝置有關(guān)的所述可編程計(jì)數(shù)器的所述輸入從所述各自組合邏輯裝置的所述輸出切換到來自所述邊緣檢測電路的所述輸出的裝置,由此,所述可編程計(jì)數(shù)器對事件的開始計(jì)數(shù)。
11.如權(quán)利要求5中所限定的發(fā)明,其特征在于還包括用具有待計(jì)數(shù)的各個(gè)數(shù)字對所述可編程計(jì)數(shù)器中至少一些進(jìn)行編程的裝置;每個(gè)所述可編程計(jì)數(shù)器包括一個(gè)輸出,用于當(dāng)達(dá)到其內(nèi)被編程的數(shù)字時(shí)提供一個(gè)輸出信號(hào);以及門控裝置,用于響應(yīng)于來自任何所述可編程計(jì)數(shù)器的輸出信號(hào)而提供一個(gè)中斷輸出。
12.如權(quán)利要求11中所限定的發(fā)明,其中,每個(gè)所述組合邏輯裝置提供一個(gè)持續(xù)一段事件組合被計(jì)算的周期的輸出信號(hào);以及還包括多個(gè)邊緣檢測電路,所述邊緣檢測電路中的一個(gè)邊緣檢測電路與所述多個(gè)組合邏輯裝置中各自一個(gè)有關(guān);每個(gè)所述邊緣電路用于檢測來自一個(gè)有關(guān)組合邏輯裝置的輸出信號(hào)的開始,所述邊緣檢測電路具有一個(gè)輸入和一個(gè)輸出,該輸入用于接收來自所述有關(guān)組合邏輯裝置的所述輸出信號(hào),該輸出用于提供表現(xiàn)所述被接收輸出信號(hào)的開始的輸出;選擇性地將與所述組合邏輯裝置有關(guān)的所述可編程計(jì)數(shù)器的所述輸入從所述各自組合邏輯裝置的所述輸出切換到來自所述邊緣檢測電路的所述輸出的裝置,由此,所述可編程計(jì)數(shù)器對事件的開始計(jì)數(shù)。
13.如權(quán)利要求11中所限定的發(fā)明,其中,每個(gè)所述控制寄存器還包括用于接收和存儲(chǔ)中斷“使能”位并提供“使能”位輸出的裝置,當(dāng)達(dá)到由與所述控制寄存器有關(guān)的可編程計(jì)數(shù)器的計(jì)數(shù)產(chǎn)生一個(gè)中斷時(shí),所述“使能”位輸出是“真”,否則是“假”;以及其中,所述門控裝置還包括多個(gè)“與”門,每個(gè)所述“與”門包括第一輸入、第二輸入和一個(gè)輸出,只有當(dāng)所述第一和第二輸入“真”時(shí)提供一個(gè)“真”輸出;一個(gè)“或”門,所述“或”門具有耦合到每個(gè)所述“與”門的輸出的輸入,當(dāng)任何所述輸入為“真”時(shí)提供一個(gè)輸出;每個(gè)所述“與”門的所述第一輸入被連接到所述多個(gè)可編程計(jì)數(shù)器的各自一個(gè)的輸出;以及每個(gè)所述“與”門的所述第二輸入被連接到所述控制寄存器的的各自一個(gè)的所述“使能”位輸出,所述控制寄存器與所述多個(gè)可編程計(jì)數(shù)器的所述各自一個(gè)有關(guān)。
14.在一種半導(dǎo)體芯片中的一種事件計(jì)數(shù)器系統(tǒng),所述半導(dǎo)體芯片上包括一個(gè)微處理器,所述微處理器包括多個(gè)功能單元,其特征在于所述系統(tǒng)包括多個(gè)可編程事件計(jì)數(shù)器,所述可編程事件計(jì)數(shù)器用于對在一項(xiàng)軟件應(yīng)用程序運(yùn)行期間由所述多個(gè)功能單元中至少一些產(chǎn)生的事件計(jì)數(shù),所述多個(gè)事件計(jì)數(shù)器被固定在所述半導(dǎo)體芯片上的一個(gè)位置上;每個(gè)所述可編程事件計(jì)數(shù)器包括一個(gè)輸出,用于達(dá)到其內(nèi)被編程的各個(gè)數(shù)字時(shí)輸出一個(gè)信號(hào);多個(gè)輸出總線,它們被連接到各個(gè)所述多個(gè)可編程事件計(jì)數(shù)器輸出;多個(gè)電氣總線,它們從關(guān)于電連接的所述位置內(nèi)延伸到各個(gè)所述的多個(gè)功能單元,用于將每個(gè)各自的功能單元處的事件耦合到所述位置;被耦合到所述可編程計(jì)數(shù)器的一個(gè)編程總線,用于將數(shù)字輸入到用以計(jì)數(shù)的所述各個(gè)可編程計(jì)數(shù)器;多個(gè)MUXs,每個(gè)所述MUX包括多重輸入通道、單個(gè)輸出通道和一個(gè)選擇器,該選擇器能夠選擇所述輸入通道中的一個(gè)輸入通道通過所述輸出通道,這響應(yīng)于將控制信息應(yīng)用于所述選擇器;多個(gè)信號(hào)組合邏輯裝置;每個(gè)所述信號(hào)組合邏輯裝置用于合乎邏輯地組合施加于一對輸入的信號(hào),以便只有當(dāng)所述輸入處的信號(hào)滿足一種預(yù)定邏輯關(guān)系時(shí)才產(chǎn)生一個(gè)輸出;每個(gè)所述信號(hào)組合邏輯裝置包括一個(gè)選擇輸入,能夠響應(yīng)于控制信息的應(yīng)用而從多個(gè)不同邏輯關(guān)系中選擇一種邏輯關(guān)系;所述多個(gè)不同的邏輯關(guān)系至少包括輸入1“唯真”,輸入2“唯真”,輸入1和輸入2“真”,輸入1“非”輸入2“真”,輸入2“非”輸入1“真”,以及輸入1“或”輸入2“真”;每個(gè)所述多個(gè)MUXs包括一個(gè)輸出,該輸出被連接到所述多個(gè)組合邏輯裝置中的僅兩個(gè)組合邏輯裝置的一個(gè)輸入;任何所述組合邏輯裝置的每個(gè)輸入被連接到所述多個(gè)MUX輸出的單個(gè)一個(gè),從而當(dāng)至少兩個(gè)功能單元中的每個(gè)功能單元的輸出所產(chǎn)生的事件滿足由所述控制信息選擇的邏輯關(guān)系時(shí),所述組合邏輯裝置能夠產(chǎn)生一個(gè)輸出;每個(gè)所述多個(gè)組合邏輯裝置具有其輸出,該輸出被連接到所述多個(gè)事件計(jì)數(shù)器中相關(guān)一個(gè)的輸入,從而每個(gè)事件計(jì)數(shù)器響應(yīng)于所述組合邏輯裝置中的一個(gè)有關(guān)組合邏輯裝置的輸出而對事件計(jì)數(shù);每個(gè)所述組合邏輯裝置,還包括用于檢測被施加信號(hào)的持續(xù)時(shí)間的電平檢測電路、用于檢測被施加信號(hào)的發(fā)生的邊緣檢測電路,以及選擇裝置,該選擇裝置響應(yīng)于控制信息的選擇,用于在所述電平檢測與所述邊緣檢測之間進(jìn)行選擇,以便將串聯(lián)的所述電平檢測電路和所述邊緣檢測電路中的這一個(gè)或那一個(gè)電路放置在有關(guān)組合邏輯裝置的輸出與所述有關(guān)計(jì)數(shù)器的所述輸入之間;多個(gè)控制寄存器,每個(gè)所述控制寄存器與各個(gè)所述計(jì)數(shù)器有關(guān);被耦合到所述通信總線的每個(gè)所述控制寄存器,用于接收和寄存來自外部源的控制信息,所述控制信息包括關(guān)于組合邏輯裝置的選擇的邏輯組合、相關(guān)MUX到輸出的輸入通道、所述電平檢測電路與邊緣檢測電路中的一個(gè)電路、以及一個(gè)中斷“使能”位,當(dāng)達(dá)到與所述控制寄存器有關(guān)的可編程計(jì)數(shù)器的計(jì)數(shù)產(chǎn)生一個(gè)中斷時(shí),所述“使能”位輸出是“真”,否則是“假”;用于響應(yīng)于來自任何所述可編程計(jì)數(shù)器的輸出來提供一個(gè)中斷的門控裝置;所述門控裝置還包括多個(gè)“與”門,每個(gè)所述“與”門包括第一輸入、第二輸入和一個(gè)輸出,用于只有當(dāng)所述第一和第二輸入“真”時(shí)才提供一個(gè)“真”輸出;一個(gè)“或”門,所述的“或”門具有被耦合到每個(gè)所述“與”門的輸出的輸入,用于當(dāng)任何所述輸入“真”時(shí)提供一個(gè)輸出;每個(gè)所述的“與”門的所述第一輸入被連接到所述多個(gè)可編程計(jì)數(shù)器的各自一個(gè)的輸出;以及每個(gè)所述的“與”門的所述第二輸入被連接到所述控制寄存器的各自一個(gè)的所述“使能”位輸出,該控制寄存器與所述多個(gè)可編程計(jì)數(shù)器的所述各自一個(gè)有關(guān)。
15.如權(quán)利要求14中所限定的發(fā)明,其中,所述多個(gè)功能單元包括至少一個(gè)存儲(chǔ)器單元、第一和第二算術(shù)與邏輯單元,以及一個(gè)浮點(diǎn)單元。
16.一種事件計(jì)數(shù)系統(tǒng),用于監(jiān)測發(fā)生在數(shù)字處理系統(tǒng)內(nèi)的功能單元的事件,其特征在于所述系統(tǒng)包括多個(gè)可編程計(jì)數(shù)器和相關(guān)控制寄存器;同樣多個(gè)信號(hào)組合器裝置,每個(gè)所述信號(hào)組合器裝置與所述可編程計(jì)數(shù)器和相關(guān)控制寄存器中的一個(gè)相關(guān),每個(gè)所述信號(hào)組合器裝置用于響應(yīng)于由至少一個(gè)所述功能單元的事件的產(chǎn)生滿足一預(yù)選邏輯標(biāo)準(zhǔn)而產(chǎn)生一個(gè)輸出,并將那個(gè)輸出施加于所述可編程計(jì)數(shù)器中的有關(guān)一個(gè)計(jì)數(shù)器;每個(gè)所述控制寄存器用于將邏輯標(biāo)準(zhǔn)選擇信息提供給與所述計(jì)數(shù)器有關(guān)的信號(hào)組合器;以及用于對所述控制寄存器和所述可編程計(jì)數(shù)器編程的裝置,其中,選擇信息被載入所述控制寄存器,一個(gè)計(jì)數(shù)被載入每個(gè)計(jì)數(shù)器;每個(gè)所述控制寄存器包括將計(jì)數(shù)信息載入有關(guān)寄存器并將選擇信息載入有關(guān)信號(hào)組合器的裝置。
17.一種芯片上的中央處理器,其特征在于它包括一個(gè)微處理器,所述微處理器包括多個(gè)功能單元;以及一個(gè)可編程數(shù)字電子計(jì)數(shù)器系統(tǒng),用于對在操作期間發(fā)生在所述功能單元中至少一個(gè)功能單元中的事件進(jìn)行計(jì)數(shù),所述數(shù)字電子計(jì)數(shù)器系統(tǒng)包括至少四個(gè)單獨(dú)的可編程數(shù)字電子計(jì)數(shù)器。
18.一種芯片上的中央處理器,其特征在于它包括一個(gè)微處理器,所述微處理器包括多個(gè)功能單元,所述功能單元定義X個(gè)獨(dú)立輸入事件的源,其中X是一個(gè)整數(shù);以及一個(gè)可編程數(shù)字電子計(jì)數(shù)器系統(tǒng),用于對在操作期內(nèi)發(fā)生在所述功能單元中的至少一個(gè)功能單元的事件進(jìn)行計(jì)數(shù);所述數(shù)字電子計(jì)數(shù)器系統(tǒng)包括至少N個(gè)單獨(dú)的可編程數(shù)字電子計(jì)數(shù)器,其中N是不小于4的數(shù)字;所述數(shù)字電子計(jì)數(shù)器系統(tǒng)還包括多個(gè)N-X事件選擇MUX樹狀結(jié)構(gòu),用于允許多個(gè)所述X個(gè)事件在所述計(jì)數(shù)器系統(tǒng)處被選擇性地加以監(jiān)測;以及多個(gè)N信號(hào)組合邏輯裝置,一個(gè)信號(hào)組合邏輯裝置與所述N個(gè)數(shù)字電子計(jì)數(shù)器中的一個(gè)對應(yīng)數(shù)字電子計(jì)數(shù)器相關(guān);每個(gè)所述的信號(hào)組合邏輯裝置能夠規(guī)定多種可用布爾邏輯關(guān)系中的任何一種關(guān)系,所述組合邏輯裝置用于根據(jù)所述布爾邏輯關(guān)系的一種關(guān)系來合乎邏輯地組合被施加于Y個(gè)輸入的信號(hào),以便只有當(dāng)所述輸入上的信號(hào)滿足所述一種布爾邏輯關(guān)系時(shí)才產(chǎn)生一個(gè)輸出,其中Y是大于1、且小于或等于N的一個(gè)數(shù)字。
全文摘要
在整個(gè)微處理器芯片中發(fā)生的某些事件由一個(gè)計(jì)數(shù)器系統(tǒng)(1)監(jiān)測,該計(jì)數(shù)器系統(tǒng)包含許多被固定在處理器芯片上的單個(gè)位置處的數(shù)字電子計(jì)數(shù)器(3、5、7和9)。那些事件經(jīng)由電線被傳達(dá)給計(jì)數(shù)器系統(tǒng),電線延伸到負(fù)責(zé)用信號(hào)通知事件發(fā)生的處理器中的那些功能單元。在程序控制下,每個(gè)計(jì)數(shù)器可以被選擇性地連接到(11、13、15和17)各種功能事件產(chǎn)生單元的一個(gè)所選單元。通過選擇邏輯(19、21、23和25),起源于多個(gè)功能單元的分開的事件可以被合乎邏輯地加以組合,從而所計(jì)算的事件是多個(gè)基礎(chǔ)事件的布爾邏輯組合。
文檔編號(hào)G06F13/24GK1378679SQ00814184
公開日2002年11月6日 申請日期2000年9月6日 優(yōu)先權(quán)日1999年10月13日
發(fā)明者B·庫恩, D·凱佩爾, C·R·普萊斯 申請人:全斯美達(dá)有限公司