JP2019175531A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2019175531A JP2019175531A JP2018064196A JP2018064196A JP2019175531A JP 2019175531 A JP2019175531 A JP 2019175531A JP 2018064196 A JP2018064196 A JP 2018064196A JP 2018064196 A JP2018064196 A JP 2018064196A JP 2019175531 A JP2019175531 A JP 2019175531A
- Authority
- JP
- Japan
- Prior art keywords
- voltage
- data
- address
- processing unit
- instruction
- 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.)
- Pending
Links
Images
Landscapes
- Semiconductor Memories (AREA)
- Dram (AREA)
Abstract
【課題】任意のN進法のデータ(Nは3以上の整数)の書き込み及び読み出しが可能な情報処理装置を提供する。【解決手段】情報処理装置は、演算処理装置110と、スイッチ素子及び容量素子を有する記憶素子を複数含む記憶装置120とを備える。記憶装置は、書き込み処理部と読み出し処理部とを備える。書き込み処理部は、書き込み処理を指示する命令を受けたとき、容量素子に対する電圧の印加時間を変化させることにより、N進データ(Nは3以上の整数)のそれぞれに対応する電圧を容量素子に生じさせるように構成されている。読み出し処理部は、読み出し処理を指示する命令を受けたとき、容量素子の電圧が所定の電圧閾値に下がるまでの時間を測定し、当該測定された時間に応じたデータを演算処理装置に出力するように構成されている。【選択図】図1
Description
本発明は、演算処理装置及び記憶装置を備える情報処理装置に関する。
コンピュータでは、中央演算処理装置(CPU)の作業領域として、メモリ及びキャッシュ等の記憶装置が用いられる。CPUは、記憶装置からデータを読み込んだり又は記憶装置にデータを書き込んだりして、演算処理を実行する。
ところで、コンピュータの処理速度の向上を目的として、N進法(Nは3以上の整数であり、例えば、10進法)で表現された電気信号を用いて演算処理を行う演算回路が提案されている(例えば、特許文献1を参照。)。
しかしながら、依然として、任意のN進法でデータを記憶することが可能な単一の記憶素子が実現されてない。このような事情から、現状においては、CPUの作業領域として、2進データ(0又は1)を記憶する記憶素子が用いられている。従って、CPUと記憶装置との間でのデータのやり取りが2進データを用いて行われるので、コンピュータの処理速度を十分に向上させることができない。
本発明は、上記課題を解決するためになされた。即ち、本発明の目的の一つは、任意のN進法のデータ(Nは3以上の整数)の書き込み及び読み出しが可能な情報処理装置を提供することである。
本発明の情報処理装置(以下、「本発明装置」と称呼される場合がある。)は、演算処理装置(110)と、複数の記憶素子(250)を含む記憶装置(120)とを備える。前記複数の記憶素子の各々が、容量素子(310)及びスイッチ素子(320)を有する。前記スイッチ素子は、前記容量素子の状態を、充電可能状態と、放電状態と、の何れかに切り替えるように構成されている。
前記演算処理装置は、前記複数の記憶素子のそれぞれへのN進データ(Nは3以上の整数)の書き込み処理を指示する命令及び前記複数のそれぞれの記憶素子からの前記N進データの読み出し処理を指示する命令を前記記憶装置に送るように構成されている。
前記記憶装置は、
前記演算処理装置から前記書き込み処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記充電可能状態に設定するとともに、所定の書込み用電圧を前記容量素子に印加するように構成された書き込み処理部であって、前記所定の書込み用電圧の印加時間を変化させることにより、前記N進データのそれぞれに対応する電圧を前記容量素子に生じさせるように構成された書き込み処理部(260)と、
前記演算処理装置から前記読み出し処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記放電状態に設定するとともに、前記容量素子の電圧が所定の電圧閾値に下がるまでの時間(T1)を測定し、当該測定された時間に応じたデータを前記演算処理装置に出力するように構成された読み出し処理部(270)と、
を備える。
前記演算処理装置は、前記複数の記憶素子のそれぞれへのN進データ(Nは3以上の整数)の書き込み処理を指示する命令及び前記複数のそれぞれの記憶素子からの前記N進データの読み出し処理を指示する命令を前記記憶装置に送るように構成されている。
前記記憶装置は、
前記演算処理装置から前記書き込み処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記充電可能状態に設定するとともに、所定の書込み用電圧を前記容量素子に印加するように構成された書き込み処理部であって、前記所定の書込み用電圧の印加時間を変化させることにより、前記N進データのそれぞれに対応する電圧を前記容量素子に生じさせるように構成された書き込み処理部(260)と、
前記演算処理装置から前記読み出し処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記放電状態に設定するとともに、前記容量素子の電圧が所定の電圧閾値に下がるまでの時間(T1)を測定し、当該測定された時間に応じたデータを前記演算処理装置に出力するように構成された読み出し処理部(270)と、
を備える。
係る構成を有する本発明装置は、N進データの形式で、データを単一の記憶素子に書き込むことができる。更に、本発明装置は、N進データの形式で、データを単一の記憶素子から読み出すことができる。情報処理装置が一度に処理できるデータ量が、従来の装置(即ち、2進データを扱う装置)と比べて増加するので、処理速度を向上させることができる。更に、単一の記憶素子がN進データを記憶することができるので、記憶装置の集積度(単位面積当たりに記憶可能なデータ量)が向上する。
上記説明においては、本発明の理解を助けるために、後述する実施形態に対応する発明の構成に対し、その実施形態で用いた名称及び/又は符号を括弧書きで添えている。しかしながら、本発明の各構成要素は、前記名称及び/又は符号によって規定される実施形態に限定されるものではない。
以下、添付図面を参照して本発明の実施形態に係る情報処理装置(以下、「本実施装置」と称呼される場合がある。)について説明する。以下では、10進法のデータを扱うことが可能な情報処理装置について説明する。
<構成>
本発明の実施形態に係る情報処理装置は、図1に示すように、中央演算処理装置(CPU)110及び主記憶装置120を備える。
本発明の実施形態に係る情報処理装置は、図1に示すように、中央演算処理装置(CPU)110及び主記憶装置120を備える。
(CPUの構成)
CPU110は、制御装置111と、演算装置(Arithmetic logic unit。以下、「ALU」と称呼する。)112と、データキャッシュ113と、プログラムカウンタ114と、命令レジスタ115と、レジスタ116とを備える。
CPU110は、制御装置111と、演算装置(Arithmetic logic unit。以下、「ALU」と称呼する。)112と、データキャッシュ113と、プログラムカウンタ114と、命令レジスタ115と、レジスタ116とを備える。
制御装置111は、入力された命令をデコードし、当該命令を実行するようになっている。ALU112は、四則演算及び論理演算等の各種演算処理を行う演算器である。データキャッシュ113は、使用頻度の高いデータを一時的に記憶しておく緩衝記憶装置である。
プログラムカウンタ114は、次に実行する命令のアドレス(主記憶装置120上のアドレス)を記憶するレジスタである。プログラムカウンタ114は、一つの命令を実行するごとにカウンタの値を増加させて、次の命令のアドレスを示すようになっている。命令レジスタ115は、プログラムカウンタ114によって示された主記憶装置120上のアドレスから読み出された命令、即ち、次に実行する命令を記憶するレジスタである。命令レジスタ115に読み出された命令は制御装置111に入力される。
レジスタ116は、複数のレジスタ部を有している。レジスタ116は、主記憶装置120から読み出されたデータ、ALU112の演算処理の途中で得られたデータ、及び、ALU112の演算処理の結果得られたデータ等を記憶する。
(主記憶装置の構成)
主記憶装置120は、制御装置111によって実行される命令、並びに、ALU112における演算処理に用いられるデータ及びその演算処理結果のデータ等を記憶する。
主記憶装置120は、制御装置111によって実行される命令、並びに、ALU112における演算処理に用いられるデータ及びその演算処理結果のデータ等を記憶する。
CPU110と主記憶装置120とは、アドレスバス131、データバス132及びコントロールバス133によって接続されている。アドレスバス131は、書き込み又は読み出し対象となる主記憶装置120上のアドレスを指定するために使用される信号線である。データバス132は、CPU110から主記憶装置120へのデータの送信及び主記憶装置120からCPU110へのデータの送信のために使用される信号線である。コントロールバス133は、主記憶装置120に対して、書き込み処理を行うか又は読み出し処理を行うのかを指定するために使用される信号線である。
図2に示すように、主記憶装置120は、メモリセルアレイ210と、アドレス選択部220と、制御部230と、センスアンプ240とを備える。
メモリセルアレイ210は、第1方向DR1に沿って互いに平行に配列された複数のワード線WLと、第1方向DR1に略直交する第2方向DR2に沿って互いに平行に配列された複数のビット線BLと、ワード線WLとビット線BLの各交差部に形成された複数のメモリセル(記憶素子)250とを備える。ワード線WL及びビット線BLをそれぞれ選択することにより、ワード線WLとビット線BLの交差部にある一つのメモリセル250に対して書き込み処理又は読み出し処理を行うことができる。なお、各メモリセル250には、固有のアドレス(例えば、整数値)が割り当てられている。
図3に示すように、メモリセル250は、スイッチ素子310と、容量素子320とを有する。スイッチ素子310は、例えばMOS(Metal Oxide Semiconductor)トランジスタである。容量素子320はコンデンサである。スイッチ素子310の一方の端子はビット線BLに接続され、他方の端子は容量素子320に接続されている。スイッチ素子310の制御端子は、ワード線WLに接続されている。なお、複数のメモリセル250は全て同一構成を有していることから、以降、一つのメモリセル250に着目して書き込み処理及び読み出し処理を説明する。
図2に示すように、アドレス選択部220は、アドレスバス131を介して、メモリセルアレイ210上のアドレスを指定する電圧信号(以下、「アドレス信号」と称呼する場合がある。)を受け取る。アドレス選択部220は、アドレス信号を受け取ると、そのアドレス信号からメモリセルアレイ210上のアドレスを求める。アドレス選択部220は、求められたアドレスに対応するメモリセル250に対してデータの書き込み処理又は読み出し処理が行えるように、当該アドレスに対応するワード線WLに所定の電圧を印加するようになっている。これにより、書込み用電圧が印加されたワード線WLに制御端子が接続されているスイッチ素子310の状態が非導通(OFF)状態から導通(ON)状態へと変更される。以下、この所定の電圧は「スイッチオン電圧」とも称呼される。
制御部230は、コントロールバス133を介して、書き込み処理を行うか又は読み出し処理を行うのかを指定する電圧信号(以下、「制御信号」と称呼する場合がある。)を受け取る。更に、制御部230は、アドレス選択部220からアドレスの情報を受け取る。制御部230は、制御信号に応じて、指定されたアドレスに対応するメモリセル250に対してデータの書き込み処理又は読み出し処理の何れかを実行するようになっている。
制御部230は、機能的に見た場合、書き込み処理部260及び読み出し処理部270を備える。書き込み処理部260は、書き込み処理を指定する制御信号を受け取ると、指定されたアドレスに対応するビット線BLに書込み用電圧を印加することにより書き込み処理を実行する。この書込み用電圧は、図示しない電源の電圧を一定の電圧となるように調整した電圧である。
読み出し処理部270は、読み出し処理を指定する制御信号を受け取ると、指定されたアドレスに対応するビット線BLの電圧を監視して、指定されたアドレスに対応するメモリセル250に記憶されていた値を判定する(読み取る)。読み出し処理部270は、当該判定された値を表す電圧信号(後述する「第2基準電圧Vref2の電圧信号」)を生成して、当該電圧信号をデータバス132を介してCPU110に送信する。
センスアンプ240は、メモリセルアレイ210と制御部230との間に配置されている。センスアンプ240は、読み出し処理を実行する際に、ビット線BLの電圧を増幅して、読み出し処理部270に出力するようになっている。
<書き込み処理>
本実施形態では、メモリセル250の容量素子320が、10進法のデータ(以下、単に「10進データ」と称呼する。)を記憶するようになっている。具体的には、図4に示すように、容量素子320における電圧値V0乃至V9によって10進データが表現される。例えば、電圧値V0は、10進データの「0」に対応する。電圧値V1は、10進データの「1」に対応する。「n」を「0」乃至「9」の整数とするとき、電圧値Vnはnが大きいほど大きくなる。
本実施形態では、メモリセル250の容量素子320が、10進法のデータ(以下、単に「10進データ」と称呼する。)を記憶するようになっている。具体的には、図4に示すように、容量素子320における電圧値V0乃至V9によって10進データが表現される。例えば、電圧値V0は、10進データの「0」に対応する。電圧値V1は、10進データの「1」に対応する。「n」を「0」乃至「9」の整数とするとき、電圧値Vnはnが大きいほど大きくなる。
メモリセル250に10進データを書き込むとき、書き込み処理部260は、記憶すべき10進データに応じて、容量素子320に対する書込み用電圧の印加時間(即ち、充電時間)を変化させる。図5は、横軸を時間として、上記書込み用電圧としての所定の第1基準電圧Vref1を容量素子320に印加したときの容量素子320の電圧の変化を示したグラフである。このように、容量素子320に対する第1基準電圧Vref1の印加時間をta1からta9に変化させることによって、10進データの各々に対応する電圧値V0乃至V9を容量素子320に生じさせることができる。
例えば、容量素子320に10進データの「1」を記憶する場合について説明する。アドレス選択部220は、指定されたアドレスに対応するワード線WLにスイッチオン電圧を印加する。これにより、指定されたアドレスに対応するメモリセル250のスイッチ素子310がON状態となる。これにより、指定されたアドレスに対応するメモリセル250の容量素子320が、充電可能な状態(以降、「充電可能状態」と称呼する場合がある。)となる。容量素子320が充電可能状態となっている間に、書き込み処理部260は、図6に示すように、指定されたアドレスに対応するビット線BLに第1基準電圧Vref1を時間ta1だけ印加する。これにより、容量素子320が充電され、容量素子320の電圧はV1になる。即ち、容量素子320は「1」を記憶した状態になる。第1基準電圧Vref1の印加時間が時間ta1に達した時点にて、アドレス選択部220は、指定されたアドレスに対応するワード線WLの電圧を下げることにより、メモリセル250のスイッチ素子310をOFF状態にする。これにより、容量素子320に蓄積された電荷が保持される(以降、この状態を「電荷保持状態」と称呼する場合がある。)。即ち、容量素子320の電圧がV1で保持される。
なお、容量素子320に10進データの「0」を記憶する場合、アドレス選択部220は、指定されたアドレスに対応するワード線WLにスイッチオン電圧を十分に長い時間(後述する時間tb9よりも長い時間)印加する。これにより、指定されたアドレスに対応するメモリセル250のスイッチ素子310がON状態となる。この状態で、書き込み処理部260は、指定されたアドレスに対応するビット線BLに電圧を印加しない。即ち、指定されたアドレスに対応するビット線BLを接地状態に設定する。これにより、容量素子320が放電され、容量素子320の電圧はV0(=0)になる。即ち、容量素子320は「0」を記憶した状態になる。その後、アドレス選択部220は、指定されたアドレスに対応するワード線WLの電圧を下げる(スイッチオン電圧の印加を停止する。)ことにより、メモリセル250のスイッチ素子310をOFF状態にする。
このように、容量素子320に対する第1基準電圧Vref1の印加時間を変化させることにより、単一の容量素子320に対して10進データを記憶させることができる。
<読み出し処理>
本実施形態では、メモリセル250から10進データを読み出すとき、ビット線BLの電圧を監視することにより、メモリセル250に10進データの何れの値が記憶されていたかを判定する(読み取る)。具体的には、読み出し処理部270は、指定されたアドレスに対応するビット線BLを接地状態に維持したまま、当該アドレスに対応するワード線WLにスイッチオン電圧を印加する。これにより、容量素子320の電荷が放電される(以降、この状態を「放電状態」と称呼する場合がある。)。読み出し処理部270は、ワード線WLにスイッチオン電圧を印加し始めた時点から、ビット線BLの電圧が所定の電圧閾値ThV以下になる時点までの時間(即ち、放電時間)T1を測定する。電圧閾値ThVは、電圧V1に対して十分に低い電圧に設定されている。なお、読み出し処理部270は、センスアンプ240によって増幅されたビット線BLの電圧を監視するようになっている。
本実施形態では、メモリセル250から10進データを読み出すとき、ビット線BLの電圧を監視することにより、メモリセル250に10進データの何れの値が記憶されていたかを判定する(読み取る)。具体的には、読み出し処理部270は、指定されたアドレスに対応するビット線BLを接地状態に維持したまま、当該アドレスに対応するワード線WLにスイッチオン電圧を印加する。これにより、容量素子320の電荷が放電される(以降、この状態を「放電状態」と称呼する場合がある。)。読み出し処理部270は、ワード線WLにスイッチオン電圧を印加し始めた時点から、ビット線BLの電圧が所定の電圧閾値ThV以下になる時点までの時間(即ち、放電時間)T1を測定する。電圧閾値ThVは、電圧V1に対して十分に低い電圧に設定されている。なお、読み出し処理部270は、センスアンプ240によって増幅されたビット線BLの電圧を監視するようになっている。
図7は、横軸を時間として、容量素子320の電圧が電圧値V1乃至V9のそれぞれの状態から容量素子320を放電させたときの電圧の変化(センスアンプ240によって増幅されたビット線BLの電圧の変化)を示したグラフである。ビット線BLの電圧が所定の電圧閾値ThV以下になるまでの時間T1は、電圧値V1乃至V9のそれぞれの場合で異なる(tb1乃至tb9)。従って、図8に示すように、読み出し処理部270は、時間T1に応じて、メモリセル250に10進データの何れの値が記憶されていたかを判定する。
具体的な処理の流れを述べると、メモリセル250から10進データを読み出す場合、アドレス選択部220は、指定されたアドレスに対応するワード線WLにスイッチオン電圧を印加する。これにより、指定されたアドレスに対応するメモリセル250のスイッチ素子310がON状態となる。容量素子320の状態が電荷保持状態から放電状態へと切り替えられ、容量素子320の放電が開始される。読み出し処理部270は、指定されたアドレスに対応するビット線BLの電圧を監視し、ワード線WLにスイッチオン電圧を印加し始めた時点(放電開始時点)からビット線BLの電圧が電圧閾値ThVになる時点までの時間T1を計測する。例えば、時間T1が「tb1」である場合、読み出し処理部270は、メモリセル250に「1」が記憶されていたと判定する。読み出し処理部270は、当該判定された10進データの値を表す電圧信号(以降で説明する「所定の第2基準電圧Vref2の電圧信号」)を生成して、当該電圧信号をデータバス132を介してCPU110に送信する。
なお、メモリセル250に「0」が記憶されている場合、容量素子320の電圧値はV0(=0)である。この場合、容量素子320の放電を開始した時点で、ビット線BLの電圧は電圧閾値ThVより小さい。この場合、読み出し処理部270は、時間T1が「0」であるとみなし、メモリセル250に「0」が記憶されていたと判定する。
<命令の実行>
次に、CPU110が命令を実行する際の作動の概要について説明する。図1に示すように、CPU110は、機能的にみた場合、命令実行部141及び監視部142を備える。命令実行部141は、命令レジスタ115から入力された命令を実行するようになっている。監視部142は、命令実行部141による命令の実行状況(即ち、命令がどこまで実行されたか)を監視するようになっている。
次に、CPU110が命令を実行する際の作動の概要について説明する。図1に示すように、CPU110は、機能的にみた場合、命令実行部141及び監視部142を備える。命令実行部141は、命令レジスタ115から入力された命令を実行するようになっている。監視部142は、命令実行部141による命令の実行状況(即ち、命令がどこまで実行されたか)を監視するようになっている。
命令は、命令部とオペランド部とから構成される。命令部は、その命令で実行する処理の内容を示す。オペランド部は、命令によって操作されるデータ又はそのデータが記憶されている場所(主記憶装置120上の特定のアドレス又はレジスタ116の特定のレジスタ部等)の情報、並びに、そのデータを記憶すべき場所等の情報を含む。
命令実行部141は、バス131乃至133を介して主記憶装置120と通信するとき、命令部の内容及びオペランド部の内容を10進データで表現する。具体的には、図9に示すように、命令実行部141は、所定の第2基準電圧Vref2の電圧信号(以下、単に「電圧信号」と称呼する場合がある。)のON期間を変化させることにより、命令部の内容及びオペランド部の内容を10進データで表現する。
図10に示すように、10進データの値は、それぞれ、電圧信号のON期間tc0乃至tc9に対応する。なお、tc0乃至tc9の大小関係は以下の通りである。
0 < tc0 < tc1 < tc2 < tc3 < tc4 < tc5 < tc6 < tc7 < tc8 < tc9
0 < tc0 < tc1 < tc2 < tc3 < tc4 < tc5 < tc6 < tc7 < tc8 < tc9
なお、コントロールバス133を介して送られる電圧信号(即ち、命令部を示す10進データ)は、命令の処理内容に対応づけられる。図11に示すように、10進データの「1」は、「ストア命令によるメモリセル250への書き込み」に対応する。10進データの「2」は、「ロード命令によるメモリセル250からの読み出し」に対応する。従って、主記憶装置120は、10進データの値によって書き込み処理及び読み出し処理の何れの処理が指定されたかを判定することができる。
更に、命令実行部141は、命令の実行状況を上記の電圧信号のOFF期間によって表現する。ここで、OFF期間とは、上記の電圧信号がバス131乃至133の何れに対しても送信されていない期間である。
具体的には、命令実行部141は、命令部の内容を送信する期間とオペランド部の内容を送信する期間との間に第1OFF期間tof1を設ける。更に、オペランド部が複数の情報(第1情報及び第2情報)を含む場合、命令実行部141は、第1情報を送信する期間と第2情報を送信する期間との間に第2OFF期間tof2を設ける。更に、命令実行部141は、命令が実行し終わった後に第3OFF期間tof3を設ける。
監視部142は、命令実行部141がバス131乃至133を介して主記憶装置120と通信を行っている間、上記のOFF期間を測定する。監視部142は、OFF期間の長さに応じて、命令の実行状況(即ち、命令がどこまで実行されたか)を判定する。監視部142は、第3OFF期間tof3を検出すると、命令が終了したと判定する。そして、監視部142は、プログラムカウンタ114の値を増加させる。これにより、命令実行部141は、次の命令に移ることができる。このような構成によれば、命令の実行タイミングを制御するためのクロック信号が必要ない。
<実際の動作>
次に、所定の命令を実行する際のCPU110及び主記憶装置120の実際の動作について説明する。以降では、ストア命令(書込み命令)及びロード命令(読出し命令)について説明する。
次に、所定の命令を実行する際のCPU110及び主記憶装置120の実際の動作について説明する。以降では、ストア命令(書込み命令)及びロード命令(読出し命令)について説明する。
(ストア命令)
ストア命令は、レジスタ116に記憶されているデータを、主記憶装置120の特定のアドレスに書き込む命令である。ストア命令の場合、命令部は、ストア命令を示す10進データの値(即ち、「1」)を含む(図11を参照。)。更に、オペランド部は、レジスタ116の特定のレジスタ部を示す情報、及び、主記憶装置120上の特定のアドレスを示す情報を含む。
ストア命令は、レジスタ116に記憶されているデータを、主記憶装置120の特定のアドレスに書き込む命令である。ストア命令の場合、命令部は、ストア命令を示す10進データの値(即ち、「1」)を含む(図11を参照。)。更に、オペランド部は、レジスタ116の特定のレジスタ部を示す情報、及び、主記憶装置120上の特定のアドレスを示す情報を含む。
以下、レジスタ116の特定のレジスタ部に記憶されている「3」を、主記憶装置120の特定のアドレス「2」に書き込むストア命令を実行する際の作動を、図12を参照して説明する。なお、図12では、説明を簡単にするために、アドレスバス131及びデータバス132がそれぞれ1本のみ示されている。しかし、CPU110と主記憶装置120が、複数のアドレスバス131及び複数のデータバス132を介してデータ(即ち、2桁以上の10進データ)のやり取りを行ってもよい。
まず、CPU110の命令実行部141は、オペランド部で指定された特定のレジスタ部から「3」の値を取得する。次に、命令実行部141は、ON期間が「tc1」の電圧信号(第2基準電圧Vref2の電圧信号)を、コントロールバス133を介して主記憶装置120に送信する。
主記憶装置120の制御部230は、コントロールバス133を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc1」であるので、制御部230は、10進データの「1」に対応する処理を指示する命令を受けたと判定する。即ち、制御部230は、書き込み処理の命令を受けたと判定する。制御部230は、書き込み処理部260を作動させる。
命令実行部141は、コントロールバス133を介して電圧信号を送信した後、第1OFF期間tof1を設ける。次に、命令実行部141は、ON期間が「tc2」の電圧信号を、アドレスバス131を介して主記憶装置120に送信する。
主記憶装置120のアドレス選択部220は、アドレスバス131を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc2」であるので、アドレス選択部220は、メモリセルアレイ210の中のアドレス「2」に対応するメモリセル250を選択する。具体的には、アドレス選択部220は、アドレス「2」に対応するワード線WLにスイッチオン電圧を印加することにより、アドレス「2」に対応するメモリセル250のスイッチ素子310をON状態にする。更に、アドレス選択部220は、書き込み処理部260に対して、アドレス「2」を選択したことを通知する。
命令実行部141は、アドレスバス131を介して電圧信号を送信した後、第2OFF期間tof2を設ける。次に、命令実行部141は、ON期間が「tc3」の電圧信号を、データバス132を介して主記憶装置120に送信する。
書き込み処理部260は、データバス132を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc3」であるので、書き込み処理部260は、記憶すべき値が「3」であると判定する。書き込み処理部260は、アドレス「2」に対応するビット線BLに第1基準電圧(書込み用電圧)Vref1を時間ta3だけ印加する。これにより、アドレス「2」のメモリセル250の容量素子320の電圧はV3になる。即ち、アドレス「2」のメモリセル250は「3」を記憶した状態になる。書き込み処理部260は、時間ta3が経過した時点にて書き込み処理が終了したことをアドレス選択部220に通知する。アドレス選択部220は、アドレス「2」に対応するワード線WLの電圧を下げる(スイッチオン電圧の印加を停止する)ことにより、スイッチ素子310をOFF状態にする。なお、書き込み処理部260は、アドレス「2」に記憶すべき値が「3」であると判定した時点から特定時間が経過した後にアドレス「2」に対応するビット線BLに第1基準電圧(書込み用電圧)Vref1を印加してもよい。これにより、それまでメモリセル250に記憶されていた10進データが確実にクリアされる(即ち、書き込み用電圧を印加する前に、メモリセル250の電圧が確実に「0」まで低下される。)。
命令実行部141は、データバス132を介して電圧信号を送信した後、第3OFF期間tof3を設ける。監視部142は、第3OFF期間tof3を検出すると、今回の命令(ストア命令)が終了したと判定する。監視部142は、プログラムカウンタ114の値を増加させる。命令実行部141は、プログラムカウンタ114が示す次のアドレスに従い、命令レジスタ115に次に実行すべき命令を記憶させる。これにより、命令実行部141は、次の命令に移ることができる。
(ロード命令)
ロード命令は、主記憶装置120の特定のアドレスのデータを読み出して、そのデータをレジスタ116の特定のレジスタ部にコピーする命令である。ロード命令の場合、命令部は、ロード命令を示す10進データの値(即ち、「2」)を含む(図11を参照。)。更に、オペランド部は、主記憶装置120上の特定のアドレスを示す情報、及び、レジスタ116の特定のレジスタ部を示す情報を含む。
ロード命令は、主記憶装置120の特定のアドレスのデータを読み出して、そのデータをレジスタ116の特定のレジスタ部にコピーする命令である。ロード命令の場合、命令部は、ロード命令を示す10進データの値(即ち、「2」)を含む(図11を参照。)。更に、オペランド部は、主記憶装置120上の特定のアドレスを示す情報、及び、レジスタ116の特定のレジスタ部を示す情報を含む。
以下、主記憶装置120の特定のアドレス「2」に記憶されている「3」を、レジスタ116の特定のレジスタ部にコピーするロード命令を実行する際の作動を、図13を参照して説明する。なお、図13では、図12と同様に、説明を簡単にするために、アドレスバス131及びデータバス132がそれぞれ1本のみ示されている。
まず、CPU110の命令実行部141は、ON期間が「tc2」の電圧信号(第2基準電圧Vref2の電圧信号)を、コントロールバス133を介して主記憶装置120に送信する。
主記憶装置120の制御部230は、コントロールバス133を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc2」であるので、制御部230は、10進データの「2」に対応する処理を指示する命令を受けたと判定する。即ち、制御部230は、読み出し処理の命令を受けたと判定する。制御部230は、読み出し処理部270を作動させる。
命令実行部141は、コントロールバス133を介して電圧信号を送信した後、第1OFF期間tof1を設ける。次に、命令実行部141は、ON期間が「tc2」の電圧信号を、アドレスバス131を介して主記憶装置120に送信する。
主記憶装置120のアドレス選択部220は、アドレスバス131を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc2」であるので、アドレス選択部220は、メモリセルアレイ210の中のアドレス「2」に対応するメモリセル250を選択する。具体的には、アドレス選択部220は、アドレス「2」に対応するワード線WLにスイッチオン電圧を印加することにより、アドレス「2」に対応するメモリセル250のスイッチ素子310をON状態にする。更に、アドレス選択部220は、読み出し処理部270に対して、アドレス「2」を選択したことを通知する。
読み出し処理部270は、アドレス選択部220から通知を受けると、アドレス「2」に対応するビット線BLの電圧を監視する。読み出し処理部270は、当該ビット線BLの電圧が所定の電圧閾値ThV以下になるまでの時間T1を測定する。いま、アドレス「2」のメモリセル250には「3」が記憶されているので、時間T1は「tb3」となる。従って、読み出し処理部270は、アドレス「2」のメモリセル250に「3」が記憶されていたと判定(認識)する。読み出し処理部270は、読み出し処理が終了したことをアドレス選択部220に通知する。アドレス選択部220は、アドレス「2」に対応するワード線WLの電圧を下げる(スイッチオン電圧の印加を停止する)ことにより、スイッチ素子310をOFF状態にする。
次に、読み出し処理部270は、ON期間が「tc3」の電圧信号を、データバス132を介してCPU110に送信する。
命令実行部141は、データバス132を介して送信されてきた電圧信号のON期間を測定する。ON期間が「tc3」であるので、命令実行部141は、記憶すべき値が「3」であると判定(認識)する。命令実行部141は、オペランド部で指定された特定のレジスタ部に「3」を記憶する。
命令実行部141は、データバス132を介して電圧信号を受け取った後、第3OFF期間tof3を設ける。監視部142は、第3OFF期間tof3を検出すると、今回の命令(ロード命令)が終了したと判定する。監視部142は、プログラムカウンタ114の値を増加させる。命令実行部141は、プログラムカウンタ114が示す次のアドレスに従い、命令レジスタ115に次に実行すべき命令を記憶させる。これにより、命令実行部141は、次の命令に移ることができる。
<ALU>
次に、ALU112について説明する。ALU112は、図14に示すようなオペアンプ型の加算器1400を含む。オペアンプ型の加算器1400では、出力端子の電圧Voutは以下の(1)式のように表される。
Vout=−(Rf)(Vin1/R1+Vin2/R2+ … +VinN/RN) …(1)
次に、ALU112について説明する。ALU112は、図14に示すようなオペアンプ型の加算器1400を含む。オペアンプ型の加算器1400では、出力端子の電圧Voutは以下の(1)式のように表される。
Vout=−(Rf)(Vin1/R1+Vin2/R2+ … +VinN/RN) …(1)
本実施形態において、総ての抵抗R1、R2、…、RN及びRfが同じ値である。この場合、出力端子の電圧Voutは以下の(2)式のように表される。
Vout=−(Vin1+Vin2+ … +VinN) …(2)
Vout=−(Vin1+Vin2+ … +VinN) …(2)
このような加算器1400によれば、命令実行部141は、図4により示した「電圧値と10進データの値との関係」を用いて、加算処理を行うことができる。例えば、命令実行部141が、「3+4」の加算命令を実行すると仮定する。この場合、命令実行部141は、以下のように加算器1400に入力する。
Vin1=V3
Vin2=V4
Vin1=V3
Vin2=V4
この場合、電圧Voutは、極性が反転するものの、電圧値V3と電圧値V4との和となる。即ち、電圧Voutは「−V7」となる。命令実行部141は、電圧Voutから加算処理結果を得て、その加算処理結果を上述のように主記憶装置120に10進データの形式で記憶することができる。このように、加算器1400に対する入力及び加算器1400からの出力を10進データで扱うことが可能となる。
以上のように、本実施装置によれば、単一のメモリセル250が10進データを記憶するようになっている。CPU110は、10進データの形式でデータを主記憶装置120とやり取りすることができる。例えば、CPU110は、10進データの演算結果(例えば、加算器1400による加算処理結果)を主記憶装置120へ書き込むことができる。更に、CPU110は、その10進データを主記憶装置120から読み出すことができる。このように、CPU110及び主記憶装置120の両方が10進データを扱うことができるので、2進データを扱う従来の装置と比べて、一度に処理できるデータ量が増加する。従って、処理速度を向上させることができる。例えば、2006年の「Fall Processor Forum」では、「IBMのPOWER6プロセサJava(登録商標)の10進浮動小点演算を使う実アプリで7倍以上、C言語では4倍の性能が得られた」と報告されている。本実施装置は、これと同等の処理速度の向上を得ることができると考えられる。
更に、単一のメモリセル250が10進データを記憶できるので、主記憶装置120の集積度(単位面積当たりに記憶可能なデータ量)も向上する。
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
メモリセル250の容量素子320は、任意のN(Nは、3以上の整数)進法のデータ(以下、「N進データ」と称呼する。)を記憶するように構成されてもよい。この場合、書き込み処理部260は、容量素子320への電圧(書込み用電圧)の印加時間を変化させることにより、N進データのそれぞれに対応する電圧を容量素子320に生じさせるように構成される。読み出し処理部270は、ビット線BLの電圧が所定の電圧閾値ThV以下になるまでの時間T1を測定し、当該時間T1に応じて、メモリセル250にN進データの何れの値が記憶されていたかを判定するように構成される。
読み出し処理部270は、読み出した時間T1の情報を、データバス132を介して、10進データの形式で(第2基準電圧Vref2の電圧信号で)CPU110に送信してもよい。この構成において、CPU110の命令実行部141は、読み出した時間T1の情報から、メモリセル250に10進データの何れかの値が記憶されていたのかを判定(認識)してもよい。
四則演算を行うために、図15に示すようなマップ1500が用いられてもよい。マップ1500は、情報処理装置の図示しないROMに格納されている。例えば、マップ1500は、情報処理装置の起動時に主記憶装置120のメモリセルアレイ210に書き込まれる。
マップ1500は「a+b」の加算処理を行うためのマップであり、マップ1500の各セルの値は10進データで表現されている。マップ1500の1つのセルは、1つのメモリセル250に対応する。「a」の値に応じてマップ1500の2つ列が選択され、「b」の値に応じてマップの1つの行が選択される。選択された列と行が交差する2つのセルが、「a+b」の加算結果を示す。例えば、「1+1」の加算処理の場合、「a=1」であるので、マップ1500の第1列目及び第2列目が選択される。更に、「b=1」であるので、マップ1500の第1行目が選択される。従って、マップ1500の1行1列目の10進データ及び1行2列目の10進データが、「1+1」の加算処理結果である。なお、1行1列目のメモリセル250は十の位の値を示し、1行2列目のメモリセル250は一の位の値を示す。
CPU110は、「a+b」の加算処理を行う際、上述したように対応するメモリセル250の10進データを読み出すことにより、10進データの形式で「a+b」の加算処理結果を得ることができる。従って、CPU110は、ALU112の加算器を用いることなく、「a+b」の加算処理を行うことができる。なお、加算処理用のマップに加えて、他の四則演算(減算、乗算及び除算)のマップが主記憶装置120のメモリセルアレイ210に適用されてもよい。
CPU110は、従来通り、2進データを扱ってもよい。CPU110は、書込み及び/又は読出しの際に、2進データをN進データに変換して主記憶装置120と通信を行ってもよい。
読み出し処理部270は、読み出した時間T1に応じて、その読み出しを行ったメモリセル250に対して再度書き込みを行ってもよい。これにより、メモリセル250に記憶されている10進データを維持することができる。
110…CPU、111…制御装置、113…データキャッシュ、114…プログラムカウンタ、115…命令レジスタ、116…レジスタ、120…主記憶装置、141…命令実行部、142…監視部、210…メモリセルアレイ、220…アドレス選択部、230…制御部、240…センスアンプ、250…メモリセル、260…書き込み処理部、270…読み出し処理部、310…スイッチ素子、320…容量素子。
Claims (1)
- 演算処理装置と、
複数の記憶素子を含む記憶装置であって、前記複数の記憶素子の各々が、容量素子及びスイッチ素子を有し、前記スイッチ素子は、前記容量素子の状態を、充電可能状態と、放電状態と、の何れかに切り替えるように構成されている、記憶装置と、
を備える情報処理装置において、
Nを3以上の整数として、
前記演算処理装置は、前記複数の記憶素子のそれぞれへのN進データの書き込み処理を指示する命令及び前記複数のそれぞれの記憶素子からの前記N進データの読み出し処理を指示する命令を前記記憶装置に送るように構成され、
前記記憶装置は、
前記演算処理装置から前記書き込み処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記充電可能状態に設定するとともに、所定の書込み用電圧を前記容量素子に印加するように構成された書き込み処理部であって、前記所定の書込み用電圧の印加時間を変化させることにより、前記N進データのそれぞれに対応する電圧を前記容量素子に生じさせるように構成された書き込み処理部と、
前記演算処理装置から前記読み出し処理を指示する命令を受けたとき、前記スイッチ素子を用いて前記容量素子の状態を前記放電状態に設定するとともに、前記容量素子の電圧が所定の電圧閾値に下がるまでの時間を測定し、当該測定された時間に応じたデータを前記演算処理装置に出力するように構成された読み出し処理部と、
を備える、
情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018064196A JP2019175531A (ja) | 2018-03-29 | 2018-03-29 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018064196A JP2019175531A (ja) | 2018-03-29 | 2018-03-29 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019175531A true JP2019175531A (ja) | 2019-10-10 |
Family
ID=68167195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018064196A Pending JP2019175531A (ja) | 2018-03-29 | 2018-03-29 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019175531A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110687344A (zh) * | 2019-10-24 | 2020-01-14 | 南京南瑞继保电气有限公司 | 单相电压暂降检测方法及装置、电压恢复器、设备及介质 |
-
2018
- 2018-03-29 JP JP2018064196A patent/JP2019175531A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110687344A (zh) * | 2019-10-24 | 2020-01-14 | 南京南瑞继保电气有限公司 | 单相电压暂降检测方法及装置、电压恢复器、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10643673B2 (en) | Apparatuses and methods for performing compare operations using sensing circuitry | |
US10073635B2 (en) | Multiple endianness compatibility | |
KR101947523B1 (ko) | 스핀 전달 토크 메모리에서의 기입 동작들 | |
JP6216878B2 (ja) | メモリ用の除算演算 | |
KR102351660B1 (ko) | 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법 | |
KR100908542B1 (ko) | 불휘발성 메모리 소자 및 그 프로그램 방법 | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
JP2022508694A (ja) | 誤り訂正及びデータスクラビング回路を備えたメモリシステム | |
US20070198768A1 (en) | Apparatus and method for operating flash memory according to priority order | |
US10452280B2 (en) | Hybrid storage system employing reconfigurable memory | |
US20150301858A1 (en) | Multiprocessors systems and processes scheduling methods thereof | |
CN104239229A (zh) | 数据储存装置及用于快闪存储器的数据读取方法 | |
TW201702886A (zh) | 記憶體裝置、包括該記憶體裝置的記憶體系統及記憶體裝置的操作方法 | |
CN112885386A (zh) | 存储器控制方法、装置及铁电存储器 | |
CN105094691A (zh) | 一种数据操作的方法、设备和系统 | |
JP2019175531A (ja) | 情報処理装置 | |
JP4932273B2 (ja) | 強誘電体キャパシタを用いた演算処理回路および演算方法 | |
JPWO2008068937A1 (ja) | データ転送制御装置およびコンピュータシステム | |
US20190019547A1 (en) | Activation of memory core circuits in an integrated circuit | |
TWI768459B (zh) | 備份、復原和恢復暫存器值的方法和系統 | |
JP2007334813A (ja) | メモリ制御回路及びデータ書き換え方法 | |
KR20120005843A (ko) | 메모리 시스템 및 그 동작 방법 | |
US9588814B2 (en) | Fast approximate conflict detection | |
US8982618B2 (en) | Nonvolatile memory device and related method of operation | |
JP7273176B2 (ja) | シーケンス処理ユニットを備えたメモリ制御システム |