JPH05298093A - 処理装置 - Google Patents
処理装置Info
- Publication number
- JPH05298093A JPH05298093A JP4097659A JP9765992A JPH05298093A JP H05298093 A JPH05298093 A JP H05298093A JP 4097659 A JP4097659 A JP 4097659A JP 9765992 A JP9765992 A JP 9765992A JP H05298093 A JPH05298093 A JP H05298093A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- data
- memory
- register
- 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
Landscapes
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】 (修正有)
【目的】 ハ−ドウエアの活用効率を高め、高性能の計
算機の実現のために、計算機々能を細分化し、パイプラ
インピッチを上げる計算機の構成で、複数の命令を同時
に処理する処理装置の実現。 【構成】 加算機100と、MDR(メモリデータレジ
スタ)120と、ACC(アキュムレータ)110と、
PC(プログラムカウンタ)140と、IR(インスト
ラクションレジスタ)150と、1加算器141と、チ
ャンネル161,162,171,172,300〜3
02,304〜307よりなる。命令メモリ170のア
ドレスレジスタはステージ0のPC140であり、デー
タレジスタはステージ2のIR150である。データメ
モリ160アドレスレジスタはステージ2のIR150
であり、データレジスタはステージ3〜4のMDR12
0である。同時に処理している命令列に相関を無くす事
ができ、ブランチ命令による処理効率の低下を生じな
い。
算機の実現のために、計算機々能を細分化し、パイプラ
インピッチを上げる計算機の構成で、複数の命令を同時
に処理する処理装置の実現。 【構成】 加算機100と、MDR(メモリデータレジ
スタ)120と、ACC(アキュムレータ)110と、
PC(プログラムカウンタ)140と、IR(インスト
ラクションレジスタ)150と、1加算器141と、チ
ャンネル161,162,171,172,300〜3
02,304〜307よりなる。命令メモリ170のア
ドレスレジスタはステージ0のPC140であり、デー
タレジスタはステージ2のIR150である。データメ
モリ160アドレスレジスタはステージ2のIR150
であり、データレジスタはステージ3〜4のMDR12
0である。同時に処理している命令列に相関を無くす事
ができ、ブランチ命令による処理効率の低下を生じな
い。
Description
【0001】
【産業上の利用分野】本発明は計算機の構成方法に係
り、特に多数の処理装置を並列に動作させるマルチプロ
セッサの構成方法に関する。
り、特に多数の処理装置を並列に動作させるマルチプロ
セッサの構成方法に関する。
【0002】
【従来の技術】計算機性能を向上させるには、素子性能
特に回路速度を改良する方法と、計算機構造を改良する
方法とがある。計算機構造を改良するにあたって、計算
機の持つ機能を分割し、命令列でその機能を時分割で使
う方法、いわゆるパイプライン方式を導入することが極
めて有効である。このパイプライン方式については例え
ば”ジ ア−キテクチャ− オブ パイプラインド コ
ンピュ−タ−ズ” ヘミスフェア− パブリッシング
コ−ポレ−ション 1981年(”The Archi
tecture of pipelined comp
uters” Hemisphere Publish
ing Corporation 1981)に記載さ
れている。従来のパイプライン方式では、例えば各命令
の実行順序を命令読み出し(Instruction
Fetch)、命令解読(Decord)、オペランド
読み出し(Operand Fetch)、命令実行
(Execution)、書き込み(Write)の連
続する5動作に分け、これらの一連の動作を別々の命令
が順次オ−バ−ラップしながら実行する。
特に回路速度を改良する方法と、計算機構造を改良する
方法とがある。計算機構造を改良するにあたって、計算
機の持つ機能を分割し、命令列でその機能を時分割で使
う方法、いわゆるパイプライン方式を導入することが極
めて有効である。このパイプライン方式については例え
ば”ジ ア−キテクチャ− オブ パイプラインド コ
ンピュ−タ−ズ” ヘミスフェア− パブリッシング
コ−ポレ−ション 1981年(”The Archi
tecture of pipelined comp
uters” Hemisphere Publish
ing Corporation 1981)に記載さ
れている。従来のパイプライン方式では、例えば各命令
の実行順序を命令読み出し(Instruction
Fetch)、命令解読(Decord)、オペランド
読み出し(Operand Fetch)、命令実行
(Execution)、書き込み(Write)の連
続する5動作に分け、これらの一連の動作を別々の命令
が順次オ−バ−ラップしながら実行する。
【0003】
【発明が解決しようとする課題】しかしながら上記従来
技術は、用意されているハ−ドウエアを時分割で有効に
活用する方法であるが、必ずしも高効率で用意されたハ
−ドウエアを活用しているとは言えない。究極的なパイ
プラインでは計算機を構成しているゲ−ト単位で時分割
動作を行わせ、計算機の論理段数分の命令を一度に実行
させることができる。いずれにせよ、計算機の性能を上
げるには、計算機の構造をより細分化し、パイプライン
のピッチをあげることが有効である。しかし、従来技術
のパイプライン方式では、計算機機能を高々5個程度に
分割し、その程度の多重動作を実現してているにすぎな
い。これは、一つの命令列を逐次実行する、いわゆるS
ingle Instruction Stream
Single Data Stream (SISD)
方式の処理形態では、ブランチ命令による逐次処理順序
の変更が該パイプライン処理の秩序を乱し、先に行った
処理を無効にして全体の処理効率を低下させるからであ
る。
技術は、用意されているハ−ドウエアを時分割で有効に
活用する方法であるが、必ずしも高効率で用意されたハ
−ドウエアを活用しているとは言えない。究極的なパイ
プラインでは計算機を構成しているゲ−ト単位で時分割
動作を行わせ、計算機の論理段数分の命令を一度に実行
させることができる。いずれにせよ、計算機の性能を上
げるには、計算機の構造をより細分化し、パイプライン
のピッチをあげることが有効である。しかし、従来技術
のパイプライン方式では、計算機機能を高々5個程度に
分割し、その程度の多重動作を実現してているにすぎな
い。これは、一つの命令列を逐次実行する、いわゆるS
ingle Instruction Stream
Single Data Stream (SISD)
方式の処理形態では、ブランチ命令による逐次処理順序
の変更が該パイプライン処理の秩序を乱し、先に行った
処理を無効にして全体の処理効率を低下させるからであ
る。
【0004】本発明の目的は、計算機ハ−ドウエアの活
用効率を高め、高性能の計算機を実現するために、計算
機機能をより細分化し、パイプラインピッチを上げる計
算機の構成方法を提供しようとするものである。
用効率を高め、高性能の計算機を実現するために、計算
機機能をより細分化し、パイプラインピッチを上げる計
算機の構成方法を提供しようとするものである。
【0005】
【課題を解決するための手段】上記目的は、細分化した
計算機機能に対して、各々レジスタセットを割当て、命
令の実行順序が進むにつれて、該レジスタセットのデ−
タも順次移動させる方法を採用することにより達成され
る。
計算機機能に対して、各々レジスタセットを割当て、命
令の実行順序が進むにつれて、該レジスタセットのデ−
タも順次移動させる方法を採用することにより達成され
る。
【0006】
【作用】本発明による方式を採用すれば、各パイプライ
ンのステ−ジ毎に異なるプログラム(命令列)の命令を
実行できるため、一つのハ−ドウエアで複数のプロセッ
サを動作させるのと同じ効果がある。この形態では、単
一のハ−ドウエアが同時に処理している命令列に相関を
無くす事ができ、従来のパイプライン方式の問題点であ
ったブランチ命令による処理効率の低下は生じない。従
って、本発明よればは、単一のハ−ドウエアで高い効率
で複数のプログラムを実行するマルチプロセッサを構成
できる。
ンのステ−ジ毎に異なるプログラム(命令列)の命令を
実行できるため、一つのハ−ドウエアで複数のプロセッ
サを動作させるのと同じ効果がある。この形態では、単
一のハ−ドウエアが同時に処理している命令列に相関を
無くす事ができ、従来のパイプライン方式の問題点であ
ったブランチ命令による処理効率の低下は生じない。従
って、本発明よればは、単一のハ−ドウエアで高い効率
で複数のプログラムを実行するマルチプロセッサを構成
できる。
【0007】
【実施例】以下に、本発明を実施例を使って説明する。
本発明では簡単な計算機を実施例として取り上げる。計
算機は、命令メモリ(Instruction Mem
ory:IM)から命令を読み出し、デ−タメモリ(D
ata Memory:DM)からオペランドを読み出
して演算を実行する。この計算機は加算器と以下の4個
のレジスタを持つ。 ACC:アキュミュレ−タ(演算レジスタ、演算デ−タ
の保持) MDR:メモリデ−タレジスタ(デ−タメモリから読み
出されたのオペランドの保持とデ−タメモリに書き込む
デ−タの保持) PC :プログラムカウンタ(プログラムの実行アドレ
スの保持) IR :インストラクションレジスタ(命令コ−ドの保
持) またこの計算機の命令フォ−マットは図2に示される。
命令フォ−マットは命令コ−ド(OP Code)と命
令アドレス(Address)からなる。この命令は命
令メモリから読みだされ、IRにセットされて解読され
た後、実行される。この計算機の命令は以下の7種類で
ある。 JMP :命令アドレスに無条件ジャンプ CAL :命令アドレスにサブル−チンジャンプ RTN :サブル−チンジャッンプからの復帰 JAN :アキュミュレ−タが負ならば命令アドレスに
ジャンプ(条件ジャンプ) LAC :命令アドレスのデ−タをアキュミュレ−タに
読み出す SAC :アキュミュレ−タのデ−タを命令アドレスに
書き込む ADD :命令アドレスのデ−タをアキュミュレ−タに
加算する 本実施例の計算機は構造が簡単であり、従来のパイプラ
イン技術の命令読み出し(Instruction F
etch)と命令実行(Execution)に相当す
る動作のみを行う。しかし、より詳細には命令読み出
し、命令実行はより複雑な動作に細分化される。図3に
上記7個の命令を実行するための細分化された動作を示
す。図3では、命令読み出しは3個の動作ステ−ジ、命
令実行は3個の動作ステ−ジに分かれ、各命令は6個の
動作ステ−ジを経て完結する。例えば命令読み出しで
は、ステ−ジ0でPCのデ−タをアドレスとして命令メ
モリに転送し、命令メモリを読み出しサイクルにする。
ステ−ジ1ではPCを1だけ増加させ、次の命令の実行
アドレスを保持する。ステ−ジ2ではステ−ジ0で起動
された命令メモリから実行する命令コ−ドがIRに返さ
れる。このステ−ジでは、命令コ−ドの命令部(OP
Code)がIRセットされると同じに、命令アドレス
またはCAL命令の復帰先アドレスを保持する特定の場
所(例えば0番地)がアドレスとしてデ−タメモリに送
り出される。命令実行はIRのセットされた命令コ−ド
により動作が異なる。例えば、JMP命令は、ステ−ジ
3でIRにセットされたジャンプ先のアドレスをPCに
転送するだけである。一方、CAL命令では、戻り先の
アドレスを退避させるためPCのデ−タをMDRに転送
してデ−タメモリを書き込みサイクルにして該戻り先ア
ドレスを退避すると同時に、PCにサブル−チンアドレ
スをセットするために、IRからアドレスをPCに転送
する。LAC命令では、ステ−ジ2で読み出しの起動が
かけられたデ−タメモリからデ−タがステ−ジ4で戻さ
れMDRにセットされる。ステ−ジ5でMDRにセット
されたデ−タがACCに転送される。ADD命令ではス
テ−ジ4でMDRにセットされたデ−タとACCのデ−
タがステ−ジ5で加算され結果がACCにセットされ
る。
本発明では簡単な計算機を実施例として取り上げる。計
算機は、命令メモリ(Instruction Mem
ory:IM)から命令を読み出し、デ−タメモリ(D
ata Memory:DM)からオペランドを読み出
して演算を実行する。この計算機は加算器と以下の4個
のレジスタを持つ。 ACC:アキュミュレ−タ(演算レジスタ、演算デ−タ
の保持) MDR:メモリデ−タレジスタ(デ−タメモリから読み
出されたのオペランドの保持とデ−タメモリに書き込む
デ−タの保持) PC :プログラムカウンタ(プログラムの実行アドレ
スの保持) IR :インストラクションレジスタ(命令コ−ドの保
持) またこの計算機の命令フォ−マットは図2に示される。
命令フォ−マットは命令コ−ド(OP Code)と命
令アドレス(Address)からなる。この命令は命
令メモリから読みだされ、IRにセットされて解読され
た後、実行される。この計算機の命令は以下の7種類で
ある。 JMP :命令アドレスに無条件ジャンプ CAL :命令アドレスにサブル−チンジャンプ RTN :サブル−チンジャッンプからの復帰 JAN :アキュミュレ−タが負ならば命令アドレスに
ジャンプ(条件ジャンプ) LAC :命令アドレスのデ−タをアキュミュレ−タに
読み出す SAC :アキュミュレ−タのデ−タを命令アドレスに
書き込む ADD :命令アドレスのデ−タをアキュミュレ−タに
加算する 本実施例の計算機は構造が簡単であり、従来のパイプラ
イン技術の命令読み出し(Instruction F
etch)と命令実行(Execution)に相当す
る動作のみを行う。しかし、より詳細には命令読み出
し、命令実行はより複雑な動作に細分化される。図3に
上記7個の命令を実行するための細分化された動作を示
す。図3では、命令読み出しは3個の動作ステ−ジ、命
令実行は3個の動作ステ−ジに分かれ、各命令は6個の
動作ステ−ジを経て完結する。例えば命令読み出しで
は、ステ−ジ0でPCのデ−タをアドレスとして命令メ
モリに転送し、命令メモリを読み出しサイクルにする。
ステ−ジ1ではPCを1だけ増加させ、次の命令の実行
アドレスを保持する。ステ−ジ2ではステ−ジ0で起動
された命令メモリから実行する命令コ−ドがIRに返さ
れる。このステ−ジでは、命令コ−ドの命令部(OP
Code)がIRセットされると同じに、命令アドレス
またはCAL命令の復帰先アドレスを保持する特定の場
所(例えば0番地)がアドレスとしてデ−タメモリに送
り出される。命令実行はIRのセットされた命令コ−ド
により動作が異なる。例えば、JMP命令は、ステ−ジ
3でIRにセットされたジャンプ先のアドレスをPCに
転送するだけである。一方、CAL命令では、戻り先の
アドレスを退避させるためPCのデ−タをMDRに転送
してデ−タメモリを書き込みサイクルにして該戻り先ア
ドレスを退避すると同時に、PCにサブル−チンアドレ
スをセットするために、IRからアドレスをPCに転送
する。LAC命令では、ステ−ジ2で読み出しの起動が
かけられたデ−タメモリからデ−タがステ−ジ4で戻さ
れMDRにセットされる。ステ−ジ5でMDRにセット
されたデ−タがACCに転送される。ADD命令ではス
テ−ジ4でMDRにセットされたデ−タとACCのデ−
タがステ−ジ5で加算され結果がACCにセットされ
る。
【0008】図3から、各命令はステ−ジごとに実行す
る動作内容が決められていることが理解できる。この図
3に示す細分化された動作を実行するための、本発明に
よる計算機のハ−ドウエア構成の実施例を図1に示す。
図1において、計算機は加算器100と各動作ステ−ジ
(ステ−ジ0からステ−ジ5)毎におかれたレジスタ群
で構成される。同種のレジスタはデ−タがステ−ジ順に
転送されるように、シフトレジスタを構成している。一
連のシフトレジスタは用途に応じて、不必要な場合は途
中を欠落させてあり、またプログラム(命令列)でデ−
タを保持する必要のあるものは該シフトレジスタを環状
に接続し、該デ−タが該シフトレジスタ内を循環する構
成としている。以下に、図1の実施例の動作を詳細に説
明する。本実施例による処理装置は加算器100、AC
C110、MDR120、PC140、IR150、デ
−タメモリ160、命令メモリ170から構成されてい
る。ACC110はスレ−ジ0からステ−ジ5までの各
ステ−ジにデ−タを保持するためのレジスタを持つ。各
ステ−ジのレジスタはビット毎に次のステ−ジにデ−タ
を転送できるようステ−ジ方向にシフトレジスタとして
の構成をしている。またプログラム内(命令列)でデ−
タを保持するため、ステ−ジ5のデ−タはステ−ジ0に
転送される構造を持つ。同様に、MDR120はステ−
ジ3からステ−ジ5までのシフトレジスタから構成され
る。MDR120のステ−ジ4ではデ−タメモリ160
からデ−タが転送され、ステ−ジ3ではデ−タメモリ1
60にデ−タを転送する。PC140はステ−ジ0から
ステ−ジ5までのシフトレジスタから構成され、次の命
令アドレスを保持するためステ−ジ5のデ−タはステ−
ジ0に転送される構造を持つ。ステ−ジ0でPC140
のデ−タは命令を読みだすためアドレスとして命令メモ
リ170に転送され、命令メモリは読みだしサイクルに
セットされる。またステ−ジ1には保持するデ−タを1
増加して次の命令アドレスをセットする目的で1加算器
141が付属している。IR150はステ−ジ2からス
テ−ジ5までのシフトレジスタから構成される。ステ−
ジ2でIR150は該命令メモリ170から命令を受け
取る。
る動作内容が決められていることが理解できる。この図
3に示す細分化された動作を実行するための、本発明に
よる計算機のハ−ドウエア構成の実施例を図1に示す。
図1において、計算機は加算器100と各動作ステ−ジ
(ステ−ジ0からステ−ジ5)毎におかれたレジスタ群
で構成される。同種のレジスタはデ−タがステ−ジ順に
転送されるように、シフトレジスタを構成している。一
連のシフトレジスタは用途に応じて、不必要な場合は途
中を欠落させてあり、またプログラム(命令列)でデ−
タを保持する必要のあるものは該シフトレジスタを環状
に接続し、該デ−タが該シフトレジスタ内を循環する構
成としている。以下に、図1の実施例の動作を詳細に説
明する。本実施例による処理装置は加算器100、AC
C110、MDR120、PC140、IR150、デ
−タメモリ160、命令メモリ170から構成されてい
る。ACC110はスレ−ジ0からステ−ジ5までの各
ステ−ジにデ−タを保持するためのレジスタを持つ。各
ステ−ジのレジスタはビット毎に次のステ−ジにデ−タ
を転送できるようステ−ジ方向にシフトレジスタとして
の構成をしている。またプログラム内(命令列)でデ−
タを保持するため、ステ−ジ5のデ−タはステ−ジ0に
転送される構造を持つ。同様に、MDR120はステ−
ジ3からステ−ジ5までのシフトレジスタから構成され
る。MDR120のステ−ジ4ではデ−タメモリ160
からデ−タが転送され、ステ−ジ3ではデ−タメモリ1
60にデ−タを転送する。PC140はステ−ジ0から
ステ−ジ5までのシフトレジスタから構成され、次の命
令アドレスを保持するためステ−ジ5のデ−タはステ−
ジ0に転送される構造を持つ。ステ−ジ0でPC140
のデ−タは命令を読みだすためアドレスとして命令メモ
リ170に転送され、命令メモリは読みだしサイクルに
セットされる。またステ−ジ1には保持するデ−タを1
増加して次の命令アドレスをセットする目的で1加算器
141が付属している。IR150はステ−ジ2からス
テ−ジ5までのシフトレジスタから構成される。ステ−
ジ2でIR150は該命令メモリ170から命令を受け
取る。
【0009】次に、図3に示された動作を図1を使って
説明する。命令読み出しでは、ステ−ジ0ではPC14
0をアドレスレジスタとしてそのデ−タをアドレスとし
てチャンネル171を介して命令メモリ170に送り、
メモリを読み出しサイクルにする。ステ−ジ1ではPC
140のデ−タを1加算器141を使って1増加させ
る。ステ−ジ2では命令メモリ170から命令が読み出
されチャンネル172を介してIR150に転送され
る。またこのステ−ジ2ではIR150にセットされた
命令コ−ドのアドレス部またはCAL命令の復帰先を保
持する特定番地をチャンネル161を介してデ−タメモ
リ160に転送する。ここで、ステ−ジ0からステ−ジ
2をまでデ−タを逐次転送することにより命令読み出し
が実行されることは明らか。またステ−ジ2でIR15
0に転送された命令部により以下のステ−ジ3からステ
−ジ5までの命令の実行が制御される。
説明する。命令読み出しでは、ステ−ジ0ではPC14
0をアドレスレジスタとしてそのデ−タをアドレスとし
てチャンネル171を介して命令メモリ170に送り、
メモリを読み出しサイクルにする。ステ−ジ1ではPC
140のデ−タを1加算器141を使って1増加させ
る。ステ−ジ2では命令メモリ170から命令が読み出
されチャンネル172を介してIR150に転送され
る。またこのステ−ジ2ではIR150にセットされた
命令コ−ドのアドレス部またはCAL命令の復帰先を保
持する特定番地をチャンネル161を介してデ−タメモ
リ160に転送する。ここで、ステ−ジ0からステ−ジ
2をまでデ−タを逐次転送することにより命令読み出し
が実行されることは明らか。またステ−ジ2でIR15
0に転送された命令部により以下のステ−ジ3からステ
−ジ5までの命令の実行が制御される。
【0010】命令実行では、JMP命令の場合は、ステ
−ジ3でIR150からPC140にチャンネル300
を介してジャンプ先アドレスが転送される。CAL命令
では、ステ−ジ3でMDR120にPC140から復帰
先アドレスがチャンネル301を介して転送され、デ−
タメモリ160を書き込みサイクルにする。また、IR
150からPC140にチャンネル300を介してジャ
ンプ先アドレスが転送される。RTN命令ではステ−ジ
4で戻り先のアドレスがMDR120に転送され、ステ
−ジ5で戻り先アドレスがMDR120からPC140
にチャンネル304を介して転送される。JAN命令は
ACC110の符号を判定してJMP命令と同じ動作を
行う。LAC命令ではステ−ジ4でデ−タメモリ160
よりデ−タがMDR120に転送され、ステ−ジ5で転
送されたデ−タがMDR120よりACC110に加算
器100、チャネル306、307を介して転送され
る。SAC命令ではステ−ジ3でACC110からMD
R120に書き込みデ−タがチャンネル302を介して
転送され、同時にデ−タメモリ160を書き込みサイク
ルにする。ADD命令ではステ−ジ4でデ−タメモリ1
60よりデ−タがMDR120に転送され、ステ−ジ5
でACC110とMDR120のデ−タがチャンネル3
05、306より加算器100に供給され、該加算器1
00の出力はチャンネル307を介してACC110に
転送される。以上の説明より命令の実行がステ−ジ3か
らステ−ジ5まで逐次デ−タを次のステ−ジに転送する
ことにより行われることは明らか。ステ−ジ5で命令実
行が完了した後は、再びステ−ジ0に戻り、命令読み出
しを開始する。従って、図1に示す処理装置ではステ−
ジ0からステ−ジ5までを循環して実行することによ
り、プログラム(命令列)を実行することができる。
−ジ3でIR150からPC140にチャンネル300
を介してジャンプ先アドレスが転送される。CAL命令
では、ステ−ジ3でMDR120にPC140から復帰
先アドレスがチャンネル301を介して転送され、デ−
タメモリ160を書き込みサイクルにする。また、IR
150からPC140にチャンネル300を介してジャ
ンプ先アドレスが転送される。RTN命令ではステ−ジ
4で戻り先のアドレスがMDR120に転送され、ステ
−ジ5で戻り先アドレスがMDR120からPC140
にチャンネル304を介して転送される。JAN命令は
ACC110の符号を判定してJMP命令と同じ動作を
行う。LAC命令ではステ−ジ4でデ−タメモリ160
よりデ−タがMDR120に転送され、ステ−ジ5で転
送されたデ−タがMDR120よりACC110に加算
器100、チャネル306、307を介して転送され
る。SAC命令ではステ−ジ3でACC110からMD
R120に書き込みデ−タがチャンネル302を介して
転送され、同時にデ−タメモリ160を書き込みサイク
ルにする。ADD命令ではステ−ジ4でデ−タメモリ1
60よりデ−タがMDR120に転送され、ステ−ジ5
でACC110とMDR120のデ−タがチャンネル3
05、306より加算器100に供給され、該加算器1
00の出力はチャンネル307を介してACC110に
転送される。以上の説明より命令の実行がステ−ジ3か
らステ−ジ5まで逐次デ−タを次のステ−ジに転送する
ことにより行われることは明らか。ステ−ジ5で命令実
行が完了した後は、再びステ−ジ0に戻り、命令読み出
しを開始する。従って、図1に示す処理装置ではステ−
ジ0からステ−ジ5までを循環して実行することによ
り、プログラム(命令列)を実行することができる。
【0011】図1の実施例を使えば、1個のハ−ドウエ
アで複数の命令を同時に処理できる。以上の説明で、命
令は各ステ−ジを逐次実行することを明らかにした。こ
のことは、1個の命令は、複数個あるステ−ジの1この
ステ−ジを専有しているにすぎない。従って、図1の実
施例では、複数個の命令を各ステ−ジに割り当てること
が出来ることを示唆している。すなわち、図1の実施例
では、6個の命令を各ステ−ジに割当て、1個のハ−ド
ウエアで6個の命令を同時に処理できることを示してい
る。さらに、図1の実施例では、各ステ−ジにレジスタ
(ACC,MDR,PC,IR)を置いてあるため各ス
テ−ジ間の相関を無くすことができる。このため相関の
無い複数の命令を同時に実行できるため、従来のパイプ
ライン方式で問題となったブランチ命令による処理効率
の低下は生じない。従って、命令の実行に無効が無いた
め、パイプラインの乱れは生じない。また、異なる複数
のプログラム(命令列)を1個のハ−ドウエアで実行で
きため、本発明はマルチプロセッサと同じ機能をを実現
している。
アで複数の命令を同時に処理できる。以上の説明で、命
令は各ステ−ジを逐次実行することを明らかにした。こ
のことは、1個の命令は、複数個あるステ−ジの1この
ステ−ジを専有しているにすぎない。従って、図1の実
施例では、複数個の命令を各ステ−ジに割り当てること
が出来ることを示唆している。すなわち、図1の実施例
では、6個の命令を各ステ−ジに割当て、1個のハ−ド
ウエアで6個の命令を同時に処理できることを示してい
る。さらに、図1の実施例では、各ステ−ジにレジスタ
(ACC,MDR,PC,IR)を置いてあるため各ス
テ−ジ間の相関を無くすことができる。このため相関の
無い複数の命令を同時に実行できるため、従来のパイプ
ライン方式で問題となったブランチ命令による処理効率
の低下は生じない。従って、命令の実行に無効が無いた
め、パイプラインの乱れは生じない。また、異なる複数
のプログラム(命令列)を1個のハ−ドウエアで実行で
きため、本発明はマルチプロセッサと同じ機能をを実現
している。
【0012】以上の説明では、ステ−ジを6個に分けた
場合を例に本発明を説明したが、より多くのステ−ジに
分解することは可能であり、より多くの命令を同時に実
行できることは明らかである。このステ−ジはゲ−ト一
段まで分解できることは明らか。図1に示す実施例で
は、メモリを命令メモリとデ−タメモリに分けた。この
ため従来の計算機に置かれていたメモリ用の汎用レジス
タ、特にアドレスレジスタ、デ−タレジスタを省略しデ
−タの転送を効率良く実行できる。すなわち、図1で、
命令メモリのアドレスレジスタはステ−ジ0のPCであ
り、命令メモリのデ−タレジスタはステ−ジ2のIRで
ある。またデ−タメモリのアドレスレジスタはステ−ジ
2のIRであり、デ−タレジスタはステ−ジ3またはス
テ−ジ4のMDRである。これらのレジスタの使い方は
本来、計算機に置かれたレジスタの意味に適合してお
り、無駄が無い。これらレジスタ本来の役目を実行させ
無駄の無い構成は、各ステ−ジ毎に役目を割り付けるこ
とができるが図1の実施例で可能となる。さらに、命令
メモリは毎回アクセスされるが、デ−タメモリは実行命
令の内容によりアクセスされる場合とされない場合があ
る。特に、計算機内のデ−タレジスタの数が多くなると
デ−タメモリを参照する頻度が小さくなる。また命令メ
モリの容量は比較的小さくてすむが、デ−タメモリは容
量が大きいものが要求される。以上より、命令メモリは
高速少容量、デ−タメモリは低速大容量のものが適当で
ある。図1の実施例ではこのメモリの階層構造に対処で
きる。
場合を例に本発明を説明したが、より多くのステ−ジに
分解することは可能であり、より多くの命令を同時に実
行できることは明らかである。このステ−ジはゲ−ト一
段まで分解できることは明らか。図1に示す実施例で
は、メモリを命令メモリとデ−タメモリに分けた。この
ため従来の計算機に置かれていたメモリ用の汎用レジス
タ、特にアドレスレジスタ、デ−タレジスタを省略しデ
−タの転送を効率良く実行できる。すなわち、図1で、
命令メモリのアドレスレジスタはステ−ジ0のPCであ
り、命令メモリのデ−タレジスタはステ−ジ2のIRで
ある。またデ−タメモリのアドレスレジスタはステ−ジ
2のIRであり、デ−タレジスタはステ−ジ3またはス
テ−ジ4のMDRである。これらのレジスタの使い方は
本来、計算機に置かれたレジスタの意味に適合してお
り、無駄が無い。これらレジスタ本来の役目を実行させ
無駄の無い構成は、各ステ−ジ毎に役目を割り付けるこ
とができるが図1の実施例で可能となる。さらに、命令
メモリは毎回アクセスされるが、デ−タメモリは実行命
令の内容によりアクセスされる場合とされない場合があ
る。特に、計算機内のデ−タレジスタの数が多くなると
デ−タメモリを参照する頻度が小さくなる。また命令メ
モリの容量は比較的小さくてすむが、デ−タメモリは容
量が大きいものが要求される。以上より、命令メモリは
高速少容量、デ−タメモリは低速大容量のものが適当で
ある。図1の実施例ではこのメモリの階層構造に対処で
きる。
【0013】
【発明の効果】本発明は、ハ−ドウエアの使用効率を高
め、1個のハ−ドウエアで複数個の命令列を同時に実行
できるマルチプロセッサを提供できる。従って、本発明
は、高性能の処理装置を実現する極めて有効な手段を提
供するものである。
め、1個のハ−ドウエアで複数個の命令列を同時に実行
できるマルチプロセッサを提供できる。従って、本発明
は、高性能の処理装置を実現する極めて有効な手段を提
供するものである。
【図1】本発明による処理装置の構造図
【図2】処理装置の命令フォ−マット
【図3】処理装置の動作シ−ケンス
100:加算器、 110:ACC、 120:MD
R、 140:PC、141:1加算器、 150:I
R、 160:デ−タメモリ 170:命令メモリ 161、162、171、172、200、201、2
02、300、301、302、304、305、30
6、307:チャンネル
R、 140:PC、141:1加算器、 150:I
R、 160:デ−タメモリ 170:命令メモリ 161、162、171、172、200、201、2
02、300、301、302、304、305、30
6、307:チャンネル
Claims (5)
- 【請求項1】処理内容を複数のステ−ジに分割し、該ス
テ−ジ毎にレジスタを置き、該レジスタの同種のものは
該ステ−ジの順序に従ってデ−タが順次転送される構造
を有し、1個の命令は複数個の該ステ−ジの1個を専有
し、該専有ステ−ジを進める事により命令を実行するこ
とを特徴とする処理装置。 - 【請求項2】特許請求の範囲第1項において、該複数の
ステ−ジに複数の命令を割り当てる事を特徴とする処理
装置。 - 【請求項3】特許請求の範囲第1項において、該レジス
タの少なくとも1個はステ−ジ間にわたって閉じたル−
プを構成し、該ル−プ内に蓄えられたデ−タは必要に応
じて複数の命令間で保持される事を特徴とする処理装
置。 - 【請求項4】特許請求の範囲第1項において、命令読み
だしメモリとデ−タメモリを参照する構造であり、命令
読みだしのステ−ジでは該命令メモリを参照し、命令実
行ステ−ジでは該デ−タメモリを参照することを特徴と
する処理装置。 - 【請求項5】特許請求の範囲第1項において、該命令メ
モリのアドレスレジスタは命令読みだしのステ−ジにあ
るプログラムカウンタであり、該命令メモリのデ−タレ
ジスタは該ステ−ジのインストラクッションレジスタで
あることを特徴とする処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4097659A JPH05298093A (ja) | 1992-04-17 | 1992-04-17 | 処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4097659A JPH05298093A (ja) | 1992-04-17 | 1992-04-17 | 処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05298093A true JPH05298093A (ja) | 1993-11-12 |
Family
ID=14198195
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4097659A Pending JPH05298093A (ja) | 1992-04-17 | 1992-04-17 | 処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05298093A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0781012A2 (en) | 1995-12-20 | 1997-06-25 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit |
-
1992
- 1992-04-17 JP JP4097659A patent/JPH05298093A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0781012A2 (en) | 1995-12-20 | 1997-06-25 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit |
| US5930518A (en) * | 1995-12-20 | 1999-07-27 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1144934A (zh) | 具有执行送数指令执行部件的数据处理器及其操作方法 | |
| JP2002539519A (ja) | Vliwプロセッサにおけるレジスタ・アドレッシングの間接制御を提供するためのレジスタファイル索引付け方法及び装置 | |
| JPH09311786A (ja) | データ処理装置 | |
| JP2004171573A (ja) | 新規な分割命令トランズアクションモデルを使用して構築したコプロセッサ拡張アーキテクチャ | |
| JPH0766329B2 (ja) | 情報処理装置 | |
| JP2653037B2 (ja) | データ処理システム | |
| JPH07104784B2 (ja) | デジタルデータ処理装置 | |
| JPH07244589A (ja) | 述語、及びブール式を解くためのコンピュータ・システム、及び方法 | |
| US20030033503A1 (en) | Single instruction having opcode and stack control field | |
| RU2375768C2 (ru) | Процессор и способ осуществления операций непрямого чтения и записи регистра | |
| US7024540B2 (en) | Methods and apparatus for establishing port priority functions in a VLIW processor | |
| JPH05298093A (ja) | 処理装置 | |
| JPH03204030A (ja) | コンピュータ用プロセツサ | |
| JPS60178580A (ja) | 命令制御方式 | |
| KR100639146B1 (ko) | 카테시안 제어기를 갖는 데이터 처리 시스템 | |
| JPH05298096A (ja) | 処理装置 | |
| CN112506853A (zh) | 零缓冲流水的可重构处理单元阵列及零缓冲流水方法 | |
| JP3511691B2 (ja) | 演算処理装置 | |
| JPH05298094A (ja) | 処理装置 | |
| JP3102399B2 (ja) | データ処理装置及び方法 | |
| JPS58114250A (ja) | 共有マイクロプロセツサ | |
| Foster | Computer architecture | |
| JP3743155B2 (ja) | パイプライン制御型計算機 | |
| JP2861234B2 (ja) | 命令処理装置 | |
| JPS6153754B2 (ja) |