TD-LTE多?;鶐脚_ARM子系統的運行流程控制和異常定位分析
3.2 新跟蹤控制機制
新跟蹤控制機制的所有控制都由各個(gè)模塊的跟蹤源以函數宏定義的形式對跟蹤接口進(jìn)行重新封裝,將跟蹤信息的判斷放在跟蹤接口的外部。跟蹤控制的場(chǎng)景不再進(jìn)行詳細的劃分,考慮采用橫向和縱向兩個(gè)方面來(lái)對跟蹤進(jìn)行控制。橫向的控制通過(guò)對跟蹤信息的重要程度來(lái)劃分,包括全開(kāi)放、半開(kāi)放、速率測試、用戶(hù)釋放和測試終端等方面;縱向的控制是系統中各個(gè)模塊的跟蹤信息的控制,當開(kāi)發(fā)人員需要查看某個(gè)或某些模塊的跟蹤信息時(shí),通過(guò)設置相應的值來(lái)輸出預想模塊的跟蹤信息。新跟蹤控制圖如圖5所示。

4 性能對比分析
通過(guò)原始跟蹤方案與新跟蹤方案的性能測試與對比分析得出,新跟蹤方案提高了ARM執行效率表現在3個(gè)方面:
①在跟蹤控制方面,原始跟蹤方案的跟蹤控制過(guò)于細致,跟蹤判斷過(guò)程過(guò)于復雜繁瑣,多層的switch…case嵌套判斷消耗了一些處理器的時(shí)間;新跟蹤的控制采用跟蹤接口外部控制,若當前跟蹤不需要打印時(shí),則當前任務(wù)不會(huì )進(jìn)入跟蹤接口,直接丟棄本條跟蹤,這樣避免了函數上下文切換的過(guò)程,減少了任務(wù)棧的切換,從而提高了執行效率。
②緩存管理方面,原始跟蹤方案采用嵌套緩存,高優(yōu)先級任務(wù)的跟蹤信息寫(xiě)入嵌套緩存中,當需要輸出跟蹤信息時(shí),需要將嵌套緩存中的數據回拷到全局跟蹤信息緩存,在回拷的過(guò)程中白白地消耗了處理器的時(shí)間。而新跟蹤緩存中,將所有的跟蹤信息全部存儲到一個(gè)緩存中,直接將跟蹤信息輸出,節省了回拷過(guò)程的時(shí)間,從而為處理器處理其他事件提高了效率。
③新跟蹤方案在跟蹤接口內部摒棄了svnprintf函數,直接將跟蹤數據memcpy轉移到跟蹤緩存中。原始方案中,跟蹤數據的原始碼流通過(guò)svnprintf函數在A(yíng)RM內部進(jìn)行字符串的轉化過(guò)程,再通過(guò)PC端的解碼軟件來(lái)解析原始碼流,從而轉化成可見(jiàn)字符串,省去了函數遍歷參數的過(guò)程(該過(guò)程消耗了ARM的執行時(shí)間)。從變參的跟蹤接口優(yōu)化成定參跟蹤接口,這種方式大大地提高了ARM的執行效率。
對于兩種跟蹤方案的測試分析,采用調用一條相同的跟蹤信息所消耗的TD-LTE中一個(gè)子幀的時(shí)間片來(lái)統計時(shí)間,從而對比原始跟蹤方案與新跟蹤方案的效率提高程度。TD-LTE的一個(gè)無(wú)線(xiàn)幀長(cháng)為10 ms,一個(gè)無(wú)線(xiàn)子幀又分為兩個(gè)5 ms的半幀,每個(gè)半幀中有5個(gè)1 ms子幀,每個(gè)子幀有0x7800個(gè)時(shí)間片。
跟蹤性能分析圖如圖6所示,在原始跟蹤方案中調用5次跟蹤接口打印字符串”ts_00_tra01_01tdynamicTrace01”及相應個(gè)數的變量的值,跟蹤信息消耗的時(shí)間為T(mén)_old=(0x5679-0x481C)×(1/0x7800)=0.119 7 ms。在新跟蹤方案中,同樣調用5次新跟蹤方案,跟蹤接口打印同樣字符串的內容及相應個(gè)數的變量的值,跟蹤信息消耗的時(shí)間為T(mén)_new=(0x4809-0x4188)×(1/0x7800)=0.052 6 ms。由此可見(jiàn),T_old的消耗時(shí)間大約是T_new的2倍,新跟蹤方案節省了一半以上的時(shí)間,然后又多次對各種跟蹤接口進(jìn)行驗證、測試、對比后,再次確認了新跟蹤方案對ARM的執行效率有很大的提高。

結語(yǔ)
在多模基帶的跟蹤方案中,由于跟蹤的傳輸通道只有一個(gè),不能在不同的系統模式下采用不同的跟蹤方案,并且TD_LTE多模方案中不僅要求跟蹤信息的可靠性、時(shí)序性和正確性,對跟蹤方案在A(yíng)RM子系統中的執行效率也有所要求,不能影響TD-LTE的高速率的業(yè)務(wù)需求。綜上考慮,本項目中采用新的跟蹤方案可以滿(mǎn)足TD-LTE多模基帶平臺下ARM子系統的執行效率要求和數據業(yè)務(wù)的速率要求。
評論