JPH0338725A - データ処理装置及びマイクロプロセッサ - Google Patents

データ処理装置及びマイクロプロセッサ

Info

Publication number
JPH0338725A
JPH0338725A JP1174883A JP17488389A JPH0338725A JP H0338725 A JPH0338725 A JP H0338725A JP 1174883 A JP1174883 A JP 1174883A JP 17488389 A JP17488389 A JP 17488389A JP H0338725 A JPH0338725 A JP H0338725A
Authority
JP
Japan
Prior art keywords
data
address
instruction
bus
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1174883A
Other languages
English (en)
Inventor
Toyohiko Yoshida
豊彦 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1174883A priority Critical patent/JPH0338725A/ja
Publication of JPH0338725A publication Critical patent/JPH0338725A/ja
Priority to US08/113,509 priority patent/US6205536B1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は高速なバスプロトコルにより効率よくメモリを
アクセスすることを可能としたデータ処理装置及びその
マイクロプロセソサに関し、更に詳述すれば、アドレス
バスとデータバスと命令バスとを備え、アドレスバスに
てデータアドレスと命令アドレスとの双方を転送し、デ
ータバスにてデータを転送し、命令バスにて命令を転送
することにより、効率よくメモリアクセスを実行し得る
データ処理装置及びそのマイクロプロセソサに関する。
[従来の技術] データ処理装置の高性能化に伴い、そのマイクロプロセ
ソサとメモリとを接続するデータバスの幅は4ビソト、
8ビソト16ビソト、32ビソトと次第に拡張されてき
た。データ処理装置では処理速度が増大するに伴って、
処理対象の命令とその命令のオペランドとなるデータと
をメモリからマイクロプロセソサへ供給する能力がシス
テム全体のデータ処理能力に大きな影響を及ぼすように
なる。
例えば4バイトのメモリオペランドと4バイトのレジス
フオペランドとの演算を行い、処理結果をレジスフに格
納する4ハイ1−の命令を1クロソクで処理するために
は、オペランドとなる4ハイドのデータと命令となる4
バイトのコードとが1クロソク以内にメモリからマイク
ロプロセソサへ転送される必要がある。このため、オペ
ランドを転送するデータバスと命令コードを転送する命
令バスとを別々に備えたデータ処理装置も開発されてい
る。
このようなデータバスと命令バスとを独立して備えたデ
ータ処理装置としては、マイクロプロセソサに例えばア
ドバンスト・マイクロデバイス社製の”4m29000
″あるいはフェアチャイルド社製の”CLIPPER”
を使用した例がある。これらのデータ処理装置が有する
機能は例えば「°゛^m29000 User’sma
nua+、” Advanced Micro Dev
ices+ 1987.」あるいは「CLIPPI!R
Module Product Descriptio
nFarchild、 1985Jに詳しく記載されて
いる。
“へm29000″は32ヒ゛ノドの命令ハスと32ピ
ントのデータバスと32ピントのアドレスバスとを備え
ており、命令をアクセスする際は命令アドレスをア5 ドレスハスから出力し、命令を命令ハスから入力する。
データをアクセスする際はデータアドレスをアドレスバ
スから出力し、データをデータバスで入出力する。命令
及びデータを1つのアドレスに刻して連続して複数回ア
クセスするバースト転送モードもサポートされている。
”CLIPPER”は命令アドレスを出力し命令コード
を入力する32ビツトのアドレス命令コードマルチブレ
ソクスバスとデータアドレスを出力しデータを入出力す
る32ビツトのアドレスデークマルチプレソクスバスと
を備えている。
また、アドレスをメモリアクセスサイクルに先立って出
力し、メモリアクセス時間を一定に保ったまま、命令及
びデータの転送速度の向上を図ったアドレスバイプライ
ニングという方法も提案されている。このようなアドレ
スパイプライニングの機能は例えばインテル社製180
386が備えており、「″803B6 111GII 
 P[1RFOR−へMCI!  MICROPROC
[!5SORWITIIINTHGRATED  ME
MORY  MANAG[iMENT”、  Inte
l  Corporation、 1985. Jにそ
の機能が詳しく記載されてい6 る。
第7図に命令のアクセスとデータのアクセスをそれぞれ
独立に行うため命令アドレスバス81と命令バス82と
データアドレスバス84とデータバス85とを備えたマ
イクロプロセツサをCPLI71とし、命令キャソシュ
72とデータキャソシュ73とを備えた従来のデータ処
理装置の一構成例を示ず。
CPU71は命令アドレスバス81と命令バス82とを
用い、命令制御バス83で制御信号を送受して命令キャ
ソシュ72をアクセスする。またCPU71はデータア
ドレスバス84とデータバス85とを用い、データ制御
バス86で制御信号を送受してデータキャノシュ73を
アクセスする。キャソシュミスが生した場合、CpH7
1はメモリアドレスバス87とメモリテークバス89と
を用い、メモリ制御バス88で制御信号を送受して、命
令キャソシュ72あるいはデータキャソシュ73が主メ
モリ74をアクセスする。
[発明が解決しようとする課題] 上述の如く、従来のデータ処理装置においてもバスの転
送能力を向上されるための種々の工夫がなされてきた。
しかし、バスのビット数を増加したり、バスの本数を増
加したりすることは配線数の増加を招来し、マイクロプ
ロセソサ及びそれを使用するデータ処理装置、更にはデ
ータ処理装置が組込まれたシステムのコスト上昇を招く
。またバスの転送能力を増大する目的で、1回のバスア
クセスのクロソク数を少なくすると、より高速な回路が
必要となりやはりシステムコストの上昇を招来する。
“8m29000”をマイクロプロセソサとして使用し
たデータ処理装置では、1つのアドレスバスを命令アク
セスとデータアクセスとの両用に使用し、命令のアクセ
ス時にはデータをアクセスせず、データのアクセス中に
は命令をアクセスしない。バーストモードでも第1アク
セスではこの関係は同様である。このため、命令とデー
タとを交互に1つずつアクセスする場合、命令バスとデ
ータバスとが別々に存在するにもかかわらず、アドレス
出力がボトルネックになり、命令をアクセスする時間と
データをアクセスする時間との和に等しい時間が必要と
なる。
また、”CLII’PHI+”をマイクじ1プロセノサ
に用いたデータ処理装置では、命令コードのアクセスと
データのアクセスとをそれぞれ独立のハスで行うため、
互いのアクセスは独立して行え、Am29000”をマ
イクロプロセツサに用いたデータ処理装許のような問題
はない。しかし、命令リードあるいはデータリードを行
う場合、マイクロプロセ・ノサがアドレスを出力した直
後に命令あるいはデータを人力する必要があり、バスの
転送方向を高速でIJI換える必要が生しる。従って、
この方式は装置全体を制御するためのシステムクロノク
周波数が高くなるにつれてハスの回路設計が困難になる
アドレスパイプライニングではアドレスを先山しするこ
とによりメモリのアクセス時間を増大させることは可能
であるが、1つの命令アクセスあるいは1つのデータア
クセスの時間自体が短縮されることはない。このため、
性能向上のためにアドレス先出しを行わないノンパイプ
ラインアクセスモードも必要であり、2つのモードをサ
ポート9 する必要からシステム設計が複雑化する。
第7図の例では、命令キヤ・7シユ72とデータキャソ
シュ73とを独立にアクセス可能であるため、CI’U
71は効率よく動作することが可能である。しかし、命
令アドレスバス81とデータアドレスバス84との2つ
のアドレスバスを必要とし、CPU71のピン数及びデ
ータ処理装置の配線数が増大してコストが増大する。ア
ドレスバスではアドレススキューを少なくするため、全
ビットをタイミングのずれなく転送することが要求され
る。このためマイクロプロセソサのアドレス出力回路に
は安定な電源及び接地電位の供給が必要であり、アドレ
スバスを1本から2本にする場合、単にアドレスのピン
ト数だけ配線を増設するのではなく、同時に電源配線及
び接地配線も強化する必要がある。
[課題を解決するための手段] 本発明のデータ処理装置及びマイクロプロセソサは命令
アドレスとデータアドレスとを転送する32ビノトのア
ドレスバス、命令を転送する32ビツトの命令ハス及び
データを転送する64ビツトのデータバスを備えている
。また、命令アクセスサイクルとデータアクセスサイク
ルとを独立して制?ff1lする2系統のバス制御信号
をも備えている。2系統のバスアクセス信号には、アド
レスバスに出力された命令アドレスが有効であることを
示す命令アドレス有効信号、アドレスバスに出力された
データアドレスが有効であることを示すデータアドレス
有効信号、命令アクセスサイクルの終了を制御する命令
転送終了信号及びデータアクセスの終了を制御するデー
タ転送終了信号がある。またこれらの他に、アドレスバ
スで転送されるアドレスの種類を区別するアクセスタイ
プ識別信号がある。
[作用] 本発明のデータ処理装評及びマイクロプロセツサでは、
アドレスバスでデータアドレスと命令アドレスとを転送
し、データバスでデータを転送し、命令バスで命令を転
送する。アドレスバスで転送されるアドレスの種類はア
クセスタイプ識別信号により識別される。また、データ
アクセスサイクルはデータアドレス有効信号とデータ転
送終了制御信号等で制御され、命令アクセスサイクルは
命令アドレス有効信号と命令転送終了制御信号等で制御
される。
アドレスバスでは、データアクセスサイクルのためにデ
ータアドレスの転送後、データ転送が終了する前に命令
アドレスが転送される。また命令アクセスサイクルのた
めに命令アドレスの転送後、命令転送が終了する前にデ
ータアドレスが転送される。データアクセスサイクルは
最小2クロソクで実行可能であり、命令アクセスサイク
ルも最小2クロソクで実行される。アドレスバスは2ク
ロノクごとにデータアドレス1つと命令アドレス1[発
明の実施例] (1)本発明のデータ処理システムの構成第2図は本発
明のデータ処理装置の一構成例を示すプロソク図である
本実施例では、本発明のマイクロプロセソサであるCP
Ul0.命令キャッシュ11.データキヤツシユ12及
び主メモリ13がアドレスバス14.CPU側制御バス
15.命令バス16.データバス17.メモリアドレス
バス18.メモリ側制御バス19及びメモリデータバス
20で結合されている。
アドレスバス14はCPUl0から出力されるアドレス
を命令キャッシュ11とデークキャノシュ12へ入力す
る。
命令バス16は命令キャッシュ11から出力される命令
コードをCPUl0へ転送する。
データバスエフはCPUl0から出力されるデータをデ
ータキャッシュ12へ転送し、またデータキャッシュ1
2から出力されるデータをCPUl0へ転送する。
CPU側制御ハス15はCPUl0と命令キセノシュ1
1とデータキャッシュ12とに結合され、アドレスバス
3 ス14.命令バス16及びデータバス17の動作内容と
動作タイ尖ングとを意味付けする制御信号を転送する。
メモリアドレスバス18は命令キャッシュ11またはデ
ークキ中ソシュ12から出力されるアドレスを主メモリ
13へ転送する。
メモリデータバス20は主メモリ13と命令キセノシュ
11またはデータキャッシュ12との間での命令または
データを転送する。
メモリ側制御バス19は主メモリ13と命令キャッシュ
11とデークキャノシュ12とに結合されており、メモ
リアドレスバス18及びメモリデータバス20の動作内
容と動作タイミングとを意味付けする制御信号を転送す
る。
以下、本発明のマイクロプロセソサであるCPU10の
命令体系及び処理機構について最初に説明し、次にアド
レスバス14.命令バス16.CPU側制御バス15、
データバス17の動作について説明する。
(2)「本発明のマイクロプロセソサの命令のフォマノ
ト」 4 本発明のデータ処理装置及びマイクロプロセソサの命令
は16ビツト単位で可変長となっており、奇数バイト長
の命令はない。
本発明のデータ処理装置及びマイクロプロセソサでは高
頻度に使用される命令を短いフォーマントとするため、
特に工夫された命令フォーマント体系を有する。例えば
、2オペランド命令に対しては、基本的に「4バイト」
+「拡張部」の構成を有し、総てのアドレソシングモー
ドが利用可能な一般形フオーマントと、頻度の高い命令
とアドレソシングモードのみを使用可能な短縮形フ、1
−マントとの2つのフォーマノドがある。
第9図から第13図に本発明のデータ処理装置及びマイ
クロプロセソサの命令フォーマントの模式図を示す。な
お、これらのフォーマント中に現われる記号の意味は以
下の通りである。
−:オペレーションコードが入る部分 Ea : 13ヒツトの一般形のアドレノシングモード
でオペランドを指定する部分 Sh : 6ビツトの短縮形のアドレソシングモードで
オペランドを指定する部分 Rn:レジスフファイル上のオペランドをレジスタ番号
で指定する部分 フォーマントは、第9図に示すように、右側がLSB 
(最下位ビット)例で且つ高いアドレスである。
アドレスNとアドレスN+1との2バイトを見ないと命
令フォーマントが判別できないが、これは命令が必ず1
6ビツト(2バイト)単位でフェソチ及びデコードされ
ることを前提としているためである。
本発明のデータ処理装置及びマイクロプロセソサの命令
では、いずれのフォーマントの場合も、各オペランドの
Eaまたはshの拡張部は、必ずそのEaまたはshの
基本部を含むハーフワードの直後に置かれる。これは、
命令により暗黙に指定される即値データあるいは命令の
拡張部に優先する。従って、4バイト以上の命令では、
Haの拡張部によって命令のオペレーションコードが分
断される場合がある。
また後述する如く、多段間接モードによってF、aの拡
張部に更に拡張部が付加される場合にも、次の命令オペ
レーションコードよりもそちらの方が優先される。例え
ば、第1ハーフワードにEalを含み、第2ハーフワー
ドにEa2を含み、第3ハフワードまである6バイト命
令の場合を考える。
Ealに多段間接モードを使用しているため、普通の拡
張部の他に多段間接モードの拡張部も有するものとする
。この場合、実際の命令ビットパターンは、命令の第1
ハーフワード1FEalの基本部を含む)、Ealの拡
張部、Ealの多段間接モード拡張部1命令の第2ハー
フワード(Ea2の基本部を含む)Ea2の拡張部、命
令の第3ハーフワード、の順となる。
(2,1)  r短縮形2オペランド命令」第10図は
2オペランド命令の短縮形フォーマ・7トの模式図であ
る。
このフォーマントにはソースオペランド側がメモリとな
るL−formatとデスティネーションオペランド側
がメモリとなるS−formatとがある。
L−formatでは、Shはソースオペランドの指定
フィールド、Rnはデスティネーションオペランドの7 レジスタの指定フィールド、RRはshのオペランドサ
イズの指定を表す。レジスタ上に置かれたデスティネー
ションオペランドのサイズは、32ビツトに固定されて
いる。レジスタ側とメモリ側とのサイズが異なり、ソー
ス側のサイズが小さい場合に符号拡張が行なわれる。
S−formatでは、shはデスティネーションオペ
ランドの指定フィールド、Rnはソースオペランドのレ
ジスタ指定フィールド、RRはshのオペランドサイズ
の指定を表す。レジスタ上に置かれたソースオペランド
のサイズは、32ビツトに固定されている。レジスタ側
とメモリ側とのサイズが異なり且つソース側のサイズが
大きい場合には、溢れた部分の切捨てとオーバーフロー
チェソクが行なわれる。
(2,2)  r−船形1オペランド命令」第11図は
1オペランド命令の一船形フォーマソト(Gl−for
mat)の模式図である。
問はオペランドサイズの指定フィールドである。
なお、一部のGl−for+nat命令では、Eaの拡
張部以8 外にも拡張部がある。また、問を使用しない命令もある
(2,3)  r−船形2オペランド命令」第12図は
2オペランド命令の一般形フオーマントの模式図である
このフォーマントに含まれるのは、8ビツトで指定する
一船形アドレソシングモードのオペランドが最大2つ存
在する命令である。オペランドの総数自体は3つ以上に
なる場合もある。EaM&よデスティネーションオペラ
ンドの指定フィールド、間はデスティネーションオペラ
ンドサイズの指定フィールド、’  EaRはソースオ
ペランドの指定フィールド、RRはソースオペランドサ
イズの指定フィールドである。一部のG−format
命令では、EaM及びEaRの拡張部以外にも拡張部が
ある。
第13図はショートブランチ命令のフォーマントの模式
図である。
ccccは分岐条件指定フィールド、disp:8はジ
ャンプ先との変位指定フィールドである。本発明のデー
タ処理装置及びマイクロプロセッサでは、8ビツトで変
位を指定する場合には、ピントパターンでの指定値を2
倍して変位値とする。
(2,4)  rアドレソシングモード」本発明のデー
タ処理装置及びマイクロプロセッサの命令のアドレソシ
ングモードの指定方法には、レジスタを含めて6ビツト
で指定する短縮形と、8ビ7)で指定する一般形とがあ
る。
未定義のアドレソシングモードを指定した場合、あるい
は意味的に考えて明らかに不合理なアドレソシングモー
ドの組合わせが指定された場合には、未定義命令を実行
した場合と同様に予約命令例外が発生し、例外処理が起
動する。
これに該当するのは、デスティネーションが即値モード
の場合、アドレス計算を伴うべきアドレッシングモード
指定フィールドで即値モードを使用した場合等である。
第14図から第24図に示すフォーマントの模式図中で
使用される記号の意味は以下の通りである。
Rn:レジスフ指定 (Sh) : 6ビツトの短縮形アドレソシングモード
での指定方法 (Ea) : 8 ヒツトの一船形アドレッシングモー
ドでの指定方法 図中で点線で囲まれた部分は、拡張部を示す。
(2,4,1)  r基本アドレソシングモードj本発
明のデータ処理装置及びマイクロプロセ・ノサの命令で
は種々のアドレソシングモードをサポートする。その内
、本発明のデータ処理装置及びマイクロプロセソサでサ
ポートする基本アドレソシングモードには、レジスタ直
接モード、レジスタ間接モード、レジスタ相対間接モー
ド、rg値モード、絶対モード、PC相対間接モード1
 スタックポソプモード及びスタノクプソシュモードが
ある。
レジスタ直接モードは、レジスタの内容をそのままオペ
ランドとする。フォーマントを第14図に示す。図中、
Rnは汎用レジスタまたはppu (浮動小数点演算ユ
ニソト)レジスタの番号を示す。
レジスタ間接モードは、汎用レジスタの内容をアドレス
とするメモリの内容をオペランドとする。
フォーマットを第15図に示す。図中、Rnは汎用し1 ジスタの番号を示す。
レジスタ相対間接モードは、ディスプレースメント値が
16ビツトであるか32ビソトであるかにより、2種類
に分かれる。それぞれ、汎用レジスタの内容に16ビツ
トまたは32ピントのディスプレースメント値を加えた
値をアドレスとするメモリの内容をオペランドとする。
フォーマントを第16図に示す。図中、Rnは汎用レジ
スタの番号を示す。
disp:16とdisp:32は、それぞれ、16ビ
ツトのディスプレースメント値、32ビツトのディスプ
レースメント値を示す。ディスプレースメント値は符号
付きとして扱われる。
即値モードは、命令コード中で指定されるビンドパクン
をそのまま2進数と見なしてオペランドとする。フォー
マントを第17図に示す。図中immdataは即値を
示す。imm  dataのサイズは、オペランドサイ
ズとして命令中で指定される。
絶対モードは、アドレス値が16ピントで示されるか3
2ビツトで示されるかにより2種類に分かれる。それぞ
れ、命令コード中で指定される16ビソ2 トまたは32ビツトのビンドパクンをアドレスとしたメ
モリの内容をオペランドとする。フォーマントを第18
図に示す。図中、abs :16とabs:32とはそ
れぞれ、16ビソト332ビソトのアドレス値を示す。
abs:16でアドレスが示される場合は指定されたア
ドレス値を32ビソトに符号拡張する。
PC相対間接モードは、ディスプレースメント値が16
ビツトであるか32ビソトであるかにより、2種類に分
かれる。それぞれ、プログラムカウンタの内容に16ビ
ソトまたは32ビソトのディスプレースメント値を加え
た値、をアドレスとするメモリの内容をオペランドとす
る。フォーマントを第19図に示す。図中、disp:
16とdisp:32とはそれぞれ、16ビツトのディ
スプレースメント値、32ヒツトのディスプレースメン
ト値を示す。ディスプレースメント値は符号付きとして
扱われる。PC相対間接モードにおいて参照されるプロ
グラムカウンタの値は、そのオペランドを含む命令の先
頭アドレスである。多段間接アドレソシングモードにお
いてプログラムカウンタ(PC)の値が参照される場合
にも、同しように命令先頭のアドレスをpc相対の基準
値として使用する。
スタックボノブモードはスクソクボインク(SP)の内
容をアドレスとするメモリの内容をオペランドとする。
オペランドアクセス後、SPをオペランドサイズだけイ
ンクリメントする。例えば、32ビソトデータを扱う際
には、オペランドアクセス後にSPが+4だけ更新され
る。B、 H,Dのサイズのオペランドに対するスタソ
クポップモードの指定も可能であり、それぞれSPが+
1.、+2.+8だけ更新される。
フォーマットを第20図に示す。オペランドに対してス
タンクポンプモードが意味を持たない場合tこは、予約
命令例外が発生される。具体的に予約命令例外となるの
は、wr i teオペランド、read−modif
y−writeオペランドに対するスタソクボンプモー
ド指定である。
スタソクプソシュモードは、SPの内容をオペランドサ
イズだけデクリメントした内容をアドレスとするメモリ
の内容をオペランドとする。スタ・7クプノシユモード
ではオペランドアクセス前にSPがデクリメントされる
。例えば、32ビソトデークを扱う際には、オペランド
アクセス前にSPが−4だけ更新される。8,16.6
4ビツトのサイズのオペランドに対するスタソクプソシ
ュモードの指定も可能であり、それぞれSPが−L−2
.−8だけ更新される。
フォーマノドを第21図に示す。オペランドに対してス
タックプソシュモードが意味を持たない場合には、予約
命令例外が発生される。具体的に予約命令例外となるの
はreadオペランド、read−modifywri
teオペランドに対すスタソクブソシュモード指定であ
る。
(2,4,2)  r多段間接アドレソシングモード」
複雑なアドレソシングも、基本的には加算と間接参照の
組合わせに分解される。従って、加算と間接参照のオペ
レーションとをアドレソシングのブリ主ティブとして与
えておき、それらを任意に組合わせることができれば、
いかに複雑なアドレノシングモードも実現可能である。
本発明のデータ処理装置及びマイクロプロセソサの命令
の多段間接アドレソシングモードはこのような考え方に
5 基づいている。複雑なアドレソシングモードは、モジュ
ール間のデータ参照あるいはAI(Artificia
lIntelligence)言語の処理系に特に有用
である。
多段間接アドレソシングモードの指定に際しては、基本
アドレソシングモード指定フィールドでは、レジスタベ
ース多段間接モード、PCベース多段間接モード、絶対
ヘース多段間接モードの3種類の指定方法の内いずれか
1つを指定する。
レジスタベース多段間接モードは、汎用レジスタの値を
拡張する多段間接アドレソシングのヘース値とするアド
レソシングモードである。フォーマントを第22図に示
す。図中、Rnは汎用レジスタの番号を示す。
PCベース多段間接モードは、プログラムカウンタの値
を拡張する多段間接アドレソシングのへ一ス値とするア
ドレソシングモードである。フォーマントを第23図に
示す。
絶対ヘース多段間接モードは、ゼロを拡張する多段間接
アドレソシングのヘース値とするアドレノシングモード
である。フォーマントを第24図に6 示す。
拡張される多段間接モード指定フィールドは、16ビツ
トを一単位としており、これを任意数反復する。1段の
多段間接モードにより、ディスプレースメントの加算、
インデクスレジスタのスケーリング(XI、 x2+ 
×4+ ×8)と加算及びメモリの間接参照を行なう。
多段間接モードのフォーマノドを第25図に示す。各フ
ィールドは以下に示す意味を有する。
I!−0 E=1 :多段間接モード継続 ニアドレス計算終了 tmp ==> address  of opera
ndr−o :メモリ間接参照なし tmp+disp十Rx*5cale==>tmp1=
1  :メモリ間接参照あり mem  [tmp  4  disp  +  Rx
  *  5cale  ]  ==> tmp M−0:  <Rx>をインデクスとして使用N・1 
:特殊なインデクス 〈Rx〉−0インデクス値を加算しない(RX=O) 〈Rに〉−1プログラムカウンタをインデクス埴として
使用 (Rに−PC) <Rx>=2〜reserved D・0 :多段間接モード中の4ビツトのフィールドd
4の値を4倍してディスプレースメント埴とし、これを
加算する。d4は符号付きとして扱い、オペランドのサ イズとは関係なく必ず4倍して使用す る D=1:多段間接モードの拡張部で指定されたdisp
x(16/32ビツト)をディスプレースメント値とし
、これを加算する 拡張部のサイズはd4フィールドで指定する d4=0001   dispx  は16ビソトd4
=0010   dispx  は32ビソトxx:イ
ンデクスのスケール(scale=1/2/4/8)プ
ログラムカウンタに対して×2、×4、×8のスケーリ
ングを行なった場合には、その段の処理終了後の中間値
imp)として、不定値が入る。
この多段間接モードによって得られる実効アドレスは予
i+111できない値となるが、例外は発生しない。
プログラムカウンタに対するスケーリングの指定は行な
ってはいけない。
多段間接モードによる命令フォーマントのバリエーショ
ンを第26図及び第27図に示す。第26図は多段間接
モードが継続するか終了するかのバリエーションを示す
。第27図はディスプレースメントのサイズのバリエー
ションを示す。
任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が4’% 7&されるというメリノトがある。
多段の間接参照の頻度が非常に少ないとしても、コンパ
イラとしては必ず正しいコドを発生できなければならな
いからである。このため、フォーマント上、任意の段数
が可能になっている。
9 (3)「機能プロツタの構成」 第3図は本発明のマイクロプロセッサであるCPU10
の一構成例を示すブロソク図である。
本発明のマイクロプロセッサの内部を機能的に大きく分
けると、命令フェッチ部51.命令デコード部52. 
PC計算部53.オペランドアドレス計算部543 マ
イクロROM部55.データ演算部56及び外部ハスイ
ンターフェイス部57に分かれる。
第2図では、その他にアドレスバス14に結合していて
外部へ命令アドレス及びデータアドレスを出力するアド
レス出力回路58.データバス17に結合していて外部
とデータの入出力を行うデータ入出力回路59.  C
PU側制御バス15に結合している制御信号入出力回路
60及び命令バス16に結合していて命令コードの入力
を行う命令入力回路61を上述の各機能ブロソク部とは
分けて示した。
(3、■)「命令フェッチ部」 命令フェッチ部51には、内蔵命令キャソシュ。
命令キューとその制御部等がある。これらは次にフェッ
チすべき命令のアドレスを決定して、内蔵0 命令キャソシュまたは外部の命令キセノシュ11あるい
は主メモリ13から命令をフェッチする。また、内蔵命
令キャソシュの命令登録も行う。
次にフェッチすべき命令のアドレスは、命令キューへ入
力すべき命令のアドレスとして専用のカウンタで計算さ
れる。ジャンプが発生した場合には、ジャンプクーゲソ
トの新たな命令のアドレスがPC計算部53またはデー
タ演算部56から転送されてくる。
外部の命令キャンシュ11あるいは主メモリ13から命
令がフェッチされる場合は、外部バスインクフェイス部
57を通して、フェッチすべき命令のアドレスがアドレ
ス出力回路58から外部へ出力され、命令入力回路61
から命令コードがフェッチされる。
ハソファリングした命令コードの内、命令デコード部5
2で次にデコードすべき命令コードは命令デコード部5
2へ出力される。
(3,2)  r命令デコード部」 命令デコード部52では基本的に16ビツト(ハーフワ
ード)単位で命令コードをデコードする。この命令デコ
ード部52には第1ハーフワードに含まれるオペレーシ
ョンコードをデコードするFHWデコーダ、第2.第3
ハーフワードに含まれるオペレーションコードをデコー
ドするNPHWデコーダ、アドレソシングモードをデコ
ードするアドレソシングモードデコーダが含まれる。
FIIWデコーダ及びNFHWデコーダの出力を更にデ
コードしてマイクロROMのエントリアドレスを計算す
る第2デコーダ、条件分岐命令の分岐予測を行う分岐予
測機構、オペランドアドレス計算の際のパイプラインコ
ンフリクトをチェソクするアドレス計算コンフリクトチ
ェソク機構も含まれる。
命令フェッチ部51から入力された命令コードは1クロ
ソクにつき0〜6バイトデコードされる。
デコード結果の内、データ演算部56での演算に関する
情報がマイクロROM部55へ、オペランドアドレス計
算に関係する情報がオペランドアドレス計算部54へ、
pc計算に関係する情報がpc計算部53へそれぞれ出
力される。
(3,3)  rマイクロROM部」 マイクロROM部55には、データ演算部56の制御を
行うための種々のマイクロプログラムルーチンが格納さ
れているマイクロROM、  マイクロシーケンサ、マ
イクロ命令デコーダ等が含まれる。マイクロ命令はマイ
クロROMから1クロツクに1度読出される。マイクロ
シーケンサはマイクロプログラムで示されるシーケンス
処理の他に、例外1割込、トラップ(この3つをあわせ
てEITと称す)の処理及びテスト割込みをハードウェ
ア的に受付ける。またマイクロROM55部はストアバ
ッファの管理も行う。
マイクロROM55部には命令コードに依存しない割込
み及び演算実行結果によるフラソグ情報と、デコーダ2
の出力等の命令デコード部52の出力が入力される。
マイクロデコーダの出力は主にデータ演算部56に対し
て出力されるが、ジャンプ命令の実行による他の先行処
理中止情報等、一部の情報は他の機能ブロソクへも出力
される。
9 (3,4)  rオペランドア、ドレス計算部」オペラ
ンドアドレス計算部54は、命令デコード部52のアド
レスデコーダ等から出力されたオペランドアドレス計算
に関係する情報によりハードワイヤード制御される。こ
のオペランドアドレス計算部54ではオペランドのアド
レス計算に関する大半の処理が行われる。メモリ間接ア
ドレシッングのためのメモリアクセスのアドレス及びオ
ペランドアドレスがメモリにマソプされたI10領域に
入るか否かのチェソクも行われる。また、コブロセンサ
命令のオペランドアドレス計算も行われる。
アドレス計算結果は外部バスインターフェイス部57へ
送られる。アドレス計算に必要な汎用レジスタ及びプロ
グラムカウンタの値はデータ演算部56から入力される
メモリ間接アドレソシングを行う際は、外部バスインタ
ーフェイス部57を通じてアドレス出力回路58から外
部へ参照すべきメモリアドレスが出力され、データ入出
力部59から入力された間接アドレス値がフェッチされ
る。
(3,5)  rPC計算部」 pc計算部53は命令デコード部52から出力されるP
C計算に関係する情報でハードワイヤードに制御され、
命令のpc値を計算する。本発明のマイクロプロセソサ
の命令は可変長命令であり、命令をデコードした後でな
ければその命令の長さが判断されない。PC計算部53
は、命令デコード部52から出力される命令長をデコー
ド中の命令のpc値に加算することにより、次の命令の
pc値を生成する。
pc計算部53の計算結果は各命令のpc値として命令
のデコード結果と共に出力される。
(3,6)  rデータ演算部」 データ演算部56はマイクロプログラムにより制御され
、マイクロROM 、の出力であるマイクロ命令に従っ
て各命令の機能を実現するために必要な演算をレジスタ
ファイルと演算器とで実行する。
命令の演算対象となるオペランドがアドレスまたは即値
である場合eよ、オペランドアドレス計算部54で計算
されたアドレスまたは即値が外部バスインターフェイス
部57を通過してデータ演算部56へ入力される。また
、命令の演算対象となるオペランドがCPUl0外部の
メモリにあるデータの場合は、アドレス計算部54で計
算されたアドレスをバスインターフェイス部57がアド
レス出力回路58から出力することにより、メモリシス
テム13からフェッチしたオペランドがデータ入出力回
路59からデータ演算部56へ入力される。
データ演算の際に外部のデータキャッシュ12あるいは
主メモリ13をアクセスする必要がある場合は、マイク
ロプログラムの指示により外部バスインターフェイス部
57を通してアドレス出力回路58からアドレスをCP
Ul0外部へ出力することにより、データ入出力回路5
9を通して目的のデータがフェッチされる。
外部のデータキャッシュ12あるいは主メモリ13にデ
ータをストアする場合は、外部バスインターフェイス部
57を通じてアドレス出力回路58からアドレスを出力
すると同時に、データ入出力回路59からデータをCP
Ul0外部へ出力する。オペランドストアを効率的に行
うために、データ演算部56には4ハイドのストアバソ
ファがある。
ジャンプ命令の処理あるいは例外処理等が実行されて新
たな命令アドレスをデータ演算部56が得た場合は、こ
れをデータ演算部56は命令フェソチ部51とpc計算
部53へ出力する。
(3,7)  r外部バスインターフェイス部」外部バ
スインターフェイス部57はCPUl0の入出力ピンを
介しての通信を制御する。メモリのアクセスはすべてク
ロソク同期で行われ、最小2クロソクサイクルで行うこ
とが可能である。
外部バスインターフェイス部57には内蔵データキャソ
シュがあり、オペランドの読出しが内蔵データキャソシ
ュにヒツトした場合はメモリアクセスは行われない。オ
ペランドの書込みは内蔵データキャソシュと外部のメモ
リの両方に対して行われる。コブロセソサがメモリに対
してオペランドを書込む際は、そのオペランドをデータ
入出力回路58を介して読込み、同一アドレスの内蔵デ
ータキャソシュの内容を変更する。
外部のメモリをアクセスするためのバスアクセルフ ス要求は、命令フヱソチ部51.アドレス計算部54及
びデータ演算部56から独立に生しる。外部バスインタ
ーフェイス部57はこれらのメモリアクセス要求を調停
する。更に、データキャッシュ12と本発明のマイクロ
プロセッサであるCPUl0とを結ぶデータバスサイズ
である64ビツト (ダブルワード)の整置境界を跨ぐ
メモリ番地に位置するデータのアクセスに際しては、こ
のブロック内で境界を跨ぐことが自動的に検知されて、
2回のメモリアクセスに分解して行われる。
プリフェッチされるオペランドとストアされるオペラン
ドとが重複する場合のコンフリクト防止処理及びストア
オペランドからフェソチオペランドへのバイパス処理も
この外部バスインターフェイス部57で行われる。
(4)「パイプライン処理」 本発明のマイクロプロセッサであるCPUl0は命令バ
ス16とデータバス17とを効率よく利用して命令をパ
イプライン処理することにより高性能を発揮する。ここ
ではまず、CPUl0のパイプライン処8 理方法について説明する。
(4,1)  rパイプライン処理機構」本発明のマイ
クロプロセッサのパイプライン処理を模式的に第4図に
示す。
命令をプリフェッチする命令フェソチステージ(IFス
テージ)31.命令をデコードするデコードステージ〈
Dステージ)32、オペランドのアドレス計算を行うオ
ペランドアドレス計算ステージ(Aステージ)33、マ
イクロROMアクセス(特にRステージ36と称す)と
オペランドのブリフェッチ(特にOFステージ37と称
す)を行うオペランドフェソチステージ(Fステージ)
34、命令を実行する実行ステージ(Eステージ)35
の5段構成をパイプライン処理の基本とする。
Eステージ35には1段のストアバソファがある他、高
機能命令の一部は命令実行自体をパイプライン化してい
るため、実際には5段以上のパイプライン処理効果が発
揮される。
各ステージはそれぞれ他のステージとは独立して動作し
、理論上は5つのステージが完全に独立して動作する。
各ステージは1回の処理を最小lクロソクで実行可能で
ある。従って理想的には1クロソクごとに次々とパイプ
ライン処理が進行する。
本発明のデータ処理装置には、メモリーメモリ間演算、
メモリ間接アドレッシング等のようなCPu10の一回
の基本パイプライン処理では処理不可能な命令があるが
、これらの処理に対しても可能な限り均衡したパイプラ
イン処理が行えるように工夫されている。複数のメモリ
オペランドを有する命令に対しては、メモリオペランド
の数に基づいてデコード段階で命令を複数のパイプライ
ン処理単位(ステンプコード)に分解してパイプライン
処理を行うようにしている。
パイプライン処理単位の分解方法に関しては特開昭63
−89932号で詳しく述べられている。
IFステージ31からDステージ32へ渡される情報は
命令コードそのものである。
Dステージ32からAステージ33へ渡される情報は命
令で指定された演算に関する情報(Dコード41と称す
)と、オペランドのアドレス耐算に関係する情報(^コ
ード42と称す)との2つがある。
Aステージ33からFステージへ渡される情報はマイク
ロプログラムルーチンのエントリ番地及びマイクロプロ
グラムへのパラメータ等を含むRコード43と、オペラ
ンドのアドレスとアクセス方法指示情報等を含むFコー
ド44との2つである。
Fステージ34からEステージ35へ渡される情報は演
算制御情報とリテラル等を含むEコード45と、オペラ
ンド及びオペランドアドレス等を含むSコード46との
2つである。
Eステージ35以外のステージで検出されたBITは、
そのコードがEステージ35へ到達するまではEIT処
理を起動しない。Eステージ35で処理されている命令
のみが実行段階の命令であり、IPステージ31からF
ステージ34までの間で処理されている命令は未だ実行
段階に至っていないのである。
従ってEステージ35以外で検出されたIEITはこれ
が検出されたことがステップコード中に記録されて次の
ステージへ伝えられるのみである。
(4,2)  r各パイプラインステージの処理」各パ
イプラインステージの入出力ステソプコードには第4図
に示す如き名称が便宜上付与されている。またステソプ
コードはオペレーションコードに関する処理を行い、マ
イクロROMのエントリ番地及びEステージ35に対す
るパラメータ等になる系列と、Eステージ35のマイク
ロ命令に対するオペランドになる系列とがある。
(4,2,1)  r命令フェソチステージ」命令フェ
ソチステージ(IPステージ)31は命令を内蔵命令キ
ャソシュあるいは外部の命令キャッシュ11からフェソ
チして命令キューへ入力し、Dステージ32へ命令コー
ドを出力する。
命令キューの入力は整置された4バイト単位で行われる
。外部の命令キャッシュ11から命令をフェソチする場
合は、整置された4バイトについて最小2クロソクを要
する。内蔵命令キャソシュがヒソトした場合は、整置さ
れた4バイトにつき1クロソクでフェソチ可能である。
命令キューの出力単位は2バイト単位で可変であり、l
クロソク2 の間に最大6バイトまで出力できる。またジャンプの直
後には命令キューをバイパスして命令基本部2バイトを
直接命令デコーダへ転送することも可能である。
内蔵命令キャソシュへの命令の登録及びクリア等の制御
、プリフェソチ先命令アドレスの管理及び命令キューの
制御もtpステージ31で行われる。
(4,2,2)  r命令デコードステージ」命令デコ
ードステージ(Dステージ)32はIFステージ31か
ら入力された命令コードをデコードする。
デコードは命令デコード部52のFIIWデコーダ。
NI’llWデコーダ、アドレソシングモードデコーダ
を使用して1クロソクに1度行われ、1回のデコード処
理で、0〜6バイトの命令コードが消費される(リター
ンサブルーチン命令の復帰先アドレスを含むステンプコ
ードの出力処理等では命令コードは消費されない)。1
回のデコードでAステージ33に対してアドレス計算情
報としてのAコード42である約35ビソトの制御コー
ドと最大32ビツトアドレス修飾情報と、オペコードの
中間デコード結果としてのDコード41である約50ビ
ソトの制御コードと8ビツトのリテラル情報とが出力さ
れる。
Dステージ32では各命令のpc計算部53の制御、命
令キューからの命令コード出力処理も行われる。
(4,2,3)  rオペランドアドレス計算ステージ
」オペランドアドレス計算ステージ(Aステージ)33
での処理は大きく2つに分かれる。1つは命令デコード
部52の第2デコーダを使用して、オペレーションコー
ドの後段デコードを行う処理で、他方はオペランドアド
レス計算部54でオペランドアドレスの計算を行う処理
である。
オペコードの後段デコード処理はDコード41を人力と
し、レジスタ及びメモリの書込み予約及びマイクロプロ
グラムルーチンのエントリ番地とマイクロプログラムに
対するパラメータ等を含むRコード43の出力を行う。
なお、レジスタ及びメモリの書込み予約は、アドレス計
算で参照したレジスタ及びメモリの内容が、パイプライ
ン上を先行する命令で書換えられることにより誤ったア
ドレス剖算が行われることを回避するためである。
オペランドアドレス計算処理はAコード42を入力とし
、これに従ってオペランドアドレス計算部54で加算及
びメモリ間接参照を組合わせてアドレス計算を行い、そ
の計算結果をFコード44として出力する。この際、ア
ドレス計算に伴うレジスタ及びメモリの読出し時にコン
フリクトチエツクが行われる。即ち、先行命令のレジス
タあるいはメモリへの書込み処理が終了していないため
にコンフリクトが指示されれば、Eステージ35での書
込み処理が終了するまで先行命令が待□させられる。
(4,2,4)  rマイクロROMアクセスステージ
」オペラントフェソチステージ(Fステージ)34での
処理も大きく2つに分かれる。1つはマイクロROMの
アクセス処理であり、これを特にRステージ36と称す
。他方はオペランドプリフエソチ処理であり、これを特
にOFステージ37と称す。Rステージ36とOFステ
ージ37とは必ずしも同時に動作するわけではなく、メ
モリアクセス権が獲得可能か否か等に依存して、独立に
動作する。
5 Rステージ36での処理であるマイクロROMアクセス
処理は、Rコード43に対して次のEステージ35での
実行に使用する実行制御コードであるEコード45を生
成するためのマイクロROMアクセスとマイクロ命令デ
コード処理とである。1つのRコード43に対する処理
が2つ以上のマイクロプログラムステップに分解される
場合、マイクロROMはEステージ35で使用され、次
のRコード43はマイクロROMアクセス待ちになる。
Rコード43に対するマイクロROMアクセスが行われ
るのはその前のEステージ35での最後のマイクロ命令
実行の時である。本発明のマイクロプロセソサであるc
r+ut。
ではほとんどの基本命令は1マイクロプログラムステツ
プ行われるため、実際にはRコード43に対するマイク
ロROMアクセスが次々と行われることが多い。
(4,2,5)  rオペランドフェソチステージ」オ
ペランドフェソチステージ(OFステージ)37はFス
テージ34で行われる上記の2つの処理の内、オペラン
ドプリフェソチ処理を行う。オペランド6 のプリフェソチは内蔵データキャソシエまたはデータキ
セノシュ12から行われる。
オペランドプリフェソチはFコード44を入力とし、フ
ェソチしたオペランドとそのアドレスとをSコード46
として出力する。1つのFコード44ではダブルワード
境界を跨いでもよいが、8バイト以下のオペランドフエ
ソチが指定される。Fコード44にはオペランドのアク
セスを行うか否かの指定も含まれており、Aステージ3
3で計算されたオペランドアドレス自体及び即値をEス
テージ35へ転送する場合にはオペランドプリフェソチ
は行われず、Fコード44の内容がSコード46として
転送される。プリフェソチしようとするオペランドとE
ステージ35が書込み処理を行おうとするオペランドと
が一致する場合は、オペランドプリフェソチはデータキ
ャソシュあるいはメモリからは行われず、バイパス処理
される。
(4,2,6)  r実行ステージ」 実行ステージ(Eステージ)35はEコード45Sコー
ド46を入力として動作する。このEステージ35が命
令を実行するステージであり、Fステージ34以前のス
テージで行われた処理は総てEステージ35での処理の
ための前処理である。Eステージ35でジャンプ命令が
実行されたりあるいはEIT処理が起動されたりした場
合は、」Fステージ31からFステージ34までの間の
処理は総て無効化される。Eステージ35はマイクロプ
ログラムにより制御され、Rコード45で示されたマイ
クロプログラムルーチンのエントリ番地からの一連のマ
イクロ命令を実行することにより命令を実行する。
マイクロROMの読出しとマイクロ命令の実行とはパイ
プライン化されている。従って、マイクロプログラムで
分岐が発生した場合は1マイクロステソプの空白が住し
る。また、Eステージ35はブタ演算部56にあるスト
アバソファを利用して、4バイト以内のオペランドスト
アと次のマイクロ命令の実行とをパイプライン処理する
ことも可能である。
Eステージ35ではAステージ33で行ったレジスタ及
びメモリに対する書込み予約をオペランドの書込みの後
にll)?除する。
各種の割込は命令の切れ目のタイくングにおいてEステ
ージ35で直接受付けられ、マイクロプログラムにより
必要な処理が実行される。その他の各種EITの処理も
マイクロプログラムにより実行される。
(4,3)  r各パイプラインステージの状態制御」
パイプラインの各ステージは入力ランチと出力ランチと
を有していて、他のステージとは独立に動作することを
基本とする。各ステージは1つ前に行った処理が終了し
、その処理結果を出力ランチから次のステージの入力ラ
ンチへ転送し、自身のステージの入力ランチに次の処理
に必要な人力信号が総てそろえば次の処理を開始する。
つまり、各ステージは、1つ前段のステージから出力さ
れてくる次の処理に必要な入力信号が総て有効となり、
現在の処理結果を後段のステージの大カラ・ノチヘ転送
して出力ランチが空になると次の処理を開始する、。
換言すれば、各ステージが動作を開始する直前9 のタイ主ングで入力信号が総てそろっている必要がある
。入力信号がそろっていない場合は、そのステージは待
ち状態(入力待ち)になる。出力ランチから次のステー
ジの入力ランチへの転送を行う際は次のステージの入力
ランチが空き状態になっている必要があり、次のステー
ジの入力ランチが空いていない場合もパイプラインステ
ージは待ち状態(出力待ち)になる。必要なバスアクセ
ス権が獲得不可能であったり、処理しているバスアクセ
スにウェイトステート(待機状態)が挿入されていたり
、その他のパイプラインコンフリクトが生しると、各ス
テージの処理自体が遅延する。
0 (5)バスアクセス動作 (5,1)入出力信号線 第5図はCPUl0の入出力信号を示す模式図である。
CPUl0は電源Vccと接地GND、 64ビソトの
データバスD (0:63H7と32ビソトのアドレス
バスA(0:31)14と32ピントの命令バスI (
OF31)16及び入力クロソクCLKの他にCPU側
制御バス15に含まれる種々の制御信号を入出力する。
CLKは外部穴カクロソクであり、CPUl0の動作ク
ロソクの2倍の周波数のクロソクである。
データアドレスストローフ゛口へSlよアドレスバス1
4へ出力されたデータアドレスが有効であることを示す
データアドレス有効信号である リードライトR/Wllはデータバス17のバスサイク
ルがCPUl0へのデータ入力であるか、またはCPU
10のデータ出力であるかを区別する。
デークストローブDSIIはCPUl0がデータ入力準
備を完了したことまたはCPUl0からデータが出力さ
れたことを示す。
DDCIIはCPUl0にデータアクセスサイクルを終
了してもよいことを通知するデータ転送終了信号である
BAT(0:2)はアクセスタイプ識別信号であり、第
8図に示す様にアドレスバス14とデータバス17の値
の意味を示す。
命令アドレスストローブ■^S11はアドレスバス14
へ出力された命令アドレスが有効であることを示す命令
アドレス有効信号である。
命令ストローブISlはCPUl0が命令入力準備を完
了したことを示す。
IDClはCPUl0に命令アクセスサイクルを終了し
てもよいことを通知する命令転送終了信号である。
ホールドリクエストHR[!011はCPUl0にバス
権を要求する信号であり、HAClflはCPLIIO
がHIIEQIIを受付けてバス権を他のデバイスに渡
したことを示す信号である。
IRE口(0:2)は割込み要求信号である。
1/1cKI14よCPIJIOが割込みを受付け、割
込みベクトルアクセスサイクルを実行中であることを示
す信号である。
第6図はCPLIIOとデータキャッシュ12及び命令
キャッシュ11との接続状態を示す模式図である。
CPUl0とデータキャッシュI2とはデータバス17
及びアドレスバス14の他、BAT (O二2)、 0
ASR,R/旧0511、DDCIIで接続されている
CPUl0と命令キャッシュ11とは命令バスI6及び
アドレスバス14の他、BAT((h2) 、 IへS
ll、 rs#、 IDCIIで接続されている。
CLKは三つのデバイスの総てに供給され、システムの
基本クイくングを決定する。
第1図は第6図のアドレスバス14.命令バス16デー
タバス17及び各種旧師信号の動作状態を示すタイ文ン
グチャートである。なお、°#”が付加されている信号
はローアクティブである。
バスアクセスは、データバス17を用いたデータアクセ
スと命令バス16を用いた命令アクセスとをそれぞれ十
分高速なキャソシュ及びメモリに対して倍周波の外部入
力クロソクCLKの4サイクルに1度の速度で実行され
る。
3 CLKの2サイクルがCPUl0の動作1クロソクに相
当している。BCLKはCLKの奇数番目パルスと偶数
番目パルスとの区別を示す信号であり、CLKパルスと
BCLKとの関係はシステムリセット時に決定される。
アドレスバスA (0:31)14はデータキャッシュ
12に対するアクセスと命令キャッシュ11に対するア
クセスとの両方に利用される。アドレスバスA(0:3
1)14とBAT(0:2)とが値を出力した場合は、
その時点からCLKの2サイクルの間はその値が有効で
あり、その後は値が変化する。このため、データキャッ
シュ12には、入力したデータアドレスをデータアクセ
ス完了まで保持するためにデータアドレスラッチ22が
備えられている。また命令キャッシュ11には、入力し
た命令アドレスを命令アクセス完了まで保持するために
命令アドレスラッチ21を備えている。
CLKの4クロソクの間にデータアドレスと命令アドレ
スとが時分割してアドレスバス14から出力される。換
言すれば、アドレスバスA (0:31)14ではCL
Kの4クロソク当り、データアドレス1つと命令アドレ
ス1つを出力する。
第1図ではゼロウェイトのデータリードザイクル■、ゼ
ロウェイトの命令リードサイクル■、ゼロウェイトのデ
ータリードサイクル■、1ウェイトの命令リードサイク
ル■、ゼロウェイトのデータライトサイクル■、1ウェ
イトのデータリードサイクル■、ゼロウェイトの命令リ
ードサイクル■、ゼロウェイトのデータライトサイクル
■、ゼロウェイトの命令リードサイクル■、ゼロウェイ
トの命令リードサイクル[相]、更に次のデータリード
サイクルの最初の部分が示されている。
データアクセスサイクルと命令アクセスサイクルとは、
たとえば■と■、あるいは■と■のように、CLKの2
クロソクずつオーパーラ・ノブして実行可能である。し
かし、データアクセスサイクル同士、及び命令アクセス
サイクル同士は、たとえば■と■、あるいは■と[相]
のように、オーバーランプして実行することは不可能で
ある。
データアクセスサイクルは以前のデータアクセスサイク
ルが終了していれば次のデータアクセスサイクルが開始
する。具体的には、BAT(0:2)=OOOとしてB
 CL Kの立上りに同期してアドレスバスA(Oi3
1)14からデータアドレスが出力され、DDCIIが
アサートされればバスサイクルは終了する。
データアクセスサイクルでは、データアドレスストロー
ブDASIIがアドレス出力に対してCLKのAサイク
ル遅延してアサートされる。また、データストローブD
SIがCLKの3/2サイクル遅延してアサートされる
リードサイクルとライトサイクルとはリードライトR/
Wllにより区別される。
データライトサイクルでは、アドレス出力に対してCI
Jの3/2サイクル遅延してデータバス17にデータが
出力される。
データリードサイクルではDDCIIがアサートされた
場合にCLKの立下り時のデータバス17の値がCPU
に取込まれる。
命令アクセスサイクルは以前の命令アクセスサイクルが
終了していれば、データアクセスサイクルのアドレスが
出力されない場合に開始する。具体的には、BAT (
0: 2) =001としてBCLKの立上りに同期し
てアドレスバス14に命令アドレスが出力され、IDC
IIがアサートされればバスザイクルは終了する。
命令アクセスサイクルでは命令アドレスストロブIAS
IIがアドレス出力に対してCLKの%ザイクル遅延し
てアサートされる。また、命令ストローブIS#がCL
Kの3/2サイクル遅延してアサートされる。そしてI
DCIIがアサートされた場合にCLKの立下り時の命
令バス16の値がCPUl0に取込まれる。
データアクセスサイクルと命令アクセスサイクルとが同
時に必要な場合はデータアクセスサイクルが優先して先
に開始される。
データアクセスサイクルと命令アクセスサイクルとでは
それぞれDDCIIとIDCIIとがアサートされな&
JればBCLKの1クロソク毎にアクセス時間が延長さ
れる。
CPUl0は、HREQIIがアサートされた場合は、
その時点において実行中のデータアクセスサイクルと命
令アクセスサイクルとが両方とも終了した後、7 +1A(Jlがアサ−1・されて他のデバイスにバス権
が渡される。IIREQIIがネゲートされた場合、I
IAcKIIがネゲートされて再度バス権を獲得し、デ
ータアクセスサイクルあるいは命令アクセスサイクルを
実行する。
(6)本発明の他の実施例 上述の実施例では、II八へ(0:2)でアクセスサイ
クルの種類を区別することにより、アドレスバスで転送
される値がデータアドレスか命令アドレスかを判別して
いるが、この機能は必ずしも必要ではなく 、DAS1
1信号とIASII信号とのどちらがアサートされるか
を調べることのめでもこの判別は可能である。
また、上述の実h1!!例ではアドレスバスへ出力され
たデータアドレスが有効であることをDASII信号で
示し、アドレスバスへ出力された命令アドレスが有効で
あることをDASIIとは別のIASII信号でそれぞ
れ示している。しかし、アドレスバスへ出力されたアド
レス値はBAT(0:2)信号で区別可能であるので、
DASI信号と1^SII信号とを出力するのではな8 < 、DASII信号とIASII信号との論理和をと
ったアドレス有効信号を出力する構成も可能である。
更に上述の実施例では、本発明のデータ処理装置及びマ
イクロプロセソサが新たに備えたバスプロトコルで常に
命令及びデータをアクセスする場合について説明したが
、命令アクセスとデータアクセスとをオーバラップする
ことなく行う従来のデータ処理システムのバスプロトコ
ルと新M1.のハスプロトコルとの双方をモード切換え
により使用可能な構成としてもよい。
また更に上述の実施例では、データバスが64ビツトの
場合について述べたがデータバス幅は命令バス幅と同し
く32ビソトであってもよいし、その他のビット幅であ
ってもよい。
また上述の実施例では、コブロセソサを接続する場合の
構成例については触れていないが、本発明のデータ処理
装置及びマイクロプロセソサでは、BAT(0:2)の
値を100あるいは101にすることにより、アドレス
バス14とデータバス17とを使用してcpuIoとコ
ブロセソサとの間でコマンド及びデータをやり取りする
こともできる。
[発明の効果] 以上に詳述した如く本発明のデータ処理装置及びマイク
ロプロセソサでは、アドレスバスとデータバスと命令バ
スとを備え、アドレスバスでのデータアドレスと命令ア
ドレスとの転送を高速で行っている。また、データアク
セスを制御する信号と命令アクセスを制御する信号とは
それぞれ独立しており、データアクセスサイクルと命令
アクセスサイクルとをオーバーラツプして実行すること
が可能である。この際、1つのアドレスバスがデクアド
レスバスと命令アドレスバスとの計2つのアドレスバス
に相当する働きをし、データアクセスと命令アクセスと
の双方の能力が高い。
また、アドレスバスはデータアドレスと命令アドレスと
を高速で切換えて出力するが、切換えはCPuからの出
力信号の切換えであるため、アドレスとデータとをマル
チプレソクスしたりアドレスと命令とをマルチプレソク
スしている従来のデータ処理装置あるいはマイクロプロ
セソサのように転送方向の切換えを行う場合に比して、
回路の設剖が容易である。例えばトランシーバとなるT
TI、デバイスの高速方向切換えの問題などのような入
力出力の切換えに起因する問題は生しない。
データキャソシュは、例えばアドレスバスへ出力された
データアドレスをD A S 11信号でデーノア1−
レスラソチヘ入力し、命令キャソシュはξ例えば命令ア
ドレスをIAS#信号で命令アドレスラノチヘ入力する
とよい。この場合、アドレスバスで転送されるアドレス
バスHの有効期間が短い他は命令とブタに独立してアド
レスバスを備える場合と同様にシステムを構成すること
が可能である。これは本発明のデータ処理装訴及びマイ
クロプロセンサが従来に比してシステム設計の困難さを
増大することなく1つのアドレスバスで2つのアドレス
バスに相当する機能を実現していることを意味する。
辺上の様に本発1v、のデータ処理装置及びマイクロプ
ロセンサでは、コストパフメーマンスが高い新規のハス
プロトコルにより、効率よくデータ及び命令を転送し、
供価格で高性能なシステムの実現を可能にしている。
4、図面の簡単な説明 第1図は本発明のマイクロプロセンサのハスアクセス動
作を示すクイ宝ングチャート、第2図は本発明のデータ
処理装置の一構成例を示すブロソク図、 第3図は本発明のマイクロプロセンサの一構成例を示す
ブロソク図、 第4図は本発明のマイクロプロセンサのパイプライン処
理機構を示す模式図、 第5図は本発明のマイクロプロセンサの入出力信号を示
す模式図、 第6図は本発明のデータ処理装置の信号の接続状態を示
す模式図、 第7図は命令アドレスバスとデータアドレスバスとを独
立して備える従来のデータ処理装置の構成を示すブロソ
ク図、 第8図は本発明のデータ処理袋ffBAT(0:2)信
号@− の意味を示す2・ 第9図は本発明のデータ処理装置のメモリ上で2 の命令の並び方を示す模式図、 第10図から第13図は本発明のデータ処理システムの
命令のフォーマノドを示す模式口、第14図から第27
図は本発明のデータ処理システムの命令のアドレソシン
グモードを説明すイ】ための模式図である。
10・・・CPU  11・・・命令キャソシュ  1
2・・・データキャソシュ  14・・・アドレスバス
A(0:3]、)   16・・・命令バス+ ((h
31)   17・・・データバスo (0:63)D
ASII・・・データアドレスストローブ(データアド
レス有効信号)  IAS#・・・命令アドレスストロ
ーフ(命令アドレス有効信号)DDCll・・・データ
転送終了信号  roca・・・命令転送終了信号  
BAT(0:2)・・アクセスタイプ識別信号 なお、各図中同一符号は同−又は相当部分を示す。
代理人 大岩増雄 手 続 補 正 ′(自発) 特許庁長官数 1、事件の表示 特願昭 174883号 2、発明の名称 ア 夕処理装置及びマイクロプロセ・アサ 3、補正をする者 5、補正の対象 明細書の「特許請求の範囲」、「発明の詳細な説明」及
び「図面の簡単な説明」の欄、並びに図面 6、補正の内容 6”l明細書の「特許請求の範囲」の欄別紙の通り 6−2明細書の「発明の詳細な説明」の欄(1)  明
細書の第15頁10行目から111行目「マイクロプロ
セソサ」とあるのを、r cpuであるマイクロプロセ
ソサ」と訂正する。
(2)  明細書の第17頁20行目に「向上される」
とあるのを、「向上させる」と訂正する。
(3)  明tIlll書の第34頁8行目にrB、I
f、D Jとあるノヲ、rB、 16.64ビツト」と
訂正する。
(4)  明細書の第40頁9行目に「第2図」とある
のを、「第3図」と訂正する。
(5)  明細書の第44頁14行目から155行目「
データ演算部56から」とあるのを、「データ演算部5
6あるいはpc計計算部子3ら」と訂正する。
(6)  明細書の第62頁5行目に「アドレスバス1
4と」とあるのを、「各バスサイクルでのアドレスバス
14と命令バス16と」と訂正する。
6−3明細書の「図面の簡単な説明」の欄(1)  明
細書の第72頁18行目に「データ処理装置BAT(0
:2>信号」とあるのを、「データ処理装置のBAT(
0:2)信号」と訂正する。
(2)  明細書の第73頁2行目から3行目に「デー
タ処理システム」とあるのを、「データ処理装置」と訂
正する。
(3)明細書の第73頁4行目から5行目に「ブタ処理
システム」とあるのを、「データ処理装置」と訂正する
6−4図面 (1)第1図を別紙の通り訂正する。
(2)第6図を別紙の通り訂正する。
7、添付書類の目録 (1)補正後の特許請求の範囲の全文を記載した書面 
                     1通(2
)訂正図面              1通訂正後の
特許請求範囲の全文を記載した書面2、特許請求の範囲 (1)データを記憶する第1のメモリと、命令を記憶す
る第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
1のメモリに記憶されているデータm演算を行うマイク
ロプロセソ サと、 前記マイクロプロセソサと前記第1のメモリ及び前記第
2のメモリとの間に接続され、実行されるべき命令の前
記第2のメモリにおけるアドレスと演算対象のデータの
前記第1のメモリにおけるアドレスとを転送するアドレ
スバスと、 前記マイクロプロセソサと前記第1のメモリとの間に接
続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセソサと前記第2のメモリとの間に接
続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスを通じて
転送されるデータのアドレスが有効であることを前記第
1のメモリに通知するデータアドレス有効信号と、 前記マイクロ10セソサから前記アドレスバスを通して
転送される命令のアドレスが有効であることを前記第2
のメモリに通知する命令アドレス有効信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
ータバスを通じて転送されるデータの転送終了を通知す
るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
令バスを通じて転送される命令の転送終了を通知する命
令転送終了信号とを備え、 前記マイクロプロセッサが前記データアドレス有効信号
をアサートした後、前記第1のメモリが前記データ転送
終了信号をアサートする以前に、前記マイクロプロセッ
サが前記命令アドレス有効信号をアサートすべくなしで
あることを特徴とするデータ処理装置。
(2)データを記憶する第1のメモリと、命令を記憶す
る第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
1のメモリに記憶されているデータW−演算を行うマイ
クロプロセッ サと、 前記マイクロプロセッサと前記第1のメモリ及び前記第
2のメモリとの間に接続され、実行されるべき命令の前
記第2のメモリにおけるアドレスと演算対象のデータの
前記第1のメモリにおけるアドレスとを転送するアドレ
スバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスを通じて
転送されるデータのアドレスが有効であることを前記第
1のメモリに通知するデータアドレス有効信号と、 前記マイクロプロセッサから前記アドレスバスを通じて
転送される命令のアドレスが有効であることを前記第2
のメモリに通知する命令アドレス有効信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
ータバスを通して転送されるデータの転送終了を通知す
るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
令バスを通して転送される命令の転送終了を通知する命
令転送終了信号とを備え、 前記マイクロプロセッサが前記命令アドレス有効信号を
アサートシた後、前記第2のメモリが前記命令転送終了
信号をアサートする以前に、前記マイクロプロセッサが
前記データアドレス有効信号をアサートすべくなしであ
ることを特徴とするデータ処理装置。
(3)データを記憶する第1のメモリと、命令を記憶す
る第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
1のメモリに記憶されているデータ(1υ4レヱー演算
を行うマイクロプロセッサと、 前記マイクロプロセッサと前記第1のメモリ及び前記第
2のメモリとの間に接続され、実行されるべき命令の前
記第2のメモリにおけるアドレスと演算対象のデータの
前記第1のメモリにおけるアドレスとを転送するアドレ
スバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスへ出力さ
れるアドレスがデータのアドレスであるか命令のアドレ
スであるかを前記第1のメモリ及び前記第2のメモリに
通知するアクセスタイプ識別信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
ータバスを通して転送されるデータの転送終了を通知す
るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
令バスを通じて転送される命令の転送終了を通知する命
令転送終了信号とを備え、 前記マイクロプロセッサが前記アクセスタイプ識別信号
によりデータのアドレスを出力していることを示して前
記アドレスバスヘデータのアドレスを出力した後、前記
第1のメモリが前記データ転送終了信号をアサートする
以前に、前記マイクロプロセンサが前記アクセスタイプ
識別信号により命令アクセスであることを示して前記ア
ドレスバスへ命令のアドレスを出力すべくなしであるこ
とを特徴とするデータ処理装置。
(4)データを記憶する第1のメモリと、命令を記憶す
る第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
1のメモリに記憶されているデータ玉1す4レヱ□演算
を行うマイクロプロセッサと、 前記、マイクロプロセッサと前記第1のメモリ及び前記
第2のメモリとの間に接続され、実行されるべき命令の
前記第2のメモリにおけるアドレスと演算対象のデータ
の前記第1のメモリにおけるアドレスとを転送するアド
レスバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスへ出力さ
れるアドレスがデータのアドレスであるか命令のアドレ
スであるかを前記第1のメモリ及び前記第2のメモリに
通知するアクセスタイプ識別信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
ータバスを通じて転送されるデータの転送終了を通知す
るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
令バスを通じて転送される命令の転送終了を通知する命
令転送終了信号とを備え、 前記マイクロプロセッサが前記アクセスタイプ識別信号
により命令のアドレスを出力していることを示して前記
アドレスバスへ命令のアドレスを出力した後、前記第2
のメモリが前記全量転送終了信号をアサートする以前に
、前記マイクロプロセンサが前記アクセスタイプ識別信
号によりデータアクセスであることを示して前記アドレ
スバスヘデータのアドレスを出力すべくなしであること
を特徴とするデータ処理装置。
(5)実行されるべき命令のアドレスと演算対象のデー
タのアドレスとを転送するアドレスバスと、 演算対象のデータを人出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
スバスへ出力されたデータのアドレスが有効であること
を示すデータアドレス有効信号と、 前記アドレスバスへ出力された命令のアドレスが有効で
あることを示す命令アドレス有効信号と、 前記データバスを通してのデータの転送期間であるデー
タアクセスサイクルを終了させるデータ転送終了信号と
、 前記命令バスを通しての命令の入力期間である命令アク
セスサイクルを終了させる命令転送終了信号とを備え、 前記データアドレス有効信号をアサートした後、前記デ
ータ転送終了信号がアサートされる以前に、前記命令ア
ドレス有効信号をアサ−1・ずべくなしであることを特
徴とするマイクロプロセソサ。
(6)実行されるべき命令のアドレスと演算対象のデー
タのアドレスとを転送するアドレスバスと、 演算対象のデータを人出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
スバスへ出力されたデータのアドレスが有効であること
を示すデータアドレス有効信号と、 前記アドレスバスへ出力された命令のアドレスが有効で
あることを示す命令アドレス有効信号と、 前記データバスを通じてのデータの五立−期間であるデ
ータアクセスサイクルを終了ざ−Uるデータ転送終了信
号と、 前記命令バスを通じての命令の入力期間である命令アク
セスサイクルを終了させる命令転送終了信号とを備え、 前記命令アドレス有効信号をアサートシた後、前記命令
転送終了信号がアサ−1・される以前に、前記データア
ドレス有効信号をアザ−1〜すべくなしであることを特
徴とするマイクロプロセソサ。
(7)実行されるべき命令のアドレスと演算対象のデー
タのアドレスとを転送するアドレスバスと、 演算対象のデータを入出力するデータバスと、 実行されるべき命令を人力する命令ハスと、前記アドレ
スバスへ出力されるアドレスがデータのアドレスである
か命令のアドレスであるかを示すアクセスタイプ識別信
号と、前記データバスを通してのデータのに送期間であ
るデータアクセスサイクルを終了させるデータ転送終了
信号と、 前記命令バスをi[1シての命令の入力期間である命令
アクセスサイクルを終了させる命令転送終了信号とを備
え、 前記アクセスタイプ識別信号によりデータのアドレスを
出力していることを示し′ζ前記アドレスバスヘデータ
のアドレスを出力した後、前記データ転送終了信号がア
サ−1・される以前に、前記アクセスタイプ識別信号に
より命令のアドレスを出力していることを示して前記ア
ドレスバスへ命令のアドレスを出力すべくなしであるこ
とを特徴とするマイクロプロセソサ。
(8)実行されるべき命令のアドレスと演算対象のデー
タのアドレスとを転送するアドレスバスと、 演算対象のデータを人出力するデータバスと、 大行されるべき命令を入力する命令ハスと、前記アドレ
スバスへ出力されるアドレスがデータのアドレスである
か命令のアドレスであるかを示すアクセスタイプ識別信
号と、前記データバスを通してのデータの斬廷−期間で
あるデータアクセスサイクルを終了させるデータ転送終
了信号と、 前記命令バスを通しての命令の人力期間である命令アク
セスサイクルを終了させる命令転送終了信号とを備え、 前記アクセスタイプ識別信号により命令のアドレスを出
力していることを示して前記アドレスバスへ命令のアド
レスを出力した後、前記命令転送終了信号がアサ−1・
される以前に、前記アクセスタイプ識別信号によりデー
タのアドレスを出力していることを示して前記アドレス
ハスヘデータのアドレスを出力すべくなしであることを
特徴とするマイクロプロセソサ。

Claims (8)

    【特許請求の範囲】
  1. (1)データを記憶する第1のメモリと、 命令を記憶する第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
    1のメモリに記憶されているデータ間の演算を行うマイ
    クロプロセッサと、前記マイクロプロセッサと前記第1
    のメモリ及び前記第2のメモリとの間に接続され、実行
    されるべき命令の前記第2のメモリにおけるアドレスと
    演算対象のデータの前記第1のメモリにおけるアドレス
    とを転送するアドレスバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
    続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
    続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスを通じて
    転送されるデータのアドレスが有効であることを前記第
    1のメモリに通知するデータアドレス有効信号と、 前記マイクロプロセッサから前記アドレスバスを通じて
    転送される命令のアドレスが有効であることを前記第2
    のメモリに通知する命令アドレス有効信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
    ータバスを通じて転送されるデータの転送終了を通知す
    るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
    令バスを通じて転送される命令の転送終了を通知する命
    令転送終了信号とを備え、 前記マイクロプロセッサが前記データアドレス有効信号
    をアサートした後、前記第1のメモリが前記データ転送
    終了信号をアサートする以前に、前記マイクロプロセッ
    サが前記命令アドレス有効信号をアサートすべくなして
    あることを特徴とするデータ処理装置。
  2. (2)データを記憶する第1のメモリと、 命令を記憶する第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
    1のメモリに記憶されているデータ間の演算を行うマイ
    クロプロセッサと、前記マイクロプロセッサと前記第1
    のメモリ及び前記第2のメモリとの間に接続され、実行
    されるべき命令の前記第2のメモリにおけるアドレスと
    演算対象のデータの前記第1のメモリにおけるアドレス
    とを転送するアドレスバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
    続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
    続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスを通じて
    転送されるデータのアドレスが有効であることを前記第
    1のメモリに通知するデータアドレス有効信号と、 前記マイクロプロセッサから前記アトレスバスを通して
    転送される命令のアドレスが有効であることを前記第2
    のメモリに通知する命令アドレス有効信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
    ータバスを通じて転送されるデータの転送終了を通知す
    るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
    令バスを通じて転送される命令の転送終了を通知する命
    令転送終了信号とを備え、 前記マイクロプロセッサが前記命令アドレス有効信号を
    アサートした後、前記第2のメモリが前記命令転送終了
    信号をアサートする以前に、前記マイクロプロセッサが
    前記データアドレス有効信号をアサートすべくなしてあ
    ることを特徴とするデータ処理装置。
  3. (3)データを記憶する第1のメモリと、 命令を記憶する第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
    1のメモリに記憶されているデータ間の演算を行うマイ
    クロプロセッサと、前記マイクロプロセッサと前記第1
    のメモリ及び前記第2のメモリとの間に接続され、実行
    されるべき命令の前記第2のメモリにおけるアドレスと
    演算対象のデータの前記第1のメモリにおけるアドレス
    とを転送するアドレスバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
    続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
    続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスへ出力さ
    れるアドレスがデータのアドレスであるか命令のアドレ
    スであるかを前記第1のメモリ及び前記第2のメモリに
    通知するアクセスタイプ識別信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
    ータバスを通じて転送されるデータの転送終了を通知す
    るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
    令バスを通じて転送される命令の転送終了を通知する命
    令転送終了信号とを備え、 前記マイクロプロセッサ号が前記アクセスタイプ識別信
    号によりデータのアドレスを出力していることを示して
    前記アドレスバスへデータのアドレスを出力した後、前
    記第1のメモリが前記データ転送終了信号をアサートす
    る以前に、前記マイクロプロセッサが前記アクセスタイ
    プ識別信号により命令アクセスであることを示して前記
    アドレスバスへ命令のアドレスを出力すべくなしてある
    ことを特徴とするデータ処理装置。
  4. (4)データを記憶する第1のメモリと、 命令を記憶する第2のメモリと、 前記第2のメモリに記憶されている命令に従って前記第
    1のメモリに記憶されているデータ間の演算を行うマイ
    クロプロセッサと、前記マイクロプロセッサと前記第1
    のメモリ及び前記第2のメモリとの間に接続され、実行
    されるべき命令の前記第2のメモリにおけるアドレスと
    演算対象のデータの前記第1のメモリにおけるアドレス
    とを転送するアドレスバスと、 前記マイクロプロセッサと前記第1のメモリとの間に接
    続され、演算対象のデータを転送するデータバスと、 前記マイクロプロセッサと前記第2のメモリとの間に接
    続され、実行されるべき命令を転送する命令バスと、 前記マイクロプロセッサから前記アドレスバスへ出力さ
    れるアドレスがデータのアドレスであるか命令のアドレ
    スであるかを前記第1のメモリ及び前記第2のメモリに
    通知するアクセスタイプ識別信号と、 前記第1のメモリから前記マイクロプロセッサへ前記デ
    ータバスを通じて転送されるデータの転送終了を通知す
    るデータ転送終了信号と、 前記第2のメモリから前記マイクロプロセッサへ前記命
    令バスを通じて転送される命令の転送終了を通知する命
    令転送終了信号とを備え、 前記マイクロプロセッサが前記アクセスタイプ識別信号
    により命令のアドレスを出力していることを示して前記
    アドレスバスへ命令のアドレスを出力した後、前記第2
    のメモリが前記データ転送終了信号をアサートする以前
    に、前記マイクロプロセッサが前記アクセスタイプ識別
    信号によりデータアクセスであることを示して前記アド
    レスバスへデータのアドレスを出力すべくなしてあるこ
    とを特徴とするデータ処理装置。
  5. (5)実行されるべき命令のアドレスと演算対象のデー
    タのアドレスとを転送するアドレスバスと、 演算対象のデータを入出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
    スバスへ出力されたデータのア ドレスが有効であることを示すデータアドレス有効信号
    と、 前記アドレスバスへ出力された命令のアドレスが有効で
    あることを示す命令アドレス有効信号と、 前記データバスを通じてのデータの入力期間であるデー
    タアクセスサイクルを終了させるデータ転送終了信号と
    、 前記命令バスを通じての命令の入力期間である命令アク
    セスサイクルを終了させる命令転送終了信号とを備え、 前記データアドレス有効信号をアサートした後、前記デ
    ータ転送終了信号がアサートされる以前に、前記命令ア
    ドレス有効信号をアサートすべくなしてあることを特徴
    とするマイクロプロセッサ。
  6. (6)実行されるべき命令のアドレスと演算対象のデー
    タのアドレスとを転送するアドレスバスと、 演算対象のデータを入出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
    スバスへ出力されたデータのア ドレスが有効であることを示すデータアドレス有効信号
    と、 前記アドレスバスへ出力された命令のアドレスが有効で
    あることを示す命令アドレス有効信号と、 前記データバスを通じてのデータの入力期間であるデー
    タアクセスサイクルを終了させるデータ転送終了信号と
    、 前記命令バスを通じての命令の入力期間である命令アク
    セスサイクルを終了させる命令転送終了信号とを備え、 前記命令アドレス有効信号をアサートした後、前記命令
    転送終了信号がアサートされる以前に、前記データアド
    レス有効信号をアサートすべくなしてあることを特徴と
    するマイクロプロセッサ。
  7. (7)実行されるべき命令のアドレスと演算対象のデー
    タのアドレスとを転送するアドレスバスと、 演算対象のデータを入出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
    スバスへ出力されるアドレスが データのアドレスであるか命令のアドレスであるかを示
    すアクセスタイプ識別信号と、 前記データバスを通じてのデータの入力期間であるデー
    タアクセスサイクルを終了させるデータ転送終了信号と
    、 前記命令バスを通じての命令の入力期間である命令アク
    セスサイクルを終了させる命令転送終了信号とを備え、 前記アクセスタイプ識別信号によりデータのアドレスを
    出力していることを示して前記アドレスバスへデータの
    アドレスを出力した後、前記データ転送終了信号がアサ
    ートされる以前に、前記アクセスタイプ識別信号により
    命令のアドレスを出力していることを示して前記アドレ
    スバスへ命令のアドレスを出力すべくなしてあることを
    特徴とするマイクロプロセッサ。
  8. (8)実行されるべき命令のアドレスと演算対象のデー
    タのアドレスとを転送するアドレスバスと、 演算対象のデータを入出力するデータバスと、 実行されるべき命令を入力する命令バスと、前記アドレ
    スバスへ出力されるアドレスが データのアドレスであるか命令のアドレスであるかを示
    すアクセスタイプ識別信号と、 前記データバスを通じてのデータの入力期間であるデー
    タアクセスサイクルを終了させるデータ転送終了信号と
    、 前記命令バスを通じての命令の入力期間である命令アク
    セスサイクルを終了させる命令転送終了信号とを備え、 前記アクセスタイプ識別信号により命令のアドレスを出
    力していることを示して前記アドレスバスへ命令のアド
    レスを出力した後、前記命令転送終了信号がアサートさ
    れる以前に、前記アクセスタイプ識別信号によりデータ
    のアドレスを出力していることを示して前記アドレスバ
    スへデータのアドレスを出力すべくなしてあることを特
    徴とするマイクロプロセッサ。
JP1174883A 1989-07-05 1989-07-05 データ処理装置及びマイクロプロセッサ Pending JPH0338725A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1174883A JPH0338725A (ja) 1989-07-05 1989-07-05 データ処理装置及びマイクロプロセッサ
US08/113,509 US6205536B1 (en) 1989-07-05 1993-08-27 Combined Instruction and address caching system using independent buses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1174883A JPH0338725A (ja) 1989-07-05 1989-07-05 データ処理装置及びマイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH0338725A true JPH0338725A (ja) 1991-02-19

Family

ID=15986333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1174883A Pending JPH0338725A (ja) 1989-07-05 1989-07-05 データ処理装置及びマイクロプロセッサ

Country Status (2)

Country Link
US (1) US6205536B1 (ja)
JP (1) JPH0338725A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185690B2 (en) 2002-11-28 2012-05-22 Renesas Electronics Corporation Memory module, memory system, and information device

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7117275B1 (en) * 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7003601B1 (en) * 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US7124281B1 (en) * 2000-09-21 2006-10-17 Freescale Semiconductor, Inc. Processing system having sequential address indicator signals
US6912173B2 (en) * 2001-06-29 2005-06-28 Broadcom Corporation Method and system for fast memory access
US7130963B2 (en) * 2003-07-16 2006-10-31 International Business Machines Corp. System and method for instruction memory storage and processing based on backwards branch control information
CN100545804C (zh) * 2003-08-18 2009-09-30 上海海尔集成电路有限公司 一种基于cisc结构的微控制器及其指令集的实现方法
JP4105102B2 (ja) * 2004-01-09 2008-06-25 株式会社東芝 パイプラインプロセッサ生成装置及びパイプラインプロセッサ生成方法
CN100354849C (zh) * 2004-05-14 2007-12-12 凌阳科技股份有限公司 加强型可扩充分时总线架构
FR2884629B1 (fr) * 2005-04-15 2007-06-22 Atmel Corp Dispositif d'amelioration de la bande passante pour des circuits munis de controleurs memoires multiples
US7430642B2 (en) * 2005-06-10 2008-09-30 Freescale Semiconductor, Inc. System and method for unified cache access using sequential instruction information
CN101178644B (zh) * 2006-11-10 2012-01-25 上海海尔集成电路有限公司 一种基于复杂指令集计算机结构的微处理器架构
US20080162879A1 (en) * 2006-12-29 2008-07-03 Hong Jiang Methods and apparatuses for aligning and/or executing instructions
US20080162522A1 (en) * 2006-12-29 2008-07-03 Guei-Yuan Lueh Methods and apparatuses for compaction and/or decompaction
KR20220034542A (ko) 2020-09-11 2022-03-18 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4992934A (en) * 1986-12-15 1991-02-12 United Technologies Corporation Reduced instruction set computing apparatus and methods
US4851990A (en) * 1987-02-09 1989-07-25 Advanced Micro Devices, Inc. High performance processor interface between a single chip processor and off chip memory means having a dedicated and shared bus structure
JPS6414648A (en) * 1987-07-08 1989-01-18 Mitsubishi Electric Corp Arithmetic processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8185690B2 (en) 2002-11-28 2012-05-22 Renesas Electronics Corporation Memory module, memory system, and information device

Also Published As

Publication number Publication date
US6205536B1 (en) 2001-03-20

Similar Documents

Publication Publication Date Title
JPH0338725A (ja) データ処理装置及びマイクロプロセッサ
US5717946A (en) Data processor
JP2616182B2 (ja) データ処理装置
US5293592A (en) Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US5218711A (en) Microprocessor having program counter registers for its coprocessors
JPH0766324B2 (ja) データ処理装置
JP2507638B2 (ja) デ―タ処理装置
JPH02173823A (ja) データ処理装置
JP2581236B2 (ja) データ処理装置
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
WO1990008355A1 (en) Microprocessor
JPH01214932A (ja) データ処理装置
JPH0391029A (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JPH0769806B2 (ja) データ処理装置
US5269008A (en) Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
US20060095723A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP2696578B2 (ja) データ処理装置
JPH0218621A (ja) データ処理装置
JPH0298734A (ja) データ処理装置
JPH0225932A (ja) データ処理装置
JPH0769804B2 (ja) データ処理装置
JPH02277130A (ja) マイクロプロセッサ
JPH0769802B2 (ja) データ処理装置