JPH0452937A - System for avoiding impossibility of operation of execution form software - Google Patents

System for avoiding impossibility of operation of execution form software

Info

Publication number
JPH0452937A
JPH0452937A JP2161639A JP16163990A JPH0452937A JP H0452937 A JPH0452937 A JP H0452937A JP 2161639 A JP2161639 A JP 2161639A JP 16163990 A JP16163990 A JP 16163990A JP H0452937 A JPH0452937 A JP H0452937A
Authority
JP
Japan
Prior art keywords
instruction
access boundary
access
boundary mismatch
disaccord
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.)
Pending
Application number
JP2161639A
Other languages
Japanese (ja)
Inventor
Takahisa Yoshida
吉田 貴久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2161639A priority Critical patent/JPH0452937A/en
Publication of JPH0452937A publication Critical patent/JPH0452937A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To use already prepared execution form software by providing an instruction substituting means, which substitutes the instruction causing an access boundary disaccord with an instruction by which access boundary disaccord error does not occur, and a re-executing means which re-executes the processing which the former instruction should execute. CONSTITUTION:An instruction position search means 1 searches the position of the instruction by which access boundary disaccord occurs, and an instruction classification analyzing means 2 analyzes the classification of this instruction. An instruction substituting means 3 substitutes this instruction with an instruction by which access boundary disaccord error does not occur, and a re- executing means 4 re-executes the processing which the former instruction should execute. Consequently, examination and rewrite due to recompilation of the source code of already prepared execution-form software or the change of the source code are unnecessary through access boundary adjustment is handled differently among hardware, architecture, and a used compile language. Thus, the already prepared execution-form software can be used.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は実行形式ソフトウェア動作不可回避方式に関し
、特にコンピュータのハードウェア、アーキテクチャ及
び使用するコンパイル言語のアクセス境界調整が異なる
コンピュータ間のソフトウェア移植を行う実行形式ソフ
トウェア動作不可回避方式に関する。
[Detailed Description of the Invention] [Industrial Application Field] The present invention relates to a method for avoiding executable software inoperability, and in particular to software porting between computers with different computer hardware, architecture, and access boundary adjustment of compiled languages used. This invention relates to a method for avoiding execution of executable software.

〔従来の技術〕[Conventional technology]

従来、既存の実行形式ソフトウェアの移植では、ハード
ウェア、アーキテクチャ及び使用するコンパイル言語の
アクセス境界調整の扱いが異なる場合は、そのソフトウ
ェアソースコードの再コンパイルまたはソースコード上
のテーブル(IF!4造体)等のレイアウトと使用して
いる命令と処理方法との見直しを行い、アクセス境界が
合うようにソースコードを書き直す以外に方法がなかっ
た。
Conventionally, when porting existing executable software, if the handling of access boundary adjustment differs between the hardware, architecture, and compiled language used, the software source code must be recompiled or the source code table (IF!4 structure) ), etc., the instructions used, and the processing method, and the only way to do this was to rewrite the source code so that the access boundaries matched.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来のソフトウェア移植について、ハードウェア、アー
キテクチャ及び使用するコンパイル言語のアクセス境界
調整を要する場合、またはメモリレイアウトの扱いが異
なる場合に、実行形式ソフトウェアをそのまま実行させ
たときに境界不正による正しく動作しないという問題が
ある。これを回避するには実行形式ソフトウェアのソー
スコードを再コンパイルするか、またはソースコードを
見直してソースコード上のテーブル(構造体)等のメモ
リレイアウトや使用している命令処理方法を調査し、ア
クセス境界が合うようにソースコードを書き直さなけれ
ばならないという欠点がある。
With conventional software porting, when the hardware, architecture, and compiled language used require access boundary adjustment, or when the memory layout is handled differently, when the executable software is run as is, it may not work properly due to incorrect boundaries. There's a problem. To avoid this, either recompile the source code of the executable software, or review the source code and investigate the memory layout of tables (structures) in the source code and the instruction processing method used. The disadvantage is that the source code must be rewritten to match the boundaries.

〔課題を解決するための手段〕[Means to solve the problem]

本発明の実行形式ソフトウェア動作不可回避方式は、ア
クセス境界不一致を起した命令の位置(アドレス)を探
索する命令位置探索手段と、アクセス境界不一致を起し
た命令の種類を分析する命令種類分析手段と、アクセス
境界不一致を起した命令をアクセス境界不一致エラーに
ならない命令に置換える命令置換手段と、アクセス境界
不一致を起した命令が実行しようとした処理を再実行さ
せる再実行手段とを備えて構成される。
The executable software inoperability avoidance method of the present invention includes an instruction location search means for searching the position (address) of an instruction that causes an access boundary mismatch, and an instruction type analysis means that analyzes the type of instruction that causes an access boundary mismatch. , an instruction replacement means for replacing an instruction that causes an access boundary mismatch with an instruction that does not cause an access boundary mismatch error, and a re-execution means that re-executes the process that the instruction that caused the access boundary mismatch attempts to execute. Ru.

〔実施例〕〔Example〕

次に本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例の構成を示す流れ図、第2図
は本実施例の動作の概要を示すブロック図、第3図は本
実施例の動作についてアクセス境界不一致エラーを起し
た場合の具体的な回避例を示す説明図である。
Fig. 1 is a flowchart showing the configuration of an embodiment of the present invention, Fig. 2 is a block diagram showing an overview of the operation of this embodiment, and Fig. 3 is a case where an access boundary mismatch error occurs regarding the operation of this embodiment. It is an explanatory view showing a concrete example of avoidance.

第2図においてO8上で動作しているプログラム12が
アクセス境界不一致によるプログラム割込を発生した場
合は、O8のプログラム割込に対する処理手段13によ
り対処処理が行なわれる。
In FIG. 2, when the program 12 running on the O8 generates a program interrupt due to an access boundary mismatch, countermeasure processing is performed by the program interrupt processing means 13 of the O8.

また、アクセス境界不一致エラー以外のプログラム割込
の場合は、その他のプログラムエラーに対する処理手段
14により対処され、プログラム割込発生時点に復帰す
るか否かが判別される。アクセス境界不一致エラーのプ
ログラム割込の場合、アクセス境界が異なった場合の実
行形式ソフトウェア動作不可回避手段15により対処さ
れプログラム割込発生時に復帰するか否かが判別される
Furthermore, in the case of a program interrupt other than an access boundary mismatch error, it is handled by the processing means 14 for other program errors, and it is determined whether or not to return to the point at which the program interrupt occurred. In the case of a program interrupt due to an access boundary mismatch error, it is determined whether or not to be handled by the executable software inoperability avoidance means 15 when the access boundaries are different, and to return when the program interrupt occurs.

第1図と、第3図(a)および(b)とを参照してさら
に具体的に説明する。
A more specific explanation will be given with reference to FIG. 1 and FIGS. 3(a) and (b).

第3図(a)に示すように、アクセス境界が4バイト境
界でなければならない転送命令(ロード、ストア、ムー
ブ等)のとき第3図(a)に示すアクセス境界不一致回
避例の場合は、第1図においてアクセス境界不一致のプ
ログラムエラーとして検出され、アクセス境界不一致を
起した命令の位置くアドレス)を探索する命令位置探索
手段1によりプログラム割込発生時点に接近する。
As shown in FIG. 3(a), when the access boundary is a transfer command (load, store, move, etc.) that requires a 4-byte boundary, in the case of the access boundary mismatch avoidance example shown in FIG. 3(a), In FIG. 1, a program error due to access boundary mismatch is detected, and the instruction position search means 1 searches for the location (address) of the instruction causing the access boundary mismatch, and approaches the point in time when a program interrupt occurs.

そしてアクセス境界不一致を起した命令の種類を分析す
る命令種類分析手段2によりアクセス境界不一致を回避
する命令か否が判別される。この例の場合、転送命令(
ロード、ストア、ムーブ等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段13により、データを
1バイトずつ転送する命令(アクセス境界不一致エラー
のならない)に置換える。アクセス境界不一致を起した
命令が実行しようとした処理を再実行させる再実行手段
14により、アクセス境界が異なった領域にデータを正
しく格納または取出しを行うことができる。
Then, the instruction type analysis means 2 that analyzes the type of instruction that caused the access boundary mismatch determines whether the instruction is to avoid the access boundary mismatch. In this example, the transfer instruction (
load, store, move, etc.), the instruction replacement means 13 replaces the instruction that causes an access boundary mismatch with an instruction that does not cause an access boundary mismatch error. ). The re-execution means 14 re-executes the process attempted by the instruction that caused the access boundary mismatch, so that data can be correctly stored or retrieved in an area with a different access boundary.

第3図(b)に示すように、境界が4バイト境界でなけ
ればならない判定命令(コンベア等)のとき第3図(b
)に示す境界不一致回避例の場合は、第1図においてア
クセス境界不一致のプログラムエラーとして検出され、
アクセス境界不一致を起した命令の位置(アドレス)を
探索する命令置換探索手段1によりプログラム割込発生
時点に接近する。
As shown in FIG. 3(b), when the boundary is a 4-byte boundary (conveyor, etc.),
) In the case of the boundary mismatch avoidance example shown in Figure 1, it is detected as an access boundary mismatch program error,
The instruction replacement search means 1 searches for the location (address) of the instruction that caused the access boundary mismatch, and the program interrupt generation point is approached.

そして、アクセス境界不一致を起した命令の種類を分析
する命令種類分析手段2によりアクセス境界不一致を回
避する命令が否かが判別される。
Then, the instruction type analysis means 2, which analyzes the type of instruction that caused the access boundary mismatch, determines whether there is an instruction that avoids the access boundary mismatch.

この例の場合、アクセス境界不一致を回避することを要
する判定命令(コンベア等)であるので、アクセス境界
不一致を起した命令をアクセス境界不一致エラーになら
ない命令に置換える命令置換手段3によりデータを1バ
イトずつ転送する命令(アクセス境界不一致エラーとな
らない)を用いて判定するデータを4バイト境界である
別に設けられた作業域に1バイトずつ移動する。アクセ
ス境界不一致を起した命令が実行しようとした処理を再
実行させる再実行手段14によりアクセス境界が異なっ
た領域のデータの判定を正しく行うことができる。
In this example, since it is a judgment instruction (conveyor, etc.) that requires avoiding access boundary mismatch, the data is changed to The data to be determined is moved byte by byte to a separately provided work area on a 4-byte boundary using an instruction to transfer byte by byte (which does not cause an access boundary mismatch error). Data in areas with different access boundaries can be correctly determined by the re-execution means 14, which re-executes the process that the instruction that caused the access boundary mismatch attempts to execute.

以上のようにして、本実施例はデータの転送や判定を行
うときのアクセス境界不一致を回避している。
As described above, this embodiment avoids access boundary mismatch when transferring or determining data.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明は、既存実行形式ソフトウェ
アの移植において、ハードウェア、アーキテクチャ及び
使用するコンパイル言語のアクセス境界調整の扱いが異
なる場合でも、既存実行形式ソフトウェアのソースコー
ドの再コンパイルやコースコードの見直しによる調査、
書き直しを行わなくとも、既存実行形式ソフトウェアを
使用できるという効果がある。
As explained above, in porting existing executable software, the present invention enables recompilation of the source code of the existing executable software and course code even if the handling of access boundary adjustment is different between the hardware, architecture, and compiled language used. investigation by reviewing the
This has the advantage that existing executable software can be used without rewriting it.

合の具体的回避例を示す説明図。FIG. 4 is an explanatory diagram showing a specific avoidance example when

1・・・・・・命令位置探索手段、2・・・・・・命令
種類分析手段、3・・・・・・命令置換手段、4・・・
・・・再実行手段。
1... Instruction position search means, 2... Instruction type analysis means, 3... Instruction replacement means, 4...
...Means for re-execution.

Claims (1)

【特許請求の範囲】[Claims]  アクセス境界不一致を起した命令の位置(アドレス)
を探索する命令位置探索手段と、アクセス境界不一致を
起した命令の種類を分析する命令種類分析手段と、アク
セス境界不一致を起した命令をアクセス境界不一致エラ
ーにならない命令に置換える命令置換手段と、アクセス
境界不一致を起した命令が実行しようとした処理を再実
行させる再実行手段とを備えて成ることを特徴とする実
行形式ソフトウェア動作不可回避方式。
Location (address) of the instruction that caused the access boundary mismatch
an instruction position search means for searching for an access boundary mismatch, an instruction type analysis means for analyzing the type of instruction that caused an access boundary mismatch, and an instruction replacement means for replacing the instruction that caused an access boundary mismatch with an instruction that does not cause an access boundary mismatch error; 1. An executable software operation avoidance method characterized by comprising: re-execution means for re-executing a process attempted to be executed by an instruction that caused an access boundary mismatch.
JP2161639A 1990-06-20 1990-06-20 System for avoiding impossibility of operation of execution form software Pending JPH0452937A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2161639A JPH0452937A (en) 1990-06-20 1990-06-20 System for avoiding impossibility of operation of execution form software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2161639A JPH0452937A (en) 1990-06-20 1990-06-20 System for avoiding impossibility of operation of execution form software

Publications (1)

Publication Number Publication Date
JPH0452937A true JPH0452937A (en) 1992-02-20

Family

ID=15739014

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2161639A Pending JPH0452937A (en) 1990-06-20 1990-06-20 System for avoiding impossibility of operation of execution form software

Country Status (1)

Country Link
JP (1) JPH0452937A (en)

Similar Documents

Publication Publication Date Title
Silberman et al. An architectural framework for supporting heterogeneous instruction-set architectures
KR100385426B1 (en) Method and apparatus for aliasing memory data in an advanced microprocessor
US7065750B2 (en) Method and apparatus for preserving precise exceptions in binary translated code
US20100095286A1 (en) Register reduction and liveness analysis techniques for program code
KR20010014095A (en) A memory controller for detecting a failure of speculation of a component being addressed
KR20010014094A (en) Improved microprocessor
US6871173B1 (en) Method and apparatus for handling masked exceptions in an instruction interpreter
US8261251B2 (en) Modification of array access checking in AIX
US6330691B1 (en) Use of dynamic translation to provide breakpoints in non-writeable object code
JPS63279328A (en) Control system for guest execution of virtual computer system
JPH0452937A (en) System for avoiding impossibility of operation of execution form software
KR20010029545A (en) Host microprocessor with apparatus for temporarily holding target processor state
JP2785606B2 (en) Debugger for pipelined computer programs
JPH0784797A (en) Method and device for registering source code row number to load module
JP2728504B2 (en) Input statement checker
KR950005523B1 (en) Step-run processing method of programmable logic controller
US20060161905A1 (en) Method, system and program product for providing computing-environment control of a resource to be accessed by program code
JPS62298866A (en) Control system for lock between processors
JP2590083B2 (en) Source program translation processing method
JPH11110250A (en) Method for switching software execution mode
JPS63200243A (en) Debugging device
JP2591818B2 (en) Auxiliary function selection control method
JPH0437931A (en) Avoiding system for software fault due to boundary illicitness
JPH04236635A (en) Identification name retrieval processing system
JPH0293947A (en) Electronic computer