JPH11312085A - Processor - Google Patents

Processor

Info

Publication number
JPH11312085A
JPH11312085A JP10117659A JP11765998A JPH11312085A JP H11312085 A JPH11312085 A JP H11312085A JP 10117659 A JP10117659 A JP 10117659A JP 11765998 A JP11765998 A JP 11765998A JP H11312085 A JPH11312085 A JP H11312085A
Authority
JP
Japan
Prior art keywords
data
external memory
memory
bits
bit
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
JP10117659A
Other languages
Japanese (ja)
Inventor
Hiromi Watanabe
浩已 渡辺
Hiroshi Yamada
博 山田
Hiroshi Hatae
博 波多江
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 JP10117659A priority Critical patent/JPH11312085A/en
Publication of JPH11312085A publication Critical patent/JPH11312085A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To efficiently execute an SIMD(single instruction multiple data) type arithmetic operation. SOLUTION: Two-face incorporated memories 8 and 9 are provided between an SIMD type arithmetic part 21 and an outside memory 10. While one incorporated memory is connected with the SIMD type arithmetic part so that an arithmetic operation can be executed, the other incorporated memory is connected through a data transfer controller 7 with the outside memory 10 so that pack data necessary for the next arithmetic operation can be read from the outside memory 10, or pack data being an arithmetic result obtained by the arithmetic operation which is already executed by the SIMD type arithmetic part 21 can be written in the outside memory 10 by an instruction controller 1.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はプロセッサに関し、
特に単一のプログラムカウンタで指示される単一の命令
に対して、全ての並列実行演算ユニットが同期して応答
するSIMD(Single Instruction Multiple Data)型
演算を実行する並列処理プロセッサに関する。
TECHNICAL FIELD The present invention relates to a processor.
In particular, the present invention relates to a parallel processor that executes a SIMD (Single Instruction Multiple Data) type operation in which all parallel execution operation units respond synchronously to a single instruction indicated by a single program counter.

【0002】[0002]

【従来の技術】最近のマイクロプロセッサでは、マルチ
メディア用のアーキテクチャが採り入れられている。マ
ルチメディア用のアーキテクチャとは、基本的には、画
素や音声等のデータタイプを扱い、マルチメディア用の
演算命令を備えることである。マルチメディアアーキテ
クチャが扱う画素データタイプは、画素の色成分をワー
ド内に詰め込んだ形式を想定している。例えば、コンピ
ュータの場合、赤(R)、緑(G)、青(B)の色成分
を利用して画素を表現する。
2. Description of the Related Art Recent microprocessors employ an architecture for multimedia. The architecture for multimedia is basically to handle data types such as pixels and audio, and to provide multimedia operation instructions. The pixel data type handled by the multimedia architecture assumes a format in which color components of pixels are packed in words. For example, in the case of a computer, pixels are represented using red (R), green (G), and blue (B) color components.

【0003】この画素データをメモリに蓄える方式とし
て、一つのアドレスの示すワードに、R,G,Bの色成
分を詰めてしまうパックトピクセル型や、同一の色成分
を同一アドレスの示すワードに順番に詰めていくプレー
ン型等がある。いずれも、短いビット数の色成分を、同
一アドレスのワードに詰め込んでいる。これを一般的
に、画素データタイプあるいはパック化データタイプと
呼ぶ。以下では、画像データタイプあるいはパック化デ
ータタイプのデータをパックデータと呼ぶ。また、この
ようなパックデータをオペランドとして扱える命令を、
マルチメディア命令と呼ぶ。基本的に、各要素(色成
分)を分解することなく、要素がパックされた状態で、
一度に演算される。命令に着目すると、1つの命令で、
複数の要素を含むソース及びディスティネーションオペ
ランド1組をデータとして指定し、演算を実行する。以
下これを、SIMD型演算と呼ぶ。
As a method of storing this pixel data in a memory, a word indicated by one address is packed in a pixel type in which R, G, and B color components are packed, or the same color component is stored in a word indicated by the same address. There are plane types and the like that are packed in order. In each case, a color component having a short bit number is packed in a word at the same address. This is generally called a pixel data type or a packed data type. Hereinafter, data of the image data type or the packed data type is referred to as packed data. Also, an instruction that can handle such packed data as an operand is
Called multimedia instructions. Basically, without separating each element (color component), with the elements packed,
It is calculated at once. Focusing on instructions, with one instruction,
A set of a source and a destination operand including a plurality of elements is designated as data, and an operation is executed. Hereinafter, this is called a SIMD type operation.

【0004】一般に、マルチメディア命令によるSIM
D型演算を実行するプロセッサの場合、画素データ等の
データをプロセッサの外部のメモリ(以下、外部メモリ
と呼ぶ。)に記憶し、必要なデータが記憶されている外
部メモリのアドレスを与え、プロセッサ内部のレジスタ
に、データを転送したり、また逆にレジスタのデータを
外部メモリに記憶させたりする。
[0004] Generally, SIM by multimedia command
In the case of a processor that executes a D-type operation, data such as pixel data is stored in a memory external to the processor (hereinafter, referred to as an external memory), and an address of the external memory in which necessary data is stored is given. Data is transferred to an internal register, or conversely, data in the register is stored in an external memory.

【0005】また、比較的に長い時間を要する外部メモ
リへのアクセスを低減するために、キャッシュを設け
て、処理の高速化が図られている。
In order to reduce access to an external memory which requires a relatively long time, a cache is provided to speed up processing.

【0006】なお、上述したマルチメディア命令を備え
るプロセッサの従来技術に関しては、例えば、1996
年5月発行の日経バイト・パソコン技術シリーズ、神保
進一著による「最新マイクロプロセテクノロジ」の第1
96頁〜第208頁に記載されている。
[0006] Regarding the prior art of the processor having the above-mentioned multimedia instruction, for example, in 1996,
1st of "Latest Microprocessor Technology" by Shinichi Jimbo, Nikkei Byte PC Technology Series
Pages 96 to 208.

【0007】[0007]

【発明が解決しようとする課題】従来のマルチメディア
命令によるSIMD型演算を実行するプロセッサでは、
プログラムの命令により、外部メモリ上のパックデータ
をレジスタに取り込み、複数の同時実行演算器によりS
IMD型演算が実行される。即ち、外部メモリからレジ
スタにデータを取り込む処理と、SIMD型演算を順番
に実行する必要がある。このため、比較的長い時間を要
する外部メモリへのアクセスが頻繁に行われる場合、S
IMD型演算は、外部メモリのアクセスによる時間ロス
により十分に性能が上がらないという問題がある。
In a conventional processor for executing a SIMD type operation by a multimedia instruction,
The pack data in the external memory is fetched into the register by the instruction of the program, and the S
An IMD-type operation is performed. That is, it is necessary to sequentially execute a process of taking data from an external memory into a register and a SIMD type operation. For this reason, if access to the external memory requiring a relatively long time is frequently performed, S
The IMD type operation has a problem in that the performance is not sufficiently improved due to a time loss due to access to the external memory.

【0008】また、前述したように、外部メモリへのア
クセスを低減する為に、キャッシュを設ける場合があ
る。この場合もキャッシュ内にSIMD型演算で利用す
るパックデータが存在する場合は、比較的速いアクセス
でSIMD型演算を実行することが可能である。しか
し、キャッシュ内に利用するべきパックデータが無い場
合(キャッシュミスヒット時)には、外部メモリへのア
クセスが必要となり、結局上記の問題が生じる。
As described above, a cache may be provided in order to reduce access to an external memory. In this case as well, if there is pack data to be used in the SIMD-type operation in the cache, the SIMD-type operation can be executed with relatively fast access. However, when there is no pack data to be used in the cache (at the time of a cache mishit), access to the external memory is required, and the above problem eventually occurs.

【0009】また、パック化データタイプでは、ワード
単位のデータの書き込み読み出しを基本とする為に、連
続した二つのパックデータに跨った複数のデータを一つ
のパックデータとして扱う場合には、プログラムの工夫
や、命令の追加等のアーキテクチャ的な工夫を必要とす
る。
In the packed data type, since a plurality of data over two consecutive pack data are treated as one pack data because the writing and reading of data in word units are fundamental, a program Innovative and architectural ideas such as adding instructions are required.

【0010】また、外部メモリとの間にFIFO(First
-In/First-Out)メモリを利用する場合には、SIMD型
演算器で利用するデータの入力順番や、出力順番を考慮
する必要がある。或いは、外部メモリとの間に2ポート
メモリを利用する場合には、SIMD型演算器で演算に
利用しているデータ領域を破壊しないように外部メモリ
からデータを転送する必要があり、データを記憶する領
域の管理が必要となる難点がある。
Further, a FIFO (First Address) is provided between the external memory and the external memory.
When using an (In / First-Out) memory, it is necessary to consider the input order and output order of data used in the SIMD type arithmetic unit. Alternatively, when a two-port memory is used between the external memory and the external memory, it is necessary to transfer data from the external memory so as not to destroy the data area used for the operation in the SIMD type arithmetic unit. There is a drawback that it is necessary to manage the area to be used.

【0011】そこで、本発明の第1の目的は、SIMD
型演算を効率よく実行できるプロセッサを提供すること
である。
Therefore, a first object of the present invention is to provide a SIMD
An object of the present invention is to provide a processor capable of efficiently executing a type operation.

【0012】また、本発明の第2の目的は、連続したパ
ックデータに跨った複数のデータを一つのパックデータ
としてプログラムの工夫や、命令の追加等のアーキテク
チャ的な工夫をSIMD型演算部に付加することなく、
簡単に実行できるプロセッサを提供することである。
A second object of the present invention is to provide a SIMD-type operation unit with a program devising a plurality of data straddling continuous pack data as one pack data and an architectural contrivance such as adding an instruction. Without adding
The object is to provide a processor that can be easily executed.

【0013】[0013]

【課題を解決するための手段】前述した第1の目的を達
成するために、本発明に係るプロセッサはSIMD型演
算部と外部メモリの間に、2面の内蔵メモリを設け、一
方の内蔵メモリがSIMD型演算部に接続されて演算が
実行される間、他方の内蔵メモリは外部メモリに接続し
て次の演算で必要となるパックデータを外部メモリから
読み出したり、或いは既にSIMD型演算部で実行され
た演算結果であるパックデータを外部メモリに書き込ん
だりできるように動的に切り替える手段を設けたことを
特徴とするものである。
In order to achieve the first object, a processor according to the present invention has two internal memories between a SIMD type operation unit and an external memory. Is connected to the SIMD-type operation unit and the operation is executed, while the other internal memory is connected to the external memory and reads out the pack data required for the next operation from the external memory, or the other internal memory is already connected to the SIMD-type operation unit. The present invention is characterized in that a means for dynamically switching is provided so that the pack data, which is the result of the executed operation, can be written to an external memory.

【0014】また、第2の目的を達成するために、本発
明に係るプロセッサは、外部メモリから読み出したパッ
クデータの複数を連結して1つの新たなパックデータと
する回路と、SIMD型演算部で演算されたパックデー
タを分解し、外部メモリ記憶用のパックデータとする回
路とを設ける。
In order to achieve the second object, a processor according to the present invention comprises a circuit for connecting a plurality of pack data read from an external memory into one new pack data, and a SIMD type operation unit. And a circuit for decomposing the pack data calculated in step (1) and using the data as pack data for storage in an external memory.

【0015】この場合、さらに、外部メモリから読み出
されたパックデータの複数から、必要となるデータを集
め一つのパックデータとする回路と、SIMD型演算器
で演算された結果であるパックデータを、外部メモリへ
の記憶用のパックデータとなるように新たなパックデー
タとし、パックデータ内のデータ毎にその書き込み制御
を行えるように構成してもよい。
In this case, furthermore, a circuit for collecting necessary data from a plurality of pack data read from the external memory and forming one pack data, and a pack data which is a result calculated by the SIMD type arithmetic unit are stored in the circuit. Alternatively, new pack data may be used so as to be pack data for storage in an external memory, and writing control may be performed for each data in the pack data.

【0016】[0016]

【発明の実施の形態】以下、本発明に係るプロセッサを
図面を参照しながらさらに詳細に説明する。なお、以下
の説明において、同一参照番号は、同一もしくは類似の
構成要素を示すものとする。また、第2の実施の形態以
降では、第1の実施の形態との相違点を主に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a processor according to the present invention will be described in more detail with reference to the drawings. In the following description, the same reference numerals indicate the same or similar components. In the second and subsequent embodiments, differences from the first embodiment will be mainly described.

【0017】<発明の実施の形態1>図1は、本発明に
係るプロセッサの一実施の形態例を示すブロック図であ
る。図1において、参照符号11はプロセッサを示し、
このプロセッサ11は、単一の命令に対して、全ての並
列実行演算器3〜6が同期して応答する演算器部とレジ
スタ2からなるSIMD型演算部21と、SIMD型演
算部21及び外部メモリ10とパックデータの交換を行
うための内蔵メモリ8,9、外部メモリ10と内蔵メモ
リ8,9との間のパックデータの転送を行うデータ転送
制御器7、SIMD型演算部21及びデータ転送制御器
7に対して命令を発行する命令制御器1から構成され
る。本発明のプロセッサ11の特徴部分は、図1中の点
線で囲まれた部分にある。
<First Embodiment of the Invention> FIG. 1 is a block diagram showing an embodiment of a processor according to the present invention. In FIG. 1, reference numeral 11 indicates a processor,
The processor 11 includes a SIMD-type operation unit 21 including an operation unit and a register 2 to which all the parallel execution operation units 3 to 6 synchronously respond to a single instruction, a SIMD-type operation unit 21 and an external Internal memories 8 and 9 for exchanging pack data with memory 10, data transfer controller 7 for transferring pack data between external memory 10 and internal memories 8 and 9, SIMD type operation unit 21 and data transfer It comprises an instruction controller 1 for issuing an instruction to the controller 7. A feature of the processor 11 of the present invention is a portion surrounded by a dotted line in FIG.

【0018】プロセッサ11の命令制御器1は、最初に
SIMD型演算部21で演算に利用するパックデータ
を、外部メモリ10から内蔵メモリ9にバスS3及びS
4を介して転送するように、信号線S2を通じてデータ
転送制御器7に指示する。この指示に従って、データ転
送制御器7は、外部メモリ10の指示された領域からデ
ータを内蔵メモリ9に転送するように動作する。
The instruction controller 1 of the processor 11 first transfers the pack data used for the operation in the SIMD type operation unit 21 from the external memory 10 to the internal memory 9 via the buses S3 and S3.
4 to the data transfer controller 7 via the signal line S2. In accordance with this instruction, the data transfer controller 7 operates to transfer data from the designated area of the external memory 10 to the internal memory 9.

【0019】次に、命令制御器1は、内蔵メモリ9をS
IMD型演算部21にバスS5を介して接続すると同時
に、バスS4を介して内蔵メモリ8をデータ転送制御器
7に接続し、命令制御器1から信号線S2を介してデー
タ転送制御器7に外部メモリ10内のパックデータを内
蔵メモリ8に転送する命令が発行される。これにより、
データ転送制御器7は、外部メモリ10からパックデー
タを読み出し、内蔵メモリ8に上記パックデータを書き
込むように動作する。この時、内蔵メモリ9は、SIM
D型演算部21に接続されているので、命令制御器1が
信号線S1を通じて発行する命令に応じて、内蔵メモリ
9からレジスタ2にパックデータが転送され、並列実行
演算器3〜6で演算されるように動作する。また、命令
制御器1から信号線S1を通じた命令により、レジスタ
2にある演算結果としてのパックデータを、内蔵メモリ
9に書き込むように動作する。
Next, the instruction controller 1 stores the internal memory 9 in S
At the same time as connecting to the IMD type operation unit 21 via the bus S5, the built-in memory 8 is connected to the data transfer controller 7 via the bus S4, and from the instruction controller 1 to the data transfer controller 7 via the signal line S2. An instruction to transfer the pack data in the external memory 10 to the internal memory 8 is issued. This allows
The data transfer controller 7 operates to read the pack data from the external memory 10 and write the pack data to the internal memory 8. At this time, the built-in memory 9 stores the SIM
Since it is connected to the D-type operation unit 21, the pack data is transferred from the built-in memory 9 to the register 2 in accordance with the instruction issued by the instruction controller 1 through the signal line S1, and the operation is performed by the parallel execution operation units 3 to 6. Behave as if it were. In addition, according to an instruction from the instruction controller 1 through the signal line S1, the operation is performed such that the pack data as the operation result in the register 2 is written into the built-in memory 9.

【0020】図2は、上記動作の概略を示すための説明
図である。ブロック200の示す動作は、外部メモリ1
0内の領域101のパックデータと、内蔵メモリ8内の
パックデータとをデータ転送制御器7で転送制御する一
方、内蔵メモリ9内のパックデータはSIMD型演算部
21と接続されて、命令制御器1からの命令に応じて演
算及び転送制御される。
FIG. 2 is an explanatory diagram showing an outline of the above operation. The operation shown by the block 200 is the operation of the external memory 1
The data transfer controller 7 controls the transfer of the pack data in the area 101 in the area 0 and the pack data in the built-in memory 8, while the pack data in the built-in memory 9 is connected to the SIMD-type operation unit 21 to perform instruction control. Operation and transfer control are performed according to an instruction from the device 1.

【0021】ブロック201の示す動作は、外部メモリ
10内の領域102のパックデータと、内蔵メモリ9内
のパックデータとをデータ転送制御器7で転送制御する
一方、内蔵メモリ8内のパックデータはSIMD型演算
部21と接続されて、命令制御器1からの命令に応じて
演算及び転送制御される。すなわち、上記ブロック20
0及び201の示す動作を、命令制御器1の命令により
切り替えて動作できる点が本発明の特徴である。
The operation shown by the block 201 is to control the transfer of the pack data in the area 102 in the external memory 10 and the pack data in the internal memory 9 by the data transfer controller 7, while the pack data in the internal memory 8 is It is connected to the SIMD type operation unit 21 and is operated and transferred in accordance with an instruction from the instruction controller 1. That is, the block 20
A feature of the present invention is that the operation indicated by 0 and 201 can be switched and operated by the instruction of the instruction controller 1.

【0022】<発明の実施の形態2>図3は、本発明に
係るプロセッサの別の実施の形態例を示すブロック図で
ある。ここでは、外部メモリ10とインターフェイスす
るデータバスS3の幅を16ビットとし、外部メモリ1
0内のパックデータも16ビット単位とする。SIMD
型演算部21内の並列動作演算器3〜6のそれぞれが、
8ビット演算を実行するとすると、SIMD型演算部2
1へのパックデータとしては、32ビットとすることが
好ましい。
<Embodiment 2> FIG. 3 is a block diagram showing another embodiment of a processor according to the present invention. Here, the width of the data bus S3 that interfaces with the external memory 10 is 16 bits,
The pack data in 0 is also in units of 16 bits. SIMD
Each of the parallel operation calculators 3 to 6 in the type calculation unit 21
When an 8-bit operation is executed, the SIMD type operation unit 2
The pack data to 1 is preferably 32 bits.

【0023】本実施の形態例におけるデータ転送制御器
7内には、外部メモリ10からバスS3を介して読み出
した16ビット幅のパックデータを、バスS4を介して
内蔵メモリ8あるいは内蔵メモリ9に転送する際に、2
個の16ビットパックデータを連結して32ビットのパ
ックデータ単位として転送する機能と、内蔵メモリ8あ
るいは内蔵メモリ9から読み出した32ビットのパック
データを分解して2個の16ビットのパックデータ単位
として転送する機能とを有するデータ連結/分解部71
を設ける。転送制御部72は、データ連結/分解部71
と内蔵メモリ8,9との間の32ビットのパックデータ
転送の制御を行う。これにより、外部メモリ10から読
み出した2個の16ビットパッククデータを、32ビッ
トのパックデータとして内蔵メモリ8あるいは内蔵メモ
リ9に書き込むことができる。また、逆に、内蔵メモリ
8あるいは内蔵メモリ9から読み出された32ビットの
パックデータを外部メモリ10の2個の16ビットのパ
ックデータに分解して記憶することも可能となる。
In the data transfer controller 7 of this embodiment, the 16-bit width packed data read from the external memory 10 via the bus S3 is stored in the internal memory 8 or the internal memory 9 via the bus S4. When transferring, 2
A function of concatenating the 16-bit pack data and transferring it as a 32-bit pack data unit; and decomposing the 32-bit pack data read from the internal memory 8 or the internal memory 9 into two 16-bit pack data units Data linking / decomposing unit 71 having a function of transferring data as
Is provided. The transfer control unit 72 includes a data connection / decomposition unit 71
It controls the transfer of 32-bit packed data between the internal memory 8 and the internal memory 8. Thus, the two 16-bit packed data read from the external memory 10 can be written to the built-in memory 8 or the built-in memory 9 as 32-bit packed data. Conversely, it is also possible to decompose the 32-bit pack data read from the internal memory 8 or the internal memory 9 into two 16-bit pack data in the external memory 10 and store them.

【0024】なお、本実施の形態例では、外部メモリ1
0とのインターフェイスのデータバスS3の幅を16ビ
ットとし、内蔵メモリ8,9とのインターフェイスのデ
ータバス幅を32ビットとして説明したが、本発明のプ
ロセッサはこのビット幅に限定されるものではなく、任
意の上記それぞれの外部メモリと内蔵メモリのビット幅
に対応できることは、言うまでもない。
In this embodiment, the external memory 1
Although the width of the data bus S3 of the interface with 0 is 16 bits and the width of the data bus of the interface with the built-in memories 8 and 9 is 32 bits, the processor of the present invention is not limited to this bit width. Needless to say, it is possible to correspond to the bit widths of any of the above external memories and internal memories.

【0025】<発明の実施の形態3>図4は、本発明に
係るプロセッサのまた別の実施の形態例を示すブロック
図である。本実施の形態例においては、前記実施の形態
2で示した図3のデータ転送制御器7内に、更に、バイ
ト境界処理部73を設けている。ここでは、外部メモリ
10とインターフェイスするデータバスS3の幅を16
ビットとし、外部メモリ10内では、8ビットのデータ
2つで1つのパックデータを構成すると仮定する。
<Third Embodiment of the Invention> FIG. 4 is a block diagram showing still another embodiment of the processor according to the present invention. In the present embodiment, a byte boundary processing unit 73 is further provided in the data transfer controller 7 of FIG. 3 shown in the second embodiment. Here, the width of the data bus S3 that interfaces with the external memory 10 is 16
It is assumed that two packs of 8-bit data constitute one pack data in the external memory 10.

【0026】外部メモリ10からパックデータを読み出
す単位が、ワードの先頭から読み出して、内蔵メモリ8
または9に転送する場合、例えば図5(a)に示すよう
に、外部メモリ10のアドレス“00004”から始ま
るワードの上位バイトからアドレス“0000A”から
始まるワードの下位バイトまでのデータ(Data00
004〜Data0000B)を読み出し、同図(b)
に示すように内蔵メモリ8または9のアドレス“100
00”から“10007”に、読み出した上記データを
転送する場合、実施の形態2で説明したような動作によ
り読み出すことが可能である。なお、図5において、
“DataXXXXX”は、外部メモリ10のアドレス
“XXXXX”内のデータを示す。
The unit for reading the pack data from the external memory 10 is the unit for reading from the head of the word,
5 or 9, for example, as shown in FIG. 5A, data (Data00) from the upper byte of the word starting at address “00004” to the lower byte of the word starting at address “0000A” in the external memory 10.
004-Data0000B) and read out the same FIG.
As shown in FIG.
When the read data is transferred from “00” to “10007”, the data can be read by the operation described in the second embodiment.
“DataXXXXXX” indicates data in the address “XXXXXX” of the external memory 10.

【0027】しかし、外部メモリ10からパックデータ
を読み出す単位を、ワードの下位バイト(8ビット)に
あるデータから読み出して、32ビットのパックデータ
とする必要がある場合、例えば図6(a)に示すよう
に、外部メモリのアドレス“00004”から始まるワ
ードの下位バイト(8ビット)のデータを切り出し、次
の読み出されるアドレス“00006”から始まるワー
ドの上位バイト(8ビット)と合成し16ビットにし
て、16ビット・32ビットのデータ加工を行うデータ
連結/分解部71に入力する回路が、図4に示したバイ
ト境界処理部73である。また、逆に、16ビット・3
2ビットのデータ加工を行うデータ連結/分解部71か
らの出力を、外部メモリ10内の16ビットのパックデ
ータに対応するように書き込み制御する動作をバイト境
界処理部73は行う。
However, when it is necessary to read the pack data from the external memory 10 from the data in the lower byte (8 bits) of the word and convert it into 32-bit pack data, for example, FIG. As shown in the figure, the data of the lower byte (8 bits) of the word starting from the address "00004" of the external memory is cut out and combined with the upper byte (8 bits) of the word starting from the next read address "00006" to form 16 bits. A circuit which is input to the data linking / decomposing unit 71 for processing 16-bit / 32-bit data is the byte boundary processing unit 73 shown in FIG. Conversely, 16 bits / 3
The byte boundary processing unit 73 performs an operation of controlling the writing of the output from the data linking / disassembling unit 71 that performs 2-bit data processing so as to correspond to the 16-bit packed data in the external memory 10.

【0028】また、このバイト境界処理部73は、図7
に示すような転送に対しても、その処理を行う。すなわ
ち、図7は、同図(a)に示した外部メモリ10のアド
レス“00000”,“00002”,“0000
4”,…からはじまる各ワードの上位バイト(8ビッ
ト)にあるデータのみを、同図(b)に示したように内
蔵メモリ8または内蔵メモリ9に転送して、32ビット
のパックデータとする場合である。
Further, the byte boundary processing unit 73
The processing is performed also for the transfer shown in FIG. That is, FIG. 7 shows the addresses “00000”, “00002”, and “0000” of the external memory 10 shown in FIG.
Only the data in the upper byte (8 bits) of each word starting from 4 ″,... Is transferred to the internal memory 8 or the internal memory 9 as shown in FIG. Is the case.

【0029】バイト境界変換部73は、外部メモリ10
内の16ビット幅のパックデータから任意のビット幅の
部分を切り出したり、任意のビット部分にデータを埋め
込んだりすることが可能である。
The byte boundary conversion unit 73 includes the external memory 10
It is possible to cut out a portion having an arbitrary bit width from the 16-bit width packed data and to embed data in an arbitrary bit portion.

【0030】以上、本発明の好適な実施の形態例につい
て説明したが、本発明は前記実施の形態例に限定される
ことなく、本発明の精神を逸脱しない範囲内において種
々の設計変更をなし得ることは勿論である。
The preferred embodiment of the present invention has been described above. However, the present invention is not limited to the above-described embodiment, and various design changes can be made without departing from the spirit of the present invention. Obviously you can get it.

【0031】[0031]

【発明の効果】本発明に係るプロセッサによれば、外部
メモリとの間のデータの転送と、SIMD型演算とを並
列して実行することができるため、SIMD型演算器を
効率よく動作させることができ、処理の高速化が図れ
る。
According to the processor of the present invention, the transfer of data to and from the external memory and the SIMD-type operation can be executed in parallel, so that the SIMD-type operation unit can be operated efficiently. And speeding up the processing.

【0032】また、連続したパックデータに跨った複数
のデータを一つのパックデータとするプログラムの工夫
や、命令の追加等のアーキテクチャ的な工夫をSIMD
型演算部に付加することなく、データ転送制御器内で簡
単に実行することができる。
The SIMD is designed to use a plurality of data straddling continuous pack data as one pack data, and to improve the architecture such as adding instructions.
It can be easily executed in the data transfer controller without adding to the type operation unit.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明に係るプロセッサの一実施の形態例を示
すブロック図である。
FIG. 1 is a block diagram showing an embodiment of a processor according to the present invention.

【図2】図1に示した構成のプロセッサの動作の概略を
示す説明図である。
FIG. 2 is an explanatory diagram showing an outline of the operation of a processor having the configuration shown in FIG. 1;

【図3】本発明に係るプロセッサの別の実施の形態例を
示すブロック図である。
FIG. 3 is a block diagram showing another embodiment of the processor according to the present invention.

【図4】本発明に係るプロセッサのまた別の実施の形態
例を示すブロック図である。
FIG. 4 is a block diagram showing another embodiment of the processor according to the present invention.

【図5】図4に示したプロセッサの外部メモリと内蔵メ
モリ間のデータ転送の一例を示す説明図である。
FIG. 5 is an explanatory diagram showing an example of data transfer between an external memory and a built-in memory of the processor shown in FIG. 4;

【図6】図4に示したプロセッサの外部メモリと内蔵メ
モリ間のデータ転送の別の例を示す説明図である。
6 is an explanatory diagram showing another example of data transfer between an external memory and a built-in memory of the processor shown in FIG. 4;

【図7】図4に示したプロセッサの外部メモリと内蔵メ
モリ間のデータ転送のまた別の例を示す説明図である。
FIG. 7 is an explanatory diagram showing another example of data transfer between an external memory and a built-in memory of the processor shown in FIG. 4;

【符号の説明】[Explanation of symbols]

1…命令制御器、2…レジスタ、3〜6…並列実行演算
器、7…データ転送制御器、8,9…内蔵メモリ、10
…外部メモリ、11…プロセッサ、21…SIMD型演
算部、71…データ連結/分解部、72…転送制御部、
73…バイト境界処理部。
DESCRIPTION OF SYMBOLS 1 ... Instruction controller, 2 ... Register, 3-6 ... Parallel execution arithmetic unit, 7 ... Data transfer controller, 8, 9 ... Built-in memory, 10
... external memory, 11 ... processor, 21 ... SIMD type operation unit, 71 ... data connection / disassembly unit, 72 ... transfer control unit,
73 ... Byte boundary processing unit

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】単一のプログラムカウンタで指示される単
一の命令に対して、全ての並列実行演算ユニットが同期
して応答し、トータルNビットの並列処理を行うSIM
D型プロセッサにおいて、 2面の内蔵メモリと、 Mビット(M<N)のバス幅で外部メモリとの間のデー
タの転送を行うデータ転送制御器とを設け、 一方の内蔵メモリが前記データ転送制御器を介して外部
メモリに接続されている時に他方の内蔵メモリが前記並
列実行演算ユニットに接続されるように、前記2つの内
蔵メモリの接続先を動的に切り替え可能な構成にしたこ
とを特徴とするプロセッサ。
1. A SIM in which all parallel execution operation units synchronously respond to a single instruction indicated by a single program counter, and perform parallel processing of a total of N bits.
In the D-type processor, two built-in memories and a data transfer controller for transferring data to and from an external memory with a bus width of M bits (M <N) are provided. The connection destination of the two built-in memories can be dynamically switched so that the other built-in memory is connected to the parallel execution operation unit when connected to an external memory via a controller. Features processor.
【請求項2】外部メモリとのデータの転送を行うビット
幅をMビットとし、 内蔵メモリとのデータ転送を行うビット幅をNビットと
し、 前記データ転送制御器内に、Mビットを複数個連結して
Nビットのデータを単位として外部メモリとの間でデー
タ転送を行う回路と、Nビットのデータを分解して複数
個のMビットを単位として外部メモリとの間でデータ転
送を行う回路とを設けてなる請求項1に記載のプロセッ
サ。
2. A method for transferring data to and from an external memory, wherein the bit width is M bits, the bit width for transferring data to an internal memory is N bits, and a plurality of M bits are connected in the data transfer controller. A circuit that transfers data to and from an external memory in units of N-bit data, and a circuit that separates N-bit data and transfers data to and from the external memory in units of a plurality of M bits. The processor according to claim 1, further comprising:
【請求項3】外部メモリとのデータ交換の最小単位を8
ビットとし、 外部メモリとのデータの転送を行うビット幅を8ビット
のK倍となるMビットとし、 内蔵メモリとのデータ転送を行うビット幅をNビットと
し、 データを外部メモリから内蔵メモリに転送する際に、M
ビットから必要となる部分を8ビット単位に切り出し生
成する機能と、内蔵メモリから外部メモリにデータを転
送する際に、内蔵メモリからのデータを外部メモリ上の
8ビット単位の所要の位置に書き込める機能とを有する
バイト境界変換回路を前記転送制御器内に更に設けたこ
とを特徴とする請求項2に記載のプロセッサ。
3. The minimum unit of data exchange with an external memory is 8
The bit width for transferring data to and from the external memory is M bits, which is K times 8 bits, and the bit width for transferring data to and from the internal memory is N bits. Data is transferred from the external memory to the internal memory. When doing, M
A function that generates a necessary part from bits in 8-bit units and a function that writes data from the internal memory to a required 8-bit unit position on the external memory when transferring data from the internal memory to the external memory 3. The processor according to claim 2, further comprising a byte boundary conversion circuit having the following configuration:
JP10117659A 1998-04-28 1998-04-28 Processor Pending JPH11312085A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10117659A JPH11312085A (en) 1998-04-28 1998-04-28 Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10117659A JPH11312085A (en) 1998-04-28 1998-04-28 Processor

Publications (1)

Publication Number Publication Date
JPH11312085A true JPH11312085A (en) 1999-11-09

Family

ID=14717122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10117659A Pending JPH11312085A (en) 1998-04-28 1998-04-28 Processor

Country Status (1)

Country Link
JP (1) JPH11312085A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002097789A1 (en) * 2001-05-25 2002-12-05 Yamaha Corporation Musical sound reproducer and mobile terminal
US7120781B1 (en) 2000-06-30 2006-10-10 Intel Corporation General purpose register file architecture for aligned simd
JP2010033507A (en) * 2008-07-31 2010-02-12 Toshiba Corp Memory controller and image processing apparatus
JP2010108084A (en) * 2008-10-28 2010-05-13 Toshiba Corp Image processing apparatus
US8219783B2 (en) 2007-07-04 2012-07-10 Ricoh Company, Ltd. SIMD type microprocessor having processing elements that have plural determining units
JP2012190232A (en) * 2011-03-10 2012-10-04 Ricoh Co Ltd Memory access controller
JP2014006685A (en) * 2012-06-25 2014-01-16 Renesas Electronics Corp Semiconductor device
WO2019208566A1 (en) * 2018-04-24 2019-10-31 ArchiTek株式会社 Processor device

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120781B1 (en) 2000-06-30 2006-10-10 Intel Corporation General purpose register file architecture for aligned simd
WO2002097789A1 (en) * 2001-05-25 2002-12-05 Yamaha Corporation Musical sound reproducer and mobile terminal
US7235733B2 (en) 2001-05-25 2007-06-26 Yamaha Corporation Musical tone reproducing apparatus and portable terminal apparatus
US8219783B2 (en) 2007-07-04 2012-07-10 Ricoh Company, Ltd. SIMD type microprocessor having processing elements that have plural determining units
JP2010033507A (en) * 2008-07-31 2010-02-12 Toshiba Corp Memory controller and image processing apparatus
JP2010108084A (en) * 2008-10-28 2010-05-13 Toshiba Corp Image processing apparatus
US8345113B2 (en) 2008-10-28 2013-01-01 Kabushiki Kaisha Toshiba Image processing apparatus and image processing system
JP2012190232A (en) * 2011-03-10 2012-10-04 Ricoh Co Ltd Memory access controller
JP2014006685A (en) * 2012-06-25 2014-01-16 Renesas Electronics Corp Semiconductor device
WO2019208566A1 (en) * 2018-04-24 2019-10-31 ArchiTek株式会社 Processor device
JPWO2019208566A1 (en) * 2018-04-24 2021-04-08 ArchiTek株式会社 Processor device
US11500632B2 (en) 2018-04-24 2022-11-15 ArchiTek Corporation Processor device for executing SIMD instructions

Similar Documents

Publication Publication Date Title
JP2003044273A (en) Data processor and data processing method
JPH11312085A (en) Processor
JPS623461B2 (en)
JPH08212075A (en) Information processor
JP2690406B2 (en) Processor and data processing system
JPH09212360A (en) Data processor
JPS59114677A (en) Vector processor
JPH0377137A (en) Information processor
JPH10334038A (en) Data transfer device
JP2504535B2 (en) Bus unit configuration method
JPS62119639A (en) Program transfer device
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
JP2001084171A (en) Picture processor
JPH10187659A (en) Product sum computing element
JP2622026B2 (en) Register writing control method in central processing unit
JP2657947B2 (en) Data processing device
JPS6362065A (en) Data transfer control system
JPH07120283B2 (en) Microprocessor
JP2000047935A (en) High speed memory access processor
JPH04328664A (en) Bus interface device
JPH0752416B2 (en) Microcomputer system
JPS62194545A (en) Program rewriting device for data flow type computer
JPH02268326A (en) Graphics display device
JPH0282318A (en) Floating-point arithmetic unit
JPH0713765A (en) Fast data transfer device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050322