專利名稱:多線程處理器和數(shù)字電視系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多線程處理器和數(shù)字電視系統(tǒng),特別涉及同時執(zhí)行多個線程的多線程處理器。
背景技術(shù):
近些年隨著數(shù)字技術(shù)、運動圖像以及聲音的壓縮擴展技術(shù)的急速進展,被搭載于數(shù)字電視、數(shù)字錄像機(DVD記錄器等)、便攜式電話、以及影像聲音設(shè)備(攝像機等)的處理器被要求具有更高的性能。例如,作為實現(xiàn)高性能化的處理器有周知的多線程處理器(例如,參照專利文獻 1)。該多線程處理器通過同時執(zhí)行多個線程,來提高處理效率。并且,多線程處理器在多個線程的執(zhí)行過程中,由于能夠共享資源,因此與將多個處理器獨立設(shè)置相比,能夠提高處理器的面積優(yōu)化(area-efficient)。另外,在這樣的處理器中所進行的處理有沒有被要求實時性的與控制相關(guān)的主處理、和被要求了實時性的運動圖像的壓縮與擴展處理等媒體處理。例如,專利文獻2所記載的影像聲音處理用集成電路包括進行主處理的微電腦塊以及進行媒體處理的媒體處理塊。(現(xiàn)有技術(shù)文獻)專利文獻專利文獻1日本特開2006-302^1號公報專利文獻2國際公開第2005/096168號
發(fā)明內(nèi)容
發(fā)明要解決的課題但是,在專利文獻1所記載的多線程處理器中,多個線程同時共用資源,所以,存在由于競爭而無法保證性能且穩(wěn)定性降低的課題。具體而言,在媒體處理中使用的資源、例如存儲在高速緩沖存儲器中的數(shù)據(jù)由于主機處理而消去,由此,媒體處理需要再次高速緩沖該數(shù)據(jù)。由此,難以保證媒體處理的性能。并且,在專利文獻1的多線程處理器中,在設(shè)計時也需要對另一個處理的影響進行控制,所以,與專利文獻2所記載的影像聲音處理用集成電路那樣具有微機塊和媒體處理塊的情況相比,設(shè)計復雜。進而,產(chǎn)生沒有預(yù)期的誤動作的可能性增加,由此,系統(tǒng)的穩(wěn)定性降低。另一方面,在專利文獻2所記載的影像聲音處理用集成電路中,單獨設(shè)置進行主機處理的微機塊和進行媒體處理的媒體處理塊,所以,能夠保證上述性能且減少穩(wěn)定性的降低。但是,在專利文獻2所記載的影像聲音處理用集成電路中,單獨設(shè)置進行主機處理的微機塊和進行媒體處理的媒體處理塊,所以,無法高效地進行資源共用。由此,專利文獻2 的影像聲音處理用集成電路具有處理器的面積效率差這樣的課題。
因此,本發(fā)明的目的在于,提供能夠提高面積效率、并且能夠保證性能且提高穩(wěn)定性的多線程處理器。用于解決課題的手段為了實現(xiàn)上述目的,本發(fā)明的多線程處理器同時執(zhí)行多個線程,其中,該多線程處理器具有多個資源,在執(zhí)行所述多個線程時使用;保持單元,保持標簽信息,該標簽信息表示所述多個線程中的每一個線程是屬于主機處理的線程還是屬于媒體處理的線程;分割單元,將所述多個資源分割成與屬于所述主機處理的線程對應(yīng)的第1資源和與屬于所述媒體處理的線程對應(yīng)的第2資源;分配單元,參照所述標簽信息,對屬于所述主機處理的線程分配所述第1資源,對屬于所述媒體處理的線程分配所述第2資源;以及執(zhí)行單元,使用由所述分配單元分配的所述第1資源執(zhí)行屬于所述主機處理的線程,使用由所述分配單元分配的所述第2資源執(zhí)行屬于所述媒體處理的線程。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器通過在主機處理和媒體處理中共用資源,能夠提高面積效率。進而,本發(fā)明的多線程處理器能夠?qū)χ鳈C處理和媒體處理分配分別獨立的資源。由此,在主機處理和媒體處理之間不產(chǎn)生資源的競爭,所以,本發(fā)明的多線程處理器能夠保證性能且提高穩(wěn)定性。并且,也可以是,所述執(zhí)行單元執(zhí)行對屬于所述主機處理的線程進行控制的第1 操作系統(tǒng)、對屬于所述媒體處理的線程進行控制的第2操作系統(tǒng)、以及對所述第1操作系統(tǒng)和所述第2操作系統(tǒng)進行控制的第3操作系統(tǒng),通過所述第3操作系統(tǒng)進行所述分割單元的所述分割。并且,也可以是,所述資源包含具有多個路的高速緩沖存儲器,所述分割單元將所述多個路分割成與屬于所述主機處理的線程對應(yīng)的第1路和與屬于所述媒體處理的線程對應(yīng)的第2路,所述高速緩沖存儲器參照所述標簽信息,在所述第1路中高速緩沖屬于所述主機處理的線程的數(shù)據(jù),在所述第2路中高速緩沖屬于所述媒體處理的線程的數(shù)據(jù)。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器在主機處理和媒體處理中共用高速緩沖存儲器,并且,能夠?qū)χ鳈C處理和媒體處理分配分別獨立的高速緩沖存儲器的區(qū)域。并且,也可以是,所述多線程處理器使用存儲器執(zhí)行所述多個線程,所述資源包含具有多個條目的TLB (Translation Lookaside Buffer/旁路轉(zhuǎn)換緩沖),所述多個條目分別表示所述存儲器的邏輯地址與物理地址的對應(yīng)關(guān)系,所述分割單元將所述多個條目分割成與屬于所述主機處理的線程對應(yīng)的第1條目和與屬于所述媒體處理的線程對應(yīng)的第2條目,所述TLB參照所述標簽信息,對屬于所述主機處理的線程使用所述第1條目,對屬于所述媒體處理的線程使用所述第2條目。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器在主機處理和媒體處理中共用TLB,并且,能夠?qū)χ鳈C處理和媒體處理分配分別獨立的TLB的條目。并且,也可以是,所述各條目還包含所述標簽信息,針對所述邏輯地址和所述標簽信息的組,對應(yīng)一個物理地址。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器能夠?qū)χ鳈C處理和媒體處理分配分別獨立的邏輯地址空間。并且,也可以是,所述多線程處理器使用存儲器執(zhí)行所述多個線程,所述資源包含所述存儲器的物理地址空間,所述分割單元將所述存儲器的物理地址空間分割成與屬于所述主機處理的線程對應(yīng)的第1物理地址范圍和與屬于所述媒體處理的線程對應(yīng)的第2物理地址范圍。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器能夠?qū)χ鳈C處理和媒體處理分配分別獨立的物理地址空間。并且,也可以是,所述多線程處理器還具有物理地址管理單元,該物理地址管理單元在所述第1物理地址范圍中存在來自屬于所述媒體處理的線程的訪問的情況下、以及在所述第2物理地址范圍中存在來自屬于所述主機處理的線程的訪問的情況下發(fā)生中斷。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器在主機處理和媒體處理的線程要相互針對另一個處理的線程所使用的存儲器區(qū)域進行訪問的情況下發(fā)生中斷。由此,本發(fā)明的多線程處理器能夠提高系統(tǒng)的穩(wěn)定性。并且,也可以是,所述多線程處理器使用存儲器執(zhí)行所述多個線程,所述多線程處理器還具有存儲器接口單元,該存儲器接口單元根據(jù)來自屬于所述主機處理的線程和屬于所述媒體處理的線程的請求,針對所述存儲器進行訪問,所述資源是所述存儲器與存儲器接口單元之間的總線帶寬,所述分割單元將所述總線帶寬分割成與屬于所述主機處理的線程對應(yīng)的第1總線帶寬和與屬于所述媒體處理的線程對應(yīng)的第2總線帶寬,所述存儲器接口單元參照所述標簽信息,在從屬于所述主機處理的線程請求針對所述存儲器的訪問的情況下,使用所述第1總線帶寬進行針對所述存儲器的訪問,在從屬于所述媒體處理的線程請求針對所述存儲器的訪問的情況下,使用所述第2總線帶寬進行針對所述存儲器的訪問。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器能夠?qū)χ鳈C處理和媒體處理分配分別獨立的總線帶寬。由此,本發(fā)明的多線程處理器能夠保證主機處理和媒體處理各自的性能并保證實時性。并且,也可以是,所述資源包含多個FPU (Floating Point number processing Unit/浮點處理單元),所述分割單元將所述多個FPU分割成與屬于所述主機處理的線程對應(yīng)的第IFPU和與屬于所述媒體處理的線程對應(yīng)的第2FPU。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器在主機處理和媒體處理中共用FPU,并且,能夠?qū)χ鳈C處理和媒體處理分配分別獨立的FPU。并且,也可以是,所述分割單元與中斷要因?qū)?yīng)地設(shè)定所述多個線程中的任意一方,所述多線程處理器還具有中斷控制部,在發(fā)生了中斷要因時,該中斷控制部向由所述分割單元設(shè)定的與該中斷要因?qū)?yīng)的線程發(fā)送中斷。根據(jù)該結(jié)構(gòu),本發(fā)明的多線程處理器能夠在主機處理和媒體處理中進行分別獨立的中斷控制。并且,也可以是,所述主機處理進行系統(tǒng)的控制,所述媒體處理進行影像的壓縮或擴展。另外,本發(fā)明不僅能夠作為這種多線程處理器來實現(xiàn),還能夠作為將多線程處理器中包含的特征性單元作為步驟的多線程處理器的控制方法來實現(xiàn),并且,還能夠作為使計算機執(zhí)行這種特征性步驟的程序來實現(xiàn)。而且,這種程序當然能夠經(jīng)由⑶-ROM等記錄介質(zhì)和因特網(wǎng)等傳送介質(zhì)來流通。進而,本發(fā)明能夠作為實現(xiàn)這種多線程處理器的功能的一部分或全部的半導體集成電路(LSI)來實現(xiàn),并且,能夠作為具有這種多線程處理器的數(shù)字電視系統(tǒng)、DVD錄像機、 數(shù)碼相機和便攜電話設(shè)備來實現(xiàn)。發(fā)明效果如上所述,本發(fā)明能夠提供能夠提高面積效率、并且能夠保證性能且提高穩(wěn)定性的多線程處理器。
圖1是本發(fā)明的實施例所涉及的處理器系統(tǒng)的構(gòu)成的方框圖。圖2是本發(fā)明的實施例所涉及的處理器塊的構(gòu)成的方框圖。圖3示出了本發(fā)明實施例所涉及的上下文的構(gòu)成。圖4示出了本發(fā)明實施例所涉及的邏輯地址空間的管理。圖5是示出本發(fā)明的實施方式的PSR的結(jié)構(gòu)的圖。圖6示出了本發(fā)明的實施例所涉及的地址管理表的構(gòu)成。圖7示出了本發(fā)明的實施例中的邏輯地址的對應(yīng)關(guān)系。圖8示出了本發(fā)明的實施例所涉及的條目指定寄存器的構(gòu)成。圖9示出了本發(fā)明的實施例所涉及的TLB (旁路轉(zhuǎn)換緩沖)所進行的條目的分配處理。圖10是本發(fā)明的實施例所涉及的TLB所進行的處理的流程圖。圖11示出了本發(fā)明的實施例所涉及的物理保護寄存器的構(gòu)成。圖12示出了在本發(fā)明的實施例中,由PVID保護的物理地址空間。圖13示出了本發(fā)明的實施例所涉及的保護違反寄存器的構(gòu)成。圖14示出了本發(fā)明的實施例所涉及的錯誤地址寄存器的構(gòu)成。圖15示出了本發(fā)明的實施例所涉及的FPU分配寄存器的構(gòu)成。圖16示出了本發(fā)明的實施例所涉及的FPU分配部所進行的FPU的分配處理。圖17A示出了本發(fā)明的實施例所涉及的路(way)指定寄存器的構(gòu)成。圖17B示出了本發(fā)明的實施例所涉及的路指定寄存器的構(gòu)成。圖18在模式上示出了本發(fā)明的實施例所涉及的高速緩沖存儲器所進行的路 (way)的分配處理。圖19是本發(fā)明的實施例所涉及高速緩沖存儲器所進行的處理的流程圖。圖20示出了本發(fā)明的實施例所涉及的中斷控制寄存器的構(gòu)成。圖21示出了本發(fā)明的實施例所涉及的處理器系統(tǒng)中的存儲器存取管理。圖22示出了本發(fā)明的實施例所涉及的存儲器IF塊所進行的總線帶寬的分配。圖23是本發(fā)明的實施例所涉及的處理器系統(tǒng)中的資源分割處理的流程圖。
具體實施例方式下面,參照附圖詳細說明本發(fā)明的處理器系統(tǒng)的實施方式。本實施例所涉及的處理器系統(tǒng)包括單一的處理器塊,該單一的處理器塊共享資源,進行主處理和媒體處理。處理器塊具有與實施例1的處理器裝置相同的功能,并且,由單一的處理器裝置進行,該單一的處理器裝置共享資源,進行主處理和媒體處理。本發(fā)明的實施例所涉及的處理器系統(tǒng)在針對主處理的線程和媒體處理的線程給予不同的標簽信息的同時,將處理器系統(tǒng)所具有的資源與該標簽信息對應(yīng)起來分割。據(jù)此,本發(fā)明的實施例所涉及的處理器系統(tǒng)不僅能夠提高面積優(yōu)化,而且能夠保證性能以及提高堅固性。首先,對本發(fā)明的實施例所涉及的處理器系統(tǒng)的構(gòu)成進行說明。圖1是示出實施例2所涉及的處理器系統(tǒng)10的基本構(gòu)成的功能方框圖。該處理器系統(tǒng)10是進行與影像聲音流有關(guān)的各種信號處理的系統(tǒng)LSI,利用外部存儲器15來執(zhí)行多個線程。例如,處理器系統(tǒng)10被搭載于數(shù)字電視系統(tǒng)、DVD記錄器、數(shù)字相機以及便攜式電話等。該處理器系統(tǒng)10包括處理器塊11、流1/0(輸入/輸出)塊 12、AVIO(Audio Visual Input Output 音頻視頻輸入輸出)塊13、以及存儲器IF(接口) 塊14。處理器塊11是控制整個處理器系統(tǒng)10的處理器,通過控制總線16來控制流I/O 塊12、AVIO塊13、以及存儲器IF塊14,并通過數(shù)據(jù)總線17以及存儲器IF塊14來針對外部存儲器15進行存取。并且,處理器塊11是一電路塊,通過數(shù)據(jù)總線17以及存儲器IF塊 14,從外部存儲器15讀出壓縮圖像聲音流等圖像聲音數(shù)據(jù),在進行了壓縮或擴展等媒體處理之后,再次通過數(shù)據(jù)總線17以及存儲器IF塊14,將處理后的圖像數(shù)據(jù)或聲音數(shù)據(jù)存儲到外部存儲器15。S卩,處理器塊11進行主處理和媒體處理,所述主處理是指,不依存于影像聲音的輸出周期(幀率等)的非實時的通用(與控制相關(guān)聯(lián)的)處理,所述媒體處理是指,依存于影像聲音的輸出周期的實時的通用(與媒體相關(guān)聯(lián)的)處理。例如,處理器系統(tǒng)10搭載于數(shù)字電視系統(tǒng)的情況下,主處理進行該數(shù)字電視系統(tǒng)的控制,媒體處理進行數(shù)字影像的擴展。流I/O塊12是一電路塊,在由處理器塊11所進行的控制下,從蓄積媒體以及網(wǎng)絡(luò)等周邊設(shè)備中,讀取壓縮圖像聲音流等流數(shù)據(jù),通過數(shù)據(jù)總線18以及存儲器IF塊14,存儲到外部存儲器15,或進行相反方向的流傳送。這樣,流I/O塊12進行不依存于影像聲音的輸出周期的非實時的IO處理。AVIO塊13是一電路塊,在由處理器塊11所進行的控制下,通過數(shù)據(jù)總線19以及存儲器IF塊14從外部存儲器15中讀出圖像數(shù)據(jù)以及聲音數(shù)據(jù)等,在施行了各種圖形處理等之后,作為圖像信號以及聲音信號輸出到外部的顯示裝置以及揚聲器等,或進行相反方向的數(shù)據(jù)傳送。這樣,AVIO塊13進行依存于影像聲音的輸出周期的實時的10(輸入輸出)處理。存儲器IF塊14是一電路塊,在由處理器塊11所進行的控制下,進行控制,以使得在處理器塊11、流I/O塊12、AVIO塊13、以及存儲器IF塊14和外部存儲器15之間,并行地進行數(shù)據(jù)請求。并且,存儲器IF塊14按照來自處理器塊11的請求,在確保處理器塊11、 流I/O塊12、AVI0塊13、以及存儲器IF塊14和外部存儲器15之間的傳輸頻帶的狀態(tài)下, 保證等待時間。接著,對處理器塊11的詳細構(gòu)成進行說明。圖2是示出處理器塊11的構(gòu)成的功能方框圖。該處理器塊11包括執(zhí)行部101、VMPC (虛擬多處理器控制部)102、 TLB (Translation Lookaside Buffer :旁路轉(zhuǎn)換緩沖)104、物理地址管理部 105、FPU (Floating Point number processing Unit :浮點處理單元)107、FPU 分配部 108、高速緩沖存儲器109、B⑶110、以及中斷控制部111。在此,處理器塊11作為虛擬多處理器(VMP :Virtual Multi ftOcessor)發(fā)揮作用。虛擬多處理器一般是指指令并行處理器的一種,其將多個邏輯處理器(LP=Logical Processor)的功能以時間分割來表現(xiàn)。在此,一個LP實質(zhì)上與被設(shè)定在物理處理器(PP Physical Processor)的寄存器群的一個上下文相對應(yīng)。通過管理分配到各個LP的時間單位(時隙Time Slot)的頻度,從而能夠保證由各個LP執(zhí)行的應(yīng)用程序間的負載平衡。另外,至于VMP的構(gòu)成以及工作,其中具有代表性的一個例子已經(jīng)由日本特開2003-271399號公報(專利文獻3)詳細公開,因此在此省略詳細說明。并且,處理器塊11作為多線程流水線型處理器(多線程處理器)發(fā)揮作用。多線程流水線型處理器通過同時處理多個線程,并且為了不使執(zhí)行流水線空閑而處理多個線程,從而能夠提高處理效率。另外,至于多線程流水線型處理器的構(gòu)成以及工作,作為一個代表例子由于已經(jīng)由日本特開2008-123045號公報(專利文獻4)詳細公開,因此在此省略詳細說明。執(zhí)行部101同時執(zhí)行多個線程。該執(zhí)行部101包括多個物理處理器121、運算控制部122、以及運算部123。多個物理處理器121分別包括寄存器。每個寄存器保持一個以上的上下文124。 在此,上下文IM是指,與多個線程(LP)的每一個對應(yīng),為了執(zhí)行對應(yīng)的線程而所需的控制信息以及數(shù)據(jù)信息等。各個物理處理器121取線程(程序)中的指令并譯碼,將譯碼結(jié)果發(fā)行到運算控制部122。運算部123具有多個運算器,同時執(zhí)行多個線程。運算控制部122進行多線程流水線型處理器中的流水線控制。具體而言,運算控制部122為了不使執(zhí)行流水線空閑,而將多個線程分配給具有運算部123的運算器之后執(zhí)行。VMPC102控制虛擬多線程處理。該VMPC102包括排程器126、上下文存儲器127、 以及上下文控制部128。排程器1 是硬件排程器,按照多個線程的優(yōu)先級,進行決定多個線程的執(zhí)行順序以及執(zhí)行線程的PP的調(diào)度。具體而言,排程器1 通過將LP分配到PP或取消該分配, 來切換執(zhí)行部101所執(zhí)行的線程。上下文存儲器127記憶分別與多個LP對應(yīng)的多個上下文124。另外,該上下文存儲器127或多個物理處理器121所具備的寄存器相當于本發(fā)明的保持單元。上下文控制部1 進行所謂的上下文的恢復以及保存。具體而言,上下文控制部 128將執(zhí)行結(jié)束了的物理處理器121所保持的上下文IM寫入到上下文存儲器127。并且, 上下文控制部1 從上下文存儲器127中讀出今后將要執(zhí)行的線程的上下文124,并將讀出的上下文1 轉(zhuǎn)送到與該線程相對應(yīng)的LP所指派的物理處理器121。圖3是示出一個上下文124的構(gòu)成的圖。并且,圖9中沒有示出用于執(zhí)行線程的所需的通常的控制信息以及通常的數(shù)據(jù)信息等,僅示出了新被附加到上下文1 的信息。如圖3所示,上下文IM包括TVID (TLB存取虛擬標識符)140、PVID (物理存儲器保護虛擬標識符)141、以及MVID (存儲器存取虛擬標識符)142。
該TVID140、PVID141以及MVID142是表示,多個線程(LP)的每一個是屬于主處理的線程還是屬于媒體處理的線程的標簽信息。TVID140用于設(shè)定多個虛擬存儲器保護組。例如,對主處理的線程和媒體處理的線程分別賦予不同的TVID140。執(zhí)行部101利用此TVID140,能夠制作分別獨立的邏輯地址空
間的頁面管理信息。PVID141用于限制物理存儲器區(qū)域的存取。MVID142用于設(shè)定向存儲器IF塊14的存取方式。存儲器IF塊14利用此MVID142 來決定是優(yōu)先等待時間(重視響應(yīng)度),還是優(yōu)先總線帶寬(保證性能)。圖4在模式上示出了處理器系統(tǒng)10中的邏輯地址空間的管理。如圖4所示,處理器系統(tǒng)10由用戶級、管理程序級以及虛擬監(jiān)視器級這三個層次來控制。并且,這些層次被設(shè)定為圖5所示的PSR139 (Processor Status Register 處理器狀態(tài)寄存器)中包含的PL143(特權(quán)級)的值。另外,該PSR139是處理器塊11所具有的寄存器。用戶級是進行每個線程(LP)的控制的層次。管理程序級是與進行多個線程的控制的操作系統(tǒng)(OS)相對應(yīng)的層次。例如,圖4所示的管理程序級中包括作為主處理的OS 的Linux內(nèi)核程序,和作為媒體處理的OS的系統(tǒng)管理(System Manager)。虛擬監(jiān)視器級是控制管理程序級的多個OS。具體而言,由虛擬監(jiān)視器級的OS (監(jiān)視器程序)來進行利用了 TVID140的邏輯地址空間的區(qū)分。即,處理器系統(tǒng)10為了不使多個OS所使用的邏輯地址空間相互干擾,而管理邏輯地址空間。例如,各個上下文的 TVID140.PVID141以及MVID142使設(shè)定只能在虛擬監(jiān)視器級進行。并且,虛擬監(jiān)視器級的OS是本發(fā)明的分離單元,將處理器系統(tǒng)10所具有的多個資源分割為,與屬于主處理的線程相對應(yīng)的第一資源和與屬于媒體處理的線程相對應(yīng)的第二資源。在此,資源具體是指,外部存儲器15的存儲器區(qū)域(邏輯地址空間以及物理地址空間)、高速緩沖存儲器109的存儲區(qū)域、TLB104的存儲區(qū)域以及FPU107。這樣,通過在虛擬監(jiān)視器級分割資源,從而設(shè)計者能夠以與由處理器獨立地執(zhí)行主處理和媒體處理相同的情況,來設(shè)計主處理以及媒體處理的OS。TLB104是一種高速緩沖存儲器,保持地址變換表130,該地址變換表130是示出邏輯地址與物理地址的對應(yīng)關(guān)系的頁表的一部分。該TLB104利用地址變換表130,進行邏輯地址與物理地址之間的變換。圖6示出了地址變換表130的構(gòu)成。如圖6所示,地址轉(zhuǎn)換表130包含多個條目150。各條目150包含用于識別邏輯地址的TLB標簽部151和與該TLB標簽部151對應(yīng)的TLB數(shù)據(jù)部152。TLB標簽部151包含 VPN153、TVID140、PID154、全局位 157。TLB 數(shù)據(jù)部 152 包含 PPm55 和 Attributel56。VPN153是用戶級的邏輯地址,具體而言是邏輯地址空間的頁編號。PID154是用于識別使用了該數(shù)據(jù)的處理的ID。PPN155是與該TLB標簽151相對應(yīng)的物理地址,具體而言是物理地址空間的頁編號。Attributel56示出了與該TLB標簽部151相對應(yīng)的數(shù)據(jù)的屬性。具體而言, Attributel56示出了 是否能夠針對該數(shù)據(jù)進行存取、是將該數(shù)據(jù)存儲到高速緩沖存儲器109還是不存儲、以及該數(shù)據(jù)是否具有特權(quán)等。這樣,除了邏輯地址以外,TLB標簽部151還包含過程識別符(PID154)。在處理器系統(tǒng)10中,使用該PID154,按照每個過程區(qū)分使用多個邏輯地址空間。并且,通過同樣在TLB標簽部151中包含的全局位157來抑制PIDlM的比較動作。由此,在處理器系統(tǒng)10 中,實現(xiàn)過程共通的地址轉(zhuǎn)換。即,僅在各過程中設(shè)定的PID與TLB標簽部151的PIDlM 一致的情況下,通過該TLB條目150進行地址轉(zhuǎn)換。并且,在TLB標簽部151中設(shè)定了全局位157的情況下,該PIDlM的比較被抑制,進行全部過程共通的地址轉(zhuǎn)換。這里,TLB標簽部151的TVID140指定各LP屬于哪個虛擬空間。由此,屬于多個 OS的多個LP組分別具有特定的TVID140,由此,多個OS不相互依賴,能夠使用由PID和邏輯地址構(gòu)成的全部虛擬地址空間。并且,通過這樣構(gòu)成為使各LP具有表示分割的ID,能夠使多個LP與多個資源相對應(yīng)。由此,能夠靈活地設(shè)計系統(tǒng)全體的LP屬于哪個子系統(tǒng)等的結(jié)構(gòu)。另外,通過全局位157來抑制PIDlM的比較動作,但是,不通過全局位157抑制 TVID140指定各LP屬于哪個虛擬空間的功能。并且,TLB104對多個線程(LP)所使用的邏輯地址空間進行管理。圖7在模式上示出了處理器系統(tǒng)10中的邏輯地址的對應(yīng)關(guān)系。如以上所述, TLB104針對每個處理的邏輯地址(VPm5;3)和PIDlM以及TVID140的組,使一個物理地址 (PPN155)與其對應(yīng)。這樣,在具有相同TVID的LP上的管理程序級中,通過將一個物理地址與每個處理的邏輯地址(VPm5;3)和PIDlM組成的組相對應(yīng),從而能夠在管理程序級中,在區(qū)分了各個處理的邏輯地址的基礎(chǔ)上,使該邏輯地址與物理地址相對應(yīng)。在此,在TLB104的更新時,被更新的條目TVID由被設(shè)定到進行更新的LP的TVID 來設(shè)定。并且,TLB104針對將TVID140附加到每個處理的邏輯地址(VPm5;3)和PIDlM的組,使一個物理地址(PPNlM)與其對應(yīng)。據(jù)此,TLB104在虛擬監(jiān)視器級中,通過對主處理和媒體處理分別設(shè)定不同的TVID,從而能夠給予獨立地邏輯地址空間。并且,該TLB104具備條目指定寄存器135。條目指定寄存器135保持用于指定分配給TVID140的條目150的信息。圖8示出了條目指定寄存器135中所存儲的數(shù)據(jù)的一個例子。如圖8所示,條目指定寄存器135保持TVID140與條目150的對應(yīng)關(guān)系。并且,條目指定寄存器135由虛擬監(jiān)視器級的OS (監(jiān)視器程序)設(shè)定并被更新。TLB104利用被設(shè)定在條目指定寄存器135的信息,按照各個TVID140來決定使用的條目150。具體而言,TLB104在TLB失敗(TLB miss)(從LP輸入的邏輯地址(TLB標簽部151)沒有被保持在地址變換表130中)的情況下,置換與該LP的TVID140相對應(yīng)的條目150的數(shù)據(jù)。圖9在模式上示出了在TLB104的條目150的分配狀態(tài)。如圖9所示,多個條目150由多個LP共享。并且,TLB104利用TVID140,與具有相同的TVID140的LP之間共享條目150。例如,在具有TVIDO的LPO中被分配有條目0-條目 2,在具有TVIDl的LPl以及LP2中被分配有條目3-條目7。據(jù)此,TLB104能夠針對屬于主處理的線程使用條目0-條目2,針對屬于媒體處理的線程使用條目3-條目7。
另外,也可以根據(jù)具有TVIDO的LP0、具有TVIDl的LPl和LP2的雙方來設(shè)定可更新的條目150。圖10是示出TLB104所進行的處理的流程的流程圖。如圖10所示,在發(fā)生從LP向外部存儲器15的存取的情況下,首先,TLB104判斷是否存儲了與從進行存取的LP輸入的邏輯地址(VPW53、TVID140以及PID154)相同的邏輯地址(SlOl)。在沒有存儲的情況下,即TLB失敗的情況下(S101的“是”),TLB104更新被分配在進行存取的LP的TVID140的條目150。換而言之,TLB104更新進行存取的LP的TVID140 和同一個TVID140的條目150(S102)。具體而言,TLB104從被存儲在外部存儲器15等的頁表中,讀出TLB失敗后的邏輯地址與物理地址的對應(yīng)關(guān)系,并將讀出的對應(yīng)關(guān)系存儲到被分配在進行存取的LPTVID140的條目150中。接著,TLB104利用更新的對應(yīng)關(guān)系,將邏輯地址變換為物理地址(S103)。另外,在步驟S101,在存儲了與從LP輸入的邏輯地址相同的邏輯地址的情況下, 即TLB命中的情況下(S101的“否”),TLB104利用TLB命中后的對應(yīng)關(guān)系,將邏輯地址變換為物理地址(S103)。在此,被存儲在外部存儲器15等的頁表是按照每個TVID140或每個PVID141而被事先制作的,以便分配外部存儲器15的物理地址。該頁表例如由管理程序級或虛擬監(jiān)視器級OS制作以及更新。另外,這里,通過所謂的全相聯(lián)映射方式的TLB104進行虛擬地址空間的分割,全相聯(lián)映射方式是指TVID140包含在TLB標簽部151中,通過與各LP所具有的TVID140進行比較來進行地址轉(zhuǎn)換,但是,例如,即使是利用基于TVID140的哈希值指定TLB的條目150 來進行比較等的所謂的組相聯(lián)映射方式的TLB、或者按照TVID140的每個值具有各個TLB等的方法,也能夠通過TVID140分割虛擬地址空間。物理地址管理部105利用PVID141來進行物理地址空間的地址保護。該物理地址管理部105包括多個物理存儲器保護寄存器131、保護違反寄存器132、錯誤地址寄存器 133。各個物理存儲器保護寄存器131按照各個物理地址范圍,保持示出能夠針對該物理地址范圍進行存取的LP的信息。圖11示出了被保持在一個物理存儲器保護寄存器131中的信息的構(gòu)成。如圖11所示,物理存儲器保護寄存器所保持的信息中包含BASEADDR161、PS162、PN163、 PVID0WE-PVID3WE164,PVID0RE-PVID3ffE165oBASEADDR161、PS162、以及PN163是指定物理地址范圍的信息。具體而言, BASEADDR161是指定的物理地址范圍的開頭的地址的上位16位。PS162表示頁面大小。例如,作為頁面大小被設(shè)定有1KB、64KB、1MB或64MB。PW63示出被設(shè)定到PS162的頁面大小的頁面數(shù)。PVID0WE-PVID3WE164 以及 PVID0RE-PVID3RE165 示出,能夠在以 BASEADDR161、 PS162以及PW63指定的物理地址范圍內(nèi)進行存取的LP的PVID141。具體而言,PVID0WE-PVID3WE164分別按照PVID141設(shè)置1位。并且, PVID0TO-PVID3TO164示出,被賦予了對應(yīng)的PVID141的LP能否將數(shù)據(jù)寫入到被指定的物理地址范圍。PVID0RE-PVID3RE165 分別按照每個PVID141 設(shè)置 1 位。并且,PVID0RE-PVID3RE165 示出,被賦予了對應(yīng)的PVID141的LP能否讀出被指定的物理地址范圍的數(shù)據(jù)。并且,在此雖然是4種PVID141被賦予在多個LP,不過只要是2種以上的PVID141 被賦予在多個LP即可。圖12示出了由PVID141保護的物理地址空間的一個例子。并且,在此,物理地址管理部105具有4個物理存儲器保護寄存器131 (PMG0PR-PMG3PR)。并且,PVIDO被賦予在 Linux (主處理)的LP群,PVIDl被賦予在媒體處理的LP中的圖像處理的LP群,PVID2被賦予在媒體處理的LP中的聲音處理的LP群,PVID3被賦予在System Manager (系統(tǒng)信息管理,媒體處理的OS)的LP群。并且,物理地址管理部105,在LP對沒有被該LP的PVID141許可的物理地址進行了存取的情況下,在發(fā)生例外中斷的同時,將發(fā)生了錯誤的存取信息寫入到保護違反寄存器132,并且,將成為錯誤的原因的存取的被存取的物理地址寫入到錯誤地址寄存器133。圖13示出了保護違反寄存器132中所保持的存取信息的構(gòu)成。如圖13所示,保護違反寄存器132中所保持的存取信息包括PVERR167和PVID141。PVERR167示出,該錯誤是否為物理存儲器空間保護違反(LP對沒有被該LP的PVID141許可的物理地址進行存取的錯誤)。PVID141被設(shè)定有發(fā)生了物理存儲器空間保護違反的PVID141。圖14示出了錯誤地址寄存器133中所保持的信息的構(gòu)成。如圖11所示,錯誤地址寄存器133保持成為錯誤原因的存取的被存取的物理地址(BEA[31:0])。如以上所述,通過利用PVID141保護物理地址,從而能夠提高系統(tǒng)的堅固性。具體而言,在錯誤排除時,設(shè)計者能夠容易地從發(fā)生了錯誤的物理地址以及PVID中,判別圖像處理以及聲音處理中的哪個處理發(fā)生了錯誤。并且,在主處理的錯誤排除時,對于在不能寫入圖像處理等地址發(fā)生的誤工作,能夠毫不遲疑地對圖像處理的誤工作進行錯誤排除。FPU分配部108將多個FPU107分配給LP。該FPU分配部108具備FPU分配寄存器 137。圖15示出了 FPU分配寄存器137中所存儲的數(shù)據(jù)的一個數(shù)據(jù)的例子。如圖15所示,按照每個TVID140FPU107對應(yīng)于FPU分配寄存器137。并且,F(xiàn)PU分配寄存器137由虛擬監(jiān)視器級的OS(監(jiān)視器程序)來設(shè)定以及更新。圖16在模式上示出了由FPU分配部108進行的FPU107的分配處理。如圖16所示,多個FPU107由多個LP共享。并且,F(xiàn)PU分配部108利用TVID140,在具有相同TVID140的LP之間共享FPU107。例如,F(xiàn)PU分配部108將FPUO分配給具有TVIDO 的LPOdf FPUl分配給具有TVIDl的LPl以及LP2。并且,LP利用由FPU分配部108分配的FPU107來執(zhí)行線程。高速緩沖存儲器109是對在處理器塊11所使用的數(shù)據(jù)進行暫時存儲的存儲器。 并且,高速緩沖存儲器109針對具有不同的TVID140的LP,使用獨立的不同的數(shù)據(jù)區(qū)域 (Way 168 路168)。該高速緩沖存儲器109具有路指定寄存器136。圖17A以及圖17B示出了路指定寄存器136中所存儲的數(shù)據(jù)的一個例子。如圖17A所示,按照每個TVID140,路168對應(yīng)于路指定寄存器136。并且,路指定寄存器136由虛擬監(jiān)視器級的OS(監(jiān)視器程序)設(shè)定以及更新。
并且,如圖17B所示,也可以按照每個LP來與路168對應(yīng)。在這種情況下,例如上下文124內(nèi)包含該LP所使用的路的信息,虛擬監(jiān)視器級的OS或管理程序級的OS參考上下文124,設(shè)定并更新路指定寄存器136。圖18在模式上示出了由高速緩沖存儲器109進行的路168的分配處理。如圖18所示,高速緩沖存儲器109具有多個路168(WayO-Way7),以作為數(shù)據(jù)存儲單位。該高速緩沖存儲器109利用TVID140,在具有相同TVID140的LP之間共享路168。 例如,在具有TVIDO的LPO被分配有wayO-wayl,具有TVIDl的LPl以及LP2被分配有 Way2-Way7。據(jù)此,高速緩沖存儲器109將屬于主處理的線程的數(shù)據(jù)高速緩存到wayO-wayl, 將屬于媒體處理的線程的數(shù)據(jù)高速緩存到way2-Way7。這樣,高速緩沖存儲器109能夠在具有不同的TVID140的LP之間,不相互驅(qū)逐高
速緩存數(shù)據(jù)。圖19是由高速緩沖存儲器進行的處理的流程的流程圖。如圖19所示,在由LP向外部存儲器15進行了存取的情況下,首先,高速緩沖存儲器109判斷是否存儲了與從進行存取的LP輸入的地址(物理地址)相同的地址(Slll)。在沒有存儲的情況下,即高速緩存失敗的情況下(S111的“是”),高速緩沖存儲器109將從進行存取的LP輸入的地址以及數(shù)據(jù),高速緩存到由路指定寄存器136指定的路 168(S112)。具體而言,在讀操作(read-access)的情況下,高速緩沖存儲器109從外部存儲器15等讀出數(shù)據(jù),并將讀出的數(shù)據(jù)存儲到由路指定寄存器136指定的路168。并且,在寫操作(write-access)的情況下,高速緩沖存儲器109將從進行存取的LP輸入的數(shù)據(jù)存儲到由路指定寄存器136指定的路168。另外,在步驟S111,在存儲了與從進行存取的LP輸入的地址相同的地址的情況下,即在高速緩存命中的情況下(S111的“否”),高速緩沖存儲器109將高速緩存命中的數(shù)據(jù)更新(寫操作時)或輸出到進行存取的LP (讀操作時)(S113)。B⑶110用于控制處理器塊11與存儲器IF塊14之間的數(shù)據(jù)傳送。中斷控制部111進行中斷的檢測、請求以及許可等。該中斷控制部111具備多個中斷控制寄存器134。例如,中斷控制部111具備1 個中斷控制寄存器134。中斷控制部 111參考中斷控制寄存器134,將發(fā)生了中斷之事通知給與發(fā)生了中斷的中斷因素對應(yīng)的線程(LP)。在中斷控制寄存器134中被設(shè)定有與中斷因素相對應(yīng)的將要被中斷的線程。圖20示出了一個中斷控制寄存器134的構(gòu)成。圖20所示的中斷控制寄存器134包括與中斷因素相對應(yīng)的、系統(tǒng)中斷171 (SYSINT)、LP標識符172 (LPID)、LP中斷173 (LPINT)、 冊事件 174 (HWEVT)。系統(tǒng)中斷171示出該中斷是否為系統(tǒng)中斷(全局中斷)。LP標識符172示出將要被中斷的LP。LP中斷173示出該中斷是否為LP中斷(局部中斷)。冊事件174示出是否由于該中斷因素而產(chǎn)生硬件事件。在系統(tǒng)中斷的情況下,中斷控制部111將發(fā)生了中斷之事通知給正在執(zhí)行當前線程的LP。并且,在LP中斷的情況下,中斷控制部111針對LP標識符所表示的LP進行中斷。 并且,在硬件事件的情況下,針對LP標識符172所表示的LP發(fā)送硬件事件。由該硬件事件而該LP被喚起。
并且,系統(tǒng)中斷171以及LP標識符172只有虛擬監(jiān)視器級的OS(監(jiān)視器程序)能夠改寫,LP中斷173以及HW事件174只有虛擬監(jiān)視器級以及管理程序級的OS能夠改寫。以下對處理器系統(tǒng)10內(nèi)的存儲器存取管理進行說明。圖21在模式上示出了處理器系統(tǒng)10中的存儲器存取管理的狀態(tài)。如圖21所示, MVID142從處理器塊11被發(fā)送到存儲器IF塊14。存儲器IF塊14利用該MVID142,按照每個MVID142,在對總線帶寬進行了分配的基礎(chǔ)上,利用被分配到請求存取一方的線程的 MVID142的總線帶寬,向外部存儲器15進行存取。并且,存儲器IF塊14具備總線帶寬指定寄存器138。圖22示出了存儲器IF塊14中的總線帶寬指定寄存器138所保持的數(shù)據(jù)的一個例子。另外,在圖22中,在作為主處理的Linux、媒體處理中所包含的聲音處理(Audio)、以及媒體處理中所包含的圖像處理(Video)中分別被賦予了不同的MVID142。如圖22所示,存儲器IF塊14按照每個MVID142來分配總線帶寬。并且,按照每個MVID142來決定優(yōu)先順序,根據(jù)該優(yōu)先順序來進行向外部存儲器15的存取。據(jù)此,在按照每個MVID142確保了所需的總線帶寬的同時,請求的存取等待時間也得到了保證。因此,處理器系統(tǒng)10能夠?qū)崿F(xiàn)多個應(yīng)用程序的性能保證以及實時性的保證。并且,通過利用MVID142來分割總線帶寬,從而即使在存儲器IF塊14與處理器塊 11僅通過一個數(shù)據(jù)總線17來連接的情況下,也能夠進行與通過多個數(shù)據(jù)總線來連接的存儲器IF塊14和處理器塊11的情況相同的控制。即,能夠進行與針對多個塊分割總線的情況相同的控制。并且,由于用于針對來自多個塊的存取請求,確??偩€帶寬以及保證等待時間的技術(shù),其中具有代表性的例子由日本特開2004-246862號公報(專利文獻5)詳細公開,因此在此省略詳細說明。并且,在處理器系統(tǒng)10,能夠利用TVID140以及以往的MVP的功能,來任意地設(shè)定媒體處理和主處理的處理時間的分配。具體而言,例如,通過虛擬監(jiān)視器級的0S,針對各個 TVID140的處理時間的分配(媒體處理和主處理的處理時間的分配)被設(shè)定到VMPC102所具備的寄存器(圖中未示出)。VMPC102參考像以上這樣被設(shè)定的處理時間的分配和各個線程的TVID140,來切換執(zhí)行部101所執(zhí)行的線程,以便滿足該處理時間的分配。接著,對虛擬監(jiān)視器級的OS(監(jiān)視器程序)所進行的資源分割處理進行說明。圖23是示出由監(jiān)視器程序進行的資源分割處理的流程的流程圖。首先,監(jiān)視器程序通過設(shè)定多個上下文124的TVID140、PVID141以及MVID142,從而將多個線程分割為多個組(S121、S122、S123)。接著,監(jiān)視器程序通過將TVID140與條目150的對應(yīng)關(guān)系設(shè)定到條目指定寄存器 135,從而將TLB104所具有的多個條目150分割到與主處理相對應(yīng)的第一條目和與媒體處理相對應(yīng)的第二條目(S124)。參照被設(shè)定到該條目指定寄存器135的對應(yīng)關(guān)系和進行存取的線程的TVID140, TLB104將條目150分配到屬于主處理的線程和屬于媒體處理的線程。并且,監(jiān)視器程序通過將TVID140(或LP)和路168的對應(yīng)關(guān)系設(shè)定到路指定寄存器136,從而將高速緩沖存儲器109所具有的多個路168分割為與主處理相對應(yīng)的第一路和與媒體處理相對應(yīng)的第二路(S125)。參考被設(shè)定到該路指定寄存器136的對應(yīng)關(guān)系和進行存取的線程的TVID140, TLB104將路168分配到屬于主處理的線程和屬于媒體處理的線程。并且,監(jiān)視器程序通過將TVID140與FPU107的對應(yīng)關(guān)系設(shè)定到FPU分配寄存器,從而將多個FPU107分割為與主處理相對應(yīng)的第一 FPU和與媒體處理相對應(yīng)的第二 FPU(S126)。參考被設(shè)定到該FPU分配寄存器137的對應(yīng)關(guān)系和線程的TVID140,F(xiàn)PU分配部 108將FPU107分配到屬于主處理的線程和屬于媒體處理的線程。并且,監(jiān)視器程序通過將MVID142與總線帶寬的對應(yīng)關(guān)系設(shè)定到總線帶寬指定寄存器138,從而將外部存儲器15與存儲器IF塊14之間的總線帶寬,分割為與主處理對應(yīng)的第一總線帶寬和與媒體處理相對應(yīng)的第二總線帶寬(S127)。參考被設(shè)定在該總線帶寬指定寄存器138的對應(yīng)關(guān)系和進行存取的線程的 MVID142,存儲器IF塊14將總線帶寬分配給屬于主處理的線程和屬于媒體處理的線程。并且,監(jiān)視器程序制作示出物理地址和邏輯地址的對應(yīng)關(guān)系的頁表。此時,監(jiān)視器程序通過設(shè)定PVID141與物理地址的對應(yīng)關(guān)系,從而在將外部存儲器15的物理地址空間, 分割為與主處理對應(yīng)的第一物理地址范圍和與媒體處理對應(yīng)的第二物理地址范圍的同時, 將第一物理地址范圍分配給主處理的線程,將第二物理地址范圍分配給第二物理地址范圍 (S128)。并且,監(jiān)視器程序通過將PVID141與物理地址的對應(yīng)關(guān)系設(shè)定到物理存儲器保護寄存器131,從而進行物理地址的保護。并且,監(jiān)視器程序與各個中斷因素相對應(yīng),將將要被中斷的LP等設(shè)定到中斷控制寄存器134(S129)。據(jù)此,監(jiān)視器程序能夠?qū)χ魈幚砗兔襟w處理分別進行獨立地中斷控制。參考被設(shè)定到該中斷控制寄存器134的對應(yīng)關(guān)系和中斷因素,中斷控制部111使與該中斷因素對應(yīng)的線程中斷。并且,通過監(jiān)視器程序的各個設(shè)定的順序,并非受圖23所示的順序所限。并且,可以不以監(jiān)視器程序來制作頁表,由被分配了 TVID140的管理程序級的OS 來決定,分別被分配的與物理地址對應(yīng)的邏輯地址,能夠分別制作頁表,不過,本發(fā)明并非受這些所限制。通過以上所述,本實施例所涉及的處理器系統(tǒng)10由于具備,共享資源并進行主處理和媒體處理的單一的處理器塊11,因此能夠提高面積優(yōu)化。并且,處理器系統(tǒng)10在將不同的標簽信息(TVID140、PVID141以及MVID142)給予到主處理的線程和媒體處理的線程的同時,將處理器系統(tǒng)10所具有的資源與該標簽信息對應(yīng)起來進行分割。據(jù)此,處理器系統(tǒng) 10能夠?qū)①Y源分別獨立地分配給主處理和媒體處理。因此,由于在主處理與媒體處理之間不會產(chǎn)生資源的競爭,所以處理器系統(tǒng)10能夠提高性能的保障以及堅固性。并且,物理地址管理部105利用PVID141,在各個線程將要存取被指定的物理地址范圍以外的情況下,發(fā)生中斷。據(jù)此,處理器系統(tǒng)10能夠提高系統(tǒng)的堅固性。以上,對本實施例所涉及的處理器系統(tǒng)10進行了說明,不過本發(fā)明并非受這些實施例所限。例如,在以上的說明中,以處理器塊11進行主處理和媒體處理這兩種處理為例進行了說明,不過也可以進行包括除此之外的處理的三種以上的處理。在這種情況下,分別與該三種以上的處理相對應(yīng)的三種以上的TVID140被賦予到多個線程。并且,在本發(fā)明的實施方式的處理器系統(tǒng)10中,不使用各LP的識別符(LPID)Jg 夠針對各個LP指定TVID140、PVID141、MVID142,所以,能夠針對各個資源進行靈活的分割。 相反,也能夠使用LPID來分割各資源,但是,該情況下,無法在多個LP中共用其資源。艮口, 按照不同資源設(shè)置ID,各LP針對各個資源具有該ID,能夠良好地控制資源的共用與分割。同樣,PVID141以及MVID142的種類也不受上述的數(shù)量所限,只要是多個即可。并且,在上述的說明中,作為對多個線程進行分組的標簽信息,在此說明了 TVID140、PVID141以及MVID142這三種,不過,處理器系統(tǒng)10也可以僅利用一個標簽信息 (例如,TVID140)。即,處理器系統(tǒng)10也可以不利用PV皿41以及MVID142,物理地址的管理以及總線帶寬的控制也可以利用TVID140。并且,處理器系統(tǒng)10也可以利用兩種標簽信息,也可以利用四種以上的標簽信息。并且,在上述的說明中,雖然說明了中斷控制寄存器134、條目指定寄存器135、路指定寄存器136、FPU分配寄存器137以及頁表,是由虛擬監(jiān)視器級的OS (監(jiān)視器程序)設(shè)定以及更新的,不過也可以是,通過虛擬監(jiān)視器級的OS的指示,管理程序級的OS也可以對中斷控制寄存器134、條目指定寄存器135、路指定寄存器136、FPU分配寄存器137以及頁表進行設(shè)定以及更新。即,也可以是,通過虛擬監(jiān)視器級的0S,管理程序級OS中被通知有被分配到該管理程序級的OS的資源,該管理程序級的OS為了利用被通知來的資源,而對中斷控制寄存器134、條目指定寄存器135、路指定寄存器136、FPU分配寄存器137以及頁表進行設(shè)定以及更新。并且,以上實施例所涉及的處理器系統(tǒng)10中所包含的各個處理部典型地可以作為集成電路的LSI來實現(xiàn)。這些可以被單獨地制為一個芯片,也可以將其中的一部分或全部制成一個芯片。在此,雖然稱作了 LSI,不過根據(jù)集成度的不同,也可以被稱作IC、系統(tǒng)LSI、超級 LSI、以及極超級LSI。并且,集成電路化不僅限于LSI,也可以以專用電路或通用處理器來實現(xiàn)。在LSI 制造后,也可以利用可編程的FPGA(現(xiàn)場可編程門陣列)或利用能夠?qū)SI內(nèi)部的電路單元的連接以及設(shè)定重新構(gòu)建的可重裝處理器。而且,隨著半導體技術(shù)的進步或派生出的其他的技術(shù),若出現(xiàn)了能夠取代LSI的集成電路化的技術(shù),當然也可以利用這些技術(shù)來對使用了這種技術(shù)的各個處理部進行集成化。生物技術(shù)的適用等也將成為可能。并且,本發(fā)明的實施例所涉及的處理器系統(tǒng)10的功能的一部分或全部,也可以通過執(zhí)行部101等執(zhí)行程序來實現(xiàn)。并且,本發(fā)明可以作為上述的程序,也可以作為記錄了上述程序的記錄介質(zhì)。并且,上述的程序可以通過互聯(lián)網(wǎng)等傳送介質(zhì)來流通也是不言而喻的。并且,上述實施例所涉及的處理器系統(tǒng)10以及其變形例的功能中至少一部分也可以被組合。產(chǎn)業(yè)上的可利用性本發(fā)明能夠應(yīng)用于多線程處理器,特別地,能夠應(yīng)用于搭載于數(shù)字電視、DVD錄像機、數(shù)碼相機和便攜電話設(shè)備等中的多線程處理器。
符號說明10 處理器系統(tǒng);11 處理器塊;12 流I/O塊;13 :AVI0塊;14 存儲器IF塊;15 外部存儲器;16 控制總線;17,18,19 數(shù)據(jù)總線;101 執(zhí)行部;102 =VMPC ; 104 =TLB ;105 物理地址管理部;107 =FPU ; 108 =FPU分配部;109 高速緩沖存儲器;110 =BCU ;111 中斷控制部;121 物理處理器;122 運算控制部;123 運算部;124 上下文;126 排程器;127 上下文存儲器;1 上下文控制部;130 地址轉(zhuǎn)換表;131 物理存儲器保護寄存器;132 保護違反寄存器;133 錯誤地址寄存器;134 中斷控制寄存器;135 條目指定寄存器;136 路指定寄存器;137 =FPU分配寄存器;138 總線帶寬指定寄存器;139 =PSR ; 140 =TVID ; 141 =PVID ;142 =MVID ; 143 =PL ;150 條目;151 =TLB 標簽部;152 TLB 數(shù)據(jù)部;153 =VPN ; 154 =PID ;155 =PPN ;156 Attribute ; 157 全局位;161 :BASEADDR ; 162 :PS ;163 =PN ; 164 PVIDOffE PVID3WE ;165 :PVID0RE PVID3WE ;167 =PVERR ;168 路;171 系統(tǒng)中斷;172 LP識別符;173 =LP中斷;174 =HW事件。
權(quán)利要求
1.一種多線程處理器,該多線程處理器同時執(zhí)行多個線程,其中,該多線程處理器具有多個資源,在執(zhí)行所述多個線程時使用;保持單元,保持標簽信息,該標簽信息表示所述多個線程中的每一個線程是屬于主機處理的線程還是屬于媒體處理的線程;分割單元,將所述多個資源分割成與屬于所述主機處理的線程對應(yīng)的第1資源和與屬于所述媒體處理的線程對應(yīng)的第2資源;分配單元,參照所述標簽信息,對屬于所述主機處理的線程分配所述第1資源,對屬于所述媒體處理的線程分配所述第2資源;以及執(zhí)行單元,使用由所述分配單元分配的所述第1資源執(zhí)行屬于所述主機處理的線程, 使用由所述分配單元分配的所述第2資源執(zhí)行屬于所述媒體處理的線程。
2.如權(quán)利要求1所述的多線程處理器,其中,所述執(zhí)行單元執(zhí)行對屬于所述主機處理的線程進行控制的第1操作系統(tǒng)、對屬于所述媒體處理的線程進行控制的第2操作系統(tǒng)、以及對所述第1操作系統(tǒng)和所述第2操作系統(tǒng)進行控制的第3操作系統(tǒng),通過所述第3操作系統(tǒng)進行所述分割單元的所述分割。
3.如權(quán)利要求1所述的多線程處理器,其中, 所述資源包含具有多個路的高速緩沖存儲器,所述分割單元將所述多個路分割成與屬于所述主機處理的線程對應(yīng)的第1路和與屬于所述媒體處理的線程對應(yīng)的第2路,所述高速緩沖存儲器參照所述標簽信息,在所述第1路中高速緩沖屬于所述主機處理的線程的數(shù)據(jù),在所述第2路中高速緩沖屬于所述媒體處理的線程的數(shù)據(jù)。
4.如權(quán)利要求1所述的多線程處理器,其中,所述多線程處理器使用存儲器執(zhí)行所述多個線程,所述資源包含具有多個條目的旁路轉(zhuǎn)換緩沖,所述多個條目分別表示所述存儲器的邏輯地址與物理地址的對應(yīng)關(guān)系,所述分割單元將所述多個條目分割成與屬于所述主機處理的線程對應(yīng)的第1條目和與屬于所述媒體處理的線程對應(yīng)的第2條目,所述TLB參照所述標簽信息,對屬于所述主機處理的線程使用所述第1條目,對屬于所述媒體處理的線程使用所述第2條目。
5.如權(quán)利要求4所述的多線程處理器,其中,所述各條目還包含所述標簽信息,針對所述邏輯地址和所述標簽信息的組,對應(yīng)一個物理地址。
6.如權(quán)利要求1所述的多線程處理器,其中,所述多線程處理器使用存儲器執(zhí)行所述多個線程, 所述資源包含所述存儲器的物理地址空間,所述分割單元將所述存儲器的物理地址空間分割成與屬于所述主機處理的線程對應(yīng)的第1物理地址范圍和與屬于所述媒體處理的線程對應(yīng)的第2物理地址范圍。
7.如權(quán)利要求6所述的多線程處理器,其中,所述多線程處理器還具有物理地址管理單元,該物理地址管理單元在所述第1物理地址范圍中存在來自屬于所述媒體處理的線程的訪問的情況下、以及在所述第2物理地址范圍中存在來自屬于所述主機處理的線程的訪問的情況下發(fā)生中斷。
8.如權(quán)利要求1所述的多線程處理器,其中,所述多線程處理器使用存儲器執(zhí)行所述多個線程,所述多線程處理器還具有存儲器接口單元,該存儲器接口單元根據(jù)來自屬于所述主機處理的線程和屬于所述媒體處理的線程的請求,針對所述存儲器進行訪問, 所述資源是所述存儲器與存儲器接口單元之間的總線帶寬,所述分割單元將所述總線帶寬分割成與屬于所述主機處理的線程對應(yīng)的第1總線帶寬和與屬于所述媒體處理的線程對應(yīng)的第2總線帶寬,所述存儲器接口單元參照所述標簽信息,在從屬于所述主機處理的線程請求針對所述存儲器的訪問的情況下,使用所述第1總線帶寬進行針對所述存儲器的訪問,在從屬于所述媒體處理的線程請求針對所述存儲器的訪問的情況下,使用所述第2總線帶寬進行針對所述存儲器的訪問。
9.如權(quán)利要求1所述的多線程處理器,其中, 所述資源包含多個浮點處理單元,所述分割單元將所述多個FPU分割成與屬于所述主機處理的線程對應(yīng)的第1浮點處理單元和與屬于所述媒體處理的線程對應(yīng)的第2浮點處理單元。
10.如權(quán)利要求1所述的多線程處理器,其中,所述分割單元與中斷要因?qū)?yīng)地設(shè)定所述多個線程中的任意一方, 所述多線程處理器還具有中斷控制部,在發(fā)生了中斷要因時,該中斷控制部向由所述分割單元設(shè)定的與該中斷要因?qū)?yīng)的線程發(fā)送中斷。
11.如權(quán)利要求1所述的多線程處理器,其中, 所述主機處理進行系統(tǒng)的控制,所述媒體處理進行影像的壓縮或擴展。
12.—種數(shù)字電視系統(tǒng),其中,該數(shù)字電視系統(tǒng)具有權(quán)利要求1所述的多線程處理器, 所述主機處理進行系統(tǒng)的控制, 所述媒體處理進行影像的解壓縮。
全文摘要
本發(fā)明的處理器系統(tǒng)(10)具有物理處理器(121)和上下文存儲器(127),保持TVID(140),該TVID(140)表示多個線程中的每一個線程是屬于主機處理的線程還是屬于介質(zhì)處理的線程;虛擬監(jiān)視器級的OS,將多個資源分割成與屬于主機處理的線程對應(yīng)的第1資源和與屬于介質(zhì)處理的線程對應(yīng)的第2資源;TLB(104)、高速緩沖存儲器(109)和FPU分配部(108)等,參照TVID(140),對屬于主機處理的線程分配第1資源,對屬于介質(zhì)處理的線程分配第2資源;以及執(zhí)行部(101),使用被分配的資源執(zhí)行線程。
文檔編號G06F9/46GK102317912SQ201080007900
公開日2012年1月11日 申請日期2010年2月16日 優(yōu)先權(quán)日2009年2月17日
發(fā)明者中島雅逸, 尾崎伸治, 山本崇夫, 掛田雅英 申請人:松下電器產(chǎn)業(yè)株式會社