問請求隊列21中被排隊的總線訪問請求對應(yīng)的所獲得的訪問結(jié)果進(jìn)行排隊。訪問結(jié)果包括訪問端信息,訪問端信息示出了訪問的正常端/異常端以及在讀取訪問的情況下的讀取數(shù)據(jù)等。
[0110]總線訪問仲裁電路15經(jīng)由總線30和31接收由訪問請求標(biāo)志(ARFLG) 20所保持的總線訪問請求以及由主端口 11至13中的每個端口的總線訪問請求隊列21所保持的總線訪問信息,并且確定存在還是不存在訪問競爭。當(dāng)不存在競爭時,總線訪問仲裁電路15向從端口 14給出應(yīng)答訪問請求的總線訪問信息,并且等待來自總線從模塊4的訪問完成。當(dāng)其為寫入訪問時,電路接收訪問端信息,而當(dāng)其為讀出時,電路接收訪問端信息和讀取數(shù)據(jù)。所接收的信息經(jīng)由總線32被返回到總線訪問請求源的處理器單元,并且被存儲在訪問結(jié)果隊列22中。當(dāng)存在競爭時,總線訪問仲裁電路15基于優(yōu)先權(quán)等來仲裁訪問請求,并且對一個訪問請求執(zhí)行與以上描述的相同的訪問控制處理。雖然沒有特別限制,然而,在總線訪問請求中包括指定訪問請求源的ID信息,并且在總線請求信息中包括指定訪問請求源的ID信息和指定訪問規(guī)范的地址信息。訪問端信息和讀取數(shù)據(jù)被給予使用訪問請求源的ID信息的對應(yīng)的主端口。
[0111]通過例如三種模式來對于訪問請求控制由總線訪問仲裁電路15進(jìn)行的仲裁和路由的訪問控制處理:執(zhí)行/暫停/取消。控制通過與DLS對應(yīng)的操作和與TMR對應(yīng)的操作實現(xiàn)故障保護(hù)功能。下文中,將詳細(xì)描述控制功能。
[0112]用于通過總線接口單元5來實現(xiàn)故障保護(hù)功能的故障保護(hù)電路塊70包括例如總線訪問信息存儲電路40、總線訪問信息比較器41、總線訪問確定/控制電路42、時間測量器件43、控制寄存器44和狀態(tài)標(biāo)志寄存器45。
[0113]總線訪問信息存儲電路40保持從主端口 11至13向總線31輸出的總線訪問信息,并且具有被個性化用于主端口 11、12和13中的每個主端口的保持區(qū)域(第一區(qū)域、第二區(qū)域和第三區(qū)域)。
[0114]總線訪問信息比較器41對被個性化用于主端口 11、12和13中的每個主端口的區(qū)域的值進(jìn)行比較,并且確定第一區(qū)域中的信息是否與第二區(qū)域中的信息一致、第一區(qū)域中的信息是否與第三區(qū)域中的信息一致以及第二區(qū)域中的信息是否與第三區(qū)域中的信息一致。
[0115]總線訪問確定/控制電路42確定是否存在經(jīng)由總線30的總線訪問請求。應(yīng)當(dāng)根據(jù)其確定處理器單元的總線訪問請求被設(shè)置為通過控制寄存器44的控制設(shè)置信息可編程的??偩€訪問確定/控制電路42A通過總線訪問信息比較器41輸入比較結(jié)果51從而確定多個總線訪問信息的一致性/非一致性,并且基于確定結(jié)果,由控制信號50通過總線訪問仲裁電路15控制與訪問請求對應(yīng)的訪問控制處理的執(zhí)行/暫停/取消。另外,當(dāng)總線訪問確定/控制電路42執(zhí)行取消的訪問控制處理時,總線訪問確定/控制電路42輸出信號53,信號53指令用于與訪問請求的請求源對應(yīng)的處理器單元或者用于要成為訪問請求的比較目標(biāo)的另一處理器單元的中斷請求或重置請求。根據(jù)控制寄存器44的設(shè)置內(nèi)容來確定信號53的請求是中斷請求還是重置請求以及哪個處理器單元為請求指定等。作為用于比較結(jié)果51的參考時序,例如,使用時間測量器件43的計時器操作的超時時序??刂萍拇嫫?4的設(shè)置可以由處理器單元中的任何處理器單元來執(zhí)行,或者可以由另一邏輯器件來執(zhí)行。時間測量器件43的計時器時間的設(shè)置由控制寄存器44的設(shè)置來執(zhí)行。使用設(shè)定計時器時間的計時器開始和結(jié)束操作由總線訪問確定/控制電路42來執(zhí)行。狀態(tài)標(biāo)志寄存器45保持處理器單元I至3的狀態(tài)。例如,狀態(tài)標(biāo)志寄存器45連同處理器單元的ID —起保持諸如在操作停止期間、在重置處理期間等的狀態(tài)。
[0116]雖然沒有特別限制,然而總線訪問確定/控制電路42的故障保護(hù)控制功能概括性地被分類為與DLS對應(yīng)的操作和與TMR對應(yīng)的操作。雖然沒有特別限制,然而要執(zhí)行哪個操作控制由控制寄存器44的模式位的設(shè)置來確定。在指定與DLS對應(yīng)的操作時,例如可以通過控制寄存器44指定要成為訪問請求的比較目標(biāo)的兩個處理器單元。在指定與TMR對應(yīng)的操作時,可以由控制寄存器44指定要成為訪問請求的比較目標(biāo)的三個處理器單元。與要執(zhí)行哪個操作控制有關(guān)的指定不限于以上內(nèi)容,而是可以被設(shè)置成使得在要成為訪問請求的比較目標(biāo)的處理器單元的數(shù)目為2時能夠指定與DLS對應(yīng)的操作,并且使得在要成為訪問請求的比較目標(biāo)的處理器單元的數(shù)目為3時能夠指定與TMR對應(yīng)的操作。
[0117]在專注于如下事實一一其中處理器單元的異常產(chǎn)生系統(tǒng)的故障的情況為其中處理器單元向外部執(zhí)行錯誤處理的情況一一的同時,這里的故障保護(hù)控制的基本概念為檢測其中被設(shè)置為執(zhí)行相同的程序處理操作的多個處理器單元的訪問請求彼此不同的狀態(tài)以及確定其異常,作為一種用于廣泛檢測錯誤的技術(shù)。在確定時,在其中兩個處理器單元被設(shè)置為比較目標(biāo)的情況下,當(dāng)存在來自一個處理器單元的訪問請求并且來自另一處理器單元的相同的訪問請求不存在時,確定這兩個訪問請求均為異常。通過在將兩個處理器單元的組合改為比較目標(biāo)的同時執(zhí)行相同的確定若干次,對已經(jīng)產(chǎn)生故障的處理器單元的指定變得可能。在其中存在來自一個處理器單元的訪問請求的情況下,當(dāng)三個處理器單元被設(shè)置為比較目標(biāo)并且來自另一處理器單元的至少一個訪問請求存在時,在上述范圍內(nèi)執(zhí)行正常訪問,而在其中來自剩余的一個處理器單元的訪問請求不同的情況下,可以確定上述一個處理器單元處于故障狀態(tài)。
[0118]將說明圖1中的多處理器系統(tǒng)MPS_1中被概括性地分類為與DLS對應(yīng)的操作和與TMR對應(yīng)的操作的故障安全控制方法的具體示例。在圖1的多處理器系統(tǒng)MPS_1中,當(dāng)處理器單元I至3中的指定處理器單元正常地執(zhí)行相同的操作時,每個處理器單元被設(shè)置為以相同的時序操作。與總線訪問相關(guān)的相同的時序表示例如當(dāng)訪問請求被執(zhí)行時,部分處理器單元不預(yù)先執(zhí)行隨后的訪問請求。
[0119]《使用多處理器系統(tǒng)MPS_1的與DLS對應(yīng)的操作》
[0120]在圖2至圖4中,說明在指定兩個處理器單元從而執(zhí)行與DLS對應(yīng)的操作時的操作流程。
[0121]處理器單元I至3中的所需要的兩個處理器單元由控制寄存器44來指定,并且與DLS對應(yīng)的操作被設(shè)置。所指定的兩個處理器單元并行地執(zhí)行相同的程序。
[0122]當(dāng)總線訪問根據(jù)處理器單元I至3的程序執(zhí)行以要求的時序被發(fā)出(A-1)時,總線接口單元5接收總線訪問請求隊列(QREQ)21中的請求,并且訪問請求標(biāo)志20被設(shè)置(A-2)。總線訪問確定/控制電路42基于設(shè)定的訪問請求標(biāo)志來確定訪問請求是否為要成為與DLS對應(yīng)的操作的目標(biāo)的處理器單元(控制寄存器44所指定的處理器單元)的請求(Α-3) ο
[0123]當(dāng)訪問請求不是與DLS對應(yīng)的操作的目標(biāo)時,總線訪問確定/控制電路42通過信號50來允許總線訪問仲裁電路15對訪問請求執(zhí)行仲裁操作并且使得總線訪問模塊4執(zhí)行總線訪問(A-4)??偩€訪問仲裁電路15對與訪問請求相關(guān)的主端口的訪問請求隊列22中的總線訪問的執(zhí)行結(jié)果進(jìn)行排隊,并且使得主端口清除訪問請求標(biāo)志20 (A-5)。
[0124]另一方面,當(dāng)訪問請求為與DLS對應(yīng)的操作的目標(biāo)時,將在總線訪問請求隊列(QREQ) 21中被接收的總線訪問信息保持在總線訪問信息存儲電路40中(B-4)??偩€訪問信息比較器41將這次所保持的總線訪問信息與總線訪問信息存儲電路40的用于要成為與DLS對應(yīng)的操作的目標(biāo)的處理器單元的區(qū)域中的信息進(jìn)行比較(B-5)。作為比較結(jié)果,確定這兩條總線訪問信息是否彼此一致(B-6)。
[0125]當(dāng)步驟B-6中的確定結(jié)果表明一致時,由于其表示相同的訪問請求已經(jīng)從作為與DLS對應(yīng)的操作的目標(biāo)的兩個處理器單元被發(fā)出,所以可知總線訪問請求為有效的訪問請求。因此,總線訪問確定/控制電路42通過信號50來使得總線訪問仲裁電路15能夠從而對訪問請求執(zhí)行仲裁操作以執(zhí)行總線從模塊4的總線訪問(B-7)??偩€從模塊4的總線訪問這次變?yōu)閺膬蓚€處理器單元單獨(dú)發(fā)出的訪問請求的一個公共總線訪問。當(dāng)時間測量器件43的計時器操作已經(jīng)開始時,即使在超時之前也清除計時器操作(B-7)??偩€訪問仲裁電路15對與和DLS對應(yīng)的操作的目標(biāo)相關(guān)的兩個主端口 20的結(jié)果隊列22中的總線訪問的執(zhí)行結(jié)果進(jìn)行排隊,并且使得主端口清除與訪問請求的一致性相關(guān)的訪問請求標(biāo)志20 (B-8)。
[0126]另一方面,當(dāng)步驟B-6中的確定結(jié)果的結(jié)果表明非一致時,確定時間測量器件43的計時器操作是否有效(計時器操作已經(jīng)開始)(C-7)。當(dāng)計時器操作無效時,訪問請求的非一致確定的即刻例外處理已經(jīng)被信號53等指定。例如,根據(jù)對控制寄存器44的例外處理的指定,執(zhí)行與和DLS對應(yīng)的操作相關(guān)的另一側(cè)處理器單元的中斷請求或重置請求的生成、被制成單個芯片的多處理器系統(tǒng)MPS_1的芯片的外部的例外處理請求或者與訪問請求相關(guān)的處理器單元的這次操作停止的指令(C-8)。
[0127]在其中在步驟C-7通過確定結(jié)果確定計時器操作有效的情況下,當(dāng)計時器操作尚未被激活時,開始計時器操作(D-8),并且確定是否已經(jīng)通過計時器操作測量指定時間(是否超時)(D-9)。當(dāng)超時尚未實現(xiàn)時,流程返回到步驟B-5并且重復(fù)以上處理,而當(dāng)超時已經(jīng)實現(xiàn)時,與步驟C-8的情況一樣,用于訪問請求的非一致性確定的例外處理已經(jīng)被信號53等指定,并且例如,執(zhí)行與和DLS對應(yīng)的操作相關(guān)的其它側(cè)處理器單元的中斷請求或重置請求的生成、被制成單個芯片的多處理器系統(tǒng)MPS_1的芯片的外部的例外處理請求或者與訪問請求相關(guān)的處理器單元的這次操作停止的指令(D-10)。
[0128]在圖2至圖4的流程圖中,例如,其中處理器單元1、2被使得并行地以相同的方式操作并且處理器單元3被使得與處理器單元1、2獨(dú)立地操作的處理步驟的進(jìn)程形式(以組織方式被示出)如下。
[0129](I)按照步驟A-1、A-2、A_3、A-4和A_5的順序,通過處理器單元3對總線訪問請求執(zhí)行處理,并且完成總線訪問。
[0130](2)在處理器單元I和2正常操作時,按照步驟Α-1、Α-2、Α-3、Β-4、Β-5和B-6 (確定為一致)、B-7和B-8的順序執(zhí)行處理,并且完成總線訪問。
[0131](3)在其中在處理器單元I和2的異常操作時操作時序不存在差異的情況下,按照步驟A-1、A-2、A-3、B-4、B-5和B-6 (確定為非一致)、C-7和C-8的順序執(zhí)行處理,并且立刻確定其中總線訪問信息非一致的情況為異常并且對錯誤執(zhí)行例外處理。
[0132](4)在其中總線訪問信息由于處理器單元I和2的異常操作一旦變?yōu)榉且恢虏⑶以谝?guī)定的時間逝去之后仍然非一致的情況下,按照步驟A-1、A-2、A-3、B-4、B-5和B-6 (確定為非一致)、C-7、D-8和D-9 (從B5至D9的重復(fù))和D-1O的順序執(zhí)行處理,并且其中在規(guī)定的時間逝去之后總線訪問信息仍然非一致的情況被確定為異常,并且對錯誤執(zhí)行例外處理。
[0133](5)在其中總線訪問信息由于處理器單元I和2的異常操作一旦變?yōu)榉且恢虏⑶以谝?guī)定的時間逝去之前變?yōu)橐恢碌那闆r下,按照步驟A-1、A-2、A-3、B-4、B-5和B-6 (確定為非一致)、C-7、D-8和D-9 (從B5至D9的重復(fù))、B-6 (確定為一致)、B-7和B-8的順序執(zhí)行處理,并且完成總線訪問。
[0134]《使用多處理器系統(tǒng)MPS_1的與TMR對應(yīng)的操作》
[0135]在圖5至圖7中,說明了當(dāng)通過指定三個處理器單元來執(zhí)行與TMR對應(yīng)的操作時的操作流程。
[0136]處理器單元I至3由控制寄存器44來指定,并且與TMR對應(yīng)的操作被設(shè)置。所指定的三個處理器單元并行地執(zhí)行相同的程序。
[0137]當(dāng)總線訪問根據(jù)處理器單元I至3的程序執(zhí)行以要求的時序被發(fā)出(A-1l)時,總線接口單元5接收總線訪問請求隊列(QREQ)21中的請求,并且訪問請求標(biāo)志20被設(shè)置(A-12)??偩€訪問確定/控制電路42基于設(shè)定的訪問請求標(biāo)志來確定訪問請求是否為要成為與DLS對應(yīng)的操作的目標(biāo)的處理器單元(控制寄存器44所指定的處理器單元)的請求(Α-13) ο
[0138]當(dāng)訪問請求不是與TMR對應(yīng)的操作的目標(biāo)時,總線訪問確定/控制電路42通過信號50來允許總線訪問仲裁電路15對訪問請求執(zhí)行仲裁操作并且使得總線訪問模塊4執(zhí)行總線訪問(A-14)。總線訪問仲裁電路15對與訪問請求相關(guān)的主端口的訪問請求隊列22中的總線訪問的執(zhí)行結(jié)果進(jìn)行排隊,并且使得主端口清除訪問請求標(biāo)志20 (A-15)。注意,在圖1中的多處理器系統(tǒng)MPS_1的示例中,由于僅三個處理器單元被安裝并且與三元多數(shù)決定規(guī)則對應(yīng)的操作通過使用三個處理器單元被執(zhí)行,所以沒有生成穿過步驟A-1l至A-15的路徑的處理。
[0139]當(dāng)訪問請求為與TMR對應(yīng)的操作的目標(biāo)時,將在總線訪問請求隊列(QREQ) 21中被接收的總線訪問信息保持在總線訪問信息存儲電路40中(B-14)??偩€訪問信息比較器41將這