JPH1196021A - 数を表している二つの組の電気信号を比較する方法 - Google Patents

数を表している二つの組の電気信号を比較する方法

Info

Publication number
JPH1196021A
JPH1196021A JP21558098A JP21558098A JPH1196021A JP H1196021 A JPH1196021 A JP H1196021A JP 21558098 A JP21558098 A JP 21558098A JP 21558098 A JP21558098 A JP 21558098A JP H1196021 A JPH1196021 A JP H1196021A
Authority
JP
Japan
Prior art keywords
register
data
bit
registers
processing
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.)
Pending
Application number
JP21558098A
Other languages
English (en)
Inventor
Enu Eirigu Piitaa
エヌ エイリグ ピーター
Buutoo Furederitsuku
ブートー フレデリック
Efu Hoorandaa Jieimuzu
エフ ホーランダー ジェイムズ
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH1196021A publication Critical patent/JPH1196021A/ja
Pending 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Hardware Redundancy (AREA)
  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 本発明は、数を表している電気信号の比較方
法を提供する。 【解決手段】 本発明の方法は、A)累算器に第1の組
の信号を記憶し、(B)レジスタに第2の組の信号を記
憶し、(C)論理演算装置で累算器及びレジスタからの
二つの組の信号を比較し、かつ(D)比較の結果に基づ
いて、レジスタに二つの組の信号の一つを記憶すること
により、数を表している二つの組の電気信号を比較す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置、および
それらを製作操作するための電子処理・制御装置ならび
に方法に関する。
【0002】
【従来の技術】マイクロプロセッサ装置はデジタルプロ
セッサ用の中央処理装置もしくはCPUであって、米国
特許第3,757,306号(発明者ガ.リーW.ブーン、
特許権者テキサスインストラメンツ社)に示すようにM
OS/LSI技術により製作された単一の半導体集積回
路もしくは“チップ" 内に格納されるのが普通である。
ブーン特許は並列ALU、データとアドレス用レジス
タ、命令レジスタ、および制御デコーダを含むシングル
チップ8ビットCPUを示し、上記部品は全てフォンノ
イマンアーキテクチャーを使用しデータ、アドレス、命
令用の双方向並列バスを使用して相互接続される。米国
特許第4,074,351号(発明者ガリーW.ブーン、ミ
カエルJ.コクラン、権利人テキサスインスルメンツ
社)は、4ビット並列ALUとその制御回路を備え、オ
ンチップROM(プログラム記憶用)とオンチップRA
M(データ記憶用)がハーバードアーキテクチャー形に
構成されたシングルチップ“マイクロコンピュータ" 型
装置を示している。マイクロプロセッサという用語は通
常、プログラムとデータの格納に外部メモリを使用する
装置を指し、一方マイクロコンピュータという用語はプ
ログラムとデータを格納するにオンチップROMとRA
Mを備えた装置を指すのが普通である。本発明を解説す
るに際して、“マイクロコンピュータ" という語は両方
の形式の装置を包含し、“マイクロプロセッサ" の方は
主としてオンチップROMのないマイクロコンピュータ
を指すものとする。然しながら、上記用語は当該技術分
野では互いに両用されることが多いため、本文中の解説
ではこれら用語の一方に代えて他方を使用する場合に本
発明の特徴を限定するものと考えるべきではない。
【0003】今日のマイクロコンピュータは、全体とし
て2つの類別即ち汎用マイクロプロセッサと専用マイク
ロコンピュータ/マイクロプロセッサに分類することが
できる。モトローラ社により製作されるM6020の如
き汎用マイクロプロセッサは広範囲のタスクの何れも実
現できるようにユーザがプログラミング可能なように設
計されているから、パソコンの如き装置内の中央処理装
置として使用されることが多い。かかる汎用マイクロプ
ロセッサは広範囲の演算論理機能に対しては優れた性能
を備えているが、かかる機能のうちの一つに特定して設
計もしくは適応させられていないことはいうまでもな
い。それと対照的に、専用マイクロコンピュータはユー
ザがそのためにマイクロコンピュータを使用しようとす
る所定の演算論理機能に対して性能を向上させるように
設計されている。マイクロコンピュータの一次的機能を
知ることによって、設計者は専用マイクロコンピュータ
による特定機能の性能が、使用者が作成したプログラム
にかかわりなく、汎用マイクロコンピュータによると同
一の機能性能を大きく上廻るようにマイクロコンピュー
タを構成することができる。
【0004】著しく向上した速度で専用マイクロコンピ
ュータで実行可能なかかる機能の一つはデジタル信号処
理であって、殊にデジタルフイルタの使用と高速フーリ
エ変換の実行に必要とされる計算である。かかる計算は
整数乗算、多重ビットシフト、乗加算の如き高次の反復
演算より構成されるために、専用マイクロコンピュータ
は、特にこれら反復機能に適応できるように構成するこ
とができる。かかる専用マイクロコンピュータの一つは
米国特許第4,577,282号(権利者テキサスインスト
ルメンツ社)に解説されているが、参考のため本文中に
組込んである。同特許における如くこれらの計算用にマ
イクロコンピュータを特殊な形で設計することによって
汎用マイクロコンピュータに比べて十分な性能の向上が
得られ、その結果、かかる専用マイクロコンピュータを
音声画像処理の如きリアルタイム用途に使用することが
可能になる。
【0005】デジタル信号処理分野ではその計算度が高
いために、メモリアクセス動作も幾分激しい。従って、
デジタル信号処理機能を実行するさいのマイクロコンピ
ュータの全体性能は単位時間あたりに実行される特定計
算数によって決定されるだけでなく、マイクロコンピュ
ータがシステムメモリからデータを検集し、同メモリに
対してデータを格納することの可能な速度によっても規
定される。上記米国特許第4,577,282号中に記載の
ものの如く、従来の専用マイクロコンピュータはハーバ
ードアーキテクチャーの修正バージョンを使用している
ため、データメモリに対するアクセスはプログラムメモ
リのアクセスから独立に、しかもそれと同時に行うこと
ができる。かかるアーキテクチャーがその性能を追加的
に向上させることはいうまでもない。
【0006】技術と市場の増加する需要は、今日、処理
装置、アプリケーションシステム、およびそれらの操作
と製造方法について更に一層の構造的ならびに処理上の
向上を望ましいものとしている。
【0007】
【発明が解決しようとする課題】全体として、本発明の
一形態はコンテキスト信号に応答しそのコンテキスト信
号により確認される代替的な処理コンテキスト内が動作
可能な電子プロセッサを含むデータ処理装置である。第
1と第2のレジスタが上記データ処理装置に接続される
ことによって一つの処理コンテキストに参加すると共
に、別の処理コンテキストからの情報をそこに復帰する
まで保持する。コンテキスト切換回路が上記第1と第2
のレジスタに接続され、処理コンテキストに応じて、レ
ジスタの電子プロセッサ間での入出力動作を選択的に制
御するようになっている。本発明のその他の形の装置、
システム、および方法も本文中に開示する。本発明の特
徴を成すと思われる新規な特徴は添附請求範囲中に提示
する。本発明の実施例と共にその他の特徴と利点は図面
と相俟って以下の詳細な説明より最も良く理解されるは
づである。
【0008】
【実施例】アーキテクチャ全体図はまづデジタル信号処
理装置11の望ましい実施例を示す。図1Aと図1Bの
デジタル信号処理装置はハーバード形アーキテクチャー
によるもので、プログラムとデータにつき、2つの別個
のメモリバス構造を維持することによって処理能を最大
にしてフルスピードで実行できるようにしてある。上記
2個の空間の間をデータを転送させる命令が含まれる。
装置11はプログラムアドレス指定回路13とプロセッ
サを備える電子計算回路15を有する。計算回路15
は、図1Bのデータメモリ25から取出されるか即値命
令から導出された16ビットワード、あるいは乗算器2
7の32ビットの結果を使用して演算する汎用演算装置
である。演算命令を実行する他に、ALU21はブール
演算を実行することができる。累算器23はALU21
からの出力を記憶し、通路29を介して第2の入力をA
LU21に提供する。累算器23は図においては32ビ
ット長であって上位ワード(31〜16ビット)と下位
ワード(15〜0ビット)に分割される。累算器の上下
位ワードをデータメモリ25内に記憶する命令が設けら
れる。累算器23が高速に一時記憶できるように、32
ビットの累算器バッファACCB31が存在する。
【0009】主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から来るか、MP
YK(乗算即値)命令ワードから即座に導き出されるか
の何れかである。
【0010】プログラムメモリ61はアドレス指定入力
でプログラムアドレスバス101Aに接続される。メモ
リ61はそのリード/ライト入出力でプログラムデータ
バス101Dに接続される。高速オンチップ乗算器27
によって装置11は畳み込み、相関化、フィルタリング
の如き基本的なDSP操作を効率的に実行することがで
きる。プロセッサのスケーリングシフタ65は、16ビ
ット入力がマルチプレクサ(MUX)73を介してデー
タバス111Dに接続され、32ビットの出力がマルチ
プレクサ77を介してALU21に接続されている。ス
ケーリングシフタ65は命令によりプログラミングされ
るかシフトカウントレジスタ(TREGI)81内に規
定されるように入力データ上に0〜16ビットの左移行
桁送りを行う。出力のLSB(最下位ビット)はゼロで
満たされ、MSB(最上位ビット)は図1Bの一組のレ
ジスタ85内の状態レジスタST1の符号拡張モードビ
ットSXMの状態に応じてゼロで満たすか符号拡張する
かすることができる。
【0011】桁送り能力を追加することによってプロセ
ッサ11は数値スケーリング、ビット抽出、拡張演算お
よび桁あふれを防止することができる。割込みとサブル
ーチン呼出し中にプログラムカウンタ93の内容をセー
ブするために8レベルに至るまでのハードウエアスタッ
ク91を設ける。プログラムカウンタ93はMUX95
を介してプログラムアドレスバス101Aもしくはプロ
グラムデータバス101Dからコンテキストの変化に対
して選択的にロードされる。PC93はアドレスバス1
01Aに書込まれるかスタック91上に押込まれる。割
込みが行われると、一定の戦略レジスタ(累算器23、
積レジスタ51、TREG049、TREG1、TRE
G2、そしてレジスタ113ではST0、ST1、PH
ST、ARCR、INDXおよびCMPR)が深部スタ
ック上へ押込まれ割込み復帰と共にポップアップされる
ことによって、オーバーヘッドがゲロで割込みコンテキ
ストが切替えられる。これらレジスタのコンテキストを
セーブする働きをする割込みはマスキング可能である。
【0012】図1Aと図1Bに示す機能をブロック線図
はプロセッサ内の主要ブロックとデータ経路を概略した
ものである。上記機能ブロックの詳細な以下に提示す
る。図1Aと図1Bに使用する記号の定義についてはテ
ーブルA−1の内部ハードウエアの要約を参照された
い。プロセッサアーキテクチャーは2つの対状の大きな
バスの周辺に構築される。(即ち、プログラムバス10
1Aと101D、およびデータバス111Aと111
D)プログラムバスはプログラムデータバス101D上
のプログラムメモリからの命令コードと即値オペランド
を担う。プログラムメモリ61に対するアドレスはプロ
グラムアドレスバス101A上に供給される。データバ
スはデータアドレスバス111Aとデータバス111D
を含む。後の方のバス111Dは中央演算装置(CAL
U)や補助レジスタファイル115やレジスタ85の如
き種々の要素をデータメモリ25に相互接続する。プロ
グラムバスとデータバス101、111は共にオンチッ
プデータメモリ25と内外部プログラムメモリ61から
のデータを1回のサイクルで乗算器に運び乗算/累算操
作を行うことができる。コアアドレスデコーダ121は
データアドレスバス111Aに接続され、レジスタ85
とその他の全てのアドレス指定可能なCPUコアレジス
タのアドレス指定を行う。
【0013】プロセッサ13、15は高次の並列性を備
えていて、例えば、データがCALU15により演算中
に演算が補助レジスタ演算(ARAU)123内で実行
される利点がある。かかる並行演算処理の結果、強力な
演算操作とピット操作の組が得られ、それらは全て単一
の機械サイクル内で実行される。プロセッサの内部のハ
ードウエアは1サイクル16×16ビットの乗算と、デ
ータ桁送り、およびアドレス操作を含んでいる。
【0014】テーブルA−1は内部ハードウエアの摘要
を示す。この摘要テーブルは、内部処理要素、レジス
タ、およびバスを備えるが、各機能群内でアルファベッ
ト化される。 テーブルA−1 内部ハードウエア 装置 記号 作用 累算器 ACC(32) 32ビット累算器でACCH(上部累算 ACCH(16) 器)とACCL(下部累算器)の2つの ACCL(16) 半分にアクセス可能。ALUの出力をス トアするために使用される。 累算器 累算器の32ビット内容を一時ストアす バッファ ACCB(32) るために使用されるレジスタ。 このレジスタはALUに戻る直接の経路 を備えているからACCと四則演算もし くは論理演算可能である。 演算装置 ALU 累算器に給電する2つの32ビットの入 力ポートと1つの32ビット出力ポート を有する32ビットの2の補数演算装置 。 補助 ARAU 補助、インデックスおよび比較レジスタ 演算装置 を入力として使用して間接アドレスを計 算するために使用される16ビットの無 符号演算装置。 補助 ARCR 間接アドレスを比較するための制約とし レジスタ て使用中使用される16ビットレジスタ (比較) 。 補助 AUXREGS 間接データアドレスポインタ、一時的格 レジスタ 納、もしくはARAUによる整数演算処 (ファイル) 理に使用される8個の16ビット補助レ ジスタ(AR0−AR1)を含むレジス タファイル。 補助 ARP 現在選択された補助レジスタに対するポ レジスタ インタとして使用される8ビットレジス ポインタ タ。 ブロック BRCR ブロックが反復される回数に対する限定 リピート として使用される16ビットメモリマッ カウンタ プカウンタレジスタ。 レジスタ ブロック PAER 反復中のコード区画の最終アドレスを含 リピート む16ビットメモリマッピングレジスタ カウンタ 。 レジスタ ブロック PASR 反復されるコード区画の開始アドレスを リピート 含む16ビットメモリマッピングレジス アドレス開始 タ。 レジスタ バス BIM データをデータバスとプログラムバス間 インターフェース でパスさせるために使用されるバッファ モジュール 付きインターフェース 中央 CALC ALU、乗算器、累算器、スケーリング 演算装置 シフタの集まり 円形バッファ CBCR 円形バッファをイネーブル/ディスエー 制御レジスタ ブルとし、どの補助レジスタが円形バッ ファにマッピングされるかを規定するた めに使用される8ビットレジスタ。 円形バッファ CBER1 円形バッファ最終アドレスを示す2個の 最終 16ビットレジスタ。CBER1とCB アドレス ER2は円形バッファ1と2にそれぞれ 関連する。 円形バッファ CBSR1 円形バッファ開始アドレスを示す2個の 開始 CBSR2 16ビットレジスタ。CBSR1/CB アドレス SR2は円形バッファ1と2をそれぞれ 関連している。 データ DATA データをルーティングさせるために使用 バス される16ビットバス。 データ DATA このブロックはコアと共に使用され特定 メモリ MEMORY のデバイス種類に規定されるデータメモ リをさす。データメモリ空間内でアクセ スされるオンチップとオフチップメモリ の双方をさす。 データメモリ DMA 1枚のデータページ内の即値相対アドレ アドレス スを格納する7ビットレジスタ。 即値レジスタ データメモリ DP(9) 現在ページのアドレスを含む9ビットレ ページ ジスタ。 ポインタ データページはそれぞれ128ワードで アドレス指定可能なデータメモリ空間の 512ページが得られる。(幾つかのロ ケーションが保留される) 連結データ DATA データメモリに対する直接アドレスを担 メモリアドレス ADDRESS う16ビットバスで、DPレジスタと命 バス 令のワクのLSBを連結したもの(DM A) ダイナミック DBMR PLUに対する入力として使用されるメ ビット操作 モリマッピングした16ビットレジスタ レジスタ 。 ダイナミック TREG2 BITT命令に対するダイナミックビッ ビットポインタ トポインタを保持する4ビットレジスタ 。 ダイナミック TREG1 ALUに対するデータ入力に対するダイ シフトカウント ナミック予備スケーリングシフトを保持 する5ビットレジスタ。 グローバル GREG(8) グローバルメモリ空間の大きさを割当て メモリ割合 るための8ビットのメモリマッピングレ レジスタ ジスタ。 割込 IFR(16) アイティブロー割込みをラッチするため クラッグ に使用される16ビットフラッグレジス レジスタ タ。IFRはメモリマッピングしたレジ スタである。 割込み IMR(16) 割込みをマッピングするために使用され マスク る16ビットのメモリマッピングレジス レジスタ タ。 マルチプレクサ MUX 1本のバスもしくは実行装置についてオ ペランドのソースを選択するために使用 されるバスマルチプレクサ。 MUXは命令を介して接続される。 乗算器 MULTRLIER 16×16ビットの並列乗算器。 周辺 PLU CALUレジスタの内容と干渉せずにデ 論理装置 ータロケーションに対して直接長い即値 オペランドもしくはDBMRの内容の何 れからかの論理操作を実行する16ビッ ト論理装置。 プリスケーラ COUNT プリスケーリング操作についてカウント カウントレジスタ 値を含む4ビットレジスタ。このレジス タはデータを予備スケーリングする際に 使用される時に命令もしくはダイナミッ クシフトの何れか一方よりロードされる 。 BITとBITT命令と相俟って命令の ダイナミックビットポインタからロード される。 積 PREG(32) 乗算器の積上保存するために使用される レジスタ 32ビット積レジスタ。 PREGの高低次ワードもSPH/SP L(アストアレジスタ高/低)命令を使 用して個々にアクセスすることができる 。 積 BPR(32) 積レジスタの一時格納用に使用される32 レジスタ ビットレジスタ。このレジスタはALU バッファ に対する直接入力することもできる。 プログラム PROGDATA 命令(およびMACとMACD命令に対 バス するデータ)をルーティングするために 使用される16ビットバス。 プログラム PC(16) プログラムメモリを順次アドレス指定す カウンタ るために使用される16ビットプログラ ムカウンタ。PCは常に実行される次の 命令のアドレスを含んでいる。PCの内 容はそれぞれの命令解読操作に続いて更 新される。 プログラム RROGRAM このブロックはコアと共に使用され特定 メモリ MEMORY のデバイス種類内に規定されるプログラ ムメモリを指す。プログラムメモリ空間 内でアクセスされるオンチップとオフチ ップメモリブロックの処方を指す。 プログラム PROG プログラムメモリアドレスを担う16ビ メモリ ADDRESS ットバス。 リアドレスバス 予備 PRESCALER ALU内に到来するデータをプリスケー スケーリング ルするために使用される0−16ビット シフタ の左バレルシフタ。多精度演算用にデー タを整合させるためにも使用される。こ のシフタはACCの0−16ビット右バ レルシフタとしても使用される。 ポスト POST− CALUから出てゆくスケールデータを スケーリング SCALER 後処理するために使用される0−7ビッ シフタ ト左バレルシフタ。 積 P−SCALER 固定点演算法を使用する際(乗算操作中 シフタ で取得される)余分の符号ビットを除去 するために使用される0,1,4ビット 左シフタ。積をスケールダウンして累算 プロセス中のオーバーフローを回避する ために使用される6ビット右シフタ。 リピート RPTC(16) 一命令の反復実行を制御するための8ビ カウンタ ットカウンタ。 スタック STACK 割込みと呼出し中にPCをストアするた めに使用される8×16ハードウエアス タック。ACCLとデータメモリ値もス タップからポップアップされたものの上 に押し込まれる。 状態 ST0,ST1, 状態ビットと制御ビットを含む3つの16 レジスタ PMST,CBCR ビット状態レジスタ。 一時 TREG0 乗算器用のオペランドを一時維持する16 被乗数 ビットレジスタ。 ブロック BMAR ブロックが移動するか乗算が累積する際 移動 にアドレス値を保持する16ビットレジ アドレスレジスタ スタ。 テーブルA−2 メモリマッピングレジスタ 名称 アドレス 説明 DEC HEX 0−3 0−3 保留 IMR 4 4 割込マスクレジスタ GREG 5 5 ブローバルメモリ割当レジスタ IFR 6 6 割込フラッグレジスタ PMST 7 7 プロセッサモード状態レジスタ RPTC 8 8 リピートカウンタレジスタ BRCR 9 9 ブロックリピートカウンタレジスタ PASR 10 A ブロックリピートプログラムアドレス開 始レジスタ PAER 11 B ブロックリピートプログラムアドレス終 了レジスタ TREG0 12 C 被乗数用一時レジスタ TREG1 13 D ダイナミックシフトカウント用一時レジ スタ TREG2 14 E ダイナミックビットテスト内のビットポ インタとして使用される一時レジスタ。 DBMR 15 F ダイナミックビット操作レジスタ AR0 16 10 補助レジスタ0 AR1 17 11 補助レジスタ1 AR2 18 12 補助レジスタ2 AR3 19 13 補助レジスタ3 AR4 20 14 補助レジスタ4 AR5 21 15 補助レジスタ5 AR6 22 16 補助レジスタ6 AR7 23 17 補助レジスタ7 INDX 24 18 インデックスレジスタ ARCR 25 19 補助レジスタ比較レジスタ CBSR1 26 1A 円形バッファ1開始アドレスレジスタ CBER1 27 1B 円形バッファ1最終アドレスレジスタ CBER2 28 1C 円形バッファ2開始アドレスレジスタ CBER2 29 1D 円形バッファ2最終アドレスレジスタ CBCR 30 1E 円形バッファ制御レジスタ BMAR 31 1F ブロック移動アドレスレジスタ。 プロセッサ13、15は全部で64Kワードのデータメ
モリ25をアドレス指定する。
【0015】データメモリ25は96Kデータメモリ空
間内にマッピングされ、オンチッププログラムメモリが
64Kプログラムメモリ空間内にマッピングされる。1
6ビットデータアドレスバス111Aは次の2つの方法
の1つでデータメモリ25のアドレス指定を行う。 1)直接アドレス指定モード(例えばADD 010
h)を使用する直接アドレスバス(DAB)によって、 2)間接アドレスモード(例えばADD* )を使用する
補助レジスタファイルバス(AFB)によって、 3)オペランドは即値アドレス指定モードによりプログ
ラムカウンタの内容によってもアドレス指定される。
【0016】直接アドレス指定モードでは、9ビットの
データメモリページポインタ(DP)125が512
(128ワード)ページのうちの1つを指示する。MU
X126はコマンドによってDPポインタレジスタ部分
125のバス101Dもしくは111Dの何れかを選択
する。命令の7つのLSB127によりプログラムデー
タバス101Dから指定されたデータメモリアドレス
(dma)はページ内の所望ワードを指示する。DAB
上のアドレスは9ビットDPを7ビットdmaと連結す
ることによって形成される。MUX129はコマンドに
よってARAU123出力か連結(DP,dma)出力
の何れかをデータアドレスバス111Aに選択的に供給
する。間接アドレスモードにおいては、レジスタ115
内の現在選択された16ビット補助レジスタAR(AR
P)がAFBを介してデータメモリをアドレス指定す
る。選択された補助レジスタがデータメモリアドレスを
提供し、データがCALU15により操作中に、補助レ
ジスタの内容はARAU123を介して操作される。
【0017】データメモリアドレスマップは、グローバ
ルメモリインターフェースを介して追加32Kワード内
でページングすることによって16ビットアドレスバス
の64ワードアドレスリーチを超えて拡張することがで
きる。GREGレジスタを適当な値でロードすることに
よって、最高位アドレスからスタートし下降するローカ
ルデータメモリ上に追加的なメモリをオーバレイするこ
とができる。この追加メモリはアクティブローのBR−
ピンによってローカルメモリから区別される。即値オペ
ランドを使用する場合には、命令語自体内か、16ビッ
ト即値オペランドの場合には、その命令語に続くワード
内の何れかに格納する。補助レジスタ115内の8個の
補助レジスタ(AR0−AR7)はデータメモリ25を
間接的にアドレス指定するか一時的にデータをストアす
るために使用される。間接補助レジスタアドレス指定に
よって、命令オペランドのデータメモリアドレスを補助
レジスタの一つに配置することができる。これらのレジ
スタはそれぞれAR0〜AR7と命名した0〜7の値を
ロードされる3ビット補助レジスタポインタ(ARP)
によって指示される。MUX144は入力がデータバス
111Dはプログラムデータバス101Dに接続され
る。MUX144は命令によって操作され2本のバス1
11Dと101Dのうちの一つからARP141の値を
得るようになっている。補助レジスタ115とARP1
41はデータメモリ25、累算器23、積レジスタ51
からか、命令内に規定された即値オペランドの何れかに
よってロードすることができる。これらのレジスタの内
容もデータメモリ25内にストアされるか主CPUに対
する入力として使用することができる。
【0018】補助レジスタファイル(AR0−AR7)
115は図1Bに示す補助レジスタ演算装置(ARA
U)に接続される。ARAU132はレジスタ115内
の現在補助レジスタをオートインデックスする一方、デ
ータメモリロケーションをアドレス指定することができ
る。+/−かインデックスレジスタ143の内容によっ
て索引付けすることができる。その結果、列もしくは行
によって情報テーブルをアクセスするにはアドレス操作
用の中央演算装置(CALU)を要しないから、それを
他の操作用に解放することができる。インデックスレジ
スタ143もしくは命令レジスタIRの8個のLSBは
MUX145を介してARAU123の入力の一つに選
択的に接続される。ARAU123の他の入力はMUX
147によって現在補助レジスタAR(ARPにより指
示される)から供給される。
【0019】上述の如く、中央演算装置(CALU)1
5は、16ビットのプリスケーラスケーリングシフタ6
5と、16×16ビットの並列乗算器27と、32ビッ
ト演算装置(ALU)21と、32ビット累算器(AC
C)23と、追加的なシフタ169、181(累算器2
3と乗算器27の両方の出力部)を含む。この部分はC
ALU部品とその機能を記述したものである。次のステ
ップが典型的なALU命令の実行の際に行われる。 1)データがデータバス上のRAM25から取出され
る。 2)データはスケーリングシフタ65と演算が実行され
るALU21を通過する。 3)その結果は乗算器23内へ移される。
【0020】ALU21に対する1入力が累算器23か
ら提供され他方の入力は乗算器27の積レジスタ(PR
EG)51、積レジスタバッファ(BPR)185、累
算器バッファ(ACCB)31からか、データメモリ2
5もしくは累算器23からロードされるスケーリングシ
フタ65と181から選択される。スケーリングシフタ
65は16ビット入力がMUX73を介してデータバス
111Dに接続され、32ビット出力がMUX77を介
してALU21へ接続されることが有利である。スケー
リングシフタプリスケーラ65はCOUNTレジスタ1
99をロードすることによってプログラミングされるよ
うに、入力データ上に0〜16ビットの左桁送りを行
う。桁送りカウントは命令語内に埋込まれた定数かレジ
スタTREG1内の値によって指定される。プリスケー
ラ65の出力のLSBはゼロで満たされ、MSBは状態
レジスタST1のSXM(符号拡張モード)ビット内に
プログラミングされた状態に応じてゼロで満たされるか
符号拡張することができる。
【0021】同じシフタ65はMUX73を介して累算
器23からのもう一つの入力路を備えている。この入力
路を使用する際、シフタ65は0〜16ビットの右シフ
タとして働く。このためACCの内容を1サイクルで0
〜16ビット右へ桁送りすることができる。シフトアウ
トしたビットは失われ、シフトインビットはゼロである
かSXM状態ビットの値に応じて原始符号ビットのコピ
ーの何れかである。種々のシフタ65、169、および
181は数値スケーリング、ビット抽出、拡張精度演
算、およびオーバフローの防止を可能にする。32ビッ
トのALU21と累算器23は広範囲の演算機能を実行
し、その多数は1回のクロックサイクルで実行すること
が望ましい。一たんALU21内で演算が実行される
と、その結果は累算器に転送され、そこで桁送り等の追
加的な演算が行われる。ALUに入力されるデータはス
ケーリングシフタ181によってスケーリングすること
ができる。
【0022】ALU21はデータRAMから取り出され
るか即値命令から導き出された16ビットワードについ
て演算する汎用演算装置である。通常の演算命令の他
に、ALUはブール演算さえ実行可能である。上記した
如く、ALUに対する1入力は累算器23から提供さ
れ、他入力はMUX77により選択的に供給される。M
UX77は累算器バッファ(ACCB)31を選択する
か、2次的にスケーリングシフタ65の出力(データR
AMもしくはACCから読出される)か、3次的に積ス
ケーラ169の出力を選択する。積スケーラ169はM
UX191により供給される。MUX191は積レジス
タPREG51が、積レジスタバッファ185をスケー
ラ169として選択する。32ビット累算器23は2つ
の16ビットを画に分割され、データバス111Dをす
ててデータメモリ25へ格納する。累算器出力部のシフ
タ181は0〜7桁の左シフトを行う。このシフトはデ
ータがデータバス111Dへ転送されて格納中に実行さ
れる。累算器23の内容は不変のままである。累算器2
3の上位ワード(16−31ワード)に対してポストス
ケーリングシフタ181が使用される場合、MSBは失
われLSBは下位ワード(10−15)からシフトイン
したビットで満される。ポストスケーリングシフタ18
1が下位ワードについて使用される場合、LSBはゼロ
で満たされる。大きなダイナミックなレンジを要する用
途に対しては浮動小数点演算が設けられる。NORM
(正規化)命令は左シフトを実行することによって累算
器21内に含まれる固定少数点数を正規化するために使
用される。一時レジスタTREG181の4ビットは、
LACT/ADDT/SUBT(シフトがTREG1に
より指定された累算器からのロード/加算/減算)のた
めにスケーリングシフタ65内の可変シフトを規定す
る。これらの命令は数がデノーマライズされる必要があ
る、即ち浮動小数点から固定小数点へと変換される必要
がある浮動小数点演算に有効である。それらは、同様に
して、フイルタ内へ移行する自動利得制御(AGC)の
実行の如きアプリケーションにも有効である。BITT
(ビットテスト)命令は一時レジスタTREG2195
の4つのLSB内に含まれた値に基づいてデータメモリ
の1ワードの1ビットをテストする。
【0023】レジスタTREG1とTREG2はデータ
バス111Dにより供給される。MUX197はTRE
G1、TREG2から、もしくはプログラムデータバス
101Dからの値を選択し、それらの一つをCOUNT
レジスタ199に送る。COUNTレジスタ199はス
ケーリングシフタ65に接続され、シフタの値を判断す
る。累算器23の1サイクルの0−16ビットの右シフ
トによって累算器を効率的に整合させて多精度の演算を
行うことができる。これは累算器上の32ビット一時バ
ッファACCBと積レジスタ上のBPRと一緒になって
多精度演算におけるCALUの有効性を向上させる。累
算器のバッファレジスタ(ACCB)は累算器を高速に
セーブするための一時的格納場所を提供する。ACCB
はALUに対する入力としても使用することができる。
ACCとACCBは互いにストアしあうことができる。
ACCBの内容はACCに対してALUによってACC
B(もしくはACCとACCBの双方)内にストアされ
た大小の値と比較してパターン認識アルゴリズムに使用
することができる。例えば、数字ストリング内の最大も
しくは最小値はACCBとACCの内容どうしを比較
し、もしその条件が満足されれば、その後最小もしくは
最大値を一つもしくは両方のレジスタ内に入力すること
によって発見することが有利である。積レジスタバッフ
ァ(BPR)は積レジスタを高速セーブするための一時
格納場所を提供する。BPR内にストアされた値は設け
られたシフタ169に対するシフトが指定された累算器
に対して加算したり減算したりすることもできる。
【0024】システムの制御はプログラムカウンタ9
3、ハードウエアスタック91、PC関連ハードウエ
ア、外部リセット信号RS−、割込制御231に対する
割込み、状態レジスタ、リピートカウンタによって行
う。以下の節はシステム制御とパイプライン演算におけ
るこれら部品の各々の作用を説明したものである。プロ
セッサは16ビットプログラムカウンタ(PO)93を
備え、8深度ハードウエアスタック91はPCをストア
する。プログラムカウンタ93は読出し命令において内
外部プログラムメモリ61のアドレス指定を行う。スタ
ック91は割込みとサブルーチン中に使用される。プロ
グラムカウンタ93はプログラムアドレスバス(PA
B)101Aを介してオンチップかオフチップかのプロ
グラムメモリ61のアドレス指定を行う。PABを経
て、一命令がプログラムメモリ61内でアドレス指定さ
れ、プログラムデータバス101Dを介してデータPL
A221用の命令レジスタ(IR)内へロードされる。
IRがロードされると、PC93は次の命令読出しサイ
クルを開始する態勢に入る。デューダPLA(プログラ
マブル論理アレイ)221はプロセッサ命令集会内の命
令を事項するためにMUXと全てプロセッサ要素を制御
するための出力を多数備えている。例えば、デコーダP
LA221はコマンド信号をパイプラインコントローラ
225に送る。後者はパイプライン化された処理演算を
実行するための種々の出力も備えていて、プロセッサ要
素は時間調整されるようになっている。パイプラインコ
ントローラ225の出力はCALL、RETCリター
ン)、IAQ(割込取得)およびIACK(割込み確
認)も含む。
【0025】デーダメモリ25はBLKD命令中にプロ
グラムカウンタ93によりアドレス指定される。プログ
ラムカウンタ93はデータブロックをデータメモリの一
区画から別の区画へ移動させる。累算器23の内容は
“計算された飛越し" 演算を実行するためにPC93内
にロードすることができる。これはBACC(累算器内
のアドレスに対する分岐)もしくはCALA(サブルー
チン間接呼出し)命令を使用して実行することができ
る。新たな読取りサイクルを実行するにはPC93をP
C+1もしくは分岐アドレス(分岐、呼出し、割込みの
如き命令の場合)の何れかをロードする。分岐が行われ
ない特別の条件分岐の場合には、PCは分岐即値のロケ
ーションを越えてもう一度増分する。条件分岐の場合に
は、プロセッサは条件呼出しとリターンの全補数を有す
る。
【0026】プロセッサ13、15は4深度パイプライ
ンによって演算する。図1Bの周辺論理装置(PLU)
は制御/状態レジスタもしくは任意のデータメモリロケ
ーション内の多重ビットを直接セット、クリア、トグ
ル、もしくはテストするために使用される。PLUは累
算器もしくは積レジスタの内容に影響を与えずにデータ
メモリ値に対する直接論理経路を提供する。同PLUは
レジスタ内の多重制御ビットをセットもしくはクリアし
たりフラッグレジスタ内の多重ビットをテストしたりす
るために使用される。PLU41はデータバス111D
を介してデータメモリ空間からオペランドを一つ取出
し、第2のオペランドをMUX225を介してプログラ
ムバス101D上の長い即値もしくはDBMR(ダイナ
ミックビット操作レジスタ)223の何れからか取出す
ことによって演算する。
【0027】DBMRは先にデータバス111Dからロ
ードされる。その後、PLUは2個のオペランド上の命
令によって規定されるその論理演算を実行する。最後
に、その結果はデータバス111Dを介して第1のオペ
ランドが取出された同じデータロケーションへ書込まれ
る。PLUはデータメモリ空間内の任意のロケーション
内でビットを直接操作することを可能にする。この直接
的なビット操作は16ビット長の即値をあるデータロケ
ーションに対してAND,OR,XOR処理もしくはロ
ードすることによって処理される。例えば、CBCR
(円形バッファ制御レジスタ)を初期化して円形バッフ
ァ1に対してはAR1を、円形バッファ2に対してはA
R2を使用し、しかもそれら円形バッファを割込み可能
としないためには、SPLK 021h,CBCR(周
辺長即値をストアする)を実行する。
【0028】後に円形バッファ1と2を後に割込み可能
とするにはOPLK 088h,CBCR(ビット7と
ビット3をCBCRにセットする) 特定レジスタもしくはデータワード内の個々のビットを
テストするためにはやはりBIT命令を介して行われる
が、1データワードはCPLK(周長即値を比較せよ)
命令により特定パターンに対してテストすることができ
る。もしデータ値が長い即値と等しければ、TCビット
は1にセットされる。もし任意のPLU命令の結果がゼ
ロであれば、TCビットがセットされる。ビットのセッ
ト、クリア、トグル機能は長即値の代わりに、16ビッ
トダイナミックレジスタDBMR値によっても実行でき
る。これはXPL(データに対するXOR DBMRレ
ジスタ);OPLCデータに対するOR DBMRレジ
スタ)およびAPL(データに対するAND DBMR
レジスタ)の3個の命令によって行われる。
【0029】プロセッサはプロセッサに割込む外部装置
に対して利用可能な16のマスキング可能なユーザ外部
割込みCINT16−INT1)を有する。内部割込み
はシリアルポート(RINTとXINT)、タイマ(T
INT)、パリティチェッカー(PNTLとPNT
H)、およびソフトウエア割込み(TRAP)命令によ
って発生する。割込みは最優先順位を有するリセット
(RS−)と最低優先順位を有するINT15によって
優先順位をつけられる。割込み制御ブロック231はプ
ログラムデータバス101Dを供給する。テーブルA−
5には内外部割込み全体についてのベクトル位置と優先
順位が示されている。ソフトウエア割込みについて使用
されるTRAP命令は優先順位がつけられないが、固有
のベクトル配置を有するためここに含ませておく。それ
ぞれの割込みアドレスは2つのロケーションによって隔
てられ、分岐命令がそれらロケーション内に格納できる
ようになっている。
【0030】 テーブルA−5 割込みロケーションと優先順 名称 ロケーション 優先順位 作用 外部 図1Bでは、バスインターフェースモジュールBIM2
41がデータバス111Dとプログラムデータバス10
1D間に接続される。BIM241はコマンドによって
データをバス101Dと111D間で転送することを可
能ならしめ、古典的なハーバードアーキテクチャかフォ
ン/イマンアーキテクチャの何れかと比較されるシステ
ムの構造上の柔軟性を大きくする。処理装置と部品回路
を含み、プロセッサ13、15に対する改良によって可
能になる本発明のシステムを以下に論ずる。汎用デジタ
ル信号処理用途の場合、これらのシステムはコンボリュ
ーション、相関化、ヒルベルト変換、高速フーリエ変
換、適応フィルタリング、ウィンドウイング、および波
形生成を実行するようにすることが有利である。ある場
合には丁度列挙したばかりの一般的アルゴリズムを伴う
その他のアプリケーションとしてはボイスメール、音声
ボコーディング、音声認識、話者確認、音声向上、音声
合成ならびに音声テキストシステムがある。
【0031】本発明による計測によって本発明が適当に
活用できる用途においてスペクトル解析器、関数発生
器、パタニンマッチングシステム、サイスミック処理シ
ステム、過渡分析システム、デジタルフィルタ、および
位相ロックループの向上が実現される。本発明による自
動制御システムによって、エンジン制御、振動分析、ス
キッドのないブレーキング制御、応答乗車制御、音声コ
マンド、自動変速制御が好適に実現される。航海、飛
行、軍事分野では本発明システムは改善されたグローバ
ル位置決めシステム、プロセッサ支援航海システム、レ
ーダ追跡システム、プラットホーム安定化システム、ミ
サイル誘導システム、安全通信システム、レーダ処理そ
の他の処理システムが提供される。
【0032】本発明によるシステムは更に、全体として
コンピュータディスクドライブモータコントローラ、プ
リンタ、プロッタ、光ディスクコントローラ、サーボ機
械制御システム、ロボット制御システム、レーザプリン
タ制御およびモータ制御システムを提供することができ
る。これらの制御システムの幾らかはロボットコントロ
ーラ、自動組立装置、検査装置、産業駆動装置、数値制
御器、コンピュータ化された電動工具、機密保護アクセ
スシステム、および電力線モニタの如き産業環境に使用
することができる。本文中に開示の原理によって想定さ
れるテレコミュニケーション発明は反響消去装置、AD
PCMトランスコーダ、デジタルPBX、回線中継器、
回線マルチプレクサ、モデム、適当イコライザ、DTM
FエンコーダとDTMFデコーダ、データ暗号化装置、
デジタルラジオ、セルラー電話、ファクシミリ、ラウド
スピーカ電話、デジタル音声補間(DST)システム、
パケット交換システム、ビデオ会議システム、およびス
ペクトラム拡散通信システムを包含する。
【0033】図形画像分野では、本文中に開示の原理と
装置方法にもとづき更に、光文字認識装置、3次元回転
装置、ロボット視覚システム、映像伝送圧縮装置、パタ
ーン認識装置、画像向上装置、準同形写像処理装置、ワ
ークステーション、およびアニメーションシステムなら
びにデジタルマッピングシステムを包含する。本発明に
より想定できる医療上の発明は例えば、補聴器、患者モ
ニター装置、超音波装置、診断用具、自動補綴ならびに
胎児モニタ、を包含する。本発明による消費財はスタジ
オやテレビステーションで使用される高鮮明度テレビ受
信機や伝送装置の如き高鮮明度テレビ装置を包含する。
更に、本発明の消費財として音楽シンセサイザ、ソリッ
ドステート応答機、レーダ発見器、電力工具、玩具、ゲ
ームを包含する。
【0034】本文中で想定されるシステム面は優れたシ
ステムアーキテクチャ、システム性能、システム信頼性
と経済性を備える点を強調しておくべきであろう。例え
ば、図2において本発明による産業工程と保護目的制御
システム300は特定の産業環境に固有の物理学的変数
を検知する産業用センサ301、303を包含する。セ
ンサ301と303からの信号は、図1Bの改良PLU
(並列論理装置)を備える図1Aと図1Bの信号処理装
置11に提供される。インターフェース305はレジス
タロケーションA,B,C,D,E,F,Gとドライバ
(図示せず)を備える。上記レジスタロケーションはド
ライバと各ライン307を介してモータ311により駆
動される産業処理と、リレー313により制御されるリ
レー操作装置と、ソレノイド弁315を含む各種バルブ
に接続される。
【0035】産業上の処理と保護目的制御環境では、種
々の工学上と経済上の問題が相反して作用する。もし産
業工程のスピードとスループットが高い場合には、リア
ルタイムで発生しセンサ301と303により検出され
る比較的急速な変化の重要性を解釈するために装置11
の処理能力に対して重い負担が課せられる。他方、セン
サ301と303により検出される現実世界の条件に応
ずるために必要な制御機能も迅速に行う必要がある。P
LU41を追加して装置11が単一の半導体チップに製
作される時の余分の費用を無視しうるようにして装置1
1に対する競合する要求を解決することが有利である。
このようにして、産業上の処理速度、保護目的の制御の
迅速さ、制御の正確さは相当向上させることができる。
【0036】図3において、本発明の自動車321は車
輪と車軸を取付けるシャシー323と、エンジン32
5、サスペンション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を包含し、それらは、サスペ
ンションの機能、エンジンの動作、スキッドに抗する制
御作用をそれぞれ監視する。
【0037】エンジン制御システム381はインターフ
ェース341のロケーションの幾つかに接続される。同
様にアンチスキッド制動制御システム383がインター
フェース341のそれ以外のビットに接続される。自動
車の信頼性、安全性、乗客の快適さ、経済性といった多
数の考慮すべき問題は従来の自動車システムに対して重
い負担を課している。図3の発明では、自動車321
は、本発明の極度に柔軟な平行処理と制御性の利点によ
ってこれら領域の何れもしくは全てにおいて改善されて
いる。図2と図3のシステムと本文中に述べるシステム
に使用される装置11の如き装置は装置性能の向上の問
題に取組むだけでなく、ユーザのシステム性能全体とコ
ストを規定する産業上システムの問題点を解決するもの
である。
【0038】実施例の装置11は命令を50ナノセカン
ドで実行し、半導体製作による改良によって更に命令速
度を可能にすることができる。オンチッププログラムメ
モリはRAMに依拠し、安価な外部メモリからプログラ
ムをブートロードしやすくしてある。他のバージョンは
更にコストを低減するためにROMに依拠することが好
適である。図4のデジタル制御モータシステム400は
図1Aと図1Bの装置11を有するデジタルコンピュー
タ401を備える。デジタルコンピュータ401は出力
μ(n)を零次ホールド回路ZOH403に供給する。
ZOH403は産業用機械、家庭用機器、軍事設備、そ
の他の応用システム環境において制御出力μ(t)をD
Cサーボモータ405に供給する。
【0039】サーボモータ405の入力μ(t)に対す
る作業上の応答はy(t)で示される。センサ407は
モータ出力y(t)のトランスジューサであって、サン
プラ409に送り、それは今度はサンプリングされたデ
ジタル出力y(n)を割込ラインINY−を介して減算
器401に供給する。人間によるもしくは自動監視制御
からの基準入力γ(n)がもう一つの入力として減算器
411に外部供給される。その後、誤差e(n)がデジ
タルコントローラ401に送られループを閉じる。装置
11はコントローラ401に対して図2におけるような
サーボモータの他に他の要素を処理制御するための高い
ループ帯域幅と多重機能性を付与する。装置11のゼロ
オーバヘッドの割込みコンテキスト切替えによって帯域
幅は更に拡大され、ポーリングアーキテクチャーに対す
る魅力的な代替手段を提供する。
【0040】図5において、多変数状態コントローラ4
21は装置11のプロセッサを用いて高次アルゴリズム
を実行する。状態コントローラ421は基準入力γ
(n)を受取り、出力μ(n)をモニタ423に供給す
る。多重電気変数(位置X1、速度X2、電力X3、ト
ルクX4)が状態コントローラ421に帰還される。4
変数X1−X4(例えば線形結合形をとる)の任意の1
つもしくはそれ以上を各種の操作目的に制御することが
望ましい。システムは制御された速度もしくはトルクア
プリケーションを実行することが可能で、ステップモー
タと可逆モータを運転する。図6において、モータ43
1はサンプラ433により検出されサンプリングされて
動作する。プロセッサ435は装置11を含み、サンプ
ラ433により割込み駆動される。装置433により判
断される速度情報は図1Aと図1Bに関して述べたよう
な改良プロセッサ435に帰還される。プログラムメモ
リ61(図1A)におけるソフトウェアは評価アルゴリ
ズムプロセス437をして実行される。プロセス437
は速度、位置、電流の情報をプロセス435の状態コン
トローラプロセス439に提供する。デジタル出力μ
(n)は出力として状態コントローラ439から零次ホ
ールド回路441へ供給され、後者は今度はモータ43
1を駆動する。
【0041】モータはソリッドヌテート電子スイッチが
ブロック431内のコア、コイル、ロータと関連するブ
ラシレスDCモータであることが望ましい。図4−図6
のシステムはシャフトエンコーダ、ホール効果光ロータ
位置検出と巻線からの位置の逆起電力検出法を備えてい
る。図7において、ロボット制御システム451は、ロ
ボットアーム455端にモータ駆動の把持機構453を
備えている。ロボットアーム455は回転軸457.
1,457.2,457.3,457.4を備える構造
をしている。アーム455上の関節点459.1,45
9.2,459.3,450.4にはセンサと高応答性
の正確に制御可能なモータが配置される。かかる多数の
モータとセンサをロボットアーム機構455を正確に位
置決めし活用するために使用することが望ましい。然し
ながら、上記多数のセンサとモータはシステム全体とコ
ントローラ461に対して競合する要求を課する。コン
トローラ461は図1Aと図1Bの装置とシステム45
1の割込み駆動アーキテクチャーを含めることによって
これらのシステム要求を解決する。コントローラ461
はI/Oインターフェース463と相互に交信する。後
者はロボットアーム455に対する並列論理装置41に
よってビット操作と共に、A/D変換とD/A変換を実
行する。インターフェース463は航行モータ467と
ロボットアーム455と把持機構453と関連するセン
サから位置と圧力の応答を受取る。また、インターフェ
ース463はサーボアンプ465を経てロボットアーム
455の各モータ467に制御コマンドを供給する。
【0042】コントローラ461はスタティックラム
(SRAM)とプログラマブルリードオンリーメモリ
(PROM)と関連したメモリ467を有する。低速の
周辺装置469はコントローラ471と関連し、それら
はコントローラ461のページ環境に敏感な待機特性に
よって効率的に格納される。コントローラ461は安全
制御装置475に応答するシステム管理プログラムCP
U473によって、それに供給されるハイレベルコマン
ドに応答する。システム管理プログラム473はI/O
とRS232ドライバ475を介してコントローラ46
1と交信する。本発明のデジタル制御システムは以前に
は利用できなかった制御精度、速度経済性といった性能
性の利点を可能にする。もう一つの例として、ディスク
ドライブは、スピンドルモータ装置により高速で回転す
る情報ストアディスクを備える。別のアクチュエータと
呼ばれる制御によって読取り/書込みヘッド要素を情報
ストアディスクに対して整合させる。
【0043】実施例は更に、システム処理と診断操作と
共にアクチュエータ制御とスピンドルモータ制御の双方
に対してシングルチップとする解決方法を提供すること
さえ可能である。コントローラ461に対して過重な負
担を加えずに精巧な機能を内蔵させることができる。コ
ントローラ461内にはデジタルノッチフィルタを設け
ることによって機械的共振を消去することができる。状
態評価器は速度と電流を評価することができる。カルマ
ンフィルタはセンサのノイズを低減する。適応制御によ
って温度の変動と機械的振動を補償することができる。
装置11は更に、スピンドルモータ速度を制御するため
にオンチップPWMのパルス幅変調出力を提供する。テ
ープドライブ、プリンタ、ブロック、光ディスクシステ
ムにおいても同様な作用を組込むことが容易である。本
発明のデジタル制御によって高速でより正確な速度制御
が得られると共に、それと匹敵するコストでI/O技術
内の高速アクセスを実現することができるため当該技術
水準を高めることができる。
【0044】ミサイル誘導システムにおいては、本発明
の操作能力の向上によって、ミサイルシステムのより正
確な誘導が可能になり、作業目的を達成するために必要
な高価なミサイルの数を低減することができる。更に、
プロセッサチップが小数でも等しい性能を実現できるた
め、軽量となり特徴を豊かにペイロードを向上させるこ
とが可能になる。図8において、本発明の衛星テレコミ
ュニケーションシステムは250ミリセカンドの遅れを
伴う衛星伝送路によって通信する第1のステーション5
01と503を備えている。遠端電話505と近端電話
507は、それぞれハイブリッド509と511により
地球ステーション501と511に接続される。ハイブ
リッド509と511は各地球ステーション501と5
03に対して8ミリセカンド遅延させられる。従って、
遠端と近端の電話505、507間に満足のゆくテレコ
ミュニケーションを可能にするにはエコー消去が必要で
ある。更に、多数の電話会話回路を一時に供給する能力
が必要となる。これはテレコミュニケーション設備に対
して極端な処理上の負担を課するものである。
【0045】図9において、実施例のエコーキャンセラ
515を511の如き各ハイブリッドと関連させること
によって通信回路の送信を改善している。装置11はエ
コー消去アルゴリズムを高速で実行すると共に、チップ
あたり衛星通信数をより多く経済的に行えるようになっ
ている。もう一つのシステム実施例は改良されたモデム
である。図10において、モデム送信機としてプログラ
ミングされた装置11内の演算のプロセス線図はコーデ
ィングステップ527がその後に続くスクランブルステ
ップ525を含む。同ステップ525では補間手続52
9、531に対してそれぞれ直角デジタル信号I〔nT
b〕とQ〔nTb〕が提供される。デジタル変調計算5
33と535では、補間された直角信号と、それぞれ三
角法のコサイン値とサイン値を与えるリードオンリーメ
モリ(ROM)からの予めストアされた定数との乗算が
行われる。変調信号はその後加算ステップ537で加算
される。装置11に接続されたD/A変換器はステップ
539で変調信号をD/A変換する。係数C1による利
得制御がその後モデム伝送中に行われDAAに送られ
る。
【0046】図11では、もう一つの装置11を使用す
るモデム受信機がDAAからアナログ通信信号を受取
る。A/D変換器521は装置11を使用するデジタル
信号プロセッサ向けに情報をデジタル化する。高速のも
しくはデジタル変換は従来のプロセッサの入力処理に対
して重い負担を課す。DSP11はオーバヘッドがゼロ
の割込みコンテキストを提供することによってA/D5
21の如きデジタル化要素からの割込みを極端に効率的
に行うと同時に、モデムアルゴリズムを実行するために
強力なデジタル信号処理計算能力を備えるようにするこ
とが望ましい。装置11の出力は出力D〔nT〕を供給
する汎用同期非同期送受信機(USART)523に供
給される。図12において、図11のシステムによるモ
デム受信のプロセス線図は、サンプリング周波数fsで
A/D変換を行う信号s(t)を供給するDAAから受
信直後に係数G2により自動利得制御する操作を伴う。
デジタル化信号はS〔nTs〕であって、個々の自動利
得制御が後続するデジタルフィルタリングステップBP
F1とBPF2はより行われる、第1は第2の帯域フィ
ルタを伴うデジタル処理用に供給される。復調アルゴリ
ズムによって2個の復調信号I′〔nTs〕とQ′〔n
Ts〕がつくりだされる。搬送波回収用に使用されるこ
れら2個の信号I′とQ′とは復調アルゴリズムに帰還
される。同時に、I′とQ′とはデシジョンアルゴリズ
ムに供給されクロック回収に応じて処理される。デコー
ディングプロセス551はそのデシジョンアルゴリズム
に従う。デコーディング551の次にはデスクランブル
アルゴリズム55が続く。同アルゴリズム55はPLU
41による集中的なビット操作が伴い入力信号d〔n
T〕を回復する。
【0047】図12に示すように、モデム受信アルゴリ
ズムの数多くのステップは集中的な多数の計算能力とP
LU41により提供されるビット操作とにより、単一の
デジタル信号処理装置11によって行うのが有利であ
る。図13において、装置11を組込んだ計算装置56
1は、インターフェース565を介してホストコンピュ
ータ563と共働する。高容量の外部メモリ563がイ
ンターフェース569によりコンピュータ561と境界
を接している。コンピュータ561は周辺ラッチ571
と573を介して双方向パルス符号変調(PCM)通信
をサポートすることが有利である。ラッチ571はシリ
アル/バラレル変換器575に連結され、外部装置57
7からのPCM通信を受信する。コンピュータ561
は、ラッチ573とパラレル/シリアル装置579を介
して交信し、シリアルPCMデータの流れを外部装置5
77に供給する。
【0048】図14において、ビデオ画像システム60
1はROM603とRAM605によりサポートされた
装置11を備える。データ収集センサ607.1〜60
7.nは、入力を変換器609に送り、後者はその後、
大量のデジタルデータを装置11に供給する。図14
は、ALU21の累算器23と、乗算器アレイ53と、
積レジスタ51とを強調したもので、ARAU123を
含むアドレス指定装置を有する。制御要素615は全体
としてデコーダPLA221と図1Aのパイプラインコ
ントローラ225を示したものである。オンチップI/
O周辺装置(図示せず)は並外れて高品質の出力をビデ
オ表示装置619は供給するバス617と交信する。監
視入出力I/O621も装置11に設けられる。装置1
1のアドレス指定能力が優れているため、命令によって
積を積レジスタ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の積能力を
導入することによって相当迅速に処理することができ
る。
【0049】図15と図16はそれぞれ本発明のビデオ
処理装置の機能指向性のハードウエアブロック指向線図
を示す。これらシステムに対するアプリケーションは新
たなワークステーション、コンピュータインターフェー
ス、テレビ製品、および高鮮明度テレビ(HDTV)製
品を提供する。図15では、ホストコンピュータ631
は装置11による数値処理に対するデータ入力を提供す
る。ビデオピクセル処理633の次にはメモリ制御処理
635が続く。ビデオディスプレイのためのCRT制御
機能637は数値処理639、ピクセル処理633およ
びメモリ制御635と調整されている。メモリ制御63
5処理からの出力は、フレームバッファメモリ641に
供給した後、シフトレジスタ643に供給される。フレ
ームバッファメモリとシフトレジスタ641と643
は、テキサスインストルメンツ社のTMS4161によ
り製作することがふさわしい。もう一つのシフトレジス
タ645は、ビデオ情報をシフトレジスタ643からカ
ラーパレット647へ供給する。カラーパレット647
はCRT制御637により制御されたディスプレイ64
9を駆動する。カラーパレット647はTM34070
が適当である。
【0050】図16において、ホスト631はDSPマ
イクロコンピュータ653として動作する第1の装置へ
信号を供給する。DSP653はPROM、EPRO
M、SRAMのスタティックメモリを含むメモリ651
によりサポートされる。制御、アドレス、データに関す
る情報はGSP(図形信号プロセッサ)655として動
作するDSP653と第2の装置11間の双方向通信路
によって供給される。GSP655はカラーパレット6
47とディスプレイインターフェース657の双方を駆
動する。インターフェース657は更にカラーパレット
657により駆動される。図16の装置11とシステム
は全体として所要機能にふさわしい適当なクロック速度
で動作することが理解できる。装置11はミクロンおよ
びサブミクロン単位で製作し、特定用途に対して必要と
される処理速度をサポートするようにする。処理能力を
増加させるための高鮮明度テレビ装置は高いクロック速
度を使用するだけでなく本文に開示の回路を構造的に改
善することによってもその条件を満たすことができると
考えられる。
【0051】図17において、本発明の自動音声認識シ
ステムはマイク701を備え、その出力はサンプルホー
ルド(S/H)回路703によりサンプリングされた後
A/D回路705によりデジタル形に変換される。割込
み駆動される高速フーリエ変換プロセッサ707は装置
11を使用し、マイク701からのサンプリングされた
時間領域入力を音の周波数スペクトルを表わすデジタル
出力へ変換する。このプロセッサ707は、上述したよ
うに一部はオーバーヘッドゼロの割込みコンテキスト切
替特性、条件附命令、およびメモリアドレス空間内にマ
ッピングされた補助アドレスレジスタのためにすこぶる
効率的である。プロセッサ707は、各スペクトルを、
更にもう一つの装置11を組込んだ音声認識DSP70
9に提供する。音声認識DSP709は現在既知の、も
しくは後に開発される適当な音声認識アルゴリズムを実
行する。例えば、テンプレートマチングアルゴリズムで
は、乗算、加算、最大最小決定を伴う多数の計算が実行
される。装置11はそのシリーズの最大/最小関数アー
キテクチャーによってかかるアルゴリズムを迅速に実行
するに適していることが理想的である。音声認識DSP
709は出力をシステムバス711に供給する。ROM
713とRAM715とは音声認識DSP709により
提供されるページ境界上のソフトウェア待機状態のため
にシステムを効率的にサポートする。音声認識DSP7
09に応答する音声シンセサイザ717からの出力はラ
ウドスピーカその他の適当なトランスジューサ719に
供給される。
【0052】システムI/O721は、プリンタ、テー
プ、ハードディスク、等の文書作成装置723にダウン
ロードする。ビデオ陰極管(CRT)ディスプレイ72
5は図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、7
35、737は、テレコミュニケーションにおいて、音
声認識によるイコライジング、フィルタリング、帯域幅
圧縮についても適用できる。
【0053】先端音声処理システムでは、字句アクセス
プロセッサ739は音声認識DSP709の出力から導
き出された音声要素表示に対する記号操作を実行し、任
意の適当な字句アクセスアルゴリズムに従って節、単
語、文章を作成する。トップダウンプロセッサ741
は、音声のあいまいさの解決がある場合に入力音内に含
まれる情報をしのぐという原理に基づいてトップダウン
処理アルゴリズムを実行する。従って、光センサ743
や圧力センサ745の如き非音響センサが入力システム
747に供給され、後者はその後パタン認識プロセッサ
749を割込み駆動する。プロセッサ749はシステム
バス711を直接供給すると同時に、トップダウンプロ
セッサ741をアクセスして、音声認識や、パターン認
識、人工知能用途を向上させる。 装置11は図17の
音声認識装置の全てのレベル、例えば、ブロック70
7、709、717、721、725、729、73
9、741、747、749において処理能力を著しく
向上させる。
【0054】図18は保安通信のための暗号を有するボ
コーダーモデムを示す。電話771は電話線773上で
保安モードで交信する。DSPマイクロコンピュータ7
73は電話771に接続されてシリアルデータ773を
ブロック775に提供する。ブロック775は区画77
7においてボコーダ関数を、ブロック781において暗
号をデジタル化する。ブロック779と783における
モデムアルゴリズム処理は図10と図12に関して上述
した。ブロック783はシリアルデータをA/D、D/
A装置785間で送受する。装置785はアナログ通信
をDAA787に対して提供する。図1Aと図1Bの装
置11の処理特性が著しく向上するためにブロック77
5内に必要とされるチップ数を少なくすることができ、
そのため図18により装置のコストを低減することがで
きる。場合によっては装置11の著しい処理能力によっ
てより先進的な暗号手段を実行することが容易である場
合もある。従って、図18においては、装置11は機能
ブロックの各々の機能性を向上させたり、小数のチップ
で従って全体の製作費がより少なくしてそれと同等の機
能性をもたせるように使用することができる。
【0055】TMS320C1xユーザ便覧、TMS3
20C2Xユーザ便覧、および第3世代TMD320ユ
ーザ便覧においてテキサストンストルメンツ社製のDS
Pが3つ述べられているが、その何れも本文に参照用に
組込まれている。同様にして、米国特許第4,577,28
2号と第4,713,748号も本文中に組込んである。図
19は図1Bの並列論理装置41の動作を示す。並列論
理装置41(PLO)によってCPUが計算装置15内
の累算器の如きレジスタの何れにも影響を及ぼさずに、
メモリ内にストアされた値に対して直かに論理演算を実
行することが可能になる。論理演算は1命令中の任意の
ビット数をセットしたり、クリアしたりトグルしたりす
ることを含む。PLUは2回の命令サイクルでリード−
修飾−ライトの命令を実行する。殊に、PLU41はオ
ンチップかオフチップの何れかのRAM25内のロケー
ションをアクセスし、それに対してビット操作を実行し
た後、その結果をデータが得られたRAM内のロケーシ
ョンに戻す。以上の操作の全てにおいて、累算器は影響
を受けない。積レジスタは影響を受けない。累算器バッ
ファと積レジスタバッファACCBとBPRは影響を受
けない。従って、計算装置を相当スローダウンさせるよ
うな時間のかかる演算はこの重要な並列論理装置PLU
41を設けることによって回避される。構造的には、P
LUはその入力から出力まで直流する論理であって、デ
コーダPLA221により制御され、PLU41の論理
内部の特定ゲートを割込み許可禁止して以下に示す命令
を実行する。 APL,K DBMRもしくは定数をデータメモリ値とAND演算する。 CPL,K DBMRもしくは定数をデータメモリ値と比較する。 OPL,K DBMRもしくは定数をデータメモリ値とOR演算する。 SPLK,K 長即値をデータメモリロケーションにストアする。 XPL,K DBMRもしくは定数をデータメモリ値とXOR演算する。
【0056】ビット操作は1)1ビットセット、2)1
ビットクリア、3)1ビットトグル、4)1ビットをテ
ストしそれに従って分岐する、操作を行う。またPLU
はCPUレジスタもしくは状態ビットの何れの内容にも
影響も及ぼさずにこれらビット操作処理をサポートす
る。また、PLUは長即値を有するデータメモリロケー
ションに対して論理演算を実行する。図19において、
パートAはXの任意ビット数を有するメモリロケーショ
ンを示す。パートBにおいて、SPLK命令によって1
メモリワード内の任意のビット数を任意のメモリロケー
ション内に書込むことができる。パートCにおいて、O
PL命令によって1メモリワード内の任意のビット数を
ワード中の他のビットに影響を及ぼさずに1に設定する
ことができる。パートDにおいて、APL命令によって
1メモリワード中の任意のビット数をワード内の他のビ
ットに影響を及ぼさずにゼロにクリアしたりセットした
りすることができる。パートEにおいて、XPL命令に
よって、1メモリワード内の任意のビット数をそのワー
ド内の他のビットに影響を及ぼさずにトグルすることが
できる。パートFにおいて、CPL命令はアドレス指定
されたメモリロケーションを修飾せずに所与のワード
(例えば16ビット)をアドレス指定されたメモリロケ
ーションと比較対照する。比較機能は特定のメモリロケ
ーション上での比較については非破壊的排他OR(XO
R)を見做すこともできる。もし比較によって所与のワ
ードがアドレス指定されたメモリワードと等しいことが
示されるならば、TCビットは1にセットされる。TC
ビットは図1Bのレジスタ85内のST1レジスタのビ
ット11である。個々のビットのテストはBITとBI
TT命令によって実行される。構造的には、PLU命令
の存在は図1AのデコーダPLAとPLU41の論理が
特定の回路を含んでいることを意味する。種々のPLU
命令が命令レジスタ(IR)内にロードされると、それ
らはデコーダPLA221により信号に解読されてPL
U41の論理内のゲートを割込み許可禁止することによ
って命令が指示する処理が現実に実行される。
【0057】ビットパターンの動的な配置をサポートす
るために、命令は長い即値を使用する代わりにレジスタ
値についてメモリワードに対する基本的ビット演算を実
行する。DBMRはメモリマッピングされるが、そのこ
とは構造的にはデータアドレスバス111AからのDB
MR223のアドレス指定を可能にするデコーディング
回路121(図1B)が存在することを意味する。添字
Kを命令(例えばAPLK)につけて命令がDBMRの
代わりに長い即値を演算中であることを示す。添字(例
えばAPL)が存在しないことは命令がDBMRについ
て処理中であることを示す。DBMRの選択はパイプラ
インコントローラ225により制御されたパイプライン
タイミングによってデコーダPLA221からその選択
入力が制御される図1BのMUX225により実行され
る。
【0058】長即値は命令の一部としてプログラムデー
タバスから到来する値である。“即値" とは値がプログ
ラムデータバスから到来中であることを意味する。“長
即値" とは全ワード範囲の値が供給中であることを意味
する。長即値はリードオンリメモリ(ROM)から取得
されるから変更できない場合が多い。然しながら、1命
令シーケンスにおいて論理演算を変更できるようにする
ことが望ましい場合には、ダイナミックビット操作用ビ
ットレジスタをその目的のために設ける。PLU41に
よってデータメモリ空間内の任意のロケーションに対し
て並列ビット処理を行うことができる。このことによっ
て、制御フィールドの集中的ビット処理の必要条件を収
納するすこぶる高能率のビット処理が可能になる。本発
明のビット処理は他の用途の中でもエンジン制御、サス
ペンション制御、アンチスキッド制動、プロセス制御、
等の自動車制御に容易に適用できる。ビット処理はビッ
トをオンオフすることによってリレーでオンオフに切替
え、エンジンを始動させたり、スピードアップしたり、
サーボ制御でモータに対する利得段階を上昇させたりす
ることによってソレノイドを閉じたり信号を強化したり
することができる。先端的マイクロ制御アプリケーショ
ンに必要とされる複雑な演算はビット処理による競合な
しに装置11に対して実行することができる。
【0059】ビット処理のアプリケーションは更にモデ
ムにおけるスクランブルを含む。もし一定のビットパタ
ーンがモデム内に十分の周波数や位相変化を供給するこ
とができないならば、フェーズクロックループとモデム
受信機内に搬送波を維持することは困難であるか不可能
である。かくして、モデム内のボークロックと搬送波フ
ェーズロックループはデジタルフィルタの各々に十分だ
が大きすぎないエネルギーが存在するような形をとるこ
とになる。スクランブリングはシリアルビットの流れに
対してXOR処理を行う。PLU41はこの処理をはな
はだ効率的に実行する。装置11の他のCPUレジスタ
はPLU処理には関係しないから、これらのレジスタは
PLUがその命令を実行しようとする場合にセーブする
必要がない。スクランブル処理の場合、データパターン
内にXOR処理されるビットは他のビットの関数である
から、任意の所与のボー期間内に必要とされるXORを
実際に実行するには1つ以上の処理が必要となる。平行
論理装置の場合、これらの操作はレジスタ資源を使用せ
ずに計算処理と平行して実行することができる。
【0060】上記した如く、PLUは命令デコーダ22
1と共に、命令を受取るためにプログラムバスに接続さ
れ命令の少なくとも幾つかに従って論理演算を実行する
ためにデータバスに接続されて論理回路の一例として作
用する。上記論理演算は電子計算装置とは独立にデータ
メモリロケーションの少なくとも一つに影響を及ぼし、
累算器には及ぼさない。命令の幾つかでは、論理演算は
選択されたデータメモリロケーションにおけるデータワ
ード内の他のビットには影響を及ぼせずに、その選択デ
ータメモリロケーションのデータワード内の一つに特定
ビットをセット、クリア、トグルする操作を含む。DB
MR223の場合、PLU41がデータバスからデータ
を受取るために接続された第1の入力と、データをデー
タバスに送るための出力と、データバスもしくはプログ
ラムバスの何れか一方から1ワードを受取るべく選択的
に動作可能な第2の入力とを備えるようにした改良論理
回路が更に一つ設けられている。マルチプレクサ225
は選択的に動作可能な要素として働く。例えば、任意の
アドレス指定可能なレジスタもしくはメモリロケーショ
ンの内容はDBMRにストアできる。MUX275がD
BMRを選択する時、PLUはセット、クリア、トグル
等のDBMRに基づいた論理演算によって修飾されたデ
ータバス111Dから1ワードの内容をデータバス11
1Dに送る。MUX225がプログラムデータバス10
1Dを選択する場合、論理演算が依拠する長即値定数が
選択される。
【0061】さて、割込み制御とコンテキスト切替えに
ついて戻ると、図20は4つのインターフェース80
1、803、805、807を備えるDSP装置11を
含むシステムを示す。セッサもしくはトランスジューサ
からのアナログ信号はA/D変換器809によってデジ
タル変換され、インターフェース801を経てDSP1
1へ供給される。各々の変換が完了すると、割込み信号
INT1がA/D変換器809からDSP11へ供給さ
れる。DSP11はインターフェース803を経て内部
SRAM811、ROMとEPROM813および外部
メモリ815によりサポートされる。DSP11の出力
はインターフェース807を介してD/A変換器817
に供給され出力制御される。光ホストコンピュータ81
9がDSP11の割込み入力INT2−に接続され、イ
ンターフェース805を介してデータを交信する。他の
割込みに基づくシステムは図4,6,11,14,17
に示す。
【0062】さて、割込みやその他のコンテキスト変更
について装置11の処理を論ずる。図1Aと図1Bにつ
いて述べると、レジスタの幾つかは背景矩形により描か
れる点に注意されたい。これらレジスタはTREG19
5、TREG181、TREG49、BPR185、P
REG51、ACC23、ACCB31、INDX14
3、ARCR159、ST0、ST1、およびPMST
である。これらレジスタはそれらと関連する相補レジス
タを称され、レジスタを備える。割込みその他のコンテ
キストの変更が生ずる毎に、上記レジスタの全ては自動
的に深度1のスタック上へ押込まれる。割込みからの復
帰もしくはコンテキスト変更からの復帰が生ずると、同
じレジスタが深度1のスタックをポップアップすること
によって自動的に回復される。
【0063】割込みサービスルーチンはコンテキストセ
ーブもしくはコンテキスト切替えに対するオーバヘッド
がゼロで処理されることが望ましい。このようにセーブ
されたレジスタは「戦略レジスタ」と称される。これら
は割込みサービスルーチン内でその代わりに任意の異な
るレジスタを使用することに優先して使用されるレジス
タである。もしメモリに対するコンテキストのセーブが
レジスタ毎に行われ多数の戦略レジスタを保護する場合
には、多数の命令サイクルが消費されることになろう。
更に、これらのコンテキストのセーブ処理が行われる頻
度比はアプリケーションに依存する。図20の100KH
z のサンプリング割合を有するアプリケーションの場合
には、割込み頻度は非常に高いため、割込みコンテキス
トのセーブオーバヘッドのサイクルはオーバヘッド零と
改良されず、相当なものとなろう。実施例のオーバヘッ
ド零のコンテキスト切替え特性を提供することによっ
て、割込みサービスルーチンのサイクルカウントは半分
以下に減らすことができる一方、同一の機能性を得るこ
とができよう。DSPの多重チャネルアプリケーション
においては秒あたり100,000オーダのサンプルで実
行するか、1本のチャネルを50KHz 以上の如きすこぶ
る高いサンプリング周波数で処理することが有利であ
る。今述べたことはサブルーチン呼出し、機能呼出し、
その他のコンテキスト切替えにも適用できる。
【0064】割込みが行われると、状態レジスタが自動
的に深度1のスタック上にプッシュされる。この特長を
サポートする際、割込みから復帰せよ(RETI)とい
うもう一つの命令が存在し、スタックを自動的にポップ
アップして主ルーチン状態を回復させるようになってい
る。また実施例はもう一つの復帰命令(RETE)を有
しており、グローバル割込み許可ビットを自動的にセッ
トして割込みを強化する一方、状態スタックをポップア
ップする。割込み許可による遅延復帰(RETED)と
命名される命令は復帰後に上記3つの命令がそれ自体割
込まれる危険から保護される。実施例はメモリ空間内に
マッピングされる割込みフラッグレジスタ(IFR)を
備える。ユーザは能動割込みを判断するためにソフトウ
ェアポーリングすることによってIFRを読取り、IF
Rに書込むことによって割込みをクリアすることができ
る。
【0065】オーバヘッドゼロのコンテキスト切替特徴
が特に有益であると思われるアプリケーションを若干以
下に記す。かくして改良ディスクドライブを高速に、よ
り大きな加速度と減速度と高速の読取り整合調節度でも
って高度の情報密度を収めることができるように製作す
ることができる。プロセッサはロボット工学においてよ
り多くのフィードバック点を提供することが可能であ
る。モデムでは、割込みのソフトウェアポーリングによ
ってより低いビットエラー率を可能にすることができ
る。ボコーダはこれらをコーディングする際、より高い
精度とより少ないビットエラーをもつように製作でき
る。ミサイル誘導システムはより正確な制御を備え、小
数のプロセッサしか要しない。デジタルセルラー電話も
同様にして改良される。
【0066】オーバヘッドゼロのコンテキストセーブ特
徴によって、割込みが行われる時に戦略CPUレジスタ
全体がセーブされ、何らの機械サイクルオーバヘッドな
しにサービスルーチンから復帰後にそれらは復帰する。
このため割込みサービスルーチンは解放され、割込まれ
たコードに影響を与えずにCPU資源を全て使用するこ
とができる。図21は図1A,1Bの主題が図21のC
PUブロック13、15として示された装置11のブロ
ック線図である。CPUブロックから破断された状態で
一組のレジスタが示され、これらは上述のように深度1
のスタックを有する戦略レジスタである。図21は半導
体チップのシステムアーキテクチャー全体を論ずる上で
有益である。一組の割込みトラップとベクトルロケーシ
ョン821がプログラムメモリ空間内に存在する。図1
A,21のプログラムメモリ61内の割込みルーチンが
実行される場合、図21の割込み制御論理231によっ
て図1Aのプログラムカウンタ93が割込みロケーショ
ン821内に適当なベクトルを以てロードされ適当な割
込みサービスルーチンに分岐される。2個のコアレジス
タIFRとIMRとはそれぞれ割込みフラッグレジスタ
と割込みマスクレジスタである。割込みフラッグレジス
タは、どの特定の割込みが行われているかを表示する。
割込みマスクレジスタはCPUに対する割込みがそれら
をマスキングすることによって割込み禁止される一組の
ビットである。例えば、もし割込みINT2−,INT
1−,INT0−の中に実行中の割込みが存在するなら
ば、IFR内には“1" についてセットされる対応ビッ
トが存在することになろう。フラッグは自動的にクリア
される割込みトラップを取ることによってクリアされ
る。さもない場合は、1つを割込みをクリアするそれぞ
れの割込みフラッグレジスタ内にOR処理することによ
ってクリアされる。実行中の割込みフラッグ全体も1時
にクリアすることができる。
【0067】プログラムバスとデータバス101、11
1は図21で線図状に組合わされており、周辺ポート8
31、833内で終結する。周辺ポート833は並列イ
ンターフェースを提供する。ポート831はT1に対す
るインターフェースと装置11に対するシリアルポート
を提供する。図22,23,24はオーバヘッド零の割
込みコンテキスト切替えを実行するための3つの代替的
な回路を示す。戦略レジスタは全て同時に並列にコンテ
キスト切替えされるため、1個のフリップフロップによ
るレジスタ全体の表示は線図的手法によっていることを
理解されたい。図22,23では上下レジスタはそれぞ
れ図1A,1Bの戦略レジスタの各々の前景の背景の矩
形を示す。図24は平行処理を明示するものである。
【0068】図22において、主レジスタ851は、そ
のデータD入力がMUX853により選択的に供給され
る。MUX853はレジスタ851のD入力を選択的に
並列データ回線Aか並列データ回線Bの何れかに対して
接続する。回線Bは相補レジスタ855のQ出力に接続
される。主レジスタ851はそれぞれ相補レジスタ85
5の対応するD入力に接続される一組のQ出力線を備え
る。図示例において、矢印で示した回線Aの入力は、A
LU21による計算結果を表わし、累算器23はレジス
タ851と855を備える。累算器23として示した図
22の主レジスタ851の出力は例えば図1Aのポスト
スケーラ181に供給される。然しながら、レジスタ8
51は図1Aと図1Bに2重矩形が示された戦略レジス
タの各々に相当することが求められるだけの回数反復さ
れることを了解されたい。
【0069】図22において、レジスタ851、855
の各々は出力イネーブル(OE)端子を備える。ORゲ
ート857は主レジスタ851のクロック入力を供給す
る。ORゲート857はCPU WRITEとRETE
の入力を有する。RETEはMUX853の選択入力と
共に相補レジスタ855のOE出力イネーブル端子も供
給する。主レジスタ851はそのOE端子がORゲート
859の出力に接続され、その入力は割込み確認IAC
KとCPU READに接続される。IACKは楕円で
示すように相補レジスタ855とその他の全ての相補レ
ジスタにクロック信号を送る。動作中、割込みからの復
帰がない場合(RETEロー)、MUX853は主レジ
スタ851用の入力線Aを選択する。CPU WRIT
Eが生起するや主レジスタ851はCPUコアからの入
力をそのD入力へ送る。CPUはORゲート859にお
いてCPU READが生じOEを活動させると、レジ
スタ851の内容をアクセスする。
【0070】割込みが生じて装置11により確認される
と(IACK)、レジスタ851の出力Qがイネーブル
となり、相補レジスタ855がクロッキングされるその
ため、主レジスタ851のQ出力がレジスタ855内に
ストアされる。割込みサービスルーチンが実行される
時、入力線AはCPU WRITEにより主レジスタ8
51内にクロッキングされつづける。割込みが完了する
と、RETEはローとなり、MUX853を切替え回線
Bを選択し相補レジスタ855の回線OEを活動させ
る。同様にして、RETEはORゲート857を経てレ
ジスタ851をクロッキングして転送を完了し主ルーチ
ン情報を主レジスタ851へ復帰させる。その後、割込
みRETEからの復帰の完了と共にRETEはローとな
り、MUX853を介して主レジスタ851を入力回線
Aに接続しなおす。このようにして、コンテキスト切替
えはオーバヘッド零で完了する。
【0071】かくして、図22は電子プロセッサに接続
される第1と第2のレジスタを示す。上記レジスタは一
つの処理コンテキスト(例えば割込みもしくはサブルー
チン)に参加し、一方、別の処理コンテキストからの情
報をそこに復帰するまで保持する。MUX853とゲー
ト857、859は、処理コンテキストに応じてレジス
タの電子プロセッサ間での入出力動作を選択的に制御す
る働きをする第1と第2のレジスタに接続されるコンテ
キスト切替回路の例を示す。図1Aと図1BのCPU1
3、15のコアの如き電子プロセッサは、割込みINT
−の如きコンテキスト信号に応答し、コンテキスト信号
により識別される代替的な処理コンテキスト中で動作す
ることができる。図23はオーバヘッド零のコンテキス
ト切替に対するバンク切替方法を示す。主レジスタ86
1と相補レジスタ863はそのD入力をデマルチプレク
サDMUX865に接続される。レジスタ861と86
3のQ出力はMUX867の各入力に接続される。CP
Uコアからの入力はDMUX865に接続される。CP
Uコアへ復帰する出力はMUXから提供される。MUX
865と867からの両方の選択線は割込みサービスル
ーチンISRが進行中にアクテイブとなる回線に接続さ
れる。
【0072】このようにして、主ルーチン内でただ一つ
だけのレジスタ861が動作する。割込みサービスルー
チン中に、レジスタ863は動作し、一方レジスタ86
1はそこへ処理が復帰することになる内容を保持する。
また、一対のANDゲート871と873もレジスタ8
61と863を活動させたり活動停止させたりする働き
を行う。CPU WRITEは各ANDゲート871と
873の入力を修飾する。ANDゲート871と873
の出力はそれぞれレジスタ863と861のクロック入
力に接続される。ISRがローの主ルーチンでは、レジ
スタ873は修飾され、CPU WRITEはレジスタ
861をクロッキングする。ANDゲート871は主ル
ーチン内は割込禁止される。ISRが割込み中にハイで
ある場合、CPU WRITEは修飾ANDゲート87
1を介してレジスタ863をクロッキングし、ANDゲ
ート873は割込禁止となる。
【0073】図24において、2個のレジスタ881と
883は共にD入力がプロセッサ(例えばALU21)
から同時に情報を受取るべく接続される。上記レジスタ
はこのコンテキスト切替構造の並行性を示すように線図
内で明示的に反復されることによって、例えば、ALU
21はレジスタ881と883の両方のD入力を供給す
る。その際、レジスタ881と883は累算器ACC2
3として作用するように図解してある。それに応じて、
例えば累算器53はレジスタ891と893を含むPレ
ジスタ51をフィードする。(レジスタ893は図1A
のBPR185と混同すべきではない。)MUX895
はその入力がそれぞれレジスタ881と883のQ出力
に接続される。MUX897はその入力がそれぞれレジ
スタ891と893のQ出力に接続される。レジスタ8
81と891のクロック入力は電子可逆スイッチ901
のA出力に対して並列に接続される。レジスタ883と
893のクロック入力は可逆スイッチ901のB出力に
対して並列に接続される。割込みハードウエア903は
割込み確認IACKに応答して割込みサービスルーチン
が進行中に能動ISR−Q−出力を発生する。割込みハ
ードウエア903はフリップフロップ905のトグルT
入力を駆動する。フリップフロップ905のQ出力は共
に戦略レジスタ全体のMUXと共にスイッチ901の第
2入力とMUX895と897の選択入力に接続され
る。
【0074】CPU WRITE回線はスイッチ901
のX入力とANDゲート907の入出に接続される。割
込みハードウエア903のローの能動ISR−出力はA
NDゲート907の第2入力に接続される。そのゲート
の出力はスイッチ901のY入力に接続される。動作
中、リセットされたハイは、Q出力をハイにプルしMU
X895にレジスタ881を選択させるフリップフロッ
プ905のセット入力を初期化する。同様にして、スイ
ッチ901はその結果XをAに、TをBに接続する。主
ルーチン内では、ISR−は不能動ハイとなりANDゲ
ート907を修飾する。従って、CPU WRITE回
線上の活動によって主ルーチン内の全レジスタ881、
883、891、893がクロッキングされる。このこ
とは例えば、ALU21からの情報が一時にレジスタ8
81と883内へクロッキングされ、乗算器53からの
情報が両レジスタ891に893内へクロッキングされ
ることを意味する。
【0075】その後、例えば割込みサービスルーチンが
コンテキスト変更されると共に、ISR−はローとな
り、ANDゲート907は割込み禁止となる。その後、
CPUWRITE活動によって割込みルーチンのために
レジスタ881と891がクロッキングされつづける
が、レジスタ883と893はクロッキングされること
はない。そのため、不活動によって主ルーチンの内容は
これら後者の2つのレジスタ内にストアされる。それ
故、コンテキスト切替えはいささかのタイムオーバヘッ
ドもなく行われる。主ルーチンの如き原始テキストに復
帰すると共に、ISR−は再度ハイとなり、ANDゲー
ト907を割込み可能にする。ローからハイへの遷移に
よってフリップフロップ905がトグルされ、MUX8
95と897が状態を変更しレジスタ883と893を
自動的に選択する。このことによって再び自動的なオー
バヘッド零のコンテキスト切替えが行われる。フリップ
フロップ905がトグルされるため、スイッチ901は
状態を変更しXをBに、YをAに接続する。その後、C
PU WRITE上の活動によって両方のフリップフロ
ップが同時にクロッキングされ、レジスタ883と89
3が能動レジスタとなる。更なる割込み(ISR−ロ
ー)によってレジスタ881と891が割込禁止となる
一方、レジスタ883と893は能動状態にとどまる。
かくして、図24において、主レジスタもしくは相補レ
ジスタは存在せず、その代わりに数対のレジスタがこれ
らの機能を共有することになる。
【0076】かくして、図24は演算回路を割込み信号
の発生まで2個のレジスタの両方に接続するスイッチン
グ回路を提供する。上記回路はレジスタの一つが割込信
号に応答して演算装置からの情報をそれ以上ストアする
ことを一時禁止する。別言すれば、このコンテキストス
イッチング回路は図22と図23のそれと同様に、第1
と第2のレジスタを選択的にクロッキングする働きを行
うものである。図22と図23の回路と異なり、図24
の回路は、共に、入力がプロセッサからの情報を同時に
受取るように接続された第1と第2のレジスタを備え
る。プロセッサは既に論じたようなプログラムカウンタ
を備え、プログラムカウンタの断続性を伴う第1と第2
のルーチンを実行するためにこれらのレジスタに接続さ
れる。図22−図24において、スタックは、事実上、
一組のレジスタと関連し、プロセッサは、タスクが第2
ルーチンに変更されるや、その複数のレジスタの内容を
スタック上にプッシュする働きを行う。同様にして、割
込みから復帰するや、プロセッサはスタックをポップア
ップして第1のルーチンが実質上即時に再開できるよう
にする。第2のルーチンは割込みサービスルーチンと、
ソフトウェアトラップと、サブルーチン、プロシージ
ャ、関数その他の任意のコンテキスト変更ルーチンとす
ることができる。
【0077】図25では、図24の回路を動作させる方
法がステップ911内のフリップフロップ905のQ出
力を初期化する。ステップ913内ではフリップフロッ
プ905のQ出力の状態に応じて出力MUX895と8
97を動作させる処理が進行する。その後、デシジョン
ステップ915が内容が例えばISR−信号に応じて切
替えられるべきかどうかを判断する。もし否であれば、
ステップ917中の処理によって全レジスタ881,8
83,891,893がクロッキングされ、ステップ9
13へ復帰する。そこから処理はステップ915内でコ
ンテキストの切替えが生ずるまで無限に続けられる。か
かる場合、分岐はステップ915からステップ919へ
飛越し、MUXにより選択されたレジスタ(例えば89
5と897)のみをクロッキングする。復帰が行われた
場合、Qはフリップフロップ905でトグルし、そこか
ら処理はステップ913へ回帰して上記の如く無限に継
続される。
【0078】図26は2個の命令CRGTとCRLTの
処理を記述するプロセス線図である。これら2つの命令
は繰返し使用される場合に最大値と最小値を容易に計算
できる高速の大小比較計算を伴う。処理はスタート98
1より開始され、CRGTもしくはCRLT命令が存在
するかどうかを判断するステップに進む。存在すれば、
処理はステップ985へ移行しALU21ないし累算器
23(図1A)をストアする。その後、ステップ987
において、ALUは図1AのMUX77を介してACC
B31の内容を選択する。ステップ989において、A
LUは共働して累算器23の内容をACCB31と比較
演算し、減算によって例えば演算差の符号を取得する。
ステップ991において、それぞれ命令CRGTもしく
はCRLTに応じて大小何れかの値を、比較の状態に従
い、ACC23をACCB31にストアするかそうする
ことを省略するか何れかによってACCB31に供給す
る。例えば、もしACC23がACCB31よりも大き
な値を有し、命令がCRGTであるならば、ACCはA
CCBにストアされ、さもなければストアされない。も
しACC23がACCBより小さな値を有し、命令がC
RLTであれば、ACCはACCBにストアされる。A
CCBが既に所望値を保持する場合には、転送によって
ACCBをACCに書込む。次いで、テスト993によ
って一連の値が完全であるかどうかについて判断する。
もし否であれば、処理はステップ983に復帰する。も
しステップ993においてその値が完全であれば、処理
はステップ995へ分岐してかくして計算された一連の
値の最大最小値をストアする。
【0079】一連の数字の最大値をスピーディに計算す
る能力は、乗数器もしくは利得係数が最大値に基づいて
いてより効果的に処理できるように入力信号の利得を上
下させるようにした自動利得制御系において殊に有益で
ある。かかる自動利得制御は、無線受信機、オーディオ
アンプ、モデム、およびPIDSアルゴリズムの如きア
ルゴリズムを活用する制御系においても使用される。P
IDは比較例積分微分帰還制御方式である。更にもう一
つの用途はパターン認識である。例えば、音声認識装置
において、予めストアされた音声パターンを進入すると
データと比較することによる連続的な瞬断はテンプレー
ト比較プロセス内の最大値を見ることによって判断され
る。同様にして、画像処理において、プロセッサによる
辺縁検出によって輝度と色彩の強さが解析される。その
強さが上昇した後突然下降すると、画像処理目的のため
に辺縁を示す最大値が発見される。
【0080】このようにして、演算装置、命令デコー
ダ、累算器、追加レジスタが組合わされる。上記追加レ
ジスタは演算装置に接続されることによって演算装置は
第1の演算値を累算器へ送り、その後、命令デコーダか
らのコマンドに応じて追加レジスタの内容と累算器の内
容の値の大小の別をレジスタに供給する。 一定時間に
わたって累算器に供給される一連の演算値に対してコマ
ンドを繰返し実行すると、レジスタに一連の演算値のう
ちの最大もしくは最小値が供給される。多くのリアルタ
イムシステムではできる限り少ない機械サイクルで最大
もしくは最小値を発見することは極めて重要である。問
題はアルゴリズムの一時的結果が現在の最小もしくは最
大値がストアされるデータメモリロケーションのワード
幅よりも大きなビット数を有する累算器内にストアされ
る場合に複雑になる。更に、その問題は条件のテストが
分岐を必要とするような高度にパイプライン化されたプ
ロセッサによって複雑になる。両方の場合とも余分の機
械サイクルを使用する羽目になる。データ転送処理でア
ドレスを設定する際に余分の機械サイクルが消費される
可能性がある。
【0081】然しながら、実施例の回路は累算器ACC
23と同一のビット幅を有する並列レジスタACCB3
1を備えている。最大もしくは最小値の機能が実行され
るとき、プロセッサは累算器内の最終値を並行レジスタ
ACCB内の値と比較して、もしくは最小値よりも小さ
いか最大値より大きければ、命令に応じて、それは累算
器の値を並列レジスタ上に書き込むかあるいはその逆の
ことが行われる。これは全て1回の機械サイクル内で1
個の命令語で行われるため、コード空間とプログラム実
行時間を節約できる。同時にメモリのアドレス指定処理
も不要であって、ALU内の他のレジスタには影響を及
ぼさない。以上の記載に関連して、以下の各項を開示す
る。 1.数を表している二つの組の電気信号を比較する方法
であって: (A)累算器に第1の組の信号を記憶し; (B)レジスタに第2の組の信号を記憶し; (C)論理演算装置で前記累算器及び前記レジスタから
の前記二つの組の信号を比較し;かつ (D)前記比較の結果に基づいて、前記レジスタに前記
二つの組の信号の一つを記憶する段階を具備することを
特徴とする方法。 2.コンテキスト信号に応答して同コンテキスト信号に
より識別される代替的な処理コンテキスト内で動作する
電子プロセッサと、上記電子プロセッサに接続され1つ
の処理コンテキストに参加すると共にもう一つの処理コ
ンテキストからの情報をそれに復帰するまで保持する第
1と第2のレジスタと、上記第1と第2のレジスタに接
続され処理コンテキストに応じて上記レジスタの電子プ
ロセッサ間での入出力処理を選択的に制御するコンテキ
スト切替回路と、から成るデータ処理装置。 3.上記コンテキスト切替回路が上記第1と第2のレジ
スタを選択的にクロッキングする働きを行う2項のデー
タ処理装置。 4.上記第1のレジスタが、主レジスタとしてその後に
相補レジスタとして交互に作用すると共に、上記第1の
レジスタが主レジスタとして作用する時に上記第2のレ
ジスタがそれに応じて相補レジスタとして作用した後
に、上記第1のレジスタが相補レジスタとして作用する
時に主レジスタとして作用する2項のデータ処理装置。 5.更に、電気モータと、操作上上記電気モータと上記
電子プロセッサに接続され、デジタル信号が処理用に利
用できることを示すコンテキスト信号と共に被処理デジ
タル信号を生成する手段と、を備え、上記電子プロセッ
サ手段が更にその動作に基づいて制御信号を上記電気モ
ータへ通信する出力周辺装置を備える2項の出力処理装
置。 6.更に、マイクロフォンと、デジタル信号が処理用に
利用可能であることを示すコンテキスト信号と共に被処
理音声を表わすデジタル信号を生成するA/D変換手段
と、上記電子プロセッサに接続されフーリエ変換デジタ
ル信号処理に応じて音声認識処理を実行する音声認識プ
ロセッサと、から成り、上記電子プロセッサ手段がフー
リエ変換デジタル信号処理を実行するように適応され
る、2項のデータ処理手段。 7.更に、デジタル信号が処理用に利用可能なことを示
すコンテキスト信号と共に処理される通信チャネルを表
わすデジタル信号を生成するA/D変換手段と、上記電
子プロセッサに接続されデジタル信号処理に応じて通信
処理を実行する送受信機と、を備え、上記電子プロセッ
サがデジタルフィルタリングと、復調と、デスクランブ
リングにおいてデジタル信号処理を実行する、第2項の
データ処理装置。 8.命令デコーダと、第1と第2の入力と出力を有する
演算装置と、上記演算装置の出力と第1入力間に接続さ
れた累算器と、上記累算器と演算装置の第2入力間に接
続されたレジスタ、より成り、上記演算装置が、上記累
算器に対するデジタル値を計算する手段と、その直後を
上記レジスタからの第2入力における値を命令デコーダ
のコマンドに応じて上記累算器内のデジタル値と比較し
た後上記レジスタの内容の値と上記累算器内のデジタル
値の大小関係をコマンドに応じて上記レジスタにストア
する回路と、を備えるデータ処理装置。 9.一定時間にわたって上記累算器に対して供給される
一連の演算値の各々についてコマンドを反復実行してそ
のコマンドに応じて一連の演算値内の最小もしくは最大
値をレジスタに供給する第8項のデータ処理装置。 10.上記比較ストア手段が減算モードで計算した後、
上記レジスタの内容と上記累算器内のデジタル値間の演
算差の符号に従ってストアする上記手段を動作させる手
段を備える第8項のデータ処理装置。 11. 更に、アナログからデジタル形へ変化するレベル
を有する信号を変換する変換回路と、同信号の利得値を
このように計算された最大値の関数として自動的に調節
する乗算手段と、から成り、上記演算装置が上記変換回
路に連結され、比較回路によって信号の最大値が計算さ
れる第8項のデータ処理装置。 12. 更に、1パターンを表示する物理的入力に応じて
デジタル信号を生成するセンサと、上記命令デコーダに
接続され、上記演算装置によって同パターンを認識すべ
く実行される命令を保持するプログラムメモリと、を備
え、上記演算装置が上記センサに接続され、計算回路が
それによって演算差と命令の型に応じて信号の最大もし
くは最小値を計算する、第8項のデータ処理装置。 13. データバスとプログラムバスと、上記データバス
に接続されデータメモリロケーションを有するデータメ
モリと、上記データバスに接続される電子計算装置と、
上記電子計算装置とデータバスに接続される累算器と、
命令を受取るための上記プログラムバスと上記データバ
スに接続され、命令の少なくとも幾つかに従って論理処
理を実行する論理手段と、命令を上記プログラムバス上
の論理手段と上記電子計算装置に送る制御手段とを、備
え、論理演算が上記累算器には影響を及ぼさず、上記電
子計算装置とは独立に上記データメモリロケーションの
少なくとも一つのビットに影響を及ぼす、データ処理装
置を備える装置。 14. 上記データ処理装置の電気ビットにより規定され
る命令に応答する電子的自動車制御装置と、上記データ
処理装置から上記電子自動車制御装置に選択ビットを供
給するインターフェースと、から成る第13項の装置。 15. 更に、1プロセスの状態に応答するプロセス制御
センサと、上記データ処理装置の電気ビットにより規定
される方向に応答するプロセス制御要素と、から成り、
上記データ処理装置が上記センサに接続され選択され
たビットを上記プロセス制御要素に供給するインターフ
ェースを備える第13項の装置。 16. 更に、A/D変換とD/A変換を組合わせた電話
回線に接続するための変換回路を備え、上記データ処理
装置が上記変換回路に接続され電話と接続され、スクラ
ンブルと変調の双方の動作可能なシングルチップより成
り、上記論理回路が変調プロセスで処理を行う上記電子
計算装置と同時にスクランブルプロセスで処理を実行す
る、第13項の装置。 17. データ処理装置(11)はコンテキスト信号(I
NT)に応答して同コンテキスト信号(INT)により
識別される代替的な処理コンテキスト内で動作する電子
プロセッサ(15)を備える。第1と第2のレジスタ
(851、855)は電子プロセッサ(15)に接続さ
れて1つの処理コンテキストに参加すると共に別の処理
コンテキストからの情報をそれに復帰するまで保持す
る。コンテキストスイチング回路(231、853、8
57)は第1と第2のレジスタ(851、855)に接
続され、処理コンテキストに応じて電子プロセッサ(1
5)間でレジスタの入出力処理を選択的に制御する。他
の装置、システム、方法も並行論理装置とシリーズ最小
/最大関数計算用の構成を伴ったものが開示される。
【図面の簡単な説明】
【図1A】シングル半導体チップ上に形成されるCPU
もしくは中央処理装置を備える改良マイクロコンピュー
タ装置の電気的ブロック線図の2つの反面図である。
【図1B】シングル半導体チップ上に形成されるCPU
もしくは中央処理装置を備える改良マイクロコンピュー
タ装置の電気的ブロック線図の2つの反面図である。
【図2】改良産業プロセスと保護目的制御システムのブ
ロック線図である。
【図3】改良自動車装置の一部はそのまゝ描いた、一部
はブロック状の電気線図である。
【図4】改良モータ制御装置の電気ブロック線図であ
る。
【図5】もう一つの改良モータ制御装置の電気ブロック
線図である。
【図6】更にもう一つの改良モータ制御装置の電気ブロ
ック線図である。
【図7】改良ロボット制御装置の電気ブロック線図であ
る。
【図8】改良衛星テレコミュニケーション装置の電気ブ
ロック線図である。
【図9】図8の装置の改良エコー消去装置の電気ブロッ
ク線図である。
【図10】改良モデム送信機の電気ブロック線図であ
る。
【図11】図10の同様に改良モデム送信機のハードウ
ェアブロックもしくはプロセスブロックを表示する電気
ブロック線図である。
【図12】図12は同様に改良モデム受信機のハードウ
ェアブロックもしくはプロセスブロックを表示する電気
ブロック線図である。
【図13】図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 コンテキスト信号 231 テキスト処理コンテキスト 851 第1と第2のレジスタ 853 テキスト処理コンテキスト 855 第1と第2のレジスタ 857 テキスト処理コンテキスト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ エフ ホーランダー アメリカ合衆国 テキサス州 ダラス オ ーデリア 12516 アパートメント 101

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 数を表している二つの組の電気信号を比
    較する方法であって: (A)累算器に第1の組の信号を記憶し; (B)レジスタに第2の組の信号を記憶し; (C)論理演算装置で前記累算器及び前記レジスタから
    の前記二つの組の信号を比較し;かつ (D)前記比較の結果に基づいて、前記レジスタに前記
    二つの組の信号の一つを記憶する段階を具備することを
    特徴とする方法。
JP21558098A 1989-05-04 1998-07-30 数を表している二つの組の電気信号を比較する方法 Pending JPH1196021A (ja)

Applications Claiming Priority (6)

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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11733690A Division JP3173777B2 (ja) 1989-05-04 1990-05-07 データ処理装置

Publications (1)

Publication Number Publication Date
JPH1196021A true JPH1196021A (ja) 1999-04-09

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 データ処理装置
JP21557998A Pending JPH1196020A (ja) 1989-05-04 1998-07-30 データ演算処理装置
JP21558098A Pending JPH1196021A (ja) 1989-05-04 1998-07-30 数を表している二つの組の電気信号を比較する方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP11733690A Expired - Fee Related JP3173777B2 (ja) 1989-05-04 1990-05-07 データ処理装置
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) DE69034059T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010500658A (ja) * 2006-08-07 2010-01-07 クゥアルコム・インコーポレイテッド コンテキストスイッチ装置を有するレジスタおよびコンテキストスイッチングの方法

Families Citing this family (16)

* 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
GB2396229B (en) * 2002-12-12 2006-01-11 Advanced Risc Mach Ltd Processing activity masking in a data processing system
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
US10693469B2 (en) 2018-08-31 2020-06-23 Flex Logic Technologies, Inc. Multiplier-accumulator circuit, logic tile architecture for multiply-accumulate, and IC including logic tile array
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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010500658A (ja) * 2006-08-07 2010-01-07 クゥアルコム・インコーポレイテッド コンテキストスイッチ装置を有するレジスタおよびコンテキストスイッチングの方法
JP2012069137A (ja) * 2006-08-07 2012-04-05 Qualcomm Inc コンテキストスイッチ装置を有するレジスタおよびコンテキストスイッチングの方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US6253307B1 (en) Data processing device with mask and status bits for selecting a set of status conditions
US5349687A (en) Speech recognition system having first and second registers enabling both to concurrently receive identical information in one context and disabling one to retain the information in a next context
US5155812A (en) Devices and method for generating and using systems, software waitstates on address boundaries in data processing
US5072418A (en) Series maxium/minimum function computing devices, systems and methods
US5586275A (en) Devices and systems with parallel logic unit operable on data memory locations, and methods
US6986142B1 (en) Microphone/speaker system with context switching in processor
JPH1196021A (ja) 数を表している二つの組の電気信号を比較する方法
US6182203B1 (en) Microprocessor
US20050251638A1 (en) Devices, systems and methods for conditional instructions
US20050278512A1 (en) Context switching devices, systems and methods
US5652910A (en) Devices and systems with conditional instructions
US5829054A (en) Devices and systems with parallel logic unit operable on data memory locations
US5777885A (en) Devices and systems with protective terminal configuration, and methods