JP3173777B2 - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JP3173777B2
JP3173777B2 JP11733690A JP11733690A JP3173777B2 JP 3173777 B2 JP3173777 B2 JP 3173777B2 JP 11733690 A JP11733690 A JP 11733690A JP 11733690 A JP11733690 A JP 11733690A JP 3173777 B2 JP3173777 B2 JP 3173777B2
Authority
JP
Japan
Prior art keywords
register
data
registers
processing
bit
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
JP11733690A
Other languages
English (en)
Other versions
JPH0363826A (ja
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
Priority claimed from US07/347,615 external-priority patent/US5142677A/en
Priority claimed from US07/347,596 external-priority patent/US5072418A/en
Application filed by テキサス インスツルメンツ インコーポレイテッド filed Critical テキサス インスツルメンツ インコーポレイテッド
Publication of JPH0363826A publication Critical patent/JPH0363826A/ja
Application granted granted Critical
Publication of JP3173777B2 publication Critical patent/JP3173777B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30021Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318505Test of Modular systems, e.g. Wafers, MCM's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置、およびそれらを製作操作す
るための電子処理・制御装置ならびに方法に関する。
〔従来の技術〕
マイクロプロセッサ装置はデジタルプロセッサ用の中
央処理装置もしくはCPUであって、米国特許第3,757,306
号(発明者ガ.リーW.ブーン、特許権者テキサスインス
トラメンツ社)に示すようにMOS/LSI技術により製作さ
れた単一の半導体集積回路もしくは“チップ”内に格納
されるのが普通である。ブーン特許は並列ALU、データ
とアドレス用レジスタ、命令レジスタ、および制御デコ
ーダを含むシングルチップ8ビットCPUを示し、上記部
品は全てフォンノイマンアーキテクチャーを使用しデー
タ、アドレス、命令用の双方向並列バスを使用して相互
接続される。米国特許第4,074,351号(発明者ガリーW.
ブーン、ミカエルJ.コクラン、権利人テキサスインスル
メンツ社)は、4ビット並列ALUとその制御回路を備
え、オンチップROM(プログラム記憶用)とオンチップR
AM(データ記憶用)がハーバードアーキテクチャー形に
構成されたシングルチップ“マイクロコンピュータ”型
装置を示している。マイクロプロセッサという用語は通
常、プログラムとデータの格納に外部メモリを使用する
装置を指し、一方マイクロコンピュータという用語はプ
ログラムとデータを格納するにオンチップROMとRAMを備
えた装置を指すのが普通である。本発明を解説するに際
して、“マイクロコンピュータ”という語は両方の形式
の装置を包含し、“マイクロプロセッサ”の方は主とし
てオンチップROMのないマイクロコンピュータを指すも
のとする。然しながら、上記用語は当該技術分野では互
いに両用されることが多いため、本文中の解説ではこれ
ら用語の一方に代えて他方を使用する場合に本発明の特
徴を限定するものと考えるべきではない。
今日のマイクロコンピュータは、全体として2つの類
別即ち汎用マイクロプロセッサと専用マイクロコンピュ
ータ/マイクロプロセッサに分類することができる。モ
トローラ社により製作されるM6020の如き汎用マイクロ
プロセッサは広範囲のタスクの何れも実現できるように
ユーザがプログラミング可能なように設計されているか
ら、パソコンの如き装置内の中央処理装置として使用さ
れることが多い。かかる汎用マイクロプロセッサは広範
囲の演算論理機能に対しては優れた性能を備えている
が、かかる機能のうちの一つに特定して設計もしくは適
応させられていないことはいうまでもない。それと対照
的に、専用マイクロコンピュータはユーザがそのために
マイクロコンピュータを使用しようとする所定の演算論
理機能に対して性能を向上させるように設計されてい
る。マイクロコンピュータ性の一次的機能を知ることに
よって、設計者は専用マイクロコンピュータによる特定
機能の性能が、使用者が作成したプログラムにかかわり
なく、汎用マイクロコンピュータによると同一の機能性
能を大きく上廻るようにマイクロコンピュータを構成す
ることができる。
著しく向上した速度で専用マイクロコンピュータで実
行可能なかかる機能の一つはデジタル信号処理であっ
て、殊にデジタルフイルタの使用と高速フーリエ変換の
実行に必要とされる計算である。かかる計算は整数乗
算、多重ビットシフト、乗加算の如き高次の反復演算よ
り構成されるために、専用マイクロコンピュータは、特
にこれら反復機能に適応できるように構成することがで
きる。かかる専用マイクロコンピュータの一つは米国特
許第4,577,282号(権利者テキサスインストルメンツ
社)に解説されているが、参考のため本文中に組込んで
ある。同特許における如くこれらの計算用にマイクロコ
ンピュータを特殊な形で設計することによって汎用マイ
クロコンピュータに比べて十分な性能の向上が得られ、
その結果、かかる専用マイクロコンピュータを音声画像
処理の如きリアルタイム用途に使用することが可能にな
る。
デジタル信号処理分野ではその計算度が高いために、
メモリアクセス動作も幾分激しい。従って、デジタル信
号処理機能を実行するさいのマイクロコンピュータの全
体性能は単位時間あたりに実行される特定計算数によっ
て決定されるだけでなく、マイクロコンピュータがシス
テムメモリからデータを検集し、同メモリに対してデー
タを格納することの可能な速度によっても規定される。
上記米国特許第4,577,282号中に記載のものの如く、従
来の専用マイクロコンピュータはハーバードアーキテク
チャーの修正バージョンを使用しているため、データメ
モリに対するアクセスはプログラムメモリのアクセスか
ら独立に、しかもそれと同時に行うことができる。かか
るアーキテクチャーがその性能を追加的に向上させるこ
とはいうまでもない。
技術と市場の増加する需要は、今日、処理装置、アプ
リケーションシステム、およびそれらの操作と製造方法
について更に一層の構造的ならびに処理上の向上を望ま
しいものとしている。
〔発明が解決しようとする課題〕
全体として、本発明の一形態はコンテキスト信号に応
答しそのコンテキスト信号により確認される代替的な処
理コンテキスト内が動作可能な電子プロセッサを含むデ
ータ処理装置である。第1と第2のレジスタが上記デー
タ処理装置に接続されることによって一つの処理コンテ
キストに参加すると共に、別の処理コンテキストからの
情報をそこに復帰するまで保持する。コンテキスト切換
回路が上記第1と第2のレジスタに接続され、処理コン
テキストに応じて、レジスタの電子プロセッサ間での入
出力動作を選択的に制御するようになっている。
本発明のその他の形の装置、システム、および方法も
本文中に開示する。
本発明の特徴を成すと思われる新規な特徴は添附請求
範囲中に提示する。本発明の実施例と共にその他の特徴
と利点は図面と相俟って以下の詳細な説明より最も良く
理解されるはづである。
〔実施例〕
アーキテクチャ全体図はまづデジタル信号処理装置11
の望ましい実施例を示す。
第1A図と第1B図のデジタル信号処理装置はハーバード
形アーキテクチャーによるもので、プログラムとデータ
につき、2つの別個のメモリバス構造を維持することに
よって処理能を最大にしてフルスピードで実行できるよ
うにしてある。上記2個の空間の間をデータを転送させ
る命令が含まれる。
装置11はプログラムアドレス指定回路13とプロセッサ
を備える電子計算回路15を有する。計算回路15は、第1B
図のデータメモリ25から取出されるか即値命令から導出
された16ビットワード、あるいは乗算器27の32ビットの
結果を使用して演算する汎用演算装置である。演算命令
を実行する他に、ALU21はブール演算を実行することが
できる。累算器23はALU21からの出力を記憶し、通路29
を介して第2の入力をALU21に提供する。累算器23は図
においては32ビット長であって上位ワード(31〜16ビッ
ト)と下位ワード(15〜0ビット)に分割される。累算
器の上下位ワードをデータメモリ25内に記憶する命令が
設けられる。累算器23が高速に一時記憶できるように、
32ビットの累算器バッファACCB31が存在する。
主ALU21の他に、第1B図には周辺論理装置(PLC)41が
存在し、累算器23のコンテキストに影響を及ぼさずにメ
モリロケーション上に対して論理演算を行う。PLC41
は、高速制御のために拡張ビット操作能力を備えてお
り、ビットのセット、クリア、ならびに制御状態レジス
タの動作と関連するテストを簡単化している。
第1A図の乗算器27は、1回の命令サイクルで32ビット
の結果と共に16×16ビットの2つの補数乗算を実行す
る。
乗算器は次の3つの要素から成る。即ち、一時TREGO
レジスタ49に、積レジスタPREG51、および乗算器アレイ
53である。16ビットTREGOレジスタ49は被乗数を一時記
憶する。PREGレジスタ51は32ビットの積を記憶する。乗
算器の値はMAC/MACD命令を使用する場合、データメモリ
25、プログラムメモリ61から来るか、MPYK(乗算即値)
命令ワードから即座に導き出されるかの何れかである。
プログラムメモリ61はアドレス指定入力でプログラム
アドレスバス101Aに接続される。メモリ61はそのリード
/ライト入出力でプログラムデータバス101Dに接続され
る。高速オンチップ乗算器27によって装置11は畳み込
み、相関化、フィルタリングの如き基本的なDSP操作を
効率的に実行することができる。
プロセッサのスケーリングシフタ65は、16ビット入力
がマルチプレクサ(MUX)73を介してデータバス111Dに
接続され、32ビットの出力がマルチプレクサ77を介して
ALU21に接続されている。スケーリングシフタ65は命令
によりプログラミングされるかシフトカウントレジスタ
(TREGI)81内に規定されるように入力データ上に0〜1
6ビットの左移行桁送りを行う。出力のLSB(最下位ビッ
ト)はゼロで満たされ、MSB(最上位ビット)は第1B図
の一組のレジスタ85内の状態レジスタST1の符号拡張モ
ードビットSTMの状態に応じてゼロで満たすか符号拡張
するかすることができる。
桁送り能力を追加することによってプロセッサ11は数
値スケーリング、ビット抽出、拡張演算および桁あふれ
を防止することができる。割込みとサブルーチン呼出し
中にプログラムカウンタ93の内容をセーブするために8
レベルに至るまでのハードウエアスタック91を設ける。
プログラムカウンタ93はMUX95を介してプログラムアド
レスバス101Aもしくはプログラムデータバス101Dからコ
ンテキストの変化に対して選択的にロードされる。PC93
はアドレスバス101Aに書込まれるかスタック91上に押込
まれる。割込みが行われると、一定の戦略レジスタ(累
算器23、積レジスタ51、TREG049、TREG1、TREG2、そし
てレジスタ113ではST0、ST1、PHST、ARCR、INDXおよびC
MPR)が深部スタック上へ押込まれ割込み復帰と共にポ
ップアップされることによって、オーバーヘッドがゼロ
で割込みコンテキストが切替えられる。これらレジスタ
のコンテキストをセーブする働きをする割込みはマスキ
ング可能である。
第1A図と第1B図に示す機能をブロック線図はプロセッ
サ内の主要ブロックとデータ経路を概略したのである。
上記機能ブロックの詳細を以下に提示する。第1A図と第
1B図に使用する記号の定義についてはテーブルA−1の
内部ハードウエアの要約を参照されたい。
プロセッサアーキテクチャーは2つの対状の大きなバ
スの周辺に構築される。(即ち、プログラムバス101Aと
101D、およびデータバス111Aと111D)プログラムバスは
プログラムデータバス101D上のプログラムメモリからの
命令コードと即値オペランドを担う。プログラムメモリ
61に対するアドレスはプログラムアドレスバス101A上に
供給される。データバスはデータアドレスバス111Aとデ
ータバス111Dを含む。後の方のバス111Dは中央演算装置
(CALU)や補助レジスタファイル115やレジスタ85の如
き種々の要素をデータメモリ25に相互接続する。プログ
ラムバスとデータバス101、111は共にオンチップデータ
メモリ25と内外部プログラムメモリ61からのデータを1
回のサイクルで乗算器に運び乗算/累算操作を行うこと
ができる。コアアドレスデコーダ121はデータアドレス
バス111Aに接続され、レジスタ85とその他の全てのアド
レス指定可能なCPUコアレジスタのアドレス指定を行
う。
プロセッサ13、15は高次の並列性を備えていて、例え
ば、データがCALU15により演算中に演算が補助レジスタ
演算(ARAU)123内で実行される利点がある。かかる並
行演算処理の結果、強力な演算操作とピット操作の組が
得られ、それらは全て単一の機械サイクル内で実行され
る。
プロセッサの内部のハードウエアは1サイクル16×16
ビットの乗算と、データ桁送り、およびアドレス操作を
含んでいる。
デーブルA−1は内部ハードウエアの摘要を示す。こ
の摘要テーブルは、内部処理要素、レジスタ、およびバ
スを備えるが、各機能群内でアルファベット化される。
プロセッサ13、15は全部で64Kワードのデータメモリ2
5をアドレス指定する。
データメモリ25は96Kデータメモリ空間内にマッピン
グされ、オンチッププログラムメモリが64Kプログラム
メモリ空間内にマッピングされる。
16ビットデータアドレスバセ111Aは次の2つの方法の
1つでデータメモリ25のアドレス指定を行う。
1)直接アドレス指定モード(例えばADD 010h)を使用
する直接アドレスバス(DAB)によって、 2)間接アドレスモード(例えばADD)を使用する補
助レジスタファイルバス(AFB)によって、 3)オペランドは即値アドレス指定モードによりプログ
ラムカウンタの内容によってもアドレス指定される。
直接アドレス指定モードでは、9ビットのデータメモ
リページポインタ(DP)125が512(128ワード)ページ
のうちの1つを指示する。MUX126はコマンドによってDP
ポインタレジスタ部分125のバス101Dもしくは111Dの何
れかを選択する。命令の7つのLSB 127によりプログラ
ムデータバス101Dから指定されたデータメモリアドレス
(dma)はページ内の所望ワードを指示する。DAB上のア
ドレスは9ビットDPを7ビットdmaと連結することによ
って形成される。MUX129はコマンドによってARU123出力
が連結(DP,dma)出力の何れかをデータアドレスバス11
1Aに選択的に供給する。
間接アドレスモードにおいては、レジスタ115内の現
在選択された16ビット補助レジスタAR(ARP)がAFBを介
してデータメモリをアドレス指定する。選択された補助
レジスタがデータメモリアドレスを提供し、データがCA
LU15により操作中に、補助レジスタの内容はARAU123を
介して操作される。
データメモリアドレスマップは、グローバルメモリイ
ンターフェースを介して追加32Kワード内でページング
することによって16ビットアドレスバスの64ワードアド
レスリーチを超えて拡張することができる。GREGレジス
タを適当な値でロードすることによって、最高位アドレ
スからスタートし下降するローカルデータメモリ上に追
加的なメモリをオーバレイすることができる。この追加
メモリはアクティブローのBR−ピンによってローカルメ
モリから区別される。
即値オペランドを使用する場合には、命令語自体内
か、16ビット即値オペランドの場合には、その命令語に
続くワード内の何れかに格納する。
補助レジスタ115内の8個の補助レジスタ(AR0−AR
7)はデータメモリ25を間接的にアドレス指定するか一
時的にデータをストアするために使用される。間接補助
レジスタアドレス指定によって、命令オペランドのデー
タメモリアドレスを補助レジスタの一つに配置すること
ができる。これらのレジスタはそれぞれAR0〜AR7と命令
した0〜7の値をロードされる3ビット補助レジスタポ
インタ(ARP)によって指示される。MUX144は入力がデ
ータバス111Dはプログラムデータバス101Dに接続され
る。MUX144は命令によって操作され2本のバス111Dと10
1Dのうちの一つからARP141の値を得るようになってい
る。補助レジスタ115とARP141はデータメモリ25、累算
器23、積レジスタ51から、命令内に規定された即値オペ
ランドの何れかによってロードすることができる。これ
のレジスタの内容もデータメモリ25内にストアされるか
主CPUに対する入力として使用することができる。
補助レジスタファイル(AR0−AR7)115は第1B図に示
す補助レジスタ演算装置(ARAU)に接続される。ARAU13
2はレジスタ115内の現在補助レジスタをオートインデッ
クスする一方、データメモリロケーションをアドレス指
定することができる。+/−かインデックスレジスタ14
3の内容によって索引付けすることができる。その結
果、列もしくは行によって情報テーブルをアクセスする
にはアドレス操作用の中央演算装置(CALU)を要しない
から、それを他の操作用に解放することができる。
インデックスレジスタ143もしくは命令レジスタIRの
8個のLSBはMUX145を介してARAU123の入力の一つに選択
的に接続される。ARAU123の他の入力はMUX147によって
現在補助レジスタAR(ARPにより指示される)から供給
される。
上述の如く、中央演算装置(CALU)15は、16ビットの
プリスケーラスケーリングシフタ65と、16×16ビットの
並列乗算器27と、32ビット演算装置(ALU)21と、32ビ
ット累算器(ACC)23と、追加的なシフタ169、181(累
算器23と乗算器27の両方の出力部)を含む。この部分は
CALU部品とその機能を記述したものである。
次のステップが典型的なALU命令の実行の際に行われ
る。
1)データがデータバス上のRAM25から取出される。
2)データはスケーリングシフタ65と演算が実行される
ALU21を通過する。
3)その結果は乗算器53内へ移される。
ALU21に対する1入力が累算器23から提供され他方の
入力は乗算器27の積レジスタ(PREG)51、積レジスタバ
ッファ(BPR)185、累算器バッファ(ACCB)31からか、
データメモリ25もしくは累算器23からロードされるスケ
ーリングシフタ65と181から選択される。
スケーリングシフタ65は16ビット入力がMUX73を介し
てデータバス111Dに接続され、32ビット出力がMUX77を
介してALU21へ接続されることが有利である。スケーリ
ングシフタプリスケーラ65はCOUNTレジスタ199をロード
することによってプログラミングされるように、入力デ
ータ上に0〜16ビットの左桁送りを行う。桁送りカウン
トは命令語内に埋込まれた定数かレジスタTREG1内の値
によって指定される。プリスケーラ65の出力のLSBはゼ
ロで満たされ、MSBは状態レジスタST1のSXM(符号拡張
モード)ビット内にプログラミングされた状態に応じて
ゼロで満たされるか符号拡張することができる。
同じシフタ65はMUX73を介して累算器23からのもう一
つの入力路を備えている。この入力路を使用する際、シ
フタ65は0〜16ビットの右シフタとして働く。このため
ACCの内容を1サイクルで0〜16ビット右へ桁送りする
ことができる。
シフトアウトしたビットは失われ、シフトインビット
はゼロであるかSXM状態ビットの値に応じて原始符号ビ
ットのコピーの何れかである。
種々のシフタ65、169、および181は数値スケーリン
グ、ビット抽出、拡張精度演算、およびオーバフローの
防止を可能にする。
32ビットのALU21と累算器23は広範囲の演算機能を実
行し、その多数は1回のクロックサイクルで実行するこ
とが望ましい。一たんALU21内で演算が実行されると、
その結果は累算器に転送され、そこで桁送り等の追加的
な演算が行われる。ALUに入力されるデータはスケーリ
ングシフタ181によってスケーリングすることができ
る。
ALU21はデータRAMから取り出されるか即値命令から導
き出された16ビットワードについて演算する汎用演算装
置である。通常の演算命令の他に、ALUはブール演算さ
え実行可能である。上記した如く、ALUに対する1入力
は累算器23から提供され、他入力はMUX77により選択的
に供給される。MUX77は累積器バッファ(ACCB)31を選
択するか、2次的にスケーリングシフタ65の出力(デー
タRAMもしくはACCから読出される)か、3次的に積スケ
ーラ169の出力を選択する。積スケーラ169はMUX191によ
り供給される。MUX191は積レジスタPREG51が、積レジス
タバッファ185をスケーラ169として選択する。
32ビット累算器32は2つの16ビットを画に分割され、
データバス111Dをすててデータメモリ25へ格納する。累
算器出力部のシフタ181は0〜7桁の左シフトを行。こ
のシフトはデータがデータバス111Dへ転送されて格納中
に実行される。累算器23の内容は不変のままである。累
算器23の上位ワード(16−31ワード)に対してポストス
ケーリングシフタ181が使用される場合、MSBは失われLS
Bは下位ワード(10−15)からシフトインしたビットで
満される。ポストスケーリングシフタ181が下位ワード
について使用される場合、LSBはゼロで満たされる。大
きなダイナミックなレンジを要する用途に対しては浮動
小数点演算が設けられる。NORM(正規化)命令は左シフ
トを実行することによって累算器21内に含まれる固定小
数点数を正規化するために使用される。一時レジスタTR
EG181の4ビットは、LACT/ADDT/SUBT(シフトがTREG1に
より指定された累算器からのロード/加算/減算)のた
めにスケーリングシフタ65内の可変シフトを規定する。
これらの命令は数がデノーマライズされる必要がある、
即ち浮動小数点から固定小数点へと変換される必要があ
る浮動小数点演算に有効である。それらは、同様にし
て、フイルタ内へ移行する自動利得制御(AGC)の実行
の如きアプリケーションにも有効である。BITT(ビット
テスト)命令は一時レジスタTREG2195の4つのLSB内に
含まれた値に基づいてデータメモリの1ワードの1ビッ
トをテストする。
レジスタTREG1とTREG2はデータバス111Dにより供給さ
れる。MUX197はTREG1、TREG2から、もしくはプログラム
データバス101Dからの値を選択し、それらの一つをCOUN
Tレジスタ199に送る。COUNTレジスタ199はスケーリング
シフタ65に接続され、シフタの値を判断する。
累算器23の1サイクルの0−16ビットの右シフトによ
って累算器を効率的に整合させて多精度の演算を行うこ
とができる。これは累算器上の32ビット一時バッファAC
CBと積レジスタ上のBPRと一緒になって多精度演算にお
けるCALUの有効性を向上させる。累算器のバッファレジ
スタ(ACCB)は累算器を高速にセーブするための一時的
格納場所を提供する。ACCBはALUに対する入力としても
使用することができる。ACCとACCBは互いにストアしあ
うことができる。ACCBの内容はACCに対してALUによって
ACCB(もしくはACCとACCBの双方)内にストアされた大
小の値と比較してパターン認識アルゴリズムに使用する
ことができる。例えば、数字ストリング内の最大もしく
は最小値はACCBとACCの内容どうしを比較し、もしその
条件が満足されれば、その後最小もしくは最大値を一つ
もしくは両方のレジスタ内に入力することによって発見
することが有利である。積レジスタバッファ(BPR)は
積レジスタを高速セーブするための一時格納場所を提供
する。BPR内にストアされた値は設けられたシフタ169に
対するシフトが指定された累算器に対して加算したり減
算したりすることもできる。
システムの制御はプログラムカウンタ93、ハードウエ
アスタック91、PC関連ハードウエア、外部リセット信号
RS−、割込制御231に対する割込み、状態レジスタ、リ
ピートカウンタによって行う。以下の節はシステム制御
とパイプライン演算におけるこれら部品の各々の作用を
説明したものである。
プロセッサは16ビットプログラムカウンタ(PC)93を
備え、8深度ハードウエアスタック91はPCをストアす
る。プログラムカウンタ93は読出し命令において内外部
プログラムメモリ61のアドレス指定を行う。スタック91
は割込みとサブルーチン中に使用される。
プログラムカウンタ93はプログラムアドレスバス(PA
B)101Aを介してオンチップかオフチップかのプログラ
ムメモリ61のアドレス指定を行う。PABを経て、一命令
がプログラムメモリ61内でアドレス指定され、プログラ
ムデータバス101Dを介してデータPLA221用の命令レジス
タ(IR)内へロードされる。IRがロードされると、PC93
は次の命令読出しサイクルを開始する態勢に入る。デコ
ーダPLA(プログラマブル論理アレイ)221はプロセッサ
命令集会内の命令を事項するためにMUXと全プロセッサ
要素を制御するための出力を多数備えている。例えば、
デコーダPLA221はコマンド信号をパイプラインコントロ
ーラ225に送る。後者はパイプライン化された処理演算
を実行するための種々の出力も備えていて、プロセッサ
要素は時間調整されるようになっている。パイプライン
コントローラ225の出力はCALL、RETCリターン)、IAQ
(割込取得)およびIACK(割込み確認)も含む。
データメモリ25はBLKD命令中にプログラムカウンタ93
によりアドレス指定される。プログラムカウンタ93はデ
ータブロックをデータメモリの一区画から別の区画へ移
動させる。累算器23の内容は“計算された飛越し”演算
を実行するためにPC93内にロードすることができる。こ
れはBACC(累算器内のアドレスに対する分岐)もしくは
CALA(サブルーチン間接呼出し)命令を使用して実行す
ることができる。
新たな読取りサイクルを実行するにはPC93をPC+1も
しくは分岐アドレス(分岐、呼出し、割込みの如き命令
の場合)の何れかをロードする。分岐が行われない特別
の条件分岐の場合には、PCは分岐即値のロケーションを
越えてもう一度増分する。条件分岐の場合には、プロセ
ッサは条件呼出しとリターンの全補数を有する。
プロセッサ13、15は4深度パイプラインによって演算
する。
第1B図の周辺論理装置(PLU)は制御/状態レジスタ
もしくは任意のデータメモリロケーション内の多重ビッ
トを直接セット、クリア、トグル、もしくはテストする
ために使用される。PLUは累算器もしくは積レジスタの
内容に影響を与えずにデータメモリ値に対する直接論理
経路を提供する。同PLUはレジスタ内の多重制御ビット
をセットもしくはクリアしたりフラッグレジスタ内の多
重ビットをテストしたりするために使用される。
PLU41はデータバス111Dを介してデータメモリ空間か
らオペランドを一つ取出し、第2のオペランドをMUX225
を介してプログラムバス101D上の長い即値もしくはDBMR
(ダイナミックビット操作レジスタ)223の何れからか
取出すことによって演算する。
DBMRは先にデータバス111Dからロードされる。その
後、PLUは2個のオペランド上の命令によって規定され
るその論理演算を実行する。最後に、その結果はデータ
バス111Dを介して第1のオペランドが取出された同じデ
ータロケーションへ書込まれる。
PLUはデータメモリ空間内の任意のロケーション内で
ビットを直接操作することを可能にする。この直接的な
ビット操作は16ビット長の即値をあるデータロケーショ
ンに対してAND,OR,XOR処理もしくはロードすることによ
って処理される。例えば、CBCR(円形バッファ制御レジ
スタ)を初期化して円形バッファ1に対してはAR1を、
円形バッファ2に対してはAR2を使用し、しかもそれら
円形バッファを割込み可能としないためには、 SPLK 021h,CBCR(周辺長即値をストアする)を実行
する。
後に円形バッファ1と2を後に割込み可能とするには
OPLK 088h,CBCR(ビット7とビット3をCBCRにセット
する) 特定レジスタもしくはデータワード内の個々のビット
をテストするためにはやはりBIT命令を介して行われる
が、1データワードはCPLK(周長即値を比較せよ)命令
により特定パターンに対してテストすることができる。
もしデータ値が長い即値と等しければ、TCビットは1に
セットされる。もし任意のPLU命令の結果がゼロであれ
ば、TCビットがセットされる。
ビットのセット、クリア、トグル機能は長即値の代わ
りに、16ビットダイナミックレジスタDBMR値によっても
実行できる。これはXPL(データに対するXOR DBMRレジ
スタ);OPLCデータに対するOR DBMRレジスタ)およびA
PL(データに対するAND DBMRレジスタ)の3個の命令
によって行われる。
プロセッサはプロセッサに割込む外部装置に対して利
用可能な16のマスキング可能なユーザ外部割込みCINT16
−INT1)を有する。内部割込みはシリアルポート(RINT
とXINT)、タイマ(TINT)、パリティチェッカー(PNTL
とPNTH)、およびソフトウェア割込み(TRAP)命令によ
って発生する。割込みは最優先順位を有するリセット
(RS−)と最低優先順位を有するINT15によって優先順
位をつけられる。
割込み制御ブロック231はプログラムデータバス101D
を供給する。テーブルA−5には内外部割込み全体につ
いてのベクトル位置と優先順位が示されている。ソフト
ウェア割込みについて使用されるTRAP命令は優先順位が
つけられないが、固有のベクトル配置を有するためここ
に含ませておく。それぞれの割込みアドレスは2つのロ
ケーションによって隔てられ、分岐命令がそれらロケー
ション内に格納できるようになっている。
テーブルA−5 割込みロケーションと優先順 名称 ロケーション 優先順位 作用 外部 第1B図では、バスインターフェースモジュールBIM241
がデータバス111Dとプログラムデータバス101D間に接続
される。BIM241はコマンドによってデータバス101Dと11
1D間で転送することを可能ならしめ、古典的なハーバー
ドアーキテクチャかフォン/イマンアーキテクチャの何
れかと比較されるシステムの構造上の柔軟性を大きくす
る。
処理装置と部品回路を含み、プロセッサ13、15に対す
る改良によって可能になる本発明のシステムを以下に論
ずる。汎用デジタル信号処理用途の場合、これらのシス
テムはコンボリューション、相関化、ヒルベルト変換、
高速フーリエ変換、適当フィルタリング、ウィンドウイ
ング、および波形生成を実行するようにすることが有益
である。ある場合には丁度列挙したばかりの一般的アル
ゴリズムを伴うその他のアプリケーションとしてはボイ
スメール、音声ボコーディング、音声認識、話者確認、
音声向上、音声合成ならびに音声テキストシステムがあ
る。
本発明による計測によって本発明が適当に活用できる
用途においてスペクトル解析器、関数発生器、パタニン
マッチングシステム、サイスミック処理システム、過渡
分析システム、デジタルフィルタ、および位相ロックル
ープの向上が実現される。
本発明による自動制御システムによって、エンジン制
御、振動分析、スキッドのないブレーキング制御、適応
乗車制御、音声コマンド、自動変速制御が好適に実現さ
れる。
航海、飛行、軍事分野では本発明システムは改善され
たグローバル位置決めシステム、プロセッサ支援航海シ
ステム、レーダ追跡システム、プラットホーム安定化シ
ステム、ミサイル誘導システム、安全通信システム、レ
ーダ処理その他の処理システムが提供される。
本発明によるシステムは更に、全体としてコンピュー
タディスクドライブモータコントローラ、プリンタ、プ
ロッタ、光ディスクコントローラ、サーボ機械制御シス
テム、ロボット制御システム、レーザプリンタ制御およ
びモータ制御システムを提供することができる。これら
の制御システムの幾らかはロボットコントローラ、自動
組立装置、検査装置、産業駆動装置、数値制御器、コン
ピュータ化された電動工具、機密保護アクセスシステ
ム、および電力線モニタの如き産業環境に使用すること
ができる。
本文中に開示の原理によって想定されるテレコミュニ
ケーション発明は反響消去装置、ADPCMトランスコー
ダ、デジタルPBX、回線中継器、回線マルチプレクサ、
モデム、適当イコライザ、DTMFエンコーダとDTMFデコー
ダ、データ暗号化装置、デジタルラジオ、セルラー電
話、ファクシミリ、ラウドスピーカ電話、デジタル音声
補間(DST)システム、パケット交換システム、ビデオ
会議システム、およびスペクトラム拡散通信システムを
包含する。
図形画像分野では、本文中に開示の原理と装置方法に
もとづき更に、光文字認識装置、3次元回転装置、ロボ
ット視覚システム、映像伝送圧縮装置、パターン認識装
置、画像向上装置、準同形写像処理装置、ワークステー
ション、およびアニメーションシステムならびにデジタ
ルマッピングシステムを包含する。
本発明により想定できる医療上の発明は例えば、補聴
器、患者モニター装置、超音波装置、診断用具、自動補
綴ならびに胎児モニタ、を包含する。本発明による消費
財はスタジオやテレビステーションで使用される高鮮明
度テレビ受信機や伝送装置の如き高鮮明度テレビ装置を
包含する。更に、本発明の消費財として音楽シンセサイ
ザ、ソリッドステート応答機、レーダ発見器、電力工
具、玩具、ゲームを包含する。
本文中で想定されるシステム面は優れたシステムアー
キテクチャ、システム性能、システム信頼性と経済性を
備える点を強調しておくべきであろう。
例えば、第2図において本発明による産業工程と保護
目的制御システム300は特定の産業環境に固有の物理学
的変数を検知する産業用センサ301、303を包含する。セ
ンサ301と303からの信号は、第1B図の改良PLU(並列論
理装置)を備える第1A図と第1B図の信号処理装置11に提
供される。インターフェース305はレジスタロケーショ
ンA,B,C,D,E,F,Gとドライバ(図示せず)を備える。上
記レジスタロケーションはドライバと各ライン307を介
してモータ311により駆動される産業処理と、リレー313
により制御されるリレー操作装置と、ソレノイド弁315
を含む各種バルブに接続される。
産業上の処理と保護目的制御環境では、種々の工学上
と経済上の問題が相反して作用する。もし産業工程のス
ピートとスループットが高い場合には、リアルタイムで
発生しセンサ301と303により検出される比較的急速な変
化の重要性を解釈するために装置11の処理能力に対して
重い負担が課せられる。他方、センサ301と303により検
出される現実世界の条件に応ずるために必要な制御機能
も迅速に行う必要がある。
PLU41を追加して装置11が単一の半導体チップに製作
される時の余分の費用を無視しうるようにして装置11に
対する競合する要求を解決することが有利である。この
ようにして、産業上の処理速度、保護目的の制御の迅速
さ、制御の正確さは相当向上させることができる。
第3図において、本発明の自動車321は車輪と車軸を
取付けるシャシー323と、エンジン325、サスペンション
327、ブレーキ329を備える。ボデー331はシャシー323に
対してサスペンションを備える乗客用コンパートメント
を形成する。
アクチブなサスペンション335はばねとアブソーバサ
スペンションの技術を増加し、ビットA,B,C,D,E,F,G,H,
I,J,K,L,M,Nに対するロケーションを有するインターフ
ェース341を介して制御される。並行計算プロセッサ343
は第1A図と第1B図中に開示されたタイプの計算装置を使
用し、データバス351Dとプログラムデータバス361Dに接
続される少なくとも一つの並列論理装置41を備える。多
数のセンサ371、373、375を包含し、それらは、サスペ
ンションの機能、エンジンの動作、スキッドに抗する制
御作用をそれぞれ監視する。
エンジン制御システム381はインターフェース341のロ
ケーションの幾つかに接続される。同様にアンチスキッ
ド制動制御システム383がインターフェース341のそれ以
外のビットに接続される。自動車の信頼性、安全性、乗
客の快適さ、経済性といった多数の考慮すべき問題は従
来の自動車システムに対して重い負担を課している。
第3図の発明では、自動車321は、本発明の極度に柔
軟な平行処理と制御性の利点によってこれら領域の何れ
もしくは全てにおいて改善されている。
第2図と第3図のシステムと本文中に述べるシステム
に使用される装置11の如き装置は装置性能の向上の問題
に取組むだけでなく、ユーザのシステム性能全体とコス
トを規定する産業上システムの問題点を解決するもので
ある。
実施例の装置11は命令を50ナノセカンドで実行し、半
導体製作による改良によって更に命令速度を可能にする
ことができる。オンチッププログラムメモリはRAMに依
拠し、安価な外部メモリからプログラムをブートロード
しやすくしてある。他のバージョンは更にコストを低減
するためにROMを依拠することが好適である。
第4図のデジタル制御モータシステム400は第1A図と
第1B図の装置11を有するデジタルコンピュータ401を備
える。デジタルコンピュータ401は出力μ(n)を零次
ホールド回路ZOH403に供給する。ZOH403は産業用機械、
家庭用機器、軍事設備、その他の応用システム環境にお
いて制御出力μ(t)をDCサーボモータ405に供給す
る。
サーボモータ405の入力μ(t)に対する作業上の応
答はy(t)で示される。センサ407はモータ出力y
(t)のトランスジューサであって、サンプラ409に送
り、それは今度はサンプリングされたデジタル出力y
(n)を割込ラインINT−を介して減算器401に供給す
る。人間によるもしくは自動監視制御からの基準入力γ
(n)がもう一つの入力として減算器411に外部供給さ
れる。その後、誤差e(n)がデジタルコントローラ40
1に送られループを閉じる。装置11はコントローラ401に
対して第2図におけるようなサーボモータの他に他の要
素を処理制御するための高いループ帯域幅と多重機能性
を付与する。装置11のゼロオーバヘッドの割込みコンテ
キスト切替えによって帯域幅は更に拡大され、ポーリン
グアーキテクチャーに対する魅力的な代替手段を提供す
る。
第5図において、多変数状態コントローラ421は装置1
1のプロセッサを用いて高次アルゴリズムを実行する。
状態コントローラ421は基準入力γ(n)を受取り、出
力μ(n)をモニタ423に供給する。多重電気変数(位
置X1、速度X2、電力X3、トルクX4)が状態コントローラ
421に帰還される。4変数X1−X4(例えば線形結合形を
とる)の任意の1つもしくはそれ以上を各種の操作目的
に制御することが望ましい。システムは制御された速度
もしくはトルクアプリケーションを実行することが可能
で、ステップモータと可逆モータを運転する。
第6図において、モータ431はサンプラ433により検出
されサンプリングされて動作する。プロセッサ435は装
置11を含み、サンプラ433により割込み駆動される。装
置433により判断される速度情報は第1A図と第1B図に関
して述べたような改良プロセッサ435に帰還される。プ
ログラムメモリ61(図1A)におけるソフトウェアは評価
アルゴリズムプロセス437をして実行される。プロセス4
37は速度、位置、電流の情報をプロセス435の状態コン
トローラプロセス439に提供する。デジタル出力μ
(n)は出力として状態コントローラ439から零次ホー
ルド回路441へ供給され、後者は今度はモータ431を駆動
する。
モータはソリッドヌテート電子スイッチがブロック43
1内のコア、コイル、ロータと関連するブラシレスdcモ
ータであることが望ましい。第4−6図のシステムはシ
ャフトエンコーダ、ホール効果光ロータ位置検出と巻線
からの位置の逆起電力検出法を備えている。
第7図において、ロボット制御システム451は、ロボ
ットアーム455端にモータ駆動の把持機構453を備えてい
る。ロボットアーム455は回転軸457.1,457.2,457.3,45
7.4を備える構造をしている。アーム455上の関節点459.
1,459.2,459.3,450.4にはセンサと高応答性の正確に制
御可能なモータが配置される。
かかる多数のモータとセンサをロボットアーム機構45
5を正確に位置決めし活用するために使用することが望
ましい。然しながら、上記多数のセンサとモータはシス
テム全体とコントローラ461に対して競合する要求を課
する。コントローラ461は第1A図と第1B図の装置とシス
テム451の割込み駆動アーキテクチャーを含めることに
よってこれらのシステム要求を解決する。コントローラ
461はI/Oインターフェース463と相互に交信する。後者
はロボットアーム455に対する並列論理装置41によって
ビット操作と共に、A/D変換とD/A変換を実行する。イン
ターフェース463は航行モータ467とロボットアーム455
と把持機構453と関連するセンサから位置と圧力の応答
を受取る。また、インターフェース463はサーボアンプ4
65を経てロボットアーム455の各モータ467に制御コマン
ドを供給する。
コントローラ461はスタティックラム(SRAM)とプロ
グラマブルリードオンリーメモリ(PROM)と関連したメ
モリ467を有する。
低速の周辺装置469はコントローラ471と関連し、それ
らはコントローラ461のページ境界に敏感な待機特性に
よって効率的に格納される。コントローラ461は安全制
御装置475に応答するシステム管理プログラムCPU473に
よって、それに供給されるハイレベルコマンドに応答す
る。システム管理プログラム473はI/OとRS232ドライバ4
75を介してコントローラ461と交信する。
本発明のデジタル制御システムは以前には利用できな
かった制御精度、速度、経済性といった性能性の利点を
可能にする。もう一つの例として、ディスクドライブ
は、スピンドルモータ装置により高速で回転する情報ス
トアディスクを備える。別のアクチュエータと呼ばれる
制御によって読取り/書込みヘッド要素を情報ストアデ
ィスクに対して整合させる。
実施例は更に、システム処理と診断操作と共にアクチ
ュエータ制御とスピンドルモータ制御の双方に対してシ
ングルチップとする解決方法を提供することさえ可能で
ある。コントローラ461に対して過重な負担を加えずに
精巧な機能を内蔵させることができる。コントローラ46
1内にはデジタルノッチフィルタを設けることによって
機械的共振を消去することができる。状態評価器は速度
と電流を評価することができる。カルマンフィルタはセ
ンサのノイズを低減する。適応制御によって温度の変動
と機械的振動を補償することができる。装置11は更に、
スピンドルモータ速度を制御するためにオンチップPWM
のパルス幅変調出力を提供する。テープドライブ、プリ
ンタ、ブロック、光ディスクシステムにおいても同様な
作用を組込むことが容易である。本発明のデジタル制御
によって高速でより正確な速度制御が得られると共に、
それと匹敵するコストでI/O技術内の高速アクセスを実
現することができるため当該技術水準を高めることがで
きる。
ミサイル誘導システムにおいては、本発明の操作能力
の向上によって、ミサイルシステムのより正確な誘導が
可能になり、作業目的を達成するために必要な高価なミ
サイルの数を低減することができる。更に、プロセッサ
チップが小数でも等しい性能を実現できるため、軽量と
なり特徴を豊かにペイロードを向上させることが可能に
なる。
第8図において、本発明の衛星テレコミュニケーショ
ンシステムは250ミリセカンドの遅れを伴う衛星伝送路
によって通信する第1のステーション501と503を備えて
いる。遠端電話505と近端電話507は、それぞれハイブリ
ッド509と511により地球ステーション501と511に接続さ
れる。ハイブリッド509と511は各地球ステーション501
と503に対して8ミリセカンド遅延させられる。従っ
て、遠端と近端の電話505、507間に満足のゆくテレコミ
ュニケーションを可能にするにはエコー消去が必要であ
る。更に、多数の電話会話回路を一時に供給する能力が
必要となる。これはテレコミュニケーション設備に対し
て極端な処理上の負担を課するものである。
第9図において、実施例のエコーキャンセラ515を511
の如き各ハイブリッドと関連させることによって通信回
路の送信を改善している。装置11はエコー消去アルゴリ
ズムを高速で実行すると共に、チップあたり衛星通信数
をより多く経済的に行えるようになっている。
もう一つのシステム実施例は改良されたモデムであ
る。第10図において、モデム送信機としてプログラミン
グされた装置11内の演算のプロセス線図はコーディング
ステップ527がその後に続くスクランブルステップ525を
含む。同ステップ525では補間手続529、531に対してそ
れぞれ直角デジタル信号I〔nTb〕とQ〔nTb〕が提供さ
れる。デジタル変調計算533と535では、補間された直角
信号と、それぞれ三角法のコサイン値とサイン値を与え
るリードオンリーメモリ(ROM)からの予めストアされ
た定数との乗算が行われる。変調信号はその後加算ステ
ップ537で加算される。装置11に接続されたD/A変換器は
ステップ539で変調信号をD/A変換する。係数G1による利
得制御がその後モデム伝送中に行われDAAに送られる。
第11図では、もう一つの装置11を使用するモデム受信
機がDAAからアナログ通信信号を受取る。A/D変換器521
は装置11を使用するデジタル信号プロセッサ向けに情報
をデジタル化する。高速のもくはデジタル変換は従来の
プロセッサの入力処理に対して重い負担を課す。DSP11
はオーバヘッドがゼロの割込みコンテキストを提供する
ことによってA/D521の如きデジタル化要素からの割込み
を極端に効率的に行うと同時に、モデムアルゴリズムを
実行するために強力なデジタル信号処理計算能力を備え
るようにすることが望ましい。装置11の出力は出力D
〔nT〕を供給する汎用同期非同期送受信機(USART)523
に供給される。
第12図において、第11図のシステムによるモデム受信
のプロセス線図は、サンプリング周波数fsでA/D変換を
行う信号s(t)を供給するDAAから受信直後に係数G2
により自動利得制御する操作を伴う。デジタル化信号は
S〔nTs〕であって、個々の自動利得制御が後続するデ
ジタルフィルタリングステップBPF1とBPF2はより行われ
る、第1は第2の帯域フィルタを伴うデジタル処理用に
供給される。復調アルゴリズムによって2個の復調信号
I′〔nTs〕とQ′〔nTs〕がつくりだされる。搬送波回
収用に使用されるこれら2個の信号I′とQ′とは復調
アルゴリズムに帰還される。同時に、I′とQ′とはデ
シジョンアルゴリズムに供給されるクロック回収に応じ
て処理される。デコーディングプロセス551はそのデシ
ジョンアルゴリズムに従う。デコーディング551の次に
はデスクランブルアルゴリズム55が続く。同アルゴリズ
ム55はPLU41による集中的なビット操作が伴い入力信号
d〔nT〕を回復する。
第12図に示すように、モデム受信アルゴリズムの数多
くのステップは集中的な多数の計算能力とPLU41により
提供されるビット操作とにより、単一のデジタル信号処
理装置11によって行うのが有利である。
第13図において、装置11を組込んだ計算装置561は、
インターフェース565を介してホストコンピュータ563と
共働する。高容量の外部メモリ563がインターフェース5
69によりコンピュータ561と境界を接している。コンピ
ュータ561は周辺ラッチ571と573を介して双方向パルス
符号変調(PCM)通信をサポートすることが有利であ
る。ラッチ571はシリアル/パラレル変換器575に連結さ
れ、外部装置577からのPCM通信を受信する。コンピュー
タ561は、ラッチ573とパラレル/シリアル装置579を介
して交信し、シリアルPCMデータの流れを外部装置577に
供給する。
第14図において、ビデオ画像システム601はROM603とR
AM605によりサポートされた装置11を備える。データ収
集センサ607.1〜607.nは、入力を変換器609に送り、後
者はその後、大量のデジタルデータを装置11に供給す
る。第14図は、ALU21の累算器23と、乗算器アレイ53
と、積レジスタ51とを強調したもので、ARAU123を含む
アドレス指定装置を有する。制御要素615は全体として
デコーダPLA221と第1A図のパイプラインコントローラ22
5を示したものである。オンチップI/O周辺装置(図示せ
ず)は並外れて高品質の出力をビデオ表示装置619は供
給するバス617と交信する。監視入出力I/O621も装置11
に設けられる。
装置11のアドレス指定能力が優れているため、命令に
よって積を積レジスタ51から直接アドレス指定回路123
へ転送し転送中に任意のメモリロケーションをバイパス
するための制御615が実行される。メモリマッピングの
ため、第1A図と第1B図の任意の対の計算コアレジスタが
アクセスされ、それらの図上のレジスタに至る矢印にか
かわりなく、データバス111Dを介してそれらの間でメモ
リバイパス転送を行うようにするのが有利である。装置
11の乗算能力がアドレス指定作用中で活用されるため
に、回路は少なくとも3つの次元によりメモリ内にアク
セスできるエントリーを有するようなアレイを電子メモ
リ605内に確立する。ビデオディスプレイ619は装置11に
よる多次元アレイ処理から発生する出力を表示する。メ
モリ605が多次元アレイ内に必ずしもある必要はなく、
アドレス指定が装置11によって迅速に実行され、情報が
要求に応じてあたかもそれぞれ多数アレイ次元を表わす
変数によって直接アクセス可能であるかの如くアクセス
できるようにすることはいうまでもない。例えば、アド
レス次元A1,A2,A3を有する3次元立体アレイは等式N2×
A3+N×A2+A1に従ってアドレス指定できるようにする
ことが適している。2次元アレイでアドレス指定目的に
は第1A図のレジスタ199からの索引カウントに従って単
純に反復加算するだけで十分である。然しながら、3次
元とそれ以上の次元を収納するには、同プロセスは乗算
器53の積能力を導入することによって相当迅速に処理す
ることができる。
第15図と第16図はそれぞれ本発明のビデオ処理装置の
機能指向性のハードウエアブロック指向線図を示す。こ
れらシステムに対するアプリケーションは新たなワーク
ステーション、コンピュータインターフェース、テレビ
製品、および高鮮明度テレビ(HDTV)製品を提供する。
第15図では、ホストコンピュータ631は装置11による
数値処理に対するデータ入力を提供する。ビデオピクセ
ル処理633の次にはメモリ制御処理635が続く。ビデオデ
ィスプレイのためのCRT制御機能637は数値処理639、ピ
クセル処理633およびメモリ制御635と調整されている。
メモリ制御635処理からの出力は、フレームバッファメ
モリ641に供給した後、シフトレジスタ643に供給され
る。フレームバッファメモリとシフトレジスタ641と643
は、テキサスインストルメンツ社のTMS4161により製作
することがふさわしい。もう一つのシフトレジスタ645
は、ビデオ情報をシフトレジスタ643からカラーパレッ
ト647へ供給する。カラーパレット647はCRT制御637によ
り制御されたディスプレイ649を駆動する。カラーパレ
ット647はTM34070が適当である。
第16図において、ホスト631はDSPマイクロコンピュー
タ653として動作する第1の装置へ信号を供給する。DSP
653はPROM、EPROM、SRAMのスタティックメモリを含むメ
モリ651によりサポートされる。制御、アドレス、デー
タに関する情報はGSP(図形信号プロセッサ)655として
動作するDSP653と第2の装置11間の双方向通信路によっ
て供給される。GSP655はカラーパレット647とディスプ
レイインターフェース657の双方を駆動する。インター
フェース657は更にカラーパレット657により駆動され
る。第16図の装置11とシステムは全体として所要機能に
ふさわしい適当なクロック速度で動作することが理解で
きる。装置11はミクロンおよびサブミクロン単位で製作
し、特定用途に対して必要とされる処理速度をサポート
するようにする。処理能力を増加させるための高鮮明度
テレビ装置は高いクロック速度を使用するだけでなく本
文に開示の回路を構造的に改善することによってもその
条件を満たすことができると考えられる。
第17図において、本発明の自動音声認識システムはマ
イク701を備え、その出力はサンプルホールド(S/H)回
路703によりサンプリングされた後A/D回路705によりデ
ジタル形に変換される。割込み駆動される高速フーリエ
変換プロセッサ707は装置11を使用し、マイク701からの
サンプリングされた時間領域入力を音の周波数スペクト
ルを表わすデジタル出力へ変換する。このプロセッサ70
7は、上述したように一部はオーバーヘッドゼロの割込
みコンテキスト切替特性、条件附命令、およびメモリア
ドレス空間内にマッピングされた補助アドレスレジスタ
のためにすこぶる効率的である。
プロセッサ707は、各スペクトルを、更にもう一つの
装置11を組込んだ音声認識DSP 709に提供する。音声認
識DSP709は現在既知の、もしくは後に開発される適当な
音声認識アルゴリズムを実行する。例えば、テンプレー
トマチングアルゴリズムでは、乗算、加算、最大最小決
定を伴う多数の計算が実行される。装置11はそのシリー
ズの最大/最小関数アーキテクチャーによってかかるア
ルゴリズムを迅速に実行するに適していることが理想的
である。音声認識DSP709は出力をシステムバス711に供
給する。ROM713とRAM715とは音声認識DSP709により提供
されるページ境界上のソフトウェア待機状態のためにシ
ステムを効率的にサポートする。音声認識DSP709に応答
する音声シンセサイザ717からの出力はラウドスピーカ
その他の適当なトランスジューサ719に供給される。
システムI/O721は、プリンタ、テープ、ハードディス
ク、等の文書作成装置723にダウンロードする。ビデオ
陰極管(CRT)ディスプレイ725は第15,16図に関して既
述したようにバス711から供給される。キーボード727は
時々、人間による監視入力をバス711に提供する。産業
上その他の音声認識プロセス制御用途において、もう一
つの装置11との制御インターフェース729はバス711に接
続され、今度は上記第2,3,4,5,6図のビット操作と原理
に従ってモータ、バルブ、その他のサーボ機械要素731
に対する出力を供給する。
音声認識にもとづくデジタルフィルタ補聴器において
は、音声認識DSP709から変換された音声はD/A変換器735
によりD/A変換されたラウドスピーカ737を経て出力され
る。同じブロックの鎖701、703、705、707、709、735、
737は、テレコミュニケーションにおいて、音声認識に
よるイコライジング、フィルタリング、帯域幅圧縮につ
いても適用できる。
先端音声処理システムでは、字句アクセスプロセッサ
739は音声認識DSP709の出力から導き出された音声要素
表示に対する記号操作を実行し、任意の適当な字句アク
セスアルゴリズムに従って節、単語、文章を作成する。
トップダウンプロセッサ741は、音声のあいまいさの
解決がある場合に入力音内に含まれる情報をしのぐとい
う原理に基づいてトップダウン処理アルゴリズムを実行
する。従って、光センサ743や圧力センサ745の如き非音
響センサが入力システム747に供給され、後者はその後
パタン認識プロセッサ749を割込み駆動する。プロセッ
サ749はシステムバス711を直接供給すると同時に、トッ
プダウンプロセッサ741をアクセスして、音声認識や、
パターン認識、人工知能用途を向上させる。
装置11は第17図の音声認識装置の全てのレベル、例え
ば、ブロック707、709、717、721、725、729、739、74
1、747、749において処理能力を著しく向上させる。
第18図は保安通信のための暗号を有するボコーダーモ
デムを示す。電話771は電話線773上で保安モードで交信
する。DSPマイクロコンピュータ773は電話771に接続さ
れてシリアルデータ773をブロック775に提供する。ブロ
ック775は区画777においてボコーダ関数を、ブロック78
1において暗号をデジタル化する。ブロック779と783に
おけるモデムアルゴリズム処理は第10図と第12図に関し
て上述した。ブロック783はシリアルデータをA/D、D/A
装置785間で送受する。装置785はアナログ通信をDAA787
に対して提供する。第1A図と第1B図の装置11の処理特性
が著しく向上するためにブロック775内に必要とされる
チップ数を少なくすることができ、そのため第18図によ
り装置のコストを低減することができる。場合によって
は装置11の著しい処理能力によってより先進的な暗号手
続を実行することが容易である場合もある。従って、第
18図においては、装置11の機能ブロックの各々の機能性
を向上させたり、小数のチップで従って全体の製作費が
より少なくしてそれと同等の機能性をもたせるように使
用することができる。
TMS320Clxユーザ便覧、TMS320C2Xユーザ便覧、および
第3世代TMD320ユーザ便覧においてテキサストンストル
メンツ社製のDSPが3つ述べられているが、その何れも
本文に参照用に組込まれている。同様にして、米国特許
第4,577,282号と第4,713,748号も本文中に組込んであ
る。
第19図は第1B図の並列論理装置41の動作を示す。並列
論理装置41(PLO)によってCPUが計算装置15内の累算器
の如きレジスタの何れにも影響を及ぼさずに、メモリ内
にストアされた値に対して直かに論理演算を実行するこ
とが可能になる。論理演算は1命令中の任意のビット数
をセットしたり、クリアしたりトグルしたりすることを
含む。PLUは2回の命令サイクルでリード−修飾−ライ
トの命令を実行する。殊に、PLU41はオンチップかオフ
チップの何れかのRAM25内のロケーションをアクセス
し、それに対してビット操作を実行した後、その結果を
データが得られたRAM内のロケーションに戻す。以上の
操作の全てにおいて、累算器は影響を受けない。積レジ
スタは影響を受けない。累算器バッファと積レジスタバ
ッファACCBとBPRは影響を受けない。従って、計算装置
を相当スローダウンさせるような時間のかかる演算はこ
の重要な並列論理装置PLU41を設けることによって回避
される。構造的には、PLUはその入力から出力まで直流
する論理であって、デコーダPLA221により制御され、PL
U41の論理内部の特定ゲートを割込み許可禁止して以下
に示す命令を実行する。
APL,K DBMRもしくは定数をデータメモリ値とAND演算
する。
CPL,K DBMRもしくは定数をデータメモリ値と比較す
る。
OPL,K DBMRもしは定数をデータメモリ値とOR演算す
る。
SPLK,K 長即値をデータメモリロケーションにストアす
る。
XPL,K DBMRもしくは定数をデータメモリ値とXOR演算
する。
ビット操作は1)1ビットセット、2)1ビットクリ
ア、3)1ビットトグル、4)1ビットをテストしそれ
に従って分岐する、操作を行う。またPLUはCPUレジスタ
もしくは状態ビットの何れの内容にも影響を及ぼさずに
これらビット操作処理をサポートする。また、PLUは長
即値を有するデータメモリロケーションに対して論理演
算を実行する。
第19図において、パートAはXの任意ビット数を有す
るメモリロケーションを示す。パートBにおいて、SPLK
命令によって1メモリワード内の任意のビット数を任意
のメモリロケーション内に書込むことができる。パート
Cにおいて、OPL命令によって1メモリワード内の任意
のビット数をワード中に他のビットに影響を及ぼさずに
1に設定することができる。パートDにおいて、APL命
令によって1メモリワード中の任意のビット数をワード
内の他のビットに影響を及ぼさずにゼロにクリアしたり
セットしたりすることができる。パートBにおいて、XP
L命令によって、1メモリワード内の任意のビット数を
そのワード内の他のビットに影響を及ぼさずにトグルす
ることができる。パートFにおいて、CPL命令はアドレ
ス指定されたメモリロケーションを修飾せずに所与のワ
ード(例えば16ビット)をアドレス指定されたメモリロ
ケーションと比較対照する。比較機能は特定のメモリロ
ケーション上での比較については非破壊的排他OR(XO
R)を見做すこともできる。もし比較によって所与のワ
ードがアドレス指定されたメモリワードと等しいことが
示されるならば、TCビットは1にセットされる。TCビッ
トは第1B図のレジスタ85内のST1レジスタのビット11で
ある。個々のビットのテストはBITとBITT命令によって
実行される。
構造的には、PLU命令の存在は第1A図のデコーダPLAと
PLU41の論理が特定の回路を含んでいることを意味す
る。種々のPLU命令が命令レジスタ(IR)内にロードさ
れると、それらはデコーダPLA221により信号に解読され
てPLU41の論理内のゲートを割込み許可禁止することに
よって命令が指示する処理が現実に実行される。
ビットパターンの動的な配置をサポートするために、
命令は長い即値を使用する代わりにレジスタ値について
メモリワードに対する基本的ビット演算を実行する。DB
MRはメモリマッピングされるが、そのことは構造的には
データアドレスバス111AからのDBMR223のアドレス指定
を可能にするデコーディング回路121(第1B図)が存在
することを意味する。添字Kを命令(例えばAPLK)につ
けて命令がDBMRの代わりに長い即値を演算中であること
を示す。添字(例えばAPL)が存在しないことは命令がD
BMRについて処理中であることを示す。DBMRの選択はパ
イプラインコントローラ225により制御されたパイプラ
インタイミングによってデコーダPLA221からその選択入
力が制御される第1B図のMUX225により実行される。
長即値は命令の一部としてプログラムデータバスから
到来する値である。“即値”とは値がプログラムデータ
バスから到来中であることを意味する。“長即値”とは
全ワード範囲の値が供給中であることを意味する。
長即値はリードオンリメモリ(ROM)から取得される
から変更できない場合が多い。然しながら、1命令シー
ケンスにおいて論理演算を変更できるようにすることが
望ましい場合には、ダイナミックビット操作用ビットレ
ジスタをその目的のために設ける。
PLU41によってデータメモリ空間内の任意のロケーシ
ョンに対して並列ビット処理を行うことができ。このこ
とによって、制御フィールドの集中的ビット処理の必要
条件を収納するすこぶる高能率のビット処理が可能にな
る。本発明のビット処理は他の用途の中でもエンジン制
御、サスペンション制御、アンチスキッド制御、プロセ
ス制御、等の自動車制御に容易に適用できる。ビット処
理はビットをオンオフすることによってリレーでオンオ
フに切替え、エンジンを始動させたり、スピードアップ
したり、サーボ制御でモータに対する利得段階を上昇さ
せたりすることによってソレノイドを閉じたり信号を強
化したりすることができる。先端的マイクロ制御アプリ
ケーションに必要とされる複雑な演算はビット処理によ
る競合なしに装置11に対して実行することができる。
ビット処理のアプリケーションは更にモデムにおける
スクランブルを含む。もし一定のビットパターンがモデ
ム内に十分の周波数や位相変化を供給することができな
いならば、フェーズクロックループとモデム受信機内に
搬送波を維持することは困難であるか不可能である。か
くして、モデム内のボークロックと搬送波フェーズロッ
クループはデジタルフィルタの各々に十分だが大きすぎ
ないエネルギーが存在するような形をとることになる。
スクランブリングはシリアルビットの流れに対してXOR
処理を行う。PLU41はこの処理をはなはだ効率的に実行
する。装置11の他のCPUレジスタはPLU処理には関係しな
いから、これらのレジスタはPLUがその命令を実行しよ
うとする場合にセーブする必要がない。スクランブル処
理の場合、データパターン内にXOR処理されるビットは
他のビットの関数であるから、任意の所与のボー期間内
に必要とされるXORを実際に実行するには1つ以上の処
理が必要となる。並行論理処理の場合、これらの操作は
レジスタ資源を使用せずに計算処理と平行して実行する
ことができる。
上記した如く、PLUは命令デコーダ221と共に、命令を
受取るためにプログラムバスに接続され命令の少なくと
も幾つかに従って論理演算を実行するためにデータバス
に接続されて論理回路の一例として作用する。上記論理
演算は電子計算装置とは独立にデータメモリロケーショ
ンの少なくとも一つに影響を及ぼし、累算器には及ぼさ
ない。命令の幾つかでは、論理演算は選択されたデータ
メモリロケーションにおけるデータワード内の他のビッ
トには影響を及ぼせずに、その選択データメモリロケー
ションのデータワード内の一つに特定ビットをセット、
クリア、トグルする操作を含む。
DBMR223の場合、PLU41がデータバスからデータを受取
るために接続された第1の入力と、データをデータバス
に送るための出力と、データバスもしくはプログラムバ
スの何れか一方から1ワードを受取るべく選択的に動作
可能な第2の入力とを備えるようにした改良論理回路が
更に一つ設けられている。マルチプレクサ225は選択的
に動作可能な要素として働く。例えば、任意のアドレス
指定可能なレジスタもしくはメモリロケーションの内容
はDBMRにストアできる。MUX275がDBMRを選択する時、PL
Uはセット、クリア、トグル等のDBMRに基づいた論理演
算によって修飾されたデータバス111Dから1ワードの内
容をデータバス111Bに送る。MUX275がプログラムデータ
バス101Dを選択する場合、論理演算が依拠する長即値定
数が選択される。
さて、割込み制御とコンテキスト切替えについて戻る
と、第20図は4つのインターフェース801、803、805、8
07を備えるDSP装置11を含むシステムを示す。セッサも
しくはトランスジューサからのアナログ信号はA/D変換
器809によってデジタル変換され、インターフェース801
を経てDSP11へ供給される。各々の変換が完了すると、
割込み信号INT1がA/D変換器809からDSP11へ供給され
る。DSP11はインターフェース803を経て内部SRAM811、R
OMとEPROM813および外部メモリ815によりサポートされ
る。DSP11の出力はインターフェース807を介してD/A変
換器817に供給され出力制御される。光ホストコンピュ
ータ819がDSP11の割込み入力INT2−に接続され、インタ
ーフェース805を介してデータを交信する。他の割込み
に基づくシステムは第4,6,11,14,17図に示す。
さて、割込みやその他のコンテキスト変更について装
置11の処理を論ずる。第1A図と第1B図について述べる
と、レジスタの幾つかは背景矩形により描かれる点に注
意されたい。これらレジスタはTREG195、TREG181、TREG
49、BPR185、PREG51、ACC23、ACCB31、INDX143、ARCR15
9、ST0、ST1、およびPMSTである。これらレジスタはそ
れらと関連する相補レジスタを称され、レジスタを備え
る。割込みその他のコンテキストの変更が生ずる毎に、
上記レジスタの全ては自動的に深度1のスタック上へ押
込まれる。割込みからの復帰もしくはコンテキスト変更
からの復帰が生ずると、同じレジスタが深度1のスタッ
クをポップアップすることによって自動的に回復され
る。
割込みサービスルーチンはコンテキストセーブもしく
はコンテキスト切替えに対するオーバヘッドがゼロで処
理されることが望ましい。このようにセーブされたレジ
スタは「戦略レジスタ」と称される。これらは割込みサ
ービスルーチン内でその代わりに任意の異なるレジスタ
を使用することに優先して使用されるレジスタである。
もしメモリに対するコンテキストのセーブがレジスタ
毎に行われ多数の戦略レジスタを保護する場合には、多
数の命令サイクルが消費されることになろう。更に、こ
れらのコンテキストのセーブ処理が行われる頻度比はア
プリケーションに依存する。第20図の100KHzのサンプリ
ング割合を有するアプリケーションの場合には、割込み
頻度は非常に高いため、割込みコンテキストのセーブオ
ーバヘッドのサイクルはオーバヘッド零と改良されず、
相当なものとなろう。実施例のオーバヘッド零のコンテ
キスト切替え特性を提供することによって、割込みサー
ビスルーチンのサイクルカウントは半分以下に減らすこ
とができる一方、同一の機能性を得ることができよう。
DSPの多重チャネルアプリケーションにおいては秒あた
り100,000オーダのサンプルで実行するか、1本のチャ
ネルを50KHz以上の如きすこぶる高いサンプリング周波
数で処理することが有利である。今述べたことはサブル
ーチン呼出し、機能呼出し、その他のコンテキスト切替
えにも適用できる。
割込みが行われると、状態レジスタが自動的に深度1
のスタック上にプッシュされる。この特長をサポートす
る際、割込みから復帰せよ(RETI)というもう一つの命
令が存在し、スタックを自動的にポップアップして主ル
ーチン状態を回復させるようになっている。また実施例
はもう一つの復帰命令(RETE)を有しており、グローバ
ル割込み許可ビットを自動的にセットして割込みを強化
する一方、状態スタックをポップアップする。割込み許
可による遅延復帰(RETED)と命名される命令は復帰後
に上記3つの命令がそれ自体割込まれる危険から保護さ
れる。
実施例はメモリ空間内にマッピングされる割込みフラ
ッグレジスタ(IFR)を備える。ユーザは能動割込みを
判断するためにソフトウェアポーリングすることによっ
てIFRを読取り、IFRに書込むことによって割込みをクリ
アすることができる。
オーバヘッドゼロのコンテキスト切替特徴が特に有益
であると思われるアプリケーションを若干以下に記す。
かくして改良ディスクドライブを高速に、より大きな加
速度と減速度と高速の読取り整合調節度でもって高度の
情報密度を収めることができるように製作することがで
きる。プロセッサはロボット工学においてより多くのフ
ィードバック点を提供することが可能である。モデムで
は、割込みのソフトウェアポーリングによってより低い
ビットエラー率を可能にすることができる。ボコーダは
それらをコーディングする際、より高い精度とより少な
いビットエラーをもつように製作できる。ミサイル誘導
システムはより正確な制御を備え、小数のプロセッサし
か要しない。デジタルセルラー電話も同様にして改良さ
れる。
オーバヘッドゼロのコンテキストセーブ特徴によっ
て、割込みが行われる時に戦略CPUレジスタ全体がセー
ブされ、何らの機械サイクルオーバヘッドなしにサービ
スルーチンから復帰後にそれらは復帰する。このため割
込みサービスルーチンは解放されず、割込まれたコード
に影響を与えずにCPU資源を全て使用することができ
る。
第21図は第1A、1B図の主題が第21図のCPUブロック1
3、15として示された装置11のブロック線図である。CPU
ブロックから破断された状態で一組のレジスタが示さ
れ、これらは上述のように深度1のスタックを有する戦
略レジスタである。
第21図は半導体チップのシステムアーキテクチャー全
体を論ずる上で有益である。一組の割込みトラップとベ
クトルロケーション821がプログラムメモリ空間内に存
在する。第1A,21図のプログラムメモリ61内の割込みル
ーチンが実行される場合、第21図の割込み制御論理231
によって第1A図のプログラムカウンタ93が割込みロケー
ション821内に適当なベクトルを以てロードされ適当な
割込みサービスルーチンに分岐される。2個のコアレジ
スタIFRとIMRとはそれぞれ割込みフラッグレジスタと割
込みマスクレジスタである。割込みフラッグレジスタ
は、どの特定の割込みが行われているかを表示する。割
込みマスクレジスタはCPUに対する割込みがそれらをマ
スキングすることによって割込み禁止される一組のビッ
トである。例えば、もし割込みINT2−,INT−1,INT0−の
中に実行中の割込みが存在するならば、IFR内には“1"
についてセットされる対応ビットが存在することになろ
う。フラッグは自動的にクリアされる割込みトラップを
取ることによってクリアされる。さもない場合は、1つ
を割込みクリアするそれぞれの割込みフラッグレジスタ
内にOR処理することによってクリアされる。実行中の割
込みフラッグ全体も1時にクリアすることができる。
プログラムバスとデータバス101、111は第21図で線図
状に組合わされており、周辺ポート831、833内で終結す
る。周辺ポート833は並列インターフェースを提供す
る。ポート831はTIに対するインターフェースと装置11
に対するシリアルポートを提供する。
第22,23,24図はオーバヘッド零の割込みコンテキスト
切替えを実行するための3つの代替的な回路を示す。戦
略レジスタは全て同時に並列にコンテキスト切替えされ
るため、1個のフリップフロップによるレジスタ全体の
表示は線図的手法によっていることを理解されたい。
第22,23図では上下レジスタはそれぞれ第1A,1B図の戦
略レジスタの各々の前景と背景の矩形を示す。第24図は
平行処理を明示するものである。
第22図において、主レジスタ851は、そのデータD入
力がMUX853により選択的に供給される。MUX853はレジス
タ851のD入力を選択的に並列データ回線Aか並列デー
タ回線Bの何れかに対して接続する。回線Bは相補レジ
スタ855のQ出力に接続される。主レジスタ851はそれぞ
れ相補レジスタ855の対応するD入力に接続される一組
のQ出力線を備える。
図示例において、矢印で示した回線Aの入力は、ALU2
1による計算結果を表わし、累算器23はレジスタ851と85
5を備える。累算器23として示した第22図の主レジスタ8
51の出力は例えば第1A図のポストスケーラ181に供給さ
れる。然しながら、レジスタ851は第1A図と第1B図に2
重矩形が示された戦略レジスタの各々に相当することが
求められるだけの回数反復されることを了解されたい。
第22図において、レジスタ851、855の各々は出力イネ
ーブル(OE)端子を備える。ORゲート857は主レジスタ8
51のクロック入力を供給する。ORゲート857はCPU WRIT
EとRETEの入力を有する。RETEはMUX853の選択入力と共
に相補レジスタ855のOE出力イネーブル端子も供給す
る。主レジスタ851はそのOE端子がORゲート859の出力に
接続され、その入力は割込み確認IACKとCPU READに接
続される。IACKは楕円で示すように相補レジスタ855と
その他の全ての相補レジスタにクロック信号を送る。動
作中、割込みからの復帰がない場合(RETEロー)、MUX8
53は主レジスタ851用の入力線Aを選択する。CPU WRIT
Eが生起するや主レジスタ851はCPUコアからの入力をそ
のD入力へ送る。CPUはORゲート859においてCPU READ
が生じOEを活動させると、レジスタ851の内容をアクセ
スする。
割込みが生じて装置11により確認されると(IACK)、
レジスタ851の出力Qがイネーブルとなり、相補レジス
タ855がクロッキングされるそのため、主レジスタ851の
Q出力がレジスタ855内にストアされる。割込みサービ
スルーチンが実行される時、入力線AはCPU WRITEによ
り主レジスタ851内にクロッキングされつづける。割込
みが完了すると、RETEはハイとなり、MUX853を切替え回
線Bを選択し相補レジスタ855の回線OEを活動させる。
同様にして、RETEはORゲート857を経てレジスタ851をク
ロッキングして転送を完了し主ルーチン情報を主レジス
タ851へ復帰させる。その後、割込みRETEからの復帰の
完了と共にRETEはローとなり、MUX853を介して主レジス
タ851を入力回線Aに接続しなおす。このようにして、
コンテキスト切替えはオーバヘッド零で完了する。
かくして、第22図は電子プロセッサに接続される第1
と第2のレジスタを示す。上記レジスタは一つの処理コ
ンテキスト(例えば割込みもしくはサブルーチン)に参
加し、一方、別の処理コンテキストからの情報をそこに
復帰するまで保持する。MUX853とゲート857、859は、処
理コンテキストに応じてレジスタの電子プロセッサ間で
の入出力動作を選択的に制御する働きをする第1と第2
のレジスタに接続されるコンテキスト切替回路の例を示
す。第1A図と第1B図のCPU13、15のコアの如き電子プロ
セッサは、割込みINT−の如きコンテキスト信号に応答
し、コンテキスト信号により識別される代替的な処理コ
ンテキスト中で動作することができる。第23図はオーバ
ヘッド零のコンテキスト切替に対するバンク切替方法を
示す。主レジスタ861と相補レジスタ863はそのD入力を
デマルチプレクサDMUX865に接続される。レジスタ861と
863のQ出力はMUX867の各入力に接続される。CPUコアか
らの入力はDMUX865に接続される。CPUコアへ復帰する出
力はMUXから提供される。MUX865と867からの両方の選択
線は割込みサービスルーチンISRが進行中にアクテイブ
となる回線に接続される。
このようにして、主ルーチン内でただ一つだけのレジ
スタ861が動作する。割込みサービスルーチン中に、レ
ジスタ863は動作し、一方レジスタ861はそこへ処理が復
帰することになる内容を保持する。また、一対のANDゲ
ート871と873もレジスタ861と863を活動させたり活動停
止させたりする働きを行う。CPU WRITEは各ANDゲート8
71と873の入力を修飾する。ANDゲート871と873の出力は
それぞれレジスタ863と861のクロック入力に接続され
る。ISRがローの主ルーチンでは、レジスタ873は修飾さ
れ、CPU WRITEはレジスタ861をクロッキングする。AND
ゲート871は主ルーチン内は割込禁止される。ISRが割込
み中にハイである場合、CPU WRITEは修飾ANDゲート871
を介してレジスタ863をクロッキングし、ANDゲート873
は割込禁止となる。
第24図において、2個のレジスタ881と883は共にD入
力がプロセッサ(例えばALU21)から同時に情報を受取
るべく接続される。上記レジスタはこのコンテキスト切
替構造の並行性を示すように線図内で明示的に反復され
ることによて、例えば、ALU21はレジスタ881と883の両
方のD入力を供給する。その際、レジスタ881と883は累
算器ACC23として作用するように図解してある。それに
応じて、例えば累算器23はレジスタ891と893を含むPレ
ジスタ51をフィードする。(レジスタ893は第1A図のBPR
185と混同すべきではない。)MUX895はその入力がそれ
ぞれレジスタ881と883のQ出力に接続される。MUX897は
その入力がそれぞれレジスタ891と893のQ出力に接続さ
れる。レジスタ881と891のクロック入力は電子可逆スイ
ッチ901のA出力に対して並列に接続される。レジスタ8
83と893のクロック入力は可逆スイッチ901のB出力に対
して並列に接続される。割込みハードウエア903は割込
み確認IACKに応答して割込みサービスルーチンが進行中
に能動ISR−Q−出力を発生する。割込みハードウエア9
03はフリップフロップ905のトグルT入力を駆動する。
フリップフロップ905のQ出力は共に戦略レジスタ全体
のMUXと共にスイッチ901の第2入力とMUX895と897の選
択入力に接続される。
CPU WRITE回線はスイッチ901のX入力とANDゲート90
7の入出に接続される。割込みハードウェア903のローの
能動ISR−出力はANDゲート907の第2入力に接続され
る。そのゲートの出力はスイッチ901のY入力に接続さ
れる。
動作中、リセットされたハイは、Q出力をハイにプル
しMUX895にレジスタ881を選択させるフリップフロップ9
05のセット入力を初期化する。同様にして、スイッチ90
1はその結果XをAに、YをBに接続する。主ルーチン
内では、ISR−は不能動ハイとなりANDゲート907を修飾
する。従って、CPU WRITE回線上の活動によって主ルー
チン内の全レジスタ881、883、891、893がクロッキング
される。このことは例えば、ALU21からの情報が一時に
レジスタ881と883内へクロッキングされ、乗算器53から
の情報が両レジスタ891に893内へクロッキングされるこ
とを意味する。
その後、例えば割込みサービスルーチンがコンテキス
ト変更されると共に、ISRはローとなり、ANDゲート907
は割込み禁止となる。その後、CPU WRITE活動によって
割込みルーチンのためにレジスタ881と891がクロッキン
グされつづけるが、レジスタ883と893はクロッキングさ
れることはない。そのため、不活動によって主ルーチン
の内容はこれら後者の2つのレジスタ内にストアされ
る。それ故、コンテキスト切替えはいささかのタイムオ
ーバヘッドもなく行われる。主ルーチンの如き原始テキ
ストに復帰すると共に、ISR−は再度ハイとなり、ANDゲ
ート907を割込み可能にする。ローからハイへの遷移に
よってフリップフロップ905がトグルされ、MUX895と897
が状態を変更しレジスタ883と893を自動的に選択する。
このことによって再び自動的なオーバヘッド零のコンテ
キスト切替えが行われる。フリップフロップ905がトグ
ルされるため、スイッチ901は状態を変更しXをBに、
YをAに接続する。その後、CPU WRITE上の活動によっ
て両方のフリップフロップが同時にクロッキングされ、
レジスタ883と893が能動レジスタとなる。更なる割込み
(ISR−ロー)によってレジスタ881と891が割込禁止と
なる一方、レジスタ883と893は能動状態にとどまる。か
くして、第24図において、主レジスタもしくは相補レジ
スタは存在せず、その代わりに数対のレジスタがこれら
の機能を共有することになる。
かくして、第24図は演算回路を割込み信号の発生まで
2個のレジスタの両方に接続するスイッチング回路を提
供する。上記回路はレジスタの一つが割込信号に応答し
て演算装置からの情報をそれ以上ストアすることを一時
禁止する。別言すれば、このコンテキストスイッチング
回路は第22図と第23図のそれと同様に、第1と第2のレ
ジスタを選択的にクロッキングする働きを行うものであ
る。第22図と第23図の回路と異なり、第24図の回路は、
共に、入力がプロセッサからの情報を同時に受取るよう
に接続された第1と第2のレジスタを備える。プロセッ
サは既に論じたようなプログラムカウンタを備え、プロ
グラムカウンタの断続性を伴う第1と第2のルーチンを
実行するためにこれらのレジスタに接続される。
第22−24図において、スタックは、事実上、一組のレ
ジスタと関連し、プロセッサは、タスクが第2ルーチン
に変更されるや、その複数のレジスタの内容をスタック
上にプッシュする働きを行う。同様にして、割込みから
復帰するや、プロセッサはスタックをポップアップして
第1のルーチンが実質上即時に再開できるようにする。
第2のルーチンは割込みサービスルーチンと、ソフトウ
ェアトラップと、サブルーチン、プロシージャ、関数そ
の他の任意のコンテキスト変更ルーチンとすることがで
きる。
第25図では、第24図の回路を動作させる方法がステッ
プ911内のフリップフロップ905のQ出力を初期化する。
ステップ913内ではフリップフロップ905のQ出力の状態
に応じて出力MUX895と897を動作させる処理が進行す
る。その後、デシジョンステップ915が内容が例えばISR
−信号に応じて切替えられるべきかどうかを判断する。
もし否であれば、ステップ917中の処理によって全レジ
スタ881、883、891,893がクロッキングされ、ステップ9
13へ復帰する。そこから処理はステップ915内でコンテ
キストの切替えが生ずるまで無限に続けられる。かかる
場合、分岐はステップ915からステップ919へ飛越し、MU
Xにより選択されたレジスタ(例えば895と897)のみを
クロッキングする。復帰が行われた場合、Qはフリップ
フロップ905でトグルし、そこから処理はステップ913へ
回帰して上記の如く無限に継続される。
第26図は2個の命令CRGTとCRLTの処理を記述するプロ
セス線図である。これら2つの命令は繰返し使用される
場合に最大値と最小値を容易に計算できる高速の大小比
較計算を伴う。処理はスタート981より開始され、CRGT
もしくはCRLT命令が存在するかどうかを判断するステッ
プに進む。存在すれば、処理はステップ985へ移行しALU
21ないし累算器23(第1A図)をストアする。その後、ス
テップ987において、ALUは第1A図のMUX77を介してACCB3
1の内容を選択する。ステップ989において、ALUは共働
して累算器23の内容をACCB31と比較演算し、減算によっ
て例えば演算差の符号を取得する。ステップ991におい
て、それぞれ命令CRGTもしくはCRLTに応じて大小何れか
の値を、比較の状態に従い、ACC23をACCB31にストアす
るかそうすることを省略するか何れかによってACCB31に
供給する。例えば、もしACC23がACCB31よりも大きな値
を有し、命令がCRGTであるならば、ACCはACCBにストア
され、さもなければストアされない。もしACC23がACCB
より小さな値を有し、命令がCRLTであれば、ACCはACCB
にストアされる。ACCBが既に所望値を保持する場合に
は、転送によってACCBをACCに書込む。次いで、テスト9
93によって一連の値が完全であるかどうかについて判断
する。もし否であれば、処理はステップ983に復帰す
る。もしステップ993においてその値が完全であれば、
処理はステップ995へ分岐してかくして計算された一連
の値の最大最小値をストアする。
一連の数字の最大値をスピーディに計算する能力は、
乗算器もしくは利得係数が最大値に基づいていてより効
果的に処理できるように入力信号の利得を上下させるよ
うにした自動利得制御系において殊に有益である。かか
る自動利得制御は、無線受信機、オーディオアンプ、モ
デム、およびPIDアルゴリズムの如きアルゴリズムを活
用する制御系においても使用される。PIDは比較例積分
微分帰還制御方式である。更にもう一つの用途はパター
ン認識である。例えば、音声認識装置において、予めス
トアされた音声パターンを進入するとデータと比較する
ことによる連続的な瞬断はテンプレート比較プロセス内
の最大値を見ることによって判断される。同様にして、
画像処理において、プロセッサによる辺縁検出によって
輝度と色彩の強さが解析される。その強さが上昇した後
突然下降すると、画像処理目的のために辺縁を示す最大
値が発見される。
このようにして、演算装置、命令デコーダ、累算器、
追加レジスタが組合わされる。上記追加レジスタは演算
装置に接続されることによって演算装置は第1の演算値
を累算器へ送り、その後、命令デコーダからのコマンド
に応じて追加レジスタの内容と累算器の内容の値の大小
の別をレジスタに供給する。
一定時間にわたって累算器に供給される一連の演算値
に対してコマンドを繰返し実行すると、レジスタに一連
の演算値のうちの最大もしくは最小値が供給される。
多くのリアルタイムシステムではできる限り少ない機
械サイクルで最大もしくは最小値を発見することは極め
て重要である。問題はアルゴリズムの一時的結果が現在
の最小もしくは最大値がストアされるデータメモリロケ
ーションのワード幅よりも大きなビット数を有する累算
器内にストアされる場合に複雑になる。更に、その問題
は条件のテストが分岐を必要とするような高度にパイプ
ライン化されたプロセッサによって複雑になる。両方の
場合とも余分の機械サイクルを使用する羽目になる。デ
ータ転送処理でアドレスを設定する際に余分の機械サイ
クルが消費される可能性がある。
然しながら、実施例の回路は累算器ACC23と同一のビ
ット幅を有する並列レジスタACCB31を備えている。最大
もしくは最小値の機能が実行されるとき、プロセッサは
累算器内の最終値を並行レジスタACCB内の値と比較し
て、もし最小値よりも小さいか最大値より大きければ、
命令に応じて、それは累算器の値を並列レジスタ上に書
き込むかあるいはその逆のことが行われる。これは全て
1回の機械サイクル内で1個の命令語で行われるため、
コード空間とプログラム実行時間を節約できる。同時に
メモリのアドレス指定処理も不要であって、ALU内の他
のレジスタには影響を及ぼさない。
以上の記載に関連して、以下の各項を開示する。
1. コンテキスト信号に応答して同コンテキスト信号に
より識別される代替的な処理コンテキスト内で動作する
電子プロセッサと、 上記電子プロセッサに接続され1つの処理コンテキス
トに参加すると共にもう一つの処理コンテキストからの
情報をそれに復帰するまで保持する第1と第2のレジス
タと、 上記第1と第2のレジスタに接続され処理コンテキス
トに応じて上記レジスタの電子プロセッサ間での入出力
処理を選択的に制御するコンテキスト切替回路と、 から成るデータ処理装置。
2. 上記コンテキスト切替回路が上記第1と第2のレジ
スタを選択的にクロッキングする働きを行う1項のデー
タ処理装置。
3. 上記第1のレジスタが、主レジスタとしてその後に
相補レジスタとして交互に作用すると共に、上記第1の
レジスタが主レジスタとして作用する時に上記第2のレ
ジスタがそれに応じて相補レジスタとして作用した後
に、上記第1のレジスタが相補レジスタとして作用する
時に主レジスタとして作用する1項のデータ処理装置。
4. 更に、電気モータと、 操作上上記電気モータと上記電子プロセッサに接続さ
れ、 デジタル信号が処理用に利用できることを示すコンテ
キスト信号と共に被処理デジタル信号を生成する手段
と、を備え、 上記電子プロセッサ手段が更にその動作に基づいて制
御信号を上記電気モータへ通信する出力周辺装置を備え
る1項の出力処理装置。
5. 更に、マイクロフォンと、 デジタル信号が処理用に利用可能であることを示すコ
ンテキスト信号と共に被処理音声を表わすデジタル信号
を生成するA/D変換手段と、 上記電子プロセッサに接続されフーリエ変換デジタル
信号処理に応じて音声認識処理を実行する音声認識プロ
セッサと、から成り、 上記電子プロセッサ手段がフーリエ変換デジタル信号
処理を実行するように適応される、1項のデータ処理手
段。
6. 更に、デジタル信号が処理用に利用可能なことを示
すコンテキスト信号と共に処理される通信チャネルを表
わすデジタル信号を生成するA/D変換手段と、 上記電子プロセッサに接続されデジタル信号処理に応
じて通信処理を実行する送受信機と、 を備え、 上記電子プロセッサがデジタルフィルタリングと、復
調と、デスクランブリングにおいてデジタル信号処理を
実行する、 第1項のデータ処理装置。
7. 命令デコーダと、 第1と第2の入力と出力を有する演算装置と、 上記演算装置の出力と第1入力間に接続された累算器
と、 上記累算器と演算装置の第2入力間に接続されたレジ
スタ、より成り、 上記演算装置が、上記累算器に対するデジタル値を計
算する手段と、その直後に上記レジスタからの第2入力
における値を命令デコーダのコマンドに応じて上記累算
器内のデジタル値と比較した後上記レジスタの内容の値
と上記累算器内のデジタル値の大小関係をコマンドに応
じて上記レジスタにストアする回路と、を備えるデータ
処理装置。
8. 一定時間にわたって上記累算器に対して供給される
一連の演算値の各々についてコマンドを反復実行してそ
のコマンドに応じて一連の演算値内の最小もしくは最大
値をレジスタに供給する第7項のデータ処理装置。
9. 上記比較ストア手段が減算モードで計算した後、上
記レジスタの内容と上記累算器内のデジタル値間の演算
差の符号に従ってストアする上記手段を動作させる手段
を備える第7項のデータ処理装置。
10. 更に、アナログからデジタル形へ変化するレベル
を有する信号を変換する変換回路と、 同信号の利得値をこのように計算された最大値の関数
として自動的に調節する乗算手段と、 から成り、 上記演算装置が上記変換回路に連結され、比較回路に
よって信号の最大値が計算される第7項のデータ処理装
置。
11. 更に、1パターンを表示する物理的入力に応じて
デジタル信号を生成するセンサと、 上記命令デコーダに接続され、 上記演算装置によって同パターンを認識すべく実行さ
れる命令を保持するプログラムメモリと、を備え、 上記演算装置が上記センサに接続され、計算回路がそ
れによって演算差と命令の型に応じて信号の最大もしく
は最小値を計算する、第7項のデータ処理装置。
12. データバスとプログラムバスと、 上記データバスに接続されデータメモリロケーション
を有するデータメモリと、 上記データバスに接続される電子計算装置と、上記電
子計算装置とデータバスに接続される累算器と、 命令を受取るための上記プログラムバスと上記データ
バスに接続され、命令の少なくとも幾つかに従って論理
処理を実行する論理手段と、 命令を上記プログラムバス上の論理手段と上記電子計
算装置に送る制御手段とを、備え、 論理演算が上記累算器には影響を及ぼさず、上記電子
計算装置とは独立に上記データメモリロケーションの少
なくとも一つのビットに影響を及ぼす、データ処理装置
を備える装置。
13. 上記データ処理装置の電気ビットにより規定され
る命令に応答する電子的自動車制御装置と、 上記データ処理装置から上記電子自動車制御装置に選
択ビットを供給するインターフェースと、 から成る第12項の装置。
14. 更に、1プロセスの状態に応答するプロセス制御
センサと、 上記データ処理装置の電気ビットにより規定される方
向に応答するプロセス制御要素と、から成り、 上記データ処理装置が上記センサに接続され選択され
たビットを上記プロセス制御要素に供給するインターフ
ェースを備える第12項の装置。
15. 更に、A/D変換とD/A変換を組合わせた電話回線に
接続するための変換回路を備え、 上記データ処理装置が上記変換回路に接続され電話と
接続され、スクランブルと変調の双方の動作可能なシン
グルチップより成り、上記論理回路が変調プロセスで処
理を行う上記電子計算装置と同時にスクランブルプロセ
スで処理を実行する、第12項の装置。
16. データ処理装置(11)はコンテキスト信号(INT)
に応答して同コンテキスト信号(INT)により識別され
る代替的な処理コンテキスト内で動作する電子プロセッ
サ(15)を備える。第1と第2のレジスタ(851、855)
は電子プロセッサ(15)に接続されて1つの処理コンテ
キストに参加すると共に別の処理コンテキストからの情
報をそれに復帰するまで保持する。コンテキストスイチ
ング回路(231、853、857)は第1と第2のレジスタ(8
51、855)に接続され、処理コンテキストに応じて電子
プロセッサ(15)間でレジスタの入出力処理を選択的に
制御する。他の装置、システム、方法も並行論理装置と
シリーズ最小/最大関数計算用の構成を伴ったものが開
示される。
【図面の簡単な説明】
第1A図と第1B図はシングル半導体チップ上に形成される
CPUもしくは中央処理装置を備える改良マイクロコンピ
ュータ装置の電気的ブロック線図の2つの反面図、 第2図は改良産業プロセスと保護目的制御システムのブ
ロック線図、 第3図は改良自動車装置の一部はそのまゝ描いた、一部
はブロック状の電気線図、 第4図は改良モータ制御装置の電気ブロック線図、 第5図はもう一つの改良モータ制御装置の電気ブロック
線図、 第6図は更にもう一つの改良モータ制御装置の電気ブロ
ック線図、 第7図は改良ロボット制御装置の電気ブロック線図、 第8図は改良衛星テレコミュニケーション装置の電気ブ
ロック線図、 第9図は第8図の装置の改良エコー消去装置の電気ブロ
ック線図、 第10図は改良モデム送信機の電気ブロック線図、 第11図は第10図の同様に改良モデム送信機のハードウェ
アブロックもしくはプロセスブロックを表示する電気ブ
ロック線図、 第12図は同様に改良モデム受信機のハードウェアブロッ
クもしくはプロセスブロックを表示する電気ブロック線
図、 第13図はPCM(パルス符号変調)通信用に接続されたホ
ストコンピュータとデジタル信号プロセッサを含む改良
装置の電気ブロック線図、 第14図は多次元アレイ処理を有する改良ビデオ画像装置
の電気ブロック線図、 第15図は同様に改良された図形、画像、ビデオ処理のた
めのハードウェアブロックもしくはプロセスブロックを
表わす電気線図、 第16図は改良された図形、画像、ビデオ処理用装置の電
気ブロック線図、 第17図は改良自動音声認識装置の電気ブロック線図、 第18図は暗号を有する改良ボコーダーモデム装置の電気
ブロック線頭、 第19図は情報ビットを保持し、第1B図の並行論理装置の
ビット処理を示す一連の7つの電気レジスタ図、 第20図はサンプリング高速度のデジタル信号処理用の改
良装置の電気ブロック線図、 第21図は第1A、第1B図のCPUを含む改良データ処理装置
のアーキテクチャーの電気ブロック線図、 第22図はオーバヘッドゼロの割込みコンテキスト切替用
回路の概略線図、 第23図はオーバヘッドゼロの割込みコンテキスト切替用
代替回路の概略線図、 第24図はオーバヘッドゼロの割込みコンテキスト切替用
代替回路の概略線図、 第25図は第24図の回路を動作させる方法のフローダイア
グラム、 第26図は第1A図と第1B図のデータ処理装置内の最大最小
値を自動的に計算するための命令を示すプロセスフロー
ダイアグラム。 11……データ処理装置、 15……電子プロセッサ、 INT……コンテキスト信号、 851、855……第1と第2のレジスタ、 231、853、857……テキスト処理コンテキスト。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フレデリック ブートー フランス国 06330 ロークフォール レパン セデックス 309 レ ジャル ダン デュシノドン(番地なし) (72)発明者 ジェイムズ エフ ホーランダー アメリカ合衆国 テキサス州 ダラス オーデリア 12516 アパートメント 101 (56)参考文献 特開 昭63−52241(JP,A) 特開 昭56−16248(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】論理演算装置; 前記論理演算装置に選択的に接続される累算器レジス
    タ; 前記論理演算装置からの情報を平行して入力し得るよう
    に前記累算器レジスタと平行して前記論理演算装置に選
    択的に接続される相当累算器レジスタ;及び 前記累算器レジスタ及び前記相当累算器レジスタに接続
    され、割り込みを示す切替信号入力を有し、かつ前記切
    替信号入力のセンスに応じて前記累算器レジスタ及び前
    記相当累算器レジスタの一つを前記論理演算装置に選択
    的に接続する切替回路を備えていることを特徴とするデ
    ータ処理装置。
JP11733690A 1989-05-04 1990-05-07 データ処理装置 Expired - Fee Related JP3173777B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US34760589A 1989-05-04 1989-05-04
US347596 1989-05-04
US347605 1989-05-04
US07/347,615 US5142677A (en) 1989-05-04 1989-05-04 Context switching devices, systems and methods
US07/347,596 US5072418A (en) 1989-05-04 1989-05-04 Series maxium/minimum function computing devices, systems and methods
US347615 1999-07-02

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP21557998A Division JPH1196020A (ja) 1989-05-04 1998-07-30 データ演算処理装置
JP21558098A Division JPH1196021A (ja) 1989-05-04 1998-07-30 数を表している二つの組の電気信号を比較する方法

Publications (2)

Publication Number Publication Date
JPH0363826A JPH0363826A (ja) 1991-03-19
JP3173777B2 true JP3173777B2 (ja) 2001-06-04

Family

ID=27407784

Family Applications (3)

Application Number Title Priority Date Filing Date
JP11733690A Expired - Fee Related JP3173777B2 (ja) 1989-05-04 1990-05-07 データ処理装置
JP21558098A Pending JPH1196021A (ja) 1989-05-04 1998-07-30 数を表している二つの組の電気信号を比較する方法
JP21557998A Pending JPH1196020A (ja) 1989-05-04 1998-07-30 データ演算処理装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP21558098A Pending JPH1196021A (ja) 1989-05-04 1998-07-30 数を表している二つの組の電気信号を比較する方法
JP21557998A Pending JPH1196020A (ja) 1989-05-04 1998-07-30 データ演算処理装置

Country Status (3)

Country Link
EP (4) EP0892344B1 (ja)
JP (3) JP3173777B2 (ja)
DE (4) DE69034028T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825770A (en) * 1996-06-06 1998-10-20 Northern Telecom Limited Multiple algorithm processing on a plurality of digital signal streams via context switching
US5909188A (en) * 1997-02-24 1999-06-01 Rosemont Inc. Process control transmitter with adaptive analog-to-digital converter
SE9803632D0 (sv) * 1998-10-22 1998-10-22 Ericsson Telefon Ab L M A processor
GB0307822D0 (en) * 2002-12-12 2003-05-07 Advanced Risc Mach Ltd Processing activity masking in a data processing system
US7979684B2 (en) * 2006-08-07 2011-07-12 Qualcomm Incorporated Method and context switch device for implementing design-for-testability functionality of latch-based register files
KR102549438B1 (ko) * 2016-09-27 2023-06-29 삼성전자주식회사 순차 회로, 이를 포함하는 스캔 체인 회로 및 집적 회로
WO2019129389A1 (en) * 2017-12-26 2019-07-04 Silicon Mobility Sas Flexible logic unit adapted for real-time task switching
CN112602054A (zh) 2018-08-31 2021-04-02 弗莱克斯-罗技克斯技术公司 乘法器累加器电路、用于乘法累加的逻辑瓦片架构和包括逻辑瓦片阵列的ic
US11194585B2 (en) 2019-03-25 2021-12-07 Flex Logix Technologies, Inc. Multiplier-accumulator circuitry having processing pipelines and methods of operating same
US11314504B2 (en) 2019-04-09 2022-04-26 Flex Logix Technologies, Inc. Multiplier-accumulator processing pipelines and processing component, and methods of operating same
US11288076B2 (en) 2019-09-13 2022-03-29 Flex Logix Technologies, Inc. IC including logic tile, having reconfigurable MAC pipeline, and reconfigurable memory
US11455368B2 (en) 2019-10-02 2022-09-27 Flex Logix Technologies, Inc. MAC processing pipeline having conversion circuitry, and methods of operating same
KR20210054632A (ko) 2019-11-05 2021-05-14 삼성디스플레이 주식회사 전자 장치
US11693625B2 (en) 2019-12-04 2023-07-04 Flex Logix Technologies, Inc. Logarithmic addition-accumulator circuitry, processing pipeline including same, and methods of operation
US11960856B1 (en) 2020-01-15 2024-04-16 Flex Logix Technologies, Inc. Multiplier-accumulator processing pipeline using filter weights having gaussian floating point data format
US11442881B2 (en) 2020-04-18 2022-09-13 Flex Logix Technologies, Inc. MAC processing pipelines, circuitry to control and configure same, and methods of operating same
US11604645B2 (en) 2020-07-22 2023-03-14 Flex Logix Technologies, Inc. MAC processing pipelines having programmable granularity, and methods of operating same

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3221309A (en) * 1961-08-10 1965-11-30 Scam Instr Corp Priority interrupt monitoring system
GB1426273A (en) * 1973-04-13 1976-02-25 Int Computers Ltd Data processing
FR2250449A5 (en) * 1973-10-31 1975-05-30 Honeywell Bull Soc Ind Protection system for data processor interruption - has double memory bank with each bank divided into two parts
JPS50120743A (ja) * 1974-03-08 1975-09-22
US4218739A (en) * 1976-10-28 1980-08-19 Honeywell Information Systems Inc. Data processing interrupt apparatus having selective suppression control
US4091445A (en) * 1977-01-18 1978-05-23 Honeywell Information Systems Inc. Program switching monitor
JPS5935451B2 (ja) * 1977-12-23 1984-08-29 富士通株式会社 汎用レジスタ・アクセス方式
US4287560A (en) * 1979-06-27 1981-09-01 Burroughs Corporation Dual mode microprocessor system
JPS5616248A (en) * 1979-07-17 1981-02-17 Matsushita Electric Ind Co Ltd Processing system for interruption
JPS5641577A (en) * 1979-09-11 1981-04-18 Nec Corp Stack register circuit
US4396979A (en) * 1980-05-30 1983-08-02 Fairchild Camera & Instrument Corporation Microprocessor with improved arithmetic logic unit data path
US4467444A (en) * 1980-08-01 1984-08-21 Advanced Micro Devices, Inc. Processor unit for microcomputer systems
US4434461A (en) * 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
US4403225A (en) * 1982-05-24 1983-09-06 Honeywell, Inc. Multistylus recording system
JPS58225443A (ja) * 1982-06-25 1983-12-27 Nec Corp 高速デ−タ処理装置
US4689739A (en) * 1983-03-28 1987-08-25 Xerox Corporation Method for providing priority interrupts in an electrophotographic machine
US4597053A (en) * 1983-07-01 1986-06-24 Codex Corporation Two-pass multiplier/accumulator circuit
JPS61122747A (ja) * 1984-11-14 1986-06-10 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション デ−タ処理装置
JPS6352241A (ja) * 1986-08-22 1988-03-05 Hitachi Ltd マイクロプロセツサ
EP0306891A3 (en) * 1987-09-11 1992-04-01 National Semiconductor Corporation Pipelined slave protocol for high performance cpu-fpu cluster

Also Published As

Publication number Publication date
JPH0363826A (ja) 1991-03-19
EP0884674B1 (en) 2003-04-16
EP0405726A3 (en) 1993-08-25
DE69033997T2 (de) 2003-04-30
DE69034059T2 (de) 2004-05-06
EP0892344A3 (en) 1999-02-10
JPH1196021A (ja) 1999-04-09
EP0405726B1 (en) 1999-03-03
EP0884673A2 (en) 1998-12-16
DE69034028T2 (de) 2003-10-09
EP0884673A3 (en) 1999-07-14
DE69033997D1 (de) 2002-09-26
DE69034059D1 (de) 2003-05-22
EP0884674A3 (en) 1999-07-28
DE69034028D1 (de) 2003-01-23
EP0884673B1 (en) 2002-12-11
DE69032964T2 (de) 1999-07-01
EP0405726A2 (en) 1991-01-02
EP0892344A2 (en) 1999-01-20
JPH1196020A (ja) 1999-04-09
EP0892344B1 (en) 2002-08-21
EP0884674A2 (en) 1998-12-16
DE69032964D1 (de) 1999-04-08

Similar Documents

Publication Publication Date Title
US6253307B1 (en) Data processing device with mask and status bits for selecting a set of status conditions
US5072418A (en) Series maxium/minimum function computing devices, systems and methods
US6134578A (en) Data processing device and method of operation with context switching
JP3173777B2 (ja) データ処理装置
US5155812A (en) Devices and method for generating and using systems, software waitstates on address boundaries in data processing
US5579218A (en) Devices and systems with parallel logic unit, and methods
US6986142B1 (en) Microphone/speaker system with context switching in processor
US6182203B1 (en) Microprocessor
US20050251638A1 (en) Devices, systems and methods for conditional instructions
US20050278512A1 (en) Context switching devices, systems and methods
US5829054A (en) Devices and systems with parallel logic unit operable on data memory locations
US5652910A (en) Devices and systems with conditional instructions
US5828577A (en) Devices and systems with protective terminal configuration, and methods

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090330

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees