JP2816624B2 - 2乗演算を実行する速度改良型データ処理システム及びその方法 - Google Patents

2乗演算を実行する速度改良型データ処理システム及びその方法

Info

Publication number
JP2816624B2
JP2816624B2 JP4090280A JP9028092A JP2816624B2 JP 2816624 B2 JP2816624 B2 JP 2816624B2 JP 4090280 A JP4090280 A JP 4090280A JP 9028092 A JP9028092 A JP 9028092A JP 2816624 B2 JP2816624 B2 JP 2816624B2
Authority
JP
Japan
Prior art keywords
address
data
memory
equal
data path
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
JP4090280A
Other languages
English (en)
Other versions
JPH05100948A (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.)
Motorola Solutions Inc
Original Assignee
Motorola Solutions Inc
Motorola Inc
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 Motorola Solutions Inc, Motorola Inc filed Critical Motorola Solutions Inc
Publication of JPH05100948A publication Critical patent/JPH05100948A/ja
Application granted granted Critical
Publication of JP2816624B2 publication Critical patent/JP2816624B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/552Indexing scheme relating to groups G06F7/552 - G06F7/5525
    • G06F2207/5523Calculates a power, e.g. the square, of a number or a function, e.g. polynomials

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にデータ処理システ
ムに関し、特に、2つもしくはそれ以上のデータパスを
備えたデータプロセッサを有するデータ処理システムに
関する。
【0002】
【従来の技術】ディジタル信号プロセッサ(DSP)と
して知られるデータプロセッサは、通信、制御、計器、
ディジタルオーディオ等の応用分野においてますます頻
繁に使用されてきた。DSPはデータプロセッサの特殊
なタイプであって、リアルタイムでデータストリームを
効率的に処理するために設計されたものである。一例は
高速フーリエ変換(FFT)であり、リアルタイムの信
号を周波数領域表現に変換してフィルタリングのような
処理をする。一旦、フィルタリングが達成されると、信
号は時間領域に戻される。DSPは計算集約的(com
putation−intensive)データプロセ
ッサであり、従って、ある算術的操作を効率的に実行で
きるようになっていなければならない。
【0003】データの高速算術処理を達成する一方法
は、DSPが2つの別個のオペランドを独立に2つの別
個のデータパスを介してアクセスすることである。たと
えば、“A Digital Signal Proc
essor with IEEE Floating−
Point Arithmetic”by Sohi
e,G.and Kloker,K.,IEEE Mi
cro,vol.8,no.6,December 1
988,pp.49−67。2つのデータパスを介して
アクセスされるデータは物理的に区別されたメモリシス
テム内に存在させることができるが、最も代表的には同
一のメモリシステムに存在する。DSPは第1のデータ
パスを介して1つのオペランドをフェッチし第2のデー
タパスを介して他のオペランドをフェッチすることによ
って乗算演算を実行できる。このような演算に対するア
センブリコード簡略記述(mnemonic)は、mp
y(r0)*(r1)とすることができ、ただし、r
0、r1は乗算演算の2つのオペランドとして、それぞ
れ、第1、第2のデータパスを介してアクセスされるべ
きデータのポインタである。
【0004】ディジタル信号処理の計算アルゴリズムは
しばしばオペランドを2乗する、つまり、オペランドを
それ自身によって乗算することを含む。2乗演算の速度
を最大にするために、各データパスから1つのオペラン
ドをフェッチすることが望ましい。このような演算の簡
略記述は、mpy(r0)*(r0)とすることがで
き、ただし、r0は2乗すべきオペランドへのポインタ
である。
【0005】
【発明が解決しようとする課題】しかしながら、第1、
第2のデータパスが同一の物理的メモリに設けられてい
ると、このような演算は問題を起こす。同じデータを同
じ記憶位置から2回読出して2つの異なるデータパスへ
提供するので、2乗演算mpy(r0)*(r0)は多
重サイクル(multiple cycles)を必要
とする。
【0006】
【課題を解決するための手段】本発明によれば、一形式
として、第1、第2のメモリ部、コントローラ、マルチ
プレクス手段、および論理手段を備えたメモリシステム
が提供される。コントローラは第1、第2の入力アドレ
スを受信し、これに応じてそれぞれ第1、第2のメモリ
部に第1、第2のメモリアドレスを提供する。マルチプ
レクス手段は第1、第2のメモリ部に接続され、第1の
アドレスの第1の部分に応答して第1のメモリ部からの
データを第1もしくは第2のデータパスにマルチプレク
スし、第2のアドレスの第1の部分に応答して第2のメ
モリ部からのデータを第1もしくは第2のデータパスに
マルチプレクスする。論理手段は第1のアドレスの第1
の部分と第2のアドレスの第1の部分とが同一でありか
つ第1のアドレスの第2の部分と第2のアドレスの第2
の部分とが異なるときに待ち信号を発生する。
【0007】
【作用】上述の手段によれば、2乗演算は多重サイクル
を必要としない。
【0008】
【実施例】図1は2つのデータパスを備えたデータプロ
セッサを有するデータ処理システム20を示すブロック
図である。データ処理システム20は、一般に、ディジ
タル信号プロセッサ21及びメモリシステム22を含
む。特に、メモリシステム22は、メモリコントローラ
23、「メモリバンク0」と名付けられた第1のメモリ
部24、「メモリバンク1」と名付けられた第2のメモ
リ部25、マルチプレクサ26、マルチプレクサ27、
比較器28を含む。ディジタル信号プロセッサ21は2
つのデータパスを有し、その1つのデータパスは16個
の双方向性データ信号“XDATA”を伝達し、他のデ
ータパスは16個の双方向性データ信号“YDATA”
を伝達する。ディジタル信号プロセッサ21は2つのア
ドレス“XADDRESS”、“YADDRESS”を
発生してメモリシステム22内のデータをアクセスす
る。XADDRESSは最上位ビット“XBANK”及
びその残りのビット部“XINDEX”よりなる。YA
DDRESSは最上位ビット“YBANK”及びその残
りのビット部“YINDEX”よりなる。図示の実施例
では、XDATA、YDATAは、共に、16ビットの
汎用双方向性データパスである。他の実施例では、デー
タパスの一方もしくは両方を読出し専用とすることがで
きる。また、本発明が異なるアドレス/データのバスサ
イズに適用し得ることは明らかである。
【0009】メモリコントローラ23は、XADDRE
SS、YADDRESSの双方を受信し、複数のアドレ
ス信号“BANK 0 INDEX”を第1のメモリ部
24に提供し、また、複数のアドレス信号“BANK
1 INDEX”を第2のメモリ部25に提供する。メ
モリ部24,25の各々は16個の双方向性データ信号
線をマルチプレクサ26,27の双方に結合させる。マ
ルチプレクサ26は両メモリ部24,25に接続され、
ディジタル信号プロセッサ21からアドレス信号XBA
NKを受信し、また、XDATAパスに接続されてい
る。マルチプレクサ27は両メモリ部24,25に接続
され、ディジタル信号プロセッサ21からアドレス信号
YBANKを受信し、また、YDATAパスに接続され
ている。比較器28はアドレス信号XBANK、YBA
NKを受信し、信号“WAIT”をディジタル信号プロ
セッサ21に操作する。種々のタイミングおよび制御信
号がデータ処理システム20の図示から省略されている
が、このような制御信号のタイミング及び機能の説明は
当業者において公知であり、本発明の理解において必須
のものではない。
【0010】データ処理システム20において、ディジ
タル信号プロセッサ21は通常のディジタル信号プロセ
ッサであって、2つのアドレスによってアクセスされ
る、2つの別個のデータパスを介してデータをアクセス
する。第1のアドレスXADDRESSは上位アドレス
ビットXBANKを含み、メモリ部24、25のいずれ
がXDATAパスに接続されるかを選択する。XADD
RESSの残りのビットはXBANKによって選択され
たメモリ部へのインデクスを提供する。第2のアドレス
YADDRESSは上位アドレスビットYBANKを含
み、メモリ部24、25のいずれがYDATAパスに接
続されるかを選択する。YADDRESSの残りのビッ
トはYBANKによって選択されたメモリ部へのインデ
クスを提供する。メモリアクセス期間においては、実行
される命令がそのように特定していれば、ディジタル信
号プロセッサ21はXDATA、YDATAパスの双方
からのデータを同時にアクセスできる。2つのデータパ
スを有することは、特にリアルタイム信号処理のような
計算集約的応用において、単一のデータパスに対し、デ
ィジタル信号プロセッサ21の性能を改良する。他の実
施例においては、二重データパスがDSPシステムに特
に適しているが、ディジタル信号プロセッサ21は汎用
プロセッサもしくは整数データプロセッサとすることが
できる。
【0011】理想的には、XDATA、YDATAパス
へのアクセスは遅延なく同時に発生させることができ
る。メモリシステム22はより容易に遅延を防止するた
めに2つのメモリ部24,25を有する。XDATAパ
スを介してアクセスされるすべてのオペランドが1つの
メモリ部に存在し、かつ、YDATAパスを介してアク
セスされるすべてのオペランドが他のメモリ部に存在す
れば、各演算は遅延なく実行され、これにより、2つの
データオペランドをディジタル処理プロセッサに1メモ
リアクセスサイクルで提供できる。XBANK、YBA
NKが同一であれば、両データパスを介してアクセスさ
れるデータは同じメモリ部に存在することを示し、従っ
て、衝突が発生する。比較器28はこの衝突を検出して
ディジタル信号プロセッサ21への信号WAITを活性
化する。衝突が発生して信号WAITが活性化される
と、メモリフェッチはシーケンシャルになされなければ
ならず、ディジタル信号プロセッサ21へのデータ提供
には2サイクル必要となる。
【0012】たとえば、読出しアクセス中とすれば、オ
ペランドはXDATA、YDATAパスの双方を介して
要求され、また、XADDRESS、YADDRESS
は双方ともメモリ部24のアドレス空間内にある。メモ
リコントローラ23はXBANK、YBANKを調べる
ことによって衝突を認識する。第1のサイクルにおいて
は、メモリコントローラ23はXADDRESSの下位
15ビットに応答してBANK 0 INDEXをメモ
リ部24に提供し、アクセス場所の内容がXDATAと
してマルチプレクサ26を通過する。また、比較器28
はXBANK、YBANKを比較することによって衝突
を認識し、それに応じて信号WAITを活性化させる。
また、YBANKがマルチプレクサ27によりXADD
RESSによってアクセスされたメモリ部24からのデ
ータをYDATAパスに接続するが、ディジタル信号プ
ロセッサ21は信号WAITを受信してXDATAパス
を介して第1のオペランドのみを読込む。
【0013】第2のサイクルにおいては、メモリコント
ローラ23はYADDRESSに応答してBANK 0
INDEXをメモリ部24に提供し、アクセス場所の
内容がYDATAとしてマルチプレクサ27を通過す
る。比較器28は信号WAITを非活性化させ、第2の
オペランドがYDATAパス上に受信できることをディ
ジタル信号プロセッサ21に指示する。また、第2のサ
イクルではXBANKがマルチプレクサ26によりYA
DDRESSによってアクセスされたメモリ部24から
のデータをXDATAパスに接続するが、ディジタル信
号プロセッサ21は信号WAITの否定を検知してYD
ATAパスを介して第2のオペランドのみを読込む。
【0014】mpy(r0)*(r0)のような2乗演
算が発生すると、内部レジスタ“r0”に位置する第
1、第2のアドレスは同一である。従って、XADDR
ESS、YADDRESSの第1の部分(XBANK、
YBANK)は同一であり、XADDRESS、YAD
DRESSの第2の部分(下位15ビット)も同一であ
る。比較器28は衝突を検出して信号WAITを活性化
させる。ディジタル信号プロセッサ21は第1のサイク
ルでXDATAオペランドをフェッチし、第2のサイク
ルでYDATAオペランドをフェッチする。
【0015】図1のデータ処理システムに関連する信号
のタイミング図を示す図2を参照すると、代表的なアク
セスは時刻t0で発生する。このアクセスでは、たとえ
ばmpy(r0)*(r1)であるが、メモリ部24は
XADDRESSによってアドレスされたバンク0デー
タ(BANK 0 DATA)をXDATAパスに提供
し、メモリ部25はYADDRESSによってアドレス
されたバンク1データをYDATAパスに提供する。こ
こで、r0はメモリバンク0における記憶位置へのポイ
ンタ、r1はメモリバンク1における記憶位置へのポイ
ンタである。なお、バンク0データ、バンク1データは
単一の記憶位置からのデータエレメントを示さず、むし
ろ、それぞれ、メモリ部24,25からの幾つかのデー
タエレメントを示す。データは両データパスに提供さ
れ、命令mpy(r0)*(r1)は、t0と“t1”
と名付けられた時間との間の時間である、1メモリアク
セスサイクルで完了する。次のアクセスはt1と“t
2”と名付けられた時間との間で発生し、この間にバン
ク0データがXDATAパス上のXADDRESSでア
ドレスされ、バンク1データがYDATAパス上のYA
DDRESSでアドレスされる。このようにして、デー
タ処理システム20はリアルタイムDSP動作に対して
2つのデータパスを介してデータをアクセスする効率的
なシステムを提供する。
【0016】しかしながら、簡略記述mpy(r0)*
(r0)によって表される2乗演算が発生すると、XA
DDRESSによってアドレスされたバンク0データか
らの単一のオペランドがXDATAパス及びYDATA
パスの双方によってアクセスされるべきである。衝突が
発生し、また、比較器28が信号WAITを活性化す
る。t2および“t3”と名付けられた時間の間の、第
1のサイクルでは、XADDESSによってアドレスさ
れたバンク0データがXDATAパスに提供される。X
ADDRESSによってアドレスされたバンク0データ
がYDATAパス上に存在するが、信号WAITが活性
化されているので、YDATAパスはアイドルとなる。
次のサイクルでは、t3以後、信号WAITが非活性と
なり、また、YADDRESSによってアドレスされた
バンク0データがXDATAパス上に存在しても、XD
ATAパスはアイドルであり、YDATAパスがバンク
0データを受信する。このように、データ処理システム
20においては、2乗演算は2つのメモリアクセスサイ
クルを必要とし、各データパスからの帯域幅が浪費され
る。
【0017】図3は本発明に係わるデータ処理システム
20′を示すブロック図である。データ処理システム2
0′は図1のデータ処理システム20と共通のいくつか
の要素を有しており、これら共通の要素には同様の参照
番号を与えてある。さらに、メモリシステム22′は、
比較器30、インバータ31、及びアンドゲート32を
含む。比較器30は、15個の信号XINDEXを受信
する第1の組の入力端子、15個の信号YINDEXを
受信する第2の組の入力端子、及び出力端子を有する。
インバータ31は比較器30の出力端子に接続された入
力端子、及び信号*SQUAREを提供する出力端子を
有する。*SQUAREは2乗演算進行中を示す活性時
ロー(active low)信号である。アンドゲー
ト32は、*SQUAREを受信する第1の入力端子、
比較器28の出力端子に接続された第2の入力端子、及
び信号WAITをディジタル信号プロセッサ21に提供
する出力端子を有する。
【0018】両データパスからのアクセスが単一のメモ
リ部において異なるアドレスに対して追求される動作が
進行中であれば、もちろん、シーケンシャルなサイクル
でデータを提供する必要がある(図2のt2〜t3に図
示のごとく)。比較器28の出力端子は論理ハイで活性
(active)であり、これはXBANK、YBAN
Kが同一であることを示す。XINDEX、YINDE
Xが同一でないので、*SQUAREは論理ハイで非活
性(inactive)となり、従って、WAITは活
性となる。簡略記述mpy(r0)*(r0)で表され
る2乗演算が進行中であれば、ディジタル信号プロセッ
サ21は同一記憶位置をXDATA、YDATAパスの
双方においてアクセスしようとする。したがって、XB
ANK、YBANKは同一であり、XINDEX、YI
NDEXは同一である。比較器28の出力は論理ハイで
あり、信号*SQUAREは論理ローの活性である。し
たがって、信号WAITは非活性を維持する。r0がメ
モリバンク0へのポインタであれば、メモリバンク0に
よって提供された16ビットデータがXDATA、YD
ATAパスの双方に結合され、この結果、ディジタル信
号プロセッサ21は単一のメモリアクセスサイクル内で
XDATA、YDATAパスの双方からオペランドを読
出す。これに対し、r0がメモリバンク1へのポインタ
であれば、メモリバンク1によって提供された16ビッ
トデータがXDATA、YDATAパスの双方に結合さ
れ、この結果、ディジタル信号プロセッサ21は単一の
メモリアクセスサイクル内でXDATA、YDATAパ
ス双方からオペランドを読出す。
【0019】図4は図3のデータ処理システム20′の
信号のタイミング図である。時刻は図2の時刻に対応し
て同一の番号を付してある。t0〜t1間、t1〜t2
間では、ディジタル信号プロセッサ21はXADDRE
SSによってアドレスされたバンク0データ及びYAD
DRESSによってアドレスされたバンク1データを、
それぞれ、XDATA、YDATAパス上にアクセスす
る。しかしなから、ディジタル信号プロセッサ21は時
刻t2で2乗演算を実行しようとする。このとき、比較
器30が同一であるXADDRESS、YADDRES
Sを検出したときに信号WAITは非活性であるので、
2乗演算のデータエレメントはXDATA、YDATA
パスの双方で同時に読込まれる。したがって、データ処
理システム20′は図1のデータ処理システム20に比
較して改良された性能を有する。性能の改良度は適用内
容に依存するが、演算のトータル数に対する2乗演算数
の割合が大きくなると、性能改良の割合は増大する。性
能改良度はディジタル信号処理のような計算集約的応用
に対してより大きくなる。
【0020】再び、図3を参照すると、データ処理シス
テム20′について少なくとも6つの利点があることが
分る。第1に、2乗演算中において喪失したバス帯域幅
が回復し、これにより、システム性能が向上することに
なる。もちろん、改良度はディジタル信号プロセッサ2
1によって実行される命令に依存する。しかしながら、
改良度は計算集約的応用に対する方がより大きい。ま
た、たとえば、YDATAパスがアイドルである時間t
2〜t3において未使用のデータエレメントを提供する
マルチプレクサ27による電力消費が節約されるので、
乗算命令の実行に消費される全体の電力消費量は減少す
る。
【0021】第2に、データ処理システム20′は、集
積回路もしくはコンピュータボード論理に容易に付加で
きる僅かの量の余分の回路を付加するのみである。第3
に、比較器30、インバータ31、及びアンドゲート3
2による遅延はメモリ部24もしくは25がデータをX
DATAもしくはYDATAパスに提供するのに要する
時間より小さいので、付加された回路はメモリアクセス
サイクルを遅くしない。第4に、2乗演算を実行するの
に特別な命令は必要ないので、本発明はディジタル信号
プロセッサ21のプログラマにとって透明(trans
parent)または明快である。第5に、データ処理
システム20′の付加回路は、2乗命令以外の命令の動
作たとえば高速の2による乗算を行なうための同じオペ
ランドの加算命令の動作を改良する。第6に、現存のソ
フトウエアプログラムは改良されたメモリアーキテクチ
ャを用いて変更なしにランし、しかも、より迅速に実行
できる。このように、図2のメモリシステム22に対す
るメモリシステム22′による改良はプログラマにとっ
て明瞭である。
【0022】図5は本発明の好ましい実施例に係わるデ
ータ処理システム20″を示す。データ処理システム2
0″は図3のデータ処理システム20′と共通のいくつ
かの要素を有しており、これらの共通の要素には同様な
参照番号を与えてある。データ処理システム20″にお
いて、メモリシステム22″は、8個のメモリ部40−
47を含み、各メモリ部はメモリコントローラ23″か
らのインデクスアドレスを受信する。データ処理システ
ム20″においては、XBANK、YBANKはアドレ
スの上位3ビットであって、8個のメモリ部から1つを
選択する。XINDEX、YINDEXは各々XDAT
A、YDATAパスのためのオペランドへの13ビット
のインデクスである。従って、比較器30″は13ビッ
トの入力数に対して比較を実行し、比較器28″は3ビ
ットの入力数に対して比較を実行し、マルチプレクサ2
6″、27″は3ビットのXBANK、YBANKを受
信して8個のメモリ部から1つを選択してそれぞれXD
ATA、YDATAパスへ接続する。図1と図5を比較
すると、最小2の任意の数のメモリ部をメモリシステム
に含めることができる。含められたメモリ部の数はディ
ジタル信号プロセッサ21の機械コードのコンパイラが
どのようにディジタル信号プロセッサ21上をランする
プログラムのためのオペランドを区分(segmen
t)するかによって影響を受ける。XDATA、YDA
TAパスからフェッチされたオペランドを性能を悪化さ
せる衝突をしないようにできるだけひんぱんに別個のメ
モリ部に格納することがシステム性能にとって好まし
い。しかしながら、データ処理システム20″は2つの
別個のデータパスのために同一のメモリ部から同じオペ
ランドを2回フェッチするという不利益を除去すること
によりデータ処理システム20に比較して性能を向上さ
せている。
【0023】本発明が2つの別個のデータパスを介して
同一のオペランドをフェッチする他の命令に等しく適用
されることは明らかである。双方向性読出し/書込みデ
ータパスを図示しているが、本発明は1もしくは2の読
出し専用データパスにも適用される。また、本発明が任
意の数のデータパスに適用されることも明らかである。
たとえば、3つのデータパスが設けられれば、簡略記述
“mpy(r0)*(r0)*(r0)”によって表さ
れるオペランドの3乗の演算は、3つのアドレスが同一
のときに信号WAITを非活性に維持することによって
認識され得る。
【0024】データ処理システム(20′)のデータプ
ロセッサ(21)がデータ信号プロセッサであることは
本発明の一態様である。
【0025】また、論理手段(28,30,31,3
2)が第1の比較手段28、第2の比較手段(30,3
1)、及びアンドゲート手段を備えることも本発明の他
の態様である。第1の比較手段28は第1のアドレスの
第1の部分と第2のアドレスの第1の部分とが同一のと
きに第1の信号を発生する。第2の比較手段(30,3
1)は、第1のアドレスの第2の部分と第2のアドレス
の第2の部分とが同一でないときに第2の信号を発生す
る。アンドゲート手段(32)は第1、第2の信号に応
答して待ち信号を発生する。
【0026】さらに、メモリシステム(22′)におい
て、第1、第2のアドレスの各第1の部分が第1、第2
のアドレスの各第2の部分より上位であることが本発明
の他の態様である。
【0027】本発明は好ましい実施例において記述した
が、本発明は多くの方法で修正が可能であり、また、上
述の特定の実施例と異なる多くの実施例も可能である。
たとえば、メモリシステム内のメモリ部の数を増大させ
ることにより、ディジタル信号プロセッサ21が両デー
タパス上の同一部分をアクセスし、また、WAITを活
性化させなければならない情況を減少させることができ
る。この場合、XBANK、YBANKにおける信号の
数は増大する。また、2つのデータパスを有するがディ
ジタル信号処理以外の機能を実行するデータプロセッサ
も可能である。従って、特許請求の範囲は本発明の真の
精神及び範囲内に入るすべての本発明の変更を含むもの
である。
【0028】
【発明の効果】以上説明したように本発明によれば、2
乗演算等においてより高速の処理が可能になる等システ
ム性能を向上できる。
【図面の簡単な説明】
【図1】2つのデータパスを備えたデータプロセッサを
有するデータ処理システムを示すブロック図である。
【図2】図1のデータ処理システムの信号のタイミング
図である。
【図3】本発明に係わるデータ処理システムを示すブロ
ック図である。
【図4】図3のデータ処理システムの信号のタイミング
図である。
【図5】本発明の一実施例に係わるデータ処理システム
を示すブロック図である。
【符号の説明】
20,20′,20″ データ処理システム 21 ディジタル信号プロセッサ 22,22′ メモリシステム 24,25 メモリ部 26,27,26″,27″ マルチプレクサ 28,28″,30 比較器
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−311319(JP,A) 特開 昭63−303424(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 550 - 12/06 G06F 7/552 G06F 17/10

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1および第2のデータパスにおよびそ
    れぞれ該第1および第2のデータパスに対応する第1お
    よび第2のアドレスに結合されたデータプロセッサ(2
    1)であって、前記第1および第2のアドレスの各々は
    第1の部分および第2の部分を有し、前記データプロセ
    ッサは待ち信号が活性化されていることに応じて前記第
    2のデータパスへのアクセスを遅延するものと、 第1および第2のメモリ部(24,25)と、 該第1および第2のメモリ部(24,25)におよび前
    記第1および第2のデータパスに結合され、前記第1の
    アドレスの前記第1の部分に応答して前記第1のメモリ
    部(24)からのデータを前記第1もしくは第2のデー
    タパスに結合し、かつ前記第2のアドレスの前記第1の
    部分に応答して前記第2のメモリ部(25)からのデー
    タを前記第1もしくは第2のデータパスに結合するマル
    チプレクス手段(26,27)と、 前記データプロセッサ(21)に結合され、前記第1の
    アドレスの前記第1の部分と前記第2のアドレスの前記
    第1の部分とが等しく、かつ、前記第1のアドレスの前
    記第2の部分と前記第2のアドレスの前記第2の部分と
    が異なるときに前記待ち信号を活性化し、かつ前記第1
    のアドレスの前記第1の部分と前記第2のアドレスの前
    記第1の部分が等しくかつ前記第1のアドレスの前記第
    2の部分と前記第2のアドレスの前記第2の部分が等し
    いときに前記待ち信号を非活性に保つ論理手段(28,
    30,31,32)と、 を具備するデータ処理システム(20′)。
  2. 【請求項2】 第1および第2のメモリ部(24,2
    5)と、 第1および第2の入力アドレスを受信しかつこれに応じ
    て、それぞれ、前記第1および第2のメモリ部(24,
    25)に第1および第2のメモリアドレスを提供するコ
    ントローラ(23)であって、前記第1および第2の入
    力アドレスは第1の部分および第2の部分を有するもの
    と、 該第1および第2のメモリ部(24,25)に結合さ
    れ、前記第1の入力アドレスの前記第1の部分に応答し
    て該第1のメモリ部(24)からのデータを第1もしく
    は第2のデータパスに結合し、前記第2の入力アドレス
    の前記第1の部分 に応答して前記第2のメモリ部(2
    5)からのデータを前記第1もしくは第2のデータパス
    に結合するマルチプレクス手段(26,27)と、 前記第1の入力アドレスの第1の部分と前記第2の入力
    アドレスの第1の部分とが等しくかつ前記第1の入力ア
    ドレスの第2の部分と前記第2の入力アドレスの第2の
    部分とが異なるときに待ち信号を活性化し、かつ前記第
    1のアドレスの前記第1の部分と前記第2のアドレスの
    前記第1の部分が等しくかつ前記第1のアドレスの前記
    第2の部分と前記第2のアドレスの前記第2の部分が等
    しいときに前記待ち信号を非活性に保つ論理手段(2
    8,30,31,32)と、 を具備するメモリシステム(22′)。
  3. 【請求項3】 メモリシステム(22′)とデータプロ
    セッサ(21)とを含み、該データプロセッサ(21)
    が第1および第2のデータパスおよび該第1および第2
    のデータパスにそれぞれ対応する第1および第2のアド
    レスに結合されたデータ処理システム(20′)におけ
    る前記メモリシステム(22′)であって、 第1および第2のメモリ部(24,25)と、 該第1および第2のメモリ部(24,25)に結合さ
    れ、前記第1のアドレスの第1の部分に応答して前記第
    1のメモリ部(24)からのデータを前記第1もしくは
    第2のデータパスに結合し、かつ前記第2のアドレスの
    第1の部分に応答して前記第2のメモリ部からのデータ
    を前記第1もしくは第2のデータパスに結合するマルチ
    プレクス手段(26,27)と、 該マルチプレクス手段(26,27)及び前記データプ
    ロセッサ(21)に結合され、前記第1のアドレスの第
    1の部分と前記第2のアドレスの第1の部分とが等しく
    かつ前記第1のアドレスの第2の部分と前記第2のアド
    レスの第2の部分とが異なるときに待ち信号を活性化
    し、かつ前記第1のアドレスの前記第1の部分と前記第
    2のアドレスの前記第1の部分が等しくかつ前記第1の
    アドレスの前記第2の部分と前記第2のアドレスの前記
    第2の部分が等しいときに前記待ち信号を非活性に保つ
    論理手段(28,30,31,32)と、 を具備するメモリシステム(22′)。
  4. 【請求項4】 第1および第2のデータパスにおよびそ
    れぞれ該第1お よび第2のデータパスに対応する第1お
    よび第2のアドレスに結合されたデータプロセッサ(2
    1)であって、前記第1および第2のアドレスの各々は
    第1の部分および第2の部分を有し、前記データプロセ
    ッサは待ち信号が活性化されていることに応じて前記第
    2のデータパスへのアクセスを遅延するものと、 第1および第2のメモリ部(24,25)と、 該第1および第2のメモリ部(24,25)及び前記第
    1のデータパスに結合され、前記第1のアドレスの前記
    第1の部分がそれぞれ第1もしくは第2の状態にあるこ
    とに応答して前記第1もしくは第2のメモリ部を前記第
    1のデータパスに結合する第1のマルチプレクサ(2
    6)と、 前記第1および第2のメモリ部(24,25)及び前記
    第2のデータパスに結合され、前記第2のアドレスの前
    記第1の部分がそれぞれ第1もしくは第2の状態にある
    ことに応答して前記第1もしくは第2のメモリ部を前記
    第2のデータパスに結合する第2のマルチプレクサ(2
    7)と、 前記データプロセッサ(21)に結合され、第1のメモ
    リアドレスを、前記第1のアドレスの前記第1の部分が
    前記第1の状態にあるとき前記第1のメモリ部(24)
    に提供し、あるいは前記第1のアドレスの前記第1の部
    分が前記第2の状態にあるときに前記第2のメモリ部
    (25)に提供し、かつ第2のメモリアドレスを、前記
    第2のアドレスの前記第1の部分が前記第1の状態にあ
    るとき前記第1のメモリ部(24)に提供し、あるいは
    前記第2のアドレスの前記第1の部分が前記第2の状態
    にあるとき前記第2のメモリ部(25)に提供する制御
    手段(23)と、 前記データプロセッサ(21)に結合され、前記第1の
    アドレスの第1の部分と前記第2のアドレスの第1の部
    分とが等しくかつ前記第1のアドレスの第2の部分と前
    記第2のアドレスの第2の部分とが異なるときに前記待
    ち信号を活性化し、かつ前記第1のアドレスの前記第1
    の部分と前記第2のアドレスの前記第1の部分が等しく
    かつ前記第1のアドレスの前記第2の部分と前記第2の
    アドレスの前記第2の部分が等しいときに前記待ち信号
    を非活性に保つ論理手段(28,30,31,32)
    と、 を具備するデータ処理システム(20′)。
  5. 【請求項5】 複数の命令に応答してそれぞれ第1およ
    び第2のデータパスを介してデータをアクセスするため
    の各々第1および第2の部分を有する第1および第2の
    アドレスを提供するステップ、 該各第1および第2のアドレスに応答して各々第1およ
    び第2のデータエレメントをアクセスし、該第1のデー
    タエレメントは前記第1のアドレスの前記第1の部分に
    応答して第1もしくは第2のメモリ部(24,25)か
    らアクセスされ、前記第2のデータエレメントは前記第
    2のアドレスの前記第1の部分に応答して前記第1もし
    くは第2のメモリ部(24,25)からアクセスされる
    ステップ、 前記第1のアドレスの前記第1の部分に応答して選択さ
    れた前記第1(24)および前記第2(25)のメモリ
    部の内の1つからのデータを前記第1のデータパスに結
    合するステップ、 前記第2のアドレスの前記第1の部分に応答して選択さ
    れた前記第1(24)および前記第2(25)のメモリ
    部の内の1つからのデータを前記第2のデータパスに結
    合するステップ、そして 前記第1のアドレスの第1の部
    分と前記第2のアドレスの第1の部分とが異なるときに
    前記第1のデータパスを介して前記第1のデータエレメ
    ントをかつ前記第2のデータパスを介して前記第2のデ
    ータエレメントを読出し、もしくは、 前記第1のアドレスの第1の部分と前記第2のアドレス
    の第1の部分とが等しくかつ前記第1のアドレスの第2
    の部分と前記第2のアドレスの第2の部分とが異なると
    きに第1のメモリサイクル中に前記第1のデータパスを
    介して前記第1のデータエレメントをかつ第2のメモリ
    サイクル中に前記第2のデータパスを介して前記第2の
    データエレメントを読出し、もしくは、 前記第1のアドレスの第1の部分と前記第2のアドレス
    の第1の部分とが等しくかつ前記第1のアドレスの第2
    の部分と前記第2のアドレスの第2の部分とが等しい
    きに前記第1のメモリサイクル中に前記第1および第2
    データパスを介して前記第1のデータエレメントを読
    出すステップ、 を具備するデータ処理システム(20′)の性能を改良
    する方法。
JP4090280A 1991-04-01 1992-03-16 2乗演算を実行する速度改良型データ処理システム及びその方法 Expired - Lifetime JP2816624B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US67791991A 1991-04-01 1991-04-01
US677,919 1991-04-01

Publications (2)

Publication Number Publication Date
JPH05100948A JPH05100948A (ja) 1993-04-23
JP2816624B2 true JP2816624B2 (ja) 1998-10-27

Family

ID=24720635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4090280A Expired - Lifetime JP2816624B2 (ja) 1991-04-01 1992-03-16 2乗演算を実行する速度改良型データ処理システム及びその方法

Country Status (4)

Country Link
US (1) US5487024A (ja)
EP (1) EP0507210B1 (ja)
JP (1) JP2816624B2 (ja)
DE (1) DE69227271D1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659695A (en) * 1995-06-02 1997-08-19 Motorola, Inc. Method and apparatus utilizing simultaneous memory reads for increasing memory access bandwidth in a digital signal processor
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US5953241A (en) 1995-08-16 1999-09-14 Microunity Engeering Systems, Inc. Multiplier array processing system with enhanced utilization at lower precision for group multiply and sum instruction
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US7483935B2 (en) * 1995-08-16 2009-01-27 Microunity Systems Engineering, Inc. System and method to implement a matrix multiply unit of a broadband processor
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US5638533A (en) * 1995-10-12 1997-06-10 Lsi Logic Corporation Method and apparatus for providing data to a parallel processing array
FR2773234B1 (fr) * 1997-12-31 2003-07-25 Sgs Thomson Microelectronics Memoire a double acces pour processeur de signal numerique
US7932911B2 (en) * 1998-08-24 2011-04-26 Microunity Systems Engineering, Inc. Processor for executing switch and translate instructions requiring wide operands
ATE557342T1 (de) * 1998-08-24 2012-05-15 Microunity Systems Eng Prozessor und verfahren zur matrixmultiplikation mit einem breiten operand
US6442672B1 (en) * 1998-09-30 2002-08-27 Conexant Systems, Inc. Method for dynamic allocation and efficient sharing of functional unit datapaths
EP1139669A1 (en) * 2000-03-28 2001-10-04 STMicroelectronics S.r.l. Coprocessor for motion estimation in digitised video sequence encoders
FR2818145B1 (fr) * 2000-12-18 2003-11-28 Oreal Compositions cosmetiques antisolaires a base d'un melange synergetique de filtres et utilisations
JP2002215606A (ja) 2001-01-24 2002-08-02 Mitsubishi Electric Corp データ処理装置
US6968447B1 (en) * 2001-04-13 2005-11-22 The United States Of America As Represented By The Secretary Of The Navy System and method for data forwarding in a programmable multiple network processor environment
WO2003021423A2 (en) 2001-09-04 2003-03-13 Microunity Systems Engineering, Inc. System and method for performing multiplication
WO2009081551A1 (ja) * 2007-12-21 2009-07-02 Panasonic Corporation メモリ装置及びその制御方法
US9785565B2 (en) 2014-06-30 2017-10-10 Microunity Systems Engineering, Inc. System and methods for expandably wide processor instructions

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610906A (en) * 1968-11-07 1971-10-05 Burroughs Corp Binary multiplication utilizing squaring techniques
EP0080528A1 (en) * 1981-11-30 1983-06-08 Omnet Associates Computational method and apparatus for finite field arithmetic
FR2591003B1 (fr) * 1985-11-29 1988-01-15 Trt Telecom Radio Electr Dispositif de sommation de carres
US4787056A (en) * 1986-03-26 1988-11-22 Rca Licensing Corporation Apparatus for estimating the square of digital samples
JPS62256129A (ja) * 1986-04-30 1987-11-07 Sony Corp 演算処理装置
NL8700763A (nl) * 1987-04-01 1988-11-01 Philips Nv Inrichting voor het omzetten van een eerste elektrische signaal in een tweede elektrische signaal.
JPS63303424A (ja) * 1987-06-02 1988-12-12 Nec Ic Microcomput Syst Ltd 演算回路
US4766416A (en) * 1987-07-16 1988-08-23 General Electric Company Circuit for generating the square of a function without multipliers
JPH01311319A (ja) * 1988-06-10 1989-12-15 Oki Electric Ind Co Ltd バス制御回路
US5210710A (en) * 1990-10-17 1993-05-11 Cylink Corporation Modulo arithmetic processor chip

Also Published As

Publication number Publication date
EP0507210A3 (en) 1993-05-12
DE69227271D1 (de) 1998-11-19
EP0507210A2 (en) 1992-10-07
US5487024A (en) 1996-01-23
EP0507210B1 (en) 1998-10-14
JPH05100948A (ja) 1993-04-23

Similar Documents

Publication Publication Date Title
JP2816624B2 (ja) 2乗演算を実行する速度改良型データ処理システム及びその方法
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
JP3231429B2 (ja) 中央処理装置と乗算器とを有する半導体集積回路装置
US6141376A (en) Single chip communication device that implements multiple simultaneous communication channels
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
JP2002512399A (ja) 外部コプロセッサによりアクセス可能なコンテキストスイッチレジスタセットを備えたriscプロセッサ
JP2840444B2 (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
JPH09212358A (ja) データ処理装置及びマイクロプロセッサ
JP2000222206A (ja) データ処理装置
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JP3242508B2 (ja) マイクロコンピュータ
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
US5021991A (en) Coprocessor instruction format
GB2024475A (en) Memory access controller
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
US20070271440A1 (en) Computer processor architecture selectively using finite-state-machine for control code execution
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
JPH08123682A (ja) ディジタル信号処理装置
EP0381059A2 (en) Arithmetic element controller
KR19980018065A (ko) 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리