專利名稱:通過切換寄存器組在具有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的方法和設(shè)備的制作方法
通過切換寄存器組在具有至少兩個(gè)執(zhí)行單元 的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的方法和設(shè)備現(xiàn)有技術(shù)本發(fā)明涉及根據(jù)獨(dú)立權(quán)利要求的前序部分所述的在具有用于執(zhí)行 程序段的至少兩個(gè)執(zhí)行單元的微處理器的至少兩種運(yùn)行模式之間切換 的方法和i殳備。由OC粒子或宇宙輻射觸發(fā)的瞬間故障對(duì)于集成電路而言越來越成為問題。由于減小的結(jié)構(gòu)寬度、下降的電壓和更高的時(shí)鐘頻率,由oc粒子或宇宙輻射所引起的電壓尖峰使集成電路中的邏輯值失真的概率 增加。后果可能是錯(cuò)誤的計(jì)算結(jié)果。因此在安全性重要的系統(tǒng)中必須可靠地檢測這種故障。在必須可靠地檢測電子系統(tǒng)的功能失誤的安全性重要的系統(tǒng)、例如機(jī)動(dòng)車中的ABS調(diào)節(jié)系統(tǒng)中,恰恰在這種系統(tǒng)的相應(yīng)控制裝置中通 常設(shè)置冗余度用于識(shí)別故障。因此例如在公知的ABS系統(tǒng)中分別使成 套的微控制器加倍,其中冗余地計(jì)算所有ABS功能,并且檢驗(yàn)一致性。 如果出現(xiàn)了結(jié)果的不一致,則關(guān)斷ABS系統(tǒng)。這種處理器單元也公知為雙核或多核結(jié)構(gòu)體系。不同的核以冗余 和時(shí)鐘同步的方式執(zhí)行相同的程序段,比較兩個(gè)核的結(jié)果。在比較時(shí) 根據(jù)兩個(gè)結(jié)果的一致性來識(shí)別故障。以下將這種配置稱為比較模式。在另外的應(yīng)用中也將雙核或多核結(jié)構(gòu)體系用于功率提高、也即用 于性能提高。兩個(gè)核執(zhí)行不同的程序段,由此與比較模式或單核系統(tǒng) 相比較可以實(shí)現(xiàn)功率提高。該配置也稱為功率模式或性能模式。該系 統(tǒng)在具有相同核的特定特征方面也稱為對(duì)稱多處理器系統(tǒng)(SMP)。所述系統(tǒng)的擴(kuò)展是,借助于對(duì)專用地址和專用化的硬件設(shè)備的存 取來通過軟件在該兩種模式之間切換。在比較模式下互相比較核的輸 出信號(hào)。在性能模式下,兩個(gè)核作為對(duì)稱多處理器系統(tǒng)(SMP)工作, 并且執(zhí)行不同的程序、程序段或指令。發(fā)明優(yōu)點(diǎn)在現(xiàn)有技術(shù)中所述的多處理器中,在從性能模式切換到比較模式 之前,必須使執(zhí)行單元的內(nèi)部狀態(tài)(寄存器、管線(pipeline)等等)相適應(yīng)。在具有多個(gè)寄存器的執(zhí)行單元中,這可能需要比較多的計(jì)算 時(shí)間,并且延長了從性能模式到比較模式的模式轉(zhuǎn)變。用于使執(zhí)行單 元的狀態(tài)相適應(yīng)的通常方法在于,將執(zhí)行單元中的所有寄存器設(shè)置為 值零,或?qū)⑵鋬?nèi)容標(biāo)記為無效的。本發(fā)明的任務(wù)是縮短從性能模式到比較模式的該轉(zhuǎn)變。這里所述 的實(shí)施例相對(duì)于現(xiàn)有技術(shù)具有以下的優(yōu)點(diǎn),即能夠?qū)崿F(xiàn)從性能模式到 比較模式的更快切換,因?yàn)橥ㄟ^采用本發(fā)明方法可以使執(zhí)行單元的寄 存器按照其所參與的模式快速地初始化。有利地說明 一種用于在具有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確 定起動(dòng)狀態(tài)的方法,其中,在性能模式和比較模式之間進(jìn)行切換,和 對(duì)于性能模式設(shè)置由第一執(zhí)行單元的至少一個(gè)第一寄存器和第二執(zhí)行 單元的至少一個(gè)第二寄存器所組成的第一寄存器組,其特征在于,在 從性能模式到比較模式的切換時(shí),在由第一執(zhí)行單元的至少一個(gè)第三 寄存器和第二執(zhí)行單元的至少一個(gè)第四寄存器所組成的第二寄存器組 中,存在比較模式的起動(dòng)狀態(tài),其中通過在第一和第二寄存器組之間 切換來獲得比較模式的起動(dòng)狀態(tài)。有利地通過在第二和第一寄存器組 之間切換來獲得性能模式的起動(dòng)狀態(tài)。有利地含有用于在具有至少兩 個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的設(shè)備,其中,設(shè)置裝置, 所述裝置如此被設(shè)計(jì),使得這些裝置在性能模式和比較模式之間切換, 并且對(duì)于性能模式設(shè)置由第一執(zhí)行單元的至少一個(gè)第一寄存器和第二 執(zhí)行單元的至少一個(gè)第二寄存器所組成的第一寄存器組,其特征在于, 在從性能模式到比較模式的切換時(shí),在由第一執(zhí)行單元的至少一個(gè)第 三寄存器和第二執(zhí)行單元的至少一個(gè)第四寄存器所組成的第二寄存器 組中,產(chǎn)生比較模式的起動(dòng)狀態(tài),其中通過在第一和第二寄存器組之 間切換來獲得比較模式的起動(dòng)狀態(tài)。從權(quán)利要求的特征以及說明書中得出其它的優(yōu)點(diǎn)和有利的擴(kuò)展方案。附1展示了具有兩個(gè)執(zhí)行單元和一個(gè)比較單元的處理器的一般結(jié)構(gòu)。圖2展示了具有兩個(gè)不同的寄存器群和處理邏輯電路的執(zhí)行單元 的可能結(jié)構(gòu)。圖3展示了具有兩個(gè)不同的寄存器組和處理邏輯電路的執(zhí)行單元 的可能結(jié)構(gòu)。寄存器組在其側(cè)再次被劃分成兩個(gè)不同的群。圖4展示了具有其內(nèi)部寄存器的兩個(gè)執(zhí)行單元、中間存儲(chǔ)器、和 在執(zhí)行單元之間用于傳輸內(nèi)部狀態(tài)的連接。圖5展示了具有其寄存器的兩個(gè)執(zhí)行單元、和用于讀出比較模式 的起動(dòng)狀態(tài)的內(nèi)部狀態(tài)的中間存儲(chǔ)器。圖6展示了具有有用和控制數(shù)據(jù)的寄存器的結(jié)構(gòu)。圖7展示了具有兩個(gè)執(zhí)行單元以及執(zhí)行單元的內(nèi)部寄存器的多處 理器。圖8展示了具有兩個(gè)執(zhí)行單元、其內(nèi)部寄存器以及專用寄存器的 多處理器。實(shí)施例說明圖中的有些單元擁有同一號(hào)碼,但是附加地用a和b來標(biāo)記。如 果用沒有附加號(hào)a或b的號(hào)碼來參考,則指的是現(xiàn)有單元中的一個(gè)卻 不是指專用的實(shí)例(Instanz)。如果只參考單元的確定的實(shí)例,則總 是將標(biāo)記a或b置于號(hào)碼的后面。在此,以下既可以將處理器、核、CPU、也可以將FPU (浮點(diǎn)單 元)、DSP (數(shù)字信號(hào)處理器)、協(xié)處理器或ALU (算術(shù)邏輯單元) 稱為執(zhí)行單元。在
圖1中示出了由兩個(gè)執(zhí)行單元C100a和C100b所組成的處理器 系統(tǒng)C1000,該處理器系統(tǒng)C1000可以在比較模式和性能模式之間進(jìn) 行切換。在一種優(yōu)選的實(shí)施例中,執(zhí)行單元是相同的。兩個(gè)執(zhí)行單元 C100a和C100b分別擁有通向系統(tǒng)總線的接口 C110a或C110b,通過 所述總線系統(tǒng)實(shí)現(xiàn)例如對(duì)諸如RAM、 ROM、 Flash (閃速)的存儲(chǔ)器 介質(zhì)或?qū)ν鈬鷨卧拇嫒?。如果處理器系統(tǒng)C1000處于比較模式下, 則通過單元C120互相比較執(zhí)行單元C100a、 C100b的輸出信號(hào)。優(yōu)選 地,時(shí)鐘準(zhǔn)確地或以固定的時(shí)鐘偏移來進(jìn)行該比較,這意味著,在每 個(gè)時(shí)鐘中,通過單元C120來比較至少兩個(gè)執(zhí)行單元C100a、 C100b的 輸出信號(hào)。如果在所比較的信號(hào)之間存在差別,則由單元C120生成故 障信號(hào)。選擇性地也可以附加地比較執(zhí)行單元C100a和C100b的輸入 信號(hào)。如果處理器系統(tǒng)C1000處于性能模式下,則比較單元C120是非 激活的,并且在執(zhí)行單元的輸出信號(hào)中差別時(shí),不生成故障信號(hào)??梢砸圆煌姆绞綄?shí)現(xiàn)比較單元的去活不執(zhí)行通過單元C120的比較。 不將用于比較的信號(hào)施加到單元C120上。通過單元C120進(jìn)行比較, 但是結(jié)果被忽略。在從性能模式到比較模式轉(zhuǎn)變時(shí)必須確保,兩個(gè)執(zhí)行單元C100a 和C100b的內(nèi)部狀態(tài)與比較模式的開始時(shí)、也就是激活比較單元C120 的時(shí)刻是相同的。以下將在比較模式開始時(shí)的狀態(tài)稱為起動(dòng)狀態(tài),其 中以比較模式開始時(shí)為出發(fā)點(diǎn),在比較模式下開始計(jì)算。在執(zhí)行單元 中的狀態(tài)必須相同是必要的,以便在無故障情況下在比較模式下,通 過C120所比較的信號(hào)在任何時(shí)刻都不具有差別。在比較模式下執(zhí)行 單元的不同狀態(tài)通常導(dǎo)致生成不同的輸出信號(hào)。比較器會(huì)將這些不同 的輸出信號(hào)檢測為故障,盡管存在相同的輸入信號(hào)并且在處理時(shí)不出 現(xiàn)要檢測的故障。在兩個(gè)執(zhí)行單元中達(dá)到比較模式開始時(shí)的相同狀態(tài)的途徑,是將 執(zhí)行單元中的所有內(nèi)部寄存器標(biāo)記為無效的。但是標(biāo)記的這種可能性 不存在于所有內(nèi)部寄存器中。于是必須將所述寄存器設(shè)置為所規(guī)定的 值,所規(guī)定的值在兩個(gè)執(zhí)行單元中是相同的。在圖2中所示出的第一實(shí)施形式中說明了在兩個(gè)寄存器組之間的 切換。在圖2中說明了執(zhí)行單元C100的可能實(shí)施。所述執(zhí)行單元含有 寄存器的至少兩個(gè)不同的群CIOI和C102、以及內(nèi)部邏輯電路C1(B。 寄存器群CIOI可以被標(biāo)記為無效的。這意味著,執(zhí)行單元的內(nèi)部邏輯 電路C103在對(duì)該群的孝皮標(biāo)記為無效的寄存器進(jìn)行存取時(shí)識(shí)別出,必須 重新確定該寄存器的內(nèi)容;例如通過從RAM、 ROM、 Flash再裝入, 或通過重新計(jì)算。來自另一群C102的寄存器總是具有有效的內(nèi)容。執(zhí) 行單元的工作寄存器例如屬于該群。如果發(fā)生從性能模式向比較模式 的轉(zhuǎn)變,則如上所述,兩個(gè)執(zhí)行單元C100中的C101和C102的這些 寄存器必須是相同的。不必一定自從性能模式到比較模式的切換的時(shí)刻起、而是最遲在 切換到比較模式之后在對(duì)執(zhí)行單元C100中的兩個(gè)相同的寄存器進(jìn)行 首次讀存取時(shí),寄存器群ClOl、 C102的該條件適用。通常的方法在于, 在切換到比較模式之前或之后,及時(shí)地給群C102的所有寄存器分配固 定的值。與此無關(guān)地,在切換到比較模式時(shí),將群C101的寄存器標(biāo)記 為無效的。如果像在圖3中那樣按照C100c來建立執(zhí)行單元C100,則可以通 過在執(zhí)行單元的每一個(gè)中采用兩個(gè)寄存器組C101a、 C102a和C101b、 C102b來加速該過程。在性能模式下和在比較模式下采用不同的寄存 器,而不是在切換之前、期間或之后使寄存器相適應(yīng)。在比較模式下 采用群C101a和C102a的寄存器,而在性能模式下采用群C101b和 C102b的寄存器。在切換到比較模式或到性能模式的時(shí)刻,在這些寄 存器組之間進(jìn)行切換。如果對(duì)于寄存器101a和102a,例如通過在接通 處理器時(shí)相應(yīng)的初始化曾經(jīng)確保內(nèi)容是相同的,則這些寄存器也在兩 個(gè)執(zhí)行單元上運(yùn)行期間保持相同。因此在從性能模式到比較模式的切 換時(shí)不必使寄存器內(nèi)容相適應(yīng),因?yàn)樵诒容^模式下總是僅對(duì)在兩個(gè)執(zhí) 行單元C100a和C100b之間相同的寄存器存取和僅可以在比較模式下 寫。在圖4中所示的第二實(shí)施形式中說明了,將一個(gè)執(zhí)行單元的內(nèi)部 狀態(tài)復(fù)制到另一執(zhí)行單元上。在圖4中展示了加速從性能模式到比較 模式的切換過程的另一可能性。所述另一可能性在于將執(zhí)行單元 C100d、 C100e的內(nèi)部狀態(tài)C104d或C104e向另一執(zhí)行單元C100d、 C100e復(fù)制。在運(yùn)行中,在從性能模式到比較模式的切換時(shí),通常一個(gè) 執(zhí)行單元在時(shí)間上比另一執(zhí)行單元較早地為切換準(zhǔn)備好。如果將在時(shí) 間上較早準(zhǔn)備好的一個(gè)執(zhí)行單元的內(nèi)部寄存器(在C100d時(shí)C104d和 在C100e時(shí)C104e)在切換之前初始化為在比較模式下所需要的值, 則可以使時(shí)間上跟隨的第二執(zhí)行單元的內(nèi)部狀態(tài)相適應(yīng),其方式是, 接收第一執(zhí)行單元的狀態(tài)。如果例如執(zhí)行單元C100d早于執(zhí)行單元 C100e為切換準(zhǔn)備好,則在切換時(shí)將狀態(tài)C104d向C104e復(fù)制??梢詧?zhí)行內(nèi)部狀態(tài)的這種復(fù)制,其方式是直接使用在兩個(gè)執(zhí)行單 元之間的連接C300,經(jīng)由所述連接復(fù)制內(nèi)部狀態(tài)??商娲兀梢詫?時(shí)間上較早的第一執(zhí)行單元的狀態(tài)復(fù)制到(快速綁定的)中間存儲(chǔ)器 C200中,時(shí)間上跟隨的第二執(zhí)行單元從該中間存儲(chǔ)器C200中接收狀 態(tài)到內(nèi)部寄存器中。在圖5中所示的一種其它的實(shí)施形式中,說明了通過從具有快速 綁定(Anbindung)的存儲(chǔ)器區(qū)域中復(fù)制寄存器內(nèi)容來初始化比較模式 的內(nèi)部狀態(tài)。在此假設(shè),在性能模式開始時(shí),總是將至少兩個(gè)執(zhí)行單 元C100f、 C100g的內(nèi)部狀態(tài)C104f、 C104g設(shè)置為恰好一個(gè)所規(guī)定的值。該值被存儲(chǔ)在存儲(chǔ)器C400中,該存儲(chǔ)器C400具有到執(zhí)行單元 C100f、 C100g上并從而到寄存器C104f、 C104g上的盡可能快速的綁 定。該存儲(chǔ)器優(yōu)選地是非易失性的。但是,如果在初始化多處理器系 統(tǒng)時(shí)從非易失性存儲(chǔ)器中復(fù)制、從外部數(shù)據(jù)源接收、或由多處理器系 統(tǒng)生成性能模式的存儲(chǔ)在存儲(chǔ)器中的初始化狀態(tài),則也可以是易失性 存儲(chǔ)器。為了切換或者在從性能模式到比較模式的切換時(shí),將比較模 式的存儲(chǔ)在存儲(chǔ)器C400中的初始化狀態(tài)寫到應(yīng)在比較模式下運(yùn)行的 至少兩個(gè)執(zhí)行單元C100f、 C100g的寄存器C104f、 C104g中。在一種其它的實(shí)施形式中標(biāo)記部分狀態(tài),其中在到比較模式的切 換時(shí),不必在執(zhí)行單元之間使所述部分狀態(tài)相適應(yīng)。不是總是需要在從性能模式到比較模式的切換時(shí)使執(zhí)行單元的所有寄存器相適應(yīng)。為 了在比較模式下不錯(cuò)誤地識(shí)別故障,只必須使一個(gè)執(zhí)行單元的寄存器 與第二執(zhí)行單元的在比較模式下實(shí)際使用的寄存器相適應(yīng)。首先在執(zhí) 行單元中設(shè)有大量寄存器的結(jié)構(gòu)體系中,是這種情況,或可以在軟件 開發(fā)時(shí)作為輔助條件來考慮。在任何情況下都可以確定在比較模式下 所使用的寄存器的數(shù)量。如果現(xiàn)在不是所有的被利用,則不需要使所 有寄存器相適應(yīng),而是只使所采用的寄存器相適應(yīng)。因此建議在每一 個(gè)寄存器中設(shè)置附加位。在這些位中可以編碼,在從性能模式到比較 模式的切換時(shí)是否應(yīng)使該寄存器的內(nèi)容與其它執(zhí)行單元的相應(yīng)寄存器 相適應(yīng)??商娲?,可以存在專用寄存器,其內(nèi)容定義,必須使一個(gè) 執(zhí)行單元的哪個(gè)寄存器與其它執(zhí)行單元的相應(yīng)寄存器相適應(yīng)。該相適 應(yīng)本身可以與標(biāo)記無關(guān)地通過公知的或這里所介紹的方法實(shí)現(xiàn)。圖7展示了具有帶有其寄存器C311 、 C321的多個(gè)執(zhí)行單元C310、 C320的處理器系統(tǒng)C300。來自C311、 C321的每一個(gè)寄存器都由具有 有用數(shù)據(jù)的n個(gè)位(n>l)組成(在圖6中C2010所示)。附加于這 些n個(gè)位中的每一個(gè),還添加具有控制數(shù)據(jù)的m個(gè)位(m> =1)(在 圖6中C2000所示)。在這些m個(gè)位中編碼,在轉(zhuǎn)變到比較模式時(shí)是 否發(fā)生相適應(yīng)。如果控制位在最簡單的情況下只由一位組成,則例如 值零意味著,不必發(fā)生相適應(yīng),而值1意味著必須發(fā)生相適應(yīng)。于是 在從性能到比較模式的切換時(shí)進(jìn)行對(duì)這些位的分析。圖8展示了具有處理器系統(tǒng)C400的本發(fā)明另一實(shí)施形式,該處理 器系統(tǒng)C400包含具有其寄存器C411、 C422的執(zhí)行單元C410、 C420。處理器系統(tǒng)C400附加地含有寄存器C430。該寄存器C430的內(nèi)容定義, 在轉(zhuǎn)變到比較模式時(shí),必須使執(zhí)行單元C410、 C420的C411、 C421中 的哪些寄存器相適應(yīng)。例如可以如此實(shí)現(xiàn)寄存器C430d吏得對(duì)于C411、 C421中的每一個(gè)潛在要相適應(yīng)的寄存器,在C430中設(shè)置一個(gè)位。如 果設(shè)置了該相應(yīng)位,則必須使相對(duì)應(yīng)的寄存器相適應(yīng),如果沒有設(shè)置 該位,則不必使相對(duì)應(yīng)的寄存器相適應(yīng)。于是在從性能到比較模式的 切換時(shí)進(jìn)行對(duì)該寄存器的分析。在一種未在圖中示出的其它實(shí)施形式 中,沒有如在圖8中所示出那樣設(shè)置中央寄存器C430,而是在每一個(gè) 執(zhí)行單元中設(shè)置履行寄存器C430的任務(wù)的寄存器。這意味著,在該寄 存器中編碼,在從性能模式到比較模式的切換時(shí)必須將執(zhí)行單元的寄 存器中的哪些與至少一個(gè)笫二執(zhí)行單元的寄存器相匹配。然而,于是 在從性能模式到比較模式的切換時(shí),必須確保,在所有要同步化的執(zhí) 行單元中的所述專用寄存器的內(nèi)容是相同的。
權(quán)利要求
1.用于在具有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的方法,其中,在性能模式和比較模式之間進(jìn)行切換,并且對(duì)于性能模式設(shè)置由第一執(zhí)行單元的至少一個(gè)第一寄存器和第二執(zhí)行單元的至少一個(gè)第二寄存器所組成的第一寄存器組,其特征在于,在從性能模式到比較模式的切換時(shí),在由第一執(zhí)行單元的至少一個(gè)第三寄存器和第二執(zhí)行單元的至少一個(gè)第四寄存器所組成的第二寄存器組中存在比較模式的起動(dòng)狀態(tài),其中,通過在第一和第二寄存器組之間切換來獲得比較模式的起動(dòng)狀態(tài)。
2. 按權(quán)利要求1的方法,其特征在于,通過在第二和第一寄存器組 之間切換來獲得性能模式的起動(dòng)狀態(tài)。
3. 用于在具有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的 設(shè)備,其中,設(shè)置裝置,所述裝置如此被設(shè)計(jì),使得所述裝置在性能 模式和比較模式之間切換,并且對(duì)于性能模式設(shè)置由第一執(zhí)行單元的 至少一個(gè)第一寄存器和第二執(zhí)行單元的至少一個(gè)第二寄存器所組成的 第一寄存器組,其特征在于,在從性能模式到比較模式的切換時(shí),在 由第一執(zhí)行單元的至少一個(gè)第三寄存器和第二執(zhí)行單元的至少一個(gè)第 四寄存器所組成的第二寄存器組中產(chǎn)生比較模式的起動(dòng)狀態(tài),其中, 通過在笫一和第二寄存器組之間切換來獲得比較模式的起動(dòng)狀態(tài)。
全文摘要
用于在具有至少兩個(gè)執(zhí)行單元的計(jì)算機(jī)系統(tǒng)中確定起動(dòng)狀態(tài)的方法,其中,在性能模式和比較模式之間進(jìn)行切換,并且對(duì)于性能模式設(shè)置由第一執(zhí)行單元的至少一個(gè)第一寄存器和第二執(zhí)行單元的至少一個(gè)第二寄存器所組成的第一寄存器組,其特征在于,在從性能模式到比較模式的切換時(shí),在由第一執(zhí)行單元的至少一個(gè)第三寄存器和第二執(zhí)行單元的至少一個(gè)第四寄存器所組成的第二寄存器組中存在比較模式的起動(dòng)狀態(tài),其中,通過在第一和第二寄存器組之間切換來獲得比較模式的起動(dòng)狀態(tài)。
文檔編號(hào)G06F11/16GK101243409SQ200680029625
公開日2008年8月13日 申請(qǐng)日期2006年7月27日 優(yōu)先權(quán)日2005年8月8日
發(fā)明者B·米勒, E·博爾, R·格默利克, R·韋伯爾, Y·科拉尼 申請(qǐng)人:羅伯特·博世有限公司