TWI607375B - 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器 - Google Patents

提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器 Download PDF

Info

Publication number
TWI607375B
TWI607375B TW101140954A TW101140954A TWI607375B TW I607375 B TWI607375 B TW I607375B TW 101140954 A TW101140954 A TW 101140954A TW 101140954 A TW101140954 A TW 101140954A TW I607375 B TWI607375 B TW I607375B
Authority
TW
Taiwan
Prior art keywords
value
digit
detected
comparison
processor
Prior art date
Application number
TW101140954A
Other languages
English (en)
Other versions
TW201419137A (zh
Inventor
謝文裕
鄭世宏
Original Assignee
義隆電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 義隆電子股份有限公司 filed Critical 義隆電子股份有限公司
Priority to TW101140954A priority Critical patent/TWI607375B/zh
Priority to CN201210548321.6A priority patent/CN103809958B/zh
Publication of TW201419137A publication Critical patent/TW201419137A/zh
Application granted granted Critical
Publication of TWI607375B publication Critical patent/TWI607375B/zh

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

提升處理器之數值比較效能方法及應用在電子裝置進行 數值比較的處理器
本發明係關於一種處理器檢測數位數值範圍的技術,尤指一種提升處理器之數值比較效能方法及應用在電子裝置進行數值比較處理器。
一般處理器10,如圖4所示,主要包含有一資料記憶體11、一算術邏輯運算單元12、一累加器121及一指令單元30,其中該指令單元係包含有一程式記憶體31、指令暫存器32、一指令解碼器33及一程式計數器34,其中該算術邏輯運算單元12配合該指令單元30以韌體進行數值比較。
如圖5所示,係為處理器10以韌體進行數值比較的流程,首先該處理器10係於資料記憶體11中儲存有一上標值及一下標值,當接收外部輸入的待檢測數位數值後,一併儲存至該資料記憶體11(S50),當該處理器10執行該數值範比較流程時,該8位元的邏輯運算單元30係自資料記憶體11先讀取待檢測數位數值FD0的高8位元FD0H與該上標值的高8位元AH進行比對(S51),若大於者(FD0H>AH),則代表該待測數位數值FD0高於上標值,而執行對功能程式A(S511);若不大於,則進一步判斷是否等於(FD0H=AH)(S52),若不相等,則代表該待測數位數值FD0沒有大於上標值的可能;若相等,則進一步讀取待檢測數位數值的低8位元FD0L與上標值的低8位元AL進行比對(S53),若大於 (FD0L>AL),則同樣代表該待測數位數值FD0高於上標值,而執行對功能程式A(S511);若不大於,則代表該待測數位數值FD0沒有大於上標值的可能。
當該待測數位數值FD0沒有大於上標值的可能,要接著讀取待檢測數位數值的高8位元FD0H比對該下標值的高8位元BH(S54),若小於者(FD0H<BH),則代表該待測數位數值FD0低於下標值,而執行對應功能程式B(S541);若不小於,則進一步判斷是否相等(S55);若不相等,則代表待檢測數位數值FD0介於上、下標值,故執行對應功能程式C(S551);若相等(FD0H=BH),則讀取待檢測數位數值的低8位元FD0L與下標值的低8位元BL進行比對(S56),若小於(FD0L<BL),則同樣代表該待測數位數值FD0低於下標值,而執行對功能程式B(S541)。若待檢測數位數值的高8位元FD0H不小於該下標值的高8位元BL,則代表待檢測數位數值FD0介於上、下標值,故執行對應功能程式C(S551)。
以下謹進一步提供對應此一流程的程式碼:
目前處理器執行該數值比對流程,對於需判斷待檢測數位數值落入上標值和下標值之間的結果,若單純以韌體程式加以判斷,則最少需要上述程式碼方能實現,倘若應用於更多數位數值範圍的判斷,則所需判斷時間相對增長,而往往處理器必須於判斷結果出現後才能依結果執行對應處理或控制程式,因此若拉長判斷時間,勢必也造成處理器相應處理或控制不靈敏,而有必要針對處理器用於數值範圍檢測效率進行改善。
有鑑於上述技術缺點,本發明主要目的係提供一種提升處理器之數值比較效能方法及應用在電子裝置進行數值比較處理器。
欲達上述目的所使用的主要技術手段係令該提升處理器之數值比較效能方法包含有:接收一數位待檢測數值;利用一比較單元對該待檢測數位數值及多數組預設臨界值進行比較,並輸出比對代碼;及依據比對代碼執行對應的程式功能。
再者,本發明應用在電子裝置進行數值比較處理器係包含有: 一資料記憶體,係儲存有多數組臨界值;一比較單元,係連接該電子裝置並接收其輸出的數位待檢測數值,且該比較單元連接該資料記憶體以擷取多數組臨界值,來對該數位待檢測數值進行比較,並輸出比對代碼後儲存至該資料記憶體;及一指令單元,係連接該資料記憶體,讀取該比對代碼並依據該比較代碼執行對應的功能程式。
上述本發明係主要於處理器內部新增一由硬體電路組成的比較單元,該比較單元先自資料記憶體中擷取待測數位數值與臨界值進行比對,由於比較單元為硬體電路,故可快速地產生比對代碼,令該指令單元依據該比對代碼直接執行對應的功能程式;是以,處理器不必再以韌體程式依序而逐步地比對該待測數位數值與臨界值,而可提升處理器比對數值的處理效率。
10、10a‧‧‧處理器
11‧‧‧資料記憶體
12‧‧‧算術邏輯運算單元
121‧‧‧累加器
20‧‧‧比較單元
30‧‧‧指令單元
31‧‧‧程式記憶體
32‧‧‧指令暫存器
33‧‧‧指令解碼器
34‧‧‧程式計數器
圖1:係本發明處理器的功能方塊圖。
圖2A:係本發明比較單元的訊號接線示意圖。
圖2B:係本發明比較單元的邏輯流程圖。
圖3:係本發明提升處理器之數位數值範圍檢測效能方法的流程圖:圖4:係既有處理器的功能方塊圖。
圖5:係既有處理器的數位數值範圍檢測方法的流程圖。
首先請參閱圖1所示,係為本發明處理器10a一功能方塊圖,其主要包含有一資料記憶體11、一比較單元20及一指令單元30;其中:該比較單元 20係以資料匯流排與該資料記憶體11及該指令單元30連接。上述資料記憶體11可被寫入並儲存多數組臨界值,其中該多數組臨界值係可改寫,並且於處理器10a接收外部輸入的待檢測數位數值後,予以暫存該待檢測數位數值。
當處理器10a接收待檢測數位數值後,該比較電路20係自資料記憶體11擷取該待檢測數位數值及多數組臨界值,由於該比較電路20係為硬體電路,故該待檢測數位數值可與多數組臨界值快速進行大小比對,進而產生並儲存一比對代碼。
此時,指令單元30同樣透過資料匯流排讀取比較電路20所產生的比對代碼(2位元),並依據該比對代碼執行對應的功能程式;具體而言,該指令單元30配合該處理器10a的一算術邏輯演算單元12及一累加器121,將指令單元30的程式計數器34直接加上2位元的比對代碼,以產生新的目的位址,令指令單元的程式記憶體31、指令暫存器32及指令解碼器33指向並跳躍(JUMP)至該程式記憶體31的新的目的位址,以執行該新位址所儲存的功能程式A、B或C。詳細程式碼如下:
因此,相較既有處理器完全以程式(韌體)進行比較判斷,除了減少25個指令時間外,亦減少佔據程式記憶體31的儲存容量。
請配合參閱圖2A及圖2B所示,假設待檢測數位數值為16進位,且比較單元20預設二組臨界值(上標數值、下標數值;均16進位),以界定三個檢測範圍,故該比較單元20共計包含有48支輸入接腳,而為反應三個檢測範圍,故包含有2支輸出接腳;其中比對代碼暫訂為00、01、10;其中該比較單元20以硬體電路實現以下比對步驟:自資料記憶體11讀取待檢測數位數值HD0的高8位元HD0H與該上標值FD0GT的高8位元FD0GTH進行比對(S21),若大於者(HD0H>FD0GTH),則代表該待測數位數值HD0高於上標值FD0GT,而輸出比對代碼10,並儲存至資料記憶體11的位址FD0WC中;若不大於,則進一步判斷二者是否相等(S22);若不相等,則代表該待測數位數值HD0沒有大於上標值FD0GT的可能;若相等(HD0H=FD0GTH),則進一步讀取待檢測數位數值的低8位元HD0L與上標值的低8位元FD0GTL進行比對(S23),若大於(HD0L>FD0GTL),則同樣代表該待測數位數值HD0高於上標值FD0GT,而輸出比對代碼10,並儲存至資料記憶體11的位址FD0WC中;若不大於,則代表該待測數位數值HD0沒有大於上標值FD0GT的可能。
當該待測數位數值HD0沒有大於上標值FD0GT的可能,接著與下標值FD0LT進行大小比,即讀取待檢測數位數值的高8位元HD0H比對該下標值的高8位元FD0LTH(S24),若小於者(HD0H<FD0LTH),則代表該待測數位數值HD0低於下標值FD0LT,而產生比對代碼01,並儲存至資料記憶體的位置FD0WC中;反之,則進一步比對二者是否相等(S25);若不等於,則代表該待測數位數值HD0落在上標值與下標值之間,而產生比對代碼00;若相等(HD0H=FD0LTH),則進一步讀取待檢測數位數值的低8位元HD0L與下標值的低8位元FD0LTL進行比對(S26),若小於(HD0L<FD0LTL),則代表該待測數位數值FD0低於下標值,而產生比對代碼01;反之,則代表該待測數位數值HD0落在上標值與下標值之間,而產生比對代碼00。
請配合參閱圖3所示,處理器10a對外部待檢測數值判斷其檢測範圍的工作流程,首先將數組臨界值FD0GT、FD0LT儲存在處理器10a的資料記憶體中11(S10),當外部待檢測數值輸入後,該比較單元20係接收待檢測數位數值HD0(S11),並讀取資料記憶體11的數組臨界值FD0GT、FD0LT,以硬體架構比對待檢測數位數值HD0較數組臨界值FD0GT、FD0LT大或小,並輸出及儲存比對代碼(S12),此時才由指令單元30將比對代碼加入程式計數器34目前的位址,產生一新目的位置,指向並執行該目的位址的功能程式,若以圖2B為例示,則當比對代碼為00(S13),則執行該程式計數器34目前所指程式位址的功能程式C(S131),若比對代碼為01(S14),則執行該程式計數器34目前所指程式位址加1的目的位址之功能程式B(S141);又若該比對代碼為10(S15),則執行該程式計數器34目前所指程式位置加2的目的位址之功能程式A(S151);此三段功能程式A~C係儲存於程式記憶體31。
由此可知,本發明提升處理器之數值比較效能方法係於接收一數位待檢測數值後,利用一比較單元對該待檢測數位數值及多數組預設臨界值進 行比較,並輸出比對代碼;令處理器的指令單元再依據比對代碼執行對應的功能程式。
綜上所述,本發明係主要於處理器內部新增一由硬體電路組成的比較單元,該比較單元可輸入多組臨界值,以與該介面電路轉換並輸出的待測數位數值進行比對,由於比較單元為硬體電路,故可快速地產生比對代碼,令該邏輯運算單元不必再以程式逐步依序判斷該待測數位數值的檢測範圍,而直接依據比對代碼所對應的程式位址,而直接執行該功能程式;如此一來,相較既有處理器以韌體程式判斷檢測範圍更快速,而提升處理器的處理效率;再者,上述處理器若用於如觸控裝置、訊號檢測等需要經常性檢知外部訊號的檢測範圍的電路,長時間執行後,由於本發明處理器的程式碼較既有處理器有效減少,故將有助於縮減處理器的消耗功率。
20‧‧‧比較單元

Claims (8)

  1. 一種提升處理器之數值比較效能方法,包含有:接收一待檢測數位數值;利用一比較單元對該待檢測數位數值及多數組預設臨界值進行比較,並輸出比對代碼;及利用一指令單元依據該比對代碼執行對應的功能程式。
  2. 如請求項1所述之方法,上述多數組臨界值及比對代碼均暫存在處理器的資料記憶體,其中多數組臨界值係可改寫。
  3. 如請求項2所述之方法,其中該比對代碼的位元數少於待檢測數位數值的位元數。
  4. 如請求項3所述之方法,該比較單元預設二組臨界值分別為上標數值及下標數值,各臨界值位元數與待檢測數位數值的位元數相同,又該比較單元包含有三組輸入端,以分別並列接收待檢測數位數值及上、下標數值,並包含有二輸出端,以二位元表示比對代碼。
  5. 如請求項4所述之方法,上述比較單元輸出比對代碼步驟係包含有:自資料記憶體讀取待檢測數位數值的高位元與該上標值的高位元進行比對;若大於者,則代表該待測數位數值高於上標值,而輸出第一比對代碼,並儲存至資料記憶體中;若待檢測數位數值的高位元不大於該上標值的高位元,則進一步判斷二者是否相等;若不相等,則代表該待測數位數值沒有大於上標值的可能;若相等,則進一步讀取待檢測數位數值的低位元與上標值的低位元進行比對; 若待檢測數位數值的低位元大於上標值的低位元,則該待測數位數值高於上標值,而輸出第一比對代碼,並儲存至資料記憶體中;若不大於,則該待測數位數值沒有大於上標值的可能;讀取待檢測數位數值的高位元及該下標值的高位元進行比對;若小於者,代表該待測數位數值低於下標值,而產生第二比對代碼,並儲存至資料記憶體;反之,則進一步比對二者是否相等;若不相等,代表該待測數位數值落在上標值與下標值之間,而產生第三比對代碼;若相等,則進一步讀取待檢測數位數值的低位元與下標值的低位元進行比對;若待檢測數位數值的低位元小於下標值的低位元,則代表該待測數位數值低於下標值,而產生第二比對代碼;若不小於,則代表該待測數位數值落在上標值與下標值之間,而產生第三比對代碼。
  6. 如請求項5所述之方法,上述依據比對代碼執行對應的功能程式的步驟係包含有:於處理器的程式記憶體儲存有對應比對代碼的多數段功能程式;將比對代碼加入處理器的程式計數器,獲得一新的位址,以指向並執行該程式記憶體中新位址的功能程式。
  7. 一種應用在電子裝置進行數值比較處理器,包含有:一資料記憶體,係儲存有多數組臨界值;一比較單元,係連接該電子裝置並接收其輸出的待檢測數位數值,且該比較單元連接該資料記憶體以擷取多數組臨界值,來對該待檢測數位數值進行比較,並輸出比對代碼後儲存至該資料記憶體;及 一指令單元,係連接該資料記憶體,讀取該比對代碼並依據該比對代碼執行對應的程式功能。
  8. 如請求項7所述之處理器,該資料記憶體儲存的多數組臨界值係可改寫。
TW101140954A 2012-11-05 2012-11-05 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器 TWI607375B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW101140954A TWI607375B (zh) 2012-11-05 2012-11-05 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器
CN201210548321.6A CN103809958B (zh) 2012-11-05 2012-12-17 提升处理器的数值比较效率方法及数值比较处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW101140954A TWI607375B (zh) 2012-11-05 2012-11-05 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器

Publications (2)

Publication Number Publication Date
TW201419137A TW201419137A (zh) 2014-05-16
TWI607375B true TWI607375B (zh) 2017-12-01

Family

ID=50706793

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101140954A TWI607375B (zh) 2012-11-05 2012-11-05 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器

Country Status (2)

Country Link
CN (1) CN103809958B (zh)
TW (1) TWI607375B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW538349B (en) * 2000-09-28 2003-06-21 Intel Corp Array searching operations
TW200705255A (en) * 2005-04-15 2007-02-01 Intel Corp Ring management
TW201220075A (en) * 2010-11-03 2012-05-16 Inventec Corp Controlling method for Baseboard Management Controller with customization sensor data record

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123108A (en) * 1989-09-11 1992-06-16 Wang Laboratories, Inc. Improved cpu pipeline having register file bypass and working register bypass on update/access address compare
US5253349A (en) * 1991-01-30 1993-10-12 International Business Machines Corporation Decreasing processing time for type 1 dyadic instructions
US6795842B2 (en) * 2000-12-27 2004-09-21 International Business Machines Corporation Method and apparatus for comparing two binary numbers with a power-of-two threshold
US8984231B2 (en) * 2009-12-22 2015-03-17 Intel Corporation Methods and apparatus to perform adaptive pre-fetch operations in managed runtime environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW538349B (en) * 2000-09-28 2003-06-21 Intel Corp Array searching operations
TW200705255A (en) * 2005-04-15 2007-02-01 Intel Corp Ring management
TW201220075A (en) * 2010-11-03 2012-05-16 Inventec Corp Controlling method for Baseboard Management Controller with customization sensor data record

Also Published As

Publication number Publication date
CN103809958A (zh) 2014-05-21
TW201419137A (zh) 2014-05-16
CN103809958B (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
US9652321B2 (en) Recovery algorithm in non-volatile memory
JP4864006B2 (ja) 試験装置および試験方法
US9619324B2 (en) Error correction in non—volatile memory
JP2012113809A5 (ja) フラッシュメモリ装置のメモリセルを読み出す方法
TWI514145B (zh) 可儲存除錯資料的處理器、其快取及控制方法
JP2009205698A5 (zh)
CN103226499B (zh) 一种恢复内部存储器中的异常数据的方法及装置
TWI460728B (zh) 記憶體控制器、記憶裝置以及判斷記憶裝置之型式的方法
JP6231135B2 (ja) データ保護方法、装置及び設備
JP2010520486A5 (zh)
US8351257B2 (en) Semiconductor memory device and method of reading the same
TW201543496A (zh) 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置
KR101497545B1 (ko) 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치
TWI607375B (zh) 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器
JP5283989B2 (ja) メモリシステム及びメモリアクセス方法
US8359424B2 (en) Flash memory device and reading method thereof
KR20150144714A (ko) 저장 데이터 값의 에러 검출
EP3125251A1 (en) Hamming code-based data access method and integrated random access memory
TWI619015B (zh) 記憶體控制器以及記憶體控制方法
GB2499487A (en) Floating-point event counters with automatic geometric pre-scaling, for electronic devices.
TWI554036B (zh) 資料取樣電路模組、資料取樣方法及記憶體儲存裝置
US20210240606A1 (en) Method and apparatus for eliminating bit disturbance errors in non-volatile memory devices
TW201506942A (zh) 位址線測試系統及方法
TWI607222B (zh) 半導體裝置
TWI601011B (zh) 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法