JP4372822B2 - パリティ予測回路及びこれを使用した論理演算回路 - Google Patents

パリティ予測回路及びこれを使用した論理演算回路 Download PDF

Info

Publication number
JP4372822B2
JP4372822B2 JP2007512380A JP2007512380A JP4372822B2 JP 4372822 B2 JP4372822 B2 JP 4372822B2 JP 2007512380 A JP2007512380 A JP 2007512380A JP 2007512380 A JP2007512380 A JP 2007512380A JP 4372822 B2 JP4372822 B2 JP 4372822B2
Authority
JP
Japan
Prior art keywords
circuit
parity
eor
prediction
logical operation
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 - Fee Related
Application number
JP2007512380A
Other languages
English (en)
Other versions
JPWO2006106576A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2006106576A1 publication Critical patent/JPWO2006106576A1/ja
Application granted granted Critical
Publication of JP4372822B2 publication Critical patent/JP4372822B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、パリティの付加されたデータを用いて、論理演算(論理AND、
論理OR) を実行する演算回路のパリティ予測回路及びこれを用いた論理演算回路に関し、特に、入力オペランドの少なくとも一方を反転して演算する機能を持った演算回路のためのパリティ予測回路及びこれを用いた論理演算回路に関する。
CPU(Central Processor Unit)の処理速度の向上に伴い、CPUの構成が複雑となっている。例えば、CPUは、演算ユニット、命令ユニット、キャッシュメモリ、キャッシュコントロールユニット、各種レジスタを備える。近年の集積化技術の発達により、このCPUも1チップ化の傾向にあり、CPU内の各ユニットの回路構成の簡易化と、高速化が要請されている。
このような演算ユニットには、加算/減算器、論理演算回路、シフト回路等が存在する。この内、論理演算回路は、論理AND、論理ORの論理演算を担当し、一対の入力オペランドの論理演算を行う。例えば、論理演算回路200は、図15のように構成されている。図15に示すように、入力のオペランドの片方をa bus, もう片方をb bus とする。ここでは、各オペランドを、8ビットで説明する。即ち、各オペランドa bus,b busは、データa0〜a7とパリティビットap、データb0〜b7とパリティビットbpとからなる。
第1の入力ポート100は、オペランドのデータa0〜a7を、第1のパリティポート102は、パリティビットapを受ける。第2の入力ポート104は、オペランドのデータb0〜b7を、第2のパリティポート106は、パリティビットbpを受ける。インストラクションポート108は、命令ユニット(図示せず)から論理演算命令を受ける。ここでは、論理演算で、双方のオペランドを独立に反転するような命令を備えた場合の命令を、説明の都合上、仮に、図16のように、8命令に決めておく。
この論理演算回路200は、AND回路130と、OR回路132と、セレクタ140とを有する。AND回路130、OR回路132の各々には、一対のオペランドa busと、b busとが、EOR回路112〜118を介し入力する。
一方、インストラクションポート108の論理演算命令は、デコーダ110で出コードされ、セレクタ140と、EOR回路112〜118に入力する。セレクタ140は、命令に応じて、AND回路130と、OR回路132とのいずれかの演算結果を、データとして、出力する。又、EOR回路112〜118は、命令に応じて、入力データを反転して、AND回路130と、OR回路132とに出力する。
このように、入力データを反転するような論理AND 命令や論理OR
命令が存在するような命令を処理する場合には、遅延時間を最小にするため、命令毎に、パリティ予測回路134を設けている。
ここで、基本的な論理演算のパリティ予測を説明する。論理AND/OR
では、図15で示したように、パリティビットapをa bus の「1」のビット数、パリティビットbpをb bus の「1」のビット数として取り扱う。パリティ予測は、bus上の「1」の総和が、どれだけ増減したかを考慮して予測を行う。
図17は、1bit 分のAND演算の真理表とパリティの反転条件の説明図である。即ち、図17は、2入力a,bの「0」、「1」の4つのパターンと、2入力a,bのAND演算の結果xと、パリティ変化信号PCandと、2入力の「1」の数と演算結果の変化Commentを示す。図17のPCandは、1bitのAND演算操作によりパリティが変化する条件であり、入力データa,bの「1」であるビットの数の総和と、AND演算結果xの「1」であるビットの数の総和とを比較して、Commentのように、2入力の「1」の数と、演算結果xが異なれば、「1」、同じなら、「0」となる。
具体的に説明すると、図17で、a=0,b=0なら、AND演算結果x=0であり、「1」のビット数の和と演算結果と変化がないため、PCand=0,a=0,b=1なら、AND演算結果x=0となるが、「1」のビット数の和=1から演算結果x=0に変化しているため、PCand=1となる。
a busとb busの「1」であるビットの数の総和は、a busのパリティビットapと、b busのパリティビットbpのEORで求めることができる。ただし、EOR結果が「0」である場合は、総和が偶数になることを示し、EOR結果が「1」である場合は、総和が奇数になることを示している。図17から、PCand=a|b(aとbのor)であることがわかる。
図18は、1bit 分のOR演算の真理表とパリティの反転条件の説明図である。即ち、図18は、図17と同様に、2入力a,bの「0」、「1」の4つのパターンと、2入力a,bのOR演算の結果xと、パリティ変化信号PCorと、2入力の「1」の数と演算結果の変化Commentを示す。図18のPCorは、1bitのOR演算操作によりパリティが変化する条件であり、入力データa,bの「1」であるビットの数の総和と、OR演算結果xの「1」であるビットの数の総和とを比較して、Commentのように、2入力の「1」の数と、演算結果xが異なれば、「1」、同じなら、「0」となる。
具体的に説明すると、図18で、a=0,b=0なら、OR演算結果x=0であり、変化がないため、PCor=0,a=1,b=1なら、AND演算結果x=1となるが、「1」のビット数の和=2から演算結果x=1に変化しているため、PCor=1となる。図18から、PCor=a&b(aとbのAND)であることがわかる。
この2入力の「1」であるビットの数の総和は、パリティビットapとbpのEOR(排他的論理和)で求めることができる。ただし、apとbpとのEORが、「0」であることは、総和が偶数になることを示し、apとbpとのEORが、「1」であることは、総和が奇数になることを示している。
例えば、バス幅を8bit,parity bitはbyte(8ビット)単位で、付加されているときには、AND演算の予測パリティビットrpandは、以下の式(1)のようになる。但し、ap,bp,rp(予測パリティビット)は、奇数パリティとする。
Figure 0004372822
式(1)から、反転条件信号pchgandは、下記式(2)となる。
Figure 0004372822
同様に、OR演算の予測パリティビットrporは、以下の式(3)のようになる。但し、ap,bp,rp(予測パリティビット)は、奇数パリティとする。
Figure 0004372822
式(3)から、反転条件信号pchgorは、下記式(4)となる。
Figure 0004372822
すると以下のようになる。
更に、sub信号で、b busのデータを反転させるandn/ornの場合は、各々、予測パリティビットrpandnとrpornは、以下の式(5)のようになる。
Figure 0004372822
以上のように、予測パリティ回路では、各命令に応じて、反転条件信号を作成する予測論理が異なる。しかし、図16の8命令分のパリティ予測論理をもつことは、回路規模が莫大になる。このため、下記式(6)のド・モルガンの定理を適用して、回路規模を減少する。
Figure 0004372822
即ち、式(6)の関係を利用して、図16のandn1 とorn、orn1
とandn、andn2 とor、orn2 とand の命令で、回路を共有して、回路規模を小さくする。図19は、この関係を利用した第1の従来のパリティ予測回路134の構成例を示す。
図19のパリティ予測回路134は、入力a,bからOR論理の反転条件信号pchgorを生成する第1のOR予測論理回路200と、入力a,bからAND論理の反転条件信号pchgandを生成する第1のAND予測論理回路202と、入力aと,入力bをインバータ210で反転した反転bからOR論理の反転条件信号pchgornを生成する第2のOR予測論理回路204と、入力aと,入力bをインバータ212で反転した反転bからAND論理の反転条件信号pchgandnを生成する第2のAND予測論理回路208と、これら回路200〜208の出力を、前述のデコーダ110のデコード信号で選択するセレクタ208とを有する。
更に、パリティ予測回路134は、前述のa bus,b busデータの「1」の数の総和を得るため、a busのパリティビットapと、b busのパリティビットbpとのEORの論理演算を行い、反転する反転EOR回路220と、EOR回路220の出力とインバートパリティ信号(奇数ビット数のデータに対し、1つのパリティを付加する場合に、「1」)とのEORの論理演算を行うEOR回路224と、セレクタ208の出力(反転条件信号)とEOR回路224の出力とのEOR論理演算を行うEOR回路226とを有する。
即ち、第1のOR予測論理回路200は、式(4)のpchgorを演算し、第2のOR予測論理回路204は、式(4)と同様に、pchgornを演算し、第1のAND予測論理回路202は、式(2)のpchgandを演算し、第2のAND予測論理回路206は、式(2)と同様に、pchgandnを演算する。
従って、EOR回路226から、式(1)、式(3)、式(5)のrpand,rpor,rporn,rpandnのいずれかが、図16の論理演算命令に従い、予測パリティ信号rpとして、出力される(例えば、特許文献1参照)。
一方、図20に示す第2の従来のパリティ予測回路134では、2入力からOR論理の反転条件信号を生成する第1のOR予測論理回路200と、2入力からAND論理の反転条件信号を生成する第1のAND予測論理回路202と、セレクタ208を設け、且つパリティ予測回路の手前にデータ反転のための論理として、EOR回路214,216を設ける。その他は、図19の構成と同一である。このようにすると、予測論理回路の数を半分にできる。
特開昭58−029054号公報(図2)
図19に示した第1の従来技術では、予測論理回路を4つ必要とする。この回路は、前述のように、式(2)、式(4)の計算をするため、例えば、8ビットのデータでも、15個の論理演算素子が必要である。このデータビット数が、例えば、64ビットでは、その8倍の構成が必要であり、回路構成が大規模となる。
一方、図20に示した第2の従来技術では、予測論理回路が2つのため、回路構成は、第1の従来技術に比し、小さくなるが、入力データの反転操作を、パリティ予測回路の手前にいれるので、その分遅延が増す。特に、データビット長が長い場合には、図16の命令をデコードするデコーダ110からのデータの反転制御のための信号(図20中では、inv a、inv b ) の遅延は、著しく大きいものになってしまうという問題がある。
従って、本発明の目的は、回路規模を小さくしつつ、高速にパリティ予測を行うための論理演算パリティ予測回路及び論理演算回路を提供することにある。
又、本発明の他の目的は、パリティ予測機能を持つ論理演算回路のハードウェアの回路規模を小さくするための論理演算パリティ予測回路及び論理演算回路を提供することにある。
更に、本発明の別の目的は、パリティ予測機能を持つ論理演算回路の高速化を実現するための論理演算パリティ予測回路及び論理演算回路を提供することにある。
この目的の達成のため、本発明の論理演算パリティ予測回路は、一対の入力オペランドのAND論理演算のパリティ反転条件を演算する第1のパリティ反転条件演算回路と、前記一対の入力オペランドのOR論理演算のパリティ反転条件を演算する第2のパリティ反転条件演算回路と、論理演算命令に応じて、前記第1のパリティ反転条件演算回路又は前記第2のパリティ反転条件演算回路のパリティ反転条件を選択するセレクタと、前記一対の入力オペランドのパリティビットのEOR演算を行う予測パリティ回路と、一方の入力オペランドのEOR演算を行い、補正信号を生成する補正信号生成回路と、前記補正信号と前記セレクタの前記パリティ反転条件とで、前記予測パリティ回路の前記予測パリティ信号を補正し、前記論理演算命令に応じた予測パリティを出力する補正回路とを有する。
又、本発明の論理演算回路は、一対の入力オペランドの論理演算を実行し、論理演算結果を出力する論理演算器と、前記論理演算結果のパリティを予測する論理演算パリティ予測回路とを有する。そして、前記論理演算パリティ予測回路は、前記一対の入力オペランドのAND論理演算のパリティ反転条件を演算する第1のパリティ反転条件演算回路と、前記一対の入力オペランドのOR論理演算のパリティ反転条件を演算する第2のパリティ反転条件演算回路と、論理演算命令に応じて、前記第1のパリティ反転条件演算回路又は前記第2のパリティ反転条件演算回路のパリティ反転条件を選択するセレクタと、前記一対の入力オペランドのパリティビットのEOR演算を行う予測パリティ回路と、一方の入力オペランドのEOR演算を行い、補正信号を生成する補正信号生成回路と、前記補正信号と前記セレクタの前記パリティ反転条件とで、前記予測パリティ回路の前記予測パリティ信号を補正し、前記論理演算命令に応じた予測パリティを出力する補正回路とを有する。
更に、本発明では、好ましくは、前記補正信号生成回路が、前記一方のオペランドのEOR演算を行うEOR回路からなる。
更に、本発明では、好ましくは、前記補正信号作成回路が、前記一方のオペランドのパリティ検査回路で構成された。
更に、本発明では、好ましくは、前記論理演算命令が、オペランドの少なくとも一方を反転したAND及びOR命令を含む論理AND及び論理OR命令からなる。
更に、本発明では、好ましくは、前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有する。
更に、本発明では、好ましくは、前記補正回路は、前記セレクタの前記パリティ反転条件と、前記予測パリティ回路の前記予測パリティ信号とのEOR演算を行う第1のEOR回路と、前記第1のEOR回路の出力と、前記補正信号とのEOR演算を行い、前記論理演算命令に応じた予測パリティを出力する第2のEOR回路とを有する。
更に、本発明では、好ましくは、前記予測パリティ回路の予測パリティを、前記論理演算命令に応じて制御する制御回路を更に有する。
更に、本発明では、好ましくは、前記パリティ検査回路は、前記一方のオペランドのEOR結果と、前記一方のオペランドのパリティビットとのEORを演算する演算回路で構成された。
更に、本発明では、好ましくは、前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有し、前記予測パリティ回路は、前記第2の選択信号の反転信号で、前記一方のオペランドのパリティビットをゲートするゲート回路と、前記ゲート回路の出力と、前記他方のオペランドのパリティビットとのEOR演算を行うEOR回路とを有する。
片方のデータバスのEOR条件で、予測パリティ、反転条件を補正するため、命令毎に、パリティ予測論理を持つ場合には、A bus/B busのいずれか一方のみの反転機能なら、4個必要であり、更に、A bus/B bus独立に反転できるならば、6個必要なパリティ予測論理回路が、2個で済み、追加される補正論理回路は、片方のデータバスのEOR条件のみで、良く、ハード構成の削減が可能となる。又、通常パリティを付加した回路では、入力データの検査を実行する場合が、ほとんどであるから、この検査論理機能を補正論理として共用でき、この場合には、ハードウェアの増加を伴わず、実現できる。
更に、オペコード信号からの制御信号は、論理の後半でかけることになり、命令毎に、パリティ予測論理をもつものと、同等の高速なパリティ予測が可能となる。
本発明の第1の実施の形態の論理演算パリティ予測回路の回路図である。 図1のAND反転条件生成回路の回路図である。 図1のOR反転条件生成回路の回路図である。 図1のEOR TREE回路の回路図である。 論理andnの真理表の説明図である。 論理andn1の真理表の説明図である。 論理andn2の真理表の説明図である。 論理ornの真理表の説明図である。 論理orn1の真理表の説明図である。 論理orn2の真理表の説明図である。 奇数ビットにパリティビットを付加した場合の命令と制御信号との関係図である。 偶数ビットにパリティビットを付加した場合の命令と制御信号との関係図である。 本発明の第2の実施の形態の論理演算パリティ予測回路の回路図である。 図13のパリティチエック回路の回路図である。 論理演算回路の構成図である。 命令コードの説明図である。 論理andの真理表の説明図である。 論理orの真理表の説明図である。 従来の第1の論理演算パリティ予測回路の回路図である。 従来の第2の論理演算パリティ予測回路の回路図である。
符号の説明
1 AND反転条件生成回路
2 OR反転条件生成回路
3 EOR TREE回路
3−1 パリティチエック回路
4 予測パリティ生成回路(EOR回路)
5 EOR回路
6 セレクタ
7,9EOR回路(補正回路)
8 アンドゲート
以下、本発明の実施の形態を、論理演算パリティ予測回路の第1の実施の形態、第1の実施の形態の動作、論理演算パリティ予測回路の第2の実施の形態、他の実施の形態の順で説明するが、これらの実施の形態は、本発明の一例であり、種々の変形を排除するものではない。
[第1の実施の形態]
図1は、本発明の第1の実施の形態の論理演算パリティ予測回路の回路図、図2は、図1のAND演算のパリティ反転条件の生成論理回路の回路図、図3は、図1のOR演算のパリティ反転条件の生成論理回路の回路図、図4は、図1のEOR TREE回路の回路図である。
図1に示すように、AND予測論理回路(pchg and)1は、図2で説明するAND演算におけるパリティ反転条件の生成論理回路である。OR予測論理回路(pchg or)2は、図3で説明するOR演算におけるパリティ反転条件の生成論理である。EOR TREE回路3は、図4で説明するaバスのデータをEORでまとめる論理回路である。
又、パリティ予測回路90は、予測論理回路1,2の出力を、選択信号SEL1で選択するセレクタ6と、前述のa bus,b busデータの「1」の数の総和を得るため、a busのパリティビットapと、b busのパリティビットbpとのEORの論理演算を行い、反転する反転EOR回路4と、EOR回路4の出力とinvert parity信号(奇数ビット数のデータに対し、1つのパリティを付加する場合に、「1」)とのEORの論理演算を行うEOR回路5と、セレクタ6の出力(反転条件信号)とEOR回路5の出力とのEOR論理演算を行うEOR回路7とを有する。
更に、パリティ予測回路90は、EOR TREE回路3の出力と、第2の選択信号SEL2との論理積(AND)を演算するAND回路8と、EOR回路7の出力と、AND回路8の出力とのEORを演算するEOR回路9とを有する。図中a,bの信号はそれぞれaバスデータ、bバスデータを示す。apは、aバスデータのパリティ、bpは、bバスデータのパリティである。Invert parity信号は、パリティが,奇数ビットのデータに対して、1つ付く場合に、命令に依存する値をとる信号である。
以下、aバスデータ、bバスデータを、8ビット幅として、説明する。AND予測論理回路1は、図2に示すように、式(2)のpchgandを演算する。即ち、aバスデータA0〜A7と、bバスデータB0〜B7の各々の対応するビットのオア(論理和)を演算する8つのOR回路10−0〜10−7と、各々2つのOR回路10−0〜10−7の出力のEORを演算する4つのEOR回路12−0〜12−6と、各々2つのEOR回路12−0〜12−6の出力のEORを演算する2つのEOR回路14−0、14−2と、2つのEOR回路14−0,14−2の出力のEORを演算するEOR回路16とを有する。
又、OR予測論理回路2は、図3に示すように、式(4)のpchgorを演算する。即ち、aバスデータA0〜A7と、bバスデータB0〜B7の各々の対応するビットのAND(論理積)を演算する8つのAND回路20−0〜20−7と、各々2つのAND回路20−0〜20−7の出力のEORを演算する4つのEOR回路22−0〜22−6と、各々2つのEOR回路22−0〜22−6の出力のEORを演算する2つのEOR回路24−0、24−2と、2つのEOR回路24−0,24−2の出力のEORを演算するEOR回路26とを有する。
更に、EOR TREE予測論理回路3は、図4に示すように、各々、aバスデータA0〜A7の2ビットのEORを演算する4つのEOR回路32−0〜30−3と、各々2つのEOR回路30−0〜30−3の出力のEORを演算する2つのEOR回路32−0、32−2と、2つのEOR回路32−0,32−2の出力のEORを演算するEOR回路34とを有する。
以下、説明するように、本発明では、andn/orn演算では、and/orのパリティを予測しておき、andn/ornとand/orとの差分を、別途求めて、補正するという手法を採用した。
[第1の実施の形態の動作]
図5は、1ビットのandn演算の真理値表の説明図であり、図6は、1ビットのandn1演算の真理値表の説明図であり、図7は、1ビットのandn2演算の真理値表の説明図、図8は、1ビットのorn演算の真理値表の説明図であり、図9は、1ビットのorn1演算の真理値表の説明図であり、図10は、1ビットのorn2演算の真理値表の説明図である。
図5乃至図7において、図17と同様に、2入力a,bの「0」、「1」の4つのパターンと、2入力a,bのそれぞれandn,andn1,andn2演算(図16参照)の結果xと、パリティ変化信号PCandn,PCandn1,PCandn2と、2入力の「1」の数と演算結果の変化Commentを示す。
図17と同様に、PCandn,PCandn1,PCandn2は、1bitのandn,andn1,andn2演算操作によりパリティが変化する条件であり、入力データa,bの「1」であるビットの数の総和と、andn,andn1,andn2演算結果xの「1」であるビットの数の総和とを比較して、Commentのように、2入力の「1」の数の総和と、演算結果xの「1」の数が、偶数と奇数、又は奇数と偶数との組み合わせであれば、「1」、同じ偶数同士又は奇数同士なら、「0」となる。
又、図8乃至図10において、図18と同様に、2入力a,bの「0」、「1」の4つのパターンと、2入力a,bのそれぞれorn,orn1,orn2演算(図16参照)の結果xと、パリティ変化信号PCorn,PCorn1,PCorn2と、2入力の「1」の数と演算結果の変化Commentを示す。
図18と同様に、PCorn,PCorn1,PCorn2は、1bitのorn,orn1,orn2演算操作によりパリティが変化する条件であり、入力データa,bの「1」であるビットの数の総和と、orn,orn1,orn2演算結果xの「1」であるビットの数の総和とを比較して、Commentのように、2入力の「1」の数の総和と、演算結果xの「1」の数が、偶数と奇数、又は奇数と偶数との組み合わせであれば、「1」、同じ偶数同士又は奇数同士なら、「0」となる。
図17のAND演算の真理表と、図5のANDn演算の真理表とを比較すると、a=1の時に,PCandnが,PCandと反転している。つまり、下記式(7)の関係がある。
Figure 0004372822
同様に、図18のOR演算の真理表と、図8のORn演算の真理表とを比較すると、a=0の時に、PCornが、PCorと反転している。つまり、下記式(8)の関係がある。
Figure 0004372822
このことから、a busに、「1」のビットがいくつあるかで、andn/ornの演算では、and/orのパリティに対して、補正が必要であるかを決定できることがわかる。andn/ornでは、図16に示したように、演算対象とするa busのデータa0〜a7の値が、反転するため、補正条件が、andnとornとで、反転する可能性がある。しかし、パリティは、データ中のビットが偶数か奇数かを示す信号であることと、下記式(9)が成り立つ。
Figure 0004372822
このことから、偶数ビットのデータに対して、パリティを付けた場合には、andnとornとで、極性の差異はなくなる。例えば、一例として、8ビット幅のデータに、パリティが1ビットついている場合には、予測パリティrpandnは、下記(10)式となり、予測パリティrpornは、下記(11)式となり、andnとornの補正項に差異がない。
Figure 0004372822
Figure 0004372822
即ち、a busに、「1」のビットがいくつあるかを示す図1及び図4のEOR TREE回路3の出力abus_eorで、andn/ornの演算では、and/orのパリティに対して、補正できる。
次に、図6のandn1のパリティ反転条件は、ビットあたりでみれば、図8のornのパリティ反転条件の逆であることが、判る。従って、andn1の予測パリティrpandn1は、式(9)を適用して、下記式(12)により、ornの予測パリティrpornとなる。
Figure 0004372822
同様に、図9のorn1のパリティ反転条件は、ビットあたりでみれば、図5のandnのパリティ反転条件の逆であることが判る。従って、orn1の予測パリティrporn1は、式(9)を適用して、下記式(13)により、andnの予測パリティrpandnとなる。
Figure 0004372822
同様に、図7のandn2のパリティ反転条件は、ビットあたりでみれば、図18で示したorのパリティ反転条件の逆であることが判る。従って、andn2の予測パリティrpandn2は、orの予測パリティrporとなる。更に、図10のorn2のパリティ反転条件は、ビットあたりでみれば、図17で示したandのパリティ反転条件の逆であることが判る。従って、orn2の予測パリティrporn2は、andの予測パリティrpandとなる。
次に、奇数ビットにパリティがつく一例として、9ビット幅のデータに、パリティが、1ビットついている場合で、同様に説明する。先ず、予測パリティrpandnは、式(10)と同様に、下記(14)式となり、予測パリティrpornは、式(11)と同様に、下記(15)式となる。
Figure 0004372822
Figure 0004372822
即ち、rpandnでは、偶数ビットの場合と同じ式で、ビット拡張されたものとなる。一方、rpornでは、偶数の式(11)と比べて、ビット拡張の上、反転している。これは、補正項が、ao〜a8の反転と、apの反転になっているためである。従って、同様に、a busに、「1」のビットがいくつあるかを示す図1及び図4のEOR TREE回路3の出力abus_eorで、andn/ornの演算では、and/orのパリティに対して、補正できる。
次に、図6のandn1のパリティ反転条件は、ビットあたりでみれば、図8のornのパリティ反転条件の逆であることが、判る。従って、andn1の予測パリティrpandn1は、式(9)を適用して、下記式(16)により、ornの予測パリティrpornの反転となる。
Figure 0004372822
同様に、図9のorn1のパリティ反転条件は、ビットあたりでみれば、図5のandnのパリティ反転条件の逆であることが判る。従って、orn1の予測パリティrporn1は、式(9)を適用して、下記式(17)により、andnの予測パリティrpandnの反転となる。
Figure 0004372822
同様に、図7のandn2のパリティ反転条件は、ビットあたりでみれば、図18で示したorのパリティ反転条件の逆であることが判る。従って、andn2の予測パリティrpandn2は、下記式(18)で示すように、orの予測パリティrporの反転となる。
Figure 0004372822
更に、図10のorn2のパリティ反転条件は、ビットあたりでみれば、図17で示したandのパリティ反転条件の逆であることが判る。従って、orn2の予測パリティrporn2は、下記式(19)に示すように、andの予測パリティrpandの反転となる。
Figure 0004372822
これらの式では、rpandn1のパリティ予測に、rpornの条件の反転を使用して、rporn1のパリティ予測に、rpandnの条件の反転を使用して、補正に使用するデータを、a busのデータのEORのみにできる。
図11は、図1の構成における奇数ビットにパリティを付加した場合の命令と選択信号SEL1,SEL2,invert parityの関係図である。図11において、選択信号SEL1は、セレクタ6を、パリティ予測のための論理を、and型とor型のどちらを使用するかを制御する信号である。即ち、セレクタ6は、選択信号SEL1が、pchgandであると、AND予測論理回路1の出力を、pchgorであると、OR予測論理回路2の出力を選択する。
前述の説明のように、and型は、and,andn(式(14)),orn1(式(17)),orn2(式(19))であり、or型は、or,orn(式(15)),andn1(式(16)),andn2(式(18))である。
選択信号SEL2は、補正項であるEOR TREE回路3の出力abus_eorを使用するか否かを制御する信号であり、AND回路8に入力する。即ち、選択信号SEL2が、‘1’である時は、abus_eorを使用することを示し、式(14)より、andn,式(15)より、orn,式(16)より、andn1,式(17)より、orn1である。同様に、選択信号SEL2が、‘0’である時は、abus_eorを使用しないことを示し、and,or,式(18)より、andn2,式(19)より、orn2である。
invert parityは、補正項に、aの反転や、andn1とornのように、パリティ変化の条件が反転していることを利用したために発生する反転を操作し、EOR回路5に入力する。invert parityが、‘1’の時に、EOR回路5は、補正のための反転を実行する。即ち、式(15)より、orn,式(17)より、orn1,式(18)より、andn2,式(19)より、orn2である。
このような、選択信号SEL1,SEL2,invert parity、a busに、「1」のビットがいくつあるかを示す図1及び図4のEOR TREE回路3の出力abus_eorで、and/orのパリティ予測演算で、andn,andn1,andn2/orn,orn1,orn2のパリティ予測ができる。
図12は、図1の構成における偶数ビットにパリティを付加した場合の命令と選択信号SEL1,SEL2,invert parityの関係図である。図12において、選択信号SEL1は、セレクタ6を、パリティ予測のための論理を、and型とor型のどちらを使用するかを制御する信号である。即ち、セレクタ6は、選択信号SEL1が、pchgandであると、AND予測論理回路1の出力を、pchgorであると、OR予測論理回路2の出力を選択する。
前述の説明のように、and型は、and,andn(式(10)),orn1(式(13)),orn2であり、or型は、or,orn(式(11)),andn1(式(12)),andn2である。
選択信号SEL2は、補正項であるEOR TREE回路3の出力abus_eorを使用するか否かを制御する信号であり、AND回路8に入力する。即ち、選択信号SEL2が、‘1’である時は、abus_eorを使用することを示し、式(10)より、andn,式(11)より、orn,式(12)より、andn1,式(13)より、orn1である。同様に、選択信号SEL2が、‘0’である時は、abus_eorを使用しないことを示し、and,or,andn2,orn2である。
invert parityは、補正項に、aの反転や、andn1とornのように、パリティ変化の条件が反転していることを利用したために発生する反転を操作し、EOR回路5に入力する。invert parityが、‘1’の時に、EOR回路5は、補正のための反転を実行する。偶数ビットでは、式(10)乃至式(13)より、反転を実行しない。即ち、invert parityは、‘0’である。
このような、選択信号SEL1,SEL2,invert parity、a busに、「1」のビットがいくつあるかを示す図1及び図4のEOR TREE回路3の出力abus_eorで、and/orのパリティ予測演算で、andn,andn1,andn2/orn,orn1,orn2のパリティ予測ができる。
即ち、従来技術の図20のインバート回路(214,216)を設けて、andn/ornのパリティ演算を行う代わりに、本発明では、andn/ornのパリティを予測しておき、andn/ornとand/orの差分を、EOR TREE回路3で、別途求めて補正する。このため、図19に比し、構成が簡単となるとともに、図20に比し、インバート回路(214,216)が省ける分、高速なパリティ予測ができる。
[第2の実施の形態]
図13は、本発明の第2の実施の形態の論理演算予測パリティ回路の構成図、図14は、図13のパリティチエック回路の構成図である。
図13において、図1で示したものと同一のものは、同一の記号で示してあり、AND予測論理回路(pchg and)1は、図2で説明したAND演算におけるパリティ反転条件の生成論理回路である。OR予測論理回路(pchg or)2は、図3で説明したOR演算におけるパリティ反転条件の生成論理である。パリティチエック回路3−1は、図14で説明するaバスのデータを、パリティビットapでチエックする論理回路である。
又、パリティ予測回路90は、予測論理回路1,2の出力を、選択信号SEL1で選択するセレクタ6と、選択信号SEL2を反転するインバータ回路10と、インバータ回路10の出力で、a busのパリティビットapをゲートするゲート回路12と、前述のa bus,b busデータの「1」の数の総和を得るため、a busのパリティビットapと、b busのパリティビットbpとのEORの論理演算を行い、反転する反転EOR回路4と、EOR回路4の出力とインバートパリティ信号(奇数ビット数のデータに対し、1つのパリティを付加する場合に、「1」)とのEORの論理演算を行うEOR回路5と、セレクタ6の出力(反転条件信号)とEOR回路5の出力とのEOR論理演算を行うEOR回路7とを有する。
更に、パリティ予測回路90は、パリティチエック回路3−1の出力と、第2の選択信号SEL2との論理積(AND)を演算するAND回路8と、EOR回路7の出力と、AND回路7の出力とのEORを演算するEOR回路9とを有する。
図中a,bの信号はそれぞれaバスデータ、bバスデータを示す。apは、aバスデータのパリティ、bpは、bバスデータのパリティである。Invert parity信号は、パリティが,奇数ビットのデータに対して、1つ付く場合に、命令に依存する値をとる信号である。
以下、aバスデータ、bバスデータを、8ビット幅として、説明する。AND予測論理回路1は、図2に示したように、式(2)のpchgandを演算する。又、OR予測論理回路2は、図3に示したように、式(4)のpchgorを演算する。更に、パリティチエック回路3−1は、図14に示すように、各々、aバスデータA0〜A7の2ビットのEORを演算する4つのEOR回路35−0〜35−3と、各々2つのEOR回路35−0〜35−3の出力のEORを演算する2つのEOR回路36−0、36−1と、2つのEOR回路36−0,36−1の出力のEORを演算するEOR回路37と、EOR回路37の出力と、a busのパリティビットapとのEORを演算して、a bus_pchkを出力するEOR回路38を有する。
この実施の形態の論理演算パリティ予測論理回路は、基本的には、図1に示した実施例と同じであるが、入力としてパリティチェッカ3−1の結果を使うので、パリティチエッカ3−1に、パリティビットapが入力されている。このためプレディクションで使用するap/bpのEOR回路4の部分では、選択信号SEL2で,パリティビットapを通すかどうか制御している。
同様に、奇数ビットのデータに対して、1つのパリティを用意する場合には、各制御信号は、各命令にたいして、図11で示すように制御する。又、偶数ビットのデータに対して、1つのパリティを用意する場合には、各制御信号は各命令にたいして、図12で示したように制御する。
このため、第1の実施の形態と同様に、選択信号SEL1,SEL2,invert parity、図13及び図14のパリティチエック回路3−1の出力abus_pchkで、and/orのパリティ予測演算で、andn,andn1,andn2/orn,orn1,orn2のパリティ予測ができる。
即ち、従来技術の図20のインバート回路(214,216)を設けて、andn/ornのパリティ演算を行う代わりに、本発明では、andn/ornのパリティを予測しておき、andn/ornとand/orの差分を、EOR TREE回路3で、別途求めて補正する。このため、図19に比し、構成が簡単となるとともに、図20に比し、インバート回路(214,216)が省ける分、高速なパリティ予測ができる。又、同時に、a busのパリティチエックもできる。
[他の実施の形態]
上述の実施の形態の論理演算パリティ予測回路は、図15の論理演算回路に適用できる。又、更に、EOR回路を持つ論理演算回路にも適用できる。更に、偶数ビットに、パリティを付加する場合のみでは、図12に示すように、invert parityの制御が行われないため、図1、図13のEOR回路5は不要である。
片方のデータバスのEOR条件で、予測パリティ、反転条件を補正するため、パリティ予測論理回路が、2個で済み、追加される補正論理回路は、片方のデータバスのEOR条件のみで、良く、ハード構成の削減が可能となる。又、通常パリティを付加した回路では、入力データの検査を実行する場合が、ほとんどであるから、この検査論理機能を補正論理として共用でき、この場合には、ハードウェアの増加を伴わず、実現できる。更に、オペコード信号からの制御信号は、論理の後半でかけることになり、命令毎に、パリティ予測論理をのつものと、同等の高速なパリティ予測が可能となる。

Claims (18)

  1. 一対の入力オペランドの論理演算を実行結果のパリティを予測する論理演算パリティ予測回路において、
    前記一対の入力オペランドのAND論理演算のパリティ反転条件を演算する第1のパリティ反転条件演算回路と、
    前記一対の入力オペランドのOR論理演算のパリティ反転条件を演算する第2のパリティ反転条件演算回路と、
    論理演算命令に応じて、前記第1のパリティ反転条件演算回路又は前記第2のパリティ反転条件演算回路のパリティ反転条件を選択するセレクタと、
    前記一対の入力オペランドのパリティビットのEOR演算を行う予測パリティ回路と、
    一方の入力オペランドのEOR演算を行い、補正信号を生成する補正信号生成回路と、
    前記補正信号と前記セレクタの前記パリティ反転条件とで、前記予測パリティ回路の前記予測パリティ信号を補正し、前記論理演算命令に応じた予測パリティを出力する補正回路とを有することを
    特徴とする論理演算パリティ予測回路。
  2. 前記補正信号生成回路が、前記一方のオペランドのEOR演算を行うEOR回路からなることを
    特徴とする請求項1の論理演算パリティ予測回路。
  3. 前記補正信号作成回路が、前記一方のオペランドのパリティ検査回路で構成されたことを
    特徴とする請求項1の論理演算パリティ予測回路。
  4. 前記論理演算命令が、オペランドの少なくとも一方を反転したAND及びOR命令を含む論理AND及び論理OR命令からなることを
    特徴とする請求項1の論理演算パリティ予測回路。
  5. 前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有することを
    特徴とする請求項1の論理演算パリティ予測回路。
  6. 前記補正回路は、
    前記セレクタの前記パリティ反転条件と、前記予測パリティ回路の前記予測パリティ信号とのEOR演算を行う第1のEOR回路と、
    前記第1のEOR回路の出力と、前記補正信号とのEOR演算を行い、前記論理演算命令に応じた予測パリティを出力する第2のEOR回路とを有することを
    特徴とする請求項1の論理演算パリティ予測回路。
  7. 前記予測パリティ回路の予測パリティを、前記論理演算命令に応じて制御する制御回路を更に有することを
    特徴とする請求項1の論理演算パリティ予測回路。
  8. 前記パリティ検査回路は、
    前記一方のオペランドのEOR結果と、前記一方のオペランドのパリティビットとのEORを演算する演算回路で構成されたことを
    特徴とする請求項3の論理演算パリティ予測回路。
  9. 前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有し、
    前記予測パリティ回路は、
    前記第2の選択信号の反転信号で、前記一方のオペランドのパリティビットをゲートするゲート回路と、
    前記ゲート回路の出力と、前記他方のオペランドのパリティビットとのEOR演算を行うEOR回路とを有することを
    特徴とする請求項3の論理演算パリティ予測回路。
  10. 一対の入力オペランドの論理演算を実行し、論理演算結果を出力する論理演算器と、
    前記論理演算結果のパリティを予測する論理演算パリティ予測回路とを有し、
    前記論理演算パリティ予測回路は、
    前記一対の入力オペランドのAND論理演算のパリティ反転条件を演算する第1のパリティ反転条件演算回路と、
    前記一対の入力オペランドのOR論理演算のパリティ反転条件を演算する第2のパリティ反転条件演算回路と、
    論理演算命令に応じて、前記第1のパリティ反転条件演算回路又は前記第2のパリティ反転条件演算回路のパリティ反転条件を選択するセレクタと、
    前記一対の入力オペランドのパリティビットのEOR演算を行う予測パリティ回路と、
    一方の入力オペランドのEOR演算を行い、補正信号を生成する補正信号生成回路と、
    前記補正信号と前記セレクタの前記パリティ反転条件とで、前記予測パリティ回路の前記予測パリティ信号を補正し、前記論理演算命令に応じた予測パリティを出力する補正回路とを有することを
    特徴とする論理演算回路。
  11. 前記補正信号生成回路が、前記一方のオペランドのEOR演算を行うEOR回路からなることを
    特徴とする請求項10の論理演算回路。
  12. 前記補正信号作成回路が、前記一方のオペランドのパリティ検査回路で構成されたことを
    特徴とする請求項10の論理演算回路。
  13. 前記論理演算命令が、オペランドの少なくとも一方を反転したAND及びOR命令を含む論理AND及び論理OR命令からなることを
    特徴とする請求項10の論理演算回路。
  14. 前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有することを
    特徴とする請求項10の論理演算回路。
  15. 前記補正回路は、
    前記セレクタの前記パリティ反転条件と、前記予測パリティ回路の前記予測パリティ信号とのEOR演算を行う第1のEOR回路と、
    前記第1のEOR回路の出力と、前記補正信号とのEOR演算を行い、前記論理演算命令に応じた予測パリティを出力する第2のEOR回路とを有することを
    特徴とする請求項10の論理演算回路。
  16. 前記予測パリティ回路の予測パリティを、前記論理演算命令に応じて制御する制御回路を更に有することを
    特徴とする請求項10の論理演算回路。
  17. 前記パリティ検査回路は、
    前記一方のオペランドのEOR結果と、前記一方のオペランドのパリティビットとのEORを演算する演算回路で構成されたことを
    特徴とする請求項12の論理演算回路。
  18. 前記補正信号作成回路の前記補正信号を、前記論理演算命令に応じた第2の選択信号で、選択的に前記補正回路に出力する選択回路を更に有し、
    前記予測パリティ回路は、
    前記第2の選択信号の反転信号で、前記一方のオペランドのパリティビットをゲートするゲート回路と、
    前記ゲート回路の出力と、前記他方のオペランドのパリティビットとのEOR演算を行うEOR回路とを有することを
    特徴とする請求項12の論理演算回路。
JP2007512380A 2005-03-31 2005-03-31 パリティ予測回路及びこれを使用した論理演算回路 Expired - Fee Related JP4372822B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/006297 WO2006106576A1 (ja) 2005-03-31 2005-03-31 パリティ予測回路及びこれを使用した論理演算回路

Publications (2)

Publication Number Publication Date
JPWO2006106576A1 JPWO2006106576A1 (ja) 2008-09-11
JP4372822B2 true JP4372822B2 (ja) 2009-11-25

Family

ID=37073144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007512380A Expired - Fee Related JP4372822B2 (ja) 2005-03-31 2005-03-31 パリティ予測回路及びこれを使用した論理演算回路

Country Status (3)

Country Link
US (1) US7962829B2 (ja)
JP (1) JP4372822B2 (ja)
WO (1) WO2006106576A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589841B2 (en) * 2012-04-05 2013-11-19 International Business Machines Corporation Automatic parity checking identification
US11374576B1 (en) * 2020-12-30 2022-06-28 Texas Instruments Incorporated Self-diagnostic counter

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5829054A (ja) 1981-08-14 1983-02-21 Hitachi Ltd 論理演算パリテイ予測回路
US5440604A (en) * 1994-04-26 1995-08-08 Unisys Corporation Counter malfunction detection using prior, current and predicted parity
JP4230234B2 (ja) * 2003-01-28 2009-02-25 富士通マイクロエレクトロニクス株式会社 全加算器用のパリティ予測回路
KR101007259B1 (ko) * 2006-01-19 2011-01-13 후지쯔 가부시끼가이샤 패리티 생성 회로, 계수 회로 및 계수 방법

Also Published As

Publication number Publication date
WO2006106576A1 (ja) 2006-10-12
JPWO2006106576A1 (ja) 2008-09-11
US20080052610A1 (en) 2008-02-28
US7962829B2 (en) 2011-06-14

Similar Documents

Publication Publication Date Title
JP4374363B2 (ja) ビットフィールド操作回路
US8832166B2 (en) Floating point multiplier circuit with optimized rounding calculation
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JPH0542011B2 (ja)
JP4372822B2 (ja) パリティ予測回路及びこれを使用した論理演算回路
JP4567753B2 (ja) パリティ生成回路、計数回路および計数方法
JPH04270415A (ja) 高性能加算器
US9448767B2 (en) Three-term predictive adder and/or subtracter
JP5455249B2 (ja) 多数決回路を使用した半導体集積回路及び多数決方法
JPH09222991A (ja) 加算方法および加算器
JP4042364B2 (ja) アドレス生成回路、選択判断回路
JP5549743B2 (ja) 10進絶対値加算器
JPH0454256B2 (ja)
US11294630B2 (en) Adder-subtractor circuit and method of controlling adder-subtractor circuit
EP1041720B1 (en) Binary zero determination signal generating circuit
JPWO2019030860A1 (ja) 誤り検出用冗長ビットの生成方法および装置
JPH07120291B2 (ja) 加算器のためのパリティチェック装置
KR200156144Y1 (ko) 절대값 계산 회로
JPH09116413A (ja) 論理回路及びその設計方法
JPH08212052A (ja) 正規化データ生成回路
JPH03108023A (ja) 加算装置
Negre Effect of high-radix carry-save redundancy in ALU on processor cycle time, architecture, and implementation
JPH10326182A (ja) 絶対値距離演算回路
JPH03255524A (ja) 加算回路
JP2005242722A (ja) 並列演算装置および並列演算方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090901

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090902

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees