JP3563223B2 - レジスタ回路 - Google Patents

レジスタ回路 Download PDF

Info

Publication number
JP3563223B2
JP3563223B2 JP04060897A JP4060897A JP3563223B2 JP 3563223 B2 JP3563223 B2 JP 3563223B2 JP 04060897 A JP04060897 A JP 04060897A JP 4060897 A JP4060897 A JP 4060897A JP 3563223 B2 JP3563223 B2 JP 3563223B2
Authority
JP
Japan
Prior art keywords
data
register
write
cpu
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP04060897A
Other languages
English (en)
Other versions
JPH10240496A (ja
Inventor
木 浩 鈴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP04060897A priority Critical patent/JP3563223B2/ja
Publication of JPH10240496A publication Critical patent/JPH10240496A/ja
Application granted granted Critical
Publication of JP3563223B2 publication Critical patent/JP3563223B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Executing Machine-Instructions (AREA)
  • Information Transfer Systems (AREA)
  • Logic Circuits (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路に関するものである。
【0002】
【従来の技術】
例えば、ハードディスクコントローラ等の周辺デバイスの内部には、その動作を制御するための様々な内部レジスタが設けられており、CPUから周辺デバイスの内部レジスタにデータを設定する場合には、周辺デバイスのシステムクロックに同期させて、CPUのデータを周辺デバイスの内部レジスタに書き込んだり、あるいは、CPUのライト信号によって、CPUのデータを周辺デバイスの内部レジスタに直接書き込んでいる。
【0003】
ここで、図5に、従来のレジスタ回路の一例の構成回路図を示す。
このレジスタ回路78は、周辺デバイスのシステムクロックに同期させて、CPUからのデータを周辺デバイスの内部レジスタに書き込む場合のレジスタ回路の一例を示したもので、図示例においては、フリップフロップ80,82、アドレスデコーダ26、フリップフロップ84,86、ゲート88、ANDゲート90、セレクタ92および内部レジスタ12を有する。
【0004】
一般的に、CPUから周辺デバイスの内部レジスタ12にデータを書き込む場合、CPUからは、内部レジスタ12にデータを書き込むためのストローブ信号となるライト信号CPU_WRITEが立ち下がった後、データを書き込む内部レジスタ12を指定するためのアドレスCPU_ADDRESSや、内部レジスタ12に書き込むデータCPU_DATA等が出力され、ライト信号CPU_WRITEが立ち上がる時点で、これらの値は有効(Valid)になる。
【0005】
図6のタイミングチャートに示されるように、CPUのライト信号CPU_WRITEの立ち上がりで、CPUから出力された有効なアドレスCPU_ADDRESSとデータCPU_DATAが、それぞれのフリップフロップ80,82に保持され、それぞれラッチアドレスLATCH_ADDRESSとラッチデータLATCH_DATAとして出力された後、ラッチアドレスLATCH_ADDRESSが、アドレスデコーダ26によってデコードされる。
【0006】
また、CPUのライト信号CPU_WRITEが、周辺デバイスのシステムクロックSYSTEM_CLOCKによって、フリップフロップ84,86に順次シフトされる。その後、ゲート88によって、ライト信号CPU_WRITEの立ち上がりが検出され、フリップフロップ82に保持されたラッチデータLATCH_DATAを内部レジスタ12に書き込むための、1クロックサイクルのハイレベルのタイミング信号が発生される。
【0007】
ここで、ラッチアドレスLATCH_ADDRESSが、内部レジスタ12を指定するものであれば、アドレスデコーダ26の出力はハイレベルとなり、上述するタイミング信号が、ANDゲート90を経て、同期ライト信号SYNC_WRITEとしてセレクタ92の選択入力端子に入力される。これにより、セレクタ92から、ラッチデータLATCH_DATAが1クロックサイクルの間出力され、システムクロックSYSTEM_CLOCKの立ち上がりで内部レジスタ12に書き込まれる。
【0008】
これに対し、ラッチアドレスLATCH_ADDRESSが、内部レジスタ12を指定するものでなければ、アドレスデコーダ26の出力はローレベルとなり、ANDゲート90によって、同期ライト信号SYNC_WRITEがローレベルに保持される。これにより、セレクタ92からは、内部レジスタ12に保持されているデータが出力され、システムクロックSYSTEM_CLOCKの立ち上がりで再び内部レジスタ12に取り込まれる。
【0009】
続いて、図7に、従来のレジスタ回路の別の例の構成回路図を示す。
このレジスタ回路94は、CPUのライト信号によって、CPUのデータを周辺デバイスの内部レジスタに直接書き込む場合のレジスタ回路の一例を示したもので、図示例においては、アドレスデコーダ26、ゲート96および内部レジスタ12を有する。
【0010】
図8のタイミングチャートに示されるように、CPUのアドレスCPU_ADDRESSが、アドレスデコーダ26によってデコードされ、アドレスCPU_ADDRESSが、内部レジスタ12を指定するものであれば、ライト信号CPU_WRITEが、ゲート96を経てレジスタライト信号REG_WRITEとして出力され、CPUのデータCPU_DATAが、レジスタライト信号REG_WRITEの立ち上がりで内部レジスタ12に書き込まれる。
【0011】
これに対し、アドレスCPU_ADDRESSが、内部レジスタ12を指定するものでなければ、アドレスデコーダ26の出力はローレベルとなり、ゲート96によって、レジスタライト信号REG_WRITEがハイレベルに保持される。すなわち、レジスタライト信号REG_WRITEが変化しないため、CPUのデータCPU_DATAは、内部レジスタ12には書き込まれず、内部レジスタ12のデータは保持される。
【0012】
ところで、CPUによって、周辺デバイスの内部レジスタにデータが設定された後、周辺デバイスの内部では、その内部レジスタに設定されたデータが参照されるだけであれば、すなわち、周辺デバイスの内部で、システムクロックに同期して、内部レジスタのデータを変更して使用する必要がないのであれば、上述するいずれのレジスタ回路78,94の構成であってもよいが、レジスタ回路94の方が、回路規模が小さいという利点がある。
【0013】
これに対し、周辺デバイスの内部で、CPUによって設定された内部レジスタのデータを変更する必要がある場合、レジスタ回路94の構成では、周辺デバイスのシステムクロックに同期して、内部レジスタ12のデータを変更することができないため、回路規模は増大するが、レジスタ回路78の構成のように、周辺デバイスのシステムクロックに同期して、内部レジスタ12にデータを書き込むような回路構成にする必要がある。
【0014】
例えば、図9に、従来のレジスタ回路のさらに別の例の構成回路図を示す。
図示例のレジスタ回路98は、CPUによって内部レジスタに書き込まれたデータを初期値として、周辺デバイスのシステムクロックに同期して、CPUによって設定された内部レジスタのデータをカウントアップする場合のレジスタ回路の一例を示したもので、図5に示されるレジスタ回路78において、さらに、インクリメンタ48およびセレクタ50を有する。
【0015】
レジスタ回路98においては、CPUから内部レジスタ12にデータが書き込まれた後、インクリメンタ48によって、内部レジスタ12の値がインクリメント(+1)される。ここで、カウントアップ信号COUNT_UPがハイレベルであれば、インクリメントされた値が、セレクタ50,92を経て、システムクロックSYSTEM_CLOCKの立ち上がりで内部レジスタ12に書き込まれ、内部レジスタ12のデータがカウントアップされる。
【0016】
これに対し、カウントアップ信号COUNT_UPがローレベルのときには、内部レジスタ12に保持されているデータが、セレクタ50,92を経て、再度、システムクロックSYSTEM_CLOCKの立ち上がりで内部レジスタ12に取り込まれる。すなわち、内部レジスタ12のデータは保持される。
なお、周辺デバイスの内部で、内部レジスタ12のデータを変更する必要があるのは、上述するカウントアップに限定されるものではない。
【0017】
ところで、例えばノートブック型のパーソナルコンピュータ等のように、電池駆動の電子機器においては、消費電力を削減して駆動時間を延長するために、例えば電源は投入されているが、所定の一定時間使用されていない等のように、特定の条件を満足したときには、例えばハードディスクのコントローラLSIのシステムクロックを停止させたいというように、周辺デバイスのシステムクロックを停止させたいという要求が多くなっている。
【0018】
しかしながら、レジスタ回路98の構成では、周辺デバイスのシステムクロックSYSTEM_CLOCKに同期して、内部レジスタ12のデータを変更することはできるが、システムクロックSYSTEM_CLOCKを停止すると、CPUからのデータを周辺デバイスの内部レジスタ12に書き込むことができないため、単純には、システムクロックSYSTEM_CLOCKを停止することができず、消費電力を削減するのが困難であるという問題点があった。
【0019】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点をかえりみて、回路規模を増大させることなく、システムクロックを停止して消費電力を削減することができるレジスタ回路を提供することにある。
【0020】
【課題を解決するための手段】
上記目的を達成するために、本発明は、システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路であって、CPUからの書込信号を前記システムクロックに同期させることによって、前記CPUからのデータを前記内部レジスタに書き込むためのタイミング信号を発生するタイミング発生回路と、前記タイミング信号に応じて、前記CPUからのデータまたは前記周辺デバイスの内部で発生されたデータのいずれか一方を書込データとして出力する第1のセレクタ回路と、前記タイミング信号に応じて、前記CPUからの書込信号または前記システムクロックのいずれか一方を書込クロックとして出力する第2のセレクタ回路と、前記CPUからの書込信号と前記システムクロックとを切り替えるときに、前記書込クロックにグリッチが発生するのを防止するグリッチ防止回路とを有し、
前記書込クロックによって、前記内部レジスタに前記書込データを書き込むことを特徴とするレジスタ回路を提供するものである。
【0021】
ここで、上記レジスタ回路であって、
さらに、前記システムクロックが停止されたときに、前記第1のセレクタ回路からは、前記CPUからのデータが前記書込データとして出力され、かつ、前記第2のセレクタ回路からは、前記CPUからの書込信号が書込クロックとして出力されるように制御するクロック停止回路を有するのが好ましい。
【0022】
また、本発明は、システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路であって、
CPUからのデータを保持するデータレジスタと、このデータレジスタに前記CPUからのデータが保持されたことを示す書込フラグを保持するフラグレジスタと、前記書込フラグを前記システムクロックに同期させることによって、前記データレジスタに保持された前記CPUからのデータを前記内部レジスタに書き込むためのタイミング信号を発生し、かつ、前記フラグレジスタに保持された書込フラグをクリアするためのリセット信号を発生するタイミング発生回路と、前記タイミング信号に応じて、前記データレジスタに保持されたデータまたは前記周辺デバイスの内部で発生されたデータのいずれか一方を書込データとして出力するセレクタ回路とを有し、
前記タイミング信号に応じて、前記システムクロックによって、前記内部レジスタに前記書込データを書き込んだ後、前記リセット信号によって、前記フラグレジスタに保持された書込フラグをクリアすることを特徴とするレジスタ回路を提供するものである。
【0023】
【発明の実施の形態】
以下に、添付の図面に示す好適実施例に基づいて、本発明のレジスタ回路を詳細に説明する。
【0024】
図1は、本発明のレジスタ回路の一実施例の構成回路図である。
このレジスタ回路10は、システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路の一例を示したもので、図示例においては、内部レジスタ12の他、アドレスデコード回路14、タイミング発生回路16、セレクタ回路18、グリッチ防止回路20、クロック停止回路22およびカウントアップ回路24を有する。
【0025】
ここで、アドレスデコード回路14は、CPUからのアドレスCPU_ADDRESSおよびライト信号CPU_WRITEから、内部レジスタ12にCPUからのデータCPU_DATAを書き込むための書込信号となるレジスタライト信号REG_WRITEを発生するもので、CPUからのアドレスCPU_ADDRESSをデコードするアドレスデコーダ26、および、ゲート28を有する。
【0026】
アドレスデコーダ26には、CPUからのアドレスCPU_ADDRESSが入力され、その出力は、ゲート28の一方の入力端子に入力されている。また、ゲート28の他方の反転入力端子には、CPUからのライト信号CPU_WRITEが入力され、その出力は、CPUからのデータCPU_DATAを内部レジスタ12に書き込むための書込信号となるレジスタライト信号REG_WRITEとされている。
【0027】
続いて、タイミング発生回路16は、CPUからの書込信号であるライト信号CPU_WRITEをシステムクロックSYSTEM_CLOCKに同期させることによって、CPUからのデータCPU_DATAを内部レジスタ12に書き込むためのタイミング信号CPU_WR_D1,CPU_WR_D2を発生するもので、図示例においては、直列接続された2つのフリップフロップ30,32を有する。
【0028】
フリップフロップ30のデータ入力端子には、CPUからのライト信号CPU_WRITEが入力され、その出力は、タイミング信号CPU_WR_D1とされている。また、フリップフロップ32のデータ入力端子には、タイミング信号CPU_WR_D1が入力され、その出力は、タイミング信号CPU_WR_D2とされている。また、フリップフロップ30,32のクロック入力端子には、ともにシステムクロックSYSTEM_CLOCKが入力されている。
【0029】
続いて、セレクタ回路18は、図示例においては、タイミング信号REG_CK_SELに応じて、内部レジスタ12への書込データとなるレジスタデータREG_DATA、および、内部レジスタ12の書込クロックとなるレジスタクロックREG_CLOCKを切り替えるもので、第1および第2のセレクタとなる2つのセレクタ34,36を有する。
【0030】
セレクタ34は、CPUからのデータCPU_DATA、または、カウントアップ回路24から出力されるデータのいずれか一方を書込データであるレジスタデータREG_DATAとして出力するもので、その入力端子1,0には、それぞれカウントアップ回路24の出力、および、CPUからのデータCPU_DATAが入力され、その出力であるレジスタデータREG_DATAは、内部レジスタ12のデータ入力端子に入力されている。
【0031】
セレクタ36は、CPUからの書込信号であるレジスタライト信号REG_WRITE、または、システムクロックSYSTEM_CLOCKのいずれか一方を書込クロックであるレジスタクロックREG_CLOCKとして出力するもので、その入力端子1,0には、それぞれシステムクロックSYSTEM_CLOCK、および、クロック停止回路22の出力が入力され、その出力であるレジスタクロックREG_CLOCKは、内部レジスタ12のクロック入力端子に入力されている。
【0032】
続いて、グリッチ防止回路20は、CPUからの書込信号であるレジスタライト信号REG_WRITEとシステムクロックSYSTEM_CLOCKとを切り替えるときに、書込クロックとなるレジスタクロックREG_CLOCKにグリッチが発生するのを防止するもので、図示例においては、ゲート38が用いられている。ゲート38には、レジスタライト信号REG_WRITEおよびタイミング信号CPU_WR_D2が入力されている。
【0033】
続いて、クロック停止回路22は、システムクロックSYSTEM_CLOCKが停止されたときに、セレクタ回路18のセレクタ34からは、CPUからのデータCPU_DATAが書込データとして出力され、かつ、セレクタ36からは、CPUからの書込信号であるレジスタライト信号REG_WRITEが書込クロックとして出力されるように制御するもので、図示例においては、フリップフロップ40、セレクタ42、および、ゲート46を有する。
【0034】
フリップフロップ40のクロック入力端子には、システムクロックSYSTEM_CLOCKが入力され、その出力は、クロックストップ信号CLOCK_STOPとされている。なお、図示を省略しているが、フリップフロップ40のデータ入力端子には、システムクロックSYSTEM_CLOCKを停止するための条件を満足したときに、システムクロックSYSTEM_CLOCKを停止するための制御信号が与えられる。
【0035】
また、セレクタ42の入力端子1,0には、それぞれレジスタライト信号REG_WRITE、および、グリッチ防止回路20のゲート38出力が入力され、その選択入力端子には、クロックストップ信号CLOCK_STOPが入力され、その出力は、セレクタ回路18のセレクタ36の入力端子0に入力されている。また、ゲート46には、クロックストップ信号CLOCK_STOPおよびタイミング信号CPU_WR_D1が入力され、その出力は、セレクタ回路18のセレクタ34,36の選択入力端子に入力されている。
【0036】
続いて、カウントアップ回路24は、カウントアップ信号COUNT_UPに応じて、システムクロックSYSTEM_CLOCKに同期して、内部レジスタ12のデータをカウントアップするもので、図示例においては、インクリメンタ48およびセレクタ50を有する。インクリメンタ48には、内部レジスタ12の出力が入力されている。セレクタ50の入力端子1,0には、それぞれインクリメンタ48の出力および内部レジスタ12の出力が入力され、その出力は、セレクタ回路18のセレクタ34の入力端子1に入力されている。
【0037】
レジスタ回路10において、システムクロックSYSTEM_CLOCKが動作しているときに、すなわち、図示例においては、クロックストップ信号CLOCK_STOPがローレベルのときに、CPUから内部レジスタ12にデータを書き込もうとした場合、図2(a)のタイミングチャートに示されるように、まず、CPUからのアドレスCPU_ADDRESSが、アドレスデコード回路14のアドレスデコーダ26によってデコードされる。
【0038】
ここで、CPUのアドレスCPU_ADDRESSが、内部レジスタ12を指定するものであれば、アドレスデコーダ26の出力はハイレベルとなり、CPUからのライト信号CPU_WRITEが、ゲート28を経て、レジスタライト信号REG_WRITEとして出力される。一方、CPUのアドレスCPU_ADDRESSが、内部レジスタ12を指定するものでなければ、アドレスデコーダ26の出力はローレベルとなり、レジスタライト信号REG_WRITEはハイレベルの状態に保持される。
【0039】
また、レジスタ回路10においては、CPUからのライト信号CPU_WRITEが、タイミング発生回路16の2つのフリップフロップ30,32によって、システムクロックSYSTEM_CLOCKに同期して順次シフトされ、フリップフロップ30,32からは、それぞれCPUからのデータCPU_DATAを内部レジスタ12に書き込むためのタイミング信号CPU_WR_D1,CPU_WR_D2が出力される。
【0040】
ここでは、クロックストップ信号CLOCK_STOPがローレベルであるため、タイミング信号CPU_WR_D1が、ゲート46を経て、セレクタ回路18の2つのセレクタ34,36の選択入力端子に入力される。
【0041】
これにより、タイミング信号CPU_WR_D1がローレベルの間、セレクタ34からは、CPUからのデータCPU_DATAが、書込データとなるレジスタデータREG_DATAとして出力され、セレクタ36からは、グリッチ防止回路20のゲート38、クロック停止回路22のセレクタ42を経て、書込クロックとなるレジスタライト信号REG_WRITEが出力され、レジスタデータREG_DATAは、レジスタクロックREG_CLOCKの立ち上がりで内部レジスタ12に書き込まれる。
【0042】
なお、グリッチ防止回路20において、ゲート38でレジスタライト信号REG_WRITEとタイミング信号CPU_WR_D2の論理和を取っていることにより、タイミング信号CPU_WR_D1によって、レジスタライト信号REG_WRITEとシステムクロックSYSTEM_CLOCKを切り替えるときの両者のレベルがいずれもハイレベルとなるため、レジスタクロックREG_CLOCKにグリッチが発生するのを防止することができ、回路の誤動作を防止することができる。
【0043】
続いて、CPUから内部レジスタ12にデータが書き込まれ、CPUからのライト信号CPU_WRITEがハイレベルになると、システムクロックSYSTEM_CLOCKに同期して、タイミング信号CPU_WR_D1,CPU_WR_D2はいずれもハイレベルとなり、セレクタ回路18のセレクタ34からは、レジスタデータREG_DATAとして、カウントアップ回路24の出力が出力され、セレクタ36からは、レジスタクロックREG_CLOCKとして、システムクロックSYSTEM_CLOCKが出力される。
【0044】
従来技術の説明において既に述べたように、カウントアップ回路24においては、インクリメンタ48によって、内部レジスタ12のデータがインクリメント(+1)される。ここで、カウントアップ信号COUNT_UPがハイレベルであれば、インクリメントされたデータが、セレクタ50,34を経て、システムクロックSYSTEM_CLOCKの立ち上がりで内部レジスタ12に再度書き込まれ、内部レジスタ12のデータがカウントアップされる。
【0045】
ここで、システムクロックSYSTEM_CLOCKを停止する条件を満足したときに、クロック停止回路22のフリップフロップ40のデータ入力端子に、システムクロックSYSTEM_CLOCKを停止するための制御信号が入力されると、図2(b)のタイミングチャートに示されるように、フリップフロップ40からは、システムクロックSYSTEM_CLOCKに同期して、クロックストップ信号CLOCK_STOPが出力される。
【0046】
システムクロックSYSTEM_CLOCKが停止された後、すなわち、図示例においては、クロックストップ信号CLOCK_STOPがハイレベルとされた後、CPUから内部レジスタ12にデータを書き込もうとした場合、クロックストップ信号CLOCK_STOPがハイレベルであるため、ゲート46によって、セレクタ回路18の2つのセレクタ34,36の選択入力端子はローレベルとされる。
【0047】
これにより、セレクタ34からは、CPUからのデータCPU_DATAが、書込データとなるレジスタデータREG_DATAとして出力され、セレクタ36からは、クロック停止回路22のセレクタ42を経て、レジスタライト信号REG_WRITEが、書込クロックとなるレジスタクロックREG_CLOCKとして出力される。このレジスタデータREG_DATAは、レジスタクロックREG_CLOCKの立ち上がりで内部レジスタ12に書き込まれる。
【0048】
次いで、図3に、本発明のレジスタ回路の別の実施例の構成回路図を示す。
レジスタ回路52は、システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路の別の例を示したもので、図示例においては、内部レジスタ12の他、アドレスデコード回路14、データレジスタ54、フラグレジスタ58、タイミング発生回路62、セレクタ回路74、および、カウントアップ回路24を有する。
【0049】
ここで、データレジスタ54は、CPUからのデータCPU_DATAを一時的に保持するためのもので、図示例においては、フリップフロップ56が用いられている。フリップフロップ56のデータ入力端子には、CPUからのデータCPU_DATAが入力され、そのクロック入力端子には、アドレスデコード回路14によって発生される、CPUからの書込信号となるレジスタライト信号REG_WRITEが入力されている。
【0050】
続いて、フラグレジスタ58は、CPUからのライト信号CPU_WRITEによって、データレジスタ54にCPUからのデータCPU_DATAが保持されたことを示す書込フラグを保持するもので、図示例においては、フリップフロップ60が用いられている。フリップフロップ60のデータ入力端子は電源に接続され、そのクロック入力端子には、レジスタライト信号REG_WRITEが入力され、その出力は、ライトフラグ信号WR_FLAGとされている。
【0051】
続いて、タイミング発生回路62は、書込フラグとなるライトフラグ信号WR_FLAGをシステムクロックSYSTEM_CLOCKに同期させることによって、データレジスタ54に保持されたCPUからのデータCPU_DATAを内部レジスタ12に書き込むためのタイミング信号である同期ライト信号SYNC_WRITEを発生し、かつ、フラグレジスタ58のフリップフロップ60に保持されたライトフラグ信号WR_FLAGをクリアするためのリセット信号となるフラグリセット信号FLAG_RSTを発生するものである。
【0052】
図示例のタイミング発生回路62は、フリップフロップ64,66、ゲート68、フリップフロップ70、および、インバータ72を有する。フリップフロップ64のデータ入力端子には、ライトフラグ信号WR_FLAGが入力され、その出力は、フリップフロップ66のデータ入力端子に入力されている。ゲート68には、フリップフロップ64,66の出力が入力され、その出力は、同期ライト信号SYNC_WRITEとされている。
【0053】
また、フリップフロップ70のデータ入力端子には、同期ライト信号SYNC_WRITEが入力され、その出力は、インバータ72に入力されている。インバータ72の出力は、フラグリセット信号FLAG_RSTとされ、フラグレジスタ58のフリップフロップ60のリセット入力端子に入力されている。また、フリップフロップ64,66,70のクロック入力端子には、ともにシステムクロックSYSTEM_CLOCKが入力されている。
【0054】
続いて、セレクタ回路74は、タイミング信号である同期ライト信号SYNC_WRITEに応じて、データレジスタ54のフリップフロップ56に保持されたCPUからのデータCPU_DATA、または、カウントアップ回路24から出力されるデータのいずれか一方を書込データとして出力するもので、図示例においては、セレクタ76が用いられている。セレクタ76の入力端子1,0には、それぞれデータレジスタ54のフリップフロップ56に保持されたCPUからのデータCPU_DATA、および、カウントアップ回路24の出力が入力され、その選択入力端子には、同期ライト信号SYNC_WRITEが入力されている。
【0055】
また、内部レジスタ12のデータ入力端子には、セレクタ回路74のセレクタ76の出力が入力され、そのクロック入力端子には、システムクロックSYSTEM_CLOCKが入力されている。なお、アドレスデコード回路14およびカウントアップ回路24は、図1に示される本発明のレジスタ回路10において使用されているものと全く同じものであるから、同一の構成要素には同一符号を付し、ここでは、その詳細な説明を省略する。
【0056】
レジスタ回路52において、例えばシステムクロックSYSTEM_CLOCKが停止された後、CPUから内部レジスタ12にデータを書き込もうとした場合、図4のタイミングチャートに示されるように、CPUのアドレスCPU_ADDRESSが、内部レジスタ12を指定するものであれば、CPUからのライト信号CPU_WRITEが、ゲート28を経て、レジスタライト信号REG_WRITEとして出力される。
【0057】
これにより、CPUからのデータCPU_DATAが、レジスタライト信号REG_WRITEの立ち上がりで、データレジスタ54のフリップフロップ56に保持されるのと同時に、フラグレジスタ58のフリップフロップ60が、レジスタライト信号REG_WRITEの立ち上がりで、電源に接続されたデータ入力端子のハイレベルを保持することにより、書込フラグとなるライトフラグ信号WR_FLAGがハイレベルとなる。
【0058】
その後、システムクロックSYSTEM_CLOCKが動作を開始すると、フラグレジスタ58のフリップフロップ60のライトフラグ信号WR_FLAGが、タイミング発生回路62の2つのフリップフロップ64,66によって、システムクロックSYSTEM_CLOCKに同期して順次シフトされ、ゲート68によって、ライトフラグ信号WR_FLAGがハイレベルにセットされていることが検出され、同期ライト信号SYNC_WRITEが出力される。
【0059】
これにより、同期ライト信号SYNC_WRITEがハイレベルの間、セレクタ回路74のセレクタ76からは、書込データとして、データレジスタ54のフリップフロップ56に保持されているCPUからのデータCPU_DATAが出力され、システムクロックSYSTEM_CLOCKの立ち上がりで、内部レジスタ12に書き込まれるのと同時に、同期ライト信号SYNC_WRITEのハイレベルが、フリップフロップ70に保持される。
【0060】
続いて、フリップフロップ70に保持された同期ライト信号SYNC_WRITEのハイレベルは、インバータ72によって反転され、リセット信号となるフラグリセット信号FLAG_RSTとして、フラグレジスタ58のフリップフロップ60のリセット入力端子に入力される。フリップフロップ60は、このフラグリセット信号FLAG_RSTによってリセットされ、ライトフラグ信号WR_FLAGがローレベルとなる。
【0061】
その後、図示例のレジスタ回路52においては、カウントアップ回路24によって、カウントアップ信号COUNT_UPに応じて、内部レジスタ12のデータが適宜カウントアップされる。
なお、レジスタ回路52においては、システムクロックSYSTEM_CLOCKが動作中の場合であっても、同じように、CPUから内部レジスタ12へデータを書き込むことができるのは言うまでもないことである。
【0062】
このように、本発明のレジスタ回路においては、図1に示されるレジスタ回路10、および、図3に示されるレジスタ回路52のいずれの構成の場合であっても、システムクロックが動作中にはもちろん、システムクロックが停止されていたとしても、CPUから周辺デバイスの内部レジスタにデータを書き込むことができるし、かつ、内部レジスタのデータをシステムクロックに同期させて変更することもできる。
【0063】
また、本発明のレジスタ回路は、例えば図9に示される従来のレジスタ回路98と比較して、CPUからのアドレスやデータを保持するための数十個のフリップフロップが必要ないため、回路規模を削減することができるという利点もある。また、従来のレジスタ回路では、システムクロックを停止することはできなかったが、本発明のレジスタ回路においては、システムクロックを停止することができるため、消費電力を削減することができる。
【0064】
例えば、パーソナルコンピュータ等の補助記憶装置として使用されるハードディスクの標準インターフェースであるIDE(Intelligent Drive Electronics )インターフェースのコントローラLSIにおいては、CPUから、転送セクタ数、セクタ番号、シリンダ番号、ヘッド番号を所定のレジスタに設定した後、読み出しまたは書き込みのコマンドを所定のレジスタに書き込むことによって、データの読み出しまたは書き込みが行われる。
【0065】
また、コマンドの実行時には、1セクタのデータの読み出しまたは書き込みが終了する毎に、例えば転送セクタ数がデクリメント(−1)され、セクタ番号がインクリメント(+1)される。このように、IDEインターフェースのコントローラLSIにおいては、まず、CPUによって各レジスタに初期値が設定された後、コントローラLSIの内部で、CPUによって設定された各レジスタの値が変更されて使用される。
【0066】
ここで、IDEインターフェースのコントローラLSIにおいては、例えば消費電力を削減するために、コントローラLSIのシステムクロックを停止した場合であっても、CPUからコントローラLSIの各内部レジスタへのデータの書き込みは可能でなければならない。また、読み出しまたは書き込みのコマンドが所定のレジスタに書き込まれると、システムクロックが再起動され、コントローラLSIの動作が再開されなければならない。
【0067】
しかしながら、既に述べたように、図9に示される従来のレジスタ回路98の構成では、システムクロックを停止すると、CPUからのデータを内部レジスタ12に書き込むことができないため、単純にシステムクロックを停止することはできないが、本発明のレジスタ回路10,52の構成であれば、システムクロックを停止しても、内部レジスタ12にデータを書き込むことができるため、システムクロックを停止して消費電力を削減することができる。
【0068】
このように、本発明のレジスタ回路は、例えばCPUおよび周辺デバイスの両方からデータが書き込まれる内部レジスタを有する周辺デバイスにおいて、システムクロックを停止する必要のある場合に好適に用いることができる。
なお、上記実施例においては、周辺デバイスの内部で、内部レジスタの値が変更される場合の一例として、カウントアップ回路を例示しているが、これに限定されるものではない。
【0069】
以上、本発明のレジスタ回路について詳細に説明したが、本発明は上記実施例に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【0070】
【発明の効果】
以上詳細に説明したように、本発明のレジスタ回路においては、周辺デバイスのシステムクロックが動作しているときはもちろん、停止されているときでも、CPUから周辺デバイスの内部レジスタにデータを書き込むことができるし、周辺デバイスの内部で、システムクロックに同期して内部レジスタの値を変更することもできる。このため、本発明のレジスタ回路によれば、特定の条件を満足したときに、周辺デバイスのシステムクロックを停止して消費電力を削減することができる。また、本発明のレジスタ回路によれば、従来のレジスタ回路のように、CPUからのアドレスやデータを一旦保持しておく必要がないため、回路規模を大幅に削減することができるという効果もある。
【図面の簡単な説明】
【図1】本発明のレジスタ回路の一実施例の構成回路図である。
【図2】(a)および(b)は、ともに図1に示される本発明のレジスタ回路の動作を表す一実施例のタイミングチャートである。
【図3】本発明のレジスタ回路の別の実施例の構成回路図である。
【図4】図3に示される本発明のレジスタ回路の動作を表す一実施例のタイミングチャートである。
【図5】従来のレジスタ回路の一例の構成回路図である。
【図6】図5に示される従来のレジスタ回路の動作を表す一例のタイミングチャートである。
【図7】従来のレジスタ回路の別の例の構成回路図である。
【図8】図7に示される従来のレジスタ回路の動作を表す一例のタイミングチャートである。
【図9】従来のレジスタ回路のさらに別の例の構成回路図である。
【符号の説明】
10,52,78,94,98 レジスタ回路
12 内部レジスタ
14 アドレスデコード回路
16,62 タイミング発生回路
18,74 セレクタ回路
20 グリッチ防止回路
22 クロック停止回路
24 カウントアップ回路
26 アドレスデコーダ
30,32,40,56,60,64,66,70,80,82,84,86フリップフロップ
34,36,42,50,76,92 セレクタ
48 インクリメンタ
54 データレジスタ
58 フラグレジスタ
90 ANDゲート
72 インバータ
28,38,46,68,88,96 ゲート
CPU_ADDRESS CPUアドレス
CPU_DATA CPUデータ
CPU_WRITE ライト信号
SYSTEM_CLOCK システムクロック
CPU_WR_D1,CPU_WR_D2,REG_CK_SEL タイミング信号
CLOCK_STOP クロックストップ信号
REG_WRITE レジスタライト信号
REG_DATA レジスタデータ
REG_CLOCK レジスタクロック
COUNT_UP カウントアップ信号
SYNC_WRITE 同期ライト信号
WR_FLAG ライトフラグ信号
FLAG_RST フラグリセット信号
LATCH_ADDRESS ラッチアドレス
LATCH_DATA ラッチデータ

Claims (3)

  1. システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路であって、
    CPUからの書込信号を前記システムクロックに同期させることによって、前記CPUからのデータを前記内部レジスタに書き込むためのタイミング信号を発生するタイミング発生回路と、前記タイミング信号に応じて、前記CPUからのデータまたは前記周辺デバイスの内部で発生されたデータのいずれか一方を書込データとして出力する第1のセレクタ回路と、前記タイミング信号に応じて、前記CPUからの書込信号または前記システムクロックのいずれか一方を書込クロックとして出力する第2のセレクタ回路と、前記CPUからの書込信号と前記システムクロックとを切り替えるときに、前記書込クロックにグリッチが発生するのを防止するグリッチ防止回路とを有し、
    前記書込クロックによって、前記内部レジスタに前記書込データを書き込むことを特徴とするレジスタ回路。
  2. 請求項1に記載のレジスタ回路であって、
    さらに、前記システムクロックが停止されたときに、前記第1のセレクタ回路からは、前記CPUからのデータが前記書込データとして出力され、かつ、前記第2のセレクタ回路からは、前記CPUからの書込信号が書込クロックとして出力されるように制御するクロック停止回路を有することを特徴とするレジスタ回路。
  3. システムクロックに同期して動作する周辺デバイスの内部レジスタにデータを書き込むためのレジスタ回路であって、
    CPUからのデータを保持するデータレジスタと、このデータレジスタに前記CPUからのデータが保持されたことを示す書込フラグを保持するフラグレジスタと、前記書込フラグを前記システムクロックに同期させることによって、前記データレジスタに保持された前記CPUからのデータを前記内部レジスタに書き込むためのタイミング信号を発生し、かつ、前記フラグレジスタに保持された書込フラグをクリアするためのリセット信号を発生するタイミング発生回路と、前記タイミング信号に応じて、前記データレジスタに保持されたデータまたは前記周辺デバイスの内部で発生されたデータのいずれか一方を書込データとして出力するセレクタ回路とを有し、
    前記タイミング信号に応じて、前記システムクロックによって、前記内部レジスタに前記書込データを書き込んだ後、前記リセット信号によって、前記フラグレジスタに保持された書込フラグをクリアすることを特徴とするレジスタ回路。
JP04060897A 1997-02-25 1997-02-25 レジスタ回路 Expired - Fee Related JP3563223B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04060897A JP3563223B2 (ja) 1997-02-25 1997-02-25 レジスタ回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04060897A JP3563223B2 (ja) 1997-02-25 1997-02-25 レジスタ回路

Publications (2)

Publication Number Publication Date
JPH10240496A JPH10240496A (ja) 1998-09-11
JP3563223B2 true JP3563223B2 (ja) 2004-09-08

Family

ID=12585245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04060897A Expired - Fee Related JP3563223B2 (ja) 1997-02-25 1997-02-25 レジスタ回路

Country Status (1)

Country Link
JP (1) JP3563223B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4826403B2 (ja) * 2006-09-15 2011-11-30 ヤマハ株式会社 同期化回路
CN108052483B (zh) * 2017-12-29 2021-10-22 南京地平线机器人技术有限公司 用于数据统计的电路单元、电路模块和装置

Also Published As

Publication number Publication date
JPH10240496A (ja) 1998-09-11

Similar Documents

Publication Publication Date Title
JP2002323995A (ja) トレース回路
KR100238869B1 (ko) 버스트 모드 신호를 제공하기 위한 반도체 메모리 장치
JP2006139879A (ja) 半導体記憶装置
JP3563223B2 (ja) レジスタ回路
US7782682B2 (en) Semiconductor device with circuitry for efficient information exchange
JP3001475B2 (ja) 半導体記憶装置
EP0462622B1 (en) Microprocessor capable of ensuring flexible recovery time for I/O device
JP3701100B2 (ja) クロック生成回路及びクロック生成方法
JP2004087027A (ja) アクセス回路
JP2697772B2 (ja) 情報処理装置
JP3487116B2 (ja) 半導体装置、及びこれを具備する電子機器
JP4064516B2 (ja) メモリを内蔵する集積回路装置
JP2716284B2 (ja) 半導体集積回路
JP2626112B2 (ja) マイクロプロセッサ
JP2000305895A (ja) 非同期インターフェース
JPH04241622A (ja) マイクロプロセッサ
JPH0955723A (ja) クロック乗せ換え回路
JP3216200B2 (ja) データメモリ書き込み制御回路
JP2000010850A (ja) メモリアクセスシステム
JPH08335162A (ja) 入力インターフェース回路
JP2003085124A (ja) 外部からの読み出し信号に応答して内部レジスタのデータを読み出す回路を有する集積回路装置及びそれを有するシステム
JPH03214252A (ja) マイクロプロセッサ
JPH11126480A (ja) 半導体装置
JPH05242013A (ja) 入力バッファ
JPH03276346A (ja) メモリカード

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040518

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: 20040525

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040602

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: 20090611

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090611

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100611

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110611

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120611

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130611

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140611

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees