文章来源:由「百度新聞」平台非商業用途取用"http://www.eepw.com.cn/article/201706/349675.htm"
硬件設計人員利用邏輯分析儀分析總線和處理器的二進制時序波形,由于它顯示的是最底層硬件每個時鐘周期的變化,即數字器件與總線的二進制轉換情況,所以通常也稱為實時硬件跟蹤。底層操作系統設計工程師也經常使用邏輯分析儀,但他們更加注重觀察那些和二進制轉換類似的存儲指令,也就是通常所說的實時指令跟蹤。如今邏輯分析儀配有一種稱為反匯編的工具可完成這項任務,反匯編工具專門針對處理器或總線設計,它可以從一系列二進制信息中提取特定的處理器存儲內容。軟件設計人員通常都不太熟悉硬件工具,所以他們總是避免使用這些工具。軟件設計人員在電腦或工作站上用C++、VB及類似的語言編寫程序源代碼,并希望使用這些平臺完成整個設計、調試和評估過程。他們用軟件工具(仿真器和調試器)運行新的目標器件,而硬件工具如邏輯分析儀對許多軟件設計人員來說總是顯得格格不入。但由于現在系統日趨復雜,相互之間影響也越來越大,這種狀況正在漸漸改變。目前用得最廣泛的是一種所謂在線仿真器(ICE)的工具,它可以追蹤目標器件并提取出源代碼。ICE是軟件設計工作站中運行控制工具的一個集成組件,它監測目標器件總線的活動情況,給出源代碼運行結果信息。有了ICE后,軟件工程師不需要使用邏輯分析儀調試就可以完成整個項目。然而對軟件工程師來說,不幸的是ICE在有些方面的性能已落后于新一代高速處理器、存儲器件和總線,速度和連接性局限使它無法獨立觀測現代高速總線的復雜活動,軟件工程師必須使用邏輯分析儀這一測量工具來驗證他們源代碼的日子已經到來。現代數字設計人員經常要與高速復雜多處理器系統打交道,如像圖1所示的一個用于通訊系統的基本嵌入式多處理器系統。上述三個領域的工程師都需要能有一種工具獲取長期相關數據,可從圖1系統中得到數以百萬計的運行周期信息,該工具要能夠從主處理器及其它從處理器、存儲總線和外圍總線獲得信息,重要的是這些信息還要和時間聯系起來,以便用戶可以清楚地知道所有不同的處理器和總線之間是怎樣相互作用的。只有邏輯分析儀才能即刻滿足所有要求。用集成工具完成軟件分析調試軟件設計人員都很理想地希望其軟件評估工作兩頭好處都能占到,既可以在熟悉的工作站控制終端上運行邏輯分析儀的采樣、顯示和分析,又不需要接觸到真正的邏輯分析儀。如今儀器生產廠商已開發出能滿足這種要求的解決方案,可以把功能強大的邏輯分析儀(如TektronixTLA700系列)和經驗證的控制仿真調試工具(如WindRiver的VisionClick)集成在一起。這兩種功能結合起來的性能遠大于各部分功能的簡單相加。如果沒有執行控制工具,邏輯分析儀盡管能得到被測系統(SUT)的實時相關數據,但卻不能修改CPU的狀態,也不能單步執行程序,或者控制所監測的數據轉換;而如果沒有邏輯分析儀,執行控制工具雖然可以控制程序的每步執行情況,但是得不到滿意的次納秒級時序數據,或與時間對應的結果。將兩種性能集成在一起的開發系統能采集實時信號、存儲狀況及源代碼,所有這一切都可以在易于操作的仿真(執行控制)工具環境下獲得。有了這種工具,軟件工程師就能夠得到長期高精度跟蹤數據,即使總線速度很高也不怕,有些邏輯分析儀的存儲能力甚至達到64M。這樣一來,邏輯分析儀看起來就像是控制工具的一部分,得到的數據以軟件開發人員能看懂的形式顯示在仿真工作站屏幕上,它可以顯示出不同級別的數據,從存儲器到高級源代碼,還包括帶有清楚時間顯示的每一運行周期的功能(圖2)。值得一提的是很多邏輯分析儀沒有提供足夠的分辨率,無法將多個總線得到的結果正確聯系起來,尤其是那些老式儀器。如有些儀器聲稱可以顯示時序調整的波形和存儲內容,但調整圖形卻是以多個被測系統周期顯示的,當試圖在一個復雜系統中追索一項數據轉換時,它根本就不可能跟蹤出每個周期最后將連接到什麼位置,有問題出現時也難以分辨出原因和結果之間的關系。雖然從技術上說,得到的波形和存儲的內容是實時追蹤結果,但它太不精確了,對硬件和操作系統的故障判斷沒有多大幫助。要想使顯示的多種形式時序總線數據有意義,關鍵在于每次采樣的時間信息,并要有足夠的分辨率。如果每次采集的數據都帶有時間信息(分辨率500皮秒),就能夠把主處理器總線指令與系統外設總線的結果等同起來。數據采樣工具必須既要寬(有很多輸入通道)又要深(有很大的存儲容量儲存得到的數據),帶有擴展內存的組合式邏輯分析儀可滿足這些要求,特別是當擴展內存可以從64K到64M時,能勝任ICE環境下的任何要求。要注意邏輯分析儀產生的每一個畫面都是從二進制波形信息得來的,所獲得的信息及其高分辨率和時間精度都是一些基本單元,通過反匯編器和支持處理器轉換成存儲內容和源代碼顯示出來,這些都是自動按時間調整的,在多總線測試點上會導致執行延遲。高性能邏輯分析儀和仿真器真正結合在一起后,可以為更快、更有效的代碼驗證和除錯創造條件,例如對每一個采樣點都用不同的窗口進行顯示就很有用,有些用存儲內容或者代碼格式,而另一些則用時序格式。對于屏幕上的這些顯示,每個窗口的光標都處于程序執行的同一點上,如果軟件工程師在執行某一步程序時遇到問題,只需要把光標指向那一步,此時帶有光標的硬件周期波形就會在另一窗口中自動顯示出來,這樣軟件和硬件設計人員就能很容易地一起合作解決問題。綜合式仿真邏輯分析儀對代碼優化也很有幫助。軟件設計師要在預定的時間內使程序運行完畢,利用仿真器屏幕上可顯示實際時間值的特性(如圖2),可以很方便地看出程序是否能在規定的時間內完成,其它代碼優化工具如直方圖還能對軟件工程師提供進一步幫助。使用集成邏輯分析儀還增加了很多其它仿真器功能,如功能概括工具可得到單個指令的最小、最大和平均完成時間,這得益于改進后邏輯分析儀所提供的時間分辨率,條件追蹤工具和代碼器也能進一步提高時間分辨率和采樣深度。最重要的是,綜合型仿真邏輯分析儀能使對硬件不感興趣的軟件工程師不需要觸摸它就可以控制這一功能強大的采樣儀器。工程師可以對分析儀進行全面控制,不管什麼時候,只要按下仿真器上的運行按鈕,仿真應用程序和邏輯分析功能都會立即執行,仿真器運行代碼,邏輯分析儀則進行全面追蹤,把描述目標器件活動的所有數據都存起來。邏輯分析儀的高分辨率和高精度可把每一個處理器和總線周期都記錄下來,同時也有賴于這兩個工具的結合,使得軟件工程師仍然可以在熟悉的環境下更有效地工作。作者:DavisChen區域銷售經理泰克公司Email:davis.chen@exgate.tek.com
關鍵字標籤:台北皮秒雷射
|