JP2001306316A - 制御回路およびそれを用いた半導体装置 - Google Patents

制御回路およびそれを用いた半導体装置

Info

Publication number
JP2001306316A
JP2001306316A JP2000121845A JP2000121845A JP2001306316A JP 2001306316 A JP2001306316 A JP 2001306316A JP 2000121845 A JP2000121845 A JP 2000121845A JP 2000121845 A JP2000121845 A JP 2000121845A JP 2001306316 A JP2001306316 A JP 2001306316A
Authority
JP
Japan
Prior art keywords
internal
command
rom
address
control circuit
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
Application number
JP2000121845A
Other languages
English (en)
Inventor
Yasumichi Mori
康通 森
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2000121845A priority Critical patent/JP2001306316A/ja
Priority to US09/834,963 priority patent/US6442058B2/en
Priority to TW090109051A priority patent/TW518515B/zh
Priority to KR10-2001-0021083A priority patent/KR100394564B1/ko
Priority to EP01303618A priority patent/EP1150201A3/en
Publication of JP2001306316A publication Critical patent/JP2001306316A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/261Microinstruction address formation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 大幅な制御回路の変更や占有面積の増加を招
くことなく内部ROM容量を拡大し、既存の設計資産を
活用して応用デバイス開発期間の短縮を図る。 【解決手段】 外部コマンドが指定する動作の実現に必
要な内部コードを格納している内部ROMバンク11
を、複数の領域に分割する。内部ROM選択部18は、
外部コマンド認識部15で認識された外部コマンド1B
により、その実行に必要な内部コードを格納したROM
領域を選択する。プログラムカウンタ13は、必要な内
部コードの先頭アドレス1Dを出力し、内部ROMバン
ク11は、そのアドレス1Dに対応する内部コマンド1
Eを出力して内部コマンドレジスタ12に記憶させる。
内部コマンド実行部14は、内部コマンドレジスタ12
に記憶された内部コマンド1Fに基づいて演算や制御を
行い、制御信号レジスタ17から制御信号1Aを出力す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータや半導体メモリ等にコマンドプロセッサとして用い
られる制御回路およびそれを用いた半導体装置に関し、
特に、一般的に内部制御が複雑である不揮発性半導体メ
モリ等に用いられ、内部コード解読部を有する制御回路
およびそれを用いた半導体装置に関する。
【0002】
【従来の技術】近年、半導体技術の進歩と応用アプリケ
ーションの増加により、マイクロコンピュータや半導体
メモリ等に求められる仕様は益々複雑化および多様化し
ている。その中で、高機能、かつ、高信頼性を有するデ
バイスをいかに短期間で開発するかということが大きな
課題となっている。そのためには、既存デバイスの回路
ブロックを再利用する等、実績がある過去の設計資産を
活用する手法を使って、開発期間の短縮を図ることが重
要となる。特に、制御回路は複雑な回路で構成されてい
るため、既存回路を再利用することができれば、開発期
間の短縮に大きく寄与する。
【0003】上記マイクロコンピュータや半導体メモリ
等において、特に、一般的に内部制御が複雑である不揮
発性半導体メモリ等には、内部コード解読部を有する制
御回路が用いられることがある。ここで、上記マイクロ
コンピュータや半導体メモリ等の制御回路が直接実行可
能な内部命令のことを内部コマンドと称する。これに対
して、外部から上記マイクロコンピュータや半導体メモ
リ等に動作を指示するコマンドを外部コマンドと称す
る。通常、外部コマンドによって指定された動作を実現
するためには、多数の内部コマンドを指定された順序で
順次実行していく必要がある。この指定された順序に並
べられた複数の内部コマンドの集まり、すなわち、外部
コマンドによって指定された動作を実現するために、内
部コマンドで組まれたプログラムのことを内部コードと
称する。
【0004】半導体メモリを一例として説明すると、外
部から半導体メモリに対するデータ書き込みやデータ消
去動作等の指令が外部コマンドに相当し、上記データ書
き込みやデータ消去動作等を実現するために半導体メモ
リに含まれる制御回路が順次実行する内部コマンド列が
内部コードに相当する。特に、半導体メモリ等において
は、占有面積をできるだけ小さくすることが要求される
ため、回路を簡略化することが可能な、内部コマンドが
固定命令長である制御回路が用いられる。
【0005】図10に、内部コード解読部を含む従来の
制御回路の構成を示す。この制御回路210は、内部コ
ードを格納するためにROM(Read Only M
emory)等で構成される内部コード格納部(以下、
内部ROMと称する)21と、内部ROM21から読み
出した内部コマンド2Eを格納する内部コマンドレジス
タ22と、内部ROM21に格納されている内部コード
のうち、次に実行される内部コマンドのアドレスを示す
プログラムカウンタ23と、内部コマンドレジスタ22
に格納された内部コマンド2Fを実行する内部コマンド
実行部24と、外部コマンドがどのような動作を指示し
ているかを判断するための外部コマンド認識部25と、
制御回路210の外部から与えられた外部コマンド2B
を記憶する外部コマンドレジスタ26と、制御回路21
0の外部へ制御信号2Aを出力するための制御信号レジ
スタ27等から構成されている。このうち、内部ROM
21、内部コマンドレジスタ22、プログラムカウンタ
23、内部コマンド実行部24および外部コマンド認識
部25を内部コード解読部と称する。
【0006】図11に、このような内部コード解読部を
含む制御回路を用いた半導体メモリの構成例を示す。こ
の半導体メモリは、外部コマンドや書き込みデータ等を
入力したり、読み出しデータ等を出力するためのデータ
バスD0〜Dnを入出力に有する入出力バッファ201
と、アドレスバスA0〜Anやチップ選択信号であるC
E#(#は反転信号であることを示す)およびコマンド
書き込みイネーブル信号であるWE#を入力に有する入
力バッファ202と、供給電圧Vppを昇圧するための
内部昇圧回路203と、書き込み/消去制御回路204
と、アドレスデコード回路205と、情報を記憶するた
めのメモリアレイ206と、メモリアレイ206から情
報を読み出すためのセンス回路207と、図10に示し
た従来の制御回路210等から構成されている。
【0007】この半導体メモリは、デコード制御回路2
10から出力された制御信号2Aにより各回路が制御さ
れ、メモリアレイ206への情報の書き込みや消去等の
動作が行われる。この制御信号2Aは、内部昇圧回路2
03、書き込み/消去制御回路204およびセンス回路
207に入力され、例えば、内部昇圧回路203におい
ては、制御信号2Aによって昇圧開始や終了の制御がな
されたり、供給電圧Vppをどの電位まで昇圧するかの
切り替え制御がなされる。
【0008】次に、上記図10に示した制御回路の動作
の一例について、説明する。外部コマンドレジスタ26
に記憶された外部コマンド2Bが、外部コマンドレジス
タ26の出力2Hから外部コマンド認識部25に与えら
れると、外部コマンド記憶部25はその外部コマンド2
Bが制御回路210において有効な(実行し得る)コマ
ンドであるか否かを判断する。そして、外部コマンド2
Bが有効なコマンドであると判断された場合、外部コマ
ンド認識部25はプログラムカウンタ23に対して、外
部コマンド2Bで指定される動作に必要な内部コードの
内部ROM21内における先頭アドレス2Cを出力し、
最初に実行すべき内部コマンドを示す。内部ROM21
は、プログラムカウンタ23に格納された内部コードの
先頭アドレス2D(ここでは2Cに等しい)に対応する
内部コマンド、すなわち、これから実行される内部コー
ドのうち、先頭の内部コマンド2Eを内部コマンドレジ
スタ22に出力し、内部コマンドレジスタ22内に記憶
させる。内部コマンド実行部24は、内部コマンドレジ
スタ22に記憶されている内部コマンド2Fに基づい
て、指定された演算または制御等の動作を行う。そし
て、必要であれば信号2Iを出力して制御信号レジスタ
27に記憶されている値を更新したり、プログラムカウ
ンタ23に対して次に実行すべき内部コマンドのアドレ
ス2Gを出力したりする。これにより、その次に実行す
べき内部コード2Eが内部コマンドレジスタ22に記憶
される。
【0009】以上で説明したように、従来の制御回路2
10では、内部ROM21に格納された内部コマンドを
指定された順序でコマンド実行部24にて実行すること
により、すなわち、内部コードを順次実行していくこと
により、外部コマンド2Bで指定された動作を実現する
ことができる。ここでは、内部コード解読部を用いた従
来の制御回路について説明したが、一般的なマイクロコ
ンピュータにおいても同様の制御回路が含まれている。
【0010】上述したような従来の制御回路は、内部R
OMに格納されている内部コードを変更することによ
り、新規の外部コードを実装したり、既存の外部コード
による動作を変更したりすることができるため、汎用的
に用いることができる。
【0011】再び半導体メモリを一例として説明する
と、新しい動作仕様を有する半導体メモリを開発する際
には、図11において内部コードを変更することによ
り、その制御回路の構成をそのまま用いることが多い。
例えば、従来と異なる書き込みアーキテクチャを採用し
た半導体メモリを新規に開発する場合を考えると、上記
アドレスデコード回路205や書き込み/消去制御回路
204等の周辺回路を新規に開発する必要はあるかもし
れないが、それらを制御する制御回路は、内部コードを
それらの周辺回路に見合った、周辺回路が所望の動作を
するようなものに書き換えるだけで、基本的な構成を変
更することなく用いることができる。
【0012】以上のように、内部コード解読部を含む上
記従来の制御回路は、内部ROMに格納された内部コー
ドを最適なものに変更することにより汎用的に用いるこ
とができ、設計資産の活用によって高機能、かつ、高信
頼性を有するデバイスの開発期間の短縮化に大きく寄与
している。
【0013】
【発明が解決しようとする課題】上述した内部コード解
読部を含む従来の制御回路を用いた半導体メモリやマイ
クロコンピュータ等において、多種多様な仕様を実現す
る場合、複雑な内部動作が必要な外部コマンドを実装す
る場合、または数多くの外部コマンドに内部コードを対
応させる場合等には、既存のものよりも長い内部コマン
ド列、すなわち、大きな容量の内部コードを内部ROM
に格納する必要がある。
【0014】この内部コードの容量の限界、すなわち、
使用可能な内部ROMの容量の限界について考えると、
内部ROMの容量を制限するものとしては、プログラム
カウンタのビット数、内部コマンドの命令長(ビット
長)および内部コマンドレジスタのビット数等が挙げら
れる。
【0015】まず、プログラムカウンタのビット数につ
いて説明する。内部ROMから1つの内部コマンドを内
部コマンドレジスタに読み出すためには、上述したよう
にプログラムカウンタが内部ROM内のアドレス空間の
1つを指し示していることが必要である。例えば、プロ
グラムカウンタが16ビットの構成である場合、それが
指し示すことができるアドレス空間(内部ROMのアド
レス)は、0000H〜FFFFHであり、内部ROM
内にそれ以上のアドレス空間があったとしても、そのア
ドレスの内部コマンドを読み出すことはできない。この
場合、使用可能な内部ROMの容量は216ワード(64
kワード:内部コマンド65536行分)に制限され
る。
【0016】次に、内部コマンドの命令長(ビット長)
について説明する。上述したように固定命令長アーキテ
クチャを採用した場合、内部コマンドはある決まったビ
ット数(命令長)を有している。ここで、Nビットの幅
を有する内部コマンドをNビット命令と称する。内部コ
マンドには、その内部コマンドの種類によらず、内部コ
マンド実行部における演算/制御等の動作の種類を示す
数ビット程度のオペレーションコードが含まれる。ま
た、内部コマンドには、通常、次に実行される内部コマ
ンドの内部ROM内でのアドレスを直接指定する命令
(一般にジャンプ命令やコール命令と称される)が含ま
れている。これは、内部コードが実現するアルゴリズム
内で条件分岐を行う際等に必要不可欠な内部コマンドで
あり、例えば、ジャンプ命令には少なくとも上記オペレ
ーションコード部と次に実行される内部コマンドの内部
ROM内でのアドレスが含まれている。ここで、16ビ
ット命令を採用している上記従来例のような制御回路を
考えた場合、オペレーションコード部が1ビットであっ
たとしても、15ビット分のアドレス空間しか示すこと
ができない。よって、ジャンプ命令による分岐先の対称
が内部コード内の全ての内部コマンドである場合、使用
可能な内部ROMの容量は215ワード(32kワード:
内部コマンド32768行分)に制限される。
【0017】次に、内部コマンドレジスタのビット数に
ついて説明する。Nビット命令を採用した制御回路で
は、内部コマンドレジスタに少なくともNビットの容量
が必要である。よって、内部コマンドレジスタのビット
数が内部コマンドの命令長を制限し、さらには使用可能
な内部ROMの容量を制限することになる。
【0018】以上のように、上記従来例のような制御回
路を用いた場合、その回路構成によって内部ROMの容
量が制限される。この制限を解除するためには、プログ
ラムカウンタのビット数、内部コマンドの命令長(ビッ
ト長)および内部コマンドレジスタのビット数等を必要
なだけ大きくすればよい。
【0019】例えば、内部コマンドの命令長を大きくし
た場合を考える。内部コマンドの命令長を大きくする
と、同じ行数の内部コマンドを格納するために必要な内
部ROMの物理的な容量が増加する。例えば、1024
行(1kワード)の内部コードを内部ROMに格納する
場合、12ビット命令を採用している制御回路では、1
2kビットの容量が必要であるのに対して、16ビット
命令を採用している制御回路では16kビットの容量が
必要になる。このような内部ROMの物理的な容量の増
加は、チップ面積の増加を意味する。また、内部コマン
ド実行部や内部コマンドレジスタの変更、各構成回路間
の信号線ビット幅等を内部コマンドの命令長に合わせて
大きくする必要がある等、多大なハードウェアの変更を
伴うと共に、占有面積の増加を招くことになる。さら
に、内部コマンドの命令長を大きくすることにより、ア
センブラ等の翻訳プログラムを始めとするソフトウェア
の開発環境が変わるおそれもある。また、プログラムカ
ウンタのビット数を大きくした場合や、内部コマンドレ
ジスタのビット数を大きくした場合についても、その結
果として内部コマンドの命令長を大きくする必要が生じ
るため、同様の問題が生じる。
【0020】このように、上記従来例のような制御回路
において、内部ROM容量の制限を解除するためには、
大幅な制御回路の変更によるデバイス開発期間の増大や
占有面積の拡大を招き、さらに、従来の開発環境や過去
の設計資産を犠牲にするおそれがある。換言すれば、上
記従来例のような制御回路を再利用してデバイス開発期
間の短縮を図る場合には、内部ROM容量の制限を越え
ることができない。
【0021】本発明は、このような従来技術の課題を解
決すべくなされたものであり、大幅な制御回路の変更や
占有面積の増加を招くことなく内部ROM容量を拡大す
ることができ、既存の設計資産を活用して応用デバイス
開発期間の短縮を図ることができる内部コード解読部を
含む制御回路およびそれを用いた半導体装置を提供する
ことを目的とする。
【0022】
【課題を解決するための手段】本発明の半導体装置は、
外部から与えられる外部コマンドを認識する外部コマン
ド認識部と、複数の領域から構成され、該外部コマンド
認識部に認識された外部コマンドが指定する動作を実現
するための内部コードを格納する内部ROMバンクと、
該外部コマンド認識部に認識された外部コマンドによ
り、該内部ROMバンクから必要なROM領域を選択す
る内部ROM選択部と、該内部ROMバンクに格納され
ている内部コードのうち、次に実行される内部コマンド
のアドレスを示すプログラムカウンタと、該内部ROM
バンクから読み出した内部コマンドを格納する内部コマ
ンドレジスタと、該内部コマンドレジスタに格納された
内部コマンドを実行する内部コマンド実行部とを備えて
おり、そのことにより上記目的が達成される。
【0023】前記内部ROM選択部は比較回路等を備
え、前記プログラムカウンタが示すアドレスを特定のア
ドレスと比較した結果によっても、選択するROM領域
を切り替え可能である構成としてもよい。
【0024】前記内部ROM選択部はアドレスレジスタ
をさらに備え、該アドレスレジスタに任意の値を設定す
ることにより、前記特定のアドレスを変化させることが
可能である構成としてもよい。
【0025】本発明の半導体装置は、本発明の制御回路
を内蔵しており、そのことにより上記目的が達成され
る。
【0026】以下、本発明の作用について説明する。
【0027】本発明にあっては、外部コマンド認識部に
認識された外部コマンドによって、内部ROMバンクか
ら、その外部コマンドが指定する動作を実現するために
必要な内部コードが格納されているROM領域を選択す
ることが可能である。よって、従来の制御回路のよう
に、プログラムカウンタのビット数、内部コマンドの命
令長(ビット長)および内部コマンドレジスタのビット
数等を大きくしなくても、内部ROM容量を拡大するこ
とが可能である。この理由は、従来では、プログラムカ
ウンタのビット数や内部コマンドの命令長、内部コマン
ドレジスタのビット数等によって内部ROM容量が制限
され、それ以上の内部ROMアドレス空間があっても、
そのアドレスの内部コマンドを読み出すことができなか
ったのに対して、本発明では内部ROMバンクを複数の
領域に分けることによって、各選択領域で従来の内部R
OM容量と同じ容量まで内部ROMアドレス空間を活用
できるためである。複数のROM領域の大きさは同じで
なくても良く、その容量を最小限に設定することができ
る。さらに、後述する実施形態に示すように、内部RO
M選択部、比較回路やアドレスレジスタ等は簡単な構成
で実現可能であるので、制御回路の構成が複雑になるこ
とはない。なお、本明細書では、複数の領域に分割され
た内部ROMを内部ROMバンクと称している。
【0028】さらに、内部ROM選択部は、比較回路等
により、プログラムカウンタが示す次に実行される内部
コマンドのアドレスと特定のアドレスとを比較した結果
に従ってROM領域を選択することもできる。この場
合、複数の内部コードで共通する内部コマンドを共有し
て、ROM領域を物理的に削減することが可能である。
【0029】さらに、内部ROM選択部にアドレスレジ
スタを設けて、そのアドレスレジスタに任意の値を設定
することにより、次に実行される内部コマンドのアドレ
スとアドレスレジスタの値とを比較した結果に従ってR
OM領域を選択することもできる。この場合、上記複数
の内部コードで共通する内部コマンドを、任意のROM
領域に配置することが可能である。
【0030】本発明の制御回路を用いることにより、マ
イクロコンピュータや半導体メモリ等の半導体装置にお
いて、実績のある過去の設計資産の活用により、開発期
間の短縮を図ることが可能である。
【0031】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて、図面を参照しながら説明する。
【0032】(実施形態1)図1に、実施形態1の制御
回路の構成を示す。この制御回路110は、後述する内
部コード解読部を含み、内部コードを格納するためにR
OM等で構成され、複数の領域に分割された内部コード
格納部(以下、内部ROMバンクと称する)11と、内
部ROMバンク11から読み出した内部コマンド1Eを
格納する内部コマンドレジスタ12と、内部ROM11
に格納されている内部コードのうち、次に実行される内
部コマンドのアドレスを示すプログラムカウンタ13
と、内部コマンドレジスタ12に格納された内部コマン
ド1Fを実行する内部コマンド実行部14と、外部コマ
ンドがどのような動作を指示しているかを判断するため
の外部コマンド認識部25と、制御回路110の外部か
ら与えられた外部コマンド1Bを記憶する外部コマンド
レジスタ16と、制御回路110の外部へ制御信号1A
を出力するための制御信号レジスタ17と、外部コマン
ド認識部15で認識した外部コマンドによって内部RO
Mバンク11に含まれる複数のROM領域から必要なR
OM領域を選択する内部ROM選択部18等から構成さ
れている。このうち、内部ROMバンク11、内部コマ
ンドレジスタ12、プログラムカウンタ13、内部コマ
ンド実行部14、外部コマンド認識部15および内部R
OM選択部18を内部コード解読部と称する。
【0033】上記内部ROM選択部18には、外部コマ
ンド認識部15で認識した外部コマンドを識別する信号
1Hが入力され、内部ROMバンク11に内部ROM切
り替え信号1Iを出力する。この内部ROM切り替え信
号1Iによって、内部ROMバンク11に含まれる複数
のROM領域の中から、上記外部コマンド1Bが指定す
る動作を実現するために必要な内部コードが格納されて
いるROM領域が選択される。
【0034】なお、本実施形態の制御回路において、外
部コマンド1Bは従来の外部コマンド2Bと同じ構成と
することができる。従って、外部コマンドレジスタ16
やプログラムカウンタ13についても、従来の外部コマ
ンドレジスタ26やプログラムカウンタ23と構成や入
出力信号を同じにすることができる。
【0035】次に、上記図1に示した制御回路の動作に
ついて、複数の外部コマンドα、βおよびγを実装した
場合を一例として説明する。なお、以下の説明では、各
外部コマンドα、βおよびγを実現するために必要な内
部コードを各々内部コードα、βおよびγとし、内部コ
ードαおよびβは内部ROMバンク11内のROM領域
0に、内部コードγは内部ROMバンク11内のROM
領域1に各々格納されているものとする。各内部コード
は互いに一部分または全部を包含する関係にあってもよ
く、各内部コードに全く同じものが含まれていてもよ
い。また、実装される外部コマンドの数は限定されるも
のではない。さらに、同じROM領域に含まれる内部コ
ードの個数は限定されるものではなく、各ROM領域の
大きさは同じでなくてもよい。
【0036】上記制御回路において、外部コマンドレジ
スタ16に記憶された外部コマンド1Bが、外部コマン
ドレジスタ16の出力1Kから外部コマンド認識部15
に与えられると、外部コマンド認識部15はその外部コ
マンド1Bが制御回路110において有効な(実行し得
る)コマンドであるか否かを判断する。つまり、外部コ
マンド認識部15は、外部コマンド1Bに含まれるオペ
レーションコード部または外部コマンド1Bそのものに
よって、その外部コマンド1Bが上記制御回路110に
実装されている外部コマンドであるか否かを判断する。
【0037】その一例を図2に示す。ここでは、実装さ
れている外部コマンドをα、βおよびγとし、各々のコ
マンドに、図2(a)に示すように2bitのオペレー
ションコード部(b0、b1)が含まれているものとす
る。そして、オペレーションコードが実装されている3
つの外部コマンド(α、βまたはγ)に相当する場合に
は、図2(b)に示すような回路構成の外部コマンド認
識部15により、各々の外部コマンドに対応する外部コ
マンドEN信号(αEN、βENまたはγEN)を”
H”にする(図1では、外部コマンドを認識する信号1
Hに相当する)。また、書く外部コマンドに対応する内
部コードの先頭アドレス(ここでは16bitとしてい
る)をRomA0〜RomA15(図1では、信号1D
に相当する)として、プログラムカウンタ13に出力す
る。
【0038】そして、外部コマンド1Bが有効なコマン
ドであると判断された場合、外部コマンド認識部15か
ら内部ROM選択部18に対して、認識した外部コマン
ドを識別する信号1Hが入力される。これにより、内部
ROM選択部18は、内部ROMバンク11に含まれる
複数のROM領域の中から、上記外部コマンド1Bが指
定する動作を実現するために必要な内部コードが格納さ
れているROM領域を選択する。
【0039】さらに、外部コマンド認識部15は、プロ
グラムカウンタ13に対して、外部コマンド1Bで指定
される動作に必要な内部コードの内部ROM11バンク
内における先頭アドレス1Cを出力し、最初に実行すべ
き内部コマンドを示す。このとき、先頭アドレス1Cで
指定される内部コマンドは、内部ROM選択部1Iによ
って選択されたROM領域(例えば後述するROM領域
0)に含まれるものである。
【0040】内部ROMバンク11は、選択されたRO
M領域(例えば後述するROM領域0)において、プロ
グラムカウンタ13に格納された内部コードの先頭アド
レス1D(ここでは1Cに等しい)に対応する内部コマ
ンド、すなわち、これから実行される内部コードのう
ち、先頭の内部コマンド1Eを内部コマンドレジスタ1
2に出力し、内部コマンドレジスタ12内に記憶させ
る。
【0041】図3に内部ROM選択部18の構成の一例
を示し、図4に内部ROMバンク11の構成の一例を示
す。この内部ROM選択部18では、外部コマンドを識
別する信号1Hに含まれる外部コマンドαEN信号だけ
が”H”になる。この外部コマンドαEN信号は、外部
コマンド認識部15で外部コマンドαに含まれるオペレ
ーションコードをビット列としてデコードすることによ
り生成され、与えられた外部コマンドが外部コマンドα
であることを示す。そして、内部ROM選択部18か
ら、ROM領域0を選択するためのROM領域0EN信
号だけが”H”となった内部ROM切り替え信号1Iが
出力される。内部ROMバンク11は、ROM領域0E
N信号が”H”になったのを受けて、ROM領域0側の
アドレスデコード回路を活性化する。そして、内部RO
Mバンク11は、選択されたROM領域において、プロ
グラムカウンタ13から与えられるアドレス1Dに対応
する内部コマンド1Eを内部コマンドレジスタ12に出
力する。ここでは、選択されたROM領域0に格納され
ている内部コードαの先頭の内部コマンドが内部コマン
ドレジスタ12に出力されることになる。
【0042】内部コマンド実行部14は、例えばレジス
タファイルや各種演算器等を含み、内部コマンドレジス
タ12に記憶されている内部コマンド1Fに基づいて、
指定された演算または制御等の動作を行う。そして、必
要であれば信号1Jを出力して制御信号レジスタ17に
記憶されている値を更新したり、プログラムカウンタ1
3に対して次に実行すべき内部コマンドのアドレス1G
を出力したりする。これにより、その次に実行すべき内
部コード1Eが内部コマンドレジスタ12に記憶され
る。
【0043】以上で説明したように、本実施形態によれ
ば、内部ROM選択部18において、外部コマンド1B
に応じた内部コードが格納されているROM領域を内部
ROMバンク11から選択することにより、複数のRO
M領域を含む内部ROMバンクを有する内部コード解読
部を含んだ制御回路を実現することができる。
【0044】(実施形態2)図5に、実施形態2の制御
回路の構成を示す。なお、この図5において、実施形態
1と同じ機能を有する部分には同じ番号を付している。
この制御回路110aは、プログラムカウンタ13から
内部ROM選択部18aに、次に実行される内部コマン
ドのアドレス1Dが入力されている。内部ROM選択部
18aは、実施形態1と同様に、制御回路110aに与
えられる外部コマンド1Bによって、内部ROMバンク
11に含まれる複数のROM領域から実行すべき内部コ
ードが含まれるROM領域を選択するための信号1Iを
出力することができる。また、内部ROM選択部18a
は、比較回路等により、プログラムカウンタ13が示す
次に実行される内部コマンドのアドレス1Dと特定のア
ドレスとを比較し、アドレス1Dが特定のアドレス以上
である場合にも、内部ROMバンク11に含まれる複数
のROM領域から実行すべき内部コードが含まれるRO
M領域を選択するための信号1Iを出力することができ
る。上記アドレス1Dと特定のアドレスとの比較の大小
は、上記例に限定されず、特定のアドレス以下である場
合に切り替えたり、アドレス1Dが特定の範囲である場
合に切り替えたりすることもできる。
【0045】一般に、内部コードは複数の内部コマンド
の論理的な集まり(一般にサブルーチンと称される)か
ら構成されることが多い。その中でも、汎用的なもの
は、各々の内部コードに含まれることがある。例えば、
図6に示すように、内部コードαおよび内部コードβが
含まれる内部ROM領域0がサブルーチンa、b、c、
d、e、fを含んでいたとする。また、別の内部コード
γが含まれる内部ROM領域1がサブルーチンa、b、
c、g、h、iを含んでいたとする。このように、内部
コードαおよび内部コードβと内部コードγとが別のR
OM領域に格納されている上記図6の例のような場合、
サブルーチンa、b、cは両方のROM領域に重複して
存在することになり、物理的なROM領域が無駄になっ
てしまう。
【0046】この場合、本実施形態の構成では、特定の
アドレス以上のROM領域を別のROM領域と共有する
ことが可能であるため、上述したような無駄なROM領
域が生じるのを防ぐことができる。
【0047】図7に、内部ROM選択部の構成の一例を
示す。この内部ROM選択部18aでは、内部コマンド
のアドレスが8000H(特定のアドレス)以上である
場合に、次に実行する内部コマンドのアドレス1Dの下
位から16ビット目の信号に当たるA15が”H”にな
る。よって、図3に示したROM領域0EN信号を発生
させる回路にA15を入力としたOR回路を挿入した図
7のような回路構成にすることにより、ROM領域0E
N信号が”H”となった内部ROM切り替え信号1Iが
出力される。これにより、アドレス1Dが8000H以
上であるときに、アドレス1Dが7FFFH以下であっ
たときに選択されていたROM領域にかかわらず、RO
M領域0を選択することができる。
【0048】この場合、図6に示したような重複するサ
ブルーチンa、b、cを、例えば図8に示すように80
00Hのアドレス以降に配置すればよい。このように比
較対象となるアドレスを特定することにより、図7に示
すように比較回路を実質的に省略することができたり、
または簡素化したりすることが可能である。
【0049】さらに、上記内部コマンドのアドレスと比
較される特定のアドレスは、固定されている必要はな
い。例えば、図9に示すように、内部ROM選択部にア
ドレスレジスタ19および公知の比較回路を用いたアド
レス比較部19aを設けることにより、そのアドレスレ
ジスタ19に記憶させたアドレスと、次に実行される内
部コマンドのアドレス1Dとを、アドレス比較部19a
によって比較することができる。これにより、アドレス
1Dの方が大きくなったときに、アドレス比較部19a
の出力信号Lが”H”となり、ROM領域0が選択され
る。
【0050】なお、アドレスレジスタ19に記憶された
アドレスと内部コマンドのアドレス1Dとの比較の大小
は、上記例に限定されず、アドレス1Dの方が小さくな
ったときや、アドレス1Dが特定の範囲である場合にも
選択ROM領域を切り替えることもできる。
【0051】
【発明の効果】以上詳述したように、本発明によれば、
外部コマンド認識部に認識された外部コマンドによっ
て、内部ROMバンクから、その外部コマンドが指定す
る動作を実現するために必要な内部コードが格納されて
いるROM領域を選択することができる。よって、大幅
な制御回路の変更や占有面積の拡大を招くことなく、内
部ROM容量を拡大することが可能である。従って、本
発明の内部コード解読部を含む制御回路は、半導体装置
およびその応用デバイスの開発において、設計資産の活
用による期間短縮に大きく寄与する。
【0052】さらに、内部ROM選択部に比較回路等を
設けて、プログラムカウンタが示す次に実行される内部
コマンドのアドレスと特定のアドレスとを比較した結果
に従ってROM領域を選択することにより、複数の内部
コードで共通する内部コマンドを共有することができ
る。よって、ROM領域を物理的に削減して、制御回路
の占有面積の縮小を図ることができる。
【0053】さらに、内部ROM選択部にアドレスレジ
スタを設けて、そのアドレスレジスタに任意の値を設定
し、次に実行される内部コマンドのアドレスとアドレス
レジスタの値とを比較した結果に従ってROM領域を選
択することにより、上記複数の内部コードで共通する内
部コマンドを、任意のROM領域に配置することができ
る。
【図面の簡単な説明】
【図1】実施形態1の制御回路の構成を示す図である。
【図2】(a)および(b)は実施形態1の制御回路に
おける外部コマンド認識部の動作を説明するための図で
ある。
【図3】実施形態1の制御回路における内部ROM選択
部の構成の一例を示す図である。
【図4】実施形態1の制御回路における内部ROMバン
クの構成の一例を示す図である。
【図5】実施形態2の制御回路の構成を示す図である。
【図6】内部コードの構成の一例を示す図である。
【図7】実施形態2の制御回路における内部ROM選択
部の構成の一例を示す図である。
【図8】内部コードの構成の一例を示す図である。
【図9】実施形態2の制御回路における内部ROM選択
部の構成の一例を示す図である。
【図10】従来の制御回路の構成を示す図である。
【図11】従来の制御回路を含む半導体メモリの構成の
一例を示す図である。
【符号の説明】
11 内部ROMバンク 12、22 内部コマンドレジスタ 13、23 プログラムカウンタ 14、24 内部コマンド実行部 15、25 外部コマンド認識部 16、26 外部コマンドレジスタ 17、27 制御信号レジスタ 18、18a 内部ROM選択部 19 アドレスレジスタ 19a アドレス比較部 21 内部ROM 110、110a、210 制御回路 201 入出力バッファ 202 入力バッファ 203 内部昇圧回路 204 書き込み/消去制御回路 205 アドレスデコード回路 206 メモリアレイ 207 センス回路 1A、2A 制御信号 1B、2B 外部コマンド 1C 内部コードの内部ROMバンク内における先頭ア
ドレス 1D、2D プログラムカウンタに格納された内部コー
ドの先頭アドレス 1E、2E これから実行される内部コードのうち、先
頭の内部コマンド 1F、2F 内部コマンドレジスタに格納された内部コ
マンド 1G、2G 次に実行すべきコマンドのアドレス 1H 外部コマンドを識別する信号 1K、2H 外部コマンドレジスタの出力 2C 内部コードの内部ROM内における先頭アドレス 1I 内部ROM切り替え信号 1J、2I 内部コマンド実行部から制御信号レジスタ
に出力される信号 L アドレス比較部の出力信号

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 外部から与えられる外部コマンドを認識
    する外部コマンド認識部と、 複数の領域から構成され、該外部コマンド認識部に認識
    された外部コマンドが指定する動作を実現するための内
    部コードを格納する内部ROMバンクと、 該外部コマンド認識部に認識された外部コマンドによ
    り、該内部ROMバンクから必要なROM領域を選択す
    る内部ROM選択部と、 該内部ROMバンクに格納されている内部コードのう
    ち、次に実行される内部コマンドのアドレスを示すプロ
    グラムカウンタと、 該内部ROMバンクから読み出した内部コマンドを格納
    する内部コマンドレジスタと、 該内部コマンドレジスタに格納された内部コマンドを実
    行する内部コマンド実行部とを備えている制御回路。
  2. 【請求項2】 前記内部ROM選択部は、前記プログラ
    ムカウンタが示すアドレスを特定のアドレスと比較した
    結果によっても、選択するROM領域を切り替え可能で
    ある請求項1に記載の制御回路。
  3. 【請求項3】 前記内部ROM選択部はアドレスレジス
    タをさらに備え、該アドレスレジスタに任意の値を設定
    することにより、前記特定のアドレスを変化させること
    が可能である請求項2に記載の制御回路。
  4. 【請求項4】 請求項1乃至請求項3のいずれかに記載
    の制御回路を内蔵した半導体装置。
JP2000121845A 2000-04-21 2000-04-21 制御回路およびそれを用いた半導体装置 Pending JP2001306316A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2000121845A JP2001306316A (ja) 2000-04-21 2000-04-21 制御回路およびそれを用いた半導体装置
US09/834,963 US6442058B2 (en) 2000-04-21 2001-04-13 Control circuit and semiconductor device including same
TW090109051A TW518515B (en) 2000-04-21 2001-04-16 Control circuit and semiconductor device including same
KR10-2001-0021083A KR100394564B1 (ko) 2000-04-21 2001-04-19 제어회로 및 그를 이용한 반도체장치
EP01303618A EP1150201A3 (en) 2000-04-21 2001-04-20 Control circuit and semiconductor device including same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000121845A JP2001306316A (ja) 2000-04-21 2000-04-21 制御回路およびそれを用いた半導体装置

Publications (1)

Publication Number Publication Date
JP2001306316A true JP2001306316A (ja) 2001-11-02

Family

ID=18632408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000121845A Pending JP2001306316A (ja) 2000-04-21 2000-04-21 制御回路およびそれを用いた半導体装置

Country Status (5)

Country Link
US (1) US6442058B2 (ja)
EP (1) EP1150201A3 (ja)
JP (1) JP2001306316A (ja)
KR (1) KR100394564B1 (ja)
TW (1) TW518515B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023505991A (ja) * 2019-12-10 2023-02-14 マイクロン テクノロジー,インク. マイクロコード操作へのフレキシブルコマンドポインタ

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144919A1 (en) * 2004-01-05 2005-07-07 Honda Motor Co., Ltd. Variable speed transmission twist-grip throttle control apparatuses and methods for self-propelled mowing machine
DE102004025899B4 (de) * 2004-05-27 2010-06-10 Qimonda Ag Verfahren zum Aktivieren und Deaktivieren von elektronischen Schaltungseinheiten und Schaltungsanordnung zur Durchführung des Verfahrens
US7543429B2 (en) * 2007-10-26 2009-06-09 Honda Motor Co., Ltd. Variable speed transmission adjustable twist control apparatuses and methods for self-propelled mowing machine
US7859937B2 (en) * 2009-01-12 2010-12-28 Arm Limited Apparatus and method for controlling write access to a group of storage elements
US9311897B2 (en) 2010-12-28 2016-04-12 Indian Institute Of Technology Kanpur Convergent matrix factorization based entire frame image processing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1192368A (en) * 1966-07-11 1970-05-20 Automatic Telephone & Elect Improvements in or relating to Data Processing Devices
US3713108A (en) * 1971-03-25 1973-01-23 Ibm Branch control for a digital machine
DE2136762C3 (de) * 1971-07-22 1974-03-28 Siemens Ag, 1000 Berlin U. 8000 Muenchen Einrichtung zur Erweiterung eines in einem Festwertspeicher gespeicherten Grundprogrammes
NL8205076A (nl) * 1982-12-31 1984-07-16 Philips Nv Data processor eenheid voorzien van een stuurgedeelte welk een adresgenerator bevat voor het genereren van adressen welke uit karakteristieke adresdelen zijn samengesteld.
US4982360A (en) * 1983-09-22 1991-01-01 Digital Equipment Corporation Memory subsystem
US5581776A (en) * 1995-02-03 1996-12-03 Nokia Mobile Phones Limited Branch control system for rom-programmed processor
JP3822707B2 (ja) * 1997-05-08 2006-09-20 株式会社ルネサステクノロジ Icカード
JP4248624B2 (ja) * 1998-07-03 2009-04-02 株式会社デンソー 内燃機関用電子制御装置。
JP4115044B2 (ja) * 1999-06-23 2008-07-09 株式会社ルネサステクノロジ 電圧発生回路およびそれを備える半導体記憶装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023505991A (ja) * 2019-12-10 2023-02-14 マイクロン テクノロジー,インク. マイクロコード操作へのフレキシブルコマンドポインタ

Also Published As

Publication number Publication date
US6442058B2 (en) 2002-08-27
EP1150201A2 (en) 2001-10-31
KR20010098737A (ko) 2001-11-08
US20010048619A1 (en) 2001-12-06
KR100394564B1 (ko) 2003-08-14
EP1150201A3 (en) 2004-08-18
TW518515B (en) 2003-01-21

Similar Documents

Publication Publication Date Title
KR100388949B1 (ko) 기록 시 판독 동작을 위한 플래시 메모리 분할
US6556504B2 (en) Nonvolatile semiconductor memory device and data input/output control method thereof
CN1195303C (zh) 能同时读程序写数据的组合程序与数据的非易失性存储器
JP2004118826A (ja) フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
KR100265266B1 (ko) 플래쉬 eeprom 을 구비하는 마이크로컴퓨터및 플래쉬 eeprom 의 소거방법
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
JPS61170828A (ja) マイクロプログラム制御装置
US20030233536A1 (en) Automatic selection of firmware for a computer that allows a plurality of process types
JP2005092882A (ja) データ伝送時間を減少させるデュアルバッファリングメモリシステム及びこれに対する制御方法
JP2001306316A (ja) 制御回路およびそれを用いた半導体装置
JP2006313516A (ja) ローダーを備えた組込みメモリーユニット構造および組込みメモリー装置のシステム構造および作動方法
US7281113B2 (en) Microcomputer with built-in electrically rewritable nonvolatile memory
JPH06275084A (ja) 不揮発性半導体記憶装置及びそれを用いたデータ処理装置
JPH07302254A (ja) マイクロコンピュータシステム
JP2006528386A (ja) プログラム可能なチップセレクト
JP5032137B2 (ja) 半導体記憶装置
US7769943B2 (en) Flexible, low cost apparatus and method to introduce and check algorithm modifications in a non-volatile memory
KR100470822B1 (ko) 마이크로 컨트롤러의 메모리 어드레싱 방법 및 페이지매핑장치
KR20030038320A (ko) 반도체 메모리
JP3654505B2 (ja) 不揮発性半導体記憶装置およびその制御方法
JP6603100B2 (ja) メモリ制御装置及びメモリ制御方法
JP2009093388A (ja) 半導体集積回路装置及び半導体集積回路装置の制御方法
JP3375657B2 (ja) 命令コード発行方法
JPH11353170A (ja) フラッシュメモリ制御装置およびフラッシュメモリ制御装置のメモリアクセス方法
JP2001057087A (ja) 電気的変更動作の中断期間にバーストモード読取りおよびページモード読取りの機能能力を有する非揮発性メモリ

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040629

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040924