JPH07295922A - Data processing device and data processing system using the same - Google Patents
Data processing device and data processing system using the sameInfo
- Publication number
- JPH07295922A JPH07295922A JP6105972A JP10597294A JPH07295922A JP H07295922 A JPH07295922 A JP H07295922A JP 6105972 A JP6105972 A JP 6105972A JP 10597294 A JP10597294 A JP 10597294A JP H07295922 A JPH07295922 A JP H07295922A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- command
- data processing
- signal
- address
- 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.)
- Granted
Links
Landscapes
- Microcomputers (AREA)
- Memory System (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】 コマンドによって動作が指示される外部のフ
ラッシュメモリに対するコマンド書込みバスサイクルを
自動的に生成できるマイクロコンピュータを提供する。
【構成】 CPUやDMACなどの内蔵バスマスタが指
定する外部バスサイクル以外の外部バスサイクルを付加
すべきアドレス領域をレジスタ45で指定可能にし、レ
ジスタ45で指定されたアドレスに対してバスマスタが
出力するアドレス及び制御信号に基づいて、コマンド書
込みなどの外部バスサイクルを自動的に付加するタイミ
ング制御回路44をマイクロコンピュータのバスコント
ローラ4に設ける。
(57) [Summary] [Object] To provide a microcomputer capable of automatically generating a command write bus cycle for an external flash memory whose operation is instructed by a command. [Configuration] An address area to which an external bus cycle other than an external bus cycle designated by a built-in bus master such as a CPU or a DMAC can be designated by a register 45, and an address output by the bus master with respect to the address designated by the register 45 Further, a timing control circuit 44 for automatically adding an external bus cycle such as command writing based on the control signal is provided in the bus controller 4 of the microcomputer.
Description
【0001】[0001]
【産業上の利用分野】本発明は、データ処理装置にかか
り、例えば動作の指示にコマンドを必要とするメモリ例
えばフラッシュメモリを接続するマイクロコンピュータ
などに適用して利用して有効な技術に関するものであ
る。また、本発明はそのようなデータ処理装置を応用し
たシステムの評価又はそのシステムのためのソフトウェ
アのデバッグを行うエミュレータに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device, and relates to a technique effective when applied to a memory which requires a command for an operation instruction, for example, a microcomputer to which a flash memory is connected. is there. The present invention also relates to an emulator that evaluates a system to which such a data processing device is applied or debugs software for the system.
【0002】[0002]
【従来の技術】平成5年3月(株)日立製作所発行『H
8/3003 ハードウェアマニュアル』に記載される
ように、半導体集積回路でなるマイクロコンピュータは
中央処理装置であるCPUのアドレス空間の一部または
全部を外部アドレスとして、アドレスバス・データバス
・制御信号を外部と入出力し、外部に接続したメモリま
たはその他回路をリード/ライトできる。このとき、所
定のレジスタの設定によって、アドレス空間を分割した
領域に対応するエリアデコード信号例えばチップ選択信
号を出力したり、ロウアドレス/カラムアドレスをマル
チプレクスして出力したり、各種ストローブ信号の出力
波形を変更したりして、マスクROM、スタティックR
AM(SRAM)、疑似スタティックRAM(PSRA
M)、ダイナミックRAM(DRAM)などの各種メモ
リを直接接続し、リード/ライトを可能にしている。[Prior Art] March 1993, Hitachi, Ltd. "H
8/3003 Hardware Manual ”, a microcomputer composed of a semiconductor integrated circuit uses an address bus, a data bus, and a control signal as an external address with a part or all of an address space of a CPU as a central processing unit. It can input / output to / from the outside and read / write the memory or other circuits connected to the outside. At this time, depending on the setting of a predetermined register, an area decode signal corresponding to an area obtained by dividing the address space, for example, a chip selection signal is output, a row address / column address is multiplexed and output, and various strobe signals are output. Change the waveform, mask ROM, static R
AM (SRAM), pseudo static RAM (PSRA
Various memories such as M) and dynamic RAM (DRAM) are directly connected to enable read / write.
【0003】[0003]
【発明が解決しようとする課題】しかしながら、リード
/ライト時にメモリに与えられる又は読み出される、ア
ドレス/データはメモリの記憶情報とは直接関係ない場
合がある。例えば、1993年9月(株)日立製作所発
行『日立ICメモリ2』pp280−304に記載され
るフラッシュメモリのように、メモリの動作を指定する
コマンドを予じめデータバスから与えなければならない
ものがある。However, the address / data given to or read from the memory at the time of reading / writing may not be directly related to the information stored in the memory. For example, a flash memory described in "Hitachi IC Memory 2" pp280-304 issued by Hitachi, Ltd. in September 1993, in which a command for designating a memory operation must be given in advance from a data bus. There is.
【0004】図26には上記フラッシュメモリのコマン
ドの一例が示される。同図においてWはライト動作、R
はリード動作、×は任意値、RAはリードアドレス、R
Dはリードデータ、BAはブロックアドレス、PAは書
込みアドレス、PDは書込みデータ、H’は16進数を
示す。ブロックアドレスBAはブロック単位での消去対
象とされるブロックを指定するためのアドレス情報であ
る。例えば、書込みを行なう場合にはデータのライトに
先だって、コマンド(H’10)をライトし、続いて、
書込むべきアドレス(PA)に、書込むべきデータ(P
D)のライトを行なうものである。FIG. 26 shows an example of the command of the flash memory. In the figure, W is a write operation, R is
Is a read operation, × is an arbitrary value, RA is a read address, R
D is read data, BA is a block address, PA is a write address, PD is write data, and H'is a hexadecimal number. The block address BA is address information for designating a block to be erased in block units. For example, when writing, write the command (H'10) before writing the data, and then write
The data to be written (P) to the address to be written (PA)
D) is written.
【0005】CPUによる書込み動作のプログラム例を
以下に示す。命令は上記平成5年3月(株) 日立製作
所発行『H8/3003 ハードウェアマニュアル』に
記載のCPUと同一にしてある。 MOV.B #CMD,R0L………(1) MOV.B R0L,@FMEM……(2) MOV.B #DATA,R0L……(3) MOV.B R0L,@WADR……(4) 上記命令の記述において、CMDはコマンドの値(図2
6の例ではH’10)、DATAは書込みデータであ
り、#はイミディエイトデータを示す。また、FMEM
はフラッシュメモリの任意のアドレス、WADRはライ
トアドレスである。@はメモリアドレスを示す。上記命
令(1)はコマンドCMDをCPUのレジスタR0Lに
転送する命令、(2)はレジスタR0Lのコマンドをフ
ラッシュメモリのアドレス@FMEMに転送する命令、
(3)はCPUのレジスタR0Lに書込みデータDAT
Aを転送する命令、(4)はレジスタR0Lのデータを
書込みアドレスWADRに転送する命令である。A program example of the write operation by the CPU is shown below. The instruction is the same as the CPU described in "H8 / 3003 Hardware Manual" issued by Hitachi, Ltd. in March 1993. MOV. B #CMD, R0L ... (1) MOV. BR0L, @FMEM ... (2) MOV. B #DATA, R0L ... (3) MOV. BR0L, @WADR (4) In the description of the above command, CMD is a command value (see FIG. 2).
In the example of No. 6, H'10), DATA is write data, and # indicates immediate data. Also, FMEM
Is an arbitrary address of the flash memory, and WADR is a write address. @ Indicates a memory address. The instruction (1) is an instruction to transfer the command CMD to the register R0L of the CPU, and (2) is an instruction to transfer the command of the register R0L to the address @FMEM of the flash memory.
(3) is write data DAT in the register R0L of the CPU
An instruction to transfer A, and (4) is an instruction to transfer the data in the register R0L to the write address WADR.
【0006】アドレスは絶対アドレスとして指定するほ
か、レジスタ間接などとすることができる。書込みデー
タも汎用レジスタ上に用意されていてもよい。上記命令
記述から明らかなように、1バイトデータの書込みで
は、コマンドをフラッシュメモリに書込むための命令
(1),(2)が必要であるから、フラッシュメモリに
対するデータ書込みに直接必要な命令に対して全体で2
倍の命令実行が必要になる。これによって、プログラム
サイズも増加し、処理速度も低下してしまう。The address can be designated as an absolute address, or can be a register indirect or the like. Write data may also be prepared on the general-purpose register. As is clear from the above instruction description, in writing 1-byte data, the instructions (1) and (2) for writing the command into the flash memory are necessary. 2 in total
Double instruction execution is required. As a result, the program size also increases and the processing speed also decreases.
【0007】CPUは任意のプログラムを実行できるの
で、上述のようにソフトウェアの負担増を覚悟すれば、
コマンド方式によるフラッシュメモリへのデータ書込み
などを行うことができる。しかしながら、ダイレクトメ
モリアクセスコントローラ(DMAC)などは、単純な
データ転送のみが可能であり、アクセス対象が、例えば
SRAMであるか、フラッシュメモリであるかを判定し
て、さらにコマンドを挿入するようなことは容易ではな
い。本発明者の検討によれば、その様なデータの書込み
をDMACで実現しようとする場合、転送元には書込み
データと共にコマンドも格納しておかなければならず、
実際にその様なことを行おうとすれば、DMA転送に先
立つCPUの負担が格段に増大して、システムのスルー
プットを著しく低下させてしまう。換言すれば、それは
現実的な手法ではない。なお、DMACの例は上記平成
5年3月(株)日立製作所発行『H8/3003 ハー
ドウェアマニュアル』に記載されている。また、DMA
C以外にも、データトランスファコントローラ(DT
C)なども同様である。DTCは、例えば、昭和63年
12月(株)日立製作所発行『H8/532 ハードウ
ェアマニュアル』など記載されている。Since the CPU can execute an arbitrary program, if the load of software is increased as described above,
It is possible to write data to the flash memory by the command method. However, the direct memory access controller (DMAC) and the like can only perform simple data transfer, determine whether the access target is, for example, SRAM or flash memory, and insert a further command. Is not easy. According to the study by the present inventor, when writing such data is to be realized by the DMAC, the transfer source must also store the command together with the write data.
If such an attempt is actually made, the load on the CPU prior to the DMA transfer will be significantly increased, and the throughput of the system will be significantly reduced. In other words, it is not a realistic method. An example of the DMAC is described in "H8 / 3003 Hardware Manual" issued by Hitachi, Ltd. in March 1993. Also, DMA
In addition to C, data transfer controller (DT
The same applies to C) and the like. The DTC is described, for example, in "H8 / 532 Hardware Manual" issued by Hitachi, Ltd. in December 1988.
【0008】本発明の目的は、コマンドによって動作が
指示されるフラッシュメモリなどの周辺回路に対するコ
マンド転送のためのバスサイクルを自動的に追加若しく
は挿入できるデータ処理装置を提供することにある。本
発明の別の目的は、上記バスサイクルの自動的な追加若
しくは挿入を所要の周辺回路に対するアクセスのための
バス情報に従って行うデータ処理装置を提供することに
ある。本発明の別の目的は、上記バスサイクルの自動的
な追加若しくは挿入を所定の内部レジスタに対する制御
情報の書込みによって行うデータ処理装置を提供するこ
とにある。本発明の更に別の目的は、コマンドによって
動作が指示されるフラッシュメモリなどをの周辺回路を
アクセスするための命令実行時間を短縮できると共に、
プログラムサイズを小さくできるデータ処理装置を提供
することにある。本発明のその他の目的は、コマンドに
よって動作が指示されるフラッシュメモリなどの周辺回
路に直結してそれをアクセスできるDMACなどのデー
タ処理装置を提供することにある。また、本発明は、コ
マンド転送のためのバスサイクルを自動的に追加若しく
は挿入できる上記データ処理装置の機能が当該データ処
理装置を応用したシステムの評価やそのシステムのため
のソフトウェアデバッグを行うエミュレータの使い勝手
を低下させないようにする技術を提供することにある。An object of the present invention is to provide a data processing device capable of automatically adding or inserting a bus cycle for command transfer to a peripheral circuit such as a flash memory whose operation is instructed by a command. Another object of the present invention is to provide a data processing device which automatically adds or inserts the bus cycle according to bus information for accessing a required peripheral circuit. It is another object of the present invention to provide a data processing device which automatically adds or inserts the bus cycle by writing control information to a predetermined internal register. Still another object of the present invention is to reduce the instruction execution time for accessing a peripheral circuit such as a flash memory whose operation is instructed by a command, and
It is to provide a data processing device that can reduce the program size. Another object of the present invention is to provide a data processing device such as a DMAC which can be directly connected to and accessed by a peripheral circuit such as a flash memory whose operation is instructed by a command. In addition, the present invention provides an emulator for evaluating the system to which the data processing device is applied so that the function of the data processing device capable of automatically adding or inserting a bus cycle for command transfer and performing software debugging for the system. It is to provide technology that does not reduce usability.
【0009】本発明の前記並びにその他の目的と新規な
特徴は本明細書の記述及び添付図面から明らかになるで
あろう。The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
【0010】[0010]
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば下記
の通りである。The outline of the representative one of the inventions disclosed in the present application will be briefly described as follows.
【0011】(1)外部バスを使用できるバスマスタ手
段(例えばCPU2やDMAC3)を内蔵し、コマンド
によって動作が指示される外部回路(例えばフラッシュ
メモリ10)と接続可能なデータ処理装置(例えばシン
グルチップマイクロコンピュータ1)であって、バスマ
スタ手段による外部の所定アドレス空間に対するアクセ
スの指示に応答して、当該アクセスの指示に対応する外
部バスアクセスサイクルの生成に先立って、上記所定ア
ドレス空間に対して上記外部回路の動作を指示するため
のコマンドをライトする第1のコマンドライトサイクル
を生成するバス制御手段(例えばバスコントローラ4)
を備えて成る。(1) A data processing device (for example, a single-chip micro-processor) that incorporates bus master means (for example, CPU2 or DMAC3) that can use an external bus and can be connected to an external circuit (for example, flash memory 10) whose operation is instructed by a command. The computer 1), in response to an instruction to access an external predetermined address space from the bus master means, prior to generation of an external bus access cycle corresponding to the access instruction, the external to the predetermined address space Bus control means for generating a first command write cycle for writing a command for instructing the operation of the circuit (for example, bus controller 4)
It is equipped with.
【0012】(2)上記バス制御手段は、第1のコマン
ドライトサイクルを起動すべきアドレス空間を指定する
ためのアドレス空間指定手段(例えばレジスタCMDC
R)と、バスマスタ手段によるアクセスアドレスが上記
アドレス空間指定手段で指定されたアドレス空間に含ま
れるか否かを判定する判定手段(例えば制御回路41)
と、判定手段による含まれるとの検出結果に基づいて上
記第1のコマンドライトサイクルを生成するタイミング
制御手段(例えば図17に示される構成を含むタイミン
グ制御回路44)と、を含んで構成できる。(2) The bus control means is an address space designating means (for example, a register CMDC) for designating an address space in which the first command write cycle is to be activated.
R) and determination means (for example, control circuit 41) for determining whether or not the access address by the bus master means is included in the address space designated by the address space designation means.
And a timing control unit (for example, a timing control circuit 44 including the configuration shown in FIG. 17) that generates the first command write cycle based on the detection result of inclusion by the determination unit.
【0013】(3)第1のコマンドライトサイクルによ
ってライトすべきコマンドはコマンド記憶手段(例えば
レジスタWCMD,CDATA0,CDATA1)に書
換え可能に保持させておくことができる。(3) The command to be written in the first command write cycle can be rewritably held in the command storage means (eg, registers WCMD, CDATA0, CDATA1).
【0014】(4)更に上記バス制御手段は、制御レジ
スタ手段(例えばレジスタCNTL)と、CPUが該制
御レジスタ手段の第1のビット(例えばビットBE0〜
BE3)を操作することによって所定のアドレス空間に
所定のコマンドデータ(例えばフラッシュメモリのブロ
ック消去のためのコマンド)をライトする第2のコマン
ドライトサイクルを生成するタイミング制御手段(例え
ば第19図に示される構成を含むタイミング制御回路4
4)とを更に備えることができる。(4) Further, in the bus control means, the control register means (for example, register CNTL) and the first bit (for example, bits BE0 to BE0) of the control register means by the CPU are provided.
Timing control means (eg, shown in FIG. 19) for generating a second command write cycle for writing predetermined command data (for example, a command for erasing a block of the flash memory) in a predetermined address space by operating BE3). Control circuit 4 including a configuration
4) and can be further provided.
【0015】(5)上記第2のコマンドライトサイクル
で出力すべきアドレスはアドレス記憶手段(例えばレジ
スタBADR0〜BADR3)に格納させておくことが
できる。(5) The address to be output in the second command write cycle can be stored in the address storage means (for example, registers BADR0 to BADR3).
【0016】(6)更に上記バス制御手段は、CPUが
上記制御レジスタ手段の第2のビット(例えばビットR
E,ビットPOL)を操作することにより、所定の外部
端子(例えばレディー入力端子READY)から入力さ
れる信号(例えばフラッシュメモリの出力信号RDY/
BUSY*)の変化を待つポーリング制御を行うための
外部リードサイクルを生成するタイミング制御手段(例
えば第19図に示される構成を含むタイミング制御回路
44)とさらに備えることができる。(6) Further, in the bus control means, the CPU controls the second bit (for example, bit R) of the control register means.
By operating the E, bit POL), a signal (for example, the output signal RDY / of the flash memory) input from a predetermined external terminal (for example, the ready input terminal READY) is input.
BUSY *) may be further provided with timing control means (eg, timing control circuit 44 including the configuration shown in FIG. 19) for generating an external read cycle for performing polling control.
【0017】(7)エミュレーション用のデータ処理装
置に対しては、外部に対するバスサイクルが上記コマン
ドライトサイクルであるか否かを示す識別信号を出力す
るためのエミュレーションインタフェースを設けること
が望ましい。また、エミュレーション用のデータ処理装
置においてそのCPUは外部からの所定の割込み(例え
ばブレーク信号)に基づき上記バス制御手段による上記
第1のコマンドサイクルの生成を禁止させる制御信号を
出力させるようにする。このようなデータ処理装置は、
当該データ処理装置に含まれるエミュレーションインタ
フェースに結合されるエミュレータとによってデータ処
理システムを構成することができる。上記エミュレータ
は、トレースメモリとブレーク制御回路を有し、トレー
スメモリは上記データ処理装置のバス情報と共に上記識
別信号を入力して蓄積し、ブレーク制御回路は上記デー
タ処理装置による制御状態が予じめ設定された状態に到
達したときに上記割込み信号としてブレーク信号を該デ
ータ処理装置に出力するものである。(7) It is desirable to provide the emulation data processing device with an emulation interface for outputting an identification signal indicating whether or not the external bus cycle is the command write cycle. Further, in the emulation data processing device, the CPU outputs a control signal for prohibiting the generation of the first command cycle by the bus control means based on a predetermined external interrupt (for example, a break signal). Such a data processing device is
A data processing system can be configured by an emulator coupled to an emulation interface included in the data processing device. The emulator has a trace memory and a break control circuit. The trace memory inputs and stores the identification signal together with bus information of the data processing device, and the break control circuit predicts the control state of the data processing device. When the set state is reached, a break signal is output as the interrupt signal to the data processing device.
【0018】(8)データ処理装置は、上記バスマスタ
手段としてダイレクトメモリアクセスコントローラを更
に備え、1個の半導体基板にシングルチップマイクロコ
ンピュータとして形成構成することができる。このよう
なデータ処理装置は、例えば当該データ処理装置に直結
された外部回路としてのフラッシュメモリを備えてデー
タ処理システムを構成することができる。(8) The data processing device further comprises a direct memory access controller as the bus master means, and can be formed as a single chip microcomputer on one semiconductor substrate. Such a data processing device can configure a data processing system, for example, by including a flash memory as an external circuit directly connected to the data processing device.
【0019】(9)外部バスを使用できるバスマスタ手
段を内蔵し、コマンドによって動作が指示されるフラッ
シュメモリと接続可能なデータ処理装置は、上記バスマ
スタ手段による外部の所定アドレス空間に対するアクセ
スの指示に応答して、当該アクセスの指示に対応する外
部バスアクセスサイクルの生成に先立って上記所定アド
レス空間に対して上記フラッシュメモリの動作を指示す
るためのコマンドをライトするコマンドライトサイクル
を生成するバス制御手段と、上記コマンドライトによっ
て指示されたフラッシュメモリの内部動作状態を示す信
号の外部入力端子とを含んで、1個の半導体基板に形成
して構成できる。(9) The data processing device having a built-in bus master unit capable of using an external bus and connectable to a flash memory whose operation is instructed by a command responds to an instruction to access an external predetermined address space by the bus master unit. And bus control means for generating a command write cycle for writing a command for instructing the operation of the flash memory to the predetermined address space prior to the generation of the external bus access cycle corresponding to the access instruction. It can be formed and formed on one semiconductor substrate, including an external input terminal for a signal indicating the internal operation state of the flash memory instructed by the command write.
【0020】[0020]
【作用】上記した手段(1)から(3)によれば、フラ
ッシュメモリのような外部回路に割当てられた所定のア
ドレス空間がアクセスされると、そのアクセスに先立っ
て、当該外部回路の動作を指示するコマンドをライトす
るための第1のコマンドライトサイクルが自動的に挿入
される。このことは、例えばフラッシュメモリに対する
バイト又はページ単位での書込みに際して毎回コマンド
を書込むための処理とそれを規定するプログラム記述を
不要にする。According to the means (1) to (3) described above, when a predetermined address space allocated to an external circuit such as a flash memory is accessed, the operation of the external circuit is performed prior to the access. A first command write cycle for writing an instructed command is automatically inserted. This eliminates the need for a process for writing a command each time writing in a byte or page unit to the flash memory and a program description defining the command.
【0021】上記した手段(4),(5)によれば、内
蔵制御レジスタの所定のビットがCPUによって操作さ
れると、当該操作の次に、外部回路の動作を指示するコ
マンドをライトするための第2のコマンドライトサイク
ルが自動的に挿入される。このことは、例えばフラッシ
ュメモリに対するブロック消去のような複数回に分けた
コマンドライトが必要な場合にも、命令記述は制御レジ
スタに対する書込みなどを規定すればよく、このこと
が、上記同様データ処理効率の向上とプログラムサイズ
の縮小化とを実現する。According to the means (4) and (5) described above, when a predetermined bit of the built-in control register is operated by the CPU, a command for instructing the operation of the external circuit is written next to the operation. Second command write cycle is automatically inserted. This means that the command description may specify writing to the control register, etc. even when command writing divided into a plurality of times such as block erasing to the flash memory is required. And the reduction of the program size are realized.
【0022】上記手段(6)によれば、ポーリング制御
のための外部リードサイクルをCPUによる内蔵制御レ
ジスタの所定ビットの操作によって開始し維持すること
は、やはり上記同様外部バスサイクルの生成という点に
おいてデータ処理効率の向上とプログラムサイズの縮小
化とを実現する。According to the above-mentioned means (6), starting and maintaining the external read cycle for polling control by the operation of the predetermined bit of the built-in control register by the CPU is similar to the above in that the external bus cycle is generated. It is possible to improve the data processing efficiency and reduce the program size.
【0023】上記した手段(7)によれば、上記特別に
挿入されたコマンドライトサイクルは対応する命令記述
が存在しないが、そのことが、トレース情報から命令実
行軌跡を検証するエミュレーションの妨げにならに様
に、上記識別信号は特別に挿入されたコマンドライトサ
イクルであることを指し示すように作用する。また、ブ
レークされた後にデータ処理装置の動作空間が切換えら
れてエミュレーションのためのコントロールプログラム
が実行される状態において、コマンドライトサイクルを
挿入すべきアドレスに重ねてコントロール用のRAMな
どが割当てられるような場合、自動的にコマンドライト
サイクルが発生して誤って当該RAMのデータが書換え
られたりしないように作用し、コマンドライトサイクル
を自動的に追加若しくは挿入できる上記データ処理装置
の機能が当該データ処理装置を応用したシステムの評価
やそのシステムのためのソフトウェアデバッグを行うエ
ミュレータの使い勝手を低下させないようにする。According to the above-mentioned means (7), there is no corresponding instruction description in the specially inserted command write cycle, but if this does not hinder the emulation for verifying the instruction execution locus from the trace information. Thus, the identification signal acts to indicate that it is a specially inserted command write cycle. Also, in the state where the operation space of the data processing device is switched after the break and the control program for emulation is executed, the control RAM or the like is allocated so as to overlap the address at which the command write cycle should be inserted. In this case, a command write cycle is automatically generated to prevent the data in the RAM from being accidentally rewritten, and the function of the data processing apparatus is to add or insert a command write cycle automatically. Do not reduce the usability of the emulator that evaluates the system to which is applied and debugs the software for the system.
【0024】上記した手段(8)に明示的に示されるよ
うにバスマスタ手段がダイレクトメモリアクセスコント
ローラであっても、上記コマンドライトサイクルの自動
挿入によって、ダイレクトメモリアクセスコントローラ
もそのようなコマンド形式のフラッシュメモリをデータ
転送元又はデータ転送先として利用することを可能にす
る。Even if the bus master means is a direct memory access controller as explicitly shown in the above means (8), the direct memory access controller can also perform such a command format flash by the automatic insertion of the command write cycle. The memory can be used as a data transfer source or a data transfer destination.
【0025】上記した手段(9)のデータ処理装置によ
れば、コマンドによって動作が指示されるフラッシュメ
モリとのインタフェースの簡素化及び使い勝手の向上を
達成する。According to the data processor of the above means (9), the interface with the flash memory whose operation is instructed by the command is simplified and the usability is improved.
【0026】[0026]
【実施例】図1には本発明に係るデータ処理装置の一実
施例であるシングルチップマイクロコンピュータが示さ
れる。同図に示されるシングルチップマイクロコンピュ
ータ1は、CPU2、DMAC3、バスコントローラ
(BSC)4、ROM5、RAM6、タイマ7、シリア
ルコミュニケーションインタフェース(SCI)8、第
1乃至第9入出力ポートIOP1〜IOP9、クロック
発振器(CPG)9の機能ブロック乃至はモジュールか
ら構成され、公知の半導体製造技術により1つの半導体
基板上に半導体集積回路として形成される。DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows a single chip microcomputer which is an embodiment of a data processing device according to the present invention. The single-chip microcomputer 1 shown in the figure includes a CPU 2, a DMAC 3, a bus controller (BSC) 4, a ROM 5, a RAM 6, a timer 7, a serial communication interface (SCI) 8, first to ninth input / output ports IOP1 to IOP9, The clock oscillator (CPG) 9 is composed of functional blocks or modules, and is formed as a semiconductor integrated circuit on one semiconductor substrate by a known semiconductor manufacturing technique.
【0027】上記シングルチップマイクロコンピュータ
1は、電源端子として、グランドレベル端子Vss、電
源電圧レベル端子Vcc、その他専用制御端子として、
リセット端子RES、スタンバイ端子STBY、モード
制御端子MODE、クロック入力端子EXTAL、XT
ALを有する。それらは外部端子である。クロック入力
端子EXTAL、XTALに接続される、図示はされな
い水晶振動子に基づいて、クロック発振器9が生成する
システムクロックφ1、φ2に同期して、シングルチッ
プマイクロコンピュータ1は動作する。或は外部クロッ
クをEXTAL端子に入力してもよい。システムクロッ
クφ1、φ2の1周期を1ステートと呼ぶ。システムク
ロックφ1、φ2はノン・オーバーラップの2相クロッ
クとされ、φ2はφ1に対して実質的に反転若しくは位
相が180°ずらされたクロックとされる。The single chip microcomputer 1 has a ground level terminal Vss, a power supply voltage level terminal Vcc, and other dedicated control terminals as power supply terminals.
Reset terminal RES, standby terminal STBY, mode control terminal MODE, clock input terminals EXTAL, XT
Have AL. They are external terminals. The single-chip microcomputer 1 operates in synchronization with system clocks φ1 and φ2 generated by the clock oscillator 9 based on a crystal oscillator (not shown) connected to the clock input terminals EXTAL and XTAL. Alternatively, an external clock may be input to the EXTAL terminal. One cycle of the system clocks φ1 and φ2 is called one state. The system clocks φ1 and φ2 are non-overlapping two-phase clocks, and φ2 is a clock that is substantially inverted or phase-shifted by 180 ° with respect to φ1.
【0028】上記機能ブロックは、内部バスによって相
互に接続される。内部バスはアドレスバス・データバス
の他、リード信号、ライト信号、さらにバスサイズ信
号、そしてシステムクロックφ1、φ2などを含む制御
バスなどによって構成される。内部アドレスバスには、
IAB、PABが存在し、内部データバスにはIDB、
PDBが存在する。IAB、IDBはCPU2、ROM
5、RAM6、バスコントローラ4、入出力ポートIO
P1〜IOP9の一部に接続される。PAB、PDBは
バスコントローラ4、タイマ7、SCI8、入出力ポー
トIOP1〜9に接続される。IABとPAB、IDB
とPDBは、それぞれバスコントローラ4でインタフェ
ースされる。特に制限されないが、PABとPDBはそ
れが接続されている機能ブロック内のレジスタアクセス
に専ら用いられる。The above functional blocks are interconnected by an internal bus. The internal bus includes an address bus / data bus, a read signal, a write signal, a bus size signal, and a control bus including system clocks φ1 and φ2. The internal address bus is
IAB, PAB exist, IDB, and internal data bus
There is a PDB. CPU2 and ROM for IAB and IDB
5, RAM 6, bus controller 4, input / output port IO
It is connected to a part of P1 to IOP9. The PAB and PDB are connected to the bus controller 4, the timer 7, the SCI 8, and the input / output ports IOP1-9. IAB, PAB, IDB
The PDB and PDB are respectively interfaced with the bus controller 4. Although not particularly limited, PAB and PDB are exclusively used for register access in the functional block to which they are connected.
【0029】入出力ポートIOP1〜IOP9は、外部
バス信号と、入出力回路の入出力信号との入出力に兼用
とされている。これらは、動作モードあるいはソフトウ
エアの設定により、機能を選択されて、使用される。入
出力ポートIOP1〜3はアドレスバス出力、入出力ポ
ートIOP4及びIOP5はデータバス入出力、入出力
ポートIOP6及びIOP7はバス制御信号と兼用され
ている。外部アドレス、外部データは、それぞれ、これ
らの入出力ポートに含まれる図示しないバッファ回路を
介してIAB、IDBと接続されている。PAB、PD
Bは入出力ポートやバスコントローラ4などの内蔵レジ
スタをリード/ライトするために使用され、外部バスと
は直接の関係はない。The input / output ports IOP1 to IOP9 are also used for input / output of external bus signals and input / output signals of the input / output circuit. The functions of these are selected and used according to the operation mode or software settings. The I / O ports IOP1 to IOP3 are also used as address bus outputs, the I / O ports IOP4 and IOP5 are also used as data bus I / O, and the I / O ports IOP6 and IOP7 are also used as bus control signals. The external address and the external data are respectively connected to the IAB and IDB via buffer circuits (not shown) included in these input / output ports. PAB, PD
B is used for reading / writing the internal registers such as the input / output port and the bus controller 4, and has no direct relationship with the external bus.
【0030】内部バス及び外部バス共に16ビットバス
幅とされ、バイトサイズ(8ビット)及びワードサイズ
(16ビット)のリード/ライトが行われるようになっ
ている。なお、外部バスは8ビット幅とすることもでき
る。Both the internal bus and the external bus have a 16-bit bus width, and read / write of byte size (8 bits) and word size (16 bits) is performed. The external bus may have a width of 8 bits.
【0031】バス制御信号には、後述するエリア選択信
号CS0*〜CS7*、リード信号RD*、ライト信号
HWR*,LWR*、カラムアドレスストローブ信号C
AS*、ウエィト信号WAIT*、レディ信号READ
Yなどがある。The bus control signals include area selection signals CS0 * to CS7 *, read signals RD *, write signals HWR *, LWR *, column address strobe signal C, which will be described later.
AS *, wait signal WAIT *, ready signal READ
There is Y etc.
【0032】リセット端子RESにリセット信号が加え
られると、モード制御端子MODEで与えられる動作モ
ードを取り込み、シングルチップマイクロコンピュータ
(以下単にマイクロコンピュータとも記す)1はリセッ
ト状態にされる。動作モードは、特に制限はされないも
のの、内蔵ROM5の有効/無効、アドレス空間を16
Mバイトまたは1Mバイト、データバス幅の初期値を8
ビットまたは16ビットから選択する。必要に応じてモ
ード制御端子MODEは複数端子とされ、これらの端子
への入力状態の組合せで動作モードが決定される。When a reset signal is applied to the reset terminal RES, the operation mode given by the mode control terminal MODE is fetched, and the single chip microcomputer (hereinafter also simply referred to as microcomputer) 1 is reset. The operation mode is not particularly limited, but the internal ROM 5 is enabled / disabled and the address space is set to 16
Mbyte or 1Mbyte, the initial value of the data bus width is 8
Bit or 16 bits. The mode control terminal MODE has a plurality of terminals as necessary, and the operation mode is determined by the combination of the input states to these terminals.
【0033】内蔵ROM5が無効にされると、外部アド
レスが有効とされ、ROM5に相当するアドレスは外部
アドレスとされる。内蔵ROM5は、マスクROMまた
はPROM(プログラマブルROM)などとされる。マ
スクROMは、その内容を半導体集積回路の製造工程で
書込むため、ユーザがプログラム作成してからマイクロ
コンピュータを入手するまでの時間が著しく長い。ま
た、書替えを行なうことができない。PROMは、ユー
ザがプログラムを書込むことができるが、システムに装
着したまま書き換えることができない。或は、マイクロ
コンピュータに内蔵可能なROM5の記憶容量は、RO
M単体程大きくはなく、ユーザが所望のプログラム規模
を全て内蔵ROM5に格納することができるとは限らな
い。このため、内蔵ROMを用いず、外部にプログラム
格納用のROMを、マイクロコンピュータとは別に設け
ることが考えられる。マイクロコンピュータをシステム
に装着したまま、プログラム格納用の外部ROMを交換
することによって、プログラム作成からシステムを得る
までの時間を短縮したり、システムの仕様変更を行なっ
たりすることができる。以後は、内蔵ROMを使用せ
ず、外部にプログラムROMを設ける場合について説明
する。When the built-in ROM 5 is invalidated, the external address is validated, and the address corresponding to the ROM 5 becomes the external address. The built-in ROM 5 is a mask ROM, a PROM (programmable ROM), or the like. Since the contents of the mask ROM are written in the manufacturing process of the semiconductor integrated circuit, it takes a considerably long time from the user's program creation to the acquisition of the microcomputer. Moreover, rewriting cannot be performed. The PROM can be programmed by the user, but cannot be rewritten while it is installed in the system. Alternatively, the storage capacity of the ROM 5 that can be built in the microcomputer is RO
It is not as large as M alone, and the user cannot always store all desired program scales in the built-in ROM 5. Therefore, it is conceivable to provide an external ROM for storing the program separately from the microcomputer without using the built-in ROM. By exchanging the external ROM for storing the program with the microcomputer mounted in the system, it is possible to shorten the time from program creation to obtaining the system and change the system specifications. Hereinafter, the case where the program ROM is provided outside without using the built-in ROM will be described.
【0034】リセット状態を解除すると、CPU2は、
スタートアドレスをリードして、このスタートアドレス
から命令のリードを開始するリセット例外処理を行な
う。前記スタートアドレスは、特に制限はされないもの
の0番地から始まる領域に格納されているものとする。
その後、CPU2は前記スタートアドレスから順次命令
を実行する。When the reset state is released, the CPU 2
The start address is read, and reset exception handling is performed to start reading an instruction from this start address. It is assumed that the start address is stored in an area starting from address 0 although it is not particularly limited.
After that, the CPU 2 sequentially executes the instructions from the start address.
【0035】DMAC3は、CPU2の制御に基づいて
データの転送を行なう。CPU2とDMAC3は互いに
排他的に内部バス・外部バスを使用してリード/ライト
動作を行なう。CPU2またはDMAC3のいずれが動
作するかの調停はバスコントローラ4が行なう。The DMAC 3 transfers data under the control of the CPU 2. The CPU 2 and the DMAC 3 mutually perform read / write operations using the internal bus and the external bus. The bus controller 4 arbitrates which of the CPU 2 and the DMAC 3 operates.
【0036】バスコントローラ4はCPU2またはDM
AC3の動作に呼応して、バスサイクルを構成する。即
ち、CPU2またはDMAC3の出力するアドレス、リ
ード信号、ライト信号、バスサイズ信号に基づき、バス
サイクルを形成する。例えば、RAM6に相当するアド
レスをCPU2が内部アドレスバスIABに出力した場
合、バスサイクルは1ステートとされ、バイト/ワード
サイズに拘らず、1ステートでリード/ライトが行われ
るようになっている。タイマ7、SCI8、入出力ポー
トIOP1〜IOP9に相当するアドレスをCPU2が
内部アドレスバスIABに出力した場合、バスサイクル
は3ステートとされ、内部アドレスバスIABの内容が
内部アドレスバスPABに出力され、バイト/ワードサ
イズに拘らず、3ステートでリード/ライト動作を行な
うようになっている。この制御はバスコントローラ4が
行う。The bus controller 4 is the CPU 2 or DM
A bus cycle is constructed in response to the operation of AC3. That is, a bus cycle is formed based on the address, read signal, write signal, and bus size signal output from the CPU 2 or the DMAC 3. For example, when the CPU 2 outputs an address corresponding to the RAM 6 to the internal address bus IAB, the bus cycle is set to 1 state, and read / write is performed in 1 state regardless of the byte / word size. When the CPU 2 outputs addresses corresponding to the timer 7, SCI8, and input / output ports IOP1 to IOP9 to the internal address bus IAB, the bus cycle is set to 3 states, and the contents of the internal address bus IAB are output to the internal address bus PAB. The read / write operation is performed in three states regardless of the byte / word size. This control is performed by the bus controller 4.
【0037】図2にはマイクロコンピュータ1のアドレ
スマップの一例が示される。アドレス空間は全体で16
Mバイトとされ、アドレス空間は2Mバイトずつの8エ
リアに分割されている。これらのエリアに対応したエリ
ア選択信号CS0*〜CS7*が出力される。例えばエ
リア0をアクセスするとエリア選択信号CS0*が活性
状態になる。エリア選択信号はそれが入力される回路に
とってチップ選択信号とされるような信号である。FIG. 2 shows an example of the address map of the microcomputer 1. 16 address spaces in total
The address space is divided into 8 areas of 2 M bytes each. Area selection signals CS0 * to CS7 * corresponding to these areas are output. For example, when the area 0 is accessed, the area selection signal CS0 * becomes active. The area selection signal is a signal that is used as a chip selection signal for the circuit to which it is input.
【0038】それぞれのエリアのアクセス方法は、バス
コントローラ4に含まれる、夫々8ビットの5個のレジ
スタBSWCR、ASTCR、WSCRA−B、MPX
CR、CMDCRによって指定される。それぞれのレジ
スタの各ビットが対応する番号のエリアの制御を行な
う。これらの対応が図に示されている。例えば、エリア
0はBSWCR、ASTCR、WSCRA−B(WSC
RA及びWSCRB)、MPXCR、CMDCRの各ビ
ット0によって制御される。これらのレジスタはCPU
2から常にリード/ライト可能である。レジスタBSW
CRの初期値は動作モードによって決定される。即ち、
データバス幅の初期値を8ビットとするとH’FF、1
6ビットとするとH’00に初期化される。レジスタA
STCR、WSCRA−Bの初期値はH’FFとされ、
レジスタMPXCR、CMDCRの初期値はH’00と
される。The access method for each area is as follows: 5 registers of 8 bits each included in the bus controller 4, BSWCR, ASTCR, WSCRA-B, MPX.
Specified by CR and CMDCR. Each bit of each register controls the area of the corresponding number. These correspondences are shown in the figure. For example, area 0 is BSWCR, ASTCR, WSCRA-B (WSC
RA and WSCRB), MPXCR, and CMDCR are controlled by bit 0 of each. These registers are the CPU
Read / write is always possible from 2. Register BSW
The initial value of CR is determined by the operation mode. That is,
If the initial value of the data bus width is 8 bits, H'FF, 1
If it is 6 bits, it is initialized to H'00. Register A
The initial value of STCR and WSCRA-B is H'FF,
The initial values of the registers MPXCR and CMDCR are H'00.
【0039】上記レジスタBSWCRは各エリアのバス
幅を指定する。バス幅は8、16ビットが選択される。
対応するビットを”0”にクリアすると16ビットバ
ス、”1”にセットすると8ビットバスが選択される。The register BSWCR specifies the bus width of each area. A bus width of 8 or 16 bits is selected.
A 16-bit bus is selected when the corresponding bit is cleared to "0", and an 8-bit bus is selected when set to "1".
【0040】上記レジスタASTCR及びWSCRA−
Bは各エリアのバスサイクル数を指定する。バスサイク
ル数は2、3、4、5、6ステート数が選択される。レ
ジスタASTCRの対応するビットを”0”にクリアす
ると2ステートアクセス、”1”にセットすると、レジ
スタWSCRA−Bで指定したステート数になる。レジ
スタWSCRA−Bはウェイトステート数を設定する。
レジスタWSCRA−Bの対応するビットをいずれも”
0”にクリアするとウェイトステートなし(3ステート
アクセス)とされ、レジスタWSCRAの対応するビッ
トを”0”にクリアし、レジスタWSCRBの対応する
ビットを”1”にセットすると1ステートウェイト(4
ステートアクセス)とされ、レジスタWSCRAの対応
するビットを”1”にセットし、レジスタWSCRBの
対応するビットを”0”にクリアすると2ステートウェ
イト(5ステートアクセス)とされ、レジスタWSCR
A−Bの対応するビットをいずれも”1”にセットする
と3ステートウェイト(6ステートアクセス)とされ
る。レジスタWSCRA−Bで挿入されたウェイトをプ
ログラマブルウェイトと呼び、マイクロコンピュータの
外部から指示される外部ウェイトとは区別される。The registers ASTCR and WSCRA-
B designates the number of bus cycles in each area. The number of bus cycles is selected from 2, 3, 4, 5, and 6 states. When the corresponding bit of the register ASTCR is cleared to "0", 2-state access is performed, and when it is set to "1", the number of states designated by the register WSCRA-B is obtained. Register WSCRA-B sets the number of wait states.
Set the corresponding bits of register WSCRA-B to "
When it is cleared to 0, there is no wait state (3 state access). When the corresponding bit of the register WSCRA is cleared to “0” and the corresponding bit of the register WSCRB is set to “1”, 1 state wait (4
State access), the corresponding bit of the register WSCRA is set to "1" and the corresponding bit of the register WSCRB is cleared to "0", the state becomes 2-state wait (5-state access).
When all the corresponding bits of AB are set to "1", 3-state wait (6-state access) is performed. The weight inserted by the register WSCRA-B is called a programmable weight and is distinguished from the external weight designated from the outside of the microcomputer.
【0041】レジスタMPXCRはアドレスマルチプレ
クスを指定する。バスサイクルが3ステート以上のとき
有効である。例えば16ビット構成の4MビットDRA
Mを接続する場合、マイクロコンピュータのアドレス出
力A9−A1に、最初にロウアドレス(論理アドレスの
A18−A10)が出力され、次にカラムアドレス(論
理アドレスのA9−A1)が出力される。このとき、同
時にエリア選択信号の波形が変更され、ロウアドレスの
出力後にRAS*(ロウアドレスストローブ)信号が活
性状態とされる。ロウアドレスのセットアップ・ホール
ドが確保される。また、カラムアドレスの出力後に別の
端子からCAS*(カラムアドレスストローブ)信号が
活性状態とされる。Register MPXCR specifies the address multiplex. This is valid when the bus cycle is 3 states or more. For example, 16-bit 4M-bit DRA
When M is connected, the row address (logical address A18-A10) is first output to the address output A9-A1 of the microcomputer, and then the column address (logical address A9-A1) is output. At this time, the waveform of the area selection signal is changed at the same time, and the RAS * (row address strobe) signal is activated after the row address is output. Row address setup / hold is secured. Further, after the column address is output, the CAS * (column address strobe) signal is activated from another terminal.
【0042】レジスタCMDCRはコマンドサイクルを
自動生成するエリアを指定する。レジスタCMDCRの
対応するビットが”1”にセットされたエリアに、CP
U2またはDMAC3が所定のアクセスを行うと、自動
的にバスコマンドサイクルが挿入される。例えば、CP
U2が、プログラムに記述された MOV.B #DATA,R0L MOV.B R0L,@WADR という命令を実行して、アドレスWADRに対するデー
タDATAのライトサイクルを実行しようとしたした場
合、アドレスWADRが、上記レジスタCMDCRの対
応するビットが”1”にセットされたエリアに相当すれ
ば、例えばフラッシュメモリにライト動作を指示するコ
マンドCMDの、アドレスWADRに対するライトサイ
クルが自動的に起動されて挿入され、その次に、上記ア
ドレスWADRに対するデータDATAのライト動作の
ためのバスサイクルが起動されるようになる。ここで、
コマンドをライトするとき、その対象とされるフラッシ
ュメモリのような回路に対するチップ選択信号がエリア
選択信号として直接該回路に供給されている場合には、
コマンドライトのときに外部に出力されるアドレスは実
質的な意味を持たない。この例の場合は便宜上次のデー
タライトのアドレスと同一のアドレスを出力している。
なお、RAM6、タイマ7、SCI8、入出力ポートI
OP1〜IOP9といった内蔵メモリや周辺機能はエリ
ア7に含まれるものの、それぞれ固有のバス幅、バスサ
イクル数に固定される。The register CMDCR specifies an area for automatically generating a command cycle. In the area where the corresponding bit of the register CMDCR is set to "1", the CP
When U2 or DMAC3 makes a predetermined access, a bus command cycle is automatically inserted. For example, CP
U2 is the MOV. B #DATA, R0L MOV. When an instruction "BR0L, @WADR" is executed and a data DATA write cycle for the address WADR is executed, the address WADR corresponds to the area in which the corresponding bit of the register CMDCR is set to "1". Then, for example, a write cycle for a command CMD for instructing a write operation to the flash memory is automatically activated and inserted, and then a bus cycle for a write operation for the data DATA to the address WADR is performed. It will be started. here,
When writing a command, if the chip selection signal for the target circuit such as a flash memory is directly supplied to the circuit as an area selection signal,
The address output to the outside during command writing has no substantial meaning. In the case of this example, for convenience, the same address as the address of the next data write is output.
RAM 6, timer 7, SCI 8, input / output port I
Although the built-in memories such as OP1 to IOP9 and peripheral functions are included in the area 7, they are fixed to their own bus widths and bus cycle numbers.
【0043】図3及び図4にはバス制御のためのそのほ
かのレジスタ構成が示される。レジスタWCMDは8ビ
ット構成であり、上述のライトサイクルに先立って出力
すべきコマンドとされるデータを格納する。レジスタC
DAT0,CDAT1はそれぞれ8ビット構成であり、
上述のライトサイクルに先立って出力すべきコマンドと
なるデータを格納する。CDAT0は1回めのコマン
ド、CDAT1は2回目のコマンドとされる。すなわ
ち、必要とされるコマンドが2バイトとされる場合に当
該レジスタCDAT0,CDAT1が利用される。2バ
イトのコマンドの一例としては、図26に示されるブロ
ック消去のためのコマンドH’20とH、B0を挙げる
ことができる。レジスタBADR0〜BADR3はそれ
ぞれ16ビット構成であり、アドレス情報を格納する。
以上のWCMD、CDAT0〜CDAT1、BADR0
〜BADR3の各レジスタは、常にCPU2からリード
/ライト可能であり、初期値はH’00とされる。FIG. 3 and FIG. 4 show other register configurations for controlling the bus. The register WCMD has an 8-bit structure and stores data which is a command to be output prior to the above write cycle. Register C
DAT0 and CDAT1 each have an 8-bit structure,
Data that becomes a command to be output prior to the above-mentioned write cycle is stored. CDAT0 is the first command and CDAT1 is the second command. That is, when the required command is 2 bytes, the registers CDAT0 and CDAT1 are used. As an example of the 2-byte command, there can be mentioned commands H'20 and H, B0 for block erasing shown in FIG. The registers BADR0 to BADR3 each have a 16-bit configuration and store address information.
WCMD, CDAT0 to CDAT1, BADR0 above
Each register of ~ BADR3 is always readable / writable by the CPU 2, and its initial value is H'00.
【0044】レジスタCNTLは8ビット構成であり、
コマンドバスサイクルを付加する条件が設定される。ビ
ットBE0〜ビットBE3は外部のフラッシュメモリに
対するブロック消去の条件ビット、ビットPOLはポー
リングのための条件ビットである。その外にビットRE
を含む。ビットREは常にCPU2からリード/ライト
可能であるが、ビットBE0〜ビットBE3及びビット
POLは”1”のライトのみ可能であり、所定の動作が
終了すると、自動的に”0”にクリアされる。ビット
4、5はリザーブビットであり、リードすると”0”が
読み出され、ライトは無効とされる。The register CNTL has an 8-bit structure,
Conditions for adding a command bus cycle are set. Bits BE0 to BE3 are block erasing condition bits for the external flash memory, and bit POL is a condition bit for polling. Bit RE out of it
including. The bit RE can always be read / written by the CPU 2, but the bits BE0 to BE3 and the bit POL can only write "1", and are automatically cleared to "0" when a predetermined operation is completed. . Bits 4 and 5 are reserved bits, and when read, "0" is read and write is invalid.
【0045】レジスタCNTLの初期値はH’00とさ
れる。ビットREが”1”にセットされると、マイクロ
コンピュータのREADY端子の入力が有効になる。こ
の状態で、ビットPOLがCPU2によって”1”にセ
ットされると、そのバスサイクルに引き続いて、外部に
対してポーリングリードサイクルが自動的に挿入され
る。このとき、マイクロコンピュータ1の後述するRE
ADY端子に例えばフラッシュメモリから入力されたビ
ジー状態の信号をウェイト信号として認識する。例えば
外部のフラッシュメモリが内部動作中であってビジー状
態の信号を出力しているとき、即ち外部のフラッシュメ
モリが内部動作中であれば、かかる内部動作が終了する
までマイクロコンピュータ1はウェイト状態になり、そ
の間自動的に上記ポーリングリードサイクルを継続す
る。The initial value of the register CNTL is H'00. When the bit RE is set to "1", the input to the READY terminal of the microcomputer becomes valid. In this state, when the bit POL is set to "1" by the CPU 2, a polling read cycle is automatically inserted to the outside following the bus cycle. At this time, the RE of the microcomputer 1 described later will be described.
A busy signal input from the flash memory to the ADY terminal is recognized as a wait signal. For example, when the external flash memory is in the internal operation and outputs a busy signal, that is, when the external flash memory is in the internal operation, the microcomputer 1 waits until the internal operation is completed. During that time, the polling read cycle is automatically continued.
【0046】フラッシュメモリが内部動作中に、他にマ
イクロコンピュータ1が処理すべき内容があれば、フラ
ッシュメモリが出力するRDY/BUSY*信号(ハイ
レベルでレディー状態、ローレベルでビジー状態)を、
マイクロコンピュータ1の割込入力として、この立ち上
がりエッジを検出して割込を発生させるようにしてもよ
い。即ち、マイクロコンピュータ1は、フラッシュメモ
リに対して書込み又は消去を指示した後、RDY/BU
SY*信号の立ち上がりエッジによる割込みによってそ
の動作の終了を検出する。したがって、その間マイクロ
コンピュータは常時フラッシュメモリの動作終了を監視
しなくてもよくなり、フラッシュメモリの動作制御に対
する負荷が小さくなる。ビットREを”0”にクリアす
ると、上記READY端子の入力が無効になり、対応す
る端子は入出力ポートとして使用することができるよう
にされる。During the internal operation of the flash memory, if there is any other content to be processed by the microcomputer 1, the RDY / BUSY * signal output from the flash memory (ready at high level, busy at low level)
As an interrupt input of the microcomputer 1, this rising edge may be detected to generate an interrupt. That is, the microcomputer 1 instructs the RDY / BU after writing or erasing the flash memory.
The end of the operation is detected by an interrupt due to the rising edge of the SY * signal. Therefore, during that time, the microcomputer does not have to constantly monitor the end of the operation of the flash memory, which reduces the load on the operation control of the flash memory. When the bit RE is cleared to "0", the input of the READY terminal becomes invalid, and the corresponding terminal can be used as an input / output port.
【0047】ビットBE0〜BE3のいずれかを”1”
にセットすると、そのバスサイクルに引き続いて、外部
のフラッシュメモリに対するブロック消去のためのコマ
ンドライトサイクルが開始される。コマンドは予め上記
レジスタCDAT0,CDATA1に格納した内容とさ
れる。ブロック消去は2バイトのコマンドで指示され
る。このときに消去対象ブロックアドレスはレジスタB
ADR0〜BADR3で指定されたアドレスとされる。
例えば、フラッシュメモリのブロックサイズは512バ
イトとすると、アドレスは同時に4ブロックを指定でき
る。したがって2kバイトを連続して消去することがで
きる。Any one of the bits BE0 to BE3 is set to "1".
If set to, the command write cycle for block erase to the external flash memory is started following the bus cycle. The command has the contents stored in the registers CDAT0 and CDATA1 in advance. Block erase is instructed by a 2-byte command. At this time, the block address to be erased is the register B
The address is designated by ADR0 to BADR3.
For example, if the block size of the flash memory is 512 bytes, 4 blocks can be simultaneously designated as addresses. Therefore, 2 kbytes can be continuously erased.
【0048】レジスタBADR0〜BADR3は、それ
ぞれ16ビットであり、下位1ビットは無視される。こ
の16ビットに下位8ビットをH’00として、消去ブ
ロックアドレスを指定する。これはアドレス空間が16
Mバイトであることに対応する。従って、レジスタBA
DR0にH’0123を設定すると、消去ブロックの先
頭アドレスはH’012200とされる。このとき、こ
のアドレスが含まれるエリアに対応するレジスタCMD
CRのビットを”1”にセットしておくものとする。レ
ジスタCDAT0にH’20、レジスタCDAT1に
H’B0を格納しておき、ビットBE0を”1”にセッ
トすると、アドレスH’012200に対して、2回の
ライトサイクルが実行され、1回目のデータはH’2
0、2回目のデータはH’B0となって、フラッシュメ
モリの146番目のブロックが消去される。The registers BADR0 to BADR3 each have 16 bits, and the lower 1 bit is ignored. The lower 8 bits of these 16 bits are set to H'00 to specify the erase block address. This has 16 address spaces
Corresponds to being M bytes. Therefore, register BA
When H'0123 is set in DR0, the start address of the erase block is H'012200. At this time, the register CMD corresponding to the area including this address
The bit of CR shall be set to "1". If H'20 is stored in the register CDAT0 and H'B0 is stored in the register CDAT1 and the bit BE0 is set to "1", two write cycles are executed for the address H'012200, and the first data is written. Is H'2
The 0th and 2nd data becomes H'B0, and the 146th block of the flash memory is erased.
【0049】チップ消去、または連続ブロック消去を行
う場合はCDAT0及びCDATA1に設定するコマン
ドデータをチップ消去または連続ブロック消去に相当す
るものに変更すればよい。また、レジスタCDAT0,
CDATA1に設定するコマンドデータをページ書込み
に相当するものに変更し、バスコマンドを発行した後
に、順次ライトサイクルを行えば、レジスタCNTLを
利用してページ書込みを行うこともできる。16ビット
バスのとき、コマンドデータは上位8ビット、下位8ビ
ットに同じデータが出力される。When chip erasing or continuous block erasing is performed, the command data set in CDAT0 and CDATA1 may be changed to data corresponding to chip erasing or continuous block erasing. In addition, the registers CDAT0,
If the command data set in CDATA1 is changed to data equivalent to page write, and a bus command is issued and then write cycles are sequentially performed, page write can be performed using the register CNTL. When using a 16-bit bus, the same command data is output to the upper 8 bits and the lower 8 bits.
【0050】以上により、コマンドによって動作の指示
が与えられるようなフラッシュメモリに対するライト動
作、ブロック消去、ポーリングなどを、CPU2の負担
を軽減して行うことができる。フラッシュメモリに対す
るライト動作についてはDMAC3がバスサイクルを起
動するときもCPU2による場合と同じ様に行うことが
できる。As described above, the write operation for the flash memory, the block erasing, the polling, etc., in which the operation instruction is given by the command, can be performed while reducing the load on the CPU 2. The write operation for the flash memory can be performed in the same way as when the DMAC 3 starts the bus cycle as in the case of the CPU 2.
【0051】フラッシュメモリに対するリード動作はラ
ンダムに行うことができる。即ち、図26に従えばリー
ド動作はコマンドH’00によって指示されるが、当該
コマンドによってリード動作が指示されたときは、その
後に別の動作モードが指示されない限りフラッシュメモ
リは随時リード動作が可能にされる。例えばパワーオン
リセットや例外処理に際してマイクロコンピュータ1は
フラッシュメモリに対してリード動作を指示するコマン
ドH’00を無条件に書込むようになっている。フラッ
シュメモリに格納される情報は専ら読出しに供される動
作プログラムの他に、例えば書換えの対象とされる定数
データやチューニング情報とされる。このような定数デ
ータやチューニング情報の書換えはマイクロコンピュー
タ1を適用したシステム上、例外処理によって行うもの
とすれば、フラッシュメモリに対するリード動作は随時
可能にされる。The read operation for the flash memory can be performed randomly. That is, according to FIG. 26, the read operation is instructed by the command H'00, but when the read operation is instructed by the command, the flash memory can be read at any time unless another operation mode is instructed thereafter. To be For example, upon power-on reset or exceptional processing, the microcomputer 1 unconditionally writes a command H'00 for instructing a read operation to the flash memory. The information stored in the flash memory is, for example, constant data or tuning information to be rewritten, in addition to the operation program exclusively used for reading. If the constant data and the tuning information are rewritten by exception processing in the system to which the microcomputer 1 is applied, the read operation to the flash memory can be performed at any time.
【0052】図5には上記シングルチップマイクロコン
ピュータ1を用いたシステムの一例が示される。同図に
示されるシステムは、特に制限はされないものの、プリ
ンタ制御システムであり、シングルチップマイクロコン
ピュータ1、シングルチップマイクロコンピュータ1の
プログラム及びチューニング情報格納用のフラッシュメ
モリ10、データバッファ用のDRAM(バッファRA
Mとも記す)11、キャラクタジェネレート用のマスク
ROM(CGROMと記す)12、印字データ一時格納
用のSRAM(出力バッファ)13、図示しないホスト
プロセッサとインタフェースされるセントロニクスイン
タフェース回路14、及び印字ヘッド駆動回路15有
し、これらがシングルチップマイクロコンピュータ1の
外部バス16を介して接続される。セントロニクスイン
タフェース回路14及び印字ヘッド駆動回路15は同一
の半導体集積回路、例えばゲートアレイ(G/A)で構
成され、その外の回路は夫々別体の半導体集積回路チッ
プにて構成される。更に、図示はされないものの、マイ
クロコンピュータ1のSCI8はホストプロセッサと接
続され、マイクロコンピュータ1のタイマ7の出力によ
って制御されるプリンタのラインフィードモータやキャ
リッジリターンモータなどを備える。FIG. 5 shows an example of a system using the single chip microcomputer 1 described above. The system shown in the figure is a printer control system, although not particularly limited, and includes a single-chip microcomputer 1, a flash memory 10 for storing programs and tuning information of the single-chip microcomputer 1, a DRAM (buffer) for a data buffer. RA
11), a mask ROM (referred to as CGROM) 12 for character generation, an SRAM (output buffer) 13 for temporarily storing print data, a Centronics interface circuit 14 interfaced with a host processor (not shown), and a print head drive. The circuit 15 is provided, and these are connected via the external bus 16 of the single-chip microcomputer 1. The Centronics interface circuit 14 and the print head driving circuit 15 are composed of the same semiconductor integrated circuit, for example, a gate array (G / A), and the other circuits are respectively composed of separate semiconductor integrated circuit chips. Further, although not shown, the SCI 8 of the microcomputer 1 is connected to the host processor and includes a line feed motor, a carriage return motor, etc. of the printer controlled by the output of the timer 7 of the microcomputer 1.
【0053】シングルチップマイクロコンピュータ1は
フラッシュメモリ10に格納されているプログラムに基
づいて動作する。例えば、かかるプログラムに基づき、
ホストプロセッサから送られてくるデータはセントロニ
クスインタフェース回路14を経由して、バッファRA
M11に転送される。バッファRAM11に転送された
データは、CGROM12が参照されることによって、
フォントデータに変換される。フォントデータは出力バ
ッファRAM13に格納される。その後シングルチップ
マイクロコンピュータ1はタイマ7を用いてパルス出力
を行い、図示しないキャリッジリターンモータを駆動す
る。キャリッジリターンモータの回転によって印字ヘッ
ドが移動される。印字ヘッドの移動に合わせて、出力バ
ッファRAM13から印字ヘッド駆動回路15へフォン
トデータが転送される。セントロニクスインタフェース
回路14からバッファRAM11へのデータ転送、出力
バッファ13から印字ヘッド駆動回路15へのデータ転
送にはシングルチップマイクロコンピュータ1内蔵のD
MAC3を用いることができる。フラッシュメモリ10
に格納されるチューニング情報を書換えたりすることに
よって、システムの微調整を行なうことができる。ま
た、フラッシュメモリ10に格納された動作プログラム
はバージョンアップや使用変更によって修正されること
がある。シングルチップマイクロコンピュータによる上
述のコマンドサイクルの自動的な挿入若しくは追加の機
能によってフラッシュメモリ10に対する書換えを効率
的に行うことができる。The single-chip microcomputer 1 operates based on the program stored in the flash memory 10. For example, based on such a program,
Data sent from the host processor is sent to the buffer RA via the Centronics interface circuit 14.
It is transferred to M11. The data transferred to the buffer RAM 11 is referred to by the CGROM 12,
Converted to font data. The font data is stored in the output buffer RAM 13. After that, the single-chip microcomputer 1 outputs a pulse using the timer 7, and drives a carriage return motor (not shown). The print head is moved by the rotation of the carriage return motor. The font data is transferred from the output buffer RAM 13 to the print head drive circuit 15 in accordance with the movement of the print head. For the data transfer from the Centronics interface circuit 14 to the buffer RAM 11 and the data transfer from the output buffer 13 to the print head drive circuit 15, the D of the single chip microcomputer 1 is incorporated.
MAC3 can be used. Flash memory 10
The system can be finely adjusted by rewriting the tuning information stored in. Further, the operation program stored in the flash memory 10 may be modified by version upgrade or use change. Rewriting to the flash memory 10 can be efficiently performed by the above-mentioned automatic insertion of the command cycle or the additional function of the single-chip microcomputer.
【0054】例えば図5のシステムにおいてフラッシュ
メモリ10をエリア0、CGROM12をエリア4、バ
ッファRAM11をエリア5、出力バッファ13をエリ
ア6、セントロニクスインタフェース回路14及び印字
ヘッド駆動回路15をエリア7に設定する。そして、エ
リア0は16ビットバス、3ステート、コマンド有効と
し、エリア4は16ビットバス、3ステートとし、エリ
ア5は16ビットバス、3ステート、アドレスマルチプ
レクスとし、エリア6は16ビットバス、2ステートと
し、エリア7は8ビットバス、3ステートとし、プログ
ラマブルウェイトはいずれのエリアにも挿入しないもの
とする。このときの、上記レジスタの設定は BSWCR=B’10000000、 ASTCR=B’10110001、 WSCRA=B’00000000、 WSCRB=B’00000000、 MPXCR=B’00100000、 CMDCR=B’00000001 とされる。For example, in the system of FIG. 5, the flash memory 10 is set to area 0, the CGROM 12 is set to area 4, the buffer RAM 11 is set to area 5, the output buffer 13 is set to area 6, and the Centronics interface circuit 14 and the print head drive circuit 15 are set to area 7. . Area 0 is 16-bit bus, 3 states, command valid, area 4 is 16-bit bus, 3 state, area 5 is 16-bit bus, 3 states, address multiplex, area 6 is 16-bit bus, 2 The area 7 has an 8-bit bus and 3 states, and the programmable wait is not inserted in any area. At this time, the register settings are BSWCR = B'10000000, ASTCR = B'10110001, WSCRA = B'00000000, WSCRB = B'00000000, MPXCR = B'0010000, and CMDCR = B'00000001.
【0055】図6には図5のシステムにおける外部バス
16による接続状態の一例が示される。同図においてG
/Aはセントロニクスインタフェース回路14及び印字
ヘッド駆動回路15を構成するゲートアレイである。フ
ラッシュメモリ10は1993年9月(株)日立製作所
発行『日立ICメモリ2』pp305−321に記載さ
れる16Mビット、マスクROM12は1993年9月
(株)日立製作所発行『日立ICメモリ2』pp681
−687に記載される16Mビット、DRAM11は1
993年9月(株)日立製作所発行『日立ICメモリ
3』pp432−455に記載される4Mビットのもの
とする。SRAM13は1993年9月(株)日立製作
所発行『日立ICメモリ1』pp470−477に記載
される4Mビットのものを2個とする。FIG. 6 shows an example of the connection state by the external bus 16 in the system of FIG. G in the figure
/ A is a gate array which constitutes the Centronics interface circuit 14 and the print head drive circuit 15. The flash memory 10 is 16 Mbits described in "Hitachi IC Memory 2" pp305-321 issued by Hitachi, Ltd. in September 1993, and the mask ROM 12 is "Hitachi IC Memory 2" pp681 issued by Hitachi, Ltd. in September 1993.
16M bit described in -687, DRAM 11 is 1
4M bits described in "Hitachi IC Memory 3" pp432-455, published by Hitachi, Ltd., September 993. There are two SRAMs 13 each having 4 Mbits described in "Hitachi IC Memory 1" pp470-477 issued by Hitachi, Ltd. in September 1993.
【0056】アドレスはフラッシュメモリ10、DRA
M11、マスクROM12、SRAM13、G/A1
4,15の全てに入力される。但し、それぞれの容量に
対応したビット数が入力される。例えばフラッシュメモ
リ10は1Mワード(16Mビット)の容量であるので
アドレスは20ビットである。シングルチップマイクロ
コンピュータ1はバイト単位のアドレス、フラッシュメ
モリ10はワード単位のアドレスであるので、マイクロ
コンピュータ1が出力するアドレスの最下位ビットを無
視してそのアドレスを半分とするようにマイクロコンピ
ュータ1のアドレスがフラッシュメモリ10に供給され
る。即ち、マイクロコンピュータ1のアドレス端子A2
0〜A1がフラッシュメモリ10のアドレス端子A19
〜A0に接続される。また、SRAM13は一方が偶数
アドレス、他方が奇数アドレスとされ、マイクロコンピ
ュータのアドレス端子A19〜A1がSRAM13のア
ドレス端子A18〜A0に接続される。The address is the flash memory 10, DRA
M11, mask ROM12, SRAM13, G / A1
Input to all 4,15. However, the number of bits corresponding to each capacity is input. For example, since the flash memory 10 has a capacity of 1 M words (16 M bits), the address is 20 bits. Since the single-chip microcomputer 1 has an address in bytes and the flash memory 10 has an address in words, the least significant bit of the address output by the microcomputer 1 is ignored and the address of the microcomputer 1 is halved. The address is supplied to the flash memory 10. That is, the address terminal A2 of the microcomputer 1
0 to A1 are address terminals A19 of the flash memory 10.
~ A0. One of the SRAMs 13 has an even address and the other has an odd address, and the address terminals A19 to A1 of the microcomputer are connected to the address terminals A18 to A0 of the SRAM 13.
【0057】データバス上位D15〜D8は、フラッシ
ュメモリ10、DRAM11、マスクROM12、SR
AM(偶数アドレス)13、G/A14,15の全てに
接続される。データバス下位D7〜D0は、フラッシュ
メモリ10、DRAM11、マスクROM12、SRA
M(奇数アドレス)13に接続される。出力端子CS0
*(記号*はそれが付された信号のアクティブレベルが
ローレベルであることを意味し、図面においては当該信
号名の上に付された横棒線が記号*に代えて付されてい
る)がフラッシュメモリ10、出力端子CS4*がマス
クROM12、出力端子CS6*がSRAM13の各チ
ップ選択信号入力端子CS*に接続される。出力端子C
S5*はDRAM11のロウアドレスストローブ信号入
力端子RAS*に接続される。また出力端子CS7はG
/A14,15のチップ選択信号入力端子CS*に入力
される。上記CS0*,CS4*,CS5*,CS6
*,CS7*はエリア選択信号の出力端子である。The upper parts of the data bus D15 to D8 are the flash memory 10, the DRAM 11, the mask ROM 12 and the SR.
It is connected to all of AM (even address) 13 and G / A 14, 15. The lower bits D7 to D0 of the data bus are the flash memory 10, the DRAM 11, the mask ROM 12, and the SRA.
It is connected to M (odd address) 13. Output terminal CS0
* (The symbol * means that the active level of the signal to which it is attached is low level, and the horizontal bar line above the signal name is attached instead of the symbol * in the drawing) Is connected to the flash memory 10, the output terminal CS4 * is connected to the mask ROM 12, and the output terminal CS6 * is connected to each chip selection signal input terminal CS * of the SRAM 13. Output terminal C
S5 * is connected to the row address strobe signal input terminal RAS * of the DRAM 11. The output terminal CS7 is G
/ A14, 15 chip select signal input terminal CS *. The above CS0 *, CS4 *, CS5 *, CS6
* And CS7 * are output terminals for the area selection signal.
【0058】リード信号の出力端子RD*は、フラッシ
ュメモリ10、マスクROM12、SRAM13のアウ
トプットイネーブル信号の入力端子OE*に接続され、
またG/Aの入力端子OE*にも接続される。上位バイ
トのライト信号の出力端子HWR*はフラッシュメモリ
10、DRAM11の上位側ライトイネーブル信号入力
端子UW*、SRAM(偶数アドレス)13のライトイ
ネーブル信号入力端子WE*に接続され、またG/Aの
ライトイネーブル信号入力端子WE*にも接続される。
下位バイトのライト信号の出力端子LWR*はフラッシ
ュメモリ10、DRAM11の下位側ライトイネーブル
信号入力端子LW端子、SRAM(奇数アドレス)13
のライトイネーブル信号入力端子WE*に接続される。
マイクロコンピュータ1のカラムアドレスストローブ信
号の出力端子CAS*はDRAM11のカラムアドレス
ストローブ信号入力端子CAS*及びアウトプットイネ
ーブル信号入力端子OE*に接続される。さらに、フラ
ッシュメモリ10のレディー/ビジー信号の出力端子R
DY/BUSY#はマイクロコンピュータ1の入力端子
READYに接続される。なお、上記各種端子の記号は
以下の説明において対応端子の入力又は出力信号名の符
合としても兼用する。The output terminal RD * of the read signal is connected to the input terminal OE * of the output enable signal of the flash memory 10, the mask ROM 12, and the SRAM 13,
It is also connected to the G / A input terminal OE *. The upper byte write signal output terminal HWR * is connected to the upper write enable signal input terminal UW * of the flash memory 10 and the DRAM 11, the write enable signal input terminal WE * of the SRAM (even address) 13, and also to the G / A. It is also connected to the write enable signal input terminal WE *.
The write signal output terminal LWR * of the lower byte is the flash memory 10, the lower write enable signal input terminal LW terminal of the DRAM 11, the SRAM (odd address) 13
Is connected to the write enable signal input terminal WE *.
The column address strobe signal output terminal CAS * of the microcomputer 1 is connected to the column address strobe signal input terminal CAS * and the output enable signal input terminal OE * of the DRAM 11. Furthermore, the output terminal R of the ready / busy signal of the flash memory 10
DY / BUSY # is connected to the input terminal READY of the microcomputer 1. The symbols of the above-mentioned various terminals are also used as the signs of the input or output signal names of the corresponding terminals in the following description.
【0059】図7乃至図15には図5のシステムにおけ
る上記レジスタBSWCR,ASTCR,WSCRA,
WSCRB,MPXCR,CMDCRの設定状態での代
表的なバスサイクルのタイミング、例えばワードデータ
アクセス時のタイミングが示される。なお、それらに示
されるタイミングにおいて、ワードデータアクセスは偶
数番地から始まるもの2バイトのデータに限定してあ
る。また、特に制限はされないものの、8ビットバスで
はデータバスの上位D15〜D8を使用するものとして
いる。バス制御信号はすべて負論理とされる。FIGS. 7 to 15 show the registers BSWCR, ASTCR, WSCRA, and the registers in the system of FIG.
The timing of a typical bus cycle in the setting state of WSCRB, MPXCR, and CMDCR, for example, the timing of word data access is shown. Note that at the timings shown therein, word data access is limited to 2-byte data starting from an even address. Although not particularly limited, the upper bits D15 to D8 of the data bus are used for the 8-bit bus. All bus control signals are negative logic.
【0060】 (1)エリア0の16ビットバス、3ステートアクセス この場合におけるリード及びライト動作のバスサイクル
タイミングは図7及び図8によって示される。エリア0
の16ビットバス、3ステートアクセスの場合は、偶数
番地のデータはデータバスの上位、奇数番地のデータは
データバスの下位を使用してリード/ライトが行なわれ
る。マイクロコンピュータ1は、偶数番地のリード/ラ
イトに対応してリード信号RD*/上位ライト信号HW
R*を、奇数番地のリード/ライトに対応してリード信
号RD*/下位ライト信号LWR*を活性状態とする。
リードは16ビット一括して制御される。ライトはバイ
ト単位で制御される。アドレス及びCS0*信号出力は
バスサイクル中有効とされる。リード信号RD*はT1
ステートにおけるクロックφの立ち下がり(クロックφ
2の立上がり)に同期してアクティブレベルにされ、T
3ステートにおけるクロックφの立ち下がり(クロック
φ2の立上がり)に同期してインアクティブに戻され
る。マイクロコンピュータ1が出力する上位ライト信号
HWR*、下位ライト信号LWR*はT2ステートにお
けるクロックφの立上がり(クロックφ1の立上がり)
に同期してアクティブレベルにされ、T3ステートにお
けるクロックφの立ち下がり(クロックφ2の立上が
り)に同期してインアクティブに戻される。このとき、
リード動作はそのまま行なわれるが、ライト動作の指示
があったときは、フラッシュメモリに対するコマンドの
ライトサイクルが挿入される。当該コマンドのライトサ
イクルにおいて外部アドレスバスにはCPU2またはD
MAC3といったバスマスタが出力したアドレスが出力
される。そのときのデータはWCMDレジスタに保持さ
れているコマンドデータとされる。アドレス及び制御信
号出力は前記同様である。(1) 16-bit bus in area 0, 3-state access Bus cycle timings for read and write operations in this case are shown in FIGS. 7 and 8. Area 0
In the case of 16-bit bus and 3-state access, read / write is performed by using the upper part of the data bus for the data of even addresses and the lower part of the data bus for the data of odd addresses. The microcomputer 1 reads the read signal RD * / the upper write signal HW corresponding to the read / write of the even address.
The read signal RD * / lower write signal LWR * is activated in response to the read / write of the odd address.
The read is controlled by 16 bits at a time. Writes are controlled in bytes. The address and CS0 * signal output are valid during the bus cycle. Read signal RD * is T1
Falling of clock φ in state (clock φ
2 rise), the active level is set in synchronization with T
It is returned to inactive in synchronization with the fall of clock φ in three states (the rise of clock φ2). The high-order write signal HWR * and the low-order write signal LWR * output from the microcomputer 1 rise in the clock φ in the T2 state (rise in the clock φ1).
To the active level in synchronism with, and is returned to inactive in synchronization with the fall of the clock φ in the T3 state (the rise of the clock φ2). At this time,
The read operation is performed as it is, but when a write operation is instructed, a command write cycle for the flash memory is inserted. In the write cycle of the command, the CPU 2 or D is connected to the external address bus.
The address output by the bus master such as MAC3 is output. The data at that time is the command data held in the WCMD register. Address and control signal outputs are the same as above.
【0061】 (2)エリア4の16ビットバス、3ステートアクセス この場合におけるリード及びライト動作のバスサイクル
タイミングは図7及び図9によって示される。エリア4
の16ビットバス、3ステートアクセスにおいて、偶数
番地のデータはデータバスの上位、奇数番地のデータは
データバスの下位を使用してリードが行なわれる。リー
ドは16ビット一括して制御される。アドレス及び出力
信号CS4*はバスサイクル中有効値を示す。リード信
号RD*はT1ステートにおけるクロックφの立ち下が
り(クロックφ2の立上がり)に同期してアクティブレ
ベルにされ、T3ステートにおけるクロックφの立ち下
がりに同期してインアクティブレベルに戻される。(2) 16-bit bus in area 4, 3-state access The bus cycle timings of the read and write operations in this case are shown in FIGS. 7 and 9. Area 4
In the 16-bit bus and 3-state access, the data of even addresses is read using the upper part of the data bus and the data of odd addresses is read using the lower part of the data bus. The read is controlled by 16 bits at a time. The address and output signal CS4 * indicates a valid value during the bus cycle. The read signal RD * is set to the active level in synchronization with the falling of the clock φ in the T1 state (the rising of the clock φ2), and is returned to the inactive level in synchronization with the falling of the clock φ in the T3 state.
【0062】(3)エリア5の16ビットバス、3ステ
ートアクセス、アドレスマルチプレクスアクセス この場合におけるリード及びライト動作のバスサイクル
タイミングは図10及び図11によって示される。この
場合は、T1ステートでロウアドレスが、T2・T3ス
テートでカラムアドレスが、それぞれA10〜A1に出
力される。CS5*、RD*、HWR*、LWR*の各
出力信号はT1ステートにおけるクロックφの立ち下が
りに同期してアクティブレベルにされ、T3ステートに
おけるクロックφの立ち下がりに同期してインアクティ
ブレベルに戻される。カラムアドレスストローブ信号C
AS*はT2ステートにおけるクロックφの立ち下がり
に同期してアクティブレベルにされ、T3ステートにお
けるクロックφの立ち下がりに同期してインアクティブ
レベルに戻される。前記同様に、偶数番地のデータはデ
ータバスの上位、奇数番地のデータはデータバスの下位
を使用してリード/ライトが行なわれる。偶数番地のラ
イトに対応してHWR*が、奇数番地のライトに対応し
てLWR*が活性状態とされる。(3) 16-bit bus in area 5, 3-state access, address multiplex access Bus cycle timings of read and write operations in this case are shown in FIGS. In this case, the row address in the T1 state and the column address in the T2 and T3 states are output to A10 to A1, respectively. The CS5 *, RD *, HWR *, and LWR * output signals are set to the active level in synchronization with the falling edge of the clock φ in the T1 state, and are returned to the inactive level in synchronization with the falling edge of the clock φ in the T3 state. Be done. Column address strobe signal C
AS * is set to the active level in synchronization with the falling edge of the clock φ in the T2 state, and is returned to the inactive level in synchronization with the falling edge of the clock φ in the T3 state. Similarly to the above, the data of even addresses is read and written using the upper part of the data bus and the data of odd addresses is used lower part of the data bus. The HWR * is activated in correspondence with the write of the even address, and the LWR * is activated in correspondence with the write of the odd address.
【0063】 (4)エリア6の16ビットバス、2ステートアクセス この場合におけるリード及びライト動作のバスサイクル
タイミングは図12及び図13によって示される。この
場合は、偶数番地のデータはデータバスの上位、奇数番
地のデータはデータバスの下位を使用してリード/ライ
トが行なわれる。偶数番地のリード/ライトに対応して
RD*又はHWR*の出力信号が、奇数番地のリード/
ライトに対応してRD*又はLWR*の出力信号がアク
ティブにされる。リードは16ビット一括して制御され
る。ライトはバイト単位で制御される。アドレス及び出
力信号CS6*はバスサイクル中アクティブレベルにさ
れる。RD*、HWR*、LWR*の各出力信号はT1
ステートにおけるクロックφの立ち下がりに同期してア
クティブレベルにされ、T3ステートにおけるクロック
φの立ち下がりに同期してインアクティブレベルに戻さ
れる。(4) 16-bit bus in area 6 and 2-state access Bus cycle timings of read and write operations in this case are shown in FIGS. 12 and 13. In this case, read / write is performed using the upper part of the data bus for the data of even addresses and the lower part of the data bus for the data of odd addresses. The output signal of RD * or HWR * corresponds to the read / write of even addresses and the read / write of odd addresses.
The output signal of RD * or LWR * is activated in response to the write. The read is controlled by 16 bits at a time. Writes are controlled in bytes. The address and output signal CS6 * is made active during the bus cycle. Each output signal of RD *, HWR *, and LWR * is T1
It is set to the active level in synchronization with the falling edge of the clock φ in the state, and is returned to the inactive level in synchronization with the falling edge of the clock φ in the T3 state.
【0064】 (5)エリア7の8ビットバス、3ステートアクセス この場合におけるリード及びライト動作のバスサイクル
タイミングは図14及び図15によって示される。この
場合には、データバスの上位を使用してリード/ライト
が行なわれる。すなわち、RD*又はHWR*の信号が
選択的にアクティブにされる。アドレス及び出力信号C
S7*はバスサイクル中アクティブにされる。出力信号
RDはT1ステートにおけるクロックφの立ち下がりに
同期してアクティブレベルにされ、T3ステートにおけ
るクロックφの立ち下がりに同期してインアクティブに
戻される。出力信号HWR*はT2ステートにおけるク
ロックφの立ち上がりに同期してアクティブレベルにさ
れ、T3ステートにおけるクロックφの立ち下がりに同
期してインアクティブに戻される。図14及び図15に
示されるように、CPU2またはDMAC3のようなバ
スマスタがワードデータのアクセスを行った場合には、
偶数番地・奇数番地の順にバイトアクセスが2回行われ
る。(5) 8-bit bus in area 7 and 3-state access Bus cycle timings of read and write operations in this case are shown in FIGS. 14 and 15. In this case, reading / writing is performed using the upper part of the data bus. That is, the RD * or HWR * signal is selectively activated. Address and output signal C
S7 * is activated during the bus cycle. The output signal RD is set to the active level in synchronization with the falling edge of the clock φ in the T1 state, and is returned to inactive in synchronization with the falling edge of the clock φ in the T3 state. The output signal HWR * is set to the active level in synchronization with the rising edge of the clock φ in the T2 state, and is returned to inactive in synchronization with the falling edge of the clock φ in the T3 state. As shown in FIGS. 14 and 15, when a bus master such as the CPU 2 or the DMAC 3 accesses word data,
Byte access is performed twice in the order of even address and odd address.
【0065】図16には上述のような各種バスアクセス
タイミングを生成するバスコントローラ4の一例ブロッ
ク図が示される。バスコントローラ4は、アドレデコー
ド回路40、制御回路41、バス権調停回路42、選択
回路43、タイミング制御回路44、及び制御レジスタ
45、コマンドレジスタ46、及びアドレスレジスタ4
7から構成される。制御レジスタ45は上記レジスタB
SWCR、ASTCR、WSCRA−B、MPXCR、
CMDCR、CNTLを含む。コマンドレジスタ46は
上記レジスタWCMD、CDAT0〜CDATA1を含
む。アドレスレジスタ47は上記レジスタBADR0〜
BADR3を含む。図16には入出力ポートに含まれる
機能として、入出力バッファ、マルチプレクサ47,4
8、及び出力バッファ、が代表的に示されている。47
はアドレスマルチプレクサであり、48はデータマルチ
プレクサである。FIG. 16 is a block diagram showing an example of the bus controller 4 which generates various bus access timings as described above. The bus controller 4 includes an address decoding circuit 40, a control circuit 41, a bus right arbitration circuit 42, a selection circuit 43, a timing control circuit 44, a control register 45, a command register 46, and an address register 4.
It consists of 7. The control register 45 is the register B described above.
SWCR, ASTCR, WSCRA-B, MPXCR,
Includes CMDCR and CNTL. The command register 46 includes the registers WCMD and CDAT0 to CDATA1. The address register 47 is the register BADR0 above.
Includes BADR3. In FIG. 16, the functions included in the input / output port are the input / output buffer and the multiplexers 47, 4
8 and the output buffer are typically shown. 47
Is an address multiplexer, and 48 is a data multiplexer.
【0066】バス権調停回路42は、CPU2またはD
MAC3のいずれがバスを使用するかを制御する。例え
ば、DMAC3にデータ転送起動要因が発生して、DM
ACバス要求信号が1レベルのようなアクティブレベル
にされると、タイミング制御回路44で指示される所定
のタイミングでバス調停回路42はDMAC3にバス使
用を許可して、DMACバス権許可信号を1レベルのよ
うなアクティブレベルにしてDMAC3に返す。それ以
外の時はCPU2がバス権を有する。DMAC3がバス
権を有する時にCPU2がバス権を取り戻すときも上記
同様にCPUバス権要求信号とCPUバス権許可信号に
よって行われる。この制御に基づいて、CPU2とDM
AC3が排他的にアドレス・データバスを使用できる。The bus right arbitration circuit 42 includes the CPU 2 or D.
Controls which of the MAC3s uses the bus. For example, when a data transfer start factor occurs in the DMAC3, DM
When the AC bus request signal is set to an active level such as 1 level, the bus arbitration circuit 42 permits the DMAC 3 to use the bus at a predetermined timing instructed by the timing control circuit 44 and sets the DMAC bus right permission signal to 1 The active level such as the level is returned to the DMAC3. At other times, the CPU 2 has the bus right. When the CPU 2 regains the bus right when the DMAC 3 has the bus right, the CPU bus right request signal and the CPU bus right grant signal are used in the same manner as above. Based on this control, CPU2 and DM
The AC3 can exclusively use the address / data bus.
【0067】選択回路43はCPU2及びDMAC3の
出力するバス制御信号、例えばリード信号RD、ライト
信号HWR,LWR、バスサイズ情報などを、バス権調
停回路42の指示に基づいて、選択し、タイミング制御
回路44に与える。すなわち、DMACバス権許可信号
が1レベルであれば、DMAC3からのバス制御信号を
タイミング制御回路44に与え、それ以外はCPU2か
らのバス制御信号をタイミング制御回路44に与える。
CPU2及びDMAC3のいずれがバス権を有しても、
バスコントローラ4の内部の動作は基本的に同一とされ
る。The selection circuit 43 selects a bus control signal output from the CPU 2 and the DMAC 3, such as a read signal RD, a write signal HWR, LWR, and bus size information, based on an instruction from the bus right arbitration circuit 42, and performs timing control. It is given to the circuit 44. That is, if the DMAC bus right grant signal is at 1 level, the bus control signal from the DMAC 3 is given to the timing control circuit 44, and otherwise the bus control signal from the CPU 2 is given to the timing control circuit 44.
Whichever of CPU2 and DMAC3 has the bus right,
The internal operation of the bus controller 4 is basically the same.
【0068】アドレデコード回路40は、CPU2また
はDMAC3がアドレスバスIABに出力したアドレス
が、いずれのエリアに相当するかをデコードする。デコ
ード結果は、出力バッファを介して、所定の端子からエ
リア選択信号として出力される。制御回路41は、アド
レデコード回路40の出力によって、いずれのエリアが
選択されたかを判定して、制御レジスタ45の何れのビ
ットを参照すべきかを判定する。判定結果はタイミング
制御回路44に対する指示として与えられる。タイミン
グ制御回路44は、上記制御回路41の出力に基づい
て、バスサイクルを生成し、内部及び外部のバス制御信
号を出力する。また、入出力バッファ、マルチプレク
サ、バス権調停回路の動作タイミングを指示する。さら
に、それが生成するバスサイクルがコマンドライトのバ
スサイクルなどの場合には必要に応じて制御信号DAT
ASELやCDATSELでコマンドレジスタ46を選
択する。The address decoding circuit 40 decodes which area the address output by the CPU 2 or the DMAC 3 to the address bus IAB corresponds to. The decoding result is output as an area selection signal from a predetermined terminal via the output buffer. The control circuit 41 determines which area is selected by the output of the address decoding circuit 40, and determines which bit of the control register 45 should be referred to. The determination result is given as an instruction to the timing control circuit 44. The timing control circuit 44 generates a bus cycle based on the output of the control circuit 41 and outputs internal and external bus control signals. It also gives instruction on the operation timing of the input / output buffer, multiplexer, and bus arbitration circuit. Further, when the bus cycle generated by it is a command write bus cycle or the like, the control signal DAT is issued as necessary.
The command register 46 is selected by ASEL or CDATSEL.
【0069】出力バッファに含まれるアドレスマルチプ
レクサ47は、タイミング制御回路44の指示に従っ
て、ロウアドレスとカラムアドレスの選択、及びアドレ
スバスIABとアドレスレジスタ47に含まれるレジス
タBADR0〜BADR3の内容の選択を行なう。入出
力バッファに含まれるデータマルチプレクサ48は、デ
ータバスIDBのデータを入出力するか、コマンドレジ
スタ46に含まれるレジスタWCMD、CDAT0〜C
DATA1の内容を出力するかを選択する。なお、タイ
ミング制御回路44はライトサイクルの生成に関し、8
ビットバスのときはバイトライトのみ、16ビットバス
のときはワードライトのみを有効とする。The address multiplexer 47 included in the output buffer selects a row address and a column address, and selects the contents of the address bus IAB and the registers BADR0 to BADR3 included in the address register 47 according to the instruction of the timing control circuit 44. . The data multiplexer 48 included in the input / output buffer inputs / outputs data on the data bus IDB, or registers WCMD and CDAT0 to CDAT included in the command register 46.
Select whether to output the contents of DATA1. Note that the timing control circuit 44 is related to the generation of the write cycle.
Only byte write is valid for the bit bus, and only word write is valid for the 16 bit bus.
【0070】図17にはタイミング制御回路44の具体
的な第1の回路例が示される。図18には図17の動作
タイミング図の一例が示される。図17の回路例におい
ては、内容をわかり易くするために、ブロック消去やポ
ーリング機能についての論理構成は省略してある。すな
わち、所定のエリアに対するライトアクセスによって自
動的にコマンドライトのためのバスサイクルを生成して
挿入するための構成に着目した回路例とされる。また、
この回路例は正論理で示されている。FIG. 17 shows a concrete first circuit example of the timing control circuit 44. FIG. 18 shows an example of the operation timing chart of FIG. In the circuit example of FIG. 17, in order to make the contents easy to understand, the logical configuration of the block erasing and polling functions is omitted. That is, this is an example of a circuit focusing on a configuration for automatically generating and inserting a bus cycle for command writing by write access to a predetermined area. Also,
This circuit example is shown in positive logic.
【0071】RD+WR信号はCPU2又はDMAC3
によるリード動作又はライト動作のバス起動用内部信号
とされ、選択回路43の出力である。BUS8A、ST
3A、CMDAは、アドレスデコード回路40でアドレ
スをデコードして得られる信号であり、エリアとBSW
CR,ASTCR,CMDCRの各レジスタの対応する
ビットから生成される信号である。即ち、信号BUS8
A、ST3A、CMDAは、そのときのアクセス対象の
エリアが、8ビットバスエリア、3ステートアクセスエ
リア(ウェイトステート数に応じて全体のステート数は
それ以上になる)、コマンド有効エリアであることをハ
イレベルによって示す。内部信号WRはライト動作のバ
ス起動用内部信号とされる。WORDはアドレスデコー
ド回路40でアドレスをデコードして得られる信号であ
りワードアクセスである場合にハイレベルにされる。W
R、WORD信号は何れも選択回路43の出力である。The RD + WR signal is the CPU2 or DMAC3.
Is an internal signal for bus activation of a read operation or a write operation by and is an output of the selection circuit 43. BUS8A, ST
3A and CMDA are signals obtained by decoding the address in the address decoding circuit 40, and the area and BSW
It is a signal generated from the corresponding bits of the CR, ASTCR, and CMDCR registers. That is, the signal BUS8
In A, ST3A, and CMDA, the area to be accessed at that time is an 8-bit bus area, a 3-state access area (the total number of states is more than that according to the number of wait states), and a command valid area. Shown by high level. The internal signal WR is used as a bus activation internal signal for the write operation. WORD is a signal obtained by decoding an address in the address decoding circuit 40, and is set to a high level in the case of word access. W
Both the R and WORD signals are outputs of the selection circuit 43.
【0072】バスサイクルは2ステートを基本とし、3
ステート以上の場合、T1ステートの後にウェイトステ
ートが挿入される(ウェイトステートが挿入された場
合、便宜上当該ウェートステートをT2ステート、その
次のステートをT3ステートと記す)。ウェイト要求信
号waitは、3ステートアクセスエリアのとき、レジ
スタWSCRA,WSCRBによるウェイト要求と、外
部端子に供給されるウェイト信号WAITによるウェイ
ト要求を含むものとする。即ち、外部からのウェイト信
号WAITは直列3段のD型ラッチから成るフリップフ
ロップFF7〜FF9を通してウェイト要求信号wai
tとされる。レジスタWSCRA,WSCRBによるプ
ログラマブルウェイトに関しては当該レジスタWSCR
A,WSCRBの内容に従ってウェイト要求信号wai
tが生成される。尚、何れのウェイト要求においても、
信号ST3Aはウェイト期間中ハイレベルにされる。但
し、信号ST3Aは2ステートアクセスエリアでないこ
とがレジスタASTCRで指定されていない場合には一
切ハイレベルにされない。The bus cycle is basically 2 states and 3
If the number of states is equal to or more than the state, the wait state is inserted after the T1 state (when the wait state is inserted, the wait state is referred to as T2 state and the next state is referred to as T3 state for convenience). In the 3-state access area, the wait request signal wait includes a wait request by the registers WSCRA and WSCRB and a wait request by the wait signal WAIT supplied to the external terminal. That is, the wait signal WAIT from the outside is passed through the flip-flops FF7 to FF9, which are D-type latches in three stages in series, and the wait request signal wai.
t. Regarding the programmable wait by the registers WSCRA and WSCRB, the register WSCR concerned
Wait request signal wai according to the contents of A and WSCRB
t is generated. In any weight request,
The signal ST3A is set to high level during the wait period. However, the signal ST3A is not set to a high level at all unless the register ASTCR specifies that it is not a 2-state access area.
【0073】クロックφ1Bは、ウェイト要求信号wa
itとクロックφ1との論理和信号とされ、クロックφ
2Bは、ウェイト要求信号waitの反転信号とクロッ
クφ2との論理積信号とされ、ウェイト中は、クロック
φ1Bがハイレベル、クロックφ2Bがロウレベルで固
定され、フリップフロップFF1〜FF4はクロック入
力が変化しないため、状態を保持する。信号DATAS
ELは、レジスタWCMDが保有するコマンドを出力す
るか、データバスIDBの内容を出力するかを選択する
ための信号である。The clock φ1B is the wait request signal wa.
It is a logical sum signal of it and clock φ1, and clock φ
2B is a logical product signal of the inverted signal of the wait request signal wait and the clock φ2. During the wait, the clock φ1B is fixed at the high level and the clock φ2B is fixed at the low level, and the clock inputs of the flip-flops FF1 to FF4 do not change. Therefore, the state is retained. Signal DATAS
EL is a signal for selecting whether to output the command held by the register WCMD or the content of the data bus IDB.
【0074】選択回路SELは、論理和ゲートOR1を
介して上記バス起動信号RD+WRが初段に供給される
直列接続された3段のD型ラッチ回路回路から成るフリ
ップフロップFF1、FF2、FF3の出力を入力とす
る。φ1、φ2の同期化回路も含む。この選択回路SE
Lが上記各種バスタイミング信号を出力する。すなわ
ち、エリア選択信号CS0*〜CS7*、アドレススト
ローブ信号AS*、リード信号RD*、ライト信号HW
R*,LWR*、カラムアドレスストローブ信号CAS
*の出力波形、アドレスマルチプレクスのタイミングな
どを生成して出力する。例えば、リード信号RD*の波
形は第2のフリップフロップFF2の出力信号の反転信
号とされる。レジスタMPXCRの対応するビットを”
1”にしたとき、そのエリア選択信号はアドレスデコー
ド結果とフリップフロップFF2との論理積信号の反転
信号とされる。The selection circuit SEL outputs the outputs of the flip-flops FF1, FF2, FF3 which are serially connected three stages of D-type latch circuit circuits to which the bus activation signal RD + WR is supplied to the first stage via the OR gate OR1. Input it. A φ1 and φ2 synchronizing circuit is also included. This selection circuit SE
L outputs the above various bus timing signals. That is, area selection signals CS0 * to CS7 *, address strobe signal AS *, read signal RD *, write signal HW.
R *, LWR *, column address strobe signal CAS
Generates and outputs the * output waveform and address multiplex timing. For example, the waveform of the read signal RD * is an inverted signal of the output signal of the second flip-flop FF2. Set the corresponding bit of register MPXCR to "
When set to "1", the area selection signal is the inverted signal of the logical product signal of the address decode result and the flip-flop FF2.
【0075】バス起動信号RD+WRは、バスサイクル
の開始以前の、システムクロックφ1,φ2に同期して
タイミング制御回路44に与えられる。フリップフロッ
プFF1はT1ステートにおけるクロックφ1Bの立上
がりに同期して信号を出力する。同様にフリップフロッ
プFF2、FF3、FF4は、それぞれ、T1ステート
におけるクロックφ2Bの立上がり、T2ステートにお
けるクロックφ1Bの立ち上がり、T3ステートにおけ
るクロックφ2Bの立上がり、に同期して入力信号をラ
ッチして出力する。フリップフロップFF4のラッチ動
作は、ウェイト解除後のT3ステートにおけるクロック
φ2の立ち上がりに同期している。例えば、8ビットバ
スエリアに対するワードアクセスの場合には(BUS8
A及びをRDはハイレベル)、或いはコマンドサイクル
に続くデータアクセスサイクルの場合(フリップフロッ
プFF6がセット状態)には、1回めのバスサイクルが
終了した時点で、FF4の出力がハイレベルにされ、こ
の出力が論理和ゲートOR1を介してフリップフロップ
FF1に帰還されてそれが当該FF1にラッチされる。
即ち、2回目のバスサイクルの起動が指示されることに
なる。Bus activation signal RD + WR is applied to timing control circuit 44 in synchronization with system clocks φ1 and φ2 before the start of the bus cycle. The flip-flop FF1 outputs a signal in synchronization with the rising of the clock φ1B in the T1 state. Similarly, each of the flip-flops FF2, FF3, FF4 latches and outputs the input signal in synchronization with the rising of the clock φ2B in the T1 state, the rising of the clock φ1B in the T2 state, and the rising of the clock φ2B in the T3 state. The latch operation of the flip-flop FF4 is synchronized with the rising edge of the clock φ2 in the T3 state after releasing the wait. For example, in the case of word access to the 8-bit bus area (BUS8
A and RD are high level), or in the case of a data access cycle following the command cycle (flip-flop FF6 is in the set state), the output of FF4 is set to high level at the end of the first bus cycle. , This output is fed back to the flip-flop FF1 via the OR gate OR1 and is latched in the FF1.
That is, the activation of the second bus cycle is instructed.
【0076】1回目のバスサイクルか、2回目のバスサ
イクルかは、RS(リセット・セット)型の第5、第6
のフリップフロップFF5、FF6で指定される。フリ
ップフロップFF5は、1回目のバスサイクルであれば
セット状態、2回目のバスサイクルであればリセット状
態にされる。このフリップフロップFF5のセット状態
が実質的に意味を持つのは、信号WORDがワードアク
セスを意味するハイレベルにされていてフリップフロッ
プFF10がそれをラッチしているときであり、しかも
そのワードアクセスが8ビットバスを介して行われると
き(信号BUS8Aがハイレベル)である。フリップフ
ロップFF6は、コマンドサイクルの場合、即ちコマン
ド有効エリアに対するライトのとき(WR及びCMDA
がハイレベル)かつ信号BRKAKがインアクティブと
してのローレベルのときにセット状態とされ、フリップ
フロップFF4のハイレベル出力によってリセット状態
にされる。Whether the first bus cycle or the second bus cycle is the RS (reset set) type fifth or sixth
Of the flip-flops FF5 and FF6. The flip-flop FF5 is set to the set state for the first bus cycle and reset for the second bus cycle. The set state of the flip-flop FF5 is substantially meaningful when the signal WORD is set to a high level meaning word access and the flip-flop FF10 is latching it, and the word access is This is when the operation is performed via the 8-bit bus (the signal BUS8A is at the high level). The flip-flop FF6 is used in the command cycle, that is, when writing to the command valid area (WR and CMDA).
Is at a high level) and the signal BRKAK is at a low level as an inactive state, the state is set, and the high level output of the flip-flop FF4 causes a reset state.
【0077】尚、上記信号BRKAKはマイクロコンピ
ュータ1をエミュレーションに利用すする場合を考慮し
たものであり、CPU2がブレーク状態であることを示
す信号である。信号BRKAK信号がアクティブレベル
としてのハイレベルにされた場合には、コマンドサイク
ルの挿入を禁止し、ブレーク後においてマイクロコンピ
ュータのアドレス空間がターゲットプログラムのための
アドレス空間から評価のための制御空間に切換えられた
場合、書込みサイクルが自動的に挿入されてデータが不
所望に書換えられる虞を排除している。この点について
の詳細は後述する。The signal BRKAK is a signal indicating that the CPU 1 is in a break state, in consideration of the case where the microcomputer 1 is used for emulation. When the signal BRKAK is set to a high level as an active level, the command cycle insertion is prohibited, and the address space of the microcomputer is switched from the address space for the target program to the control space for evaluation after the break. If so, a write cycle is automatically inserted, eliminating the risk of undesired rewriting of data. Details of this point will be described later.
【0078】このように図17のタイミング制御回路4
4は、第1に8ビットバスでワードアクセスを行う場
合、第2にコマンド有効エリアに対するライトで(WR
及びCMDAがハイレベル)信号BRKAKがインアク
ティブのときに指示されるコマンドサイクルの場合に、
連続的に2回所定のバスサイクルを生成する。As described above, the timing control circuit 4 of FIG.
4 is a write to the command valid area when the word access is performed by the 8-bit bus first (WR
And CMDA are high level) in the case of a command cycle instructed when the signal BRKAK is inactive,
A predetermined bus cycle is continuously generated twice.
【0079】図19にはタイミング制御回路44の具体
的な第2の回路例が示される。この回路例においては、
内容をわかり易くするために、図17では省略したブロ
ック消去やポーリング機能についての論理構成を専ら示
してある。また、この回路例も正論理とされる。図19
において図17と同一の信号及び回路要素には同一符合
を付してその詳細な説明を省略する。FIG. 19 shows a concrete second circuit example of the timing control circuit 44. In this example circuit,
In order to make the contents easier to understand, FIG. 17 shows only the logical configuration of the omitted block erasing and polling functions. In addition, this circuit example also has a positive logic. FIG. 19
In FIG. 17, the same signals and circuit elements as in FIG. 17 are assigned the same reference numerals and detailed explanations thereof will be omitted.
【0080】同図に示されるタイミング制御回路44は
レジスタCNTLに対するCPU2の書込みによって所
定のバスサイクルを自動的に起動する構成を専ら示すも
のである。信号REGCLRは自動的に生成されたバス
サイクルを終了させるためにレジスタCNTLの内容を
クリアするための信号である。この例に従えば、フラッ
シュメモリのブロック消去のために自動的に生成される
バスサイクルは2サイクルであり、ポーリングのために
自動生成されるバスサイクルは1サイクルとされる。フ
リップフロップFF4のハイレベル出力は2サイクル目
の起動信号とされ、フリップフロップCFF4は自動生
成されたバスサイクルが終了するタイミングで上記信号
REGCLRをハイレベルに制御する。フリップフロッ
プCFF5及びナンドゲートNAND1は、ブロック消
去のための2回のコマンドライトサイクルにおいては1
サイクル目にFF4を、2サイクル目にCFF4を利用
させ、またポーリングのためのバスサイクルにおいては
CFF4だけを利用するように制御する。The timing control circuit 44 shown in the figure exclusively shows a structure for automatically activating a predetermined bus cycle by writing to the register CNTL by the CPU 2. The signal REGCLR is a signal for clearing the contents of the register CNTL to end the automatically generated bus cycle. According to this example, the number of bus cycles automatically generated for block erasing of the flash memory is two, and the number of bus cycles automatically generated for polling is one. The high level output of the flip-flop FF4 is used as the activation signal of the second cycle, and the flip-flop CFF4 controls the signal RECGLR to the high level at the timing when the automatically generated bus cycle ends. The flip-flop CFF5 and the NAND gate NAND1 are set to 1 in two command write cycles for block erase.
FF4 is used in the cycle, CFF4 is used in the second cycle, and only CFF4 is used in the bus cycle for polling.
【0081】同図に示されるタイミング制御回路44
は、上記レジスタCNTLから、POLビットのセット
信号SETPOLが与えられる。このSETPOL信号
はレジスタCNTLに対するライトサイクルのT3ステ
ートにおけるクロックφ2の立ち上がりに同期して有効
とされる。但し、REビットを”1”にセットした状態
でのみPOLビットのセット信号は有効となる。このS
ETPOL信号とRE信号との論理積信号は起動信号と
して論理和ゲートOR2に供給され、それがフリップフ
ロップFF1にラッチされて、その内部レジスタライト
サイクルに引き続いて、外部に対してポーリングリード
サイクルが開始される。ポーリングリードサイクルはP
OLビットがセットされていることで認識される。この
ときのアドレスは、特に制限はされないが、レジスタB
ADR0で指定されたアドレスとされる。Timing control circuit 44 shown in FIG.
Is supplied with a POL bit set signal SETPOL from the register CNTL. The SETPOL signal is validated in synchronization with the rising edge of the clock φ2 in the T3 state of the write cycle for the register CNTL. However, the POL bit set signal is valid only when the RE bit is set to "1". This S
The logical product signal of the ETPOL signal and the RE signal is supplied to the logical sum gate OR2 as a start signal, which is latched by the flip-flop FF1 and the polling read cycle is started to the outside following the internal register write cycle. To be done. Polling read cycle is P
Recognized by setting the OL bit. The address at this time is not particularly limited, but register B
The address is designated by ADR0.
【0082】このとき、マイクロコンピュータ1のレデ
ィー端子READYに入力されたフラッシュメモリから
の信号RDY/BUSY*(レディー入力信号READ
Yと記す)は外部からのウェイト信号WAITと等価な
信号としてフリップフロップFF7に供給される。即
ち、フラッシュメモリが内部動作中であれば、レディー
入力信号READYがインアクティブなローレベルとさ
れるから、フラッシュメモリの内部動作が終了されて入
力信号READYがアクティブなハイレベルにされるま
で、マイクロコンピュータ1はウェイト状態とされる。
即ち、その間クロックφ1B及びφ2Bのレベルが固定
されてフリップフロップFF3のラッチ動作が抑止され
る。入力信号READYがアクティブレベルにされてウ
ェイトが解除されると、当該ポーリングリードサイクル
のT3ステートを経て当該バスサイクルが終了される。
終了に当たって信号REGCLRがハイレベルにされ
る。At this time, the signal RDY / BUSY * (ready input signal READ from the flash memory input to the ready terminal READY of the microcomputer 1)
Y) is supplied to the flip-flop FF7 as a signal equivalent to the wait signal WAIT from the outside. That is, when the flash memory is in the internal operation, the ready input signal READY is set to the inactive low level. Therefore, until the internal operation of the flash memory is terminated and the input signal READY is set to the active high level, The computer 1 is placed in a wait state.
That is, during that time, the levels of the clocks φ1B and φ2B are fixed and the latch operation of the flip-flop FF3 is suppressed. When the input signal READY is set to the active level and the wait is released, the bus cycle is ended after the T3 state of the polling read cycle.
Upon termination, the signal REGCLR is set to high level.
【0083】また、タイミング制御回路44には、レジ
スタCNTLから、BE0〜BE3ビットのセット信号
の論理和信号SETBEが与えられる。この信号SET
BEはレジスタCNTLのライトサイクルのT3ステー
トにおけるクロックφ2の立上がりに同期して有効にな
る。この信号SETBEもバスの起動信号とされて論理
和ゲートOR2に供給される。更にフリップフロップC
FF5のリセット端子に入力される。また、BE0〜B
E3ビットの論理和信号BEOR信号はナンドゲートN
AND1の一方の入力に供給される。当該ナンドゲート
NAND1の他方の入力にはフリップフロップCFF5
の出力の反転信号が供給される。レジスタCNTLへの
書込みによってフラッシュメモリのブロック消去が指示
された状態においてナンドゲートNAND1の出力はロ
ーレベルにされる。したっがて、ブロック消去のための
コマンドライトサイクルにおける第1サイクル目の終了
タイミングではフリップフロップFF4の出力がハイレ
ベルにされて、フリップフロップFF1に対して第2回
目のコマンドライトのバスサイクルの起動が指示され
る。これと同時にフリップフロップCFF5がセット状
態にされて今度はフリップフロップCFF4のデータ入
力動作が可能にされる。したがって、第2回目のコマン
ドライトサイクルの終了タイミングではフリップフロッ
プCFF4がFF3の出力をラッチし、信号REGCL
Rをハイレベルにすることによってバスサイクルの自動
生成を終了させる。Further, the timing control circuit 44 is supplied with the logical sum signal SETBE of the set signals of BE0 to BE3 from the register CNTL. This signal SET
BE becomes valid in synchronization with the rising of the clock φ2 in the T3 state of the write cycle of the register CNTL. This signal SETBE is also used as a bus activation signal and supplied to the OR gate OR2. Further flip-flop C
It is input to the reset terminal of FF5. Also, BE0-B
E3 bit OR signal BEOR signal is NAND gate N
It is supplied to one input of AND1. The flip-flop CFF5 is connected to the other input of the NAND gate NAND1.
An inverted signal of the output of is supplied. The output of the NAND gate NAND1 is set to the low level in the state where the block erase of the flash memory is instructed by writing to the register CNTL. Therefore, at the end timing of the first cycle in the command write cycle for block erase, the output of the flip-flop FF4 is set to the high level, and the second command write bus cycle is started for the flip-flop FF1. Is instructed. At the same time, the flip-flop CFF5 is set to enable the data input operation of the flip-flop CFF4 this time. Therefore, at the end timing of the second command write cycle, the flip-flop CFF4 latches the output of FF3 and outputs the signal REGCL.
The automatic generation of the bus cycle is ended by setting R to the high level.
【0084】図20には上記ブロック消去のためのコマ
ンドライトサイクルの自動生成に関する動作タイミング
が示される。上記信号SETBEを起動信号として、レ
ジスタCNTLに対するCPU2のライトサイクルに引
き続いて、コマンドライトサイクルが開始される。すな
わち、フリップフロップFF1が当が起動信号をラッチ
し、フリップフロップCFF5がリセット状態とされ
る。このときのアドレスはレジスタBADR0〜BAD
R3で指定しされたアドレスとされる。レジスタBAD
R0〜BADR3の指定はレジスタCNTLのBE0〜
BE3ビットの状態に従って行われる。FIG. 20 shows the operation timing relating to the automatic generation of the command write cycle for the block erase. A command write cycle is started following the write cycle of the CPU 2 for the register CNTL by using the signal SETBE as a start signal. That is, the flip-flop FF1 latches the activation signal, and the flip-flop CFF5 is reset. The address at this time is the register BADR0 to BAD.
The address is designated by R3. Register BAD
R0 to BADR3 are specified by BE0 to BE0 of the register CNTL.
It is performed according to the state of the BE3 bit.
【0085】第1のコマンドサイクルでは、CFF5が
リセット状態、BEORがハイレベルであり、T3ステ
ートにおけるクロックφ2の立上がりに同期してFF4
がセット状態にされる。これを起動信号として第2のコ
マンドサイクルが起動され、FF1が当該起動信号をラ
ッチし、CFF5がセット状態にされる。In the first command cycle, CFF5 is in the reset state and BEOR is at the high level, and FF4 is synchronized with the rise of the clock φ2 in the T3 state.
Is set. The second command cycle is activated by using this as an activation signal, the FF1 latches the activation signal, and the CFF5 is set.
【0086】第2のコマンドサイクルでは、CFF5が
セット状態であり、FF4はデータ入力不可能な状態に
制御される。一方、CFF4がデータ入力可能な状態に
なり、T3ステートにおけるクロックφ2の立上がりに
同期してレジスタクリア信号REGCLRがハイレベル
にされる。これによって、今回のコマンドライトサイク
ルの起動要因となったBE0〜BE3ビットがクリアさ
れる。In the second command cycle, CFF5 is in the set state, and FF4 is controlled to the state in which data cannot be input. On the other hand, the CFF4 becomes ready for data input, and the register clear signal REGCLR is set to the high level in synchronization with the rising of the clock φ2 in the T3 state. As a result, the BE0 to BE3 bits that are the trigger factors of the command write cycle this time are cleared.
【0087】そのときフラッシュメモリに書込まれるコ
マンドはレジスタCDAT0,CDATA1の内容とさ
れ、CFF5から出力される信号CDATSELで当該
レジスタCDAT0,CDATA1の出力が選択され
る。CFF5がリセット状態のときレジスタCDAT0
の内容、CFF5がセット状態のときCDAT1レジス
タの内容が出力される。内部バスは16ビットバスであ
り、コマンドデータは上位8ビット、下位8ビットに同
じデータが出力される。8ビットバスモードのときは、
下位8ビットのデータは外部データバスには出力されな
い。なお、BE0〜BE3ビット、POLビットは、任
意の1ビットのみを”1”にセットすることが可能であ
り、複数ビットを同時に”1”にセットすることは禁止
される。At this time, the command written in the flash memory has the contents of the registers CDAT0 and CDATA1, and the output of the registers CDAT0 and CDATA1 is selected by the signal CDATSEL output from the CFF5. Register CDAT0 when CFF5 is in reset state
, The contents of the CDAT1 register are output when CFF5 is in the set state. The internal bus is a 16-bit bus, and the same command data is output to upper 8 bits and lower 8 bits. In 8-bit bus mode,
The lower 8 bits of data are not output to the external data bus. As for the BE0 to BE3 bits and the POL bit, only one arbitrary bit can be set to "1", and it is prohibited to set a plurality of bits to "1" at the same time.
【0088】タイミング制御回路44の具体的な構成を
図17及び図19に分けて夫々説明したが、実際には、
図17と図19の回路を合成して当該タイミング回路が
実現される。合成する場合には、例えばフリップフロッ
プFF1,FF2,FF3,FF7,FF8,FF9及
びクロック系を共通化し、その他の回路要素を別々に設
けて動作態様に応じて経路選択を行い、或はその他の回
路要素からの信号を論理和回路を通して共通回路要素に
導く、という公知の手法を以って簡単に実現できる。The specific structure of the timing control circuit 44 has been separately described in FIGS. 17 and 19, but in practice
The timing circuit is realized by combining the circuits of FIGS. 17 and 19. In the case of combining, for example, the flip-flops FF1, FF2, FF3, FF7, FF8, FF9 and the clock system are made common, and other circuit elements are separately provided to perform path selection according to the operation mode, or other It can be easily realized by a known method of guiding a signal from a circuit element to a common circuit element through an OR circuit.
【0089】フラッシュメモリは、半導体集積回路装置
としてのシングルチップマイクロコンピュータの外部に
接続するほか、内蔵することも可能である。例えば、セ
ルベースICなどのように、図5のシステムを1個の半
導体集積回路とし、システムの小型化を図ることができ
る。この場合、任意の値を設定可能な上記レジスタを不
要にすることができる。即ち、かかるセルベースICの
使用者にとっては何れのエリアに何れのメモリを接続す
るかは固定的に決定することができ、レジスタで任意に
設定する必要が無くなるからである。例えばBSWC
R、ASRCR、WSCRAーB、MPXCR、CMD
CRなどは固定とすることができる。これらのレジスタ
の出力を”0”または”1”のいずれかの状態に固定す
ればよい。レジスタの値を固定にする他に、それらの信
号線をプルアップ又はプルダウンしてもよい。The flash memory can be connected to the outside of a single-chip microcomputer as a semiconductor integrated circuit device or can be incorporated therein. For example, like the cell-based IC, the system shown in FIG. 5 can be used as one semiconductor integrated circuit to reduce the size of the system. In this case, the above register that can set an arbitrary value can be eliminated. That is, it is possible for a user of such a cell-based IC to fixedly determine which memory is connected to which area, and it is not necessary to arbitrarily set the register. For example BSWC
R, ASRCR, WSCRA-B, MPXCR, CMD
CR and the like can be fixed. The outputs of these registers may be fixed to either "0" or "1". Besides fixing the value of the register, those signal lines may be pulled up or pulled down.
【0090】システムの高速化のためには、CPU2の
処理速度を向上する必要がある。CPU2の処理速度を
向上するためには、命令のフェッチ速度を向上する必要
がある。フラッシュメモリは、SRAMに比較して低速
であるために、命令のフェッチ速度の向上には限界があ
る。一方、SRAMは、システム停止時に記憶内容を保
持できない。そこで、リセット直後は、フラッシュメモ
リに格納されたプログラムで動作し、そのプログラムを
SRAMに転送し、転送終了後はSRAM上のプログラ
ムを実行することが考えられる。さらに、マイクロコン
ピュータの例外処理時に使用するベクタアドレスは、例
えばエリア0などのCPU2のアドレス空間上で固定で
ある場合がある。このため、SRAM上のプログラムを
実行中であっても、割込などの例外処理が発生する毎に
フラッシュメモリ上のプログラムを実行しなくてはなら
ない。特に割込の処理などは応答時間を短縮しなければ
ならない場合が多く、システムの高速化の制約になって
しまう。そこで、フラッシュメモリが配置されたエリア
0のアクセス時に、エリア選択信号CS0*を非選択状
態とし、その代わりに、SRAMが配置されているエリ
ア2のエリア選択信号CS2*を選択状態にさせること
が得策である。この制御を制御ビットCS0Cを用いて
行う場合について説明する。In order to speed up the system, it is necessary to improve the processing speed of the CPU 2. In order to improve the processing speed of the CPU 2, it is necessary to improve the instruction fetch speed. Since the flash memory is slower than the SRAM, the improvement of the instruction fetch speed is limited. On the other hand, the SRAM cannot hold the stored contents when the system is stopped. Therefore, it is conceivable that the program stored in the flash memory operates immediately after the reset, the program is transferred to the SRAM, and the program on the SRAM is executed after the transfer is completed. Further, the vector address used in the exceptional processing of the microcomputer may be fixed in the address space of the CPU 2 such as area 0. Therefore, even if the program on the SRAM is being executed, the program on the flash memory must be executed each time an exception process such as an interrupt occurs. In particular, interrupt processing and the like often require a reduction in response time, which is a constraint for speeding up the system. Therefore, when accessing the area 0 in which the flash memory is arranged, the area selection signal CS0 * can be set to the non-selected state, and instead, the area selection signal CS2 * of the area 2 in which the SRAM is arranged can be set to the selected state. It is a good idea. A case where this control is performed using the control bit CS0C will be described.
【0091】図21には上記CS制御のための回路構成
例が示される。制御ビットCS0Cはデータバスの1ビ
ットの接続されるフリップフロップ回路FF20で構成
される。リセット後は制御ビットCS0Cは”0”にク
リアされている。制御ビットCS0Cの存在するアドレ
スに対するライトが行なわれると、内部データバスPD
B0の内容が格納される。CPU2やDMAC3などの
バスマスタの出力するアドレス(IAB)の内容はデコ
ードされ、ICS0〜ICS7が生成される。エリア
0、2以外については直接の関係がないので、ICS
0,ICS2以外は図21では図示を省略している。FIG. 21 shows a circuit configuration example for the above CS control. The control bit CS0C is composed of a flip-flop circuit FF20 to which one bit of the data bus is connected. After reset, the control bit CS0C is cleared to "0". When a write is performed to the address where the control bit CS0C exists, the internal data bus PD
The contents of B0 are stored. The contents of the address (IAB) output from the bus master such as the CPU 2 and the DMAC 3 are decoded, and ICS0 to ICS7 are generated. Since there is no direct relationship for areas other than areas 0 and 2, ICS
Other than 0 and ICS2, illustration is omitted in FIG.
【0092】制御ビットCS0Cを”0”にクリアした
状態では、エリア0アクセス時、即ち、ICS0が選択
レベルであるハイレベル、ICS2が非選択レベルであ
るローレベルであるとき、エリア選択信号CS0が選択
レベルであるハイレベル、CS2が非選択レベルである
ローレベルにされる。制御ビットCS0Cを”1”にセ
ットした状態では、エリア0アクセス時に、即ちICS
0が選択レベルであるハイレベル、ICS2が非選択レ
ベルであるローレベルであるとき、上記とは逆に、エリ
ア選択信号CS0が非選択レベルであるローレベル、C
S2が選択レベルであるハイレベルにされる。なお、制
御ビットCS0Cの状態によらず、エリア2アクセス時
は、CS0は非活性状態、CS2は活性状態にされる。
外部に出力されるエリア選択信号CS0*は上記信号C
S0の反転信号とされ、外部に出力されるエリア選択信
号CS2*は上記信号CS2の反転信号とされる。When the control bit CS0C is cleared to "0", when the area 0 is accessed, that is, when ICS0 is the high level which is the selection level and ICS2 is the low level which is the non-selection level, the area selection signal CS0 is The selection level is set to high level, and CS2 is set to non-selection level, low level. When the control bit CS0C is set to "1", the area 0 is accessed, that is, the ICS
When 0 is the high level which is the selection level and ICS2 is the low level which is the non-selection level, conversely to the above, the area selection signal CS0 is the low level which is the non-selection level, C
S2 is set to the high level which is the selection level. Regardless of the state of the control bit CS0C, during area 2 access, CS0 is inactive and CS2 is active.
The area selection signal CS0 * output to the outside is the signal C described above.
The area selection signal CS2 *, which is an inverted signal of S0 and is output to the outside, is an inverted signal of the signal CS2.
【0093】図22には図21で説明した高速化の手法
を適用したプリンタシステムの変形例が示される。図2
3には図22のシステムにおけるアドレスマップが示さ
れる。図22のシステムは図5に対してSRAM17が
追加されている。当該SRAM17はフラッシュメモリ
10に格納されているプログラムやチューニング情報の
転送を受けて利用されるメモリであり、エリア2に配置
される。図5と同一の回路ブロックには同一符合を付し
てその詳細な説明を省略する。FIG. 22 shows a modification of the printer system to which the speed-up method described with reference to FIG. 21 is applied. Figure 2
3 shows an address map in the system of FIG. The system of FIG. 22 has SRAM 17 added to that of FIG. The SRAM 17 is a memory that is used by receiving the programs and tuning information stored in the flash memory 10, and is arranged in the area 2. The same circuit blocks as those in FIG. 5 are designated by the same reference numerals, and detailed description thereof will be omitted.
【0094】斯るシステムにおいて、リセット直後は先
ず、フラッシュメモリ10上のプログラムで動作が開始
される。エリア0は3ステート、エリア2は2ステート
とエリアとされる。エリア0のフラッシュメモリ10の
内容を、エリア2のSRAM17にコピーする。例え
ば、DMAC3を利用してもよい。その後、上記制御ビ
ットCS0Cを”1”にセットする。エリア0のアドレ
スをCPU1またはDMAC3がアクセスすると、CS
0*はインアクティブ、CS2*がアクティブレベルに
される。アクセスの属性はエリア2と同様になる。即
ち、CPU1の論理アドレスはエリア0であるのに対
し、物理アドレスはエリア2となる。エリア0とエリア
2の内容が共通であるので、物理アドレスの変更によっ
ても誤動作することはない。低速のフラッシュメモリ1
0にプログラムなどを格納し、動作時には高速のSRA
M17にプログラムなどを転送して、データ処理速度を
高速化することができる。例えばプログラムフェッチを
1.5倍に高速化できるので、全体的な処理速度もこれ
に従って高速化される。In such a system, immediately after reset, the operation is first started by the program on the flash memory 10. Area 0 has 3 states and area 2 has 2 states. The contents of the flash memory 10 in area 0 are copied to the SRAM 17 in area 2. For example, the DMAC3 may be used. After that, the control bit CS0C is set to "1". When the address of area 0 is accessed by CPU 1 or DMAC 3, CS
0 * is set to inactive, and CS2 * is set to active level. The access attribute is the same as that of area 2. That is, the logical address of the CPU 1 is area 0, while the physical address is area 2. Since the contents of area 0 and area 2 are common, there is no malfunction even if the physical address is changed. Low speed flash memory 1
Store programs etc. in 0 and operate at high speed with SRA
The data processing speed can be increased by transferring a program or the like to M17. For example, since the program fetch can be speeded up by 1.5 times, the overall processing speed is also speeded up accordingly.
【0095】フラッシュメモリ10の特性上、システム
使用者に固有の情報などを蓄積していくことが考えられ
る。この場合、システムの動作終了時に、SRAM17
からフラッシュメモリ10に内容を転送する。これにD
MAC3を用いることができる。例えば、マイクロコン
ピュータ1の入力信号READYをDMAC3の転送要
求信号とすることができる。即ち、SRAM17の内容
をフラッシュメモリ10に書き戻す場合、フラッシュメ
モリ10によるワード又はページ単位での書込みの終了
を意味する信号RDY/BUSY*のアクティブレベル
(レディー状態)への変化を入力信号READYとして
マイクロコンピュータ1が受ける度に、当該信号をDM
AC3の転送要求信号として処理する。その信号を転送
要求信号とするには当該信号READYを受けるポート
をDMAC3の転送要求信号としてDMAC3に導くよ
うにポートの設定を行っておけばよい。Due to the characteristics of the flash memory 10, it is conceivable to accumulate information peculiar to the system user. In this case, at the end of the system operation, the SRAM 17
Contents are transferred to the flash memory 10. D to this
MAC3 can be used. For example, the input signal READY of the microcomputer 1 can be used as the transfer request signal of the DMAC 3. That is, when the contents of the SRAM 17 are written back to the flash memory 10, the change to the active level (ready state) of the signal RDY / BUSY *, which means the end of writing by the flash memory 10 in word or page units, is used as the input signal READY. Each time the microcomputer 1 receives the signal, the signal is DMed.
It is processed as a transfer request signal of AC3. In order to use the signal as a transfer request signal, the port may be set so that the port receiving the signal READY is guided to the DMAC 3 as the transfer request signal of the DMAC 3.
【0096】このような処理が可能とされるのは、バス
コントローラ4は、CPU2によるアクセスとDMAC
3によるアクセスの何れにおいてもフラッシュメモリ1
0に対するコマンド書込みのバスサイクルを自動的に付
加できるからである。尚、上述のSRAM17への転送
はフラッシュメモリ10以外をも対象にすることができ
る。例えば、マスクROM12には初期化動作のプログ
ラムのみを格納し、フロッピディスクなどの2次記憶か
らエリア4のSRAM17にその他のプログラムを転送
するようにしてもよい。また、高速のメモリとしては、
SRAMの他、シンクロナスDRAMのようなものであ
ってもよい。Such processing is possible because the bus controller 4 is accessed by the CPU 2 and DMAC.
Flash memory 1 for any access
This is because a command write bus cycle for 0 can be automatically added. Note that the transfer to the SRAM 17 described above can be applied to other than the flash memory 10. For example, only the initialization operation program may be stored in the mask ROM 12, and the other programs may be transferred from the secondary storage such as a floppy disk to the SRAM 17 in the area 4. Also, as a high-speed memory,
Besides SRAM, it may be one such as a synchronous DRAM.
【0097】図24には上記マイクロコンピュータ1を
エミュレーション用マイクロコンピュータに適用した場
合のブロック図が示される。エミュレーション用マイク
ロコンピュータ50は、マイクロコンピュータ部分5
1、および図示はされないバッファ回路などを含むエミ
ュレーションインタフェース52から構成され、公知の
半導体製造技術によって1つの半導体基板上に形成され
ている。FIG. 24 shows a block diagram when the microcomputer 1 is applied to an emulation microcomputer. The emulation microcomputer 50 includes a microcomputer part 5
1 and an emulation interface 52 including a buffer circuit (not shown) and the like, which are formed on one semiconductor substrate by a known semiconductor manufacturing technique.
【0098】上記エミュレーション用マイクロコンピュ
ータ50はマイクロコンピュータ部分51に対応するシ
ングルチップマイクロコンピュータの応用システムと信
号の送受信を行うユーザインタフェース53を備える。
上記エミュレーションインタフェース52は図示しない
エミュレータやシステム開発装置と信号の送受信を行
う。図24において図1のシングルチップマイクロコン
ピュータと同一機能を有する回路ブロックには同一符合
を付してある。図24においてユーザインタフェース5
3は図1の入出力回路PIO1〜PIO9を含んでい
る。また、図24においてI/Oで示される回路ブロッ
クは、図1におけるタイマ7、SCI8を含んでいる。The emulation microcomputer 50 has a user interface 53 for transmitting and receiving signals to and from the application system of the single chip microcomputer corresponding to the microcomputer portion 51.
The emulation interface 52 transmits / receives signals to / from an emulator (not shown) or a system development device. In FIG. 24, circuit blocks having the same functions as those of the single-chip microcomputer shown in FIG. 1 are designated by the same reference numerals. In FIG. 24, the user interface 5
3 includes the input / output circuits PIO1 to PIO9 shown in FIG. The circuit block indicated by I / O in FIG. 24 includes the timer 7 and SCI8 in FIG.
【0099】エミュレーション用バスとしては、IAB
及びIDBをエミュレーションインタフェース52を介
して入出力する。バスPAB、PDBはエミュレーショ
ン用バスとしてエミュレーション用インタフェース52
には直結していない。これによって、エミュレーション
用マイクロコンピュータの端子数を削減でき、パッケー
ジサイズの小型化、ひいてはエミュレータのサイズの縮
小に寄与する。As an emulation bus, IAB is used.
And IDB are input and output through the emulation interface 52. The buses PAB and PDB are emulation interfaces 52 as emulation buses.
Is not directly connected to. As a result, the number of terminals of the emulation microcomputer can be reduced, which contributes to the miniaturization of the package size and the miniaturization of the emulator.
【0100】自動的に付加されたコマンドサイクルであ
ることを示すステータス信号CMDCYCをエミュレー
ションインタフェース52を介してエミュレータなどに
出力させる。自動的に付加されたコマンドサイクルでは
CMDCYC信号がアクティブレベルにされる。CMD
CYC信号は、例えば、DATASEL、BEOR、P
OL信号の論理和信号とすることができる。そのほか、
エミュレーションインタフェース52には、ブレーク要
求端子BRKなどが含まれてなる。CPU2が、ブレー
ク割込を受け付けると、ブレークアクノリッジ信号BR
KAKがアクティブレベルにされて、エミュレーション
のためのコントロールプログラム実行状態に遷移され
る。復帰命令を実行すると、BRKAK信号がインアク
ティブ状態になって、ユーザプログラム実行状態に遷移
する。ブレークモード中には、コマンド書込みサイクル
のような自動的なバスサイクル挿入(バスコマンド)を
禁止するようにする。同一のアドレスにエミュレータ用
のメモリとユーザ用フラッシュメモリを配置し、ブレー
クモード時にはエミュレータ用のメモリを使用し、ユー
ザモード時にはユーザ用フラッシュメモリを使用するこ
とができる。エミュレータ用メモリは、デバック対象の
プログラムを格納する目的に従って、RAMで構成する
ことが望ましい。このRAMに対して、バスコマンドで
あるライトサイクルを発行して、RAMの内容を破壊し
てしまうことを防ぐことができる。A status signal CMDCYC indicating the automatically added command cycle is output to an emulator or the like via the emulation interface 52. In the automatically added command cycle, the CMDCYC signal is set to the active level. CMD
The CYC signal is, for example, DATASEL, BEOR, P
It can be a logical sum signal of the OL signals. others,
The emulation interface 52 includes a break request terminal BRK and the like. When the CPU 2 accepts the break interrupt, the break acknowledge signal BR
KAK is set to the active level, and a transition is made to the control program execution state for emulation. When the return instruction is executed, the BRKAK signal becomes inactive and transitions to the user program execution state. During the break mode, automatic bus cycle insertion (bus command) such as command write cycle is prohibited. The emulator memory and the user flash memory can be arranged at the same address, the emulator memory can be used in the break mode, and the user flash memory can be used in the user mode. It is desirable that the emulator memory be configured with a RAM according to the purpose of storing the program to be debugged. It is possible to prevent the contents of the RAM from being destroyed by issuing a write cycle that is a bus command to this RAM.
【0101】図25にはエミュレータの一例ブロック図
が示される。コネクタ部60がシングルチップマイクロ
コンピュータの代わりに応用システム(ユーザシステ
ム)61に装着される。エミュレーション用マイクロコ
ンピュータ50は上記コネクタ部60とインタフェース
ケーブル62を介して応用システム61と信号の入出力
を行う。FIG. 25 is a block diagram showing an example of the emulator. The connector unit 60 is attached to the application system (user system) 61 instead of the single-chip microcomputer. The emulation microcomputer 50 inputs and outputs signals to and from the application system 61 via the connector section 60 and the interface cable 62.
【0102】また、エミュレーション用マイクロコンピ
ュータ50は上記エミュレーションインタフェース52
を用いてエミュレーションバス63に接続される。エミ
ュレーションバス63は状態信号、制御信号、データ、
及びアドレスなどの各種信号線を含む。上記エミュレー
ションバス63を用いて、エミュレーション用マイクロ
コンピュータ50から、応用システム61とエミュレー
ション用マイクロコンピュータ50の内部状態に応じた
情報などが出力され、また、エミュレーション用マイク
ロコンピュータ50に対し、エミュレーションのための
各種制御信号が入力される。エミュレーション用マイク
ロコンピュータ50の、図示はされないエミュレートモ
ード端子が電源レベルに固定され、エミュレーション用
マイクロコンピュータ50内部ではエミュレートモード
が設定される。The emulation microcomputer 50 uses the emulation interface 52.
Is used to connect to the emulation bus 63. The emulation bus 63 has status signals, control signals, data,
And various signal lines such as addresses. By using the emulation bus 63, the emulation microcomputer 50 outputs information according to the internal states of the application system 61 and the emulation microcomputer 50. Various control signals are input. An emulation mode terminal (not shown) of the emulation microcomputer 50 is fixed to the power supply level, and the emulation mode is set inside the emulation microcomputer 50.
【0103】上記エミュレーションバス63には、特に
制限はされないものの、応用システム61またはターゲ
ットマイクロコンピュータ内蔵のメモリを代行するため
のRAMでなるようなエミュレーションメモリ64と、
エミュレーション用マイクロコンピュータ50の制御状
態やエミュレーションバス63の状態を監視して、その
状態が予め設定された状態に達した時に、上記エミュレ
ータ専用割込みとしてのブレーク割込みを要求して、C
PU2によるユーザプログラムの実行を停止させ、エミ
ュレーション用のコントロールプログラム実行状態に遷
移させる(ブレーク)ためのブレーク制御回路65と、
上記CPU2のリード動作またはライト動作を示す信
号、命令リード動作を示す信号などに基づき、エミュレ
ーションバス63に与えられるアドレスやデータさらに
は制御情報を逐次蓄えるリアルタイムトレース回路66
などが接続される。リアルタイムトレース回路は前記信
号CMDCYCも逐次蓄える。The emulation bus 63 is not particularly limited, but an emulation memory 64 such as a RAM for substituting the memory built in the application system 61 or the target microcomputer.
The control state of the emulation microcomputer 50 and the state of the emulation bus 63 are monitored, and when the state reaches a preset state, a break interrupt as the emulator dedicated interrupt is requested and C
A break control circuit 65 for stopping the execution of the user program by the PU 2 and shifting to a control program execution state for emulation (break);
A real-time trace circuit 66 for sequentially storing addresses and data, and further control information given to the emulation bus 63 based on a signal indicating a read operation or a write operation of the CPU 2 or a signal indicating an instruction read operation.
Etc. are connected. The real-time trace circuit successively stores the signal CMDCYC.
【0104】上記エミュレーションメモリ64、ブレー
ク制御回路65、リアルタイムトレース回路66はコン
トロールバス67にも接続され、コントロールバス67
を介してコントロールプロセッサ68の制御を受けるよ
うになっている。上記コントロールバス67は、ホスト
インタフェース69を介して、特に制限はされないもの
のパーソナルコンピュータなどのシステム開発装置70
に接続される。例えば、システム開発装置70から入力
されたプログラムをエミュレーションメモリ64に転送
し、外部プログラムROM上に配置されるべき、または
ROMを内蔵した場合、内蔵ROM上に配置されるべき
かかるプログラムをCPU2がリードすると、エミュレ
ーションメモリ64上のプログラムがリードされる。ま
た、ブレーク条件や、リアルタイムトレース条件なども
システム開発装置70から与えることができる。システ
ム開発装置70は、リアルタイムトレース回路66にト
レースされた結果を、CRTまたは液晶などの表示画面
上に表示することができる。The emulation memory 64, break control circuit 65, and real-time trace circuit 66 are also connected to the control bus 67, and the control bus 67
The control processor 68 is controlled via the. The control bus 67 is, though not particularly limited, via the host interface 69, a system development device 70 such as a personal computer.
Connected to. For example, the program input from the system development device 70 is transferred to the emulation memory 64, and the CPU 2 reads the program to be arranged on the external program ROM or, if the ROM is built in, the program to be arranged on the internal ROM. Then, the program on the emulation memory 64 is read. In addition, break conditions, real-time trace conditions, etc. can be given from the system development device 70. The system development device 70 can display the result traced by the real-time trace circuit 66 on a display screen such as a CRT or liquid crystal.
【0105】エミュレータシステム上では、通常のバス
サイクルと自動的に付加されたバスサイクルとを明示的
に区別できる。即ち、バスサイクルに対応して得られる
CMDCYC信号の状態を表示したりして区別できる。
あるいは、通常のバスサイクルまたは自動的に付加され
たバスサイクルのみを選択的に表示することを選択可能
にする。これはシステム開発装置70の処理によって、
CMDCYC信号の蓄積情報に従って、対応するバスサ
イクルを表示するかしないかを選択すればよい。自動的
に付加されたバスサイクルを削除することによって、プ
ログラムの実行とバスサイクルが対応するようになるた
め、プログラムのデバックを容易にすることができる。
また、自動的に付加されたバスサイクルのみを表示する
ことによって、バスコマンドの実行状態を容易にトレー
スすることができる。エミュレータがバスコマンドを解
釈して、バス情報だけでなく、コマンドの内容を表示す
ることを容易にすることができる。CMDCYC信号が
アクティブレベルであり、そのときのデータがH’2
0、H’B0であれば、表示画面上に”ブロック消去”
と表示するものである。これにより、コマンドの内容を
ユーザが逐次確認することがなく、プログラムのデバッ
クを容易に行うことができるようになる。On the emulator system, a normal bus cycle and an automatically added bus cycle can be explicitly distinguished. That is, the state of the CMDCYC signal obtained corresponding to the bus cycle can be displayed or distinguished.
Alternatively, it is possible to selectively display only the normal bus cycle or the automatically added bus cycle. This is done by the processing of the system development device 70.
Whether to display the corresponding bus cycle may be selected according to the accumulated information of the CMDCYC signal. By deleting the automatically added bus cycle, the execution of the program and the bus cycle correspond to each other, so that the debugging of the program can be facilitated.
In addition, by displaying only the bus cycle that is automatically added, the execution state of the bus command can be easily traced. The emulator can interpret the bus command to facilitate displaying the contents of the command as well as the bus information. The CMDCYC signal is at the active level, and the data at that time is H'2.
If 0 and H'B0, "block erase" appears on the display screen.
Is displayed. As a result, the program can be debugged easily without the user sequentially confirming the content of the command.
【0106】ここで上記フラッシュメモリ10を概略的
に説明する。フラッシュメモリ10は、2層ゲート構造
の絶縁ゲート型電界効果トランジスタによって構成され
たフラッシュメモリセル(以下単にメモリセルとも記
す)をマトリクス配置したメモリアレイを備える。特に
制限されないが、フラッシュメモリセルのコントロール
ゲートはそれぞれ対応する図示しないワード線に接続さ
れ、フラッシュメモリセルのドレインはそれぞれ対応す
る図示しないデータ線に接続され、フラッシュメモリセ
ルのソースはメモリブロック毎に共通のソース線に接続
される。Here, the flash memory 10 will be schematically described. The flash memory 10 includes a memory array in which flash memory cells (hereinafter also simply referred to as memory cells) configured by insulated gate field effect transistors having a two-layer gate structure are arranged in a matrix. Although not particularly limited, the control gates of the flash memory cells are connected to the corresponding word lines (not shown), the drains of the flash memory cells are connected to the corresponding data lines (not shown), and the sources of the flash memory cells are for each memory block. Connected to common source line.
【0107】メモリセルへの情報の書込み動作は、例え
ばコントロールゲート及びドレインに高電圧を印加し
て、アバランシェ注入によりドレイン側からフローティ
ングゲートに電子を注入することで実現される。この書
込み動作によりフラッシュメモリセルは、そのコントロ
ールゲートからみたしきい値電圧が、書込み動作を行わ
なかった消去状態のメモリセルに比べて高くなる。The operation of writing information to the memory cell is realized, for example, by applying a high voltage to the control gate and the drain and injecting electrons from the drain side to the floating gate by avalanche injection. Due to this write operation, the threshold voltage of the flash memory cell seen from the control gate becomes higher than that of the erased memory cell in which the write operation is not performed.
【0108】一方消去動作は、例えばソースに高圧を印
加して、トンネル現象によりフローティングゲートから
ソース側に電子を引き抜くことによって実現される。消
去動作により記憶トランジスタはそのコントロールゲー
トからみたしきい値電圧が低くされる。書込み並びに消
去状態の何れにおいてもメモリセルトランジスタのしき
い値は正の電圧レベルにされる。すなわちワード線から
コントロールゲートに与えられるワード線選択レベルに
対して、書込み状態のしきい値電圧は高くされ、消去状
態のしきい値電圧は低くされる。双方のしきい値電圧と
ワード線選択レベルとがそのような関係を持つことによ
って、選択トランジスタを採用することなく1個のトラ
ンジスタでメモリセルを構成することができる。On the other hand, the erase operation is realized, for example, by applying a high voltage to the source and extracting electrons from the floating gate to the source side by the tunnel phenomenon. The erase operation lowers the threshold voltage of the memory transistor viewed from its control gate. The threshold voltage of the memory cell transistor is set to a positive voltage level in both the write and erase states. That is, the threshold voltage in the written state is raised and the threshold voltage in the erased state is lowered with respect to the word line selection level applied from the word line to the control gate. By having such a relationship between both threshold voltages and the word line selection level, it is possible to configure a memory cell with one transistor without employing a selection transistor.
【0109】読み出し動作においては、上記フラッシュ
メモリセルに対して弱い書込み、すなわち、フローティ
ングゲートに対して不所望なキャリアの注入が行われな
いように、ドレイン及びコントロールゲートに印加され
る電圧が比較的低い値に制限される。例えば、1V程度
の低電圧がドレインに印加されるとともに、コントロー
ルゲートに5V程度の低電圧が印加される。これらの印
加電圧によってメモリセルトランジスタを流れるチャン
ネル電流の大小を検出することにより、メモリセルに記
憶されている情報の論理値“0”、“1”を判定するこ
とができる。In the read operation, the voltage applied to the drain and the control gate is relatively low so that weak writing to the flash memory cell, that is, unwanted carrier injection to the floating gate is not performed. Limited to low values. For example, a low voltage of about 1 V is applied to the drain and a low voltage of about 5 V is applied to the control gate. By detecting the magnitude of the channel current flowing through the memory cell transistor by these applied voltages, the logical values "0" and "1" of the information stored in the memory cell can be determined.
【0110】上記実施例によれば、以下の作用効果を得
るものである。 (1)外部バスを有するマイクロコンピュータ1のアド
レス空間上の一部または全部の領域に接続されるメモリ
などを選択制御するバスコントローラ4を有し、かつ、
その内部レジスタCMDCRにより、コマンドライトを
必要とするフラッシュメモリ10を指定可能とし、フラ
ッシュメモリ10を選択したアドレス空間上の領域に、
CPU2またはDMAC3のようなバスマスタがリード
/ライトを行なったときに、かかるリード/ライトに対
応したコマンドのためのライトサイクルをバスコントロ
ーラ4のタイミング制御回路44が挿入することによっ
て、ソフトウェアの負荷を最低限にして、フラッシュメ
モリ10を接続することができる。 (2)バス幅・バスサイクル数をレジスタBSWCR,
ASTCR,WSCRA,WSCRBで設定することに
よって、外部回路を不要にして、各種メモリを直接接続
することができる。 (3)リード/ライト動作時に自動的にコマンドを挿入
することによって、DMAC3のようなデータ転送のみ
を行なうバスマスタでも、SRAMなどと同様にフラッ
シュメモリ10との間でもデータ転送制御を行なうこと
ができる。 (4)エリア選択信号を出力することによって、メモリ
を直接接続できる。図21に基づいて説明したようにエ
リア選択信号の出力条件を変更することで、物理的なシ
ステムを変更せずに、CPU2のアドレス空間上でのメ
モリなどの再配置を可能にすることができる。これによ
って、低速の不揮発メモリに格納した内容を、高速の揮
発メモリに転送して、動作するとき、エリア選択信号の
出力条件を変更するだけで対処できる。 (5)エミュレーション用マイクロコンピュータにおい
て、バスマスタが行なったバスサイクルか、バスコント
ローラが自動的に挿入したバスサイクルかを示す信号C
MDCYCを出力することによって、かつ、エミュレー
タがこれらを区別して表示することによって、デバック
効率を向上することができる。 (6)エミュレーション用マイクロコンピュータにおい
て、外部メモリを使用しない状態(ブレークモード)で
は、バスコントローラが自動的にバスサイクルを挿入す
ることを禁止することによって、エミュレーションメモ
リを保護することができる。According to the above embodiment, the following operational effects are obtained. (1) A bus controller 4 for selectively controlling a memory or the like connected to a part or all of the address space of the microcomputer 1 having an external bus, and
The internal register CMDCR makes it possible to specify the flash memory 10 that requires command writing, and the flash memory 10 can be designated in an area on the selected address space.
When a bus master such as the CPU 2 or the DMAC 3 performs a read / write, the timing control circuit 44 of the bus controller 4 inserts a write cycle for a command corresponding to the read / write, thereby minimizing the load on software. The flash memory 10 can be connected as long as possible. (2) Register the bus width and the number of bus cycles in the register BSWCR,
By setting ASTCR, WSCRA, and WSCRB, various memories can be directly connected without using an external circuit. (3) By automatically inserting a command during a read / write operation, a data transfer control can be performed between a bus master such as the DMAC3 that only transfers data and between the flash memory 10 and SRAM. . (4) The memory can be directly connected by outputting the area selection signal. By changing the output condition of the area selection signal as described with reference to FIG. 21, it is possible to rearrange the memory and the like in the address space of the CPU 2 without changing the physical system. . As a result, when the contents stored in the low-speed nonvolatile memory are transferred to the high-speed volatile memory to operate, it can be dealt with only by changing the output condition of the area selection signal. (5) In the emulation microcomputer, a signal C indicating the bus cycle performed by the bus master or the bus cycle automatically inserted by the bus controller
The debug efficiency can be improved by outputting MDCYC and by the emulator distinguishing and displaying them. (6) In the emulation microcomputer, when the external memory is not used (break mode), the emulation memory can be protected by automatically prohibiting the bus controller from inserting a bus cycle.
【0111】以上本発明者によってなされた発明を実施
例に基づいて具体的に説明したが、本発明はそれに限定
されるものではなく、その要旨を逸脱しない範囲におい
て種々変更可能であることは言うまでもない。Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited to the embodiments and various modifications can be made without departing from the scope of the invention. Yes.
【0112】例えば、バスマスタとしては、CPU、D
MACの他、データトランスファコントローラ、デジタ
ルシグナルプロセッサ(DSP)であってもよい。バス
を使用してメモリをリード/ライトするようなデータ処
理装置であればよい。3個以上のバスマスタを有するも
のであってもよい。任意の数のデータ処理装置を1つの
半導体集積回路に内蔵することができる。本発明はDM
ACやDSPそれ自体にも適用できることは言うまでも
ない。コマンドによって動作が指示される外部回路はフ
ラッシュメモリに限定されない。それがメモリの場合、
例えばシンクロナスDRAMであってもよい。For example, as the bus master, CPU, D
In addition to the MAC, it may be a data transfer controller or a digital signal processor (DSP). Any data processing device that reads / writes a memory using the bus may be used. It may have three or more bus masters. Any number of data processing devices can be built in one semiconductor integrated circuit. The present invention is DM
It goes without saying that it can be applied to AC and DSP itself. The external circuit whose operation is instructed by the command is not limited to the flash memory. If it's memory,
For example, it may be a synchronous DRAM.
【0113】バス仕様の詳細は種々変更が可能である。
例えば、バス幅は8/16ビットの選択のほか、16/
32ビットであってもよいし、8/16/32ビットを
選択可能にしてもよい。32ビットバスにした場合は、
8ビット単位のコマンドを4個並列に出力してもよい。
アドレスとバスサイズを判定して、所定のバスのみコマ
ンドを出力してもよい。The details of the bus specifications can be changed in various ways.
For example, in addition to selecting the bus width of 8/16 bits, 16 /
It may be 32 bits, or 8/16/32 bits may be selectable. If you use a 32-bit bus,
Four 8-bit commands may be output in parallel.
The command may be output only for a predetermined bus by determining the address and the bus size.
【0114】リセット時に、マニュアルリセットとパワ
ーオンリセットを設け、マニュアルリセットのときはバ
スコントローラのレジスタの内容を保持するようにして
もよい。更に、リセット用のコマンドをCPUの動作に
先だって出力するようにしてもよい。A manual reset and a power-on reset may be provided at the time of reset, and the content of the register of the bus controller may be held at the time of manual reset. Further, the reset command may be output prior to the operation of the CPU.
【0115】バス制御回路の具体的な回路構成も種々変
更が可能である。制御レジスタの構成なども種々変更が
可能である。コマンドを格納するレジスタはCPUが随
時書き込み可能であるほか、固定的なものであってもよ
い。エリアの分割方法についても、128kバイト単位
などとすることができる。エリアの大きさを連続的に変
更可能にしてもよい。分割した全エリアについて属性を
設定できなくてもよい。アドレス空間が広がった場合に
は、各エリアが大きくならないようにすることが望まし
い。使用可能なメモリの容量よりも大きくなることは望
ましくない。エリアの分割数が多く、或いはマイクロコ
ンピュータの端子が十分に大きくない場合には、すべて
のエリアに対してエリア選択信号を出力しなくてもよ
い。シングルチップマイクロコンピュータのその他の機
能ブロックについても何等制約されない。The specific circuit configuration of the bus control circuit can be changed in various ways. The configuration of the control register and the like can be changed in various ways. The register for storing the command can be written by the CPU at any time, or may be fixed. The area dividing method can also be set in units of 128 kbytes or the like. The size of the area may be continuously changeable. The attribute may not be set for all the divided areas. When the address space is expanded, it is desirable to prevent each area from becoming large. It is not desirable to be larger than the available memory capacity. When the number of divided areas is large or the terminals of the microcomputer are not large enough, it is not necessary to output the area selection signal for all areas. There is no restriction on other functional blocks of the single-chip microcomputer.
【0116】以上の説明では主として本発明者によって
なされた発明をその背景となった利用分野であるシング
ルチップマイクロコンピュータに適用した場合について
説明したが、それに限定されるものではなく、その他の
データ処理装置および制御システム、エミュレータにも
適用可能であり、本発明は少なくとも、外部バスを使用
可能なデータ処理装置に適用することができる。In the above description, the case where the invention made by the present inventor is mainly applied to the single-chip microcomputer which is the field of application which is the background of the invention has been described, but the present invention is not limited to this and other data processing. The present invention can be applied to a device, a control system, and an emulator, and at least the present invention can be applied to a data processing device that can use an external bus.
【0117】[0117]
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
の通りである。The effects obtained by the typical ones of the inventions disclosed in the present application will be briefly described as follows.
【0118】すなわち、フラッシュメモリのような外部
回路に割当てられた所定のアドレス空間がアクセスされ
ると、そのアクセスに先立って、当該外部回路の動作を
指示するコマンドをライトするための第1のコマンドラ
イトサイクルを自動的に挿入することができる。これに
より、例えばフラッシュメモリに対するバイト又はペー
ジ単位での書込みに際して毎回コマンドを書込むための
処理とそれを規定するプログラム記述を不要にすること
ができる。That is, when a predetermined address space allocated to an external circuit such as a flash memory is accessed, a first command for writing a command instructing the operation of the external circuit is accessed prior to the access. A write cycle can be automatically inserted. As a result, it is possible to eliminate the processing for writing a command each time writing in a byte or page unit to the flash memory and the program description for defining the command.
【0119】内蔵制御レジスタの所定のビットがCPU
によって操作されると、当該操作の次に、外部回路の動
作を指示するコマンドをライトするための第2のコマン
ドライトサイクルを自動的に挿入することができる。こ
れにより、例えばフラッシュメモリに対するブロック消
去書のような複数回に分けたコマンドライトが必要な場
合にも、命令記述は制御レジスタに対する書込みなどを
規定すればよく、上記同様データ処理効率の向上とプロ
グラムサイズの縮小化とを実現できる。Predetermined bits of the built-in control register are CPU
When operated by, the second command write cycle for writing a command instructing the operation of the external circuit can be automatically inserted next to the operation. As a result, even when command writing is required for a plurality of times, such as a block erase write to a flash memory, the instruction description may specify writing to the control register. The size can be reduced.
【0120】ポーリング制御のための外部リードサイク
ルをCPUによる内蔵制御レジスタの所定ビットの操作
によって開始し維持することができ、これによっても、
外部バスサイクルの生成という点においてデータ処理効
率の向上とプログラムサイズの縮小化とを実現できる。The external read cycle for polling control can be started and maintained by the operation of a predetermined bit of the built-in control register by the CPU.
In terms of generation of external bus cycles, improvement of data processing efficiency and reduction of program size can be realized.
【0121】エミュレーションを考慮した時、バスマス
タが行なったバスサイクルか、バスコントローラが自動
的に挿入したバスサイクルかを示す信号をデータ処理装
置が出力することにより、デバック効率を向上すること
ができる。In consideration of emulation, the data processing device outputs a signal indicating the bus cycle performed by the bus master or the bus cycle automatically inserted by the bus controller, whereby the debugging efficiency can be improved.
【0122】エミュレーションを考慮したとき、ブレー
クモードでは上記自動的なバスサイクルの挿入すること
を禁止することによって、エミュレーションメモリを保
護することができる。In consideration of emulation, the emulation memory can be protected by prohibiting the automatic insertion of the bus cycle in the break mode.
【0123】バスマスタ手段がダイレクトメモリアクセ
スコントローラであっても、上記コマンドライトサイク
ルの自動挿入によって、ダイレクトメモリアクセスコン
トローラもそのようなコマンド形式のフラッシュメモリ
をデータ転送元又はデータ転送先として利用することが
できる。Even if the bus master means is a direct memory access controller, the direct memory access controller can also use such a command format flash memory as a data transfer source or a data transfer destination by automatically inserting the command write cycle. it can.
【0124】コマンドによって動作が指示されるフラッ
シュメモリとのインタフェースの簡素化及び使い勝手を
向上させることができる。The interface with the flash memory whose operation is instructed by the command can be simplified and the usability can be improved.
【図1】本発明に係るデータ処理装置の一実施例である
シングルチップマイクロコンピュータのブロック図であ
る。FIG. 1 is a block diagram of a single-chip microcomputer that is an embodiment of a data processing device according to the present invention.
【図2】図1のマイクロコンピュータのアドレスマップ
の一例説明図である。2 is an explanatory diagram of an example of an address map of the microcomputer of FIG.
【図3】バス制御レジスタの説明図である。FIG. 3 is an explanatory diagram of a bus control register.
【図4】その他のバス制御レジスタの説明図である。FIG. 4 is an explanatory diagram of other bus control registers.
【図5】図1のシングルチップマイクロコンピュータを
用いたプリンタシステムの一例ブロック図である。5 is a block diagram showing an example of a printer system using the single-chip microcomputer shown in FIG.
【図6】図5のシステムにおける外部バス16による接
続状態の一例説明図である。6 is an explanatory diagram showing an example of a connection state by an external bus 16 in the system of FIG.
【図7】エリア0の16ビットバス、3ステートアクセ
スにおけるリード動作とエリア4の16ビットバス、3
ステートアクセスにおけるリードの一例バスサイクルタ
イミング図である。FIG. 7: 16-bit bus in area 0, read operation in 3-state access and 16-bit bus in area 4, 3
It is an example bus cycle timing diagram of a read in state access.
【図8】エリア0の16ビットバス、3ステートアクセ
スにおけるライト動作の一例バスサイクルタイミング図
である。FIG. 8 is a bus cycle timing diagram showing an example of a write operation in a 16-bit bus in area 0 and 3-state access.
【図9】エリア4の16ビットバス、3ステートアクセ
スにおけるライト動作の一例バスサイクルタイミング図
である。FIG. 9 is a bus cycle timing diagram showing an example of a write operation in a 16-bit bus in area 4 and 3-state access.
【図10】エリア5の16ビットバス、3ステートアク
セス、アドレスマルチプレクスアクセスにおけるリード
動作の一例バスサイクルタイミング図である。FIG. 10 is a bus cycle timing chart showing an example of a read operation in a 16-bit bus in area 5, 3-state access, and address multiplex access.
【図11】エリア5の16ビットバス、3ステートアク
セス、アドレスマルチプレクスアクセスにおけるライト
動作の一例バスサイクルタイミング図である。11 is a bus cycle timing diagram showing an example of a write operation in a 16-bit bus in area 5, 3-state access, and address multiplex access. FIG.
【図12】エリア6の16ビットバス、2ステートアク
セスにおけるリード動作の一例バスサイクルタイミング
図である。FIG. 12 is a bus cycle timing chart showing an example of a read operation in a 16-bit bus in area 6 and 2-state access.
【図13】エリア6の16ビットバス、2ステートアク
セスにおけるライト動作の一例バスサイクルタイミング
図である。FIG. 13 is a bus cycle timing chart showing an example of a write operation in a 16-bit bus in area 6 and 2-state access.
【図14】エリア7の8ビットバス、3ステートアクセ
スにおけるリード動作の一例バスサイクルタイミング図
である。FIG. 14 is a bus cycle timing chart showing an example of a read operation in an 8-bit bus in area 7 and 3-state access.
【図15】エリア7の8ビットバス、3ステートアクセ
スにおけるライト動作の一例バスサイクルタイミング図
である。FIG. 15 is a bus cycle timing chart showing an example of a write operation in an 8-bit bus in area 7 and 3-state access.
【図16】バスコントローラの一例ブロック図である。FIG. 16 is a block diagram of an example of a bus controller.
【図17】バスコントローラに含まれるタイミング制御
回路の一例回路図である。FIG. 17 is a circuit diagram showing an example of a timing control circuit included in the bus controller.
【図18】図17の回路の一例動作タイミング図であ
る。18 is an operation timing chart of an example of the circuit of FIG.
【図19】バスコントローラに含まれるタイミング制御
回路別の一例回路図である。FIG. 19 is a circuit diagram showing another example of each timing control circuit included in the bus controller.
【図20】図19の回路におけるブロック消去のための
コマンドライトサイクルの自動生成に関する一例動作タ
イミング図である。20 is an example operation timing chart regarding automatic generation of a command write cycle for block erasing in the circuit of FIG. 19;
【図21】CS制御のための一例回路図である。FIG. 21 is an example circuit diagram for CS control.
【図22】図21の回路を適用したプリンタシステム一
例ブロック図である。22 is a block diagram of an example of a printer system to which the circuit of FIG. 21 is applied.
【図23】図22のシステムにおけるアドレスマップの
一例説明図である。23 is an explanatory diagram of an example of an address map in the system of FIG.
【図24】エミュレーション用マイクロコンピュータの
一例ブロック図である。FIG. 24 is a block diagram of an example of an emulation microcomputer.
【図25】エミュレータの一例ブロック図である。FIG. 25 is a block diagram of an example of an emulator.
【図26】フラッシュメモリのコマンドの一例説明図で
ある。FIG. 26 is an explanatory diagram of an example of a command of the flash memory.
1 シングルチップマイクロコンピュータ 2 CPU 3 DMAC 4 バスコントローラ BSWCR 各エリアのバス幅指定用のレジスタ ASTCR,WSCRA,WSCRB 各エリアのバス
サイクル指定用のレジスタ MPXCR 各エリアのアドレスマルチプレクス指定用
のレジスタ CMDCR コマンドサイクル自動生成すべきエリア指
定用のレジスタ WCMD,CDATA0,CDATA1 コマンド格納
用のレジスタ BADR0〜BADR3 アドレス格納用のレジスタ CNTL コマンドバスサイクル挿入条件指定用のレジ
スタ 10 フラッシュメモリ 11 DRAM 12 マスクROM 13,17 SRAM 44 タイミング制御回路 50 エミュレーション用マイクロコンピュータ1 Single-chip microcomputer 2 CPU 3 DMAC 4 Bus controller BSWCR Register for specifying bus width of each area ASTCR, WSCRA, WSCRB Register for specifying bus cycle of each area MPXCR Register for specifying address of each area CMDCR Command cycle Register for automatically generating area WCMD, CDATA0, CDATA1 Register for command storage BADR0-BADR3 Register for address storage CNTL Command bus cycle insertion condition specification register 10 Flash memory 11 DRAM 12 Mask ROM 13, 17 SRAM 44 Timing control circuit 50 Emulation microcomputer
Claims (12)
内蔵し、コマンドによって動作が指示される外部回路と
接続可能なデータ処理装置であって、バスマスタ手段に
よる外部の所定アドレス空間に対するアクセスの指示に
応答して、当該アクセスの指示に対応する外部バスアク
セスサイクルの生成に先立って、上記所定アドレス空間
に対して上記外部回路の動作を指示するためのコマンド
をライトする第1のコマンドライトサイクルを生成する
バス制御手段を備えて成るものであることを特徴とする
データ処理装置。1. A data processing device having a built-in bus master unit capable of using an external bus and connectable to an external circuit whose operation is instructed by a command, wherein the data processing unit responds to an instruction to access an external predetermined address space by the bus master unit. Then, prior to the generation of the external bus access cycle corresponding to the access instruction, a first command write cycle for writing a command for instructing the operation of the external circuit to the predetermined address space is generated. A data processing device comprising a bus control means.
イトサイクルを起動すべきアドレス空間を指定するため
のアドレス空間指定手段と、バスマスタ手段によるアク
セスアドレスが上記アドレス空間指定手段で指定された
アドレス空間に含まれるか否かを判定する判定手段と、
判定手段による検出結果に基づいて上記第1のコマンド
ライトサイクルを生成するタイミング制御手段と、を含
んで成るものであることを特徴とする請求項1記載のデ
ータ処理装置。2. The bus control means is an address space designating means for designating an address space in which the first command write cycle is to be activated, and an access address by the bus master means is an address designated by the address space designating means. Determination means for determining whether or not it is included in the space,
2. The data processing apparatus according to claim 1, further comprising: timing control means for generating the first command write cycle based on the detection result of the determination means.
イトサイクルによってライトすべきコマンドを書換え可
能に保持するコマンド記憶手段を含んで成るものである
ことを特徴とする請求項2記載のデータ処理装置。3. The data processing according to claim 2, wherein the bus control means includes a command storage means for rewritably holding a command to be written in the first command write cycle. apparatus.
み、上記バス制御手段は、制御レジスタ手段と、CPU
が該制御レジスタ手段の第1のビットを操作することに
よって所定のアドレス空間に所定のコマンドデータをラ
イトする第2のコマンドライトサイクルを生成するタイ
ミング制御手段とを更に備えて成るものであることを特
徴とする請求項1乃至3の何れか1項記載のデータ処理
装置。4. A bus master means includes a CPU, and the bus control means includes a control register means and a CPU.
Further includes timing control means for generating a second command write cycle for writing predetermined command data in a predetermined address space by manipulating the first bit of the control register means. The data processing device according to claim 1, wherein the data processing device is a data processing device.
イトサイクルで出力すべきアドレスを保持するアドレス
記憶手段を更に備えて成るものであることを特徴とする
請求項4記載のデータ処理装置。5. The data processing apparatus according to claim 4, wherein the bus control means further comprises address storage means for holding an address to be output in the second command write cycle.
レジスタ手段の第2のビットを操作することにより、所
定の外部端子から入力される信号の変化を待つポーリン
グ制御を行うための外部リードサイクルを生成するもの
であることを特徴とする請求項4又は5記載のデータ処
理装置。6. The external read cycle for the bus control means to perform polling control for waiting for a change in a signal input from a predetermined external terminal by the CPU operating the second bit of the control register means. 6. The data processing device according to claim 4, wherein the data processing device is for generating.
ドライトサイクルであるか否かを示す識別信号を出力す
るためのエミュレーションインタフェースを更に備えて
成るものであることを特徴とする請求項1乃至6の何れ
か1項記載のデータ処理装置。7. The emulation interface according to claim 1, further comprising an emulation interface for outputting an identification signal indicating whether or not the bus cycle to the outside is the command write cycle. The data processing device according to item 1.
き上記バス制御手段による上記第1のコマンドサイクル
の生成を禁止させる制御信号を出力するものであること
を特徴とする請求項7記載のデータ処理装置。8. The data according to claim 7, wherein the CPU outputs a control signal for prohibiting generation of the first command cycle by the bus control means on the basis of a predetermined external interrupt. Processing equipment.
モリアクセスコントローラを更に備え、1個の半導体基
板にシングルチップマイクロコンピュータとして形成さ
れて成るものであることを特徴とする請求項1乃至8の
何れか1項記載のデータ処理装置。9. A direct memory access controller as the bus master means, further comprising a single-chip microcomputer formed on one semiconductor substrate, as claimed in any one of claims 1 to 8. The described data processing device.
のデータ処理装置に直結された外部回路としてのフラッ
シュメモリと、を備えて成るものであることを特徴とす
るデータ処理システム。10. A data processing system comprising the data processing device according to claim 9 and a flash memory as an external circuit directly connected to the data processing device.
のデータ処理装置に含まれるエミュレーションインタフ
ェースに結合されるエミュレータとを備え、上記エミュ
レータは、トレースメモリとブレーク制御回路を有し、
トレースメモリは上記データ処理装置のバス情報と共に
上記識別信号を入力して蓄積し、ブレーク制御回路は上
記データ処理装置による制御状態が予じめ設定された状
態に到達したときに上記割込み信号としてブレーク信号
を該データ処理装置に出力するものであることを特徴と
するデータ処理システム。11. A data processing apparatus according to claim 8, and an emulator coupled to an emulation interface included in the data processing apparatus, wherein the emulator has a trace memory and a break control circuit.
The trace memory inputs and accumulates the identification signal together with the bus information of the data processing device, and the break control circuit breaks as the interrupt signal when the control state by the data processing device reaches a preset state. A data processing system which outputs a signal to the data processing device.
を内蔵し、コマンドによって動作が指示されるフラッシ
ュメモリと接続可能なデータ処理装置であって、 上記バスマスタ手段による外部の所定アドレス空間に対
するアクセスの指示に応答して、当該アクセスの指示に
対応する外部バスアクセスサイクルの生成に先立って上
記所定アドレス空間に対して上記フラッシュメモリの動
作を指示するためのコマンドをライトするコマンドライ
トサイクルを生成するバス制御手段と、上記コマンドラ
イトによって指示されたフラッシュメモリの内部動作状
態を示す信号の外部入力端子とを含んで、1個の半導体
基板に形成されて成るものであることを特徴とするデー
タ処理装置。12. A data processing device having a built-in bus master unit capable of using an external bus and connectable to a flash memory whose operation is instructed by a command, wherein the bus master unit gives an instruction to access an external predetermined address space. In response, bus control means for generating a command write cycle for writing a command for instructing the operation of the flash memory to the predetermined address space prior to generation of an external bus access cycle corresponding to the access instruction. And a data input device for externally inputting a signal indicating an internal operation state of the flash memory instructed by the command write, the data processing device being formed on one semiconductor substrate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10597294A JP3589699B2 (en) | 1994-04-20 | 1994-04-20 | Data processing device and data processing system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10597294A JP3589699B2 (en) | 1994-04-20 | 1994-04-20 | Data processing device and data processing system using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07295922A true JPH07295922A (en) | 1995-11-10 |
JP3589699B2 JP3589699B2 (en) | 2004-11-17 |
Family
ID=14421696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10597294A Expired - Fee Related JP3589699B2 (en) | 1994-04-20 | 1994-04-20 | Data processing device and data processing system using the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3589699B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887441A (en) * | 1994-09-19 | 1996-04-02 | Fujitsu Ltd | Flash memory access method |
JP2007172129A (en) * | 2005-12-20 | 2007-07-05 | Sony Corp | Nonvolatile memory access control device and nonvolatile memory control system |
JP2008520045A (en) * | 2004-11-11 | 2008-06-12 | エヌヴィディア コーポレイション | Memory controller adaptive 1T / 2T timing control |
JP2012071612A (en) * | 2011-11-25 | 2012-04-12 | Seiko Epson Corp | Output system, output device, control method for the output device and information recording medium |
JP2019057349A (en) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | Semiconductor memory device |
CN111796771A (en) * | 2020-06-30 | 2020-10-20 | 深圳大普微电子科技有限公司 | Flash memory controller, solid state disk and controller thereof, and flash memory command management method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4116829B1 (en) * | 2021-07-09 | 2024-09-11 | NXP USA, Inc. | Systems and methods for managing variable size load units |
-
1994
- 1994-04-20 JP JP10597294A patent/JP3589699B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887441A (en) * | 1994-09-19 | 1996-04-02 | Fujitsu Ltd | Flash memory access method |
JP2008520045A (en) * | 2004-11-11 | 2008-06-12 | エヌヴィディア コーポレイション | Memory controller adaptive 1T / 2T timing control |
JP2007172129A (en) * | 2005-12-20 | 2007-07-05 | Sony Corp | Nonvolatile memory access control device and nonvolatile memory control system |
JP2012071612A (en) * | 2011-11-25 | 2012-04-12 | Seiko Epson Corp | Output system, output device, control method for the output device and information recording medium |
JP2019057349A (en) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | Semiconductor memory device |
CN111796771A (en) * | 2020-06-30 | 2020-10-20 | 深圳大普微电子科技有限公司 | Flash memory controller, solid state disk and controller thereof, and flash memory command management method |
CN111796771B (en) * | 2020-06-30 | 2024-01-26 | 深圳大普微电子科技有限公司 | Flash memory controller, solid state disk, controller thereof and flash memory command management method |
Also Published As
Publication number | Publication date |
---|---|
JP3589699B2 (en) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5276833A (en) | Data cache management system with test mode using index registers and CAS disable and posted write disable | |
US5519847A (en) | Method of pipelining sequential writes in a flash memory | |
US8327161B2 (en) | Command decoder for microcontroller based flash memory digital controller system | |
US7234052B2 (en) | System boot using NAND flash memory and method thereof | |
US5787493A (en) | Control method and apparatus for direct execution of a program on an external apparatus using a randomly accessible and rewritable memory | |
US6574590B1 (en) | Microprocessor development systems | |
US5826093A (en) | Dual function disk drive integrated circuit for master mode and slave mode operations | |
US5796981A (en) | Method and apparatus for providing register compatibility between non-identical integrated circuits | |
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US6131139A (en) | Apparatus and method of simultaneously reading and writing data in a semiconductor device having a plurality of flash memories | |
EP0569969B1 (en) | Microcomputer having instruction memory storing instructions for reading out internal conditions | |
US8140738B2 (en) | Flash memory interface device | |
US7240146B2 (en) | Random access interface in a serial memory device | |
JP2000251035A (en) | Memory card | |
CN115080478B (en) | Embedded platform display system | |
US5210847A (en) | Noncacheable address random access memory | |
JPH07295922A (en) | Data processing device and data processing system using the same | |
JP4455593B2 (en) | Data processor | |
US5537664A (en) | Methods and apparatus for generating I/O recovery delays in a computer system | |
US5163135A (en) | Computer system and method for setting recovery time upon execution of an I/O command | |
CN1187687C (en) | Method and device for reducing computer initial setting element | |
JP3323341B2 (en) | Emulation processor and emulator equipped with it | |
JP2865476B2 (en) | Data input / output method in IC memory card, IC memory card and IC memory card system | |
JP3155840B2 (en) | Microprocessor | |
WO1995022110A1 (en) | Write-read data operation for microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040716 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040818 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090827 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |