JP2513219B2 - デ−タ処理用プロセツサ - Google Patents

デ−タ処理用プロセツサ

Info

Publication number
JP2513219B2
JP2513219B2 JP62084614A JP8461487A JP2513219B2 JP 2513219 B2 JP2513219 B2 JP 2513219B2 JP 62084614 A JP62084614 A JP 62084614A JP 8461487 A JP8461487 A JP 8461487A JP 2513219 B2 JP2513219 B2 JP 2513219B2
Authority
JP
Japan
Prior art keywords
data
bit
circuit
register
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.)
Expired - Lifetime
Application number
JP62084614A
Other languages
English (en)
Other versions
JPS63250738A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP62084614A priority Critical patent/JP2513219B2/ja
Publication of JPS63250738A publication Critical patent/JPS63250738A/ja
Application granted granted Critical
Publication of JP2513219B2 publication Critical patent/JP2513219B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はソフトウェア制御によりデータを処理する際
にビット並び換えの操作を効率良く実行できる、データ
処理用プロセッサに関するものである。
〔従来の技術〕
通信では、バーストエラーによる一時的な誤り率増加
を防ぐために、ビットインターリーブというデータのビ
ット並びに順を入れ換える手法が知られている。この手
法によればバーストエラーをランダムエラーとみなすこ
とができるので、誤りを分散することが可能となる。よ
く用いられるビットインターリーブ処理の一つを第3図
を用いて説明する。第3図は、301で示すデータ長8ビ
ットのシリアルデータA,B,・・・,Hがビットインターリ
ーブ処理された結果、302に示すようなシリアルデータ
P,Q,...,Wに変換される様子を表している。ここで行っ
ている処理は、それぞれのデータから、第1ビット目
(a1,b1,・・・,h1)の値を順に取り出して新しい8ビ
ットのデータPを作り、次に各データの第2ビット目,
第3ビット目,・・・,第8ビット目に対して同様の操
作を繰り返し、8個の新しいデータを作るというもので
ある。このようなビットインターリーブを含むデータ処
理をハードウェアで実現する方法もあるが、システム仕
様変更に柔軟に対応できるソフトウェア制御のプロセッ
サによる実現が通している。
第4図は、このようなデータ処理用に用いられる従来
の一般的なプロセッサのブロック図を示したものであ
り、バスに接続された入出力回路(SO,SI)108,メモリ
回路105,算術論理演算回路106,インストラクション用リ
ードオンリメモリ(IROM)408を有し、IROM408にはプロ
グラムカウンタ(PC)409が接続されている。メモリ回
路105は、データ用ランデムアクセスメモリ(DRAM)40
4,データ用リードオンリメモリ(DROM)405,テンポラリ
レジスタ(TR)406から構成され、算術論理演算回路106
は、選択回路(SEL)407,アキュムレータ(ACC)402,算
術論理演算器(ALU)401,シフトレジスタ(SIFT)403か
ら構成される。
従来はこのようなプロセッサを用いて、DRAM404から
入力データを読み出し、シフトと論理和,論理積の組み
合わせによって必要なビットだけを取り出し、これを各
データ毎に繰り返して必要なビットを集め、新しいデー
タを作るという手順でビットインターリーブ等のデータ
処理を行っていた。
〔発明が解決しようとする問題点〕
しかしながら、従来のプロセッサを用いてデータ処理
を行うと特にビットインターリーブのような処理を行う
場合、各データから必要のビットを抽出して編集する操
作に多くのステップを必要とし、効率的な処理が行えな
かった。例として、所要ステップ数評価のために第4図
に示した従来の一般的なプロセッサを用いて、前述のビ
ットインターリーブ処理を8ビットのデータについて行
った時の処理プログラムを第1表に示す。
第1表において、左の数字は処理番号、( )内はそ
の時にレジスタやアキュムレータが持っているデータの
値である。A←BはBからAへのデータの転送、A∧B
はAとBとの論理積、A∨BはAとBとの論理和を表し
ている。ACC<SHIFTn>はシフトレジスタ(SIFT)403に
よってアキュムレータ(ACC)402内の値をnビット右に
シフトする操作を表している。例えば(1000)がACC402
に入っている場合、ACC<SHIFT1>を行うと出力は(010
0)となる。また、〔 〕内はDRAM404,DROM405のアドレ
スを表し、簡単のため、DRAM,DROMのアドレスポインタ
は1つデータを読み出すと自動的に次のアドレスを指す
ものとする。なお、ここでシフトレジスタ(SIFT)403
は任意のビット数を1命令でシフトできるものとする。
以下にこのような論理演算を用いて前述した8ビット
データのビッタインターリーブを行ってみる。
第2表はDRAM404,DROM405内にデータが書き込まれて
いる様子である。DRAM404にはビット並び換えを受ける
データA,B,・・・,Hが書き込んである。各データは8ビ
ット長であり、たとえばデータAはビット列で表すと
(a1a2a3a4a5a6a7a8)で表される。データB,C,・・・,H
も同様に表記する。DROM405にはビット並び換えに必要
なデータ(10000000),(01000000),(00100000),
・・・,(00000001)がこの順に書き込まれている。
第1表の処理プログラムを説明する。まず、ステップ
1で、DRAM404に書き込まれているデータの中からデー
タA(a1a2a3a4a5a6a7a8)をACC402に読みだす。ステッ
プ2で、ACC402とDROM405内の1番目のデータ(1000000
0)との論理積(a10000000)を求め、ステップ3で得ら
れた値をTR406に転送する。次にステップ4で、DRM404
からデータB(b1b2b3b4b5b6b7b8)をACC402に読み出
し、ステップ5でこれをシフトレジスタ403により1ビ
ット右にシフトして、得られた(0b1b2b3b4b5b6b7)をA
CC402に入れる。次にステップ6で、DROM404内のデータ
(01000000)とACC402内のデータ(0b1b2b3b4b5b6b7
の論理積(0b1000000)を求め、ステップ7で、TR406内
の値(a10000000)と、ACC402の値(0b1000000)との論
理和(a1b1000000)を求める。このようにして得られた
値はデータAの第1ビット目とデータBの第1ビット目
を抜き出して順に並べたものとなる。以下、同様にデー
タC〜データHまで順に読みだして、ステップ4からス
テップ8の操作を繰り返すと、最後はステップ36,37,38
に示すようになり、データAからデータHまでの第1ビ
ット目の値が順に並べられたデータ(a1b1c1d1e1f1g
1h1)を得ることができる。この場合に必要なステップ
数は38ステップとなる。従ってこれと同様の処理を第2
ビット目,第3ビット目,・・・,第8ビット目と繰り
返して、データAからデータHまでの第8ビット目の値
を並べたデータ(a8b8c8d8e8f8g8h8)を得るには304ス
テップを要する。
この様に従来の一般的なプログラムを用いて8ビット
データの簡単なビットインターリーブを行った場合で
も、304ステップもの演算を行うことから、より複雑な
ビットインターリーブを行った場合にはさらに多くのス
テップ数が必要となることが容易に推測できる。このた
め、本来の目的以外のデータ処理に費やす時間が長くか
かり、全体の処理時間も長くなるという問題や、ビット
インターリーブを行っている間は算術論理演算器ALU401
が占有されていて、ビット並び換え以外の処理を行うこ
とができないという問題などがある。
本発明の目的は、このように、従来のデータ処理用プ
ロセッサでは非常に多くのステップ数を必要としたビッ
トインターリーブ処理を、ソフトウェア制御を用いて効
率良く実行できるデータ処理用プロセッサを提供するこ
とにある。
〔問題点を解決するための手段〕
本発明は、入出力回路、メモリ回路、算術論理演算回
路、プログラム制御回路がそれぞれバス接続されたデー
タ処理用プロセッサにおいて、前記入出力回路、前記メ
モリ回路、前記算術論理演算回路、前記プログラム制御
回路とともにバス接続された複数のテンポラリレジスタ
と、これらテンポラリレジスタに格納されているそれぞ
れのデータが入力されるビット選択回路と、このビット
選択回路に対して前記テンポラリレジスタから入力され
たそれぞれのデータのどのビットを選択するかをバスを
介して入力されたデータに基づいて指定するビット指定
レジスタと、前記ビット選択回路により選択されたビッ
トを集めて作られたデータを格納し、バスに出力するレ
ジスタとを有することを特徴とする。
〔作用〕
本発明のデータ処理用プロセッサでは、従来のプロセ
ッサに対して、複数のテンポラリレジスタ,ビット指定
レジスタ,ビット選択回路などからなる簡単なハードウ
ェアを追加することにより、ビットインターリーブを行
う際必要となるプログラムのステップ数を大幅に減ら
し、ソフトウェアの負荷を軽減することが可能となって
いる。つまり、テンポラリレジスタにビットインターリ
ーブを行う入力データを一個ずつ読み出してストアして
おき、あとはビット指定レジスタに選択すべきビットを
指定しさえすれば、ビット選択回路において各テンポラ
リレジスタ内のデータの指定ビットが集められた新しい
データを即座に得ることが可能となる。従って、従来、
一個ずつのデータに対してALUを用いて繰り返し行って
いた多くの演算処理が不必要となり、短時間でビットイ
ンターリーブ処理を行うことができる。
〔実施例〕
本発明の一実施例を第1図に示す。破線外は従来の一
般的プロセッサの例として第4図と同様のものを用いて
おり、破線内がビット並べ換えを行う部分である。破線
内は、バスに並列に接続された複数のテンポラリレジス
タ(TR1〜TRn)101と、テンポラリレジスタ101すべてに
接続されたビット選択回路103と、ビット選択回路103が
選択すべきビットを指定するため接続されたビット指定
レジスタ102と、ビット選択回路103により得られたデー
タを格納するレジスタ(REG)104とから構成されてい
て、他の部分同様プログラム制御回路107により制御さ
れる。
第1図の破線内部の詳しい構成を第2図に示す。ここ
では、8ビットのデータを例にし、テンポラリレジスタ
(TR)も8個持っているとする。また、ビット選択回路
103はデコーダ201と8個のセレクタ(SEL1〜SEL8)202
とから構成されている。各データの同じ位置の1ビット
を集める場合は、各セレクタ(SEL)共通に3ビットの
ビット選択命令を与えれば良いが、第2図では、各デー
タから任意の1ビットを集めることもできるように、各
SEL毎に3ビットのビット選択命令を与えられるように
している。さらにここでは、デコーダ201とSEL1〜8と
の間は3ビット、SEL1〜8とREG104との間は1ビットと
しているが、別のビットインターリーブで任意の位置か
ら任意のビット数を集める場合はこれに対応してデコー
ダ201と、SEL1〜8との間、SEL1〜8とREG104との間の
ビット数を変えれば良い。テンポラリレジスタTR1〜8
は、各々セレクタSEL1〜8に接続されている。各SELは
ビット指定レジスタ102の命令を受けたデコーダ201によ
って制御される。ビット指定レジスタ102にはどのテン
ポラリレジスタの第何番目のビットを選ぶかというデー
タが入力され、デコーダ201を介してそれぞれのSEL1〜
8に、どのビットを選ぶかを指示する。こうしてSEL1〜
8は8個のTR1〜R内のデータからビット指定レジスタ1
02によって指示されたビットの値を選んで、それぞれレ
ジスタ(REG)104に出力する。レジスタ104では、TR1〜
8のデータから選ばれた全部で8ビットの値を、順に並
べて新しいデータとする。
ここで、第1図にあるプロセッサを用いて、8ビット
のデータを例に、先にステップ数評価に用いたのと同様
のビットインターリーブ処理を行った場合の処理プログ
ラムを第3表に示し所要ステップ数を調べてみる。
まず、ステップ1〜ステップ8では、メモリ回路105
からバスを介してテンポラリジスタTR1に8個のデータ
をセットする。次にステップ9でビット指定レジスタ10
2に全データの第1ビット目を選択するような命令がセ
ットされ、ステップ10では、ビット指定レジスタ102に
より、ビット選択回路103でそれぞれのテンポラリレジ
スタTRのデータから第1ビット目のa1,b1,・・・,h1
いう値が選ばれてレジスタREG104に出力され、ここで
(a1b1c1d1e1f1g1h1)という8ビットのデータができ
る。ステップ10で得られた値(a1b1c1d1e1f1g1h1)をメ
モリ回路105に書き込み、1個のデータが作られる。以
下は、ステップ9,10を繰り返すことによって順次データ
が作られるので、第8ビット目の値を集めた(a8b8c8d8
e8f8g8h8)までの8個データを作り終わるまでの全体の
処理ステップ数は24ステップとなる。
このように、従来技術では304ステップが必要であっ
たのと比べると、ステップ数で言うと280ステップの演
算量が削減でき、当然この280ステップ分に相当する演
算時間の短縮を図れることがわかる。
さらに、ここでは各々のデータから第1番目,第2番
目,・・・,第8番目と順に取り出す場合を例に上げた
が、各データから別々のビットを取り出すなどの複雑な
データ処理に関しても、同様に入力データをすべてテン
ポラリレジスタに読み出しておけば、あとはビット指定
レジスタで指定することによってビット選択回路により
必要なビットを集めて新しいデータを得ることができ
る。
〔発明の効果〕
このように、ビットインターリーブを行う際、本発明
を用いれば従来技術に比べ約80%ものステップ数の削減
が図れる。さらに、ビットインターリーブを行っている
間算術論理演算器ALUがこの処理のために占有されると
いうことがなくなるため、ビットインターリーブを行い
ながら他の処理を同時に行う事も可能なので非常に効率
的である。また、すべてプログラムで制御されているの
で、これまで例として用いたものだけでなく、様々な種
類のビットインターリーブ処理を行うことが可能であ
る。また、プログラムを変えることによって処理を用い
ることもできる。
【図面の簡単な説明】
第1図は本発明の一実施例であるデータ処理用プロセッ
サの構成を示す図、 第2図は第1図に破線で囲んだ部分の詳細な構成を示す
図、 第3図はビットインターリーブの操作を説明するための
図、 第4図は従来型プロセッサの構成を示す図である。 101……テンポラリレジスタ 102……ビット指定レジスタ 103……ビット選択回路 104……レジスタ 105……メモリ回路 106……算術論理演算回路 107……プログラム制御回路 108……入出力回路 201……デコーダ 202……セレクタ 301……入力データ 302……ビットインターリーブによって作られた値 401……算術論理演算器 402……アキュムレータ 403……シフトレジスタ 404……データ用RAM 405……データ用ROM 406……テンポラリレジスタ 407……選択回路 408……インストラクション用ROM 409……プログラムカウンタ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】入出力回路、メモリ回路、算術論理演算回
    路、プログラム制御回路がそれぞれバス接続されたデー
    タ処理用プロセッサにおいて、前記入出力回路、前記メ
    モリ回路、前記算術論理演算回路、前記プログラム制御
    回路とともにバス接続された複数のテンポラリレジスタ
    と、これらテンポラリレジスタに格納されているそれぞ
    れのデータが入力されるビット選択回路と、このビット
    選択回路に対して前記テンポラリレジスタから入力され
    たそれぞれのデータのどのビットを選択するかをバスを
    介して入力されたデータに基づいて指定するビット指定
    レジスタと、前記ビット選択回路により選択されたビッ
    トを集めて作られたデータを格納し、バスに出力するレ
    ジスタとを有することを特徴とするデータ処理用プロセ
    ッサ。
JP62084614A 1987-04-08 1987-04-08 デ−タ処理用プロセツサ Expired - Lifetime JP2513219B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62084614A JP2513219B2 (ja) 1987-04-08 1987-04-08 デ−タ処理用プロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62084614A JP2513219B2 (ja) 1987-04-08 1987-04-08 デ−タ処理用プロセツサ

Publications (2)

Publication Number Publication Date
JPS63250738A JPS63250738A (ja) 1988-10-18
JP2513219B2 true JP2513219B2 (ja) 1996-07-03

Family

ID=13835572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62084614A Expired - Lifetime JP2513219B2 (ja) 1987-04-08 1987-04-08 デ−タ処理用プロセツサ

Country Status (1)

Country Link
JP (1) JP2513219B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU665716B2 (en) * 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
FR2924243B1 (fr) * 2007-11-27 2013-03-22 Commissariat Energie Atomique Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication

Also Published As

Publication number Publication date
JPS63250738A (ja) 1988-10-18

Similar Documents

Publication Publication Date Title
EP0149213B1 (en) Vector processor
EP0118781A2 (en) Control flow parallel computer system
JPS6142040A (ja) 論理シミユレ−タ
US6199084B1 (en) Methods and apparatus for implementing weighted median filters
JPH1027241A (ja) デジタル画像のテーブル・ルックアップ変換のための方法および装置
JPH0444970B2 (ja)
JP2513219B2 (ja) デ−タ処理用プロセツサ
JP2752634B2 (ja) ソート処理装置
EP0318699A2 (en) Operation apparatus processing data of arbitrary length
JPS6137654B2 (ja)
JP3347592B2 (ja) マージソート処理装置
JPS6195477A (ja) ベクトル処理装置
JP2524035Y2 (ja) 畳み込み演算回路用乗算器
JP2740469B2 (ja) タスク管理方式
JP3109816B2 (ja) アドレス生成装置
JPH0895781A (ja) プロセッサの算術論理装置
JP3693873B2 (ja) マスクビット数演算装置、ベクトル処理装置、情報処理装置
JP2541697B2 (ja) パイプライン演算装置
JP2624738B2 (ja) 丸め処理方式
JP2748718B2 (ja) 同期端局装置制御システム
JPS62219026A (ja) レジスタフアイル制御方式
JPS6168636A (ja) デ−タ処理装置
JP2000134283A (ja) 回線切換装置及びそれに用いるルートチェック方法並びにその制御プログラムを記録した記録媒体
JPS5981763A (ja) 補間演算回路
JPS6128139B2 (ja)