控制器nCla可以包括:指令地址發生器211a、指令寄存器215、指令解碼器216以及指令執行單元217。第一納控制器nCla還可以包括作業分配狀態寄存器 219。
[0101]指令地址發生器211a可以根據第一作業請求JREQ1產生第一目標指令地址IADDRlo例如,第一作業請求JREQ1可以直接包括第一目標指令地址IADDR1。在這種情況下,指令地址發生器211a可以包括用于存儲并且輸出第一目標指令地址IADDR1的程序計數器214。
[0102]根據第一目標指令地址IADDR1,指令寄存器215可以取得包括在存儲于指令存儲器300內的指令中的第一目標指令INST1。指令寄存器215可以存儲第一目標指令INST1。
[0103]指令解碼器216可以對取得的第一目標指令INST1進行解碼。指令執行單元217可以執行解碼的第一目標指令INST1。例如,指令執行單元217可以包括算術邏輯單元(ALU)。
[0104]作業分配狀態寄存器219可以表示圖2中的多個納控制器200的當前作業狀態。例如,作業分配狀態寄存器219可以存儲與圖2中的各納控制器的當前作業狀態對應的多個值。
[0105]在一些示范實施例中,多個值中的第k值可以對應于第k納控制器的狀態,其中k是等于或者大于1并且等于或者小于η的自然數。當不對第k納控制器分配任何目標作業時,可以將第k值設定到第一邏輯級(例如,“0”)。當對第k納控制器分配目標作業并且第k納控制器執行該目標作業時,可以將第k值設定為第二邏輯級(例如,“1”)。例如,當第一納控制器nCla處于空閑狀態時,可以將存儲于作業分配狀態寄存器219內用于指出第一納控制器nCla的狀態的第一值設定為第一邏輯級。當對第一納控制器nCla分配第一目標作業并且第一納控制器nCla執行第一目標作業時,可以代之以將第一值設定為第二邏輯電平。當第一納控制器nCla完成第一目標作業時,可以將第一值設定回第一邏輯電平。
[0106]參考圖7,第一納控制器nClb可以包括:指令地址發生器211b、指令寄存器215、指令解碼器216和指令執行單元217。第一納控制器nClb還可以包括作業分配狀態寄存器219。
[0107]指令地址發生器211b可以根據第一作業請求JREQ1產生第一目標指令地址IADDRlo例如,第一作業請求JREQ1可以包括第一作業命令JCMD1。在這種情況下,指令地址發生器211b可以包括命令解碼器213和程序計數器214。命令解碼器213可以解碼第一作業命令JCMD1,以產生第一目標指令地址IADDR1。程序計數器214可以存儲并且可以輸出第一目標指令地址IADDR1。
[0108]在一些示范實施例中,命令解碼器213可以由硬件實現。在其他示范實施例中,命令解碼器213可以由第一納控制器nClb可執行的軟件實現。
[0109]圖7中的指令寄存器215、指令解碼器216、指令執行單元217以及作業分配狀態寄存器219可以分別與圖6中的指令寄存器215、指令解碼器216、指令執行單元217以及作業分配狀態寄存器219基本上相同。例如,指令寄存器215可以根據第一目標指令地址IADDR1從指令存儲器300取得第一目標指令INST1。指令解碼器216可以解碼第一目標指令INST1。指令執行單元217可以執行第一目標指令INST1。作業分配狀態寄存器219可以存儲圖2中的多個納控制器200的當前作業狀態。
[0110]參考圖8,第一納控制器nClc可以包括:指令地址發生器211c、指令寄存器215、指令解碼器216以及指令執行單元217。第一納控制器nClc還可以包括作業分配狀態寄存器 219。
[0111]指令地址發生器211c可以根據第一作業請求JREQ1產生第一目標指令地址IADDRlo例如,第一作業請求JREQ1可以包括第一目標指令地址IADDR1或者第一作業命令JCMDlo在這種情況下,指令地址發生器211c可以包括:選擇器212、命令解碼器213和程序計數器214。當第一作業請求JREQ1包括第一作業命令JCMD1時,選擇器212可以將第一作業命令JCMD1送到命令解碼器213。當第一作業請求JREQ1包括第一目標指令地址IADDR1時,選擇器212可以將第一目標指令地址IADDR1送到程序計數器214。命令解碼器213可以解碼第一作業命令JCMD1,以產生第一目標指令地址IADDR1。程序計數器214可以存儲并且可以輸出第一目標指令地址IADDR1。
[0112]圖8中的指令寄存器215、指令解碼器216、指令執行單元217以及作業分配狀態寄存器219可以分別與圖6中的指令寄存器215、指令解碼器216、指令執行單元217以及作業分配狀態寄存器219基本上相同
[0113]圖9是示出包括在圖2的電源管理系統中的第二納控制器nC2的示范實施例的方框圖。
[0114]下面將根據圖5中的例子描述圖9的示范實施例,在圖5中,根據第二 ID nCID2,對第二納控制器分配對應于第一作業請求JREQ1的第一目標作業。
[0115]參考圖9,第二納控制器nC2可以包括:指令地址發生器221、指令寄存器225、指令寄存器226和指令執行單元227。
[0116]指令地址發生器221可以根據第一作業請求JREQ1產生第一目標指令地址IADDRlo在一些示范實施例中,如圖6所示,指令地址發生器221可以包括程序計數器。在其他示范實施例中,如圖7所示,指令地址發生器221可以包括命令解碼器和程序計數器。在又一些其他示范實施例中,如圖8所示,指令地址發生器221可以包括:選擇器、命令解碼器和程序計數器。
[0117]指令寄存器225可以根據第一目標指令地址IADDR1從指令存儲器300中取得第一目標指令INST1。指令解碼器226可以解碼第一目標指令INST1。指令執行單元227可以執行第一目標指令INST1。
[0118]與圖6中的第一納控制器nCla、圖7中的第一納控制器nClb和圖8中的第一納控制器nClc不同,圖9中的第二納控制器nC2中可以省略作業分配狀態寄存器。在一些示范實施例中,第二納控制器nC2可以不包括作業分配狀態寄存器。在其他示范實施例中,第二納控制器nC2可以包括作業分配狀態寄存器,然而,可以不激活第二納控制器nC2中的作業分配狀態寄存器。
[0119]盡管圖6、7、8和9中未示出,但是圖2中的被編程為第一子序列發生器的第二至第η納控制器nC2........nCn具有基本上相同的結構。例如,與圖9中的第二納控制器
nC2相似,圖3、4和5中的第三和第四納控制器nC3和nC4中的每個都可以包括:指令地址發生器、指令寄存器、指令解碼器和指令執行單元。圖3、4和5中的第三和第四納控制器nC3和nC4中的每個中可以省略作業分配狀態寄存器。
[0120]圖10、11和12是用于描述圖2的電源管理系統的操作的示意圖。
[0121]參考圖1、2和10,可以將第一納控制器nCl編程為中央序列發生器。可以將第二、第三和第四納控制器nC2、nC3和nC4編程為取決于第一納控制器nCl的子序列發生器。與圖3的例子相同,納控制器nC2、nC3和nC4中的每個都可以控制功能塊30、40和50中的各功能塊的功率。
[0122]CPU 20可以將多個作業請求JREQA、JREQB、JREQC和JREQD送到第一納控制器nCl。第一納控制器nCl可以對第一至第四納控制器nCl、nC2、nC3和nC4分配對應于作業請求JREQA、JREQB、JREQC和JREQD的多個目標作業。在這種情況下,如上參考圖4和5所述,可以根據第一至第四納控制器nCl、nC2、nC3和nC4的當前作業狀態對第一至第四納控制器nCl、nC2、nC3和nC4分配多個目標作業。例如,可以對第一納控制器nCl分配對應于第一作業請求JREQA的第一目標作業。可以對第二納控制器nC2分配對應于第二作業請求JREQB的第二目標作業。可以對第三納控制器nC3分配對應于第三作業請求JREQC的第三目標作業。可以對第四納控制器nC4分配對應于第四作業請求JREQD的第四目標作業。
[0123]第一至第四納控制器nCl、nC2、nC3和nC4可以根據作業請求JREQA、JREQB、JREQC和JREQD執行目標作業。例如,第一至第四納控制器nCl、nC2、nC3和nC4可以根據多線方案THDA、THDB、THDC和THDD執行目標作業。換句話說,在單個進程中,基本上可以同步執行目標作業。
[0124]當第一至第四納控制器nCl、nC2、nC3和nC4完成多個目標作業時,第二至第四納控制器nC2、nC3和nC4可以分別利用返回指令RTNB、RTNC和RTND將已經完成第二、第三和第四目標作業通知第一納控制器nCl。第一納控制器nCl可以利用返回指令RTNA、RTNB、RTNC和RTND將已經完成第一、第二、第三和第四目標作業通知CPU 20。
[0125]參考圖1、2和11,可以將第一納控制器nCl編程為中央序列發生器。可以將第一納控制器nCl之外的納控制器中的一些編程為取決于中央序列發生器的子序列發生器。在圖11的例子中,將第二、第三和第四納控制器nC2a、nC3a和nC4a編程為取決于第一納控制器nCl的子序列發生器。
[0126]在一些示范實施例中,納控制器nC2a、nC3a和nC4a中的每個都可以控制存儲于信號映射存儲器400中的每組信號。例如,第二納控制器nC2a可以控制一組復位信號,第三納控制器nC3a可以控制一組數據保留控制信號,并且第四納控制器nC4a可以控制一組供電電壓。換句話說,第二納控制器nC2a可以控制送到第一功能塊30的第一復位信號RST1、送到第二功能塊40的第二復位信號RST2以及送到第三功能塊50的第三復位信號RST3。第三納控制器nC3a可以控制送到第一功能塊30的第一數據保留控制信號RETN1、送到第二功能塊40的第二數據保留控制信號RETN2以及送到第三功能塊50的第三數據保留控制信號RETN3。第四納控制器nC4a可以控制送到第一功能塊30的第一供電電壓PWR、送到第二功能塊40的第二供電電壓PWR2以及送到第三功能塊50的第三供電電壓PWR3。
[0127]如上參考圖4、5和10所述,可以根據第一至第四納控制器nCl、nC2a、nC3a和nC4a的當前作業狀態,對第一至第四納控制器nCl、nC2a、nC3a和nC4a中的至少一個分配至少一個目標作業。第一至第四納控制器nCl、nC2a、nC3a和nC4a中的至少一個可以根據單線方案或者多線方案執行至少一個目標作業。
[0128]參考圖1、2和12,可以將第一納控制器nCl編程為中央序列發生器。可以將第一納控制器nCl之外的納控制器中的一些編程為取決于中央序列發生器的第一子序列發生器。可以將第一納控制器nCl之外的又一些其他納控制器編程為取決于第一子序列發生器的第二子序列發生器。在圖12的例子中,可以將第二、第三和第四納控制器nC2b、nC3b和nC4b編程為取決于第一納控制器nCl的第一子序列發生器。可以將第五、第六和第七納控制器nC5b、nC6b和nC7b編程為取決于第二納控制器nC2b的第二子序列發生器。可以將第八和第九納控制器nC8b和nC9b編程為取決于第三納控制器nC3b的第二子序列發生器。
[0129]在一些示范實施例中,第二至第四納控制器nC2b、nC3b和nC4b以及第五至第九納控制器nC5b、nC6b、nC7b、nC8b和nC9b中的每個都可以控制包括在SoC 10中的功能塊中的各功能塊的功率。在其他示范實施例中,第二至第四納控制器nC2b、nC3b和nC4b以及第五至第九納控制器nC5b、nC6b、nC7b、nC8b和nC9b中的每個都可以控制存儲于信號映射存儲器400內的各信號組。
[0130]如上參考圖4、5和10所示,可以根據第一至第九納控制器11(:1、1^213、1^313、1^413、nC5b、nC6b、nC7b、nC8b和nC9b的當前作業狀態對第一至第九納控制器nCl、nC2b、nC3b、nC4b、nC5b、nC6b、nC7b、nC8b和nC9b中的至少一個分配至少一個目標作業。第一至第九納控制器nCl、nC2b、nC3b、nC4b、nC5b、nC6b、nC7b、nC8b