專利名稱:處理器系統(tǒng)、總線控制方法和半導體裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及搭載多個處理器的稱為多處理器的處理器系統(tǒng)、及這種處 理器系統(tǒng)的總線控制方法。
背景技術(shù):
搭載多個處理器的多處理器在經(jīng)共有存儲器總線訪問共有存儲器的情 況下,若從1個處理器發(fā)生大量的總線訪問,并且,將該處理器的優(yōu)先級 設(shè)定得高,則難以受理來自其它處理器的訪問請求。作為現(xiàn)有技術(shù),對于由多個總線主部件訪問1個共有總線時的一樣的 課題,有監(jiān)視來自各總線主部件的訪問頻度、并使調(diào)停時的優(yōu)先級變化的 方法(參照專利文獻l)。根據(jù)該技術(shù),通過監(jiān)視某個一定期間的期間來自各總線主部件的訪問 狀況,并對每個該一定期間將訪問次數(shù)多的總線主部件的優(yōu)先級在下一期 間將優(yōu)先級設(shè)定得低,從而即便在某個總線主部件大量執(zhí)行總線訪問的情 況下,也可解決該總線主部件連續(xù)使用總線、難以執(zhí)行其它總線主部件的 總線訪問的狀況。但是,該方法適用于來自各總線主部件的請求沖突時的調(diào)停時,在優(yōu) 先級高的總線主部件連續(xù)發(fā)出請求的狀況或同時發(fā)生訪問請求的情況下, 僅具有優(yōu)先級低的總線主部件也能以一定的比例訪問總線的效果。如今,在請求與數(shù)據(jù)傳送適用可在不同階段動作的分離傳送(split)方式總線的系統(tǒng)中,可受理訪問請求的周期間隔多,在變?yōu)闆_突狀態(tài)之前 連續(xù)發(fā)行訪問請求,受理的概率變高,上述現(xiàn)有技術(shù)不能適用。專利文獻l:(日本)特開2002-91903號公報(圖1、圖6) 圖1是表示搭載了多處理器的系統(tǒng)構(gòu)成圖。該處理器系統(tǒng)具備多處理 器l-l、 DMA1-2、 DSPl-3、共有總線IF部1-17、共有存儲器1-23。多處理器1-1是搭載了 2個由進行命令執(zhí)行的流水線及其其關(guān)聯(lián)控制構(gòu)成的處理器單元(PU)的對稱型多處理器,具有PU0(l-4)、 PUl(l-5)、總 線IF部1-12。來自PU0(1-4)的PU0訪問請求1-6、和來自PU1(1-5)的PU1訪問請求 l-7由總線IF部1-12調(diào)停,受理任一方的訪問請求。在受理了PUO訪問請 求1-6的情況下,將PUO訪問受理(l-8)發(fā)送到PU0(1-4),在受理了 PU1訪 問請求1-7的情況下,將PU1訪問受理1-9發(fā)送到PU1 (1-5)。若總線IF部1-12受理來自任一處理器單元的請求,則向共有總線IF 部l-17發(fā)送處理器總線請求1-14??偩€IF部1-12即便執(zhí)行1個傳送,也 可受理下一個其它的請求。共有總線IF部1-17上還連接DMA總線1-18和DSP總線1-19。各個訪 問請求由共有總線IF部1-17調(diào)停,向共有存儲器1-23發(fā)送共有存儲器總 線請求1-20。若共有存儲器1-23受理請求,則返回共有存儲器總線請求受 理1-21。若共有存儲器l-23完成訪問,則將共有存儲器總線響應(yīng)1-22返 回到共有總線IF部1-17。這里,若從共有存儲器總線看,則總線IF部用 作單個主部件。即,圖1中,從共有存儲器總線看用作主部件的是多處理 器l-l(總線IF部1-12)、 DMA1-2、 DSP1-3等3個。圖2示出搭載于本系統(tǒng)上的總線的總線協(xié)議。下面,說明為各總線全 部為該協(xié)議。各總線的協(xié)議是在發(fā)出請求2-1之后,即便在與響應(yīng)2-3 —起返回數(shù) 據(jù)2-4之前的期間中也可發(fā)出新的請求的協(xié)議。由此,構(gòu)成在連續(xù)的數(shù)據(jù) 傳送時可高效執(zhí)行數(shù)據(jù)傳送的總線(分離傳送總線)。尤其在共有存儲器是 同步DRAM、 DDR等、最初的數(shù)據(jù)傳送的等待時間(latency)長、但連續(xù)的數(shù)據(jù)傳送的處理量小的器件時,發(fā)揮效果。連續(xù)聲稱(assert)任一總線主部件發(fā)行的請求2-1,直到訪問目標受 理請求為止, 一旦訪問目標返回請求受理2-2,則使其無效。從圖2可知, 即便在涉及請求A的傳送完成之前,也受理下一請求B。圖3是表示圖l所示的多處理器l-l內(nèi)的PU0(卜4)、 PU1(1-5)經(jīng)處理 器總線1-13訪問被控器件時的總線定時(timing)的圖。圖3中,設(shè)從PUO (1-4)聲稱請求A(3-1)、請求B (3-2),之后,從PU1 (1_5) 聲稱請求C(3-3)。如上所述,各處理器單元在對前一請求的傳送結(jié)束之前,10可發(fā)出下一請求,總線IF部1-12在對前一請求的傳送結(jié)束之前,可受理l 個下一請求。在下面的說明中,舉例說明請求是讀取請求,在高速緩沖存 儲器失敗(miss)的情況下接力傳送(refile)高速緩沖存儲器線的短脈 沖(burst pulse)訪問的情況。這里,設(shè)以1個請求來短脈沖傳送多個字 數(shù)據(jù)(在圖3中為4次短脈沖傳送)。圖3中,省略涉及共有存儲器總線的 定時圖??偩€IF部1-12從處理器單元依次受理聲稱的訪問請求并執(zhí)行。因此, 如圖3所示,若作為處理器總線請求1-4,按總線請求A、總線請求B、總 線請求C的順序發(fā)生請求,則對請求A(3-l)、請求B(3-2)、請求C(3-3) 的數(shù)據(jù)也按該順序傳送。對請求A(3-l)的等待時間是周期cycA(3-7)??烧J為周期cycA(3-7) 是對共有存儲器(1-23)的總線訪問不沖突時的處理器(1-1)內(nèi)的各個處理 器單元的總線訪問周期數(shù)。傳送對請求B (3-2)的數(shù)據(jù)是在對請求A (3-1)的數(shù)據(jù)傳送完成之后,對 于請求C (3-3)是在對請求A (3-1)和請求B (3-2)的數(shù)據(jù)傳送完成之后,所以 請求C(3-3)的等待時間為周期cycC(3-8),比周期cycA(3-7)長。艮P,處理器(l-l)是對稱構(gòu)造的多處理器,但由于PU0(l-4)的多個總線 訪問,PU1 (1 -5)受到總線訪問性能的影響。若上述總線訪問性能的影響均等,則沒有問題,但在一個處理器單元 執(zhí)行大量總線訪問,定時性地比其它處理器單元先發(fā)行請求的概率大的情 況下,可產(chǎn)生總線訪問的沖突影響偏向另一處理器的現(xiàn)象。此時,盡管是 對稱構(gòu)造的多處理器,但一個處理器單元的總線訪問性能事實上比另一處 理器單元差。在對稱構(gòu)造的多處理器的情況下,對應(yīng)于多個處理器單元搭載的多個 CPU芯相同。由此,在用軟件估計處理性能的情況下,執(zhí)行單獨的CPU芯下 的動作的研究,研究結(jié)果中考慮沖突造成的惡化部分來進行動作性能的估 計,通常作為搭載其的雙方CPU芯以相同性能執(zhí)行來進行估計。此時,雖 然對總線的訪問性能考慮共有總線造成的影響,但該影響若未均等分配給 兩個CPU芯,則性能估計的誤差大。另外,僅單個CPU芯的性能惡化,影 響系統(tǒng)性能。艮P,在多處理器系統(tǒng)中,無法高精度地估計總線的訪問性能。 另外,即便在多線程處理器中,也發(fā)生與上述多處理器一樣的課題, 有時想防止總線訪問的性能僅偏向特定的線程。即,即便在多線程處理器 中,有時也想向每個線程均等地分配總線帶寬,或有時也想向各線程均等 地分配沖突引起的總線訪問的影響。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種在訪問共有存儲器的多個主單元(master unit)之間均等地分配對共有存儲器的訪問性能且構(gòu)成簡單的多處理器系 統(tǒng)、總線控制方法和半導體裝置。另外,本發(fā)明的另一目的在于提供一種能以簡單的構(gòu)成來控制多個主 單元間的訪問性能分散的多處理器系統(tǒng)、總線控制方法和半導體裝置。為了解決上述問題,本發(fā)明的處理器系統(tǒng)具備總線,連接于共有存 儲器;多個主單元,發(fā)行用于訪問所述共有存儲器的訪問請求;和總線接 口部,以分離傳送(split transaction)方式執(zhí)行所述總線的訪問,該方式 分離地執(zhí)行受理從所述多個主單元發(fā)行的訪問請求的請求階段(phase)、與 根據(jù)受理的訪問請求而在所述共有存儲器與主單元之間經(jīng)所述總線進行數(shù) 據(jù)傳送的傳送階段;在從1個主單元不空出規(guī)定期間地連續(xù)發(fā)行多個訪問 請求的情況下,所述總線接口部將對應(yīng)于該多個訪問請求的傳送階段的連 續(xù)執(zhí)行次數(shù)限制為最多N次,所述規(guī)定期間是與從受理了之前剛發(fā)行的訪 問請求時起、至該訪問請求的傳送階段完成為止的期間的一部分或全部相 當?shù)钠陂g。根據(jù)該構(gòu)成,在限定了不空出上述規(guī)定期間這樣的條件下連續(xù) 發(fā)行多個訪問請求的情況下,由于限制對應(yīng)于該多個訪問請求的傳送階段 的連續(xù)執(zhí)行次數(shù),所以能以簡單的構(gòu)成而使主單元間均等地分散訪問性能。這里,也可以是所述N為1。根據(jù)該構(gòu)成,通過將傳送階段的連續(xù)執(zhí)行 次數(shù)N設(shè)為最小1次,在來自多個主單元的訪問請求沖突的情況下,可交 替或邊切換邊執(zhí)行對應(yīng)于不同主單元的傳送階段,可均等化訪問性能。這里,也可以是所述總線接口部具備受理控制部,控制訪問請求的 受理;傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個 與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息;和標記保持部,保持在所述規(guī)定期間變?yōu)橛行У臉擞浶畔ⅲ鍪芾砜刂撇慨?發(fā)行新的訪問請求時,在所述標記信息表示無效的情況下,受理該新的訪 問請求,在所述標記信息表示有效的情況下,判定發(fā)行了該新的訪問請求 的主單元的識別信息與所述識別信息保持部中保持的識別信息是否一致, 在判定為該識別信息不一致的情況下,受理該新的訪問請求,在判定為該 識別信息一致的情況下,將與發(fā)行了該新的訪問請求的主單元相對應(yīng)的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。根據(jù)該構(gòu)成,通過限制請求階段 中的受理,可實現(xiàn)1個主單元的傳送階段的連續(xù)執(zhí)行次數(shù)的限制。另外, 可根據(jù)保持所述識別信息與所述標記信息這樣簡單的構(gòu)成來實現(xiàn)訪問性能 的均等化。這里,也可以是所述規(guī)定期間是從所述訪問請求的受理至對應(yīng)于所述 訪問請求的傳送階段完成的期間,所述受理控制部每當受理訪問請求時, 將所述標記信息設(shè)為有效,并且,將對應(yīng)于該訪問請求的識別信息設(shè)定在 所述識別信息保持部件中,所述傳送控制部件在與所述識別信息保持部件 中保持的識別信息相對應(yīng)的傳送階段完成時,將所述標記信息保持部件的 標記信息設(shè)為無效。根據(jù)該構(gòu)成,在從1個主單元不空出上述規(guī)定期間地 連續(xù)發(fā)行多個訪問請求的情況下,可限制對應(yīng)于該多個訪問請求的傳送階 段的連續(xù)執(zhí)行次數(shù)。標記信息在訪問請求的受理時變?yōu)橛行?設(shè)置),在該 訪問請求的傳送階段完成時變?yōu)闊o效(復(fù)位)。這樣,可通過簡單的控制來 構(gòu)成所述標記信息。這里,也可以是所述規(guī)定期間是從訪問請求的受理至規(guī)定周期數(shù)經(jīng)過 的期間,所述處理器系統(tǒng)還具備對所述規(guī)定周期數(shù)進行計數(shù)的周期計數(shù)器, 所述受理控制部每當受理訪問請求時,都將所述標記信息設(shè)為有效,將對 應(yīng)于該訪問請求的識別信息設(shè)定在所述識別信息保持部件中,使所述計數(shù) 器的周期計數(shù)動作開始,當所述計數(shù)器對所述規(guī)定周期數(shù)進行計數(shù)時,所 述標記保持部件使所述標記信息無效。根據(jù)該構(gòu)成,可將所述規(guī)定期間設(shè) 定為(i)相當于從所述訪問請求的受理至對應(yīng)于所述訪問請求的傳送階段 完成為止的期間的期間,或設(shè)定成比(i)短的期間,或設(shè)定成比(i)長的期 間。例如,根據(jù)每個主單元的實際總線訪問性能的測定值,可將所述規(guī)定 期間調(diào)整和設(shè)定為最佳值。這里,也可以是所述處理器系統(tǒng)還具備周期寄存器,該周期寄存器可 設(shè)定所述規(guī)定周期數(shù)、且保持所述規(guī)定周期數(shù),所述周期計數(shù)器對所述周 期寄存器中保持的規(guī)定周期數(shù)進行計數(shù)。根據(jù)該構(gòu)成,由于周期寄存器可 從主單元設(shè)定,所以主單元可對應(yīng)于處理量或訪問頻度來調(diào)整和設(shè)定周期 數(shù)。這里,也可以是所述總線接口部具備受理控制部,控制訪問請求的 受理;傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個 與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息;標記 保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M行保持;和連續(xù)數(shù)計數(shù) 器,對所述N進行計數(shù);所述受理控制部當發(fā)行新的訪問請求時,在所述 標記信息表示無效的情況下,受理該新的訪問請求,在所述標記信息表示 有效的情況下,判定發(fā)行了該新的訪問請求的主單元的識別信息與所述識 別信息保持部中保持的識別信息是否一致,在判定為該識別信息不一致的 情況下,受理該新的訪問請求,在判定為該識別信息一致的情況下,判定 所述連續(xù)數(shù)計數(shù)器是否計數(shù)至N次,在判定為所述連續(xù)數(shù)計數(shù)器未計數(shù)至N 次的情況下,受理該新的訪問請求,在判定為所述連續(xù)數(shù)計數(shù)器計數(shù)至N 次的情況下,延期該新的訪問請求的受理直到所述標記信息變?yōu)闊o效為止, 并初始化所述連續(xù)計數(shù)器。根據(jù)該構(gòu)成,可利用連續(xù)數(shù)計數(shù)器簡單地控制N 次之前的傳送階段的連續(xù)執(zhí)行次數(shù)的限制。這里,也可以是所述處理器系統(tǒng)還具備連續(xù)數(shù)寄存器,所述連續(xù)數(shù)寄 存器可由任一主單元設(shè)定,且保持所述N,所述連續(xù)數(shù)計數(shù)器對所述連續(xù)數(shù) 寄存器中保持的所述N進行計數(shù)。根據(jù)該構(gòu)成,由于可從主單元設(shè)定連續(xù) 數(shù)寄存器,所以主單元可對應(yīng)于處理量或訪問頻度來調(diào)整和設(shè)定連續(xù)數(shù)N。這里,也可以是所述總線接口部具備受理控制部,控制訪問請求的 受理;傳送控制部,控制所述數(shù)據(jù)傳送;第1識別信息保持部,至少保持1 個與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息,作 為第1識別信息;標記保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M 行保持;和第2識別信息保持部,保持所述多個主單元中應(yīng)限制訪問的主 單元的識別信息,作為第2識別信息,所述受理控制部當發(fā)行新的訪問請 求時,在所述標記信息表示無效的情況下,受理該新的訪問請求,在所述標記信息表示有效的情況下,判定發(fā)行了該新的訪問請求的主單元的識別信息與所述第1識別信息和第2識別信息是否一致,在判定為與所述第1 識別信息和第2識別信息至少一方不一致的情況下,受理該新的訪問請求, 在判定為與所述第1識別信息和第2識別信息雙方一致的情況下,延期該 新的訪問請求的受理,直到所述標記信息變?yōu)闊o效為止。根據(jù)該構(gòu)成,所 述多個主單元中僅對應(yīng)于第2識別信息保持部中保持的識別信息的主單元 可限制傳送階段的連續(xù)執(zhí)行次數(shù)。由此,可控制多個主單元間的訪問性能 的分散。這里,也可以是所述處理器系統(tǒng)還具備計數(shù)部,所述計數(shù)部每一定 時間就對每個所述主單元的訪問次數(shù)進行計數(shù);和設(shè)定部,將訪問次數(shù)最 多的主單元的識別信息作為所述第2識別信息,設(shè)定在所述第2識別信息 保持部中。根據(jù)該構(gòu)成,可在每規(guī)定時間,切換應(yīng)限制傳送階段的連續(xù)執(zhí) 行次數(shù)的主單元。由此,上次訪問次數(shù)最多的主單元在下一規(guī)定時間中成 為限制對象,在包含多次一定時間的長的期間中,多個主單元間的訪問性 能可均等化。這里,也可以是所述總線接口部具備受理控制部,控制訪問請求的 受理;傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個 與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息;和標 記保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M行保持,所述傳送控 制部,在所述標記信息表示無效的情況下,執(zhí)行受理的訪問請求的傳送階 段,在所述標記信息表示有效的情況下,判定發(fā)行了已受理且傳送階段未 執(zhí)行的訪問請求的主單元的識別信息與所述識別信息保持部中保持的識別 信息是否一致,在判定為該識別信息不一致的情況下,開始該已受理且傳 送階段未執(zhí)行的訪問請求的傳送階段,在判定為該識別信息一致的情況下, 將該已受理且傳送階段未執(zhí)行的訪問請求的傳送階段的開始延期,直到所 述標記信息變?yōu)闊o效為止。根據(jù)該構(gòu)成,不僅可由請求階段、還可由傳送 階段的開始控制來實現(xiàn)1個主單元的傳送階段的連續(xù)執(zhí)行次數(shù)的限制。另 外,可進一步提前受理訪問請求的定時。可根據(jù)保持所述識別信息與所述 標記信息這種簡單的構(gòu)成來實現(xiàn)訪問性能的均等化。這里,也可以是所述多個主單元是構(gòu)成對稱型多處理器的多個處理器單元。
這里,也可以是所述多個主單元是在構(gòu)成多處理器的多個處理器單元 中設(shè)置的多個虛擬處理器。
這里,也可以是所述多個主單元是對應(yīng)于多線程(thread)處理器中的 多個線程的多個虛擬處理器。根據(jù)該構(gòu)成,即便包含至少1個線程的虛擬 處理器之間,也可使訪問性能均等地分散。
這里,也可以是所述多個主單元和總線接口部包含于單個半導體芯片中。
這里,也可以是所述多線程處理器與訪問請求一起發(fā)行線程的識別信 息和訪問屬性,所述訪問屬性表示是否應(yīng)使所述傳送階段的連續(xù)執(zhí)行的限 制有效,所述總線接口部對于表示有效的所述訪問屬性所對應(yīng)的訪問請求, 將所述傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。根據(jù)該構(gòu)成,可控制是 否對每個線程限制傳送階段的連續(xù)執(zhí)行次數(shù)。
這里,也可以是所述多線程處理器與訪問請求一起發(fā)行線程的識別信 息和訪問屬性,所述訪問信息是作為包含至少1個線程的組的組序號,所 述總線接口部對每個組序號,將對應(yīng)的訪問請求的所述傳送階段的連續(xù)執(zhí) 行次數(shù)限制為最多N次。根據(jù)該構(gòu)成,可對相同組序號表示的多個線程的 每個,控制傳送階段的連續(xù)執(zhí)行次數(shù)的限制。
另外,本發(fā)明的總線控制方法、半導體裝置具有與上述一樣的手段, 實現(xiàn)與上述一樣的效果。
發(fā)明效果如下
根據(jù)本發(fā)明,在搭載多個處理器的多處理器系統(tǒng)中的各主單元訪問共 有存儲器的情況下,可通過簡單的方法而使這些多個主單元間總線調(diào)停的 影響、共有存儲器總線訪問性能均等地分散。另外,根據(jù)本發(fā)明,可控制 訪問性能的分散方法。
根據(jù)本發(fā)明,即便在多個線程或?qū)傩圆煌木€程之間,也可使總線調(diào) 停的影響、共有存儲器總線訪問性能分散。
由此,可在各個處理器中使共有存儲器總線訪問的性能偏差降低。結(jié) 果,可使每個主單元的處理性能的估計精度大幅度提高。
圖1是一般的多處理器系統(tǒng)的系統(tǒng)構(gòu)成圖。
圖2是表示總線接口協(xié)議的圖。
圖3是表示現(xiàn)有訪問定時的圖。
圖4A是實施方式1的系統(tǒng)構(gòu)成圖。
圖4B是表示受理控制部中的受理控制處理的流程圖。
圖4C是表示傳送控制部中的傳送控制處理的流程圖。
圖4D是實施方式1的變形例中的系統(tǒng)構(gòu)成圖。
圖4E是表示圖4D所示變形例中的受理控制處理的流程圖。
圖4F是表示圖4D所示變形例中的傳送控制處理的流程圖。
圖5是表示實施方式1的訪問定時的圖。
圖6A是表示實施方式1的訪問定時的圖。
圖6B是表示實施方式1的變形例中的訪問定時的圖。
圖7A是實施方式2的系統(tǒng)構(gòu)成圖。
圖7B是表示受理控制部中的受理控制處理的流程圖。
圖7C是表示傳送控制部中的傳送控制處理的流程圖。
圖8A是實施方式3的系統(tǒng)構(gòu)成圖。
圖8B是表示受理控制部中的受理控制處理的流程圖。
圖9A是實施方式4的系統(tǒng)構(gòu)成圖。
圖9B是表示受理控制部中的受理控制處理的流程圖。
圖10是實施方式5的系統(tǒng)構(gòu)成圖。
符號說明 1-1多處理器 1-4 PU0 1-5 PU1
l-6 PU0訪問請求 l-7 PU1訪問請求 1-8 PU0訪問受理 1-9 PU1訪問受理 1-12 總線IF部1-13處理器總線
1-14處理器總線請求
1-15處理器總線請求受理
1-17共有總線IF部
1-18 DMA總線
1-19 DSP總線
1-24共有存儲器總線
4-1多處理器
4-2 PUO
4-3 PU1
4-4 PUO訪問請求 4-5 PU1訪問請求 4-6 PUO訪問受理 4-7 PU1訪問受理 4-10 總線IF部
400、 401、 402、 403、 404 仲裁器(arbiter)
4-13最終受理PU信息有效位
4-14 最終受理PU ID
4-15請求生成部
4-16數(shù)據(jù)傳送部
4-18 PUO傳送結(jié)束信號
4-19 PU1傳送結(jié)束信號
4-21處理器總線請求
4-22處理器總線請求受理
7- 1抑制周期計數(shù)器
8- 1連續(xù)數(shù)計數(shù)器
9- 1訪問統(tǒng)計部 9-2監(jiān)視期間計數(shù)器 9-7 PUO訪問計數(shù)器 9-8 PU1訪問計數(shù)器
189- 11次數(shù)比較器
10- 1多線程處理器
10-2線程0訪問屬性設(shè)定寄存器
10-3線程l訪問屬性設(shè)定寄存器
10-4線程2訪問屬性設(shè)定寄存器
10-5 訪問i青求
10-6 線程ID
10-7訪問屬性
10-8訪問受理
10-9最終受理線程ID有效位
10-10最終受理線程ID
410受理控制部
420傳送控制部
具體實施方式
(實施方式1)
說明本發(fā)明的實施方式1。本實施方式中的處理器系統(tǒng)構(gòu)成為在從1 個主單元不空出規(guī)定期間地連續(xù)發(fā)行多個訪問請求的情況下,將對應(yīng)于該 多個訪問請求的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。這里,"規(guī)定的 期間"是與從受理了之前剛發(fā)行的訪問請求時起、至該訪問請求的傳送階 段完成為止的期間的一部分或全部相當?shù)钠陂g。由此,實現(xiàn)均等地分散主 單元間的訪問性能。
圖4A是表示本發(fā)明實施方式1中的處理器系統(tǒng)的構(gòu)成圖。圖4A的處 理器系統(tǒng)包含多處理器4-1與共有存儲器4-24。在實施方式l中,設(shè)多處 理器4-l搭載2個處理器單元(PU0、 1),作為多個主單元。多處理器構(gòu)成 為經(jīng)總線IF部4-10訪問連接于處理器總線上的共有存儲器4-24。另外, 即便如圖1所示構(gòu)成為共有存儲器經(jīng)共有存儲器總線IF部連接于由其它器 件(DMA、 DSP等)共有的共有存儲器總線,本發(fā)明也可適用。本發(fā)明的特征 在于,LSI的設(shè)計者或制作軟件的編程者可高精度地估計總線的訪問性能, 當適用于多處理器時效果特別大。多處理器4-1搭載PU0(4-2)與PU1(4-3)兩個處理器單元,PU0與PU1 相同。處理器單元由處理命令的CPU部與其外圍電路構(gòu)成,是具有命令處 理功能、中斷功能、調(diào)試功能等作為處理器所需功能的最小構(gòu)成單位。該 處理器單元相當于處理器。
來自PU0(4-2)的總線訪問請求被作為PUO訪問請求4-4,輸出到總線 IF部4-10,若總線IF部4-IO受理請求,則返回PU0訪問受理4-6。接著, 總線IF部4-10對連接于處理器總線上的共有存儲器4-24發(fā)出處理器總線 請求4-21,取得數(shù)據(jù),將取得的數(shù)據(jù)與PUO響應(yīng)4-8 —起返回到PU0(4-2)。 同樣,PU1(4-3)的總線訪問通過PU1訪問請求4-5、 PUl訪問受理4-7、 PU1 響應(yīng)4-9來執(zhí)行。
總線IF部4-10具備仲裁器400、請求生成部4-15、數(shù)據(jù)傳送部416。 總線IF部4-10執(zhí)行分離傳送方式的傳送,分離地執(zhí)行受理從多個主單元 (在本實施方式中為PUO、 PU1)發(fā)行的訪問請求的請求階段、與根據(jù)受理的 訪問請求在共有存儲器4-24與主單元之間經(jīng)總線進行的傳送階段。
另外,在本實施方式中,總線IF部4-10在從1個主單元不空出規(guī)定 期間地連續(xù)發(fā)行多個訪問請求的情況下,將對應(yīng)于該多個訪問請求的傳送 階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。這里,規(guī)定的期間是與從受理了之 前剛發(fā)行的訪問請求時起、至該訪問請求的傳送階段完成為止的期間的一 部分或全部相當?shù)钠陂g。
仲裁器400具備受理控制部410、傳送控制部420、標記部4-13、 ID 保持部4-14。
受理控制部410控制請求階段中的訪問請求的受理。受理控制部410 具體地調(diào)停并受理PUO訪問請求4-4、 PU1訪問請求4-5。
傳送控制部420控制對應(yīng)于受理的訪問請求的傳送階段中的數(shù)據(jù)傳送。 傳送控制部420在存在多個受理的訪問請求的情況下,控制對仲裁器400 內(nèi)的調(diào)停結(jié)果4-12所對應(yīng)的l個訪問請求的數(shù)據(jù)傳送。
標記部4-13保持在所述規(guī)定期間變?yōu)橛行У臉擞浶畔?。該標記信息?本實施方式中具體是最終受理PU信息有效位4-13。
ID保持部4-14至少保持1個與已受理且傳送階段未完成的訪問請求相 對應(yīng)的主單元的識別信息。該識別信息在本實施方式中具體是最終受理PUID (4-14)。
請求生成部4-15生成處理器總線請求4-21,將生成的處理器總線請求 4-21送出到處理器總線,由此經(jīng)處理器總線訪問共有存儲器4-24。
共有存儲器4-24變?yōu)榭墒芾硖幚砥骺偩€請求4-21的狀態(tài)時,將處理 器總線請求受理4-22發(fā)送到請求生成部4-15,之后,與處理器總線響應(yīng) 4-23 —起,將共有存儲器4-24內(nèi)被請求的數(shù)據(jù)發(fā)送到總線IF部4-10???線IF部4-10內(nèi)的數(shù)據(jù)傳送部4-16取得從共有存儲器發(fā)送的數(shù)據(jù),將取得 的數(shù)據(jù)返回到啟動對共有存儲器4-24的數(shù)據(jù)訪問的PU。
仲裁器400每當從各PU受理請求時,設(shè)置最終受理PU ID (4-14)。例 如,若受理PU0訪問請求4-4,則將?U0,設(shè)置為最終受理PU ID(4-14)。 另外,還配合設(shè)置表示所述信息有效的最終受理PU信息有效位4-13。
從數(shù)據(jù)傳送部4-16向仲裁器400輸入PU0傳送中信號4-17及PU0傳 送結(jié)束信號4-18。 PU0傳送中信號4-17的來自請求生成部4-15的處理器 總線請求4-21基于PU0(4-2),從對于所述請求返回處理器總線請求受理 4-22的周期起開始聲稱(assert),聲稱直到基于該請求的全部數(shù)據(jù)傳送完 成為止。即,在PU0(4-2)執(zhí)行總線訪問的情況下,表示基于該訪問的傳送 中。PU0傳送結(jié)束信號4-18是在傳送的最后周期被聲稱的信號,表示傳送 結(jié)束。同樣,對PU1 (4-3)的總線訪問也輸出PU1傳送中信號4-19與PU1傳 送結(jié)束信號4-20。
最終受理PU信息有效位4-13在受理由仲裁器400調(diào)停的請求的時刻 被設(shè)置。同時設(shè)置最終受理PU ID(4-14),該信息變?yōu)橛行АC慨斨俨闷?400受理請求時,都設(shè)置最終受理PU信息有效位4-13和最終受理PU ID (4-14)。另一方面,最終受理PU信息有效位4-13在最終受理PU ID (4-14) 的傳送結(jié)束的時刻被清零。例如,在最終受理PU ID(4-14)為'PU0'的情 況下,在從數(shù)據(jù)傳送部4-16聲稱PU0傳送中信號4-17期間,設(shè)置最終受 理PU信息有效位4-13,表示最終受理PU ID(4-14)有效,但PUO傳送結(jié)束 信號4-18在被聲稱的時刻被清零,最終受理PU ID(4-14)變?yōu)闊o效。艮卩, 最終受理PU ID(4-14)從仲裁器400受理請求起變?yōu)橛行?,在重新受理請求?或?qū)κ芾淼恼埱蟮膫魉屯瓿芍暗钠陂g中,保持有效的信息。
仲裁器400根據(jù)最終受理PU信息有效位4-13及最終受理PU ID(4-14)的信息,判斷是否受理來自處理器單元的請求。在本發(fā)明中,通過使用以上構(gòu)成,其特征在于,控制成同一處理器不 會總線周期不空出地連續(xù)執(zhí)行總線訪問,由此,使總線性能均勻地分散在 多處理器內(nèi)的各處理器。具體而言,在雙方處理器執(zhí)行總線訪問的情況下, 通過在處理器總線中各個處理器的總線訪問交替發(fā)生,在兩個處理器中通過調(diào)停使影響和帶寬均勻化。因此,仲裁器400在最終受理PU信息有效位 4-13未被設(shè)置的狀態(tài)、即當前從哪個處理器單元(PU)均未執(zhí)行總線訪問的 情況下,受理由PU0訪問請求4-4、或PU1訪問請求4-5聲稱的請求。在最終受理PU信息有效位4-13被設(shè)置的狀態(tài)、即當前哪個PU正在執(zhí) 行總線訪問的情況下,僅受理與最終受理PU ID(4-14)中設(shè)置的PU序號不 同的PU的請求。即便請求來自與最終受理PU ID(4-14)相同的PU的請求也 不受理。圖5、圖6A中使用動作定時圖進一步詳細說明。圖5表示從PU0(4-2)起連續(xù)聲稱2個請求,并且從PU1 (4-3)未發(fā)出請 求的情況。具體而言,從PU0(4-2)聲稱請求0a(5-1)、請求0b(5-2)。首先,聲稱請求0a(5-1),總線IF部4-10受理該請求。通過被受理, 最終受理PU信息有效位(4-13)在時間A(5-3)被設(shè)置。同時,對最終受理 PUID(4-14)設(shè)置'PUO,。在該狀態(tài)下,仲裁器400即便發(fā)生PUO訪問請求 4-4也不受理。g卩,在對請求0a(5-l)的總線訪問結(jié)束之前,不受理請求 0b(5-2) (PU0拒絕周期5-5)。因此,請求0b(5-2)被連續(xù)聲稱。在時間B(5-4),若對請求0a(5-l)的總線訪問結(jié)束,則聲稱PUO傳送 結(jié)束信號4-18,將最終受理PU信息有效位4-13清零。通過變?yōu)樵摖顟B(tài), 即便受理來自PU0(4-2)的請求,也變?yōu)楹玫臓顟B(tài),受理連續(xù)聲稱的下一請 求0b(5-2)。圖6A表示PUO (4-2) 、 PU1(4-3)分別執(zhí)行多個總線訪問請求的情況。具 體而言,在圖6A所示的定時,從PU0(4-2)聲稱請求0a(6-1)、請求0b(6-2), 從PU1聲稱請求la(6-3)、請求lb(6-4)。首先,聲稱請求0a(6-l),但由于在時間C(6-5)的時刻哪個PU都未總 線訪問,所以總線IF部(4-10)受理該請求。通過受理,設(shè)置最終受理PU 信息有效位(4-13)。同時,對最終受理PUID(4-14)設(shè)置屮UO,。在該狀態(tài)下,仲裁器400即便發(fā)生PU0訪問請求4-4也不受理(PU0拒絕周期)。在時 間D(6-6),聲稱請求0b(6-2),但請求0a(6-l)的傳送還未完成,由于是設(shè) 置最終受理PU信息有效位(4-13)的狀態(tài)、且最終受理PU ID(4-14)為?UO', 所以不受理。在該狀態(tài)下,仲裁器400僅受理PU1訪問請求(4-5)。因此, 連續(xù)聲稱請求0b(6-2)。若輸出請求la(6-3),則盡管該請求在請求0b(6-2)之后的定時輸出, 也由于是來自PU1(4-3)的請求,所以仲裁器400受理請求la(6-3),在時 間D(6-6)再設(shè)置最終受理PU信息有效位(4-13),將最終受理PU ID (4-14)設(shè)置成'pur。在該狀態(tài)下,由于最終受理PuiD(4-i4)為'pur,所以仲裁器400不受理來自PU1(4-3)的PU1訪問請求(4-5)。因此,之后不受理 PU1 (4-3)聲稱的請求lb (6-4)。另一方面,由于最終受理pu iD(4-i4)變?yōu)?pur,所以即便來自PU0(4-2)的PU0訪問請求(4-4)受理,也變?yōu)楹玫臓顟B(tài)。在本實施方式中, 仲裁器400可僅受理傳送中的請求的下l個請求。因此,在圖6A中,在仲 裁器400受理來自PUl(4-3)的請求la(6-3)的時刻,變?yōu)榭墒芾磉B續(xù)聲稱 的來自PU0(4-2)的請求0b(6-2)的狀態(tài),但由于除已傳送中的請求0a(6-l) 外還已受理請求la(6-3),所以在作為請求0a(6-l)的傳送結(jié)束的定時之時 間E(6-7)受理。在該時間E(6-7),來自PU1(4-3)的下一請求lb(6-4)也被 聲稱,但由于位于PU1拒絕周期,所以受理請求0b(6-2)而非上述請求。換 言之,在可受理來自任一處理器單元的下一請求的定時、即時間E(6-7), 根據(jù)最終受理PU信息有效位4-13與最終受理PU ID(4-14)的值,仲裁器 400確定受理PU0(4-2)與PU1(4-3)哪個的請求。另外,若構(gòu)成可在總線IF 部4-10內(nèi)設(shè)置由FIFO構(gòu)成的請求的隊列(緩沖器)等,受理下面的2個以 上的請求,則盡管未等待至時間E(6-7),但在將最終受理PU ID(4-14)改 寫成?U1'的階段,變?yōu)榭墒芾韥碜訮U0(4-2)的請求的狀態(tài),所以可馬上 受理來自PU0(4-2)的請求0b(6-2)。另外,實際的傳送處理按受理請求的 順序處理。由于在時間E(6-7)受理請求0b(6-2),所以再次設(shè)置最終受理PU信息 有效位(4-13),對最終受理PUID(4-14)設(shè)置'PU0'。在該狀態(tài)下,不能受 理PU0訪問請求(4-4)。另一方面,即便從PUl(4-3)受理請求lb(6-4),也400在請求la(6-3)的傳送結(jié)束的定時,受理 請求lb(6-4)。當然只要是可受理之后2個以上請求的構(gòu)成,則也可在對最 終受理PU ID(4-14)設(shè)置'PUO,的定時受理請求lb(6-4)。仲裁器400按上述順序受理請求,依次生成處理器總線請求4-21,所 以對共有存儲器4-24的訪問中按PU0(4-2) 、 PU1 (4-3)的順序交替發(fā)生總線 訪問,以順序產(chǎn)生對應(yīng)于請求0a(6-l)、請求la(6-3)、請求0b(6-2)、請 求lb(6-5)的請求,并變?yōu)樘幚砥骺偩€請求0a(6-8)、處理器總線請求 la(6-9)、處理器總線請求0b(6-10)、處理器總線請求lb(6-11)。結(jié)果, 總線的沖突或傳送狀態(tài)的影響對各PU交替以相同比例發(fā)生。因此,若看各 個訪問,則與連續(xù)受理后執(zhí)行總線訪問的情況相比,有時等待時間及傳送 完成周期變長,但通過交替執(zhí)行總線訪問,可使沖突造成的影響均等地分 散以2個處理器單元。圖4B是表示受理控制部410中的受理控制處理一例的流程圖。如圖所 示,受理控制部410當從PUO或PU1發(fā)行新的訪問請求時(S411),首先, 判斷內(nèi)部緩沖器可否保存新的訪問請求(S412)。這里,與圖5、 6A—樣, 為了簡化說明,設(shè)受理控制部410具有保存1個訪問請求的受理用緩沖器, 另外,傳送控制部420具有保存1個訪問請求的傳送用緩沖器。在可保存的情況下(受理用緩沖器空的情況下),受理控制部410判斷 標記信息(最終受理PU信息有效位4-13)有效或無效(S413),在標記信息表 示無效的情況下,受理該新的訪問請求(S416)。此時,受理是因為不對應(yīng) 于來自l個Pli的連續(xù)訪問。在S416的受理處理中,受理控制部410在內(nèi)部的受理用緩沖器中保存 新的訪問請求(S421),將對應(yīng)的PU ID設(shè)定在ID保持部4-14中(S422), 將標記部4-13的標記信息(最終受理PU信息有效位4-13)設(shè)為有效(設(shè) 置)(S423)。并且,受理控制部410在標記信息表示有效的情況下,判定發(fā)行該新 的訪問請求的PU的識別信息(PUID)與ID保持部中保持的識別信息(PUID) 是否一致(S414),在該識別信息不一致的情況下,受理該新的訪問請求 (S416)。此時也受理是因為不對應(yīng)于來自1個PU的連續(xù)訪問。并且,受理控制部410在判定為該識別信息一致的情況下,不受理該24此時,標記信息有效意味著是不空出上述規(guī)定期間 地發(fā)行的訪問請求。識別信息一致意味著新的訪問請求與上次的訪問請求 從同一PU發(fā)行。S415不受理的結(jié)果,該新的訪問請求延期受理,直到標記 信息變?yōu)闊o效為止。其間,若發(fā)行來自其它PU的新的訪問請求,則受理。圖4C是表示傳送控制部420中的傳送控制處理一例的流程圖。如圖所 示,傳送控制部420在上述傳送用緩沖器空、且上述受理用緩沖器中保存 的訪問請求存在的情況下(S431),從受理用緩沖器向傳送用緩沖器移動訪 問請求,執(zhí)行按照該訪問請求的數(shù)據(jù)傳送(S432)。傳送控制部420當數(shù)據(jù) 傳送完成時,判定對應(yīng)于該訪問請求的PU的識別信息(PUID)與ID保持部 中保持的識別信息(PUID)是否一致(S433),在該識別信息一致的情況下, 將標記部4-13的標記信息(最終受理PU信息有效位4-13)設(shè)為無效(設(shè)置), 將ID保持部4-14的PU ID(S434)清零。此時,ID保持部4-14的PUID的 清零也可省略。在本實施方式中,示出處理器單元為2個的情況,但即便是2個以上 的情況,只要具有多個最終受理PU信息有效位、最終受理PU ID,且對各 個處理器每個實施上述限制,則可得到同樣的效果。另外,在本實施方式中,說明了來自受理訪問請求的處理器單元的請 求未連續(xù)受理、直到該請求的處理完成的構(gòu)成。但是,即便是下面變形例 的構(gòu)成也可得到同樣的效果。圖4D是表示實施方式1的變形例中的處理器系統(tǒng)構(gòu)成例的框圖。圖4D 與圖4A相比,不同之處在于在總線IF部4-10內(nèi)新增加了可區(qū)別每個處理 器的請求的隊列Ql、 Q2、和具備受理控制部410a和傳送控制部420a來代 替受理控制部410和傳送控制部420。下面,省略相同之處的說明,主要說 明不同之處。隊列Ql、 Q2是用于先行受理來自PUO、 PU1的訪問請求的緩沖器。隊 列Q1、 Q2只要可分別保持至少l個訪問請求即可。這里,為了便于說明, 設(shè)隊列Q1、 Q2可分別保持l個訪問請求。受理控制部410不管標記信息的有效無效,使來自PUO、 PU1的訪問請 求先行,分別受理到隊列Q1、 Q2中。傳送控制部420a確定發(fā)行來自哪個隊列的訪問請求作為處理器總線請求。此時,最終受理PU信息有效位4-13與最終受理PUID(4-14),在受理 來自處理器單元的訪問請求時不被設(shè)置,而在總線IF部4-10向處理器總 線聲稱處理器總線請求(4-21)的定時被設(shè)置。圖6B是表示實施方式1的變形例中的訪問定時的圖。圖6B與圖6A相 比,主要不同之處在于增加隊列請求404和隊列請求405, PU0訪問請求4-4 和PU1訪問請求4-5在不同定時被受理(即PU0訪問受理4-6和PU1訪問受 理4-7的聲稱定時),和PU0訪問受理4-6、 PU1訪問受理4-7從隊列Q1、 隊列Q2而非仲裁器400輸出。PU0訪問請求4-4在隊列Q1空時立即被受理,圖中,在聲稱的周期被 受理。PU1訪問請求4-5對于隊列Q2也一樣。隊列1請求404是表示在隊列Ql中保持受理的訪問請求的信號,若使 之移動到仲裁器400內(nèi)的受理用緩沖器,則使其無效。隊列2請求405對 于隊列Q2 —樣。隊列1請求受理4-26是在聲稱隊列請求404、且仲裁器400內(nèi)的受理 控制部410a可受理的情況(受理用緩沖器中有空的情況下),與從隊列Ql 向受理用緩沖器移動訪問請求的同時被聲稱的信號。隊列2請求受理4-27 也一樣。隊列Ql和隊列Q2若從仲裁器400看,則與請求階段中的圖4A的主單 元(PU0、 PU1)等效。另外,隊列Ql和隊列Q2若從主單元看,則與請求階 段中的仲裁器400 (受理控制部410a)等效。這樣,通過使隊列Ql、隊列Q2介入主單元(PU0、 PU1)與仲裁器400 之間,若從主單元看,則請求階段中受理等待變少,被盡快受理。由此,1 個主單元的傳送階段的連續(xù)執(zhí)行次數(shù)的限制不是通過拒絕(延期)請求階段 中的受理、而是通過延期受理后的傳送的開始來控制。圖6B中,不是通過請求階段中的受理控制處理、而是通過由傳送控制 部420a控制傳送階段的開始定時來實現(xiàn)1個主單元的傳送階段的連續(xù)執(zhí)行 次數(shù)的限制。圖4E是表示變形例中的受理控制部410a的受理控制處理一例的流程 圖。圖4E與圖4B相比,不同之處在于刪除步驟S412-S415,增加S442。 下面,省略說明相同之處,主要說明不同之處。受理控制部410a當發(fā)行新的訪問請求時,若對應(yīng)的隊列Ql或Q2中有 空(S442),則在該隊列Q1或Q2受理訪問請求(S416)。由此,PU0、 PU1連 續(xù)發(fā)行訪問請求時,在比圖4B早的時刻被受理。圖4F是表示變形例中的傳送控制處理部420a的傳送控制處理一例的 流程圖。圖中,所述傳送控制部420a在隊列Ql或Q2中保存訪問請求的情 況下(S451),判斷標記信息(最終受理PU信息有效位4-13)有效或無效 (S452),在標記信息表示無效的情況下,根據(jù)該新的訪問請求,執(zhí)行數(shù)據(jù) 傳送(傳送階段)(S455)。此時,執(zhí)行數(shù)據(jù)傳送是因為不對應(yīng)于來自1個PU 的連續(xù)訪問。并且,傳送控制部420a在標記信息表示有效的情況下,判定隊列中保 持的訪問請求所對應(yīng)的PU的識別信息(PUID)與ID保持部中保持的識別信 息(PUID)是否一致(S453),在該識別信息一致的情況下,不執(zhí)行根據(jù)該訪 問請求的數(shù)據(jù)傳送(S454)。此時,不執(zhí)行數(shù)據(jù)傳送是因為對應(yīng)于來自1個 PU的連續(xù)傳送。該訪問請求的數(shù)據(jù)傳送被延期,直到復(fù)位標記信息為止。 延期的期間若存在其它PU的訪問請求,則執(zhí)行其數(shù)據(jù)傳送。并且,傳送控制部420a在標記信息表示有效的情況下,判定隊列中保 持的訪問請求所對應(yīng)的PU的識別信息(PUID)與ID保持部中保持的識別信 息(PUID)是否一致(S453),在該識別信息不一致的情況下,執(zhí)行根據(jù)該訪 問請求的數(shù)據(jù)傳送(S455)。此時,執(zhí)行數(shù)據(jù)傳送是因為不對應(yīng)于來自1個 PU的連續(xù)訪問。傳送控制部420a在數(shù)據(jù)傳送完成時,判定對應(yīng)于該訪問請求的PU的 識別信息(PUID)與ID保持部中保持的識別信息(PUID)是否一致(S456),在 該識別信息一致的情況下,設(shè)標記部4-13的標記信息(最終受理PU信息有 效位4-13)無效(復(fù)位),將ID保持部4-14的PUID清零(S457)。此時,ID 保持部4-14的PUID的清零也可省略。如上所述,根據(jù)變形例,可不直接參照來自主單元的請求,利用隊列 中登錄的信息來控制1個主單元的傳送階段的連續(xù)執(zhí)行次數(shù)的限制。另外, 可根據(jù)保持所述識別信息與所述標記信息這樣簡單的構(gòu)成來實現(xiàn)訪問性能 的均等化。并且,由于對于主部件(master)而言,立即受理訪問請求, 所以可縮短主部件的受理等待時間,減輕總線訪問主部件用的處理負荷。(實施方式2)說明本發(fā)明的實施方式2。圖7A表示實施方式2的系統(tǒng)構(gòu)成圖。在本 實施方式中,執(zhí)行僅在某個設(shè)定期間許可來自同一處理器的連續(xù)訪問的控 制。可與圖4A—樣說明的部分附加相同符號,省略說明。圖7A的總線IF部4-10與圖4A相比,增加計數(shù)規(guī)定周期數(shù)的抑制周 期計數(shù)器7-l、和可從任一主單元設(shè)定、保持所述規(guī)定周期數(shù)的抑制周期設(shè) 定寄存器7-4。抑制周期計數(shù)器7-1例如在加載抑制周期設(shè)定寄存器7-4中 設(shè)定的周期數(shù)后被倒計數(shù)。受理控制部411每當受理訪問請求時,將所述標記信息設(shè)為有效,在 工D保持部中設(shè)定對應(yīng)于該訪問請求的識別信息,使抑制周期計數(shù)器7-l的 周期計數(shù)動作開始。標記部4-13在抑制周期計數(shù)器7-1對所述規(guī)定周期數(shù)進行計數(shù)時,設(shè) 所述標記信息無效。圖7B是表示本實施方式中的受理控制部411的受理控制處理一例的流 程圖。受理控制部411執(zhí)行與圖4B—樣的受理控制處理,但不同之處在于 執(zhí)行圖7B所示的受理處理來代替圖4B右側(cè)所示的S416的受理處理。圖7B中,受理控制部411若受理來自處理器單元的請求(訪問請 求)(S421),則設(shè)置最終受理PU信息有效位4-13與最終受理PU ID (4-14) (S422 、 S423),同時向抑制周期計數(shù)器7_1發(fā)送計數(shù) start(7-2) (S464)。抑制周期計數(shù)器7-1當輸入計數(shù)start (7-2)時,從抑 制周期設(shè)定寄存器7-4設(shè)置抑制周期值7-5,每當從下一周期輸入時鐘時, 都執(zhí)行倒計數(shù)。這里,抑制周期設(shè)定寄存器7-4可由軟件設(shè)定成任意值, 例如,是可利用處理器單元執(zhí)行的寄存器寫入命令而可編程地更新的寄存 器。抑制周期寄存器7-1下溢、即計數(shù)值為0時,向標記部4-13輸出計數(shù) under flow(7-3)。由此,無效化(復(fù)位)標記部4-13中保持的最終受理PU 信息有效位。圖7C是表示傳送控制部421中的傳送控制處理一例的流程圖。圖7C 與圖4C相比,不同之處在于刪除步驟S433和S434。即,刪除復(fù)位標記的 處理。這里,在實施方式1中,標記部4-13中保持的最終受理PU信息有效28位由PU0傳送結(jié)束信號4-18或PU1傳送結(jié)束信號4-20清零,但在本實施 方式中,由計數(shù)under flow(7-3)清零。因此,僅在仲裁器401受理來自其 它處理器單元的請求后設(shè)置更正最終受理PU ID(4-14)、或抑制周期值7-5 中設(shè)定的周期期間超過、將最終受理PU信息有效位(4-13)清零的情況下, 連續(xù)處理來自同一處理器單元的請求。通過以上構(gòu)成,在本實施方式中,可抑制在規(guī)定周期期間中發(fā)生來自 同一處理器的連續(xù)總線訪問,提供受理其它處理器的訪問的機會,從而可 實現(xiàn)總線訪問性能的均勻分散。也可使本實施方式與其它實施方式組合。例如,除抑制周期值7-5中 設(shè)定的周期期間超過的情況外,也可利用PU0傳送結(jié)束信號4-18或PU1傳 送結(jié)束信號4-20將最終受理PU信息有效位4-13清零。(實施方式3)說明本發(fā)明的實施方式3。圖8A表示實施方式3的系統(tǒng)構(gòu)成圖。在本 實施方式中,執(zhí)行抑制來自同一處理器的某一一定個數(shù)以上的連續(xù)總線訪 問的控制。圖8A的總線IF部4-10與圖4A相比,不同之處在于增加可從 任一主單元設(shè)定、保持連續(xù)傳送的許可次數(shù)N的連續(xù)數(shù)許可寄存器8-5、與 計數(shù)的連續(xù)數(shù)計數(shù)器8-1。連續(xù)數(shù)計數(shù)器8-1在例如加載連續(xù)數(shù)許可寄存器 8-5中保持的所述N后倒計數(shù)??膳c圖4A—樣說明的部分附加相同符號, 省略說明。圖8B是表示受理控制部412中的受理控制處理一例的流程圖。圖8B 與圖4B相比,不同之處在于增加步驟S471-S473。相同之處省略說明,下 面主要說明不同之處。受理控制部412當發(fā)行新的訪問請求時,在標記信息表示無效的情況下(S413:否),和判定為標記信息表示有 效、且發(fā)行訪問請求的主單元的PUID與ID保持部4-14中保持的PUID不 一致的情況下(S414:否),向連續(xù)數(shù)計數(shù)器8-1聲稱初始化信號(S471), 受理該新的訪問請求(S416)。利用初始化信號的聲稱,連續(xù)數(shù)計數(shù)器8-1 作為初始化,加載連續(xù)數(shù)許可寄存器8-5中保持的連續(xù)許可數(shù)N。由此,在 新的訪問請求不是來自1個PU的連續(xù)訪問的情況下,初始化連續(xù)數(shù)計數(shù)器 8—1。另外,受理控制部412在發(fā)行訪問請求的主單元的PUID與ID保持部 4-14中保持的PUID —致的情況下(S414:是),判定連續(xù)數(shù)計數(shù)器8-1是否 計數(shù)到N次(計數(shù)值CT〉0 )(S472),在判定為連續(xù)數(shù)計數(shù)器未計數(shù)到N次 的情況下,向連續(xù)數(shù)計數(shù)器8-l聲稱連續(xù)檢測信號(S473),受理新的訪問 請求(S416)。利用連續(xù)檢測信號的聲稱,連續(xù)數(shù)計數(shù)器8-1減1計數(shù)。并且,受理控制部412在判定為連續(xù)數(shù)計數(shù)器8-1計數(shù)到N次的情況 下(S472:否),不受理該新的訪問請求(S415)。在本實施方式中,在未設(shè)置最終受理PU信息有效位4-13的情況下, 若仲裁器402受理請求,則在設(shè)置最終受理PU信息有效位4-13與最終受 理PU ID4-14的同時,向連續(xù)數(shù)計數(shù)器8-1聲稱連續(xù)數(shù)計數(shù)器初始化信號 8-2。若受理連續(xù)數(shù)計數(shù)器初始化信號8-2,則從連續(xù)許可數(shù)寄存器8-5向 連續(xù)數(shù)計數(shù)器8-1設(shè)置連續(xù)許可數(shù)8-6。這里,連續(xù)許可數(shù)寄存器8-5可由 軟件設(shè)定成任意值,例如,是可利用處理器單元執(zhí)行的寄存器寫入命令而 可編程地更新的寄存器。若仲裁器402受理下一請求,則判斷是否設(shè)置最終受理PU信息有效位 4-13,在設(shè)置的情況下,參照最終受理PUID(4-14)的信息,若保持的信息 與受理的處理器的信息相同,則將連續(xù)檢測8-3發(fā)送到連續(xù)數(shù)計數(shù)器8-1。 連續(xù)數(shù)計數(shù)器8-1接受該信號進行倒計數(shù)。在此外的情況下,輸出連續(xù)數(shù) 計數(shù)器初始化信號8-2,在連續(xù)數(shù)計數(shù)器8-1再次設(shè)置連續(xù)許可數(shù)8-6。若連續(xù)數(shù)計數(shù)器8-1為0以上,則即便是來自相同處理器的連續(xù)總線 訪問,也判斷為可執(zhí)行,從連續(xù)數(shù)計數(shù)器8-l向仲裁器402發(fā)送連續(xù)許可 8-4。在輸入連續(xù)許可8-4的期間,仲裁器402受理來自雙方處理器單元的 請求。但是,若連續(xù)數(shù)計數(shù)器8-1下溢、即計數(shù)值變?yōu)镺,則不連續(xù)受理這 以上的來自相同處理器的總線訪問請求。利用以上構(gòu)成,在本實施方式中,通過抑制規(guī)定個數(shù)以上的連續(xù)訪問, 從相同處理器執(zhí)行多個連續(xù)訪問,從而可降低不受理其它處理器的請求的 狀態(tài)。也可將本實施方式與其它實施方式組合。例如,通過進一步設(shè)置抑制 周期計數(shù)器,也抑制規(guī)定周期期間的規(guī)定個數(shù)以上的連續(xù)訪問。 (實施方式4)說明本發(fā)明的實施方式4。圖9A表示實施方式4的系統(tǒng)構(gòu)成圖。本實 施方式始終監(jiān)視某個周期期間的各處理器的總線訪問狀況,對在該期間內(nèi) 總線訪問次數(shù)多的處理器,在下一周期期間中執(zhí)行與實施方式1 一樣的控 制。圖9A的總線IF部4-10與圖4A相比,其不同之處在于增加抑制PU信 息保持部9-13、監(jiān)視期間計數(shù)器9-2、監(jiān)視期間設(shè)定寄存器9-3、和訪問統(tǒng) 計部9-1??膳c圖4A—樣說明的部分附加相同符號,省略說明。抑制PU信息保持部9-13用作第2識別信息保持部,保持多個主單元 中應(yīng)抑制傳送階段的連續(xù)執(zhí)行次數(shù)的主單元的識別信息(PUID),作為第2 識別信息。監(jiān)視計數(shù)器9-2周期地計數(shù)監(jiān)視期間設(shè)定寄存器9-3中設(shè)定的監(jiān)視期 間(一定期間)。訪問統(tǒng)計部9-1包含用作每一定時間計數(shù)每個主單元的訪問次數(shù)的計 數(shù)部,對一定時間內(nèi)的PUO的訪問次數(shù)進行計數(shù)的PU0訪問計數(shù)器9-7;計 數(shù)一定時間內(nèi)的PU1的訪問次數(shù)的PU1訪問計數(shù)器9-8;和次數(shù)比較部9-11, 用作將訪問次數(shù)最多的主單元的識別信息作為所述第2識別信息設(shè)定在所 述第2識別信息保持部中的設(shè)定部。圖9B是表示受理控制部413中的受理控制處理一例的流程圖。圖9B 與圖4B相比,不同之處在于在步驟S414、S415和S416之間增加S481。艮卩, 受理控制部在S481中,在判定為新的訪問請求所對應(yīng)的PUID與抑制 PUID(第2識別信息)不一致的情況下,受理該新的訪問請求(S416),在判 定為一致的情況下,不受理該新的訪問請求(S415)。訪問統(tǒng)計部9-1是解析任意周期期間中的各處理器的訪問次數(shù)的塊。 周期期間利用監(jiān)視期間計數(shù)器9-2與監(jiān)視期間設(shè)定寄存器9-3而可編程地 設(shè)定。監(jiān)視期間計數(shù)器9-2是通過輸入時鐘來倒計數(shù)的計數(shù)器,若輸入監(jiān) 視開始信號9-5,則取入監(jiān)視期間設(shè)定寄存器9-3中設(shè)定的監(jiān)視期間設(shè)定值 9-4,設(shè)為倒計數(shù)的初始值。若監(jiān)視期間計數(shù)器9-2的計數(shù)值為0,則判斷 為監(jiān)視期間結(jié)束,聲稱監(jiān)視結(jié)束信號9-6。將這設(shè)為1個監(jiān)視期間的計數(shù)動 作。若聲稱監(jiān)視結(jié)束信號9-6,則在同時或之后的規(guī)定定時聲稱監(jiān)視開始信 號9-5,再次重復(fù)監(jiān)視期間的計數(shù)動作。這里,監(jiān)視期間設(shè)定寄存器9-3可 由軟件設(shè)定成任意值,例如是可由處理器單元執(zhí)行的寄存器寫入命令而可編程地更新的寄存器。訪問統(tǒng)計部9-1當聲稱監(jiān)視開始信號9-5時,將PU0訪問計數(shù)器9-7、 及PUl訪問計數(shù)器9-8的值清零為0。之后,每當仲裁器403受理來自各個 處理器單元的請求時,只要受理的請求是來自PU0(4-2)的請求,則將PUO 訪問信息發(fā)送到PU0訪問計數(shù)器9-7,計數(shù)PU0訪問計數(shù)器9-7。同樣,若 受理的請求是來自PUl(4-3)的請求,則利用PU1訪問信息,計數(shù)PU1訪問 計數(shù)器9-8。若對訪問統(tǒng)計部9-l聲稱監(jiān)視結(jié)束信號9-6,則由次數(shù)比較器 9-11比較PUO訪問計數(shù)器9-7的值與PU1訪問計數(shù)器9-8的值,將次數(shù)多 的處理器單元的信息作為下一期間抑制PU信息9-12,設(shè)置成抑制PU信息 9-13。最終受理PU信息有效位4-13、及最終受理PU ID(4-14)的動作與實施 方式1 一樣。在本實施方式中,其特征在于,除最終受理PU信息有效位4-13、及最 終受理PU ID(4-14)外,還參照抑制PU信息9-13。若接著有請求的處理器 單元與抑制PU信息9-13所示的處理器單元相同,則對應(yīng)于最終受理PU信 息有效位4-13、及最終受理PU ID(4-14),執(zhí)行訪問控制。但是,在接著 有請求的處理器單元與抑制PU信息9-13所示的處理器單元不同的情況下, 受理來自該處理器單元的請求。即,當最終受理PU ID(4-14)與抑制PU信 息9-13均為'PU0',且設(shè)置最終受理信息有效位4-13時,若聲稱來自 PU0(4-2)的請求,則不受理該請求,但當最終受理PU ID(4-14)與抑制PU 信息9-13之一為'PU1,時,若聲稱來自PU0(4-2)的請求,則受理。對每 個監(jiān)視期間設(shè)定值9-4重復(fù)這一連串的動作。通過上述構(gòu)成,在本實施方式中,在規(guī)定期間取得各個處理器的總線 訪問信息,在下一期間抑制來自在前一期間中訪問次數(shù)多的處理器的連續(xù) 訪問,從而使訪問頻度多的處理器對其它處理器的影響降低,使全部期間 中全部處理器的總線訪問性能均等地分散。另外,本實施方式不限于實施方式l,當然也可適用于其它實施方式或 其組合。(實施方式5)說明本發(fā)明的實施方式5。圖10表示實施方式5的系統(tǒng)構(gòu)成圖。在本實施方式中,處理器不必是安裝了多核的多處理器,是多個線程可同時動 作的多線程處理器。具體而言,本實施方式中的多線程處理器是每個線程 可獨立執(zhí)行總線訪問請求,并且即便某個線程正在總線訪問、也可從其它 線程執(zhí)行總線訪問請求的多線程處理器。即便在這種多線程處理器中,有時也發(fā)生與上述多處理器一樣的課題, 想防止總線訪問的性能僅偏向特定的線程。即,即便在多線程處理器中, 也存在想對每個線程均等地分配總線帶寬的情況、或想向各線程均等地分 配沖突造成的總線訪問的影響的情況。多線程處理器10-1是可處理3個線程(線程0、線程l、線程2)的處理 器。多線程處理器10-1可對每個線程將總線訪問種類設(shè)定為線程0訪問屬 性設(shè)定寄存器10-2、線程l訪問屬性設(shè)定寄存器10-3、線程2訪問屬性設(shè) 定寄存器10-4。若各線程發(fā)生總線訪問,則向總線IF部4-10輸出與訪問 請求10-5 —起請求的線程ID(10-6)與該線程的訪問屬性10-7。最終受理線程ID有效位10-9及最終受理線程ID(10-10)用于與實施方 式1中的最終受理PU信息有效位(4-13)、最終受理PU ID(4-14)—樣的控 制中。但是,向最終受理線程ID(10-10)設(shè)置不是發(fā)出受理的總線訪問請求 的處理器單元、而是受理的總線訪問所對應(yīng)的線程序號、即聲稱訪問請求 10-5的周期的線程ID(10-6)??蓪€程0訪問屬性設(shè)定寄存器10-2、線程1訪問屬性設(shè)定寄存器 10-3、線程2訪問屬性設(shè)定寄存器10-4按每個系統(tǒng)設(shè)定任意含義的屬性。 在本實施方式中,設(shè)置是否執(zhí)行發(fā)行抑制控制的屬性。這里,舉例說明對 線程0訪問屬性設(shè)定寄存器10-2設(shè)置為'有效'、對線程l訪問屬性設(shè)定 寄存器10-3設(shè)置為'無效'、對線程2訪問屬性設(shè)定寄存器10-4設(shè)置為'有 效'的情況。根據(jù)該實例,控制成總線訪問性能在線程0與線程2變?yōu)榫?等。若在線程0發(fā)生總線訪問,則在聲稱訪問請求10-5的同時,輸出'IDO', 作為線程ID(10-6),輸出'有效',作為訪問屬性10-7。若仲裁器404受 理該請求,則設(shè)置最終受理線程ID有效位10-9,并且對最終受理線程 ID(10-IO)設(shè)置'ID0'。另外,聲稱訪問請求10-5,執(zhí)行對共有存儲器4-24 的訪問。若無其它總線訪問請求,則繼續(xù)設(shè)置最終受理線程ID有效位10-9,直 到對共有存儲器4-24的訪問完成。在該狀態(tài)下,在還發(fā)生來自線程0的總 線訪問請求的情況下,訪問屬性10-7為'有效',且線程ID(10-6)與最終 受理線程ID(10-10)的ID —致,所以仲裁器404不受理請求。從而不聲稱 訪問受理10-8。受理該請求是將最終受理線程ID有效位10-9清零時,即 對最終受理線程ID(10-IO)設(shè)置的總線訪問完成之后,或其它線程的總線訪 問請求發(fā)生時。多線程處理器10-1由于不受理訪問請求10-5,所以若在下一周期有其 它線程的總線訪問請求,則執(zhí)行該訪問請求。因此,暫時使訪問請求10-5 無效。若執(zhí)行其它線程的總線訪問請求,則繼續(xù)聲稱對應(yīng)于線程0的訪問 請求10-5。下面,說明在無來自其它線程的總線訪問請求的狀態(tài)下、來自對線程l 訪問屬性設(shè)定寄存器10-3中設(shè)定為'無效'的線程l的總線訪問請求連續(xù) 發(fā)生時的動作。若線程l發(fā)生總線訪問,則聲稱訪問請求10-5,同時輸出 '無效',作為訪問屬性10-7。若受理該請求,則設(shè)置最終受理線程ID有 效位(10-9),作為最終受理線程ID(10-10)設(shè)置訂D1'。在該狀態(tài)下,若 線程l還發(fā)生新的總線訪問,則再次聲稱訪問請求10-5,同時輸出'無效' 作為訪問屬性10-7。在該狀態(tài)下,設(shè)置最終受理線程ID有效位10-9,雖 然最終受理線程ID(10-IO)與有總線訪問的線程ID(10-6)相同,但由于輸 出'無效'作為訪問屬性10-7,所以即便設(shè)置最終受理線程ID有效位10-9, 并且最終受理線程ID(10-10)相同,也判斷為不是抑制控制的對象,受理請 求。伴隨該請求的受理,再次設(shè)置最終受理線程ID有效位10-9,更新最終 受理線程ID(10-10),但對之后的動作無任何影響。最終受理線程ID有效位10-9及最終受理線程ID (10-10)執(zhí)行與實施方 式1 一樣的設(shè)置、清零控制。即,在未設(shè)置最終受理線程ID有效位10-9 的情況下,若受理訪問請求10-7則設(shè)置,在設(shè)置的情況下是重新受理訪問 請求10-7,或者是最終受理線程ID(10-10)保持的線程ID的傳送結(jié)束,根 據(jù)線程0傳送中信號10-11、線程0傳送結(jié)束信號10-12、線程1傳送中信 號10-13、線程1傳送結(jié)束信號10-14、線程2傳送中信號(10-15)、線程2 傳送結(jié)束信號(10-16)來判斷并清零。在實施方式5的說明中示出訪問屬性^有效''無效'的情況,但還有 設(shè)定構(gòu)成限制對象的組、且將每個線程屬于哪個組設(shè)定為訪問屬性的方法。 例如,某個程序(設(shè)為程序A)依次分配給線程O、線程1后實施,其它某個 程序(設(shè)為程序B)在線程2實施時,在程序A與程序B之間想均等化總線訪 問性能的情況下,對來自線程0、線程l的訪問統(tǒng)一兩者實施連續(xù)執(zhí)行的抑 制控制,來自線程2的訪問僅由線程2實施是有效的。此時,對程序A、程 序B定義為限制組0、限制組1,對線程0訪問屬性設(shè)定寄存器10-2、線程 l訪問屬性設(shè)定寄存器10-3設(shè)定'限制組O',對線程2訪問屬性設(shè)定寄存 器io-4設(shè)定'限制組r。在實施方式5的說明中,若訪問屬性對相同線程 為'有效',則執(zhí)行連續(xù)受理的限制控制,但即便線程不同,只要是相同的 訪問屬性、即相同的限制組,就利用設(shè)為連續(xù)受理的限制控制對象的方法 也可實現(xiàn)上述情況。另外,在實施方式5中,在對總線IF部設(shè)置請求的隊列的情況下,可 執(zhí)行與實施方式1中說明的一樣的變形。并且,當然也可與實施方式2-4 中說明的構(gòu)成組合。并且,多線程處理器也可以是多處理器。產(chǎn)業(yè)上可利用性如下如上所述,通過本發(fā)明,在由多個處理器構(gòu)成的系統(tǒng)中,可使對共有 存儲器的訪問性能均勻地分散到每個處理器,或在多線程處理器中,使每 個線程的訪問性能均等地分散。從而,可用于處理器系統(tǒng)中。
權(quán)利要求
1、一種處理器系統(tǒng),具備總線,連接于共有存儲器;多個主單元,發(fā)行用于訪問所述共有存儲器的訪問請求;和總線接口部,以分離傳送方式執(zhí)行所述總線的訪問,該分離傳送方式分離地執(zhí)行受理從所述多個主單元發(fā)行的訪問請求的請求階段、與根據(jù)受理的訪問請求而在所述共有存儲器與主單元之間經(jīng)所述總線進行數(shù)據(jù)傳送的傳送階段;在從1個主單元不空出規(guī)定期間地連續(xù)發(fā)行多個訪問請求的情況下,所述總線接口部將對應(yīng)于該多個訪問請求的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次,所述規(guī)定期間是與從受理了之前剛發(fā)行的訪問請求時起、至該訪問請求的傳送階段完成為止的期間的一部分或全部相當?shù)钠陂g。
2、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于所述N為1。
3、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于 所述總線接口部具備受理控制部,控制訪問請求的受理; 傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息;和標記保持部,保持在所述規(guī)定期間變?yōu)橛行У臉擞浶畔ⅲ?所述受理控制部當發(fā)行新的訪問請求時, 在所述標記信息表示無效的情況下,受理該新的訪問請求, 在所述標記信息表示有效的情況下,判定發(fā)行了該新的訪問請求的主單元的識別信息與所述識別信息保持部中保持的識別信息是否一致, 在判定為該識別信息不一致的情況下,受理該新的訪問請求, 在判定為該識別信息一致的情況下,將與發(fā)行了該新的訪問請求的主單元相對應(yīng)的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。
4、根據(jù)權(quán)利請求3所述的處理器系統(tǒng),其特征在于-所述規(guī)定期間是從所述訪問請求的受理至對應(yīng)于所述訪問請求的傳送 階段完成的期間,所述受理控制部每當受理訪問請求時,將所述標記信息設(shè)為有效,并 且,將對應(yīng)于該訪問請求的識別信息設(shè)定在所述識別信息保持部件中,所述傳送控制部件在與所述識別信息保持部件中保持的識別信息相對 應(yīng)的傳送階段完成時,將所述標記信息保持部件的標記信息設(shè)為無效。
5、根據(jù)權(quán)利請求3所述的處理器系統(tǒng),其特征在于 所述規(guī)定期間是從訪問請求的受理至規(guī)定周期數(shù)經(jīng)過的期間, 所述處理器系統(tǒng)還具備對所述規(guī)定周期數(shù)進行計數(shù)的周期計數(shù)器, 所述受理控制部每當受理訪問請求時,都將所述標記信息設(shè)為有效,將對應(yīng)于該訪問請求的識別信息設(shè)定在所述識別信息保持部件中,使所述計數(shù)器的周期計數(shù)動作開始,當所述計數(shù)器對所述規(guī)定周期數(shù)進行計數(shù)時,所述標記保持部件使所述標記信息無效。
6、根據(jù)權(quán)利請求5所述的處理器系統(tǒng),其特征在于所述處理器系統(tǒng)還具備周期寄存器,該周期寄存器可設(shè)定所述規(guī)定周 期數(shù)、且保持所述規(guī)定周期數(shù),所述周期計數(shù)器對所述周期寄存器中保持的規(guī)定周期數(shù)進行計數(shù)。
7、根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于 所述總線接口部具備-受理控制部,控制訪問請求的受理; 傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個與已受理且傳送階段未完成的訪問請 求相對應(yīng)的主單元的識別信息;標記保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M行保持;和 連續(xù)數(shù)計數(shù)器,對所述N進行計數(shù);所述受理控制部當發(fā)行新的訪問請求時, 在所述標記信息表示無效的情況下,受理該新的訪問請求, 在所述標記信息表示有效的情況下,判定發(fā)行了該新的訪問請求的主 單元的識別信息與所述識別信息保持部中保持的識別信息是否一致, 在判定為該識別信息不一致的情況下,受理該新的訪問請求, 在判定為該識別信息一致的情況下,判定所述連續(xù)數(shù)計數(shù)器是否計數(shù)至N次,在判定為所述連續(xù)數(shù)計數(shù)器未計數(shù)至N次的情況下,受理該新的訪問 請求,在判定為所述連續(xù)數(shù)計數(shù)器計數(shù)至N次的情況下,延期該新的訪問請 求的受理直到所述標記信息變?yōu)闊o效為止,并初始化所述連續(xù)計數(shù)器。
8、 根據(jù)權(quán)利請求7所述的處理器系統(tǒng),其特征在于 所述處理器系統(tǒng)還具備連續(xù)數(shù)寄存器,所述連續(xù)數(shù)寄存器可由任一主單元設(shè)定,且保持所述N,所述連續(xù)數(shù)計數(shù)器對所述連續(xù)數(shù)寄存器中保持的所述N進行計數(shù)。
9、 根據(jù)權(quán)利請求7所述的處理器系統(tǒng),其特征在于 所述規(guī)定期間是從所述訪問請求的受理至對應(yīng)于所述訪問請求的傳送階段完成的期間,所述受理控制部每當受理訪問請求時,將所述標記信息設(shè)為有效,并 且,將對應(yīng)于該訪問請求的識別信息設(shè)定在所述識別信息保持部件中,所述傳送控制部件在與所述識別信息保持部件中保持的識別信息相對 應(yīng)的傳送階段完成時,將所述標記信息保持部件的標記信息設(shè)為無效。
10、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于,所述總線接口部具備 受理控制部,控制訪問請求的受理;傳送控制部,控制所述數(shù)據(jù)傳送;第1識別信息保持部,至少保持1個與已受理且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息,作為第1識別信息;標記保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M行保持;和 第2識別信息保持部,保持所述多個主單元中應(yīng)限制訪問的主單元的識別信息,作為第2識別信息,所述受理控制部當發(fā)行新的訪問請求時, 在所述標記信息表示無效的情況下,受理該新的訪問請求, 在所述標記信息表示有效的情況下,判定發(fā)行了該新的訪問請求的主單元的識別信息與所述第1識別信息和第2識別信息是否一致,在判定為與所述第1識別信息和第2識別信息至少一方不一致的情況下,受理該新的訪問請求,在判定為與所述第1識別信息和第2識別信息雙方一致的情況下,延期該新的訪問請求的受理,直到所述標記信息變?yōu)闊o效為止。
11、 根據(jù)權(quán)利請求10所述的處理器系統(tǒng),其特征在于, 所述處理器系統(tǒng)還具備計數(shù)部,所述計數(shù)部每一定時間就對每個所述主單元的訪問次數(shù)進行 計數(shù);和設(shè)定部,將訪問次數(shù)最多的主單元的識別信息作為所述第2識別信息, 設(shè)定在所述第2識別信息保持部中。
12、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于-所述總線接口部具備受理控制部,控制訪問請求的受理; 傳送控制部,控制所述數(shù)據(jù)傳送;識別信息保持部,至少保持1個與已受理且傳送階段未完成的訪問請 求相對應(yīng)的主單元的識別信息;和標記保持部,對在所述規(guī)定期間變?yōu)橛行У臉擞浶畔⑦M行保持, 所述傳送控制部,情況下,執(zhí)行受理的訪問請求的傳送階段, 在所述標記信息表示有效的情況下,判定發(fā)行了已受理且傳送階段未執(zhí)行的訪問請求的主單元的識別信息與所述識別信息保持部中保持的識別信息是否一致,在判定為該識別信息不一致的情況下,開始該已受理且傳送階段未執(zhí) 行的訪問請求的傳送階段,在判定為該識別信息一致的情況下,將該已受理且傳送階段未執(zhí)行的 訪問請求的傳送階段的開始延期,直到所述標記信息變?yōu)闊o效為止。
13、 根據(jù)權(quán)利請求12所述的處理器系統(tǒng),其特征在于 所述規(guī)定期間是從所述訪問請求的受理至對應(yīng)于所述訪問請求的傳送階段完成的期間,所述受理控制部每當受理訪問請求時,將所述標記信息設(shè)為有效,并 且,將對應(yīng)于該訪問請求的識別信息設(shè)定在所述識別信息保持部件中,所述傳送控制部件在與所述識別信息保持部件中保持的識別信息相對 應(yīng)的傳送階段完成時,將所述標記信息保持部件的標記信息設(shè)為無效。
14、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于 所述多個主單元是構(gòu)成對稱型多處理器的多個處理器單元。
15、 根據(jù)權(quán)利請求l所述的處理器系統(tǒng),其特征在于 所述多個主單元是在構(gòu)成多處理器的多個處理器單元中設(shè)置的多個虛擬處理器。
16、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于-所述多個主單元是對應(yīng)于多線程處理器中的多個線程的多個虛擬處理器。
17、 根據(jù)權(quán)利請求1所述的處理器系統(tǒng),其特征在于 所述多個主單元和總線接口部包含于單個半導體芯片中。
18、 一種處理器系統(tǒng),具備 總線,連接于共有存儲器;多線程處理器,執(zhí)行多個包含至少1個線程的虛擬處理器,從各虛擬 處理器發(fā)行對所述共有存儲器的訪問請求;和分離傳送型的總線接口部,分離地執(zhí)行受理從所述多個虛擬處理器發(fā) 行的訪問請求的請求階段、與根據(jù)受理的訪問請求而在所述共有存儲器與 虛擬處理器之間經(jīng)所述總線進行數(shù)據(jù)傳送的傳送階段;所述總線接口部在從1個虛擬處理器不空出規(guī)定期間地連續(xù)發(fā)行多個 訪問請求的情況下,將對應(yīng)于該多個訪問請求的傳送階段的連續(xù)執(zhí)行次數(shù) 限制為最多N次,所述規(guī)定期間是與從受理了之前剛發(fā)行的訪問請求時起、至該訪問請 求的傳送階段完成為止的期間的一部分或全部相當?shù)钠陂g。
19、 根據(jù)權(quán)利請求18所述的處理器系統(tǒng),其特征在于-所述多線程處理器與訪問請求一起發(fā)行線程的識別信息和訪問屬性, 所述訪問屬性表示是否應(yīng)使所述傳送階段的連續(xù)執(zhí)行的限制有效, 所述總線接口部對于表示有效的所述訪問屬性所對應(yīng)的訪問請求,將所述傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。
20、 根據(jù)權(quán)利請求18所述的處理器系統(tǒng),其特征在于 所述多線程處理器與訪問請求一起發(fā)行線程的識別信息和訪問屬性, 所述訪問信息是作為包含至少1個線程的組的組序號, 所述總線接口部對每個組序號,將對應(yīng)的訪問請求的所述傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。
21、 一種處理器系統(tǒng)中的總線控制方法,所述處理器系統(tǒng)具備總線, 連接于共有存儲器;多個主單元,發(fā)行用于訪問所述共有存儲器的訪問請 求;總線接口部,以分離傳送方式執(zhí)行所述總線的訪問,該分離傳送方式 分離地執(zhí)行受理從所述多個主單元發(fā)行的訪問請求的請求階段、與根據(jù)受理的訪問請求而在所述共有存儲器與主單元之間經(jīng)所述總線進行數(shù)據(jù)傳送 的傳送階段;識別信息保持部,保持與最后受理的訪問請求且傳送階段未 完成的訪問請求相對應(yīng)的主單元的識別信息;和標記保持部,保持與所述 識別信息保持部中保持的識別信息所對應(yīng)的訪問信息的傳送階段完成之前 的期間的一部分或全部相當?shù)钠陂g有效的標記信息,其中, 所述總線控制方法,在所述識別信息保持部和所述標記保持部中,保存與最后受理的訪問 請求且傳送階段未完成的訪問請求相對應(yīng)的主單元的識別信息、和在與該 識別信息所對應(yīng)的訪問的請求傳送階段完成之前的期間的一部分或全部相 當?shù)钠陂g中變?yōu)橛行У臉擞浶畔?,當發(fā)行新的訪問請求時,在所述標記信息表示有效的情況下,判定發(fā) 行了該新的訪問請求的主單元的識別信息與所述識別信息保持部中保持的 識別信息是否一致,在判定為該識別信息不一致的情況和所述標記信息表示無效的情況 下,受理該新的訪問請求,在判定為該識別信息一致的情況下,將與發(fā)行了該新的訪問請求的主 單元相對應(yīng)的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。
22、 一種具備處理器系統(tǒng)的半導體裝置,其特征在于,具備 總線,連接于共有存儲器;多個主單元,發(fā)行用于訪問所述共有存儲器的訪問請求;和 總線接口部,以分離傳送方式執(zhí)行所述總線的訪問,該分離傳送方式 分離地執(zhí)行受理從所述多個主單元發(fā)行的訪問請求的請求階段、與根據(jù)受 理的訪問請求而在所述共有存儲器與主單元之間經(jīng)所述總線進行數(shù)據(jù)傳送 的傳送階段;在從1個主單元不空出規(guī)定期間地連續(xù)發(fā)行多個訪問請求的情況下, 所述總線接口部將對應(yīng)于該多個訪問請求的傳送階段的連續(xù)執(zhí)行次數(shù)限制 為最多N次,所述規(guī)定期間是與從受理了之前剛發(fā)行的訪問請求時起、至該訪問請 求的傳送階段完成為止的期間的一部分或全部相當?shù)钠陂g。
全文摘要
提供多處理器系統(tǒng)、總線控制方法和半導體裝置,在訪問共有存儲器的多個主單元之間均等地分配對共有存儲器的訪問性能,且構(gòu)成簡單,其具備發(fā)行用于訪問共有存儲器的訪問請求的多個主單元(PU0、PU1);和分離傳送型總線IF部(4-10),分離地執(zhí)行受理所述訪問請求的請求階段、與根據(jù)受理的訪問請求進行數(shù)據(jù)傳送的傳送階段;其中,所述總線IF部(4-10)在從1個主單元不空出規(guī)定期間地連續(xù)發(fā)行多個訪問請求的情況下,將對應(yīng)于該多個訪問請求的傳送階段的連續(xù)執(zhí)行次數(shù)限制為最多N次。
文檔編號G06F15/167GK101324870SQ200810095938
公開日2008年12月17日 申請日期2008年4月25日 優(yōu)先權(quán)日2007年4月27日
發(fā)明者中西龍?zhí)? 山崎雅之, 山本崇夫, 檜垣信生, 藏田和司, 金子圭介 申請人:松下電器產(chǎn)業(yè)株式會社