JP2665081B2 - マイクロコンピュータのレジスタ間データ転送方式 - Google Patents
マイクロコンピュータのレジスタ間データ転送方式Info
- Publication number
- JP2665081B2 JP2665081B2 JP3193504A JP19350491A JP2665081B2 JP 2665081 B2 JP2665081 B2 JP 2665081B2 JP 3193504 A JP3193504 A JP 3193504A JP 19350491 A JP19350491 A JP 19350491A JP 2665081 B2 JP2665081 B2 JP 2665081B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- register
- latch
- read
- data latch
- 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 - Fee Related
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
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)
- Advance Control (AREA)
- Microcomputers (AREA)
Description
【0001】
【産業上の利用分野】この発明は、内蔵RAMによって
構成されるレジスタファイルを有するマイクロコンピュ
ータに関し、特にレジスタファイル内のレジスタ・レジ
スタ間でのデータ転送が高速化できるマイクロコンピュ
ータのレジスタ間データ転送方式に関するものである。
構成されるレジスタファイルを有するマイクロコンピュ
ータに関し、特にレジスタファイル内のレジスタ・レジ
スタ間でのデータ転送が高速化できるマイクロコンピュ
ータのレジスタ間データ転送方式に関するものである。
【0002】
【従来の技術】図5は従来の内蔵RAMで構成されたレ
ジスタファイルを有するマイクロコンピュータの構成を
示すブロック図である。図5において、1は内蔵RAM
で構成されたレジスタファイル、2は内部データバス、
3,4はテンポラリレジスタ、5は内部データバス2上
のデータをテンポラリレジスタ3,4を介して入力して
各種演算を実行し、その演算結果を内部データバス2に
出力する算術論理演算回路(以下、ALUという)、6
はレジスタファイル内のレジスタをさし示すためのアド
レスを保持するデータポインタである。
ジスタファイルを有するマイクロコンピュータの構成を
示すブロック図である。図5において、1は内蔵RAM
で構成されたレジスタファイル、2は内部データバス、
3,4はテンポラリレジスタ、5は内部データバス2上
のデータをテンポラリレジスタ3,4を介して入力して
各種演算を実行し、その演算結果を内部データバス2に
出力する算術論理演算回路(以下、ALUという)、6
はレジスタファイル内のレジスタをさし示すためのアド
レスを保持するデータポインタである。
【0003】次に、図5に示す従来のマイクロコンピュ
ータにおいて、レジスタファイル1内のレジスタ・レジ
スタ間のデータ転送とデータポインタのインクリメント
処理を行う命令が実行される場合の動作について説明す
る。実行される命令の内容は、レジスタファイル1のレ
ジスタRmに格納されているデータを、データポインタ
6で示されるレジスタ(例えばレジスタRn)に転送
し、かつ、データポインタを1インクリメントするもの
である。この命令のニーモニックをM0V Rm,@+
1とする。命令 M0V Rm,@+1を実行するため
には、ALU5による演算が2回必要である。1回目は
レジスタRmに格納されているデータのレジスタRnへ
の転送であり、2回目はデータポインタ6のインクリメ
ントである。
ータにおいて、レジスタファイル1内のレジスタ・レジ
スタ間のデータ転送とデータポインタのインクリメント
処理を行う命令が実行される場合の動作について説明す
る。実行される命令の内容は、レジスタファイル1のレ
ジスタRmに格納されているデータを、データポインタ
6で示されるレジスタ(例えばレジスタRn)に転送
し、かつ、データポインタを1インクリメントするもの
である。この命令のニーモニックをM0V Rm,@+
1とする。命令 M0V Rm,@+1を実行するため
には、ALU5による演算が2回必要である。1回目は
レジスタRmに格納されているデータのレジスタRnへ
の転送であり、2回目はデータポインタ6のインクリメ
ントである。
【0004】図6,図7は上記のALU5による2回の
演算におけるデータの流れを示す図であり、構成される
回路については図5で示すものと同じものである。ま
ず、1回目の演算では、レジスタファイル1のレジスタ
Rmに格納されているデータが読出され、そのデータが
内部データバス2を介してテンポラリレジスタ3に格納
される(図6の点線a)。次に、テンポラリレジスタ4
に図示されない制御部により、定数データ“0”が設定
され、また、図示されない制御部によりALU5が制御
され、このALU5によってテンポラリレジスタ3と4
とのデータの論理和(OR)が実行される。そして、最
後に、ALU5の出力のデータが内部データバス2を介
してレジスタファイル1に転送され、レジスタRnに書
込まれる(図6の点線b)。
演算におけるデータの流れを示す図であり、構成される
回路については図5で示すものと同じものである。ま
ず、1回目の演算では、レジスタファイル1のレジスタ
Rmに格納されているデータが読出され、そのデータが
内部データバス2を介してテンポラリレジスタ3に格納
される(図6の点線a)。次に、テンポラリレジスタ4
に図示されない制御部により、定数データ“0”が設定
され、また、図示されない制御部によりALU5が制御
され、このALU5によってテンポラリレジスタ3と4
とのデータの論理和(OR)が実行される。そして、最
後に、ALU5の出力のデータが内部データバス2を介
してレジスタファイル1に転送され、レジスタRnに書
込まれる(図6の点線b)。
【0005】次に、2回目のALU5の演算では、デー
タポインタ6の1インクリメントの処理が行われる。ま
ず、データポインタ6の内容が内部データバス2を介し
てテンポラリレジスタ3に格納される(図7の点線
c)。次に、テンポラリレジスタ4に図示されない制御
部により定数データ“1”が設定され、図示されない制
御部によってALU5が制御されることにより、テンポ
ラリレジスタ3と4とのデータの加算が実行される。最
後に、その加算の結果であるALU5の出力データが内
部データバス2を介して、データポインタ6に書き戻さ
れる(図7の点線d)。
タポインタ6の1インクリメントの処理が行われる。ま
ず、データポインタ6の内容が内部データバス2を介し
てテンポラリレジスタ3に格納される(図7の点線
c)。次に、テンポラリレジスタ4に図示されない制御
部により定数データ“1”が設定され、図示されない制
御部によってALU5が制御されることにより、テンポ
ラリレジスタ3と4とのデータの加算が実行される。最
後に、その加算の結果であるALU5の出力データが内
部データバス2を介して、データポインタ6に書き戻さ
れる(図7の点線d)。
【0006】以上説明した従来のマイクロコンピュータ
におけるレジスタ・レジスタ間のデータ転送の処理を時
系列に示したのが図8である。データ転送の命令は図示
しない命令デコード部でデコードされ(ステップS1
0)、レジスタ間のデータ転送が行われ(ステップS1
1)、データポインタの制御処理が行われ(ステップS
12)、次の命令が図示しない命令デコード部でデコー
ドされていた。
におけるレジスタ・レジスタ間のデータ転送の処理を時
系列に示したのが図8である。データ転送の命令は図示
しない命令デコード部でデコードされ(ステップS1
0)、レジスタ間のデータ転送が行われ(ステップS1
1)、データポインタの制御処理が行われ(ステップS
12)、次の命令が図示しない命令デコード部でデコー
ドされていた。
【0007】
【発明が解決しようとする課題】上記のような従来のマ
イクロコンピュータでは、レジスタファイル内のレジス
タ・レジスタ間のデータ転送を行う場合、レジスタ間の
データ転送(ステップS11)の後に、データポインタ
の制御処理(ステップS12)を行っていた。すなわ
ち、データ転送のソースとなるレジスタ(ソースレジス
タ)から任意の転送先のレジスタ(ディスティネーショ
ンレジスタ)にデータを転送する場合、ソースとなるレ
ジスタから読出されたデータが、いったんALUの操作
を介して転送先のレジスタに書込まれていた。このた
め、レジスタ・レジスタ間のデータ転送の速度が遅く、
さらに、加算,減算等のデータ加工をともなわない単純
な転送操作にALU、テンポラリレジスタ,内部バスが
使われているため、データの転送中はALU,テンポラ
リレジスタ等のハードウエア資源が使えないといった問
題点があった。
イクロコンピュータでは、レジスタファイル内のレジス
タ・レジスタ間のデータ転送を行う場合、レジスタ間の
データ転送(ステップS11)の後に、データポインタ
の制御処理(ステップS12)を行っていた。すなわ
ち、データ転送のソースとなるレジスタ(ソースレジス
タ)から任意の転送先のレジスタ(ディスティネーショ
ンレジスタ)にデータを転送する場合、ソースとなるレ
ジスタから読出されたデータが、いったんALUの操作
を介して転送先のレジスタに書込まれていた。このた
め、レジスタ・レジスタ間のデータ転送の速度が遅く、
さらに、加算,減算等のデータ加工をともなわない単純
な転送操作にALU、テンポラリレジスタ,内部バスが
使われているため、データの転送中はALU,テンポラ
リレジスタ等のハードウエア資源が使えないといった問
題点があった。
【0008】この発明は、上記問題を解決するためにな
されたものであり、レジスタファイル内のレジスタ・レ
ジスタ間のデータ転送をALUを介さずに簡単な構成の
回路で行うことにより、レジスタファイル内のレジスタ
・レジスタ間データ転送の高速化をはかると共に、レジ
スタ・レジスタ間データ転送中、ALU等のハードウエ
ア資源をレジスタ間データ転送以外の用途に並行して使
用できるマイクロコンピュータのレジスタ間データ転送
方式を提供することにある。
されたものであり、レジスタファイル内のレジスタ・レ
ジスタ間のデータ転送をALUを介さずに簡単な構成の
回路で行うことにより、レジスタファイル内のレジスタ
・レジスタ間データ転送の高速化をはかると共に、レジ
スタ・レジスタ間データ転送中、ALU等のハードウエ
ア資源をレジスタ間データ転送以外の用途に並行して使
用できるマイクロコンピュータのレジスタ間データ転送
方式を提供することにある。
【0009】
【課題を解決するための手段】この第1の発明にかかる
マイクロコンピュータのレジスタ間データ転送方式にお
いては、図1で示すように、レジスタファイル1内の任
意のレジスタRmから読出したデータをラッチする読出
し用データラッチ21と、レジスタファイル1内の転送
先のレジスタRnに書込むデータをラッチする書込み用
データラッチ22と、上記読出し用データラッチにラッ
チされたデータをデータバスを介さずに上記書込み用デ
ータラッチに直接転送するバイパス機構23とを設け
た。
マイクロコンピュータのレジスタ間データ転送方式にお
いては、図1で示すように、レジスタファイル1内の任
意のレジスタRmから読出したデータをラッチする読出
し用データラッチ21と、レジスタファイル1内の転送
先のレジスタRnに書込むデータをラッチする書込み用
データラッチ22と、上記読出し用データラッチにラッ
チされたデータをデータバスを介さずに上記書込み用デ
ータラッチに直接転送するバイパス機構23とを設け
た。
【0010】この第2の発明にかかるマイクロコンピュ
ータのレジスタ間データ転送方式においては、図4で示
すように、上記バイパス機構に、上記読出し用データラ
ッチから上記書込み用データラッチに転送するデータを
遮断または通過させる第1のゲート(ゲート24)と、
読出し用データラッチからデータバスに転送するデータ
を遮断または通過させる第2のゲート(ゲート25)
と、データバスから書込み用データラッチに転送される
データを遮断または通過させる第3のゲート(ゲート2
6)と、これら第1,第2,第3ゲートを制御するバイ
パス制御回路27とを備えた。
ータのレジスタ間データ転送方式においては、図4で示
すように、上記バイパス機構に、上記読出し用データラ
ッチから上記書込み用データラッチに転送するデータを
遮断または通過させる第1のゲート(ゲート24)と、
読出し用データラッチからデータバスに転送するデータ
を遮断または通過させる第2のゲート(ゲート25)
と、データバスから書込み用データラッチに転送される
データを遮断または通過させる第3のゲート(ゲート2
6)と、これら第1,第2,第3ゲートを制御するバイ
パス制御回路27とを備えた。
【0011】
【作用】上記のように構成された第1の発明のマイクロ
コンピュータのレジスタ間データ転送方式では、上記の
読出し用データラッチ,バイパス機構および書込み用デ
ータラッチを介して、上記任意のレジスタから上記転送
先レジスタにデータを直接転送する処理と、上記データ
ポインタを制御する処理とを並行して行う。
コンピュータのレジスタ間データ転送方式では、上記の
読出し用データラッチ,バイパス機構および書込み用デ
ータラッチを介して、上記任意のレジスタから上記転送
先レジスタにデータを直接転送する処理と、上記データ
ポインタを制御する処理とを並行して行う。
【0012】第2の発明のマイクロコンピュータのレジ
スタ間データ転送方式では、データのバイパスが図示し
ない制御部から指示されると、バイパス制御部27が第
2,第3ゲートを閉じて、上記読出し用データラッチお
よび上記書込み用データラッチからデータバスへのデー
タの入・出力を阻止し、上記第1ゲートを開いてデータ
をバイパスする。
スタ間データ転送方式では、データのバイパスが図示し
ない制御部から指示されると、バイパス制御部27が第
2,第3ゲートを閉じて、上記読出し用データラッチお
よび上記書込み用データラッチからデータバスへのデー
タの入・出力を阻止し、上記第1ゲートを開いてデータ
をバイパスする。
【0013】以上説明したように第1および第2の発明
のマイクロコンピュータのレジスタ間データ転送方式で
は、内蔵RAMの読出し用データラッチと、内蔵RAM
の書込み用データラッチと、これらラッチ間のバイパス
機構によりレジスタファイル内のレジスタ・レジスタ間
データ転送をALUを介さずに行うため、レジスタ・レ
ジスタ間データ転送を高速に簡単な構成で行うことがで
きる。また、レジスタ・レジスタ間のデータ転送中、A
LU等のハードウエア資源をレジスタ間データ転送と並
行して使用することができる。
のマイクロコンピュータのレジスタ間データ転送方式で
は、内蔵RAMの読出し用データラッチと、内蔵RAM
の書込み用データラッチと、これらラッチ間のバイパス
機構によりレジスタファイル内のレジスタ・レジスタ間
データ転送をALUを介さずに行うため、レジスタ・レ
ジスタ間データ転送を高速に簡単な構成で行うことがで
きる。また、レジスタ・レジスタ間のデータ転送中、A
LU等のハードウエア資源をレジスタ間データ転送と並
行して使用することができる。
【0014】
【実施例】以下、第1および第2の発明について、図面
を参照して説明する。図1は第1の発明の一実施例を示
すマイクロコンピュータの構成を示すブロック図であ
る。図1において、1は内蔵RAMのレジスタファイ
ル、2は内部データバス、3,4はテンポラリレジス
タ、6はデータポインタであり、図5で示したものと機
能は同じである。21は読出し用データラッチ、22は
書込み用データラッチ、23はバイパス機構である。
を参照して説明する。図1は第1の発明の一実施例を示
すマイクロコンピュータの構成を示すブロック図であ
る。図1において、1は内蔵RAMのレジスタファイ
ル、2は内部データバス、3,4はテンポラリレジス
タ、6はデータポインタであり、図5で示したものと機
能は同じである。21は読出し用データラッチ、22は
書込み用データラッチ、23はバイパス機構である。
【0015】読出し用データラッチ21は、図示しない
制御部によって、レジスタファイル1内の任意のレジス
タ(例えばレジスタRm)からデータを読出してラッチ
する。書込み用データラッチ22は上記制御部によっ
て、レジスタファイル1内の転送先のレジスタ(例えば
レジスタRn)にラッチしているデータを書き込む。バ
イパス機構23は、上記制御部によって、読出し用デー
タラッチ21にラッチされたデータを、内部データバス
1を介さずに書込み用データラッチ22にバイパスす
る。
制御部によって、レジスタファイル1内の任意のレジス
タ(例えばレジスタRm)からデータを読出してラッチ
する。書込み用データラッチ22は上記制御部によっ
て、レジスタファイル1内の転送先のレジスタ(例えば
レジスタRn)にラッチしているデータを書き込む。バ
イパス機構23は、上記制御部によって、読出し用デー
タラッチ21にラッチされたデータを、内部データバス
1を介さずに書込み用データラッチ22にバイパスす
る。
【0016】図2は、図1のマイクロコンピュータに命
令を実行させた場合の信号の流れを示す図であり、図3
は図2の命令実行におけるデータ処理の概要を時系列で
示した図である。次に、この実施例の動作について図
2,図3を参照して説明する。すでに説明した従来例と
同じ命令 M0V Rm,@+1(任意のレジスタ間デ
ータ転送命令)を実行させてた場合、図示しない制御部
の制御により、上記命令は図示しない命令デコード部で
デコードされ、図示しない制御信号生成部で制御信号に
変換され、レジスタファイル1,テンポラリレジスタ3
および4,ALU5,データポインタ6,読出し用デー
タラッチ21,書込み用データラッチ22,バイパス機
構23に与えられる。まず、レジスタファイル1では、
レジスタファイル1内のレジスタRmのデータが読出し
用データラッチ21に読出される(図2の点線a)。次
に、読出し用データラッチに読出されたレジスタRmの
データは、内部のデータバス2に直接出力されず、バイ
パス機構23によって書込み用データラッチ22にバイ
パスされる(図2の点線b)。そして、ただちにデータ
ポインタ6で示されるレジスタ(レジスタファイル1の
レジスタRn)に書込まれる(図2の点線c)。
令を実行させた場合の信号の流れを示す図であり、図3
は図2の命令実行におけるデータ処理の概要を時系列で
示した図である。次に、この実施例の動作について図
2,図3を参照して説明する。すでに説明した従来例と
同じ命令 M0V Rm,@+1(任意のレジスタ間デ
ータ転送命令)を実行させてた場合、図示しない制御部
の制御により、上記命令は図示しない命令デコード部で
デコードされ、図示しない制御信号生成部で制御信号に
変換され、レジスタファイル1,テンポラリレジスタ3
および4,ALU5,データポインタ6,読出し用デー
タラッチ21,書込み用データラッチ22,バイパス機
構23に与えられる。まず、レジスタファイル1では、
レジスタファイル1内のレジスタRmのデータが読出し
用データラッチ21に読出される(図2の点線a)。次
に、読出し用データラッチに読出されたレジスタRmの
データは、内部のデータバス2に直接出力されず、バイ
パス機構23によって書込み用データラッチ22にバイ
パスされる(図2の点線b)。そして、ただちにデータ
ポインタ6で示されるレジスタ(レジスタファイル1の
レジスタRn)に書込まれる(図2の点線c)。
【0017】一方、ALU5およびデータポインタ6で
は、データポインタのデータが内部データバス2を介し
てテンポラリレジスタ3に書込まれる(図2の点線
d)。次に、図示しない制御部によって、テンポラリレ
ジスタ4に定数データの“1”が設定される。そして図
示しない制御部によって、ALU5が制御され、テンポ
ラリレジスタ3のデータとテンポラリレジスタ4の定数
データ“1”とが加算され、内部データバス2を介して
データポインタ6に書き戻され、データポインタのイン
クリメント制御処理が行われる。このデータポインタ6
が示すデータは、次の命令で使用されるレジスタファイ
ル1内のレジスタのアドレスを示す。
は、データポインタのデータが内部データバス2を介し
てテンポラリレジスタ3に書込まれる(図2の点線
d)。次に、図示しない制御部によって、テンポラリレ
ジスタ4に定数データの“1”が設定される。そして図
示しない制御部によって、ALU5が制御され、テンポ
ラリレジスタ3のデータとテンポラリレジスタ4の定数
データ“1”とが加算され、内部データバス2を介して
データポインタ6に書き戻され、データポインタのイン
クリメント制御処理が行われる。このデータポインタ6
が示すデータは、次の命令で使用されるレジスタファイ
ル1内のレジスタのアドレスを示す。
【0018】上記で説明した動作の概要を、時系列で示
したのが図3であり、M0V Rm,@+1の命令が図
示しない命令デコード部でデコードされ(ステップS
1)、データポインタ6のデータが“1”加算されて書
き戻されてデータポインタの制御処理が行われ(ステッ
プS2)、次の命令が図示しないデコード部でデコード
される(ステップS4)。また、レジスタ1内のレジス
タRmのデータは、読出し用データラッチ21で読出さ
れ、バイパス機構23で書込み用データラッチ22にバ
イパスされ、書込み用データラッチ22でレジスタファ
イル1内のレジスタRnに転送される(ステップS
3)。
したのが図3であり、M0V Rm,@+1の命令が図
示しない命令デコード部でデコードされ(ステップS
1)、データポインタ6のデータが“1”加算されて書
き戻されてデータポインタの制御処理が行われ(ステッ
プS2)、次の命令が図示しないデコード部でデコード
される(ステップS4)。また、レジスタ1内のレジス
タRmのデータは、読出し用データラッチ21で読出さ
れ、バイパス機構23で書込み用データラッチ22にバ
イパスされ、書込み用データラッチ22でレジスタファ
イル1内のレジスタRnに転送される(ステップS
3)。
【0019】このように、上記のデータ転送方法によっ
て、レジスタファイル1内のレジスタ・レジスタ間デー
タ転送(ステップS3)が行われた場合、このステップ
S3の処理の間はALU5,テンポラリレジスタ3およ
び4,内部データバス1を使用していない。したがっ
て、レジスタ・レジスタ間データ転送と並行して、デー
タポインタ6のインクリメント処理を行うことができ、
レジスタ・レジスタ間のデータ転送が高速になる。
て、レジスタファイル1内のレジスタ・レジスタ間デー
タ転送(ステップS3)が行われた場合、このステップ
S3の処理の間はALU5,テンポラリレジスタ3およ
び4,内部データバス1を使用していない。したがっ
て、レジスタ・レジスタ間データ転送と並行して、デー
タポインタ6のインクリメント処理を行うことができ、
レジスタ・レジスタ間のデータ転送が高速になる。
【0020】図4は、第2の発明のレジスタファイルに
おけるレジスタ・レジスタ間転送を行うバイパス機構の
一例を示す回路図である。図4において、バイパス機構
23の24は第1のゲートとしてのゲート、25は第2
のゲートとしてのゲート、26は第3のゲートとしての
ゲート、27はゲート24〜26を制御するバイパス制
御部であり、レジスタファイル1,内部データバス2,
読出し用データラッチ21,書込み用データラッチ22
については、図1および図2で示したものと同じ機能を
もっている。
おけるレジスタ・レジスタ間転送を行うバイパス機構の
一例を示す回路図である。図4において、バイパス機構
23の24は第1のゲートとしてのゲート、25は第2
のゲートとしてのゲート、26は第3のゲートとしての
ゲート、27はゲート24〜26を制御するバイパス制
御部であり、レジスタファイル1,内部データバス2,
読出し用データラッチ21,書込み用データラッチ22
については、図1および図2で示したものと同じ機能を
もっている。
【0021】ゲート24は、読出し用データラッチ21
から書込み用データラッチ22に転送するデータをゲー
トのオンまたはオフによって通過または遮断する。ゲー
ト25は読出し用データラッチ24にラッチされたデー
タを、ゲートのオンまたはオフによって通過または遮断
する。ゲート26は書込み用データラッチ26にラッチ
されたデータをゲートのオンまたはオフによって通過ま
たは遮断する。バイパス制御部27は、ゲート25およ
び26をオフすることによって、読出し用データラッチ
21および書込み用データラッチ26にラッチされたデ
ータのデータバス2への入,出力を阻止し、また、ゲー
ト24をオンとすることによって、読出し用データラッ
チ21から書込み用データラッチ22に、ラッチされた
データをバイパスする。
から書込み用データラッチ22に転送するデータをゲー
トのオンまたはオフによって通過または遮断する。ゲー
ト25は読出し用データラッチ24にラッチされたデー
タを、ゲートのオンまたはオフによって通過または遮断
する。ゲート26は書込み用データラッチ26にラッチ
されたデータをゲートのオンまたはオフによって通過ま
たは遮断する。バイパス制御部27は、ゲート25およ
び26をオフすることによって、読出し用データラッチ
21および書込み用データラッチ26にラッチされたデ
ータのデータバス2への入,出力を阻止し、また、ゲー
ト24をオンとすることによって、読出し用データラッ
チ21から書込み用データラッチ22に、ラッチされた
データをバイパスする。
【0022】レジスタファイル1内のレジスタRmから
レジスタRnにデータ転送される場合、レジスタRmの
データは読出し用データラッチ21に読出されてラッチ
される。読出し用データラッチ21にラッチされたデー
タは、バイパス制御部27によってゲート24がオンさ
れ、書込み用データラッチ22にバイパスされ、書込み
用データラッチ22にラッチされる。そして、ラッチさ
れたデータは、書込み用データラッチ22によってレジ
スタファイル1のレジスタRnに書込まれる。このレジ
スタRmのデータがレジスタRnに転送されている間
は、バイパス制御部27によって、ゲート25および2
6がオフされ、読出し用データラッチ21および書込み
用データラッチ22にラッチされたデータが内部データ
バス2に出力されないように制御される。
レジスタRnにデータ転送される場合、レジスタRmの
データは読出し用データラッチ21に読出されてラッチ
される。読出し用データラッチ21にラッチされたデー
タは、バイパス制御部27によってゲート24がオンさ
れ、書込み用データラッチ22にバイパスされ、書込み
用データラッチ22にラッチされる。そして、ラッチさ
れたデータは、書込み用データラッチ22によってレジ
スタファイル1のレジスタRnに書込まれる。このレジ
スタRmのデータがレジスタRnに転送されている間
は、バイパス制御部27によって、ゲート25および2
6がオフされ、読出し用データラッチ21および書込み
用データラッチ22にラッチされたデータが内部データ
バス2に出力されないように制御される。
【0023】なお、上記実施例においては、内部データ
バスが1系統のみの例を示したが、ソースとなるレジス
タと転送先のレジスタとの間でデータを各々別の2系統
のバスで転送する、いわゆる、2バス方式や、2つのソ
ースとなるレジスタと1つの転送先のレジスタとの間で
データを各々別の3系統のバスで転送する、いわゆる、
3バス方式を採用するCPUでもよい。また、上記実施
例においては、レジスタファイル内のレジスタ・レジス
タ間のデータ転送中に、データポインタのインクリメン
ト処理を行う場合について示したが、この他にも、レジ
スタ・レジスタ間のデータ転送中、ALU等の空いたハ
ードウエア資源を利用して、次の命令を実行するなどの
処理を行ってもよい。
バスが1系統のみの例を示したが、ソースとなるレジス
タと転送先のレジスタとの間でデータを各々別の2系統
のバスで転送する、いわゆる、2バス方式や、2つのソ
ースとなるレジスタと1つの転送先のレジスタとの間で
データを各々別の3系統のバスで転送する、いわゆる、
3バス方式を採用するCPUでもよい。また、上記実施
例においては、レジスタファイル内のレジスタ・レジス
タ間のデータ転送中に、データポインタのインクリメン
ト処理を行う場合について示したが、この他にも、レジ
スタ・レジスタ間のデータ転送中、ALU等の空いたハ
ードウエア資源を利用して、次の命令を実行するなどの
処理を行ってもよい。
【0024】
【発明の効果】この第1の発明は、以上説明したよう
に、任意のレジスタから読出したデータをラッチする読
出し用データラッチと、レジスタファイル内の転送先の
レジスタに書込むデータをラッチする書込み用データラ
ッチと、上記読出し用データラッチにラッチされたデー
タをデータバスを介さずに上記書込み用データラッチに
直接転送するバイパス機構とを設けたため、レジスタフ
ァイル内のレジスタ・レジスタ間データ転送をALUを
介さずに行うことができ、レジスタファイル内のレジス
タ・レジスタ間データ転送を高速に行うことができる効
果がある。また、レジスタファイル内のレジスタ・レジ
スタ間データ転送中、ALU等のハードウエア資源を転
送と並行してデータ転送と別の演算操作に使用すること
ができる効果もある。
に、任意のレジスタから読出したデータをラッチする読
出し用データラッチと、レジスタファイル内の転送先の
レジスタに書込むデータをラッチする書込み用データラ
ッチと、上記読出し用データラッチにラッチされたデー
タをデータバスを介さずに上記書込み用データラッチに
直接転送するバイパス機構とを設けたため、レジスタフ
ァイル内のレジスタ・レジスタ間データ転送をALUを
介さずに行うことができ、レジスタファイル内のレジス
タ・レジスタ間データ転送を高速に行うことができる効
果がある。また、レジスタファイル内のレジスタ・レジ
スタ間データ転送中、ALU等のハードウエア資源を転
送と並行してデータ転送と別の演算操作に使用すること
ができる効果もある。
【0025】この第2の発明は、上記バイパス機構を、
上記読出し用データラッチから上記書込み用データラッ
チに転送するデータを遮断または通過させる第1のゲー
トと、読出し用データラッチからデータバスに転送する
データを遮断または通過させる第2ゲートと、データバ
スから書込み用データラッチに転送されるデータを遮断
または通過させる第3のゲートと、これら第1,第2,
第3のゲートを制御するバイパス制御回路とを備えたた
め、第1の発明の効果の他に簡単な回路でバイパス機構
を構成できる効果がある。
上記読出し用データラッチから上記書込み用データラッ
チに転送するデータを遮断または通過させる第1のゲー
トと、読出し用データラッチからデータバスに転送する
データを遮断または通過させる第2ゲートと、データバ
スから書込み用データラッチに転送されるデータを遮断
または通過させる第3のゲートと、これら第1,第2,
第3のゲートを制御するバイパス制御回路とを備えたた
め、第1の発明の効果の他に簡単な回路でバイパス機構
を構成できる効果がある。
【図1】第1の発明の一実施例を示すマイクロコンピュ
ータの構成を示すブロック図である。
ータの構成を示すブロック図である。
【図2】図1のマイクロコンピュータに命令を実行させ
た場合の信号の流れを示す図である。
た場合の信号の流れを示す図である。
【図3】図2の命令実行におけるデータ処理の概要を時
系列で示す図である。
系列で示す図である。
【図4】第2の発明のマイクロコンピュータにおけるバ
イパス機構の一例を示す回路図である。
イパス機構の一例を示す回路図である。
【図5】従来のマイクロコンピュータの構成を示すブロ
ック図である。
ック図である。
【図6】図5のマイクロコンピュータに命令を実行させ
た場合の信号の流れを示す図である。
た場合の信号の流れを示す図である。
【図7】図6と同じく命令を実行させた場合の信号の流
れを示す図である。
れを示す図である。
【図8】図5および図6の命令実行におけるデータ処理
の概要を時系列で示す図である。
の概要を時系列で示す図である。
1 レジスタファイル 2 内部データバス 3,4 テンポラリレジスタ 5 ALU 6 データポインタ 21 読出し用データラッチ 22 書込み用データラッチ 23 バイパス機構 24〜26 ゲート
Claims (2)
- 【請求項1】 内蔵RAMによって構成された複数のレ
ジスタより成るレジスタファイルを備え、データを上記
レジスタファイル内の任意のレジスタから他の転送先の
レジスタに転送する処理と、上記データの転送先のレジ
スタを示すデータポインタを制御するデータポインタ制
御処理とを行うマイクロコンピュータのレジスタ間転送
方式において、上記任意のレジスタから読出したデータ
をラッチする読出し用データラッチと、上記転送先レジ
スタに書込むデータをラッチする書込み用データラッチ
と、上記読出し用データラッチにラッチされたデータを
データバスを介さずに上記書込み用データラッチに直接
転送するバイパス機構とを設け、これらの読出し用デー
タラッチ,バイパス機構および書込み用データラッチを
介して、上記任意のレジスタから上記転送先のレジスタ
にデータを転送する処理と、上記データポインタを制御
する処理とを並行して行うことを特徴とするマイクロコ
ンピュータのレジスタ間データ転送方式。 - 【請求項2】 上記バイパス機構は、上記読出し用デー
タラッチから上記書込み用データラッチに転送するデー
タを遮断または通過させる第1のゲートと、読出し用デ
ータラッチからデータバスに転送するデータを遮断また
は通過させる第2のゲートと、データバスから書込み用
データラッチに転送されるデータを遮断または通過させ
る第3のゲートと、これら第1,第2,第3のゲートを
制御するバイパス制御回路とを備え、データのバイパス
が指示されると、上記バイパス制御部が第2,第3のゲ
ートを閉じて、上記読出し用データラッチおよび上記書
込み用データラッチからデータバスへのデータの入・出
力を阻止し、上記第1ゲートを開いてデータをバイパス
することを特徴とする請求項1記載のマイクロコンピュ
ータのレジスタ間データ転送方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193504A JP2665081B2 (ja) | 1991-07-08 | 1991-07-08 | マイクロコンピュータのレジスタ間データ転送方式 |
US07/909,868 US5303354A (en) | 1991-07-08 | 1992-07-07 | Data transfer system between registers for microcomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193504A JP2665081B2 (ja) | 1991-07-08 | 1991-07-08 | マイクロコンピュータのレジスタ間データ転送方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0511977A JPH0511977A (ja) | 1993-01-22 |
JP2665081B2 true JP2665081B2 (ja) | 1997-10-22 |
Family
ID=16309153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3193504A Expired - Fee Related JP2665081B2 (ja) | 1991-07-08 | 1991-07-08 | マイクロコンピュータのレジスタ間データ転送方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5303354A (ja) |
JP (1) | JP2665081B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0670076A (ja) * | 1992-08-19 | 1994-03-11 | Toshiba Corp | ファクシミリ蓄積交換システム |
JPH07219769A (ja) * | 1994-02-07 | 1995-08-18 | Mitsubishi Electric Corp | マイクロプロセッサ |
JPH08117487A (ja) * | 1994-10-27 | 1996-05-14 | Sookoo Kk | 多数の洗濯物干ハンガーを装備した物干具 |
EP0745941B1 (en) * | 1995-06-02 | 2003-08-06 | Sun Microsystems, Inc. | A system and method for providing a flexible memory hierarchy |
EP0764907A1 (en) * | 1995-09-22 | 1997-03-26 | International Business Machines Corporation | Method and system for error recovery in a data processing system |
US5854909A (en) * | 1995-09-29 | 1998-12-29 | Intel Corporation | Test and control access architecture for an integrated circuit |
US6115730A (en) * | 1996-02-28 | 2000-09-05 | Via-Cyrix, Inc. | Reloadable floating point unit |
KR100211073B1 (ko) * | 1996-08-30 | 1999-07-15 | 구본준 | 레지스터 파일 및 그 운영 시스템 |
US6003112A (en) * | 1997-06-30 | 1999-12-14 | Intel Corporation | Memory controller and method for clearing or copying memory utilizing register files to store address information |
JPH1165840A (ja) * | 1997-08-11 | 1999-03-09 | Sony Corp | 演算処理装置およびその方法 |
US6606672B1 (en) * | 1998-06-03 | 2003-08-12 | Mustek Systems Inc. | Single-chip-based electronic appliance using a data bus for reading and writing data concurrently |
US7398374B2 (en) * | 2002-02-27 | 2008-07-08 | Hewlett-Packard Development Company, L.P. | Multi-cluster processor for processing instructions of one or more instruction threads |
US7085873B1 (en) * | 2002-06-21 | 2006-08-01 | Cypress Semiconductor Corp. | ATA device access system with surrogate registers corresponding to ATA registers |
US7669041B2 (en) * | 2006-10-06 | 2010-02-23 | Stream Processors, Inc. | Instruction-parallel processor with zero-performance-overhead operand copy |
US20180203694A1 (en) * | 2017-01-16 | 2018-07-19 | Intel Corporation | Execution Unit with Selective Instruction Pipeline Bypass |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54100634A (en) * | 1978-01-26 | 1979-08-08 | Toshiba Corp | Computer |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4853849A (en) * | 1986-12-17 | 1989-08-01 | Intel Corporation | Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction |
JPH0648461B2 (ja) * | 1987-07-09 | 1994-06-22 | 日本電気株式会社 | マイクロプログラムの転送レジスタ指定方式 |
US4916601A (en) * | 1988-12-19 | 1990-04-10 | Bull Hn Information Systems Inc. | Means for transferring firmware signals between a control store and a microprocessor means through a reduced number of connections by transfer according to firmware signal function |
-
1991
- 1991-07-08 JP JP3193504A patent/JP2665081B2/ja not_active Expired - Fee Related
-
1992
- 1992-07-07 US US07/909,868 patent/US5303354A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0511977A (ja) | 1993-01-22 |
US5303354A (en) | 1994-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2665081B2 (ja) | マイクロコンピュータのレジスタ間データ転送方式 | |
US4896259A (en) | Apparatus for storing modifying data prior to selectively storing data to be modified into a register | |
US6233670B1 (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing | |
JPS6351287B2 (ja) | ||
JPH05342084A (ja) | データ記憶装置及びデータ記憶方法 | |
JPH0673105B2 (ja) | 命令パイプライン方式のマイクロプロセッサ | |
JPS583040A (ja) | 情報処理装置 | |
KR910001708B1 (ko) | 중앙처리장치 | |
JPS594049B2 (ja) | コンピュ−タ装置 | |
JPS623347A (ja) | エラ−回復情報退避方式 | |
JPS6161416B2 (ja) | ||
JPH0222413B2 (ja) | ||
JPH03271829A (ja) | 情報処理装置 | |
EP0177712B1 (en) | Masked data fetch and modifying device | |
JPS60134957A (ja) | 並列型演算処理装置 | |
JP2859921B2 (ja) | 命令キュー制御装置 | |
JP3068406B2 (ja) | ベクトル演算装置 | |
JPS60193046A (ja) | 命令例外検出方式 | |
JPH033047A (ja) | 演算機能付きメモリ | |
JPS61118840A (ja) | 電子計算機の制御方式 | |
JPS6250855B2 (ja) | ||
JPH0553804A (ja) | 並列処理装置 | |
JPS58114250A (ja) | 共有マイクロプロセツサ | |
JPH023822A (ja) | データ処理装置 | |
JPH0546389A (ja) | 並列処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080620 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |