JP5311008B2 - 信号処理プロセッサ及び半導体装置 - Google Patents

信号処理プロセッサ及び半導体装置 Download PDF

Info

Publication number
JP5311008B2
JP5311008B2 JP2008206740A JP2008206740A JP5311008B2 JP 5311008 B2 JP5311008 B2 JP 5311008B2 JP 2008206740 A JP2008206740 A JP 2008206740A JP 2008206740 A JP2008206740 A JP 2008206740A JP 5311008 B2 JP5311008 B2 JP 5311008B2
Authority
JP
Japan
Prior art keywords
address
data
attribute information
update
register
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 - Fee Related
Application number
JP2008206740A
Other languages
English (en)
Other versions
JP2010044487A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2008206740A priority Critical patent/JP5311008B2/ja
Publication of JP2010044487A publication Critical patent/JP2010044487A/ja
Application granted granted Critical
Publication of JP5311008B2 publication Critical patent/JP5311008B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、信号処理プロセッサ及び半導体装置等に関する。
特定の演算処理を高速に行うことを目的とし、デジタル信号処理に特化したデジタル信号処理プロセッサ(DSP;digital signal processor)が開発されている(例えば、特許文献1参照)。
このようなデジタル信号処理プロセッサにおいては、データ演算命令でメモリオペランドを指定するものが多い。この場合には、ロード/ストアするデータの型(例えば、データサイズや符号の有無)をデータ演算命令内で指定する必要がある。
また、データ演算命令に伴うアドレス・レジスタの更新の際に、アドレスが一定の範囲を超えないようにするために、サーキュラー・バッファとしてメモリを使用する場合には、必要なアドレス範囲(サーキュラー・バッファのサイズ)を設定する必要がある。
特開2000−267851号公報
サーキュラー・バッファとしてメモリを使用する場合のアドレス範囲を指定する場合には、ロード/ストアするデータの型に応じて、アドレス範囲を指定する必要がある。例えば、データ演算命令において「long型(符号付4バイト)」のデータをロードする場合には、「char型(符号付1バイト)」のデータをロードする場合に比べて4倍のアドレス範囲を指定する必要がある。
扱うデータの型が増えると、このアドレス範囲の指定は、データの型に応じてプログラマ自身が行うのは大変であった。
本発明は、以上のような技術的課題に鑑みてなされたものである。本発明の幾つかの態様によれば、データの型に応じてアドレス更新時のアドレス範囲が設定される、信号処理プロセッサ及び半導体装置を提供できる。
(1)本発明に係る信号処理プロセッサは、
データ演算命令をデコードし、デコード結果に基づきデコード信号を生成するデコード部と、
前記デコード信号に基づき前記データ演算命令を実行する命令実行部と、を含む信号処理プロセッサにおいて、
アドレスデータを記憶するアドレス・レジスタと、
前記アドレスデータに対応するメモリに記憶されるデータの属性情報を、前記アドレス・レジスタに関連付けて記憶する属性情報保持部とを含み、
前記命令実行部は、前記デコード信号と、前記アドレス・レジスタに記憶されるアドレスデータに基づいて前記メモリにアクセスするメモリアクセス部を含み、
前記メモリアクセス部が、所与のデータ演算命令に基づいて前記アドレス・レジスタから前記アドレスデータを読み出す際に、所与のアドレス変位値を前記アドレスデータに加算し、アドレス更新処理を行うアドレス更新処理部を含み、
前記アドレス更新処理部は、前記属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内で前記アドレス更新処理を行うアドレス更新範囲制御処理を行うことを特徴とする。
本発明によれば、アドレスデータに対応するメモリに記憶されるデータの属性情報をアドレス・レジスタに関連付けて記憶する属性情報保持部を含み、アドレス更新処理におけるアドレス範囲を属性情報に基づいて制御することにより、属性情報によって特定されるデータサイズ(語長)に応じてアドレス更新時のアドレス範囲を設定することができる。
(2)この信号処理プロセッサにおいて、
前記アドレス範囲を設定するための範囲制御情報を記憶する制御情報保持部を含み、
前記アドレス更新処理部は、前記範囲制御情報と前記属性情報に基づいて前記アドレス更新範囲制御処理を行ってもよい。
(3)これらのいずれかの信号処理プロセッサにおいて、
前記アドレス・レジスタを複数含み、
前記属性情報保持部は、前記アドレス・レジスタのそれぞれに関連付けられた属性情報を記憶し、
前記デコード部は、前記データ演算命令に基づいて前記アドレス・レジスタの1つを選択し、
前記メモリアクセス部は、選択された前記アドレス・レジスタに記憶されるアドレスデータに基づいて前記メモリにアクセスし、
前記アドレス更新処理部は、前記属性情報として選択された前記アドレス・レジスタに関連付けられた属性情報を用い、選択された前記アドレス・レジスタに対して前記アドレス更新範囲制御処理を行ってもよい。
(4)これらのいずれかの信号処理プロセッサにおいて、
前記アドレス更新処理部は、所定の複数の前記アドレス・レジスタについて、前記制御情報保持部に記憶される1つの前記範囲制御情報の値を共用して前記アドレス更新範囲制御処理を行ってもよい。
(5)これらのいずれかの信号処理プロセッサにおいて、
前記属性情報保持部は、関連付けられた前記アドレス・レジスタの一部に設けられていてもよい。
(6)これらのいずれかの信号処理プロセッサにおいて、
前記アドレス更新処理部は、前記アドレス更新範囲制御処理において、前記アドレス更新処理後のアドレスデータを前記アドレス範囲内で循環させてもよい。
(7)これらのいずれかの信号処理プロセッサにおいて、
前記アドレス更新処理部は、前記アドレス更新範囲制御処理において、前記アドレスデータを固定する上位ビット数又は前記アドレスデータの更新を許可する下位ビット数を制御することにより前記アドレス範囲を設定してもよい。
(8)これらのいずれかの信号処理プロセッサにおいて、
前記アドレス更新処理部は、前記所与のアドレス変位値を、前記属性情報に基づいて制御してもよい。
(9)これらのいずれかの信号処理プロセッサにおいて、
前記属性情報は、前記メモリアクセス部により前記メモリから読み出されるデータ又は前記メモリに書き出されるデータのデータサイズを識別する情報を含んでもよい。
(10)これらのいずれかの信号処理プロセッサにおいて、
前記制御情報保持部は、前記アドレス・レジスタのそれぞれについて前記アドレス更新範囲制御処理の有無を特定するための制御有無情報を記憶し、
前記アドレス更新処理部は、前記制御有無情報に基づいて、前記アドレス・レジスタのそれぞれについて前記アドレス更新範囲制御処理の有無を制御してもよい。
(11)本発明に係る半導体装置は、
これらのいずれかの信号処理プロセッサを含むことを特徴とする。
以下、本発明を適用した実施の形態について図面を参照して説明する。ただし、本発明は以下の実施の形態に限定されるものではない。また、本発明は、以下の内容を自由に組み合わせたものを含むものとする。
以下、本発明を適用した信号処理プロセッサについて説明する。
図1は、本実施の形態の信号処理プロセッサの構成を示す機能ブロック図である。なお、本実施形態の信号処理プロセッサは、図1の構成要素(各部)を全て含む必要はなく、その一部を省略した構成としてもよい。
本実施の形態の信号処理プロセッサは半導体装置102として実現することが出来る。
本実施の形態の信号処理プロセッサ100は、プログラムメモリ(メモリ200の一部に設けられていても良い)から命令コードを読み出し、読み出した命令コードをフェッチレジスタ182に格納するフェッチ部180を含む。命令コードには、例えば、後述する命令実行部130がメモリ200に記憶されるデータに対する演算を行うためのデータ演算命令や、後述する命令実行部130が後述するアドレス・レジスタ122に記憶されるアドレスデータに対する演算を行うためのアドレス演算命令がある。データ演算命令は、メモリオペランドを含む命令とすることができる。
本実施の形態の信号処理プロセッサ100は、フェッチレジスタ182にフェッチされた命令コードをデコードしてデコード結果に基づき命令実行に必要なデコード信号112、114を生成するデコード部110を含む。
メモリ200は、演算対象のデータ又は演算結果のデータが格納される主記憶装置として機能するもので、半導体装置102の外部に設けられ、バスによって半導体装置102と接続される外部メモリとして構成でもよい。
本実施の形態の信号処理プロセッサ100は、ホストプロセッサ240との通信インターフェイスとして機能するホストインターフェイス部190を含んでいてもよい。ホストプロセッサ240は、ホストインターフェイス部190を介して情報保持部120に保持される情報を書き換えることができる。
本実施の形態の信号処理プロセッサ100は、信号処理プロセッサ100がメモリ200にアクセスするためのアドレスデータを記憶するアドレス・レジスタ122と、アドレスデータに対応するメモリ200に記憶されるデータの属性情報を、アドレス・レジスタ122に関連付けて記憶する属性情報保持部124とを含む情報保持部120を含む。
属性情報は、例えばメモリ200から読み出されるデータ又はメモリ200に書き出されるデータのデータサイズを識別する情報を含んでいてもよい。
情報保持部120は、後述するアドレス更新処理後のアドレス範囲を設定するための範囲制御情報を記憶する制御情報保持部126を含むことも可能である。制御情報保持部126は、後述するアドレス更新範囲制御処理の有無を特定するための制御有無情報を記憶することも可能である。以後、範囲制御情報と制御有無情報をまとめて「制御情報」とする。
本実施の形態の信号処理プロセッサ100は、デコード信号112、114及び図示しないレジスタに記憶されている情報に基づきフェッチ部にフェッチされた命令コードの実行を行う命令実行部130とを含む。
命令実行部130は、デコード信号114(デコード部110でデコードされたデータ演算命令)に基づき、後述する読み出し処理部140によって読み出されたデータ142を受け取り、所与の演算処理を行う演算処理部150を含む。
また、命令実行部130は、メモリアクセス部170を含む。メモリアクセス部170は、メモリ200に接続されたバスに対してデータの読み出し処理を行う読み出し処理部140を含むことができる。また、メモリアクセス部170は、演算処理部150の演算結果152を受け取り、メモリ200に接続されたバスに対して出力する書き出し処理部160を含むことができる。
読み出し処理部140は、情報保持部120から、アドレス・レジスタ122に記憶されるアドレスデータ1221と、属性情報保持部124に記憶される属性情報1241とを受け取り、読み出しアドレス201を生成する。読み出し処理部140は、読み出しアドレス201をバスに対して出力し、メモリ200からバスを介してデータ202を受け取ることにより読み出し処理を行う。ことのとき、属性情報保持部124に記憶される属性情報1241を、読み出すデータ202のサイズ情報としてバスに出力することにより、メモリ200から読み出すデータのサイズを制御することも可能である。
また、読み出し処理部140は、アドレス更新処理部141を含む。アドレス更新処理部141は、所与のデータ演算命令に基づいて、読み出し処理部140がアドレス・レジスタ122からデータを読み出す際に、所与のアドレス変位値をアドレスデータに加算するアドレス更新処理を行う。アドレス更新処理部141は、所与のアドレス変位値を属性情報保持部124に記憶される属性情報1241に基づいて制御することも可能である。アドレス更新処理部141は、アドレス更新処理後のアドレスを出力信号1223として情報保持部120へ出力し、アドレス・レジスタ122に記憶されるアドレスデータを更新する。
さらに、アドレス更新処理部141は、属性情報保持部124に記憶される属性情報1241に基づいて、アドレス更新処理後のアドレス範囲を設定し当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。
また、アドレス更新処理部141は、制御情報保持部126に記憶される範囲制御情報1261と属性情報保持部124に記憶される属性情報1241に基づいて、アドレス更新範囲制御処理を行うことも可能である。
さらに、アドレス更新処理部141は、制御情報保持部126に記憶される制御有無情報1263に基づいて、アドレス更新範囲制御処理の有無を制御することも可能である。
読み出し処理部140は、アドレス更新処理によって更新されたアドレスデータに基づいて、読み出しアドレス201を生成することもできる。これにより、読み出しアドレス201を設定したアドレス範囲内で設定することができる。
書き出し処理部160は、アドレス・レジスタ122に記憶されるアドレスデータ1222と、属性情報保持部124に記憶される属性情報1242を受け取り、書き出しアドレス203を生成する。書き出し処理部160は、書き出しアドレス203をバスに対して出力し、メモリ200にバスを介してデータ204を出力することにより書き出し処理(メモリに書き込むための出力処理)を行う。ことのとき、属性情報保持部124に記憶される属性情報1242を、書き出すデータ204のサイズ情報としてバスに出力することにより、メモリ200から書き出すデータのサイズを制御することも可能である。
また、書き出し処理部160は、アドレス更新処理部161を含む。アドレス更新処理部161は、所与のデータ演算命令に基づいて、書き出し処理部160がアドレス・レジスタ122からデータを読み出す際に、所与のアドレス変位値をアドレスデータに加算するアドレス更新処理を行う。アドレス更新処理部161は、所与のアドレス変位値を属性情報保持部124に記憶される属性情報1242に基づいて制御することも可能である。アドレス更新処理部161は、アドレス更新処理後のアドレスを出力信号1224として情報保持部120へ出力し、アドレス・レジスタ122に記憶されるアドレスデータを更新する。
さらにアドレス更新処理部161は、属性情報保持部124に記憶される属性情報1242に基づいて、アドレス更新処理後のアドレス範囲を設定し、当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。
また、アドレス更新処理部161は、制御情報保持部126に記憶される範囲制御情報1262と属性情報保持部124に記憶される属性情報1242に基づいて、アドレス更新範囲制御処理を行うことも可能である。
さらに、アドレス更新処理部161は、制御情報保持部126に記憶される制御有無情報1264に基づいて、アドレス更新範囲制御処理の有無を制御することも可能である。
書き出し処理部160は、アドレス更新処理によって更新されたアドレスデータに基づいて、書き出しアドレス203を生成することもできる。これにより、書き出しアドレス203を設定したアドレス範囲内で設定することができる。
図2は、本実施の形態の信号処理プロセッサ100のハードウエア構成の一例を示す回路ブロック図である。
本実施の形態の信号処理プロセッサ100は、フェッチ部180とデコード部110に対応する命令フェッチ/デコード回路10、情報保持部120に対応するレジスタ・ファイル20、演算処理部150に対応する演算回路30、読み出し処理部140に対応するXバスリード回路40及びYバス・リード回路50、書き出し処理部150に対応するZバス・ライト回路60、ホストインターフェイス部190に対応するホストインターフェイス回路70を含む。
レジスタ・ファイル20は、命令実行に使用するアドレス、データ、制御情報の少なくとも1つを記憶するレジスタとして機能する。
図3は本実施の形態の信号処理プロセッサ100のレジスタ・ファイル20のレジスタ構成の一例について説明する図である。
本実施の形態の信号処理プロセッサ100は、アドレス・レジスタ群310、データ・レジスタ群320、演算制御レジスタ群330、特殊アドレス制御レジスタ群340を含んで構成されている。
アドレス・レジスタ群310は複数のアドレス・レジスタ(A0〜YR)311を含んでもよい。アドレス・レジスタ(A0〜YR)311は、その一部(上位の所定ビット又は下位の所定ビット)に属性情報(long型、short型、char型等)を保持するための所定ビット(ここでは3ビット)の属性情報保持フィールド350(属性情報保持部124に対応)を設けても良い。この場合実際のアドレスデータはフィールド350を除いたアドレス情報保持フィールド352に記憶される。
なおアドレス・レジスタ群310はデータ兼用レジスタ(DR)312を含んでもよい。そしてデータ兼用レジスタ(DR)312の一部(上位の所定ビット又は下位の所定ビット)に属性情報(long型、short型、char型等)を保持するための所定ビット(ここでは3ビット)の属性情報保持フィールド350を設けてもよい。
属性情報保持フィールド350に保持される属性情報と、対応するデータ型との関係は、例えば図10に示す表に示すように設定することができる。
なお、上記例では、属性情報保持部124として属性情報保持フィールド350がアドレス・レジスタの一部のフィールドに設けられている例であるが、属性情報保持部124は、アドレス・レジスタのフィールドの一部に設けた構成に限られず、アドレス・レジスタと一義的に対応する場所(レジスタ・ファイルのいずれか)に設けられていればよい。
データ・レジスタ320は、メモリ200から読み出されたデータや演算回路30の出力値が格納されるレジスタである。演算制御レジスタ330は、演算回路30で行われる種々の演算処理において必要に応じて使用されるレジスタである。
特殊アドレス制御レジスタ群340は、制御情報保持部126に対応し、アドレス範囲を設定するための範囲制御情報を記憶する範囲制御レジスタ(CBC0、CBC1)341と、アドレス更新範囲制御処理の有無を特定するための制御有無情報を記憶するフラグレジスタ(CBREF0、CBREF1)342を含んで構成されている。
範囲制御レジスタは、アドレス・レジスタと1対1に対応するように構成することも可能である。
また1つの範囲制御レジスタと所定の複数のアドレス・レジスタとが対応するように構成することも可能である。例えば、範囲制御レジスタCBC0をアドレス・レジスタA0〜A2に、範囲制御レジスタCBC1をアドレス・レジスタXR〜ZRに対応するように構成することも可能である。このように構成することにより、アドレス更新処理部141,161は、複数のアドレス・レジスタについて、範囲制御レジスタに記憶される1つの範囲制御情報の値を共用してアドレス更新範囲制御処理を行うことも可能である。
命令フェッチ/デコード回路10は、命令アドレス11を出力してメモリ200に記憶されている命令コード12を受け取り、受け取った命令コードをデコードして、後述する各種信号を出力する。例えば、命令フェッチ/デコード回路10は、データ演算命令に基づいて、使用するアドレス・レジスタを選択するアドレス・レジスタ選択信号13を出力する。
また、命令フェッチ/デコード回路10は、所与の命令に基づいて設定信号14を出力し、属性情報保持部124に保持される属性情報を設定したり変更したりする属性情報設定処理を行うように構成することも可能である。属性情報設定処理を行う命令は、汎用的なレジスタ書き込み命令である場合でもよいし、レジスタ・ファイルの属性情報保持部に属性情報を設定するための専用命令である場合でもよい。
さらに、命令フェッチ/デコード回路10は、所与の命令に基づいて設定信号14を出力し、制御情報保持部126に保持される範囲制御情報を設定したり変更したりする範囲制御情報設定処理を行うように構成することも可能である。範囲制御情報設定処理を行う命令は、汎用的なレジスタ書き込み命令である場合でもよいし、レジスタ・ファイルの制御情報保持部に属性情報を設定するための専用命令である場合でもよい。
加えて、命令フェッチ/デコード回路10は、所与の命令に基づいて設定信号14を出力し、制御情報保持部126に保持される制御有無情報を設定したり変更したりする制御有無情報設定処理を行うように構成することも可能である。制御有無情報設定処理を行う命令は、汎用的なレジスタ書き込み命令である場合でもよいし、レジスタ・ファイルの制御情報保持部に属性情報を設定するための専用命令である場合でもよい。
演算回路30は、Xバス・リード回路40の出力であるXデータ45、Yバス・リード回路の出力であるYデータ55を受け取り、命令フェッチ/デコード回路10から出力されるデコード信号31に基づき演算処理を行い、演算結果をZデータ35として出力する。
Xバスリード回路40は、命令フェッチ/デコード回路10からXリード・リクエスト27やXアドレス変位値16を、レジスタ・ファイル20からXリード・アドレス21やX属性情報24やX制御情報32を受け取り、Xアドレス41、Xデータサイズ42、Xリードリクエスト43をXバスに出力し、XバスからXリードデータ44を受け取り、演算回路30にXデータ45を、レジスタ・ファイル20にX更新アドレス46をそれぞれ出力する。
Yバスリード回路50は、命令フェッチ/デコード回路10からYリード・リクエスト28やYアドレス変位値17を、レジスタ・ファイル20からYリード・アドレス22やY属性情報25やY制御情報33を受け取り、Yアドレス51、Yデータサイズ52、Yリードリクエスト53をYバスに出力し、YバスからYリードデータ54を受け取り、演算回路30にYデータ55を、レジスタ・ファイル20にY更新アドレス56をそれぞれ出力する。
Zバスライト回路60は、演算回路30から受け取った演算結果であるZデータ35を、命令フェッチ/デコード回路10からZリード・リクエスト29やZアドレス変位値18を、レジスタ・ファイル20からZライト・アドレス23やZ属性情報26やZ制御情報34を受け取り、Zアドレス61、Zデータサイズ62、Zライトリクエスト63、Zライトデータ64をZバスに、Z更新アドレス66をレジスタ・ファイル20にそれぞれ出力する。
ホストインターフェイス回路70は、ホストライトデータ71、ホストアドレス72を受け取りレジスタ・ファイル20のアドレスデータや属性情報やその他の情報を設定する。またレジスタ・ファイル20からデータを読み出しホストリードデータ73としてホストプロセッサ240に出力する。
ホストインターフェイス回路70は、例えばホストプロセッサ240から、アドレス・レジスタの属性情報を受け取り、レジスタ・ファイル20のアドレス・レジスタの属性情報保持部に設定するようにしてもよい。
また、ホストインターフェイス回路70は、例えばホストプロセッサ240から、範囲制御情報を受け取り、レジスタ・ファイル20の制御情報保持部に設定するようにしてもよい。さらに、ホストインターフェイス回路70は、例えばホストプロセッサ240から、制御有無情報を受け取り、レジスタ・ファイル20の制御情報保持部に設定するようにしてもよい。
例えば本実施の形態の信号処理プロセッサ100は、メモリオペランドとして、入力となるXソース、Yソース、出力となるディスティネーションZのアドレス・レジスタを選択する情報有するデータ演算命令を命令セットに有している場合、命令フェッチ/デコード回路10は、上記データ演算命令をデコードすると、Xソース、Yソース、出力となるディスティネーションZに対応するアドレス・レジスタ(例えば図3のアドレス・レジスタ群310のA0〜A2)を選択するアドレス・レジスタ選択信号13をレジスタ・ファイルに対しデコード信号として出力する。
また上記演算命令でXソース、Yソース、出力となるディスティネーションZに対しXアドレス変位値、Yアドレス変位値、Zアドレス変位値が設定されている場合には、Xアドレス変位値16をXバス・リード回路40に、Yアドレス変位値17をYバス・リード回路50に、Zアドレス変位値18をZバス・ライト60にそれぞれ出力する。
図4は本実施の形態のXバス・リード回路40の一例を示す回路ブロック図である。なお、Yバス・リード回路50の構成も、Xバス・リード回路40と同様である。
図4に示す例では、アドレス更新処理部400が、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス変位値を制御している。また、アドレス更新処理部400は、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス更新処理の有無も含めて制御してもよい。
なお図4に示す例では、アドレス更新処理部400は、命令フェッチ・デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいて、Xバス・リード回路40が、データ演算命令に基づいてメモリ200にアクセスするごとにアドレス更新処理を行っている。
また、アドレス更新処理部400は、属性情報として、命令フェッチ/デコード回路10からのアドレス・レジスタ選択信号13により選択されたアドレス・レジスタに関連付けられた属性情報を用い、アドレス・レジスタ選択信号13により選択されたアドレス・レジスタに対してアドレス更新範囲制御処理を行っている。また、アドレス更新処理部400は、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス更新範囲制御処理の有無も含めて制御してもよい。
図4に示すXバス・リード回路40は、パイプライン・レジスタ401〜404、データ拡張処理回路405、シフタ406、加算器407、マルチプレクサ408を含んで構成されている。
パイプライン・レジスタ401〜404は、後述するパイプライン処理における1クロックサイクル(パイプライン処理の1ステージに対応)に相当する時間だけ信号を遅延させる。図4においては、説明を簡潔にするために各信号線上に1段ずつのパイプライン・レジスタを示しているが、必要に応じて増減することができる。
Xバス・リード回路40は、レジスタ・ファイル20からXリード・アドレス21を受け取り、パイプライン・レジスタ401を介して、Xアドレス41としてバスに出力する。また、Xバス・リード回路40は、レジスタ・ファイル20からX属性情報24を受け取り、パイプライン・レジスタ402を介して、Xデータ・サイズ42としてバスに出力する。さらに、Xバス・リード回路40は、命令フェッチ/デコード回路10からXリード・リクエスト27を受け取り、パイプライン・レジスタ403を介して、Xリード・リクエスト43としてバスに出力する。
Xバス・リード回路40は、Xリード・データ44に対してデータ拡張処理を行うデータ拡張処理回路405を含んでいてもよい。データ拡張処理回路405は、データ拡張処理部として機能し、X属性情報24に基づいて特定されるデータ拡張処理規則にしたがって、Xリード・データ44に対してデータ拡張処理を行う。
属性情報と、対応するデータ拡張規則との関係は、例えば図10に示す表に示すように設定することができる。図10に示す例は、Xリード・データ44を4バイトに拡張する例である。
図10において、「バイト符号拡張」とは、「char型(符号付1バイト)」のデータを「long型(符号付4バイト)」に符号拡張するデータ拡張規則である。「2バイト符号拡張」とは、「short型(符号付2バイト)」のデータを「long型(符号付4バイト)」に符号拡張するデータ拡張規則である。「バイトゼロ拡張」とは、「unsighned char型(符号なし1バイト)」のデータを「unsighned long型(符号なし4バイト)」にゼロ拡張するデータ拡張規則である。「2バイトゼロ拡張」とは、「unsighned short型(符号なし2バイト)」のデータを「unsighned long型(符号なし4バイト)」にゼロ拡張するデータ拡張規則である。「拡張なし」とは、リード・データをそのまま出力するデータ拡張規則である。
このように、データ拡張処理回路405を設けることにより、演算回路30は予め設定したデータ型のデータのみを受け取ることができる。
Xバス・リード回路40は、シフタ406、加算器407、マルチプレクサ408を含んで構成されるアドレス更新処理部400を含む。アドレス更新処理部400は、Xバス・リード回路がアドレス・レジスタ311からXリード・アドレス21を読み出す際に、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータに、所与の変位値を加算するアドレス更新処理を行う。アドレス更新処理部400は、所与の変位値を属性情報に基づいて制御することも可能である。
また、アドレス更新処理部400は、マルチプレクサ408により、属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。さらに、アドレス更新処理部400は、マルチプレクサ408により、範囲制御情報と属性情報に基づいてアドレス更新範囲制御処理を行うことも可能である。
図4に示す例では、シフタ406は、命令フェッチ/デコード回路10からXアドレス変位値16を、レジスタ・ファイル20からX属性情報24を受け取り、X属性情報24に基づいて決定されるアドレス変位のシフトをXアドレス変位値16対して行い、Xアドレス変位値を補正する。加算器407は、Xリード・アドレス21に補正後のXアドレス変位値を加算し、X加算アドレス47として出力する。
属性情報と、対応するアドレス変位のシフトとの関係は、例えば図10に示す表に示すように設定することができる。
図10において、「<<1」とは、アドレス変位値に対して左に1ビットだけシフトすることを示す。「<<2」とは、アドレス変位値に対して左に2ビットだけシフトすることを示す。「なし」とは、アドレス変位値をそのまま出力することを示す。
つまり、図10に示す例では、アドレス更新処理部400は属性情報に基づきデータの語長(サイズ)に比例したアドレス変位値となるように制御している。
マルチプレクサ408は、レジスタ・ファイル20からX属性情報24とX制御情報32を受け取りアドレス範囲を設定する。そしてマルチプレクサ408は、レジスタ・ファイル20からXリード・アドレス21を、加算器407からX加算アドレス47を受け取り、アドレス更新処理後のアドレスデータが設定されたアドレス範囲内で循環するようにX更新アドレス46を生成し、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータを更新する。
アドレス更新処理部400は、アドレス更新範囲制御処理において、アドレスデータを固定する上位ビット数を設定することによりアドレス範囲を設定することができる。同様に、アドレスデータの更新を許可する下位ビット数を設定することによりアドレス範囲を設定することができる。
図11はアドレス範囲の大きさとマルチプレクサ408の出力ビットとの関係の一例を示す表である。図11において、「U」はアドレス更新を許可するビット、「O」はアドレスデータを固定するビットである。また、アドレス範囲「−」は、アドレス更新範囲制御処理を行わないことを表す。
例えばアドレス範囲を2バイトに設定する場合には、マルチプレクサ408は、上位15ビットについてはXリード・アドレス21をそのまま出力し、下位1ビットについてはX加算アドレス47を出力することによりX更新アドレス46を生成し出力する。同様に、例えばアドレス範囲を4バイトに設定する場合には、マルチプレクサ408は、上位14ビットについてはXリード・アドレス21をそのまま出力し、下位2ビットについてはX加算アドレス47を出力することによりX更新アドレス46を生成し出力する。
図12は、範囲制御情報、データエントリー数、データ型、アドレス範囲の関係の一例を示す表である。データエントリー数は設定されたアドレス範囲内に書き込むことができる最大のデータ数である。データ型は図10に示す表にしたがって、属性情報に対応する。
例えばプログラマが4個のデータを扱いたい場合には、範囲制御情報を「2」に設定する。範囲制御情報が「2」に対応する範囲制御情報を受け取ったアドレス更新処理部400は、データ型が「char型(符号付1バイト)」又は「unsighned char型(符号なし1バイト)」に対応する属性情報24を受け取った場合には、アドレス範囲を4バイトに設定する。また、アドレス更新処理部400は、データ型が「short型(符号付2バイト)」又は「unsighned short型(符号なし2バイト)」に対応する属性情報24を受け取った場合には、アドレス範囲を8バイトに設定する。また、アドレス更新処理部400は、データ型が「long型(符号付4バイト)」又は「unsighned long型(符号なし4バイト)」に対応する属性情報24を受け取った場合には、アドレス範囲を16バイトに設定する。
このように属性情報に基づいてアドレス更新範囲制御処理を行うことにより、プログラマがデータ型の違いを注意深く意識しなくとも、必要なデータエントリー数に応じて適切なアドレス範囲でアドレス更新処理を行うことができる。
図4に示す例では、アドレス更新処理部400は、Xバス・リード回路40が、データ演算命令に基づいてメモリ200にアクセスするアドレスを生成した後に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成例であったが、メモリ200にアクセスするアドレスを生成する前に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成とすることも可能である。
図5は本実施の形態のXバス・リード回路40の他の一例を示す回路ブロック図である。なお、Yバス・リード回路50の構成も、Xバス・リード回路40と同様である。また、図4に示すXバス・リード回路40と同一の構成には同一の符号を付し、その詳細な説明を省略する。
図5に示すXバス・リード回路40は、レジスタ・ファイル20からX属性情報24を受け取り、パイプライン・レジスタ402を介して、Xデータ・サイズ42としてバスに出力する。さらに、Xバス・リード回路40は、命令フェッチ/デコード回路10からXリード・リクエスト27を受け取り、パイプライン・レジスタ403を介して、Xリード・リクエスト43としてバスに出力する。
Xバス・リード回路40は、シフタ406、加算器407、マルチプレクサ408を含んで構成されるアドレス更新処理部400を含む。アドレス更新処理部400は、Xバス・リード回路がアドレス・レジスタ311からXリード・アドレス21を読み出す際に、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータに、所与の変位値を加算するアドレス更新処理を行う。アドレス更新処理部400は、所与の変位値を属性情報に基づいて制御することも可能である。
また、アドレス更新処理部400は、マルチプレクサ408により、属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。さらに、アドレス更新処理部400は、マルチプレクサ408により、範囲制御情報と属性情報に基づいてアドレス更新範囲制御処理を行うことも可能である。
図5に示す例では、シフタ406は、命令フェッチ/デコード回路10からXアドレス変位値16を、レジスタ・ファイル20からX属性情報24を受け取り、X属性情報24に基づいて決定されるアドレス変位のシフトをXアドレス変位値16対して行い、Xアドレス変位値を補正する。加算器407は、Xリード・アドレス21に補正後のXアドレス変位値を加算してX加算アドレス47として出力する。
マルチプレクサ408は、レジスタ・ファイル20からX属性情報24とX制御情報32を受け取りアドレス範囲を設定する。そしてマルチプレクサ408は、レジスタ・ファイル20からXリード・アドレス21を、加算器407からX加算アドレス47を受け取り、アドレス更新処理後のアドレスデータが設定されたアドレス範囲内で循環するようにX更新アドレス46を生成し、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータを更新する。
Xバス・リード回路40は、アドレス更新後のアドレスデータであるX更新アドレス46をパイプライン・レジスタ401を介して、Xアドレス41としてバスに出力する。
なお、Xバス・リード回路40は、図6に示す例のようにセレクタ409を含み、命令フェッチ/デコード回路10から受け取るアドレッシング・モード選択信号48に基づき、メモリ200にアクセスするアドレスを生成した後に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成と、メモリ200にアクセスするアドレスを生成する前に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成とを切替え可能な構成とすることもできる。
図7は本実施の形態のZバス・ライト回路60の一例を示す回路ブロック図である。
図7に示す例では、アドレス更新処理部600が、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス変位値を制御している。また、アドレス更新処理部600は、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス更新処理の有無も含めて制御してもよい。
なお図7に示す例では、アドレス更新処理部600は、命令フェッチ・デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいて、Zバス・ライト回路60が、データ演算命令に基づいてメモリ200にアクセスするごとにアドレス更新処理を行っている。
また、アドレス更新処理部600は、属性情報として、命令フェッチ/デコード回路10からのアドレス・レジスタ選択信号13により選択されたアドレス・レジスタに関連付けられた属性情報を用い、アドレス・レジスタ選択信号13により選択されたアドレス・レジスタに対してアドレス更新範囲制御処理を行っている。また、アドレス更新処理部600は、命令フェッチ/デコード回路10でデコードされたデータ演算命令とレジスタ・ファイル20に記憶される属性情報に基づいてアドレス更新範囲制御処理の有無も含めて制御してもよい。
図7に示すZバス・ライト回路60は、パイプライン・レジスタ601〜603、シフタ605、加算器606、マルチプレクサ607を含んで構成されている。
パイプライン・レジスタ601〜603は、後述するパイプライン処理における1クロックサイクル(パイプライン処理の1ステージに対応)に相当する時間だけ信号を遅延させる。図5においては、説明を簡潔にするために各信号線上に1段ずつのパイプライン・レジスタを示しているが、必要に応じて増減することができる。
Zバス・ライト回路60は、レジスタ・ファイル20からZライト・アドレス23を受け取り、パイプライン・レジスタ601を介して、Zアドレス61としてバスに出力する。また、Zバス・ライト回路60は、レジスタ・ファイル20からZ属性情報27を受け取り、パイプライン・レジスタ602を介して、Zデータ・サイズ62としてバスに出力する。さらに、Zバス・ライト回路60は、命令フェッチ/デコード回路10からZライト・リクエスト29を受け取り、パイプライン・レジスタ603を介して、Zライト・リクエスト63としてバスに出力する。
また、Zバス・ライト回路60は、演算回路30からZデータ35を受け取り、Zライト・データ64としてバスに出力する。
Zバス・ライト回路60は、シフタ605、加算器606、マルチプレクサ607を含むアドレス更新処理部600を含む。アドレス更新処理部600は、Zバス・ライト回路60がアドレス・レジスタ311からZライト・アドレス23を読み出す際に、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータに、所与の変位値を加算するアドレス更新処理を行う。アドレス更新処理部600は、所与の変位値を属性情報に基づいて制御することも可能である。
また、アドレス更新処理部600は、マルチプレクサ607により、属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。さらに、アドレス更新処理部600は、マルチプレクサ607により、範囲制御情報と属性情報に基づいてアドレス更新範囲制御処理を行うことも可能である。
図7に示す例では、シフタ605は、命令フェッチ/デコード回路10からZアドレス変位値18を、レジスタ・ファイル20からZ属性情報26を受け取り、Z属性情報26に基づいて決定されるアドレス変位のシフトをZアドレス変位値18対して行い、Z加算アドレス67として出力する。
属性情報と、対応するアドレス変位のシフトとの関係は、例えば図10に示す表に示すように設定することができる。
図10において、「<<1」とは、アドレス変位値に対して左に1ビットだけシフトすることを示す。「<<2」とは、アドレス変位値に対して左に2ビットだけシフトすることを示す。「なし」とは、アドレス変位値をそのまま出力することを示す。
つまり、図10に示す例では、アドレス更新処理部600は属性情報に基づきデータの語長(サイズ)に比例したアドレス変位値となるように制御している。
マルチプレクサ607は、レジスタ・ファイル20からZ属性情報26とZ制御情報34を受け取りアドレス範囲を設定する。そしてマルチプレクサ607は、レジスタ・ファイル20からZライト・アドレス23を、加算器606からZ加算アドレス67を受け取り、アドレス更新処理後のアドレスデータが設定されたアドレス範囲内で循環するようにZ更新アドレス66を生成し、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータを更新する。
アドレス更新処理部600は、アドレス更新範囲制御処理において、アドレスデータを固定する上位ビット数を設定することによりアドレス範囲を設定することができる。同様に、アドレスデータの更新を許可する下位ビット数を設定することによりアドレス範囲を設定することができる。
図11はアドレス範囲の大きさとマルチプレクサ607の出力ビットとの関係の一例を示す表である。図11において、「U」はアドレス更新を許可するビット、「O」はアドレスデータを固定するビットである。
このように属性情報に基づいてアドレス更新範囲制御処理を行うことにより、プログラマがデータ型の違いを注意深く意識しなくとも、必要なデータエントリー数に応じて適切なアドレス範囲でアドレス更新処理を行うことができる。
図7に示す例では、アドレス更新処理部600は、Zバス・ライト回路60が、データ演算命令に基づいてメモリ200にアクセスするアドレスを生成した後に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成例であったが、メモリ200にアクセスするアドレスを生成する前に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成とすることも可能である。
図8は本実施の形態のZバス・ライト回路60の他の一例を示す回路ブロック図である。また、図7に示すZバス・ライト回路60と同一の構成には同一の符号を付し、その詳細な説明を省略する。
図8に示すZバス・ライト回路60は、レジスタ・ファイル20からZ属性情報26を受け取り、パイプライン・レジスタ602を介して、Zデータ・サイズ62としてバスに出力する。さらに、Zバス・ライト回路60は、レジスタ・ファイル20からZライト・リクエスト29を受け取り、パイプライン・レジスタ603を介して、Zライト・リクエスト63としてバスに出力する。
また、Zバス・ライト回路60は、演算回路30からZデータ35を受け取り、Zライト・データ64としてバスに出力する。
図8に示すZバス・ライト回路60は、シフタ605と加算器606を含むアドレス更新処理部600を含む。アドレス更新処理部600は、Zバス・ライト回路60がアドレス・レジスタ311からZライト・アドレス23を読み出し、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータに、所与の変位値を加算するアドレス更新処理を行う。アドレス更新処理部600は、所与の変位値を属性情報に基づいて制御することも可能である。
また、アドレス更新処理部600は、マルチプレクサ607により、属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内でアドレス更新処理を行うアドレス更新範囲制御処理を行う。さらに、アドレス更新処理部600は、マルチプレクサ607により、範囲制御情報と属性情報に基づいてアドレス更新範囲制御処理を行うことも可能である。
図8に示す例では、シフタ605は、命令フェッチ/デコード回路10からZアドレス変位値18を、レジスタ・ファイル20からZ属性情報26を受け取り、Z属性情報26に基づいて決定されるアドレス変位のシフトをXアドレス変位値18対して行い、Z加算アドレス67として出力する。
マルチプレクサ607は、レジスタ・ファイル20からZ属性情報26とZ制御情報34を受け取りアドレス範囲を設定する。そしてマルチプレクサ607は、レジスタ・ファイル20からZライト・アドレス23を、加算器606からZ加算アドレス67を受け取り、アドレス更新処理後のアドレスデータが設定されたアドレス範囲内で循環するようにZ更新アドレス66を生成し、レジスタ・ファイル20内のアドレス・レジスタ311に保持されるアドレスデータを更新する。
Zバス・ライト回路60は、アドレス更新後のアドレスデータであるZ更新アドレス66をパイプライン・レジスタ601を介して、Zアドレス61としてバスに出力する。
なお、Zバス・ライト回路60は、図9に示す例のようにセレクタ608を含み、命令フェッチ/デコード回路10から受け取るアドレッシング・モード選択信号68に基づき、メモリ200にアクセスするアドレスを生成した後に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成と、メモリ200にアクセスするアドレスを生成する前に、アドレス変位値をアドレスデータに加算するアドレス更新処理を行う構成とを切替え可能な構成とすることもできる。
図13は、本実施の形態の信号処理プロセッサ100のパイプラインステージの一例について説明するための図である。本実施の形態の信号処理プロセッサ100は、700に示すように8段のパイプライン構成となっている。
IF(701)はフェッチ部180(図2の命令フェッチ/デコード回路10)が命令フェッチを行うステージであり、DE(702)はデコード部110(図2の命令フェッチ/デコード回路10)が命令デコード、アドレス計算を行うステージであり、MA(703)は読み出し処理部140(図2のXバス・リード回路40、Yバス・リード回路50)が、Xバス、Yバスのメモリアクセスを行うステージであり、DR(704)は読み出し処理部140(図2のXバス・リード回路40、Yバス・リード回路50)が、Xバス、Yバスのデータ・リードを行うステージであり、E1(705)は演算処理部150(図2の演算回路30)が乗算を行うステージであり、E2(706)は演算処理部150(図2の演算回路30)が加減算やアキュミュレーションを行うステージであり、E3(707)は図示しない飽和処理部がシフトや飽和処理を行うステージであり、WB(708)は、書き出し処理部160(図2のZバス・ライト回路60)がZバス・ライトを行うステージである。
なお、本発明は本実施の形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。
本実施の形態の信号処理プロセッサの構成を示す機能ブロック図。 本実施の形態の信号処理プロセッサのハードウエア構成の一例を示す回路ブロック図。 本実施の形態の信号処理プロセッサのレジスタ・ファイルのレジスタ構成の一例。 本実施の形態のXバス・リード回路の一例を示す回路ブロック図。 本実施の形態のXバス・リード回路の他の一例を示す回路ブロック図。 本実施の形態のXバス・リード回路の他の一例を示す回路ブロック図。 本実施の形態のZバス・ライト回路の一例を示す回路ブロック図。 本実施の形態のZバス・ライト回路の他の一例を示す回路ブロック図。 本実施の形態のZバス・ライト回路の他の一例を示す回路ブロック図。 属性情報とデータ型、データ拡張規則、アドレス変位のシフトとの関係の一例を示す表。 アドレス範囲の大きさとマルチプレクサの出力ビットとの関係の一例を示す表。 範囲制御情報、データエントリー数、アドレス範囲の関係の一例を示す表。 本実施の形態の信号処理プロセッサのパイプラインステージの一例について説明するための図。
符号の説明
10 命令フェッチ/デコード回路、20 レジスタ・ファイル、30 演算回路、40 Xバス・リード回路、50 Yバス・リード回路、60 Zバス・リード回路、70 ホストインターフェイス回路、100 信号処理プロセッサ、102 半導体装置、110 デコード部、120 情報保持部、122 アドレス・レジスタ、124 属性情報保持部、126 制御情報保持部、140 読み出し処理部、141 アドレス更新処理部、150 演算処理部、160 書き出し処理部、161 アドレス更新処理部、170 メモリアクセス部、180 フェッチ部、182 フェッチレジスタ、190 ホストインターフェイス部、200 メモリ、240 ホストプロセッサ、310 アドレス・レジスタ群、311 アドレス・レジスタ、320 データ・レジスタ群、330 演算制御レジスタ群、340 特殊アドレス制御レジスタ群、341 範囲制御レジスタ、342 フラグレジスタ、350 属性情報保持フィールド、352 アドレス情報保持フィールド、400 アドレス更新処理部、401〜404 パイプライン・レジスタ、405 データ拡張回路、406 シフタ、407 加算器、408 マルチプレクサ、409 セレクタ、600 アドレス更新処理部、601〜603 パイプライン・レジスタ、605 シフタ、606 加算器、607 マルチプレクサ、608セレクタ

Claims (11)

  1. データ演算命令をデコードし、デコード結果に基づきデコード信号を生成するデコード部と、
    前記デコード信号に基づき前記データ演算命令を実行する命令実行部と、を含む信号処理プロセッサにおいて、
    アドレスデータを記憶するアドレス・レジスタと、
    前記アドレスデータに対応するメモリに記憶されるデータの属性情報を、前記アドレス・レジスタに関連付けて記憶する属性情報保持部とを含み、
    前記命令実行部は、前記デコード信号と、前記アドレス・レジスタに記憶されるアドレスデータに基づいて前記メモリにアクセスするメモリアクセス部を含み、
    前記メモリアクセス部が、所与のデータ演算命令に基づいて前記アドレス・レジスタから前記アドレスデータを読み出す際に、所与のアドレス変位値を前記アドレスデータに加算し、アドレス更新処理を行うアドレス更新処理部を含み、
    前記アドレス更新処理部は、前記属性情報に基づいて、アドレス範囲を設定し当該設定されたアドレス範囲内で前記アドレス更新処理を行うアドレス更新範囲制御処理を行うことを特徴とする信号処理プロセッサ。
  2. 請求項1に記載の信号処理プロセッサにおいて、
    前記アドレス範囲を設定するための範囲制御情報を記憶する制御情報保持部を含み、
    前記アドレス更新処理部は、前記範囲制御情報と前記属性情報に基づいて前記アドレス更新範囲制御処理を行うことを特徴とする信号処理プロセッサ。
  3. 請求項1及び2のいずれかに記載の信号処理プロセッサにおいて、
    前記アドレス・レジスタを複数含み、
    前記属性情報保持部は、前記アドレス・レジスタのそれぞれに関連付けられた属性情報を記憶し、
    前記デコード部は、前記データ演算命令に基づいて前記アドレス・レジスタの1つを選択し、
    前記メモリアクセス部は、選択された前記アドレス・レジスタに記憶されるアドレスデ
    ータに基づいて前記メモリにアクセスし、
    前記アドレス更新処理部は、前記属性情報として選択された前記アドレス・レジスタに関連付けられた属性情報を用い、選択された前記アドレス・レジスタに対して前記アドレス更新範囲制御処理を行うことを特徴とする信号処理プロセッサ。
  4. 請求項2に従属する請求項3に記載の信号処理プロセッサにおいて、
    前記アドレス更新処理部は、所定の複数の前記アドレス・レジスタについて、前記制御情報保持部に記憶される1つの前記範囲制御情報の値を共用して前記アドレス更新範囲制御処理を行うことを特徴とする信号処理プロセッサ。
  5. 請求項1乃至4のいずれかに記載の信号処理プロセッサにおいて、
    前記属性情報保持部は、関連付けられた前記アドレス・レジスタの一部に設けられていることを特徴とする信号処理プロセッサ。
  6. 請求項1乃至5のいずれかに記載の信号処理プロセッサにおいて、
    前記アドレス更新処理部は、前記アドレス更新範囲制御処理において、前記アドレス更新処理後のアドレスデータを前記アドレス範囲内で循環させることを特徴とする信号処理プロセッサ。
  7. 請求項1乃至6のいずれかに記載の信号処理プロセッサにおいて、
    前記アドレス更新処理部は、前記アドレス更新範囲制御処理において、前記アドレスデータを固定する上位ビット数又は前記アドレスデータの更新を許可する下位ビット数を制御することにより前記アドレス範囲を設定することを特徴とする信号処理プロセッサ。
  8. 請求項1乃至7のいずれかに記載の信号処理プロセッサにおいて、
    前記アドレス更新処理部は、前記所与のアドレス変位値を、前記属性情報に基づいて制御することを特徴とする信号処理プロセッサ。
  9. 請求項1乃至8のいずれかに記載の信号処理プロセッサにおいて、
    前記属性情報は、前記メモリアクセス部により前記メモリから読み出されるデータ又は前記メモリに書き出されるデータのデータサイズを識別する情報を含むことを特徴とする信号処理プロセッサ。
  10. 請求項2に従属する請求項3、及び、請求項、並びに、請求項2に従属する請求項3、及び、請求項のいずれかに従属する請求項5乃至9のいずれかに記載の信号処理プロセッサにおいて、
    前記制御情報保持部は、前記アドレス・レジスタのそれぞれについて前記アドレス更新範囲制御処理の有無を特定するための制御有無情報を記憶し、
    前記アドレス更新処理部は、前記制御有無情報に基づいて、前記アドレス・レジスタのそれぞれについて前記アドレス更新範囲制御処理の有無を制御することを特徴とする信号処理プロセッサ。
  11. 請求項1乃至10のいずれかに記載の信号処理プロセッサを含む半導体装置。
JP2008206740A 2008-08-11 2008-08-11 信号処理プロセッサ及び半導体装置 Expired - Fee Related JP5311008B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008206740A JP5311008B2 (ja) 2008-08-11 2008-08-11 信号処理プロセッサ及び半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008206740A JP5311008B2 (ja) 2008-08-11 2008-08-11 信号処理プロセッサ及び半導体装置

Publications (2)

Publication Number Publication Date
JP2010044487A JP2010044487A (ja) 2010-02-25
JP5311008B2 true JP5311008B2 (ja) 2013-10-09

Family

ID=42015840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008206740A Expired - Fee Related JP5311008B2 (ja) 2008-08-11 2008-08-11 信号処理プロセッサ及び半導体装置

Country Status (1)

Country Link
JP (1) JP5311008B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63142430A (ja) * 1986-12-04 1988-06-14 Hitachi Ltd アドレス生成方式
JPH02190952A (ja) * 1989-01-19 1990-07-26 Nec Corp データ・ポインタ回路
US6260137B1 (en) * 1997-09-12 2001-07-10 Siemens Aktiengesellschaft Data processing unit with digital signal processing capabilities
JP2000020392A (ja) * 1998-07-02 2000-01-21 Matsushita Electric Ind Co Ltd 巡回アドレス発生回路
US6539467B1 (en) * 1999-11-15 2003-03-25 Texas Instruments Incorporated Microprocessor with non-aligned memory access
JP3745673B2 (ja) * 2001-10-25 2006-02-15 富士通株式会社 プロセッサ
JP2008102694A (ja) * 2006-10-18 2008-05-01 Futaba Corp 出力表示機器

Also Published As

Publication number Publication date
JP2010044487A (ja) 2010-02-25

Similar Documents

Publication Publication Date Title
JP2816248B2 (ja) データプロセッサ
JP2013522749A (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
KR20110055629A (ko) 단일 명령 다중 데이터(simd)데이터 처리기에서 확장된 어드레싱 모드들의 제공
JP4202244B2 (ja) Vliw型dsp,及びその動作方法
CN111782270A (zh) 一种数据处理方法及装置、存储介质
JPH1049369A (ja) データ処理装置
JP2008146544A (ja) 演算処理装置
CN107851022B (zh) 向量长度查询指令
JP2007122626A (ja) マイクロプロセッサ
JP5327432B2 (ja) 信号処理プロセッサ及び半導体装置
JP2002229778A (ja) 高速ディスプレースメント付きpc相対分岐方式
KR102458467B1 (ko) 벡터 생성 명령
CN107851015B (zh) 向量操作数位大小控制
JP5311008B2 (ja) 信号処理プロセッサ及び半導体装置
JP5263498B2 (ja) 信号処理プロセッサ及び半導体装置
JP5263497B2 (ja) 信号処理プロセッサ及び半導体装置
JP5732139B2 (ja) データ要素の条件付き選択
JP2007334819A (ja) ベクトルリネーミング方式およびベクトル型計算機
JP6237241B2 (ja) 処理装置
KR101635856B1 (ko) 데이터 요소에 있는 비트들의 제로화를 위한 시스템, 장치, 및 방법
JP5644571B2 (ja) プロセッサ
JPH1173301A (ja) 情報処理装置
JP2001092633A (ja) 複数の結果を出力する命令を有する演算装置
JP2010020625A (ja) 信号処理プロセッサ及び半導体装置
JPH05250156A (ja) Riscプロセッサ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

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: 20130605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130618

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5311008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees