JP2008140124A - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP2008140124A
JP2008140124A JP2006325565A JP2006325565A JP2008140124A JP 2008140124 A JP2008140124 A JP 2008140124A JP 2006325565 A JP2006325565 A JP 2006325565A JP 2006325565 A JP2006325565 A JP 2006325565A JP 2008140124 A JP2008140124 A JP 2008140124A
Authority
JP
Japan
Prior art keywords
instruction
address
ram
arrangement
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006325565A
Other languages
English (en)
Inventor
Koutaro Higuchi
浩太朗 樋口
Shinya Miyaji
信哉 宮地
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006325565A priority Critical patent/JP2008140124A/ja
Priority to US11/878,198 priority patent/US20080133838A1/en
Priority to CNA2007101624182A priority patent/CN101192139A/zh
Publication of JP2008140124A publication Critical patent/JP2008140124A/ja
Pending 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching

Abstract

【課題】ハードウェアの増加を抑えつつ、従来のデバッグ装置及びデバッガを利用して、プログラムのデバッグができるようにする。
【解決手段】複数の命令列を格納する主記憶装置110と、主記憶装置110から転送された命令列を実行するプロセッサ120とを有したデータ処理装置において、主記憶装置110から転送された命令列を格納する命令RAM121と、命令RAM121に格納する命令列のメモリ空間上の配置アドレスが、他の命令列の命令RAM121上の配置アドレスと重複しないように、命令RAM121のメモリ空間上の配置アドレスを設定する配置アドレス設定部122と、配置アドレス設定部122が設定した配置アドレスを基に、命令フェッチアクセスのアクセス対象空間を判定し、判定結果に応じ、主記憶装置110及び命令RAM121の何れかに対してアクセスを行う命令フェッチ制御部123をプロセッサ120に設ける。
【選択図】図1

Description

本発明は、フラッシュメモリなどに記憶された命令列をRAM(Random Access Memory)に転送して命令を実行するプロセッサを備えたデータ処理装置に関するものである。
マイクロコンピュータ等のプロセッサは、主記憶装置やROM(Read Only Memory)等の主記憶装置に対して、比較的高速、且つ小容量のRAM(命令RAMと呼ぶ)を備え、主記憶装置に記憶されたプログラムを命令列単位で、適宜命令RAMに転送して実行するように構成することがある。これによれば、命令RAMの容量に制約されない大きさのプログラムを、高速動作が可能な命令RAM上で実行することができ、処理性能を向上させることができる(このような技術はオーバーレイ技術と呼ばれることがある)。
上記のプロセッサでは、例えば、図11に示すように、命令RAM上のアドレスAには、ある時刻T1では命令列P1の命令C1が格納され、ある時刻T2では命令列P2の命令C2が格納されることになる。
ところで、マイクロコンピュータ等のプロセッサに実行させるプログラムをデバッグする場合には、ブレイクポイントを設定してプログラムの実行を停止させる手法が一般的に用いられている。この手法は、例えば、実行を停止させようとする命令のアドレスをデバッグ装置の所定のレジスタに設定すると共に、レジスタに設定したアドレスとプロセッサによって実行されようとする命令のアドレスとを逐次比較させ、両者が一致した時に割込み信号を発生させて、命令の実行を停止させるものである。
しかしながら、オーバーレイ技術を用いたプロセッサに対しては、従来のデバッグ手法では、命令RAMに転送されている命令列について、実行を停止させようとする命令のアドレスをレジスタに設定したとしても、次の命令列が命令RAMに転送されると、設定されたアドレスは意味のないものになってしまう。そのため、複数の命令列に渡ってデバッグすることが困難であった。
例えば、図11に示すように、命令RAMに格納された命令列P1の命令C1(アドレスAに格納されているとする)でブレイクさせる場合を考える。この場合は、ブレイクポイントとして、アドレスAをレジスタに設定して、プログラムカウンタ(PC)の値が、設定したブレイクポイント(アドレスA)と一致したときにブレイクされる。
しかし、命令列P1よりも先に、命令列P2が実行されると、命令C1のアドレスAには、命令C2が置き換えられている。このため、命令列P2の命令C2でブレイクされてしまう。すなわち、意図しないところで、間違ってブレイクが発生することになる。
これに対しては、識別子によって識別された複数のプログラムコードを用い、このプログラムコードのうちの実行されるプログラムコードが格納される命令RAMと、命令RAMに格納されるプログラムコードの識別子を記憶する変数領域とを設け、命令RAMの内容と、変数領域の内容とが一致した場合にブレイクするようにしたものがある(例えば、特許文献1を参照)。
特開2003−345624号公報
しかしながら、特許文献1のプロセッサでは、以下のような問題がある。
まず、識別情報を保持する記憶領域をハードウェアで実装する場合には、記憶領域のためのハードウェア増加だけでなく、プログラムカウンタ(PC)とブレイクポイントとの比較論理に、RAM上の命令列の識別情報をチェックする論理を追加する必要がある。そのため、更にハードウェア増加の要因となる。
また、識別情報を操作するためのソフトウェア処理が必要となるので、処理時間の増加の要因となる。
本発明は上記の問題に着目してなされたものであり、ハードウェアの増加を抑えつつ、従来のデバッグ装置及びデバッガを利用して、プログラムのデバッグができるようにすることを目的としている。
前記の課題を解決するため、本発明の一態様は、
複数の命令列を格納する主記憶装置と、前記主記憶装置から転送された命令列を実行するプロセッサとを有したデータ処理装置であって、
前記プロセッサは、
前記主記憶装置から転送された命令列を格納する命令RAMと、
前記命令RAMに格納する命令列のメモリ空間上の配置アドレスが、他の命令列の命令RAM上の配置アドレスと重複しないように、前記命令RAMのメモリ空間上の配置アドレスを設定する配置アドレス設定部と、
前記配置アドレス設定部が設定した配置アドレスを示す情報である配置アドレス情報を基に、命令フェッチアクセスのアクセス対象空間を判定し、判定結果に応じ、前記主記憶装置及び前記命令RAMの何れかに対してアクセスを行う命令フェッチ制御部と、
を備えていることを特徴とする。
本発明によれば、ハードウェアの増加を抑えつつ、従来のデバッグ装置及びデバッガを利用して、プログラムのデバッグが可能になる。
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態や変形例の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
《発明の実施形態1》
図1は、本発明の実施形態1に係るデータ処理装置100の構成を示すブロック図である。データ処理装置100は、図1に示すように、主記憶装置110、プロセッサ120、DMAコントローラ130(DMAは、Direct Memory Accessの略である。また、図中では、DMAC(Direct Memory Access Controller)と略記している)、及びデバッグ装置140とを備えている。また、主記憶装置110、プロセッサ120、及びDMAコントローラ130は、バス150を介して接続されている。
主記憶装置110は、複数の命令列(プログラム)が格納されるようになっている。主記憶装置110は、具体的には、フラッシュメモリ(Flash Memory)などによって構成できる。
プロセッサ120は、主記憶装置110から転送された命令列の各命令を実行するようになっている。図2は、プロセッサ120の概略構成を示すブロック図である。プロセッサ120は、図2に示すように、命令RAM121、配置アドレス設定部122、及び命令フェッチ制御部123を内蔵している。
命令RAM121は、主記憶装置110から転送された命令列を保持するようになっている。具体的には、命令RAM121は、主記憶装置110と比べ、比較的高速で、且つ小容量のRAMで構成されている。
配置アドレス設定部122は、命令RAM121のメモリ空間上の配置アドレスを設定するようになっている。詳しくは、配置アドレス設定部122は、転送する命令列の命令RAM121上のアドレス(命令列を実行するアドレス)が、他の命令列の命令RAM121上の配置アドレスと重複しないように、命令RAM121のメモリ空間上の配置アドレスを設定する工程(後述するステップST001)を、主記憶装置110から命令RAM121へ命令列を転送するシーケンスに於いて実施する。
命令フェッチ制御部123は、配置アドレス設定部122が設定した配置アドレスを示す情報(配置アドレス情報S1)を基に、命令フェッチアクセスのアクセス対象空間を判定し、判定結果に応じ、アクセス対象のメモリ(ここでは、主記憶装置110、もしくは命令RAM121)へアクセスを行うようになっている。
DMAコントローラ130は、主記憶装置110と命令RAM121との間のデータ転送を制御するようになっている。
デバッグ装置140は、プロセッサ120と接続されており、プログラムをデバッグするようになっている。具体的には、デバッグ装置140は、実行を停止させようとする命令のアドレスが設定されるレジスタを備えており、デバッグ機能の1つとして、レジスタに設定されたアドレスとプロセッサ120によって実行されようとする命令のアドレスとを逐次比較し、両者が一致した時に割込み信号を発生させて、プロセッサ120による命令の実行を停止させる。
主記憶装置110から命令RAM121へ命令列を転送して、命令列を実行するオーバーレイ手順に於いて、データ処理装置100は、図3のフローチャートに示すように動作する。
ステップST001では、配置アドレス設定部122は、転送する命令列の命令RAM121上のアドレス(命令列を実行するアドレス)が、他の命令列の命令RAM121上のアドレスと重複しないように、命令RAM121のメモリ空間上の配置アドレスを設定する。
ステップST002では、プロセッサ120は、DMAコントローラ130を制御して、アクセス対象のメモリ(命令RAM121)へ命令列を配置する。
これにより、例えば、図4に示すように、命令列P1の命令C1は、アドレスB、命令列P2の命令C2は、アドレスCというように、固有のアドレスに配置することが可能となる。すなわち、データ処理装置100では、命令列同士のアドレスの重複が発生しないようにできるので、ブレイクポイントを正確に設定できる。
それゆえ、本実施形態によれば、ハードウェアの増加を抑えつつ、従来のデバッグ装置及びデバッガを使用して、プログラムのデバッグが可能となる。そのため、オーバーレイ技術を用いたプロセッサに於けるプログラム開発が容易になる。
《実施形態1の変形例》
配置アドレス設定部122は、命令RAM121を配置する領域のアドレスを設定できるように構成してもよい。具体的には、図5に示すように、スタートアドレス設定レジスタ122aとメモリサイズ設定レジスタ122bとを配置アドレス設定部122に追加する。
スタートアドレス設定レジスタ122aは、命令RAM121を配置する領域の先頭のアドレスを設定するレジスタである。
また、メモリサイズ設定レジスタ122bは、命令RAM121を配置する領域の容量を設定するレジスタである。
これにより、ステップST001内に於いて、命令RAM121を配置する領域の先頭のアドレスをスタートアドレス設定レジスタ122aに設定する工程と、命令RAM121を配置する領域の容量をメモリサイズ設定レジスタ122bに設定する工程とを実行すれば、命令RAM121のメモリ空間上の配置アドレスを設定することができる。すなわち、先頭のアドレスと容量を設定した後は、スタートアドレス設定レジスタ122aに設定された先頭アドレスから始まる、メモリサイズ設定レジスタ122bに設定されている容量分のメモリ空間上に命令RAM121を配置する。
この変形例によれば、命令RAM121を配置する領域を、スタートアドレスと、配置するメモリサイズによって容易に設定することができる。
この際、メモリサイズ設定レジスタ122bには、命令RAM121の物理容量を設定してもよいし、命令RAM121に転送する命令列の容量を設定してもよい。
命令RAM121の物理容量はシステム仕様によって決まっているので、メモリサイズ設定レジスタ122bに、命令RAM121の物理容量を設定する場合には、設定する値を容易に求めることができる。すなわち、配置アドレスを設定する工程における処理を簡単化できる。また、命令列の一部(命令RAM121の物理容量分)を命令RAM121に転送して実行し、それ以外は主記憶装置110上から実行するような場合には、命令RAM121の物理容量よりも大きな命令列でも、命令RAM121及び主記憶装置110上のアドレスを意識することなく、命令列をシームレスに実行することができる。
一方、命令RAM121に転送する命令列の容量をメモリサイズ設定レジスタ122bに設定する場合には、転送する命令列の容量に応じたRAM空間を設定できる。そのため、より柔軟なプログラムを開発できる。例えば、ある命令列のうち高速実行したい一部のみを命令RAM121上から実行し、それ以外を主記憶装置110上から実行するような場合には、命令RAM121に転送する部分を柔軟に選択できる。また、命令RAM121に転送する容量分をRAM空間として設定することで、命令RAM121及び主記憶装置110上のアドレスを意識することなく、命令列をシームレスに実行することができる。
《発明の実施形態2》
次に、本発明の実施形態2について説明する。
実施形態1で示した配置アドレスを設定する工程(ステップST001)では、命令RAM121に格納されている命令列は、命令RAM121から実行し、それ以外の命令列は、主記憶装置110から実行するようなプログラムを開発する場合には、アドレスの重複が問題となる。つまり、命令RAM121上で実行される複数の命令列のアドレスに対する重複のみを考慮した命令RAM121の配置アドレス設定手法では、命令RAM121上で実行される命令列のアドレスと、主記憶装置110上で実行される命令列のアドレスとが重複する可能性がある。
そこで、本実施形態では、主記憶装置110から実行する命令列を実行する場合には、図6のフローチャートのステップST201に示すように、転送する命令列の転送元(主記憶装置110)のアドレスと同一のアドレスを、命令RAM121の配置アドレスとして設定するように、配置アドレス設定部122を構成する。
これにより、図7に示すように、命令RAM121及び主記憶装置110上で、実行される命令列のアドレスが重複することはない。
しかも、主記憶装置110上のアドレスが命令列の唯一のアドレスとなるので、プログラム開発者がオーバーレイを意識せずにプログラム開発を行うことができる。更に、全ての命令列を命令RAMに転送しなくてもプログラムを実行できるため、実行頻度等に応じて主記憶装置又は命令RAMのどちらで実行するかを柔軟に選択できる。
《発明の実施形態2の変形例》
実施形態2においては、配置アドレス設定部122を、命令RAM121を配置する領域のアドレスが設定できるように構成してもよい。具体的には、図8に示すように、スタートアドレス設定レジスタ122aとエンドアドレス設定レジスタ122cとを、配置アドレス設定部122に追加する。
エンドアドレス設定レジスタ122cは、命令RAM121を配置する領域の末尾のアドレス(エンドアドレス)を設定するレジスタである。
これにより、ステップST201内に於いて、命令RAM121を配置する領域の先頭のアドレスをスタートアドレス設定レジスタ122aに設定する工程と、命令RAM121を配置する領域の末尾のアドレスをエンドアドレス設定レジスタ122cに設定する工程とを実行すれば、命令RAM121のメモリ空間上の配置アドレスを設定することができる。すなわち、先頭のアドレスと末尾のアドレスを設定した後は、スタートアドレス設定レジスタ122aに設定された先頭アドレスから、エンドアドレス設定レジスタ122cに設定された末尾アドレスまでのメモリ空間上に、命令RAM121を配置する。
この変形例によれば、スタートアドレスとエンドアドレスとによって、命令RAM121を配置する領域を容易に設定することができる。
この際、エンドアドレス設定レジスタ122cには、スタートアドレスに命令RAM121の容量を加算した値を設定してもよいし、また、スタートアドレスに、命令RAM121に転送する命令列の容量を加算した値を設定してもよい。
命令RAM121の物理容量はシステム仕様によって決まっているので、スタートアドレスに命令RAM121の容量を加算した値を、エンドアドレス設定レジスタ122cに設定する場合には、設定する値を容易に求めることができ、配置アドレスを設定する工程における処理を簡単化できる。また、命令列の一部(命令RAM121の物理容量分)を命令RAM121に転送して実行し、それ以外は主記憶装置110上から実行するような場合には、命令RAM121の物理容量よりも大きな命令列でも、命令RAM121及び主記憶装置110上のアドレスを意識することなく、命令列をシームレスに実行することができる。
一方、スタートアドレスに命令RAM121に転送する命令列の容量を加算した値を、エンドアドレス設定レジスタ122cに設定する場合には、転送する命令列の容量に応じたRAM空間を設定できるので、より柔軟なプログラムを開発できる。例えば、ある命令列のうち、高速実行したい一部のみを命令RAM121上から実行し、それ以外を主記憶装置110上から実行するような場合には、命令RAM121に転送する部分を柔軟に選択できる。また、命令RAM121に転送する容量分をRAM空間として設定することで、命令RAM121及び主記憶装置110上のアドレスを意識することなく、命令列をシームレスに実行することができる。
なお、発明の実施形態2及び実施形態2の変形例では、命令RAMへ転送される全ての命令列が、主記憶装置上のアドレスと同一のアドレスに設定される必要はなく、主記憶装置及び命令RAM上の両方で実行したい命令列のみを同一のアドレスに設定しても良い。
《発明の実施形態3》
次に、本発明の実施形態3について説明する。
図9は、本実施形態に係るプロセッサ200の概略構成を示したブロック図である。図9に示すように、プロセッサ200は、第1命令RAM201、第2命令RAM202、第1命令RAM配置アドレス設定部203、第2命令RAM配置アドレス設定部204、及び命令フェッチ制御部205を備えている。
第1命令RAM201及び第2命令RAM202は、主記憶装置110から転送された命令列を保持するようになっている。
第1命令RAM配置アドレス設定部203は、第1命令RAM201のメモリ空間上の配置アドレスを設定するようになっている。
第2命令RAM配置アドレス設定部204は、第2命令RAM202のメモリ空間上の配置アドレスを設定するようになっている。
命令フェッチ制御部205は、第1命令RAM配置アドレス設定部203によって設定された第1命令RAM201用の配置アドレスを示す情報(配置アドレス情報S2)、及び第2命令RAM配置アドレス設定部204によって設定された第2命令RAM202用の配置アドレスを示す情報(配置アドレス情報S3)を基に、命令フェッチアクセスのアクセス対象空間を判定し、アクセス対象のメモリ(ここでは、第1命令RAM201、第2命令RAM202、もしくは主記憶装置110)へアクセスを行うようになっている。
このように構成することにより、プロセッサ内部の命令RAM(第1命令RAM201及び第2命令RAM202)に、複数の命令列を同時に格納できるので、より柔軟なプログラムを開発でき、且つ、効率良くプログラムのデバッグを行うことができる。
また、一方の命令RAM(第1命令RAM201又は第2命令RAM202)で命令を実行している間に、他方の命令RAMへ命令列を転送するというような使い方が考えられ、転送に掛かるオーバーヘッドを減らすことが可能になる。
なお、本実施形態では、命令RAM及び配置アドレス設定部を、それぞれ2つずつ備えているが、これらの数は、例示した2つには限定されない。すなわち、命令RAM、及び配置アドレス設定部をそれぞれ同数(それぞれn個ずつ)備えるようにすればよい。
《発明の実施形態3の変形例》
また、命令RAMは1つで、命令RAMの記憶領域を複数のサブ領域に分割し、サブ領域毎に配置アドレスを設定できるように構成しても良い。
図10は、発明の実施形態3の変形例に係るプロセッサ300の構成を示すブロック図である。プロセッサ300は、図10に示すように、命令RAM301、第1サブ領域配置アドレス設定部302、第2サブ領域配置アドレス設定部303、及び命令フェッチ制御部304を備えている。
命令RAM301は、第1サブ領域301a及び第2サブ領域301bの複数のサブ領域に分割されおり、各サブ領域に、主記憶装置110から転送された命令列を保持するようになっている。
第1サブ領域配置アドレス設定部302及び第2サブ領域配置アドレス設定部303は、それぞれ、第1サブ領域301a用及び第2サブ領域301b用の配置アドレス情報を出力するようになっている。具体的には、第1サブ領域配置アドレス設定部302は、第1サブ領域301a用の配置アドレスを示す情報(配置アドレス情報S4)を命令フェッチ制御部304に出力し、第2サブ領域配置アドレス設定部303は、第2サブ領域301b用の配置アドレスを示す情報(配置アドレス情報S5)を命令フェッチ制御部304に出力する。
命令フェッチ制御部304は、配置アドレス情報S4及び配置アドレス情報S5を基に、命令フェッチアクセスのアクセス対象空間を判定し、アクセス対象のメモリ(ここでは、第1サブ領域301a、第2サブ領域301b、もしくは主記憶装置110)へアクセスを行うようになっている。
図10のように構成することにより、命令RAMのマクロ点数を増やすことなく、複数の命令列を同時に命令RAMに格納できるので、ハードウェアの増加を抑えつつ、柔軟なプログラムを開発できる。
なお、ステップST002やステップST202における転送の手段は、DMAコントローラ130によるDMA転送に限られない。具体的には、例えば、上位のプロセッサ等で行われ得るようにしても良い。
また、上記の各実施形態や変形例は、命令RAM上で実行される複数の命令列のアドレスの関係が重複しないように、命令列を配置できるので、圧縮された命令列を展開しながら転送する場合にも適用可能である。
また、上記の各実施形態や変形例で説明した各構成要素は、論理的に可能な範囲で種々に組み合わせてもよい。例えば、実施形態3のプロセッサ200や実施形態3の変形例であるプロセッサ300においても、配置アドレス設定部に対して、スタートアドレス設定レジスタ122a及びメモリサイズ設定レジスタ122b(あるいはスタートアドレス設定レジスタ122a及びエンドアドレス設定レジスタ122c)を設けて、命令RAMを配置する領域を設定できるようにしてもよい。
その他、本発明の要旨を変えない範囲に於いて、種々変形実施可能なことはもちろんである。
本発明に係るデータ処理装置は、ハードウェアの増加を抑えつつ、従来のデバッグ装置及びデバッガを利用して、プログラムのデバッグが可能になるという効果を有し、フラッシュメモリなどに記憶された命令列をRAMに転送して命令を実行するプロセッサを備えたデータ処理装置等として有用である。
実施形態1に係るデータ処理装置100の構成を示すブロック図である。 プロセッサ120の概略構成を示すブロック図である。 データ処理装置100の動作を説明するフローチャートである。 実施形態1における命令列の配置を示す図である。 実施形態1の変形例に係る配置アドレス設定部122の構成を示すブロック図である。 実施形態2に係るデータ処理装置の動作を説明するフローチャートである。 実施形態2における命令列の配置を示す図である。 実施形態2の変形例に係る配置アドレス設定部122の構成を示すブロック図である。 実施形態3に係るプロセッサ200の概略構成を示したブロック図である。 実施形態3の変形例に係るプロセッサ300の構成を示すブロック図である。 従来のデータ処理装置における命令列の配置の一例を示す図である。
符号の説明
100 データ処理装置
110 主記憶装置
120 プロセッサ
121 命令RAM
122 配置アドレス設定部
122a スタートアドレス設定レジスタ
122b メモリサイズ設定レジスタ
122c エンドアドレス設定レジスタ
123 命令フェッチ制御部
130 DMAコントローラ
140 デバッグ装置
150 バス
200 プロセッサ
201 第1命令RAM
202 第2命令RAM
203 第1命令RAM配置アドレス設定部
204 第2命令RAM配置アドレス設定部
205 命令フェッチ制御部
300 プロセッサ
301 命令RAM
301a 第1サブ領域
301b 第2サブ領域
302 第1サブ領域配置アドレス設定部
303 第2サブ領域配置アドレス設定部
304 命令フェッチ制御部
S1〜S5 配置アドレス情報

Claims (10)

  1. 複数の命令列を格納する主記憶装置と、前記主記憶装置から転送された命令列を実行するプロセッサとを有したデータ処理装置であって、
    前記プロセッサは、
    前記主記憶装置から転送された命令列を格納する命令RAMと、
    前記命令RAMに格納する命令列のメモリ空間上の配置アドレスが、他の命令列の命令RAM上の配置アドレスと重複しないように、前記命令RAMのメモリ空間上の配置アドレスを設定する配置アドレス設定部と、
    前記配置アドレス設定部が設定した配置アドレスを示す情報である配置アドレス情報を基に、命令フェッチアクセスのアクセス対象空間を判定し、判定結果に応じ、前記主記憶装置及び前記命令RAMの何れかに対してアクセスを行う命令フェッチ制御部と、
    を備えていることを特徴とするデータ処理装置。
  2. 請求項1のデータ処理装置であって、
    前記配置アドレス設定部は、転送される命令列の前記主記憶装置上のアドレスと同一のアドレスを、前記命令RAMの配置アドレスとして設定するように構成されていることを特徴とするデータ処理装置。
  3. 請求項1のデータ処理装置であって、
    前記配置アドレス設定部は、前記命令RAMを配置する領域の先頭のアドレスを設定するスタートアドレス設定レジスタと、前記命令RAMを配置する領域の容量を設定するメモリサイズ設定レジスタとを備え、
    前記配置アドレス設定部は、前記スタートアドレス設定レジスタに設定されたアドレスから始まる、前記メモリサイズ設定レジスタに設定された容量分の領域に、前記命令RAMのメモリ空間上の配置アドレスを設定するように構成されていることを特徴とするデータ処理装置。
  4. 請求項1のデータ処理装置であって、
    前記配置アドレス設定部は、前記命令RAMを配置する領域の先頭のアドレスを設定するスタートアドレス設定レジスタと、前記命令RAMを配置する領域の末尾のアドレスを設定するエンドアドレス設定レジスタとを備え、
    前記配置アドレス設定部は、前記スタートアドレス設定レジスタに設定されたアドレスから、前記エンドアドレス設定レジスタに設定されたアドレスまでの領域に、前記命令RAMのメモリ空間上の配置アドレスを設定するように構成されていることを特徴とするデータ処理装置。
  5. 請求項3のデータ処理装置であって、
    前記配置アドレス設定部は、前記命令RAMの容量を、前記メモリサイズ設定レジスタに設定するように構成されていることを特徴とするデータ処理装置。
  6. 請求項3のデータ処理装置であって、
    前記配置アドレス設定部は、前記命令RAMに転送する命令列の容量を、前記メモリサイズ設定レジスタに設定するように構成されていることを特徴とするデータ処理装置。
  7. 請求項4のデータ処理装置であって、
    前記配置アドレス設定部は、前記スタートアドレス設定レジスタに設定されているアドレスに、前記命令RAMの容量を加算した値を、前記エンドアドレス設定レジスタに対して設定するように構成されていることを特徴とするデータ処理装置。
  8. 請求項4のデータ処理装置であって、
    前記配置アドレス設定部は、前記スタートアドレス設定レジスタに設定されているアドレスに、前記命令RAMに転送する命令列の容量を加算した値を、前記エンドアドレス設定レジスタに対して設定するように構成されていることを特徴とするデータ処理装置。
  9. 請求項1のデータ処理装置であって、
    前記命令RAMは、複数が設けられており、
    前記配置アドレス設定部は、前記複数の命令RAMの各々に対して1つずつが対応して設けられていることを特徴とするデータ処理装置。
  10. 請求項1のデータ処理装置であって、
    前記命令RAMは、少なくとも2つ以上の記憶領域に分割されており、
    前記配置アドレス設定部は、分割された記憶領域の各々に対して1つずつが対応して設けられていることを特徴とするデータ処理装置。
JP2006325565A 2006-12-01 2006-12-01 データ処理装置 Pending JP2008140124A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006325565A JP2008140124A (ja) 2006-12-01 2006-12-01 データ処理装置
US11/878,198 US20080133838A1 (en) 2006-12-01 2007-07-23 Data processing device
CNA2007101624182A CN101192139A (zh) 2006-12-01 2007-09-29 数据处理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006325565A JP2008140124A (ja) 2006-12-01 2006-12-01 データ処理装置

Publications (1)

Publication Number Publication Date
JP2008140124A true JP2008140124A (ja) 2008-06-19

Family

ID=39477217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006325565A Pending JP2008140124A (ja) 2006-12-01 2006-12-01 データ処理装置

Country Status (3)

Country Link
US (1) US20080133838A1 (ja)
JP (1) JP2008140124A (ja)
CN (1) CN101192139A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645870B2 (en) 2013-06-27 2017-05-09 Atmel Corporation System for debugging DMA system data transfer
US9830245B2 (en) 2013-06-27 2017-11-28 Atmel Corporation Tracing events in an autonomous event system
US9256399B2 (en) * 2013-06-27 2016-02-09 Atmel Corporation Breaking program execution on events

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US43717A (en) * 1864-08-02 Improvement in shingles for roofing
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JP2642039B2 (ja) * 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US6246396B1 (en) * 1997-04-30 2001-06-12 Canon Kabushiki Kaisha Cached color conversion method and apparatus

Also Published As

Publication number Publication date
CN101192139A (zh) 2008-06-04
US20080133838A1 (en) 2008-06-05

Similar Documents

Publication Publication Date Title
JP4519738B2 (ja) メモリアクセス制御装置
JP4766487B2 (ja) プログラム改ざん検出装置
US9043806B2 (en) Information processing device and task switching method
JP2009157542A (ja) 情報処理装置及びそのスタックポインタ更新方法
US7363544B2 (en) Program debug method and apparatus
JP2008009721A (ja) 評価システム及びその評価方法
JP2008102850A (ja) 情報処理装置及び情報処理方法
JP2010500682A (ja) フラッシュメモリアクセス回路
CN111868684A (zh) 为芯片打补丁的方法及芯片
JP2005071303A (ja) プログラム起動装置
JP4334598B1 (ja) 情報処理装置およびエラー訂正方法
JP2007206933A (ja) 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法
JP2008140124A (ja) データ処理装置
WO2009098737A1 (ja) 外部デバイスアクセス装置、その制御方法及びシステムlsi
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP5737290B2 (ja) データ処理装置および方法、そのプロセッサユニット
JP2001265620A (ja) Romのプログラムデバッグ方式
JP2008052533A (ja) デバッグ装置
JP2006221606A (ja) データプロセッサ
JP2010015364A (ja) マルチプロセッサシステム及び情報処理装置
JP2009271597A (ja) プロセッサ
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
US9342359B2 (en) Information processing system and information processing method
JP2004185356A (ja) デバッグ装置
JP2003178596A (ja) 半導体集積回路