JPH05298096A - 処理装置 - Google Patents

処理装置

Info

Publication number
JPH05298096A
JPH05298096A JP9766692A JP9766692A JPH05298096A JP H05298096 A JPH05298096 A JP H05298096A JP 9766692 A JP9766692 A JP 9766692A JP 9766692 A JP9766692 A JP 9766692A JP H05298096 A JPH05298096 A JP H05298096A
Authority
JP
Japan
Prior art keywords
instruction
stage
data
computer
hardware
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
Application number
JP9766692A
Other languages
English (en)
Inventor
Yutaka Harada
豊 原田
Kazumasa Takagi
一正 高木
Koji Nakahara
宏治 中原
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9766692A priority Critical patent/JPH05298096A/ja
Publication of JPH05298096A publication Critical patent/JPH05298096A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【目的】計算機ハ−ドウエアの活用効率を高め、高性能
の計算機を実現するために、計算機機能をより細分化
し、パイプラインピッチを上げる計算機の構成方法を提
供する。 【構成】細分化した計算機機能に対して、各々レジスタ
セット150を割当て、命令の実行順序にが進につれ
て、該レジスタセットのデ−タも順次移動させる方法を
採用する。また、各パイプラインのステ−ジ毎に異なる
プログラム(命令列)PC140〜200の命令を実行
できるため、一つのハ−ドウエアで複数のプロセッサを
動作させるのと同じ効果がある。この形態では、単一の
ハ−ドウエアが同時に処理している命令列に相関を無く
す事ができ、従来のパイプライン方式の問題点であった
ブランチ命令による処理効率の低下は生じない。単一の
ハ−ドウエアで複数のプログラムを実行するマルチプロ
セッサを構成できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機の構成方法に係
り、特に多数の処理装置を並列に動作させるマルチプロ
セッサの構成方法に関する。
【0002】
【従来の技術】計算機性能を向上させるには、素子性能
特に回路速度を改良する方法と、計算機構造を改良する
方法とがある。計算機構造を改良するにあたって、計算
機の持つ機能を分割し、命令列でその機能を時分割で使
う方法、いわゆるパイプライン方式を導入することが極
めて有効である。このパイプライン方式については例え
ば”ジ ア−キテクチャ− オブ パイプラインド コ
ンピュ−タ−ズ” ヘミスフェア− パブリッシング
コ−ポレ−ション 1981年(”The Archi
tecture of pipelined comp
uters” Hemisphere Publish
ing Corporation 1981)に記載さ
れている。従来のパイプライン方式では、例えば各命令
の実行順序を命令読み出し(Instruction
Fetch)、命令解読(Decord)、オペランド
読み出し(Operand Fetch)、命令実行
(Execution)、書き込み(Write)の連
続する5動作に分け、これらの一連の動作を別々の命令
が順次オ−バ−ラップしながら実行する。
【0003】
【発明が解決しようとする課題】しかしながら、上記従
来技術は、用意されているハ−ドウエアを時分割で有効
に活用する方法であるが、必ずしも高効率で用意された
ハ−ドウエアを活用しているとは言えない。究極的なパ
イプラインでは計算機を構成しているゲ−ト単位で時分
割動作を行わせ、計算機の論理段数分の命令を一度に実
行させることができる。いずれにせよ、計算機の性能を
上げるには、計算機の構造をより細分化し、パイプライ
ンのピッチをあげることが有効である。しかし、従来技
術のパイプライン方式では、計算機機能を高々5個程度
に分割し、その程度の多重動作を実現してているにすぎ
ない。これは、一つの命令列を逐次実行する、いわゆる
Single Instruction Stream
Single DataStream (SISD)
方式の処理形態では、ブランチ命令による逐次処理順序
の変更が該パイプライン処理の秩序を乱し、先に行った
処理を無効にして全体の処理効率を低下させるからであ
る。
【0004】本発明の目的は、計算機ハ−ドウエアの活
用効率を高め、高性能の計算機を実現するために、計算
機機能をより細分化し、パイプラインピッチを上げる計
算機の構成方法を提供しようとするものである。
【0005】
【課題を解決するための手段】上記目的は、細分化した
計算機機能に対して、各々レジスタセットを割当て、命
令の実行順序が進むにつれて、該レジスタセットのデ−
タも順次移動させる方法を採用することにより達成され
る。
【0006】
【作用】本発明による方式を採用すれば、各パイプライ
ンのステ−ジ毎に異なるプログラム(命令列)の命令を
実行できるため、一つのハ−ドウエアで複数のプロセッ
サを動作させるのと同じ効果がある。この形態では、単
一のハ−ドウエアが同時に処理している命令列に相関を
無くす事ができ、従来のパイプライン方式の問題点であ
ったブランチ命令による処理効率の低下は生じない。
【0007】
【実施例】以下に、本発明を実施例を使って説明する。
本発明では簡単な計算機を実施例として取り上げる。こ
の計算機は加算器と以下の5個のレジスタを持つ。 ACC:アキュミュレ−タ(演算レジスタ、演算デ−タ
の保持) MDR:メモリデ−タレジスタ(メモリの命令アドレス
の保持) MAR:メモリアドレスレジスタ(メモリデ−タの受渡
し) PC :プログラムカウンタ(プログラムの実行アドレ
スの保持) IR :インストラクションレジスタ(命令コ−ドの保
持) またこの計算機の命令フォ−マットは図2に示され、命
令は以下の7種類である。 JMP :命令アドレスに無条件ジャンプ CALL:命令アドレスにサブル−チンジャンプ RTN :サブル−チンジャッンプからの復帰 JAN :アキュミュレ−タが負ならば命令アドレスに
ジャンプ(条件ジャンプ) LAC :命令アドレスのデ−タをアキュミュレ−タに
読み出す SAC :アキュミュレ−タのデ−タを命令アドレスに
書き込む ADD :命令アドレスのデ−タをアキュミュレ−タに
加算する 本実施例の計算機は構造が簡単であり、従来のパイプラ
イン技術の命令読み出し(Instruction F
etch)と命令実行(Execution)に相当す
る動作のみを行う。しかし、より詳細には命令読み出
し、命令実行はより複雑な動作に細分化される。図3に
上記7個の命令を実行するための細分化された動作を示
す。図3では、命令読み出しは4個の動作ステ−ジ、命
令実行は3個の動作ステ−ジに分かれ、各命令は7個の
動作ステ−ジを経て完結する。例えば命令読み出しで
は、ステ−ジ0でPCのデ−タをMARに転送し、メモ
リを読み出しサイクルにする。ステ−ジ1ではPCを1
だけ増加させ、次の命令の実行アドレスを保持する。ス
テ−ジ2ではステ−ジ0で起動されたメモリから実行す
る命令コ−ドがMDRに返される。ステ−ジ3では、M
DRにセットされた命令コ−ドの命令部(OP Cod
e)をIRに命令アドレスをMARにセットする。命令
実行はIRのセットされた命令コ−ドにより動作が異な
る。例えば、JMP命令は、ステ−ジ4でMDRにセッ
トされたジャンプ先のアドレスをPCに転送するだけで
ある。一方、CALL命令では、戻り先のアドレスを退
避させるためPCのデ−タをMDRに転送してメモリを
書き込みサイクルにして該戻り先アドレスを退避すると
同時に、PCにサブル−チンアドレスをセットするため
に、MDRからアドレスをPCに転送する。ステ−ジ5
ではサブル−チンの2番目の命令を差し示すため、PC
を1だけ増加させる。LAC命令では、ステ−ジ3で読
み出しの起動がかけられたメモリからデ−タがステ−ジ
5で戻されMDRにセットされる。ステ−ジ6でMDR
にセットされたデ−タがACCに転送される。ADD命
令ではステ−ジ5でMDRにセットされたデ−タとAC
Cのデ−タがステ−ジ6で加算され結果がACCにセッ
トされる。
【0008】図3から、各命令はステ−ジごとに実行す
る動作内容が決められていることが理解できる。この図
3に示す細分化された動作を実行するための、本発明に
よる計算機のハ−ドウエア構成の実施例を図1に示す。
図1において、計算機は加算器100と各動作ステ−ジ
(ステ−ジ0からステ−ジ6)毎におかれたレジスタ群
で構成される。同種のレジスタはデ−タがステ−ジ順に
転送されるように、シフトレジスタを構成している。一
連のシフトレジスタは用途に応じて、不必要な場合は途
中を欠落させてあり、またプログラム(命令列)でデ−
タを保持する必要のあるものは該シフトレジスタを環状
に接続し、該デ−タが該シフトレジスタ内を循環する構
成としている。以下に、図1の実施例の動作を詳細に説
明する。本実施例による処理装置は加算器100、AC
C110、MDR120、MAR130、PC140、
IR150、メモリ160から構成されている。ACC
110はスレ−ジ0からステ−ジ6までの各ステ−ジに
デ−タを保持するためのレジスタを持つ。各ステ−ジの
レジスタはビット毎に次のステ−ジにデ−タを転送でき
るようステ−ジ方向にシフトレジスタとしての構成をし
ている。またプログラム内(命令列)でデ−タを保持す
るため、ステ−ジ6のデ−タはステ−ジ0に転送される
構造を持つ。同様に、MDR120はステ−ジ2からス
テ−ジ6までのシフトレジスタから構成される。MDR
120のステ−ジ2、ステ−ジ5ではメモリ160から
デ−タが転送され、ステ−ジ4ではメモリ160にデ−
タを転送する。MAR130はステ−ジ0とステ−ジ3
からステ−ジ6までのシフトレジスタから構成される。
MAR130のステ−ジ0、ステ−ジ3ではアドレスを
メモリ160に転送する。PC140はステ−ジ0から
ステ−ジ6までのシフトレジスタから構成され、次の命
令アドレスを保持するためステ−ジ6のデ−タはステ−
ジ0に転送される構造を持つ。またステ−ジ1およびス
テ−ジ5には保持するデ−タを1増加して次の命令アド
レスをセットする目的で1加算器141、142が付属
している。IR150はステ−ジ3からステ−ジ6まで
のシフトレジスタから構成される。
【0009】次に、図3に示された動作を図1を使って
説明する。命令読み出しでは、ステ−ジ0でPC140
のデ−タをMAR130にチャンネル200を使って転
送すると、同時にMAR130のアドレスをチャンネル
161を介してメモリ160に送り、メモリを読み出し
サイクルにする。。ステ−ジ1ではPC140のデ−タ
を1増加させる。ステ−ジ2ではメモリ160から命令
が読み出されチャンネル162を介してMDR120に
転送される。ステ−ジ3ではMDR120にセットされ
た命令コ−ドの命令部をチャンネル201を介してIR
150に、またアドレス部をチャンネル202を介して
MAR130に転送する。ここで、ステ−ジ0からステ
−ジ3をまでデ−タを逐次転送することにより命令読み
出しが実行されることは明らか。またステ−ジ3でIR
150に転送された命令部により以下のステ−ジ4から
ステ−ジ6までの命令の実行が制御される。
【0010】命令実行では、JMP命令の場合は、ステ
−ジ4でMDR120からPC140にチャンネル30
0を介してジャンプ先アドレスが転送される。CALL
命令では、ステ−ジ4でMDR120とPC140のジ
ャンプ先アドレスと復帰先アドレスがチャンネル30
0、301を介して交換され、メモリ160を書き込み
サイクルにする。ステ−ジ5ではサブル−チンの2番目
の命令を示しめすためPC140の値を1増加させる。
RTN命令ではステ−ジ5で戻り先のアドレスがMDR
120に転送され、ステ−ジ6で戻り先アドレスがMD
R120からPC140にチャンネル340を介して転
送される。JAN命令はACC110の符号を判定して
JMP命令と同じ動作を行う。LAC命令ではステ−ジ
5でメモリ160よりデ−タがMDR120に転送さ
れ、ステ−ジ6で転送されたデ−タがMDR120より
ACC110にチャンネル303を介して転送される。
SAC命令ではステ−ジ4でACC110からMDR1
20に書き込みデ−タがチャンネル302を介して転送
され、同時にメモリ160を書き込みサイクルにする。
ADD命令ではステ−ジ5でメモリ160よりデ−タが
MDR120に転送され、ステ−ジ6でACC110と
MDR120のデ−タがチャンネル305、306より
加算器100に供給され、該加算器100の出力はチャ
ンネル307を介してACC110に転送される。以上
の説明より命令の実行がステ−ジ4からステ−ジ6まで
逐次デ−タを次のステ−ジに転送することにより行われ
ることは明らか。ステ−ジ6で命令実行が完了した後
は、再びステ−ジ0に戻り、命令読み出しを開始する。
従って、図1に示す処理装置ではステ−ジ0からステ−
ジ6までを循環して実行することにより、プログラム
(命令列)を実行することができる。図1の実施例を使
えば、1個のハ−ドウエアで複数の命令を同時に処理で
きる。以上の説明で、命令は各ステ−ジを逐次実行する
ことを明らかにした。このことは、1個の命令は、複数
個あるステ−ジの1このステ−ジを専有しているにすぎ
ない。従って、図1の実施例では、複数個の命令を各ス
テ−ジに割り当てることが出来ることを示唆している。
図4はAからGの7個の命令を各ステ−ジに割当て例で
あり、1個のハ−ドウエアで7個の命令を同時に処理し
ている状態を示している。さらに、図4の実施例では、
各ステ−ジにレジスタ(ACC,MDR,MAR,P
C,IR)を置いてあるため各ステ−ジ間の相関を無く
すことができる。このため相関の無い複数の命令を同時
に実行できるため、従来のパイプライン方式で問題とな
ったブランチ命令による処理効率の低下は生じない。図
5は7個の命令を同時に実行する時の命令実行順序を示
している。命令の実行に無効が無いため、パイプライン
の乱れは生じない。また、異なる複数のプログラム(命
令列)を1個のハ−ドウエアで実行できため、本発明は
マルチプロセッサと同じ機能をを実現している。
【0011】以上の説明では、ステ−ジを7個に分けた
場合を例に本発明を説明したが、より多くのステ−ジに
分解することは可能であり、より多くの命令を同時に実
行できることは明らかである。このステ−ジはゲ−ト一
段まで分解できることは明らか。
【0012】
【発明の効果】本発明は、ハ−ドウエアの使用効率を高
め、1個のハ−ドウエアで複数個の命令列を同時に実行
できるマルチプロセッサを提供できる。従って、本発明
は、高性能の処理装置を実現する極めて有効な手段を提
供するものである。
【図面の簡単な説明】
【図1】本発明による処理装置の構造図
【図2】処理装置の命令フォ−マット
【図3】処理装置の動作シ−ケンス
【図4】処理装置の複数命令処理方法
【図5】処理装置のパイプライン動作
【符号の説明】
100:加算器、 110:ACC、 120:MD
R、 130:MAR 140:PC、 141、142:1加算器、150:
IR、 160:メモリ 161、162、200、201、202、300、3
01、302、303、304、305、306、30
7:チャンネル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】処理内容を複数のステ−ジに分割し、該ス
    テ−ジ毎にレジスタを置き、該レジスタの同種のものは
    該ステ−ジの順序に従ってデ−タが順次転送される構造
    を有し、1個の命令は複数個の該ステ−ジの1個を専有
    し、該専有ステ−ジを進める事により命令を実行するこ
    とを特徴とする処理装置。
  2. 【請求項2】特許請求の範囲第1項において、該複数の
    ステ−ジに複数の命令を割り当てる事を特徴とする処理
    装置。
  3. 【請求項3】特許請求の範囲第1項において、該レジス
    タの少なくとも1個はステ−ジ間にわたって閉じたル−
    プを構成し、該ル−プ内に蓄えられたデ−タは必要に応
    じて複数の命令間で保持される事を特徴とする処理装
    置。
JP9766692A 1992-04-17 1992-04-17 処理装置 Pending JPH05298096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9766692A JPH05298096A (ja) 1992-04-17 1992-04-17 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9766692A JPH05298096A (ja) 1992-04-17 1992-04-17 処理装置

Publications (1)

Publication Number Publication Date
JPH05298096A true JPH05298096A (ja) 1993-11-12

Family

ID=14198368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9766692A Pending JPH05298096A (ja) 1992-04-17 1992-04-17 処理装置

Country Status (1)

Country Link
JP (1) JPH05298096A (ja)

Similar Documents

Publication Publication Date Title
JPH05233281A (ja) 電子計算機
JPH0773149A (ja) データ処理システムとその方法
JP2002539519A (ja) Vliwプロセッサにおけるレジスタ・アドレッシングの間接制御を提供するためのレジスタファイル索引付け方法及び装置
JPH11282679A (ja) 演算処理装置
JPS6351287B2 (ja)
JPS6155707B2 (ja)
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JP2653037B2 (ja) データ処理システム
JPH07104784B2 (ja) デジタルデータ処理装置
JPH06103068A (ja) データ処理装置
JPH07244589A (ja) 述語、及びブール式を解くためのコンピュータ・システム、及び方法
JP2538053B2 (ja) 制御装置
JPH05298096A (ja) 処理装置
JPS60178580A (ja) 命令制御方式
JPH05298093A (ja) 処理装置
JP2503984B2 (ja) 情報処理装置
JPH03204030A (ja) コンピュータ用プロセツサ
JPH05298094A (ja) 処理装置
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JPS61175732A (ja) 情報処理装置の性能制御方式
JPH09101889A (ja) パイプライン演算装置
JP2846536B2 (ja) マルチプロセッサ
JPS58114250A (ja) 共有マイクロプロセツサ
JP2503983B2 (ja) 情報処理装置
JP2861234B2 (ja) 命令処理装置