專利名稱:半導(dǎo)體集成電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體集成電路,尤其涉及例如有效應(yīng)用于包含多個(gè) 微處理器(簡稱為"處理器")的多處理器芯片的技術(shù)。
背景技術(shù):
由于元件隨著半導(dǎo)體制造技術(shù)的進(jìn)步而精細(xì)化,能夠在l個(gè)芯片 上集成龐大數(shù)量的晶體管。以往,處理器的高頻化與精細(xì)化一起發(fā)展 起來,但由于工作時(shí)功率的增加、或由漏電流引起的待機(jī)時(shí)功率的增 加,越發(fā)難以實(shí)現(xiàn)工作頻率的提高,進(jìn)而在基于邏輯方式的改善的性 能提高上也開始出現(xiàn)極限。
另一方面,出現(xiàn)了汽車的導(dǎo)航系統(tǒng)、手機(jī)、數(shù)字電視等將圖像、 聲音、數(shù)據(jù)庫信息這樣的多種數(shù)據(jù)同時(shí)處理的數(shù)字民用設(shè)備,在短時(shí) 間內(nèi)處理特性不同的龐大的數(shù)據(jù)的要求日益提高。對于這樣的要求, 為了兼顧性能提高和功耗降低,使用了將通用處理器、專用處理器、
可重構(gòu)處理器或DSP (Digital Signal Processor)等加速器這樣的各種 處理器搭載在l個(gè)半導(dǎo)體芯片上的、所謂的多處理器芯片。利用多處 理器芯片,通過并行進(jìn)行處理,即使不使工作頻率提高也能夠獲得高 運(yùn)算性能。
另外,在單核的LSI (半導(dǎo)體集成電路)中,通過控制處理器的 頻率和電壓,實(shí)現(xiàn)了功耗降低。這是通過在處理器等的處理負(fù)載小時(shí) 使頻率和電壓降低、或切斷不進(jìn)行運(yùn)算的處理器的電源來謀求整個(gè)系 統(tǒng)的功耗和發(fā)熱量降低的技術(shù)。該方法在多個(gè)處理器被搭載于1個(gè)LSI 上時(shí)也能通過應(yīng)用對各個(gè)處理器控制頻率和電壓的技術(shù)來謀求功耗 降低。例如,在專利文獻(xiàn)l、專利文獻(xiàn)2、以及專利文獻(xiàn)3中,已知在 多處理器結(jié)構(gòu)系統(tǒng)中,通過操作系統(tǒng)的控制使系統(tǒng)的工作頻率和電路的電源電壓動態(tài)地變化,能夠降低整個(gè)系統(tǒng)的功耗。
專利文獻(xiàn)l:日本特開2002 - 99433號公凈艮 專利文獻(xiàn)2:日本特開2002 - 202893號公報(bào) 專利文獻(xiàn)3:日本特開2001 - 229040號/>寺艮
發(fā)明內(nèi)容
本發(fā)明人研究了包含多個(gè)處理器的半導(dǎo)體集成電路中的功耗降 低技術(shù)。
以往,有對某個(gè)任務(wù)靜態(tài)地指定了頻率和電壓的程序,由此能夠 以低功耗實(shí)現(xiàn)處理。另外,在要求實(shí)時(shí)性的處理中,使用如下方法, 即,計(jì)算在處理中相對于要完成處理的時(shí)間的當(dāng)前的處理的進(jìn)展情 況,動態(tài)地變更頻率和電源電壓而謀求功耗降低。這些的組合在例如 作為圖4象處理的MPEG ( Moving Picture Coding Experts Group/Moving Picture Experts Group )中,在必須以三十分之一秒處理一幀時(shí),采用 了如下方法,即,預(yù)先以低電壓且低頻率執(zhí)行處理,在工作由于反復(fù) 處理或異常的干擾而遲緩時(shí)使電源電壓和頻率提高。
但是,按照現(xiàn)有技術(shù),即使執(zhí)行對多個(gè)處理器靜態(tài)地指定了頻率 和電壓的程序,也不額外進(jìn)行動態(tài)的頻率控制。這是因?yàn)椋酝?,?靜態(tài)地指定了電壓和頻率的LSI,其電路被分配給實(shí)時(shí)處理專用,或 難以引入異常的干擾,多個(gè)實(shí)時(shí)處理不會同時(shí)進(jìn)行,因此無需動態(tài)的 頻率控制。
但是,今后隨著處理性能的要求越來越高,并且,隨著多處理器 化在嵌入式設(shè)備中也漸成主流,考慮到多個(gè)實(shí)時(shí)處理同時(shí)執(zhí)行的情況 和通過通信下載程序的情況,此時(shí),出現(xiàn)對指定了靜態(tài)的頻率-電壓 控制的程序不按計(jì)劃執(zhí)行處理的情況。其主要原因在于,對作為公共 資源的總線和公共存儲器的訪問與其它處理器的請求重疊。另外,存 在對事件進(jìn)行的處理、例如由于手機(jī)上有來電的情況或在數(shù)字家電中 通過用戶按開關(guān)而啟動任務(wù)的情況而導(dǎo)致在預(yù)先靜態(tài)地計(jì)劃的頻率-電壓下進(jìn)行的處理不能按計(jì)劃執(zhí)行的情況。另外,隨著多核化、眾核化的發(fā)展,用于對各處理器進(jìn)行頻率-電壓控制的信息、計(jì)算量都很大,有來不及進(jìn)行頻率-電壓控制、整 個(gè)芯片的處理本身也出現(xiàn)破綻的危險(xiǎn)。
本發(fā)明的目的在于,兼顧包含多個(gè)處理器的半導(dǎo)體集成電路中的 低功耗控制的實(shí)現(xiàn)和要求實(shí)時(shí)性地處理性能的保障。
本發(fā)明的另一目的在于,通過靜態(tài)地指定的頻率-電壓控制和根 據(jù)處理的進(jìn)度對頻率和電壓的動態(tài)控制的協(xié)調(diào)來實(shí)現(xiàn)低功耗。
本發(fā)明的上述以及其它目的和新的特征將會通過本說明書的記 述和附圖得以明確。
簡單說明本申請所公開的發(fā)明中有代表性的發(fā)明的概要如下。
(1) 一種半導(dǎo)體集成電路,包含通過分別被提供電壓和時(shí)鐘信 號而能執(zhí)行程序的多個(gè)處理器,還包含管理單元,該管理單元用于通 過組合第 一控制和第二控制來使在上述處理器中進(jìn)行處理的進(jìn)度加 速,其中,上述第一控制根據(jù)上述程序所包含的控制信息來變更上述
電壓的值和上述時(shí)鐘信號的頻率;上述第二控制按照在上述處理器中
述時(shí)鐘信號的頻率。
按照上述裝置,雖然各處理器的頻率和電壓被提升的期間功耗增 加,但能夠進(jìn)行高速處理。并且,雖然各處理器的頻率和電壓未被提 升期間不能高速處理,但能夠減少功耗。這將達(dá)到能夠兼顧包含多個(gè) 處理器的半導(dǎo)體中的低功耗控制的實(shí)現(xiàn)和要求實(shí)時(shí)性的處理性能的 保障這樣的本發(fā)明的目的。并且,能夠達(dá)到通過靜態(tài)地指定的頻率-電壓控制指令和根據(jù)處理的進(jìn)度動態(tài)地控制頻率和電壓機(jī)構(gòu)的協(xié)調(diào) 工作來謀求降低功耗這樣的目的。
(2) 在上述(1)中,可以構(gòu)成為,在包含執(zhí)行預(yù)定處理的l個(gè) 以上處理器的各組中設(shè)定域,上述第二控制按照各域的上述進(jìn)展情況
來進(jìn)行。
(3) 在上述(1)中,可以構(gòu)成為,上述管理單元包含按照上述 各域的上述進(jìn)展情況來變更總線使用的優(yōu)先級的處理。(4) 一種半導(dǎo)體集成電路,可以是,包含通過分別被提供電壓 和時(shí)鐘信號而能執(zhí)行程序的多個(gè)處理器、和用于使在上述處理器中進(jìn) 行處理的進(jìn)度加速的管理單元,上述管理單元包含用于執(zhí)行第一控 制、第二控制以及第三控制的處理器,其中,上述第一控制根據(jù)上述
程序所包含的控制信息來變更上述電壓的值和上述時(shí)鐘信號的頻率; 上述第二控制按照在上述處理器中進(jìn)行處理的進(jìn)展情況來變更被提 供給該處理器的上述電壓的值和上述時(shí)鐘信號的頻率;上述第三控制 能按照在上述處理器中進(jìn)行處理的進(jìn)展情況來變更總線使用的優(yōu)先 級,在包含執(zhí)行預(yù)定處理的1個(gè)以上處理器的各組中設(shè)定域,在上述 第二控制中包含第一處理和第二處理,其中,上述第一處理確認(rèn)上述 各域的進(jìn)行處理的進(jìn)展情況;上述第二處理在存在進(jìn)度比預(yù)定慢的域 的情況下,在進(jìn)度慢的域之中,從優(yōu)先級高的域開始,順次針對屬于 該域的處理器使上述電壓的值和上述時(shí)鐘信號的頻率上升。
(5) 在上述(4)中,可以是,在上述第三控制中包含第三處理 和第四處理,其中,上述第三處理確認(rèn)各域的進(jìn)行處理的進(jìn)展情況, 上述第四處理設(shè)定總線使用的優(yōu)先級,使得越是必須確保實(shí)時(shí)性的域 優(yōu)先級越高,并且,在優(yōu)先級出現(xiàn)竟?fàn)幍那闆r下,提高關(guān)于進(jìn)度慢的 域的總線使用的優(yōu)先級。
(6) —種半導(dǎo)體集成電路,包含通過分別被提供電壓和時(shí)鐘信 號而能執(zhí)行程序的多個(gè)處理器,還包含運(yùn)算電路,能基于根據(jù)上述程 序所包含的控制信息而設(shè)定的上述電壓的值和上述時(shí)鐘信號的頻率、 和各域的進(jìn)行處理的進(jìn)展情況,來計(jì)算用于滿足結(jié)束處理所需要的請 求時(shí)間的工作頻率和工作電壓;時(shí)鐘生成電^^,用于生成基于上述運(yùn) 算電路的計(jì)算結(jié)果的頻率的時(shí)鐘信號并將其提供給相應(yīng)的處理器;以 及電壓產(chǎn)生電路,用于將基于上述運(yùn)算電路的計(jì)算結(jié)果的工作電壓和 襯底偏壓提供給相應(yīng)的處理器。
(7) 在上述(6)中,可以是,上述電壓產(chǎn)生電路通過隨著上述 處理器的工作電壓的控制使該處理器的襯底偏壓上升或下降,能夠控 制形成該處理器的器件的閾值電壓。(8) 在上述(6)中,可以是,上述運(yùn)算電路包含用于按照上述 各域的進(jìn)行處理的進(jìn)展情況來變更總線使用的優(yōu)先級的處理。
(9) 在上述(1) ~ (8)中,上述處理器是通用處理器、DSP 或可重構(gòu)處理器。如下。
即,能夠兼顧包含多個(gè)處理器的半導(dǎo)體集成電路中的低功耗控制 的實(shí)現(xiàn)和要求實(shí)時(shí)性的處理性能的保障。并且,能夠通過被靜態(tài)地指 定的頻率-電壓控制指令、以及根據(jù)處理的進(jìn)度動態(tài)地控制頻率和電 壓的機(jī)構(gòu)的協(xié)調(diào)工作來實(shí)現(xiàn)功耗的降低。
圖1是作為本發(fā)明的半導(dǎo)體集成電路的 一 例的多處理器芯片的結(jié)
構(gòu)例框圖。
圖2是上述多處理器芯片中的要部的結(jié)構(gòu)例框圖。
圖3是上述多處理器芯片的整體的結(jié)構(gòu)例框圖。
圖4是上述多處理器芯片中的主要工作的流程圖。
圖5是上述多處理器芯片中的主要工作的流程圖。
圖6是上述多處理器芯片中的主要工作的流程圖。
圖7是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖8是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖9是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖IO是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖ll是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖12是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
圖13是上述多處理器芯片中的主要寄存器的設(shè)定例說明圖。
標(biāo)號i兌明
10多處理器芯片
100多處理器管理單元120、 121域
130 ~ 135程序
140 ~ 143通用處理器
144、 145基于IP的處理器
146 DM AC
147 RAM 201 RAM 203處理器 204電壓產(chǎn)生器 205振蕩器 206 PIX
207域設(shè)定寄存器 208控制寄存器 209電壓寄存器 210頻率寄存器 310總線
具體實(shí)施例方式
在圖3中,示出作為本發(fā)明的半導(dǎo)體集成電路的 一 例的多處理器
芯片o
圖3所示的多處理器芯片IO沒有特別的限制,包含通用處理器 (CPU: Central Processing Unit) 140 ~ 143、基于IP (Intellectual Property )的處理器144、 145、 DMAC( Direct Memory Access Controller) 146、 RAM (Random Access Memory) 147、以及多處理器管理單元 (CONT) 100,利用公知的半導(dǎo)體集成電路制造技術(shù)在單晶硅襯底等
的一個(gè)半導(dǎo)體襯底上形成。
上述通用處理器140、 141、 142、 143分別按照預(yù)先設(shè)定的程序或 經(jīng)由通信線而被下載的程序進(jìn)行預(yù)定的運(yùn)算處理。
上述DMAC146是用于不利用上述通用處理器140 145進(jìn)行數(shù)據(jù)傳送的模塊,通過預(yù)先由通用處理器140~ 145進(jìn)行傳送的設(shè)定并發(fā)送 啟動信號而自動地進(jìn)行數(shù)據(jù)傳送。
通常,IP是用于設(shè)計(jì)LSI的公共資源,在本例中,上述基于IP的處 理器144、 145具體來說是DSP和某個(gè)功能專用的硬件、可重構(gòu)處理器 等高性能處理器。
此外,方便起見,也將上述通用處理器140、 141、 142、 143和上 述基于IP的處理器144、 145簡稱為"處理器"。
上述RAM147是可由上述通用處理器140、 141、 142、 143和上述 基于IP的處理器144、 145訪問的公共存儲器,被用于運(yùn)算處理中的操 作區(qū)域等。
上述多處理器管理單元100能夠進(jìn)行向上述通用處理器140、 141、 142、 143和上述基于IP的處理器144、 145、 DMAC146提供的時(shí)鐘信 號的頻率控制、向上述通用處理器140、 141、 142、 143和上述基于IP 的處理器144、 145提供的電源電壓的控制、以及用于優(yōu)先使用總線的 總線使用優(yōu)先級的變更。
該多處理器芯片IO如圖I所示,設(shè)定有多個(gè)域120、 121。在此, 所謂域是指包含用于分割預(yù)定的處理而執(zhí)行的多個(gè)處理器的組。沒有 特別的限制,在域120中包含通用處理器140,在域121中包含通用處 理器141 ~ 143和基于IP的處理器144、 145。該處理器141 ~ 145能執(zhí)行 對應(yīng)的程序130~ 135。
在圖2中示出上述多處理器管理單元100的結(jié)構(gòu)例。
上述多處理器管理單元100如圖2所示,包含RAM201、處理器 (CPU) 203、電壓產(chǎn)生器(VGEN) 204、振蕩器(FGEN) 205、域 設(shè)定寄存器(Domain set REG )、控制寄存器(Control REG )、電壓 寄存器(V-REG) 209、頻率寄存器(F-REG) 210。
上述CPU203具有通過組合第一控制和第二控制而使上述處理器 140~ 145中進(jìn)行的處理的進(jìn)度加快的功能,其中,上述第一控制根據(jù) 由上述處理器140 145執(zhí)行的程序(CPUcode、 IP code )所包含的控 制信息變更提供給上述處理器140 145的電壓的值、以及提供給上述處理器140~ 145的時(shí)鐘信號的頻率,上述第二控制根據(jù)上述處理器 140 ~ 145中進(jìn)行的處理的進(jìn)展情況變更提供給該處理器140~ 145的 上述電壓的值和上述時(shí)鐘信號的頻率。為了進(jìn)行這樣的控制處理,參 照在上述RAM201、域設(shè)定寄存器207、控制寄存器208、電壓寄存器 209、頻率寄存器210中所設(shè)定的各種信息。上述電壓產(chǎn)生器204按照 上述電壓寄存器209的設(shè)定信息,產(chǎn)生提供給處理器140 145的電壓。 該電壓包含處理器140 145分別要求的電源電壓。另外,上述振蕩器 205包含PLL (Phase Locked Loop)電路,產(chǎn)生被提供給處理器140 ~ 145的時(shí)鐘信號。該時(shí)鐘信號的頻率按照上述頻率寄存器210的設(shè)定信 息來確定。
說明在上述控制寄存器208中設(shè)定的數(shù)據(jù)。
在上述控制寄存器208中,沒有特別限制,設(shè)定靜態(tài)的頻率-電壓 控制、動態(tài)的頻率-電壓控制信息(參照圖7)以及是否進(jìn)行動態(tài)的總 線使用優(yōu)先級控制的識別信息(參照圖13 (A))。即,在執(zhí)行靜態(tài) 的頻率-電壓控制的情況下,如圖7所示,在相應(yīng)的存儲區(qū)域設(shè)定邏輯 值'T,,在執(zhí)行動態(tài)的頻率-電壓控制的情況下在相應(yīng)的存儲區(qū)域設(shè) 定邏輯值"1"。在設(shè)定了邏輯值"0"的情況下,不執(zhí)行上述頻率-電壓控制,在雙方都被設(shè)定為邏輯值"0"的情況下,不執(zhí)行頻率-電 壓控制,用預(yù)定的頻率-電壓執(zhí)行處理。并且,在雙方處于同時(shí)寺丸行 的設(shè)定的情況下,執(zhí)行靜態(tài)的頻率-電壓控制和動態(tài)的頻率-電壓控制 的協(xié)調(diào)控制。
在控制寄存器208中,形成存儲區(qū)域,用于在作為公共資源的總 線310和RAM147由屬于某個(gè)域的處理器使用的情況下,當(dāng)接受了來自 屬于優(yōu)先級比當(dāng)前使用公共資源的域高的域的處理器的訪問時(shí),設(shè)定 是否使當(dāng)前的公共資源的使用強(qiáng)制停止并執(zhí)行屬于優(yōu)先級高的域的 處理器等的公共資源的使用。例如,在控制寄存器208中,如圖13(B) 所示,在對釋放(release)的項(xiàng)設(shè)定為邏輯值"1"的情況下,來自 優(yōu)先級高的域的訪問具有絕對的優(yōu)勢。
在上述RAM201中,形成用于設(shè)定通過程序130 135的執(zhí)行而設(shè)定的信息(靜態(tài)信息)的靜態(tài)信息記錄區(qū)域。在此,上述在靜態(tài)信息 記錄區(qū)域設(shè)定的靜態(tài)信息,沒有特別限制,如圖8所示,包含提供給
處理器140~ 145的時(shí)鐘頻率的設(shè)定信息(Fsta)、提供給處理器的電 壓的電平信息(Vsta),此外,如圖9所示,還包含必須以域單位結(jié) 束處理的時(shí)間(截止線)信息。另外,在上述RAM201中,形成用于 設(shè)定根據(jù)程序的執(zhí)行情況而設(shè)定的信息(動態(tài)信息)的動態(tài)信息記錄 區(qū)域。在此,在上述動態(tài)信息記錄區(qū)域設(shè)定的動態(tài)信息,并無特別限 制,如圖9所示,包含正在以域單位執(zhí)行的處理的進(jìn)度信息。上述截 止線信息和進(jìn)度信息在各域由對應(yīng)的處理器設(shè)定。即,在各域利用對 應(yīng)的處理器執(zhí)行的程序在上述靜態(tài)信息記錄區(qū)域和動態(tài)信息記錄區(qū) 域存儲截止線信息和進(jìn)度信息。所存儲的信息如后述那樣,被用于是 否需要多處理器管理單元100的動態(tài)的頻率-電壓控制的判斷。該截止 線信息和進(jìn)度信息在域單位是必要的信息,所以其存儲區(qū)域?qū)?yīng)于上 述域120、 121。
在不必確保實(shí)時(shí)性的處理中,上述截止線設(shè)定沒有重要的意義。 在這種情況下,為了能識別該處理是不必確保實(shí)時(shí)性的處理而設(shè)定預(yù) 先確定的值。
在圖IO ( A)中,示出頻率寄存器210的設(shè)定例,在圖IO (B)中, 示出電壓寄存器209的設(shè)定例。頻率寄存器210、電壓寄存器209分別 與處理器140~ 145對應(yīng)設(shè)置。對頻率寄存器210、電壓寄存器209的設(shè) 定由處理器203進(jìn)行。如圖10(A)所示,對一個(gè)頻率寄存器210設(shè)定 了 "120"的情況下,對與之對應(yīng)的處理器從振蕩器205提供120MHz 的時(shí)鐘信號。另外,如圖10(B)所示,對一個(gè)電壓寄存器209設(shè)定了
電源電壓。
在圖ll、圖12中,示出上述域設(shè)定寄存器207的設(shè)定例。 在上述域設(shè)定寄存器207中,如圖11所示,示出處理器和域的對 應(yīng)關(guān)系。在本例中,處理器140以單體形成域120,處理器141 145形 成域121。另外,在上述域設(shè)定寄存器207中,如圖12所示,設(shè)定域的優(yōu)先級。即,在有必要加速多個(gè)域相對于截止線的處理的情況下,設(shè) 定提高頻率-電壓以及設(shè)定總線使用的優(yōu)先級時(shí)的各域的優(yōu)先級。
在圖12所示的例子中,域120的優(yōu)先級為2,域121的優(yōu)先級為1。 例如,設(shè)域121進(jìn)行必須確保實(shí)時(shí)性的處理,域122進(jìn)行不必確保實(shí)時(shí) 性的處理。此時(shí),域121是必須確保實(shí)時(shí)性的處理,所以頻率和電壓 被提升。并且,還有必要提高總線使用的優(yōu)先級。在域的優(yōu)先級不同 的情況下,從優(yōu)先級高的域開始將總線使用的優(yōu)先級設(shè)定得高,同樣, 從優(yōu)先級高的域開始進(jìn)行頻率-電壓設(shè)定的提升。頻率-電壓的設(shè)定被 設(shè)定為不超過芯片允許的最大功率和最大溫度。另外,在域間的優(yōu)先 級相同的情況下,通過進(jìn)一步從進(jìn)展情況慢的域開始優(yōu)先提升時(shí)鐘信 號的頻率和電源電壓來進(jìn)4亍加速處理。
在本發(fā)明的多處理器芯片10中,能夠用上述通用處理器140、 141、 142、 143和上述基于IP的處理器144、 145執(zhí)行預(yù)定的應(yīng)用程序,為了 使其能夠?qū)崿F(xiàn),生成各處理器的程序130 135。此時(shí),在程序130~ 13 5中,可以包含用于變更執(zhí)行某個(gè)任務(wù)時(shí)的頻率和電壓的代碼。
在面向各處理器的程序130 135中,可以包含在整個(gè)域寺丸行的應(yīng) 用程序必須在何時(shí)執(zhí)行結(jié)束這樣的截止線信,包、和執(zhí)行的全部處理的 百分之幾已結(jié)束這樣的進(jìn)度信息。
在各處理器執(zhí)行的程序代碼中存在頻率-電壓控制指令、截止線 設(shè)定的指令、處理的進(jìn)度信息輸出指令的情況下,各處理器140~145 對上述多處理器管理單元100所包含的上述預(yù)定寄存器記錄各自的 值。
在上述多處理器管理單元100中,進(jìn)行由程序靜態(tài)地賦予的頻率-電壓控制、多處理器管理單元1 oo根據(jù)處理的進(jìn)展情況進(jìn)行控制的動
態(tài)的頻率-電壓的控制以及各處理器的總線使用的優(yōu)先級的變更。在 靜態(tài)的頻率-電壓控制、以及動態(tài)的頻率-電壓控制這兩者都無效的情 況下,不進(jìn)行頻率-電壓控制、總線優(yōu)先級的變更。在兩個(gè)控制都有 效的情況下,進(jìn)行兩者的協(xié)調(diào)控制。
多處理器管理單元100在頻率-電壓控制功能有效的情況下,例如定期地確認(rèn)記錄有進(jìn)展情況和靜態(tài)地賦予的頻率-電壓控制的信息的 寄存器等的存儲區(qū)域,根據(jù)所記錄的值進(jìn)行各處理器的頻率和電壓、 以及總線優(yōu)先級的控制。此時(shí),用于進(jìn)行動態(tài)的控制的進(jìn)度信息在各 域?qū)Χ嗵幚砥鞴芾韱卧?00賦予。實(shí)際的頻率-電壓控制在各個(gè)處理器 進(jìn)行。由于在各域賦予處理的進(jìn)展情況,削減了用于動態(tài)地進(jìn)行處理 的頻率-電壓控制的運(yùn)算量,消除了動態(tài)的頻率-電壓控制和總線優(yōu)先 級變更的麻煩。由此能夠防止動態(tài)的頻率-電壓控制的處理的破綻。
例如在某個(gè)時(shí)刻,在圖1中的域121中進(jìn)行的處理的進(jìn)展情況為
10%,并且,在圖1中的域120中執(zhí)行的處理的進(jìn)展情況為50%。如果 在兩個(gè)域執(zhí)行的處理的優(yōu)先級和截止線相同,則多處理器管理單元 100通過使域120全體的頻率和電壓上升,謀求處理的加速。
同時(shí),提高屬于進(jìn)度慢的域的處理器利用總線310或RAM147這樣 的公共資源時(shí)的優(yōu)先級。由此,在處理慢的域要利用總線310或 DMAC146、 RAM147等的公共資源而與其它的域發(fā)生了竟?fàn)幍那闆r 下,由于能優(yōu)先地使用公共資源而謀求處理的加速。此時(shí),在優(yōu)先級 低的域已經(jīng)使用了公共資源的情況下,可以設(shè)定是否使其處理中斷而 能夠使用公共資源,或在當(dāng)前正在執(zhí)行的處理結(jié)束之后能否優(yōu)先地利 用其資源。
接下來,詳細(xì)描述多處理器管理單元100的靜態(tài)的頻率-電壓控制。
在圖4中,示出基于由程序130 135賦予的頻率-電壓控制指令的
控制的流程。
根據(jù)由程序130 135賦予的靜態(tài)的電壓-頻率控制指令,在多處 理器管理單元100內(nèi)的RAM201中,設(shè)定頻率設(shè)定值Fsta和電壓設(shè)定值 Vsta( 400 )。然后,定期地或根據(jù)被賦予的指令不定期地確認(rèn)存儲 在上述RAM201中的設(shè)定值(Fsta和Vsta) (401),進(jìn)行上次確認(rèn)時(shí) 的Fsta,和Vsta,與當(dāng)前所設(shè)定的Fsta和Vsta是否不同的判斷(402 )。 在該判斷中,判斷為與上次確認(rèn)時(shí)的值不同(YES)的情況下,參考 后述的動態(tài)的頻率-電壓設(shè)定值,對各處理器設(shè)定新的頻率和電壓值(403 )。然后,在頻率和電壓值穩(wěn)定了之后重新開始任務(wù)的執(zhí)行 (404)。然后,轉(zhuǎn)移到上述步驟400的設(shè)定處理。在上述步驟402的 判斷中,在判斷為與上次確認(rèn)時(shí)的值相同(NO)的情況下,轉(zhuǎn)移到 上述步驟400的設(shè)定處理。
接下來,說明多處理器管理單元100的動態(tài)的頻率-電壓控制。 在圖5中,示出根據(jù)在各域執(zhí)行的處理的進(jìn)展情況動態(tài)地控制頻 率和電壓時(shí)的流程。
根據(jù)對RAM201的設(shè)定定期地或根據(jù)被賦予的指令確認(rèn)當(dāng)前正在 各域執(zhí)行的處理的進(jìn)展情況(500 )。具體來說,通過在各域執(zhí)行程
序,對上述RAM201記錄有當(dāng)前執(zhí)行中的處理的進(jìn)展情況,所以根據(jù) 其值計(jì)算相對于必須結(jié)束其處理的時(shí)間在當(dāng)前的i殳定頻率和i殳定電
壓下其處理是否會結(jié)束。在此,必須結(jié)束處理的時(shí)間對上述RAM201 設(shè)定(參照圖9)。
然后,進(jìn)行是否存在進(jìn)度比預(yù)定慢的域的判斷(501)。即,檢 查在必須結(jié)束上述處理的時(shí)間內(nèi)處理是否結(jié)束。在該判斷中,當(dāng)判斷 為存在進(jìn)度比預(yù)定的慢的域(YES)時(shí),使其域所包含的全部處理器 的頻率和電壓上升,使處理的進(jìn)度加快(502 )。此時(shí)設(shè)定的頻率和 電壓考慮了上述的靜態(tài)的頻率設(shè)定值Fsta和靜態(tài)的電壓設(shè)定值Vsta后 設(shè)定屬于對象域的運(yùn)算器的頻率和電壓(502 )。該頻率和電壓的變 更,可以列舉出對靜態(tài)的頻率設(shè)定值Fsta和靜態(tài)的電壓設(shè)定值Vsta加 上動態(tài)的頻率設(shè)定值Fdyn和動態(tài)的電壓設(shè)定值Vdyn的方法、和對靜態(tài) 的頻率設(shè)定值Fsta和靜態(tài)的電壓設(shè)定值Vsta動態(tài)地將其倍增的方法。 當(dāng)然,這些頻率設(shè)定和電壓設(shè)定取決于作為對象的處理器能獲得的頻 率設(shè)定值和電壓設(shè)定值,也考慮近似的處理。此時(shí),在不超過作為芯 片整體能允許的最大功率和最大允許溫度的范圍使處理的進(jìn)度加快, 在判斷為多個(gè)域的每一個(gè)的處理的進(jìn)展情況發(fā)生了延遲的情況下,從 進(jìn)度慢的域之中執(zhí)行優(yōu)先級高的域開始優(yōu)先地提高電壓和頻率。由此 加快該處理。然后,在頻率和電壓值穩(wěn)定了之后重新開始任務(wù)的執(zhí)行 (503 )。然后,轉(zhuǎn)移到上述步驟500的確認(rèn)處理。另外,在上述步驟501的判斷中,當(dāng)判斷為沒有進(jìn)度比預(yù)定的慢的域(NO)時(shí),進(jìn)行是 否正在執(zhí)行進(jìn)度加速處理的判斷(504 )。在該判斷中,當(dāng)判斷為正 在執(zhí)行進(jìn)度加速處理(YES)時(shí),解除對進(jìn)度的加速中的域的頻率-電壓提升處理(505 )。這是因?yàn)樵谕ㄟ^提高頻率-電壓和提高總線使 用的優(yōu)先級而恢復(fù)了處理的延遲的情況下,不需要進(jìn)度的加速。然后, 在解除了對進(jìn)度的加速中的域的頻率-電壓提升處理之后,轉(zhuǎn)移至上 述步驟500的確認(rèn)處理。另外,在上述步驟504的判斷中,當(dāng)判斷為沒 有在執(zhí)行進(jìn)度加速處理(NO)時(shí)也轉(zhuǎn)移至上述步驟500的確認(rèn)處理。 像這樣觀察各域的處理的進(jìn)展情況,根據(jù)需要?jiǎng)討B(tài)地變更處理器的電 源電壓和提供給該處理器的時(shí)鐘信號的頻率,如果不需要進(jìn)度的加 速,則解除上述電源電壓和時(shí)鐘信號的頻率的提升處理,所以能夠不 引起功耗的增大。
在圖6中,示出根據(jù)在各域執(zhí)行的處理的進(jìn)展情況動態(tài)地變更總 線310的使用的優(yōu)先級時(shí)的流程。
根據(jù)對多處理器管理單元100內(nèi)的控制寄存器208的設(shè)定定期地、 或根據(jù)被賦予的指令確認(rèn)當(dāng)前正在各域執(zhí)行的處理的進(jìn)展情況 (600 )。具體來說,從各域?qū)ι鲜鯮AM201記錄當(dāng)前執(zhí)行中的處理的 進(jìn)展情況,根據(jù)其值計(jì)算相對于必須結(jié)束其處理的時(shí)間在當(dāng)前的設(shè)定 頻率和設(shè)定電壓下其處理是否會結(jié)束。在此,必須結(jié)束處理的時(shí)間對 上述RAM201設(shè)定。然后,進(jìn)行是否存在處理進(jìn)度比預(yù)定慢的域的判 斷(601K在該判斷中,當(dāng)判斷為存在處理進(jìn)度比預(yù)定慢的域(YES) 時(shí),從執(zhí)行優(yōu)先級高的域開始優(yōu)先地提高能使用總線的優(yōu)先級(602 )。 例如使越是需要確保實(shí)時(shí)性的處理優(yōu)先級越高。各域的有效優(yōu)先級可 以設(shè)定在上述域設(shè)定寄存器207中。即,參考各域的處理的進(jìn)展情況 和各域的執(zhí)行優(yōu)先級進(jìn)行總線使用的優(yōu)先級的設(shè)定(602)。在進(jìn)行 了該總線使用的優(yōu)先級的設(shè)定之后轉(zhuǎn)移到上述步驟600的處理。另外, 在上述步驟601的判斷中,當(dāng)判斷為沒有處理進(jìn)度比預(yù)定慢的域(NO) 時(shí),進(jìn)行是否正在執(zhí)行進(jìn)度加速處理(步驟602的處理)的判斷(603 )。 在該判斷中,當(dāng)判斷為正在執(zhí)行進(jìn)度加速處理(步驟602的處理)(YES)時(shí),將上述步驟602中的優(yōu)先級的變更返回到原狀態(tài)之后轉(zhuǎn) 移到上述步驟600的處理(604)。另外,在上述步驟603的判斷中, 當(dāng)判斷為沒有在執(zhí)行進(jìn)度加速處理(步驟602的處理)(NO)時(shí),也 轉(zhuǎn)移到上述步驟600的處理。
按照上述例子,能夠獲得以下的作用效果。 (1 )當(dāng)在各處理器執(zhí)行的程序代碼中存在頻率-電壓控制指令、 截止線設(shè)定的指令、處理的進(jìn)度信息輸出指令時(shí),各處理器140~145
多處理器管理單元IOO,進(jìn)行由程序賦予的靜態(tài)的頻率-電壓控制、多 處理器管理單元100根據(jù)處理的進(jìn)展情況進(jìn)行控制的動態(tài)的頻率-電 壓的控制以及各處理器的總線使用的優(yōu)先級的變更。多處理器管理單 元100在頻率-電壓控制功能有效的情況下,例如定期地確認(rèn)記錄了進(jìn) 展情況和靜態(tài)地賦予的頻率-電壓控制的信息的寄存器等的存儲區(qū) 域,根據(jù)所記錄的值進(jìn)行各處理器的頻率和電壓、以及總線優(yōu)先級的 控制。雖然在各處理器的頻率和電壓被提升的期間功耗增加,但能夠 高速處理。另外,雖然在各處理器的頻率和電壓未被提升的期間不能 高速處理但能減少功耗。因此,通過上述這樣的控制,能夠兼顧包含 多個(gè)處理器的半導(dǎo)體集成電路中的低功耗控制的實(shí)現(xiàn)和要求實(shí)時(shí)性 的處理性能的保障。并且,能夠通過靜態(tài)地指定的頻率-電壓控制指 令和根據(jù)處理的進(jìn)度動態(tài)地控制頻率和電壓的機(jī)構(gòu)的協(xié)調(diào)工作謀求 功耗的降低。
(2 )用于進(jìn)行動態(tài)的控制的進(jìn)度信息在各域?qū)Χ嗵幚砥鞴芾韱?元100賦予。實(shí)際的頻率-電壓控制在各處理器進(jìn)行。由于對各域賦予 處理的進(jìn)展情況,所以肖fe夠削減動態(tài)地進(jìn)行處理的頻率-電壓控制的 運(yùn)算量,消除動態(tài)的頻率-電壓控制和總線優(yōu)先級變更的麻煩。由此 能夠防止動態(tài)的頻率-電壓控制的處理的破綻。
(3)同時(shí),提高屬于進(jìn)度慢的域的處理器利用總線310或RAM147 這樣的公共資源時(shí)的優(yōu)先級。由此,在處理慢的域要利用總線310或 R A M14 7等的公共資源而與其它的域發(fā)生了竟?fàn)幍那闆r下,能優(yōu)先地使用公共資源,由此進(jìn)一步加快處理。
(4)上述(1)至(3)的作用效果,在執(zhí)行手機(jī)的信息接收或 嵌入設(shè)備中的基于用戶指示的處理這樣的對事件進(jìn)行的處理的情況 下,另外在經(jīng)由網(wǎng)絡(luò)下載靜態(tài)地計(jì)劃的程序并執(zhí)行等情況下,在必須 保持實(shí)時(shí)性的處理的執(zhí)行中尤為顯著。
以上基于實(shí)施方式具體說明了本發(fā)明人做出的發(fā)明,但不言而 喻,本發(fā)明并不限定于此,在不脫離其主旨的范圍內(nèi)可進(jìn)行各種變更。
例如,也可以通過控制形成處理器140 145的半導(dǎo)體區(qū)域的^于底 偏壓來控制晶體管的閾值電壓。例如在電壓產(chǎn)生電路204中,在生成 形成處理器140~ 145的半導(dǎo)體區(qū)域的襯底偏壓的情況下,在根據(jù)各域 的處理的進(jìn)展情況提升被提供給處理器的電源電壓時(shí),通過與之聯(lián)動 地對該處理器的nMOS晶體管的襯底施加正的電壓、并對pMOS晶體管 的襯底施加比電源電壓低的電壓,使得形成該處理器的nMOS晶體管 和pMOS晶體管的閾值電壓的絕對值降低。通過降低CMOS晶體管的 閾值電壓的絕對值能夠使該器件高速工作。另外,在不必使處理器高 速工作的情況下,通過預(yù)先對nMOS晶體管的襯底施加負(fù)的電壓并對 pMOS晶體管的襯底施加比電源電壓高的電壓,使得形成該處理器的 nMOS晶體管和pMOS晶體管的閾值電壓的絕對值上升。通過使nMOS 晶體管和pMOS晶體管的閾值電壓的絕對值上升,能夠降低該器件的 漏電流。這在降低多處理器芯片IOO的功耗上是有利的。
工業(yè)上的可利用性
本發(fā)明能夠廣泛應(yīng)用于包含多個(gè)處理器的數(shù)據(jù)處理裝置。
權(quán)利要求
1. 一種半導(dǎo)體集成電路,包含通過分別被提供電壓和時(shí)鐘信號而能執(zhí)行程序的多個(gè)處理器,其特征在于還包含管理單元,該管理單元用于通過組合第一控制和第二控制來使在上述處理器中進(jìn)行處理的進(jìn)度加速,其中,上述第一控制根據(jù)上述程序所包含的控制信息來變更上述電壓的值和上述時(shí)鐘信號的頻率;上述第二控制按照在上述處理器中進(jìn)行處理的進(jìn)展情況來變更被提供給該處理器的上述電壓的值和上述時(shí)鐘信號的頻率。
2. 根據(jù)權(quán)利要求1所述的半導(dǎo)體集成電路,其特征在于 在包含執(zhí)行預(yù)定處理的1個(gè)以上處理器的各組中設(shè)定域,上述第二控制按照各域的上述進(jìn)展情況來進(jìn)行。
3. 根據(jù)權(quán)利要求1所述的半導(dǎo)體集成電路,其特征在于 上述管理單元包含按照上述各域的上述進(jìn)展情況來變更總線使用的優(yōu)先級的處理。
4. 一種半導(dǎo)體集成電路,其特征在于包含通過分別被提供電壓和時(shí)鐘信號而能執(zhí)行程序的多個(gè)處理 器、和用于使在上述處理器中進(jìn)行處理的進(jìn)度加速的管理單元,上述管理單元包含用于執(zhí)行第 一控制、第二控制以及第三控制的 處理器,其中,上述第一控制根據(jù)上述程序所包含的控制信息來變更上述電壓 的值和上述時(shí)鐘信號的頻率;上述第二控制按照在上述處理器中進(jìn)行 處理的進(jìn)展情況來變更被提供給該處理器的上述電壓的值和上述時(shí) 鐘信號的頻率;上述第三控制能按照在上述處理器中進(jìn)行處理的進(jìn)展 情況來變更總線使用的優(yōu)先級,在包含執(zhí)行預(yù)定處理的1個(gè)以上處理器的各組中設(shè)定域, 在上述第二控制中包含第一處理和第二處理,其中, 上述第一處理確認(rèn)上述各域的進(jìn)行處理的進(jìn)展情況;上述第二處理在存在進(jìn)度比預(yù)定慢的域的情況下在進(jìn)度慢的域之中,從優(yōu)先級高 的域開始,順次針對屬于該域的處理器使上述電壓的值和上述時(shí)鐘信 號的頻率上升。
5. 根據(jù)權(quán)利要求4所述的半導(dǎo)體集成電路,其特征在于 在上述第三控制中包含第三處理和第四處理,其中,上述第三處理確認(rèn)各域的進(jìn)行處理的進(jìn)展情況,上述第四處理設(shè) 定總線使用的優(yōu)先級,使得越是必須確保實(shí)時(shí)性的域優(yōu)先級越高,并 且,在優(yōu)先級出現(xiàn)竟?fàn)幍那闆r下,提高關(guān)于進(jìn)度慢的域的總線使用的 優(yōu)先級。
6. —種半導(dǎo)體集成電路,包含通過分別被提供電壓和時(shí)鐘信號 而能執(zhí)行程序的多個(gè)處理器,其特征在于還包含運(yùn)算電路,能基于根據(jù)上述程序所包含的控制信息而設(shè)定的上述 電壓的值和上述時(shí)鐘信號的頻率、和各域的進(jìn)行處理的進(jìn)展情況,來 計(jì)算用于滿足結(jié)束處理所需要的請求時(shí)間的工作頻率和工作電壓;時(shí)鐘生成電路,用于生成基于上述運(yùn)算電路的計(jì)算結(jié)果的頻率的 時(shí)鐘信號并將其提供給相應(yīng)的處理器;以及電壓產(chǎn)生電路,用于將基于上述運(yùn)算電路的計(jì)算結(jié)果的工作電壓 和襯底偏壓提供給相應(yīng)的處理器。
7. 根據(jù)權(quán)利要求6所述的半導(dǎo)體集成電路,其特征在于 上述電壓產(chǎn)生電路通過隨著上述處理器的工作電壓的控制使該處理器的襯底偏壓上升或下降,能夠控制形成該處理器的器件的閾值 電壓。
8. 根據(jù)權(quán)利要求6所述的半導(dǎo)體集成電路,其特征在于 上述運(yùn)算電路包含用于按照上述各域的進(jìn)行處理的進(jìn)展情況來變更總線使用的優(yōu)先級的處理。
9. 根據(jù)權(quán)利要求1-8中任一項(xiàng)所述的半導(dǎo)體集成電路,其特征 在于上述處理器是通用處理器、DSP或可重構(gòu)處理器。
全文摘要
兼顧包含多個(gè)處理器的半導(dǎo)體集成電路中的低功耗控制的實(shí)現(xiàn)和要求實(shí)時(shí)性的處理性能的保障。在包含多個(gè)處理器的半導(dǎo)體集成電路中,設(shè)置管理單元,該管理單元用于通過組合第一控制和第二控制來使在上述處理器中進(jìn)行處理的進(jìn)度加速,其中,上述第一控制根據(jù)程序所包含的控制信息來變更電壓的值和時(shí)鐘信號的頻率;上述第二控制按照在上述處理器中進(jìn)行處理的進(jìn)展情況來變更上述電壓的值和上述時(shí)鐘信號的頻率。雖然各處理器的頻率和電壓被提升的期間功耗增加,但能夠進(jìn)行高速處理。并且,雖然各處理器的頻率和電壓未被提升期間不能高速處理,但能夠減少功耗。由此,能夠兼顧包含多個(gè)處理器的半導(dǎo)體集成電路中的低功耗控制的實(shí)現(xiàn)和要求實(shí)時(shí)性的處理性能的保障。
文檔編號H01L27/04GK101438246SQ200680054598
公開日2009年5月20日 申請日期2006年6月7日 優(yōu)先權(quán)日2006年6月7日
發(fā)明者田中博志, 黑田雄樹 申請人:株式會社日立制作所