TW405070B - Hardware testing module - Google Patents
Hardware testing module Download PDFInfo
- Publication number
- TW405070B TW405070B TW87121171A TW87121171A TW405070B TW 405070 B TW405070 B TW 405070B TW 87121171 A TW87121171 A TW 87121171A TW 87121171 A TW87121171 A TW 87121171A TW 405070 B TW405070 B TW 405070B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- hardware
- register
- interrupt service
- test
- Prior art date
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
4〇w?° 體而言 硬體設 被測硬 e s ρ ο n s 習知的 測硬體 「主應 經由「 ◦上述 首先向 ,而後 第四步 驟使用 由電腦 整個測 完成5 習知技 單的說 個步驟 種硬體測試模組,特別是關於一種以 方法。 ,對數據 備的測試 體寫入測 e),並將 測試方法 」,而後 用程式」 被測硬體 過程如「 被測硬體 再處理測 驟則是顯 者可輸入 執行所輸 試(步驟1 則結束或 五、發明說明(1) 【發明之範圍】 本發明係關於一 並行操作進行的測試 【發明之背景】 就現行的測試軟 口、軟硬體驅動器等 往往先直接由電腦向 自被測硬體的響應(r 查的作業。換言之, 由「電腦」傳向「被 「測試資料」轉交給 果」。此「結果」再 記錄、顯示測試結果 測試(步驟1 0 )之後, 用程式處理(步驟1 1 ) 響應數據(步驟1 2 )。 (步驟1 3 )。在第五步 處理(步驟1 4 ),並接 最後檢視是否已完成 整個測試流程;若已 的測試(步驟1 7 )。 由上所述,可知 來進行測試流程。簡 進行」的,所以每一 機(Moden)、串/並列 過程中,其執行過程 試資料,然後等待來 之接收再作比對及驗 首先將「測試貧料」 再由「被測硬體」脾 處理以產生一 「結 」傳回「電腦」,以 第1圖」所示,開始 傳送數據以交由主應 試料時,得等待硬體 示所得之響應數據 指令以作更進一步的 入的指令(步驟15)。 6)。若否,則再續作 進行下一個被測硬體 藝乃以一 「串列操作」的方法 ,各步驟執行的程序是「依次 必需等待上一個步驟完成之
1111
第4頁 D:\Patent\P-0238TW. ptd 五、發明說明(2) 後,才能進行。而這也就是習知技藝的主要的缺點。由於 各步驟的執行需等待上個步驟完成之後才能進行,因此在 整個速度上不免較慢。以數據機(Μ 〇 d e η )為例,假設數據 機以每毫秒一個字元(character,一個英文字元或符號需 要一個位元組"B y t e"的長度儲存)的速度向應用程式發送 字串「This is a test.」,共15個字元,四個單字。應 用程式根據英文字母間的空格或標點符號來區分每個單 字。應用程式的處理模式係以「單字」作為基本單位,其 每處理一個單字需時3毫秒。由於内存操作(包括程式執行 及數據存取)的速度相當快(以奈秒為單位),故可忽略而 不計其所佔用的時間。 在習知的串列測試方法中,如「第1圖」流程所示, 是得先將整串測試字元完全接收後,才能進行其處理。是 故,其數據機所需要的時間為接收1 5個字元的時間(1 5毫 秒),再加上處理四個單字的時間(4 X 3 = 1 2 毫秒),一共 2 7毫秒。 此外,由於得先將測試字元完全接收,因此其所需的 記憶體空間至少需為1 5個字元的内存空間。此外,由於其 係為串列操作,因此在應用程式處理完成之前,使用者無 從得知其現況。因此當錯誤或當機的形況發生時,往往不 得而知而浪費時間。此現象在測試數據機時,由於其工作 速率變化範圍很大(由110 Baud〜11520 Baud),因此響 應的時間便會有很大的差別。特別是當數據機運行於不同 的C P U及顯示卡上時,極易造成時序配合上的混亂。另
D:\Patent\P-0238Tff. ptd 第5頁 _40^70_ 五、發明說明(3) 外,數據的傳送總是有一定的誤碼率,這種差錯會造成接 收數據内容及長度的變化。為了接收這種未知長度的數 據,採用習知方法「接收----處理----再接收----再處理 ----直至結束」的模式,只能通過加大暫存空間的方法來 解決,造成存儲空空的浪費。 【發明之目的及概述】 本發明的主要目的,在於提出一種能提高硬體測試速 率的測試模組,並且可以提供清楚的數據流向,以及減少 測試所需的記憶體空間。 本發明的精神,在於以「並行操作」取代習知「串列 操作」的方式來執行硬體測試。在習知技藝中,應用程式 需等待全部的測試資料接收完成之後,才能開始對這些測 試料進行處理。然而,對應用程式而言,其處理測試資料 的方式,是將字母一個一個’的來處理,而非一次就處理整 個測試資料。換言之,對應用程式而言,其資料處理的過 程只需要部份的測試資料就可開始進行。所以在本發明 中,在接收測試資料的同時,就開始令應用程式去由記憶 體中取出字元來進行處理。換言之,利用應用程式處理資 料上的特性,使得資料的接收及資料的處理能同時進行, 而減少整個測試所需的時間。 為此,本發明運用直接截取硬體中斷的手法,先規劃 出一個環形暫存器,利用「Put指標」及「Take指標」來 操作資料的存取,並提供一「中斷服務」,使得應用程式 在處理測試資料時,接收程式仍能逐續的接收測試資料。
D:\Patent\P-0238TW. ptd 第6頁 __ 五、發明說明(4) 404^70 此外,對於應用程式而言,由於測試資料不需要一次 就全部讀寫進記憶中,因此所需記憶體的空間也可較習知 技藝來得少。同時,由於利用環形暫存器及「P U t指 標」、「Take指標」兩個指標,因此應用程式將以一定頻 率去偵測環形暫存器的現況。所以透過應用程式,使用者 也得以隨時知到目前測試進行的狀況,因此能避免萬一當 機時的無謂等待。 為讓本發明之上述和其他目的、特徵、和優點能更明 顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳 細說明如下。 【圖式說明】 第1圖,為習知測試方法的方塊圖; 第2圖,為實施例之功能方塊圖; 第3圖,為整體流程圖; 第4圖,為中斷服務流程圖; 第5圖,主應用程式取數據流程圖; 第6圖,等待並動態處理數據的流程圖。 【實施例說明】 參見「第2圖」為第一實施例之功能方塊圖。環形暫 存器2 1上規劃有複數個記憶單元,其每一個皆是硬體每次 送的最小單位,其位元組(B y t e )數其依不同硬體類型而 定。此外有一 P u t指標2 2,其係用以標定每次進行資料存 入時的位置,其會隨著資料的存入向前移,移至底部時, 則會再返回起始點。另外有T a k e指標2 3用以標定讀取資料
D:\Patent\P-0238TW. ptd 第7頁 _40 如 Ο_ 五、發明說明(5) 時的位置。類似於Put指標22,Take指標23亦會隨著資料 的讀取向前移,移至底部時,則會再返回起始點。 在執行時,相關數據將由被測硬體内的記憶體,傳向 中斷服務程式24,通過Put指標22的指示由起始位置依次 將數據存入環形暫存器2 1中。而主應用程式2 5則是通過 T a k e指標2 3,將資料依次取出並加以處理。一旦P u t指標 22或Take指標23超過環形暫存器2 1的底部,則自動返回環 形暫存器2 1的起始位置。在讀取的判斷上,設定若T a k e指 標2 3的位置不同於P u t指標2 2,則代表有未讀取的資料; 在存入的W[H上,設定若P u t指標2 2追上T a k e指標2 3,貝|J 表示環形暫存器2 1的空間已滿。利用上述的兩個判斷原 則,可以避免讀過頭或是寫過頭的問題。 「第3圖」為實施例之總流程圖。其中主應用程式3 1 負責處理使用者輸入,並且'债測通信區緩衝區3 3的狀態, 並依此進行數據的讀取,以及透過控制中斷服務程式3 2而 相對應的控制硬體當前的狀態。通信區緩衝區3 3會接受被 測硬體暫存器的變化以及測試數據的寫入。主應用程式3 1 及中斷服務程式3 2則是兩個並行的程式,但若二者同時存 取(a c c e s s )通信區緩衝區3 3,則將造成資料的混亂。因 此,為了使中斷服務程式32及主應用程式31兩者在通信區 緩衝區3 3上互斥,因此設定主應用程式在使用環狀暫存器 時,先關閉中斷服務程式3 2,以阻止其對於通信區緩衝區 3 3的寫入;完成之後再打開中斷服務程式3 2以繼續接收數 據。
D:\Patent\P-0238TW. ptd 第8頁 _4IL&1_ 五、發明說明(6) 「第4圖」為中斷服務流程圖,首先針對被測硬體, 逐個讀入被測硬體内的暫存器值,以視其是否有數據將傳 送(步驟4 1 )。判斷暫存器值是否有變化(步驟4 2 ),如有變 化則記錄其變化情況並作一標記(步驟4 3 )以便主應用程式 識別。判斷是否讀完所有的值(步驟4 4 ),如果沒有,則返 回步驟4 1繼續讀取;如果已讀完所有的值,則繼續判斷中 斷服務程式是否收到新的數據(步驟4 5 )。如果有,則將所 接收到的數據依P u t指標的指示存入環狀暫存器中,並更 新P u t指標的位置(步驟4 6 )。然後,判斷暫存器是否將溢 出(步驟4 7)。若是,則命令硬體暫停發送數據,並設定硬 體為暫停狀態(步驟4 8 )後中斷返回。若中斷服務程式未收 到新數據(步驟4 5 ),則直接返回。 「第5圖」為主應用程式讀取數已存入環狀暫存器内 之數據的流程。程式開始之'後,透過偵測Put指標及Take 指標的位置判斷暫存器中是否有新數據(步驟5 1 )。如果 有,則關閉中斷服務程式(步驟5 2 ),以避免在主應用程式 取數據時,又有新數據寫入。然後,由環狀暫存器中逐單 元取出數據,完成後改變環狀暫存器的T a k e指標(步驟 5 3 ),並開啟中斷服務程式(步驟5 4 )以繼續接收新的數 據。然後設定取數據成功標記(步驟5 5 )後返回(步驟5 6 )。 如果環狀暫存器中沒有新的數據,則先設一取數據失敗標 記(步驟5 7 )判斷硬體是否處於暫停狀態(步驟5 8 )。若是, 則向硬體發出繼續傳送數據的指令,並將硬體設定為發送 狀態(步驟5 9 ),然後返回(步驟5 6 );如果硬體處於正常狀
D:\Patent\P-0238TW. ptd 第9頁 40^70 五、發明說明(7) 態則直接返回(步驟5 6 )。 「第6圖」為數據存取流程。首先判斷是否有待處理 的數據(步驟6丨)若有則處理更新標記所指定的數據,同時 清除更新標記(步驟6 2 )直到完成所有數據的處理。接著判 斷硬體是否得到了預期的回應,回應的數據應與所傳送的 數據相同(步驟6 3 ),如果沒有則延時等待硬體做出回應 (步驟6 4 )。判斷等待的時間(步驟6 5 ),如果未到等待時間 的上限就已再次收到硬體回應,則返回程式起始點,重新 再做一次「是否有新數據需處理」的判斷。相反的,如果 等到超過了等待時間的上限,則將狀態設定為超時(步驟 6 6 ),然後返回處理結果(步驟6 8 )。如果硬體已做出預期 的回應,其設置硬體回應值(步驟6 7 ),直接返回處理結果 (步驟6 8 )。 若同樣的以數據機(Μ 〇 de η )為例,假設數據機以每毫 秒一個字元(Character,需要長度為一個位元組Byte的儲 存空間)的速度向應用程式發送字串「This is a test.」,共15個字元,四個單字。應用程式根據英文字 母間的空格或標點符號來區分每個單字。應用程式的處理 模式係以「單字」作為基本單位,其每處理一個單字需時 3毫秒。由於内存操作(包括程式執行及數據存取)的速度 相當快(以奈秒為單位),故可忽略而不計其所佔用的時 間。環狀暫存器的容量為8個B y t e。則本實施例以「T h i s i s a t e s t」為例的操作步驟如下: 1 、如「第6圖」所示,在初始狀態下,T a k e指標及
D:\Patent\P-0238TW. ptd 第10頁 _an^7 η_ 五、發明說明(8)
Put指標指在環狀暫存器的頂部,即第1個By te處; 2、 中斷服程式將接收到的數據「T h i s 」,共五個 字元置入暫存器的第1至第5個Byte,並將Put指標移至下 一次存放字元處(此例即為第6個B y t e處),此過程需時 5毫秒; 3、 主應用程式判斷取數據指標(T a k e指標)的位置 不同於P u t指標,因此判定為有數據待處理。主應用程式 讀出「T h i s 」,並因其内含有空隔「 」,因此自動判 定已讀出一完整的單字,同時將Take指標移至下一個取單 字處(此例即為弟6個B y t e處), 4、 主應用程式開始處理所讀取的單字「T h i s」,此 過程將粍時3毫秒,在主應用程式處理單字時,由於中斷 服務程式仍並行的接收數據,因此在主應用程式完成單字 的處理時(3毫秒),又將「i s 」存入環狀暫存器中第6〜8 個B y t e中。為了避免暫存器溢出,故將P u t指標再移至第1 個B y t e處; 5、 主應用程式取出「i s 」,根據「 」來判斷其 收到一完整的單字,並將T a k e指標移向第1個B y t e處; 6、 主應用程式處理單字「i s」,同時中斷服務程式 將接收到的「a 1;」存入第1至第3個B y t e,並將P u t指標 移至第4個B y t e,此過程牦時3毫秒; 7、 取出單字「a」,將Take指標移向第3個Byte。 8、 處理單字「a」,同時中斷服務程式將接收到的 「est」存入於第4至第6個Byte,並將Put指標移至第7個
D:\Patent\P-0238TW. ptd 第11頁 五、發明說明(9) B y t e處,過程粍時3毫秒; 9、依Take指標,自第3個Byte處取出「test」,但由 於未收到間隔符號,表所取出的數據可能不完整,故先開 啟中斷服務程式,等待其接收下一個字元,並保持於偵測 狀態; 1 0、中斷程式將下一個收到的字元「.」存入第7個 B y t e,此過程粍時1毫秒,並將P u t指標移至第8個B y t e ; 1 1 、主應用程式收到字元「.」,經判斷為間隔符號 後,表示「test」為一完整的單字,故將Take指標移至第 8 個 B y t e ; 1 2、處理單字「t e s t」,乾時3毫秒。 因此,總計時間為5 + 3 + 3 + 3 + 1 + 3二1 8 (毫秒)。較習知方法2 7 毫秒為快。同時所需的暫存器空間也由1 5個B y t e減為8個 B y t e。可見得本發明確能達'成加快速度及減低所需暫存器 空間的目的。 【圖式之符號說明】 10 開始 11 向被測硬體發送數據 12 等待硬體響應數據 13 顯示響應數據 14 有無用戶輸入 15 顯示、處理用戶輸入 16 是否測試完畢 1 7 反回
D:\Patent\P-0238TW. ptd 第12頁 _40為70_ 五、發明說明(ίο) 2 1 環形暫存器 2 2 P u t指標 2 3 T a k e指標 2 4 中斷服務程式 2 5 主應用程式 3 1 主應用程式 3 2 中斷服務程式 3 3 通信區緩衝區 4 1 逐個讀入暫存器值 4 2 判斷暫存器值是否發生變化 4 3 更新並做標記 4 4 判斷是否讀完全部的數據 4 5 判斷是否收到新數據 4 6 將數據放入環形暫存’器並更新P u t指標的位置 4 7 判斷暫存器是否將溢出 4 8 命令硬體暫停發送數據,並將之設定為暫停狀態 5 1 判斷是否有新數據 5 2 關閉中斷服務程式 53 取出數據並更新Take指標的位置 5 4 開啟中斷服務程式 5 5 設置取數據成功標記 5 6 返回 5 7 設置取數據失敗標記 5 8 判斷硬體是否處於暫停狀態
D:\Patent\P-0238TW. ptd 第13頁 _40^70_ 五、發明說明(11) 5 9 向硬體發出繼續傳送指命,並設定硬體為發送狀態 6 1 判斷是否有待處理的數據 6 2 處理更新標記指定之數據,並清除數據的更新標記 6 3 判斷是否接收到預期的回應。 6 4 延時等待 6 5 判斷是否已到了等待時間的上限 6 6 設定超時狀態 6 7 設定回應值 6 8 返回
D:\Patent\P-0238TW. ptd 第14頁
Claims (1)
- 六、申請專利範圍 40^70 1、 一種硬體測試模組,用以測試硬體傳送數據的功 能,該硬體測試模組至少包含: 一被測硬體; 一通信區緩衝區,其係可以被儲存及被讀取該被測硬 體的狀態資料及該被測硬體所傳送的數據; 一主應用程式,偵測並讀取該通信區緩衝區所存之狀 態資料及該數據,並加以處理; 一中斷服務程式,接受該主應用程式的控制,而將該 被測硬體所傳送之該數據寫入該通信區緩衝區; 其中,當該主應用程式在讀取該通信區緩衝區時,將 會先關閉該中斷服務程式,在讀取完畢後才再開啟該中斷 服務程式; 當該主應用程式在處理該數據的同時,該中斷服務程 式仍會繼續將所接收到的新·數據寫入該通信區緩衝區中。 2、 如申請專利範圍第1項所述之硬體測試模組,其中 該通信區緩衝區係包含有一環狀暫存器。 3、 如申請專利範圍第2項所述之硬體測試模組,其中 該環狀暫存器係透過一 P u t指標來定位資料的儲存,以及 一 T a k e指標來定位資料的讀取。 4、 如申請專利範圍第1項所述之硬體測試模組,其中 該主應用程式的工作模式,係包含有下列步驟: 1 ) 偵測該通信區緩衝區,並發現該通信區緩衝區t 有新數據; 2 ) 關閉該中斷服務程式;D:\Patent\P-0238TW.ptd 第15頁 40^70 六、申請專利範圍 3 ) 讀取該新數據; 4) 開啟該中斷服務程式; 5) 處理該新數據。 5、 如申請專利範圍第1項所述之硬體測試模組,其中 該主應用程式的工作模式,係包含有下列步驟: 1 ) 偵測該通信區緩衝區,並發現該通信區缓衝區中 沒有新數據; 2 ) 檢測出被測硬體處於暫停狀況; 3) 向該被測硬體發明繼續傳送數據之指令; 4 ) 設定該被測硬體為發送狀態。 6、 如申請專利範圍第1項所述之硬體測試模組,其中 該中斷服務程式的工作模式,係包含有下列步驟: 1 ) 逐個讀入被測硬體暫存器内的數據; 2 ) 將所接收之該數據存入該通信區緩衝區中的環狀 存器中,該環狀暫存器係包含有一 P u t指標; 3 ) 更新該P u t指標所指向的位置。 7、 一種增加硬體測試速度的方法,其包含有: 1 )取一環狀暫存器,其係可以被儲存及被讀取被測硬 體的狀態資料及該被測硬體所傳送的數據; 2 )設一主應用程式,其係可以讀取該環狀暫存器所存 之狀態資料及該數據,並加以處理; 3 )設一中斷服務程式,並接受該主應用程式的控制, 而將該被測硬體所傳送之該數據寫入該環狀暫存器; 其中,利用並行操作的方式,使該主應用程式在處理該數D:\Patent\P-0238TW. ptd 第16頁 _4〇Μ?〇_ 六、申請專利範圍 據的同時,該中斷服務程式仍會繼續將所接收到的新數據 寫入該環狀暫存器中。 8、 如申請專利範圍第7項所述之增加硬體測試速度的 方法,其中該環狀暫存器係透過一 P u t指標來定位資料的 儲存,以及一 T a k e指標來定位資料的讀取: 9、 如申請專利範圍第了項所述之增加硬體测試速度的 方法,其中該主應闬程式的工作模式 '係包含有下列步 驟: 1 )偵測該環牝暫存器,並發現該環狀暫存器+有斩 數據: 2 )關閉該中斷服務程式: 3 ) 謂取邊祈數據, 4 ) 開啟該中斷服務程式: 5 ) 處理該新數據: 1 〇、如申請專利範圍第7項所述之增加硬體測試速度 的方法,其中該主應用程式的工作模式,係包含有下列步 驟: ί }偵測該環狀暫存器,並發現該環狀暫存.括中沒有 新數據; 2) 檢測出被測硬體處於暫停狀況; 3) 向該被測硬體發明繼續傳送數據之指令: 4) 設定該被測硬體為發送狀態。 1 1、如申請專利範圍第7項所述之增加硬體測試速度 的方法,其中該中斷服務程式的工作模式,係包含有下列C:\Program Files\Patent\P-〇238TW.ptd 第 17 頁 Λ ft 六、申請專利範ii 步驟: 1) 逐個讀入被測硬體暫存器内的數據; 2) 將所接收之該數據存入該環狀暫存器中 暫存器係包含有一 P u t指標; 3 ) 更新該P u t指標所指向的位置。 該環狀D:\Patent\P-0238TW. ptd 第18頁
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW87121171A TW405070B (en) | 1998-12-18 | 1998-12-18 | Hardware testing module |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW87121171A TW405070B (en) | 1998-12-18 | 1998-12-18 | Hardware testing module |
Publications (1)
Publication Number | Publication Date |
---|---|
TW405070B true TW405070B (en) | 2000-09-11 |
Family
ID=21632369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW87121171A TW405070B (en) | 1998-12-18 | 1998-12-18 | Hardware testing module |
Country Status (1)
Country | Link |
---|---|
TW (1) | TW405070B (zh) |
-
1998
- 1998-12-18 TW TW87121171A patent/TW405070B/zh not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101371936B1 (ko) | 메모리 장치들에 의해 호스트 메모리 액세스를 제어하기 위한 방법들 및 시스템들 | |
JPH09152988A (ja) | 循環待ち行列作成者エンティティ | |
TWI226546B (en) | Method for checking address of data to be transferred in DMA mode and DMA controller | |
JP3798049B2 (ja) | データメモリおよびその動作方法 | |
US7472138B2 (en) | System and method for handing input/output errors during recovery of journaling files in a data processing system | |
KR20010007007A (ko) | 판독/기록 일관성을 갖는 버스 사용의 최적화 방법 및 장치 | |
CN104268473B (zh) | 应用程序检测方法和装置 | |
JPS6217876Y2 (zh) | ||
CN110825669A (zh) | 修改NVMe PRP列表指针和数据指针以利于路由PCIe存储器请求 | |
KR890015137A (ko) | 입출력 제어 시스템 | |
KR20100101517A (ko) | 데이터 파일 삭제 명령에 응답하는 시스템 및 방법 | |
TW405070B (en) | Hardware testing module | |
US5835957A (en) | System and method for a fast data write from a computer system to a storage system by overlapping transfer operations | |
CN1009227B (zh) | 计算机系统 | |
US7844783B2 (en) | Method for automatically detecting an attempted invalid access to a memory address by a software application in a mainframe computer | |
CN109582523B (zh) | 有效分析SSD前端NVMe模块性能的方法及系统 | |
CN100365606C (zh) | 安全数字存储卡数据的存储器直接存取方法及其接口电路 | |
CN114446373A (zh) | 一种测试ddr器件的方法及计算机存储介质 | |
US6742073B1 (en) | Bus controller technique to control N buses | |
US5926840A (en) | Out-of-order fetching | |
JP2698252B2 (ja) | プリンタ | |
GB2037466A (en) | Computer with cache memory | |
US5640557A (en) | Method and system for processing logic blocks in a data processing system | |
JP2531209B2 (ja) | チャネル装置 | |
JP2002132743A (ja) | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |