JPS623324A - 可変位置シフタ - Google Patents
可変位置シフタInfo
- Publication number
- JPS623324A JPS623324A JP61150606A JP15060686A JPS623324A JP S623324 A JPS623324 A JP S623324A JP 61150606 A JP61150606 A JP 61150606A JP 15060686 A JP15060686 A JP 15060686A JP S623324 A JPS623324 A JP S623324A
- Authority
- JP
- Japan
- Prior art keywords
- shift amount
- variable
- shift
- register
- multiplexer
- 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.)
- Pending
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
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、コンピュータ・システムにおける動的に決定
される可変データ位置シフトをおこなうシフタに関する
。
される可変データ位置シフトをおこなうシフタに関する
。
オペランドを指定量シフトしたり、指定位置にあるビッ
ト・フィールドを払出したり貯託したりすることがしば
しば望まれる。典型的には、所望のシフト量や所望のビ
ット・フィールド払出、貯託をおこなう位置は前もって
知られており、プログラムのコンパイル時に適当な命令
が導入される。
ト・フィールドを払出したり貯託したりすることがしば
しば望まれる。典型的には、所望のシフト量や所望のビ
ット・フィールド払出、貯託をおこなう位置は前もって
知られており、プログラムのコンパイル時に適当な命令
が導入される。
所望シフト量が既知量でなくデータ依存量となる場合は
、シフト量は(ランタイムに)動的に計算されなければ
ならない。従来例では、データバスI!I御が前もって
設定できないので、命令の即値フィールドにある指定さ
れたリテラル量によってシフトや位置決めを行う場合に
較べ、速度が遅くなる。したがって、可変シフト量や可
変位置の起る頻度が低いといえども、基本命令の全サイ
クルタイムが増加してしまう。
、シフト量は(ランタイムに)動的に計算されなければ
ならない。従来例では、データバスI!I御が前もって
設定できないので、命令の即値フィールドにある指定さ
れたリテラル量によってシフトや位置決めを行う場合に
較べ、速度が遅くなる。したがって、可変シフト量や可
変位置の起る頻度が低いといえども、基本命令の全サイ
クルタイムが増加してしまう。
可変シフト及び位置決め問題に対する従来の解決策は、
可変シフトを許容しないようにすることであったので、
命令の変更や分岐テーブルを使う必要があった。シフト
値が一度決定された後シフト量を発生するのに、シフト
量の可能な値を格納する汎用レジスタを使うこともある
。この方法は、一般に命令実行に必要なサイクル数を増
加させ、ひいては、サイクル時間の増加となる。
可変シフトを許容しないようにすることであったので、
命令の変更や分岐テーブルを使う必要があった。シフト
値が一度決定された後シフト量を発生するのに、シフト
量の可能な値を格納する汎用レジスタを使うこともある
。この方法は、一般に命令実行に必要なサイクル数を増
加させ、ひいては、サイクル時間の増加となる。
従って、本発明の目的は可変シフト量レジスタを用いて
、シフト位置決め命令の平均サイクル時間を短縮するこ
とである。
、シフト位置決め命令の平均サイクル時間を短縮するこ
とである。
本発明の原理に従えば、可変シフト量レジスタが定義さ
れて、その中にシフト/払出/貯託(s h ift/
extract、/deposit)命令に必要なシフ
ト量やビット・フィールド位置が保持される。レジスタ
は、シフト/払出/貯託命令の実行に先立ってロードさ
れる。従って、命令サイクル時間は増加せず、論理深さ
の増加もない。可変シフト量やピッ1へ・フィールド位
置を決定しレジスタにロードするための時間を与えるた
めに、ある種の制御プリデコードをおこなえる。可変シ
フト/払出/神託命令のパーセンテージは小さく、バイ
ト・ムーブのようなより重要なケースでは、シフト量を
一度計算してしまえば繰返し使えるので、実行時間の増
加は無視でき、システム・パフォーマンスが全体として
向上する。
れて、その中にシフト/払出/貯託(s h ift/
extract、/deposit)命令に必要なシフ
ト量やビット・フィールド位置が保持される。レジスタ
は、シフト/払出/貯託命令の実行に先立ってロードさ
れる。従って、命令サイクル時間は増加せず、論理深さ
の増加もない。可変シフト量やピッ1へ・フィールド位
置を決定しレジスタにロードするための時間を与えるた
めに、ある種の制御プリデコードをおこなえる。可変シ
フト/払出/神託命令のパーセンテージは小さく、バイ
ト・ムーブのようなより重要なケースでは、シフト量を
一度計算してしまえば繰返し使えるので、実行時間の増
加は無視でき、システム・パフォーマンスが全体として
向上する。
第1図において、バレル・シフタ10は、データ・バス
・ライン15.16から2つの入力データを受け、バス
・ライン17上に出力を与える。バレル・シフタ10の
出力は、ライン18上のシフタ制御信号で定められるよ
うに2つの入力データを結合したものである。シフト量
が前もって知られているときは、シフト量を格納してい
るシフト命令の即値フィールドがライン12から入力さ
れる。可変シフト/払出/貯託命令が予測されると、シ
フト量はデータ依存になり、命令実行前に計算ブロック
19において入力データから計算される。その可変シフ
ト量は、可変シフト量レジスタ13に格納され、それは
バス・ライン14を介してマルチプレクサ11に入力さ
れる。マルチプレクサ11は可変シフト量レジスタ13
の内容あるいはバス・ライン12上の既知の値を要求に
従いバス・ライン18を介してバレル・シフタ10に送
出する。
・ライン15.16から2つの入力データを受け、バス
・ライン17上に出力を与える。バレル・シフタ10の
出力は、ライン18上のシフタ制御信号で定められるよ
うに2つの入力データを結合したものである。シフト量
が前もって知られているときは、シフト量を格納してい
るシフト命令の即値フィールドがライン12から入力さ
れる。可変シフト/払出/貯託命令が予測されると、シ
フト量はデータ依存になり、命令実行前に計算ブロック
19において入力データから計算される。その可変シフ
ト量は、可変シフト量レジスタ13に格納され、それは
バス・ライン14を介してマルチプレクサ11に入力さ
れる。マルチプレクサ11は可変シフト量レジスタ13
の内容あるいはバス・ライン12上の既知の値を要求に
従いバス・ライン18を介してバレル・シフタ10に送
出する。
第1図は本発明の可変位置シフタのブロック図。
10:バレル・シフタ;
11:マルチプレクサ;
13可変シフト量レジスタ;
19計算ブロツク
Claims (2)
- (1)第1のオペランドと第2のオペランドを受信し、
所定のシフト制御信号に応じて結果を出力するシフト手
段と、可変シフト量の値を格納するレジスタ手段と、所
定のシフト量の値を入力する入力手段と、前記レジスタ
手段と前記入力手段と前記シフト手段を結合するマルチ
プレクサ手段とから構成され、前記マルチプレクサ手段
が前記可変シフト量の値と前記所定のシフト量から所望
のシフト値を選択するシフト命令に応じて前記所望のシ
フト値を前記シフト手段に供給するようにした可変位置
シフタ。 - (2)前記可変シフト量の値の計算手段を含む前記特許
請求の範囲第1項記載の可変位置シフタ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75071785A | 1985-06-28 | 1985-06-28 | |
US750717 | 1985-06-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS623324A true JPS623324A (ja) | 1987-01-09 |
Family
ID=25018907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61150606A Pending JPS623324A (ja) | 1985-06-28 | 1986-06-26 | 可変位置シフタ |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0211179A3 (ja) |
JP (1) | JPS623324A (ja) |
CA (1) | CA1253969A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010036855A (ja) * | 2008-08-08 | 2010-02-18 | Yachiyo Industry Co Ltd | 燃料タンクの保護板取付構造 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1992009968A1 (en) * | 1990-11-27 | 1992-06-11 | Cray Research, Inc. | VECTOR WORD SHIFT BY Vo SHIFT COUNT IN VECTOR SUPERCOMPUTER PROCESSOR |
US5717947A (en) * | 1993-03-31 | 1998-02-10 | Motorola, Inc. | Data processing system and method thereof |
US5848286A (en) * | 1994-03-29 | 1998-12-08 | Cray Research, Inc. | Vector word shift by vo shift count in vector supercomputer processor |
DE19647156A1 (de) * | 1996-11-14 | 1998-05-20 | Siemens Ag | Mehrstufige Multiplexeranordnung |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4488252A (en) * | 1982-02-22 | 1984-12-11 | Raytheon Company | Floating point addition architecture |
JPS5957339A (ja) * | 1982-09-27 | 1984-04-02 | Matsushita Electric Ind Co Ltd | レジスタ制御回路 |
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 |
-
1986
- 1986-06-06 EP EP19860107715 patent/EP0211179A3/en not_active Withdrawn
- 1986-06-12 CA CA000511443A patent/CA1253969A/en not_active Expired
- 1986-06-26 JP JP61150606A patent/JPS623324A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010036855A (ja) * | 2008-08-08 | 2010-02-18 | Yachiyo Industry Co Ltd | 燃料タンクの保護板取付構造 |
US8973947B2 (en) | 2008-08-08 | 2015-03-10 | Yachiyo Industry Co., Ltd. | Protective plate mounting structure for a fuel tank |
Also Published As
Publication number | Publication date |
---|---|
EP0211179A2 (en) | 1987-02-25 |
EP0211179A3 (en) | 1990-09-05 |
CA1253969A (en) | 1989-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1012705B1 (en) | Data processing device | |
US4454578A (en) | Data processing unit with pipelined operands | |
US5638526A (en) | Apparatus for operand data bypassing having previous operand storage register connected between arithmetic input selector and arithmetic unit | |
EP0068163B1 (en) | Instruction address stack in the data memory of an instruction-pipelined processor | |
KR0160602B1 (ko) | 데이터 처리장치 | |
US5193157A (en) | Piplined system includes a selector for loading condition code either from first or second condition code registers to program counter | |
KR0133238B1 (ko) | 컴퓨터 프로세싱 시스템 및 인스트럭션 실행방법 | |
US4587632A (en) | Lookahead stack oriented computer | |
EP0427245B1 (en) | Data processor capable of simultaneously executing two instructions | |
JPS6217252B2 (ja) | ||
JP2006012182A (ja) | データ処理システムとその方法 | |
DE102004013676A1 (de) | Schleifenbetrieb mit null Overhead in einem Mikroprozessor mit Anweisungspuffer | |
USRE32493E (en) | Data processing unit with pipelined operands | |
EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
US20030005261A1 (en) | Method and apparatus for attaching accelerator hardware containing internal state to a processing core | |
US4742453A (en) | Pipeline-controlled information processing system for generating updated condition code | |
US6292845B1 (en) | Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively | |
US4954947A (en) | Instruction processor for processing branch instruction at high speed | |
KR19990072287A (ko) | 파이프라인화된부동소수점저장 | |
EP0130381A2 (en) | Mechanism for implementing one machine cycle executable branch-on-any-bit-in-any-register instructions in a primitive instruction set computing system | |
KR880001418B1 (ko) | 데이터 처리장치 | |
JPS623324A (ja) | 可変位置シフタ | |
US5034879A (en) | Programmable data path width in a programmable unit having plural levels of subinstruction sets | |
US7134000B2 (en) | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information | |
US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel |