JPH1097441A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH1097441A JPH1097441A JP8248166A JP24816696A JPH1097441A JP H1097441 A JPH1097441 A JP H1097441A JP 8248166 A JP8248166 A JP 8248166A JP 24816696 A JP24816696 A JP 24816696A JP H1097441 A JPH1097441 A JP H1097441A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- specific
- memory
- data
- request signal
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 外部からデータ転送、信号数のカウント又は
デバッグ要求があったときに、CPUの外部に接続する
回路を少なくして、CPUが効率良くかつ高速に処理で
きるデータ処理装置を提供する。 【解決手段】 外部から入力される転送、パルス数のカ
ウント又はデバッグの要求信号により特定命令要求信号
24をCPUの要求ラッチ16に出力する特定命令要求
信号生成部が設けられる。CPUのセレクタ14の選択
により、CPUがプログラムカウンタ1に応じた命令を
取り出そうとする時点で要求ラッチ16が特定命令要求
信号24を検出しているときには、プログラムカウンタ
1に応じた命令の読み込みに代えて、命令コード15の
特定実行命令を読み込み、その特定実行命令を実行させ
る。特定実行命令の実行中には、プログラムカウンタ1
の増加及びメモリへのアクセスを禁止する。
デバッグ要求があったときに、CPUの外部に接続する
回路を少なくして、CPUが効率良くかつ高速に処理で
きるデータ処理装置を提供する。 【解決手段】 外部から入力される転送、パルス数のカ
ウント又はデバッグの要求信号により特定命令要求信号
24をCPUの要求ラッチ16に出力する特定命令要求
信号生成部が設けられる。CPUのセレクタ14の選択
により、CPUがプログラムカウンタ1に応じた命令を
取り出そうとする時点で要求ラッチ16が特定命令要求
信号24を検出しているときには、プログラムカウンタ
1に応じた命令の読み込みに代えて、命令コード15の
特定実行命令を読み込み、その特定実行命令を実行させ
る。特定実行命令の実行中には、プログラムカウンタ1
の増加及びメモリへのアクセスを禁止する。
Description
【0001】
【発明の属する技術分野】本発明は、プログラムカウン
タに応じた命令を、アドレスバス及びデータバスを介し
てメモリにアクセスして読み込み、読み込んだ命令に基
づきその命令を実行すると共に、その命令を読み込む毎
にプログラムカウンタを増加させる中央処理装置を備え
たデータ処理装置であって、特に、中央処理装置の外部
からのデータ転送、信号のパルス数のカウント及びデバ
ッグ等の特定の要求信号に応じて処理し得るデータ処理
装置に関するものである。
タに応じた命令を、アドレスバス及びデータバスを介し
てメモリにアクセスして読み込み、読み込んだ命令に基
づきその命令を実行すると共に、その命令を読み込む毎
にプログラムカウンタを増加させる中央処理装置を備え
たデータ処理装置であって、特に、中央処理装置の外部
からのデータ転送、信号のパルス数のカウント及びデバ
ッグ等の特定の要求信号に応じて処理し得るデータ処理
装置に関するものである。
【0002】
【従来の技術】従来の高速処理が可能な中央処理装置の
内、3段のパイプラインを備えたものでは、図6に示す
ように、プログラムカウンタ101の値をアドレスバス
120に出力し、そのアドレスに格納されている命令
(インストラクション:Instruction)をデータバス12
1から読み出し、第1命令ラッチ(Latch)108に取り
込む。今、あるクロックタイミングで第1命令ラッチ1
08に取り込まれた値は、命令デコード部111にて解
読される。次のクロックで第1命令ラッチ108の内容
は第2命令ラッチ107に送られると共に、命令デコー
ド部111での解読内容は命令実行部110に送られ、
バス制御部109及びリードデータラッチ105若しく
はライトデータラッチ106を制御し、これによってデ
ータをメモリから読み出したり、メモリに書き込んだり
又はレジスタ102、セレクタ103及び演算器(AL
U:Arithmetic and Logic Unit)104を制御して計算
を行ったりする。
内、3段のパイプラインを備えたものでは、図6に示す
ように、プログラムカウンタ101の値をアドレスバス
120に出力し、そのアドレスに格納されている命令
(インストラクション:Instruction)をデータバス12
1から読み出し、第1命令ラッチ(Latch)108に取り
込む。今、あるクロックタイミングで第1命令ラッチ1
08に取り込まれた値は、命令デコード部111にて解
読される。次のクロックで第1命令ラッチ108の内容
は第2命令ラッチ107に送られると共に、命令デコー
ド部111での解読内容は命令実行部110に送られ、
バス制御部109及びリードデータラッチ105若しく
はライトデータラッチ106を制御し、これによってデ
ータをメモリから読み出したり、メモリに書き込んだり
又はレジスタ102、セレクタ103及び演算器(AL
U:Arithmetic and Logic Unit)104を制御して計算
を行ったりする。
【0003】このとき同時に、プログラムカウンタ10
1の値はプログラムカウンタインクリメンタ100で一
定値だけ加算されプログラムカウンタ101に書き込ま
れ、次いで、次の命令が第1命令ラッチ108に取り込
まれる。
1の値はプログラムカウンタインクリメンタ100で一
定値だけ加算されプログラムカウンタ101に書き込ま
れ、次いで、次の命令が第1命令ラッチ108に取り込
まれる。
【0004】一方、割り込み要求信号123が入力され
ると割り込み処理部112が命令実行部110やプログ
ラムカウンタ101を制御し、第1命令ラッチ108に
現在格納されている命令を無効にしプログラムカウンタ
101を予め設定された値にすることにより、割り込み
処理プログラムに分岐するようになっている。
ると割り込み処理部112が命令実行部110やプログ
ラムカウンタ101を制御し、第1命令ラッチ108に
現在格納されている命令を無効にしプログラムカウンタ
101を予め設定された値にすることにより、割り込み
処理プログラムに分岐するようになっている。
【0005】ここで、従来のデータ処理装置では、外部
からの要求によりデータを高速に転送したい場合には、
図7に示すように、DMA(Direct Memory Access) コ
ントローラ140を用いていた。DMAコントローラ1
40では、転送要求信号が入力されると例えばバスの開
放等のバスの調停(Arbitration)を行い、中央処理装置
(以下、「CPU(Central Processing Unit)」と称す
る)130を停止させる。また、DMAコントローラ1
40がメモリアクセスやアドレス出力を行う。
からの要求によりデータを高速に転送したい場合には、
図7に示すように、DMA(Direct Memory Access) コ
ントローラ140を用いていた。DMAコントローラ1
40では、転送要求信号が入力されると例えばバスの開
放等のバスの調停(Arbitration)を行い、中央処理装置
(以下、「CPU(Central Processing Unit)」と称す
る)130を停止させる。また、DMAコントローラ1
40がメモリアクセスやアドレス出力を行う。
【0006】したがって、CPU130の処理速度が速
くなるに伴って、アドレスや制御信号を切り替える場合
等においてバスの調停のタイミングが難しくなる。
くなるに伴って、アドレスや制御信号を切り替える場合
等においてバスの調停のタイミングが難しくなる。
【0007】また、DMAコントローラ140は内部に
アドレスカウンタ141や転送カウンタ142等を有す
るため、データ処理装置の回路規模が大きくなる。
アドレスカウンタ141や転送カウンタ142等を有す
るため、データ処理装置の回路規模が大きくなる。
【0008】一方、最近では、外部からの要求によりデ
ータを高速に転送する場合には、同図に示すように、M
MU(Memory Management Unit) 190を使用するシス
テムが増えている。MMU190は、記憶装置を有効利
用するために、CPU130が出力するアドレス(仮想
アドレス)を実際にメモリデバイスの存在するアドレス
(物理アドレス)に変換する回路であり、その変換方法
はプログラマブルになっている。
ータを高速に転送する場合には、同図に示すように、M
MU(Memory Management Unit) 190を使用するシス
テムが増えている。MMU190は、記憶装置を有効利
用するために、CPU130が出力するアドレス(仮想
アドレス)を実際にメモリデバイスの存在するアドレス
(物理アドレス)に変換する回路であり、その変換方法
はプログラマブルになっている。
【0009】しかし、DMAコントローラ140はCP
U130の外部に取り付けられており、MMU190の
アドレス変換方法を知ることができないので、常に物理
アドレスを指定してしか転送することができない。
U130の外部に取り付けられており、MMU190の
アドレス変換方法を知ることができないので、常に物理
アドレスを指定してしか転送することができない。
【0010】そこで、CPU130とDMAコントロー
ラ140とを1つにしてその後にMMU190を接続す
れば問題は解決するが、MMU190を内蔵したCPU
130に、後からDMAコントローラ140を追加する
場合にはこの方法を採ることができない。
ラ140とを1つにしてその後にMMU190を接続す
れば問題は解決するが、MMU190を内蔵したCPU
130に、後からDMAコントローラ140を追加する
場合にはこの方法を採ることができない。
【0011】一方、同図に示すように、最近のデータ処
理装置では、キャッシュ制御回路180を内蔵したCP
U130が増加している。このキャッシュ制御回路18
0は、CPU130が最近アクセスしたメモリのアドレ
ス及び内容を小容量の高速メモリ、つまりキャッシュメ
モリに記録しておき、CPU130がデータ及び命令コ
ードを必要とするときには、まずキャッシュメモリの中
に含まれていないか確認し、含まれていればキャッシュ
メモリから読み出し、含まれていなければ外部メモリか
ら読み出すというものである。なお、読み出す内容以外
に書き込む内容もキャッシュメモリに格納することがで
きる。
理装置では、キャッシュ制御回路180を内蔵したCP
U130が増加している。このキャッシュ制御回路18
0は、CPU130が最近アクセスしたメモリのアドレ
ス及び内容を小容量の高速メモリ、つまりキャッシュメ
モリに記録しておき、CPU130がデータ及び命令コ
ードを必要とするときには、まずキャッシュメモリの中
に含まれていないか確認し、含まれていればキャッシュ
メモリから読み出し、含まれていなければ外部メモリか
ら読み出すというものである。なお、読み出す内容以外
に書き込む内容もキャッシュメモリに格納することがで
きる。
【0012】しかしながら、外部に取り付けられた上記
DMAコントローラ140からはキャッシュ制御回路1
80が見えないし、キャッシュ制御回路180もDMA
コントローラ140の動作が分からない。このため、キ
ャッシュメモリに格納されているアドレスのデータがD
MAコントローラ140の転送により書き換えられても
気付かずにキャッシュメモリ内の古いデータを参照する
ことになり、問題となる。
DMAコントローラ140からはキャッシュ制御回路1
80が見えないし、キャッシュ制御回路180もDMA
コントローラ140の動作が分からない。このため、キ
ャッシュメモリに格納されているアドレスのデータがD
MAコントローラ140の転送により書き換えられても
気付かずにキャッシュメモリ内の古いデータを参照する
ことになり、問題となる。
【0013】すなわち、外部のメモリ内のデータは、初
めてアクセスされるとキャッシュメモリに入るが、その
メモリの同じアドレスのデータがDMA処理を行った
後、別のデータに書き変わってしまう。本来、メモリ内
のデータとキャッシュメモリ内のデータとは一致してい
るはずであるが、DMA処理をした時には、全く別のデ
ータになっているので矛盾が生ずる。
めてアクセスされるとキャッシュメモリに入るが、その
メモリの同じアドレスのデータがDMA処理を行った
後、別のデータに書き変わってしまう。本来、メモリ内
のデータとキャッシュメモリ内のデータとは一致してい
るはずであるが、DMA処理をした時には、全く別のデ
ータになっているので矛盾が生ずる。
【0014】そこで、これらの問題を解決するために、
DMA処理を行わないで、図8に示すように、割り込み
によりデータを転送していた。
DMA処理を行わないで、図8に示すように、割り込み
によりデータを転送していた。
【0015】割り込みによるデータの転送では、CPU
130に割り込み要求信号123が入力されると、CP
U130は予め決まったアドレスにジャンプしてプログ
ラムを実行する。したがって、ジャンプ先にデータ転送
のためのプログラムを書いておくことにより、CPU1
30がキャッシュ制御回路180やMMU190を介し
てメモリにアクセスするので上記のような問題が解決で
きる。すなわち、DMA処理とは異なり、CPU130
がデータを監視しながら処理するので問題がない。
130に割り込み要求信号123が入力されると、CP
U130は予め決まったアドレスにジャンプしてプログ
ラムを実行する。したがって、ジャンプ先にデータ転送
のためのプログラムを書いておくことにより、CPU1
30がキャッシュ制御回路180やMMU190を介し
てメモリにアクセスするので上記のような問題が解決で
きる。すなわち、DMA処理とは異なり、CPU130
がデータを監視しながら処理するので問題がない。
【0016】
【発明が解決しようとする課題】しかしながら、上記従
来のデータ処理装置では、割り込み処理に余分な手順が
必要であり多くのクロックサイクルを必要とするので、
高速な転送には向かないという問題点を有している。
来のデータ処理装置では、割り込み処理に余分な手順が
必要であり多くのクロックサイクルを必要とするので、
高速な転送には向かないという問題点を有している。
【0017】この問題を詳細に説明するために、具体例
として、メモリ131からI/O132にデータ転送す
る場合を考える。
として、メモリ131からI/O132にデータ転送す
る場合を考える。
【0018】まず、DMAコントローラ140を用いる
場合について説明する。図7及び図9に示すように、例
えば、アドレスA1、A2…に格納されている命令デー
タD1、D2…の実行中に、外部からの要求があり、メ
モリ131に格納されたアドレスTの命令データDTを
I/O132へ転送する場合には、DMAコントローラ
140の転送制御部143に転送要求信号が入力され
る。これにより、転送制御部143はI/O132に対
してアクノレッジ信号127を出力し、I/O132は
このアクノレッジ信号127によりデータDTを取り込
む。なお、このアドレスTの命令データDTをI/O1
32に転送している間の1クロックにおいては、CPU
130は停止状態となっている。
場合について説明する。図7及び図9に示すように、例
えば、アドレスA1、A2…に格納されている命令デー
タD1、D2…の実行中に、外部からの要求があり、メ
モリ131に格納されたアドレスTの命令データDTを
I/O132へ転送する場合には、DMAコントローラ
140の転送制御部143に転送要求信号が入力され
る。これにより、転送制御部143はI/O132に対
してアクノレッジ信号127を出力し、I/O132は
このアクノレッジ信号127によりデータDTを取り込
む。なお、このアドレスTの命令データDTをI/O1
32に転送している間の1クロックにおいては、CPU
130は停止状態となっている。
【0019】一方、割り込みによりデータを転送する場
合には、図10に示すように、アドレスA1、A2・・
・に格納されている命令データD1、D2・・・の実行
中にアドレスTのメモリの命令データDTを上記I/O
132へ転送するに際して、できるだけ高速に処理でき
るように、アドレスTとメモリライト信号とによりデー
タDTを取り込む。
合には、図10に示すように、アドレスA1、A2・・
・に格納されている命令データD1、D2・・・の実行
中にアドレスTのメモリの命令データDTを上記I/O
132へ転送するに際して、できるだけ高速に処理でき
るように、アドレスTとメモリライト信号とによりデー
タDTを取り込む。
【0020】ここで、両者を比較すべく、CPU130
の実行内容を見ると、図9のDMAコントローラ140
を用いたデータ転送では、転送による命令実行の遅れは
1クロックであるが、図10の割り込みによる場合に
は、9クロックもかかっている。この理由は、割り込み
の場合には、割り込み処理プログラムを実行するため
に、余分の命令データを読み込み、かつ割り込みからの
リターン命令を読み込む必要があるためである。
の実行内容を見ると、図9のDMAコントローラ140
を用いたデータ転送では、転送による命令実行の遅れは
1クロックであるが、図10の割り込みによる場合に
は、9クロックもかかっている。この理由は、割り込み
の場合には、割り込み処理プログラムを実行するため
に、余分の命令データを読み込み、かつ割り込みからの
リターン命令を読み込む必要があるためである。
【0021】なお、上記の割り込み例は、最も高速に割
り込み処理ができる場合を示しており、この例よりもさ
らに多くのクロックがかかる場合もある。
り込み処理ができる場合を示しており、この例よりもさ
らに多くのクロックがかかる場合もある。
【0022】また、特公昭59−6413号公報に開示
されるように、CPUのみで高速にデータ転送する方法
もあるが、各命令のための専用レジスタ等の増加により
回路追加量が多くなり、かつ、マイクロ命令の割り込み
で処理しているため転送速度に限界がある。
されるように、CPUのみで高速にデータ転送する方法
もあるが、各命令のための専用レジスタ等の増加により
回路追加量が多くなり、かつ、マイクロ命令の割り込み
で処理しているため転送速度に限界がある。
【0023】一方、データ処理装置においては、特定信
号のパルス数を数えたい場合がある。このように特定信
号のパルス数を数えたい場合には、図7のように、CP
U130以外に信号カウンタ151とクロック生成部1
52とを含むパルスカウンタ150等の回路が必要にな
ったり、図8のような構成による割り込みによって時間
をかけて処理する必要がある。
号のパルス数を数えたい場合がある。このように特定信
号のパルス数を数えたい場合には、図7のように、CP
U130以外に信号カウンタ151とクロック生成部1
52とを含むパルスカウンタ150等の回路が必要にな
ったり、図8のような構成による割り込みによって時間
をかけて処理する必要がある。
【0024】また、データ処理装置におけるプログラム
のデバッグをすべくCPU130の状態を外部に知らせ
たりCPU130のレジスタ等に値を設定したりする場
合も、図8に示す割り込みで処理する場合が多い。その
ため、CPU130の負担が大きく、CPU130の本
来の処理の効率が低下する等の問題がある。
のデバッグをすべくCPU130の状態を外部に知らせ
たりCPU130のレジスタ等に値を設定したりする場
合も、図8に示す割り込みで処理する場合が多い。その
ため、CPU130の負担が大きく、CPU130の本
来の処理の効率が低下する等の問題がある。
【0025】本発明は、上記従来の問題点に鑑みなされ
たものであって、その目的は、データを転送したり、信
号の数を数えたり、デバッグのために中央処理装置の状
態を外部に出力したい場合に、外部に接続する回路を少
なくして、中央処理装置が効率良くかつ高速に処理でき
るデータ処理装置を提供することにある。
たものであって、その目的は、データを転送したり、信
号の数を数えたり、デバッグのために中央処理装置の状
態を外部に出力したい場合に、外部に接続する回路を少
なくして、中央処理装置が効率良くかつ高速に処理でき
るデータ処理装置を提供することにある。
【0026】
【課題を解決するための手段】請求項1に係る発明のデ
ータ処理装置は、上記課題を解決するために、プログラ
ムカウンタに応じた命令をアドレスバス及びデータバス
を介してメモリにアクセスして読み込み、読み込んだ命
令に基づきその命令を実行すると共に、その命令を読み
込む毎にプログラムカウンタを増加させる中央処理装置
を備えたデータ処理装置において、中央処理装置の外部
から入力される転送、パルス数のカウント又はデバッグ
の特定命令を実行させるための要求信号を受けてこれら
いずれかの要求信号があったことを中央処理装置に知ら
せるべく上記各要求信号に対応する特定命令要求信号を
生成して出力する特定命令要求信号生成手段が設けられ
ると共に、上記中央処理装置には、上記特定命令要求信
号を検出する特定命令要求信号検出手段と、外部から入
力された転送、パルス数のカウント又はデバッグの特定
命令を処理するための特定実行命令を保管しておくため
の実行命令保管手段と、上記中央処理装置がプログラム
カウンタに応じた命令を取り出そうとする時点で、上記
特定命令要求信号検出手段が特定命令要求信号を検出し
ているときには、上記プログラムカウンタに応じた命令
の読み込みに代えて、上記実行命令保管手段に保管され
た転送、パルス数のカウント又はデバッグのいずれかの
特定実行命令を読み込み、その特定実行命令を実行さ
せ、かつこの特定実行命令の実行中には、プログラムカ
ウンタの増加及びメモリへのアクセスを禁止させるよう
に選択する選択手段とが設けられていることを特徴とし
ている。
ータ処理装置は、上記課題を解決するために、プログラ
ムカウンタに応じた命令をアドレスバス及びデータバス
を介してメモリにアクセスして読み込み、読み込んだ命
令に基づきその命令を実行すると共に、その命令を読み
込む毎にプログラムカウンタを増加させる中央処理装置
を備えたデータ処理装置において、中央処理装置の外部
から入力される転送、パルス数のカウント又はデバッグ
の特定命令を実行させるための要求信号を受けてこれら
いずれかの要求信号があったことを中央処理装置に知ら
せるべく上記各要求信号に対応する特定命令要求信号を
生成して出力する特定命令要求信号生成手段が設けられ
ると共に、上記中央処理装置には、上記特定命令要求信
号を検出する特定命令要求信号検出手段と、外部から入
力された転送、パルス数のカウント又はデバッグの特定
命令を処理するための特定実行命令を保管しておくため
の実行命令保管手段と、上記中央処理装置がプログラム
カウンタに応じた命令を取り出そうとする時点で、上記
特定命令要求信号検出手段が特定命令要求信号を検出し
ているときには、上記プログラムカウンタに応じた命令
の読み込みに代えて、上記実行命令保管手段に保管され
た転送、パルス数のカウント又はデバッグのいずれかの
特定実行命令を読み込み、その特定実行命令を実行さ
せ、かつこの特定実行命令の実行中には、プログラムカ
ウンタの増加及びメモリへのアクセスを禁止させるよう
に選択する選択手段とが設けられていることを特徴とし
ている。
【0027】上記の発明によれば、中央処理装置の外部
から入力される転送、パルス数のカウント又はデバッグ
の特定命令を実行させるための要求信号があると、特定
命令要求信号生成手段が上記各要求信号に対応する特定
命令要求信号を生成して中央処理装置に出力する。
から入力される転送、パルス数のカウント又はデバッグ
の特定命令を実行させるための要求信号があると、特定
命令要求信号生成手段が上記各要求信号に対応する特定
命令要求信号を生成して中央処理装置に出力する。
【0028】中央処理装置は、特定命令要求信号検出手
段にてこの特定命令要求信号を検出する。
段にてこの特定命令要求信号を検出する。
【0029】一方、中央処理装置がプログラムカウンタ
に応じた命令を取り出そうとする時点で、上記特定命令
要求信号検出手段が特定命令要求信号を検出していると
きには、選択手段が、上記プログラムカウンタに応じた
命令の読み込みに代えて、実行命令保管手段に保管され
た転送、パルス数のカウント又はデバッグのいずれかの
特定実行命令を読み込み、その特定実行命令を実行さ
せ、かつこの特定実行命令の実行中には、プログラムカ
ウンタの増加及びメモリへのアクセスを禁止させるよう
に選択する。
に応じた命令を取り出そうとする時点で、上記特定命令
要求信号検出手段が特定命令要求信号を検出していると
きには、選択手段が、上記プログラムカウンタに応じた
命令の読み込みに代えて、実行命令保管手段に保管され
た転送、パルス数のカウント又はデバッグのいずれかの
特定実行命令を読み込み、その特定実行命令を実行さ
せ、かつこの特定実行命令の実行中には、プログラムカ
ウンタの増加及びメモリへのアクセスを禁止させるよう
に選択する。
【0030】このように、中央処理装置の外部から転
送、パルス数のカウント又はデバッグの特定命令があっ
た場合に、データ処理装置は、割り込みと同様な動作に
て処理する。しかし、割り込みのように中央処理装置の
処理を中断し、ある決まったアドレスに分岐し、処理が
終了してから元のアドレスに戻り元の処理を再開するの
ではなく、プログラムカウンタの増加及びメモリへのア
クセスを禁止させながら、転送やパルス数のカウントや
デバッグ情報のやり取りを行う特定命令を読み込んで実
行させる。そして、実行後は、通常通りプログラムカウ
ンタを増加させる。
送、パルス数のカウント又はデバッグの特定命令があっ
た場合に、データ処理装置は、割り込みと同様な動作に
て処理する。しかし、割り込みのように中央処理装置の
処理を中断し、ある決まったアドレスに分岐し、処理が
終了してから元のアドレスに戻り元の処理を再開するの
ではなく、プログラムカウンタの増加及びメモリへのア
クセスを禁止させながら、転送やパルス数のカウントや
デバッグ情報のやり取りを行う特定命令を読み込んで実
行させる。そして、実行後は、通常通りプログラムカウ
ンタを増加させる。
【0031】このため、分岐処理に必要な時間を省くこ
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
【0032】一方、上記の特定命令の処理に際しては、
1つの中央処理装置にて様々な処理を行わせ、中央処理
装置に内蔵されるレジスタやメモリアクセス機能を有効
に利用することで実現する。
1つの中央処理装置にて様々な処理を行わせ、中央処理
装置に内蔵されるレジスタやメモリアクセス機能を有効
に利用することで実現する。
【0033】例えば、中央処理装置にメモリアクセスす
る命令を実行命令保管手段に保管しておくことで、デー
タの転送を行うことができる。この場合、中央処理装置
の機能を使ってデータ転送を行うため、MMUやキャッ
シュ等を内蔵していても、これらの機能を生かした転送
が可能となる。したがって、全体の回路規模を小さくで
き、また、バスの調整も不要になる。
る命令を実行命令保管手段に保管しておくことで、デー
タの転送を行うことができる。この場合、中央処理装置
の機能を使ってデータ転送を行うため、MMUやキャッ
シュ等を内蔵していても、これらの機能を生かした転送
が可能となる。したがって、全体の回路規模を小さくで
き、また、バスの調整も不要になる。
【0034】同様に、特定のレジスタの値を増加させる
特定命令を実行させることでパルス数をカウントするこ
とができる。この場合、中央処理装置の内部のレジスタ
を使用してカウントするので、外部には要求信号を発生
させる回路のみで実現できる。
特定命令を実行させることでパルス数をカウントするこ
とができる。この場合、中央処理装置の内部のレジスタ
を使用してカウントするので、外部には要求信号を発生
させる回路のみで実現できる。
【0035】さらに、中央処理装置のレジスタ値をメモ
リ等に書き込む特定命令を実行させれば、デバッグのた
めの情報を外部に出力させることができる。この場合、
外部には要求信号を発生させる回路及び出力された情報
を取り出す回路を追加するだけで実現できる。
リ等に書き込む特定命令を実行させれば、デバッグのた
めの情報を外部に出力させることができる。この場合、
外部には要求信号を発生させる回路及び出力された情報
を取り出す回路を追加するだけで実現できる。
【0036】したがって、データを転送したり、信号の
数を数えたり、デバッグのために中央処理装置の状態を
外部に出力したい場合に、外部に接続する回路を少なく
して、中央処理装置が効率良くかつ高速に処理できるデ
ータ処理装置を提供することができる。
数を数えたり、デバッグのために中央処理装置の状態を
外部に出力したい場合に、外部に接続する回路を少なく
して、中央処理装置が効率良くかつ高速に処理できるデ
ータ処理装置を提供することができる。
【0037】請求項2に係る発明のデータ処理装置は、
上記課題を解決するために、請求項1記載のデータ処理
装置において、上記実行命令保管手段の特定実行命令
は、書換え可能に形成されていることを特徴としてい
る。
上記課題を解決するために、請求項1記載のデータ処理
装置において、上記実行命令保管手段の特定実行命令
は、書換え可能に形成されていることを特徴としてい
る。
【0038】上記の発明によれば、実行命令保管手段の
特定実行命令は、書換え可能に形成されているので、1
つの小さい容量の実行命令保管手段にて、外部から転
送、パルス数のカウント又はデバッグの各特定命令に対
応する特定実行命令に切り換えることができる。
特定実行命令は、書換え可能に形成されているので、1
つの小さい容量の実行命令保管手段にて、外部から転
送、パルス数のカウント又はデバッグの各特定命令に対
応する特定実行命令に切り換えることができる。
【0039】したがって、回路数を少なくしてデータ処
理装置が大型化するのを防止することができる。
理装置が大型化するのを防止することができる。
【0040】請求項3に係る発明のデータ処理装置は、
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、上記実行命令保管手段の特定実行
命令は、特定命令がデバッグを示す場合には、中央処理
装置内の全てのレジスタの内容やフラッグの値を外部に
出力するための情報外部出力命令からなっていることを
特徴としている。
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、上記実行命令保管手段の特定実行
命令は、特定命令がデバッグを示す場合には、中央処理
装置内の全てのレジスタの内容やフラッグの値を外部に
出力するための情報外部出力命令からなっていることを
特徴としている。
【0041】すなわち、従来であれば、プログラムのデ
バッグを行う場合には、割り込みにより処理しなければ
ならなかったので、高速処理することが困難であった。
バッグを行う場合には、割り込みにより処理しなければ
ならなかったので、高速処理することが困難であった。
【0042】しかし、上記の発明によれば、特定命令が
デバッグを示す場合には、上記実行命令保管手段の特定
実行命令は、中央処理装置内の全てのレジスタの内容や
フラッグの値を外部に出力するための情報外部出力命令
となる。
デバッグを示す場合には、上記実行命令保管手段の特定
実行命令は、中央処理装置内の全てのレジスタの内容や
フラッグの値を外部に出力するための情報外部出力命令
となる。
【0043】したがって、中央処理装置のレジスタ値を
メモリ等に書き込むための情報外部出力命令を実行させ
れば、デバッグのための情報を外部に出力させることが
できる。この場合、外部には要求信号を発生させる回路
及び出力された情報を取り出す回路を追加するだけで実
現できる。
メモリ等に書き込むための情報外部出力命令を実行させ
れば、デバッグのための情報を外部に出力させることが
できる。この場合、外部には要求信号を発生させる回路
及び出力された情報を取り出す回路を追加するだけで実
現できる。
【0044】この結果、回路数を少なくしてデータ処理
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができる。
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができる。
【0045】請求項4に係る発明のデータ処理装置は、
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、中央処理装置には、特定のパルス
数をカウントするためのパルスカウント用レジスタが設
けられると共に、上記選択手段は、外部から入力される
要求信号が特定のパルス数のカウントを示す場合には、
上記パルスカウント用レジスタの値を1ずつ増加させる
ことを特徴としている。
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、中央処理装置には、特定のパルス
数をカウントするためのパルスカウント用レジスタが設
けられると共に、上記選択手段は、外部から入力される
要求信号が特定のパルス数のカウントを示す場合には、
上記パルスカウント用レジスタの値を1ずつ増加させる
ことを特徴としている。
【0046】すなわち、従来では、特定のパルス数のカ
ウントを示す場合には、中央処理装置以外に専用のパル
スカウンタが必要であり、データ処理装置の大型化を招
いていた。
ウントを示す場合には、中央処理装置以外に専用のパル
スカウンタが必要であり、データ処理装置の大型化を招
いていた。
【0047】しかし、上記の発明によれば、特定のパル
ス数をカウントする場合には、選択手段の選択により、
特定のパルス数をカウントするために設けられている中
央処理装置のパルスカウント用レジスタの値を1ずつ増
加させることができる。この場合、中央処理装置の内部
のパルスカウント用レジスタを使用してカウントするの
で、外部には要求信号を発生させる回路のみで実現でき
る。
ス数をカウントする場合には、選択手段の選択により、
特定のパルス数をカウントするために設けられている中
央処理装置のパルスカウント用レジスタの値を1ずつ増
加させることができる。この場合、中央処理装置の内部
のパルスカウント用レジスタを使用してカウントするの
で、外部には要求信号を発生させる回路のみで実現でき
る。
【0048】したがって、回路数を少なくしてデータ処
理装置の小型化を図ることができる。
理装置の小型化を図ることができる。
【0049】請求項5に係る発明のデータ処理装置は、
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、上記実行命令保管手段の特定実行
命令は、特定命令が転送を示す場合には、メモリの内容
を読み込むためのメモリリード命令又はメモリに書き込
むためのメモリライト命令からなっていることを特徴と
している。
上記課題を解決するために、請求項1又は2記載のデー
タ処理装置において、上記実行命令保管手段の特定実行
命令は、特定命令が転送を示す場合には、メモリの内容
を読み込むためのメモリリード命令又はメモリに書き込
むためのメモリライト命令からなっていることを特徴と
している。
【0050】上記の発明によれば、特定命令が転送を示
す場合には、上記実行命令保管手段の特定実行命令とし
て、メモリの内容を読み込むためのメモリリード命令又
はメモリに書き込むためのメモリライト命令のいずれか
を選択すればメモリリード又はメモリライトが実行でき
る。この場合、中央処理装置の機能を使ってデータ転送
を行うため、MMUやキャッシュメモリ等を内蔵してい
ても、これらの機能を生かした転送が可能となる。さら
に、バスの調整が不要になる。
す場合には、上記実行命令保管手段の特定実行命令とし
て、メモリの内容を読み込むためのメモリリード命令又
はメモリに書き込むためのメモリライト命令のいずれか
を選択すればメモリリード又はメモリライトが実行でき
る。この場合、中央処理装置の機能を使ってデータ転送
を行うため、MMUやキャッシュメモリ等を内蔵してい
ても、これらの機能を生かした転送が可能となる。さら
に、バスの調整が不要になる。
【0051】したがって、データ転送に際して、回路数
を少なくしてデータ処理装置が大型化するのを防止する
ことができる。
を少なくしてデータ処理装置が大型化するのを防止する
ことができる。
【0052】請求項6に係る発明のデータ処理装置は、
上記課題を解決するために、請求項5記載のデータ処理
装置において、上記選択手段は、上記実行命令保管手段
の特定実行命令によりメモリリード命令又はメモリライ
ト命令を実行させるときには、メモリリード命令によっ
て読み込んだ値をレジスタに書き込むことなく、メモリ
ライト命令でデータバスをハイインピーダンスにさせる
ことを特徴としている。
上記課題を解決するために、請求項5記載のデータ処理
装置において、上記選択手段は、上記実行命令保管手段
の特定実行命令によりメモリリード命令又はメモリライ
ト命令を実行させるときには、メモリリード命令によっ
て読み込んだ値をレジスタに書き込むことなく、メモリ
ライト命令でデータバスをハイインピーダンスにさせる
ことを特徴としている。
【0053】すなわち、I/Oとメモリ間でデータのや
り取りを行う場合に、データバス上で中央処理装置から
のデータとのぶつかりを防ぐためにデータバスを開放し
なければならない。
り取りを行う場合に、データバス上で中央処理装置から
のデータとのぶつかりを防ぐためにデータバスを開放し
なければならない。
【0054】そこで、本発明では、上記選択手段は、上
記実行命令保管手段の特定実行命令によりメモリリード
命令又はメモリライト命令を実行させるときには、メモ
リリード命令によって読み込んだ値をレジスタに書き込
むことなく、メモリライト命令でデータバスをハイイン
ピーダンスにさせる。
記実行命令保管手段の特定実行命令によりメモリリード
命令又はメモリライト命令を実行させるときには、メモ
リリード命令によって読み込んだ値をレジスタに書き込
むことなく、メモリライト命令でデータバスをハイイン
ピーダンスにさせる。
【0055】したがって、実行命令保管手段の特定実行
命令によりI/Oとメモリ間でデータのやり取りを行う
場合においても、データバス上で中央処理装置からのデ
ータとぶつかることを防止することができる。
命令によりI/Oとメモリ間でデータのやり取りを行う
場合においても、データバス上で中央処理装置からのデ
ータとぶつかることを防止することができる。
【0056】
【発明の実施の形態】本発明の実施の一形態について図
1ないし図5に基づいて説明すれば、以下の通りであ
る。
1ないし図5に基づいて説明すれば、以下の通りであ
る。
【0057】本実施の形態のデータ処理装置における中
央処理装置は、図1に示すように、プログラムカウンタ
1、レジスタ2、セレクタ3、演算器(ALU:Arithm
eticand Logic Unit)4、リードデータラッチ(Latch)
5、ライトデータラッチ6、第1命令ラッチ8、第2命
令ラッチ7、バス制御部9、命令実行部10、命令デコ
ード部11、割り込み処理部12、プログラムカウンタ
インクリメンタ(以下、「PCインクリメンタ」と称す
る)13等を有している。ここまでは、従来のものと同
じであるが、本実施の形態では、さらに、選択手段とし
てのセレクタ14、実行命令保管手段としての命令コー
ド15及び特定命令要求信号検出手段としての要求ラッ
チ16が設けられている。
央処理装置は、図1に示すように、プログラムカウンタ
1、レジスタ2、セレクタ3、演算器(ALU:Arithm
eticand Logic Unit)4、リードデータラッチ(Latch)
5、ライトデータラッチ6、第1命令ラッチ8、第2命
令ラッチ7、バス制御部9、命令実行部10、命令デコ
ード部11、割り込み処理部12、プログラムカウンタ
インクリメンタ(以下、「PCインクリメンタ」と称す
る)13等を有している。ここまでは、従来のものと同
じであるが、本実施の形態では、さらに、選択手段とし
てのセレクタ14、実行命令保管手段としての命令コー
ド15及び特定命令要求信号検出手段としての要求ラッ
チ16が設けられている。
【0058】上記の中央処理装置は、3段のパイプライ
ンを備えたものとなっており、命令を3ステップに分け
て実行し、各ステップ毎に次の命令を入力し、3つの命
令をパラレルに処理するものとなっている。すなわち、
命令の取り出し、デコード及び実行を同時にパラレルに
行うものとなっている。
ンを備えたものとなっており、命令を3ステップに分け
て実行し、各ステップ毎に次の命令を入力し、3つの命
令をパラレルに処理するものとなっている。すなわち、
命令の取り出し、デコード及び実行を同時にパラレルに
行うものとなっている。
【0059】ここで、この中央処理装置は、通常の動作
及び割り込み処理についてはセレクタ3にてデータバス
21が選ばれるので従来のものと全く同じ動作をする。
及び割り込み処理についてはセレクタ3にてデータバス
21が選ばれるので従来のものと全く同じ動作をする。
【0060】すなわち、通常の動作では、プログラムカ
ウンタ1の値をアドレスバス20に出力し、そのアドレ
スに格納されている命令(インストラクション:Instru
ction)をデータバス21から読み出し、第1命令ラッチ
8に取り込む。今、あるクロックタイミングで第1命令
ラッチ8に取り込まれた値は、命令デコード部11にて
解読される。次いで、次のクロックで第1命令ラッチ8
の内容は第2命令ラッチ7に送られる一方、命令デコー
ド部11での解読内容は命令実行部10に送られ、バス
制御部9及びリードデータラッチ5若しくはライトデー
タラッチ6を制御し、データをメモリから読み出した
り、メモリに書き込んだり又はレジスタ2、セレクタ3
及び演算器(ALU)4を制御して計算を行ったりす
る。
ウンタ1の値をアドレスバス20に出力し、そのアドレ
スに格納されている命令(インストラクション:Instru
ction)をデータバス21から読み出し、第1命令ラッチ
8に取り込む。今、あるクロックタイミングで第1命令
ラッチ8に取り込まれた値は、命令デコード部11にて
解読される。次いで、次のクロックで第1命令ラッチ8
の内容は第2命令ラッチ7に送られる一方、命令デコー
ド部11での解読内容は命令実行部10に送られ、バス
制御部9及びリードデータラッチ5若しくはライトデー
タラッチ6を制御し、データをメモリから読み出した
り、メモリに書き込んだり又はレジスタ2、セレクタ3
及び演算器(ALU)4を制御して計算を行ったりす
る。
【0061】このとき同時に、プログラムカウンタ1の
値はPCインクリメンタ13で一定値だけ加算されプロ
グラムカウンタ1に書き込まれ、次の命令が第1命令ラ
ッチ8に取り込まれる。
値はPCインクリメンタ13で一定値だけ加算されプロ
グラムカウンタ1に書き込まれ、次の命令が第1命令ラ
ッチ8に取り込まれる。
【0062】また、割り込み要求信号23が入力される
と割り込み処理部12が命令実行部10やプログラムカ
ウンタ1を制御し、第1命令ラッチ8に現在格納されて
いる命令を無効にしプログラムカウンタ1を予め設定さ
れた値にすることにより、割り込み処理プログラムに分
岐する。
と割り込み処理部12が命令実行部10やプログラムカ
ウンタ1を制御し、第1命令ラッチ8に現在格納されて
いる命令を無効にしプログラムカウンタ1を予め設定さ
れた値にすることにより、割り込み処理プログラムに分
岐する。
【0063】一方、本実施の形態のデータ処理装置の中
央処理装置では、外部からの要求によりデータ転送をす
る場合には、要求ラッチ16に特定命令要求信号24が
入力される。そして、要求ラッチ16でタイミングをと
って、セレクタ14を切り替えて第1命令ラッチ8に命
令コード15に格納された特定実行命令を表すデータが
取り込まれるようにする。
央処理装置では、外部からの要求によりデータ転送をす
る場合には、要求ラッチ16に特定命令要求信号24が
入力される。そして、要求ラッチ16でタイミングをと
って、セレクタ14を切り替えて第1命令ラッチ8に命
令コード15に格納された特定実行命令を表すデータが
取り込まれるようにする。
【0064】また、第1命令ラッチ8に命令コード15
が取り込まれている間は、バス制御部9がメモリアクセ
スを行うことを禁止し、PCインクリメンタ13に対し
てはプログラムカウンタ1の加算を禁止する。その後
は、通常動作に戻る。
が取り込まれている間は、バス制御部9がメモリアクセ
スを行うことを禁止し、PCインクリメンタ13に対し
てはプログラムカウンタ1の加算を禁止する。その後
は、通常動作に戻る。
【0065】さらに、上記の第1命令ラッチ8に取り込
まれた命令が命令実行部10にて実行されるタイミング
が分かるように登録命令処理信号26も出力する。すな
わち、登録命令処理信号26は、従来のDMA処理にお
いて存在したアクノレッジ信号に相当する信号を出力す
るものとなっている。
まれた命令が命令実行部10にて実行されるタイミング
が分かるように登録命令処理信号26も出力する。すな
わち、登録命令処理信号26は、従来のDMA処理にお
いて存在したアクノレッジ信号に相当する信号を出力す
るものとなっている。
【0066】また、本実施の形態のデータ処理装置は、
図2に示すように、中央処理装置(以下、「CPU(Ce
ntral Processing Unit)」と称する)30の周辺機器と
して、転送制御部71、クロック生成部72、デバッグ
制御回路73、特定命令要求信号生成手段としての特定
命令要求信号生成部70、転送カウンタ42、I/O3
2、キャッシュ制御回路80、MMU(Memory Managem
ent Unit) 90及びメモリ31を有している。
図2に示すように、中央処理装置(以下、「CPU(Ce
ntral Processing Unit)」と称する)30の周辺機器と
して、転送制御部71、クロック生成部72、デバッグ
制御回路73、特定命令要求信号生成手段としての特定
命令要求信号生成部70、転送カウンタ42、I/O3
2、キャッシュ制御回路80、MMU(Memory Managem
ent Unit) 90及びメモリ31を有している。
【0067】上記の構成を有するデータ処理装置にて、
外部からの入力により、例えば、I/O32のデータを
メモリ31にデータ転送することを考える。
外部からの入力により、例えば、I/O32のデータを
メモリ31にデータ転送することを考える。
【0068】この場合には、図1に示す上記CPU30
の命令コード15に特定実行命令として、例えばメモリ
ライト命令を予め入れておく。なお、この命令コード1
5は、レジスタにて構成することが高速処理の点で好ま
しいが、必ずしもこれに限らず、他の記憶装置にて構成
することも可能である。
の命令コード15に特定実行命令として、例えばメモリ
ライト命令を予め入れておく。なお、この命令コード1
5は、レジスタにて構成することが高速処理の点で好ま
しいが、必ずしもこれに限らず、他の記憶装置にて構成
することも可能である。
【0069】この状態で、図2に示すように、転送要求
信号が転送制御部71に入力されると、特定命令要求信
号生成部70からCPU30に特定命令要求信号24と
して転送要求信号が出力される。この転送要求信号は、
図1に示すように、上記CPU30の要求ラッチ16に
入力される。
信号が転送制御部71に入力されると、特定命令要求信
号生成部70からCPU30に特定命令要求信号24と
して転送要求信号が出力される。この転送要求信号は、
図1に示すように、上記CPU30の要求ラッチ16に
入力される。
【0070】次いで、この要求ラッチ16の転送要求信
号によりタイミングをとって切り替え信号25を介して
セレクタ14を切り替えて、上記命令コード15の特定
実行命令を第1命令ラッチ8に入力させる。これによ
り、以後、上述した通常動作と同様に、第2命令ラッチ
7、命令デコード部11、命令実行部10及びバス制御
部9によって特定実行命令が実行される。
号によりタイミングをとって切り替え信号25を介して
セレクタ14を切り替えて、上記命令コード15の特定
実行命令を第1命令ラッチ8に入力させる。これによ
り、以後、上述した通常動作と同様に、第2命令ラッチ
7、命令デコード部11、命令実行部10及びバス制御
部9によって特定実行命令が実行される。
【0071】またこのとき、上記の命令コード15の特
定実行命令の実行に際して、要求ラッチ16から登録命
令処理信号26としての転送処理信号が出力される。こ
の転送処理信号は、図2に示すように、CPU30から
出力され転送制御部71に入力され、これによって、I
/O32にアクノレッジ信号27が出力される。このと
き、データバス21はハイインピーダンスとなり、I/
O32のデータがメモリ31に書き込まれるようなる。
この結果、I/O32からメモリ31ヘの転送が可能に
なる。
定実行命令の実行に際して、要求ラッチ16から登録命
令処理信号26としての転送処理信号が出力される。こ
の転送処理信号は、図2に示すように、CPU30から
出力され転送制御部71に入力され、これによって、I
/O32にアクノレッジ信号27が出力される。このと
き、データバス21はハイインピーダンスとなり、I/
O32のデータがメモリ31に書き込まれるようなる。
この結果、I/O32からメモリ31ヘの転送が可能に
なる。
【0072】ただし、この方法を使う場合は、転送デー
タをキャッシュ禁止にしておく必要がある。すなわち、
このように転送データをキャッシュしておかなければ、
従来技術で述べたように、外部のメモリ内のデータは初
めてアクセスされるとキャッシュメモリに入り別のデー
タに書き変わってしまうため、通常処理を行うときに不
一致が生じるためである。
タをキャッシュ禁止にしておく必要がある。すなわち、
このように転送データをキャッシュしておかなければ、
従来技術で述べたように、外部のメモリ内のデータは初
めてアクセスされるとキャッシュメモリに入り別のデー
タに書き変わってしまうため、通常処理を行うときに不
一致が生じるためである。
【0073】上記の動作を、図3に示すタイミングチャ
ートに基づいて説明する。
ートに基づいて説明する。
【0074】今、アドレスA1、A2…に格納されてい
る命令データD1、D2…の実行中に、特定命令要求信
号24である転送要求信号がハイになると、要求ラッチ
16及び切り替え信号25が順にハイになり、登録命令
処理信号26である転送処理信号がハイとなる。これに
よって、次のクロックサイクルにてアクノレッジ信号2
7が出力される。このとき、CPU30のデータバス2
1をハイインピーダンスにし、I/O32のデータがメ
モリ31に書き込まれるようにすればI/O32からメ
モリ31ヘの転送が可能になる。
る命令データD1、D2…の実行中に、特定命令要求信
号24である転送要求信号がハイになると、要求ラッチ
16及び切り替え信号25が順にハイになり、登録命令
処理信号26である転送処理信号がハイとなる。これに
よって、次のクロックサイクルにてアクノレッジ信号2
7が出力される。このとき、CPU30のデータバス2
1をハイインピーダンスにし、I/O32のデータがメ
モリ31に書き込まれるようにすればI/O32からメ
モリ31ヘの転送が可能になる。
【0075】すなわち、アドレスA1、A2…の命令デ
ータD1、D2…を実行している場合に、次にアドレス
A3、A4…の命令データD3、D4…と続くべきとこ
ろに、アドレスA3の命令データD3の前に、I/O3
2からメモリ31へのライト命令を割り込ませる状態を
生じさせる。
ータD1、D2…を実行している場合に、次にアドレス
A3、A4…の命令データD3、D4…と続くべきとこ
ろに、アドレスA3の命令データD3の前に、I/O3
2からメモリ31へのライト命令を割り込ませる状態を
生じさせる。
【0076】これにより、第1命令ラッチ8には、命令
データD2の次のクロックでライト命令が入力され、さ
らに次のクロックで第2命令ラッチ7及び命令実行部1
0にライト命令が入力されて実行される。このとき、転
送回数をカウントする必要がある場合には、図2に示す
転送制御部71の転送カウンタ42により、上記第2命
令ラッチ7及び命令実行部10のライト命令の次のクロ
ックにてカウントされる。上記の動作の結果、転送に要
するクロック数は、2クロックとなる。
データD2の次のクロックでライト命令が入力され、さ
らに次のクロックで第2命令ラッチ7及び命令実行部1
0にライト命令が入力されて実行される。このとき、転
送回数をカウントする必要がある場合には、図2に示す
転送制御部71の転送カウンタ42により、上記第2命
令ラッチ7及び命令実行部10のライト命令の次のクロ
ックにてカウントされる。上記の動作の結果、転送に要
するクロック数は、2クロックとなる。
【0077】一方、従来の方法では、転送に要するクロ
ック数は、DMAコントローラを使った場合では1クロ
ック(図9参照)、割り込みを使った場合では9クロッ
クである(図10参照)。
ック数は、DMAコントローラを使った場合では1クロ
ック(図9参照)、割り込みを使った場合では9クロッ
クである(図10参照)。
【0078】したがって、従来品と比較すると、本実施
の形態では、DMAコントローラを使った場合よりも多
少高速性が失われるが、DMAコントローラを使用する
よりも回路構成が簡単になり、さらに、CPU30がデ
ータを管理することになるのでMMU90を生かすこと
ができる。すなわち、ハードウェア的に従来のDMAコ
ントローラの部分を小さくできる。
の形態では、DMAコントローラを使った場合よりも多
少高速性が失われるが、DMAコントローラを使用する
よりも回路構成が簡単になり、さらに、CPU30がデ
ータを管理することになるのでMMU90を生かすこと
ができる。すなわち、ハードウェア的に従来のDMAコ
ントローラの部分を小さくできる。
【0079】次に、上記の例では、命令コード15にメ
モリライト命令を入れておいたが、この命令コード15
に転送命令の1つの特定実行命令であるメモリリード命
令を入れておけばメモリ31からI/O32へのデータ
転送が可能である。また、転送カウンタ42に1を加え
る命令を入れておけば、転送のパルス信号をカウントす
ることができる。
モリライト命令を入れておいたが、この命令コード15
に転送命令の1つの特定実行命令であるメモリリード命
令を入れておけばメモリ31からI/O32へのデータ
転送が可能である。また、転送カウンタ42に1を加え
る命令を入れておけば、転送のパルス信号をカウントす
ることができる。
【0080】さらに、命令コード15に、特定実行命令
として、外部メモリへ書き出す命令を入れておくことも
可能である。これにより、登録命令処理信号26がハイ
になった後に出力される値を取り出すことにより、デバ
ッグ情報を取り出すことができる。
として、外部メモリへ書き出す命令を入れておくことも
可能である。これにより、登録命令処理信号26がハイ
になった後に出力される値を取り出すことにより、デバ
ッグ情報を取り出すことができる。
【0081】ここで、命令コード15の具体例として、
例えば、英国ARM社の32bitRISCプロセッサ
ARM6/7の命令セットを使用する場合には、図4に
示すように、レジスタRyの示すアドレス[Ry]から
I/O32に転送する命令、I/O32からアドレス
[Ry]に転送する命令、パルス数をカウントする命令
及びレジスタの値を呼び出す命令が、それぞれ命令欄に
示すように表される。
例えば、英国ARM社の32bitRISCプロセッサ
ARM6/7の命令セットを使用する場合には、図4に
示すように、レジスタRyの示すアドレス[Ry]から
I/O32に転送する命令、I/O32からアドレス
[Ry]に転送する命令、パルス数をカウントする命令
及びレジスタの値を呼び出す命令が、それぞれ命令欄に
示すように表される。
【0082】なお、上記命令コード15は、上記の内容
に固定された値である必要はなく、プログラムで書き換
えることができるようにしても良い。
に固定された値である必要はなく、プログラムで書き換
えることができるようにしても良い。
【0083】また、特定命令要求信号24や命令コード
15が2種類以上あり、入力される要求信号の種類によ
り別々の特定実行命令が選ばれるようにしても良い。
15が2種類以上あり、入力される要求信号の種類によ
り別々の特定実行命令が選ばれるようにしても良い。
【0084】さらに、図5に示すように、命令コード1
5の特定実行命令は1つだけではなく2つ以上有り、そ
れら特定実行命令が順番に第1命令ラッチ8に取り込ま
れ、その間は上記メモリ31へのアクセス及び上記プロ
グラムカウンタ1の加算を停止させることも可能であ
る。
5の特定実行命令は1つだけではなく2つ以上有り、そ
れら特定実行命令が順番に第1命令ラッチ8に取り込ま
れ、その間は上記メモリ31へのアクセス及び上記プロ
グラムカウンタ1の加算を停止させることも可能であ
る。
【0085】この図5では、レジスタRyの示すアドレ
ス[Ry]からレジスタRzの示すアドレス[Rz]へ
データを転送する場合を示している。レジスタRxは転
送前後で値が変わらないようにしている。この図5に示
す例では、MMU90もキャッシュ制御回路80も両方
活用して転送することができる。
ス[Ry]からレジスタRzの示すアドレス[Rz]へ
データを転送する場合を示している。レジスタRxは転
送前後で値が変わらないようにしている。この図5に示
す例では、MMU90もキャッシュ制御回路80も両方
活用して転送することができる。
【0086】ところで、図4に示す例においては、汎用
レジスタRxとレジスタRyとがデー夕転送やパルスの
カウントのために使用できなくなったり、メモリ31を
キャッシュ禁止にしてCPU30のデータバス21をハ
イインピーダンスにしたりしなければならないという問
題がある。
レジスタRxとレジスタRyとがデー夕転送やパルスの
カウントのために使用できなくなったり、メモリ31を
キャッシュ禁止にしてCPU30のデータバス21をハ
イインピーダンスにしたりしなければならないという問
題がある。
【0087】そこで、これを回避するために、CPU3
0に転送専用レジスタや特定のパルス数をカウントする
ためのパルスカウント用レジスタ等の専用レジスタ15
aを準備し、この専用レジスタ15aを用いてメモリリ
ード/ライトしたり、足し算を行う命令を追加したりし
て命令コード15に使用することも可能である。
0に転送専用レジスタや特定のパルス数をカウントする
ためのパルスカウント用レジスタ等の専用レジスタ15
aを準備し、この専用レジスタ15aを用いてメモリリ
ード/ライトしたり、足し算を行う命令を追加したりし
て命令コード15に使用することも可能である。
【0088】ここで、メモリリード/ライト命令は、C
PU30内部のレジスタ2にリード/ライトせずに、デ
ータバス21をハイインピーダンスにし、かつ自動的に
キャッシュ禁止となるような動作をする実行命令にすれ
ば、転送動作として適切な状態となる。例えば、図4に
示すLDR命令(リード命令)の例では、汎用レジスタ
Rxに読み込んだ値が書き込まれるが、効果をみると汎
用レジスタRxに書き込む必要がないことが分かる。し
たがって、上記のようにしても問題はない。逆に、汎用
レジスタRxの値が変わると、他のプログラムで汎用レ
ジスタRxを使用したい場合に悪影響を及ぼすことにな
る。
PU30内部のレジスタ2にリード/ライトせずに、デ
ータバス21をハイインピーダンスにし、かつ自動的に
キャッシュ禁止となるような動作をする実行命令にすれ
ば、転送動作として適切な状態となる。例えば、図4に
示すLDR命令(リード命令)の例では、汎用レジスタ
Rxに読み込んだ値が書き込まれるが、効果をみると汎
用レジスタRxに書き込む必要がないことが分かる。し
たがって、上記のようにしても問題はない。逆に、汎用
レジスタRxの値が変わると、他のプログラムで汎用レ
ジスタRxを使用したい場合に悪影響を及ぼすことにな
る。
【0089】このように、本実施の形態のデータ処理装
置では、CPU30の外部から入力される転送、パルス
数のカウント又はデバッグの特定命令を実行させるため
の要求信号があると、特定命令要求信号生成部70がこ
れら各要求信号に対応する特定命令要求信号24を生成
してCPU30に出力する。
置では、CPU30の外部から入力される転送、パルス
数のカウント又はデバッグの特定命令を実行させるため
の要求信号があると、特定命令要求信号生成部70がこ
れら各要求信号に対応する特定命令要求信号24を生成
してCPU30に出力する。
【0090】CPU30は、要求ラッチ16にてこの特
定命令要求信号24を検出する。
定命令要求信号24を検出する。
【0091】一方、CPU30がプログラムカウンタ1
に応じた命令を取り出そうとする時点で、要求ラッチ1
6が特定命令要求信号24を検出しているときには、セ
レクタ14が、上記プログラムカウンタ1に応じた命令
の読み込みに代えて、命令コード15に保管された転
送、パルス数のカウント又はデバッグのいずれかの特定
実行命令を読み込み、その特定実行命令を実行させる。
また、セレクタ14の選択により、特定実行命令の実行
中には、プログラムカウンタ1の増加及びメモリ31へ
のアクセスを禁止させる。
に応じた命令を取り出そうとする時点で、要求ラッチ1
6が特定命令要求信号24を検出しているときには、セ
レクタ14が、上記プログラムカウンタ1に応じた命令
の読み込みに代えて、命令コード15に保管された転
送、パルス数のカウント又はデバッグのいずれかの特定
実行命令を読み込み、その特定実行命令を実行させる。
また、セレクタ14の選択により、特定実行命令の実行
中には、プログラムカウンタ1の増加及びメモリ31へ
のアクセスを禁止させる。
【0092】このように、CPU30の外部から転送、
パルス数のカウント又はデバッグの特定命令があった場
合に、データ処理装置は、割り込みと同様な動作にて処
理する。しかし、割り込みのようにCPU30の処理を
中断し、ある決まったアドレスに分岐し、処理が終了し
てから元のアドレスに戻り元の処理を再開するのではな
く、プログラムカウンタ1の増加及びメモリ31へのア
クセスを禁止させながら、転送やパルス数のカウントや
デバッグ情報のやり取りを行う特定命令を読み込んで実
行させる。そして、実行後は、通常通りプログラムカウ
ンタ1を増加させる。
パルス数のカウント又はデバッグの特定命令があった場
合に、データ処理装置は、割り込みと同様な動作にて処
理する。しかし、割り込みのようにCPU30の処理を
中断し、ある決まったアドレスに分岐し、処理が終了し
てから元のアドレスに戻り元の処理を再開するのではな
く、プログラムカウンタ1の増加及びメモリ31へのア
クセスを禁止させながら、転送やパルス数のカウントや
デバッグ情報のやり取りを行う特定命令を読み込んで実
行させる。そして、実行後は、通常通りプログラムカウ
ンタ1を増加させる。
【0093】このため、分岐処理に必要な時間を省くこ
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
【0094】一方、上記の特定命令の処理に際しては、
1つのCPU30にて様々な処理を行わせ、CPU30
に内蔵されるレジスタやメモリアクセス機能を有効に利
用することで実現する。
1つのCPU30にて様々な処理を行わせ、CPU30
に内蔵されるレジスタやメモリアクセス機能を有効に利
用することで実現する。
【0095】例えば、CPU30にメモリアクセスする
命令を命令コード15に保管しておくことで、データの
転送を行うことができる。この場合、CPU30の機能
を使ってデータ転送を行うため、MMU90やキャッシ
ュ制御回路80等を内蔵していても、これらの機能を生
かした転送が可能となる。したがって、全体の回路規模
を小さくでき、また、バスの調整も不要になる。
命令を命令コード15に保管しておくことで、データの
転送を行うことができる。この場合、CPU30の機能
を使ってデータ転送を行うため、MMU90やキャッシ
ュ制御回路80等を内蔵していても、これらの機能を生
かした転送が可能となる。したがって、全体の回路規模
を小さくでき、また、バスの調整も不要になる。
【0096】同様に、専用レジスタ15aの値を増加さ
せる特定命令を実行させることでパルス数をカウントす
ることができる。この場合、CPU30の内部のALU
4及び専用レジスタ15aを使用してカウントするの
で、外部には要求信号を発生させる回路のみで実現でき
る。
せる特定命令を実行させることでパルス数をカウントす
ることができる。この場合、CPU30の内部のALU
4及び専用レジスタ15aを使用してカウントするの
で、外部には要求信号を発生させる回路のみで実現でき
る。
【0097】さらに、CPU30の各レジスタ2・15
a等の値をメモリ31等に書き込む特定命令を実行させ
れば、デバッグのための情報を外部に出力させることが
できる。この場合、外部には要求信号を発生させる回路
つまりデバッグ制御回路73及び出力された情報を取り
出す回路を追加するだけで実現できる。
a等の値をメモリ31等に書き込む特定命令を実行させ
れば、デバッグのための情報を外部に出力させることが
できる。この場合、外部には要求信号を発生させる回路
つまりデバッグ制御回路73及び出力された情報を取り
出す回路を追加するだけで実現できる。
【0098】したがって、データを転送したり、信号の
数を数えたり、デバッグのためにCPU30の状態を外
部に出力したい場合に、外部に接続する回路を少なくし
て、CPU30が効率良くかつ高速に処理できるデータ
処理装置を提供することができる。
数を数えたり、デバッグのためにCPU30の状態を外
部に出力したい場合に、外部に接続する回路を少なくし
て、CPU30が効率良くかつ高速に処理できるデータ
処理装置を提供することができる。
【0099】また、本実施の形態のデータ処理装置で
は、命令コード15の特定実行命令は、書換え可能に形
成されている。このため、1つの小さい容量の命令コー
ド15にて、外部から転送、パルス数のカウント又はデ
バッグの各特定命令に対応する特定実行命令に切り換え
ることができる。
は、命令コード15の特定実行命令は、書換え可能に形
成されている。このため、1つの小さい容量の命令コー
ド15にて、外部から転送、パルス数のカウント又はデ
バッグの各特定命令に対応する特定実行命令に切り換え
ることができる。
【0100】したがって、回路数を少なくしてデータ処
理装置が大型化するのを防止することができる。
理装置が大型化するのを防止することができる。
【0101】一方、従来であれば、プログラムのデバッ
グを行う場合には、割り込みにより処理しなければなら
なかったので、高速処理することが困難であった。
グを行う場合には、割り込みにより処理しなければなら
なかったので、高速処理することが困難であった。
【0102】しかし、本実施の形態のデータ処理装置で
は、特定命令がデバッグを示す場合には、命令コード1
5の特定実行命令は、CPU30内の全てのレジスタの
内容やフラッグの値を外部に出力するための情報外部出
力命令となる。
は、特定命令がデバッグを示す場合には、命令コード1
5の特定実行命令は、CPU30内の全てのレジスタの
内容やフラッグの値を外部に出力するための情報外部出
力命令となる。
【0103】したがって、CPU30のレジスタ値をメ
モリ31等に書き込むための情報外部出力命令を実行さ
せれば、デバッグのための情報を外部に出力させること
ができる。この場合、外部には要求信号を発生させる回
路及び出力された情報を取り出す回路を追加するだけで
実現できる。
モリ31等に書き込むための情報外部出力命令を実行さ
せれば、デバッグのための情報を外部に出力させること
ができる。この場合、外部には要求信号を発生させる回
路及び出力された情報を取り出す回路を追加するだけで
実現できる。
【0104】この結果、回路数を少なくしてデータ処理
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができる。
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができる。
【0105】また、従来では、パルス数のカウントを示
す場合には、CPU30の外に専用のパルスカウンタが
必要であり、データ処理装置の大型化を招いていた。
す場合には、CPU30の外に専用のパルスカウンタが
必要であり、データ処理装置の大型化を招いていた。
【0106】しかし、本実施の形態のデータ処理装置で
は、特定のパルス数をカウントする場合には、セレクタ
14の選択により、特定のパルス数をカウントするため
に設けられているCPU30の専用レジスタ15aの値
を1ずつ増加させることができる。この場合、CPU3
0の内部のALU4及び専用レジスタ15aを使用して
カウントするので、外部には要求信号を発生させる回路
のみで実現できる。
は、特定のパルス数をカウントする場合には、セレクタ
14の選択により、特定のパルス数をカウントするため
に設けられているCPU30の専用レジスタ15aの値
を1ずつ増加させることができる。この場合、CPU3
0の内部のALU4及び専用レジスタ15aを使用して
カウントするので、外部には要求信号を発生させる回路
のみで実現できる。
【0107】したがって、回路数を少なくしてデータ処
理装置の小型化を図ることができる。
理装置の小型化を図ることができる。
【0108】さらに、本実施の形態のデータ処理装置で
は、特定命令が転送を示す場合には、命令コード15の
特定実行命令として、メモリ31の内容を読み込むため
のメモリリード命令又はメモリ31に書き込むためのメ
モリライト命令のいずれかを選択すればメモリリード又
はメモリライトが実行できる。この場合、CPU30の
機能を使ってデータ転送を行うため、MMU90やキャ
ッシュ制御回路80等を内蔵していても、これらの機能
を生かした転送が可能となる。さらに、バスの調整が不
要になる。
は、特定命令が転送を示す場合には、命令コード15の
特定実行命令として、メモリ31の内容を読み込むため
のメモリリード命令又はメモリ31に書き込むためのメ
モリライト命令のいずれかを選択すればメモリリード又
はメモリライトが実行できる。この場合、CPU30の
機能を使ってデータ転送を行うため、MMU90やキャ
ッシュ制御回路80等を内蔵していても、これらの機能
を生かした転送が可能となる。さらに、バスの調整が不
要になる。
【0109】したがって、データ転送に際して、回路数
を少なくしてデータ処理装置が大型化するのを防止する
ことができる。
を少なくしてデータ処理装置が大型化するのを防止する
ことができる。
【0110】一方、I/O32とメモリ31間でデータ
のやり取りを行う場合に、データバス21上でCPU3
0からのデータとのぶつかりを防ぐためにデータバス2
1を開放しなければならない。
のやり取りを行う場合に、データバス21上でCPU3
0からのデータとのぶつかりを防ぐためにデータバス2
1を開放しなければならない。
【0111】そこで、本実施の形態では、セレクタ14
は、命令コード15の特定実行命令によりメモリリード
命令又はメモリライト命令を実行させるときには、メモ
リリード命令によって読み込んだ値をレジスタ2に書き
込むことなく、メモリライト命令でデータバス21をハ
イインピーダンスにさせる。
は、命令コード15の特定実行命令によりメモリリード
命令又はメモリライト命令を実行させるときには、メモ
リリード命令によって読み込んだ値をレジスタ2に書き
込むことなく、メモリライト命令でデータバス21をハ
イインピーダンスにさせる。
【0112】したがって、命令コード15の特定実行命
令によりI/O32とメモリ31間でデータのやり取り
を行う場合においても、データバス21上でCPU30
からのデータとぶつかることを防止することができる。
令によりI/O32とメモリ31間でデータのやり取り
を行う場合においても、データバス21上でCPU30
からのデータとぶつかることを防止することができる。
【0113】
【発明の効果】請求項1に係る発明のデータ処理装置
は、以上のように、中央処理装置の外部から入力される
転送、パルス数のカウント又はデバッグの特定命令を実
行させるための要求信号を受けてこれらいずれかの要求
信号があったことを中央処理装置に知らせるべく上記各
要求信号に対応する特定命令要求信号を生成して出力す
る特定命令要求信号生成手段が設けられると共に、上記
中央処理装置には、上記特定命令要求信号を検出する特
定命令要求信号検出手段と、外部から入力された転送、
パルス数のカウント又はデバッグの特定命令を処理する
ための特定実行命令を保管しておくための実行命令保管
手段と、上記中央処理装置がプログラムカウンタに応じ
た命令を取り出そうとする時点で、上記特定命令要求信
号検出手段が特定命令要求信号を検出しているときに
は、上記プログラムカウンタに応じた命令の読み込みに
代えて、上記実行命令保管手段に保管された転送、パル
ス数のカウント又はデバッグのいずれかの特定実行命令
を読み込み、その特定実行命令を実行させ、かつこの特
定実行命令の実行中には、プログラムカウンタの増加及
びメモリへのアクセスを禁止させるように選択する選択
手段とが設けられているものである。
は、以上のように、中央処理装置の外部から入力される
転送、パルス数のカウント又はデバッグの特定命令を実
行させるための要求信号を受けてこれらいずれかの要求
信号があったことを中央処理装置に知らせるべく上記各
要求信号に対応する特定命令要求信号を生成して出力す
る特定命令要求信号生成手段が設けられると共に、上記
中央処理装置には、上記特定命令要求信号を検出する特
定命令要求信号検出手段と、外部から入力された転送、
パルス数のカウント又はデバッグの特定命令を処理する
ための特定実行命令を保管しておくための実行命令保管
手段と、上記中央処理装置がプログラムカウンタに応じ
た命令を取り出そうとする時点で、上記特定命令要求信
号検出手段が特定命令要求信号を検出しているときに
は、上記プログラムカウンタに応じた命令の読み込みに
代えて、上記実行命令保管手段に保管された転送、パル
ス数のカウント又はデバッグのいずれかの特定実行命令
を読み込み、その特定実行命令を実行させ、かつこの特
定実行命令の実行中には、プログラムカウンタの増加及
びメモリへのアクセスを禁止させるように選択する選択
手段とが設けられているものである。
【0114】それゆえ、中央処理装置の外部から転送、
パルス数のカウント又はデバッグの特定命令があった場
合に、データ処理装置は、割り込みと同様な動作にて処
理する。しかし、割り込みのように中央処理装置の処理
を中断し、ある決まったアドレスに分岐し、処理が終了
してから元のアドレスに戻り元の処理を再開するのでは
なく、プログラムカウンタの増加及びメモリへのアクセ
スを禁止させながら、転送やパルス数のカウントやデバ
ッグ情報のやり取りを行う特定命令を読み込んで実行さ
せる。そして、実行後は、通常通りプログラムカウンタ
を増加させる。
パルス数のカウント又はデバッグの特定命令があった場
合に、データ処理装置は、割り込みと同様な動作にて処
理する。しかし、割り込みのように中央処理装置の処理
を中断し、ある決まったアドレスに分岐し、処理が終了
してから元のアドレスに戻り元の処理を再開するのでは
なく、プログラムカウンタの増加及びメモリへのアクセ
スを禁止させながら、転送やパルス数のカウントやデバ
ッグ情報のやり取りを行う特定命令を読み込んで実行さ
せる。そして、実行後は、通常通りプログラムカウンタ
を増加させる。
【0115】このため、分岐処理に必要な時間を省くこ
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
とができ、比較的高速にデータ転送やパルス数のカウン
ト及びデバッグ処理を行うことが可能となる。
【0116】一方、上記の特定命令の処理に際しては、
1つの中央処理装置にて様々な処理を行わせ、中央処理
装置に内蔵されるレジスタやメモリアクセス機能を有効
に利用することで実現する。
1つの中央処理装置にて様々な処理を行わせ、中央処理
装置に内蔵されるレジスタやメモリアクセス機能を有効
に利用することで実現する。
【0117】したがって、データを転送したり、信号の
数を数えたり、デバッグのために中央処理装置の状態を
外部に出力したい場合に、外部に接続する回路を少なく
して、中央処理装置が効率良くかつ高速に処理できるデ
ータ処理装置を提供することができるという効果を奏す
る。
数を数えたり、デバッグのために中央処理装置の状態を
外部に出力したい場合に、外部に接続する回路を少なく
して、中央処理装置が効率良くかつ高速に処理できるデ
ータ処理装置を提供することができるという効果を奏す
る。
【0118】請求項2に係る発明のデータ処理装置は、
以上のように、請求項1記載のデータ処理装置におい
て、上記実行命令保管手段の特定実行命令は、書換え可
能に形成されているものである。
以上のように、請求項1記載のデータ処理装置におい
て、上記実行命令保管手段の特定実行命令は、書換え可
能に形成されているものである。
【0119】それゆえ、1つの小さい容量の実行命令保
管手段にて、外部から転送、パルス数のカウント又はデ
バッグの各特定命令に対応する特定実行命令に切り換え
ることができる。
管手段にて、外部から転送、パルス数のカウント又はデ
バッグの各特定命令に対応する特定実行命令に切り換え
ることができる。
【0120】したがって、回路数を少なくしてデータ処
理装置が大型化するのを防止することができるという効
果を奏する。
理装置が大型化するのを防止することができるという効
果を奏する。
【0121】請求項3に係る発明のデータ処理装置は、
以上のように、請求項1又は2記載のデータ処理装置に
おいて、上記実行命令保管手段の特定実行命令は、特定
命令がデバッグを示す場合には、中央処理装置内の全て
のレジスタの内容やフラッグの値を外部に出力するため
の情報外部出力命令からなっているものである。
以上のように、請求項1又は2記載のデータ処理装置に
おいて、上記実行命令保管手段の特定実行命令は、特定
命令がデバッグを示す場合には、中央処理装置内の全て
のレジスタの内容やフラッグの値を外部に出力するため
の情報外部出力命令からなっているものである。
【0122】それゆえ、中央処理装置のレジスタ値をメ
モリ等に書き込むための情報外部出力命令を実行させれ
ば、デバッグのための情報を外部に出力させることがで
きる。この場合、外部には要求信号を発生させる回路及
び出力された情報を取り出す回路を追加するだけで実現
できる。
モリ等に書き込むための情報外部出力命令を実行させれ
ば、デバッグのための情報を外部に出力させることがで
きる。この場合、外部には要求信号を発生させる回路及
び出力された情報を取り出す回路を追加するだけで実現
できる。
【0123】この結果、回路数を少なくしてデータ処理
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができるという
効果を奏する。
装置が大型化するのを防止すると共に、従来の割り込み
処理ではないので、高速に処理することができるという
効果を奏する。
【0124】請求項4に係る発明のデータ処理装置は、
以上のように、請求項1又は2記載のデータ処理装置に
おいて、中央処理装置には、特定のパルス数をカウント
するためのパルスカウント用レジスタが設けられると共
に、上記選択手段は、外部から入力される要求信号が特
定のパルス数のカウントを示す場合には、上記パルスカ
ウント用レジスタの値を1ずつ増加させるものである。
以上のように、請求項1又は2記載のデータ処理装置に
おいて、中央処理装置には、特定のパルス数をカウント
するためのパルスカウント用レジスタが設けられると共
に、上記選択手段は、外部から入力される要求信号が特
定のパルス数のカウントを示す場合には、上記パルスカ
ウント用レジスタの値を1ずつ増加させるものである。
【0125】それゆえ、特定のパルス数をカウントする
場合には、中央処理装置の内部のパルスカウント用レジ
スタを使用してカウントするので、外部には要求信号を
発生させる回路のみで実現できる。
場合には、中央処理装置の内部のパルスカウント用レジ
スタを使用してカウントするので、外部には要求信号を
発生させる回路のみで実現できる。
【0126】したがって、回路数を少なくしてデータ処
理装置の小型化を図ることができるという効果を奏す
る。
理装置の小型化を図ることができるという効果を奏す
る。
【0127】請求項5に係る発明のデータ処理装置は、
以上のように、請求項1又は2記載のデータ処理装置に
おいて、上記実行命令保管手段の特定実行命令は、特定
命令が転送を示す場合には、メモリの内容を読み込むた
めのメモリリード命令又はメモリに書き込むためのメモ
リライト命令からなっているものである。
以上のように、請求項1又は2記載のデータ処理装置に
おいて、上記実行命令保管手段の特定実行命令は、特定
命令が転送を示す場合には、メモリの内容を読み込むた
めのメモリリード命令又はメモリに書き込むためのメモ
リライト命令からなっているものである。
【0128】それゆえ、特定命令が転送を示す場合に
は、上記実行命令保管手段の特定実行命令として、メモ
リの内容を読み込むためのメモリリード命令又はメモリ
に書き込むためのメモリライト命令のいずれかを選択す
ればメモリリード又はメモリライトが実行できる。この
場合、中央処理装置の機能を使ってデータ転送を行うた
め、MMUやキャッシュメモリ等を内蔵していても、こ
れらの機能を生かした転送が可能となる。さらに、バス
の調整が不要になる。
は、上記実行命令保管手段の特定実行命令として、メモ
リの内容を読み込むためのメモリリード命令又はメモリ
に書き込むためのメモリライト命令のいずれかを選択す
ればメモリリード又はメモリライトが実行できる。この
場合、中央処理装置の機能を使ってデータ転送を行うた
め、MMUやキャッシュメモリ等を内蔵していても、こ
れらの機能を生かした転送が可能となる。さらに、バス
の調整が不要になる。
【0129】したがって、データ転送に際して、回路数
を少なくしてデータ処理装置が大型化するのを防止する
ことができるという効果を奏する。
を少なくしてデータ処理装置が大型化するのを防止する
ことができるという効果を奏する。
【0130】請求項6に係る発明のデータ処理装置は、
以上のように、請求項5記載のデータ処理装置におい
て、上記選択手段は、上記実行命令保管手段の特定実行
命令によりメモリリード命令又はメモリライト命令を実
行させるときには、メモリリード命令によって読み込ん
だ値をレジスタに書き込むことなく、メモリライト命令
でデータバスをハイインピーダンスにさせるものであ
る。
以上のように、請求項5記載のデータ処理装置におい
て、上記選択手段は、上記実行命令保管手段の特定実行
命令によりメモリリード命令又はメモリライト命令を実
行させるときには、メモリリード命令によって読み込ん
だ値をレジスタに書き込むことなく、メモリライト命令
でデータバスをハイインピーダンスにさせるものであ
る。
【0131】それゆえ、実行命令保管手段の特定実行命
令によりI/Oとメモリ間でデータのやり取りを行う場
合においても、データバス上で中央処理装置からのデー
タとぶつかることを防止することができるという効果を
奏する。
令によりI/Oとメモリ間でデータのやり取りを行う場
合においても、データバス上で中央処理装置からのデー
タとぶつかることを防止することができるという効果を
奏する。
【図1】本発明におけるデータ処理装置の実施の一形態
を示すものであり、中央処理装置の構成を示すブロック
図である。
を示すものであり、中央処理装置の構成を示すブロック
図である。
【図2】上記データ処理装置の全体構成を示すブロック
図である。
図である。
【図3】上記データ処理装置の動作を示すタイミングチ
ャートである。
ャートである。
【図4】上記データ処理装置の具体的な命令及び動作を
示す説明図である。
示す説明図である。
【図5】上記データ処理装置において複数の命令コード
を備えている場合の具体的な命令及び動作を示す説明図
である。
を備えている場合の具体的な命令及び動作を示す説明図
である。
【図6】従来のデータ処理装置における中央処理装置の
構成を示すブロック図である。
構成を示すブロック図である。
【図7】上記データ処理装置の全体構成を示すブロック
図である。
図である。
【図8】上記データ処理装置における割り込み処理を行
う場合の構成を示すブロック図である。
う場合の構成を示すブロック図である。
【図9】図7に示すDMAコントローラによる処理にて
データ転送を行う場合の動作を示すタイミングチャート
である。
データ転送を行う場合の動作を示すタイミングチャート
である。
【図10】割り込み処理にてデータ転送を行う場合の動
作を示すタイミングチャートである。
作を示すタイミングチャートである。
1 プログラムカウンタ 14 セレクタ(選択手段) 15 命令コード(実行命令保管手段) 15a 専用レジスタ(パルスカウント用レジスタ) 16 要求ラッチ(特定命令要求信号検出手段) 20 アドレスバス 21 データバス 24 特定命令要求信号 30 中央処理装置〔CPU〕 31 メモリ 70 特定命令要求信号生成部(特定命令要求信号生
成手段)
成手段)
Claims (6)
- 【請求項1】プログラムカウンタに応じた命令をアドレ
スバス及びデータバスを介してメモリにアクセスして読
み込み、読み込んだ命令に基づきその命令を実行すると
共に、その命令を読み込む毎にプログラムカウンタを増
加させる中央処理装置を備えたデータ処理装置におい
て、 中央処理装置の外部から入力される転送、パルス数のカ
ウント又はデバッグの特定命令を実行させるための要求
信号を受けてこれらいずれかの要求信号があったことを
中央処理装置に知らせるべく上記各要求信号に対応する
特定命令要求信号を生成して出力する特定命令要求信号
生成手段が設けられると共に、 上記中央処理装置には、 上記特定命令要求信号を検出する特定命令要求信号検出
手段と、外部から入力された転送、パルス数のカウント
又はデバッグの特定命令を処理するための特定実行命令
を保管しておくための実行命令保管手段と、 上記中央処理装置がプログラムカウンタに応じた命令を
取り出そうとする時点で、上記特定命令要求信号検出手
段が特定命令要求信号を検出しているときには、上記プ
ログラムカウンタに応じた命令の読み込みに代えて、上
記実行命令保管手段に保管された転送、パルス数のカウ
ント又はデバッグのいずれかの特定実行命令を読み込
み、その特定実行命令を実行させ、かつこの特定実行命
令の実行中には、プログラムカウンタの増加及びメモリ
へのアクセスを禁止させるように選択する選択手段とが
設けられていることを特徴とするデータ処理装置。 - 【請求項2】上記実行命令保管手段の特定実行命令は、
書換え可能に形成されていることを特徴とする請求項1
記載のデータ処理装置。 - 【請求項3】上記実行命令保管手段の特定実行命令は、
特定命令がデバッグを示す場合には、中央処理装置内の
全てのレジスタの内容やフラッグの値を外部に出力する
ための情報外部出力命令からなっていることを特徴とす
る請求項1又は2記載のデータ処理装置。 - 【請求項4】中央処理装置には、特定のパルス数をカウ
ントするためのパルスカウント用レジスタが設けられる
と共に、 上記選択手段は、外部から入力される要求信号が特定の
パルス数のカウントを示す場合には、上記パルスカウン
ト用レジスタの値を1ずつ増加させることを特徴とする
請求項1又は2記載のデータ処理装置。 - 【請求項5】上記実行命令保管手段の特定実行命令は、
特定命令が転送を示す場合には、メモリの内容を読み込
むためのメモリリード命令又はメモリに書き込むための
メモリライト命令からなっていることを特徴とする請求
項1又は2記載のデータ処理装置。 - 【請求項6】上記選択手段は、上記実行命令保管手段の
特定実行命令によりメモリリード命令又はメモリライト
命令を実行させるときには、メモリリード命令によって
読み込んだ値をレジスタに書き込むことなく、メモリラ
イト命令でデータバスをハイインピーダンスにさせるこ
とを特徴とする請求項5記載のデータ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8248166A JPH1097441A (ja) | 1996-09-19 | 1996-09-19 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8248166A JPH1097441A (ja) | 1996-09-19 | 1996-09-19 | データ処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1097441A true JPH1097441A (ja) | 1998-04-14 |
Family
ID=17174206
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8248166A Pending JPH1097441A (ja) | 1996-09-19 | 1996-09-19 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1097441A (ja) |
-
1996
- 1996-09-19 JP JP8248166A patent/JPH1097441A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| US5481734A (en) | Data processor having 2n bits width data bus for context switching function | |
| US5564041A (en) | Microprocessor for inserting a bus cycle in an instruction set to output an internal information for an emulation | |
| US6959367B2 (en) | System having read-modify-write unit | |
| KR100335785B1 (ko) | 데이타처리명령의실행 | |
| IE990754A1 (en) | An apparatus for software initiated prefetch and method therefor | |
| JP3226055B2 (ja) | 情報処理装置 | |
| CN104978284A (zh) | 处理器子程序高速缓冲存储器 | |
| US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
| US5572667A (en) | Interrupt processing device for controlling the timing of an interrupt signal initiated by a debugging break point in an instruction code | |
| CN120872415B (zh) | 微处理器中异步多粒度访存控制方法、异步电路、访存模块 | |
| US6757809B1 (en) | Data processor having 2n bits width data bus for context switching functions | |
| EP0418621A2 (en) | Data processing device for maintaining coherency of data stored in main memory, external cache memory and internal cache memory | |
| US6401191B1 (en) | System and method for remotely executing code | |
| US5938758A (en) | Microprocessor having function of prefetching instruction | |
| JPS62179033A (ja) | 集積回路マイクロプロセツサ | |
| JP2011134162A (ja) | タスクの切り換えを制御するシステムおよび方法 | |
| US5586336A (en) | Microcomputer capable of monitoring internal resources from external | |
| EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
| US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
| JPH1097441A (ja) | データ処理装置 | |
| JP3476314B2 (ja) | マイクロプロセッサ | |
| US7124281B1 (en) | Processing system having sequential address indicator signals | |
| JPH11143732A (ja) | マイクロコンピュータ及びエミュレータ | |
| JPH02242337A (ja) | 命令プリフェッチ装置 |