JPH11203133A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH11203133A JPH11203133A JP201098A JP201098A JPH11203133A JP H11203133 A JPH11203133 A JP H11203133A JP 201098 A JP201098 A JP 201098A JP 201098 A JP201098 A JP 201098A JP H11203133 A JPH11203133 A JP H11203133A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- bus
- data
- words
- read
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 少ないハードウェアで、複数語のデータの組
に対して繰り返し演算を行なうことができる情報処理装
置を提供する。 【解決手段】 情報処理装置は、命令フェッチ部1に接
続される第1の記憶部から命令をフェッチし、命令実行
部2に接続される第2の記憶部4に対してデータを読み
書きする構成をとり、複数語の即値を持つ命令を実行す
る際に、複数の即値は、通常の命令フェッチ機構を用い
て第1の記憶部3からフェッチし、他方のデータは、命
令によって指定されるアドレスに対して第2の記憶部4
からデータを読み出し、命令によって指定される演算を
それぞれのデータの組に対して実行することにより、複
数のデータに対する繰り返し演算を効率良く実行でき
る。
に対して繰り返し演算を行なうことができる情報処理装
置を提供する。 【解決手段】 情報処理装置は、命令フェッチ部1に接
続される第1の記憶部から命令をフェッチし、命令実行
部2に接続される第2の記憶部4に対してデータを読み
書きする構成をとり、複数語の即値を持つ命令を実行す
る際に、複数の即値は、通常の命令フェッチ機構を用い
て第1の記憶部3からフェッチし、他方のデータは、命
令によって指定されるアドレスに対して第2の記憶部4
からデータを読み出し、命令によって指定される演算を
それぞれのデータの組に対して実行することにより、複
数のデータに対する繰り返し演算を効率良く実行でき
る。
Description
【0001】
【発明の属する技術分野】本発明は、複数のメモリ上の
複数のデータを並列にアクセスし、それらのデータをオ
ペランドとして演算をすることによって、演算を高速に
行なう情報処理装置に関する。
複数のデータを並列にアクセスし、それらのデータをオ
ペランドとして演算をすることによって、演算を高速に
行なう情報処理装置に関する。
【0002】
【従来の技術】複数のメモリ上のデータをそれぞれのメ
モリに接続された複数のバス(内部データバスと内部プ
ログラムバス)を用いてアクセスし、アクセスされたデ
ータをオペランドとして、主に積和演算等を行う情報処
理装置が、特開平7−49854号公報に開示されてい
る。
モリに接続された複数のバス(内部データバスと内部プ
ログラムバス)を用いてアクセスし、アクセスされたデ
ータをオペランドとして、主に積和演算等を行う情報処
理装置が、特開平7−49854号公報に開示されてい
る。
【0003】この情報処理装置においては、プログラム
バスに接続される第2のメモリは、命令メモリまたはデ
ータメモリとして動作し、MOVE命令の実行により、
外部メモリから、第2のメモリへ命令語のブロックをロ
ードすることや、内部データバスと内部プログラムバス
の両方を用いてオペランドを乗算器へ移送し、その間に
積和演算を行なうMACD命令を持つので高速に積和演
算を実行することができる。さらに、単一命令の繰り返
し命令とMACD命令を組合せて使用することにより、
積和演算とオペランドの読み出しを重ねて実行すること
ができるので、高速にフィルタ処理などを行うことがで
きるという特徴を持つ。
バスに接続される第2のメモリは、命令メモリまたはデ
ータメモリとして動作し、MOVE命令の実行により、
外部メモリから、第2のメモリへ命令語のブロックをロ
ードすることや、内部データバスと内部プログラムバス
の両方を用いてオペランドを乗算器へ移送し、その間に
積和演算を行なうMACD命令を持つので高速に積和演
算を実行することができる。さらに、単一命令の繰り返
し命令とMACD命令を組合せて使用することにより、
積和演算とオペランドの読み出しを重ねて実行すること
ができるので、高速にフィルタ処理などを行うことがで
きるという特徴を持つ。
【0004】
【発明が解決しようとする課題】しかし、上述の情報処
理装置においては、プログラムバスへのデータアクセス
時には、プログラムカウンタに保持される命令フェッチ
に用いるプログラムアドレスをスタックに退避し、プロ
グラムバスへのデータアクセスに用いるデータアドレス
をプログラムカウンタにロードして、データアクセスを
行なう。データアクセス終了後に、スタックから、命令
フェッチに用いるプログラムアドレスを復帰するという
動作が必要である。したがって、情報処理装置内にプロ
グラムカウンタのスタックを持つ必要があり、ハードウ
ェア規模を増大させるばかりか、制御を複雑にするとい
う問題がある。
理装置においては、プログラムバスへのデータアクセス
時には、プログラムカウンタに保持される命令フェッチ
に用いるプログラムアドレスをスタックに退避し、プロ
グラムバスへのデータアクセスに用いるデータアドレス
をプログラムカウンタにロードして、データアクセスを
行なう。データアクセス終了後に、スタックから、命令
フェッチに用いるプログラムアドレスを復帰するという
動作が必要である。したがって、情報処理装置内にプロ
グラムカウンタのスタックを持つ必要があり、ハードウ
ェア規模を増大させるばかりか、制御を複雑にするとい
う問題がある。
【0005】したがって、本発明は、上記課題に鑑みて
なされ、その目的は、少ないハードウェアで、複数語の
データの組に対して繰り返し演算を行なうことができる
情報処理装置を提供することにある。
なされ、その目的は、少ないハードウェアで、複数語の
データの組に対して繰り返し演算を行なうことができる
情報処理装置を提供することにある。
【0006】
【課題を解決するための手段】この課題を解決するため
請求項1記載の本発明の情報処理装置は、命令フェッチ
部によって第1のバスを使用して、第1の記憶部から命
令を読み出し、命令実行部は、実行する命令によって、
データを第2のバスを使用して、第2の記憶部から読み
出し、命令実行部内の演算器を使用して演算するように
構成された情報処理装置であって、命令の種類を示すオ
ペコード以外に、少くとも複数語の即値を持ち、その複
数語の即値を第1のバスを使用して読み出し、オペコー
ドによって指定された複数語のデータを第2のバスを使
用して読み出し、複数語の即値と第2のバスを使用して
読み出した複数語のデータとの間で演算を行う命令を実
行するように構成したものである。これにより、2つの
複数語のデータを繰り返し演算の入力データとすること
ができる。
請求項1記載の本発明の情報処理装置は、命令フェッチ
部によって第1のバスを使用して、第1の記憶部から命
令を読み出し、命令実行部は、実行する命令によって、
データを第2のバスを使用して、第2の記憶部から読み
出し、命令実行部内の演算器を使用して演算するように
構成された情報処理装置であって、命令の種類を示すオ
ペコード以外に、少くとも複数語の即値を持ち、その複
数語の即値を第1のバスを使用して読み出し、オペコー
ドによって指定された複数語のデータを第2のバスを使
用して読み出し、複数語の即値と第2のバスを使用して
読み出した複数語のデータとの間で演算を行う命令を実
行するように構成したものである。これにより、2つの
複数語のデータを繰り返し演算の入力データとすること
ができる。
【0007】請求項2記載の本発明の情報処理装置は、
請求項1記載の命令フェッチ部は、後続の命令を先行的
に第1のバスから読み出す命令プリフェッチ手段と、命
令プリフェッチ手段によって先行的に読み出された命令
を保持する命令バッファを備え、命令の種類を示すオペ
コード以外に、少くとも複数語の即値を持ち、その複数
語の即値とオペコードによって指定されたデータとの間
で演算を行う命令の実行において、複数語の即値は、先
行的に命令プリフェッチ手段によって読み出され、命令
バッファに保持され、命令バッファから命令実行部に供
給され演算を行うように構成したものである。これによ
り、効率良く複数語の即値を命令実行部に供給すること
ができる。
請求項1記載の命令フェッチ部は、後続の命令を先行的
に第1のバスから読み出す命令プリフェッチ手段と、命
令プリフェッチ手段によって先行的に読み出された命令
を保持する命令バッファを備え、命令の種類を示すオペ
コード以外に、少くとも複数語の即値を持ち、その複数
語の即値とオペコードによって指定されたデータとの間
で演算を行う命令の実行において、複数語の即値は、先
行的に命令プリフェッチ手段によって読み出され、命令
バッファに保持され、命令バッファから命令実行部に供
給され演算を行うように構成したものである。これによ
り、効率良く複数語の即値を命令実行部に供給すること
ができる。
【0008】請求項3記載の本発明の情報処理装置は、
請求項2記載の情報処理装置であって、命令を読み出す
第1のバスのバス幅は、データをアクセスする第2のバ
スのバス幅より大きく、かつ、第1のバスのアクセス時
間は、第2のバスのアクセス時間より長いように構成し
たものである。これにより、アクセス時間の長い記憶部
から、効率良く複数語の即値を命令実行部に供給するこ
とができる。
請求項2記載の情報処理装置であって、命令を読み出す
第1のバスのバス幅は、データをアクセスする第2のバ
スのバス幅より大きく、かつ、第1のバスのアクセス時
間は、第2のバスのアクセス時間より長いように構成し
たものである。これにより、アクセス時間の長い記憶部
から、効率良く複数語の即値を命令実行部に供給するこ
とができる。
【0009】
【発明の実施の形態】以下、本発明の第1の実施の形態
について、図1、図2、図3を用いて、説明する。図1
は、本発明の第1の実施の形態における情報処理装置を
構成する主要部分のブロック図を示している。図1にお
いて、1は命令フェッチ部、2は命令実行部、3、4は
それぞれ記憶部、5、6はそれぞれバスである。
について、図1、図2、図3を用いて、説明する。図1
は、本発明の第1の実施の形態における情報処理装置を
構成する主要部分のブロック図を示している。図1にお
いて、1は命令フェッチ部、2は命令実行部、3、4は
それぞれ記憶部、5、6はそれぞれバスである。
【0010】命令フェッチ部1は、バス5と接続し、バ
ス5には、記憶部3が接続されている。命令フェッチ部
1は、命令実行部2からの要求に対してバス5に命令ア
ドレスを出力して命令フェッチを開始する。記憶部3は
バス5の命令アドレスに対応する位置にある命令をバス
5に出力する。命令フェッチ部1は、バス5に出力され
た命令を受け取り、命令実行部2に命令を供給する。
ス5には、記憶部3が接続されている。命令フェッチ部
1は、命令実行部2からの要求に対してバス5に命令ア
ドレスを出力して命令フェッチを開始する。記憶部3は
バス5の命令アドレスに対応する位置にある命令をバス
5に出力する。命令フェッチ部1は、バス5に出力され
た命令を受け取り、命令実行部2に命令を供給する。
【0011】命令実行部2は、命令フェッチ部1から供
給された命令を解釈し、命令によって示される演算等を
行なう。演算は、例えば、命令実行部2内のレジスタか
らデータを読み出し、命令実行部2内の加算器によって
加算を行ない、加算結果をレジスタに書き込むものであ
る。また、命令実行部2は、命令実行部2外の記憶部4
とのデータのやりとりをする命令を実行する。この命令
により、命令実行部2は、例えば、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、バス6を介して接続
される記憶部4は、バス6に出力されたデータアドレス
が示す位置のデータをバス6に出力し、命令実行部2
は、バス6に出力されたデータを命令実行部2内のレジ
スタに書き込むように動作するか、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、更に、レジスタを読
み出し、読み出したデータを書き込みデータとしてバス
6に出力して、記憶部4は、バス6に出力されたデータ
アドレスが示す位置に、バス6に出力された書き込みデ
ータを書き込むように動作する。
給された命令を解釈し、命令によって示される演算等を
行なう。演算は、例えば、命令実行部2内のレジスタか
らデータを読み出し、命令実行部2内の加算器によって
加算を行ない、加算結果をレジスタに書き込むものであ
る。また、命令実行部2は、命令実行部2外の記憶部4
とのデータのやりとりをする命令を実行する。この命令
により、命令実行部2は、例えば、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、バス6を介して接続
される記憶部4は、バス6に出力されたデータアドレス
が示す位置のデータをバス6に出力し、命令実行部2
は、バス6に出力されたデータを命令実行部2内のレジ
スタに書き込むように動作するか、レジスタを読み出
し、読み出したデータをデータアドレスとしてバス6に
出力してデータアクセスを開始し、更に、レジスタを読
み出し、読み出したデータを書き込みデータとしてバス
6に出力して、記憶部4は、バス6に出力されたデータ
アドレスが示す位置に、バス6に出力された書き込みデ
ータを書き込むように動作する。
【0012】図2は、本発明の第1の実施の形態におい
て、複数語の即値を持ち、その複数語の即値をバス5を
使用して読み出し、オペコードによって指定された複数
語のデータをバス6を使用して読み出し、複数語の即値
とバス6を使用して読み出した複数語のデータとの間で
演算を行う命令の構成を示すものである。図2におい
て、200は命令、201はオペコード、202はオペ
ランド、210〜213は即値をそれぞれ示す。
て、複数語の即値を持ち、その複数語の即値をバス5を
使用して読み出し、オペコードによって指定された複数
語のデータをバス6を使用して読み出し、複数語の即値
とバス6を使用して読み出した複数語のデータとの間で
演算を行う命令の構成を示すものである。図2におい
て、200は命令、201はオペコード、202はオペ
ランド、210〜213は即値をそれぞれ示す。
【0013】オペコード201は、この命令200が持
つ複数語の即値210〜213の数、つまり繰り返し演
算回数、データの語長、演算の種類、オペランド202
の種類などの情報を示す。オペランド202は、複数語
の即値210〜213に対して演算に用いられるデータ
を示す。例えば、バス6を介してアクセスされる記憶部
4に格納されている複数語のデータの先頭アドレスを保
持するレジスタ番号か、命令実行部2内の複数のレジス
タ番号などである。ここでは、説明のために、記憶部4
に格納されている複数語のデータの先頭アドレスを保持
するレジスタ番号をオペランド202として指定するも
のとし、即値の数は4とする。
つ複数語の即値210〜213の数、つまり繰り返し演
算回数、データの語長、演算の種類、オペランド202
の種類などの情報を示す。オペランド202は、複数語
の即値210〜213に対して演算に用いられるデータ
を示す。例えば、バス6を介してアクセスされる記憶部
4に格納されている複数語のデータの先頭アドレスを保
持するレジスタ番号か、命令実行部2内の複数のレジス
タ番号などである。ここでは、説明のために、記憶部4
に格納されている複数語のデータの先頭アドレスを保持
するレジスタ番号をオペランド202として指定するも
のとし、即値の数は4とする。
【0014】図3は、本発明の第1の実施の形態におい
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。
【0015】図3において、図1と同一物には同一符号
を付してあり、300はクロックサイクル番号を示すサ
イクル、301は命令実行部2が実行中の命令のアドレ
スを示すPC、302、303、304は演算器入力、
305は演算器出力である。説明のために、演算器は積
和演算器とし、演算器入力304は、積和レジスタの出
力とする。
を付してあり、300はクロックサイクル番号を示すサ
イクル、301は命令実行部2が実行中の命令のアドレ
スを示すPC、302、303、304は演算器入力、
305は演算器出力である。説明のために、演算器は積
和演算器とし、演算器入力304は、積和レジスタの出
力とする。
【0016】以下、図1〜図3を用いて、本発明の第1
の実施の形態における情報処理装置が4語の即値210
〜213を持ち、その4語の即値210〜213をバス
5を使用して読み出し、オペランド202によって指定
された4語のデータをバス6を使用して読み出し、4語
の即値210〜213と、バス6を使用して読み出した
4語のデータとの間で演算を行う命令200を実行する
動作を説明する。
の実施の形態における情報処理装置が4語の即値210
〜213を持ち、その4語の即値210〜213をバス
5を使用して読み出し、オペランド202によって指定
された4語のデータをバス6を使用して読み出し、4語
の即値210〜213と、バス6を使用して読み出した
4語のデータとの間で演算を行う命令200を実行する
動作を説明する。
【0017】図3において、サイクル1では、バス5に
命令Aのアクセスが行われ、記憶部3から命令Aの先頭
語が読み出されている。ここで命令Aは、4個の即値を
持ち、オペランド202で指定されたアドレスから4個
のデータを読み出し、それぞれの4個のデータと即値2
10〜213の対に対して乗算を行ない、積和レジスタ
の値に累算を行なう命令である。
命令Aのアクセスが行われ、記憶部3から命令Aの先頭
語が読み出されている。ここで命令Aは、4個の即値を
持ち、オペランド202で指定されたアドレスから4個
のデータを読み出し、それぞれの4個のデータと即値2
10〜213の対に対して乗算を行ない、積和レジスタ
の値に累算を行なう命令である。
【0018】サイクル2においては、命令Aの先頭語
は、命令フェッチ部1によって、命令実行部2に供給さ
れるとともに、命令Aの2番目の語のフェッチを行う。
ここでは、説明のために、命令Aの先頭語には、図2に
示した命令200のオペコード201とオペランド20
2が含まれている。ここで、命令実行部2は、命令Aの
オペコードをデコードし、命令Aが、オペランド202
で示されるアドレスPを先頭とする4語のデータと、命
令Aの4個の即値210〜213に対して、積和演算を
実行する命令であることを認識し、命令フェッチ部1に
命令Aの第1の即値210を要求し、かつ、バス6にア
ドレスがPであるデータ語の読み出しを要求する。命令
フェッチ部1は、バス5にアドレスA+1の第1の即値
210の読み出しを要求する。
は、命令フェッチ部1によって、命令実行部2に供給さ
れるとともに、命令Aの2番目の語のフェッチを行う。
ここでは、説明のために、命令Aの先頭語には、図2に
示した命令200のオペコード201とオペランド20
2が含まれている。ここで、命令実行部2は、命令Aの
オペコードをデコードし、命令Aが、オペランド202
で示されるアドレスPを先頭とする4語のデータと、命
令Aの4個の即値210〜213に対して、積和演算を
実行する命令であることを認識し、命令フェッチ部1に
命令Aの第1の即値210を要求し、かつ、バス6にア
ドレスがPであるデータ語の読み出しを要求する。命令
フェッチ部1は、バス5にアドレスA+1の第1の即値
210の読み出しを要求する。
【0019】サイクル3においては、命令実行部2は、
サイクル2において、バス5に読み出された命令Aの第
1の即値210を演算器入力302に入力し、バス6に
読み出されたアドレスPのデータ語を演算器入力303
に入力し、積和レジスタの値Qを演算器入力304に入
力し、積和演算を実行する。積和演算結果は、演算器出
力305に次のサイクルで出力される。積和演算結果R
は、サイクル4の積和レジスタの値Q+1に出力され
る。
サイクル2において、バス5に読み出された命令Aの第
1の即値210を演算器入力302に入力し、バス6に
読み出されたアドレスPのデータ語を演算器入力303
に入力し、積和レジスタの値Qを演算器入力304に入
力し、積和演算を実行する。積和演算結果は、演算器出
力305に次のサイクルで出力される。積和演算結果R
は、サイクル4の積和レジスタの値Q+1に出力され
る。
【0020】サイクル4、5においては、バス5、バス
6のそれぞれに対する読み出し要求のアドレスがインク
リメントされることを除いて、サイクル3と同様の動作
を行なう。
6のそれぞれに対する読み出し要求のアドレスがインク
リメントされることを除いて、サイクル3と同様の動作
を行なう。
【0021】サイクル6においては、命令実行部2は、
命令Aの終了を検出して、命令フェッチ部1に命令Aの
次の命令Bのアクセス要求を行い。サイクル5におい
て、バス5に読み出された命令Aの第4の即値213を
演算器入力302に入力し、バス6に読み出されたアド
レスP+3のデータ語を演算器入力303に入力し、積
和レジスタの値を演算器入力304に入力し、積和演算
を実行する。
命令Aの終了を検出して、命令フェッチ部1に命令Aの
次の命令Bのアクセス要求を行い。サイクル5におい
て、バス5に読み出された命令Aの第4の即値213を
演算器入力302に入力し、バス6に読み出されたアド
レスP+3のデータ語を演算器入力303に入力し、積
和レジスタの値を演算器入力304に入力し、積和演算
を実行する。
【0022】命令Aの演算結果は、サイクル7の演算器
出力305にR+3として出力され、積和レジスタにそ
の値が書き込まれて命令Aの実行が完了する。
出力305にR+3として出力され、積和レジスタにそ
の値が書き込まれて命令Aの実行が完了する。
【0023】以上、説明したように、本発明の第1の実
施の形態の情報処理装置は、4語の即値210〜213
を持ち、その4語の即値210〜213をバス5を使用
して読み出し、オペランド202によって指定された4
語のデータをバス6を使用して読み出し、4語の即値2
10〜213とバス6を使用して読み出した4語のデー
タと積和レジスタを用いて積和演算を行う命令200を
高速に実行することができる。
施の形態の情報処理装置は、4語の即値210〜213
を持ち、その4語の即値210〜213をバス5を使用
して読み出し、オペランド202によって指定された4
語のデータをバス6を使用して読み出し、4語の即値2
10〜213とバス6を使用して読み出した4語のデー
タと積和レジスタを用いて積和演算を行う命令200を
高速に実行することができる。
【0024】なお、当然ではあるが、上述の命令200
の実行において、4語の即値210〜213の読み出し
は、4語の即値210〜213が命令200の一部を構
成するので、命令フェッチ部1内の後続の命令フェッチ
アドレスをカウントアップする命令フェッチカウンタ
を、そのまま使用して行なうことが可能であるので、命
令フェッチカウンタを退避するスタックを必要としな
い。
の実行において、4語の即値210〜213の読み出し
は、4語の即値210〜213が命令200の一部を構
成するので、命令フェッチ部1内の後続の命令フェッチ
アドレスをカウントアップする命令フェッチカウンタ
を、そのまま使用して行なうことが可能であるので、命
令フェッチカウンタを退避するスタックを必要としな
い。
【0025】以下、本発明の第2の実施の形態の情報処
理装置について、図2、図4、図5を用いて説明する。
理装置について、図2、図4、図5を用いて説明する。
【0026】図4は、本発明の第2の実施の形態の情報
処理装置を構成する主要部分のブロック図を示してい
る。図4において、図1と同一物には同一符号を付して
ある。図4において、10は命令プリフェッチ手段、1
1は命令バッファ、12は命令バッファ出力である。
処理装置を構成する主要部分のブロック図を示してい
る。図4において、図1と同一物には同一符号を付して
ある。図4において、10は命令プリフェッチ手段、1
1は命令バッファ、12は命令バッファ出力である。
【0027】図5は、本発明の第2の実施の形態におい
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。図5において、図3および図4と同一物には同
一符号を付してある。図5において、命令バッファ11
A、及び命令バッファ11Bは、命令バッファ11の内
部の2語のそれぞれの命令バッファの内容を示す。
て、図2に示した4語の即値210〜213を持ち、そ
の4語の即値210〜213をバス5を使用して読み出
し、オペランド202によって指定された4語のデータ
をバス6を使用して読み出し、4語の即値210〜21
3とバス6を使用して読み出した4語のデータとの間で
演算を行う命令200の実行を示すタイミングチャート
である。図5において、図3および図4と同一物には同
一符号を付してある。図5において、命令バッファ11
A、及び命令バッファ11Bは、命令バッファ11の内
部の2語のそれぞれの命令バッファの内容を示す。
【0028】以下、本発明の第2の実施の形態の情報処
理装置が、図2に示した4語の即値210〜213を持
ち、その4語の即値210〜213をバス5を使用して
読み出し、オペランド202によって指定された4語の
データをバス6を使用して読み出し、4語の即値210
〜213とバス6を使用して読み出した4語のデータと
の間で演算を行う命令200の形式の命令Aを実行する
動作について説明する。
理装置が、図2に示した4語の即値210〜213を持
ち、その4語の即値210〜213をバス5を使用して
読み出し、オペランド202によって指定された4語の
データをバス6を使用して読み出し、4語の即値210
〜213とバス6を使用して読み出した4語のデータと
の間で演算を行う命令200の形式の命令Aを実行する
動作について説明する。
【0029】第2の実施の形態の情報処理装置におい
て、バス5に接続される記憶部3は、2バスサイクルで
1つのアクセスを行うものである。ただし、1アクセス
で2語を読み出すことができるように構成されている。
つまり、バス5のバス幅は、バス6のバス幅より大き
く、バス5のアクセス時間は、バス6のバスアクセス時
間より長いように構成されている。
て、バス5に接続される記憶部3は、2バスサイクルで
1つのアクセスを行うものである。ただし、1アクセス
で2語を読み出すことができるように構成されている。
つまり、バス5のバス幅は、バス6のバス幅より大き
く、バス5のアクセス時間は、バス6のバスアクセス時
間より長いように構成されている。
【0030】これは、特に機器制御用汎用プロセッサな
どで、内蔵ROMを命令メモリと使用する場合には、デ
ータRAMに比べてアクセス速度を向上させることが難
しい場合に良く用いられる構成であるが、これが本発明
を限定するものではない。また、バス5を用いて読み出
された2語は、命令バッファ11に保持され、必要に応
じて命令バッファ出力12から命令実行部2へ選択的に
出力される。
どで、内蔵ROMを命令メモリと使用する場合には、デ
ータRAMに比べてアクセス速度を向上させることが難
しい場合に良く用いられる構成であるが、これが本発明
を限定するものではない。また、バス5を用いて読み出
された2語は、命令バッファ11に保持され、必要に応
じて命令バッファ出力12から命令実行部2へ選択的に
出力される。
【0031】図5において、サイクル1及び2において
は、バス5を用いて命令Sとその後続命令のS+1が読
み出される。
は、バス5を用いて命令Sとその後続命令のS+1が読
み出される。
【0032】サイクル3においては、命令Sと後続の命
令S+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Sが命令実行部2に出力され、命令S
の解読及び実行が開始される。また、命令S+1の後続
命令である命令Aの先頭の2語の読み出しが開始され
る。
令S+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Sが命令実行部2に出力され、命令S
の解読及び実行が開始される。また、命令S+1の後続
命令である命令Aの先頭の2語の読み出しが開始され
る。
【0033】サイクル4においては、命令S+1が命令
実行部2に出力され、命令S+1の解読及び実行が開始
される。また、サイクル3で開始されたバス5の読み出
しアクセスが完了する。
実行部2に出力され、命令S+1の解読及び実行が開始
される。また、サイクル3で開始されたバス5の読み出
しアクセスが完了する。
【0034】サイクル5においては、命令Aと後続の即
値A+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Aが命令実行部2に出力され、命令A
の実行が開始される。命令実行部は、命令Aのオペラン
ドで示されるアドレスPに対する読み出しをバス6に要
求する。また、命令フェッチ部1は、命令Aの後続部分
であるA+2以降の語の読み出しを開始する。
値A+1が命令バッファ11A及び命令バッファ11B
に格納され、命令Aが命令実行部2に出力され、命令A
の実行が開始される。命令実行部は、命令Aのオペラン
ドで示されるアドレスPに対する読み出しをバス6に要
求する。また、命令フェッチ部1は、命令Aの後続部分
であるA+2以降の語の読み出しを開始する。
【0035】サイクル6においては、命令実行部2は、
命令バッファ出力12の第1の即値を演算器入力302
に入力し、バス6に読み出されたアドレスPのデータ語
を演算器入力303に入力し、積和レジスタの値Qを演
算器入力304に入力し、積和演算を実行する。積和演
算結果は、演算器出力305に次のサイクルで出力され
る。積和演算結果Rは、サイクル7の積和レジスタの値
Q+1に出力される。
命令バッファ出力12の第1の即値を演算器入力302
に入力し、バス6に読み出されたアドレスPのデータ語
を演算器入力303に入力し、積和レジスタの値Qを演
算器入力304に入力し、積和演算を実行する。積和演
算結果は、演算器出力305に次のサイクルで出力され
る。積和演算結果Rは、サイクル7の積和レジスタの値
Q+1に出力される。
【0036】以下、同様に命令Aの実行を行なうことが
できる。ここで、命令Aが4語の即値を持つ命令である
ので、サイクル3からバス5に対して行なわれた命令フ
ェッチによって、命令バッファ11にフェッチされた第
1の即値をサイクル6で演算に使用することができる。
できる。ここで、命令Aが4語の即値を持つ命令である
ので、サイクル3からバス5に対して行なわれた命令フ
ェッチによって、命令バッファ11にフェッチされた第
1の即値をサイクル6で演算に使用することができる。
【0037】しかし、もし、即値でなく、第2のオペラ
ンドによって指定される複数語をバス5からフェッチす
る構成の命令であると、少くとも命令Aのオペコードの
デコード後、つまり、サイクル5から、その第2のオペ
ランドによって指定されるアドレスに対するアクセスを
開始することになるので、オペランドが揃って演算可能
になるのがサイクル7になってしまい、無駄なサイクル
が必要となってしまう。また、先行的にフェッチした命
令A+1を破棄する場合は、余分な命令フェッチアクセ
スを必要とするので消費電力を増加させることにもな
る。
ンドによって指定される複数語をバス5からフェッチす
る構成の命令であると、少くとも命令Aのオペコードの
デコード後、つまり、サイクル5から、その第2のオペ
ランドによって指定されるアドレスに対するアクセスを
開始することになるので、オペランドが揃って演算可能
になるのがサイクル7になってしまい、無駄なサイクル
が必要となってしまう。また、先行的にフェッチした命
令A+1を破棄する場合は、余分な命令フェッチアクセ
スを必要とするので消費電力を増加させることにもな
る。
【0038】したがって、命令Aが4語の即値を持つ命
令であることが、高速化及び低消費電力の効果をもたら
す。
令であることが、高速化及び低消費電力の効果をもたら
す。
【0039】以上、説明したように、本発明の第2の実
施の形態の情報処理装置は、2サイクルアクセスの記憶
部から命令2語を読み出すように構成されていても、4
語の即値210〜213を持ち、その4語の即値210
〜213をバス5を使用して読み出し、オペコードによ
って指定された4語のデータをバス6を使用して読み出
し、4語の即値210〜213とバス6を使用して読み
出した4語のデータと積和レジスタを用いて積和演算演
算を行う命令を、高速に実行することができる。
施の形態の情報処理装置は、2サイクルアクセスの記憶
部から命令2語を読み出すように構成されていても、4
語の即値210〜213を持ち、その4語の即値210
〜213をバス5を使用して読み出し、オペコードによ
って指定された4語のデータをバス6を使用して読み出
し、4語の即値210〜213とバス6を使用して読み
出した4語のデータと積和レジスタを用いて積和演算演
算を行う命令を、高速に実行することができる。
【0040】なお、本発明の実施の形態では、記憶部
3、4は、RAMまたはROMであるように説明されて
いるが、キャッシュメモリを用いた構成でも良く、本発
明は、これを限定するものではない。
3、4は、RAMまたはROMであるように説明されて
いるが、キャッシュメモリを用いた構成でも良く、本発
明は、これを限定するものではない。
【0041】
【発明の効果】以上説明したように本発明によれば、複
数の即値語を持つ命令を用いて、複数のデータに対する
繰り返し演算を高速に行なうことが可能になる。
数の即値語を持つ命令を用いて、複数のデータに対する
繰り返し演算を高速に行なうことが可能になる。
【0042】また、命令を先行的に読み出す構成の場合
にも、本来の命令フェッチ部を即値語の読み出しに利用
可能であるので、少いハードウェア量及び低消費電力で
実現することが可能である。
にも、本来の命令フェッチ部を即値語の読み出しに利用
可能であるので、少いハードウェア量及び低消費電力で
実現することが可能である。
【図1】本発明の第1の実施の形態における情報処理装
置を構成する主要部分のブロック図
置を構成する主要部分のブロック図
【図2】本発明の第1及び第2の実施の形態における複
数語の即値を持つ命令の構成図
数語の即値を持つ命令の構成図
【図3】同実施の形態における情報処理装置の動作を示
すタイミングチャート
すタイミングチャート
【図4】本発明の第2の実施の形態における情報処理装
置を構成する主要部分のブロック図
置を構成する主要部分のブロック図
【図5】同実施の形態における情報処理装置の動作を示
すタイミングチャート
すタイミングチャート
1 命令フェッチ部 2 命令実行部 3,4 記憶部 5,6 バス 10 命令プリフェッチ手段 11 命令バッファ 12 命令バッファ出力 300 サイクル 301 プログラムカウンタ(PC) 302,303,304 演算器入力 305 演算器出力
Claims (3)
- 【請求項1】 命令フェッチ部と、 前記命令フェッチ部に接続される第1のバスと、 前記第1のバスに接続される第1の記憶部と、 前記命令フェッチ部によってフェッチされた命令を実行
する命令実行部と、 前記命令実行部に接続される第2のバスと、 前記第2のバスに接続される第2の記憶部とを備え、 前記命令実行部は、前記第1のバスから複数語のデータ
を読み出し、かつ、前記第2のバスから複数語のデータ
を読み出し、それぞれの前記複数語のデータを用いて演
算を行う命令を実行し、前記第1のバスから読み出す複
数語が、前記命令の一部を構成する即値であることを特
徴とする情報処理装置。 - 【請求項2】 前記命令フェッチ部は、後続の命令を前
記第1のバスから先行的に読み出す命令プリフェッチ手
段と、前記先行的に読み出した命令を保持する命令バッ
ファを備え、前記第1のバスから、自命令の一部を構成
する複数語のデータを読み出して、前記複数語のデータ
を用いて演算を行なう命令の実行において、前記第1の
バスから読み出す複数語のデータを先行的に前記命令バ
ッファに読み出し、前記命令実行部に前記命令バッファ
から前記複数語のデータを供給することを特徴とする請
求項1記載の情報処理装置。 - 【請求項3】 前記第1のバスのバス幅は、前記第2の
バスのバス幅より大きく、前記第1のバスのアクセス時
間は、前記第2のバスのバスアクセス時間より長いこと
を特徴とする請求項2記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP201098A JPH11203133A (ja) | 1998-01-08 | 1998-01-08 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP201098A JPH11203133A (ja) | 1998-01-08 | 1998-01-08 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11203133A true JPH11203133A (ja) | 1999-07-30 |
Family
ID=11517417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP201098A Pending JPH11203133A (ja) | 1998-01-08 | 1998-01-08 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11203133A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007088819A1 (ja) * | 2006-02-03 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
-
1998
- 1998-01-08 JP JP201098A patent/JPH11203133A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007088819A1 (ja) * | 2006-02-03 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100983135B1 (ko) | 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법 | |
EP1861775B1 (en) | Processor and method of indirect register read and write operations | |
US5996059A (en) | System for monitoring an execution pipeline utilizing an address pipeline in parallel with the execution pipeline | |
CN108959180B (zh) | 一种数据处理方法及*** | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
JP3510729B2 (ja) | 命令実行方法および命令実行装置 | |
JPH03233630A (ja) | 情報処理装置 | |
JP2002544587A (ja) | デジタル信号プロセッサ計算コア | |
JPH09212360A (ja) | データ処理装置 | |
JPH11203133A (ja) | 情報処理装置 | |
KR100639146B1 (ko) | 카테시안 제어기를 갖는 데이터 처리 시스템 | |
JP2668987B2 (ja) | データ処理装置 | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
JP2861560B2 (ja) | データ処理装置 | |
JP3490191B2 (ja) | 計算機 | |
JP3405106B2 (ja) | プログラマブルコントローラ | |
JP2883465B2 (ja) | 電子計算機 | |
JP2856784B2 (ja) | 電子計算機 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JPH0241770B2 (ja) | ||
JP3147884B2 (ja) | 記憶装置及び情報処理装置 | |
JPS63157235A (ja) | コンピユータ・システムの制御装置 | |
JPH0721018A (ja) | マイクロプログラム制御方式の中央処理装置 | |
JP4553622B2 (ja) | データ処理装置 | |
JP2545594B2 (ja) | オペランドデータ先取り方式 |