JPH06348530A - コンピュータシステムの開発、検証、および、試験を遂行する可搬的方法とその装置 - Google Patents
コンピュータシステムの開発、検証、および、試験を遂行する可搬的方法とその装置Info
- Publication number
- JPH06348530A JPH06348530A JP32073993A JP32073993A JPH06348530A JP H06348530 A JPH06348530 A JP H06348530A JP 32073993 A JP32073993 A JP 32073993A JP 32073993 A JP32073993 A JP 32073993A JP H06348530 A JPH06348530 A JP H06348530A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- execution
- dma
- message
- test
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 53
- 238000011161 development Methods 0.000 title claims abstract description 19
- 238000012795 verification Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 title claims description 26
- 230000004044 response Effects 0.000 claims description 40
- 238000004088 simulation Methods 0.000 claims description 33
- 238000003745 diagnosis Methods 0.000 claims description 7
- 230000000630 rising effect Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims 13
- 230000014616 translation Effects 0.000 claims 13
- 230000001364 causal effect Effects 0.000 claims 1
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 230000018109 developmental process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000033772 system development Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- 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
-
- 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/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【目的】 コンピュータシステムの開発、検証、試験の
ための診断/試験プログラムの可搬性を増し、実行速度
を向上する。 【構成】 元の実行コンピュータシステム12a上に、
メッセージジェネレータ/ルータ42、DMAエミュレ
ータ36、割り込みエミュレータ38、共有メモリ領域
40が設けられる。模擬コンピュータシステム12bに
はトランスレータ44が設けられる。コンピュータシス
テム12aは、種々のプログラム実行の例外を捕らえ、
この例外の理由の情報を提供するシステムサービスを有
するOS28aを含む。診断/試験プログラム34、開
発中の目標コンピュータのシミュレータ46は、コンピ
ュータシステム12a、12bで実行される。診断/試
験プログラム34は、あたかも開発中の目標コンピュー
タシステムで直接実行されるかのように実現される。こ
れらの各要素が協働して、可搬性、実行速度を改善する
ことを可能にする診断/試験プログラムの実行環境を提
供する。
ための診断/試験プログラムの可搬性を増し、実行速度
を向上する。 【構成】 元の実行コンピュータシステム12a上に、
メッセージジェネレータ/ルータ42、DMAエミュレ
ータ36、割り込みエミュレータ38、共有メモリ領域
40が設けられる。模擬コンピュータシステム12bに
はトランスレータ44が設けられる。コンピュータシス
テム12aは、種々のプログラム実行の例外を捕らえ、
この例外の理由の情報を提供するシステムサービスを有
するOS28aを含む。診断/試験プログラム34、開
発中の目標コンピュータのシミュレータ46は、コンピ
ュータシステム12a、12bで実行される。診断/試
験プログラム34は、あたかも開発中の目標コンピュー
タシステムで直接実行されるかのように実現される。こ
れらの各要素が協働して、可搬性、実行速度を改善する
ことを可能にする診断/試験プログラムの実行環境を提
供する。
Description
【0001】
【産業上の利用分野】本発明はコンピュータシステムの
分野に関する。より特定的には、本発明はコンピュータ
システムの開発、検証、および、試験に関する。
分野に関する。より特定的には、本発明はコンピュータ
システムの開発、検証、および、試験に関する。
【0002】
【従来の技術】今日、コンピュータシステムは多くの場
合、種々のソフトウェアツールを用いて設計され、開発
されている。これらのソフトウェアツールはしばしば、
開発されているコンピュータシステムの機能を検証し試
験する診断/試験プログラム、およびその動作を模擬す
るシミュレータを含む。この診断/試験プログラムはそ
れらのシミュレータを用いて実行される。シミュレータ
はコンピュータシステムの動作を模擬するので、シュミ
レータは特定のコンピュータシステムについて特定的に
実行される必要がある。一般的に、ユニークな機能を除
いて、診断/試験プログラムがあるコンピュータシステ
ムに特定して実行されるようになっている必要はない。
それにもかかわらず、診断/試験プログラムはしばし
ば、特定のシミュレータに直接インターフェースするよ
うに設計されているので、その結果として、それらはし
ばしば特別な特定的に実行するシミュレータに固く結合
されている。診断/試験プログラムは、シミュレータへ
ハードウェア信号を表わす入力(inputs representativ
e)を提供するための特定のプロトコルに合わせて作成さ
れており、特定の方法のハードウェア信号処理によるそ
れら自身の実行を同期させる特定的な方法は、シミュレ
ータ、およびそのシミュレータにより示される応答ハー
ドウェアの信号を表わす出力(representative output
s) を受信する特定的なプロトコルによって模擬され
る。
合、種々のソフトウェアツールを用いて設計され、開発
されている。これらのソフトウェアツールはしばしば、
開発されているコンピュータシステムの機能を検証し試
験する診断/試験プログラム、およびその動作を模擬す
るシミュレータを含む。この診断/試験プログラムはそ
れらのシミュレータを用いて実行される。シミュレータ
はコンピュータシステムの動作を模擬するので、シュミ
レータは特定のコンピュータシステムについて特定的に
実行される必要がある。一般的に、ユニークな機能を除
いて、診断/試験プログラムがあるコンピュータシステ
ムに特定して実行されるようになっている必要はない。
それにもかかわらず、診断/試験プログラムはしばし
ば、特定のシミュレータに直接インターフェースするよ
うに設計されているので、その結果として、それらはし
ばしば特別な特定的に実行するシミュレータに固く結合
されている。診断/試験プログラムは、シミュレータへ
ハードウェア信号を表わす入力(inputs representativ
e)を提供するための特定のプロトコルに合わせて作成さ
れており、特定の方法のハードウェア信号処理によるそ
れら自身の実行を同期させる特定的な方法は、シミュレ
ータ、およびそのシミュレータにより示される応答ハー
ドウェアの信号を表わす出力(representative output
s) を受信する特定的なプロトコルによって模擬され
る。
【0003】
【発明が解決しようとする課題】従って、あるコンピュ
ータシステムの開発に使用された診断/試験プログラム
を取り去り、それらを他のコンピュータシステムの開発
に再使用することは多くの場合難しい。加えて、コンピ
ュータシステムの拡張的性質(extensive nature) によ
り、およびコンピュータシステムを模擬するコードを実
行するのに要するオーバーヘッドにより、コンピュータ
に基づいた模擬は本来的に遅い。よって、特別のシミュ
レーションに固く結合したこれらの従来の診断/試験プ
ログラムの実行もまた不回避的に低速である。
ータシステムの開発に使用された診断/試験プログラム
を取り去り、それらを他のコンピュータシステムの開発
に再使用することは多くの場合難しい。加えて、コンピ
ュータシステムの拡張的性質(extensive nature) によ
り、およびコンピュータシステムを模擬するコードを実
行するのに要するオーバーヘッドにより、コンピュータ
に基づいた模擬は本来的に遅い。よって、特別のシミュ
レーションに固く結合したこれらの従来の診断/試験プ
ログラムの実行もまた不回避的に低速である。
【0004】したがって、本発明の目的は、コンピュー
タシステムの開発、検証、および、試験のために診断/
試験プログラムの可搬性(portability)を強化し、その
実行速度を向上することにある。本発明の他の目的は、
開発中のコンピュータシステムのシミュレータへ仮想的
に全く変更することなく、可搬性が強化され、実行速度
が向上された診断/試験プログラムの目的を達成するこ
とにある。本発明の他の目的は、特別の用途のハードウ
ェアを用いずに、上述した各目的を達成することにあ
る。
タシステムの開発、検証、および、試験のために診断/
試験プログラムの可搬性(portability)を強化し、その
実行速度を向上することにある。本発明の他の目的は、
開発中のコンピュータシステムのシミュレータへ仮想的
に全く変更することなく、可搬性が強化され、実行速度
が向上された診断/試験プログラムの目的を達成するこ
とにある。本発明の他の目的は、特別の用途のハードウ
ェアを用いずに、上述した各目的を達成することにあ
る。
【0005】
【課題を解決するための手段】本発明の目的は、利益的
には、第1のコンピュータシステム(また、元の実行
(native execution) コンピュータシステムとも参照さ
れる)における、メッセージ・ジエネレータ/ルータ
(メッセージ発生器/回送器)、ダイレクト・メモリ、
アクセス(DMA)模擬実行器(エミュレータ)、割り
込みエミュレータ、共用(shared) メモリ領域、およ
び、第2のコンピュータシステム(また、模擬(シミュ
レーション)コンピュータシステムとも参照される)に
おける翻訳器(トランスレータ)を提供することによっ
て、実現される。元のコンピュータシステムのオペレー
ティングシステムは、システムサービスを提供しし、こ
のシステムサービスは種々のプログラム実行例外を捕捉
し、その例外の原因に関する情報を提供する。検証し試
験するための第3のコンピュータシステム、すなわち、
開発される目標(target) コンピュータシステム、およ
び、その目標コンピュータシステムの動作を模擬するシ
ミュレータのための診断/試験プログラムはそれぞれ、
元のコンピュータシステムとシミュレーション・コンピ
ュータシステムにおいて実行される。これらの要素は相
互に協働し、診断/試験プログラムのための環境を提供
し、該診断/試験プログラムはそれらの可搬性を強化
し、実行速度を向上させる。
には、第1のコンピュータシステム(また、元の実行
(native execution) コンピュータシステムとも参照さ
れる)における、メッセージ・ジエネレータ/ルータ
(メッセージ発生器/回送器)、ダイレクト・メモリ、
アクセス(DMA)模擬実行器(エミュレータ)、割り
込みエミュレータ、共用(shared) メモリ領域、およ
び、第2のコンピュータシステム(また、模擬(シミュ
レーション)コンピュータシステムとも参照される)に
おける翻訳器(トランスレータ)を提供することによっ
て、実現される。元のコンピュータシステムのオペレー
ティングシステムは、システムサービスを提供しし、こ
のシステムサービスは種々のプログラム実行例外を捕捉
し、その例外の原因に関する情報を提供する。検証し試
験するための第3のコンピュータシステム、すなわち、
開発される目標(target) コンピュータシステム、およ
び、その目標コンピュータシステムの動作を模擬するシ
ミュレータのための診断/試験プログラムはそれぞれ、
元のコンピュータシステムとシミュレーション・コンピ
ュータシステムにおいて実行される。これらの要素は相
互に協働し、診断/試験プログラムのための環境を提供
し、該診断/試験プログラムはそれらの可搬性を強化
し、実行速度を向上させる。
【0006】それらの診断/試験プログラムは、利益的
には、シミュレータを用いずに、あたかも、それらが目
標コンピュータシミュレーションにおいて直接実行され
るかのように、実現される。これらの診断/試験プログ
ラムが元の実行コンピュータシステムにおいて実行され
るので、診断/試験プログラムが模擬されている目標コ
ンピュータシステムの資源、すなわち、レジスタ、メモ
リロケーションなどを参照するときはいつでも、実行例
外が元の実行コンピュータシステムのオペレーティング
システムによって捕捉(トラップ)されうる。その理由
は、模擬されている目標コンピュータシステムの資源は
元の実行コンピュータシステムのオペレーティングシス
テムによっては認識されないからである。本発明のため
に、模擬されている目標コンピュータシステムに対する
これらの参照は、2つのカテゴリに分割される。第1の
カテゴリは、レジスタおよび模擬されている目標コンピ
ュータシステムにおけるメモリロケーションに対するC
PUのリード/ライト動作を含む、命令の実行から生ず
る参照を含む。第2のカテゴリは、模擬されている目標
コンピュータシステムにおけるメモリロケーションに対
する入/出力(I/O)ダイレクト・メモリ・アクセス
(DMA)リード/ライト動作を含む命令の実行によっ
て発生する参照を含む。
には、シミュレータを用いずに、あたかも、それらが目
標コンピュータシミュレーションにおいて直接実行され
るかのように、実現される。これらの診断/試験プログ
ラムが元の実行コンピュータシステムにおいて実行され
るので、診断/試験プログラムが模擬されている目標コ
ンピュータシステムの資源、すなわち、レジスタ、メモ
リロケーションなどを参照するときはいつでも、実行例
外が元の実行コンピュータシステムのオペレーティング
システムによって捕捉(トラップ)されうる。その理由
は、模擬されている目標コンピュータシステムの資源は
元の実行コンピュータシステムのオペレーティングシス
テムによっては認識されないからである。本発明のため
に、模擬されている目標コンピュータシステムに対する
これらの参照は、2つのカテゴリに分割される。第1の
カテゴリは、レジスタおよび模擬されている目標コンピ
ュータシステムにおけるメモリロケーションに対するC
PUのリード/ライト動作を含む、命令の実行から生ず
る参照を含む。第2のカテゴリは、模擬されている目標
コンピュータシステムにおけるメモリロケーションに対
する入/出力(I/O)ダイレクト・メモリ・アクセス
(DMA)リード/ライト動作を含む命令の実行によっ
て発生する参照を含む。
【0007】メッセージ・ジエネレータ/ルータは、診
断/試験プログラムによって発生された実行例外のオペ
レーティングシステムによる捕捉を検出し、それに応答
して、適切な内容を伴うメッセージを発生し、トランス
レータに送出する。引き続いて、メッセージ・ジエネレ
ータ/ルータは、トランスレータから応答メッセージを
受入れ、その応答メッセージの内容に応じて、それらを
診断/試験プログラム、DMAおよび割り込みエミュレ
ータに回送する。DMAおよび割り込みエミュレータは
それぞれ、模擬されている目標コンピュータシステムに
おけるDAMアクセスおよび割り込みの効果を模擬実行
(エミュレート)する。
断/試験プログラムによって発生された実行例外のオペ
レーティングシステムによる捕捉を検出し、それに応答
して、適切な内容を伴うメッセージを発生し、トランス
レータに送出する。引き続いて、メッセージ・ジエネレ
ータ/ルータは、トランスレータから応答メッセージを
受入れ、その応答メッセージの内容に応じて、それらを
診断/試験プログラム、DMAおよび割り込みエミュレ
ータに回送する。DMAおよび割り込みエミュレータは
それぞれ、模擬されている目標コンピュータシステムに
おけるDAMアクセスおよび割り込みの効果を模擬実行
(エミュレート)する。
【0008】トランスレータは、メッセージ・ジエネレ
ータ/ルータからメッセージを受入れ、それに応答し
て、翻訳し、ハードウエア信号を表す対応入力をシミュ
レータに送出する。引き続いて、トランスレータは、シ
ミュレータから応答ハードウエア信号を表す出力を受入
れ、それに応答して、翻訳し、メッセージ・ジエネレー
タ/ルータに応答メッセージを送出する。
ータ/ルータからメッセージを受入れ、それに応答し
て、翻訳し、ハードウエア信号を表す対応入力をシミュ
レータに送出する。引き続いて、トランスレータは、シ
ミュレータから応答ハードウエア信号を表す出力を受入
れ、それに応答して、翻訳し、メッセージ・ジエネレー
タ/ルータに応答メッセージを送出する。
【0009】それゆえ、模擬されている目標コンピュー
タシステムの資源を参照している診断/試験プログラム
によって引き起こされた実行例外の捕捉が検出されたと
きはいつでも、適切な情報を有するメッセージがメッセ
ージ・ジエネレータ/ルータによってトランスレータに
送出され、該トランスレータはシミュレータに対して提
供されるべきハードウエア信号を表す入力を発生する。
シミュレータは、目標コンピュータシステムによるハー
ドウエア信号の処理を模擬する。ハードウエア信号の処
理が模擬されると、応答ハードウエア信号を表す出力が
シミュレータによってトランスレータに提供され、該ト
ランスレータはメッセージ・ジエネレータ/ルータに提
供すべき適切な内容を有するメッセージを発生する。そ
れから、応答メッセージが、その内容に応じて、診断/
試験プログラム、または、2つのエミュレータのいずれ
か一方に提供される。
タシステムの資源を参照している診断/試験プログラム
によって引き起こされた実行例外の捕捉が検出されたと
きはいつでも、適切な情報を有するメッセージがメッセ
ージ・ジエネレータ/ルータによってトランスレータに
送出され、該トランスレータはシミュレータに対して提
供されるべきハードウエア信号を表す入力を発生する。
シミュレータは、目標コンピュータシステムによるハー
ドウエア信号の処理を模擬する。ハードウエア信号の処
理が模擬されると、応答ハードウエア信号を表す出力が
シミュレータによってトランスレータに提供され、該ト
ランスレータはメッセージ・ジエネレータ/ルータに提
供すべき適切な内容を有するメッセージを発生する。そ
れから、応答メッセージが、その内容に応じて、診断/
試験プログラム、または、2つのエミュレータのいずれ
か一方に提供される。
【0010】あたかも、シミュレータなしで、診断/試
験プログラムが目標コンピュータシステムにおいて直接
実行されるように、診断/試験プログラムが実施される
結果として、診断/試験プログラムはシミュレータに固
く結合されていず、それゆえ、他のコンピュータシステ
ムの開発における可搬性および再利用可能性が強化さ
れ、それらの実行速度も向上する。さらに、可搬性の強
化および実行性能の向上は、開発すべきコンピュータシ
ステムのためのシミュレータに対する修正をしないで達
成される。
験プログラムが目標コンピュータシステムにおいて直接
実行されるように、診断/試験プログラムが実施される
結果として、診断/試験プログラムはシミュレータに固
く結合されていず、それゆえ、他のコンピュータシステ
ムの開発における可搬性および再利用可能性が強化さ
れ、それらの実行速度も向上する。さらに、可搬性の強
化および実行性能の向上は、開発すべきコンピュータシ
ステムのためのシミュレータに対する修正をしないで達
成される。
【0011】
【実施例】本発明の目的、特徴、および利益は、下記の
各図に関連付けた下記の詳細な記述から明らかになる。
図1は、コンピュータシステムの開発、検証および試験
を遂行する本発明の1実施例のハードウェアの構成要素
の図を図解する。図2は、図1のコンピュータのソフト
ウェア構成要素の図を図解する。図3は、本発明のアー
キテクチャー(構成)を図解する。図4は、本発明の方
法を図解する。図5は、図3のトランスレータとシュミ
レータとの間の関連のタイミングを図解する。
各図に関連付けた下記の詳細な記述から明らかになる。
図1は、コンピュータシステムの開発、検証および試験
を遂行する本発明の1実施例のハードウェアの構成要素
の図を図解する。図2は、図1のコンピュータのソフト
ウェア構成要素の図を図解する。図3は、本発明のアー
キテクチャー(構成)を図解する。図4は、本発明の方
法を図解する。図5は、図3のトランスレータとシュミ
レータとの間の関連のタイミングを図解する。
【0012】コンピュータシステムの開発、検証および
試験を行う可搬的な方法および装置が開示される。説明
のための以下の記述において、具体的な数値、材料およ
び構成が本発明の全体の理解を与えるために述べられ
る。しかし、本発明が実施されるであろう技術分野にお
ける習熟者(当業者)には、具体的な詳細な記述なしで
も、明らかであろう。他の場合、よく知られたシステム
が、本発明を不必要に不明瞭にしないために、ダイヤグ
ラムまたはブロックダイヤグラムの形式で示される。
試験を行う可搬的な方法および装置が開示される。説明
のための以下の記述において、具体的な数値、材料およ
び構成が本発明の全体の理解を与えるために述べられ
る。しかし、本発明が実施されるであろう技術分野にお
ける習熟者(当業者)には、具体的な詳細な記述なしで
も、明らかであろう。他の場合、よく知られたシステム
が、本発明を不必要に不明瞭にしないために、ダイヤグ
ラムまたはブロックダイヤグラムの形式で示される。
【0013】図1を参照すると、本発明の1実施例のハ
ードウェアを図解するブロックダイヤグラムが示されて
いる。本発明の教示により実施された、2つのコンピュ
ータシステムAとB、12aと12b、元の実行コンピ
ュータシステムと模擬コンピュータシステムが示されて
いる。これらのコンピュータシステムAとB、12aと
12bは、例えばネットワーク24を介して、相互に結
合されている。それぞれのコンピュータシステム12
a、12bは、中央処理装置(CPU)14a、14
b、メモリ装置16a、16b、I/Oインターフェー
ス装置18a、18bから構成される。加えて、各コン
ピュータシステム12a、12bは、記憶装置20a、
20b、多くの入力/出力装置、例えばキーボードおよ
びディスプレイ22a、22bから構成される。好適に
は、コンピュータシステム12a、12b、および、接
続用ネットワーク24は、この技術分野においてよく知
られた汎用、および専用コンピュータおよびネットワー
クについて広いカテゴリを示すように意図されている。
本発明のシステムは2台のコンピュータシステムの文脈
について記述されるが、以下の記述に基づいて、本発明
は1台またはより多くのコンピュータシステムを用いて
実施されてもよいことが認識されるであろう。
ードウェアを図解するブロックダイヤグラムが示されて
いる。本発明の教示により実施された、2つのコンピュ
ータシステムAとB、12aと12b、元の実行コンピ
ュータシステムと模擬コンピュータシステムが示されて
いる。これらのコンピュータシステムAとB、12aと
12bは、例えばネットワーク24を介して、相互に結
合されている。それぞれのコンピュータシステム12
a、12bは、中央処理装置(CPU)14a、14
b、メモリ装置16a、16b、I/Oインターフェー
ス装置18a、18bから構成される。加えて、各コン
ピュータシステム12a、12bは、記憶装置20a、
20b、多くの入力/出力装置、例えばキーボードおよ
びディスプレイ22a、22bから構成される。好適に
は、コンピュータシステム12a、12b、および、接
続用ネットワーク24は、この技術分野においてよく知
られた汎用、および専用コンピュータおよびネットワー
クについて広いカテゴリを示すように意図されている。
本発明のシステムは2台のコンピュータシステムの文脈
について記述されるが、以下の記述に基づいて、本発明
は1台またはより多くのコンピュータシステムを用いて
実施されてもよいことが認識されるであろう。
【0014】図2を参照すると、図1のコンピュータシ
ステムのソフトウェアの構成要素を図解するブロックダ
イヤグラムが示されている。各コンピュータシステム
は、コンピュータシステムの資源を管理するためのオペ
レーティングシステム28a、28bを具備する。特
に、元の実行コンピュータシステムのオペレーティング
システム28aは、種々のプログラム実行の例外を捕捉
し、捕捉した実行の例外の原因を提供するシステムサー
ビスを具備する。加えて、各コンピュータシステムは、
本発明の教示によって一体化された、種々のプログラム
言語のコンパイラとそれらのランタイムサービス30
a、30b、および種々のアプリケーションプログラム
32a、32bを具備する。特に、元の実行コンピュー
タシステムのアプリケーションプログラム32aは、第
3のコンピュータシステム(図示せず)、つまり、開発
中の目標コンピュータシステムを診断し、試験するため
の診断/試験プログラム、模擬される目標コンピュータ
システムの割り込みの効果を疑似実行(エミュレート:
emulate)する割り込みエミュレータ、模擬される目標コ
ンピュータシステムのダイレクトメモリアクセス(DM
A)の効果を疑似実行するDMAエミュレータ、および
所定の種類の捕捉した実行例外を検出し、メッセージを
生成し、受信し、回送する(routing)メッセージ・ジェ
ネレータ/ルータを具備する。シミュレーション・コン
ピュータシステムのアプリケーションプログラム32b
は、目標コンピュータのシステムハードウェア信号処理
を模擬するためのシュミレータ、および、それらのメッ
セージに応答させるために、ハードウェアの信号を表わ
すシミュレータ入力とハードウェア信号を表わすシミュ
レータ出力とにメッセージを翻訳するトランスレータと
を具備する。
ステムのソフトウェアの構成要素を図解するブロックダ
イヤグラムが示されている。各コンピュータシステム
は、コンピュータシステムの資源を管理するためのオペ
レーティングシステム28a、28bを具備する。特
に、元の実行コンピュータシステムのオペレーティング
システム28aは、種々のプログラム実行の例外を捕捉
し、捕捉した実行の例外の原因を提供するシステムサー
ビスを具備する。加えて、各コンピュータシステムは、
本発明の教示によって一体化された、種々のプログラム
言語のコンパイラとそれらのランタイムサービス30
a、30b、および種々のアプリケーションプログラム
32a、32bを具備する。特に、元の実行コンピュー
タシステムのアプリケーションプログラム32aは、第
3のコンピュータシステム(図示せず)、つまり、開発
中の目標コンピュータシステムを診断し、試験するため
の診断/試験プログラム、模擬される目標コンピュータ
システムの割り込みの効果を疑似実行(エミュレート:
emulate)する割り込みエミュレータ、模擬される目標コ
ンピュータシステムのダイレクトメモリアクセス(DM
A)の効果を疑似実行するDMAエミュレータ、および
所定の種類の捕捉した実行例外を検出し、メッセージを
生成し、受信し、回送する(routing)メッセージ・ジェ
ネレータ/ルータを具備する。シミュレーション・コン
ピュータシステムのアプリケーションプログラム32b
は、目標コンピュータのシステムハードウェア信号処理
を模擬するためのシュミレータ、および、それらのメッ
セージに応答させるために、ハードウェアの信号を表わ
すシミュレータ入力とハードウェア信号を表わすシミュ
レータ出力とにメッセージを翻訳するトランスレータと
を具備する。
【0015】これらが本発明の他の要素と協働するよう
に使用される方法を除き、オペレーティングシステム2
8a、28b、および、種々のプログラム言語のコンパ
イラとそれらのランタイムサービス30a、30bは、
この技術分野においてよく知られたUNIXシステム
(UNIXは、UNIXシステムラボラトリの登録商標
である)、およびCコンパイラとランタイムライブラリ
を含むがこれらに限られない、よく知られたオペレーテ
ィングシステム、プログラムランゲージ・コンパイラと
それらのランタイムサービスについての広い範ちゅうを
示すように意図されている。同様に、シミュレータはこ
の技術分野においてよく知られたコンピュータシステム
の動作を模擬するために用いられるシミュレータの広い
範ちゅうを表わすように意図されている。診断/試験プ
ログラム、メッセージジェネレータ/ルータ(rout
er)、割り込みエミュレータ、DMAエミュレータ、
トランスレータ、およびこれらの要素がシミュレータと
協働する様子は、残りの図面に関連付けてさらに詳細に
記述される。
に使用される方法を除き、オペレーティングシステム2
8a、28b、および、種々のプログラム言語のコンパ
イラとそれらのランタイムサービス30a、30bは、
この技術分野においてよく知られたUNIXシステム
(UNIXは、UNIXシステムラボラトリの登録商標
である)、およびCコンパイラとランタイムライブラリ
を含むがこれらに限られない、よく知られたオペレーテ
ィングシステム、プログラムランゲージ・コンパイラと
それらのランタイムサービスについての広い範ちゅうを
示すように意図されている。同様に、シミュレータはこ
の技術分野においてよく知られたコンピュータシステム
の動作を模擬するために用いられるシミュレータの広い
範ちゅうを表わすように意図されている。診断/試験プ
ログラム、メッセージジェネレータ/ルータ(rout
er)、割り込みエミュレータ、DMAエミュレータ、
トランスレータ、およびこれらの要素がシミュレータと
協働する様子は、残りの図面に関連付けてさらに詳細に
記述される。
【0016】図3を参照すると、図3には、図1の実施
例において実施されたものとしての本発明のアーキテク
チュア(構成)を図解するブロックダイヤグラムが示さ
れている。診断/試験プログラム34、2つのエミュレ
ータ36と38、およびメッセージジェネレータ/ルー
タ42は、元の実行コンピュータ34で実行される。特
に、診断/試験プログラム34とDMAエミュレータ3
6には、共有メモリ領域40へのアクセスが提供され
る。さらに、元の実行コンピュータシステム12aのオ
ペレーティングシステムは、プログラム実行の例外を捕
捉し、捕捉された例外の原因についての情報を提供する
システムサービスを具備する。トランスレータ44とシ
ミュレータ46は、シミュレーションコンピュータ12
bで実行される。2つのコンピュータシステム12a、
12bにおけるプログラム実行の割り付けは、厳格に
は、実行性能と負荷の平均化との関数である。下記の残
りの記述に基づけば、本発明が記述される手法により、
各要素が互いに協働し続けることを可能にする場合に
は、他のプログラムの実行割り付けによっても実施され
うることが理解されるであろう。
例において実施されたものとしての本発明のアーキテク
チュア(構成)を図解するブロックダイヤグラムが示さ
れている。診断/試験プログラム34、2つのエミュレ
ータ36と38、およびメッセージジェネレータ/ルー
タ42は、元の実行コンピュータ34で実行される。特
に、診断/試験プログラム34とDMAエミュレータ3
6には、共有メモリ領域40へのアクセスが提供され
る。さらに、元の実行コンピュータシステム12aのオ
ペレーティングシステムは、プログラム実行の例外を捕
捉し、捕捉された例外の原因についての情報を提供する
システムサービスを具備する。トランスレータ44とシ
ミュレータ46は、シミュレーションコンピュータ12
bで実行される。2つのコンピュータシステム12a、
12bにおけるプログラム実行の割り付けは、厳格に
は、実行性能と負荷の平均化との関数である。下記の残
りの記述に基づけば、本発明が記述される手法により、
各要素が互いに協働し続けることを可能にする場合に
は、他のプログラムの実行割り付けによっても実施され
うることが理解されるであろう。
【0017】診断/試験プログラム34は、模擬される
目標コンピュータシステムを検証し、試験する。しかし
これらは、あたかも、シミュレータを用いることなく、
開発中に、コンピュータシステムにおいて、直接に実行
されるように、実現される。換言すると、診断/試験プ
ログラム34は、シミュレータへの入力を提供するいか
なる特定のプロトコル、模擬されるハードウェア信号処
理と同期するいかなる手法、あるいは、シミュレータか
らの出力を受信するいかなる特定的なプロトコルのいず
れにも合わせて作成されていない。模擬される目的コン
ピュータシステムの資源、つまり、レジスタ、メモリ領
域等は、元の実行コンピュータ12aのオペレーション
システムにより認識されないので、これらの診断/試験
プログラム34は、これらが模擬される目標コンピュー
タシステムの資源を参照するたびごとに、オペレーティ
ングステムを捕捉し、例外処理を発現させる(raise)。
本発明の目的ために、これらの資源の参照は2つの範ち
ゅうに分けられている。第1の範ちゅうは、命令の実行
から得られる資源参照を含み、該命令の実行は模擬され
ている目標コンピュータシステムのCPUを模擬されて
いる目標コンピュータシステムのレジスタ、メモリロケ
ーションへの読み出し/書き込みを行なわせる。第2の
範ちゅうは、命令の実行から得られる参照を含み、該命
令の実行は開発中のコンピュータシステムにおけるメモ
リロケーションに対して、入力/出力(I/O)ダイレ
クトメモリアクセス(DMA)読み出し/書き込み動作
を行なわせる。
目標コンピュータシステムを検証し、試験する。しかし
これらは、あたかも、シミュレータを用いることなく、
開発中に、コンピュータシステムにおいて、直接に実行
されるように、実現される。換言すると、診断/試験プ
ログラム34は、シミュレータへの入力を提供するいか
なる特定のプロトコル、模擬されるハードウェア信号処
理と同期するいかなる手法、あるいは、シミュレータか
らの出力を受信するいかなる特定的なプロトコルのいず
れにも合わせて作成されていない。模擬される目的コン
ピュータシステムの資源、つまり、レジスタ、メモリ領
域等は、元の実行コンピュータ12aのオペレーション
システムにより認識されないので、これらの診断/試験
プログラム34は、これらが模擬される目標コンピュー
タシステムの資源を参照するたびごとに、オペレーティ
ングステムを捕捉し、例外処理を発現させる(raise)。
本発明の目的ために、これらの資源の参照は2つの範ち
ゅうに分けられている。第1の範ちゅうは、命令の実行
から得られる資源参照を含み、該命令の実行は模擬され
ている目標コンピュータシステムのCPUを模擬されて
いる目標コンピュータシステムのレジスタ、メモリロケ
ーションへの読み出し/書き込みを行なわせる。第2の
範ちゅうは、命令の実行から得られる参照を含み、該命
令の実行は開発中のコンピュータシステムにおけるメモ
リロケーションに対して、入力/出力(I/O)ダイレ
クトメモリアクセス(DMA)読み出し/書き込み動作
を行なわせる。
【0018】加えて、診断/試験プログラム34は、模
擬される目標コンピュータシステムのDMAパラメータ
の初期化と、DMA書き込み動作の開始前に、共有メモ
リ領域40にDMA書き込みデータを記憶する。反対
に、診断/試験プログラム34は、模擬される目標コン
ピュータシステムのDMAパラメータの初期化とDMA
読み出し動作開始の後に、DMA読み出しデータのため
に共有メモリ領域40をアクセスする。
擬される目標コンピュータシステムのDMAパラメータ
の初期化と、DMA書き込み動作の開始前に、共有メモ
リ領域40にDMA書き込みデータを記憶する。反対
に、診断/試験プログラム34は、模擬される目標コン
ピュータシステムのDMAパラメータの初期化とDMA
読み出し動作開始の後に、DMA読み出しデータのため
に共有メモリ領域40をアクセスする。
【0019】メッセージジェネレータ/ルータ42は、
診断/試験プログラム34により生じる実行の例外の捕
捉を検出し、それに応答して、トランスレータ44への
メッセージを生成し、送出する。このメッセージは、模
擬される目標コンピュータの参照される特定の資源およ
びこれらの参照を行う動作などの全ての関連する情報を
含む。メッセージジェネレータ/ルータ42は続けて、
トランスレータ44からの応答メッセージを受け、これ
らを内容に従って、それらを診断/試験プログラム3
4、DMAおよび割り込みエミュレータ36と38に送
出する。メッセージジェネレータ/ルータ42は、単一
の組み合わされた機能モジュールとして記述されている
が、本発明が、多数の機能モジュールに分散されたメッ
セージジェネレータ/ルータの機能により実現できるこ
とが理解されるであろう。
診断/試験プログラム34により生じる実行の例外の捕
捉を検出し、それに応答して、トランスレータ44への
メッセージを生成し、送出する。このメッセージは、模
擬される目標コンピュータの参照される特定の資源およ
びこれらの参照を行う動作などの全ての関連する情報を
含む。メッセージジェネレータ/ルータ42は続けて、
トランスレータ44からの応答メッセージを受け、これ
らを内容に従って、それらを診断/試験プログラム3
4、DMAおよび割り込みエミュレータ36と38に送
出する。メッセージジェネレータ/ルータ42は、単一
の組み合わされた機能モジュールとして記述されている
が、本発明が、多数の機能モジュールに分散されたメッ
セージジェネレータ/ルータの機能により実現できるこ
とが理解されるであろう。
【0020】DMAおよび割り込みエミュレータ36と
38はそれぞれ、模擬された目標コンピュータシステム
でDMAアクセスと割り込みの効果を模擬実行する。特
に、DMAエミュレータ36は、診断/試験プログラム
によって、共有メモリ領域40に記憶されたDMA書き
込みデータをシュミレータ46に転送し、DMA読み出
しデータを共有メモリ領域40に記憶して、それらが、
診断/試験プログラム34で利用可能にする。割り込み
エミュレータ38は診断/試験プログラム34の実行を
割り込み、その結果として、割り込みが模擬された目標
コンピュータシステムにトリガされる。
38はそれぞれ、模擬された目標コンピュータシステム
でDMAアクセスと割り込みの効果を模擬実行する。特
に、DMAエミュレータ36は、診断/試験プログラム
によって、共有メモリ領域40に記憶されたDMA書き
込みデータをシュミレータ46に転送し、DMA読み出
しデータを共有メモリ領域40に記憶して、それらが、
診断/試験プログラム34で利用可能にする。割り込み
エミュレータ38は診断/試験プログラム34の実行を
割り込み、その結果として、割り込みが模擬された目標
コンピュータシステムにトリガされる。
【0021】トランスレータ44は、メッセージジェネ
レータ/ルータ42からのメッセージを受け、それに応
答して、翻訳し、ハードウェア信号を表わす対応する入
力をシミュレータ46に提供する。トランスレータ44
は続けて、シミュレータ46からの応答ハードウェア信
号を表わす出力を受け、それに応答して、応答メッセー
ジを翻訳し、メッセージジェネレータ/ルータ42に送
出する。応答メッセージもまた、模擬されるコンピュー
タシステムの参照の結果、およびそのコンピュータシス
テムにおいてトリガされた割り込みの結果などの全ての
関連する情報を含む。トランスレータ44が、ハードウ
ェア信号を表わすシミュレータ入力および応答メッセー
ジに対する応答ハードウェア信号を表わす出力に対する
メッセージを翻訳する単一の組み合わされた機能モジュ
ールとして記述されているが、本発明が多数の機能モジ
ュールに分散されたトランスレータの機能により実現さ
れ得ることが理解されるであろう。
レータ/ルータ42からのメッセージを受け、それに応
答して、翻訳し、ハードウェア信号を表わす対応する入
力をシミュレータ46に提供する。トランスレータ44
は続けて、シミュレータ46からの応答ハードウェア信
号を表わす出力を受け、それに応答して、応答メッセー
ジを翻訳し、メッセージジェネレータ/ルータ42に送
出する。応答メッセージもまた、模擬されるコンピュー
タシステムの参照の結果、およびそのコンピュータシス
テムにおいてトリガされた割り込みの結果などの全ての
関連する情報を含む。トランスレータ44が、ハードウ
ェア信号を表わすシミュレータ入力および応答メッセー
ジに対する応答ハードウェア信号を表わす出力に対する
メッセージを翻訳する単一の組み合わされた機能モジュ
ールとして記述されているが、本発明が多数の機能モジ
ュールに分散されたトランスレータの機能により実現さ
れ得ることが理解されるであろう。
【0022】図4を参照して説明すると、本発明の方法
を図解するブロックダイヤグラムが示されている。模擬
される目標コンピュータシステムの資源を参照している
診断/試験プログラムによって生起される実行例外が検
出されると、ブロック52、適切な情報を伴うメッセー
ジが、メッセージジェネレータ/ルータによってトラン
スレータブロック54へ送られ、このブロックはシミュ
レータブロック56へハードウェア信号を表わす入力を
提供する。シミュレータは、目標コンピュータシステム
によってハードウェア信号の処理を模擬し、応答ハード
ウェア信号を表わす出力を発行する。
を図解するブロックダイヤグラムが示されている。模擬
される目標コンピュータシステムの資源を参照している
診断/試験プログラムによって生起される実行例外が検
出されると、ブロック52、適切な情報を伴うメッセー
ジが、メッセージジェネレータ/ルータによってトラン
スレータブロック54へ送られ、このブロックはシミュ
レータブロック56へハードウェア信号を表わす入力を
提供する。シミュレータは、目標コンピュータシステム
によってハードウェア信号の処理を模擬し、応答ハード
ウェア信号を表わす出力を発行する。
【0023】シミュレータからの応答ハードウェア信号
を表わす出力を検出すると、適切な内容を伴う応答メッ
セージがメッセージジェネレータ/ルータに供給され
る、ブロック60。応答メッセージの内容が、割り込み
が模擬された処理、ブランチ62a、によりトリガされ
たものであることを示す場合、メッセージは割り込み処
理エミュレータブロック64に回送される。この割り込
み処理エミュレータは、模擬されている目標コンピュー
タシステムの割り込みのトリガ動作を疑似実行し(エミ
ュレートし)、診断/試験プログラムの実行に割り込
む。応答メッセージの内容が、模擬される目標コンピュ
ータシステムの資源への元の参照が、DMAの読み出し
/書き込み動作を発生させる命令の実行により発生され
たものである場合、ブランチ66a、メッセージはDM
Aエミュレータブロック68に回送され、このDMAエ
ミュレータは共有メモリ領域を更新してDMA読み出し
データを診断/試験プログラムで利用可能にするか、ま
たは、DMA書き込みデータを共通メモリ領域から、メ
ッセージジェネレータ/ルータおよびトランスレータを
通して、シミュレータへ転送する。トランスレータによ
り発行された応答メッセージは、得られたDMA読み出
し動作の場合にシミュレータから出力された戻りDMA
読み出しデータを含む。応答メッセージの内容が、模擬
される目標コンピュータシステムの資源に対する元の参
照が、CPUの読み出し/書き込み動作を生じさせた命
令の実行に起因することを示す場合、ブランチ66b、
メッセージは診断/試験プログラムに回送される、ブロ
ック74。トランスレータにより発行された応答メッセ
ージは、得られたCPUの読み出し動作の場合にシミュ
レータにより出力された戻りデータを含む。
を表わす出力を検出すると、適切な内容を伴う応答メッ
セージがメッセージジェネレータ/ルータに供給され
る、ブロック60。応答メッセージの内容が、割り込み
が模擬された処理、ブランチ62a、によりトリガされ
たものであることを示す場合、メッセージは割り込み処
理エミュレータブロック64に回送される。この割り込
み処理エミュレータは、模擬されている目標コンピュー
タシステムの割り込みのトリガ動作を疑似実行し(エミ
ュレートし)、診断/試験プログラムの実行に割り込
む。応答メッセージの内容が、模擬される目標コンピュ
ータシステムの資源への元の参照が、DMAの読み出し
/書き込み動作を発生させる命令の実行により発生され
たものである場合、ブランチ66a、メッセージはDM
Aエミュレータブロック68に回送され、このDMAエ
ミュレータは共有メモリ領域を更新してDMA読み出し
データを診断/試験プログラムで利用可能にするか、ま
たは、DMA書き込みデータを共通メモリ領域から、メ
ッセージジェネレータ/ルータおよびトランスレータを
通して、シミュレータへ転送する。トランスレータによ
り発行された応答メッセージは、得られたDMA読み出
し動作の場合にシミュレータから出力された戻りDMA
読み出しデータを含む。応答メッセージの内容が、模擬
される目標コンピュータシステムの資源に対する元の参
照が、CPUの読み出し/書き込み動作を生じさせた命
令の実行に起因することを示す場合、ブランチ66b、
メッセージは診断/試験プログラムに回送される、ブロ
ック74。トランスレータにより発行された応答メッセ
ージは、得られたCPUの読み出し動作の場合にシミュ
レータにより出力された戻りデータを含む。
【0024】再び図3を参照すると、診断/試験プログ
ラム34、2つのエミュレータ36と38、およびメッ
セージジェネレータ/ルータ42間の相互プログラム間
通信(inter-program communication)は、よく知られた
種々のプログラム間通信プロトコルの内の一つを用いて
実現できる。同様に、メッセージジェネレータ/ルータ
42とトランスレータ44との間の遠隔的なプログラム
間通信は、種々のよく知られたプログラム間通信プロト
コルの内の一つにより実現される。同様に、トランスレ
ータ44とシュミレータ46との間のハードウェア信号
の交換は、種々のよく知られたバスモデルまたはソフト
ウェアプロトコルにより実現される。しかし、トランス
レータ44が逐次的な手法で翻訳を行い、シミュレータ
46は事象駆動形(event driven) であるから、トラン
スレータ44とシミュレータ46との間のハードウェア
信号を表わす入力/出力の交換はタイミング的にセンシ
ティブである。このタイミングの要件が図5に図解され
ている。ハードウェア信号を表わす入力は、模擬される
クロックパルスの立ち上がりエッジの直後、周期P1,
76トランスレータからシミュレータへ伝送される。逆
に、模擬されるクロックパルスの立ち上がりエッジの直
前に、周期P0、74、ハードウェア信号を表わす出力
がシミュレータからトランスレータに送られ、それによ
り、トランスレータは応答ハードウェア信号を表わす出
力を受けるが、トランスレータ内の関連するデータは依
然として前の状態のままである。
ラム34、2つのエミュレータ36と38、およびメッ
セージジェネレータ/ルータ42間の相互プログラム間
通信(inter-program communication)は、よく知られた
種々のプログラム間通信プロトコルの内の一つを用いて
実現できる。同様に、メッセージジェネレータ/ルータ
42とトランスレータ44との間の遠隔的なプログラム
間通信は、種々のよく知られたプログラム間通信プロト
コルの内の一つにより実現される。同様に、トランスレ
ータ44とシュミレータ46との間のハードウェア信号
の交換は、種々のよく知られたバスモデルまたはソフト
ウェアプロトコルにより実現される。しかし、トランス
レータ44が逐次的な手法で翻訳を行い、シミュレータ
46は事象駆動形(event driven) であるから、トラン
スレータ44とシミュレータ46との間のハードウェア
信号を表わす入力/出力の交換はタイミング的にセンシ
ティブである。このタイミングの要件が図5に図解され
ている。ハードウェア信号を表わす入力は、模擬される
クロックパルスの立ち上がりエッジの直後、周期P1,
76トランスレータからシミュレータへ伝送される。逆
に、模擬されるクロックパルスの立ち上がりエッジの直
前に、周期P0、74、ハードウェア信号を表わす出力
がシミュレータからトランスレータに送られ、それによ
り、トランスレータは応答ハードウェア信号を表わす出
力を受けるが、トランスレータ内の関連するデータは依
然として前の状態のままである。
【0025】従って、診断/試験プログラムが、開発中
に、あたかもコンピュータシステムで直接実行されるか
のように実現されている結果として、診断/試験プログ
ラムはシミュレータに固く結合されていず、それによ
り、他の開発のコンピュータシステムに対する可搬性
(ポータビリティ)が強化され、これらの実行性能が向
上することが理解されるであろう。さらに、シミュレー
タへの変更を必要とせずに、強化された可搬性と向上さ
れた実行性能が達成される。
に、あたかもコンピュータシステムで直接実行されるか
のように実現されている結果として、診断/試験プログ
ラムはシミュレータに固く結合されていず、それによ
り、他の開発のコンピュータシステムに対する可搬性
(ポータビリティ)が強化され、これらの実行性能が向
上することが理解されるであろう。さらに、シミュレー
タへの変更を必要とせずに、強化された可搬性と向上さ
れた実行性能が達成される。
【0026】本発明は、具体的な好適実施例とその変形
の実施例について記述されたが、当業者は、本発明が記
述された実施例に限定されないことを認識するであろ
う。本発明の発明および装置は、添付の請求の範囲に記
述された技術的思想および範囲内での変更、置換によっ
ても実施し得る。従ってこの記述は、本発明の限定では
なく、例示として扱われるべきである。
の実施例について記述されたが、当業者は、本発明が記
述された実施例に限定されないことを認識するであろ
う。本発明の発明および装置は、添付の請求の範囲に記
述された技術的思想および範囲内での変更、置換によっ
ても実施し得る。従ってこの記述は、本発明の限定では
なく、例示として扱われるべきである。
【0027】
【発明の効果】以上述べたように本発明によれば、コン
ピュータシステムの開発、検証、および、試験のために
診断/試験プログラムの可搬性を強化し、実行速度を向
上することができる。また可搬性が強化されることによ
り、仮想的に開発中のコンピュータシステムのシミュレ
ータへの変更なしに達成できる。また、本発明によれ
ば、上述した各目的を、特別の用途のハードウェアを用
いずに達成することができる。
ピュータシステムの開発、検証、および、試験のために
診断/試験プログラムの可搬性を強化し、実行速度を向
上することができる。また可搬性が強化されることによ
り、仮想的に開発中のコンピュータシステムのシミュレ
ータへの変更なしに達成できる。また、本発明によれ
ば、上述した各目的を、特別の用途のハードウェアを用
いずに達成することができる。
【図1】コンピュータシステムの開発、検証および試験
を遂行する本発明の1実施例のハードウェアの構成要素
を図解する図である。
を遂行する本発明の1実施例のハードウェアの構成要素
を図解する図である。
【図2】図1のコンピュータのソフトウェア構成要素を
図解する図である。
図解する図である。
【図3】本発明の構成を図解する図である。
【図4】本発明の方法を図解するフローチャート図であ
る。
る。
【図5】図3のトランスレータとシミュレータとの間の
関連のタイミングを図解する図である。
関連のタイミングを図解する図である。
12a,12b・・・コンピュータシステム、 14a,14b・・・CPU、 16a,16b・・・メモリ装置、 18a,18b・・・I/Oインターフェース装置、 20a,20b・・・記憶装置、 22a,22b・・・入力/出力装置、 24・・・ネットワーク、 28a,28b・・・オペレーティングシステム、 30a,30b・・・コンパイラおよびランタイムサー
ビス、 32a,32b・・・アプリケーションプログラム、 34・・・診断/試験プログラム、 36・・・DMAエミュレータ、 38・・・割り込みエミュレータ、 40・・・共有メモリ領域、 42・・・メッセージジェネレータ/ルータ、 44・・・トランスレータ、 46・・・シミュレータ、
ビス、 32a,32b・・・アプリケーションプログラム、 34・・・診断/試験プログラム、 36・・・DMAエミュレータ、 38・・・割り込みエミュレータ、 40・・・共有メモリ領域、 42・・・メッセージジェネレータ/ルータ、 44・・・トランスレータ、 46・・・シミュレータ、
Claims (18)
- 【請求項1】元の実行および模擬を行う少なくとも1台
のコンピュータ、開発中の目標コンピュータの開発、検
証および試験を遂行する装置を具備するコンピュータシ
ステムアセンブリにおいて、前記コンピュータの開発、
検証および試験を遂行する装置は、 a)前記目標コンピュータの動作を模擬(シミュレーシ
ョン)するシミュレーション手段、 b)前記模擬される目標コンピュータの機能を検証およ
び試験する診断/試験手段であって、該診断/試験手段
はあたかも診断/試験動作が前記目標コンピュータで直
接遂行されるかのように実現されているもの、 c)複数の発現した例外を検出し、前記検出された例外
に関する対応するメッセージを発生し送出するメッセー
ジ発生手段であって、前記例外は、前記診断/試験手段
が前記模擬される目標コンピュータの資源を参照する時
に生起されるものであり、 d)第1の翻訳手段であって、該第1の翻訳手段は前記
メッセージ発生手段および前記シミュレーション手段に
結合されており、前記対応するメッセージを受信し、該
受信したメッセージを翻訳し、ハードウェア信号を表わ
すものに対応する入力を前記シミュレーション手段に供
給するもの、 e)前記シミュレーション手段に結合された第2の翻訳
手段であって、該第2の翻訳手段は前記シミュレーショ
ン手段からのハードウェア信号の応答を表わす出力を検
出し、該検出された出力を翻訳し、対応する応答メッセ
ージを送出するもの、 f)前記第2の翻訳手段に結合されたメッセージ回送手
段であって、該回送手段は前記対応する応答メッセージ
を受信し、該受信した応答メッセージを該内容に従って
送出するもの、 g)割り込み疑似実行(エミュレーション)手段であっ
て、該手段は、前記メッセージ回送手段および前記診断
/試験手段に結合され、割り込みに関係する前記応答メ
ッセージを受信し、前記模擬される目標コンピュータに
よる診断/試験手段の割り込みを疑似実行するもの、 h)ダイレクトメモリアクセス(DMA)疑似実行(エ
ミュレーション)手段であって、該手段は前記メッセー
ジ回送手段および前記診断/検査手段に結合され、関係
するDMA読み出し/書き込み動作である前記応答メッ
セージを受信し、前記診断/試験手段と前記模擬される
目的コンピュータとの間のDMA読み出し/書き込み動
作を疑似実行するものを具備し、 前記診断/試験手段もまた前記メッセージ回送手段に結
合され、応答メッセージに関係している非割り込みおよ
び非DMA読み出し/書き込み動作を受信する、コンピ
ュータの開発・検証および試験を遂行する装置。 - 【請求項2】前記発現された例外は前記元の実行および
模擬コンピュータのオペレーティングシステムにより発
現されたプログラム実行の例外であり、 前記オペレーティングシステムは、システムサービスを
具備し、該システムサービスは、前記元の実行および模
擬コンピュータで実行するプログラムが前記オペレーテ
ィングシステムにより認識されない資源を参照するとき
は常にプログラム実行の例外を発現させ、該発現された
プログラム実行の例外の原因についての情報を提供し、 前記診断/試験手段は、前記元の実行および模擬コンピ
ュータで実行する診断/試験プログラムを具備し、該診
断/試験プログラムは前記模擬される目標コンピュータ
の資源を参照し、前記目標コンピュータの前記資源は前
記オペレーティングシステムにより認識されない、 請求項1に記載の装置。 - 【請求項3】請求項1または2に記載の装置において、 前記模擬される目標コンピュータの資源への前記参照
は、前記模擬される目標コンピュータのレジスタおよび
メモリ領域に対するCPUの読み出し/書き込み動作の
原因となる命令の実行から得られる参照、および、前記
模擬された目標コンピュータのメモリ領域に対する入力
/出力・DMA読み出し/書き込み動作の原因となる命
令の実行から得られる参照を具備する装置。 - 【請求項4】請求項1〜3のいずれかに記載の装置にお
いて、 前記第1の翻訳手段は、前記模擬される目標コンピュー
タの模擬されたクロックの立ち上がりエッジの直後に前
記シミュレーション手段にハードウェア信号を表わす入
力を提供する装置。 - 【請求項5】請求項1〜4のいずれかに記載の装置にお
いて、 前記シミュレーション手段は、前記模擬される目標コン
ピュータの模擬されたクロックの立ち上がりエッジの直
前に前記第2の翻訳手段に前記応答ハードウェア信号を
表わす前記出力を提供する装置。 - 【請求項6】請求項1〜5のいずれかに記載の装置にお
いて、 前記診断/試験手段は、前記元の実行および模擬コンピ
ュータで実行する診断/試験プログラムを具備し、 前記割り込み疑似実行手段により疑似実行(エミュレー
ト)される前記割り込みは、前記診断/試験プログラム
の割り込みの実行を具備する装置。 - 【請求項7】請求項1〜6のいずれかに記載の装置にお
いて、 前記装置は、 g)前記診断/試験手段および前記DMA疑似実行手段
に結合され、DMA読み出しおよび書き込みデータを記
憶するメモリ手段をさらに具備し、 前記診断/試験手段は、DMAの書き込みパラメータの
初期化、および前記模擬される目標コンピュータのDM
A書き込みの前に、DMA書き込みデータを前記メモリ
手段に記憶し、前記DMA疑似実行手段は、前記記憶さ
れたDMA書き込みデータを前記シミュレーション手段
に前記メッセージ生成手段および前記第1の翻訳手段を
通して転送し、前記DMA疑似実行手段は、前記メッセ
ージ生成手段にさらに結合され、 前記診断/試験手段は、前記メモリ手段に記憶されたD
MA読み出しデータを、前記模擬される目標コンピュー
タの初期化されたDMA読み出しパラメータの取得およ
びDMA読み出しの開始の後に使用し、前記DMA疑似
実行手段は、前記DMA読み出しデータを前記シミュレ
ーション手段から前記第2の翻訳手段および前記メッセ
ージ回送手段を通して受けた際に、前記DMA読み出し
データを前記メモリ手段に記憶する装置。 - 【請求項8】請求項1〜7のいずれかに記載の装置にお
いて、 前記メッセージ生成手段と前記メッセージ回送手段とは
結合され、該結合されたメッセージ生成/回送手段内に
実現される装置。 - 【請求項9】請求項1〜8のいずれかに記載の装置にお
いて、 前記第1の翻訳手段と第2の翻訳手段とは結合され、該
結合された翻訳手段の中に実現される装置。 - 【請求項10】請求項1〜9のいずれかに記載の装置に
おいて、 前記コンピュータシステムのアセンブリは、元の実行用
コンピュータと模擬用の他のコンピュータとを具備し、
前記元の実行と模擬コンピュータとは相互に結合され、 前記シミュレーション手段は前記模擬コンピュータで実
行するシミュレータを具備し、 前記診断/試験手段は前記元の実行コンピュータで実行
する診断/試験プログラムを具備し、 前記メッセージ生成手段は前記元の実行コンピュータで
実行するメッセージジェネレータを具備し、 前記第1および第2の翻訳手段はそれぞれ、前記元の実
行コンピュータで実行する第1および第2のトランスレ
ータを具備し、 前記メッセージ回送手段は、前記元の実行コンピュータ
で実行するメッセージルータを具備し、 前記割り込み疑似実行(エミュレーション)手段は、前
記元の実行コンピュータで実行する割り込みエミュレー
タを具備し、 前記DMA疑似実行手段は、前記元の実行コンピュータ
で実行するDMAエミュレータを具備する装置。 - 【請求項11】元の実行および模擬用の少なくとも1台
のコンピュータを具備するコンピュータシステムアセン
ブリにおいて、開発中の目標コンピュータの開発、検証
および試験を実行する方法であって、該方法は下記の諸
段階、すなわち、 a)前記目標コンピュータの模擬(シミュレーション)
動作を行い、 b)あたかも前記目標コンピュータで直接遂行されるか
のように前記模擬される目標コンピュータの機能を検証
し、試験し、 c)複数の発現された例外を検出し、前記検出された例
外に対応するメッセージを生成し、送出する段階であっ
て、前記例外は、前記検証および試験が前記模擬される
目標コンピュータの資源を参照する時に発現されるもの
であり、 d)前記対応するメッセージを受信し、前記受信された
メッセージを翻訳し、ハードウェア信号を表わす入力信
号を前記模擬処理へ供給し、 e)応答ハードウェア信号を表わす出力を前記模擬処理
から検出し、前記検出された出力を翻訳し、対応する応
答メッセージを送出し、 f)前記対応する応答メッセージを受信し、前記受信し
た応答メッセージを該内容に従って送出し、 g)割り込みに対応する前記応答メッセージを受信し、
前記模擬される目標コンピュータによる前記検証および
試験の割り込みを疑似実行(エミュレート)し、 h)DMA読み出し/書き込み動作に対応する前記応答
メッセージを受信し、前記検証、試験および前記模擬の
間のDMA読み出し/書き込み動作を疑似実行する諸段
階を具備し、 前記検証および試験もまた、非割り込みおよび非DMA
読み出し/書き込み動作に関連した応答メッセージを受
信する方法。 - 【請求項12】請求項11に記載の方法において、 前記発現された例外は、前記元の実行および模擬コンピ
ュータのオペレーティングシステムにより発現されたプ
ログラム実行の例外であり、前記オペレーティングシス
テムは、前記元の実行および模擬コンピュータで実行す
るプログラムが前記オペレーティングシステムにより認
識されない資源を参照するたびごとにプログラム実行の
例外を発現し、前記発現されたプログラム実行の例外の
原因についての情報を提供するためのシステムサービス
を具備し、 前記検証および試験は、前記前記元の実行および模擬コ
ンピュータで遂行されており、前記診断および試験は、
前記模擬される目標コンピュータの資源を参照し、前記
目標コンピュータの前記資源は前記オペレーティングシ
ステムにより認識されていない方法。 - 【請求項13】請求項11または12に記載の方法にお
いて、 前記模擬される目標コンピュータの資源への前記参照
は、CPUの前記模擬される目標コンピュータのレジス
タおよびメモリ領域に対する読み出し/書き込みの実行
の原因となる命令の実行に起因する参照、および前記目
標コンピュータのメモリ領域に対する入力/出力、DM
A読み出し/書き込み動作の原因となる命令の実行に起
因する参照を具備する方法。 - 【請求項14】請求項11〜13のいずれかに記載の方
法において、 前記ハードウェア信号を表わす入力は、前記模擬される
目標コンピュータの模擬されたクロックの立ち上がりエ
ッジの直後に前記模擬にハードウェア信号を表わす入力
が供給されている方法。 - 【請求項15】請求項11〜14のいずれかに記載の方
法において、 前記応答ハードウェア信号を表わす出力は、前記模擬さ
れる目標コンピュータの模擬されたクロックの立ち上が
りエッジの直前に前記模擬から供給される方法。 - 【請求項16】請求項11〜15のいずれかに記載の方
法において、 前記検証および試験は、前記元の実行および模擬コンピ
ュータで遂行されており、 前記割り込みエミュレートされるものは、前記検証およ
び試験の割り込みを具備する方法。 - 【請求項17】請求項11〜16のいずれかに記載の方
法において、 前記方法は、DMA読み出しおよび書き込みデータを共
有メモリ領域に記憶する段階(i)をさらに具備し、 遂行されている前記検証および試験は、前記模擬される
目標コンピュータのDMA書き込みパラメータの初期化
およびDMA書き込み開始前に、前記共有メモリ領域に
DMA書き込みデータを記憶し、前記DMA疑似実行は
前記記憶されたDMA書き込みデータを前記メッセージ
生成を介して前記模擬に転送し、前記およびメッセージ
の翻訳を前記ハードウェア信号を表わす疑似入力に転送
し、 前記検証および試験は、前記模擬される目標コンピュー
タの初期化されたDMA読み出しパラメータの取得およ
びDMA読み出しの開始の後に前記共有メモリ領域に記
憶されたDMA読み出しデータを使用し、 前記DMA疑似実行は、前記前記DMA読み出しデータ
を前記模擬から、ハードウェア信号を表わす出力から応
答メッセージおよび前記メッセージ回送への翻訳を介し
て受けた際に、前記DMA読み出しデータを前記共有メ
モリ領域に記憶する方法。 - 【請求項18】請求項11〜17のいずれかに記載の方
法において、 前記コンピュータシステムアセンブリは、元の実行用の
コンピュータおよび他の模擬用のコンピュータを具備
し、前記元の実行および模擬コンピュータは相互に結合
され、 前記模擬は、前記模擬コンピュータで遂行され、 前記検証および試験は、前記元の実行コンピュータで遂
行され、 前記メッセージ生成は、前記元の実行コンピュータで遂
行され、 前記複数の翻訳は、前記元の実行コンピュータで遂行さ
れ、 前記メッセージ回送は、前記元の実行コンピュータで遂
行され、 前記割り込み疑似実行は、前記元の実行コンピュータで
遂行され、 前記DMA疑似実行は、前記元の実行コンピュータで遂
行される方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/995587 | 1992-12-22 | ||
US07/995,587 US5363501A (en) | 1992-12-22 | 1992-12-22 | Method for computer system development verification and testing using portable diagnostic/testing programs |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06348530A true JPH06348530A (ja) | 1994-12-22 |
Family
ID=25541969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32073993A Withdrawn JPH06348530A (ja) | 1992-12-22 | 1993-12-21 | コンピュータシステムの開発、検証、および、試験を遂行する可搬的方法とその装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5363501A (ja) |
JP (1) | JPH06348530A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048019A (ja) * | 2005-08-10 | 2007-02-22 | Sony Computer Entertainment Inc | エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600790A (en) * | 1995-02-10 | 1997-02-04 | Research In Motion Limited | Method and system for loading and confirming correct operation of an application program in a target system |
US5857091A (en) * | 1995-03-14 | 1999-01-05 | Siemens Business Communication Systems, Inc. | Machine and method for simulating a processor-based digital system |
US5838948A (en) * | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
US6101545A (en) * | 1996-10-21 | 2000-08-08 | Hughes Electronics Corporation | Message handling system for different message delivery types |
US5951704A (en) * | 1997-02-19 | 1999-09-14 | Advantest Corp. | Test system emulator |
US5872957A (en) * | 1997-05-01 | 1999-02-16 | International Business Machines Corporation | Method for flexible simulation modeling of multi-component systems |
US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
JP2001306359A (ja) * | 2000-04-20 | 2001-11-02 | Seiko Epson Corp | 自動評価システム |
US6665734B1 (en) | 2000-09-21 | 2003-12-16 | International Business Machines Corporation | Blending object-oriented objects with traditional programming languages |
US6668370B1 (en) | 2000-09-21 | 2003-12-23 | International Business Machines Corporation | Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility |
US6986125B2 (en) * | 2001-08-01 | 2006-01-10 | International Business Machines Corporation | Method and apparatus for testing and evaluating a software component using an abstraction matrix |
CN1575451A (zh) * | 2001-10-25 | 2005-02-02 | 皇家飞利浦电子股份有限公司 | 降低额外开销的异常检测方法和装置 |
US20070038435A1 (en) * | 2005-08-10 | 2007-02-15 | Takayoshi Koizumi | Emulation method, emulator, computer-attachable device, and emulator program |
DE102007062974B4 (de) * | 2007-12-21 | 2010-04-08 | Phoenix Contact Gmbh & Co. Kg | Signalverarbeitungsvorrichtung |
US20130024178A1 (en) * | 2011-07-20 | 2013-01-24 | Narendran Kumaragurunathan | Playback methodology for verification components |
CN112445630B (zh) * | 2020-11-18 | 2023-06-02 | 深圳市元征科技股份有限公司 | 一种信息交互方法、装置及终端设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084235A (en) * | 1975-04-14 | 1978-04-11 | Honeywell Information Systems Inc. | Emulation apparatus |
US4312066A (en) * | 1979-12-28 | 1982-01-19 | International Business Machines Corporation | Diagnostic/debug machine architecture |
US4899306A (en) * | 1985-08-26 | 1990-02-06 | American Telephone And Telegraph Company, At&T Bell Laboratories | Test interface circuit which generates different interface control signals for different target computers responding to control signals from host computer |
US4827404A (en) * | 1986-04-14 | 1989-05-02 | Schlumberger Technology Corporation | Method and system for computer programming |
US5045994A (en) * | 1986-09-23 | 1991-09-03 | Bell Communications Research, Inc. | Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems |
IE60444B1 (en) * | 1988-03-30 | 1994-07-13 | Elverex Ltd | A software verification apparatus |
JPH07120292B2 (ja) * | 1989-06-19 | 1995-12-20 | 日本電気株式会社 | 情報処理システム |
US5157782A (en) * | 1990-01-31 | 1992-10-20 | Hewlett-Packard Company | System and method for testing computer hardware and software |
-
1992
- 1992-12-22 US US07/995,587 patent/US5363501A/en not_active Expired - Lifetime
-
1993
- 1993-12-21 JP JP32073993A patent/JPH06348530A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007048019A (ja) * | 2005-08-10 | 2007-02-22 | Sony Computer Entertainment Inc | エミュレーション方法、エミュレータ、コンピュータ組込型デバイスおよびエミュレータ用プログラム |
Also Published As
Publication number | Publication date |
---|---|
US5363501A (en) | 1994-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06348530A (ja) | コンピュータシステムの開発、検証、および、試験を遂行する可搬的方法とその装置 | |
US5838948A (en) | System and method for simulation of computer systems combining hardware and software interaction | |
EP3382536B1 (en) | Emulation of hardware components | |
US8930912B2 (en) | Method and system for performing software verification | |
EP1508858A2 (en) | A method and system for executing software on non-native platforms | |
JP7321839B2 (ja) | ハードウェア抽象化ソフトウェアレイヤを使用するシステムのための汎用仮想化プラットフォーム | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN113657069B (zh) | 片上***soc仿真验证方法、装置、验证服务器及存储介质 | |
US5857091A (en) | Machine and method for simulating a processor-based digital system | |
CN111880863B (zh) | 应用程序的运行方法、装置、电子设备及存储介质 | |
CN116401984A (zh) | 基于虚拟机的片上***仿真方法及*** | |
Yoo et al. | Building fast and accurate SW simulation models based on hardware abstraction layer and simulation environment abstraction layer | |
Tempel et al. | SymEx-VP: an open source virtual prototype for OS-agnostic concolic testing of IoT firmware | |
CN112764981B (zh) | 一种协同测试***及方法 | |
US20190026204A1 (en) | System integration using virtualization | |
Fummi et al. | ISS-centric modular HW/SW co-simulation | |
JP2000163456A (ja) | 論理検証方法 | |
US6775814B1 (en) | Dynamic system configuration for functional design verification | |
JP3424548B2 (ja) | 組み込み機器用ソフトウエア論理シミュレータ | |
JP2003177937A (ja) | エミュレータ・ユニットとホスト装置の間の通信を改善する装置と方法 | |
EP4137977A1 (en) | Coverage guided fuzzing of remote embedded devices using a debugger | |
JP4893028B2 (ja) | チップセットのエミュレーション装置および方法 | |
US7761882B1 (en) | Emulator and real device proxy | |
CN112783776A (zh) | 一种基于接口路由的测试方法、装置和电子设备 | |
CN116306413A (zh) | 一种fpga仿真验证方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010306 |