JPH10232777A - 並列演算プロセッサ - Google Patents
並列演算プロセッサInfo
- Publication number
- JPH10232777A JPH10232777A JP3669097A JP3669097A JPH10232777A JP H10232777 A JPH10232777 A JP H10232777A JP 3669097 A JP3669097 A JP 3669097A JP 3669097 A JP3669097 A JP 3669097A JP H10232777 A JPH10232777 A JP H10232777A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- memory
- multiply
- parallel
- processor
- 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)
Abstract
0により切り替えて、プログラム・メモリ170に代わ
って、乗累算部用の命令デコーダ130に対して命令を
供給できるような構成である。この命令キャッシュに
は、乗累算部110を用いて、データについては1つの
データ・メモリすなわち1つのメモリ・バスのみを用い
る演算する命令を格納する。乗累算部110が命令キャ
ッシュ150からの命令により、メモリ・バスの1つを
用いて演算を行っているのに並行して、プログラム・メ
モリ170から他のメモリ・バスを用いて、算術論理演
算部で行う演算例えばビット処理やシステム制御処理を
行う命令を読み出し、実行することができる。命令キャ
ッシュ150からの命令と、プログラム・メモリ170
からの命令とを全く独立に実行することができる。
Description
に関し、特に、複数の演算器を有し、その複数の演算器
を用いて並列の演算を行うことができる並列演算プロセ
ッサに関するものである。
ャにおいて、複数の演算器を有し、その演算器を並列に
動作することにより、並列演算することは行われてい
る。このような並列動作する例としては、たとえば、種
類の異なる演算器(たとえば乗累算器と算術論理演算
器)を有するデジタル信号処理プロセッサ(DSP)が
ある。
サの場合は、並列演算を行うために命令語に複数の演算
器に対応したフィールドを設け、このフィールドにより
同時に複数の演算器の動作を制御している。
セッサにおいて、並列演算のネックとなるのは、メモリ
からデータや命令を取り出すためのメモリ・バスであ
る。このメモリ・バスを複数設けることにより、ネック
を少なくすることは行われている。しかし、このメモリ
・バスを設けることは、データ長(たとえば16ビッ
ト)の導線を設けることであり、チップ上に大きな面積
を占めることになり、また外部接続のためのピン等を設
ける必要がある。このため、メモリ・バスを増設するこ
とは、プロセッサ・チップの面積を増大させ、また、価
格を増加することを意味する。
数のフィールドを設けることは、命令語を長くし、命令
語メモリの効率を下げることを意味する。
ことなく、並列動作することができるプロセッサを提供
することである。
ィールドを設けることなく、並列演算を行うことのでき
るプロセッサを提供することである。
に、本発明は、相互にバスの競合を起こさない少なくと
も2種類の演算命令を有するプロセッサであって、プロ
グラムを格納したプログラム・メモリと、前記2種類の
命令のうちの一方の種類の命令を格納する命令キャッシ
ュと、前記命令キャッシュから読み出された命令を実行
する第1の演算部と、前記2種類の命令のうちの他の種
類の命令を実行する第2の演算部とを有し、前記命令キ
ャッシュから読み出された命令を実行する間、前記プロ
グラム・メモリから前記他の種類の命令を実行すること
を特徴とする。
と、プログラム・メモリからの命令とを全く独立に実行
することができるため、1つのプロセッサのなかに、あ
たかも2つの独立のプロセッサが存在するような処理が
可能になる。
記一方の種類の演算命令は、前記2本のバスのうち片方
のみを用いる命令であるとすることもできる。
繰り返して用いるループ・プログラムであるとすること
もできる。
り、その乗累算部は、複数の乗累算器と、前記乗累算器
間に挿入した遅延部と、ローカル・データ・メモリとを
有し、前記バスからのデータと前記ローカル・データ・
メモリからのデータとを演算することもできる。
フィルタの演算に多く利用されており、並列に動作する
ことのできる機会が多く、命令キャッシュを用いること
により並列に処理できることが多く、本発明を有効に利
用できる。
して詳細に説明する。
算部の実施形態の一例を示すブロック図である。図1に
示した並列演算プロセッサは、積和を計算することがで
きる乗累算部および算術論理演部を有する信号処理プロ
セッサ(DSP)を示している。
ク構成のデータ・メモリ1およびデータ・メモリ2であ
り、それぞれメモリ・バス1 103およびメモリバス
2104に接続されて、データ・メモリ1 101およ
びデータ・メモリ2 102とは、独立にアクセスでき
る構成となっている。110は複数の乗累算器を有する
乗累算部、120は算術論理演算器を有する算術論理演
算部である。乗累算部120の構成については後で詳し
く説明する。算術論理演算部は、通常のプロセッサが有
する演算器の機能を備えている。
ーダで、140は算術演算部120に対する命令デコー
ダである。150は命令語を一時的に格納する命令キャ
ッシュである。170は、命令語が格納されており、上
記データ・メモリとは独立に読み出すことができるプロ
グラム・メモリである。160は、乗累算部用デコーダ
に入力する命令語を、命令キャッシュ150から入力す
るか、プログラム・メモリ170から入力するかを選択
するセレクタである。105は、命令語が格納されてい
るプログラム・メモリ170から読み出された命令語を
乗累算部用命令デコーダ103、算術論理演算部用命令
デコーダ140または命令キャッシュ150のどれに入
力するかを選択するためのデコーダである。
詳しく説明する。
の乗累算器1〜nの115〜117を備えている。各乗
累算器は、aとbの入力に対して、ab+cの積和を計
算することができる(cは乗累算器中のレジスタに記憶
している値である)。ローカル・データ・メモリ111
は、10個程度のデータワード分を記憶できる容量を有
するローカル・メモリで、各乗累算器の入力の一方に接
続されている。また、各乗累算器間には1サイクルの遅
延ができる遅延回路112〜113が挿入されており、
ローカルメモリからのデータを遅延している。
ル信号処理でよく利用されているフィルタの場合を例に
して説明する。
力、xt を入力、αを係数とするとき、
3 xt+3 +α4 xt+4 +…+αk xt+k で表される。この計算式を、上述の乗累算部110で行
うことを説明する。なお、kは、正の整数である。
3 ,α4 ,・・・αk をローカルメモリにまず格納して
おく。これは、データ・メモリ1またはデータ・メモリ
2からローカルメモリへの転送命令を用意しておき、こ
の転送命令を用いることにより行われる。
xt+3 ,xt+4 ,・・・xt+k は、データ・メモリ1
101からメモリ・バス1 103を介して順次読み出
され、乗累算部110に入力される。乗累算部110に
入力したデータは、乗累算器1 115,乗累算器2
116,乗累算器n 117に1サイクル遅れて入力さ
れる。また、係数α0 ,α1 ,α2 ,α3 ,α4 ,・・
・αk は、ローカルメモリ111から順次読み出され
て、乗累算器1,乗累算器2,・・・乗累算器nに、同
時に入力される。
器で計算すると、tのときからkサイクル後に、乗累算
器1,2,…,nには、それぞれyt ,yt-1 ,…,y
t-nとして、
3 xt+3+α4 xt+4 +…+αk xt+k
α3 xt+2+α4 xt+3 +…+αk xt+k-1
t-n+2 +α3 xt-n+3+α4 xt-n+4 +…+αk xt-n+k が計算される。なお、xt-n ,…,xt-2 ,xt-1 は、
以前に入力したデータが各遅延回路112〜113に残
っていたものである。
回路を用意することにより、データの読み出しは、2本
用意されているメモリ・バスの一方のみを利用すること
で、2入力の演算をn重の並列で行うことができる。し
かも、例えば同じフィルタの演算を繰り返し行うとき
は、最初にフィルタの演算に用いる係数をローカル・メ
モリに転送すれば、後はその転送された係数を用いるこ
とができるので、ローカル・メモリへの転送は、大した
オーバーヘッドにはならない。
て説明する。この命令キャッシュ150は、セレクタ1
60により切り替えて、プログラム・メモリ170に代
わって、乗累算部用の命令デコーダ130に対して命令
を供給できるような構成である。この命令キャッシュに
は、乗累算部110を用いて、データについては1つの
データ・メモリすなわち1つのメモリ・バスのみを用い
る演算する命令を格納する。この様な命令は、例えば、
前に説明したようなローカル・メモリを用いた演算を行
う命令である。
らの命令により、メモリ・バスの1つを用いて演算を行
っているのに並行して、プログラム・メモリ170から
他のメモリ・バスを用いて、算術論理演算部で行う演算
例えばビット処理やシステム制御処理を行う命令を読み
出し、実行することができる。
命令と、プログラム・メモリ170からの命令とを全く
独立に実行することができるため、1つのプロセッサの
なかに、あたかも2つの独立のプロセッサが存在するよ
うな処理が可能になる。
命令としては、例えば、乗累算部110を用いて上述の
計算式を計算するようなループのプログラムの命令がよ
い。この様な場合、ループのプログラムを制御するため
のリピート(繰り返し)命令により、命令キャッシュを
用いて繰り返しを行うかを指定することが多い。
マットの1例を示している。
すように、命令を識別する命令コード、リピートを行う
範囲を示すプログラム・メモリのアドレス(Add)、
リピート回数(count)、命令キャッシュを用いる
か否かを示すフラグ(F)で構成されている。
(a)に示したリピート命令と上述の命令キャッシュを
用いて、並列に演算を行うかを説明する。プログラム・
メモリ170から読み出した命令がリピート命令であ
り、命令キャッシュを用いてリピートを行うフラグが立
っているとする。このリピート命令で指定されたリピー
トの範囲が(A)である。プロセッサの制御部は、引き
続き命令語をプログラム・メモリから読み出して実行す
るが、それとともに、読み出したリピートの範囲(A)
の命令語を命令キャッシュ150に格納する。そして、
リピート範囲(A)のプログラムの読み出しが終了する
と、フラグが立っている場合は、そのまま、引き続きプ
ログラム・メモリからの次のアドレスの命令語を読み出
して実行する。
令で指定された回数から1回少ない回数、繰り返し命令
語が読み出されて実行される。この命令キャッシュから
読み出されている時間の間、プロセッサは、命令キャッ
シュからの命令とプログラム・メモリからの命令によ
り、並列に動作している。
キャッシュを利用して並列動作を行うことを指定した場
合は、ループのプログラムの次のプログラムは、ループ
を行っている時間の間、並列動作していることを意識し
て作成する必要がある。図2(b)において、プログラ
ム・メモリ内の(B)と示した部分がその並列動作部分
のプログラムに対応している。
フラグを用いて明示的に命令キャッシュを利用すること
を指定した。しかし、例えば乗累算部を用いるループの
場合に必ず命令キャッシュを利用するときは、リピート
範囲の乗累算部を用いる命令語を命令キャッシュに必ず
転送することにすると、上記で説明したフラグは必要な
くなる。
処理プロセッサ(DSP)で説明した。これは、デジタ
ル信号処理プロセッサ(DSP)においては、乗累算部
110の説明で例示したフィルタの演算に多く利用され
ており、並列に動作することのできる機会が多く、命令
キャッシュ150を用いることにより並列に処理できる
ことが多くなるからである。
複数の演算部を有する汎用のプロセッサにも応用でき
る。この場合、少なくても命令キャッシュを設けた演算
部と他の1つの演算部において、互いにバスの競合がな
い演算が可能であることが必要である。
ャッシュからの命令と、プログラム・メモリからの命令
とを全く独立に実行することができるため、1つのプロ
セッサのなかに、あたかも2つの独立のプロセッサが存
在するような処理が可能になる。
フィルタの演算に多く利用されており、並列に動作する
ことのできる機会が多く、命令キャッシュを用いること
により並列に処理できることが多く、本発明を有効に利
用できる。
る。
Claims (5)
- 【請求項1】 相互にバスの競合を起こさない少なくと
も2種類の演算命令を有するプロセッサであって、 プログラムを格納したプログラム・メモリと、 前記2種類の命令のうちの一方の種類の命令を格納する
命令キャッシュと、 前記命令キャッシュから読み出された命令を実行する第
1の演算部と、 前記2種類の命令のうちの他の種類の命令を実行する第
2の演算部とを有し、 前記命令キャッシュから読み出された命令を実行する
間、前記プログラム・メモリから前記他の種類の命令を
実行することを特徴とする並列演算プロセッサ。 - 【請求項2】 請求項1記載の並列演算プロセッサにお
いて、 前記バスは少なくとも2本あり、前記一方の種類の演算
命令は、前記2本のバスのうち片方のみを用いる命令で
あることを特徴とする並列演算プロセッサ。 - 【請求項3】 請求項1または2記載の並列演算プロセ
ッサにおいて、 前記命令キャッシュに格納される命令は、繰り返して用
いるループ・プログラムであることを特徴とする並列演
算プロセッサ。 - 【請求項4】 請求項1ないし3のいずれかに記載の並
列演算プロセッサにおいて、前記第1の演算部は乗累算
部であることを特徴とする並列演算プロセッサ。 - 【請求項5】 請求項4記載の並列演算プロセッサにお
いて、前記乗累算部は、 複数の乗累算器と、 前記乗累算器間に挿入した遅延部と、 ローカル・データ・メモリとを有し、 前記バスからのデータと前記ローカル・データ・メモリ
からのデータとを演算することを特徴とする並列演算プ
ロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03669097A JP3723311B2 (ja) | 1997-02-20 | 1997-02-20 | 並列演算プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03669097A JP3723311B2 (ja) | 1997-02-20 | 1997-02-20 | 並列演算プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10232777A true JPH10232777A (ja) | 1998-09-02 |
JP3723311B2 JP3723311B2 (ja) | 2005-12-07 |
Family
ID=12476821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03669097A Expired - Fee Related JP3723311B2 (ja) | 1997-02-20 | 1997-02-20 | 並列演算プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3723311B2 (ja) |
-
1997
- 1997-02-20 JP JP03669097A patent/JP3723311B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3723311B2 (ja) | 2005-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6367003B1 (en) | Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method | |
US5218564A (en) | Layout efficient 32-bit shifter/register with 16-bit interface | |
JPH10187438A (ja) | 乗算器の入力に対する遷移を減少させる方法 | |
JP3759647B2 (ja) | 24ビットおよび16ビット算術演算の双方を実行するための装置および方法 | |
JPH06222920A (ja) | レジスタファイルのグループを共有する演算ユニットを持つデータプロセッサ | |
JP3479385B2 (ja) | 情報処理装置 | |
JP2000322235A (ja) | 情報処理装置 | |
JPH1173408A (ja) | 演算処理システム及び演算処理方法 | |
JPH10232777A (ja) | 並列演算プロセッサ | |
US6820189B1 (en) | Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation | |
JP2006018411A (ja) | プロセッサ | |
JPH07219766A (ja) | 演算処理装置 | |
US6792442B1 (en) | Signal processor and product-sum operating device for use therein with rounding function | |
US5784634A (en) | Pipelined CPU with instruction fetch, execution and write back stages | |
JP2001092658A (ja) | データ処理回路及びデータ処理装置 | |
US20050251658A1 (en) | Processing unit | |
US20030126178A1 (en) | Fast forwarding ALU | |
JP3526773B2 (ja) | マルチプロセッサ装置およびその制御方法 | |
JPH10232761A (ja) | 並列演算プロセッサ | |
JP2654451B2 (ja) | データ出力方法 | |
JP3441847B2 (ja) | データメモリを有するプロセッサ | |
JP3547309B2 (ja) | 演算装置 | |
KR100251547B1 (ko) | 디지탈신호처리기(Digital Sgnal Processor) | |
JP3669841B2 (ja) | マイクロプロセッサ | |
JP2000293357A (ja) | マイクロプロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050902 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050915 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 5 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130922 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
LAPS | Cancellation because of no payment of annual fees |