專利名稱:用于處理器單元中操作數(shù)處理的方法和設(shè)備的制作方法
現(xiàn)有技術(shù)本發(fā)明的出發(fā)點(diǎn)是按照獨(dú)立權(quán)利要求的前序部分所述的用于在具有至少兩個(gè)執(zhí)行單元的處理器單元中處理操作數(shù)的方法和設(shè)備、在至少兩種工作模式之間的切換、以及相應(yīng)的處理器單元。
這種帶有至少兩個(gè)集成的執(zhí)行單元的處理器單元也公知為雙芯結(jié)構(gòu)或者說多芯結(jié)構(gòu)。根據(jù)現(xiàn)有技術(shù),主要出于兩個(gè)原因提出這樣的雙芯結(jié)構(gòu)或者說多芯結(jié)構(gòu)在一個(gè)方面從而可以提升性能,也就是達(dá)到一種性能的提高,其中把所述兩個(gè)執(zhí)行單元或者說芯看作在一個(gè)半導(dǎo)體裝置上的兩個(gè)計(jì)算單元。在這樣的配置中兩個(gè)執(zhí)行單元或者說芯執(zhí)行對(duì)應(yīng)不同的任務(wù)對(duì)應(yīng)程序。由此達(dá)到一種性能提高,因此這種配置稱為性能模件或者說性能模塊。
除了用作超級(jí)標(biāo)量處理器以外,第二個(gè)原因是實(shí)現(xiàn)一種提高安全性的雙芯結(jié)構(gòu)或者說多芯結(jié)構(gòu),其中兩個(gè)執(zhí)行單元冗余地執(zhí)行相同的程序。比較這兩個(gè)執(zhí)行單元的結(jié)果,然后通過比較相符性來識(shí)別出錯(cuò)。下面把這種配置稱為安全性模式或者安全模式。
一般地這兩個(gè)所述的配置唯一地只包含雙芯或者多芯配置,就是說,有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)原則上只用一個(gè)模式工作要么是性能模式要么是安全模式。
現(xiàn)今本發(fā)明的任務(wù)是,能夠關(guān)于至少兩種工作類型如此實(shí)現(xiàn)這種雙芯或者多芯處理器單元的組合工作,使得在此可以實(shí)現(xiàn)在至少兩種工作模式、也即尤其在安全模式和性能模式之間的最佳切換。
發(fā)明優(yōu)點(diǎn)一方面,出于安全原因希望冗余地處理操作數(shù)或者冗余地執(zhí)行程序或者任務(wù)、也即執(zhí)行任務(wù)程序、程序部分、代碼字組、或者各個(gè)指令,但是另一方面,出于成本原因,在執(zhí)行非安全緊要的功能時(shí)提供完全冗余的硬件又是不值得追求的。按照本發(fā)明,該目標(biāo)沖突在處理器單元中通過在至少兩種工作模式之間的優(yōu)化切換來解決。
因此,本發(fā)明以一種用于在具有至少兩個(gè)執(zhí)行單元的處理器單元中處理操作數(shù)的方法和設(shè)備為出發(fā)點(diǎn),所述執(zhí)行單元可以以可預(yù)定的時(shí)鐘工作,其中利用控制信號(hào)來控制所述執(zhí)行單元用于處理操作數(shù),并且可以在第一工作模式和第二工作模式之間進(jìn)行切換,其中有利地在所述第一工作模式中,給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在第二工作模式中,給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),在所述第一工作模式中,利用相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù),在第二工作模式中,利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù)。
在此,有利地在所述第一工作模式中,以與用于所述執(zhí)行單元的操作數(shù)處理的時(shí)鐘相關(guān)的方式作為全時(shí)鐘把操作數(shù)饋送給所述執(zhí)行單元,在第二工作模式中以比所述全時(shí)鐘更快的第二時(shí)鐘來饋送操作數(shù)用于處理。
在此,有利地相同地選擇執(zhí)行單元的時(shí)鐘和全時(shí)鐘,其中在特定的改進(jìn)方案中,比全時(shí)鐘快兩倍的第二時(shí)鐘被構(gòu)成為半時(shí)鐘。
有利地,在兩種工作模式中同步處理所述操作數(shù),其中也可以設(shè)想在第一工作模式中同步處理操作數(shù)而在第二工作模式中異步處理操作數(shù)。
出于安全原因可以規(guī)定,所述操作數(shù)或者從所述操作數(shù)中導(dǎo)出的數(shù)據(jù)(例如由此構(gòu)成的ECC碼)的相符性通過比較器來比較,其中在出現(xiàn)偏差時(shí)識(shí)別為出錯(cuò)。同樣在處理操作數(shù)時(shí)所產(chǎn)生的狀態(tài)(例如所導(dǎo)出的ECC碼形式的數(shù)據(jù))或者結(jié)果的相符性通過比較器來比較,其中這里在出現(xiàn)偏差時(shí)也識(shí)別為出錯(cuò)。在兩種情況下,在比較時(shí)取決于工作模式確定,這種比較是否被執(zhí)行,或者哪些操作數(shù)、數(shù)據(jù)、狀態(tài)或者結(jié)果被比較。
于是,在寫到總線上之前,所述狀態(tài)和結(jié)果通過釋放信號(hào)被釋放,其中這取決于所述工作模式和比較結(jié)果來進(jìn)行,使得狀態(tài)或者結(jié)果可以同時(shí)或者先后被釋放。
在此,除了包括可以以可預(yù)定的時(shí)鐘工作的至少兩個(gè)執(zhí)行單元之外,本發(fā)明設(shè)備或者具有這種設(shè)備的處理器單元還包含一控制裝置,尤其作為切換裝置,所述控制裝置在第一工作模式和第二工作模式之間切換,并且利用控制信號(hào)控制執(zhí)行單元來處理操作數(shù),所述控制裝置與所述執(zhí)行單元和其他饋送單元相連接,其中所述控制裝置與所述執(zhí)行單元如此共同起作用,以致在所述第一工作模式中給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在所述第二工作模式中給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),其中所述控制裝置如此被構(gòu)成,使得在所述第一工作模式中利用相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù),在第二工作模式中利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù)。
在此,有利地所述控制裝置和所述饋送單元如此被構(gòu)成,使得在所述第一工作模式中與執(zhí)行單元的時(shí)鐘相關(guān)地作為全時(shí)鐘把操作數(shù)提供給所述執(zhí)行單元,在第二工作模式中以比所述全時(shí)鐘更快的第二時(shí)鐘來提供操作數(shù)用于處理。
在此,兩個(gè)執(zhí)行單元可以僅僅被構(gòu)成為運(yùn)算器(ALU)或者也可以被構(gòu)成為運(yùn)算芯(Core)或者處理單元(CPU)。因此,本發(fā)明有利地可應(yīng)用于在處理器單元中作為執(zhí)行單元用于處理操作數(shù)的所有至少兩倍實(shí)施的這種組件。
饋送單元被如此設(shè)計(jì)為寄存器裝置,使得設(shè)有至少一個(gè)操作數(shù)寄存器(Operandenregister),并且在操作數(shù)寄存器和每個(gè)執(zhí)行單元之間設(shè)有至少一個(gè)緩存寄存器,其中所述饋送單元和所述執(zhí)行單元如此被構(gòu)成,使得所述饋送單元和所述執(zhí)行單元在第二工作模式、即性能模式LM中利用不同的時(shí)鐘工作或者被操作,尤其所述饋送單元如此被構(gòu)成,使得所述饋送單元在第二工作模式中以比所述執(zhí)行單元更快的、尤其兩倍快的時(shí)鐘工作或者被操作。
有利地設(shè)有一解碼器,通過所述解碼器可識(shí)別切換條件,并且所述解碼器以與所述饋送單元相同的時(shí)鐘工作或者被操作。
在此,有利地可選地設(shè)有第一切換裝置,所述第一切換裝置如此被構(gòu)成或者可工作,使得所述第一切換裝置根據(jù)所述第一或者第二工作模式連接所述供給裝置,和/或設(shè)有第二切換裝置,所述第二切換裝置如此被構(gòu)成或者可工作,使得所述第二切換裝置根據(jù)所述第一或第二工作模式連接所述執(zhí)行單元。
有利地,所述饋送單元和所述執(zhí)行單元如此被構(gòu)成,使得所述饋送單元和所述執(zhí)行單元在第一工作模式、即所述安全模式中以相同的時(shí)鐘并且尤其同步地工作或者被操作。
其他優(yōu)點(diǎn)和有利的改進(jìn)方案從說明書以及從權(quán)利要求的特征中得出。
下面借助于在附圖中所示的圖進(jìn)一步描述本發(fā)明。
在此,圖1和圖2分別示出具有加倍的運(yùn)算器和操作數(shù)寄存器裝置的處理器單元,其中所述操作數(shù)寄存器裝置分別具有一個(gè)操作數(shù)寄存器和分別具有一個(gè)緩存寄存器。
圖3同樣示出一個(gè)這種具有加倍的執(zhí)行單元以及一個(gè)不同于圖1和2的操作數(shù)寄存器裝置的處理器單元,該操作數(shù)寄存器裝置分別具有兩對(duì)操作數(shù)寄存器和相應(yīng)數(shù)量的緩存寄存器。
圖4示出用于傳送和處理操作數(shù)的不同時(shí)鐘,尤其是半時(shí)鐘和全時(shí)鐘。
圖5同樣示出與圖3可比較的具有加倍執(zhí)行單元的處理器單元,其中只有一個(gè)操作數(shù)輸入端可供執(zhí)行單元使用,并且在操作數(shù)寄存器裝置中僅僅設(shè)有一個(gè)操作數(shù)寄存器。
實(shí)施例說明在附圖的圖1、2、3和5中,除非另有說明,相同的和/或功能相同的元件用相同的附圖標(biāo)記指代。
為了更清楚起見,如存儲(chǔ)單元、外圍設(shè)備單元、在運(yùn)算器表示中的芯或者CPU的剩余部分等不直接按照本發(fā)明的存儲(chǔ)器單元組件在圖1、和2中沒有直接示出。當(dāng)然,兩個(gè)運(yùn)算器ALU A和ALU B同樣在本發(fā)明范圍內(nèi)可以對(duì)應(yīng)于CPU或者完整芯或CPU,因此如在圖3和5中仍要描述的那樣,本發(fā)明也可以用于完整雙芯結(jié)構(gòu)。當(dāng)然,在圖1和圖2中優(yōu)選的是,只有運(yùn)算器是加倍的,CPU的其他組件通過其他出錯(cuò)發(fā)現(xiàn)機(jī)制來保障。
在圖1和2中用附圖標(biāo)記1和2分別表示算術(shù)邏輯單元(ALUArithmetic Logic Unit)或者也表示浮點(diǎn)單元(FPUFloating Point Unit)作為執(zhí)行單元。在該實(shí)施例中,現(xiàn)在以冗余方式設(shè)計(jì)運(yùn)算器(ALU)。各個(gè)ALU單元1、2分別具有兩個(gè)輸入端和一個(gè)輸出端。在測(cè)試工作中,為執(zhí)行所設(shè)置的操作數(shù)可以直接從總線3被耦合輸入到ALU單元1、2的輸入端中,或者事先被存放在專門為此設(shè)置的操作數(shù)寄存器8、9中。該操作數(shù)寄存器8、9直接與數(shù)據(jù)總線3耦合。因此,從相同的操作數(shù)寄存器8、9來供應(yīng)兩個(gè)ALU單元1、2。另外,也可以規(guī)定,各個(gè)操作數(shù)通過總線已經(jīng)配備有在寄存器8A、9A中所存放的ECC編碼。也即在圖1和2(以及隨后所述的在圖3和5中)中給出ECC的所有點(diǎn)上,數(shù)據(jù)可以通過使用ECC碼(出錯(cuò)修正碼)來保障。
這種用于檢錯(cuò)的方法是多種多樣的,其中基本前提是利用出錯(cuò)識(shí)別或者出錯(cuò)修正碼、也即利用標(biāo)志來保障。在簡(jiǎn)單的情況下,該標(biāo)志可能只由標(biāo)志位、例如奇偶校驗(yàn)位組成。另一方面,保障也可以通過如貝爾格碼(Berger)或博斯林(Bose-Lin)碼等復(fù)雜ED碼(出錯(cuò)檢測(cè))、或者也可以通過如漢明碼等復(fù)雜ECC碼來實(shí)現(xiàn),以便能夠通過相應(yīng)的位數(shù)字實(shí)現(xiàn)安全的出錯(cuò)識(shí)別。但是,也可以(固定布線或者以軟件形式)被用作代碼發(fā)生器、例如發(fā)生器表,以便在地址的范圍內(nèi)將任意長(zhǎng)度的代碼形式分配給位的確定輸入形式。因此,尤其通過修正功能可以保證數(shù)據(jù)安全性。然而,在兩個(gè)執(zhí)行單元中(也即這里在兩個(gè)ALU 1和2中),在安全緊要模式、也即在安全模式SM中冗余地執(zhí)行安全緊要程序,由此按照本發(fā)明,其中的出錯(cuò)通過比較相符性來揭示。另外,不再區(qū)分可能的出錯(cuò)編碼可能性,并且通常使用符號(hào)ECC。
為了提高性能,可以以在兩個(gè)執(zhí)行單元上進(jìn)行分配的方式來計(jì)算與非安全相關(guān)的或者非安全緊要的程序或者任務(wù)或程序部分或者代碼字組或者指令,由此提高吞吐量,并從而提高性能。這在所謂的性能模式或者LM中實(shí)現(xiàn)。
在把相應(yīng)的操作數(shù)耦合輸入到ALU單元1、2中時(shí),必須把特殊值施加在正確的數(shù)據(jù)輸入端上。例如如果有出錯(cuò)的相同操作數(shù)被耦合輸入到兩個(gè)ALU單元1、2中,則出錯(cuò)在ALU單元1、2的輸出端處不能被識(shí)別。因此,必須保證,至少一個(gè)ALU單元1或者2收到正確的數(shù)據(jù)輸入值,或者兩個(gè)ALU單元1、2收到不同的、但是出錯(cuò)的數(shù)據(jù)輸入值。這通過以下方式來保證,即由ALU單元1、2的至少一個(gè)輸入值構(gòu)成校驗(yàn)和數(shù)、也即如上述ECC碼。在特意設(shè)置的比較單元5C、6C中,對(duì)來自該附加數(shù)據(jù)寄存器或者緩存寄存器10、11的ECC編碼10A、10B與來自原始源寄存器8、9中的ECC編碼8A、9A進(jìn)行比較??蛇x地也可以對(duì)來自寄存器10、11的輸入數(shù)據(jù)與來自源寄存器8、9的輸入數(shù)據(jù)進(jìn)行比較。如果在ECC編碼中或者在操作數(shù)中存在區(qū)別,則這被解釋為出錯(cuò),并且出錯(cuò)信號(hào)被輸出、也許被顯示,也許被糾正。有利地當(dāng)在ALU單元1、2中處理操作數(shù)時(shí)進(jìn)行該比較,使得輸入側(cè)的出錯(cuò)識(shí)別和出錯(cuò)修正幾乎無(wú)性能損失地發(fā)生。如果比較單元5C、6C之一識(shí)別出一個(gè)出錯(cuò),就可以在下一周期內(nèi)重復(fù)計(jì)算。在此,可以使用陰影寄存器,以便總是保證上一計(jì)算的操作數(shù),從而可以在出錯(cuò)情況下很快地再次使用該操作數(shù)。當(dāng)然,如果由于不存在出錯(cuò)而再次通過釋放信號(hào)來重新描述各個(gè)緩存寄存器10、11,則可以放棄提供這種陰影寄存器(Schattenregister)。在出錯(cuò)情況下,比較單元5C、6C發(fā)出出錯(cuò)信號(hào),由此不重寫緩存寄存器10、11。
ALU單元1、2分別在輸出側(cè)產(chǎn)生結(jié)果。由ALU單元1、2所提供的結(jié)果數(shù)據(jù)和/或其ECC編碼被存放在結(jié)果寄存器12、13、12A、13A中。該結(jié)果數(shù)據(jù)和/或其編碼在比較單元14C、24C中被相互比較。在出錯(cuò)不存在的情況下,產(chǎn)生釋放信號(hào)16。該釋放信號(hào)16被耦合輸入到釋放單元15中,該釋放單元使得在總線4上寫入結(jié)果數(shù)據(jù)。于是,這些結(jié)果數(shù)據(jù)經(jīng)由該總線4再次被處理。
此外,該釋放信號(hào)16還可以被用于再次釋放寄存器8-11,使得以下的操作數(shù)可以從總線3讀取,并且可以在ALU單元1、2中被處理。
在圖1中的布置不檢查結(jié)果。其中只在比較單元14C中相互比較結(jié)果數(shù)據(jù)。只有通過圖2中的布置才有可能檢查結(jié)果數(shù)據(jù)的ECC編碼,在圖2的布置中,不僅結(jié)果數(shù)據(jù)而且其ECC編碼在比較單元24C中被相互比較。
利用在圖1和2中所示的出錯(cuò)識(shí)別裝置,所有瞬時(shí)出錯(cuò)、永久出錯(cuò)以及相位延遲出錯(cuò)都可以被識(shí)別。如果結(jié)果不能到達(dá)或者滯后到達(dá)相應(yīng)的比較單元和/或相應(yīng)結(jié)果寄存器中,并且從而進(jìn)行與部分結(jié)果的比較,就識(shí)別出ALU單元1、2內(nèi)的相位延遲出錯(cuò)。通過利用出錯(cuò)識(shí)別碼和出錯(cuò)修正碼以及最終結(jié)果比較來保障操作數(shù)寄存器和緩存寄存器8、9、10、11,可以準(zhǔn)確定位各個(gè)出錯(cuò)位置和出錯(cuò)時(shí)刻。因此,可以對(duì)瞬時(shí)干擾極快地作出反應(yīng)。
因此,得出用于定位出錯(cuò)的以下可能性如果在比較單元14C或者24C中的結(jié)果數(shù)據(jù)比較得出差別,則可以推斷出ALU單元1、2內(nèi)的出錯(cuò)。
如果在比較單元5C、6C中的ECC編碼比較得出差別,則可以推斷出總線3或前置組件的出錯(cuò)信號(hào)。
如果在比較單元24C中的ECC編碼比較得出差別,則可以推斷出結(jié)果的出錯(cuò)編碼。
尤其執(zhí)行切換裝置的功能的控制裝置17用于在進(jìn)行冗余處理和檢查的上述安全模式SM和通過單獨(dú)程序執(zhí)行實(shí)現(xiàn)性能增加的性能模式LM之間的切換。通過該切換單元17,至少如此連接元件8、9和1、2,使得在一種情況下、也即在安全模式SM中冗余地執(zhí)行程序、尤其是同步的程序執(zhí)行,在第二工作模式、即性能模式LM中可以進(jìn)行不同程序或者操作數(shù)的并行執(zhí)行。對(duì)此,可以選擇地設(shè)有切換或者切換裝置,所述切換或者切換裝置一方面可以位于元件8、9或1、2中,或者也可以位于切換裝置或者控制裝置17中,或者附加地與元件8、9、1、2或17單獨(dú)地包含在電路中。
為了進(jìn)行切換,甚至通過一識(shí)別碼來進(jìn)行例如程序或者任務(wù)程序或者程序部分、也即代碼字組或者指令或者操作數(shù)的標(biāo)識(shí),通過所述識(shí)別碼可以識(shí)別,所述程序或者任務(wù)程序或者程序部分、也即代碼字組或者指令或者操作數(shù)是否是安全相關(guān)的、也即是否必須在安全模式SM中被執(zhí)行,或者是否可用于性能模式LM。這可以通過至少一個(gè)位來進(jìn)行,或者也可以通過特定指令來標(biāo)出接著的序列。同樣,可以通過以下方式進(jìn)行切換,即訪問某一可預(yù)定的存儲(chǔ)器地址,于是通過該存儲(chǔ)器地址可以觸發(fā)性能模式LM或者安全模式SM。
在此,程序一方面可能包括應(yīng)用功能、也即尤其是例如用于在車輛中控制工作過程,或者根據(jù)程序進(jìn)行切換,在所述程序中在工作系統(tǒng)層面上進(jìn)行標(biāo)識(shí),也即進(jìn)行整個(gè)工作系統(tǒng)任務(wù)的分配。
在解碼時(shí),那么控制裝置17作為切換裝置可以識(shí)別,現(xiàn)在進(jìn)行的計(jì)算是否安全相關(guān)的,也即是否應(yīng)該在安全模式SM中被執(zhí)行。如果是這種情況,則數(shù)據(jù)被轉(zhuǎn)交給兩個(gè)執(zhí)行單元1和2。如果不是這種情況、也即如果在性能模型LM中繼續(xù)運(yùn)行,則一個(gè)執(zhí)行單元獲得所提供的數(shù)據(jù),并且同時(shí)如果下一指令同樣是安全不相關(guān)的,可以向第二執(zhí)行單元給出該下一指令,因此以較高的吞吐量并行地執(zhí)行程序或者操作數(shù)。
在第一情況(SM)中,例如結(jié)果的計(jì)算在同步執(zhí)行時(shí)在兩個(gè)單元上持續(xù)同樣長(zhǎng)的時(shí)間。也即在同步執(zhí)行時(shí),在安全模式中結(jié)果同時(shí)存在?,F(xiàn)在這些數(shù)據(jù)在相應(yīng)的12和13的輸出端處再次被配備編碼,并且如在圖1和圖2中所示,數(shù)據(jù)和/或該數(shù)據(jù)的編碼在ResultA和ResultB中被比較。如果ResultA和ResultB相符,則釋放數(shù)據(jù);否則進(jìn)行所述的出錯(cuò)反應(yīng)之一。在第二情況、也即在性能模式LM中,如果數(shù)據(jù)被并行執(zhí)行,則比較器14C或者24C在兩個(gè)運(yùn)算器的輸出端處不被控制,并且結(jié)果ResultA和ResultB被先后再次重寫到寄存器庫(kù)中,也可能如在超標(biāo)量處理器中的情況那樣被先后輸出。
因?yàn)樵诎踩J絊M中并行地、也即冗余地執(zhí)行相同的程序,所以這里只有當(dāng)在性能模式LM中對(duì)于兩條支路、也即寄存器8和ALU1以及寄存器9和ALU2根據(jù)識(shí)別碼設(shè)有切換時(shí),才進(jìn)行切換。如果進(jìn)行完全同步執(zhí)行、也即程序的時(shí)間一致執(zhí)行,則這本來是合適的,如果進(jìn)行程序的不同步或者異步執(zhí)行,則必須由更快速的執(zhí)行單元等待后面的執(zhí)行,因此只有當(dāng)兩個(gè)識(shí)別碼存在或者被分析時(shí),控制裝置17才切換。必須根據(jù)塊12、13和14C、24C以及12A和13A通過時(shí)間一致性強(qiáng)使這種同步化或者通過等待來產(chǎn)生這種同步化用于結(jié)果比較或者ECC和結(jié)果比較。
圖3在另一按照本發(fā)明的例子中示出具有兩個(gè)執(zhí)行單元的電路布置,其中所述兩個(gè)執(zhí)行單元這次用300和301表示為組件K1和K2。與先前在圖1和圖2中所使用的運(yùn)算器(ALU)相比,這兩個(gè)組件現(xiàn)在例如表示完整的計(jì)算機(jī)芯、所謂的芯或者CPU。這兩個(gè)組件K1和K2同樣具有兩個(gè)輸入端和一個(gè)輸出端。這里,為執(zhí)行所設(shè)置的操作數(shù)也可以直接從總線3被耦合輸入到組件的輸入端中,或者事先被存放在專為此所設(shè)置的操作數(shù)寄存器8和9中。對(duì)操作數(shù)寄存器8和9以及相應(yīng)的ECC編碼的其他實(shí)施方案可以與在圖1和2中所示的操作數(shù)寄存器以及相應(yīng)的ECC編碼相比較,并且在這里也是適用的。同樣,原則上也適用于具有可選ECC部分的后置數(shù)據(jù)寄存器,所述后置數(shù)據(jù)寄存器這里在圖3中用110、111、210、211表示,以及相應(yīng)的ECC編碼用110A、111A、210A、211A表示。當(dāng)然,與圖1和圖2相比,這里作為另一實(shí)施形式,兩對(duì)緩存寄存器分別連接在各個(gè)組件之前。如已經(jīng)針對(duì)圖1和2所描述的那樣,在操作數(shù)供應(yīng)、也即在數(shù)據(jù)輸入值時(shí)通過校驗(yàn)和數(shù)形成(ECC)來監(jiān)控出錯(cuò)。為了出錯(cuò)識(shí)別,如在圖1和2所示那樣,根據(jù)要比較的寄存器數(shù)量,這里同樣設(shè)有比較單元或者比較器15C、16C、25C和26C作為比較裝置。因此,如果在ECC編碼中或者在操作數(shù)中得出差別,那么這就被解釋為出錯(cuò),并且輸出出錯(cuò)信號(hào),暫存出錯(cuò),顯示出錯(cuò),啟動(dòng)與出錯(cuò)有關(guān)的出錯(cuò)反應(yīng),尤其是緊急運(yùn)行的采用或者出錯(cuò)修正被啟動(dòng)。如在圖1和2中那樣,在出現(xiàn)出錯(cuò)時(shí),這里也可以在下一時(shí)鐘周期中進(jìn)行重復(fù)計(jì)算,其中這里一可以使用陰影寄存器。
于是,如在圖2中所示對(duì)操作數(shù)處理的結(jié)果或者狀態(tài)ResultA或者ResUltB(選擇地也對(duì)ECC碼)進(jìn)行比較,并且檢查出錯(cuò)。如在圖2所示,對(duì)此使用具有ECC部分12A和13A的寄存器12和13,以及把比較器14C用作比較裝置。與圖2相比,這里使用兩個(gè)結(jié)果釋放塊15A和15B,通過該兩個(gè)結(jié)果釋放塊借助于釋放信號(hào)16把結(jié)果釋放到總線4上。
在示出處理器單元102的本發(fā)明元件的圖3中,現(xiàn)在進(jìn)一步闡明這里用302表示的控制裝置的功能。在此,因?yàn)橥ㄟ^輸出端來控制第一切換裝置308-315、控制電路37或所含有的元件以及可選地控制操作數(shù)寄存器8和9以及同樣可選地控制緩存寄存器110、111和210、211,所以為了清楚的原因,這些輸出端在控制裝置302中通過箭頭表示,而沒有詳細(xì)示出。
這里控制裝置302在一定意義上也具有切換功能,以便從一種工作模式切換到另一工作模式。也就是說,尤其從安全模式SM切換到性能模式LM,并且反之亦然,這例如根據(jù)相應(yīng)的工作模式通過使用可預(yù)定的控制信號(hào)來進(jìn)行。
因此,與已經(jīng)在圖1和2中所述的切換條件相關(guān)地根據(jù)所識(shí)別的工作模式相應(yīng)地控制上述元件。在此,控制電路37包括解碼器303、第二切換裝置304、可選地兩個(gè)寄存器或者鎖存器307和306。這里也出于安全原因,來自屬于解碼器的區(qū)域303A和屬于寄存器306的區(qū)域306A的ECC編碼的比較借助于比較器305C進(jìn)行。該控制電路37或者該控制電路的部分也可以被安裝在控制裝置302中或者與該控制裝置302相同。
如在針對(duì)圖1和2所述的那樣,在使用標(biāo)識(shí)符或者識(shí)別碼或者可預(yù)定的存儲(chǔ)器地址作為切換條件時(shí),現(xiàn)在控制裝置在解碼時(shí)能夠識(shí)別,接下來的計(jì)算是安全相關(guān)的還是安全不相關(guān)的。如果是安全相關(guān)的、也即如果在安全模式SM中進(jìn)行操作數(shù)處理,則相同的操作數(shù)、也即這里是操作數(shù)1和操作數(shù)2被轉(zhuǎn)交給執(zhí)行單元300和301。在此,兩個(gè)執(zhí)行單元利用相同的控制信號(hào)來控制,以處理操作數(shù)。在此,操作數(shù)到執(zhí)行單元的供應(yīng)和用于處理操作數(shù)的執(zhí)行單元的時(shí)鐘被調(diào)整。在優(yōu)選的實(shí)施形式中,饋送單元(也即至少操作數(shù)寄存器8和9)和執(zhí)行單元以及解碼器303分別以相同的時(shí)鐘頻率、也即以相同的時(shí)鐘工作。尤其兩側(cè)都以相同的時(shí)鐘工作,也即具有操作數(shù)寄存器8的供應(yīng)裝置和執(zhí)行裝置300以相同的時(shí)鐘工作,同樣具有操作數(shù)寄存器9的供應(yīng)裝置與執(zhí)行裝置301以相同的時(shí)鐘工作。在一優(yōu)選的實(shí)施形式中,兩側(cè)是同步的,使得在安全模式SM中操作數(shù)被同步處理,以便兩側(cè)的結(jié)果或者相應(yīng)的處理狀態(tài)ResultA或ResultB同時(shí)存在于寄存器12或13中。
因此,相應(yīng)的饋送單元包含至少相應(yīng)的操作數(shù)寄存器8或者9。另外,根據(jù)實(shí)施形式,在饋送單元中,在圖1或者2中至少可能有中間存儲(chǔ)器10或者11,或者在圖3中可能有110、111或者210或者211。同樣在饋送單元中可能包含第一切換裝置,以便根據(jù)時(shí)鐘頻率連接操作數(shù)。該第一切換裝置308、310、312、314或者如圖3所示單獨(dú)存在,或者集成在相應(yīng)的寄存器(操作數(shù)寄存器8或者9、相應(yīng)的緩存寄存器10或者11、110、111、210、211)的至少一個(gè)中。根據(jù)是否使用了ECC編碼,各個(gè)寄存器段(在圖1和2中的10A、11A,或者在圖3中的110A、111A、210A、211A)以及所屬的比較器(在圖1和2中的5C、6C以及在圖3中的15C、16C、25C、26C)可選地是各個(gè)供應(yīng)裝置的一部分。關(guān)于ECC編碼范圍中的第一切換裝置(圖3中的309、311、313、315)同樣適用,也就是說,這些可選地也是各個(gè)饋送單元的一部分,并且同樣可以是單獨(dú)的,或者集成在相應(yīng)寄存器(ECC操作數(shù)寄存器8A或者9A、或相應(yīng)的緩存寄存器10A或者11A、110A、111A、210A、211A)的至少一個(gè)中。因此,各個(gè)饋送單元對(duì)應(yīng)于到執(zhí)行單元的相應(yīng)供應(yīng)路徑中的各個(gè)元件,其中可以使用如在圖1、2、3或者5中的分布,或者也可以把所有或者部分組合在一個(gè)部件中。
如果操作數(shù)處理的結(jié)果或者狀態(tài)同時(shí)處在安全模式、也即第一工作模式中,則這些結(jié)果或者狀態(tài)現(xiàn)在在各個(gè)執(zhí)行單元輸出端上在具有12A的相應(yīng)寄存器12和具有13A的相應(yīng)寄存器13中又被配備編碼(ECC),并且結(jié)果或者處理狀態(tài)ResultA、ResultB和/或該結(jié)果的編碼(ECC)被比較。比較器24用于比較。如果結(jié)果或者處理狀態(tài)ResultA、ResultB和/或該結(jié)果的編碼(ECC)相符,則數(shù)據(jù)再次利用釋放信號(hào)16被釋放,并且通過單元15A和/或15B被寫到總線4上。釋放信號(hào)優(yōu)選地由比較器產(chǎn)生,但是也可以由控制裝置產(chǎn)生。在安全模式SM中,結(jié)果在釋放時(shí)是相同的,因此這些數(shù)據(jù)只被寫到總線4上一次。在不相同時(shí),結(jié)果不被釋放,并且不被寫到總線上,而是被寫入出錯(cuò)寄存器中,或者標(biāo)志或出錯(cuò)信號(hào)被產(chǎn)生,以便開始顯示或者開始相應(yīng)的出錯(cuò)反應(yīng)。這里,如已在圖1、2和3的操作數(shù)寄存器時(shí)所述的那樣,尤其能夠使用切換寄存器用于重寫。在一特殊情況下,在安全模式SM中,操作數(shù)也可以首先被提供給執(zhí)行單元,隨后出錯(cuò)識(shí)別碼(ECC)被檢查,然后被提供給第二執(zhí)行單元,這所有都在相同的時(shí)鐘段作為全時(shí)鐘進(jìn)行。
如果根據(jù)切換條件識(shí)別出操作數(shù)處理在第二工作模式、即性能模式LM中進(jìn)行,則只有一個(gè)執(zhí)行單元獲得所提供的相應(yīng)一個(gè)或者多個(gè)操作數(shù),其中幾乎同時(shí)(以相同的全時(shí)鐘)、也即在以下的半時(shí)鐘段中,(只要同樣也是安全不相關(guān)地進(jìn)行處理)該操作數(shù)或者以下的操作數(shù)被提供給第二執(zhí)行單元。在此,饋送單元以更快的、尤其是以快于兩個(gè)執(zhí)行單元兩倍的時(shí)鐘頻率、也即以所謂的半時(shí)鐘工作。在該非安全緊要的操作數(shù)處理時(shí),不進(jìn)行結(jié)果比較,并且各個(gè)結(jié)果或者狀態(tài)相應(yīng)地、尤其交替地被寫到總線4上。在這種情況下,不需要釋放。尤其在第二工作模式、即性能模式LM中可以設(shè)想的是,兩側(cè)、尤其執(zhí)行單元不是同步的,也即異步工作。在寫到總線上時(shí)的沖突可以通過如時(shí)隙的時(shí)間條件、結(jié)果控制裝置或者通過仲裁來防止。
圖4用TS 1示出全時(shí)鐘表示,用TS 2示出半時(shí)鐘表示。因此,在安全模式SM中,操作數(shù)以每個(gè)全時(shí)鐘TS 1被提供給兩個(gè)執(zhí)行單元,并且尤其以相同的全時(shí)鐘在該執(zhí)行單元中被處理。于是,在操作數(shù)的全同步處理時(shí),結(jié)果可以被直接比較,否則必須最遲在結(jié)果比較時(shí)進(jìn)行同步化。在性能模式LM、即第二工作模式中,饋送單元以半時(shí)鐘工作,使得例如在T1時(shí),一個(gè)或者多個(gè)第一操作數(shù)被提供給一執(zhí)行單元,在T1/2時(shí)一個(gè)或者多個(gè)以下的操作數(shù)被提供給另一執(zhí)行單元,使得第一和以下的操作數(shù)在全時(shí)鐘周期中在執(zhí)行單元中被處理。因此,在性能模式LM中,各個(gè)饋送單元、也即尤其是操作數(shù)寄存器8和9以比執(zhí)行單元更快的計(jì)時(shí)、尤其是兩倍那么快地工作。用于供給第二切換裝置304的解碼器303同樣以該更快的計(jì)時(shí)、尤其兩倍那么快地工作,其中第二切換裝置304把相應(yīng)的控制信號(hào)施加給執(zhí)行單元。
本發(fā)明原理可以應(yīng)用于如在圖1、2和3中所示的具有至少兩個(gè)操作數(shù)輸入端的執(zhí)行單元,也即應(yīng)用于處理或者需要多個(gè)操作數(shù)的執(zhí)行單元,同樣也應(yīng)用于如圖5中所示的只具有一個(gè)操作數(shù)輸入端的執(zhí)行單元。
圖5基本上示出與圖3所示的相同元件,其區(qū)別在于,執(zhí)行單元500和501只具有一個(gè)操作數(shù)輸入端。相應(yīng)地只設(shè)有一個(gè)操作數(shù)寄存器8以及相應(yīng)地設(shè)有緩存寄存器110和210。同樣適用于關(guān)于出錯(cuò)識(shí)別碼ECC的所屬元件、具有相應(yīng)的比較器15C和25C的元件110A、210A。第一切換裝置508和510對(duì)應(yīng)于圖3中的切換裝置308和310,第一切換裝置509和511對(duì)應(yīng)于切換裝置309和311。這里ECC元件是可選的。這里第一切換裝置可以是單獨(dú)的,或者可以包含在相應(yīng)的寄存器中。這里,操作數(shù)被串行地提供,并且在性能模式LM、即第二工作模式中以半時(shí)鐘交替地被提供給執(zhí)行單元。在安全模式SM中,操作數(shù)以全時(shí)鐘被提供給執(zhí)行單元,使得相同的操作數(shù)分別被提供,并且在執(zhí)行單元中被冗余地處理。在該功能的范圍中,僅僅就單-操作數(shù)原則而言,控制電路57對(duì)應(yīng)于圖3中的控制電路37。同樣,再次就單-操作數(shù)原則和隨之出現(xiàn)的匹配而言,控制裝置502對(duì)應(yīng)于圖3中的控制裝置302。
如在圖3中所示的那樣,在輸出端處,結(jié)果和/或狀態(tài)在安全模式SM中被相互比較(只有當(dāng)出錯(cuò)識(shí)別編碼單元也應(yīng)該被測(cè)試時(shí),可選地也比較ECC)。優(yōu)選地只有在結(jié)果比較之后,才由結(jié)果構(gòu)成出錯(cuò)識(shí)別碼ECC,使得保證編碼由正確的結(jié)果構(gòu)成。在性能模式LM中,執(zhí)行單元的結(jié)果先后以操作數(shù)被提供給執(zhí)行單元那樣的順序被施加到總線上。概念的普遍性可以如下被優(yōu)化,其中所有所示的ECC編碼被構(gòu)成和被檢查,并且被施加在總線上,其中該普遍性或者安全相關(guān)性的不同級(jí)別是可能的。
按照本發(fā)明,所有所述的實(shí)施例在原則上都是可比較的,并且與之相應(yīng)地可以任意組合和連接的。本發(fā)明原則范圍中的其他實(shí)施形式是可能的,使得不應(yīng)局限地來理解與之有關(guān)的具體實(shí)施形式。也就是說,詳述的實(shí)施例通常也適用于并且可應(yīng)用于本發(fā)明原則范圍中的其他實(shí)施例。
權(quán)利要求
1.用于在具有至少兩個(gè)執(zhí)行單元的處理器單元中處理操作數(shù)的方法,所述執(zhí)行單元可以以可預(yù)定的時(shí)鐘工作,其中所述執(zhí)行單元利用控制信號(hào)來控制用于處理操作數(shù),并且可以在第一工作模式和第二工作模式之間進(jìn)行切換,其特征在于,在所述第一工作模式中,給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在第二工作模式中,給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),在所述第一工作模式中,利用相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元以處理操作數(shù),在第二工作模式中,利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元以處理操作數(shù)。
2.按照權(quán)利要求1所述的方法,其特征在于,以與用于所述執(zhí)行單元的操作數(shù)處理的時(shí)鐘相關(guān)的方式作為全時(shí)鐘把操作數(shù)提供給所述執(zhí)行單元,在第二工作模式中以比所述全時(shí)鐘更快的第二時(shí)鐘來提供操作數(shù),用以處理操作數(shù)。
3.按照權(quán)利要求2所述的方法,其特征在于,在第一工作模式中,以所述執(zhí)行單元的時(shí)鐘作為全時(shí)鐘來提供操作數(shù)。
4.按照權(quán)利要求2所述的方法,其特征在于,比全時(shí)鐘快兩倍的第二時(shí)鐘被構(gòu)成半時(shí)鐘。
5.按照權(quán)利要求1所述的方法,其特征在于,在兩種工作模式中由所述執(zhí)行單元同步處理所述操作數(shù)。
6.按照權(quán)利要求1所述的方法,其特征在于,在第一工作模式中同步處理所述操作數(shù),在第二工作模式中異步處理所述操作數(shù)。
7.按照權(quán)利要求1所述的方法,其特征在于,所述操作數(shù)或者從所述操作數(shù)中導(dǎo)出的數(shù)據(jù)的相符性被比較,在出現(xiàn)偏差時(shí)識(shí)別為出錯(cuò)。
8.按照權(quán)利要求1所述的方法,其特征在于,在處理所述操作數(shù)時(shí)所產(chǎn)生的狀態(tài)或者結(jié)果(ResultA,ResultB)的相符性被比較,在出現(xiàn)偏差時(shí)識(shí)別為出錯(cuò),其中可以取決于各個(gè)工作模式實(shí)施所述比較。
9.按照權(quán)利要求8所述的方法,其特征在于,所述狀態(tài)和結(jié)果取決于工作模式并且通過釋放信號(hào)來釋放所述比較。
10.按照權(quán)利要求9所述的方法,其特征在于,所述釋放信號(hào)根據(jù)工作模式同時(shí)或者先后釋放所述狀態(tài)或者結(jié)果。
11.用于在具有至少兩個(gè)執(zhí)行單元的處理器單元中處理操作數(shù)的設(shè)備,所述執(zhí)行單元可以以可預(yù)定的時(shí)鐘工作,其中包含一控制裝置,所述控制裝置利用控制信號(hào)控制執(zhí)行單元來處理操作數(shù),并且在第一工作模式和第二工作模式之間切換,其特征在于,所述控制裝置與所述執(zhí)行單元和其他饋送單元相連接,所述控制裝置與所述饋送單元如此共同起作用,以致在所述第一工作模式中給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在所述第二工作模式中給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),其中所述控制裝置如此被構(gòu)成,使得在所述第一工作模式中以相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù),在第二工作模式中利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù)。
12.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述控制裝置和所述饋送單元如此被構(gòu)成,使得在所述第一工作模式中與執(zhí)行單元的時(shí)鐘相關(guān)地作為全時(shí)鐘把操作數(shù)提供給所述執(zhí)行單元,在第二工作模式中以比所述全時(shí)鐘更快的第二時(shí)鐘來提供操作數(shù)用于處理。
13.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述至少兩個(gè)執(zhí)行單元被構(gòu)成為運(yùn)算器(ALUA,ALUB)。
14.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述饋送單元和所述執(zhí)行單元如此被構(gòu)成,使得所述饋送單元和所述執(zhí)行單元在第一工作模式中以相同的時(shí)鐘同步地工作或者被操作。
15.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述饋送單元如此被設(shè)計(jì)為寄存器裝置,使得設(shè)有至少一個(gè)操作數(shù)寄存器,并且在操作數(shù)寄存器和每個(gè)執(zhí)行單元之間設(shè)有至少一個(gè)緩存寄存器。
16.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述饋送單元和所述執(zhí)行單元如此被構(gòu)成,使得所述饋送單元和所述執(zhí)行單元在第二工作模式中以不同的時(shí)鐘工作或者被操作。
17.按照權(quán)利要求11所述的設(shè)備,其特征在于,所述饋送單元如此被構(gòu)成,使得所述饋送單元在第二工作模式中以比所述執(zhí)行單元快兩倍的時(shí)鐘工作或者被操作。
18.按照權(quán)利要求11所述的設(shè)備,其特征在于,設(shè)有一解碼器,通過所述解碼1器可識(shí)別切換條件,并且所述解碼器以與所述饋送單元相同的時(shí)鐘工作或者被操作。
19.按照權(quán)利要求11所述的設(shè)備,其特征在于,設(shè)有比較裝置,所述比較裝置如此被構(gòu)成,使得操作數(shù)或者從操作數(shù)中導(dǎo)出的數(shù)據(jù)的相符性被比較,并且在出現(xiàn)偏差時(shí)識(shí)別為出錯(cuò)。
20.按照權(quán)利要求11所述的設(shè)備,其特征在于,設(shè)有比較裝置,所述比較裝置如此被構(gòu)成,使得在處理操作數(shù)時(shí)所產(chǎn)生的狀態(tài)或者結(jié)果(ResultA,ResultB)的相符性被比較,并且在出現(xiàn)偏差時(shí)識(shí)別為出錯(cuò)。
21.按照權(quán)利要求11所述的設(shè)備,其特征在于,設(shè)有第一切換裝置,所述第一切換裝置如此被構(gòu)成或者可工作,使得所述第一切換裝置根據(jù)所述第一或者第二工作模式接通來自供給裝置的操作數(shù)。
22.按照權(quán)利要求11所述的設(shè)備,其特征在于,設(shè)有第二切換裝置,所述第二切換裝置如此被構(gòu)成,使得所述第二切換裝置取決于所述第一或者第二工作模式來確認(rèn)所述執(zhí)行單元。
23.具有用于利用至少兩個(gè)執(zhí)行單元來處理操作數(shù)的設(shè)備的處理器單元,所述執(zhí)行單元可以以可預(yù)定的時(shí)鐘工作,其中包含一控制裝置,所述控制裝置利用控制信號(hào)控制所述執(zhí)行單元來處理操作數(shù),并且在第一工作模式和第二工作模式之間切換,其特征在于,所述控制裝置與所述執(zhí)行單元和其他饋送單元相連接,所述控制裝置與所述饋送單元如此共同起作用,使得在所述第一工作模式中給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在所述第二工作模式中給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),其中所述控制裝置如此被構(gòu)成,使得在所述第一工作模式中利用相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù),在第二工作模式中利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù)。
24.按照權(quán)利要求23所述的處理器單元,具有按照權(quán)利要求12至22之一所述的設(shè)備。
全文摘要
用于在具有至少兩個(gè)執(zhí)行單元的處理器單元中處理操作數(shù)的方法和設(shè)備,所述執(zhí)行單元可以以可預(yù)定的時(shí)鐘工作,其中利用控制信號(hào)來控制所述執(zhí)行單元用于處理操作數(shù),并且可以在第一工作模式和第二工作模式之間進(jìn)行切換,其特征在于,在所述第一工作模式中,給兩個(gè)執(zhí)行單元饋送相同的操作數(shù),在第二工作模式中,給兩個(gè)執(zhí)行單元饋送不同的操作數(shù),在所述第一工作模式中,利用相同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù),在第二工作模式中,利用不同的控制信號(hào)來控制兩個(gè)執(zhí)行單元用于處理操作數(shù)。
文檔編號(hào)G06F9/318GK1871582SQ200480031253
公開日2006年11月29日 申請(qǐng)日期2004年8月7日 優(yōu)先權(quán)日2003年10月24日
發(fā)明者R·韋伯勒, T·科特克, A·施泰寧格爾 申請(qǐng)人:羅伯特·博世有限公司