JPH05197743A - Vector processor - Google Patents
Vector processorInfo
- Publication number
- JPH05197743A JPH05197743A JP14540992A JP14540992A JPH05197743A JP H05197743 A JPH05197743 A JP H05197743A JP 14540992 A JP14540992 A JP 14540992A JP 14540992 A JP14540992 A JP 14540992A JP H05197743 A JPH05197743 A JP H05197743A
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- scalar
- processing unit
- state
- 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)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【目的】 複数の異なるベクトルプロセッサアーキテク
チャが処理可能はベクトルプロセッサを提供する。
【構成】 主記憶1、主記憶制御部2、異なる命令セッ
トアーキテクチャに属するスカラ命令を処理するスカラ
処理ユニット4、スカラ処理ユニット5、これらスカラ
処理ユニットで共有されるベクトル処理ユニット3より
構成される。ベクトル処理ユニット3は複数のスカラ処
理ユニットからのベクトル処理要求を選択的に処理す
る。ベクトル処理ユニット状態レジスタ100がいずれ
の命令セットアーキテクチャに係わるベクトル命令を処
理しているかを表示し、ベクトル処理ユニット状態変更
部101はスカラ処理ユニットからの要求とベクトル処
理ユニットの状態とから要求を選択する。
【効果】 少ないハードウェア量で複数のことなるベク
トルプロセッサアーキテクチャが処理可能なベクトルプ
ロセッサシステムを構築できる。
(57) [Summary] [Objective] To provide a vector processor capable of processing a plurality of different vector processor architectures. [Structure] Main memory 1, main memory control unit 2, scalar processing unit 4 for processing scalar instructions belonging to different instruction set architectures, scalar processing unit 5, and vector processing unit 3 shared by these scalar processing units. .. The vector processing unit 3 selectively processes vector processing requests from a plurality of scalar processing units. The vector processing unit state register 100 indicates which instruction set architecture is involved in the vector instruction, and the vector processing unit state changing unit 101 selects a request from the request from the scalar processing unit and the state of the vector processing unit. To do. [Effect] A vector processor system capable of processing a plurality of different vector processor architectures can be constructed with a small amount of hardware.
Description
【0001】[0001]
【産業上の利用分野】本発明は、スカラ命令を処理する
スカラ処理ユニットと、ベクトル命令を処理するベクト
ル処理ユニットとから構成される科学技術計算用のベク
トルプロセッサ型スーパーコンピュータにおいて、2つ
以上の異なる命令セットアーキテクチャを想定して書か
れたプログラムあるいはコンパイルされたロードモジュ
ールを実行することができるシステムに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a vector processor type supercomputer for scientific and technological calculation, which comprises a scalar processing unit for processing scalar instructions and a vector processing unit for processing vector instructions. The present invention relates to a system capable of executing a program written with a different instruction set architecture or a compiled load module.
【0002】[0002]
【従来の技術】科学技術計算の高速処理を目的として、
ベクトルプロセッサ型のスーパーコンピュータが利用さ
れている。代表的なベクトルプロセッサとしては、クレ
イリサーチ社のCRAY−1、富士通株式会社のVP−
200、富士通株式会社のVP−2000シリーズ、日
立製作所のS−810、日立製作所のS−820、など
がある。これらのスーパーコンピュータに関連する技術
は以下の文献に記されている。2. Description of the Related Art For the purpose of high speed processing of scientific and technological calculations,
A vector processor type super computer is used. Typical vector processors include CRAY-1 from Cray Research, Inc. and VP- from Fujitsu Limited.
200, Fujitsu VP-2000 series, Hitachi S-810, Hitachi S-820, and the like. Technologies related to these supercomputers are described in the following documents.
【0003】クレイリサーチ社の技術は、米国特許第4
128880号。Clay Research's technology is described in US Pat.
128880.
【0004】日立製作所の技術は米国特許第4,541,
046号と第4,617,625号および、日経エレクト
ロニクス1987年12月28日号のページ111−1
25、「シングル・プロセッサで最大性能2GFLOP
SのS−820」。Hitachi technology is described in US Pat. No. 4,541,
No. 046 and No. 4,617,625, and Nikkei Electronics December 28, 1987 page 111-1
25, "Single processor with maximum performance of 2 GFLOP
S's S-820 ".
【0005】上記の示したベクトルプロセッサの命令セ
ットアーキテクチャすなわち、スカラ命令とベクトル命
令からなる命令セットと、レジスタ構成、I/O命令、
割込などで規定される計算機の論理的構造においては、
汎用計算機に備えられているスカラ命令と、科学技術計
算で頻出する配列同士の計算を高速に処理できるベクト
ル命令が定義されている。ベクトルプロセッサは、スカ
ラ命令を処理するスカラ処理ユニット(以下、SPUと
略す)と、ベクトル命令を処理するベクトル処理ユニッ
ト(以下、VPUと略す)から構成される。The above-described vector processor instruction set architecture, that is, an instruction set consisting of a scalar instruction and a vector instruction, a register configuration, an I / O instruction,
In the logical structure of the computer specified by interrupt, etc.,
Scalar instructions provided in general-purpose computers and vector instructions that can process the computations between arrays frequently occurring in scientific and engineering computations at high speed are defined. The vector processor includes a scalar processing unit (hereinafter abbreviated as SPU) that processes a scalar instruction and a vector processing unit (hereinafter abbreviated as VPU) that processes a vector instruction.
【0006】SPUとVPUは協調して一つのプログラ
ムを高速処理するが、SPUとVPUによる命令読出し
は大きく分けて次の2種類のタイプがある。The SPU and the VPU cooperate to process one program at high speed, but the instruction read by the SPU and the VPU are roughly classified into the following two types.
【0007】(1)スカラ命令/ベクトル命令混在型の
アーキテクチャにおいてはSPUが、スカラ命令だけで
なく、ベクトル命令も読み出す。読み出した命令がベク
トル命令である場合には、該ベクトル命令をVPUへ送
り、VPUで実行する。前述のCRAY−1又は富士通
株式会社のVP−200,VP−2000シリーズはこ
のタイプのベクトルプロセッサである。(1) In a mixed scalar instruction / vector instruction architecture, the SPU reads not only scalar instructions but also vector instructions. When the read instruction is a vector instruction, the vector instruction is sent to the VPU and executed by the VPU. The above-mentioned CRAY-1 or VP-200, VP-2000 series of Fujitsu Limited is a vector processor of this type.
【0008】(2)スカラ命令/ベクトル命令分離型の
アーキテクチャではSPUがベクトル処理を起動する命
令を読み出して解読したときに、VPUを起動する。こ
のタイプのベクトルプロセッサは、日立製作所のS−8
01,S−820はこのタイプのベクトルプロセッサで
ある。SPUにおいてVPUを起動する命令(S−81
0やS−820の場合は、Execute Vector Processing
命令、略してEXVP命令)が解読されると、その命令
のオペランドとして指定されているベクトル命令列の所
在場所などを含む情報がベクトル処理起動信号と共にV
PUに送られる。起動されたVPUは、起動情報にした
がって主記憶或はバッファ記憶よりベクトル命令を読み
出し、実行する。一連のベクトル処理が終了したときに
はその旨をSPUに通知する。(2) In the scalar instruction / vector instruction separation type architecture, the VPU is activated when the SPU reads and decodes the instruction for activating the vector processing. This type of vector processor is based on Hitachi's S-8
01, S-820 is a vector processor of this type. Instruction to activate VPU in SPU (S-81
In case of 0 or S-820, Execute Vector Processing
When an instruction (abbreviated as EXVP instruction) is decoded, information including the location of the vector instruction sequence designated as the operand of the instruction and the vector processing start signal are transmitted together with the V information.
Sent to PU. The activated VPU reads the vector instruction from the main memory or the buffer memory and executes it according to the activation information. When a series of vector processing is completed, the SPU is notified of that fact.
【0009】従来のスーパーコンピュータシステムにお
いては、一つの命令セットアーキテクチャのみがサポー
トされ、サポートされている命令セットアーキテクチャ
を前提に書かれたプログラム或いはコンパイルされたプ
ログラムしか処理することができなかった。In the conventional super computer system, only one instruction set architecture is supported, and only a program written or a compiled program can be processed on the basis of the supported instruction set architecture.
【0010】[0010]
【発明が解決しようとする課題】スーパーコンピュータ
で実行されるプログラムの中には、構造計算のライブラ
リといった、多くのユーザが使用する流通ソフトウェア
があり、重要な位置を占めている。これらのプログラム
の中には、特定のベクトルプロセッサの命令セットアー
キテクチャを前提にして作られているものが多く、機械
語で書かれたロードモジュールの形で提供されるものも
ある。Among the programs executed by the supercomputer, there are distributed software used by many users, such as a library for structural calculation, which occupies an important position. Many of these programs are made assuming the instruction set architecture of a specific vector processor, and some are provided in the form of load modules written in machine language.
【0011】スーパーコンピュータを使用するユーザが
流通ソフトウェアその中で使用しようとするとき、その
ソフトウェアが、ユーザが所持するスーパーコンピュー
タとは別の命令セットアーキテクチャを想定して書かれ
たプログラムの場合は、それを使用することができな
い。仮にあるスーパーコンピュータの命令セットアーキ
テクチャにチエーン又は最適化されたFORTRAN言
語のソースプログラムの形で提供されるプログラムが別
の命令セットアーキテクチャを持つスーパーコンピュー
タの中で実行されても高い性能は期待できない。種々の
タイプのスーパーコンピュータが普及し、それぞれのマ
シン上で種々のソフトウェアが開発されるようになる
と、このような状況は頻繁に発生する。また、スーパー
コンピュータは、ハードウェア技術の進歩と歩調を合わ
せて次次と後継機種が開発されて行くが、従来機種の開
発時には知られていなかった新しい技術が後継機種に盛
り込まれ、従来機種とのアーキテクチャの互換性が損な
われる場合がある。このような場合には、従来機種上で
開発されたソフトウェアが後継機種では実行できない場
合も発生する。When a user who uses a supercomputer intends to use the software in distribution software, if the software is a program written assuming an instruction set architecture different from that of the supercomputer possessed by the user, You can't use it. Even if a program provided in the form of a FORTRAN language source program optimized for a certain supercomputer instruction set architecture is executed in a supercomputer having another instruction set architecture, high performance cannot be expected. This situation frequently arises as different types of supercomputers become popular and different software is developed on each machine. In addition, supercomputers will be developed in succession and successor models in line with the progress of hardware technology, but new technologies that were not known at the time of development of conventional models were incorporated into successor models, The architecture compatibility may be broken. In such a case, the software developed on the conventional model may not be executed on the succeeding model.
【0012】従来機種と後継機種の異なる命令セットア
ーキテクチャ、あるいはユーザのソフトウェア遺産を尊
重する立場から、複数の命令セットアーキテクチャを1
つのシステムで処理するには、次のような方式が考えら
れる。From the standpoint of respecting the instruction set architecture of the conventional model and the succeeding model or the user's software heritage, a plurality of instruction set architectures are provided.
The following methods are conceivable for processing by one system.
【0013】即ち、それぞれのアーキテクチャが処理で
きるそれぞれのベクトルプロセッサを用意し、それらを
例えば主記憶を介して密結合するようなシステムにすれ
ば、異なるアーキテクチャが処理できるシステムが構築
できる。主記憶を介したこの密結合技術には、一般に用
いられているマルチプロセッサ構成技術を用いればよ
い。That is, a system capable of processing different architectures can be constructed by preparing respective vector processors capable of processing the respective architectures and making them tightly coupled via, for example, the main memory. For this tightly coupled technique via the main memory, a generally used multiprocessor configuration technique may be used.
【0014】しかしながら、この方式ではシステムの規
模が膨大になり、実現性の乏しいシステム構成となり、
実際これまで実現されていない。このように、従来のベ
クトルプロセッサにおいては、そのプロセッサに固有の
命令セットアーキテクチャを想定して書かれたソフトウ
ェアしか処理することができず、異なる命令セットアー
キテクチャを想定して開発されたプログラムや、新機種
との間にアーキテクチャの互換性がない従来機種上で開
発されたプログラムをうまく実行できないという問題点
があった。However, with this method, the scale of the system becomes enormous, resulting in a system configuration with poor feasibility.
Actually, it has not been realized so far. As described above, the conventional vector processor can process only software written assuming the instruction set architecture peculiar to the processor, and the programs developed assuming the different instruction set architecture and the new vector processor can be processed. There was a problem that programs developed on conventional models could not be executed well because the architecture was not compatible with the model.
【0015】本発明の目的は、このような問題を解決す
るため、複数の異なる命令セットアーキテクチャをサポ
ートするベクトルプロセッサ型のスーパーコンピュータ
を、それぞれの命令セットアーキテクチャをサポートす
る2つのプロセッサを用意するより格段に小さい装置規
模で実現することである。In order to solve such a problem, an object of the present invention is to provide a vector processor type supercomputer which supports a plurality of different instruction set architectures and to provide two processors which support each instruction set architecture. This is to be realized with a significantly smaller device scale.
【0016】本発明の別の目的は、異なったベクトルア
ーキテクチャを想定して作られた種々のソフトウェアを
一つのシステムで処理することができるシステム提供す
る事である。Another object of the present invention is to provide a system capable of processing various software made assuming different vector architectures by one system.
【0017】本発明の別の目的は装置規模が大きく、且
つサポートするアーキテクチャの数より少ない数のベク
トルプロセッサを有するシステムを提供することであ
る。Another object of the present invention is to provide a system having a large device scale and having a number of vector processors less than the number of supported architectures.
【0018】[0018]
【課題を解決するための手段】一般にVPUの装置エレ
メント数に比べてSPUのエレメント数はかなり小さ
い。また、ベクトル処理においては、VPUの利用率は
必ずしも高くない。このことに着目して、例えば、特開
昭61−131169にあるようなデュアルスカラベク
トルプロセッサの構成方式が考案されている。これは、
例えばベクトルプロセッサを構成する際に、2個のSP
Uで1個のVPUを共有し、2個のSPUからのベクト
ル処理指示をVPUが選択的に受けつけて、2つのプロ
グラムを多重に処理しようとするものである。ここで
は、2個のSPUはいずれも同一の命令セットアーキテ
クチャを処理するものでしかない。In general, the number of SPU elements is considerably smaller than the number of VPU device elements. Also, in vector processing, the utilization rate of VPU is not necessarily high. With this in mind, for example, a configuration method of a dual scalar vector processor as disclosed in Japanese Patent Laid-Open No. 61-131169 has been devised. this is,
For example, when configuring a vector processor, two SPs
U shares one VPU, the VPU selectively accepts vector processing instructions from two SPUs, and attempts to multiplex two programs. Here, the two SPUs only handle the same instruction set architecture.
【0019】本発明では、上述のような(a)SPUの
装置規模はVPUに比べてかなり小さいこと、(b)ベ
クトル処理においては、VPUの稼働率は高くないこ
と、の2点に着目し、上述の目的を達成するために、そ
れぞれ以下のような機能をもつ少なくとも2つのSPU
と、少なくとも1つのVPUから構成するベクトルプロ
セッサを構築する。すなわち、サポートする複数の異な
る命令セットアーキテクチャのそれぞれに対応して、そ
れら命令セットアーキテクチャの中のスカラ命令を処理
する複数のSPUと、これらのSPUで共有される、S
PUより少ない数のVPUを用意する。VPUは、異な
る命令セットアーキテクチャに属する種々のベクトル命
令が処理できる機能を持たせる。In the present invention, attention is focused on the following two points: (a) the device scale of the SPU is considerably smaller than that of the VPU, and (b) the VPU operation rate is not high in vector processing. In order to achieve the above-mentioned object, at least two SPUs each having the following functions
And a vector processor consisting of at least one VPU is constructed. That is, corresponding to each of the different instruction set architectures that it supports, a plurality of SPUs that process scalar instructions in those instruction set architectures, and an SPU shared by these SPUs.
Prepare a smaller number of VPUs than PUs. The VPU has the ability to handle various vector instructions belonging to different instruction set architectures.
【0020】[0020]
【作用】このようなSPUとVPUを有するベクトルプ
ロセッサにおいて、VPUは、それを共有する複数の異
なるSPUから送出されるベクトル処理実行指示あるい
はベクトル命令の送出を選択的に受理し、ベクトル処理
を遂行する。すなわち、VPUは、ある命令セットアー
キテクチャに係わるSPUからの指示に従ってその命令
セットアーキテクチャに係わるVPUとして機能するこ
とが可能であると共には、別の命令セットアーキテクチ
ャに係わるSPUからの指示に従ってその命令セットア
ーキテクチャに係わるVPUとして機能することが可能
である。一つのプログラムの処理は、SPUでスカラ命
令を実行するスカラ処理とVPUでベクトル命令を実行
するベクトル処理とから成る。言い換えるとプログラム
の最初から最後までが実行される時にVPUが使い続け
られるわけでは到底ないので、このようにVPUを異な
るSPUで共有してもさほど性能低下を招くものではな
い。In a vector processor having such an SPU and a VPU, the VPU selectively accepts the vector process execution instruction or the vector command sent from a plurality of different SPUs sharing the VPU and executes the vector process. To do. That is, the VPU can function as a VPU related to the instruction set architecture according to the instruction from the SPU related to the instruction set architecture, and at the same time, to the instruction set architecture according to the instruction from the SPU related to the other instruction set architecture. It is possible to function as a VPU. The processing of one program is composed of a scalar processing for executing a scalar instruction in the SPU and a vector processing for executing a vector instruction in the VPU. In other words, it is not possible to continue using the VPU when the program is executed from the beginning to the end. Therefore, even if the VPU is shared by different SPUs, the performance is not degraded so much.
【0021】このように、本発明のベクトルプロセッサ
においては、個々の命令セットアーキテクチャに対応す
るSPUとVPUのペアを用意することなく、より少な
いハードウェア量で複数の異なる命令セットアーキテク
チャをサポートすることが可能になる。As described above, in the vector processor of the present invention, it is possible to support a plurality of different instruction set architectures with a smaller amount of hardware without preparing a pair of SPU and VPU corresponding to each instruction set architecture. Will be possible.
【0022】[0022]
【実施例】以下、本発明の実施例を詳細に説明する。EXAMPLES Examples of the present invention will be described in detail below.
【0023】図1は、本発明の一実施例であるベクトル
プロセッサ型スーパーコンピュータのシステム構成図で
ある。本実施例では、スカラ命令/ベクトル命令分離型
の命令セットアーキテクチャにタイプ分類されるベクト
ルアーキテクチャ(以下、ベクトルアーキテクチャA呼
ぶ)と、スカラ命令/ベクトル命令混在型の命令セット
アーキテクチャであるベクトルアーキテクチャ(以下、
ベクトルアーキテクチャB呼ぶ)の2つの命令セットア
ーキテクチャを処理可能なシステムが示される。ここ
で、ベクトルアーキテクチャA及びベクトルアーキテク
チャBの間で、それぞれのスカラ命令、ベクトル命令の
仕様は全く異なっていても差し支えない。FIG. 1 is a system configuration diagram of a vector processor type supercomputer which is an embodiment of the present invention. In this embodiment, a vector architecture (hereinafter, referred to as vector architecture A) that is type-classified into a scalar instruction / vector instruction separation type instruction set architecture and a vector architecture that is a scalar instruction / vector instruction mixed type instruction set architecture (hereinafter, vector architecture A) ,
A system capable of handling two instruction set architectures (referred to as vector architecture B) is shown. Here, the specifications of the scalar instruction and the vector instruction may be completely different between the vector architecture A and the vector architecture B.
【0024】本実施例のシステムは、主記憶1,主記憶
制御部2,ベクトル処理ユニット(VPU)3、および
2個のスカラ処理ユニット4および5から成る。以下、
スカラ処理ユニット4をSPU−A、スカラ処理ユニッ
ト5をSPU−Bと呼ぶことにする。主記憶制御部2
は、スカラ処理ユニット(SPU−A)4、スカラ処理
ユニット(SPU−B)5、ベクトル処理ユニット(V
PU)3と、主記憶1との間のデータ転送を制御する機
能を持つ。The system of this embodiment comprises a main memory 1, a main memory controller 2, a vector processing unit (VPU) 3, and two scalar processing units 4 and 5. Less than,
The scalar processing unit 4 will be called SPU-A, and the scalar processing unit 5 will be called SPU-B. Main memory control unit 2
Is a scalar processing unit (SPU-A) 4, a scalar processing unit (SPU-B) 5, a vector processing unit (V
It has a function of controlling data transfer between the PU) 3 and the main memory 1.
【0025】アーキテクチャAを前提に書かれたプログ
ラム(プログラムaとする)、アーキテクチャBを前提
に書かれたプログラム(プログラムbとする)は、いず
れも主記憶1におかれる。A program written on the premise of architecture A (referred to as program a) and a program written on the premise of architecture B (referred to as program b) are stored in main memory 1.
【0026】プログラムaはスカラ命令列とこれとは別
の命令列として構成されたベクトル命令列よりなる。こ
のうち、スカラ命令列は、主記憶1よりスカラ処理ユニ
ット(SPU−A)4により読み出され、そこで処理さ
れる。ベクトル命令列は、主記憶1よりベクトル処理ユ
ニット(VPU)3により読み出され、そこで処理され
る。The program a is composed of a scalar instruction sequence and a vector instruction sequence configured as a separate instruction sequence. Of these, the scalar instruction sequence is read from the main memory 1 by the scalar processing unit (SPU-A) 4 and processed there. The vector instruction sequence is read from the main memory 1 by the vector processing unit (VPU) 3 and processed there.
【0027】プログラムbはスカラ命令とベクトル命令
とを混在して含む命令列からなる。この命令列の命令
は、主記憶1よりスカラ処理ユニット(SPU−B)5
により読み出され、そのうちのスカラ命令は、スカラ処
理ユニット(SPU−B)5にて処理され、ベクトル命
令は、ベクトル処理ユニット(VPU)3により処理さ
れる。The program b is composed of an instruction string including a mixture of scalar instructions and vector instructions. The instruction of this instruction sequence is stored in the main processing unit 1 by the scalar processing unit (SPU-B) 5
, The scalar instruction of which is processed by the scalar processing unit (SPU-B) 5, and the vector instruction is processed by the vector processing unit (VPU) 3.
【0028】本システムでは、プログラムaとプログラ
ムbと逐次的に処理してもよいし、並列に処理してもか
まわない。In this system, the program a and the program b may be processed sequentially or in parallel.
【0029】主記憶にあるプログラムaの命令は、スカ
ラ処理ユニット(SPU−A)4およびベクトル処理ユ
ニット(VPU)3に読み出されて実行される。The instructions of the program a in the main memory are read out by the scalar processing unit (SPU-A) 4 and the vector processing unit (VPU) 3 and executed.
【0030】プログラムbの命令は、スカラ処理ユニッ
ト(SPU−B)5に読み出されて実行される。The instructions of the program b are read by the scalar processing unit (SPU-B) 5 and executed.
【0031】スカラ処理ユニット(SPU−A)4とス
カラ処理ユニット(SPU−B)5は独立に同時動作可
能であるので、プログラムa,プログラムbは同時に処
理されてもかまわない。Since the scalar processing unit (SPU-A) 4 and the scalar processing unit (SPU-B) 5 can operate independently at the same time, the programs a and b may be processed at the same time.
【0032】スカラ処理ユニット(SPU−A)4は信
号線201により主記憶制御部2と結合され、主記憶1
との間で命令やデータのやり取りを行う。同様に、スカ
ラ処理ユニット(SPU−B)5は信号線202により
主記憶制御部2と結合され、主記憶1との間で命令やデ
ータのやり取りを行う。本実施例においては、ベクトル
アーキテクチヤAはスカラ処理ユニット(SPU−A)
4とベクトル処理ユニット(VPU)3、また、ベクト
ルアーキテクチャBはスカラ処理ユニット(SPU−
B)5とベクトル処理ユニット(VPU)3とで実現さ
れる。The scalar processing unit (SPU-A) 4 is connected to the main memory control unit 2 by a signal line 201, and the main memory 1
Exchange commands and data with. Similarly, the scalar processing unit (SPU-B) 5 is connected to the main memory control unit 2 by a signal line 202 and exchanges instructions and data with the main memory 1. In this embodiment, the vector architecture A is a scalar processing unit (SPU-A).
4 and vector processing unit (VPU) 3, and vector architecture B is a scalar processing unit (SPU-
B) 5 and a vector processing unit (VPU) 3 are used.
【0033】ベクトル処理ユニット(VPU)3は、ベ
クトル命令制御部(VIU)10,ベクトル命令実行部
(VEU)20を有する。ベクトル命令実行部(VE
U)20はベクトルレジスタ群(VR群)21,加算パ
イプ22,乗算パイプ23,ロード/ストアパイプ2
4,25を有する。一方、ベクトル命令制御部(VI
U)10は、ベクトル命令を解読し、ベクトル命令実行
部(VEU)20に必要な信号を与えて命令の実行を開
始させる機能を持つ。このベクトル命令実行部20は、
ベクトルアーキテクチャAに属するベクトル命令とベク
トルアーキテクチャBに属するベクトル命令のいずれも
処理可能である。The vector processing unit (VPU) 3 has a vector instruction control unit (VIU) 10 and a vector instruction execution unit (VEU) 20. Vector instruction execution unit (VE
U) 20 is a vector register group (VR group) 21, an addition pipe 22, a multiplication pipe 23, a load / store pipe 2
4,25. On the other hand, the vector command controller (VI
The U) 10 has a function of decoding a vector instruction and giving a necessary signal to the vector instruction execution unit (VEU) 20 to start execution of the instruction. This vector instruction execution unit 20
Both vector instructions belonging to vector architecture A and vector instructions B can be processed.
【0034】図2に示すスカラ処理ユニット(SPU−
A)4は、通常の汎用スカラ演算機能のほかに、ベクト
ルアーキテクチャAに特有のEXVP命令というベクト
ル処理起動命令などのスカラ命令を処理する機能を有す
る。The scalar processing unit (SPU-) shown in FIG.
A) 4 has a function of processing a scalar instruction such as a vector process start instruction called an EXVP instruction peculiar to the vector architecture A, in addition to a normal general-purpose scalar operation function.
【0035】このユニットは、具体的には、命令フェッ
チ回路40、キャッシュ41、演算器群42、レジスタ
群49、命令レジスタ43、命令解読部44を有する。Specifically, this unit has an instruction fetch circuit 40, a cache 41, an arithmetic unit group 42, a register group 49, an instruction register 43, and an instruction decoding unit 44.
【0036】命令フェッチ回路40は、プログラムaに
含まれるスカラ命令列を主記憶1から、キャッシュ41
を介して順次フェッチして、命令レジスタ43にセット
する。The instruction fetch circuit 40 stores the scalar instruction sequence contained in the program a from the main memory 1 into the cache 41.
Are sequentially fetched via the, and set in the instruction register 43.
【0037】デコーダ44は、命令レジスタ53にセッ
トされた命令を解読し、その命令が通常のスカラ演算命
令の場合、その実行に必要な信号をキャッシュ41、演
算器群42、レジスタ群49に供給してその命令を実行
する。解読された命令が、ベクトル処理起動命令(EX
VP命令)であるときは、デコーダ44は、信号線47
にベクトル処理起動信号を出力する。The decoder 44 decodes the instruction set in the instruction register 53, and when the instruction is a normal scalar operation instruction, supplies a signal necessary for its execution to the cache 41, the operation unit group 42, and the register group 49. And execute the command. The decoded instruction is a vector processing start instruction (EX
VP command), the decoder 44 uses the signal line 47
The vector processing start signal is output to.
【0038】図2において46は起動情報生成部であ
り、線47にベクトル処理起動信号がデコーダ44から
供給されるたときに、(a)プログラムaに含まれるベ
クトル命令列の先頭アドレス、および(b)その命令列
で処理すべきベクトルデータのベクトル長などのベクト
ル起動情報を、そのベクトル処理起動命令EXVPで指
定される内容に基づいて生成し、信号線48にのせる。In FIG. 2, reference numeral 46 denotes an activation information generation unit which, when a vector processing activation signal is supplied to the line 47 from the decoder 44, (a) the start address of the vector instruction sequence included in the program a, and ( b) Vector activation information such as the vector length of the vector data to be processed by the instruction sequence is generated based on the content specified by the vector processing activation instruction EXVP and placed on the signal line 48.
【0039】こうして、信号線47および48に出力さ
れたベクトル処理起動信号とベクトル処理起動情報はベ
クトル処理ユニットVPU3に送られる。Thus, the vector processing start signal and the vector processing start information output to the signal lines 47 and 48 are sent to the vector processing unit VPU3.
【0040】ベクトル命令制御部10においてはレジス
タ104が、信号線48により送られてくるベクトル起
動情報を、状態制御回路101から供給されるタイミン
グ信号221に応答して取り込み、線222を介してベ
クトル命令フェッチ回路105に供給する。この状態制
御回路101は、後により詳細の述べるように、信号線
47のベクトル処理起動信号に応答してこのタイミング
信号を生成するようになっている。さらにこの回路10
1は、信号線47上のベクトル起動信号に応答して、状
態レジスタ100にアーキテクチャAのベクトル命令を
処理する状態Aを示す情報をセットする。選択器106
は、線224から送られてくる状態情報が状態Aを示し
ているとき、ベクトル命令フェッチ回路105の出力2
23を選択するようになる。ベクトル命令フェッチ回路
105は、レジスタ104から線222を介して送られ
るベクトル処理起動情報のうち、読み出すべきベクトル
命令列の先頭アドレスに従って、次々とベクトル命令を
主記憶1から読出し、ベクトル命令レジスタ102にセ
ットする。ベクトル命令解読実行可能判定部103は、
命令レジスタ102内のベクトル命令を解読し、パイプ
22から25の内のその命令が必要とするパイプやベク
トルレジスタ群21内のその命令が必要とするベクトル
レジスタが使用可能であるかどうかを調べた後、これら
のリソースが利用可能なときに、その命令の解読情報を
ベクトル命令実行部(VEU)20に伝え、ベクトル命
令実行部(VEU)20がこの命令を実行する。こうし
て、ベクトル起動命令EXVPで指定されたベクトル命
令列が実行される。なお、レジスタ104にセットされ
たからベクトル起動情報のうちのベクトル長などの情報
は、この命令列の実行に先立ち、図示しない線を介し
て、ベクトル命令実行部(VEU)20に送られ、この
命令列の実行時に使用される。In the vector instruction control unit 10, the register 104 fetches the vector activation information sent by the signal line 48 in response to the timing signal 221 supplied from the state control circuit 101, and the vector via the line 222. It is supplied to the instruction fetch circuit 105. The state control circuit 101 is adapted to generate this timing signal in response to a vector processing start signal on the signal line 47, as will be described later in detail. Furthermore, this circuit 10
In response to the vector start signal on the signal line 47, 1 sets information indicating the state A for processing the vector instruction of architecture A in the state register 100. Selector 106
Is the output 2 of the vector instruction fetch circuit 105 when the state information sent from the line 224 indicates the state A.
23 will be selected. The vector instruction fetch circuit 105 reads the vector instructions from the main memory 1 one after another according to the start address of the vector instruction sequence to be read from the vector processing start information sent from the register 104 via the line 222, and stores them in the vector instruction register 102. set. The vector instruction decoding feasibility determination unit 103
Decoded the vector instruction in the instruction register 102 and checked whether the pipe required by the instruction in the pipes 22 to 25 or the vector register required by the instruction in the vector register group 21 is available. Later, when these resources are available, the decoding information of the instruction is transmitted to the vector instruction execution unit (VEU) 20, and the vector instruction execution unit (VEU) 20 executes this instruction. In this way, the vector instruction sequence designated by the vector activation instruction EXVP is executed. Information such as the vector length of the vector activation information set in the register 104 is sent to the vector instruction execution unit (VEU) 20 via a line (not shown) prior to the execution of this instruction sequence. Used when executing the column.
【0041】この命令列の中には、ベクトル処理の終了
を示すVENDと呼ぶ命令が含まれている。この命令
は、スカラ命令である。この命令が読された場合には、
ベクトル命令解読実行可能判定部103はベクトル命令
フェッチ回路105にベクトル命令読出しの停止を指示
すると共に、状態変更部101によりベクトル処理ユニ
ット状態保持部100の状態を非動作中にする。This instruction sequence includes an instruction called VEND indicating the end of vector processing. This instruction is a scalar instruction. If this instruction is read,
The vector instruction decoding executability determining unit 103 instructs the vector instruction fetch circuit 105 to stop reading the vector instruction, and the state changing unit 101 makes the state of the vector processing unit state holding unit 100 inactive.
【0042】以上に述べた各素子の動作のさらなる詳細
は米国特許第4,541,046号,第4,617,625
号に述べられている。Further details of the operation of each element described above can be found in US Pat. Nos. 4,541,046 and 4,617,625.
No.
【0043】図3に示すスカラ処理ユニット5(SPU
−B)には、命令フェッチ回路50、キャッシュ51、
演算器群52、レジスタ群59、命令レジスタ53、命
令解読部54がある。The scalar processing unit 5 (SPU shown in FIG. 3)
-B) includes an instruction fetch circuit 50, a cache 51,
There are an arithmetic unit group 52, a register group 59, an instruction register 53, and an instruction decoding unit 54.
【0044】命令フェッチ回路50は、プログラムbに
属するスカラ命令とベクトル命令が混在して含まれる命
令列を主記憶1から、キャッシュ51を介して順次フェ
ッチし、命令レジスタ53にセットする。The instruction fetch circuit 50 sequentially fetches an instruction string including a scalar instruction and a vector instruction belonging to the program b from the main memory 1 via the cache 51 and sets them in the instruction register 53.
【0045】命令レジスタ53にセットされた命令が、
通常のスカラ演算命令であるとき、その命令は、図2で
示したのと同じような動作により処理される。The instruction set in the instruction register 53 is
When the instruction is a normal scalar operation instruction, the instruction is processed by the same operation as shown in FIG.
【0046】命令レジスタ53にセットされた命令がベ
クトル命令であった場合には、解読器54は、信号線5
7にベクトル命令起動信号を供給し、この命令自体(あ
るいはその命令の解読の結果得られた情報でもよい)
を、アンドゲート56に供給する。このベクトル命令起
動信号により、ANDゲート56が開いて、ベクトル命
令が信号線58に転送される。信号線57上のベクトル
命令起動信号と信号線58上の命令は、VIU10に送
られる。When the instruction set in the instruction register 53 is a vector instruction, the decoder 54 uses the signal line 5
The vector instruction activation signal is supplied to 7, and the instruction itself (or the information obtained as a result of decoding the instruction)
Is supplied to the AND gate 56. This vector command activation signal opens the AND gate 56 and transfers the vector command to the signal line 58. The vector instruction activation signal on signal line 57 and the instruction on signal line 58 are sent to VIU 10.
【0047】VIU10では、状態変更部101が、後
に詳述するように、信号線57上のベクトル命令起動信
号に応答して、適当なタイミングで、ベクトルアーキテ
クチャBを処理する状態bを示す情報を状態レジスタ1
00にセットする。この結果、選択器106は、この状
態レジスタ100からの信号224が状態bを示すと
き、スカラ処理ユニット5の出力線58を選択するよう
になる。In the VIU 10, the state changing unit 101 responds to the vector instruction activation signal on the signal line 57 in response to the vector instruction activation signal on the signal line 57, and outputs information indicating the state b for processing the vector architecture B at an appropriate timing. Status register 1
Set to 00. As a result, the selector 106 will select the output line 58 of the scalar processing unit 5 when the signal 224 from the state register 100 indicates the state b.
【0048】従って、信号線58に出力された命令は、
選択器106を介してレジスタ102に取り込まれるこ
とになる。ベクトル命令解読実行可能判定部103は、
この命令を解読して、この命令が必要とする演算パイプ
やベクトルレジスタが使用可であるかどうかを調べた
後、その命令の解読情報をベクトル命令実行部(VE
U)20に伝える。ベクトル命令実行部(VEU)20
は、その命令の解読情報に従って、その命令を実行す
る。Therefore, the command output to the signal line 58 is
It is taken into the register 102 via the selector 106. The vector instruction decoding feasibility determination unit 103
After deciphering this instruction and checking whether the arithmetic pipe and vector register required by this instruction are available, the decipherment information of the instruction is used as the vector instruction execution unit (VE).
U) Tell 20. Vector instruction execution unit (VEU) 20
Executes the instruction according to the decoding information of the instruction.
【0049】以上述べた回路素子の動作のさらなる詳細
は米国特許第4128880号に示されている。Further details of the operation of the circuit elements described above are set forth in US Pat. No. 4,128,880.
【0050】次に、スカラ処理ユニット4(SPU−
A)或いはスカラ処理ユニット5(SPU−B)からの
指示に従い、ベクトル処理ユニット3(VPU)におい
て異なるベクトルアーキテクチャに属するベクトル命令
を処理する方式について説明する。Next, the scalar processing unit 4 (SPU-
A) or a method of processing vector instructions belonging to different vector architectures in the vector processing unit 3 (VPU) according to an instruction from the scalar processing unit 5 (SPU-B) will be described.
【0051】異なるベクトルアーキテクチャに属するベ
クトル命令を処理するベクトル命令制御部10(VI
U)は次のように構成される。図1において、100は
ベクトル処理ユニット3(VPU)の状態を保持するV
PU状態レジスタ、101は、スカラ処理ユニット4
(SPU−A)或いはスカラ処理ユニット5(SPU−
B)からの情報などによりベクトル処理ユニット3(V
PU)の状態の現在の値(3種類の1つ)を管理するた
めに状態値を変更するVPU状態変更部である。102
はベクトル命令を保持するベクトル命令レジスタ、10
3はベクトル命令解読部であり、ベクトル命令レジスタ
103の内容を解読して、その命令の実行に必要な情報
を信号線210を介してベクトル命令実行部20に通知
し、命令の実行を開始させる機能を持つ。104はレジ
スタであり、スカラ処理ユニット4(SPU−A)より
信号線48を介して送られてくるベクトル処理起動情報
(前述)を保持するベクトル処理起動情報保持部であ
る。105はベクトル命令読み出し部であり、レジスタ
104に保持されているベクトル処理起動情報を基にし
て、主記憶1よりベクトル命令を読み出す機能を持つ。
106は選択回路である。また、107はタイマ回路で
ある。The vector instruction control unit 10 (VI) for processing vector instructions belonging to different vector architectures.
U) is constructed as follows. In FIG. 1, 100 is a V that holds the state of the vector processing unit 3 (VPU).
PU status register, 101 is a scalar processing unit 4
(SPU-A) or scalar processing unit 5 (SPU-
The vector processing unit 3 (V
PU) is a VPU state change unit that changes the state value in order to manage the current value of the state (one of three types). 102
Is a vector instruction register for holding vector instructions, 10
A vector instruction decoding unit 3 decodes the contents of the vector instruction register 103, notifies the vector instruction execution unit 20 of information necessary for executing the instruction via the signal line 210, and starts the execution of the instruction. With function. Reference numeral 104 denotes a register, which is a vector processing start information holding unit that holds vector processing start information (described above) sent from the scalar processing unit 4 (SPU-A) via the signal line 48. A vector instruction reading unit 105 has a function of reading a vector instruction from the main memory 1 based on the vector processing start information held in the register 104.
Reference numeral 106 is a selection circuit. Further, 107 is a timer circuit.
【0052】次に、VPU状態レジスタ100に保持さ
れるVPUの状態について説明する。ベクトル処理ユニ
ット3(VPU)には次の3つの状態がある。 (a)フリー。すなわちベクトル命令を実行していない
状態。 (b)スカラ命令/ベクトル命令分離型アーキテクチ
ャ、すなわち、ベクトルアーキテクチャAを処理中。 (c)スカラ命令/ベクトル命令混在型アーキテクチ
ャ、すなわち、ベクトルアーキテクチャBを処理中。Next, the state of the VPU held in the VPU state register 100 will be described. The vector processing unit 3 (VPU) has the following three states. (A) Free. That is, the state where the vector instruction is not executed. (B) The scalar instruction / vector instruction separation type architecture, that is, the vector architecture A is being processed. (C) Scalar / vector instruction mixed architecture, that is, vector architecture B is being processed.
【0053】ベクトルアーキテクチャAに対するソフト
ウェアはBに対するソフトウェアとは重複しない。ベク
トルアーキテクチャA処理中状態とベクトルアーキテク
チャB処理中状態が同時に成り立つことはない。上記3
つの状態の遷移は以下のように行われる。 (a)フリーのときは、信号線47を介して送られてく
るベクトル処理起動信号(ベクトルアーキテクチャAに
係わる)、信号線57を介して送られてくるベクトル命
令送出信号(ベクトルアーキテクチャBに係わる)のい
ずれも受け付け可能である。前者を受け付けたときに
は、ベクトルアーキテクチャA処理中になる。後者を受
け付けたときには、ベクトルアーキテクチャB処理中に
なる。両者が同時に発生した場合には、あらかじめ定め
られた方が選ばれる。 (b)ベクトルアーキテクチャA処理中は、新たなベク
トル処理起動信号47、ベクトル命令送出信号57を受
け付けない。起動されたベクトル処理が完了したときに
は、フリー状態に戻る。 (c)ベクトルアーキテクチャB処理中は、新たなベク
トル処理起動信号47は受け付けない。しかしながら、
ベクトル命令送出信号57はベクトル命令の処理の流れ
に従って順次受け付ける。あらかじめ定められた一定の
時間、信号線57よりベクトル命令送出の要求が来ない
ときにはフリー状態に戻る。The software for vector architecture A does not overlap with the software for B. The vector architecture A processing state and the vector architecture B processing state are never established at the same time. 3 above
The transition of one state is performed as follows. (A) When free, a vector processing activation signal (related to vector architecture A) sent via the signal line 47, and a vector instruction sending signal (related to vector architecture B) sent via the signal line 57 ) Is acceptable. When the former is accepted, the vector architecture A processing is in process. When the latter is accepted, the vector architecture B is being processed. If both occur at the same time, the predetermined one is selected. (B) During the vector architecture A processing, the new vector processing start signal 47 and the new vector instruction transmission signal 57 are not accepted. When the started vector processing is completed, the state returns to the free state. (C) During the vector architecture B processing, the new vector processing start signal 47 is not accepted. However,
The vector command transmission signal 57 is sequentially accepted according to the flow of processing of the vector command. When there is no request for sending a vector command from the signal line 57 for a predetermined time, the state returns to the free state.
【0054】以上の状態遷移が、ベクトル処理起動信号
47、ベクトル命令送出信号57、および信号線220
を介して送られてくるVPU状態レジスタ100の値を
用いて、VPU状態変更部101で管理される。更新さ
れた状態は再びVPU状態レジスタ100に設定され
る。また、タイマ回路107は、ベクトルアーキテクチ
ャB処理中に、ベクトル命令送出信号57が一定時間以
上来ない事を監視するのに用いられる。The above-mentioned state transitions are the vector processing start signal 47, the vector command transmission signal 57, and the signal line 220.
It is managed by the VPU state changing unit 101 using the value of the VPU state register 100 sent via the. The updated state is set in the VPU state register 100 again. Further, the timer circuit 107 is used during the vector architecture B processing to monitor that the vector instruction transmission signal 57 does not come for a predetermined time or longer.
【0055】VPU状態更新部101の動作をさらに詳
しく説明する。図4にVPU状態更新部101の一構成
例を示す。図4と図1とで同じ番号が付されているもの
は同一である。The operation of the VPU state updating unit 101 will be described in more detail. FIG. 4 shows an example of the configuration of the VPU status update unit 101. 4 and FIG. 1 have the same numbers, and are the same.
【0056】図4において、信号線231はタイマ10
7の値をVPU状態更新部101へ通知する信号、信号
線232はタイマ107のための起動信号、信号線23
3はVPU状態レジスタ100にセットする新VPU状
態値(フリー、アーキテクチャA処理中orアーキテクチ
ャB処理中)を送出する信号である。In FIG. 4, the signal line 231 is the timer 10
A signal for notifying the value of 7 to the VPU state updating unit 101, a signal line 232 is a start signal for the timer 107, and a signal line 23.
Reference numeral 3 is a signal for transmitting a new VPU state value (free, processing of architecture A or processing of architecture B) to be set in the VPU status register 100.
【0057】また、信号線234は、ベクトルアーキテ
クチャAにおいて、ベクトル処理終了を指示するVEN
D命令がデコードされたときに、解読器103から通知
を受ける信号である。In the vector architecture A, the signal line 234 is a VEN for instructing the end of vector processing.
This signal is notified from the decoder 103 when the D instruction is decoded.
【0058】1001はVPU状態値220のデコード
器であり、フリー状態のとき信号線2001、ベクトル
アーキテクチャA処理中は信号線2002、ベクトルア
ーキテクチャB処理中は信号線2003がそれぞれオン
になる。Reference numeral 1001 denotes a decoder having a VPU state value 220. In the free state, the signal line 2001, the signal line 2002 during the vector architecture A processing, and the signal line 2003 during the vector architecture B processing are turned on.
【0059】1002はゼロ検出回路であり、タイマ1
07の値がゼロであることを検出したときに信号線20
04がオンになる。Reference numeral 1002 denotes a zero detection circuit, which is a timer 1
When it is detected that the value of 07 is zero, the signal line 20
04 is turned on.
【0060】次に、ベクトル処理開始検出部1003、
ベクトルアーキテクチャA終了検出部1004、ベクト
ルアーキテクチャB継続検出部1005、ベクトルアー
キテクチャB終了/継続検出部1006、VPU次状態
計算部1007の機能を、図5を参照しながら説明す
る。Next, the vector processing start detector 1003,
Functions of the vector architecture A end detection unit 1004, the vector architecture B continuation detection unit 1005, the vector architecture B end / continuation detection unit 1006, and the VPU next state calculation unit 1007 will be described with reference to FIG.
【0061】図5は、VPU状態更新部101の動作を
示す状態遷移図である。状態は、前述のように、フリー
状態、アーキテクチャA処理中、アーキテクチャB処理
中の3状態がある。FIG. 5 is a state transition diagram showing the operation of the VPU state updating unit 101. As described above, there are three states: free state, architecture A processing, and architecture B processing.
【0062】フリー状態31において、SPU−Aから
のベクトル処理起動信号47がオンになると、アーキテ
クチャA処理中32に遷移する。In the free state 31, when the vector processing start signal 47 from the SPU-A is turned on, the state transits to architecture A in process 32.
【0063】一方、フリー状態においてSPU−Bから
のベクトル命令送出信号57がオンになると、アーキテ
クチャB処理中33に遷移する。On the other hand, when the vector command transmission signal 57 from the SPU-B is turned on in the free state, the state transits to the architecture B processing 33.
【0064】信号線47,57が同時にオンになる場合
には、いずれを優先させるかをあらかじめ決定しておけ
ばよい。本実施例では、信号線47を優先させることに
する。When the signal lines 47 and 57 are turned on at the same time, it may be decided in advance which one has priority. In this embodiment, the signal line 47 is given priority.
【0065】この一連の処理を実行するのが、図4のベ
クトル処理開始検出部1003である。検出の結果、信
号線47,57いずれもオフの場合は、VPUの次状態
はフリーであることを検出し、信号線2005がオンに
なる。信号線47がオンとなりVPUの次状態がアーキ
テクチャA処理中となる場合は信号線221がオンとな
る。VPUの次状態がアーキテクチャB処理中となる場
合には、信号線2006がオンとなる。It is the vector process start detection unit 1003 in FIG. 4 that executes this series of processes. When both the signal lines 47 and 57 are off as a result of the detection, it is detected that the next state of the VPU is free, and the signal line 2005 is turned on. When the signal line 47 is turned on and the next state of the VPU is the processing of architecture A, the signal line 221 is turned on. When the next state of the VPU is the process of architecture B, the signal line 2006 is turned on.
【0066】アーキテクチャA処理中に、ベクトル処理
の終了を指示するVEND命令がデコードされると、V
PUの次状態はフリーとなる。これを検出するのが、ベ
クトルアーキテクチャA終了検出部1004である。現
VPU状態がアーキテクチャA処理中(信号線2002
がオン)に信号線47からVEND命令デコード通知が
くると、ベクトルアーキテクチャA終了、検出部100
4により信号線2007がオンにされる。When the VEND instruction for instructing the end of the vector processing is decoded during the architecture A processing, V
The next state of PU is free. The vector architecture A end detection unit 1004 detects this. Current VPU state is under architecture A processing (signal line 2002
Is turned on), the VEND instruction decode notification is sent from the signal line 47, the vector architecture A ends, the detection unit 100
4, the signal line 2007 is turned on.
【0067】アーキテクチャB処理中に、ベクトル命令
送出信号57がオンになると、アーキテクチャB処理中
に、アーキテクチャBのベクトル命令をさらに処理せよ
との指示であるのでVPUの次状態はアーキテクチャB
処理中となる。これを処理するのがベクトルアーキテク
チャB検出部1005である。信号線57がオン、かつ
現VPU状態がアーキテクチャB処理中(信号線200
3オン)を検出すると、信号線2008をオンにする。
また、タイマ107の起動信号232をオンにする。こ
れによりタイマ107はあらかじめ定められた初期値
(非ゼロ)よりカウントダウンを開始する。When the vector instruction output signal 57 is turned on during the architecture B processing, it is an instruction to further process the vector instruction of the architecture B during the architecture B processing, so that the next state of the VPU is the architecture B.
In process. The vector architecture B detection unit 1005 processes this. The signal line 57 is turned on, and the current VPU state is under architecture B processing (signal line 200
3 on), the signal line 2008 is turned on.
Further, the start signal 232 of the timer 107 is turned on. As a result, the timer 107 starts counting down from a predetermined initial value (non-zero).
【0068】アーキテクチャB処理中にベクトル命令送
出信号57がオンにならない場合には、タイマ107の
値により次のように状態遷移する。 (a)タイマ107の値が非ゼロのとき SPU−Bよりベクトル命令送出信号57がさらに到着
するのを待つ。When the vector command transmission signal 57 is not turned on during the processing of architecture B, the state transition is made as follows depending on the value of the timer 107. (A) When the value of the timer 107 is non-zero Wait for further arrival of the vector command transmission signal 57 from the SPU-B.
【0069】VPUの次状態はベクトル命令処理中とな
る。The next state of the VPU becomes the vector instruction processing.
【0070】(b)タイマ107の値がゼロのとき あらかじめ定められた時間(タイマの初期値からカウン
トダウンされてゼロになるまで)ベクトル命令送出指示
がなかったため、さらにしばらく来ないと判断し、VP
Uの次状態はフリーとなる。(B) When the value of the timer 107 is zero It is judged that there is no vector command transmission instruction for a predetermined time (until the timer is counted down from the initial value until it reaches zero), and it is judged that it will not come for a while.
The next state of U becomes free.
【0071】以上の処理を行なうのが、ベクトルアーキ
テクチャB終了/継続検出部1006である。VPUの
次状態がフリーのとき信号線2009、アーキテクチャ
B処理中のときは信号線2010がそれぞれオンにな
る。The vector architecture B end / continuation detecting unit 1006 performs the above processing. When the next state of the VPU is free, the signal line 2009 is turned on, and when the architecture B is being processed, the signal line 2010 is turned on.
【0072】信号線2005〜2010、221はVP
U次状態計算部1007に入力され、VPUの次状態が
決定され、信号線233に送出される。以上のようなV
PU状態更新部101の機能により、スカラ処理ユニッ
ト4(SPU−A)からベクトル処理ユニット3(VP
U)に対するベクトル処理起動の指示と、スカラ処理ユ
ニット5(SPU−B)からベクトル処理ユニット3
(VPU)に対するベクトル命令の送出・実行依頼を選
択的に処理することが可能である。The signal lines 2005 to 2010 and 221 are VP.
It is input to the U next state calculation unit 1007, the next state of the VPU is determined, and the signal is sent to the signal line 233. V as above
By the function of the PU state update unit 101, the scalar processing unit 4 (SPU-A) to the vector processing unit 3 (VP
U) instruction for starting vector processing, and the scalar processing unit 5 (SPU-B) to the vector processing unit 3
It is possible to selectively process the sending / execution request of the vector instruction to the (VPU).
【0073】では次に、スカラ命令/ベクトル命令分離
型のベクトルアーキテクチャA処理中における、ベクト
ル命令制御部10(VIU)の動作を詳細に説明する。
ベクトル処理ユニット3(VPU)がフリー状態のとき
に、信号線47よりベクトル処理起動信号が到着する
と、VPU状態更新部101がVPU状態レジスタ10
0の値をベクトルアーキテクチャA処理中に設定する。
ベクトル処理ユニット3(VPU)の状態がベクトルア
ーキテクチャA処理中に遷移するとき、信号線221が
オンとなり、信号線48を介して送られてくるベクトル
処理起動情報をベクトル処理起動情報保持部104にセ
ットする。ベクトル処理起動情報保持部104に設定さ
れた情報は、信号線222によりベクトル命令読み出し
部105に伝えられる。ベクトル命令読み出し部105
では、信号線222より伝えられる情報を元に、信号線
230を介して主記憶1よりベクトル命令を順次読み出
し、信号線223に乗せる。VPU状態レジスタ100
がベクトルアーキテクチャA処理中を示しているとき
は、選択回路106は信号線224からの指示に従っ
て、信号線223を選択する。従って、ベクトル命令レ
ジスタ102には、ベクトル命令読み出し部105によ
り読み出されたベクトル命令が順次設定される。ベクト
ル命令レジスタ102に設定されているベクトル命令
は、ベクトル命令解読部103により解読されて、実行
に必要な情報が信号線210を介してベクトル命令実行
20(VEU)に送られ、実行される。解読されたベク
トル命令が、日立製作所のS−810のVEND命令
(End of Vector Processing命令)のような、ベクトル
命令列の終端を示す命令のときは、ベクトル命令読み出
し部105におけるそれ以降のベクトル命令の読み出し
を終了し、ベクトル処理ユニット3(VPU)の状態を
フリー状態にする。この一連の動作は従来技術と同様で
あるので図示していない。Next, the operation of the vector instruction control unit 10 (VIU) during the scalar instruction / vector instruction separation type vector architecture A processing will be described in detail.
When the vector processing unit 3 (VPU) is in the free state and a vector processing start signal arrives from the signal line 47, the VPU state updating unit 101 causes the VPU state register 10 to operate.
A value of 0 is set during vector architecture A processing.
When the state of the vector processing unit 3 (VPU) transits to the vector architecture A processing, the signal line 221 is turned on, and the vector processing start information sent via the signal line 48 is stored in the vector processing start information holding unit 104. set. The information set in the vector processing activation information holding unit 104 is transmitted to the vector instruction reading unit 105 via the signal line 222. Vector instruction reading unit 105
Then, based on the information transmitted from the signal line 222, vector instructions are sequentially read from the main memory 1 via the signal line 230 and placed on the signal line 223. VPU status register 100
Indicates that the vector architecture A is being processed, the selection circuit 106 selects the signal line 223 according to the instruction from the signal line 224. Therefore, the vector instructions read by the vector instruction reading unit 105 are sequentially set in the vector instruction register 102. The vector instruction set in the vector instruction register 102 is decoded by the vector instruction decoding unit 103, and information necessary for execution is sent to the vector instruction execution 20 (VEU) via the signal line 210 and executed. When the decoded vector instruction is an instruction indicating the end of the vector instruction sequence, such as the VEND instruction (End of Vector Processing instruction) of S-810 of Hitachi, Ltd., the subsequent vector instruction in the vector instruction reading unit 105. Is finished and the state of the vector processing unit 3 (VPU) is set to the free state. Since this series of operations is similar to that of the conventional technique, it is not shown.
【0074】次に、スカラ命令/ベクトル命令混在型の
ベクトルアーキテクチャB処理中における、ベクトル命
令制御部10(VIU)の動作を詳細に説明する。Next, the operation of the vector instruction control unit 10 (VIU) during the processing of the vector architecture B of the mixed scalar instruction / vector instruction type will be described in detail.
【0075】ベクトル処理ユニット3(VPU)がフリ
ー状態のときに、信号線57よりベクトル命令送出信号
が到着すると、VPU状態更新部101がVPU状態レ
ジスタ100の値をベクトルアーキテクチャB処理中に
設定する。VPU状態レジスタ100がベクトルアーキ
テクチャB処理中を示しているときには、選択回路10
6は信号線224からの指示に従って、信号線58を選
択する。従って、ベクトル命令レジスタ102には、信
号線58によりスカラ処理ユニット5(SPU−B)か
ら送られてくるベクトル命令が設定される。ベクトル命
令レジスタ102に設定されているベクトル命令は、ベ
クトル命令解読部103により解読されて、実行に必要
な情報が信号線210を介してベクトル命令実行20
(VEU)に送られ、実行される。ベクトルアーキテク
チャB処理中は、上述のベクトル命令の処理の進渉と合
わせて、信号線57より送られてくる新たなベクトル命
令送出信号を受理する。ベクトル命令送出信号と共に信
号線58を介して送られてくる新たなベクトル命令は引
き続き処理される。ベクトルアーキテクチャB処理中は
タイマ回路107が動作し、あらかじめ定められた時間
を過ぎても信号線57より新たなベクトル命令送出信号
が到着しなければ、VPU状態更新部101に指示を出
して、VPU状態レジスタ100をフリー状態にする。When the vector command transmission signal arrives from the signal line 57 when the vector processing unit 3 (VPU) is in the free state, the VPU state updating unit 101 sets the value of the VPU state register 100 during the vector architecture B processing. .. When the VPU status register 100 indicates that the vector architecture B is being processed, the selection circuit 10
6 selects the signal line 58 according to the instruction from the signal line 224. Therefore, in the vector instruction register 102, the vector instruction sent from the scalar processing unit 5 (SPU-B) via the signal line 58 is set. The vector instruction set in the vector instruction register 102 is decoded by the vector instruction decoding unit 103, and information necessary for execution is transmitted via the signal line 210 to the vector instruction execution unit 20.
Sent to (VEU) and executed. During the processing of the vector architecture B, a new vector command transmission signal transmitted from the signal line 57 is received together with the progress of the processing of the vector command described above. New vector commands sent via signal line 58 along with the vector command send signal are still processed. The timer circuit 107 operates during the processing of the vector architecture B, and if a new vector command transmission signal does not arrive from the signal line 57 even after a predetermined time has passed, it issues an instruction to the VPU state updating unit 101 to output the VPU. The status register 100 is set to the free state.
【0076】以上に説明したように、図1に示したベク
トル処理ユニット3(VPU)はVPU状態更新部10
1、選択回路106の2つの小規模回路を付加した構成
となっている。As described above, the vector processing unit 3 (VPU) shown in FIG.
The configuration is such that two small circuits, that is, the selection circuit 106 and the selection circuit 106 are added.
【0077】以上に説明したように、本実施例において
は、スカラ命令/ベクトル命令分離型、スカラ命令/ベ
クトル命令混在型という異なるベクトルプロセッサアー
キテクチャを、それぞれのアーキテクチャを処理するス
カラ処理ユニット及びベクトル処理ユニットを個別に用
意して装置規模を拡大することを避け、それぞれのアー
キテクチャに専用のスカラ処理ユニットが一つのベクト
ル処理ユニットを共有するという規模の小さい構成でサ
ポートすることができる。ベクトルプロセッサにおいて
は、ベクトル命令を処理するときだけベクトル処理ユニ
ットが使用され、絶えず使うわけではないので、本実施
例のように、複数のスカラ処理ユニットで一つのベクト
ル処理ユニットを共有しても、それぞれのアーキテクチ
ャのプログラムの性能が大きく低下することはない。As described above, in this embodiment, different vector processor architectures of the scalar instruction / vector instruction separation type and the scalar instruction / vector instruction mixed type are used as the scalar processing unit and the vector processing for processing the respective architectures. It is possible to support a small-scale configuration in which a scalar processing unit dedicated to each architecture shares one vector processing unit, while avoiding increasing the scale of the device by preparing each unit individually. In the vector processor, the vector processing unit is used only when processing a vector instruction and is not constantly used. Therefore, even if one vector processing unit is shared by a plurality of scalar processing units as in this embodiment, The performance of the program of each architecture does not decrease significantly.
【0078】なお、本実施例においては、異なる2つの
ベクトルアーキテクチャを、2つの異なるスカラ処理ユ
ニットが1つのベクトル処理ユニットを共有する構成で
サポートする例を説明したが、サポートするベクトルア
ーキテクチャの数や種類がさらに多くても本発明の本質
を阻害するものではない。例えば、サポートするベクト
ルアーキテクチャが3種類であれば、それぞれのアーキ
テクチャに対応する少なくとも3つのスカラ処理ユニッ
トと、それらのスカラ処理ユニットからの要求を選択的
に処理するベクトル命令制御部を持つベクトル処理ユニ
ットを少なくとも1つ用意すればよい。また、本実施例
においては、スカラ命令/ベクトル命令分離型と、スカ
ラ命令/ベクトル命令混在型という2つのまったく異な
るアーキテクチャを対象とするシステム構成を示した
が、あるスカラ命令/ベクトル命令分離型のベクトルア
ーキテクチャと、別のスカラ命令/ベクトル命令分離型
ベクトルアーキテクチャとの組み合わせ、或いは、ある
スカラ命令/ベクトル命令混在型のベクトルアーキテク
チャと、別のスカラ命令/ベクトル命令混在型ベクトル
アーキテクチャとの組み合わせ、といったケースでも差
し支えない。In the present embodiment, an example has been described in which two different vector architectures are supported by a configuration in which two different scalar processing units share one vector processing unit. Even if there are more kinds, the essence of the present invention is not impaired. For example, if three types of vector architectures are supported, at least three scalar processing units corresponding to the respective architectures, and a vector processing unit having a vector instruction control unit that selectively processes requests from those scalar processing units. It is sufficient to prepare at least one. Further, in the present embodiment, the system configuration for two completely different architectures of the scalar instruction / vector instruction separated type and the scalar instruction / vector instruction mixed type is shown. A combination of a vector architecture and another scalar instruction / vector instruction separation type vector architecture, or a combination of a certain scalar instruction / vector instruction mixed type vector architecture and another scalar instruction / vector instruction mixed type vector architecture You can use a case.
【0079】[0079]
【発明の効果】以上説明したように、本発明によれば、
異なる命令セットアーキテクチャのそれぞれに対応した
スカラ処理ユニットと、それらのスカラ処理ユニットで
共有される、スカラ処理ユニットよりは少ない数のベク
トル処理ユニットにより、異なるベクトルアーキテクチ
ャをサポートすることができ、異なったベクトルアーキ
テクチャを想定して作られたソフトウェアを一つのシス
テムで処理することができる。さらに、装置規模の大き
いベクトル処理ユニットの数をサポートするアーキテク
チャの数より少ない数で実現できるので、システムの規
模とコストをかなり押さえた形で、複数のベクトルアー
キテクチャをサポートするシステムが構築できるという
利点がある。As described above, according to the present invention,
Different vector architectures can be supported by scalar processing units corresponding to different instruction set architectures and a smaller number of vector processing units shared by the scalar processing units than the scalar processing units. One system can process software created assuming the architecture. Furthermore, since it can be realized with a number smaller than the number of architectures that support a large number of vector processing units, it is possible to construct a system that supports multiple vector architectures while significantly reducing the system size and cost. There is.
【図1】本発明の一実施例のベクトルプロセッサシステ
ムの構成を示す図である。FIG. 1 is a diagram showing the configuration of a vector processor system according to an embodiment of the present invention.
【図2】本発明の一実施例のベクトルプロセッサシステ
ムの構成要素の一つである、スカラ命令/ベクトル命令
分離型の命令セットアーキテクチャのスカラ命令及びベ
クトル処理起動を行うスカラ処理ユニットの構成を示す
図である。FIG. 2 shows a configuration of a scalar instruction unit of a scalar instruction / vector instruction separation type instruction set architecture and a scalar processing unit for activating vector processing, which is one of the constituent elements of the vector processor system of one embodiment of the present invention. It is a figure.
【図3】本発明の一実施例のベクトルプロセッサシステ
ムの構成要素の一つである、スカラ命令/ベクトル命令
混在型の命令セットアーキテクチャのスカラ命令及びベ
クトルのベクトル処理ユニットへの送出を行うスカラ処
理ユニットの構成を示す図である。FIG. 3 is a scalar processing for sending a scalar instruction and a vector to a vector processing unit of a scalar instruction / vector instruction mixed type instruction set architecture, which is one of the constituent elements of the vector processor system of an embodiment of the present invention. It is a figure which shows the structure of a unit.
【図4】本発明の一実施例によるベクトル処理ユニット
の詳細を示す図である。FIG. 4 is a diagram showing details of a vector processing unit according to an embodiment of the present invention.
【図5】本発明の一実施例による状態変更部における状
態遷移を説明する図である。FIG. 5 is a diagram illustrating state transition in a state changing unit according to an embodiment of the present invention.
4…スカラ処理ユニット、5…スカラ処理ユニット、6
…ベクトル処理ユニット、10…ベクトル命令制御部
(VIU)、20…ベクトル命令実行部(VEU)、1
00…ベクトル処理ユニット状態レジスタ、101…ベ
クトル処理ユニット状態更新部。4 ... Scalar processing unit, 5 ... Scalar processing unit, 6
... Vector processing unit, 10 ... Vector instruction control unit (VIU), 20 ... Vector instruction execution unit (VEU), 1
00 ... Vector processing unit status register, 101 ... Vector processing unit status updating unit.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 北井 克佳 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 榊原 忠幸 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Katsuka Kitai 1-280, Higashi Koikeku, Kokubunji, Tokyo Inside Central Research Laboratory, Hitachi, Ltd. (72) Inventor Tadayuki Sakakibara 1-280, Higashi Koikeku, Kokubunji, Tokyo Hitachi, Ltd. Central Research Laboratory
Claims (14)
と、 該主記憶と該第1、第2のスカラ処理ユニットに接続さ
れたベクトル処理ユニットとを有し、 該第1のスカラー処理ユニットは、 該主記憶からそれぞれがスカラ命令である第1の命令列
を順次フェッチする第1の命令フェッチ回路と、 該フェッチされた第1の命令列のなかの複数のスカラ命
令(複数)が要求する演算を実行する第1のスカラ演算
回路と、 該フェッチされた第1の命令列の中の、少なくとも一つ
のスカラ命令に応答して該ベクトル処理ユニットを起動
する回路とを有し、 該第2のスカラー処理ユニットは、 該主記憶からそれぞれがスカラ命令またはベクトル命令
である第2の命令列を順次フェッチする第2の命令フェ
ッチ回路と、 該フェッチされた第2の命令列に含まれる複数のスカラ
命令が要求する演算を実行する第2のスカラ演算回路
と、 該フェッチされた第1の命令列の中の複数のベクトル命
令を該ベクトル処理ユニットに転送する回路とを有し、 該ベクトル処理ユニットは、 該起動回路からの起動に応答して、それぞれがベクトル
命令からなる第3の命令列を該主記憶からフェッチする
第3の命令フェッチ回路と、 該フェッチされた第3の命令列に含まれる複数のベクト
ル命令が要求する処理と、該転送回路からの複数のベク
トル命令の転送に応答して、該転送された複数のベクト
ル命令が要求する処理を切り替えて実行するベクトル処
理回路とを有するベクトル処理装置。1. A main memory, a first and a second scalar processing unit connected to the main memory, and a vector processing unit connected to the main memory and the first and second scalar processing units. The first scalar processing unit has a first instruction fetch circuit for sequentially fetching a first instruction string, each of which is a scalar instruction, from the main memory; and the first instruction string fetched. A first scalar operation circuit that executes an operation required by a plurality of scalar instructions in the vector processing unit, and the vector processing unit in response to at least one scalar instruction in the fetched first instruction sequence. A second instruction fetch circuit for sequentially fetching a second instruction string, which is a scalar instruction or a vector instruction, from the main memory, A second scalar operation circuit that executes an operation required by a plurality of scalar instructions included in the fetched second instruction sequence, and a plurality of vector instructions in the fetched first instruction sequence A circuit for transferring to the processing unit, the vector processing unit, in response to the activation from the activation circuit, a third instruction sequence for fetching a third instruction sequence, each of which is a vector instruction, from the main memory. The fetch circuit, the processing requested by the plurality of vector instructions included in the fetched third instruction sequence, and the plurality of transferred vector instructions in response to the transfer of the plurality of vector instructions from the transfer circuit. Vector processing device having a vector processing circuit for switching and executing processing requested by the user.
する第1、第2のスカラー処理ユニットと、 前記ストレージから受け取ったベクトル命令、前記第2
スカラーユニットから受け取ったベクトル命令を処理す
るベクトル処理ユニットを有し、 前記第1スカラー処理ユニットは、 前記ストレージからフェッチされるスカラー命令が要求
する演算を実行するための演算手段と、 前記ストレージからフェッチされた、ベクトル処理ユニ
ットを起動するための命令に応答して、前記ベクトル処
理ユニットを起動する手段を有し、 前記第2スカラー処理ユニットは、 前記ストレージからフェッチされた命令のうちのスカラ
ー命令が要求する演算を実行するための演算手段と、 前記ストレージからフェッチされた命令のうちのベクト
ル命令を前記ベクトル処理ユニットに送る手段を有し、 前記ベクトル処理ユニットは、 前記ストレージからフェッチされる命令が一連のベクト
ル命令列の終わりを示す終了命令であることを解読する
手段と、 前記起動命令と前記終了命令に応じて、パラメータを変
化させて保持するための状態変更手段とを有するベクト
ル処理装置。2. A first and a second scalar processing unit for processing instructions fetched from storage, vector instructions received from the storage, and second vector processing instructions.
A vector processing unit for processing a vector instruction received from a scalar unit, wherein the first scalar processing unit executes an operation required by a scalar instruction fetched from the storage; and a fetch unit from the storage. Responsive to the instruction for activating the vector processing unit, the second scalar processing unit having means for activating the vector processing unit, wherein the scalar instruction of the instructions fetched from the storage is Computation means for executing the required computation, and means for sending a vector instruction of the instructions fetched from the storage to the vector processing unit, the vector processing unit, the instruction fetched from the storage Marks the end of a sequence of vector instructions Means for decrypting the completion of an instruction, in response to the activation command and the end command, the vector processor and a state change means for holding by changing the parameters.
に基づき前記ベクトル処理ユニットが前記ストレージを
アクセスしてベクトル命令を処理する第1の命令セット
アーキテクチャの状態と、前記第2スカラー処理ユニッ
トが前記ストレージをアクセスしてスカラー命令、ベク
トル命令を処理する第2の命令セットアーキテクチャの
状態とを区別して表す状態値を保持する状態レジスタを
有する請求項2記載のベクトル処理装置。3. The state changing means includes a free state of the vector processing unit, a state of a first instruction set architecture in which the vector processing unit accesses the storage to process a vector instruction based on the start instruction, 3. The vector processing according to claim 2, wherein the second scalar processing unit has a status register that holds a status value that distinguishes between a status of a second instruction set architecture that accesses the storage and processes a scalar instruction and a vector instruction. apparatus.
カラー処理ユニットからのベクトル命令が所定の期間、
前記場態変更手段に到達しないことを検出するタイマー
手段を有し、 前記状態変更手段は前記タイマー手段の出力に応じて前
記状態値を前記フリー状態値とする請求項2記載のベク
トル処理装置。4. The vector processing unit is configured such that a vector instruction from the second scalar processing unit is for a predetermined period,
The vector processing device according to claim 2, further comprising a timer unit that detects that the state change unit has not reached, and the state change unit sets the state value to the free state value according to an output of the timer unit.
らのベクトル命令到達を表す信号によって計数開始され
るカウンタを有し、 前記状態変更手段は、前記カウンタの出力がゼロになる
ことを検出して前記状態値を前記フリー状態値とする請
求項3記載のベクトル処理装置。5. The timer means has a counter which starts counting by a signal indicating arrival of a vector command from the state changing means, and the state changing means detects that the output of the counter becomes zero. 4. The vector processing device according to claim 3, wherein the state value is set to the free state value.
フェッチする手段と、前記パラメーターに応じて前記フ
ェッチ手段からのベクトル命令と前記第2スカラー処理
ユニットからのベクトル命令とのいずれかを選択するセ
レクタを有し、 前記セレクタの出力は前記解読手段に送られる請求項2
記載のベクトル処理装置。6. The state changing means fetches a vector instruction from the storage according to the start instruction, the vector instruction from the fetch means according to the parameter, and the vector instruction from the second scalar processing unit. And a selector for selecting either of the two, and the output of the selector is sent to the decoding means.
Vector processing device described.
段の出力を前記状態変更手段に与えるための線を有する
請求項6記載のベクトル処理装置。7. The vector processing device according to claim 6, wherein said vector processing unit has a line for giving the output of said decoding means to said state changing means.
に基づき前記ベクトル処理ユニットが前記ストレージを
アクセスしてベクトル命令を処理する第1の命令セット
アーキテクチャの状態と、前記第2スカラー処理ユニッ
トが前記ストレージをアクセスしてスカラー命令、ベク
トル命令を処理する第2の命令セットアーキテクチャの
状態と、前記第3スカラー処理ユニットが前記ストレー
ジをアクセスしてスカラー命令、ベクトル命令を処理す
る第3の命令セットアーキテクチャの状態とを区別して
表す状態値を保持する状態レジスタを有する請求項1記
載のベクトル処理装置。8. A third scalar processing unit, said state means comprising: a first state in which said vector processing unit accesses said storage to process a vector instruction based on a free state of said vector processing unit and said start instruction. An instruction set architecture state, a second instruction set architecture state in which the second scalar processing unit accesses the storage to process a scalar instruction and a vector instruction, and a third scalar processing unit accesses the storage. 2. The vector processing device according to claim 1, further comprising a state register that holds a state value that distinguishes between a scalar instruction and a state of a third instruction set architecture that processes a vector instruction.
応じてそれぞれ設けられストレージからフェッチされる
命令を処理するための少なくとも2つのスカラー処理ユ
ニットと、 前記ストレージから受け取ったベクトル命令と前記スカ
ラーユニットから受け取ったベクトル命令を処理するた
めのベクトル処理ユニットと、 前記スカラー処理ユニットの一つは、 前記ストレージからフェッチされるスカラー命令を処理
するための演算手段と、前記ストレージからフェッチさ
れる命令が前記ベクトル処理ユニットを起動するための
命令である事を解読するため解読手段を有し、 前記ベクトル処理ユニットは、 前記少なくとも2つのスカラー処理ユニットに接続され
前記ストレージからフェッチされる命令が一連のベクト
ル命令列の終わりを示す終了命令である事を解読する解
読手段と、 前記起動命令と前記終了命令に応じて、パラメータを変
化させて保持するための状態変更手段とを有し、 前記状態変更手段は、 前記ベクトル処理ユニットのフリー状態、前記起動命令
に基づき前記ベクトル処理ユニットが前記ストレージを
アクセスしてベクトル命令を処理する第1の命令セット
アーキテクチャーの状態と前記第2スカラー処理ユニッ
トが前記ストレージをアクセスしてスカラー命令、ベク
トル命令を処理する第2の命令セットアーキテクチャー
の状態とを区別して表す状態値を保持する状態レジスタ
を有するベクトル処理装置。9. At least two scalar processing units, each provided according to a different instruction set architecture, for processing instructions fetched from a storage, a vector instruction received from the storage and a vector received from the scalar unit. A vector processing unit for processing instructions, one of the scalar processing units is an arithmetic means for processing a scalar instruction fetched from the storage, and an instruction fetched from the storage is the vector processing unit. The vector processing unit has decoding means for decoding that it is an instruction to activate, and the vector processing unit is connected to the at least two scalar processing units, and an instruction fetched from the storage terminates a series of vector instruction sequences. Indication And a state changing unit for changing and holding a parameter according to the start instruction and the end instruction. The state changing unit is the vector processing unit. State of the first instruction set architecture in which the vector processing unit accesses the storage to process the vector instruction based on the start instruction and the second scalar processing unit accesses the storage to perform the scalar instruction. , A vector processing device having a state register for holding a state value which distinguishably represents a state of a second instruction set architecture for processing a vector instruction.
変更手段に接続され前記一つのスカラー処理ユニットか
らのベクトル命令が所定の期間前記状態変更手段に到達
しないことを検出するタイマー手段を有し、 前記状態変更手段は前記タイマー手段の出力に応じて前
記状態値を前記フリー状態値とする請求項9記載のベク
トル処理装置。10. The vector processing unit includes timer means connected to the state changing means for detecting that a vector command from the one scalar processing unit does not reach the state changing means for a predetermined period, 10. The vector processing device according to claim 9, wherein the state changing unit sets the state value to the free state value according to the output of the timer unit.
らのベクトル命令到達を表す信号によって計数開始され
るカウンタを有し、 前記状態変更手段は前記カウンタの出力がゼロになるこ
とを検出して前記状態値を前記フリー状態値とする請求
項10記載のベクトル処理装置。11. The timer means has a counter that starts counting by a signal indicating arrival of a vector command from the state changing means, and the state changing means detects that the output of the counter becomes zero, and The vector processing device according to claim 10, wherein a state value is the free state value.
フェッチする手段と、前記パラメーターに応じて前記フ
ェッチ手段からのベクトル命令と前記第2スカラー処理
ユニットからのベクトル命令とのいずれかを選択するセ
レクタとを有し、前記セレクタの出力は前記解読手段に
送られる請求項9記載のベクトル処理装置。12. The state changing means fetches a vector instruction from the storage according to the start instruction, the vector instruction from the fetch means according to the parameter, and the vector instruction from the second scalar processing unit. 10. The vector processing device according to claim 9, further comprising a selector that selects either of the two, and the output of the selector is sent to the decoding means.
くとも2つの命令セットアーキテクチャを処理できるベ
クトル処理装置であって、 該2つの命令セットアーキテクチャのそれぞれに対応し
て該命令セットアーキテクチャに属するスカラ命令が処
理可能な複数のスカラ処理ユニットと、 該スカラ処理ヤニットの少なくとも2個以上と結合さ
れ、該2つの命令セットアーキテクチャのそれぞれに属
するベクトル命令を実行可能であり、それらのスカラ処
理ユニットからの指示を選択的に受理して、指示を発信
したスカラ処理ユニットに対応する命令セットアーキテ
クチャのベクトル命令を処理する少なくとも1個のベク
トル処理ユニットとから構成されるベクトル処理装置。13. A vector processing device capable of processing at least two instruction set architectures comprising a scalar instruction and a vector instruction, wherein a scalar instruction belonging to the instruction set architecture is processed corresponding to each of the two instruction set architectures. A plurality of possible scalar processing units, coupled with at least two or more of the scalar processing units, capable of executing vector instructions belonging to each of the two instruction set architectures, and selecting instructions from those scalar processing units. A vector processing unit for processing a vector instruction of the instruction set architecture corresponding to the scalar processing unit that has received the instruction and issued the instruction.
カラー命令列の中に置かれ該ベクトル命令列の最後に該
列の最後を指示する命令を有する命令セットアーキテク
チャの処理に応じた状態を表す値をセットする手段と、 ベクトル命令とスカラー命令が混在して含まれる命令セ
ットアーキテクチャの処理に応じた状態を表す値をセッ
トする手段と、 前記セット手段に接続され前記状態値を保持するための
レジスタとを有する請求項13記載のベクトル処理装
置。14. A state according to the processing of an instruction set architecture in which an instruction for executing a Veccle instruction sequence is placed in a scalar instruction sequence and an instruction for instructing the end of the sequence is provided at the end of the vector instruction sequence. Means for setting a value for indicating, a means for setting a value for indicating a state according to processing of an instruction set architecture including a mixture of vector instructions and scalar instructions, and for holding the state value connected to the setting means 14. The vector processing device according to claim 13, further comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14540992A JPH05197743A (en) | 1991-06-06 | 1992-06-05 | Vector processor |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3-134731 | 1991-06-06 | ||
| JP13473191 | 1991-06-06 | ||
| JP14540992A JPH05197743A (en) | 1991-06-06 | 1992-06-05 | Vector processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05197743A true JPH05197743A (en) | 1993-08-06 |
Family
ID=26468754
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14540992A Pending JPH05197743A (en) | 1991-06-06 | 1992-06-05 | Vector processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05197743A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015532990A (en) * | 2012-09-27 | 2015-11-16 | インテル・コーポレーション | Processor having multiple cores, shared core extension logic, and multiple shared core extension use instructions |
-
1992
- 1992-06-05 JP JP14540992A patent/JPH05197743A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015532990A (en) * | 2012-09-27 | 2015-11-16 | インテル・コーポレーション | Processor having multiple cores, shared core extension logic, and multiple shared core extension use instructions |
| US9582287B2 (en) | 2012-09-27 | 2017-02-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
| JP2017224342A (en) * | 2012-09-27 | 2017-12-21 | インテル・コーポレーション | Processor and apparatus |
| US10061593B2 (en) | 2012-09-27 | 2018-08-28 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
| US10901748B2 (en) | 2012-09-27 | 2021-01-26 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
| US10963263B2 (en) | 2012-09-27 | 2021-03-30 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
| US11494194B2 (en) | 2012-09-27 | 2022-11-08 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
| US12086603B2 (en) | 2012-09-27 | 2024-09-10 | Intel Corporation | Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4745547A (en) | Vector processing | |
| JPH0766329B2 (en) | Information processing equipment | |
| EP0381471B1 (en) | Method and apparatus for preprocessing multiple instructions in a pipeline processor | |
| US4740893A (en) | Method for reducing the time for switching between programs | |
| JP4883824B2 (en) | Method and apparatus for influencing subsequent instruction processing in a data processor | |
| US20040205747A1 (en) | Breakpoint for parallel hardware threads in multithreaded processor | |
| JPH03129433A (en) | Device and method for parallel processing | |
| JPH0463430B2 (en) | ||
| KR19980018070A (en) | Matching and Synchronizing Asymmetric Single-Chip Dual Multiprocessors | |
| JPH07175666A (en) | Data processor and interrupt request processing method thereof | |
| JPH0622035B2 (en) | Vector processor | |
| US5497496A (en) | Superscalar processor controlling fetching of instructions based upon number of empty instructions registers detected for each cycle | |
| US5530881A (en) | Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs | |
| US6738895B1 (en) | Method and system for substantially registerless processing | |
| JPH0743648B2 (en) | Information processing equipment | |
| US4967339A (en) | Operation control apparatus for a processor having a plurality of arithmetic devices | |
| JP2643087B2 (en) | Program processing method and computer system | |
| US6704863B1 (en) | Low-latency DMA handling in pipelined processors | |
| JPH05197743A (en) | Vector processor | |
| JP2916605B2 (en) | Computer processor | |
| JPS6161416B2 (en) | ||
| EP1050805B1 (en) | Transfer of guard values in a computer system | |
| JP2001142700A (en) | Power Effective Processing Mechanism in Pipeline Processor | |
| JPS6134188B2 (en) | ||
| JP3493768B2 (en) | Data processing device |