JPH08153086A - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JPH08153086A
JPH08153086A JP29614094A JP29614094A JPH08153086A JP H08153086 A JPH08153086 A JP H08153086A JP 29614094 A JP29614094 A JP 29614094A JP 29614094 A JP29614094 A JP 29614094A JP H08153086 A JPH08153086 A JP H08153086A
Authority
JP
Japan
Prior art keywords
memory
output
signal
register
galois field
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
JP29614094A
Other languages
English (en)
Inventor
Tsutomu Fukatsu
勉 普勝
Akihiro Oishi
晃弘 大石
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.)
Canon Inc
Original Assignee
Canon 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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP29614094A priority Critical patent/JPH08153086A/ja
Publication of JPH08153086A publication Critical patent/JPH08153086A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 ガロア体多項式演算を高速処理する。 【構成】 入力端子10,12には2シンボルの信号S
RC_A,SRC_Bが並列に入力する。セレクタ1
6,18は、信号SRC_Bの上位シンボル信号BH、
固定値”0”又は信号SRC_Bの下位シンボル信号B
Lを選択する。ガロア体加算器20は信号SRC_Aの
上位シンボル信号AHとセレクタ16の出力を加算し、
ガロア体加算器22は信号SRC_Aの下位シンボル信
号ALとセレクタ18の出力を加算する。ガロア体乗算
器24は信号AHに信号BHを乗算し、ガロア体乗算器
26は信号ALに信号BLを乗算する。セレクタ28は
加算器20又は乗算器24の出力を選択し、セレクタ3
0は加算器22又は乗算器26の出力を選択する。セレ
クタ28,30の出力はそれぞれ、演算結果の上位及び
下位シンボルである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリ内に記憶された
プログラムに従ってデータにガロア体演算処理を施すプ
ロセッサに関する。
【0002】
【従来の技術】ディジタル信号の伝送又は記録再生に
は、符号誤り対策が施される。この符号誤り対策の一つ
として、リードソロモン符号を使用した符号化が広く使
用されている。リードソロモン符号は、符号語がガロア
体の元により構成される符号である。従ってリードソロ
モン符号の符号化復号化は、種々のガロア体の演算で実
現される。
【0003】従来は、リードソロモン符号の符号化復号
化の演算は、専用回路で実現されてきたが、半導体技術
の進歩により、これらの処理が高速に実行することが可
能になってきたこと、符号化を行なう情報の単位が大き
くなり、復号化の途中で復号化方法を選択する選択肢が
増大し複雑化していることなどから、この演算をガロア
体演算処理が可能なプロセッサでプログラム制御により
実現する構成が検討されている。
【0004】符号語がガロア体GF(2^8)で構成さ
れているとき、符号語は8ビットのシンボルとして表現
される。一方、既存のプロセッサは8×nビット構成の
ものが広く使用されている。そこで、ガロア体演算を高
速に行なうには、ガロア体演算を並列に複数シンボル、
同時実行する構成がある。例えば、16ビット・プロセ
ッサでは、以下のような演算を行なう。即ち GAD GAD Rd Rs0 Rs1 Rd_H < Rs0_H g+ Rs1_H Rd_L < Rs0_L g+ Rs1_L ガロア体加算命令GADは、16ビットのメモリRs
0,Rs1の上位8ビットRs0_H,Rs1_H及び
下位8ビットRs0_L,Rs1_Lを各々独立に並列
演算し、2つのシンボルの演算結果を16ビットのメモ
リRd(Rd_h,Rd_L)に書き込む。これによっ
て1命令で、2つの演算を同時実行できる。
【0005】
【発明が解決しようする課題】しかし、並列ガロア体加
算命令を有するプロセッサで、下記のガロア体多項式演
算を行なう場合を考える。即ち、
【0006】
【数1】
【0007】この演算で、ガロア体の乗算を行なった後
に加算を実行すると、数2に示すように、次数が1大き
くなるような状況では16ビット(1ワード)の半分、
即ち8ビットの桁上げが生じるので、結果的に、並列加
算を行なえないことになる。
【0008】
【数2】
【0009】本発明は、このような不都合を生じないプ
ロセッサを提示することを目的とする。
【0010】
【課題を解決するための手段】本発明に係るプロセッサ
は、ビット長nを単位とするm個のデータを、それぞれ
別個に演算処理するm個の演算器からなることを特徴と
する。
【0011】本発明に係るプロセッサはまた、レジスタ
・ファイルと、ビット長nを単位とするm個のガロア体
加算器及びガロア体乗算器、並びに、当該ガロア体加算
器の入力としてビット長nを単位とする複数の入力デー
タから1つ又は定数を選択する選択手段を有する演算ユ
ニットと、当該メモリに記憶される制御情報アドレスを
指し示すプログラム・カウンタと、当該プログラム・カ
ウンタ及び当該演算ユニットから出力されるメモリ・ア
ドレスを記憶し、当該メモリにメモリ・アドレスとして
供給するメモリ・アドレス・レジスタと、当該メモリと
当該レジスタ・ファイル間で転送するデータを記憶する
メモリ・データ・レジスタと、当該メモリから読み出さ
れた制御情報を記憶するインストラクション・レジスタ
と、当該インストラクション・レジスタの出力をデコー
ドして、当該メモリ、当該レジスタ・ファイル、当該演
算ユニット、当該プログラム・カウンタ、当該メモリ・
アドレス・レジスタ及び当該メモリ・データ・レジスタ
を制御するシーケンサとからなることを特徴とする。
【0012】
【作用】上位シンボルと下位シンボル間でガロア体加算
処理を可能にする加算手段を設け、ワードと次数の関係
が常に一定になるようにした。これにより、ガロア体を
元とする多項式演算の次数とレジスタのバイト列を整列
化でき、これにより、多項式の加算をより少ない実行命
令数で実行できるようになり、演算時間を短縮できる。
【0013】
【実施例】以下、図面を参照して、本発明の実施例を詳
細に説明する。
【0014】図1は、本発明の一実施例におけるガロア
体演算器の概略構成ブロック図、図2は、図1に示す演
算器を組み込んだプロセッサの一実施例である。
【0015】図1において、10,12は、2シンボル
分のGF(2^8)即ち8ビットを1シンボルとした2
シンボル分(即ち、16ビット)の信号SRC_A,S
RC_Bが並列に入力する入力端子、14は、16ビッ
トの演算結果DESTの出力端子である。
【0016】16,18は3入力1出力のセレクタであ
り、セレクタ16,18には、信号SRC_Bの上位シ
ンボルを示す上位8ビットの信号BHと、固定値”0”
と、信号SRC_Bの下位シンボルを示す下位8ビット
の信号BLが入力する。
【0017】20,22は8ビットのガロア体加算器で
ある。加算器20には、信号SRC_Aの上位シンボル
である信号AHと、セレクタ16の出力が入力される。
加算器22には、信号SRC_Aの下位シンボルである
信号ALと、セレクタ18の出力が入力される。
【0018】24,26は8ビットのガロア体乗算器で
ある。乗算器24の一方の入力には信号AHが入力さ
れ、もう一方の入力には信号SRC_Bの上位シンボル
信号BHが入力される。乗算器26の一方の入力には信
号ALが入力され、もう一方の入力には信号SRC_B
の下位シンボル信号BLが入力される。
【0019】28,30は2入力1出力のセレクタであ
る。セレクタ28の第1入力には、加算器20の出力が
印加され、第2入力には乗算器24の出力が印加され
る。セレクタ30の第1入力には、加算器22の出力が
印加され、第2入力には乗算器26の出力が印加され
る。
【0020】セレクタ28,30の出力は、それぞれ上
位及び下位シンボルのガロア体演算信号になっており、
16ビット・データに束ねられて信号DESTとして出
力端子14から外部に出力される。
【0021】セレクタ16,18,28,30の選択制
御入力には、制御コマンドGLU_Cが印加される。セ
レクタ16,18,28,30は、この信号GLU_C
に応じて、図3に示すように、2入力又は3入力から出
力を選択する。
【0022】図2において、40は通常のメモリにより
も高速にデータを読み出し及び書き込みできるレジスタ
群、即ち、レジスタファイルRGFであり、2つのデー
タ出力qa,qb、1つのデータ入力din、及び、書
き込み読み出し制御信号入力rgf_cを有する。
【0023】42は、論理演算、算術論理演算及びガロ
ア体演算等をおこなう算術論理演算ユニットGLUであ
り、2つのデータ入力端子src_a,src_b、1
つのデータ出力端子dest、及び演算制御入力端子g
lu_c端子を有する。ユニット42は、制御信号gl
u_cに従って、入力src_a,src_bに所望の
演算を行ない、演算結果を出力destから出力する。
【0024】44は、アドレス入力adr、データ入力
di及びデータ出力doを有するメモリである。
【0025】46は、メモリ44へのアドレスを保持す
るメモリ・アドレス・レジスタMARであり、1つのア
ドレス入力ain、制御入力en、及びアドレス出力a
otを有する。レジスタ46は、制御信号enに従って
アドレス入力ainを取り込み、また、記憶するアドレ
スを出力aotからメモリ44のアドレス入力adrに
出力する。
【0026】48は、メモリ44との間でデータを授受
するメモリ・データ・レジスタMDRであり、2つのデ
ータ入力bin,min、2つのデータ出力fot,m
ot及び制御信号入力mdr_cを有する。レジスタ4
8は、制御信号mdr_cに従って、入力binを内部
に取り込み、記憶データを出力fotに出力する。ま
た、入力minを内部に取り込み、入力binから入力
されたデータを出力motに出力する。
【0027】50は、メモリ・アドレス・レジスタ46
から出力されたメモリ・アドレスのコマンド命令を記憶
するインストラクション・レジスタIRであり、インス
トラクション入力iin及びインストラクション出力i
otを有する。
【0028】52は、インストラクション・レジスタ5
0に記憶されたコマンド命令をデコードして各種の制御
信号を生成するシーケンサMICSであり、シーケンス
初期化入力、レジスタファイル制御出力、データ・セレ
クト制御出力、ALU演算制御出力、MAR制御出力、
MDR制御出力、即値出力imm及びプログラム・カウ
ンタ制御出力を有している。
【0029】54は、プログラムの、次に実行するアド
レスを保持するプログラム・カウンタPCであり、2つ
の入力qpa,qpb、1つの出力pci及び制御信号
入力pc_cを有する。
【0030】レジスタ・ファイル40の出力qaは、演
算ユニット42の入力src_aと、プログラム・カウ
ンタ54の入力qpaに接続する。演算ユニット42の
出力dost、メモリ・データ・レジスタ48の出力f
ot、メモリ・アドレス・レジスタ46の出力ain及
びプログラム・カウンタ54の出力pciは、レジスタ
ファイル40の入力dinに接続する。レジスタファイ
ル40の出力qbは、演算ユニット42の入力src_
b、プログラム・カウンタ54の入力qpb及びメモリ
・データ・レジスタ48の入力binに接続する。
【0031】メモリ・アドレス・レジスタ46の出力a
otは、メモリ44のアドレス入力adrに接続する。
メモリ・データ・レジスタ48の出力motは、メモリ
44のデータ入力diに接続し、メモリ44のデータ出
力doは、メモリ・データ・レジスタ48のデータ入力
minと、インストラクション・レジスタ50のデータ
入力iinに接続する。
【0032】シーケンサ52の各制御出力はそれぞれ、
レジスタファイル40の制御入力rgf_c、演算ユニ
ット42の制御入力glu_c、プログラム・カウンタ
54の制御入力pc_c、メモリ・アドレス・レジスタ
46の制御en、メモリ・データ・レジスタ48の制御
入力mdr_cに接続する。
【0033】図2に示すプロセッサの動作の概要を説明
する。シーケンサ52の初期化入力に初期化信号rst
が入力すると、シーケンサ52は、プログラム・カウン
タ54に予め定められたアドレスをメモリ・アドレス・
レジスタ46に出力させる。このアドレスに記憶された
プログラムの先頭の命令がメモリ44から読み出され、
インストラクション・レジスタ50に書き込まれる。
【0034】シーケンサ52は、インストラクション・
レジスタ50から出力される命令をデコードし、その命
令に従った各制御信号を各ブロックに供給する。また、
命令がシーケンサ52に取り込まれた時点で、プログラ
ム・カウンタに54に次の命令アドレスを発生する。命
令が終了すると、プログラム・カウンタ54の内容がメ
モリ・アドレス・レジスタ46に書き込まれ、次の命令
のアドレスがメモリ44からインストラクション・レジ
スタ50に転送される。シーケンサ52はインストラク
ション・レジスタ50から出力される命令をデコードし
実行する。以下、これらのシーケンスを繰り返すことに
より、プログラムが実行される。
【0035】例えば、インストラクション・レジスタ5
0から、 GDH R1 R2 R3 という命令が出力されたとき、シーケンサ52はこの命
令をデコードして、制御信号rgf_cによりレジスタ
・ファイル40を制御して、出力qa,qbにレジスタ
R2,R3の内容を出力させ、制御信号glu_cによ
り演算ユニット42を制御して入力src_a,src
_bから入力されるレジスタ・データに対して、前述の
GDH命令を実行させる。
【0036】GDH命令の演算結果は、演算ユニット4
2の出力destから出力され、制御信号rgf_cに
従いレジスタ・ファイル40がレジスタR1に格納す
る。これにより、命令の実行が終了する。
【0037】
【数1】に示すガロア体多項式演算を例に、図2に示す
プロセッサの作用を具
【0038】体的に説明する。
【数1】に示すガロア体多項式の乗算部分を実行し、下
記の結果を得る。即ち、
【0039】
【数3】
【0040】ここで GDH ReR7Ra を実行すると、多項式乗算の0次と1次の係数がeレジ
スタに出力される。また、 GDL RfR6Ra GAD RfRfRd GDH RfRfR9 を実行することにより、2次と3次の計算結果がfレジ
スタに出力される。同様にして、これらの3命令を組み
合わせて使用し、並列加算を行なうことで、より少ない
実行命令数でガロア体多項式の乗算を実行できる。
【0041】
【発明の効果】以上の説明から容易に理解できるよう
に、本発明によれば、ガロア体多項式の加算をより少な
い命令数で実行できるようになり、これにより、処理時
間を短縮できる。
【図面の簡単な説明】
【図1】 本発明の一実施例におけるガロア体演算器の
概略構成ブロック図である。
【図2】 図1に示す演算器を組み込んだプロセッサの
概略構成ブロック図である。
【図3】 セレクタ16,18,28,30の選択特性
を示す表である。
【符号の説明】
10,12:入力端子 14:出力端子 16,18:セレクタ 20,22:ガロア体加算器 24,26:ガロア体乗算器 28,30:セレクタ 40:レジスタファイル 42:算術論理演算ユニット 44:メモリ 46:メモリ・アドレス・レジスタ 48:メモリ・データ・レジスタ 50:インストラクション・レジスタ 52:シーケンサ 54:プログラム・カウンタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ビット長nを単位とするm個のデータ
    を、それぞれ別個に演算処理するm個の演算器からなる
    ことを特徴とするプロセッサ。
  2. 【請求項2】 m個のnビット・データの一つ及び定数
    の何れかを選択して、上記m個の各演算器に供給する選
    択手段を具備する請求項1に記載のプロセッサ。
  3. 【請求項3】 メモリに記憶されるデータを演算処理す
    るプロセッサであって、 レジスタ・ファイルと、 ビット長nを単位とするm個のガロア体加算器及びガロ
    ア体乗算器、並びに、当該ガロア体加算器の入力として
    ビット長nを単位とする複数の入力データから1つ又は
    定数を選択する選択手段を有する演算ユニットと、 当該メモリに記憶される制御情報アドレスを指し示すプ
    ログラム・カウンタと、 当該プログラム・カウンタ及び当該演算ユニットから出
    力されるメモリ・アドレスを記憶し、当該メモリにメモ
    リ・アドレスとして供給するメモリ・アドレス・レジス
    タと、 当該メモリと当該レジスタ・ファイル間で転送するデー
    タを記憶するメモリ・データ・レジスタと、 当該メモリから読み出された制御情報を記憶するインス
    トラクション・レジスタと、 当該インストラクション・レジスタの出力をデコードし
    て、当該メモリ、 当該レジスタ・ファイル、当該演算ユニット、当該プロ
    グラム・カウンタ、当該メモリ・アドレス・レジスタ及
    び当該メモリ・データ・レジスタを制御するシーケンサ
    とからなることを特徴とするプロセッサ。
JP29614094A 1994-11-30 1994-11-30 プロセッサ Pending JPH08153086A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29614094A JPH08153086A (ja) 1994-11-30 1994-11-30 プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29614094A JPH08153086A (ja) 1994-11-30 1994-11-30 プロセッサ

Publications (1)

Publication Number Publication Date
JPH08153086A true JPH08153086A (ja) 1996-06-11

Family

ID=17829672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29614094A Pending JPH08153086A (ja) 1994-11-30 1994-11-30 プロセッサ

Country Status (1)

Country Link
JP (1) JPH08153086A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079405A1 (fr) * 1999-06-21 2000-12-28 Hitachi, Ltd. Processeur de donnees

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000079405A1 (fr) * 1999-06-21 2000-12-28 Hitachi, Ltd. Processeur de donnees

Similar Documents

Publication Publication Date Title
JP3790619B2 (ja) 正値化処理及び飽和演算処理からなる丸め処理を好適に行うことができるプロセッサ
US4525796A (en) Pipelined operation unit for vector data
US6233597B1 (en) Computing apparatus for double-precision multiplication
JP2009282992A (ja) 多項式演算オペレーション
US5247471A (en) Radix aligner for floating point addition and subtraction
JP3850511B2 (ja) リードソロモン復号装置
JP5193358B2 (ja) 多項式データ処理演算
JPH08153086A (ja) プロセッサ
JP3804778B2 (ja) プロセッサ及び命令実行方法
EP0936537B1 (en) Cyclic redundancy check in a computer system
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
JP3850512B2 (ja) リードソロモン復号装置
JP2991788B2 (ja) 復号器
US6643673B1 (en) Method and apparatus for arithmetic shifting
JP3252029B2 (ja) 符号化装置及び符号化方法
KR100315303B1 (ko) 디지탈 신호 처리기
JPS623330A (ja) 加算器
JPH0834439B2 (ja) ガロア体演算装置
KR100251547B1 (ko) 디지탈신호처리기(Digital Sgnal Processor)
JP3250363B2 (ja) 演算装置
JPH0834440B2 (ja) ガロア体演算方法
JP2000081989A (ja) プロセッサおよび該プロセッサを用いた巡回符号化処理方法
JPH0778748B2 (ja) ガロア体演算ユニット
KR100246472B1 (ko) 디지탈신호처리기
JPH0362738A (ja) 演算装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20050131

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050720