TWI652620B - 用於測試混合式指令架構之電腦實施方法、電腦程式產品及系統 - Google Patents
用於測試混合式指令架構之電腦實施方法、電腦程式產品及系統 Download PDFInfo
- Publication number
- TWI652620B TWI652620B TW106132850A TW106132850A TWI652620B TW I652620 B TWI652620 B TW I652620B TW 106132850 A TW106132850 A TW 106132850A TW 106132850 A TW106132850 A TW 106132850A TW I652620 B TWI652620 B TW I652620B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- architecture
- difference
- infrastructure
- hybrid architecture
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004590 computer program Methods 0.000 title claims description 19
- 230000004044 response Effects 0.000 claims description 7
- 238000004088 simulation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 21
- 230000006399 behavior Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 102100036464 Activated RNA polymerase II transcriptional coactivator p15 Human genes 0.000 description 1
- 102100034033 Alpha-adducin Human genes 0.000 description 1
- 102100024348 Beta-adducin Human genes 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 101000713904 Homo sapiens Activated RNA polymerase II transcriptional coactivator p15 Proteins 0.000 description 1
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 1
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 1
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 1
- 229910004444 SUB1 Inorganic materials 0.000 description 1
- 229910004438 SUB2 Inorganic materials 0.000 description 1
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
Abstract
本發明提供一種用於測試一混合式架構指令集之電腦實施方法。該方法包括定義用於一第一基礎架構之一第一指令定義表,及定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構。該方法亦包括:定義一差異表,其中該差異表定義架構特定行為;及基於該差異表以及該第一指令定義表或該第二指令定義表中之至少一者產生一混合式架構表。該方法包括基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構。
Description
本發明係關於測試指令集,且特定言之係關於用以測試混合式指令架構集合之系統及方法。
測試產生工具出於確保機器實施與其對應架構之遵從性之目的用以產生測試案例。對於電腦系統,測試案例可為驅動電腦以產生特定結果的電腦指令集,其中所產生結果之正確性係由測試載具判定。此測試案例可以偽隨機方式建置。另外,有效測試產生工具將以自動化及動態方式建置此等測試案例。運用此等測試結果,測試器將判定實施系統或其特徵中之一者是否正如其最初建立針對其執行一般起作用。眾多測試案例經模擬以顯示可能問題。當系統之軟體及硬體改變時,不同測試案例必須經執行以判定系統之可靠性及穩定性。
當舊版系統及軟體程式淘汰時或當具有架構行為之較新版本被定義時,本發明之系統必須能夠支援舊版版本而同時支援系統及/或軟體之最近版本。混合式架構用以提供舊版版本與最近版本之間的相容性。此等混合式架構需要測試以維持兩個版本在一起操作時之品質。
本發明提供一種用於測試一混合式架構指令集之電腦實施方法。該
方法包括:定義用於一第一基礎架構之一第一指令定義表;及定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構。該方法亦包括:定義一差異表,其中該差異表定義架構特定行為;及基於該差異表以及該第一指令定義表或該第二指令定義表中之至少一者產生一混合式架構表。該方法包括基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構。
根據另一實施例,提供一種用於測試混合式架構指令集之電腦程式產品。該電腦可讀儲存媒體其上儲存有第一程式指令,該等第一程式指令可由一處理器執行以致使該處理器:定義用於第一基礎架構之第一指令定義表;及定義用於第二基礎架構之第二指令定義表,其中第一基礎架構不同於第二基礎架構。另外,該電腦程式產品定義一差異表,其中該差異表定義架構特定行為,及基於該差異表以及第一指令定義表或第二指令定義表中之至少一者產生混合式架構表。該電腦程式產品基於混合式架構表執行測試,其中混合式架構表係用於在第一基礎架構與第二基礎架構之間相容的混合式架構。
提供一種用於測試混合式架構指令集之系統。該系統包括一儲存媒體,該儲存媒體耦接至一處理器,且該處理器經組態以:定義用於第一基礎架構之第一指令定義表;定義用於第二基礎架構之第二指令定義表,其中第一基礎架構不同於第二基礎架構;及定義一差異表,其中該差異表定義架構特定行為。該系統亦包括:基於差異表以及第一指令定義表或第二指令定義表中之至少一者產生混合式架構表;及基於混合式架構表執行測試,其中混合式架構表係用於在第一基礎架構與第二基礎架構之間相容的
混合式架構。
100‧‧‧處理系統
101a‧‧‧中央處理單元(處理器)
101b‧‧‧中央處理單元(處理器)
101c‧‧‧中央處理單元(處理器)
102‧‧‧唯讀記憶體(ROM)
103‧‧‧硬碟
104‧‧‧大容量儲存體
105‧‧‧磁帶儲存器件/磁帶儲存磁碟機
106‧‧‧網路配接器
107‧‧‧輸入/輸出(I/O)配接器
108‧‧‧使用者介面配接器
109‧‧‧鍵盤
110‧‧‧滑鼠
111‧‧‧揚聲器
112‧‧‧顯示配接器
113‧‧‧匯流排
114‧‧‧系統記憶體
115‧‧‧顯示器
116‧‧‧外部網路
120‧‧‧作業系統
130‧‧‧圖形處理單元
200‧‧‧流程圖
202‧‧‧區塊
204‧‧‧區塊
206‧‧‧區塊
208‧‧‧區塊
210‧‧‧區塊
300‧‧‧流程圖
302‧‧‧區塊
304‧‧‧區塊
306‧‧‧區塊
308‧‧‧區塊
310‧‧‧區塊
312‧‧‧區塊
400‧‧‧方塊圖
402‧‧‧s/390指令集
404‧‧‧z/架構指令集
406‧‧‧差異表
408‧‧‧s/390相容指令集
500‧‧‧方塊圖
502‧‧‧第一指令集
504‧‧‧第二指令集
506‧‧‧差異表
508‧‧‧混合式指令集
600‧‧‧方塊圖
602‧‧‧基礎架構定義表
604‧‧‧基礎架構定義表
606‧‧‧差異表
608‧‧‧混合式架構表
700‧‧‧流程圖
702‧‧‧區塊
704‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
710‧‧‧區塊
712‧‧‧區塊
在本說明書之結尾部分處之申請專利範圍中特別指出並且清楚主張被視為本發明之主題。本發明之前述內容及其他特徵及優點自結合隨附圖式進行的以下詳細描述顯而易見,其中:圖1為說明用於實踐本文中之教示的處理系統之一個實例的方塊圖;圖2為說明用於測試混合式架構指令集之實施例的流程圖;圖3為說明用於測試混合式架構指令集之實施例的流程圖;圖4為說明用於測試混合式架構指令集之實施例的方塊圖;圖5為說明用於測試混合式架構指令集之另一實施例的方塊圖;圖6為說明用於測試混合式架構指令集之實施例之實例的方塊圖;且圖7為說明用於測試混合式架構指令集之實施例的流程圖。
根據本發明之一或多個實施例,提供用於測試混合式架構指令集之電腦實施方法、電腦程式產品及系統。該方法包括:定義用於第一基礎架構之第一指令定義表;及定義用於第二基礎架構之第二指令定義表,其中第一基礎架構不同於第二基礎架構。該方法亦包括:定義差異表,其中該差異表定義架構特定行為;及基於該差異表以及第一指令定義表或第二指令定義表中之至少一者產生混合式架構表。該方法包括基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構。
挑戰係允許測試工具動態且有效地(亦即,最小維護)建置由藉由不同架構定義之機器指令集組成的測試案例;換言之,建立用於混合式模型之
測試案例。在一或多個實施例中,呈現用以測試混合式架構之可擴展及靈活性構件。
各種架構中使用之機器語言為藉由電腦之中央處理單元(CPU)直接執行的指令集,其中每一指令執行特定任務。指令由後面有一或多個運算元名詞之操作程式碼組成,其中操作程式碼為動作而運算元為記憶體中之被作用的資料位置或記憶體中之切換至的程式位置。指令集為電腦之軟體與其硬體之間的介面。
基礎表包括用於架構之機器指令集的基本定義。在一或多個實施例中,複數個基礎表可經產生用於複數個架構。不同類型之架構包括企業系統架構模式延伸ESAME架構、s/390架構、其他系統z架構及類似者。
在一或多個實施例中,差異表描述基礎架構之指令將如何在混合式架構中表現。混合式架構表包括用於混合式架構之機器指令定義。由基礎表及差異表產生的混合式表含有為測試目的而使用的最終機器指令集,其中混合式模式支援多個基礎架構之間的相容模式。
在一或多個實施例中,相容模式架構為s/390相容模式架構,其為兩個IBM z/系統架構、s/390架構及z/架構之組合。在s/390相容性模式中支援s/390指令集及一些z/架構指令。s/390相容性模式允許一些s/390程式在z/架構平台上執行,此係因為s/390模式已被中斷。
在一或多個實施例中,執行s/390相容性架構之驗證。在一實例中,s/390指令經導出至第一基礎表中且z/架構指令經導出至第二基礎表中。差異表經建立以定義來自s/390表或z/架構表或兩者之指令集的唯一行為。最終,混合式指令集係根據基礎表及差異表而產生以建立在s/390相容模式中支援的最終指令集。
參看圖1,展示用於實施本文中之教示的處理系統100之實施例。在此實施例中,系統100具有一或多個中央處理單元(處理器)101a、101b、101c等(共同地或一般地被稱作處理器101)。在一個實施例中,每一處理器101可包括精簡指令集電腦(RISC)微處理器。處理器101經由系統匯流排113耦接至系統記憶體114及各種其他組件。唯讀記憶體(ROM)102耦接至系統匯流排113且可包括基本輸入/輸出系統(BIOS),其控制系統100之某些基本功能。
圖1進一步描繪耦接至系統匯流排113之輸入/輸出(I/O)配接器107及網路配接器106。I/O配接器107可為與硬碟103及/或磁帶儲存磁碟機105或任何其他類似組件通信之小型電腦系統介面(SCSI)配接器。I/O配接器107、硬碟103及磁帶儲存器件105在本文中共同地稱為大容量儲存體104。供在處理系統100上執行之作業系統120可儲存於大容量儲存體104中。網路配接器106將匯流排113與外部網路116互連,從而使得資料處理系統100能夠與其他此等系統通信。螢幕(例如,顯示監測器)115藉由顯示轉接器112連接至系統匯流排113,顯示轉接器112可包括用以改良圖形密集型應用之效能的圖形配接器及視訊控制器。在一個實施例中,配接器107、106及112可連接至經由中間匯流排橋接器(未展示)連接至系統匯流排113之一或多個I/O匯流排。用於連接周邊器件(諸如硬碟控制器、網路配接器及圖形配接器)之合適的I/O匯流排通常包括共同協定,諸如周邊組件互連(PCI)。額外輸入/輸出器件經展示為經由使用者介面配接器108及顯示配接器112連接至系統匯流排113。鍵盤109、滑鼠110及揚聲器111全部經由使用者介面配接器108互連至匯流排113,使用者介面配接器108可包括例如將多個器件配接器整合至單一積體電路中的超級I/O晶片。
在例示性實施例中,處理系統100包括圖形處理單元130。圖形處理單元130為特殊化電子電路,該電子電路經設計以操控並更改記憶體以加速在意欲用於輸出至顯示器之圖框緩衝器中之影像之建立。一般而言,圖形處理單元130在操控電腦圖形及影像處理方面極其有效,且具有使得與用於大資料區塊之處理被並行進行的演算法之通用CPU相比更有效的高度並行結構。
因此,如圖1中所組態,系統100包括呈處理器101形式之處理能力、包括系統記憶體114及大容量儲存體104之儲存能力、諸如鍵盤109及滑鼠110之輸入構件,及包括揚聲器111及顯示器115之輸出能力。在一個實施例中,系統記憶體114及大容量儲存體104之一部分共同地儲存作業系統以協調圖1中展示之各個組件的功能。
現參看圖2,展示用於測試混合式架構指令集之實施例的流程圖200。區塊202提供定義用於第一基礎架構之第一指令定義表。在一或多個實施例中,指令定義表係自基礎架構導出。基礎架構可用於s/390架構,z/架構,或任何其他基於指令集之架構。區塊204提供定義用於第二基礎架構之第二指令定義表,其中第一架構不同於第二基礎架構。
流程圖200之區塊206包括定義差異表,其中差異表定義架構特定行為。實例行為可影響包括資料如何自儲存體寫入及讀取的操作。差異表可由系統操作人工地定義,其中差異表描述基礎架構之特定指令將如何在所得混合式架構中表現。在一或多個實施例中,至少一個差異表用以修改基礎架構之指令。
區塊208提供基於差異表以及第一指令定義表或第二指令定義表中之至少一者產生混合式架構表。區塊210提供基於混合式架構表執行測試,
其中混合式架構表係用於在第一基礎架構與第二基礎架構之間相容的混合式架構。在一或多個實施例中,混合式架構在第一架構與第二架構之間的相容模式中操作,其中相容模式支援舊版架構。舉例而言,用於s/390之相容模式將允許舊版s/390架構之若干程式在z/架構中操作。混合式架構將提供用於測試系統之模擬的框架。
現參看圖3,展示用於測試混合式架構指令集之流程圖300。區塊302提供自第一指令定義表或第二指令定義表中之至少一者中選擇第一指令。
區塊304提供在差異表中搜尋第一指令。區塊306提供回應於在差異表中定位第一指令,根據差異表修改指令。若所選擇第一指令存在於差異表中,則指令將在儲存於混合式架構表中之前被修改。
區塊308提供將經修改指令新增至混合式架構表。在實施例中,混合式架構係藉由將已定位於差異表中之經修改指令新增至混合式表而產生。否則,對於不存在於差異表中之指令,不具有修改之指令將被新增至混合式架構表。區塊310包括重複在差異表中搜尋第一指令定義表或第二指令定義表中之至少一者的後續指令。在一或多個實施例中,將在差異表中逐線地搜尋基礎架構之每一指令直至基礎架構中不存在尚未在差異表中搜尋到的剩餘指令。
區塊312提供回應於搜尋到後續指令而更新混合式架構表。在差異表中搜尋到每一指令之後,指令將基於差異表以最初形式或經修改形式被新增至混合式表,以形成用於測試混合式架構之最終指令集。
現參看圖4,展示用於測試混合式架構指令集之方塊圖400。s/390指令集402表示第一基礎架構且z/架構指令集404表示第二基礎架構。差異表406包括特定架構行為將如何在混合式架構下操作的描述。s/390相容之指
令集408表示基於差異表406及包括指令集402、404之表產生的混合式架構。在測試期間使用s/390相容指令集408。混合式指令集經產生以建立待在s/390相容模式中支援之最終指令集。
現參看圖5,展示用於測試混合式架構指令集之方塊圖500。類似於圖4,圖5提供第一指令集502及第二指令集504,其中第一指令集係用於s/390架構且第二指令集係用於z/架構。差異表506包括描述架構特定行為將如何在混合式架構中經修改的指令。混合式指令集508描繪基於差異表506及基礎架構502、504之複數個所得混合式指令集。混合式架構指令將用以測試系統之相容模式。
現參看圖6,展示用於測試混合式架構指令集之方塊圖600。架構定義表A 602表示基礎架構A。架構定義表A 602包括複數個指令。此等指令包括ADD1及SUB1指令,分別為加法及減法指令。架構定義表B 604表示基礎架構B。架構定義表B 604包括包括ADD2及SUB2之複數個指令。每一基礎架構獨立地定義此等指令。舉例而言,一個基礎架構可加上/減去32位元數字而其他基礎架構加上/減去64位元數字。
方塊圖600描繪差異表606。差異表係基於基礎架構人工地產生。在另一實施例中,可使用複數個差異表。差異表描述基礎表之指令將如何在混合式架構中修改。在一或多個實施例中,差異表將用以在將指令新增至混合式架構表之前修改所識別指令。在一實例中,差異表606定義ADD指令應如由基礎架構定義表A 602所定義而使用,而SUB指令應如由基礎架構定義表B 604所定義而使用。
混合式架構表608包括已基於基礎架構定義表602、604及差異表606新增的指令。在一實例中,若基礎架構A被選擇,則混合式表將藉由新增
來自表B之減法而產生。類似地,若使用基礎架構B,則ADD指令將被新增至來自表A之混合式表。混合式架構表係基於基礎架構定義表及差異表兩者而產生。
現參看圖7,展示流程圖700。在每一架構定義表(基礎表)已經產生用於每一基礎架構且差異表已被定義之後,如區塊702中所示,自基礎表中選擇指令。區塊704提供在差異表中搜尋所選擇指令,且決定區塊706判定所選擇指令是否在差異表中被找到。若是,則區塊708提供修改來自基礎表之所選擇指令。在所選擇指令經修改之後,經修改指令儲存於混合式表中。在一或多個實施例中,指令可藉由重新定義指令之「itext」欄位、重新定義指令經歷的例外狀況之類型,及重新定義用於建置及模擬指令之項目指標而修改。若否,則區塊710提供在混合式表中儲存所選擇指令。在一或多個實施例中,若指令將在測試期間在非混合式架構下執行,則來自基礎表之其指令將被使用,其中差異定義對在非混合式架構中執行之指令沒有影響。區塊712規定處理程序繼續直至基礎表耗盡指令且已在差異表中搜尋到基礎表之每一指令。
本發明可為一種系統、方法及/或電腦程式產品。電腦程式產品可包括一(或多個)電腦可讀儲存媒體,其上具有電腦可讀程式指令以使處理器執行本發明之態樣。
電腦可讀儲存媒體可為有形器件,其可持留及儲存指令以供指令執行器件使用。電腦可讀儲存媒體可為(例如但不限於)電子儲存器件、磁性儲存器件、光學儲存器件、電磁儲存器件、半導體儲存器件或前述各者之任何合適組合。電腦可讀儲存媒體之更具體之實例之非窮盡性清單包括以下各者:攜帶型電腦磁片、硬碟、隨機存取記憶體(RAM)、唯讀記憶體
(ROM)、可擦除可程式化唯讀記憶體(EPROM或快閃記憶體)、靜態隨機存取記憶體(SRAM)、攜帶型光碟唯讀記憶體(CD-ROM)、數位化通用光碟(DVD)、記憶棒、軟性磁碟、機械編碼裝置(諸如其上記錄有指令之凹槽中之打孔卡或凸起結構)及前述各者之任何合適組合。如本文中所使用,不將電腦可讀儲存媒體本身理解為暫時信號,諸如無線電波或其他自由傳播之電磁波、通過波導或其他傳輸媒體傳播之電磁波(例如,通過光纜傳遞之光脈衝),或通過導線傳輸之電信號。
本文中所描述之電腦可讀程式指令可自電腦可讀儲存媒體下載至各別計算/處理器件或經由網路(例如,網際網路、區域網路、廣域網路及/或無線網路)下載至外部電腦或外部儲存器件。網路可包含銅傳輸纜線、光傳輸光纖、無線傳輸、路由器、防火牆、交換器、閘道器電腦及/或邊緣伺服器。每一計算/處理器件中之網路配接卡或網路介面自網路接收電腦可讀程式指令且遞送轉寄電腦可讀程式指令以用於儲存於各別計算/處理器件內之電腦可讀儲存媒體中。
用於執行本發明之操作之電腦可讀程式指令可為以一或多種程式設計語言之任何組合撰寫之組譯器指令、指令集合架構(ISA)指令、機器指令、機器相關指令、微碼、韌體指令、狀態設定資料或原始程式碼或目標碼,該一或多種程式設計語言包括諸如Smalltalk、C++或其類似者之物件導向式程式設計語言,及習知程序程式設計語言,諸如「C」程式設計語言或類似程式設計語言。電腦可讀程式指令可完全在使用者電腦上執行,作為單獨套裝軟體部分在使用者之電腦上執行,部分在使用者之電腦上及部分在遠端電腦上執行或完全在遠端電腦或伺服器上執行。在後種情形中,該遠端電腦可經由任一類型之網路(包括區域網路(LAN)或廣域網路
(WAN))連接至使用者之電腦,或可(例如,經由使用網際網路服務提供者之網際網路)連接至一外部電腦。在一些實施例中,電子電路(包括例如可程式化邏輯電路、場可程式化閘陣列(FPGA)或可程式化邏輯陣列(PLA))可藉由利用電腦可讀程式指令之狀態資訊來個人化電子電路而執行電腦可讀程式指令,以執行本發明之態樣。
本文中參考根據本發明之實施例的方法、裝置(系統)及電腦程式產物之流程圖說明及/或方塊圖來描述本發明之態樣。應理解,可藉由電腦可讀程式指令實施流程圖說明及/或方塊圖之每一區塊,及流程圖說明及/或方塊圖中之區塊之組合。
可將此等電腦可讀程式指令提供至通用電腦、專用電腦或其他可程式化資料處理裝置之處理器以產生一機器,以使得經由該電腦或其他可程式化資料處理裝置之處理器執行之指令建立用於實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作之手段。亦可將此等電腦可讀程式指令儲存於一電腦可讀儲存媒體中,其可命令電腦、可程式化資料處理設備及/或其他裝置以特定方式發揮作用,使得其中儲存有指令之電腦可讀儲存媒體包含一製品,該製品包括實施在該或該等流程圖及/或方塊圖區塊中指定之功能/動作之態樣。
電腦可讀程式指令亦可載入至電腦、其他可程式資料處理設備或其他裝置上,以使一系列操作步驟在該電腦、其他可程式化設備或其他裝置上執行以產生電腦實施處理程序,使得在該電腦、其他可程式化設備或其他裝置上執行之指令實施該或該等流程圖及/或方塊圖區塊中所指定之功能/動作。
諸圖中之流程圖及方塊圖說明根據本發明之各種實施例之系統、方
法及電腦程式產品之可能實施之架構、功能性及操作。就此而言,流程圖或方塊圖中之每一區塊可表示指令之模組、片段或部分,其包含用於實施一或多個所指定之邏輯函數的一或多個可執行指令。在一些替代實施中,區塊中提到之功能可不按諸圖中所提到之次序發生。舉例而言,視所涉及之功能性而定,以連續方式展示的兩個區塊實際上可實質上同時執行,或區塊有時可以相反次序執行。亦將注意可藉由基於執行指定功能或動作或執行專用硬體及電腦指令之組合的專用硬體之系統實施方塊圖及/或流程圖說明之每一區塊,及方塊圖及/或流程圖說明中的區塊之組合。
Claims (23)
- 一種用於測試一混合式架構指令集之電腦實施方法,該方法包含:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表,其中該差異表定義架構特定行為;基於該差異表以及該第一指令定義表或該第二指令定義表中之至少一者產生一混合式架構表;及基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構,其中該產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
- 如請求項1之方法,其中該產生該混合式架構表還包含:在該差異表中搜尋該第一指令定義表或該第二指令定義表中之該至少一者的一後續指令;及回應於搜尋到該後續指令而更新該混合式架構表。
- 如請求項2之方法,其中若該第一指令不存在於該差異表中,則將該第一指令新增至該混合式架構表。
- 如請求項1之方法,其中該差異表包含複數個指令。
- 如請求項1之方法,其中該第一架構為一s/390架構且該第二架構為一z/架構。
- 如請求項1之方法,其中當模擬用於一非混合式架構之一測試時,使用來自該第一架構定義表或該第二架構定義表中之該至少一者的一指令,否則基於該混合式架構表執行該測試。
- 如請求項1之方法,其中複數個架構定義表及複數個差異表用於產生該混合式架構表。
- 一種用於測試一混合式架構指令集之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其上儲存有可由一處理器執行以致使該處理器執行以下操作的第一程式指令:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表,其中該差異表定義架構特定行為;基於該差異表以及該第一指令定義表或該第二指令定義表中之至少一者產生一混合式架構表;及基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構,其中產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
- 如請求項8之電腦程式產品,其中產生該混合式架構表還包含:在該差異表中搜尋該第一指令定義表或該第二指令定義表中之該至少一者的一後續指令;及回應於搜尋到該後續指令而更新該混合式架構表。
- 如請求項9之電腦程式產品,其中若該第一指令不存在於該差異表中,則將該第一指令新增至該混合式架構表。
- 如請求項8之電腦程式產品,其中該差異表包含複數個差異表。
- 如請求項8之電腦程式產品,其中該第一架構為一s/390架構且該第二架構為一z/架構。
- 如請求項8之電腦程式產品,其中當模擬用於一非混合式架構之一測試時,使用來自該第一架構定義表或該第二架構定義表中之該至少一者的一指令,否則基於該混合式架構表執行該測試。
- 如請求項8之電腦程式產品,其中複數個基礎架構及複數個差異表用於產生該混合式架構表。
- 一種用於測試一混合式架構指令集之系統,該系統包含:一儲存媒體,該儲存媒體耦接至一處理器;該處理器經組態以:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表,其中該差異表定義架構特定行為;基於該差異表以及該第一指令定義表或該第二指令定義表中之至少一者產生一混合式架構表;及基於該混合式架構表執行一測試,其中該混合式架構表係用於在該第一基礎架構與該第二基礎架構之間相容的一混合式架構,其中產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
- 如請求項15之系統,其中產生該混合式架構表還包含:在該差異表中搜尋該第一指令定義表或該第二指令定義表中之該至少一者的一後續指令;及回應於搜尋到該後續指令而更新該混合式架構表。
- 如請求項16之系統,其中若該第一指令不存在於該差異表中,則將該第一指令新增至該混合式架構表。
- 如請求項15之系統,其中該第一架構為一s/390架構且該第二架構為一z/架構。
- 如請求項15之系統,其中當模擬用於一非混合式架構之一測試時,使用來自該第一架構定義表或該第二架構定義表中之該至少一者的一指令,否則基於該混合式架構表執行該測試。
- 如請求項15之系統,其中複數個基礎架構及複數個差異表用於產生該混合式架構表。
- 一種用於測試一混合式架構指令集之電腦實施方法,該方法包含:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表;基於該差異表產生一混合式架構表;及基於該混合式架構表執行一測試,其中產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
- 一種用於測試一混合式架構指令集之電腦程式產品,該電腦程式產品包含:一電腦可讀儲存媒體,其上儲存有可由一處理器執行以致使該處理器執行以下操作的第一程式指令:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表;基於該差異表產生一混合式架構表;及基於該混合式架構表執行一測試,其中產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
- 一種用於測試一混合式架構指令集之系統,該系統包含:一儲存媒體,該儲存媒體耦接至一處理器;該處理器經組態以:定義用於一第一基礎架構之一第一指令定義表;定義用於一第二基礎架構之一第二指令定義表,其中該第一基礎架構不同於該第二基礎架構;定義一差異表;基於該差異表產生一混合式架構表;及基於該混合式架構表執行一測試,其中產生該混合式架構表包含:自該第一指令定義表或該第二指令定義表中之該至少一者中選擇一第一指令;在該差異表中搜尋該第一指令;回應於在該差異表中定位該第一指令,根據該差異表修改該指令;將該經修改指令新增至該混合式架構表。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/273,850 | 2016-09-23 | ||
US15/273,850 US9690680B1 (en) | 2016-09-23 | 2016-09-23 | Testing hybrid instruction architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201816599A TW201816599A (zh) | 2018-05-01 |
TWI652620B true TWI652620B (zh) | 2019-03-01 |
Family
ID=59070169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106132850A TWI652620B (zh) | 2016-09-23 | 2017-09-25 | 用於測試混合式指令架構之電腦實施方法、電腦程式產品及系統 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9690680B1 (zh) |
JP (1) | JP6934044B2 (zh) |
CN (1) | CN109716304B (zh) |
GB (1) | GB2571839B (zh) |
TW (1) | TWI652620B (zh) |
WO (1) | WO2018055167A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118626323B (zh) * | 2024-08-14 | 2024-10-11 | 北京开源芯片研究院 | 处理器的测试方法、装置、设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5613098A (en) | 1991-03-07 | 1997-03-18 | Digital Equipment Corporation | Testing and debugging new Y architecture code on existing X architecture system by using an environment manager to switch between direct X code execution and simulated Y code execution |
EP0871108B1 (en) | 1991-03-11 | 2000-09-13 | MIPS Technologies, Inc. | Backward-compatible computer architecture with extended word size and address space |
GB2278213A (en) * | 1993-05-18 | 1994-11-23 | Ibm | Test program generator. |
US5701442A (en) | 1995-09-19 | 1997-12-23 | Intel Corporation | Method of modifying an instruction set architecture of a computer processor to maintain backward compatibility |
JP3805314B2 (ja) * | 2003-02-27 | 2006-08-02 | Necエレクトロニクス株式会社 | プロセッサ |
US20060130016A1 (en) * | 2003-03-17 | 2006-06-15 | Wagner John R | Method of kernal-mode instruction interception and apparatus therefor |
US7519800B2 (en) * | 2003-03-27 | 2009-04-14 | Hewlett-Packard Development Company, L.P. | Apparatus and method for enforcing homogeneity within partitions of heterogeneous computer systems |
US7051301B2 (en) * | 2003-10-01 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | System and method for building a test case including a summary of instructions |
US7401281B2 (en) * | 2004-01-29 | 2008-07-15 | International Business Machines Corporation | Remote BIST high speed test and redundancy calculation |
US7440877B2 (en) * | 2004-03-12 | 2008-10-21 | General Motors Corporation | System and method for morphable model design space definition |
US8769495B1 (en) * | 2005-09-30 | 2014-07-01 | Sony Computer Entertainment Inc. | Systems and methods for debugging in a multiprocessor environment |
US20080189528A1 (en) * | 2007-02-02 | 2008-08-07 | Mips Technologies, Inc. | System, Method and Software Application for the Generation of Verification Programs |
TW201005311A (en) | 2008-07-23 | 2010-02-01 | Ind Tech Res Inst | Test device and method for an SoC test architecture |
US8356166B2 (en) * | 2009-06-26 | 2013-01-15 | Microsoft Corporation | Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers |
US8479172B2 (en) * | 2010-11-23 | 2013-07-02 | International Business Machines Corporation | Virtual machine testing |
US8893094B2 (en) * | 2011-12-30 | 2014-11-18 | Intel Corporation | Hardware compilation and/or translation with fault detection and roll back functionality |
EP2851815A1 (de) * | 2013-09-18 | 2015-03-25 | dSPACE digital signal processing and control engineering GmbH | Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts |
US9626267B2 (en) * | 2015-01-30 | 2017-04-18 | International Business Machines Corporation | Test generation using expected mode of the target hardware device |
-
2016
- 2016-09-23 US US15/273,850 patent/US9690680B1/en active Active
-
2017
- 2017-03-08 US US15/452,905 patent/US9811339B1/en not_active Expired - Fee Related
- 2017-09-25 GB GB1904520.2A patent/GB2571839B/en active Active
- 2017-09-25 WO PCT/EP2017/074243 patent/WO2018055167A1/en active Application Filing
- 2017-09-25 JP JP2019513075A patent/JP6934044B2/ja active Active
- 2017-09-25 TW TW106132850A patent/TWI652620B/zh active
- 2017-09-25 CN CN201780057188.5A patent/CN109716304B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
GB201904520D0 (en) | 2019-05-15 |
US9811339B1 (en) | 2017-11-07 |
JP6934044B2 (ja) | 2021-09-08 |
JP2019537090A (ja) | 2019-12-19 |
US9690680B1 (en) | 2017-06-27 |
WO2018055167A1 (en) | 2018-03-29 |
TW201816599A (zh) | 2018-05-01 |
GB2571839A (en) | 2019-09-11 |
CN109716304B (zh) | 2022-08-02 |
CN109716304A (zh) | 2019-05-03 |
GB2571839B (en) | 2021-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9262307B2 (en) | Modeling test space for system behavior with optional variable combinations | |
KR20160002888A (ko) | 애플리케이션 내의 대역외 프레임워크 라이브러리 | |
US20160162628A1 (en) | Generic design rule checking (drc) test case extraction | |
US9336128B2 (en) | Method and system for code analysis using symbolic types | |
JP6911059B2 (ja) | Cpu利用およびコードリファクタリングのためのクエリオプティマイザー | |
US9311077B2 (en) | Identification of code changes using language syntax and changeset data | |
US10379992B2 (en) | Adaptive dynamic code analysis | |
US10839124B1 (en) | Interactive compilation of software to a hardware language to satisfy formal verification constraints | |
US10901827B2 (en) | Failover of a hardware accelerator to software | |
JP2008009861A (ja) | システム構成管理方式 | |
TWI652620B (zh) | 用於測試混合式指令架構之電腦實施方法、電腦程式產品及系統 | |
US11030362B2 (en) | Modeling and cooperative simulation of systems with interdependent discrete and continuous elements | |
US9280627B1 (en) | GUI based verification at multiple abstraction levels | |
US10929584B1 (en) | Environmental modification testing for design correctness with formal verification | |
US8892499B2 (en) | Life cycle management of rule sets | |
Lavoie et al. | A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting | |
US10360137B2 (en) | Adaptive testing using dynamically determined system resources of a computer system | |
US20140201701A1 (en) | Content space environment representation | |
KR102325612B1 (ko) | 시뮬레이터를 구현하는 방법, 장치, 기기 및 매체 | |
US20210049008A1 (en) | Identifying implicit dependencies between code artifacts | |
US9703674B1 (en) | Stack pattern breakpoint in COBOL | |
JP6818568B2 (ja) | 通信装置、通信仕様差分抽出方法及び通信仕様差分抽出プログラム | |
US20220114083A1 (en) | Methods and apparatus to generate a surrogate model based on traces from a computing unit | |
EP4131011A1 (en) | Methods and apparatus to generate a surrogate model based on traces from a computing unit | |
JP2011145880A (ja) | 半導体集積回路の論理検証にて使用するテストタスクの生成方法 |