JPH1091439A - Processor - Google Patents

Processor

Info

Publication number
JPH1091439A
JPH1091439A JP9126977A JP12697797A JPH1091439A JP H1091439 A JPH1091439 A JP H1091439A JP 9126977 A JP9126977 A JP 9126977A JP 12697797 A JP12697797 A JP 12697797A JP H1091439 A JPH1091439 A JP H1091439A
Authority
JP
Japan
Prior art keywords
bit
processor
instruction
processors
instructions
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
JP9126977A
Other languages
Japanese (ja)
Inventor
Hisashi Kodama
久 児玉
Kunitoshi Aono
邦年 青野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9126977A priority Critical patent/JPH1091439A/en
Publication of JPH1091439A publication Critical patent/JPH1091439A/en
Pending legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Memory System (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To improve performance by using the processor of wide bit width as the plural processors of narrow bit width in accordance with purposes. SOLUTION: A control part 321 for 32 bit processor 320 receives an instruction from a memory and analyzes whether the instruction is for a 32 bit processor or a 16 bit processor. In the case of the former, the 32-bit processor 320 is controlled by using two 16 bit instruction control parts 1610 and 1611. In the case of the latter, the control part 321 outputs 16 bit processor mode signals to two 16 bit instruction control parts 1610 and 1611. The 16 bit instruction control parts 1610 and 1611 independently control the 32-bit processor 320 as the two divided 16 bit processors 1600 and 1601. Thus, appropriate bit width adjusted to the purposes is selected and the two different processings are operated in parallel to improve the performance.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はプロセッサの改良に
関し、詳しくは、種々の処理を1台で行うことを要求さ
れる汎用プロセッサにおいて、そのデータのビット幅を
各処理で最適な長さに分割し、変更可能として、冗長を
防ぎ、同時に余ったビット幅を他の処理に使用できるよ
うにしたものに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an improvement of a processor, and more particularly, to a general-purpose processor which is required to perform various processes by one unit, dividing a data bit width into an optimum length for each process. In addition, the present invention relates to a device which can be changed so as to prevent redundancy and at the same time use the surplus bit width for other processing.

【0002】[0002]

【従来の技術】近年、プロセッサの処理能力の向上によ
り、高性能な1台のプロセッサで数多くの処理を行わせ
ることが期待されるようになってきた。1台のプロセッ
サが行う処理には、各種機器の制御や、映像/音声信号
処理等、多岐に亘っている。
2. Description of the Related Art In recent years, with the improvement of the processing capability of processors, it has been expected that a single high-performance processor can perform many processes. The processing performed by one processor covers a wide variety of areas, such as control of various devices and video / audio signal processing.

【0003】ここで、高性能なプロセッサは、従来、ビ
ット幅が広い。即ち、処理できるデータ量を多くできる
ように、ビット幅を広く設定している。
Here, a high-performance processor conventionally has a wide bit width. That is, the bit width is set wide so that the amount of data that can be processed can be increased.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、近年の
マルチメディアの時代に、1台のプロセッサが扱う処理
でのデータの種類は、音声信号処理のように広いビット
幅が必要なデータから、画像信号処理や各種制御のよう
にさほど広いビット幅が必要でないデータまで、様々で
ある。
However, in the multimedia era in recent years, the types of data handled by a single processor include data that requires a wide bit width such as audio signal processing and image signal processing. There are various types of data such as processing and various controls that do not require a very wide bit width.

【0005】従って、現状では、1台のプロセッサが扱
う処理のデータのうち、最も広いビット幅のデータに合
わせて、使用すべきプロセッサが選択される。その結
果、選択されたプロセッサのビット幅よりも狭いビット
幅で十分なデータの処理まで、冗長なビット幅で処理を
行っている。例えば、音声信号処理を汎用プロセッサで
行う場合、一般的に音質の良い処理を行うときには32
ビットのプロセッサが必要であり、一方、画像信号処理
では16ビットで足りる場合が多く、更には、簡単な制
御では8ビットで済む場合もある。従って、前記音声信
号処理、画像信号処理及び簡単の制御を1台のプロセッ
サで行う場合には、後者の画像信号処理や簡単な制御
は、冗長なビット幅での処理となる欠点がある。
Therefore, at present, a processor to be used is selected in accordance with data having the widest bit width among data processed by one processor. As a result, processing is performed with a redundant bit width until processing of sufficient data with a bit width smaller than the bit width of the selected processor. For example, when sound signal processing is performed by a general-purpose processor, generally when processing with good sound quality is performed, 32
A bit processor is required. On the other hand, 16 bits are often sufficient for image signal processing, and 8 bits may be sufficient for simple control. Therefore, when the audio signal processing, the image signal processing, and the simple control are performed by one processor, the latter image signal processing and the simple control have a disadvantage that the processing is performed with a redundant bit width.

【0006】そこで、従来、データの並列化を行うこと
により、狭いビット幅の複数個のデータを広いビット幅
のプロセッサで同時処理して、処理能力の向上を図るこ
とが行われている。しかしながら、例えば条件分岐処理
のような逐次的な処理を行う必要がある場合には、複数
個のデータを並列化できず、処理能力の向上は期待でき
ず、却って、広ビット幅の高価なプロセッサを用いる
分、機器全体のコストアップにつながっている。
Therefore, conventionally, by parallelizing data, a plurality of data having a narrow bit width are simultaneously processed by a processor having a wide bit width to improve the processing capability. However, when it is necessary to perform sequential processing such as conditional branch processing, for example, a plurality of data cannot be parallelized, and no improvement in processing capacity can be expected. The use of the device leads to an increase in the cost of the entire device.

【0007】このような状況から、高価な1台のプロセ
ッサに代えて、処理の数に等しい個数のプロセッサを用
意し、各プロセッサのビット幅を、対応する処理に適し
たビット幅として、コストダウンを図ろうとすると、例
えば信号処理等を行うための広ビット幅の高性能で廉価
なプロセッサと、逐次的処理を行うための狭ビット幅の
安価なプロセッサとの双方を用いることが必要になり、
その結果、部品点数が増え、機器が大きくなる欠点を招
く。
Under these circumstances, instead of one expensive processor, a number of processors equal to the number of processes are prepared, and the bit width of each processor is set to a bit width suitable for the corresponding process, thereby reducing cost. For example, it is necessary to use both a high-performance and inexpensive processor with a wide bit width for performing signal processing and the like and an inexpensive processor with a narrow bit width for performing sequential processing.
As a result, the number of parts is increased, which causes a drawback that the device becomes large.

【0008】本発明の目的は、複数の処理を1台のプロ
セッサで処理する場合に、そのプロセッサのビット幅を
変更可能として、その複数の処理を、その各処理に適し
たビット幅で行って、高性能化を図ることにある。
[0008] An object of the present invention is to make it possible to change the bit width of a processor when a plurality of processes are processed by one processor, and to perform the plurality of processes with a bit width suitable for each process. And high performance.

【0009】前記目的を達成するため、本発明では、広
ビット幅(例えば32ビット)の1台のプロセッサを、
必要に応じて、狭ビット幅(例えば16ビット)の複数
個(例えば2個)のプロセッサとして使用できるように
構成する。
In order to achieve the above object, the present invention provides a single processor having a wide bit width (for example, 32 bits),
If necessary, the configuration is such that the processor can be used as a plurality (for example, two) of processors having a narrow bit width (for example, 16 bits).

【0010】[0010]

【課題を解決するための手段】前記の目的を達成するた
め、請求項1記載の発明は、Nビット(Nは自然数)の
プロセッサにおいて、前記Nビットプロセッサ用の命令
と、N=M1+…+Mn(M1、Mnは自然数、nは2
以上の自然数)を満たすn個のMnビットプロセッサ用
の命令とを解読する解読部と、前記解読部により解読さ
れた命令が前記Nビットプロセッサ用の命令である場合
には、その命令を解読し実行するよう、前記Nビットプ
ロセッサを制御するNビットプロセッサ用命令制御部
と、前記解読部により解読された命令が前記n個のMn
ビットプロセッサ用の命令である場合には、前記Nビッ
トプロセッサをn個に分割したMnビットプロセッサと
し、前記n個の命令を並列に解読し実行するよう、前記
n個のMnビットプロセッサを制御するn個のMnビッ
トプロセッサ用命令制御部とを備えたことを特徴とす
る。
In order to achieve the above object, the present invention is directed to an N-bit (N is a natural number) processor, comprising: an instruction for the N-bit processor; and N = M1 +... + Mn. (M1 and Mn are natural numbers, n is 2
A decoding unit that decodes n instructions for the Mn-bit processor satisfying the above natural numbers), and if the instruction decoded by the decoding unit is an instruction for the N-bit processor, decodes the instruction. An instruction control unit for an N-bit processor that controls the N-bit processor so as to execute the instruction;
If the instruction is for a bit processor, the N-bit processor is divided into n Mn bit processors, and the n Mn bit processors are controlled so that the n instructions are decoded and executed in parallel. and n instruction control units for Mn bit processors.

【0011】請求項2記載の発明は、前記請求項1記載
のプロセッサにおいて、別途、前記Nビットプロセッサ
用の命令と、前記n個のMnビットプロセッサ用の命令
と、ある特定の命令とを記憶するメモリを備え、前記解
読部は、前記3種の命令を受け、前記特定の命令を解読
して、その特定の命令の後に受ける命令が前記Nビット
プロセッサ用の命令か、又は前記n個のMnビットプロ
セッサ用の命令かを判断することを特徴とする。
According to a second aspect of the present invention, in the processor of the first aspect, an instruction for the N-bit processor, an instruction for the n Mn-bit processors, and a specific instruction are separately stored. The decoding unit receives the three types of instructions, decodes the specific instruction, and receives an instruction after the specific instruction for the N-bit processor or the n instructions. It is characterized by determining whether the instruction is for an Mn bit processor.

【0012】請求項3記載の発明は、前記請求項2記載
のプロセッサにおいて、前記特定の命令はプロセッサ分
割命令であり、前記解読部は、前記分割命令を受けて、
その分割命令の後に受ける命令がn個のMnビットプロ
セッサ用の命令であることを判断することを特徴とす
る。
According to a third aspect of the present invention, in the processor according to the second aspect, the specific instruction is a processor division instruction, and the decoding unit receives the division instruction,
It is characterized in that it is determined that an instruction received after the divided instruction is an instruction for n Mn bit processors.

【0013】請求項4記載の発明は、前記請求項2記載
のプロセッサにおいて、前記特定の命令はプロセッサ結
合命令であり、前記解読部は、前記結合命令を受けて、
その結合命令の後に受ける命令がNビットプロセッサ用
の命令であることを判断することを特徴とする。
According to a fourth aspect of the present invention, in the processor according to the second aspect, the specific instruction is a processor combination instruction, and the decoding unit receives the combination instruction,
It is characterized in that it is determined that an instruction received after the combined instruction is an instruction for an N-bit processor.

【0014】請求項5記載の発明は、前記請求項1記載
のプロセッサにおいて、解読された命令が前記Nビット
プロセッサ用の命令である場合には、前記Nビットプロ
セッサ用命令制御部は、前記Nビットプロセッサ用の命
令を、n個のMnビットプロセッサが実行可能なn個の
Mnビットフォーマットの命令に変換し、この変換した
n個の命令を各々対応するMnビットプロセッサ用命令
制御部に送出し、前記n個のMnビットプロセッサ用命
令制御部により、対応するMnビットフォーマットの命
令の実行を制御することを特徴とする。
According to a fifth aspect of the present invention, in the processor according to the first aspect, when the decoded instruction is an instruction for the N-bit processor, the instruction control unit for the N-bit processor includes: The bit processor instructions are converted into n Mn bit format instructions executable by n Mn bit processors, and the converted n instructions are sent to the corresponding Mn bit processor instruction control units. , The execution of the instructions of the corresponding Mn bit format is controlled by the n Mn bit processor instruction control units.

【0015】請求項6記載の発明は、前記請求項1記載
のプロセッサにおいて、Nビットプロセッサは32ビッ
トプロセッサであり、n個のMnビットプロセッサは2
個の16ビットプロセッサであることを特徴とする。
According to a sixth aspect of the present invention, in the processor according to the first aspect, the N-bit processor is a 32-bit processor, and the n Mn-bit processors are two.
Characterized by 16 16-bit processors.

【0016】請求項7記載の発明は、前記請求項1記載
のプロセッサにおいて、前記n個のMnビットプロセッ
サに対応してn個のMnビット資源を備え、前記n個の
Mnビットプロセッサとして動作する際には、前記各M
nビットプロセッサ用命令制御部が、前記対応するMn
ビット資源を制御し、前記Nビットプロセッサとして動
作する際には、前記Nビットプロセッサ用命令制御部
が、前記n個のMnビット資源を結合してNビット資源
として動作するように制御することを特徴としている。
According to a seventh aspect of the present invention, in the processor of the first aspect, n Mn bit resources are provided corresponding to the n Mn bit processors, and the processor operates as the n Mn bit processors. At the time, each of the M
The instruction control unit for an n-bit processor, the corresponding Mn
When controlling the bit resources and operating as the N-bit processor, the N-bit processor instruction control unit controls the N-bit processor to combine the n Mn-bit resources to operate as the N-bit resource. Features.

【0017】請求項8記載の発明は、前記請求項7記載
のプロセッサにおいて、前記n個の資源は、n個のMn
ビット演算器、n個のMnビットメモリ、n個のMnビ
ットデータレジスタ、又はn個のMnビットプログラム
カウンタであることを特徴とする。
The invention according to claim 8 is the processor according to claim 7, wherein the n resources are n Mn.
It is a bit arithmetic unit, n Mn bit memories, n Mn bit data registers, or n Mn bit program counters.

【0018】請求項9記載の発明は、前記請求項7記載
のプロセッサにおいて、前記n個の資源はn段のMnビ
ット演算器であり、前記Nビットプロセッサ用命令制御
部は、前記Nビットプロセッサとして動作する際に前段
のMnビット演算器のキャリー/ボローを次段のMnビ
ット演算器に送出して前記n段のMnビット演算器同志
を結合するデータ結合部を有することを特徴とする。
According to a ninth aspect of the present invention, in the processor according to the seventh aspect, the n resources are n stages of Mn-bit arithmetic units, and the N-bit processor instruction control unit includes the N-bit processor. When the operation is performed, a carry / borrow of the preceding Mn bit computing unit is sent to the next Mn bit computing unit to couple the n-stage Mn bit computing units.

【0019】請求項10記載の発明は、前記請求項3記
載のプロセッサにおいて、各Mnビットプロセッサ用の
n個のプログラムカウンタを有し、前記プロセッサ分割
命令は、Nビットフォーマットの命令であり、且つ、こ
のプロセッサ分割命令の後に最初に実行するNビットプ
ロセッサの命令のアドレスを計算し、その値を退避させ
ると共に、前記各Mnビットプロセッサ用のn個のプロ
グラムカウンタに、前記プロセッサ分割命令に含まれる
NビットのアドレスをMnビットづつ書き込む命令であ
ることを特徴とする。
According to a tenth aspect of the present invention, in the processor according to the third aspect, there are provided n program counters for each Mn-bit processor, wherein the processor division instruction is an N-bit format instruction, and Calculate the address of the instruction of the N-bit processor to be executed first after this processor division instruction, save the value, and include the n program counters for each of the Mn bit processors in the processor division instruction. It is an instruction to write an N-bit address for each Mn bit.

【0020】請求項11記載の発明は、前記請求項10
記載のプロセッサにおいて、前記特定の命令はプロセッ
サ結合命令をも含み、前記プロセッサ結合命令は、前記
n個のMnビットプロセッサとしての動作を停止して前
記プロセッサ分割命令の実行の際に退避した前記Nビッ
トプログラムカウンタの値を復帰させるものであること
を特徴とする。
The invention according to claim 11 is the invention according to claim 10.
4. The processor according to claim 3, wherein the specific instruction includes a processor combination instruction, and the processor combination instruction stops the operation as the n Mn-bit processors and saves the N when executing the processor division instruction. The value of the bit program counter is restored.

【0021】請求項12記載の発明は、前記請求項1記
載のプロセッサにおいて、前記Nビットプロセッサ用の
命令と、n個のMnビットプロセッサ用の命令とを記憶
するメモリを備え、前記メモリ空間のアドレスの“0”
番地〜(2^Mnmax−1)番地(^は冪乗、Mnm
axはM1、M2、…、Mnのうち最大のものを表わ
す)までをn個のMnビットプロセッサ用の空間として
使用し、前記メモリ空間のアドレスの(2^Mnma
x)番地〜(2^N−1)番地をNビットプロセッサ用
の空間として使用することを特徴とする。
According to a twelfth aspect of the present invention, in the processor according to the first aspect, a memory for storing the instructions for the N-bit processor and the instructions for n Mn-bit processors is provided. "0" of address
Address to (2 ^ Mnmax−1) (^ is a power, Mnm
ax represents the largest one of M1, M2,..., Mn) as a space for n Mn bit processors, and (2 ^ Mnma) of the address of the memory space.
x) addresses to (2 @ N-1) are used as a space for an N-bit processor.

【0022】請求項13記載の発明は、前記請求項3記
載のプロセッサにおいて、各Mnビットプロセッサ用の
n個のプログラムカウンタと、(N−Mn)ビットのペ
ージレジスタとを有し、前記プロセッサ分割命令は、こ
の分割命令のプログラムカウンタの値の上位から(N−
Mn)ビット目の値に“1”を加え、この加算結果であ
る上位(N−Mn)ビットの値を前記(N−Mn)ビッ
トのページレジスタに書き込むと共に、前記n個のプロ
グラムカウンタに“0”を書き込む命令であることを特
徴とする。
According to a thirteenth aspect of the present invention, there is provided the processor according to the third aspect, further comprising: n program counters for each Mn-bit processor; and (N−Mn) -bit page registers. The instruction is (N-
"1" is added to the value of the (Mn) -th bit, and the value of the higher (N-Mn) bit, which is the result of the addition, is written to the (N-Mn) -bit page register, and "n" is written to the n program counters. It is a command for writing 0 ".

【0023】請求項14記載の発明は、前記請求項13
記載のプロセッサにおいて、n個のMnビットプロセッ
サとして動作する際、前記n個のMnビットプロセッサ
用命令制御部は、各々、前記(N−Mn)ページレジス
タの値を上位ビットとし、対応する前記プログラムカウ
ンタの“0”値のMnビットアドレスを下位ビットと
し、この上位ビット及びこの下位ビットを合わせたNビ
ットのアドレスを、予め命令を記憶するメモリに送出す
ることを特徴とする。
The invention according to claim 14 is the invention according to claim 13.
In the processor described above, when operating as n Mn bit processors, the n Mn bit processor instruction control units each set the value of the (N-Mn) page register as an upper bit, and The Mn bit address of the "0" value of the counter is set as a lower bit, and an N-bit address including the upper bit and the lower bit is transmitted to a memory for storing instructions in advance.

【0024】請求項15記載の発明は、前記請求項14
記載のプロセッサにおいて、前記特定の命令には、前記
n個のMnビットプロセッサが各々処理を終了した際に
対応するMnビットプロセッサ用命令制御部から出力さ
れるプロセッサ結合命令が含まれ、何れかの前記Mnビ
ットプロセッサが処理を終了して、対応するMnビット
プロセッサ用命令制御部が前記プロセッサ結合命令を出
力した場合、このMnビット命令制御部は、他のMnビ
ットプロセッサが処理を終了するまで、動作を停止し又
は何も状態変化を起さない命令を実行するよう、対応す
るMnビットプロセッサを制御することを特徴とする。
According to a fifteenth aspect of the present invention, the above-mentioned fourteenth aspect
4. The processor according to claim 3, wherein the specific instruction includes a processor combination instruction output from a corresponding Mn bit processor instruction control unit when the n Mn bit processors complete processing. When the Mn bit processor finishes processing and the corresponding Mn bit processor instruction control unit outputs the processor combination instruction, the Mn bit instruction control unit keeps processing until another Mn bit processor finishes processing. Controlling the corresponding Mn bit processor to stop operation or execute an instruction that causes no state change.

【0025】請求項16記載の発明は、前記請求項15
記載のプロセッサにおいて、全てのMnビットプロセッ
サが処理を終えた際、前記(N−Mn)ページレジスタ
の値を上位ビットとし、前記プロセッサ結合命令を最後
に出力したMnビットプロセッサ用命令制御部に対応す
る前記プログラムカウンタの値に“1”を加えた値を下
位ビットとし、この上位ビット及び下位ビットを合わせ
たNビットのアドレスを、予め命令を記憶するメモリに
送出することを特徴とする。
The invention according to claim 16 is the invention according to claim 15.
In the processor described above, when all the Mn bit processors have completed the processing, the value of the (N-Mn) page register is set to the upper bit, and the value of the (N-Mn) page register corresponds to the instruction control unit for the Mn bit processor that last output the processor combination instruction. A value obtained by adding "1" to the value of the program counter is set as a lower bit, and an N-bit address including the upper bit and the lower bit is transmitted to a memory for storing instructions in advance.

【0026】請求項17記載の発明は、前記請求項1記
載のプロセッサにおいて、複数の前記Nビットプロセッ
サ用の命令、及び複数の前記Mnビットプロセッサ用の
命令は、可変語長の命令であることを特徴とする。
According to a seventeenth aspect of the present invention, in the processor according to the first aspect, the plurality of instructions for the N-bit processor and the plurality of instructions for the Mn-bit processor are instructions having a variable word length. It is characterized by.

【0027】以上の構成により、請求項1ないし請求項
17記載の発明では次の作用を奏する。即ち、広ビット
幅が必要な処理では、プロセッサは広ビット幅のデータ
処理を行うプロセッサとして使用され、狭ビット幅でよ
い処理は狭ビット幅のデータ処理を行う複数個のプロセ
ッサとして使用される。従って、逐次的な処理を狭ビッ
ト幅で行う場合には、この逐次的な処理を何れか1個の
狭ビット幅のプロセッサで行いつつ、他の狭ビット幅で
よい処理を残りの狭ビット幅のプロセッサで並列に行う
ことが可能になる。
With the above arrangement, the invention according to claims 1 to 17 has the following effects. That is, in a process requiring a wide bit width, the processor is used as a processor that performs data processing of a wide bit width, and a process that requires a narrow bit width is used as a plurality of processors that perform data processing of a narrow bit width. Therefore, when the sequential processing is performed with a narrow bit width, the sequential processing is performed by one of the narrow bit width processors and the other narrow bit width processing is performed on the remaining narrow bit width. Can be performed in parallel by other processors.

【0028】[0028]

【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0029】(第1の実施の形態)図1は本実施の形態
の全体概略構成を示す。同図において、1600、16
01は16ビットのプロセッサ、1610、1611は
前記16ビットのプロセッサの命令制御部(Mnビット
プロセッサ用命令制御部)(以下、16ビット命令制御
部という)である。320は前記2個の16ビットプロ
セッサを含む32ビットのプロセッサ、321は前記3
2ビットプロセッサ320の制御部である。
(First Embodiment) FIG. 1 shows an overall schematic configuration of the present embodiment. In the figure, 1600, 16
Reference numeral 01 denotes a 16-bit processor, and reference numerals 1610 and 1611 denote instruction control units (instruction control units for Mn-bit processors) of the 16-bit processor (hereinafter referred to as 16-bit instruction control units). 320 is a 32-bit processor including the two 16-bit processors, and 321 is the 3-bit processor.
It is a control unit of the 2-bit processor 320.

【0030】前記32ビットプロセッサ320は、前記
一方の16ビットプロセッサ1600と他方の16ビッ
トプロセッサ1601とをビット直列に結合させて構成
される。前記32ビットプロセッサ320の制御部32
1は、前記2個の16ビット命令制御部1610、16
11を介して、各16ビットプロセッサ1600、16
01の資源を制御する。
The 32-bit processor 320 is constructed by connecting the one 16-bit processor 1600 and the other 16-bit processor 1601 in a bit serial manner. The control unit 32 of the 32-bit processor 320
1 is the two 16-bit instruction control units 1610, 16
11 through the respective 16-bit processors 1600, 16
01 resources.

【0031】図2は、前記図1のプロセッサによるプロ
グラムの実行の流れの概念を示す。同図において、プロ
グラムは上から下へと順次実行される。同図では、プロ
セッサは当初32ビットプロセッサとして動作してい
る。32ビットプロセッサ320で特定の命令である
『proc.div』命令(プロセッサ分割命令)が同
図に記号Aで示す時点で実行されると、以降は16ビッ
トプロセッサとしての命令が2つ並列且つ独立に2個の
16ビットプロセッサ1600、1601で各々実行さ
れる。
FIG. 2 shows the concept of the flow of program execution by the processor of FIG. In the figure, the programs are sequentially executed from top to bottom. In the figure, the processor initially operates as a 32-bit processor. A specific instruction “proc. When the "div" instruction (processor division instruction) is executed at the time indicated by the symbol A in the figure, thereafter, two instructions as a 16-bit processor are executed in parallel and independently by the two 16-bit processors 1600 and 1601 respectively. Is done.

【0032】その後、一方の16ビットプロセッサ(例
えば1600)が処理の実行を終了すると、この16ビ
ットプロセッサ1600が記号Bで示す時点で特定の命
令である「proc.con」命令(プロセッサ結合命
令)を発行し、その後、他方の16ビットプロセッサ1
601の処理が終了するまで動作を停止、又は、何も状
態変化を起こさない命令(例えばNOP命令)を実行す
る。この「proc.con」命令は、他方の16ビッ
トプロセッサ1601が処理を終了してこのプロセッサ
1601が図中記号Cの時点で「proc.con」命
令を発行するまで待ち続ける命令と定義してもよい。以
下では、NOP命令を実行するものとして説明する。
Thereafter, when one of the 16-bit processors (for example, 1600) completes the execution of the process, the 16-bit processor 1600 at the time indicated by the symbol B, a specific instruction “proc.con” instruction (processor combination instruction) And then the other 16-bit processor 1
The operation is stopped until the processing of step 601 is completed, or an instruction that causes no state change (for example, a NOP instruction) is executed. This “proc.con” instruction may be defined as an instruction that waits until the other 16-bit processor 1601 completes processing and issues the “proc.con” instruction at the point of symbol C in the figure. Good. Hereinafter, the description will be made assuming that the NOP instruction is executed.

【0033】図3は本実施の形態のプロセッサの一層具
体的な回路構成図を示す。同図において、110は上位
16ビットの算術論理演算器(Mnビット演算器)、1
11は下位16ビットの算術論理演算器(Mnビット演
算器)、112は前記下位16ビットの算術論理演算器
(以下、ALUという)111から上位16ビットのA
LU110へのキャリー/ボロー、162は前記キャリ
ー/ボローを送るデータ結合部、120ないし125は
16ビットのデータレジスタ(Mnビットデータレジス
タ)、130及び131は16ビット×4ギガワードの
メモリであって、前記図2のプログラムを予め記憶する
記憶媒体として機能する。また、前記32ビットプロセ
ッサ320の制御部321は、解読部322と、32ビ
ット命令制御部323(Nビットプロセッサ用命令制御
部)とを備える。更に、150はメモリ・マネジメント
・ユニット(以下、MMUという)である。
FIG. 3 shows a more specific circuit configuration diagram of the processor of the present embodiment. In the figure, reference numeral 110 denotes an arithmetic logic unit of higher 16 bits (Mn bit operator), 1
Numeral 11 denotes an arithmetic logic unit of lower 16 bits (Mn bit arithmetic unit), and 112 denotes an arithmetic and logic unit of lower 16 bits (hereinafter referred to as ALU) 111 to A of upper 16 bits.
Carry / borrow to the LU 110; 162, a data combiner for transmitting the carry / borrow; 120 to 125, 16-bit data registers (Mn bit data registers); 130, 131, 16-bit × 4 gigaword memories; It functions as a storage medium for storing the program of FIG. 2 in advance. The control unit 321 of the 32-bit processor 320 includes a decryption unit 322 and a 32-bit instruction control unit 323 (N-bit processor instruction control unit). Reference numeral 150 denotes a memory management unit (hereinafter, referred to as an MMU).

【0034】図3において、16ビット命令制御部16
10、1611は各々メモリ130、131に対するア
ドレス及び制御情報をMMU150に出力し、MMU1
50は前記受けたアドレス及び制御情報に応じてメモリ
130、131に対してアドレス及び制御情報を出力す
る。
In FIG. 3, a 16-bit instruction control unit 16
10 and 1611 output address and control information for the memories 130 and 131 to the MMU 150, respectively.
50 outputs address and control information to the memories 130 and 131 according to the received address and control information.

【0035】前記32ビットプロセッサ320の解読部
322は、現在実行中の命令が32ビットプロセッサの
ものか、又は16ビットプロセッサのものであるかを解
読して、プロセッサモード信号3220、3221、3
222を出力する。前記プロセッサモード信号322
0、3221は、各々、前記16ビット命令制御部16
10、1611に出力される。また、残るプロセッサモ
ード信号3222は、前記2つのプロセッサモード信号
3220、3221の双方が32ビットプロセッサモー
ドの場合にのみ、32ビットプロセッサモードとなり、
前記データ結合部162に出力される。
The decoding unit 322 of the 32-bit processor 320 decodes whether the currently executed instruction is for a 32-bit processor or a 16-bit processor, and outputs processor mode signals 3220, 3221 and 3221.
222 is output. The processor mode signal 322
0 and 3221 are the 16-bit instruction control unit 16 respectively.
10, 1611. Further, the remaining processor mode signal 3222 becomes the 32-bit processor mode only when both of the two processor mode signals 3220 and 3221 are in the 32-bit processor mode.
The data is output to the data combining unit 162.

【0036】また、前記32ビットプロセッサ320の
32ビット命令制御部323は、プロセッサモード信号
3222が32ビットプロセッサモードを示している場
合には、メモリ130、131から読み出された命令
を、16ビット命令制御部1610、1611がデコー
ドできる16ビットプロセッサ命令フォーマットに変換
する。この際、32ビットプロセッサと16ビットプロ
セッサとの命令フォーマットを統一し、引数のデータ幅
のみ異なる仕様に設定すれば、フォーマット変換は容易
になる。32ビットプロセッサ命令を16ビットプロセ
ッサ命令にフォーマット変換する具体例を図13及び図
14に示す。
When the processor mode signal 3222 indicates the 32-bit processor mode, the 32-bit instruction control unit 323 of the 32-bit processor 320 converts the instructions read from the memories 130 and 131 into 16-bit instructions. The instruction is converted into a 16-bit processor instruction format that can be decoded by the instruction control units 1610 and 1611. At this time, if the instruction formats of the 32-bit processor and the 16-bit processor are unified, and the specifications are different only in the data width of the argument, the format conversion becomes easy. FIGS. 13 and 14 show a specific example of converting the format of a 32-bit processor instruction into a 16-bit processor instruction.

【0037】図13は、引数にメモリを使用する例とし
て、「load 0h05070799,Ra」の命令
を示す。この32ビットの命令は、メモリの0h050
70799番地のデータをレジスタRaに読み込んでく
る命令である。32ビット命令制御部323は、同図に
示すように、「4050707991(16進数)」を
「405071」と「407991」とに変換して、
「load 0h0507,Ra」及び「load 0
h0799,Ra」の2つの16ビット命令を2つの1
6ビットプロセッサ1600、1601に実行させる。
実際のメモリへのアドレッシングについては後述する。
FIG. 13 shows an instruction of "load 0h05070799, Ra" as an example of using a memory as an argument. This 32-bit instruction is stored in memory 0h050
This is an instruction to read data at address 70799 into the register Ra. The 32-bit instruction control unit 323 converts “4050707991 (hexadecimal)” into “405071” and “407991” as shown in FIG.
“Load 0h0507, Ra” and “load 0h0507, Ra”
h0799, Ra "are converted to two 1-bit instructions.
6-bit processors 1600 and 1601 are executed.
The actual addressing to the memory will be described later.

【0038】また、図14は、引数にレジスタのみを使
用する例として、「add Ra,Rb,Rc」の命令
を示す。この32ビット命令はRa+Rbを実行して、
レジスタRcに格納する命令である。32ビット命令制
御部323は、同図に示すように、「1123」を「1
123」と「1123」とに変換し(この例では、32
ビットプロセッサと16ビットプロセッサとで命令フォ
ーマットが統一されているので、変換の必要はない)、
2つの16ビット命令「add Ra,Rb,Rc」及
び「add Ra,Rb,Rc」を2つの16ビットプ
ロセッサ1600、1601に実行させる。
FIG. 14 shows an instruction "add Ra, Rb, Rc" as an example of using only registers as arguments. This 32-bit instruction executes Ra + Rb,
This is an instruction to be stored in the register Rc. The 32-bit instruction control unit 323 changes “1123” to “1” as shown in FIG.
123 ”and“ 1123 ”(in this example, 32
Since the instruction format is unified between the bit processor and the 16-bit processor, there is no need for conversion.)
The two 16-bit instructions “add Ra, Rb, Rc” and “add Ra, Rb, Rc” are executed by the two 16-bit processors 1600 and 1601.

【0039】更に、前記32ビット命令制御部323
は、プロセッサモード信号3222が16ビットプロセ
ッサモードを示している場合には、16ビットのNOP
命令を16ビットフォーマット命令3230、3231
として、これを各16ビット命令制御部1610、16
11に出力する。
Further, the 32-bit instruction control unit 323
Is a 16-bit NOP when the processor mode signal 3222 indicates a 16-bit processor mode.
Instructions are 16 bit format instructions 3230, 3231
This is referred to as the 16-bit instruction control units 1610, 16
11 is output.

【0040】加えて、前記32ビット命令制御部323
は、32ビットプロセッサモードの時の命令語長321
3を下位側の16ビット命令制御部1611に出力す
る。
In addition, the 32-bit instruction control unit 323
Is the instruction word length 321 in the 32-bit processor mode.
3 is output to the lower 16-bit instruction control unit 1611.

【0041】次に、前記各16ビット命令制御部161
0、1611の内部構成を図4に示す。同図において、
各16ビット命令制御部1610、1611は、32ビ
ット命令制御部323から受けたプロセッサモード信号
3220、3221が32ビットプロセッサモードの場
合には、32ビット命令制御部323から出力された命
令、即ち、32ビットフォーマットの命令を16ビット
フォーマットに変換した命令3230、3231を解析
し、一方、受けたプロセッサモード信号3220、32
21が16ビットプロセッサモードの場合には、メモリ
130、131から各々出力される16ビットフォーマ
ットの命令を直接解析し、各々の資源(プロセッサ16
00では、ALU110、メモリ130、及びレジスタ
120、122、124をいい、プロセッサ1601で
は、ALU111、メモリ131及びレジスタ121、
123、125をいう)を制御する。
Next, each of the 16-bit instruction control units 161
0 and 1611 are shown in FIG. In the figure,
When the processor mode signals 3220 and 3221 received from the 32-bit instruction control unit 323 are in the 32-bit processor mode, the instructions output from the 32-bit instruction control unit 323, ie, the 16-bit instruction control units 1610 and 1611, Instructions 3230 and 3231 obtained by converting a 32-bit format instruction to a 16-bit format are analyzed.
21 is in the 16-bit processor mode, the instructions in the 16-bit format output from the memories 130 and 131 are directly analyzed, and the resources (processor 16
00 indicates the ALU 110, the memory 130, and the registers 120, 122, and 124. In the processor 1601, the ALU 111, the memory 131, and the register 121.
123, 125).

【0042】前記データ結合部162は、32ビット命
令制御部323から受けたプロセッサモード信号322
2が32ビットプロセッサモードの場合には、下位AL
U111から上位ALU110へキャリー/ボロー11
2を送り、一方、16ビットプロセッサモードの場合に
は、“0を選択して上位ALU110に送る。
The data combiner 162 receives the processor mode signal 322 from the 32-bit instruction controller 323.
2 is 32-bit processor mode, lower AL
Carry / Borrow 11 from U111 to upper ALU110
2 is sent, while in the case of the 16-bit processor mode, “0” is selected and sent to the upper ALU 110.

【0043】次に、32ビット命令制御部323が、図
2に示したプロセッサの分割、結合の流れを具体的にど
のように制御するかを、図15に基いて説明する。
Next, how the 32-bit instruction control unit 323 specifically controls the flow of the division and combination of the processors shown in FIG. 2 will be described with reference to FIG.

【0044】図15において、先ず、32ビットプロセ
ッサ320自身がリセットされる。これにより、解読部
322は、全プロセッサモード信号3220、322
1、3222を32ビットプロセッサモードとする。ま
た、32ビット命令制御部323は、各メモリ130、
131から読み出された32ビットフォーマットの命令
を2つの16ビットフォーマットの命令3230、32
31に変換する。各16ビット命令制御部1610、1
611は対応する前記16ビットフォーマットの命令を
受け、対応する16ビットプロセッサ1600、160
1を用いて前記受けた命令を実行する。
In FIG. 15, first, the 32-bit processor 320 itself is reset. As a result, the decoding unit 322 outputs all processor mode signals 3220 and 322.
1 and 3222 are set to the 32-bit processor mode. Further, the 32-bit instruction control unit 323 includes a memory 130,
The instructions in the 32-bit format read from 131 are converted into two 16-bit instructions 3230 and 32
Convert to 31. Each 16-bit instruction control unit 1610, 1
611 receives the corresponding instruction of the 16-bit format and receives the corresponding 16-bit processor 1600, 160
1 to execute the received instruction.

【0045】次に、「proc.div」命令が発行さ
れると、解読部322は、全プロセッサモード信号32
20、3221、3222を16ビットプロセッサモー
ドとする。また、32ビット命令制御部323は、16
ビットフォーマットのNOP命令を2個の16ビット命
令制御部1610、1611に各々出力する。しかし、
各16ビット命令制御部1610、1611は、対応す
るプロセッサモード信号3220、3221が16ビッ
トプロセッサモードであるので、対応するメモリ13
0、131から出力される16ビットフォーマットの命
令を直接解析し、この命令を対応する16ビットプロセ
ッサ1600、1611で実行する。
Next, when the “proc.div” instruction is issued, the decryption unit 322 causes the all processor mode signals 32
20, 3221, and 3222 are set to the 16-bit processor mode. In addition, the 32-bit instruction control unit 323
The bit format NOP instruction is output to two 16-bit instruction control units 1610 and 1611, respectively. But,
Since the corresponding processor mode signals 3220 and 3221 are in the 16-bit processor mode, the respective 16-bit instruction control units 1610 and 1611
The instructions in the 16-bit format output from 0 and 131 are directly analyzed, and the instructions are executed by the corresponding 16-bit processors 1600 and 1611.

【0046】その後、図2の符号Bで示す時点で、16
ビットプロセッサ1600が「proc.con」命令
を発行すると、解読部322は、16ビットプロセッサ
1600に対するプロセッサモード信号3220を32
ビットプロセッサモードにする。16ビットプロセッサ
1601に対するプロセッサモード信号3221は16
ビットプロセッサモードに保持する。従って、プロセッ
サモード信号3222も16ビットプロセッサモードを
保持する。32ビット命令制御部323は、16ビット
フォーマットのNOP命令を両16ビット命令制御部1
610、1611に出力する。「proc.con」命
令が発行された16ビット命令制御部1610では、受
けたプロセッサモード信号3220が32ビットプロセ
ッサモードであるので、前記32ビット命令制御部32
3からの16ビットフォーマットのNOP命令を実行す
る。一方、残る16ビット命令制御部1611では、受
けたプロセッサモード信号3221が16ビットプロセ
ッサモードであるので、対応するメモリ131から出力
される16ビットフォーマットの命令を直接解析し、こ
の命令を対応する16ビットプロセッサ1611で実行
する。
Thereafter, at the point indicated by the reference numeral B in FIG.
When the bit processor 1600 issues the “proc.con” instruction, the decoding unit 322 outputs the processor mode signal 3220 for the 16-bit processor 1600 to 32.
Switch to bit processor mode. The processor mode signal 3221 for the 16-bit processor 1601 is 16
Hold in bit processor mode. Therefore, the processor mode signal 3222 also holds the 16-bit processor mode. The 32-bit instruction control unit 323 transmits a 16-bit format NOP instruction to both 16-bit instruction control units 1.
610 and 1611 are output. In the 16-bit instruction control unit 1610 to which the “proc.con” instruction has been issued, the received processor mode signal 3220 is in the 32-bit processor mode.
Execute the NOP instruction in 16-bit format from 3. On the other hand, the remaining 16-bit instruction control unit 1611 directly analyzes the 16-bit format instruction output from the corresponding memory 131 because the received processor mode signal 3221 is in the 16-bit processor mode, and This is executed by the bit processor 1611.

【0047】更に、図2の符号Cの時点で、16ビット
プロセッサ1601が「proc.con」命令を発行
すると、解読部322は、16ビット命令制御部161
1に対するプロセッサモード信号3221を32ビット
プロセッサモードにする。従って、プロセッサモード信
号3222も32ビットプロセッサモードになる。32
ビット命令制御部323は、各メモリ130、131か
ら読み出された32ビットフォーマットの命令を2つの
16ビットフォーマットの命令3230、3231に変
換する。各16ビット命令制御部1610、1611
は、受けるプロセッサモード信号3220、3221が
32ビットプロセッサモードであるので、32ビット命
令制御部323からの16ビットフォーマットの命令3
230、3231を各々受け、この命令を解読し、対応
する16ビットプロセッサ1600、1611で実行す
る。この際、データ結合部162は、下位ALU111
から上位ALU110へキャリー/ボロー112を送
る。
Further, when the 16-bit processor 1601 issues a “proc.con” instruction at the time point C in FIG. 2, the decryption unit 322 causes the 16-bit instruction control unit 161
The processor mode signal 3221 for 1 is set to the 32-bit processor mode. Accordingly, the processor mode signal 3222 is also in the 32-bit processor mode. 32
The bit instruction control unit 323 converts a 32-bit format instruction read from each of the memories 130 and 131 into two 16-bit format instructions 3230 and 3231. 16-bit instruction control units 1610 and 1611
Since the received processor mode signals 3220 and 3221 are in the 32-bit processor mode, the instruction 3 in the 16-bit format from the 32-bit instruction control unit 323
230, 3231, respectively, decode this instruction and execute it in the corresponding 16-bit processor 1600, 1611. At this time, the data combination unit 162
Sends carry / borrow 112 to upper ALU 110.

【0048】以上のような流れで16ビットプロセッサ
モードと32ビットプロセッサモードとが変化して行
く。
With the above flow, the 16-bit processor mode and the 32-bit processor mode change.

【0049】尚、本実施の形態では、リセットにより3
2ビットプロセッサモードになる例を挙げて説明した
が、16ビットプロセッサモードになるように設定して
も構わない。
In this embodiment, 3 is reset by reset.
Although an example in which the mode is the 2-bit processor mode has been described, the mode may be set so as to be the 16-bit processor mode.

【0050】以上の構成により、1個の32ビットプロ
セッサ320として動作している際に、プロセッサ分割
命令『proc.div』を発行すれば、その後は、こ
の32ビットプロセッサ320が2個の独立した16ビ
ットプロセッサ1600、1601として動作できるプ
ロセッサが実現される。
With the above configuration, when operating as one 32-bit processor 320, the processor division instruction "proc. div ", then a processor is realized in which the 32-bit processor 320 can operate as two independent 16-bit processors 1600 and 1601.

【0051】次に、2個のメモリ130、131に対す
るアドレスを生成する構成について、以下、図4に示す
16ビット命令制御部の構成を説明する。
Next, a configuration for generating addresses for the two memories 130 and 131 will be described below with reference to the configuration of the 16-bit instruction control unit shown in FIG.

【0052】尚、本実施の形態では、16ビットプロセ
ッサのメモリ領域として、アドレス『0h000000
00』〜『0h0000ffff』(尚、最初の『0
h』はその後に続く数字が16進数表現であることを示
す)を割り当て、32ビットプロセッサのメモリ領域と
して、アドレス『0h00010000』〜『0hff
ffffff』を割り当てている。
In this embodiment, the address “0h000000” is used as the memory area of the 16-bit processor.
00 ”to“ 0h0000ffff ”(note that the first“ 0h0000ffff ”
h "indicates that the following number is in hexadecimal notation), and addresses" 0h00010000 "to" 0hff "are used as a memory area of the 32-bit processor.
ffffff ”.

【0053】図4において、1401及び1411はプ
ログラムカウンタ(Mnビットプログラムカウンタ)、
1402及び1412は加算器、1403及び1413
は16ビットプロセッサ用の命令解析部、1410は加
算器1412から加算器1402へのキャリー、140
4、1414、1405、1415、1406、141
6、1407及び1417はマルチプレクサである。
In FIG. 4, reference numerals 1401 and 1411 denote program counters (Mn bit program counters),
1402 and 1412 are adders, 1403 and 1413
Is an instruction analysis unit for a 16-bit processor, 1410 is a carry from the adder 1412 to the adder 1402, 140 is
4, 1414, 1405, 1415, 1406, 141
6, 1407 and 1417 are multiplexers.

【0054】また、32ビット命令制御部323は、プ
ロセッサモード信号3211を16ビットプロセッサの
各命令解析部1403、1413及びマルチプレクサ1
404、1414、1407、1417に出力すると共
に、32ビットプロセッサモード時での対応する16ビ
ットフォーマットの命令3230、3231を各々マル
チプレクサ1407、1417に出力し、更に、32ビ
ットプロセッサモード時での命令語長3213を16ビ
ット命令制御部1611のマルチプレクサ1414に出
力する。
The 32-bit instruction control unit 323 transmits the processor mode signal 3211 to each of the instruction analysis units 1403 and 1413 and the multiplexer 1 of the 16-bit processor.
404, 1414, 1407, and 1417, and outputs the corresponding 16-bit format instructions 3230 and 3231 in the 32-bit processor mode to the multiplexers 1407 and 1417, respectively. The length 3213 is output to the multiplexer 1414 of the 16-bit instruction control unit 1611.

【0055】マルチプレクサ1407、1417は、3
2ビットプロセッサモード時には、32ビット命令制御
部323からの対応する16ビットフォーマットの命令
3230、3231を選択し、16ビットプロセッサモ
ード時には、対応するメモリ130、131からの16
ビットフォーマットの命令を選択して、各々、命令解析
部1403、1413に出力する。
The multiplexers 1407 and 1417 are
In the 2-bit processor mode, corresponding 16-bit instructions 3230 and 3231 from the 32-bit instruction control unit 323 are selected. In the 16-bit processor mode, 16-bit instructions from the corresponding memories 130 and 131 are selected.
An instruction in a bit format is selected and output to the instruction analyzers 1403 and 1413, respectively.

【0056】マルチプレクサ1404は、32ビットプ
ロセッサモード時には“0”を選択し、16ビットプロ
セッサモード時には、命令解析部1403からの命令語
長を選択して、加算器1402に出力する。
The multiplexer 1404 selects “0” in the 32-bit processor mode, and selects the instruction word length from the instruction analysis unit 1403 in the 16-bit processor mode, and outputs it to the adder 1402.

【0057】マルチプレクサ1414は、32ビットプ
ロセッサモード時には、32ビット命令制御部323か
らの32ビットフォーマットの命令語長3213を選択
し、16ビットプロセッサモード時には、命令解析部1
413からの命令語長を選択して、加算器1412に出
力する。
The multiplexer 1414 selects the instruction word length 3213 of the 32-bit format from the 32-bit instruction control unit 323 in the 32-bit processor mode, and selects the instruction analysis unit 1 in the 16-bit processor mode.
The instruction word length from 413 is selected and output to the adder 1412.

【0058】また、データ結合部162は、32ビット
プロセッサモード時には、加算器1412からのキャリ
ーを選択し、16ビットプロセッサモード時には“0”
を選択して、加算器1402に出力する。
Data combiner 162 selects the carry from adder 1412 in the 32-bit processor mode and “0” in the 16-bit processor mode.
Is selected and output to the adder 1402.

【0059】各命令解析部1403、1413は、各
々、対応するマルチプレクサ1407、1417から出
力される命令を解析し、プロセッサ1600、1601
の各資源並びに内蔵する資源(マルチプレクサ140
5、1406、1415、1416及びメモリ130、
131)を制御すると共に、16ビットプロセッサモー
ド時には、このモード時の16ビットフォーマットの命
令語長を対応するマルチプレクサ1404、1414に
出力する。
The instruction analysis units 1403 and 1413 analyze the instructions output from the corresponding multiplexers 1407 and 1417, respectively, and
Resources and built-in resources (multiplexer 140
5, 1406, 1415, 1416 and memory 130,
131), and in the 16-bit processor mode, outputs the instruction word length in the 16-bit format in this mode to the corresponding multiplexers 1404 and 1414.

【0060】更に、前記各命令解析部1403、141
3は、各々、マルチプレクサ1405、1415、14
06、1416を制御する。前者のマルチプレクサ14
05、1415の制御については、プログラム分岐の必
要がある場合(例えば、分岐命令、条件分岐命令、サブ
ルーチン分岐/復帰命令、ループ命令、プロセッサ分割
命令等の場合)には、自己の命令解析部1403、14
13の出力を選択させ、それ以外は加算器1402、1
412の出力を選択させて、対応するプログラムカウン
タ1401、1411に出力させる。また、マルチプレ
クサ1406、1416の制御については、メモリから
命令を読み出すフェーズでは、対応するプログラムカウ
ンタ1401、1411の値を選択させ、命令実行中で
プログラム中にアドレスが記載されている場合には、命
令解析部1403、1413の値を選択させ、レジスタ
間接(即ち、レジスタに格納されている値をアドレスと
する)の場合には、プロセッサ1600、1601から
の値を選択させて、各々、MMU150へ出力させる。
Further, each of the instruction analyzers 1403, 141
3 are multiplexers 1405, 1415, 14 respectively
06 and 1416 are controlled. The former multiplexer 14
Regarding the control of steps 05 and 1415, if a program branch is necessary (for example, in the case of a branch instruction, a conditional branch instruction, a subroutine branch / return instruction, a loop instruction, a processor division instruction, etc.), its own instruction analysis unit 1403 , 14
13 is selected, and the other outputs are selected by the adders 1402, 1
412 is selected and output to the corresponding program counters 1401 and 1411. Regarding the control of the multiplexers 1406 and 1416, in the phase of reading out the instruction from the memory, the value of the corresponding program counter 1401 or 1411 is selected, and if the address is described in the program while the instruction is being executed, the instruction is executed. In the case of register indirect (that is, the value stored in the register is used as an address), the values from the processors 1600 and 1601 are selected and output to the MMU 150, respectively. Let it.

【0061】加算器1402は、データ結合部162の
出力と、マルチプレクサ1404の出力と、プログラム
カウンタ1401の出力とを加算して、その加算結果を
マルチプレクサ1405に出力する。更に、加算器14
12は、マルチプレクサ1414の出力と、プログラム
カウンタ1411の出力とを加算して、その加算結果を
マルチプレクサ1415に出力する。即ち、16ビット
プロセッサモード時には、現在解析中の命令のアドレス
(即ち、各プログラムカウンタ1401、1411の
値)に現在解析中の命令の語長を加算して、次の命令の
アドレスを生成し、一方、32ビットプロセッサモード
時には、プログラムカウンタ1401の値を上位16ビ
ット、プログラムカウンタ1411の値を下位16ビッ
トとする32ビットのプログラムカウンタの値(すなわ
ち現在解析中の命令のアドレス)に、現在解析中の命令
の語長(即ち、32ビットフォーマットの命令語長32
13)を加えて、次の命令のアドレスを生成する。
The adder 1402 adds the output of the data combining unit 162, the output of the multiplexer 1404, and the output of the program counter 1401, and outputs the addition result to the multiplexer 1405. Further, the adder 14
12 adds the output of the multiplexer 1414 and the output of the program counter 1411, and outputs the addition result to the multiplexer 1415. That is, in the 16-bit processor mode, the word length of the currently analyzed instruction is added to the address of the currently analyzed instruction (that is, the value of each of the program counters 1401 and 1411) to generate the address of the next instruction. On the other hand, in the 32-bit processor mode, the value of the program counter 1401 is set to the upper 16 bits, and the value of the program counter 1411 is set to the lower 16 bits. The word length of the middle instruction (ie, the instruction word length 32 in 32-bit format)
13) to generate the address of the next instruction.

【0062】図5は、前記図3に示したMMU150の
内部構成を示す。同図において、MMU150は、2個
のセレクタ1502、1503を有すると共に、2個の
16ビット命令制御部1610、1611からのアドレ
ス、及び解読部322からのプロセッサモード信号32
22が入力される。
FIG. 5 shows the internal configuration of the MMU 150 shown in FIG. In the figure, the MMU 150 has two selectors 1502, 1503, an address from two 16-bit instruction control units 1610, 1611, and a processor mode signal 32 from a decoding unit 322.
22 is input.

【0063】前記MMU150において、前記セレクタ
1502は、32ビットプロセッサモード時には、上位
側の16ビット命令制御部1610からのアドレスを選
択し、16ビットプロセッサモード時には“0”を選択
して、出力する。セレクタ1503は、32ビットプロ
セッサモード時には下位側の16ビット命令制御部16
11からのアドレスを選択し、16ビットプロセッサモ
ード時には上位側の16ビット命令制御部1610から
のアドレスを選択して、出力する。メモリ130へのア
ドレスは、上位16ビットを前記セレクタ1502の出
力とし、下位16ビットを前記セレクタ1503の出力
とすることにより、生成される。また、メモリ131へ
のアドレスは、上位16ビットを前記セレクタ1502
の出力とし、下位16ビットを下位側の16ビット命令
制御部1611からのアドレスとすることにより、生成
される。
In the MMU 150, the selector 1502 selects an address from the upper 16-bit instruction control unit 1610 in the 32-bit processor mode, and selects and outputs “0” in the 16-bit processor mode. The selector 1503 controls the lower 16-bit instruction control unit 16 in the 32-bit processor mode.
In the 16-bit processor mode, the address from the upper 16-bit instruction control unit 1610 is selected and output. The address to the memory 130 is generated by using the upper 16 bits as the output of the selector 1502 and the lower 16 bits as the output of the selector 1503. In addition, the address to the memory 131 uses the upper 16 bits as the selector 1502.
And the lower 16 bits are used as the address from the lower 16-bit instruction control unit 1611.

【0064】図6は、プロセッサ分割/結合命令の動作
を示す。同図では、32ビットプロセッサの命令のプロ
グラムが続き、32ビットフォーマットのプロセッサ分
割命令(『proc.div 0h00100101』
命令)が発行されると、この分割命令の次に32ビット
プロセッサで実行されるべき命令『load 0h05
070800,Rb』、即ち、プロセッサ分割後の16
ビットプロセッサモードから次に32ビットプロセッサ
モードに復活した際に最初に実行される命令のアドレス
を計算し、このアドレスをスタックに退避し、その後、
分割命令の引数の上位16ビットをプログラムカウンタ
1401に書き込むと共に、その引数の下位16ビット
をプログラムカウンタ1411に書き込む。
FIG. 6 shows the operation of the processor split / join instruction. In the figure, a program of instructions of a 32-bit processor follows, and a processor division instruction (“proc.div 0h00100101”) of a 32-bit format is used.
Is issued, the instruction “load 0h05” to be executed by the 32-bit processor next to the divided instruction is issued.
070800, Rb ", that is, 16
Calculate the address of the instruction to be executed first when the bit processor mode is restored to the 32-bit processor mode, save this address on the stack, and then
The upper 16 bits of the argument of the division instruction are written to the program counter 1401, and the lower 16 bits of the argument are written to the program counter 1411.

【0065】以上のようにして16ビットプロセッサモ
ードに移行すると、各16ビットプロセッサは各々アド
レス『0h00000010』、『0h0000010
1』に分岐して、相互に独立に動作し、処理を行う。双
方の16ビットプロセッサが処理を終了し、プロセッサ
結合命令(『proc.con』命令)を発行すれば、
前記スタックに退避しておいた次に実行されるべき32
ビットプロセッサの命令のアドレスをプログラムカウン
タに格納し、32ビットプロセッサの命令の実行に戻
る。
When the mode shifts to the 16-bit processor mode as described above, each of the 16-bit processors has the address “0h00000010” and “0h00000010”.
1], and operate independently to perform processing. When both the 16-bit processors finish processing and issue a processor combination instruction (“proc.con” instruction),
32 to be executed next saved in the stack
The address of the bit processor instruction is stored in the program counter, and the process returns to the execution of the 32-bit processor instruction.

【0066】図7は本実施の形態のメモリ130、13
1のアドレスの割り当てを示す。同図にプログラムの流
れを矢印で示す。また、図8に本実施の形態でのプログ
ラムの流れを時系列で示す。
FIG. 7 shows the memories 130 and 13 of this embodiment.
1 shows the assignment of address 1. The flow of the program is shown by arrows in FIG. FIG. 8 shows the flow of a program according to the present embodiment in chronological order.

【0067】(第2の実施の形態)次に、本発明の第2
の実施の形態を説明する。本実施の形態は、メモリ13
0、131へのアドレスを生成する構成の他の形態を示
す。
(Second Embodiment) Next, a second embodiment of the present invention will be described.
An embodiment will be described. In the present embodiment, the memory 13
Another configuration for generating addresses to 0 and 131 is shown.

【0068】前記第1の実施の形態では、16ビットプ
ロセッサモード時に、16ビットプロセッサはアドレス
『0h00000000』〜『0h0000ffff』
のメモリ領域しか使用できない。即ち、16ビットプロ
セッサモードで使用したい処理がこれ以上のアドレス領
域を必要とした場合には、処理不可能になる。この問題
を回避するのが本実施の形態である。また、16ビット
プロセッサモードでの処理がアドレス『0h00000
000』〜『0h0000ffff』の領域で十分な場
合には、本実施の形態はプログラム領域の割り当ての自
由度を高める意味で意義は大きい。
In the first embodiment, in the 16-bit processor mode, the 16-bit processor operates at addresses "0h000000000" to "0h0000ffff".
Can use only the memory area. That is, if the processing to be used in the 16-bit processor mode requires an address area larger than this, the processing becomes impossible. The present embodiment avoids this problem. Also, processing in the 16-bit processor mode is performed at the address “0h00000”.
In the case where the area of “000” to “0h0000ffff” is sufficient, the present embodiment is significant in the sense of increasing the degree of freedom in allocating the program area.

【0069】図9は、各16ビット命令制御部161
0、1611の構成を示す。同図において、1401及
び1411はプログラムカウンタ、1402及び141
2は加算器、1409及び1419は16ビットプロセ
ッサ用の命令解析部、1410は加算器1412から加
算器1402へのキャリーである。
FIG. 9 is a block diagram of each 16-bit instruction control unit 161.
0, 1611 are shown. In the figure, 1401 and 1411 are program counters, 1402 and 141
2 is an adder, 1409 and 1419 are instruction analyzers for a 16-bit processor, and 1410 is a carry from the adder 1412 to the adder 1402.

【0070】前記32ビット命令制御部323、マルチ
プレクサ1407、1417、1404、1414及び
データ結合部162の構成及び動作は図4と同一であ
る。
The construction and operation of the 32-bit instruction control unit 323, multiplexers 1407, 1417, 1404, 1414 and data combining unit 162 are the same as those in FIG.

【0071】各16ビットプロセッサの命令解析部14
09、1419は、マルチプレクサ1407、1417
から出力される命令を解析し、16ビットプロセッサ1
600、1601の資源並びにマルチプレクサ140
8、1406、1418、1416及びメモリ130、
131を制御すると共に、16ビットプロセッサモード
時には、その命令の語長をマルチプレクサ1404、1
414に出力する。
Instruction analysis unit 14 of each 16-bit processor
09 and 1419 are multiplexers 1407 and 1417
Analyzes the instruction output from the 16-bit processor 1
600, 1601 resources and multiplexer 140
8, 1406, 1418, 1416 and memory 130,
131, and in the 16-bit processor mode, the word length of the instruction is
414.

【0072】16ビット命令制御部1610の命令解析
部1409は、自己のプロセッサ1600がプロセッサ
結合命令(『proc.connect命令』を発行し
た際に、その発行を他方の16ビット命令制御部161
1の命令解析部1419に知らせる。更に、この命令解
析部1409は、マルチプレクサ1408を制御して、
プログラム分岐の必要がある場合(例えば、分岐命令、
条件分岐命令、サブルーチン分岐/復帰命令、ループ命
令等の場合)には、自己の命令解析部1409の出力を
選択させ、プロセッサ結合命令(proc.con、p
roc.connect)の場合には、ページレジスタ
(後述する)1501の値を選択させ、それ以外は加算
器1402の出力を選択させて、各々、プログラムカウ
ンタ1401に出力させる。また、プロセッサ分割命令
(『proc.div』命令)の場合には、プログラム
カウンタ1401をリセットする。
The instruction analyzing unit 1409 of the 16-bit instruction control unit 1610 determines that when the processor 1600 of itself issues a processor combination instruction (“proc.connect instruction”), it issues the issuance of the other 16-bit instruction control unit 161.
1 to the instruction analyzing unit 1419. Further, the instruction analysis unit 1409 controls the multiplexer 1408 to
If a program branch is needed (eg, a branch instruction,
In the case of a conditional branch instruction, a subroutine branch / return instruction, a loop instruction, etc.), the output of its own instruction analysis unit 1409 is selected, and the processor combination instruction (proc.con, p
rc. In the case of (connect), the value of the page register (to be described later) 1501 is selected, and the output of the adder 1402 is selected otherwise, and the program counter 1401 outputs each. In the case of a processor division instruction (“proc.div” instruction), the program counter 1401 is reset.

【0073】他方の16ビットプロセッサ1601の命
令解析部1419は、マルチプレクサ1418を制御し
て、プログラム分岐の必要がある場合には命令解析部1
419の出力を選択させ、前記一方の16ビットプロセ
ッサ1600がプロセッサ結合命令(『proc.co
nnect』命令)を発行した場合には、加算器140
2の値を選択させ、それ等以外は加算器1412の出力
を選択させて、各々、プログラムカウンタ1411に出
力させる。加えて、プロセッサ分割命令(『proc.
div』命令)の場合には、プログラムカウンタ141
1をリセットする。
The instruction analysis unit 1419 of the other 16-bit processor 1601 controls the multiplexer 1418 so that the instruction analysis unit 1
419 is selected, and the one 16-bit processor 1600 selects a processor combination instruction (“proc.
nect ”instruction), the adder 140
A value of 2 is selected, and otherwise, the output of the adder 1412 is selected, and each is output to the program counter 1411. In addition, the processor division instruction (“proc.
div ”instruction), the program counter 141
Reset 1

【0074】マルチプレクサ1406、1416の制御
については、前記図4と同一である。また、加算器14
02の動作も図4と同一である。
The control of the multiplexers 1406 and 1416 is the same as in FIG. The adder 14
02 is the same as that of FIG.

【0075】図10は、本実施の形態のMMU150´
の構成を示す。同図のMMU150´は、セレクタ15
03、1504、16ビットのページレジスタ150
1、及び+1加算器1505により構成されると共に、
16ビット命令制御部1610、1611からのアドレ
スと、上位側の16ビット命令制御部1610内のプロ
グラムカウンタ1401の出力と、32ビット命令制御
部323からのプロセッサモード信号3222とが入力
される。
FIG. 10 shows an MMU 150 'according to this embodiment.
Is shown. The MMU 150 'in FIG.
03, 1504, 16-bit page register 150
A 1 and a +1 adder 1505,
The addresses from the 16-bit instruction control units 1610 and 1611, the output of the program counter 1401 in the higher-order 16-bit instruction control unit 1610, and the processor mode signal 3222 from the 32-bit instruction control unit 323 are input.

【0076】前記図10のMMU150´において、セ
レクタ1504は、プロセッサモード信号3222から
判断した32ビットプロセッサモード時には、上位側の
16ビット命令制御部1610からのアドレスを選択
し、16ビットプロセッサモード時には、ページレジス
タ1501の値を選択して、出力する。また、他方のセ
レクタ1503は、32ビットプロセッサモード時では
下位側の16ビット命令制御部1611からのアドレス
を選択し、16ビットプロセッサモード時では上位側の
16ビット命令制御部1610からのアドレスを選択し
て、出力する。メモリ130へのアドレスは、上位16
ビットを前記セレクタ1504の出力とし、下位16ビ
ットを前記セレクタ1503の出力とすることにより、
生成される。また、メモリ131へのアドレスは、上位
16ビットを前記セレクタ1504の出力とし、下位1
6ビットを下位側の16ビット命令制御部1611から
のアドレスとすることにより、生成される。
In the MMU 150 'of FIG. 10, the selector 1504 selects the address from the upper 16-bit instruction control unit 1610 in the 32-bit processor mode determined from the processor mode signal 3222. The value of the page register 1501 is selected and output. The other selector 1503 selects an address from the lower 16-bit instruction control unit 1611 in the 32-bit processor mode, and selects an address from the upper 16-bit instruction control unit 1610 in the 16-bit processor mode. And output. The address to the memory 130 is the upper 16
By setting the bits as the output of the selector 1504 and the lower 16 bits as the output of the selector 1503,
Generated. The address to the memory 131 uses the upper 16 bits as the output of the selector 1504 and outputs the lower 1 bit.
It is generated by using 6 bits as the address from the lower 16-bit instruction control unit 1611.

【0077】図11は、本実施の形態のプロセッサの分
割/結合命令時の動作を示す。図12は本実施の形態の
メモリ130、131のアドレスの割り当てを示し、プ
ログラムの流れを矢印で示している。
FIG. 11 shows the operation of the processor of the present embodiment at the time of a split / join instruction. FIG. 12 shows the address assignment of the memories 130 and 131 according to the present embodiment, and the flow of the program is indicated by arrows.

【0078】前記図11では、最初は32ビットプロセ
ッサの命令のプログラムが続き、プロセッサ分割命令
(『proc.div』命令であって、図12中のアド
レス『0h01a2c70f』又は『0h134007
77』に格納された命令)が発行されると、その後、+
1加算器1505によりプログラムカウンタ1401の
値に“1”を加え、この加算結果(即ち、『0h01a
3』又は『0h1341』)をページレジスタ1501
に書き込むと共に、プログラムカウンタ1401、14
11に“0”を書き込む。
In FIG. 11, an instruction program of a 32-bit processor follows first, followed by a processor division instruction (“proc.div” instruction, which is an address “0h01a2c70f” or “0h134007” in FIG. 12).
77) is issued, then +
"1" is added to the value of the program counter 1401 by the 1 adder 1505, and the addition result (that is, "0h01a
3 "or" 0h1341 ") in the page register 1501.
And program counters 1401, 14
“0” is written to 11.

【0079】前記のようにして16ビットプロセッサモ
ードに移行すると、その後は、各16ビットプロセッサ
1600、1601は、対応するアドレス『0h01a
30000』、『0h13410000』に分岐して、
各々、独立に動作して16ビットフォーマットの命令を
実行する。
When the mode shifts to the 16-bit processor mode as described above, thereafter, each of the 16-bit processors 1600 and 1601 stores the corresponding address “0h01a”.
30,000 ”and“ 0h13410000 ”
Each of them operates independently and executes a 16-bit format instruction.

【0080】その後、各16ビットプロセッサ160
0、1601が処理を終了すれば、この各プロセッサは
プロセッサ結合命令を発行する。このとき、メモリ領域
を多く使用した側のプロセッサが発行するプロセッサ結
合命令を『proc.connect』命令とし、使用
領域の少ない側のプロセッサが発行するプロセッサ結合
命令は『proc.con』命令として、区別する。
『proc.connect』命令を発行した側の16
ビットプロセッサのプログラムカウンタ(図12の記号
Aの場合はプログラムカウンタ1411、記号Bの場合
はプログラムカウンタ1401)の値に、『proc.
connect』命令の命令語長(本実施の形態の場合
では“1”)を加えた値をプログラムカウンタ1411
に格納すると共に、ページレジスタ1501の値をプロ
グラムカウンタ1401に格納して、32ビットプロセ
ッサの命令に戻る。
Thereafter, each 16-bit processor 160
When the processes 0 and 1601 are completed, each processor issues a processor combination instruction. At this time, the processor combination instruction issued by the processor that has used a large amount of the memory area is referred to as “proc. A “connect” instruction, and the processor combination instruction issued by the processor with the smaller used area is “proc. con ”instruction.
[Proc. 16 on the side that issued the "connect" instruction
The value of the program counter of the bit processor (the program counter 1411 in the case of the symbol A in FIG. 12 and the program counter 1401 in the case of the symbol B in FIG.
A value obtained by adding the instruction word length of the “connect” instruction (“1” in the case of the present embodiment) to the program counter 1411
And the value of the page register 1501 is stored in the program counter 1401, and the process returns to the instruction of the 32-bit processor.

【0081】この場合、注意しなければならない点は、
16ビットプロセッサモード時には、アドレスの下位1
6ビットが『0hffff』の領域を使用できないこと
がある点である。その理由は、『0hffff』に
“1”を加えると、上位の16ビットにキャリーが発生
し、ページレジスタ1501の値に“1”を加えなけれ
ばならないからである。
In this case, a point to be noted is that
In 16-bit processor mode, the lower 1 address
The point is that the area of 6 bits “0hffff” may not be used. The reason is that when "1" is added to "0hffff", a carry occurs in the upper 16 bits, and "1" must be added to the value of the page register 1501.

【0082】尚、以上の説明では、メモリ130、13
1に記憶した複数の命令をその各命令相互の語長が異な
る可変長としたが、相互に同一の固定命令長としてもよ
いのは勿論である。命令語長を固定長とする場合には、
32ビット命令制御部323から出力される命令語長3
213は省略できる。
In the above description, the memories 130 and 13
Although the plurality of instructions stored in 1 are variable lengths in which the word lengths of the instructions are different from each other, it is needless to say that the same fixed instruction length may be used. When the instruction word length is fixed,
Instruction word length 3 output from 32-bit instruction control unit 323
213 can be omitted.

【0083】[0083]

【発明の効果】以上説明したように、請求項1ないし請
求項17記載のプロセッサによれば、プロセッサを適宜
広ビット幅の1個のプロセッサ又は狭ビット幅の複数個
のプロセッサとして使い分け、広ビット幅が必要な処理
では広ビット幅のプロセッサとして使用し、一方、逐次
的な処理を狭ビット幅で行う際には、何れか1個の狭ビ
ット幅のプロセッサでその逐次的な処理を行いつつ、残
りの狭ビット幅のプロセッサでは他の狭ビット幅でよい
処理を並列に行うことが可能になり、プロセッサの性能
向上を図ることができる。
As described above, according to the processors of the first to seventeenth aspects, the processor is appropriately used as one processor having a wide bit width or a plurality of processors having a narrow bit width. For processing that requires a width, the processor is used as a wide bit width processor. On the other hand, when performing sequential processing with a narrow bit width, one of the narrow bit width processors performs the sequential processing. On the other hand, the remaining narrow-bit-width processors can perform other narrow-bit-width processes in parallel, thereby improving the performance of the processors.

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

【図1】本発明の第1の実施の形態のプロセッサの全体
概略構成を示す図である。
FIG. 1 is a diagram showing an overall schematic configuration of a processor according to a first embodiment of the present invention.

【図2】同実施の形態のプロセッサの処理の流れの図で
ある。
FIG. 2 is a diagram showing a flow of processing of a processor of the embodiment.

【図3】同実施の形態のプロセッサを構成する2個の1
6ビットプロセッサの内部構成を示す図である。
FIG. 3 shows two 1s constituting the processor of the embodiment.
FIG. 3 is a diagram illustrating an internal configuration of a 6-bit processor.

【図4】同実施の形態の2個の16ビット命令制御部の
内部構成を示す図である。
FIG. 4 is a diagram showing an internal configuration of two 16-bit instruction control units of the embodiment.

【図5】同実施の形態のメモリ・マネジメント・ユニッ
トの構成を示す図である。
FIG. 5 is a diagram showing a configuration of a memory management unit according to the embodiment.

【図6】同実施の形態のプロセッサの分割命令時及び結
合命令時の処理の流れを示す図である。
FIG. 6 is a diagram showing a processing flow at the time of a divided instruction and a combined instruction of the processor of the embodiment.

【図7】同実施の形態のプロセッサが有するメモリでの
アドレスの割り付けを示す図である。
FIG. 7 is a diagram showing address allocation in a memory included in the processor of the embodiment.

【図8】同実施の形態のプログラムの流れを示す図であ
る。
FIG. 8 is a diagram showing a flow of a program according to the embodiment.

【図9】本発明の第2の実施の形態の2個の16ビット
命令制御部の内部構成を示す図である。
FIG. 9 is a diagram showing an internal configuration of two 16-bit instruction control units according to the second embodiment of the present invention.

【図10】同実施の形態のメモリ・マネジメント・ユニ
ットの構成を示す図である。
FIG. 10 is a diagram showing a configuration of a memory management unit according to the embodiment.

【図11】同実施の形態のプロセッサの分割命令時及び
結合命令時の処理の流れを示す図である。
FIG. 11 is a diagram showing a processing flow at the time of a division instruction and at the time of a combination instruction of the processor of the embodiment.

【図12】同実施の形態のプロセッサが有するメモリで
のアドレスの割り付けを示す図である。
FIG. 12 is a diagram showing address allocation in a memory included in the processor of the embodiment.

【図13】32ビットフォーマットの命令を16ビット
フォーマットの命令に変換する具体例を示す図である。
FIG. 13 is a diagram showing a specific example of converting a 32-bit format instruction to a 16-bit format instruction.

【図14】同他の具体例を示す図である。FIG. 14 is a diagram showing another specific example.

【図15】32ビット命令制御部の動作の一例を示すフ
ローチャート図である。
FIG. 15 is a flowchart illustrating an example of the operation of a 32-bit instruction control unit.

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

110、111 ALU(Mnビット演算器) 120〜125 データレジスタ(Mnビットデ
ータレジスタ) 130、131 メモリ 150、150´ メモリマネジメントユニット
(MMU) 162 データ結合部 320 32ビットプロセッサ(Nビッ
トプロセッサ) 321 制御部 323 32ビット命令制御部(Nビッ
トプロセッサ用命令制御部) 1401、1411 プログラムカウンタ(Mnビッ
トプログラムカウンタ) 1402、1412 加算器 1403、1413 命令解析部 1409、1419 命令解析部 1501 ページレジスタ 1600、1601 16ビットプロセッサ(Mnビ
ットプロセッサ) 1610、1611 16ビット命令制御部(Mnビ
ットプロセッサ用命令制御部)
110, 111 ALU (Mn bit arithmetic unit) 120-125 Data register (Mn bit data register) 130, 131 Memory 150, 150 'Memory management unit (MMU) 162 Data combining unit 320 32-bit processor (N-bit processor) 321 control Unit 323 32-bit instruction control unit (N-bit processor instruction control unit) 1401, 1411 Program counter (Mn-bit program counter) 1402, 1412 Adder 1403, 1413 Instruction analysis unit 1409, 1419 Instruction analysis unit 1501 Page register 1600, 1601 16-bit processor (Mn-bit processor) 1610, 1611 16-bit instruction control unit (Mn-bit processor instruction control unit)

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI G06F 15/78 510 G06F 15/78 510G ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 6 Identification code FI G06F 15/78 510 G06F 15/78 510G

Claims (17)

【特許請求の範囲】[Claims] 【請求項1】 Nビット(Nは自然数)のプロセッサに
おいて、 前記Nビットプロセッサ用の命令と、N=M1+…+M
n(M1、Mnは自然数、nは2以上の自然数)を満た
すn個のMnビットプロセッサ用の命令とを解読する解
読部と、 前記解読部により解読された命令が前記Nビットプロセ
ッサ用の命令である場合には、その命令を解読し実行す
るよう、前記Nビットプロセッサを制御するNビットプ
ロセッサ用命令制御部と、 前記解読部により解読された命令が前記n個のMnビッ
トプロセッサ用の命令である場合には、前記Nビットプ
ロセッサをn個に分割したMnビットプロセッサとし、
前記n個の命令を並列に解読し実行するよう、前記n個
のMnビットプロセッサを制御するn個のMnビットプ
ロセッサ用命令制御部とを備えたことを特徴とするプロ
セッサ。
1. An N-bit (N is a natural number) processor, comprising: an instruction for the N-bit processor; and N = M1 +... + M
a decoding unit that decodes n instructions for Mn bit processors that satisfy n (M1, Mn are natural numbers, n is a natural number of 2 or more); and an instruction decoded by the decoding unit is an instruction for the N-bit processor. In the case of, an instruction control unit for an N-bit processor that controls the N-bit processor so as to decode and execute the instruction; and an instruction decoded by the decoding unit is an instruction for the n Mn-bit processors. In the case of the above, the N-bit processor is a Mn-bit processor divided into n pieces,
A processor comprising: n Mn bit processor instruction control units for controlling the n Mn bit processors so as to decode and execute the n instructions in parallel.
【請求項2】 別途、前記Nビットプロセッサ用の命令
と、前記n個のMnビットプロセッサ用の命令と、ある
特定の命令とを記憶するメモリを備え、 前記解読部は、前記3種の命令を受け、前記特定の命令
を解読して、その特定の命令の後に受ける命令が前記N
ビットプロセッサ用の命令か、又は前記n個のMnビッ
トプロセッサ用の命令かを判断することを特徴とする請
求項1記載のプロセッサ。
2. A memory for storing an instruction for the N-bit processor, instructions for the n Mn-bit processors, and a specific instruction, wherein the decoding unit includes the three types of instructions. And decodes the specific instruction, and the instruction received after the specific instruction
2. The processor according to claim 1, wherein it is determined whether the instruction is for a bit processor or for the n Mn bit processors.
【請求項3】 前記特定の命令はプロセッサ分割命令で
あり、 前記解読部は、前記分割命令を受けて、その分割命令の
後に受ける命令がn個のMnビットプロセッサ用の命令
であることを判断することを特徴とする請求項2記載の
プロセッサ。
3. The specific instruction is a processor division instruction, and the decoding unit receives the division instruction and determines that an instruction received after the division instruction is an instruction for n Mn-bit processors. The processor of claim 2, wherein
【請求項4】 前記特定の命令はプロセッサ結合命令で
あり、 前記解読部は、前記結合命令を受けて、その結合命令の
後に受ける命令がNビットプロセッサ用の命令であるこ
とを判断することを特徴とする請求項2記載のプロセッ
サ。
4. The specific instruction is a processor combination instruction, and the decoding unit receives the combination instruction and determines that an instruction received after the combination instruction is an instruction for an N-bit processor. 3. The processor according to claim 2, wherein:
【請求項5】 解読された命令が前記Nビットプロセッ
サ用の命令である場合には、 前記Nビットプロセッサ用命令制御部は、 前記Nビットプロセッサ用の命令を、n個のMnビット
プロセッサが実行可能なn個のMnビットフォーマット
の命令に変換し、この変換したn個の命令を各々対応す
るMnビットプロセッサ用命令制御部に送出し、 前記n個のMnビットプロセッサ用命令制御部により、
対応するMnビットフォーマットの命令の実行を制御す
ることを特徴とする請求項1記載のプロセッサ。
5. When the decoded instruction is an instruction for the N-bit processor, the N-bit processor instruction control unit executes the N-bit processor instruction by n Mn-bit processors. The instructions are converted into n possible Mn bit format instructions, and the converted n instructions are sent to the corresponding Mn bit processor instruction control units, respectively.
The processor of claim 1, wherein the processor controls execution of a corresponding Mn bit format instruction.
【請求項6】 Nビットプロセッサは32ビットプロセ
ッサであり、 n個のMnビットプロセッサは2個の16ビットプロセ
ッサであることを特徴とする請求項1記載のプロセッ
サ。
6. The processor according to claim 1, wherein the N-bit processor is a 32-bit processor, and the n Mn-bit processors are two 16-bit processors.
【請求項7】 前記n個のMnビットプロセッサに対応
してn個のMnビット資源を備え、 前記n個のMnビットプロセッサとして動作する際に
は、前記各Mnビットプロセッサ用命令制御部が、前記
対応するMnビット資源を制御し、 前記Nビットプロセッサとして動作する際には、前記N
ビットプロセッサ用命令制御部が、前記n個のMnビッ
ト資源を結合してNビット資源として動作するように制
御することを特徴とする請求項1記載のプロセッサ。
7. An Mn-bit processor comprising n Mn-bit resources corresponding to the n-Mn-bit processors, and when operating as the n-Mn-bit processors, each of the Mn-bit-processor instruction controllers comprises: When controlling the corresponding Mn bit resource and operating as the N bit processor, the N
2. The processor according to claim 1, wherein the bit processor instruction control unit controls the n number of Mn bit resources to be combined to operate as an N bit resource.
【請求項8】 前記n個の資源は、 n個のMnビット演算器、n個のMnビットメモリ、n
個のMnビットデータレジスタ、又はn個のMnビット
プログラムカウンタであることを特徴とする請求項7記
載のプロセッサ。
8. The n resources are: n Mn bit operators, n Mn bit memories, n
8. The processor according to claim 7, wherein the processor comprises Mn bit data registers or n Mn bit program counters.
【請求項9】 前記n個の資源はn段のMnビット演算
器であり、 前記Nビットプロセッサ用命令制御部は、 前記Nビットプロセッサとして動作する際に前段のMn
ビット演算器のキャリー/ボローを次段のMnビット演
算器に送出して前記n段のMnビット演算器同志を結合
するデータ結合部を有することを特徴とする請求項7記
載のプロセッサ。
9. The n-bit resource is an n-stage Mn-bit operation unit, and the N-bit processor instruction control unit operates at the preceding stage when operating as the N-bit processor.
8. The processor according to claim 7, further comprising a data combining unit that sends the carry / borrow of the bit arithmetic unit to the next stage Mn bit arithmetic unit and connects the n stages of Mn bit arithmetic units.
【請求項10】 各Mnビットプロセッサ用のn個のプ
ログラムカウンタを有し、 前記プロセッサ分割命令は、 Nビットフォーマットの命令であり、且つ、このプロセ
ッサ分割命令の後に最初に実行するNビットプロセッサ
の命令のアドレスを計算し、その値を退避させると共
に、前記各Mnビットプロセッサ用のn個のプログラム
カウンタに、前記プロセッサ分割命令に含まれるNビッ
トのアドレスをMnビットづつ書き込む命令であること
を特徴とする請求項3記載のプロセッサ。
10. An n-bit processor having n program counters for each Mn-bit processor, wherein the processor division instruction is an instruction in an N-bit format, and an N-bit processor which executes first after the processor division instruction. An instruction address is calculated, the value is saved, and an N-bit address included in the processor division instruction is written into the n program counters for each of the Mn-bit processors by Mn bits. The processor according to claim 3, wherein
【請求項11】 前記特定の命令はプロセッサ結合命令
をも含み、 前記プロセッサ結合命令は、 前記n個のMnビットプロセッサとしての動作を停止し
て前記プロセッサ分割命令の実行の際に退避した前記N
ビットプログラムカウンタの値を復帰させるものである
ことを特徴とする請求項10記載のプロセッサ。
11. The specific instruction also includes a processor combination instruction, wherein the processor combination instruction stops operating as the n Mn-bit processors and saves the N when executing the processor division instruction.
The processor according to claim 10, wherein the value of the bit program counter is restored.
【請求項12】 前記Nビットプロセッサ用の命令と、
n個のMnビットプロセッサ用の命令とを記憶するメモ
リを備え、 前記メモリ空間のアドレスの“0”番地〜(2^Mnm
ax−1)番地(^は冪乗、MnmaxはM1、M2、
…、Mnのうち最大のものを表わす)までをn個のMn
ビットプロセッサ用の空間として使用し、 前記メモリ空間のアドレスの(2^Mnmax)番地〜
(2^N−1)番地をNビットプロセッサ用の空間とし
て使用することを特徴とする請求項1記載のプロセッ
サ。
12. An instruction for said N-bit processor,
and a memory for storing instructions for n Mn-bit processors, and addresses “0” to (2 ^ Mnm) of addresses in the memory space.
ax-1) (^ is a power, Mnmax is M1, M2,
.. Represents the largest one of Mn) up to n Mn
It is used as a space for a bit processor, and addresses (2 ^ Mnmax) of addresses in the memory space
2. The processor according to claim 1, wherein the address (2 @ N-1) is used as a space for an N-bit processor.
【請求項13】 各Mnビットプロセッサ用のn個のプ
ログラムカウンタと、 (N−Mn)ビットのページレジスタとを有し、 前記プロセッサ分割命令は、 この分割命令のプログラムカウンタの値の上位から(N
−Mn)ビット目の値に“1”を加え、この加算結果で
ある上位(N−Mn)ビットの値を前記(N−Mn)ビ
ットのページレジスタに書き込むと共に、前記n個のプ
ログラムカウンタに“0”を書き込む命令であることを
特徴とする請求項3記載のプロセッサ。
13. An n-bit program counter for each Mn-bit processor, and a (N−Mn) -bit page register, wherein the processor division instruction includes: N
-1) is added to the value of the (Mn) -th bit, and the value of the upper (N-Mn) -bit, which is the result of the addition, is written to the (N-Mn) -bit page register, and is added to the n program counters. 4. The processor according to claim 3, wherein the instruction is a command for writing "0".
【請求項14】 n個のMnビットプロセッサとして動
作する際、 前記n個のMnビットプロセッサ用命令制御部は、各
々、 前記(N−Mn)ページレジスタの値を上位ビットと
し、対応する前記プログラムカウンタの“0”値のMn
ビットアドレスを下位ビットとし、この上位ビット及び
この下位ビットを合わせたNビットのアドレスを、予め
命令を記憶するメモリに送出することを特徴とする請求
項13記載のプロセッサ。
14. When operating as n Mn bit processors, each of the n Mn bit processor instruction control units sets the value of the (N-Mn) page register as an upper bit, and Mn of "0" value of counter
14. The processor according to claim 13, wherein the bit address is a lower bit, and an N-bit address obtained by combining the upper bit and the lower bit is transmitted to a memory for storing an instruction in advance.
【請求項15】 前記特定の命令には、前記n個のMn
ビットプロセッサが各々処理を終了した際に対応するM
nビットプロセッサ用命令制御部から出力されるプロセ
ッサ結合命令が含まれ、 何れかの前記Mnビットプロセッサが処理を終了して、
対応するMnビットプロセッサ用命令制御部が前記プロ
セッサ結合命令を出力した場合、このMnビット命令制
御部は、他のMnビットプロセッサが処理を終了するま
で、動作を停止し又は何も状態変化を起さない命令を実
行するよう、対応するMnビットプロセッサを制御する
ことを特徴とする請求項14記載のプロセッサ。
15. The specific instruction includes the n Mn
M corresponding to when each bit processor completes processing
A processor combination instruction output from the n-bit processor instruction control unit is included, and one of the Mn bit processors terminates processing,
When the corresponding Mn-bit processor instruction control unit outputs the processor combination instruction, the Mn-bit instruction control unit stops operation or causes any state change until another Mn-bit processor finishes processing. 15. The processor of claim 14, wherein a corresponding Mn bit processor is controlled to execute the missing instruction.
【請求項16】 全てのMnビットプロセッサが処理を
終えた際、 前記(N−Mn)ページレジスタの値を上位ビットと
し、前記プロセッサ結合命令を最後に出力したMnビッ
トプロセッサ用命令制御部に対応する前記プログラムカ
ウンタの値に“1”を加えた値を下位ビットとし、この
上位ビット及び下位ビットを合わせたNビットのアドレ
スを、予め命令を記憶するメモリに送出することを特徴
とする請求項15記載のプロセッサ。
16. When all the Mn bit processors have completed the processing, the value of the (N-Mn) page register is set to the upper bit, and the MN bit processor instruction control unit that last output the processor combination instruction is provided. A value obtained by adding "1" to the value of the program counter is set as a lower bit, and an N-bit address including the upper bit and the lower bit is transmitted to a memory for storing instructions in advance. A processor according to claim 15,
【請求項17】 複数の前記Nビットプロセッサ用の命
令、及び複数の前記Mnビットプロセッサ用の命令は、
可変語長の命令であることを特徴とする請求項1記載の
プロセッサ。
17. The instructions for the plurality of N-bit processors and the instructions for the plurality of Mn-bit processors,
The processor of claim 1, wherein the instruction is a variable word length instruction.
JP9126977A 1996-05-23 1997-05-16 Processor Pending JPH1091439A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9126977A JPH1091439A (en) 1996-05-23 1997-05-16 Processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12804696 1996-05-23
JP8-128046 1996-05-23
JP9126977A JPH1091439A (en) 1996-05-23 1997-05-16 Processor

Publications (1)

Publication Number Publication Date
JPH1091439A true JPH1091439A (en) 1998-04-10

Family

ID=26463040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9126977A Pending JPH1091439A (en) 1996-05-23 1997-05-16 Processor

Country Status (1)

Country Link
JP (1) JPH1091439A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127594B2 (en) 2001-09-03 2006-10-24 Matsushita Electric Industrial Co., Ltd. Multiprocessor system and program optimizing method
WO2007049610A1 (en) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation Image processor
WO2008123361A1 (en) * 2007-03-29 2008-10-16 Nec Corporation Reconfigurable simd processor and its execution control method
US8843542B2 (en) 2009-03-26 2014-09-23 Seiko Epson Corporation Information processing device, arithmetic processing method, and electronic apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127594B2 (en) 2001-09-03 2006-10-24 Matsushita Electric Industrial Co., Ltd. Multiprocessor system and program optimizing method
WO2007049610A1 (en) * 2005-10-25 2007-05-03 Mitsubishi Electric Corporation Image processor
JPWO2007049610A1 (en) * 2005-10-25 2009-04-30 三菱電機株式会社 Image processing device
WO2008123361A1 (en) * 2007-03-29 2008-10-16 Nec Corporation Reconfigurable simd processor and its execution control method
US8843542B2 (en) 2009-03-26 2014-09-23 Seiko Epson Corporation Information processing device, arithmetic processing method, and electronic apparatus

Similar Documents

Publication Publication Date Title
EP0426393B1 (en) Instructing method and execution system
US5794067A (en) Digital signal processing device
JPH10134036A (en) Single-instruction multiple data processing for multimedia signal processor
JPH09231070A (en) Information processing circuit, semiconductor integrated circuit device, microcomputer and electronic equipment
US7574583B2 (en) Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor
JP3781519B2 (en) Instruction control mechanism of processor
US6026486A (en) General purpose processor having a variable bitwidth
JP3479385B2 (en) Information processing device
JPH03233630A (en) Information processor
JPH1091439A (en) Processor
US20070143579A1 (en) Integrated data processor
JPH10143494A (en) Single-instruction plural-data processing for which scalar/vector operation is combined
JP2013246816A (en) Reconfigurable processor of mini-core base and flexible multiple data processing method using reconfigurable processor
US5875323A (en) Processor using implicit register addressing
JP2006018411A (en) Processor
JP2826309B2 (en) Information processing device
US6363469B1 (en) Address generation apparatus
US8255672B2 (en) Single instruction decode circuit for decoding instruction from memory and instructions from an instruction generation circuit
JPH09305401A (en) Computer and compiler
JPH07210545A (en) Parallel processing processors
JP3511691B2 (en) Arithmetic processing unit
JPH0524537B2 (en)
JPH07110769A (en) Vliw type computer
JPH11306015A (en) Operating processing method and microcomputer using the method
JP2000298589A (en) Microprocessor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990907