JP2659886B2 - プロセッサシステム - Google Patents

プロセッサシステム

Info

Publication number
JP2659886B2
JP2659886B2 JP4109770A JP10977092A JP2659886B2 JP 2659886 B2 JP2659886 B2 JP 2659886B2 JP 4109770 A JP4109770 A JP 4109770A JP 10977092 A JP10977092 A JP 10977092A JP 2659886 B2 JP2659886 B2 JP 2659886B2
Authority
JP
Japan
Prior art keywords
data
processor
signal
circuit
bus
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 - Lifetime
Application number
JP4109770A
Other languages
English (en)
Other versions
JPH0628310A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4109770A priority Critical patent/JP2659886B2/ja
Priority to US08/053,565 priority patent/US5524259A/en
Publication of JPH0628310A publication Critical patent/JPH0628310A/ja
Application granted granted Critical
Publication of JP2659886B2 publication Critical patent/JP2659886B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサシステムに
関する。特に、内部に限られた機能の演算装置しか持た
ないプロセッサと、バス上に接続された拡張機能の演算
装置及びメモリを持つプロセッサシステムに関する。
【0002】
【従来の技術】プロセッサシステムの性能を向上させる
ため、プロセッサのバス上に専用の演算器を置く場合が
ある。例えば、プロセッサが乗算器を内蔵していないと
き、プロセッサのバス上に乗算器を置き、乗算を高速に
実行する場合がある。乗算器を内蔵していないプロセッ
サでは、乗算を加算の繰り返しで行っている。16ビッ
トの乗算のためには、最高16回の加算が必要となる。
1ビットの加算に1クロック掛かるとすると乗算の実行
に16クロック掛かってしまう。組込み制御用など、応
用によっては、乗算の頻度が高いものがあり、乗算の高
速化が要求されている。
【0003】[図9]に、従来の外付けの演算回路を持
つシステムの例を示す。演算器が乗算器の例であり、プ
ロセッサ10、バスコントローラ11、乗算器12、ソ
ースレジスタ13、ソースレジスタ14、バッファ15
から成っている。プロセッサ10は、基本クロックBC
LK、2倍周波数クロックCLKに同期して動作してい
る。以下で単にクロックと記述したときは、基本クロッ
クBCLKの1周期を表わすものとする。乗算器12へ
の入力データはソースレジスタ13、ソースレジスタ1
4から与えられる。乗算結果はバッファ15を介して、
データバスへ出力される。
【0004】従来例では、プロセッサのライトバスサイ
クルによりソースレジスタ13とソースレジスタ14に
乗算のソースデータが書き込まれ、リードバスサイクル
により乗算結果をプロセッサが読み込む。ソースレジス
タ13、ソースレジスタ14、バッファ15はそれぞれ
アドレスが割り振られており、バスコントローラ11は
プロセッサのバスサイクルでアドレスバス上に出力され
たアドレスが、それぞれのアドレスと一致したときに制
御信号SW1、SW2、MOEを出力する。ソースレジ
スタ13、14はそれぞれ制御信号SW1、SW1の立
ち上がりエッジでデータバス上のデータを内部にラッチ
し、乗算器へ与える。また、バッファ15は制御信号M
OEがアクティブ(Lowレベル)のとき、乗算器から
出力されている乗算結果をデータバス上に出力する。
【0005】[図10]に、従来例の乗算のタイミング
を示す。クロック1のライトバスサイクルでプロセッサ
はソースレジスタ13のアドレスをアドレスバスに出力
し、ソースレジスタ13に設定するデータをデータバス
上に出力する。バスコントローラ11は適当なタイミン
グで制御信号SW1に立ち上がりエッジを出力する。立
ち上がりエッジでソースレジスタ13はデータバス上の
データを内部にラッチし、乗算器へ出力する。クロック
2では、同様にソースレジスタ14に乗算のもう一方の
データを設定する。クロック3のリードバスサイクルで
は、プロセッサはバッファ15のアドレスをアドレスバ
スに出力する。バスコントローラ11は制御信号MOE
をアクティブにする。バッファ15は乗算器の出力をデ
ータバス上に出力し、この値をプロセッサが内部にリー
ドする。ソースレジスタにデータが設定されてから、乗
算結果をプロセッサが読み込むまでの時間は1クロック
分あるので、この間に乗算器12は乗算を終了すればよ
い。このように従来例では、1回の乗算を実行するため
に最小でも3クロックの時間を要した。実際のプログラ
ムで乗算処理を書くと、以下のような3命令となり、さ
らに多くのクロックが1回の乗算に必要である。 mov r1,@src13_adr ・・・ (1) mov r2,@src14_adr ・・・ (2) mov @mul_adr,r3 ・・・ (3)
【0006】mov命令は第1オペランドをソース、第
2オペランドをデスティネーションとして、データを転
送する命令である。r1、r2、r3はプロセッサの内
部レジスタである。@src13_adr,@src1
4_adr、@mul_adrはそれぞれソースレジス
タ13、ソースレジスタ14、バッファ15のアドレス
へのアクセスを示す。
【0007】命令(1)は、プロセッサの内部レジスタ
r1の値をソースレジスタ13にライトする。命令
(2)は、内部レジスタr2の値をソースレジスタ14
にライトする。命令(3)は、乗算結果を内部レジスタ
r3にリードする。これら3命令でr1とr2の積をr
3に格納している。
【0008】ライトバスサイクルを実行する命令
(1)、(2)の実行クロック数を2、リードバスサイ
クルを含む命令(3)を4とすると、これら3命令の実
行に8クロックを要する。
【0009】このように、乗算器の乗算スピードは1ク
ロックと高速であるにもかかわらず、データの設定と乗
算結果の読みだしのための命令が別になり、この処理時
間が長いので、1回の乗算に8クロックもの時間が必要
であった。
【0010】
【発明が解決しようとする課題】上記したように、従来
のプロセッサシステムではプロセッサから演算器へのデ
ータ設定と、演算器からプロセッサへの演算結果の読み
だしというオーバーヘッドが大きく、処理の高速化を図
れないという欠点があった。
【0011】本発明は、上記欠点を除去し、メモリ読み
だしたデータをデータバスを介さず演算器に与えること
により、プロセッサと演算器とのデータ転送に掛かるオ
ーバーヘッドを最小にすること、また、少ない命令で演
算を実現することによって、命令の実行時間の短縮によ
る性能向上と、プログラムのコードザイズの削減による
メモリ容量の削減を図ることを目的とする。
【0012】
【課題を解決する手段】上記目的を達成するために、本
発明では、アドレス信号と制御信号を出力しデータバス
上のデータを内部レジスタに読み込むプロセッサと、前
記プロセッサの出力する前記アドレス信号により指定さ
れたデータを前記プロセッサの前記制御信号に従って出
力するメモリ回路と、前記メモリ回路の出力データを入
力として演算を行いその演算結果を出力する演算回路
と、前記メモリ回路の出力データを前記演算回路に入力
するための専用線と、前記プロセッサの前記アドレス信
号と前記制御信号に従って前記演算回路から前記演算結
果を前記データバスに出力するか否かを制御する第1の
バッファ回路とを具備することを特徴とするプロセッサ
システムを提供する。
【0013】また、前記メモリ回路が、前記プロセッサ
の前記アドレス信号のうち2つ以上の独立した信号群を
入力とし、その信号群によって指定される独立した2つ
以上のデータを出力することを特徴とするプロセッサシ
ステムを提供する。
【0014】また、前記プロセッサの前記アドレス信号
と前記制御信号により、前記メモリ回路の出力信号と前
記データバスとを接続するか否かを制御する第2のバッ
ファ回路を有し、前記第1のバッファ回路と前記第2の
バッファ回路は、どちらか一方がデータバスへデータを
出力しているときに他方が出力を行わず、前記演算回路
の出力と前記メモリの出力データとの両方を前記プロセ
ッサが読み込むことができることを特徴とするプロセッ
サシステムを提供する。
【0015】また、前記プロセッサの前記アドレス信号
と前記制御信号とにより、前記メモリ回路の出力信号と
前記データバスを接続するか否かを制御する第2のバッ
ファ回路と、前記プロセッサのアドレス信号と制御信号
により、前記プロセッサが前記演算回路からの出力を読
み込むと判断した場合は、前記プロセッサのアドレス信
号のうち2つ以上の独立した信号群を前記メモリ回路に
出力するバスコントロール回路とを有し、前記第1のバ
ッファ回路と前記第2のバッファ回路は、どちらか一方
がデータバスへデータを出力しているときに他方が出力
を行わず、前記演算回路の出力と前記メモリのデータと
を前記プロセッサが読み込むことができることを特徴と
するプロセッサシステムを提供する。また、これらの演
算器が乗算器であることを特徴とするプロセッサシステ
ムを提供する。
【0016】
【作用】本発明で提供する手段を用いれば、専用線を介
して演算器の入力データをメモリ回路から同時に演算器
へ与えることができるので、データ転送のオーバーヘッ
ドを従来と比較して削減できる。この結果、命令の実効
時間が短縮され、プロセッサシステム全体としての性能
向上が図れる。
【0017】また、演算器に入力するオペランドをいっ
たんプロセッサに読込む必要がないため、命令の実効時
間が短縮され、さらにプログラムのコードサイズをその
分だけ削減することが出来る。
【0018】
【実施例】以下に図面を用いてこの発明の実施例を示
す。
【0019】[図1]に、本発明のプロセッサシステム
の第1の実施例を示す。プロセッサシステムは、プロセ
ッサ31、バスコントローラ32、上位RAM33、下
位RAM34、乗算器35、ソースレジスタ36、ソー
スレジスタ37、バッファ38、39、40、ゲート4
1、42を有する。
【0020】プロセッサ31は、基本クロックBCL
K、2倍周波数クロックCLKに同期して動作する。プ
ロセッサの信号は、アドレスバス、データバス、コント
ロールバスに接続されている。
【0021】アドレス信号A00〜A29は、プロセッ
サによってバスサイクル実行時にアクセスするアドレス
が出力される信号である。A00〜A29は、アドレス
バスに接続されている。
【0022】データ信号D00〜D31は、データのリ
ード、ライトの為に使用され、データバスに接続されて
いる。リードバスサイクルではプロセッサは、D00〜
D31上のデータを内部に読み込む。ライトバスサイク
ルではプロセッサは、D00〜D31へデータを出力す
【0023】バイトコントロール信号BC0〜BC3
は、プロセッサによってバスサイクル実行時にアクセス
するバイト位置に対応してアクティブ(0:Lowレベ
ル)にされる信号である。BC0、BC1、BC2、B
C3がアクティブのとき、それぞれデータ信号D00〜
D07、D08〜D15、D16〜D23、D24〜D
31がアクセスされることを示している。
【0024】リード/ライト信号RWは、バスサイクル
がリードかライトかを示す信号である。プロセッサは、
リードバスサイクルのときRW信号を1(Highレベ
ル)に、ライトバスサイクルの時0(Lowレベル)に
する。アドレスストローブ信号ASは、プロセッサによ
ってバスサイクル中でアクティブ(0:Lowレベル)
にされる信号である。
【0025】データ転送終了信号DCは、バスサイクル
の終了を制御する信号である。外部回路がDC信号をア
クティブ(0:Lowレベル)にするとプロセッサはそ
のクロックでバスサイクルを終了する。
【0026】バイトコントロール信号BC0〜BC3、
リード/ライト信号RW、アドレスストローブ信号A
S、データ転送終了信号DCはコントロールバスに接続
されている。
【0027】バスコントローラ32は、上位RAM33
と下位RAM33へのアクセス、ソースレジスタ36と
ソースレジスタ37へのデータ書き込みを制御する回路
である。バスコントローラ32は、プロセッサが出力し
たアドレス信号A00〜A29、バイトコントロール信
号BC0〜BC3、リード/ライト信号RW、AS信号
をアドレスバス、コントロールバスを介して入力する。
上位RAM33へアドレス信号RADRH0〜RADR
H7とイネーブル信号CE0、CE1、下位RAMへア
ドレス信号RADRL0〜RADRL7とイネーブル信
号CE2、CE3、共通にリード/ライト信号RRWを
出力する。また、乗算器のソースレジスタ36、ソース
レジスタ37のデータラッチのタイミングを示すSCL
K信号を出力する。
【0028】上位RAM33と下位RAM34は、デー
タやプログラムを格納しているメモリであり、上位RA
M33は専用線を介してソースレジスタ36に接続さ
れ、バッファ38を介してデータバスD00〜D15に
接続されている。下位RAMは専用線を介してソースレ
ジスタ37に接続され、バッファ39を介してデータバ
スD16〜D31に接続されている。RAMの各ワード
は、アドレス信号RADRH0〜7、RADRL0〜7
によって選択される。本実施例では、アドレスは8本で
あるので、各RAMのサイズは512バイトである。ま
た、イネーブル信号CE0〜CE3により、バイト単位
でアクセスが可能である。CE0〜CE3がアクティブ
(0:Lowレベル)になったときに、RAMからのデ
ータ読みだし、RAMへのデータ書き込みが行われる。
リードライト信号RRWが1(Highレベル)のとき
はリードアクセスであり、RAMはデータを出力する。
リードライト信号PRWが0(Lowレベル)のときは
ライトアクセスであり、RAMはデータの書き込みを行
う。
【0029】乗算器35は、16ビットデータIX0〜
IX15とIY0〜IY15を入力とし、32ビットの
乗算結果IP0〜IP31を出力する。IXM,IYM
は、それぞれIX0〜IX15、IY0〜IY15が符
号付き整数(IXM、IYM=1)か、符号なし整数
(IXM、IYM=0)かを示している。符号付き整数
は2の補数表現を採っている。2つの入力データIX0
〜IX15、IY0〜IY15がともに符号なし整数
(IXM=IYM=0)の場合、乗算結果は符号なしと
なり、どちらか一方でも符号付き整数の場合は、乗算結
果も符号付きとなる。IRNDは、乗算器結果の上位1
6ビットを丸めるかを指定する信号である。IRNDが
1のときのみ下位16ビットの最上位ビット(IP1
5)に1を加える。このような乗算器の例として東芝ス
タンダードセルTC25SCシリーズのハードマクロセ
ルMP16がある。[図2]にこの乗算器の回路構成図
を示す。次に、[図1]のプロセッサシステムの動作に
ついて説明していく。プロセッサシステムの動作は、R
AMアクセス動作と乗算動作に分けられる。 (1)RAMアクセス動作
【0030】RAMアクセス動作では、上位RAMと下
位RAMは通常の32ビット幅のRAMとしてアクセス
される。上位RAM33、下位RAM34の同一のアド
レスのワードがアクセスされる。
【0031】アドレスフォーマットの例を[図3]に示
す。RADRフィールドA22〜A29が上位RAM3
3と下位RAM34のRAMアドレス(RADRH0〜
7、RADRL0〜7)として共通に使用される。ま
た、[図3]の例では、上位アドレスA00〜A21は
全て0である。
【0032】RAMアクセス動作ではバスコントローラ
32は、BC0〜3に対応したCE0〜CE3をアクテ
ィブにし、バイト単位で上位RAM33と下位RAM3
4をアクセスする。RW信号が1でリードバスサイクル
のときはRRW信号を1にしてメモリからデータを読み
出す。RW信号が0でライトバスサイクルのときはRR
W信号を0にしてバス上のデータを上位RAM33と下
位RAM34にデータを書き込む。バスコントローラ3
2は、A22〜A29をRADRH0〜RADRH7と
RADRL0〜7に出力し、上位RAM33と下位RA
M34の同一のワードをアクセスする。
【0033】RAMアクセス状態では、双方向バッファ
38、39は、A00信号によってイネーブル状態であ
り、また方向はRW信号によって制御されている。RW
信号が1でリードバスサイクルのときは、RAMの出力
がデータバスに出力される。RW信号が0でライトバス
サイクルのときは、データバス上にプロセッサから出力
されたデータがRAMに入力されている。また、ゲート
40はA00、RW、AS信号によりディスエーブルと
なっており、乗算器の出力がデータバスへ出力されな
い。このように、RAMアクセス動作では上位RAM3
3と下位RAM34を32ビットのRAMとしてアクセ
スする。 (2)乗算動作
【0034】乗算動作では、上位RAMから読みだされ
てたデータがソースレジスタ36に、下位RAMから読
みだされてたデータがソースレジスタ37にデータバス
を介すことなく専用線を用いて直接格納され、乗算結果
IP0〜31がデータバスに出力される。次のクロック
でこの乗算結果をプロセッサが読み込む。
【0035】乗算動作は、プロセッサが出力するアドレ
ス信号とRW信号で判断する。アドレスA00が1かつ
A04〜A13が全て0かつRWが1(リードバスサイ
クル)のとき乗算動作となる。
【0036】乗算動作では、バスサイクルで出力される
アドレスの内、独立したフィールドを上位RAM33と
下位RAM34のRAMアドレス(RADRH0〜7、
RADRL0〜7)とする。これにより、上位RAMと
下位RAMから独立したワードデータをリードし、乗算
のソースデータとして使用できる。
【0037】乗算動作時のアドレスフォーマットの例を
[図4]に示す。A00が1かつA04〜A13が全て
0であり、乗算動作であることを示している。A01、
A02,A03はそれぞれIRND、IXM、IYMに
接続され、乗算のモードを指定する。A14〜A21は
上位RAMへのアドレスRADRHであり、このフィー
ルドで指定された上位RAMのワードが読みだされる。
A22〜A29は下位RAMへのアドレスRADRLで
あり、このフィールドで指定された下位RAMのワード
が読みだされる。
【0038】乗算動作ではバスコントローラ32は、C
E0〜CE3をアクティブにし、RRWを1にしてメモ
リからデータを読みだす。バスコントローラ32は、A
14〜A21をRADRH0〜RADRH7へ、A22
〜A29をRADRL0〜RADRL7に出力し、上位
RAM、下位RAMの独立したワードを読み出す。上位
RAMから読みだされたデータは専用線を介してソース
レジスタ36へ、下位RAMから読みだされたデータは
専用線を介してソースレジスタ37に格納され、乗算器
35へ出力される。このとき、双方向バッファ38、3
9はA00信号によってディスエーブル状態であり、R
AMの出力はデータバスには出力されない。ゲート40
はA00、RW、AS信号によりイネーブルとなってお
り、乗算器の出力がデータバスへ出力される。したがっ
て、プロセッサは、1回のリードバスサイクルで16ビ
ットの乗算を実行できる。
【0039】上記、RAMアクセス動作、乗算動作を実
現するため、バスコントローラ32は[図5]のような
構成になっている。RAMに対するリードライト信号R
RWは、ゲート65によりライトバスサイクルでASが
アクティブ(0:Lowレベル)の間だけ0(Lowレ
ベル)となる。A00〜A21が全て0(Lowレベ
ル)のときはRAMアクセスであり、RM信号がアクテ
ィブ(0:Lowレベル)となる。A00が1かつA0
4〜A13が全て0かつRWが1のときは乗算動作であ
り、MM信号がアクティブ(0:Lowレベル)とな
る。CE0〜CE3は、RAMアクセス動作と乗算動作
でASがアクティブの間アクティブ(0:Lowレベ
ル)になる。MM信号がアクティブで乗算動作のとき、
セレクタ61によりA14〜1がRADRH0〜RAD
RH7に出力される。それ以外はA22〜A29がRA
DRH0〜RADRH7へ出力される。RADRL0〜
7にはA22〜A29が出力される。RAMアクセスの
場合、バスサイクル開始のクロックでプロセッサへデー
タ転送終了信号DCを返す。したがって、RAMアクセ
スを1クロックで実行する。乗算動作では、バスコント
ローラはフリップフロップ62により、1クロック遅れ
てプロセッサにデータ転送終了信号DCを返す。乗算動
作は2クロックで完了する。乗算動作のときSCLKに
たち下がりエッジを出力する。
【0040】[図6]に、乗算動作のタイミングを示
す。クロック1ではプロセッサ31は、第5図に相当す
るアドレスを出力する。ここで、IRND=IXM=I
YM=0、RADRHフィールド=A、RADRLフィ
ールド=Bとする。バスコントローラは、乗算動作のア
ドレスを認識して、CE0〜3をアクティブ(0:Lo
wレベル)にする。贈位RAM33にはAが、下位RA
M34にはBが与えられ、それぞれのRAMの内容が
用線を介してソースレジスタ36、37へ出力される。
バスコントローラ32からのSCLKの立ち上がりエッ
ジでRAMからの出力をソースレジスタ36、37にラ
ッチする。ラッチされたデータにより乗算が計算され
る。クロック2では、バスコントローラはデータ転送終
了信号DCをアクティブにする。プロセッサ31は、バ
ッファ40を介してデータバス上に出力されている乗算
結果をリードする。ソースレジスタに値が設定されてか
ら、乗算結果が読まれるまでは、従来例と同じ1クロッ
クの時間がある。従って同一のスピードで乗算器を使用
可能である。本実施例では1回の乗算を1回のリードバ
スサイクルで行うので2クロックサイクルで実効可能で
ある。
【0041】次に、本発明のプロセッサシステムで乗算
を行う場合のプログラミング例を示す。乗算は1回のリ
ードバスサイクルで実行されるので、mov @me
m,regといったメモリからレジスタへの転送命令な
どを使用する。ここで第1オペランドはメモリリードア
クセスを示しており、memを第5図に示す乗算動作の
ためのアドレス値にしておけば、乗算結果を内部レジス
タregに格納できる。
【0042】例えば、アドレスh’10(h’は16進
数を示す)の符号なしワード(16ビット)データAと
アドレスh’C2の符号なしワードデータBの乗算を行
い、その32ビットの乗算結果をプロセッサの内部レジ
スタr0に格納する命令を考える。
【0043】データAは上位RAMに格納されており、
そのRAMのワードアドレスはh’04である。また、
データBは下位RAMに格納されており、そのRAMの
ワードアドレスはh’30である。したがって、[図
4]に示す乗算動作のアドレスは、A00=1、IRN
D=IXM=IYM=0よりA01=A02=A03=
0、A04〜A13=0〜0、A14〜A21=h’0
4、A22〜A29=h’30となり、まとめるとアド
レスh’800010c0となる。従って mov @h’800010c0,r0 により、データAとBの積を求め、内部レジスタr0に
格納することができる。
【0044】上位16ビットをまるめた結果のみをr0
に格納するのであれば、IRND=1よりA01=1の
アドレスから、16ビット幅でリードすればよい。この
命令は以下のようになる。 mov @h’c00010c0.h,r0.h オペランドの後の”.h”は16ビット幅のデータ転送
であることを示している。また、データが符号付き整数
ならば、IXM、IYMを1にしたアドレスからリード
すればよい。プログラムの次の例として、データAとB
の積を内部レジスタr0に加える内積演算を考える。こ
れは以下の加算命令で実現できる。 add @h’800010c0,r0
【0045】加算命令addは、第1オペランドの値を
第2オペランドに加える。従って、上記命令では、アド
レスh’800010c0から読みだしたデータAとB
の積をr0に加えることになる。内積演算は、信号処理
などの応用に高い頻度で出現する演算であり、本プロセ
ッサシステムでは加算命令で容易にこの演算を実現でき
る。
【0046】次に本発明の第2の実施例を[図7]に示
す。第1の実施例では乗算はソースデータの1つは上位
RAM、もう1つは下位RAMに格納されていなければ
ならなかった。第2の実施例ではRAMを2ポートRA
Mで構成することにより、このような制約をなくしたも
のである。第2の実施例のプロセッサシステムは、プロ
セッサ81、バスコントローラ82、2ポートRAM8
3、乗算器85、ソースレジスタ86、ソースレジスタ
87、バッファ88、89、90、ゲート91、92か
ら構成されている。バスコントローラ82と2ポートR
AM83以外は、第1の実施例と同じである。
【0047】バスコントローラ82は、2ポートRAM
83へのアクセス、ソースレジスタ86とソースレジス
タ87へのデータ書き込みを制御する回路である。バス
コントローラ82は、プロセッサが出力したアドレス信
号A00〜A29、バイトコントロール信号BC0〜B
C3、リード/ライト信号RW、AS信号をアドレスバ
ス、コントロールバスを介して入力する。2ポートRA
M83の上位ポートPORTHへアドレス信号RADR
H0〜RADRH8とイネーブル信号CE0、CE1、
下位ポートPORTLアドレス信号RADRL0〜RA
DRL8とイネーブル信号CE2、CE3、共通にリー
ド/ライト信号RRWを出力する。また、乗算器のソー
スレジスタ36、ソースレジスタ37のデータラッチの
タイミングを示すSCLK信号を出力する。
【0048】第1の実施例と同様に、A00〜A28が
全て0のバスサイクルのときRAMアクセス動作とな
る。このとき、バスコントローラ82は、RADRH0
=0、RADRH1〜RADRH8=A22〜A29、
RADRL=1、RADRL1〜RADRL8=A22
〜A29を出力する。
【0049】A00=1かつA04〜A13=0〜0か
つRW=1(リードアクセス)のとき、乗算動作とな
る。このとき、バスコントローラ82は、CE0〜CE
3をアクティブにし、RADRH0〜8にA12〜A2
0を、RADRL0〜RADRL8にA21〜A29を
出力する。このときのアドレスのフォーマットを[図
8]に示す。
【0050】2ポートRAM83は、データやプログラ
ムを格納しているメモリであり、上位ポートPORTH
専用線を介してソースレジスタ86に接続され、バッ
ファ88を介してデータバスD00〜D15に接続され
ている。下位ポートPORTLは専用線を介してソース
レジスタ87に接続され、バッファ89を介してデータ
バスD16〜D31に接続されている。2ポートRAM
の各ワードは、アドレス信号RADRH0〜8、RAD
RL0〜8によって同時に2ワードをアクセスすること
ができる。本実施例では、アドレスは9本であるので、
2ポートRAMのサイズは1Kバイトである。
【0051】このように第2の実施例では、RAMを2
ポートRAMにすることにより、任意の2つのデータを
同時にリードすることができ、それを乗算器のソースデ
ータとして使用することができる。
【0052】発明の内容はこれに限定されるものではな
い。例えば、32ビット幅のRAMにも同等に適用でき
る。また、乗算器も入力16ビット、出力32ビットの
ものを述べてきたが、これに限定されるものではなく、
入力32ビット、出力32ビットなどの乗算器にも適用
できる。
【0053】実施例では、RAMのサイズが合計1Kバ
イトの場合のものを述べてきたが、本発明はこれに限定
されるものではなく、512バイトあるいは2Kバイト
などのサイズのRAMでも適用できる。実施例では、メ
モリとしてRAMを使用した場合を説明したが、本発明
はこれに限定されるものではなくROMを使用してもよ
い。
【0054】また、実施例では乗算器の例を説明した
が、データを外部から入力し、それに対する演算結果を
出力するような演算回路一般に、本発明の手法が適用で
きる。例えば、浮動小数点演算回路に対して本発明の手
法を適用できる。
【0055】実施例では、2つのソースデータを同時に
演算器に入力した場合を説明したが、本発明はこれに限
定されるものではなく1つあるいは3つ以上のデータを
同時に演算器に入力してもよい。
【0056】本発明では、演算器のソースデータをメモ
リから専用線を介して同時に演算器へ与えることができ
るので、データの転送のヘッドを削減できる。例えば演
算器として1クロックで乗算可能な乗算器を使用した場
合、従来のシステムでは最少3クロック掛かっていた乗
算が、本実施例では最少2クロックで実効可能となる。
【0057】また、本発明では、1回のリードオペレー
ションで乗算が行えるので、1つのデータ転送命令で乗
算が可能である。従来例では2回のライトバスサイクル
と1回のリードバスサイクルを実行しなければならなか
ったので3つの命令が必要であった。リードオペレーシ
ョンを行う命令の実行クロック数を4クロック、ライト
バスサイクルを実行する命令の実行クロック数を2クロ
ックとすると、従来例では8クロック掛かった乗算を本
発明では4クロックで実行可能である。このように、従
来例に比べ乗算を高速に処理できる。また、同時に本発
明ではプログラムのコードサイズを削減することができ
る。
【0058】さらに、本発明では1つのadd命令で高
速に、内積演算を実現できる。内積演算は信号処理など
に高い頻度で出現する演算であり、このような応用で本
発明のプロセッサシステムは高い性能を発揮できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例を表した回路構成図。
【図2】本発明の第1の実施例を表した回路構成図。
【図3】本発明の第1の実施例で用いるアドレスフォー
マット。
【図4】本発明の第1の実施例で用いるアドレスフォー
マット。
【図5】本発明の第1の実施例を表した回路構成図。
【図6】本発明の第1の実施例を表したタイミングチャ
ート。
【図7】本発明の第2の実施例を表した回路構成図。
【図8】本発明の第2の実施例で用いるアドレスフォー
マット。
【図9】従来例を表した回路構成図。
【図10】従来例の動作時のタイミングチャート。
【符号の説明】
31 プロセッサ 32 バスコントローラ 33 上位RAM 34 下位RAM 35 乗算器 36、37 ソースレジスタ 38、39、40 バッファ 41、42 ゲート

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】アドレス信号と制御信号を出力しデータバ
    ス上のデータを内部レジスタに読み込むプロセッサと、 前記プロセッサの出力する前記アドレス信号により指定
    されたデータを前記プロセッサの前記制御信号に従って
    出力するメモリ回路と、 前記メモリ回路の出力データを入力として演算を行いそ
    の演算結果を出力する算回路と、 前記メモリ回路の出力データを前記演算回路に入力する
    ための専用線と、 前記プロセッサの前記アドレス信号と前記制御信号に従
    って前記演算回路から前記演算結果を前記データバスに
    出力するか否かを制御する第1のバッファ回路とを有し
    前記メモリ回路が、前記プロセッサの前記アドレス信号
    のうち2つ以上の独立した信号群を入力とし、この信号
    群によって指定される独立した2つ以上のデータを同時
    に出力することを特徴とするプロセッサシステム。
  2. 【請求項2】前記プロセッサの前記アドレス信号と前記
    制御信号により、前記メモリ回路の出力信号と前記デー
    タバスとを接続するか否かを制御する第2のバッファ回
    路を有し、 前記第1のバッファ回路と前記第2のバッファ回路は、
    どちらか一方がデータバスへデータを出力しているとき
    に他方が出力を行わないことを特徴とする請求項1記載
    のプロセッサシステム。
  3. 【請求項3】前記プロセッサの前記アドレス信号と前記
    制御信号とにより、前記メモリ回路の出力信号と前記デ
    ータバスを接続するか否かを制御する第2のバッファ回
    路と、 前記プロセッサの前記アドレス信号と前記制御信号によ
    り、前記プロセッサが前記演算回路からの出力を読み込
    むと判断した場合は、前記プロセッサの前記アドレス信
    号のうち2つ以上の独立した信号群を前記メモリ回路に
    出力するバスコントロール回路とを有し、 前記第1のバッファ回路と前記第2のバッファ回路は、
    どちらか一方が前記データバスへデータを出力している
    ときに他方が出力を行わないことを特徴とする請求項
    記載のプロセッサシステム。
  4. 【請求項4】前記演算回路が乗算回路であることを特徴
    とする請求項1から請求項までのいづれか1の請求項
    記載のプロセッサシステム。
JP4109770A 1992-04-28 1992-04-28 プロセッサシステム Expired - Lifetime JP2659886B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4109770A JP2659886B2 (ja) 1992-04-28 1992-04-28 プロセッサシステム
US08/053,565 US5524259A (en) 1992-04-28 1993-04-28 Processor system having an external arithmetic device for high speed execution of computation of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4109770A JP2659886B2 (ja) 1992-04-28 1992-04-28 プロセッサシステム

Publications (2)

Publication Number Publication Date
JPH0628310A JPH0628310A (ja) 1994-02-04
JP2659886B2 true JP2659886B2 (ja) 1997-09-30

Family

ID=14518793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4109770A Expired - Lifetime JP2659886B2 (ja) 1992-04-28 1992-04-28 プロセッサシステム

Country Status (1)

Country Link
JP (1) JP2659886B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01233515A (ja) * 1988-03-14 1989-09-19 Canon Inc 情報処理装置
JPH02181821A (ja) * 1989-01-09 1990-07-16 Nippon Telegr & Teleph Corp <Ntt> 演算装置

Also Published As

Publication number Publication date
JPH0628310A (ja) 1994-02-04

Similar Documents

Publication Publication Date Title
JPH0844565A (ja) レジスタファイル装置及びレジスタファイルアクセス方法
JPH0248931B2 (ja)
US5822613A (en) Digital signal processing unit having three buses for simultaneously transmitting data on each bus
JPS61118850A (ja) マイクロプロセツサ
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US5581720A (en) Apparatus and method for updating information in a microcode instruction
JP2659886B2 (ja) プロセッサシステム
US7228367B2 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
US5524259A (en) Processor system having an external arithmetic device for high speed execution of computation of data
JPH11259417A (ja) バスアクセス方式およびバスアクセス制御装置
US6219740B1 (en) Information processing device
JPS60195661A (ja) デ−タ処理システム
US5689658A (en) Data processing system
JPH05303543A (ja) プロセッサシステム
JP3155056B2 (ja) 情報処理装置
JP3182796B2 (ja) 中央演算処理装置
JPH08314797A (ja) メモリアクセス方式
JPH0330899B2 (ja)
JPS6246353A (ja) メモリ読出し方式
JPH03184143A (ja) メモリアクセス方式
JP2001100991A (ja) ディジタル信号処理装置
JPS6340954A (ja) 記憶装置
JPH0310977B2 (ja)
JPS6285339A (ja) マイクロコンピユ−タ
JPS63313251A (ja) アドレッシング回路

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100606

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100606

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 15

EXPY Cancellation because of completion of term