JP4445921B2 - 演算処理装置、演算処理装置設計方法および論理回路設計方法 - Google Patents

演算処理装置、演算処理装置設計方法および論理回路設計方法 Download PDF

Info

Publication number
JP4445921B2
JP4445921B2 JP2005504692A JP2005504692A JP4445921B2 JP 4445921 B2 JP4445921 B2 JP 4445921B2 JP 2005504692 A JP2005504692 A JP 2005504692A JP 2005504692 A JP2005504692 A JP 2005504692A JP 4445921 B2 JP4445921 B2 JP 4445921B2
Authority
JP
Japan
Prior art keywords
arithmetic
new
original
function
type
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
JP2005504692A
Other languages
English (en)
Other versions
JPWO2004068364A1 (ja
Inventor
雅男 渡
Original Assignee
マセマテック株式会社
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 マセマテック株式会社 filed Critical マセマテック株式会社
Publication of JPWO2004068364A1 publication Critical patent/JPWO2004068364A1/ja
Application granted granted Critical
Publication of JP4445921B2 publication Critical patent/JP4445921B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Optimization (AREA)
  • Geometry (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は、演算処理技術に関し、更に詳しくは演算LSI等の高速化や低消費電力化などを実現する符号化に基づいた演算処理方式とその符号化の設計方法および演算処理装置に関する。
演算LSIは画像圧縮伸張、コンピュータグラフィック、画像認識、音声認識など、近年非常に多くの分野に使われている。例えば画像圧縮伸張のMPEG2、MPEG4などでは、圧縮時も伸張時も多量の演算が必要であり、LSIに占める演算部の割合は極めて大きい。
画像処理に限らずコンピュータなどの数値演算においても要求される演算規模は増大の一途にあり、高速化に対するニーズは限りないものがある。また演算器内部では一般にトランジスタのスイッチングのオン・オフが頻繁に行われる為、消費電力の問題が無視できない重要な課題となる。
つまり演算に対して、(1)さらに高速化を図りたい、(2)消費電力を削減したいという、2つの強いニーズが存在する。
このようなニーズに対して、微細加工技術やデバイス特性の改善などのアプローチは着実に進められている。しかし、このようなデバイスによるアプローチではなしに演算器そのものを改善するアプローチが考えられる。
演算器そのものに対するアプローチの中で、純粋に論理的なアプローチで高速化などの高性能化を図る方式として、本出願の発明者達は、“高速演算方式”なる提案を行っている(国際公開WO91/10186すなわち特開平3−201114号公報。以下、関連特許文献という)。
この提案の概要を、関連特許文献の表記に従い以下に示す。
P個の二項演算A:Ω×Ω→Ω(p=1,2,…,P)とQ個の単項演算B:Ω→Ω(q=1,2,…,Q)が定義され、これらの演算に関して閉じた有限集合Ωを考る。Ω,A,Bを合わせ旧演算系(Ω,A,B)と呼ぶ。旧演算系の演算A,Bを実行する代わりに、集合Ω上のデータを一度符号器Φ:Ω→Ω′により
Figure 0004445921
演算A,Bに対応したΩ′上の演算A′:Ω′×Ω′→Ω′とB′:Ω′→Ω′を実行し、Ω′上のデータとして得られた演算結果を復号器Ψ:Ω′→Ωで変換することにより、本来計算しようとしたΩ上の演算結果を得る。この演算方式で、
Ω′,A′,B′,Φ,Ψを合わせ新演算系(Ω′,A′,B′,Φ,Ψ)と呼び、新演算系と旧演算系との間に以下の▲1▼▲2▼▲3▼▲4▼の4式を課すことで、符号化条件(旧演算系で計算する結果と新演算系で計算する結果が一致することを保証させる条件)を満足させる。
Figure 0004445921
ここに[X]はΩ上の任意の要素Xに対応したΩ′上の部分集合で、集合族
Figure 0004445921
集合である。
また▲1▼▲2▼より
Figure 0004445921
が成り立つものである。
以上のような▲1▼乃至▲4▼の符号化条件を満足し、新演算系の演算器が極力簡単になるように、符号器、復号器、新演算器をコンピュータを利用して決定し、そのことで高速化などを達成するというのが前記の関連特許文献における提案であった。
この先の提案は、加減乗除の四則演算に限らず、一般的な演算や、演算とみなせる写像一般に対して考案されたものであるが、以下のような大きく6つの問題があった。
i)旧演算系、新演算系のデータの集合が一般的な有限集合Ω、Ω’となっている為、演算器、符号器、復号器を表す写像も一般的な写像で表され、論理式との対応が不明解である。
ii)旧演算系がΩに関して閉じた演算系だけを対象としている為、一般的な演算が対象外である。
iii)符号化の関係式が上記一般的写像と集合により示されている為、関係を満足することの論理的な意味が不明解であり、その為に関係式を満足する実際の論理式を導くことが困難な場合がある。
iv)回路の簡単化の要請を定式化できていない。
v)符号化の具体例が非冗長符号の場合しか示されていない。
vi)符号化演算方式としてのシステム構成の具体化が不十分である。
91/10186(特開平3−201114号公報)
この発明は、以上の事情を考慮してなされたものであり、以上の関連特許文献における問題点を解決する為に、与えられた演算を必要があれば拡張することにより、旧演算系の全ての演算と新演算系の全ての演算および符号器、復号器を全て多入力多出力のr値論理表現で記述することで、r値論理による具体的な論理設計を可能とし、また2値論理表現における新たな表現形式を用いて、論理式による方程式の形で定式化することで、これらの符号化の条件などを満足させた新演算系の効率的な論理設計を可能とし、回路規模や演算遅延時間を大幅に削減した符号化演算方式に基づく回路設計を実現し、LSIに実装が可能な符号化演算装置を提供することを目的としている。
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。
以下本発明の各側面を順に説明する。
(1)発明の第1の側面
関連特許文献の問題i)ii)を解決するために、この発明の第1の側面によれば、与えられた演算系(元演算系と呼ぶことにする。)の演算器を必要があれば拡張してr値論理の写像として扱い、演算的に閉じた旧演算系の演算器を構成し、且つ新演算系の符号器、復号器および演算器を全てr値論理の写像として扱い、関連特許文献に示された符号化条件式または特徴論理関数により表される方程式の形の符号化条件式または元演算系と演算器と新演算系の演算器の入出力のトポロジーが同じになることを符号化の条件として満足するようにして、新演算系のr値論理による論理設計を可能にする。
(2)発明の第2の側面
発明の第2の側面によれば、集合の特徴関数を2値の論理関数として扱い、特徴関数間の関係や写像の合成などを見通し良く且つ効率的に扱うための、新たに考案した母関数という写像の表現法を導入し、また各種の関係式を導き、論理回路設計を行う。
(3)発明の第3の側面
発明の第3の側面によれば、論理関数の簡単さを変数依存度に対応した方程式の形で扱うことで簡素の構成の論理関数を設計する。
発明の第2の側面および第3の側面を総合的に適用することもできる。
(4)発明の第4の側面
関連特許文献の問題iii)を解決するために、この発明の第4の側面によれば、旧演算系の演算器および新演算系の符号器、復号器および演算器の全てを2値論理の論理関数として扱い、これらを前記母関数により表現し、母関数で表現された符号化条件式を導き、新演算系の論理設計を見通し良く且つ効率的に行うことを可能にする。
(5)発明の第5の側面
関連特許文献の問題iv)を解決するために、この発明の第5の側面によれば、新演算系の簡単化の条件を方程式の形であたえ、前記第2の側面に従う符号化条件と合わせて論理設計を行うことで、簡単化の条件を満足する新演算系の論理設計を可能にする。
(6)発明の第6の側面
関連特許文献の問題iii)とiv)を同時に解決するために、この発明の第6の側面によれば、符号器を同型写像に限定し、上述の第2から第4の側面に従って論理設計を行うことで、符号化条件と簡単化条件を満足する新演算系の効率的な論理設計を可能にする。
尚、上述の発明の第2の側面の手法は、符号化演算方式に限らず論理設計や論理解析などに広く用いることができる発明である。
また関連特許文献の問題v)を解決するための本発明の具体的な構成は、上述の各側面の符号化演算方式および設計方法に基づき論理設計された実施例により示す。
[記号と記法]
以下に本発明を詳細に説明するが、その準備として説明に用いる記号、記法に就いて定めて置く。
r値の集合はB、基数r、語長nの数表現の集合はB (Bのn個の直積)で表し、2値の場合はB=B={0.1}としてBを用いる。Bの要素はスカラーと考え、x,y,…∈Bのように小文字x,y,…で、B の要素はn成分のベクトルと考え、X,Y,…∈B のように大文字で扱う。(例えばXはX=(x,x,…,x))
n変数の論理関数はスカラー関数と考えf(X)=f(x,x,…,x)のfのように小文字を用い、またこれをf:B →Bなる写像と考え同じ記号を用いる。
m個のn変数r値論理関数f(X)(j=1,2,…,m)をまとめてベクトル関数として扱うときにはF(X)=(f(X),f(X),…,f(X))のFのように大文字を用い、またこれをF:B →B なる写像と考え同じ記号を用いる。
2値の場合には変数(または定数)の否定はxで表し、2つの変数(または定数)x,yの論理積(and)はx・yまたはxyのように表し、x,yの論理和(or)
Figure 0004445921
ものとする。
Figure 0004445921
同様である。
2つの変数(または定数)x,yのブール環の和(exor)はx+yと表し、和の範囲は前記と同様に扱う。
Figure 0004445921
と定義する。この時n変数x,x,…,xからなる最小項はX(X,A∈B)なる
Figure 0004445921
またA=(0,0,0),(0,01),…,(1,1,1)に数字のA=0,1,…,7を対応させ、最小項をX,X,…,Xのように略記することもある。
Figure 0004445921
表せる。
また2値論理関数f(X)の変数xによるブール微分はf(X)のxに0,1を代入した式のブール環の和、つまり
Figure 0004445921
尚、集合に対する和集合と共通部分についても混乱は無いと思われるので通常通り、∪,∩を用いる。
[発明の構成]
以下、この発明を詳細に説明する。
[発明の第1の側面]
発明の第1の側面は請求項1〜4の発明に対応する。
前記の関連特許文献のように閉じた演算系が定義された有限集合Ωに限定しない。つまり演算の入力データの集合Ωinと演算の出力空間の集合ΩoutがΩin≠Ωoutの場合も対象にする。
Figure 0004445921
+P+S≧1)定義された演算系(元演算系)に対して符号化演算方式を考える。
Figure 0004445921
なる基数r、語長nの数表現の集合B を考え、これを旧演算系の旧表現データの集合として扱い、前記の元演算系の各演算(元演算)の入力空間のデータ集合
Figure 0004445921
る時以外は、r−|Ω|個分の定まっていない要素に対する対応関係をそれぞれの元演算毎に付加し、元演算の全てをB 上の演算になるように拡張する。
前記元演算系がQ種の単項演算を含む場合には、これらを拡張しG :B →B (q=1,2,…,Q)なる単項演算として扱い、またP種の2項演算を含む場合には、これらを拡張しF :B ×B →B (p=1,2,…,P)なる2項演算として扱い、またS種のT項演算を含む場合には、これらを拡張しH :B ×B ×…×B →B (B のT個の直積、s=1,2,…,S)なるT項演算として扱う。以後B ,G ,F ,H を合わせて旧演算系と呼ぶことにする。さらに集合B (mn)上のデータを新表現データとして扱い、符号器はΦ:B →B なる単射の写像として扱い、復号器はΨ:B →B なる全射の写像として扱い、さらにG に対応する新演算系の演算はG :B →B なる単項演算として扱い、F に対応する新演算系の演算はF :B ×B →B なる二項演算として扱い、H に対応する新演算系の演算は
:B ×B ×…×B →B なるT項演算として扱うことで、旧演算系の全ての演算と新演算系の全ての演算および符号器、復号器を全て多入力多出力のr値論理関数(r値論理回路)に対応させることができる。そして関連特許文献に対応した
Figure 0004445921
なる符号化条件(符号化条件の意味は関連特許文献と同じ。)を課すことで新演算系を具体的なr論理関数(論理回路)として論理設計を可能とすることができる。
ここに[X]はB 上の任意Xに対応したB 上の部分集合で、集合族
Figure 0004445921
=B −Cは非符号の集合である。図1は旧表現データの集合B の要素Xは符号器Φ:B →B により新表現データの集合B 上のデータΦ(X)に変換される。またXに対応した符号[X]は復号器Ψ:B →B により旧表現データXに変換されることを示す本発明の符号化概念図である。また図2は元演算系の入出力データの表現空間がB と一致しない場合に入出力データの表現空間をB に拡張した場合を一つの元演算系の単項演算Gを旧演算系のGに拡張した場合で拡張の概念を示す本発明の元演算系の旧演算系への拡張概念図である。
また図3は元演算系から旧演算系に拡張後に、新演算系を決定する方法の1つで、本発明の旧演算系新演算系決定フロー例である。図3の処理は以下のとおりである。
[ステップS1]:符号を生成する。
[ステップS2]:符号化条件(1)および(2)を判別する。符号化条件(1)および(2)を満たさない場合にはステップS1に戻り処理を繰り返す。符号化条件(1)および(2)を満たす場合にはステップS3へ進む。
[ステップS3]:新演算器を生成する。
[ステップS4]:符号化条件(3)乃至(5)を判別する。符号化条件(3)乃至(5)を満たさない場合にはステップS3に戻り処理を繰り返す。符号化条件(3)乃至(5)を満たす場合にはステップS5へ進む。
[ステップS5]:新演算系を評価する。
[ステップS6]:新演算器の簡単化が十分か判別する。十分であれば処理が終了する。十分でなければステップS7へ進む。
[ステップS7]:符号ないのすべての新演算器を生成したかを判別する。すべては生成していない場合にはステップS3ni戻り、すべてせいせいした場合にはステップS1に戻って処理を繰り返す。
図3の処理の具体例については実施例で後に示す。
このフロー以外にも後の実施例で示すように幾つかの決定フローが存在することは言うまでもない。
以上のような決定フローにより符号および新演算器が決定され、これを実装して演算処理装置が図4に示すように構成される。図4では、演算処理装置100が、演算処理手段101、符号器102、復号器103および伝送路104から構成される。演算処理手段101は上述の新演算器の構成を実装したものである。符号器102、復号器103は、上述の符号の符号化・復号を実現するように実装される。伝送路104は、演算処理手段101と符号器102との間のデータ転送、演算処理手段101と復号器103との間のデータ転送等を行うものであり、LSIの内部バス、外部バス、通信路等で構成することができる。
尚、前記F は関連特許文献のAを、前記G は関連特許文献のBをそれぞれ上記のように拡張したものに相当する。以後B ,G ,F ,H ,Φ,Ψを合わせて新演算系と呼ぶことにする。
関連特許文献の新表現データの集合Ω′がB の形でなく一般的な集合のままであると、新演算系は前記関連特許文献と同様に一般的な写像による表現で扱わざるを得ないが、本発明では新表現データの集合をB の形に限定することで、旧演算系の演算器および新演算系を全てr値の論理回路に対応させることが可能になった。このことによりr値論理で表される写像としてコンピュータによる探索などの方法により新演算系の決定が可能となる。
一般に新演算系は莫大な種類存在するが、探索などで得られたものを評価し、目的に合致するかを判断し、合致しなければ他の新演算系を次々と探索で生成し、目的に合う新演算系を決定する。得られた新演算系はr値論理回路に対応しているので通常の論理設計の方法でr値論理回路の設計が可能になる。
尚、2値以外のr値論理については例えば、樋口龍雄、亀山充隆著“多値情報処理:ポストバイナリエレクトロニクス”昭晃社に詳しく述べられている。
ところで(1)乃至(5)は集合論的記述(⊃,⇔なる記号によって表される関係式)である。一般に集合の特徴関数χ(X)の定義から
χ(X)=1(for∀X∈B)⇔B⊂Aである。このことから(1)乃至(5)を同値な特徴関数(特性関数)による方程式の形で表すことができる。(1)乃至(5)に同値な式を特徴関数(Characteristic function)による方程式であることを陽に示すために番号にcを付し、それぞれ(1c)乃至(5c)とすると以下のようになる。
Figure 0004445921
ここにχ(X)はB の部分集合Aの特徴関数で、X∈B 、χ′(X′)はB の部分集合A′の特徴関数で、X′∈B
この(1c)乃至(5c)を符号化条件として用いれば、与えられた旧演算系の演算器に対し、新演算系が符号化条件を満足するかどうかを特徴関数が1となるかどうかで判定すればよく、コンピュータによる判定において扱い易いメリットがある。
上記(1)乃至(5)または(1c)乃至(5c)を符号化条件の下で既知の元演算系の各演算(元演算)の情報から前記符号化条件を満足する新演算系をr値論理回路に対応した論理関数として設計することが可能になり、論理設計された新演算系を用いた演算結果が元演算系による演算結果と同じになることを保証できることを特徴とする符号化演算方式が実現できる。
さらにr=2として設計する場合には、特徴関数の値が0,1の2値をとり、X∈Bであることから、特徴関数χ(X)を1つのn変数の2値論理関数のとみなして扱うことができる。この点に着目すると(1c)乃至(5c)を、後述の発明の第3の側面等に関連して示すような同値な2値論理関数による明解な方程式の形で表すことができる。
[発明の第2の側面]
発明の第2の側面は請求項5および6の発明に対応する。
(6)B上の集合の特徴関数を論理関数として扱う。
(7)B上の集合の1つの要素に1つの最小項を対応させる。
の2つを前提の手段とする。
以後特徴関数を2値論理関数で表したものを特徴論理関数と呼ぶことにする。
具体的にはBの部分集合S(S⊂B)の特徴論理関数をχ(X)(X∈B)と表し、またBの部分集合T(T⊂B)の特徴論理関数をχ′(Y)(Y∈B)と表すことにし、Bの部分集合Sの写像F:B→Bによる像をF(S)と表すと、
Figure 0004445921
そこでB上の1つの要素Q(=(q,q,…,q))に1つの最小項からなる1要素集合の特徴論理関数をχ(X)と表すと、これはX=Qの場合のみ1となるから、明らかにχ(X)=Xが成り立つ。最小項間は分離的(XQ1・XQ2=0(Q1≠Q2の時))なので、明らかに
Figure 0004445921
と表せる。同様にB上の1要素Pを考えると全く同様に、
Figure 0004445921
となる。
PがF(S)全体を動く場合と、P=F(Q)と置いてQがS全体を動く場合のPの動く範囲は全く同じであることに注意すると、(8−1)式は
Figure 0004445921
となる。
Sに制限された範囲で和をとることと、χ(X)を掛けて全体で和をとっても特徴関数の性質から明らかに同じである。従って
Figure 0004445921
が成り立つ。またBの部分集合S,T⊂Bの特徴論理関数に対して
Figure 0004445921
なる関係式が明らかに成り立つ。
以上のような構成により、集合の特徴関数を論理的に扱うことを可能とし、(8)乃至(14)はB上の一般的な集合の集合計算に用いることができる。
さらに、F:B→B、G:B→Bなる写像を考え、F,Gの合成写像をR:B→Bとすると、論理関数をベクトル型で示せばR(X)=G(F(X))なる関係がある。Bの部分集合U(U⊂B)の特徴論理関数をχ′′(Z)(Z∈B)と表すことにすると、上記(10)と同様に
Figure 0004445921
が成り立つ。
ここでT=F(S)とすると、G(F(S))=R(S)だから(10)、(10−1)(10−2)より
Figure 0004445921
が導け、これが任意の部分集合Sに対して成り立つことから
Figure 0004445921
が導かれる。
ところで写像F:B→Bに対するYF(X)はY,Xの2値論理関数である。従ってYF(X)は2種のYを行変数(行番号)とし、2種のXを列変数(列番号)とした2×2のブール値行列(Boolean Matrix)となる。
そして(15)式は、写像Fに対応した行列YF(X)と写像Gに対応した行列ZG(Y)の行列として積計算で合成写像Rに対応した行列R(X)が求まることを示している。YF(X)を行列表現であることを陽に示す為に、これを写像と同じ大文字を用い▲F▼(Y,X)(以後これを写像Fの母関数と呼ぶ)と置くと、
Figure 0004445921
となる。
そこで母関数の形で(15)式を再記すると
Figure 0004445921
と表せる。
またYの任意の関数g(Y)に関して論理関数の積和標準形と(16)より
Figure 0004445921
が成り立つ。
また恒等変換I:B→Bに対して
Figure 0004445921
これから写像Fの成分関数と母関数の関係
Figure 0004445921
が導かれる。
またΩ=Bと置くと
Figure 0004445921
となり、(22)は写像Fの定義域の特徴論理関数(=1)を、(23)写像Fの値域の特徴論理関数を示している。(17)乃至(23)から解るように、母関数は写像の基本的な性質を簡単な演算により導くことができる基本的に重要な表現であることが解る。
さらに、Ω=B上の同型写像Φ:Ω→Ωに対して、逆写像をΦ−1:Ω→Ωとすると
Figure 0004445921
が成り立つ。これと(20)式を用いると
Figure 0004445921
が導かれる。これは逆写像の成分関数を同型写像の母関数から直接求める式になっている。
このことは同型写像は全単射で1対1対応であることから明らかである。
従って、Ω=B上の恒等変換をI:Ω→Ωとする、Φ−1Φ=ΦΦ−1=Iに対応し、
Figure 0004445921
∀X,Y,Z∈Ω)が成り立つ。
また写像F:B→Bの母関数に対し
Figure 0004445921
が成り立つ。
これは(16)より
Figure 0004445921
と導かれる。
ところでX∈B、Y∈Bのある関数α(Y,X)がある写像:B→Bの母関数である為の必要十分条件は明らかに“α(Y,X)を各Xごとの列ベクトルが唯一のYに対してα(Y,X)=1となる。”と言う命題になる。
“1つの関数g(Y)が唯一のYに対してg(Y)=1となる。”という命題は
Figure 0004445921
が成り立つことと同値である。先ずこれを証明すると、
Figure 0004445921
でそれ以外1であるので(28)が成り立つ。
Figure 0004445921
a),b),c)で全ての場合を尽くすことから(28)が証明された。このような関数g(Y)は1つの最小項からなるので最小項関数と呼ぶことにする。
このことから前記のα(Y,X)がある写像の母関数である為の必要十分条件は
Figure 0004445921
となる。
以上のように、多入力多出力の写像を成分関数毎に扱うのでは無く、母関数により一括して扱うことを可能にし、また各種の論理関数間の関係を見通しよく効率的に計算することが可能になる特徴を有している。
[発明の第3の側面」
発明の第3の側面は請求項7の発明に対応する。また、この第3の側面を、先の第2の側面と合わせたものは、請求項8の発明に対応する。
先ず論理関数f(X)に対して
Figure 0004445921
が成り立つかどうかを各種のΔ(X,Y)に対して判定することで、論理関数f(X)の複雑さを判定することを可能にし、また写像F:B→Bの各成分関数f(X)(j=1,2,…,m)に対して写像の母関数を用い
Figure 0004445921
が成り立つかどうかをΔ(A,B)に対して判定することで、各論理関数f(X)の複雑さを一括して判定することを可能にすることである。
「記号と記法」の項で述べたように、関数f(X)(X∈B)が変数xに依存し
Figure 0004445921
▲I▼(X,Y)を用い
Figure 0004445921
トルである。
これは(32)の左側=0の式をYで和をとると、(19)から
Figure 0004445921
Figure 0004445921
におけるΔ(X,Y)をΔ(X,Y)=▲I▼(X,Y)とした場合に相当する。
さらにf(X)が変数xと変数xに依存していない時、
Figure 0004445921
換えたベクトル。
さらに一般にn変数の集合の部分集合をΘで表し、Θの部分集合をL(L⊂Θ)とし、XをベクトルXの変数の内の集合Lに含まれる変数を否定に置き換えたベクトルとした時、集合Θの変数に依存しないことの必要十分条件は
Figure 0004445921
と表せる。ここでΘをn個のブール値θによりΘ={l;θ=0}と表すと、(33)は
Figure 0004445921
と表すことができる。これは
Figure 0004445921
が成り立つことから導かれる。このθを関数f(X)の変数依存度と呼ぶことにする。
尚、(34)が成り立つ時、f(X)はθ=0なる変数xには依存していない。依存している変数の数はθ=1なる変数の数以下である。(34)は(30)に
Figure 0004445921
さらに写像F:B→B各成分関数f(X)(j=1,2,…,m)の変数依存度をθ とすると、(34)に相当した式を母関数を用い写像全体を一括して
Figure 0004445921
と表すことができる。
Figure 0004445921
場合に相当する。このΔ(X,Y)やΔ(A,B)を今後変数依存度関数と呼ぶ。
以上の本発明の第3の側面によれば、論理関数の変数依存度を方程式を満足するかどうかで複数の変数に対して一度に判定でき、また上述のこの発明の第2の側面をさらに総合的に適用して論理関数設計を行える。
[発明の第4の側面]
発明の第4の側面は請求項9の発明に対応する。
r=2に限定すると、旧演算系の演算(写像)は、G :B→B
:B×B→B、H :B×B×…×B→Bとなり、新演算系の符号器(写像)はΦ:B→B、復号器(写像)は、Ψ:B→B、新演算系の演算(写像)はG :B→B、F :B×B→B、H :B×B×…×B→Bとなる。
この時、旧演算系の各演算および新演算系の各演算、符号器、復号器の成分関数は、
i=1,2,…,n、X,Y,Z,X,X,…,X∈B、j=1,2,…,m、X′,Y′,Z′,X′,X′,…,X′∈Bとすると、
:g (X)、F :f (X,Y)、H :h (X,X,…,X)およびG :g (X′)、F :f (X′,Y′)、H :h (X′,X′,…,X′)、Φ:φ(X)、Ψ:Ψ(X′)
と表すことができる。これらの写像を上述の発明の第2の側面で定義した母関数を用い、さらに符号領域Cの特徴論理関数χ(X′)をc(X′)と表すと、r=2においては(1−c)乃至(5−c)と同値な以下の(1−b)乃至(5−b−2)が導かれる。この(1−b)乃至(5−b−2)は2値ブール関数(Boolean function)による方程式であることを陽に示すために番号にbを付した。
Figure 0004445921
▲Φ▼(X′,X)は符号器の母関数、▲Ψ▼(X,X′)は復号器の母関数、▲G▼ (Y,X)は旧演算系の単項演算の母関数、▲F▼ (Z,Y,X)は旧演算系の二項演算の母関数、▲G▼ (Y′,X′)は新演算系の単項演算の母関数、▲F▼ (Z′,Y′,X′)は新演算系の二項演算の母関数、▲H▼ (Y,X,…,X)は旧演算系のT項演算の母関数、▲H▼ (Y′,X′,…,X′)は新演算系のT項演算の母関数である。
以下(1−c)乃至(5−c)から同値な変形により(1−b)乃至(5−b−2)を導く。
先ず各Xの符号を表す集合[X]の特徴関数χ′[X](X′)は、復号器Ψの母関数を用いて明らかに以下のように表すことができる。
Figure 0004445921
この(36)をX′の関数と考え母関数の性質(18)を適用すると、(1c)は
Figure 0004445921
と同値になる。また母関数の性質(27)から
Figure 0004445921
が成り立つので、(37)の両辺に▲Φ▼(Y′,X)を掛け、恒等変換の母関数の性質(19)を適用して和をとり、その後に変数Y′をX′に変更することにより、前記(1−b)式が導かれる。
次に特徴論理関数と母関数の性質(10)および(16)と(2−c)から
Figure 0004445921
ところで(2)に戻ると分かるように(2c)は
Figure 0004445921
と同値である。(39)、(40)と母関数の性質(27)より、(2c)は
Figure 0004445921
と同値になり、この両辺をYで和をとると、母関数の性質(22)より(2−b)式が導かれる。
次に特徴関数の定義と性質(14)より(3c)は明らかに
Figure 0004445921
と同値になる。また(36)より
Figure 0004445921
また(36)と特徴関数と母関数の性質(10)、(16)より
Figure 0004445921
(43)と(44)を(42)に代入し、=0型のブール式は和を外せるので
Figure 0004445921
が得られる。この否定部分を分けると
Figure 0004445921
なる2つの方程式になる。(46)に母関数の性質(18)と(29)を適用すると
(3−b−1)が導かれ、(47)をXで和をとると母関数の性質(22)より(3−b−2)が導かれる。全く同じ論法で、(4−c)から(4−b−1)と(4−b−2)が導け、(5−c)から(5−b−1)と(5−b−2)が導かれる。
以上のように(1−b)乃至(5−b−2)が導かれ、旧演算系と新演算系の符号化条件式を2値論理の明解な方程式の形で表すことができた。このことにより、旧演算系の成分関数の情報から新演算系を2値の探索などにより効率よく決定することが可能になる。
[発明の第5の側面]
発明の第5の側面は請求項10〜12の発明に対応する。
前記(1−b)乃至(5−b−2)に加え、新演算系の演算器に対する論理式の簡単化の条件を付加し、その下で符号器、復号器、新演算器を論理設計することで、新演算器の回路規模および演算遅延時間を小さくすることを可能とする。さらに前記演算器の簡単化の条件として単項演算に対しては
Figure 0004445921
なる条件を課し、二項演算に対しては
Figure 0004445921
なる条件を課し、T項演算に対しては
Figure 0004445921
Figure 0004445921
なる条件を課し、新演算器の入力変数に対する変数依存度を旧演算系に比較し小さくなるようにλ およびθ 、θ およびμ 乃至μ の値を定め、符号器、復号器、新演算器を論理設計することで、新演算器の回路規模および演算遅延時間を小さくすることを可能とする。
さらに必要があれば前記簡単化の条件において前記θ とθ に対してθ ,=θ なる条件を課し、新演算系の二項演算を対称型で論理設計する。また前記μ 乃至μ に対してμ =・・・=μ なる条件を課し、新演算系のT項演算を対称型で設計することを可能とする。
[発明の第6の側面」
発明の第6の側面は請求項13および14の発明に対応する。
前記旧表現データの空間B と新表現データの空間B を同一の空間(B =B ,n=m)とした時、符号器ΦをΦ:B →B なる同型写像とし、復号器ΨをΨ=Φ−1(Φの逆写像)とすることが考えられる。この場合、符号器が同型写像であれば、前記の(1)および(2)は自動的に満足されることは明らかである。
ここでr=2の時には(1−b)および(2−b)の代わりにΦ(Y,X)が同型写像の母関数である条件
Figure 0004445921
が成り立てばよいことになる。尚、(51)は(29)を入力出力を入れ替えて適用すれば導かれる。また単項演算の(3−b−1)(3−b−2)に相当する新旧演算系間の関係式は
Figure 0004445921
が成り立つことに置き換わる。同様に
Figure 0004445921
この時、若し新演算系に対して(48)の変数依存度を要請するならば、(52)を(48)に適用し、X′,Y′,A′,B′に関して和をとると、
Figure 0004445921
なる式が導かれる。
同様に(49)(50)の変数依存度を要請すれば
Figure 0004445921
Figure 0004445921
が導かれる。(55)、(56)、(57)は旧演算系の演算器の母関数と符号成分関数だけの方程式であることに注目すると、次のような決定手順が可能になる。
<ステップ1>与えられた変数依存度に対して、(51)と(55)乃至(57)を満足する符号器Φ(の成分関数)を決定する。
<ステップ2>(52)乃至(54)より新演算系の演算器を決定する。
<ステップ3>複号器ΨはΨ=Φ−1、母関数で言えば▲Ψ▼(Y,X)=▲Φ▼(X,Y)として決定する。
(ステップ2、ステップ3は明らかに逆の順でも可能。)
この決定手順ではステップ1には新演算系の演算器の情報が含まれていないため、決定すべきファクターが少なく、効率的な符号決定が可能になる。
本発明では以上のような手法により論理設計を行うことで、冗長符号も含めた符号化演算方式の具体的な論理設計を可能とし、さらに上記のように符号化演算方式に基づき論理設計された論理式から具体的な回路設計を行い、符号化演算方式の流れに従い、計算結果を算出できるようにしたこと特徴とする符号化演算装置を実現する。
また1つまたは複数種の新演算器を有したこの符号化演算装置において、これらの新演算器を直接接続することで新表現データに対する複数の計算処理に対し、メモリー経由による遅延時間を無くし、高速な符号化演算装置を実現する。
さらにCPUまたはデータ制御装置の制御の下に、1つまたは複数の新演算器による新表現データとして得られた演算結果を復号器により旧表現データに直ぐに変換するのでは無く、新表現データのままで一旦メモリに格納し、他の計算プロセスにおいて計算された新表現データを前記CPUまたはデータ制御装置により前記結果の新表現データとの新演算器による演算を可能にし、プログラムに従った柔軟な計算処理などを変更可能にした符号化演算装置を実現する。以上のような手段により本発明では前記の関連特許文献の問題点のvi)を解決する。
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
本発明を用いれば、関連特許文献の問題点を解決でき、符号化演算方式に基づく新演算系の具体的な論理設計が具体的且つ効率的に可能となり、元演算系をそのまま回路化した場合に比較し素子数や遅延時間を大幅に削減でき、高速化や低消費電力化を図った符号化演算装置を実現できる。
図1は、本発明の符号化概念図である。
図2は、本発明の元演算系の旧演算系への拡張概念図である。
図3は、本発明の旧演算系新演算系決定フローの例を示す図である。
図4は、本発明により構成されて演算処理装置の構成を示す図である。
図5は、本発明の旧演算計新演算系決定フローの詳細を示す図である。
図6は、本発明の旧演算計新演算系決定フローの他の例の詳細を示す図である。
図7は、本発明の具体例1に関連して元演算系の擬似乗算器Fの真理値表を説明する図である。
図8は、本発明の具体例1に関連して元演算系の擬似加算器Fの真理値表を示す図である。
図9は、本発明の具体例1に関連して元演算系の擬似乗算器Fの回路図を示す図である。
図10は、本発明の具体例1に関連して元演算系の擬似加算器Fの回路図を示す図である。
図11は、本発明の具体例1に関連して新演算系の決定フローを説明する図である。
図12は、本発明の具体例1に関連して新演算系の擬似乗算器F の真理値表を説明する図である。
図13は、本発明の具体例1に関連して新演算系の擬似加算器F の真理値表を示す図である。
図14は、本発明の具体例1に関連して新演算系の符号器Φの真理値表を示す図である。
図15は、本発明の具体例1に関連して新演算系の復号器Ψの真理値表を示す図である。
図16は、本発明の具体例1に関連して新演算系の擬似乗算器F の回路図を示す図である。
図17は、本発明の具体例1に関連して新演算系の擬似加算器F の回路図を示す図である。
図18は、本発明の具体例1に関連して新演算系の符号器Φの回路図を示す図である。
図19は、本発明の具体例1に関連して新演算系の復号器Ψの回路図を示す図である。
図20は、本発明の具体例1に関連して素子数遅延表を示す図である。
図21は、本発明の具体例1に関連して木構造積和演算器のブロック図を示す図である。
図22は、本発明の具体例1に関連して擬似積和演算器を示す図である。
図23は、本発明の具体例2に関連して元演算系の2つの単項演算G、Gの真理値表を示す図である。
図24は、本発明の具体例2に関連して元演算系の2つの単項演算G、Gの母関数ブール値行列を示す図である。
図25は、本発明の具体例2に関連して新演算系決定フローを示す図である。
図26は、本発明の具体例2に関連して元演算系の単項演算G、Gの入出力トポロジーを示す図である。
図27は、本発明の具体例2に関連して新演算系の単項演算G 、G の入出力トポロジーを示す図である。
図28は、本発明の具体例2に関連して新演算系の単項演算G 、G の束ねた入出力トポロジーを示す図である。
図29は、本発明の具体例2に関連してトポロジー一致型新演算系決定フローである。
以下、この発明の実施例について説明する。
ここでは、請求項3〜8の方法の発明について言及していくが、請求項1および2の装置の発明や請求項9〜14の方法の発明についても適宜適用されることに留意されたい。
請求項3の発明の実施例について説明する。
先ず図3のフローをr=2でn=2の旧演算として1つの単項演算Gが、成分関数としてgO0(A)=a,gO1(A)=a・aと与えられ,m=3の新演算器を決定する請求項3と請求項4の符号化条件による実施例を示す。図5は請求項3の発明の実施例(請求項4の発明の実施例も同様)のプログラムのゼネラル・フローである。先ずこのプログラムに用いた変数と配列は以下のとおりである。
x:旧符号非符号変数;Xのとる値0〜3と非符号(値は4)に対応させた変数
y:新符号変数;X′のとる値0〜7に対応させた変数
r:乱数変数;生成された8ビット乱数の0〜255を表す変数
i,j,k;新演算器生成の更新変数
l,t,u,v:一般の変数
c[4]:生成符号配列;4種の符号[X]に対応させた4個の配列で、生成した符号が属す新符号の値に対応したビットだけ1とし、属さないビットは0とする配列、新符号の値とビットの対応にはLSB側から順に対応させる。
go[4]:旧演算器写像配列;go[0]=0,go[1]=0,go[2]=1,go[3]=3
gn[8]:新演算器写像配列;各ステップで生成された新演算器の写像入力値を配列アドレスに対応させ、その時の出力を値とした配列
gne[3]:新演算器成分関数;新演算器の3つの成分関数を表す配列で、各成分論理式を最小項X,…,Xが含まれる場所の対応するビットを1にしてLSB側から対応させて表した配列
gnc[4]:新演算器符号代入関数:
s[6]:3ビット標準成分関数配列;3ビットの3種の1変数論理関数(非否定型)とその否定型1変数論理関数を、gne[3]と同様に表現した配列で表す。
具体的には1変数論理関数(非否定型)のビットパターンが01010101,00110011,00001111の3種であることに対応し、s[0]=170,s[1]=204,s[2]=240としその否定を続く配列に入れる。つまり
s[3]=85,s[4]=41,s[5]=15
b0[8]:1ビット0パターン配列;b[t]はtビット目が0その他1の配列
b1[8]:1ビット1パターン配列;b[t]はtビット目が1その他0の配列
以下図5のフローの請求項3の場合の具体的な処理を説明する。
[ステップS11]:初期化。
go[4],s[3],sn[3]以外の配列と変数は0にする。
[ステップS12]:符号生成。
乱数rを生成し、新符号yをmod(r,5)に対応した符号[X](またはNC)に属すと考え、c[mod(r,5)]のy番目のビットに1を立てる。
[ステップS13、S14]:y=y+1としy=8ならステップ2、その他はステップS15に進む。
[ステップS15]:符号化条件(1)(2)式の判定。
符号化条件(1)満たすことは4つの[X]には少なくとも1つ新符号が属していることと等価である。これはc[0]〜c[3]が全て0で無いことに対応する。1つでも0があればステップ1に戻る。無ければステップS16に進む。
例えば[0]={6’},[1]={2’},[2]={0’,4’},[3]={1’,3’,5’,7’},NC=空集合なる符号生成がなされた場合にはc[0]=64,c[1]=4,c[2]=17,c[3]=85なる値になり、ステップ5に進む。
[ステップS16]:新演算器生成。
符号条件(1)を満足すれば符号器Φと復号器Ψは存在は保証されているのでここでは新演算器だけを生成する。この実施例では旧演算器がandゲート1個であることから簡単化は1変数依存の論理関数を生成することに限定する。従って新演算器の成分関数は非否定型標準成分関数と否定型標準成分関数の計6種の何れかである。従ってgne[0]=s[i],gne[1]=s[j],gne[2]=s[k]として新演算器を生成する。
[ステップS17]:符号化条件(3)式の判定。
先ずgne[3]からgn[8]を計算する。これは次のように計算できる。
同様にgne[0],gn[1],gn[2]の下からt番目のビットの値をgn[t]の0ビット目(LSB),1ビット目、2ビット目のそれぞれに移し、3ビット目以上は0のままとする。この処理をt=0からt=7まで行うことでgn[8]を決める。
次にc[u]の1が立っているビットの位置の値t(LSBは0で1ビット上に行く毎に1増える値)全てに対してvのgn[t]ビット目を1にする。
そしてc[go[u]]のビットパターがvのビットパターンを含んでいる時はu=u+1とし上記処理をu=3まで繰り返す、途中で含んでいない場合があれば
符号化条件(3)を満足していないことになるからステップS18へ進む。最後まで行った場合には符号化条件(3)は満足されたことになりステップS208に進む。
[ステップS18、S19]:i,j,kの値を更新する。
上記更新後にステップ5に進む。但しi,j,kが0〜5までの全ての値をとった時には、1変数依存の新演算器が存在しなかったことに相当するので変数などを初期化後にステップS12に戻る。
「ステップS20]:
符号化条件の(1)式に基づき[0]〜[3]の中の新符号を配列c[4]のビットパターンの1なる部分から1つずつ選び、例えば0−>1’,1−>0’,2−>4’,3−>2’なる対応として決める。符合器は一般に幾通りも存在するので論理式が簡単になるものを選択すれする。符号化条件(2)を満足する復号器は存在することが保証されているのでこの実施例ではここで終了する。
尚、変数などは必要な所で初期化する。
以上が図5の処理の内容である。
この実施例において、ステップ4で例として示した符号が乱数により生成され、i=0,j=3,k=1の時に終了した。
この結果は符号が[0]={6’},[1]={2’},[2]={0’,4’},[3]={1’,3’,5’,7’},NC=空集合の時に新演算器として論理式がgN0(A′)=a′,gN1(A′)=a′,gN2(A′)=a′なる解が得られたことを意味する。
尚、この実施例では旧演算器が1つの単項演算だけの場合で示したが、複数の2項演算やT項演算を含む場合にも符号化条件(3)に加え(4)(5)の判定が追加される点とステップ5の新演算器の生成の部分の処理が複雑化する点以外は基本的に同様のフローにより、コンピュータ処理で実現できる。
以上のように請求項3に基づく演算処理装置設計方法により少なくとも旧演算器よりも同等以下の簡単化を達成した新演算器を決定することができる。
次に請求項4の発明の演算処理装置設計方法の実施例を説明する。この実施例においては、図5のフロー中、符号化条件の式(1)乃至(3)を(1c)乃至(3c)に置き換えた処理のよる決定になる。この部分の処理が請求項3の発明の実施例と異なる点はステップS12で生成された符号から以下のように特徴論理関数を計算し判定するステップS17と符号器の決定のステップS20の部分だけである。
前記と同じ旧演算器の場合で[0]={6’},[1]={2’},[2]={0’,4’},[3]={1’,3’,5’,7’},NC=空集合のように符号生成され、新演
Figure 0004445921
先ずステップ2で生成された符号からc[4]を求めたが実はこれはB上の特徴論理関数である各X毎の論理関数χ′[X](X′)にそのまま対応している。つまりc[u]のuはXに相当し、各u毎のc[u]のビットパターンがgne[3]と同様の表現によるB上の論理関数になっている。
そこでステップ6の符号化条件(3)を(3c)による判定に以下のように変更する。(請求項4の発明の実施例のステップS17)
請求項3の場合と同様にgne[3]からgn[8]を計算し、vを同様に計算する。そしてc[go[u]]とvのビットパターンの否定との論理和(or)を計算し、計算結果が255かどうかを判定する。これは(3c)式の左辺の特徴論理関数が1であると判定することに相当する。
u=u+1とし上記処理をu=3まで繰り返す、途中で255でいない場合があれば
符号化条件(3c)を満足していないことになるからステップS18へ進む。最後まで行った場合には符号化条件(3c)は満足されたことになりステップS20に進む。
(請求項4の発明の実施例のステップS20)
uの0〜3の値に対し、c[u]とb0[t]との論理和が255になるかを判定し、符号器を決定する。これは符号化条件(1c)による符号器を決定することに相当する。
復号器に対しては請求項3のステップS20と同様である。
以上が請求項4の発明の実施例の異なる点で、2つのステップが手続的な処理から簡単な論理演算と等号判定に置き換わり、より簡潔なプログラム処理になる。
このように請求項4の発明の演算処理装置設計方法によれば効率的なプログラム処理が可能となり、設計に必要な処理時間の短縮に効果がある。
次に請求項5の発明の実施例を2つ示す。
1つ目は上述の請求項4の実施例の2つのステップの中で論理和演算を行っている部分は請求項5の(14)式(その否定)の実施例になっている。
2つ目また上述のステップ2の符号生成に請求項5の(8)を適用すれば新符号yをmod(r,5)に対応した符号[X](またはNC)に属すと考え、c[mod(r,5)]をc[mod(r,5)]とb1[y]との論理和に置き換える。
次に請求項5の発明の実施例について説明する。請求項5の(9)乃至(13)式も同様に集合の要素間の処理に利用できる。従って請求項5の論理関数設計方法によれば手続的な処理を簡単な論理演算に置き換えることができ、効率的な処理が可能となる。
次に請求項6の発明の実施例を以下に示す。
請求項6の論理関数設計方法の主要な点は多入力多出力の論理関数間の計算が母関数に基づく式により明解に計算できる点である。
母関数の応用は非常に多岐に亘る為、ここでは母関数による方法の代表的な1実施例として2入力3出力の論理関数Aと3入力2出力の論理関数のそれぞれの成分関数が与えられた時にAをBに代入して合成した2入力2出力の論理関数Cの成分論理関数をプログラムで求める例で示す。
この実施例では論理関数は入力を配列のアドレスに対応させ、出力は最小項に対応し、値0,1で表す場合で示す。
式に基づく計算のプログラム化は容易なので処理の流れだけを以下に示す。
このプログラムに用いた配列は
a[3][4]:2入力3出力論理関数A;3出力毎の成分論理関数の配列
b[2][8]:3入力2出力論理関数B;2出力毎の成分論理関数の配列
c[2][4]:2入力2出力論理関数C;2出力毎の成分論理関数の配列
ma[8][4]:Aの母関数配列;
mb[4][8]:Bの母関数配列;
mc[4][4]:Cの母関数配列
a[3][4]、b[2][8]には値0,1が既に入っている。
処理の流れは
(ステップ1)成分論理関数a[3][4]、b[2][8]から母関数ma[8][4],mb[4][8]を計算
請求項6の母関数の定義式(16)に従い計算する。
(ステップ2)母関数ma[8][4],mb[4][8]から母関数mc[4][4]を計算
請求項6の(17)式に従い計算する。
(ステップ3)母関数mc[4][4]から成分論理関数c[2][4]を計算
請求項6の(20)式に従い計算する。
以上のように大きく3ステップの簡潔なプログラムにより計算ができる。
このように請求項6の発明の論理関数設計方法によれば全て明解に定義された式に基づくプログラム化が可能で論理関数設計において簡潔で効率的な設計が可能となる。
次に請求項7の発明の実施例を以下に示す。
請求項7の発明の論理関数設計方法の主要な点は変数依存度を明解な式に基づき効率的に計算できる点である。
ここでは与えられた100個の4入力論理関数の中から指定された変数に依存しない論理関数を選別する問題につき、請求項7の(34)式に基づく決定プログラムの処理の流れだけを示す。用いる定数と変数は以下で論理関数配列は最小項に対応しアドレスに1が入りその他0の表現である。
f[100][16]:100個の4ビット論理関数;与えられた既知定数
fn[100][16]:上記100個の否定論理関数:0,1が上と逆転
e[4]:指定変数依存;e[u]=θなる値が入った定数配列
delta[16][16]:変数依存度関数;(34)式のΔ(X,Y)に対応するもの
d[100]:判定結果配列;
s[4][16]:4標準成分論理関数配列;χ〜χの4つの論理関数に対応した定数配列
Figure 0004445921
た定数配列
i,j,k:一般の変数
(ステップ1)与えられたe[4]から変数依存度関数delta[16][16]を計算
請求項7に示されたΔ(X,Y)の定義に基づきdelta[16][16]を計算
k=0とする。
(ステップ2)(34)式の左辺の計算
f[k][i]*fn[k][j]*delta[i][j]を全てのi,jにつき論理和計算を行う
計算結果が0ならd[k]=1,その他はd[k]=0
k=k+1としk=100ならステップ3、その他ステップ2
(ステップ3)論理関数選別
d[k]=1なるkの論理関数を選別する。
以上が請求項7の発明の実施例である。請求項7の発明の論理関数設計方法によれば明解に定義された式により予め指定された変数依存度関数を計算することや、母関数による一括解析などが可能となり、従来の個別の変数の独立性を逐次調べる方法や、成分単位に調べる方法に比べ格段に効率的な処理になる。
請求項8の発明の主要な点は請求項5乃至請求項7における計算および判別を包括的に行うことでより多様な論理関数設計に用いることができる方法である。
図6は請求項8の発明のプログラム構成図で、以下のステップ1からステップ7までの7つの処理のステップと、ステップ間の処理の流れ制御するステップ8の大きくは8つのステップを有する。
[ステップS21]:特徴論理関数変換ステップ。
入力された集合間の関係を関係式(8)〜(14)を用いて特徴論理関数の式に、変換する。
[ステップS22]:特徴論理関数関係判別ステップ。
変換された特徴論理関数の式が成立するかどうかを判別する。
[ステップS23]:写像成分関数・母関数入力ステップ。
各写像の成分関数または/および母関数を入力する。
[ステップS24]母関数計算ステップ。
(16)式に基づき母関数を計算する。
[ステップS25]:成分関数計算ステップ。
(20)式に基づき成分関数を計算する。
[ステップS26]:成分関数・母関数関係計算ステップ。
(18)〜(19)式を計算する。
[ステップS27]:変数依存度解析ステップ。
(30)〜(35)式に基づき変数依存度を解析する。
[ステップS28]:結果を出力する。
[ステップS29]:データ制御ステップ。
ステップS21〜ステップS28の間のデータの受け渡しを目的の処理に応じ制御する。
この図6の構成図に基づき設計する場合の具体例を以下に説明する。
人のユーザのK項目についての好き嫌いを2値で表した集合データ1があり、このK項目の好き嫌いのパター2種の内、L種のパター(集合データ2)に該当する人をピックアップする論理回路、つまりmビットのユーザ番号を入力した時に、該当者では1、非該当者は0を出力する回路の論理関数を図6の構成図に従い設計する場合で説明する。
全てステップ8の制御の下に処理は進み、先ず2人の集合データ1からステップ1によりm個の特徴論理関数に変換し、これを写像Aのm個の成分関数としてステップ4により母関数Aを計算する。同様にL要素の集合データ2からステップ1により1個のパターン選別を表す特徴論理関数に変換し、これを写像Bの1個の成分関数としてステップ4により母関数Bを計算する。次に母関数Aと母関数Bをステップ6により合成写像BAの母関数BAを計算し、さらに同じステップ6により母関数BAから1つの成分関数を計算する。
このようにして求める回路の論理関数が得られる。
この具体例はステップS21、ステップS24、ステップS26、ステップS28だけの処理で設計できる例を示したが、その他のステップの用いる例は多岐に亘り存在する。
以上のように請求項8の発明の論理関数設計方法を用いれば多岐に亘る応用において、請求項5乃至請求項7の発明における計算および判別を包括的に行うことでより多様な論理関数設計行うことができる。
次に本発明の符号化演算方式の効果を顕著に示す具体例を説明する。
[具体例1]
4要素からなる集合Ω in=(s,t,u,v,)を入力、5要素からなる集合Ω OUT=(a,c,f,g,h)を出力とする2項演算F:Ω in×Ω in→Ω OUTと、8要素からなる集合Ω=(a,b,c,d,e,f,g,h)を入出力とする2項演算F:Ω×Ω→Ωが定義された旧演算系を考える。本発明の効果を理解し易いように、擬似的にFを乗算、Fを加算と見なした時の積和演算(擬似的な積和演算)を実行する元演算系の計算システムにつき元演算系と新演算系を後に比較する。
は擬似乗算で*で表し、Fは擬似加算で+で表し、複数の擬似加算を通常と同じようにΣで表すことにすると、擬似積和演算は
Figure 0004445921
最も一般的な2値で元演算系を論理設計を行うことにすると、Ω in=Bとし
Figure 0004445921

Figure 0004445921
に対応させると、Fは4ビット入力3ビット出力の2項演算器で、Fは6ビット入力3ビット出力の2項演算器となる。この時のFの真理値表を図7に、Fの真理値表を図8に示す。さらにこの図7と図8の真理値表から論理合成ソフトにより合成した回路の回路図を示したものが図9、図10である。図9はFの回路図、図10はFの回路図である。
この具体例1では、上述の発明の第1の側面に従う手法に基づき、元データ集合を全て旧表現データの集合Bに拡張し、元演算系のF,Fに対応した旧演算F ,F をF ,F2:B×B→Bなる2項演算と考え、また新表現データの集合を同じBとする。この時符号化は同型写像による非冗長符号になる。つまりΦ:B→B、Ψ=Φ−1:B→Bとなる。具体例1では図11のフローに従い新演算系を決定を行った。
図11の処理は次のようなものである。
[ステップS21]:k=1、p=1に初期設定する。kは新演算器の入力数、pは新演算器のビット数である。
[ステップS22]:p番目の符号Φを生成する(置換Φを決める)。
[ステップS23]:疑似加算器の真理値表をΦで置換し新演算器を生成する。
[ステップS24]:k変数依存以下の2項演算器を生成する。
[ステップS25]:新疑似乗算器候補すべてにたいしてΦの逆置換を施し、元疑似乗算との対応点を比較する。
[ステップS26]:一致する候補がある化判別する。あればステップS27へ進み、なければステップS28へ進む。
[ステップS27]:新演算器は満足するものかを判別する。満足するものであれば終了し、そうでなければステップS28へ進む。
[ステップS28]:p=Pを判別し、p=Pでなければ、ステップS29へ進む。
[ステップS29]:p=p+1としてステップS22に戻り処理を繰り返す。
[ステップS30]:p=1とする。
[ステップS31]:k=Kを判別し、k=KでなければステップS32へ進む。k=Kであれば処理を終了する。
[ステップS32]:k=k+1としてステップS22へ戻り、処理を繰り返す。
図11の処理の結果得られた元演算系のF,Fに対応した一組(同等のものは複数個存在する)の新演算器をF ,F とすると、このF ,F はF ,F :B×B→Bなる演算(写像)となる。これらの真理値表を示したものが図12と図13である。また図14と図15はこの符号化における符号器と復号器の真理値表である。
これらの図12、図13、図14、図15の真理値表から論理合成ソフトにより合成した回路の回路図を示したものが図16、図17、図18、図19である。
ここで図11の新演算系決定フローを説明する。この具体例1では符号化は非冗長符号化であり、符号器Φは同型写像となり、Bの8種の要素(データ)を置換することに対応する。この置換は8!種存在する。P=8!とし、P種の置換を番号付けする。元擬似加算と旧演算系の擬似加算はどちらもB上の2項演算なので、同じものとして扱い、真理値表に対して入力と出力の3ビットの値に対し置換施し入力を順に並べ替えたものが図13で、これは符号化(置換)により生成された擬似加算の新演算器の真理値表になる。また元擬似乗算は旧演算系への拡張を直接的に行わずに、先ず新演算系の擬似乗算器の候補を出し、各符号化に対応して逆の置換Φ−1を施し、候補に対応する旧演算系の擬似乗算を生成し、対応する部分が元擬似乗算の真理値表と一致するかどうかを判定する。つまり一致した新演算系の擬似乗算の候補が、元擬似乗算を拡張した旧演算系の擬似乗算を符号化しものに相当する。
以上の具体例1において擬似乗算に関しては図9と図16、擬似加算に関しては図10と図17を比較すれば解るように新演算系の演算器の回路が格段に簡単になっていることが解る。さらに具体的な効果を観る意味で、NOT(インバータ)の素子数を□、遅延時間を△とし、演算器単体の素子数とクリティカルパスの遅延時間をF,F,F ,F の順にそれぞれ□、□、□ 、□ 、と△、△、△ 、△ とし、さらにΦ,Ψの素子数とクリティカルパスの遅延時間を□ΦΨと△ΦΨとすると、図20の具体例1の素子数遅延表のようになる。ここに各ゲートの素子数と遅延時間は一般的なものである2入力andゲートと2入力orゲートの素子数、遅延時間は2□、2△とし、2入力exorゲートの素子数、遅延時間は4□、3△とした。
ここでさらに(58)の擬似積和演算を専用のハードウエアで実現した場合で示す。
図21の木構造積和演算器ブロック図に示された木構造に配列された専用積和演算回路を、*が付された乗算器のところに擬似乗算器を、+が付された加算器のところに擬似加算器を配列した元演算系と新演算系の擬似積和演算器を構成し評価してみる。
図21は(58)のK=8=2に相当するブロック図であるが、K=2(Lは自然数)なる場合には記号*の乗算器はK個並列に並び、これらの乗算器の出力に続く記号+の加算器は格段毎に2L−1個、2L−2個、・・・、2、1個が接続された木構造を成す。従って記号*の乗算器の素子数を□、遅延時間を△、記号+の加算器の素子数を□、遅延時間を△と表すと
(59)積和演算器素子数=2・□+(2−1)・□
(60)積和演算器遅延時間=△+L・△
となる。K=8=2の場合には素子数は元演算系が2325□、新演算系が100□、遅延時間は元演算系が100△、新演算系が21△であり、擬似積和演算器だけで比較すると新演算系は元演算系の素子数で約1/23、遅延時間は約1/5になっている。
実際には新演算系に対しては符号器と復号器が追加して評価すべきである。符号器、復号器の数などは各種考えられるが、ここでは図22に示す回路で比較する。
図22は2K=16個の入力データX,Y,…,X,Y毎に1つの符号器Φを配し、それぞれをX′,Y′,…,X′,Y′なる新表現データに変換し、図21の構造を有した新演算系擬似積和演算器で新表現データとしての積和演算結果Z′計算し、復号器Ψで元演算系の擬似積和演算結果Zを出力する本発明の符号化演算方式の1つの実施回路である。この回路Aは、内部をブラックボックスとしてみると前記の図21の構造を有したX,Y,…,X,YからZを算出する元演算系の擬似積和演算器と機能としては全く同じであるが、素子数が
467□,遅延時間が36△に大幅に削減される。
以上のように本発明の符号化演算方式によれば閉じた演算系に限らず、一般的な演算系(元演算系)に対し、大幅に素子数や遅延時間を削減した演算装置を実現することができる。またこの具体例では基数r=2の場合で示したが、多値論理の場合も基本的に同じ流れで符号化演算方式を実現できることは言うまでも無い。
尚、図11のフローは本発明に基づく論理設計のあくまでも1つのアルゴリズムであり、幾つもの変形したアルゴリズムが考えられる。
また図21に示した具体例1の木構造積和演算ブロック図の構成は、擬似積和演算に限らず例えば浮動小数点演算のような演算器に対しても同様な構成が可能であり、図22は符号器、復号器および演算器からなる演算処理装置全体を示している。
またCPUまたはデータ制御装置とを具備し、1つまたは複数の新演算器による演算結果を復号器により旧表現データに変換すること無く、新表現データのままで一旦メモリに格納し、他の計算プロセスにおいて計算された新表現データを前記CPUまたはデータ制御装置により前記結果の新表現データとの計算を必要な計算手順で計算可能にする演算処理装置も実現可能である。
[具体例2]
次に母関数を利用した論理関数設計方式を分かり易い例としてBで定義された2つの単項演算GとGだけからなる元演算系の場合の具体例で示す。図23はGとGの真理値表である。この単項演算GとGはG,G:B→Bなる写像であり、その成分関数をg (X)、g (X)およびg (X)、g (X)とすると、真
Figure 0004445921
(X)=χ・χであり、(素子数、遅延時間)はGは(2□、2□)とGは(5□、3△)となる。またGとGの母関数▲G▼(Y,X)と▲G▼(Y,X)は母関数の定義式(16)より
Figure 0004445921
同様に
Figure 0004445921
となる。これらの母関数をブール値行列として図示したものが図24である。
この元演算系はB上の同型写像の範囲の符号化ではこれ以上簡単にならない。そこでこの具体例2では非符号無しの3ビットの冗長符号化まで考え新演算系を設計した。非符号無しの時には符号領域の特徴論理関数c(X′)(X′∈B)はc(X′)=1であるから、先ず符号器、復号器の関係式(1−b)は以下のような同値な変形が成り立つ。
Figure 0004445921
この(63)と(2−b)より、この非符号無しの符号設計問題は4種の各Xに対応する▲Ψ▼(X,X′)をB上の8種類の最小項を入れる箱として考え、これらの4つの箱に重複が無く且つ空の箱が生じないように8種の最小項を箱詰めする問題と等価になる。そしてこの箱詰めの仕方が1つ決まれば▲Ψ▼(X,X′)が1つ決まることに対応する。
また(3−b−1)の相当する式は、以下のように同値な変形が成り立つ。
Figure 0004445921
また(3−b−2)はc(X′)=1では常に成り立つ。そこでこの具体例2では図25にフローに従い新演算系の2つの単項演算を簡単なものから順に生成し、(64)の最後の式を満足するかを判定しながら新演算系の決定を行った。
図25の処理は以下のようなものである。
[ステップS41]:簡単な新演算器候補を生成する。
[ステップS42]:新演算器の母関数を構成する。
[ステップS43]:箱詰めにより符号を生成する。
[ステップS44]:(64)式を満たすかどうかを判別し、満たせば処理を終了し、満たさなければステップS45へ進む。
[ステップS45]:すべての符号を生成したかを判別し、生成した場合にはステップS46へ進み、そうでない場合にはステップS43へ戻り、処理を繰り返す。
[ステップS46]:次の新演算器候補を生成してステップS42へ戻り、処理を繰り返す。
図25の処理の結果は、
Figure 0004445921
つまり、箱▲Ψ▼(0,X′)には1つの最小項X′を、箱▲Ψ▼(1,X′)には1つの最小項X′を、▲Ψ▼(2,X′)には2つの最小項X′とX′を、箱▲Ψ▼(3,X′)には4つの最小項X′,X′,X′,X′を箱詰めした場合に相当する符号化に対して、(64)の最下段を満足する新演算系の単項演算G とG の成分関数g N0(X′)=χ′
Figure 0004445921
遅延時間)はG は(□、△)、G は(2□、△)となり、元演算系のGに比較し大幅に簡単になっている。尚、この場合(63)式を満足する母関数▲Φ▼(X′,Y)は全て符号器の母関数となる。例えば
Figure 0004445921
はこの具体例の符号器の母関数の例である。
ここで前記ΨおよびG が(64)式を満足することを確認すると、(64)の左辺は
Figure 0004445921
であり、一方(64)の右辺は(61)と(65)より
Figure 0004445921
となることから(64)式は明らかに成り立つ。
ここで具体例2における演算器のデータの入出力の関係をトポロジーとして表してみる。図26は元演算器GとGの入出力トポロジーを表したもので、Gにつき説明すると、図23よろGは0=(0,0)の入力は出力0=(0,0)を出し、3=(1,1)の入力は出力3=(1,1)を出し、0=(0,0)と3=(1,1)は入出力の関係はトポロジーとして観た時に自己ループしている。また入力1=(0,1)は0=(0,0)を出力し、入力2=(1,0)は1=(0,1)を出力していることを図26は表している。この入出力関係のトポロジーと真理値表は完全に対応が付く。Gについても同様である。また図27は新演算器G とG につき同様に入出力トポロジーを表したものである。図26と図27とはトポロジーとして全く異なっているが、符号化により、B上で0=(0,0,0)と4=(1,0,0)は同じ符号[2]に属し、また1=(0,0,1)、3=(0,1,1)、5=(1,0,1)、7=(1,1,1)は同じ符号[3]に属すことから、これらを図中の楕円で囲んだように束ね一つのグループと見なすとグループ間の入出力関係は図28のようになる。そして図26と図28はトポロジーとして同型であることが分かる。このように冗長符号化の本質は前記のように同じ符号を束ねた時の新演算器のトポロジーが元演算系の演算器のトポロジーと同型になることであると言うことができる。そのことから、トポロジーを同型にするように新演算器を設計することが可能である。このトポロジーを利用した新演算系の決定のフローの具体例を示したものが図29(トポロジー一致型新演算系決定フロー)で、これはr=2に限定されず、多値論理式として設計する場合にも有効な方法である。
図29の処理は以下のようになる。
[ステップS51]:元演算器の入出力関係のトポロジーを作成する。
[ステップS52]:簡単な新演算器後方を生成する。
[ステップS53]:新演算器の入出力関係のトポロジーを作成する。
[ステップS54]:箱詰めにより符号を生成する。
[ステップS55]:符号に降り束ねた新演算器の入出力関係のトポロジーを生成する。
[ステップS56]:元演算系と新演算系がトポロジーとして同型かどうかを判別する。同型であれば処理を終了する。同型でなければステップS57へ進む。
[ステップS57]:すべての符号を生成したかを判別する。すべての符号を生成したいないと判別したときにはステップS54へ戻り処理を繰り返す。すべての符号を生成したと判別した場合にはステップS58へ進む。
[ステップS58]:次の新演算器候補を生成してステップS53へ戻り処理を繰り返す。
以上のように具体例2では母関数に対して成り立つ(1−b)、(2−b)、(3−b−1)、(3−b−2)と同値な式または関係を用い元演算系の情報から非冗長符号化による新演算系を論理設計を行うことができた。全く同様に(1−b)乃至(3−b−2)またはこれらと同値な式に基づき2項演算やT項演算を含む元演算系から新演算系を論理設計することができる。
以上で実施例およびその具体例の説明を終了する。
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。

Claims (2)

  1. 符号器と、上記符号器の出力を演算処理する演算処理手段と、上記演算処理手段の出力を復号する復号器とを有し、第1の表現データ上で定義された元の演算系の処理を、第2の表現データ上で定義された上記演算処理手段の新たな演算系の処理で代替する演算処理装置において、
    単項演算型のQ種の演算G:Ωin→Ωout(q=1,2,・・・Q)および/または2項演算型のP種の演算F:Ωin×Ωin→Ωout(p=1,2,・・・P)および/またはT項演算型のS種の演算H:Ωin×Ωin×・・・×Ωin→Ωout(s=1,2,・・・S)が1つまたは複数個(Q+P+S≧1)定義された元の演算系の入力空間の有限集合Ωin、Ωin、Ωinと出力空間の有限集合Ωout、Ωout、Ωoutの要素数|Ωin|、|Ωin|、|Ωin|、|Ωout|、|Ωout|、|Ωout|とに対して、
    max{|Ωin|、|Ωin|、|Ωin|、|Ωout|、|Ωout|、|Ωout|}≦rを満たす基数r、語長nの数表現の集合B (r値の集合のn個の直積)を、元の演算系の第1の表現データの集合とし、前記の元の演算系の各演算の入力空間のデータ集合Ωin(Ωin、Ωin、Ωinの何れか)の要素数|Ωin|に対して、|Ωin|=rなる時以外は、r−|Ω|個分の定まっていない要素に対する対応関係を元の演算系の各演算に付加し、元の演算系のQ種の単項演算型の演算GはG0:B →B (q=1,2,・・・Q)なる単項演算に拡張し、P種の二項演算型の演算FはF0:B ×B →B (p=1,2,・・・P)なる2項演算に拡張し、S種のT項演算型の演算HはH0:B ×B ×・・・×B →B (直積はT個、s=1,2,・・・S)なるT項演算に拡張し、さらに第2の表現データは集合B (m≧n)上のデータとしたときに、
    上記符号器はΦ:B →B なる単射の写像として動作し、
    上記復号器はΨ:B →B なる全射の写像として動作し、
    上記演算処理手段は、さらにG0に対応する新たな演算系の単項演算であるGN:B →B として動作し、F0に対応する新たな演算系の二項演算であるFN:B ×B →B として動作し、さらに、H0に対応する新たな演算系のT項演算であるHN:B ×B ×・・・×B →B として動作し、
    もって、元の演算系の全ての演算と新たな演算系の全ての演算および符号器、復号器を全て多入力多出力のr値論理の写像に対応させ、
    さらに、B 上の任意Xに対応した符号[X]([X]⊂B )に対し
    (1)Φ(X)∈[X]⊂B (for ∀X∈B
    (2)Ψ([X])=X (for ∀X∈B
    (3)Y=G0(X)⇔[Y]⊃GN([X]) (for ∀X,Y∈B 、∀q)
    (4)Z=F0(X,Y)⇔[Z]⊃FN([X],[Y]) (for ∀X,Y,Z∈B 、∀p)
    (5)Y=H0(X,・・・,X)⇔[Y]⊃HN([X],・・・,[X]) (for ∀X,・・・X∈B 、∀s)
    の条件を満たすようにしたことを特徴とする演算処理装置。
  2. 符号器と、上記符号器の出力を演算処理する演算処理手段と、上記演算処理手段の出力を復号する復号器とを有し、第1の表現データ上で定義された元の演算系の処理を、第2の表現データ上で定義された上記演算処理手段の新たな演算系の処理で代替する演算処理装置において、
    単項演算型のQ種の演算G:Ωin→Ωout(q=1,2,・・・Q)および/または2項演算型のP種の演算F:Ωin×Ωin→Ωout(p=1,2,・・・P)および/またはT項演算型のS種の演算H:Ωin×Ωin×・・・×Ωin→Ωout(s=1,2,・・・S)が1つまたは複数個(Q+P+S≧1)定義された元の演算系の入力空間の有限集合Ωin、Ωin、Ωinと出力空間の有限集合Ωout、Ωout、Ωoutの要素数|Ωin|、|Ωin|、|Ωin|、|Ωout|、|Ωout|、|Ωout|とに対して、
    max{|Ωin|、|Ωin|、|Ωin|、|Ωout|、|Ωout|、|Ωout|}≦rを満たす基数r、語長nの数表現の集合B (r値の集合のn個の直積)を、元の演算系の第1の表現データの集合とし、前記の元の演算系の各演算の入力空間のデータ集合Ωin(Ωin、Ωin、Ωinの何れか)の要素数|Ωin|に対して、|Ωin|=rなる時以外は、r−|Ω|個分の定まっていない要素に対する対応関係を元の演算系の各演算に付加し、元の演算系のQ種の単項演算型の演算GはG0:B →B (q=1,2,・・・Q)なる単項演算に拡張し、P種の二項演算型の演算FはF0:B ×B →B (p=1,2,・・・P)なる2項演算に拡張し、S種のT項演算型の演算HはH0:B ×B ×・・・×B →B (直積はT個、s=1,2,・・・S)なるT項演算に拡張し、さらに第2の表現データは集合B (m≧n)上のデータとしたときに、
    上記符号器はΦ:B →B なる単射の写像として動作し、
    上記復号器はΨ:B →B なる全射の写像として動作し、
    上記演算処理手段は、さらにG0に対応する新たな演算系の単項演算であるGN:B →B として動作し、F0に対応する新たな演算系の二項演算であるFN:B ×B →B として動作し、さらに、H0に対応する新たな演算系のT項演算であるHN:B ×B ×・・・×B →B として動作し、
    もって、元の演算系の全ての演算と新たな演算系の全ての演算および符号器、復号器を全て多入力多出力のr値論理の写像に対応させ、
    さらに、B 上の任意Xに対応した符号[X]([X]⊂B )に対し、
    χ (X)がB の部分集合Aの特徴関数(ただし、X∈B )を表し、χ’ A’ (X’)がB の部分集合A’の特徴関数(ただし、X’∈B )を表すとすると、
    (1c)χ’[X](Φ(X))=1 (for ∀X∈B
    (2c)χ(Ψ([X]))=1 (for ∀X∈B
    (3c)χ’[Gq0(X)](GN([X]))=1 (for ∀X∈B 、∀q)
    (4c)χ’[Fp0(X,Y)](FN([X],[Y]))=1 (for ∀X,Y∈B 、∀p)
    (5c)χ’[Hs0(X1,・・・,XT)](HN([X],・・・,[X]))=1 (for ∀X,・・・X∈B 、∀s)
    の条件を満たすようにしたことを特徴とする演算処理装置。
JP2005504692A 2003-01-27 2004-01-26 演算処理装置、演算処理装置設計方法および論理回路設計方法 Expired - Fee Related JP4445921B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003017612 2003-01-27
JP2003017612 2003-01-27
PCT/JP2004/000640 WO2004068364A1 (ja) 2003-01-27 2004-01-26 演算処理装置、演算処理装置設計方法および論理回路設計方法

Publications (2)

Publication Number Publication Date
JPWO2004068364A1 JPWO2004068364A1 (ja) 2006-05-25
JP4445921B2 true JP4445921B2 (ja) 2010-04-07

Family

ID=32820567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005504692A Expired - Fee Related JP4445921B2 (ja) 2003-01-27 2004-01-26 演算処理装置、演算処理装置設計方法および論理回路設計方法

Country Status (5)

Country Link
US (1) US20060212785A1 (ja)
EP (1) EP1598750A1 (ja)
JP (1) JP4445921B2 (ja)
CN (1) CN1742270A (ja)
WO (1) WO2004068364A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332188B2 (en) * 2006-03-03 2012-12-11 Solido Design Automation Inc. Modeling of systems using canonical form functions and symbolic regression
JP2008282178A (ja) * 2007-05-09 2008-11-20 Toshiba Corp 産業用コントローラ
CN102054102B (zh) * 2010-12-27 2012-10-24 宁波大学 一种与/异或电路的最佳混合极性搜索方法
KR20140097927A (ko) * 2013-01-30 2014-08-07 삼성전자주식회사 소프트웨어의 보안을 높이는 방법
EP3644515B1 (en) * 2017-06-22 2022-08-24 Nippon Telegraph And Telephone Corporation Encoding device, decoding device, encoding method, decoding method and program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03201114A (ja) * 1989-12-28 1991-09-03 Hideji Watari 高速演算方式
US5377207A (en) * 1992-09-03 1994-12-27 The United States Of America As Represented By The United States National Aeronautics And Space Administration Mappings between codewords of two distinct (N,K) Reed-Solomon codes over GF (2J)
JPH10135848A (ja) * 1996-10-30 1998-05-22 Texas Instr Japan Ltd リードソロモン符号化装置およびその方法
JP2000124813A (ja) * 1998-10-20 2000-04-28 Texas Instr Japan Ltd リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法

Also Published As

Publication number Publication date
WO2004068364A1 (ja) 2004-08-12
US20060212785A1 (en) 2006-09-21
CN1742270A (zh) 2006-03-01
EP1598750A1 (en) 2005-11-23
JPWO2004068364A1 (ja) 2006-05-25

Similar Documents

Publication Publication Date Title
Wang et al. LUTNet: Learning FPGA configurations for highly efficient neural network inference
Quach et al. On fast IEEE rounding
Juang et al. Para-CORDIC: Parallel CORDIC rotation algorithm
Yeh et al. High-speed Booth encoded parallel multiplier design
US5734880A (en) Hardware branching employing loop control registers loaded according to status of sections of an arithmetic logic unit divided into a plurality of sections
US5956265A (en) Boolean digital multiplier
US5600847A (en) Three input arithmetic logic unit with mask generator
Fränti Genetic algorithm with deterministic crossover for vector quantization
US5493524A (en) Three input arithmetic logic unit employing carry propagate logic
KR20030045021A (ko) 승산을 수행하기 위한 병렬 카운터 및 로직 회로
WO2016160331A1 (en) Scalable high-bandwidth architecture for lossless compression
CN113592094B (zh) 量子态制备电路生成方法、超导量子芯片
CN101754020B (zh) 用于编码的视频压缩的方法和系统
JP4445921B2 (ja) 演算処理装置、演算処理装置設計方法および論理回路設計方法
Ahn et al. Deeper weight pruning without accuracy loss in deep neural networks: Signed-digit representation-based approach
Haghparast et al. Designing novel quaternary quantum reversible subtractor circuits
Kim et al. Efficient brain-inspired hyperdimensional learning with spatiotemporal structured data
Arnal et al. Parallel Newton two-stage multisplitting iterative methods for nonlinear systems
US5481748A (en) Method and apparatus for reducing the processing time required to solve numerical problems
WO2019208581A1 (ja) インバーティブルロジック回路装置
Verma et al. Challenges in automatic optimization of arithmetic circuits
Bashagha et al. A new digit-serial divider architecture
Fit-Florea et al. A discrete logarithm number system for integer arithmetic modulo 2^{k}: algorithms and lookup structures
Koy et al. Segment and strong segment LLL-reduction of lattice bases
Olawale et al. An Efficient RNS Arithmetic in Bioinformatics sequences

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

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: 20091124

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: 20100118

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: 20130122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees