JPH0546361A - 半導体記憶装置 - Google Patents

半導体記憶装置

Info

Publication number
JPH0546361A
JPH0546361A JP4008618A JP861892A JPH0546361A JP H0546361 A JPH0546361 A JP H0546361A JP 4008618 A JP4008618 A JP 4008618A JP 861892 A JP861892 A JP 861892A JP H0546361 A JPH0546361 A JP H0546361A
Authority
JP
Japan
Prior art keywords
data
binary number
bit
circuit
memory cell
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.)
Granted
Application number
JP4008618A
Other languages
English (en)
Other versions
JP3011300B2 (ja
Inventor
Hirohisa Machida
浩久 町田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4008618A priority Critical patent/JP3011300B2/ja
Priority to US07/832,570 priority patent/US5323347A/en
Priority to DE4204448A priority patent/DE4204448C2/de
Publication of JPH0546361A publication Critical patent/JPH0546361A/ja
Application granted granted Critical
Publication of JP3011300B2 publication Critical patent/JP3011300B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Dram (AREA)
  • Complex Calculations (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 冗長2進数データから通常2進数データへの
変換により生じる実行時間の増加をなくし、高速な演算
処理を可能にする半導体記憶装置を提供する。 【構成】 半導体記憶装置1は複数のメモリ回路10を
含む。メモリ回路10の各々は、データビットメモリセ
ル11、サインビットメモリセル12、変換回路13お
よび選択回路14を含む。データビットメモリセル11
は、通常2進数データの1つのビットまたは冗長2進数
データの1つの桁のデータビットを記憶する。サインビ
ットメモリセル12は、冗長2進数データの1つの桁の
サインビットを記憶する。変換回路13は、データビッ
トメモリセルに記憶されたデータビットおよびサインビ
ットメモリセル12に記憶されたサインビットに基づい
て、冗長2進数データを通常2進数データに変換する。
選択回路14は、データビットメモリセル11に記憶さ
れたデータビットまたは変換回路13により出力された
通常2進数データの1つのビットを選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は半導体記憶装置に関
し、特に通常2進数データおよび冗長2進数データを記
憶する半導体記憶装置に関する。
【0002】
【従来の技術】近年、半導体技術の進歩は目覚ましく、
多くの回路素子を1つのチップ上に集積化することが可
能になってきた。また、処理速度をさらに高速化すると
いう要求も多く、特に算術演算を高速に処理したいとい
う要求が強くなっている。そして、算術演算を高速に処
理するための方法として、冗長2進数を用いた演算回路
の利用が注目を集めている。
【0003】ここで、各桁が0および1の2数で表わさ
れる一般的な2進数を通常2進数と呼ぶ。これに対し
て、各桁が1,0および−1の3数で表わされる2進数
を冗長2進数と呼ぶ。nビットの2進数は一般にxn
n-1 …x1 と表現される。ここでは、符号なし2進表示
による2進数を[xn n-1 …x1 2 と表記し、2の
補数表示による2進数を[xn n-1 …x1 C2と表記
する。この場合、xn ,xn-1 ,…,x1 の各々は0ま
たは1を表わしている。また、冗長2進数を[x n ,x
n-1 ,…x1 SD2 と表記する。この場合、xn ,x
n-1 ,…,x1 の各々は1,0または−1を表わす。
【0004】通常2進表現では、10進数の“3”は
[011]2 と表わされる。一方、冗長2進表現では、
10進数の“3”は[0,1,1]SD2 または[1,
0,−1]SD2 と表わされる。このように、冗長2進表
現では、1つの数を複数の方法で表わすことができる。
【0005】通常2進数と冗長2進数との間の相互変換
については、たとえば、高木,安浦,矢島:“冗長2進
加算木を用いたVLSI向き高速乗算器”,電子通信学
会論文誌´83/6 Vol.J66−D No.6,
pp.683−690に説明されている。
【0006】通常2進表現は、冗長2進表現の1つと一
致している。たとえば、冗長2進表現の[011]2
冗長2進表現の[0,1,1]SD2 に一致している。し
たがって、通常2進数を冗長2進数へ変換する際には、
何も処理を行なう必要がない。
【0007】一方、冗長2進数から通常2進数への変換
は、2つの2進数の減算により行なうことができる。一
方の2進数は、冗長2進数の“1”の桁に対応するビッ
トを“1”に設定しかつ残りのビットを“0”に設定す
ることにより得られる。他方の2進数は、冗長2進数の
“−1”の桁に対応するビットを“1”に設定しかつ残
りのビットを“0”に設定することにより得られる。一
方の2進数から他方の2進数を減算すると、2の補数表
示による通常2進数が得られる。
【0008】たとえば、冗長2進数[1,0,−1]
SD2 は、次のようにして通常2進数[011]C2に変換
される。
【0009】[1,0,−1]SD2 =[100]2
[001]2 =[011]C22つの通常2進数の減算
は、2の補数表示による2進数を用いた加算により行な
われる。したがって、冗長2進数から通常2進数への変
換は主として加算回路を用いて行なわれる。
【0010】通常2進数を用いた演算では、桁上げ信号
の伝搬による遅延が生じるため、データのビット長が長
くなるほど演算時間が長くなる。これに対して、冗長2
進数表現では1つの数を複数の形で表現できるので、桁
上げの回数を減少させることが可能となる。冗長2進数
を用いた加算および乗算については、上記の電子通信学
会論文誌に説明されている。
【0011】ここでは、簡単な加算の例を説明する。た
とえば、3+1=4という加算を通常2進数を用いて行
なうと、図10に示されるように、最下位ビットから第
2ビットへ桁上げが生じ、さらに第2ビットから第3ビ
ットへ桁上げが生じる。これに対して、図11に示され
るように、10進数の“3”を冗長2進数の[1,0,
−1]SD2 で表わし、10進数の“1”を冗長2進数の
[0,0,1]SD2 で表わす。このような冗長2進数を
用いた加算では、桁上げが生じない。したがって、冗長
2進数を用いると、高速な演算が可能となる。
【0012】冗長2進数を利用する演算回路では回路素
子の数が多くなるが、最近の半導体技術の進歩により回
路素子の数が多いことは何ら問題ではなくなっている。
そのため、冗長2進数を利用する高速性能を有する演算
回路が半導体集積回路装置内に組み込まれるようになっ
てきた。たとえば、Yamashitaet al., “A 200MHz16-bi
t BiCMOS Signal Processor” ,1989 ISSCC DIGEST OF
TECHNICAL PAPERS,pp.172-173およびEdamatsu et al.,
“A 33MFLOPS Floating Point Processor using Redund
ant Binary Representation ”,1988 ISSCC DIGEST OF
TECHNICAL PAPERS,pp.152-153 に冗長2進数を利用した
演算回路が開示されている。
【0013】
【発明が解決しようとする課題】上記のように、冗長2
進数を利用した高速な演算回路が開発されている。しか
しながら、多くのデータ処理システムでは、通常2進数
データが用いられる。そのため、冗長2進数を利用する
演算回路を他のシステムと接続するためには、冗長2進
数と通常2進数との間で相互変換が必要となる。そのた
めには、上記のように通常2進数の加算回路が必要とな
り、変換のために演算時間が増加する。
【0014】特に、通常のマイクロプロセッサでは、多
数のデータに関して算術演算処理および論理演算処理が
行なわれる。算術演算処理は冗長2進数データを用いて
行なうことができるが、論理演算処理は冗長2進数デー
タを用いて行なうことはできない。
【0015】図12に、一般的なマイクロプロセッサの
主として実行部を示す。マイクロプロセッサ300は、
レジスタファイル回路(RF)310および演算処理回
路(ALU)320を含む。このマイクロプロセッサ3
00には主記憶装置200が接続される。マイクロプロ
セッサ300は1つのLSIにより形成され、主記憶装
置200は別のLSIにより形成される。主記憶装置2
00には通常2進数データが記憶されている。演算処理
回路320は、算術演算処理、論理演算処理等の演算処
理を行なう。レジスタファイル回路310は、通常RA
M(Random Access Memory)から
なり、主記憶装置200に記憶されるデータのうち演算
処理回路320の処理に必要なデータを記憶する。
【0016】ここで、演算処理回路320として、冗長
2進数を利用する演算および冗長2進数と通常2進数と
の間の相互変換が可能な演算回路を用いた場合を想定
し、その場合における動作を説明する。
【0017】まず、演算処理回路320の演算処理に必
要な通常2進数データが主記憶装置200からレジスタ
ファイル回路310に転送され、そこに記憶される。た
とえば、2数を加算する命令を実行するときには、2つ
の通常2進数データが主記憶装置200からレジスタフ
ァイル回路310に転送される。
【0018】次に、演算処理回路320はその2つのデ
ータの加算処理を実行する。通常2進数データは冗長2
進数データとみなすこともできるので、この場合、演算
処理回路320は冗長2進数を利用した演算を実行す
る。それにより、演算時間が短縮される。その演算結果
は冗長2進数データとなる。
【0019】通常、レジスタファイル回路310は冗長
2進数データを記憶することはできない。そのため、演
算処理回路320は、冗長2進数データを通常2進数デ
ータに変換する。その変換された通常2進数データがレ
ジスタファイル回路310に記憶される。この場合、演
算処理回路320は、演算処理に加えて変換処理を行な
う必要があるので、結局実行時間は長くなる。
【0020】また、レジスタファイル回路310が冗長
2進数データを記憶することができると仮定すると、演
算結果は冗長2進数の形でレジスタファイル回路310
に記憶される。次にその演算結果を利用する命令が算術
演算の命令であれば、その冗長2進数データを用いてそ
の演算を実行することができる。
【0021】しかし、次にその演算結果を利用する命令
が論理演算の命令であれば、その冗長2進数データを通
常2進数データに変換する必要がある。その場合、演算
処理回路320が変換処理を行なわなければならず、結
局実行時間が増加する。
【0022】さらに、たとえ論理演算の命令がまったく
存在しないとしても、レジスタファイル回路310に記
憶された冗長2進数データは最終的には主記憶装置20
0に保存される。主記憶装置200は、システム内で他
の回路とも接続されるので、データを必ず通常2進数の
形で記憶する必要がある。したがって、レジスタファイ
ル回路310に記憶された冗長2進数データは、演算処
理回路320により通常2進数データに変換された後
に、主記憶装置200に転送される。
【0023】このように、冗長2進数データを通常2進
数データに変換するために余分な時間がかかり、実行速
度が遅くなる。そのため、マイクロプロセッサに冗長2
進数を利用する演算回路を組み込むことは実際には行な
われていない。
【0024】しかし、算術演算を冗長2進数で実行する
ことによりマイクロプロセッサをさらに高速化したいと
いう要求は非常に多いこの発明の目的は、冗長2進数デ
ータから通常2進数データへの変換により生じる実行時
間の増加をなくし、高速な演算処理を可能にすることで
ある。
【0025】
【課題を解決するための手段】第1の発明にかかる半導
体記憶装置は、少なくとも1つの記憶手段、書込手段お
よび読出手段を含む。記憶手段は、冗長2進数データを
記憶するメモリセル、メモリセルに記憶された冗長2進
数データを通常2進数データに変換する変換手段、およ
びメモリセルに記憶された冗長2進数データおよび変換
手段により変換された通常2進数データのいずれか一方
を選択する選択手段を含む。書込手段は、記憶手段のメ
モリセルに通常2進数データまたは冗長2進数データを
書込む。読出手段は、記憶手段の選択手段により選択さ
れたデータを読出す。
【0026】第2の発明にかかる半導体記憶装置は、少
なくとも1つの記憶手段、変換手段、書込手段および読
出手段を含む。記憶手段は、通常2進数データを記憶す
る第1のメモリセルおよび冗長2進数データを記憶する
第2のメモリセルを含む。変換手段は、外部から与えら
れた冗長2進数データを通常2進数データに変換する。
書込手段は、外部から与えられた冗長2進数データおよ
び変換手段により変換された通常2進数データを記憶手
段の第1および第2のメモリセルにそれぞれ書込む。読
出手段は、記憶手段の第1のメモリセルに記憶された通
常2進数データおよび記憶手段の第2のメモリセルに記
憶された冗長2進数データを選択的に読出す。
【0027】
【作用】第1の発明にかかる半導体記憶装置において、
書込手段により記憶手段のメモリセルに冗長2進数デー
タが書込まれると、その冗長2進数データは変換手段に
より通常2進数データに変換される。冗長2進数データ
が必要なときには、メモリセルに記憶された冗長2進数
データが選択手段により選択され、その選択された冗長
2進数データが読出手段により読出される。通常2進数
データが必要なときには、変換手段により変換された通
常2進数データが選択手段により選択され、その選択さ
れた通常2進数データが読出手段により読出される。
【0028】書込手段により記憶手段のメモリセルに通
常2進数データが書込まれた場合には、その通常2進数
データはそのままの形で冗長2進数データとみなすこと
ができる。この場合、メモリセルに記憶されたデータと
変換手段により変換されたデータとは同じ形になってい
る。
【0029】このように、記憶手段に冗長2進数データ
および通常2進数データのいずれが書込まれていても、
必要に応じて、そのデータを冗長2進数データの形で読
出すこともできかつ通常2進数データの形で読出すこと
もできる。
【0030】第2の発明にかかる半導体記憶装置におい
て、外部から冗長2進数データが与えられると、その冗
長2進数データは変換手段により通常2進数データに変
換される。その変換された通常2進数データは書込手段
により記憶手段の第1のメモリセルに書込まれ、冗長2
進数データは書込手段により記憶手段の第2のメモリセ
ルに書込まれる。通常2進数データが必要なときには、
記憶手段の第1のメモリセルに記憶される冗長2進数デ
ータが読出手段により読出される。冗長2進数データが
必要なときには、読出手段により記憶手段の第2のメモ
リセルに記憶される冗長2進数データが読出される。
【0031】外部から通常2進数データが与えられる
と、その通常2進数データはそのままの形で冗長2進数
データとみなすことができる。この場合、記憶手段の第
1のメモリセルに記憶されるデータと記憶手段の第2の
メモリセルに記憶されるデータとは同じ形になってい
る。
【0032】このように、外部から冗長2進数データお
よび通常2進数データのいずれが与えられても、そのデ
ータは冗長2進数データおよび通常2進数データの両方
の形で記憶手段に記憶される。したがって、必要に応じ
て、そのデータを冗長2進数データの形で読出すことも
でき、かつそのデータを通常2進数データの形で読出す
こともできる。
【0033】
【実施例】以下、この発明の実施例を図面を用いて詳細
に説明する。
【0034】図1は、この発明の一実施例による半導体
記憶装置の構成を示すブロック図である。
【0035】半導体記憶装置1は、複数行および複数列
に配列された複数のメモリ回路10、読出/書込回路2
0およびデコーダ・制御回路30を含む。メモリ回路1
0の各列に対応して第1および第2のビット線BL1,
BL2が設けられ、メモリ回路10の各行に対応してワ
ード線WLが設けられる。第1および第2のビット線B
L1,BL2は読出/書込回路20に接続される。各ワ
ード線WLはデコーダ・制御回路30に接続される。メ
モリ回路10の列の数は記憶されるデータDのビット数
に対応する。したがって、メモリ回路10の列の数がn
であるときには、メモリ回路10の各行にnビットのデ
ータが記憶される。
【0036】各メモリ回路10は、対応するワード線W
Lおよび対応する第1および第2のビット線BL1,B
L2に接続されている。各行の各メモリ回路10から出
力される桁上げ信号CRは上位ビットのメモリ回路10
に与えられる。
【0037】読出/書込回路20には外部から通常2進
数データDまたは冗長2進数データDが与えられる。ま
た、読出/書込回路20から半導体記憶装置1の外部に
通常2進数データDまたは冗長2進数データDが出力さ
れる。読出/書込回路20には外部から選択信号SEL
および読出/書込信号RWが与えられる。選択信号SE
Lは、すべてのメモリ回路10にも与えられる。デコー
ダ・制御回路30には、外部からアドレス信号ADが与
えられる。
【0038】図2に、各メモリ回路10の構成が示され
る。メモリ回路10は、データビットメモリセル11、
サインビットメモリセル12、変換回路13および選択
回路14を含む。データビットメモリセル11およびサ
インビットメモリセル12の各々は、1ビットのデータ
を記憶する。
【0039】データビットメモリセル11の入力端子は
対応する第1のビット線BL1に接続されている。デー
タビットメモリセル11の制御端子は対応するワード線
WLに接続されている。サインビットメモリセル12の
入力端子は対応する第2のビット線BL2に接続されて
いる。サインビットメモリセル12の制御端子は対応す
るワード線WLに接続されている。データビットメモリ
セル11の出力端子は変換回路13の一方の入力端子B
および選択回路14の一方の入力端子aに接続されてい
る。サインビットメモリセル12の出力端子は変換回路
13の他方の入力端子Aおよび対応する第2のビット線
BL2に接続されている。
【0040】変換回路13の出力端子Sは選択回路14
の他方の入力端子bに接続されている。選択回路14の
制御端子は対応するワード線WLに接続されている。選
択回路14の出力端子は対応する第1のビット線BL1
に接続されている。選択回路14のセレクト端子saに
は選択信号SELが与えられる。変換回路13は、下位
ビットに対応するメモリ回路内の変換回路から桁上げ入
力端子CIを介して桁上げ信号CRを受け、上位ビット
に対応するメモリ回路内の変換回路に桁上げ出力端子C
Oを介して桁上げ信号CRを与える。
【0041】冗長2進数データは図3に示されるように
サインビットおよびデータビットからなる。冗長2進数
の“−1”はサインビット“1”とデータビット“1”
で表わされる。冗長2進数の“1”はサインビット
“0”およびデータビット“1”で表わされる。冗長2
進数の“0”はデータビット“0”で表わされる。この
場合、データビットが“0”であればサインビットの値
にかかわらず、そのビットは冗長2進数の“0”である
と認識される。
【0042】通常2進数データの各ビットは第1のビッ
ト線BL1に与えられる。冗長2進数データの各桁のデ
ータビットは第1のビット線BL1に与えられ、冗長2
進数データの各桁のサインビットは第2のビット線BL
2に与えられる。データビットメモリセル11は、通常
2進数データの各ビットまたは冗長2進数データの各桁
のデータビットを記憶する。サインビットメモリセル1
2は、冗長2進数データの各桁のサインビットを記憶す
る。データビットメモリセル11に通常2進数データの
各ビットが与えられたときには、サインビットメモリセ
ル12には“0”が与えられる。
【0043】変換回路13は、主として全加算器を含
み、桁上げ信号CR、データビットおよびサインビット
に基づいて、外部からの命令なしに冗長2進数データを
通常2進数データに自動的に変換する。図1に示される
1行に相当する複数の変換回路13が、n桁の冗長2進
数データを上述した方法で通常2進数データに変換す
る。すなわち、1行に相当するn個の変換回路13は、
与えられた冗長2進数データから2種類の通常2進数デ
ータを作成し、それらの通常2進数データを全加算器で
加算することにより、与えられた冗長2進数データを通
常2進数データに変換する。
【0044】図4に、変換回路13の詳細な構成を示
す。変換回路13は、NチャネルMOSトランジスタT
1〜T6およびインバータG1〜G7を含む。入力端子
Aはサインビットメモリセル12からサインビットを受
け、入力端子Bはデータビットメモリセル11からデー
タビットを受ける。桁上げ入力端子CIは下位ビットに
対応するメモリ回路内の変換回路から桁上げ信号CRを
受ける。出力端子Sから変換結果が出力される。桁上げ
出力端子COから上位ビットに対応するメモリ回路内の
変換回路に与えられるべき桁上げ信号CRが出力され
る。
【0045】入力端子Bに与えられるデータビットが
“1”のときには、トランジスタT1がオンする。入力
端子Aに与えられるサインビットが“1”のときには、
トランジスタT3,T6がオンする。それにより、出力
端子Sからは、桁上げ入力端子CIに与えられる桁上げ
信号CRの反転信号が出力される。桁上げ出力端子CO
からは、入力端子Bに与えられるデータビット“1”が
出力される。
【0046】入力端子Aに与えられるサインビットが
“0”のときには、トランジスタT4,T5がオンす
る。それにより、出力端子Sからは、桁上げ入力端子C
Iに与えられる桁上げ信号CRが出力される。桁上げ出
力端子COからも、桁上げ入力端子CIに与えられる桁
上げ信号CRが出力される。
【0047】入力端子Bに与えられるデータビットが
“0”のとき、トランジスタT2がオンする。入力端子
Aに与えられるサインビットが“1”のとき、トランジ
スタT4,T5がオンする。それにより、出力端子Sか
らは、桁上げ入力端子CIに与えられる桁上げ信号CR
が出力される。桁上げ出力端子COからも、桁上げ入力
端子CIに与えられる桁上げ信号CRが出力される。
【0048】入力端子Aに与えられるサインビットが
“0”のとき、トランジスタT3,T6がオンする。そ
れにより、出力端子Sからは、桁上げ入力端子CIに与
えられる桁上げ信号CRの反転信号が出力される。桁上
げ出力端子COからは、入力端子Bに与えられるデータ
ビット“0”が出力される。
【0049】図5に、選択回路14の構成を示す。選択
回路14は、インバータG8,ANDゲートG9,G1
0およびORゲートG11を含む。入力端子aはデータ
ビットメモリセル11の出力を受け、入力端子bは変換
回路13の出力を受ける。セレクト端子saは選択信号
SELを受ける。出力端子oはビット線BL1に接続さ
れる。図5においては、制御端子は省略されている。
【0050】選択信号SELが“1”のとき、入力端子
aに与えられる信号が出力端子oから出力される。選択
信号SELが“0”のとき、入力端子bに与えられる信
号が出力端子oから出力される。
【0051】次に、図1および図2を参照しながら、こ
の実施例の半導体記憶装置1の動作を説明する。
【0052】読出/書込信号RWにより、データの読出
動作または書込動作が選択される。冗長2進数データの
書込時には、外部からnビットの冗長2進数データDが
読出/書込回路20に入力される。読出/書込回路20
はその冗長2進数データの各桁のデータビットを第1の
ビット線BL1に与え、冗長2進数データの各桁のサイ
ンビットを第2のビット線BL2に与える。
【0053】一方、デコーダ・制御回路30は、外部か
ら与えられるアドレス信号ADに応答して、複数のワー
ド線WLのうち1つを選択する。それにより、選択され
たワード線WLに接続されるn個のメモリ回路10が選
択される。その結果、選択された各メモリ回路10内の
データビットメモリセル11およびサインビットメモリ
セル12が活性状態になる(図2参照)。それにより、
対応する第1のビット線BL1上のデータビットがデー
タビットメモリセル11に書込まれるとともに、そのデ
ータビットがデータビットメモリセル11から出力され
る。また、対応する第2のビット線BL2上のサインビ
ットがサインビットメモリセル12に書込まれるととも
に、そのサインビットがサインビットメモリセル12か
ら出力される。
【0054】選択された1行に相当する変換回路13が
データビットおよびサインビットに基づいて冗長2進数
データを通常2進数データに変換する。各変換回路13
は変換された通常2進数データの対応するビットを保持
するとともにそれを選択回路14に出力する。
【0055】上記のようにして、選択された1行のメモ
リ回路10内のデータビットメモリセル11およびサイ
ンビットメモリセル12に冗長2進数データが記憶さ
れ、選択された1行のメモリ回路10内の変換回路13
に通常2進数データが記憶される。
【0056】通常2進数データの書込時にも、同様の動
作が行なわれる。この場合、各メモリ回路10のデータ
ビットメモリセル11には通常2進数データの1ビット
が書込まれ、サインビットメモリセル12には“0”が
書込まれる。通常2進数データはそのままの形で冗長2
進数データになるので、通常2進数データから冗長2進
数データへの変換のために特別な処理や変換時間は必要
ない。
【0057】データの読出時には、読出/書込信号によ
り読出動作が選択される。デコーダ・制御回路30は、
外部から与えられるアドレス信号ADに応答して複数の
ワード線WLのうち1つを選択する。それにより、選択
されたワード線WLに接続されるn個のメモリ回路10
が選択される。その結果、選択された各メモリ回路10
内のデータビットメモリセル11、サインビットメモリ
セル12および選択回路14が活性状態になる。外部か
ら与えられる選択信号SELにより通常2進数データま
たは冗長2進数データが選択される。
【0058】通常2進数データの読出時には、選択回路
14が変換回路13の出力を対応する第1のビット線B
L1に与える。その結果、複数の第1のビット線BL1
上に通常2進数データが読出される。読出/書込回路2
0は、複数の第1のビット線BL1上の通常2進数デー
タを半導体記憶装置1の外部に出力する。
【0059】冗長2進数データの読出時には、選択回路
14がデータビットメモリセル11の出力を対応する第
1のビット線BL1に与える。また、サインビットメモ
リセル12の出力が対応する第2のビット線BL2に与
えられる。その結果、複数の第1および第2のビット線
BL1,BL2上に冗長2進数データが読出される。読
出/書込回路20は、複数の第1および第2のビット線
BL1,BL2上の冗長2進数データを半導体記憶装置
1の外部に出力する。
【0060】このように、上記実施例の半導体記憶装置
においては、外部から通常2進数データおよび冗長2進
数データのいずれが与えられても、そのデータは通常2
進数データおよび冗長2進数データの形で記憶される。
したがって、必要に応じて、記憶されたデータを通常2
進数データの形で読出すこともできかつ冗長2進数デー
タの形で読出すこともできる。
【0061】図6は、上記実施例の半導体記憶装置を用
いたマイクロプロセッサの構成を示すブロック図であ
る。マイクロプロセッサ100は第1の演算処理回路1
10、第2の演算処理回路120、レジスタファイル回
路130、コントローラ140および入出力インターフ
ェース回路150を含む。第1の演算処理回路110、
第2の演算処理回路120、レジスタファイル回路13
0および入出力インターフェース150は第1のデータ
バスDB1に接続されている。第2の演算処理回路12
0およびレジスタファイル回路130は第2のデータバ
スDB2にも接続されている。第1のデータバスDB1
は通常2進数データのためのデータバスであり、第2の
データバスDB2は冗長2進数データのためのデータバ
スである。入出力インターフェース回路150には主記
憶装置200が接続されている。
【0062】第1の演算処理回路110は通常2進数デ
ータを用いて論理演算を実行する。第2の演算処理回路
120は冗長2進数データを用いて算術演算を実行す
る。レジスタファイル回路130として、上記実施例の
半導体記憶装置1が用いられる。コントローラ140
は、このマイクロプロセッサ100の各回路の動作を制
御する。入出力インターフェース回路150は、このマ
イクロプロセッサ100の内部の各回路と外部装置との
間のインターフェース制御を行なう。
【0063】次に、図6のマイクロプロセッサ100の
動作を説明する。コントローラ140の指示により主記
憶装置200に記憶される通常2進数データのうち必要
な通常2進数データが入出力インターフェース回路15
0に取込まれる。その通常2進数データは、コントロー
ラ140の制御により第1のデータバスDB1を介して
レジスタファイル回路130に転送される。レジスタフ
ァイル回路130には、データが通常2進数データの形
および冗長2進数データの形で記憶される。
【0064】論理演算の実行時には、必要とする通常2
進数データがレジスタファイル回路130から第1のデ
ータバスDB1を介して第1の演算処理回路110に転
送される。第1の演算処理回路110から演算結果とし
て出力された通常2進数データは第1のデータバスDB
1を介してレジスタファイル回路130に転送される。
【0065】算術演算の実行時には、必要とする冗長2
進数データがレジスタファイル回路130から第2のデ
ータバスDB2を介して第2の演算処理回路120に転
送される。第2の演算処理回路120から演算結果とし
て出力された冗長2進数データは、第2のデータバスD
B2を介してレジスタファイル回路130に転送され
る。レジスタファイル回路130は、その冗長2進数デ
ータを通常2進数データに変換し、それらの冗長2進数
データおよび通常2進数データを記憶する。
【0066】レジスタファイル回路130に記憶された
通常2進数データは、必要に応じて、第1のデータバス
DB1および入出力インターフェース回路150を介し
て外部の主記憶装置200に転送される。上記の転送制
御は、コントローラ140が行なう。
【0067】通常2進数データは冗長2進数データとみ
なすこともできるので、第2の演算処理回路120は、
主記憶装置200から入出力インターフェース回路15
0および第1のデータバスDB1を介して直接通常2進
数データを受けとり、その通常2進数データを用いて算
術演算を実行することもできる。
【0068】図6のマイクロプロセッサ100において
は、第1および第2の演算処理回路110,120が通
常2進数データと冗長2進数データとの間の相互変換を
行なうことなく、第2の演算処理回路120が冗長2進
数データを用いた算術演算を実行することができるの
で、実行速度の高速化が図られる。
【0069】図7は、この発明の他の実施例による半導
体記憶装置の構成を示すブロック図である。
【0070】図7の半導体記憶装置1aは複数行および
複数列に配列された複数のメモリ回路10a、読出/書
込・変換回路20aおよびデコーダ・制御回路30を含
む。メモリ回路10aの各列に対応して第1、第2およ
び第3のビット線BL1,BL2,BL3が設けられて
いる。メモリ回路10aの各行に対応してワード線WL
が設けられている。
【0071】各列の第1、第2および第3のビット線B
L1,BL2,BL3は読出/書込・変換回路20aに
接続されている。各列のワード線WLはデコーダ・制御
回路30に接続されている。読出/書込・変換回路20
aには外部から選択信号SEL1および読出/書込信号
RWが与えられる。デコーダ・制御回路30には外部か
らアドレス信号ADが与えられる。
【0072】図8に、各メモリ回路10aの構成を示
す。メモリ回路10aは、第1のメモリセル21、第2
のメモリセル22および第3のメモリセル23を含む。
第1のメモリセル21は対応する第1のビット線BL1
に接続され、第2のメモリセル22は対応する第2のビ
ット線BL2に接続され、第3のメモリセル23は対応
する第3のビット線BL3に接続されている。また、第
1のメモリセル21、第2のメモリセル22および第3
のメモリセル23の制御端子は対応するワード線WLに
接続されている。第1、第2および第3のメモリセル2
1,22,23の各々は、1ビットのデータを記憶す
る。
【0073】第1のビット線BL1には通常2進数デー
タの各ビットが与えられる。第2のビット線BL2には
冗長2進数データの各桁のサインビットが与えられる。
第3のビット線BL3には冗長2進数データの各桁のデ
ータビットが与えられる。第1のメモリセル21は通常
2進数データの1ビットを記憶し、第2のメモリセル2
2は冗長2進数データの1つの桁のサインビットを記憶
し、第3のメモリセル23は冗長2進数データの1つの
桁のデータビットを記憶する。
【0074】図9に、読出/書込・変換回路20aの構
成を示す。図9には、1ビットに相当する回路部分20
0のみが示される。実際には、読出/書込・変換回路2
0aは、複数ビットに対応して、図9に示される構成を
有する複数の回路部分200を含む。
【0075】回路部分200は、変換回路13、選択回
路14a,14b、NチャネルMOSトランジスタT
7,T8およびインバータG12を含む。入出力端子D
Bはデータビットを受け、入出力端子SBはサインビッ
トを受ける。入力端子RWIは読出/書込信号RWを受
ける。桁上げ入力端子CIは下位ビットに相当する回路
部分から桁上げ信号CRを受ける。桁上げ出力端子CO
から出力される桁上げ信号CRは、上位ビットに相当す
る回路部分に与えられる。
【0076】選択回路14aのセレクト端子saは、書
込のための選択信号SEL1を受ける。選択回路14b
のセレクト端子saは、読出のための選択信号SEL2
を受ける。選択回路14aの出力端子soおよび選択回
路14bの入力端子bは、ビット線BL1に接続され
る。変換回路13の入力端子Aは、ビット線BL2に接
続される。変換回路13の入力端子Bは、ビット線BL
3に接続される。
【0077】読出/書込信号RWが“1”のときには、
読出動作が行なわれる。このとき、トランジスタT7が
オフし、トランジスタT8がオンする。選択回路14b
は、選択信号SEL2に応答して、ビット線BL1に読
出された通常2進数データのビットおよびビット線BL
3に読出された冗長2進数データのデータビットのうち
一方を選択し、それを入出力端子DBに与える。入出力
端子SBには、ビット線BL2に読出されたサインビッ
トが与えられる。
【0078】読出/書込信号RWが“0”のときには、
書込動作が行なわれる。このとき、トランジスタT7が
オンし、トランジスタT8がオフする。それにより、入
出力端子DBに与えられた通常2進数データのビットま
たは冗長2進数データのデータビットが、ビット線BL
3、変換回路13の入力端子Bおよび選択回路14aの
入力端子aに与えられる。入出力端子SBに与えられる
冗長2進数データのサインビットは、ビット線BL2お
よび変換回路13の入力端子Aに与えられる。
【0079】選択回路14aは、選択信号SEL1に応
答して、入力端子aに与えられる通常2進数データのビ
ットまたは冗長2進数データのデータビットおよび入力
端子bに与えられる変換回路13の出力信号のうち一方
を選択し、それをビット線BL1に与える。
【0080】次に、図7および図8を参照しながらこの
実施例の半導体記憶装置1aの動作を説明する。
【0081】冗長2進数データの書込時には、読出/書
込信号RWおよび選択信号SEL1により冗長2進数デ
ータの書込動作が選択される。それにより、読出/書込
・変換回路20aは、外部から与えられる冗長2進数デ
ータDを通常2進数データに変換する。さらに、読出/
書込・変換回路20aは、変換された通常2進数データ
の各ビットを各第1のビット線BL1に与え、外部から
与えられた冗長2進数データの各桁のサインビットを各
第2のビット線BL2に与え、外部から与えられた冗長
2進数データの各桁のデータビットを各第3のビット線
BL3に与える。
【0082】一方、デコーダ・制御回路30は、外部か
ら与えられるアドレス信号ADに応答して複数のワード
線WLのうち1つを選択する。それにより、選択された
ワード線WLに接続される各メモリセル10a内の第
1、第2および第3のメモリセル21,22,23が活
性状態なる。その結果、複数の第1のビット線BL1上
の通常2進数データが1行のメモリ回路10a内の第1
のメモリセル21に書込まれる。また、複数の第2のビ
ット線BL2上の冗長2進数データのサインビットが1
行のメモリ回路10a内の第2のメモリセル22に書込
まれ、複数の第3のビット線BL3上の冗長2進数デー
タのデータビットが1行のメモリ回路10a内の第3の
メモリセル23に書込まれる。
【0083】通常2進数データの書込時には、外部から
与えられる読出/書込信号RWおよび選択信号SEL1
により通常2進数データの書込動作が選択される。この
場合、読出/書込・変換回路20aは、外部から与えら
れた通常2進数データの各ビットを各第1のビット線B
L1および各第3のビット線BL3に与えるとともに、
“0”を各第2のビット線BL2に与える。
【0084】一方、デコーダ・制御回路30は、外部か
ら与えられるアドレス信号ADに応答して複数のワード
線WLのうち1つを選択する。それにより、選択された
ワード線WLに接続された各メモリセル10a内の第
1、第2および第3のメモリセル21,22,23が活
性状態になる。その結果、複数の第1および第3のビッ
ト線BL1,BL3上の通常2進数データが1行のメモ
リ回路10a内の第1のメモリセル21および第3のメ
モリセル23に書込まれ、第2のメモリセル22に
“0”が書込まれる。
【0085】冗長2進数データの読出時には、読出/書
込信号RWおよび選択信号SEL1により冗長2進数デ
ータの読出動作が選択される。この場合にも、デコーダ
・制御回路30により1つのワード線WLが選択され、
その選択されたワード線WLに接続された各メモリ回路
10a内の第1、第2および第3のメモリセル21,2
2,23が活性状態になる。その結果、各第1のメモリ
セル21に記憶された通常2進数データの各ビットが対
応する第1のビット線BL1に読出される。また、各第
2のメモリセル22に記憶された冗長2進数データの各
桁のサインビットが対応する第2のビット線BL2に読
出され、各第3のメモリセル23に記憶された冗長2進
数データの各桁のデータビットが対応する第3のビット
線BL3に読出される。この場合、読出/書込・変換回
路20aは、複数の第2および第3のビット線BL2,
BL3上の冗長2進数データを外部に出力する。
【0086】通常2進数データの読出時には、読出/書
込信号RWおよび選択信号SEL1により通常2進数デ
ータの読出動作が選択される。この場合も、上記と同様
にして、各第1のビット線BL1に通常2進数データの
各ビットが読出され、各第2のビット線BL2に冗長2
進数データの各桁のサインビットが読出され、各第3の
ビット線BL3に冗長2進数データの各桁のデータビッ
トが読出される。この場合、読出/書込・変換回路20
aは、複数の第1のビット線BL1上の通常2進数デー
タを外部に出力する。
【0087】この実施例では、各メモリ回路10aが変
換回路を含まず、半導体記憶装置1a内に1つの変換回
路のみが設けられているので、回路規模が小さくなる。
【0088】この実施例においても、通常2進数データ
および冗長2進数データのいずれが書込まれても、その
データが通常2進数データおよび冗長2進数データの両
方の形で記憶される。したがって、この実施例の半導体
記憶装置1aを図6に示されるマイクロプロセッサ10
0のレジスタファイル回路130として用いると、高速
な演算処理が可能となる。
【0089】
【発明の効果】以上のように第1および第2の発明によ
れば、データの書込時に、そのデータが通常2進数およ
び冗長2進数の両方の形で記憶されるので、データの読
出時に、必要な形のデータをただちに読出すことができ
る。したがって、このデータを利用する他の回路におい
て通常2進数データと冗長2進数データとの間の相互変
換の処理を行なう必要がない。その結果、第1および第
2の発明に係る半導体記憶装置を用いれば高速処理が可
能な半導体集積回路装置を得ることができる。
【図面の簡単な説明】
【図1】この発明の一実施例による半導体記憶装置の構
成を示すブロック図である。
【図2】同実施例の半導体記憶装置に含まれるメモリ回
路の構成を示すブロック図である。
【図3】冗長2進数データの表現方法の一例を示す図で
ある。
【図4】変換回路の構成を示す回路図である。
【図5】選択回路の構成を示す回路図である。
【図6】同実施例の半導体記憶装置を利用したマイクロ
プロセッサの構成を示すブロック図である。
【図7】この発明の他の実施例による半導体記憶装置の
構成を示すブロック図である。
【図8】図7の実施例の半導体記憶装置に含まれるメモ
リ回路の構成を示すブロック図である。
【図9】読出/書込・変換回路の構成を示す図である。
【図10】通常2進数を用いた加算の一例を示す図であ
る。
【図11】冗長2進数を用いた加算の一例を示す図であ
る。
【図12】従来のマイクロプロセッサの実行部の構成を
示すブロック図である。
【符号の説明】
1…半導体記憶装置 10…メモリ回路 11…データビットメモリセル 12…サインビットメモリセル 13…変換回路 14…選択回路 20…読出/書込回路 30…デコーダ・制御回路 BL1…第1のビット線 BL2…第2のビット線 WL…ワード線 なお、各図中同一符号は同一または相当部分を示す。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 冗長2進数データを記憶するメモリセル
    と、前記メモリセルに記憶された冗長2進数データを通
    常2進数データに変換する変換手段と、前記メモリセル
    に記憶された冗長2進数データおよび前記変換手段によ
    り変換された通常2進数データのいずれか一方を選択す
    る選択手段とを含む少なくとも1つの記憶手段、 前記記憶手段の前記メモリセルに通常2進数データまた
    は冗長2進数データを書込む書込手段、および前記記憶
    手段の前記選択手段により選択されたデータを読出す読
    出手段を備えた、半導体記憶装置。
  2. 【請求項2】 通常2進数データを記憶する第1のメモ
    リセルと、冗長2進数データを記憶する第2のメモリセ
    ルとを含む少なくとも1つの記憶手段、 外部から与えられた冗長2進数データを通常2進数デー
    タに変換する変換手段、 前記外部から与えられた冗長2進数データおよび前記変
    換手段により変換された通常2進数データを前記記憶手
    段の前記第1および第2のメモリセルにそれぞれ書込む
    書込手段、および前記記憶手段の前記第1のメモリセル
    に記憶された通常2進数データおよび前記記憶手段の前
    記第2のメモリセルに記憶された冗長2進数データを選
    択的に読出す読出手段を備えた、半導体記憶装置。
JP4008618A 1991-02-19 1992-01-21 半導体記憶装置 Expired - Lifetime JP3011300B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP4008618A JP3011300B2 (ja) 1991-02-19 1992-01-21 半導体記憶装置
US07/832,570 US5323347A (en) 1991-02-19 1992-02-07 Semiconductor memory device storing two types of binary number data and method of operating the same
DE4204448A DE4204448C2 (de) 1991-02-19 1992-02-14 Halbleiterspeichereinrichtung zum Speichern von zwei Arten binärer Zahlen, Verwendung einer Halbleiterspeichereinrichtung und Betriebsverfahren dafür

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2473291 1991-02-19
JP3-24732 1991-02-19
JP4008618A JP3011300B2 (ja) 1991-02-19 1992-01-21 半導体記憶装置

Publications (2)

Publication Number Publication Date
JPH0546361A true JPH0546361A (ja) 1993-02-26
JP3011300B2 JP3011300B2 (ja) 2000-02-21

Family

ID=26343177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4008618A Expired - Lifetime JP3011300B2 (ja) 1991-02-19 1992-01-21 半導体記憶装置

Country Status (3)

Country Link
US (1) US5323347A (ja)
JP (1) JP3011300B2 (ja)
DE (1) DE4204448C2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1714294B1 (en) * 2004-02-10 2016-04-20 Semiconductor Energy Laboratory Co., Ltd. Nonvolatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01178198A (ja) * 1988-01-08 1989-07-14 Nec Corp メモリ集積回路
JPH01255032A (ja) * 1988-04-05 1989-10-11 Matsushita Electric Ind Co Ltd 演算処理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4878192A (en) * 1986-07-11 1989-10-31 Matsushita Electric Industrial Co. Ltd. Arithmetic processor and divider using redundant signed digit arithmetic
US4864528A (en) * 1986-07-18 1989-09-05 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and multiplier using redundant signed digit arithmetic
JPH0716163B2 (ja) * 1988-12-02 1995-02-22 三菱電機株式会社 冗長2進d/a変換器およびそれを用いた冗長2進信号処理装置
US4970690A (en) * 1989-07-31 1990-11-13 Atari Games Corporation Memory cell arrangement supporting bit-serial arithmetic
US5150321A (en) * 1990-12-24 1992-09-22 Allied-Signal Inc. Apparatus for performing serial binary multiplication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01178198A (ja) * 1988-01-08 1989-07-14 Nec Corp メモリ集積回路
JPH01255032A (ja) * 1988-04-05 1989-10-11 Matsushita Electric Ind Co Ltd 演算処理装置

Also Published As

Publication number Publication date
JP3011300B2 (ja) 2000-02-21
DE4204448C2 (de) 1996-01-25
US5323347A (en) 1994-06-21
DE4204448A1 (de) 1992-08-20

Similar Documents

Publication Publication Date Title
US6480931B1 (en) Content addressable storage apparatus and register mapper architecture
JPH11203860A (ja) 半導体記憶装置
US4833602A (en) Signal generator using modulo means
CN113157248A (zh) 存内处理(pim)系统和pim系统的操作方法
JPH07175712A (ja) メモリ装置
US5047972A (en) Digital signal processor with memory having data shift function
JPH06274528A (ja) ベクトル演算処理装置
JP3011300B2 (ja) 半導体記憶装置
JPH0413735B2 (ja)
KR910001708B1 (ko) 중앙처리장치
US20230420035A1 (en) In-memory computing circuit and method, and semiconductor memory
JPH07114794A (ja) 半導体記憶装置
WO2023245757A1 (zh) 一种存内计算电路、方法以及半导体存储器
US20230153067A1 (en) In-memory computing method and circuit, semiconductor memory, and memory structure
JP3174160B2 (ja) アドレス変換バッファ
KR100290545B1 (ko) 메모리어레이,메모리소자및정보처리방법
JP2788765B2 (ja) 半導体記憶装置
JP2573711B2 (ja) マイクロサブルーチン制御方式
US6874068B1 (en) Shared memory
JPS6058503B2 (ja) デ−タ処理制御方式
JP3451640B2 (ja) Simd計算機
JP2693629B2 (ja) レジスタファイル
JP2001043671A (ja) 半導体装置
JP2616714B2 (ja) 半導体記憶装置
JP2517126B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970819