JPH10198550A - シフタ回路及びマイクロプロセッサ - Google Patents

シフタ回路及びマイクロプロセッサ

Info

Publication number
JPH10198550A
JPH10198550A JP9002193A JP219397A JPH10198550A JP H10198550 A JPH10198550 A JP H10198550A JP 9002193 A JP9002193 A JP 9002193A JP 219397 A JP219397 A JP 219397A JP H10198550 A JPH10198550 A JP H10198550A
Authority
JP
Japan
Prior art keywords
shifter
shift
bit
stage
output
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.)
Granted
Application number
JP9002193A
Other languages
English (en)
Other versions
JP3474384B2 (ja
Inventor
Katsuhisa Kondo
勝久 近藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP00219397A priority Critical patent/JP3474384B2/ja
Publication of JPH10198550A publication Critical patent/JPH10198550A/ja
Application granted granted Critical
Publication of JP3474384B2 publication Critical patent/JP3474384B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 動作サイクルが短く、且つ演算レーテンシも
小さいシフタ回路を提供する。 【解決手段】 入力データに対するシフト演算を複数の
ステージに分割して実行するパイプライン化されたシフ
タ回路において、入力データに対してバイト単位の左右
シフトを行うバイト単位シフタと、前記バイト単位シフ
タと並列に動作を行い、入力データに対して所定少量ビ
ットの左シフトを行う左少量ビットシフタと、前記バイ
ト単位シフタの出力と前記左少量ビットシフタの出力の
いずれか一方をパイプラインステージの最初のステージ
で選択して出力するセレクタと、前記パイプライン化の
ために前記バイト単位シフタの出力を保持するパイプラ
インレジスタと、パイプラインの最終ステージで前記パ
イプラインレジスタの出力データに対して所定少量の左
右シフトを行う左右少量ビットシフタとを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理LSI等に設
けられるシフタ回路、及びこのシフタ回路を搭載したマ
イクロプロセッサに関する。
【0002】
【従来の技術】マイクロプロセッサやDSPといった論
理LSIを高性能化するためには、処理の並列実行を行
う他に、動作サイクルの短縮を図るという方法がある。
論理LSIの動作サイクルを短縮するためには、その主
要構成要素の1つである演算回路の動作サイクルを短縮
することが不可欠である。
【0003】従来より、半導体デバイス技術およびダイ
ナミック回路等の先端回路技術を駆使することにより、
演算回路の動作サイクルの短縮を図ってきた。しかし、
マーケットニーズに応えるためには、より一層の高速化
が必要になっている。
【0004】シフタ回路もマイクロプロセッサの主要回
路の1つであり、高速化の要求を受けている回路であ
る。
【0005】図7に従来の32ビット左右バレルシフタ
のブロック図を示す。
【0006】バレルシフタは、通常セレクタを直列に並
べて構成する。どのような種類のセレクタを組み合わせ
て構成するかが重要であり、その時の設計パラメータお
よび要求性能を鑑みて最適な構成を探すことになる。
【0007】図7のシフタ回路において、ブロック20
1はバイト単位の左右シフトを行うバイト単位シフタで
ある。すなわち、8ビット、16ビット、24ビットの
左右シフトを行う。このバイト単位シフタ201は、0
ビットシフトのケースもあるので、4対1のセレクタで
構成される。ブロック202は、8ビットの左右バレル
シフタであり、8ビットより少ないシフト量、すなわ
ち、7ビット、6ビット、5ビット…、といったシフト
量に対するシフト動作を行う。この8ビット左右バレル
シフタ202は、左右のシフト機能があるので、15対
1のセレクタで構成される。
【0008】上記バイト単位シフタ201と8ビット左
右バレルシフタ202を、入力端203と出力端204
との間に直列に接続することにより、32ビットのバレ
ルシフト機能が実現できる。
【0009】次に、上記構成の32ビット左右バレルシ
フタの動作を図8を参照しつつ説明する。なお、図8
は、32ビット左右バレルシフタのシフト動作の一例を
示す図であり、例えば22ビット右シフト動作を示して
いる。
【0010】入力端203に、例えば入力データINと
して(a,0,2,b,c,f,e,3:16進法)が
入力されると、バイト単位シフタ201では、前記入力
データに対して2バイトの右シフトを行う。その結果、
バイト単位シフタ201からは、シフトデータ(0,
0,0,0,a,0,2,b)が出力されて、左右8ビ
ットシフタ202に入力される。そして、左右8ビット
シフタ202において6ビットの右シフトが行われる。
その結果、左右8ビットシフタ202からは、最終シフ
トデータ(0,0,0,0,0,2,8,0)が出力端
204から出力される。 このようなシフタ回路は、高
速化を図るため、近年ではパイプライン化(パイプライ
ン演算方式)を行うことによる動作サイクルの短縮も検
討されている。すなわち、このパイプライン演算方式
は、シフト回路を複数のステージに分割し、ステージ間
をデータが移動するに従って徐々に演算を施していくも
のであり、異なるステージでは異なるデータを処理する
ことができ、データの演算の完了を待つことなく次々と
データを入力し、演算して結果を得ることができる。
【0011】
【発明が解決しようとする課題】しかしながら、上記従
来のシフタ回路では、パイプライン化を行った場合、演
算動作サイクルの短縮により、処理のスループットは向
上するものの、演算を開始してからその結果が使用可能
になる時間、いわゆる演算レーテンシは大きくなってし
まうという問題があった。
【0012】また、通常の処理ではシフト結果をその直
後の演算で使う処理が相当数あるので、演算レーテンシ
が大きいと、回路をパイプライン化して動作サイクルを
短縮しても、性能という観点から見ると、さほど効果を
上げないことも指摘されている。
【0013】本発明は、上述の如き従来の問題点を解決
するためになされたもので、その目的は、動作サイクル
が短く、且つ演算レーテンシも小さいシフタ回路を提供
することである。またその他の目的は、このシフタ回路
を備えたマイクロプロセッサを提供することにある。
【0014】
【課題を解決するための手段】上記目的を達成するため
に、第1の発明であるシフタ回路の特徴は、入力データ
に対するシフト演算を複数のステージに分割して実行す
るパイプライン化されたシフタ回路において、最終演算
結果を出力するパイプラインステージよりも早いステー
ジで、ある特定種類のシフト量に対するシフト結果を出
力する特定シフト出力手段を備えたことにある。
【0015】この第1の発明によれば、一般的なプログ
ラムでは必要なシフト量の分布が偏っている点に着目し
て、ある特定種類のシフト量に対するシフト結果を、最
終演算結果を出力するパイプラインステージよりも早い
ステージで出力する。これによって、出現頻度の高いシ
フト量に対するシフト結果をパイプラインステージの最
初のステージで出力することが可能になり、動作サイク
ルを短くし、しかも演算レーテンシを小さくすることが
できる。
【0016】第2の発明であるシフタ回路の特徴は、上
記第1の発明において、前記特定種類のシフト量を、8
の倍数のシフト量としたことにある。
【0017】この第2の発明によれば、出現頻度の高い
8の倍数のシフト量に対するシフト結果をパイプライン
ステージの最初のステージで出力する。
【0018】第3の発明であるシフタ回路の特徴は、上
記第1の発明において、前記特定種類のシフト量を、8
ビットより小さいシフト量としたことにある。
【0019】この第3の発明によれば、出現頻度の高い
8ビットより小さいシフト量に対するシフト結果をパイ
プラインステージの最初のステージで出力する。
【0020】第4の発明であるシフタ回路の特徴は、入
力データに対するシフト演算を複数のステージに分割し
て実行するパイプライン化されたシフタ回路において、
前記入力データに対してバイト単位の左右シフトを行う
バイト単位シフタと、前記バイト単位シフタと並列に動
作を行い、前記入力データに対して所定少量ビットの左
シフトを行う左少量ビットシフタと、前記バイト単位シ
フタの出力と前記左少量ビットシフタの出力のいずれか
一方をパイプラインステージの最初のステージで選択し
て出力するセレクタと、前記パイプライン化のために前
記バイト単位シフタの出力を保持するパイプラインレジ
スタと、パイプラインの最終ステージで前記パイプライ
ンレジスタの出力データに対して所定少量の左右シフト
を行う左右少量ビットシフタとを備えたことにある。
【0021】この第4の発明によれば、入力データに対
して、出現頻度の高いシフト量である8ビットより小さ
いシフト量で左シフトを行う場合は、左少量ビットシフ
タが当該シフト量の左シフトを行い、セレクタはそのシ
フト結果をパイプラインステージの最初のステージで選
択し出力する。また、出現頻度の高いシフト量であるバ
イト単位で左右シフトを行う場合は、バイト単位シフタ
が当該シフト量の左右シフトを行い、セレクタはそのシ
フト結果をパイプラインステージの最初のステージで選
択し出力する。これにより、出現頻度の高いシフト量に
対するシフト結果をパイプラインステージの最初のステ
ージで的確に出力することが可能になり、動作サイクル
を短くし、しかも演算レーテンシを小さくすることがで
きる。
【0022】第5の発明であるシフタ回路の特徴は、上
記第4の発明において、前記左少量ビットシフタのシフ
ト量である前記所定少量ビットは、8ビットより小さい
ビットとしたことにある。
【0023】この第5の発明によれば、左少量ビットシ
フタのシフト量を出現頻度の高いシフト量に合わせて構
成するので、構成が簡素化される。
【0024】第6の発明であるマイクロプロセッサの特
徴は、実行する命令アドレスを記憶するプログラムカウ
ンタと、このプログラムカウンタより読み出された命令
アドレスをインクリメントするインクリメンタ回路と、
このインクリメンタ回路から出力された命令アドレスが
指定する命令を読み出す命令格納部と、前記命令格納部
より読み出された命令をデコードする命令デコーダと、
命令の実行に必要なデータを保持し、その読み出し/書
き込み動作が前記命令デコーダのデコード結果に従って
制御されるレジスタファイルと、前記命令デコーダのデ
コード結果に従い、前記レジスタファイルから読み出さ
れた値に基づいて演算を実行する演算実行部とを備えた
マイクロプロセッサにおいて、前記演算実行部は、前記
レジスタファイルからのオペランドに対してバイト単位
の左右シフトを行うバイト単位シフタと、前記バイト単
位シフタと並列に動作を行い、前記入力データに対して
所定の少量ビットの左シフトを行う左少量ビットシフタ
と、前記バイト単位シフタの出力と前記左少量ビットシ
フタの出力のいずれか一方をパイプラインステージの最
初のステージで選択して出力するセレクタと、パイプラ
イン化のために前記バイト単位シフタの出力を保持する
パイプラインレジスタと、パイプラインの最終ステージ
で前記パイプラインレジスタの出力データに対して所定
少量の左右シフトを行う左右少量ビットシフタとを有す
るシフタ回路を備えたことにある。
【0025】この第6の発明によれば、マイクロプロセ
ッサにおけるシフタ回路は上記第4の発明と同様の作用
を呈する。
【0026】第7の発明であるマイクロプロセッサの特
徴は、上記第6の発明において、前記左少量ビットシフ
タの前記所定少量ビットを、8ビットより小さいビット
としたことにある。
【0027】この第7の発明によれば、マイクロプロセ
ッサにおけるシフタ回路は上記第5の発明と同様の作用
を呈する。
【0028】
【発明の実施の形態】以下、本発明の実施形態を図面に
基づいて説明する。図1は、本発明の実施形態に係る3
2ビット左右バレルシフタ回路のブロック図である。ま
た、図2は、本実施形態におけるシフタ回路の基本原理
を示すシフト量の分布図である。
【0029】本実施形態の詳細な説明を行う前に、まず
その基本原理について述べる。
【0030】本実施形態のシフタ回路は、パイプライン
化されたシフタ回路であって、最終結果を出力するパイ
プラインステージよりも早いステージで、ある特定の種
類のシフト量に対するシフト結果を出力することを特徴
とする。特に上記特定の種類のシフト量としては、一般
のプログラムにおいて各シフト演算のシフト量の分布が
大変偏っている点に着目し、8の倍数のシフト量や、8
ビットより小さいシフト量といった出現頻度の高いシフ
ト量を当てている。
【0031】出現頻度の高いシフト量は、具体的には、
8ビット以内の左シフト、8の倍数のシフト量の左
右シフト、オペランドの最上位ビットを切り出すため
の右シフト(すなわち、32ビットデータの場合、31
ビットの右シフト)、といったものである。特に、の
8ビット以内の左シフトは、配列型のデータのアドレス
を計算するときに用いられる。例えば配列データがワー
ドだった場合、インデックスを計算した後、その値を2
ビット左シフトすることにより、アドレスを算出する。
の8の倍数シフトはバイトデータを扱う時に用いる。
【0032】出現頻度の高いシフト量についての上記説
明を明らかにするために、発明者が、ベンチマークプロ
グラムSPECint92の一部(li,compre
ss,eqntottプログラム実行トレースの一部)
を用いて評価したところ、図2に示すようなシフト量の
出現頻度が得られた。この図より90%以上のシフト演
算のシフト量が上記,,の範疇に含まれているこ
とが分かる。
【0033】なお、上記のSPECint92は、標準
的なプログラムの代表として選ばれたプログラムであ
り、このような傾向は他のプログラムでも同様であると
推測することができる。
【0034】したがって、上記の特定の種類のシフト量
に対しては、パイプラインの早いステージでシフト結果
を出力することにより、これらのシフト量に対するシフ
ト演算は、小さいレーテンシで結果を出力することがで
きる。
【0035】次に、上述の基本原理に基づく本実施形態
の構成及び動作を説明する。
【0036】図1のシフタ回路において、ブロック10
1は入力オペランドに対してバイト単位の左右シフトを
行うバイト単位シフタであり、8ビット、16ビット及
び24ビットの左右シフトを行う。ブロック102は左
右8ビットバレルシフタであり、8ビットより少ないシ
フト量、すなわち、7ビット、6ビット、5ビット、…
といったシフト量に対するシフト動作を行う。
【0037】このバイト単位シフタ101と左右8ビッ
トバレルシフタ102とは、パイプラインレジスタ10
3を間に挟んで直列に接続され、バイト単位シフタ10
1の入力端101aには入力オペランドが供給され、左
右8ビットバレルシフタ102の出力端102aからは
パイプラインステージの最終ステージである第2ステー
ジの出力OUT2が送出されるようになっている。
【0038】従来例と同様に、バイト単位シフタ101
は4対1のセレクタで、また左右8ビットバレルシフタ
102は15対1のセレクタでそれぞれ構成されてい
る。パイプラインレジスタ103はフリップフロップで
構成され、本シフタ回路のパイプライン化を行うための
ものである。
【0039】さらに、本シフタ回路には、パイプライン
ステージの最初のステージである第1ステージにブロッ
ク104が付加されている。ブロック104は、左8ビ
ットバレルシフタであり、バイト単位左右シフタ101
と並列に動作して、入力オペランドに対して8ビットよ
り少ないシフト量の左シフトだけを行う。この左8ビッ
トバレルシフタ104は、8ビットより少ないシフト量
の左シフトだけを行うので、8対1のセレクタで構成さ
れる。
【0040】第1ステージでは、このバイト単位シフタ
101と8ビット左バレルシフタ104の結果をセレク
タ105で選択し、その選択結果を第1ステージの出力
OUT1として出力端105aに送出するようになって
いる。
【0041】上記構成の32ビット左右バレルシフタ回
路の動作として、図3、図4及び図5を参照しつつ実際
のシフト演算の例(A),(B),(C)を説明する。
なお、図3は2ビット左シフトの演算例を示す図であ
り、図4は16ビット左シフトの演算例を示す図であ
る。また、図5は22ビット右シフトの演算例を示す図
である。
【0042】(A)2ビット左シフト演算 8ビット以内の左シフト演算は、先の図2の分布図で示
したように出現頻度の高いシフト量の演算として説明し
たが、その中で、特に出現頻度の高い2ビット左シフト
演算について説明する。
【0043】図3に示すように、入力端101aに、例
えば入力オペランドINとして(a,0,2,b,c,
f,e,3:「16進法」)が入力されると、左8ビッ
トバレルシフタ104では、この入力オペランドに対し
て2ビットの左シフトを行う。その結果、左8ビットバ
レルシフタ104からは、シフトデータ(8,0,a,
f,3,f,8,c)が出力される。
【0044】このデータ(8,0,a,f,3,f,
8,c)は、セレクタ105によって選択され、第1ス
テージの出力OUT1として出力端105aから出力さ
れる。この間の処理は1サイクルで実行される。
【0045】このように、8ビット以内の左シフト演算
に対しては、パイプラインの早いステージでシフト結果
を出力することができるので、演算レーテンシは小さく
なる。
【0046】(B)16ビット左シフト演算 8の倍数のシフト量の左右シフト演算も、8ビット以内
の左シフト演算と同様に、出現頻度の高いシフト量の演
算として説明したが、その中で、例えば16ビット左シ
フト演算について説明する。
【0047】図4に示すように、入力端101aに、例
えば入力オペランドINとして(a,0,2,b,c,
f,e,3)が入力されると、バイト単位シフタ101
では、前記入力オペランドに対して2バイトの左シフト
を行う。その結果、バイト単位シフタ101からは、シ
フトデータ(c,f,e,3,0,0,0,0)が出力
される。
【0048】このデータ(c,f,e,3,0,0,
0,0)は、セレクタ105によって選択され、第1ス
テージの出力OUT1として出力端105aから出力さ
れる。この間の処理は1サイクルで実行される。
【0049】このように、8の倍数のシフト量の左右シ
フト演算も、パイプラインの早いステージでシフト結果
を出力することができるので、演算レーテンシが小さく
なる。
【0050】(C)22ビット右シフト演算 上述した8ビット以内の左シフト演算、及び8の倍数の
シフト量の左右シフト演算以外のシフト演算として、例
えば22ビット右シフト演算について説明する。
【0051】図5に示すように、入力端101aに、例
えば入力オペランドINとして(a,0,2,b,c,
f,e,3)が入力されると、バイト単位シフタ101
では、前記入力オペランドに対して2バイトの右シフト
を行う。その結果、バイト単位シフタ101からは、シ
フトデータ(0,0,0,0,a,0,2,b)が出力
され、パイプラインレジスタ103に保持される。この
間の処理は1サイクルで実行される。
【0052】次のサイクルにおいて、パイプラインレジ
スタ103の保持データ(0,0,0,0,a,0,
2,b)は左右8ビットシフタ102に入力され、前記
保持データに対して6ビットの右シフトが行われる。そ
の結果、左右8ビットシフタ102からは、最終シフト
データ(0,0,0,0,0,2,8,0)が出力さ
れ、第2ステージの出力OUT2として出力端102a
から出力される。
【0053】また、本実施形態は、パイプラインレジス
タ103によって2段のパイプライン化を実現している
ので、この第2ステージの処理と同時に、前記バイト単
位シフタ101または左8ビットシフタ104を用いて
次のサイクルの演算を行うことができる。
【0054】このように、本実施形態のシフト回路は、
パイプラインレジスタ103によりパイプライン化され
ているため、従来よりも短いサイクルで動作可能であ
る。その動作サイクルタイムは、図7の従来例で示した
シフタ回路の約60〜70%程度、短縮することができ
る。
【0055】また、一般的なプログラムでは必要なシフ
ト量の分布が偏っている点に着目して、出現頻度の高い
シフト量に対するシフト結果をパイプラインステージの
最初のステージで出力するようにしたので、90%以上
のシフト演算に対して最初のステージで結果を出力する
ことが可能になり、平均レーテンシを小さくすることが
できる。
【0056】図6は、本発明のシフタ回路を適用したマ
イクロプロセッサの構成を示すブロック図である。
【0057】このマイクロプロセッサ150は、命令実
行ユニットに上記実施形態の32ビット左右バレルシフ
タ回路を適用したものであり、32ビットRISC型マ
イクロプロセッサとして構成されている。
【0058】主要なデータの流れとしては、プログラム
カウンタ152から読み出された命令アドレスをインク
リメンタ回路151で+1加算し、その命令アドレスを
命令キャッシュ153及びメモリマネジメントユニット
154へ送る。
【0059】命令キャッシュ153がヒットすると当該
アドレスの命令が読み出され、命令デコーダ155へ送
られる。命令キャッシュ153がヒットしない場合は、
外部メモリからの命令の読み出しが必要なので、バスイ
ンターフェース156を介して外部メモリアクセスが行
われ、データを読み出す。
【0060】命令デコーダ155に送られた命令は、適
当な制御信号に変換されて、レジスタファイル157
と、このレジスタファイル157から読み出された値を
使って演算を行う演算実行ユニット158とに送られ
る。
【0061】演算実行ユニット158は、上記実施形態
の32ビット左右バレルシフタ回路158aと、ALU
158bと、アドレス計算部158cとを備えている。
例えば、配列型のデータ(ワード)のアドレスを計算す
る場合には、インデックスを計算した後、その値をシフ
タ回路158aによって2ビット左シフトすることによ
り、アドレスを算出する。
【0062】演算実行ユニット158の演算結果は、再
度レジスタファイル157に書き戻されるか、データキ
ャッシュ159のアクセスのためのアドレスとして使用
される。データキャッシュ159は、入力されたアクセ
スアドレスに対してレジスタファイル157との間でロ
ード/ストアを実行する。データキャッシュ159がミ
スした場合は、命令キャッシュ153と同様に、メモリ
マネジメントユニット154を介して外部メモリアクセ
スが行われる。
【0063】
【発明の効果】以上詳細に説明したように、第1の発明
であるシフタ回路によれば、動作サイクルを短くし、し
かも演算レーテンシを小さくすることが可能になる。
【0064】第2の発明であるシフタ回路によれば、上
記第1の発明において、出現頻度の高い8の倍数のシフ
ト量に対するシフト結果をパイプラインステージの最初
のステージで出力することができ、より的確に演算レー
テンシを小さくすることできる。
【0065】第3の発明であるシフタ回路によれば、上
記第1の発明において、出現頻度の高い8ビットより小
さいシフト量に対するシフト結果をパイプラインステー
ジの最初のステージで出力することができ、より的確に
演算レーテンシを小さくすることできる。
【0066】第4の発明であるシフタ回路によれば、動
作サイクルが短く、且つ演算レーテンシも小さいシフタ
機能を実現できる。
【0067】第5の発明であるシフタ回路によれば、上
記第4の発明において、構成を簡素化することが可能に
なる。
【0068】第6の発明であるマイクロプロセッサによ
れば、上記第4の発明と同様の効果を有するシフタ回路
を搭載したので、演算性能を向上させることができる。
【0069】第7の発明であるマイクロプロセッサによ
れば、上記第6の発明において、シフタ回路の構成を簡
素化することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る32ビット左右バレル
シフタ回路のブロック図である。
【図2】実施形態におけるシフタ回路の基本原理を示す
シフト量の分布図である。
【図3】2ビット左シフトの演算例を示す図である。
【図4】16ビット左シフトの演算例を示す図である。
【図5】22ビット右シフトの演算例を示す図である。
【図6】本発明のシフタ回路を適用したマイクロプロセ
ッサの構成を示すブロック図である。
【図7】従来の32ビット左右バレルシフタのブロック
図である。
【図8】図7に示す32ビット左右バレルシフタのシフ
ト動作の一例を示す図である。
【符号の説明】
101 バイト単位シフタ 102 左右8ビットバレルシフタ 103 パイプラインレジスタ 104 左8ビットバレルシフタ 105 セレクタ OUT1 第1ステージの出力 OUT2 第2ステージの出力 151 インクリメンタ回路 152 プログラムカウンタ 153 命令キャッシュ 154 メモリマネジメントユニット 155 命令デコーダ 158 演算実行ユニット 158a シフタ回路 158b ALU 158c アドレス計算部

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 入力データに対するシフト演算を複数の
    ステージに分割して実行するパイプライン化されたシフ
    タ回路において、 最終演算結果を出力するパイプラインステージよりも早
    いステージで、ある特定種類のシフト量に対するシフト
    結果を出力する特定シフト出力手段を備えたことを特徴
    とするシフタ回路。
  2. 【請求項2】 前記特定種類のシフト量は、8の倍数の
    シフト量としたことを特徴とする請求項1記載のシフタ
    回路。
  3. 【請求項3】 前記特定種類のシフト量は、8ビットよ
    り小さいシフト量としたことを特徴とする請求項1記載
    のシフタ回路。
  4. 【請求項4】 入力データに対するシフト演算を複数の
    ステージに分割して実行するパイプライン化されたシフ
    タ回路において、 前記入力データに対してバイト単位の左右シフトを行う
    バイト単位シフタと、 前記バイト単位シフタと並列に動作を行い、前記入力デ
    ータに対して所定少量ビットの左シフトを行う左少量ビ
    ットシフタと、 前記バイト単位シフタの出力と前記左少量ビットシフタ
    の出力のいずれか一方をパイプラインステージの最初の
    ステージで選択して出力するセレクタと、 前記パイプライン化のために前記バイト単位シフタの出
    力を保持するパイプラインレジスタと、 パイプラインの最終ステージで前記パイプラインレジス
    タの出力データに対して所定少量の左右シフトを行う左
    右少量ビットシフタとを備えたことを特徴とするシフタ
    回路。
  5. 【請求項5】 前記左少量ビットシフタの前記所定少量
    ビットは、8ビットより小さいビットとしたことを特徴
    とする請求項4記載のシフタ回路。
  6. 【請求項6】 実行する命令アドレスを記憶するプログ
    ラムカウンタと、このプログラムカウンタより読み出さ
    れた命令アドレスをインクリメントするインクリメンタ
    回路と、このインクリメンタ回路から出力された命令ア
    ドレスが指定する命令を読み出す命令格納部と、前記命
    令格納部より読み出された命令をデコードする命令デコ
    ーダと、命令の実行に必要なデータを保持し、その読み
    出し/書き込み動作が前記命令デコーダのデコード結果
    に従って制御されるレジスタファイルと、前記命令デコ
    ーダのデコード結果に従い、前記レジスタファイルから
    読み出された値に基づいて演算を実行する演算実行部と
    を備えたマイクロプロセッサにおいて、 前記演算実行部は、 前記レジスタファイルからのオペランドに対してバイト
    単位の左右シフトを行うバイト単位シフタと、 前記バイト単位シフタと並列に動作を行い、前記入力デ
    ータに対して所定の少量ビットの左シフトを行う左少量
    ビットシフタと、 前記バイト単位シフタの出力と前記左少量ビットシフタ
    の出力のいずれか一方をパイプラインステージの最初の
    ステージで選択して出力するセレクタと、 パイプライン化のために前記バイト単位シフタの出力を
    保持するパイプラインレジスタと、 パイプラインの最終ステージで前記パイプラインレジス
    タの出力データに対して所定少量の左右シフトを行う左
    右少量ビットシフタとを有するシフタ回路を備えたこと
    を特徴とするマイクロプロセッサ。
  7. 【請求項7】 前記左少量ビットシフタの前記所定少量
    ビットは、8ビットより小さいビットとしたことを特徴
    とする請求項6記載のマイクロプロセッサ。
JP00219397A 1997-01-09 1997-01-09 シフタ回路及びマイクロプロセッサ Expired - Fee Related JP3474384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00219397A JP3474384B2 (ja) 1997-01-09 1997-01-09 シフタ回路及びマイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00219397A JP3474384B2 (ja) 1997-01-09 1997-01-09 シフタ回路及びマイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH10198550A true JPH10198550A (ja) 1998-07-31
JP3474384B2 JP3474384B2 (ja) 2003-12-08

Family

ID=11522533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00219397A Expired - Fee Related JP3474384B2 (ja) 1997-01-09 1997-01-09 シフタ回路及びマイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP3474384B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142776A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd データをロードする方法及びデータをストアする方法
US7376819B2 (en) 2002-06-28 2008-05-20 Renesas Technology Corp. Data processor with selectable word length

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142776A (ja) * 1999-10-01 2001-05-25 Hitachi Ltd データをロードする方法及びデータをストアする方法
US7376819B2 (en) 2002-06-28 2008-05-20 Renesas Technology Corp. Data processor with selectable word length

Also Published As

Publication number Publication date
JP3474384B2 (ja) 2003-12-08

Similar Documents

Publication Publication Date Title
EP2241968B1 (en) System with wide operand architecture, and method
US6539467B1 (en) Microprocessor with non-aligned memory access
JP2816248B2 (ja) データプロセッサ
US7447871B2 (en) Data access program instruction encoding
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US6453405B1 (en) Microprocessor with non-aligned circular addressing
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
EP2302510B1 (en) A processor and method performed by a processor for executing a matrix multipy operation using a wide operand
US20030005261A1 (en) Method and apparatus for attaching accelerator hardware containing internal state to a processing core
US7721074B2 (en) Conditional branch execution in a processor having a read-tie instruction and a data mover engine that associates register addresses with memory addresses
US7721073B2 (en) Conditional branch execution in a processor having a data mover engine that associates register addresses with memory addresses
JP4073721B2 (ja) データ処理装置
US5504923A (en) Parallel processing with improved instruction misalignment detection
JP3479385B2 (ja) 情報処理装置
US20200326940A1 (en) Data loading and storage instruction processing method and device
JPH07239780A (ja) 1クロック可変長命令実行処理型命令読み込み電子計 算機
US7721075B2 (en) Conditional branch execution in a processor having a write-tie instruction and a data mover engine that associates register addresses with memory addresses
US6654874B1 (en) Microcomputer systems having compressed instruction processing capability and methods of operating same
CN111814093A (zh) 一种乘累加指令的处理方法和处理装置
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
JP3474384B2 (ja) シフタ回路及びマイクロプロセッサ
US11210091B2 (en) Method and apparatus for processing data splicing instruction
US20210089305A1 (en) Instruction executing method and apparatus
US20030005269A1 (en) Multi-precision barrel shifting
JPH04104350A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070919

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090919

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees