專利名稱:多處理器系統(tǒng)及其排他控制的調(diào)解方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多處理器系統(tǒng),特別涉及多個(gè)處理器間的資源的排他控制需要的系統(tǒng)及其排他控制的調(diào)解方法。
背景技術(shù):
在以往的多處理器系統(tǒng)的排他控制的調(diào)解方法中,使用表示是否正在執(zhí)行排他控制的資源鎖定標(biāo)志。該資源鎖定標(biāo)志在系統(tǒng)中有執(zhí)行排他控制的處理器的情況下表示 ON( ‘1’),在不是這樣的情況下表示OFF( ‘0’)。各處理器在排他控制的執(zhí)行前必須檢查該資源鎖定標(biāo)志,僅在不存在是排他控制中的其他處理器的情況下、即在資源鎖定標(biāo)志表示OFF的情況下,系統(tǒng)許可該處理器進(jìn)行的排他控制。另一方面,在存在是排他控制執(zhí)行中的其他處理器的情況下、即在資源鎖定標(biāo)志表示ON的情況下,在該時(shí)點(diǎn)不許可該處理器進(jìn)行的排他控制,等待直到其他處理器進(jìn)行的排他控制結(jié)束、資源鎖定標(biāo)志變?yōu)镺FF。這樣,在以往的多處理器系統(tǒng)中,調(diào)解構(gòu)成系統(tǒng)的各處理器進(jìn)行的排他控制。但是,在上述那樣的以往的多處理器系統(tǒng)中,僅基于資源鎖定標(biāo)志的單單表示是否正在執(zhí)行排他控制的信息調(diào)解多個(gè)處理器間的排他控制,沒(méi)有考慮到等待排他控制執(zhí)行的許可的處理器。因此,被許可排他控制的處理器單純由排他控制要求的受理順序等決定, 有被許可排他控制的處理器偏頗的情況。進(jìn)而,在特定的處理器中,如果為了執(zhí)行排他控制而檢查資源鎖定標(biāo)志,則有因每次都是其他處理器是排他控制中、等待多久也不被許可執(zhí)行、處理器超時(shí)的情況。作為能夠防止這樣的處理器超時(shí)的以往技術(shù),已知有例如在專利文獻(xiàn)1中記載的技術(shù)。該以往技術(shù)具備表示存在正在執(zhí)行排他控制的處理器的排他控制標(biāo)志、按照處理器表示排他控制請(qǐng)求失敗的失敗標(biāo)志、和表示再發(fā)出的排他控制請(qǐng)求成功的成功標(biāo)志,通過(guò)各處理器判斷相同的請(qǐng)求處理順序而執(zhí)行的分散調(diào)解方式進(jìn)行排他控制的調(diào)解。由此,不取決于向資源鎖定調(diào)解部的請(qǐng)求受理的順序,必定將全部處理器的資源鎖定請(qǐng)求導(dǎo)向成功,能夠防止處理器超時(shí)的發(fā)生。先行技術(shù)文獻(xiàn)專利文獻(xiàn)專利文獻(xiàn)1 日本特開(kāi)2001-344195 發(fā)明概要發(fā)明要解決的課題近年來(lái),隨著電子設(shè)備的性能提高,對(duì)于特定的功能重視實(shí)時(shí)性。例如,對(duì)數(shù)字照相機(jī)的自動(dòng)對(duì)焦功能,要求連拍時(shí)的高速的響應(yīng)性能。此外,便攜電話的各種功能在提高商品價(jià)值方面希望在其使用時(shí)對(duì)操作按鈕的操作高速地響應(yīng)。從這樣的實(shí)時(shí)性的觀點(diǎn)看,在專利文獻(xiàn)1所記載的以往技術(shù)中,存在以下這樣的問(wèn)題。即,即使某個(gè)處理器請(qǐng)求了資源的鎖定(排他控制),如果在該時(shí)點(diǎn)存在處于鎖定獲得等待狀態(tài)的其他處理器,在該其他處理器成功鎖定、將該鎖定解除之前的期間中也為鎖定獲得等待狀態(tài),該過(guò)程有可能被重復(fù)其他處理器的數(shù)量的次數(shù)而在此期間中一直為鎖定獲得等待狀態(tài)。特別是,在裝入系統(tǒng)的實(shí)時(shí)OS中,根據(jù)處理的優(yōu)先級(jí)決定執(zhí)行順序,但鎖定獲得順序與處理的優(yōu)先級(jí)無(wú)關(guān),而由鎖定請(qǐng)求處理中的瞬間的FIFO (First in,First out) (先入先出)決定。因此,有可能在優(yōu)先級(jí)較高的處理中鎖定獲得等待狀態(tài)持續(xù)而難以進(jìn)行實(shí)時(shí)性的確保。
發(fā)明內(nèi)容
本發(fā)明是為了解決這樣的問(wèn)題而做出的,目的是提供一種能夠確保實(shí)時(shí)性的多處理器系統(tǒng)及其排他控制的調(diào)解方法。解決課題的手段為了解決上述問(wèn)題,有關(guān)本發(fā)明的多處理器系統(tǒng)具備各個(gè)處理器將共用資源排他地控制而處理任務(wù)的多個(gè)上述處理器;各個(gè)上述處理器具備保存表示自身是否正在等待上述共用資源的排他控制的獲得的排他控制等待信息的排他控制等待信息保存部、和保存表示獲得上述共用資源的排他控制的優(yōu)先級(jí)的排他控制獲得優(yōu)先級(jí)信息的排他控制獲得優(yōu)先級(jí)信息保持部;構(gòu)成為,各個(gè)上述處理器基于上述排他控制等待信息和上述排他控制獲得優(yōu)先級(jí)信息獲得上述共用資源的排他控制。根據(jù)該結(jié)構(gòu),通過(guò)構(gòu)成為,使得在某個(gè)處理器發(fā)生了控制共用資源的需要的時(shí)點(diǎn)存在是排他控制等待狀態(tài)的其他處理器的情況下、它們之中優(yōu)先級(jí)較高的處理器獲得共用資源的排他控制,能夠確保實(shí)時(shí)性。上述排他控制獲得優(yōu)先級(jí)信息保存部也可以由保存上述排他控制獲得優(yōu)先級(jí)信息的寄存器構(gòu)成。也可以構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息不被變更。也可以構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息被變更。也可以構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息被以特定的周期變更。也可以構(gòu)成為,各個(gè)上述處理器根據(jù)執(zhí)行的任務(wù)或中斷處理的優(yōu)先級(jí)變更上述排他控制獲得優(yōu)先級(jí)信息。也可以構(gòu)成為,各個(gè)上述處理器根據(jù)上述排他控制獲得的嘗試次數(shù)變更上述排他控制獲得優(yōu)先級(jí)信息。上述排他控制等待信息保存部也可以由保存上述排他控制等待信息的寄存器構(gòu)成。此外,本發(fā)明的多處理器系統(tǒng)的排他控制的調(diào)解方法,是具備各個(gè)處理器將共用資源排他地控制而處理任務(wù)的多個(gè)上述處理器的多處理器系統(tǒng)的排他控制的調(diào)解方法,包括各個(gè)上述處理器將表示自身是否正在等待上述共用資源的排他控制的獲得的排他控制等待信息的步驟;各個(gè)上述處理器將表示獲得上述共用資源的排他控制的優(yōu)先級(jí)的排他控制獲得優(yōu)先級(jí)信息保存的步驟;各個(gè)上述處理器基于上述排他控制等待信息和上述排他控制獲得優(yōu)先級(jí)信息獲得上述共用資源的排他控制的步驟。根據(jù)該結(jié)構(gòu),通過(guò)構(gòu)成為,使得在某個(gè)處理器發(fā)生了控制共用資源的需要的時(shí)點(diǎn)存在是排他控制等待狀態(tài)的其他處理器的情況下、它們之中優(yōu)先級(jí)較高的處理器獲得共用資源的排他控制,能夠確保實(shí)時(shí)性。
也可以是,各個(gè)上述處理器將上述排他控制獲得優(yōu)先級(jí)信息保存在寄存器中。也可以是,各個(gè)上述處理器不變更上述排他控制獲得優(yōu)先級(jí)信息。也可以是,各個(gè)上述處理器變更上述排他控制獲得優(yōu)先級(jí)信息。也可以是,各個(gè)上述處理器將上述排他控制獲得優(yōu)先級(jí)信息以特定的周期變更。也可以是,各個(gè)上述處理器根據(jù)執(zhí)行的任務(wù)或中斷處理的優(yōu)先級(jí)變更上述排他控制獲得優(yōu)先級(jí)信息。也可以是,各個(gè)上述處理器根據(jù)上述排他控制獲得的嘗試次數(shù)變更上述排他控制獲得優(yōu)先級(jí)信息。也可以是,各個(gè)上述處理器將上述排他控制等待信息保存在寄存器中。此外,本發(fā)明的照相機(jī),構(gòu)成為,具備控制部,該控制部包括上述任一項(xiàng)的多處理器系統(tǒng)、構(gòu)成上述多處理器系統(tǒng)的各個(gè)處理器排他地控制的上述共用資源,上述控制部控制上述照相機(jī)的動(dòng)作。本發(fā)明的上述目的、其他目的、特征及優(yōu)點(diǎn)通過(guò)參照附圖、根據(jù)以下的具體實(shí)施方式
的詳細(xì)的說(shuō)明會(huì)變得清楚。本發(fā)明如以上說(shuō)明那樣構(gòu)成,起到能夠提供能夠確保實(shí)時(shí)性的多處理器系統(tǒng)及其排他控制的調(diào)解方法的效果。
圖1是表示有關(guān)本發(fā)明的實(shí)施方式1的多處理器系統(tǒng)的結(jié)構(gòu)的電路圖。圖2是表示構(gòu)成圖1的多處理器系統(tǒng)的1個(gè)處理器的排他控制獲得動(dòng)作的流程圖。圖3是將圖1的多處理器系統(tǒng)的排他控制獲得動(dòng)作與比較例的排他控制獲得動(dòng)作對(duì)比表示的示意圖,圖3(a)是表示圖1的多處理器系統(tǒng)的排他控制獲得動(dòng)作的圖,圖3(b) 是表示比較例的排他控制獲得動(dòng)作的圖。圖4是表示有關(guān)本發(fā)明的實(shí)施方式2的多處理器系統(tǒng)的結(jié)構(gòu)的電路圖。圖5是表示構(gòu)成圖4的多處理器系統(tǒng)的1個(gè)處理器的排他控制獲得動(dòng)作的流程圖。圖6是表示有關(guān)本發(fā)明的實(shí)施方式3的數(shù)字靜像照相機(jī)的功能的結(jié)構(gòu)的塊圖。
具體實(shí)施例方式以下,參照附圖詳細(xì)地說(shuō)明本發(fā)明的實(shí)施方式。另外,以下對(duì)在全部圖中相同或?qū)?yīng)的部分賦予相同的標(biāo)號(hào)而省略重復(fù)的說(shuō)明。(實(shí)施方式1)圖1是表示有關(guān)本發(fā)明的實(shí)施方式1的多處理器系統(tǒng)的結(jié)構(gòu)的電路圖。如圖1所示,本實(shí)施方式1的多處理器系統(tǒng)101具備第1至第4處理器1 4。第 1至第4處理器1 4通過(guò)總線6連接在共用資源5上。第1處理器1具備排他控制獲得優(yōu)先級(jí)信息保存部Ia和排他控制等待信息保存部lb。第2處理器2具備排他控制獲得優(yōu)先級(jí)信息保存部加和排他控制等待信息保存部2b。第3處理器3具備排他控制獲得優(yōu)先級(jí)信息保存部3a和排他控制等待信息保存部:3b。第4處理器4具備排他控制獲得優(yōu)先級(jí)信息保存部4a和排他控制等待信息保存部4b。排他控制獲得優(yōu)先級(jí)信息保存部IaJadada是保存排其他控制獲得優(yōu)先級(jí)信息的部分,由具有保存數(shù)據(jù)的功能的電路元件構(gòu)成。在本實(shí)施方式中,排他控制獲得優(yōu)先級(jí)信息保存部IaJadada例如由寄存器構(gòu)成。排其他控制獲得信息是表示獲得共用資源5 的排他控制的優(yōu)先位次的信息。排其他控制獲得信息表示保存該排他控制獲得信息的排他控制獲得信息保存部屬于的處理器獲得共用資源5的排他控制的優(yōu)先級(jí)。在本實(shí)施方式中,將該優(yōu)先級(jí)賦予給各處理器1 4。優(yōu)先級(jí)只要是表示優(yōu)先的程度的信息就可以,作為優(yōu)先級(jí),可以舉出例如優(yōu)先位次、等級(jí)、分?jǐn)?shù)等。在本實(shí)施方式中,例如對(duì)第1至第4處理器 1 4分別預(yù)先作為優(yōu)先級(jí)而賦予“4”、“3”、“2”、“1”的優(yōu)先位次(數(shù)字越小,優(yōu)先位次越高)。該優(yōu)先級(jí)不能被變更。排他控制等待信息保存部lb、2b、3b、4b是保存排他控制等待信息的部分,由具有保存數(shù)據(jù)的功能的電路元件構(gòu)成。在本實(shí)施方式中,排他控制等待信息保存部lb、2b、!3b、4b 例如由寄存器構(gòu)成。排他控制等待信息是表示處理器是否正等待共用資源5的排他控制的獲得的信息。在本實(shí)施方式中,排他控制等待信息表示保存該排他控制等待信息的排他控制等待信息保存部屬于的處理器是否正在等待共用資源5的排他控制的獲得。各處理器將保存在各自的排他控制等待信息保存部中的排他控制等待信息在資源5的排他控制的獲得失敗的情況下設(shè)為“是控制等待狀態(tài)”,在排他控制的獲得成功的情況下設(shè)為“不是控制等待狀態(tài)”。并且,如后所述,各處理器1 4為了判別其他處理器1 4是否正在等待共用資源5的排他控制的獲得,對(duì)其他處理器1 4的排他控制等待信息保存部訪問(wèn),參照保存在該排他控制等待信息保存部中的排他控制等待信息。另外,也可以構(gòu)成為,各處理器1 4 的排他控制等待信息保存部lb、2b、3b、4b都保存關(guān)于全部處理器1 4的排他控制等待信息。如果這樣構(gòu)成,則各處理器1 4僅通過(guò)參照保存在各自的排他控制等待信息保存部中的信息就足夠?;蛘?,也可以對(duì)全部處理器1 4共通地設(shè)置1個(gè)保存關(guān)于全部處理器 1 4的排他控制等待信息的排他控制等待信息保存部。在此情況下,各處理器1 4對(duì)該共通的排他控制等待信息保存部訪問(wèn)而參照關(guān)于全部處理器1 4的排他控制等待信息。共用資源5具有需要在多個(gè)處理器間進(jìn)行排他控制的資源,對(duì)第1處理器1、第2 處理器2、第3處理器3、及第4處理器4的任一個(gè)處理器提供資源。共用資源5能夠僅對(duì)第1處理器1、第2處理器2、第3處理器3、及第4處理器4任意1個(gè)處理器提供資源。例如,當(dāng)?shù)?處理器1從共用資源5取得資源時(shí),需要進(jìn)行不對(duì)有可能從共用資源5取得資源的第2處理器2、第3處理器3、及第4處理器4提供資源的資源排他控制。作為共用資源, 可以舉出例如存儲(chǔ)器(RAM、ROM等)、1/0(寄存器等)等。接著,說(shuō)明如以上那樣構(gòu)成的多處理器系統(tǒng)的動(dòng)作(有關(guān)本實(shí)施方式的多處理器系統(tǒng)的排他控制的調(diào)解方法)。圖2是表示構(gòu)成圖1的多處理器系統(tǒng)的1個(gè)處理器的排他控制獲得動(dòng)作的流程圖。以下,以某1個(gè)處理器是第1處理器1的情況為例進(jìn)行說(shuō)明。在某1個(gè)處理器是第2至第4處理器2 4的情況下與此是同樣的,所以省略該說(shuō)明。首先,假設(shè)第1處理器1沒(méi)有將共用資源5排他控制。在該狀態(tài)下,自身的排他控制等待信息保存部Ib的排他控制等待信息為“不是排他控制等待狀態(tài)”。在該狀態(tài)下,第1處理器1如果發(fā)生了控制共用資源的需要,則嘗試排他控制獲得,首先,檢測(cè)其他處理器2 4的排他控制等待狀態(tài)(步驟Si)。具體而言,第1處理器1 對(duì)其他各處理器2 4的排他控制等待信息保存部2b 4b訪問(wèn),參照各自的排他控制等 iV fn 息。接著,第1處理器1判斷是否存在處于排他控制等待狀態(tài)的其他處理器2 4(步驟S2)。在不存在處于排他控制等待狀態(tài)的其他處理器2 4的情況下(步驟S2中NO), 前進(jìn)到后述的步驟S5。另一方面,在存在處于排他控制等待狀態(tài)的其他處理器2 4的情況下(步驟S2 中YES),第1處理器1檢測(cè)其他處理器2 4的排他控制獲得優(yōu)先級(jí)信息(步驟S3)。具體而言,第1處理器1對(duì)其他各處理器2 4的排他控制獲得優(yōu)先級(jí)信息保存部加 如訪問(wèn),參照各自的排他控制獲得優(yōu)先級(jí)信息。接著,第1處理器1執(zhí)行步驟S4。在步驟S4中,第1處理器1從自身的排他控制獲得優(yōu)先級(jí)信息保存部Ia取得自身的排他控制獲得優(yōu)先級(jí)信息,將其與其他各處理器2 4的排他控制獲得優(yōu)先級(jí)信息比較,判斷是否存在排他控制獲得優(yōu)先級(jí)比自身高的其他處理器2 4。在存在排他控制獲得優(yōu)先級(jí)比自身高的其他處理器2 4的情況下(步驟S4中 YES),第1處理器1將排他控制等待信息保存部Ib的排他控制等待信息更新為“是排他控制等待狀態(tài)”(步驟S7),然后,回到步驟Si,嘗試下次的排他控制獲得。換言之,第1處理器1被多處理器系統(tǒng)101拒絕了向共用資源5的訪問(wèn)。另一方面,在不存在排他控制獲得優(yōu)先級(jí)比自身高的其他處理器2 4的情況下 (步驟S4中NO),第1處理器1執(zhí)行步驟S5。在步驟S5中,第1處理器1判斷是否能夠取得共用資源5。具體而言,第1處理器1在是其他處理器、即第2處理器2、第3處理器3、或第4處理器4取得了共用資源5的狀態(tài)的情況下,判斷為不能取得共用資源5,在是第2處理器2、第3處理器3、及第4處理器4都沒(méi)有取得共用資源5的狀態(tài)的情況下,判斷為能夠取得共用資源5。在本實(shí)施方式中,例如,各處理器1 4在取得了共用資源5的情況下,設(shè)立“資源取得”的標(biāo)志(將保存在規(guī)定的標(biāo)志保存部中的標(biāo)志設(shè)為該標(biāo)志),在沒(méi)有取得共用資源5的情況下,不設(shè)立上述“資源取得”的標(biāo)志。這里,第1處理器1參照各處理器的上述標(biāo)志,判斷共用資源5的取得可否。即,在第2處理器2、第3處理器3、及第4處理器 4的某個(gè)設(shè)立了 “資源取得”的標(biāo)志的情況下,判斷為不能取得共用資源5,在沒(méi)有設(shè)立“資源取得”的標(biāo)志的情況下,判斷為能夠取得共用資源5。另外,也可以與上述“資源取得”的標(biāo)志另外地準(zhǔn)備“資源非取得”的標(biāo)志,在沒(méi)有取得共用資源5的情況下設(shè)立“資源非取得” 的標(biāo)志(將保存在規(guī)定的標(biāo)志保存部中的標(biāo)志設(shè)為該標(biāo)志)。此時(shí),第1處理器1參照各處理器的上述標(biāo)志,判斷共用資源5的取得可否。即,在第2處理器2、第3處理器3、及第 4處理器4的某個(gè)設(shè)立了 “資源取得”的標(biāo)志的情況下,判斷為不能取得共用資源5,在第2 處理器2、第3處理器3、及第4處理器4都設(shè)立了 “資源非取得”的標(biāo)志的情況下,判斷為能夠取得共用資源5。第1處理器1在判斷為不能取得共用資源5的情況下(步驟S5中NO),在執(zhí)行步驟S7后,回到步驟Si,嘗試下次的排他控制獲得。換言之,第1處理器1被多處理器系統(tǒng)101拒絕了向共用資源5的訪問(wèn),成為排他控制等待狀態(tài)。另一方面,第1處理器1在判斷為能夠取得共用資源5的情況下(步驟S5中YES), 對(duì)共用資源5訪問(wèn),開(kāi)始該共用資源5的排他控制。換言之,第1處理器1被多處理器系統(tǒng) 101許可了向共用資源5的訪問(wèn)。然后,第1處理器1將保存在自身的排他控制等待信息保存部Ib中的排他控制等待信息更新為“不是排他控制等待狀態(tài)”(步驟S6)。此外,設(shè)立資源取得的標(biāo)志。然后結(jié)束該排他控制獲得動(dòng)作。接著,將本發(fā)明的效果與比較例對(duì)比進(jìn)行說(shuō)明。圖3是將圖1的多處理器系統(tǒng)的排他控制獲得動(dòng)作與比較例的排他控制獲得動(dòng)作對(duì)比表示的示意圖,圖3(a)是表示圖1的多處理器系統(tǒng)的排他控制獲得動(dòng)作的圖,圖3(b) 是表示比較例的排他控制獲得動(dòng)作的圖。比較例是將第1至第4的處理器通過(guò)在專利文獻(xiàn)1中公開(kāi)的、各處理器判斷相同的請(qǐng)求處理順序而執(zhí)行的分散調(diào)解方式進(jìn)行排他控制的調(diào)解的。在圖3(a)及圖3(b)中, 縱軸表示時(shí)間,波紋線狀的箭頭表示排他控制等待狀態(tài),并且直線狀的箭頭表示排他控制執(zhí)行狀態(tài)。如圖3(b)所示,在該比較例中,例如假設(shè)第4處理器請(qǐng)求了資源的鎖定。此外,在該時(shí)點(diǎn),假設(shè)存在處于排他控制獲得等待狀態(tài)的第3處理器(參照tl t2的期間)。在該比較例中,資源的鎖定的成功與否由鎖定請(qǐng)求處理中的瞬間性的FIFO決定,所以這里假設(shè)第3處理器成功地進(jìn)行了資源的鎖定。這樣,第4處理器在到第3處理器將資源的鎖定解除為止的期間中為鎖定獲得等待狀態(tài)(參照t2 t3的期間)。假如經(jīng)過(guò)同樣的過(guò)程而第1處理器成功地鎖定,則第4處理器在到第1處理器將資源的鎖定解除為止的期間中成為鎖定獲得等待狀態(tài)(參照t3 t4的期間)。因而,在該第4處理器想要執(zhí)行的處理是優(yōu)先級(jí)較高的處理的情況下,不能確保實(shí)時(shí)性。另一方面,在本實(shí)施方式中,如以下這樣獲得排他控制。在本實(shí)施方式中,以第4 處理器4、第3處理器3、第2處理器4、第1處理器1的順序賦予較高的優(yōu)先級(jí)。在圖3(a)中,如t0 tl的期間所示,例如,在某個(gè)處理器(這里是第2處理器 2)需要控制共用資源5的情況下,嘗試排他控制獲得動(dòng)作,在該時(shí)點(diǎn)不存在是排他控制等待狀態(tài)的其他處理器的情況下,如果取得共用資源5而是排他控制中的處理器(這里是第 1處理器1)的排他控制結(jié)束,則該處理器取得共用資源5而進(jìn)行排他控制(將共用資源5 鎖定)。并且,如tl t2的期間所示,在某個(gè)處理器(這里是第3處理器幻發(fā)生了控制共用資源5的需要的情況下,嘗試排他控制獲得動(dòng)作,在該時(shí)點(diǎn)存在是排他控制等待狀態(tài)的其他處理器(這里是第4處理器4)的情況下,在該處理器(第3處理器幻與是排他控制等待狀態(tài)的其他處理器(第4處理器4)之中優(yōu)先級(jí)最高的處理器(第4處理器4)被許可向共用資源5的訪問(wèn)。并且,如果取得共用資源5而是排他控制中的處理器(這里是第 1處理器1)的排他控制結(jié)束,則該處理器(第4處理器4)取得共用資源5而進(jìn)行排他控制。同樣,例如如t2 t4的期間所示,第1處理器1發(fā)生控制共用資源5的需要而嘗試排他控制獲得,在該時(shí)點(diǎn)存在是排他控制等待狀態(tài)的第3處理器3的情況下,在兩者中優(yōu)先級(jí)較高的第3處理器3在是排他控制中的第4處理器4的排他控制結(jié)束之后取得共用資源5 而進(jìn)行排他控制。此外,同樣,例如如t3 t5的期間所示,第2處理器2發(fā)生控制共用資源5的需要而嘗試排他控制獲得,在該時(shí)點(diǎn)存在是排他控制等待狀態(tài)的第1處理器1的情況下,在兩者中優(yōu)先級(jí)較高的第2處理器2在是排他控制中的第3處理器3的排他控制結(jié)束之后取得共用資源5而進(jìn)行排他控制。根據(jù)這樣的本實(shí)施方式的多處理器系統(tǒng)101,在某個(gè)處理器發(fā)生控制共用資源5 的需要的時(shí)點(diǎn)存在是排他控制等待狀態(tài)的其他處理器的情況下,在它們之中優(yōu)先級(jí)較高的處理器取得共用資源5而進(jìn)行排他控制,所以能夠確保實(shí)時(shí)性。(實(shí)施方式2)圖4是表示有關(guān)本發(fā)明的實(shí)施方式2的多處理器系統(tǒng)的結(jié)構(gòu)的電路圖。本實(shí)施方式的多處理器系統(tǒng)201的基本結(jié)構(gòu)與實(shí)施方式1的多處理器系統(tǒng)101 相同,但在構(gòu)成為使其將排他控制獲得優(yōu)先級(jí)變更這一點(diǎn)上與實(shí)施方式1的多處理器系統(tǒng) 101不同。以下,以該差異點(diǎn)為中心進(jìn)行說(shuō)明。如圖4所示,在本實(shí)施方式的多處理器系統(tǒng)201中,第1至第4處理器1 4分別還具備排他控制獲得嘗試次數(shù)保存部lc、2c、3c、4c。排他控制獲得嘗試次數(shù)保存部lc、2c、 3(、如是保存排他控制獲得嘗試次數(shù)的部分,由具有保存數(shù)據(jù)的功能的電路元件構(gòu)成。在本實(shí)施方式中,排他控制獲得嘗試次數(shù)保存部lc、2c、3c3c例如由寄存器構(gòu)成。排他控制獲得嘗試次數(shù)是處理器嘗試了共用資源5的排他控制的獲得的次數(shù)。接著,說(shuō)明如以上那樣構(gòu)成的多處理器系統(tǒng)的動(dòng)作(有關(guān)本實(shí)施方式的多處理器系統(tǒng)的排他控制的調(diào)解方法)。圖5是表示構(gòu)成圖4的多處理器系統(tǒng)的1個(gè)處理器的排他控制獲得動(dòng)作的流程圖。以下,僅說(shuō)明與實(shí)施方式1的多處理器系統(tǒng)101不同的動(dòng)作。到步驟Sl至步驟S7為止,與實(shí)施方式1是完全相同的。在本實(shí)施方式中,第1處理器1在排他控制獲得失敗的情況下(步驟S4中YES,或步驟S5中NO),與實(shí)施方式1同樣將排他控制等待信息更新(步驟S7),然后,將保存在排他控制獲得嘗試次數(shù)保存部Ic中的排他控制獲得嘗試次數(shù)增加(將次數(shù)增加1)(步驟S10)。接著,第1處理器1將排他控制獲得優(yōu)先級(jí)對(duì)應(yīng)于排他控制獲得嘗試次數(shù)的增加度而提高(步驟Sll)。例如,在第1處理器1的優(yōu)先級(jí)的初始值是“4”的情況下,將優(yōu)先級(jí)設(shè)為“3”。然后,第1處理器1回到步驟Si,嘗試下次的排他控制獲得。另一方面,第1處理器1在排他控制獲得(共用資源5的取得)成功的情況下(步驟S5中YEQ,與實(shí)施方式1同樣將排他控制等待信息更新(步驟S6),然后,將保存在排他控制獲得嘗試次數(shù)保存部Ic中的排他控制獲得嘗試次數(shù)復(fù)位為0(步驟S8)。接著,第1處理器1使排他控制獲得優(yōu)先級(jí)降低對(duì)應(yīng)于排他控制獲得嘗試次數(shù)的增加度而變高的量(步驟S9)。例如,在第1處理器1的優(yōu)先級(jí)從初始值的“4”變?yōu)椤?”的情況下,將其設(shè)為初始值的“4”。然后,結(jié)束該排他控制獲得動(dòng)作。另外,在本實(shí)施方式中,由于排他控制獲得優(yōu)先級(jí)變化,所以也有多個(gè)處理器的排他獲得優(yōu)先級(jí)為相同的情況。在怎樣的情況下,在步驟S4 中,都在存在與自身相同的優(yōu)先級(jí)的其他處理器的情況下,通過(guò)步驟S5中的向共用資源5 的訪問(wèn)處理的瞬間的FIFO,由它們的某個(gè)取得共用資源5。
根據(jù)如以上那樣構(gòu)成的本實(shí)施方式的多處理器系統(tǒng)201,防止作為初始值被賦予較低的優(yōu)先級(jí)的處理器持續(xù)長(zhǎng)期間為排他控制等待狀態(tài),并且綜合性的實(shí)時(shí)性提高。接著,說(shuō)明本實(shí)施方式的變形例。[變形例1]在變形例1中,各處理器1 4構(gòu)成為,將排他控制獲得優(yōu)先級(jí)信息不根據(jù)排他控制獲得嘗試次數(shù)、而根據(jù)執(zhí)行的任務(wù)或中斷處理的優(yōu)先級(jí)變更。具體而言,各處理器1 4在任務(wù)分派處理及中斷出入口處理中更新排他控制獲得優(yōu)先級(jí)信息。例如,當(dāng)?shù)?處理器1從某個(gè)任務(wù)A向別的任務(wù)B分派時(shí),將排他控制獲得優(yōu)先級(jí)信息從任務(wù)A的優(yōu)先級(jí)變更為任務(wù)B的優(yōu)先級(jí)。此外,在執(zhí)行任務(wù)B的過(guò)程中發(fā)生中斷處理C的中斷請(qǐng)求,在向中斷處理C轉(zhuǎn)移時(shí),將排他控制獲得優(yōu)先級(jí)信息變更為中斷處理C的優(yōu)先級(jí)。根據(jù)這樣的結(jié)構(gòu),將排他控制獲得優(yōu)先級(jí)信息根據(jù)由各處理器1 4執(zhí)行中的任務(wù)及中斷處理的優(yōu)先級(jí)更新,共用資源5的取得的順序根據(jù)排他控制獲得優(yōu)先級(jí)信息決定,所以共用資源5的取得的順序根據(jù)由處理器執(zhí)行中的任務(wù)及中斷處理的優(yōu)先級(jí)決定。結(jié)果,能夠細(xì)致地確保實(shí)時(shí)性。另外,各處理器1 4還可以構(gòu)成為,使其將排他控制獲得優(yōu)先級(jí)信息根據(jù)排他控制請(qǐng)求次數(shù)而變更。[變形例2]在變形例2中,各處理器1 4構(gòu)成為,將排他控制獲得優(yōu)先級(jí)信息不是根據(jù)排他控制獲得嘗試次數(shù)變更,而是周期地變更。具體而言,各處理器1 4例如在執(zhí)行周期性地發(fā)生的事件時(shí),進(jìn)行更新以使得在該處理中排他控制獲得優(yōu)先級(jí)信息變高。由此,各處理器 1 4能夠按照一定周期優(yōu)先地獲得排他控制、將該事件一邊確保實(shí)時(shí)性一邊執(zhí)行。結(jié)果, 能夠細(xì)致地確保實(shí)時(shí)性。另外,各處理器1 4還可以構(gòu)成為,使其將排他控制獲得優(yōu)先級(jí)信息根據(jù)排他控制請(qǐng)求次數(shù)而變更。(實(shí)施方式3)實(shí)施方式1及2的多處理器系統(tǒng)可以向數(shù)字照相機(jī)的圖像處理及臉認(rèn)證等、數(shù)字?jǐn)z像機(jī)的圖像處理及臉認(rèn)證等、數(shù)字電視的圖像處理等、或者其他各種領(lǐng)域應(yīng)用。在本發(fā)明的實(shí)施方式3中,例示了這樣的應(yīng)用分野中的、在數(shù)字靜像照相機(jī)中使用實(shí)施方式2的多處理器系統(tǒng)201的形態(tài)。圖6是表示有關(guān)本發(fā)明的實(shí)施方式3的數(shù)字靜像照相機(jī)的功能的結(jié)構(gòu)的塊圖。如圖6所示,本實(shí)施方式的數(shù)字靜像照相機(jī)801包括定時(shí)器(Timer)部701、 USB(Universal Serial Bus)接口部 702、鍵(KEY)操作部 703、照相機(jī)(Camera)部 704、音頻(Audio)部 705、CPU (Central Processing Unit) 706、和存儲(chǔ)器 707 而構(gòu)成。CPU706和存儲(chǔ)器707通過(guò)總線連接。定時(shí)器部701、USB接口部702、鍵操作部703、 照相機(jī)部704、及音頻(Audio)部705與CPU706直接連接。CPU706和存儲(chǔ)器707構(gòu)成控制數(shù)字靜像照相機(jī)801的動(dòng)作的控制部的至少一部分。CPU706 一邊將多個(gè)任務(wù)并行處理一邊控制數(shù)字靜像照相機(jī)801的整體。具體而言,CPU705根據(jù)從鍵操作部703輸入的各種指示信號(hào),將存儲(chǔ)在存儲(chǔ)器707中的操作系統(tǒng)程序(0 及各種應(yīng)用程序讀出并執(zhí)行。此外,CPU706根據(jù)從包括照相機(jī)部704或音頻部705等的周邊芯片輸入的中斷信號(hào),執(zhí)行中斷處理程序。例如,CPU706將由應(yīng)用生成的任務(wù)并行地處理。進(jìn)而,在從周邊芯片輸入了中斷信號(hào)的情況下,通過(guò)執(zhí)行中斷處理程序,執(zhí)行對(duì)應(yīng)于中斷的程序。另外,通過(guò)應(yīng)用進(jìn)行的處理被作為由OS的任務(wù)調(diào)度管理的任務(wù)執(zhí)行, 所以能夠調(diào)用OS的服務(wù)調(diào)用。另一方面,中斷處理是不由任務(wù)調(diào)度表管理的處理(非任務(wù)處理)。此外,CPU706將各種處理結(jié)果保存在存儲(chǔ)器707中。CPU706包括多處理器系統(tǒng)301。該多處理器系統(tǒng)301包括多個(gè)(這里是4個(gè))處理器、即第1至第4單位處理器710 713。多處理器系統(tǒng)301由實(shí)施方式2的多處理器 201構(gòu)成,第1至第4單位處理器710 713分別由實(shí)施方式2的第1至第4處理器構(gòu)成。 此外,存儲(chǔ)器707相當(dāng)于實(shí)施方式2的共用資源5。接著,說(shuō)明這樣構(gòu)成的數(shù)字靜像照相機(jī)的CPU706的動(dòng)作次序。該動(dòng)作次序與實(shí)施方式2的多處理器系統(tǒng)201的排他控制獲得動(dòng)作本質(zhì)上是相同的,所以使用圖5進(jìn)行說(shuō)明。 另外,圖5的流程圖表示1個(gè)處理器的單獨(dú)的排他控制獲得動(dòng)作,但以下為了方便,對(duì)第1 至第4處理器710 713共通地使用圖5的流程圖進(jìn)行說(shuō)明。在圖5中,第1單位處理器710在發(fā)生了調(diào)用OS的服務(wù)調(diào)用(例如用來(lái)將保存在存儲(chǔ)器707的系統(tǒng)區(qū)域中的控制參數(shù)讀出的服務(wù)調(diào)用等)的需要的情況下,嘗試排他控制獲得動(dòng)作,首先檢測(cè)其他單位處理器711 713的排他控制等待信息(步驟Si)。接著,第1單位處理器710判斷其他單位處理器711 713在該時(shí)點(diǎn)是否是“排他控制等待狀態(tài)”(步驟S2)。此時(shí),由于其他單位處理器711 713不是排他控制等待狀態(tài)(步驟S2中NO),所以判斷是否能夠取得共用資源(這里是存儲(chǔ)器707)(步驟S5)。此時(shí),由于其他單位處理器 711 713不是已取得共用資源(存儲(chǔ)器707)的狀態(tài),所以共用資源的取得成功(步驟S5 中的YES),調(diào)用OS的服務(wù)調(diào)用,執(zhí)行作為OS的處理。這里,在第1單位處理器710成功于排他控制獲得(共用資源的取得)后,如果第 2單位處理器711為了調(diào)用OS的服務(wù)調(diào)用(例如用來(lái)將控制參數(shù)寫(xiě)入到存儲(chǔ)器707的系統(tǒng)區(qū)域中的服務(wù)調(diào)用等)而嘗試排他控制獲得,則在步驟S5中由于第1單位處理器710是排他控制處理執(zhí)行中,所以第2單位處理器711向排他控制等待狀態(tài)轉(zhuǎn)移(步驟S7)。這里,如果還有第3單位處理器712為了調(diào)用OS的服務(wù)調(diào)用(例如用來(lái)將控制參數(shù)寫(xiě)入到存儲(chǔ)器707的系統(tǒng)區(qū)域中的服務(wù)調(diào)用等)而嘗試排他控制獲得,則與第2單位處理器711同樣,第3單位處理器712也向排他控制等待狀態(tài)轉(zhuǎn)移(步驟S7)。這里,第2及第3單位處理器711、712在排他控制等待狀態(tài)的期間中,將排他控制獲得優(yōu)先級(jí)信息更新。即,將排他控制獲得嘗試次數(shù)增加(步驟S10),每當(dāng)增加了排他控制獲得嘗試次數(shù),就將排他控制獲得優(yōu)先級(jí)提高1 (步驟Sll)。并且,如果第1單位處理器710執(zhí)行的OS的服務(wù)調(diào)用處理結(jié)束、其排他控制結(jié)束, 則第2單位處理器711及第3單位處理器712中的、排他控制獲得優(yōu)先級(jí)較高的處理器、即排他控制獲得嘗試次數(shù)較多的處理器成功于排他控制獲得(共用資源(存儲(chǔ)器707)的取得),執(zhí)行作為OS的處理。根據(jù)以上說(shuō)明那樣的本實(shí)施方式的數(shù)字靜像照相機(jī)801,綜合性的實(shí)時(shí)性提高。例如,如上所述,關(guān)于存儲(chǔ)器的取得,實(shí)時(shí)性提高,結(jié)果,例如在自動(dòng)對(duì)焦功能中,在連拍時(shí)能夠高速地響應(yīng)。
在上述實(shí)施方式1至3中,表示了將本發(fā)明應(yīng)用在多處理器系統(tǒng)及數(shù)字靜像照相機(jī)的CPU中的情況,但本發(fā)明并不限定于這些實(shí)施方式。本發(fā)明也可以作為包括上述多處理器系統(tǒng)的集成電路、或使計(jì)算機(jī)作為上述多處理器發(fā)揮功能的程序?qū)崿F(xiàn)。并且,這些程序也可以經(jīng)由⑶-ROM等的記錄媒體或因特網(wǎng)等的通信媒體分發(fā)。根據(jù)上述說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員而言,本發(fā)明的許多改良及其他實(shí)施方式是顯而易見(jiàn)的。因而,上述說(shuō)明僅應(yīng)被作為例示解釋,是以向本領(lǐng)域的技術(shù)人員傳授優(yōu)選的形態(tài)為目的而提供的。能夠不脫離本發(fā)明的主旨而將其構(gòu)造及/或功能的細(xì)節(jié)實(shí)質(zhì)地變更。工業(yè)實(shí)用性本發(fā)明的多處理器系統(tǒng)及其排他控制的調(diào)解方法對(duì)于需要多個(gè)處理器間的資源的排他控制的多處理器系統(tǒng)及其排他控制的調(diào)解方法等具有實(shí)用性。標(biāo)號(hào)說(shuō)明1第1處理器la、2a、3a、4a排他控制獲得優(yōu)先級(jí)信息保存部lb,2b,3b,4b排他控制等待信息保存部lc、2c、3c、4c排他控制獲得嘗試次數(shù)保存部2第2處理器3第3處理器4第4處理器5共用資源6 總線101,201,301多處理器系統(tǒng)701定時(shí)器部
702USB接口部
703鍵操作部
704照相機(jī)部
705音頻部
706CPU
707存儲(chǔ)器
710第1單位處理器
711第2單位處理器
712第3單位處理器
713第4單位處理器
714總線
801數(shù)字靜像照相機(jī)
權(quán)利要求
1.一種多處理器系統(tǒng),其特征在于,具備多個(gè)處理器,各個(gè)上述處理器將共用資源排他地控制而處理任務(wù);各個(gè)上述處理器具備排他控制等待信息保存部,保存表示自身是否正在等待上述共用資源的排他控制的獲得的排他控制等待信息,排他控制獲得優(yōu)先級(jí)信息保持部,保存表示獲得上述共用資源的排他控制的優(yōu)先級(jí)的排他控制獲得優(yōu)先級(jí)信息;各個(gè)上述處理器構(gòu)成為,基于上述排他控制等待信息和上述排他控制獲得優(yōu)先級(jí)信息獲得上述共用資源的排他控制。
2.如權(quán)利要求1所述的多處理器系統(tǒng),其特征在于,上述排他控制獲得優(yōu)先級(jí)信息保存部由保存上述排他控制獲得優(yōu)先級(jí)信息的寄存器構(gòu)成。
3.如權(quán)利要求1或2所述的多處理器系統(tǒng),其特征在于,構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息不被變更。
4.如權(quán)利要求1或2所述的多處理器系統(tǒng),其特征在于,構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息被變更。
5.如權(quán)利要求4所述的多處理器系統(tǒng),其特征在于,構(gòu)成為,上述排他控制獲得優(yōu)先級(jí)信息被以特定的周期變更。
6.如權(quán)利要求4所述的多處理器系統(tǒng),其特征在于,構(gòu)成為,各個(gè)上述處理器根據(jù)執(zhí)行中的任務(wù)或中斷處理的優(yōu)先級(jí)變更上述排他控制獲得優(yōu)先級(jí)信息。
7.如權(quán)利要求4所述的多處理器系統(tǒng),其特征在于,構(gòu)成為,各個(gè)上述處理器根據(jù)上述排他控制獲得的嘗試次數(shù)變更上述排他控制獲得優(yōu)先級(jí)信息。
8.如權(quán)利要求1所述的多處理器系統(tǒng),其特征在于,上述排他控制等待信息保存部由保存上述排他控制等待信息的寄存器構(gòu)成。
9.一種多處理器系統(tǒng)的排他控制的調(diào)解方法,是具備多個(gè)處理器的多處理器系統(tǒng)的排他控制的調(diào)解方法,各個(gè)上述處理器將共用資源排他地控制而處理任務(wù),其特征在于,包括各個(gè)上述處理器將表示自身是否正在等待上述共用資源的排他控制的獲得的排他控制等待信息的步驟;各個(gè)上述處理器將表示獲得上述共用資源的排他控制的優(yōu)先級(jí)的排他控制獲得優(yōu)先級(jí)信息保存的步驟;以及各個(gè)上述處理器基于上述排他控制等待信息和上述排他控制獲得優(yōu)先級(jí)信息獲得上述共用資源的排他控制的步驟。
10.如權(quán)利要求9所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器將上述排他控制獲得優(yōu)先級(jí)信息保存在寄存器中。
11.如權(quán)利要求9或10所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器不變更上述排他控制獲得優(yōu)先級(jí)信息。
12.如權(quán)利要求9或10所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器變更上述排他控制獲得優(yōu)先級(jí)信息。
13.如權(quán)利要求12所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器將上述排他控制獲得優(yōu)先級(jí)信息以特定的周期變更。
14.如權(quán)利要求12所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器根據(jù)執(zhí)行的任務(wù)或中斷處理的優(yōu)先級(jí)變更上述排他控制獲得優(yōu)先級(jí)信息。
15.如權(quán)利要求12所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器根據(jù)上述排他控制獲得的嘗試次數(shù)變更上述排他控制獲得優(yōu)先級(jí)信息。
16.如權(quán)利要求9所述的多處理器系統(tǒng)的排他控制的調(diào)解方法,其特征在于,各個(gè)上述處理器將上述排他控制等待信息保存在寄存器中。
17.一種照相機(jī),構(gòu)成為,具備控制部,所述控制部包括權(quán)利要求1或2所述的多處理器系統(tǒng)、構(gòu)成上述多處理器系統(tǒng)的各個(gè)處理器排他地控制的上述共用資源,上述控制部控制上述照相機(jī)的動(dòng)作。
全文摘要
本發(fā)明的多處理器系統(tǒng)具備各個(gè)處理器將共用資源(5)排他地控制而處理任務(wù)的多個(gè)上述處理器(1)~(4),各個(gè)處理器(1)~(4)具備保存表示自身是否正在等待共用資源(5)的排他控制的獲得的排他控制等待信息的排他控制等待信息保存部(1a)~(4a)、和保存表示獲得共用資源(5)的排他控制的優(yōu)先級(jí)的排他控制獲得優(yōu)先級(jí)信息的排他控制獲得優(yōu)先級(jí)信息保持部(1b)~(4b),構(gòu)成為,各個(gè)處理器(1)~(4)基于排他控制等待信息和排他控制獲得優(yōu)先級(jí)信息獲得共用資源(5)的排他控制。
文檔編號(hào)G06F9/52GK102224490SQ20098014686
公開(kāi)日2011年10月19日 申請(qǐng)日期2009年10月2日 優(yōu)先權(quán)日2008年12月12日
發(fā)明者之瀨直也 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社