JP2501711B2 - ワンチップディジタル信号プロセッサ - Google Patents

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

Info

Publication number
JP2501711B2
JP2501711B2 JP4103118A JP10311892A JP2501711B2 JP 2501711 B2 JP2501711 B2 JP 2501711B2 JP 4103118 A JP4103118 A JP 4103118A JP 10311892 A JP10311892 A JP 10311892A JP 2501711 B2 JP2501711 B2 JP 2501711B2
Authority
JP
Japan
Prior art keywords
register
data
bus
memory
output
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 - Lifetime
Application number
JP4103118A
Other languages
English (en)
Other versions
JPH0644288A (ja
Inventor
ヨハネス アントニウス ファン フェイク フランシスカス
ルイス ファン メールベルゲン ヨセフ
ペター ヨハネス マチス ヴェルテン フランシスカス
ヨハネス スロージター ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV, Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JPH0644288A publication Critical patent/JPH0644288A/ja
Application granted granted Critical
Publication of JP2501711B2 publication Critical patent/JP2501711B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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
    • G06F7/5443Sum of products
    • 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】プログラムメモリの制御の下でデ
ィジタルデータを処理するワンチップディジタル信号プ
ロセッサに関するものである。
【0002】
【従来の技術】この種のディジタル信号プロセッサは欧
州特許出願第0086807-A2号( テキサスインスツルメント
コーポレーションに譲渡) により既知である。この既知
の装置はプログラムバス及びデータバスがチップ上に設
けられた集積マイクロコンピュータであり、外部とのプ
ログラム情報の交替も可能である。更に、乗算素子の出
力端子は論理演算ユニットの入力端子の一つに直接結合
している。斯るプロセッサのフレキシビリティはこのよ
うな直接結合のために高くし得ないことが確かめられ
た。更に、一つのデータバスしかないためにプロセッサ
のフレキシビリティを高くし得ないことも確かめられ
た。ここで“バス”とは少なくとも2個の可能情報源を
有する少なくとも8個のステーションと少なくとも2個
の可能情報宛先との間を接続する相互接続手段を意味す
る。
【0003】
【発明の目的及び概要】本発明の目的は多種多様な用途
を提供すると共に高速度の信号処理を行い得るワンチッ
プディジタル信号プロセッサを提供することである。本
発明は、上述した目的を達成するために、プログラムメ
モリの制御の下でディジタルデータを処理するワンチッ
プディジタル信号プロセッサであって、(a) ワード幅転
送を実行するバス手段と; (b) 第1及び第2オペランド入力端子と結果出力端子と
を有し、その第1オペランド入力が前記バス手段により
供給される第1計算手段及び該計算手段の結果出力が供
給されると共に前記バス手段又は前記計算手段の第2オ
ペランド入力端子へ選択的に接続し得る出力アキュムレ
ータレジスタ手段と; (c) 前記バス手段によりデータが供給されるアドレス計
算手段及び前記バス手段に双方向接続されたデータ入出
力手段を有するデータ読出−書込メモリ手段と; (d) 前記バス手段から前記プログラムメモリに対するア
ドレス情報を受信し、前記プログラムメモリから前記プ
ロセッサへ制御情報を送出する接続手段と; (e) 前記バス手段に双方向接続された外部入/出力手段
と; (f) 第1制御状態及び第2制御状態を有するパイプライ
ン制御手段であって、 (i) 第1制御状態においては1命令サイクル内に次のオ
ペレーション; −前記アドレス計算手段におけるメモリアドレス計算及
び関連する前記データ読出−書込メモリアドレスへのア
クセス; −前記第1計算手段へのデータワードのバス転送及び該
データワードを処理して前記出力アキュムレータレジス
タ手段内に結果データワードを発生せしめるデータ処理
動作; を同時に存在させ、 (ii)第2制御状態においては1命令サイクル内に次のオ
ペレーション; −前記アドレス計算手段における次の命令サイクルのた
めのメモリアドレスの計算; −現メモリアドレスに基づいて次の命令サイクルのため
のオペランドを取り出すメモリアクセス; −現オペランドの前記第1計算手段へのバス転送及び該
オペランドを処理して現命令サイクル+次の命令サイク
ルの持続時間中に結果オペランドを形成するデータ処理
動作; を同時に存在させるパイプライン制御手段とを具え、前
記読出−書込メモリ手段の前記データ入/出力手段が、
前記第1制御状態においてトランスペアレント状態に駆
動されるが前記第2制御状態においてホールディング状
態に駆動される出力レジスタを含み、前記バス手段と前
記第1計算手段の第1オペランド入力端子との間に前記
第1及び第2制御状態の両状態においてトランスペアレ
ントに駆動される入力レジスタを含むことを特徴とする
ディジタル信号プロセッサ。
【0004】
【実施例】以下、図面につき本発明を詳細に説明する。
図1は本発明によるディジタル信号プロセッサの一例の
全体ブロック図を示す。内部接続は第1の16ビットデ
ータバス22と第2の16ビットデータバス20により
実現される。回路は多数のレジスタを具え、そのいくつ
かは2個のデータバスの1個に直接接続される(即ち、
素子24,26,34,46,48,50,56(最後
の2個は選択素子を介して)、70,72,74,8
8,100,104,106,113,120,12
4,126)。素子30はプログラムカウンタであり、
これは1語40ビットの512ワードの容量を有するプ
ログラムメモリ28をアドレスするもので、これから読
出された命令は出力レジスタ26にロードすることがで
きる。これらの命令の実行については後に詳述する。そ
の殆どのビットは簡単のため省略してある接続/デコー
ダを経て回路の残部における他の諸機能を制御するもの
である。各種命令の16ビット部分は両データバス2
0,22に並列に供給することができる。プログラムカ
ウンタ30には命令レジスタ26からの9ビット又は8
ワードスタックレジスタ158からのアドレスをロード
することができる。レジスタ24は割込アドレスレジス
タとして作用し、両バスとの間に非対称に接続する(即
ち、後述する素子34,70,78と同様にバス22へ
は単方向に、バス20へは双方向に接続する)。このこ
とは不可欠の用件ではなく、長い命令ワードに対しては
制御すべき種々の機能数が多くなるためもっと汎用の接
続パターンを実現することもできる。必要に応じ、メモ
リ28は集積しないで、プログラミングを容易にするた
めに“個別”メモリとして構成することがてき、この場
合には集積回路に命令レジスタ26に情報を供給するた
めの40本の追加のピンを付加する。これら40本のピ
ンのうち少なくとも9本は外部メモリへのアドレス供給
用に双方向動作するものとするのが好適である。特定の
例(図示せず)では、このアドレス供給用ピン数を16
本としてその幅をデータバスの幅に等しくする。これら
40本の接続ピンは交互にアドレスとデータに時分割多
重使用する。
【0005】素子90はデータメモリで、本例では1語
16ビットの512ワードの容量を有する読出専用メモ
リとして構成されている。必要に応じ、このメモリ90
は集積しないで、プログラミングを容易にするために
“個別”メモリとして構成することができ、この場合に
は集積回路に素子88への情報供給用の16本のピンを
付加する。これら16本のピンのうち9本は外部メモリ
へのアドレス供給用に双方向動作するものとする。これ
らピンも時分割多重使用する。更に、素子36,102
はデータメモリモジュールであり、素子38,92,1
14はアドレス計算ユニットであり、素子66,78は
両バス20,22に対する選択器である。レジスタ4
8,100,106はアドレス計算ユニット(図5につ
き詳述する)と関連する。更に、図から明らかなように
いくつかのレジスタ(例えば88,104,46,7
2,74,34)は両バスへの選択接続を有する。レジ
スタ50,56は選択的にトランスペアレント(透過)
モードにし得るレジスタとして動作する。素子58は関
連する制御レジスタ70を具える16×16ビット乗算
素子である。素子64は40ビットアキュムレータアダ
ーである。素子68は40ビットアキュムレータレジス
タである。素子78は双方向選択器である。素子122
は論理演算ユニットである。素子116は3つの接続
(ポート)を有するメモリで、一組のスクラッチパッド
メモリ又は処理メモリとして使用される。更に、素子1
28は入/出力制御素子であり、素子80,82,8
4,86,130,132は外部装置との通信用入/出
力装置である。
【0006】種々のレジスタは次の機能を有する。
【表1】
【0007】
【機能の説明】本データプロセッサはクロック(図示せ
ず)により同期されて1秒間に1億までの命令を実行し
得る。これは数個の命令をパイプライン構成により並列
に実行し得ることにより達成される。2個の並列動作デ
ータバスによりデータ転送が加速される。外部装置との
コミュニケーションが直列並びに並列コミュニケーショ
ン用のパワフルI/Oインターフェースユニットにより
与えられる。3つのデータメモリ、即ち2個の読出−書
込みメモリと1個の読出専用メモリを具え、各メモリは
専用のアドレス計算ユニットを具えている。論理演算ユ
ニット122は後述する命令セットを有する。乗算素子
58は40ビットアキュムレータ64/68及び汎用シ
フトユニット62と組合せてある。
【0008】本発明者はある場合には両バス又は一方の
バスにもっと大きなビット幅、例えば24ビットをもた
せるのが有利であることを確かめた。ある場合には全て
の素子を24ビットラインの全てに接続する必要はな
い。場合に応じて所定の素子は16ビット又は12ビッ
トのラインに接続することができる。更に、素子を節約
するために、ある場合には(読出専用)メモリとデータ
メモリのアドレスユニットを併合することがてきる。
【0009】〔命令セットの概要〕図2は実行し得る4
種類の命令を示す。最初の2ビットは命令の種類を示
す。第1の算術命令は論理演算ユニットの演算と、最大
2個のバスによるバス転送と、最大3個のアドレス計算
を並列に制御する。第2の算術命令は第1の命令と同様
の構成で、乗算素子の演算を制御する。フィールドAI
NS/OPS又はMINSは演算を制御し、SX/DX
又はSY/DYは2個のバス上のソース素子又は宛先素
子をそれぞれ制御し、RFILEはローカルメモリ11
6のアドレスとして作用し、ACUA,ACUB、AC
URはアドレス計算ユニットを制御する。
【0010】第3の命令(分岐命令)においてはビット
3〜18が分岐の宛先アドレスを含んでいる。BRは分
岐命令の種類を示し、CONDは分岐の条件を示す。ビ
ット位置2及び27〜39は空にする。或いは又、この
命令にも上述のACUフィールドをこれらの空フィール
ドに含めることができる。
【0011】第4の命令(直接ローディング)において
は、フィールドDATAはバスに転送すべきデータを示
し、他のフィルードは演算命令のものと同様である。こ
れら命令の詳細については後に詳述する。
【0012】標準動作モードでは、各1ワード命令は2
00nsで実行することができる。所定のプログラム制
御ではこれを100nsに短縮することができる。これ
は後に詳述するパイプライン原理の実行により達成され
る。これに関し、図3に標準の200nsの命令サイク
ルのタイムチャートを示す。図4は加速命令サイクルの
タイムチャートを示す。図3のライン200は200n
sの長さを有する命令のタイムインターバルの系列を示
す。ライン交差部は前のインターバルと次のインターバ
ルの接続を示す。ライン202はオペランドのフェッチ
操作を示す。ブロック1は読出アドレスの計算のための
タイムスペースを与える。個別メモリ36,102及び
90の組織構成のために、これはこれら3つのメモリの
任意の組合せで同時に行うことができる。(場合によっ
ては3個のメモリで同時に行うこともできる)。更に、
関連するメモリを読出す。メモリがオペランドを供給す
る限り、インターバルブロック2においてこのメモリの
関連する位置の情報が出力端子に有効化される。ライン
204はデータの処理を示す。そのブロック1は2個の
転送バスの一方(又は両方)にデータを転送するための
タイムスペースを与えると共に可能な場合には乗算素子
及び/又は論理演算ユニットにおける実際の処理のため
のタイムスペースを与える。しかし、所定の場合には、
例えばレジスタからレジスタへの転送のみが行われると
きは斯かる操作は行われない。このライン上のブロック
2の間、このようにして得られた任意のデータが処理さ
れて関連する処理素子の出力端子に有効に現れる。ライ
ン206はこのように形成されたデータの送出を示す。
そのブロック1は2個の読出−書込メモリの一方(又は
双方)のアドレスの計算のためのタイムスペースを与え
る。ブロック2はバス20,22の一方又は双方を経て
読出−書込メモリへ転送するためのタイムスペースを与
え、この目的のためにこの場合にはアドレスはライン2
06のブロック1で計算される。これがため、1つの命
令の開始と終了との間には200nsの3つのブロック
が存在する。しかし、これらブロックの第2ブロック中
にアドレス計算を次の命令のために予め行うことができ
る。このサイクルの第3ブロック中にデータ処理(アキ
ュムレータを具える乗算素子及び/又は論理演算ユニッ
ト)を次の命令のために予め行うことができる。上述の
ような命令の実行中、素子34内のプログラムステータ
スレジスタPSTのビットFQRは値“0”を有する。
第2の高速動作モードは後に説明する。
【0013】〔サブシステムの詳細な説明〕 (1) プログラムメモリ28 このメモリはプログラムカウンタ30によりアドレスさ
れる。このカウンタはインクリメント機能(アドレス+
1)を有すると共に“コンスタント”機能(アドレス不
変)を有する。更に次の機能を行うことができる。 −CALL命令 −JUMP命令 −RETURN命令 プログラムカウンタはリセット入力端子33及び割込入
力端子35を具える制御ユニット31により制御され
る。その状態は −命令反復を指示するレジスタ32 −前記命令カテゴリ用レジスタPST内に条件情報を含
むと共に命令サイクル情報(FQR)及び割込の許可に
関する情報も含むレジスタバンク34によっても制御さ
れる。これらのレジスタ32,34はバス20からロー
ドすることができ(34はデータソースとしても作用し
得る)、これがためこれらレジスタは両バス20,22
に非対称に接続する。
【0014】実際のプログラムカウンタ30(9ビッ
ト)は次の機能を満足する。 −メモリ28から各命令が命令レジスタ26にフェッチ
されるのに応答してプログラムカウンタはインクリメン
ト(プラス1カウント)する。順次の通常の命令の一つ
の実行時においてはそのアドレスフィールドの値がプロ
グラムカウンタに新しいアドレスとして転送される: −ジャンプ命令(実行可能な場合) −コール命令(実行可能な場合) 後者の(コール)命令においては、プログラムカウンタ
の内容が+1カウント後にスタックレジスタ158の上
部レジスタに書き込まれる。リターン命令が実行される
とき、スタックの最上位レジスタの内容がプログラムカ
ウンタに転送される。レジスタ24からの割込アドレス
は入力端子35の割込ビット(INT(反転))が値0
を取るときにプログラムカウンタに転送され、この割込
はレジスタPSTの関連するエネーブルビットIEが値
“1”を有するときに許可され、+1カウントされたプ
ログラムカウンタの内容がスタックの最上位レジスタに
書込まれる。スタックレジスタは後入れ先出し構成の8
個の9ビットレジスタを具えるため、最大8レベルのネ
スト構成をサブルーチン/割込において使用することが
できる。
【0015】 (2) データメモリモジュール36,102,90 読出専用メモリ90は1語16ビット構成で512ワー
ドの容量を有し、他の2個のメモリは1語16ビット構
成で256ワードの容量を有する。アドレスはそれぞれ
9ビット及び8ビット長である。メモリ36,102の
データ入力端子はバス20,22に非対称に接続する。
それらの出力端子は選択器を介してバス20,22に対
称に接続し、データは必要に応じ一方のバス又は両方の
バスを経て転送される。上述の低速命令サイクルが駆動
されるときは出力レジスタ46,88,104は連続的
にトランスペアレントモードにされる。
【0016】(3) アドレス計算ユニット 本例の計算ユニット38,92,114は、38,11
4のワード長が8ビット、92のワード長が9ビットで
ある点を除いて同一である。アドレス計算は2個の算術
/データ転送命令及びロード即値命令と共存させること
ができる。これがためアドレス計算を高速に実行するこ
とができる。
【0017】斯かるアドレス計算ユニットのブロック図
は第5図に示し、バス208(図1の2本のバス20,
21の一方)を具えると共に全ての素子を実際のメモリ
マトリックス兼アドレスデコーダのための接続手段23
2までの間に具える。入力側には次の3個のレジスタが
設けられている。 210:アドレスマスク用レジスタ 212:計算を開始する際の実アドレス用レジスタ 213:シフト(オフセツト)用レジスタ
【0018】これら3つのレジスタの内容は割り込み操
作の開始時に、後の操作中における使用のために保持す
ることができる。素子214は限られたビット幅及び限
られた範囲の演算機能(図1の素子122に対し)を有
する論理演算ユニットである。素子216は素子214
の計算結果をマスキングレジスタ210の内容により通
過又は阻止し得るマスキング素子である。マスキング素
子216の出力端子はAレジスタ212に接続する。更
に、逆転素子218においてビット順序を逆転させるこ
とができる。素子218からの結果を実アドレスレジス
タ230にストアすることができる。このレジスタ23
0には16ビットバスの全ライン(又は一部のライン)
上のデータを直接ロードすることもできる。素子216
でのマスキングは所定のモジュロ値に従ってアドレスを
周期的に通過させるのに使用することができる。ビット
順序の逆転は所定のフーリェ変換計算を使用することが
できる。マスク値(“0”)がモジュロレジスタ210
に受信されるときはレジスタ230の関連するビット位
置はそのままである。しかし、値“1”が受信される
と、関連するビット位置は新しい値に更新される。所定
の場合には関連するビット位置に逆転処理を施しておく
こともできる。この場合のレジスタ230の制御を点線
で示してある。実際には後述する操作を制御する制御ユ
ニットを設ける。
【0019】この点に関し、第6図にアドレス計算ユニ
ット38,92,114の命令セットを示す。これらア
ドレス計算ユニットは命令ワードの関連するフィールド
で制御され、C31〜33は素子38用、C34〜36
は素子114用、C37〜39は素子92用である(こ
のワードは前述のレジスタ26内に存在する)。図6は
2つに分けてあり、上半部は当該ユニットが後述するマ
イクロ命令ワードのフィールドDX及び/又はDYの制
御の下でデータ宛先として選択されていないときに適用
し得るものである。逆の場合には下半部を適用し得る。
第1欄はニーモニックを示し、第2欄はビットパターン
を示し、第3〜第6欄は4個のレジスタ230,21
2,213,210の新しい内容を示し、“BUS”は
そのレジスタをバスからの新しいデータで満たすことを
意味する。(A+1)mMはアドレス(A+1)をマス
キングレジスタMの内容によりマスクすることを意味
し、これに対応して例えばA−1,A+S等も同様であ
る。“BR”はビット順序を逆転することを意味する。
命令LALLはバスの内容をビット反転することを意味
する。関連するアドレス計算ユニットのローディング中
は、“即値ロード”命令であってもMレジスタ210の
内容はARレジスタ230の実ローディングに影響を与
えない。ビット位置はこの場合には逆転されない。
【0020】(4) 乗算素子58 乗算は「Q.J.Mech.Appl.Math.4」(1951),P.236-240のA.
D.Booth の論文“A signed binary mnltiplier techniq
ue”に記載されているブ−ス(Booth)のアルゴリズムに
従って並列に完全に行なわれ、「IEEE Trans. Computer
s 」(Octorber1976), P 1014 −1015の L.P. Rubinfeld
の論文“A proof of the modified Booth.s algorith
m for multiplication ”に発表されているように修正
する。レジスタ50,56の出力端子の2個の16ビッ
トオペランドから32ビットの積ワードが1マシーンサ
イクルで形成される。この乗算素子は最上位桁ビットが
負値(符号ビット)を有するものとして動作するよう構
成する。これがためオペランドの多倍精度での処理中、
その下位桁部分は符号ビットを含まず、先行ビット位置
には常に零を入れる必要がある。この抑圧自体について
は本願人に係る特願昭59−258395号(特開昭6
0−140463号)に記載されている。
【0021】素子58の出力端子にはアキュムレータア
ダー64及びアキュムレータレジスタ68を接続し、両
素子とも40ビットの幅を有する。必要に応じ、レジス
タ60内の符号ビット(積の最上位桁ビット)は40ビ
ットの総数が到達するまで上位桁ビット上に転記され
る。更に2個のフラグビットが素子34内のプログラム
ステータレジスタPST内に与えられる(或いは又この
数が増加される)。
【0022】(a) 値レンジの許容限界値をオーバする
と、オーバフロービットOVFL1が生成される。その
論理関数は40ビットの累算/加算結果の2個の最上位
桁ビットのEXCLUSIVE−ORである。 (b) 第2ステータスビットSGNMは累算結果の符号を
示す。その論理関数はOVFLと累算/加算結果の最上
位桁ビットの1つの前のビットとのEXCLUSVE−
ORである。
【0023】OVFLが算術命令のために値“1”を得
る場合、ビットOVFL,SGNMは固定される。この
場合、これらビットはプログラム制御によってのみ変更
でき、論理演算ユニット内のプログラムステータレジス
タの内容は変更操作を受ける。ビットOVFLが値
“0”を保つかぎり、両スタータスビットはアキュムレ
ータにより使用される各算術命令後に質問される。累算
結果はレジスタ68にストアされると共にシフト、抽出
及びリフォーマッティング操作のために素子62に供給
される。アキュムレータレジスタ68の出力はアキュム
レータアダー64に帰還される。
【0024】(5) シフト素子62 図7はリフォーマッティング操作も行なうシフト素子を
示す。この図の上部にはアキュムレータ/アダー64か
ら40ビットが到来する。オーバフロー状態をできるだ
け避けるために符号拡張操作を含めてある。オーバフロ
ー状態は、同一の符号を有する複数個の順次の数の加算
によりその和が大きくなりすぎるときに生ずる。本例で
はこの危険は低減される。抽出器400の入力端子には
最上位桁ビットACC39がその上の15の上位ビット
位置まで延在する。これはオーバフロー状態を検出する
ためである。シフト素子400においてはこのように受
信された55ビットから32ビット(倍長)ワードが抽
出される。図の左側には4ビットコード(ビット0・・
・3)を含むレジスタ(70)BSRを示してある。こ
のコードはデコーダ402によりデコードされる。この
点に関し、図8に16種類の可能な抽出を示してある。
アキュムレータビットは最下位桁ビット“0”で補充さ
れる。これがため、ビットBSR0,・・3の000
0;・・・;1111により互いにシフトされた16種
類の各32ビットの抽出が得られる。レジスタ70は実
際の抽出操作前に少なくとも1命令サイクルで充填する
必要がある。ビットBSR4,5はデコーダ404によ
りデコードされ、これによりリフォーマッティング装置
406が駆動される。抽出された32ビットはE31・
・・E0として示してある。ビットBSR4,5の値は
次のリフォーマッティング操作を制御する。
【0025】
【表2】
【0026】素子72,74はレジスタであり、その出
力の2個のバスへの選択は格別の選択器73,75(図
1に図示せず)で示してある。抽出器400は32ビッ
トを素子406へ供給するのに加えて9ビットの上位ビ
ットE31,・・・E40をオーバフロー検出器を構成
する検出器408にも供給する。これら9ビットの中に
非許容ビット値(E31とは異なる)が生じた場合、プ
ログラムステータスレジスタPSTのビットOORは
“1”にセットされ、これは関連する上位ビットは符号
表示ビットE31の反復でなければならないためであ
る。諸機能を制御する命令中のフィールドMINSにつ
いては後に詳述する。
【0027】(6) ALUユニット122 図9は論理演算ユニット122とその外部装置を示す。
ブロック66,118,120及び122は図1に示す
ものである。ブロック119は命令のフィールドOPS
用デコーダであり、ブロック121は命令のフィールド
AINS用デコーダである。ブロック125は命令のフ
ィールドSX,SY,DX,DY用デコーダである。A
LU素子122の出力端子には後述するシフト機能及び
回転機能用ブロック123を接続する。プログラムステ
ータスレジスタPSTを図示してないデコード素子を用
いてALU122に及びシフト/回転素子123に接続
する。
【0028】ユニット122は2の補数法で動作する。
フラグビットは次の通りである(下記の場合に“1”に
なる):
【表3】
【0029】
【表4】
【0030】上述のリストにおいて、論理演算はビット
レベルで行なわれる。算術演算では符号ビットが所定の
場合に特定の方法で処理される。回転操作ではシフトア
ウトされたビットが反対側でオペランドに再び加えられ
る。命令のサブフィールドの詳細については図14〜1
7を参照されたい。プログラムステータスレジスタPS
Tのバス接続手段への接続は簡単化して示してある。
【0031】図10は第1アキュムレータ手段の構造を
示す。アキュムレータアダー122はALU内に位置す
ること明らかである。メモリMEMは各m=16ビット
の2 n-1 ワードをストアするメモリバンクで構成する。
このメモリは1個のデータ入力端子Yと2個の出力端子
OUT1及びOUT2を有し、各端子はmビット幅であ
る。3個の各別のアドレス入力端子ADRY,ADRO
UT1及びADROUT2があり、各端子はnビット
(本例ではn=4)の幅を有する。第1のアドレス入力
端子は書込アドレスであり、他の2個は読出アドレスで
あり、各々関連するデータ接続のためのものである。こ
れら3つの接続は一つの同一の命令サイクルにおいて同
時に且つ独立に動作させることができる。
【0032】(7) 割込アドレスレジスタ24 レジスタ24は2個のバスの一方からロードされ、割込
操作の開始時にプログラムカウンタ30に転送するアド
レスを保持する。
【0033】(8) プログラムステータスレジスタ:これ
については16ビットプログラムステータスレジスタ
(図1の素子34内にある)のビット単位区分を示す図
13を参照されたい。これらビットは次の意味を有す
る。
【0034】
【表5】
【0035】 (9) 入/出力ステータスレジスタ(IOF) このレジスタは3個のレジスタを具えるレジスタバンク
34の一部を構成する。このレジスタは外部装置とのコ
ミュニケーションのためのステータス情報及びフラグビ
ットを含む。これらフラグビットは次の意味を有する。
SIXACKはレジスタ82の有効情報充填程度を示
す。SIYACKはレジスタ132に対し同じことを示
す。SOXACKはレジスタ84にデータがロードされ
ているか否かを示す。SOYACKも同一の目的に使用
される。PIACK:このフラグビットはWR(反転)
ピンにおける低レベルから高レベルへの遷移によりプロ
セッサのクロック(図示せず)と同期して“1”にセッ
トされる。データがPIレジスタ(86)から読出され
るとき、このフラグは再び“0”にセットされる。PO
ACK:このフラグビットはRD(反転)ピンにおける
低レベルから高レベルへの遷移により内部クロックと同
期して“1”にセットされる。データがPO(86)レ
ジスタに書込まれるとき、このフラグは再び“0”にセ
ットされる。この入/出力ステータスレジスタ内の2個
のビットIFA,IFBはユーザが定義するフラグビッ
トを含み、これらフラグビットはジャンプ条件の創案中
に質問用に集積回路に予約されている接続ピンを経て質
問することができる。
【0036】(10) 命令反復レジスタ32 このレジスタ32はハードウェア命令カウンタとして作
用し、これに値Nがロードされると、次の命令がN回く
り返される。このレジスタは任意の命令の実行に応答し
てデクリメントされるが、プログラムカウンタ30はレ
ジスタ32の内容が零のときにのみインクリメントされ
る。斯る反復はベクトル演算に特に有利に使用できる。
【0037】(11) 入/出力装置の説明 SOX(32)及びSOY(132)接続手段は関連す
るバスからのデータを外部装置へ送出することができ
る。この目的のために、各接続手段は外部クロックで同
期し得る16ビットレジスタを具える。これらレジスタ
は内部リクエスト及びデータ充填操作のための同期ハン
ドシェークとしてのエネーブル信号も受信する。両レジ
スタとも出力端に出力すべきビット数を指示するプリセ
ッタブルカウンタを有する。
【0038】SIX(82)及びSIY(130)接続
手段は外部装置からのデータを関連するデータバスに受
信することができる。この目的のために各接続手段は内
部クロックで同期し得る直列入力シフトレジスタを具え
る。この入力シフトレジスタはバスへデータを供給する
ためのバッファレジスタに並列に接続される。最后に、
これらレジスタは並列レジスタからの読出操作のための
同期ハンドシェークとして内部リクエストとエネーブル
信号を受信する。また、バスに並列にロードすべきビッ
ト数を制御するブリセッタブルカウンタも設けられる。
【0039】PI/PO(86)接続手段はプロセッサ
へ及びからデータを並列転送する。この目的のために、
各時間に16ビットレジスタが準備される。
【0040】追加の出力接続手段ADO(80)はデー
タ又はアドレスの外部転送を行なう。このアドレスはア
ドレス計算ユニット又は論理演算ユニットにおいて計算
される。本例では2個のバスにより選択的に充填される
ようにしたレジスタを設けてある。これらの装置はいく
つかの図を参照して後に詳細に説明する。図示のセット
アップは2個のバスに対し略々対称にしてある。他の場
合には構成素子を節約するためにセットアップの対称性
を低減するのが有利である。
【0041】(12) 直列接続ステータスレジスタ(SI
OST):これはレジスタバンク34の最后のレジスタ
で、直列接続に関するステータス情報を含む。16ビッ
トの最初の4ビットSILX3--- 0(実際にはビット
SILX 0がこのステータスワードの第1ビット)は
直列入力シフトレジスタ(接続手段SIX)に対するワ
ード長を含み、コード0000は16ビットのワード長
を意味し、以下同様に、コード1111は1ビットのワ
ード長を意味する。次の4ビットSOLX3,--- 0は
接続手段SOXのワード長を、次の4ビットSILY3
--- 0は接続手段SIYのワード長を、次の4ビットS
OLY3---0は接続手段SOYのワード長を含む。
【0042】〔割込機構〕外部割込信号はピンINT
(反転)上の少なくとも200nsの低レベル信号により
表わされる。このピンは命令サイクル毎に質問され、同
時にプログラムステータスレジスタのビットEI(エネ
ーブルビット)も質問される。EI=1及びINT(反
転)=0の場合、同一サイクルにおいて割込アドレス
(IARレジスタ)への分岐操作が行なわれると共にビ
ットIEが“0”にセットされ、リターンアドレス(プ
ログラムカウンタの+1内容)がスタックレジスタにス
トアされる。ビットIEの“1”への切換えはプログラ
ム制御により行なわれ、斯る後に所定の場合には次の割
込の処理を開始することができる。次いで命令サイクル
全期間中INT(反転)=1の場合には、全ての割込要
求の処理が終了したことになる。このとき最も新しいリ
ターンアドレスがスタックレジスタから再コールされ
る。
【0043】スタックレジスタの容量8ワードを考慮し
て8個の順次の割込レベルを並行式にネスティングする
ことができる。同じことを順次の割込ルーチンに適用す
ることができる。
【0044】最后に、リセットピンRST(反転)を具
え、このピンが少なくとも200nsの低レベル信号を受
信するときプロセッサがリセットされる。この信号はフ
ラグフリップフロップにストアされる。
【0045】〔並列入/出力装置〕図12bは入/出力
装置(並列部)を示す。バス20/22,16ビット選
択器SEL、2個の並列レジスタPI/PO、トリステ
ートバッファTRISTBUFF、外部16ビットバス
D15--- DO、制御ユニットPIOCONTR、及び
制御ビットPIACK、POACKを示してある。外部
装置から供給される信号RD(反転)及びWR(反転)
は既に説明した。ビットPIRQ/PORQは外部装置
へのリクエストである。
【0046】図11は2個の直列出力接続手段の一つを
示す。その出力レジスタ(本例ではSOX)はバスに直
接接続され、出力シフトレジスタSOXSをフィードす
る。SIOSTレジスタによりロードし得るプリセッタ
ブルカウンタCOUNも示してある。出力データはSO
XSレジスタ内に、このレジスタが完全に空のとき(カ
ウンタの内容により決定される)にのみ取り込むことが
できる。そして、これに応答してSOXACKが“1”
にセットされ、新しいデータを供給することが可能にな
り、SOXRQ=1が外部装置へのリクエストを指示
し、カウンタがロードされる。外部装置へのデータの送
出はピンSOXENが“1”になるときに開始され、ピ
ンCOXのクロックパルスにより同期がとられる。トリ
ステートバッファTRISTも値SOXENで制御され
る。カウンタがカウントを停止し、次のデータが持って
いないとき(SOXACK=1)、ビットSOXRQは
“0”にセットされるためSOXS及びカウンタは“ホ
ールド”状態になり、送出された最后のビットがピンD
OX上に存在することになる。SOXENが“0”にな
ると、出力回路DOXは再び高インピーダンスの初期状
態になる。
【0047】図12aは直列入力装置(本例ではX−バ
スに対するもの)を示し、レジスタSIXと、入力シフ
トレジスタSIXと、ブリセッタブルカウンタCOUN
と、制御及びフラグビット位置を具える。レジスタSI
Xがデータソースとしてアドレスされると、レジスタI
OF内のフラグSIXACKが“0”にセットされ、こ
れが次のプロセッササイクルにおいて有効になる。シフ
トレジスタSIXSに受信されたデータはカウンタの内
容がシフト動作終了を示す場合にレジスタSIXに転送
され、このときフラグSIXACKが“1”になってプ
ロセッサにデータの使用可を指示する。同時に、フラグ
ビットSIXQRが“1”になって外部装置にシフトレ
ジスタSIXSが新しいデータを受信できることを知ら
せると共に、カウンタに再びワード長表示ビットSIL
X3--- SILX0がロードされる。このカウンタがリ
セットされているとき、次のデータはシフトレジスタS
IXS内に完全に入る。直列入力処理は入力ビットSI
XQRが“1”になった後にSIXENが“1”になる
と同時に開始する。同期は直列クロックCIXにより与
えられる。カウンタが完全にリセットされたときにまだ
SIXに転送されないデータがある場合にはフラグビッ
トTIXQRは“0”にセットされるため、カウンタ及
びシフトレジスタSIXSは“ホールド”モードにな
る。
【0048】〔高速動作モードの説明〕本プロセッサの
動作は以上では200nsの命令サイクルで行なわれるこ
とを説明した。しかし、パイプライン機構を使用する
と、本プロセッサは僅か100nsの命令サイクルを実行
することもできる。この点に関しては図1を再び参照す
る。特にレジスタ60(乗算素子の出力側にある)、4
6,104,88(データメモリの出力側にある)はパ
イプライン機構の一部も構成する。クロック周波数の調
整により動作加速率を2倍以下に選択することができ
る。
【0049】第4図は高速動作のタイムチャートを示
す。この場合にはプログラムステータスレジスタPST
内のビットFQRは連続的に“1”を有する。
【0050】“ALU”命令においては次の演算を並列
に行なうことができる。
【表6】
【0051】図4において、ライン300は順次のサイ
クルを示す。ライン302のブロック1はアドレス計算
を示す。ライン304のブロック1は先に計算されたア
ドレスによる“読出”アクセスを示す。このラインの次
のブロック2はデータがこのようにアドレスされたメモ
リの出力レジスタに有効に存在する期間を示す。ライン
306のブロック1はデータの転送がバスを経て行なわ
れること及び可能ならALU及び/又は乗算素子におけ
る演算が行なわれることを示す。ライン308のブロッ
ク2(処理が開始するライン306のブロック1より2
ブロック後)は演算結果が乗算素子の出力レジスタに有
効に存在することを示す。他方、ALUユニットにおけ
る演算を同様に行なうこともできる。ライン310のブ
ロック1(ライン308のブロック2より前にある)は
次の計算結果書込操作のためのアドレス計算を行なうこ
とができることを示す。ライン312上のブロック1は
結果データのバス転送とメモリへの書込アクセスが行な
われることを示す。
【0052】この場合、命令レジスタは新しいデータを
100ns毎に(前述の場合の2倍の速さで)受信する必
要がある。レジスタBSRも実際のシフト/リフォーマ
ッティング操作より1命令サイクル前にデータを受信し
少なくとも1命令サイクルの間そのデータを有効に保持
する必要がある。フラグビットEI(割込用)及びRE
SET(リセット用)は100ns毎に質問される。
【0053】“低速”動作サイクル中の動作との差は、
この場合にはメモリの出力レジスタがこれらメモリ自身
の代りにデータバスに対するソース素子として作用する
点にある。更に、全ての分岐命令及び割込要求には操作
を意味しない命令(NOP)を常に後続させる必要があ
る。このようにするとメモリの内容が節約される。
【0054】〔命令セットの詳細な説明〕主なタイプの
命令ワードを示す図2を再び参照して、いくつかの特定
の命令フィールドを詳細に説明する。図14は算術命令
の命令フィールドAINSの表を示す。第1欄はニーモ
ニックを示す。第2欄は2進コードを示す。最后の欄は
フラグビットZ,N,C,Oへの操作を示す。第1欄の
*印は1つのオペランドのみが処理されることを意味
し、従ってこのオペランドは必ず選択器66を経て論理
演算ユニットに到達しなければならない。第4欄の×印
は、当該フラグビットの値は演算結果により決まること
を示す。“零(0)”は当該フラグビットは零にリセッ
トする必要があることを示す。水平ダッシュ(−)は凡
ゆる場合にフラグビットは変更されずにそのまま維持さ
れることを示す。
【0055】フィールドOPSは2個の入力A(レジス
タ120から)及びB(レジスタ118から)のオペラ
ンドを選択する。この2−オペランド命令では、ビット
C7がB入力の制御を与え、“0”はバス22からのオ
ペランドをゲートし、“1”はレジスタ118内に存在
するオペランドを入力させる。ビットC8はA入力の制
御を与え、“0”はバス20のオペランドをゲートし、
“1”はレジスタ120に既に存在するオペランドを入
力させる。1−オペランド命令(図14に*をつけて示
してある)ではレジスタ118が“ホールド”状態にな
り、コード00,01,10によりレジスタ120、バ
ス22及びバス20を順次選択して関連するオペランド
の選択を行なう。例えばSWAPの場合、レジスタ12
0はトランスペアレントになる。
【0056】図15は算術命令のフィールドMINSの
デーブルを示す。7ビツト構成で45コードがあるた
め、所要の定義の自由度が得られる。これらコードは5
つのグループに分けることができ、その第1グループの
みを示す。第1欄はコードビットのスペースである。第
2欄は素子50/52の選択機能を示し、バスからのデ
ータを直接使用すること(トランスペアレントモード)
ができ(X)、またレジスタの内容を使用することがで
きる(MXL)。最后に、乗算係数“−1”を導入する
こともできる。第3欄は素子54/56の選択機能を示
し、バスからのデータを直接使用すること(トランスペ
アレントモード)ができ(Y)、またレジスタの内容を
使用することができる(MYL)。更に、トランスペア
レントモードには反転を伴わせることができる。乗算演
算には常に200nsが必要とされる。第4欄はこうして
得られる積を示す。
【0057】第2のコードグループは第1グループと同
一であるが、この場合にはアキュムレータ/アダー64
が駆動されてレジスタ68の内容が2個の係数の積に正
符号で加えられる。第3グループは第2グループと、こ
の場合にはレジスタ68の内容の前に負符号が付加され
る点を除いて同一である。第4グループは第2グループ
と、この場合にはレジスタ68の内容が右に15ビット
位置シフトされる(2 -15 の乗算) ことを除いて同一で
ある。第5グループは第4グループと、この場合にはシ
フトレジスタ68の内容(シフトされている)の前に負
符号が付加されることを除いて同一である。
【0058】図16はバス20及びバス22に対しデー
タソースとして作用し得る素子を示す2つの表を示す。
この表においてROMは素子90,ADOは素子80,
RAMAは素子36,ARBは素子106,RAMBは
素子102,IARは素子24,SIX,SOC,P
O,PIは入/出力装置の各素子、SIOST,PS
T,IOFはレジスタバンク34の各レジスタ,BSR
は素子70,MSP/LSPは素子72/74,RO--
- R14はレジスタバンク116の各レジスタであり、
PINRはピンPIQRの処理を持たないPIと同一の
ものである。最后に、ARRは素子100,ARAは素
子48である。
【0059】図17はフィールドDX,DYに対する2
個の表を示す。ここで、ACUA,ACUB,ACUR
はそれぞれメモリ36,120,90のアドレス計算ユ
ニットである。このアドレス計算ユニットに対する命令
フィールドはどのローカルレジタスがロードされるかを
決定する。素子116に対してはフィールドR−Fil
eがどのレジスタがロードされるかを選択する。
【0060】最后に種々の信号用接続ピンについて説明
する。
【表7】
【0061】図18は乗算素子を示す。先ず回路構成に
ついて説明する。図1と対応する素子は図1と同一の符
号で示してある。ビットSELXの制御の下で、選択器
54はバスオペランドか、或は信号発生器(図示せず)
により形成される値“−1”を通す。レジスタ56はビ
ットENXの制御の下で選択的にトランスペアレントに
なる。ビットSELYの制御の下で、選択器52はバス
オペランドか、或いはその反転値をゲートする。2の補
数法を使用する結果として、この変換は極めて簡単であ
る。レジスタ50はビットENYの制御の下でトランス
ペアレントになったりならなかったりする。これがた
め、上述したように乗算素子の各入力に対し3つの組合
わせを2個の制御ビットにより選択することができる。
更に、乗算素子58は桁上げ信号CARRを受信する。
乗算素子58の出力端子にはレジスタPRが接続され
る。アキュムレータ/アダー64は特別の機能信号を受
信しない。アキュムレータレジスタ68はエネーブル信
号ENAを受信する。セレクタ69をレジスタ68の出
力端子に接続してこれにストアされているオペランドを
下位桁方向に15ビット位置シフトさせて、或はシフト
させないで転送し得るようにする。このシフトはスタガ
接続により実現することができる。選択器69はオペラ
ンド“0”も受信する。選択器69はアキュムレータ/
アダー64との間に、信号PMにより選択的に駆動され
るインバータ71も含める。
【0062】アキュムレータ/アダー64の出力端子は
シフト素子62にも接続する。図19は素子64に対し
制御すべき6つの機能を第1欄に示す制御表を示す。こ
の表の右欄は必要な制御信号を示す。第1行の信号PM
及びSELA1,2はそれらの先行値を保持することを
示す。この場合レジスタ68の内容は同一のままにな
る。
【図面の簡単な説明】
【図1】本発明データプロセッサの全体ブロック図であ
る。
【図2】実行し得る4つのタイプの命令を示す図であ
る。
【図3】常規動作サイクルにおける標準的な命令の実行
を示すタイムチャートである。
【図4】加速動作サイクルにおける標準的な命令の実行
を示すタイムチャート、である。
【図5】アドレス計算ユニットのブロック図である。
【図6】アドレス計算ユニットの命令セットを示す図で
ある。
【図7】シフト/リフォーマッティングユニットのブロ
ック図である。
【図8】図7のシフトリフォーマッティングユニットで
実現される機能を示す図である。
【図9】論理演算ユニットのブロック図である。
【図10】ローカル処理メモリのブロック図である。
【図11】直列データ出力装置のブロック図である。
【図12】aは直列データ入力装置のブロック図であ
る。bは並列データ入/出力装置のブロック図である。
【図13】プログラムステータスレジスタの説明図であ
る。
【図14】命令コードの一部を示す図である。
【図15】命令コードの一部を示す図である。
【図16】命令コードの一部を示す図である。
【図17】命令コードの一部を示す図である。
【図18】乗算素子のブロック図である。
【図19】図18の乗算素子の機能説明図である。
【符号の説明】
20 第2データバス 22 第1データバス 24 割込アドレスレジスタ 26 命令アドレスレジスタ 28 プログラムメモリ 30 プログラムカウンタ 31 制御ユニット 32 命令反復レジスタ 34 レジスタバンク 36,90,102 データメモリ 38,92,114 アドレス計算ユニット 40,94,108 基準アドレスレジスタ 42,96,110 シフトアドレスレジスタ 44,98, 112 アドレスマスキングレジスタ 46,68,104 データレジスタ 48,100 ,106 瞬時アドレスレジスタ 50,56 トランスペアレント動作し得るレジスタ 52,54 選択器 58 乗算素子 60 積レジスタ 62 シフト素子 64 アキュムレータアダー 66,78 選択器 68 アキュムレータレジスタ 70 制御レジスタ 72,74 最上位桁、最下位桁レジスタ 80 並列出力レジスタ 82,132 直列入力レジスタ 84,130 直列出力レジスタ 86 並列入/出力レジスタ 116 スクラッチパッドレジスタ 118 ,120 レジスタ 122 論理演算ユニット 156 スタックレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ヨセフ ルイス ファン メールベルゲ ン オランダ国 5621 ベーアー アインド ーフェンフルーネヴァウツウェッハ1 (72)発明者 フランシスカス ペター ヨハネス マ チス ヴェルテン オランダ国 5621 ベーアー アインド ーフェンフルーネヴァウツウェッハ1 (72)発明者 ロバート ヨハネス スロージター オランダ国 5621 ベーアー アインド ーフェンフルーネヴァウツウェッハ1

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 プログラムメモリの制御の下でディジタ
    ルデータを処理するワンチップディジタル信号プロセッ
    サであって、 (a) ワード幅転送を実行するバス手段(20, 22)と; (b) 第1及び第2オペランド入力端子と結果出力端子と
    を有し、前記第1オペランド入力が前記バス手段により
    供給される第1計算手段(58;122 )及び該計算手段の
    結果出力が供給されると共に前記バス手段又は前記計算
    手段の第2オペランド入力端子へ選択的に接続し得る出
    力アキュムレータ手段(64, 68;116 )と; (c) 前記バス手段によりデータが供給されるアドレス計
    算手段(38, 114) 及び前記バス手段に双方向接続された
    データ入出力手段を有するデータ読出−書込メモリ手段
    (36, 102) と; (d) 前記バス手段から前記プログラムメモリ(28)に対す
    るアドレス情報を受信し、前記プログラムメモリから前
    記プロセッサへ制御情報を送出する接続手段(24,26)
    と; (e) 前記バス手段に双方向接続された外部入/出力手段
    と; (f) 第1制御状態及び第2制御状態を有するパイプライ
    ン制御手段であって、 (i) 第1制御状態においては1命令サイクル内に次のオ
    ペレーション; −前記アドレス計算手段におけるメモリアドレス計算及
    び関連する前記データ読出−書込メモリアドレスへのア
    クセス; −前記第1計算手段へのデータワードのバス転送及び該
    データワードを処理して前記出力アキュムレータ手段内
    に結果データワードを発生せしめるデータ処理動作; を同時に存在させ、 (ii)第2制御状態においては1命令サイクル内に次のオ
    ペレーション; −前記アドレス計算手段における次の命令サイクルのた
    めのメモリアドレスの計算; −現メモリアドレスに基づいて次の命令サイクルのため
    のオペランドを取り出すメモリアクセス; −現オペランドの前記第1計算手段へのバス転送及び該
    オペランドを処理して現命令サイクル+次の命令サイク
    ルの持続時間中に結果オペランドを形成するデータ処理
    動作; を同時に存在させるパイプライン制御手段とを具え、 前記読出−書込メモリ手段の前記データ入/出力手段
    が、前記第1制御状態においてトランスペアレント状態
    に駆動されるが前記第2制御状態においてホールディン
    グ状態に駆動される出力レジスタ(46, 104) を含み、前
    記バス手段と前記第1計算手段の第1オペランド入力端
    子との間に前記第1及び第2制御状態の両状態において
    トランスペアレントに駆動される入力レジスタ(50, 56;
    118, 120)を含むことを特徴とするディジタル信号プロ
    セッサ。
  2. 【請求項2】 前記バス手段(20, 22)はデータワードの
    長さの少くとも2倍に等しい幅を有し、前記第1計算手
    段(58, 60; 122) 、前記アドレス計算手段(38, 114) 及
    び前記接続手段(24, 26)へのデータワードの選択供給の
    ために2つのデータワードを同時に供給し得るようにし
    たことを特徴とする請求項1記載のディジタル信号プロ
    セッサ。
  3. 【請求項3】 前記バス手段(20, 22)のみが前記選択供
    給のために2つのデータワードを供給する専用手段であ
    ることを特徴とする請求項2記載のディジタル信号プロ
    セッサ。
  4. 【請求項4】 前記出力アキュムレータ手段と前記バス
    手段との間に出力レジスタ(72, 74)を具え、且つ前記第
    2オペランド入力が前記バス手段により直接供給される
    ようにしたことを特徴とする請求項2 記載のディジタル
    信号プロセッサ。
  5. 【請求項5】 前記プログラムメモリ(28)はオンチップ
    メモリであることを特徴とする請求項1記載のディジタ
    ル信号プロセッサ。
  6. 【請求項6】 前記プログラムメモリ(28)はプログラマ
    ブルメモリであることを特徴とする請求項5記載のディ
    ジタル信号プロセッサ。
  7. 【請求項7】 前記第1計算手段(58)内に、前記出力ア
    キュムレータ手段にその結果出力を供給するための中間
    出力レジスタ(60)を含ませ、該中間出力レジスタが前記
    第1制御状態においてトランスペアレント状態に駆動さ
    れるが前記第2制御状態においてホールディング状態に
    駆動されることを特徴とする請求項1記載のディジタル
    信号プロセッサ。
JP4103118A 1983-12-27 1992-04-22 ワンチップディジタル信号プロセッサ Expired - Lifetime JP2501711B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL8304442A NL8304442A (nl) 1983-12-27 1983-12-27 Geintegreerde en programmeerbare processor voor woordsgewijze digitale signaalbewerking.
NL8304442 1983-12-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP59282137A Division JPH0760379B2 (ja) 1983-12-27 1984-12-27 ワンチップディジタル信号プロセッサ

Publications (2)

Publication Number Publication Date
JPH0644288A JPH0644288A (ja) 1994-02-18
JP2501711B2 true JP2501711B2 (ja) 1996-05-29

Family

ID=19842928

Family Applications (2)

Application Number Title Priority Date Filing Date
JP59282137A Expired - Lifetime JPH0760379B2 (ja) 1983-12-27 1984-12-27 ワンチップディジタル信号プロセッサ
JP4103118A Expired - Lifetime JP2501711B2 (ja) 1983-12-27 1992-04-22 ワンチップディジタル信号プロセッサ

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP59282137A Expired - Lifetime JPH0760379B2 (ja) 1983-12-27 1984-12-27 ワンチップディジタル信号プロセッサ

Country Status (7)

Country Link
US (1) US4689738A (ja)
EP (1) EP0154051B1 (ja)
JP (2) JPH0760379B2 (ja)
KR (1) KR920008280B1 (ja)
CA (1) CA1221175A (ja)
DE (2) DE3486457T2 (ja)
NL (1) NL8304442A (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
NL8500526A (nl) * 1985-02-25 1986-09-16 Philips Nv Werkwijze voor het als vertragingslijn adresseren van een geheugen met willekeurige toegankelijkheid en signaalverwerkingsinrichting voorzien van zo een vertragingslijn.
US4641247A (en) * 1985-08-30 1987-02-03 Advanced Micro Devices, Inc. Bit-sliced, dual-bus design of integrated circuits
NL8502848A (nl) * 1985-10-18 1987-05-18 Philips Nv Dataverwerkingsinrichting voorzien van een diskreetstapper om een programmasprong te realiseren.
US4935867A (en) * 1986-03-04 1990-06-19 Advanced Micro Devices, Inc. Signal processor memory management unit with indirect addressing using selectable offsets and modulo values for indexed address calculations
JPH0823808B2 (ja) * 1986-03-24 1996-03-06 沖電気工業株式会社 ディジタル信号処理プロセッサ
JP2844591B2 (ja) * 1987-01-16 1999-01-06 株式会社日立製作所 ディジタル信号処理装置
US5983328A (en) * 1987-03-13 1999-11-09 Texas Instruments Incorporated Data processing device with time-multiplexed memory bus
JPH01166241A (ja) * 1987-12-23 1989-06-30 Hitachi Ltd 情報処理装置
US5692139A (en) * 1988-01-11 1997-11-25 North American Philips Corporation, Signetics Div. VLIW processing device including improved memory for avoiding collisions without an excessive number of ports
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
US4974146A (en) * 1988-05-06 1990-11-27 Science Applications International Corporation Array processor
FR2635390B1 (fr) * 1988-08-12 1990-10-12 Bull Sa Unite centrale pour systeme de traitement de l'information
US5204962A (en) * 1989-11-30 1993-04-20 Mitsubishi Denki Kabushiki Kaisha Processor with preceding operation circuit connected to output of data register
JPH03186928A (ja) * 1989-12-16 1991-08-14 Mitsubishi Electric Corp データ処理装置
US6757809B1 (en) * 1989-12-16 2004-06-29 Renesas Technology Corp. Data processor having 2n bits width data bus for context switching functions
US5218564A (en) * 1991-06-07 1993-06-08 National Semiconductor Corporation Layout efficient 32-bit shifter/register with 16-bit interface
WO1993011500A1 (en) * 1991-11-27 1993-06-10 Seiko Epson Corporation Pixel modification unit
JP3055316B2 (ja) * 1992-08-13 2000-06-26 ヤマハ株式会社 デジタル信号プロセッサ
US5440702A (en) * 1992-10-16 1995-08-08 Delco Electronics Corporation Data processing system with condition code architecture for executing single instruction range checking and limiting operations
US5381360A (en) * 1993-09-27 1995-01-10 Hitachi America, Ltd. Modulo arithmetic addressing circuit
US5692207A (en) * 1994-12-14 1997-11-25 International Business Machines Corporation Digital signal processing system with dual memory structures for performing simplex operations in parallel
US5907864A (en) * 1995-06-07 1999-05-25 Texas Instruments Incorporated Data processing device with time-multiplexed memory bus
US6167472A (en) * 1998-05-29 2000-12-26 Motorola Inc. System for communicating with and initializing a computer peripheral utilizing a masked value generated by exclusive-or of data and corresponding mask
US6467037B1 (en) * 1998-06-30 2002-10-15 Sun Microsystems, Inc. Utilizing a program counter with one or more data counters for executing instructions
DE10009451C1 (de) * 2000-01-31 2001-05-03 Micronas Gmbh Recheneinheit für eingeschränkte Signalverarbeitung
EP1122637A3 (de) * 2000-01-31 2005-10-12 Micronas GmbH Recheneinheit für eingeschränkte Signalverarbeitung
JP3826268B2 (ja) * 2001-11-16 2006-09-27 三菱自動車エンジニアリング株式会社 車両用スピーカの取り付け構造
JP4718927B2 (ja) 2005-07-29 2011-07-06 パイオニア株式会社 スピーカ装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
US4266270A (en) * 1978-09-05 1981-05-05 Motorola, Inc. Microprocessor having plural internal data buses
JPS5647840A (en) * 1979-09-28 1981-04-30 Toshiba Corp Arithmetic unit
US4287566A (en) * 1979-09-28 1981-09-01 Culler-Harrison Inc. Array processor with parallel operations per instruction
JPS5685157A (en) * 1979-12-15 1981-07-11 Toshiba Corp Information processor
JPS56127244A (en) * 1980-03-11 1981-10-05 Toshiba Corp Operation controller
US4577282A (en) * 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4538239A (en) * 1982-02-11 1985-08-27 Texas Instruments Incorporated High-speed multiplier for microcomputer used in digital signal processing system
US4503500A (en) * 1982-02-11 1985-03-05 Texas Instruments Incorporated Microcomputer with bus interchange module
JPS60188660A (ja) * 1984-03-07 1985-09-26 Nippon Piston Ring Co Ltd ピストンリング

Also Published As

Publication number Publication date
JPH0760379B2 (ja) 1995-06-28
DE3486457D1 (de) 1997-11-20
KR920008280B1 (ko) 1992-09-26
CA1221175A (en) 1987-04-28
KR850004680A (ko) 1985-07-25
NL8304442A (nl) 1985-07-16
DE3484308D1 (de) 1991-04-25
EP0154051A1 (en) 1985-09-11
JPH0644288A (ja) 1994-02-18
US4689738A (en) 1987-08-25
DE3486457T2 (de) 1998-04-09
EP0154051B1 (en) 1991-03-20
JPS60157631A (ja) 1985-08-17

Similar Documents

Publication Publication Date Title
JP2501711B2 (ja) ワンチップディジタル信号プロセッサ
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) Parallel processing system
CA1288169C (en) Digital signal processor
US5206940A (en) Address control and generating system for digital signal-processor
CA1297195C (en) Digital signal processor
US5247627A (en) Digital signal processor with conditional branch decision unit and storage of conditional branch decision results
JP2001516916A (ja) デジタル信号処理能力を有するデータ処理装置
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
JPH0731669B2 (ja) ベクトル・プロセツサ
US4225934A (en) Multifunctional arithmetic and logic unit in semiconductor integrated circuit
JPS6044696B2 (ja) 浮動小数点デ−タ処理装置
GB1585285A (en) Parallel data processor apparatus
US3730425A (en) Binary two{40 s complement multiplier processing two multiplier bits per cycle
EP0173040B1 (en) Vector processing system
JPH0850578A (ja) 算術論理演算装置及び制御方法
JP2518293B2 (ja) デ−タフロ−プロセツサ
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JPS62134763A (ja) 3アドレス・コ−ドの指標づけ装置
EP0169030A2 (en) Data processing circuit for calculating either a total sum or a total product of a series of data at a high speed
EP0333306B1 (en) Single chip integrated circuit digital signal processor with a slow or fast mode of operation
US3757097A (en) Ediate arithmetic results extra bit for floating decimal control and correction of false interm
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
KR100246472B1 (ko) 디지탈신호처리기
KR100251546B1 (ko) 디지탈신호처리기