JPH05313886A - ディジタル信号処理プロセッサ - Google Patents

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

Info

Publication number
JPH05313886A
JPH05313886A JP4121487A JP12148792A JPH05313886A JP H05313886 A JPH05313886 A JP H05313886A JP 4121487 A JP4121487 A JP 4121487A JP 12148792 A JP12148792 A JP 12148792A JP H05313886 A JPH05313886 A JP H05313886A
Authority
JP
Japan
Prior art keywords
register
code
data
length
contents
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
JP4121487A
Other languages
English (en)
Inventor
Mitsuru Nomura
充 野村
Tetsuo Fujii
哲郎 藤井
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4121487A priority Critical patent/JPH05313886A/ja
Publication of JPH05313886A publication Critical patent/JPH05313886A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 可変長コードに対するバッファリング及びコ
ード分離を外部ハードウエアを要することなく、高速に
可能とする。 【構成】 1ワード32ビット処理のプロセッサで、右
づめとされる64ビットのバッファレジスタ1とそのレ
ジスタ1の内のデータのビット数が格納されたレジスタ
2とが設けられる。バッファリングの際には入力端子7
よりの可変長コードはシフト演算器3で、レジスタ2の
値だけ左シフトされ、そのシフト結果とレジスタ1の内
とがビットごとにOR演算器5でORされてレジスタ1
に格納され、またレジスタ2の内容に入力端子8よりの
コード長が演算器4で加算される。可変長コード分離の
際にはレジスタ1の右32ビットが出力端子9へ出力さ
れると共に、そのレジスタ1の内容は入力端子8よりの
コード長だけシフト演算器3で右シフトされ、そのシフ
ト結果はレジスタ1に格納され、かつレジスタ2の内容
から入力端子8のコード長が演算器4で減算される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、音声や映像の符号化
を中心としたディジタル信号処理をプロセッサによって
実現する際に用いられ、特に、その信号処理アルゴリズ
ムが、ハフマン符号化や適応量子化など、処理結果のビ
ット数がデータ内容などに依存して変化する処理を含
み、処理結果の可変長コードを連続ビット列に多重化す
る必要のあるディジタルプロセッサに関する。
【0002】
【従来の技術】ディジタル音声信号やディジタル画像信
号の符号化に代表される複雑な信号処理アルゴリズムを
実現する方法として、アルゴリズムをソフトウエアで記
述し、プロセッサで実行する方法が広く用いられてい
る。特に、信号処理アルゴリズムを高速に実行するプロ
セッサは、信号処理プロセッサと呼ばれ、内積(乗算+
累積)演算に代表される数値演算に対して高速な処理を
実行出来るように設計されている。
【0003】一方、特に画像信号を対象とした高能率符
号化では、信号の振幅に応じて信号の量子化ビット数を
変化させる適応量子化や、量子化結果の統計的性質に応
じて量子化結果をあらわすコード長を変化させる(つま
り頻繁に出現する量子化レベルに短いコードを、滅多に
あらわれない量子化レベルに長いコードを割り当てる事
によって全体のデータ量を圧縮する)ハフマン符号化な
どが頻繁に用いられる。ここでは、適応量子化やハフマ
ン符号化など、処理結果のビット長が変化するコードを
可変長コードと呼ぶ。符号化処理の最終結果は、連続ビ
ット列として伝送されるから、ハフマン符号や適応量子
化を用いた場合には、可変長コードを連続ビット列に多
重化する処理、および、連続ビット列から可変長コード
を分離する処理が必要となる。
【0004】しかし、数値演算をおもな目的とした従来
の信号処理プロセッサでは、たとえば16ビット、32
ビットといった固定ビット幅のデータに対する演算しか
定義されておらず、可変長コードを扱う命令やハードウ
エアが用意されていない。この為、可変長コードの多重
化や分離の処理は、固定ビット幅のデータに対する論理
演算、シフト演算などを組み合わせて実現する必要があ
り、かならずしも高速な処理が実現出来るとは限らなか
った。
【0005】また、可変ビット長コードの多重、分離を
専用ハードウエアで行なった場合、プロセッサ外部に専
用ハードウエアが必要となり、プロセッサとその外部回
路とのインターフェースが複雑となる問題があった。ま
た、適応処理を含む複雑なアルゴリズムをソフトウエア
によって実現出来るという信号処理プロセッサ本来の利
点をそこなう可能性があった。
【0006】
【発明が解決しようとする課題】この発明の目的は数値
演算を重視した従来の信号処理プロセッサにおいて、適
応ビット配分やハフマン符号化といった可変長コードの
多重処理を含む信号処理アルゴリズムを実現した場合、
可変長コードの多重、分離の処理を高速に実行出来るデ
ィジタル信号処理プロセッサを提供することにある。
【0007】
【課題を解決するための手段】前記の課題を解決するた
め、この発明によれば、ディジタル信号処理を対象とし
たプロセッサにおいて、(1)可変長コードを連続ビッ
ト列に多重化するバッファリング手段と、(2)連続ビ
ット列を可変長コードに分離する分離手段とが設けられ
る。
【0008】バッファリング手段は、入力コードをその
コード長だけ左シフトするシフト手段と、そのシフトさ
れた入力コードと、バッファレジスタ内のコードとをビ
ット対応に論理和をとってそのバッファレジスタ内に格
納する手段と、上記コード長をデータ終端レジスタの内
容に加算する手段と、そのデータ終端レジスタの内容
が、このプロセッサの処理単位ビット数を越えると割り
込みを発生する手段とからなる。
【0009】また上記コード分離手段は、上記バッファ
レジスタから右側の上記処理単位ビット数だけ、出力す
る手段と、読出すべきコードのビット長だけ上記バッフ
ァレジスタの内容を右シフトしてそのバッファレジスタ
に格納する手段と、上記ビット長だけ上記データ終端レ
ジスタの内容から減算する手段と、そのデータ終端レジ
スタの内容が上記処理単位ビット数以下になると割り込
みを発生する手段とよりなる。
【0010】
【作用】この構成の信号処理プロセッサは、可変長デー
タをビット単位でバッファリングする為の可変長バッフ
ァリング命令により上記バッファリング手段が実行さ
れ、バッファレジスタ内のデータから可変長コードを分
離する可変長分離命令により上記コード分離手段が実行
されて、可変ビット長データの連続ビット列への多重化
および連続ビット列から可変ビット長データの切り出し
を1命令で高速に実現する事が出来る。
【0011】
【実施例】この発明の信号処理プロセッサにおいて可変
長バッファリング命令および可変長分離命令を実行する
ハードウエアの実施例を図1に示す。図では、プロセッ
サの基本演算ビット幅(処理単位ビット数)を32ビッ
トとしている。つまり、このプロセッサは32ビットを
1ワードとして演算やデータの読みだし/書き込みなど
の処理を行う。
【0012】この可変長バッファリング命令及び可変長
分離命令を実行する可変長処理部は、64ビット幅のバ
ッファレジスタ1と、6ビット幅のデータ終端レジスタ
2と、64ビット幅のデータに対し32ビットまでの任
意ビット数の右及び左シフト演算を実行するシフト演算
器3と、算術論理演算器4と、OR演算器5と、シフト
演算器3への入力を制御するセレクタ6とからなる。こ
の内、シフト演算器3と算術論理演算器4は、シフト演
算や算術演算、論理演算を実行するためにもともとプロ
セッサに実装されているものであり、可変長処理のため
に新たに設けられたものではない。また、バッファレジ
スタ1には、バッファリングされたデータが右づめ(左
側は0で埋められているものとする)で格納され、デー
タ終端レジスタ2にはバッファレジスタ1内に蓄積され
ているデータのビット数が格納されている。
【0013】この可変長処理部への入出力端子として、
2つのオペランドを入力するデータ入力端子7,8と、
データを出力するデータ出力端子9と、割り込みを出力
する割り込み出力端子10とを持つ。ここで、データ入
力端子7,8には、プロセッサのレジスタファイルある
いはメモリーから読みだされたデータが入力される。ま
た、バッファレジスタ1からデータ出力端子9に出力さ
れた結果は、後の演算処理で用いるため、レジスタファ
イルあるいはメモリーに格納される。算術論理演算器4
から割り込み出力端子10へ出力された割り込みは、プ
ロセッサの制御部に割り込みをかけ、割り込み処理を起
動する。
【0014】まず可変長バッファリング命令に対する動
作を、図2を参照して説明する。バッファレジスタ1お
よびデータ終端レジスタ2には、それぞれ、前のマシン
サイクルにおけるバッファリング結果とバッファレジス
タ1内に蓄積されているデータのビット数とが格納され
ている。セレクタ6はデータ入力端子7とデータ終端レ
ジスタ2とをそれぞれ選択してシフト演算器3へ接続す
るように設定される。
【0015】二つのオペランドとして可変長コード11
およびそのコードの長さ12が、それぞれデータ入力端
子7,8に入力される。ここで、入力可変長コード11
は1ワードのなかで右づめとなった斜線が施された部分
にあるものとし、左側は0で埋められているものとし、
また、可変長データの最大長は32ビットとする。デー
タ入力端子7に入力された可変長コード11は、セレク
タ6を通じてシフト演算器3に入力され、データ終端レ
ジスタ2の値の分だけ左側にシフトされる。そのシフト
結果は、OR演算器5で、バッファレジスタ1の内容と
ビット単位でOR(論理和)がとられる。そのOR演算
器5の出力13は、前サイクルのバッファリング結果1
3aの左側に入力された可変長コード11を付加した状
態となっており、この結果は再びバッファレジスタ1に
格納される。
【0016】一方、データ入力端子8に入力されたコー
ド長は、データ終端レジスタ2の値との算術論理演算器
4で加算処理が行われ、その結果は再びデータ終端レジ
スタ2に格納される。また、算術論理演算器4での演算
結果が32(プロセッサの処理単位ビット数)を越えた
場合、つまり6ビット目が1となった場合には割り込み
端子10が駆動される。つまり、32ビット以上のデー
タがバッファレジスタ1に蓄えられると、割り込み処理
が起動され、プロセッサは次のマシンサイクルで割り込
み処理にはいる。割り込み処理では、次に示す可変長分
離命令を用いることにより、バッファレジスタ1に格納
されているデータの内右側32ビット分がバッファより
読みだされる。つまり、可変長バッファリング命令によ
り、可変長コードが連続的に多重化され、その多重化さ
れた可変長コードを、基本演算語長であるワード単位で
読みだすことができる。
【0017】次に、可変長コード分離命令に対する動作
を、図3を参照して説明する。バッファレジスタ1およ
びデータ終端レジスタ2には、それぞれ前のマシンサイ
クルにおけるバッファリング結果とバッファレジスタ1
内に蓄積されているデータのビット数とが格納されてい
る。セレクタ6はバッファレジスタ1とデータ入力端子
8とをシフト演算器3に接続するように設定される。
【0018】まず、オペランドとして、読みだしを行う
コードのビット長14が、データ入力端子8に入力され
る。また、バッファレジスタ1の内容はシフト演算器3
に入力され、データ入力端子8に入力されたコード長1
4の分だけ右にシフトされ、その結果は再びバッファレ
ジスタ1に格納される。つまり、バッファレジスタ1に
格納されていたデータ系列、例えば図2中の出力13と
同一内容のものは、その右端の可変コード13aの長さ
分だけ右シフトされる。一方、データ出力端子には、前
のマシンサイクルにおけるバッファレジスタ1に格納さ
れていたデータのうち、右側32ビット分が前記右シフ
ト演算と同時に、またはその前に出力される。
【0019】一方、データ入力端子8に入力されたコー
ド長14は、データ終端レジスタ2の値に対し、算術論
理演算器4で、減算処理が行われ、その結果は再びデー
タ終端レジスタ2に格納される。また、算術論理演算器
4での演算結果が32(プロセッサの処理単位ビット
数)より小さくなった場合、つまり6ビット目が0とな
った場合には割り込み端子10が駆動される。つまり、
バッファレジスタ1に蓄えられたデータが32ビットよ
り少なくなると、割り込み処理が起動され、プロセッサ
は次のマシンサイクルで割り込み処理にはいる。割り込
み処理では、先に示した可変長バッファリング命令を用
いることにより、バッファレジスタ1に格納されている
データの内左側に、新たな32ビット分のビット列を入
力することができる。つまり、可変長コード分離命令で
は、ワード単位でデータを入力し、バッファリングを行
いながら、バッファレジスタ1内の先頭(右端から)3
2ビットのデータを取り出す事が出来る。先頭32ビッ
トデータから、実際に可変コード長のコードを切り出す
処理は、算術論理演算器4に対するAND演算命令によ
るマスク処理によって簡単に実行できる。
【0020】なお、可変長バッファリング命令と可変長
コード分離命令における割り込みは、プロセッサの制御
レジスタをセットすることにより、マスクすることがで
きる。可変長バッファリング命令のみを必要としない、
つまり可変長コードを入力し、蓄積または伝送などしか
行わないプロセッサでは前記バッファリング手段のみを
設ければよく、逆に連続的に蓄積されている、あるいは
連続的に受信される可変長コードから各可変長コードを
分離することのみしか行わない、つまり前記可変長コー
ド分離命令のみを必要とする場合は前記コード分離手段
のみを設ければよい。
【0021】
【発明の効果】以上説明したように、この発明によれ
ば、可変長バッファリング命令と可変長分離命令および
それを実行するために必要となるハードウエアが用意さ
れているため、(1)可変ビット長コードの連続ビット
列への多重、分離を外部ハードウエアの必要無しに高速
処理する事、(2)可変ビット長コードのバッファリン
グを少ない命令コードで記述出来る事、が可能となる。
【図面の簡単な説明】
【図1】この発明の要部である可変長処理部の実施例を
示すブロック図。
【図2】図1の処理部で可変長バッファリング命令の動
作を行う状態を示すブロック図。
【図3】図1の処理部で可変長コード分離命令の動作を
行う状態で示すブロック図。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 // G06F 15/66 330 A 8420−5L

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 バッファリング手段と、コード分離手段
    とを備え、 上記バッファリング手段は、 入力コードをそのコード長だけ左シフトするシフト手段
    と、 そのシフトされた入力コードとバッファレジスタ内のコ
    ードとをビット対応に論理和をとって上記バッファレジ
    スタ内に格納する手段と、 上記コード長をデータ終端レジスタの内容に加算する手
    段と、 そのデータ終端レジスタの内容が、プロセッサの処理単
    位ビット数を越えると割り込みを発生する手段とよりな
    り、 上記コード分離手段は、 上記バッファレジスタから右側の上記処理単位ビット数
    だけ出力する手段と、 読出すべきコードのビット長だけ上記バッファレジスタ
    の内容を右シフトして上記バッファレジスタに格納する
    手段と、 上記ビット長だけ上記データ終端レジスタの内容から減
    算する手段と、 そのデータ終端レジスタの内容が上記処理単位ビット数
    以下になると割り込みを発生する手段とよりなる、 ディジタル信号処理プロセッサ。
JP4121487A 1992-05-14 1992-05-14 ディジタル信号処理プロセッサ Pending JPH05313886A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4121487A JPH05313886A (ja) 1992-05-14 1992-05-14 ディジタル信号処理プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4121487A JPH05313886A (ja) 1992-05-14 1992-05-14 ディジタル信号処理プロセッサ

Publications (1)

Publication Number Publication Date
JPH05313886A true JPH05313886A (ja) 1993-11-26

Family

ID=14812381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4121487A Pending JPH05313886A (ja) 1992-05-14 1992-05-14 ディジタル信号処理プロセッサ

Country Status (1)

Country Link
JP (1) JPH05313886A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529847A (ja) * 1998-11-06 2002-09-10 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
GB2346994B (en) * 1998-12-04 2003-07-09 Ibm Input/output operations in an information processing system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002529847A (ja) * 1998-11-06 2002-09-10 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
JP4955149B2 (ja) * 1998-11-06 2012-06-20 アナログ デバイセス インコーポレーテッド ビットfifoを有するディジタル信号プロセッサ
GB2346994B (en) * 1998-12-04 2003-07-09 Ibm Input/output operations in an information processing system

Similar Documents

Publication Publication Date Title
USRE44190E1 (en) Long instruction word controlling plural independent processor operations
US6009451A (en) Method for generating barrel shifter result flags directly from input data
US5961635A (en) Three input arithmetic logic unit with barrel rotator and mask generator
US5644522A (en) Method, apparatus and system for multiply rounding using redundant coded multiply result
US6173394B1 (en) Instruction having bit field designating status bits protected from modification corresponding to arithmetic logic unit result
US5500812A (en) Multiplication circuit having rounding function
US5600847A (en) Three input arithmetic logic unit with mask generator
US5960193A (en) Apparatus and system for sum of plural absolute differences
US6016538A (en) Method, apparatus and system forming the sum of data in plural equal sections of a single data word
US5805913A (en) Arithmetic logic unit with conditional register source selection
US5485411A (en) Three input arithmetic logic unit forming the sum of a first input anded with a first boolean combination of a second input and a third input plus a second boolean combination of the second and third inputs
US5446651A (en) Split multiply operation
US5640578A (en) Arithmetic logic unit having plural independent sections and register storing resultant indicator bit from every section
US5761726A (en) Base address generation in a multi-processing system having plural memories with a unified address space corresponding to each processor
US5606677A (en) Packed word pair multiply operation forming output including most significant bits of product and other bits of one input
JP3790619B2 (ja) 正値化処理及び飽和演算処理からなる丸め処理を好適に行うことができるプロセッサ
US6067613A (en) Rotation register for orthogonal data transformation
US4463342A (en) Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings
EP0029967A2 (en) Apparatus for generating an instantaneous FIFO binary arithmetic code string, apparatus for reconstructing a binary symbol string from such a code string, and a method for recursively encoding, and a method for recursively decoding, an instantaneous FIFO binary arithmetic number string
US6427203B1 (en) Accurate high speed digital signal processor
JPH0258812B2 (ja)
US6026484A (en) Data processing apparatus, system and method for if, then, else operation using write priority
US5596519A (en) Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive OR
JPH096609A (ja) プログラム実行装置およびプログラム変換方法
US5712999A (en) Address generator employing selective merge of two independent addresses