JPH02136920A - データ処理回路 - Google Patents
データ処理回路Info
- Publication number
- JPH02136920A JPH02136920A JP1240904A JP24090489A JPH02136920A JP H02136920 A JPH02136920 A JP H02136920A JP 1240904 A JP1240904 A JP 1240904A JP 24090489 A JP24090489 A JP 24090489A JP H02136920 A JPH02136920 A JP H02136920A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- control
- lines
- data selection
- 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
Links
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 8
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000001143 conditioned effect Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 210000004907 gland Anatomy 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/764—Masking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
-
- 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/30018—Bit or string instructions
-
- 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/30029—Logical and Boolean instructions, e.g. XOR, NOT
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明はデータ処理システムに関し、さらに詳細には、
単一クロック・サイクル内で組合せまたはプール論理操
作のいずれかを実行するためのデータ処理回路に関する
ものである。
単一クロック・サイクル内で組合せまたはプール論理操
作のいずれかを実行するためのデータ処理回路に関する
ものである。
B、従来技術
]ンピュータ・アーキテクチャの最近の傾向は命令実行
の簡易化に向かっている。そのようなアーキテクチャの
一例は、命令実行速度を増大させるように設計された縮
小命令セット・コンピュータ(RISC)アーキテクチ
ャである。RISCアーキテクチャの目的は、単一クロ
ック・サイクルで実行できるコンピュータ命令を提供す
ることである。したがって、単位時間当りより多くの命
令を実行することにより、コンピュータ・システムの効
率が高まる。
の簡易化に向かっている。そのようなアーキテクチャの
一例は、命令実行速度を増大させるように設計された縮
小命令セット・コンピュータ(RISC)アーキテクチ
ャである。RISCアーキテクチャの目的は、単一クロ
ック・サイクルで実行できるコンピュータ命令を提供す
ることである。したがって、単位時間当りより多くの命
令を実行することにより、コンピュータ・システムの効
率が高まる。
コンピュータによって実行される命令の1クラスはマス
ク命令である。マスク命令は一般に2つのデータ・ワー
ド間の論理AND操作によって実行される。一方のデー
タ・ワード、すなわち、マスク・ワードは、作用を受け
るワードのビット値が元のままであるビット位置に1を
含む。マスク・ワードは、作用を受けるワードからマス
クされるピッ]・位置にOを含む。従来のある種のシス
テムでは、マスク操作には数サイクルを要する。
ク命令である。マスク命令は一般に2つのデータ・ワー
ド間の論理AND操作によって実行される。一方のデー
タ・ワード、すなわち、マスク・ワードは、作用を受け
るワードのビット値が元のままであるビット位置に1を
含む。マスク・ワードは、作用を受けるワードからマス
クされるピッ]・位置にOを含む。従来のある種のシス
テムでは、マスク操作には数サイクルを要する。
マスク操作に関係するもう1つの操作は組合せ操作であ
る。組合せ操作では、第1のデータ・ワードのデータの
一部が第2のデータ・ワードのビット位置に挿入される
。挿入の位置はビット・マスクによって規定される。最
初のマスク操作と挿入操作は通常界なる時点で行なわれ
るので、組合せ操作も数クロック・サイクルを要する。
る。組合せ操作では、第1のデータ・ワードのデータの
一部が第2のデータ・ワードのビット位置に挿入される
。挿入の位置はビット・マスクによって規定される。最
初のマスク操作と挿入操作は通常界なる時点で行なわれ
るので、組合せ操作も数クロック・サイクルを要する。
組合せ装置は前述のマスク操作のもとてマスク及び挿入
を実行する。また、組合せ装置を回転機構と共に使用し
てシフト操作を実行するのが一般的である。すなわち、
ワードのビット値がその元のビット位置に対して回転さ
れ、「循環」するビットが抑止される。従来の中央演算
処理装置(CPU)では、演算論理機構(ALU)が組
合せ装置と並列に設けられている。ALUは、供給され
たデータ・ワードに対して算術演算を実行する。この算
術演算にはプール論理操作が含まれる。
を実行する。また、組合せ装置を回転機構と共に使用し
てシフト操作を実行するのが一般的である。すなわち、
ワードのビット値がその元のビット位置に対して回転さ
れ、「循環」するビットが抑止される。従来の中央演算
処理装置(CPU)では、演算論理機構(ALU)が組
合せ装置と並列に設けられている。ALUは、供給され
たデータ・ワードに対して算術演算を実行する。この算
術演算にはプール論理操作が含まれる。
「原始命令セット・コンピュータ・システムで1マシン
・サイクルで実行可能なマスク及び回転命令を実施する
ための機構(Mechanism forImplem
enting One Machine Cycle
ExecutableMask and Rotate
In5tructions in a Pr1m1t
iveInstruction Set Comput
er System) Jと題する米国特許第4589
018号は、単一サイクルでマスク及び回転命令を実行
するための機構を開示している。
・サイクルで実行可能なマスク及び回転命令を実施する
ための機構(Mechanism forImplem
enting One Machine Cycle
ExecutableMask and Rotate
In5tructions in a Pr1m1t
iveInstruction Set Comput
er System) Jと題する米国特許第4589
018号は、単一サイクルでマスク及び回転命令を実行
するための機構を開示している。
「組合せ論理装置(Combinational Lo
gicArrangement) Jと題する米国特許
第3982229号は、シフト、回転及びマスク下挿入
操作を実行するための回路を開示している。
gicArrangement) Jと題する米国特許
第3982229号は、シフト、回転及びマスク下挿入
操作を実行するための回路を開示している。
「マスク発生機構及び回転機構を有するシフト・ネット
ワーク(Shift Network Having
a Maskand a Rotator ) Jと題
する米国特許第4139899号は、回転、シフト及び
マスク・ベクトル発生機能を実行するための回路を開示
している。
ワーク(Shift Network Having
a Maskand a Rotator ) Jと題
する米国特許第4139899号は、回転、シフト及び
マスク・ベクトル発生機能を実行するための回路を開示
している。
「右寄せマスク転送装置(Right Justifi
edMask Transfer Apparat、u
s) Jと題する米国特許第4085447号は、マス
ク・ワードの対応するビットが所定の2進値であるよう
なデータ・ワードのビット位置のみがマスク転送レジス
タに連続的に集められ、他のすべてのビy)が無視され
るように、複数ビット・データ・ワードを複数ビット・
マスクとビットごとに論理AND操作を実行するための
回路を開示している。
edMask Transfer Apparat、u
s) Jと題する米国特許第4085447号は、マス
ク・ワードの対応するビットが所定の2進値であるよう
なデータ・ワードのビット位置のみがマスク転送レジス
タに連続的に集められ、他のすべてのビy)が無視され
るように、複数ビット・データ・ワードを複数ビット・
マスクとビットごとに論理AND操作を実行するための
回路を開示している。
「高速モジュラ・マスク発生機構(tligh 5pe
ed14odular Mask Generator
) Jと題する米国特許第4012722号は、マスク
・ワードを発生するための回路を開示している。
ed14odular Mask Generator
) Jと題する米国特許第4012722号は、マスク
・ワードを発生するための回路を開示している。
「プロセッサ装置マスク発生制御(Processor
Unit Mask Generation Cont
rol) Jと題するIBMテクニカル・ディスクロー
ツヤ・プルテン、第27巻、第11号(1985年4月
)、pp、6419−6421に所載の論文は、32ビ
ツトのマスク・ストリングを組み立てるためのマスク発
生機構を含む演算論理機構を開示している。供給される
マスクはシフト及び回転命令を実行するために使用され
る。
Unit Mask Generation Cont
rol) Jと題するIBMテクニカル・ディスクロー
ツヤ・プルテン、第27巻、第11号(1985年4月
)、pp、6419−6421に所載の論文は、32ビ
ツトのマスク・ストリングを組み立てるためのマスク発
生機構を含む演算論理機構を開示している。供給される
マスクはシフト及び回転命令を実行するために使用され
る。
rALU組合せ操作(ALU Merge 0pera
tion) Jと題するIBMテクニカル・ディスクロ
ージャ・プルテン、第27号、第1B巻(1984年6
月)、pp、747−750に所載の論文は、演算論理
機構内の組合せ回路を開示している。
tion) Jと題するIBMテクニカル・ディスクロ
ージャ・プルテン、第27号、第1B巻(1984年6
月)、pp、747−750に所載の論文は、演算論理
機構内の組合せ回路を開示している。
上記の従来技術は組合せ、マスク及びプール論理操作を
扱っている。しかし、どの従来技術も、同一回路内でプ
ール論理操作と組合せまたはマスク操作の両方を実行す
るための機能を開示していない。組合せ、マスクまたは
プール論理操作を単一回路内で実行するための機能を提
供することが本発明の目的である。そのような操作を単
一クロック・サイクル内で実行することも本発明の目的
である。
扱っている。しかし、どの従来技術も、同一回路内でプ
ール論理操作と組合せまたはマスク操作の両方を実行す
るための機能を開示していない。組合せ、マスクまたは
プール論理操作を単一回路内で実行するための機能を提
供することが本発明の目的である。そのような操作を単
一クロック・サイクル内で実行することも本発明の目的
である。
C6発明の要旨
本発明によれば、命令に応答して、データに対する組合
せまたはプール論理操作を単一クロック・サイクル内で
実行するデータ処理回路が提供される。この回路は、一
連のクロック・サイクル信号を供給するクロックと、命
令を受け取り、この命令に応答して選択信号、回転信号
を供給し、また命令に応答して組合せまたはプール論理
操作のいずれかを指定する制御信号を供給する制御回路
を含む。選択信号は、複数のデータ・ワードを供給する
データ選択回路に供給される。回転信号は、回転信号に
応答して少なくとも1つのデータ・ワード内でビットの
回転を行なう回転回路に供給される。制御回路、データ
選択回路、及び回転回路に接続された論理回路が設けら
れている。論理回路は、データ選択回路及び回転回路か
ら供給されたワードからのビットを論理的に組み合わせ
る。これらのビットは制御回路に応答して論理的に組み
合わせられる。論理回路は同一クロック・サイクル内で
出力を発生する。
せまたはプール論理操作を単一クロック・サイクル内で
実行するデータ処理回路が提供される。この回路は、一
連のクロック・サイクル信号を供給するクロックと、命
令を受け取り、この命令に応答して選択信号、回転信号
を供給し、また命令に応答して組合せまたはプール論理
操作のいずれかを指定する制御信号を供給する制御回路
を含む。選択信号は、複数のデータ・ワードを供給する
データ選択回路に供給される。回転信号は、回転信号に
応答して少なくとも1つのデータ・ワード内でビットの
回転を行なう回転回路に供給される。制御回路、データ
選択回路、及び回転回路に接続された論理回路が設けら
れている。論理回路は、データ選択回路及び回転回路か
ら供給されたワードからのビットを論理的に組み合わせ
る。これらのビットは制御回路に応答して論理的に組み
合わせられる。論理回路は同一クロック・サイクル内で
出力を発生する。
好ましい一実施例では、データ処理回路は、クロックと
、命令を復号し、復号した命令に応答して制御信号を供
給する制御回路と、複数のデータ・ワード・マルチプレ
クサを含むデータ選択回路を含む。データ・ワード・マ
ルチプレクサの1つは、制御回路から受け取った回転信
号に応答して、受け取ったデータ・ワードを回転する回
転回路に接続されている。他のデータ選択回路も制御回
路によって制御される。制御回路から受け取った制御信
号に応答して、データ・マルチプレクサまたはデータ回
転回路から受け取ったデータ・ワードのビットを論理的
に組み合わせるための論理回路が設けられている。ビッ
トの論理的組合せは、命令が受け取られ、制御回路によ
って復号される、のと同じクロック・サイクル内で行な
われる。好ましい実施例では、論理回路は、第2のデー
タ・マルチプレクサから供給されるマスク・ワードを使
って、データ・マルチプレクサからの第1のデータ・ワ
ードに対してそのクロック・サイクル内でマスク操作を
実行するための機能を備える。論理回路はまた、受け取
ったデータ・ワード中の所定の値がマスク操作中にいつ
マスクされたかを示すための回路を含む。さらに、論理
回路は、マスク下挿入操作を実行するための手段を含む
。さらに、この好ましい実施例では、データ選択回路は
さらに、データ・ワードの否定値または、所定の値を有
するデータ・ワードを供給する機能を備える。
、命令を復号し、復号した命令に応答して制御信号を供
給する制御回路と、複数のデータ・ワード・マルチプレ
クサを含むデータ選択回路を含む。データ・ワード・マ
ルチプレクサの1つは、制御回路から受け取った回転信
号に応答して、受け取ったデータ・ワードを回転する回
転回路に接続されている。他のデータ選択回路も制御回
路によって制御される。制御回路から受け取った制御信
号に応答して、データ・マルチプレクサまたはデータ回
転回路から受け取ったデータ・ワードのビットを論理的
に組み合わせるための論理回路が設けられている。ビッ
トの論理的組合せは、命令が受け取られ、制御回路によ
って復号される、のと同じクロック・サイクル内で行な
われる。好ましい実施例では、論理回路は、第2のデー
タ・マルチプレクサから供給されるマスク・ワードを使
って、データ・マルチプレクサからの第1のデータ・ワ
ードに対してそのクロック・サイクル内でマスク操作を
実行するための機能を備える。論理回路はまた、受け取
ったデータ・ワード中の所定の値がマスク操作中にいつ
マスクされたかを示すための回路を含む。さらに、論理
回路は、マスク下挿入操作を実行するための手段を含む
。さらに、この好ましい実施例では、データ選択回路は
さらに、データ・ワードの否定値または、所定の値を有
するデータ・ワードを供給する機能を備える。
D、実施例
本発明はデータに対する組合せまたはプール論理操作の
いずれかを単一クロック・サイクル内で実行する。第1
図は本発明のブロック・ダイヤグラムを示す。第1図で
は、4ビット組合せ/論理装置が開示されている。本明
細書の教示を用いて様々なサイズの組合せ/論理装置が
可能であることは当業者には自明のはずである。
いずれかを単一クロック・サイクル内で実行する。第1
図は本発明のブロック・ダイヤグラムを示す。第1図で
は、4ビット組合せ/論理装置が開示されている。本明
細書の教示を用いて様々なサイズの組合せ/論理装置が
可能であることは当業者には自明のはずである。
第1図で、制御回路10は線8を介して命令レジスタか
ら命令を受け取る。制御回路10は線8からの命令を復
号し、その命令に応答して幾つかの制御信号を供給する
。制御回路10によって復号される各命令に対する実際
の制御信号を第6図にボす。
ら命令を受け取る。制御回路10は線8からの命令を復
号し、その命令に応答して幾つかの制御信号を供給する
。制御回路10によって復号される各命令に対する実際
の制御信号を第6図にボす。
3つのデータ選択回路12.14及び16が設けられて
いる。データ選択回路12は3本の入力線5B、5g及
び60を備え、1つの4ビツト出力を線48上に供給す
る。3本の入力線56.58及び60のうちの1本の選
択は制御回路1oからの3本の制御線22.24及び2
6によって制御される。好ましい実施例では入力線56
は、ハードウェア・マスク・ワードを供給するマスク発
生回路に接続されている。入力線58は、オペランドB
を供給するレジスタに接続されている。入力線60はオ
ペランドBの否定値を供給する。出力線48は論理回路
20に接続されている。
いる。データ選択回路12は3本の入力線5B、5g及
び60を備え、1つの4ビツト出力を線48上に供給す
る。3本の入力線56.58及び60のうちの1本の選
択は制御回路1oからの3本の制御線22.24及び2
6によって制御される。好ましい実施例では入力線56
は、ハードウェア・マスク・ワードを供給するマスク発
生回路に接続されている。入力線58は、オペランドB
を供給するレジスタに接続されている。入力線60はオ
ペランドBの否定値を供給する。出力線48は論理回路
20に接続されている。
第2のデータ選択回路14は2本の入力線62及び64
を備えている。入力線62は、オペランドSを供給する
レジスタに接続されている。線64はデータ選択回路1
4に入る一定の2進僅の入力(0)に接続されている。
を備えている。入力線62は、オペランドSを供給する
レジスタに接続されている。線64はデータ選択回路1
4に入る一定の2進僅の入力(0)に接続されている。
線62と64のどちらが選択されるかは、制御回路1o
がらの制御線28及び30の状態によって決まる。デー
タ選択回路14の出力は線46を介して論理回路2oに
供給される。
がらの制御線28及び30の状態によって決まる。デー
タ選択回路14の出力は線46を介して論理回路2oに
供給される。
第3のデータ選択回路16は、制御回路10に接続され
た2本の制御線32及び34によって選択される2本の
入力線66及び68を備えている。
た2本の制御線32及び34によって選択される2本の
入力線66及び68を備えている。
線66は、オペランドDを供給するレジスタに接続され
ている。オペランドDの否定値は腺68を介して供給さ
れる。線54を介して供給されるデータ選択回路16の
出力は回転回路18に入力される。回転回路18は、制
御回路10からの制御線36及び38の状態に応じて、
データ選択回路16から受け取ったデータ・ワードのビ
ットを回転する。回転回路の出力は線44を介して論理
回路20に供給される。
ている。オペランドDの否定値は腺68を介して供給さ
れる。線54を介して供給されるデータ選択回路16の
出力は回転回路18に入力される。回転回路18は、制
御回路10からの制御線36及び38の状態に応じて、
データ選択回路16から受け取ったデータ・ワードのビ
ットを回転する。回転回路の出力は線44を介して論理
回路20に供給される。
論理回路20は、データ選択回路16.14及び12か
らそれぞれ線44.46及び48を介して出力を受け取
ると共に、さらに線40及び42を介して制御回路10
から制御信号を受け取る。
らそれぞれ線44.46及び48を介して出力を受け取
ると共に、さらに線40及び42を介して制御回路10
から制御信号を受け取る。
論理回路20は線50上に出力を供給する。さらに、論
理回路20は線52上に「あふれフラグ」標識を供給す
る。
理回路20は線52上に「あふれフラグ」標識を供給す
る。
動作に際しては、論理回路20は、制御回路10から受
け取った線40及び42上の信号に応じて、データ選択
回路1θ、14及び工2から供給されるデータ・ワード
を論理的に組み合わせる。
け取った線40及び42上の信号に応じて、データ選択
回路1θ、14及び工2から供給されるデータ・ワード
を論理的に組み合わせる。
これは単一クロック・サイクル内で行なわれる。
第2図は論理回路20のブロック・ダイヤグラムである
。論理回路20は線46.48及び44から3つの4ビ
ツト入力を受け取り、線50aないし50d上に4ビツ
ト出力を、また線52上にあふれフラグ標識を供給する
。線48.48及び44上の入力は、前述のように制御
回路10からの制御信号に従って選択されたデータ選択
回路からくる。さらに、図のように制御線42及び40
が設けられている。第2図に示す論理回路は、4ビツト
出力ワードの各ビットごとに同様なゲート網を含む。た
とえば、線46 as 48 a及び44aはインバー
タ80、排他的ORゲート88、NANDゲート90、
ORゲート82.84.92、及びANDゲート86を
介して論理的に組み合わされて、線50a上に出力を供
給する。線42上の制御信号はORゲート92に供給さ
れ、線40上の制御信号は排他的ORゲート88に供給
される。この論理回路の働きについては、後で示す例に
関して考察する。したがって、線50a150b、50
c及び50d上の出力の各ビット位置に対する論理回路
は類似している。さらに、線52上のあふれフラグは、
NANDゲート136から出力される。NANDゲート
136は、論理回路20の4つのビット位置について、
それぞれNANDゲート90.104.118及び13
2から出力を受け取る。
。論理回路20は線46.48及び44から3つの4ビ
ツト入力を受け取り、線50aないし50d上に4ビツ
ト出力を、また線52上にあふれフラグ標識を供給する
。線48.48及び44上の入力は、前述のように制御
回路10からの制御信号に従って選択されたデータ選択
回路からくる。さらに、図のように制御線42及び40
が設けられている。第2図に示す論理回路は、4ビツト
出力ワードの各ビットごとに同様なゲート網を含む。た
とえば、線46 as 48 a及び44aはインバー
タ80、排他的ORゲート88、NANDゲート90、
ORゲート82.84.92、及びANDゲート86を
介して論理的に組み合わされて、線50a上に出力を供
給する。線42上の制御信号はORゲート92に供給さ
れ、線40上の制御信号は排他的ORゲート88に供給
される。この論理回路の働きについては、後で示す例に
関して考察する。したがって、線50a150b、50
c及び50d上の出力の各ビット位置に対する論理回路
は類似している。さらに、線52上のあふれフラグは、
NANDゲート136から出力される。NANDゲート
136は、論理回路20の4つのビット位置について、
それぞれNANDゲート90.104.118及び13
2から出力を受け取る。
組合せ/論理回路は、あふれフラグを供給する。
これは図示の線のNANDである。マスク下の回転及び
組合せ操作を用いて、レジスタ及び加算器からのデータ
を組み合わせて乗算操作で積の下位ビットを形成する。
組合せ操作を用いて、レジスタ及び加算器からのデータ
を組み合わせて乗算操作で積の下位ビットを形成する。
これに関連して、積の符号とは異なるビットのあふれは
オーバフローを示す。
オーバフローを示す。
したがって、符号ビットの値に応じて「あふれた1」ま
たは「あふれたO」のいずれかを検出する必要がある。
たは「あふれたO」のいずれかを検出する必要がある。
線44aないし44d上の値をそれぞれ条件付きで反転
して、あふれた1またはあふれたOがいつ検出されるか
を判定するために排他的ORゲート88.102.11
6及び130が設けられている。
して、あふれた1またはあふれたOがいつ検出されるか
を判定するために排他的ORゲート88.102.11
6及び130が設けられている。
第3図はデータ選択回路12の概略図である。
第3図は、たとえばマルチプレクサ150の入力線56
a158a及び80aなど、それぞえ3本の入力線を有
する4つのマルチプレクサ150.152.154及び
156からなる。マルチプレクサ150.152.15
4及び156はそれぞれ制御線22.24及び26に接
続されている。
a158a及び80aなど、それぞえ3本の入力線を有
する4つのマルチプレクサ150.152.154及び
156からなる。マルチプレクサ150.152.15
4及び156はそれぞれ制御線22.24及び26に接
続されている。
制御線22.24及び26は、マルチプレクサ150.
152.154及び156のそれぞれについて3本の入
力線のうちの1本を選択する。次に、その入力線が出力
線48aないし48dに接続される。第4図は、データ
選択回路12の動作に対する制御線22.24及び26
の作用を示す真理値表である。
152.154及び156のそれぞれについて3本の入
力線のうちの1本を選択する。次に、その入力線が出力
線48aないし48dに接続される。第4図は、データ
選択回路12の動作に対する制御線22.24及び26
の作用を示す真理値表である。
データ選択回路14及び16は、第3図及び第4図に示
した回路の2人力形式のものである。言い換えると、デ
ータ選択回路14及び16用のマルチブレクサは、制御
回路10からの2つの制御信号によって入力線が選択さ
れる、2人カマルチブレクサである。
した回路の2人力形式のものである。言い換えると、デ
ータ選択回路14及び16用のマルチブレクサは、制御
回路10からの2つの制御信号によって入力線が選択さ
れる、2人カマルチブレクサである。
第5図は回転回路18の概略図である。これら2本の線
上のデーJを復号して、図示のように、4つの内部信号
5ELECT−Do、5ELECT−DL、5ELEC
T−B2及び5ELECT−B3を供給するように、2
−4デコ一ダ回路200が制御線36及び38に接続さ
れている。これらの線5ELECT−DOないし5EL
ECT−B3は4本ともすべて4つのマルチプレクサ2
02.204.206及び208に接続される。4つの
マルチプレクサ202.204.206及び208はす
べて入力線54as 54b154c及び54dに接続
されている。したがって、制御線36及び38上のデー
タは、入力線54aないし54dのどれがマルチプレク
サ202.204.206または208のどれに接続さ
れるかを指定する。マルチプレクサ202.204.2
06及び208はそれぞれ線44 a、 44 b14
4 c及び44d上に出力を供給する。
上のデーJを復号して、図示のように、4つの内部信号
5ELECT−Do、5ELECT−DL、5ELEC
T−B2及び5ELECT−B3を供給するように、2
−4デコ一ダ回路200が制御線36及び38に接続さ
れている。これらの線5ELECT−DOないし5EL
ECT−B3は4本ともすべて4つのマルチプレクサ2
02.204.206及び208に接続される。4つの
マルチプレクサ202.204.206及び208はす
べて入力線54as 54b154c及び54dに接続
されている。したがって、制御線36及び38上のデー
タは、入力線54aないし54dのどれがマルチプレク
サ202.204.206または208のどれに接続さ
れるかを指定する。マルチプレクサ202.204.2
06及び208はそれぞれ線44 a、 44 b14
4 c及び44d上に出力を供給する。
第6図は、制御回路10が線8を介して受け取った命令
がどのようにしてそれぞれ制御信号22.24.26.
28.30,32.34.36.38.40及び42に
復号されるかを示すテーブル図である。
がどのようにしてそれぞれ制御信号22.24.26.
28.30,32.34.36.38.40及び42に
復号されるかを示すテーブル図である。
第6図でXと表記しであるところは、1または0のどち
らの値でもよいことを示す。
らの値でもよいことを示す。
実行される命令がマスク下挿入または入力R転送のとき
は、制御信号36及び38は、オペランドDに対して必
要な回転量を表す任意の値をとることができる。このこ
とは、第6図でそれぞれ信号36及び38を表す列の表
記RO1R1で示される。マスク下挿入命令に対する制
御信号40の値は、第6図で変数Aとして示されている
。A=0のとき、論理回路20は、あふれた1を検出す
るように条件付けられる。A=1のときは、あふれた0
が検出される。
は、制御信号36及び38は、オペランドDに対して必
要な回転量を表す任意の値をとることができる。このこ
とは、第6図でそれぞれ信号36及び38を表す列の表
記RO1R1で示される。マスク下挿入命令に対する制
御信号40の値は、第6図で変数Aとして示されている
。A=0のとき、論理回路20は、あふれた1を検出す
るように条件付けられる。A=1のときは、あふれた0
が検出される。
入力R転送命令の実行時には、第6図の値B1、B2が
それぞれ1.0にセットされている場合、正の形のオペ
ランドDがデータ選択回路1θから論理回路20に送ら
れる。Bl、B2がそれぞれ011にセットされている
場合は、反転された形のオペランドDが使用される。同
様にして、入力M転送の実行時には、所望のワードを選
択するように値C1、C2、C3がセットされる。
それぞれ1.0にセットされている場合、正の形のオペ
ランドDがデータ選択回路1θから論理回路20に送ら
れる。Bl、B2がそれぞれ011にセットされている
場合は、反転された形のオペランドDが使用される。同
様にして、入力M転送の実行時には、所望のワードを選
択するように値C1、C2、C3がセットされる。
どの選択信号も活動状態(0)にないときは、データ選
択回路の出力はすべて1であることに留意されたい。こ
の機能を用いて、NANDloR。
択回路の出力はすべて1であることに留意されたい。こ
の機能を用いて、NANDloR。
XOR及び等価の実行時にデータ選択回路14から1の
ワードが得られ、また同様に、入力M転送の実行時にデ
ータ選択回路16から1のワードが得られる。
ワードが得られ、また同様に、入力M転送の実行時にデ
ータ選択回路16から1のワードが得られる。
データ選択回路のもう1つの機能は、選択された全入力
のプールAND操作である。この機能を用いて、入力1
転送の実行時にオペランドB及びその否定形を選択する
ことにより、データ選択回路12の出力で0のワードが
得られる。
のプールAND操作である。この機能を用いて、入力1
転送の実行時にオペランドB及びその否定形を選択する
ことにより、データ選択回路12の出力で0のワードが
得られる。
本発明の作用を一層容易に理解するため、2つの例につ
いて考察する。第1の例では、マスク下挿入操作を実行
する。この命令は制御回路10が線8を介して受け取っ
て復号し、第6図に示すような制御信号を供給する。こ
の例では、線56上の入力は°1100’である。この
値が次に選択回路12の出力線48上に現れる。入力線
62上のオペランドSは°0101°の値を有し、線6
θ上のオペランドDは’0001’の値を有する。
いて考察する。第1の例では、マスク下挿入操作を実行
する。この命令は制御回路10が線8を介して受け取っ
て復号し、第6図に示すような制御信号を供給する。こ
の例では、線56上の入力は°1100’である。この
値が次に選択回路12の出力線48上に現れる。入力線
62上のオペランドSは°0101°の値を有し、線6
θ上のオペランドDは’0001’の値を有する。
これらの値はそれぞれ選択回路14及び16の出力線4
6及び54上に現れる。この例では、制御線36及び3
8は°11°の値を有する。この結果、内部回転復号回
路200(第5図)は5ELECT−D3信号を発生し
、”1000’の値が出力線44上に現れる。制御線4
0は0の値を仔し、あふれた1を検出するように論理手
段を条件付ける。線42上の制御信号の値は1である。
6及び54上に現れる。この例では、制御線36及び3
8は°11°の値を有する。この結果、内部回転復号回
路200(第5図)は5ELECT−D3信号を発生し
、”1000’の値が出力線44上に現れる。制御線4
0は0の値を仔し、あふれた1を検出するように論理手
段を条件付ける。線42上の制御信号の値は1である。
第2図を参照すると、線50aないし50d上の出力は
’1001’であることが分かる。線50aないし50
d上の出力は、対応するマスク・ワード入力が0の場合
、線46上の入力の複製である。
’1001’であることが分かる。線50aないし50
d上の出力は、対応するマスク・ワード入力が0の場合
、線46上の入力の複製である。
マスク・ビットが1の場合は、出力は線44を介する回
転回路からの入力に対応する。線52上のあふれフラグ
出力は、1の値を有していた回転回路ビットが組合せ操
作によって抑止されなかったので、Oである。
転回路からの入力に対応する。線52上のあふれフラグ
出力は、1の値を有していた回転回路ビットが組合せ操
作によって抑止されなかったので、Oである。
第2の例では、プールOR操作を実行する。OR操作の
場合、制御回路10は、第6図でORと表示された行に
示すように、制御信号をセットする。このため、データ
選択回路12に向かう線58上のオペランドBとデータ
選択回路16に向かう線66上のオペランドDのプール
ORを形成するようにデータ経路及び論理回路20が条
件付けられる。この例では、オペランドBは“1010
’の値を有する。線60上のオペランドBの反転、すな
わち−Bがデータ選択回路12によって選択され、その
結果、“0101’の値が出力線48上に現れる。デー
タ選択回路14における制御線28及び30は共に非活
動状態であり、したがって、“1111’の値が出力線
46上に現れる。
場合、制御回路10は、第6図でORと表示された行に
示すように、制御信号をセットする。このため、データ
選択回路12に向かう線58上のオペランドBとデータ
選択回路16に向かう線66上のオペランドDのプール
ORを形成するようにデータ経路及び論理回路20が条
件付けられる。この例では、オペランドBは“1010
’の値を有する。線60上のオペランドBの反転、すな
わち−Bがデータ選択回路12によって選択され、その
結果、“0101’の値が出力線48上に現れる。デー
タ選択回路14における制御線28及び30は共に非活
動状態であり、したがって、“1111’の値が出力線
46上に現れる。
この例では、線66上のオペランドDは′0011“の
値を有する。この値がデータ選択回路の出力線54上に
現れる。この例では回転は行なわれないので、同じ値が
回転回路18の出力線44上にも現れる。これらの値が
論理回路20に提示されたとき、線50aないし50d
上の出力は、2ツノ入力’7−1”1010’と+00
11′のプールORである値’1011’となる。
値を有する。この値がデータ選択回路の出力線54上に
現れる。この例では回転は行なわれないので、同じ値が
回転回路18の出力線44上にも現れる。これらの値が
論理回路20に提示されたとき、線50aないし50d
上の出力は、2ツノ入力’7−1”1010’と+00
11′のプールORである値’1011’となる。
F、発明の詳細
な説明したように、本発明のデータ処理回路は、一連の
クロック・サイクル信号を供給するクロックと、命令を
受け取り、この命令に応答して選択信号、回転信号を供
給し、また命令に応答して組合せまたはプール論理操作
のいずれかを指定する制御信号を供給する制御回路を含
む。選択信号は、複数のデータ・ワードを供給するデー
タ選択回路に供給される。回転信号は、回転信号に応答
して少なくとも1つのデータ・ワード内でビットの回転
を行なう回転回路に供給される。制御回路、データ選択
回路、及び回転回路に接続された論理回路が設けられて
いる。論理回路は、データ選択回路及び回転回路から供
給されたワードからのビットを論理的に組み合わせる。
クロック・サイクル信号を供給するクロックと、命令を
受け取り、この命令に応答して選択信号、回転信号を供
給し、また命令に応答して組合せまたはプール論理操作
のいずれかを指定する制御信号を供給する制御回路を含
む。選択信号は、複数のデータ・ワードを供給するデー
タ選択回路に供給される。回転信号は、回転信号に応答
して少なくとも1つのデータ・ワード内でビットの回転
を行なう回転回路に供給される。制御回路、データ選択
回路、及び回転回路に接続された論理回路が設けられて
いる。論理回路は、データ選択回路及び回転回路から供
給されたワードからのビットを論理的に組み合わせる。
これらのビットは制御回路に応答して論理的に組み合わ
せられる。論理回路は同一クロ1り・サイクル内で出力
を発生する。
せられる。論理回路は同一クロ1り・サイクル内で出力
を発生する。
このようにして本発明では単一クロック・サイクルで組
み合わせまたはプール論理操作を実現Cきる。
み合わせまたはプール論理操作を実現Cきる。
第1図は組合せ/論理回路のブロック・ダイヤグラムで
ある。 第2図は第1図の論理回路20の概略図である。 第3図は第1図のデータ選択回路12の概略図である。 第4図はデータ選択回路12の真理値表である。 第5図は第1図の回転回路18の概略図である。 第6図は、第1図の制御回路10によって復号される命
令に関係する制御信号を列挙し、定義するダイヤグラム
である。 10・・・・制御回路、12.14.16・・・・デー
タ選択回路、18・・・・回転回路、20・・・・論理
回路、80・・・・インバータ、82.84.2・・・
・ORゲート、90.104.112・・・・NAND
ゲート、150. 152.156.200・・・・復
号回路、202.208.208・・・・マルチプレク
サ。 88、9 8、13 154. 204、
ある。 第2図は第1図の論理回路20の概略図である。 第3図は第1図のデータ選択回路12の概略図である。 第4図はデータ選択回路12の真理値表である。 第5図は第1図の回転回路18の概略図である。 第6図は、第1図の制御回路10によって復号される命
令に関係する制御信号を列挙し、定義するダイヤグラム
である。 10・・・・制御回路、12.14.16・・・・デー
タ選択回路、18・・・・回転回路、20・・・・論理
回路、80・・・・インバータ、82.84.2・・・
・ORゲート、90.104.112・・・・NAND
ゲート、150. 152.156.200・・・・復
号回路、202.208.208・・・・マルチプレク
サ。 88、9 8、13 154. 204、
Claims (1)
- 【特許請求の範囲】 命令に応答して単一クロック・サイクル中にデータに対
して組合せまたはプール論理操作のいずれかを実行する
データ処理回路において、 1クロック・サイクル中に命令を受け取り、この命令に
応答して選択信号、回転信号、及び組合せまたはプール
論理操作のいずれかを指定する制御信号を供給する制御
手段と、 選択信号に応答して複数のデータ・ワードを供給するデ
ータ選択手段と、 上記データ選択手段に接続され、回転信号に応答して上
記の供給されたデータ・ワードの少なくとも1つを回転
させる回転手段と、 上記クロック・サイクル内に制御信号に応答して上記デ
ータ選択手段及び上記回転手段からのビットを論理的に
組み合わせ、データ出力を供給する論理手段とを有する
ことを特徴とするデータ処理回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/269,202 US4903228A (en) | 1988-11-09 | 1988-11-09 | Single cycle merge/logic unit |
US269202 | 1988-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02136920A true JPH02136920A (ja) | 1990-05-25 |
JPH0431411B2 JPH0431411B2 (ja) | 1992-05-26 |
Family
ID=23026236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1240904A Granted JPH02136920A (ja) | 1988-11-09 | 1989-09-19 | データ処理回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4903228A (ja) |
EP (1) | EP0368826A3 (ja) |
JP (1) | JPH02136920A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11547828B2 (en) | 2009-05-29 | 2023-01-10 | ResMed Pty Ltd | Mask system |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5553309A (en) * | 1991-11-08 | 1996-09-03 | Japan Atomic Energy Research Institute | Device for high speed evaluation of logical expressions and high speed vector operations |
US5410719A (en) * | 1992-05-27 | 1995-04-25 | Hewlett-Packard Company | Field compositor for merging data and including cells each receiving three control and two data inputs and generating one control and one data output therefrom |
US5487159A (en) * | 1993-12-23 | 1996-01-23 | Unisys Corporation | System for processing shift, mask, and merge operations in one instruction |
US5704052A (en) * | 1994-11-06 | 1997-12-30 | Unisys Corporation | Bit processing unit for performing complex logical operations within a single clock cycle |
US6738793B2 (en) * | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
US6275834B1 (en) * | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
EP1265132A3 (en) | 1994-12-02 | 2005-02-09 | Intel Corporation | Microprocessor with packing operation of composite operands |
US5815736A (en) * | 1995-05-26 | 1998-09-29 | National Semiconductor Corporation | Area and time efficient extraction circuit |
US5729482A (en) * | 1995-10-31 | 1998-03-17 | Lsi Logic Corporation | Microprocessor shifter using rotation and masking operations |
US5870592A (en) * | 1996-10-31 | 1999-02-09 | International Business Machines Corp. | Clock generation apparatus and method for CMOS microprocessors using a differential saw oscillator |
AU1761497A (en) * | 1997-02-28 | 1998-09-18 | Kristian Rusanov Angelov | A device for digital signal processing |
US5949262A (en) * | 1998-01-07 | 1999-09-07 | International Business Machines Corporation | Method and apparatus for coupled phase locked loops |
US6014047A (en) * | 1998-01-07 | 2000-01-11 | International Business Machines Corporation | Method and apparatus for phase rotation in a phase locked loop |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US7818356B2 (en) * | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
US9990202B2 (en) | 2013-06-28 | 2018-06-05 | Intel Corporation | Packed data element predication processors, methods, systems, and instructions |
DE102020102796A1 (de) | 2020-02-04 | 2021-08-05 | Infineon Technologies Ag | Datenverarbeitungsvorrichtung und verfahren zum verarbeiten von geheimen daten |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3370274A (en) * | 1964-12-30 | 1968-02-20 | Bell Telephone Labor Inc | Data processor control utilizing tandem signal operations |
FR2253415A5 (ja) * | 1973-12-04 | 1975-06-27 | Cii | |
US3982229A (en) * | 1975-01-08 | 1976-09-21 | Bell Telephone Laboratories, Incorporated | Combinational logic arrangement |
US4012722A (en) * | 1975-09-20 | 1977-03-15 | Burroughs Corporation | High speed modular mask generator |
US4085447A (en) * | 1976-09-07 | 1978-04-18 | Sperry Rand Corporation | Right justified mask transfer apparatus |
US4139899A (en) * | 1976-10-18 | 1979-02-13 | Burroughs Corporation | Shift network having a mask generator and a rotator |
US4467444A (en) * | 1980-08-01 | 1984-08-21 | Advanced Micro Devices, Inc. | Processor unit for microcomputer systems |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
-
1988
- 1988-11-09 US US07/269,202 patent/US4903228A/en not_active Expired - Fee Related
-
1989
- 1989-09-19 JP JP1240904A patent/JPH02136920A/ja active Granted
- 1989-10-31 EP EP19890850380 patent/EP0368826A3/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11547828B2 (en) | 2009-05-29 | 2023-01-10 | ResMed Pty Ltd | Mask system |
Also Published As
Publication number | Publication date |
---|---|
JPH0431411B2 (ja) | 1992-05-26 |
EP0368826A3 (en) | 1991-12-27 |
US4903228A (en) | 1990-02-20 |
EP0368826A2 (en) | 1990-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02136920A (ja) | データ処理回路 | |
US5187795A (en) | Pipelined signal processor having a plurality of bidirectional configurable parallel ports that are configurable as individual ports or as coupled pair of ports | |
US4748585A (en) | Processor utilizing reconfigurable process segments to accomodate data word length | |
US4467444A (en) | Processor unit for microcomputer systems | |
US4841476A (en) | Extended floating point operations supporting emulation of source instruction execution | |
US6151669A (en) | Methods and apparatus for efficient control of floating-point status register | |
EP0130380A2 (en) | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system | |
US4592005A (en) | Masked arithmetic logic unit | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
US4713750A (en) | Microprocessor with compact mapped programmable logic array | |
JPH04328637A (ja) | 並列プロセッサー | |
US5787025A (en) | Method and system for performing arithmetic operations with single or double precision | |
US4124890A (en) | Microprocessor computing system | |
KR0142334B1 (ko) | 확장된 비트 슬라이스 프로세서 산술논리 연산 유니트 | |
IE53180B1 (en) | Stored-program control machine and structures therefor | |
US6023751A (en) | Computer system and method for evaluating predicates and Boolean expressions | |
US6470440B1 (en) | Vector compare and maximum/minimum generation apparatus and method therefor | |
JPH0769782B2 (ja) | マイクロプログラム可能な32ビットカスケード可能ビットスライス | |
US6308189B1 (en) | Apparatus for partial logical shifts and method therefor | |
EP0068109B1 (en) | Arithmetic and logic unit processor chips | |
US4677582A (en) | Operation processing apparatus | |
US6499046B1 (en) | Saturation detection apparatus and method therefor | |
US6122651A (en) | Method and apparatus for performing overshifted rotate through carry instructions by shifting in opposite directions | |
US6470374B1 (en) | Carry look-ahead for bi-endian adder | |
JP2567134B2 (ja) | ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ |