JP2583525B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2583525B2 JP2583525B2 JP62246625A JP24662587A JP2583525B2 JP 2583525 B2 JP2583525 B2 JP 2583525B2 JP 62246625 A JP62246625 A JP 62246625A JP 24662587 A JP24662587 A JP 24662587A JP 2583525 B2 JP2583525 B2 JP 2583525B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- area
- unit
- access
- operand
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/122—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
Description
【発明の詳細な説明】 [産業上の利用分野] この発明は、メモリマップドI/O方式に構成可能なシ
ステムのデータ処理装置に関するものである。
ステムのデータ処理装置に関するものである。
[従来の技術] 第1図は、メモリマップドI/O方式に構成したデータ
処理システムの概略のブロック図を示している。
処理システムの概略のブロック図を示している。
図中1はデータ処理装置、2はメモリ、3はそれぞれ
I/Oインターフェースであり、これらはシステムボード
上にアドレスバス、データバス及びコントロールバスに
て相互に接続されて搭載されている。そして、複数のI/
Oインターフェース3それぞれには、種々の外部I/Oデバ
イス4が接続されている。
I/Oインターフェースであり、これらはシステムボード
上にアドレスバス、データバス及びコントロールバスに
て相互に接続されて搭載されている。そして、複数のI/
Oインターフェース3それぞれには、種々の外部I/Oデバ
イス4が接続されている。
第4図は上述のようなI/O領域がメモリマップドI/O方
式となるように構成したシステムにおけるパイプライン
制御方式のデータ処理装置1の従来の一構成例を示すブ
ロック図である。
式となるように構成したシステムにおけるパイプライン
制御方式のデータ処理装置1の従来の一構成例を示すブ
ロック図である。
この従来のデータ処理装置1は、メモリ2から命令
(インストラクション)をフェッチするインストラクシ
ョンフェッチ部21、フェッチされた命令のアドレスを計
算するアドレス計算部22、計算されたアドレスに従って
オペランドをメモリ2からフェッチするオペランドフェ
ッチ部23及びオペランドランドに対する処理を実行する
実行部34にて構成されている。なお、25はアドレスバス
及びデータバスを制御するバスコントロール部である。
(インストラクション)をフェッチするインストラクシ
ョンフェッチ部21、フェッチされた命令のアドレスを計
算するアドレス計算部22、計算されたアドレスに従って
オペランドをメモリ2からフェッチするオペランドフェ
ッチ部23及びオペランドランドに対する処理を実行する
実行部34にて構成されている。なお、25はアドレスバス
及びデータバスを制御するバスコントロール部である。
[発明が解決しようとする問題点] このような第4図に示したような従来のデータ処理装
置を前述の第1図に示したようなI/O領域がメモリマッ
プドI/O方式となるように構成されたシステムに適用し
た場合以下の様な種々の問題が生じる。
置を前述の第1図に示したようなI/O領域がメモリマッ
プドI/O方式となるように構成されたシステムに適用し
た場合以下の様な種々の問題が生じる。
1)例えば、プログラマが、第4図に示すパイプライン
中のオペランドフェッチ部23のI/O領域へのアクセスを
含んだプログラムを書く場合、実行部24の実行が全て終
了するまでオペランドフェッチ部23によるI/O領域への
アクセスを意図的に止めるようにプログラムを書く必要
がある。もしそうしない場合には、I/O領域上のデータ
に不具合が生じる可能性がある。
中のオペランドフェッチ部23のI/O領域へのアクセスを
含んだプログラムを書く場合、実行部24の実行が全て終
了するまでオペランドフェッチ部23によるI/O領域への
アクセスを意図的に止めるようにプログラムを書く必要
がある。もしそうしない場合には、I/O領域上のデータ
に不具合が生じる可能性がある。
即ち、オペランドフェッチ部23がI/O領域上にあるデ
ータをプリフェッチしてしまい、その直後に実行部24が
分岐命令を実行し、これによりオペランドフェッチ部23
が既にプリフェッチしてあるデータが無効にされると、
I/O領域からフェッチされているデータが消失してしま
うことになる。何故なら、I/Oインターフェース部3
は、データ出力をした後は、次のデータ出力のための動
作に入っているので、そのデータは保持していないから
である。
ータをプリフェッチしてしまい、その直後に実行部24が
分岐命令を実行し、これによりオペランドフェッチ部23
が既にプリフェッチしてあるデータが無効にされると、
I/O領域からフェッチされているデータが消失してしま
うことになる。何故なら、I/Oインターフェース部3
は、データ出力をした後は、次のデータ出力のための動
作に入っているので、そのデータは保持していないから
である。
2)インストラクションフェッチ部21がプリフェッチす
るインストラクションあるいはアドレス計算部22がメモ
リ間接参照のためにプリフェッチするデータは、I/O領
域上からフェッチすることはない。しかし従来では、こ
れらのインストラクションフェッチ部21あるいはアドレ
ス計算部22が誤ってI/O領域にアクセスを行ってしまっ
たとしても、データ処理装置は例外の認識をすることが
不可能であった。
るインストラクションあるいはアドレス計算部22がメモ
リ間接参照のためにプリフェッチするデータは、I/O領
域上からフェッチすることはない。しかし従来では、こ
れらのインストラクションフェッチ部21あるいはアドレ
ス計算部22が誤ってI/O領域にアクセスを行ってしまっ
たとしても、データ処理装置は例外の認識をすることが
不可能であった。
3)ワード境界を跨ぐデータアクセスの際に、例えば、
そのワード境界がI/O領域とI/O領域以外の領域との境界
であるとき、第1回目のアクセスはI/O領域以外の領域
に対するものであるが、第2回目のアクセスはI/O領域
に対するものになる。実際的にこのようなアクセスは無
意味である。しかし従来のデータ処理装置は、このよう
なアクセスを例外として認識することができなかった。
そのワード境界がI/O領域とI/O領域以外の領域との境界
であるとき、第1回目のアクセスはI/O領域以外の領域
に対するものであるが、第2回目のアクセスはI/O領域
に対するものになる。実際的にこのようなアクセスは無
意味である。しかし従来のデータ処理装置は、このよう
なアクセスを例外として認識することができなかった。
従来のデータ処理装置では以上に述べたような種々の
問題をソフトウェア上あるいはシステム構成上の配慮に
より対処していたのを、ハードウェア的に対処すること
により、ソフトウェア作成時の負担を軽減し、また処理
装置の向上を可能としたデータ処理装置の提供を目的と
している。
問題をソフトウェア上あるいはシステム構成上の配慮に
より対処していたのを、ハードウェア的に対処すること
により、ソフトウェア作成時の負担を軽減し、また処理
装置の向上を可能としたデータ処理装置の提供を目的と
している。
[問題点を解決するための手段] この発明の第1の発明に係るデータ処理装置は、I/O
領域へのアクセスが要求されたことを検出するアクセス
要求検出手段と、命令実行部が命令実行中か否かを検出
する命令実行検出手段と、命令のオペランドをフェッチ
するためにオペランドフェッチ部によりI/O領域へのア
クセスが要求されたことをアクセス要求検出手段が検出
し、かつ命令実行部が命令実行中であることを命令実行
検出手段が検出した場合、命令実行検出手段が命令の実
行終了を検出するまでオペランドフェッチ部によるI/O
領域へのアクセスを抑止するように制御する制御手段を
備えたものである。
領域へのアクセスが要求されたことを検出するアクセス
要求検出手段と、命令実行部が命令実行中か否かを検出
する命令実行検出手段と、命令のオペランドをフェッチ
するためにオペランドフェッチ部によりI/O領域へのア
クセスが要求されたことをアクセス要求検出手段が検出
し、かつ命令実行部が命令実行中であることを命令実行
検出手段が検出した場合、命令実行検出手段が命令の実
行終了を検出するまでオペランドフェッチ部によるI/O
領域へのアクセスを抑止するように制御する制御手段を
備えたものである。
また第2の発明に係るデータ処理装置は、I/O領域へ
のアクセスが要求されたことを検出するアクセス要求検
出手段と、命令フェッチ部でフェッチされた第1の命令
のオペランドをフェッチするためにオペランドフェッチ
部によりI/O領域へのアクセスが要求されたことを前記
アクセス要求検出手段が検出した場合、命令実行部が命
令フェッチ部により第1の命令に先行してフェッチされ
た第2の命令を実行し終わるまでオペランドフェッチ部
によるI/O領域へのアクセスを抑止するように制御する
制御手段を備えたものである。
のアクセスが要求されたことを検出するアクセス要求検
出手段と、命令フェッチ部でフェッチされた第1の命令
のオペランドをフェッチするためにオペランドフェッチ
部によりI/O領域へのアクセスが要求されたことを前記
アクセス要求検出手段が検出した場合、命令実行部が命
令フェッチ部により第1の命令に先行してフェッチされ
た第2の命令を実行し終わるまでオペランドフェッチ部
によるI/O領域へのアクセスを抑止するように制御する
制御手段を備えたものである。
[作用] この第1の発明におけるデータ処理装置は、命令のオ
ペランドをフェッチするためにオペランドフェッチ部に
よりI/O領域へのアクセスが要求されたことを検出し、
かつ命令実行部が命令実行中であることを検出した場
合、命令の実行終了を検出するまでオペランドフェッチ
部によるI/O領域へのアクセスを抑止するので、オペラ
ンドフェッチのためにI/O領域へのアクセスを行うか否
かは命令の実行結果に応じて決定される。
ペランドをフェッチするためにオペランドフェッチ部に
よりI/O領域へのアクセスが要求されたことを検出し、
かつ命令実行部が命令実行中であることを検出した場
合、命令の実行終了を検出するまでオペランドフェッチ
部によるI/O領域へのアクセスを抑止するので、オペラ
ンドフェッチのためにI/O領域へのアクセスを行うか否
かは命令の実行結果に応じて決定される。
また第2の発明におけるデータ処理装置は、第1の命
令のオペランドをフェッチするためにオペランドフェッ
チ部によりI/O領域へのアクセスが要求されたことを検
出した場合、命令実行部が命令フェッチ部により第1の
命令に先行してフェッチされた第2の命令を実行し終わ
るまでオペランドフェッチ部によるI/O領域へのアクセ
スを抑止するので、第1の命令のオペランドフェッチの
ためにI/O領域へのアクセスを行うか否かは先行してフ
ェッチされた第2の命令の実行結果に応じて決定され
る。
令のオペランドをフェッチするためにオペランドフェッ
チ部によりI/O領域へのアクセスが要求されたことを検
出した場合、命令実行部が命令フェッチ部により第1の
命令に先行してフェッチされた第2の命令を実行し終わ
るまでオペランドフェッチ部によるI/O領域へのアクセ
スを抑止するので、第1の命令のオペランドフェッチの
ためにI/O領域へのアクセスを行うか否かは先行してフ
ェッチされた第2の命令の実行結果に応じて決定され
る。
[発明の実施例] 以下、本発明の一実施例を図面を参照して説明する。
第1図は、本発明に係るデータ処理装置が含まれるメ
モリマップドI/O方式に構成したデータ処理システムの
概略のブロック図を示している。
モリマップドI/O方式に構成したデータ処理システムの
概略のブロック図を示している。
図中1はデータ処理装置、2はメモリ、3はそれぞれ
I/Oインターフェースであり、これらはシステムボード
上にアドレスバス、データバス及びコントロールバスに
て相互に接続されて搭載されている。そして、複数のI/
Oインターフェース3それぞれには、種々の外部I/Oデバ
イス4が接続されている。
I/Oインターフェースであり、これらはシステムボード
上にアドレスバス、データバス及びコントロールバスに
て相互に接続されて搭載されている。そして、複数のI/
Oインターフェース3それぞれには、種々の外部I/Oデバ
イス4が接続されている。
上述のシステムは従来同様であるが、そのデータ処理
装置1としての本発明のデータ処理装置は第2図のブロ
ック図に示す如く構成されている。
装置1としての本発明のデータ処理装置は第2図のブロ
ック図に示す如く構成されている。
図中20はI/O領域検出部、21はインストラクションフ
ェッチ部、22はアドレス計算部、23はオペランドフェッ
チ部、24は実行部、25はバスコントロール部、26はI/O
領域アドレス一致信号、27は実行部実行終了信号をそれ
ぞれ示している。
ェッチ部、22はアドレス計算部、23はオペランドフェッ
チ部、24は実行部、25はバスコントロール部、26はI/O
領域アドレス一致信号、27は実行部実行終了信号をそれ
ぞれ示している。
I/O領域検出部20については第3図を参照して後に詳
細に説明する。
細に説明する。
インストラクションフェッチ部21は、自身のアクセス
先がI/O領域である場合、例外を起動する回路を備えて
いる。
先がI/O領域である場合、例外を起動する回路を備えて
いる。
アドレス計算部22は、自身のアクセス先がI/O領域で
ある場合、例外を起動する回路を備えている。
ある場合、例外を起動する回路を備えている。
オペランドフェッチ部23は、自身のアクセス先がI/O
領域であり、且つ実行部24が実行中である場合、自身の
動作を停止する回路を備えている。
領域であり、且つ実行部24が実行中である場合、自身の
動作を停止する回路を備えている。
バスコントロール部25には、アドレスストローブ信号
を生成し出力する回路及びI/O領域に対するアクセスとI
/O領域以外の領域に対するアクセスとが混在するアクセ
スを検出する回路とを備えている。
を生成し出力する回路及びI/O領域に対するアクセスとI
/O領域以外の領域に対するアクセスとが混在するアクセ
スを検出する回路とを備えている。
また、実行部実行終了信号27は、実行部24内にある実
行部の実行終了を検出する部分より出力される。
行部の実行終了を検出する部分より出力される。
なお、第2図では主要なコントロール信号は省略して
ある。
ある。
第3図は、第2図におけるI/O領域検出部20の構成を
示す回路図である。
示す回路図である。
図中30はI/Oマスクレジスタ、31はI/Oアドレスレジス
タ、32及び34はそれぞれ論理積回路、各33は排他的論理
和回路を示している。
タ、32及び34はそれぞれ論理積回路、各33は排他的論理
和回路を示している。
各論理積回路32にはそれぞれI/Oマスクレジスタ30か
らの信号とアドレスバスからのアドレス信号とが入力さ
れ、各排他的論理和回路33にはI/Oアドレスレジスタ31
からの信号と各論理積回路32からの信号が入力されてい
る。
らの信号とアドレスバスからのアドレス信号とが入力さ
れ、各排他的論理和回路33にはI/Oアドレスレジスタ31
からの信号と各論理積回路32からの信号が入力されてい
る。
次に、上記実施例の動作について図を参照して説明す
る。
る。
データ処理装置1内のパイプラインを構成するインス
トラクションフェッチ部21、アドレス計算部22、オペラ
ンドフェッチ部23及び実行部24はデータ処理装置1外部
のメモリ2及びI/Oデバイス4に対してアクセスを行
う。
トラクションフェッチ部21、アドレス計算部22、オペラ
ンドフェッチ部23及び実行部24はデータ処理装置1外部
のメモリ2及びI/Oデバイス4に対してアクセスを行
う。
各部は、データ処理装置1内のバスコントロール部25
にアクセス要求を送り、要求が受け付けられたいずれか
の部がアクセスを行うことができるようになる。
にアクセス要求を送り、要求が受け付けられたいずれか
の部がアクセスを行うことができるようになる。
I/O領域検出部20ではアクセス要求が受け付けられる
都度、受け付けられた部がアドレスバス上に送出したア
ドレスがI/O領域内に存在するか否かを検出する。
都度、受け付けられた部がアドレスバス上に送出したア
ドレスがI/O領域内に存在するか否かを検出する。
次に実際にどのようにして検出を行うかを、第3図を
参照しつつ説明する。
参照しつつ説明する。
予め、I/O領域を指定するアドレスをI/Oアドレスレジ
スタ31にセットしておき、またアクセスに使用するアド
レスをマスクするためのデータをI/Oマスクレジスタ30
にセットしておく。
スタ31にセットしておき、またアクセスに使用するアド
レスをマスクするためのデータをI/Oマスクレジスタ30
にセットしておく。
今、例えばこのシステム上においては、I/O領域のア
ドレスはAOOOOOOO〜AOOOFFFFの間であるとする。この
時、I/O領域のアドレスを指定するI/Oアドレスレジスタ
31には、AOOOOOOOが格納されている。
ドレスはAOOOOOOO〜AOOOFFFFの間であるとする。この
時、I/O領域のアドレスを指定するI/Oアドレスレジスタ
31には、AOOOOOOOが格納されている。
また、I/O領域のアドレスは、AOOOOOOO〜AOOOFFFFの
間であり、アクセスに使用するアドレスがI/O領域内に
存在するか否かはそのアクセスに使用するアドレスの上
位16ビットとI/Oアドレスの上位16ビットとを比較すれ
ば検出できることになる。従って、I/Oマスクレジスタ3
2にはFFFFOOOOが格納されている。
間であり、アクセスに使用するアドレスがI/O領域内に
存在するか否かはそのアクセスに使用するアドレスの上
位16ビットとI/Oアドレスの上位16ビットとを比較すれ
ば検出できることになる。従って、I/Oマスクレジスタ3
2にはFFFFOOOOが格納されている。
データ処理装置1内部でアクセス要求が発生し、アク
セスが開始され、アクセスに使用するアドレスがアドレ
スバス上に出力されると、I/O領域検出部20はそのアド
レスを入力する、次に、I/O領域検出部20へ出力された
アドレスはANDゲート32によりI/Oマスクレジスタ30のデ
ータと各ビット同士の論理積がとられ、その結果が排他
的否定論理和回路を用いてなる一致回路33へ転送され
る。
セスが開始され、アクセスに使用するアドレスがアドレ
スバス上に出力されると、I/O領域検出部20はそのアド
レスを入力する、次に、I/O領域検出部20へ出力された
アドレスはANDゲート32によりI/Oマスクレジスタ30のデ
ータと各ビット同士の論理積がとられ、その結果が排他
的否定論理和回路を用いてなる一致回路33へ転送され
る。
一致回路33では、ANDゲート32出力の論理積と、I/Oア
ドレスレジスタ31のデータの対応ビットとの否定論理和
がとられ、前記論理積がI/Oアドレスレジスタ31のデー
タと一致しているか否かが調べられる。この結果は論理
積回路34へ転送される。
ドレスレジスタ31のデータの対応ビットとの否定論理和
がとられ、前記論理積がI/Oアドレスレジスタ31のデー
タと一致しているか否かが調べられる。この結果は論理
積回路34へ転送される。
そして、排他的否定論理和のデータの総てのビットは
論理積回路34により論理積がとられる。この論理積回路
34の出力がI/O領域アドレス一致信号26である。
論理積回路34により論理積がとられる。この論理積回路
34の出力がI/O領域アドレス一致信号26である。
I/O領域アドレス一致信号26は、インストラクション
フェッチ部21、アドレス計算部22、オペランドフェッチ
部23及びバスコントロール部25に送出される。
フェッチ部21、アドレス計算部22、オペランドフェッチ
部23及びバスコントロール部25に送出される。
次に、上述のI/O領域アドレス一致信号26を受けてデ
ータ処理装置1内の各部がどの様な動作をするか第2図
を参照して説明する。
ータ処理装置1内の各部がどの様な動作をするか第2図
を参照して説明する。
まず、オペランドフェッチ部23のアクセス要求によっ
て行われたアクセスで、I/O領域検出部20が出力するI/O
領域アドレスオペランドフェッチ部23により発生された
アクセス要求に従ったアクセスの結果として有効であ
り、更に実行部実行終了信号27が無効状態を維持してい
る期間中、オペランドフェッチ部23は、アクセス先がI/
O領域であり、且つ実行部24が命令実行中であることを
認識して、動作を一時停止する。この時、バスコントロ
ール部25は、オペランドフェッチ部23のアクセス要求に
よって行われたアクセス期間中に、I/O領域アドレス一
致信号26が有効であり、更に実行部実行終了信号27が無
効である場合、アドレスストローブを強制的に無効にす
る。そして、実行部実行終了信号27が有効になると、オ
ペランドフェッチ部23は動作を再開し、再度同じアクセ
スを行う。
て行われたアクセスで、I/O領域検出部20が出力するI/O
領域アドレスオペランドフェッチ部23により発生された
アクセス要求に従ったアクセスの結果として有効であ
り、更に実行部実行終了信号27が無効状態を維持してい
る期間中、オペランドフェッチ部23は、アクセス先がI/
O領域であり、且つ実行部24が命令実行中であることを
認識して、動作を一時停止する。この時、バスコントロ
ール部25は、オペランドフェッチ部23のアクセス要求に
よって行われたアクセス期間中に、I/O領域アドレス一
致信号26が有効であり、更に実行部実行終了信号27が無
効である場合、アドレスストローブを強制的に無効にす
る。そして、実行部実行終了信号27が有効になると、オ
ペランドフェッチ部23は動作を再開し、再度同じアクセ
スを行う。
次に、インストラクションフェッチ部21のアクセス要
求によって行われたアクセスで、I/O領域アドレス一致
信号26が有効である場合、インストラクションフェッチ
部21は、アクセス先がI/O領域であることを認識して、
例外処理を起動する。この際、バスコントロール部25
は、インストラクションフェッチ部21のアクセス要求に
よって行われたアクセス期間中に、該I/O領域アドレス
一致信号26が有効である時、アドレスストローブを強制
的に無効にする。
求によって行われたアクセスで、I/O領域アドレス一致
信号26が有効である場合、インストラクションフェッチ
部21は、アクセス先がI/O領域であることを認識して、
例外処理を起動する。この際、バスコントロール部25
は、インストラクションフェッチ部21のアクセス要求に
よって行われたアクセス期間中に、該I/O領域アドレス
一致信号26が有効である時、アドレスストローブを強制
的に無効にする。
また、アドレス計算部22のアクセス要求によって行わ
れたアクセスで、I/O領域アドレス一致信号26が有効で
ある場合、アドレス計算部22は、アクセス先がI/O領域
であることを認識して、例外処理を起動する。この際、
バスコントロール部25は、アドレス計算部22のアクセス
要求によって行われたアクセス期間中に、該I/O領域ア
ドレス一致信号26が有効であるとき、アドレスストロー
ブを強制的に無効にする。
れたアクセスで、I/O領域アドレス一致信号26が有効で
ある場合、アドレス計算部22は、アクセス先がI/O領域
であることを認識して、例外処理を起動する。この際、
バスコントロール部25は、アドレス計算部22のアクセス
要求によって行われたアクセス期間中に、該I/O領域ア
ドレス一致信号26が有効であるとき、アドレスストロー
ブを強制的に無効にする。
更に、一連のアクセスが、I/O領域とI/O領域以外の領
域に跨るデータに対する場合を以下に説明する。
域に跨るデータに対する場合を以下に説明する。
4バイトデータのフェッチがワード境界を跨ぎ、その
ワード境界がI/O領域とI/O領域以外の領域の境界である
場合、例えば、アドレスの上位2バイトがI/O領域以外
の領域にあり、下位2バイトがI/O領域の境界にある場
合、バスコントロール部25内のI/O領域とI/O領域以外の
領域へのアクセスの混在を検出する回路がそれら2種類
のアクセスの混在を検出し、これら一連のアクセスを無
効にし例外を起動する。
ワード境界がI/O領域とI/O領域以外の領域の境界である
場合、例えば、アドレスの上位2バイトがI/O領域以外
の領域にあり、下位2バイトがI/O領域の境界にある場
合、バスコントロール部25内のI/O領域とI/O領域以外の
領域へのアクセスの混在を検出する回路がそれら2種類
のアクセスの混在を検出し、これら一連のアクセスを無
効にし例外を起動する。
上記実施例ではI/O領域を示すアドレスをバイト単位
で指定することが可能であるが、他の実施例としてI/O
領域を4Kバイト単位などのページ単位で指定することに
よってI/O領域か否かの検出が簡略化され、上記実施例
と同様の効果を奏する。
で指定することが可能であるが、他の実施例としてI/O
領域を4Kバイト単位などのページ単位で指定することに
よってI/O領域か否かの検出が簡略化され、上記実施例
と同様の効果を奏する。
なお、本発明装置のより詳細な具体的実施例は、本願
出願人の出願に係る発明の名称「データ処理装置」(特
願昭62−247418号)に開示されている。
出願人の出願に係る発明の名称「データ処理装置」(特
願昭62−247418号)に開示されている。
[発明の効果] 以上のように、この発明の第1の発明によれば、命令
のオペランドをフェッチするためにオペランドフェッチ
部によりI/O領域へのアクセスが要求されたことを検出
し、かつ命令実行部が命令実行中であることを検出した
場合、命令の実行終了を検出するまでオペランドフェッ
チ部によるI/O領域へのアクセスを抑止するので、オペ
ランドフェッチのためにI/O領域へのアクセスを行うか
否かは命令の実行結果に応じて判断することができる。
よってI/O領域へのアクセスを不必要に行うことはなく
なり、I/O領域への不要なアクセスによる不具合発生を
防ぐことができるという効果がある。
のオペランドをフェッチするためにオペランドフェッチ
部によりI/O領域へのアクセスが要求されたことを検出
し、かつ命令実行部が命令実行中であることを検出した
場合、命令の実行終了を検出するまでオペランドフェッ
チ部によるI/O領域へのアクセスを抑止するので、オペ
ランドフェッチのためにI/O領域へのアクセスを行うか
否かは命令の実行結果に応じて判断することができる。
よってI/O領域へのアクセスを不必要に行うことはなく
なり、I/O領域への不要なアクセスによる不具合発生を
防ぐことができるという効果がある。
また第2の発明によれば、第1の命令のオペランドを
フェッチするためにオペランドフェッチ部によりI/O領
域へのアクセスが要求されたことを検出した場合、命令
実行部が命令フェッチ部により第1の命令に先行してフ
ェッチされた第2の命令を実行し終わるまでオペランド
フェッチ部によるI/O領域へのアクセスを抑止するの
で、第1の命令のオペランドフェッチのためにI/O領域
へのアクセスを行うか否かは先行してフェッチされた第
2の命令の実行結果に応じて判断することができる。よ
ってI/O領域へのアクセスを不必要に行うことはなくな
り、I/O領域への不要なアクセスによる不具合発生を防
ぐことができるという効果がある。
フェッチするためにオペランドフェッチ部によりI/O領
域へのアクセスが要求されたことを検出した場合、命令
実行部が命令フェッチ部により第1の命令に先行してフ
ェッチされた第2の命令を実行し終わるまでオペランド
フェッチ部によるI/O領域へのアクセスを抑止するの
で、第1の命令のオペランドフェッチのためにI/O領域
へのアクセスを行うか否かは先行してフェッチされた第
2の命令の実行結果に応じて判断することができる。よ
ってI/O領域へのアクセスを不必要に行うことはなくな
り、I/O領域への不要なアクセスによる不具合発生を防
ぐことができるという効果がある。
第1図はメモリマップドI/O方式に構成されたデータ処
理システムの概略を示すブロック図、第2図は本発明に
よるパイプライン制御方式データ処理装置の構成を示す
ブロック図、第3図は第2図におけるI/O領域検出部の
回路図、第4図は従来のパイプライン制御方式データ処
理装置の概略を示すブロック図である。 1……データ処理装置(本発明装置)、2……メモリ、
3……I/Oインターフェース、23……オペランドフェッ
チ部、24……実行部、30……I/Oマスクレジスタ、31…
…I/Oアドレスレジスタ、32……論理積、33……排他的
論理和回路 なお、図中同一符号は同一または相当部分を示す。
理システムの概略を示すブロック図、第2図は本発明に
よるパイプライン制御方式データ処理装置の構成を示す
ブロック図、第3図は第2図におけるI/O領域検出部の
回路図、第4図は従来のパイプライン制御方式データ処
理装置の概略を示すブロック図である。 1……データ処理装置(本発明装置)、2……メモリ、
3……I/Oインターフェース、23……オペランドフェッ
チ部、24……実行部、30……I/Oマスクレジスタ、31…
…I/Oアドレスレジスタ、32……論理積、33……排他的
論理和回路 なお、図中同一符号は同一または相当部分を示す。
Claims (2)
- 【請求項1】フェッチされた命令を実行する命令実行部
と、 前記命令実行部で実行される命令のオペランドをフェッ
チするオペランドフェッチ部とを備え、 I/O領域がメモリマップ方式にて構成されたデータ処理
装置において、 前記I/O領域へのアクセスが要求されたことを検出する
アクセス要求検出手段、 前記命令実行部が命令実行中か否かを検出する命令実行
検出手段、および 命令のオペランドをフェッチするために前記オペランド
フェッチ部により前記I/O領域へのアクセスが要求され
たことを前記アクセス要求検出手段が検出し、かつ前記
命令実行部が命令実行中であることを前記命令実行検出
手段が検出した場合、前記命令実行検出手段が命令の実
行終了を検出するまで前記オペランドフェッチ部による
前記I/O領域へのアクセスを抑止するように制御する制
御手段を備えたことを特徴とするデータ処理装置。 - 【請求項2】命令をフェッチする命令フェッチ部と、 前記命令フェッチ部でフェッチされた命令を実行する命
令実行部と、 前記命令実行部で実行される命令のオペランドをフェッ
チするオペランドフェッチ部とを備え、 I/O領域がメモリマップ方式にて構成されたデータ処理
装置において、 前記I/O領域へのアクセスが要求されたことを検出する
アクセス要求検出手段、および 前記命令フェッチ部でフェッチされた第1の命令のオペ
ランドをフェッチするために前記オペランドフェッチ部
により前記I/O領域へのアクセスが要求されたことを前
記アクセス要求検出手段が検出した場合、前記命令実行
部が前記命令フェッチ部により前記第1の命令に先行し
てフェッチされた第2の命令を実行し終わるまで前記オ
ペランドフェッチ部による前記I/O領域へのアクセスを
抑止するように制御する制御手段 を備えたことを特徴とするデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62246625A JP2583525B2 (ja) | 1987-09-30 | 1987-09-30 | データ処理装置 |
US07/173,217 US4945472A (en) | 1987-09-30 | 1988-03-25 | Data processor with I/O area detection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62246625A JP2583525B2 (ja) | 1987-09-30 | 1987-09-30 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6488861A JPS6488861A (en) | 1989-04-03 |
JP2583525B2 true JP2583525B2 (ja) | 1997-02-19 |
Family
ID=17151184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62246625A Expired - Lifetime JP2583525B2 (ja) | 1987-09-30 | 1987-09-30 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US4945472A (ja) |
JP (1) | JP2583525B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5243700A (en) * | 1988-12-30 | 1993-09-07 | Larsen Robert E | Port expander architecture for mapping a first set of addresses to external memory and mapping a second set of addresses to an I/O port |
EP0408464B1 (en) * | 1989-07-13 | 1996-09-18 | Fujitsu Limited | Bit field logic operation unit and monolithic microprocessor comprising said unit |
US5297019A (en) * | 1989-10-10 | 1994-03-22 | The Manitowoc Company, Inc. | Control and hydraulic system for liftcrane |
IT1247640B (it) * | 1990-04-26 | 1994-12-28 | St Microelectronics Srl | Operazioni booleane tra due qualsiasi bit di due qualsiasi registri |
US5249281A (en) * | 1990-10-12 | 1993-09-28 | Lsi Logic Corporation | Testable ram architecture in a microprocessor having embedded cache memory |
US5210839A (en) * | 1990-12-21 | 1993-05-11 | Sun Microsystems, Inc. | Method and apparatus for providing a memory address from a computer instruction using a mask register |
US5448710A (en) * | 1991-02-26 | 1995-09-05 | Hewlett-Packard Company | Dynamically configurable interface cards with variable memory size |
JPH04367058A (ja) * | 1991-06-14 | 1992-12-18 | Matsushita Electric Ind Co Ltd | 情報装置 |
US5522052A (en) * | 1991-07-04 | 1996-05-28 | Matsushita Electric Industrial Co. Ltd. | Pipeline processor for processing instructions having a data dependence relationship |
JPH0883211A (ja) * | 1994-09-12 | 1996-03-26 | Mitsubishi Electric Corp | データ処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3892957A (en) * | 1973-09-24 | 1975-07-01 | Texas Instruments Inc | Digit mask logic combined with sequentially addressed memory in electronic calculator chip |
US4521846A (en) * | 1981-02-20 | 1985-06-04 | International Business Machines Corporation | Mechanism for accessing multiple virtual address spaces |
JPS5848146A (ja) * | 1981-09-18 | 1983-03-22 | Toshiba Corp | 命令先取り方式 |
JPS60193062A (ja) * | 1984-03-14 | 1985-10-01 | Nec Corp | マイクロプロセツサ |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
-
1987
- 1987-09-30 JP JP62246625A patent/JP2583525B2/ja not_active Expired - Lifetime
-
1988
- 1988-03-25 US US07/173,217 patent/US4945472A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US4945472A (en) | 1990-07-31 |
JPS6488861A (en) | 1989-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5247639A (en) | Microprocessor having cache bypass signal terminal | |
JP2583525B2 (ja) | データ処理装置 | |
US5379402A (en) | Data processing device for preventing inconsistency of data stored in main memory and cache memory | |
JPH07120338B2 (ja) | 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ | |
JPS60159951A (ja) | 情報処理装置におけるトレ−ス方式 | |
JPS60225262A (ja) | 2重キヤツシユメモリを有するパイプラインプロセツサ | |
JPH08171504A (ja) | エミュレ−ション装置 | |
EP0591753A2 (en) | A data processor and a debugging apparatus using it | |
JP2504191B2 (ja) | マイクロプロセッサ | |
JPH0795288B2 (ja) | マイクロコンピュータ | |
JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
JPH06202907A (ja) | デバッグ支援装置 | |
JPS5955546A (ja) | フア−ムウエア処理装置 | |
JP2772982B2 (ja) | 2バイト命令注入回路 | |
JP2535984B2 (ja) | 命令実行検出装置 | |
JPS6115235A (ja) | 中央処理装置 | |
JPH0535499A (ja) | データ処理装置及びデータ処理方法 | |
JPS6221130B2 (ja) | ||
JPS63316137A (ja) | 情報処理装置 | |
JPH01240941A (ja) | 情報処理装置 | |
JPH0782447B2 (ja) | Dmaデータ転送制御装置 | |
JPH0713865A (ja) | キャッシュメモリ制御システム | |
JPH03228151A (ja) | キャッシュメモリの無効化制御装置 | |
JPS6349941A (ja) | 演算処理装置 | |
JPS63214862A (ja) | マイクロ・プロセツサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
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: R313115 |
|
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 |
|
EXPY | Cancellation because of completion of term |