JPH0973428A - 演算装置 - Google Patents
演算装置Info
- Publication number
- JPH0973428A JPH0973428A JP23085795A JP23085795A JPH0973428A JP H0973428 A JPH0973428 A JP H0973428A JP 23085795 A JP23085795 A JP 23085795A JP 23085795 A JP23085795 A JP 23085795A JP H0973428 A JPH0973428 A JP H0973428A
- Authority
- JP
- Japan
- Prior art keywords
- data
- bus
- memory
- input
- arithmetic unit
- 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 入出力装置とデータメモリ間のデータ転送
と、演算部での演算とを同時に実行する。 【構成】 命令デコーダ10が、バス利用サイクルでの
バスの利用予定をバス制御部11に連絡し、バス制御部
11は、演算部6での演算オペランドがレジスタ7の場
合や、複数のバスを持つアーキテクチャの演算装置にお
いて該当バスを用いない命令の時など、バスの利用がな
いマシンサイクルを利用して入出力装置5とデータメモ
リ1間でデータの転送を行う。入出力装置5とバス2、
3の間にバッファメモリ4を介することで、演算部6で
の演算でバスの利用が続いている場合において一時的に
データを保存することができる。
と、演算部での演算とを同時に実行する。 【構成】 命令デコーダ10が、バス利用サイクルでの
バスの利用予定をバス制御部11に連絡し、バス制御部
11は、演算部6での演算オペランドがレジスタ7の場
合や、複数のバスを持つアーキテクチャの演算装置にお
いて該当バスを用いない命令の時など、バスの利用がな
いマシンサイクルを利用して入出力装置5とデータメモ
リ1間でデータの転送を行う。入出力装置5とバス2、
3の間にバッファメモリ4を介することで、演算部6で
の演算でバスの利用が続いている場合において一時的に
データを保存することができる。
Description
【0001】
【産業上の利用分野】本発明は、メモリと入出力装置間
のデータの転送を行う演算装置に関するものである。
のデータの転送を行う演算装置に関するものである。
【0002】
【従来の技術】マイクロプロセッサやディジタル信号処
理プロセッサなどの演算装置では、ALUなどの演算部
とメモリとでのデータのやりとりの他に、外部装置と接
続する入出力装置とメモリとの間でデータの転送を行う
必要がある。
理プロセッサなどの演算装置では、ALUなどの演算部
とメモリとでのデータのやりとりの他に、外部装置と接
続する入出力装置とメモリとの間でデータの転送を行う
必要がある。
【0003】以下、入出力装置とメモリ間のデータの転
送について図6に示す概略ブロック図を参照しながら説
明する。図6において、1はデータメモリであり、デー
タを保持する。2はAバスであり、データメモリ1と後
述する演算部6および入出力装置5とを接続する。3は
Bバスであり、データメモリ1と後述する演算部6およ
びレジスタ7とを接続する。5は入出力装置であり、演
算装置外部の回路(図示せず)と接続し、演算装置への
データの入出力を行う。6は演算部であり、Aバス2と
後述するマルチプレクサ8のデータに対して演算を行
う。7は演算部6の出力を一時記憶するレジスタであ
る。8はマルチプレクサであり、レジスタ7からのデー
タとAバス2の出力とを選択し、演算部6にデータを供
給する。9は命令メモリであり、演算部6で実行するプ
ログラムが保存されている。10は命令デコーダであ
り、命令メモリ9から供給される命令をデコードすると
ともに、デコードした結果に従い、演算部6、Aバス
2、Bバス3、レジスタ7、マルチプレクサ8を制御す
る。
送について図6に示す概略ブロック図を参照しながら説
明する。図6において、1はデータメモリであり、デー
タを保持する。2はAバスであり、データメモリ1と後
述する演算部6および入出力装置5とを接続する。3は
Bバスであり、データメモリ1と後述する演算部6およ
びレジスタ7とを接続する。5は入出力装置であり、演
算装置外部の回路(図示せず)と接続し、演算装置への
データの入出力を行う。6は演算部であり、Aバス2と
後述するマルチプレクサ8のデータに対して演算を行
う。7は演算部6の出力を一時記憶するレジスタであ
る。8はマルチプレクサであり、レジスタ7からのデー
タとAバス2の出力とを選択し、演算部6にデータを供
給する。9は命令メモリであり、演算部6で実行するプ
ログラムが保存されている。10は命令デコーダであ
り、命令メモリ9から供給される命令をデコードすると
ともに、デコードした結果に従い、演算部6、Aバス
2、Bバス3、レジスタ7、マルチプレクサ8を制御す
る。
【0004】以上のように構成された演算装置におい
て、その動作を説明する。 (1)入出力装置5からデータメモリ1にデータの転送
を行うとき 入出力装置5は、演算部制御部(図示せず)に、入出力
装置5とデータメモリ1へのデータ転送を行うため、A
バス2の利用を要求する。演算部制御部は、入出力装置
5からの要求に従い、演算部6およびAバス2の利用を
一時停止する。入出力装置5は、Aバス2を用いて、デ
ータメモリ1に向けて、データの転送を行う。 (2)メモリから入出力装置にデータの転送を行うとき 入出力装置5は、演算部制御部(図示せず)に、データ
メモリ1から入出力装置5へのデータ転送を行うため、
Aバス2の利用を要求する。演算部制御部は、入出力装
置5からの要求に従い、演算部6およびAバス2の利用
を一時停止する。入出力装置5は、Aバス2を用いて、
データメモリ1から入出力装置5へ、データの転送を行
う。 (3)入出力装置とメモリ間でのデータ転送が行われな
いとき データメモリ1から、Aバス2およびBバス3を介し、
マルチプレクサ8を介して演算部6へデータを供給す
る。演算部6は演算を行い、演算結果をレジスタ7に出
力する。
て、その動作を説明する。 (1)入出力装置5からデータメモリ1にデータの転送
を行うとき 入出力装置5は、演算部制御部(図示せず)に、入出力
装置5とデータメモリ1へのデータ転送を行うため、A
バス2の利用を要求する。演算部制御部は、入出力装置
5からの要求に従い、演算部6およびAバス2の利用を
一時停止する。入出力装置5は、Aバス2を用いて、デ
ータメモリ1に向けて、データの転送を行う。 (2)メモリから入出力装置にデータの転送を行うとき 入出力装置5は、演算部制御部(図示せず)に、データ
メモリ1から入出力装置5へのデータ転送を行うため、
Aバス2の利用を要求する。演算部制御部は、入出力装
置5からの要求に従い、演算部6およびAバス2の利用
を一時停止する。入出力装置5は、Aバス2を用いて、
データメモリ1から入出力装置5へ、データの転送を行
う。 (3)入出力装置とメモリ間でのデータ転送が行われな
いとき データメモリ1から、Aバス2およびBバス3を介し、
マルチプレクサ8を介して演算部6へデータを供給す
る。演算部6は演算を行い、演算結果をレジスタ7に出
力する。
【0005】なお、上記の場合、演算部6へ供給するデ
ータは、2つともデータメモリ1から供給されたが、レ
ジスタ7からマルチプレクサ8を介して、レジスタのデ
ータに対して演算を行うこともできる。
ータは、2つともデータメモリ1から供給されたが、レ
ジスタ7からマルチプレクサ8を介して、レジスタのデ
ータに対して演算を行うこともできる。
【0006】以上のようにして入出力装置5とデータメ
モリ1間のデータ転送を行い、入出力装置5とデータメ
モリ1間でデータのやりとりがある場合、演算部6は動
作を停止する。
モリ1間のデータ転送を行い、入出力装置5とデータメ
モリ1間でデータのやりとりがある場合、演算部6は動
作を停止する。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来の演算装置では、入出力装置とデータメモリとの間で
データ転送が起こる際には、常に演算部は動作を一時停
止するため、入出力するデータ数が増加すると、演算部
の動作を停止する時間が増加し、演算能力が低下する。
来の演算装置では、入出力装置とデータメモリとの間で
データ転送が起こる際には、常に演算部は動作を一時停
止するため、入出力するデータ数が増加すると、演算部
の動作を停止する時間が増加し、演算能力が低下する。
【0008】一方、演算部の動作を一時停止しないで、
入出力装置とデータメモリ間のデータ転送と演算部での
演算を並列に実行しようとする場合、入出力装置とデー
タメモリ間を接続する入出力バスを用意する必要があ
る。この場合、回路面積が増大するため、高価な演算装
置となる。
入出力装置とデータメモリ間のデータ転送と演算部での
演算を並列に実行しようとする場合、入出力装置とデー
タメモリ間を接続する入出力バスを用意する必要があ
る。この場合、回路面積が増大するため、高価な演算装
置となる。
【0009】本発明は、上記従来の問題を解決するもの
であり、入出力装置を備え、演算機能力が高く、かつ安
価な演算装置を提供することを目的とするものである。
であり、入出力装置を備え、演算機能力が高く、かつ安
価な演算装置を提供することを目的とするものである。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明の演算装置は、命令デコーダが、バス利用サ
イクルでのバスの利用予定をバス制御部に連絡し、バス
制御部は、演算部での演算オペランドがレジスタの場合
や、複数のバスを持つアーキテクチャの演算装置におい
て該当バスを用いない命令の時など、バスの利用がない
マシンサイクルを利用して入出力装置とデータメモリ間
でデータの転送を行うようにしたものである。
に、本発明の演算装置は、命令デコーダが、バス利用サ
イクルでのバスの利用予定をバス制御部に連絡し、バス
制御部は、演算部での演算オペランドがレジスタの場合
や、複数のバスを持つアーキテクチャの演算装置におい
て該当バスを用いない命令の時など、バスの利用がない
マシンサイクルを利用して入出力装置とデータメモリ間
でデータの転送を行うようにしたものである。
【0011】また、入出力装置とバスの間にバッファメ
モリを介することで、演算部での演算でバスの利用が続
いている場合においても、一時的にデータを保存できる
ようにしたものである。
モリを介することで、演算部での演算でバスの利用が続
いている場合においても、一時的にデータを保存できる
ようにしたものである。
【0012】また、バッファメモリが一杯になった場合
は、演算部の動作を停止するとともに、入出力装置が強
制的にバスを利用し、データメモリ・バッファメモリ間
のデータ転送を行うようにしたものである。
は、演算部の動作を停止するとともに、入出力装置が強
制的にバスを利用し、データメモリ・バッファメモリ間
のデータ転送を行うようにしたものである。
【0013】
【作用】本発明は、上記構成により、メモリと入出力装
置間でのデータ転送時に演算部は動作を停止しないた
め、入出力を行うことで動的ステップ数が増加しない、
つまり大量のデータ転送があっても演算能力が低下しな
い高い演算能力を持つ演算装置を提供することができ
る。また、メモリと入出力装置との間に、バスを新規に
は付加する必要がないため、回路面積の増加を防ぐこと
ができ、低コストな演算装置を提供することが可能とな
る。
置間でのデータ転送時に演算部は動作を停止しないた
め、入出力を行うことで動的ステップ数が増加しない、
つまり大量のデータ転送があっても演算能力が低下しな
い高い演算能力を持つ演算装置を提供することができ
る。また、メモリと入出力装置との間に、バスを新規に
は付加する必要がないため、回路面積の増加を防ぐこと
ができ、低コストな演算装置を提供することが可能とな
る。
【0014】
(実施例1)以下、本発明の入出力装置を備えた演算装
置の実施例を、図面を参照しながら説明する。図1は本
発明の第1の実施例における演算装置の構成を示す概略
ブロック図であり、上記の従来例の説明で用いた符号が
同一の部分に付してある。図1において、1はデータメ
モリであり、データを保持する。2はAバスであり、デ
ータメモリ1と後述するマルチプレクサ8およびバッフ
ァメモリ4とを接続する。3はBバスであり、データメ
モリ1と後述する演算部6およびレジスタ7とを接続す
る。4はバッファメモリであり、入出力装置5からの入
力を一時保存するとともに、データメモリ1からAバス
2を介して受け取ったデータを、入出力装置5から出力
するまでの時間の間、データを一時保持する。5は入出
力装置であり、演算装置外部の回路(図示せず)と接続
し、演算装置へのデータの入出力を行う。6は演算部で
あり、Aバス2と後述するマルチプレクサ8のデータに
対して演算を行い、後述するレジスタ7へデータを出力
する。7は演算部6の出力を一時記憶するレジスタであ
る。8はマルチプレクサであり、レジスタ7からのデー
タとAバス2の出力とを選択し、演算部6にデータを供
給する。9は命令メモリであり、演算部6で実行するプ
ログラムが保存されている。10は命令デコーダであ
り、命令メモリ9から供給される命令をデコードすると
ともに、デコードした結果に従い、演算部6、Aバス
2、Bバス3、レジスタ7、マルチプレクサ8を制御す
る。11はバス制御部であり、命令デコーダ10および
入出力装置5の要求により、バスの調停を行う。
置の実施例を、図面を参照しながら説明する。図1は本
発明の第1の実施例における演算装置の構成を示す概略
ブロック図であり、上記の従来例の説明で用いた符号が
同一の部分に付してある。図1において、1はデータメ
モリであり、データを保持する。2はAバスであり、デ
ータメモリ1と後述するマルチプレクサ8およびバッフ
ァメモリ4とを接続する。3はBバスであり、データメ
モリ1と後述する演算部6およびレジスタ7とを接続す
る。4はバッファメモリであり、入出力装置5からの入
力を一時保存するとともに、データメモリ1からAバス
2を介して受け取ったデータを、入出力装置5から出力
するまでの時間の間、データを一時保持する。5は入出
力装置であり、演算装置外部の回路(図示せず)と接続
し、演算装置へのデータの入出力を行う。6は演算部で
あり、Aバス2と後述するマルチプレクサ8のデータに
対して演算を行い、後述するレジスタ7へデータを出力
する。7は演算部6の出力を一時記憶するレジスタであ
る。8はマルチプレクサであり、レジスタ7からのデー
タとAバス2の出力とを選択し、演算部6にデータを供
給する。9は命令メモリであり、演算部6で実行するプ
ログラムが保存されている。10は命令デコーダであ
り、命令メモリ9から供給される命令をデコードすると
ともに、デコードした結果に従い、演算部6、Aバス
2、Bバス3、レジスタ7、マルチプレクサ8を制御す
る。11はバス制御部であり、命令デコーダ10および
入出力装置5の要求により、バスの調停を行う。
【0015】以上のように構成された演算装置におい
て、入出力装置5とデータメモリ1との間でのデータの
転送を行う方法を説明する。まず、以下に説明する演算
装置のパイプライン構造について、図2を用いて説明す
る。本演算装置は、3段のパイプラインで構成されてい
る。図2に示すA/B/Cの命令列のように3つの命令
をオーバーラップさせて同時実行する。各ステージは、
命令フェッチ/命令デコード/実行の3段の構成であ
る。以下に、それぞれのパイプラインステージでの動作
について説明する。 (1)命令フェッチ 命令ポインタ(図示せず)が命令メモリのアドレスを提
供し、それに従い、命令メモリ9からデータの供給を受
ける。 (2)命令デコード 命令メモリ9からの命令をデコードし、次の実行ステー
ジでどのような命令を実行するかをデコードする。本演
算装置では、命令デコーダ10は、命令デコードのステ
ージで、次の実行ステージにAバス2を利用するかしな
いかの信号(BUSUSE−)を出力する。例えば、本
実施例では、実行ステージでAバス2を利用しない場
合、1であり、実行ステージでAバス2を利用する場合
0である信号とする。Aバス2を利用しない命令とは、
2つのオペランドのうち、どちらかまたは、両方がレジ
スタ7であるものなどである。例えば、オペランドがレ
ジスタの場合は、Aバス2とレジスタ7の出力とを選択
するマルチプレクサ8がレジスタ7を選択する。このた
め、Aバス2は、利用されない。 (3)実行 上記した命令デコードのステージでデコードされた内容
に従い、演算を行う。例えば、データメモリ1から2デ
ータを取り出し、演算を行い、レジスタに格納する命令
の場合は、データメモリ1からAバス2およびBバス3
にデータを出力する。マルチプレクサ8は、Aバス2を
選択する。演算部6は、Bバスのデータおよびマルチプ
レクサ8のデータに対し、演算を行う。演算終了後、レ
ジスタ7に値を格納する。
て、入出力装置5とデータメモリ1との間でのデータの
転送を行う方法を説明する。まず、以下に説明する演算
装置のパイプライン構造について、図2を用いて説明す
る。本演算装置は、3段のパイプラインで構成されてい
る。図2に示すA/B/Cの命令列のように3つの命令
をオーバーラップさせて同時実行する。各ステージは、
命令フェッチ/命令デコード/実行の3段の構成であ
る。以下に、それぞれのパイプラインステージでの動作
について説明する。 (1)命令フェッチ 命令ポインタ(図示せず)が命令メモリのアドレスを提
供し、それに従い、命令メモリ9からデータの供給を受
ける。 (2)命令デコード 命令メモリ9からの命令をデコードし、次の実行ステー
ジでどのような命令を実行するかをデコードする。本演
算装置では、命令デコーダ10は、命令デコードのステ
ージで、次の実行ステージにAバス2を利用するかしな
いかの信号(BUSUSE−)を出力する。例えば、本
実施例では、実行ステージでAバス2を利用しない場
合、1であり、実行ステージでAバス2を利用する場合
0である信号とする。Aバス2を利用しない命令とは、
2つのオペランドのうち、どちらかまたは、両方がレジ
スタ7であるものなどである。例えば、オペランドがレ
ジスタの場合は、Aバス2とレジスタ7の出力とを選択
するマルチプレクサ8がレジスタ7を選択する。このた
め、Aバス2は、利用されない。 (3)実行 上記した命令デコードのステージでデコードされた内容
に従い、演算を行う。例えば、データメモリ1から2デ
ータを取り出し、演算を行い、レジスタに格納する命令
の場合は、データメモリ1からAバス2およびBバス3
にデータを出力する。マルチプレクサ8は、Aバス2を
選択する。演算部6は、Bバスのデータおよびマルチプ
レクサ8のデータに対し、演算を行う。演算終了後、レ
ジスタ7に値を格納する。
【0016】次に、入出力装置5からデータメモリ1へ
のデータ転送を行う場合を説明する。外部回路(図示せ
ず)から入出力装置5へデータの書き込みが行われる
と、入出力装置5は、バス制御部11にバスの利用要求
(BUSREQ:要求があるときに1、要求がないとき
0)を出力する。また、同時に、入出力装置5からデー
タをバッファメモリ4に移動する。
のデータ転送を行う場合を説明する。外部回路(図示せ
ず)から入出力装置5へデータの書き込みが行われる
と、入出力装置5は、バス制御部11にバスの利用要求
(BUSREQ:要求があるときに1、要求がないとき
0)を出力する。また、同時に、入出力装置5からデー
タをバッファメモリ4に移動する。
【0017】バス制御部11は、命令デコーダからの
“BUSUSE−”および入出力装置5からの“BUS
REQ”信号に基づいて、バスの調停を行う。 “BUSUSE−”=1かつ“BUSREQ”=1の場
合 Aバス2が空いているため、バッファメモリ4とデータ
メモリ1間のデータの転送を行う。 “BUSUSE−”=0かつ“BUSREQ”=1の場
合 Aバス2を演算部6が利用する。このため、データはバ
ッファメモリ4に蓄えられたままである。 “BUSUSE−”=1かつ“BUSREQ”=0の場
合 Aバス2が空いているが、バッファメモリ4が空のた
め、Aバス2は利用されない。 “BUSUSE−”=0かつ“BUSREQ”=0の場
合 Aバス2を演算部6が利用する。“BUSUSE−”=
0かつ“BUSREQ”=1の場合が続くとき、バッフ
ァメモリ4の書き込み領域に空き領域がある場合は、入
出力装置5からの入力データはそのまま、バッファメモ
リ4に書き込まれる。さらに、“BUSUSE−”=0
かつ“BUSREQ”=1が続く場合、バッファメモリ
4の書き込み領域に空き領域がなくなる。このとき、入
出力装置5は、バス制御部11に対し、“HBUSRE
Q”信号を1とする。この“HBUSREQ”信号は、
“BUSUSE−”信号が1であっても、バスの利用権
を入出力装置5に譲るものである。この場合、演算部6
へデータメモリ1からのデータの供給ができないため、
演算部6での演算は一時停止する。
“BUSUSE−”および入出力装置5からの“BUS
REQ”信号に基づいて、バスの調停を行う。 “BUSUSE−”=1かつ“BUSREQ”=1の場
合 Aバス2が空いているため、バッファメモリ4とデータ
メモリ1間のデータの転送を行う。 “BUSUSE−”=0かつ“BUSREQ”=1の場
合 Aバス2を演算部6が利用する。このため、データはバ
ッファメモリ4に蓄えられたままである。 “BUSUSE−”=1かつ“BUSREQ”=0の場
合 Aバス2が空いているが、バッファメモリ4が空のた
め、Aバス2は利用されない。 “BUSUSE−”=0かつ“BUSREQ”=0の場
合 Aバス2を演算部6が利用する。“BUSUSE−”=
0かつ“BUSREQ”=1の場合が続くとき、バッフ
ァメモリ4の書き込み領域に空き領域がある場合は、入
出力装置5からの入力データはそのまま、バッファメモ
リ4に書き込まれる。さらに、“BUSUSE−”=0
かつ“BUSREQ”=1が続く場合、バッファメモリ
4の書き込み領域に空き領域がなくなる。このとき、入
出力装置5は、バス制御部11に対し、“HBUSRE
Q”信号を1とする。この“HBUSREQ”信号は、
“BUSUSE−”信号が1であっても、バスの利用権
を入出力装置5に譲るものである。この場合、演算部6
へデータメモリ1からのデータの供給ができないため、
演算部6での演算は一時停止する。
【0018】以上に示した動作により、データメモリ1
と入出力装置5との間でデータのやりとりを行う。バス
制御部11は、演算部6でのオペランドがレジスタ7ま
たはバッファメモリ4が一杯の時にのみAバス2の利用
許可を入出力装置5に与える。
と入出力装置5との間でデータのやりとりを行う。バス
制御部11は、演算部6でのオペランドがレジスタ7ま
たはバッファメモリ4が一杯の時にのみAバス2の利用
許可を入出力装置5に与える。
【0019】次に、データメモリ1から入出力装置5へ
データ転送を行う場合について説明する。外部回路(図
示せず)から入出力装置5へデータの出力の要求がある
と、入出力装置5は、バス制御部11にバスの利用要求
(BUSREQ:要求があるときに1、要求がないとき
0)を出力する。また、同時に、データをバッファメモ
リ4から入出力装置5に移動する。
データ転送を行う場合について説明する。外部回路(図
示せず)から入出力装置5へデータの出力の要求がある
と、入出力装置5は、バス制御部11にバスの利用要求
(BUSREQ:要求があるときに1、要求がないとき
0)を出力する。また、同時に、データをバッファメモ
リ4から入出力装置5に移動する。
【0020】入出力装置5からデータメモリ1へのデー
タ転送時と同様に、バス制御部11は、命令デコーダか
らの“BUSUSE−”および入出力装置5からの“B
USREQ”信号に基づいて、バスの調停を行う。 “BUSUSE−”=1かつ“BUSREQ”=1の場
合 Aバス2が空いているため、バッファメモリ4とデータ
メモリ1間のデータの転送を行う。 “BUSUSE−”=0かつ“BUSREQ”=1の場
合 Aバス2を演算部6が利用する。このため、バッファメ
モリ4に入出力装置5から出力すべきデータが存在する
場合は、バッファメモリ4から入出力装置5にデータが
供給される。バッファメモリ4に入出力装置5から出力
すべきデータが存在しない場合は、入出力装置5は、
“HBUSREQ−”を1とし、強制的にAバス2の利
用権を獲得し、データメモリ1からバッファメモリ4へ
のデータの転送を行う。この場合、演算部6へデータメ
モリ1からのデータの供給ができないため、演算部6で
の演算は一時停止する。 “BUSUSE−”=1かつ“BUSREQ”=0の場
合 Aバス2は利用されない。 “BUSUSE−”=0かつ“BUSREQ”=0の場
合 Aバス2を演算部6が利用する。上記したように、“B
USUSE−”=0かつ“HBUSREQ”=1の場合
は、入出力装置5がAバス2の利用権を獲得する。この
場合、演算部6へデータメモリ1からのデータの供給が
できないため、演算部6での演算は一時停止する。この
ようなことが多く発生すると、入出力装置5とバッファ
メモリ4間のデータ転送と演算部6での演算を同時実行
できる場合が減少する。しかし、入出力装置5からは、
データメモリ1のある一群の配列データを順序よく出力
することが多いため、次に出力するデータの予想がつく
ことが多い。このため、入出力装置5は次に転送すべき
データを予想し、“BUSUSE−”=1のタイミング
にバッファメモリ4にデータを転送しておくようにす
る。
タ転送時と同様に、バス制御部11は、命令デコーダか
らの“BUSUSE−”および入出力装置5からの“B
USREQ”信号に基づいて、バスの調停を行う。 “BUSUSE−”=1かつ“BUSREQ”=1の場
合 Aバス2が空いているため、バッファメモリ4とデータ
メモリ1間のデータの転送を行う。 “BUSUSE−”=0かつ“BUSREQ”=1の場
合 Aバス2を演算部6が利用する。このため、バッファメ
モリ4に入出力装置5から出力すべきデータが存在する
場合は、バッファメモリ4から入出力装置5にデータが
供給される。バッファメモリ4に入出力装置5から出力
すべきデータが存在しない場合は、入出力装置5は、
“HBUSREQ−”を1とし、強制的にAバス2の利
用権を獲得し、データメモリ1からバッファメモリ4へ
のデータの転送を行う。この場合、演算部6へデータメ
モリ1からのデータの供給ができないため、演算部6で
の演算は一時停止する。 “BUSUSE−”=1かつ“BUSREQ”=0の場
合 Aバス2は利用されない。 “BUSUSE−”=0かつ“BUSREQ”=0の場
合 Aバス2を演算部6が利用する。上記したように、“B
USUSE−”=0かつ“HBUSREQ”=1の場合
は、入出力装置5がAバス2の利用権を獲得する。この
場合、演算部6へデータメモリ1からのデータの供給が
できないため、演算部6での演算は一時停止する。この
ようなことが多く発生すると、入出力装置5とバッファ
メモリ4間のデータ転送と演算部6での演算を同時実行
できる場合が減少する。しかし、入出力装置5からは、
データメモリ1のある一群の配列データを順序よく出力
することが多いため、次に出力するデータの予想がつく
ことが多い。このため、入出力装置5は次に転送すべき
データを予想し、“BUSUSE−”=1のタイミング
にバッファメモリ4にデータを転送しておくようにす
る。
【0021】以上説明したように、本実施例によれば、
演算部6で行う演算に、一定の比率でオペランドがレジ
スタ7であり、入出力装置5からデータメモリ1への書
き込みまたは読み出し要求が一定の割合で発生する場合
には、バッファメモリ4は一杯または空にならず、デー
タメモリ1と入出力装置5とのデータ転送と演算部6で
の演算が並列に実行される。このため、データ転送数が
増加しても、演算部6が常に動作をし続けることができ
る。
演算部6で行う演算に、一定の比率でオペランドがレジ
スタ7であり、入出力装置5からデータメモリ1への書
き込みまたは読み出し要求が一定の割合で発生する場合
には、バッファメモリ4は一杯または空にならず、デー
タメモリ1と入出力装置5とのデータ転送と演算部6で
の演算が並列に実行される。このため、データ転送数が
増加しても、演算部6が常に動作をし続けることができ
る。
【0022】また、バスを新規に付加する必要がないた
め、回路面積の増加を防ぐことができる。このため、低
コストな演算装置を提供することが可能となる。
め、回路面積の増加を防ぐことができる。このため、低
コストな演算装置を提供することが可能となる。
【0023】(実施例2)次に、データメモリとしてス
タティックカラムモードまたは高速ページを備えたDR
AMを利用した場合の第2の実施例について説明する。
タティックカラムモードまたは高速ページを備えたDR
AMを利用した場合の第2の実施例について説明する。
【0024】スタティックカラムモードまたは高速ペー
ジモードを備えたDRAMでは、RASを下げたままに
しておけば、同一ロウアドレスの中で、SRAMのよう
に高速にアクセスすることができる。
ジモードを備えたDRAMでは、RASを下げたままに
しておけば、同一ロウアドレスの中で、SRAMのよう
に高速にアクセスすることができる。
【0025】図3を用いてスタティックカラムモードで
の動作を説明する。スタティックカラムモードではRA
Sを下げるときに、ロウアドレスを与える。次に、CA
Sを下げるときに、コラムアドレスを与える。以後、R
ASおよびCASを下げたままにしておいて、アドレス
を変化させると、そのコラムアドレスに対応したアクセ
スが可能となる。
の動作を説明する。スタティックカラムモードではRA
Sを下げるときに、ロウアドレスを与える。次に、CA
Sを下げるときに、コラムアドレスを与える。以後、R
ASおよびCASを下げたままにしておいて、アドレス
を変化させると、そのコラムアドレスに対応したアクセ
スが可能となる。
【0026】スタティックカラムモードでは、アドレス
を変化させるのみでコラムアドレスに対応したアクセス
が可能であるが、高速ページモードでは、RASを下げ
たままにして、CASを変化させる。このとき、CAS
の立ち下がりのエッジのタイミングで、データのアクセ
スが行われる。
を変化させるのみでコラムアドレスに対応したアクセス
が可能であるが、高速ページモードでは、RASを下げ
たままにして、CASを変化させる。このとき、CAS
の立ち下がりのエッジのタイミングで、データのアクセ
スが行われる。
【0027】上記したように、スタティックカラムモー
ドまたは高速ページモードを持ったDRAMでは、同一
ロウアドレス内でのアクセスが高速となる。この特徴を
本演算装置に適用した例について述べる。
ドまたは高速ページモードを持ったDRAMでは、同一
ロウアドレス内でのアクセスが高速となる。この特徴を
本演算装置に適用した例について述べる。
【0028】前述のデータメモリ1と入出力装置5とで
のデータ転送の場合、3段のパイプラインを持ったモデ
ルを用いた。本実施例では、図4に示すように、5段の
パイプラインを持ったプロセッサを用いる。命令フェッ
チ/命令プリデコード/命令デコード/実行/書き込み
の5ステージである。このモデルにおいては、命令のデ
コードに関するステージが命令プリデコード/命令デコ
ードの2ステージあるため、実際にバスを利用する実行
ステージで、バスを用いない命令が2マシンサイクルに
わたって連続するかどうかを調べることができる。
のデータ転送の場合、3段のパイプラインを持ったモデ
ルを用いた。本実施例では、図4に示すように、5段の
パイプラインを持ったプロセッサを用いる。命令フェッ
チ/命令プリデコード/命令デコード/実行/書き込み
の5ステージである。このモデルにおいては、命令のデ
コードに関するステージが命令プリデコード/命令デコ
ードの2ステージあるため、実際にバスを利用する実行
ステージで、バスを用いない命令が2マシンサイクルに
わたって連続するかどうかを調べることができる。
【0029】図4においては、Aの命令が命令デコード
ステージにあるマシンサイクルでは、Aの命令がレジス
タ間演算であることが分かり、Bの命令はプリデコード
ステージにあるためデコードされ、Bの命令もレジスタ
間演算であることがわかる。このときに、“BUSUS
E−”信号を1とする。つまり、本実施例では、上記第
1の実施例と異なり、次の2マシンサイクルにわたって
バスが空いている時に、BUSUSE−信号が1とな
る。
ステージにあるマシンサイクルでは、Aの命令がレジス
タ間演算であることが分かり、Bの命令はプリデコード
ステージにあるためデコードされ、Bの命令もレジスタ
間演算であることがわかる。このときに、“BUSUS
E−”信号を1とする。つまり、本実施例では、上記第
1の実施例と異なり、次の2マシンサイクルにわたって
バスが空いている時に、BUSUSE−信号が1とな
る。
【0030】BUSUSE−信号の意味が異なっている
が、実行ステージでの動作は図1を用いて説明できるた
め、図1を用いて説明を行う。バッファメモリ4がある
ため、入出力装置5とデータメモリ1間でのデータの転
送は、複数のデータを続けて行うことが可能である。本
実施例では、バスが2マシンサイクル空いている時にB
USUSE−信号が1となる。一方、BUSREQ信号
は、バッファメモリに2データ以上が蓄えられた時に1
となる。バス制御部11での動作は第1の実施例と同様
である。バス制御部11が、入出力装置5とデータメモ
リ1の転送を許可するのは、 ・バッファメモリ4に2データ以上が蓄えられている。 ・Aバス2が2マシンサイクルにわたって空いている。 場合である。このため、バッファメモリ4とデータメモ
リ1とで、データの転送が行われるときには、2データ
以上が可能である。データメモリ1中の入出力回路とア
クセス領域を同一ロウアドレスと設定した場合、DRA
Mには、スタティックカラムモードまたは、高速ページ
モードを用いて入出力装置5から、書き込み/読み込み
が実行できる。
が、実行ステージでの動作は図1を用いて説明できるた
め、図1を用いて説明を行う。バッファメモリ4がある
ため、入出力装置5とデータメモリ1間でのデータの転
送は、複数のデータを続けて行うことが可能である。本
実施例では、バスが2マシンサイクル空いている時にB
USUSE−信号が1となる。一方、BUSREQ信号
は、バッファメモリに2データ以上が蓄えられた時に1
となる。バス制御部11での動作は第1の実施例と同様
である。バス制御部11が、入出力装置5とデータメモ
リ1の転送を許可するのは、 ・バッファメモリ4に2データ以上が蓄えられている。 ・Aバス2が2マシンサイクルにわたって空いている。 場合である。このため、バッファメモリ4とデータメモ
リ1とで、データの転送が行われるときには、2データ
以上が可能である。データメモリ1中の入出力回路とア
クセス領域を同一ロウアドレスと設定した場合、DRA
Mには、スタティックカラムモードまたは、高速ページ
モードを用いて入出力装置5から、書き込み/読み込み
が実行できる。
【0031】以上説明したように、本実施例によれば、
レジスタ間演算が2マシンサイクル続く場合などバスが
2マシンサイクル空く場合に、DRAMへの書き込み/
読み出しが高速ページモード/スタティックカラムモー
ドを用いて行える。このため、DRAMのアクセス時間
が高速となり、バスをより有効に利用することができ
る。
レジスタ間演算が2マシンサイクル続く場合などバスが
2マシンサイクル空く場合に、DRAMへの書き込み/
読み出しが高速ページモード/スタティックカラムモー
ドを用いて行える。このため、DRAMのアクセス時間
が高速となり、バスをより有効に利用することができ
る。
【0032】なお、上記の説明では、レジスタの演算が
2命令続く場合について述べたが、パイプラインをより
深くすることで、3命令連続く場合、4命令続く場合と
増加させることもできる。この場合、DRAMが高速動
作する割合が増加するため、よりバスを有効に使うこと
ができる。このため、より安価で高性能な演算装置を提
供することができる。
2命令続く場合について述べたが、パイプラインをより
深くすることで、3命令連続く場合、4命令続く場合と
増加させることもできる。この場合、DRAMが高速動
作する割合が増加するため、よりバスを有効に使うこと
ができる。このため、より安価で高性能な演算装置を提
供することができる。
【0033】また、本実施例では、高速ページモード/
スタティックカラムモードを備えたDRAMについて述
べたが、通常メモリを用い、2マシンサイクル連続して
バスが空く場合にのみ、1ワードのデータ転送を2マシ
ンサイクル用いてゆっくり行うことも考えられる。この
場合、入出力装置5のバスドライ場の大きさを小さくす
ることができるので、消費電力を減少させる効果があ
る。
スタティックカラムモードを備えたDRAMについて述
べたが、通常メモリを用い、2マシンサイクル連続して
バスが空く場合にのみ、1ワードのデータ転送を2マシ
ンサイクル用いてゆっくり行うことも考えられる。この
場合、入出力装置5のバスドライ場の大きさを小さくす
ることができるので、消費電力を減少させる効果があ
る。
【0034】(実施例3)次に、インタリーブ構成のメ
モリを用いた実施例について述べる。メモリを構成する
複数の部分をいくつかのパンクに分けることで、複数語
の読み書きが一括してできるようなメモリ構成を取るも
のをインタリーブ構成のメモリと呼ぶ。本実施例は、図
1におけるデータメモリ1として、インタリーブ構成の
メモリを用いた場合である。
モリを用いた実施例について述べる。メモリを構成する
複数の部分をいくつかのパンクに分けることで、複数語
の読み書きが一括してできるようなメモリ構成を取るも
のをインタリーブ構成のメモリと呼ぶ。本実施例は、図
1におけるデータメモリ1として、インタリーブ構成の
メモリを用いた場合である。
【0035】図5はインタリーブ構成のメモリを示すブ
ロック図である。本実施例では、奇数バンク21と偶数
バンク22の2バンクを持っており、それぞれラッチ2
3、24を介してマルチプレクサ25に接続されてい
る。連続したアドレスへのアクセスでは、奇数バンク2
1/偶数バンク22とアクセスするため、1マシンサイ
クルで2ワードのデータアクセスを行うことができる。
このようなメモリを用い,バスは、1マシンサイクルに
2回動かすことで、1マシンサイクルに2回積和命令を
行うプロセッサがある(A16bLow−Power−Consu
mption DigitalSignal Processor,[WP2.
2],ISSCC 93参照)。
ロック図である。本実施例では、奇数バンク21と偶数
バンク22の2バンクを持っており、それぞれラッチ2
3、24を介してマルチプレクサ25に接続されてい
る。連続したアドレスへのアクセスでは、奇数バンク2
1/偶数バンク22とアクセスするため、1マシンサイ
クルで2ワードのデータアクセスを行うことができる。
このようなメモリを用い,バスは、1マシンサイクルに
2回動かすことで、1マシンサイクルに2回積和命令を
行うプロセッサがある(A16bLow−Power−Consu
mption DigitalSignal Processor,[WP2.
2],ISSCC 93参照)。
【0036】上記のようなメモリとバスを持った演算装
置に、本発明を適用した場合、入出力装置5は、バッフ
ァメモリ4にデータを書き込む。バッファメモリ4に、
2データがそろった時点で、BUSREQを1とする。
このため、2データがそろった時点で、バス要求が出力
されるため、バスサイクルを効率的に利用することがで
きる。このため、演算性能を向上させることができる。
置に、本発明を適用した場合、入出力装置5は、バッフ
ァメモリ4にデータを書き込む。バッファメモリ4に、
2データがそろった時点で、BUSREQを1とする。
このため、2データがそろった時点で、バス要求が出力
されるため、バスサイクルを効率的に利用することがで
きる。このため、演算性能を向上させることができる。
【0037】
【発明の効果】以上説明したように、本発明によれば、
バス制御部により、演算部でのオペランドがレジスタま
たはバッファメモリが一杯の時にのみAバスの利用許可
を入出力装置に与えるので、バッファメモリが一杯にな
るまでは、演算部での演算と、入出力装置とデータメモ
リとでのデータのやりとりとが同時に行えるため、高性
能な演算装置を提供できる。また、入出力装置とデータ
メモリとの間でバスを用意する必要がないので、低コス
トな演算装置を提供できる。
バス制御部により、演算部でのオペランドがレジスタま
たはバッファメモリが一杯の時にのみAバスの利用許可
を入出力装置に与えるので、バッファメモリが一杯にな
るまでは、演算部での演算と、入出力装置とデータメモ
リとでのデータのやりとりとが同時に行えるため、高性
能な演算装置を提供できる。また、入出力装置とデータ
メモリとの間でバスを用意する必要がないので、低コス
トな演算装置を提供できる。
【図1】本発明の第1の実施例における演算装置の構成
を示す概略ブロック図
を示す概略ブロック図
【図2】本発明の第1の実施例における演算装置のパイ
プライン構造を示すタイミング図
プライン構造を示すタイミング図
【図3】本発明の第2の実施例におけるスタティックカ
ラムモードを説明するためのタイミング図
ラムモードを説明するためのタイミング図
【図4】第2の実施例におけるスタティックカラムモー
ドを備えたDRAMを用いたときのパイプライン構造を
示すタイミング図
ドを備えたDRAMを用いたときのパイプライン構造を
示すタイミング図
【図5】本発明の第3の実施例におけるインタリーブ構
成のメモリを説明するためのブロック図
成のメモリを説明するためのブロック図
【図6】従来の演算装置の構成を示す概略ブロック図
1 データメモリ 2 Aバス 3 Bバス 4 バッファメモリ 5 入出力装置 6 演算部 7 レジスタ 8 マルチプレクサ 9 命令メモリ 10 命令デコーダ 11 バス制御部
Claims (8)
- 【請求項1】 データの一時保持手段と、前記データの
一時保持手段にバスを介さないでアクセスできる演算部
と、データを保存するデータメモリと、外部装置と接続
されてバスを介して前記データメモリとデータの転送を
行う入出力装置と、対象演算オペランドが前記データの
一時保持手段であるときに、前記演算部での演算と同時
に、前記入出力装置とデータメモリ間のデータの転送を
行うようにバスを調停するバス制御部とを備えた演算装
置。 - 【請求項2】 入出力装置とバスの間にバッファメモリ
を備えた請求項1記載の演算装置。 - 【請求項3】 一時的にデータを保持するバッファメモ
リが一杯の時には、演算部の動作を停止し、入出力装置
とメモリ間のデータの転送を行う請求項2記載の演算装
置。 - 【請求項4】 データメモリが高速ページモードを備え
るDRAMであり、演算部でのオペランドがレジスタで
ある演算が連続するときに、高速ページモードを用い
て、入出力装置とデータメモリ間のデータの転送を行う
請求項3記載の演算装置。 - 【請求項5】 データメモリがスタティックカラムモー
ドを備えるDRAMであり、演算部でのオペランドがレ
ジスタである演算が連続するときに、スタティックカラ
ムモードを用いて、入出力装置とデータメモリ間のデー
タの転送を行う請求項3記載の演算装置。 - 【請求項6】 インタリーブ構成のメモリを備え、オペ
ランドがレジスタである演算が連続するときに、インタ
リーブ構成のメモリを用いて、入出力装置とデータメモ
リ間のデータの転送を連続的に効率よく行う請求項3記
載の演算装置。 - 【請求項7】 複数のバスを持った演算装置において、
演算部での演算対象オペランドが複数のバス全てを用い
ないときに、空いているバスを用いて入出力装置とメモ
リ間のデータ転送を行う請求項2記載の演算装置。 - 【請求項8】 一時的に保持するバッファメモリが一杯
の時には、演算部の動作を停止し、入出力装置とメモリ
間のデータの転送を行う請求項7記載の演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23085795A JP3299663B2 (ja) | 1995-09-08 | 1995-09-08 | 演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23085795A JP3299663B2 (ja) | 1995-09-08 | 1995-09-08 | 演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0973428A true JPH0973428A (ja) | 1997-03-18 |
JP3299663B2 JP3299663B2 (ja) | 2002-07-08 |
Family
ID=16914396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23085795A Expired - Fee Related JP3299663B2 (ja) | 1995-09-08 | 1995-09-08 | 演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3299663B2 (ja) |
-
1995
- 1995-09-08 JP JP23085795A patent/JP3299663B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3299663B2 (ja) | 2002-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7590774B2 (en) | Method and system for efficient context swapping | |
US5608881A (en) | Microcomputer system for accessing hierarchical buses | |
US6813701B1 (en) | Method and apparatus for transferring vector data between memory and a register file | |
JP3406744B2 (ja) | 制御されたバーストメモリアクセスを備えたデータプロセッサおよびその方法 | |
US7610469B2 (en) | Vector transfer system for packing dis-contiguous vector elements together into a single bus transfer | |
US20080077911A1 (en) | Using breakpoints for debugging in a RISC microprocessor architecture | |
US20070124561A1 (en) | Active memory command engine and method | |
JPH01251247A (ja) | キヤツシユメモリサブシステム | |
US6553486B1 (en) | Context switching for vector transfer unit | |
JP2773471B2 (ja) | 情報処理装置 | |
US5924120A (en) | Method and apparatus for maximizing utilization of an internal processor bus in the context of external transactions running at speeds fractionally greater than internal transaction times | |
JP2006099232A (ja) | 半導体信号処理装置 | |
JPH0916409A (ja) | マイクロコンピュータ | |
US7073034B2 (en) | System and method for encoding processing element commands in an active memory device | |
US6938118B1 (en) | Controlling access to a primary memory | |
KR960007833B1 (ko) | 고속 페이지 모드 선택을 위한 방법 및 장치 | |
JP3299663B2 (ja) | 演算装置 | |
JP3520372B2 (ja) | メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除 | |
JPS60195661A (ja) | デ−タ処理システム | |
JPH0916468A (ja) | メモリアクセス方式 | |
JPH08212779A (ja) | メモリアレイ、キャッシュ、およびマイクロプロセッサ | |
JP2011192305A (ja) | 半導体信号処理装置 | |
JP2647092B2 (ja) | マルチプロセツサシステム | |
JP2924004B2 (ja) | 命令コード転送方式 | |
JP3727452B2 (ja) | データ処理装置及びデータ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080419 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090419 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100419 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110419 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120419 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |