Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5045934B2 - Information processing apparatus, emulation method and emulation program in information processing apparatus - Google Patents
[go: Go Back, main page]

JP5045934B2 - Information processing apparatus, emulation method and emulation program in information processing apparatus - Google Patents

Information processing apparatus, emulation method and emulation program in information processing apparatus Download PDF

Info

Publication number
JP5045934B2
JP5045934B2 JP2008034700A JP2008034700A JP5045934B2 JP 5045934 B2 JP5045934 B2 JP 5045934B2 JP 2008034700 A JP2008034700 A JP 2008034700A JP 2008034700 A JP2008034700 A JP 2008034700A JP 5045934 B2 JP5045934 B2 JP 5045934B2
Authority
JP
Japan
Prior art keywords
instruction
storage address
composite
software instruction
software
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.)
Expired - Fee Related
Application number
JP2008034700A
Other languages
Japanese (ja)
Other versions
JP2009193446A (en
Inventor
雅彦 高遠
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 Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
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 Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2008034700A priority Critical patent/JP5045934B2/en
Publication of JP2009193446A publication Critical patent/JP2009193446A/en
Application granted granted Critical
Publication of JP5045934B2 publication Critical patent/JP5045934B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Description

本発明は、プロセッサ上で所定プログラムをエミュレーションする情報処理装置、エミュレーション方法及びエミュレーションプログラムに関する。   The present invention relates to an information processing apparatus that emulates a predetermined program on a processor, an emulation method, and an emulation program.

一般的に、コンピュータシステム上で他のシステムのOS(Operating System)等の機能を実現するソフトウェアエミュレーションにおいては、一のソフトウェア命令を単位としてエミュレーションを実施していた。   In general, in software emulation for realizing functions such as OS (Operating System) of another system on a computer system, the emulation is performed in units of one software instruction.

図15は、一般的なコンピュータシステムにおけるソフトウェアエミュレーションの実行プロセスを模式的に表した模式図である。
同図に示すように、各ソフトウェア命令はOS用のSW命令コード領域106に命令Aから命令B、命令C、命令D、命令E・・・と順に配置されて格納されている。
命令カウンタC01は、現在実行している(又はこれから実行する)ソフトウェア命令(命令A)のメモリ上の格納番地(X番地)を指しており、ソフトウェア命令の命令語長が4バイト固定とした場合、命令Aの処理が完了するとX+4番地、命令Bの処理が完了するとX+8番地、命令Cの処理が完了するとX+12番地、といったように、指定する番地(アドレス)が若番順に更新され、一のソフトウェア命令ごとに順次命令サイクルが実行されることとなる。
FIG. 15 is a schematic diagram schematically illustrating a software emulation execution process in a general computer system.
As shown in the drawing, each software instruction is stored in the OS SW instruction code area 106 in the order of instruction A to instruction B, instruction C, instruction D, instruction E,.
The instruction counter C01 indicates the storage address (address X) of the software instruction (instruction A) currently being executed (or executed in the future) on the memory, and the instruction word length of the software instruction is fixed to 4 bytes. The specified address (address) is updated in ascending order, such as address X + 4 when instruction A is completed, address X + 8 when instruction B is completed, address X + 12 when instruction C is completed, and so on. An instruction cycle is sequentially executed for each software instruction.

従って、コンピュータシステムのハードウェア性能が増強しない限りエミュレーション速度の根本的な向上は見込めず、ソフトウェア処理によるエミュレーションの高速化については一定の限界があるとされてきた。   Therefore, a fundamental improvement in the emulation speed cannot be expected unless the hardware performance of the computer system is enhanced, and it has been said that there is a certain limit to speeding up emulation by software processing.

このような状況下、ハードウェア性能に関わらず、コンピュータシステムのエミュレーション速度を向上させることが可能なエミュレーション方法及びコンピュータシステムが提案された(例えば、特許文献1参照)。
このエミュレーション方法等によれば、複数のターゲット命令が一括して処理できる組み合わせの場合、予め作成した該複数のターゲット命令を一括するコーディングに分岐し、該コーディングに従って処理を実行するようにしている。
従って、特に既存の資源を活かしながらエミュレーション速度を向上させることができ、合理的で、かつ、高速処理が可能な技術として期待されていた。
Under such circumstances, an emulation method and a computer system capable of improving the emulation speed of the computer system regardless of the hardware performance have been proposed (for example, see Patent Document 1).
According to this emulation method or the like, in the case of a combination in which a plurality of target instructions can be processed in a batch, the plurality of target instructions created in advance are branched to a batch coding and the processing is executed according to the coding.
Therefore, it has been expected as a technology capable of improving the emulation speed while utilizing existing resources, and capable of rational and high-speed processing.

特開2007−310546号公報(第1−8頁、第1図)JP 2007-310546 A (page 1-8, FIG. 1)

しかしながら、特許文献1に記載のエミュレーション方法等においては、ターゲット命令の順序制御が明確に示されておらず、特に、命令サイクルにおける命令カウンタ(プログラムカウンタ)の書き換えや更新に関するプロセスは明らかではなかった。
このため、同一命令が重複処理されることに伴う遅延等が発生する可能性があった。
また、専ら分岐処理を行う仕組みを採っているため、アルゴリズムが複雑になり、却って処理能力が低下する可能性が考えられた。
However, in the emulation method described in Patent Document 1, the order control of the target instruction is not clearly shown, and in particular, the process related to rewriting and updating of the instruction counter (program counter) in the instruction cycle is not clear. .
For this reason, there is a possibility that a delay or the like due to duplicate processing of the same instruction occurs.
In addition, since a system that exclusively performs branch processing is employed, the algorithm is complicated, and the processing capability may be reduced.

本発明の目的は、上述した課題である、命令の実行プロセスにおける不具合を解消し、エミュレーションの高速化を図る情報処理装置、エミュレーション方法及びエミュレーションプログラムを提供することにある。   An object of the present invention is to provide an information processing apparatus, an emulation method, and an emulation program that solve the above-described problem in the instruction execution process and increase the speed of emulation.

上記目的を達成するため、本発明の情報処理装置は、一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するSW抽出手段と、前記SW抽出手段によって抽出された複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成する複合化手段と、前記複合ソフトウェア命令又はソフトウェア命令を所定順序に基づき、所定プロセッサ上でエミュレーションさせる実行制御手段と、を備えた構成としてある。   In order to achieve the above object, an information processing apparatus according to the present invention includes a SW extraction unit that extracts a plurality of software instructions that can be collectively executed from one or more software instructions, and a plurality of pieces extracted by the SW extraction unit. A combination unit configured to combine a plurality of software instructions to form a predetermined composite software instruction, and an execution control unit that emulates the composite software instruction or the software instruction on a predetermined processor based on a predetermined order. .

また、本発明のエミュレーション方法は、ソフトウェア命令のエミュレーションを迅速化するためのエミュレーション方法であって、一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するステップと、抽出された前記複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成するステップと、前記複合ソフトウェア命令又はソフトウェア命令を所定順序に基づき、所定プロセッサ上でエミュレーションさせるステップと、を有する方法としてある。   The emulation method of the present invention is an emulation method for speeding up the emulation of software instructions, the step of extracting a plurality of software instructions that can be executed in a batch from one or more software instructions, The plurality of software instructions are combined to form a predetermined composite software instruction, and the composite software instruction or the software instruction is emulated on a predetermined processor based on a predetermined order.

さらに、本発明のエミュレーションプログラムは、ソフトウェア命令を所定のプロセッサ上でエミュレーションする情報処理装置において当該エミュレーションを迅速化するためのエミュレーションプログラムであって、前記情報処理装置を構成するコンピュータを、一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するSW抽出手段、前記SW抽出手段によって抽出された複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成する複合化手段、前記複合ソフトウェア命令又はソフトウェア命令を所定順序に基づき、所定のプロセッサ上でエミュレーションさせる実行制御手段、として機能させるためのプログラムとしてある。   Furthermore, an emulation program of the present invention is an emulation program for speeding up the emulation in an information processing device that emulates a software instruction on a predetermined processor, and includes one or more computers constituting the information processing device. SW extracting means for extracting a plurality of software instructions that can be executed collectively from software instructions, and combining means for combining a plurality of software instructions extracted by the SW extracting means to constitute a predetermined composite software instruction; It is a program for causing the composite software instruction or the software instruction to function as execution control means for emulating on a predetermined processor based on a predetermined order.

本発明によれば、ソフトウェア命令の複合化及び適切な実行プロセスに基づき、エミュレーション速度を的確に向上させることができる。
また、既存の資源を活かしつつエミュレーションの高速化を図ることも可能である。
According to the present invention, it is possible to accurately improve the emulation speed based on the combination of software instructions and an appropriate execution process.
It is also possible to speed up emulation while utilizing existing resources.

以下、本発明の好ましい実施形態について図1〜図14を参照して説明する。
ここで、以下に示す本実施形態の情報処理装置は、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理・機能を行わせる。すなわち、本実施形態の情報処理装置における各処理・手段は、プログラムとコンピュータとが協働した具体的手段によって実現される。
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
A preferred embodiment of the present invention will be described below with reference to FIGS.
Here, the information processing apparatus of the present embodiment described below is realized by processing, means, and functions executed by a computer according to instructions of a program (software). The program sends a command to each component of the computer to perform predetermined processing and functions as shown below. That is, each process and means in the information processing apparatus of the present embodiment is realized by specific means in which a program and a computer cooperate.
Note that all or part of the program is provided by, for example, a magnetic disk, optical disk, semiconductor memory, or any other computer-readable recording medium, and the program read from the recording medium is installed in the computer and executed. The The program can also be loaded and executed directly on a computer through a communication line without using a recording medium.

まず、図1は、本発明の各種実施形態に共通する情報処理装置の基本構成を示した機能ブロック図である。
同図に示す情報処理装置1は、ソフトウェア命令をプロセッサ上で動作させるための情報処理装置であって、SW抽出手段10、複合化手段11及び実行制御手段12を備えている。
SW抽出手段10は、一以上のソフトウェア命令13の中から一括して実行しうるソフトウェア命令13を抽出するものである。
また、複合化手段11は、SW抽出手段13によって抽出された複数のソフトウェア命令13を複合化して所定の複合ソフトウェア命令14を構成するものである。
そして、実行制御手段12は、複合化手段11によって構成された複合ソフトウェア命令14または複合化手段11によって構成されないソフトウェア命令13を所定順序にもとづき選択し、プロセッサ104上のエミュレータ103を用いて実行させるものである。
FIG. 1 is a functional block diagram showing a basic configuration of an information processing apparatus common to various embodiments of the present invention.
An information processing apparatus 1 shown in FIG. 1 is an information processing apparatus for operating software instructions on a processor, and includes an SW extraction unit 10, a combination unit 11, and an execution control unit 12.
The SW extraction means 10 extracts software instructions 13 that can be executed in a batch from one or more software instructions 13.
The compounding means 11 composes a predetermined composite software instruction 14 by compounding a plurality of software instructions 13 extracted by the SW extracting means 13.
Then, the execution control unit 12 selects the composite software instruction 14 configured by the composite unit 11 or the software instruction 13 not configured by the composite unit 11 based on a predetermined order, and causes the emulator 103 on the processor 104 to execute it. Is.

[第一実施形態]
図2及び図3は、本発明の第一実施形態に係る情報処理装置の基本構成を示したブロック図である。
図2に示すように、本実施形態の情報処理装置1は、ソフトウェア命令を汎用プロセッサ上で動作できるようにソフトウェアエミュレーションで処理する情報処理である。
具体的には、情報処理装置1は、プログラムに従い命令を実行し制御するプロセッサ(CPU:Central Processing Unit)104と、プロセッサ104の処理において必要なプログラムやデータを格納するメモリ105と、プロセッサ104に対するコマンドその他のデータを入力する入力部及びプロセッサ104の処理結果について表示等を行う出力部からなるIO(Input Output)装置109と、を有する構成となっている。
[First embodiment]
2 and 3 are block diagrams showing the basic configuration of the information processing apparatus according to the first embodiment of the present invention.
As shown in FIG. 2, the information processing apparatus 1 according to the present embodiment is information processing that processes software instructions by software emulation so that the software instructions can be operated on a general-purpose processor.
Specifically, the information processing apparatus 1 executes a processor (CPU: Central Processing Unit) 104 that executes and controls instructions according to a program, a memory 105 that stores programs and data necessary for processing by the processor 104, and a processor 104 An IO (Input Output) device 109 including an input unit for inputting commands and other data and an output unit for displaying the processing result of the processor 104 is configured.

メモリ105は、半導体メモリ、磁気ディスク、光ディスクその他の記録媒体であり、各種記憶領域を有している。
具体的には、メモリ105は、オペレーティングシステム102用のソフトウェア命令群が格納されるOS用のSW命令コード領域(本発明の記憶領域)106、ソフトウェア命令群に含まれる複数のソフトウェア命令13によって構成される複合ソフトウェア命令14が格納される複合SW命令用コード領域(本発明の第二記憶領域)107及びエミュレーションプログラム(エミュレータ103)が格納されるエミュレータメモリ領域108を有している。
また、メモリ105には、ソフトウェア命令13や複合ソフトウェア命令14の実行制御に用いられる所定のテーブル記憶領域(後述する変換テーブルT01,T03及び次IC(Instruction Counter)テーブルT02)が含まれている。
The memory 105 is a semiconductor memory, a magnetic disk, an optical disk or other recording medium, and has various storage areas.
Specifically, the memory 105 includes an OS SW instruction code area (storage area of the present invention) 106 in which software instructions for the operating system 102 are stored, and a plurality of software instructions 13 included in the software instructions. A composite SW instruction code area (second storage area of the present invention) 107 for storing the composite software instruction 14 and an emulator memory area 108 for storing the emulation program (emulator 103).
The memory 105 also includes predetermined table storage areas (conversion tables T01 and T03 and a next IC (Instruction Counter) table T02 described later) used for execution control of the software instruction 13 and the composite software instruction 14.

プロセッサ104は、エミュレータメモリ領域108に格納されたエミュレーションプログラム103を読み出し、このエミュレーションプログラム103に従ってエミュレーション処理を実行し、オペレーティングシステム102の命令を所定命令に置き換えながらアプリケーションプログラム101の処理を実行する。
特に、本実施形態においては、コード解析プログラム110による実行制御(実行制御手段12)のもと、前記ソフトウェア命令13又は複合ソフトウェア命令14のエミュレーションを実行する。
The processor 104 reads the emulation program 103 stored in the emulator memory area 108, executes the emulation process according to the emulation program 103, and executes the process of the application program 101 while replacing the instruction of the operating system 102 with a predetermined instruction.
In particular, in the present embodiment, emulation of the software instruction 13 or the composite software instruction 14 is executed under execution control (execution control means 12) by the code analysis program 110.

コード解析プログラム110は、メモリ105のSW命令コード領域106の中から複合ソフトウェア命令14に変換可能なソフトウェア命令13が存在するか否かを検索・判定し、変換可能な二以上のソフトウェア命令13があればこれらを抽出し(SW抽出手段10)、複合化して(複合化手段11)、複合SW命令用コード領域107に格納する指示をプロセッサ111に対して行う。   The code analysis program 110 searches and determines whether there is a software instruction 13 that can be converted into the composite software instruction 14 from the SW instruction code area 106 of the memory 105, and two or more convertible software instructions 13 are stored. If there are, they are extracted (SW extraction means 10), combined (compositing means 11), and an instruction to store in the composite SW instruction code area 107 is given to the processor 111.

また、コード解析プログラム110は、図2に示すように、専用のプロセッサ111上で動作させることが通常だが、他の形態を採ることも可能である。
例えば、図3に示すように、一プロセッサ112上にエミュレータとコード解析プログラム110とを実装し、エミュレータ104の処理の空き時間を利用してコード解析プログラム110を動作させるようにしてもよい。
このような構成にすることで、プロセッサ112を効率よく稼働させることが可能となるため、有効な資源活用を図りつつ、図2に示す情報処理装置1と同様の効果を得ることができる。
従って、以下「プロセッサ」とある場合には、図3の形態における共用プロセッサ112もこれに含まれるものとする。
In addition, the code analysis program 110 is normally operated on a dedicated processor 111 as shown in FIG. 2, but may take other forms.
For example, as shown in FIG. 3, an emulator and a code analysis program 110 may be mounted on one processor 112, and the code analysis program 110 may be operated using the processing idle time of the emulator 104.
With such a configuration, the processor 112 can be operated efficiently, so that the same effect as the information processing apparatus 1 shown in FIG. 2 can be obtained while effectively utilizing resources.
Therefore, when “processor” is hereinafter referred to, the shared processor 112 in the form of FIG. 3 is also included in this.

ここで、コード解析プログラム110の具体的な処理方法について図4を参照しながら説明を行う。
図4は、本実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。
なお、命令カウンタ(本発明の命令カウンタ)C01とOS用ソフトウェア命令コード領域106は、一般的な情報処理装置の機能と同様であり、基本的な処理プロセスは図15で示した流れを踏襲するものである。
つまり、命令カウンタC01の指定番地に基づき、OS用SW命令コード領域106の若い番地から順にソフトウェア命令13が一つずつ取り出されて実行される(本発明のSW実行手段)。
そして、一のソフトウェア命令13の実行後は、命令カウンタC01の指定番地が次の番地に更新されたうえで、一命令サイクルが終了することとなる。
Here, a specific processing method of the code analysis program 110 will be described with reference to FIG.
FIG. 4 is a schematic diagram schematically showing how the code analysis program that runs on the information processing apparatus according to the present embodiment is controlled.
Note that the instruction counter (instruction counter of the present invention) C01 and the OS software instruction code area 106 have the same functions as those of a general information processing apparatus, and the basic processing process follows the flow shown in FIG. Is.
That is, based on the address specified by the instruction counter C01, the software instructions 13 are extracted one by one in order from the youngest address in the OS SW instruction code area 106 and executed (SW execution means of the present invention).
After execution of one software instruction 13, the designated address of the instruction counter C01 is updated to the next address and one instruction cycle is completed.

ただし、本実施形態においては、コード解析プログラム110が、OS用SW命令コード領域106から順次ソフトウェア命令13を読み込み、複合化が可能か否かを解析・判定するようにしている。
そして、複合化可能と判断した場合には、複合化手段によって得た複合ソフトウェア命令14を複合SW命令コード領域107に格納し、必要に応じて実行するようにしている(本発明の複合SW実行手段)。
また、複合化された元のソフトウェア命令13を識別し重複処理等の回避しつつ適切な順序で命令実行を行わせるため、予め、複合化前のソフトウェア命令13のOS用SW命令コード領域106における番地と、複合化によって得られた複合ソフトウェア命令14の複合SW命令コード領域107における番地と、命令カウンタC01が次に指定すべき番地と、を変換テーブルT01に登録するようにしている(本発明のテーブル登録手段)。
However, in this embodiment, the code analysis program 110 sequentially reads the software instructions 13 from the OS SW instruction code area 106, and analyzes and determines whether or not compounding is possible.
When it is determined that the composite is possible, the composite software instruction 14 obtained by the composite means is stored in the composite SW instruction code area 107 and executed as necessary (the composite SW execution of the present invention). means).
Also, in order to identify the original composite software instruction 13 and execute instructions in an appropriate order while avoiding duplication processing or the like, in the SW instruction code area 106 for OS of the software instruction 13 before the combination in advance. The address, the address in the composite SW instruction code area 107 of the composite software instruction 14 obtained by the composition, and the address to be designated next by the instruction counter C01 are registered in the conversion table T01 (the present invention). Table registration means).

図4に示すように、本実施形態においては、SW命令AとSW命令Bとが複合SW命令A+Bに複合され、SW命令DとSW命令Eとが複合SW命令D+Eに複合されるため、変換テーブルT01には、1ワード目に、SW命令Aの格納番地「X番地」、複合SW命令A+Bの格納番地「Y番地」及び命令カウンタC01が次に指定すべきSW命令の格納番地「X+8番地」が登録され、2ワード目に、SW命令Dの格納番地「X+12番地」、複合SW命令D+Eの格納番地「Y+4番地」及び命令カウンタC01が次に指定すべきSW命令の格納番地「X+20番地」が登録されることとなる。   As shown in FIG. 4, in this embodiment, SW instruction A and SW instruction B are combined into a composite SW instruction A + B, and SW instruction D and SW instruction E are combined into a composite SW instruction D + E. In the table T01, in the first word, the storage address “X address” of the SW instruction A, the storage address “Y address” of the composite SW instruction A + B, and the storage address “X + 8” of the SW instruction to be specified next by the instruction counter C01 are stored. Is stored in the second word, the storage address “X + 12” of the SW instruction D, the storage address “Y + 4” of the composite SW instruction D + E, and the storage address “X + 20” of the SW instruction to be specified next by the instruction counter C01. "Will be registered.

そして、プロセッサ104は、ソフトウェア命令13を実行する際、まず変換テーブルT01を検索し、命令カウンタC01の指定番地と同一の番地が「命令カウンタ」欄に登録されている場合には、対応して登録されてある「複合IC」欄の番地データを取り出して複合命令カウンタC02(本発明の第二命令カウンタ)の指定番地とする。
次いで、プロセッサ104は、複合命令カウンタC02が指定する番地にアクセスして複合ソフトウェア命令14を取り出し、実行を行う。
一方、命令カウンタC01の指定番地と同一の番地が「命令カウンタ」欄に登録されていない場合には、その指定番地のソフトウェア命令13を取り出し実行を行う。
When executing the software instruction 13, the processor 104 first searches the conversion table T01. If the same address as the designated address of the instruction counter C01 is registered in the “instruction counter” field, the processor 104 responds accordingly. The registered address data in the “Composite IC” column is taken out and used as the designated address of the composite instruction counter C02 (second instruction counter of the present invention).
Next, the processor 104 accesses the address designated by the composite instruction counter C02, retrieves the composite software instruction 14, and executes it.
On the other hand, when the same address as the designated address of the instruction counter C01 is not registered in the “instruction counter” column, the software instruction 13 at the designated address is extracted and executed.

なお、複合ソフトウェア命令14の実行後は、変換テーブルT01上にともに対応づけて登録されている「次のIC」欄の番地データを命令カウンタC01に設定することによって一の命令サイクルは終了し、命令カウンタC01の次の指定番地にもとづき新たな命令サイクルが開始されることとなる。
これにより、従来は、命令A、命令B、命令C、命令D、命令D、命令Eと一命令毎に直列的に動作していたのに対し、本実施形態に係る複合化処理及び実行プロセス制御によって、命令A+B、命令C、命令D+Eと一部並列処理が行われることになり、このため、エミュレーション速度を向上させることが可能となっている。
After the composite software instruction 14 is executed, one instruction cycle is completed by setting the address data in the “next IC” column registered in association with each other on the conversion table T01 in the instruction counter C01. A new instruction cycle is started based on the next designated address of the instruction counter C01.
As a result, conventionally, the instruction A, the instruction B, the instruction C, the instruction D, the instruction D, and the instruction E are serially operated for each instruction, whereas the composite processing and execution process according to the present embodiment are performed. By the control, partly parallel processing with the instruction A + B, the instruction C, and the instruction D + E is performed, so that the emulation speed can be improved.

次に、本実施形態に係る複合化処理について図面を参照しながら詳細に説明する。
図5は、本実施形態に係る情報処理装置において行われる複合化処理を説明するためのイメージ図である。
図5に示すように、ここでは、メモリ105のSW命令コード領域106に格納してあるデータを汎用レジスタ「GRx」に格納するLD命令と、汎用レジスタ「GRx」と汎用レジスタ「GRy」を加算して汎用レジスタ「GRx」に格納するEXE命令の2系統を複合化する例について説明する。
なお、汎用プロセッサはメモリアクセス系に2本のパイプライン、演算系に1本のパイプラインを備え、レジスタ依存関係によるパイプラインストールは1Tであるとし、汎用レジスタ「GRx/GRy」はソフトウェアから可視なレジスタ(SWビジブルレジスタ)で、ソフトウェア領域ではないローカルなメモリ空間に配置されているものとする。
Next, the composite processing according to the present embodiment will be described in detail with reference to the drawings.
FIG. 5 is an image diagram for explaining the composite processing performed in the information processing apparatus according to the present embodiment.
As shown in FIG. 5, here, the LD instruction for storing the data stored in the SW instruction code area 106 of the memory 105 in the general-purpose register “GRx”, the general-purpose register “GRx”, and the general-purpose register “GRy” are added. An example in which two systems of EXE instructions stored in the general-purpose register “GRx” are combined will be described.
The general-purpose processor has two pipelines in the memory access system and one pipeline in the arithmetic system. The pipeline installation based on the register dependency is 1T, and the general-purpose register “GRx / GRy” is visible from the software. It is assumed that the register (SW visible register) is arranged in a local memory space that is not a software area.

同図に示すように、LD命令の1T目にて、SW命令コード領域106のメモリ空間「MEM」よりデータを取り出し、プロセッサ内のワークレジスタ「WK1」に一旦格納する。
2T目では、ワークレジスタ「WK1」の内容を、ローカルなメモリ空間に配置されている汎用レジスタ「GRx」にストアする。
3T目、すなわち、EXE命令の1T目においては、汎用レジスタ「GRx」と汎用レジスタ「GRy」の内容をそれぞれプロセッサ内のワークレジスタ「WK1」「WK2」に読み出す。
本例では、メモリアクセス系に2本のパイプラインを備えているため、図4のようにld命令を2命令同時に実行することが可能である。
4T目では、ワークレジスタ「WK1」とワークレジスタ「WK2」の値を加算して、ワークレジスタ「WK1」に格納する。
5T目にて、ワークレジスタ「WK1」の値を汎用レジスタ「GRx」にストアする。
なお、上記の例では、LD命令とEXE命令の処理T数が5Tとなっているが、処理T数は、汎用プロセッサのパイプライン数やレジスタ依存関係によるパイプラインストールのT数によって、処理T数が増減する場合がある。
As shown in the figure, at the 1T of the LD instruction, data is extracted from the memory space “MEM” in the SW instruction code area 106 and temporarily stored in the work register “WK1” in the processor.
In 2T, the contents of the work register “WK1” are stored in the general-purpose register “GRx” arranged in the local memory space.
At the 3T, that is, the 1T of the EXE instruction, the contents of the general-purpose register “GRx” and the general-purpose register “GRy” are read to the work registers “WK1” and “WK2” in the processor, respectively.
In this example, since the memory access system includes two pipelines, it is possible to execute two ld instructions simultaneously as shown in FIG.
At 4T, the values of the work register “WK1” and the work register “WK2” are added and stored in the work register “WK1”.
At 5T, the value of the work register “WK1” is stored in the general-purpose register “GRx”.
In the above example, the number of processes T for the LD instruction and the EXE instruction is 5T. However, the number of processes T depends on the number of pipelines of the general-purpose processor and the number of pipeline installations based on register dependency. May increase or decrease.

次に、このLD命令とEXE命令を複合化したLD+EXE命令について説明する。
1T目にて、SW命令コード領域106のメモリ空間「MEM」よりデータを取り出し、プロセッサ内のワークレジスタ「WK1」に格納する。
また、汎用レジスタ「GRy」の内容をワークレジスタ「WK2」に格納する。
本例では、ld命令を2命令同時に実行することが可能であり、1Tにてこれらを並行処理することができる。
2T目では、ワークレジスタ「WK1」とワークレジスタ「WK2」の値を加算してワークレジスタ「WK1」に格納する。
3T目にて、ワークレジスタ「WK1」の値をローカルなメモリ空間に配置されている汎用レジスタ「GRx」に格納する。
Next, an LD + EXE instruction that combines the LD instruction and the EXE instruction will be described.
At 1T, data is extracted from the memory space “MEM” of the SW instruction code area 106 and stored in the work register “WK1” in the processor.
The contents of the general-purpose register “GRy” are stored in the work register “WK2”.
In this example, two ld instructions can be executed at the same time, and these can be processed in parallel in 1T.
In 2T, the values of the work register “WK1” and the work register “WK2” are added and stored in the work register “WK1”.
At 3T, the value of the work register “WK1” is stored in the general-purpose register “GRx” arranged in the local memory space.

その結果、図5に示すように、複合命令LD+EXE命令の処理T数は3Tとなり、複合前の5Tと比較して2Tの性能向上を図ることができる。
このように、汎用プロセッサのパイプライン数やパイプラインストールのT数などを考慮して複合ソフトウェア命令14を構成することでエミュレーション速度をより高速化することが可能となる。
As a result, as shown in FIG. 5, the number of processes T of the combined instruction LD + EXE instruction is 3T, and 2T performance improvement can be achieved as compared with 5T before combining.
In this way, the emulation speed can be further increased by configuring the composite software instruction 14 in consideration of the number of pipelines of general-purpose processors, the number of T of pipeline installation, and the like.

次に、以上のような構成からなる第一実施形態の情報処理装置におけるプロセッサの処理手順について図6を参照しながら説明する。
図6は、本発明の第一実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。
まず、コード解析プログラム110の指示のもとプロセッサ111は、命令カウンタC01が指定する番地データが変換テーブルT01に登録されているか否かを検索・判定する(S501)。
その結果、指定番地が変換テーブルT01に登録されていないと判定された場合(S502:NO)、コード解析プログラム110の指示に基づきプロセッサ104は、命令カウンタC01が指定する番地に格納されているソフトウェア命令13をSW命令コード領域106から取り出す(S503)。
そして、プロセッサ104は、ステップS503で取り出したソフトウェア命令13の実行処理を行い(S504)、その後、命令カウンタC01を次の番地に更新して一命令サイクルを終了する(S505)。
Next, the processing procedure of the processor in the information processing apparatus of the first embodiment configured as described above will be described with reference to FIG.
FIG. 6 is a flowchart showing the processing procedure of the processor in the information processing apparatus according to the first embodiment of the present invention.
First, under the instruction of the code analysis program 110, the processor 111 searches and determines whether the address data designated by the instruction counter C01 is registered in the conversion table T01 (S501).
As a result, when it is determined that the designated address is not registered in the conversion table T01 (S502: NO), the processor 104, based on the instruction of the code analysis program 110, uses the software stored at the address designated by the instruction counter C01. The instruction 13 is extracted from the SW instruction code area 106 (S503).
The processor 104 executes the software instruction 13 fetched in step S503 (S504), and then updates the instruction counter C01 to the next address to complete one instruction cycle (S505).

一方、命令カウンタC01が指定する番地データが変換テーブルT01に登録されていると判定された場合(S502:YES)、コード解析プログラム110の指示のもと、プロセッサ104は、変換テーブルT01の登録データから「複合IC」欄と「次のIC」欄の番地データを取り出す(S506)。
次に、プロセッサ104は、ステップS506で取り出した「複合IC」欄の番地データを複合命令カウンタC02の指定番地とし、当該指定番地に格納されている複合ソフトウェア命令14を複合SW命令用コード領域107から取り出す(S507)。
そして、プロセッサ104は、ステップS507で取り出した複合ソフトウェア命令14の実行処理を行い(S508)、最後に命令カウンタC01を「次のIC」の番地に設定して一の命令サイクルを終了する(S509)。
On the other hand, when it is determined that the address data designated by the instruction counter C01 is registered in the conversion table T01 (S502: YES), the processor 104 registers the registered data in the conversion table T01 under the instruction of the code analysis program 110. The address data in the “Composite IC” column and the “Next IC” column are extracted from (S506).
Next, the processor 104 uses the address data in the “Composite IC” column extracted in Step S506 as the designated address of the composite instruction counter C02, and uses the composite software instruction 14 stored in the designated address as the code area 107 for the composite SW instruction. (S507).
The processor 104 then executes the composite software instruction 14 extracted in step S507 (S508). Finally, the instruction counter C01 is set at the address of “next IC” and one instruction cycle is completed (S509). ).

以上説明したように、本実施形態の情報処理装置1は、コード解析プログラム110を有しており、このコード解析プログラム110の制御のもとプロセッサ104が的確に命令処理を実行するようにしている。
具体的には、プロセッサ104は、SW命令コード領域106から複合化しうるソフトウェア命令13を抽出し、複合化して複合SW命令用コード領域107に格納するように制御される。
そして、プロセッサ104は、必要に応じ、複合SW命令用コード領域107から複合ソフトウェア命令14を取り出して実行するようにしている。
このため、単一命令を直列的に処理するのではなく、複数命令を並行して処理できるために処理時間が短縮され、結果、エミュレーション速度を向上させることができるようになっている。
As described above, the information processing apparatus 1 according to the present embodiment includes the code analysis program 110, and the processor 104 accurately executes instruction processing under the control of the code analysis program 110. .
Specifically, the processor 104 is controlled to extract the software instruction 13 that can be combined from the SW instruction code area 106, combine it, and store it in the composite SW instruction code area 107.
Then, the processor 104 extracts the composite software instruction 14 from the composite SW instruction code area 107 and executes it as necessary.
For this reason, since a plurality of instructions can be processed in parallel instead of processing a single instruction serially, the processing time is shortened, and as a result, the emulation speed can be improved.

また、本実施形態に係る情報処理装置1によれば、メモリ105の所定領域に変換テーブルT01を配置し、コード解析プログラム110は、この変換テーブルT01の登録データに基づいてプロセッサ104を制御するようにしている。
具体的には、予め、変換テーブルT01には、複合化に用いた元のソフトウェア命令13のアドレスや複合化によって得た複合ソフトウェア命令14のアドレスのほか、次に実行すべきソフトウェア命令13のアドレスを登録するようにしている。
そして、ソフトウェア命令13の実行の際には、命令カウンタC01の指定値と変換テーブルT01の登録データとの照合を行った上で、その照合結果に応じた命令処理を選択して実行されるよう、コード解析プログラム110がプロセッサ104を制御するようにしている。
Further, according to the information processing apparatus 1 according to the present embodiment, the conversion table T01 is arranged in a predetermined area of the memory 105, and the code analysis program 110 controls the processor 104 based on the registration data of the conversion table T01. I have to.
Specifically, in the conversion table T01, in addition to the address of the original software instruction 13 used for the composition and the address of the composite software instruction 14 obtained by the composition, the address of the software instruction 13 to be executed next is included. Is registered.
When executing the software instruction 13, the specified value of the instruction counter C01 is compared with the registered data of the conversion table T01, and the instruction processing corresponding to the comparison result is selected and executed. The code analysis program 110 controls the processor 104.

このため、重複した命令処理や過剰な分岐処理を発生させず、速度低下の要因を排除することで間接的にエミュレーション速度の向上に貢献している。
特に、複数のパイプラインを備えた汎用プロセッサの場合、パイプライン数を最大限に活かすように複合ソフトウェア命令14を構成し、また、変換テーブルT01上に登録することで、パイプラインの並列度を向上させることができる等、エミュレーション速度をさらに向上させることが可能である。
For this reason, duplicate instruction processing and excessive branch processing are not generated, and the cause of the speed reduction is eliminated, thereby indirectly contributing to improvement of the emulation speed.
In particular, in the case of a general-purpose processor having a plurality of pipelines, the composite software instruction 14 is configured so as to make the most of the number of pipelines, and is registered on the conversion table T01, so that the parallelism of the pipelines can be increased. It is possible to further improve the emulation speed, such as being able to improve.

さらに、本実施形態に係るコード解析プログラム110や変換テーブルT01はソフトウェア資源であるため、既存のハードウェアをそのまま利用することができ、コスト性に優れた情報処理装置1を容易に実現することも可能となっている。   Furthermore, since the code analysis program 110 and the conversion table T01 according to the present embodiment are software resources, the existing hardware can be used as it is, and the information processing apparatus 1 having excellent cost can be easily realized. It is possible.

[第二実施形態]
次に、本発明の第二実施形態に係る情報処理装置について図7及び図8を参照しながら説明する。
図7は、本発明の第二実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。
本実施形態では、複合化手段によって得られた複合ソフトウェア命令14を専用のコード領域(複合SW命令用コード領域107)に格納するのではなく、もとのSW命令コード領域106に上書きして格納する点で第一実施形態とは異なる。
[Second Embodiment]
Next, an information processing apparatus according to the second embodiment of the present invention will be described with reference to FIGS.
FIG. 7 is a schematic diagram schematically showing a control state of a code analysis program operating on the information processing apparatus according to the second embodiment of the present invention.
In this embodiment, the composite software instruction 14 obtained by the compounding means is not stored in the dedicated code area (composite SW instruction code area 107), but overwritten on the original SW instruction code area 106. This is different from the first embodiment.

すなわち、図7に示すように、コード解析プログラム110は、SW命令用コード領域106からSW命令A、SW命令B、・・・と順次命令を読み込み、複合化が可能か否かを解析・判定する。
そして、複合化可能と判断した場合には、複合化手段によって得た複合ソフトウェア命令14をSW命令コード領域106’に上書きして格納するようにしている。(なお、図7では、領域106と領域106’とを説明の便宜上分けて表現しているが、実際には同じメモリ空間を指している。)
That is, as shown in FIG. 7, the code analysis program 110 sequentially reads the SW instruction A, SW instruction B,... Instruction from the SW instruction code area 106, and analyzes / determines whether or not compounding is possible. To do.
When it is determined that the combination is possible, the composite software instruction 14 obtained by the combination means is overwritten and stored in the SW instruction code area 106 '. (In FIG. 7, the area 106 and the area 106 ′ are shown separately for convenience of explanation, but actually indicate the same memory space.)

その結果、複合SW命令の命令語長(4バイト)は複合化前の命令語長(8バイト)よりも短くなるため、通常の逐次処理を行うと重複した命令処理が行われることとなり、適切ではない。
例えば、本実施形態の場合、複合SW命令A+Bの実行後には、SW命令Bが再度読み出され、誤った処理(SW命令B)を実行してしまうこととなる。
このため、本実施形態においては、次に実行する命令の先頭を正確に識別すべく、次ICテーブルT02を設けるようにしている。
この次ICテーブルT02には、複合化に用いられた元のソフトウェア命令13の番地と次に実行すべきソフトウェア命令13の番地とを対応づけて登録するようにしており、命令実行の際、命令カウンタC01の値と次ICテーブルT02の登録データとを照合した上で、重複処理なく適切な順序で命令実行が行われるようにしている。
As a result, the instruction word length (4 bytes) of the composite SW instruction is shorter than the instruction word length (8 bytes) before the compounding, so that if the normal sequential processing is performed, duplicate instruction processing will be performed. is not.
For example, in the case of the present embodiment, after execution of the composite SW instruction A + B, the SW instruction B is read again and an incorrect process (SW instruction B) is executed.
Therefore, in the present embodiment, the next IC table T02 is provided in order to accurately identify the head of the next instruction to be executed.
In this next IC table T02, the address of the original software instruction 13 used for decoding and the address of the software instruction 13 to be executed next are registered in association with each other. After the value of the counter C01 and the registered data in the next IC table T02 are collated, instruction execution is performed in an appropriate order without duplication processing.

本実施形態の例においては、SW命令AとSW命令Bとを複合SW命令A+Bに複合し、X番地に上書きして格納するようにしている。
また、SW命令DとSW命令Eとを複合SW命令D+Eに複合し、X+12番地に上書きして格納するようにしている。
このため、次ICテーブルT02には、1ワード目に、複合SW命令A+Bの格納番地「X番地」と命令カウンタC01が次に指定すべきSW命令の格納番地「X+8番地」とを登録し、2ワード目に、複合SW命令D+Eの格納番地「X+12番地」と命令カウンタC01が次に指定すべきSW命令の格納番地「X+20番地」を登録する。
In the example of the present embodiment, the SW instruction A and the SW instruction B are combined into a composite SW instruction A + B, and the X address is overwritten and stored.
In addition, the SW instruction D and the SW instruction E are combined into a composite SW instruction D + E, and are overwritten and stored at address X + 12.
Therefore, in the next IC table T02, the storage address “X address” of the composite SW instruction A + B and the storage address “X + 8 address” of the SW instruction to be specified next by the instruction counter C01 are registered in the first word. In the second word, the storage address “X + 12” of the composite SW instruction D + E and the storage address “X + 20” of the SW instruction to be specified next by the instruction counter C01 are registered.

そして、プロセッサ104は、命令カウンタC01の指示番地に格納されているソフトウェア命令13又は複合ソフトウェア命令14を実行することとなるが、次ICテーブルT02を検索し、命令カウンタC01の指定番地と同一の番地が「命令カウンタ」欄に登録されている場合には、対応して登録されてある「次IC」欄の番地データを取り出し、命令実行後にはその取り出した番地データによって命令カウンタC01を更新するようにしている。
これによって一の命令サイクルは終了し、命令カウンタC01における更新後の指定番地にもとづいて新たな命令サイクルが開始されることとなる。
このように、一般的には命令A、命令B、命令C、命令D、命令D、命令Eと、一命令ずつ順番に処理が行われていたのに対し、本実施形態に係る複合化処理及び実行プロセス制御によって、命令A+B、命令C、命令D+Eと、合理的でかつ適正な順序で処理が行われることとなり、結果、エミュレーション速度を向上させることが可能となる。
Then, the processor 104 executes the software instruction 13 or the composite software instruction 14 stored at the instruction address of the instruction counter C01. The processor 104 searches the next IC table T02 and has the same address as the instruction address of the instruction counter C01. If the address is registered in the “instruction counter” field, the corresponding address data in the “next IC” field is extracted, and the instruction counter C01 is updated with the extracted address data after the instruction is executed. I am doing so.
Thus, one instruction cycle is completed, and a new instruction cycle is started based on the updated designated address in the instruction counter C01.
As described above, in general, instructions A, Instruction B, Instruction C, Instruction D, Instruction D, and Instruction E are sequentially processed one by one, whereas the composite processing according to this embodiment is performed. And by the execution process control, processing is performed in a reasonable and proper order with the instruction A + B, the instruction C, and the instruction D + E. As a result, the emulation speed can be improved.

そこで、本実施形態に係る情報処理装置におけるプロセッサの処理手順について図8を参照しながら説明を行う。
図8は、本発明の第二実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。
まず、コード解析プログラム110の指示のもとプロセッサ111は、命令カウンタC01が指定する番地データが次ICテーブルT02に登録されているか否かを検索・判定する(S701)。
その結果、命令カウンタC01の指定番地が次ICテーブルT02に登録されていないと判定された場合(S702:NO)、コード解析プログラム110の指示に基づきプロセッサ104は、命令カウンタC01の指定番地に格納されているソフトウェア命令13をSW命令用コード領域106から取り出す(S703)。
そして、プロセッサ104は、S703で取り出したソフトウェア命令13の実行処理を行い(S704)、その後、命令カウンタC01を次の番地に更新して一命令サイクルを終了する(S705)。
Therefore, the processing procedure of the processor in the information processing apparatus according to the present embodiment will be described with reference to FIG.
FIG. 8 is a flowchart showing the processing procedure of the processor in the information processing apparatus according to the second embodiment of the present invention.
First, under the instruction of the code analysis program 110, the processor 111 searches and determines whether the address data designated by the instruction counter C01 is registered in the next IC table T02 (S701).
As a result, when it is determined that the designated address of the instruction counter C01 is not registered in the next IC table T02 (S702: NO), the processor 104 stores the designated address of the instruction counter C01 based on the instruction of the code analysis program 110. The software instruction 13 is taken out from the SW instruction code area 106 (S703).
Then, the processor 104 performs the execution process of the software instruction 13 fetched in S703 (S704), and then updates the instruction counter C01 to the next address and ends one instruction cycle (S705).

一方、命令カウンタC01が指定する番地が次ICテーブルT02に登録されていると判定された場合(S702:YES)、コード解析プログラム110の指示のもと、プロセッサ104は、次ICテーブルT02の登録データから「次のIC」欄の番地データを取り出す(S706)。
次に、プロセッサ104は、命令カウンタC01の指定番地に格納されている複合ソフトウェア命令14をSW命令用コード領域106’から取り出す(S707)。
そして、プロセッサ104は、S707で取り出した複合ソフトウェア命令14の実行処理を行い(S708)、最後に、ステップS706で取り出した「次IC」欄の番地データを命令カウンタC01の次IC値として設定して一の命令サイクルを終了する(S709)。
On the other hand, when it is determined that the address specified by the instruction counter C01 is registered in the next IC table T02 (S702: YES), the processor 104 registers the next IC table T02 under the instruction of the code analysis program 110. The address data in the “next IC” column is extracted from the data (S706).
Next, the processor 104 extracts the composite software instruction 14 stored at the designated address of the instruction counter C01 from the SW instruction code area 106 ′ (S707).
The processor 104 executes the composite software instruction 14 fetched in S707 (S708), and finally sets the address data in the “next IC” column fetched in step S706 as the next IC value of the instruction counter C01. One instruction cycle is completed (S709).

以上説明したように、本実施形態の情報処理装置1によれば、第一実施形態と異なり、複合ソフトウェア命令14を格納する専用の領域(複合SW命令コード領域SW命令コード領域107)を設けず、複合ソフトウェア命令14をもとのSW命令コード領域106に上書きして格納するようにしている。
このため、メモリ105の記憶領域を抑えることができるだけでなく、第一実施形態のように複合ソフトウェア命令14を索引する必要がないため、オーバーヘッドが抑えられて効率的な命令処理が可能となる。
すなわち、第一実施形態と異なる態様においても当該形態と同様の効果を奏することができ、さらに機能を高める他の効果も奏することが可能となっている。
As described above, according to the information processing apparatus 1 of the present embodiment, unlike the first embodiment, a dedicated area (the composite SW instruction code area SW instruction code area 107) for storing the composite software instruction 14 is not provided. The composite software instruction 14 is overwritten and stored in the original SW instruction code area 106.
For this reason, not only can the storage area of the memory 105 be reduced, but there is no need to index the composite software instruction 14 as in the first embodiment, so overhead can be suppressed and efficient instruction processing can be performed.
That is, even in an aspect different from the first embodiment, it is possible to achieve the same effect as that of the above-described form, and it is also possible to exhibit other effects that enhance the function.

[第三実施形態]
次に、本発明の第三実施形態に係る情報処理装置について図9及び図10を参照しながら説明する。
図9は、本発明の第三実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。
本実施形態では、第二実施形態と同様に複合化手段によって得られた複合ソフトウェア命令14を、SW命令コード領域106に上書きして格納するが、実行制御のためのテーブル記憶領域を備えない点で前述の実施形態とは異なる。
[Third embodiment]
Next, an information processing apparatus according to a third embodiment of the present invention will be described with reference to FIGS.
FIG. 9 is a schematic diagram schematically showing a state of control of the code analysis program operating on the information processing apparatus according to the third embodiment of the present invention.
In the present embodiment, the composite software instruction 14 obtained by the compounding means is overwritten and stored in the SW instruction code area 106 as in the second embodiment, but no table storage area for execution control is provided. This is different from the previous embodiment.

まず、コード解析プログラム110は、SW命令用コード領域106からSW命令A、SW命令B、・・・と順次命令を読み込み、複合化が可能か否かを解析・判定する。
そして、複合化可能と判断した場合には、複合化手段によって得た複合ソフトウェア命令14をSW命令コード領域106’に上書きして格納するようにしている。(なお、図9では、領域106と領域106’を説明の便宜上分けて表現しているが、実際には同じメモリ空間を指している。)
First, the code analysis program 110 sequentially reads the SW instruction A, SW instruction B,... Instruction from the SW instruction code area 106, and analyzes / determines whether or not compounding is possible.
When it is determined that the combination is possible, the composite software instruction 14 obtained by the combination means is overwritten and stored in the SW instruction code area 106 '. (In FIG. 9, the area 106 and the area 106 ′ are shown separately for convenience of explanation, but actually indicate the same memory space.)

その結果、複合SW命令の命令語長(4バイト)は複合化前の命令語長(8バイト)よりも短くなるため、通常の逐次処理を行うと重複した命令処理が行われることとなり、適切ではない。
例えば、本実施形態の場合、複合SW命令A+Bの実行後には、SW命令Bが再度読み出され、誤った処理(SW命令B)を実行してしまうこととなる。
このため、本実施形態においては、次に実行する命令の先頭を正確に識別すべく、ソフトウェア命令13の実行を伴わないところの番地には所定の識別コードを格納するようにしている。
本実施形態の例においては、図9に示すとおり、「NOP(No Operation)」なる識別コードを対応する番地に格納するようにしている。
従って、通常の逐次処理のもとではSW命令Bが重複して実行され不具合を生ずるが、このSW命令Bを「NOP」に置き換えることで複合SW命令A+Bの実行後にはNOP命令が実行され(実際には何も動作されない)、次のSW命令Cが取り出され実行されることとなる。
As a result, the instruction word length (4 bytes) of the composite SW instruction is shorter than the instruction word length (8 bytes) before the compounding, so that if the normal sequential processing is performed, duplicate instruction processing will be performed. is not.
For example, in the case of the present embodiment, after execution of the composite SW instruction A + B, the SW instruction B is read again and an incorrect process (SW instruction B) is executed.
Therefore, in the present embodiment, a predetermined identification code is stored at an address that does not involve execution of the software instruction 13 in order to accurately identify the head of the instruction to be executed next.
In the example of the present embodiment, as shown in FIG. 9, an identification code “NOP (No Operation)” is stored in a corresponding address.
Therefore, under normal sequential processing, the SW instruction B is executed redundantly, resulting in a malfunction. However, by replacing the SW instruction B with “NOP”, the NOP instruction is executed after the composite SW instruction A + B is executed ( In fact, nothing is operated), and the next SW instruction C is fetched and executed.

次に、本実施形態に係る情報処理装置におけるプロセッサの処理手順について図10を参照しながら説明を行う。
図10は、本発明の第三実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。
まず、プロセッサ104は、命令カウンタC01が指定する番地にアクセスしてNOPが格納されているか否かを判別する(S901)。
その結果、指定番地にNOPが格納されていない場合(S902:NO)、プロセッサ104は、命令カウンタC01が指定する番地に格納されているソフトウェア命令13又は複合ソフトウェア命令14を取り出す(S903)。
そして、プロセッサ104は、ステップS903において取り出した命令の実行処理を行い(S904)、その後、命令カウンタC01を次の番地に更新して一命令サイクルを終了する(S905)。
Next, the processing procedure of the processor in the information processing apparatus according to the present embodiment will be described with reference to FIG.
FIG. 10 is a flowchart showing the processing procedure of the processor in the information processing apparatus according to the third embodiment of the present invention.
First, the processor 104 determines whether or not NOP is stored by accessing the address designated by the instruction counter C01 (S901).
As a result, when NOP is not stored at the designated address (S902: NO), the processor 104 takes out the software instruction 13 or the composite software instruction 14 stored at the address designated by the instruction counter C01 (S903).
The processor 104 then executes the instruction fetched in step S903 (S904), and then updates the instruction counter C01 to the next address and ends one instruction cycle (S905).

一方、命令カウンタC01が指定する番地にNOPが格納されている場合(S902:YES)、プロセッサ104は、命令の実行処理を行わずに、命令カウンタC01の指定番地を次の値に更新する(S905)。   On the other hand, when NOP is stored at the address designated by the instruction counter C01 (S902: YES), the processor 104 updates the designated address of the instruction counter C01 to the next value without performing the instruction execution processing ( S905).

以上説明したように、本実施形態の情報処理装置1によれば、第二実施形態と同様に複合SW命令コード領域107を有さないが、さらにプロセッサ104における実行制御に供するテーブル領域を設けないようにしている。
そして、命令実行を省略する番地には所定の識別コード(NOP)を格納し、逐次処理における重複処理を直接的に防止するようにしている。
このため、メモリ105の記憶領域や命令索引に係るオーバーヘッドをさらに抑え、より効率的な命令処理が可能となる。
すなわち、本実施形態に係る情報処理装置1のように、第一又は第二の実施形態と異なる態様においてもこれらと同様の効果を奏することができ、さらに機能を高める他の効果も奏することが可能となっている。
As described above, according to the information processing apparatus 1 of this embodiment, the composite SW instruction code area 107 is not provided as in the second embodiment, but a table area for execution control in the processor 104 is not provided. I am doing so.
A predetermined identification code (NOP) is stored at an address where instruction execution is omitted, so that duplicate processing in sequential processing is directly prevented.
For this reason, the overhead relating to the storage area of the memory 105 and the instruction index is further suppressed, and more efficient instruction processing is possible.
That is, as in the information processing apparatus 1 according to the present embodiment, the same effects as those described above can be achieved even in a mode different from the first or second embodiment, and other effects of further enhancing the function can be achieved. It is possible.

[第四実施形態]
次に、本発明の第四実施形態に係る情報処理装置について図11及び図12を参照しながら説明する。
図11は、本発明の第四実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。
本実施形態では、第二実施形態又は第三実施形態と同様、複合化手段によって得られた複合ソフトウェア命令14をSW命令コード領域106に上書きして格納するようにしている。
ただし、実行制御のためのテーブル記憶領域を備えない点で第一実施形態と第二実施形態と異なり、命令の実行処理を伴わない番地には識別コードではなく、次に実行すべき命令の番地データ(次IC)を格納している点で第三実施形態と異なる。
[Fourth embodiment]
Next, an information processing apparatus according to the fourth embodiment of the present invention will be described with reference to FIGS.
FIG. 11 is a schematic diagram schematically showing a control state of a code analysis program operating on the information processing apparatus according to the fourth embodiment of the present invention.
In this embodiment, as in the second embodiment or the third embodiment, the composite software instruction 14 obtained by the composite means is overwritten and stored in the SW instruction code area 106.
However, unlike the first and second embodiments in that a table storage area for execution control is not provided, an address that does not involve instruction execution processing is not an identification code, but an address of an instruction to be executed next. It differs from the third embodiment in that data (next IC) is stored.

まず、コード解析プログラム110は、SW命令用コード領域106からSW命令A、SW命令B、・・・と順次命令を読み込み、複合化が可能か否かを解析・判定する。
そして、複合化可能と判断した場合には、複合化手段によって得た複合ソフトウェア命令14をSW命令コード領域106’に上書きして格納するようにしている。(なお、図11では、領域106と領域106’を説明の便宜上分けて表現しているが、実際には同じメモリ空間を指している。)
First, the code analysis program 110 sequentially reads the SW instruction A, SW instruction B,... Instruction from the SW instruction code area 106, and analyzes / determines whether or not compounding is possible.
When it is determined that the combination is possible, the composite software instruction 14 obtained by the combination means is overwritten and stored in the SW instruction code area 106 '. (In FIG. 11, the area 106 and the area 106 ′ are shown separately for convenience of explanation, but actually indicate the same memory space.)

その結果、複合ソフトウェア命令14の命令語長(4バイト)は複合化前の命令語長(12バイト)よりも短くなるため、通常の逐次処理を行うと、重複した命令処理が行われることとなり、適切ではない。
例えば、本実施形態の場合、複合SW命令A+B+Cの実行後には、SW命令BやSW命令Cが再度読み出され、誤った処理(SW命令B及びSW命令C)を実行してしまうこととなる。
このため、本実施形態においては、次に実行する命令の先頭を正確に識別すべく、ソフトウェア命令13の実行を伴わないところの番地には次に実行すべき命令の番地データ(次IC)を格納するようにしている。
従って、通常の逐次処理のもとではSW命令BやSW命令Cが重複して実行され不具合を生ずるが、このSW命令Bを次IC値に置き換えることで複合SW命令A+B+Cの実行後には、命令カウンタC01の値が次IC値(X+12番地)に設定され、X+12番地に格納されている複合SW命令D+Eが取り出され実行されることとなる。
As a result, the instruction word length (4 bytes) of the composite software instruction 14 is shorter than the instruction word length (12 bytes) before the combination, and therefore, if normal sequential processing is performed, duplicate instruction processing is performed. ,Not appropriate.
For example, in the case of the present embodiment, after the composite SW instruction A + B + C is executed, the SW instruction B and the SW instruction C are read again, and erroneous processing (SW instruction B and SW instruction C) is executed. .
For this reason, in this embodiment, in order to accurately identify the head of the next instruction to be executed, the address data (next IC) of the instruction to be executed next is assigned to the address where the execution of the software instruction 13 is not accompanied. I am trying to store it.
Therefore, under normal sequential processing, the SW instruction B and SW instruction C are executed redundantly, causing a problem. However, after the SW instruction B is replaced with the next IC value, the instruction is executed after the composite SW instruction A + B + C is executed. The value of the counter C01 is set to the next IC value (address X + 12), and the composite SW instruction D + E stored at the address X + 12 is taken out and executed.

次に、本実施形態に係る情報処理装置におけるプロセッサの処理手順について図12を参照しながら説明を行う。
図12は、本発明の第四実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。
まず、プロセッサ104は、命令カウンタC01が指定する番地にアクセスして番地データ(IC値)が格納されているか否かを判別する(S1101)。
その結果、指定番地にIC値が格納されていないと判定された場合(S1102:NO)、プロセッサ104は、命令カウンタC01が指定する番地に格納されているソフトウェア命令13又は複合ソフトウェア命令14を取り出す(S1103)。
そして、プロセッサ104は、ステップS1103で取り出した命令の実行処理を行い(S1104)、その後、命令カウンタC01を次の番地に更新して一命令サイクルを終了する(S1105)。
Next, the processing procedure of the processor in the information processing apparatus according to the present embodiment will be described with reference to FIG.
FIG. 12 is a flowchart showing the processing procedure of the processor in the information processing apparatus according to the fourth embodiment of the present invention.
First, the processor 104 determines whether or not address data (IC value) is stored by accessing the address specified by the instruction counter C01 (S1101).
As a result, when it is determined that the IC value is not stored at the designated address (S1102: NO), the processor 104 takes out the software instruction 13 or the composite software instruction 14 stored at the address designated by the instruction counter C01. (S1103).
Then, the processor 104 executes the instruction fetched in step S1103 (S1104), and then updates the instruction counter C01 to the next address to complete one instruction cycle (S1105).

一方、命令カウンタC01が指定する番地にIC値が格納されていると判定された場合(S1102:YES)、プロセッサ104は、命令の実行処理を行わずに、命令カウンタC01の指定番地としてそのIC値を設定する(S1106)。   On the other hand, if it is determined that the IC value is stored at the address specified by the instruction counter C01 (S1102: YES), the processor 104 does not execute the instruction execution process, and the IC is set as the specified address of the instruction counter C01. A value is set (S1106).

以上説明したように、本実施形態の情報処理装置1によれば、第二実施形態乃至第四実施形態と同様に複合SW命令コード領域107を有せず、また、第三実施形態と同様にテーブル記憶領域を設けないようにしている。
ただし、命令の重複処理を防ぐため、命令実行を省略する番地には次IC値を格納し、命令カウンタC01を直接制御する点で第三実施形態と異なる。
このため、メモリ105の記憶領域や命令索引に係るオーバーヘッドをさらに抑え、より効率的な命令処理が可能となる。
このように本実施形態に係る情報処理装置によれば、前述の実施形態と異なる態様においてもこれらと同様の効果を奏することができ、さらに機能を高める他の効果も奏することが可能である。
As described above, according to the information processing apparatus 1 of the present embodiment, the composite SW instruction code area 107 is not provided as in the second to fourth embodiments, and as in the third embodiment. A table storage area is not provided.
However, in order to prevent instruction duplication processing, the next IC value is stored at an address where instruction execution is omitted, and the third embodiment is different from the third embodiment in that the instruction counter C01 is directly controlled.
For this reason, the overhead relating to the storage area of the memory 105 and the instruction index is further suppressed, and more efficient instruction processing is possible.
As described above, according to the information processing apparatus according to the present embodiment, the same effects as those described above can be achieved even in a different aspect from the above-described embodiment, and other effects of enhancing the function can be achieved.

[第五実施形態]
次に、本発明の第五実施形態に係る情報処理装置について図13及び図14を参照しながら説明する。
図13は、本発明の第五実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。
本実施形態では、前述の第一実施形態や第二実施形態と同様に所定のテーブル記憶領域を備えるが、複合化手段によって得た複合ソフトウェア命令14をそのテーブル記憶領域に格納する点で異なる。
[Fifth embodiment]
Next, an information processing apparatus according to a fifth embodiment of the present invention will be described with reference to FIGS.
FIG. 13 is a schematic diagram schematically showing a state of control of the code analysis program operating on the information processing apparatus according to the fifth embodiment of the present invention.
In this embodiment, a predetermined table storage area is provided as in the first embodiment and the second embodiment described above, but differs in that the composite software instruction 14 obtained by the compounding means is stored in the table storage area.

まず、コード解析プログラム110は、SW命令用コード領域106からSW命令A、SW命令B、・・・と順次命令を読み込み、複合化が可能か否かを解析・判定する。
そして、複合化可能と判断した場合には、複合化手段によって得た複合ソフトウェア命令14を変換テーブルT03に格納する。
また、変換テーブルT03には、格納する複合ソフトウェア命令14に対応づけてその複合化に用いた元のソフトウェア命令13の番地と次の命令カウンタC01の番地とを登録するようにしており、命令実行の際、命令カウンタC01の値と変換テーブルT03の登録データとを照合した上で、重複処理なく適切な順序で命令実行が行われるようにしている。
First, the code analysis program 110 sequentially reads the SW instruction A, SW instruction B,... Instruction from the SW instruction code area 106, and analyzes / determines whether or not compounding is possible.
If it is determined that it can be combined, the combined software instruction 14 obtained by the combining means is stored in the conversion table T03.
Also, in the conversion table T03, the address of the original software instruction 13 and the address of the next instruction counter C01 used for the combination are registered in association with the composite software instruction 14 to be stored. At this time, the value of the instruction counter C01 and the registered data of the conversion table T03 are collated, and the instructions are executed in an appropriate order without duplication processing.

具体的には、本実施形態においては、SW命令AとSW命令Bとを複合SW命令A+Bに複合し、SW命令DとSW命令Eとを複合SW命令D+Eに複合するようにしている。
このため、変換テーブルT03には、1ワード目に、複合SW命令A+Bを格納するとともに、元のソフトウェア命令13の先頭番地「X番地」と命令カウンタC01が次に指定すべきSW命令の格納番地「X+8番地」とを登録し、2ワード目に、複合SW命令D+Eを格納するとともに、元のソフトウェア命令13の先頭番地「X+12番地」と命令カウンタC01が次に指定すべきSW命令の格納番地「X+20番地」を登録する。
Specifically, in this embodiment, the SW instruction A and the SW instruction B are combined into a composite SW instruction A + B, and the SW instruction D and the SW instruction E are combined into a composite SW instruction D + E.
Therefore, in the conversion table T03, the composite SW instruction A + B is stored in the first word, and the first address “X address” of the original software instruction 13 and the storage address of the SW instruction to be specified next by the instruction counter C01 are stored. "X + 8 address" is registered, the composite SW instruction D + E is stored in the second word, and the first address "X + 12" of the original software instruction 13 and the SW instruction storage address to be designated next by the instruction counter C01 are stored. Register “X + 20”.

そして、プロセッサ104は、命令カウンタC01の指示番地に格納されているソフトウェア命令13又は複合ソフトウェア命令14を実行することとなるが、その際、変換テーブルT03を検索し、命令カウンタC01の指定番地と同一の番地が「命令カウンタ」欄に登録されている場合には、対応して登録されてある「次IC」欄の番地データを取り出すようにしている。
また、係る命令の実行後は、変換テーブルT03から取り出した「次のIC」欄の番地データによって命令カウンタC01を更新することによって一の命令サイクルは終了し、命令カウンタC01における更新後の指定番地にもとづき新たな命令サイクルが開始されることとなる。
Then, the processor 104 executes the software instruction 13 or the composite software instruction 14 stored at the instruction address of the instruction counter C01. At this time, the processor 104 searches the conversion table T03 and specifies the specified address of the instruction counter C01. When the same address is registered in the “command counter” field, the address data in the “next IC” field registered correspondingly is extracted.
After execution of the instruction, one instruction cycle is completed by updating the instruction counter C01 with the address data in the “next IC” column extracted from the conversion table T03, and the designated address after the update in the instruction counter C01 is completed. Based on this, a new instruction cycle is started.

次に、以上のような構成からなる第五実施形態の情報処理装置1におけるプロセッサの処理手順について図14を参照しながら説明する。
図14は、本発明の第五実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。
まず、コード解析プログラム110の指示のもとプロセッサ111は、命令カウンタC01が指定する番地のデータが変換テーブルT03に登録されているか否かを検索・判定する(S1301)。
その結果、命令カウンタC01の指定番地が変換テーブルT03に登録されていないと判断された場合(S1302:NO)、コード解析プログラム110の指示に基づきプロセッサ104は、命令カウンタC01が指定する番地に格納されているソフトウェア命令13を取り出す(S1303)。
そして、プロセッサ104は、S1303で取り出したソフトウェア命令13の実行処理を行い(S1304)、最後に命令カウンタC01を次の番地に更新して一命令サイクルを終了する(S1305)。
Next, the processing procedure of the processor in the information processing apparatus 1 of the fifth embodiment configured as described above will be described with reference to FIG.
FIG. 14 is a flowchart showing the processing procedure of the processor in the information processing apparatus according to the fifth embodiment of the present invention.
First, under the instruction of the code analysis program 110, the processor 111 searches and determines whether or not the data at the address specified by the instruction counter C01 is registered in the conversion table T03 (S1301).
As a result, when it is determined that the designated address of the instruction counter C01 is not registered in the conversion table T03 (S1302: NO), the processor 104 stores the address specified by the instruction counter C01 based on the instruction of the code analysis program 110. The executed software instruction 13 is taken out (S1303).
The processor 104 executes the software instruction 13 extracted in S1303 (S1304), finally updates the instruction counter C01 to the next address, and ends one instruction cycle (S1305).

一方、命令カウンタC01が指定する番地が変換テーブルT03に登録されていると判断された場合(S1302:YES)、コード解析プログラム110の指示のもと、プロセッサ104は、変換テーブルT03の登録データから「複合命令」欄に格納されている複合ソフトウェア命令14と「次のIC」欄の番地データを取り出す(S1306)。
次に、プロセッサ104は、ステップS1306で取り出した複合ソフトウェア命令14の実行処理を行う(S1307)。
そして、命令カウンタC01の指定番地を、ステップS1306で取り出した「次のIC」欄の番地データに設定することによって一の命令サイクルが終了する(S1308)。
On the other hand, when it is determined that the address specified by the instruction counter C01 is registered in the conversion table T03 (S1302: YES), the processor 104, based on the instruction of the code analysis program 110, uses the registered data in the conversion table T03. The composite software instruction 14 stored in the “composite instruction” column and the address data in the “next IC” column are extracted (S1306).
Next, the processor 104 performs an execution process of the composite software instruction 14 extracted in step S1306 (S1307).
Then, one instruction cycle is completed by setting the designated address of the instruction counter C01 to the address data in the “next IC” column extracted in step S1306 (S1308).

以上説明したように、本実施形態の情報処理装置1によれば、変換テーブルT03を有しており、このテーブル領域に複合化されたソフトウェア命令13を格納する点で前述の実施形態とは異なる。
すなわち、この変換テーブルT03は、命令処理の順序制御に資するアドレス情報のみならず、これらの情報に対応づけて複合ソフトウェア命令14を格納するようにしている。
このため、複合ソフトウェア命令14の実行に関し、命令を再度索引する必要が無く、直接実行することができるため、オーバーヘッドを抑えることが可能となっている。
このように本実施形態に係る情報処理装置によれば、上述の他の実施形態と異なる態様によってもこれらと同様の効果を奏することができ、さらに機能を高める他の効果を奏することも可能となっている。
As described above, according to the information processing apparatus 1 of the present embodiment, it has the conversion table T03 and is different from the above-described embodiment in that the composited software instruction 13 is stored in this table area. .
That is, the conversion table T03 stores not only the address information contributing to the order control of the instruction processing but also the composite software instruction 14 in association with these pieces of information.
For this reason, regarding the execution of the composite software instruction 14, it is not necessary to index the instruction again, and the instruction can be directly executed, so that overhead can be suppressed.
As described above, according to the information processing apparatus according to the present embodiment, it is possible to achieve the same effects as those described above even by aspects different from those of the other embodiments described above, and it is also possible to achieve other effects that enhance the function. It has become.

以上、本発明の情報処理装置について、好ましい実施形態を示して説明したが、本発明にかかる情報処理装置は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、本発明の情報処理装置は、エミュレーション処理に限定するものではなく、広く一般的なコンピュータシステムに適用することも可能である。
また、本実施形態のコード領域はメモリ内に配置されるのではなく、外部の記憶媒体内に配置され、必要に応じ電気通信回線等を介して送受信が行われる形態であってもよい。
これにより、さらに様々な形態によっても本発明を実現することができ、拡張性に優れたコンピュータシステムを提供することが可能となる。
The information processing apparatus according to the present invention has been described with reference to the preferred embodiment. However, the information processing apparatus according to the present invention is not limited to the above-described embodiment, and various modifications can be made within the scope of the present invention. It goes without saying that implementation is possible.
For example, the information processing apparatus of the present invention is not limited to emulation processing, and can be applied to a wide general computer system.
In addition, the code area according to the present embodiment may be arranged in an external storage medium instead of being arranged in the memory, and may be transmitted / received via an electric communication line or the like as necessary.
As a result, the present invention can be realized in various forms, and a computer system excellent in expandability can be provided.

本発明は、エミュレータを備えたコンピュータシステムに好適に利用することができる。   The present invention can be suitably used for a computer system including an emulator.

本発明のあらゆる実施形態に対応する情報処理装置の基本構成を示した機能ブロック図である。It is the functional block diagram which showed the basic composition of the information processing apparatus corresponding to all embodiment of this invention. 本発明の第一実施形態に係る情報処理装置の基本構成を示した第一のブロック図である。It is the 1st block diagram showing the basic composition of the information processor concerning a first embodiment of the present invention. 本発明の第一実施形態に係る情報処理装置の基本構成を示した第二のブロック図である。It is the 2nd block diagram which showed the basic composition of the information processing apparatus which concerns on 1st embodiment of this invention. 本発明の第一実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。It is the schematic diagram which represented typically the mode of control of the code analysis program which operate | moves on the information processing apparatus which concerns on 1st embodiment of this invention. 本発明の第一実施形態に係る情報処理装置において行われる複合化処理を説明するためのイメージ図である。It is an image figure for demonstrating the compounding process performed in the information processing apparatus which concerns on 1st embodiment of this invention. 本発明の第一実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。It is the flowchart which showed the process sequence of the processor in the information processing apparatus which concerns on 1st embodiment of this invention. 本発明の第二実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。It is the schematic diagram which represented typically the mode of control of the code analysis program which operate | moves on the information processing apparatus which concerns on 2nd embodiment of this invention. 本発明の第二実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。It is the flowchart which showed the process sequence of the processor in the information processing apparatus which concerns on 2nd embodiment of this invention. 本発明の第三実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。It is the schematic diagram which represented typically the mode of control of the code analysis program which operate | moves on the information processing apparatus which concerns on 3rd embodiment of this invention. 本発明の第三実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。It is the flowchart which showed the process sequence of the processor in the information processing apparatus which concerns on 3rd embodiment of this invention. 本発明の第四実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。It is the schematic diagram which represented typically the mode of control of the code analysis program which operate | moves on the information processing apparatus which concerns on 4th embodiment of this invention. 本発明の第四実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。It is the flowchart which showed the process sequence of the processor in the information processing apparatus which concerns on 4th embodiment of this invention. 本発明の第五実施形態に係る情報処理装置上で稼働するコード解析プログラムの制御の様子を模式的に表した模式図である。It is the schematic diagram which represented typically the mode of control of the code analysis program which operate | moves on the information processing apparatus which concerns on 5th embodiment of this invention. 本発明の第五実施形態に係る情報処理装置におけるプロセッサの処理手順を示したフローチャートである。It is the flowchart which showed the process sequence of the processor in the information processing apparatus which concerns on 5th embodiment of this invention. 通常のコンピュータシステムにおけるソフトウェアエミュレーションの実行プロセスを模式的に表した模式図である。It is the schematic diagram which represented typically the execution process of the software emulation in a normal computer system.

符号の説明Explanation of symbols

1 情報処理装置
10 SW抽出手段
11 複合化手段
12 実行制御手段
13 ソフトウェア命令
14 複合ソフトウェア命令
101 アプリケーションプログラム
102 オペレーティングシステム(OS)
103 エミュレータ
104,111,112 プロセッサ
105 メモリ
106 OS用のSW命令コード領域
107 複合SW命令用のコード領域
108 エミュレータ用のメモリ領域
109 IO装置
110 コード解析プログラム
C01 命令カウンタ
C02 複合命令カウンタ
T01,T03 変換テーブル
T02 次ICテーブル
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 10 SW extraction means 11 Compounding means 12 Execution control means 13 Software instruction 14 Composite software instruction 101 Application program 102 Operating system (OS)
103 emulator 104, 111, 112 processor 105 memory 106 SW instruction code area for OS 107 code area for compound SW instruction 108 memory area for emulator 109 IO device 110 code analysis program C01 instruction counter C02 compound instruction counter T01, T03 conversion Table T02 Next IC table

Claims (7)

記憶領域に格納された一以上のソフトウェア命令の中から、命令カウンタが指定する格納アドレスに格納されているこれから実行すべきソフトウェア命令を取り出して、プロセッサ上でエミュレーションを実行するSW実行手段と、
前記一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するSW抽出手段と、
前記複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成する複合化手段と、
前記複合ソフトウェア命令を第二の記憶領域に格納する複合SW格納手段と、
前記第二の記憶領域に格納された複合ソフトウェア命令の中から、第二の命令カウンタが指定する第二の格納アドレスに格納されているこれから実行すべき複合ソフトウェア命令を取り出して、前記エミュレーションを実行する複合SW実行手段と、
前記ソフトウェア命令及び前記複合ソフトウェア命令の実行プロセスを示すテーブルデータを登録するテーブル登録手段と、
前記テーブルデータに登録された実行プロセスに従って前記ソフトウェア命令又は前記複合ソフトウェア命令についての前記エミュレーションを実行させる実行制御手段と、を備え、
前記テーブル登録手段は、
これから実行すべき複合ソフトウェア命令の前記第二記憶領域における格納アドレス、前記複合ソフトウェア命令を構成する先頭のソフトウェア命令の前記記憶領域における格納アドレス、及び、次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスを対応付けた第一のテーブルデータを前記テーブルデータとして登録し、
前記実行制御手段は、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されていない場合には、当該格納アドレスに格納されているソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されている場合には、当該格納アドレスに対応付けて登録されている複合ソフトウェア命令の前記格納アドレスによって前記第二の命令カウンタが指定する前記格納アドレスを更新し、当該更新後の格納アドレスに格納されている複合ソフトウェア命令を前記第二の記憶領域から取り出して前記エミュレーションを実行させ、当該エミュレーションの実行後に、前記格納アドレスに対応付けて登録されている次に実行すべきソフトウェア命令の前記格納アドレスによって前記命令カウンタが指定する前記格納アドレスを更新する
ことを特徴とする情報処理装置。
SW execution means for taking out a software instruction to be executed from now stored in the storage address designated by the instruction counter from one or more software instructions stored in the storage area and executing emulation on the processor;
SW extraction means for extracting a plurality of software instructions that can be collectively executed from the one or more software instructions;
Compounding means for compounding the plurality of software instructions to form a predetermined compound software instruction;
Composite SW storage means for storing the composite software instruction in a second storage area;
From the composite software instructions stored in the second storage area, extract the composite software instruction to be executed which is stored at the second storage address designated by the second instruction counter and execute the emulation. A composite SW execution means for
Table registration means for registering table data indicating an execution process of the software instruction and the composite software instruction;
Execution control means for executing the emulation of the software instruction or the composite software instruction according to an execution process registered in the table data,
The table registration means includes
The storage address of the composite software instruction to be executed in the second storage area, the storage address of the first software instruction constituting the composite software instruction in the storage area, and the storage area of the software instruction to be executed next First table data associated with storage addresses is registered as the table data,
The execution control means includes
If the same storage address as the storage address designated by the instruction counter is not registered in the first table data, the software instruction stored at the storage address is extracted from the storage area and the emulation is performed. Let it run
When the same storage address as the storage address designated by the instruction counter is registered in the first table data, the storage address of the composite software instruction registered in association with the storage address Update the storage address specified by the second instruction counter, extract the composite software instruction stored in the updated storage address from the second storage area, execute the emulation, and execute the emulation. The information processing apparatus updates the storage address designated by the instruction counter with the storage address of a software instruction to be executed next registered in association with the storage address.
前記複合SW格納手段は、
前記複合化手段によって構成された複合ソフトウェア命令を、当該複合ソフトウェア命令を構成する先頭のソフトウェア命令に代えて前記記憶領域に格納し、
前記テーブル登録手段は、
前記複合ソフトウェア命令の前記記憶領域における格納アドレス及び次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスを対応付け第二のテーブルデータを専ら前記テーブルデータとして登録し、
前記実行制御手段は、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第二のテーブルデータに登録されていない場合には、専ら、当該格納アドレスに格納されているソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第二のテーブルデータに登録されている場合には、専ら、当該格納アドレスに格納されている複合ソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、当該エミュレーションの実行後、前記第二のテーブルデータにおける前記格納アドレスに対応づけて登録されている次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスによって前記命令カウンタが指定する前記格納アドレスを更新する
ことを特徴とする請求項1記載の情報処理装置。
The composite SW storage means
The composite software instruction constituted by the compounding means is stored in the storage area instead of the first software instruction constituting the composite software instruction,
The table registration means includes
The registered second table data associated storage address in the composite software the storage area of the software instructions to be executed stored addresses and the next in the storage area of instructions exclusively as the table data,
The execution control means includes
When the same storage address as the storage address designated by the instruction counter is not registered in the second table data, the software instruction stored at the storage address is exclusively extracted from the storage area and When emulation is executed and the same storage address as the storage address specified by the instruction counter is registered in the second table data, the composite software instruction stored in the storage address is exclusively Take out from the storage area and execute the emulation, and after executing the emulation, by the storage address in the storage area of the software instruction to be executed next registered in association with the storage address in the second table data Before the instruction counter specifies The information processing apparatus according to claim 1, wherein updating the storage address.
前記複合SW格納手段は、
前記複合化手段によって構成された複合ソフトウェア命令を、当該複合ソフトウェア命令を構成する先頭のソフトウェア命令に代えて前記記憶領域に格納するとともに、重複した処理を防ぐための所定の識別コードを、その複合ソフトウェア命令を構成する先頭以外の他のソフトウェア命令に代えて前記記憶領域に格納し、
前記実行制御手段は、
前記命令カウンタが指定する前記格納アドレスにソフトウェア命令又は複合ソフトウェア命令が格納されている場合には、専ら、これらを取り出して前記エミュレーションを実行させ、前記命令カウンタが指定する前記格納アドレスに前記識別コードが格納されている場合には、専ら、前記命令カウンタが指定する前記格納アドレスをその次に実行すべきソフトウェア命令の前記格納アドレスに更新する
ことを特徴とする請求項1又は2記載の情報処理装置。
The composite SW storage means
The composite software instruction constituted by the compounding means is stored in the storage area in place of the first software instruction constituting the composite software instruction, and a predetermined identification code for preventing duplicate processing is Store in the storage area in place of the software instruction other than the head constituting the software instruction,
The execution control means includes
When software instructions or composite software instructions are stored at the storage address designated by the instruction counter , they are exclusively extracted to execute the emulation, and the identification code is assigned to the storage address designated by the instruction counter. 3. The information processing according to claim 1, wherein the storage address designated by the instruction counter is exclusively updated to the storage address of a software instruction to be executed next. apparatus.
前記複合SW格納手段は、
前記複合化手段によって構成された複合ソフトウェア命令を、当該複合ソフトウェア命令を構成する先頭のソフトウェア命令に代えて前記記憶領域に格納するとともに、前記複合ソフトウェア命令を格納する格納アドレスの次に指定される前記格納アドレスには、前記複合ソフトウェア命令についての前記エミュレーションの実行の次に実行すべきソフトウェア命令の前記格納アドレスを前記記憶領域に格納し、
前記実行制御手段は、
前記命令カウンタが指定する前記格納アドレスにソフトウェア命令又は複合ソフトウェア命令が格納されている場合には、専ら、これらを取り出して前記エミュレーションを実行させ、前記命令カウンタが指定する前記格納アドレスにソフトウェア命令または複合ソフトウェア命令が格納されていない場合は、専ら、その格納アドレスに格納された前記次に実行すべきソフトウェア命令の格納アドレスによって前記命令カウンタが指定する前記格納アドレスを更新する
ことを特徴とする請求項1〜3のいずれか一項記載の情報処理装置。
The composite SW storage means
The composite software instruction constituted by the compounding means is stored in the storage area in place of the first software instruction constituting the composite software instruction, and is specified next to the storage address for storing the composite software instruction. In the storage address, the storage address of the software instruction to be executed after execution of the emulation for the composite software instruction is stored in the storage area,
The execution control means includes
Wherein when the instruction counter software instructions or composite software instructions to the storage address is specified is stored exclusively, removed these to execute the emulation, the instruction counter software instructions or the storage address specified by When the composite software instruction is not stored, the storage address designated by the instruction counter is updated exclusively by the storage address of the software instruction to be executed next stored in the storage address. Item 4. The information processing device according to any one of Items 1 to 3.
前記テーブル登録手段は、
前記複合化手段によって構成された複合ソフトウェア命令、当該複合ソフトウェア命令を構成する先頭のソフトウェア命令の前記記憶領域における格納アドレス、及び、次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスを対応付け第三のテーブルデータを専ら前記テーブルデータとして登録し、
前記実行制御手段は、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第三のテーブルデータに登録されていない場合には、専ら、当該格納アドレスに格納されているソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第三のテーブルデータに登録されている場合には、専ら、前記格納アドレスに対応づけて前記第三のテーブルデータにおいて登録されている複合ソフトウェア命令を取り出して前記エミュレーションを実行させ、当該エミュレーションの実行後、前記命令カウンタが指定する前記格納アドレスを、前記第三のテーブルデータにおける前記格納アドレスに対応づけて登録されている次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスに更新する
ことを特徴とする請求項1〜4のいずれか一項記載の情報処理装置。
The table registration means includes
Corresponding the composite software instruction constituted by the compounding means, the storage address of the first software instruction constituting the composite software instruction in the storage area, and the storage address of the software instruction to be executed next in the storage area a third table data registered exclusively as the table data,
The execution control means includes
If the same storage address as the storage address designated by the instruction counter is not registered in the third table data, the software instruction stored at the storage address is exclusively extracted from the storage area and When the storage address identical to the storage address designated by the instruction counter is registered in the third table data, the third table data is exclusively associated with the storage address. The composite software instruction registered in step S3 is taken out and the emulation is executed. After the emulation is executed, the storage address specified by the instruction counter is registered in association with the storage address in the third table data. Next software life to be executed The information processing apparatus of any one of claims 1 to 4, characterized in that updating the storage address in the storage area.
ソフトウェア命令のエミュレーションを実行するためのエミュレーション方法であって、
記憶領域に格納された一以上のソフトウェア命令の中から、命令カウンタが指定する格納アドレスに格納されているこれから実行すべきソフトウェア命令を取り出して、プロセッサ上でエミュレーションを実行するSW実行ステップと、
前記一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するSW抽出ステップと、
前記複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成する複合化ステップと、
前記複合ソフトウェア命令を第二の記憶領域に格納する複合SW格納ステップと、
前記第二の記憶領域に格納された複合ソフトウェア命令の中から、第二の命令カウンタが指定する第二の格納アドレスに格納されているこれから実行すべき複合ソフトウェア命令を取り出して、前記エミュレーションを実行する複合SW実行ステップと、
前記ソフトウェア命令及び前記複合ソフトウェア命令の実行プロセスを示すテーブルデータを登録するテーブル登録ステップと、
前記テーブルデータに登録された実行プロセスに従って前記ソフトウェア命令又は前記複合ソフトウェア命令についての前記エミュレーションを実行させる実行制御ステップと、を有し、
前記テーブル登録ステップは、
これから実行すべき複合ソフトウェア命令の前記第二記憶領域における格納アドレス、前記複合ソフトウェア命令を構成する先頭のソフトウェア命令の前記記憶領域における格納アドレス、及び、次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスを対応付けた第一のテーブルデータを前記テーブルデータとして登録し、
前記実行制御ステップは、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されていない場合には、当該格納アドレスに格納されているソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されている場合には、当該格納アドレスに対応付けて登録されている複合ソフトウェア命令の前記格納アドレスによって前記第二の命令カウンタが指定する前記格納アドレスを更新し、当該更新後の格納アドレスに格納されている複合ソフトウェア命令を前記第二の記憶領域から取り出して前記エミュレーションを実行させ、当該エミュレーションの実行後に、前記格納アドレスに対応付けて登録されている次に実行すべきソフトウェア命令の前記格納アドレスによって前記命令カウンタが指定する前記格納アドレスを更新する
ことを特徴とするエミュレーション方法。
An emulation method for executing emulation of software instructions,
A SW execution step for fetching a software instruction to be executed from now stored in a storage address designated by an instruction counter from one or more software instructions stored in the storage area and executing emulation on the processor;
A SW extraction step of extracting a plurality of software instructions that can be collectively executed from the one or more software instructions;
A compounding step of compounding the plurality of software instructions to form a predetermined compound software instruction;
A composite SW storing step of storing the composite software instruction in a second storage area;
From the composite software instructions stored in the second storage area, extract the composite software instruction to be executed which is stored at the second storage address designated by the second instruction counter and execute the emulation. A composite SW execution step,
A table registration step of registering table data indicating an execution process of the software instruction and the composite software instruction;
An execution control step for executing the emulation of the software instruction or the composite software instruction in accordance with an execution process registered in the table data,
The table registration step includes:
The storage address of the composite software instruction to be executed in the second storage area, the storage address of the first software instruction constituting the composite software instruction in the storage area, and the storage area of the software instruction to be executed next First table data associated with storage addresses is registered as the table data,
The execution control step includes:
If the same storage address as the storage address designated by the instruction counter is not registered in the first table data, the software instruction stored at the storage address is extracted from the storage area and the emulation is performed. Let it run
When the same storage address as the storage address designated by the instruction counter is registered in the first table data, the storage address of the composite software instruction registered in association with the storage address Update the storage address specified by the second instruction counter, extract the composite software instruction stored in the updated storage address from the second storage area, execute the emulation, and execute the emulation. An emulation method comprising: updating the storage address designated by the instruction counter with the storage address of a software instruction to be executed next registered in association with the storage address.
コンピュータを、
記憶領域に格納された一以上のソフトウェア命令の中から、命令カウンタが指定する格納アドレスに格納されているこれから実行すべきソフトウェア命令を取り出して、プロセッサ上でエミュレーションを実行するSW実行手段、
前記一以上のソフトウェア命令の中から一括して実行しうる複数のソフトウェア命令を抽出するSW抽出手段、
前記複数のソフトウェア命令を複合化して所定の複合ソフトウェア命令を構成する複合化手段、
前記複合ソフトウェア命令を第二の記憶領域に格納する複合SW格納手段、
前記第二の記憶領域に格納された複合ソフトウェア命令の中から、第二の命令カウンタが指定する第二の格納アドレスに格納されているこれから実行すべき複合ソフトウェア命令を取り出して、前記エミュレーションを実行する複合SW実行手段、
前記ソフトウェア命令及び前記複合ソフトウェア命令の実行プロセスを示すテーブルデータを登録するテーブル登録手段、及び
前記テーブルデータに登録された実行プロセスに従って前記ソフトウェア命令又は前記複合ソフトウェア命令についての前記エミュレーションを実行させる実行制御手段、として機能させ、
前記テーブル登録手段に、
これから実行すべき複合ソフトウェア命令の前記第二記憶領域における格納アドレス、前記複合ソフトウェア命令を構成する先頭のソフトウェア命令の前記記憶領域における格納アドレス、及び、次に実行すべきソフトウェア命令の前記記憶領域における格納アドレスを対応付けた第一のテーブルデータを前記テーブルデータとして登録させ、
前記実行制御手段に、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されていない場合には、当該格納アドレスに格納されているソフトウェア命令を前記記憶領域から取り出して前記エミュレーションを実行させ、
前記命令カウンタが指定する前記格納アドレスと同一の格納アドレスが前記第一のテーブルデータに登録されている場合には、当該格納アドレスに対応付けて登録されている複合ソフトウェア命令の前記格納アドレスによって前記第二の命令カウンタが指定する前記格納アドレスを更新し、当該更新後の格納アドレスに格納されている複合ソフトウェア命令を前記第二の記憶領域から取り出して前記エミュレーションを実行させ、当該エミュレーションの実行後に、前記格納アドレスに対応付けて登録されている次に実行すべきソフトウェア命令の前記格納アドレスによって前記命令カウンタが指定する前記格納アドレスを更新させる
ことを特徴とするエミュレーションプログラム。
Computer
SW execution means for taking out a software instruction to be executed from now stored in a storage address designated by an instruction counter from one or more software instructions stored in the storage area and executing emulation on the processor;
SW extraction means for extracting a plurality of software instructions that can be collectively executed from the one or more software instructions;
Compounding means for compounding the plurality of software instructions to form a predetermined compound software instruction;
Composite SW storage means for storing the composite software instruction in a second storage area;
From the composite software instructions stored in the second storage area, extract the composite software instruction to be executed which is stored at the second storage address designated by the second instruction counter and execute the emulation. Composite SW execution means
Table registration means for registering table data indicating an execution process of the software instruction and the composite software instruction, and execution control for executing the emulation of the software instruction or the composite software instruction in accordance with the execution process registered in the table data Function as a means,
In the table registration means,
The storage address of the composite software instruction to be executed in the second storage area, the storage address of the first software instruction constituting the composite software instruction in the storage area, and the storage area of the software instruction to be executed next First table data associated with storage addresses is registered as the table data,
In the execution control means,
If the same storage address as the storage address designated by the instruction counter is not registered in the first table data, the software instruction stored at the storage address is extracted from the storage area and the emulation is performed. Let it run
When the same storage address as the storage address designated by the instruction counter is registered in the first table data, the storage address of the composite software instruction registered in association with the storage address Update the storage address specified by the second instruction counter, extract the composite software instruction stored in the updated storage address from the second storage area, execute the emulation, and execute the emulation. An emulation program that updates the storage address designated by the instruction counter with the storage address of a software instruction to be executed next registered in association with the storage address.
JP2008034700A 2008-02-15 2008-02-15 Information processing apparatus, emulation method and emulation program in information processing apparatus Expired - Fee Related JP5045934B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008034700A JP5045934B2 (en) 2008-02-15 2008-02-15 Information processing apparatus, emulation method and emulation program in information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008034700A JP5045934B2 (en) 2008-02-15 2008-02-15 Information processing apparatus, emulation method and emulation program in information processing apparatus

Publications (2)

Publication Number Publication Date
JP2009193446A JP2009193446A (en) 2009-08-27
JP5045934B2 true JP5045934B2 (en) 2012-10-10

Family

ID=41075384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008034700A Expired - Fee Related JP5045934B2 (en) 2008-02-15 2008-02-15 Information processing apparatus, emulation method and emulation program in information processing apparatus

Country Status (1)

Country Link
JP (1) JP5045934B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2788839B2 (en) * 1993-05-15 1998-08-20 日本電気株式会社 CPU simulator
JPH0883174A (en) * 1994-09-13 1996-03-26 Nec Commun Syst Ltd Patch production processing system
JPH10232772A (en) * 1997-02-20 1998-09-02 Nec Corp Program changing device
JPH11288371A (en) * 1998-04-01 1999-10-19 Matsushita Electric Ind Co Ltd In-circuit emulator
JP2000231494A (en) * 1999-02-12 2000-08-22 Mitsubishi Electric Corp Software execution system and software execution method
JP4563669B2 (en) * 2003-11-25 2010-10-13 三菱電機株式会社 Instruction simulator
JP4778359B2 (en) * 2006-05-17 2011-09-21 エヌイーシーコンピュータテクノ株式会社 Emulation method and computer system

Also Published As

Publication number Publication date
JP2009193446A (en) 2009-08-27

Similar Documents

Publication Publication Date Title
KR102743540B1 (en) Device and method for transferring multiple data structures between memory and multiple vector registers
JP5607474B2 (en) Improving the performance of nested virtualization in computer systems
JP5488697B2 (en) Multi-core processor system, synchronization control method, and synchronization control program
CN102792265B (en) Instruction cracking based on machine state
EP2951682B1 (en) Hardware and software solutions to divergent branches in a parallel pipeline
US20110225397A1 (en) Mapping between registers used by multiple instruction sets
WO2012136975A1 (en) A data processing apparatus and method for performing vector operations
CN113646744B (en) Widen memory accesses to aligned addresses for unaligned memory operations
CN113721985B (en) RISC-V vector register grouping setting method, device and electronic equipment
WO2012127590A1 (en) Endian conversion method and system
KR20150035161A (en) Graphic processor and method of oprating the same
JP5045934B2 (en) Information processing apparatus, emulation method and emulation program in information processing apparatus
JPS62226231A (en) Processor
CN110914801B (en) Vector interleaving in a data processing device
WO2000070446A2 (en) Method and apparatus for loose register encoding within a pipelined processor
KR20240167917A (en) Techniques for handling ordering constraint access operations
CN108633308B (en) System and method for converting guest instructions to at least one host instruction
US20170115973A1 (en) Operating method of semiconductor device and semiconductor system
JP5811211B2 (en) Multi-core processor system, multi-core processor system control method, and multi-core processor system control program
JP6116983B2 (en) Entry point extraction device
JP2012159936A (en) Target code prior conversion method and emulation method
CN116932044A (en) Instruction translation method and related equipment thereof
US20140365751A1 (en) Operand generation in at least one processing pipeline
US12518339B2 (en) Central processing unit translation of identifiers for captured graphics workloads
JPS63293638A (en) data processing equipment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120522

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: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120703

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees