新四季網

性能測量單元、包括該單元的處理器核心和處理剖析方法

2023-09-13 14:23:00 2

性能測量單元、包括該單元的處理器核心和處理剖析方法
【專利摘要】本發明提供了一種性能測量單元、包括該單元的處理器核心和處理剖析方法。所述性能測量單元包括:事件計數器,被配置為記錄指示在處理器核心中發生的事件的數量的計數器值;映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器。所述性能測試單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量。所述有效事件與當執行所選擇的處理時發生的事件相應。
【專利說明】性能測量單元、包括該單元的處理器核心和處理剖析方法
[0001]本申請要求於2012年11月23日提交的第10_2012_0133858號韓國專利申請的優先權,該申請的公開通過引用全部合併於此。
【技術領域】
[0002]本發明的示例性實施例涉及性能測量單元、包括該單元的處理器核心以及處理剖析方法。
【背景技術】
[0003]參照執行指令的中央處理單元(CPU),剖析涉及對當前運行的程序的執行狀態或者與作業系統(OS)內核的通信狀態的分析。通過利用剖析(profiling),可測量程序的性能信息,並且可檢測造成性能惡化的因素。

【發明內容】

[0004]本發明的示例性實施例提供了一種能夠在多任務作業系統中進行複雜的處理剖析的性能測量單元。
[0005]本發明的示例性實施例還提供了一種包括能夠在多任務作業系統中進行複雜的處理剖析的性能測量單元的處理器核心。
[0006]本發明的示例性實施例還提供了一種能夠在多任務作業系統中進行複雜的處理剖析的處理剖析方法。
[0007]根據本發明的示例性實施例,一種性能測量單元包括:第一事件計數器,記錄指示在處理器核心中發生的事件的數量的計數器值;第二事件計數器,複製記錄在第一事件計數器中的計數器值。
[0008]根據本發明的示例性實施例,一種性能測試單元包括:事件計數器,記錄指示在處理器核心中發生的事件的數量的計數器值;映射事件計數器,複製記錄在事件計數器中的計數器值,其中,響應於第一指令來將所述記錄在事件計數器中的計數器值複製到映射事件計數器。
[0009]根據本發明的示例性實施例,一種處理器核心包括:中央處理單元(CPU),執行一個或多個處理;性能測量單元,測量指示當執行一個或多個處理時發生的事件的數量的計數器值,其中,所述性能測量單元包括:第一事件計數器,記錄計數器值;第二事件計數器,複製記錄在第一事件計數器中的計數器值。
[0010]根據本發明的不例性實施例,一種處理剖析方法包括:由處理器核心執行一個或多個處理,在第一事件計數器中記錄指示當執行一個或多個處理時發生的事件的數量的計數器值,並且將記錄在第一事件計數器中的計數器值複製到第二事件計數器。
[0011]根據本發明的示例性實施例,一種性能測量單元包括:事件計數器,被配置為記錄指示在處理器核心中發生的事件的數量的計數器值;映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器。所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行所選擇的處理時發生的事件相應。
[0012]根據本發明的示例性實施例,一種性能測量單元包括:事件計數器,被配置為記錄指示在處理器核心中發生的事件的數量的計數器值;映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器。響應於第一指令來將記錄在事件計數器中的計數器值複製到映射事件計數器。所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行所選擇的處理時發生的事件相應。
[0013]根據本發明的示例性實施例,一種處理器核心包括:中央處理單元(CPU),被配置為執行一個或多個處理;性能測量單元,被配置為測量指示當執行一個或多個處理時發生的事件的數量的計數器值。所述性能測量單元包括:事件計數器,被配置為記錄計數器值;映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器。所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行從所述一個或多個處理之中所選擇的處理時發生的事件相應。
[0014]根據本發明的不例性實施例,一種處理剖析方法包括:由處理器核心執行一個或多個處理,在事件計數器中記錄指示當執行一個或多個處理時發生的事件的數量的計數器值,將記錄在事件計數器中的計數器值複製到映射事件計數器,並且使用計數器值來確定在處理器核心中發生的有效事件的數量,其中,有效事件與當執行從所述一個或多個處理之中所選擇的處理時發生的事件相應。
[0015]根據本發明的不例性實施例,一種處理剖析方法包括:由處理器核心執行一個或多個處理,在事件計數器中記錄指示當執行一個或多個處理時發生的事件的數量的計數器值,確定是否已經發生第一事件,當確定已經發生第一事件時將記錄在事件計數器中的計數器值複製到映射事件計數器,當確定還未發生第一事件時確定是否已經發生第二事件,並且當確定已經發生第二事件時將複製到映射事件計數器的計數器值複製回事件計數器。
【專利附圖】

【附圖說明】
[0016]通過參照附圖詳細描述本發明的示例性實施例,本發明的以上和其它特徵將變得更加清楚,其中:
[0017]圖1是根據本發明的示例性實施例的性能測量單元的示意性框圖;
[0018]圖2是根據本發明的示例性實施例的性能測量單元的示意性框圖;
[0019]圖3是根據本發明的示例性實施例的性能測量單元的示意性框圖;
[0020]圖4是示出根據本發明的示例性實施例的處理剖析方法的流程圖;
[0021]圖5是示出根據本發明的示例性實施例的處理剖析方法的流程圖;
[0022]圖6至圖8示意性地示出根據本發明的示例性實施例的由處理剖析方法引起的事件計數器值的改變;
[0023]圖9是根據本發明的示例性實施例的處理器核心的示意性框圖;
[0024]圖10是根據本發明的示例性實施例的處理器核心的示意性框圖;
[0025]圖11是根據本發明的示例性實施例的包括處理器核心的剖析系統的示意性框圖;
[0026]圖12是根據本發明的示例性實施例的合併處理器核心的電子系統的示意性框圖;
[0027]圖13和圖14示出可應用根據本發明的示例性實施例的處理器核心的示例性電子系統。
【具體實施方式】
[0028]在下文中,將參照附圖更加充分地描述本發明的示例性實施例。貫穿附圖,相似的符號可表示相似的元件。
[0029]將理解的是,當層被表示為在另一層或底層「上」時,該層可直接在其它層或底層之上,或者也可存在中間層。
[0030]在下面的描述中,性能測量單元(PMU)是處理器核心的內部組件之一。PMU是被配置為測量已經在處理器核心中發生的事件的組件。所述已經在處理器內核中發生的事件可以是例如存儲選項(例如,讀或寫)、緩存事件(例如,命中、未命中或回寫)、執行指令等,然而,所述事件不限於此。
[0031]PMU計數器是被提供在PMU內的寄存器。所述PMU計數器對在處理器內核中發生的事件進行計數,並且記錄PMU事件計數的累計值。PMU可被編程為軟體,並且PMU計數器可使用特定彙編指令來執行讀和寫操作。
[0032]在下面的描述中,從PMU計數器讀取的PMU計數器值可被作為硬體PMU計數來使用。
[0033]在下面的描述中,PMU計數器值可被稱為事件計數器值。
[0034]運行時間環境(RTE)和作業系統(OS)可管理硬體並且可支持多任務和處理調度。
[0035]處理調度表示由支持分時系統的OS內核通過根據優先級的順序劃分中央處理單元(CPU)的使用時間來執行多個處理。儘管本發明的示例性實施例會將OS內核描述為Linux?內核,但OS內核不限於此。
[0036]圖1是根據本發明的示例性實施例的性能測量單元的示意性框圖。
[0037]參照圖1,性能測量單元(PMU) 100可包括更新邏輯單元110、事件計數器120、映射事件計數器130和配置邏輯單元140。
[0038]當在處理器核心中發生事件時,更新邏輯單元110累計地記錄被記錄在事件計數器120中的計數器值。當在處理器核心中發生的事件被計數時,更新邏輯單元110更新被記錄在事件計數器120中的計數器值。
[0039]事件計數器120具有被記錄在其中的計數器值。計數器值指示在處理器核心中發生的事件的數量。OS內核可引用被記錄在事件計數器120中的計數器值,以下將使用特定彙編指令來更加詳細地對此進行描述。
[0040]映射事件計數器130可複製被記錄在事件計數器120中的計數器值。事件計數器120可複製回被複製到映射事件計數器130的計數器值。OS內核可使用特定彙編指令來引用被記錄在映射事件計數器130中的計數器值。
[0041]可將事件計數器120和映射事件計數器130合併在PMU計數器中。
[0042]配置邏輯單元140設置事件計數器120和映射事件計數器130的整體操作。[0043]如果根據由配置邏輯單元140設置的配置來轉換處理器核心的操作模式,則可將被記錄在事件計數器120中的計數器值複製到映射事件計數器130,或者可將被記錄在映射事件計數器130中的計數器值複製到事件計數器120。
[0044]因此,當處理器核心進入預定的第一操作模式時,映射事件計數器130可複製被記錄在事件計數器120中的計數器值。可選地,當處理器核心被從預定的第一操作模式釋放並且進入預定的第二操作模式時,事件計數器120可複製回被複製在映射事件計數器130中的計數器值。
[0045]預定的第一操作模式可以是例如內核模式,並且預定的第二操作模式可以是例如用戶模式。
[0046]參照內核模式,處理器核心在訪問其它硬體時不會受到限制,可直接訪問存儲器,並且CPU的所有指令都可被執行。參照用戶模式,處理器核心在訪問其它硬體或存儲器時會受到限制,並且可通過系統API來直接訪問其它硬體或存儲器。此外,處理器核心僅可執行CPU的某些指令。在所述用戶模式下可執行多數應用程式。
[0047]即使根據由配置邏輯單元140設置的配置來轉換處理器核心的操作模式,也可不將被記錄在事件計數器120中的計數器值複製到映射事件計數器130,並且/或者可不將被存儲在映射事件計數器130中的計數器值複製到事件計數器120。
[0048]因此,當處理器核心進入預定的第一操作模式時,可選擇性地允許映射事件計數器130複製被記錄在事件計數器120中的計數器值。可選地,當處理器核心被從預定的第一操作模式釋放並且進入預定的第二操作模式時,可選擇性地允許事件計數器120複製回被複製到映射事件計數器130的計數器值。
[0049]此外,如以下將更加詳細地進行描述的那樣,OS內核可使用特定指令來將預定的計數器值寫入映射事件計數器130,或者OS內核可從映射事件計數器130讀取所述預定的計數器值。
[0050]除了更新邏輯單元110、事件計數器120、映射事件計數器130和配置邏輯單元140之外,在圖1中顯示的PMU100還可包括多個邏輯單元和寄存器。
[0051]此外,儘管在圖1中配置邏輯單元140是單個裝置,但配置邏輯單元140不限於此。例如,可將設置事件計數器120和映射事件計數器130的操作的配置邏輯單元140分離地提供為與事件計數器120相應的第一配置邏輯單元和與映射事件計數器130相應的第
二配置邏輯單元。
[0052]圖2是根據本發明的示例性實施例的性能測量單元的示意性框圖。為了方便進行說明,下面的描述會集中於在圖1和圖2中顯示的PMU之間的差異,並且會省略對先前所描述過的元件的描述。
[0053]參照圖2,PMU200可包括多個事件計數器221和222。此外,PMU200可包括與多個事件計數器221和222相應的多個映射事件計數器231和232。PMU200還可包括更新邏輯單元210和配置邏輯單元240。
[0054]可在第一事件計數器221中記錄第一計數器值(例如,在處理器核心中發生的緩存命中的計數結果的累計值),並且可在第二事件計數器222中記錄第二計數器值(例如,在處理器核心中發生的緩存未命中的計數結果的累計值)。然而,本發明的示例性實施例不限於此。[0055]此外,第一映射事件計數器231可複製記錄在第一事件計數器221中的第一計數器值,並且第一事件計數器221可複製回被複製到第一映射事件計數器231的第一計數器值。第二映射事件計數器232可複製記錄在第二事件計數器222中的第二計數器值,並且第二事件計數器222可複製回被複製到第二映射事件計數器232的第二計數器值。
[0056]儘管圖2示出PMU200包括第一事件計數器221和第二事件計數器222,但事件計數器的數量以及相應的映射事件計數器的數量不限於此。例如,示例性實施例可包括兩個以上的事件計數器以及兩個以上的相應的映射事件計數器。
[0057]根據在圖2中顯示的示例性實施例,PMU200可包括根據由PMU200的製造商所提供的規格的多個事件計數器,並且由各個事件計數器測量和記錄的事件計數可能彼此相同或不同。
[0058]圖3是根據本發明的示例性實施例的性能測量單元的示意性框圖。為了方便進行說明,下面的描述會集中於在圖1和圖3中顯示的PMU之間的差異,並且會省略對先前所描述過的元件的描述。
[0059]參照圖3,PMU300可包括循環計數器321。此外,PMU300可包括與循環計數器321相應的映射循環計數器331。PMU300還可包括多個事件計數器322和323、多個映射事件計數器332和333、更新邏輯單元310和配置邏輯單元340。
[0060]循環計數器321可具有被累計地記錄在其中的在處理器核心中產生的時鐘周期的計數結果。
[0061 ] 映射循環計數器331可複製被記錄在循環計數器321中的循環計數值,並且循環計數器321可複製回被複製到映射循環計數器331的循環計數值。
[0062]根據在圖3中顯示的示例性實施例,PMU300可包括被配置為僅對特定事件進行計數的PMU計數器。儘管圖3示出PMU300包括循環計數器321,但本發明的示例性實施例不限於此。例如,PMU300還可包括被配置為記錄緩存命中或緩存未命中的計數結果的緩存計數器。
[0063]在下文中,將參照圖4和圖5來描述使用根據本發明的示例性實施例的PMU的OS內核的處理器剖析方法。
[0064]圖4是示出根據本發明的示例性實施例的處理剖析方法的流程圖。
[0065]參照圖4,在塊S410中,處理器核心執行一個或多個處理,並且被包括在一個或多個處理中的指令被執行。
[0066]在塊S420中,PMU測量當執行一個或多個處理時發生的事件的計數器值,並且在事件計數器中記錄所測量的計數器值,隨後更新事件計數器。如上所述,發生的事件可包括:例如,時鐘周期、存儲操作、緩存事件、執行指令等。
[0067]在塊430中,PMU確定是否已經發生第一事件。例如,PMU可確定處理器核心是否已經進入內核模式。可使用硬體或軟體來確定處理器核心進入內核模式。例如,參照硬體實現,PMU可包括指示處理器核心的操作模式的引腳,以根據所述引腳的值來確定處理器核心是否已經進入內核模式或者已經從內核模式釋放。參照軟體實現,可利用變量來指示處理器核心是否已經進入內核模式或者已經從內核模式釋放。
[0068]如果確定已經發生了第一事件,則在塊S440中,PMU將被記錄在事件計數器中的計數器值複製到映射事件計數器。[0069]如果確定還未發生第一事件,則在塊S450中,PMU確定是否已經發生了第二事件。例如,PMU可確定處理器核心是否已經從內核模式釋放並且已經進入用戶模式。
[0070]如果確定已經發生了第二事件,則在塊S460中,PMU將被複製到映射事件計數器的計數器值複製回事件計數器。如果確定還未發生第二事件,則在塊410中,處理器核心執行一個或多個處理,並且包括在一個或多個處理中的指令被執行。在塊S470中,處理器核心確定被包括在一個或多個處理中的所有指令的執行是否已經結束。如果確定被包括在一個或多個處理中的所有指令的執行還未結束,則重複執行塊S410。
[0071]在上述過程期間,OS內核可參考被記錄在事件計數器或映射事件計數器中的計數器值。在監控處理中,可從OS內核接收計數器值來執行處理剖析。
[0072]圖5是示出根據本發明的示例性實施例的處理剖析方法的流程圖。為了方便進行說明,下面的描述會集中於在圖4和圖5中顯示的處理剖析方法之間的差異,並且會省略對先前所描述過的處理的描述。
[0073]參照圖5,在塊S510中,處理器核心執行一個或多個處理,並且被包括在一個或多個處理中的指令被執行。
[0074]在塊S520中,PMU測量當執行一個或多個處理時發生的事件的計數器值,並且在事件計數器中記錄所測量的計數器值,隨後更新事件計數器。如上所述,發生的事件可包括:例如,時鐘周期、存儲操作、緩存事件、執行指令等。
[0075]在塊530中,PMU確定是否已經發生第一事件。例如,PMU可確定處理器核心是否已經進入內核模式。可使用硬體或軟體來確定處理器核心進入內核模式。例如,參照硬體實現,PMU可包括指示處理器核心的操作模式的引腳,以根據所述引腳的值來確定處理器核心是否已經進入內核模式或者已經從內核模式釋放。參照軟體實現,可利用變量來指示處理器核心是否已經進入內核模式或者已經從內核模式釋放。
[0076]如果確定已經發生了第一事件,則在塊S540中,PMU確定是否允許將記錄在事件計數器中的計數器值複製到映射事件計數器。根據由配置邏輯單元設置的配置來確定所述計數器值是否允許被複製。
[0077]如果能夠複製計數器值,則在塊S550中,PMU將記錄在事件計數器中的計數器值複製到映射事件計數器。
[0078]如果確定還未發生第一事件,則在塊S560中,PMU確定是否已經發生了第二事件。例如,PMU可確定處理器核心是否已經從內核模式釋放並且已經進入用戶模式。
[0079]如果確定已經發生了第二事件,則在塊S570中,PMU確定是否允許將複製到映射事件計數器的計數器值複製回事件計數器。根據由配置邏輯單元設置的配置來確定所述計數器值是否允許被複製回。如果確定還未發生第二事件,則在塊510中,處理器核心執行一個或多個處理,並且包括在一個或多個處理中的指令被執行。
[0080]如果能夠複製回計數器值,則在塊S580中,PMU將複製到映射事件計數器的計數器值複製回事件計數器。
[0081]在塊S590中,確定被包括在一個或多個處理中的所有指令的執行是否已經結束。如果確定被包括在一個或多個處理中的指令的執行還未結束,則重複執行塊S510。
[0082]在根據圖5的示例性實施例的處理剖析方法中,可選擇性地使下述步驟能夠進行:將記錄在事件計數器中的計數器值複製到映射事件計數器,並且/或者將複製到映射事件計數器的計數器值複製回事件計數器。
[0083]以下,將參照圖6至圖8來描述根據本發明的示例性實施例的由處理剖析方法引起的事件計數值的改變。圖6至圖8示意性地示出根據本發明的示例性實施例的由處理剖析方法引起的事件計數器值的改變。
[0084]參照圖6,可將處理器核心的操作模式在用戶模式和內核模式之間進行轉換,並且在用戶模式下執行第一處理(例如,處理I)。在圖6中,在處理器核心中的事件的發生被表示為「 X 」。
[0085]在執行第一處理之前,在時刻tl,將映射事件計數器的計數器值重置為0,其中,所述計數器值在這裡被稱為映射計數器值。
[0086]之後,在時刻tl和時刻t2之間,處理器核心在內核模式下進行操作,並且可發生兩個事件。在此,將2記錄為由PMU測量的事件計數器的計數器值。
[0087]在時刻t2,處理器核心的操作模式被從內核模式轉換為用戶模式。在此,將記錄在映射事件計數器中的映射計數器值O複製到事件計數器,並且將O記錄為事件計數器的計數器值。
[0088]之後,在時刻t2和時刻t3之間,當在用戶模式下進行操作時,處理器核心執行第一處理,並且可發生三個事件。在此,將3記錄為由PMU測量的事件計數器的計數器值。
[0089]在時刻t3,處理器核心的操作模式被從用戶模式轉換為內核模式。在此,將記錄在事件計數器中的事件計數器的計數器值3複製到映射事件計數器,並且將3記錄為映射事件計數器的計數器值。
[0090]之後,在時刻t3和時刻t4之間,處理器核心在內核模式下進行操作,並且可發生兩個事件。在此,將5記錄為由PMU測量的事件計數器的計數器值。
[0091]在時刻t4,處理器核心的操作模式被從內核模式轉換為用戶模式。在此,將記錄在映射事件計數器中的計數器值3複製到事件計數器,並且將3記錄為事件計數器的計數器值。
[0092]之後,在時刻t4和時刻t5之間,當在用戶模式下進行操作時,處理器核心執行第一處理,並且可發生三個事件。在此,將6記錄為由PMU測量的事件計數器的計數器值。
[0093]在時刻t5,處理器核心的操作模式被從用戶模式轉換為內核模式。在此,將記錄在事件計數器中的計數器值6複製到映射事件計數器,並且將6記錄為映射事件計數器的計數器值。
[0094]在根據本發明的示例性實施例的處理剖析方法中,在時刻t5之後將計數器值記錄在映射事件計數器中的情況下,僅對當執行所選擇的處理(例如,第一處理)時發生的有效事件進行計數。其結果是,由於根據示例性實施例的PMU不限於以處理器核心為基礎或以CPU為基礎來測量事件,因此將6而不是12記錄為計數器值。
[0095]圖7顯示額外執行中斷例程的示例性實施例。為了方便進行說明,下面的描述會集中於在圖6和圖7中顯示的處理剖析方法之間的差異,並且會省略對先前所描述過的處理的描述。
[0096]參照圖7,在時刻t3和時刻t4之間,處理器核心在內核模式下進行操作,並且可發生兩個事件。在此,將5記錄為由PMU測量的事件計數器的計數器值。在處理器核心響應於中斷的發生而執行中斷例程之前,OS內核可將3讀取為被記錄在映射事件計數器中的計數器值(例如,映射計數器值),所述計數器值隨後被存儲。
[0097]之後,在時刻t4和時刻t5之間,處理器核心執行中斷例程,並且可發生三個事件。在此,將6記錄為由PMU測量的事件計數器的計數器值。
[0098]在時刻t5,處理器內核的操作模式被轉換為內核模式。在此,將記錄在事件計數器中的計數器值6複製到映射事件計數器,並且將6記錄為映射事件計數器的計數器值。
[0099]之後,在時刻t5和時刻t6之間,處理器核心在內核模式下進行操作,並且可發生三個事件。在此,將8記錄為由PMU測量的事件計數器的計數器值。在處理器核心完成中斷例程的執行之後,並且在處理器內核被轉換為用戶模式之前,OS內核可寫入先前被存儲在映射事件計數器中的計數器值3。
[0100]在時刻t6,處理器核心的操作模式被從內核模式轉換為用戶模式。在此,將記錄在映射事件計數器中的計數器值3複製到事件計數器,並且將3記錄為事件計數器的計數器值。
[0101]在根據圖7的示例性實施例的處理剖析方法中,即使當在執行第一處理(例如,處理I)的同時發生中斷時,也在執行中斷例程之前讀取被記錄在映射事件計數器中的計數器值並且單獨存儲所述計數器值,並且在中斷例程的執行完成之後再次寫入被單獨存儲的計數器值。以這種方式,僅對當執行所選擇的處理(例如,第一處理)時發生的有效事件進行計數,作為結果,6被記錄為計數器值。
[0102]圖8顯示額外執行第二處理而不執行中斷例程的示例性實施例。
[0103]參照圖8,當處理器核心執行多任務時,也就是說,當同時執行第一處理(例如,處理I)和第二處理(例如,處理2)時,僅對當執行第一處理時發生的有效事件以如圖7中大致相同的方式進行計數。在這種情況下,第一處理不同於第二處理,並且可以是將被OS核心剖析的目標處理。
[0104]可使用複雜的處理剖析(例如,特定處理的剖析)以允許OS內核執行調度。
[0105]根據示例性實施例,為使RTE或OS使用PMU計數器執行複雜處理剖析,可在特定處理被調度之前直接測量事件,並且可在特定處理被調度之後直接停止測量。此外,在事件測量中可排除在執行特定處理過程中發生的中斷。
[0106]根據處理剖析方法的示例性實施例,PMU自動保存並且恢復計數器值,因此能夠進行複雜的處理剖析。
[0107]此外,由於即使在處理中斷的同時也可讀取或寫入映射事件計數器的計數器值,因此會不需要在執行中斷例程之前插入特定代碼來直接停止事件測量,並且會不需要額外開銷。
[0108]根據示例性實施例,可使用一個或多個寄存器來實現額外的硬體元件(例如,映射事件計數器)。
[0109]在下文中,將對包括根據本發明的示例性實施例的PMU的處理器核心進行描述。
[0110]圖9是根據本發明的示例性實施例的處理器核心的示意性框圖。
[0111]參照圖9,處理器核心1000可包括CPU1200和PMU1100。
[0112]CPU1200可根據OS內核的調度來執行一個或多個處理。PMU1100測量當CPU1200執行一個或多個處理時在處理器核心1000中產生的計數器值。
[0113]由於PMU1100包括與根據在圖1至圖3中顯示的示例性實施例的PMU相類似的某些地方,因此會省略對先前所描述過的元件的描述。
[0114]處理器核心1000可提供包括用於操作映射事件計數器的額外的指令的指令集架構(ISA)1300。
[0115]處理器核心1000可提供第一指令以將記錄在事件計數器中的計數器值複製到映射事件計數器。處理器核心1000還可提供第二指令以將複製到映射事件計數器的計數器值複製回事件計數器。當處理器核心1000的操作模式被轉換時,可調用第一指令和第二指令。例如,當處理器核心1000進入內核模式時,可調用第一指令,並且當處理器核心1000從內核模式釋放並且進入用戶模式時,可調用第二指令。
[0116]此外,處理器核心1000可提供第三指令以讀取被記錄在事件計數器和映射事件計數器中的處理器值,並且可提供第四指令以寫入被記錄在事件計數器和映射事件計數器中的計數器值。例如,當處理器核心100是基於ARM的核心時,第三指令可以是MRC指令,並且第四指令可以是MCR指令。此外,可將關於映射事件計數器的新因素添加到MRC或MCR指令。
[0117]此外,可將用於配置事件計數器和映射事件計數器之間的複製的各種指令提供到處理器核心1000。
[0118]圖10是根據本發明的示例性實施例的處理器核心的示意性框圖。為了方便進行說明,下面的描述會集中於在圖9和圖10中顯示的處理器核心之間的差異,並且會省略對先前所描述過的元件的描述。
[0119]參照圖10,處理器核心可以是例如多處理器核心。儘管在圖10中顯示的處理器核心2000包括第一 CPU2200和第二 CPU2400,但多處理核心2000中的CPU的數量不限於此。例如,多處理器核心2000可包括兩個以上的CPU。多處理器核心2000還可包括:與CPU2200和 2400 相應的 PMU2100 和 2300,以及 ISA1300。
[0120]圖11是根據本發明的示例性實施例的包括處理器核心的剖析系統的示意性框圖。
[0121]參照圖11,所述剖析系統包括監控處理4000、目標處理5000、OS內核3000和處理器核心1000。
[0122]監控處理4000在執行目標處理5000的過程期間對目標處理5000進行追蹤並對在處理器核心1000中發生的事件進行監控。
[0123]監控處理4000可訪問目標處理5000的地址空間。在作業系統(例如,Linux? )中,普通處理不能直接訪問其它用戶處理的地址空間和寄存器。然而,例外地允許監控處理4000訪問其它用戶處理的地址空間和寄存器。
[0124]由於監控處理4000不可以直接訪問OS內核3000,因此在本發明的示例性實施例中,為了將在OS內核3000中收集的處理事件計數信息傳輸到監控處理4000,可使用添加了事件計數信息的資源使用統計。然而,本發明的示例性實施例不限於此。
[0125]在OS內核3000中,資源使用統計可包括關於處理的資源使用統計的數據(例如,在Linux'?的wait4要素之中的struct rusage),然而,本發明的示例性實施例不限於此。
[0126]目標處理5000是將被監控處理4000追蹤的用戶處理。儘管圖11的示例性實施例包括一個目標處理,但目標處理的數量不限於此。處理器核心1000包括PMUl 100和CPU1200。由於處理器核心1000包括與在圖9和圖10中顯示的處理器核心相類似的某些地方,因此會省略對先前所描述過的元件的描述。
[0127]OS內核3000可周期性地獲得被記錄在事件計數器中的計數器值。例如,當處理器核心1000進入內核模式時,OS內核3000可從映射事件計數器獲得計數器值。
[0128]因此,在處理器核心1000開始執行目標處理的時刻,OS內核3000可準確地開始
測量事件。
[0129]如上所述,OS內核3000可使用MRC指令來讀取計數器值,並且可使用MCR指令來寫入計數器值。
[0130]OS內核3000的處理調度器3100通過根據優先級的順序劃分CPU1200的使用時間
來調度並執行多個處理。
[0131]OS內核3000可選擇性地執行監控處理4000的功能。在這種情況下,可在OS內核3000中記錄各種類型的調度信息。
[0132]圖12是根據本發明的示例性實施例的合併處理器核心的電子系統的示意性框圖。
[0133]參照圖12,電子系統6000可包括控制器6400、輸入/輸出(I / O)裝置6100、存儲裝置(MEM) 6200、接口 6300、供電裝置6500和總線6600。控制器6400、1 / O裝置6100、存儲裝置6200、供電裝置6500和/或接口 6300可通過總線6600而彼此連接。總線6600與數據通過其移動的路徑相應。
[0134]控制器6400可包括:例如,微處理器、數位訊號處理器、微控制器和能夠執行與由這些裝置執行的類似的功能的邏輯裝置中的至少一個。I / O裝置6100可包括:例如,鍵區、鍵盤、顯示裝置等。存儲裝置6200可存儲數據和/或指令。接口 6300可將數據發送到通信網絡或者從通信網絡接收數據。接口 6300可以是有線的也可以是無線的。例如,接口6300可包括天線或有線/無線的收發器。電子系統6000可被用作用於改進控制器6400的操作的操作存儲器,並且還可包括:例如,高速DRAM和/或SRAM。
[0135]可將根據在圖9和圖10中顯示的本發明的示例性實施例的每個處理器核心提供為控制器6400的組件。
[0136]電子系統6000可以是例如個人數字助理(PDA)、可攜式計算機、平板計算機、無線電話、行動電話、智慧型電話、數位音樂播放器、存儲卡或能夠發送和/或接收信息的任何類型的電子裝置。
[0137]圖13和圖14示出可應用根據本發明的示例性實施例的處理器核心的示例性電子系統。例如,圖13示出筆記本計算機而圖14示出平板計算機。可將根據本發明的示例性實施例的處理器核心應用於未在此示出的其它集成電路裝置。
[0138]可以以硬體、以由處理器執行的軟體模塊、或者以兩者的結合來實施本發明的示例性實施例。可以在非暫時性程序存儲裝置(例如,RAM存儲器、快閃記憶體、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可移動盤、⑶-ROM或本領域內已知的任何其它形式的存儲介質)上切實地實施軟體模塊。可將示例性存儲介質耦合到處理器,從而處理器可從存儲介質讀取信息,或者將信息寫入存儲介質。作為替代,存儲介質可與處理器成為一體。此外,在某些方面,處理器和存儲介質可駐留於專用集成電路(ASIC)中。此外,ASIC可駐留於用戶終端中。
[0139]可選地,處理器和存儲介質可作為分立組件而駐留於用戶終端中。[0140]雖然已經參照本發明的示例性實施例而具體地顯示和描述了本發明,但本領域的普通技術人員將理解的是,在不脫離由權利要求所限定的本發明的精神和範圍的情況下,可做出形式和細節上的各種改變。
【權利要求】
1.一種性能測量單元,包括: 事件計數器,被配置為記錄指示在處理器核心中發生的事件的數量的計數器值; 映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器, 其中,所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行所選擇的處理時發生的事件相應。
2.如權利要求1所述的性能測量單元,其中,所述映射事件計數器被配置為當處理器核心進入預定的操作模式時將記錄在事件計數器中的計數器值複製到映射事件計數器。
3.如權利要求2所述的性能測量單元,其中,所述預定操作模式是作業系統OS內核模式。
4.如權利要求2所述的性能測量單元,還包括: 配置邏輯單元,被配置為選擇性地允許記錄在事件計數器中的計數器值被複製到映射事件計數器。
5.如權利要求1所述的性能測量單元,其中,所述事件計數器還被配置為將複製到映射事件計數器的計數器值複製回事件計數器。
6.如權利要求5所述的性能測量單元,其中,所述事件計數器還被配置為當處理器核心從預定操作模式釋放時將複製到映射事件計數器的計數器值複製回事件計數器。
7.如權利要求6所述的性能測量單元,其中,所述預定操作模式是作業系統OS內核模式。
8.如權利要求5所述的性能測量單元,還包括: 配置邏輯單元,被配置為選擇性地允許複製到映射事件計數器的計數器值被複製回事件計數器。
9.如權利要求1所述的性能測量單元,還包括: 更新邏輯單元,被配置為當在處理器核心中發生事件時累計地更新記錄在事件計數器中的計數器值。
10.如權利要求1所述的性能測量單元,其中,所述處理器核心被配置為提供用於將記錄在事件計數器中的事件計數器值複製到映射事件計數器的指令。
11.如權利要求1所述的性能測量單元,其中,所述處理器核心被配置為提供用於將複製到映射事件計數器的計數器值複製回事件計數器的指令。
12.—種性能測量單元,包括: 事件計數器,被配置為記錄指示在處理器核心中發生的事件的數量的計數器值; 映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器, 其中,響應於第一指令來將記錄在事件計數器中的計數器值複製到映射事件計數器,其中,所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行所選擇的處理時發生的事件相應。
13.如權利要求12所述的性能測量單元,其中,當處理器核心進入作業系統OS內核模式時調用第一指令。
14.如權利要求12所述的性能測量單元,其中,響應於第二指令來將複製到映射事件計數器的計數器值複製回事件計數器。
15.如權利要求14所述的性能測量單元,其中,當處理器核心從作業系統OS內核模式釋放時調用第二指令。
16.如權利要求14所述的性能測量單元,其中,所述映射事件計數器被配置為響應於第三指令來記錄新的計數器值。
17.—種處理器核心,包括: 中央處理單元CPU,被配置為執行一個或多個處理; 性能測量單元,被配置為測量指示當執行一個或多個處理時發生的事件的數量的計數器值, 其中,所述性能測量單元包括:事件計數器,被配置為記錄計數器值;映射事件計數器,被配置為將記錄在事件計數器中的計數器值複製到映射事件計數器, 其中,所述性能測量單元被配置為使用事件計數器和映射事件計數器來確定在處理器核心中發生的有效事件的數量,其中,所述有效事件與當執行從所述一個或多個處理之中所選擇的處理時發生的事件相應。
18.如權利要求17所述的處理器核心,其中,所述映射事件計數器還被配置為當處理器核心進入作業系統OS內核模式時複製記錄在事件計數器中的計數器值。
19.如權利要求17所述的處理器核心,其中,所述事件計數器還被配置為將複製到映射事件計數器的計數器值複製回事件計數器。
20.如權利要求19所述的處理器核心,其中,所述事件計數器還被配置為當處理器核心從作業系統OS內核模式釋放時將複製到映射事件計數器的計數器值複製回事件計數器。
【文檔編號】G06F3/14GK103838539SQ201310597957
【公開日】2014年6月4日 申請日期:2013年11月22日 優先權日:2012年11月23日
【發明者】李敏周, 艾格·伯恩哈德, 李在鎮, 金永洛, 金鴻圭, 金洪準 申請人:三星電子株式會社, 首爾大學校產學協力團

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀