JPS62256035A - 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構 - Google Patents

可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構

Info

Publication number
JPS62256035A
JPS62256035A JP62038123A JP3812387A JPS62256035A JP S62256035 A JPS62256035 A JP S62256035A JP 62038123 A JP62038123 A JP 62038123A JP 3812387 A JP3812387 A JP 3812387A JP S62256035 A JPS62256035 A JP S62256035A
Authority
JP
Japan
Prior art keywords
shift
bits
data segment
shifting
data
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
JP62038123A
Other languages
English (en)
Other versions
JPH0679268B2 (ja
Inventor
トーマス・アール・ウツドワード
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.)
System Development Corp
Original Assignee
System Development 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 System Development Corp filed Critical System Development Corp
Publication of JPS62256035A publication Critical patent/JPS62256035A/ja
Publication of JPH0679268B2 publication Critical patent/JPH0679268B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Programmable Controllers (AREA)
  • Bus Control (AREA)
  • Logic Circuits (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明はプログラム可能なシフト機構に関し、特に、異
なるデータバス幅のフォーマットをもつデータセグメン
トを受けられるようにプログラム的にセット可能なシフ
ト機構に関する。
i旦五生旦旦」 近年におけるマイクロプロセッサ、即ち、ワンチップ集
積回路上に集積されたデータプロセッサの繁栄が、かか
るマイクロプロセッサの、インテリジェントターミナル
、パーソナルコンピュータ等の分野への増大し続ける適
用をこなすことを可能にしてきた。更に、集積回路分野
における飛躍的な進歩が、そのようなマイクロプロセッ
サをして、チップ当り益々莫大な数のゲートを実装可能
にし、その結果、マイクロプロセッサの能力、スルーブ
ツトの強化をも可能にしてきた。もともと、最初のマイ
クロプロセッサは、8ビツトのデータバス幅をもってい
た0次の世代のマイクロプロセッサは、16ビツト幅の
データバス幅を持ち、今や、32ビツトのデータバス幅
のマイクロプロセッサが市場に出回ろうとしている。
かかるマイクロプロセッサに特有な、しかもワンチップ
の集積回路上にそれらの設計を容易にした特徴は、マイ
クロプログラム化若しくはマイクロプログラム制御であ
る。“マイクロプログラム”なる用語は、最初はモーリ
スウィルキスの論文r自動計算装置の最適設計方法1 
(マンチェスタ大学コンピュータ会議開会報告、英国、
マンチェスター市、1951年7月、16〜18頁)で
用いられた。このマイクロプログラムコンセットはチッ
プ当り2.3個のゲートしかもたない初期の集積回路の
出現まで、実際には実用化されなかった。それらの初期
の集積回路は、現在、小規模集積回路(SSI)と称さ
れている。膨大な数のゲートを有する第2世代のチップ
は中規模集積回路(MSりとして知られており、今日、
数千のゲートをもつような集積回路が市販されて、超大
規模集積回路(VLSI)と称されている。このチップ
当りのゲート数の膨大な増加があって始めて、かかる強
力なマイクロプロセサを制御するのに必要な全てのマイ
クロ命令シーケンスを統御するために用いられるマイク
ロプログラム記憶の容量を増やすことが可能となったの
である。
格納されるべきマイクロ命令の数を減らすのに役立って
きた特別のコンセットは、2レベルの制御記憶コンセッ
トであった。このコンセットでは、下位レベル記憶が、
冗長なマイクロ命令のシーケンスよりもむしろ各々独自
なマイクロ命令のみを含むようにしている。ワード若し
くは命令幅の点でより小さなメモリが、コード化された
一連のマイクロ命令を含むよう提案され、そのメモリが
対応する下位レベルのマイクロ命令をアドレスする働き
をする。そのようなシステムは米国特許第3,983,
539号(ファーベルその他)に述べられている。かか
るシステムでは、下位レベルの制御記憶は読み出し専用
メモリ(ROM)(これは″随時アクセスメモリRAM
よりも廉価である)とする事ができ、一方、上位レベル
メモリはRAMとなる。この上位レベルメモリにおける
より短い垂直マイクロ命令と、下位レベルメモリにおけ
るより長い水平マイクロ命令とを区別するために、上位
レベルメモリはマイクロメモリと呼ばれ、ファーベル特
許の発明者は下位レベルメモリをナノメモリと呼んだ。
又、1つ又はそれ以上のコード化さ4ていない制御ビッ
トフィールドからなる水平マイクロ命令はナノ命令と呼
ばれた。
このような2階層制御記憶を採用したマイクロプロセッ
サファミリーが米国特許第4,342,078号゛(ト
レドニックその他)に開示されている。
明が解決しようとする問題点 このようなマイクロプロセッサは、そのデータバスの幅
を8ビツトから16ビツト、そして今や32ビツトへと
増やして、その能力若しくはスルーブツトを増大してき
たので、より小型のマイクロプロセッサ用にフォーマッ
ト化されたデータを、より大きなデータバス幅をもつマ
イクロプロセッサが容易に扱う事はできない。何故なら
、加算器内で算術回路がキャリーその他の信号を生成す
るような時において、モして又シフト機構がデータを右
又は左にシフトしたり、異なるデータフォーマットに巡
回シフト、若しくはシフトオフしたりするときに、問題
が発生するからである。
そこで、本発明の目的は、プログラムコントロール下で
異なるデータフォーマットを扱う事のできる改良された
シフト機構を提供することである。
本発明の他の目的は、異なるデータバス幅を有するプロ
セッサをシミュレーションするための改良されたシフト
機構を提供する事である。
本発明の更に他の目的は、異なるデータセグメントが異
なる幅を持つ場合に、そのデータセグメントをシフトオ
フし、巡回シフトするための改良されたシフト機構を提
供する事である。
11立旦1 上述の目的を達成するための本発明は、色々なデータバ
ス幅をもつ入力データフォーマットを扱うための複数レ
ベルのマルチプレクサを含むシフト機構に存する。これ
らのマルチプレクサの特有のワイアリングは、シフト器
によりlA理される最大サイズのデータセグメントをシ
フトできるように設計されている。
より短いデータセグメントをシフトする事は、第1と第
3のレベルのマルチプレクサを特殊に制御する事によっ
て、シフト器のデータバス内でいかなる付加回路も必要
とせずに実現される。第ルベルのマルチプレクサ(この
マルチプレクサの主な目的は、右シフト、左シフト、巡
回シフトの間で選択を行なう事である)は、最大長より
も小さいデータセグメント内で不必要な上位ビットをマ
スクアウトするのに更に使われる。第2のレベルのマル
チプレクサの動作(このマルチプレクサは、シフト命令
の値の最下位ビット(LSB)による指定に従って、シ
フト器が扱う最短のデータセグメント長よりも更に少な
い量だけ、データのシフトを実行するのに使われる)は
、シフトされている特定のデータセグメントの長さによ
っては影響は受けない、第3のレベルのマルチプレクサ
(このマルチプレクサは通常、第2レベルのマルチプレ
クサの出力を、シフ、ト量の値の最上位ビットに基づい
て、選択するのに使われる)は、最゛大長よりも少ない
データセグメントのシフトが実行されている時に、2つ
又はそれ以上のそのような出力を論理的ORする事に使
われる。このORをとる事の目的は、シフト器の出力を
ビット位置からコピーすることにあり、固有の最大デー
タ長のシフトにより、その出力を、実行中の短い長さの
シフトに適合した下位ビット位置に置く事である。
それで、本発明の特徴は、異なる幅の色々のデータフォ
ーマットに対して、右シフト、左シフト、巡回シフトを
行うための、複数のレベルのマルチプレクサと制御機構
にある。
l豆立二里煎旦j 本発明は、ウッドワードその他による特許出願(特願昭
60−216055号(特開昭61−114341号)
に説明されたプロセッサ環境の中に適用されており、2
つのレベルの制御記憶を用いる。前述したように、高位
レベルの制御記憶は、一連の下位レベルの制御記憶をア
ドレスするマイクロ命令を含み、下位レベルの制御記憶
はユニークなセットのナノ命令を含む。更に、上位レベ
ルの制御記憶は、そのプロセッサが実行できる機能の数
を制限することがないように、そのプロセッサによって
実行されるナノ命令数若しくは制御ワード数が無制限と
なるように、プロセッサの制御レジスタにナノ命令を供
給できる。
本発明が存するウッドワード(その他)特許出願のプロ
セサが第1図に示され、そして高位アドレスバスとアド
レス/データバスとにより外部メインメモリ(不図示)
をアドレスすることのできる外部バスインターフェース
を有する。尚、後者のアドレス/データバスは双方向性
である。このプロセサは、上記メインメモリからデータ
及び機械語命令を受ける。外部バスインタフェースは機
械語命令のオペレータ部分をシーケンサIIBに送る。
シーケンサIIBはそれらのオペレータを使ってマイク
ロメモリ(MPM)16をアドレスする。このマイクロ
メモリは、実際には、第1図の残りの機能要素部分を含
む集積回路チップの一部ではない。このアクセスに応答
して、マイクロ命令が受けられ、その命令は、ナノメモ
リ12へのアドレスとして使われる部分と共に、制御ユ
ニットlla及び他のユニットへ返される。上にも示し
たように、そのようなマイクロ命令の1つのタイプは、
制御レジスタ13に直接に供給されるナノ命令であって
もよい。ナノ命令が、ナノメモリ11から来ようと、マ
イクロメモリ16から来ようと、制御レジスタ13にお
けるナノ命令の色々なフィールドは、プロセサの算術論
理ユニット(ALU)24及び他の機能ユニットに送ら
れ、特定のオペレーションを実行する。
デコーダ13aは入力されるマイクロ命令がタイプ■で
あるかタイプIIIであるかを検出する。もし前者であ
れば、そのナノメモリアドレスがナノメモリ12へ送ら
れる。もしマイクロ命令がタイプII+であれば、直接
制御レジスタ13へ送られる。デコーダ13aは、マイ
クロメモリの形式を検出すると共に、ナノメモリ12の
出力又は制御レジスタ13へ転送のためマイクロメモリ
16からの入力を受けるべきかを、マルチプレクサ15
に知らせる。上記マイクロ命令のタイプ、その他に関す
る第1図プロセサの完全な説明には、参考として本特許
出願に組込まれている上記のウッドワード(その他)の
特許出願(特開昭第61−114341号)を参照すれ
ばよい。
本発明のシフト機構は第1図の算術論理ユニツ)−(A
LU)14にある。これは第2図により詳細に示されて
いる。それらに示されているように、論理ユニット20
は、Xマルチプレクサ(MUX)21とYマルチプレク
サ22夫々によって、バス28、又はAレジスタファイ
ル(AI。
A2+A3 ) 23と、Bレジスタファイル24等の
色々なソース゛から、選択してデータ入力を受けること
ができる。Yマルチプレクサ22の出力は、マスキング
ユニット25を介して論理ユニット2同様に、論理ユニ
ット20の出力が、バレルシフト器(BSW)26に与
えられる。先にも説明したように、バレルシフト器26
は、シフト量レジスタ(SAR)の現在の内容によって
示されているシフト量値によって決められる数のビット
だけ、左又は右に巡回シフトする事ができる。ノ下しル
シフト器26の出力は、メモリ情報レジスタ(MIR)
27、モしてバレルシフト器出力バス(BSW出力バス
)29へ送られ、外部バスインタフェース10(第1図
)、制御ユニット11a、シーケンサ11b(第1図)
へ送信される。
第2図に示しているように(ウッドワード出願に説明さ
れているように)、バレルシフト器26は、SARから
のシフト量の値と、現在実行されているナノ命令からの
バレルスイッチオペレーションコード(BSW  OP
)とを受ける。このバレルスイッチオペレーションコー
ドは、シフト器26が左シフトするか、右シフトするの
か、エンドオフするのか、それとも巡回シフトするのか
を特定する。左シフトに対して特定されるシフト量は所
望のシフト量の2の補数でなくてはならない。更に、バ
レルシフト器(スイッチ)26は、それが受けているデ
ータフォーマットが、8ビツトフオーマツトか、16ビ
ツトフオーマツトか、32ビツトフオーマツトか否かを
指定するモードコード(MODE)を受ける。これら色
々なフォーマットを受け入れ可能とするために、第2図
会体に示した算術論理ユニット内のデータバスの幅は全
て32ビツトとしている。
上述したように、本発明はバレルシフト器26にあり、
このシフト器を第3図に著干より詳細に示す、そこに示
しであるように、本発明の主な要素は、バレルスイッチ
(BSW)入力マルチプレクサ30を有する。このマル
チプレクサは以下更に完全に説明されるであろうが、第
3図のシフト機構が16ビツト若しくは8ビツトモード
で用いられる時に、不必要なビットを32ビツト入力か
ら切捨てる役割をする。第3図、そして第2図に示すよ
うに、シフト機構は2つの32ビツト入力、即ちXマル
チプレクサ出力と加算器出力(従って、全部で64ビツ
ト)とを受ける。しかしながら、Xマルチプレクサ出力
は倍精度の32ビツトモードのシフトオペレーションで
のみ用いられるものであり、しかもこのシフトオペレー
ションは本発明と直接関連はないので、本明細書の残り
の説明は、バレルスイッチ入力マルチプレクサ30が加
算器出力からの8ビツト、16ビツト、又は32ビツト
を受けることに関するもののみに限られる事になる。こ
の点に関して、第4A図に示した入力マルチプレクサ3
0の論理は、前記ウッドワード(その他)の特許出願で
実際に用いられている論理を単純化したものである。実
際のシフト処理は、32個の独立したビットセルである
バレルスイッチビットセル31によってなされる(この
ビットセルについては以下に更に詳説される)。
第3図のシフト機構の制御は、バレルスイッチ入力マル
チプレクサ30内のある論理と共に、シフト量論理32
によってなされる。第3図のシフト機構の動作を制御す
る3組の値には、2ビツトのモード(MODE)値が含
まれる。このモード値は、処理されているデータセグメ
ントが8ビツトか、16ビツトか、32ビツトであるか
を特定するものであり、前述したようにシフト量論理3
2、モして又、バレルスイッチ入力マルチプレクサ30
に送られる。このモード値がインプットマルチプレクサ
30に与えられると、8ビツトモードと16ビツトモー
ドでのオペレーションにおいて、シフト機構内で実際に
使われる事のないいくつかのビットの出力を禁止する。
これらのMODEビットはシフト量論理32において、
夫々のビットセル31の出力に対する付加的なスクリー
ニングプロセスのための限定的なエネーブル信号を与え
るために用いられる。
バレルスイッチオペレーションコード(BSW−o p
)は、シフト結果が左方向シフト、右方向シフト若しく
は巡回シフトされるのかを特定する。この巡回シフトは
、左若しkは右巡回シフトであると考えられる。必要と
される第3の値は、最終結果がシフトされるビット数を
特定する5ビツト(BIT4〜BITO)のシフト量の
値である。この値は、この場合、シフト機構がどのモー
ドにあるかに依存して32までの値を取る事ができる。
32ビツトの加算器出力は同時に、バレルスイッチ入力
マルチプレクサ30の2組の論理ゲートに同時に送られ
る。即ち、そこには全体で64個のANDゲートがあり
、そのうちの最初の32個が、右方向シフトのために3
2ビツトの加算器出力信号を受ける。そして残りの32
個が左方向シフトのための同じ加算器出力ビットを受け
る。
本質的に、本発明のシフト機構は、加算器20(第2図
)からの出力ビットを自由に組合せ若しくは配列したも
のであるところの出力を論理的に供給可能にしたところ
の複数レベルのマルチプレクサを採用している。しかし
ながら、本発明の目的は、左方向シフト、右方向シフト
そして巡回シフトを行い、8,16.32ビツトのデー
タフォーマットを扱う事のできるシフト機構を提供する
事である。このようなわけで、上記の複数レベルのマル
チプレクサの制御はこの目的に向けて設計されているも
のである。
発明の詳細な説明 31g4A図は第3図のバレルスイッチ入力マルチプレ
クサ30の回路を示す。上述したように、この回路は加
算器20(第2図)から32個までのデータビットを受
けて、これらのデータビットを2組の32個のANDゲ
ート(Ro。〜Rs+とLo。
〜L31)に送る。上述したように、これらの2組のA
NDゲートは夫々、右方向のシフトと左方向のシフトを
行うために用いられる。4つの制御用のANDゲート(
35a 〜35d)が、信号ENABLE−RとENA
BLE−Lとを含むバレルスイッチオペレーションコー
ドを受ける。ORゲート36は8ビツトモード(MOD
E8)及び16ビツトモード(MODE16)に対する
データバス幅のモードコントロール信号を受ける。OR
ゲート36の出力は、制御ANDゲート35b、35d
への入力前で反転されており、同様に8ビツトモ一ド信
号も制御ANDゲー)35a、35cへの入力時に反転
されているので、8ビツトモ一ド信号(MODE8)が
アクティブの時はANDゲートR0a〜R31とLo♂
〜L31は消勢され、ANDゲートR0゜〜R07とL
o。〜LO7のみが夫々の入力信号を32個のバレルス
イッチビットセル31(343図)へ渡す。ENABL
E−R信号を加えると出力ANDゲートR0゜〜RO?
とり。。〜Latを付勢し、ENABLE−L信号を加
えると出力ANDゲートLO0〜LO?を付勢する。同
様に、信号MODE16をORゲート36へ加えると、
制御ゲート35b、35dによって出力ANDゲートR
18〜R31とL16〜L3、のみを消勢する。ORゲ
ート36が信号MODE8もMo1)E16も受けない
時は、ゲートRo。〜R31は信号ENABLE−Rに
より付勢され、−力信号ENABLE−Lによりゲート
L。0−L31が付勢される。
第4B図は夫々のENABLE信号の目的を示している
。同図から明らかなように、右方向シフトは信号ENA
BLE−R(−1)によってなされ、左方向シフトは信
号ENABLE−L (−1)によってなされ、巡回シ
フトは両信号が共に加えられる時なされる。
第3図の1つのバレルスイッチビットセル31を詳しく
説明する前に、個々のバレルスイッチビットセル31(
第3図)が入力するところの条件付シフトイネーブル信
号を、シフト量論理32が生成する様子を説明しよう、
このシフト量論理32は、第5図にその回路図が示され
ている。
第5図の回路は、MOI)E1616個びMODE8信
号と共に、シフト量の値の最上位ビット(B I T4
)と第2位のビット(BIT3)とを受けて、1〜4つ
の条件付シフトイネーブル信号をORゲート37a〜3
7dから出力する。°この論理は、読者が入力信号から
夫々のANDゲート38a〜38hまでをトレースでき
ると思われるので、詳しくは説明しない。
結果は次のようである。32ビツトモードでは、シフト
量の上位2つのMSB (BIT4とBIT3)が“0
”の時、条件付シフト信号。−7がORゲート37aか
ら出力される。シフト量の最上位ビット(BIT4)が
0”で、第2位のビット(BIT3)が1″の時はOR
ゲート37bが条件付シフトイネーブルI!1−15を
出力する。シフト量のMSBが“1“で、第2位のビッ
トがO”の時はORゲート35cが条件付シフトイネー
ブルl1l−32を出力する。両方のビットが1″の時
はORゲート37dが条件付シフトイネーブル24−3
1を出力する。
16ビツトモードでは、MODE16信号と共にシフト
量の第2位ビット(BIT3)のみが効いてくる。この
シフト量の第2位ビットが0′の時、ORゲート37a
、37cが“1″を出力し、上記第2位のビットが“1
”の時はORゲート37b、37dが“1“を出力する
MODE8信号が8とットモードである事を示している
と、シフト量のビットは用いられないで、ORゲート3
7a〜37dの全てが1”を出力する。これらの出力さ
れた条件付シフトイネーブル信号を、個々のバレルスイ
ッチビットセル31がどのように用いるかは、第6図の
説明から容易に明白になるであろう。
第6図は個々のバレルスイッチビットセルの回路図であ
る。32個のこれらのセルが第3図の全体のバレルスイ
ッチビットセル31を形作る。第6図では、4つの8×
1マルチプレクサ41a〜41dがある。全部で32個
の入力M31〜M0゜に対して、これらのマルチプレク
サは、マルチプレクサ1つ当り8つの入力信号を受ける
。これらのマルチプレクサは夫々、入力されるシフト量
の下位3ビツト(BIT2,1.O)の値に応じて、8
入力のなかから1つを出力として選ぶ。シフト量の2つ
の上位ビット(BIT4.3)が、第5図のシフト量論
理による条件付シフトイネーブル信号の生成に用いられ
たこと′は前述した通りである。これらの4つの条件付
シフトイネーブル信号は夫々、対応するANDゲート4
2a〜42dに送られて、それに対応するマルチプレク
サ41a〜41dの出力を通すように上記ゲートを付勢
する。ANDゲート夫々の出力はORゲート43により
一緒にOR結合され、特定のバレルスイッチビットセル
(第6図)としての1つのバレルスイッチ出力を生成す
る。
第5図の記述で説明したように、本発明のシフト機構が
32ビツトモードにある時は、ただ1つの条件付シフト
イネーブル信号が生成され、ANDゲート42a〜42
dのうちの対応するものを、シフト量の2つの上位ビッ
トの値に応じて、ANDゲート42a〜42dのうちの
対応するものが開く。16とットモードでは、ANDゲ
ート42aと42C1又は42bと42dのいずれか一
方が開き、それらの出力がORゲート43によってOR
結合される。8ビツトモードでは、夫々のANDゲート
42a〜42dのすべてが開き、それらの出力がORゲ
ート43によってOR結合される。
バレルスイッチ入力マルチプレクサ30の2組の32ビ
ツト出力(RO0〜R51、Lo。〜L、1)が、第6
図の32個のバレルスイッチビットセルの各々の対応す
る32ビツト入力(M oo= M 31)ニ接続され
ている様子を示すために、第7図のテーブルを参照しよ
う。このテーブルは簡潔さのために一部的にしか完全で
ない。しかしながら、本発明のシフト機構が8ビツト、
16ビツト、32ビツトのいずれのモードで動作してい
るかということに応じて、更に、シフト量をOか631
までの間で特定可能な5ビツトのシフト量値がどの値を
もつかということに応じて、対応する入力信号が色々な
ビットセルのどれへ入力され、それらの各々の出力信号
がどのようになるかというシーケンスを示すには十分で
ある。
第千図の上段の行は、第6図のとットセルの対応する入
力信号名(MO0〜M31)を示す。第7図の最も左の
列は、ビットセルの番号を表わす。このようにして、こ
のテーブルから、ビットセル番号00に対しての入力M
31はR31s即ち第3図のRバスの最上位ビットであ
ることがわかる。同様に、入力M、。はビットR3◎で
あり、入力MooがRo。となる。同じく、ビットセル
番号01に対しては入力M3.はLOOであり、入力M
S。はR31であり、入力M29はRSOである。
第7図のテーブルは、本発明のシフト機構を制御するの
に使う動作モードの違い及びシフト量の値に応じて、夫
々のビットセルの出力がどうなるかということを表わす
のにも用いる事ができる。
即ち、シフト器のビットセルの出力は次のようにして決
める。第7図のテーブルの下部分は、シフト量がどれだ
けか、処理しているデータ幅はどれだけかに応じて、ビ
ットセルの出力を、そのビットセルの入力のうちどれを
組合せたものとすべきかを示す、その組合せは、所望の
MODEとシフト量が決まると、そのMODEとシフト
量値とが指す(ビットセルの)入力ビットの論理和をと
ることによって決定される。MODEとシフト量値との
組合せに応じて、何個の入力ビットが上記論理和の対象
になるかというと、与えられたあるシフト量に対して、
32ビツトモードでは、唯一の入力ビットが指定される
。16ビツトモードでは、2つの入力ビットが指定され
る。8ビツトモードでは、4つの入力ビットが指定され
る。かくして、例えば32ビツトモードでは、シフト量
が12”であると、ビットセル31の出力はLOIであ
り、ビットセル30の出力はLOGであり、ビットセル
29の出力はR3□である。上記と同じシフト量の16
ビツトモードでは、とットセル00の出力はRe2とR
laとの論理和となる。同じシフト量の8ビツトモード
では、ビットセル00の出力はRe2とR1(1とRl
aとRlaとの論理和となる。
32ビツトモードでのシフト器の動作は上記の説明から
明白である。一方、減少したデータ幅モードでの動作は
例を通して説明すると、明白になろう。その例とは、8
ビツトモードでの、右方向の2ビツトの巡回シフトであ
る。もし、加算器の出力07とOOとが“1”で、出力
06〜01が“O′で、出力31〜08が”x” (0
”と21′のどちらでもよい)であるならば、その時L
パスライン(L、1〜Log)とRパスライン(R51
〜R06)とは、第4A図の8ビツトモードラインのマ
スキング作用により0″となる。一方、出力ラインLO
7,LO0,ROt、 Re。は“1″となり、ライン
L e@”’ L 01とR01l−’ ROlは夫々
、ENABLE−L信号、ENABLE−R信号との作
用により0”となる。第7図のテーブルから、シフト器
のビットセル00の出力はR021RIon Rlaと
R26(これらは全て0”)の論理和であり、それ故、
出力00も又“0“である。同様に、出力01〜04&
07とは“O”となる。出力05はROtが1”である
ことから“1”となり、一方、出力06はLo。のため
に“1”となる。
第7図から推論できるように、本発明のシフト機構から
は常に32ビツト出力がある。32ビツトモードでは、
32ビツト全てが有意であり、これらは第2図会体に示
した算術論理ユニットに入力される。しかしながら、1
6ビツトモードでは、最初の16ビツトのみが有意であ
り、次の16ビツトは冗長的であり、上記算術論理ユニ
ットによっては入力されない。8ビツトモードでは、残
りの24ビツトは最初の8ビツトの繰り返しであり、従
ってその24ビツトは上記ユニット2゜に入力されない
上述したように、本発明の一実施例が開示してきたが、
特許請求の範囲に記載された本発明の思想及び範囲から
逸脱しない範囲での変更、修正がなされ得ることは、当
業者には自明のことである。
魚J」υ1困 以上説明したように、本発明のシフト機構によれば、こ
のシフト機構は、複数レベルのマルチプレクサを採用し
、このマルチプレクサはその入力のいかなる組合せ又は
順列であるところの出力を生成するものであり、更にこ
のシフト機構には、所望のシフト量、シフト動作タイプ
、用いられているデータフォーマットの幅等を指定する
制御信号に応じて夫々のシフト動作を制御する制御ロジ
ックが備えられている。従って、左シフト、右シフト、
巡回シフト等の機能を備え、かつプログラム制御に従っ
て、シフト機構のモードに応じた、例えば8,16.3
2ビツトのいずれのデータフォーマットのデータセグメ
ントを処理可能なシフト機構が提供できる。
【図面の簡単な説明】
第1図は本発明に係る実施例のシフト機構を適用したプ
ロセッサを説明する図、 第2図は実施例のシフト機構を適用したプロセッサの算
術論理部の回路図、 第3図は本実施例に係るシフト機構を説明する図、 ・第4図は本実施例に係るジフト機構の入力論理の回路
図、 第5図は本実施例に係るシフト機構を制御するのに適用
したシフト量論理の回路図、 第6図は本実施例に係るシフト機構に用いられたマルチ
プレクサ回路を示す図、そして、第7図は本実施例に係
るシフト機構の動作を示すテーブル図である。 図中、 12・・・ナノメモリ、14・・・算術論理ユニット(
ALU)、16・・・マイクロメモリ(MPM)、20
・・・論理ユニット(加算器)、26・・・バレルシフ
ト器、30・・・バレルスイッチ入力マルチブレフサ、
31・・・バレルスイッチビットセル、32・・・シフ
ト量論理、41a〜41d・・・マルチプレクサである
。 −fυJ <、m+−57ト) (特許法第17条の2第1号の規定による補正)手続補
正書 昭和62年 4月30日

Claims (10)

    【特許請求の範囲】
  1. (1)シフトオペレーションを特定し、かつデータセグ
    メントがシフトされるシフトビット量を含むコードと、
    シフトされる前記データセグメントの幅を特定するコー
    ドとを受ける記憶位置手段を有するデータ処理装置にお
    いて、Mビット幅を有するデータバスと、上記データバ
    スに接続され、前記MがNの倍数であるそのNビット幅
    を有するデータセグメントを受けるシフト手段であつて
    、前記記憶位置手段に接続され、シフト量の値を受けて
    前記記憶位置手段によつて特定された上記量だけ前記デ
    ータセグメントをシフトするシフト手段と、前記データ
    バスとシフト手段との間で前記記憶位置手段に接続され
    、前記シフト手段へ転送するために、前記Nビットのデ
    ータセグメントを受ける入力論理手段とを有するシフト
    機構。
  2. (2)前記入力論理手段は前記データバスに接続された
    M個の論理ゲートを含み、 これらの論理ゲートは、データセグメント幅を特定する
    前記コードによつて、前記データバス上で、受けられた
    データセグメントのうちNビットを通過させ、M−Nビ
    ットのセグメントを阻止するように条件付けられている
    事を特徴とする特許請求の範囲第1項に記載のシフト機
    構。
  3. (3)前記シフト手段は、前記記憶位置手段に接続され
    たマルチプレクサ手段を含んで前記シフト量値の一部を
    受け、前記マルチプレクサ手段は前記入力論理手段に接
    続されて、アクティブデータの前記Nビットと全て零で
    あるM−Nビットとを受ける事を特徴とする特許請求の
    範囲第2項に記載のシフト機構。
  4. (4)前記記憶位置手段に接続されて受けられるべきデ
    ータセグメントの前記幅を受けるシフト制御論理手段を
    更に有し、該シフト制御論理は前記シフト量値と前記デ
    ータセグメント幅の指定とに従つて前記データセグメン
    トのシフトを制御する事を特徴とする特許請求の範囲第
    3項に記載のシフト機構。
  5. (5)前記マルチプレクサ手段に接続され、かつ前記シ
    フト量値に従つてシフトされる前記データセグメントを
    受信する出力論理手段を更に含む事を特徴とする特許請
    求の範囲第4項に記載のシフト機構。
  6. (6)シフトオペレーションを特定し、かつデータセグ
    メントがシフトされるシフトビット量を含むコードを受
    ける第1の記憶位置手段と、シフトされるべき前記デー
    タセグメントの幅を特定するコードを受ける第2の記憶
    位置手段とを有するデータ処理装置において、 Mビット幅を有するデータバスと、上記データバスに接
    続され、前記MがNの倍数であるそのNビット幅を有す
    るデータセグメントを受けるシフト手段であつて、前記
    第1の記憶位置手段に接続されて、シフト量の値を受け
    前記第1の記憶位置手段によつて特定された上記量だけ
    前記データセグメントをシフトする前記シフト手段と、
    前記データバスとシフト手段との間に接続され、前記デ
    ータセグメント内の2組のビットであつて、その1組の
    ビットは右シフトのため、他の1組のビットは左シフト
    のためであり、この1組又は両組の前記データセグメン
    トのビットは前記シフト手段へ転送されるようなその2
    組のビットを受ける入力論理手段とを有するシフト機構
  7. (7)前記入力論理手段は、前記データバスに接続され
    た2組のM個の論理ゲートを含み、これらの論理ゲート
    は、データセグメント幅を特定する前記コードに応じて
    、前記1組又は両組の受けられたデータセグメントのう
    ちNビットだけを通過させ、前記シフト手段へのデータ
    セグメントの夫々の内の残りのビットの通過を阻止する
    ように条件付けられている事を特徴とする特許請求の範
    囲第6項に記載のシフト機構。
  8. (8)前記シフト手段は、前記第1の記憶位置手段に接
    続されたマルチプレクサ手段を含んで前記シフト量値の
    一部を受け、 前記マルチプレクサ手段は前記入力論理ゲートに接続さ
    れており、アクティブデータの1つ又は両方の組を、各
    組が零である残りのビットと共に受ける事を特徴とする
    特許請求の範囲第7項に記載のシフト機構。
  9. (9)前記第2の記憶位置手段に接続され、受けられる
    べきデータセグメントの前記幅を受けるシフト制御論理
    手段を更に有し、 該シフト制御論理手段は前記シフト量値と前記データセ
    グメント幅の指定とに従つて、前記データセグメントの
    シフトを制御する事を特徴とする特許請求の範囲第7項
    に記載のシフト機構。
  10. (10)前記マルチプレクサ手段の異なる組に接続され
    て、NがM未満であるときに、シフトされる前記データ
    セグメントの異なる組を一緒にORする事を特徴とする
    特許請求の範囲第9項に記載のシフト機構。
JP62038123A 1986-02-24 1987-02-23 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構 Expired - Lifetime JPH0679268B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US81384686A 1986-02-24 1986-02-24
US813846 1986-02-24

Publications (2)

Publication Number Publication Date
JPS62256035A true JPS62256035A (ja) 1987-11-07
JPH0679268B2 JPH0679268B2 (ja) 1994-10-05

Family

ID=25213554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62038123A Expired - Lifetime JPH0679268B2 (ja) 1986-02-24 1987-02-23 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構

Country Status (5)

Country Link
EP (1) EP0234187B1 (ja)
JP (1) JPH0679268B2 (ja)
AT (1) ATE88585T1 (ja)
CA (1) CA1265254A (ja)
DE (1) DE3785467T2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931971A (en) * 1989-01-13 1990-06-05 International Business Machines Corporation Partial decode shifter/rotator
JPH05134848A (ja) * 1991-03-06 1993-06-01 Fujitsu Ltd 中央処理装置のデータシフト回路
DE9300027U1 (de) * 1993-01-04 1994-05-05 Keller GmbH, 49479 Ibbenbüren Handpyrometer
GB2294138B (en) * 1994-09-23 1997-01-15 Cambridge Consultants Processor core embedded in an integrated circuit, simulator and emulator for the processor
GB9419246D0 (en) 1994-09-23 1994-11-09 Cambridge Consultants Data processing circuits and interfaces

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60233729A (ja) * 1984-04-19 1985-11-20 コンカレント・コンピュ−タ−・コ−ポレイション 高速バレルシフター
JPS62106540A (ja) * 1985-11-01 1987-05-18 Fujitsu Ltd シフト回路
JPS62135932A (ja) * 1985-12-10 1987-06-18 Canon Inc ビツトシフト装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5750049A (en) * 1980-09-09 1982-03-24 Toshiba Corp Shifting circuit
DE3037359A1 (de) * 1980-09-30 1982-04-29 Heinrich-Hertz-Institut für Nachrichtentechnik Berlin GmbH, 1000 Berlin Rechenwerkeinheit, insbesondere fuer gleitkomma-operationen
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60233729A (ja) * 1984-04-19 1985-11-20 コンカレント・コンピュ−タ−・コ−ポレイション 高速バレルシフター
JPS62106540A (ja) * 1985-11-01 1987-05-18 Fujitsu Ltd シフト回路
JPS62135932A (ja) * 1985-12-10 1987-06-18 Canon Inc ビツトシフト装置

Also Published As

Publication number Publication date
DE3785467D1 (de) 1993-05-27
EP0234187B1 (en) 1993-04-21
EP0234187A3 (en) 1990-05-16
CA1265254A (en) 1990-01-30
ATE88585T1 (de) 1993-05-15
EP0234187A2 (en) 1987-09-02
DE3785467T2 (de) 1993-07-29
JPH0679268B2 (ja) 1994-10-05

Similar Documents

Publication Publication Date Title
US4467444A (en) Processor unit for microcomputer systems
US5907842A (en) Method of sorting numbers to obtain maxima/minima values with ordering
JP3589719B2 (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
JP2674754B2 (ja) バレル・シフタ
EP0368826A2 (en) Data processing circuit
JPH06236252A (ja) 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法
JP2983542B2 (ja) 処理高速化装置
US4317170A (en) Microinstruction controlled data processing system including micro-instructions with data align control feature
EP0593107A1 (en) Data processing system
US5721809A (en) Maximum value selector
EP0574713B1 (en) A method for operating a digital data processor to perform a fuzzy rule evaluation operation
CA1082369A (en) Processor circuit
US20030131029A1 (en) Barrel shifter
JPS62256035A (ja) 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構
KR19980052740A (ko) 디지탈 신호 처리기에서의 2배 정밀도 곱셈연산 수행방법
US5991786A (en) Circuit and method for shifting or rotating operands of multiple size
FI91107B (fi) Tietojenkäsittely-yksikkö
JPH0798646A (ja) マルチレベル並列マグニチュードコンパレータ
US5070445A (en) Programmably controlled partially distributed masking mechanism in a programmable unit having variable data path widths
KR970004474B1 (ko) 디지탈 데이타 처리기 및 그 방법
US5027300A (en) Two level multiplexer circuit shifter apparatus
EP0273968B1 (en) Programmably controlled partially distributed masking mechanism in a programmable unit having variable data path widths
CA1257706A (en) Multiprocessors on a single semiconductor chip
KR100244398B1 (ko) 데이터 정렬기
GB1593136A (en) Data processing