(57)【要約】【課題】レジスタから出力されるデータあるいはそのデータを処理したデータを一時保存するための装置、処理方法、プログラム等が提供される。【解決手段】複数のスイッチと信号保持回路を接続した回路（以下、選択型メモリセル、という）をデータ処理装置中に設ける。選択型メモリセルでは、必要とするデータを選択的に記憶することができる。頻繁に出現する処理の結果は、選択型メモリセルに記憶する。結果が記憶された処理に関しては、処理を最初からおこなう必要がなく、記憶されたデータを出力するだけで済むので、入力するデータの転送が不要で、また、処理にかかる時間を短縮できる。【選択図】図１
2020065313.tif 000002
【特許請求の範囲】
【請求項１】
論理回路と、
入力端子と、
出力端子と、
信号保持回路と、を有し、
前記論理回路は、前記入力端子に接続され、
前記論理回路に複数の処理を行わせるにあたって、出現頻度の最も高い処理を選択する過程と、
前記出現頻度の最も高い処理の最初の処理の前記論理回路で演算した結果を前記信号保持回路に記憶し、且つ前記出力端子に出力する過程と、
前記出現頻度の最も高い処理の２回目以降の処理を前記論理回路で行わせずに前記信号保持回路に記憶した前記演算した結果を前記出力端子に出力する過程と、
前記出現頻度の最も高い処理でない処理は、前記論理回路で演算した結果を前記信号保持回路に記憶せずに前記出力端子に出力する過程と、を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示物はデータ処理装置に関する。
【背景技術】
【０００２】
代表的なデータ処理装置であるＣＰＵは、多くの場合、記憶装置（レジスタ等）を内蔵し
、記憶装置に蓄積されたデータ・命令等を用いて、演算処理をおこない、また、演算結果
を記憶装置に記憶させる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第５４２４９６９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データ等を処理した結果を一時保存するための装置、処理方法、そのためのプログラム等
が提供される。
【課題を解決するための手段】
【０００５】
複数のスイッチと信号保持回路を接続した回路（以下、選択型メモリセル、という）をデ
ータ処理装置中に設ける。詳細は以下に開示される。選択型メモリセルでは、入力したデ
ータを選択的に記憶することができる。選択型メモリセルでは、信号保持回路に記憶させ
、かつ、入力したデータを出力させる操作と、入力したデータを信号保持回路に記憶させ
ずに、出力させる操作と、信号保持回路に記憶させた信号を出力させる操作の少なくとも
３つの操作がおこなえる。
【０００６】
なお、信号保持回路としては、例えば、キャパシタあるいはラッチ回路が使用できる。ま
た、スイッチとしては、例えば、トランジスタ、トランスファーゲート、トランスミッシ
ョンゲート、スリーステートバッファ、スリーステートインバータ等が使用できる。なお
、スリーステートバッファとは、入力信号と同じ信号（ＨもしくはＬ）を出力する状態あ
るいは絶縁状態（ハイインピーダンス状態）の３つの状態を出力しうる回路である。また
、スリーステートインバータとは、入力信号と逆の信号（ＬもしくはＨ）を出力する状態
あるいは絶縁状態の３つの状態を出力しうる回路である。
【発明の効果】
【０００７】
一例として情報処理速度の向上が挙げられる。それ以外にもいくつかの効果が挙げられる
が、それらについては、以下に詳述される。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１で説明される選択型メモリセルの回路例を示す。
【図２】実施の形態１で説明される選択型メモリセルの回路例を示す。
【図３】実施の形態１で説明される選択型メモリセルの回路例を示す。
【図４】実施の形態１で説明されるスリーステートバッファの回路例を示す。
【図５】実施の形態１で説明される選択型メモリセルの回路例を示す。
【図６】実施の形態２で説明されるデータ処理装置のブロック図の例を示す。
【図７】実施の形態２で説明されるデータ処理装置のブロック図の例を示す。
【図８】実施の形態３で説明されるシフタの例を示す。
【図９】実施の形態３で説明されるデータ処理装置の例を示す。
【発明を実施するための形態】
【０００９】
以下では、実施の形態について図面を用いて詳細に説明する。ただし、実施の形態は以下
の説明に限定されず、趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に
変更し得ることは、当業者であれば容易に理解される。従って、この開示物が開示する内
容は、以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【００１０】
（実施の形態１）
本実施の形態では、選択型メモリセルのいくつかの形態を、図１乃至図５を用いて説明す
る。
【００１１】
図１（Ａ）に示す選択型メモリセル１００は、第１のスイッチ１０１と第２のスイッチ１
０２と信号保持回路１０３とを有する。第１のスイッチ１０１の第１端子は第２のスイッ
チ１０２の第１端子と出力端子ＯＵＴに電気的に接続する。第２のスイッチ１０２の第２
端子は信号保持回路１０３に電気的に接続する。第１のスイッチ１０１の第２端子は入力
端子ＩＮに電気的に接続する。入力端子ＩＮ、第１のスイッチ１０１、第２のスイッチ１
０２、信号保持回路１０３、出力端子ＯＵＴのいずれかの間に、さらにインバータやバッ
ファ等の増幅回路や別のスイッチを有してもよい。
【００１２】
第１のスイッチ１０１はコントロール信号ＥＮ＿１により、また、第２のスイッチ１０２
は、コントロール信号ＥＮ＿２により制御される。選択型メモリセル１００では、入力端
子ＩＮから入力したデータ（信号）を信号保持回路１０３に記憶させ、かつ、入力したデ
ータを出力端子ＯＵＴから出力させる第１の操作と、入力端子ＩＮから入力したデータを
信号保持回路１０３に記憶させずに、出力端子ＯＵＴから出力させる第２の操作と、信号
保持回路１０３に記憶させたデータを信号保持回路から出力させる第３の操作の少なくと
も３つの操作が選択できる。
【００１３】
例えば、第１の操作をおこなうには、第１のスイッチ１０１と第２のスイッチ１０２をと
もにオンとする。第２の操作をおこなうには、第１のスイッチ１０１をオン、第２のスイ
ッチ１０２をオフとする。第３の操作をおこなうには、第１のスイッチ１０１をオフ、第
２のスイッチ１０２をオンとする。
【００１４】
図１（Ｂ）に示す選択型メモリセル１１０は、第１のスイッチ１１１、第２のスイッチ１
１２、信号保持回路１１３と第３のスイッチ１１４とを有する。第１のスイッチ１１１の
第１端子は第２のスイッチ１１２の第１端子と第３のスイッチ１１４の第１端子と出力端
子ＯＵＴに電気的に接続する。第２のスイッチ１１２の第２端子は信号保持回路１１３の
第１端子と電気的に接続する。第３のスイッチ１１４の第２端子は信号保持回路１１３の
第２端子と電気的に接続する。第１のスイッチ１１１の第２端子は入力端子ＩＮに電気的
に接続する。入力端子ＩＮ、第１のスイッチ１１１、第２のスイッチ１１２、信号保持回
路１１３、第３のスイッチ１１４、出力端子ＯＵＴのいずれかの間に、さらにインバータ
やバッファ等の増幅回路や別のスイッチを有してもよい。
【００１５】
第１のスイッチ１１１はコントロール信号ＥＮ＿１により、第２のスイッチ１１２は、コ
ントロール信号ＥＮ＿２により、また、第３のスイッチ１１４は、コントロール信号ＥＮ
＿３により制御される。選択型メモリセル１１０では、入力端子ＩＮから入力したデータ
を信号保持回路１１３に記憶させ、かつ、入力したデータを出力端子ＯＵＴから出力させ
る第１の操作と、入力端子ＩＮから入力したデータを信号保持回路１１３に記憶させずに
、出力端子ＯＵＴから出力させる第２の操作と、信号保持回路１１３に記憶させたデータ
を信号保持回路から出力する第３の操作の少なくとも３つの操作が選択できる。
【００１６】
例えば、第１の操作をおこなうには、第１のスイッチ１１１と第２のスイッチ１１２をと
もにオン、第３のスイッチ１１４をオフとする。第２の操作をおこなうには、第１のスイ
ッチ１１１をオン、第２のスイッチ１１２と第３のスイッチ１１４をオフとする。第３の
操作をおこなうには、第１のスイッチ１１１をオフ、第３のスイッチ１１４をオンとする
。
【００１７】
図１（Ｃ）に示す選択型メモリセル１２０は、第１のスイッチ１２１、第２のスイッチ１
２２、信号保持回路１２３と第３のスイッチ１２４とを有する。第１のスイッチ１２１の
第１端子は第３のスイッチ１２４の第１端子と出力端子ＯＵＴに電気的に接続する。第２
のスイッチ１２２の第１端子は信号保持回路１２３の第１端子と電気的に接続する。第３
のスイッチ１２４の第２端子は信号保持回路１２３の第２端子と電気的に接続する。第１
のスイッチ１２１の第２端子と第２のスイッチ１２２の第２端子は入力端子ＩＮに電気的
に接続する。入力端子ＩＮ、第１のスイッチ１２１、第２のスイッチ１２２、信号保持回
路１２３、第３のスイッチ１２４、出力端子ＯＵＴのいずれかの間に、さらにインバータ
やバッファ等の増幅回路や別のスイッチを有してもよい。
【００１８】
第１のスイッチ１２１はコントロール信号ＥＮ＿１により、第２のスイッチ１２２は、コ
ントロール信号ＥＮ＿２により、また、第３のスイッチ１２４は、コントロール信号ＥＮ
＿３により制御される。選択型メモリセル１２０では、入力端子ＩＮから入力したデータ
を信号保持回路１２３に記憶させ、かつ、入力したデータを出力端子ＯＵＴから出力させ
る第１の操作と、入力端子ＩＮから入力したデータを信号保持回路１２３に記憶させずに
、出力端子ＯＵＴから出力させる第２の操作と、信号保持回路１２３に記憶させたデータ
を出力端子ＯＵＴから出力させる第３の操作の少なくとも３つの操作を選択できる。
【００１９】
例えば、第１の操作をおこなうには、第１のスイッチ１２１と第２のスイッチ１２２をと
もにオン、第３のスイッチ１２４をオフとする。第２の操作をおこなうには、第１のスイ
ッチ１２１をオン、第２のスイッチ１２２と第３のスイッチ１２４をオフとする。第３の
操作をおこなうには、第１のスイッチ１２１をオフ、第３のスイッチ１２４をオンとする
。
【００２０】
図２（Ａ）は、第１のスイッチとしてスリーステートバッファ、第２のスイッチとしてト
ランジスタ、信号保持回路としてキャパシタを用いた選択型メモリセル１３０の回路図で
ある。選択型メモリセル１３０は、スリーステートバッファ１３１とトランジスタ１３２
、キャパシタ１３３を有する。スリーステートバッファ１３１はコントロール信号ＥＮ＿
１により、また、トランジスタ１３２は、コントロール信号ＥＮ＿２により制御される。
【００２１】
例えば、コントロール信号ＥＮ＿１がＨの場合には、スリーステートバッファ１３１は入
力端子ＩＮと同じ信号を出力端子ＯＵＴに出力し、コントロール信号ＥＮ＿１がＬの場合
には、スリーステートバッファ１３１の入力と出力は絶縁状態（ハイインピーダンス状態
）となる。
【００２２】
例えば、コントロール信号ＥＮ＿２がＨの場合には、トランジスタ１３２はオンとなって
、スリーステートバッファ１３１の出力のノードと、キャパシタ１３３の間が導通状態と
なり、コントロール信号ＥＮ＿２がＬの場合には、トランジスタ１３２はオフとなって、
スリーステートバッファ１３１の出力のノードと、キャパシタ１３３の間が絶縁状態とな
る。
【００２３】
選択型メモリセル１３０は、キャパシタ１３３に電荷が蓄積されることにより、データを
一時的あるいは恒久的に保持できる。キャパシタ１３３に蓄積された電荷は、トランジス
タ１３２がオフであれば、相応の期間にわたって保持することができる。その期間は、ト
ランジスタ１３２のオフ状態の抵抗とキャパシタ１３３の容量によって決定できる。例え
ば、キャパシタ１３３の容量を１×１０−１５Ｆ、トランジスタ１３２のオフ状態の抵抗
を１×１０２１Ωとすれば、１時間経過後でも、キャパシタ１３３に保持された電荷の９
０％超が残存する。電荷が保持されているか否かは、ノード１３９の電位に現れる。
【００２４】
オフ状態の抵抗を１×１０２１Ωとすることは、シリコンを用いるＭＯＳトランジスタで
は困難であるが、後述する酸化物半導体を用いたトランジスタであれば実現できる。
【００２５】
なお、一般的な使用方法においては、選択型メモリセル１３０にデータを保持する期間は
１秒よりも短い時間でよいので、キャパシタ１３３の容量や、トランジスタ１３２のオフ
状態の抵抗はより小さくてもよい。例えば、キャパシタ１３３の容量を１×１０−１６Ｆ
、トランジスタ１３２のオフ状態の抵抗を１×１０１７Ωとすれば、１秒経過後でも、キ
ャパシタ１３３に保持された電荷の９０％超が残存する。
【００２６】
オフ状態の抵抗を１×１０１７Ωとすることは、極めて薄いシリコン膜を用いるトランジ
スタで実現できる。
【００２７】
一方、選択型メモリセル１３０をデータ処理装置で用いる場合には、トランジスタ１３２
のオン状態の抵抗も十分に低いことが求められる。そのため、トランジスタ１３２のオン
状態の抵抗とキャパシタ１３３の容量の積が１０−８秒以下であるようにそれらを選択す
ることが求められる。一般的な使用を考慮した場合、トランジスタ１３２のオン状態の抵
抗とキャパシタ１３３の容量の積を１０−９秒以下に設定する。
【００２８】
選択型メモリセル１３０の動作について簡単に説明する。選択型メモリセル１３０は、入
力された（データと同じ）データ（信号）を、そのまま通過させる（次段に転送する）こ
とと、入力されたデータを記憶（保持）することと、記憶したデータを出力することがで
きる。なお、データを記憶させる操作は、データをそのまま通過させる操作と同時におこ
なうことが効率的である。また、記憶したデータを出力させる操作は、入力されたデータ
を、そのまま通過させる操作とは同時におこなえない。
【００２９】
選択型メモリセル１３０において、データをそのまま通過させる場合には、コントロール
信号ＥＮ＿１をスリーステートバッファ１３１の入力と出力が導通状態となるようにする
。その結果、入力端子ＩＮに入力された信号（ＨまたはＬ）と同じ信号が出力端子ＯＵＴ
より出力される。
【００３０】
このとき、キャパシタ１３３に特定のデータが記憶されていない場合には、トランジスタ
１３２はオンでもオフでもよい。しかし、一般的に、トランジスタ１３２がオンであると
、スリーステートバッファ１３１の出力のノードにトランジスタ１３２のゲート容量およ
びキャパシタ１３３の容量が追加されるので、動作速度が低下する。したがって、トラン
ジスタ１３２はオフとすることが望ましい。ただし、選択型メモリセル１３０にデータを
記憶させる場合には、後述するようにオンとする。
【００３１】
選択型メモリセル１３０において、データを記憶させる場合には、スリーステートバッフ
ァ１３１の入力と出力を導通状態とする。さらに、トランジスタ１３２をオンとする。そ
の結果、キャパシタ１３３には、ノード１３８の電位に応じた電荷、すなわち、入力端子
ＩＮに入力された信号（ＨまたはＬ）と同じ信号に対応する電荷が蓄積する。
【００３２】
その後、トランジスタ１３２をオフとする。ここで、トランジスタ１３２をオフとする前
にスリーステートバッファ１３１の出力が変化することは避けるべきである。すなわち、
トランジスタ１３２をオフとしてから、１クロック以上経過後に、スリーステートバッフ
ァ１３１の出力が変化するようにするか、何らかの遅延回路によって、トランジスタ１３
２がオフとなった後、スリーステートバッファ１３１の出力が変化するような構成とする
ことが望ましい。
【００３３】
例えば、スリーステートバッファ１３１内のバッファの段数（インバータの段数）が増え
るほど、スリーステートバッファ１３１の出力が遅くなる。
【００３４】
データを保持し続けるため（データが破壊されないようにするため）には、トランジスタ
１３２をオフとし続ける。
【００３５】
選択型メモリセル１３０において、記憶されているデータを出力する場合には、スリース
テートバッファ１３１の入力と出力を絶縁状態とする。さらに、トランジスタ１３２をオ
ンとする。その結果、キャパシタ１３３に蓄積していた電荷がトランジスタ１３２を介し
て、ノード１３８に流出し、出力端子ＯＵＴの電位が、選択型メモリセル１３０に保持さ
れていたデータに対応したものとなる。なお、選択型メモリセル１３０においては、記憶
されているデータは、出力されると破壊されることがある。
【００３６】
図２（Ｂ）は、第１のスイッチとしてスリーステートバッファ、第２のスイッチとしてト
ランジスタ、信号保持回路としてラッチ回路を用いた選択型メモリセル１４０の回路図で
ある。選択型メモリセル１４０は、スリーステートバッファ１４１とトランジスタ１４２
、トランジスタ１４４、インバータ１４５、インバータ１４６を有する。トランジスタ１
４４は、インバータ１４５とインバータ１４６で構成されるループ内に設けられればよく
、図２（Ｂ）では、インバータ１４６の出力とインバータ１４５の入力の間に設けられて
いる。
【００３７】
スリーステートバッファ１４１はコントロール信号ＥＮ＿１により、また、トランジスタ
１４２は、コントロール信号ＥＮ＿２により、トランジスタ１４４は、コントロール信号
ＥＮ＿４により制御される。
【００３８】
選択型メモリセル１４０は、インバータ１４５とインバータ１４６で構成されるラッチ回
路によりデータを保持できる。データは、例えば、ノード１４９の電位に現れる。
【００３９】
図２（Ｂ）ではトランジスタ１４２、トランジスタ１４４ともにＮ型であるが、トランジ
スタ１４２、トランジスタ１４４の導電型の組み合わせはこれに限らない。また、トラン
ジスタ１４２、トランジスタ１４４の代わりに、Ｎ型トランジスタとＰ型トランジスタを
並列に接続したトランスミッションゲートを用いてもよい。
【００４０】
選択型メモリセル１４０の動作について簡単に説明する。選択型メモリセル１４０も、選
択型メモリセル１３０と同様、入力したデータをそのまま通過させることと、入力したデ
ータを記憶すること、記憶したデータを出力することができる。なお、データを記憶させ
る操作は、データをそのまま通過させる操作と同時におこなうことが効率的である。また
、記憶したデータを出力させる操作は、入力したデータをそのまま通過させる操作とは同
時におこなえない。
【００４１】
選択型メモリセル１４０において、データをそのまま通過させる場合には、コントロール
信号ＥＮ＿１をスリーステートバッファ１４１の入力と出力が導通状態となるようにする
。その結果、入力端子ＩＮに入力された信号（ＨまたはＬ）と同じ信号が出力端子ＯＵＴ
より出力される。
【００４２】
このとき、トランジスタ１４２はオンでもオフでもよい。選択型メモリセル１４０にデー
タを記憶させる場合以外は、一般的に、トランジスタ１４２はオフとすることが望ましい
。
【００４３】
選択型メモリセル１４０において、データを記憶させる場合には、スリーステートバッフ
ァ１４１の入力と出力を導通状態、トランジスタ１４４をオフとする。その後、トランジ
スタ１４２をオンとする。その結果、インバータ１４５からは、入力端子ＩＮに入力され
た信号とは逆の信号が、インバータ１４６からは、入力端子ＩＮに入力された信号と同じ
信号が出力される。その後、トランジスタ１４４をオンとすると、インバータ１４５とイ
ンバータ１４６により、ある安定状態が形成される。その後、トランジスタ１４２をオフ
とする。データを保持し続けるため（破壊されないようにするため）には、トランジスタ
１４２をオフとし、トランジスタ１４４をオンとし続ける。
【００４４】
選択型メモリセル１４０において、記憶されているデータを出力する場合には、スリース
テートバッファ１４１の入力と出力を絶縁状態とし、その後、トランジスタ１４２をオン
とする。その結果、出力端子ＯＵＴの電位が、選択型メモリセル１４０に保持されていた
データに対応したものとなる。なお、選択型メモリセル１４０においては、記憶されてい
るデータを出力しても、記憶されているデータが破壊されることはない。
【００４５】
図３（Ａ）は選択型メモリセル１５０の回路図である。選択型メモリセル１５０は、スリ
ーステートバッファ１５１とトランジスタ１５２、キャパシタ１５３、バッファ１５７を
有する。スリーステートバッファ１５１はコントロール信号ＥＮ＿１により、また、トラ
ンジスタ１５２は、コントロール信号ＥＮ＿２により制御される。
【００４６】
選択型メモリセル１５０と選択型メモリセル１３０は多くの点で似ているが、選択型メモ
リセル１５０はスリーステートバッファ１５１の出力端子に近接して、バッファ１５７の
入力端子を設ける。このようにすることでノード１５８の寄生容量を十分に低減すること
ができる。
【００４７】
ノード１５８の寄生容量が、キャパシタ１５３の容量に比較して大きくなればなるほど、
トランジスタ１５２をオンにして、キャパシタ１５３（あるいはノード１５９）とノード
１５８を導通状態とした際に、キャパシタ１５３にあった電荷による、ノード１５８の電
位の変動が小さくなる。
【００４８】
動作に支障をきたさないためには、ノード１５８の寄生容量はキャパシタ１５３の容量よ
り小さいことが求められる。選択型メモリセル１５０の構造はその目的に適している。選
択型メモリセル１５０も、選択型メモリセル１３０、選択型メモリセル１４０と同様、入
力されたデータを、そのまま通過させることと、入力されたデータを記憶すること、記憶
したデータを出力することができる。選択型メモリセル１５０の動作は、選択型メモリセ
ル１３０の動作を参照すればよい。
【００４９】
図３（Ｂ）は、第１のスイッチとしてスリーステートバッファ、第２のスイッチとしてト
ランジスタ、信号保持回路としてキャパシタとバッファを組み合わせた回路を用いた選択
型メモリセル１６０の回路図である。選択型メモリセル１６０は、スリーステートバッフ
ァ１６１とトランジスタ１６２、キャパシタ１６３、トランジスタ１６４、バッファ１６
７を有する。スリーステートバッファ１６１はコントロール信号ＥＮ＿１により、トラン
ジスタ１６２はコントロール信号ＥＮ＿２により、トランジスタ１６４はコントロール信
号ＥＮ＿３により制御される。
【００５０】
トランジスタ１６２はオフ状態の抵抗が十分に高いものが求められ、後述する酸化物半導
体を用いたトランジスタが使用できる。一方、トランジスタ１６４には、そのような制約
はなく、各種・各導電型のトランジスタあるいはトランスミッションゲートを用いること
ができる。
【００５１】
選択型メモリセル１６０と選択型メモリセル１３０は多くの点で似ているが、選択型メモ
リセル１６０はノード１６９にバッファ１６７の入力端子を設ける。このようにすること
でノード１６８の寄生容量が大きな場合であっても、ノード１６８の電位をキャパシタ１
６３に保持された電荷を反映したものとすることができる。
【００５２】
なお、バッファ１６７は、インバータを２段直列に接続したものであるが、それに限らず
、１段だけでもよいし、もしくは３段以上でもよい。奇数段のインバータを直列したもの
では出力が反転するので、いずれかの段階でそれを補正する必要がある。
【００５３】
選択型メモリセル１６０の動作について簡単に説明する。選択型メモリセル１６０も、選
択型メモリセル１３０、選択型メモリセル１４０、選択型メモリセル１５０と同様、入力
したデータをそのまま通過させることと、入力したデータを記憶すること、記憶したデー
タを出力することができる。なお、データを記憶させる操作は、データをそのまま通過さ
せる操作と同時におこなうことが効率的である。また、記憶したデータを出力させる操作
は、入力したデータをそのまま通過させる操作とは同時におこなえない。
【００５４】
選択型メモリセル１６０において、データをそのまま通過させる場合には、コントロール
信号ＥＮ＿１をスリーステートバッファ１６１の入力と出力が導通状態となるようにする
。その結果、入力端子ＩＮに入力された信号（ＨまたはＬ）と同じ信号が出力端子ＯＵＴ
より出力される。
【００５５】
このとき、トランジスタ１６２はオンでもオフでもよい。選択型メモリセル１６０にデー
タを記憶させる場合以外は、一般的に、トランジスタ１６２はオフとすることが望ましい
。また、トランジスタ１６４はオフとする。
【００５６】
選択型メモリセル１６０において、データを記憶させる場合には、スリーステートバッフ
ァ１６１の入力と出力を導通状態とする。さらに、トランジスタ１６２をオンとする。そ
の結果、キャパシタ１６３には、ノード１６８の電位に応じた電荷、すなわち、入力端子
ＩＮに入力された信号（ＨまたはＬ）と同じ信号に対応する電荷が蓄積する。その後、ト
ランジスタ１６２をオフとする。データを保持し続けるため（破壊されないようにするた
め）には、トランジスタ１６２をオフとし続ける。
【００５７】
選択型メモリセル１６０において、記憶されているデータを出力する場合には、スリース
テートバッファ１６１の入力と出力を絶縁状態とする。また、トランジスタ１６２はオフ
を保つ。その後、トランジスタ１６４をオンとする。その結果、キャパシタ１６３に蓄積
していた電荷に応じた電位が、トランジスタ１６４を介して、バッファ１６７から出力さ
れ、出力端子ＯＵＴの電位が、選択型メモリセル１６０に保持されていたデータに対応し
たものとなる。なお、選択型メモリセル１６０においては、記憶されているデータを出力
しても、記憶されているデータが破壊されることはない。
【００５８】
図４（Ａ）は、上記の選択型メモリセル１３０に適用できるスリーステートバッファ１３
１の例である。スリーステートバッファ１３１は、トランスミッションゲート１７１、イ
ンバータ１７２、インバータ１７３、インバータ１７４、インバータ１７５を有する。選
択型メモリセル１４０、選択型メモリセル１５０あるいは選択型メモリセル１６０でも同
様な構成のスリーステートバッファを用いることができる。
【００５９】
コントロール信号ＥＮ＿１は、インバータ１７５で反転され、その一部は、トランスミッ
ションゲート１７１の一方の制御電極に入力される。残りは、さらに、インバータ１７４
で反転され、トランスミッションゲート１７１の他方の制御電極に入力される。この図で
は、ＥＮ＿１がＨのとき、トランスミッションゲート１７１は導通状態となり、ＥＮ＿１
がＬのとき、トランスミッションゲート１７１は絶縁状態となる。
【００６０】
入力端子ＩＮとトランスミッションゲート１７１との間には、インバータ１７２、インバ
ータ１７３と２つのインバータを有するが、この部分に設けられるインバータの数は２に
限られず、１以上であればよい。なお、インバータの数が奇数のときは、入力端子ＩＮよ
り入力された信号は反転して、トランスミッションゲート１７１から出力される。
【００６１】
図４（Ａ）に示されるスリーステートバッファ１３１は、より簡略化でき、例えば、図４
（Ｂ）に示すスイッチ１３１ａのように、トランスミッションゲート１７１、インバータ
１７４のみで構成することもできる。スイッチ１３１ａは、スリーステートバッファ１３
１から、インバータ１７２、インバータ１７３、インバータ１７５を省略したものである
。
【００６２】
図５は、第１のスイッチ、第２のスイッチとしてトランスミッションゲート、信号保持回
路としてキャパシタを用いた選択型メモリセル１８０の回路図である。選択型メモリセル
１８０は、トランスミッションゲート１８１とトランジスタ１８２、キャパシタ１８３、
トランスミッションゲート１８４、インバータ１８５、インバータ１８６、バッファ１８
７を有する。トランジスタ１８２はオフ状態の抵抗が十分に高いものが求められ、後述す
る酸化物半導体を用いたトランジスタが使用できる。
【００６３】
なお、入力端子ＩＮ、トランスミッションゲート１８１とトランジスタ１８２、キャパシ
タ１８３、トランスミッションゲート１８４、インバータ１８５、インバータ１８６、バ
ッファ１８７、出力端子ＯＵＴの間に、さらに、インバータやバッファを設けてもよい。
【００６４】
トランスミッションゲート１８１はコントロール信号ＥＮ＿１とインバータ１８５によっ
て生成されたその相補信号により、また、トランジスタ１８２はコントロール信号ＥＮ＿
２により、トランスミッションゲート１８４はコントロール信号ＥＮ＿３とインバータ１
８６によって生成されたその相補信号により制御される。
【００６５】
なお、バッファ１８７は、通常、インバータを２段直列に接続したものであるが、それに
限らず、１段だけでもよいし、もしくは３段以上でもよい。奇数段のインバータを直列し
たものでは出力が反転するので、いずれかの段階でそれを補正する必要がある。
【００６６】
選択型メモリセル１８０の動作について簡単に説明する。選択型メモリセル１８０も、選
択型メモリセル１３０、選択型メモリセル１４０、選択型メモリセル１５０、選択型メモ
リセル１６０と同様、入力されたデータを、そのまま通過させることと、入力されたデー
タを記憶すること、記憶したデータを出力することができる。なお、データを記憶させる
操作は、データをそのまま通過させる操作と同時におこなうことが効率的である。また、
記憶したデータを出力させる操作は、入力されたデータを、そのまま通過させる操作とは
同時におこなえない。
【００６７】
選択型メモリセル１８０において、データをそのまま通過させる場合には、コントロール
信号ＥＮ＿１をトランスミッションゲート１８１の入力と出力が導通状態となるようにす
る。その結果、入力端子ＩＮに入力された信号（ＨまたはＬ）と同じ信号が出力端子ＯＵ
Ｔより出力される。
【００６８】
このとき、トランジスタ１８２はオンでもオフでもよい。選択型メモリセル１８０にデー
タを記憶させる場合以外は、一般的に、トランジスタ１８２はオフとすることが望ましい
。また、トランスミッションゲート１８４の入力と出力を絶縁状態とする。
【００６９】
選択型メモリセル１８０において、データを記憶させる場合には、トランスミッションゲ
ート１８１の入力と出力を導通状態とする。さらに、トランジスタ１８２をオンとする。
その結果、キャパシタ１８３には、ノード１８８の電位に応じた電荷、すなわち、入力端
子ＩＮに入力された信号（ＨまたはＬ）と同じ信号に対応する電荷が蓄積する。その後、
トランジスタ１８２をオフとする。データを保持し続けるため（破壊されないようにする
ため）には、トランジスタ１８２をオフとし続ける。
【００７０】
選択型メモリセル１８０において、記憶されているデータを出力する場合には、トランス
ミッションゲート１８１の入力と出力を絶縁状態とする。また、トランジスタ１８２はオ
フを保つ。その後、トランスミッションゲート１８４の入力と出力を導通状態とする。そ
の結果、キャパシタ１８３に蓄積していた電荷に応じた電位（ノード１８９の電位）が、
バッファ１８７を介して、トランスミッションゲート１８４から出力され、出力端子ＯＵ
Ｔの電位が、選択型メモリセル１８０に保持されていたデータに対応したものとなる。な
お、選択型メモリセル１８０においては、記憶されているデータを出力しても、記憶され
ているデータが破壊されることはない。
【００７１】
次に、トランジスタ１３２、トランジスタ１５２、トランジスタ１６２に用いることので
きる酸化物半導体について説明する。
【００７２】
酸化物半導体は、例えば、インジウムを含む。インジウムを含む酸化物半導体は、キャリ
ア移動度（電子移動度）が高くなる。また、酸化物半導体は、元素Ｍを含むと好ましい。
元素Ｍとして、例えば、アルミニウム、ガリウム、イットリウムまたはスズなどがある。
元素Ｍは、例えば、酸素との結合エネルギーが高い元素である。元素Ｍは、例えば、酸化
物半導体のエネルギーギャップを大きくする機能を有する元素である。また、酸化物半導
体は、亜鉛を含むと好ましい。酸化物半導体が亜鉛を含むと、結晶質の酸化物半導体とな
りやすい。また、酸化物半導体の価電子帯上端のエネルギー（Ｅｖ）は、例えば、亜鉛の
原子数比によって制御できる場合がある。
【００７３】
ただし、酸化物半導体は、インジウムを含まなくてもよい。酸化物半導体は、例えば、Ｚ
ｎ−Ｓｎ酸化物、Ｇａ−Ｓｎ酸化物であっても構わない。
【００７４】
なお、酸化物半導体は、ＺｎおよびＯを除いてのＩｎとＭの原子数比率をＩｎが５０ａｔ
ｏｍｉｃ％未満、Ｍが５０ａｔｏｍｉｃ％以上、またはＩｎが２５ａｔｏｍｉｃ％未満、
Ｍが７５ａｔｏｍｉｃ％以上であるＩｎ−Ｍ−Ｚｎ酸化物としてもよい。また、酸化物半
導体は、ＩｎとＭの原子数比率をＩｎが２５ａｔｏｍｉｃ％以上、Ｍが７５ａｔｏｍｉｃ
％未満、またはＩｎが３４ａｔｏｍｉｃ％以上、Ｍが６６ａｔｏｍｉｃ％未満であるＩｎ
−Ｍ−Ｚｎ酸化物としてもよい。
【００７５】
また、酸化物半導体は、エネルギーギャップが大きい。酸化物半導体のエネルギーギャッ
プは、２．７ｅＶ以上４．９ｅＶ以下、好ましくは３ｅＶ以上４．７ｅＶ以下、さらに好
ましくは３．２ｅＶ以上４．４ｅＶ以下とする。
【００７６】
トランジスタの電気特性を安定にするためには、酸化物半導体中の不純物濃度を低減し、
高純度真性化することが有効である。なお、酸化物半導体において、主成分以外（１ａｔ
ｏｍｉｃ％未満）の軽元素、半金属元素、金属元素などは不純物となる。例えば、水素、
リチウム、炭素、窒素、フッ素、ナトリウム、シリコン、塩素、カリウム、カルシウム、
チタン、鉄、ニッケル、銅、ゲルマニウム、ストロンチウム、ジルコニウムおよびハフニ
ウムは酸化物中で不純物となる場合がある。従って、近接する膜中の不純物濃度も低減す
ることが好ましい。
【００７７】
例えば、酸化物半導体中にシリコンが含まれることで不純物準位を形成する場合がある。
また、酸化物半導体の表層にシリコンがあることで不純物準位を形成する場合がある。そ
のため、酸化物半導体の内部、表層におけるシリコン濃度は、二次イオン質量分析法（Ｓ
ＩＭＳ：Ｓｅｃｏｎｄａｒｙ  Ｉｏｎ  Ｍａｓｓ  Ｓｐｅｃｔｒｏｍｅｔｒｙ）において
、１×１０１９ａｔｏｍｓ／ｃｍ３未満、好ましくは５×１０１８ａｔｏｍｓ／ｃｍ３未
満、さらに好ましくは２×１０１８ａｔｏｍｓ／ｃｍ３未満とする。
【００７８】
また、酸化物半導体中で水素は、不純物準位を形成し、キャリア密度を増大させてしまう
場合がある。そのため、酸化物半導体の水素濃度はＳＩＭＳにおいて、２×１０２０ａｔ
ｏｍｓ／ｃｍ３以下、好ましくは５×１０１９ａｔｏｍｓ／ｃｍ３以下、より好ましくは
１×１０１９ａｔｏｍｓ／ｃｍ３以下、さらに好ましくは５×１０１８ａｔｏｍｓ／ｃｍ
３以下とする。また、酸化物半導体中で窒素は、不純物準位を形成し、キャリア密度を増
大させてしまう場合がある。そのため、酸化物半導体中の窒素濃度は、ＳＩＭＳにおいて
、５×１０１９ａｔｏｍｓ／ｃｍ３未満、好ましくは５×１０１８ａｔｏｍｓ／ｃｍ３以
下、より好ましくは１×１０１８ａｔｏｍｓ／ｃｍ３以下、さらに好ましくは５×１０１
７ａｔｏｍｓ／ｃｍ３以下とする。
【００７９】
酸化物半導体は、例えば非単結晶を有してもよい。非単結晶は、例えば、ＣＡＡＣ（Ｃ  
Ａｘｉｓ  Ａｌｉｇｎｅｄ  Ｃｒｙｓｔａｌ）、多結晶、微結晶、非晶質部を有する。
【００８０】
酸化物半導体は、例えばＣＡＡＣを有してもよい。なお、ＣＡＡＣを有する酸化物半導体
を、ＣＡＡＣ−ＯＳ（Ｃ  Ａｘｉｓ  Ａｌｉｇｎｅｄ  Ｃｒｙｓｔａｌｌｉｎｅ  Ｏｘｉ
ｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）と呼ぶ。
【００８１】
ＣＡＡＣ−ＯＳは、例えば、透過型電子顕微鏡（ＴＥＭ：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｅ
ｌｅｃｔｒｏｎ  Ｍｉｃｒｏｓｃｏｐｅ）による観察像で、結晶部を確認することができ
る場合がある。ＣＡＡＣ−ＯＳに含まれる結晶部は、例えば、ＴＥＭによる観察像で、一
辺１００ｎｍの立方体内に収まる大きさであることが多い。また、ＣＡＡＣ−ＯＳは、Ｔ
ＥＭによる観察像で、結晶部と結晶部との境界を明確に確認できない場合がある。また、
ＣＡＡＣ−ＯＳは、ＴＥＭによる観察像で、粒界（グレインバウンダリーともいう。）を
明確に確認できない場合がある。ＣＡＡＣ−ＯＳは、例えば、明確な粒界を有さないため
、不純物が偏析することが少ない。また、ＣＡＡＣ−ＯＳは、例えば、明確な粒界を有さ
ないため、欠陥準位密度が高くなることが少ない。また、ＣＡＡＣ−ＯＳは、例えば、明
確な粒界を有さないため、電子移動度の低下が小さい。
【００８２】
ＣＡＡＣ−ＯＳは、例えば、複数の結晶部を有し、当該複数の結晶部においてｃ軸が被形
成面の法線ベクトルまたは表面の法線ベクトルに平行な方向に揃っている場合がある。ま
た、ＣＡＡＣ−ＯＳは、例えば、Ｘ線回折（ＸＲＤ：Ｘ−Ｒａｙ  Ｄｉｆｆｒａｃｔｉｏ
ｎ）装置を用い、ｏｕｔ−ｏｆ−ｐｌａｎｅ法による分析を行うと、配向を示す２θが３
１°近傍のピークが現れる場合がある。また、ＣＡＡＣ−ＯＳは、例えば、電子線回折像
で、スポット（輝点）が観測される場合がある。なお、特に、ビーム径が１０ｎｍφ以下
、または５ｎｍφ以下の電子線を用いて得られる電子線回折像を、極微電子線回折像と呼
ぶ。また、ＣＡＡＣ−ＯＳは、例えば、異なる結晶部間で、それぞれａ軸およびｂ軸の向
きが揃っていない場合がある。ＣＡＡＣ−ＯＳは、例えば、ｃ軸配向し、ａ軸または／お
よびｂ軸はマクロに揃っていない場合がある。
【００８３】
ＣＡＡＣ−ＯＳに含まれる結晶部は、例えば、ｃ軸がＣＡＡＣ−ＯＳの被形成面の法線ベ
クトルまたは表面の法線ベクトルに平行な方向になるように揃い、かつａｂ面に垂直な方
向から見て金属原子が三角形状または六角形状に配列し、ｃ軸に垂直な方向から見て金属
原子が層状または金属原子と酸素原子とが層状に配列している。なお、異なる結晶部間で
、それぞれａ軸およびｂ軸の向きが異なっていてもよい。本明細書において、単に垂直と
記載する場合、８０°以上１００°以下、好ましくは８５°以上９５°以下の範囲も含ま
れることとする。また、単に平行と記載する場合、−１０°以上１０°以下、好ましくは
−５°以上５°以下の範囲も含まれることとする。
【００８４】
また、ＣＡＡＣ−ＯＳは、例えば、欠陥準位密度を低減することで形成することができる
。ＣＡＡＣ−ＯＳを形成するためには、例えば、酸化物半導体に酸素欠損を生じさせない
ことが重要となる。従って、ＣＡＡＣ−ＯＳは、欠陥準位密度の低い酸化物半導体である
。または、ＣＡＡＣ−ＯＳは、酸素欠損の少ない酸化物半導体である。
【００８５】
不純物濃度が低く、欠陥準位密度の低い（酸素欠損の少ない）ことを高純度真性または実
質的に高純度真性と呼ぶ。高純度真性または実質的に高純度真性である酸化物半導体は、
キャリア発生源が少ないため、キャリア密度を低くすることができる場合がある。従って
、当該酸化物半導体をチャネル形成領域に用いたトランジスタは、しきい値電圧がマイナ
スとなる電気特性（ノーマリーオンともいう。）になることが少ない場合がある。また、
高純度真性または実質的に高純度真性である酸化物半導体は、欠陥準位密度が低いため、
トラップ準位密度も低くなる場合がある。従って、当該酸化物半導体をチャネル形成領域
に用いたトランジスタは、電気特性の変動が小さく、信頼性の高いトランジスタとなる場
合がある。なお、酸化物半導体のトラップ準位に捕獲された電荷は、消失するまでに要す
る時間が長く、あたかも固定電荷のように振る舞うことがある。そのため、トラップ準位
密度の高い酸化物半導体をチャネル形成領域に用いたトランジスタは、電気特性が不安定
となる場合がある。
【００８６】
また、高純度真性または実質的に高純度真性であるＣＡＡＣ−ＯＳを用いたトランジスタ
は、可視光や紫外光の照射による電気特性の変動が小さい。
【００８７】
酸化物半導体は、例えば多結晶を有してもよい。なお、多結晶を有する酸化物半導体を、
多結晶酸化物半導体と呼ぶ。多結晶酸化物半導体は複数の結晶粒を含む。
【００８８】
酸化物半導体は、例えば微結晶を有してもよい。なお、微結晶を有する酸化物半導体を、
微結晶酸化物半導体と呼ぶ。
【００８９】
微結晶酸化物半導体は、例えば、ＴＥＭによる観察像では、明確に結晶部を確認すること
ができない場合がある。微結晶酸化物半導体に含まれる結晶部は、例えば、１ｎｍ以上１
００ｎｍ以下、または１ｎｍ以上１０ｎｍ以下の大きさであることが多い。特に、例えば
、１ｎｍ以上１０ｎｍ以下の微結晶をナノ結晶（ｎｃ：ｎａｎｏｃｒｙｓｔａｌ）と呼ぶ
。ナノ結晶を有する酸化物半導体を、ｎｃ−ＯＳ（ｎａｎｏｃｒｙｓｔａｌｌｉｎｅ  Ｏ
ｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）と呼ぶ。また、ｎｃ−ＯＳは、例えば、ＴＥＭ
による観察像では、結晶部と結晶部との境界を明確に確認できない場合がある。また、ｎ
ｃ−ＯＳは、例えば、ＴＥＭによる観察像では、明確な粒界を有さないため、不純物が偏
析することが少ない。また、ｎｃ−ＯＳは、例えば、明確な粒界を有さないため、欠陥準
位密度が高くなることが少ない。また、ｎｃ−ＯＳは、例えば、明確な粒界を有さないた
め、電子移動度の低下が小さい。
【００９０】
ｎｃ−ＯＳは、例えば、微小な領域（例えば、１ｎｍ以上１０ｎｍ以下の領域）において
原子配列に周期性を有する場合がある。また、ｎｃ−ＯＳは、例えば、結晶部と結晶部と
の間で規則性がないため、巨視的には原子配列に周期性が見られない場合、または長距離
秩序が見られない場合がある。従って、ｎｃ−ＯＳは、例えば、分析方法によっては、非
晶質酸化物半導体と区別が付かない場合がある。ｎｃ−ＯＳは、例えば、ＸＲＤ装置を用
い、結晶部よりも大きいビーム径のＸ線でｏｕｔ−ｏｆ−ｐｌａｎｅ法による分析を行う
と、配向を示すピークが検出されない場合がある。また、ｎｃ−ＯＳは、例えば、結晶部
よりも大きいビーム径（例えば、２０ｎｍφ以上、または５０ｎｍφ以上）の電子線を用
いる電子線回折像では、ハローパターンが観測される場合がある。また、ｎｃ−ＯＳは、
例えば、結晶部と同じか結晶部より小さいビーム径（例えば、１０ｎｍφ以下、または５
ｎｍφ以下）の電子線を用いる極微電子線回折像では、スポットが観測される場合がある
。また、ｎｃ−ＯＳの極微電子線回折像は、例えば、円を描くように輝度の高い領域が観
測される場合がある。また、ｎｃ−ＯＳの極微電子線回折像は、例えば、当該領域内に複
数のスポットが観測される場合がある。
【００９１】
ｎｃ−ＯＳは、微小な領域において原子配列に周期性を有する場合があるため、非晶質酸
化物半導体よりも欠陥準位密度が低くなる。ただし、ｎｃ−ＯＳは、結晶部と結晶部との
間で規則性がないため、ＣＡＡＣ−ＯＳと比べて欠陥準位密度が高くなる。
【００９２】
なお、酸化物半導体が、ＣＡＡＣ−ＯＳ、多結晶酸化物半導体、微結晶酸化物半導体、非
晶質酸化物半導体の二種以上を有する混合膜であってもよい。混合膜は、例えば、非晶質
酸化物半導体の領域、微結晶酸化物半導体の領域、多結晶酸化物半導体の領域、ＣＡＡＣ
−ＯＳの領域、のいずれか二種以上の領域を有する場合がある。また、混合膜は、例えば
、非晶質酸化物半導体の領域、微結晶酸化物半導体の領域、多結晶酸化物半導体の領域、
ＣＡＡＣ−ＯＳの領域、のいずれか二種以上の領域の積層構造を有する場合がある。
【００９３】
酸化物半導体は、多層膜で構成されていてもよい。例えば、酸化物半導体層（ＯＳ１）と
、酸化物半導体層（ＯＳ２）とが、この順番で形成された多層膜であってもよい。
【００９４】
このとき、例えば、酸化物半導体層（ＯＳ２）の伝導帯下端のエネルギー（Ｅｃ）を、酸
化物半導体層（ＯＳ１）よりも低くする。具体的には、酸化物半導体層（ＯＳ２）として
、酸化物半導体層（ＯＳ１）よりも電子親和力の０．０７ｅＶ以上１．３ｅＶ以下、好ま
しくは０．１ｅＶ以上０．７ｅＶ以下、さらに好ましくは０．１５ｅＶ以上０．４ｅＶ以
下大きい酸化物半導体を用いる。なお、電子親和力は、真空準位と伝導帯下端のエネルギ
ーとの差である。
【００９５】
または、例えば、酸化物半導体層（ＯＳ２）のエネルギーギャップを、酸化物半導体層（
ＯＳ１）よりも小さくする。なお、エネルギーギャップは、例えば、光学的な手法により
導出することができる。具体的には、酸化物半導体層（ＯＳ２）として、酸化物半導体層
（ＯＳ１）よりもエネルギーギャップの０．１ｅＶ以上１．２ｅＶ以下、好ましくは０．
２ｅＶ以上０．８ｅＶ以下小さい酸化物半導体を用いる。
【００９６】
または、酸化物半導体は、例えば、酸化物半導体層（ＯＳ１）と、酸化物半導体層（ＯＳ
２）と、酸化物半導体層（ＯＳ３）とが、この順番で形成された多層膜であってもよい。
【００９７】
このとき、例えば、酸化物半導体層（ＯＳ２）の伝導帯下端のエネルギー（Ｅｃ）を、酸
化物半導体層（ＯＳ１）および酸化物半導体層（ＯＳ３）よりも低くする。具体的には、
酸化物半導体層（ＯＳ２）として、酸化物半導体層（ＯＳ１）および酸化物半導体層（Ｏ
Ｓ３）よりも電子親和力の０．０７ｅＶ以上１．３ｅＶ以下、好ましくは０．１ｅＶ以上
０．７ｅＶ以下、さらに好ましくは０．１５ｅＶ以上０．４ｅＶ以下大きい酸化物半導体
を用いる。
【００９８】
または、例えば、酸化物半導体層（ＯＳ２）のエネルギーギャップを、酸化物半導体層（
ＯＳ１）および酸化物半導体層（ＯＳ３）よりも小さくする。具体的には、酸化物半導体
層（ＯＳ２）として、酸化物半導体層（ＯＳ１）および酸化物半導体層（ＯＳ３）よりも
エネルギーギャップの０．１ｅＶ以上１．２ｅＶ以下、好ましくは０．２ｅＶ以上０．８
ｅＶ以下小さい酸化物半導体を用いる。
【００９９】
または、例えば、トランジスタのオン電流を高くするためには、酸化物半導体層（ＯＳ３
）の厚さは小さいほど好ましい。例えば、酸化物半導体層（ＯＳ３）は、１０ｎｍ未満、
好ましくは５ｎｍ以下、さらに好ましくは３ｎｍ以下とする。一方、酸化物半導体層（Ｏ
Ｓ３）は、電流密度の高い酸化物半導体層（ＯＳ２）へ、ゲート絶縁膜を構成する元素（
シリコンなど）が入り込まないようブロックする機能も有する。そのため、酸化物半導体
層（ＯＳ３）は、ある程度の厚さを有することが好ましい。例えば、酸化物半導体層（Ｏ
Ｓ３）の厚さは、０．３ｎｍ以上、好ましくは１ｎｍ以上、さらに好ましくは２ｎｍ以上
とする。
【０１００】
また、酸化物半導体層（ＯＳ１）は厚く、酸化物半導体層（ＯＳ２）は薄く、酸化物半導
体層（ＯＳ３）は薄く設けられることが好ましい。具体的には、酸化物半導体層（ＯＳ１
）の厚さは、２０ｎｍ以上、好ましくは３０ｎｍ以上、さらに好ましくは４０ｎｍ以上、
より好ましくは６０ｎｍ以上とする。酸化物半導体層（ＯＳ１）の厚さを、２０ｎｍ以上
、好ましくは３０ｎｍ以上、さらに好ましくは４０ｎｍ以上、より好ましくは６０ｎｍ以
上とすることで、絶縁膜と酸化物半導体層（ＯＳ１）との界面から電流密度の高い酸化物
半導体層（ＯＳ２）までを２０ｎｍ以上、好ましくは３０ｎｍ以上、さらに好ましくは４
０ｎｍ以上、より好ましくは６０ｎｍ以上離すことができる。ただし、半導体装置の生産
性が低下する場合があるため、酸化物半導体層（ＯＳ１）の厚さは、２００ｎｍ以下、好
ましくは１２０ｎｍ以下、さらに好ましくは８０ｎｍ以下とする。また、酸化物半導体層
（ＯＳ２）の厚さは、３ｎｍ以上１００ｎｍ以下、好ましくは３ｎｍ以上８０ｎｍ以下、
さらに好ましくは３ｎｍ以上５０ｎｍ以下とする。
【０１０１】
例えば、酸化物半導体層（ＯＳ１）の厚さは酸化物半導体層（ＯＳ２）の厚さより厚く、
酸化物半導体層（ＯＳ２）の厚さは酸化物半導体層（ＯＳ３）の厚さより厚くすればよい
。
【０１０２】
上記のような酸化物半導体の単層または多層をトランジスタ１３２、トランジスタ１５２
、トランジスタ１６２のチャネルに用いることができる。
【０１０３】
（実施の形態２）
本実施の形態では、実施の形態１で例示した選択型メモリセルを用いたデータ処理装置、
およびデータ処理方法の例を、図６および図７を用いて説明する。
【０１０４】
図６（Ａ）はデータ処理装置２００の一部を示している。図６（Ａ）では、データ処理装
置２００のうち、レジスタ２０１、論理回路２０２、メモリ２０３を示す。メモリ２０３
は、キャッシュメモリあるいはメインメモリであり、レジスタ２０１、論理回路２０２か
ら比較的離れた領域に設けられている。
【０１０５】
データ処理装置２００においては、メモリ２０３に記憶されているデータの一部がレジス
タ２０１に転送され、そのデータが論理回路２０２で処理され、転送される。データ処理
装置２００において、レジスタ２０１はＮビットであり、以下の（１）乃至（３）の処理
をこの順番でおこなうことを考える。
【０１０６】
（１）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（２）Ｎビットの数列Ｂ（数列Ｂは数列Ａと異なる）に論理回路で演算処理Ｘを実行して
得られたＮビットの数列を転送する。
（３）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
【０１０７】
最初にメモリ２０３から転送されたＮビットの数列Ａがレジスタ２０１に入力される。そ
して、論理回路２０２で処理され、転送される（処理（１））。次にメモリ２０３から転
送されたＮビットの数列Ｂがレジスタ２０１に入力される。このときまでにレジスタ２０
１にあったＮビットの数列Ａは、数列Ｂによって上書きされる。そして、論理回路２０２
で処理され、転送される（処理（２））。最後にメモリ２０３から転送されたＮビットの
数列Ａがレジスタ２０１に入力される。処理（２）の場合と同様に、このときまでにレジ
スタ２０１にあった数列Ｂは、数列Ａによって上書きされる。そして、論理回路２０２で
処理され、転送される（処理（３））。
【０１０８】
このように、各処理に際しては、そのたびにメモリ２０３から数列Ａあるいは数列Ｂが転
送される。メモリ２０３はレジスタ２０１や論理回路２０２から離れているので、転送に
は時間を要する。
【０１０９】
図６（Ｂ）は、選択型メモリ２１４を有するデータ処理装置２１０の一部を示している。
図６（Ｂ）では、データ処理装置２１０のうち、レジスタ２１１、論理回路２１２、メモ
リ２１３、選択型メモリ２１４を示す。メモリ２１３は、キャッシュメモリあるいはメイ
ンメモリであり、レジスタ２１１、論理回路２１２から比較的離れた領域に設けられてい
る。
【０１１０】
データ処理装置２１０では、３以上の処理をおこなわせるにあたって、処理のうちのもっ
とも出現頻度の高い処理を選択し、もっとも出現頻度の高い処理のうち、最初の処理の結
果を信号保持回路に記憶させ、もっとも出現頻度の高い処理のうち、次の処理は、信号保
持回路に記憶させた結果を出力することにより、処理時間を短縮できる。また、もっとも
出現頻度の高い処理のうち、３番目の処理も信号保持回路に記憶させた結果を出力するこ
とにより実行してもよい。
【０１１１】
このような処理方法はコンピュータプログラムとして、データ処理装置内、あるいはデー
タ処理装置外に記憶させることができ、あるいは、通信回線を使用して、送信、受信ある
いは中継することができる。このコンピュータプログラムをデータ処理装置において実行
させたときに、データ処理装置は上記のデータ処理方法を実行する。
【０１１２】
選択型メモリ２１４は、実施の形態１で示した選択型メモリセルを複数個用いて形成され
たものであり、したがって、選択型メモリセルの数に見合うだけの入力端子と出力端子が
ある。例えば、６４個の選択型メモリセルを並列に配置することにより、６４個の入力端
子と出力端子を有する選択型メモリが形成できる。ここでは、レジスタ２１１および選択
型メモリ２１４は、いずれもＮビットであり、上記の（１）乃至（３）の処理をこの順番
でおこなうことを考える。
【０１１３】
もちろん、データ処理装置２００でおこなわれるように、必要な数列をその都度、メモリ
２１３からレジスタ２１１に転送してもよい。しかしながら、データ処理装置２１０は選
択型メモリ２１４を有するので、処理の順序がプログラムされた段階で、最適な処理の方
法が設定できる。
【０１１４】
最初にメモリ２１３から転送されたＮビットの数列Ａがレジスタ２１１に入力される。そ
して、論理回路２１２で処理され、選択型メモリ２１４を介して、転送される（処理（１
））。同時に、処理して得られたＮビットの数列（処理（１）で得られた数列）は、選択
型メモリ２１４に記憶される。
【０１１５】
次にメモリ２１３から転送されたＮビットの数列Ｂがレジスタ２１１に入力される。この
ときまでにレジスタ２１１にあったＮビットの数列Ａは、数列Ｂによって上書きされる。
そして、論理回路２１２で処理され、転送される（処理（２））。ここでは、処理して得
られたＮビットの数列は、選択型メモリ２１４に記憶されることなく、転送される。選択
型メモリ２１４は書き換えられることなく、処理（１）で得られた数列を記憶している。
【０１１６】
最後に処理（３）をおこなうが、処理（３）は処理（１）と同一であり、その結果は、す
でに選択型メモリ２１４に記憶されているので、そのデータを転送する。
【０１１７】
データ処理装置２００とデータ処理装置２１０を比較すると、処理（３）に際して、デー
タ処理装置２００では、メモリ２０３からレジスタ２０１まで数列Ａを転送する過程と、
論理回路２０２で演算処理Ｘを実行する過程が必要であるのに対し、データ処理装置２１
０では、それらの過程が不要であるため、処理をより高速におこなうことができる。
【０１１８】
このように、複数の処理をこなす場合、出現する頻度の高い処理があれば、その結果を選
択型メモリ２１４に記憶させておくことで、処理をより高速におこなうことができる。例
えば、以下の（１）乃至（１０）の処理をこの順番でおこなうことを考える。
【０１１９】
（１）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（２）Ｎビットの数列Ｂ（数列Ｂは数列Ａと異なる）に論理回路で演算処理Ｘを実行して
得られたＮビットの数列を転送する。
（３）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（４）Ｎビットの数列Ｃ（数列Ｃは数列Ａ、数列Ｂと異なる）に論理回路で演算処理Ｘを
実行して得られたＮビットの数列を転送する。
（５）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（６）Ｎビットの数列Ｄ（数列Ｄは数列Ａ、数列Ｂ、数列Ｃと異なる）に論理回路で演算
処理Ｘを実行して得られたＮビットの数列を転送する。
（７）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（８）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（９）Ｎビットの数列Ｃに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（１０）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
【０１２０】
この場合、処理（１）、（３）、（５）、（７）、（１０）が同一の処理であり、一番出
現頻度が高い。上記で説明したように、処理（１）で得られた数列を選択型メモリ２１４
に記憶させておけば、処理（３）は、それを転送すればよい。しかし、処理（５）以降で
は、選択型メモリ２１４に用いる選択型メモリセルの種類により、処理方法が異なる。
【０１２１】
例えば、選択型メモリ２１４に用いる選択型メモリセルとして、データの読み出しでデー
タが破壊されるタイプのものを考える。例えば、選択型メモリセル１３０あるいは選択型
メモリセル１５０においては、データの読み出しでデータが破壊されることがある。
【０１２２】
処理（３）は、選択型メモリ２１４に記憶されているデータを転送すればよい。しかし、
この段階で、選択型メモリ２１４に記憶されたデータが破壊されるので、処理（５）を実
行するには、メモリ２１３から数列Ａをレジスタ２１１に転送する必要がある。そして、
論理回路２１２での演算処理Ｘで得られた数列は、選択型メモリ２１４に記憶され、処理
（７）で利用できる。処理（１０）をおこなうには、再度、メモリ２１３から数列Ａをレ
ジスタ２１１に転送する必要がある。
【０１２３】
すなわち、処理（１）、（２）、（４）、（５）、（６）、（８）乃至（１０）の処理の
際には、メモリ２１３から数列をレジスタ２１１に転送する必要があり、処理（３）と処
理（７）に関しては不要である。
【０１２４】
これに対し、選択型メモリ２１４に用いる選択型メモリセルとして、データの読み出しで
データが破壊されないタイプのもの（例えば、選択型メモリセル１４０あるいは選択型メ
モリセル１６０）を用いる場合には、メモリ２１３から数列をレジスタ２１１に転送する
頻度をより低下させることができる。
【０１２５】
選択型メモリセル１４０あるいは選択型メモリセル１６０では、記憶されているデータを
出力した後でも、記憶されているデータが破壊されないので、上記の処理（１）乃至（１
０）のうち、処理（３）、（５）、（７）、（１０）に際しては、処理（１）で得られた
数列を利用できる。すなわち、処理（１）で得られた数列を選択型メモリ２１４に記憶さ
せておき、処理（３）、（５）、（７）、（１０）に際しては、それを出力すればよい。
【０１２６】
すなわち、処理（１）、（２）、（４）、（６）、（８）、（９）の処理の際には、メモ
リ２１３から数列をレジスタ２１１に転送する必要があり、処理（３）、（５）、（７）
、（１０）に関しては不要である。
【０１２７】
次に、以下の（１）乃至（２０）の処理をこの順番でおこなうことを考える。
（１）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（２）Ｎビットの数列Ｂ（数列Ｂは数列Ａと異なる）に論理回路で演算処理Ｘを実行して
得られたＮビットの数列を転送する。
（３）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（４）Ｎビットの数列Ｃ（数列Ｃは数列Ａ、数列Ｂと異なる）に論理回路で演算処理Ｘを
実行して得られたＮビットの数列を転送する。
（５）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（６）Ｎビットの数列Ｄ（数列Ｄは数列Ａ、数列Ｂ、数列Ｃと異なる）に論理回路で演算
処理Ｘを実行して得られたＮビットの数列を転送する。
（７）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（８）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（９）Ｎビットの数列Ｃに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転
送する。
（１０）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１１）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１２）Ｎビットの数列Ｄに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１３）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１４）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１５）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１６）Ｎビットの数列Ｃに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１７）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１８）Ｎビットの数列Ｄに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（１９）Ｎビットの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
（２０）Ｎビットの数列Ａに論理回路で演算処理Ｘを実行して得られたＮビットの数列を
転送する。
【０１２８】
このような処理において、処理（１１）以降、「Ｎビットの数列Ａに論理回路で演算処理
Ｘを実行して得られたＮビットの数列を転送する」という処理の頻度は低下し、「Ｎビッ
トの数列Ｂに論理回路で演算処理Ｘを実行して得られたＮビットの数列を転送する」とい
う処理が増加する。したがって、処理（１０）以前とは異なって、処理（１１）以降では
、処理（１１）で得られた数列を選択型メモリ２１４に記憶させておく。その結果、処理
（１３）、（１５）、（１７）、（１９）ではそれを出力すればよい。
【０１２９】
図７（Ａ）はあるデータ処理装置２２０の一部を示している。図７（Ａ）では、データ処
理装置２２０のうち、レジスタ２２１、論理回路２２２、メモリ２２３、レジスタ２２５
を示す。メモリ２２３は、キャッシュメモリあるいはメインメモリであり、レジスタ２２
１、論理回路２２２、レジスタ２２５から比較的離れた領域に設けられている。
【０１３０】
また、論理回路２２２から出力されたデータはレジスタ２２５を経由して、レジスタ２２
１あるいはメモリ２２３に転送される構成となっている。データ処理装置２２０において
、レジスタ２２１、レジスタ２２５はＮビットであり、以下の（２１）乃至（２４）の処
理をこの順番でおこなうことを考える。
【０１３１】
（２１）Ｎビットの数列Ｅに論理回路で演算処理Ｙを実行してＮビットの数列ｅを得る。
（２２）Ｎビットの数列Ｆ（数列Ｆは数列Ｅと異なる）に論理回路で演算処理Ｙを実行し
てＮビットの数列ｆを得る。
（２３）Ｎビットの数列ｆ（数列ｆは数列Ｅ、数列Ｆと異なる）に論理回路で演算処理Ｙ
を実行して得られたＮビットの数列Ｇをメモリに転送する。
（２４）Ｎビットの数列ｅ（数列ｅは数列Ｅ、数列Ｆ、数列ｆと異なる）に論理回路で演
算処理Ｙを実行して得られたＮビットの数列Ｈをメモリに転送する。
【０１３２】
最初にメモリ２２３から転送されたＮビットの数列Ｅがレジスタ２２１に入力される。そ
して、論理回路２２２で演算処理Ｙを実行して得られた数列ｅが得られる（処理（２１）
）。数列ｅはレジスタ２２５に転送される。
【０１３３】
次にメモリ２２３から転送されたＮビットの数列Ｆがレジスタ２２１に入力される。そし
て、論理回路２２２で演算処理Ｙを実行して得られた数列ｆが転送される（処理（２２）
）。このとき、レジスタ２２５には数列ｅがあり、これはその後の処理でも使用するので
、上書きされることは避ける必要がある。そこで、数列ｅは、レジスタ２２１あるいはメ
モリ２２３に転送される。
【０１３４】
ただし、レジスタ２２１に転送すると、次の処理（２３）の際に、数列ｆによって上書き
されてしまうので、メモリ２２３に転送せざるを得ない。すなわち、処理（２１）か処理
（２２）のいずれかあるいはその中間の段階で、数列ｅを、メモリ２２３に転送する過程
を必要とする。
【０１３５】
また、数列ｆはレジスタ２２５を介して、レジスタ２２１に転送される。
【０１３６】
次にレジスタ２２１に入力された数列ｆに論理回路２２２で演算処理Ｙを実行して得られ
た数列Ｇがメモリ２２３に転送される（処理（２３））。
【０１３７】
最後にメモリ２２３は、処理（２１）で得られた数列ｅを記憶しているので、メモリ２２
３から転送されたＮビットの数列ｅがレジスタ２２１に入力される。論理回路２２２で演
算処理Ｙを実行して得られた数列Ｈはレジスタ２２５を介して、メモリ２２３に転送され
る（処理（２４））。
【０１３８】
このように、数列ｅは処理（２１）で得られるものの、３つ先の処理（処理（２４））で
使用するためには、一度、メモリ２２３に転送する必要がある。そして、処理（２４）で
使用するために、再度、メモリ２２３からレジスタ２２１に転送する必要がある。この不
便を避けるためには、レジスタ２２５の容量を拡大すればよいが、回路設計上、無制限に
回路を拡大することはできない。
【０１３９】
図７（Ｂ）は、選択型メモリ２３４を有するデータ処理装置２３０の一部を示している。
図７（Ｂ）では、データ処理装置２３０のうち、レジスタ２３１、論理回路２３２、メモ
リ２３３、選択型メモリ２３４を示す。メモリ２３３は、キャッシュメモリあるいはメイ
ンメモリであり、レジスタ２３１、論理回路２３２から比較的離れた領域に設けられてい
る。
【０１４０】
選択型メモリ２３４は、実施の形態１で示した選択型メモリセルを複数個用いて形成され
たものである。ここでは、レジスタ２３１および選択型メモリ２３４は、いずれもＮビッ
トであり、上記の（２１）乃至（２４）の処理をこの順番でおこなうことを考える。
【０１４１】
最初にメモリ２３３から転送されたＮビットの数列Ｅがレジスタ２３１に入力される。そ
して、論理回路２３２で演算処理Ｙを実行してＮビットの数列ｅが得られる（処理（２１
））。この際、数列ｅは、選択型メモリ２３４に記憶される。
【０１４２】
次にメモリ２３３から転送されたＮビットの数列Ｆがレジスタ２３１に入力される。そし
て、論理回路２３２で演算処理Ｙを実行してＮビットの数列ｆが得られ、転送される（処
理（２２））。ここでは、数列ｆは、選択型メモリ２３４に記憶されることなく、レジス
タ２３１に転送される。選択型メモリ２３４は書き換えられることなく、処理（２１）で
得られた数列を記憶している。
【０１４３】
次にレジスタ２３１にある数列ｆを論理回路２３２に転送し、演算処理Ｙを実行してＮビ
ットの数列Ｇが得られ、メモリ２３３に転送される（処理（２３））。ここでは、数列Ｇ
は、選択型メモリ２３４に記憶されることなく、転送される。
【０１４４】
最後に処理（２４）をおこなうにあたって、選択型メモリ２３４が記憶している数列ｅを
レジスタ２３１に転送し、論理回路２３２で演算処理Ｙを実行して得られたＮビットの数
列Ｈが選択型メモリ２３４を介して、メモリ２３３に転送される。
【０１４５】
データ処理装置２２０とデータ処理装置２３０を比較すると、データ処理装置２２０では
数列ｅをメモリ２２３に転送し、また、メモリ２２３から転送する必要があったのに対し
、データ処理装置２３０では、その必要がないので、処理時間を短縮し、処理をより高速
でおこなうことができる。
【０１４６】
また、データ処理装置２２０とデータ処理装置２３０を比較するといずれも、レジスタ２
２１、レジスタ２３１はＮビットであり、レジスタ２２５と、それに相当する選択型メモ
リ２３４もＮビットである。しかしながら、選択型メモリ２３４がデータを選択的に記憶
し、あるいは選択的に通過させるという機能を有しているのに対し、レジスタ２２５には
そのような機能がないため、上記のような不便が生じてしまう。
【０１４７】
すなわち、データ処理装置２３０は、処理時間の短縮、処理速度の高速化あるいはレジス
タのビット数の削減による回路の集積化の少なくとも１つに効果がある。
【０１４８】
（実施の形態３）
本実施の形態では、論理回路としてシフタ（バレルシフタ）を用いたデータ処理装置の例
を、図８を用いて説明する。シフタは指定した桁数だけ、入力した数列をシフトできる論
理回路である。シフタは演算装置（ＡＬＵ）と同様にプロセッサ等のデータ処理装置内に
含まれている。
【０１４９】
シフタは、シフトする桁数が大きいほど、処理に時間がかかる。このことに対し、シフタ
に選択型メモリを設けることにより、処理時間を短縮することができる。
【０１５０】
図８は、０桁乃至７桁の右シフトを行う８ビットのシフタの回路図である。図中、ＳＷは
スイッチを表す。
【０１５１】
第一行のスイッチ群（Ｆｉｒｓｔ  Ｒｏｗ  Ｓｗｉｔｃｈｅｓ）のそれぞれのスイッチに
は、信号Ｉｎ＿ｎ（ただし、０≦ｎ≦７の整数）と一つ左の列からの信号Ｉｎ＿ｎ＋１（
ただし、ｎ＝７のときは、０、１、もしくはＩｎ＿０（シフト処理の方式により異なる、
図中ではＡ／Ｌ（アリスメティックシフト／ロジカルシフト）と表記））が入力されてお
り、スイッチを切り替える信号Ｓ０が”０”の場合には、各スイッチは信号Ｉｎ＿ｎ、”
１”の場合には信号Ｉｎ＿ｎ＋１を出力する。
【０１５２】
つまり、第一行のスイッチ群の出力は、信号Ｓ０が”０”の場合にはそれぞれの当該列に
入力された信号がそのまま出力され、シフトは生じない。一方、信号Ｓ０が”１”の場合
には全て一つ左の列に入力された信号が出力され、結果として入力された信号が１列分（
１桁）右にシフトして出力される。
【０１５３】
第二行のスイッチ群（Ｓｅｃｏｎｄ  Ｒｏｗ  Ｓｗｉｔｃｈｅｓ）のそれぞれのスイッチ
には、同じ列の第一行のスイッチの出力と、二つ左側の列の第一行のスイッチの出力が入
力されており、信号Ｓ１が”０”の場合には同じ列の第一行のスイッチの出力を選択して
出力し、”１”の場合には二つ左側の列のスイッチの出力を選択して出力する。結果とし
て、信号Ｓ１が”１”の場合には第一行のスイッチの出力が２列分（２桁）右にシフトし
て出力される。
【０１５４】
第三行のスイッチ群（Ｔｈｉｒｄ  Ｒｏｗ  Ｓｗｉｔｃｈｅｓ）のそれぞれのスイッチに
は、同じ列の第２行の出力と４つ左の第２行のスイッチの出力が入力されており、信号Ｓ
２が”０”の場合には前者を、信号Ｓ２が”１”の場合には後者を出力する。すなわち、
信号Ｓ２が”１”の場合は、第二行のスイッチの出力を４列分（４桁）右にシフトして出
力される。
【０１５５】
このように、Ｓ０が”１”であると１桁、Ｓ１が”１”であると２桁、Ｓ２が”１”であ
ると４桁の右シフトがおこなわれるので、Ｓ２、Ｓ１、Ｓ０の数値の組み合わせにより、
０桁から７桁まで信号をシフトして出力できる。具体的には、４×Ｓ２＋２×Ｓ１＋Ｓ０
、だけ右にシフトして出力できる。
【０１５６】
図８は８ビットのシフタであるが、例えば、入力の列数をさらに増大させて６４以上とし
、第４行乃至第６行のスイッチ群を設け、第４行のスイッチは第３行の８桁、第５行のス
イッチは第４行の１６桁、第６行のスイッチは第５行の３２桁、それぞれ左側のスイッチ
の出力に接続する構成とすることにより、最大で６３列分（６３桁）右にシフトさせるこ
とのできる６４ビットシフタが構成できる。
【０１５７】
シフタは、論理的には非常に単純な構成であるが、６４ビットシフタの場合の第６行では
３２列離れた列から信号を持ってくる必要があり、長い配線が多数必要となる。このため
、どうしても遅延時間が長くなる。このことに対し、シフタに選択型メモリあるいは選択
型メモリセルを設けることにより、処理時間を短縮することが可能となる。
【０１５８】
図９は、６４ビットのシフタ３０１の演算結果を、選択型メモリ３０２を介して、出力す
る構成を有するデータ処理装置３００の一部を示している。言うまでもなく、シフタは６
４ビットに限定されることはなく、３２ビットでも１２８ビットでもよく、高ビットのシ
フタほど、演算処理を向上させる効果が大きい。
【０１５９】
選択型メモリ３０２は、シフタ３０１の出力に対応するだけの入力および出力を有し、そ
れぞれの入力および出力には、選択型メモリセル３０３（ＳＭＣ）を接続する。選択型メ
モリセル３０３としては、実施の形態１で示した選択型メモリセル１３０、選択型メモリ
セル１４０、選択型メモリセル１５０、選択型メモリセル１６０、選択型メモリセル１８
０を用いることができる。もちろん、それ以外にも、入力されたデータをそのまま通過さ
せること、入力されたデータを記憶すること、および、記憶したデータを出力することが
できる機能を有するものであればよい。
【０１６０】
データ処理装置３００および、シフタ３０１のみからなるデータ処理装置において、以下
の（３１）乃至（３３）の処理をこの順番でおこなうことを考える。
（３１）６４ビットの数列Ｉを６１桁右シフトさせた６４ビットの数列を出力する。
（３２）６４ビットの数列Ｊを２桁右シフトさせた６４ビットの数列を出力する。
（３３）６４ビットの数列Ｉを６１桁右シフトさせた６４ビットの数列を出力する。
【０１６１】
シフタ３０１のみからなるデータ処理装置においては、６４ビットの数列Ｉをシフタに入
力し、それを６１列右シフトさせた６４ビットの数列を出力する（処理（３１））、６４
ビットの数列Ｊをシフタに入力し、それを２列右シフトさせた６４ビットの数列を出力す
る（処理（３２））、６４ビットの数列Ｉをシフタに入力し、それを６１列右シフトさせ
た６４ビットの数列を出力する（処理（３３））、という処理をおこなう。
【０１６２】
データ処理装置３００においても、シフタ３０１のみからなるデータ処理装置においてお
こなわれたような処理を実行してもよい。しかし、データ処理装置３００は選択型メモリ
３０２を有するので、より効率的に処理を実行できる。
【０１６３】
例えば、６４ビットの数列Ｉをシフタに入力し、それを６１列右シフトさせた６４ビット
の数列を出力する（処理（３１））と同時に、選択型メモリ３０２に６１列右シフトさせ
た６４ビットの数列を記憶させる、６４ビットの数列Ｊをシフタに入力し、それを２列右
シフトさせた６４ビットの数列を出力する（処理（３２））、選択型メモリ３０２に記憶
されている６４ビットの数列を出力する（処理（３３））、という処理をおこなう。
【０１６４】
処理（３１）および処理（３２）に関しては、データ処理装置３００とシフタ３０１のみ
からなるデータ処理装置で処理速度に差異は見られない。一方、処理（３３）に関しては
、シフタ３０１のみからなるデータ処理装置においておこなわれる６１列の右シフトの処
理に要する時間に比較すると、データ処理装置３００における選択型メモリ３０２に記憶
されている６４ビットの数列を出力する、という処理はより短時間で終了する。
【０１６５】
加えて、シフタ３０１のみからなるデータ処理装置において処理（３３）をおこなう場合
には、数列Ｉをレジスタ、キャッシュメモリあるいはメインメモリ等からシフタ３０１に
転送する時間も要する（実施の形態２を参照）。データ処理装置３００では、そのような
操作も不要であるので、より処理を高速におこなえる。
【符号の説明】
【０１６６】
ＩＮ      入力端子
ＥＮ＿１      コントロール信号
ＥＮ＿２      コントロール信号
ＥＮ＿３      コントロール信号
ＥＮ＿４      コントロール信号
Ｉｎ      信号
ＯＵＴ      出力端子
ＳＷ      スイッチ
Ｓ０      信号
Ｓ１      信号
Ｓ２      信号
ＳＭＣ      選択型メモリセル
１００      選択型メモリセル
１０１      第１のスイッチ
１０２      第２のスイッチ
１０３      信号保持回路
１１０      選択型メモリセル
１１１      第１のスイッチ
１１２      第２のスイッチ
１１３      信号保持回路
１１４      第３のスイッチ
１２０      選択型メモリセル
１２１      第１のスイッチ
１２２      第２のスイッチ
１２３      信号保持回路
１２４      第３のスイッチ
１３０      選択型メモリセル
１３１      スリーステートバッファ
１３１ａ      スイッチ
１３２      トランジスタ
１３３      キャパシタ
１３８      ノード
１３９      ノード
１４０      選択型メモリセル
１４１      スリーステートバッファ
１４２      トランジスタ
１４４      トランジスタ
１４５      インバータ
１４６      インバータ
１４９      ノード
１５０      選択型メモリセル
１５１      スリーステートバッファ
１５２      トランジスタ
１５３      キャパシタ
１５７      バッファ
１５８      ノード
１５９      ノード
１６０      選択型メモリセル
１６１      スリーステートバッファ
１６２      トランジスタ
１６３      キャパシタ
１６４      トランジスタ
１６７      バッファ
１６８      ノード
１６９      ノード
１７１      トランスミッションゲート
１７２      インバータ
１７３      インバータ
１７４      インバータ
１７５      インバータ
１８０      選択型メモリセル
１８１      トランスミッションゲート
１８２      トランジスタ
１８３      キャパシタ
１８４      トランスミッションゲート
１８５      インバータ
１８６      インバータ
１８７      バッファ
１８８      ノード
１８９      ノード
２００      データ処理装置
２０１      レジスタ
２０２      論理回路
２０３      メモリ
２１０      データ処理装置
２１１      レジスタ
２１２      論理回路
２１３      メモリ
２１４      選択型メモリ
２２０      データ処理装置
２２１      レジスタ
２２２      論理回路
２２３      メモリ
２２５      レジスタ
２３０      データ処理装置
２３１      レジスタ
２３２      論理回路
２３３      メモリ
２３４      選択型メモリ
３００      データ処理装置
３０１      シフタ
３０２      選択型メモリ
３０３      選択型メモリセル
【図１】
2020065313.tif 000003
【図２】
2020065313.tif 000004
【図３】
2020065313.tif 000005
【図４】
2020065313.tif 000006
【図５】
2020065313.tif 000007
【図６】
2020065313.tif 000008
【図７】
2020065313.tif 000009
【図８】
2020065313.tif 000010
【図９】
2020065313.tif 000011