專利名稱:收集閉合系統的運行信息的制作方法
技術領域:
本發明涉及閉合系統,具體地說涉及收集關于閉合系統的運行信息。
背景技術:
用戶日益要求諸如移動臺等電子裝置具有更好的可用性和更多的用途。今天,移動臺不再僅僅用來呼叫,而是用于諸如日歷、游戲機、互聯網瀏覽器和照相機等其他許多目的。這樣的移動應用的數目隨著移動臺的普及和開發急劇增加,不斷開發出新的更加復雜的移動應用。
隨著諸如移動應用等電子裝置應用數目的增加,要求電子裝置有比過去更好的性能,結果對資源的使用顯著增加,因而也顯著增加功率消耗。于是有可能要求電子裝置在瞬間具有高性能,或另一方面,當應用處于被動狀態時,電子裝置處于空閑狀態。因而,電子裝置的性能并不總是對應于實際的性能要求。
先有技術基于軟件的方法難以收集諸如時鐘脈沖等操作系統信息并確定跟隨諸如ASIC電路等閉合系統的操作的性能以及確定閉合系統工作能力的分配,因為在閉合系統中軟件的運行本身給總線施加負載。這就是為什么電子裝置的性能一般都是由閉合系統內部確定的,這意味著無法找出實際造成問題的部位。另一個問題包括收集方法的緩慢和只能在設計階段非常晚的時候才能通過分析方法收集運行信息并確定其性能,甚至那時所得的結果也只是實際運行信息和性能的估計值。此外,利用當前的方法根本無法確定高速緩存的性能和整個閉合系統的頻率。所述方法的復雜性造成了另一個問題,所述問題本身又引起費用和出錯危險的增加。
從美國專利US5,164,969得知的一種解決方案是測量和調整RISC(精簡指令系統計算機)系統的性能。但所述公開中的確定方法基于計算一個RISC系統事件中的最小和最大的連續周期數。所述方法的問題是,它計算峰值而不是連續執行次數。
發明內容
因而本發明的目的是研制一種以能夠減少上述缺點的方式實施所述方法的方法和裝置。本發明的目的通過具有以下特征的方法、系統、裝置和軟件來達到。本說明書中闡述了本發明的最佳實施例。
本發明基于這樣的事實,即,諸如ASIC等閉合系統的諸如RAM或DMA部件等至少一個可監控的部件具有功能上與之連接并用來收集關于被監控部件的運行信息的裝置,所述運行信息包括諸如到達所述部件的時鐘脈沖或在執行功能過程中過去的時鐘脈沖。所述裝置用來把所收集的運行信息發送到數據收集器,所述數據收集器在功能上與所述裝置連接并包括至少一個寄存器、用以存儲由所述裝置發送的運行信息。
按照本發明最佳實施例,所述收集系統還包括至少一個分析模塊,用來接收從數據收集器發送的有關被監控部件的運行信息。分析模塊用來根據所述運行信息確定所述部件的性能和/或功率消耗。本文中把作為分析結果而獲得的信息稱為分析信息。
按照本發明第二個最佳實施例,收集系統還包括控制模塊,用來接收由分析模塊發送的分析信息。所述控制模塊包括一般由軟件實現的控制算法,借助于所述軟件控制模塊根據所述分析信息調整閉合系統的性能和/或功率消耗。
本發明的配置提供明顯的優點。一個優點是,它既有可能把運行信息的收集方法應用于設計階段、從而有可能根據要求指導設計工作,又有可能在運行時把運行信息的收集方法應用于完成的最終產品、從而有可能根據需要調整性能因而減少資源的消耗,這本身又允許降低諸如移動臺等最終產品的工作電壓。另一個優點是,把本發明的收集系統的硬件實現減至最少,因為所述系統可以至少部分地由軟件實現。所述用于收集運行信息的系統使得有可能迅速而可靠地優化閉合系統的性能,因此可以使設計參數化并改善利用現有資源的效率。另一個優點是,軟件設計者可以容易地檢測出他的應用對閉合系統性能的影響,從而檢測出為軟件設計所分配的資源是否太多了。
現將參考附圖,通過最佳實施例更詳細地描述本發明,附圖中圖1表示簡化的微型計算機及其最基本的部件;圖2表示處理器的簡化的結構;以及圖3是本發明最佳實施例的收集系統的方框圖。
具體實施例方式
諸如移動臺等數字電子裝置一般都包括幾個微型計算機。如圖1所示,微型計算機最重要的部件一般是處理器1、存儲器2、外圍設備3和接口邏輯4。
處理器1是控制微型計算機操作的單元并且執行存儲在存儲器2中的程序5、處理存儲器2中的信息、例如通過處理諸如中斷等外圍設備3請求的服務來控制外圍設備3的工作、并根據需要分配微型計算機的資源。處理器1的操作基于處理器1接收包括位在內的命令這一事實。
存儲器2的任務是存儲控制處理器1的操作的程序和要存儲較長時間的任何信息。存儲器2還包含諸如堆棧和中斷向量等處理器1的特定的數據結構。存儲器2可以粗略地劃分為其中存儲諸如操作系統等固定程序的只讀存儲器(ROM)以及用于讀和寫操作的隨機存取存儲器(RAM)。
外圍設備3把微型計算機連接到外部世界6,因為它能夠把數據傳入或傳出微型計算機。處理器1一般控制外圍設備3的操作,但是外圍設備3也能夠與處理器1通信。例如,處理器1檢查外圍設備3是否需要服務(查詢)或當有需要(中斷)時,外圍設備3向處理器1請求幫助。
接口邏輯4的任務是一般通過總線邏輯把處理器1、存儲器2和外圍設備3彼此連接起來。總線邏輯還可以把外圍設備3連接到外部世界6。總線由導線構成,它們一般分成控制總線,它把控制發送到與處理器1連接的部件;地址總線,它指示存儲器地址,例如要存儲數據的存儲器地址;以及數據總線,其中傳輸實際的數據。
在圖1和圖2中使用相同的標號。圖2較詳細地表示處理器1的結構。處理數據之前,處理器1一般把數據從處理器1的外部存儲器2傳輸到處理器1內部的存儲位置,亦即寄存器。數據處理過程中產生的中間結果也保存在寄存器中,因為它會加快處理器的操作。處理器1的寄存器一般包括累加器7和地址寄存器8。當處理器1需要從一個單元讀取數據時,解釋程序9把地址設置在地址寄存器8中,傳輸到地址總線10。解釋程序9向三模(three mode)緩沖器提供控制信號,結果向數據總線4發送輸入信號13。在下一個時鐘周期過程中,輸入信號13存儲在累加器7中。處理器1一般還具有程序計數器15,其任務是指示存儲器2中要執行的下一條指令的地址;以及指令寄存器16,它存儲從存儲器2取出的指令,以便控制裝置17來得及解釋和執行組成控制信號18的一連串事件。
除控制和調整任務外,微型計算機的第二個重要的應用領域是數學計算,為了讓處理器1執行數學計算,處理器1具有算術邏輯單元(ALU)19。處理器1一般還包括標志,所述標志作為不同功能的結果而被來回轉向(flip-flops)設置為邏輯0或1。微型計算機中的判斷取決于于不同標志的設置狀態。例如,當累加器的內容為0時,Z標志20被設置為1。而當其內容不等于零時,Z標志被復位為0。
專用集成電路(ASIC)是一種邏輯電路,它一般可以具有多達幾百萬個由晶體管形成的邏輯門。使電路上的邏輯同步的時鐘信號一般輸入到ASIC。在ASIC中可以設計一些獨立的邏輯實體。于是這種類型的電路可以具有優異的專用特性。由于這些邏輯門的的延遲短,ASIC還是快速的。ASIC的設計是費時的并且費用相對較高,但是一般采用VHDL(超高速集成電路硬件描述語言)語言來進行設計,使得在后期產品中可以采用代碼。可以結合到所述電路中的現成的功能塊,即,IP功能塊(知識產權功能塊)、諸如DSP(數字信號處理)核心、處理器、存儲器電路和計數器等當前可用于ASIC。
ASIC和FPGA(現場可編程門陣列)電路是閉合系統的一些實例。閉合系統在這里是指這樣一種數據處理系統,它在制造過程之后基本上包括要求的各部件,但即使在制造之后仍然可以以這樣的方式添加部件、使得添加這些部件之后形成新的閉合系統。
在電子裝置中,軟件的操作需要電子裝置的閉合系統的性能。有時,要求電子裝置具有瞬間高性能,而有時電子裝置處于空閑狀態。因此,需求可能明顯地變化,因而電子裝置的性能并非總是對應于實際的性能要求。先有技術收集運行信息并確定性能的方法不準確的、復雜并且緩慢,它們的應用一般只限于監控閉合系統的某些部件以及某些設計階段。
按照本發明的最佳實施例,為閉合系統形成用于軟件的接口。通過所述接口獲得關于ASIC電路操作和實行軟件功能過程中操作能力的分布信息。采用這種方法,可以求出所述軟件給予ASIC電路的負擔如何,因而例如優化了所述軟件對資源的消耗。結果,比較容易了解和說明ASIC電路的行為,因而可以比過去更可靠和更早地分析ASIC電路設計上的改變對閉合系統性能的影響。
參考圖3所示簡化的方框圖,下面描述按照本發明最佳實施例的收集系統,其中,諸如移動臺等電子裝置的收集系統(本實施例中是ASIC電路)不僅包括處理器(微控制器MCU)32、RAM存儲器33、多媒體卡(MMC)34、直接存儲器存取(DMA)組件35,而且包括功能上連接到被監控的部件32、33、34和35的裝置(I)37以及功能上連接到所述裝置的數據收集器(DC)38。
在所述收集系統中,裝置37用來收集被監控部件32、33、34和35的運行信息,諸如到達所述部件的時鐘脈沖和在諸如讀或寫操作等功能的執行過程中和等待過程中過去的時鐘脈沖。裝置37用來把所述運行信息通過相應的測量信號39向前發送到數據收集器38(例如實時地或以這樣一種方式、即、裝置37存儲運行信息而數據收集器38按照一定的時間間隔取出所述信息),數據收集器38在功能上連接到所述裝置并包括至少一個寄存器(R)40。部件32、33、34和35的運行信息存儲在數據收集器38的寄存器40上。數據收集器38向前把運行信息發送到所述收集系統的分析模塊(AM)41,分析模塊41用來根據所述運行信息確定所述閉合系統的性能。例如通過比較進入所述部件的時鐘脈沖數和執行某功能過程中所經過的時鐘脈沖數來確定所述閉合系統的性能。然后可以把所述信息與其他部件的信息進行比較,以便找出例如一個部件是否過久地等待另一個部件的動作。由分析模塊41進行的性能確定的結果是分析信息,所述分析信息可以用來定義ASIC的性能,諸如內部功能、等待時間和適應沖突。可以根據分析信息準確地監控ASIC電路31的性能。
由于分析模塊41具有連接到處理器的總線接口,處理器任何時候都可以獲得分析信息。測量信號39和分析模塊41的數量一般可以在實現過程中選擇。分析模塊41的操作最好可以在運行時編程。
分析模塊41還用來把分析信息發送給控制模塊(CM)42,控制模塊42包括控制算法。例如,控制模塊42用來通過根據分析信息控制影響部件32、33、34和35操作能力的分配來優化ASIC電路的性能。控制模塊42的操作最好也能夠在運行時編程。
分析信息可以用來例如對程序進行再編制。例如,可以通過使處理器在較低的時鐘頻率下運行來優化性能。
電子裝置的應用(A)44的操作基于電子裝置的操作系統(OS)43的操作。所述操作系統最好在功能上連接到控制模塊42,結果是,可以按照本發明來確定和控制應用44的操作所引起的資源消耗。
還可以以被監控的部件32、33、34和35與數據收集器38之間的導線的形式來實現裝置37。裝置37不必直接連接到被監控的部件32、33、34和35,而是駐留在任何地方,只要功能上連接到被監控的部件32、33、34和35即可。數據收集器38也可以在閉合系統31的內部或外部實現,只要它在功能上與裝置相連。此外,一個數據收集器38可以收集幾個不同的閉合系統的運行信息。按照最佳實施例,所述系統收集閉合系統的運行信息、以便確定和調整所述系統的功率消耗。分析模塊借助于所述部件的諸如時鐘脈沖等的運行信息來確定例如所述部件的工作頻率,所述工作頻率還有助于確定閉合系統的功率消耗。根據所述分析信息,有可能控制所述系統的功率消耗。
借助于上述用于收集閉合系統的運行信息的系統,有可能實現收集閉合系統31的運行信息的方法。按照所述方法的一個最佳實施例,利用功能上連接到這些部件的裝置37可以收集來自閉合系統可監控的部件32、33、34和35的運行信息。裝置37把運行信息向前發送到數據收集器38,在這里它被存儲在至少一個寄存器40中。被監控的部件32、33、34和35的運行信息被發送到分析模塊41,它根據所接收的部件32、33、34和35的運行信息,確定閉合系統31的性能。
按照另一個最佳實施例,控制模塊42可以在功能上連接到分析模塊41,在這里可以根據從分析模塊接收的分析信息調整閉合系統31的性能。
本發明的方法和系統提供可靠、快速和容易實現的收集有關閉合系統的運行信息量的途徑。所述收集系統使改善性能效率成為可能,因而減少電子裝置的能量消耗和工作電壓。因為所述系統已經可以用于設計階段過程中,所以可以認為設計階段的措施在改善電子裝置的可靠性和降低成本方面是必要的。此外,在運行時,所述收集系統和方法可以用于完成的最終產品上。
本發明的收集系統和方法的硬件實現是最少的和簡單的,因為所有高層定義和控制功能都可以用軟件實現。
本發明的收集運行信息的系統具有兩個不同的使用目的。在系統分析中,亦即在研究和產品開發過程中的校驗中,所述系統可以用來在軟件運行過程中收集諸如ASIC等閉合系統的運行信息。所述收集系統使確定閉合系統產生的并由軟件引起的反應時間、可能的熱點和瓶頸成為可能。盡早找出可能的問題方便了設計并改進最終產品的可靠性。第二個使用目的是,借助于分析模塊41確定最終電子裝置運行時的性能,并借助于控制模塊42中的控制算法根據需要調整所述性能。
閉合系統中新型收集系統的實現以及將其結合為軟件分析工具的一部分,為軟件設計者提供了迅速而輕易地檢測應用對閉合系統操作的影響的可能性。設計者可以在確定由軟件引起的處理器的負載和軟件的性能時輸入用于分析的參數。換句話說,軟件設計者可以容易地確定所述軟件模塊是否超過對軟件設計所設定的限制。
上面描述了用于收集閉合系統運行信息和用于確定其性能的系統和方法。最好可以通過適合于所述電子裝置的軟件產品來提供所述收集和調整功能,所述軟件產品可以包括用于接收被監控的部件的工作模式的執行頻率并且用于根據所接收的被監控的部件的運行信息確定閉合系統的性能和/或功率消耗的軟件代碼;用于根據從分析模塊41接收的分析信息調整閉合系統的性能和/或功率消耗的軟件代碼;用于在運行時對分析模塊41的操作進行編程的軟件代碼;和/或用于在運行時控制控制模塊42的操作的軟件代碼。
對于本專業的技術人員來說,顯然,盡管工藝先進,本發明的基本思想可以用許多不同的途徑實現。本發明及其實施例并不限于上面描述的實例,而是在權利要求書的范圍內可以加以改變。
權利要求
1.一種收集系統,用來收集閉合系統(31)的運行信息,它包括以下被監控的部件中的至少一個-處理器(32)-存儲器(33)-外圍設備(34,35)-接口邏輯(36)其特征在于所述收集系統還包括至少一個裝置(37),它功能上連接到閉合系統(31)的可監控的部件(32,33,34,35,36)并且用來收集所述部件(32,33,34,35,36)中的至少一個的運行信息,以及數據收集器(38),它包括至少一個寄存器(40)并用來接收由所述裝置(37)收集的運行信息,所述寄存器用來存儲所述運行信息。
2.如權利要求1所述的收集系統,其特征在于所述收集系統還包括至少一個分析模塊(41),用來從所述數據收集器(38)接收所述至少一個部件(32,33,34,35,36)的所述運行信息并根據所述接收的所述至少一個部件(32,33,34,35,36)的運行信息確定所述閉合系統(31)的性能和/或功率消耗。
3.如權利要求2所述的收集系統,其特征在于所述收集系統還包括至少一個控制模塊(42),所述控制模塊包括至少一種控制算法并且在功能上連接到所述分析模塊(41),所述控制模塊用來響應從所述分析模塊(41)接收的分析信息而調整所述閉合系統(31)的所述性能和/或功率消耗。
4.如權利要求1-3中任何一個所述的收集系統,其特征在于以下部件中至少一個用來連接成所述閉合系統(31)的一部分-所述裝置(37)-所述數據收集器(38)-所述分析模塊(41)-所述控制模塊(42)。
5.如權利要求1-4中任何一個所述的收集系統,其特征在于所述裝置(37)是所述被監控的部件(32,33,34,35,36)和所述數據收集器(38)之間的導線。
6.如權利要求1-5中任何一個所述的收集系統,其特征在于所述裝置(37)用來存儲所述運行信息。
7.如權利要求1-6中任何一個所述的收集系統,其特征在于所述數據收集器(38)用來接收所述閉合系統(31)中一個或多個被監控的部件的所述運行信息。
8.如權利要求2-7中任何一個所述的收集系統,其特征在于所述分析模塊(41)和/或控制模塊是在運行時可編程的。
9.如權利要求1-8中任何一個所述的收集系統,其特征在于所述閉合系統(31)是以下各系統之一-ASIC(專用集成電路)-FPGA(現場可編程門陣列)電路。
10.一種收集閉合系統(31)的運行信息的方法,所述閉合系統包括以下被監控的部件中的至少一個-處理器(32)-存儲器(33)-外圍設備(34,35)-接口邏輯(36)其特征在于借助于功能上連接到所述部件的裝置(37)收集所述閉合系統(31)的所述至少一個可監控的部件(32,33,34,35,36)的運行信息,把所述運行信息的至少一部分發送給數據收集器(38),以及把所述運行信息的至少一部分存儲在所述數據收集器(38)的至少一個寄存器(40)中。
11.如權利要求10所述的方法,其特征在于根據所述接收的至少一個部件(32,33,34,35,36)的運行信息,在功能上連接到所述數據收集器(38)的分析模塊(41)中確定所述閉合系統(31)的性能和/或功率消耗。
12.如權利要求11所述的方法,其特征在于控制模塊(42)功能上連接到所述分析模塊(41),以此響應從所述分析模塊(41)接收的所述分析信息,調整所述閉合系統(31)的性能和/或功率消耗。
13.如權利要求10至12中任何一個所述的方法,其特征在于把所述運行信息存儲在所述裝置(37)中。
14.如權利要求10至13中任何一個所述的方法,其特征在于在一個數據收集器(38)接收所述閉合系統(31)的一個或多個部件(32,33,34,35,36)的運行信息。
15.如權利要求11至14中任何一個所述的方法,其特征在于在運行時對所述分析模塊(41)和/或控制模塊(42)的操作進行編程。
16.一種包括閉合系統(31)的電子裝置,所述閉合系統包括以下被監控的部件中的至少一個-處理器(32)-存儲器(33)-外圍設備(34,35)-接口邏輯(36)其特征在于所述電子裝置(31)還包括裝置(37),它功能上連接到所述閉合系統(31)的至少一個可監控的部件(32,33,34,35,36)并且用來收集關于所述部件(32,33,34,35,36)的運行信息,以及數據收集器(38),它包括至少一個寄存器(40)并用來接收由所述裝置(37)收集的所述運行信息,所述寄存器(40)用來存儲所述運行信息。
17.如權利要求16所述的電子裝置,其特征在于所述電子裝置還包括至少一個分析模塊(41),用來從所述數據收集器(38)接收所述至少一個部件(32,33,34,35,36)的所述運行信息并根據所述接收的所述至少一個部件(32,33,34,35,36)的所述運行信息確定所述閉合系統(31)的性能和/或功率消耗。
18.如權利要求17所述的電子裝置,其特征在于所述電子裝置還包括至少一個控制模塊(42),所述控制模塊包括至少一種控制算法并且在功能上連接到所述分析模塊(41),所述控制模塊用來響應從所述分析模塊(41)接收的分析信息而調整所述閉合系統(31)的性能和/或功率消耗。
19.如權利要求16-18中任何一個所述的收集系統,其特征在于所述電子裝置是下列裝置之一-移動臺-計算機-電視機。
20.一種適合于電子裝置的軟件產品,其特征在于所述軟件產品包括用于收集所述電子裝置中閉合系統(31)的至少一個可監控部件(32,33,34,35,36)的運行信息的軟件代碼,以及用于接收和存儲所述運行信息的軟件代碼。
21.如權利要求20所述的軟件產品,其特征在于所述軟件產品還包括下列軟件代碼中的至少一種-用于根據所述接收的所述至少一個部件(32,33,34,35,36)的運行信息確定所述閉合系統(31)的性能和/或功率消耗的軟件代碼;-用于響應從所述電子裝置的分析模塊(41)接收的分析信息而調整所述閉合系統(31)的性能和/或功率消耗的軟件代碼;-用于在運行時對所述分析模塊(41)的操作進行編程的軟件代碼;-用于在運行時對功能上連接到所述分析模塊(41)的控制模塊(42)的操作進行編程的軟件代碼。
全文摘要
一種用于收集閉合系統運行信息的裝置。收集系統包括功能上連接到閉合系統的可監控部件的裝置和數據收集器,而數據收集器包括寄存器。所述裝置收集所述部件的運行信息并將其發送給數據收集器。運行信息存儲在寄存器中。收集系統還可以包括分析模塊,分析模塊根據所接收的運行信息確定閉合系統的性能和/或功率消耗。收集系統還可以包括控制模塊,控制模塊包括控制算法并在功能上連接到分析模塊、用于根據分析信息調整閉合系統的性能或功率消耗。
文檔編號G06F9/00GK1501251SQ200310114388
公開日2004年6月2日 申請日期2003年11月10日 優先權日2002年11月8日
發明者S·法布里蒂厄斯, S 法布里蒂厄斯, P·科利努米, 襯, J·韋維萊寧 申請人:諾基亞有限公司