JPWO2010029682A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JPWO2010029682A1
JPWO2010029682A1 JP2010528600A JP2010528600A JPWO2010029682A1 JP WO2010029682 A1 JPWO2010029682 A1 JP WO2010029682A1 JP 2010528600 A JP2010528600 A JP 2010528600A JP 2010528600 A JP2010528600 A JP 2010528600A JP WO2010029682 A1 JPWO2010029682 A1 JP WO2010029682A1
Authority
JP
Japan
Prior art keywords
bus
cpu
bit
bus command
command
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.)
Withdrawn
Application number
JP2010528600A
Other languages
English (en)
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of JPWO2010029682A1 publication Critical patent/JPWO2010029682A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

バスの性能を低下させずにビット操作を行う。情報処理装置(10)は、命令をフェッチして実行可能なCPU(101,102)と、上記CPUによって書き換え可能なレジスタを内蔵し、上記CPUとはバスによって結合された周辺モジュール(M1,M2,M3)とを含む。上記CPUは、フェッチされたビット操作命令を実行するために、上記周辺モジュールに含まれるレジスタに対するビット単位のライト動作を指示するためのバスコマンドを発行する機能を含む。上記バスコマンドが発行されると、上記周辺モジュールは、レジスタに対するビット単位のライト動作を実行する。これにより、上記CPUは、上記バスコマンド発行後にバスをロックする必要がないので、バスの性能を低下させずにビット操作を行うことができる。

Description

本発明は、情報処理装置、特にCPU(中央処理装置)に結合された周辺モジュールに含まれるレジスタのビット操作に関する。
情報処理装置は、マイクロプロセッサ、マイクロコントローラ、信号処理プロセッサ、画像処理プロセッサ、及び音声処理プロセッサを含む。情報処理装置の一例とされるマイクロプロセッサは、半導体チップ内部でのデータ処理の一つであるビット操作処理を高速に行うために、CPUからチップ内の各周辺モジュールへのデータアクセス時間を短縮する必要がある。このようなアクセス時間の短縮には、マイクロプロセッサの動作周波数向上やチップ内の各周辺モジュールが接続されているバスの高速化、ビット操作用の新命令の追加といったことが広く行われている。
しかしながら、マイクロプロセッサは従来から周辺レジスタやメモリ等に対して、ある単位(8ビット/16ビット/32ビット)でのデータ処理する構成となっており、1ビットだけ操作するビット操作を直接周辺モジュールに指示することができない。このため、ビット操作を行う時は、一度ある単位(8ビット/16ビット/32ビット)でデータを周辺レジスタやメモリ等からCPU内に読み込み、読み込んだデータ中の1ビットだけデータを変更し、再び周辺モジュールへ書き戻す、リードモディファイライト(以下「RMW」と略記する)の動作が必要となる。
ところが、このRMWの動作中は、CPUがバスをロック(ビット操作処理以外を受け付けない状態に固定すること)させ、CPU自体もRMW中は、他の命令を実行することができない。このため、ビット操作処理を短縮し、CPUが他命令を実行できるようにRMW動作が不要なビット操作方式が必要となる。
このようなRMW動作不要なビット操作方式として、特許文献1のような方式が挙げられる。特許文献1では、ビット操作を高速化させるために、ビット操作する1ビット毎に32ビットアドレスに割り当てる為に、メモリアドレス領域を追加して、追加したメモリアドレス領域へ通常命令(ライト命令)でデータを書き込むと、所望のビット操作が実行できる技術が開示されている。追加メモリアドレス領域へある単位(8ビット/16ビット/32ビット)でデータを書き込むことで、モディファイ用にデータをCPUに読み込む必要を無くし、すなわち、CPUでのRMW動作が不要となり、ビット操作を高速化することができる。また、追加メモリアドレス領域へは通常命令でアクセスするため、ビット操作用の新規命令追加の必要も無い。
米国特許出願公開第2005/0177691号明細書
上記のように特許文献1では、ビット操作のために、あるビット幅(8ビット/16ビット/32ビット)を持つメモリアドレス領域を追加して、メモリアドレス領域に通常命令(8ビット/16ビット/32ビット単位でのライト命令)でデータを書き込むと、LSU(ロードストアユニット)がライト動作をRMW動作に変換し、ビット操作を行う方式が開示されている。それによれば、ビット操作をLSUが行うため、CPUは追加したメモリアドレス領域にデータを書き込むだけ良く、CPUのビット操作処理の実行時間を短縮している。
ところが、この方式では、ビット操作を実行するのがCPUからLSUに移り、LSUがRMW動作を行う為、周辺モジュールにとってのビット操作自体の処理時間は短縮されない。また、複数コアを搭載するCPU等では、RMW動作中に他コアからの命令によるデータの書き換えを防ぐ為に、RMW動作中はバスをロックする必要がある。CPUは通常命令だけでビット操作をさせることができるため、LSUのRMW動作が完了するのを待たずに、他命令を実行することができるが、LSUがRMW動作を実行している間、バスをロックさせる必要があるため、バスの性能が落ちる虞がある。
本発明の目的は、バスの性能を低下させずにビット操作を行うための技術を提供することにある。
本発明の別の目的は、メモリアドレス領域を追加するのでは無く、新バスコマンド(1ビットライト動作コマンド)を追加し、外部アドレス空間に接続された周辺モジュールの制御を行うバスステートコントローラが接続モジュールの新バスコマンド対応/非対応状況を把握し、新バスコマンドと旧バスコマンドとを切り替え、ビット操作を高速化するための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、情報処理装置は、命令をフェッチして実行可能なCPUと、上記CPUによって書き換え可能なレジスタを内蔵し、上記CPUとはバスによって結合された周辺モジュールとを含む。上記CPUは、フェッチされたビット操作命令を実行するために、上記周辺モジュールに含まれるレジスタに対するビット単位のライト動作を指示するためのバスコマンドを発行する機能を含む。上記バスコマンドが発行されると、上記周辺モジュールは、レジスタに対するビット単位のライト動作を実行する。これにより上記CPUは、上記バスコマンド発行後に、バスをロックする必要がない。これによって、バスの性能を低下させずにビット操作を行うことができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、本発明によれば、バスの性能を低下させずにビット操作を行うことができる。また、新バスコマンドを追加し、バスステートコントローラが新バスコマンドと旧バスコマンドを切り替えてビット操作を行うことで、新旧バスコマンド対応モジュールが混在しても、ビット操作の高速化が可能となる。
図1は、本発明にかかる情報処理装置の一例とされるマイクロコンピュータにおけるバスコマンド切り替え型ビット操作の説明図である。 図2は、上記マイクロコンピュータの構成例ブロック図である。 図3は、上記マイクロコンピュータにおけるバスステートコントローラの構成例ブロック図である。 図4は、上記バスステートコントローラにおけるコマンド判定コントローラの構成例ブロック図である。 図5は、上記マイクロコンピュータにおける新バスコマンドBC1に対応する機能モジュールの構成例ブロック図である。 図6は、上記マイクロコンピュータにおけるビット操作のフローチャートである。 図7は、新バスコマンドBC1対応モジュールと非対応モジュールのビット操作例の説明図である。
1.代表的な実施の形態
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係る情報処理装置(10)は、命令をフェッチして実行可能なCPU(101,102)と、上記CPUによって書き換え可能なレジスタを内蔵し、上記CPUとはバスによって結合された周辺モジュール(M1,M2,M3)とを含む。上記CPUは、フェッチされたビット操作命令を実行するために、上記周辺モジュールに含まれるレジスタに対するビット単位のライト動作を指示するためのバスコマンドを発行する機能を含む。
上記CPUは、上記バスコマンドが発行されると、上記周辺モジュールでは、レジスタに対するビット単位のライト動作を実行する。このため、上記バスコマンドが発行された後は、バスをロックする必要がないので、バスの性能を低下させずにビット操作を行うことができる。
〔2〕上記〔1〕において、上記周辺モジュールは、上記CPUから発行された上記バスコマンドに呼応して、上記レジスタに対するビット単位のライト動作を実行するビット操作コントローラを含む。
〔3〕上記情報処理装置(10)は、フェッチした命令を実行する際に、ビット単位のライト動作を指示するためのバスコマンドを発行可能なCPU(101,102)と、上記CPUとはバスによって結合された周辺モジュール(M1,M2,M3)とを含む。上記周辺モジュールは、上記CPUによって書き換え可能なレジスタ(52)と、上記バスコマンドに呼応して、上記レジスタに対するビット単位のライト動作を実行するビット操作コントローラ(51)とを含んで成る。
〔4〕上記〔3〕において、上記CPUから発行されたバスコマンドは、上記バスを介して上記ビット操作コントローラに伝達されるように構成することができる。
〔5〕上記〔3〕において、上記CPUから発行されたバスコマンドは、専用線を介して上記ビット操作コントローラに伝達されるように構成することができる。専用線を用いる場合には、バスを用いる場合よりも、バスコマンドを高速に伝達することができる。
〔6〕上記情報処理装置(10)は、フェッチした命令を実行する際に、ビット単位のライト動作を指示するためのバスコマンドを発行可能なCPU(101,102)と、上記CPUとはバスによって結合された周辺モジュール(M1,M2,M3)と、上記バスに結合され、バスステート制御を行うバスステートコントローラ(105)とを含む。上記バスステートコントローラは、上記周辺モジュールが上記バスコマンドをサポートするか否かの識別を可能とする第1回路(31)と、上記CPUからの第1バスコマンドを上記周辺モジュールがサポートする形式の第2バスコマンドに変換可能な第2回路(32)と、上記第1回路での識別結果に基づいて、上記CPUから伝達された第1バスコマンドと、第2回路から出力された第2バスコマンドとを選択的に上記周辺モジュールに出力可能な第3回路(33)と、を含んで成る。
上記バスステートコントローラが上記CPUからの第1バスコマンドを受けて、第1バスコマンドを出力するか、第1バスコマンドを第2バスコマンドに変換するかを判定する。これにより、上記CPUは1ビットライト動作の第1バスコマンドを出力するだけで良く、仮にバスステートコントローラが第2バスコマンドを出力しRMW動作が発生しても、そのRMW動作の完了を待つことなく、他命令を実行することができるので、バスの性能を低下させずにビット操作を行うことができる。
〔7〕上記〔6〕において、上記第2回路は、第2回路で変換されたバスコマンドが上記第3回路を介して出力される場合には、上記周辺モジュールからデータを読み込み、読み込んだデータの一部を変更してから再び上記周辺モジュールへ書き戻すRMWを行う。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
図2には、本発明にかかる情報処理装置の一例とされるマイクロコンピュータが示される。図2に示されるマイクロコンピュータ10は、複数のCPU101,102、バスステートコントローラ(BSC)105、複数の周辺モジュール(Module)M1,M2,M3を含み、公知の半導体集積回路製造方法により単結晶シリコン基板などの一つの半導体基板に形成される。CPU101,102は第1バス103に結合され、周辺モジュールM1,M2,M3は第2バス104に結合される。上記第1バス103と上記第2バス104とはバスステートコントローラ105を介して結合される。マイクロコンピュータ10の外部には、外部メモリ20が配置される。この外部メモリ20には周辺モジュールM4が内蔵されている。上記CPU101,102は、それぞれプログラムメモリ(図示せず)から命令をフェッチし、それを実行する。上記周辺モジュールM1,M2,M3,M4は、それぞれ所定の機能を有する。
次に、上記構成のマイクロコンピュータ10におけるバスコマンド切り替え型ビット操作について説明する。
図1は、図2に示されるマイクロコンピュータ10におけるバスコマンド切り替え型ビット操作を模式的に示している。
上記構成のマイクロコンピュータ10におけるバスコマンド切り替え型ビット操作は、CPU101,102が新バスコマンドBC1(第1バスコマンド)をバスステートコントローラ105に出力し、バスステートコントローラ105が周辺モジュール毎に新バスコマンド対応/非対応を判断し新バスコマンドと旧バスコマンド(第2バスコマンド)を切り替えてビット操作するものである。この操作方式により、バスに接続される周辺モジュールに、新バスコマンド対応モジュールと新バスコマンド非対応モジュールが混在しても、ビット操作を実行することができる。説明の便宜上、周辺モジュールM1,M2は、新バスコマンドBC1と旧バスコマンドBC2との双方に対応し、周辺モジュールM3,M4は旧バスコマンドBC2にのみ対応するものとする。新バスコマンド(BC1)対応モジュールM1,M2に対しては、以下に述べるようにビット操作の高速化ができ、新バスコマンド非対応モジュールに対しては、バスステートコントローラ105が、新バスコマンドBC1を旧バスコマンドBC2に変換し、従来CPUが行っていたRMW動作を実行する。すなわち、CPU101,102は、新バスコマンドBC1をバスステートコントローラ105に対して発行するだけでビット操作を実行することができ、新バスコマンドBC1出力後すぐに他命令を実行することが可能となる。また、新バスコマンド対応モジュールM1,M2は、RMW動作ではなく、1ビットライト動作ができるので、ビット操作自体の高速化が実現できる。
ここで、上記バスコマンドは、CPU101,102がフェッチした命令を実行するために、CPU内の命令解釈モジュール(デコーダ)が、周辺モジュールに対して発行する、あるビット単位(例えば8ビットや10ビット等)の命令である。例えば、CPU101あるいは102は、ビット操作命令が格納されているプログラムメモリ(図示せず)から命令を読み取り、当該CPU内のデコーダで命令を解釈する。このデコーダは、命令解釈後、ビット操作命令を実行する為に必要な周辺モジュールの動作を、周辺モジュールに指示する命令である、リードやライト等のバスコマンドを出力する。バスコマンドは、CPU101又は102から専用線、あるいは、バス103及び104を介して周辺モジュールに入力される。専用線を用いる場合には、バス103や104を用いる場合よりも高速にバスコマンドを伝達することができる。
本提案の新バスコマンドBC1(第1バスコマンド)は旧バスコマンドBC2(第2バスコマンド)の拡張である。旧バスコマンドBC2には、前述の通り、リードやライト等がある。ところが、旧バスコマンドBC2は、バイトやワード単位でのリードやライト等を指示するコマンドであり、1ビット単位のライトを指示するコマンドでは無い。これに対して、新バスコマンドBC1は1ビット単位のライト動作を指示するコマンドである。
ビット操作対象のビット位置と、ビット操作情報を埋め込む方法は2通りある。1つ目は、データの空き領域に埋め込む方法である。この方法では、データへのアクセス単位はバイト、ワード単位であり、ライト単位は1ビット単位である。例えば、新バスコマンドは、データにバイト単位でアクセスし、バイトデータ中の、ある1ビットのみ操作する動作をさせるコマンドである。この時のビット操作のビット位置と、ビット操作情報はデータの上位空きビットに埋め込んでおく。
2つ目は、バスコマンドにビット位置情報と、ビット操作情報を追加する方法である。1つ目の方法は、ビット位置情報とビット操作情報をデータの上位空きビットに埋め込むため、データアクセス単位は、バイト単位かワード単位に縛られる。ところが、2つ目の方法は、バスコマンドに操作ビット位置情報と、ビット操作情報を追加するので、データアクセス単位は、バイト、ワード以外にも設定可能である。
本実施形態におけるバスコマンド切り替え型ビット操作では、ビット操作高速化の実現のために、バスステートコントローラ105がCPUから受けた新バスコマンドBC1をそのまま出力し、1ビットライト動作を実行する、若しくは、新バスコマンドBC1を旧バスコマンドBC2に変換して出力し、RMW動作を実行する。ここで、バスステートコントローラ105の構成、及び動作について図3を用いて説明する。
図3には、上記バスステートコントローラ105の構成例が示される。
図3に示されるように、上記バスステートコントローラ105は、内部に次の4つの周辺モジュールを持つ。すなわち、コマンド判定コントローラ(CJC)31、RMWモジュール(RMW_Mod)32、バスコマンドセレクタ(BC_SEL)33、及びデータセレクタ(D_SEL)34、である。
コマンド判定コントローラ31は、CPU101,102から受けた新バスコマンドを、バスに接続された、新バスコマンド対応モジュールと新バスコマンド非対応モジュール毎に、新バスコマンド対応/非対応を判定し、新バスコマンドをそのまま出力するか、新バスコマンドを旧バスコマンドに変換して出力するかを判定する機能を有する。
RMWモジュール32は、コマンド判定コントローラ31が旧バスコマンドを出力する判定をした時に、旧バスコマンドBC2の出力と、RMW動作を実行する。
バスコマンドセレクタ33は、コマンド判定コントローラ31から出力された新バスコマンドBC1と、RMWモジュール32から出力された旧バスコマンドBC2を、RMWモジュール32から出力されたBC2_SEL(旧バスコマンド選択信号)の信号で選択する。
データセレクタ34は、CPU101,102からのデータ(DATA)をそのまま出力するか、RMWモジュール32からのDATA_RMWを出力するかをRMWモジュール32から出力されたBC2_SELで選択する。
コマンド判定コントローラ31は、CPU101,102から新バスコマンドBC1とアドレスADRを受け、BC1はそのまま出力し、コマンド判定コントローラ31内部の周辺モジュール毎の新バスコマンド対応/非対応情報を持つレジスタ群I_Regの情報を基に、操作対象モジュールが新バスコマンド非対応モジュールの場合は旧バスコマンドBC2のアクセス単位情報B/Wと旧バスコマンドイネーブル信号BC2_ENとをRMWモジュール32に出力する。
RMWモジュール32は、CPU101,102からアドレス(ADR)とデータ(DATA)、コマンド判定コントローラ31から旧バスコマンドイネーブル信号BC2_ENとアクセス単位情報B/Wを受け、旧バスコマンドBC2と旧バスコマンド選択信号BC2_SELを出力し、RMW動作を行う。特に制限されないが、このRMWモジュール32は、BC2出力制御部B_CNTと、3つのデータ保持用レジスタReg_A,Reg_BC,Reg_Dを持つ。BC2出力制御部B_CNTは、コマンド判定コントローラ31から旧バスコマンドイネーブル信号BC2_ENとアクセス単位情報B/Wを受け、旧バスコマンドBC2をバスコマンドセレクタ33に、旧バスコマンド選択信号BC2_SELをバスコマンドセレクタ33とデータセレクタ34に出力するためのものである。3つのデータ保持用レジスタReg_A,Reg_BC,Reg_Dは、RMW動作中の、バスコマンド/アドレスの変更、及びCPU101,102からのデータ(DATA)によるデータ変更を防止するためのものである。すなわち、アドレス保持用のレジスタReg_Aは、CPU101,102から受けたアドレス(ADR)をRMW動作中保持しておくためのものである。レジスタ群Reg_BCは、旧バスコマンドイネーブル信号BC2_ENやアクセス単位情報B/Wを保持するのに使用される。すなわち、コマンド判定コントローラ31から受けた旧バスコマンドイネーブル信号BC2_ENとアクセス単位情報B/WをRMW動作中保持しておくことができる。データ保持用のレジスタReg_Dは、RMW動作時に使用される。これは、CPUから受けたDATAを接続モジュールに書き込む時に、一度ある単位(8ビット/16ビット/32ビット)でデータを読み込み、変更を加える時に使用するためと、RMW動作中にCPU101,102からの新たなデータ(DATA)入力を防止するためのものである。
図4には、図3におけるコマンド判定コントローラ31の構成例が示される。先述のとおり、コマンド判定コントローラ31はCPU101,102から新バスコマンドBC1とアドレス(ADR)を受け、新バスコマンドBC1はそのまま出力し、I_Regの情報を基に、アクセス単位情報B/W、及び旧バスコマンドイネーブル信号BC2_ENを出力するかを判定する。新バスコマンドBC1はコマンド判定コントローラ31を素通りするパスとBC2制御部BC2_CTLに入力されるパスとに分かれる。アドレス(ADR)はデコーダDECに入力され、デコーダDECの出力信号ADR_DECがレジスタ群I_Reg(図中のR_M1,R_M2,R_M3,R_M4)に入力される。デコーダDECはアドレス(ADR)の例えばある2ビットの情報から、どの接続モジュールにアクセスするかを認識し、その情報をレジスタ群I_Regに出力する。このレジスタ群I_Regは、接続モジュールが新バスコマンド対応/非対応情報を持つ。
ここで、例えば周辺モジュールM3が新バスコマンドに非対応の場合(図中R_M3:0(1が新バスコマンド対応、0が新バスコマンド非対応を意味する))について説明する。
アドレスADRで周辺モジュールM3が選択され、デコーダDECの出力信号ADR_DECがレジスタ群I_Regに入力されると、新バスコマンド対応/非対応の判定が行われる。レジスタR_M3には、新バスコマンド非対応(0のデータが保持されている)の情報が書かれているので、BC2_CTL_EN(旧バスコマンド制御部イネーブル信号)がイネーブル状態にされる。BC2制御部BC2_CTLは、BC2_CTL_ENがイネーブル状態にされているので、旧バスコマンドイネーブル信号BC2_ENとアクセス単位情報B/Wを出力する。
図5には、新バスコマンドBC1に対応する機能モジュールM1の構成例が示される。
図5に示されるように、機能モジュールM1は、機能モジュールの機能設定用のレジスタ52と、このレジスタ52のビット操作を行うためのビット操作コントローラ51とを含む。尚、特に制限されないが、機能モジュールM1は、旧バスコマンドBC2にも対応するため、旧バスコマンド対応のビット操作コントローラ(図示せず)が設けられている。内部のビット操作コントローラ51が、バスステートコントローラ105からの新バスコマンドBC1を受けて、1ビットだけ操作する動作を行なう。図5では、例として、32ビットレジスタの第2ビットを操作する例を示している。前述の通り、機能モジュールM1は、バスステートコントローラ105から新バスコマンドBC1を受けて、32ビットレジスタ中の1ビット、第2ビット(ハッチングで示されるビット)を操作する。この操作により、32ビットレジスタ中の1ビットの書き換えが行われる。
図6には、上記ビット操作のフローチャートが示される。
まず、新バスコマンドBC1がバスステートコントローラ105に入力される(S1:Bus Command BC1 Input)。バスステートコントローラ105で新バスコマンドに対応するか否かを判定し(S2:Command Select)、新バスコマンドBC1に対応している場合(Write)は、新バスコマンドBC1を出力し(S3:Bus Command BC1 Output)、新バスコマンドBC1に対応していない場合(Read Modify Write)は、新バスコマンドBC1を旧バスコマンドBC2に変換する。
新バスコマンドBC1を出力する場合、接続モジュールの1ビットを書込み、ビット操作の終了判定に移る。
新バスコマンドBC1を旧バスコマンドBC2に変換する場合、レジスタをアクセス単位情報B/W単位でリードし(S6:Register Read B/W)、その中の1ビットを変更し(S7:1 Bit Modify)、アクセス単位情報B/W単位でレジスタに書き込まれ(S8:Register Write B/W)、ビット操作の終了判定(S5:Bit Operation Select)に移る。
ビット操作の終了判定では、ビット操作を終了しない場合は、新バスコマンドBC1がバスステートコントローラ105に入力される処理(S1)に戻され、ビット操作を終了する場合には、本フローチャートによる処理が終了される(End)。
図7には、新バスコマンドBC1対応モジュールと非対応モジュールのビット操作例が示される。
新バスコマンドBC1対応モジュールの場合、図7(A)に示されるように、新バスコマンドBC1対応モジュール内で、該当する1ビットのみが書き換えられるのに対して、新バスコマンドBC1非対応モジュールでは、図7(B)に示されるように、バスステートコントローラ(BSC)105が介在され、この、バスステートコントローラ(BSC)105において、RMWによる1ビット書き換えが行われる。
上記の例によれば、以下の作用効果を得ることができる。
(1)バスステートコントローラ105がCPUからの新バスコマンドを受けて、新バスコマンドを出力するか、新バスコマンドを旧バスコマンドに変換するかを判定し、旧バスコマンドを出力する時には、従来CPUが実行していたRMWをバスステートコントローラ105が実行する動作を行う。これにより、CPU101,102は1ビットライト動作の新バスコマンドを出力するだけで良く、仮にバスステートコントローラ105が旧バスコマンドを出力しRMW動作が発生しても、RMW動作の完了を待つことなく、他命令を実行することができる。
(2)上記(1)の作用効果により、マイクロコンピュータ10での処理の効率向上を図ることができる。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではない。
本発明は、マイクロコントローラ、信号処理プロセッサ、画像処理プロセッサ、及び音声処理プロセッサなどに適用することができる。
10 マイクロコンピュータ
20 外部メモリ
31 コマンド判定コントローラ
32 RMWモジュール
33 バスコマンドセレクタ
34 データセレクタ
51 ビット操作コントローラ
52 レジスタ
101,102 CPU
105 バスステートコントローラ
103 第1バス
104 第2バス
M1,M2,M3,M4 周辺モジュール

Claims (7)

  1. 命令をフェッチして実行可能なCPUと、
    上記CPUによって書き換え可能なレジスタを内蔵し、上記CPUとはバスによって結合された周辺モジュールと、を含み、
    上記CPUは、フェッチされたビット操作命令を実行するために、上記周辺モジュールに含まれるレジスタに対するビット単位のライト動作を指示するためのバスコマンドを発行する機能を含んで成ることを特徴とする情報処理装置。
  2. 上記周辺モジュールは、上記CPUから発行された上記バスコマンドに呼応して、上記レジスタに対するビット単位のライト動作を実行するビット操作コントローラを含む請求項1記載の情報処理装置。
  3. フェッチした命令を実行する際に、ビット単位のライト動作を指示するためのバスコマンドを発行可能なCPUと、
    上記CPUとはバスによって結合された周辺モジュールと、を含み、
    上記周辺モジュールは、上記CPUによって書き換え可能なレジスタと、
    上記バスコマンドに呼応して、上記レジスタに対するビット単位のライト動作を実行するビット操作コントローラと、を含んで成ることを特徴とする情報処理装置。
  4. 上記CPUから発行されたバスコマンドは、上記バスを介して上記ビット操作コントローラに伝達される請求項3記載の情報処理装置。
  5. 上記CPUから発行されたバスコマンドは、専用線を介して上記ビット操作コントローラに伝達される請求項3記載の情報処理装置。
  6. フェッチした命令を実行する際に、ビット単位のライト動作を指示するための第1バスコマンドを発行可能なCPUと、
    上記CPUとはバスによって結合された周辺モジュールと、
    上記バスに結合され、バスステート制御を行うバスステートコントローラと、を含み、
    上記バスステートコントローラは、上記周辺モジュールが上記バスコマンドをサポートするか否かの識別を可能とする第1回路と、
    上記CPUからの第1バスコマンドを上記周辺モジュールがサポートする第2バスコマンドに変換可能な第2回路と、
    上記第1回路での識別結果に基づいて、上記CPUから伝達された第1バスコマンドと、第2回路から出力された第2バスコマンドとを選択的に上記周辺モジュールに出力可能な第3回路と、を含んで成ることを特徴とする情報処理装置。
  7. 上記第2回路は、第2回路で変換されたバスコマンドが上記第3回路を介して出力される場合には、上記周辺モジュールからデータを読み込み、読み込んだデータの一部を変更してから再び上記周辺モジュールへ書き戻すリードモディファイライトを行う請求項6記載の情報処理装置。
JP2010528600A 2008-09-10 2009-08-04 情報処理装置 Withdrawn JPWO2010029682A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008232106 2008-09-10
JP2008232106 2008-09-10
PCT/JP2009/003710 WO2010029682A1 (ja) 2008-09-10 2009-08-04 情報処理装置

Publications (1)

Publication Number Publication Date
JPWO2010029682A1 true JPWO2010029682A1 (ja) 2012-02-02

Family

ID=42004948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010528600A Withdrawn JPWO2010029682A1 (ja) 2008-09-10 2009-08-04 情報処理装置

Country Status (5)

Country Link
US (1) US20110238883A1 (ja)
EP (1) EP2328075A4 (ja)
JP (1) JPWO2010029682A1 (ja)
CN (1) CN102150132A (ja)
WO (1) WO2010029682A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108170470A (zh) * 2017-12-28 2018-06-15 杭州中天微系统有限公司 Soc系统按位写装置
CN112820343B (zh) * 2021-02-25 2024-08-06 记忆科技(深圳)有限公司 数据保护方法、装置、计算机设备及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04241650A (ja) * 1991-01-14 1992-08-28 Toshiba Corp 1ビット書込み処理方式
JPH04291641A (ja) * 1991-03-20 1992-10-15 Fujitsu Ltd レジスタ装置
JPH04353927A (ja) * 1991-05-31 1992-12-08 Hitachi Ltd マイクロ・プロセッサ
US5287503A (en) * 1991-09-27 1994-02-15 Sun Microsystems, Inc. System having control registers coupled to a bus whereby addresses on the bus select a control register and a function to be performed on the control register
DE4208459A1 (de) * 1992-03-17 1993-09-23 Philips Patentverwaltung Schaltungsanordnung zur verarbeitung von eingabe/ausgabedaten
US5666515A (en) * 1993-02-18 1997-09-09 Unisys Corporation Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
JPH08185320A (ja) * 1994-12-28 1996-07-16 Mitsubishi Electric Corp 半導体集積回路
US5818789A (en) * 1995-10-10 1998-10-06 Holtek Microelectronics, Inc. Device and method for memory access
US6931470B2 (en) * 2002-02-11 2005-08-16 Motorola, Inc. Dual access serial peripheral interface
JP2004164579A (ja) * 2002-09-24 2004-06-10 Sharp Corp データバス幅変換装置およびデータ処理装置
US7313639B2 (en) * 2003-01-13 2007-12-25 Rambus Inc. Memory system and device with serialized data transfer
JP2004227501A (ja) * 2003-01-27 2004-08-12 Yamaha Corp データ転送制御装置および方法
US7124261B2 (en) * 2004-02-09 2006-10-17 Arm Limited Access to bit values within data words stored in a memory
US7502896B2 (en) * 2005-06-07 2009-03-10 Stmicroelectronics Pvt. Ltd. System and method for maintaining the integrity of data transfers in shared memory configurations
EP1764703B1 (en) * 2005-08-31 2009-07-15 STMicroelectronics Pvt. Ltd. A system for providing access to multiple data buffers of a data retaining and processing device
US8977790B2 (en) * 2008-02-15 2015-03-10 Freescale Semiconductor, Inc. Peripheral module register access methods and apparatus
US8103803B2 (en) * 2008-11-21 2012-01-24 Nvidia Corporation Communication between a processor and a controller

Also Published As

Publication number Publication date
EP2328075A1 (en) 2011-06-01
EP2328075A4 (en) 2011-12-07
WO2010029682A1 (ja) 2010-03-18
CN102150132A (zh) 2011-08-10
US20110238883A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
US6959367B2 (en) System having read-modify-write unit
JP5703378B2 (ja) アラインメント制御
JP6005392B2 (ja) ルーティングのための方法及び装置
US7685351B2 (en) External device access apparatus
JP2013092852A (ja) バス接続回路、半導体装置及びバス接続回路の動作方法
WO2009098737A1 (ja) 外部デバイスアクセス装置、その制御方法及びシステムlsi
US10437598B2 (en) Method and apparatus for selecting among a plurality of instruction sets to a microprocessor
WO2010029682A1 (ja) 情報処理装置
JP5309938B2 (ja) 要求処理装置、要求処理システムおよびアクセス試験方法
JP5322567B2 (ja) データ処理システム及び半導体集積回路
WO2002073411A1 (fr) Procede de test de memoire, support d'enregistrement d'information et circuit integre semi-conducteur
JP4471947B2 (ja) データ処理装置及びデータ処理方法
US7047444B2 (en) Address selection for testing of a microprocessor
JP5437878B2 (ja) 情報処理装置
JP2005276104A (ja) マイクロコンピュータ
JP2008287557A (ja) バスシステム及びマイクロコンピュータ
JP4151497B2 (ja) パイプライン処理装置
US20090100220A1 (en) Memory system, control method thereof and computer system
JP4343244B2 (ja) マイクロコンピュータ
JP2003288316A (ja) マイクロコンピュータ装置、入出力装置および半導体装置
JP2006202034A (ja) 半導体集積回路装置
JP2005056033A (ja) レジスタ回路
JP2000056969A (ja) レジスタファイル
JP2003178596A (ja) 半導体集積回路
JP2001015690A (ja) システムlsiおよびその初期設定方法

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120521