JPH0784783A - 中央処理装置 - Google Patents

中央処理装置

Info

Publication number
JPH0784783A
JPH0784783A JP5252563A JP25256393A JPH0784783A JP H0784783 A JPH0784783 A JP H0784783A JP 5252563 A JP5252563 A JP 5252563A JP 25256393 A JP25256393 A JP 25256393A JP H0784783 A JPH0784783 A JP H0784783A
Authority
JP
Japan
Prior art keywords
instruction
pipeline
instructions
orthogonal
processing
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
JP5252563A
Other languages
English (en)
Other versions
JP3339132B2 (ja
Inventor
Shinji Nanba
慎二 難波
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP25256393A priority Critical patent/JP3339132B2/ja
Publication of JPH0784783A publication Critical patent/JPH0784783A/ja
Priority to US08/701,888 priority patent/US5774740A/en
Application granted granted Critical
Publication of JP3339132B2 publication Critical patent/JP3339132B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 命令間パイプラインと命令内パイプラインの
2つのパイプラインの処理を単一パイプライン制御論理
にて実行できるとともに、制御論理の単純化および論理
の縮小化を可能とした中央処理装置を提供する。 【構成】 ソース、ディスティネーションおよびオペレ
ーションを決定する各機械語部分11,12および13
をそれぞれバイト単位で独立に構成し(A)、直交的な
命令以外の命令の実行を命令ごとにパイプライン処理す
る(B)とともに、直交的な命令内のソース、ディステ
ィネーションおよびオペレーションの各処理をパイプラ
イン化し(C)、直交的な命令内のパイプラインと直交
的な命令以外の命令間のパイプラインとを同一構成にす
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央処理装置(CP
U)に関し、特に少なくとも1つのオペランドおよびオ
ペレーションの各種類を独立に選択可能な直交的な命令
を部分的に持つ中央処理装置に関する。
【0002】
【従来の技術】コンピュータの命令実行の高速化を図る
方式として、一つの処理をいくつかの細かい処理単位に
分割し、各部分での処理結果を次の処理部分へと次々転
送し、全体として一つの処理を行うパイプライン方式が
知られている。このパイプライン方式では、たとえば命
令語処理の場合、その命令処理が命令の取出し(フェッ
チ)、命令の解読(デコード)、命令の実行などのステ
ップに分けられ、それぞれの処理が同一時間に並列に行
われる。その結果、実効的に処理速度の高速化が図られ
る。ところで、ソース、ディスティネーションおよびオ
ペレーションの各種類を独立に選択可能な直交的な命令
を部分的に持つ中央処理装置においては、従来、ソー
ス、ディスティネーションおよびオペレーションを決定
する機械語がビット単位で構成されていた。
【0003】
【発明が解決しようとする課題】このように、機械語の
構成がビット単位であって、ソース、ディスティネーシ
ョンおよびオペレーションで独立した1バイト(又は、
複数バイト)を使用していない中央処理装置では、命令
処理の高速化を図るために、その命令の処理をパイプラ
イン化(命令間パイプライン処理)し、なおかつ命令内
のソース、ディスティネーションおよびオペレーション
の各処理をパイプライン化(命令内パイプライン処理)
しても、それらの2つのパイプラインの構成は、これら
パイプライン中の各ステージ構成が対称的でないため、
制御論理を別に構成し、それらの2つのパイプラインを
全く異なったパイプラインとして処理する必要があっ
た。
【0004】そのため、命令間パイプラインと命令内パ
イプラインの2つのパイプライン用の制御論理を別々に
構成する必要があり、2つのパイプラインを並列に実行
する場合に2つのパイプラインの非対称性によりその並
列処理化が困難であるという問題があった。本発明は、
上記課題に鑑みてなされたものであり、その目的とする
ところは、命令間パイプラインと命令内パイプラインの
2つのパイプラインの処理を単一パイプライン制御論理
にて実行できるとともに、制御論理の単純化および論理
の縮小化を可能とした中央処理装置を提供することにあ
る。
【0005】
【課題を解決するための手段】本発明による中央処理装
置は、少なくとも1つのオペランドおよびオペレーショ
ンの各種類を独立に選択可能な直交的な命令を部分的に
持つ中央処理装置であって、少なくとも1つのオペラン
ドおよびオペレーションを決定する各機械語の部分をそ
れぞれバイト単位で独立に構成し、直交的な命令以外の
命令の実行を命令ごとにパイプライン処理するととも
に、直交的な命令内の少なくとも1つのオペランドおよ
びオペレーションの各処理をパイプライン化し、直交的
な命令内のパイプラインと直交的な命令以外の命令間の
パイプラインとを同一構成にしている。
【0006】
【作用】上記構成の中央処理装置において、少なくとも
1つのオペランドおよびオペレーションを決定する機械
語の部分をそれぞれバイト単位で独立に構成し、その命
令内の少なくとも1つのオペランドおよびオペレーショ
ンの各処理をパイプライン化することで、その命令内パ
イプラインと命令間パイプラインの2つのパイプライン
中の各ステージ構成を対称にできる。これにより、2つ
のパイプラインの処理を単一パイプライン制御論理によ
って実行できるので、制御論理の単純化および論理の縮
小化が可能となる。
【0007】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。先ず、中央処理装置(CPU)の構成の一
例につき、図3のブロック図に基づいて説明する。中央
処理装置は、図3に示すように、制御ROM51、デコ
ードPLA52、情報検索(IR)部53、プリフェッ
チ列54、汎用レジスタ55、ALU(論理演算装置)
56、一時レジスタ57、プロセッサ状態(ステータ
ス)語58、プログラムカウンタ59、ページレジスタ
60およびアドレスバッファ61によって構成されてい
る。そして、各構成ブロックがデータバス62を介して
相互に接続されており、アドレスバッファ61からのア
ドレスはアドレスバス63へ出力される。
【0008】本発明に係る中央処理装置は、上記の構成
において、ソース、ディスティネーションおよびオペレ
ーションの各種類を独立に選択可能な直交的な命令を部
分的に持ったものである。本発明においては、ソース、
ディスティネーションおよびオペレーションを選択・決
定する機械語のそれぞれの部分は、図1(A)に示すよ
うに、独立したバイト単位に分割されている。
【0009】本実施例では、ソースを決定する機械語部
分11はnバイト、ディスティネーションを決定する機
械語部分12はmバイト、オペレーションを決定する機
械語部分13はkバイトで構成されている。ここに、
n,m,kは整数である。なお、本実施例では、ソー
ス、ディスティネーションおよびオペレーションを決定
する3つの機械語部分11,12,13の長さを固定と
しているが、可変長であっても良い。例えば、ソースを
決定する機械語部分11がnバイトである場合以外にn
+1バイトである場合や、ディスティネーションを決定
する機械語部分12がmバイトである場合以外にm−1
バイトである場合などが存在する機械語構成であっても
良い。
【0010】要は、機械語のソース、ディスティネーシ
ョンおよびオペレーションを決定する部分がそれぞれ独
立した単数あるいは複数バイトで構成されていることで
あって、個々の長さが固定長であるか、可変長であるか
は問わない。上記構成の本発明による中央処理装置にお
いて、直交的な命令以外の命令の実行を図1(B)に示
すようにパイプライン化するとき、併せて、直交的な命
令の実行を図1(C)に示すようにパイプライン化す
る。その際、図1(B)で使用した命令ごとのパイプラ
イン処理と、図1(C)で使用した命令内のパイプライ
ン処理の構成を同一にする。
【0011】本実施例では、直交的な命令以外の命令に
ついては、図1(B)に示すように、命令ごとのパイプ
ラインが4段ステージ、即ちID(デコード)・ステー
ジ、CR(制御ROM読出し)・ステージ、EX(計算
実行)・ステージおよびWB(書込み)・ステージで構
成されている。また、直交的な命令についても、図1
(C)に示すように、その命令内の処理をパイプライン
化する。そして、そのパイプラインについても、命令ご
とのパイプラインと同様に、4段ステージ、即ちID
(デコード)・ステージ、CR(制御ROM読出し)・
ステージ、EX(計算実行)・ステージおよびWB(書
込み)・ステージで構成する。
【0012】本実施例では、ID,CR,EX,WBと
いう4ステージ構成のパイプラインを示したが、パイプ
ラインの段数や各ステージで行う処理の振り分けなど、
パイプラインの構成についてはどのような構成であって
も構わない。しかし、命令ごとのパイプラインの構成
と、命令内のソース、ディスティネーションおよびオペ
レーションのパイプラインの構成が同一、即ち図1
(B)のIDステージで行われる処理が、図1(C)の
IDステージで行われる処理と対称的、換言すれば2つ
のIDステージで行える選択可能なデータ転送や状態レ
ジスタの設定など処理の種類が同じで、それらの処理の
選択起動は同一の制御論理回路にて制御している必要が
ある。CR,EX,WBのステージについても、同様に
対称性のあることが本発明の主旨である。
【0013】前述した機械語の構成は、直交的な命令内
のパイプライン処理にあたり、ソース、ディスティネー
ションおよびオペレーションを選択・決定する機械語の
部分をそれぞれのIDステージごとに独立してデコード
し、各処理を命令内パイプライン処理に順次送り出すこ
とを可能ならしめるために必要である。すなわち、図1
(C)において、命令2-1 のソース処理のIDステージ
では図1(A)の機械語部分11をデコード処理し、命
令2-2 のディスティネーション処理のIDステージでは
図1(A)の機械語部分12をデコード処理し、命令2-
3 のオペレーション処理のIDステージでは図1(A)
の機械語部分13をデコード処理して直交的な命令中の
3つの処理をあたかも独立した命令のようにパイプライ
ンに順次送り込むことによって並列実行する。
【0014】このような処理は、前述したように、ソー
ス、ディスティネーションおよびオペレーションを決定
する各機械語の部分がそれぞれバイト単位で独立に構成
されたものでなければ実現できない。そのようなパイプ
ラインを実現した本発明によれば、命令ごとのパイプラ
インと命令内のパイプラインが統一されているので、図
2(A)に示すように命令を実行可能である。
【0015】ここで、図2(A)において、命令3-1,3-
3 は直交的な命令群に含まれない命令で、命令3-2 が直
交的な命令群に含まれる命令である。図2(A)に示す
ように、命令3-1,3-3 の間の直交的な命令のソース処理
(3-4) 、ディスティネーション処理(3-5) およびオペレ
ーション処理(3-6) はその前後の命令と並列性を持ち、
パイプライン化して処理可能となっている。上述したよ
うに、直交的な命令以外の命令ごとのパイプラインと直
交的な命令内のソース処理、ディスティネーション処理
およびオペレーション処理のパイプラインを同一構成に
したことにより、図1(B)に示す命令ごとの処理の並
列性と、図1(C)に示す命令内の処理の並列性が相似
となるため、命令列を処理する場合の並列実行を図2
(A)のように実現できる。
【0016】なお、直交的な命令が2つ連続する場合の
実行については図2(B)のようになる。この場合に
も、命令4-1 と命令4-2 の直交的な命令のなかのそれぞ
れのソース処理、ディスティネーション処理およびオペ
レーション処理を並列化するとともに、両者の命令間の
処理も並列化することができる。このようなパイプライ
ン処理方式では、命令内のパイプライン実行の制御と命
令ごとのパイプライン実行の制御の2つを、同一制御論
理回路を使用して制御可能であるので、命令ごとのパイ
プラインと命令内のパイプラインを別の構成にした中央
処理装置に比べて制御論理回路を縮小化できる。
【0017】また、直交的な命令群のソース、ディステ
ィネーションおよびオペレーションの処理の並列化によ
り処理の高速化が実現できるとともに、そのパイプライ
ンは命令ごとのパイプライン化とまったく同一のものを
使用しているので、新たに命令内の並列処理のためにパ
イプラインを再設計する必要がなくなり、設計期間も短
縮できる。
【0018】なお、上記実施例では、ソースおよびディ
スティネーションの2オペランド命令の場合について説
明したが、本発明は、2オペランド命令に限られるもの
ではなく、1オペランド命令あるいは3オペランド以上
の命令の場合にも同様に適用し得る。
【0019】
【発明の効果】以上説明したように、本発明によれば、
少なくとも1つのオペランドおよびオペレーションを決
定する各機械語の部分をそれぞれバイト単位で独立に構
成し、直交的な命令以外の命令の実行を命令ごとにパイ
プライン処理するとともに、直交的な命令内の少なくと
も1つのオペランドおよびオペレーションの各処理をパ
イプライン化し、直交的な命令内のパイプラインと直交
的な命令以外の命令間のパイプラインとを同一構成にし
たことにより、命令内パイプラインと命令間パイプライ
ンの2つのパイプライン中の各ステージ構成を対称にで
きるので、2つのパイプラインの処理を単一パイプライ
ン制御論理によって実行できるとともに、制御論理の単
純化および論理の縮小化が可能となる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図であり、(A)
は機械語の構成を、(B)は命令ごとのパイプラインの
構成を、(C)は命令内のパイプラインの構成をそれぞ
れ示している。
【図2】命令列の実行例のパイプラインを示す構成図で
あり、(A)は直交的な命令が1つの実行例1の場合
を、(B)は直交的な命令が2つ連続する実行例2の場
合をそれぞれ示している。
【図3】中央処理装置(CPU)の構成の一例を示すブ
ロック図である。
【符号の説明】
11 ソースを決定する機械語部分 12 ディスティネーションを決定する機械語部分 13 オペレーションを決定する機械語部分 51 制御ROM 52 デコードPLA 59 プログラムカウンタ 60 ページカウンタ 61 アドレスバッファ 62 データバス 63 アドレスバス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのオペランドおよびオペ
    レーションの各種類を独立に選択可能な直交的な命令を
    部分的に持つ中央処理装置であって、 前記少なくとも1つのオペランドおよびオペレーション
    を決定する各機械語の部分をそれぞれバイト単位で独立
    に構成し、 直交的な命令以外の命令の実行を命令ごとにパイプライ
    ン処理するとともに、直交的な命令内の前記少なくとも
    1つのオペランドおよびオペレーションの各処理をパイ
    プライン化し、 直交的な命令内のパイプラインと直交的な命令以外の命
    令間のパイプラインとを同一構成にしたことを特徴とす
    る中央処理装置。
  2. 【請求項2】 前記少なくとも1つのオペランドは、ソ
    ースおよびディスティネーションであることを特徴とす
    る請求項1記載の中央処理装置。
JP25256393A 1993-09-14 1993-09-14 中央処理装置 Expired - Fee Related JP3339132B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP25256393A JP3339132B2 (ja) 1993-09-14 1993-09-14 中央処理装置
US08/701,888 US5774740A (en) 1993-09-14 1996-08-23 Central processing unit for execution of orthogonal and non-orthogonal instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25256393A JP3339132B2 (ja) 1993-09-14 1993-09-14 中央処理装置

Publications (2)

Publication Number Publication Date
JPH0784783A true JPH0784783A (ja) 1995-03-31
JP3339132B2 JP3339132B2 (ja) 2002-10-28

Family

ID=17239120

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25256393A Expired - Fee Related JP3339132B2 (ja) 1993-09-14 1993-09-14 中央処理装置

Country Status (2)

Country Link
US (1) US5774740A (ja)
JP (1) JP3339132B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708268B1 (en) * 1999-03-26 2004-03-16 Microchip Technology Incorporated Microcontroller instruction set

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
EP0199173B1 (en) * 1985-04-08 1994-02-02 Hitachi, Ltd. Data processing system
JP2635057B2 (ja) * 1987-11-04 1997-07-30 株式会社日立製作所 マイクロプロセッサ

Also Published As

Publication number Publication date
JP3339132B2 (ja) 2002-10-28
US5774740A (en) 1998-06-30

Similar Documents

Publication Publication Date Title
CN107003843B (zh) 用于对向量元素集合执行约减操作的方法和设备
JP6163171B2 (ja) ソート加速プロセッサ、方法、システムおよび命令
US6889318B1 (en) Instruction fusion for digital signal processor
US5710902A (en) Instruction dependency chain indentifier
US5907842A (en) Method of sorting numbers to obtain maxima/minima values with ordering
US7366874B2 (en) Apparatus and method for dispatching very long instruction word having variable length
US5303356A (en) System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag
CN109062608B (zh) 用于独立数据上递归计算的向量化的读和写掩码更新指令
US5504932A (en) System for executing scalar instructions in parallel based on control bits appended by compounding decoder
JP2002333978A (ja) Vliw型プロセッサ
JP6673574B2 (ja) ベクトルビットシャッフルを実行するための方法および装置
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
CN107925419B (zh) 用于使用硬件和软件进行解压缩的系统、方法和装置
CN112148251A (zh) 跳过无意义的矩阵运算的系统和方法
TW201732734A (zh) 用於加速圖形分析的設備及方法
JP2620511B2 (ja) データ・プロセッサ
JP2806359B2 (ja) 命令処理方法及び命令処理装置
US20030159021A1 (en) Selected register decode values for pipeline stage register addressing
JPH05150979A (ja) 即値オペランド拡張方式
JP3578883B2 (ja) データ処理装置
JPH0248732A (ja) 命令パイプライン方式のマイクロプロセッサ
JP2006518060A (ja) 単一命令多重データ管理のための方法および計算機プログラム
US7047396B1 (en) Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US6654870B1 (en) Methods and apparatus for establishing port priority functions in a VLIW processor
JPH0784783A (ja) 中央処理装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20080816

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090816

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100816

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110816

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110816

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120816

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees