JP2004288104A - Memory device - Google Patents
Memory device Download PDFInfo
- Publication number
- JP2004288104A JP2004288104A JP2003082201A JP2003082201A JP2004288104A JP 2004288104 A JP2004288104 A JP 2004288104A JP 2003082201 A JP2003082201 A JP 2003082201A JP 2003082201 A JP2003082201 A JP 2003082201A JP 2004288104 A JP2004288104 A JP 2004288104A
- Authority
- JP
- Japan
- Prior art keywords
- data
- digit
- address
- ram
- signal
- 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.)
- Abandoned
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、データを記憶するための記憶手段を備えたメモリ装置に関するものである。
【0002】
【従来の技術】
RAM(Random Access Memory)等の自由に読み書きできるメモリにおいて、mビット(mは1以上の整数)で構成されるデジットデータn個(nは2以上の整数)について読み書きを行う場合、読み書きを開始するアドレスによっては2回のアクセスが必要であった。
【0003】
例えば、図12に示すように、RAM等で構成されるメモリMにおいて、アドレス(00)hからデータS、データT、データU及びデータVが順次記憶されており、アドレス(01)hからデータW、データX、データY及びデータZが順次記憶されているとする。メモリMは、アドレス(00)h、(01)h、(02)h、・・と(01)h毎にアクセス可能である。
【0004】
ここで、例えば、データU、データV、データW及びデータXを読み出す場合、まずアドレス(00)hから記憶されているデータS〜Vを読み出し、次にアドレス(01)hから記憶されているデータW〜Zを読み出す。このように2回に渡って読み出したデータから、データU、データV、データW及びデータXを抽出して出力していた。
【0005】
また、メモリセルに2本のビットラインを接続して、それぞれのビットラインを1サイクルずつ交互に動作させることにより、1本のビットラインにおいてプリチャージ及びメモリセルの読み書きにかかる時間を従来の2倍確保する技術が知られている(特許文献1参照)。この特許文献1によれば、基本クロックの周期を1/2に短縮することができるため、結果的にメモリアクセスを2倍にすることができ、高速アクセスが可能なメモリを実現することができる。
【0006】
また特許文献2の技術として次の技術が知られている。即ち、チップイネーブル信号をデコード回路を介さず直接メモリに入力させ、アウトプットイネーブル信号、ライトイネーブル信号をデコード回路を用いてメモリに入力させることにより、デコード回路の動作時間分遅延してチップイネーブル信号がメモリに入力されることがなくなり、その分メモリの動作開始を早くすることのできる技術である。その結果、メモリのアクセス時間を低下させることができる(特許文献2参照)。
【0007】
【特許文献1】
特開平11−273353号公報
【特許文献2】
特開平11−328011号公報
【0008】
【発明が解決しようとする課題】
上述したように、メモリMにおいてデータの読み書きを行う場合、読み書きを開始するアドレスによっては2回のアクセスが必要であった。このようにアクセスの回数が増えると処理時間が増加するため、回路動作の高速化を妨げていた。
【0009】
また、特許文献1のような技術を適用するとなると、ビットラインを増加させるためにメモリのレイアウトを大幅に変更する必要があり、簡単に回路動作を高速化するための手段としては現実的ではなかった。
【0010】
更に、特許文献2のような技術を適用しても、上述したようなメモリMにおいて読み書きを開始するアドレスによってはデータの読み書きに2回のアクセスが必要なため、アクセス時間を顕著に短縮することはできなかった。
【0011】
本発明の目的は、所定ビット数で構成されるデジットデータを読み書きするメモリを有するメモリ装置において、読み書きにかかるアクセス時間を低減させるメモリ装置を提供することである。
【0012】
【課題を解決するための手段】
以上の課題を解決するために、請求項1に記載の発明のメモリ装置は、1ビット以上で構成されるデジットデータを記憶し、2個以上のデジットデータを出力する複数の記憶手段(例えば、図1の第1RAM162及び第2RAM163)と、前記複数の記憶手段から出力される2個以上のデジットデータをリング状に連結して環状データとみなし、当該環状データのうちの連続するデジットデータを取り出して出力する出力データ制御手段(例えば、図2の出力コントロール回路27)と、を備えることを特徴としている。
【0013】
この請求項1に記載の発明によれば、デジットデータを記憶する手段として複数の記憶手段を備えることにより、1ビット以上で構成される2個以上のデジットデータを1回で読み出すことができる。これにより、複数の記憶手段に対するアクセス時間を削減することができ、メモリ装置の動作の高速化を図ることができる。
【0014】
請求項2に記載の発明のメモリ装置は、1ビット以上で構成されるデジットデータを記憶し、2個以上のデジットデータを出力する第1記憶手段及び第2記憶手段(例えば、図1の第1RAM162及び第2RAM163)と、前記第1記憶手段及び前記第2記憶手段それぞれから出力される2個以上のデジットデータをリング状に連結して環状データとみなし、当該環状データのうちの連続するデジットデータを取り出して出力する出力データ制御手段(例えば、図2の出力コントロール回路27)と、アドレスデータが示すアドレスに整数を加算し変形アドレスデータとして出力するアドレス制御手段(例えば、図2の加算回路24)と、前記第1記憶手段は、変形アドレスデータが示すアドレスに基づいて2個以上のデジットデータを読み出して出力する手段であり、
前記第2記憶手段は、アドレスデータが示すアドレスに基づいてデジットデータを読み出して出力する手段であることを特徴としている。
【0015】
この請求項2に記載の発明によれば、アドレス制御手段を備えることにより、第1記憶手段と第2記憶手段から連続した2個以上のデジットデータを常に読み出すことができる。
【0016】
請求項3に記載の発明は、請求項2に記載のメモリ装置であって、前記第1記憶手段は前記変形アドレスデータの下位ビットを切り捨てた上位ビットで表されるアドレスに記憶されたデジットデータから2個以上のデジットデータを読み出して出力する手段であり、前記第2記憶手段は前記アドレスデータの下位ビットを切り捨てた上位ビットで表されるアドレスに記憶されたデジットデータから2個以上のデジットデータを読み出して出力する手段であり、前記出力データ制御手段は、デジットデータを取り出す前記環状データ中の位置を前記アドレスデータの切り捨てたビットデータで表されるアドレスに従って決定する手段であることを特徴としている。
【0017】
この請求項3に記載の発明によれば、出力データ制御手段がデジットデータを取り出すための環状データ中の位置をアドレスデータの切り捨てたビットデータで表されるアドレスに従って決定することにより、第1記憶手段及び第2記憶手段にまたがって記憶されていたデジットデータを1回で読み出すことができる。
【0018】
請求項4に記載の発明のメモリ装置は、1ビット以上で構成されるデジットデータを記憶し、2個以上のデジットデータを出力する第1記憶手段及び第2記憶手段(例えば、図1の第1RAM162及び第2RAM163)と、アドレスデータが示すアドレスに2以上の整数を加算し変形アドレスデータとして出力するアドレス制御手段(例えば、図2の加算回路24)と、2個以上のデジットデータから成る書込データを入力し、当該書込データに含まれるデジットデータを第1書込データと第2書込データとに振り分ける振分手段(例えば、図2のデータコントロール回路26)と、前記第1記憶手段は、前記変形アドレスデータが示すアドレスに基づく位置に前記第1書込データに含まれるデジットデータを書き込む第1書込手段(例えば、図1の第1RAM162)を有し、前記第2記憶手段は、前記アドレスデータが示すアドレスに基づく位置に前記第2書込データに含まれるデジットデータを書き込む第2書込手段(例えば、図1の第2RAM163)を有することを特徴としている。
【0019】
この請求項4に記載の発明によれば、振分手段によって書込データに含まれるデジットデータを振り分けることによって、アドレスデータによって指定されたアドレスからデジットデータを第1記憶手段、第2記憶手段に振り分けて記憶することができる。
【0020】
請求項5に記載の発明は、請求項4に記載のメモリ装置であって、前記アドレスデータと、前記書込データに含まれるデジットデータの数を示すデータ長データ及び前記アドレスデータとを入力し、前記第1書込データの内のデジットデータを含まない部分をマスクする第1マスクデータと、前記第2書込データの内のデジットデータを含まない部分をマスクする第2マスクデータとを生成するマスクデータ生成手段(例えば、図2にマスクコントロール回路25)を更に備え、前記第1書込手段は、前記第1書込データの内の前記第1マスクデータによるマスク対象部分以外のデータを書き込むことにより当該第1書込データに含まれるデジットデータを書き込む手段であり、前記第2書込手段は、前記第2書込データの内の前記第2マスクデータによるマスク対象部分以外のデータを書き込むことにより当該第2書込データに含まれるデジットデータを書き込む手段である、ことを特徴としている。
【0021】
この請求項5に記載の発明によれば、第1マスクデータに従って第1記憶手段に第1書込データを書き込むことにより、デジットデータを含まない部分に対応する第1記憶手段内の領域への書き込みを防止することができる。同様に、第2マスクデータに従って第2記憶手段に第2書込データを書き込むことにより、デジットデータを含まない部分に対応する第2記憶手段内の領域への書き込みを防止することができる。
【0022】
【発明の実施の形態】
以下、図1〜図11を参照して、本発明に係るメモリ装置の実施の形態について詳細に説明する。尚、以下においては、本発明を、計算機能を有する関数電卓に適用した場合を例にとって説明するが、本発明が適用可能な実施形態は、これに限定されるものではなく、パソコンやPDA(パーソナルデジタルアシスタント)等、関数電卓以外の各種演算装置でも適用することができる。
【0023】
図1は、関数電卓1の構成を示すブロック図である。同図に示すように、関数電卓1は、CPU(Central Processing Unit)11、入力部12、表示部13、通信制御部14、ROM(Read Only Memory)15、記憶部16及び外部記憶メモリ17によって構成されており、各部はバス18によって接続されている。
【0024】
CPU11は、入力部12の操作に従って対応したデータを入力し、ROM15に予め記憶されているメインプログラム等の命令に従って、入力したデータの処理を行う。そして、処理結果を第1RAM162及び第2RAM163へ記憶すると共に、当該処理結果を表示部13に出力する等の回路各部の動作の制御を行う。
【0025】
入力部12は、ユーザが数値や演算処理の実行指示等を入力する手段である。そしてユーザに操作されたキーに対応する操作信号がCPU11に出力される。
【0026】
表示部13は、入力部12の操作によって入力された文字や符号、CPU11から出力される表示データに基づいた演算結果やグラフ表示等、関数電卓1を使用するために必要な各種データが表示される部分である。
【0027】
通信制御部14は、外部機器と通信回線網を介して各種データを送受信するためのインターフェースであり、CPU11からの信号によって動作する。
【0028】
ROM15は、各種設定処理、各種演算処理等の関数電卓1の動作に係る各種処理プログラムや、関数電卓1の備える種々の機能を実現するためのアプリケーション等を記憶する。
【0029】
記憶部16は、RAM制御部161、第1RAM162及び第2RAM163を備え、CPU11が実行する各種プログラムや、これらのプログラムの実行にかかるデータ等を記憶する。RAM制御部161は、第1RAM162及び第2RAM163へのデータ読み出し/書き込みを制御する機能部であり、バス18を通じてアドレスデータや各種制御信号等が入力されると、併せて入力された入力データを当該アドレスデータに従って第1RAM162と第2RAM163に記憶させたり、第1RAM162と第2RAM163に記憶されているデータを読み出して、バス18上に出力する。
【0030】
第1RAM162及び第2RAM163は、RAM制御部161と接続され、RAM制御部161から出力される信号に従ってデータの読み書きを行う。尚、記憶部16については詳細を後述する。
【0031】
外部記憶メモリ17は、例えば、メモリカード、ハードディスク等の記憶媒体であって、CPU11からの指示信号に従って、各種データの読み書きを行う。
【0032】
図2は記憶部16の一例を示す回路ブロック図である。図2において、RAM制御部161は第1RAM162及び第2RAM163を除く構成要素、即ち、NOR回路21、インバータ回路22及び23、加算回路24、マスクコントロール回路25、データコントロール回路26、出力コントロール回路27を含む。
【0033】
NOR回路21には信号RAMWe及び信号RAMOeが入力される。信号RAMWeは第1RAM162及び第2RAM163の書き込み許可信号であり、信号RAMOeは第1RAM162及び第2RAM163の読み出し許可信号である。NOR回路21から出力された信号はチップイネーブル信号(チップ動作許可信号)として、第1RAM162の端子ce1及び第2RAM163の端子ce2に入力される。
【0034】
インバータ回路22は入力された信号RAMWeを反転させて、第1RAM162の端子we1及び第2RAM163の端子we2に出力する。インバータ回路23は入力された信号RAMOeを反転させて、第1RAM162の端子oe1及び第2RAM163の端子oe2に出力する。
【0035】
信号Adrs[10:0]は信号Adrs0〜Adrs10の11ビットのアドレス信号であり、加算回路24に入力される。加算回路24は入力された信号Adrs[10:0]の示すデータに(100)bを加算する。そして加算した結果のうち下位3ビットを除く上位ビットを信号RAMAdrs[10:3]として第1RAM162の端子ai1に出力する。また第2RAM163の端子ai2には、信号Adrs[10:3]が入力される。
【0036】
マスクコントロール回路25には、信号Adrs[2:0]と信号Length[2:0]が入力される。信号Length[2:0]は信号DataIn[15:0]に含まれるデジットデータの数を示す3ビットの信号である。
【0037】
マスクコントロール回路25は信号Adrs[2:0]及び信号Length[2:0]に基づいて、第1RAM162及び第2RAM163にデータを書き込む際のマスク信号を生成する。マスクコントロール回路25によって生成された信号Mask[31:0]のうち、信号Mask[15:0]は第1RAM162の端子di1に、Mask[31:16]は第2RAM163の端子di2にそれぞれ入力される。
【0038】
データコントロール回路26には、信号Adrs[2:0]と信号DataIn[15:0]が入力される。信号DataIn[15:0]は第1RAM162及び/又は第2RAM163に記憶させるデジットデータを含む信号である。データコントロール回路26は、信号Adrs[2:0]に基づいて信号DataIn[15:0]に含まれるデジットデータを第1RAM162、第2RAM163に振り分ける回路であり、振り分けたデジットデータを信号Rin1[15:0]及び信号Rin2[15:0]として出力する。そして信号Rin1[15:0]は第1RAM162の端子wemi1に入力され、信号Rin2[15:0]は第2RAM163の端子wemi2に入力される。
【0039】
出力コントロール回路27には第1RAM162から出力される信号Rout1[15:0]、第2RAM163から出力される信号Rout2[15:0]及び信号Adrs[2:0]が入力される。出力コントロール回路27は、Adrs[2:0]に基づいて、信号Rout1[15:0]と信号Rout2[15:0]に含まれる8個のデジットデータから、出力すべき4個のデジットデータを抽出し、信号DataOut[15:0]として出力する。
【0040】
図3は第1RAM162及び第2RAM163のデータ構成を説明するための図である。第1RAM162及び第2RAM163には、4ビットで構成されるデジットデータが記憶されている。例えば、第1RAM162にはデータA、B、C、D、・・のデジットデータが記憶されている。
【0041】
アドレス値として第1RAM162には信号RAMAdrs[10:3]が、第2RAM163には信号Adrs[10:3]が入力される。例えば、リードサイクル時において、第1RAM162に入力された信号RAMAdrs[10:3]の示すデータが(00)hの場合、第1RAM162はデータD、C、B及びAの4つのデジットデータを信号Rout1[15:0]として出力する。また、第2RAM163に入力された信号Adrs[10:3]の示すデータが(01)hの場合、第2RAM163はデータR、Q、P及びNの4つのデジットデータを信号Rout2[15:0]として出力する。
【0042】
このように第1RAM162及び第2RAM163はデジットデータを記憶し、1回のリードアクセスで、指定されたアドレスから4つのデジットデータを読み出して出力する。同様に1回のライトアクセスで、入力された4つ以下のデジットデータを指定されたアドレスから記憶する。
【0043】
尚、本実施の形態では1つのデジットデータは4ビットで構成されるデータとして説明するがこれに限らない。更に、第1RAM162及び第2RAM163は1回のリードアクセスで4つのデジットデータを出力することとして説明するが、2個以上のデジットデータであればよい。
【0044】
また、出力コントロール回路27は1回のリードアクセスで4つのデジットデータを読み出して出力することとして説明するが、nを1回のリードアクセスで第1RAM162及び第2RAM163から読み出される数(本実施の形態では“4”)、kを記憶部16に含まれるRAMの数(本実施の形態では“2”)としたときに、出力されるデジットデータの数は1以上{n×(k−1)+1}以下(即ち、RAMの数が2個の場合、1以上(n+1)以下)であればよい。同様、1回のライトアクセスで記憶されるデジットデータの数は、1以上{n×(k−1)+1}(即ち、RAMの数が2個の場合、1以上(n+1)以下)以下の整数であればよい。
【0045】
またこの場合、加算回路24において信号Adrs[10:0]に加算される数値はaは1以上の整数からなる2aとなる。そして加算回路24から出力される信号RAMAdrs[10:3]は、本来のビット幅である[10:0]の下位(a+1)ビットを切り捨てた上位ビットで構成される。また、第2RAM163には、信号Adrs[10:0]のうち下位(a+1)ビットを切り捨てた上位ビットがアドレスデータとして入力される。更に、出力コントロール回路27は信号Adrs[10:0]のうち、下位(a+1)ビット分のデータで表されるアドレスに従って、デジットデータを取り出す環状データの位置を決定する。
【0046】
図3、4及び5を用いて、図2に示した記憶部16のリードアクセス時の動作について説明する。図4は記憶部16のリードアクセス時の動作を説明するためのタイミングチャートの一例であり、図5は記憶部16の動作の過程における各信号の状態の一例を示した図である。
【0047】
尚、以下、図3において、第1RAM162及び第2RAM163に記憶されているデジットデータを変数(“A”、“B”、“C”、・・)で表し、16進数で表記する。つまり、第1RAM162のアドレス(00)hからはデータ(DCBA)hが、第2RAM163のアドレス(00)hからはデータ(HGFE)hが記憶されていることとして説明する。
【0048】
図4において、時間t41で信号Adrs[10:0]が加算回路24に入力されると、加算回路24はAdrs[10:0]に(100)bを加算する。例えば、信号Adrs[10:0]の示すデータが(2)dの場合、(00000000010)b+(100)b=(00000000110)bとなる。そして加算回路24は、この演算結果の下位3ビットを除く上位ビットを信号RAMAdrs[10:3]として出力する。即ち、信号RAMAdrs[10:3]=(00000000)bが第1RAM162の端子ai1に入力される。
【0049】
一方、第2RAM163の端子ai2には、Adrs[10:3]=(00000000)bが入力される。
【0050】
そして、時間t42において信号RAMOeが立ちあがると、第1RAM162及び第2RAM163はデータ読み取り可能な状態となる。つまり、第1RAM162は端子ai1に入力されたアドレスに従ってデータを読み出し、読み出した信号を信号Rout1[15:0]として出力する。第2RAM163は端子ai2に入力されたアドレスに従ってデータを読み出し、読み出した信号をRout2[15:0]として出力する。
【0051】
具体的には、端子ai1に(00000000)bが入力された場合、第1RAM162のアドレス(00000000)b、即ち(00)h番地から記憶されている4[digit](4つのデジットデータを示す)のデータが読み出される。つまりデータ(DCBA)hが読み出される。また端子ai2に(00000000)bが入力された場合、第2RAM163のアドレス(00000000)b、即ち(00)h番地から記憶されている4[digit]のデータ、つまり、データ(HGFE)hが読み出される。
【0052】
第1RAM162及び第2RAM163において読み出されたデータは、それぞれ信号Rout1[15:0]、信号Rout2[15:0]として出力コントロール回路27に入力される。出力コントロール回路27では信号Rout1[15:0]のデータを下位4[digit]、信号Rout2[15:0]のデータを上位4[digit]とする合計8[digit]のデータとして連結し、信号Adrs[2:0]に示すデータ分デジット単位で右シフトする。
【0053】
図5(a)を用いて具体的に説明する。信号Rout1[15:0]としてデータ(DCBA)h、信号Rout2[15:0]としてデータ(HGFE)hが出力コントローラ回路27に入力されたとすると、2つの信号は1つのデータ(HGFEDCBA)hに連結される。連結されたデータはリング状に連結された環状データとみなされる。
【0054】
このとき、信号Adrs[2:0]は(010)bであるため、データ(HGFEDCBA)hについて2回デジット単位で右シフトする。データ(HGFEDCBA)hはリング状に連結された環状データであるため、シフトする際、LSB(最下位ビット)はMSB(最上位ビット)にコピーされる。つまりシフト後のデータは(BAHGFEDC)hとなる。
【0055】
そして出力コントロール回路27は、シフト後のデータにおいて下位4[digit]を信号DataOut[15:0]として出力する。つまり、シフト後のデータが(BAHGFEDC)hの場合、信号DataOut[15:0]はデータ(FEDC)hを出力する。
【0056】
更に、時間t43で信号Adrs[10:0]として(7)dが入力された場合、加算回路24において(00000000111)b+(100)b=(00000001011)bの演算が行われる。そして加算回路24は、演算結果の下位3ビットを除く上位ビットを信号RAMAdrs[10:3]として出力する。即ち、信号RAMAdrs[10:3]=(00000001)bが第1RAM162の端子ai1に入力される。
【0057】
一方、第2RAM163の端子ai2には、Adrs[10:3]=(00000000)bが入力される。
【0058】
そして、時間t44において信号RAMOeが立ちあがると、第1RAM162及び第2RAM163はデータ読み取り可能な状態となる。つまり、第1RAM162の端子ai1には(00000001)bが入力されるため、第1RAM162のアドレス(00000001)b、即ち(01)h番地から記憶されているデータ(MLKJ)hが読み出される。また第2RAM163の端子ai2には(00000000)bが入力されるため、第2RAM163のアドレス(00000000)b、即ち(00)h番地から記憶されているデータ(HGFE)hが読み出される。
【0059】
第1RAM162及び第2RAM163において読み出されたデータは、信号Rout1[15:0]及び信号Rout2[15:0]として出力コントロール回路27に入力される。2つのデータは出力コントロール回路27で連結され、データ(HGFEMLKJ)hとなる。
【0060】
連結されたデータは、信号Adrs[2:0]が示すデータ分デジット単位で右シフトされる。データ(HGFEMLKJ)hはリング状に連結された環状データであるため、シフトする際、LSBはMSBにコピーされる。つまり、シフト後のデータは(GFEMLKJH)hとなる。
【0061】
そして出力コントロール回路27は、シフト後のデータにおいて下位4[digit]を信号DataOut[15:0]として出力する。つまり、シフト後のデータが(GFEMLKJH)hの場合、信号DataOut[15:0]はデータ(LKJH)hを出力する。
【0062】
次に、図6、7及び8を用いて、図2に示した記憶部16のライトアクセス時の動作について説明する。図6は記憶部16のライトアクセス時の動作を説明するためのタイミングチャートの一例であり、図7及び8は記憶部16の動作の過程における各信号の状態の一例を示した図である。
【0063】
時間t61で信号Adrs[10:0]として(10)dが入力された場合、加算回路24において(00000001010)b+(100)b=(00000001110)bの演算が行われる。そして加算回路24は、この演算結果の下位3ビットを除く上位ビットを信号RAMAdrs[10:3]として出力する。即ち、信号RAMAdrs[10:3]=(00000001)bが第1RAM162の端子ai1に入力される。
【0064】
一方、第2RAM163の端子ai2には、信号Adrs[10:3]=(00000001)bが入力される。また、マスクコントロール回路25には、信号Adrs[2:0]と信号Length[2:0]とが入力される。
【0065】
ここで、図7(a)に示すように、マスクコントロール回路25に信号Length[2:0]=(011)bが入力されたこととする。ここで、信号Length[2:0]の示すデータは、DataIn[15:0]に含まれるデジットデータの数である。
【0066】
マスクコントロール回路25は予め8[digit]分の記憶領域を有し、当該記憶領域にマスクデータとしてデータ(FFFFFFFF)hを格納している。そしてマスクコントロール回路25は、当該マスクデータについて、信号Length[2:0]の示すデータ分を下位digitからクリアする。つまり、信号Length[2:0]=(011)b=(3)dであるため、マスクデータは(FFFFF000)hとなる。
【0067】
更にこのマスクデータについて、信号Adrs[2:0]の示すデータ分デジット単位で左シフトする。シフトする際、MSBをLSBにコピーする。つまり、信号Adrs[2:0]=(010)b=(2)dであるため、シフト後のマスクデータは(FFF000FF)hとなる。そしてマスクコントロール回路25はシフト後のマスクデータを信号Mask[31:0]として出力する。即ち、信号Mask[15:0]=(00FF)hを第1RAM162へ、信号Mask[31:16]=(FFF0)hを第2RAM163へ出力する。
【0068】
一方、データコントロール回路26には、信号Adrs[2:0]と信号DataIn[15:0]とが入力される。図7(a)に示すように、信号DataIn[15:0]としてデータ(cba)hが入力されたこととする。
【0069】
データコントロール回路26は、8[digit]分の書込データ用記憶領域を有する。そして入力されたデータ(cba)hを書込データ用記憶領域に格納する。つまり書込データ用記憶領域にはデータ(00000cba)hが格納される。
【0070】
次にデータコントロール回路26は、信号Adrs[2:0]の示すデータ分デジット単位で左シフトする。シフトする際、MSBをLSBにコピーする。つまり信号Adrs[2:0]=(010)b=(2)dであるため、書込データ用記憶領域のデータは(000cba00)hとなる。
【0071】
そしてデータコントロール回路26は、シフト後のデータの下位4digitを信号Rin1[15:0]として、上位4digitを信号Rin2[15:0]としてそれぞれ出力する。つまり信号Rin1[15:0]=(ba00)h、信号Rin2[15:0]=(000c)hを出力する。
【0072】
時間t62において、信号RAMWeが立ち上がると、第1RAM162及び第2RAM163はデータ書き込み可能な状態となる。すると、第1RAM162及び第2RAM163のデータの書き込みが開始するアドレスから、信号Mask[15:0]、信号Mask[31:16]に従って、領域のマスクが行われ、マスクされない領域に信号Rin1[15:0]及び信号Rin2[15:0]の示すデータが書き込まれる。
【0073】
具体的には、第1RAM162において、書き込みを開始するアドレスが(01)hであり、信号Mask[15:0]=(00FF)hが入力された場合、アドレス(01)hから数えて2[digit]分の領域は記憶不可であり、更に次の2[digit]分の領域は記憶可能となる。つまり信号Mask[15:0]のデータが(F)hに相当するデジットデータの領域は書き込み不可であり、(0)hに相当するデジットデータの領域は書き込み可能となる。
【0074】
従って、第1RAM162のアドレス(01)hから信号Rin[15:0]の示すデータ(ba00)hが書き込まれるが、信号Mask[15:0]の示すデータが(00FF)hであるため、アドレス(01)hから数えて4digit分の領域において下位2[digit]分の領域には何も記憶されず、上位2[digit]分の領域に(ba)hが記憶される。
【0075】
同様に、第2RAM163には信号Mask[31:16]=(FFF0)hが入力されるため、アドレス(01)hに(c)hが書き込まれ、次ぐ3digit分の領域はマスクされて何も書き込まれない。図7(b)はデータ書き込み後の第1RAM162及び第2RAM163のデータ構成を示している。
【0076】
更に、時間t63で信号Adrs[10:0]として(20)dが入力された場合、加算回路24において(00000010100)b+(100)b=(00000011000)bの演算が行われる。そして加算回路24は、この演算結果の下位3ビットを除いた上位ビットを信号RAMAdrs[10:3]として出力する。即ち、信号RAMAdrs[10:3]=(00000011)bが第1RAM162の端子ai1に入力される。
【0077】
一方、第2RAM163の端子ai2には、信号Adrs[10:3]=(00000010)bが入力される。また、マスクコントロール回路25には、信号Adrs[2:0]=(100)bと信号Length[2:0]=(100)bとが入力される。
【0078】
次にマスクコントロール回路25は、記憶領域にマスクデータとして予め格納されている8[digit]のデータ(FFFFFFFF)hについて、信号Length[2:0]の示すデータ分を下位digitからクリアする。つまり、信号Length[2:0]=(100)b=(4)dであるため、マスクデータは(FFFF0000)hとなる。
【0079】
更にこのマスクデータについて、信号Adrs[2:0]の示すデータ分デジット単位で左シフトする。信号Adrs[2:0]=(100)b=(4)dであるため、シフト後のマスクデータは(0000FFFF)hとなる。そしてマスクコントロール回路25はシフト後のマスクデータを信号Mask[31:0]として出力する。即ち、信号Mask[15:0]=(FFFF)hを第1RAM162へ、信号Mask[31:16]=(0000)hを第2RAM163へ出力する。
【0080】
一方、データコントロール回路26には、信号Adrs[2:0]=(100)bと信号DataIn[15:0]=(srqp)hが入力される。するとデータコントロール回路26は、入力されたデータ(srqp)hを書込データ用記憶領域に格納する。つまり書込データ用記憶領域にはデータ(0000srqp)hが格納される。
【0081】
次にデータコントロール回路26は、信号Adrs[2:0]の示すデータ分デジット単位で左シフトする。つまり信号Adrs[2:0]=(100)b=(4)dであるため、書込データ用領域のデータは(srqp0000)hとなる。
【0082】
そしてデータコントロール回路26はシフト後のデータの下位4digitを信号Rin1[15:0]として、上位4[digit]を信号Rin2[15:0]としてそれぞれ出力する。つまり信号Rin1[15:0]=(0000)h、信号Rin2[15:0]=(srqp)hを出力する。
【0083】
時間t64において、信号RAMWeが立ち上がると、第1RAM162及び第2RAM163はデータ書き込み可能な状態となる。すると、第1RAM162及び第2RAM163のデータの書き込みが開始するアドレスから、信号Mask[15:0]、信号Mask[31:16]に従って、領域のマスクが行われ、マスクされない領域に信号Rin1[15:0]及び信号Rin2[15:0]の示すデータが書き込まれる。
【0084】
具体的には、第1RAM162において、書き込みを開始するアドレスが(03)hであり、信号Mask[15:0]=(FFFF)hが入力されるため、アドレス(03)hから4[digit]分の領域は記憶不可となる。つまり、第1RAM162には信号Rin1[15:0]=(0000)hが入力されるが、データの記憶は行われない。
【0085】
一方、第2RAM163には信号Mask[31:16]=(0000)hが入力されるため、アドレス(02)hから信号Rin2[15:0]の示すデータ(srqp)hが記憶される。図8(b)はデータ書き込み後の第1RAM162及び第2RAM163のデータ構成を示している。
【0086】
図9は、リードアクセス時の記憶部16の動作の流れを示したフローチャートである。まず加算回路24において信号Adrs[10:0]に(100)bが加算され、演算結果の下位3ビットを除く上位ビットが信号RAMAdrs[10:3]として出力される(ステップA1)。
【0087】
そして、信号RAMAdrs[10:3]の示すアドレス値から記憶された4digit分のデータが第1RAM162から信号Rout1[15:0]として出力される(ステップA2)。同時に、信号Adrs[10:3]の示すアドレス値から記憶された4[digit]分のデータが、第2RAM163から信号Rout2[15:0]として出力される(ステップA3)。
【0088】
次に出力コントロール回路27において、信号Rout1[15:0]と信号Rout2[15:0]の示すデータが8[digit]分のデータに連結される。連結されたデータは、信号Adrs[2:0]の示すデータ分デジット単位で右シフトされる(ステップA4)。シフトされたデータのうち、下位4digitのデータがDataOut[15:0]として出力コントロール回路27から出力される(ステップA5)。
【0089】
図10は、ライトアクセス時の記憶部16の動作の流れを示したフローチャートである。まず加算回路24において信号Adrs[10:0]に(100)bが加算され、演算結果の下位3ビットを除く上位ビットが信号RAMAdrs[10:3]として出力される(ステップB1)。
【0090】
そしてマスクコントロール回路25の有する8[digit]分の記憶領域にマスクデータとして(FFFFFFFF)hが格納される(ステップB2)。次に当該記憶領域に格納されたマスクデータについて、信号Adrs[2:0]の示すデータ分デジット単位で下位デジットからクリアされ(ステップB3)、クリア後のデータについて信号Length[2:0]の示すデータ分デジット単位で左シフトされる(ステップB4)。
【0091】
一方、データコントロール回路26の有する8[digit]分の書込データ用記憶領域の上位4[digit]に(0000)h、下位4[digit]に信号DataIn[15:0]の示すデータが格納される。そして書込データ用記憶領域に格納されたデータは、信号Adrs[2:0]の示すデータ分デジット単位で左シフトされる(ステップB5)。
【0092】
シフト後のデータは、上位4digitを信号Rin2[15:0]、下位4digitを信号Rin1[15:0]として第1RAM162、第2RAM163にそれぞれ出力される(ステップB6)。
【0093】
そして信号RAMAdrs[10:3]及び信号Mask[15:0]に従って、信号Rin1[15:0]の示すデータが第1RAM162に記憶され、信号Adrs[10:3]及び信号Mask[31:16]に従って、信号Rin2[15:0]の示すデータが第2RAM163に記憶される(ステップB7)。
【0094】
このように、所定ビット数で構成されたデジットデータを読み書きする記憶手段(第1RAM162及び第2RAM163)を備える関数電卓1において、記憶手段を2つ設置することにより、データの読み書きを1回のアクセスで行うことができる。従って、記憶手段のアクセス時間を短縮することができ、回路動作の高速化を図ることができる。
【0095】
尚、本実施の形態では、記憶部16は第1RAM162及び第2RAM163の2個のRAMを有することとして説明したが、記憶部16は同様のRAMを3個以上有していてもよい。
【0096】
例えば、記憶部16が3個のRAMを有している場合、各RAMから4[digit]のデータが出力コントロール回路に入力される。即ち、出力コントロール回路には12[digit]のデータが入力されることなる。出力コントロール回路は各RAMから入力されたデータを連結してシフト演算等を行い、8[digit](即ち、32ビット)のデータを1回のアクセスで出力することができる。
【0097】
このように、kが2以上の整数からなるk個のRAMを記憶部16が有する場合、記憶部16は1回のアクセスで4×(k−1)[digit]のデータを出力することができる。尚、この場合、出力コントロール回路の出力データ幅は16×(k−1)ビットとする。
【0098】
次に本実施の形態の有用性について説明する。図11は下記の式(1)に基づいて筆算で平方根を求める方法を示した図である。この方法は一般的に知られているため、詳しい説明を省略する。
【数1】
【0099】
式(1)の計算を関数電卓1で実現するとした場合、例えば、図11(d)において、▲1▼の示す「1100」は「200−189」の演算結果「11」を100倍した数であるため、記憶部16は次の様に機能する。即ち、まず演算結果「11」が第1RAM162のアドレス(00)hの2デジット目から1桁ずつ記憶されているとする。
【0100】
次に演算結果「11」を100倍するために、アドレス(00)hの4digit目と、第2RAM163のアドレス(00)hの1デジット目のそれぞれに「0」が記憶される。しかし「1100」は第1RAM162と第2RAM163にまたがって記憶されるが、1回のリードアクセスで読み出すことができる。
【0101】
つまり、第1RAM162のアドレス(00)hの2digit目から第2RAM163のアドレス(00)hの1デジット目にかけて「1100」が記憶された後、この「1100」を読み出したい場合、信号Adrs[10:0]=(00000000001)bとすれば、第1RAM162のアドレス(00)hから記憶された4つのデジットデータと、第2RAM163のアドレス(00)hから記憶された4つのデジットデータとが読み出されて、出力コントロール回路27に入力される。
【0102】
次に出力コントロール回路27においてデジットデータの連結が行われ、信号Adrs[2:0]=(001)b=(1)dに従って、連結された8個のデジットデータはデジット単位で1回右シフトされる。そしてシフト後のデータの下位4[digit]のデータ、即ち「1100」が出力される。本実施の形態を適用した関数電卓1においてこのような計算を実行した場合、計算処理速度が速めることができ、製品に対する満足度を高めるのに有用である。
【0103】
以上、本発明を適用した実施の形態を説明したが、本発明は上述の実施の形態についてのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【0104】
例えば、記憶部16が1回に出力可能なデジットデータの数(2a個;本実施の形態では4個)や、書き込み可能なデジットデータの数(q個;本実施の形態では1〜4個)を任意に設定可能とし、当該設定に応じて第1RAM162及び第2RAM163のアドレス空間を構成してもよい。
【0105】
【発明の効果】
請求項1に記載の発明によれば、デジットデータを記憶する手段として複数の記憶手段を備えることにより、1ビット以上で構成される2個以上のデジットデータを1回で読み出すことができる。これにより、複数の記憶手段に対するアクセス時間を削減することができ、メモリ装置の動作の高速化を図ることができる。
【0106】
請求項2に記載の発明によれば、アドレス制御手段を備えることにより、第1記憶手段と第2記憶手段から連続した2個以上のデジットデータを常に読み出すことができる。
【0107】
請求項3に記載の発明によれば、出力データ制御手段がデジットデータを取り出すための環状データ中の位置をアドレスデータの切り捨てたビットデータで表されるアドレスに従って決定することにより、第1記憶手段及び第2記憶手段にまたがって記憶されていたデジットデータを1回で読み出すことができる。
【0108】
請求項4に記載の発明によれば、振分手段によって書込データに含まれるデジットデータを振り分けることによって、アドレスデータによって指定されたアドレスからデジットデータを第1記憶手段、第2記憶手段に振り分けて記憶することができる。
【0109】
請求項5に記載の発明によれば、第1マスクデータに従って第1記憶手段に第1書込データを書き込むことにより、デジットデータを含まない部分に対応する第1記憶手段内の領域への書き込みを防止することができる。同様に、第2マスクデータに従って第2記憶手段に第2書込データを書き込むことにより、デジットデータを含まない部分に対応する第2記憶手段内の領域への書き込みを防止することができる。
【図面の簡単な説明】
【図1】関数電卓の内部構成を示すブロック図。
【図2】メモリ装置の回路構成図の一例を示す図。
【図3】第1RAM及び第2RAMのデータ構成を示す図。
【図4】リードアクセス時における記憶部16の動作を示すタイミングチャート。
【図5】リードアクセス時における記憶部16の各種信号の状態を説明する為の図。
【図6】ライトアクセス時における記憶部16の動作を示すタイミングチャート。
【図7】ライトアクセス時における記憶部16の各種信号の状態を説明する為の図。
【図8】ライトアクセス時における記憶部16の各種信号の状態を説明する為の図。
【図9】リードアクセス時における記憶部16の動作を説明する為のフローチャート。
【図10】ライトアクセス時における記憶部16の動作を説明する為のフローチャート。
【図11】本発明の適用例を説明する為の図。
【図12】従来の記憶手段のデータ構成を示す図。
【符号の説明】
1 関数電卓
11 CPU
12 入力部
13 表示部
14 通信制御部
15 ROM
16 記憶部
161 RAM制御部
21 NOR回路
22、23 インバータ回路
24 加算回路
25 マスクコントロール回路
26 データコントロール回路
27 出力コントロール回路
162 第1RAM
163 第2RAM
17 外部記憶メモリ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a memory device provided with a storage unit for storing data.
[0002]
[Prior art]
When reading and writing n digit data (n is an integer of 2 or more) composed of m bits (m is an integer of 1 or more) in a freely readable and writable memory such as a RAM (Random Access Memory), the reading and writing are started. Depending on the address to be accessed, two accesses were required.
[0003]
For example, as shown in FIG. 12, in a memory M composed of a RAM or the like, data S, data T, data U, and data V are sequentially stored from an address (00) h, and a data from an address (01) h. It is assumed that W, data X, data Y, and data Z are sequentially stored. The memory M can be accessed for each of the addresses (00) h, (01) h, (02) h,... And (01) h.
[0004]
Here, for example, when reading data U, data V, data W, and data X, first, data S to V stored from address (00) h are read, and then data from address (01) h are stored. Read data W to Z. Data U, data V, data W, and data X are extracted from the data read twice and output.
[0005]
In addition, two bit lines are connected to the memory cell, and each bit line is alternately operated one cycle at a time, so that the time required for precharging and reading / writing of the memory cell in one bit line is reduced by the conventional two bits. There is known a technique of double securing (see Patent Document 1). According to
[0006]
Further, the following technique is known as the technique of
[0007]
[Patent Document 1]
JP-A-11-273353
[Patent Document 2]
JP-A-11-328011
[0008]
[Problems to be solved by the invention]
As described above, when reading and writing data in the memory M, two accesses are required depending on the address at which reading and writing are started. As the number of accesses increases, the processing time increases, which hinders a high-speed circuit operation.
[0009]
In addition, if a technique such as
[0010]
Furthermore, even if a technique such as that of
[0011]
SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory device having a memory for reading and writing digit data composed of a predetermined number of bits, in which the access time required for reading and writing is reduced.
[0012]
[Means for Solving the Problems]
In order to solve the above problem, a memory device according to the first aspect of the present invention stores a plurality of storage means (for example, a plurality of storage means for storing digit data composed of one or more bits and outputting two or more digit data). The
[0013]
According to the first aspect of the present invention, since a plurality of storage means are provided as means for storing digit data, two or more digit data comprising one bit or more can be read at one time. Thus, the access time to a plurality of storage units can be reduced, and the operation speed of the memory device can be increased.
[0014]
According to a second aspect of the present invention, there is provided a memory device which stores digit data composed of one or more bits and outputs two or more digit data. 1
The second storage means is means for reading and outputting digit data based on the address indicated by the address data.
[0015]
According to the second aspect of the present invention, the provision of the address control means enables continuous reading of two or more digit data from the first storage means and the second storage means.
[0016]
The invention according to
[0017]
According to the third aspect of the present invention, the output data control means determines the position in the circular data for extracting the digit data in accordance with the address represented by the truncated bit data of the address data, so that the first storage is performed. The digit data stored across the means and the second storage means can be read at one time.
[0018]
According to a fourth aspect of the present invention, there is provided a memory device which stores digit data composed of one or more bits and outputs two or more digit data. A
[0019]
According to the fourth aspect of the present invention, the digit data included in the write data is sorted by the sorting means, so that the digit data is transferred from the address specified by the address data to the first storage means and the second storage means. It can be sorted and stored.
[0020]
The invention according to
[0021]
According to the fifth aspect of the present invention, by writing the first write data to the first storage means in accordance with the first mask data, the area in the first storage means corresponding to the portion not including the digit data is written. Writing can be prevented. Similarly, by writing the second write data to the second storage means according to the second mask data, it is possible to prevent writing to an area in the second storage means corresponding to a portion not including digit data.
[0022]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a memory device according to the present invention will be described in detail with reference to FIGS. In the following, a case where the present invention is applied to a scientific calculator having a calculation function will be described as an example. However, embodiments to which the present invention can be applied are not limited thereto, and a personal computer or a PDA ( Various arithmetic devices other than the scientific calculator, such as a personal digital assistant, can be applied.
[0023]
FIG. 1 is a block diagram showing a configuration of the
[0024]
The
[0025]
The
[0026]
The
[0027]
The
[0028]
The
[0029]
The
[0030]
The
[0031]
The
[0032]
FIG. 2 is a circuit block diagram illustrating an example of the
[0033]
The signal RAMWe and the signal RAMOe are input to the NOR
[0034]
The
[0035]
The signal Adrs [10: 0] is an 11-bit address signal of the signals Adrs0 to Adrs10, and is input to the
[0036]
The signal Adrs [2: 0] and the signal Length [2: 0] are input to the
[0037]
The
[0038]
The data control
[0039]
The signal Rout1 [15: 0] output from the
[0040]
FIG. 3 is a diagram for explaining the data configuration of the
[0041]
The signal RAMAdrs [10: 3] is input to the
[0042]
As described above, the
[0043]
In the present embodiment, one digit data is described as data composed of 4 bits, but the present invention is not limited to this. Further, the
[0044]
The
[0045]
In this case, the value added to the signal Adrs [10: 0] in the
[0046]
The operation at the time of read access of the
[0047]
Hereinafter, in FIG. 3, the digit data stored in the
[0048]
In FIG. 4, when the signal Adrs [10: 0] is input to the
[0049]
On the other hand, Adrs [10: 3] = (00000000) b is input to the terminal ai2 of the
[0050]
Then, when the signal RAMOe rises at time t42, the
[0051]
Specifically, when (00000000) b is input to the terminal ai1, 4 [digit] (indicating four digit data) stored from the address (00000000) b of the
[0052]
The data read from the
[0053]
This will be specifically described with reference to FIG. Assuming that data (DCBA) h is input as signal Rout1 [15: 0] and data (HGFE) h is input as signal Rout2 [15: 0] to
[0054]
At this time, since the signal Adrs [2: 0] is (010) b, the data (HGFEDCBA) h is right-shifted twice in units of digits. Since the data (HGFEDCBA) h is ring data connected in a ring, the LSB (least significant bit) is copied to the MSB (most significant bit) when shifting. That is, the data after the shift is (BAHGFEDC) h.
[0055]
Then, the
[0056]
Further, when (7) d is input as the signal Adrs [10: 0] at time t43, the arithmetic operation of (000000000111) b + (100) b = (00000001011) b is performed in the
[0057]
On the other hand, Adrs [10: 3] = (00000000) b is input to the terminal ai2 of the
[0058]
Then, when the signal RAMOe rises at time t44, the
[0059]
The data read from the
[0060]
The concatenated data is right-shifted by the data indicated by the signal Adrs [2: 0] in digit units. Since the data (HGFELKJ) h is circular data connected in a ring, the LSB is copied to the MSB when shifting. That is, the data after the shift is (GFEMLKJH) h.
[0061]
Then, the
[0062]
Next, an operation at the time of write access to the
[0063]
When (10) d is input as the signal Adrs [10: 0] at the time t61, the
[0064]
On the other hand, the signal Adrs [10: 3] = (00000001) b is input to the terminal ai2 of the
[0065]
Here, it is assumed that the signal Length [2: 0] = (011) b is input to the
[0066]
The
[0067]
Further, the mask data is shifted leftward in data units indicated by the signal Adrs [2: 0]. When shifting, the MSB is copied to the LSB. That is, since the signal Adrs [2: 0] = (010) b = (2) d, the mask data after the shift is (FFF000FF) h. Then, the
[0068]
On the other hand, the signal Adrs [2: 0] and the signal DataIn [15: 0] are input to the
[0069]
The data control
[0070]
Next, the
[0071]
Then, the
[0072]
At time t62, when the signal RAMWe rises, the
[0073]
Specifically, in the
[0074]
Accordingly, the data (ba00) h indicated by the signal Rin [15: 0] is written from the address (01) h of the
[0075]
Similarly, since the signal Mask [31:16] = (FFF0) h is input to the
[0076]
Further, when (20) d is input as the signal Adrs [10: 0] at the time t63, the
[0077]
On the other hand, the signal Adrs [10: 3] = (00000010) b is input to the terminal ai2 of the
[0078]
Next, the
[0079]
Further, the mask data is shifted to the left in data units indicated by the signal Adrs [2: 0] in units of digits. Since the signal Adrs [2: 0] = (100) b = (4) d, the mask data after the shift is (0000FFFF) h. Then, the
[0080]
On the other hand, the signal Adrs [2: 0] = (100) b and the signal DataIn [15: 0] = (srqp) h are input to the
[0081]
Next, the
[0082]
The data control
[0083]
At time t64, when the signal RAMWe rises, the
[0084]
Specifically, in the
[0085]
On the other hand, since the signal Mask [31:16] = (0000) h is input to the
[0086]
FIG. 9 is a flowchart showing the flow of the operation of the
[0087]
Then, data of 4 digits stored from the address value indicated by the signal RAMAdrs [10: 3] is output from the
[0088]
Next, in the
[0089]
FIG. 10 is a flowchart showing the flow of the operation of the
[0090]
Then, (FFFFFFFF) h is stored as mask data in the storage area for 8 [digits] of the mask control circuit 25 (step B2). Next, the mask data stored in the storage area is cleared from the lower digit in data units indicated by the signal Adrs [2: 0] in units of digits (step B3), and the cleared data is cleared by the signal Length [2: 0]. The data is shifted leftward by the indicated data in digit units (step B4).
[0091]
On the other hand, (0000) h is stored in the upper 4 [digits] and data indicated by the signal DataIn [15: 0] is stored in the lower 4 [digits] of the write data storage area for 8 [digits] included in the
[0092]
The shifted data is output to the
[0093]
Then, in accordance with the signal RAMAdrs [10: 3] and the signal Mask [15: 0], the data indicated by the signal Rin1 [15: 0] is stored in the
[0094]
As described above, in the scientific
[0095]
In the present embodiment, the
[0096]
For example, when the
[0097]
As described above, when the
[0098]
Next, usefulness of the present embodiment will be described. FIG. 11 is a diagram showing a method of calculating a square root by handwriting based on the following equation (1). Since this method is generally known, a detailed description is omitted.
(Equation 1)
[0099]
If the calculation of the equation (1) is realized by the
[0100]
Next, in order to multiply the calculation result “11” by 100, “0” is stored in each of the fourth digit of the address (00) h and the first digit of the address (00) h in the
[0101]
That is, after “1100” is stored from the second digit of the address (00) h of the
[0102]
Next, the digit data is concatenated in the
[0103]
The embodiment to which the present invention is applied has been described above. However, the present invention is not limited only to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. It is.
[0104]
For example, the number of digit data that the
[0105]
【The invention's effect】
According to the first aspect of the present invention, by providing a plurality of storage means as means for storing digit data, it is possible to read out two or more digit data composed of one or more bits at one time. Thus, the access time to a plurality of storage units can be reduced, and the operation speed of the memory device can be increased.
[0106]
According to the second aspect of the present invention, the provision of the address control means enables continuous reading of two or more digit data from the first storage means and the second storage means.
[0107]
According to the third aspect of the present invention, the output data control means determines the position in the circular data for extracting the digit data in accordance with the address represented by the truncated bit data of the address data, so that the first storage means And the digit data stored across the second storage means can be read at one time.
[0108]
According to the fourth aspect of the present invention, the digitizing data included in the write data is distributed by the distribution unit, so that the digit data is distributed to the first storage unit and the second storage unit from the address specified by the address data. Can be memorized.
[0109]
According to the fifth aspect of the present invention, by writing the first write data to the first storage means in accordance with the first mask data, writing to an area in the first storage means corresponding to a portion not including digit data. Can be prevented. Similarly, by writing the second write data to the second storage means according to the second mask data, it is possible to prevent writing to an area in the second storage means corresponding to a portion not including digit data.
[Brief description of the drawings]
FIG. 1 is a block diagram showing the internal configuration of a scientific calculator.
FIG. 2 is a diagram illustrating an example of a circuit configuration diagram of a memory device.
FIG. 3 is a diagram showing a data configuration of a first RAM and a second RAM.
FIG. 4 is a timing chart showing an operation of a
FIG. 5 is a diagram for explaining states of various signals in a
FIG. 6 is a timing chart showing the operation of the
FIG. 7 is a diagram for explaining states of various signals of a
FIG. 8 is a diagram for explaining states of various signals of a
FIG. 9 is a flowchart for explaining the operation of the
FIG. 10 is a flowchart for explaining the operation of the
FIG. 11 is a diagram for explaining an application example of the present invention.
FIG. 12 is a diagram showing a data configuration of a conventional storage unit.
[Explanation of symbols]
1 Scientific calculator
11 CPU
12 Input section
13 Display
14 Communication control unit
15 ROM
16 Storage unit
161 RAM control unit
21 NOR circuit
22, 23 Inverter circuit
24 Addition circuit
25 Mask control circuit
26 Data control circuit
27 Output control circuit
162 First RAM
163 2nd RAM
17 External storage memory
Claims (5)
前記複数の記憶手段から出力される2個以上のデジットデータをリング状に連結して環状データとみなし、当該環状データのうちの連続するデジットデータを取り出して出力する出力データ制御手段と、
を備えることを特徴とするメモリ装置。A plurality of storage means for storing digit data composed of one or more bits and outputting two or more digit data;
Output data control means for concatenating two or more digit data output from the plurality of storage means in a ring shape and assuming ring data, extracting and outputting continuous digit data from the ring data;
A memory device comprising:
前記第1記憶手段及び前記第2記憶手段それぞれから出力される2個以上のデジットデータをリング状に連結して環状データとみなし、当該環状データのうちの連続するデジットデータを取り出して出力する出力データ制御手段と、
アドレスデータが示すアドレスに整数を加算し変形アドレスデータとして出力するアドレス制御手段と、
前記第1記憶手段は、変形アドレスデータが示すアドレスに基づいて2個以上のデジットデータを読み出して出力する手段であり、
前記第2記憶手段は、アドレスデータが示すアドレスに基づいてデジットデータを読み出して出力する手段である、
ことを特徴とするメモリ装置。First storage means and second storage means for storing digit data composed of one or more bits and outputting two or more digit data;
An output in which two or more digit data output from each of the first storage means and the second storage means are connected in a ring and regarded as ring data, and continuous digit data of the ring data is extracted and output. Data control means;
Address control means for adding an integer to the address indicated by the address data and outputting as modified address data;
The first storage means is means for reading and outputting two or more digit data based on an address indicated by the modified address data,
The second storage means is means for reading and outputting digit data based on an address indicated by the address data,
A memory device characterized by the above-mentioned.
前記第2記憶手段は前記アドレスデータの下位ビットを切り捨てた上位ビットで表されるアドレスに記憶されたデジットデータから2個以上のデジットデータを読み出して出力する手段であり、
前記出力データ制御手段は、デジットデータを取り出す前記環状データ中の位置を前記アドレスデータの切り捨てたビットデータで表されるアドレスに従って決定する手段である、
ことを特徴とする請求項2に記載のメモリ装置。The first storage means is means for reading and outputting two or more digit data from digit data stored at an address represented by an upper bit obtained by truncating lower bits of the modified address data,
The second storage means is means for reading and outputting two or more digit data from digit data stored at an address represented by an upper bit obtained by truncating lower bits of the address data,
The output data control means is means for determining a position in the circular data from which digit data is to be taken out according to an address represented by truncated bit data of the address data.
3. The memory device according to claim 2, wherein:
アドレスデータが示すアドレスに2以上の整数を加算し変形アドレスデータとして出力するアドレス制御手段と、
2個以上のデジットデータから成る書込データを入力し、当該書込データに含まれるデジットデータを第1書込データと第2書込データとに振り分ける振分手段と、
前記第1記憶手段は、前記変形アドレスデータが示すアドレスに基づく位置に前記第1書込データに含まれるデジットデータを書き込む第1書込手段を有し、
前記第2記憶手段は、前記アドレスデータが示すアドレスに基づく位置に前記第2書込データに含まれるデジットデータを書き込む第2書込手段を有する、
ことを特徴とするメモリ装置。First storage means and second storage means for storing digit data composed of one or more bits and outputting two or more digit data;
Address control means for adding an integer of 2 or more to the address indicated by the address data and outputting the result as modified address data;
Distribution means for inputting write data composed of two or more digit data and distributing digit data included in the write data into first write data and second write data;
The first storage means includes first writing means for writing digit data included in the first write data at a position based on an address indicated by the modified address data,
The second storage unit includes a second writing unit that writes digit data included in the second writing data at a position based on an address indicated by the address data.
A memory device characterized by the above-mentioned.
前記第1書込手段は、前記第1書込データの内の前記第1マスクデータによるマスク対象部分以外のデータを書き込むことにより当該第1書込データに含まれるデジットデータを書き込む手段であり、
前記第2書込手段は、前記第2書込データの内の前記第2マスクデータによるマスク対象部分以外のデータを書き込むことにより当該第2書込データに含まれるデジットデータを書き込む手段である、
ことを特徴とする請求項4に記載のメモリ装置。A first input unit that inputs the address data, data length data indicating the number of digit data included in the write data, and the address data, and masks a portion of the first write data that does not include digit data; Mask data generating means for generating mask data and second mask data for masking a portion of the second write data that does not include digit data,
The first writing unit is a unit that writes digit data included in the first write data by writing data other than a portion to be masked by the first mask data in the first write data,
The second writing unit is a unit that writes digit data included in the second write data by writing data other than a portion to be masked by the second mask data in the second write data.
The memory device according to claim 4, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003082201A JP2004288104A (en) | 2003-03-25 | 2003-03-25 | Memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003082201A JP2004288104A (en) | 2003-03-25 | 2003-03-25 | Memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004288104A true JP2004288104A (en) | 2004-10-14 |
Family
ID=33295555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003082201A Abandoned JP2004288104A (en) | 2003-03-25 | 2003-03-25 | Memory device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004288104A (en) |
-
2003
- 2003-03-25 JP JP2003082201A patent/JP2004288104A/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61223876A (en) | Cryptographer and cumulative methed | |
JPH0831025B2 (en) | Multiplication circuit | |
JPH08329261A (en) | Parameteric curve generator | |
JP4863279B2 (en) | Memory system and memory access method | |
JPS5937508B2 (en) | Character pattern generator | |
JP2000503146A (en) | Modular arithmetic coprocessor with integer division circuit | |
JP2004288104A (en) | Memory device | |
KR100417136B1 (en) | Apparatus and Method of Polynomial-Basis Multiplication based on Finite-Field | |
US5751999A (en) | Processor and data memory for outputting and receiving data on different buses for storage in the same location | |
TWI310516B (en) | A method and system for saturating a left shift result using a standard shifter | |
JPH01220528A (en) | Parity generator | |
JP3024156B2 (en) | Variable length data memory interface circuit | |
JP5072558B2 (en) | Data processing device | |
JP3702475B2 (en) | Automatic circuit generator | |
US5673216A (en) | Process and system for adding or subtracting symbols in any base without converting to a common base | |
US7065606B2 (en) | Controller architecture for memory mapping | |
JP2803788B2 (en) | Fast pipeline shifter element with parity prediction and string control | |
JPH05307361A (en) | Data diffusion device and data diffusion method | |
JP3441847B2 (en) | Processor with data memory | |
JP2835366B2 (en) | Address information generator for fast Fourier transform | |
JP4107043B2 (en) | Arithmetic processing unit | |
JP2770516B2 (en) | Drawing method | |
JP2548286B2 (en) | Image data processor | |
JPH0554060A (en) | Coefficient setting circuit | |
JP2005128832A (en) | Data processor and residue arithmetic circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20060227 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090127 |
|
A762 | Written abandonment of application |
Effective date: 20090319 Free format text: JAPANESE INTERMEDIATE CODE: A762 |