JP2006092158A - デジタル信号処理回路 - Google Patents

デジタル信号処理回路 Download PDF

Info

Publication number
JP2006092158A
JP2006092158A JP2004275510A JP2004275510A JP2006092158A JP 2006092158 A JP2006092158 A JP 2006092158A JP 2004275510 A JP2004275510 A JP 2004275510A JP 2004275510 A JP2004275510 A JP 2004275510A JP 2006092158 A JP2006092158 A JP 2006092158A
Authority
JP
Japan
Prior art keywords
instruction
code
extension
selection
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.)
Abandoned
Application number
JP2004275510A
Other languages
English (en)
Inventor
Yoshihisa Arai
居 欣 久 新
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 JP2004275510A priority Critical patent/JP2006092158A/ja
Priority to US11/228,212 priority patent/US20060101240A1/en
Publication of JP2006092158A publication Critical patent/JP2006092158A/ja
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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/30181Instruction operation extension or modification
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions

Abstract

【課題】 ハードウェアリソースをより効率的に活用する。
【解決手段】 本発明の一態様に従ったデジタル信号処理回路は、少なくとも1つの命令を含む命令コードを記憶し、出力指示に従って前記命令コードを出力する命令メモリと、拡張命令を格納した拡張命令格納部と、前記命令メモリから出力された命令コードに、前記拡張命令格納部に格納された前記拡張命令を選択するための選択コードが含まれる場合は、前記拡張命令格納部から前記選択コードに対応する拡張命令を選択する選択部と、前記命令コードに含まれる命令及び前記選択部によって選択された拡張命令を解釈して前記命令及び前記拡張命令を実行するための制御信号を生成するデコーダと、を備える。
【選択図】 図1

Description

本発明は、デジタル信号処理回路に関する。
CPU,DSP等のプロセッサにおいて、命令コード長が長い場合、命令の並列動作の自由度が高くなり機能的には望ましい。一方、命令コード長が短い場合、命令コードを格納するRAMやROM等のメモリ領域が小さくて済むため、LSI化する際のチップ面積や消費電流の面では好ましい。
実際のプロセッサでは両者のバランスの取れた命令コード長を探ることになる。しかし、このようにしてバランスの取れた命令コード長を決定した結果、一部の命令コードでは、命令の並列実行ができないものとならざるを得ない。即ち、一部の命令コードでは、ハードウェアにおける一部の回路しか使わないものとならざるを得ない。
例えばある20bit命令長のプロセッサで表1のようなオペコードの割り当てが行われていたとする。
Figure 2006092158
1行目に示す命令コードでは、算術論理演算命令(ALU)と2つのデータ転送命令(Move X、Move Y)とが同時に行われ、この並列動作により命令の実行効率が良くされる。18〜19桁目の「11」は、この命令コードのタイプを示す分類コードである。つまり、この分類コードは、この命令コードに、算術論理演算命令と2つのデータ転送命令とが含まれていることを示す。
一方、最下行目に示す命令コードでは分岐処理命令(Branch)のみが実行される。この命令コードにおいて、ビットが割り当てられていない0〜3桁目の4つのビットに、16通りの機能を割り当てることも可能だが、割り当てビット数が4ビットで済む機能の中からどの機能を割り当てるのが効率的であるかを決定するのは困難であり、また、割り当てビット数が4ビットより大きい機能を割り当てることはできない。この命令コードにおいて、10桁目〜19桁目の「00・・・00」は、この命令コードのタイプを示す分類コードである。つまり、この分類コードは、この命令コードに、分岐処理命令のみが含まれていることを示す。
以上のように、命令コードのビット割り当ての制約から、命令コードの種類によっては複数の命令が割り当てられないものが存在し、この場合、並列動作が行われず、ハードウェアリソースの効率的な活用ができない。
特開平05−20052号公報
本発明は、ハードウェアリソースをより効率的に活用できるデジタル信号処理回路を提供する。
本発明の一態様に従ったデジタル信号処理回路は、少なくとも1つの命令を含む命令コードを記憶し、出力指示に従って前記命令コードを出力する命令メモリと、拡張命令を格納した拡張命令格納部と、前記命令メモリから出力された命令コードに、前記拡張命令格納部に格納された前記拡張命令を選択するための選択コードが含まれる場合は、前記拡張命令格納部から前記選択コードに対応する拡張命令を選択する選択部と、前記命令コードに含まれる命令及び前記選択部によって選択された拡張命令を解釈して前記命令及び前記拡張命令を実行するための制御信号を生成するデコーダと、を備える。
本発明により、ハードウェアリソースをより効率的に活用できる。
図1は、本発明の実施の形態に従ったデジタル信号処理回路の構成を示すブロック図である。
このデジタル信号処理回路は、命令メモリ11、制御回路12、レジスタ群13、第1の命令デコーダ14及び第2の命令デコーダ15を備える。
命令メモリ11は、実行すべき命令コードを格納し、次に実行するべき命令コードを、図示しないプログラム・カウンタに従って出力する。
表2は、本実施の形態におけるオペコードの割り当て例を示す。
Figure 2006092158
各行における0〜19桁目の20ビットが1つの命令コードに対応する。
1行目に示す命令コードでは、算術論理演算命令(ALU)と2つのデータ転送命令(Move X, Move Y)とが同時に実行される。
より詳細には、10〜17桁目のALU命令は算術論理演算(例えば加算、減算、論理和、論理積)を指示する。
例えばALU命令が「00000000」(一番左が17桁目、一番右が10桁目)の場合、このALU命令は、レジスタx0の値とレジスタy0の値とを加算したものをレジスタz0に代入することを意味する。15〜17桁目の「000」が加算指示、13〜14桁目の「00」がレジスタx0、11〜12桁目の「00」がレジスタy0、10桁目の「0」がレジスタz0を意味する。
5桁目〜9桁目のMove X命令は、レジスタ間や、データメモリ(図3参照)からレジスタへのデータ転送を指示する。例えばMove X命令が「00001」(一番左が9桁目、一番右が5桁目)の場合、このMove X命令は、レジスタr0の値を、レジスタx0に転送すること(x0=r0)を意味する。また、Move X命令が「01000」の場合、このMove X命令は、ポインタax1が指すデータメモリのアドレスに格納された値をレジスタx0に転送し、さらにポインタax1の値を1インクリメントすることを意味する(x0=*(ax1++))。
0桁目〜4桁目のMove Y命令は、レジスタ間や、データメモリ(図3参照)からレジスタへのデータ転送を指示する。例えばMove Y命令が「00001」(一番左が9桁目、一番右が5桁目)の場合、このMove Y命令は、レジスタr1の値を、レジスタy0に転送すること(y0=r1)を意味する。また、Move Y命令が「01000」の場合、このMove Y命令は、ポインタay1が指すデータメモリのアドレスに格納された値をレジスタy0に転送し、さらにポインタay1の値を1インクリメントすることを意味する(y0=*(ay1++))。
18〜19桁目の「11」は、この命令コードのタイプを示す分類コードである。即ち、この分類コードは、この命令コードに、算術論理演算命令と2つのデータ転送コード命令とが含まれていることを示す。
表2の最下行に示す命令コードでは、分岐処理命令と、選択コードによって選択された拡張命令とが実行される。
より詳細には、4〜9桁目のBranch命令は分岐処理(例えばreturn、goto)を指示する。例えばBranch命令が「000000」の場合、このBranch命令は、スタックレジスタに待避されている戻り値に示される命令メモリ11のアドレスに処理を戻す(プログラム・カウンタをセットする)ことを意味する。
0〜3桁目の選択コードは、後に詳述するように、選択コードに対応するレジスタをレジスタ群13の中から選択して、選択されたレジスタに含まれる命令(拡張命令)を実行するためのものである。
10桁目〜19桁目の「00・・・00」は、この命令コードのタイプを示す分類コードである。即ち、この分類コードは、この命令コードに、分岐処理命令と選択コードとが含まれていることを示す。
図1において、第1の命令デコーダ14は、命令メモリ11から出力された命令コードが入力され、入力された命令コードに基づいて、この命令コードのタイプを識別する。
より詳細には、第1の命令デコーダ14は、分類コードの中の分類コード部分で、命令コードのタイプを判定する。
例えば、入力された命令コードが、19桁目から下位桁に向かって、連続した10個のゼロ「0000000000」(分類コード)を含む場合は、当該命令コードのタイプは、「分岐+拡張命令」(表2参照)であると認識する。つまり、第1の命令デコーダ14は、当該命令コードは、4〜9桁目に分岐命令を含み、0〜3桁目に選択コードを含むと判断する。さらに、第1の命令デコーダ14は、この分類コードに基づき、上記選択コードに対応する拡張命令の種類(例えばALU命令、Move X命令+Move Y命令、Move X命令、Move Y命令、即値命令、乗算命令など)も判断する。
第1の命令デコーダ14は、このような識別結果(命令コードのタイプ、拡張命令の種類)を第2の命令デコーダに入力する。また、第1の命令デコーダ14は、命令メモリ11から入力された命令コードに選択コードが含まれる場合は、命令コードにおいて選択コードが格納されたビット位置を示す選択信号を生成し、生成した選択信号を制御回路12に出力する。
制御回路12は、選択回路21と、書込回路22とを有する。制御回路12は、命令メモリ11から出力された命令コードの全部又は一部(例えば20ビット長の命令コードのうち下位10ビット等)が入力される。
選択回路21は、命令メモリ11から入力された命令コードの全部又は一部と、第1の命令デコーダ14から入力された選択信号とに基づいて、この選択信号に示される位置のビットを命令コードの全部又は一部から検出し、検出したビットをレジスタ群13に出力する。例えば、選択信号が命令コードの全部又は一部の下位4ビット(0〜3桁目)(表2の最下行参照)を示す場合は、この下位4ビットを命令コードの全部又は一部から検出して出力する。
レジスタ群13は、複数のレジスタ1〜レジスタnを有する。各レジスタは、それぞれ拡張命令(例えばALU命令、Move X命令+Move Y命令、Move X命令、Move Y命令、即値命令、乗算命令など)を格納する。本例では、レジスタ群13は、16個のレジスタ1〜レジスタ16を有し、16ワード分の命令コードを格納可能であるとする。レジスタ群13は、制御回路12からビットが入力された場合は、入力されたビットに対応するレジスタを選択する。例えば、入力されたビットが「0000」の場合は、レジスタ1を選択し、「0001」の場合はレジスタ2を選択し、・・・「1111」の場合は、レジスタ16を選択する。レジスタ群13は、このようにして選択したレジスタに格納される拡張命令を第2の命令デコーダ15に出力する。
レジスタ群13におけるレジスタへの拡張命令のセットは、制御回路12における書込回路22が行う。書込回路22によるレジスタ群13への拡張命令のセットは、例えば以下のようにして行われる。
第1に、命令を登録するか否かを識別する識別ビットを格納するためのフィールドを命令コードに追加し、命令コードにおける識別ビットがオンであればその命令コードに含まれる命令を拡張命令としてレジスタに登録し、オフであれば登録しない。より詳細には、第1の命令デコーダ14(又は第2の命令デコーダ15)が、識別ビットがオンであることを検出した場合は、命令の登録を指示する指示信号(例えば命令コードに含まれる登録すべき命令のビット位置及び登録先のレジスタを示す識別子を含むとし、これらは命令コードに含まれる分類コードによって決定される)を書込回路22に出力する。書込回路22は、指示信号に示される位置のビットを、命令メモリ11から入力される命令コードの全部又は一部から検出し、指定のレジスタへ拡張命令として登録する。
第2に、拡張命令をレジスタに登録するための専用の命令コードを用意し、当該専用の命令コードに従って登録を行う。より詳細には、第1の命令デコーダ14(又は第2の命令デコーダ15)が、専用の命令コードが入力された場合は、この専用の命令コードに含まれる命令を登録することを指示する指示信号(例えば専用の命令コードに含まれる登録すべき命令のビット位置及び登録先のレジスタを示す識別子を含む)を書込回路12に出力する。書込回路22は、指示信号に示される位置のビットを、命令メモリ11から入力される専用の命令コードの全部又は一部から検出し、指定のレジスタへ拡張命令として登録する。
第3に、専用の設定レジスタを設け、この設定レジスタの値に応じて登録を行う。例えば、第1の命令デコーダ14(又は第2の命令デコーダ15)は、設定レジスタがオンであれば、命令の登録を指示する指示信号(例えば命令コードに含まれる登録すべき命令のビット位置及び登録先のレジスタを示す識別子を含むとし、これらは命令コードに含まれる分類コードによって決定される)を書込回路22に出力する。書込回路22は、指示信号に示される位置のビットを、命令メモリ11から入力される命令コードの全部又は一部から検出し、指定のレジスタへ拡張命令として登録する。
図1において、第2の命令デコーダ15は、命令メモリ11から命令コードが入力され、また、第1のデコーダ14から上記識別結果(命令コードのタイプ、拡張命令の種類)が入力される。また、命令メモリ11から出力された命令コードに選択コードが含まれていた場合は、選択回路21によって選択された拡張命令がレジスタ群13から第2の命令デコーダ15に入力される。
第2の命令デコーダ15は、第1の命令デコーダ14から入力された命令コードのタイプに基づき、命令メモリ11から入力された命令コードに含まれる命令の種類(例えばALU命令、Move X命令+Move Y命令、Move X命令、Move Y命令、即値命令、乗算命令など)を認識し、この認識結果に基づき、この命令を実行するための制御信号を生成して出力する。また、第2の命令デコーダ15は、レジスタ群13から拡張命令が入力された場合も同様に、第1の命令デコーダ14から入力された拡張命令の種類に基づき、レジスタ群13から入力された拡張命令の種類(例えばALU命令、Move X命令+Move Y命令、Move X命令、Move Y命令、即値命令、乗算命令など)を認識し、この認識結果に基づき、当該拡張命令を実行するための制御信号を生成して出力する。
図2は、図1のデジタル信号処理回路の動作を説明するフローチャートである。
ここでは、表2の最下行に示す「分岐+拡張命令」タイプの命令コードを実行する場合を例にして説明する。
命令メモリ11から、図示しないプログラム・カウンタに従って、「分岐+拡張命令」タイプの命令コードが出力される(S11)。
命令メモリ11から出力された命令コードが第1の命令デコーダ14及び第2の命令デコーダ15に入力される。また、命令メモリ11から出力された命令コードの下位10ビット(0〜9桁目)が制御回路12に入力される(S12)。
第1の命令デコーダ14は、命令メモリ11から入力された命令コードにおける分類コード(10〜19桁目のビット)に基づき、当該命令コードのタイプを識別する。この結果、第1の命令デコーダ14は、当該命令コードのタイプが、「分岐+拡張命令」タイプであると認識する(S13)。つまり、第1の命令デコーダ14は、命令コードの4〜9桁目に分岐命令が含まれ、命令コードの0〜3桁目のビットに選択コードが含まれることを認識する。また、第1の命令デコーダ14は、当該分類コードに基づき、選択コードに対応する拡張命令の種類を認識する。
第1の命令デコーダ14は、命令コードにおける0〜3桁目(下位4桁)のビット(選択コード)を選択するための選択信号を制御回路12に出力する(S14)。また、第1の命令デコーダ14は、識別結果(命令コードのタイプ及び拡張命令の種類)を第2の命令デコーダ15に出力する(S15)。
制御回路12における選択回路21は、第1の命令デコーダ14から入力された選択信号に基づいて、命令メモリ11から入力された命令コードの一部(下位10ビット)から、選択信号に示されるビットを選択する(S16)。選択信号は下位4ビットを示し、従って選択回路21は、命令メモリ11から入力された命令コードの一部(下位10ビット)から、下位4ビット(0〜3桁目)を選択する。選択回路21は、選択した下位4ビットをレジスタ群13に出力する。
レジスタ群13は、選択回路21から入力されたビットに基づいて、入力されたビットに対応するレジスタを特定する(S17)。
レジスタ群13は、特定したレジスタに格納された拡張命令を第2の命令デコーダ15に出力する(S18)。ここでは、Move X及びMove Y命令が第2の命令デコーダ15に出力されるとする。
第2の命令デコーダ15は、第1の命令デコーダ14から入力された識別結果(命令コードのタイプ及び拡張命令の種類)に基づき、命令メモリ11から入力された命令コードに含まれる命令の種類(本例では分岐命令)、及びレジスタ群13から入力された拡張命令の種類(本例ではMove X及びMove Y命令)を判別する。この結果、第2の命令デコーダ15は、分岐命令を実行する制御信号を生成して出力し、また、Move X命令及びMove Y命令を実行する制御信号を生成して出力する(S19)。
ここで、本実施の形態による効果を従来の場合と比較して説明する。
背景技術の欄における表1の最下行に示したように、背景技術に示した例では、分岐命令を含む命令コードでは、転送命令等、他の命令との並列実行はできなかった。
例えば下記の様な実行コードがあるとする。
x0=*ax1++, y0=*ay1++; ・・・(A1)
z0=x0+y0, x0=*ax1++, y0=*ay1++; ・・・(A2)
z0=z0+x0+y0, x0=*ax1++, y0=*ay1++; ・・・(A3)
z0=z0+x0+y0, x0=*ax1++, y0=*ay1++; ・・・(A4)
z0=z0+x0+y0; ・・・(A5)
*ax0=z0, *ay0=flag; ・・・(A6)
if(z0>0) goto label1; ・・・(A7)
この実行コードにおいて、命令コードA7では、分岐命令のみが実行される。
これに対して、本実施の形態を用いた場合、事前に命令コードA6における *ax0=z0,及び*ay0=flagの2つの命令に相当するビット値をレジスタ群におけるレジスタに登録しておく。そして、これら2つの命令が格納されたレジスタを選択する選択コードと分岐命令とを含む命令コードを、以下の命令コードB6に示すように、用意する。

x0=*ax1++, y0=*ay1++; ・・・(B1)
z0=x0+y0, x0=*ax1++, y0=*ay1++; ・・・(B2)
z0=z0+x0+y0, x0=*ax1++, y0=*ay1++; ・・・(B3)
z0=z0+x0+y0, x0=*ax1++, y0=*ay1++; ・・・(B4)
z0=z0+x0+y0, x0=*ax1++, y0=*ay1++; ・・・(B5)
if(z0>0) goto1 label1; ・・・(B6)// *ax0=z0, *ay0=flagも実行
命令コードB6におけるgoto1というのは、レジスタ群における1番目のレジスタに保持されている命令と分岐(goto)とを並列実行することを意味するニーモニックである。
これにより、1ステップ少ない命令コード数での実行が可能になる。即ち、従来では分岐命令のみ可能であった命令コードであっても、本実施の形態を適用することで、分岐命令に加え、任意の命令を並列に実行できる。
以上のように、本実施の形態によれば、命令コードにおける余ったビットフィールドに、予めレジスタ群に登録した拡張命令を選択する選択コードを格納することで、命令コードの実行時には、命令コードに含まれる命令と、選択コードによってレジスタ群から選択される拡張命令とを同時に実行するため、命令の実行効率を従来に比べて格段に向上させることができる。即ち、命令コード長の制限を越えて多くの回路を動作させることができ、効率的な命令コードを持つプロセッサが得られる。
例えば、10命令での繰り返し処理があった場合、命令をレジスタ群に記憶するのに余計に1命令費やしたとしても、繰り返しループ内を1命令減らすことができれば、10%の効率アップとなり、ループ回数が多いほどその効果は大きくなる。
上述した例では、分岐命令と並列に実行する拡張命令として、転送命令を示したが、他の命令、例えば命令コードの大半を費やしてしまう即値命令等も、分岐命令と共に並列実行できる。
なお、レジスタ群における各レジスタに命令コード全体を記憶させることで、レジスタ群のより積極的な活用も考えられる。例えば、繰り返し実行の命令の場合、レジスタ群に保持した命令を順次、繰り返し読み出す制御を行うことで、繰り返し命令時は、命令メモリからの読み出しを行わずに済み、消費電力の低減に効果がある。
ところで、上述した説明においては、レジスタ群13への拡張命令の登録に際し、登録すべき命令は、命令メモリ11から与えられた。この他、登録すべき命令を、命令メモリ11からではなく、データメモリから与えることも考えられる。
図3は、登録すべき命令をデータメモリから与えるデジタル信号処理回路の構成を示す図である。
図1に示す構成に対して、データメモリ24とデータバス23とが追加されている。データメモリ24から命令を読み出してレジスタ群13へ登録する命令コードを用意する。当該命令コードが実行されることで、当該命令コードに示される位置に格納された命令がデータメモリ24からデータバス23を介して制御回路12に入力される。制御回路12における書込回路22は、第1の命令デコーダ14又は第2の命令デコーダ15からの指示信号又は制御信号に従って、入力された命令を、指示信号又は制御信号に基づくレジスタに書き込む。
このようにレジスタ群13に登録すべき命令をデータメモリ24に格納しておくことで、例えばポインタ演算を使った短いビット命令で登録すべき命令を転送できると共に(例えば、ext_code0 = *ax1++; ext_code1 = *ax1++;)、命令コード自身に登録すべき命令を含める必要がなくなる、すなわち、登録すべき命令を指定するのに命令コード自身を消費しなくて済む。また、登録すべき命令の再利用も可能となる。
本発明の実施の形態に従ったデジタル信号処理回路の構成を示すブロック図である。 図1のデジタル信号処理回路の動作を説明するフローチャートである。 登録すべき命令をデータメモリから与えるデジタル信号処理回路の構成を示す図である。
符号の説明
11 命令メモリ
12 制御回路
13 レジスタ群
14 第1の命令デコーダ
15 第2の命令デコーダ
21 選択回路
22 書込回路
23 データバス
24 データメモリ

Claims (5)

  1. 少なくとも1つの命令を含む命令コードを記憶し、出力指示に従って前記命令コードを出力する命令メモリと、
    拡張命令を格納した拡張命令格納部と、
    前記命令メモリから出力された命令コードに、前記拡張命令格納部に格納された前記拡張命令を選択するための選択コードが含まれる場合は、前記拡張命令格納部から前記選択コードに対応する拡張命令を選択する選択部と、
    前記命令コードに含まれる命令及び前記選択部によって選択された拡張命令を解釈して前記命令及び前記拡張命令を実行するための制御信号を生成するデコーダと、
    を備えたデジタル信号処理回路。
  2. 前記命令コードには前記命令コードのタイプを表す分類コードが含まれ、
    前記デコーダは、前記命令コードに含まれる分類コードに基づき、前記命令コードに含まれる命令及び前記選択された拡張命令の種類を判別し、前記判別の結果に基づき、前記命令及び前記拡張命令を解釈することを特徴とする請求項1に記載のデジタル信号処理回路。
  3. 前記デコーダは、前記命令コードに前記選択コードが含まれる場合は、選択指示信号を前記選択部に出力し、
    前記選択部は、前記命令コードの全部又は一部が入力され、前記選択指示信号が入力された場合は、前記選択指示信号に基づき前記命令コードの全部又は一部から前記選択コードを検出し、検出した前記選択コードに対応する拡張命令を前記拡張命令格納部から選択する、
    ことを特徴とする請求項1又は2に記載のデジタル信号処理回路。
  4. 前記デコーダは、前記命令メモリから出力された命令コードに含まれる命令を前記拡張命令として前記拡張命令格納部に登録するか否かを所定の基準に基づいて判断し、
    前記命令コードに含まれる命令を前記拡張命令格納部に登録する場合は、前記デコーダの指示に従って前記命令コードに含まれる命令を前記拡張命令格納部に書き込む書込部をさらに備えたことを特徴とする請求項1乃至3のいずれかに記載のデジタル信号処理回路。
  5. 前記拡張命令格納部へ登録するための拡張命令を記憶したデータメモリと、
    前記命令メモリから出力された命令コードに含まれる命令が、前記データメモリに記憶された拡張命令を前記拡張命令格納部に登録することを指示する登録指示命令である場合は、前記登録指示命令に基づいて前記データメモリから読み出された拡張命令を、前記拡張命令格納部に書き込む書込部と、
    をさらに備えたことを特徴とする請求項1乃至4のいずれかに記載のデジタル信号処理回路。
JP2004275510A 2004-09-22 2004-09-22 デジタル信号処理回路 Abandoned JP2006092158A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004275510A JP2006092158A (ja) 2004-09-22 2004-09-22 デジタル信号処理回路
US11/228,212 US20060101240A1 (en) 2004-09-22 2005-09-19 Digital signal processing circuit and digital signal processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004275510A JP2006092158A (ja) 2004-09-22 2004-09-22 デジタル信号処理回路

Publications (1)

Publication Number Publication Date
JP2006092158A true JP2006092158A (ja) 2006-04-06

Family

ID=36233074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004275510A Abandoned JP2006092158A (ja) 2004-09-22 2004-09-22 デジタル信号処理回路

Country Status (2)

Country Link
US (1) US20060101240A1 (ja)
JP (1) JP2006092158A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2270650A1 (en) 2009-06-30 2011-01-05 Fujitsu Limited Processor and control method for processor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090257263A1 (en) * 2008-04-15 2009-10-15 Vns Portfolio Llc Method and Apparatus for Computer Memory
JP5839474B2 (ja) * 2011-03-24 2016-01-06 株式会社半導体エネルギー研究所 信号処理回路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422404A (en) * 1966-02-23 1969-01-14 David E Ferguson Apparatus and method for decoding operation codes in digital computers
JP2845433B2 (ja) * 1987-09-07 1999-01-13 日本電気株式会社 集積回路装置
JPH0612253A (ja) * 1992-06-25 1994-01-21 Rohm Co Ltd マイクロコンピュータ
US5630083A (en) * 1994-03-01 1997-05-13 Intel Corporation Decoder for decoding multiple instructions in parallel
US5768574A (en) * 1995-06-07 1998-06-16 Advanced Micro Devices, Inc. Microprocessor using an instruction field to expand the condition flags and a computer system employing the microprocessor
JPH1011289A (ja) * 1996-06-19 1998-01-16 Mitsubishi Electric Corp 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ
US5925124A (en) * 1997-02-27 1999-07-20 International Business Machines Corporation Dynamic conversion between different instruction codes by recombination of instruction elements
US6101592A (en) * 1998-12-18 2000-08-08 Billions Of Operations Per Second, Inc. Methods and apparatus for scalable instruction set architecture with dynamic compact instructions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2270650A1 (en) 2009-06-30 2011-01-05 Fujitsu Limited Processor and control method for processor
US8601239B2 (en) 2009-06-30 2013-12-03 Fujitsu Limited Extended register addressing using prefix instruction

Also Published As

Publication number Publication date
US20060101240A1 (en) 2006-05-11

Similar Documents

Publication Publication Date Title
KR100638703B1 (ko) 데이터 프로세싱 시스템용 셀룰러 엔진
JP4986431B2 (ja) プロセッサ
JP2008071130A (ja) Simd型マイクロプロセッサ
JPH06230969A (ja) プロセッサ
WO2015114305A1 (en) A data processing apparatus and method for executing a vector scan instruction
WO2017021675A1 (en) Element size increasing instruction
JPH1165844A (ja) パイプラインバイパス機能を有するデータ処理装置
JP3781519B2 (ja) プロセッサの命令制御機構
US6725450B1 (en) Program conversion apparatus, processor, and record medium
WO2019023910A1 (zh) 数据处理方法和设备
JP2006092158A (ja) デジタル信号処理回路
JPS63175932A (ja) ディジタル信号処理装置
JP3570287B2 (ja) マイクロコンピュータ
JP2006072961A (ja) 演算処理装置のメモリ回路
JP2006053830A (ja) 分岐予測装置および分岐予測方法
JP2007004475A (ja) プロセッサ及びプログラム実行方法
US20150154026A1 (en) Method and processor for executing instructions, method and apparatus for encoding instructions, and recording medium therefor
JPH1091430A (ja) 命令解読装置
CN107291425B (zh) 合并解决重命名尺寸问题的部分写入结果的系统和方法
US8700887B2 (en) Register, processor, and method of controlling a processor using data type information
JP4896839B2 (ja) マイクロプロセッサおよびデータ処理方法
CN112130899A (zh) 一种堆栈计算机
JP2008242947A (ja) 半導体装置
US20050251658A1 (en) Processing unit
EP1785863A2 (en) A divider comprising a carry save adder and a full adder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070402

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070608