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

データ処理装置

Info

Publication number
JPH0926932A
JPH0926932A JP7177241A JP17724195A JPH0926932A JP H0926932 A JPH0926932 A JP H0926932A JP 7177241 A JP7177241 A JP 7177241A JP 17724195 A JP17724195 A JP 17724195A JP H0926932 A JPH0926932 A JP H0926932A
Authority
JP
Japan
Prior art keywords
bus
peripheral
output
data
cycle
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.)
Granted
Application number
JP7177241A
Other languages
English (en)
Other versions
JP2976850B2 (ja
Inventor
Satoru Sonobe
悟 園部
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP7177241A priority Critical patent/JP2976850B2/ja
Priority to EP96111213A priority patent/EP0753818A3/en
Priority to US08/679,128 priority patent/US5889966A/en
Priority to KR1019960028308A priority patent/KR100249536B1/ko
Publication of JPH0926932A publication Critical patent/JPH0926932A/ja
Application granted granted Critical
Publication of JP2976850B2 publication Critical patent/JP2976850B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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 or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】外部バスサイクルと内蔵周辺バスサイクルを独
立に制御するデータ処理装置を提供する。 【解決手段】本発明のデータ処理装置では、命令を格納
したメモリ100と、外部メモリ100からの命令フェ
ッチ機能を有するマイクロコンピュータ10とが、外部
バス95で接続されている。マイクロコンピュータ10
は複数の周辺回路40〜49を内蔵し、複数の周辺回路
40〜49が内蔵周辺バス90で接続している。マイク
ロコンピュータ10内のバスコントローラ30は、外部
バスのバスステートカウンタ31と内蔵周辺バスのバス
ステートカウンタ32をもち、外部バスサイクルと内蔵
周辺バスサイクルを独立に制御する。これにより、外部
メモリからの命令フェッチサイクルと周辺I/Oのメモ
リアクセスサイクルを独立に起動することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ処理装置に関
し、特にバスサイクルのステートカウンタを有するデー
タ処理装置に関する。
【0002】
【従来の技術】外部に命令を格納したメモリを配し、各
種周辺回路を内蔵しているマイクロコンピュータシステ
ムでは、外部メモリから命令をフェッチしながら、外部
メモリや周辺I/Oへメモリアクセスを行う。ここで周
辺I/Oとは、特定のアドレスにマッピングされた内蔵
周辺回路内のレジスタを指している。外部メモリ領域と
周辺I/O領域はメモリマップで区別されており、デー
タアクセスの際にマイクロコンピュータ内部のバスコン
トローラがアドレスに応じてアクセス対象を外部メモリ
か周辺I/Oか判断する。
【0003】従来例のデータ処理装置の概要をブロック
図で示した図9を参照すると、本構成例では、マイクロ
コンピュータ12と外部メモリ100が外部バス95を
介して接続され、マイクロコンピュータ12は外部メモ
リ100に外部バスサイクル制御信号群96を出力して
いる。
【0004】マイクロコンピュータ12は、中央処理装
置20(以下、CPUと称す)、データパス26、バス
コントローラ35、周辺回路40〜49で構成され、C
PU20はバスコントローラ35にリクエスト信号群9
3を出力し、バスコントローラ35からアクノリッジ信
号群94を入力する。
【0005】また、CPU20はデータバス26とアド
レスバス70、出力データバス71、インストラクショ
ンバス72、入力データバス73で接続しており、デー
タパス26にアドレス、およびライトデータを出力し、
データパス26からインストラクションコード、および
リードデータを入力する。
【0006】バスコントローラ35は、内部にバスステ
ートカウンタ36を持ち、外部バス制御信号群92を端
子群66に出力し、内蔵周辺バス制御信号群91を周辺
回路40〜49に出力している。また、図には示してい
ないが、データパス26内の信号の流れを制御する信号
をデータパス26に出力している。
【0007】データパス26は、端子群65とバス7
7,78で接続され、外部にアドレス、およびライトデ
ータを出力し、リードデータを入力する。同様に、デー
タパス26は、内蔵周辺バス90とバス80,81で接
続され、内蔵周辺バスにアドレス、およびライトデータ
を出力し、リードデータを入力する。
【0008】周辺回路40〜49は、各々内蔵周辺バス
90に接続している。
【0009】データパス26は、プリフェッチしたイン
ストラクションを格納するインストラクション・キュー
50、プリフェッチのアドレスを格納するプリフェッチ
ポインタ(PFP)51、信号を記憶するラッチ52〜
56、信号の接続を切り替えるセレクタ61,62が、
バス70〜81で接続されている。
【0010】ラッチ52は、CPU20がバス70に出
力するアドレスを記憶する。セレクタ61は、ラッチ5
2がバス74に出力するアドレスと、プリフェッチポイ
ンタ51がバス75に出力するアドレスと、CPU20
がバス71に出力するライトデータとのうち一つを選択
し、バス76に出力する。
【0011】インクリメンタ60は、バス76のアドレ
スを2インクリメントしたアドレスをプリフェッチポイ
ンタ51に出力する。プリフェッチポインタ51は、イ
ンクリメンタ60からのアドレスを記憶し、バス75を
介してセレクタ60に出力する。ラッチ53は、バス7
6上のアドレス、およびライトデータを記憶し、バス7
7を介して端子群65に出力する。ラッチ54は、バス
78を介して端子群65から入力したリードデータを記
憶し、バス79を介してインストラクション・キュー5
0、およびセレクタ62に出力する。
【0012】インストラクション・キュー50は、バス
79上のプリフェッチデータを複数のバッファに記憶
し、バス72を介してCPU20にインストラクション
・データとして出力する。ラッチ55は、バス82上の
アドレスおよびライトデータを記憶し、バス80を介し
て内蔵周辺バス90に出力する。セレクタ62は、バス
79上の外部メモリからのリードデータおよびバス81
上の周辺I/Oからのリードデータのうち一方を選択
し、ラッチ56に出力する。ラッチ56は、セレクタ6
2からのリードデータを記憶し、バス73を介してCP
U20にリードデータを出力する。
【0013】次に、動作の説明を行う。
【0014】バスコントローラ35は、CPU20から
のメモリアクセス要求、分岐要求、キューのリード要求
などのリクエスト93に応じて外部バスサイクル、また
は内蔵周辺バスサイクルを起動させ、データパス26内
のラッチ52〜56、セレクタ61,62、およびプリ
フェッチポインタ51の制御を行い、アクセス終了時に
アクノリッジ94をCPU20に返す。
【0015】バスコントローラ35は、内部にバスステ
ートカウンタ36をもち、バスステートのカウントを行
っている。
【0016】外部バスサイクルおよび内蔵周辺バスサイ
クルの状態遷移を示した図10(a)およびそのバスサ
イクルの種類を識別するためのサービスフラグの状態図
を示した図10(b)を参照すると、T1はアドレスを
出力するステート、T2はデータを出力、またはデータ
を入力するステート、T3はバスサイクルの最後のステ
ート、またはバスサイクルが起動していないステートで
ある。これらのステートは、マイクロコンピュータ12
内のシステムクロックに同期して遷移する。
【0017】バスコントローラ35は、バスステートカ
ウンタ36に合わせてサービスフラグ110〜113を
もっており、バスサイクルの種類の識別に使用してい
る。分岐サイクル実行時にはSBRSVF110が
“1”、フェッチサイクル実行時にはFETSVF11
1が“1”、外部メモリアクセスサイクル実行時にはM
EMSVF112が“1”、周辺I/Oアクセスサイク
ル実行時にはIOMSVF113が“1”となり、バス
サイクルが起動していない時は全てのサービスフラグ1
10〜113が“0”なる。SBRSVF110,FE
TSVF111,MEMSVF112は外部バス95上
のバスサイクルを、IOMSVF113は内蔵周辺バス
90上のバスサイクルを示している。
【0018】まず、リセット状態でバスステートはT3
となる。CPU20からのリクエスト要求93がアクテ
ィブとなるまでは、バスステートはT3に留まり、リク
エスト要求93がアクティブとなればT1へ遷移する。
T1からT2へは無条件で遷移する。T2の状態でウェ
イト要求があればT2に留まり、ウェイト要求がなけれ
ばT3へ遷移する。
【0019】CPU20からのリクエスト要求93がア
クティブとなると、バスコントローラ35は、バスサイ
クルを起動する。ただし、このとき既に別のバスサイク
ルが起動中であれば、新しいバスサイクルの起動は起動
中のバスサイクルが終了するまで待たされる。
【0020】CPU20からのメモリリクエスト要求9
3によりバスサイクルが起動する時、バスコントローラ
35はアドレスに応じて外部メモリアクセスが周辺I/
Oアクセスかを識別し、外部メモリアクセスの場合にM
EMSVF112を“1”にセットし、周辺I/Oアク
セスの場合にIOMSVF113を“1”にセットす
る。
【0021】また、バスコントローラ35は、CPU2
0からの分岐リクエスト要求93によりバスサイクルを
起動する時は、SBRSVF110を“1”にセットす
る。
【0022】なお、CPU20からのリクエスト要求9
3が無い場合でも、インストラクション・キュー50の
バッファが一杯でない限り、バスコントローラ35は外
部メモリ100から命令フェッチサイクルを起動する。
この時は、FETSVF111を“1”にセットする。
【0023】バスコントローラ35は、サービスフラグ
110〜113の値によりバスサイクルの種類を識別
し、バスサイクルの種類に応じて、データパス26内の
ラッチ52〜56、セレクタ61,62、およびプリフ
ェッチポインタ51の制御を行う。
【0024】外部メモリのN番地から命令をフェッチし
ながら周辺I/OのM1番地およびM2番地へリードア
クセスした時のタイミングチャートを示した図11を参
照すると、この例では、全てのバスサイクルはノーウェ
イトとしている。
【0025】命令フェッチサイクル1の起動時に、フェ
ッチサイクを示すFETSVF111を“1”にセット
する。T1ステートでは、セレクタ61でプリフェッチ
アドレスNがのっているバス75を選択し、ラッチ53
で切り直した後、外部バス95にアドレスNを出力す
る。プリフェッチポインタ51では、T1ステートの終
了タイミングで、インクリメンタ60により+2された
アドレスN+2を記憶する。ただし、ここでは命令のフ
ェッチは2バイト単位としている。
【0026】T2ステートでは、メモリ100が外部バ
ス95にドライブしたデータnをラッチ54で一旦ラッ
チした後、インストラクション・キュー50に取り込
む。インストラクション・キュー50に蓄えられた命令
コードは、CPU20が内部の命令処理に応じて取り込
む。
【0027】T3ステートは、バスサイクルの最後のス
テートである。
【0028】ここで、命令フェッチサイクル1のT1
で、CPU20から周辺I/Oのアクセス要求があった
とする。バスコントローラ35は、命令フェッチサイク
ルよりもメモリアクセスサイクルを優先するので、次の
バスサイクルは周辺I/Oアクセスサイクルとなる。バ
スコントローラ35は、命令フェッチサイクル1の終了
を待ってFETSVF111を“0”にリセット、IO
MSVF113を“1”にセットし、データパス26の
制御を周辺I/Oアクセス用に切り替える。
【0029】周辺I/Oアクセスサイクル1のT1ステ
ートでは、セレクタ61でメモリアクセス対象のアドレ
スM1がのっているバス74を選択し、ラッチ55で切
り直した後、内蔵周辺バス90にアドレスM1を出力す
る。この時、プリフェッチポインタ51では、アドレス
の更新は行わない。
【0030】T2ステートでは、周辺I/Oが内蔵周辺
バス90にドライブしたデータm1をセレクタ62を制
御し、バス81を介してラッチ56に取り込む。ラッチ
56に取り込んだデータm1は、CPU20が読み込
む。
【0031】T3ステートは、バスサイクルの最後のス
テートである。バスコントローラ35は、メモリアクセ
スが終了したことを示すアクノリッジ94をCPU20
に出力する。
【0032】メモリアクセスサイクルが終了したので、
次は再び命令フェッチサイクルとなる。命令フェッチサ
イクル2では、起動時にIOMSVF113を“0”に
リセット、FETSVF111を“1”にセットする。
以降は、命令フェッチサイクル1と同様に、メモリ10
0のN+2番地からデータn2をリードし、インストラ
クション・キュー50に取り込む。
【0033】ここで、再び命令フェッチサイクル2の間
に、CPU20から周辺I/Oのアクセス要求があった
とする。ハスコントローラ35は、再びFETSVF1
11を“0”にリセット、IOMSVF113を“1”
にセットし、周辺I/Oアクセスサイクル2を起動す
る。バスコントローラ35は、周辺I/Oサイクル1と
同様に制御を切り替え、周辺I/OのM2番地よりデー
タm2をリードする。
【0034】
【発明が解決しようとする課題】上述した従来のデータ
処理装置では、バスコントローラ33が内蔵するバスス
テートカウンタ36は1個であるから、外部バスサイク
ルおよび内蔵周辺バスサイクルを起動させる場合は、ど
ちらか一方づつ実行することになる。すなわち、両方を
同時に実行させることが出来ない。
【0035】したがって、周辺I/Oアクセスサイクル
の起動は、起動中の命令フェッチサイクルが終了するま
で待機させられることになり、また、周辺I/Oアクセ
スサイクルの起動により命令フェッチサイクルは中断さ
れていた。
【0036】組み込み用途向けのデータ処理装置におい
ては、特に、ロード/ストア命令を基本とするRISC
(Reduced Instruction Set
Computer)型マイクロプロセッサを使用してい
る場合は、例えば全命令の50%をメモリアクセス命令
が占め、このうちのさらに半分が周辺I/Oに対するメ
モリアクセスであるとすれば、全命令のうち1/4、す
なわち25%の命令の実行においては外部バスサイクル
および内蔵周辺バスサイクルの両方を同時に実行させる
ことが出来ないからバスの使用効率が低下することにな
り、したがって、システムの処理能力低下の大きな要因
になっていた。
【0037】本発明の目的は、上述の欠点に鑑みなされ
たものであり、外部バスサイクルと内蔵周辺バスサイク
ルをそれぞれ独立に制御することにより、外部メモリか
らの命令フェッチサイクルと周辺回路が内蔵するレジス
タのメモリアクセスをそれぞれ独立に起動させることが
出来るデータ処理装置を提供することにある。
【0038】
【課題を解決するための手段】本発明のデータ処理装置
の特徴は、中央演算処理手段と命令を格納する外部メモ
リと特定のアドレスにマッピングされたレジスタをもつ
複数の周辺回路とこれらの外部メモリおよび周辺回路に
それぞれアドレスおよびライトデータを出力しかつリー
ドデータを入力する第1のデータパス手段と外部バスサ
イクルおよび内蔵周辺バスサイクルのバスサイクル数を
カウントするバスステートカウンタを内部にもち外部バ
ス制御信号を前記外部メモリへ出力しかつ内蔵周辺バス
制御信号を前記周辺回路に出力するとともに前記第1の
データパス手段を制御するための信号を出力する第1の
バスコントロール手段とを備えるとともに、前記中央演
算処理手段が前記外部メモリから命令をフェッチしなが
ら前記外部バスおよび前記内蔵周辺バスを介してそれぞ
れ前記外部メモリおよび前記周辺回路群へメモリアクセ
スを行なうマイクロコンピュータ内蔵のデータ処理装置
において;前記第1のデータパス手段に代えて前記中央
処理手段が出力するメモリアドレスとライトデータとか
ら一方を選択して複数の前記周辺回路へ出力する選択手
段を更に備えた第2のデータパス手段が用いられ、かつ
前記第1のバスコントローラに代えて前記外部バスヘの
バスサイクルのステート数をカウントする外部バスステ
ートカウンタおよび前記内蔵周辺バスへのバスサイクル
のステート数をカウントする内蔵周辺バスステートカウ
ンタを有する第2のバスコントローラが用いられ、前記
外部バスステートカウンタのカウント結果に基づく前記
外部メモリの命令フェッチサイクルと、前記内蔵周辺バ
スステートカウンタのカウント結果に基づく前記周辺回
路のデータアクセスサイクルとを並列に起動するバスサ
イクル並列制御手段を有することにある。
【0039】また、前記データパス手段は、プリフェッ
チのアドレスを格納するプリフェッチポインタと、前記
中央演算処理手段から出力されるアドレスを記憶する第
1のラッチと、このラッチから出力されるアドレスと前
記プリフェッチポインタから出力されるアドレスと前記
中央演算処理手段から出力されるライトデータとから1
つを選択する第1のセレクタと、このセレクタから出力
されるアドレスを2インクリメントして前記プリフェッ
チポイタに出力するインクリメンタと、前記第1のセレ
クタから出力されるアドレスおよびライトデータを記憶
し前記外部バスヘ出力する第2のラッチと、前記外部メ
モリから前記外部バスを介して出力されるリードデータ
を記憶する第3のラッチと、このラッチから出力される
前記リードデータと前記周辺回路から出力されるリード
データとから1つを選択する第2のセレクタと、このセ
レクタから出力されるデータを記憶し前記中央演算処理
手段に出力する第4のラッチと、前記第3のラッチから
出力されるプリフェッチデータを複数のバッファに記憶
し前記中央演算処理手段に命令データとして出力するイ
ンストラクション・キューと、前記第1のラッチから出
力されるアドレスと前記中央演算処理手段から出力され
るライトデータとから1つを選択する第3のセレクタ
と、このセレクタから出力されるアドレスおよびライト
データを記憶し前記内蔵周辺バスへ出力する第5のラッ
チとからなる。
【0040】さらに、前記バスサイクル並列制御手段
は、前記中央演算処理手段が指示するメモリリクエスト
のアドレスに応答して前記第1のバスコントローラが前
記外部メモリまたは前記周辺回路のいずれに対するリク
エストかを識別して前記周辺回路のリクエストであれば
前記外部バスステートカウンタが前記外部メモリからの
命令フェッチを実行中であっても、前記内蔵周辺バスス
テートカウンタが前記第2のセレクタを制御して前記周
辺回路へのアドレスまたはライトデータを出力させるこ
とにより、前記命令フェッチサイクルと前記周辺回路の
メモリアクセスを平行して実行することができる。
【0041】さらにまた、前記命令フェッチ実行期間中
に前記中央演算処理手段から前記周辺回路のアクセスを
要求されたとき、前記内蔵周辺バスステートカウンタ
は、前記第3のセレクタで内蔵周辺回路のアクセスアド
レスを選択して前記内蔵周辺バスに出力する第1の周辺
回路バスステートと、前記第3のセレクタで前記中央演
算処理手段が出力したライトデータを選択して前記内蔵
周辺バスへ出力するかまたは前記周辺回路から前記内蔵
周辺バスに出力されたデータを前記中央演算処理手段に
取り込むかのいずれかを実行する第2の周辺回路バスス
テートと、前記周辺回路のメモリアクセスが終了したこ
とを前記中央演算処理手段に通知した後次のバスサイク
ルのアクセス要求を待機する第3の周辺回路バスステー
トとをそれぞれ設定するための3状態の信号を生成する
ことができる。
【0042】また、前記中央演算処理手段から前記命令
フェッチを要求されたとき、前記外部バスステートカウ
ンタは、前記第1のセレクタで前記外部メモリのアクセ
スアドレスとプリフェッチアドレスとから1つを選択し
て前記外部バスに出力する第1のバスステートと、前記
外部メモリから前記外部バスに出力されたリードデータ
を前記中央演算処理手段に取り込みまたは前記演算処理
手段から前記外部バスへライトデータを出力する第2の
バスステートと、次のバスサイクルのアクセス要求を待
機する第3のバスステートと、バスホールドリクエスト
信号入力端子に外部から供給されるバスホールドリクエ
スト信号のアクティブ状態に応答して、前記第3のバス
ステートからバスホールド状態へ遷移し、前記バスホー
ルドリクエスト信号が非アクティブになると再び前記第
3のバスステートに復帰する第4のバスステートをそれ
ぞれ設定するための4状態の信号を生成することもでき
る。
【0043】さらに、前記内蔵周辺バスステートカウン
タは、リセット機能を有しAND回路の出力データをク
ロック信号に同期して読み込む第1のフリップフロップ
回路およびAND−OR回路の出力データをクロック信
号に同期して読み込む第2のフリップフロップ回路を有
し、前記第1のフリップフロップ回路の出力端が前記A
ND−OR回路のOR側入力端に接続されるとともにN
OR回路の一方の入力端にも接続され、前記第2のフリ
ップフロップ回路の出力端が前記AND−OR回路のA
ND側の一方の入力端に接続されるとともにNOR回路
の他方の入力端にも接続され、このNOR回路の出力端
が前記AND回路の一方の入力端に接続され他方の入力
端には前記内蔵周辺バスサイクルの起動要因があるとき
にハイレベルとなる信号が供給され、前記AND−OR
回路のAND側の他方の入力端には前記内蔵周辺バスサ
イクルを待機状態にするときにハイレベルとなる信号が
供給される構成からなり、前記第1および前記第2のフ
リップフロップ回路の出力をそれぞれ前記第1および前
記第2の周辺回路バスステートの設定信号とし、前記N
OR回路の出力を前記第3の周辺回路バスステートの設
定信号とすることもできる。
【0044】さらにまた、バスホールドリクエスト信号
入力端子およびバスホールドアクノリッジ信号出力端子
を備え、前記バスホールドリクエスト信号入力端子に外
部から供給されるバスホールドリクエスト信号に応答し
て、前記第2のバスコントローラが前記外部メモリ制御
信号の出力端子および前記外部バスと接続する入出力端
子をハイインピーダンス状態にして前記外部バスを開放
状態にするとともに、前記バスホールドアクノリッジ信
号出力端子を介してバスホールド受信を外部に通知して
もよい。
【0045】
【発明の実施の形態】まず、本発明の第1の実施の形態
について図面を参照しながら説明する。図1は本発明の
データ処理装置の第1の実施の形態の主要構成を示すブ
ロック図であり、図2(a)は図1における内蔵周辺バ
スステートカウンタにおける3状態を記憶するための2
ビットカウンタの回路図であり、図2(b)は3状態を
示す図である。
【0046】図1、図2(a)および図2(b)を参照
すると、このデータ処理装置は、マイクロコンピュータ
10およびメモリ100が外部バス95を介して接続さ
れ、マイクロコンピュータ10は外部メモリ100に外
部バスサイクル制御信号群96を出力している。
【0047】マイクロコンピュータ10は、CPU2
0、データパス25、バスコントローラ30および周辺
回路40〜49を含み、CPU20はバスコントローラ
30にリクエスト信号群93を出力し、バスコントロー
ラ30からアクノリッジ制御信号群94を入力する。
【0048】また、CPU20はデータパス25にアド
レスバス70、出力データバス71、インストラクショ
ンバス72および入力データバス73で接続されてお
り、データパス25にアドレス、およびライトデータを
入力し、データパス25からインストラクションコー
ド、およびリードデータを入力する。
【0049】バスコントローラ30は、内部に外部バス
ステートカウンタ31および内蔵周辺バスステートカウ
ンタ32を持ち、外部バス制御信号群92を端子群66
に出力し、内蔵周辺バス制御信号群91を周辺回路40
〜49に出力している。また、図には示していないが、
データパス25内の信号の流れを制御する信号をデータ
パス25に出力している。
【0050】データパス25は、端子群65とバス77
および78で接続され、外部にアドレスおよびライトデ
ータを出力し、リードデータを入力する。同様に、デー
タパス25は、内蔵周辺バス90とバス80および81
で接続され、内蔵周辺バスにアドレスおよびライトデー
タを出力し、リードデータを入力する。
【0051】周辺回路40〜49は、各々内蔵周辺バス
90に接続している。
【0052】データパス25は、プリフェッチしたイン
ストラクションを格納するインストラクション・キュー
50、プリフェッチのアドレスを格納するプリフェッチ
ポインタ(PFP)51、信号を記憶するラッチ52〜
56、信号の接続を切り替えるセレクタ61〜63がバ
ス70〜82で接続されている。
【0053】ラッチ52は、CPU20がバス70に接
続するアドレスを記憶する。セレクタ61は、ラッチ5
2がバス74に出力するアドレスと、プリフェッチポイ
ンタ51がバス75に出力するアドレスと、CPU20
がバス71に出力するライトデータのうち一つを選択
し、バス76に出力する。
【0054】インクリメンタ60は、バス76のアドレ
スを2インクリメントしたアドレスをプリフェッチポイ
ンタ51に出力する。プリフェッチポインタ51は、イ
ンクリメンタ60からのアドレスを記憶し、バス75を
介してセレクタ61に出力する。
【0055】ラッチ53は、バス76上のアドレスおよ
びライトデータを記憶し、バス77を介して端子群65
に出力する。ラッチ54は、バス78を介して端子群6
5から入力したリードデータを記憶し、バス79を介し
てインストラクション・キュー50、およびセレクタ6
2に出力する。
【0056】インストラクション・キュー50は、バス
79上のプリフェッチデータを複数のバッファに記憶
し、バス72を介してCPU20にインストラクション
・データとして出力する。セレクタ63は、ラッチ52
がバス74に出力するアドレスと、CPU20がバス7
1に出力するライトデータのうち一つを選択し、バス8
2に出力する。
【0057】ラッチ55は、バス82上のアドレスおよ
びライトデータを記憶し、バス80を介して内蔵周辺バ
ス90に出力する。セレクタ62は、バス79上の外部
メモリからのリードデータと、バス81上の周辺I/O
からのリードデータのうち一方を選択し、ラッチ56に
出力する。ラッチ56は、セレクタ62からのリードデ
ータを記憶し、バス73を介してCPU20にリードデ
ータを出力する。
【0058】内蔵周辺バスステートカウンタ32は、リ
セット端子Rを有しデータ入力端Dに接続されたAND
回路321の出力データをクロック信号CLKに同期し
て読み込むフリップフロップ回路(FF1)322およ
びデータ入力端Dに接続されたAND−OR回路323
の出力データをクロック信号CLKに同期して読み込む
フリップフロップ回路(FF2)324を有し、フリッ
プフロップ回路322の出力端QがAND−OR回路3
23のOR側入力端に接続されるとともにNOR回路3
25の一方の入力端にも接続される。
【0059】NOR回路325の他方の入力端にはフリ
ップフロップ回路324の出力端Qが接続されこのNO
R回路325の出力端がAND回路321の一方の入力
端に接続され他方の入力端には内蔵周辺バスサイクルの
起動要因があるときにハイレベルとなる信号Aが供給さ
れる。
【0060】AND−OR回路323のAND側の他方
の入力端には内蔵周辺バスサイクルを待機状態にすると
きにハイレベルとなる信号Bが供給される構成からな
る。
【0061】フリップフロップ回路322および324
の出力をそれぞれ周辺回路バスステートの設定信号PT
1およびPT2とし、NOR回路325の出力を周辺回
路バスステートの設定信号PT3とする。
【0062】従来例との違いは、従来例のバスコントロ
ーラ35が外部バスサイクルと内蔵周辺バスサイクルの
双方のバスサイクル数をカウントするバスステートカウ
ンタ36をもっていたのに対し、本実施の形態ではバス
コントローラ30が外部バスサイクル用のバスステート
カウンタ31と内蔵周辺バスサイクル用のバスステート
カウンタ32に切り分けている点である。これにより、
3状態を記憶するために2ビットのカウンタが追加とな
る。
【0063】また、外部メモリからの命令フェッチサイ
クルと、周辺I/Oアクセスを同時に起動できるよう
に、セレクタ63を追加している。内蔵周辺バス90の
ビット幅を16ビットとすると、16個のセレクタの追
加となる。その他の部分に、ハードウェアの増加はな
い。
【0064】次に、動作の説明を行う。
【0065】バスコントローラ30は、従来例と同様
に、CPU20からのメモリアクセス要求、分岐要求、
キューのリード要求などのリクエスト93に応じて外部
バスサイクル、または内蔵周辺バスサイクルを起動さ
せ、データパス26内のラッチ52〜56、セレクタ6
1〜63、およびプリフェッチポインタ51の制御を行
い、アクセス終了時にアクノリッジ94をCPU20に
返す。
【0066】バスコントローラ30は、内部に外部バス
ステートカウンタ31と内蔵周辺バスステートカウンタ
32をもち、それぞれ、外部バスおよび内蔵周辺バスの
バスステートのカウントを行っている。
【0067】すなわち、図2(a)および(b)を再び
参照すると、3状態を記憶するための2ビットカウンタ
は、後述する内蔵周辺バス状態遷移図を実現したもので
ある。この3状態とは、PT1,PT2およびPT3の
ことであり、状態PT1はFF1が論理レベルのハイレ
ベル(“1”)でFF2がロウレベル(“0”)の状
態、状態P2はFF1が“0”でFF2が“1”の状
態、状態PT3はFF1が“0”でFF2も“0”の状
態である。
【0068】これらのFF1およびFF2はクロックの
“0”から“1”への立ち上りのタイミングでデータを
取り込む動作をする。
【0069】まず、Reset時には、FF1=FF2
=0となり、PT3状態になる。内蔵周辺バスサイクル
の起動要因があるときに“1”となる信号Aが供給され
るとFF1=1,FF2=0となりPT1状態になる。
その後FF1=0,FF2=1となりPT2状態にな
る。
【0070】内蔵周辺バスサイクルにウェイトを入れる
ときに“1”となる信号Bが“1”の間はこのPT2状
態が続き、信号Bが“0”になるとFF1=FF2=0
となりPT3状態となる。
【0071】これらPT1,PT2およびPT3信号
は、内蔵周辺バス制御信号91の生成およびデータバス
25の制御に使用する。
【0072】外部バスサイクルの状態遷移図を示した図
3(a)および外部バスサイクルの種類を識別するため
のサービスフラグの状態図を示した図3(b),並びに
内蔵周辺バスサイクルの状態遷移図を示した図4(a)
およびこの状態の種類を識別するためのサービスフラグ
の状態図を示した図4(b)を併せて参照すると、T1
は外部バスにアドレスを出力するステート、T2は外部
バスにデータを出力、または外部バスからデータを入力
するステート、T3は外部バスサイクルの最後のステー
ト、または外部バスサイクルが起動していないステート
である。
【0073】同様に、PT1は内蔵周辺バスにアドレス
を出力するステート、PT2は内蔵周辺バスにデータを
出力、または内蔵周辺バスからデータを入力するステー
ト、PT3は内蔵周辺バスサイクルの最後のステート、
または内蔵周辺バスサイクルが起動していないステート
である。これらのステートは、マイクロコンピュータ1
0内のシステムクロックに同期して遷移する。
【0074】バスコントローラ30は、外部バスステー
トカウンタ31に合わせて、サービスフラグ110〜1
12をもっており、外部バスサイクルの種類に識別に使
用している。分岐サイクル実行時にはSBRSVF11
0が“1”、フェッチサイクル実行時にはFETSVF
111が“1”、外部メモリアクセスサイクル実行時に
はMEMSVF112が“1”、外部バスサイクルが起
動していない時は全てのサービスフラグ110〜112
が“0”となる。
【0075】バスコントローラ30は、さらに内蔵周辺
バスステートカウンタ32と合わせて、サービスフラグ
113をもっており、内蔵周辺バスサイクルの状態の識
別に使用している。周辺I/Oアクセスサイクル実行時
にはIOMSVF113が“1”となり、周辺I/Oア
クセスサイクルが起動していない時はIOMSVF11
3は“0”となる。
【0076】まず、リセット状態で外部バスステート、
内蔵周辺バスステートはそれぞれT3,PT3となる。
CPU20からのリクエスト要求93がアクティブとな
るまでは、バスステートは変化しない。CPU20から
のリクエスト要求93がアクティブとなると、バスコン
トローラ30はバスサイクルを起動する。ただし、この
とき既に同じバスに別のバスサイクルが起動中であれ
ば、新しいバスサイクルの起動は起動中のバスサイクル
が終了するまで待たされる。
【0077】前述したように、外部メモリ領域と周辺I
/O領域とはメモリマップで区別されており、データア
クセスのときにバスコントローラ30がアドレスに応じ
てアクセス対象を外部メモリが周辺I/Oかを判断して
いるので、CPU20からのメモリリクエスト要求93
によりバスサイクルが起動する時、バスコントローラ3
0はアドレスに応じて外部メモリアクセスか周辺I/O
アクセスかを識別し、外部メモリアクセスの場合はME
MSVF112を“1”にセットし、外部バスステート
はT1へ遷移する。周辺I/Oアクセスの場合はIOM
SVF113を“1”にセットし、内蔵周辺バスステー
トはPT1へ遷移する。
【0078】外部バスステートのT1からT2へは無条
件で遷移する。T2の状態で外部バスサイクルに対する
ウェイト要求があればT2に留まり、ウェイト要求がな
ければT3へ遷移する。
【0079】内蔵周辺バスステートのPT1からPT2
へは無条件で遷移する(always)。PT2の状態
で内蔵周辺バスサイクルに対するウェイト要求があれば
PT2に留まり、ウェイト要求がなければPT3へ遷移
して待機状態となる。
【0080】また、CPU20からの分岐リクエスト要
求93によりバスサイクルが起動する時は、SBRSV
F110を“1”にセットし、外部バスステートはT1
へ遷移する。
【0081】なお、CPU20からのリクエスト要求9
3が無い場合でも、インストラクション・キュー50の
バッファが一杯でない限り、バスコントローラ30は外
部メモリ100から命令フェッチサイクルを起動する。
この時は、FETSVF111を“1”にセットし、外
部バスステートはT1へ遷移する。
【0082】バスコントローラ30は、サービスフラグ
110〜113の値によりバスサイクルの種類を識別
し、バスサイクルの種類に応じて、データパス25内の
ラッチ52〜56、セレクタ61〜63およびプリフェ
ッチポインタ51の制御を行う。
【0083】図5は外部メモリのN番地から命令をフェ
ッチしながら周辺I/OのM1〜M4番地へリードアク
セスした時のタイミングチャートである。この例では、
全てのバスサイクルはノーウェイトとしている。
【0084】命令フェッチサイクル1の起動時に、バス
コントローラ30はフェッチサイクルを示すFETSV
F111を“1”にセットする。T1ステートでは、セ
レクタ61でプリフェッチアドレスNがのっているバス
75を選択し、ラッチ53で切り直した後、外部バス9
5にアドレスNを出力する。
【0085】プリフェッチポインタ51では、インクリ
メンタ60で+2されたアドレスN+2を記憶する。た
だし、ここでは命令のフェッチは2バイト単位としてい
る。
【0086】T2ステートでは、メモリ100が外部バ
ス95にドライブしたデータnをラッチ54で一旦ラッ
チした後、インストラクション・キュー50に取り込
む。インストラクション・キュー50に蓄えられた命令
コードは、CPU20が内部の命令処理に応じて取り込
む。
【0087】T3ステートは、バスサイクルの最後のス
テートである。
【0088】ここで、命令フェッチサイクル1のT1
で、CPU20から周辺I/Oのアクセス要求があった
とする。バスコントローラ30は、周辺バス90上にバ
スサイクルが起動していないので、IOMSVF113
を“1”にセットし、直ちに周辺I/Oアクセスサイク
ルを起動する。
【0089】周辺I/Oアクセスサイクル1のPT1ス
テートでは、セレクタ63でアクセスアドレスM1がの
っているバス74を選択し、ラッチ55で切り直した
後、内蔵周辺バス90にアドレスNを出力する。この
時、外部メモリからの命令フェッチサイクルに使用して
いるラッチ52〜54は、セレクタ61に関与しないた
め、命令フェッチサイクルと周辺I/Oサイクルの同時
起動が可能となる。
【0090】PT2ステートでは、周辺I/Oが内蔵周
辺バス90にドライブしたデータm1をセレクタ62で
制御し、バス81を介してラッチ56に取り込む。ラッ
チ56に取り込んだデータm1は、CPU20が読み込
む。
【0091】PT3ステートは、バスサイクルの最後の
ステートである。バスコントローラ35は、メモリアク
セスが終了したことを示すアクノロッジ94をCPU2
0に出力する。
【0092】外部バスでは、命令フェッチサイクル1に
引き続き命令フェッチサイクル2が起動される。以降、
命令フェッチサイクル3,4と連続してバスサイクルが
起動される。
【0093】一方、周辺I/Oアクセスサイクル1が起
動中に、CPU20が次の周辺I/Oのアクセス要求を
出したとする。バスコントローラ30は、周辺I/Oア
クセスサイクル1の終了を待って周辺I/Oアクセスサ
イクル2を起動する。以降、周辺I/Oのアクセス要求
に応じて、周辺I/Oアクセスサイクル3,4を連続し
て起動している。
【0094】このように、2ビットのカウンタと16個
のセレクタを追加し、外部バスサイクルと内蔵周辺バス
サイクルを独立に制御することにより、外部メモリから
の命令フェッチサイクルと周辺I/Oのメモリアクセス
サイクルを並列に起動することができる。
【0095】次に、本発明の第2の実施の形態について
図6を用いて説明する。本発明の第1の実施の形態との
相違点は、マイクロコンピュータ11がバスホールド機
能を有している点である。バスホールドとは、反転HL
DRQ端子68からのバスホールドリクエスト(アクテ
ィブ・ロウ)に対し、マイクロコンピュータ11が端子
65,67からの信号の出力をハイインピーダンスに
し、外部バス95を開放することである。この間、反転
HLDAK端子69をアクティブ(“0”)として外部
にバスホールドを受け付けたことを知らせる。
【0096】すなわち、バスコントローラ33が反転H
LDRQ端子68からバスホールド要求信号97を受け
付け、反転HLDAK端子69にバスホールドアクノリ
ッジ信号98を出力すること、および、外部バスステー
トカウンタ34がバスホールドステートに移行できるこ
とである。
【0097】その他の構成は、第1の実施の形態と同様
なので説明は省略する。
【0098】バスホールドに対応した外部バスサイクル
の状態遷移図を示した図7(a)および外部バスサイク
ルを識別するためのサービスフラグの状態図を示した図
7(b)を参照すると、T1は外部バスにアドレスを出
力するステート、T2は外部バスにデータを出力、また
は外部バスからデータを入力するステート、THはバス
ホールドステート、T3は外部バスサイクルの最後のス
テート、または外部バスサイクルが起動していないステ
ートである。
【0099】また、内蔵周辺バスサイクルの状態遷移は
第1の実施の形態で用いた図4(a)および図4(b)
と同様であり、PT1は内蔵周辺バスにアドレスを出力
するステートであり、PT2は内蔵周辺バスにデータを
出力し、あるいは内蔵周辺バスからデータを入力するス
テートである。PT3は内蔵周辺バスサイクルの最後の
ステートであり、これらのステートもマイクロコンピュ
ータ11内のシステムクロックに同期して遷移する。
【0100】バスコントローラ33は、外部バスステー
トカウンタ34に併せてサービスフラグSBRSVF1
10、FETSVF111およびMEMSVF112を
もっており、外部バスサイクルの種類の識別に使用す
る。例えば分岐サイクル時にはSBRSVF110が
“1”に、フェッチサイクル実行時にはFETSVF1
11が“1”に、外部メモリアクセスサイクル実行時に
はMEMSVF112が“1”に、外部バスサイクルが
起動していないときは全てのサービスフラグ110〜1
12が“0”となる。
【0101】さらに、バスコントローラ33も内蔵周辺
バスステートカウンタ35と併せてサービスフラグIO
MSVF113をもっており、内蔵周辺バスサイクルの
状態の識別に使用している。すなわち、周辺I/Oアク
セスサイクル実行時にはIOMSVF113が“1”と
なり、周辺I/Oアクセスサイクルが起動していないと
きはIOMSVF113が“0”となる。
【0102】バスホールド状態で、周辺I/OのM1〜
M4番地へリードアクセスしたときのタイミングチャー
トを示した図8を参照すると、全てのバスサイクルはノ
ーウェイトとしている。
【0103】動作を説明すると、リセット状態で外部バ
スステートおよび内蔵周辺バスステートはそれぞれT3
およびPT3の状態になり、CPU20からのリクエス
ト要求がアクティブになると、バスコントローラ33は
バスサイクルを起動するが、既に同じバスに別のサイク
ルが起動中であればそのバスサイクルが終了するまで新
しいバスサイクルの起動は待機させられる。
【0104】CPU20からのメモリリクエスト要求9
3によりバスサイクルが起動すときに、バスコントロー
ラ33はメモリリクエスト要求93に指示されたアドレ
スから外部メモリアクセスか周辺I/Oアクセスかを識
別する。
【0105】外部メモリアクセスであれば、サービスフ
ラグMEMSVF112を“1”にセットして外部バス
ステートはT1へ遷移する。周辺I/Oアクセスであれ
ばサービスフラグIOMSVF113を“1”にセット
して内蔵周辺バスステートはPT1へ遷移する。
【0106】外部バスステートのT1からT2および内
蔵周辺バスステートはPT1からPT2へはそれぞれ無
条件に遷移し、T2の状態で外部バスサイクルにウェイ
ト要求があればT2に留まり、同様にPT2の状態で内
蔵周辺バスサイクルにウエイト要求があればPT2に留
まる。ウェイト要求が無ければT3およびPT3へそれ
ぞれ遷移する。
【0107】バスコントローラ33は、CPU20から
のリクエスト要求93が分岐要求であればサービスフラ
グSBRSVF110をセットし、リクエストが無い場
合でもインストラクション・キュー50が一杯でない限
り外部メモリ100から命令フェッチサイクルを起動
し、FETSVF111をそれぞれ“1”にセットして
T1へ遷移する。それ以降の遷移も上述した遷移と同様
である。
【0108】バスホールド状態で周辺I/OのM1〜M
4番地へリードアクセスしたときのタイミングチャート
を示した図8を参照すると、この例では、全てのバスサ
イクルはノーウェイトとしている。命令フェッチサイク
ル1のT2ステートで、反転HLDRQ端子68がアク
ティブ(“0”)になるので、命令フェッチサイクル1
の終了後、外部バスステートカウンタ34はTHステー
トへと遷移する。
【0109】反転HLDAK端子69をアクティブ
(“0”)として、端子65,67からの信号の出力を
ハイインピーダンスにする。
【0110】ここで、命令フェッチサイクル1のT1
で、CPU20から周辺I/Oのアクセス要求があった
とする。バスコントローラ33は、サービスフラグIO
MSVF113を“1”にセットして直に周辺I/Oア
クセスサイクルを起動する。
【0111】以降、周辺I/Oのアクセス要求に応じて
サービスフラグIOMSVF113が“1”を維持して
いる間は、週辺I/Oアクセスサイクル2〜4を連続し
て起動している。
【0112】従来例の様に、外部バスサイクルと内蔵周
辺バスサイクルを一つのバスステートカウンタでカウン
トする構成であれば、バスホールド中に周辺I/Oアク
セスを起動することは不可能であるが、第2の実施の形
態のように、外部バスステートカウンタ34と、内蔵周
辺バスステートカウンタ32の二つのバスステートカウ
ンタをもつことにより、バスホールド中であっても周辺
I/Oのメモリアクセスサイクルを並列に起動すること
ができる。
【0113】
【発明の効果】以上説明したように、本発明のデータ処
理装置は、従来のデータパス手段に代えて中央演算処理
手段が出力するメモリアドレスとライトデータとから一
方を選択して複数の周辺回路へ出力する選択手段として
16個のセレクタを更に備えたデータパス手段が用いら
れ、かつ従来のバスコントローラに代えて外部バスヘの
バスサイクルのステート数をカウントする外部バスステ
ートカウンタおよび内蔵周辺バスへのバスサイクルのス
テート数をカウントする内蔵周辺バスステートカウンタ
として2ビットカウンタとを有するバスコントローラが
用いられ、外部バスステートカウンタのカウント結果に
基づく外部メモリの命令フェッチサイクルと、内蔵周辺
バスステートカウンタのカウント結果に基づく周辺回路
のデータアクセスサイクルとを並列に起動するバスサイ
クル並列制御手段を有するので、外部メモリからの命令
フェッチを中断することなく、周辺I/Oのメモリアク
セ実行することができる。
【0114】
【表1】
【0115】例えば、組み込み用途向けのデータ処理装
置として、ロード/ストア命令を基本とするRISCア
ーキテクチァに基づくCPUを備えた場合について説明
すると、表1に示すように全命令の約50%をメモリア
クセス命令が占め、外部アクセス命令と周辺I/Oアク
セス命令とはそれぞれ25%ずつとし、外部アクセス命
令はワードアクセスとハーフアクセスとがそれぞれ1
2.5%ずつ、周辺I/Oのアクセスは全てハーフワー
ド/バイトアクセスとする。
【0116】また、外部バスおよび内蔵周辺バス幅を1
6ビット、平均命令長を2.5バイト、アクセスは全て
ノーウェイトとする。
【0117】
【表2】
【0118】表2を参照すると、従来例ではメモリアク
セス命令以外のその他の命令が3.5クロック、外部メ
モリワードアクセスが1.6875クロック、外部メモ
リハーフワード/バイトアクセスが1.1325クロッ
ク、周辺I/Oアクセスが2.625クロック必要とな
るのでトータルで9.375クロック/命令となる。
【0119】一方、本発明のデータ処理装置では、周辺
I/Oアクセスが命令フェッチと並列に実行できるか
ら、周辺周辺I/Oアクセス命令の実行は平均で命令フ
ェッチによる7.5クロックのみとなり、トータルで
8.625クロック/命令となる。
【0120】したがって、システムの処理能力を1命令
に必要なクロック数で計れば、本発明により最小限のハ
ードウェアの追加により、システムの処理能力は約8%
向上することになり、実用的効果は極めて高い。
【図面の簡単な説明】
【図1】本発明のデータ処理装置の第1の実施の形態の
構成を示す図である。
【図2】(a)図1における内蔵周辺バスステートカウ
ンタにおける3状態を記憶するための2ビットカウンタ
の回路図である。 (b)2ビットカウンタの3状態を示す図である。
【図3】(a)外部バスサイクルの状態遷移図である。 (b)外部バスサイクルの種類を識別するためのサービ
スフラグの状態図である。
【図4】(a)内蔵周辺バスサイクルの状態遷移図であ
る。 (b)内蔵周辺バスサイクルの種類を識別するためのサ
ービスフラグの状態図である。
【図5】第1の実施の形態における周辺I/Oアクセス
のタイミングチャートである。
【図6】本発明のデータ処理装置の第2の実施の形態の
構成を示す図である。
【図7】(a)バスホールドに対応した外部バスサイク
ルの状態遷移図である。 (b)外部バスサイクルの種類を識別するためのサービ
スフラグの状態図である。
【図8】第2の実施の形態における周辺I/Oアクセス
のタイミングチャートである。
【図9】従来のデータ処理装置の構成例を示すブロック
図である。
【図10】(a)従来例におけるバスサイクルの状態遷
移図である。 (b)そのバスサイクルの種類を識別するためのサービ
スフラグの状態図である。
【図11】従来例における周辺I/Oアクセスのタイミ
ングチャートである。
【符号の説明】
10,11,12 マイクロコンピュータ 20 CPU 25,26 データパス 30,33,35 バスコントローラ 31,34 外部バスステートカウンタ 32 内蔵周辺バスステートカウンタ 36 バスステートカウンタ 40〜49 周辺回路 50 インストラクション・キュー 51 プリフェッチポインタ 52〜56 ラッチ 60 インクリメンタ 65〜67 端子 61〜63 セレクタ 70〜82 バス 90 内蔵周辺バス 91 内蔵周辺バス制御信号群 92,96 外部バス制御信号群 93 リクエスト信号群 94 アクノリッジ信号群 95 外部バス 100 外部メモリ 110〜113 サービスフラグ 321 NAND回路 322,324 フリップフロップ回路 323 AND−OR回路 325 NOR回路

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 中央演算処理手段と命令を格納する外部
    メモリと特定のアドレスにマッピングされたレジスタを
    もつ複数の周辺回路とこれらの外部メモリおよび周辺回
    路にそれぞれアドレスおよびライトデータを出力しかつ
    リードデータを入力する第1のデータパス手段と外部バ
    スサイクルおよび内蔵周辺バスサイクルのバスサイクル
    数をカウントするバスステートカウンタを内部にもち外
    部バス制御信号を前記外部メモリへ出力しかつ内蔵周辺
    バス制御信号を前記周辺回路に出力するとともに前記第
    1のデータパス手段を制御するための信号を出力する第
    1のバスコントロール手段とを備えるとともに、前記中
    央演算処理手段が前記外部メモリから命令をフェッチし
    ながら前記外部バスおよび前記内蔵周辺バスを介してそ
    れぞれ前記外部メモリおよび前記周辺回路群へメモリア
    クセスを行なうマイクロコンピュータ内蔵のデータ処理
    装置において;前記第1のデータパス手段に代えて前記
    中央処理手段が出力するメモリアドレスとライトデータ
    とから一方を選択して複数の前記周辺回路へ出力する選
    択手段を更に備えた第2のデータパス手段が用いられ、
    かつ前記第1のバスコントローラに代えて前記外部バス
    ヘのバスサイクルのステート数をカウントする外部バス
    ステートカウンタおよび前記内蔵周辺バスへのバスサイ
    クルのステート数をカウントする内蔵周辺バスステート
    カウンタを有する第2のバスコントローラが用いられ、
    前記外部バスステートカウンタのカウント結果に基づく
    前記外部メモリの命令フェッチサイクルと、前記内蔵周
    辺バスステートカウンタのカウント結果に基づく前記周
    辺回路のデータアクセスサイクルとを並列に起動するバ
    スサイクル並列制御手段を有することを特徴とするデー
    タ処理装置。
  2. 【請求項2】 前記データパス手段は、プリフェッチの
    アドレスを格納するプリフェッチポインタと、前記中央
    演算処理手段から出力されるアドレスを記憶する第1の
    ラッチと、このラッチから出力されるアドレスと前記プ
    リフェッチポインタから出力されるアドレスと前記中央
    演算処理手段から出力されるライトデータとから1つを
    選択する第1のセレクタと、このセレクタから出力され
    るアドレスを2インクリメントして前記プリフェッチポ
    イタに出力するインクリメンタと、前記第1のセレクタ
    から出力されるアドレスおよびライトデータを記憶し前
    記外部バスヘ出力する第2のラッチと、前記外部メモリ
    から前記外部バスを介して出力されるリードデータを記
    憶する第3のラッチと、このラッチから出力される前記
    リードデータと前記周辺回路から出力されるリードデー
    タとから1つを選択する第2のセレクタと、このセレク
    タから出力されるデータを記憶し前記中央演算処理手段
    に出力する第4のラッチと、前記第3のラッチから出力
    されるプリフェッチデータを複数のバッファに記憶し前
    記中央演算処理手段に命令データとして出力するインス
    トラクション・キューと、前記第1のラッチから出力さ
    れるアドレスと前記中央演算処理手段から出力されるラ
    イトデータとから1つを選択する第3のセレクタと、こ
    のセレクタから出力されるアドレスおよびライトデータ
    を記憶し前記内蔵周辺バスへ出力する第5のラッチとか
    らなる請求項1記載のデータ処理装置。
  3. 【請求項3】 前記バスサイクル並列制御手段は、前記
    中央演算処理手段が指示するメモリリクエストのアドレ
    スに応答して前記第1のバスコントローラが前記外部メ
    モリまたは前記周辺回路のいずれに対するリクエストか
    を識別して前記周辺回路のリクエストであれば前記外部
    バスステートカウンタが前記外部メモリからの命令フェ
    ッチを実行中であっても、前記内蔵周辺バスステートカ
    ウンタが前記第2のセレクタを制御して前記周辺回路へ
    のアドレスまたはライトデータを出力させることによ
    り、前記命令フェッチサイクルと前記周辺回路のメモリ
    アクセスを平行して実行する請求項1または2記載のデ
    ータ処理装置。
  4. 【請求項4】 前記命令フェッチ実行期間中に前記中央
    演算処理手段から前記周辺回路のアクセスを要求された
    とき、前記内蔵周辺バスステートカウンタは、前記第3
    のセレクタで内蔵周辺回路のアクセスアドレスを選択し
    て前記内蔵周辺バスに出力する第1の周辺回路バスステ
    ートと、前記第3のセレクタで前記中央演算処理手段が
    出力したライトデータを選択して前記内蔵周辺バスへ出
    力するかまたは前記周辺回路から前記内蔵周辺バスに出
    力されたデータを前記中央演算処理手段に取り込むかの
    いずれかを実行する第2の周辺回路バスステートと、前
    記周辺回路のメモリアクセスが終了したことを前記中央
    演算処理手段に通知した後次のバスサイクルのアクセス
    要求を待機する第3の周辺回路バスステートとをそれぞ
    れ設定するための3状態の信号を生成する請求項1また
    は2記載のデータ処理装置。
  5. 【請求項5】 前記中央演算処理手段から前記命令フェ
    ッチを要求されたとき、前記外部バスステートカウンタ
    は、前記第1のセレクタで前記外部メモリのアクセスア
    ドレスとプリフェッチアドレスとから1つを選択して前
    記外部バスに出力する第1のバスステートと、前記外部
    メモリから前記外部バスに出力されたリードデータを前
    記中央演算処理手段に取り込みまたは前記演算処理手段
    から前記外部バスへライトデータを出力する第2のバス
    ステートと、次のバスサイクルのアクセス要求を待機す
    る第3のバスステートと、バスホールドリクエスト信号
    入力端子に外部から供給されるバスホールドリクエスト
    信号のアクティブ状態に応答して、前記第3のバスステ
    ートからバスホールド状態へ遷移し、前記バスホールド
    リクエスト信号が非アクティブになると再び前記第3の
    バスステートに復帰する第4のバスステートをそれぞれ
    設定するための4状態の信号を生成する請求項1記載の
    データ処理装置。
  6. 【請求項6】 前記内蔵周辺バスステートカウンタは、
    リセット機能を有しAND回路の出力データをクロック
    信号に同期して読み込む第1のフリップフロップ回路お
    よびAND−OR回路の出力データをクロック信号に同
    期して読み込む第2のフリップフロップ回路を有し、前
    記第1のフリップフロップ回路の出力端が前記AND−
    OR回路のOR側入力端に接続されるとともにNOR回
    路の一方の入力端にも接続され、前記第2のフリップフ
    ロップ回路の出力端が前記AND−OR回路のAND側
    の一方の入力端に接続されるとともに前記NOR回路の
    他方の入力端にも接続され、このNOR回路の出力端が
    前記AND回路の一方の入力端に接続され他方の入力端
    には前記内蔵周辺バスサイクルの起動要因があるときに
    ハイレベルとなる信号が供給され、前記AND−OR回
    路のAND側の他方の入力端には前記内蔵周辺バスサイ
    クルを待機状態にするときにハイレベルとなる信号が供
    給される構成からなり、前記第1および前記第2のフリ
    ップフロップ回路の出力をそれぞれ前記第1および前記
    第2の周辺回路バスステートの設定信号とし、前記NO
    R回路の出力を前記第3の周辺回路バスステートの設定
    信号とする請求項1または2記載のデータ処理装置。
  7. 【請求項7】 バスホールドリクエスト信号入力端子お
    よびバスホールドアクノリッジ信号出力端子を備え、前
    記バスホールドリクエスト信号入力端子に外部から供給
    されるバスホールドリクエスト信号に応答して、前記第
    2のバスコントローラが前記外部メモリ制御信号の出力
    端子および前記外部バスと接続する入出力端子をハイイ
    ンピーダンス状態にして前記外部バスを開放状態にする
    とともに、前記バスホールドアクノリッジ信号出力端子
    を介してバスホールド受信を外部に通知する請求項1記
    載のデータ処理装置。
JP7177241A 1995-07-13 1995-07-13 データ処理装置 Expired - Lifetime JP2976850B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP7177241A JP2976850B2 (ja) 1995-07-13 1995-07-13 データ処理装置
EP96111213A EP0753818A3 (en) 1995-07-13 1996-07-11 Data processor having bus controller for controlling a plurality of buses independently of each other
US08/679,128 US5889966A (en) 1995-07-13 1996-07-12 Data processor having bus controller for controlling a plurality of buses independently of each other
KR1019960028308A KR100249536B1 (ko) 1995-07-13 1996-07-13 다수의 버스를 서로 독립적으로 제어하기 위한 버스콘트롤러를 가진 데이터 처리기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7177241A JP2976850B2 (ja) 1995-07-13 1995-07-13 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0926932A true JPH0926932A (ja) 1997-01-28
JP2976850B2 JP2976850B2 (ja) 1999-11-10

Family

ID=16027625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7177241A Expired - Lifetime JP2976850B2 (ja) 1995-07-13 1995-07-13 データ処理装置

Country Status (4)

Country Link
US (1) US5889966A (ja)
EP (1) EP0753818A3 (ja)
JP (1) JP2976850B2 (ja)
KR (1) KR100249536B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347368B1 (en) * 1997-12-30 2002-02-12 Jerry David Harthcock Microcomputing device for exchanging data while executing an application
US6182112B1 (en) * 1998-06-12 2001-01-30 Unisys Corporation Method of and apparatus for bandwidth control of transfers via a bi-directional interface
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US7752453B2 (en) * 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646395A (ja) * 1992-07-27 1994-02-18 Hitachi Ltd データ圧縮装置
JPH06332844A (ja) * 1993-05-24 1994-12-02 Sharp Corp マイクロコンピュータ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4439839A (en) * 1981-08-24 1984-03-27 International Telephone And Telegraph Corporation Dynamically programmable processing element
JPH0738187B2 (ja) * 1984-03-23 1995-04-26 株式会社日立製作所 Lsiに構成されたマイクロコンピュータ
JPS63121934A (ja) * 1986-11-10 1988-05-26 Oki Electric Ind Co Ltd 評価用ワンチツプマイクロコンピユ−タ
JPH0711793B2 (ja) * 1989-07-13 1995-02-08 株式会社東芝 マイクロプロセッサ
US5428746A (en) * 1992-03-23 1995-06-27 Zilog, Inc. Integrated microprocessor unit generating separate memory and input-output device control signals
JP3226055B2 (ja) * 1992-09-16 2001-11-05 松下電器産業株式会社 情報処理装置
JPH07152721A (ja) * 1993-11-29 1995-06-16 Mitsubishi Electric Corp マイクロコンピュータ
EP0692764B1 (en) * 1994-06-17 2000-08-09 Advanced Micro Devices, Inc. Memory throttle for PCI master
US5644756A (en) * 1995-04-07 1997-07-01 Motorola, Inc. Integrated circuit data processor with selectable routing of data accesses
DE69633166T2 (de) * 1995-05-26 2005-08-18 National Semiconductor Corp., Santa Clara Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
EP0775347B1 (en) * 1995-05-26 2002-03-06 National Semiconductor Corporation Integrated primary bus and secondary bus controller with reduced pin count

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0646395A (ja) * 1992-07-27 1994-02-18 Hitachi Ltd データ圧縮装置
JPH06332844A (ja) * 1993-05-24 1994-12-02 Sharp Corp マイクロコンピュータ

Also Published As

Publication number Publication date
JP2976850B2 (ja) 1999-11-10
KR100249536B1 (ko) 2000-03-15
EP0753818A3 (en) 1999-02-03
EP0753818A2 (en) 1997-01-15
KR970007620A (ko) 1997-02-21
US5889966A (en) 1999-03-30

Similar Documents

Publication Publication Date Title
JP6243935B2 (ja) コンテキスト切替方法及び装置
JP3739797B2 (ja) 縮小命令セット・コンピューター・マイクロプロセッサーの構造
US4989113A (en) Data processing device having direct memory access with improved transfer control
US5440747A (en) Data processor with control logic for storing operation mode status and associated method
US5513374A (en) On-chip interface and DMA controller with interrupt functions for digital signal processor
US7308320B2 (en) Processor core for using external extended arithmetic unit efficiently and processor incorporating the same
US6963962B2 (en) Memory system for supporting multiple parallel accesses at very high frequencies
JPH10134008A (ja) 半導体装置およびコンピュータシステム
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JP2734468B2 (ja) プロセッサ
JPS6297036A (ja) 計算機システム
US5983328A (en) Data processing device with time-multiplexed memory bus
JPH04140880A (ja) ベクトル処理装置
US5907864A (en) Data processing device with time-multiplexed memory bus
JPH0926932A (ja) データ処理装置
US6006288A (en) Method and apparatus for adaptable burst chip select in a data processing system
KR100457478B1 (ko) 메모리액세스방법및데이터처리시스템
EP0333231B1 (en) Microcomputer system capable of accessing to memory at high speed
JP3562215B2 (ja) マイクロコンピュータ及び電子機器
JP2006221664A (ja) Riscマイクロプロセッサ優先ベクトル割り込みシステム
US5875482A (en) Method and apparatus for programmable chip select negation in a data processing system
JP3536367B2 (ja) プロセッサシステム
JPS6014435B2 (ja) 記憶装置
Bainbridge et al. MARBLE: A Dual-Channel Split Transfer Bus
JPH04186431A (ja) データプロセッサ

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990810

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20080910

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090910

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20100910

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110910

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120910

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 14

EXPY Cancellation because of completion of term