JPS61221829A - 命令読み出し回路 - Google Patents

命令読み出し回路

Info

Publication number
JPS61221829A
JPS61221829A JP6180985A JP6180985A JPS61221829A JP S61221829 A JPS61221829 A JP S61221829A JP 6180985 A JP6180985 A JP 6180985A JP 6180985 A JP6180985 A JP 6180985A JP S61221829 A JPS61221829 A JP S61221829A
Authority
JP
Japan
Prior art keywords
register
address
memory
read
bytecode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6180985A
Other languages
English (en)
Inventor
Shin Nakajima
中島 震
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP6180985A priority Critical patent/JPS61221829A/ja
Publication of JPS61221829A publication Critical patent/JPS61221829A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、汎用マイクロプロセッサを用いた情報処理装
置において、高級言語で記述されたプログラムを効率よ
く実行するための命令読み出し回路に関する。
〔従来技術とその問題点〕
プログラミングが容易な高級言語を効率よく実行する安
価な処理系の作り方として、エミュレーシヨンと呼ぶ方
式がある。この方式ではコンパイラを作ることが容易な
仮想的な情報処理装置を設定する。この場合のコンパイ
ラは、高級言語で記述されたプログラムを、仮想的な情
報処理装置が定義する機械語(以下、中間言語と呼ぶ)
に変換し、エミユレータと呼ぶ処理系プログラムが、中
間言語を解釈実行することにより、所定の結果を得るも
のである。上記の方式は、直接プロセッサの機械語を生
成するコンパイラを作るよりも手軽であること、エミュ
レータのプログラムだけをつくればコンパイラを共用で
きるので、言語の移植性が高いこと等の理由で、高性能
パーソナルコンピュータの高級言語処理方式として広ま
っている。
とくに、1バイトのデータに符号化した中間言語をバイ
トコードと呼び、この場合のエミュレータをバイトコー
ドエミュレータと呼ぶ。PASCAL、SMALLTA
LKなどいくつかの高級言語ですでに、バイトコードエ
ミュレータ方式を採用している。
斯かるバイトコードエミュレータの基本動作は、第2図
に示すように、(1)割り込み要因の有無の判定を行う
、(2)割り込み要因があれば、エミュレータの割り込
み処理ルーチンを起動する、(3)割り込み要因がなけ
れば、バイトコードアドレスレジスタが示すメモリアド
レスにあるバイトコードの読み出しを行う、(4)読み
出したバイトコードの解読を行うとともにバイトコード
アドレスを保持するレジスタの値を更新する、(5)エ
ミュレータ本体の動作であるバイトコードの実行を行う
、の各動作の繰り返しである。ここで上記(1)から(
4)の動作は単純な一連動作であるがバイトコード実行
のたびに必ず行うので、高速に実行する必要がある。
従来ではつぎの2つの方式のいずれかでバイトコードエ
ミュレータを実現していた。ひとつの方式は、バイトコ
ードそのものを機械語として持つ専用プロセッサを作り
、(1)から(4)の動作をこの専用プロセッサ内の専
用回路で高速に実行する方式である。また、この場合(
5)の動作はマイクロプログラム方式で実現し、高性能
を得ていた。この方式だと、専用プロセッサを作る必要
があるため、開発に時間がかかりすぎ高価であるという
点、またマイクロプログラム方式を用いるのでプログラ
ム容量の制限が強く、エミュレータプログラムの改良な
どが困難であるという欠点がある。もうひとつの方式は
、汎用マイクロプロセッサを用いて、汎用マイクロプロ
セッサの機械語プログラムとしてエミュレータを実現す
る方式である。開発期間や価格の点、エミュレータプロ
グラムの改良のしやすさという点では前者のやり方に比
べて優れているが、前記(1)から(4)の単純な動作
もプログラムで処理するため、高性能を得ることが難し
いという欠点がある。
〔発明の目的〕
本発明の目的は、汎用マイクロプロセッサを用いこの汎
用マイクロプロセッサの機械語プログラムとしてバイト
コードエミュレータを実現する情報処理装置において、
高速に動作し高性能を有するバイトコードエミュレータ
を実現できるよう、バイトコード読み出しと割り込みの
有無の判定とを主記憶制御装置内で行う如くした命令読
み出し回路を提供することにある。
〔発明の構成〕
本発明に係る命令読み出し回路は、汎用マイクロプロセ
ッサを用いた情報処理装置において、その主記憶制御装
置内に、メモリアドレス(バイトコードアドレス)情報
を主記憶制御装置内のレジスタ指定情報に変換する回路
と、メモリアドレス情報を保持する第一のレジスタと、
割り込み要因を保持する第二のレジスタと、第一のレジ
スタの内容が示すメモリに対する読み出し要求時に第二
のレジスタの値に応じて第一のレジスタの更新制御とマ
イクロプロセッサに対する割り込み発生制御とを行う回
路を有し、第一のレジスタの内容が示すメモリに対する
読み出し要求により、該当するメモリの内容(バイトコ
ード)を読み出すことを特徴としている。
〔実施例〕
以下に、図面を用いて本発明の詳細な説明する。
第1図は本発明に係る情報処理装置の主記憶制御装置の
一実施例を示すブロック図である。この図において、1
0は汎用のマイクロプロセッサ、20は主記憶制御装置
、30は主記憶本体であるメモリを示す。マイクロプロ
セッサ10と主記憶制御装置20とは、アドレスバス、
データバス、読み出し書き込みの別を示す制御信号R/
Wで結合している。
主記憶制御装置20内で、200.210.220.2
30゜240はレジスタであり、とくにレジスタ200
はバイトコードアドレスを保持し、レジスタ210は割
り込み要因を保持し、レジスタ220はメモリアドレス
を保持し、レジスタ230 はメモリ30から読出され
たデータを保持し、レジスタ240はメモリ30に書き
込むデータを保持することを目的とする。
250はアドレスデコーダで、アドレスバスの値とR/
W信号の値とから、レジスタ200に対する要求である
か、レジスタ200の内容が示すメモリに対する読み出
し要求であるか、レジスタ210に対する要求であるか
、これら以外の通常のメモリアクセスであるかを判定す
る。260はレジスタ200の更新制御回路、270は
レジスタ200の値を増加させる加算回路、280はマ
イクロプロセッサに対する割り込み発生回路、290と
300は選択回路をそれぞれ示している。選択回路29
0は、通常のメモリアクセスの場合には゛レジスタ22
0の出力を選択し、レジスタ200の内容が示すメモリ
を読み出す場合にはレジスタ200の出力を選択するこ
とにより該当するメモリの内容を指定する。選択回路3
00は、通常の読み出しメモリアクセスの場合にはレジ
スタ230の出力そのままのデータを選択し、レジスタ
200の内容が示すメモリを読み出す場合にはレジスタ
200の最下位ビットの値に応じて該当する1バイトの
データ(バイトコード)を選択する。
つぎに上記構成を有する主記憶制御装置の動作を説明す
る。本実施例においては、プログラムについて下表の如
き対応関係が定められているものとする。この対応関係
を決めるのはアドレスデコーダ250である。
最初に割り込み要因がない場合を説明する。プログラム
から、アドレスFOOO2に書き込むことにより、レジ
スタ200を初期化し、最初のバイトコードアドレスを
さすようにする。プログラムからアドレスF 0004
を読み出すと、選択回路290はレジスタ200の出力
を選択し、レジスタ200の内容がメモリに格納されて
いるデータ(バイトコード)を読み出す。読み出された
データはレジスタ230に一時保持され、選択回路30
0はレジスタ200の最下位ビットの値により該当する
1バイトを選択しデータバスに出力し、これはプロセッ
サに送られる。この後、レジスタ200 は加算回路2
70 により1だけ増加した値が設定される。次にプロ
グラムにより、このバイトコードを解読し、実行するた
めの処理プログラムに制御を移す。バイトコードを逐次
実行する時は続けてアドレスFOOO4を読み出す。バ
イトコードの実行系列を変える時(分岐バイトコードの
実行)にはアドレスF 0002に分岐先のバイトコー
ドアドレスを書き込むことによ・り行う。
つぎに、割り込み要因が発生した場合の動作を説明する
。プログラムによりバイトコード実行系列に対する割り
込み要因があることを検出すると、プログラムにより1
語中の割り込み要因に対応するビットを1にしたデータ
をアドレスF 0000に書き込み、レジスタ210に
値を設定する。この後、バイトコードを読み出すために
アドレスFOOO4に読み出し要求を出すと、レジスタ
210の値が0ではないため、レジスタ200の内容が
示すメモリにあるバイトコードは読み出されないで、割
り込み発生回路280がマイクロプロセッサに対して割
り込み信号を送出して、バイトコードエミュレータの割
り込み処理プログラムに制御を移す。また、更新制御回
路260はレジスタ200の値を不変に保つ。なお、バ
イトコードの中には、実行するのにもう1バイト分のデ
ータが必要なものがあることがあり、この2バイト目を
読み出すためには、アドレスFOOO6に読み出し要求
を出す。この時は、バイトコードの切れ目ではないので
、割り込み要因があっても、割り込みは発生しない。通
常のメモリ読み出しおよび書き込み要求時には選択回路
290はレジスタ220の出力を選択して、メモリアク
セスを行う。メモリ読み出し時、読み出されたデータは
レジスタ230に保持された後、選択回路300により
レジスタ230の出力そのものをデータバスに出力する
。メモリ書き込み時には、データバスからレジスタ24
0に書き込みデータを設定してから、書き込む。
〔発明の効果〕
以上の説明で明らかなように本発明によれば、汎用マイ
クロプロセッサを用いた情報処理装置において、バイト
コードの読み出しと割り込みの有無の判定とを主記憶制
御装置内で行うようにしたため、高速で動作する高性能
なバイトコードエミュレータを実現することができる。
【図面の簡単な説明】
第1図は本発明に係る情報処理装置の主記憶制御装置の
一実施例を示すブロック図、 第2図はバイトコードエミュレータの基本動作を示すフ
ローチャートである。 10  ・・・・・・汎用のマイクロプロセッサ20 
 ・・・・・・主記憶制御回路 30  ・・・・・・主記憶本体であるメモリ200、
210.220.230.240・・・・・・レジスタ
250  ・・・・・・アドレスデコーダ260  ・
・・・・・更新制御回路 270  ・・・・・・加算回路 280  ・・・・・・割り込み発生回路290、30
0・・・・・・選択回路 代理人 弁理士 岩 佐 義 幸 第1図

Claims (1)

    【特許請求の範囲】
  1. (1)汎用マイクロプロセッサを用いた情報処理装置に
    おいて、主記憶制御装置内に、メモリアドレス情報を主
    記憶制御装置内のレジスタ指定情報に変換する回路と、
    メモリアドレス情報を保持する第一のレジスタと、割り
    込み要因を保持する第二のレジスタと、第一のレジスタ
    の内容が示すメモリに対する読み出し要求時に第二のレ
    ジスタの値に応じて第一のレジスタの更新制御と前記マ
    イクロプロセッサに対する割り込み発生制御とを行なう
    回路を有し、第一のレジスタの内容が示すメモリに対す
    る読み出し要求により、該当するメモリの内容を読み出
    すことを特徴とする命令読み出し回路。
JP6180985A 1985-03-28 1985-03-28 命令読み出し回路 Pending JPS61221829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6180985A JPS61221829A (ja) 1985-03-28 1985-03-28 命令読み出し回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6180985A JPS61221829A (ja) 1985-03-28 1985-03-28 命令読み出し回路

Publications (1)

Publication Number Publication Date
JPS61221829A true JPS61221829A (ja) 1986-10-02

Family

ID=13181785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6180985A Pending JPS61221829A (ja) 1985-03-28 1985-03-28 命令読み出し回路

Country Status (1)

Country Link
JP (1) JPS61221829A (ja)

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JPS60176143A (ja) プログラム呼び出し装置
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS6212529B2 (ja)
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JPH0668724B2 (ja) シミユレーシヨン方法
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPS61221829A (ja) 命令読み出し回路
JP2553200B2 (ja) 情報処理装置
JPH056281A (ja) 情報処理装置
JP2915680B2 (ja) Riscプロセッサ
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JP2000029690A (ja) デ―タ処理の方法および装置
JPH04268928A (ja) エミュレーション装置及び半導体装置
JPS6240538A (ja) デ−タ処理装置
JPS6027029A (ja) デ−タ処理装置
KR900015005A (ko) 링 축소 로직 매카니즘
JP2895892B2 (ja) データ処理装置
SU734686A1 (ru) Устройство дл формировани команд
JPS61267135A (ja) デ−タ処理装置
JP2618703B2 (ja) プログラマブルシーケンスコントローラの高速演算処理方式
JPS6149695B2 (ja)
JPS58215779A (ja) デ−タ処理装置
JPH02110636A (ja) タグ・アーキテクチャマシンのデバッグ装置とそのコンパイラ
JPH0259829A (ja) マイクロコンピュータ