JP2004288104A - Memory device - Google Patents

Memory device Download PDF

Info

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
Application number
JP2003082201A
Other languages
Japanese (ja)
Inventor
Tetsukazu Nakae
哲一 仲江
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003082201A priority Critical patent/JP2004288104A/en
Publication of JP2004288104A publication Critical patent/JP2004288104A/en
Abandoned legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a memory device for reducing access time required for reading-writing in a memory device having a memory for reading-writing a plurality of digit data composed of the prescribed bit number. <P>SOLUTION: This memory device has a first RAM 162 and a second RAM 163 for storing the digit data composed of 1 bit or more, and outputting two or more of digit data. An output control circuit 27 takes out and outputs the continuous digit data among annular data by regarding the digit data as the annular data connected in a ring shape by connecting the two or more of digit data respectively outputted from the first RAM 162 and the second RAM 163. Thus, the digit data can be read out by one time read access. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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以上の整数からなる2となる。そして加算回路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】

Figure 2004288104
【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回に出力可能なデジットデータの数(2個;本実施の形態では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 Patent Document 1, since the period of the basic clock can be reduced to half, the memory access can be doubled as a result, and a memory that can be accessed at high speed can be realized. .
[0006]
Further, the following technique is known as the technique of Patent Document 2. That is, the chip enable signal is directly input to the memory without passing through the decode circuit, and the output enable signal and the write enable signal are input to the memory using the decode circuit. Is no longer input to the memory, and the operation of the memory can be started earlier. As a result, the access time of the memory can be reduced (see Patent Document 2).
[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 Patent Document 1 is applied, it is necessary to significantly change the layout of the memory in order to increase the number of bit lines, and this is not practical as a means for easily speeding up the circuit operation. Was.
[0010]
Furthermore, even if a technique such as that of Patent Document 2 is applied, two accesses are required to read and write data depending on the address at which reading and writing are started in the memory M as described above. Could not.
[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 first RAM 162 and the second RAM 163 in FIG. 1) and two or more digit data output from the plurality of storage means are connected in a ring and regarded as ring data, and continuous digit data of the ring data is extracted. Output data control means (for example, the output control circuit 27 in FIG. 2) for outputting the data.
[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 RAM 162 and the second RAM 163) and two or more digit data output from each of the first storage means and the second storage means are connected in a ring shape and regarded as ring data. Output data control means (for example, the output control circuit 27 in FIG. 2) for extracting and outputting data, and address control means (for example, the addition circuit in FIG. 2) for adding an integer to the address indicated by the address data and outputting the result as modified address data 24) and the first storage means stores two or more digit data based on the address indicated by the modified address data. It is a means for outputting out look,
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 claim 3 is the memory device according to claim 2, wherein the first storage means stores digit data stored at an address represented by upper bits obtained by truncating lower bits of the modified address data. Means for reading and outputting two or more digit data from the address data, wherein the second storage means stores two or more digit data from the digit data stored at the address represented by the upper bit obtained by truncating the lower bit of the address data. Means for reading and outputting data, wherein said output data control means is means for determining a position in said annular data from which digit data is to be taken out according to an address represented by truncated bit data of said address data. And
[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 first RAM 162 and a second RAM 163), address control means (for example, an adder circuit 24 in FIG. 2) for adding an integer of 2 or more to the address indicated by the address data and outputting the result as modified address data, and a writing unit comprising two or more digit data. Distribution means (e.g., data control circuit 26 in FIG. 2) for inputting write data and distributing digit data included in the write data into first write data and second write data; Means for writing digit data included in the first write data at a position based on the address indicated by the modified address data (eg, a first write means) For example, the second storage means includes a first RAM 162 of FIG. 1 and the second storage means writes the digit data included in the second write data at a position based on the address indicated by the address data (for example, It is characterized by having the second RAM 163) of FIG.
[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 claim 5 is the memory device according to claim 4, wherein the address data, data length data indicating the number of digit data included in the write data, and the address data are input. Generating first mask data that masks a portion of the first write data that does not include digit data, and second mask data that masks a portion of the second write data that does not include digit data. And a mask data generating unit (for example, a mask control circuit 25 shown in FIG. 2), wherein the first writing unit converts data other than a portion to be masked by the first mask data in the first write data. Means for writing digit data included in the first write data by writing, wherein the second write means includes the second mask of the second write data. A means for writing the digit data included in the second write data by writing data other than masked portion by the data, and characterized in that.
[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 scientific calculator 1. As shown in FIG. 1, the scientific calculator 1 includes a CPU (Central Processing Unit) 11, an input unit 12, a display unit 13, a communication control unit 14, a ROM (Read Only Memory) 15, a storage unit 16, and an external storage memory 17. The components are connected by a bus 18.
[0024]
The CPU 11 inputs corresponding data in accordance with an operation of the input unit 12 and processes the input data in accordance with a command such as a main program stored in the ROM 15 in advance. Then, the processing result is stored in the first RAM 162 and the second RAM 163, and the operation of each circuit unit is controlled, such as outputting the processing result to the display unit 13.
[0025]
The input unit 12 is a unit for the user to input a numerical value, an instruction to execute a calculation process, and the like. Then, an operation signal corresponding to the key operated by the user is output to the CPU 11.
[0026]
The display unit 13 displays various data necessary for using the scientific calculator 1, such as characters and codes input by operation of the input unit 12, calculation results based on display data output from the CPU 11, graph display, and the like. Part.
[0027]
The communication control unit 14 is an interface for transmitting and receiving various data to and from an external device via a communication network, and operates by a signal from the CPU 11.
[0028]
The ROM 15 stores various processing programs related to the operation of the scientific calculator 1 such as various setting processes and various arithmetic processes, applications for realizing various functions of the scientific calculator 1, and the like.
[0029]
The storage unit 16 includes a RAM control unit 161, a first RAM 162, and a second RAM 163, and stores various programs executed by the CPU 11, data related to the execution of these programs, and the like. The RAM control unit 161 is a functional unit that controls data read / write to the first RAM 162 and the second RAM 163. When address data, various control signals, and the like are input through the bus 18, the RAM control unit 161 converts the input data. According to the address data, the data is stored in the first RAM 162 and the second RAM 163, or the data stored in the first RAM 162 and the second RAM 163 is read and output to the bus 18.
[0030]
The first RAM 162 and the second RAM 163 are connected to the RAM control unit 161 and read and write data according to signals output from the RAM control unit 161. The details of the storage unit 16 will be described later.
[0031]
The external storage memory 17 is, for example, a storage medium such as a memory card or a hard disk, and reads and writes various data according to an instruction signal from the CPU 11.
[0032]
FIG. 2 is a circuit block diagram illustrating an example of the storage unit 16. 2, a RAM control unit 161 includes components other than a first RAM 162 and a second RAM 163, that is, a NOR circuit 21, inverter circuits 22 and 23, an addition circuit 24, a mask control circuit 25, a data control circuit 26, and an output control circuit 27. Including.
[0033]
The signal RAMWe and the signal RAMOe are input to the NOR circuit 21. The signal RAMWe is a write enable signal for the first RAM 162 and the second RAM 163, and the signal RAMOe is a read enable signal for the first RAM 162 and the second RAM 163. The signal output from the NOR circuit 21 is input to the terminal ce1 of the first RAM 162 and the terminal ce2 of the second RAM 163 as a chip enable signal (chip operation permission signal).
[0034]
The inverter circuit 22 inverts the input signal RAMWe and outputs the inverted signal to the terminal we1 of the first RAM 162 and the terminal we2 of the second RAM 163. The inverter circuit 23 inverts the input signal RAMOe and outputs the inverted signal to the terminal oe1 of the first RAM 162 and the terminal oe2 of the second RAM 163.
[0035]
The signal Adrs [10: 0] is an 11-bit address signal of the signals Adrs0 to Adrs10, and is input to the addition circuit 24. The adding circuit 24 adds (100) b to the data indicated by the input signal Adrs [10: 0]. Then, of the result of the addition, the upper bits excluding the lower 3 bits are output to the terminal ai1 of the first RAM 162 as the signal RAMAdrs [10: 3]. The signal Adrs [10: 3] is input to the terminal ai2 of the second RAM 163.
[0036]
The signal Adrs [2: 0] and the signal Length [2: 0] are input to the mask control circuit 25. The signal Length [2: 0] is a 3-bit signal indicating the number of digit data included in the signal DataIn [15: 0].
[0037]
The mask control circuit 25 generates a mask signal for writing data in the first RAM 162 and the second RAM 163 based on the signals Adrs [2: 0] and the signal Length [2: 0]. Of the signals Mask [31: 0] generated by the mask control circuit 25, the signal Mask [15: 0] is input to the terminal di1 of the first RAM 162, and the Mask [31:16] is input to the terminal di2 of the second RAM 163. .
[0038]
The data control circuit 26 receives the signals Adrs [2: 0] and the signal DataIn [15: 0]. The signal DataIn [15: 0] is a signal including digit data to be stored in the first RAM 162 and / or the second RAM 163. The data control circuit 26 is a circuit that distributes the digit data included in the signal DataIn [15: 0] to the first RAM 162 and the second RAM 163 based on the signal Adrs [2: 0], and distributes the distributed digit data to the signal Rin1 [15: 0] and a signal Rin2 [15: 0]. Then, the signal Rin1 [15: 0] is input to the terminal wemi1 of the first RAM 162, and the signal Rin2 [15: 0] is input to the terminal wemi2 of the second RAM 163.
[0039]
The signal Rout1 [15: 0] output from the first RAM 162, the signal Rout2 [15: 0] and the signal Adrs [2: 0] output from the second RAM 163 are input to the output control circuit 27. The output control circuit 27 outputs four digit data to be output from the eight digit data included in the signals Rout1 [15: 0] and Rout2 [15: 0] based on Adrs [2: 0]. It is extracted and output as a signal DataOut [15: 0].
[0040]
FIG. 3 is a diagram for explaining the data configuration of the first RAM 162 and the second RAM 163. The first RAM 162 and the second RAM 163 store digit data composed of 4 bits. For example, the first RAM 162 stores digit data of data A, B, C, D,.
[0041]
The signal RAMAdrs [10: 3] is input to the first RAM 162 and the signal Adrs [10: 3] is input to the second RAM 163 as address values. For example, when the data indicated by the signal RAMAdrs [10: 3] input to the first RAM 162 is (00) h in the read cycle, the first RAM 162 outputs the four digit data of data D, C, B, and A to the signal Rout1. Output as [15: 0]. When the data indicated by the signal Adrs [10: 3] input to the second RAM 163 is (01) h, the second RAM 163 outputs the four digit data of data R, Q, P, and N to the signal Rout2 [15: 0]. Is output as
[0042]
As described above, the first RAM 162 and the second RAM 163 store digit data, and read and output four digit data from a designated address by one read access. Similarly, in one write access, four or less input digit data are stored from a designated address.
[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 first RAM 162 and the second RAM 163 will be described as outputting four digit data in one read access, but it is sufficient if the digit data is two or more.
[0044]
The output control circuit 27 will be described as reading and outputting four digit data in one read access. However, n is the number read from the first RAM 162 and the second RAM 163 in one read access (this embodiment). In this case, when “4”) and k is the number of RAMs included in the storage unit 16 (“2” in the present embodiment), the number of digit data to be output is 1 or more Δn × (k−1) +1} or less (that is, 1 or more and (n + 1) or less when the number of RAMs is two). Similarly, the number of digit data stored in one write access is 1 or more and {n × (k−1) +1} (that is, 1 or more and (n + 1) or less when there are two RAMs). It may be an integer.
[0045]
In this case, the value added to the signal Adrs [10: 0] in the adder circuit 24 is such that a is an integer of 1 or more. a It becomes. The signal RAMAdrs [10: 3] output from the adder circuit 24 is composed of upper bits obtained by truncating lower (a + 1) bits of [10: 0], which is the original bit width. Further, upper bits of the signal Adrs [10: 0] obtained by truncating lower (a + 1) bits are input to the second RAM 163 as address data. Further, the output control circuit 27 determines the position of the ring data from which the digit data is to be extracted, according to the address represented by the data of the lower (a + 1) bits in the signal Adrs [10: 0].
[0046]
The operation at the time of read access of the storage unit 16 shown in FIG. 2 will be described with reference to FIGS. FIG. 4 is an example of a timing chart for explaining the operation of the storage unit 16 at the time of read access, and FIG. 5 is a diagram showing an example of the state of each signal in the course of the operation of the storage unit 16.
[0047]
Hereinafter, in FIG. 3, the digit data stored in the first RAM 162 and the second RAM 163 is represented by variables ("A", "B", "C",...) And represented by hexadecimal numbers. That is, it is assumed that data (DCBA) h is stored from the address (00) h of the first RAM 162, and data (HGFE) h is stored from the address (00) h of the second RAM 163.
[0048]
In FIG. 4, when the signal Adrs [10: 0] is input to the addition circuit 24 at time t41, the addition circuit 24 adds (100) b to Adrs [10: 0]. For example, when the data indicated by the signal Adrs [10: 0] is (2) d, (000000000010) b + (100) b = (000000000110) b. Then, the adder circuit 24 outputs the upper bits excluding the lower 3 bits of the operation result as the signal RAMAdrs [10: 3]. That is, the signal RAMAdrs [10: 3] = (00000000) b is input to the terminal ai1 of the first RAM 162.
[0049]
On the other hand, Adrs [10: 3] = (00000000) b is input to the terminal ai2 of the second RAM 163.
[0050]
Then, when the signal RAMOe rises at time t42, the first RAM 162 and the second RAM 163 enter a data readable state. That is, the first RAM 162 reads data in accordance with the address input to the terminal ai1, and outputs the read signal as a signal Rout1 [15: 0]. The second RAM 163 reads data in accordance with the address input to the terminal ai2, and outputs the read signal as Rout2 [15: 0].
[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 first RAM 162, that is, the address (00) h. Is read out. That is, the data (DCBA) h is read. When (00000000) b is input to the terminal ai2, the data of 4 [digit] stored from the address (00000000) b of the second RAM 163, that is, the address (00) h, that is, the data (HGFE) h is read. It is.
[0052]
The data read from the first RAM 162 and the second RAM 163 are input to the output control circuit 27 as a signal Rout1 [15: 0] and a signal Rout2 [15: 0], respectively. The output control circuit 27 connects the data of the signal Rout1 [15: 0] to the lower 4 [digits] and the data of the signal Rout2 [15: 0] to the upper 4 [digits] and concatenates the data as a total of 8 [digits]. The data is shifted to the right by the digit indicated by Adrs [2: 0].
[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 output controller circuit 27, the two signals are converted into one data (HGFEDCBA) h. Be linked. The linked data is considered as ring data linked in a ring.
[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 output control circuit 27 outputs the lower 4 digits of the shifted data as a signal DataOut [15: 0]. That is, when the shifted data is (BAHGFEDC) h, the signal DataOut [15: 0] outputs data (FEDC) h.
[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 adder circuit 24. Then, the adding circuit 24 outputs the upper bits excluding the lower 3 bits of the operation result as the signal RAMAdrs [10: 3]. That is, the signal RAMAdrs [10: 3] = (00000001) b is input to the terminal ai1 of the first RAM 162.
[0057]
On the other hand, Adrs [10: 3] = (00000000) b is input to the terminal ai2 of the second RAM 163.
[0058]
Then, when the signal RAMOe rises at time t44, the first RAM 162 and the second RAM 163 enter a data readable state. That is, since (00000001) b is input to the terminal ai1 of the first RAM 162, the data (MLKJ) h stored from the address (00000001) b of the first RAM 162, that is, the address (01) h is read. Since (00000000) b is input to the terminal ai2 of the second RAM 163, the stored data (HGFE) h is read from the address (00000000) b of the second RAM 163, that is, the address (00) h.
[0059]
The data read from the first RAM 162 and the second RAM 163 is input to the output control circuit 27 as a signal Rout1 [15: 0] and a signal Rout2 [15: 0]. The two data are connected by the output control circuit 27 to become data (HGFELKJ) h.
[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 output control circuit 27 outputs the lower 4 digits of the shifted data as a signal DataOut [15: 0]. That is, when the shifted data is (GFEMLKJH) h, the signal DataOut [15: 0] outputs data (LKJH) h.
[0062]
Next, an operation at the time of write access to the storage unit 16 shown in FIG. 2 will be described with reference to FIGS. FIG. 6 is an example of a timing chart for explaining the write access operation of the storage unit 16, and FIGS. 7 and 8 are diagrams showing an example of the state of each signal during the operation of the storage unit 16.
[0063]
When (10) d is input as the signal Adrs [10: 0] at the time t61, the addition circuit 24 performs an operation of (0000001010) b + (100) b = (00000001110) b. Then, the adder circuit 24 outputs the upper bits excluding the lower 3 bits of the operation result as the signal RAMAdrs [10: 3]. That is, the signal RAMAdrs [10: 3] = (00000001) b is input to the terminal ai1 of the first RAM 162.
[0064]
On the other hand, the signal Adrs [10: 3] = (00000001) b is input to the terminal ai2 of the second RAM 163. Further, the signal Adrs [2: 0] and the signal Length [2: 0] are input to the mask control circuit 25.
[0065]
Here, it is assumed that the signal Length [2: 0] = (011) b is input to the mask control circuit 25 as shown in FIG. Here, the data indicated by the signal Length [2: 0] is the number of digit data included in DataIn [15: 0].
[0066]
The mask control circuit 25 has a storage area for 8 [digits] in advance, and stores data (FFFFFFFF) h as mask data in the storage area. Then, the mask control circuit 25 clears the data indicated by the signal Length [2: 0] from the lower digit of the mask data. That is, since the signal Length [2: 0] = (011) b = (3) d, the mask data is (FFFFF000) h.
[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 mask control circuit 25 outputs the shifted mask data as a signal Mask [31: 0]. That is, the signal Mask [15: 0] = (00FF) h is output to the first RAM 162, and the signal Mask [31:16] = (FFF0) h is output to the second RAM 163.
[0068]
On the other hand, the signal Adrs [2: 0] and the signal DataIn [15: 0] are input to the data control circuit 26. As shown in FIG. 7A, it is assumed that data (cba) h is input as a signal DataIn [15: 0].
[0069]
The data control circuit 26 has a storage area for write data for 8 [digits]. Then, the input data (cba) h is stored in the write data storage area. That is, the data (00000cba) h is stored in the write data storage area.
[0070]
Next, the data control circuit 26 shifts to the left by the data indicated by the signal Adrs [2: 0] in digit units. When shifting, the MSB is copied to the LSB. That is, since the signal Adrs [2: 0] = (010) b = (2) d, the data in the write data storage area is (000cba00) h.
[0071]
Then, the data control circuit 26 outputs the lower 4 digits of the shifted data as a signal Rin1 [15: 0] and outputs the upper 4 digits as a signal Rin2 [15: 0]. That is, the signal Rin1 [15: 0] = (ba00) h and the signal Rin2 [15: 0] = (000c) h are output.
[0072]
At time t62, when the signal RAMWe rises, the first RAM 162 and the second RAM 163 enter a state in which data can be written. Then, according to the signals Mask [15: 0] and Signal [31:16], the area is masked from the address where the data writing of the first RAM 162 and the second RAM 163 starts, and the signal Rin1 [15: 0] and the signal Rin2 [15: 0] are written.
[0073]
Specifically, in the first RAM 162, when the address to start writing is (01) h and the signal Mask [15: 0] = (00FF) h is input, 2 [is counted from the address (01) h. The area corresponding to [digit] cannot be stored, and the area corresponding to the next 2 [digit] can be stored. That is, the area of the digit data corresponding to the signal Mask [15: 0] corresponding to (F) h is not writable, and the area of the digit data corresponding to (0) h is writable.
[0074]
Accordingly, the data (ba00) h indicated by the signal Rin [15: 0] is written from the address (01) h of the first RAM 162. However, since the data indicated by the signal Mask [15: 0] is (00FF) h, the address In the area of 4 digits counted from (01) h, nothing is stored in the area of the lower 2 [digits], and (ba) h is stored in the area of the upper 2 [digits].
[0075]
Similarly, since the signal Mask [31:16] = (FFF0) h is input to the second RAM 163, (c) h is written in the address (01) h, and the area for the next 3 digits is masked and nothing is written. Not written. FIG. 7B shows the data configuration of the first RAM 162 and the second RAM 163 after data writing.
[0076]
Further, when (20) d is input as the signal Adrs [10: 0] at the time t63, the addition circuit 24 performs the calculation of (00000010100) b + (100) b = (0000000011000) b. Then, the addition circuit 24 outputs the upper bits of the operation result excluding the lower 3 bits as the signal RAMAdrs [10: 3]. That is, the signal RAMAdrs [10: 3] = (0000011) b is input to the terminal ai1 of the first RAM 162.
[0077]
On the other hand, the signal Adrs [10: 3] = (00000010) b is input to the terminal ai2 of the second RAM 163. The mask control circuit 25 receives the signal Adrs [2: 0] = (100) b and the signal Length [2: 0] = (100) b.
[0078]
Next, the mask control circuit 25 clears the data indicated by the signal Length [2: 0] from the lower digit for the 8 [digit] data (FFFFFFFF) h previously stored as mask data in the storage area. That is, since the signal Length [2: 0] = (100) b = (4) d, the mask data is (FFFF0000) h.
[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 mask control circuit 25 outputs the shifted mask data as a signal Mask [31: 0]. That is, the signal Mask [15: 0] = (FFFF) h is output to the first RAM 162, and the signal Mask [31:16] = (0000) h is output to the second RAM 163.
[0080]
On the other hand, the signal Adrs [2: 0] = (100) b and the signal DataIn [15: 0] = (srqp) h are input to the data control circuit 26. Then, the data control circuit 26 stores the input data (srqp) h in the write data storage area. That is, data (0000srqp) h is stored in the write data storage area.
[0081]
Next, the data control circuit 26 shifts to the left by the data indicated by the signal Adrs [2: 0] in digit units. That is, since the signal Adrs [2: 0] = (100) b = (4) d, the data in the write data area is (srqp0000) h.
[0082]
The data control circuit 26 outputs the lower 4 digits of the shifted data as the signal Rin1 [15: 0] and the upper 4 digits as the signal Rin2 [15: 0]. That is, the signal Rin1 [15: 0] = (0000) h and the signal Rin2 [15: 0] = (srqp) h are output.
[0083]
At time t64, when the signal RAMWe rises, the first RAM 162 and the second RAM 163 enter a state in which data can be written. Then, according to the signals Mask [15: 0] and Signal [31:16], the area is masked from the address where the data writing of the first RAM 162 and the second RAM 163 starts, and the signal Rin1 [15: 0] and the signal Rin2 [15: 0] are written.
[0084]
Specifically, in the first RAM 162, the address at which writing is started is (03) h, and the signal Mask [15: 0] = (FFFF) h is input, so 4 [digit] from the address (03) h The minute area cannot be stored. That is, the signal Rin1 [15: 0] = (0000) h is input to the first RAM 162, but the data is not stored.
[0085]
On the other hand, since the signal Mask [31:16] = (0000) h is input to the second RAM 163, data (srqp) h indicated by the signal Rin2 [15: 0] is stored from the address (02) h. FIG. 8B shows the data configuration of the first RAM 162 and the second RAM 163 after data writing.
[0086]
FIG. 9 is a flowchart showing the flow of the operation of the storage unit 16 at the time of read access. First, (100) b is added to the signal Adrs [10: 0] in the adding circuit 24, and the upper bits excluding the lower 3 bits of the operation result are output as the signal RAMAdrs [10: 3] (step A1).
[0087]
Then, data of 4 digits stored from the address value indicated by the signal RAMAdrs [10: 3] is output from the first RAM 162 as a signal Rout1 [15: 0] (step A2). At the same time, data of 4 digits stored from the address value indicated by the signal Adrs [10: 3] is output from the second RAM 163 as a signal Rout2 [15: 0] (step A3).
[0088]
Next, in the output control circuit 27, the data indicated by the signals Rout1 [15: 0] and Rout2 [15: 0] is connected to data of 8 [digits]. The concatenated data is right-shifted by the data indicated by the signal Adrs [2: 0] in digit units (step A4). Out of the shifted data, the lower 4 digits of data are output from the output control circuit 27 as DataOut [15: 0] (step A5).
[0089]
FIG. 10 is a flowchart showing the flow of the operation of the storage unit 16 at the time of write access. First, (100) b is added to the signal Adrs [10: 0] in the adding circuit 24, and the upper bits excluding the lower three bits of the operation result are output as the signal RAMAdrs [10: 3] (step B1).
[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 data control circuit 26. Is done. Then, the data stored in the write data storage area is shifted to the left by the data indicated by the signal Adrs [2: 0] in digit units (step B5).
[0092]
The shifted data is output to the first RAM 162 and the second RAM 163 with the upper 4 digits as the signal Rin2 [15: 0] and the lower 4 digits as the signal Rin1 [15: 0] (step B6).
[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 first RAM 162, and the signal Adrs [10: 3] and the signal Mask [31:16] , The data indicated by the signal Rin2 [15: 0] is stored in the second RAM 163 (step B7).
[0094]
As described above, in the scientific electronic calculator 1 including the storage means (the first RAM 162 and the second RAM 163) for reading and writing digit data composed of a predetermined number of bits, by installing two storage means, it is possible to read and write data once. Can be done with Therefore, the access time of the storage means can be reduced, and the speed of the circuit operation can be increased.
[0095]
In the present embodiment, the storage unit 16 has been described as having two RAMs, the first RAM 162 and the second RAM 163, but the storage unit 16 may have three or more similar RAMs.
[0096]
For example, when the storage unit 16 has three RAMs, 4 [digit] data is input from each RAM to the output control circuit. That is, 12 digit data is input to the output control circuit. The output control circuit concatenates the data input from each RAM, performs a shift operation and the like, and can output 8 digit (ie, 32 bits) data in one access.
[0097]
As described above, when the storage unit 16 includes k RAMs where k is an integer of 2 or more, the storage unit 16 can output 4 × (k−1) [digit] data in one access. it can. In this case, the output data width of the output control circuit is 16 × (k−1) bits.
[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)
Figure 2004288104
[0099]
If the calculation of the equation (1) is realized by the scientific calculator 1, for example, in FIG. 11D, “1100” indicated by (1) is a number obtained by multiplying the calculation result “11” of “200-189” by 100. Therefore, the storage unit 16 functions as follows. That is, first, it is assumed that the calculation result “11” is stored digit by digit from the second digit of the address (00) h in the first RAM 162.
[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 second RAM 163. However, although "1100" is stored across the first RAM 162 and the second RAM 163, it can be read by one read access.
[0101]
That is, after “1100” is stored from the second digit of the address (00) h of the first RAM 162 to the first digit of the address (00) h of the second RAM 163, if the “1100” is to be read, the signal Adrs [10: 0] = (000000000001) b, the four digit data stored from the address (00) h of the first RAM 162 and the four digit data stored from the address (00) h of the second RAM 163 are read out. Then, it is input to the output control circuit 27.
[0102]
Next, the digit data is concatenated in the output control circuit 27, and the concatenated eight digit data is right-shifted once in digit units according to the signal Adrs [2: 0] = (001) b = (1) d. Is done. Then, the lower 4 [digit] data of the shifted data, that is, “1100” is output. When such a calculation is performed in the scientific electronic calculator 1 to which the present embodiment is applied, the calculation processing speed can be increased, which is useful for increasing the satisfaction with the product.
[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 storage unit 16 can output at one time (2 a Number; four in this embodiment) and the number of writable digit data (q; 1-4 in this embodiment) can be arbitrarily set, and the first RAM 162 and the second RAM 163 are set according to the setting. May be configured.
[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 storage unit 16 at the time of read access.
FIG. 5 is a diagram for explaining states of various signals in a storage unit 16 at the time of read access.
FIG. 6 is a timing chart showing the operation of the storage unit 16 during a write access.
FIG. 7 is a diagram for explaining states of various signals of a storage unit 16 at the time of write access.
FIG. 8 is a diagram for explaining states of various signals of a storage unit 16 at the time of write access.
FIG. 9 is a flowchart for explaining the operation of the storage unit 16 at the time of read access.
FIG. 10 is a flowchart for explaining the operation of the storage unit 16 at the time of write access.
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)

1ビット以上で構成されるデジットデータを記憶し、2個以上のデジットデータを出力する複数の記憶手段と、
前記複数の記憶手段から出力される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個以上のデジットデータを出力する第1記憶手段及び第2記憶手段と、
前記第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.
前記第1記憶手段は前記変形アドレスデータの下位ビットを切り捨てた上位ビットで表されるアドレスに記憶されたデジットデータから2個以上のデジットデータを読み出して出力する手段であり、
前記第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:
1ビット以上で構成されるデジットデータを記憶し、2個以上のデジットデータを出力する第1記憶手段及び第2記憶手段と、
アドレスデータが示すアドレスに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マスクデータと、前記第2書込データの内のデジットデータを含まない部分をマスクする第2マスクデータとを生成するマスクデータ生成手段を更に備え、
前記第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:
JP2003082201A 2003-03-25 2003-03-25 Memory device Abandoned JP2004288104A (en)

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)

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