JPH07509083A - ディジタル信号プロセッサ - Google Patents

ディジタル信号プロセッサ

Info

Publication number
JPH07509083A
JPH07509083A JP6503137A JP50313794A JPH07509083A JP H07509083 A JPH07509083 A JP H07509083A JP 6503137 A JP6503137 A JP 6503137A JP 50313794 A JP50313794 A JP 50313794A JP H07509083 A JPH07509083 A JP H07509083A
Authority
JP
Japan
Prior art keywords
register
program
shift
processor architecture
data
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.)
Ceased
Application number
JP6503137A
Other languages
English (en)
Inventor
ショウベル,ジェラール
ロウレンティ,ジルベール
シロウクス,ジャン
ウェンジンガー,イブ
デント,ピーター
Original Assignee
テキサス インスツルメンツ インコーポレイテッド
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 テキサス インスツルメンツ インコーポレイテッド filed Critical テキサス インスツルメンツ インコーポレイテッド
Publication of JPH07509083A publication Critical patent/JPH07509083A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 ディジタル信号プロセッサ 本発明はプロセッサに関し、より詳細には、ディジタル電話の用途に特に適した プロセッサに関する。
かなりの数のディジタル電話アプリケーションは、音声の符号化/復号化に対す る完全な標準であるADPCM G721を使用している。ディジタル信号プロ セッサ(D S P)標準、たとえば7M8320C25は、8kHzの標本化 を1300サイクル必要としている(10.4M1ps)。
本発明は、一方ではサイクル数を1000以下に減少することに、他方ではエネ ルギ消費を減少することに最適化された広帯域信号プロセッサ(B B S P )を生成することを考察している。G721標準において実行される操作のリス トは表Iに示されている。
表I 機能 数 加算/減算 122 AND 65 右にプレシフト 53 左にプレシフト 46 テストビノト 37 2の補数 24 動的シフト 22 正規化 12 排他的OR11 MPY 6*6 8 ポストンフト 11 MPY 13*7 1 シフトユニット:ブレソフト、ポストシフトおよび正規化機能は415の操作か ら144の操作を表している。
シフトの値は、右方向あるいは左方向へ1ビツトから15ビツト変わる。即位( imnediate value )あるいは計算値(calculated  value)がその時点において使用される。
テストビット:G721標準は、条件付き合意アクセス(condi tion alinclusion access)の多数の指示によって特徴づけられて おり、この場合テスト結果は1つまたはそれ以上のグループの動作(actio n)の実行を定義している。
乗算器:G721標準には乗算機能が必要である。同様に乗算器付きのTMS3 20C25は、経済性の点から受け入れることができない。シフトおよび加算の 手法を備えたブースアルゴリズム(Booth a1goritt+u+ )が 、より適しているが、プロセッサの性能を3%低下するだけである。
ALU: 16ビツトのALU算術論理演算ユニットが必要である。
コマンド:0721のサブルーチンは、サイクルカウントとエネルギ消費を低減 するため、たとえば、繰り返し命令のブロック、遅延される分岐と復帰、正規化 ブロックおよびその他の、特化された機能を必要とする。
既存プロセッサの構造は、これらの能力(capaci ty)を備えておらず 、16ビツトデータパスにおいてシフト正規化、条件付き実行および低コストの 乗算を効率よく実行することができない。
本広帯域信号プロセッサ(B B S P)は、速度と融通性を改善するために 修正されたハーバードアーキテクチ+ −Qlarvard archiLec ture)を使用している。
バーバードアーキテクチャ−においては、プログラムメモリおよびデータメモリ は2つの別の場所に配置されており、命令の呼出しおよび実行から完全なリカバ リを可能としている。
本発明は、適当な価格に抑えながら、上記性能を備えたプロセッサアーキテクチ ャ−を生成することを考察している。
従って、その目的として、本発明には、CPU中央処理装置、プログラムメモリ とデータメモリを含むプロセッサアーキテクチャ−があり、該中央処理装置は、 プログラム実行部とデータ処理部から構成されており、プロセッサの構造に入る 構成部品数を減らすため、プログラム実行部の少なくとも1つの要素はデータ処 環部に配置されていることによって特徴付けられている。
また、本発明には、1つの目的として上に定義したプロセッサアーキテクチャ− があるが、このプロセッサアーキテクチャ−では、プログラム実行部には、増分 デバイス(incrementing device )およびアドレス指定デ バイスが付随するプログラムカウンタ、コントローラおよびプログラムカウンタ によってアドレス指定されるプログラムメモリが含まれ、プログラムカウンタと その増分デバイスおよびアドレス指定デバイスがデータ処理部に配置されている ことによって特徴付けられている。
本発明は、以下に述べる例によって示した説明によると共に、添付の図面を参照 することにより、より良く理解されつるであろう。
第1図は、広帯域信号プロセッサあるいはBBSPのアーキテクチャ−の全体の 略図である。
第2図は、第1図のBBSPの中央処理装置のプログラム実行部の略図である。
第3図は、中央処理装置のデータ処理部の略図である。
第4図は、中央処理装置の最左lの命令レジスタLMOの模式図の一部である。
第5図は、CPUレジスタの一部と同様なプログラムカウンタブロックの模式図 の一部である。
第6図は、中央処理装置のXレジスタおよびBレジスタの模式図の一部である。
第7図は、ブースアルゴリズムを実行するために使用されるMレジスタおよびシ フトレジスタを含むブロックの模式図の一部である。
第8図は、中央処理装置の状態制御レジスタの模式図の一部である。
第9図は、第5図のプログラムカウンタレジスタの内容を示す略図である。
第1O図は、第1図のアーキテクチャ−の算術論理演算ユニットおよびシフトユ ニットの模式図の一部である。
第11図は、即値シフト操作(immediate shifting)のシフ トユニットの機能を示す略図である。
第12図は、動的シフト操作(dynamic shifting)におけるシ フトユニットの機能を示す略図である。
第13a図および第13b図は、それぞれ最左端のレジスタに関しかつ動的シフ ト操作における、CPUのある種のレジスタ、シフトユニットおよび算術論理演 算ユニットの機能を示す模式図の一部である。
第14図は、本発明によるBBSPのメモリフィールドを示す。
第15図は、直接モードおよび間接モードにおけるオペランドのアドレス指定を 示す略図である。
第16図は、本発明によるBBSPのパイプラインモードの機能を示す。
第17図は、BBSPのコアの制御部における命令フォーマットの表示である。
第18図は、本発明によるアーキテクチャ−に使用される命令コードを示す。
第1図に示すように、BBSP広帯域信号プロセッサは主として3つのブロック を含んでいる。
BBSPのコアは、CPU中央処理装置2.4、プログラムメモリ1およびデー タメモリ3から構成されている。
CPUは、16ビツトプロセツサであって、このプロセッサは機能的に2つの部 分に分割されている。即ち、 −プログラム実行部l、2、 − データ処理部4、 の2つである。
第2図に示すプログラム実行部は、14ビツトのプログラムカウンタ6、コント ローラ8およびROMであるプログラムメモリ1を含んでいる。
プログラムカウンタ6は、14ビツトのプログラムアドレスバス9を介してプロ グラムメモリROMIをアドレス指定する。
コントローラ8は、24ビツトの命令バス10を介して、メモリlから命令を受 信し、解読は、パイプラインモードで機能する解読器で確実に実行される。
コントローラブロック8には、ブロック内の命令を繰り返す6ビツトのRPTC コマンド繰り返しカウンタ回路(第2図)と、割込みの流れ(course)あ るいはサブルーチンの実行中に文脈を退避するために使用される、ポインタをス タックする(stacking)メモリスタックアドレスの上下カウンタ(up −and−downcounter )とが含まれている。
プログラムカウンタ6は、増分デバイス11およびアドレス指定デバイス12に 組み合わされている。
使用されるシリコン表面を削減しかつ性能とプログラミングの融通性を改善する ため、プログラムカウンタ6、増分デバイス11およびプログラムカウンタのア ドレス指定デバイス12はデータ処理部4に配置されている。
各サイクルにおいて、プログラムカウンタ6はPABアドレスを発生させ、RO Mプログラムメモリ1の中の命令を呼び出す。
通常、プログラムカウンタ6は増分デバイス11によって1だけ増分される。
分岐、割込みあるいはプログラムカウンタ6のローディングがあると、このカウ ンタの状態は、命令解読器(instruction decoder )から 、あるいはデータ処理部にある算術論理演算ユニットから来ている14ビツトバ ス13によってプログラムカウンタ6に送られるプログラムメモリアドレスのP MA値によって修飾される。
つぎにデータ処理部の部分4について、第3図を参照して説明する。
データ処理部4は、■6ビツトレジスタスタツク15、シフトユニット16およ びALU算術論理演算ユニソ1−17から構成されている。
データ処理部は、16ビツトデータバス18および15ビツトアドレスバス19 によってデータメモリブロック3(第1図)に接続されている。
算術論理演算ユニット17は、1つの命令において、レジスタからレジスタへの 16ビツト語の操作、あるいはレジスタに対する直接メモリ操作あるいは間接メ モリ操作を実行する。
1つの命令は、各マノンサイクル中に実行される。普通の演算命令の外に、AL UI7は、高速コントローラに必要なピント操作能力を備えた動作を確実に実行 する。
ALU]7の入力に配置されているシフトユニットI6は、ALU17によって レジスタの内容に関する操作が実行される前に、該レジスタの内容の左あるいは 右に対してOピントから15ビツトだけ論理シフトあるいは算術シフトが行われ ることを可能にしている。
ALUの入力Aは、レジスタスタック15、データメモリ3(第1図)あるいは コントローラ8から16ビツト語を受信する。
ALUの人力Bは、シフトユニット16を介してレジスタスタック15だけに接 続されている。
ALU17の出力は、レジスタ15およびデータメモリ3に接続されている。
シフトユニット16を使用したALUI7の動作により、2つの命令(と2つの アドレス)で1つの数の仮数と指数を抽出することが可能である。
乗算の操作は、それぞれlサイクルの複数の命令(MPY、MPYI)で実行さ れる。
乗算命令はシフト操作と加算処理を備えたブースのアルゴリズムを使用している 。
BBSPのCPU中央処理装置には、8個の内部16ビツトレジスタが含まれて いるが、これらのレジスタは、汎用レジスタあるいは専用機能の特殊レジスタと して使用することができる。
レジスタXおよびレジスタBは、事後増分(postincreI+entin g)の可能性を備えた間接アドレス指定に使用することができる。
レジスタ6は、プログラムカウンタとして使用することができる。
レジスタMは、2ビツト右にシフトする乗算に使用することができる。
レジスタA2は、命令の正規化に使用するデスティネーションレジスタである。
SWは状態レジスタである。
CPUおよびBBSPメモリの構成について、これから説明する。
第1図の機能図は、BBSPの主なデータブロックと経路を示している。
BBSPのCPUには、8個の内部レジスタが含まれているが、これらのレジス タは以下に示すとおりである。即ち、レジスタXは、16ビツトレジスタあるい は間接レジスタである。
レジスタBは、16ビツトレジスタあるいは間接レジスタである。
レジスタAOは、16ビツトレジスタである。
レジスタAIは、16ビツトレジスタである。
レジスタA2は、16ビツトレジスタである。
レジスタMは、16ビツトレジスタあるいはブースシフトレジスタである。
レジスタMは、16ビツトレジスタあるいは状態レジスタあるいはコマンドレジ スタである。
レジスタPC6は、14ビツトプログラムカウンタである。
これら全てのレジスタは、ALUによって実行される命令のソースオペランド及 び/或いはデスティネーションオペランドにすることができる。これらのレジス タとその用途は後で説明する。
全ての内部レジスタは、汎用レジスタである。これらのレジスタは、ソースオペ ランド及び/或いはデスティネーションオペランドとして使用することができる 。ADPCM型の圧縮アルゴリズムを使用するディジタル電話のアプリケーショ ン用中央処理装置CPUの性能を改善するために、一定の汎用レジスタには命令 コードによって指定される特殊機能がある。特殊機能を備えたレジスタは、AL U算術論理演算ユニット17と並列に動作する。
レジスタA2および最左1 (leftmost one)のあるLMOブC1 −7りlが、第4図の20および21にそれぞれ示されている。
最左lの命令コードLMOが指定されると、最左l操作の結果は、レジスタA2 の20に配置される。
本最左1操作の結果は、ソースの最上位ビットから生じた連続したゼロの個数で ある。この目的は、正の数を正規化することである。
プログラムカウンタ6は、次に実行される命令のプログラムメモリアドレスを含 む14ビツトレジスタである。
BBSPは、プログラムカウンタ6によってアドレス指定されたプログラムメモ リの位置から来ている命令を読む。
プログラムカウンタ6は、デバイスの電力がオンになった後、ゼロに初期化され る。プログラムカウンタのビット14.15はアドレス指定に使用されない。
これらのビットを読む動作により、ビット15.14に対してビットN、ビット Zが与えられる。
これらのビットに対する書込み動作には、実動作が伴わないので、NおよびZは 修飾されない。
プログラムカウンタ6の値は、分岐、サブルーチンに対する飛び越し、復帰およ びプログラムカウンタ6がデスティネーションレジスタとして使用される場合の 操作により、修飾されることがある。
この最後の可能性は、計算分岐に使用される。計算分岐(calculated  branch )は遅延するが、これは、後に計算分岐がある命令は、有効分 岐(effectivebranch)の前に実行されることを意味している。
たとえば、 LD (X)、PC計算分岐 ST X、AO実行済み命令 ADD AOlAI 非実行済み命令 で、”ST X、AO”は、分岐”AD DAO1AI″が実行される前に、実行される。
命令ブロックの繰り返し命令により、C,PUサイクルタイムの損失を招かずに ループを生成することが可能になる。
この機能は、RPTB命令と条件(?EOL)を生成することにより実施されて いたが、RPTB命令により、パラメータとしてのループの数が指定され、条件 (?EOL)によって、このループの中の次から最後までの命令(next−t o−last 1nstruction)が指定される。
RPTB命令は、ループの開始アドレスを、プログラムカウンタ6をスタートす るレジスタ23に転送する。
また、RPTB命令は、実行されるループの数をコントローラブロック8(第2 図)の繰り返しカウンタ22に格納する。
次から最後までの命令は、条件(?EOL)を使用する条件付きでなければなら ない。この条件だけで、プログラムカウンタは次の命令の後に開始アドレスによ りロードされる。
第6図に示す間接レジスタX24および間接レジスタB25は、両方ともに対応 する増分デバイス26.27に接続されているが、増分デバイスはALUと並列 に機能する。間接アドレス指定は、命令コードに指定されており、レジスタXあ るいはレジスタBのいずれかをアドレスレジスタとして使用する。
レジスタXおよびレジスタBは、指定されていれば、命令が実行された後で自動 的に増分される。
MPYは、ブース乗算アルゴリズムの1フエーズである。この操作は、レジスタ M28の2つの最下位ビットと、前のMPYあるいはMPY1操作におけるMの 先行1ビツトとにより決定される。MPYIは、ブースアルゴリズムの第17M PY MPYI M Mtし−1) テステ(拳−シ1ン に000x d 00 d 011xd+(sシy+nL1 010xd+lsシフ)211+01d+(sシフト之1tL1011xd+2 ”nシフト!hL1 100xd−2會+5)7)2IIL110d−2°(sシフ)J&L1101 xd−isシフト2八L) ”0xF(sシフ)2&L111d−(sシフ)nLlll 1x d レジスタM28は、MPYおよびMPY1操作の後で2ビツト右に論理シフトさ れる。
乗算の開始は、MPYlでなければならない。
符号付き20ビツトの乗算は、後にn−1個のMPYがあるMPYIでなければ ならない。
符号なしの2n−1ビツトの乗算は、後にn−1個のMPYがあるMPYlでな ければならない。
割込みが発生すると、M(t−1)番目のビットは退避されないが、このことは 、割込みサブルーチンがMPYあるいはMPYIを使用していると、M(t−1 )番目のビットは、その割込まれたサブルーチンで実行された乗算結果を修飾す ることを意味している。
状態レジスタ30は第8図に示されている。
状態レジスタ30には、状態ビット、フラグおよびコマンドビットが含まれてい る。
条件付き命令は全て、プログラムの流れを決定するためにこれらの状態ビットを 使用する。状態レジスタの各ビットの表記と定義は以下の通りである。即ち、* ビットOU ユーザによって確立あるいは再確立されるユーザビット、このビッ トは条件 ?Uで使用される。
*ビットI Ul ユーザピットはユーザによって確立あるいは再確立されてい る。
*ビット2 B/L データメモリの読出し/書込み用選択モード。
*ビット3 El グローバルな許可のある割込み。このビットは、BBSPの マスク可能な割込みを許可/禁止する。
0=マスク可能なグローバルな割込み要求を禁止する。
■=マスク可能なグローバルな割込み要求を許可する。
*ビット4 Ell 許可lの割込み:1=許可された割込み、0=禁止された 割込み *ビット9 C桁上げ:この状態ビットは、操作に桁上げがある場合の演算命令 によって確立される。減算A−Bは、加算A+ (−B)と考えられるので、桁 上げは(剰余の逆)結果として確立される。
C=OifA<B: C=lifA≧B0操作 A NEG Aは、 !A+1の加算として実行され、桁上げは結果として確立される。
*ビット10−12 DIO−12 直接アドレス指定の頁番号 *ビット13 PZ 先行するゼロ:PZはビットZの1−レベルのスタックで ある。PZは、状態更新が要求されたときZによりロードされる。
*ビット14 Z ゼロ:先行操作の結果が0てあったときCPUによってlに セットされ、その他の場合は消去される。
*ビット15 N 負:CPUは、このビットを前の操作の結果の最上位(符号 )ビットの値にセットする。
条件ビット、N、Z、PZ、Cは前の命令の結果を示す。これらの条件ビットは 、命令によって状態更新(US)が要求される都度更新される。
BBSPが割込みを認識すると、飛び越しサブルーチン(JSR)が実行され、 状態レジスタ(SW)の条件ビットN、 Zは、そのスタックに自動的に押し込 まれる。これらの条件ビットは、プログラムカウンタ6の14個の最低位ビット により組み合わされて、そのスタックの同一語に押し込まれる。
サブルーチンからの正常な出口は、サブルーチンから復帰する命令、RTSによ って確実に実行される。サブルーチンから復帰するため、BBSPがRTS命令 を実行すると、BBSPは、スタックから取り出す操作を持つプログラムカウン タの内容を自動的にリセットする。
2つの状態ビットN、Zは格納されず、RTS命令の前に持っていた状態を続け る(第9図)。
割込みからの正常な出口は、プログラム割込みから復帰するRTI命令によって 実施される。BBSPがRTI命令を実行すると、BBSPは、スタックから取 り出す操作を持つプログラムカウンタの内容を自動的にリセットする。2つの状 態ビットN、Zはリセットされ、スタックから出て行く。
つぎにSPスタックポインタについて考察する。
スタックは、後入れ、先出だしの循環読出し/書込みメモリ(circular  read/write memory、 1ast in、 first o ut)として機能する。スタックは、サブルーチン呼出の復帰アドレスを格納す るために使用される種類あるいは状態レジスタ30の割込みおよび条件フラグの スタックである。SPスタックポインタは、4ビツトカウンタであり、アドレス OxOから0xlE(16ビツトの16語)で始まるデータメモリの最初の16 語を指している。プログラマは、このカウンタに直接アクセスすることはできな い。
SPポインタは語だけを指し、命令がバイトの形式をした命令であってもバイト を指すことはない。
スタックポインタは、命令が割込みサブルーチンに入る場合およびスタ・ツクポ インタが間接アドレス指定に使用される場合に、命令、JSR,RTS、RTI 、によって使用される。
スタックを押し込むこと(pushing the 5tack ) (J S Rおよび割込み)は、スタックポインタによって定義されるアドレスを格納する ことと、スタックポインタをこの(SPを事後増分する)順序で増分することで ある。スタックを飛び出すこと(popping the 5tack ) ( RTSおよびRTI)は、スタックポインタを減分する(SPを事前減分(pr edecrementing )する)ことによって行われる。
したがって、このことはSPの新しい値によって定義されるアドレスを読出すこ とである。
つぎに第1O図を参照して、シフトユニット16および算術論理演算ユニット1 7について説明する。
シフトユニット16はソース/デスティネーションレジスタRBの内容を受信す るが、ソース/デスティネーションレジスタRBの内容は、論理あるいは算術方 法で0から15ビツトだけ左あるいは右にシフトできる。シフトユニットの出力 は、算術論理演算ユニット17のB入力に直接接続されている。ソフトユニット はAとBの間の操作を実行する。
入力Aは、レジスタRAからのファイル[原文のまま]、定数にあるいはメモリ からのデータを受信するが、入力BはシフトユニットI6の出力を受信するだけ である。
シフトの値は、即値シフト操作の命令コードあるいは動的シフトのレジスタA2 の中で定義される。
即値シフト:命令オペランドは、 −〇から15のシフト値、 −左方向あるいは右方向、 −論理シフトあるいは算術シフト、 を定義する。
シフトの例を以下に示す。
AOとAtのAND、15単位右に論理シフトされ、結果はAtに退避される。
2、AND AO,AI AOとAIのAND、結果はAIに退避される。
3、AND AO,AI、しくく15 AOとAIのAND、1ビツト右に論理シフトされ、結果はAIに退避される。
4、AND AOlAI−A>>1 AOとAIのAND、1ビツト右に算術シフトされ、結果はAlに退避される。
5、AND AOlAl、A>>15 AOとAIのAND、15ビツトだけ右に算術シフトされ、結果はAIに退避さ れる。
例1から例5に対するコードは以下に示されているが、第11図にも示されてお り、この図は即値シフトを示している。
第12図に示す動的シフトは左に対するシフトであり、シフトされるビット数は レジスタA2に含まれる符号付きの値である。本モードは、RBを32から31 にシフトする可能性を有している。
通常、最左l操作は、動的シフトに先行する。LMO操作の結果は、ソースレジ スタの最上位ビットで始まる連続したゼロの数である。
結果はレジスタA2の20に置かれる。動的シフト操作は、ソースレジスタの最 初(のピント)を最上位ビットの位置に置く。LMO命令の実行中(第13a図 )、ZOの指数はA2に置かれる。
正規化命令(第13b図)は、AOをA2に定義された値だけシフトする。A1  (要求があれば)とA2の間の操作の結果は、A2に復帰したときにソフトさ れる。
つぎに第14図を参照して、BBSPのメモリの構成を説明する。
BBSPは、別々の場所に配置されたデータメモリとプログラムメモリを備えた バーバードアーキテクチャ−を利用している。
BBSPは、プログラムメモリとデータメモリに対する2つの別のアドレス空間 を備えている。
第H図は、BBSPにおけるメモリ領域の配列を示している。
プログラム空間30では、BBSPの14ビツトのプログラムカウンタ6により 、プログラムメモリの16ビツト語24のアドレス指定することができる。同メ モリの上部には、割込みおよび初期状態2. 2. 2への復帰用アドレスベク トルの最初が含まれている。
データ空間には、RAM、ROMおよび入出カセット、Iloが含まれており、 アドレス空間31は0から7FFFhの間に含まれている。データ空間はバイト (オクテツト)で構成されている。全アドレスはバイトアドレスである。
間接アドレス指定モードによればデータ空間の32キロバイトをアクセスするこ とができる。BレジスタあるいはXレジスタには、15ビツトの有効アドレスが 含まれている。
ある。” DMA”命令フィールドには10ビツトシフトされたアドレスが含ま れており、状態レジスタには3ビツトの頁アドレスが含まれている。
オペランドアドレス指定の図を示す第15図に示すように、2つの最上位ビット がゼロにセットされる。 注意されたいことは、入力および出力32のI10空 間は、各データ頁の終わりに置かれた32語の空間だということである。
BBSPは、 修正バーバードアーキテクチャ−を使用しているが、このアーキテクチャ−にお いては、データメモリおよびプログラムメモリは、2つの別の空間に配置されて おり、このことが命令の呼出および実行を完全にオーバーラツプできるようにし ている。
第16図に示すように、BBSPに採用されている2レベルのパイプラインアー キテクチャ−のために、このオーバーラツプすることができるのである。
パイプラインアーキテクチャ−は、必要なトランジスタの数と消費されるエネル ギに関する性能という観点から最良の妥協案である。
ブリフェッチ/解読/実行のバイブラインは、実際にはユーザには見ることがで きない。
バイブラインの機能においては、第16図の矢印群によって示すように、ブリフ ェッチ、解読および実行の動作は独立している。
mlのバイブラインレベル 】、プログラムカウンタ6はつぎの命令アドレスを発生させる。
26 命令のフェッチ。
3、プログラムアドレスを更新する。
4、命令を解読する。
第2のバイブラインレベル 5、オペランドアドレスをの発生させる。
6、オペランドを読出す。
7、(アドレス指定が事後増分を伴う間接アドレス指定のとき)オペランドのア ドレスを更新する。
8、命令を実行し、デスティネーションレジスタあるいはメモリに結果を退避さ せる。
つぎにBBSPの命令セットを詳細に検討する。
BBSPには4つの命令フォーマットがある。
2つのレジスタ、Ra、Rbの間の操作を定義する、レジスタからレジスタへの 命令。
レジスタRaの中で定義されるデータメモリアドレスとレジスタRbとの間の操 作に関する、間接レジスタ命令。
命令フィールドの中で定義されるデータメモリアドレスとレジスタRbとの間の 操作に関する、レジスタからメモリへの命令。
プログラム実行の流れの制御を確実に実行するコマンド命令。
つぎに第17図を参照して、命令形式を説明するが、第17図は上に挙げた4つ の命令形式を4つの線の形で示している。
レジスタからレジスタへの命令、間接レジスタ命令、およびレジスタからメモリ への命令は、整数型命令である。最後の形式はコマンド命令である。
命令の形式は、フィールド3.0で選択される。
解読の複雑さとエネルギの消費を低減するため、全命令は24ビツトの長さを備 えており、命令形式3.0、操作コード3. 1あるいは3.2、条件コード3 ゜3のフィールドは、同じである。
整数型命令に対しては、状態更新3.4およびソースレジスタ/デスティネーシ ョンレジスタ3.5は共通している。
他のフィールドは形式に依存している。命令のタイプはBBSPのコアのコント ローラ部8(第1図)で解読される。
命令コードは第18図に詳細に示されている。
整数型命令の操作コード(operation code)は、次に示す4つの 範鴫に分かれている。
− オペランドをシフトする操作3.I5゜−シフトしない操作3.16゜ −乗算の操作3,17 − バイト転送3.■8 デスティネーションをシフトする命令は、加算 ADD Aの条件による加算/減算 ASCA Bの条件による加算/減算 ASCB 減算A 5UBA 減算B 5UBB ET AND OU OR 排他的ORXOR ソースをシフトする命令は、 格納 ST 条件付き格納 5TNC 乗算 MPY 乗算I MPY1 条件付きバイト格納 STB ンフトしない命令は、 ローディング LD 最左I LMO 否定 NEC 第18図の[3,2]にある操作コードのコマンド命令は、3つの範鴫に分かれ ている。
−オペランドがない命令3.19゜ −プログラムメモリアドレスのある命令3.20.3.22゜−繰り返しの値の ある命令3.210 操作コードの命令は算術論理演算ユニット17の機能を指定する。
条件コードは、第17図のフィールド3,3により示されている。条件コードに よりある命令の実行条件が選択される。いろいろな条件が、第18図の3.3に 表されている。
選択された条件は、現在の状態の内容と比較される。条件が真であれば、デステ ィネーションオペランドは、現在の操作の実行結果によって修飾される。
条件が真でなければ、デスティネーションは修飾されない。
状態更新は、第17図のフィールド3.4により示されている。
状態更新ビットが1であれば、ALU17の中の現在操作の実行結果を使用して 状態が更新される。語モードの場合、状態はALUの16ビツトの結果にセット される。B=1のバイトモードの場合、状態はALUの8ビツトの結果にセット される。
USが選択されなければ、状態は修飾されない。
ソースレジスタおよびデスティネーションレジスタ:Rbフィールドによりソー スレジスタ/デスティネーションレジスタが選択される。
Rbレジスタの内容は、シフトユニット16を介してALU17の入力Bに接続 されている。
ソースレジスタあるいは間接アドレス指定:レジスタからレジスタ形式の場合、 Ra3.6によりALU17の入力Bに接続されているソースレジスタが選択さ れる。
間接アドレス指定の場合、間接フィールド、RA3.23.3,24によりメモ リの中のデータのアドレスを含むレジスタが選択される。命令実行の後、そのレ ジスタを自動的に増分することができる。
制御命令以外の全ての命令は、バイト形式あるいは語形式だけを持つことができ る。
これらの命令は、 加算 ADD AND操作 AND Aの条件による加算/減算 ASCA Bの条件による加算/減算 ASCB ローディング LD 最左I LMO 乗算I MPYI 乗算 MPY 否定 NEC OR操作 OR 格納 ST 条件付き格納 5TNC 減算A 5UBA 減算B 5UBB 排他的OR操作 XOR 初期値(clefault value )は、語形式(” ADD AO,B ’ )であり、後でa、bを加えることにより、ニモニック命令はバイト命令( ” ADD、BSAOlB”)になる。この修飾要素は、以下に示す結果を持つ ことができる。
−状態更新が使用されると、状態語は結果の最低位8ビツトにより更新される。
−自動的に増分される間接アドレス指定モードの場合、インデックスは(2の代 わりに)1だけ増分される。
−データメモリからデータが来ると、算術論理演算ユニットに送られた16ビツ トの最上位バイトが、0にセットされる。
バイトモードの場合、算術論理演算ユニットが(フラグを除き)16ビツトモー ドで機能していることは理解できるであろう。
このことは、デスティネーションレジスタに置かれる結果は16ビツトの結果で あるということを意味している。また、ソースレジスタから来るデータも16ビ ツトのデータである。
このことは、右へのシフトは、シフトユニットも16ビツトモードで機能してい ることに注意して使用しなければならないことを意味している。データがメモリ から来る場合、最上位バイトは0にセットされ、データがレジスタから来る場合 、最上位バイトは修飾されない。 このバイト識別の手段は、レジスタからレジ スタへのアドレス指定あるいは間接アドレス指定に使用できるだけである。
バイト識別の手段は、直接アドレス指定および即時アドレス指定する場合には使 用できないのである。
また、バイト識別の手段を制御命令に使用することはできない。
3つの別のバイト命令が追加された。即ち、LDB バイトをロードする STB バイトを格納する CBS バイトを比較し分岐する である。
LDBおよびSTBは、直接アドレス指定により使用できるだけである。
これらのバイト命令は、レジスタからレジスタへのアドレス指定および間接アド レス指定には使用できない。
レジスタからレジスタへの命令および間接レジスタ命令には、算術シフトあるい は論理シフトを選択するシフトオペランド3.8および左あるいは右へのシフト とシフトする値を選択する5ビットフィールド3.9が含まれている。
第17図に示すDMA直接メモリアドレスフィールド3.lOは、条件コード3 .3の7あるいは15が選択された場合、算術論理演算ユニット17の入力Aに 接続されるソースオペランドのアドレスを選択する。
このフィールドは、符号付き定数3.11であり、ALU17の入力へに接続さ れるソースオペランドとして使用される。ALUの動作は、RbおよびKの間で 実行される。結果はデスティネーションレジスタRbの中にある。PMAフィー ルド3,12には、制御命令によりプログラムカウンタを修飾するプログラムア ドレスが含まれている。
繰り返しの値は、RPTBブロック繰り返し命令により繰り返しカウンタ22( 第2図)にロードされる。RPTB命令は、命令繰り返しブロックを開放するが 、命令繰り返しブロックは、繰り返しカウンタがゼロである場合および条件コー ドEOLが選択されていた場合終了する。
各ループにおいて、繰り返しカウンタはlだけ減分される。
Fig、 9 Fig、 /J(7Fig、 IJb 補正書の写しく翻訳文)提出書(特許法第184条の8)

Claims (1)

  1. 【特許請求の範囲】 1.中央処理装置CPU(2、4)、プログラムメモリ(1)およびデータメモ リ(3)を含むプロセッサアーキテクチャーであって、前記中央処理装置はプロ グラム実行部(1、2)およびデータ処理部(4)を機能的に含み、前記プロセ ッサの構成に関係する構成部品の数を液少するため、プログラム実行部(1、2 )の少なくとも1つの要素(6、11、12)がデータ処理部(4)の中に配置 されていることを特徴とするプロセッサアーキテクチャー。 2.請求項1記載のプロセッサアーキテクチャーであって、前記プログラム実行 部(1、2)は、増分デバイス(11)およびアドレス指定デバイス(12)が 組み合されているプログラムカウンタ(6)、コントローラ(8)およびプログ ラムカウンタ(6)によってアドレス指定されるプログラムメモリ(1)を含み 、前記プログラムカウンタ(6)およびその増分デバイスおよびアドレス指定デ バイス(12)は、前記データ処理部(4)の中に配置されていることを特徴と するプロセッサアーキテクチャー。 3.請求項1あるいは請求項2記載のプロセッサアーキテクチャーであって、前 記データ処理部(4)は、レジスタスタック(15)および算術論理演算ユニッ ト(17)を含み、前記データ処理部(4)は、データバス(18)およびアド レスバス(19)によってデータメモリ(3)に接続され、プログラムカウンタ (6)、その増分デバイスおよびアドレス指定デバイスは前記データ処理部(4 )のレジスタスタック(15)の一部を形成していることを特徴とするプロセッ サアーキテクチャー。 4.請求項3記載のプロセッサアーキテクチャーであって、前記データ処理部( 4)は、レジスタスタック(15)と算術論理演算ユニット(17)の間に接続 されているシフトユニット(16)をさらに含みかつ算術論理演算ユニット(1 7)によってレジスタの内容に関する操作が実行される前に、このレジスタの内 容を左あるいは右に論理シフトあるいは算術シフトすることを可能としているこ とを特徴とするプロセッサアーキテクチャー。 5.請求項1から4の1つに記載のプロセッサアーキテクチャーであって、前記 プログラムカウンタ(6)は、プログラムカウンタ(6)の接続、割込みあるい はローディングの場合、プログラムカウンタ(6)の条件を修飾するための信号 (PMA)を送るパス(13)により、算術論理演算ユニット(17)あるいは データ処理部(4)の命令解読器にさらに接続されていることを特徴とするプロ セッサアーキテクチャー。 6.請求項1から5の1つに記載のプロセッサアーキテクチャーであって、前記 中央処理装置の前記データ処理部(4)は、汎用レジスタとしてあるいは専用機 能を備えた特殊レジスタとして利用できる複数の内部レジスタ(X、B、A0、 A1、A2、M、SW、PC)を含むことを特徴とするプロセッサアーキテクチ ャー。 7.請求項6記載のプロセッサアーキテクチャーであって、汎用レジスタとして あるいは特殊レジスタとして利用できる前記レジスタは、算術論理演算ユニット (17)と並列に機能する増分デバイスに接続されかつ間接アドレス指定の場合 アドレスレジスタとして利用されるレジスタ(X、B)、最左1操作ブロックに 組み合わされ最左1の操作の結果を受信するレジスタ(20)、ブースシフト乗 算レジスタ(M)(21)、状態あるいはコマンドレジスタ(SW)およびプロ グラムカウンタ(6)を構成するレジスタ(PC)を含むことを特徴とするプロ セッサアーキテクチャー。 8.請求項7記載のプロセッサアーキテクチャーであって、ブースシフトレジス タによる乗算は、一連の加算/シフト命令(MPY)によって実行され、前記一 連の加算命令/シフト命令の第1の1つ(MPY1)は乗算シーケンスの初期化 を可能にすることを特徴とするプロセッサアーキテクチャー。
JP6503137A 1992-07-13 1993-07-13 ディジタル信号プロセッサ Ceased JPH07509083A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR92/08663 1992-07-13
FR929208663A FR2693579B1 (fr) 1992-07-13 1992-07-13 Architecture de processeur notamment pour téléphonie numérique à accès multiple.
PCT/GB1993/001469 WO1994001816A1 (en) 1992-07-13 1993-07-13 Digital signal processor architecture

Publications (1)

Publication Number Publication Date
JPH07509083A true JPH07509083A (ja) 1995-10-05

Family

ID=9431847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6503137A Ceased JPH07509083A (ja) 1992-07-13 1993-07-13 ディジタル信号プロセッサ

Country Status (6)

Country Link
EP (1) EP0650614B1 (ja)
JP (1) JPH07509083A (ja)
KR (1) KR950702725A (ja)
DE (1) DE69328486T2 (ja)
FR (1) FR2693579B1 (ja)
WO (1) WO1994001816A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013174942A (ja) * 2012-02-23 2013-09-05 Le Tekku:Kk 複数のコンディションフラグを有するcpu

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319325A (en) * 1978-07-24 1982-03-09 Intel Corporation Digital processor for processing analog signals
US4240142A (en) * 1978-12-29 1980-12-16 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoincrementing of memory pointer registers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013174942A (ja) * 2012-02-23 2013-09-05 Le Tekku:Kk 複数のコンディションフラグを有するcpu

Also Published As

Publication number Publication date
EP0650614B1 (en) 2000-04-26
DE69328486D1 (de) 2000-05-31
KR950702725A (ko) 1995-07-29
DE69328486T2 (de) 2000-10-05
EP0650614A1 (en) 1995-05-03
FR2693579B1 (fr) 1994-09-30
FR2693579A1 (fr) 1994-01-14
WO1994001816A1 (en) 1994-01-20

Similar Documents

Publication Publication Date Title
USRE38679E1 (en) Data processor and method of processing data
KR100268635B1 (ko) 마이크로 컴퓨터 및 제산 회로
JP3173793B2 (ja) 多重命令セットによるデータ処理装置及びデータ処理方法
JP3856737B2 (ja) データ処理装置
EP1102163A2 (en) Microprocessor with improved instruction set architecture
JPH02300983A (ja) 中央処理装置における高速演算処理の方法
JPH09311786A (ja) データ処理装置
EP0809180A2 (en) Data processing circuit, microcomputer, and electronic equipment
KR0167005B1 (ko) 중앙처리장치
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US5854939A (en) Eight-bit microcontroller having a risc architecture
JP3767085B2 (ja) 情報処理回路及びマイクロコンピュータ
JP3789583B2 (ja) データ処理装置
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
US5867696A (en) Saving a program counter value as the return address in an arbitrary general purpose register
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
US6925548B2 (en) Data processor assigning the same operation code to multiple operations
US6223275B1 (en) Microprocessor with reduced instruction set limiting the address space to upper 2 Mbytes and executing a long type register branch instruction in three intermediate instructions
JPH04260929A (ja) データ処理装置
JPH10143494A (ja) スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理
JPH07509083A (ja) ディジタル信号プロセッサ
US6275925B1 (en) Program execution method and program execution device
JP2646855B2 (ja) データ処理装置
JP2000322408A (ja) 線形ベクトル計算
CN112130899A (zh) 一种堆栈计算机

Legal Events

Date Code Title Description
A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20040426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040525