JPH09292974A - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JPH09292974A JPH09292974A JP8106890A JP10689096A JPH09292974A JP H09292974 A JPH09292974 A JP H09292974A JP 8106890 A JP8106890 A JP 8106890A JP 10689096 A JP10689096 A JP 10689096A JP H09292974 A JPH09292974 A JP H09292974A
- Authority
- JP
- Japan
- Prior art keywords
- carry
- arithmetic
- microprocessor
- arithmetic logic
- logic operation
- 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.)
- Withdrawn
Links
Abstract
(57)【要約】
【課題】 回路規模を増大させることなく処理速度を向
上することができるマイクロプロセッサを提供する。 【解決手段】 マイクロプロセッサの演算部30は、8
ビット×4個のALU31〜34と、ALU31〜34
の桁上がり/桁下がり情報を、次のALUに伝送するか
否かを制御するANDゲート35〜37及び制御信号a
とを備え、ALU31〜34を、32ビットの演算を行
う1個のALUとして使用可能に制御する、若しくは、
8ビットの演算を行う4個の独立したALU31〜34
として使用可能に制御するように構成する。
上することができるマイクロプロセッサを提供する。 【解決手段】 マイクロプロセッサの演算部30は、8
ビット×4個のALU31〜34と、ALU31〜34
の桁上がり/桁下がり情報を、次のALUに伝送するか
否かを制御するANDゲート35〜37及び制御信号a
とを備え、ALU31〜34を、32ビットの演算を行
う1個のALUとして使用可能に制御する、若しくは、
8ビットの演算を行う4個の独立したALU31〜34
として使用可能に制御するように構成する。
Description
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サに関し、特に、マイクロプロセッサにおける演算部の
構成及びその演算命令を改良したマイクロプロセッサに
関する。
サに関し、特に、マイクロプロセッサにおける演算部の
構成及びその演算命令を改良したマイクロプロセッサに
関する。
【0002】
【従来の技術】マイクロプロセッサは、レジスタ、演算
回路、制御回路を含み、命令を解読して演算・制御動作
を実行する演算装置である。
回路、制御回路を含み、命令を解読して演算・制御動作
を実行する演算装置である。
【0003】図4は従来のマイクロプロセッサ1の演算
部の構成を示す図である。
部の構成を示す図である。
【0004】図4において、10は演算等に使用可能な
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、12は演算を行うAL
U(arithmetic and logical unit:算術論理演算回
路)、13は演算の結果に従いセットされるフラグレジ
スタであり、各部は内部データバス14を中心として、
各種バス15〜24を通じて接続されている。
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、12は演算を行うAL
U(arithmetic and logical unit:算術論理演算回
路)、13は演算の結果に従いセットされるフラグレジ
スタであり、各部は内部データバス14を中心として、
各種バス15〜24を通じて接続されている。
【0005】上記マイクロプロセッサ1が演算を行う場
合は、演算項及び被演算項のデータをレジスタ群10、
あるいは外部からのデータを内部バス14を経由してテ
ンポラリレジスタ11にセットし、さらに演算バス1
5,16を経由し、ALU12に送り、ALU12では
指定された演算を行う。
合は、演算項及び被演算項のデータをレジスタ群10、
あるいは外部からのデータを内部バス14を経由してテ
ンポラリレジスタ11にセットし、さらに演算バス1
5,16を経由し、ALU12に送り、ALU12では
指定された演算を行う。
【0006】結果のデータはバス21を経由して指定の
場所に転送され、演算の結果のフラグ情報が図4の破線
に示すバス23,24を通してフラグレジスタ13にセ
ットされる。
場所に転送され、演算の結果のフラグ情報が図4の破線
に示すバス23,24を通してフラグレジスタ13にセ
ットされる。
【0007】図5は上記フラグレジスタ13の構成を示
す図であり、図5に示すように、最上位からの桁上が
り、桁下がりを示すキャリーフラグC、正か負かを示す
サインフラグS、結果が0か否かを示すゼロフラグZ、
演算の結果オーバーフローが発生したことを示すオーバ
フラグO、結果のパリティを示すパリティフラグP等か
ら構成される。
す図であり、図5に示すように、最上位からの桁上が
り、桁下がりを示すキャリーフラグC、正か負かを示す
サインフラグS、結果が0か否かを示すゼロフラグZ、
演算の結果オーバーフローが発生したことを示すオーバ
フラグO、結果のパリティを示すパリティフラグP等か
ら構成される。
【0008】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のマイクロプロセッサにあっては、扱えるデー
タ長の演算を1回で行うようになっており、かつその結
果のフラグが1つしかない構成となっていたため以下の
ような問題点があった。
うな従来のマイクロプロセッサにあっては、扱えるデー
タ長の演算を1回で行うようになっており、かつその結
果のフラグが1つしかない構成となっていたため以下の
ような問題点があった。
【0009】すなわち、32ビットの演算ができるAL
Uがあっても、8ビットあるいは16ビットの演算も1
回で1データのみしか処理できないことから、例えば、
独立して演算が行える4つの8ビットデータの演算を行
うためには8ビットの演算を4回実行する必要があり、
結果的に処理時間が長くなるという問題点があった。
Uがあっても、8ビットあるいは16ビットの演算も1
回で1データのみしか処理できないことから、例えば、
独立して演算が行える4つの8ビットデータの演算を行
うためには8ビットの演算を4回実行する必要があり、
結果的に処理時間が長くなるという問題点があった。
【0010】また、処理を高速化するために演算部を複
数用意し、独立した演算を同時に処理するというマイク
ロプロセッサもあるが、回路規模が大きくなり、かつ制
御が複雑になるという問題点があった。
数用意し、独立した演算を同時に処理するというマイク
ロプロセッサもあるが、回路規模が大きくなり、かつ制
御が複雑になるという問題点があった。
【0011】さらに、上述した構成で複数のデータを1
回で扱うためには、例えば32ビットのALUを8ビッ
ト×4に分割し、各8ビット間での桁上がり、桁下がり
が発生しない範囲で行うように扱うデータの範囲を制限
すること等が必要なため演算精度を落としてしまう欠点
があった。
回で扱うためには、例えば32ビットのALUを8ビッ
ト×4に分割し、各8ビット間での桁上がり、桁下がり
が発生しない範囲で行うように扱うデータの範囲を制限
すること等が必要なため演算精度を落としてしまう欠点
があった。
【0012】本発明は、回路規模を増大させることなく
処理速度を向上することができるマイクロプロセッサを
提供することを目的とする。
処理速度を向上することができるマイクロプロセッサを
提供することを目的とする。
【0013】
【課題を解決するための手段】本発明に係るマイクロプ
ロセッサは、各種レジスタ及び算術論理演算回路を備え
た演算部を有し、命令を解読して演算・制御動作を実行
するマイクロプロセッサにおいて、演算部は、Nビット
×M個(N、Mは任意の整数)の算術論理演算回路と、
m番目(mは1からMのうちの任意の整数)の算術論理
演算回路の桁上がり/桁下がり情報を、m+1番目若し
くはm−1番目の算術論理演算回路に伝送する制御手段
とを備え、制御手段は、M個の算術論理演算回路を、
(N×M)ビットの演算を行う1個の算術論理演算回路
として使用可能に制御する、若しくは、Nビットの演算
を行うM個の独立した算術論理演算回路として使用可能
に制御するように構成している。
ロセッサは、各種レジスタ及び算術論理演算回路を備え
た演算部を有し、命令を解読して演算・制御動作を実行
するマイクロプロセッサにおいて、演算部は、Nビット
×M個(N、Mは任意の整数)の算術論理演算回路と、
m番目(mは1からMのうちの任意の整数)の算術論理
演算回路の桁上がり/桁下がり情報を、m+1番目若し
くはm−1番目の算術論理演算回路に伝送する制御手段
とを備え、制御手段は、M個の算術論理演算回路を、
(N×M)ビットの演算を行う1個の算術論理演算回路
として使用可能に制御する、若しくは、Nビットの演算
を行うM個の独立した算術論理演算回路として使用可能
に制御するように構成している。
【0014】また、制御手段は、m番目の算術論理演算
回路の桁上がり/桁下がり情報を、m+1番目若しくは
m−1番目の算術論理演算回路に伝送するか否かを制御
するゲート回路と、ゲート回路を制御する制御信号とを
備えたものであってもよい。
回路の桁上がり/桁下がり情報を、m+1番目若しくは
m−1番目の算術論理演算回路に伝送するか否かを制御
するゲート回路と、ゲート回路を制御する制御信号とを
備えたものであってもよい。
【0015】さらに、上記マイクロプロセッサが、Nビ
ットの演算の結果発生する桁上がり/桁下がり情報を記
憶する記憶手段を備え、記憶手段に記憶された桁上がり
/桁下がり情報に基づいて、Nビット×M個の算術論理
演算を行うようにしてもよい。
ットの演算の結果発生する桁上がり/桁下がり情報を記
憶する記憶手段を備え、記憶手段に記憶された桁上がり
/桁下がり情報に基づいて、Nビット×M個の算術論理
演算を行うようにしてもよい。
【0016】また、記憶手段は、算術論理演算回路によ
る演算結果を格納するフラグレジスタであってもよい。
る演算結果を格納するフラグレジスタであってもよい。
【0017】さらに、上記マイクロプロセッサが、M個
の独立した算術論理演算回路に、夫々所定の演算を指定
するための指定手段を備え、指定手段により指定された
Nビットの演算を、M個の独立した算術論理演算回路で
同時に実行可能に構成してもよく、指定手段は、算術論
理演算回路接続された信号線に供給された制御信号によ
り指定されるものであってもよい。
の独立した算術論理演算回路に、夫々所定の演算を指定
するための指定手段を備え、指定手段により指定された
Nビットの演算を、M個の独立した算術論理演算回路で
同時に実行可能に構成してもよく、指定手段は、算術論
理演算回路接続された信号線に供給された制御信号によ
り指定されるものであってもよい。
【0018】
【発明の実施の形態】本発明に係るマイクロプロセッサ
は、マイクロコンピュータ等のマイクロプロセッサに適
用することができる。
は、マイクロコンピュータ等のマイクロプロセッサに適
用することができる。
【0019】図1は本発明の実施形態に係るマイクロプ
ロセッサの演算部30の構成を示す図である。図1に示
すマイクロプロセッサは、8bitのALUを4個用い
るように構成した例である。なお、この図1では図4と
同一又は対応する要素は同一の符号を付している。
ロセッサの演算部30の構成を示す図である。図1に示
すマイクロプロセッサは、8bitのALUを4個用い
るように構成した例である。なお、この図1では図4と
同一又は対応する要素は同一の符号を付している。
【0020】図1において、10は演算等に使用可能な
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU(arithmetic and logical unit:算術論理演
算回路)、35〜38はANDゲート(制御手段、ゲー
ト回路)、13は演算の結果に従いセットされるフラグ
レジスタ(記憶手段)であり、各部は内部データバス1
4を中心として、各種バス15〜24を通じて接続され
ている。
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU(arithmetic and logical unit:算術論理演
算回路)、35〜38はANDゲート(制御手段、ゲー
ト回路)、13は演算の結果に従いセットされるフラグ
レジスタ(記憶手段)であり、各部は内部データバス1
4を中心として、各種バス15〜24を通じて接続され
ている。
【0021】すなわち、レジスタ群10はデータバス1
5,16を経由して内部バス14に接続され、テンポラ
リレジスタ11はデータバス17,18により内部バス
14に接続されるとともに、データバス19,20によ
りALU31〜34の演算項及び被演算項の各データ入
力部に接続される。ALU31〜34の演算結果は、バ
ス21により内部バス14に出力される。
5,16を経由して内部バス14に接続され、テンポラ
リレジスタ11はデータバス17,18により内部バス
14に接続されるとともに、データバス19,20によ
りALU31〜34の演算項及び被演算項の各データ入
力部に接続される。ALU31〜34の演算結果は、バ
ス21により内部バス14に出力される。
【0022】図1中、b1〜b4はALU31〜34の
桁上がり、桁下がりを示すキャリー出力であり、このキ
ャリー出力b1〜b4はANDゲート35〜38の一方
の入力端子に入力され、ANDゲート35〜38の他方
の入力端子には外部より信号aが入力される。ANDゲ
ート35〜38は、信号aとキャリー出力b1〜b4と
のAND論理をとり、ANDゲート35〜37の出力c
1〜c3は次のALUへの下位からの桁上がり、桁下が
り入力に接続され、ANDゲート38の出力c4はフラ
グレジスタ13のキャリーフラグbitCに接続され
る。フラグレジスタ13のその他のフラグについては直
接の関係がないため説明を省略する。
桁上がり、桁下がりを示すキャリー出力であり、このキ
ャリー出力b1〜b4はANDゲート35〜38の一方
の入力端子に入力され、ANDゲート35〜38の他方
の入力端子には外部より信号aが入力される。ANDゲ
ート35〜38は、信号aとキャリー出力b1〜b4と
のAND論理をとり、ANDゲート35〜37の出力c
1〜c3は次のALUへの下位からの桁上がり、桁下が
り入力に接続され、ANDゲート38の出力c4はフラ
グレジスタ13のキャリーフラグbitCに接続され
る。フラグレジスタ13のその他のフラグについては直
接の関係がないため説明を省略する。
【0023】上記信号aは、ALU31〜34を個別に
動作させる(ALU31〜34間での桁上がり、桁下が
りが発生しない)か、ALU31〜34を1つのALU
として動作させる(ALU31〜34間での桁上がり、
桁下がりが発生する)かを指定するための制御信号であ
る。
動作させる(ALU31〜34間での桁上がり、桁下が
りが発生しない)か、ALU31〜34を1つのALU
として動作させる(ALU31〜34間での桁上がり、
桁下がりが発生する)かを指定するための制御信号であ
る。
【0024】以下、上述のように構成されたマイクロプ
ロセッサの演算部30の動作を説明する。
ロセッサの演算部30の動作を説明する。
【0025】上記ALU31〜34の各bit長を8b
itとし、全体の演算としては32bitの演算が1回
で行える場合について説明する。
itとし、全体の演算としては32bitの演算が1回
で行える場合について説明する。
【0026】まず、従来例のマイクロプロセッサと同様
の動作を行う場合は以下のようになる。
の動作を行う場合は以下のようになる。
【0027】マイクロプロセッサは、その命令の実行に
際し、まず命令をデコードし、それが通常の演算(AL
Uを1つの32bitALUとして扱う)の場合には信
号aを「1」にする。なお、命令のデコード部及びそれ
に従って制御を行う部分の記述は省略している。
際し、まず命令をデコードし、それが通常の演算(AL
Uを1つの32bitALUとして扱う)の場合には信
号aを「1」にする。なお、命令のデコード部及びそれ
に従って制御を行う部分の記述は省略している。
【0028】そして、命令で指定された演算項のデータ
及び被演算項のデータが格納されているレジスタをレジ
スタ群10から選択し、テンポラリレジスタ11に転送
する。扱うデータがレジスタ群10にない場合は他の場
所、例えば外部メモリ等から内部バス14を経由してテ
ンポラリレジスタ11に転送される。
及び被演算項のデータが格納されているレジスタをレジ
スタ群10から選択し、テンポラリレジスタ11に転送
する。扱うデータがレジスタ群10にない場合は他の場
所、例えば外部メモリ等から内部バス14を経由してテ
ンポラリレジスタ11に転送される。
【0029】2つのデータが揃うとそれぞれのデータを
データバス19,20を介してALU31〜34に入力
する。ここで、ALU31の演算の結果の桁上がり、桁
下がり情報b1は、信号aが「1」のためそのまま出力
c1となってALU32に伝送され、ALU32の演算
に反映される。同様に、ALU32,33の桁上がり、
桁下がり情報がALU33,34に伝送され、最終的に
32bitの演算としての桁上がり、桁下がり情報が出
力c4になりフラグレジスタ13のキャリーフラグbi
tCにセットされる。
データバス19,20を介してALU31〜34に入力
する。ここで、ALU31の演算の結果の桁上がり、桁
下がり情報b1は、信号aが「1」のためそのまま出力
c1となってALU32に伝送され、ALU32の演算
に反映される。同様に、ALU32,33の桁上がり、
桁下がり情報がALU33,34に伝送され、最終的に
32bitの演算としての桁上がり、桁下がり情報が出
力c4になりフラグレジスタ13のキャリーフラグbi
tCにセットされる。
【0030】各ALU31〜34の演算結果が揃うと、
バス21を通して命令で指定されたレジスタあるいは他
の場所にその結果データがセットされて命令が終了す
る。
バス21を通して命令で指定されたレジスタあるいは他
の場所にその結果データがセットされて命令が終了す
る。
【0031】次に、本実施形態で特有の機能を利用する
ための命令を行う場合、すなわち1つのALUで複数の
データを1回で扱う場合について説明する。
ための命令を行う場合、すなわち1つのALUで複数の
データを1回で扱う場合について説明する。
【0032】ここでは、8bitのデータを4個一度に
演算するための命令を実行する場合を例にとる。
演算するための命令を実行する場合を例にとる。
【0033】まず、その命令をデコードし、それが本実
施形態で特有の機能を利用するための命令であった場
合、信号aを「0」にする。
施形態で特有の機能を利用するための命令であった場
合、信号aを「0」にする。
【0034】信号aが「0」になることによりANDゲ
ート35〜38の出力c1〜c4は常に「0」となる。
すなわち、ALU31〜33の桁上がり、桁下がり情報
がALU32〜34に伝送されなくなるため、ALU3
1〜34は独立した8bitのALUとして動作するよ
うになる。
ート35〜38の出力c1〜c4は常に「0」となる。
すなわち、ALU31〜33の桁上がり、桁下がり情報
がALU32〜34に伝送されなくなるため、ALU3
1〜34は独立した8bitのALUとして動作するよ
うになる。
【0035】そして、命令で指定された演算項のデータ
及び被演算項のデータが格納されているレジスタをレジ
スタ群10から選択し、テンポラリレジスタ11に転送
する。扱うデータがレジスタ群10にない場合は他の場
所、例えば外部メモリ等から内部バス14を経由してテ
ンポラリレジスタ11に転送される。
及び被演算項のデータが格納されているレジスタをレジ
スタ群10から選択し、テンポラリレジスタ11に転送
する。扱うデータがレジスタ群10にない場合は他の場
所、例えば外部メモリ等から内部バス14を経由してテ
ンポラリレジスタ11に転送される。
【0036】2つのデータが揃うとそれぞれのデータを
データバス19,20を介してALU31〜34の入力
19-1〜19-4及び20-1〜20-4に転送される。上述
したように、信号aが「0」のためALU32,33に
は下位からの桁上がり、桁下がり情報がない。すなわ
ち、ANDゲート35〜37の出力c1〜c3が「0」
のためALU31〜34は全て8bitの独立した演算
を実行することになる。また、この命令の演算の最終の
桁上がり、桁下がり情報c4は意味がないためフラグレ
ジスタ13のキャリーフラグbitCには「0」がセッ
トされる。
データバス19,20を介してALU31〜34の入力
19-1〜19-4及び20-1〜20-4に転送される。上述
したように、信号aが「0」のためALU32,33に
は下位からの桁上がり、桁下がり情報がない。すなわ
ち、ANDゲート35〜37の出力c1〜c3が「0」
のためALU31〜34は全て8bitの独立した演算
を実行することになる。また、この命令の演算の最終の
桁上がり、桁下がり情報c4は意味がないためフラグレ
ジスタ13のキャリーフラグbitCには「0」がセッ
トされる。
【0037】ALU31〜34の結果出力21-1〜21
-4はバス21を介して指定されたレジスタあるいは他の
場所にそのデータをセットして終了する。
-4はバス21を介して指定されたレジスタあるいは他の
場所にそのデータをセットして終了する。
【0038】以上説明したように、第1の実施形態に係
るマイクロプロセッサの演算部30は、8ビット×4個
のALU31〜34と、ALU31〜34の桁上がり/
桁下がり情報を、次のALUに伝送するか否かを制御す
るANDゲート35〜37及び制御信号aとを備え、A
LU31〜34を、32ビットの演算を行う1個のAL
Uとして使用可能に制御する、若しくは、8ビットの演
算を行う4個の独立したALU31〜34として使用可
能に制御するように構成しているので、32bitのA
LUで8bitの4つのデータを別々に演算することが
可能になる。
るマイクロプロセッサの演算部30は、8ビット×4個
のALU31〜34と、ALU31〜34の桁上がり/
桁下がり情報を、次のALUに伝送するか否かを制御す
るANDゲート35〜37及び制御信号aとを備え、A
LU31〜34を、32ビットの演算を行う1個のAL
Uとして使用可能に制御する、若しくは、8ビットの演
算を行う4個の独立したALU31〜34として使用可
能に制御するように構成しているので、32bitのA
LUで8bitの4つのデータを別々に演算することが
可能になる。
【0039】すなわち、桁上がり、桁下がりを意識する
ことなく、単に8bitの演算が同時に4つ実行できる
ようになり、処理速度の向上を図ることができ、また回
路的な変更・追加が少ないためマイクロプロセッサの回
路規模を大きくすることなく実施することができる。
ことなく、単に8bitの演算が同時に4つ実行できる
ようになり、処理速度の向上を図ることができ、また回
路的な変更・追加が少ないためマイクロプロセッサの回
路規模を大きくすることなく実施することができる。
【0040】したがって、上述した優れた特長を有する
演算部をマイクロプロセッサに適用すれば、行列演算や
ALUによりbit数が小さいデータの演算を効率よく
実行することが可能となる。
演算部をマイクロプロセッサに適用すれば、行列演算や
ALUによりbit数が小さいデータの演算を効率よく
実行することが可能となる。
【0041】図2は本発明の第2の実施形態に係るマイ
クロプロセッサの演算部40の構成を示す図である。な
お、本実施形態に係るマイクロプロセッサの説明にあた
り図1に示すマイクロプロセッサと同一構成部分には同
一符号を付して重複部分の説明を省略する。
クロプロセッサの演算部40の構成を示す図である。な
お、本実施形態に係るマイクロプロセッサの説明にあた
り図1に示すマイクロプロセッサと同一構成部分には同
一符号を付して重複部分の説明を省略する。
【0042】図2において、10は演算等に使用可能な
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU、35〜38はANDゲート、41は演算の結
果に従いセットされるフラグレジスタ(記憶手段)であ
り、各部は内部データバス14を中心として、各種バス
15〜24を通じて接続されている。
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU、35〜38はANDゲート、41は演算の結
果に従いセットされるフラグレジスタ(記憶手段)であ
り、各部は内部データバス14を中心として、各種バス
15〜24を通じて接続されている。
【0043】また、レジスタ群10はデータバス15,
16を経由して内部バス14に接続され、テンポラリレ
ジスタ11はデータバス17,18により内部バス14
に接続されるとともに、データバス19,20によりA
LU31〜34の演算項及び被演算項の各データ入力部
に接続される。ALU31〜34の演算結果は、バス2
1により内部バス14に出力される。
16を経由して内部バス14に接続され、テンポラリレ
ジスタ11はデータバス17,18により内部バス14
に接続されるとともに、データバス19,20によりA
LU31〜34の演算項及び被演算項の各データ入力部
に接続される。ALU31〜34の演算結果は、バス2
1により内部バス14に出力される。
【0044】上記フラグレジスタ41は、上記ALU3
1〜34の桁上がり、桁下がり情報b1〜b4を格納す
るキャリーフラグb1〜b4を有し、各ALU31〜3
4からの桁上がり、桁下がり情報b1〜b4がセットさ
れる構成となっている。
1〜34の桁上がり、桁下がり情報b1〜b4を格納す
るキャリーフラグb1〜b4を有し、各ALU31〜3
4からの桁上がり、桁下がり情報b1〜b4がセットさ
れる構成となっている。
【0045】上記のように構成された第2の実施形態に
係るマイクロプロセッサ40では、上述した第1の実施
形態の動作説明において、従来例のマイクロプロセッサ
と同様の動作を行う場合の命令があったとき、上記AL
U31〜34からの桁上がり、桁下がり情報b1〜b4
がフラグレジスタ41の各ALU31〜34に対応した
フラグビットb1〜b4にセットされる。
係るマイクロプロセッサ40では、上述した第1の実施
形態の動作説明において、従来例のマイクロプロセッサ
と同様の動作を行う場合の命令があったとき、上記AL
U31〜34からの桁上がり、桁下がり情報b1〜b4
がフラグレジスタ41の各ALU31〜34に対応した
フラグビットb1〜b4にセットされる。
【0046】このように、第2の実施形態では、8ビッ
トの演算の結果発生する桁上がり/桁下がり情報を記憶
するフラグレジスタ41を備え、フラグレジスタ41に
セットされた桁上がり/桁下がり情報に基づいて、8ビ
ット×4個の算術論理演算が実行される。したがって、
前記第1の実施形態では8bitの演算結果のみしか得
られなかったものが、第2の実施形態によれば、各bi
tの演算の桁上がり、桁下がり情報も得られるため、演
算精度の高い計算が実行できるとともに、データの大小
を考慮せずに8bitの完全な形の演算を実行させるこ
とが可能になる。
トの演算の結果発生する桁上がり/桁下がり情報を記憶
するフラグレジスタ41を備え、フラグレジスタ41に
セットされた桁上がり/桁下がり情報に基づいて、8ビ
ット×4個の算術論理演算が実行される。したがって、
前記第1の実施形態では8bitの演算結果のみしか得
られなかったものが、第2の実施形態によれば、各bi
tの演算の桁上がり、桁下がり情報も得られるため、演
算精度の高い計算が実行できるとともに、データの大小
を考慮せずに8bitの完全な形の演算を実行させるこ
とが可能になる。
【0047】図3は本発明の第3の実施形態に係るマイ
クロプロセッサの演算部50の構成を示す図である。な
お、本実施形態に係るマイクロプロセッサの説明にあた
り図2に示すマイクロプロセッサと同一構成部分には同
一符号を付して重複部分の説明を省略する。
クロプロセッサの演算部50の構成を示す図である。な
お、本実施形態に係るマイクロプロセッサの説明にあた
り図2に示すマイクロプロセッサと同一構成部分には同
一符号を付して重複部分の説明を省略する。
【0048】図3において、10は演算等に使用可能な
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU、35〜38はANDゲート、41は演算の結
果に従いセットされるフラグレジスタであり、各部は内
部データバス14を中心として、各種バス15〜24を
通じて接続されている。
レジスタ群、11は演算のためのデータを一時的に保存
するためのテンポラリレジスタ、31〜34は演算を行
うALU、35〜38はANDゲート、41は演算の結
果に従いセットされるフラグレジスタであり、各部は内
部データバス14を中心として、各種バス15〜24を
通じて接続されている。
【0049】また、レジスタ群10はデータバス15,
16を経由して内部バス14に接続され、テンポラリレ
ジスタ11はデータバス17,18により内部バス14
に接続されるとともに、データバス19,20によりA
LU31〜34の演算項及び被演算項の各データ入力部
に接続される。ALU31〜34の演算結果は、バス2
1により内部バス14に出力される。
16を経由して内部バス14に接続され、テンポラリレ
ジスタ11はデータバス17,18により内部バス14
に接続されるとともに、データバス19,20によりA
LU31〜34の演算項及び被演算項の各データ入力部
に接続される。ALU31〜34の演算結果は、バス2
1により内部バス14に出力される。
【0050】上記ALU31〜34には、信号f1〜f
4を入力する信号線f1〜f4(指定手段)が接続され
ている。この信号f1〜f4は、各ALU31〜34で
実行する演算の種類、例えば加算、減算、論理積、論理
和等を指定するための信号線である。なお、前記第1、
第2の実施形態ではこの信号は全てのALUに対して共
通であったため省略していたものである。
4を入力する信号線f1〜f4(指定手段)が接続され
ている。この信号f1〜f4は、各ALU31〜34で
実行する演算の種類、例えば加算、減算、論理積、論理
和等を指定するための信号線である。なお、前記第1、
第2の実施形態ではこの信号は全てのALUに対して共
通であったため省略していたものである。
【0051】また、第2実施形態と同様に、上記フラグ
レジスタ41は、上記ALU31〜34の桁上がり、桁
下がり情報b1〜b4を格納するキャリーフラグb1〜
b4を有し、各ALU31〜34からの桁上がり、桁下
がり情報b1〜b4がセットされる構成となっている。
レジスタ41は、上記ALU31〜34の桁上がり、桁
下がり情報b1〜b4を格納するキャリーフラグb1〜
b4を有し、各ALU31〜34からの桁上がり、桁下
がり情報b1〜b4がセットされる構成となっている。
【0052】上記のように構成された第2の実施形態に
係るマイクロプロセッサ50では、同時に演算したい8
bitデータの各々(ここでは、4つの8bitデー
タ)についてそれぞれ独立して演算の種類を指定するこ
とが可能である。
係るマイクロプロセッサ50では、同時に演算したい8
bitデータの各々(ここでは、4つの8bitデー
タ)についてそれぞれ独立して演算の種類を指定するこ
とが可能である。
【0053】また、従来例のマイクロプロセッサと同様
の動作を行う場合の命令があったときには、信号aを
「1」にし、かつ信号f1〜f4に同じ信号を与えるよ
うにすれば前記第1の実施形態と同様の動作が実行され
る。
の動作を行う場合の命令があったときには、信号aを
「1」にし、かつ信号f1〜f4に同じ信号を与えるよ
うにすれば前記第1の実施形態と同様の動作が実行され
る。
【0054】次に、本実施形態で特有の機能を利用する
ための命令を行う場合、すなわち本実施形態の命令を実
行する場合、命令がデコードされると各ALU31〜3
4に対して指定された演算を指定するための信号が信号
線f1〜f4に与えられる。例えば、ALU31では加
算、ALU32では論理積、ALU33,34では減算
という演算が指定できる。ALU31〜34で実行され
る演算の種類が同一でないこと以外は前述の第1、第2
実施形態と同様な動作となる。
ための命令を行う場合、すなわち本実施形態の命令を実
行する場合、命令がデコードされると各ALU31〜3
4に対して指定された演算を指定するための信号が信号
線f1〜f4に与えられる。例えば、ALU31では加
算、ALU32では論理積、ALU33,34では減算
という演算が指定できる。ALU31〜34で実行され
る演算の種類が同一でないこと以外は前述の第1、第2
実施形態と同様な動作となる。
【0055】このように、第3の実施形態によれば、4
個の各ALU31〜34に、夫々所定種類の演算を指定
するための信号線f1〜f4を備え、8ビットの異なる
演算を、4個の独立したALU31〜34で同時に実行
可能に構成しているので、各ALU31〜34に対して
独立した演算種類を指定することができ、より効率的な
演算を同時に実行することができる。
個の各ALU31〜34に、夫々所定種類の演算を指定
するための信号線f1〜f4を備え、8ビットの異なる
演算を、4個の独立したALU31〜34で同時に実行
可能に構成しているので、各ALU31〜34に対して
独立した演算種類を指定することができ、より効率的な
演算を同時に実行することができる。
【0056】なお、上記各実施形態では、マイクロプロ
セッサの演算部は、8bitのALUを4個用いて32
bitのALUを構成した例について適用しているが、
Nビット×M個のALUを構成する装置であればすべて
適用可能であり、また、例えば8bit×4あるいは1
6bit×2のように2種類以上の構成を採り得るよう
に構成してもよいことは勿論である。また、上記演算部
がマイクロコンピュータ等に組み込まれる回路の一部で
あってもよい。
セッサの演算部は、8bitのALUを4個用いて32
bitのALUを構成した例について適用しているが、
Nビット×M個のALUを構成する装置であればすべて
適用可能であり、また、例えば8bit×4あるいは1
6bit×2のように2種類以上の構成を採り得るよう
に構成してもよいことは勿論である。また、上記演算部
がマイクロコンピュータ等に組み込まれる回路の一部で
あってもよい。
【0057】また、上記マイクロプロセッサを構成する
ゲート回路やレジスタ等の数、種類接続状態などは上記
各実施形態に限られないことは言うまでもない。
ゲート回路やレジスタ等の数、種類接続状態などは上記
各実施形態に限られないことは言うまでもない。
【0058】
【発明の効果】本発明に係るマイクロプロセッサでは、
演算部が、Nビット×M個(N、Mは任意の整数)の算
術論理演算回路と、m番目の算術論理演算回路の桁上が
り/桁下がり情報を、m+1番目若しくはm−1番目の
算術論理演算回路に伝送する制御手段とを備え、制御手
段は、M個の算術論理演算回路を、(N×M)ビットの
演算を行う1個の算術論理演算回路として使用可能に制
御する、若しくは、Nビットの演算を行うM個の独立し
た算術論理演算回路として使用可能に制御するように構
成しているので、(N×M)ビットの算術論理演算回路
でNビットのM個のデータを別々に演算することが可能
になり、処理速度の向上を図ることができ、また回路的
な変更・追加が少ないためマイクロプロセッサの回路規
模を大きくすることなく実施することができる。
演算部が、Nビット×M個(N、Mは任意の整数)の算
術論理演算回路と、m番目の算術論理演算回路の桁上が
り/桁下がり情報を、m+1番目若しくはm−1番目の
算術論理演算回路に伝送する制御手段とを備え、制御手
段は、M個の算術論理演算回路を、(N×M)ビットの
演算を行う1個の算術論理演算回路として使用可能に制
御する、若しくは、Nビットの演算を行うM個の独立し
た算術論理演算回路として使用可能に制御するように構
成しているので、(N×M)ビットの算術論理演算回路
でNビットのM個のデータを別々に演算することが可能
になり、処理速度の向上を図ることができ、また回路的
な変更・追加が少ないためマイクロプロセッサの回路規
模を大きくすることなく実施することができる。
【0059】また、本発明に係るマイクロプロセッサ
が、Nビットの演算の結果発生する桁上がり/桁下がり
情報を記憶する記憶手段を備え、記憶手段に記憶された
桁上がり/桁下がり情報に基づいて、Nビット×M個の
算術論理演算を行うように構成しているので、各ビット
の演算の桁上がり、桁下がり情報も得ることができ、演
算精度の高い計算が実行できるとともに、データの大小
を考慮せずにNビットの完全な形の演算を実行させるこ
とができる。
が、Nビットの演算の結果発生する桁上がり/桁下がり
情報を記憶する記憶手段を備え、記憶手段に記憶された
桁上がり/桁下がり情報に基づいて、Nビット×M個の
算術論理演算を行うように構成しているので、各ビット
の演算の桁上がり、桁下がり情報も得ることができ、演
算精度の高い計算が実行できるとともに、データの大小
を考慮せずにNビットの完全な形の演算を実行させるこ
とができる。
【0060】さらに、本発明に係るマイクロプロセッサ
が、M個の独立した算術論理演算回路に、夫々所定の演
算を指定するための指定手段を備え、指定手段により指
定されたNビットの演算を、M個の独立した算術論理演
算回路で同時に実行可能に構成しているので、各算術論
理演算回路に対して独立した演算種類を指定することが
でき、より効率的な演算を同時に実行することができ
る。
が、M個の独立した算術論理演算回路に、夫々所定の演
算を指定するための指定手段を備え、指定手段により指
定されたNビットの演算を、M個の独立した算術論理演
算回路で同時に実行可能に構成しているので、各算術論
理演算回路に対して独立した演算種類を指定することが
でき、より効率的な演算を同時に実行することができ
る。
【図1】本発明を適用した第1の実施形態に係るマイク
ロプロセッサの演算部の構成を示す図である。
ロプロセッサの演算部の構成を示す図である。
【図2】本発明を適用した第2の実施形態に係るマイク
ロプロセッサの演算部の構成を示す図である。
ロプロセッサの演算部の構成を示す図である。
【図3】本発明を適用した第3の実施形態に係るマイク
ロプロセッサの演算部の構成を示す図である。
ロプロセッサの演算部の構成を示す図である。
【図4】従来のマイクロプロセッサの演算部の構成を示
す図である。
す図である。
【図5】従来のマイクロプロセッサのフラグレジスタの
構成例を示す図である。
構成例を示す図である。
10 レジスタ群、11 テンポラリレジスタ、31〜
34 ALU(算術論理演算回路)、35〜38 AN
Dゲート(制御手段、ゲート回路)、13 フラグレジ
スタ(記憶手段)、14 内部データバス、15〜24
各種バス、f1〜f4 信号線(指定手段)、30,
40,50 マイクロプロセッサの演算部
34 ALU(算術論理演算回路)、35〜38 AN
Dゲート(制御手段、ゲート回路)、13 フラグレジ
スタ(記憶手段)、14 内部データバス、15〜24
各種バス、f1〜f4 信号線(指定手段)、30,
40,50 マイクロプロセッサの演算部
Claims (6)
- 【請求項1】 各種レジスタ及び算術論理演算回路を備
えた演算部を有し、命令を解読して演算・制御動作を実
行するマイクロプロセッサにおいて、 前記演算部は、Nビット×M個(N、Mは任意の整数)
の算術論理演算回路と、 m番目(mは1からMのうちの任意の整数)の算術論理
演算回路の桁上がり/桁下がり情報を、m+1番目若し
くはm−1番目の算術論理演算回路に伝送する制御手段
とを備え、 前記制御手段は、前記M個の算術論理演算回路を、(N
×M)ビットの演算を行う1個の算術論理演算回路とし
て使用可能に制御する、若しくは、 Nビットの演算を行うM個の独立した算術論理演算回路
として使用可能に制御するように構成したことを特徴と
するマイクロプロセッサ。 - 【請求項2】 前記制御手段は、 m番目の算術論理演算回路の桁上がり/桁下がり情報
を、m+1番目若しくはm−1番目の算術論理演算回路
に伝送するか否かを制御するゲート回路と、 前記ゲート回路を制御する制御信号とを備えたことを特
徴とする請求項1記載のマイクロプロセッサ。 - 【請求項3】 さらに、上記請求項1記載のマイクロプ
ロセッサにおいて、 Nビットの演算の結果発生する桁上がり/桁下がり情報
を記憶する記憶手段を備え、 前記記憶手段に記憶された桁上がり/桁下がり情報に基
づいて、Nビット×M個の算術論理演算を行うようにし
たことを特徴とするマイクロプロセッサ。 - 【請求項4】 前記記憶手段は、前記算術論理演算回路
による演算結果を格納するフラグレジスタであることを
特徴とする請求項3記載のマイクロプロセッサ。 - 【請求項5】 さらに、上記請求項1又は3の何れかに
記載のマイクロプロセッサにおいて、 M個の独立した算術論理演算回路に、夫々所定の演算を
指定するための指定手段を備え、 前記指定手段により指定されたNビットの演算を、M個
の独立した算術論理演算回路で同時に実行可能に構成し
たことを特徴とするマイクロプロセッサ。 - 【請求項6】 前記指定手段は、前記算術論理演算回路
接続された信号線に供給された制御信号により指定され
ることを特徴とする請求項5記載のマイクロプロセッ
サ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8106890A JPH09292974A (ja) | 1996-04-26 | 1996-04-26 | マイクロプロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8106890A JPH09292974A (ja) | 1996-04-26 | 1996-04-26 | マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09292974A true JPH09292974A (ja) | 1997-11-11 |
Family
ID=14445084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8106890A Withdrawn JPH09292974A (ja) | 1996-04-26 | 1996-04-26 | マイクロプロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09292974A (ja) |
-
1996
- 1996-04-26 JP JP8106890A patent/JPH09292974A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0221191B1 (en) | Alu and condition code control unit for data processor | |
US4229801A (en) | Floating point processor having concurrent exponent/mantissa operation | |
US7350054B2 (en) | Processor having array of processing elements whose individual operations and mutual connections are variable | |
US4713750A (en) | Microprocessor with compact mapped programmable logic array | |
US4312034A (en) | ALU and Condition code control unit for data processor | |
GB1576000A (en) | Multibus processor for increasing execution speed using a pipeline effect | |
EP0407177B1 (en) | Bit sequence reversing device | |
US5957996A (en) | Digital data comparator and microprocessor | |
US4247893A (en) | Memory interface device with processing capability | |
US4503511A (en) | Computing system with multifunctional arithmetic logic unit in single integrated circuit | |
JPH04363736A (ja) | 情報処理装置 | |
US6078940A (en) | Microprocessor with an instruction for multiply and left shift with saturate | |
US5161229A (en) | Central processing unit | |
US4309753A (en) | Apparatus and method for next address generation in a data processing system | |
JP2993975B2 (ja) | 中央演算処理装置 | |
NO171816B (no) | Informasjonsbehandlingsenhet | |
JP2703884B2 (ja) | データ書込み制御方式 | |
JPH09292974A (ja) | マイクロプロセッサ | |
JPS5917457B2 (ja) | 2進化10進訂正装置 | |
JP3332606B2 (ja) | マイクロプロセッサ | |
GB1580328A (en) | Programmable sequential logic | |
JPH0683618A (ja) | フラグ制御回路 | |
JPH0736150B2 (ja) | バレルシフト回路 | |
JPH0374721A (ja) | ディジタル処理装置 | |
JPH0635669A (ja) | 中央演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030701 |