JPH1021690A - ダイナミック連想アクセスメモリー - Google Patents

ダイナミック連想アクセスメモリー

Info

Publication number
JPH1021690A
JPH1021690A JP8171439A JP17143996A JPH1021690A JP H1021690 A JPH1021690 A JP H1021690A JP 8171439 A JP8171439 A JP 8171439A JP 17143996 A JP17143996 A JP 17143996A JP H1021690 A JPH1021690 A JP H1021690A
Authority
JP
Japan
Prior art keywords
data
bit
memory
word
sense amplifier
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.)
Withdrawn
Application number
JP8171439A
Other languages
English (en)
Inventor
Yutaka Takahashi
豊 高橋
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.)
ALPS LSI TECHNOL KK
Original Assignee
ALPS LSI TECHNOL KK
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 ALPS LSI TECHNOL KK filed Critical ALPS LSI TECHNOL KK
Priority to JP8171439A priority Critical patent/JPH1021690A/ja
Publication of JPH1021690A publication Critical patent/JPH1021690A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/043Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using capacitive charge storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

(57)【要約】 【課題】 メモリー内部で実行する演算をパイプライン
処理でき、少ないチップ面積で構成可能なダイナミック
連想アクセスメモリーを提供する。 【解決手段】 ワードセル内のビットは、上半分に奇数
ビット,下半分に偶数ビットが、左半分に高位ニブル,
右半分に低位ニブルが配置される。演算を行う場合、両
オペランドの低位ニブルが内部センスアンプ33に取り
込まれ、コンパレータ35が各オペランドを信号mE,
mO上にビット単位に抽出すると、ワードセルロジック
40で演算が行われて結果が内部センスアンプ33へ戻
される。低位ニブルの演算が終わると、引き続き高位ニ
ブルの演算が行われ、これと並行して、低位ニブルの内
部センスアンプ33からメモリーアレイへの結果の書き
込みと、次のバイトの低位ニブルの内部センスアンプ3
3への読み出しがなされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、DRAM(Dynami
c Random Access Memory)やSRAM(StaticRandom A
ccess Memory)といった各種のメモリー内に、演算回路
を有するワードセルを構成して連想メモリーを実現した
ダイナミック連想アクセスメモリーに関するものであ
り、とりわけ、ワードセル内に設けられたセンスアンプ
のビット配置に工夫を施して演算回路が実行する処理の
パイプライン化を図ったダイナミック連想アクセスメモ
リーに関するものである。
【0002】
【従来の技術】良く知られているように、DRAMはメ
モリーセルに対して定期的なリフレッシュ動作を必要と
する大容量メモリーであって、近年は、こうしたDRA
M内部に、リフレッシュを管理するためのリフレッシュ
制御回路を組み込んだものなども存在している。
【0003】一方、このようなDRAMを発展させたも
のとして、リフレッシュ制御回路を設けたのに加え、論
理演算を行うためのロジックをDRAM内部に組み込
み、リフレッシュを行いながらDRAMを構成する各ワ
ードセルに対して種々の演算を行うSIMD(Single I
nstruction stream Multiple Data Stream)プロセッサ
に類似したDRAMの研究がなされている。このような
DRAMを特にダイナミック連想アクセスメモリー(Dy
namic Associative Access Memory; 以下、DAAMと
略称する)と称している。DAAMに関する文献として
は、例えば米国特許4,989,180号や米国特許
5,184,325号などが挙げられるが、DAAMの
詳細な構成については、本発明の説明と併せて詳述する
こととする。
【0004】
【発明が解決しようとする課題】ところで、上記文献に
記載されたようなDAAMでは、ロジック回路が組み込
まれたワードセルと呼ばれるブロックが多数集合して構
成されている。ここで、従来のDAAMにおける1ワー
ド分のワードセルの構成は、図9に示すようになってい
る。図中、右上の点線で囲んだ部分が1ビット分のカラ
ムセル100に相当し、これと同じもの8ビット分が1
個のワードセルに含まれる。
【0005】また、ワードセル内には、多数のメモリー
セルから成るメモリーサブアレイ101と、メモリーサ
ブアレイ101からのデータを取り込むセンスアンプ1
02がビット対応に設けられている。そして、これらセ
ンスアンプ102は、図の中央部分で互いにワイヤード
オアされ、同図の左側に配されたロジック回路へ接続さ
れる。
【0006】ここで、同図には明示されていないが、従
来のDAAMにおいては、ワードセル内のカラムセル1
00のビット配置は、図の下半分が右から順にビット
0,1,2,3に割り当てられ、図の上半分が右から順
にビット4,5,6,7が割り当てられている。そし
て、通常のDRAMと同様に、DAAM外部から与えら
れたロウアドレスに従ってメモリーサブアレイ101を
アクセスし、読み出された8ビットのデータをまとめて
センスアンプ102へ取り込み、取り込まれた8ビット
のデータをもとに演算回路を用いて様々な演算を行うよ
うになっている。
【0007】以上のように、従来のDAAMでは、図の
上側のニブル(4ビット)と下側のニブルの何れもが同
一ロウアドレスに対応するように構成されており、同一
ロウアドレスの8ビットがまとめれらて読み出し或いは
書き込みがなされる。ところが、ワードセルを上記のよ
うに構成すると、1ワード分のデータを全て読み出した
のち、演算を行い、その後に得られた演算結果をメモリ
ーサブアレイ101へ書き戻すという過程を辿ることか
ら、これら読み出し,演算,書き込みの各処理を逐次的
にしか実行できず、処理速度の向上を図ることが困難で
あった。
【0008】さらに、上記のようなビット配置を現実に
チップ上で実現しようとした場合、チップが幅方向に大
きくなってしまうなどデメリットが多く、したがって、
理論上は実現できるとしても、現実にウェハー上に実装
しようとした場合に、ロジック自体をチップ内へ組み込
むことが困難であった。本発明は上記の点に鑑みてなさ
れたものであり、その目的は、内部で実行する論理演算
などをパイプライン処理でき、しかも、少ないチップ面
積で構成することが可能なダイナミック連想アクセスメ
モリーを提供することにある。
【0009】
【課題を解決するための手段】以上の課題を解決するた
めに、請求項1記載の発明は、メモリーアレイと演算手
段とを有するワードセルが複数設けられてなるダイナミ
ック連想アクセスメモリーであって、前記各メモリーア
レイが複数のメモリーブロックに分割され、前記各メモ
リーブロックに対するアクセス動作と前記各メモリーブ
ロックに格納されているデータを用いた演算処理とを、
前記メモリーブロック毎に独立かつ並行に処理可能とし
たことを特徴としている。
【0010】また、請求項2記載の発明は、それぞれが
独立に演算を実行することの可能なワードセルを複数設
けてなるダイナミック連想アクセスメモリーであって、
前記ワードセルの各々が、複数のメモリーブロックに分
割されたメモリーアレイと、前記何れかのメモリーブロ
ックから読み出されるデータに所定の演算を施す演算手
段と、前記メモリーアレイ内のデータを前記何れかのメ
モリーブロックから読み出すと共に、前記演算手段が算
出した演算結果を前記何れかのメモリーブロックへ書き
込むアクセス手段と、前記読み出し動作及び前記書き込
み動作と、前記演算処理とが独立かつ並行して処理され
るように制御する制御手段とを具備することを特徴とし
ている。
【0011】また、請求項3記載の発明は、請求項2記
載の発明において、前記各メモリーブロックは、さら
に、上位バンクと下位バンクの2つのバンクに分割さ
れ、前記演算手段は、前記上位バンクに格納されている
データと、前記下位バンクに格納されているデータのう
ち、少なくとも何れかのデータを用いて前記演算を行う
ことを特徴としている。
【0012】また、請求項4記載の発明は、請求項1乃
至3の何れかの項記載の発明において、前記メモリーア
レイは、前記各ワードセルのワードを構成する上位のニ
ブルに対応するメモリーブロックと、前記各ワードセル
のワードを構成する下位のニブルに対応する2つのメモ
リーブロックからなることを特徴としている。また、請
求項5記載の発明は、請求項4記載の発明において、前
記各ニブルは、さらに、奇数ビット群と偶数ビット群に
分割され、前記演算手段は、前記奇数ビット群および前
記偶数ビット群の各ビット群から何れかのビットを選択
し、各ビット群から選択されたビットのうち少なくとも
何れかのビットを用いて前記演算を行うことを特徴とし
ている。
【0013】また、請求項6記載の発明は、請求項3乃
至5の何れかの項記載の発明において、前記上位バンク
に格納されている前記演算の第1オペランドと前記下位
バンクに格納されている前記演算の第2オペランドの各
オペランドにおけるバイト内のビットが、互いに、隣接
する奇数ビットと偶数ビットとを入れ替えた配列に構成
されていることを特徴としている。
【0014】また、請求項7記載の発明は、請求項3乃
至6の何れかの項記載の発明において、前記アクセス手
段は、前記ワードを構成する各ビット及び前記各バンク
に対応して設けられ、前記メモリーアレイのデータをセ
ンスするセンスアンプと、前記各センスアンプに対応し
て設けられ、対応するセンスアンプを介して前記メモリ
ーアレイから読み出されるデータを保持すると共に、対
応するセンスアンプを介して前記メモリーアレイへ書き
込むべきデータを保持する内部センスアンプとを有し、
前記演算手段は、前記各内部センスアンプに保持されて
いるデータを用いて前記演算を行うことを特徴としてい
る。
【0015】
【発明の実施の形態】以下、図面を参照して本発明の一
実施形態について説明する。先に説明したように、本発
明に係るDAAMは、通常のDRAMやSRAM等の各
種メモリーの内部に論理演算を行うロジック回路を組み
込んだワードセルを多数構成して成るものであって、デ
ータベース記憶システムなどに好適なメモリーデバイス
である。本発明では、主としてDAAM内のワードセル
部分に特徴があるが、そのためにはDAAMの動作概要
を理解しておくことが好ましいものと考えられる。そこ
でまず、DAAMのワードセル群を制御する周辺回路に
ついて説明を行うこととする。なお、以下の説明ではD
AAMをDRAMに組み込んだものとして説明するが、
SRAM等のその他のメモリーと組み合わせても何ら問
題ない。
【0016】図2は本実施形態によるDAAMの構成を
示すブロック図である。この図に示すように、DAAM
は、その外部に設けられたホストコンピュータ1から送
出される命令に従って動作し、ホストコンピュータ1か
ら見た場合、DAAMはコプロセッサとして機能する。
そして、ホストコンピュータ1とDAAMの組み合わせ
によって一種のSIMDプロセッサの如く動作する。な
お、DAAMはホストコンピュータ1側から送られてく
るクロックmclkを基準としたマイクロサイクルと呼
ばれる周期で動作する。
【0017】命令に加えて、ホストコンピュータ1から
は当該命令に関連したアドレスやデータが与えられる。
これら命令,アドレス,データは、何れもホストコンピ
ュータ1とDAAMとの間を接続するインターフェイス
バスを介して送られる。このインターフェイスバスのバ
ス幅は例えば16ビットからなり、命令,アドレス,デ
ータがインターフェイスバスを介して順次送出される。
一方、DAAM側に設けられた制御回路2は、インター
フェイスバスに載せられた情報が命令,アドレス,デー
タの何れかであるかを識別して、後段の各部への振り分
けを行う。すなわち、命令であれば命令デコーダ3へ送
出し、アドレスであれば当該アドレスをadrsバスへ
載せ、データであれば当該データをdata,data
xバスへ載せるようにする。ここで、通常、datax
バスにはdataバスの内容を反転した値が乗せられる
が、実際には、命令或いは演算の種類に応じてdata
バスとdataxバスに乗せられる内容は様々である。
なお、この場合のように、ある信号名の後ろに”x”が
付与された信号名は、元の信号の反転信号を意味してお
り、以後の説明でも同様の記法を用いることとする。
【0018】命令デコーダ3はいわゆるステートマシン
で構成されており、制御回路2から与えられる命令を解
読して、後述するアドレス制御部4以下の各部を制御す
る。例えば命令デコーダ3は、後述するメモリー制御部
7に対して、 ワード線をアクティブにするための信号w_wdln DRAMのセンスアンプに電源を供給する指示を行う
信号w_saon DRAMのビット線をプリチャージする指示を行う信
号w_pcg を出力する。
【0019】アドレス制御部4は、制御回路2からのa
drsバス上のアドレスを使用し、命令デコーダ3の制
御の下に、ワードセルブロック20に対するアドレスと
してアドレスw_addr[9:0]を供給する。ワー
ドセルブロック20および該ワードセルブロック20を
構成する各ワードセルの詳細は後述するが、アドレスw
_addr[9:0]のうち、アドレスw_addr
[8]及びアドレスw_addr[9]はワードセルの
バイト中の低位側および高位側のニブルを選択する。一
方、これらのビットを除くアドレスw_addr[7:
0]が、ワードセル内のメモリーアレイに対するロウア
ドレス(行アドレス)となる。なお、アドレスw_ad
dr[9:0]は、命令を開始するに当たって、1マイ
クロサイクル前から有効となる。
【0020】データ制御部5は、制御回路2から与えら
れるdataバス,dataxバス上のデータを用い
て、命令デコーダ3の制御の下に、ワードセルブロック
20との間でデータw_data[0:7]及びデータ
w_datax[0:7]を授受する。これらデータに
おいては、ビット0がMSB(Most Significant Bi
t),ビット7がLSB(Least Signigicant Bit) で
ある。ここで、上述したdataバスとdataxバス
の関係と同様に、通常、データw_data[0:
7],データw_datax[0:7]には互いに反転
した信号が乗せられる。
【0021】制御信号生成部6は、制御回路2から与え
られるadrsバスの内容と命令デコーダ3から送られ
る制御信号に基づいて、制御信号w_gcnt[33:
0]を生成し、ワードセルブロック20の動作を制御す
る。本発明に関して言えば、これら全ての制御信号につ
いて説明する必要性はないため、以下では必要に応じて
制御信号の説明を個別に行うこととする。
【0022】なお、実際には、これら制御信号w_gc
nt[33:0]はさらに64個のワードセル毎にエン
コードされて、当該64ワードセルブロック内の制御信
号cnt[48:0]が生成される。しかしながら、以
下では説明を簡単にするために上記の制御信号w_gc
ntに統一して説明を行うこととする。
【0023】メモリー制御部7は、通常のDRAMに用
いられるメモリー制御回路と同等の回路によって構成さ
れており、命令デコーダ3から与えられる上記3本の信
号をもとに、DAAMを構成するDRAM部分のアクセ
ス制御を行う。ワードセルブロック20は1024個の
ワードセルから構成されたメモリーブロックであり、各
ワードセルは、1ビットのALU(Arithmetic Logic U
nit)に似たロジック回路と8ビット分のビットセルか
ら構成されている。すなわち、本実施形態においては1
ワードが8ビットに相当する。
【0024】図1に1ワード分のワードセルのレイアウ
トを示す。各ワードセルは左右に256バイトずつのブ
ロックを有し、つまり合計512バイト(=4キロビッ
ト)のメモリーアレイ(図示省略)を有する。したがっ
て、1024個のワードセルを擁するDAAM全体では
4メガビットになる。また、この図の両側に配されたセ
ンスアンプと、これらセンスアンプに接続されているビ
ット線は、いずれもDRAMと同一のものを流用するこ
とができる。
【0025】先に、データw_data[0:7],デ
ータw_datax[0:7]の所で説明したように、
ワードセル内ではビット0がMSB,ビット7がLSB
である。これに対し、DAAM外部の装置はビット0が
LSB,ビット7がMSBである。すなわち、ワードセ
ルにおいては、バイト内のビット配置がDAAM外部の
装置のそれとは逆の配置になっている。これは、バイト
のアドレッシングとビットのアドレッシングに一貫性を
持たせるためである。
【0026】さらに、ワードセル中のビットセルの配列
はビットの昇順或いは降順になっていない点に留意する
必要がある。すなわち、図1に示すように、反時計方向
に見たビット配置が、 ビット1→3→0→2→4→6→5→7 となっている。そして、図中、左側が高位(MSBがあ
るビット0〜3)のニブル,右側が低位(LSBがある
ビット4〜7)のニブルになっている。これに加えて、
ワードセル内の上半分が奇数ビット,下半分が偶数ビッ
トとなるように配置されている。そして、本発明におい
てはこのビット配置が演算を行う上で極めて重要であ
る。
【0027】一方、ワードセルブロック20を構成する
各ワードセルには、図中「s/a」で表記されるセンス
アンプ31−0H〜31−7H,31−0L〜31−7
Lが左右両側にそれぞれ8個づつ設けられており、何れ
も物理DRAMのメモリーアレイ(DRAMのカラム)
に接続されている。ここで、同図に示すように、各ビッ
トに対応して2個のセンスアンプが設けられている。
【0028】これは、メモリーアレイが2つのバンクに
分かれているからであり、512バイトからなるメモリ
ーアレイは、アドレスが0〜255(10進数)の低位
バンクと、アドレスが256〜511(10進数)の高
位バンクから構成される。そして各ビットにおいては、
上側が高位バンクのためのセンスアンプ,下側が低位バ
ンクのためのセンスアンプである。
【0029】なお、図示を省略したが、周知のように、
センスアンプにはビット線(以下、bit線と言う)と
このビット線の反転信号が載ったビット線(以下、bi
tx線と言う)が接続されており、センスアンプはこれ
ら2つのビット線の差分をセンスするようになってい
る。したがって、図中のセンスアンプに設けられた上側
の端子はbit線に対応するものであり、下側の端子は
bitx線に対応している。これは、後述する内部セン
スアンプについても同様である。
【0030】ここで、各センスアンプは、後述するワー
ドロジック40から送られる信号QselHH,Qse
lHL,QselLH,QselLLによって選択され
る。ここで、最初のH/Lは高位ニブル/低位ニブルを
表わし、2番目のH/Lは高位バンク/低位バンクを表
わす。そのために、これらセンスアンプのビット線(b
it,bitx)の選択を行うセレクタ32−0H〜3
2−7H,32−0L〜32−7Lが設けられている。
図示したように、これらセレクタは2本のビット線に対
応して2個のNチャネルトランジスタから構成される。
【0031】次に、これらセレクタの内側(ワードロジ
ック40側)には、内部センスアンプ33−0H〜33
−7H,33−0L〜33−7Lが各センスアンプに1
対1に対応して設けられている。図では、煩雑化を避け
るために全ての内部センスアンプに符号を付していな
い。内部センスアンプ33−1H〜33−2Lの間に
は、上から順に、内部センスアンプ33−1L,33−
3H,33−3L,33−0H,33−0L,33−2
Hが配置されており、内部センスアンプ33−7H〜3
3−4Lの間には、上から順に、内部センスアンプ33
−7L,33−5H,33−5L,33−6H,33−
6L,33−4Hが配置されている。
【0032】これら内部センスアンプは、メモリーアレ
イからデータを読み出す際は、読み出されたデータをラ
ッチする中間的な読み出しアンプとして機能する。これ
に対し、ワードロジック40からメモリーアレイへデー
タを書き込む際は、書き込みデータをラッチする素子と
して機能する。また、これら内部センスアンプは、上述
したセンスアンプ同様に、bit線及びbitx線によ
ってセンスを行うようになっている。
【0033】さらに、これら内部センスアンプは、制御
信号生成部6から与えられる制御信号saEnxxによ
ってイネーブル或いはディセーブルされる。ここで、記
号部分の「xx」には「HL,LL,HL,LL」が入
り、最初のH/Lは高位ニブル/低位ニブルを表わし、
2番目のH/Lは高位バンク/低位バンクを表わしてい
る。なお、これらの制御信号は、上述した制御信号w_
gcntから生成される。
【0034】そして、ワードロジック40が実行する演
算等はすべてこれら内部センスアンプのデータを使用し
てなされ、したがって、DRAMのビット線とメモリー
アクセスとは独立している。これにより、ビット線の容
量性負荷の影響をなくすことができ、消費電力や演算速
度の観点から有利である。また、ワードロジック40で
演算を実行中は、次のメモリーアクセスのためにビット
線をチャージすることができる。
【0035】ここで、メモリーアレイからの読み出しの
場合は、センスアンプのチャージを十分行った後にビッ
ト線を選択し、センスアンプのデータによって内部セン
スアンプへ再書き込みを行うようになっている。そのた
めに、内部センスアンプのドライブ能力がセンスアンプ
のそれに比して小さく設定されている。これに対し、メ
モリーアレイへ書き込みを行う場合は、DRAMのワー
ド線がアクティブになるのと同タイミングで前述したセ
レクタ32−0H〜32−7H,32−0L〜32−7
Lがイネーブルにされる。そして、センスアンプが内部
センスアンプをセンスするとともに、センスアンプによ
ってメモリーアレイ中の記憶セルが上書きされる。
【0036】セレクタ34−0H〜34−7H,34−
0L〜34−7Lは、それぞれ内部センスアンプ33−
0H〜33−7H,33−0L〜33−7Lに対応して
おり、これら内部センスアンプのうちの何れを選択する
かに用いられる。これらセレクタは何れも2個のNチャ
ネルトランジスタで構成され、制御信号w_gcntか
ら作られる8本の制御線によって独立にオンオフされ
る。これら制御線は信号名「yyy」で呼ばれ、「yy
y]の部分にはHLO,LLO,HLE,LLE,HH
O,LHO,HHE,LHEが入り、最初のH/Lは高
位バンク/低位バンクを表わし,2番目のH/Lは高位
ニブル/低位ニブルを表わし,3番目のO/Eは奇数ビ
ット/偶数ビットを表わしている。
【0037】なお、図では煩雑化を避けるために全ての
セレクタに符号を付していないが、セレクタ34−1L
の下には、上から順にセレクタ34−3H,34−3
L,34−0H,34−0L,34−2H,34−2L
が配置されており、セレクタ34−7Lの下には、上か
ら順にセレクタ34−5H,34−5L,34−6H,
34−6L,34−4H,34−4Lが配置されている
が、これは図示したセルのビット配置から明らかであろ
う。
【0038】コンパレータ35−0〜35−7はビット
対応に設けられており、主として比較器として機能す
る。しかしながら、これらコンパレータは比較のほかに
もマスキングを行ったり、マルチプレクサとして機能す
ることができる。そこで以下、コンパレータの構成,機
能について詳述する。なお、これらコンパレータは図中
では「comp」で表記している。
【0039】データ制御部5からのデータw_data
[0:7]はビット対応に各コンパレータのd端子へ接
続され、データw_datax[0:7]はやはりビッ
ト対応に各コンパレータのdx端子に接続される。ま
た、高位バンク及び低位バンクの内部センスアンプのb
it線は、セレクタ34を構成する上側のトランジスタ
を介してワイヤードオアされ、対応するビットのコンパ
レータのb端子へ接続される。同様に、内部センスアン
プのbitx線は、セレクタ34を構成する下側のトラ
ンジスタを介してワイヤードオアされて、対応するコン
パレータのbx端子へ接続される。
【0040】これらコンパレータが比較器として機能す
る場合、内部センスアンプ33−0H〜33−7H或い
は内部センスアンプ33−0L〜33−7Lにラッチさ
れたbit線,bitx線と、データw_data
[7:0],データw_datax[7:0]の内容を
それぞれビット毎に比較する。なおこの場合のように、
コンパレータを比較器として用いる場合は、dataバ
スとdataxバスには互いに反転したデータが乗せら
れる。
【0041】そして、比較の結果、両ビットが不一致で
あれば、コンパレータのm端子に接続された線が放電さ
れる。これに対し、両ビットが不一致であればm端子に
接続された線は、後述するワードロジック40内部でプ
ルアップされる。なお、偶数ビットに対応する4個のコ
ンパレータのm端子はワイヤードオアで接続され、これ
を信号mEと呼ぶ。また、奇数ビットに対応する4個の
コンパレータのm端子も同様にワイヤードオアで接続さ
れており、これを信号mOと呼ぶ。
【0042】一方、各コンパレータのr端子には、内部
センスアンプの読み出しイネーブルに相当する信号oE
nが、ワードロジック40から全コンパレータに共通に
接続されており、セレクタ34−0H〜34−7H,3
4−0L〜34−7Lにより選択された内部センスアン
プの内容をデータw_data[0:7],データw_
datax[0:7]として読み出すことができる。
【0043】このデータ読み出しの際は、ワードロジッ
ク40内部に設けられた優先制御回路により、当該ワー
ドセル以外の他のワードセルとの間で優先順位付けがな
されており、ワードセルブロック20の中から唯一のワ
ードセルが選択されるようになっている。もっとも、そ
の詳細については本発明とは直接の関係がないため、本
実施形態ではその説明を省略するものとする。
【0044】次に、各コンパレータのw端子には内部セ
ンスアンプに対する書き込みイネーブルに相当する信号
ienOddと信号ienEvnが、それぞれ奇数ビッ
トのニブルと偶数ビットのニブルにそれぞれ対応して接
続される。すなわち、内部センスアンプへの書き込みが
奇数のニブルと偶数のニブルで別々に制御可能となって
いる。ちなみに、ワードセルからの読み出し時とは異な
り、ワードセルへの書き込みは全てのワードセルに対し
て同時に行うことが可能であって、これを特に「マルチ
ライト」と呼んでいる。
【0045】一方、前述したように、これらコンパレー
タはマルチプレクサとしての機能を果たすことができ、
ワードロジック40内部に設けられた1ビットの演算器
を使用するために、該演算器へ与えるビットを奇数ビッ
ト,偶数ビットそれぞれについて選択することができ
る。このことは、図3に示すコンパレータの詳細な回路
図から明らかである。そこで以下、この図を用いてコン
パレータの内部構成について、コンパレータを比較器と
して使用する場合も含めて説明することとする。
【0046】同図に示すように、データw_datax
はbit線に接続されたプルダウントランジスタ51を
ドライブし、データw_dataはbitx線に接続さ
れたプルダウントランジスタ52をドライブしている。
そして、これらプルダウントランジスタは、先述した信
号ienOdd又はienEvnに相当する信号ien
がアサートされることでトランジスタ55,56により
それぞれイネーブルにされる。
【0047】また、bit線はデータw_dataに接
続されたプルダウントランジスタ53をドライブし、b
itx線はデータw_dataxに接続されたプルダウ
ントランジスタ54をドライブする。そして、信号oE
nがアサートされると、トランジスタ57,58によっ
てこれらプルダウントランジスタをイネーブルにする。
【0048】そして、同図におけるmatch端子はワ
ードロジック40内でプルアップされており、上述した
信号mE或いは信号mOに相当する信号が出力される。
コンパレータを比較器として用いる場合、bit線とデ
ータw_dataの間に不一致があると、直列接続され
たトランジスタ対であるトランジスタ61〜62又はト
ランジスタ63〜64がmatch端子を放電させる。
これに対し、bit線とデータw_dataの間が一致
していれば、両トランジスタ対はカットオフされてma
tch端子のレベルは上記のプルアップによって決定さ
れる。
【0049】一方、データw_dataとデータw_d
ataxを双方とも「0」にドライブすると、トランジ
スタ62,63がカットオフして、bit線,bitx
線が共にマスクされることになる。ここで、上述したよ
うに、コンパレータのm端子は、奇数ビット同士あるい
は偶数ビット同士がそれぞれワイヤードオアされている
ことから、ワードセル内の全ての奇数ビット或いは全て
の偶数ビットがマスクされると、ワードロジック40内
部のプルアップによってmatch端子に接続されたラ
インは「1」となる。
【0050】他方、データw_dataとデータw_d
ataxを双方ともに「1」にドライブすると、bit
線とbitx線の何れかは「1」であることから、ma
tch端子は常に「0」となる。さらに、コンパレータ
をマルチプレクサとして動作させる場合は、所望のビッ
トに対応するデータw_data,データw_data
xをそれぞれ「1」,「0」にドライブして、これ以外
のビットのデータw_data,データw_datax
を何れも「0」にドライブする。これにより、所望のビ
ットに対応するコンパレータだけから該ビットの内容が
出力され、それ以外のビットはマスクされることから、
コンパレータがマルチプレクサとして機能することにな
る。
【0051】次に、ワードロジック40の詳細な構成を
図4を用いて説明する。ワードロジック40の外部から
見ると、ワードロジック40は、信号mE,mOと制御
信号生成部6から送られる各種の制御信号をもとに、命
令あるいは演算に応じて「資格(;Qualification)」信
号を低位ニブルと高位ニブルについてそれぞれ生成す
る。これら資格信号は上述した信号QselHH,Qs
elHL,QselLH,QselLLである。これに
加え、ワードロジック40は、上述した信号oEnと信
号ienEvn,ienOddを生成する。
【0052】なお、前述したように、複数のワードセル
間は優先順位付けがなされており、実際にはワードロジ
ック40にはこれを実現するための回路が存在している
が、本発明とは直接関係がないため、同図では関連する
回路を全て省略してある。これに加え、ワードセル内の
メモリーアレイに不良が発生して当該ワードセルが故障
と認定された場合には、この不良ワードセルをバイパス
する処理が必要となり、そのための回路がワードロジッ
ク40に設けられているが、これに関連する回路につい
ても、同図では省略してある。
【0053】まず、ワードロジック40への入力信号で
ある信号mE,mOは各々マッチアンプ71E,71O
へ入力される。前述したように、これら信号mE,mO
はそれぞれマッチアンプ71E,71Oによってプルア
ップされるとともに、これらマッチアンプ71E,71
Oは信号mE,mOの反転信号である信号mEx,mO
xを各々出力する。
【0054】キャリーフリップフロップ72(以後、
「フリップフロップ」は「FF」と略称する)は加算,
減算などの過程で使用され、これら演算におけるキャリ
ーやボローを格納する。さらに詳しく言うと、例えば、
バイトの加算はLSBからMSBに向かってビット単位
に処理されるが、あるビットについて加算を行った場
合、この加算におけるキャリーの有無が当該ビットの加
算結果の算出と同時にキャリーFF72へ格納される。
そして、次に実行される後続のビットの加算処理におい
て、キャリーFF72の内容が直前に加算処理したビッ
トからのキャリーとして使用される。
【0055】そのために、算術演算が行われる場合、キ
ャリーを保存するためのタイミング信号としてクロック
cclkが出る。キャリーFF72は、信号mEx,m
Oxをもとに、信号mE,mOをそれぞれ2進数と見た
てた場合の加算のキャリーを算出して保存する。なお、
加算/減算を開始するにあたっては、事前にキャリーF
F72をそれぞれクリア/セットしておく必要がある
が、これは、メモリーアレイから内部センスアンプへデ
ータを読み出す際、データバス上(データw_dat
a,w_datax)に所定値を設定することで実現さ
れる。その詳細に関しては動作の説明にて行う。
【0056】一方、 ENOR(Exclusive NOR)ゲート
73は、信号mEx,mOxをそれぞれ2進数に見立
て、キャリーFF72の出力を直前に処理したビットの
キャリーと見なして加算を行い、得られた結果の反転信
号を信号sumxとして出力する。したがって、キャリ
ーFF72とENORゲート73によって1ビットの全
加算器が構成されることになる。
【0057】次に、プリデコーダ74は一種のマルチプ
レクサではあるが、制御信号w_gcnt[14,1
7:18]と後述するQFF・77から出力される信号
qoutとインバータ81によって反転された信号qo
utxによって、信号sumxか、あるいは、プリデコ
ーダ74内部で生成される信号mExと信号mOxのO
Rされた結果の何れかを選択して出力する。ここで、信
号mEx,mOxのORされた結果は、コンパレータで
比較された両オペランドの全ビットが一致したことを意
味している。
【0058】プリデコーダ74の機能をより詳細に述べ
ると以下のようになる。すなわち、制御信号w_gcn
t[14]がアサートされると出力は信号qoutに依
存し、信号qoutがアサートされると信号sumxが
選択され、信号qoutxがネゲートされると信号mE
x,mOxのORされた結果が選択される。また、制御
信号w_gcnt[14]がネゲートされると、常に信
号mEx,mOxのORされた結果が選択される。な
お、信号mExと信号mOxのORされた結果を選択す
る際には、制御信号w_gcnt[17],w_gcn
t[18]がそれぞれ信号mOx,mExのイネーブル
信号になる。
【0059】マルチプレクサ75は、制御信号w_gc
nt[16]のネゲート或いはアサートに従って、後述
する信号Mqualx或いはプリデコーダ74の出力の
何れかを選択して、選択した信号を反転して出力する。
マスターFF76はプログラマブルなFFであって、制
御信号w_gcnt[10:13]の組み合わせによっ
て制御される。すなわち、制御信号w_gcnt[1
0],w_gcnt[11]が各々アサートされると、
マスターFF76への入力がそれぞれ「1」,「0」で
あれば、何れもマスターFF76をリセットする。ま
た、制御信号w_gcnt[12],w_gcnt[1
3]が各々アサートされると、入力がそれぞれ「0」,
「1」であれば何れもマスターFF76をセットする。
【0060】また、制御信号w_gcnt[11]とw
_gcnt[13]が共にアサートされると、マスター
FF76の入力を出力側へコピーし、制御信号w_gc
nt[10],w_gcnt[12]が共にアサートさ
れると、マスターFF76の入力を反転して出力する。
そして、以上のようなセット/リセット制御を組み合わ
せることで、例えばビット単位に論理和演算や論理積演
算を実行することもできる。
【0061】さらに、制御信号w_gcnt[10],
w_gcnt[11]が共にアサートされると、入力に
よらずマスターFF76をリセットし、制御信号w_g
cnt[12],w_gcnt[13]が共にアサート
されると、入力によらずマスターFF76をセットす
る。なお、xrst端子はマスターFF76をリセット
するための端子であり、リセット時において信号RST
がアサートされることで、マスターFF76がリセット
される。
【0062】マスターFF76の出力は3つのFFへ選
択的に入れられる。これら3つのFFはQFF・77,
MFF・78,RFF・79であり、何れのFFも独立
したクロックQclk,Mclk,Rclkにより各F
Fに対する入力が制御される。また、これらFFはそれ
ぞれ制御信号IgQ,IgM,IgRでも制御され、こ
れら信号をアサートすることで対応するFFの出力が
「1」に強制される。換言すれば、これら3本の制御信
号のうち選択したいFFに対応するものだけをネゲート
し、その他を全てアサートすることで、所望のFFの出
力だけを選択することができる。
【0063】QFF・77は資格レジスタであって、ワ
ードセルの資格化に使用され、メモリーの読み出し/書
き込みはこのFFがセットされているか否かに依存して
行われる。すなわち、資格化されているワードセルだけ
がメモリーアレイにアクセスすることを許される。な
お、信号qoutは他の2つのFFの出力と同様に信号
IgQによって上述した制御を受けるのに対し、信号
Q,Qxは信号IgQに依存しない出力である。
【0064】また、算術演算を実行する場合は、信号I
gQをアサートすることにより信号qoutがアサート
されて、プリデコーダ74が信号mE,mOの加算結果
である信号sumxを選択する。もっとも、実際のとこ
ろ、加算命令等においてはそのオペランドの指定に応じ
て、QFF・77がセットされたワードセルについての
み演算を実行させることができる。そうした場合、信号
IgQをアサートすることをせずに、QFF・77の内
容に応じて処理の可否が決定されるように制御される。
しかしながら、以下では説明を簡単にするため、演算に
あたって信号IgQをアサートするものとして説明す
る。
【0065】MFF・78はマッチレジスタであって、
例えばメモリーアレイの中から所定のレコードを探索す
るとした場合に、当該レコードの探索結果を格納するな
どの目的で使用するほか、論理演算や算術演算を行う場
合にあっては、演算の結果が格納される。RFF・79
は、DMA(Direct Memory Access)転送を行う際の資
格化レジスタであるが、DMA転送は本発明とは直接は
関係しないため、その詳細については省略する。NAN
Dゲート80は、上記の3個のFFのうちの選択された
FFの出力の反転信号を信号Mqualxとして出力す
る。
【0066】NORゲート85〜87とANDゲート8
8〜91は、それぞれ信号ienOdd,ienEv
n,oEnと信号QselLH,QselLL,Qse
lHH,QselHLを生成するための論理ゲートであ
る。ここで、制御信号w_gcnt[0],w_gcn
t[1]はそれぞれ奇数ビット,偶数ビットの各ニブル
に対応する内部センスアンプへの書き込みタイミング信
号であり、制御信号w_gcnt[2]は各ワードセル
内の内部センスアンプに共通な読み出しタイミングパル
スである。これら制御信号w_gcnt[0:2]は何
れも負論理の信号であり、それぞれが信号Mqualx
でゲートされる。
【0067】一方、制御信号w_gcnt[26],w
_gcnt[27]はそれぞれ高位バンク,低位バンク
に対するアクセスを許可するためのタイミング信号であ
って、上述したアドレスw_addr[8:9]と組み
合わされて、当該ワードセルが資格化されている場合
(すなわち信号qoutがアサートされている場合)に
だけ信号QselLH,QselLL,QselHH,
QselHLをそれぞれデコードする。
【0068】なお、後述するように、センスアンプから
内部センスアンプへ読み出しを行う場合、制御信号w_
gcnt[26],w_gcnt[27]はセンスアン
プが十分チャージされてからアサートされる。より詳細
に言うと、これら制御信号はメモリーアクセスにおける
3番目のマイクロサイクルでアサートされる。これに対
し、内部センスアンプからセンスアンプへ書き込みを行
う場合は、メモリーサイクルにおける最初のマイクロサ
イクルからアサートされる。
【0069】ところで、算術演算や論理演算では、これ
ら演算が1個のオペランドだけを要する場合にはアキュ
ムレータと呼ばれるレジスタを使用して演算が実行され
る。一方、2個のオペランドを必要とする場合は、スク
ラッチレジスタと呼ばれるレジスタとアキュムレータと
の間でなされる。実際には、これらレジスタは何れも各
ワードセル内のメモリーアレイ上に存在しており、スク
ラッチレジスタは低位バンク上のアドレス「0〜7」
(10進数)の領域に配置され、アキュムレータはスク
ラッチレジスタが配置されている領域に対応した高位バ
ンク上の領域、すなわちアドレス「256〜263」
(10進数)に配置される。なお、これらレジスタを各
バンク内のどの領域に確保するかは単なる設計事項であ
って、上記のアドレスに限定されるものではない。
【0070】また、スクラッチレジスタの各バイト内の
ビット配置はアキュムレータが配される領域を除いた他
の領域のビット配置と同じになっている。これに対し、
アキュムレータのビット配置は、通常のビット配置と比
べた場合に、隣接する奇数ビットと偶数ビットの間でビ
ット位置が入れ替わっており、そのビット配置は「1,
0,3,2,5,4,7,6」となっている。したがっ
て、例えばアキュムレータの論理上のビット1は物理の
ビット0に割り付けられ、アキュムレータの論理上のビ
ット0は物理ビット1に割り付けられることになる。
【0071】ちなみに、これらのレジスタの論理/物理
のビット対応関係を、図1に示すビットセルの配置に対
応させると、以下に示すようになる。 論 理 : 1 3 0 2 4 6 5 7 スクラッチレジスタ(物理): 1 3 0 2 4 6 5 7 アキュムレータ (物理): 0 2 1 3 5 7 4 6
【0072】以上のことから、例えば算術演算をLSB
に対して行う場合には、スクラッチレジスタの物理ビッ
ト7と、アキュムレータの物理ビット6が取り出されて
両者の間で演算がなされる。もっとも、論理的には、ス
クラッチレジスタとアキュムレータについて何れもビッ
ト7が取り出されているため、問題が生じることはな
い。以上説明した如くビット配置を工夫することによっ
て、スクラッチレジスタとアキュムレータの対応する各
ビットを信号mEと信号mOとして同時に取り出すこと
ができるようになり、各レジスタのあるビット(例えば
両レジスタのLSB)をそれぞれワードロジック40へ
与えて演算を実行させることが可能になる。
【0073】次に、上記構成によるダイナミック連想ア
クセスメモリーの動作を説明する。ここでは、2つのオ
ペランドの間で加算を行うADD命令を例に挙げて説明
するが、他の演算命令についても同様な処理がなされ
る。ADD命令はアキュムレータとスクラッチレジスタ
を加算した8バイトの結果をアキュムレータへ格納する
命令である。なお、より詳細には、ワードセル内でなさ
れる各種演算は1,2,4バイト長でもなされうるので
あるが、以下では一例として両オペランドが8バイト長
であるとして説明することとする。
【0074】ADD命令を実行するにあたっては、スク
ラッチレジスタ及びアキュムレータに値を設定しておく
必要があり、そのための専用の命令が存在する。しかし
ながら、この点の動作は本質的ではないため、ここでは
その詳細を省略する。以下では、スクラッチレジスタと
アキュムレータには、既に値が設定されているものとす
る。
【0075】図5はADD命令の動作概要を表わすタイ
ムチャートであり、この図では、最初のバイトのLSB
から2ビット分、つまりビット7及びビット6の2ビッ
ト分、の動作が示されている。また図6には、ADD命
令実行中の各マイクロサイクルにおいて読み出されるア
キュムレータとスクラッチレジスタの各ビットを、セン
スアンプのビットに対応させてLSBから4ビット分の
ビット7〜4についてだけ示したものである。なお、図
6においては、アキュムレータを「Acc」,スクラッ
チレジスタを「Scr」で表記してあり、その際、セン
スアンプのビット配置を図1と同じにしてある。
【0076】まず、スクラッチレジスタとアキュムレー
タの内容をメモリーアレイから内部センスアンプ上へ読
み出しておく必要がある。そこで、加算処理を説明する
前に、この読み出し動作について簡単に説明しておく。
なお、後述するように、以下説明する読み出し処理に並
行して加算処理がなされるために、DAAMの外部から
見るとこの読み出し処理はトランスペアレントに見え
る。
【0077】図7はメモリーアレイからの読み出しサイ
クルを説明するタイミングチャートである。センスアン
プをチャージするには3マイクロサイクルを要すること
から、前述したように命令の1マイクロサイクル前にア
ドレスw_addr[9:0]が有効となる。その際、
低位ニブルを選択するためにアドレスw_addr
[8]が「1」にされる。これに加えて、アドレスw_
addr[7:0]がこれから読み出すアキュムレータ
のバイトを指すように設定される。
【0078】また、実際の読み出しサイクルは、サイク
ルmc1で信号w_wdlnがアサートされることで開
始されるが、信号w_wdlnはリフレッシュ時間の兼
ね合いで4サイクルの間アサートされる。次に、信号w
_wdlnがアサートされてワード線がアクティブにな
ったその1マイクロサイクル後に、サイクルmc2で信
号w_saonがアサートされてセンスアンプが動作
し、メモリーアレイの内容がセンスアンプに取り込まれ
る。
【0079】その後のサイクルmc4では、センスアン
プの内容が内部センスアンプへ転送される。そのため
に、信号w_gcnt[26:27]がそれぞれメモリ
ーアレイの上位バンクと下位バンクの選択に使用される
が、いまの場合は加算処理であるため、これら信号は何
れもアサートされる。この時点では、アドレスw_ad
dr[8]が「1」にされていることから、ANDゲー
ト88〜89により信号QselLH及びQselLL
がアサートされる。また、信号saEnLH及び信号s
aEnLLがアサートされて、低位側のニブルに対応す
る内部センスアンプがセンスアンプの内容を取り込む。
【0080】次いで、サイクルmc5になると信号w_
wdln,w_saonが何れもネゲートされ、続くサ
イクルmc6で信号w_pcgがアサートされ、次のメ
モリーアクセスのためにプリチャージが開始される。こ
のようにして、スクラッチレジスタ及びアキュムレータ
のビット4〜7の内容が内部センスアンプに取り込まれ
る。ここで、センスアンプ(及び内部センスアンプ)と
スクラッチレジスタ又はアキュムレータのビットの対応
は図6のようになる。なお、スクラッチレジスタの内容
は低位バンクに対応する内部センスアンプに取り込ま
れ、アキュムレータの内容は高位バンクに対応する内部
センスアンプに取り込まれる。
【0081】一方、この読み出し処理と並行してキャリ
ーFF72がクリアされる。この場合のように加算を実
行する場合は、例えば、データw_data[0:
7],データw_datax[0:7]に何れもxFF
(ここで、数字の直前に付された「x」は16進数を意
味する。以後も同様。)を設定する。これにより信号m
O,mEがいずれも「0」となって、これらの加算によ
り生じるキャリーとして、キャリーFF72の内容が
「0」に設定される。
【0082】なお、減算を実行する場合には、例えば、
データw_data[0:7],データw_datax
[0:7]に何れもx00を設定する。これにより信号
mO,mEがいずれもワードロジック40内部でプルア
ップされて「1」となり、これらの加算により生じるキ
ャリーとして、キャリーFF72の内容が「1」に設定
される。
【0083】次に、内部センスアンプ上に読み出された
データを元に加算処理がなされる。まず、図5に示すサ
イクルmc1では、スクラッチレジスタとアキュムレー
タの各々のビット7に対応した内部センスアンプの内容
が読み出される。そのために、信号LLO,HLEが共
にアサートされて、内部センスアンプ33−4H,33
−6H,33−5L,33−7Lのbit線,bitx
線が、各々、セレクタ34−4H,34−6H,34−
5L,34−7Lを介して、対応するコンパレータのb
端子及びbx端子に接続される。
【0084】ここで、図5に示すように、データw_d
ata[0:7]にはx03が与えられ、データw_d
atax[0:7]にはx00が与えられる。したがっ
て、コンパレータ35−4,35−5は何れも内部セン
スアンプからのビット線をマスクする。一方、コンパレ
ータ35−6,35−7は何れもマルチプレクサとして
動作し、コンパレータ35−6のm端子(信号mE)に
はアキュムレータのビット7が得られる一方、コンパレ
ータ35−7のm端子(信号mO)にはスクラッチレジ
スタのビット7が得られる。
【0085】このように、スクラッチレジスタについて
は、低位バンクの奇数ビットの内部センスアンプが選択
されて、読み出されたビットが信号mOとしてワードロ
ジック40へ与えられる。これに対し、アキュムレータ
については、高位バンクの偶数ビットの内部センスアン
プが選択されて、読み出されたビットが信号mEとして
ワードロジック40へ与えられる。
【0086】すると、ワードロジック40では、これら
信号mE,mOが、それぞれ対応するマッチアンプ71
E,71Oを介して、キャリーFF72とENORゲー
ト73へ与えられ、論理のビット7に対応するキャリー
及び加算結果が算出される。前者はクロックcclkが
出ることによってキャリーFF72内部に蓄えられ、後
者は信号sumxとして出力される。
【0087】このとき、制御信号w_gcnt[14]
及びw_gcnt[16]がアサートされて、プリデコ
ーダ74及びマルチプレクサ75によって信号sumが
マスターFF76へ送出される。また、制御信号w_g
cnt[10:13]によってマスターFF76が入力
をそのまま出力するように制御される。さらに、クロッ
クMclkが出て信号sumの内容がMFF・78へセ
ットされ、加算結果がMFF・78に保存される。
【0088】次に、サイクルmc2では、加算結果の格
納先であるアキュムレータのビット7に対応する内部セ
ンスアンプが「0」に初期設定される。この処理は特に
プリクリアと呼ばれる。そのために、信号IgQ,Ig
M,IgRをすべてアサートすると、QFF・77,M
FF・78,RFF・79の出力が何れも「1」となっ
て信号Mqualxがアサートされる。
【0089】また、これに伴って制御信号w_gcnt
[1]がアサートされ、NORゲート86によって信号
ienEvnがアサートされる。このとき、データw_
data[0:7]及びデータw_datax[0:
7]にはそれぞれx01,x02が乗せられる。そこ
で、信号HLEをアサートすることによって、セレクタ
34−6Hを介し、コンパレータ35−6を構成するト
ランジスタ52,56によってbit線がプルダウンさ
れ、内部センスアンプ33−6Hへ「0」が設定され
る。
【0090】次に、サイクルmc3では、演算結果が
「1」である場合にだけアキュムレータのビット7に対
応する内部センスアンプへ書き込みがなされ、演算結果
が「0」である場合には、サイクルmc2でプリクリア
された値「0」が内部センスアンプに保持される。その
ために、信号IgMがネゲートされると共に信号Ig
Q,IgRがアサートされて、MFF・78に格納され
ている加算の結果が信号Mqualxとして出力され
る。
【0091】そして、制御信号w_gcnt[1]がア
サートされると、MFF・78の値が「1」の場合にだ
け信号ienEvnがアサートされて、サイクルmc2
と同様にアキュムレータのビット7に対応する内部セン
スアンプへ書き込みがなされる。ここで、サイクルmc
3では、データw_data[0:7]及びデータw_
datax[0:7]にそれぞれx03,x00が乗せ
られているため、コンパレータ35−6を構成するトラ
ンジスタ51,55によってbitx線がプルダウンさ
れて、「1」が内部センスアンプ33−6Hへ書き込ま
れる。
【0092】このようにして、1ビット分の加算処理が
3マイクロサイクルでなされる。以後のビット6〜0の
処理はビット7と同様である。例えば、サイクルmc4
〜mc6でなされるビット6の処理は、以下の点を除い
て上述したビット7の処理と同じである。すなわち、 信号ienEvnの代わりに信号ienOddがア
サートされる に対応する形で、サイクルmc5において、デー
タw_data[0:7]及びデータw_datax
[0:7]に乗せられるマスクのデータが異なる スクラッチレジスタ,アキュムレータの読み出し/
書き込みに使用される内部センスアンプのビット位置と
対応するセレクタ,コンパレータのビット位置が異なる に対応して、セレクタをイネーブルにするための
制御信号が異なる という点である。
【0093】つまり、物理ビット6に対応する内部セン
スアンプを介してスクラッチレジスタのビット6が読み
出され、物理ビット7に対応する内部センスアンプを介
してアキュムレータのビット6が読み出される。また、
この読み出しに引き続いて、ワードロジック40内部で
ビット6に対する加算処理がなされ、その際、キャリー
FF72に保存されているビット7に関する加算処理で
得られたキャリーの有無が、ビット6の加算処理のため
に使用される。そして、得られた加算結果(信号sum
x)が上記と同様の手順に従って、アキュムレータのビ
ット6へ書き込まれる。
【0094】以後は同様に、ビット5の処理では、物理
ビット5に対応する内部センスアンプからスクラッチレ
ジスタのビット5が読み出され、物理ビット4に対応す
る内部センスアンプからアキュムレータのビット5が読
み出されて加算処理がなされる。さらにビット4の処理
では、物理ビット4に対応する内部センスアンプからス
クラッチレジスタのビット4が読み出され、物理ビット
5に対応する内部センスアンプからアキュムレータのビ
ット4が読み出されて加算処理がなされる。
【0095】以上のようにして、ビット4〜7の低位側
ニブルに対する加算処理が「3×4=12マイクロサイ
クル」で完了する。そうすると、低位側のニブルについ
て行ったのと同様の処理が、高位側のニブル(すなわ
ち、ビット0〜3)に対して同様になされる。
【0096】一方、高位側のニブルに対する加算処理と
並行して、低位側のニブルでは、内部センスアンプ上に
保存されている加算結果がアキュムレータへ書き込まれ
るとともに、これに引き続いて、次のバイト上の低位側
のニブルの読み出し処理がなされる。すなわち、加算結
果の書き込み処理に関しても、高位ニブルに対する加算
処理と並行して処理が行われるために、上記の読み出し
処理と同様に、外部から見るとアキュムレータへの書き
込み処理がトランスペアレントに見える。
【0097】そこで以下、内部センスアンプからメモリ
ーアレイ(アキュムレータ)への書き込み処理について
説明する。書き込み処理のサイクルは、図8に示すタイ
ミングチャートからわかるように、信号w_gcnt
[26:27]が書き込みサイクルの最初(サイクルm
c1)からアサートされて、これが4サイクルの間持続
される。これ以外は、基本的に読み出しサイクルのタイ
ミングと同じである。
【0098】もっとも、書き込み処理をワードセル内の
動作から見ると次のような相違がある。すなわち、この
場合はアキュムレータの低位側ニブルへ書き込みを行う
ので、信号QselLHだけがアサートされて、上位バ
ンクかつ低位ニブルに対応する内部センスアンプの内容
が、該内部に対応するセレクタ32−4H〜32−7H
及びセンスアンプ31−4H〜31−7Hを介して、メ
モリーアレイへ書き込まれる。
【0099】以上のように、書き込み処理と読み出し処
理は各々6マイクロサイクルを要するから、上記の加算
処理の12マイクロサイクルとの均衡がとれ、読み出し
処理と書き込み処理が、反対側のニブルの加算処理の陰
に隠れてトランスペアレントに見える。そして、高位側
のニブルの加算処理が終了すると、今度は、高位側のニ
ブルに対する加算結果の書き込み処理と次のバイト上の
高位側のニブルの読み出し処理とが、次のバイトの低位
側のニブルの加算処理に並行して実行される。このよう
にして、ニブルを単位として演算処理がパイプラインの
ように遂行され、したがって、処理の高速化を図ること
ができる。
【0100】
【発明の効果】以上説明したように、本発明によれば、
複数のメモリーブロックに分割されたメモリーアレイに
おいて、これらメモリーブロックに対するアクセス動作
と、メモリーブロックに格納されたデータを用いた演算
処理とをメモリーブロック毎に独立かつ並行して行うよ
うにしたので、上記メモリーブロック内のデータに対す
る演算処理をパイプライン処理の如く実現できると共
に、メモリーブロックへのアクセスと演算処理の並行動
作による処理速度の向上を図ることができるという効果
が得られる。
【図面の簡単な説明】
【図1】 本発明の一実施形態によるDAAMの1ワー
ド分のワードセルの構成を示す図である。
【図2】 同実施形態によるDAAM及び該DAAMを
制御する周辺回路の構成を示すブロック図である。
【図3】 同ワードセル内に構成されたコンパレータ3
5−0〜35−7の回路図である。
【図4】 同ワードセル内のワードロジック40の回路
図である。
【図5】 同実施形態によるADD命令のタイミングチ
ャートである。
【図6】 同実施形態によるADD命令の実行中に読み
出されるスクラッチレジスタ,アキュムレータのビット
とセンスアンプのビットとの対応を示した図である。
【図7】 同実施形態によるメモリーアレイからの読み
出し時のタイミングチャートである。
【図8】 同実施形態によるメモリーアレイへの書き込
み時のタイミングチャートである。
【図9】 従来の技術によるDAAMの1ワード分のワ
ードセルの構成を示す図である。
【符号の説明】
20…ワードセルブロック、31−0H〜31−7H,
31−0L〜31−7L…センスアンプ、32−0H〜
32−7H,32−0L〜32−7L,34−1H,3
4−1L,34−7H,34−7L…セレクタ、33−
1H,33−2L,33−4L,33−7H…内部セン
スアンプ、35−0〜35−7…コンパレータ、40…
ワードロジック

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 メモリーアレイと演算手段とを有するワ
    ードセルが複数設けられてなるダイナミック連想アクセ
    スメモリーであって、 前記各メモリーアレイが複数のメモリーブロックに分割
    され、前記各メモリーブロックに対するアクセス動作と
    前記各メモリーブロックに格納されているデータを用い
    た演算処理とを、前記メモリーブロック毎に独立かつ並
    行に処理可能としたことを特徴とするダイナミック連想
    アクセスメモリー。
  2. 【請求項2】 それぞれが独立に演算を実行することの
    可能なワードセルを複数設けてなるダイナミック連想ア
    クセスメモリーであって、前記ワードセルの各々が、 複数のメモリーブロックに分割されたメモリーアレイ
    と、 前記何れかのメモリーブロックから読み出されるデータ
    に所定の演算を施す演算手段と、 前記メモリーアレイ内のデータを前記何れかのメモリー
    ブロックから読み出すと共に、前記演算手段が算出した
    演算結果を前記何れかのメモリーブロックへ書き込むア
    クセス手段と、 前記読み出し動作及び前記書き込み動作と、前記演算処
    理とが独立かつ並行して処理されるように制御する制御
    手段とを具備することを特徴とするダイナミック連想ア
    クセスメモリー。
  3. 【請求項3】 前記各メモリーブロックは、さらに、上
    位バンクと下位バンクの2つのバンクに分割され、 前記演算手段は、前記上位バンクに格納されているデー
    タと、前記下位バンクに格納されているデータのうち、
    少なくとも何れかのデータを用いて前記演算を行うこと
    を特徴とする請求項2記載のダイナミック連想アクセス
    メモリー。
  4. 【請求項4】 前記メモリーアレイは、前記各ワードセ
    ルのワードを構成する上位のニブルに対応するメモリー
    ブロックと、前記各ワードセルのワードを構成する下位
    のニブルに対応する2つのメモリーブロックからなるこ
    とを特徴とする請求項1乃至3の何れかの項記載のダイ
    ナミック連想アクセスメモリー。
  5. 【請求項5】 前記各ニブルは、さらに、奇数ビット群
    と偶数ビット群に分割され、 前記演算手段は、前記奇数ビット群および前記偶数ビッ
    ト群の各ビット群から何れかのビットを選択し、各ビッ
    ト群から選択されたビットのうち少なくとも何れかのビ
    ットを用いて前記演算を行うことを特徴とする請求項4
    記載のダイナミック連想アクセスメモリー。
  6. 【請求項6】 前記上位バンクに格納されている前記演
    算の第1オペランドと前記下位バンクに格納されている
    前記演算の第2オペランドの各オペランドにおけるバイ
    ト内のビットが、互いに、隣接する奇数ビットと偶数ビ
    ットとを入れ替えた配列に構成されていることを特徴と
    する請求項3乃至5の何れかの項記載のダイナミック連
    想アクセスメモリー。
  7. 【請求項7】 前記アクセス手段は、 前記ワードを構成する各ビット及び前記各バンクに対応
    して設けられ、前記メモリーアレイのデータをセンスす
    るセンスアンプと、 前記各センスアンプに対応して設けられ、対応するセン
    スアンプを介して前記メモリーアレイから読み出される
    データを保持すると共に、対応するセンスアンプを介し
    て前記メモリーアレイへ書き込むべきデータを保持する
    内部センスアンプとを有し、 前記演算手段は、前記各内部センスアンプに保持されて
    いるデータを用いて前記演算を行うことを特徴とする請
    求項3乃至6の何れかの項記載のダイナミック連想アク
    セスメモリー。
JP8171439A 1996-07-01 1996-07-01 ダイナミック連想アクセスメモリー Withdrawn JPH1021690A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8171439A JPH1021690A (ja) 1996-07-01 1996-07-01 ダイナミック連想アクセスメモリー

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8171439A JPH1021690A (ja) 1996-07-01 1996-07-01 ダイナミック連想アクセスメモリー

Publications (1)

Publication Number Publication Date
JPH1021690A true JPH1021690A (ja) 1998-01-23

Family

ID=15923150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8171439A Withdrawn JPH1021690A (ja) 1996-07-01 1996-07-01 ダイナミック連想アクセスメモリー

Country Status (1)

Country Link
JP (1) JPH1021690A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731526B2 (en) 2002-03-20 2004-05-04 Mitsubishi Denki Kabushiki Kaisha CAM cell array, TCAM cell, TCAM cell array, address search memory, and network address search apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731526B2 (en) 2002-03-20 2004-05-04 Mitsubishi Denki Kabushiki Kaisha CAM cell array, TCAM cell, TCAM cell array, address search memory, and network address search apparatus

Similar Documents

Publication Publication Date Title
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US10409557B2 (en) Signed division in memory
JP4989900B2 (ja) 並列演算処理装置
US5319763A (en) Data processor with concurrent static and dynamic masking of operand information and method therefor
US10042608B2 (en) Signed division in memory
US4685082A (en) Simplified cache with automatic update
US5890195A (en) Dram with integral sram comprising a plurality of sets of address latches each associated with one of a plurality of sram
JP2006164183A (ja) 半導体信号処理装置
US7805561B2 (en) Method and system for local memory addressing in single instruction, multiple data computer system
JP7264897B2 (ja) メモリ装置及びそれを制御するための方法
US20120102275A1 (en) Memories and methods for performing atomic memory operations in accordance with configuration information
US6256256B1 (en) Dual port random access memories and systems using the same
JPH0570180B2 (ja)
JP4854277B2 (ja) 直交変換回路
JPH0362243A (ja) 情報処理システムにおいてメモリアクセスを速くする装置
JPH09198862A (ja) 半導体メモリ
JPH1021690A (ja) ダイナミック連想アクセスメモリー
US5001629A (en) Central processing unit with improved stack register operation
JPS6136845A (ja) シングルチツプマイクロコンピユ−タ
US5579484A (en) System for performing fast data accessing in multiply/accumulate operations while using a VRAM
JPS6122830B2 (ja)
JP2011192305A (ja) 半導体信号処理装置
JPH081745B2 (ja) シリアルアクセスメモリ
US3851312A (en) Modular program control apparatus for a modular data processing system
JP3442550B2 (ja) レジスタファイル

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030902