JP2000235490A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2000235490A
JP2000235490A JP11038585A JP3858599A JP2000235490A JP 2000235490 A JP2000235490 A JP 2000235490A JP 11038585 A JP11038585 A JP 11038585A JP 3858599 A JP3858599 A JP 3858599A JP 2000235490 A JP2000235490 A JP 2000235490A
Authority
JP
Japan
Prior art keywords
data
bus
dram
width
extended
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
JP11038585A
Other languages
Japanese (ja)
Inventor
Hiromi Watanabe
浩已 渡辺
Hiroshi Hatae
博 波多江
Junko Nakase
純子 中瀬
Takashi Nakamoto
貴士 中本
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 JP11038585A priority Critical patent/JP2000235490A/en
Publication of JP2000235490A publication Critical patent/JP2000235490A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve the availability of an on-chip DRAM. SOLUTION: The bit width of a bus B15 of a DRAM 15 is made wider than the bit width of inside data buses 115 and 116 of a data processing unit 11 and a local data bus B11 for performing access from the data processing unit 11 to a DRAM, and an extended arithmetic unit 12 for executing an arithmetic operation to data whose bit width is wider than that of data operated by an arithmetic unit 113 in the data processing unit 11 and an extended data bus B12 whose bit width is wide connected with the extended arithmetic unit 12 are provided on the same LSI. Then, the connection of the data bus is switched by a bus selector 13 so that one part of the DRAM bus B15 can be connected with the local data bus B11 at the time of performing access from the data processing unit 11 to the DRAM 15 and the DRAM bus B15 can be connected with the extended data bus B12 at the time of performing access from the extended arithmetic unit 12 to the DRAM 15.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、ダイナミックラン
ダムアクセスメモリ(本明細書ではDRAMと呼ぶ)と
マイクロプロセッサが単一の大規模集積回路(LSI)
チップ上に配置されているマイクロプロセッサに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a large-scale integrated circuit (LSI) in which a dynamic random access memory (herein referred to as DRAM) and a microprocessor are integrated.
It relates to a microprocessor arranged on a chip.

【0002】[0002]

【従来の技術】図8に示すように、従来の典型的なマイ
クロプロセッサ900は、単一のLSIチップ上に構成
され、DRAM1000はこのLSIの外部に設けられ
ている。マイクロプロセッサ900は、DRAM100
0その他の周辺デバイスとをデータバス接続するための
バスインターフェイス回路930と、DRAM1000
からローカルデータバスB11に読み出されたプログラ
ム命令とデータを一時記憶するキャッシュ940と、キ
ャッシュ940またはDRAM1000からデータバス
(システムバスとも呼ばれる)B17に読み出されたプ
ログラム命令をデコードする命令デコーダ920と、命
令デコーダ920で解読されたプログラム命令を実行す
るためのデータ処理ユニット11等から構成される。デ
ータ処理ユニット11は、プログラムカウンタ(PC)
111、データのロード/ストアユニット112、算術
論理付加演算ユニット(ALU)113、レジスタ群1
14、これらを接続する内部データバス115から11
7等からなる。これらのデータバスのビット幅はたとえ
ば32ビットである。データ処理ユニット11のプログ
ラムカウンタ111が指定する命令を、外部データバス
B17、バスインタフェース回路930、ローカルデー
タバスB11を通じてDRAM1000からあるいはロ
ーカルデータバスB11を介してキャッシュ940から
読み出し、命令デコーダ920がその命令を解読し、デ
ータ処理ユニット11がその命令を実行する。ローカル
データバスB11、外部データB17のビット幅もたと
えば32ビットである。命令の実行時には、プログラム
カウンタ111、ロード/ストアユニット112、算術
付加演算ユニット113、あるいはレジスタ群114等
を動作させるとともに、キャッシュ940またはDRA
M1000等をアクセスしてデータあるいは命令を読み
書きする。
2. Description of the Related Art As shown in FIG. 8, a typical conventional microprocessor 900 is formed on a single LSI chip, and a DRAM 1000 is provided outside the LSI. The microprocessor 900 includes the DRAM 100
A bus interface circuit 930 for data bus connection with other peripheral devices, and a DRAM 1000
A cache 940 for temporarily storing program instructions and data read from the cache 940 or the local data bus B11, and an instruction decoder 920 for decoding program instructions read from the cache 940 or the DRAM 1000 to the data bus (also referred to as a system bus) B17. , A data processing unit 11 for executing the program instruction decoded by the instruction decoder 920, and the like. The data processing unit 11 includes a program counter (PC)
111, data load / store unit 112, arithmetic logic addition operation unit (ALU) 113, register group 1
14, internal data buses 115 to 11 connecting them
Consists of 7 mag. The bit width of these data buses is, for example, 32 bits. The instruction designated by the program counter 111 of the data processing unit 11 is read from the DRAM 1000 via the external data bus B17, the bus interface circuit 930, the local data bus B11 or from the cache 940 via the local data bus B11, and the instruction decoder 920 reads the instruction. And the data processing unit 11 executes the instruction. The bit widths of local data bus B11 and external data B17 are, for example, 32 bits. When the instruction is executed, the program counter 111, the load / store unit 112, the arithmetic additional operation unit 113, the register group 114, etc. are operated, and the cache 940 or the DRA is operated.
The M1000 or the like is accessed to read or write data or instructions.

【0003】最近では、マイクロプロセッサとDRAM
とを一つのLSI上に配置したシステムLSIも提案さ
れている。たとえば、”A Multimedia 32b RISC Microp
rocessor with 16Mb DRAM,”Digest of Technical Pape
rs of 1996 IEEE International Solid-State Circuits
Conference, PP. 216-217 (1996)参照。図9に示すよう
に、このようなマイクロプロセッサ800では、DRA
M15以外の部分がマイクロプロセッサ部分であり、こ
のマイクロプロセッサ部分が搭載されているLSIチッ
プ上にDRAM15を配置する。このDRAM15はた
とえば256ビットのデータをこのビット幅を有するデ
ータバス(以下ではDRAMバスも呼ぶ)B15を介し
て読み書きできる。DRAM15、キャッシュ16、バ
スインタフェース回路17、命令デコーダ830がデー
タバスB15に接続されている。バスインターフェイス
回路17は、データバスB15と、図示しない外部DR
AMやその他の周辺デバイスとの間でデータを外部デー
タバスB17を介して交換するための回路である。外部
データバスB17は、消費電力の問題や外部デバイスと
の整合性の問題等から、例えば16ビット幅のデータバ
スである。実際には、バスインタフェース回路17に
は、データバスB15との間で256ビットのデータを
交換するためのバッファが含まれているが簡単化のため
に図示してない。さらに、命令デコーダ14Bの入力側
に256ビットのデータを保持できる命令キューがある
が簡単化のために図示していない。したがって、DRA
M15と、命令キュー(図示せず)、キャッシュ16、
バスインタフェース回路17との間では256ビットの
データを交換できる。したがって、マイクロプロセッサ
部分が搭載された一つのLSIチップ上にDRAM15
を配置することにより、マイクロプロセッサ部分とDR
AM15との間のデータ転送量を上げると同時に消費電
力の低減が期待される。
Recently, microprocessors and DRAMs
Are also proposed on a single LSI. For example, "A Multimedia 32b RISC Microp
rocessor with 16Mb DRAM, ”Digest of Technical Pape
rs of 1996 IEEE International Solid-State Circuits
See Conference, PP. 216-217 (1996). As shown in FIG. 9, in such a microprocessor 800, the DRA
A portion other than the M15 is a microprocessor portion, and the DRAM 15 is arranged on an LSI chip on which the microprocessor portion is mounted. The DRAM 15 can read and write, for example, 256-bit data via a data bus (hereinafter also referred to as a DRAM bus) B15 having this bit width. The DRAM 15, the cache 16, the bus interface circuit 17, and the instruction decoder 830 are connected to the data bus B15. The bus interface circuit 17 includes a data bus B15 and an external DR (not shown).
This is a circuit for exchanging data with the AM and other peripheral devices via the external data bus B17. The external data bus B17 is, for example, a 16-bit width data bus due to a problem of power consumption and a problem of compatibility with an external device. Actually, the bus interface circuit 17 includes a buffer for exchanging 256-bit data with the data bus B15, but is not shown for simplicity. Further, an instruction queue capable of holding 256-bit data is provided on the input side of the instruction decoder 14B, but is not shown for simplification. Therefore, DRA
M15, an instruction queue (not shown), a cache 16,
256-bit data can be exchanged with the bus interface circuit 17. Therefore, the DRAM 15 is mounted on one LSI chip on which the microprocessor is mounted.
By placing the microprocessor part and DR
It is expected that the amount of data transferred to and from the AM 15 will be increased and at the same time the power consumption will be reduced.

【0004】しかし、データ処理ユニット11がDRA
M15との間で交換するデータのビット幅は、演算器1
13やレジスタ群114の構成から、DRAM15のバ
ス幅よりも狭いバス幅(例えば32ビット)のままであ
る。このためローカルデータバスB11のビット幅はこ
の狭いビット幅のままであり、ロード/ストアユニット
112から、DRAM15をアクセスする場合には、2
56ビットから32ビットを選択するデータ選択器82
0が使用される。データ選択器820はたとえばビット
幅32ビットのローカルデータバスB11に接続され、
DRAMバスB15上の適当なビット位置にある32ビ
ットのデータをローカルデータバスB11に転送しある
いはローカルデータバスB11上の32ビットのデータ
をデータバスB15上の適当なビット位置に転送するア
ライナを含んでいる。
However, if the data processing unit 11
The bit width of the data exchanged with M15 is
Due to the configuration of the register 13 and the register group 114, the bus width (for example, 32 bits) is smaller than the bus width of the DRAM 15. Therefore, the bit width of the local data bus B11 remains at this narrow bit width, and when the DRAM 15 is accessed from the load / store
Data selector 82 for selecting 32 bits from 56 bits
0 is used. Data selector 820 is connected to a local data bus B11 having a bit width of 32 bits, for example.
Includes an aligner for transferring 32-bit data at an appropriate bit position on DRAM bus B15 to local data bus B11 or transferring 32-bit data on local data bus B11 to an appropriate bit position on data bus B15. In.

【0005】[0005]

【発明が解決しようとする課題】従来のオンチップのD
RAMを有するマイクロプロセッサでは、DRAMに接
続されたデータバスのビット幅は広いが、DRAMとマ
イクロプロセッサ部との間で転送されるデータのビット
幅は、マイクロプロセッサ部内の演算器が処理できるビ
ット幅と同じであり、DRAMの有する広いビット幅が
演算に利用できていない。一方、マイクロプロセッサと
しては、すでに作成されたプログラムを実行するために
は、従来のビット幅の演算も実行できる必要がある。
SUMMARY OF THE INVENTION Conventional on-chip D
In a microprocessor having a RAM, the data bus connected to the DRAM has a wide bit width. The wide bit width of the DRAM cannot be used for the operation. On the other hand, in order to execute a program that has already been created, it is necessary for a microprocessor to be able to execute a conventional operation with a bit width.

【0006】したがって、本発明の目的は、オンチップ
のDRAMから読み出されるデータに対して、従来の狭
いビット幅の演算を実行でき、かつ、従来よりビット幅
の大きな演算も実行できるマイクロプロセッサを提供す
ることである。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a microprocessor capable of performing a conventional narrow bit width operation on data read from an on-chip DRAM and also capable of executing a larger bit width operation. It is to be.

【0007】[0007]

【課題を解決するための手段】上記目的を達成するため
に、本発明によるマイクロプロセッサは、単一の半導体
集積回路チップ上に設けられ、そのマイクロプロセッサ
は、命令が指定する処理を実行するためのデータ処理ユ
ニットが処理するデータの幅である第1のデータ幅より
広く、第2のデータ幅以下のデータ幅のデータに対する
演算を実行できる拡張演算ユニットと、上記第2のデー
タ幅以上の第3のデータ幅のデータを読み書きできるダ
イナミックランダムアクセスメモリ(DRAM)とを有
する。
To achieve the above object, a microprocessor according to the present invention is provided on a single semiconductor integrated circuit chip, and the microprocessor executes a process specified by an instruction. An extended operation unit that is wider than a first data width, which is the width of data processed by the data processing unit, and that can execute an operation on data having a data width equal to or less than a second data width; A dynamic random access memory (DRAM) capable of reading and writing data having a data width of 3.

【0008】上記データ処理ユニットとの間でデータを
交換するための上記第1のデータ幅を有する第1のデー
タバスが上記データ処理ユニットに接続され、上記拡張
演算ユニットとの間でデータを交換するための上記第2
のデータ幅を有する第2のデータバスが、上記拡張演算
ユニットに接続され、上記DRAMとの間で読み書きす
るデータを交換するための上記第3のデータ幅を有する
第3のデータバスが上記DRAMに接続され、上記第
1、第2のデータバスの一方を切り換えて上記第3のデ
ータバスに接続するためのバス選択回路とがさらに設け
られる。
A first data bus having the first data width for exchanging data with the data processing unit is connected to the data processing unit, and exchanges data with the extended operation unit. The second to do
A second data bus having a data width of the DRAM is connected to the extended operation unit, and a third data bus having a third data width for exchanging data to be read / written with the DRAM is connected to the DRAM. And a bus selection circuit for switching one of the first and second data buses to connect to the third data bus.

【0009】さらに、本発明による他のマイクロプロセ
ッサは、単一の半導体集積回路チップ上に設けられ、そ
のマイクロプロセッサは、命令が指定する処理を実行す
るためのデータ処理ユニットが処理するデータの幅であ
る第1のデータ幅より広く、第2のデータ幅以下のデー
タ幅のデータに対する演算を実行できる拡張演算ユニッ
トと、上記第2のデータ幅以上の第3のデータ幅のデー
タを読み書きできるダイナミックランダムアクセスメモ
リ(DRAM)とを有する。
Further, another microprocessor according to the present invention is provided on a single semiconductor integrated circuit chip, and the microprocessor has a data width to be processed by a data processing unit for executing a process specified by an instruction. An extended operation unit that can execute an operation on data having a data width wider than the first data width and is equal to or smaller than the second data width, and a dynamic unit that can read and write data having a third data width equal to or larger than the second data width. A random access memory (DRAM).

【0010】上記データ処理ユニットとの間でデータを
交換するための上記第1のデータ幅を有する第1のデー
タバスが、上記データ処理ユニットに接続され、上記拡
張演算ユニットとの間でデータを交換するための上記第
2のデータ幅を有する第2のデータバスが、上記拡張演
算ユニットに接続され、上記DRAMとの間で読み書き
するデータを交換するための上記第3のデータ幅を有す
る第3のデータバスが、上記DRAMに接続され、上記
第1のデータ幅よりも狭い第4のデータ幅を有し、上記
マイクロプロセッサの外部の装置に接続されるための第
4のデータバスが設けられる。
A first data bus having the first data width for exchanging data with the data processing unit is connected to the data processing unit and exchanges data with the extended operation unit. A second data bus having the second data width for exchanging is connected to the extended operation unit, and a second data bus having the third data width for exchanging data to be read / written with the DRAM. A third data bus is connected to the DRAM, has a fourth data width smaller than the first data width, and is provided with a fourth data bus for connection to a device external to the microprocessor. Can be

【0011】さらに、上記第1のデータバスと上記第4
のデータバスとの間のデータ転送を制御するバスインタ
フェース回路と、上記第2、第4のデータバスの一方を
切り換えて上記第3のデータバスに接続するためのバス
選択回路とが設けられる。
Further, the first data bus and the fourth data bus are connected to each other.
And a bus selection circuit for switching one of the second and fourth data buses to connect to the third data bus.

【0012】[0012]

【発明の実施の形態】以下、本発明に係るマイクロプロ
セッサを図面に示したいくつかの実施の形態を参照して
さらに詳細に説明する。なお、以下においては、同じ参
照番号は同じものもしくは類似のものを表わすものとす
る。また、発明の第2の実施の形態以降においては、発
明の第1の実施の形態との相違点を主に説明するに止め
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a microprocessor according to the present invention will be described in more detail with reference to some embodiments shown in the drawings. In the following, the same reference numerals represent the same or similar ones. Further, in the second and subsequent embodiments of the invention, only the differences from the first embodiment of the invention will be mainly described.

【0013】<発明の実施の形態1>図1に示すマイク
ロプロセッサ1は、単一大規模集積回路(LSI)チッ
プ上の設けられ、所定のビット幅(たとえば32ビッ
ト)以下のビット幅のデータを処理するマイクロプロセ
ッサ部(以下ではデータ処理ユニットと呼ぶ)11の他
に、このビット幅より大きな所定のビット幅(たとえば
256ビット)以下のビット幅のデータに対する演算を
実行する拡張演算ユニット12と、この拡張演算ユニッ
ト12に対する上記大きなビット幅を有する拡張データ
バスB12とが設けられ、さらに、データ処理ユニット
11に接続されたデータバスB11(以下ではローカル
データバスと呼ぶ)と拡張演算ユニット12に接続され
た拡張データバスB12とを切り換えてDRAM15の
データバス(以下DRAMバスとも言う)B15に接続
するためにバス選択器13が設けられている。拡張演算
ユニット12は、DRAMバスB15、バス選択器1
3、拡張データバスB12を介してDRAM15からビ
ット幅の広いデータを受信でき、このデータに対して演
算を実行し、その結果データを同じパスを介してDRA
M15に送信できる。データ処理ユニット11は、ロー
カルデータバスB11、バス選択器13、DRAMバス
B15を介してDRAM15との間で、データ処理ユニ
ット11により定まる狭いビット幅のデータを送受信す
る。キャッシュ16とバスインタフェース回路17は、
DRAMバスB15に接続されている。外部データバス
(システムバスとも呼ばれる)B17は、バスインタフ
ェース回路17を介してDRAMバスB15に接続され
ている。
<First Embodiment of the Invention> A microprocessor 1 shown in FIG. 1 is provided on a single large-scale integrated circuit (LSI) chip and has a bit width of a predetermined bit width (for example, 32 bits) or less. (Hereinafter referred to as a data processing unit) 11 for processing the data, an extended operation unit 12 for executing an operation on data having a bit width equal to or smaller than a predetermined bit width (for example, 256 bits) larger than the bit width. An extended data bus B12 having the above-mentioned large bit width for extended operation unit 12 is provided, and data bus B11 (hereinafter referred to as a local data bus) connected to data processing unit 11 and extended operation unit 12 are provided. The connected extended data bus B12 is switched to the data bus of the DRAM 15 (hereinafter referred to as D). Bus selector 13 to connect to the AM bus also called) B15 is provided. The extended operation unit 12 includes a DRAM bus B15, a bus selector 1
3. Data having a wide bit width can be received from the DRAM 15 via the extended data bus B12, an operation is performed on the data, and the resulting data is transferred to the DRA via the same path.
M15. The data processing unit 11 transmits / receives data having a narrow bit width determined by the data processing unit 11 to / from the DRAM 15 via the local data bus B11, the bus selector 13, and the DRAM bus B15. The cache 16 and the bus interface circuit 17
It is connected to DRAM bus B15. An external data bus (also called a system bus) B17 is connected to a DRAM bus B15 via a bus interface circuit 17.

【0014】本発明で重要な点の一つは、ローカルデー
タバスB11のバス幅よりも拡張データバスB12のバ
ス幅を大きくすることであり、このことはマイクロプロ
セッサ1の処理能力向上の点で望ましい。とくに、拡張
データバスB12と、DRAMバスB15とのバス幅を
等しくすることが、処理能力を最も効率よくする点で望
ましい。以下の説明では、拡張データバスB12、DR
AMバスB15のバス幅が互いに等しく、ともに256
ビットと仮定する。さらに、ローカルデータバスB11
は32ビット、外部データバスB17は16ビットと仮
定する。しかし、本発明では、これらのデータバスのバ
ス幅はこれらの数値に限定されないことは言うまでもな
い。基本的には、拡張演算ユニット12は、データ処理
ユニット11が処理するデータの第1のデータ幅より広
い第2のデータ幅のデータに対して演算を実行でき、D
RAMは、上記第1のデータ幅より広く、上記第2のデ
ータ幅以上の第3のデータ幅のデータを読み書きできれ
ばよい。したがって、拡張データバスB12のビット幅
が、DRAMバスB15のビット幅以下であり、かつロ
ーカルデータバスB11のビット幅より大であればよ
い。
One of the important points in the present invention is to make the bus width of the extended data bus B12 larger than the bus width of the local data bus B11. This is in view of improving the processing capability of the microprocessor 1. desirable. In particular, it is desirable to make the bus width of the extended data bus B12 and that of the DRAM bus B15 equal in order to maximize the processing capacity. In the following description, the extended data bus B12, DR
The bus width of the AM bus B15 is equal to each other, and both are 256.
Assume a bit. Further, the local data bus B11
Is 32 bits, and the external data bus B17 is 16 bits. However, it goes without saying that the bus width of these data buses is not limited to these numerical values in the present invention. Basically, the extended operation unit 12 can execute an operation on data having a second data width wider than the first data width of the data processed by the data processing unit 11,
The RAM only needs to be able to read and write data having a third data width wider than the first data width and equal to or larger than the second data width. Therefore, the bit width of the extended data bus B12 should be smaller than the bit width of the DRAM bus B15 and larger than the bit width of the local data bus B11.

【0015】データ処理ユニット11は、従来のマイク
ロプロセッサと同様に、プログラムカウンタ(PC)1
11、ロード/ストア回路112、第1算術論理演算器
(以下では基本演算器と呼ぶことがある)113、第1
レジスタ群114(以下では基本レジスタ群と呼ぶこと
がある)、これらを接続する内部データバス115,1
16,117等からなる。しかし、このようなデータ処
理ユニット11は本発明を適用できるデータ処理ユニッ
トの一例であり、本発明は、ここに説明するデータ処理
ユニットには限定されない。基本的には、データ処理ユ
ニット11は、命令が指定する演算を実行する機能と、
データをDRAM15との間でやりとりする機能を有す
ればよい。
The data processing unit 11 has a program counter (PC) 1 like a conventional microprocessor.
11, a load / store circuit 112, a first arithmetic and logic unit (hereinafter sometimes referred to as a basic arithmetic unit) 113, a first
Register group 114 (hereinafter, may be referred to as a basic register group), and internal data buses 115 and 1 for connecting these.
16, 117, etc. However, such a data processing unit 11 is an example of a data processing unit to which the present invention can be applied, and the present invention is not limited to the data processing unit described here. Basically, the data processing unit 11 has a function of executing an operation specified by the instruction,
What is necessary is just to have a function of exchanging data with the DRAM 15.

【0016】プログラムカウンタ111は、命令をDR
AM15あるいはキャッシュ16からフェッチするため
の命令アドレスを保持し、それを順次更新する。ここで
は命令アドレスも32ビットであると仮定する。ロード
/ストア回路112は、DRAM15に対するロード要
求あるいはストア要求あるいはプログラムカウンタ11
1が指定する命令のフェッチ要求等のメモリアクセス要
求を供給するメモリ要求回路(図示せず)と、内部デー
タバス115から117に接続された上記複数の回路1
11から114へのデータの送受信を制御し、あるいは
ローカルデータバスB11と内部データバス115から
117のいずれかとの接続を制御するバス制御回路(図
示せず)とを含む。
The program counter 111 outputs the instruction
The instruction address for fetching from the AM 15 or the cache 16 is held and sequentially updated. Here, it is assumed that the instruction address is also 32 bits. The load / store circuit 112 receives a load request or a store request for the DRAM 15 or the program counter 11.
And a memory request circuit (not shown) for supplying a memory access request such as a fetch request for an instruction designated by the first data bus 115 to the internal data buses 115 to 117.
It includes a bus control circuit (not shown) that controls transmission and reception of data from 11 to 114 or controls connection between local data bus B11 and any of internal data buses 115 to 117.

【0017】演算器113は、四則演算あるいは簡単な
論理演算を実行可能な演算器で、これらの演算の内、命
令デコーダ14により解読された命令が、データ処理ユ
ニット11内の演算器113による演算を要求する演算
命令であるときに、その命令が指定する演算を実行す
る。データ処理ユニット11にはシフト演算回路のよう
な他の演算器が含まれるが、ここでは簡単化のためにこ
れらの回路は図示していない。レジスタ群114は、演
算に使用するデータあるいは演算結果データを保持する
複数のレジスタからなり、各レジスタは命令で指定可能
である。
The arithmetic unit 113 is an arithmetic unit capable of executing four arithmetic operations or simple logical operations. Of these arithmetic operations, an instruction decoded by the instruction decoder 14 is used by the arithmetic unit 113 in the data processing unit 11. When the instruction is an operation instruction requesting, the operation specified by the instruction is executed. The data processing unit 11 includes other operation units such as a shift operation circuit, but these circuits are not shown here for simplicity. The register group 114 includes a plurality of registers for holding data used for the operation or operation result data, and each register can be specified by an instruction.

【0018】データ処理ユニット11には制御バス、ア
ドレスバスのような他のバスも含まれるが、ここでは簡
単化のためにこれらのバスは図示されず、またその説明
も簡単化のために省略する。また、簡単化のために、デ
ータバス、制御バス、アドレスバスからなるバスの全体
に言及する代わりに単にデータバスに言及することがあ
る。また、データ処理ユニット11内には、命令デコー
ダ14が出力する命令解読信号14Aに応じて上記複数
の回路の動作を制御する制御回路が設けられているが、
この回路も簡単化のために図示されていない。以下で
は、内部データバス115から117のビット幅はいず
れも32ビットと仮定する。レジスタ群114内の各レ
ジスタのビット幅、演算器113が実行する演算のビッ
ト幅も32ビットと仮定する。しかし、本発明はこれら
の数値に限定されないのは言うまでもない。このことは
以下に仮定する他の数値についても同じである。たとえ
ば、データ処理ユニット11用のローカルデータバスB
11、その内部の内部データバス115から117のビ
ット幅もたとえば64ビットにすることもできる。
Although the data processing unit 11 includes other buses such as a control bus and an address bus, these buses are not shown here for the sake of simplicity, and the description thereof is omitted for simplicity. I do. For simplicity, the data bus, the control bus, and the address bus may be simply referred to as a data bus instead of the entire bus. In the data processing unit 11, a control circuit for controlling the operations of the plurality of circuits according to the instruction decoding signal 14A output from the instruction decoder 14 is provided.
This circuit is also not shown for simplicity. In the following, it is assumed that the bit width of each of internal data buses 115 to 117 is 32 bits. It is assumed that the bit width of each register in the register group 114 and the bit width of the operation executed by the arithmetic unit 113 are also 32 bits. However, it goes without saying that the present invention is not limited to these numerical values. The same is true for the other values assumed below. For example, the local data bus B for the data processing unit 11
11. The bit width of the internal data buses 115 to 117 therein can also be set to, for example, 64 bits.

【0019】図1に示すように、拡張演算ユニット12
は、バス制御回路122、第2算術演算器(以下では拡
張演算器と呼ぶことがある)123、第2レジスタ群1
24(以下では拡張レジスタ群と呼ぶことがある)、こ
れらを接続する内部データバス125,126,127
等からなる。内部データバス125から127のビット
幅はいずれも256ビットと仮定する。しかし、本発明
はこの数値に限定されないのは言うまでもない。レジス
タ群124は、演算器123により演算を受けるべきデ
ータあるいは演算結果データを保持する複数のレジスタ
からなり、各レジスタは命令により指定可能である。レ
ジスタ群124内の各レジスタのビット幅も256ビッ
トと仮定する。
As shown in FIG. 1, the extended operation unit 12
Is a bus control circuit 122, a second arithmetic operation unit (hereinafter sometimes referred to as an extended operation unit) 123, and a second register group 1
24 (hereinafter sometimes referred to as an extension register group), and internal data buses 125, 126, and 127 for connecting them.
Etc. It is assumed that the bit width of each of the internal data buses 125 to 127 is 256 bits. However, it goes without saying that the present invention is not limited to this numerical value. The register group 124 includes a plurality of registers for holding data to be operated by the operation unit 123 or operation result data, and each register can be designated by an instruction. It is assumed that the bit width of each register in register group 124 is also 256 bits.

【0020】演算器123は、たとえば256ビットの
データに対する演算を実行する演算器であり、具体的に
はたとえば、8個の互いに同じ構造の部分算術論理演算
器(図示せず)からなる。内部データバス125上の各
256ビットのデータを32ビット単位に8個の部分デ
ータ分割され、それぞれの部分データは上記それぞれの
図示しない複数の部分算術論理演算器の一つに供給され
る。同様に内部データバス126上のデータも分割さ
れ、それにより得られる8個の部分データがそれぞれの
図示しない複数の部分算術論理演算器の一つに供給され
る。各部分算術論理演算器はこのようにして供給される
一対の長さ32ビットの部分データに対する演算を他の
各部分算術論理演算器に並行して実行する。各部分算術
論理演算器は、四則演算あるいは簡単な論理演算を実行
可能であると仮定する。実行される演算は、命令デコー
ダ14により解読された命令により指定される。本発明
では、演算器123の構造はこのような構造の演算器に
は限定されない。たとえば、演算器123は、8ビット
のデータに対する演算を実行する32個の部分算術論理
演算器(バイト演算器)からなっていてもよく、16ビ
ットのデータに対する演算を実行する16個の部分算術
論理演算器からなっていてもよく、あるいは128ビッ
トのデータに対する演算を実行する2個の部分算術論理
演算器からなっていてもよい。このように演算器123
として複数の部分算術論理演算器を使用することは多く
の用途がある点で有効である。しかし、演算器123
は、256ビットのデータに対する演算を実行する1個
の算術論理演算器からなっていてもよい。
The arithmetic unit 123 is, for example, an arithmetic unit for performing an operation on 256-bit data, and specifically, is composed of, for example, eight partial arithmetic logic units (not shown) having the same structure. The 256-bit data on the internal data bus 125 is divided into eight pieces of partial data in units of 32 bits, and each piece of partial data is supplied to one of the plurality of partial arithmetic logic units (not shown). Similarly, the data on the internal data bus 126 is also divided, and the resulting eight pieces of partial data are supplied to one of a plurality of partial arithmetic logic units (not shown). Each partial arithmetic and logic unit executes an operation on the pair of 32-bit length partial data supplied in this manner in parallel with each of the other partial arithmetic and logic units. It is assumed that each partial arithmetic logic unit can execute four arithmetic operations or simple logical operations. The operation to be performed is specified by the instruction decoded by the instruction decoder 14. In the present invention, the structure of the arithmetic unit 123 is not limited to the arithmetic unit having such a structure. For example, the arithmetic unit 123 may be composed of 32 partial arithmetic and logic units (byte arithmetic units) that execute an operation on 8-bit data, and 16 partial arithmetic and logic units that execute an operation on 16-bit data. It may be composed of a logical operation unit, or may be composed of two partial arithmetic and logical operation units for executing an operation on 128-bit data. Thus, the operation unit 123
The use of a plurality of partial arithmetic and logic units is effective in that there are many uses. However, the arithmetic unit 123
May consist of one arithmetic and logic unit that performs an operation on 256-bit data.

【0021】バス制御回路122は、データ処理ユニッ
ト11内のロード/ストア回路112に含まれた上記図
示しないバス制御回路と同じく、内部データバス125
から127に接続された上記複数の回路から上記内部デ
ータバス125から127へのデータの送出を制御し、
あるいは拡張データバスB12と内部データバス125
から127のいずれかとの接続を制御する回路である。
拡張データバスB12のビット幅の256ビットである
と仮定する。
The bus control circuit 122 includes an internal data bus 125 similar to the bus control circuit (not shown) included in the load / store circuit 112 in the data processing unit 11.
Control the transmission of data from the plurality of circuits connected to to the internal data bus 125 to 127,
Alternatively, the extended data bus B12 and the internal data bus 125
To control the connection with any one of.
Assume that the bit width of the extended data bus B12 is 256 bits.

【0022】なお、拡張演算ユニット12内には、命令
デコーダ14が出力する命令解読信号14Bに応じて上
記複数の回路の動作を制御する制御回路が設けられてい
るが、この回路は簡単化のために図示されていない。拡
張演算ユニット12内の内部データ125から127に
付随する制御バス、アドレスバスは簡単化のために図示
されず、またその説明を省略することがある。拡張デー
タバスB12あるいは他のデータバスについて同様にそ
れぞれのデータバスに付随して使用される制御バスある
いはアドレスバスは簡単化のために図示されず、またそ
の説明も省略することがある。
A control circuit for controlling the operation of the plurality of circuits in accordance with the instruction decoding signal 14B output from the instruction decoder 14 is provided in the extended operation unit 12, but this circuit is simplified. Not shown. The control bus and address bus associated with the internal data 125 to 127 in the extended arithmetic unit 12 are not shown for simplification, and the description thereof may be omitted. Similarly, a control bus or an address bus used for the extension data bus B12 or other data buses is not shown for simplicity, and the description thereof may be omitted.

【0023】バス選択器13の内部回路の例を図2に示
す。バス選択器13には、ローカルデータバスB11、
拡張データバスB12にそれぞれ接続されたリード/ラ
イトバッファ136,137が設けられている。リード
/ライトバッファ136は、それぞれ32ビットのロー
カルデータバスB11、B38の間に設けられた一対の
バッファからなり、それぞれのバッファは、それに印加
される制御信号に応答してローカルデータバスB11あ
るいはB38からデータを取り込み、ローカルデータバ
スB38あるいはB11に出力する。同様に、リード/
ライトバッファ137は、それぞれ256ビットの拡張
データバスB12,B37の間に設けられた一対のバッ
ファからなり、それぞれのバッファは、それに印加され
る制御信号に応答して拡張データバスB12あるいはB
37からデータを取り込み、拡張データバスB37ある
いはB12に出力する。調停回路133は、命令デコー
ダ14からの制御信号14Cに応答して、リード/ライ
トバッファ136,137の一方のそれをオンにする制
御信号を供給する。命令デコーダ14でデコードされた
命令がDRAM15と拡張演算ユニット12の間のデー
タ転送を必要とするときに、拡張データバスB12とB
37を接続する。それ以外の命令に対しては、ローカル
データバスB11とB38を接続する。
FIG. 2 shows an example of an internal circuit of the bus selector 13. The bus selector 13 includes a local data bus B11,
Read / write buffers 136 and 137 connected to the extended data bus B12 are provided. The read / write buffer 136 comprises a pair of buffers provided between 32-bit local data buses B11 and B38, respectively. , And outputs the data to the local data bus B38 or B11. Similarly, lead /
The write buffer 137 is composed of a pair of buffers provided between the 256-bit extended data buses B12 and B37, respectively.
37, and outputs the data to the extended data bus B37 or B12. The arbitration circuit 133 supplies a control signal for turning on one of the read / write buffers 136 and 137 in response to a control signal 14C from the instruction decoder 14. When the instruction decoded by the instruction decoder 14 requires data transfer between the DRAM 15 and the extended operation unit 12, the extended data buses B12 and B
37 is connected. For other instructions, the local data buses B11 and B38 are connected.

【0024】データをDRAM15との間で交換するD
RAMI/O回路140がDRAMバスB15と256
ビットの拡張データバスB36の間に設けられている。
この回路140は、DRAMバスB15上の256ビッ
トのデータを適当なタイミングで取り込み、拡張データ
バスB36にそのまま供給する第1の内部バッファ(図
示せず)と拡張データバスB36上の256ビットのデ
ータを適当なタイミングで取り込み、DRAMバスB1
5にそのまま供給する第2の内部バッファ(図示せず)
とを有する。このDRAMI/O回路140は、そこに
供給される制御信号に応答して、DRAMバスB15上
のデータを取り込み、拡張データバスB36に出力する
かあるいは拡張データバスB36上のデータを取り込み
DRAMバスB15に供給する。
D for exchanging data with the DRAM 15
RAM I / O circuit 140 is connected to DRAM buses B15 and B256.
It is provided between bit extension data buses B36.
This circuit 140 receives a 256-bit data on the DRAM bus B15 at an appropriate timing, and supplies it to the extended data bus B36 as it is. A first internal buffer (not shown) and the 256-bit data on the extended data bus B36 At an appropriate timing, and the DRAM bus B1
5 second internal buffer (not shown) that supplies it as it is to
And In response to a control signal supplied thereto, DRAM I / O circuit 140 takes in data on DRAM bus B15 and outputs it to extended data bus B36, or takes in data on extended data bus B36 and takes in data on extended data bus B36. To supply.

【0025】拡張データバスB36とローカルデータバ
スB38の間に第1のアライナ138が設けられてい
る。このアライナ138は、直接には、拡張データバス
B36の各ビット線に接続するDRAMバスB15のビ
ット線の選択、すなわちこれらのデータバスの相互の接
続位置を制御する。その結果、実質的には、DRAMバ
スB15の各ビット線に接続するローカルデータバスB
11のビット線の選択、すなわちこれらのデータバスの
接続位置を制御する。アライナ138は、拡張データバ
スB36から供給される256ビットのデータの適当な
位置から始まる32ビットを切り出してローカルデータ
バスB38に供給するための第1の内部アライナ(図示
せず)と、ローカルデータバスB38から供給される3
2ビットのデータを拡張データバスB36を構成する2
56ビットの線の内の適当な位置の32ビットの線に供
給する第2の内部アライナ(図示せず)とを有する。こ
れらのアライナが行うビット位置の調整は、データ処理
ユニット11からバス選択器13に線112Aを介して
供給されるメモリアドレスにより行われる。これらの二
つの内部アライナの動作は異なるが、これらの回路はい
ずれもデータのビット位置の調整を行う回路である点で
は共通であるので、本実施の形態ではこれらの内部アラ
イナをいずれもアライナと呼ぶ。
A first aligner 138 is provided between the extended data bus B36 and the local data bus B38. The aligner 138 directly controls the selection of the bit line of the DRAM bus B15 connected to each bit line of the extended data bus B36, that is, the mutual connection position of these data buses. As a result, the local data bus B connected to each bit line of the DRAM bus B15 is substantially
The selection of eleven bit lines, that is, the connection positions of these data buses are controlled. The aligner 138 includes a first internal aligner (not shown) for cutting out 32 bits starting from an appropriate position of the 256-bit data supplied from the extended data bus B36 and supplying the extracted data to the local data bus B38. 3 supplied from bus B38
2 bits of data forming the extended data bus B36
And a second internal aligner (not shown) that feeds the 32 bit line at the appropriate position of the 56 bit line. The bit position adjustment performed by these aligners is performed by the memory address supplied from the data processing unit 11 to the bus selector 13 via the line 112A. Although the operations of these two internal aligners are different, since these circuits are common in that they are circuits for adjusting the bit position of data, in this embodiment, both of these internal aligners are Call.

【0026】本実施の形態では、拡張データバスB12
とB36はともに256ビットである。したがって、こ
れらのデータバスを接続するには、アライナは不要で、
拡張データバスB36とB37は直接接続される。しか
し、図には、これらのデータバスB36,B37を接続
する第2のアライナ139が点線のブロックでもって示
されている。このアライナは、拡張データバスB12の
ビット幅がDRAMバスB15のビット幅より小さい、
すなわち、拡張データバスB12のビット幅が拡張デー
タバスB36のビット幅より小さい他の実施の形態で使
用される。アライナ139は、拡張データバスB36か
ら供給される256ビットのデータのビット位置をずら
して拡張データバスB37に供給する第1の内部アライ
ナ(図示せず)と拡張データバスB37から供給される
256ビットより小さいビット幅のデータのビット位置
をずらして256ビットの拡張データバスB36に供給
するための第2の内部アライナ(図示せず)とを有す
る。
In this embodiment, the extended data bus B12
And B36 are both 256 bits. Therefore, no aligner is required to connect these data buses,
Extended data buses B36 and B37 are directly connected. However, in the figure, the second aligner 139 connecting these data buses B36 and B37 is shown by a dotted block. This aligner is such that the bit width of the extended data bus B12 is smaller than the bit width of the DRAM bus B15.
That is, the bit width of the extension data bus B12 is used in another embodiment smaller than the bit width of the extension data bus B36. The aligner 139 includes a first internal aligner (not shown) for supplying the extended data bus B37 with the bit position of the 256-bit data supplied from the extended data bus B36 shifted, and a 256-bit supplied from the extended data bus B37. A second internal aligner (not shown) for shifting the bit position of the data having the smaller bit width and supplying the data to the 256-bit extended data bus B36.

【0027】アドレスデコーダ131は、データ処理ユ
ニット11から線112Aに送出されたメモリ書き込み
要求が指定するメモリアドレスをデコードし、もしその
メモリアドレスがDRAM15に割り当てられたアドレ
スであるときには、そのメモリ書き込み要求およびそれ
に付随してデータ処理ユニット11から線112Aを介
して供給されたリード/ライト等の制御信号をDRAM
アドレス制御回路134に供給する。DRAMアドレス
制御回路134は、アドレスデコーダ131から供給さ
れたメモリアドレスに対応するDRAM15をアクセス
するためのDRAMアドレスを生成するとともに、アラ
イナ138,139に対する制御信号とを作成するとと
もにアドレスデコーダ131から供給されたリードライ
ト信号をDRAMタイミング制御回路135供給する。
アライナ138,139に対する制御信号は、上記メモ
リアドレスと、これらのアライナ内の前述の第1,第2
の内部アライナ(図示せず)の内、動作すべき一方の内
部アライナを起動するための信号からなる。DRAMタ
イミング制御回路135は、DRAMアドレス制御回路
134から供給されたリード/ライト等の制御信号とD
RAMアドレスに応答して、DRAM15をアクセスす
るのに必要な、DRAM15により予め定められた複数
のタイミング信号およびDRAMI/O回路140に対
する制御信号を生成し、上記複数のタイミング信号を線
13Aを介してDRAM15に供給し、上記生成した制
御信号をDRAMI/O回路140に供給する。
The address decoder 131 decodes the memory address specified by the memory write request sent from the data processing unit 11 to the line 112A, and if the memory address is an address assigned to the DRAM 15, And a control signal such as read / write supplied from the data processing unit 11 via the line 112A to the DRAM.
It is supplied to the address control circuit 134. The DRAM address control circuit 134 generates a DRAM address for accessing the DRAM 15 corresponding to the memory address supplied from the address decoder 131, creates a control signal for the aligners 138 and 139, and is supplied from the address decoder 131. The read / write signal is supplied to the DRAM timing control circuit 135.
The control signals for the aligners 138 and 139 are based on the memory addresses and the first and second addresses in these aligners.
And a signal for activating one of the internal aligners (not shown) to be operated. The DRAM timing control circuit 135 controls the read / write control signal supplied from the DRAM address control circuit 134 with the D / D signal.
In response to the RAM address, a plurality of timing signals predetermined by the DRAM 15 and a control signal for the DRAM I / O circuit 140 necessary for accessing the DRAM 15 are generated, and the plurality of timing signals are transmitted via the line 13A. The control signal is supplied to the DRAM 15 and the generated control signal is supplied to the DRAM I / O circuit 140.

【0028】DRAM15へのアクセスは、32バイト
のアドレス境界に基づいて256ビットのデータについ
て行なわれると仮定する。したがって、例えばN番地の
次はN+32番地をとることになる。データ処理ユニッ
ト11から、N+4番地からのデータをロングワード
(32ビット)でリード/ライトする場合には、DRA
M15は、アドレスとしてN番地から始まる32バイト
のデータがリードライトされるように制御される。
It is assumed that access to DRAM 15 is performed on 256-bit data based on a 32-byte address boundary. Therefore, for example, after address N, address N + 32 is taken. When data from the address N + 4 is read / written from the data processing unit 11 in a long word (32 bits), DRA
M15 is controlled so that 32-byte data starting from address N is read / written.

【0029】DRAMアクセスがリードアクセスの時に
は、バス選択器13はDRAM15から読み出された3
2バイトデータのうちのN+4番地からN+7番地の4
バイトデータがDRAMバスB15からローカルデータ
バスB11に接続する。DRAMアクセスがライトアク
セスの時には、DRAM15に書き込むべき32バイト
データのうちのN+4番地からN+7番地の4バイトデ
ータがそれ自体公知の部分書き換えにより書き換えられ
る。この部分書き換えすべき4バイトデータはローカル
データバスB11からDRAMバスB15にバス選択器
13により供給される。
When the DRAM access is a read access, the bus selector 13
4 from address N + 4 to address N + 7 of 2-byte data
Byte data is connected from the DRAM bus B15 to the local data bus B11. When the DRAM access is a write access, the 4-byte data at addresses N + 4 to N + 7 of the 32-byte data to be written to the DRAM 15 is rewritten by a known partial rewrite. The 4-byte data to be partially rewritten is supplied from the local data bus B11 to the DRAM bus B15 by the bus selector 13.

【0030】本実施の形態での動作の概要は以下の通り
である。データ処理ユニット11は、DRAM15ある
いはキャッシュ16あるいはバスインターフェイス回路
17を通じて外部から、命令を命令デコーダ14に取り
込み、命令デコーダ14は、その命令を解読してデータ
処理ユニット11または拡張演算ユニット12を制御す
る信号を発生する。命令デコーダ14によりデータ処理
ユニット11のレジスタ群114内のレジスタとDRA
M15との間のデータ転送を行う命令、たとえばレジス
タ群内のレジスタへのロード命令あるいはストア命令が
解読されたときには、命令デコーダ14は、DRAM1
5へのアクセスを行うことを指示する制御信号を線14
Aを介してデータ処理ユニット11に供給する。ロード
/ストア回路112は、この制御信号に応答して、バス
選択器13にアクセスすべきメモリアドレス等の信号を
供給し、バス選択器13は、そのメモリアドレス等の制
御信号から、アドレスデコーダ131、DRAMアドレ
ス制御回路134、DRAMタイミング制御回路135
により、DRAM15へのアドレスを含めた制御信号を
出力する。また、命令デコーダ14から、バス選択器1
3内の調停回路133に対して、データ処理ユニット1
1からDRAM15へのデータ転送を示す信号が供給さ
れ、調停回路133は、この信号に応答して、リード/
ライトバッファ136、アライナ138に対して、ロー
ド/ストア回路112から出力された上記制御信号に適
応するタイミングで動作するように動作タイミング及び
データの転送方向を制御する。同時に、DRAMアドレ
ス制御回路134は、アライナ138に対して、DRA
MバスB15の内の上記メモリアドレスに適応した部分
を選択して、データバスB1と接続するように制御し、
DRAMタイミング制御回路135は、DRAMI/O
回路140に対して、DRAMバスB15からのデータ
の取り込みもしくはアライナ138の出力の取り込みを
指示し、取り込みのタイミングを制御する。こうして、
データ処理ユニット11とDRAM15の間で所望のデ
ータの転送がなされる。
The outline of the operation in the present embodiment is as follows. The data processing unit 11 fetches an instruction from the outside through the DRAM 15 or the cache 16 or the bus interface circuit 17 to the instruction decoder 14, and the instruction decoder 14 decodes the instruction and controls the data processing unit 11 or the extended operation unit 12. Generate a signal. The register in the register group 114 of the data processing unit 11 and the DRA
When an instruction for performing data transfer with M15, for example, a load instruction or a store instruction for a register in a register group is decoded, the instruction decoder 14
A control signal instructing access to line 5
The data is supplied to the data processing unit 11 via A. The load / store circuit 112 supplies a signal such as a memory address to be accessed to the bus selector 13 in response to the control signal, and the bus selector 13 converts the address decoder 131 from the control signal such as the memory address. , DRAM address control circuit 134, DRAM timing control circuit 135
As a result, a control signal including an address to the DRAM 15 is output. Further, the instruction decoder 14 outputs a signal from the bus selector 1
3, the arbitration circuit 133 in the data processing unit 1
1 to the DRAM 15 is supplied with a signal indicating the data transfer, and the arbitration circuit 133 responds to this signal to
The operation timing and data transfer direction of the write buffer 136 and the aligner 138 are controlled so as to operate at a timing adapted to the control signal output from the load / store circuit 112. At the same time, the DRAM address control circuit 134 sends the DRA to the aligner 138.
A part of the M bus B15 corresponding to the memory address is selected and controlled so as to be connected to the data bus B1,
The DRAM timing control circuit 135 has a DRAM I / O
It instructs the circuit 140 to fetch data from the DRAM bus B15 or fetch the output of the aligner 138, and controls the fetch timing. Thus,
Desired data is transferred between the data processing unit 11 and the DRAM 15.

【0031】命令デコーダ14で拡張演算ユニット12
の演算を実行する命令が解読された場合には、命令デコ
ーダ14は、拡張演算ユニット12に対しても制御信号
を線14Bを介して供給する。拡張演算ユニット12
は、制御信号に応じて演算を実行する。拡張演算ユニッ
ト12内のレジスタ群124内のレジスタとDRAM1
5の間のデータ転送を要する命令、たとえばレジスタ群
124内のレジスタに対するロード命令あるいはストア
命令が命令デコーダ14で解読されたとき、命令デコー
ダ14はそのために必要な一部の制御信号をデータ処理
ユニット11に供給し、他の制御信号を拡張演算ユニッ
ト12に供給する。すなわち、本実施の形態では、デー
タ処理ユニット11内のレジスタ群114内のレジスタ
とDRAM15の間のデータ転送を要する命令が命令デ
コーダ14で解読されたときと同じく、データ処理ユニ
ット11からDRAM15へアクセスするメモ0リアド
レスを含むメモリアクセス要求が発信され、同様に処理
される。また、命令デコーダ14は、バス選択器13内
の調停回路133に、拡張演算ユニット12からDRA
M15へのデータ転送あるいはその逆方向のデータ転送
であることを示す信号を発生し、調停回路133は、リ
ード/ライトバッファ137、アライナ139があると
きにはそのアライナ139、DRAMI/O回路140
に制御信号を出力して、データ処理ユニット11から出
力されたメモリアドレス及び制御信号に適応するタイミ
ング及び転送方向のデータバス入出力を制御する。アラ
イナ139がある時には、アライナ139がDRAMバ
スB15の内の、上記メモリアドレスに適応した部分を
選択して拡張データバスB12に接続するようにアライ
ナ139も制御する。こうして、データ処理ユニット1
1とDRAM15の間で所望のデータの転送がなされ
る。
In the instruction decoder 14, the extended operation unit 12
Is decoded, the instruction decoder 14 supplies a control signal to the extended operation unit 12 via the line 14B. Extended operation unit 12
Performs an operation according to a control signal. Registers in register group 124 in extended operation unit 12 and DRAM 1
5, for example, a load instruction or a store instruction for a register in the register group 124 is decoded by the instruction decoder 14, the instruction decoder 14 transmits some control signals necessary for the decoding to the data processing unit. 11 and another control signal to the extended operation unit 12. That is, in the present embodiment, the data processing unit 11 accesses the DRAM 15 in the same manner as when the instruction that requires data transfer between the registers in the register group 114 in the data processing unit 11 and the DRAM 15 is decoded by the instruction decoder 14. A memory access request including a memory 0 address to be issued is issued and processed in the same manner. The instruction decoder 14 sends the DRA from the extended arithmetic unit 12 to the arbitration circuit 133 in the bus selector 13.
The arbitration circuit 133 generates a signal indicating that data transfer is to be performed to the M15 or data transfer in the reverse direction, and the arbitration circuit 133 includes the read / write buffer 137 and the aligner 139 when the aligner 139 and the DRAM I / O circuit 140 are provided.
To control the data bus input / output in the timing and transfer direction adapted to the memory address and the control signal output from the data processing unit 11. When there is the aligner 139, the aligner 139 also controls the aligner 139 so as to select a portion of the DRAM bus B15 corresponding to the memory address and connect it to the extended data bus B12. Thus, the data processing unit 1
1 and the desired data is transferred between the DRAM 15.

【0032】以下では、本マイクロプロセッサのデータ
処理ユニット11および拡張演算ユニット12、バス選
択器13の動作の詳細を説明する。
The operation of the data processing unit 11, the extended operation unit 12, and the bus selector 13 of the microprocessor will be described below in detail.

【0033】まず、データ処理ユニット11とDRAM
15との間のデータ転送およびデータ処理ユニット11
内の演算器113による演算の詳細を説明する。図3に
は、データ処理ユニット11にDRAM15内のレジス
タ群114の二つのレジスタに二つのデータをロードす
るために二つのロード命令を実行し、ALU113によ
りそれらの二つのデータに加算を実行する命令を実行
し、その結果データをDRAM15にストアする命令を
実行した場合について、データの流れを示す。さらに、
DRAM15には、図3に示すように、バイトアドレス
000,004,008,,,01Cの記憶位置に4バ
イトデータD0,D1,D2,,,D7が記憶され、後
に説明する演算結果データとして、バイトアドレス02
0の記憶位置にデータD1とD2の加算結果データD1
+D2が記憶されると仮定する。
First, the data processing unit 11 and the DRAM
15 and a data transfer and data processing unit 11
The details of the calculation by the calculator 113 will be described. FIG. 3 shows an instruction to execute two load instructions to load two data in two registers of the register group 114 in the DRAM 15 into the data processing unit 11 and to execute an addition to the two data by the ALU 113. Is executed, and an instruction to store the result data in the DRAM 15 is executed. further,
As shown in FIG. 3, the DRAM 15 stores 4-byte data D0, D1, D2,..., D7 at storage locations of byte addresses 000, 004, 008,. Byte address 02
0 is added to the storage location of data D1 and D2.
Assume that + D2 is stored.

【0034】たとえば、命令デコーダ14でデータ処理
ユニット11内のレジスタ群114の一つにデータをロ
ードする命令が解読されたときには、データ処理ユニッ
ト11内のロード/ストア回路112内の上記図示しな
いバス制御回路は、上記レジスタ群114の内、上記ロ
ード命令で指定された一つのレジスタから読み出された
メモリアドレス(たとえば図3に示すアドレス004)
を内部データバス115または116に送出させる。上
記図示しないメモリアクセス要求回路は、そのメモリア
ドレスを受け取り、このメモリアドレスと、メモリアク
セスがリードアクセスであることを示す制御信号とを含
むメモリアクセス要求を線112Aを介してバス選択器
13に送る。命令デコーダ14からは、バス選択器13
内の調停回路133に、DRAM15からデータ処理ユ
ニット11へのデータ転送を知らせる制御信号が供給さ
れ、DRAMアドレス制御回路134、DRAMタイミ
ング制御回路135の制御の下にDRAM15から読み
出された256ビットのデータは、DRAMI/O回路
140を介して拡張データバスB36に供給され、アラ
イナ138は、このデータの内の必要なデータ部分を選
択する。今の場合には、ロードすべきデータD1は、3
2バイト長であり、読み出された256ビットのデータ
の先頭から4バイト目に位置することがロードアドレス
004より判別できる。アライナ138は、このデータ
D1をロードアドレス004に基づいて切り出して、ロ
ーカルデータバスB38に出力する。このデータはさら
にリード/ライトバッファ136を通じてローカルデー
タバスB11に出力される。ローカルデータバスB11
に出力されたデータD1は、ロード/ストア回路112
に供給される。このロード/ストア回路112内の上記
図示しないバス制御回路は、このデータD1を内部デー
タバス117に転送する。このデータは、内部データバ
ス117を介してレジスタ群114内の上記命令が指定
する一つのレジスタに転送される。こうして上記ロード
命令の実行が完了する。
For example, when an instruction for loading data into one of the register groups 114 in the data processing unit 11 is decoded by the instruction decoder 14, the bus (not shown) in the load / store circuit 112 in the data processing unit 11 The control circuit reads the memory address (for example, address 004 shown in FIG. 3) read from one of the registers 114 specified by the load instruction.
To the internal data bus 115 or 116. The memory access request circuit (not shown) receives the memory address, and sends a memory access request including the memory address and a control signal indicating that the memory access is a read access to the bus selector 13 via the line 112A. . From the instruction decoder 14, the bus selector 13
A control signal notifying the data transfer from the DRAM 15 to the data processing unit 11 is supplied to the arbitration circuit 133 therein, and the 256-bit data read from the DRAM 15 under the control of the DRAM address control circuit 134 and the DRAM timing control circuit 135 is supplied. The data is supplied to the extended data bus B36 via the DRAM I / O circuit 140, and the aligner 138 selects a necessary data portion of the data. In this case, the data D1 to be loaded is 3
It is 2 bytes long, and it can be determined from the load address 004 that it is located at the fourth byte from the beginning of the read 256-bit data. The aligner 138 cuts out the data D1 based on the load address 004 and outputs it to the local data bus B38. This data is further output to the local data bus B11 through the read / write buffer 136. Local data bus B11
Output to the load / store circuit 112
Supplied to The bus control circuit (not shown) in the load / store circuit 112 transfers the data D1 to the internal data bus 117. This data is transferred via the internal data bus 117 to one of the registers 114 specified by the instruction. Thus, the execution of the load instruction is completed.

【0035】データD2についても同様の操作を図3の
メモリアドレス008を使用して行う。こうしてレジス
タ群114内の二つのレジスタに、演算に必要なデータ
D1,D2がロードされる。
A similar operation is performed for data D2 using memory address 008 in FIG. Thus, the data D1 and D2 required for the operation are loaded into the two registers in the register group 114.

【0036】命令デコーダ14で演算器113による演
算、たとえば加算を要求する演算命令が解読されたとき
には、上記図示しないバス制御回路は、上記レジスタ群
114の内、上記演算命令で指定された第1、第2のレ
ジスタから読み出された第1、第2のデータ(今の場合
にはデータD1,D2)を内部データバス115,11
6に送出させる。演算器113はこれらのデータに対す
る演算を実行し、上記図示しないバス制御回路は、演算
器113が出力する32ビットの演算結果データD1+
D2を内部データバス117に送出させる。このデータ
は内部データバス117を介してレジスタ群114内
の、この命令が指定する一つのレジスタに格納される。
When the instruction decoder 14 decodes an operation performed by the operation unit 113, for example, an operation instruction requesting addition, the bus control circuit (not shown) operates the first group designated by the operation instruction in the register group 114. , The first and second data (data D 1 and D 2 in this case) read from the second register are transferred to internal data buses 115 and 11.
6 The arithmetic unit 113 performs an arithmetic operation on these data, and the bus control circuit (not shown) outputs the 32-bit arithmetic result data D1 +
D2 is sent to the internal data bus 117. This data is stored in the register group 114 via the internal data bus 117 in one register designated by this instruction.

【0037】命令デコーダ14でレジスタ群114の一
つのレジスタ内のデータをDRAM15にストアする命
令が解読されたときには、ロード/ストア回路112内
の上記図示しないバス制御回路は、上記レジスタ群11
4の内、上記ロード命令で指定された第1、第2のレジ
スタから読み出されたメモリアドレス(今の例では02
0)および32ビットのストアデータ(今の例ではD1
+D2)を内部データバス115,116にそれぞれ送
出させる。上記図示しないメモリアクセス要求回路は、
そのメモリアドレスを受け取り、このメモリアドレス
と、メモリアクセスがライトアクセスであることを示す
制御信号とを含むメモリアクセス要求を線112Aを介
してバス選択器13に送る。バス選択器13が線13A
を介して前述と同様にしてこのメモリアクセス要求から
DRAM15に対する制御信号を生成し、線13Aを介
してDRAM15に転送する。上記図示しないバス制御
回路は、上記ストアデータをローカルデータバスB11
に送出する。バス選択器13はこのデータをDRAMバ
スB15を介してDRAM15に転送する。DRAM1
5は、線13A上の制御信号に応じてDRAMバスB1
5上のストアデータを記憶する。
When an instruction for storing data in one register of the register group 114 in the DRAM 15 is decoded by the instruction decoder 14, the bus control circuit (not shown) in the load / store circuit 112
4, memory addresses read from the first and second registers specified by the load instruction (02 in this example).
0) and 32-bit store data (D1 in this example)
+ D2) to the internal data buses 115 and 116, respectively. The memory access request circuit (not shown)
The memory address is received, and a memory access request including the memory address and a control signal indicating that the memory access is a write access is sent to the bus selector 13 via the line 112A. Bus selector 13 is line 13A
, A control signal for the DRAM 15 is generated from the memory access request in the same manner as described above, and transferred to the DRAM 15 via the line 13A. The bus control circuit (not shown) transmits the store data to the local data bus B11.
To send to. The bus selector 13 transfers this data to the DRAM 15 via the DRAM bus B15. DRAM1
5 is a DRAM bus B1 according to a control signal on line 13A.
5 is stored.

【0038】次に、拡張演算ユニット12とDRAM1
5との間のデータ転送および拡張演算ユニット12の演
算器123による演算の詳細を説明する。図4には、拡
張演算ユニット12内のレジスタ群124の二つのレジ
スタに二つのデータをロードするために二つのロード命
令を実行し、ALU123によりそれらのデータに加算
を実行する命令を実行し、その結果データをDRAM1
5にストアする命令を実行した場合についてデータの流
れを示す。さらに、DRAM15には、図4に示すよう
に、バイトアドレス000,004,008,,,01
Cの記憶位置に4バイトデータD0,D1,D2,,,
D7が記憶され、バイトアドレス020,024,02
8,,,の記憶位置にデータD8,D9,D10,,,
D15が記憶されていると仮定する。また、後に説明す
る演算結果データとして、バイトアドレス040,04
1,,,の記憶位置に加算結果データD1+D8,D2
+D9,,,が記憶されると仮定する。
Next, the extended operation unit 12 and the DRAM 1
The details of the data transfer between 5 and the arithmetic operation by the arithmetic unit 123 of the extended arithmetic unit 12 will be described. In FIG. 4, two load instructions are executed to load two data into two registers of the register group 124 in the extended arithmetic unit 12, and an instruction for executing addition to the data by the ALU 123 is executed. The resulting data is stored in DRAM1
5 shows the flow of data when an instruction to store data in the instruction No. 5 is executed. Further, as shown in FIG.
The 4-byte data D0, D1, D2,.
D7 is stored, and byte addresses 020, 024, 02
Data D8, D9, D10,.
Assume that D15 is stored. Further, as the operation result data described later, the byte addresses 040, 04
Addition result data D1 + D8, D2 are stored in storage locations 1, 1,.
Assume that + D9 ,, is stored.

【0039】レジスタ群124内のいずれかのレジスタ
にデータたとえばD0からD7をDRAM15からロー
ドする命令は、データ処理ユニット11のレジスタ群1
14内の、ロードすべきデータのアドレスを保持する第
1のレジスタと、拡張演算ユニット12のレジスタ群1
24内にあるそのデータをロードすべき第2のレジスタ
とを指定する。命令デコーダ14でこのロード命令が解
読されたときには、命令デコーダ14は、データ処理ユ
ニット11に対してその動作の制御信号を発生する。
An instruction to load data such as D0 to D7 from any one of the registers in the register group 124 from the DRAM 15 is issued to the register group 1 of the data processing unit 11.
14, a first register for holding an address of data to be loaded, and a register group 1 of the extended arithmetic unit 12.
24 specifies the second register to load the data into. When the instruction decoder 14 decodes the load instruction, the instruction decoder 14 generates a control signal for the operation to the data processing unit 11.

【0040】さきに説明した、レジスタ群114内のレ
ジスタにデータをロードする命令の場合と同じく、デー
タ処理ユニット11内のロード/ストア回路112内に
ある上記図示しないバス制御回路と上記図示しないメモ
リアクセス要求回路により、上記レジスタ群114の
内、上記ロード命令で指定された第1のレジスタから読
み出されたメモリアドレス、今の例では000を含むメ
モリアクセス要求を線112Aを介してバス選択器13
に送る。バス選択器13は、メモリアクセス要求に対応
する制御信号を線13Aを介してDRAM15に送り、
上記ロードアドレスで指定される256ビットのデータ
D0からD7をDRAM15より読み出す。命令デコー
ダ14からは、バス選択器13内の調停回路133に、
線14Cを介してDRAM15から拡張演算ユニット1
2へのデータ転送を知らせる制御信号が発生され、DR
AM15から読み出された256ビットのデータD0か
らD7は、DRAMI/O回路140に取り込まれ、拡
張データバスB36,B37、リード/ライトバッファ
137を通じて拡張データバスB12に出力され、さら
に拡張演算ユニット12に転送される。なお、アライナ
139が使用される実施の形態では、拡張データバスB
36上の256ビットのデータの内、必要なデータ部分
がこのアライナ139により選択され位置決めされた後
に、リード/ライトバッファ137、拡張データバスB
12を介して拡張演算ユニット12に転送される。
The bus control circuit (not shown) and the memory (not shown) in the load / store circuit 112 in the data processing unit 11 are the same as the instruction for loading data into the registers in the register group 114 described above. The access request circuit sends a memory access request including the memory address read from the first register designated by the load instruction in the register group 114, in this example, 000, to the bus selector via the line 112A. 13
Send to The bus selector 13 sends a control signal corresponding to the memory access request to the DRAM 15 via the line 13A,
The 256-bit data D0 to D7 specified by the load address are read from the DRAM 15. The instruction decoder 14 sends an arbitration circuit 133 in the bus selector 13 to
Extended operation unit 1 from DRAM 15 via line 14C
2 to generate a control signal indicating the data transfer to DR2.
The 256-bit data D0 to D7 read from the AM 15 are taken into the DRAM I / O circuit 140, output to the expansion data bus B12 through the expansion data buses B36 and B37, the read / write buffer 137, and further expanded. Is forwarded to In the embodiment where the aligner 139 is used, the extended data bus B
After the necessary data portion of the 256-bit data on the C.36 is selected and positioned by the aligner 139, the read / write buffer 137 and the extended data bus B
The data is transferred to the extended operation unit 12 via the control unit 12.

【0041】拡張演算ユニット12内のバス制御回路1
22は、データ処理ユニット11内のロード/ストア回
路112内の前記図示しないバス制御回路と同様に動作
する回路であり、このデータを内部データバス127に
転送する。このデータは、内部データバス127を介し
てレジスタ群114内の上記命令が指定する一つのレジ
スタに転送され、そこに格納される。同様にしてロード
アドレス008を用いて他の256ビットのデータD8
からD15が拡張演算ユニット12内のレジスタ群12
4内の他のレジスタにロードされる。
Bus control circuit 1 in extended operation unit 12
A circuit 22 operates in the same manner as the bus control circuit (not shown) in the load / store circuit 112 in the data processing unit 11 and transfers this data to the internal data bus 127. This data is transferred via the internal data bus 127 to one register designated by the above instruction in the register group 114 and stored therein. Similarly, using the load address 008, another 256-bit data D8
To D15 are the register group 12 in the extended arithmetic unit 12.
4 are loaded into the other registers.

【0042】第2演算器123による演算を要求する演
算命令は、演算を受けるべき二つのデータを保持する、
レジスタ群124内の第1,第2のレジスタを指定す
る。命令デコーダ14でこの演算命令が解読されたとき
には、バス制御回路122は、上記レジスタ群124の
内、上記演算命令で指定された第1、第2のレジスタか
ら読み出されたそれぞれ256ビットを有する第1、第
2のデータ(今の場合にはD0からD7とD8からD1
5)を内部データバス125,126に送出させる。演
算器123はこれらのデータに対する演算(今の例では
加算)を実行する。具体的には、演算器123は、その
中に設けられた16個の演算器により、これらの256
ビットの二つのデータの内の互いに対応する16対の3
2ビットのデータを加算する(4バイト単位加算)。バ
ス制御回路122は、演算器123が出力する256ビ
ットの演算結果データを内部データバス127に送出さ
せる。このデータは内部データバス127を介してレジ
スタ群114内の上記第1のレジスタに格納される。
An operation instruction requesting an operation by the second operation unit 123 holds two data to be operated.
The first and second registers in the register group 124 are designated. When the instruction decoder 14 decodes the operation instruction, the bus control circuit 122 has 256 bits read from the first and second registers designated by the operation instruction in the register group 124, respectively. First and second data (in this case, D0 to D7 and D8 to D1
5) to the internal data buses 125 and 126. The arithmetic unit 123 performs an operation (addition in this example) on these data. Specifically, the arithmetic unit 123 uses these 256 arithmetic units to provide these 256
16 pairs of 3 corresponding to each other among two data of bits
2-bit data is added (4-byte unit addition). The bus control circuit 122 causes the 256-bit operation result data output from the arithmetic unit 123 to be transmitted to the internal data bus 127. This data is stored in the first register in the register group 114 via the internal data bus 127.

【0043】レジスタ群124内のデータをDRAM1
5にストアする命令は、データ処理ユニット11のレジ
スタ群114内の、ストアすべきデータのアドレスを保
持する第1のレジスタと、拡張演算ユニット12のレジ
スタ群124内の、ストアすべきデータを保持する第2
のレジスタとを指定する。命令デコーダ14でこのスト
ア命令が解読されたときには、さきに説明した、レジス
タ群114内のレジスタのデータをストアする命令の場
合と同じく、データ処理ユニット11内のロード/スト
ア回路112内にある上記図示しないバス制御回路と上
記図示しないメモリアクセス要求回路により、上記レジ
スタ群114の内、上記ロード命令で指定された第1の
レジスタから読み出されたメモリアドレス(今の例では
040)を含むメモリアクセス要求と線112Aを介し
てバス選択器13に送り、拡張演算ユニット12内のバ
ス制御回路122は、上記ストア命令が指定する、レジ
スタ群124内の第2のレジスタより読み出された25
6ビットのストアデータD0+D8,D1+D9,,,
を内部データバス125に送出させ、さらにこのデータ
を拡張データバスB12に送出する。今の命令の場合、
バス選択器13は、線112A上のメモリアクセス要求
に対応する制御信号とローカルデータバスB11上のス
トアデータをそれぞれ線13A、DRAMバスB15を
介してDRAMに送り、そこに格納する。こうして上記
ストア命令の実行が終了する。
The data in the register group 124 is stored in the DRAM 1
The instruction to store the data to be stored in the register group 114 of the data processing unit 11 is the first register that holds the address of the data to be stored, and the data to be stored in the register group 124 of the extended operation unit 12 is Second
And registers. When this instruction is decoded by the instruction decoder 14, the instruction stored in the load / store circuit 112 in the data processing unit 11 is the same as the instruction for storing the data in the register group 114 described above. A memory including a memory address (040 in this example) read from the first register designated by the load instruction in the register group 114 by a bus control circuit (not shown) and a memory access request circuit (not shown). The bus request is sent to the bus selector 13 via the access request and the line 112A, and the bus control circuit 122 in the extended operation unit 12 reads out from the second register in the register group 124 specified by the store instruction.
6-bit store data D0 + D8, D1 + D9,.
Is sent to the internal data bus 125, and this data is sent to the extended data bus B12. For the current order,
The bus selector 13 sends a control signal corresponding to a memory access request on the line 112A and store data on the local data bus B11 to the DRAM via the line 13A and the DRAM bus B15, respectively, and stores them therein. Thus, the execution of the store instruction is completed.

【0044】なお、以上では、DRAM15へのアクセ
スは、32バイト単位に行われ、アクセスされるデータ
もロングワード(32ビット)であるロングワードリー
ドライトの場合について説明した。DRAM15へのア
クセスに使用されるアドレスは、例えばN番地の次はN
+32番地をとることになる。データ処理ユニット11
から、N+4番地からのデータをアクセスするときに
は、DRAM15には、アドレスとしてN番地のデータ
をアクセスするように制御され、バス選択器13でこの
うちのN+4番地からN+7番地の4バイトデータがロ
ーカルデータバスB11に転送される。しかし、N+4
番地あるいはN+6番地へのワード(16ビット)単位
でのアクセスのようなワードリードライト、N+4,N
+5,N+6あるいはN+7番地へのバイト単位でのア
クセスのようなバイナリリードライトを行うこともでき
る。この場合には、DRAM15にはN番地でアクセス
し、バス選択器13で必要なデータ部分を切り出せばよ
い。上記ワードリードライトの場合には、N+4番地か
ら始まる16ビットあるいはN+6番地から始まる16
ビットを切り出せばよく、上記バイナリリードライトの
場合には、N+4,N+5,N+6あるいはN+7番地
の1バイトのデータを切り出せばよい。
In the above description, the case where the access to the DRAM 15 is performed in units of 32 bytes and the data to be accessed is a long word (32 bits) has been described. The address used to access the DRAM 15 is, for example, N
+32 will be taken. Data processing unit 11
Therefore, when accessing data from the address N + 4, the DRAM 15 is controlled to access the data at the address N as the address, and the bus selector 13 converts the 4-byte data from the addresses N + 4 to N + 7 to the local data. The data is transferred to the bus B11. However, N + 4
Word read / write such as access in word (16 bits) to address or N + 6, N + 4, N
Binary read / write such as access to +5, N + 6 or N + 7 in byte units can also be performed. In this case, the DRAM 15 is accessed at address N, and the necessary data portion may be cut out by the bus selector 13. In the case of the above word read / write, 16 bits starting from address N + 4 or 16 bits starting from address N + 6
Bits may be cut out, and in the case of the binary read / write, 1-byte data at N + 4, N + 5, N + 6 or N + 7 may be cut out.

【0045】本実施の形態では、このように、データ処
理ユニット11用のローカルデータバスB11より広い
バス幅を持つ拡張データバスB12と、データ処理ユニ
ット11が処理できるデータ幅より広いデータ幅を処理
できる拡張演算ユニット12とにより、DRAMバスB
15の広いバス幅を有効に利用してデータ演算を実行で
きる。また、拡張演算ユニット12で実行する演算は命
令で指定することができるので種々の演算を幅広のデー
タに対して実行できる。
In this embodiment, the extended data bus B12 having a bus width wider than the local data bus B11 for the data processing unit 11 and the data width wider than the data width that can be processed by the data processing unit 11 are processed. DRAM bus B
The data operation can be executed by effectively utilizing the 15 wide bus widths. Further, since the operation to be executed by the extended operation unit 12 can be specified by an instruction, various operations can be executed on a wide range of data.

【0046】<発明の実施の形態1の変形例>すでに述
べたように、拡張演算ユニット12が処理可能なデータ
のデータ幅を、DRAMバスB15よりも幅が狭く、し
かし、データ処理ユニット11が処理可能なデータのデ
ータ幅よりは広くすることもできる。このときには、拡
張演算ユニット12内のレジスタ群124内の各レジス
タのデータ幅、内部データバス等のデータ幅、演算器1
23が処理するデータのデータ幅、拡張データバスB1
2のデータ幅もこの新たなデータ幅に合わせればよい。
さらに、このときには、図2に示したアライナ139が
必要である。たとえば、拡張データバスB12を128
ビットすると、DRAM15から読み出された256ビ
ットの内の前半128ビットあるいは後半128ビット
を切り出して、拡張データバスB12に転送するよう
に、アライナ139を構成すればよい。
<Modification of First Embodiment of the Invention> As described above, the data width of data that can be processed by the extended arithmetic unit 12 is smaller than that of the DRAM bus B15, but the data processing unit 11 It can be wider than the data width of the data that can be processed. At this time, the data width of each register in the register group 124 in the extended operation unit 12, the data width of the internal data bus, etc.,
23, the data width of the data to be processed, the extended data bus B1
The data width of No. 2 may be adjusted to the new data width.
Further, at this time, the aligner 139 shown in FIG. 2 is required. For example, when the extension data bus B12 is set to 128
When the bit is bitted, the aligner 139 may be configured to cut out the first 128 bits or the last 128 bits of the 256 bits read from the DRAM 15 and transfer the cut data to the extended data bus B12.

【0047】<発明の実施の形態2>図5に示すよう
に、本実施の形態では、データバスB17は、マイクロ
プロセッサ1の外部に設けられた図示しない一つまたは
複数の周辺デバイスに接続される外部データバス(シス
テムバストも呼ばれる)を構成するデータバスであり、
マイクロプロセッサ1上に設けられている部分(オンチ
ップ部分)と、マイクロプロセッサ1の外部に位置する
部分(チップ外部分)とからなるが、以下ではこれらの
二つの部分を区別することなく単に外部データバスと呼
ぶことがある。外部データバスB17のデータ幅は、た
とえば実施の形態1と同じく16ビットである。バスイ
ンターフェイス回路17は、この外部データバスB17
を介して上記周辺デバイスとの間でデータを交換するた
めのインタフェース回路である。データ処理ユニット1
1用のローカルデータバスB11は、実施の形態1と同
様にデータ処理ユニット11の内部データバス115〜
117と同じビット幅たとえば32ビットを有する。第
1の実施の形態と異なり、本実施の形態では、データ処
理ユニット11はこのローカルデータバスB11を介し
てバスインターフェイス回路17に接続され、さらに、
命令デコーダ14、キャッシュ16は、このローカルデ
ータバスB11に接続され、このローカルデータバスB
11は、バスインターフェイス回路17を介して外部デ
ータバスB17に接続されている。さらに、DRAM1
5は、バス選択器13を介してこの外部データバスB1
7に接続され、拡張演算ユニット12もこの外部データ
バスB17に接続されるとともに、拡張データバスB1
2を介してバス選択器13に接続されている。拡張デー
タバスB12のビット幅は実施の形態1と同じく256
ビットと仮定する。バス選択器13は、DRAMバスB
15を外部データバスB17と拡張データバスB12の
一方に切り換えて接続するのに使用される。DRAMバ
スB15のビット幅は実施の形態1と同じく256ビッ
トと仮定する。このように、バス選択器13は、バスイ
ンターフェイス回路17とDRAM15との間に位置
し、外部データバスB17を介してデータ処理ユニット
11からは外部デバイスと同じように制御される。拡張
演算ユニット12も外部データバスB17に接続されて
いるので、データ処理ユニット11からは外部デバイス
と同様に制御される。DRAM15も同様である。
<Embodiment 2 of the Invention> As shown in FIG. 5, in the present embodiment, the data bus B17 is connected to one or a plurality of peripheral devices (not shown) provided outside the microprocessor 1. Data bus that constitutes an external data bus (also called a system bust)
It consists of a part provided on the microprocessor 1 (on-chip part) and a part located outside the microprocessor 1 (off-chip part). Sometimes called a data bus. The data width of external data bus B17 is, for example, 16 bits as in the first embodiment. The bus interface circuit 17 is connected to the external data bus B17.
And an interface circuit for exchanging data with the peripheral device through the interface. Data processing unit 1
Local data bus B11 for internal data bus 115 of data processing unit 11 as in the first embodiment.
It has the same bit width as 117, for example, 32 bits. Unlike the first embodiment, in the present embodiment, the data processing unit 11 is connected to the bus interface circuit 17 via the local data bus B11.
The instruction decoder 14 and the cache 16 are connected to the local data bus B11.
Reference numeral 11 is connected to an external data bus B17 via a bus interface circuit 17. Furthermore, DRAM1
5 is connected to the external data bus B1 via the bus selector 13.
7 and the extended operation unit 12 is also connected to the external data bus B17 and the extended data bus B1.
2 is connected to the bus selector 13. The bit width of the extended data bus B12 is 256 as in the first embodiment.
Assume a bit. The bus selector 13 is a DRAM bus B
15 is used to switch and connect to one of the external data bus B17 and the extended data bus B12. It is assumed that the bit width of DRAM bus B15 is 256 bits as in the first embodiment. As described above, the bus selector 13 is located between the bus interface circuit 17 and the DRAM 15, and is controlled by the data processing unit 11 via the external data bus B17 in the same manner as an external device. The extended operation unit 12 is also connected to the external data bus B17, so that the data processing unit 11 controls the same as an external device. The same applies to the DRAM 15.

【0048】データ処理ユニット11は、ローカルデー
タバスB11、バスインターフェイス回路17、外部デ
ータバスB22、バス選択器13、DRAMバスB15
を介してDRAM15をアクセスする。第1の実施の形
態では、DRAM15へのアクセスのための制御信号
は、バス選択器13内に設けたアドレスデコーダ13
1、DRAMアドレス制御回路134、DRAMタイミ
ング制御回路135により生成された。DRAM5は外
部データバスとは別のDRAMバスB15に接続されて
いたので、これらの回路を高速なものとすることによ
り、DRAM15へのアクセスを、DRAM15が外部
データバスに接続されている従来の場合(たとえば図8
の場合)よりも高速に実行できる。しかし、このために
は、すでに述べたように上記アクセスに使用する回路
(バス選択器13内の上記回路)を高速なものとする必
要がある。しかし、本実施の形態は、DRAM15も、
外部デバイスと同様に制御して、それでいて、拡張演算
ユニット12とDRAM15の幅の広いデータの転送を
可能にするという特徴を有する。すなわち、DRAM1
5は外部データバスB17に接続されているので、バス
選択器13内に設けられるDRAM15をアクセスする
ための回路を従来DRAM15がマイクロプロセッサ1
の外部に設けられている場合(たとえば図8の場合)と
同程度に速度で動作するものでよい。したがって、本実
施の形態では、DRAM15へのデータ処理ユニット1
1からのアクセスは実施の形態1と異なり遅くなるが、
拡張演算ユニット12とDRAM15の幅の広いデータ
の転送を実現できる。
The data processing unit 11 includes a local data bus B11, a bus interface circuit 17, an external data bus B22, a bus selector 13, and a DRAM bus B15.
The DRAM 15 is accessed via the. In the first embodiment, a control signal for accessing the DRAM 15 is provided by an address decoder 13 provided in the bus selector 13.
1, generated by the DRAM address control circuit 134 and the DRAM timing control circuit 135. Since the DRAM 5 is connected to the DRAM bus B15 different from the external data bus, by making these circuits high-speed, the access to the DRAM 15 can be performed in the conventional case where the DRAM 15 is connected to the external data bus. (For example, FIG.
) Can be executed faster. However, for this purpose, as described above, it is necessary to increase the speed of the circuit used for the access (the circuit in the bus selector 13). However, in the present embodiment, the DRAM 15
It is controlled in the same manner as an external device, but has a feature that it enables transfer of wide data between the extended operation unit 12 and the DRAM 15. That is, the DRAM 1
5 is connected to the external data bus B17, so that a circuit for accessing the DRAM 15 provided in the bus
May be operated at the same speed as that provided outside (for example, in the case of FIG. 8). Therefore, in the present embodiment, the data processing unit 1
Although the access from 1 is slow unlike Embodiment 1,
Wide data transfer between the extended operation unit 12 and the DRAM 15 can be realized.

【0049】データ処理ユニット11は、ローカルデー
タバスB11を介してキャッシュ16をアクセスする。
さらに、ローカルデータバスB11、バスインターフェ
イス回路17、外部データバスB17を介して拡張演算
ユニット12および外部デバイス(図示せず)をアクセ
スできる。
The data processing unit 11 accesses the cache 16 via the local data bus B11.
Further, the extended operation unit 12 and an external device (not shown) can be accessed via the local data bus B11, the bus interface circuit 17, and the external data bus B17.

【0050】データ処理ユニット11は、ローカルデー
タバスB11を利用して命令デコーダ22に命令をキャ
ッシュ16またはDRAM15から読み込み、命令デコ
ーダ22は、データ処理ユニット11に対して制御信号
を発生する。データ処理ユニット11は、その制御信号
により、キャッシュ16とバスインターフェイス回路1
7を通じてデータにアクセスして処理を行う。
The data processing unit 11 reads an instruction from the cache 16 or the DRAM 15 into the instruction decoder 22 using the local data bus B11, and the instruction decoder 22 generates a control signal for the data processing unit 11. The data processing unit 11 controls the cache 16 and the bus interface circuit 1 according to the control signal.
7 to access the data for processing.

【0051】第1の実施の形態と同様に、DRAM15
はデータ処理ユニット11と同一LSI上に配置される
ため、DRAMバスB15の幅を広くとることができ
る。しかし、外部データバスB17は、外部デバイスと
の接続や拡張演算ユニット12へのデータアクセスに使
用されるため、DRAMバスB15ほど幅を広くするこ
とはできない。本実施の形態では、バス選択器13内に
拡張データバスB12とDRAMバスB15とを接続す
る部分を設け、さらに拡張演算ユニット12をデータ外
部データバスB17にも接続する。この構成により、拡
張データバスB12を利用して広いバス幅でデータをD
RAM15と拡張演算ユニット12の間で直接転送でき
る。また、外部データバスB17と、拡張データバスB
12とを独立に使用されるすることができるため、DR
AM15と拡張演算ユニット12の間でデータ転送をし
ているときに、その転送と並行して、DRAM15をア
クセスしない命令たとえば外部データバスB17を使用
して外部デバイスとの間でデータ転送を実行する命令を
データ処理ユニット11が実行できる。
As in the first embodiment, the DRAM 15
Are arranged on the same LSI as the data processing unit 11, the width of the DRAM bus B15 can be widened. However, since the external data bus B17 is used for connection with an external device and for data access to the extended operation unit 12, the external data bus B17 cannot be as wide as the DRAM bus B15. In this embodiment, a portion for connecting the extended data bus B12 and the DRAM bus B15 is provided in the bus selector 13, and the extended operation unit 12 is also connected to the data external data bus B17. With this configuration, data can be transmitted over a wide bus width using the extended data bus B12.
Data can be directly transferred between the RAM 15 and the extended operation unit 12. The external data bus B17 and the extended data bus B
12 can be used independently, so DR
When data is transferred between the AM 15 and the extended arithmetic unit 12, data transfer is executed in parallel with the transfer using an instruction that does not access the DRAM 15, for example, an external device using the external data bus B17. The instructions can be executed by the data processing unit 11.

【0052】さらに、実施の形態1では、拡張演算ユニ
ット12用に用意された特別の演算命令、ロード命令、
ストア命令が使用されたが、本実施の形態では、拡張演
算ユニット12用の特定の命令は使用されず、データ処
理ユニット11が実行可能な命令を使用される。このた
め、本実施の形態は従来の命令アーキテクチャで動作可
能である。すなわち、拡張演算ユニット12の動作に必
要なデータおよび制御信号は、いわゆるメモリマップド
I/O動作によりメモリライト命令を使用して拡張演算
ユニット12に設けられた複数のレジスタに書き込まれ
る。すなわち、データ処理ユニット11が拡張演算ユニ
ット12内のいずれかのレジスタに書き込むストア命令
を実行すると、その命令が指定するデータあるいは制御
信号が、データ処理ユニット11からバスインターフェ
イス回路17、外部データバスB17を介して拡張演算
ユニット12に与えられる。バス選択器13も実施の形
態1のように、データ処理ユニット11用の命令あるい
は拡張演算ユニット12用の命令に応答してバスを選択
するのではなく、後に説明するように、DRAM15へ
のメモリアクセス命令が外部データバスB17と拡張演
算ユニット12のいずれから与えられたか否かにより、
DRAMバスB15を外部データバスB17または拡張
データバスB12に接続する。
Furthermore, in the first embodiment, special operation instructions, load instructions,
Although the store instruction is used, in this embodiment, a specific instruction for the extended operation unit 12 is not used, and an instruction executable by the data processing unit 11 is used. Therefore, this embodiment can operate with the conventional instruction architecture. That is, data and control signals required for the operation of the extended operation unit 12 are written into a plurality of registers provided in the extended operation unit 12 using a memory write instruction by a so-called memory-mapped I / O operation. That is, when the data processing unit 11 executes a store instruction to write to any of the registers in the extended operation unit 12, data or control signals specified by the instruction are transmitted from the data processing unit 11 to the bus interface circuit 17, the external data bus B17. To the extended operation unit 12 via As in the first embodiment, the bus selector 13 does not select a bus in response to an instruction for the data processing unit 11 or an instruction for the extended operation unit 12, but a memory for the DRAM 15 as described later. Depending on whether the access instruction is given from the external data bus B17 or the extended operation unit 12,
The DRAM bus B15 is connected to the external data bus B17 or the extended data bus B12.

【0053】実施の形態1と同様に、DRAM15は3
2バイトアドレス境界を有するアドレスでもってアクセ
スされ、256ビットのデータを読み書き可能である。
しかし、本実施の形態では、DRAM15とデータ処理
ユニット11の間でのデータ転送は、外部データバスB
17を介して行われ、この外部データバスB17は、ロ
ーカルデータバスB11より狭いビット幅、たとえば1
6ビットを有する。他のデータバスに関する条件は実施
の形態1と同じである。したがって、バスインターフェ
イス回路17とDRAM15の間では、基本的には16
ビットのデータを単位にして実行される。すなわち、実
施の形態1で説明した32ビットのデータをリードライ
とするロングワードのリードライトの場合、本実施の形
態ではバスインターフェイス回路17はDRAM15に
対して2度のアクセス要求を発行する。たとえばバスイ
ンターフェイス回路17は、データ処理ユニット11か
らロングワードのリード要求をローカルデータバスB1
1を介して受け取った場合、このロングワードの前半1
6ビットのデータの読み出しと後半16ビットの読み出
しを要求する二つのメモリ読み出し要求をバス選択器1
3にバスB17を介して出力する。バスインターフェイ
ス回路17は、それぞれのメモリ読み出し要求に対して
DRAM15から読み出された前半16ビットと後半1
6ビットを受け取ると、これらのデータを組み合わせて
32ビットデータとしてデータ処理ユニット11にロー
カルデータバスB11を介して転送する。バスインター
フェイス回路17は、データ処理ユニット11からロン
グワードのストア要求を受け取ったときには同様にして
この要求が指定するストアデータを前半データと後半デ
ータに分け、それぞれのデータに対してメモリ書き込み
要求を発行する。
As in the first embodiment, the DRAM 15
It is accessed with an address having a 2-byte address boundary and can read and write 256-bit data.
However, in the present embodiment, data transfer between the DRAM 15 and the data processing unit 11 is performed by the external data bus B.
The external data bus B17 has a bit width smaller than that of the local data bus B11, for example, 1 bit.
It has 6 bits. Conditions for other data buses are the same as in the first embodiment. Therefore, between the bus interface circuit 17 and the DRAM 15, basically 16
It is executed in units of bit data. That is, in the case of the long-word read / write in which 32-bit data is read-write described in the first embodiment, the bus interface circuit 17 issues the access request to the DRAM 15 twice in the present embodiment. For example, the bus interface circuit 17 sends a long word read request from the data processing unit 11 to the local data bus B1.
1 if received through the first half of this longword
Two memory read requests requesting reading of 6-bit data and reading of the latter 16 bits are performed by the bus selector 1.
3 via the bus B17. The bus interface circuit 17 stores the first 16 bits and the second 1 bits read from the DRAM 15 in response to each memory read request.
When 6 bits are received, these data are combined and transferred as 32-bit data to the data processing unit 11 via the local data bus B11. When receiving a long word store request from the data processing unit 11, the bus interface circuit 17 similarly divides the store data specified by the request into first half data and second half data, and issues a memory write request for each data. I do.

【0054】図6に示すように、バス選択器13は、図
2に示した実施の形態1で使用されたバス選択器13と
同様の構造を有する。しかし、実施の形態1でのバス選
択器13と異なり、図2のバス選択器13では、リード
/ライトバッファ136の一端が16ビットの外部デー
タバスB17に接続され、このリード/ライトバッファ
136の多端が16ビットのローカルデータバスB38
に接続されている。さらに、アライナ138は、256
ビットの拡張データバスB36と16ビットのローカル
データバスB38の間に設けられている。さらに、実施
の形態では調停回路133を制御する信号14Cが命令
デコーダ14(図1)より与えられたが、図6のバス選
択器13では、実施の形態1でも設けられたアドレスデ
コーダ131がデータ処理ユニット11から線17Aに
与えられるメモリアドレスをデコードするとともに、新
たに拡張演算ユニット12から線12Aに供給されるメ
モリアドレスをデコードする第2のアドレスデコーダ1
32が設けられ、調停回路133は二つのアドレスデコ
ーダ131,132の出力により、外部データバスB1
7と拡張データバスB12のいずれをBDRAMバスB
15に接続する。この調停回路133の動作は拡張演算
ユニット12とDRAM15との間のデータ転送の場合
について後に説明する。DRAM15との間のデータ転
送の場合における調停回路133の動作は、実施の形態
1での説明から明らかであると思われるので、その説明
は省略する。なお、図に点線で示されたアライナ139
は本実施の形態では使用されないで、拡張データバスB
12のビット幅がたとえばDRAMバスB15のビット
幅より小さい変形例で使用されることは、実施の形態1
の場合と同じである。
As shown in FIG. 6, bus selector 13 has the same structure as bus selector 13 used in the first embodiment shown in FIG. However, unlike the bus selector 13 of the first embodiment, in the bus selector 13 of FIG. 2, one end of the read / write buffer 136 is connected to a 16-bit external data bus B17. 16-bit local data bus B38
It is connected to the. In addition, aligner 138 has 256
It is provided between a bit extension data bus B36 and a 16-bit local data bus B38. Further, in the embodiment, the signal 14C for controlling the arbitration circuit 133 is given from the instruction decoder 14 (FIG. 1). However, in the bus selector 13 in FIG. The second address decoder 1 decodes a memory address given to the line 17A from the processing unit 11 and decodes a memory address newly supplied to the line 12A from the extended operation unit 12.
32, and the arbitration circuit 133 outputs the external data bus B1 by the outputs of the two address decoders 131 and 132.
7 or the extended data bus B12
Connect to 15. The operation of the arbitration circuit 133 will be described later in the case of data transfer between the extended operation unit 12 and the DRAM 15. The operation of the arbitration circuit 133 in the case of transferring data to and from the DRAM 15 is apparent from the description of the first embodiment, and thus the description thereof is omitted. Note that the aligner 139 shown by a dotted line in FIG.
Are not used in the present embodiment, and the extended data bus B
In the first embodiment, a bit width of 12 is used in a modified example smaller than a bit width of DRAM bus B15.
Is the same as

【0055】図5に戻り、図には拡張演算ユニット12
の例として、DRAM15内の、輝度(Y)データ、色
(Cb)データ、色(Cr)データからなる画像データ
をRGBデータに変換する演算回路の概略ブロックを示
している。ここでは、各画素の画像データ(すなわち、
輝度(Y)データ、色(Cb)データ、色(Cr)デー
タ)は8ビットからなり、DRAM15の連続する25
6ビットの領域には、32個の画素に対するそれぞれ8
ビットの同一種類の画像データ(すなわち、輝度(Y)
データ、色(Cb)データ、色(Cr)データ)が記憶
されていると仮定する。以下に説明するように、拡張演
算ユニット12は一度のアクセスでDRAM15から3
2個の画素に対する合計256ビットの同一種類の画像
データ(すなわち、輝度(Y)データ、色(Cb)デー
タ、色(Cr)データ)を読み出し、それぞれの画素の
画像データを対応するRGB画像データに並列に変換す
るように構成されている。
Referring back to FIG. 5, the extended operation unit 12 is shown in FIG.
3 shows a schematic block diagram of an arithmetic circuit in the DRAM 15 for converting image data composed of luminance (Y) data, color (Cb) data, and color (Cr) data into RGB data. Here, the image data of each pixel (ie,
The luminance (Y) data, the color (Cb) data, and the color (Cr) data) consist of 8 bits,
In a 6-bit area, 8 pixels for 32 pixels each are used.
Bit of the same type of image data (ie, luminance (Y)
It is assumed that data, color (Cb) data, and color (Cr) data) are stored. As described below, the extended operation unit 12 can access three to three DRAMs in one access.
The same type of image data (that is, luminance (Y) data, color (Cb) data, and color (Cr) data) of a total of 256 bits for two pixels is read out, and the image data of each pixel is converted to corresponding RGB image data. Is configured to be converted in parallel.

【0056】より具体的には、拡張演算ユニット12
は、拡張データバスB12を介して拡張されたデータ幅
の画像データをDRAM15からバス選択器13を介し
て受け取るためのレジスタ261,262,263と、
これらのレジスタ内の画像データに対応するR、G、B
データを生成するRGB変換回路264と、生成された
RGBデータを第2の外部データバスB22に出力する
ための出力バッファ267と、この拡張演算ユニット1
2の動作を制御する動作制御レジスタ群265と、DR
AM15から読み出すべき画像データのアドレスを生成
するアドレス発生器266等を有する。
More specifically, the extended operation unit 12
Are registers 261, 262, and 263 for receiving image data having a data width extended via the extended data bus B12 from the DRAM 15 via the bus selector 13.
R, G, B corresponding to the image data in these registers
An RGB conversion circuit 264 for generating data; an output buffer 267 for outputting the generated RGB data to the second external data bus B22;
2, an operation control register group 265 for controlling the operation of DR2.
An address generator 266 for generating an address of image data to be read from the AM 15 is provided.

【0057】図7に、拡張演算ユニット12のより詳細
なブロックを示す。拡張演算ユニット12の動作制御
は、データ処理ユニット11が、拡張演算ユニット12
内の動作制御レジスタ群265に必要なデータを書き込
むことにより実現される。これらのレジスタへの書き込
みは、いわゆるメモリ書き込み命令をデータ処理ユニッ
ト11が実行することにより実現される。データ処理ユ
ニット11はいずれかのレジスタに対するメモリ書き込
み命令を実行すると、その命令が指定するメモリアドレ
スにしたがって、そのメモリアドレスが割り当てられた
レジスタにその命令が指定するデータを書き込む。すな
わち、いずれかのレジスタに対するメモリ書き込み命令
が命令デコーダ14により解読されたとき、データ処理
ユニット11のロード/ストア回路112内の図示しな
いバス制御回路が、この命令が指定するレジスタ群11
4内の第1,第2のレジスタからストアデータとメモリ
アドレスとを内部データバス115,116に送出さ
せ、このストアデータをローカルデータバスB11に送
出する。さらにそのロード/ストア回路112内の図示
しないメモリアクセス要求回路が、上記メモリアドレス
と書き込み要求を線112Aに送出する。このストアデ
ータと書き込み要求は、ローカルデータバスB11と線
112Aとの組と、バスインターフェイス回路17と、
外部データバスB17と線17Aとの組を通じて拡張演
算ユニット12に送られ、そのメモリアドレスが割り当
てられた動作制御レジスタにそのストアデータが書き込
まれる。
FIG. 7 shows a more detailed block of the extended arithmetic unit 12. The operation of the extended operation unit 12 is controlled by the data processing unit 11
It is realized by writing necessary data to the operation control register group 265 in the inside. Writing to these registers is realized by the data processing unit 11 executing a so-called memory write command. When executing a memory write instruction for any of the registers, the data processing unit 11 writes data specified by the instruction to a register to which the memory address is assigned in accordance with the memory address specified by the instruction. That is, when a memory write instruction for one of the registers is decoded by the instruction decoder 14, a bus control circuit (not shown) in the load / store circuit 112 of the data processing unit 11 causes the register group 11
4, the storage data and the memory address are transmitted from the first and second registers to the internal data buses 115 and 116, and the storage data is transmitted to the local data bus B11. Further, a memory access request circuit (not shown) in the load / store circuit 112 sends the memory address and the write request to the line 112A. The store data and the write request are transmitted to a pair of the local data bus B11 and the line 112A, the bus interface circuit 17,
The data is sent to the extended operation unit 12 through the pair of the external data bus B17 and the line 17A, and the stored data is written to the operation control register to which the memory address is assigned.

【0058】より具体的には、図7に示すように、動作
制御レジスタ群265は、輝度データ群の先頭のメモリ
アドレス、色(Cb)データ群の先頭のメモリアドレ
ス、色(Cr)データ群の先頭のメモリアドレスをそれ
ぞれ保持するためのレジスタ2652,2653,26
54と動作開始指定レジスタ2655を含み、この動作
制御レジスタ群265に関連して拡張演算ユニット12
の動作を制御するためのアドレスデコーダ2651が設
けられている。拡張演算ユニット12を動作させるとき
には、データ処理ユニット11により、DRAM15内
の連続する32個の画素に対する合計256ビットから
なる32個の輝度データの先頭のアドレスを指定するメ
モリアドレス、それらの32個の画素に対する32個の
色(Cb)データの先頭を指定するメモリアドレス、そ
れらの32個の画素に対する32個の色(Cr)データ
の先頭を指定するメモリアドレスを、レジスタ265
2,2653,2654に書き込むことを要求するメモ
リ書き込み命令を順次実行し、動作開始ビットをレジス
タ2655に書き込むメモリ書き込み命令をさらに実行
する。この結果、線17A上には、レジスタ2652,
2653,2654に割り当てられたメモリアドレスが
ストアアドレスとして順次データ処理ユニット11から
バスインターフェイス回路17を介して供給され、外部
データバスB17上には、上記3つのメモリアドレスお
よび動作開始ビットがストアデータとして順次データ処
理ユニット11からバスインターフェイス回路17を介
して供給される。アドレスデコーダ2651は、線17
A上に供給されるいずれかのストアドレスをデコードし
て、外部データバスB17上のストアデータをそのスト
アアドレスを割り当てられたレジスタに書き込む。
More specifically, as shown in FIG. 7, the operation control register group 265 includes a head memory address of the luminance data group, a head memory address of the color (Cb) data group, and a color (Cr) data group. Registers 2652, 2653, 26 for holding the head memory addresses of
54 and an operation start designation register 2655. The extended operation unit 12
Is provided with an address decoder 2651 for controlling the operation of. When the extended operation unit 12 is operated, the data processing unit 11 specifies a memory address for designating a head address of 32 luminance data consisting of a total of 256 bits for 32 consecutive pixels in the DRAM 15, A memory address specifying the head of 32 color (Cb) data for a pixel and a memory address specifying the head of 32 color (Cr) data for the 32 pixels are stored in a register 265.
2, 2653, 2654 are sequentially executed, and a memory write instruction for writing an operation start bit into the register 2655 is further executed. As a result, on line 17A, registers 2652,
The memory addresses assigned to the memory addresses 2653 and 2654 are sequentially supplied as store addresses from the data processing unit 11 via the bus interface circuit 17. On the external data bus B17, the three memory addresses and the operation start bits are stored as store data. The data is sequentially supplied from the data processing unit 11 via the bus interface circuit 17. Address decoder 2651 is connected to line 17
One of the strike addresses supplied to A is decoded, and the store data on the external data bus B17 is written to the register to which the store address is assigned.

【0059】これらのメモリ書き込み命令の実行により
レジスタ2655に動作開始ビットが書き込まれると、
拡張演算ユニット12は動作を開始する。まず、アドレ
ス発生器266が、レジスタ2652から輝度データ群
に対するメモリアドレスを読み出し、このメモリアドレ
スとメモリリード要求を線12Aを介してバス選択器1
3に送出する。バス選択器13では、アドレスデコーダ
252がそのリード要求を受け、調停回路253に拡張
演算ユニット12からのDRAMリードアクセスが入っ
たという情報とそのメモリアドレスを送る。調停回路2
53は、拡張演算ユニット12からDRAM15へのリ
ードアクセスが実行されるように調停を行う。すなわ
ち、DRAM15から読み出されたデータが拡張データ
バスB12に転送されるように、リード/ライトバッフ
ァ136,137を制御し、DRAMアドレス制御回路
134にそのメモリアドレスとリード要求を出力する。
DRAMアドレス制御回路134は、そのメモリアドレ
スをDRAM15内のアドレス(DRAMアドレス)に
変換し、DRAMタイミング制御回路133にそのDR
AMアドレス及び制御信号を発信し、また、アライナ1
39が使用される実施の形態ではそのアライナ139に
対してデータの切り出しを指示する。DRAMタイミン
グ制御回路133は、DRAM15をアクセスするため
の制御信号を発生し、DRAMアドレスでもってDRA
M15をアクセスする。
When the operation start bit is written into the register 2655 by executing these memory write instructions,
The extended operation unit 12 starts operation. First, the address generator 266 reads a memory address for the luminance data group from the register 2652, and transmits this memory address and a memory read request to the bus selector 1 via the line 12A.
3 In the bus selector 13, the address decoder 252 receives the read request, and sends to the arbitration circuit 253 information indicating that a DRAM read access from the extended arithmetic unit 12 has been entered and its memory address. Arbitration circuit 2
The arbitration unit 53 performs arbitration so that read access from the extended operation unit 12 to the DRAM 15 is performed. That is, the read / write buffers 136 and 137 are controlled so that the data read from the DRAM 15 is transferred to the extended data bus B12, and the memory address and the read request are output to the DRAM address control circuit 134.
The DRAM address control circuit 134 converts the memory address into an address (DRAM address) in the DRAM 15 and sends the DR address to the DRAM timing control circuit 133.
AM signal and control signal, and
In the embodiment where 39 is used, the aligner 139 is instructed to cut out data. The DRAM timing control circuit 133 generates a control signal for accessing the DRAM 15, and outputs a control signal based on the DRAM address.
Access M15.

【0060】DRAM15からは256ビットの輝度デ
ータ群が読み出される。読み出されたデータは、DRA
M I/O回路140、アライナ139があるときには
このアライナ139、リード/ライトバッファ137を
通じて拡張データバスB12に出力される。このデータ
(輝度データ(Y))は、拡張演算ユニット12内のレ
ジスタ261に記憶される。アドレス発生器266はそ
の後同様にして色(Cb)データ、色(Cr)データを
DRAM15から順次読み出す。レジスタ2611,2
62,263は、シフトレジスタを構成するように接続
され、DRAM15から新たに読み出されたデータが拡
張演算ユニット12に供給される毎に、順次レジスタ2
61→262→263の順にレジスタ261に読み出さ
れたデータを移動する。こうして3つの画像データ(輝
度、色Cb、色Cr)が読み出されると、レジスタ26
3には輝度(Y)データが記憶され、レジスタ262に
は色(Cb)データが記憶され、レジスタ261には色
データ(Cr)が記憶されることになる。
A group of 256-bit luminance data is read from the DRAM 15. The read data is DRA
When the M / O circuit 140 and the aligner 139 are provided, they are output to the extended data bus B12 through the aligner 139 and the read / write buffer 137. This data (luminance data (Y)) is stored in the register 261 in the extended operation unit 12. The address generator 266 then sequentially reads out color (Cb) data and color (Cr) data from the DRAM 15 in the same manner. Registers 2611 and 261,
62 and 263 are connected so as to constitute a shift register, and each time data newly read from the DRAM 15 is supplied to the extended operation unit 12, the register 2
The data read to the register 261 is moved in the order of 61 → 262 → 263. When the three pieces of image data (luminance, color Cb, and color Cr) are read in this way, the register 26
3 stores luminance (Y) data, the register 262 stores color (Cb) data, and the register 261 stores color data (Cr).

【0061】拡張演算ユニット12は、これらの3つの
レジスタに記録された画像データをRGB変換部264
に読み出し、RGB変換部264は、32個の画素のそ
れぞれの画像データに対するRGB変換を並列に行う。
すなわち、RGB変換部264は、256ビットの画像
データの内の同じ画素に対するそれぞれ8ビットの3つ
の画像データ(すなわち輝度データ(Y)、色(Cb)
データおよび色(Cr)データ)に対して図示したよう
に係数α、β、γとの掛け算及び加算を実行する32個
の演算器を有し、各演算器によりそれぞれ8ビットの
R,G,Bデータを生成する。32個の画素に対して得
られたそれぞれ8ビットのR、G、Bデータは、それぞ
れ一つの256ビットのR、G、Bデータとしてまとめ
られ、それぞれバッファ267に出力される。以上まで
の演算は、DRAMバスB15の幅(例えば256ビッ
ト)でのデータ演算である。出力バッファ267から外
部への出力は、画素単位の出力とするため、256ビッ
トを画素単位の8ビットのデータに変換して、32個の
画素に対して順番にかつ、同じ画素に対してはR、G、
Bデータが並列に出力バッファ267から外部データバ
スB22に出力される。したがって、今の例では、外部
データバスB22は24ビットであればよい。
The extended operation unit 12 converts the image data recorded in these three registers into an RGB conversion unit 264.
And the RGB conversion unit 264 performs the RGB conversion on the image data of each of the 32 pixels in parallel.
That is, the RGB conversion unit 264 performs three 8-bit image data (ie, luminance data (Y) and color (Cb)) for the same pixel in the 256-bit image data.
Data and color (Cr) data) as shown in the figure, there are 32 arithmetic units for executing multiplication and addition with coefficients α, β, and γ, and each arithmetic unit has 8-bit R, G, Generate B data. The 8-bit R, G, and B data obtained for each of the 32 pixels are combined into one 256-bit R, G, and B data, and output to the buffer 267. The above operations are data operations in the width of the DRAM bus B15 (for example, 256 bits). The output from the output buffer 267 to the outside is converted into 256-bit data in 8-pixel units in order to output the data in units of pixels. R, G,
The B data is output from the output buffer 267 to the external data bus B22 in parallel. Therefore, in the present example, the external data bus B22 only needs to be 24 bits.

【0062】このように、本実施の形態では、拡張演算
ユニット12は、拡張データバスB12を利用して、一
度に複数の画素分の画像データを転送することが可能と
なる。この結果、拡張演算ユニット12がDRAM15
をアクセスする頻度を低減でき、その結果、データ処理
ユニット11が他の処理のためにDRAM15をアクセ
スできる時間が従来より多くなり、データ処理ユニット
11の処理能力が向上する。
As described above, in the present embodiment, the extended operation unit 12 can transfer image data for a plurality of pixels at a time using the extended data bus B12. As a result, the extended operation unit 12
As a result, the time during which the data processing unit 11 can access the DRAM 15 for other processing becomes longer than before, and the processing capability of the data processing unit 11 improves.

【0063】<発明の実施の形態2の変形例>実施の形
態2について説明した種々の変形は実施の形態2に対し
ても適用可能である。
<Modifications of Second Embodiment of the Invention> Various modifications described for the second embodiment are also applicable to the second embodiment.

【0064】たとえば、発明の実施の形態1と同様に、
拡張演算ユニット12が処理可能なデータのデータ幅
を、DRAMバスB15よりも幅が狭く、しかし、デー
タ処理ユニット11が処理可能なデータのデータ幅より
は広くすることもできる。このときには、拡張演算ユニ
ット12内のレジスタ群124内の各レジスタのデータ
幅、内部データバス等のデータ幅、演算器123が処理
するデータのデータ幅、拡張データバスB12のデータ
幅もこの新たなデータ幅に合わせればよい。さらに、こ
のときには、図6に示したアライナ139が必要であ
る。たとえば、拡張データバスB12を128ビットす
ると、DRAM15から読み出された256ビットの内
の前半128ビットあるいは後半128ビットを切り出
して、拡張データバスB12に転送するように、アライ
ナ139を構成すればよいことは、実施の形態1と同じ
である。
For example, as in the first embodiment of the invention,
The data width of the data that can be processed by the extended operation unit 12 is narrower than the DRAM bus B15, but may be wider than the data width of the data that the data processing unit 11 can process. At this time, the data width of each register in the register group 124 in the extended arithmetic unit 12, the data width of the internal data bus, the data width of the data processed by the arithmetic unit 123, and the data width of the extended data bus B12 are also new. What is necessary is just to match the data width. Further, at this time, the aligner 139 shown in FIG. 6 is required. For example, when the extended data bus B12 has 128 bits, the aligner 139 may be configured to cut out the first 128 bits or the last 128 bits of the 256 bits read from the DRAM 15 and transfer the extracted data to the extended data bus B12. This is the same as in the first embodiment.

【0065】また、拡張演算ユニット12を構成する演
算器の構成も、実施の形態1で例示したようにいろいろ
の構造のものを使用できる。
The arithmetic unit constituting the extended arithmetic unit 12 may have various structures as exemplified in the first embodiment.

【0066】さらに、以上ではオンチップメモリとし
て、大容量メモリに適するDRAMを使用したが、これ
に代えて他のメモリを使用することも可能である。
Further, although a DRAM suitable for a large-capacity memory is used as the on-chip memory in the above description, another memory can be used instead.

【0067】[0067]

【発明の効果】本発明によれば、データ処理ユニット
(プロセッサ)と同一LSI上に配置されたメモり内の
データを効率よく処理できるマイクロプロセッサが得ら
れる。
According to the present invention, a microprocessor capable of efficiently processing data in a memory arranged on the same LSI as a data processing unit (processor) can be obtained.

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

【図1】本発明によるマイクロプロセッサの第1の実施
形態を示す図。
FIG. 1 is a diagram showing a first embodiment of a microprocessor according to the present invention.

【図2】図1の装置に使用されるバス選択器の概略ブロ
ック図。
FIG. 2 is a schematic block diagram of a bus selector used in the apparatus of FIG.

【図3】図1の装置におけるデータ処理ユニットによる
演算の実行を説明する図。
FIG. 3 is a view for explaining execution of an operation by a data processing unit in the apparatus of FIG. 1;

【図4】図1の装置における拡張演算ユニットによる演
算の実行を説明する図。
FIG. 4 is a view for explaining execution of an operation by an extended operation unit in the apparatus of FIG. 1;

【図5】本発明によるマイクロプロセッサの第2の実施
形態を示す図。
FIG. 5 is a diagram showing a second embodiment of a microprocessor according to the present invention.

【図6】図5の装置に使用されるバス選択器の概略ブロ
ック図。
FIG. 6 is a schematic block diagram of a bus selector used in the device of FIG.

【図7】図5の装置に使用する拡張演算ユニットの概略
ブロック図。
FIG. 7 is a schematic block diagram of an extended operation unit used in the device of FIG. 5;

【図8】従来のマイクロプロセッサの概略ブロック図。FIG. 8 is a schematic block diagram of a conventional microprocessor.

【図9】従来の他のマイクロプロセッサの概略ブロック
図。
FIG. 9 is a schematic block diagram of another conventional microprocessor.

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

1…マイクロプロセッサ、11…データ処理ユニット、
12…拡張演算ユニット、136,137…リード/ラ
イトバッファ。
DESCRIPTION OF SYMBOLS 1 ... Microprocessor, 11 ... Data processing unit,
12: Extended operation unit, 136, 137: Read / write buffer.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/78 510 G06F 15/78 510A (72)発明者 中瀬 純子 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所システムLSI開発セン タ内 (72)発明者 中本 貴士 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所システムLSI開発セン タ内 Fターム(参考) 5B033 AA03 AA14 DB04 DB09 DC04 DD09 5B060 MB03 5B061 FF02 GG02 5B062 AA03 CC01 DD10 ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification FI FI Theme Court ゛ (Reference) G06F 15/78 510 G06F 15/78 510A (72) Inventor Junko Nakase 5-chome, Kamisumihonmachi, Kodaira-shi, Tokyo No. 1 Hitachi, Ltd. System LSI Development Center (72) Inventor Takashi Nakamoto 5-2-1 Kamisumihonmachi, Kodaira-shi, Tokyo F-term, Hitachi System LSI Development Center (Reference) 5B033 AA03 AA14 DB04 DB09 DC04 DD09 5B060 MB03 5B061 FF02 GG02 5B062 AA03 CC01 DD10

Claims (20)

【特許請求の範囲】[Claims] 【請求項1】第1のデータ幅以下のデータ幅のデータに
対して命令が指定する処理を実行するためのデータ処理
ユニットと、 上記第1のデータ幅より広く第2のデータ幅以下のデー
タ幅のデータに対する演算を実行できる拡張演算ユニッ
トと、 上記第2のデータ幅以上の第3のデータ幅のデータを読
み書きできるダイナミックランダムアクセスメモリ(D
RAM)と、 上記データ処理ユニットに接続され、上記データ処理ユ
ニットとの間でデータを交換するための上記第1のデー
タ幅を有する第1のデータバスと、 上記拡張演算ユニットに接続された、上記拡張演算ユニ
ットとの間でデータを交換するための上記第2のデータ
幅を有する第2のデータバスと、 上記DRAMに接続され、上記DRAMとの間で読み書
きするデータを交換するための上記第3のデータ幅を有
する第3のデータバスと、 上記第1、第2のデータバスの一方を切り換えて上記第
3のデータバスに接続するためのバス選択回路とを単一
の半導体集積回路チップ上に有するマイクロプロセッ
サ。
1. A data processing unit for executing a process specified by an instruction on data having a data width equal to or less than a first data width; An extended operation unit capable of executing an operation on data of a width, and a dynamic random access memory (D
RAM), a first data bus connected to the data processing unit and having the first data width for exchanging data with the data processing unit, and connected to the extended arithmetic unit. A second data bus having the second data width for exchanging data with the extended operation unit, and a second data bus connected to the DRAM for exchanging data to be read / written with the DRAM. A single semiconductor integrated circuit comprising: a third data bus having a third data width; and a bus selection circuit for switching one of the first and second data buses and connecting to the third data bus. A microprocessor on a chip.
【請求項2】上記バス選択回路は、上記データ処理ユニ
ットと上記DRAMとの間で双方向にデータ転送可能で
あり、かつ、上記拡張演算ユニットと上記DRAMとの
間で双方向にデータ転送可能である請求項1記載のマイ
クロプロセッサ。
2. The bus selection circuit is capable of bidirectional data transfer between the data processing unit and the DRAM, and bidirectional data transfer between the extended operation unit and the DRAM. The microprocessor according to claim 1, wherein
【請求項3】上記バス選択回路は、上記データ処理ユニ
ットと上記DRAMとの間のデータ転送を要求する第1
種の命令または上記拡張演算ユニットと上記DRAMと
の間のデータ転送を要求する第2種の命令に応答して、
それぞれ上記第1のデータバスまたは上記第2のデータ
バスを上記第3のデータバスに接続する回路を有する請
求項1または2記載のマイクロプロセッサ。
3. The first bus selection circuit requests a data transfer between the data processing unit and the DRAM.
In response to a second type instruction that requests data transfer between the extended operation unit and the DRAM,
3. The microprocessor according to claim 1, further comprising a circuit that connects the first data bus or the second data bus to the third data bus.
【請求項4】上記第2のデータバスに接続され、上記D
RAMから読み出されたデータあるいは命令を保持する
ためのキャッシュと、 上記第2のデータバスに接続され、上記DRAMから読
み出された命令を解読するための命令デコーダと、 上記第2のデータバスに接続され、上記マイクロプロセ
ッサの外部のデータバスを介してそれに接続された装置
と上記マイクロプロセッサとの間でデータを転送するた
めのバスインターフェイス回路とをさらに有する請求項
1から3のいずれか一つに記載のマイクロプロセッサ。
4. The data bus connected to the second data bus,
A cache for holding data or instructions read from the RAM, an instruction decoder connected to the second data bus for decoding instructions read from the DRAM, and a second data bus And a bus interface circuit for transferring data between the microprocessor and a device connected to the microprocessor via a data bus external to the microprocessor. A microprocessor according to any one of the preceding claims.
【請求項5】上記データ処理ユニットは、上記データ処
理ユニットと上記DRAMとの間のデータ転送を要求す
る第1種の命令もしくは上記拡張演算ユニットと上記D
RAMとの間のデータ転送を要求する第2種の命令に応
答して、それぞれ上記データ処理ユニットと上記DRA
Mとの間のデータ転送を要求する第1種のメモリアクセ
ス要求あるいは上記拡張演算ユニットと上記DRAMと
の間のデータ転送を要求する第2種のメモリアクセス要
求を上記バス選択回路に供給するためのメモリアクセス
要求回路を有する請求項1から4のいずれか一つに記載
のマイクロプロセッサ。
5. The data processing unit according to claim 1, wherein said data processing unit is a first type instruction for requesting data transfer between said data processing unit and said DRAM or said extended operation unit and said D / A processing unit.
The data processing unit and the DRA are respectively responsive to a second type of instruction requesting data transfer to and from the RAM.
A first type of memory access request for requesting data transfer to / from the M or a second type of memory access request for requesting data transfer between the extended operation unit and the DRAM is supplied to the bus selection circuit. 5. The microprocessor according to claim 1, further comprising a memory access request circuit.
【請求項6】上記拡張演算ユニットは、 上記第2のデータ幅以下のデータ幅のデータに対して演
算を実行できる拡張演算器と、 それぞれ上記拡張演算器に接続され、それぞれ上記拡張
演算器による演算を受けるべきデータあるいは上記拡張
演算器による演算結果データを保持し、それぞれ上記第
2のデータ幅を有し、それぞれ上記拡張演算ユニットに
よる処理を要求する命令でもって指定可能な複数の拡張
レジスタと、 上記複数の拡張レジスタに接続され、上記第2のデータ
バスと上記複数の拡張レジスタのいずれかとの間で上記
第2のデータ幅のデータの転送を制御するための制御回
路とを有し、 上記拡張演算器は、所定の複数の演算の内、上記拡張演
算ユニットによる演算を要求する命令が指定する一つの
演算を実行可能である請求項1から5のいずれか一つに
記載のマイクロプロセッサ。
6. The extended operation unit, wherein the extended operation unit is capable of executing an operation on data having a data width equal to or less than the second data width, and each of the extended operation units is connected to the extended operation unit. A plurality of extension registers which hold data to be operated or operation result data by the extension operation unit, each having the second data width, and each of which can be designated by an instruction requesting processing by the extension operation unit; A control circuit connected to the plurality of extension registers, for controlling transfer of data of the second data width between the second data bus and any of the plurality of extension registers; The extended operation unit is capable of executing one operation specified by an instruction requesting an operation by the extended operation unit, out of a plurality of predetermined operations. A microprocessor according to any one of claims 1 to 5.
【請求項7】上記拡張演算器は、上記第2のデータ幅以
下のデータ幅を有するデータの異なる部分に対して同じ
演算を並列に実行するための複数の演算器を含む請求項
6記載のマイクロプロセッサ。
7. The extended computing unit according to claim 6, wherein said extended computing unit includes a plurality of computing units for executing the same operation in parallel on different portions of data having a data width smaller than said second data width. Microprocessor.
【請求項8】上記データ処理ユニットは、 上記第1のデータ幅以下のデータ幅のデータに対して演
算を実行できる基本演算器と、 それぞれ上記基本演算器に接続され、それぞれ上記基本
演算器による演算を受けるべきデータあるいは上記基本
演算器による演算結果データを保持し、それぞれ上記第
1のデータ幅を有し、それぞれ上記データ処理ユニット
あるいは上記拡張演算ユニットによる処理を要求する命
令でもって指定可能な複数の基本レジスタと、 上記複数の基本レジスタに接続され、上記第1のデータ
バスと上記複数の基本レジスタのいずれかとの間で上記
第1のデータ幅のデータの転送を制御するための制御回
路とをさらに有し、 上記基本演算器は、所定の複数の演算の内、上記データ
処理ユニットによる演算を要求する命令が指定する演算
を実行可能であり、 上記メモリアクセス要求回路は、上記複数の基本レジス
タに接続され、上記複数の基本レジスタのいずれかと上
記DRAMとの間のデータ転送を要求する第1種の命令
もしくは上記複数の拡張レジスタのいずれかと上記DR
AMとの間のデータ転送を要求する第2種の命令が指定
する、上記複数の基本レジスタの内の少なくとも一つに
保持されたアドレスデータに基づいて、上記データ処理
ユニットと上記DRAMとの間のデータ転送を要求する
第1種のメモリアクセス要求あるいは上記拡張演算ユニ
ットと上記DRAMとの間のデータ転送を要求する第2
種のメモリアクセス要求を上記バス選択回路に供給する
ためのメモリアクセス要求回路を有する請求項6または
7記載のマイクロプロセッサ。
8. A data processing unit comprising: a basic operation unit capable of executing an operation on data having a data width equal to or smaller than the first data width; and a basic operation unit connected to each of the basic operation units. Holds data to be operated or operation result data by the basic operation unit, each having the first data width, and can be designated by an instruction requesting processing by the data processing unit or the extended operation unit, respectively. A plurality of basic registers, and a control circuit connected to the plurality of basic registers, for controlling transfer of data of the first data width between the first data bus and any of the plurality of basic registers. The basic arithmetic unit further comprises: an instruction requesting an operation by the data processing unit among a plurality of predetermined operations. The memory access request circuit is connected to the plurality of basic registers and requests a data transfer between any of the plurality of basic registers and the DRAM; Any of the plurality of extension registers and the DR
Between the data processing unit and the DRAM based on address data held in at least one of the plurality of basic registers specified by a second type instruction requesting data transfer to and from the AM. A first type of memory access request for requesting data transfer or a second type of request for data transfer between the extended operation unit and the DRAM
8. The microprocessor according to claim 6, further comprising a memory access request circuit for supplying a kind of memory access request to said bus selection circuit.
【請求項9】上記第2のデータ幅と上記第3のデータ幅
が等しい請求項1から8のいずれか一つに記載のマイク
ロプロセッサ。
9. The microprocessor according to claim 1, wherein said second data width is equal to said third data width.
【請求項10】上記第1のデータ幅が32ビット、上記
第2、第3のデータ幅が256ビットである請求項9記
載のマイクロプロセッサ。
10. The microprocessor according to claim 9, wherein said first data width is 32 bits, and said second and third data widths are 256 bits.
【請求項11】第1のデータ幅以下のデータ幅のデータ
に対して命令が指定する処理を実行するためのデータ処
理ユニットと、 上記第1のデータ幅より広く第2のデータ幅以下のデー
タ幅のデータに対する演算を実行できる拡張演算ユニッ
トと、 上記第2のデータ幅以上の第3のデータ幅のデータを読
み書きできるダイナミックランダムアクセスメモリ(D
RAM)と、 上記データ処理ユニットに接続され、上記データ処理ユ
ニットとの間でデータを交換するための上記第1のデー
タ幅を有する第1のデータバスと、 上記拡張演算ユニットに接続された、上記拡張演算ユニ
ットとの間でデータを交換するための上記第2のデータ
幅を有する第2のデータバスと、 上記DRAMに接続され、上記DRAMとの間で読み書
きするデータを交換するための上記第3のデータ幅を有
する第3のデータバスと、 上記第1のデータ幅以下である第4のデータ幅を有し、
上記マイクロプロセッサの外部に設けられた装置に接続
されるための第4のデータバスと、 上記第1のデータバスと上記第4のデータバスとの間の
データ転送を制御するバスインタフェース回路と、 上記第2、第4のデータバスの一方を切り換えて上記第
3のデータバスに接続するためのバス選択回路とを単一
の半導体集積回路チップ上に有するマイクロプロセッ
サ。
11. A data processing unit for executing a process specified by an instruction on data having a data width equal to or smaller than a first data width, and data having a width larger than the first data width and equal to or smaller than a second data width. An extended operation unit capable of executing an operation on data having a width, and a dynamic random access memory (D) capable of reading and writing data having a third data width equal to or larger than the second data width.
RAM), a first data bus connected to the data processing unit and having the first data width for exchanging data with the data processing unit, and connected to the extended arithmetic unit. A second data bus having the second data width for exchanging data with the extended operation unit, and a second data bus connected to the DRAM for exchanging data to be read / written with the DRAM. A third data bus having a third data width, a fourth data width not greater than the first data width,
A fourth data bus for connecting to a device provided outside the microprocessor, a bus interface circuit for controlling data transfer between the first data bus and the fourth data bus, A microprocessor having, on a single semiconductor integrated circuit chip, a bus selection circuit for switching one of the second and fourth data buses to connect to the third data bus.
【請求項12】上記バス選択回路は、上記データ処理ユ
ニットと上記DRAMとの間で双方向にデータ転送可能
であり、かつ、上記DRAMから上記拡張演算ユニット
への方向にデータ転送可能である請求項10記載のマイ
クロプロセッサ。
12. The bus selection circuit is capable of bidirectional data transfer between the data processing unit and the DRAM, and is capable of data transfer from the DRAM to the extended operation unit. Item 11. The microprocessor according to Item 10.
【請求項13】上記バス選択回路は、上記データ処理ユ
ニットから上記バスインタフェース回路を介して供給さ
れる上記DRAMとの間のデータ転送を要求する命令ま
たは上記拡張演算ユニットから供給されると上記DRA
Mとの間のデータ転送を要求する命令に応答して、それ
ぞれ上記第4のデータバスまたは上記第2のデータバス
を上記第3のデータバスに接続する回路を有する請求項
11または12記載のマイクロプロセッサ。
13. The bus selection circuit according to claim 1, further comprising: an instruction for requesting data transfer from said data processing unit via said bus interface circuit to said DRAM, or said DRA when supplied from said extended operation unit.
13. The circuit according to claim 11, further comprising a circuit for connecting the fourth data bus or the second data bus to the third data bus in response to an instruction requesting data transfer to and from the M bus. Microprocessor.
【請求項14】上記第1のデータバスに接続され、上記
DRAMから読み出されたデータあるいは命令を保持す
るためのキャッシュと、 上記第1のデータバスに接続され、上記DRAMから読
み出された命令を解読するための命令デコーダとをさら
に有する請求項1から3のいずれか一つに記載のマイク
ロプロセッサ。
14. A cache connected to the first data bus for holding data or instructions read from the DRAM, and a cache connected to the first data bus and read from the DRAM. 4. The microprocessor according to claim 1, further comprising an instruction decoder for decoding an instruction.
【請求項15】上記データ処理ユニットは、上記データ
処理ユニットと上記DRAMとの間のデータ転送を要求
する第1種の命令に応答して、上記データ処理ユニット
と上記DRAMとの間のデータ転送を要求する第1種の
メモリアクセス要求を上記バスインターフェイス回路に
供給し、上記拡張演算ユニットに上記DRAMから読み
出すべき複数のデータを指定する複数のメモリアドレス
を上記拡張演算ユニットに書き込むことを要求する複数
の第2種の命令に応答して、複数の第2種のメモリ書き
込み要求を上記バスインターフェイス回路に供給するメ
モリアクセス要求回路を有し、 上記バスインターフェイス回路は、上記第1種のメモリ
アクセス要求および上記複数の第2種のメモリアクセス
要求をそれぞれ上記バス選択回路および上記拡張演算ユ
ニットに転送する回路を有し、 上記拡張演算ユニットは、 上記DRAMより読み出すべき複数のデータのメモリア
ドレスを保持するための、上記第4のデータバスに接続
された複数のアドレスレジスタと、 上記第4のデータバスに接続され、上記バスインターフ
ェイス回路から転送された上記複数の第2種のメモリア
クセス命令が指定する上記複数のメモリアドレスを複数
のレジスタに書き込む回路と、 上記複数のレジスタ内の上記複数のメモリアドレスをそ
れぞれ指定する複数のメモリアクセス要求を上記バス選
択回路に供給する回路とを有し、 上記バス選択回路は、上記バスインターフェイス回路か
ら転送された上記第1種のメモリアクセス要求に応答し
て上記第3のデータバスと上記第4のデータバスとを接
続し、上記拡張演算ユニットが供給した上記複数のメモ
リアクセス要求の各々に応答して上記第3のデータバス
と上記第2のデータバスとを接続する請求項11から1
4のいずれか一つに記載のマイクロプロセッサ。
15. A data transfer unit between said data processing unit and said DRAM in response to a first type command requesting data transfer between said data processing unit and said DRAM. Is supplied to the bus interface circuit, and requests the extended operation unit to write a plurality of memory addresses designating a plurality of data to be read from the DRAM to the extended operation unit. A memory access request circuit that supplies a plurality of second type memory write requests to the bus interface circuit in response to the plurality of second type instructions; the bus interface circuit includes the first type memory access Request and the plurality of second type memory access requests are respectively sent to the bus selection circuit and And a plurality of address registers connected to the fourth data bus for holding a memory address of a plurality of data to be read from the DRAM. A circuit connected to the fourth data bus and writing the plurality of memory addresses specified by the plurality of second type memory access instructions transferred from the bus interface circuit into a plurality of registers; And a circuit for supplying a plurality of memory access requests respectively designating the plurality of memory addresses to the bus selection circuit, wherein the bus selection circuit transfers the first type of memory transferred from the bus interface circuit. Connecting the third data bus and the fourth data bus in response to an access request; Claims 11 in response to each of the extended arithmetic unit supply the plurality of memory access requests for connecting the third data bus and the second data bus 1
5. The microprocessor according to any one of 4.
【請求項16】上記拡張演算ユニットは、 上記第2のデータ幅以下のデータ幅のデータに対して所
定の演算を実行できる拡張演算器と、 上記第2のデータバスに接続され、上記第2のデータバ
スを介して上記DRAMより読み出された上記拡張演算
器による演算を受けるべき複数のデータを保持し、それ
ぞれ上記第2のデータ幅を有する複数の拡張レジスタと
をさらに有する請求項15記載のマイクロプロセッサ。
16. The extended operation unit, wherein the extended operation unit is capable of executing a predetermined operation on data having a data width equal to or less than the second data width, and is connected to the second data bus; 16. A plurality of extension registers, each holding a plurality of data to be subjected to an operation by the extension operation unit and read from the DRAM via the data bus, and each of the extension registers having the second data width. Microprocessor.
【請求項17】上記拡張演算器は、上記第2のデータ幅
以下のデータ幅を有するデータの異なる部分に対して同
じ演算を並列に実行するための複数の演算器を含む請求
項16記載のマイクロプロセッサ。
17. The extended arithmetic unit according to claim 16, wherein said extended arithmetic unit includes a plurality of arithmetic units for executing the same operation in parallel on different portions of data having a data width smaller than said second data width. Microprocessor.
【請求項18】上記データ処理ユニットは、 上記第1のデータ幅以下のデータ幅のデータに対して演
算を実行できる基本演算器と、 それぞれ上記基本演算器に接続され、それぞれ上記基本
演算器による演算を受けるべきデータあるいは上記基本
演算器による演算結果データを保持し、それぞれ上記第
1のデータ幅を有し、それぞれ命令でもって指定可能な
複数の基本レジスタと、 上記複数の基本レジスタに接続され、上記第1のデータ
バスと上記複数の基本レジスタのいずれかとの間で上記
第1のデータ幅のデータの転送を制御するための制御回
路とをさらに有し、 上記基本演算器は、所定の複数の演算の内、上記データ
処理ユニットによる演算を要求する命令が指定する演算
を実行可能である請求項16または17記載のマイクロ
プロセッサ。
18. A data processing unit comprising: a basic operation unit capable of executing an operation on data having a data width equal to or smaller than the first data width; A plurality of basic registers, each holding data to be subjected to an operation or operation result data by the basic operation unit, each having the first data width, and each of which can be specified by an instruction; A control circuit for controlling the transfer of the data having the first data width between the first data bus and any of the plurality of basic registers. 18. The microprocessor according to claim 16, wherein an operation specified by an instruction requesting an operation by said data processing unit is executable among a plurality of operations. Ssa.
【請求項19】上記第2のデータ幅と上記第3のデータ
幅が等しい請求項11から18のいずれか一つに記載の
マイクロプロセッサ。
19. The microprocessor according to claim 11, wherein said second data width is equal to said third data width.
【請求項20】上記第1のデータ幅が32ビット、上記
第2、第3のデータ幅が256ビットである請求項19
記載のマイクロプロセッサ。
20. The first data width is 32 bits, and the second and third data widths are 256 bits.
The microprocessor as described.
JP11038585A 1999-02-17 1999-02-17 Microprocessor Pending JP2000235490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11038585A JP2000235490A (en) 1999-02-17 1999-02-17 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11038585A JP2000235490A (en) 1999-02-17 1999-02-17 Microprocessor

Publications (1)

Publication Number Publication Date
JP2000235490A true JP2000235490A (en) 2000-08-29

Family

ID=12529383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11038585A Pending JP2000235490A (en) 1999-02-17 1999-02-17 Microprocessor

Country Status (1)

Country Link
JP (1) JP2000235490A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
US20120096199A1 (en) * 2010-10-13 2012-04-19 Beomhak Lee Bus system including id converter and converting method thereof
CN110245096A (en) * 2019-06-24 2019-09-17 苏州硅岛信息科技有限公司 A method of realizing that processor is directly connected to extension computing module

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200735B2 (en) 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
US20120096199A1 (en) * 2010-10-13 2012-04-19 Beomhak Lee Bus system including id converter and converting method thereof
US9021169B2 (en) * 2010-10-13 2015-04-28 Samsung Electronics Co., Ltd. Bus system including ID converter and converting method thereof
CN110245096A (en) * 2019-06-24 2019-09-17 苏州硅岛信息科技有限公司 A method of realizing that processor is directly connected to extension computing module
CN110245096B (en) * 2019-06-24 2023-07-25 苏州暴雪电子科技有限公司 Method for realizing direct connection of processor with expansion calculation module

Similar Documents

Publication Publication Date Title
US6567426B1 (en) Preemptive timer multiplexed shared memory access
JP2836321B2 (en) Data processing device
EP0646873B1 (en) Single-chip microcomputer
US6378041B2 (en) Shared instruction cache for multiple processors
KR100268747B1 (en) Data processing device
JP3406744B2 (en) Data processor with controlled burst memory access and method thereof
JPH04217051A (en) Microprocessor
US20080270707A1 (en) Data processor
JP2005527035A (en) Access to wide memory
JP4226085B2 (en) Microprocessor and multiprocessor system
US6948049B2 (en) Data processing system and control method
JP2000029767A (en) Write buffer of data processor
JP2001075804A (en) Parallel processor processing expansion instruction
JP2000235490A (en) Microprocessor
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
JPS59114677A (en) Vector processor
JP5091548B2 (en) Memory system
WO2001067271A1 (en) Information processing device
JP2514473B2 (en) Parallel processor
JPH02187881A (en) Semiconductor integrated circuit
JP3727452B2 (en) Data processing apparatus and data processing system
JPH04255995A (en) Instruction cache
JPH06202982A (en) Method and device for bus control and information processor
JPH0458353A (en) Semiconductor integrated circuit device
JPH0438560A (en) Store data transfer system