JPH0535472A - マイクロコンピユータ - Google Patents

マイクロコンピユータ

Info

Publication number
JPH0535472A
JPH0535472A JP3313757A JP31375791A JPH0535472A JP H0535472 A JPH0535472 A JP H0535472A JP 3313757 A JP3313757 A JP 3313757A JP 31375791 A JP31375791 A JP 31375791A JP H0535472 A JPH0535472 A JP H0535472A
Authority
JP
Japan
Prior art keywords
register
work
general
bus
bank
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
JP3313757A
Other languages
English (en)
Inventor
Hiroyuki Kida
博之 木田
Koichi Hashimura
浩一 橋村
Yasushi Nakamura
靖 中村
Koichi Kunii
浩一 国井
Hisashi Kajiwara
久志 梶原
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi Ltd
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 Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Publication of JPH0535472A publication Critical patent/JPH0535472A/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 (修正有) 【構成】 演算回路22に対して演算の実行を指令する
とともに、ワークレジスタセット23及びマルチレジス
タセット30に対して読み出し及び書き込みの制御を行
う制御部10を設け、その制御手段にはワークレジスタ
セット23の各ワークレジスタWR0〜WR3がマルチ
レジスタセット30内バンクBAK0〜7のどの汎用レ
ジスタに対応するのかを示すレジスタ対応手段を設け
て、命令によって演算の対象として汎用レジスタが指定
された場合、指定された汎用レジスタがワークレジスタ
セット30内のレジスタと対応していれば、対応してい
るワークレジスタの内容を演算に使用するようにした。 【効果】 被演算データや演算結果が出力されるバスの
長さはレジスタセットの数が多くなっても短くて済むた
めバスを駆動する回路の負荷が低減され、高速な演算が
可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理技術さらに
は汎用レジスタを備えたマイクロコンピュータに適用し
て特に有効な技術に関し、例えば複数の汎用レジスタセ
ットを備えたマルチレジスタセット方式のマイクロコン
ピュータの構成とその制御方式に利用して有効な技術に
関する。
【0002】
【従来の技術】半導体技術の進歩、特にMOS(Met
al Oxide Semiconductor)プロ
セスの微細化技術の進歩により、マイクロコンピュータ
は、高集積化、高性能化が図られている。その1つにマ
イクロコンピュータのアーキテクチャに見られる汎用レ
ジスタ方式が挙げられる。これは、1つの半導体チップ
に形成されるマイクロコンピュータ内に、データを格納
できる汎用レジスタを数多く設け、この汎用レジスタ間
でデータの演算を行うようにして、マイクロコンピュー
タ外へのアクセス回数を減らす方式である。この方式に
よれば、マイクロコンピュータ外に設けられるアクセス
時間の遅い外部記憶装置に対するマイクロコンピュータ
による参照回数を減らすことが可能となり、高性能化を
図ることができる。
【0003】この方式においては、マルチタスク制御で
行われているタスク切換えの処理や、副プログラムの呼
出し等の処理において、マイクロコンピュータ内の汎用
レジスタの内容が破壊されるのを防止するために、その
内容を一時外部記憶装置へ退避することが行なわれる。
このため汎用レジスタの内容を外部記憶装置へ退避した
り、あるいは退避したデータを再び汎用レジスタへ復帰
したりする処理時間(以下、オーバヘッド時間と呼ぶ)
が、汎用レジスタの数が多くなるほど長くなってしま
い、スループットの低下を招いていた。そこで、このオ
ーバヘッド時間をなくす方法として、1つの半導体チッ
プに形成されるマイクロコンピュータ内に、複数個の汎
用レジスタを一組とするレジスタセットを複数組設ける
マルチレジスタセット方式のマイクロコンピュータが提
案されている。
【0004】例えば、複数組のレジスタセット間でラン
ダムにレジスタセットを切換えることができるマルチレ
ジスタセット方式のマイクロコンピュータの例が、CQ
出版発行、「インタフェース」1987年9月号、第3
05頁〜第322頁に記載されている。この方式では、
各タスク毎に一組のレジスタセットを割り当てること
で、タスクの切換えが発生した場合でもタスクに対応し
てレジスタセットを切換えれば済むため、汎用レジスタ
の内容を外部記憶装置に退避する必要がない。また、副
プログラム呼出しの比較的多いプログラムの処理のオー
バヘッド時間を削減できるようにしたマルチレジスタセ
ット方式のマイクロコンピュータの例が、アイ・イー・
イー・イー発行、「コンピュータ」第15巻、第9号、
第8頁〜第21頁(“A VLSI Risc”IEE
E Computer Vol15,No9,pp8−
21,Sep.1982)に記載されている。
【0005】
【発明が解決しようとする課題】上述した技術は、レジ
スタセットを数多くもつことで、タスク切換えの際ある
いは副プログラム呼出しの際に生じるレジスタ内のデー
タの退避およびその復帰に伴う処理のオーバヘッド時間
の削減には有効である。しかしながら、複数のレジスタ
セットが設けられるため、個々のレジスタを結合するバ
スの長さが長くなる。すなわち、半導体チップ内におけ
るバスの長さが長くなるため、バスを駆動する回路の負
荷が増大する。その結果、レジスタセットを1組しかも
たない構成のものに比べてレジスタのアクセスに時間が
かかり、レジスタ間での演算処理の速度の低下を招くと
いった問題点がある。
【0006】本発明の目的はレジスタ間での演算処理の
速度を低下させることなく、1レジスタセット内の汎用
レジスタの数やレジスタセットのセット数を容易に増加
することのできるマルチレジスタセット方式のマイクロ
コンピュータを提供することにある。本発明の他の目的
はレジスタセットの切換え時のオーバヘッドの少ないマ
ルチレジスタセット方式のマイクロコンピュータを提供
することにある。更に、本発明の他の目的は、汎用レジ
スタ間での演算処理を高速に実行できるマルチレジスタ
セット方式のマイクロコンピュータを提供することにあ
る。本発明の他の目的は、レジスタ間での演算処理速度
を低下させることなく、小型化を図れるマルチレジスタ
セット方式のマイクロコンピュータを提供することにあ
る。この発明の前記ならびにそのほかの目的と新規な特
徴については、本明細書の記述および添附図面から明ら
かになるであろう。
【0007】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を説明すれば、下記のと
おりである。すなわち、複数個の汎用レジスタを一組と
するレジスタセット(以下、バンクと称する)を複数個
有するマルチレジスタセットと、該マルチレジスタセッ
トよりも小容量の記憶回路を有し少なくとも2つの読出
しバスと1つの書込みバスを備えたワークレジスタセッ
トと、前記2つの読出しバスの内容を取り込んで演算を
行い演算結果を前記書込みバスに出力できる算術論理演
算回路と、該演算回路に対して演算の実行を指令すると
ともに、前記ワークレジスタセット及び前記マルチレジ
スタセットに対して読み出し及び書き込みの制御を行う
制御手段を設けるようにしたものである。また、好まし
くは、前記各ワークレジスタが前記マルチレジスタセッ
ト内のどの汎用レジスタに対応するのかを示すレジスタ
対応手段を設けて、命令によって演算の対象として汎用
レジスタが指定された場合、レジスタ対応手段を参照し
て指定された汎用レジスタが前記ワークレジスタセット
内のレジスタと対応していれば、対応しているワークレ
ジスタの内容を演算に使用するようにする。更に好まし
くは、演算の結果、ワークレジスタへの書き込みを行っ
た場合に書き込みを行ったことを記憶する書込み記憶手
段を設け、バンクの切換え時に該書込み記憶手段の内容
に基づいてワークレジスタの内容を対応する汎用レジス
タへ書き込むようにする。
【0008】
【作用】上記した手段によれば汎用レジスタとワークレ
ジスタとが階層的な構成とされているため、被演算デー
タや演算結果が出力されるバスの長さはレジスタセット
の数が多くなっても短くて済むようになり、バスを駆動
する回路の負荷が低減され、高速な演算が可能となる。
言い換えるならば、演算は演算回路とワークレジスタと
の間で行なわれるため、レジスタセットの数を増やして
もワークレジスタと演算回路間のバスの長さがそれに合
わせ大幅に長くなるのを防ぐことができ、バスの寄生容
量を減らし、演算速度の低下を防ぐことができる。レジ
スタ対応手段を設けることにより、ワークレジスタに所
望の汎用レジスタの内容が既に転送されているか否かを
知ることができるため、既に転送されている場合、演算
の高速化を図ることができる。
【0009】また、書込みのあったワークレジスタを記
憶しておいて、書込みのあったワークレジスタについて
のみ、それに対応する汎用レジスタへの退避を行うよう
にすることができる。そのため、全ワークレジスタの内
容を汎用レジスタに転送しなくて済むためバンク切換え
時のオーバヘッドが少なくなる。さらに、ワークレジス
タと演算回路とを2本の読出しバスと1本の書込みバス
によって結合しているため、続けて2回以上ワークレジ
スタ間の演算を行う場合、演算結果の書込みと次の被演
算データの読出しをオーバラップして実行することがで
き、これによって演算の高速化が可能となる。
【0010】
【実施例】図1には、本発明に係るマルチレジスタセッ
ト方式のマイクロコンピュータの一実施例が示されてい
る。同図において、マイクロコンピュータ1は、周知の
半導体集積回路技術によって、特に制限されないが、1
個の半導体基板に形成されている。この実施例のマイク
ロコンピュータ1は、プログラムカウンタ11や命令レ
ジスタ12、命令デコーダもしくはマイクロプログラム
ROM13等からなり内部の制御信号(レジスタとバス
との間の電気的な結合を制御する制御信号等)を形成す
る制御部10と、入出力レジスタ21や算術論理演算回
路22等からなり、取り込まれた命令に対応した処理を
実行する実行部20と、8つのバンクBNK0〜BNK
7からなるマルチレジスタセット30とを有している。
【0011】この実施例では、上記実行部20内に、上
記マルチレジスタセット30とは別にワークレジスタセ
ット23が設けられ、このワークレジスタセット23と
上記算術論理演算回路22および入出力レジスタ21
は、特に制限されないが2本の読出しバス24x,24
yと1本の書込みバス24zを介して互いに接続可能に
されている。また、上記入出力レジスタ21は、外部バ
ス2に接続されるマスタバス41に接続されている。こ
の外部バス2およびマスタバス41は、それぞれアドレ
スバス、データバスおよびコントロールバスを含んでい
る。しかしながら、同図では図面を簡単にするため、1
本の信号線で示している。特に制限されないが、この実
施例のマルチレジスタセット30は、各々が4本の汎用
レジスタセットからなる8つのバンクBNK0〜BNK
7で構成されており、1つのバンク内の汎用レジスタの
数に対応して実行部20内のワークレジスタセット23
も4本のレジスタWR0〜WR3で構成されている。こ
こで、1バンクとは基本命令(演算命令)で指定できる
レジスタの組を意味する。すなわち、1つのバンクを構
成するレジスタの本数は、演算命令で指定できる数とな
る。
【0012】図9に、上記演算命令のフォーマットの一
例が示されている。図9において、OPはその命令によ
って実行されるべき機能を定めるオペレーションフィー
ルドである。Szはオペレーション(演算)のサイズを
定めるサイズ指定フィールドであり、本実施例では2ビ
ットのフィールドである。サイズ指定フィールドSzに
よって指示できるオペレーションサイズについては、表
1に示されている。
【表1】 図9において、符号MODx,MODy,MODzで示
されているのは、それぞれオペランドを指定するための
アドレッシングモードを定めるフィールドであり、本実
施例においては、このフィールドMODx,MODy,
MODzにより表2に示すようなアドレッシングモード
が指定される。
【表2】
【0013】図9において、符号Rx,Ry,Rzで示
されているのは、それぞれレジスタを指定するためのフ
ィールドであり、上記アドレッシングモード指定フィー
ルドMODx,MODy,MODzでレジスタを使用す
るモードが指定されている場合に使用される。本実施例
では、特に制限されないがこのレジスタ指定フィールド
Rx,Ry,Rzが2ビットで構成されている。従っ
て、各バンクには4個の汎用レジスタが設けられてお
り、表3のようにして指示される。
【表3】 また、図1の実施例では、マルチレジスタセット30内
の各バンクBNK0〜BNK7における各汎用レジスタ
及びワークレジスタWR0〜WR3は、各々、例えば8
ビットで構成されており、ワークレジスタセット23と
マルチレジスタセット30とは、8本の信号線からなる
転送バス42によって接続されている。
【0014】また、上記算術論理演算回路22及び入出
力レジスタ21も特に制限されないが、8ビットで入出
力を行なう。そのため、上記内部バス24x,24y及
び24zのそれぞれは8本の信号線によって構成されて
いる。特に制限されないが、本実施例のマイクロコンピ
ュータ1の主要部は、実際のレイアウトに合わせて図1
に描かれている。上記バンクBNK0〜BNK7は、特
に制限されないが、同図のように縦長に配置されてお
り、各バンク内の各汎用レジスタに結合されたバス(図
示せず)が、同図において縦方向に延びている。この図
示されていないバスには、多くの汎用レジスタ(32
個)が結合されるため、半導体チップ上における長さが
比較的長くなるとともに、それに付加されてしまう寄生
容量も大きくなってしまう。これにより、このバス(実
際には8本のデータ線)における信号の電位変化の速度
が制限されてしまう。
【0015】また、同図において横方向に延びるバス2
4x,24y及び24zは、それに結合されるべきワー
クレジスタが比較的少ない。そのためそのバスの長さを
比較的短くすることができるとともに、その寄生容量を
小さくすることができる。これにより、バス24x,2
4y及び24zのそれぞれにおける信号の電位変化の速
度を上記図示されていないバスにおけるそれよりも速く
することができる。さらに、レジスタセットあるいは/
及び汎用レジスタの数の増加に対しても、バス24x,
24y及び24zにおける信号の電位変化の速度の低下
を防ぐことが可能となる。
【0016】上記制御部10内には、上記マルチレジス
タセット30内のバンクBNK0〜BNK7のうちいず
れを使用するか指定するためのバンク指定手段14と、
指定されたバンク内の汎用レジスタのうちいずれを使用
するか指定するためのレジスタ指定手段15とが設けら
れ、これらの指定手段14,15の内容がマルチレジス
タセット30に供給される。上記マルチレジスタセット
30には、デコーダ(図示せず)が設けられており、こ
のデコーダに上記指定手段14、15の内容が供給され
る。この指定手段14、15の内容は、図示されていな
い上記デコーダによってデコードされる。これにより、
指定手段14によって指定されたバンク内で、指定手段
15によって指定された汎用レジスタが選択される。す
なわち、選択された汎用レジスタが上記図示されていな
いバスに電気的に結合される。この実施例では、特に制
限されないが、上記バンク指定手段14は、専用のバン
ク切換命令によって書込みがなされるレジスタを有する
回路である。
【0017】図10には、上記バンク切換命令のフォー
マットの一例が示されている。図10において、OPは
上記バンク切換命令によって実行すべきオペレーション
を定めるオペレーションフィールドであり、BNKnは
バンク番号を定めるバンク番号フィールドである。本実
施例ではこのバンク番号フィールドは3ビットによって
構成されており、8個のバンクBNK0〜BNK7から
1つのバンクを指定できるようにされている。マイクロ
プロセッサ1は、このバンク切換命令をフェッチして実
行することにより、上記バンク指定回路14内のレジス
タに、バンク番号フィールドBNKnで指示されている
バンク番号を書き込む。
【0018】また、上記レジスタ指定手段15は、特に
制限されないが通常の演算命令、例えば上述した演算命
令(図9)のレジスタ指定フィールドRx,Ry,Rz
の内容がセットされるレジスタを有する回路である。レ
ジスタ指定手段15は、ここでは同時に3本のレジスタ
を指定できるように構成されている。すなわち、上記レ
ジスタ指定フィールドRx,Ry,Rzのそれぞれに対
応したレジスタを指定できるように、それぞれの内容が
セットされるレジスタ(図示せず)を上記レジスタ指定
手段15は有している。なお、同図においては、図面が
複雑になるのを防ぐために、上記バンク指定手段14及
びレジスタ指定手段15へのデータのセット経路は図示
されていない。
【0019】さらに、この実施例では制御部10内にレ
ジスタ対応手段16と、書込み記憶手段17とレジスタ
番号発生手段18とが設けられている。上記レジスタ対
応手段16および書込み記憶手段17は、ワークレジス
タWR0〜WR3の数に対応した4個のフラグ(記憶回
路)から構成されており、各フラグは、各々のワークレ
ジスタWR0〜WR3に一対一で対応づけられている。
このうちレジスタ対応手段16は、上記バンク指定手段
14およびレジスタ指定手段15によって指定された汎
用レジスタの内容がワークレジスタWR0〜WR3のう
ちレジスタ指定手段15によって指示された汎用レジス
タに対応するワークレジスタに転送されたときに、その
ワークレジスタに対応するフラグに“1”がセットさ
れ、バンクが切り換わったときに一旦“0”にクリアさ
れる。このレジスタ対応手段16については、図面の複
雑化を避けるために、データの入力経路等は、省略され
ているが、その内容を調べることによりワークレジスタ
にデータがセットされているか否かを知ることができ
る。
【0020】一方、書込み記憶手段17は、実行部20
の処理によってワークレジスタWR0〜WR3のいずれ
かにデータの書込みがあったとき、すなわちワークレジ
スタの内容がそれと対応関係にあるバンク内の汎用レジ
スタの内容と一致しなくなったときに、そのワークレジ
スタに対応するフラグに“1”がセットされる。そし
て、書込み記憶手段17に“1”がセットされている
と、バンクが切り換わるときに“1”の立っているワー
クレジスタの内容が対応するバンク内の汎用レジスタに
転送される。この書き込み手段17についても、それを
制御する回路等は、図面の複雑化を避けるために省略さ
れている。
【0021】レジスタ番号発生手段18は、ワークレジ
スタの内容を対応するバンク内の汎用レジスタに転送す
る際に転送先のレジスタ番号を発生するようになってい
る。特に制限されないが、レジスタ番号発生手段18に
は、バンク指定手段14及びレジスタ指定手段15のデ
ータが供給されている。そのため、これらのデータか
ら、容易に転送先のレジスタを知ることができる。な
お、図1において、3は外部バス2を介してマイクロコ
ンピュータ1に接続された半導体メモリのような外部記
憶装置で、この外部記憶装置3内に、マイクロコンピュ
ータ1が実行すべきプログラムが格納されている。
【0022】次に、上記マイクロコンピュータの動作に
ついて説明する。マイクロコンピュータ1は、先ずプロ
グラムカウンタ11の内容(アドレス)を外部バス2上
に出力して、外部記憶装置3から命令語をフェッチす
る。フェッチされた命令語は命令レジスタ12にセット
され、命令デコーダ13によって解読される。この命令
が図9に示されているような汎用レジスタを使用する演
算命令であった場合には、その演算命令が実行されるよ
うに上記命令デコーダ13の出力によって一連の内部動
作が制御される。ここで、一例として「レジスタR0の
内容とレジスタR1の内容とを加算してその結果をレジ
スタR2へ格納する」という演算命令を例にとってマイ
クロプロセッサ1の動作を説明する。ただし、レジスタ
R0は命令語中の指定フィールドRxにより指示され、
レジスタR1は命令語中の指定フィールドRyにより指
示され、レジスタR2は命令語中の指定フィールドRz
により指示されるものとする。
【0023】上述した例の演算命令がマイクロプロセッ
サの制御部10の命令レジスタ12にフェッチされ、命
令デコーダ13に供給されると、命令デコーダ13の出
力信号によって図11に示されているような一連の内部
動作制御が開始される。すなわち、まずステップS0に
おいて命令語内のレジスタ指定フィールドRx,Ry,
Rzの内容(レジスタ番号)がレジスタ指定手段15に
格納される。次に、制御部10は、ステップS1にてレ
ジスタ対応手段16内のフラグ(Rx=00で表される
ワークレジスタWR0に対応するフラグ)をチェック
し、対応するフラグが“0”(無効:No)であること
を示していた場合には、例えばマイクロコンピュータ1
が外部記憶装置3をアクセスしている時間(本実施例の
マイクロプロセッサ1はパイプライン処理を行なうた
め、例えば次の命令のフェッチやデータのリードアクセ
ス、ライトアクセス)中にバンク指定手段14およびレ
ジスタ指定手段15が示すバンクの汎用レジスタ(R
0)の内容を、転送バス42を介してワークレジスタセ
ット23内の対応するワークレジスタ(WR0)へコピ
ーする(ステップS2)。この後、レジスタ対応手段1
6内のコピーが完了したワークレジスタ(WR0)に対
応するフラグを“1”(有効)にセットする(ステップ
S3)。
【0024】一方、レジスタ番号が示すレジスタ対応手
段16内の有効フラグがセットされている時には、次の
ステップS4で上述したステップS1と同様にして、ワ
ークレジスタWR1(Ry=01)に所望のバンク内の
汎用レジスタR1のデータがセットされているか否か
が、上記レジスタ対応手段16内のワークレジスタWR
1に対応するフラグをチェックすることにより判定され
る。このフラグがクリアされていた場合には、所望のバ
ンク内の汎用レジスタR1とワークレジスタWR1との
間で、上記ステップS2と同様の動作が行なわれる(ス
テップS5)。そして、ステップS6にてワークレジス
タWR1に対応する上記レジスタ対応手段16内のフラ
グがセットされる。
【0025】この後、算術論理演算回路22によりワー
クレジスタWR0とWR1との間の加算演算が行なわ
れ、その演算結果がバス24zを介してワークレジスタ
WR2に書き込まれる(ステップS7)。次に、レジス
タ指定フィールドRz(=10)に対応したレジスタ対
応手段16内のフラグがセットされる。演算は上述のよ
うに算術論理演算回路22で行なわれる。被演算データ
は、ワークレジスタWR0〜WR3から読出しバス24
x,24yを介して算術論理演算回路22へ供給され、
演算結果は書込みバス24zを通してワークレジスタセ
ット23の一つへ書き込まれる。次に、ステップS9に
おいて、レジスタ指定フィールドRz(=10)に対応
した書込み記憶手段17内のフラグが“1”にセットさ
れる。これにより、書込み操作を行なったワークレジス
タが識別される。
【0026】一方、フェッチされた命令が図10に示さ
れているようなバンク切換命令であった場合には、バン
クの切換えが行われる。この場合、命令デコーダ13
は、図12に示されているフローを実行するように内部
動作を指示する。先ずステップS10にて前記書込み記
憶手段17内の各フラグをチェックする。そして、フラ
グがセットされている場合(ステップS10にてYes
の場合)には、そのセットされているフラグと対応する
ワークレジスタの番号を、レジスタ番号発生手段18に
よって発生させる(ステップS11)。すなわち、バン
ク指定手段14、レジスタ指定手段15および書込み記
憶手段17からのデータによって、内容が書き替えられ
るべきバンクの番号と、そのバンクにおけるレジスタの
番号を知ることができる。
【0027】次に、ステップS12において、レジスタ
番号発生手段18により発生された番号のレジスタへワ
ークレジスタの内容を転送する。転送が完了したらワー
クレジスタに対応する有効フラグ及び書込みフラグをク
リアする(ステップS13)。書込みフラグが全てクリ
アされていたら、次にステップS14にてレジスタ対応
手段16内の有効フラグをクリアする。次に、バンク切
換命令で与えられたバンク番号BNKnをバンク指定手
段14に書き込んでバンクの切換えを終了する(ステッ
プS15)。なお、特に制限されないが、汎用レジスタ
からワークレジスタへのデータの転送は、次のように行
なわれる。すなわち、上記レジスタ対応手段16の各フ
ラグがチェックされ、“0”にセットされているフラグ
のうちの1つに対応するワークレジスタが選択される。
これによって選択されたワークレジスタは、その内部に
設けられたスイッチ手段(図示せず)を介して上記転送
バス42に電気的に結合される。その結果、バンク指定
手段14及びレジスタ指定手段15によって指示された
汎用レジスタのデータが選択されたワークレジスタに転
送される。
【0028】また、ワークレジスタから汎用レジスタへ
のデータの転送は、書込み記憶手段17の各フラグのう
ち“1”にセットされているフラグのうちの1つに対応
するワークレジスタが選ばれ、選ばれたワークレジスタ
がその内部のスイッチ手段(図示せず)を介して上記転
送バス42に電気的に結合され、バンク切換え前の選択
汎用レジスタに結合されることによって行なわれる。こ
の場合、各バンク内の汎用レジスタの数とワークレジス
タの数とが少なくとも一致するときには、各バンク内の
汎用レジスタと各ワークレジスタとを一対一に対応させ
ておくことが望ましい。このようにすることにより、デ
ータの転送の際、バンク内で選択される汎用レジスタと
ワークレジスタ内で選択されるレジスタとの間で一対一
の関係を保つことができる。
【0029】このように、上記実施例では、マルチレジ
スタセット30内の1本のレジスタの内容を転送バス4
2を介して転送できるように構成されているが、1つの
バンク内の4本の汎用レジスタの内容を一度にワークレ
ジスタセット23へ転送できるように転送バス42を構
成してもよい。この場合、転送バス42は図1のそれに
比べて4倍のバス幅を有する。ただし、転送バス42は
直接ワークレジスタと接続されていなくてもよく、例え
ば24x,24y,24zいずれかのバスラインもしく
は入出力レジスタ21に接続されていてもよい。
【0030】また、上記実施例では、汎用レジスタから
ワークレジスタへの内容の転送が終了したか否か示すフ
ラグからなるレジスタ対応手段16と、ワークレジスタ
への書き込みがあったことを記憶するフラグからなる書
込み記憶手段17とを設けているが、バンク切換え時に
ワークレジスタWR0〜WR3の内容をすべて対応する
バンクの汎用レジスタに転送するように構成すれば書込
み記憶手段17は省略することができる。さらに、上記
実施例では、制御部10内にレジスタ対応手段16を設
けて、使用する汎用レジスタの内容のみワークレジスタ
に転送するようにしているが、レジスタ対応手段16を
省略してバンク切換時にバンク内のすべての汎用レジス
タの内容をワークレジスタに転送するように構成しても
よい。
【0031】図2および図3には、マルチレジスタセッ
ト30及びワークレジスタセット23の1ビットのセル
構成が示されている。このうちマルチレジスタセット3
0を構成する汎用レジスタにおけるセルは、図2のよう
に6個のMOSトランジスタからなり、ワークレジスタ
セット23を構成するワークレジスタにおけるセルは、
12個のMOSトランジスタから構成されている。ワー
クレジスタのセルは2つの読出しバス24x,24yと
1つの書込みバス24zに接続され、リードクロックR
CK1,RCK2と、ライトクロックWCK,WCK’
(WCK’はWCKの反転信号)によって制御される。
1個のワークレジスタを構成する8個のセルには、共通
のリードクロックとライトクロックが上記制御部10か
ら供給されるが、互いに異なるワークレジスタを構成す
るセルには、互いに異なるリードクロックとライトクロ
ックが供給される。これによって、4個のワークレジス
タの中から1個のワークレジスタを選択する。
【0032】なお、図3に示されたセルには、上記転送
バス42とセルとの間に設けられたスイッチ手段は示さ
れていない。このスイッチ手段は、例えば、ノードN1
と転送バス42との間に設けられたトランスファMOS
FETとノードN2と転送バス42との間に設けられた
クロックドインバータとによって構成される。図3に示
されているクロックドインバータIVは、図示されてい
ない上記クロックドインバータが活性化されたとき、非
活性化されるように制御される。上記クロックドインバ
ータの活性・非活性化を制御する制御信号、上記トラン
スファMOSFETを制御する制御信号は、上記クロッ
クRCK1,RCK2,WCK,WCK’とともに上記
制御部10によって形成される。
【0033】この制御信号についても上記リードクロッ
クとライトクロックと同様に、同じワークレジスタを構
成するセルには共通の制御信号が供給され、互いに異な
るワークレジスタを構成するセルには、互いに異なる制
御信号が供給される。これにより、選択動作が行なわれ
る。上記図2に示されているセルは、8個で1本の汎用
レジスタを構成し、この8個のセルには共通の選択信号
W.S.Lが供給される。一方、別の汎用レジスタを構
成する8個のセルには、別の選択信号が共通に供給され
る。これらの選択信号は、マルチレジスタセット30内
に設けられた図示されていないデコーダにより形成され
る。
【0034】図4は本発明の他の実施例を示すもので、
制御部10には、レジスタ対応手段16’及び置換レジ
スタ検出手段19が設けられている。レジスタ対応手段
16’はワークレジスタセット23を構成している個々
のレジスタ(本実施例では合計8本)毎にバンク番号及
びレジスタ番号を記憶できる記憶回路を有している。該
記憶回路は使用した汎用レジスタ、言い換えるならばコ
ピー元の汎用レジスタのバンク番号およびレジスタ番号
を8つまで記憶できるように構成されている。この記憶
回路に格納されているバンク番号とレジスタ番号が示す
汎用レジスタ内のデータを演算する場合は、ワークレジ
スタセット23を使用する。即ち、バンク指定手段14
及びレジスタ指定手段15の内容と前記記憶回路の内容
とが、レジスタ対応手段16’内の比較検出回路(図示
せず)で比較され、一致した場合には一致した記憶回路
に対応するワークレジスタを演算に使用する。
【0035】一方、比較の結果一致しなかった場合に
は、8つのワークレジスタの内、最も長い間使用されて
いなかったワークレジスタを検出し、指定されたバンク
番号及びレジスタ番号が示すマルチレジスタセット30
内の汎用レジスタの値を検出したワークレジスタにコピ
ーする。この操作を行うために、最も長い間使用されて
いなかったワークレジスタを検出する置換レジスタ検出
手段19が設けられている。該置換レジスタ検出手段1
9によって検出されたワークレジスタが書込み記憶手段
17によって書き込みが行われていることがわかると、
前記コピー操作の前にレジスタ対応手段16’に保持さ
れているバンク番号及びレジスタ番号が示すマルチレジ
スタセット30内の汎用レジスタへその内容をコピーす
るように構成されている。
【0036】図5及び図6に上記置換レジスタ検出手段
19の構成と動作例を示す。置換レジスタ検出手段19
は、互いに直列形態に接続された8つのレジスタ列RE
G0〜REG7からなり、各レジスタには演算に使用さ
れたワークレジスタの番号(WR0〜WR7)が順次格
納される。今バンク指定手段14及びレジスタ指定手段
15の内容とレジスタ対応手段16’の内容が、レジス
タ対応手段16’内の比較検出手段(図示せず)で比較
された結果、WR5が一致していたとすると、図5の矢
印Aのように、一致しているワークレジスタの番号WR
5をレジスタ列REG0〜REG7内から消去し、新た
にレジスタ列の初段レジスタREG0にレジスタ番号W
R5を格納する。この場合、具体的には、レジスタRE
G0〜REG4については1つシフトする動作を行な
い、レジスタREG5〜REG7についてはシフト動作
を行なわない。一方、一致していなければ図6の矢印B
のようにレジスタ列の最終段REG7に入っている最も
長い間用いられなかったワークレジスタの番号WR3を
初段REG0に格納し、全体をシフトする。この初段R
EG0に移された番号WR3に対応するワークレジスタ
WR3にマルチレジスタ30内の汎用レジスタの内容が
コピーされ演算に利用される。
【0037】以上説明したように、レジスタ対応手段1
6’内の比較手段が与える比較結果に基づいて、(1)
比較結果が一致したとき、演算に使用したいレジスタ
が、ワークレジスタ23内にあると判断し、置換レジス
タ検出手段19内のレジスタ列を図5で示すように操作
し、一方、(2)比較結果が一致していない時、演算に
使用したいレジスタがワークレジスタ23のそと即ちマ
ルチレジスタセット30にあると判断し、置換レジスタ
検出手段19内のレジスタ列を図6に示すように操作す
る。このような操作を行なうことで、レジスタ列の最終
段の出力結果が最も長い間使用されなかったワークレジ
スタの番号を与えることが可能となり、その結果、置換
すべきワークレジスタ番号を直ちに得ることができる。
従って、ワークレジスタセット23には、常にマルチレ
ジスタセット30を構成する個々の汎用レジスタに対し
て、演算に使用した最も新しいワークレジスタを対応さ
せることができる。
【0038】図7は実行部20での演算タイミングを、
また図8はマルチレジスタセット30のアクセスタイミ
ングをそれぞれ示したものである。小容量のワークレジ
スタでは読出しに1/2サイクルの時間を必要とするの
に対して、大容量のマルチレジスタセット30では読出
しに約2サイクルの時間を必要とする。図7,図8のタ
イミングチャートからわかるように、ワークレジスタセ
ットを使用した演算は1サイクルに1回ずつ可能である
ため直接マルチレジスタセットを使用して演算する方式
に比べて演算速度が高速化される。なお、上記実施例で
はバンクの切換えを命令で行うようにした場合について
説明したが、この発明はそれに限定されるものでなく、
例えば割込みの種類(レベル)とバンクとを対応させて
おき、割込み信号によってバンクの切換えを行うように
してもよい。また、上記2つの実施例では1バンクの汎
用レジスタの数とワークレジスタの数とを一致させてい
るが、必ずしも同一である必要はない。
【0039】以上説明したように上記実施例は複数個の
汎用レジスタを一組とするレジスタセット(バンク)を
複数個有するマルチレジスタセットと、該マルチレジス
タセットよりも小容量の記憶回路からなり少なくとも2
つの読出しバスと1つの書込みバスを備えたワークレジ
スタセットと、前記2つの読出しバスの内容を取り込ん
で演算し演算結果を前記書込みバスに出力する算術論理
演算回路と、該演算回路に対して演算の実行を指令する
とともに、前記ワークレジスタセット及び前記マルチレ
ジスタセットに対して読み出し及び書き込みの制御を行
う制御手段を設け、該制御手段には前記各ワークレジス
タが前記マルチレジスタセット内のどの汎用レジスタに
対応するのかを示すレジスタ対応手段を設けて、命令に
よって演算の対象として汎用レジスタが指定された場
合、指定された汎用レジスタが前記ワークレジスタセッ
ト内のレジスタと対応していれば、対応しているワーク
レジスタの内容を演算に使用するようにしたので、被演
算データや演算結果が出力されるバスの長さはレジスタ
セットの数が多くなっても短くて済むためバスを駆動す
る回路の負荷が低減され、高速な演算が可能となるとい
う効果がある。
【0040】また複数個の汎用レジスタを一組とするレ
ジスタセット(バンク)を複数個有するマルチレジスタ
セットと、該マルチレジスタセットよりも小容量の記憶
回路からなり少なくとも2つの読み出しバスと1つの書
込みバスを備えたワークレジスタセットと、前記2つの
読出しバスの内容を取り込んで演算し演算結果を前記書
込みバスに出力する算術論理演算回路と、該演算回路に
対して演算の実行を指令するとともに、演算の結果、ワ
ークレジスタへの書き込みを行った場合に書き込みを行
ったことを記憶する書込み記憶手段を設け、バンクの切
換え時に該書込み記憶手段の内容に基づいてワークレジ
スタの内容を対応する汎用レジスタへ書き込むようにし
たので、全ワークレジスタの内容を汎用レジスタに転送
しなくて済むためレジスタセット切換え時のオーバヘッ
ドが少なくなるという効果がある。
【0041】さらに、上記実施例ではワークレジスタと
演算回路とを3本のバスによって結合しているため、続
けて2回以上ワークレジスタ間の演算を行う場合、演算
結果の書込みと次の被演算データの読出しをオーバラッ
プして実行することができるため、演算の高速化が可能
となる。また、算術論理演算回路に接続されるワークレ
ジスタセットを構成する記憶セルは3本のバスを介して
接続されるため12個のMOSトランジスタで構成され
ているのに対し、マルチレジスタセットを構成する記憶
セルは6個のMOSトランジスタで構成されているの
で、マルチレジスタセットを構成する汎用レジスタを直
接3本のバスを介して算術論理演算回路に接続させる方
式に比べてマルチレジスタセットの占有面積を低減でき
るため、演算速度を低下させることなく小型化を図るこ
とができる。
【0042】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば上記
実施例では、バンク指定手段14とレジスタ指定手段1
5を別々に構成しているが、これらを1つのレジスタで
構成し、その上位側にバンク番号をセットし、下位側に
レジスタ番号をセットするようにしてもよい。また、上
記実施例では実行部20がワークレジスタセット23と
算術論理演算回路22と入出力レジスタ21とで構成さ
れているが、それ以外にも例えば乗算器やインクリメン
タ等を付加してもよい。以上の説明では主として本発明
者によってなされた発明をその背景となった利用分野で
あるレジスタセットを有するマイクロコンピュータに適
用したものについて説明したが、この発明はそれに限定
されるものでなく汎用レジスタセットを有するデータ処
理装置一般に利用することができる。
【0043】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、マルチレジスタセット方式
のマイクロコンピュータにおいて、レジスタ間の演算速
度を低下させることなく、1レジスタセット内の汎用レ
ジスタの数やレジスタセットのセット数を容易に増加す
ることができるとともに、レジスタセットの切換え時の
オーバヘッドを低減し、汎用レジスタ間の演算を高速に
実行できるようにし、さらにレジスタ間の演算速度を低
下させることなく、小型化を図ることができる。
【図面の簡単な説明】
【図1】本発明に係るマイクロコンピュータの一実施例
を示すブロック図、
【図2】マルチレジスタセットを構成する記憶セルの具
体例を示す回路図、
【図3】ワークレジスタを構成する記憶セルの具体例を
示す回路図、
【図4】本発明に係るマイクロコンピュータの第2の実
施例を示すブロック図、
【図5】置換レジスタ検出手段の構成および動作例(一
致時)を示す説明図、
【図6】置換レジスタ検出手段の構成および動作例(不
一致時)を示す説明図、
【図7】実行部での演算タイミングを示すタイムチャー
ト、
【図8】マルチレジスタセットのアクセスタイミングを
示すタイムチャート、
【図9】演算命令の一構成例を示す説明図、
【図10】バンク切換え命令の一構成例を示す説明図、
【図11】演算命令に応答して実行される演算の一例を
示すフローチャート、
【図12】バンク切換えの動作を示すフローチャートで
ある。
【符号の説明】
1 マイクロコンピュータ 2 バス 16 レジスタ対応手段 17 書込み記憶手段 18 レジスタ番号発生手段 23 ワークレジスタセット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 中村 靖 茨城県日立市幸町3丁目2番1号 日立エ ンジニアリング株式会社内 (72)発明者 国井 浩一 茨城県日立市幸町3丁目2番1号 日立エ ンジニアリング株式会社内 (72)発明者 梶原 久志 茨城県日立市幸町3丁目2番1号 日立エ ンジニアリング株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数個の汎用レジスタを有するマルチレ
    ジスタセットと、 前記レジスタセットよりも小容量の記憶回路からなり少
    なくとも2つの読出しバスと1つの書込みバスを備えた
    ワークレジスタセットと、 前記2つの読出しバスの内容を取り込んで演算し、その
    演算結果を前記書込みバスに出力する演算手段と、前記
    演算手段に対する指令や前記ワークレジスタセット及び
    前記マルチレジスタセットに対する読み出しおよび書き
    込みの制御並びに上記マルチレジスタセットとワークレ
    ジスタセットとの間のデータ転送制御を行う制御手段と
    を備えてなることを特徴とするマイクロコンピュータ。
  2. 【請求項2】 前記ワークレジスタセット内の個々のレ
    ジスタが前記マルチレジスタセット内のどの汎用レジス
    タに対応するのかを示すレジスタ対応手段を具備し、前
    記制御手段は該レジスタ対応手段を参照して命令で指定
    された汎用レジスタが前記ワークレジスタセット内のレ
    ジスタと対応していれば、対応しているワークレジスタ
    を演算に使用する制御を行うように構成されてなること
    を特徴とする請求項1記載のマイクロコンピュータ。
  3. 【請求項3】 前記ワークレジスタセット内のレジスタ
    へ演算結果を書き込んだことを記憶する書込み記憶手段
    を備え、前記制御手段は、該書込み記憶手段の内容に基
    づいて前記ワークレジスタセットの内容を対応する汎用
    レジスタへ転送するように構成されていることを特徴と
    する請求項1記載のマイクロコンピュータ。
  4. 【請求項4】 前記レジスタ対応手段は、演算に使用し
    た汎用レジスタのバンク番号及びレジスタ番号を記憶す
    る記憶回路を具備し、また前記制御手段は、最も長い間
    使用しなかったワークレジスタの番号を検出する置換レ
    ジスタ検出手段を具備し、命令で指示された汎用レジス
    タのバンク番号及びレジスタ番号が前記レジスタ対応手
    段に記憶されていない場合には、前記置換レジスタ検出
    手段が示すワークレジスタの内容を対応する汎用レジス
    タに格納することを特徴とする請求項1記載のマイクロ
    コンピュータ。
JP3313757A 1990-10-31 1991-10-30 マイクロコンピユータ Pending JPH0535472A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2-295107 1990-10-31
JP29510790 1990-10-31

Publications (1)

Publication Number Publication Date
JPH0535472A true JPH0535472A (ja) 1993-02-12

Family

ID=17816389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3313757A Pending JPH0535472A (ja) 1990-10-31 1991-10-30 マイクロコンピユータ

Country Status (2)

Country Link
JP (1) JPH0535472A (ja)
KR (1) KR920008597A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004036416A1 (ja) * 2002-10-18 2004-04-29 Tops Systems Corporation マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
US7093110B2 (en) 2001-12-28 2006-08-15 Fujitsu Limited Register file in the register window system and controlling method thereof
JP2007052811A (ja) * 2006-10-23 2007-03-01 Tops Systems:Kk マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093110B2 (en) 2001-12-28 2006-08-15 Fujitsu Limited Register file in the register window system and controlling method thereof
WO2004036416A1 (ja) * 2002-10-18 2004-04-29 Tops Systems Corporation マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
JPWO2004036416A1 (ja) * 2002-10-18 2006-02-16 株式会社トプスシステムズ マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法
JP2007052811A (ja) * 2006-10-23 2007-03-01 Tops Systems:Kk マルチバンクレジスタを有するプロセッサおよびプロセッサの制御方法

Also Published As

Publication number Publication date
KR920008597A (ko) 1992-05-28

Similar Documents

Publication Publication Date Title
US4835684A (en) Microcomputer capable of transferring data from one location to another within a memory without an intermediary data bus
JPS5960658A (ja) 論理機能を備えた半導体記憶装置
JPH09330236A (ja) マイクロプロセッサ及びその周辺装置
JPH0414385B2 (ja)
US4949242A (en) Microcomputer capable of accessing continuous addresses for a short time
JP4860891B2 (ja) ビット順次手法により大容量並列プロセッサアレイをメモリアレイに接続する方法及び装置
JP3705811B2 (ja) 再構成可能なプログラム状態語を有するマイクロコントローラ
JPH0535472A (ja) マイクロコンピユータ
JPH01204147A (ja) アドレス修飾回路
JPS60554A (ja) メモリ制御装置
JP2577071B2 (ja) ディジタル信号処理プロセッサ
JPH053015B2 (ja)
JP2517154B2 (ja) デ―タ処理装置
JP3717813B2 (ja) データ処理装置
JPS5844551A (ja) デ−タ書込み制御方式
JP2000029508A (ja) プログラマブルコントローラ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JP3197045B2 (ja) 拡張中央演算処理装置
JP2883489B2 (ja) 命令処理装置
JPH0478942A (ja) メモリアクセス回路
JPH0784963A (ja) Cpuを有する半導体集積回路
JPH0545978B2 (ja)
JPS6346558A (ja) スタンバイram内多バイトデ−タの保護方式
JPH07105171A (ja) データ処理装置
JPH03127126A (ja) 情報処理装置