JP2514963B2 - デ―タ処理装置 - Google Patents
デ―タ処理装置Info
- Publication number
- JP2514963B2 JP2514963B2 JP10192187A JP10192187A JP2514963B2 JP 2514963 B2 JP2514963 B2 JP 2514963B2 JP 10192187 A JP10192187 A JP 10192187A JP 10192187 A JP10192187 A JP 10192187A JP 2514963 B2 JP2514963 B2 JP 2514963B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- registers
- bank
- data processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、データ処理技術さらにはプログラム制御
方式のシステムにおける命令体系に適用して特に有効な
技術に関し、例えば2以上のレジスタセットを有するマ
イクロプロセッサの命令体系に利用して有効な技術に関
する。
方式のシステムにおける命令体系に適用して特に有効な
技術に関し、例えば2以上のレジスタセットを有するマ
イクロプロセッサの命令体系に利用して有効な技術に関
する。
従来、ザイログ社製Z80系のマイクロコンピュータで
は、第7図に示すように、2つのレジスタセットRSA,RS
Bを有し、いずれか一つのレジスタセットを使ってタス
クを処理を行えるようにされたものがある。これによつ
て、例えばレジスタセットRSAを使って一つのタスクが
終了したとき、レジスタの内容をそのまましておいてレ
ジスタセットをRSAからRSBに切り替えることにより、直
ちに他のタスク処理に移ることができる。また、そのタ
スク処理が終了した後、再び元のタスクに戻るときに
は、レジスタセットRSAに切り替えることにより、レジ
スタセットRSA内に残っていた前のタスクな内容をその
まま引き継いで実行することができる。そのため、タス
クを変更する際にレジスタの退避等を行う必要がなく、
実行速度が速いという利点がある。
は、第7図に示すように、2つのレジスタセットRSA,RS
Bを有し、いずれか一つのレジスタセットを使ってタス
クを処理を行えるようにされたものがある。これによつ
て、例えばレジスタセットRSAを使って一つのタスクが
終了したとき、レジスタの内容をそのまましておいてレ
ジスタセットをRSAからRSBに切り替えることにより、直
ちに他のタスク処理に移ることができる。また、そのタ
スク処理が終了した後、再び元のタスクに戻るときに
は、レジスタセットRSAに切り替えることにより、レジ
スタセットRSA内に残っていた前のタスクな内容をその
まま引き継いで実行することができる。そのため、タス
クを変更する際にレジスタの退避等を行う必要がなく、
実行速度が速いという利点がある。
しかしながら、複数のレジスタセットを有するマイク
ロプロセッサにおいて、あるタスク処理から他のタスク
処理に移行する際、例えばサブルーチンコールのように
引数を引き渡して新しい処理を実行したい場合もある。
ところが、第7図のように、レジスタセットを完全に切
り替えるようにされていると、引数の引き渡し等が困難
であるという不都合がある。
ロプロセッサにおいて、あるタスク処理から他のタスク
処理に移行する際、例えばサブルーチンコールのように
引数を引き渡して新しい処理を実行したい場合もある。
ところが、第7図のように、レジスタセットを完全に切
り替えるようにされていると、引数の引き渡し等が困難
であるという不都合がある。
これに対し、U.C.バークレイ校製RISC(Reduced Inst
ruction Set Computer:基本的な簡易命令しか持たない
コンピュータ)では、第8図に示すように互いにある一
定の数のレジスタがオーバラップした複数のレジスタセ
ットRSA,RSB,RSC,……が設けられている。そのため、サ
ブルーチンへジャンプする際の引数の引き渡し等が簡単
に行える。しかるに、複数のレジスタセットが互いに常
にオーバラップしていると、タスクを移行した場合で、
引数の引き渡し等を行わなくてもよい場合には、重複し
た部分のレジスタが使えなくなるため、使用可能なレジ
スタ数が制限されるという不都合がある。
ruction Set Computer:基本的な簡易命令しか持たない
コンピュータ)では、第8図に示すように互いにある一
定の数のレジスタがオーバラップした複数のレジスタセ
ットRSA,RSB,RSC,……が設けられている。そのため、サ
ブルーチンへジャンプする際の引数の引き渡し等が簡単
に行える。しかるに、複数のレジスタセットが互いに常
にオーバラップしていると、タスクを移行した場合で、
引数の引き渡し等を行わなくてもよい場合には、重複し
た部分のレジスタが使えなくなるため、使用可能なレジ
スタ数が制限されるという不都合がある。
この発明の目的は、複数のレジシスタセットの切り替
えの際の柔軟性を向上させ、データ処理システムの実行
速度を向上させることができるようにすることにある。
えの際の柔軟性を向上させ、データ処理システムの実行
速度を向上させることができるようにすることにある。
この発明の前記ならびにそのほかの目的と新規な特徴
については、本明細書の記述および添附図面から明らか
になるであろう。
については、本明細書の記述および添附図面から明らか
になるであろう。
〔問題点を解決するための手段〕 本願において開示される発明のうち代表的なものの概
要を説明すれば、下記のとおりである。
要を説明すれば、下記のとおりである。
すなわち、複数のレジスタセットを有するデータ処理
システムにおいて、レジスタセットを切り替える際にレ
ジスタを指定してその内容を他のレジスタセット内のレ
ジスタに引き渡す命令を新たに作り、これをハードウェ
アで実現できるようにする。
システムにおいて、レジスタセットを切り替える際にレ
ジスタを指定してその内容を他のレジスタセット内のレ
ジスタに引き渡す命令を新たに作り、これをハードウェ
アで実現できるようにする。
上記した手段によれば、引数等の引き渡しを伴なって
レジスタセットの切替えを行うことも、引数等の引き渡
しを伴わないレジスタセットの切替えも行えるようにな
る。その結果高速のタスク切替えやサブルーチンコール
が実現できるので、レジスタセットの切替えの際の柔軟
性を向上させ、システムの実行速度を向上させるという
上記目的を達成できる。
レジスタセットの切替えを行うことも、引数等の引き渡
しを伴わないレジスタセットの切替えも行えるようにな
る。その結果高速のタスク切替えやサブルーチンコール
が実現できるので、レジスタセットの切替えの際の柔軟
性を向上させ、システムの実行速度を向上させるという
上記目的を達成できる。
第1図(A)〜第1図(B)には、本発明に係るレジ
スタセット切替え命令のフォーマットの一例が示されて
いる。
スタセット切替え命令のフォーマットの一例が示されて
いる。
第1図(A)に示されているフォーマットは、複数の
レジスタセット(以下、レジスタバンクと称する)のう
ち、隣接するレジスタバンクに切り替える命令に適した
フォーマットである。オペレーションコード指定フィー
ルドOP1には、レジスタバンクの番号をインクリメント
するコードまたはデクリメントするコードが入る。オペ
レーションコード指定フィールドOP1に続くフィールド
Rは、レジスタ内容の引き渡しがあるか否かを示すため
設けられたフィールドであり、1ビットで構成される。
このフィールドRが“0"にされていると、あるレジスタ
バンク(例えばBN1)から一つ前あるいは一つ後のレジ
スタバンクBNi−1またはBNi+1に切替わる際に、レジ
スタバンBNi内の全レジスタの内容を一切引き渡すこと
なくバンクの切替えが行われる。
レジスタセット(以下、レジスタバンクと称する)のう
ち、隣接するレジスタバンクに切り替える命令に適した
フォーマットである。オペレーションコード指定フィー
ルドOP1には、レジスタバンクの番号をインクリメント
するコードまたはデクリメントするコードが入る。オペ
レーションコード指定フィールドOP1に続くフィールド
Rは、レジスタ内容の引き渡しがあるか否かを示すため
設けられたフィールドであり、1ビットで構成される。
このフィールドRが“0"にされていると、あるレジスタ
バンク(例えばBN1)から一つ前あるいは一つ後のレジ
スタバンクBNi−1またはBNi+1に切替わる際に、レジ
スタバンBNi内の全レジスタの内容を一切引き渡すこと
なくバンクの切替えが行われる。
一方フィールドRに“1"が設定されていると、これに
続くレジスタ指定フィールドRn−listで指定されるレジ
スタについては、その内容を切替え後のレジスタバンク
BNi−1またはBNi+1内の対応するレジスタへの引き渡
しが行われることを意味する。
続くレジスタ指定フィールドRn−listで指定されるレジ
スタについては、その内容を切替え後のレジスタバンク
BNi−1またはBNi+1内の対応するレジスタへの引き渡
しが行われることを意味する。
なお、特に制限されないが、この実施例では、各レジ
スタバンクが16本のレジスタで構成される場合を想定し
て、レジスタ指定フィールドRn−listが16ビットで構成
され、かつビット対応で内容を引き渡すべきレジスタを
指定できるようにされている。例えば、第1図(A)の
例では、使用中のレジスタバンク内の1番と4番のレジ
スタR1とR4の内容を切替後のレジスタバンク内の1番と
4番のレジスタに引き渡すべきことを示している。
スタバンクが16本のレジスタで構成される場合を想定し
て、レジスタ指定フィールドRn−listが16ビットで構成
され、かつビット対応で内容を引き渡すべきレジスタを
指定できるようにされている。例えば、第1図(A)の
例では、使用中のレジスタバンク内の1番と4番のレジ
スタR1とR4の内容を切替後のレジスタバンク内の1番と
4番のレジスタに引き渡すべきことを示している。
この命令を使用して、レジスタバンクBN1からBN2への
切替え(インクリメント)を行う場合の作用が第3図
(A)に示されている。ただしこの場合、バンク番号を
インクリメントする命令(IBNRと表記する)が使用され
る。レジスタバンクをBN2からBN1に戻すには、バンク番
号をデクリメントする命令(DBNRと表記する)を使用
し、フィールドRとレジスタ指定フィールドRn−listの
設定は上記と同じにすればよい。
切替え(インクリメント)を行う場合の作用が第3図
(A)に示されている。ただしこの場合、バンク番号を
インクリメントする命令(IBNRと表記する)が使用され
る。レジスタバンクをBN2からBN1に戻すには、バンク番
号をデクリメントする命令(DBNRと表記する)を使用
し、フィールドRとレジスタ指定フィールドRn−listの
設定は上記と同じにすればよい。
次に、第1図(B)に示されている命令フォーマット
について説明する。このフォーマットは、使用中のレジ
スタバンクをこれとは離れた(隣接しない)位置のレジ
スタバンクに切替える命令(CBNRと表記する)に適して
いる。
について説明する。このフォーマットは、使用中のレジ
スタバンクをこれとは離れた(隣接しない)位置のレジ
スタバンクに切替える命令(CBNRと表記する)に適して
いる。
このCBNR命令は、第1図(A)の命令フォーマットの
フィールドRとレジスタ指定フィールドRn−listとの間
に、切替え後のレジスタバンクの番号を指定するための
イミーディエイトデータ指定フィールドImmが設けられ
た構成にされている。このCBNR命令によつて、例えば、
レジスタバンクBN0からBN2への切替えが実行される。し
かも、その際、第3図(B)に示すように、バンク内の
任意のレジスタ例えばレジスタR1,R4を指定してその内
容を引き渡したり、全く引き渡しを伴なわないでレジス
タバンクの切替えが行える。引き渡しの有無は、フィー
ルドR内の情報によって決定され、命令の内容はオペレ
ーションコード指定フィールドOP2内の情報によって決
定される。
フィールドRとレジスタ指定フィールドRn−listとの間
に、切替え後のレジスタバンクの番号を指定するための
イミーディエイトデータ指定フィールドImmが設けられ
た構成にされている。このCBNR命令によつて、例えば、
レジスタバンクBN0からBN2への切替えが実行される。し
かも、その際、第3図(B)に示すように、バンク内の
任意のレジスタ例えばレジスタR1,R4を指定してその内
容を引き渡したり、全く引き渡しを伴なわないでレジス
タバンクの切替えが行える。引き渡しの有無は、フィー
ルドR内の情報によって決定され、命令の内容はオペレ
ーションコード指定フィールドOP2内の情報によって決
定される。
特に制限されないが、この実施例ではオペレーション
ワード長との関係で、イミーディエイトデータ指定フィ
ールドImmが8ビット長にされている。これによって、
最大256個のレジスタバンクまで対応することができ
る。
ワード長との関係で、イミーディエイトデータ指定フィ
ールドImmが8ビット長にされている。これによって、
最大256個のレジスタバンクまで対応することができ
る。
なお、このCBNR命令によってレジスタバンクの切替え
を行う場合、切替え前のレジスタバンク番号をスタック
領域等に覚えておけば元のレジスタバンクへ戻る動作が
容易になる。従って、その場合には、第1図(A)に示
すフォーマットと同じフォーマットからなる命令(PBNR
と表記する)によって、元のレジスタバンクの番号をス
タック領域から持ってくることにより、上記CBNR命令を
使わずに元のレジスタバンクの復帰を行うことができ
る。
を行う場合、切替え前のレジスタバンク番号をスタック
領域等に覚えておけば元のレジスタバンクへ戻る動作が
容易になる。従って、その場合には、第1図(A)に示
すフォーマットと同じフォーマットからなる命令(PBNR
と表記する)によって、元のレジスタバンクの番号をス
タック領域から持ってくることにより、上記CBNR命令を
使わずに元のレジスタバンクの復帰を行うことができ
る。
次に第1図(C)示されている命令フォーマットにつ
いて説明する。このフォーマットは、オペレーションコ
ード指定フィールドOP3とレジスタ指定フィールドRn−l
istとから構成される。レジスタ内容の引き渡しがある
か否かを示すための専用フィールドRは設けられていな
い。レジスタ内容を引き渡しの有無に関する情報は、オ
ペレーションコード指定フィールドOP3に含まれてい
る。特に限定されないが、オペレーションコード指定フ
ィールドOP3は8ビットで構成される。この命令が実行
されることにより、上記第3図(A)に示されるように
レジスタセットの切替えが行なわれる。
いて説明する。このフォーマットは、オペレーションコ
ード指定フィールドOP3とレジスタ指定フィールドRn−l
istとから構成される。レジスタ内容の引き渡しがある
か否かを示すための専用フィールドRは設けられていな
い。レジスタ内容を引き渡しの有無に関する情報は、オ
ペレーションコード指定フィールドOP3に含まれてい
る。特に限定されないが、オペレーションコード指定フ
ィールドOP3は8ビットで構成される。この命令が実行
されることにより、上記第3図(A)に示されるように
レジスタセットの切替えが行なわれる。
次に第1図(D)に示される命令フォーマットについ
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP4とイミーディエイトデータ指定フ
ィールドImmとレジスタ指定フィールドRn−listとから
構成される。レジスタ内容の引き渡しがあるか否かを示
すための専用フィールドRは設けられていない。レジス
タ内容の引き渡しの有無に関する情報は、オペレーショ
ンコード指定フィールドOP4に含まれている。この命令
が実行されることにより、上記第3図(C)に示される
ようにレジスタセットの切替えが行なわれる。
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP4とイミーディエイトデータ指定フ
ィールドImmとレジスタ指定フィールドRn−listとから
構成される。レジスタ内容の引き渡しがあるか否かを示
すための専用フィールドRは設けられていない。レジス
タ内容の引き渡しの有無に関する情報は、オペレーショ
ンコード指定フィールドOP4に含まれている。この命令
が実行されることにより、上記第3図(C)に示される
ようにレジスタセットの切替えが行なわれる。
次に第1図(E)に示される命令フォーマットについ
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP5と引渡し有無指定フィールドRと
イミーディエイトデータ指定フィールドImmと引渡し元
レジスタ指定フィールドRn−list(ソース)と引渡し先
レジスタ指定フィールドRn−list(デスティエイショ
ン)とから構成される。引渡し先レジスタ指定フィール
ドRn−list(デスティエイション)は、レジスタバンク
内のレジスタの数に対応して、16のフィールドRL0〜RL1
5に分割されている。各フィールドRL0〜RL15は、転移先
のレジスタ番号を示すために4ビット分の領域が割当て
られている。例えば、フィールドRL2は、引渡し先レジ
スタバンク内の第7番目のレジスタR7を指定している。
また、フィールドRL15は、引渡し先レジスタバンク内の
第12番目のレジスタRL12を指定している。第1図(E)
に示す命令に基づいてレジスタバンクが切替えられる場
合の一例を第3図(C)に示す。レジスタバンクBN0内
のレジスタのうち、引き渡されるレジスタR2,R15は引渡
し元レジスタ指定フィールドRn−list(ソース)内の情
報によって指定される。切替え後のレジスタバンクの番
号BN2はイミーディエイトデータ指定フィールドImm内の
情報によって指定される。第1図(E)に示す命令フォ
ーマットを用いることにより、任意のレジスタバンク間
で、任意のレジスタ間での引き渡しが可能になる。
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP5と引渡し有無指定フィールドRと
イミーディエイトデータ指定フィールドImmと引渡し元
レジスタ指定フィールドRn−list(ソース)と引渡し先
レジスタ指定フィールドRn−list(デスティエイショ
ン)とから構成される。引渡し先レジスタ指定フィール
ドRn−list(デスティエイション)は、レジスタバンク
内のレジスタの数に対応して、16のフィールドRL0〜RL1
5に分割されている。各フィールドRL0〜RL15は、転移先
のレジスタ番号を示すために4ビット分の領域が割当て
られている。例えば、フィールドRL2は、引渡し先レジ
スタバンク内の第7番目のレジスタR7を指定している。
また、フィールドRL15は、引渡し先レジスタバンク内の
第12番目のレジスタRL12を指定している。第1図(E)
に示す命令に基づいてレジスタバンクが切替えられる場
合の一例を第3図(C)に示す。レジスタバンクBN0内
のレジスタのうち、引き渡されるレジスタR2,R15は引渡
し元レジスタ指定フィールドRn−list(ソース)内の情
報によって指定される。切替え後のレジスタバンクの番
号BN2はイミーディエイトデータ指定フィールドImm内の
情報によって指定される。第1図(E)に示す命令フォ
ーマットを用いることにより、任意のレジスタバンク間
で、任意のレジスタ間での引き渡しが可能になる。
次に第1図(F)に示される命令フォーマットについ
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP6とイミーディエイトデータ指定フ
ィールドImmと引渡し元レジスタ指定フィールドRn−lis
t(ソース)と引渡し先レジスタ指定フィールドRn−lis
t′(デスティネイション)とから構成される。引渡し
先レジスタ指定フィールドRn−list′(デスティネイシ
ョン)は、第1図(E)に示すフォーマットと異なり、
2つのフィールドRLa,RLbに分割されている。各フィー
ルドRLa,RLbは、切替え後のレジスタバンク内のレジス
タ番号を指定するために4ビットが割り当てられてい
る。この命令フォーマットは、引き渡されるレジスタの
数が2つ以下に限定されている場合に特に有効である。
命令フォーマットの全ビット長を短縮できるからであ
る。例えば、第1図(E)の引渡し先レジスタ指定フィ
ールドRn−list(デスティネイション)は64ビットで構
成されているが、第1図(F)の引渡し先レジスタ指定
フィールドRn−list′(デスティネイション)はわずか
8ビットで構成することができる。なお、第1図(F)
のフォーマットにおいては、引渡元レジスタ番号と引渡
先レジスタ番号との対応をとるための情報をオペレーシ
ョンコード指定フィールドOP6内に含ませる必要があ
る。すなわち、引渡し元レジスタ指定フィールドRn−li
st(ソース)によって指定されたレジスタR2の引渡し先
がフィールドRLaによって指定され、レジスタR15の引き
渡し先がレジスタRLbによって指定されるように対応づ
けられる。第1図(F)に示す命令に基づいてレジスタ
バンクが切替えられる場合の一例は、上記第3図(C)
に示される。
て説明する。このフォーマットは、オペレーションコー
ド指定フィールドOP6とイミーディエイトデータ指定フ
ィールドImmと引渡し元レジスタ指定フィールドRn−lis
t(ソース)と引渡し先レジスタ指定フィールドRn−lis
t′(デスティネイション)とから構成される。引渡し
先レジスタ指定フィールドRn−list′(デスティネイシ
ョン)は、第1図(E)に示すフォーマットと異なり、
2つのフィールドRLa,RLbに分割されている。各フィー
ルドRLa,RLbは、切替え後のレジスタバンク内のレジス
タ番号を指定するために4ビットが割り当てられてい
る。この命令フォーマットは、引き渡されるレジスタの
数が2つ以下に限定されている場合に特に有効である。
命令フォーマットの全ビット長を短縮できるからであ
る。例えば、第1図(E)の引渡し先レジスタ指定フィ
ールドRn−list(デスティネイション)は64ビットで構
成されているが、第1図(F)の引渡し先レジスタ指定
フィールドRn−list′(デスティネイション)はわずか
8ビットで構成することができる。なお、第1図(F)
のフォーマットにおいては、引渡元レジスタ番号と引渡
先レジスタ番号との対応をとるための情報をオペレーシ
ョンコード指定フィールドOP6内に含ませる必要があ
る。すなわち、引渡し元レジスタ指定フィールドRn−li
st(ソース)によって指定されたレジスタR2の引渡し先
がフィールドRLaによって指定され、レジスタR15の引き
渡し先がレジスタRLbによって指定されるように対応づ
けられる。第1図(F)に示す命令に基づいてレジスタ
バンクが切替えられる場合の一例は、上記第3図(C)
に示される。
次に、第1図(G)に示される命令フォーマットにつ
いて説明する。このフォーマットは、オペレーションコ
ード指定フィールドOP7とイミーディエイトデータ指定
フィールドImmと引渡し元レジスタ指定フィールドRn−l
ist(ソース)とにより構成される。第1図(G)に示
す命令に基づいてレジスタバンクが切替えられる場合の
一例を第3図(D)に示す。この命令フォーマットにお
いては、引渡し先レジスタ指定フィールドは設けられて
いない。レジスタバンクが切替えられた際、引き渡すべ
きレジスタがある場合には、新しいレジスタバンクBN2
内の最も若い番号のレジスタR0から順に指定される。こ
のような指定順序はオペレーションコード指定フィール
ドOP7内の情報によって規定される。
いて説明する。このフォーマットは、オペレーションコ
ード指定フィールドOP7とイミーディエイトデータ指定
フィールドImmと引渡し元レジスタ指定フィールドRn−l
ist(ソース)とにより構成される。第1図(G)に示
す命令に基づいてレジスタバンクが切替えられる場合の
一例を第3図(D)に示す。この命令フォーマットにお
いては、引渡し先レジスタ指定フィールドは設けられて
いない。レジスタバンクが切替えられた際、引き渡すべ
きレジスタがある場合には、新しいレジスタバンクBN2
内の最も若い番号のレジスタR0から順に指定される。こ
のような指定順序はオペレーションコード指定フィール
ドOP7内の情報によって規定される。
次に、上記のようなフォーマットに構成されたレジス
タバンク切替え命令の実行を可能にするマイクロプロセ
ッサのハードウェア構成の一例を第4図を用いて説明す
る。
タバンク切替え命令の実行を可能にするマイクロプロセ
ッサのハードウェア構成の一例を第4図を用いて説明す
る。
この実施例のマイクロプロセッサは、マイクロプログ
ラム制御方式の制御部を備えている。すなわち、マイク
ロプロセッサを構成するLSIチップ1内には、マイクロ
プログラムが格納されたマイクロROM(リード・オンリ
・メモリ)2が設けられている。マイクロROM2は、マイ
クロアドレスデコーダ5によってアクセスされ、マイク
ロプログラムを構成するマイクロ命令が順次読み出され
る。
ラム制御方式の制御部を備えている。すなわち、マイク
ロプロセッサを構成するLSIチップ1内には、マイクロ
プログラムが格納されたマイクロROM(リード・オンリ
・メモリ)2が設けられている。マイクロROM2は、マイ
クロアドレスデコーダ5によってアクセスされ、マイク
ロプログラムを構成するマイクロ命令が順次読み出され
る。
マイクロアドレスデコーダ5には、命令レジスタ3に
フェッチされたマクロ命令のオペレーションコードに基
づいてマイクロアドレス発生回路4において発生された
アドレスが供給される。これをデコードすることによっ
て、そのマクロ命令を実行する一連のマイクロ命令群の
最初の命令が読み出され、各種テンポラリレジスタREG1
〜REGn,データバッファDB,演算論理ユニットALU等から
なる実行ユニット6等に対する制御信号が形成される。
マクロ命令に対応する一連のマイクロ命令群のうち2番
目以降のマイクロ命令は直前に読み出されたマイクロ命
令のネクストアドレスフィールドのコードがマイクロア
ドレスデコーダ5に供給されることにより、前のマイク
ロ命令のネクストアドレスとマイクロアドレス発生回路
4からのアドレスとに基づいて読み出される。このよう
にして、一連のマイクロ命令が読み出されて形成された
制御信号によって実行ユニット6が制御され、例えばAD
Dで示される加算命令のようなマクロ命令が実行され
る。
フェッチされたマクロ命令のオペレーションコードに基
づいてマイクロアドレス発生回路4において発生された
アドレスが供給される。これをデコードすることによっ
て、そのマクロ命令を実行する一連のマイクロ命令群の
最初の命令が読み出され、各種テンポラリレジスタREG1
〜REGn,データバッファDB,演算論理ユニットALU等から
なる実行ユニット6等に対する制御信号が形成される。
マクロ命令に対応する一連のマイクロ命令群のうち2番
目以降のマイクロ命令は直前に読み出されたマイクロ命
令のネクストアドレスフィールドのコードがマイクロア
ドレスデコーダ5に供給されることにより、前のマイク
ロ命令のネクストアドレスとマイクロアドレス発生回路
4からのアドレスとに基づいて読み出される。このよう
にして、一連のマイクロ命令が読み出されて形成された
制御信号によって実行ユニット6が制御され、例えばAD
Dで示される加算命令のようなマクロ命令が実行され
る。
この実施例では、例えば16個のレジスタバンクBN0〜B
N15からなる汎用レジスタ群12およびコントロールレジ
スタ群11を制御する機能を有するメモリアクセス制御回
路7が設けられている。上記16個のレジスタバンクBN0
〜BN15は、特に制限されないが例えば第2図に示すよう
に、各々32ビット長のレジスタ0〜15からなる。コント
ロールレジスタ11には、ステータスレジスタSRやスタッ
クポインタSP、現在使用中のレジスタバンクの番号を保
持するバンク番号レジスタBNR等が設けられている。こ
の実施例では、上記レジスタバンクBN0〜BN15からなる
汎用レジスタ群12およびコントロールレジスタ群11は、
RAM(ランダム・アクセス・メモリ)によって構成され
ており、内部バス10を介して実行ユニット6内のデータ
バッファDBに接続されている。
N15からなる汎用レジスタ群12およびコントロールレジ
スタ群11を制御する機能を有するメモリアクセス制御回
路7が設けられている。上記16個のレジスタバンクBN0
〜BN15は、特に制限されないが例えば第2図に示すよう
に、各々32ビット長のレジスタ0〜15からなる。コント
ロールレジスタ11には、ステータスレジスタSRやスタッ
クポインタSP、現在使用中のレジスタバンクの番号を保
持するバンク番号レジスタBNR等が設けられている。こ
の実施例では、上記レジスタバンクBN0〜BN15からなる
汎用レジスタ群12およびコントロールレジスタ群11は、
RAM(ランダム・アクセス・メモリ)によって構成され
ており、内部バス10を介して実行ユニット6内のデータ
バッファDBに接続されている。
また、上記命令レジスタ3はFIFO(ファースト・イン
・ファーストアウト)メモリからなり、外部のメモリに
格納されたマクロ命令は、上記メモリアクセス制御回路
7がアドレスバス8をアクセスすることによってバイト
単位で読み出され、データバス9を介してFIFOメモリか
らなる命令レジスタ3に供給される。このようにして、
前もって複数のオペレーションコードやオペランドが命
令レジスタ3に取り込まれるようになっている。
・ファーストアウト)メモリからなり、外部のメモリに
格納されたマクロ命令は、上記メモリアクセス制御回路
7がアドレスバス8をアクセスすることによってバイト
単位で読み出され、データバス9を介してFIFOメモリか
らなる命令レジスタ3に供給される。このようにして、
前もって複数のオペレーションコードやオペランドが命
令レジスタ3に取り込まれるようになっている。
上記のように、この実施例のマイクロプロセッサで
は、16個のレジスタバンクBN0〜BN15のうち一つを使っ
て各タスクを処理できるようになっている。
は、16個のレジスタバンクBN0〜BN15のうち一つを使っ
て各タスクを処理できるようになっている。
上記マイクロプロセッサの命令レジスタ3に、第1図
(A)に示すようなレジスタバンク切替え命令IBNRまた
はDBNRが入って来ると、対応するマイクロ命令がマイク
ロROM2か読み出される。そして、そのマイクロコードに
よってメモリアクセス制御回路7が制御され、例えばメ
モリアクセス制御回路7がそれまで使用していたレジス
タバンクがBNiであった場合には、BNi+1またはBNi−
1のバンクを使用して以後の処理を行うように切替えが
行われる。そして、その際、フィールドRのビットが
“1"であればRn−listで指定されたレジスタについて
は、その内容を他のバンク内の対応するレジスタ又は特
別に指定されたレジスタに移す処理が行われる。また、
バンク番号レジスタBNR内のバンク番号の変更が行われ
る。
(A)に示すようなレジスタバンク切替え命令IBNRまた
はDBNRが入って来ると、対応するマイクロ命令がマイク
ロROM2か読み出される。そして、そのマイクロコードに
よってメモリアクセス制御回路7が制御され、例えばメ
モリアクセス制御回路7がそれまで使用していたレジス
タバンクがBNiであった場合には、BNi+1またはBNi−
1のバンクを使用して以後の処理を行うように切替えが
行われる。そして、その際、フィールドRのビットが
“1"であればRn−listで指定されたレジスタについて
は、その内容を他のバンク内の対応するレジスタ又は特
別に指定されたレジスタに移す処理が行われる。また、
バンク番号レジスタBNR内のバンク番号の変更が行われ
る。
一方、命令レジスタ3に第1図(B)のようなレジス
タバンク切替え命令CBNRが入って来て対応するマイクロ
命令が読み出されると、イミーディエイトデータ指定フ
ィールドImmで指定されたレジスタバンク番号がバンク
番号レジスタBNRに書き込まれ、バンク番号の変更が行
われる。それとともに指定されたレジスタの引き渡しが
行われる。これとともに、それまでバンク番号レジスタ
BNRに入っていた使用中のバンク番号がプログラムカウ
ンタの内容等とともに外部のメモリのスタック領域に格
納される。
タバンク切替え命令CBNRが入って来て対応するマイクロ
命令が読み出されると、イミーディエイトデータ指定フ
ィールドImmで指定されたレジスタバンク番号がバンク
番号レジスタBNRに書き込まれ、バンク番号の変更が行
われる。それとともに指定されたレジスタの引き渡しが
行われる。これとともに、それまでバンク番号レジスタ
BNRに入っていた使用中のバンク番号がプログラムカウ
ンタの内容等とともに外部のメモリのスタック領域に格
納される。
そして、レジスタバンク切替え命令PBNRがロードされ
ると、コントロールレジスタ群11内のスタックポインタ
で指示されるスタック領域から退避されていたもとのレ
ジスタバンク番号が読み出されて、バンク番号レジスタ
BNRにロードされるとともに、汎用レジスタ群12内の使
用中バンクの切替えおよび必要なレジスタ内容の引き渡
しが行われる。
ると、コントロールレジスタ群11内のスタックポインタ
で指示されるスタック領域から退避されていたもとのレ
ジスタバンク番号が読み出されて、バンク番号レジスタ
BNRにロードされるとともに、汎用レジスタ群12内の使
用中バンクの切替えおよび必要なレジスタ内容の引き渡
しが行われる。
従って、上記命令CBNRを利用すると、例えばサブルー
チンの際に引数等の引き渡しを伴なってメインルーチン
からサブルーチンへ容易にジャンプして他のタスク処理
を実行することができるとともに、PBNR命令を利用する
ことによりメインルーチンの元の位置へ速やかにリター
ンして元の処理を続行することができる。
チンの際に引数等の引き渡しを伴なってメインルーチン
からサブルーチンへ容易にジャンプして他のタスク処理
を実行することができるとともに、PBNR命令を利用する
ことによりメインルーチンの元の位置へ速やかにリター
ンして元の処理を続行することができる。
第5図は、本発明に係るレジスタバンク切替命令の実
行を可能にするマイクロプロセッサの他の構成例を示
す。第4図に示されるマイクロプロセッサと異なる点
は、コントロールレジスタ群の構成手段である。第4図
におけるコントロールレジスタ群11は、RAM内に設けら
れているが、第5図におけるコントロールレジスタ群CR
は、専用記憶手段としての複数のレジスタによって構成
されている。これらのレジスタは、同種構成のテンポラ
リーレジスタREG1〜REGnと同様に、実行ユニット6内に
設けることができる。
行を可能にするマイクロプロセッサの他の構成例を示
す。第4図に示されるマイクロプロセッサと異なる点
は、コントロールレジスタ群の構成手段である。第4図
におけるコントロールレジスタ群11は、RAM内に設けら
れているが、第5図におけるコントロールレジスタ群CR
は、専用記憶手段としての複数のレジスタによって構成
されている。これらのレジスタは、同種構成のテンポラ
リーレジスタREG1〜REGnと同様に、実行ユニット6内に
設けることができる。
第6図は、本発明に係るレジスタバンク切替命令の実
行を可能にするマイクロプロセッサの他の構成例を示
す。第5図に示されるマイクロプロセッサと異なる点
は、レジスタバンクBN0〜BN15の構成手段である。第5
図におけるレジスタバンクBN0〜BN15は、RAM内に設けら
ているが、第6図におけるレジスタバンクBN0〜BN15
は、専用記憶手段としての複数のレジスタによって構成
されている。これらのレジスタは、同種構成のテンポラ
リーレジスタREG1〜REGnと同様に実行ユニット6内に設
けることができる。レジスタバンクBN0〜BN15を実行ユ
ニット内に設けることにより、レジスタバンクBN0〜BN1
5の内容を保持するための上記データバッファDBを実行
ユニット内に設ける必要がなくなる。また、メモリアク
セスコントローラ7に代って、レジスタアクセスコント
ローラ7′が設けられる。
行を可能にするマイクロプロセッサの他の構成例を示
す。第5図に示されるマイクロプロセッサと異なる点
は、レジスタバンクBN0〜BN15の構成手段である。第5
図におけるレジスタバンクBN0〜BN15は、RAM内に設けら
ているが、第6図におけるレジスタバンクBN0〜BN15
は、専用記憶手段としての複数のレジスタによって構成
されている。これらのレジスタは、同種構成のテンポラ
リーレジスタREG1〜REGnと同様に実行ユニット6内に設
けることができる。レジスタバンクBN0〜BN15を実行ユ
ニット内に設けることにより、レジスタバンクBN0〜BN1
5の内容を保持するための上記データバッファDBを実行
ユニット内に設ける必要がなくなる。また、メモリアク
セスコントローラ7に代って、レジスタアクセスコント
ローラ7′が設けられる。
なお、本発明により提案されたレジスタバンク切替え
命令は、第1図(A)〜同図(G)のフォーマットに限
定されず、例えばレジスタ指定フィールドRn−listやイ
ミーディエイトデータ指定フィールドImmのフィールド
の大きさは、汎用レジスタ群としてのRAM(12)の容量
や各レジスタバンクBNiのレジスタ本数に応じて変更で
きることはいうまでもない。
命令は、第1図(A)〜同図(G)のフォーマットに限
定されず、例えばレジスタ指定フィールドRn−listやイ
ミーディエイトデータ指定フィールドImmのフィールド
の大きさは、汎用レジスタ群としてのRAM(12)の容量
や各レジスタバンクBNiのレジスタ本数に応じて変更で
きることはいうまでもない。
本発明によれば、複数のレジスタセットを有するマイ
クロプロセッサにおいて、レジスタセットを切替える際
にレジスタを指定してその内容を他のレジスタセット内
のレジスタに引渡す命令を新たに作ったので、引数等の
引き渡しを伴なってレジスタセットの切替えを行うこと
も、引数等の引き渡しを伴なわないレジスタセットの切
替えも行えるようになり、これによって高速のタスク切
替えやサブルーチンコールが実現できるという作用によ
り、レジスタセットの切替えの際の柔軟性が向上され、
システムの実行速度が向上されるという効果がある。
クロプロセッサにおいて、レジスタセットを切替える際
にレジスタを指定してその内容を他のレジスタセット内
のレジスタに引渡す命令を新たに作ったので、引数等の
引き渡しを伴なってレジスタセットの切替えを行うこと
も、引数等の引き渡しを伴なわないレジスタセットの切
替えも行えるようになり、これによって高速のタスク切
替えやサブルーチンコールが実現できるという作用によ
り、レジスタセットの切替えの際の柔軟性が向上され、
システムの実行速度が向上されるという効果がある。
以上本発明者によってなされた発明を実施例に基づき
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、レジスタバン
クBN0〜BN15はマイクロプロセッサ1の外部に設ける構
成であってもよい。また、以上の説明では主として本発
明者によってなされた発明をその背景となった利用分野
であるマイクロプロセッサに適用した場合について説明
したが、この発明はそれに限定されるものでなく、計算
機やミニコン等プログラム制御方式のデータ処理システ
ム一般に利用することができる。
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、レジスタバン
クBN0〜BN15はマイクロプロセッサ1の外部に設ける構
成であってもよい。また、以上の説明では主として本発
明者によってなされた発明をその背景となった利用分野
であるマイクロプロセッサに適用した場合について説明
したが、この発明はそれに限定されるものでなく、計算
機やミニコン等プログラム制御方式のデータ処理システ
ム一般に利用することができる。
第1図(A)〜同図(G)は本発明に係るレジスタセッ
ト切替命令のフォーマットの例を示す説明図、 第2図は、第4図〜第7図におけるレジスタバンクの構
成例を示す説明図、 第3図(A)〜同図(D)は、本発明に係るレジスタセ
ット切替命令の作用を示す説明図、 第4図〜第6図は、本発明に係るレジスタセット切替命
令を実行可能にするマイクロプロセッサの構成例を示す
ブロック図、 第7図,第8図は、従来のマイクロプロセッサにおける
レジスタセット切替え方式を示す説明図である。 ALU……演算論理ユニット、REG1〜REGn……テンポラリ
レジスタ、OP1〜OP7……オペレーションコード指定フィ
ールド、Rn−list……レジスタ指定フィールド、Imm…
…イミーディエイトデータ指定フィールド、BN0〜BN15
……レジスタセット(レジスタバンク)。
ト切替命令のフォーマットの例を示す説明図、 第2図は、第4図〜第7図におけるレジスタバンクの構
成例を示す説明図、 第3図(A)〜同図(D)は、本発明に係るレジスタセ
ット切替命令の作用を示す説明図、 第4図〜第6図は、本発明に係るレジスタセット切替命
令を実行可能にするマイクロプロセッサの構成例を示す
ブロック図、 第7図,第8図は、従来のマイクロプロセッサにおける
レジスタセット切替え方式を示す説明図である。 ALU……演算論理ユニット、REG1〜REGn……テンポラリ
レジスタ、OP1〜OP7……オペレーションコード指定フィ
ールド、Rn−list……レジスタ指定フィールド、Imm…
…イミーディエイトデータ指定フィールド、BN0〜BN15
……レジスタセット(レジスタバンク)。
Claims (5)
- 【請求項1】命令を実行する命令実行手段と、命令を解
読して上記命令実行手段を制御し所定のデータ処理を行
なわせる制御手段と、上記命令実行手段と接続され各々
が所定数のレジスタからなる複数のレジスタ群とを備
え、いずれか1つのレジスタ群を選択的に使用してデー
タの処理を行なうデータ処理装置において、上記制御手
段は、命令の内容を特定する情報と1つのレジスタ群内
の一又は2以上のレジスタを指定するレジスタ指定情報
とを含む所定の命令が取り込まれたときに、上記使用中
のレジスタ群を他のレジスタ群に切り替える制御信号
と、上記レジスタ指定情報で指定されたレジスタの内容
を上記他のレジスタ群内の所定のレジスタに転送させる
制御信号とを生成するように構成されていることを特徴
とするデータ処理装置。 - 【請求項2】上記命令はさらに、上記他のレジスタ群を
指定する情報を含むことを特徴とする特許請求の範囲第
1項記載のデータ処理装置。 - 【請求項3】上記命令はさらに、上記使用中のレジスタ
群内の1又は2以上レジスタの内容を上記他のレジスタ
群内のレジスタに引き渡すか否かを指示する情報を含む
ことを特徴とする特許請求の範囲第1項または第2項記
載のデータ処理装置。 - 【請求項4】上記命令はさらに、上記他のレジスタ群内
の転送先のレジスタを指定する情報を含むことを特徴と
する特許請求の範囲第1項または第2項記載のデータ処
理装置。 - 【請求項5】上記レジスタ指定情報は、上記レジスタ群
内のレジスタ数と同じビット数を有し、ビット対応でレ
ジスタを指定できるようにされてなることを特徴とする
特許請求の範囲第1項、第2項または第3項記載のデー
タ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10192187A JP2514963B2 (ja) | 1987-04-27 | 1987-04-27 | デ―タ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10192187A JP2514963B2 (ja) | 1987-04-27 | 1987-04-27 | デ―タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63268033A JPS63268033A (ja) | 1988-11-04 |
JP2514963B2 true JP2514963B2 (ja) | 1996-07-10 |
Family
ID=14313373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10192187A Expired - Lifetime JP2514963B2 (ja) | 1987-04-27 | 1987-04-27 | デ―タ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2514963B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03286231A (ja) * | 1990-03-30 | 1991-12-17 | Matsushita Electric Ind Co Ltd | リアルタイム処理装置 |
JP2668456B2 (ja) * | 1991-01-22 | 1997-10-27 | 三菱電機株式会社 | ビット検索回路及びそれを備えたデータ処理装置 |
JP5945760B2 (ja) * | 2013-02-22 | 2016-07-05 | 株式会社ソフイア | 遊技機 |
JP5945761B2 (ja) * | 2013-02-22 | 2016-07-05 | 株式会社ソフイア | 遊技機 |
JP5990670B2 (ja) * | 2013-02-22 | 2016-09-14 | 株式会社ソフイア | 遊技機 |
JP6103459B2 (ja) * | 2016-05-02 | 2017-03-29 | 株式会社ソフイア | 遊技機 |
JP6154514B2 (ja) * | 2016-05-02 | 2017-06-28 | 株式会社ソフイア | 遊技機 |
-
1987
- 1987-04-27 JP JP10192187A patent/JP2514963B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63268033A (ja) | 1988-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5077657A (en) | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor | |
JPS59133650A (ja) | マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法 | |
KR940009095B1 (ko) | 데이터 처리시스템 | |
JPS62197830A (ja) | デ−タ処理システム | |
JP3605978B2 (ja) | マイクロコンピュータ | |
JP2514963B2 (ja) | デ―タ処理装置 | |
US5117387A (en) | Microprogrammed timer processor | |
JPS645330B2 (ja) | ||
JP3510729B2 (ja) | 命令実行方法および命令実行装置 | |
EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
JPH0916409A (ja) | マイクロコンピュータ | |
JP2680828B2 (ja) | ディジタル装置 | |
US5115513A (en) | Microprogrammed timer processor | |
JP2826309B2 (ja) | 情報処理装置 | |
JPH0377137A (ja) | 情報処理装置 | |
JPH0218729B2 (ja) | ||
JPS6155130B2 (ja) | ||
JPH0353321A (ja) | 情報処理装置 | |
JP2825315B2 (ja) | 情報処理装置 | |
JPS63153637A (ja) | デ−タ処理装置 | |
JPS61267135A (ja) | デ−タ処理装置 | |
JPH0218732B2 (ja) | ||
JPH0340075A (ja) | マイクロコンピュータ | |
JPS6028014B2 (ja) | マイクロプロセツサ | |
JPH02259839A (ja) | データ処理装置 |