JP7226049B2 - シミュレーション装置、シミュレーション方法及び情報処理装置 - Google Patents
シミュレーション装置、シミュレーション方法及び情報処理装置 Download PDFInfo
- Publication number
- JP7226049B2 JP7226049B2 JP2019075130A JP2019075130A JP7226049B2 JP 7226049 B2 JP7226049 B2 JP 7226049B2 JP 2019075130 A JP2019075130 A JP 2019075130A JP 2019075130 A JP2019075130 A JP 2019075130A JP 7226049 B2 JP7226049 B2 JP 7226049B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- model
- cpu
- unit
- undefined
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims description 112
- 238000000034 method Methods 0.000 title claims description 85
- 230000010365 information processing Effects 0.000 title claims description 12
- 238000012545 processing Methods 0.000 claims description 117
- 230000005856 abnormality Effects 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 102100031798 Protein eva-1 homolog A Human genes 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100310674 Tenebrio molitor SP23 gene Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
Description
[1-1.シミュレーション装置の構成]
図1に模式的なブロック図を示すように、第1の実施の形態によるシミュレーション装置1は、制御部2、記憶部3、通信部4、表示部5及び操作部6がバス8を介して相互に接続されている。このシミュレーション装置1は、ソフトウェア上でプリンタ(画像形成装置とも呼ばれる)を模したプリンタモデルを構成し、このプリンタモデルにおいてファームウェアを実行させるシミュレーション処理を行うようになっている。因みにファームウェアは、プリンタを構成する各ハードウェアをそれぞれ制御して印刷処理等の動作を行わせるためのプログラムであり、制御プログラムとも呼ばれる。
次に、シミュレーション装置1におけるシミュレーション処理の実行について説明する。シミュレーション装置1の制御部2は、ユーザからシミュレーション処理を開始する指示として、例えばコマンドラインにおいてシミュレーションプログラムの実行ファイルを表すファイル名が入力されると、記憶部3からシミュレーションプログラムを読み出して実行する。これにより制御部2は、図1に示した各機能ブロックを内部に形成した上で、図4に示すシミュレーション処理手順RT1を開始し、最初のステップSP1に移る。
以上の構成において、第1の実施の形態によるシミュレーション装置1では、シミュレーション処理の開始直後に、ROMモデル32の全領域に未定義コードを書き込むようにした(図4及び図6)。
[2-1.画像形成装置の構成]
図14に模式的なブロック図を示すように、第2の実施の形態によるプリンタ201は、制御基板202に操作パネル203、搬送部205、画像形成部206及び定着部207等が接続されている。因みに、実際のプリンタ201は、画像形成装置とも呼ばれており、図3のモデル表示ウィンドウ60に画像として表示されたプリンタ本体部61と類似した構成となっている。
次に、プリンタ201においてファームウェア(制御プログラム)を更新する処理について説明する。プリンタ201のCPU221(図14)は、外部メモリコントローラ222を介して外部メモリ212から所定の更新プログラムを読み出して実行することにより、図17に示すファームウェア更新処理手順RT21を開始して最初のステップSP211に移る。
以上の構成において、第2の実施の形態によるプリンタ201は、外部メモリ212にベクタアドレス格納エリアAR1、例外処理プログラムエリアAR2及びその他のプログラムエリアAR3を設け(図15)、ファームウェアの更新時にその他のプログラムエリアAR3のみを書き換えるようにした。
[3-1.画像形成装置の構成]
図14と対応する図21に模式的なブロック図を示すように、第3の実施の形態によるプリンタ301は、第2の実施の形態によるプリンタ201と比較して、制御基板202に代わる制御基板302を有する点、及びブザー308を有する点において相違するものの、他の点については同様に構成されている。ブザー308は、制御基板302と接続されており、該制御基板302の制御に基づいて音を発生させ、また停止させる。
次に、プリンタ301においてファームウェア(制御プログラム)を転送する処理について説明する。プリンタ301のCPU321(図21)は、外部メモリコントローラ222を介して外部メモリ212から所定の転送プログラムを読み出して実行することにより、図23に示すファームウェア転送処理手順RT31を開始して最初のステップSP311に移る。
ステップSP323においてエラー通報回路326は、内部バス228からラッチしたデータが未定義コードであるか否かを判定する。
以上の構成において、第3の実施の形態によるプリンタ301は、起動後に内部RAM224の全領域に未定義コードを書き込んだ後、外部メモリ212から各データや各プログラムを内部RAM224に転送して書き込む。その後、プリンタ301は、リセット処理を行い、CPU321が内部RAM224にアクセスして命令コードを読み出して実行する。
なお上述した第1の実施の形態においては、シミュレーション処理手順RT1(図4)のステップSP2において、ROMモデル32に対し、未定義コードとして「A5H」を書き込む場合について述べた。しかしながら本発明はこれに限らず、他の種々の未定義コードを書き込んでも良い。要は、CPUモデル31において命令が割り当てられていないコードであれば良い。第2及び第3の実施の形態についても同様である。
Claims (11)
- 命令コードを読み込んで実行するCPU(Central Processing Unit)を模したCPUモデルと、複数の前記命令コードにより構成された制御プログラムを格納する記憶部を模した記憶部モデルとを形成するモデル形成部と、
前記記憶部モデルにおける少なくとも一部の記憶領域に、前記CPUにおいて定義されていない未定義コードを書き込む未定義コード書込部と、
前記記憶部モデルにおける前記未定義コードが書き込まれた前記記憶領域に、ユーザに指定された前記制御プログラムを書き込む制御プログラム書込部と、
前記記憶部モデルから前記命令コードを順次読み出して前記CPUモデルにより順次実行させる命令コード実行部と
を具えることを特徴とするシミュレーション装置。 - 前記記憶部モデルから読み出された前記命令コードが前記未定義コードであった場合、当該未定義コードが読み出されたことを前記ユーザに通知する異常処理部
をさらに具えることを特徴とする請求項1に記載のシミュレーション装置。 - 前記異常処理部は、前記記憶部モデルから読み出された前記命令コードが前記未定義コードであった場合、前記命令コード実行部による前記命令コードの読出及び実行を停止させる
ことを特徴とする請求項2に記載のシミュレーション装置。 - 前記未定義コード書込部は、前記記憶部モデルにおける、前記CPUが最初に読み出すアドレスを含む前記記憶領域に、前記未定義コードを書き込む
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記未定義コード書込部は、前記記憶部モデルにおける、前記CPUが最初にジャンプするアドレスを含む前記記憶領域に、前記未定義コードを書き込む
ことを特徴とする請求項1に記載のシミュレーション装置。 - 前記未定義コード書込部は、前記記憶部モデルにおける全ての前記記憶領域に前記未定義コードを書き込む
ことを特徴とする請求項1に記載のシミュレーション装置。 - モデル形成部により、命令コードを読み込んで実行するCPUを模したCPUモデルと、複数の前記命令コードにより構成された制御プログラムを格納する記憶部を模した記憶部モデルとを形成するモデル形成ステップと、
未定義コード書込部により、前記記憶部モデルにおける少なくとも一部の記憶領域に、前記CPUにおいて定義されていない未定義コードを書き込む未定義コード書込ステップと、
制御プログラム書込部により、前記記憶部モデルにおける前記未定義コードが書き込まれた前記記憶領域に、ユーザに指定された前記制御プログラムを書き込む制御プログラム書込ステップと、
命令コード実行部により、前記記憶部モデルから前記命令コードを順次読み出して前記CPUモデルにより順次実行させる命令コード実行ステップと
を具えることを特徴とするシミュレーション方法。 - 命令コードを読み込んで実行するCPUと、
複数の前記命令コードにより構成された制御プログラムを格納する記憶部と、
前記記憶部における少なくとも一部の記憶領域に、前記CPUにおいて定義されていない未定義コードを書き込む未定義コード書込部と、
前記記憶部における前記未定義コードが書き込まれた前記記憶領域に、前記制御プログラムを書き込む制御プログラム書込部と、
前記CPUにより前記記憶部から前記制御プログラムの前記命令コードを読み出して実行する場合に、当該命令コードが前記未定義コードであった場合、前記制御プログラムの実行を停止させる停止処理、及び当該未定義コードが読み出されたことを通知する通知処理のうち少なくとも一方を行う異常処理部と
を具えることを特徴とする情報処理装置。 - 前記記憶部は、前記制御プログラムを格納する制御プログラム記憶領域とは別に例外処理を実行するための例外処理プログラムが格納される記憶領域である例外処理プログラム記憶領域を有し、
前記未定義コード書込部は、前記例外処理プログラム記憶領域には当該未定義コードを書き込まずに前記記憶部の前記制御プログラム記憶領域に前記未定義コードを書き込み、
前記制御プログラム書込部は、前記記憶部の前記制御プログラム記憶領域に前記制御プログラムを書き込む
ことを特徴とする請求項8に記載の情報処理装置。 - 前記異常処理部は、前記CPUとは別に構成されたエラー通報回路である
ことを特徴とする請求項8に記載の情報処理装置。 - 前記異常処理部は、前記記憶部から前記CPUに供給される前記命令コードをラッチし、当該命令コードが前記未定義コードであるか否かを判定する
ことを特徴とする請求項10に記載の情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075130A JP7226049B2 (ja) | 2019-04-10 | 2019-04-10 | シミュレーション装置、シミュレーション方法及び情報処理装置 |
US16/837,963 US20200326950A1 (en) | 2019-04-10 | 2020-04-01 | Simulation apparatus, simulation method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075130A JP7226049B2 (ja) | 2019-04-10 | 2019-04-10 | シミュレーション装置、シミュレーション方法及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020173616A JP2020173616A (ja) | 2020-10-22 |
JP7226049B2 true JP7226049B2 (ja) | 2023-02-21 |
Family
ID=72747855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019075130A Active JP7226049B2 (ja) | 2019-04-10 | 2019-04-10 | シミュレーション装置、シミュレーション方法及び情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200326950A1 (ja) |
JP (1) | JP7226049B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325120A (ja) | 2000-03-10 | 2001-11-22 | Fujitsu Ltd | 情報処理装置 |
JP2007323167A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリテスト方法 |
JP2012018641A (ja) | 2010-07-09 | 2012-01-26 | Toshiba Corp | ソフトウェア開発システム |
JP2015108964A (ja) | 2013-12-04 | 2015-06-11 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04165433A (ja) * | 1990-10-29 | 1992-06-11 | Nec Software Ltd | オペレーティングシステムのデバグ方式 |
-
2019
- 2019-04-10 JP JP2019075130A patent/JP7226049B2/ja active Active
-
2020
- 2020-04-01 US US16/837,963 patent/US20200326950A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001325120A (ja) | 2000-03-10 | 2001-11-22 | Fujitsu Ltd | 情報処理装置 |
JP2007323167A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリテスト方法 |
JP2012018641A (ja) | 2010-07-09 | 2012-01-26 | Toshiba Corp | ソフトウェア開発システム |
JP2015108964A (ja) | 2013-12-04 | 2015-06-11 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム、及び記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2020173616A (ja) | 2020-10-22 |
US20200326950A1 (en) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103930878B (zh) | 用于存储器验证的方法、装置及系统 | |
US10613773B2 (en) | Backing up firmware during initialization of device | |
US6438688B1 (en) | Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file | |
US9858084B2 (en) | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory | |
US8407526B1 (en) | Updating a firmware image using a firmware debugger application | |
JP6124994B2 (ja) | レガシーos環境から統合拡張可能ファームウェア・インターフェース(uefi)ブート前環境への復元を行うための方法およびシステム、ならびにコンピュータ・プログラム | |
JP2007206885A (ja) | コンピュータシステム及びシステム起動方法 | |
GB2436215A (en) | Method for updating a system BIOS stored in NVRAM | |
TW201510866A (zh) | Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品 | |
JPS601643B2 (ja) | デジタルコンピュ−タ用の初期化回路 | |
JPH05204617A (ja) | 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法 | |
JP6157811B2 (ja) | ブート前データ検証のための方法及びシステム | |
TW201520895A (zh) | Bios自動恢復系統及方法 | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
TWI478061B (zh) | 更新韌體的方法 | |
TW201314574A (zh) | 用於電腦系統之基本輸入輸出系統程式更新方法及更新裝置 | |
JP7226049B2 (ja) | シミュレーション装置、シミュレーション方法及び情報処理装置 | |
US8572598B1 (en) | Method and system for upgrading software in a computing device | |
WO1991016678A1 (fr) | Procede de remise a zero d'un module adaptateur suite a une panne et syteme d'ordinateur executant ledit procede | |
TW202137007A (zh) | 儲存電路以及運作方法 | |
JP2016024798A (ja) | 冗長化コントローラシステム、その待機系コントローラ | |
JPH06314202A (ja) | 画像形成装置 | |
KR100505700B1 (ko) | 엠시유를 이용하여 다양한 목표 시스템을 검증하는 재탑재에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발시스템, 및 그 방법 | |
CN112912958A (zh) | 使用内置自测控制器测试只读存储器 | |
JP7411471B2 (ja) | 情報処理装置及び通信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20191118 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20210615 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7226049 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |