JPH1049366A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH1049366A
JPH1049366A JP20022396A JP20022396A JPH1049366A JP H1049366 A JPH1049366 A JP H1049366A JP 20022396 A JP20022396 A JP 20022396A JP 20022396 A JP20022396 A JP 20022396A JP H1049366 A JPH1049366 A JP H1049366A
Authority
JP
Japan
Prior art keywords
instruction
data
output
input
bus
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
JP20022396A
Other languages
English (en)
Inventor
Hiroshi Koya
啓 小屋
Masaru Goto
後藤  勝
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP20022396A priority Critical patent/JPH1049366A/ja
Publication of JPH1049366A publication Critical patent/JPH1049366A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 命令/データバス分離構造を有していても、
命令用記憶回路内の値を処理対象のデータとしてCPU
に取り込むことができるようにする。 【解決手段】 データ出力用レジスタ11は、データ用
バス端子31と命令用バス端子32とに接続されてい
る。マルチプレクサ(MPX)21の入力側端子には、
データ用バス端子31と命令用バス端子32が接続され
ている。MPX21の出力側端子は、データ入力用レジ
スタ12に接続されている。マルチプレクサ(MPX)
22の入力側端子には、オペランドアドレス用レジスタ
14とプログラムカウンタ15とが接続されている。M
PX22の出力側端子は、命令用アドレスバス端子34
に接続されている。MPX21,22は、アクセス先切
換信号により制御されている。そして、CPUはフェッ
チした命令をデコードし、アクセスすべきデータのアド
レスに応じてアクセス先切換信号を出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は各種データ処理を行
うマイクロコンピュータに関し、特に命令用のバスとデ
ータ用のバスとがそれぞれ独立した構造を有するマイク
ロコンピュータに関する。
【0002】
【従来の技術】一般的なマイクロコンピュータの中央処
理装置(以下、CPUと呼ぶ)は、命令とデータとを格
納した記憶回路に対し、共通のアドレスバスによってア
クセスを行っている。このようなマイクロコンピュータ
では、CPUと記憶回路との間で大量の連続したデータ
をやり取りすると、データの授受のためにデータバスが
占有され、命令のフェッチが滞ってしまう。これは、シ
ステム全体の命令処理性能を向上させるうえで、障害と
なる。
【0003】そこで、データのアクセス状況に関係なく
命令をフェッチできるような構造として、データと命令
とをそれぞれ独立のバスで入出力するようにした構造が
考えられている。この場合、中央処理装置と記憶回路と
の間には、データの格納領域に対するアドレスバス(以
下、データ用アドレスバスと呼ぶ)、命令の格納領域に
対するアドレスバス(以下、命令用アドレスバスと呼
ぶ)、データ転送用のバス(以下、データ用バスと呼
ぶ)、及び命令転送用のバス(以下、命令用バスと呼
ぶ)が設けられる。この構成を以下に説明する。
【0004】図3は従来のデータバスと命令バスとが独
立構造のマイクロコンピュータのバス制御回路を示す図
である。図中左側に示しているのは、CPUの入出力に
用いられる各種レジスタである。図中右側に示している
のは、記憶回路との間のバスに接続されるべき入出力端
子である。
【0005】データ出力用レジスタ41は、入出力双方
向バッファ51内の出力バッファ51aを介してデータ
用バス端子61に接続されている。また、データ用バス
端子61は、入出力双方向バッファ51内の入力バッフ
ァ51bを介して、データ入力用レジスタ42に接続さ
れている。入出力双方向バッファ51は、CPUから出
力されるデータリード(DRD)/データライト(DW
R)信号により、入出力が制御されている。命令用バス
端子62は、入力バッファ52を介して命令入力用レジ
スタ43に接続されている。入力バッファ52は、CP
Uから出力される負論理の命令リード(iRD)信号に
より制御されている。オペランドアドレス用レジスタ4
4は、出力バッファ53を介してデータ用アドレスバス
端子63に接続されている。プログラムカウンタ45
は、出力バッファ54を介して命令用アドレスバス端子
64に接続されている。
【0006】そして、マイクロコンピュータに実行させ
るべきプログラムの命令コードが格納されたメモリ(以
下、命令用記憶回路と呼ぶ)を命令用記憶空間に配置
し、オペランドとして使用されるデータを格納するメモ
リ(以下、データ用記憶回路と呼ぶ)をデータ用記憶空
間に配置する。具体的には、データ用記憶回路のアドレ
ス入力端子をデータ用アドレスバス端子63に接続し、
データ入出力端子をデータ用バス端子61に接続する。
同様に、命令用記憶回路のアドレス入力端子を命令用ア
ドレスバス端子64に接続し、データ入出力端子を命令
用バス端子62に接続する。
【0007】このようなバス制御回路であれば、CPU
とデータ用記憶回路との間のデータの入出力は、データ
用バス端子61とデータ用アドレスバス端子63とを用
いて行われ、命令用記憶回路からの命令のフェッチは、
命令用バス端子62と命令用アドレスバス端子64とを
用いて行われる。
【0008】これにより、CPUとデータ用記憶回路と
の間でデータの授受の最中であっても、命令のフェッチ
を命令用バスを介して継続して行うことができる。その
結果、高い命令処理性能が得られる。
【0009】
【発明が解決しようとする課題】しかし、従来のデータ
バスと命令バスとが独立構造のマイクロコンピュータで
は、CPUに処置対象のデータとして取り込めるのは、
データ用記憶回路内の値に限られ、命令用記憶回路内の
値を処理対象のデータとしてCPUに取り込むことはで
きないという問題点があった。
【0010】例えば、マイクロコンピュータに実行させ
る処理内容によっては、命令コードを処理対象のデータ
として取り扱いたい場合がある。この場合、命令コード
をデータ入力用レジスタに取り込まなければならない。
ところが、従来のようなバス制御回路では、命令用記憶
回路とデータ入力用レジスタとが接続されていないた
め、命令コードをデータ入力用レジスタに取り込むこと
ができない。
【0011】なお、命令コードを格納した読み出し専用
の記憶回路をデータ用メモリ空間に配置することによ
り、命令コードをデータ入力用レジスタに取り込むこと
も可能である。但し、この場合、必要なデータの記憶容
量が大きくなることから、マイクロコンピュータを含む
システム全体のコストが高くなってしまい、実用的では
ない。
【0012】本発明はこのような点に鑑みてなされたも
のであり、命令/データバス分離構造を有していても、
命令用記憶回路内の値を処理対象のデータとしてCPU
に取り込むことができるマイクロコンピュータを提供す
ることを目的とする。
【0013】
【課題を解決するための手段】本発明では上記課題を解
決するために、命令とデータとがそれぞれ独立したバス
で入出力されるマイクロコンピュータにおいて、フェッ
チした命令からデータのアクセス先を判断し、アクセス
先が命令用記憶空間内である場合には、アクセス先切換
信号を出力する命令デコード手段と、前記アクセス先切
換信号が出力されると、中央処理装置が出力するオペラ
ンドアドレスを、命令用記憶空間に配置された命令用記
憶回路へ出力するアドレス出力先切換手段と、前記アク
セス先切換信号が出力されると、前記中央処理装置の処
理対象となるデータを入出力すべき入出力回路と、前記
命令用記憶回路のデータ入出力端子とを接続する入出力
データ切換手段と、を有することを特徴とするマイクロ
コンピュータが提供される。
【0014】このような構成のマイクロコンピュータに
よれば、命令用記憶空間を指定したメモリアクセス命令
が入力されると、命令デコード手段がアクセス先切換信
号を出力する。すると、アドレス出力先切換手段がオペ
ランドアドレスを命令用記憶回路へ出力し、入出力デー
タ切換手段が、中央処理装置側の入出力回路と命令用記
憶回路のデータ入出力端子とを接続する。これにより、
命令用記憶回路内の値を中央処理装置側の入出力回路へ
入力したり、中央処理装置側の入出力回路の値を命令用
記憶回路に格納したりすることができる。
【0015】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は本発明のマイクロコンピュ
ータのバス制御回路を示す図である。図中左側に示して
いるのは、CPUの入出力に用いられる各種レジスタで
ある。図中右側に示しているのは、命令用記憶回路とデ
ータ用記憶回路とに繋がるべきバスとの接続端子であ
る。
【0016】CPU側のデータ出力用レジスタ11は、
入出力双方向バッファ23内の出力バッファ23aを介
してデータ用バス端子31に接続されているとともに、
入出力双方向バッファ24内の出力バッファ24aを介
して、命令用バス端子32に接続されている。
【0017】データ用バス端子31は、入出力双方向バ
ッファ23内の入力バッファ23bを介してマルチプレ
クサ21の入力側端子に接続されている。命令用バス端
子32は、入出力双方向バッファ24内の入力バッファ
24bを介して、マルチプレクサ21の入力側端子と命
令入力用レジスタ13とに接続されている。マルチプレ
クサ21の出力側端子はデータ入力用レジスタ12に接
続されている。このマルチプレクサ21はアクセス先切
換信号によって制御されており、アクセス先切換信号が
ローレベルの時には入力バッファ23bからの信号を出
力し、アクセス先切換信号がハイレベルの時には入力バ
ッファ24bからの信号を出力する。
【0018】入出力双方向バッファ23は、データリー
ド(DRD)/データライト(DWR)信号により制御
されている。具体的には、DRD/DWR信号がローレ
ベルのときにデータ用バスの信号をCPU内部に取り込
み、ハイレベルのときにデータ出力用レジスタ11の信
号を出力する。但し、DRD/DWR信号は、CPUか
らのアクセスがリード要求の場合は、データリード信号
のみが有効な信号である。そのため、リードサイクルを
説明する場合には、DRD/DWR信号を負論理のデー
タリード(DRD)信号として取り扱う。また、CPU
からのアクセスがライト要求の場合は、データライト信
号のみが有効な信号となる。そのため、ライトサイクル
を説明する場合には、DRD/DWR信号を正論理のデ
ータライト(iWR)信号として取り扱う。
【0019】入出力双方向バッファ24は、命令リード
(iRD)/命令ライト(iWR)信号により制御され
ている。具体的には、iRD/iWR信号がローレベル
のときに命令用バスの信号をCPU内部に取り込み、ハ
イレベルのときにデータ出力用レジスタ11の信号を出
力する。但し、iRD/iWR信号は、CPUからのア
クセスがリード要求の場合は、命令リード信号のみが有
効な信号である。そのため、リードサイクルを説明する
場合には、iRD/iWR信号を負論理の命令リード
(iRD)信号として取り扱う。また、CPUからのア
クセスがライト要求の場合は、命令ライト信号のみが有
効な信号となる。そのため、ライトサイクルを説明する
場合には、iRD/iWR信号を正論理の命令ライト
(iWR)信号として取り扱う。
【0020】オペランドアドレス用レジスタ14は、出
力バッファ25を介してデータ用アドレスバス端子33
に接続されているとともに、マルチプレクサ22の入力
側端子に接続されている。プログラムカウンタ15は、
マルチプレクサ22の入力側端子に接続されている。マ
ルチプレクサ22の出力側端子は、出力バッファ26を
介して命令用アドレスバス端子34に接続されている。
このマルチプレクサ22はアクセス先切換信号によって
制御されており、アクセス先切換信号がローレベルの時
にはオペランドアドレス用レジスタ14からの信号を出
力し、アクセス先切換信号がハイレベルの時にはプログ
ラムカウンタ15からの信号を出力する。
【0021】このようなバス制御回路を有するマイクロ
コンピュータに、プログラムを格納している命令用記憶
回路と、各種データを格納するデータ用記憶回路とを接
続する。具体的には、命令用記憶回路のアドレス入力端
子を、命令用アドレスバスを介して命令用アドレスバス
端子34に接続し、命令用記憶回路のデータ入出力端子
を、命令用バスを介して命令用バス端子32に接続す
る。同様に、データ用記憶回路のアドレス入力端子を、
データ用アドレスバスを介してデータ用アドレスバス端
子33に接続し、データ用記憶回路のデータ入出力端子
を、データ用バスを介してデータ用バス端子31に接続
する。
【0022】このように命令用記憶回路とデータ用記憶
回路とを接続した後、命令用記憶回路に格納されたプロ
グラムをマイクロコンピュータにおいて実行する。一般
的にCPUは、命令のフェッチ/デコード→演算→メモ
リアクセス→ライトバックの順でパイプラインで処理を
実行する。この処理の詳細を以下に説明する。
【0023】まず、プログラムカウンタ15に設定され
ているアドレスが、マルチプレクサ22を介して命令用
アドレスバス端子34から出力される。すると、命令用
記憶回路から、該当するアドレスに格納されている命令
が出力される。その命令は、iRD信号に同期して命令
入力用レジスタ13内に取り込まれる。CPUは、命令
入力用レジスタ13に格納された命令をデコードする。
【0024】CPUは、デコードした情報から、オペラ
ンドを取得するためのアクセス先がデータ用記憶回路で
あるか命令用記憶回路であるかを判断する。アクセス先
がデータ用記憶回路であれば、CPU内部でオペランド
アドレスを生成し、そのオペランドアドレスをオペラン
ドアドレス用レジスタ14に格納する。このとき、アク
セス先切換信号はローレベルのままである。また、CP
Uは、そのアクセスがリード要求であるかライト要求で
あるかも同時に判断している。
【0025】データ用記憶回路へのアクセスがリード要
求であれば、オペランドアドレス用レジスタ14内の値
が、データ用アドレスバス端子33からデータ用アドレ
スバス上に出力される。データ用アドレスバスに出力さ
れたアドレスは、データ用記憶回路のアドレス入力端子
に入力される。そして、データ用記憶回路内の該当する
アドレスからデータが取り出され、データ用バスに出力
される。データ用バスに出力されたデータは、データ用
バス端子31から入力され、DRD信号に同期してデー
タ入力用レジスタ12に格納される。データ入力用レジ
スタ12に格納されたデータは、所定のタイミングでC
PU内部の他のレジスタに書き戻される。
【0026】データ用記憶回路へのアクセスがライト要
求であれば、オペランドアドレス用レジスタ14内の値
が、DWR信号に同期してデータ用アドレスバス上に出
力されるとともに、データ出力用レジスタ11の値がデ
ータ用バス端子31を介してデータ用バスに出力され
る。そして、データ用記憶回路内の該当するアドレス
に、データ用バスに出力されたデータが格納される。
【0027】通常は、データ用記憶回路へのアクセスが
実行されている間に、次の命令のアドレスがプログラム
カウンタ15から命令用アドレスバスに出力され、フェ
ッチされた命令が順次処理される。そして、オペランド
アドレスとして、命令用記憶回路のアドレスを指定した
命令があると、命令用記憶回路内の値を処理対象データ
としてアクセスするための動作に移行する。以下に、命
令用記憶回路のメモリ空間の値を処理対象データとして
アクセスするための動作を説明する。
【0028】フェッチした命令をデコードした際に、命
令用記憶回路のメモリ空間を対象とするメモリアクセス
命令であると判明すると、CPUは次の命令のフェッチ
を停止する。そして、アクセス先切換信号を出力する
(アクセス先切換信号の出力をハイレベルにする)。こ
れにより、オペランドアドレス用レジスタ14の値が、
命令アドレスバスに出力される。それと同時に、命令バ
スにリード/ライトのバスサイクルが起動される。
【0029】命令用記憶回路に対するアクセスがリード
要求であれば、命令用記憶回路内の命令が命令用バスに
出力される。その命令は、命令用バス端子32からマイ
クロコンピュータ内に取り込まれ、iRD信号に同期し
て、データ入力用レジスタ12に格納される。データ入
力用レジスタ12に格納された命令の値は、以後の処理
においてオペランドの値として取り扱われる。
【0030】命令用記憶回路に対するアクセスがライト
要求であれば、データ出力用レジスタ11の値が、iW
R信号に同期して命令用バスへ出力される。命令用バス
に出力されたデータは、命令用記憶回路に格納される。
【0031】図2は本発明のマイクロコンピュータの動
作を示すタイミングチャートである。このタイミングチ
ャートは、上からクロック信号、命令用アドレスバス、
命令用バス、命令リード信号、デコード処理、メモリア
クセスの順で、各信号の変化が示されている。ここで、
デコード処理は、CPUがデコード中の命令の名前を示
している。また、メモリアクセスは、実行中のメモリア
クセスサイクルを要求した命令の名前を示している。こ
の例では、命令用記憶回路の「命令アドレス1」に格納
された「命令1」が、命令記憶空間を対象とするメモリ
アクセス命令である。
【0032】クロックの周期T1で、命令用アドレスバ
スに「命令アドレス1」が出力される。すると、命令用
記憶回路により、命令用バス上に「命令1」が出力され
る。この「命令1」は、命令リード信号に同期して命令
入力用レジスタ13に格納される。
【0033】クロックの周期T2で、命令入力用レジス
タ13に格納された「命令1」がCPUによってデコー
ドされ、「命令1」が命令空間を対象とするメモリアク
セス命令であることが判明する。同時に、命令用アドレ
スバスには「命令アドレス2」が出力される。
【0034】クロックの周期T3で、「命令1」に従っ
たメモリアクセスが開始される。この段階で、CPUは
アクセス先切換信号を出力する。このメモリアクセスが
命令空間を対象としているため、プログラムカウンタの
値が「命令アドレス3」の値に保たれる。また、この時
点で命令用バスに出力されている「命令3」は、命令入
力用レジスタに格納されることなく捨てられる。
【0035】クロックの周期T4で、命令メモリ空間内
のアドレスを示した「データアドレス」が命令用アドレ
スバスに出力される。そして、命令用記憶回路内の該当
するアドレスの値が「データ」として、命令用バスに出
力される。命令用バスに出力された「データ」は、命令
リード信号に同期して、データ入力用レジスタに格納さ
れる。
【0036】クロックの周期T5で、命令用アドレスバ
スに出力される信号がプログラムカウンタの値に切り換
えられる。この時点では、プログラムカウンタの値は
「命令アドレス3」であるため、「命令アドレス3」の
フェッチ処理が行われる。
【0037】このようにして、命令用記憶回路に格納さ
れている値に対し、処理対象のデータとしてアクセスす
ることができる。しかも、特別なメモリを必要とするこ
ともないため、製造コストも安く抑えることができる。
【0038】
【発明の効果】以上説明したように本発明では、フェッ
チした命令からデータのアクセス先を判断し、その結果
に応じて、オペランドアドレスの出力先と、中央処理装
置のデータ入出力部に接続するバスとを切り換えるよう
にしたため、命令用記憶回路内の値を、処理対象のデー
タとして取り扱うことが可能となる。
【図面の簡単な説明】
【図1】本発明のマイクロコンピュータのバス制御回路
を示す図である。
【図2】本発明のマイクロコンピュータの動作を示すタ
イミングチャートである。
【図3】従来のデータバスと命令バスとが独立構造のマ
イクロコンピュータのバス制御回路を示す図である。
【符号の説明】
11・・・データ出力用レジスタ、12・・・データ入
力用レジスタ、13・・・命令入力用レジスタ、14・
・・オペランドアドレス用レジスタ、15・・・プログ
ラムカウンタ、21,22・・・マルチプレクサ、2
3,24・・・入出力双方向バッファ、25,26・・
・出力バッファ、31・・・データ用バス端子、32・
・・命令用バス端子、33・・・データ用アドレスバス
端子、34・・・命令用アドレスバス端子。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 命令とデータとがそれぞれ独立したバス
    で入出力されるマイクロコンピュータにおいて、 フェッチした命令からデータのアクセス先を判断し、ア
    クセス先が命令用記憶空間内である場合には、アクセス
    先切換信号を出力する命令デコード手段と、 前記アクセス先切換信号が出力されると、中央処理装置
    が出力するオペランドアドレスを、命令用記憶空間に配
    置された命令用記憶回路へ出力するアドレス出力先切換
    手段と、 前記アクセス先切換信号が出力されると、前記中央処理
    装置の処理対象となるデータを入出力すべき入出力回路
    と、前記命令用記憶回路のデータ入出力端子とを接続す
    る入出力データ切換手段と、 を有することを特徴とするマイクロコンピュータ。
  2. 【請求項2】 前記入出力データ切換手段は、フェッチ
    した命令がデータのリード命令である場合には、データ
    用記憶空間に配置されたデータ用記憶回路と前記命令用
    記憶回路とが入力側端子に接続され、前記入出力回路が
    出力側端子に接続されたマルチプレクサを、前記アクセ
    ス先切換信号に応じて制御することにより、前記入出力
    回路と前記命令用記憶回路のデータ入出力端子とを接続
    することを特徴とする請求項1記載のマイクロコンピュ
    ータ。
  3. 【請求項3】 前記アドレス出力先切換手段は、前記中
    央処理装置が出力するオペランドアドレスを格納するレ
    ジスタと、前記中央処理装置のプログラムカウンタとが
    入力側端子に入力され、前記命令用記憶回路のアドレス
    入力端子が出力側端子に接続されたマルチプレクサを、
    前記アクセス先切換信号に応じて制御することにより、
    前記オペランドアドレスを前記命令用記憶回路へ出力す
    ることを特徴とする請求項1記載のマイクロコンピュー
    タ。
JP20022396A 1996-07-30 1996-07-30 マイクロコンピュータ Pending JPH1049366A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20022396A JPH1049366A (ja) 1996-07-30 1996-07-30 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20022396A JPH1049366A (ja) 1996-07-30 1996-07-30 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH1049366A true JPH1049366A (ja) 1998-02-20

Family

ID=16420863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20022396A Pending JPH1049366A (ja) 1996-07-30 1996-07-30 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH1049366A (ja)

Similar Documents

Publication Publication Date Title
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
JP3242508B2 (ja) マイクロコンピュータ
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
JP3226055B2 (ja) 情報処理装置
JP2001092662A (ja) プロセッサコア及びこれを用いたプロセッサ
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
US20070260857A1 (en) Electronic Circuit
JPH0581119A (ja) レジスタ間接モードを用いる汎用メモリ・アクセス方式
JPH0612107A (ja) シーケンス演算プロセッサおよびシーケンス演算処理装置
JPH1049366A (ja) マイクロコンピュータ
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
JP3534987B2 (ja) 情報処理装置
JPH0950376A (ja) データ処理装置
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPS6134188B2 (ja)
JP2824484B2 (ja) パイプライン処理計算機
US20040103267A1 (en) Data processor having cache memory
JP3476314B2 (ja) マイクロプロセッサ
KR950014161B1 (ko) 어레이 프로세서(array processor)의 2단계(stage) 명령어 파이프라인 처리방법
JP2002073329A (ja) プロセッサ
JP3239042B2 (ja) マイクロコンピュータ
JPH08305564A (ja) マイクロコンピュータ
JPH0333951A (ja) マイクロコンピュータシステム
JP2003029966A (ja) データ処理装置
JPS6269354A (ja) 情報処理システム