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
Application number
JP3669097A
Other languages
English (en)
Other versions
JP3723311B2 (ja
Inventor
Shiro Kobayashi
士朗 小林
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.)
Asahi Chemical Industry Co Ltd
Original Assignee
Asahi Chemical Industry Co Ltd
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 Asahi Chemical Industry Co Ltd filed Critical Asahi Chemical Industry Co Ltd
Priority to JP03669097A priority Critical patent/JP3723311B2/ja
Publication of JPH10232777A publication Critical patent/JPH10232777A/ja
Application granted granted Critical
Publication of JP3723311B2 publication Critical patent/JP3723311B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 並列に命令を実行できる並列演算プロセッサ 【解決手段】 命令キャッシュ150は、セレクタ16
0により切り替えて、プログラム・メモリ170に代わ
って、乗累算部用の命令デコーダ130に対して命令を
供給できるような構成である。この命令キャッシュに
は、乗累算部110を用いて、データについては1つの
データ・メモリすなわち1つのメモリ・バスのみを用い
る演算する命令を格納する。乗累算部110が命令キャ
ッシュ150からの命令により、メモリ・バスの1つを
用いて演算を行っているのに並行して、プログラム・メ
モリ170から他のメモリ・バスを用いて、算術論理演
算部で行う演算例えばビット処理やシステム制御処理を
行う命令を読み出し、実行することができる。命令キャ
ッシュ150からの命令と、プログラム・メモリ170
からの命令とを全く独立に実行することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサの構成
に関し、特に、複数の演算器を有し、その複数の演算器
を用いて並列の演算を行うことができる並列演算プロセ
ッサに関するものである。
【0002】
【従来の技術】従来から、コンピュータ・アーキテクチ
ャにおいて、複数の演算器を有し、その演算器を並列に
動作することにより、並列演算することは行われてい
る。このような並列動作する例としては、たとえば、種
類の異なる演算器(たとえば乗累算器と算術論理演算
器)を有するデジタル信号処理プロセッサ(DSP)が
ある。
【0003】このような複数の演算器を有するプロセッ
サの場合は、並列演算を行うために命令語に複数の演算
器に対応したフィールドを設け、このフィールドにより
同時に複数の演算器の動作を制御している。
【0004】
【発明が解決しようとする課題】このような構成のプロ
セッサにおいて、並列演算のネックとなるのは、メモリ
からデータや命令を取り出すためのメモリ・バスであ
る。このメモリ・バスを複数設けることにより、ネック
を少なくすることは行われている。しかし、このメモリ
・バスを設けることは、データ長(たとえば16ビッ
ト)の導線を設けることであり、チップ上に大きな面積
を占めることになり、また外部接続のためのピン等を設
ける必要がある。このため、メモリ・バスを増設するこ
とは、プロセッサ・チップの面積を増大させ、また、価
格を増加することを意味する。
【0005】また、命令語に並列動作させるために、複
数のフィールドを設けることは、命令語を長くし、命令
語メモリの効率を下げることを意味する。
【0006】本発明の目的は、メモリ・バスを増設する
ことなく、並列動作することができるプロセッサを提供
することである。
【0007】また、本発明の目的は、各演算器ごとのフ
ィールドを設けることなく、並列演算を行うことのでき
るプロセッサを提供することである。
【0008】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、相互にバスの競合を起こさない少なくと
も2種類の演算命令を有するプロセッサであって、プロ
グラムを格納したプログラム・メモリと、前記2種類の
命令のうちの一方の種類の命令を格納する命令キャッシ
ュと、前記命令キャッシュから読み出された命令を実行
する第1の演算部と、前記2種類の命令のうちの他の種
類の命令を実行する第2の演算部とを有し、前記命令キ
ャッシュから読み出された命令を実行する間、前記プロ
グラム・メモリから前記他の種類の命令を実行すること
を特徴とする。
【0009】この発明では、命令キャッシュからの命令
と、プログラム・メモリからの命令とを全く独立に実行
することができるため、1つのプロセッサのなかに、あ
たかも2つの独立のプロセッサが存在するような処理が
可能になる。
【0010】また、前記バスは少なくとも2本あり、前
記一方の種類の演算命令は、前記2本のバスのうち片方
のみを用いる命令であるとすることもできる。
【0011】前記命令キャッシュに格納される命令は、
繰り返して用いるループ・プログラムであるとすること
もできる。
【0012】そのうえ、第1の演算部は乗累算部であ
り、その乗累算部は、複数の乗累算器と、前記乗累算器
間に挿入した遅延部と、ローカル・データ・メモリとを
有し、前記バスからのデータと前記ローカル・データ・
メモリからのデータとを演算することもできる。
【0013】乗累算部を有するプロセッサにおいては、
フィルタの演算に多く利用されており、並列に動作する
ことのできる機会が多く、命令キャッシュを用いること
により並列に処理できることが多く、本発明を有効に利
用できる。
【0014】
【発明の実施の形態】本発明の実施形態を、図面を参照
して詳細に説明する。
【0015】図1は、本発明の並列演算プロセッサの演
算部の実施形態の一例を示すブロック図である。図1に
示した並列演算プロセッサは、積和を計算することがで
きる乗累算部および算術論理演部を有する信号処理プロ
セッサ(DSP)を示している。
【0016】図1において、101および102はバン
ク構成のデータ・メモリ1およびデータ・メモリ2であ
り、それぞれメモリ・バス1 103およびメモリバス
2104に接続されて、データ・メモリ1 101およ
びデータ・メモリ2 102とは、独立にアクセスでき
る構成となっている。110は複数の乗累算器を有する
乗累算部、120は算術論理演算器を有する算術論理演
算部である。乗累算部120の構成については後で詳し
く説明する。算術論理演算部は、通常のプロセッサが有
する演算器の機能を備えている。
【0017】130は乗累算部110に対する命令デコ
ーダで、140は算術演算部120に対する命令デコー
ダである。150は命令語を一時的に格納する命令キャ
ッシュである。170は、命令語が格納されており、上
記データ・メモリとは独立に読み出すことができるプロ
グラム・メモリである。160は、乗累算部用デコーダ
に入力する命令語を、命令キャッシュ150から入力す
るか、プログラム・メモリ170から入力するかを選択
するセレクタである。105は、命令語が格納されてい
るプログラム・メモリ170から読み出された命令語を
乗累算部用命令デコーダ103、算術論理演算部用命令
デコーダ140または命令キャッシュ150のどれに入
力するかを選択するためのデコーダである。
【0018】さて、乗累算部110の構成および動作を
詳しく説明する。
【0019】乗累算部110は、すくなくても2つ以上
の乗累算器1〜nの115〜117を備えている。各乗
累算器は、aとbの入力に対して、ab+cの積和を計
算することができる(cは乗累算器中のレジスタに記憶
している値である)。ローカル・データ・メモリ111
は、10個程度のデータワード分を記憶できる容量を有
するローカル・メモリで、各乗累算器の入力の一方に接
続されている。また、各乗累算器間には1サイクルの遅
延ができる遅延回路112〜113が挿入されており、
ローカルメモリからのデータを遅延している。
【0020】乗累算部110の動作を説明する。デジタ
ル信号処理でよく利用されているフィルタの場合を例に
して説明する。
【0021】フィルタに用いられる計算式は、yt を出
力、xt を入力、αを係数とするとき、
【0022】
【数1】yt =α0t +α1t+1 +α2t+2 +α
3t+3 +α4t+4 +…+αkt+k で表される。この計算式を、上述の乗累算部110で行
うことを説明する。なお、kは、正の整数である。
【0023】さて、計算式の係数α0 ,α1 ,α2 ,α
3 ,α4 ,・・・αk をローカルメモリにまず格納して
おく。これは、データ・メモリ1またはデータ・メモリ
2からローカルメモリへの転送命令を用意しておき、こ
の転送命令を用いることにより行われる。
【0024】入力データであるxt ,xt+1 ,xt+2
t+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に、同
時に入力される。
【0025】このように、入力されるデータを各乗累算
器で計算すると、tのときからkサイクル後に、乗累算
器1,2,…,nには、それぞれyt ,yt-1 ,…,y
t-nとして、
【0026】
【数2】yt =α0t +α1t+1 +α2t+2 +α
3t+3+α4t+4 +…+αk xt+k
【0027】
【数3】yt-1 =α0t-1 +α1t +α2t+1
α3t+2+α4t+3 +…+αkt+k-1
【0028】
【数4】yt-n =α0t-n +α1t-n+1 +α2
t-n+2 +α3t-n+3+α4t-n+4 +…+αkt-n+k が計算される。なお、xt-n ,…,xt-2 ,xt-1 は、
以前に入力したデータが各遅延回路112〜113に残
っていたものである。
【0029】このように、ローカル・メモリおよび遅延
回路を用意することにより、データの読み出しは、2本
用意されているメモリ・バスの一方のみを利用すること
で、2入力の演算をn重の並列で行うことができる。し
かも、例えば同じフィルタの演算を繰り返し行うとき
は、最初にフィルタの演算に用いる係数をローカル・メ
モリに転送すれば、後はその転送された係数を用いるこ
とができるので、ローカル・メモリへの転送は、大した
オーバーヘッドにはならない。
【0030】さて、命令キャッシュ150の動作につい
て説明する。この命令キャッシュ150は、セレクタ1
60により切り替えて、プログラム・メモリ170に代
わって、乗累算部用の命令デコーダ130に対して命令
を供給できるような構成である。この命令キャッシュに
は、乗累算部110を用いて、データについては1つの
データ・メモリすなわち1つのメモリ・バスのみを用い
る演算する命令を格納する。この様な命令は、例えば、
前に説明したようなローカル・メモリを用いた演算を行
う命令である。
【0031】乗累算部110が命令キャッシュ150か
らの命令により、メモリ・バスの1つを用いて演算を行
っているのに並行して、プログラム・メモリ170から
他のメモリ・バスを用いて、算術論理演算部で行う演算
例えばビット処理やシステム制御処理を行う命令を読み
出し、実行することができる。
【0032】このように、命令キャッシュ150からの
命令と、プログラム・メモリ170からの命令とを全く
独立に実行することができるため、1つのプロセッサの
なかに、あたかも2つの独立のプロセッサが存在するよ
うな処理が可能になる。
【0033】このローカル・メモリに対して格納される
命令としては、例えば、乗累算部110を用いて上述の
計算式を計算するようなループのプログラムの命令がよ
い。この様な場合、ループのプログラムを制御するため
のリピート(繰り返し)命令により、命令キャッシュを
用いて繰り返しを行うかを指定することが多い。
【0034】図2(a)は、そのリピート命令のフォー
マットの1例を示している。
【0035】リピート命令は、例えば、図2(a)で示
すように、命令を識別する命令コード、リピートを行う
範囲を示すプログラム・メモリのアドレス(Add)、
リピート回数(count)、命令キャッシュを用いる
か否かを示すフラグ(F)で構成されている。
【0036】図2(b)を用いて、どのように図2
(a)に示したリピート命令と上述の命令キャッシュを
用いて、並列に演算を行うかを説明する。プログラム・
メモリ170から読み出した命令がリピート命令であ
り、命令キャッシュを用いてリピートを行うフラグが立
っているとする。このリピート命令で指定されたリピー
トの範囲が(A)である。プロセッサの制御部は、引き
続き命令語をプログラム・メモリから読み出して実行す
るが、それとともに、読み出したリピートの範囲(A)
の命令語を命令キャッシュ150に格納する。そして、
リピート範囲(A)のプログラムの読み出しが終了する
と、フラグが立っている場合は、そのまま、引き続きプ
ログラム・メモリからの次のアドレスの命令語を読み出
して実行する。
【0037】一方、命令キャッシュからも、リピート命
令で指定された回数から1回少ない回数、繰り返し命令
語が読み出されて実行される。この命令キャッシュから
読み出されている時間の間、プロセッサは、命令キャッ
シュからの命令とプログラム・メモリからの命令によ
り、並列に動作している。
【0038】したがって、リピート命令のフラグで命令
キャッシュを利用して並列動作を行うことを指定した場
合は、ループのプログラムの次のプログラムは、ループ
を行っている時間の間、並列動作していることを意識し
て作成する必要がある。図2(b)において、プログラ
ム・メモリ内の(B)と示した部分がその並列動作部分
のプログラムに対応している。
【0039】なお、上記の例では、リピート命令により
フラグを用いて明示的に命令キャッシュを利用すること
を指定した。しかし、例えば乗累算部を用いるループの
場合に必ず命令キャッシュを利用するときは、リピート
範囲の乗累算部を用いる命令語を命令キャッシュに必ず
転送することにすると、上記で説明したフラグは必要な
くなる。
【0040】上記では、乗累算部を有するデジタル信号
処理プロセッサ(DSP)で説明した。これは、デジタ
ル信号処理プロセッサ(DSP)においては、乗累算部
110の説明で例示したフィルタの演算に多く利用され
ており、並列に動作することのできる機会が多く、命令
キャッシュ150を用いることにより並列に処理できる
ことが多くなるからである。
【0041】しかし、上述の命令キャッシュの構成は、
複数の演算部を有する汎用のプロセッサにも応用でき
る。この場合、少なくても命令キャッシュを設けた演算
部と他の1つの演算部において、互いにバスの競合がな
い演算が可能であることが必要である。
【0042】
【発明の効果】上記の説明のように、本発明は、命令キ
ャッシュからの命令と、プログラム・メモリからの命令
とを全く独立に実行することができるため、1つのプロ
セッサのなかに、あたかも2つの独立のプロセッサが存
在するような処理が可能になる。
【0043】乗累算部を有するプロセッサにおいては、
フィルタの演算に多く利用されており、並列に動作する
ことのできる機会が多く、命令キャッシュを用いること
により並列に処理できることが多く、本発明を有効に利
用できる。
【図面の簡単な説明】
【図1】本発明の実施形態を示すブロック図である。
【図2】本発明のプロセッサの動作を説明する図であ
る。
【符号の説明】
101,102 データ・メモリ 103,104 メモリ・バス 105 デコーダ 110 乗累算部 111 ローカル・データ・メモリ 112,113 遅延回路 115〜117 乗累算器 120 算術論理演算部 130 乗累算部用命令デコーダ 140 算術論理演算用命令デコーダ 150 命令キャッシュ 160 セレクタ 170 プログラム・メモリ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 相互にバスの競合を起こさない少なくと
    も2種類の演算命令を有するプロセッサであって、 プログラムを格納したプログラム・メモリと、 前記2種類の命令のうちの一方の種類の命令を格納する
    命令キャッシュと、 前記命令キャッシュから読み出された命令を実行する第
    1の演算部と、 前記2種類の命令のうちの他の種類の命令を実行する第
    2の演算部とを有し、 前記命令キャッシュから読み出された命令を実行する
    間、前記プログラム・メモリから前記他の種類の命令を
    実行することを特徴とする並列演算プロセッサ。
  2. 【請求項2】 請求項1記載の並列演算プロセッサにお
    いて、 前記バスは少なくとも2本あり、前記一方の種類の演算
    命令は、前記2本のバスのうち片方のみを用いる命令で
    あることを特徴とする並列演算プロセッサ。
  3. 【請求項3】 請求項1または2記載の並列演算プロセ
    ッサにおいて、 前記命令キャッシュに格納される命令は、繰り返して用
    いるループ・プログラムであることを特徴とする並列演
    算プロセッサ。
  4. 【請求項4】 請求項1ないし3のいずれかに記載の並
    列演算プロセッサにおいて、前記第1の演算部は乗累算
    部であることを特徴とする並列演算プロセッサ。
  5. 【請求項5】 請求項4記載の並列演算プロセッサにお
    いて、前記乗累算部は、 複数の乗累算器と、 前記乗累算器間に挿入した遅延部と、 ローカル・データ・メモリとを有し、 前記バスからのデータと前記ローカル・データ・メモリ
    からのデータとを演算することを特徴とする並列演算プ
    ロセッサ。
JP03669097A 1997-02-20 1997-02-20 並列演算プロセッサ Expired - Fee Related JP3723311B2 (ja)

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)

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