JPH06290043A - データ処理用プロセッサ - Google Patents

データ処理用プロセッサ

Info

Publication number
JPH06290043A
JPH06290043A JP15490692A JP15490692A JPH06290043A JP H06290043 A JPH06290043 A JP H06290043A JP 15490692 A JP15490692 A JP 15490692A JP 15490692 A JP15490692 A JP 15490692A JP H06290043 A JPH06290043 A JP H06290043A
Authority
JP
Japan
Prior art keywords
data
instruction
bus
output
address
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
JP15490692A
Other languages
English (en)
Inventor
Burento Uiriamu
ウィリアム・ブレント
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP15490692A priority Critical patent/JPH06290043A/ja
Publication of JPH06290043A publication Critical patent/JPH06290043A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 命令の実行時間を短くでき、データの高速処
理が可能なデータ処理用プロセッサを提供すること。 【構成】 選択された命令を出力する命令記憶装置2
と、その出力された命令に含まれる複数のオペランドの
アドレスを同時並列的に伝える命令マイクロコードバス
3と、その命令マイクロコードバス3によって伝えられ
た各アドレスに記憶されたデータを出力するデータ記憶
装置4と、その出力されたデータを伝える複数のデータ
バスと、そのデータバスに接続されたALU7とを備え
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ビデオビットストリー
ムの構文作業等の超高速プログラム決定が可能で、かつ
データ処理に用いるデータ処理用プロセッサに関するも
のである。
【0002】
【従来の技術】一般に、デジタル信号プロセッサ(DS
P)とマイクロプロセッサは、プログラム可能のアーキ
テクチャを用いて、複雑な適応性のある算術論理をベー
スにしたアルゴリズムを実行するのに使用される。その
例としては、AT&T DSP16(WE DSP16
およびDSP16A デジタル信号プロセッサ情報マニ
ュアル、AT&T、1989年)およびモトローラMC
68000(M68000 8−/16−/32−ビッ
ト・マイクロプロセッサ・ユーザ・マニュアル、第7
版、プレンティスホール、1989年)がある。これら
のプロセッサは、代表的には次のような共通の特徴があ
る。すなわち、算術論理式評価に関する強力な算術論理
ユニット(ALU)、オペランド、オペランドのアドレ
スおよび演算結果を記憶するための多くのデータレジス
タ、メモリアレイからのオペランドを記憶し、かつ検索
するのに使用される様々なオペランドアドレス指定モー
ド、様々な種類の命令の実行に関する内部順序を制御す
るのに用いられる複雑な論理である。
【0003】プロセッサは、例えば1つのアドレスバス
を用いて、単一のデータバスに配置されている命令とオ
ペランドメモリの両方にアクセスする。あるいは、命
令、オペランドアドレス、データバスをそれぞれ別個に
使用するプロセッサもある。
【0004】
【発明が解決しようとする課題】デジタルビデオコーデ
ィングにおいては、ビデオ信号を圧縮し、特定の構文、
例えばMPEG(ISO MPEGドキュメント、「C
D 11172−最大約1.5Mbpsでデジタル記憶
媒体のための動画と対応するオーディオのコーディン
グ」国際標準化機構、ISOIEC/JTC1/SC2
/WG8、1992年)のビットストリームに合ったビ
ットストリームとして転送する。MPEGにおいては、
各データのマクロブロックは複雑なヘッダ構造(圧縮デ
ータの特徴に応じた情報を含んでいても、いなくてもよ
い)を含んでいる。解像度の非常に低いビデオを除いて
は、汎用のプロセッサを用いると、マクロブロックヘッ
ダを形成することは不可能であろう。より高いデータレ
ートを必要とする解像度の高いビデオの場合、マクロブ
ロックヘッダの構文フォーマットを行うには必要とされ
る機能に最適化されたプロセッサが必要である。このよ
うな用途にはプログラム可能なプロセッサが必要であ
る。なぜなら、標準が変わるとMPEGビットストリー
ム構文が変わるからである。これは、いくつかのビット
ストリーム構文をサポートするマルチスタンダードビデ
オコーディングシステムにおいても重要である。
【0005】マクロブロックヘッダフォーマッティング
は、以下の2つのタイプの機能を必要とする応用面の一
例に過ぎない。
【0006】1.結果←オペランド1 OP オペラン
ド2 2.IF (オペランド1 OP オペランド2) G
OTO ラベル ここでは、オペランドと結果は、直接のメモリアドレ
ス、または命令自体に含まれる即値データを使って記入
される。ただし本発明は2つのオペランドに限定されな
い。
【0007】しかしながら、現行のDSPとマイクロプ
ロセッサを使用して、これらのタイプの演算を行うには
長い時間が必要である。DSPを使って第1のタイプの
機能を果たすには、例えば、以下の命令をしなければな
らない。
【0008】 アドレス_レジスタ ←アドレス_OP1 データ _レジスタ1 ←[アドレス_レジスタ] アドレス_レジスタ ←アドレス_OP2 データ _レジスタ2 ←[アドレス_レジスタ] データ _レジスタ3 ←データ_レジスタ1 OP
データ_レジスタ2 アドレス_レジスタ ←データ_結果 [アドレス_レジスタ]←データ_レジスタ3 ([]は「レジスタにより示されるアドレスの内容」を
意味する。これはレジスタ間接アドレス指定を指してい
る。)マイクロプロセッサは、命令を内部実行する際こ
れと非常に似た機能を果たす。命令数は少ないが、各命
令の実行時間は非常に長く、かつ必要な制御論理は複雑
である。
【0009】実行時間が長くかかる理由はいくつかあ
る。その1つは、同じバスを使ってデータオペランドを
順番にアクセスするからである。もう1つは、命令が色
々ある場合は、複雑で時間のかかる制御論理と必要とす
る遅延のための中間データレジスタが必要となるからで
ある。
【0010】DSPまたはマイクロプロセッサで行われ
る第2のタイプの機能は、例えば、決定しようとする演
算結果を必要とし、次に分岐するかどうか制御するため
の内部フラッグレジスタを用いて、分岐命令が実行され
る。複雑なハードウェアにおいては、これらすべてに時
間とコストがかかる。
【0011】命令とアドレス指定モードの範囲が広いこ
とにより、現行のDSPとプロセッサのプログラミング
は複雑である。
【0012】上述のように、DSP及びマイクロプロセ
ッサを用いる方法では、オペランドを順番にアクセスす
るため、複雑で時間のかかる制御論理を必要とし、命令
の実行時間が長くなるという課題がある。
【0013】本発明は、従来のこのような課題を考慮
し、命令の実行時間を短くでき、データの高速処理が可
能なデータ処理用プロセッサを提供することを目的とす
るものである。
【0014】
【課題を解決するための手段】本発明は、選択された命
令を出力する命令出力手段と、その出力された命令に含
まれる複数のオペランドのアドレスを同時並列的に伝え
る複数の第1バスと、その第1バスによって伝えられた
各アドレスに記憶されたデータを出力するデータ出力手
段と、その出力されたデータを伝える複数の第2バス
と、その第2バスに接続された演算手段とを備えたデー
タ処理用プロセッサである。
【0015】
【作用】本発明は、命令出力手段が選択された命令を出
力し、複数の第1バスがその出力された命令に含まれる
複数のオペランドのアドレスを同時並列的に伝え、デー
タ出力手段がその第1バスによって伝えられた各アドレ
スに記憶されたデータを出力し、第2バスがその出力さ
れたデータを伝え、演算手段が第2バスによって伝えら
れたデータを用いて演算する。
【0016】
【実施例】以下に、本発明をその実施例を示す図面に基
づいて説明する。
【0017】図1は、本発明にかかる一実施例のデータ
処理用プロセッサのブロック図である。データ処理用プ
ロセッサには、各命令を記憶し、命令に含まれるオペラ
ンド等を同時並列的に出力する命令記憶装置2が設けら
れ、その命令記憶装置2には、出力される命令を伝達す
る命令マイクロコードバス3が接続されている。マイク
ロコードバス3の一部を構成している各オペランドに対
応するアドレスバスは、データを記憶するデータ記憶装
置4に接続されている。データ記憶装置4にはデータ出
力用の各オペランド毎に、データを送るためのデータバ
スがそれぞれ接続され、各データバスはそれぞれの信号
を切り換えるマルチプレクサ5,6を介して、演算を行
うALU7に接続されている。ALU7の出力はマルチ
プレクサ8を介してデータ記憶装置4及び演算結果を比
較するコンパレータ9に接続されている。コンパレータ
9は次のプログラムカウンタ値を選択するPCセレクタ
10に接続され、PCセレクタ10はプログラムカウン
タ1に接続され、そのプログラムカウンタ1は命令記憶
装置2及びプログラムカウンタ値を増分する増分装置1
1に接続され、増分装置11はPCセレクタ10に接続
されている。
【0018】又、マルチプレクサ5,6,8、ALU
7、PCセレクタ10は、命令コードの制御信号を入力
するための信号線によって命令マイクロコードバス3に
接続されている。
【0019】上述の命令記憶装置2が命令出力手段を構
成し、命令マイクロコードバス3が第1バスを構成し、
データ記憶装置4がデータ出力手段を構成し、データバ
スが第2バスを構成し、ALU7が演算手段を構成して
いる。
【0020】次に上記実施例の動作について説明する。
【0021】図2に示すように、各命令サイクルは4つ
の中間ステップ(ステップ1〜ステップ4)から構成さ
れている。以下にステップ毎の動作について説明する。
【0022】1.プログラムカウンタ1は命令記憶装置
2にアクセスする。発生した命令のマイクロコードは命
令マイクロコードバス3に出力される。
【0023】2.命令マイクロコードはオペランドアド
レスA、B、Cを指定する。これらのアドレスは、異な
るアドレスバスを用いながら、同時にデータ記憶装置4
にアクセスすることにより、各オペランドはそれぞれの
データバスに配置される。このステップが終了すると、
各オペランドは、マルチプレクサ5とマルチプレクサ6
に対する有効出力となる。データ記憶装置4は、マルチ
ポートRAMまたは別体のRAMを用いて構成してもよ
い。マルチポートRAMを利用するのがベターである。
なぜなら、この場合は命令オペランドの記憶位置が限定
されないからである。
【0024】3.マルチプレクサ5は、命令マイクロコ
ードから取った即値オペランド、データC(アドレスC
により指定された位置のデータ記憶装置から発生し
た)、または反転したデータCのうちいずれかを選択し
て、ALU7の入力C’とする。同様にマルチプレクサ
6は、データC、又は反転したデータCのうちいずれか
を選択して、ALU7の入力B’とする。それら選択値
はALU7で演算されて結果が出力されるが、この出力
される結果はマルチプレクサ8に反転入力してもよい。
以上のマルチプレクサ5,6,8とALU7の操作は命
令マイクロコードにより制御される。
【0025】4.演算結果は、もし命令マイクロコード
により標識化されれば、オペランドアドレスAの記憶位
置に書き込まれる。命令が分岐命令である場合は、結果
をコンパレータ9によりゼロと比較する。PCセレクタ
10は、命令マイクロコード、または増分装置11から
新しいプログラムカウンタ値を選択する。結果がゼロで
ない場合は、プログラムカウンタ値は、新しい命令アド
レスとして命令マイクロコードからロードされる。逆に
結果がゼロの場合は、プログラムカウンタ値は増分装置
11により増分される。以上の選択は、命令マイクロコ
ードと演算結果の比較結果に基づいて行われる。
【0026】次に、上記実施例のために設定された命令
を図3により説明する。このアーキテクチャの例は、2
つの入力オペランド(B,C)と1つの出力結果(A)
とをそなえた算術/論理機能に関する非常に速い即値及
び直接のオペランドアドレス指定に最大限に活用される
が、これ以上の入力と出力にも容易に利用される。オペ
ランドは各自のデータバスを持っているため、並列アク
セスを用いるので、遅延データラッチの必要がなくな
る。アドレス指定モードを即値及び直接の2つに限定し
た結果、制御論理が極めて簡素化され、かつスピードア
ップされた。条件付き分岐命令に対して結果がゼロでな
い場合は、プログラム実行の際、分岐が生じることにな
る。命令の数が非常に限定され、命令セットがより高い
レベルの言語に類似しているため、極めてプログラムし
やすい。
【0027】以上のように、命令に含まれるオペランド
毎に、データバス及びアドレスバスを用いてオペランド
を同時並列的に伝えているので、実行時間が非常に短縮
され、又命令実行時のデータラッチ用のレジスタを必要
としないので、制御論理が減少し、分岐決定の実行が速
くなる。
【0028】なお、上記実施例では、演算に用いるオペ
ランドの数は2つ、出力結果の数は1つであったが、こ
れに限定されるものではなく、オペランドの数は3つ以
上、出力結果の数は2つ以上であってもよい。その場合
命令マイクロコードバス、及びデータバスの数もそれに
対応して設ければよい。
【0029】また、上記実施例では、実行速度を速くす
るためにアドレス指定モードを即値及び直接の2つとし
たが、実行速度の条件によってはこれに限定されるもの
ではない。
【0030】また、上記実施例では、演算結果を記憶さ
せるアドレスの指定を演算手段に入力するオペランドの
アドレスの指定と同時に行うようにしたが、これに限ら
ず、演算結果を記憶させるアドレスの指定を遅れて指定
するようにしてもよい。
【0031】また、上記実施例のデータ記憶装置4から
のデータ出力は、オペランドのアドレスの指定を同時並
列的に行うようにすれば、データを同時並列的に出力す
るように構成してもよいし、あるいはデータを順次出力
するようにしてもよい。
【0032】
【発明の効果】以上述べたところから明らかなように本
発明は、命令の実行時間を短くでき、データの高速処理
が可能になるという長所を有する。
【0033】また、演算手段により演算された結果を直
接分岐決定の評価に用いているので、フラッグレジスタ
などを用いる必要がなく、分岐命令の実行も速くなると
いう利点がある。
【図面の簡単な説明】
【図1】本発明にかかる一実施例のデータ処理用プロセ
ッサのブロック図である。
【図2】同実施例の命令サイクルを示すタイミング図で
ある。
【図3】同実施例にサポートされた命令の一例を示す図
である。
【符号の説明】
1 プログラムカウンタ 2 命令記憶装置 3 命令マイクロコードバス 4 データ記憶装置 7 ALU 9 コンパレータ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 選択された命令を出力する命令出力手段
    と、その出力された命令に含まれる複数のオペランドの
    アドレスを同時並列的に伝える前記複数の第1バスと、
    その第1バスによって伝えられた各アドレスに記憶され
    たデータを出力するデータ出力手段と、その出力された
    データを伝える前記複数の第2バスと、その第2バスに
    接続された演算手段とを備えたことを特徴とするデータ
    処理用プロセッサ。
  2. 【請求項2】 命令が条件付分岐命令の場合、前記演算
    手段により演算された結果を直接分岐決定の評価に用い
    ることを特徴とする請求項1記載のデータ処理用プロセ
    ッサ。
JP15490692A 1992-06-15 1992-06-15 データ処理用プロセッサ Pending JPH06290043A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15490692A JPH06290043A (ja) 1992-06-15 1992-06-15 データ処理用プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15490692A JPH06290043A (ja) 1992-06-15 1992-06-15 データ処理用プロセッサ

Publications (1)

Publication Number Publication Date
JPH06290043A true JPH06290043A (ja) 1994-10-18

Family

ID=15594550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15490692A Pending JPH06290043A (ja) 1992-06-15 1992-06-15 データ処理用プロセッサ

Country Status (1)

Country Link
JP (1) JPH06290043A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308512B1 (ko) * 1998-04-07 2001-09-26 포만 제프리 엘 편집 기능을 위한 전문 밀리코드 지시
KR100317769B1 (ko) * 1998-04-07 2001-12-22 포만 제프리 엘 압축 기억된 십진수 나눗셈에 대한 전문 밀리코드 명령
KR100322725B1 (ko) * 1998-04-07 2002-02-07 포만 제프리 엘 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그
KR100322726B1 (ko) * 1998-04-07 2002-02-07 포만 제프리 엘 번역 및 테스트를 위한 전문 밀리코드 명령

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62190532A (ja) * 1986-02-18 1987-08-20 Toshiba Corp プログラム分岐制御装置
JPH01156825A (ja) * 1987-12-15 1989-06-20 Mitsubishi Electric Corp 信号処理用アドレス生成方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62190532A (ja) * 1986-02-18 1987-08-20 Toshiba Corp プログラム分岐制御装置
JPH01156825A (ja) * 1987-12-15 1989-06-20 Mitsubishi Electric Corp 信号処理用アドレス生成方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308512B1 (ko) * 1998-04-07 2001-09-26 포만 제프리 엘 편집 기능을 위한 전문 밀리코드 지시
KR100317769B1 (ko) * 1998-04-07 2001-12-22 포만 제프리 엘 압축 기억된 십진수 나눗셈에 대한 전문 밀리코드 명령
KR100322725B1 (ko) * 1998-04-07 2002-02-07 포만 제프리 엘 전문 갱신 및 분기 명령을 이용하는 밀리코드 플래그
KR100322726B1 (ko) * 1998-04-07 2002-02-07 포만 제프리 엘 번역 및 테스트를 위한 전문 밀리코드 명령

Similar Documents

Publication Publication Date Title
US6581152B2 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5961637A (en) Split branch system utilizing separate set branch, condition and branch instructions and including dual instruction fetchers
US4774688A (en) Data processing system for determining min/max in a single operation cycle as a result of a single instruction
US5131086A (en) Method and system for executing pipelined three operand construct
JP2840444B2 (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JPH04309131A (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
US5787025A (en) Method and system for performing arithmetic operations with single or double precision
US4926312A (en) Program skip operation control system
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US5335330A (en) Information processing apparatus with optimization programming
US6145075A (en) Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file
JPS5918738B2 (ja) 割込みシステム
US20220365787A1 (en) Event handling in pipeline execute stages
US20050138327A1 (en) VLIW digital signal processor for achieving improved binary translation
US5699506A (en) Method and apparatus for fault testing a pipelined processor
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
US5276822A (en) System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH0748187B2 (ja) レジスタ間接モードを用いる汎用メモリ・アクセス方法およびコンピュータ・システム
JPH06290043A (ja) データ処理用プロセッサ
US6161171A (en) Apparatus for pipelining sequential instructions in synchronism with an operation clock
US5526500A (en) System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions
US5452428A (en) Processor having different operand source information temporarily stored in plural holding registers to avoid using microprogram ROM capacity for such information
KR100974401B1 (ko) 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치