JPH11338735A - System lsi - Google Patents

System lsi

Info

Publication number
JPH11338735A
JPH11338735A JP10146178A JP14617898A JPH11338735A JP H11338735 A JPH11338735 A JP H11338735A JP 10146178 A JP10146178 A JP 10146178A JP 14617898 A JP14617898 A JP 14617898A JP H11338735 A JPH11338735 A JP H11338735A
Authority
JP
Japan
Prior art keywords
data
peripheral block
register
unit
processing
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
JP10146178A
Other languages
Japanese (ja)
Inventor
Atsushi Mori
篤史 毛利
Toyohiko Yoshida
豊彦 吉田
Akira Yamada
朗 山田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10146178A priority Critical patent/JPH11338735A/en
Publication of JPH11338735A publication Critical patent/JPH11338735A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a system LSI equipped with a function capable of accessing respective block parts at high speed by acquiring the operating states of respective block parts through a processor core. SOLUTION: A processor core 4 is provided with a state supervisory and control register composed of state bits for reading and storing operation information stored in a peripheral control register at each part inside a peripheral block part 9 and a system LSI 1 acquires and controls changes in the processing states of respective parts inside the peripheral block part 9 while referring to the contents of the state supervisory corresponding to the execution of a control register transfer instruction.

Description

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

【0001】[0001]

【発明の属する技術分野】この発明は、システム全体の
制御を行うプロセッサコアと各種の専用制御を司る周辺
ブロック部より構成され、そのプロセッサコアと周辺ブ
ロック部との間で高速に通信を行うシステムLSIに関
するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system which comprises a processor core for controlling the entire system and a peripheral block for controlling various exclusive controls, and performs high-speed communication between the processor core and the peripheral block. It relates to an LSI.

【0002】[0002]

【従来の技術】コンピュータシステムにおいて、中央演
算処理装置(CPU)と入出力装置との間でデータ通信
を行う場合、CPUが次の入出力動作を実行してよいか
どうかを、入出力装置側の状態ビットを周期的にチェッ
クすることで判断するポーリング方式と、入出力装置側
がCPUに入出力処理を開始すべきタイミングを知らせ
る割り込み方式とが従来において用いられている。当然
のことながら、入出力装置に比べてCPUの動作速度は
格段に高速であるので、ポーリング方式の場合では、C
PU時間を多大に浪費することになる。また、割り込み
の方式の場合では、割り込み処理が発生する度に割り込
み前のCPUの状態を保持する必要がある為に各種レジ
スタ値の退避および回復といったオーバーヘッドが生じ
ることになる。
2. Description of the Related Art In a computer system, when data communication is performed between a central processing unit (CPU) and an input / output device, it is determined whether or not the CPU can execute the next input / output operation. The polling method of making a determination by periodically checking the status bits of the above, and the interrupt method of informing the CPU of the timing at which the input / output processing should be started by the input / output device side are conventionally used. As a matter of course, the operating speed of the CPU is much higher than that of the input / output device.
This wastes a lot of PU time. Further, in the case of the interrupt method, it is necessary to hold the state of the CPU before the interrupt every time the interrupt processing occurs, so that overhead such as saving and restoring various register values occurs.

【0003】近年、半導体プロセスの技術革新は目覚ま
しく、従来では複数のLSIで構成されていたコンピュ
ータシステムが、単体のLSI内に集積されるようにな
ってきた。この集積技術の向上により、システム全体の
制御を行うプロセッサコアと、各種専用的な処理を行う
専用ハードウェア、そして命令およびデータを記憶する
大容量のメモリ等を単体のLSI内に集積でき、この集
積されたシステムLSIが製品化され、広く市場に供給
されてきている。
[0003] In recent years, the technological innovation of semiconductor processes has been remarkable, and a computer system which has conventionally been constituted by a plurality of LSIs has been integrated into a single LSI. By the improvement of the integration technology, a processor core for controlling the entire system, dedicated hardware for performing various dedicated processes, and a large-capacity memory for storing instructions and data can be integrated in a single LSI. Integrated system LSIs have been commercialized and widely supplied to the market.

【0004】これらのシステムLSIにおいては、ホス
トインタフェース(I/F)を備えることにより、シス
テムLSIを含んだシステム全体をホストプロセッサが
管理したり、システムLSI内に組み込まれた専用ハー
ドウェアが独立して、自ブロックの処理が完了すれば次
ブロックに対して起動をかけることで全体の制御を行う
といった制御が行われている。また、システムLSI内
のCPUが全体の制御行う場合でも、周辺専用ハードウ
ェアの処理完了を伝えるための情報の伝達は、従来の割
り込み処理やポーリング処理に基づいて実行されてい
る。
In these system LSIs, by providing a host interface (I / F), a host processor manages the entire system including the system LSI, and dedicated hardware incorporated in the system LSI becomes independent. Then, when the processing of the own block is completed, control is performed such that the whole block is controlled by activating the next block. Further, even when the CPU in the system LSI performs overall control, transmission of information for notifying the completion of processing of peripheral dedicated hardware is performed based on conventional interrupt processing and polling processing.

【0005】図24は、従来のシステムLSIの基本構
成を示すブロック図であり、図において、1000はシ
ステムLSIであり、プロセッサコア1001、内部命
令RAM2と、内部データRAM3と、システムバスI
/F1002と、周辺ブロック部1003から構成され
ている。
FIG. 24 is a block diagram showing the basic configuration of a conventional system LSI. In the figure, reference numeral 1000 denotes a system LSI, which includes a processor core 1001, an internal instruction RAM 2, an internal data RAM 3, a system bus I
/ F 1002 and a peripheral block unit 1003.

【0006】次に動作について説明する。プロセッサコ
ア1001から出力される命令アドレスを送信する命令
アドレスバス20は、内部命令RAM2およびシステム
バスI/F1002へ接続されている。また、プロセッ
サコア1001から出力されるデータアドレスを送信す
るデータアドレスバス21は、内部データRAM3へ接
続される。
Next, the operation will be described. An instruction address bus 20 for transmitting an instruction address output from the processor core 1001 is connected to the internal instruction RAM 2 and the system bus I / F 1002. A data address bus 21 for transmitting a data address output from the processor core 1001 is connected to the internal data RAM 3.

【0007】また、アクセス対称のデータ領域が、シス
テムバスI/F1002や周辺ブロック部1003に対
するものである場合には、そのデータアドレスはアドレ
スバス26を通してシステムバスI/F1002と周辺
ブロック部1003へ出力され、そのアドレスにより指
定されるデータは、データバス27を介して転送され
る。
When the access-symmetric data area is for the system bus I / F 1002 and the peripheral block 1003, the data address is output to the system bus I / F 1002 and the peripheral block 1003 via the address bus 26. The data specified by the address is transferred via the data bus 27.

【0008】周辺ブロック部1003は、処理状態を示
す状態レジスタ1004を内蔵しており、この状態レジ
スタ1004の内容は、前述のアドレスバス26とデー
タバス27を介してプロセッサコア1001から読み出
し可能である。また、周辺ブロック部1003から割り
込み信号1005がプロセッサコア1001に対して出
力されており、プロセッサコア1001では、この割り
込み信号1005がアクティブになると、割り込み制御
部1006が割り込み処理を起動し、それに従ってプロ
セッサコア1001は動作する。
The peripheral block unit 1003 has a built-in status register 1004 indicating a processing status, and the contents of the status register 1004 can be read from the processor core 1001 via the above-mentioned address bus 26 and data bus 27. . Further, an interrupt signal 1005 is output from the peripheral block unit 1003 to the processor core 1001. In the processor core 1001, when the interrupt signal 1005 becomes active, the interrupt control unit 1006 starts interrupt processing, and the processor The core 1001 operates.

【0009】プロセッサコア1001は、内部命令RA
M2およびシステムバスI/F1002に対し、命令ア
ドレスバス20を介して命令アドレスを出力する。その
命令アドレスが、システムバスI/F1002に対して
送信されたものである場合、システムバスI/F部10
02は、バス50を通して外部メモリ(図示せず)より
命令コードをフェッチし、バス24を通してプロセッサ
コア1001へ命令コードを転送する。
The processor core 1001 has an internal instruction RA
An instruction address is output to M2 and the system bus I / F 1002 via the instruction address bus 20. If the instruction address is transmitted to the system bus I / F 1002, the system bus I / F unit 1010
02 fetches an instruction code from an external memory (not shown) through the bus 50 and transfers the instruction code to the processor core 1001 through the bus 24.

【0010】また、命令アドレスバス20が、内部命令
RAM2に対するものである場合、内部命令RAM2
は、バス23を通してプロセッサコア1001に命令コ
ードを転送する。プロセッサコア1001は、バス23
およびバス24のいずれかを選択し、バス25を通し
て、次に処理すべき命令コードを獲得する。
When the instruction address bus 20 is for the internal instruction RAM 2, the internal instruction RAM 2
Transfers the instruction code to the processor core 1001 through the bus 23. The processor core 1001 is connected to the bus 23
And the bus 24 is selected, and an instruction code to be processed next is obtained through the bus 25.

【0011】プロセッサコア1001内へ転送されてき
た命令コードは、デコード処理され、そのデコード結果
から演算実行部を制御し、汎用レジスタ(図示せず)か
ら演算対象のデータを読み出す。そして演算実行結果を
汎用レジスタ内に格納する。その演算のためのデータが
汎用レジスタに存在しない場合は、データアドレスバス
21を通して、内部データRAM3へアクセスし、必要
なデータをバス22を通して獲得する。あるいは、アド
レスバス26を通して、システムバスI/F1002を
アクセスする。システムバスI/F1002は、必要な
データをバス50を通して外部メモリから得た後に、デ
ータバス27を通してプロセッサコア1001へ必要な
データを転送する。
The instruction code transferred into the processor core 1001 is decoded, the operation execution unit is controlled based on the decoded result, and the operation target data is read from a general-purpose register (not shown). Then, the operation execution result is stored in the general-purpose register. If the data for the operation does not exist in the general-purpose register, the internal data RAM 3 is accessed through the data address bus 21 and the necessary data is obtained through the bus 22. Alternatively, the system bus I / F 1002 is accessed through the address bus 26. The system bus I / F 1002 transfers necessary data to the processor core 1001 through the data bus 27 after obtaining necessary data from an external memory via the bus 50.

【0012】また、演算結果を外部メモリ(図示せず)
内へ格納したい場合にも、プロセッサコア1001は、
各バス26,27を通して、アドレスとデータとをシス
テムバスI/F1002へ送信する。これらのアドレス
およびデータを受け取ったシステムバスI/F1002
は、バス50を通して、外部メモリ内の目的のアドレス
領域に演算結果であるデータを格納する。
The operation result is stored in an external memory (not shown).
When it is desired to store the information in the processor core 1001,
An address and data are transmitted to the system bus I / F 1002 through each of the buses 26 and 27. System bus I / F 1002 receiving these addresses and data
Stores data as a calculation result in a target address area in the external memory through the bus 50.

【0013】このようにプロセッサコア1001は、目
的のアプリケーションを実行しながら、各種専用的な処
理を周辺ブロック部に実行させる。その際、プロセッサ
コア1001は、周辺ブロック部1003内の制御レジ
スタ(図示せず)内へコマンドを書き込み、周辺ブロッ
ク部1003の処理に起動をかける。周辺ブロック部1
003は、プロセッサコア1001より起動がかけられ
た処理の進行状態を、内蔵の状態レジスタ1004内に
書き込んでいく。すなわち処理に必要なデータをプロセ
ッサコア1001を介して内部データRAM3から取り
込み、その取り込んだデータに加工を施した後に、内部
データRAM3へ格納するような処理を行う。
As described above, the processor core 1001 causes the peripheral block unit to execute various dedicated processes while executing the target application. At this time, the processor core 1001 writes a command into a control register (not shown) in the peripheral block unit 1003, and starts the processing of the peripheral block unit 1003. Peripheral block part 1
In step 003, the progress of the process activated by the processor core 1001 is written in the built-in status register 1004. In other words, data necessary for processing is fetched from the internal data RAM 3 via the processor core 1001, the processed data is processed, and then stored in the internal data RAM 3.

【0014】通常は、この周辺ブロック部1003と内
部データRAM3との間で実行されるデータ転送は、プ
ロセッサコア1001の動作とは独立して行われる。こ
のデータ転送は、Direct Memory Acc
ess(DMA)転送と呼ばれる。
Normally, data transfer performed between the peripheral block unit 1003 and the internal data RAM 3 is performed independently of the operation of the processor core 1001. This data transfer is performed by Direct Memory Acc.
This is called ess (DMA) transfer.

【0015】そして、プロセッサコア1001は、この
状態レジスタ1004内に格納されたデータを読み出し
ながら、即ち、ポーリング処理を行いながら、随時必要
な処理を行っていく。このように、周辺ブロック部10
03が状態レジスタ1004を内蔵するのは、周辺ブロ
ック部1003が時間的、状態的な正確な情報を持つこ
とが可能であるためである。また、周辺ブロック部10
03では、プロセッサコア1001より起動がかけられ
た処理が完了した時点で、割り込み信号1005をアク
ティブにする。この割り込み信号を受け取ると、プロセ
ッサコア1001内の割り込み制御部1006は、割り
込み処理を起動し、プロセッサコア1001は割り込み
処理を実行する。
The processor core 1001 performs necessary processing at any time while reading data stored in the status register 1004, that is, while performing polling processing. Thus, the peripheral block unit 10
03 incorporates the status register 1004 because the peripheral block unit 1003 can have accurate temporal and status information. The peripheral block unit 10
In 03, the interrupt signal 1005 is activated when the processing started by the processor core 1001 is completed. Upon receiving this interrupt signal, the interrupt control unit 1006 in the processor core 1001 activates the interrupt processing, and the processor core 1001 executes the interrupt processing.

【0016】図25は、プロセッサコア1001と、内
部命令RAM2および内部データRAM3、そして周辺
ブロック部1003およびシステムバスI/F1002
間のアドレスおよびデータを転送する転送回路を示すブ
ロック図である。図24に示した従来のシステムLSI
1000で説明した様に、プロセッサコア1001と内
部命令RAM2との間は、命令アドレスバス20とデー
タバス22とを介して接続されており、内部命令RAM
2から読み出された命令コードは、バス23を経由して
プロセッサコア1001へ出力される。
FIG. 25 shows a processor core 1001, an internal instruction RAM 2 and an internal data RAM 3, a peripheral block section 1003 and a system bus I / F 1002.
FIG. 3 is a block diagram illustrating a transfer circuit that transfers addresses and data between the transfer circuits. Conventional system LSI shown in FIG.
As described with reference to 1000, the processor core 1001 and the internal instruction RAM 2 are connected via the instruction address bus 20 and the data bus 22,
2 are output to the processor core 1001 via the bus 23.

【0017】また、プロセッサコア1001と内部デー
タRAM3との間は、データアドレスバス21とデータ
バス22とを介して接続されている。また、プロセッサ
コア1001と周辺ブロック部1003との間は、アド
レスバス26とデータバス27を介して接続されてい
る。
The processor core 1001 and the internal data RAM 3 are connected via a data address bus 21 and a data bus 22. The processor core 1001 and the peripheral block unit 1003 are connected via an address bus 26 and a data bus 27.

【0018】命令フェッチを実行するために、命令アド
レスバス20には、プロセッサコア1001内のセレク
タ88を介して、命令レジスタ30内に保持されている
命令アドレスが出力される。内部命令RAM2は、命令
レジスタ30内に保持されていた命令アドレスを、命令
アドレスバス20を介して受け取ると、命令アドレスが
指定するアドレス内に格納されている命令コードをバス
23上に出力する。
In order to execute an instruction fetch, an instruction address held in the instruction register 30 is output to the instruction address bus 20 via a selector 88 in the processor core 1001. When receiving the instruction address held in the instruction register 30 via the instruction address bus 20, the internal instruction RAM 2 outputs the instruction code stored in the address specified by the instruction address onto the bus 23.

【0019】この従来のシステムLSI1000におい
て、命令フェッチは64ビット単位で処理されるため、
一度、命令フェッチが実行されるとインクリメンタ31
によって命令アドレスの値に8が加算され、加算された
命令アドレスは、次の命令フェッチのために使用され
る。また、データアクセスを行うためのデータアドレス
バス21上へ、アドレス計算用の加算器33で加算され
たデータアドレスが、ラッチ34,35と3ステートバ
ッファ66を介して出力される。データアクセスがデー
タリード処理であった場合、内部データRAM3は、3
ステートバッファ62を介して所望のデータをバス22
上へ出力する。
In the conventional system LSI 1000, instruction fetch is processed in units of 64 bits.
Once the instruction fetch is executed, the incrementer 31
Adds 8 to the value of the instruction address, and the added instruction address is used for the next instruction fetch. The data address added by the adder 33 for address calculation is output to the data address bus 21 for performing data access via the latches 34 and 35 and the three-state buffer 66. When the data access is a data read process, the internal data RAM 3
Desired data is transferred to the bus 22 via the state buffer 62.
Output to the top.

【0020】プロセッサコア1001は、バス2せいち
データを符号拡張部(OP4)37を介して取り込む。
また、データアクセスがデータライト処理であった場
合、プロセッサコア1001は、データ整値部(OP
5)36と3ステートバッファ39を介してデータをバ
ス22上へ出力する。そして、内部データRAM3は、
バス22上のデータを、3ステートバッファ63を介し
て所定のアドレスで示される格納領域内へ格納する。
The processor core 1001 fetches data from the bus 2 via the sign extension unit (OP4) 37.
If the data access is a data write process, the processor core 1001
5) The data is output onto the bus 22 via the 36 and the 3-state buffer 39. And the internal data RAM 3
The data on the bus 22 is stored in a storage area indicated by a predetermined address via the three-state buffer 63.

【0021】データアドレスバス21上のアドレスデー
タは、内部データRAM3へ出力されるばかりでなく、
周辺ブロック部1003へのアクセスを行うために、双
方向バッファ部1020へも出力される。その出力され
たデータアドレスは、3ステートバッファ1022を介
して、周辺ブロック部1003と接続されているアドレ
スバス26上へ出力される。周辺ブロック部1003へ
のデータアクセスが制御レジスタ等に対するデータリー
ド処理である場合、バス27を介して読み出された状態
レジスタ1004内に格納されているデータは、3ステ
ートバッファ1024を介してバス22へ出力される。
The address data on the data address bus 21 is not only output to the internal data RAM 3 but also
It is also output to the bidirectional buffer unit 1020 to access the peripheral block unit 1003. The output data address is output to the address bus 26 connected to the peripheral block unit 1003 via the three-state buffer 1022. When the data access to the peripheral block unit 1003 is a data read process for a control register or the like, the data stored in the state register 1004 read via the bus 27 is transferred to the bus 22 via the three-state buffer 1024. Output to

【0022】プロセッサコア1001は、プロセッサコ
ア1001内部にある符号拡張部37を経由してそのデ
ータを取り込む。また周辺ブロック部1003へのデー
タアクセスが、制御レジスタ等へデータライト処理であ
った場合、プロセッサコア1001が、データ整値部3
6と3ステートバッファ39を介してバス22上へ出力
したデータは、3ステートバッファ1023を介してバ
ス27上へ出力され、所定の制御レジスタ内に格納され
る。
The processor core 1001 fetches the data via the sign extension unit 37 inside the processor core 1001. If the data access to the peripheral block unit 1003 is a data write process to a control register or the like, the processor core 1001
The data output onto the bus 22 via the 6- and 3-state buffers 39 is output onto the bus 27 via the 3-state buffer 1023 and stored in a predetermined control register.

【0023】また、プロセッサコア1001が、内部命
令RAM2から命令コードをデータとして読み出した
り、命令コードを内部命令RAM2内へ格納したりする
場合には、先ず、データアドレスを経路87とセレクタ
88を介して、内部命令RAM2へ出力する。そして、
アクセスがデータリード処理である場合には、バス22
上へ出力された命令コードを、3ステートバッファ6
0,65を介して符号拡張部37内へ取り込む。また、
アクセスがデータライト処理である場合には、データ整
値部36と3ステートバッファ39を介してバス22上
へ出力された命令コードを、3ステートバッファ64,
61を介して、内部命令RAM2内の所定位置に格納す
る。
When the processor core 1001 reads out an instruction code from the internal instruction RAM 2 as data or stores the instruction code in the internal instruction RAM 2, the data address is first transmitted via the path 87 and the selector 88. And outputs it to the internal instruction RAM2. And
If the access is a data read process, the bus 22
The instruction code output above is transferred to the three-state buffer 6
It is taken into the sign extension unit 37 via 0,65. Also,
When the access is a data write process, the instruction code output onto the bus 22 via the data integer value part 36 and the three-state buffer 39 is transferred to the three-state buffer 64,
61, and is stored at a predetermined position in the internal instruction RAM 2.

【0024】さらに、周辺ブロック部1003が、直接
に内部データRAM2内の領域をアクセスする場合、即
ち、DMA転送の場合には、周辺ブロック部1003
が、プロセッサコア1001から、データアドレスバス
21とデータバス22のバス権(バスを自由に優先的に
使用する権利)を獲得した後に、DMA転送の処理が開
始される。
Further, when the peripheral block unit 1003 directly accesses an area in the internal data RAM 2, that is, in the case of a DMA transfer, the peripheral block unit 1003
After acquiring the right of the data address bus 21 and the data bus 22 from the processor core 1001 (right to use the bus freely and preferentially), the DMA transfer process is started.

【0025】周辺ブロック部1003が、アドレスバス
26上へ出力したデータアドレスは、3ステートバッフ
ァ1021を介してデータアドレスバス21上へ出力さ
れ、内部データRAM3へ転送される。DMA転送がデ
ータリード処理であった場合には、内部データRAM3
から3ステートバッファ62を介してバス22上へ出力
されたデータは、プロセッサコア1001内の3ステー
トバッファ1023を介して、データバス27上へ出力
される。この出力されたデータは、データバス27を介
して周辺ブロック部1003へ転送される。
The data address output from the peripheral block unit 1003 onto the address bus 26 is output onto the data address bus 21 via the three-state buffer 1021 and transferred to the internal data RAM 3. If the DMA transfer is a data read process, the internal data RAM 3
Are output onto the bus 22 via the three-state buffer 62 and are output onto the data bus 27 via the three-state buffer 1023 in the processor core 1001. The output data is transferred to the peripheral block unit 1003 via the data bus 27.

【0026】DMA転送がデータライト処理である場合
には、周辺ブロック部1003がデータバス27に出力
したデータは、3ステートバッファ1024を介してバ
ス22上へ出力される。内部データRAM3では、3ス
テートバッファ63を介して所定の位置にバス22上の
データを格納する。このDMA転送は、高速に大量のデ
ータを転送するために使用される場合が多く、通常は内
部データRAM3内の連続領域に対するアクセスが行わ
れる。その場合には、その連続領域のアドレスを周辺ブ
ロック部1003が出力する必要がある。
When the DMA transfer is a data write process, data output from the peripheral block unit 1003 to the data bus 27 is output to the bus 22 via the three-state buffer 1024. In the internal data RAM 3, data on the bus 22 is stored at a predetermined position via the three-state buffer 63. This DMA transfer is often used to transfer a large amount of data at a high speed, and usually accesses a continuous area in the internal data RAM 3. In that case, the peripheral block unit 1003 needs to output the address of the continuous area.

【0027】図26は、プロセッサコア1001が、周
辺ブロック部1003内の制御レジスタ(図示せず)に
対してリード/ライト処理を行う場合と、周辺ブロック
部1003が内部データRAM3に対してDMAデータ
リード/データライト処理を行う場合を示すタイミング
チャートである。図において、(a)は、プロセッサコ
ア1001から周辺ブロック部1003へ出力される信
号を示しており、(b)は、周辺ブロック部1003か
らプロセッサコア1001へ出力される信号を示してお
り、(c)は、プロセッサコア1001から内部データ
RAM3へ出力される信号を示している。
FIG. 26 shows a case where the processor core 1001 performs a read / write process on a control register (not shown) in the peripheral block unit 1003 and a case where the peripheral block unit 1003 performs DMA data transfer on the internal data RAM 3. 9 is a timing chart showing a case where a read / data write process is performed. In the figure, (a) shows a signal output from the processor core 1001 to the peripheral block unit 1003, (b) shows a signal output from the peripheral block unit 1003 to the processor core 1001, ( c) shows a signal output from the processor core 1001 to the internal data RAM 3.

【0028】プロセッサコア1001が、周辺ブロック
部1003内の制御レジスタにアクセスを行う場合は、
まず制御信号である制御レジスタリクエスト信号と制御
レジスタライト信号を出力する。制御レジスタライト信
号がロウレベル(Lレベル)の時は、そのアクセスがデ
ータリード処理であることを示し、制御レジスタライト
信号がハイレベル(Hレベル)である時は、そのアクセ
スがデータライト処理であることを示す。
When the processor core 1001 accesses a control register in the peripheral block unit 1003,
First, a control register request signal and a control register write signal, which are control signals, are output. When the control register write signal is at a low level (L level), it indicates that the access is a data read process. When the control register write signal is at a high level (H level), the access is a data write process. Indicates that

【0029】図26に示すように、プロセッサコア10
01がクロック(1)で制御レジスタリードのリクエス
トを発行すると、データアドレスバス21上にそのアク
セスアドレスA1が出力され、直ちに、周辺アドレスバ
ス26へもそのアクセスアドレスA1が出力される。
As shown in FIG. 26, the processor core 10
When 01 issues a control register read request at clock (1), the access address A1 is output on the data address bus 21 and immediately the access address A1 is output to the peripheral address bus 26.

【0030】周辺ブロック部1003は、このアクセス
アドレスA1を受け取り、このアクセスアドレスA1が
指定する制御レジスタ(図示せず)からデータD1を読
み出し、クロック(3)で周辺データバス27上へ、そ
の読み出したデータD1を出力する。このデータD1
は、1クロック後のクロック(4)で、データバス22
上へ転送される。このクロック(1)〜(4)までが制
御レジスタのリード期間であり、プロセッサコア100
1は、3クロックサイクルの間その動作を停止すること
になる(ウェイト処理)。
The peripheral block unit 1003 receives the access address A1, reads data D1 from a control register (not shown) specified by the access address A1, and reads the data D1 onto the peripheral data bus 27 at a clock (3). The data D1 is output. This data D1
Is the clock (4) one clock after, and the data bus 22
Transferred up. The clocks (1) to (4) are the read period of the control register, and the processor core 100
1 stops its operation for three clock cycles (wait processing).

【0031】プロセッサコア1001が、クロック
(5)で制御レジスタライトのリクエストを発行する
と、データアドレスバス21上にそのアクセスアドレス
A2が出力され、直ちに、アクセスアドレスA2は周辺
アドレスバス26上へも出力される。また、同じクロッ
ク(5)期間中に、ライトデータD2もデータバス22
上へ出力される。
When the processor core 1001 issues a control register write request at clock (5), the access address A2 is output on the data address bus 21 and immediately the access address A2 is also output on the peripheral address bus 26. Is done. Also, during the same clock (5) period, the write data D2 is also transmitted to the data bus 22.
Output to the top.

【0032】ライトデータD2は、1クロック後のクロ
ック(6)で、周辺データバス27上へ転送される。周
辺ブロック部1003は、アドレスA2とデータD2と
を受け取り、所定の制御レジスタ内にデータを格納す
る。このクロック(5)〜(8)までが制御レジスタに
対するデータライト期間であり、プロセッサコア100
1は、3サイクル期間の間その動作を停止することにな
る(ウェイト処理)。
The write data D2 is transferred onto the peripheral data bus 27 at a clock (6) after one clock. The peripheral block unit 1003 receives the address A2 and the data D2, and stores the data in a predetermined control register. The clocks (5) to (8) are the data write period for the control register, and the processor core 100
No. 1 stops its operation for three cycle periods (wait processing).

【0033】このように、プロセッサコア1001が、
周辺ブロック部1003内の制御レジスタ(図示せず)
をアクセスする場合、通常のプロセッサコア1001で
はウェイト処理が必要である。プロセッサコア1001
内部の制御レジスタや内部データRAM3は高速にアク
セス可能であるのに対して、周辺ブロック部1003へ
のアクセスは、低速でアクセスしなければならない。換
言すると、周辺ブロック部1003へのアクセスが完了
するまで、プロセッサコア1001の動作を停止する必
要があるので、プロセッサコア1001の処理サイクル
の浪費を招いてしまうという課題があった。
As described above, the processor core 1001
Control register (not shown) in peripheral block unit 1003
, The ordinary processor core 1001 needs to perform wait processing. Processor core 1001
While the internal control register and the internal data RAM 3 can be accessed at high speed, the access to the peripheral block unit 1003 must be performed at low speed. In other words, it is necessary to stop the operation of the processor core 1001 until the access to the peripheral block unit 1003 is completed, so that there is a problem that the processing cycle of the processor core 1001 is wasted.

【0034】周辺ブロック部1003が、内部データR
AM3に対してDMA転送を行う場合では、周辺ブロッ
ク部1003は、プロセッサコア1001に対してDM
Aリクエスト信号をアサートする。
The peripheral block 1003 stores the internal data R
When performing a DMA transfer to the AM 3, the peripheral block unit 1003 sends the DM to the processor core 1001.
Assert the A request signal.

【0035】プロセッサコア1001は、プロセッサコ
ア内部および周辺のアドレスバス,データバスが使用さ
れていない状態である場合は、このリクエスト信号に対
するアクノリッジ信号を生成して返送する。このリクエ
スト信号とアクノリッジ信号とが両方アサートされてい
る期間が、周辺ブロック部1003がDMA転送可能な
期間であることを示す。
When the address bus and the data bus inside and around the processor core are not used, the processor core 1001 generates and returns an acknowledge signal for the request signal. The period in which both the request signal and the acknowledge signal are asserted indicates that the peripheral block unit 1003 can perform DMA transfer.

【0036】周辺ブロック部1003は、プロセッサコ
ア1001から送信されてきたDMAアクノリッジ信号
を受信した1クロック後から、DMAアドレス有効信号
とDMAライト信号を出力する。DMAアドレス有効信
号がアサートされている期間に、周辺ブロック部100
3は、周辺アドレスバス26上に、毎クロックインクリ
メントされたアドレスを出力する。
The peripheral block unit 1003 outputs a DMA address valid signal and a DMA write signal one clock after receiving the DMA acknowledge signal transmitted from the processor core 1001. While the DMA address valid signal is asserted, the peripheral block unit 100
3 outputs the address incremented every clock to the peripheral address bus 26.

【0037】また、周辺ブロック部1003はDMAラ
イト信号もアサートし、このDMAライト信号がLレベ
ルの場合、内部データRAM3からデータリード処理を
実行し、逆に、DMAライト信号がHレベルの場合に
は、内部データRAM3へのライト処理を行う。
The peripheral block unit 1003 also asserts the DMA write signal. When the DMA write signal is at the L level, the peripheral block unit 1003 executes data read processing from the internal data RAM 3, and conversely, when the DMA write signal is at the H level. Performs a write process to the internal data RAM 3.

【0038】図26に示すように、周辺ブロック部Aが
クロック(9)で、プロセッサコア1001へDMAリ
クエスト信号をアサートし、クロック(10)で、DM
Aアクノリッジ信号がプロセッサコア1001から返送
された場合、周辺ブロック部Aはクロック(11)〜
(16)までDMAアドレス有効信号とライト信号、そ
してアドレスA31〜36を出力する。
As shown in FIG. 26, the peripheral block unit A asserts a DMA request signal to the processor core 1001 at the clock (9), and outputs the DM request signal at the clock (10).
When the A acknowledgment signal is returned from the processor core 1001, the peripheral block unit A performs clock (11) to clock (11).
Until (16), the DMA address valid signal, the write signal, and the addresses A31 to A36 are output.

【0039】DMAライト信号が、Lレベルである場
合、内部データRAM3に対するデータリード処理が実
行される。即ち、周辺アドレスバス26上のアドレスA
31〜36は、1クロック後にデータアドレスバス21
上へ転送される。そのアドレスに対するデータD31〜
36が、データRAM出力信号により、データバス22
上へ出力され、さらに1クロック後に、周辺データバス
27上へ転送される。
When the DMA write signal is at the L level, data read processing for the internal data RAM 3 is executed. That is, the address A on the peripheral address bus 26
31 to 36 are the data address bus 21 after one clock.
Transferred up. Data D31 to D31 for that address
36 is the data bus 22 according to the data RAM output signal.
The data is output to the peripheral data bus 27 after one clock.

【0040】このクロック(12)〜(17)が、内部
命令RAM2,内部データRAM3に対するDMAリー
ド期間である。また、周辺ブロック部Bが、クロック
(12)でプロセッサコア1001にDMAリクエスト
信号をアサートしても、周辺ブロック部AがDMA転送
を実行しているため、クロック(19)になってからD
MAアクノリッジ信号が返される。
The clocks (12) to (17) are a DMA read period for the internal instruction RAM 2 and the internal data RAM 3. Further, even if the peripheral block unit B asserts the DMA request signal to the processor core 1001 at the clock (12), the peripheral block unit A executes the DMA transfer.
The MA acknowledge signal is returned.

【0041】周辺ブロック部Bは、この1クロック後の
クロック(20)から、DMAアドレス有効信号とライ
ト信号、そしてアドレスA41〜45を出力する。DM
Aライト信号がHレベルであるので、内部データRAM
へのライト処理が行われる。即ち、周辺アドレスバス2
6上のアドレスA41〜45は、1クロック後にデータ
アドレスバス21上へ転送される。アドレスと同時にラ
イトデータD41〜45が周辺データバス27上へ出力
され、アドレスと同様に、1クロック後にデータバス2
2上へ転送される。
The peripheral block section B outputs a DMA address valid signal, a write signal, and addresses A41 to A45 from the clock (20) one clock after this. DM
Since the A write signal is at the H level, the internal data RAM
Is performed. That is, the peripheral address bus 2
6 are transferred to the data address bus 21 one clock later. Write data D41 to D45 are output onto the peripheral data bus 27 at the same time as the address.
2 is transferred.

【0042】プロセッサコア1001はデータRAMラ
イト信号を出力し、ライトデータD41〜45を内部デ
ータRAM3内へ格納する。このように、DMA転送処
理では、プロセッサコア1001と周辺ブロックA,B
との間でアドレス,データの転送にウェイト期間が発生
するが、連続するメモリ領域に大量のデータをアクセス
が可能であり、プロセッサコア1001の処理と並行し
て、高速大量データ転送が可能である。
The processor core 1001 outputs a data RAM write signal and stores the write data D41 to D45 in the internal data RAM3. As described above, in the DMA transfer processing, the processor core 1001 and the peripheral blocks A and B
Although a wait period occurs in the transfer of addresses and data between the two, a large amount of data can be accessed in a continuous memory area, and high-speed large-volume data transfer can be performed in parallel with the processing of the processor core 1001. .

【0043】図27は、プロセッサコア1001が周辺
ブロック部1003内の状態レジスタ1004内に格納
されたデータを読み出し、処理進行の状態を監視する、
即ちポーリング処理の場合を示すタイミングチャートで
あり、図において、(a)は、プロセッサコア1001
から周辺ブロック部1003へ出力される信号を示して
おり、(b)は、周辺ブロック部1003からプロセッ
サコア1001へ出力される信号を示している。
FIG. 27 shows that the processor core 1001 reads the data stored in the status register 1004 in the peripheral block unit 1003 and monitors the progress of processing.
That is, it is a timing chart showing the case of the polling process, in which (a) shows the processor core 1001.
2 shows signals output from the peripheral block unit 1003 to the processor core 1001. FIG.

【0044】プロセッサコア1001は、通常、周辺ブ
ロック部1003に対して処理の起動をかけて、この処
理が完了したことを周辺ブロック部内の状態レジスタ1
004内のポーリング処理ビット領域でチェックする。
図27に示すように、まずプロセッサコア1001は、
クロック(1)で制御レジスタライトのリクエストを周
辺ブロック部Aにアサートし、周辺ブロック部A内の制
御レジスタに処理コマンドを書き込む。
Normally, the processor core 1001 activates the processing to the peripheral block unit 1003, and notifies the completion of this processing to the status register 1 in the peripheral block unit.
Check in the polling processing bit area in 004.
As shown in FIG. 27, first, the processor core 1001
At the clock (1), a control register write request is asserted to the peripheral block unit A, and a processing command is written to the control register in the peripheral block unit A.

【0045】この制御レジスタライト処理の手順は、図
26で説明したものと同様である。この処理コマンド書
き込み処理で、周辺ブロック部内の処理が起動され、周
辺ブロック部Aはクロック(5)〜(15)の期間に渡
り要求された処理を行う。周辺ブロック部Aと独立した
周辺ブロック部Bが、クロック(13)からDMAリク
エストを出力し、クロック(14)〜(19)の期間ま
でDMA転送処理を行った場合、プロセッサコア100
1が周辺ブロック部Aの完了状態を知りたい場合でも、
周辺ブロック部BのDMA転送期間では、状態レジスタ
リード処理を行うことは不可能である。
The procedure of the control register write process is the same as that described with reference to FIG. In this processing command writing processing, the processing in the peripheral block unit is started, and the peripheral block unit A performs the requested processing over the period of clocks (5) to (15). When the peripheral block unit B independent of the peripheral block unit A outputs a DMA request from the clock (13) and performs the DMA transfer processing until the period of the clocks (14) to (19), the processor core 100
Even if 1 wants to know the completion state of the peripheral block part A,
During the DMA transfer period of the peripheral block section B, it is impossible to perform the status register read processing.

【0046】[0046]

【発明が解決しようとする課題】従来のシステムLSI
1000は以上のように構成されているので、プロセッ
サコア1001は、周辺ブロック部BのDMA転送期間
が終了したクロック(21)になって初めて、状態レジ
スタ1004に対する状態レジスタリード処理を開始す
ることができる。このように、周辺ブロック部1003
内の状態レジスタ1004のポーリング処理は、そのア
クセスが低速であるばかりでなく、他のバス利用者が実
行するDMA転送等の処理により、高速で実行可能なプ
ロセッサコア1001の動作が、さらにウェイトさせら
れる場合が少なくないという課題があった。
SUMMARY OF THE INVENTION Conventional system LSI
Since the CPU 1000 is configured as described above, the processor core 1001 may start the status register read processing for the status register 1004 only after the clock (21) at which the DMA transfer period of the peripheral block B ends. it can. Thus, the peripheral block unit 1003
In the polling process of the status register 1004, not only the access is slow, but also the operation of the processor core 1001, which can be executed at a high speed, is performed by a process such as a DMA transfer executed by another bus user. There was a problem that it was not rare in many cases.

【0047】また、周辺ブロック部Aが、クロック(1
5)で処理完了した後に、割り込み信号をプロセッサコ
ア1001へアサートした場合でも、その割り込み処理
による割り込みルーチンが外部メモリ(図示せず)にあ
ったり、割り込みルーチンでの先頭でレジスタ待避処理
等が必要となり、プロセッサコア1001の処理サイク
ルが待機させられるといった、プロセッサコア1001
の処理サイクルの消費が避けられないという課題があっ
た。
Further, the peripheral block unit A receives the clock (1
Even if an interrupt signal is asserted to the processor core 1001 after the processing is completed in 5), an interrupt routine for the interrupt processing is in an external memory (not shown), or a register save processing or the like is required at the beginning of the interrupt routine. And the processing cycle of the processor core 1001 is suspended.
There is a problem that the consumption of the processing cycle cannot be avoided.

【0048】この発明は上記のような課題を解決するた
めになされたもので、周辺ブロック部内に組み込まれて
いる各ブロック部の動作状態を示すデータを格納するレ
ジスタを備え、このレジスタと専用線を介してプロセッ
サコアが接続され、これによりプロセッサコアが各ブロ
ック部の動作状態を獲得することで各ブロック部に対し
て高速にアクセス可能な機能を備えたシステムLSIを
得ることを目的とする。
The present invention has been made to solve the above-mentioned problems, and has a register for storing data indicating the operation state of each block unit incorporated in a peripheral block unit. An object of the present invention is to obtain a system LSI having a function capable of accessing each block unit at high speed by acquiring the operating state of each block unit.

【0049】[0049]

【課題を解決するための手段】この発明に係るシステム
LSIは、処理手段と、内部メモリ手段と、周辺ブロッ
ク手段とを備える。処理手段は、命令をデコードする命
令デコーダと、命令の実行を制御する情報を格納する制
御レジスタと、データを記憶する複数のレジスタと、算
術演算を行う演算回路と、前記命令デコーダに接続され
前記命令デコーダの出力に従って命令を実行する命令実
行部とを有し、前記演算回路等がプログラムに記述され
た複数の命令を前記命令デコーダでデコードして実行す
ることで、前記プログラムに従うデータ処理を実行し、
また、前記制御レジスタ内に格納された制御情報を読み
出し、前記制御情報の更新を行う制御レジスタ転送命令
を備える。内部メモリ手段は、前記命令を格納する内部
命令RAMと、前記命令の処理結果を格納する内部デー
タRAMとからなる。周辺ブロック手段は、前記処理手
段と前記内部メモリ手段内の前記内部データRAMに接
続され、前記処理手段によりデータの読出しとデータの
更新が可能な周辺制御レジスタを備え、前記処理手段の
動作と独立して、前記内部メモリ手段との間でデータの
転送を実行して前記データに対する専用処理を行う複数
の周辺ブロック部を備える。また、前記処理手段は、前
記周辺ブロック手段内の前記周辺制御レジスタに格納さ
れた前記周辺ブロック部の動作情報を読出し格納するた
めの状態ビットで構成される状態監視制御レジスタを備
え、前記処理手段は、前記制御レジスタ転送命令を実行
し、前記状態監視制御レジスタの内容を参照し、前記複
数の周辺ブロック部の各々の周辺ブロック部の処理状態
の変化を検知するものである。
A system LSI according to the present invention includes a processing unit, an internal memory unit, and a peripheral block unit. The processing means includes: an instruction decoder for decoding an instruction; a control register for storing information for controlling the execution of the instruction; a plurality of registers for storing data; an arithmetic circuit for performing an arithmetic operation; An instruction execution unit for executing an instruction in accordance with an output of an instruction decoder, wherein the arithmetic circuit or the like decodes and executes a plurality of instructions described in the program by the instruction decoder to execute data processing according to the program And
Also, a control register transfer instruction for reading out the control information stored in the control register and updating the control information is provided. The internal memory means includes an internal instruction RAM for storing the instruction, and an internal data RAM for storing a processing result of the instruction. Peripheral block means is provided with a peripheral control register connected to the processing means and the internal data RAM in the internal memory means and capable of reading data and updating data by the processing means, independent of the operation of the processing means. And a plurality of peripheral block units for performing data transfer with the internal memory means and performing dedicated processing on the data. Further, the processing means includes a status monitoring control register comprising status bits for reading and storing operation information of the peripheral block portion stored in the peripheral control register in the peripheral block means, Executes the control register transfer instruction, refers to the contents of the state monitoring control register, and detects a change in the processing state of each of the plurality of peripheral block units.

【0050】この発明に係るシステムLSIでは、処理
手段が、周辺ブロック手段内の各周辺ブロック部の処理
状態を示す状態ビットより構成される状態監視制御レジ
スタと、前記状態ビットに対応した割り込み有効ビット
より構成される割り込み有効制御レジスタとを有し、前
記割り込み有効ビットがセットされている時に、前記状
態ビットに対応した前記周辺ブロック部に対する割り込
み処理を実行するものである。
[0050] In the system LSI according to the present invention, the processing means includes a status monitoring control register comprising status bits indicating the processing status of each peripheral block in the peripheral block means, and an interrupt valid bit corresponding to the status bits. And an interrupt enable control register configured to execute an interrupt process for the peripheral block corresponding to the status bit when the interrupt enable bit is set.

【0051】この発明に係るシステムLSIでは、処理
手段が、内部データRAMにアクセスするためのアドレ
スバス及びデータバスに接続された双方向バッファ部を
さらに備える。周辺ブロック手段は、前記双方向バッフ
ァ部を介して前記処理手段と接続され、前記周辺ブロッ
ク手段内の各周辺ブロック部の周辺制御レジスタ内に格
納されたデータは、前記処理手段により読出しおよび更
新され、前記周辺ブロック手段内の各周辺ブロック部
は、前記双方向バッファ部を介して、前記処理手段から
独立して前記内部データRAMとの間で直接にメモリ転
送を実行し、前記メモリ転送により読込んだデータに対
して専用処理を実行し、さらに前記内部データRAMへ
のデータ書込みを実行する前記メモリ転送において、最
終データに続いて前記周辺ブロック部の処理状態を示す
情報を付加する。前記双方向バッファ部は、前記処理状
態情報を保持するための状態レジスタを、前記双方向バ
ッファ部内のデータ転送経路上に備え、前記処理手段
は、前記双方向バッファ部内の前記状態レジスタに格納
された前記周辺ブロック部の処理状態情報を読出すもの
である。
[0051] In the system LSI according to the present invention, the processing means further includes a bidirectional buffer unit connected to an address bus and a data bus for accessing the internal data RAM. The peripheral block unit is connected to the processing unit via the bidirectional buffer unit, and data stored in a peripheral control register of each peripheral block unit in the peripheral block unit is read and updated by the processing unit. Each of the peripheral block units in the peripheral block unit executes a memory transfer directly with the internal data RAM via the bidirectional buffer unit independently of the processing unit, and reads the data by the memory transfer. In the memory transfer in which dedicated processing is performed on the read data and the data is written to the internal data RAM, information indicating the processing state of the peripheral block is added subsequent to the final data. The bidirectional buffer unit includes a status register for holding the processing status information on a data transfer path in the bidirectional buffer unit, and the processing unit is stored in the status register in the bidirectional buffer unit. The processing state information of the peripheral block is read out.

【0052】この発明に係るシステムLSIでは、双方
向バッファ部が、周辺ブロック手段内の複数の周辺ブロ
ック部の各々が内部データRAMとの間で直接にメモリ
転送を行う時に、前記内部データRAMに対して出力す
るアドレスを、処理手段が指定可能なアドレスレジスタ
と、前記アドレスレジスタの値を加算できるアドレス加
算機構とをさらに備える。そして、前記処理手段は、前
記複数の周辺ブロック部が前記内部データRAMとの間
で直接に実行する前記メモリ転送において、前記内部デ
ータRAMからデータの読出しを起動するためのデータ
を格納する起動ビットで構成される周辺起動制御レジス
タを備える。また、前記処理手段は、前記双方バッファ
部内の前記アドレスレジスタに前記メモリ転送のための
アドレスを書込むと共に、制御レジスタ転送命令を用い
て前記起動ビットを更新することで、前記起動ビットに
対応した前記周辺ブロック部は、前記メモリ転送の動作
を前記内部データRAMとの間で実行するものである。
In the system LSI according to the present invention, when each of the plurality of peripheral block units in the peripheral block unit directly performs memory transfer with the internal data RAM, the bidirectional buffer unit stores the data in the internal data RAM. It further comprises an address register capable of specifying an address to be output to the processing means by the processing means, and an address adding mechanism capable of adding the value of the address register. The processing means may include a start bit for storing data for activating reading of data from the internal data RAM in the memory transfer performed by the plurality of peripheral block units directly with the internal data RAM. Is provided. In addition, the processing unit writes the address for the memory transfer into the address register in the double-sided buffer unit, and updates the start-up bit using a control register transfer instruction to correspond to the start-up bit. The peripheral block section executes the memory transfer operation with the internal data RAM.

【0053】この発明に係るシステムLSIでは、処理
手段が、内部データRAMにアクセスするためのアドレ
スバス及びデータバスに接続された双方向バッファ部を
さらに備える。そして、周辺ブロック手段が、前記双方
向バッファ部を介して前記処理手段と接続され、前記周
辺ブロック手段内の複数の周辺ブロック部の各々が備え
ている周辺制御レジスタ内に格納されたデータは、前記
処理手段により読出しおよび更新される。前記周辺ブロ
ック手段内の各周辺ブロック部は、前記双方向バッファ
部を介して前記処理手段から独立して前記内部データR
AMとの間で直接にメモリ転送を実行し、前記メモリ転
送により読込んだデータに対して専用処理を実行し、前
記メモリ転送により読込んだ前記データの先頭データを
取込み、前記先頭データに応じた専用処理を、前記先頭
データに続いて読込まれたデータに対して実行すること
を特徴とするものである。
[0053] In the system LSI according to the present invention, the processing means further includes a bidirectional buffer unit connected to an address bus and a data bus for accessing the internal data RAM. Then, the peripheral block unit is connected to the processing unit via the bidirectional buffer unit, and the data stored in the peripheral control register provided in each of the plurality of peripheral block units in the peripheral block unit is: It is read and updated by the processing means. Each of the peripheral block units in the peripheral block unit is connected to the internal data R independently of the processing unit via the bidirectional buffer unit.
A memory transfer is directly performed with the AM, a dedicated process is performed on the data read by the memory transfer, and the first data of the data read by the memory transfer is fetched. Dedicated processing is performed on data read subsequent to the head data.

【0054】[0054]

【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.先ず、この発明の高速通信手段を備える
システムLSIの基本構成について説明する。このシス
テムLSIは、プロセッサコア(処理手段)4、内部命
令RAM(内部メモリ手段)2、内部データRAM(内
部メモリ手段)3、各種専用制御を行う複数のブロック
部からなる周辺ブロック部(周辺ブロック手段)9を備
えている。プロセッサコア4は、コアデータパス部5、
コア制御部6,双方向バッファ部8、命令をデコードす
る命令デコーダ、命令の実行を制御する情報を格納する
制御レジスタ、データを格納するデータレジスタ、算術
演算を実行する演算回路等を有しシステム全体の制御を
行う。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will be described below. Embodiment 1 FIG. First, the basic configuration of a system LSI having the high-speed communication means of the present invention will be described. The system LSI includes a processor core (processing means) 4, an internal instruction RAM (internal memory means) 2, an internal data RAM (internal memory means) 3, and a peripheral block section (peripheral block) including a plurality of block sections for performing various dedicated controls. Means 9). The processor core 4 includes a core data path unit 5,
A system including a core control unit 6, a bidirectional buffer unit 8, an instruction decoder for decoding instructions, a control register for storing information for controlling the execution of instructions, a data register for storing data, and an arithmetic circuit for executing arithmetic operations Performs overall control.

【0055】ハードウエア構成 図1は、この発明のシステムLSIを示す全体構成のブ
ロック図であり、図において、1はシステムLSIであ
る。このシステムLSI1は、近年の半導体技術の進歩
により実現可能となったMPEG2(Moving P
ictureExpert Group 2)規格の高
圧縮動画像データの復号処理をリアルタイムで実現する
機能を持つものである。図において、システムLSI1
は、内部命令RAM2、内部データRAM3、プロセッ
サコア4、そしてシステムバスI/F部10、VLCD
(ハフマンコード符号復号処理)部11、DRAMI/
F部12、ビデオ出力部13、オーディオ出力部14、
ブロックローダ部15、入力部16、CRC部17から
なる周辺ブロック部9より構成されている。
Hardware Configuration FIG. 1 is a block diagram showing the overall configuration of a system LSI according to the present invention. In FIG. 1, reference numeral 1 denotes a system LSI. This system LSI 1 is an MPEG2 (Moving P
It has a function of real-time decoding of high-compression moving image data conforming to the "ictureExpert Group 2) standard. In the figure, the system LSI 1
Are internal instruction RAM 2, internal data RAM 3, processor core 4, system bus I / F unit 10, VLCD
(Huffman code encoding / decoding processing) section 11, DRAM I /
F section 12, video output section 13, audio output section 14,
The peripheral block unit 9 includes a block loader unit 15, an input unit 16, and a CRC unit 17.

【0056】プロセッサコア4は、命令デコーダ、制御
レジスタ、データレジスタ、演算回路、周辺制御部7を
内蔵しているコア制御部6、コアデータパス部5、そし
て双方向バッファ部8等で構成されている。コア制御部
6内の周辺制御部7は、情報をやり取りするために専用
信号線40a〜40hを介して複数の処理部10〜17
からなる周辺ブロック部9と接続されている。
The processor core 4 includes an instruction decoder, a control register, a data register, an arithmetic circuit, a core control unit 6 having a built-in peripheral control unit 7, a core data path unit 5, a bidirectional buffer unit 8, and the like. ing. The peripheral control unit 7 in the core control unit 6 includes a plurality of processing units 10 to 17 via dedicated signal lines 40 a to 40 h for exchanging information.
Is connected to the peripheral block section 9 composed of

【0057】プロセッサコア4は、内部命令RAM2お
よびシステムバスI/F部10に命令アドレスバス20
を出力する。そのアドレスがシステムバスI/F部10
に対するものである場合、システムバスI/F部10
は、バス50を通して外部メモリ(図示せず)から命令
コードをフェッチし、バス24を介してプロセッサコア
4へ命令コードを転送する。また命令アドレスバス20
が内部命令RAM2に対するものである場合、内部命令
RAM2はバス23を介してプロセッサコア4へ命令コ
ードを転送する。
The processor core 4 stores the instruction address bus 20 in the internal instruction RAM 2 and the system bus I / F unit 10.
Is output. The address is the system bus I / F unit 10
The system bus I / F unit 10
Fetches an instruction code from an external memory (not shown) via the bus 50 and transfers the instruction code to the processor core 4 via the bus 24. The instruction address bus 20
Is for the internal instruction RAM 2, the internal instruction RAM 2 transfers the instruction code to the processor core 4 via the bus 23.

【0058】プロセッサコア4は、バス23およびバス
24のいずれかを選択し、バス25を通して処理すべき
命令コードを獲得する。プロセッサコア4は、転送され
てきた命令コードに対してデコード処理を行い、デコー
ド結果から演算実行部を制御し、汎用レジスタ300
(図1には図示せず、システムLSIの詳細図である図
10〜14に記載する)から演算対象のデータを読み出
す。そして演算実行結果を汎用レジスタ300内へ格納
する。例えば、上記の演算で用いるデータが汎用レジス
タ300内に存在しない場合は、データアドレスバス2
1を通して、内部データRAM3にアクセスを行い、必
要なデータを内部データRAM3からバス22を介して
獲得する。
The processor core 4 selects one of the buses 23 and 24 and acquires an instruction code to be processed through the bus 25. The processor core 4 performs a decoding process on the transferred instruction code, controls the operation execution unit from the decoded result, and
The data to be calculated is read out from the memory (not shown in FIG. 1 and described in detail in FIGS. 10 to 14). Then, the result of the operation is stored in the general-purpose register 300. For example, if the data used in the above operation does not exist in the general-purpose register 300, the data address bus 2
1 to access the internal data RAM 3 and acquire necessary data from the internal data RAM 3 via the bus 22.

【0059】あるいは、プロセッサコア4は、周辺ブロ
ック部9と接続されたアドレスバス26を介して、シス
テムバスI/F部10をアクセスする。システムバスI
/F部10は、必要なデータをバス50を介して外部メ
モリ(図示せず)から得た後に、データバス27を介し
て獲得したデータをプロセッサコア4へ転送する。
Alternatively, the processor core 4 accesses the system bus I / F unit 10 via the address bus 26 connected to the peripheral block unit 9. System bus I
The / F unit 10 obtains necessary data from an external memory (not shown) via the bus 50, and then transfers the data obtained via the data bus 27 to the processor core 4.

【0060】また、プロセッサコア4が、演算結果を外
部メモリ内へ格納したい場合にも、アドレスとデータと
をそれぞれバス26,27を介してシステムバスI/F
部10部へ渡す。これらのデータを受け取ったシステム
バスI/F部10は、バス50を介して、目的のアドレ
スで示される外部メモリ内の領域へ演算結果であるデー
タを格納する。
When the processor core 4 wants to store the operation result in the external memory, the address and the data are transferred to the system bus I / F via the buses 26 and 27, respectively.
Hand over to part 10. The system bus I / F unit 10 receiving these data stores the data as the operation result in the area in the external memory indicated by the target address via the bus 50.

【0061】また、周辺ブロック部9内のVLCD部1
1、DRAMI/F部12、ビデオ出力部13、オーデ
ィオ出力部14、ブロックローダ部15、入力部16、
CRC部17の各々も、プロセッサコア4がバス26を
介して出力するデータアドレスが、自ブロックに対する
ものであるならば、そのアドレスに対する自ブロック内
の周辺制御レジスタからデータを読み出し、また自ブロ
ックの周辺制御レジスタ内へデータを格納する。
The VLCD unit 1 in the peripheral block unit 9
1, DRAM I / F unit 12, video output unit 13, audio output unit 14, block loader unit 15, input unit 16,
If the data address output from the processor core 4 via the bus 26 is for the own block, each of the CRC units 17 also reads data from the peripheral control register in the own block for that address, and Store the data in the peripheral control register.

【0062】プロセッサコア4が、周辺ブロック部9内
のこの周辺制御レジスタ内にコマンドを書き込むこと
で、周辺ブロック部9内では各種の処理が起動される。
また各周辺ブロック部9内の各部は、プロセッサコア4
のプログラミング処理を介することなく直接に内部デー
タRAM3との間でデータ転送を実行する。すなわちD
MA転送が可能である。このDMA転送により、プロセ
ッサコア4と周辺ブロック部9との間で、内部データR
AM3を介して効率良くデータ交換が可能となり、高性
能なシステム処理が可能となる。
When the processor core 4 writes a command in the peripheral control register in the peripheral block section 9, various processes are started in the peripheral block section 9.
Each part in each peripheral block part 9 is a processor core 4
Directly with the internal data RAM 3 without going through the programming process. That is, D
MA transfer is possible. By this DMA transfer, the internal data R is transferred between the processor core 4 and the peripheral block 9.
Data can be efficiently exchanged via the AM3, and high-performance system processing can be performed.

【0063】次に、動画像規格であるMPEG2をリア
ルタイムでデコード処理するために各周辺ブロック部9
内に内蔵されている各部の処理概要について説明する。
CRC部17は、Cyclic Redundancy
checksを行うブロックである。すなわち、デー
タ転送中に発生するデータ誤りを検出するためのブロッ
クである。特に、高圧縮符号化されているオーディオデ
ータは、1ビットでもデータ誤りが発生すると品質の悪
い音声が復号されてしまう。そのためCRC部17によ
りオーディオデータのデータ誤りを検出し、修復が可能
な誤りであれば修復し、修復不可能であれば再転送を要
求する。
Next, in order to decode MPEG2 which is a moving picture standard in real time, each peripheral block 9
An outline of the processing of each unit built in the unit will be described.
The CRC unit 17 has a Cyclic Redundancy.
This is a block for performing checks. That is, it is a block for detecting a data error occurring during data transfer. In particular, in the case of audio data that has been subjected to high compression encoding, if a data error occurs even for one bit, poor quality speech is decoded. Therefore, the CRC unit 17 detects a data error of the audio data, and if the error can be repaired, repairs it.

【0064】入力部16は、MPEG2規格で高圧縮さ
れているビットストリームを受け取るための外部インタ
フェースを備えるブロックである。
The input section 16 is a block provided with an external interface for receiving a bit stream highly compressed according to the MPEG2 standard.

【0065】ブロックローダ部15は、DRAMI/F
部12が、外部バス51を介してアクセスするフレーム
メモリ(図示せず)と、内部データRAM3との間で効
率よくビデオブロックデータの転送を制御するブロック
である。
The block loader unit 15 has a DRAM I / F
The unit 12 is a block for efficiently controlling the transfer of video block data between a frame memory (not shown) accessed via the external bus 51 and the internal data RAM 3.

【0066】オーディオ出力部14は、外付けのフレー
ムメモリ内に格納されている復号後の音声データを、D
RAMI/F部12を介して読み出し、読み出した音声
データを外部へ出力するための外部インタフェースを備
えるブロックである。
The audio output unit 14 converts the decoded audio data stored in the external frame memory into
This is a block provided with an external interface for reading out via the RAM I / F section 12 and outputting the read out audio data to the outside.

【0067】ビデオ出力部13は、外付けのフレームメ
モリ内に格納されている復号後のビデオデータをDRA
MI/F部12を介して読み出し、読み出したビデオデ
ータを外部に出力するための外部インタフェースを備え
るブロックである。
The video output unit 13 converts the decoded video data stored in the external frame memory into a DRA.
This is a block provided with an external interface for reading via the MI / F unit 12 and outputting the read video data to the outside.

【0068】DRAMI/F部12は、ブロックローダ
部15とオーディオ出力部14、そしてビデオ出力部1
3から出力されたリクエストを受け付け、そのリクエス
トに応じて、外付けフレームメモリのアクセスを制御す
るブロックである。
The DRAM I / F unit 12 includes a block loader unit 15, an audio output unit 14, and a video output unit 1.
3 is a block for receiving a request output from the external frame memory 3 and controlling access to an external frame memory according to the request.

【0069】VLCD部11は、Variable L
ength Code Decode部で、高圧縮のた
めに必要な可変長コードであるハフマン符号の復号処理
を行い、またハフマン符号へ符号処理を行うブロックで
ある。
The VLCD unit 11 is a variable L
This block is a block that decodes a Huffman code, which is a variable-length code required for high compression, in the length code decode unit, and performs a code process on the Huffman code.

【0070】システムバスI/F部10は、外部メモリ
等が接続されているシステムバスのインタフェースを司
るブロックである。
The system bus I / F unit 10 is a block that controls an interface of a system bus to which an external memory or the like is connected.

【0071】図2は、図1に示したシステムLSI1に
よる画像復号処理を示すフローチャートである。可変長
符号に符号化された入力データは、バス54からシリア
ルに入力され、入力部16が入力データを32ビット単
位のパラレルデータに変換し、変換されたデータをDM
Aライト転送により内部データRAM3内へ書き込む
(ステップST20)。
FIG. 2 is a flowchart showing an image decoding process by the system LSI 1 shown in FIG. The input data coded into the variable length code is serially input from the bus 54, the input unit 16 converts the input data into 32-bit parallel data, and converts the converted data into the DM data.
The data is written into the internal data RAM 3 by the A write transfer (step ST20).

【0072】次に、内部データRAM3内に書き込まれ
たデータを、プロセッサコア4が読み出し、可変長符号
のビデオデータとオーディオデータに分離し、分離され
た可変長ビデオデータを内部データRAM3内に書き戻
す(ステップST21)。
Next, the data written in the internal data RAM 3 is read out by the processor core 4, separated into video data and audio data of variable length code, and the separated variable length video data is written in the internal data RAM 3. Return (step ST21).

【0073】VLCD部11が、分離された可変長ビデ
オデータをDMAリード転送により読み出し、1画素が
8ビットの固定長データにデコードして、ブロックのビ
デオデータとしてDMAライト転送で、内部データRA
M3内へ書き戻す(ステップST22)。
The VLCD unit 11 reads the separated variable-length video data by DMA read transfer, decodes one pixel into fixed-length data of 8 bits per pixel, and performs DMA write transfer as the video data of the block to store the internal data RA.
Write back into M3 (step ST22).

【0074】固定長にデコードされたブロック単位の画
素データは、プロセッサコア4が読み出し、読み出した
画素データに対して逆量子化処理を行う(ステップST
23)。逆量子化処理において、ステップST23では
各画素データに2つの画素が乗算され、インデックス値
がジグザグ順のマトリクスのブロックがn行m列の画素
がインデックス値(8n+m)となる標準的なインデッ
クス順のマトリクスのブロックに変換される。
The processor unit 4 reads the block-length pixel data decoded to a fixed length, and performs an inverse quantization process on the read pixel data (step ST).
23). In the inverse quantization process, in step ST23, each pixel data is multiplied by two pixels, and a matrix block in which the index values are in a zigzag order is a standard index order in which the pixels in n rows and m columns have the index values (8n + m). It is converted to a matrix block.

【0075】逆量子化されたブロック単位の画素データ
は、プロセッサコア4内の汎用レジスタ300内にそれ
ぞれ保持され、次の逆DCT処理に使用される(ステッ
プST24)。
The inversely quantized block-by-block pixel data is held in the general-purpose register 300 in the processor core 4 and used for the next inverse DCT process (step ST24).

【0076】逆DCT処理ST24では、8×8画素か
らなる2次元のブロックを、8点の1次元逆DCT高速
アルゴリズムを使用して高速に変換する。次にブロック
の修飾情報により、逆DCT処理された画素データに対
して予測データとの加算を行うか、行わないかが決定さ
れる(ステップST25)。予測データとの加算を行う
場合、ブロックローダ部15が、DRAMI/F部12
を介して外部フレームメモリから、隣接フレームの予測
対象ブロックのデータを読み出し、DMAライト転送を
用いて内部データRAM3へ予測対象ブロックのデータ
を書き込む。
In the inverse DCT process ST24, a two-dimensional block consisting of 8 × 8 pixels is converted at high speed using an eight-point one-dimensional inverse DCT high-speed algorithm. Next, it is determined whether the addition to the prediction data is to be performed on the pixel data subjected to the inverse DCT processing based on the modification information of the block (step ST25). When performing addition with the prediction data, the block loader unit 15
, The data of the prediction target block of the adjacent frame is read from the external frame memory, and the data of the prediction target block is written to the internal data RAM 3 using DMA write transfer.

【0077】なお、MPEG標準の動画データでは、予
測データとの加算の必要性がブロックデータ6個毎に付
く修飾情報により示される。このため、ブロックローダ
15による予測対象ブロックデータの読み込みは、ブロ
ックデータのデコード処理開始と同時に開始することが
可能であり、実施の形態1のシステムLSI1では、ブ
ロックローダ部15による予測データの読み込み処理
は、プロセッサコア4の行う逆量子化処理(ステップS
T23)や逆DCT処理(ステップST24)と並列に
行う。
In addition, in the moving picture data of the MPEG standard, the necessity of addition to the prediction data is indicated by modification information attached to every six block data. Therefore, the reading of the prediction target block data by the block loader 15 can be started simultaneously with the start of the decoding processing of the block data. In the system LSI 1 according to the first embodiment, the reading processing of the prediction data by the block loader unit 15 is performed. Is an inverse quantization process performed by the processor core 4 (step S
T23) and the inverse DCT process (step ST24).

【0078】次に、プロセッサコア4が内部データRA
M3から予測データを読み出し、逆DCT処理(ステッ
プST24)が終了した後のデータと加算して、内部デ
ータRAM3内に書き戻す(ステップST27)。デコ
ード済みデータである加算結果は、ブロックローダ部1
5がDRAM I/F部12を介して外部フレームメモ
リ内へ書き戻す(ステップST28)。
Next, the processor core 4 transmits the internal data RA
The prediction data is read from M3, added to the data after the inverse DCT processing (step ST24) is completed, and written back into the internal data RAM 3 (step ST27). The addition result, which is decoded data, is sent to the block loader unit 1
5 writes back into the external frame memory via the DRAM I / F unit 12 (step ST28).

【0079】予測データとの加算を行わない場合(ステ
ップST25)は、ブロックローダ部15が、逆DCT
処理(ステップST24)が行われた画素データを、そ
のままデコード処理済みのデータとして、外部フレーム
メモリ内へ書き込む(ステップST28)。
If the addition with the prediction data is not performed (step ST25), the block loader unit 15
The pixel data subjected to the processing (step ST24) is written into the external frame memory as decoded data as it is (step ST28).

【0080】外部フレームメモリ内へ書き込まれたデコ
ード済みのビデオデータは、フレーム単位にビデオ出力
部13が、DRAMI/F部12を介して読み出し、バ
ス52を介して外部の画像表示装置へ出力する(ステッ
プST29)。
The decoded video data written in the external frame memory is read out by the video output unit 13 via the DRAM I / F unit 12 on a frame basis and output to an external image display device via the bus 52. (Step ST29).

【0081】プロセッサコア4が行う処理ステップST
21において分離され、内部データRAM3内へ格納さ
れている圧縮されたオーディオデータは、プロセッサコ
ア4により読み出され、アンパック処理がなされる(ス
テップST30)。このアンパック処理後のデータは、
プロセッサコア4の汎用レジスタ300内へ保持され、
引き続き高速フーリエ変換処理がなされてデコード済み
のオーディオデータとして内部データRAM3内へ書き
戻される(ステップST31)。
Processing Step ST Performed by Processor Core 4
The compressed audio data separated at 21 and stored in the internal data RAM 3 is read by the processor core 4 and subjected to an unpacking process (step ST30). The data after this unpacking process is
Held in the general-purpose register 300 of the processor core 4,
Subsequently, fast Fourier transform processing is performed, and the data is written back into the internal data RAM 3 as decoded audio data (step ST31).

【0082】このデコード済みのオーディオデータは、
ブロックローダ部15が実行するDMAリード転送によ
り読み出され、DRAMI/F部12を介して外部フレ
ームメモリ内へ格納される。外部フレームメモリ内に書
き込まれたデコード済みのオーディオデータは、オーデ
ィオ出力部14がDRAMI/F部12を介して読み出
し、バス53を介して外部の音声発生装置(図示せず)
へ出力する。
The decoded audio data is
The data is read out by the DMA read transfer executed by the block loader unit 15 and stored in the external frame memory via the DRAM I / F unit 12. The decoded audio data written in the external frame memory is read out by the audio output unit 14 via the DRAM I / F unit 12 and is supplied via the bus 53 to an external audio generator (not shown).
Output to

【0083】図2のフローチャートで示された処理の中
において、プロセッサコア4は、太枠で囲まれている処
理(ステップST21,23,24,27,30,3
1)を実行し、周辺ブロック部9は、他の処理(ステッ
プST20,22,25,26,28,29,32)を
実行する。周辺ブロック部9により実行される全ての処
理は、プロセッサコア4が起動をかけることで開始さ
れ、これにより画像処理全体のシーケンス制御が行なわ
れる。
In the processing shown in the flowchart of FIG. 2, the processor core 4 determines the processing enclosed by a thick frame (steps ST21, ST23, ST24, ST27, ST30, ST3).
1), and the peripheral block unit 9 executes other processes (steps ST20, 22, 25, 26, 28, 29, 32). All the processes executed by the peripheral block unit 9 are started when the processor core 4 activates, and thereby the sequence control of the entire image processing is performed.

【0084】周辺ブロック部9は、プロセッサコア4に
よる起動処理に応じて、各種専用処理を開始する。この
ような画像処理を実時間で行うシステムLSI1は、全
体のシーケンスの管理と高速データ処理を行うプロセッ
サコア4と各種専用処理を行う周辺ブロック部9が協調
して動く必要があり、従って、これらのプロセッサコア
4、周辺ブロック部9、その他の外部装置との間でデー
タを送受信し、制御するために用いられる高速通信手段
は必要不可欠のものとなる。
The peripheral block unit 9 starts various exclusive processes according to the activation process by the processor core 4. In the system LSI 1 that performs such image processing in real time, the processor core 4 that manages the entire sequence and performs high-speed data processing and the peripheral block unit 9 that performs various dedicated processes need to operate in cooperation. The high-speed communication means used for transmitting and receiving data to and from the processor core 4, the peripheral block unit 9, and other external devices is indispensable.

【0085】命令セットとレジスタ 図3は、この発明のシステムLSI1内のプロセッサコ
ア4で実行される命令のフォーマットを示す説明図であ
り、図において、101は1つの命令で2つの演算を指
示する2演算命令のフォーマット、102は1つの命令
で1つの演算を指示する1演算命令のフォーマットであ
る。
Instruction Set and Register FIG. 3 is an explanatory diagram showing a format of an instruction executed by the processor core 4 in the system LSI 1 of the present invention. In the figure, 101 designates two operations by one instruction. A two-operation instruction format 102 is a one-operation instruction format in which one instruction specifies one operation.

【0086】2演算命令のフォーマット101には、フ
ォーマットフィールド103とフォーマットフィールド
104からなるフォーマットフィールド、2つの演算フ
ィールド106、107及び各演算フィールドに1つず
つ付属する実行条件フィールド105がある。1演算命
令のフォーマットには、フィールド103とフィールド
104からなるフォーマットフィールド、フィールド1
08とフィールド109とフィールド110とからなる
演算フィールド及びこの演算フィールドに付属する実行
条件フィールド105がある。
The two-operation instruction format 101 includes a format field including a format field 103 and a format field 104, two operation fields 106 and 107, and an execution condition field 105 attached to each operation field. The format of one operation instruction includes a format field including a field 103 and a field 104, a field 1
08, a field 109 and a field 110, and an execution condition field 105 attached to this field.

【0087】図4は、フォーマットフィールド(FM)
103,104の詳細な内容を示す説明図であり、図に
おいて、フォーマットフィールド103,104の値が
FM=00の場合、この命令は2演算命令であり、演算
フィールド106で指示されたoperation_0
の演算と演算フィールド107で指示されたopera
tion_1の演算がデコード直後のクロックサイクル
で並列に実行される。
FIG. 4 shows a format field (FM).
It is an explanatory view showing the detailed contents of 103 and 104. In the figure, when the value of the format fields 103 and 104 is FM = 00, this instruction is a two operation instruction, and the operation_0 indicated in the operation field 106
Operation and the operand indicated by the operation field 107
The operation of the timing_1 is executed in parallel in the clock cycle immediately after decoding.

【0088】FM=01の場合、この命令は2演算命令
であり、演算フィールド106で指示されたopera
tion_0の演算がデコード直後のクロックサイクル
に実行され、演算フィールド107で指示されたope
ration_1の演算がoperation_0の演
算に対して1クロックサイクル遅れて実行される。
When FM = 01, this instruction is a two-operation instruction, and the instruction indicated by the operation
operation_ion_0 is executed in the clock cycle immediately after decoding, and the operation
The operation of ratio_1 is executed with a delay of one clock cycle from the operation of operation_0.

【0089】FM=10の場合、この命令は2演算命令
であり、演算フィールド107で指示されたopera
tion_1の演算がデコード直後のクロックサイクル
に実行され、演算フィールド106で指示されたope
ration_0の演算がoperation_1の演
算に対して1クロックサイクル遅れて実行される。
When FM = 10, this instruction is a two-operation instruction, and the instruction
operation_1 is executed in the clock cycle immediately after decoding, and the operation indicated by operation field 106
The operation of the operation_0 is executed one clock cycle later than the operation of the operation_1.

【0090】FM=11の場合、この命令は1演算命令
であり、演算フィールド108、109、110で指示
された1つの演算がデコード直後のクロックサイクルに
実行される。
When FM = 11, this instruction is one operation instruction, and one operation specified in operation fields 108, 109 and 110 is executed in the clock cycle immediately after decoding.

【0091】図5は、実行条件フィールド(CC)10
5の詳細を示す。実行条件フィールド(CC)105
は、後述するプロセッサコア4の状態フラグF0及びF
1の値に依存して演算フィールド106,107でそれ
ぞれ示されたoperation_0の演算やoper
ation_1の演算及び演算フィールド108と10
9と110で示された演算が有効であるか無効であるか
を定める。
FIG. 5 shows the execution condition field (CC) 10
5 is shown below. Execution condition field (CC) 105
Are the state flags F0 and F of the processor core 4 described later.
The operation of operation_0 and the operation indicated by operation fields 106 and 107, respectively, depending on the value of 1
operation_1 and operation fields 108 and 10
Determines whether the operations indicated by 9 and 110 are valid or invalid.

【0092】演算が有効であるとは、演算結果がレジス
タ、メモリ、フラグに反映され、その演算により定義さ
れた動作結果が残ることを意味し、演算が無効であると
は演算結果がレジスタ、メモリ、フラグに反映されず、
定められた演算の種類には関わらずその演算により無効
演算(NOP:no operation)と同じ結果
がレジスタやフラグに残ることを意味する。
The operation is valid when the operation result is reflected in the register, the memory, and the flag, and the operation result defined by the operation remains. When the operation is invalid, the operation result is stored in the register. Not reflected in memory and flags,
This means that the same result as an invalid operation (NOP: no operation) remains in a register or a flag irrespective of a predetermined operation type.

【0093】実行条件フィールド105の値がCC=0
00のとき、演算はフラグF0、F1の値に関わらず常
に有効である。CC=001のとき、演算はF1の値に
は関わらずF0=真のときのみ有効である。CC=01
0のとき、演算はF1の値には関わらずF0=偽のとき
のみ有効である。CC=011のとき、演算はF0の値
には関わらずF1=真のときのみ有効である。
When the value of the execution condition field 105 is CC = 0
At 00, the operation is always valid regardless of the values of the flags F0 and F1. When CC = 001, the operation is valid only when F0 = true regardless of the value of F1. CC = 01
When 0, the operation is valid only when F0 = false regardless of the value of F1. When CC = 011, the operation is valid only when F1 = true regardless of the value of F0.

【0094】CC=100のとき、演算はF0の値には
関わらずF1=偽のときのみ有効である。CC=101
のとき、演算はF0=真かつF1=真のときのみ有効で
ある。CC=110のとき、演算はF0=真かつF1=
偽のときのみ有効である。CC=111のときの動作は
未定義であり、この値が命令で用いられることはない。
When CC = 100, the operation is valid only when F1 = false regardless of the value of F0. CC = 101
, The operation is valid only when F0 = true and F1 = true. When CC = 110, the operation is F0 = true and F1 =
Valid only when false. The operation when CC = 111 is undefined, and this value is not used in the instruction.

【0095】図6は、28ビット長で表現される短型の
演算フィールド106、107と54ビット長で表現さ
れる長型の演算フィールド(108、109、110で
構成)の詳細を示す説明図である。図において、短型の
演算フィールドには7つのフォーマット111、11
2、113、114、115、116、117があり、
長型の演算フィールドには1つのフォーマット118が
ある。
FIG. 6 is an explanatory diagram showing the details of short operation fields 106 and 107 represented by 28 bits and long operation fields (108, 109 and 110) represented by 54 bits. It is. In the figure, the short calculation field has seven formats 111, 11
2, 113, 114, 115, 116, 117,
The long operation field has one format 118.

【0096】フォーマット111は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、レジスタ番号または6ビッ
ト長の即値を指定するフィールド123、フィールド1
23がレジスタ番号を示すか即値を示すかを指定するフ
ィールド124から構成される。このフォーマット11
1はレジスタ間接アドレッシングのメモリアクセス演算
に使用される。
The format 111 includes a field 120 for specifying the operation content, two fields 121 and 122 for specifying the register number, a field 123 for specifying the register number or a 6-bit immediate value, and a field 1.
23 comprises a field 124 for designating whether to indicate a register number or an immediate value. This format 11
1 is used for a memory access operation of register indirect addressing.

【0097】フォーマット112は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、レジスタ番号または6ビッ
ト長の即値を指定するフィールド123、フィールド1
23がレジスタ番号を示すか即値を示すかを指定するフ
ィールド125から構成される。このフォーマット11
2は算術演算、論理演算、シフト演算、ビット演算に使
用される。
The format 112 includes a field 120 for designating the operation contents, two fields 121 and 122 for designating a register number, a field 123 for designating a register number or a 6-bit immediate value, and a field 1.
23 comprises a field 125 for designating whether to indicate a register number or an immediate value. This format 11
2 is used for arithmetic operations, logical operations, shift operations, and bit operations.

【0098】フォーマット113は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド126から構成される。このフォーマット113は
レジスタ指定によるジャンプ、分岐命令に使用される。
The format 113 is composed of a field 120 for specifying the operation content and a field 126 for specifying the register number. This format 113 is used for jump and branch instructions by register designation.

【0099】フォーマット114は、演算内容を指定す
るフィールド120、18ビット長のディスプレイスメ
ントのフィールド127から構成される。このフォーマ
ット114はジャンプ、分岐命令に使用される。
The format 114 is composed of a field 120 for designating the operation content and a displacement field 127 having a length of 18 bits. This format 114 is used for jump and branch instructions.

【0100】フォーマット115は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド121、レジスタ番号または12ビット長の即値を
指定するフィールド128、フィールド128がレジス
タ番号を示すか即値を示すかを指定するフィールド12
9、フィールド121がゼロ判定による条件ジャンプお
よび条件分岐を行うか否かを指定するフィールド130
から構成される。このフォーマット115は条件ジャン
プ、条件分岐命令に使用される。
The format 115 includes a field 120 for specifying the operation content, a field 121 for specifying the register number, a field 128 for specifying the register number or the immediate value of 12-bit length, and whether the field 128 indicates the register number or the immediate value. Field 12 to specify
9. A field 130 for specifying whether the field 121 performs a conditional jump and a conditional branch based on a zero determination.
Consists of This format 115 is used for conditional jump and conditional branch instructions.

【0101】フォーマット116は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド121、レジスタ番号または12ビット長の即値を
指定するフィールド128、フィールド128がレジス
タ番号を示すか即値を示すかを指定するフィールド12
9から構成される。このフォーマット116は条件ジャ
ンプ、条件分岐命令、リピート命令に使用される。
The format 116 includes a field 120 for specifying the operation content, a field 121 for specifying the register number, a field 128 for specifying the register number or the immediate value of 12-bit length, and whether the field 128 indicates the register number or the immediate value. Field 12 to specify
9 is comprised. This format 116 is used for a conditional jump, a conditional branch instruction, and a repeat instruction.

【0102】フォーマット117は、演算内容を指定す
るフィールド120、レジスタ番号または12ビット長
の即値を指定するフィールド128、フィールド128
がレジスタ番号を示すか即値を示すかを指定するフィー
ルド129、ディレイド命令のディレイ値を指定するフ
ィールド131から構成される。このフォーマット11
7はディレイドジャンプ、ディレイド分岐命令に使用さ
れる。
The format 117 includes a field 120 for specifying the operation content, a field 128 for specifying the register number or a 12-bit immediate value, and a field 128.
129 designates a register number or an immediate value, and a field 131 designates a delay value of a delayed instruction. This format 11
Reference numeral 7 is used for delayed jump and delayed branch instructions.

【0103】フォーマット118は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、32ビット長の即値を指定
するフィールド132から構成される。このフォーマッ
ト118の演算には複雑な算術演算、大きな即値を用い
る算術演算、大きなディスプレースメント付きレジスタ
間接アドレッシングのメモリアクセス演算や大きな分岐
変位の分岐演算、絶対番地へのジャンプ演算などがあ
る。
The format 118 is composed of a field 120 for specifying the operation content, two fields 121 and 122 for specifying the register number, and a field 132 for specifying a 32-bit immediate value. The arithmetic operation of the format 118 includes a complicated arithmetic operation, an arithmetic operation using a large immediate value, a memory access operation of register indirect addressing with a large displacement, a branch operation of a large branch displacement, and a jump operation to an absolute address.

【0104】フォーマット119は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、32ビット長の即値を指定
するフィールド132、フィールド132がゼロ判定に
よる条件ジャンプおよび条件分岐を行うか否かを指定す
るフィールド133から構成される。このフォーマット
119は大きな分岐変位をもつ条件ジャンプ、条件分岐
命令に使用される。
The format 119 includes a field 120 for designating the operation content, two fields 121 and 122 for designating the register number, a field 132 for designating a 32-bit immediate value, and a field 132 in which conditional jumping and conditional branching by zero judgment are performed. Field 133 for designating whether or not to perform. This format 119 is used for a conditional jump or conditional branch instruction having a large branch displacement.

【0105】図7は、プロセッサコア4に内蔵される各
種レジスタ構成を示す図である。図において、プロセッ
サコア4には64本の32ビット長の汎用レジスタ30
0、18本の制御レジスタ150、および2本のアキュ
ムレータ18がある。汎用レジスタ300内のレジスタ
(R0)140は読み出した場合常に0で、書き込みは
無視される。
FIG. 7 is a diagram showing the configuration of various registers built in the processor core 4. In the figure, a processor core 4 has 64 32-bit general-purpose registers 30.
There are 0, 18 control registers 150, and 2 accumulators 18. The register (R0) 140 in the general-purpose register 300 is always 0 when read, and writing is ignored.

【0106】汎用レジスタ300内のレジスタ(R6
3)はスタックポインタであり、プロセッサ状態フラグ
10のSMフィールドの値に依存してユーザスタックポ
インタ(SPU)141または割り込みスタックポイン
タ(SPI)142が動作する。制御レジスタ150に
は、プログラムカウンタ151、プロセッサ状態フラグ
10や各種の専用レジスタが含まれる。
The register (R6) in the general-purpose register 300
3) is a stack pointer, and the user stack pointer (SPU) 141 or the interrupt stack pointer (SPI) 142 operates depending on the value of the SM field of the processor status flag 10. The control register 150 includes a program counter 151, a processor status flag 10, and various dedicated registers.

【0107】フォーマット112の演算では、64本の
汎用レジスタ300のそれぞれを上位16ビットと下位
16ビットに分けて別々にアクセスできる。また、2本
のアキュムレータ18はそれぞれ上位32ビットと下位
32ビットを別々にアクセスできる。
In the calculation of the format 112, each of the 64 general-purpose registers 300 can be divided into upper 16 bits and lower 16 bits and can be accessed separately. Further, the two accumulators 18 can separately access the upper 32 bits and the lower 32 bits, respectively.

【0108】図8は、プロセッサ状態フラグ10の詳細
内容を示す説明図である。図において、プロセッサ状態
フラグ10の上位16ビット170にはスタックポイン
タを切り替えるSMフィールド171、ソフトウェアデ
バッガトラップ(SDBT)の検出を示すEAフィール
ド172、SDBTの許可を指定するDBフィールド1
73、デバック割り込み許可を指定するDSフィールド
174、割り込み許可を指定するIEフィールド17
5、リピート動作の許可を指定するRPフィールド17
6、モジュロアドレシングの許可を指定するMDフィー
ルド177がある。
FIG. 8 is an explanatory diagram showing the details of the processor status flag 10. In the figure, the upper 16 bits 170 of the processor status flag 10 include an SM field 171 for switching a stack pointer, an EA field 172 indicating detection of a software debugger trap (SDBT), and a DB field 1 for designating permission of the SDBT.
73, DS field 174 for specifying debug interrupt permission, IE field 17 for specifying interrupt permission
5. RP field 17 specifying permission of repeat operation
6. There is an MD field 177 that specifies permission for modulo addressing.

【0109】下位16ビットはフラグフィールド180
である。フラグフィールド180には8個のフラグがあ
り、その中のF0フラグ181とF1フラグ182は演
算の有効無効を制御する。各フラグの値は比較演算や算
術演算の結果に依存して変化するほか、フラグ初期化演
算で初期化したり、フラグ値書き込み演算で任意の値を
フラグフィールド180に書き込むことで変化する。ま
た、フラグ値読み出し演算でフラグフィールド180の
値を読み出すこともできる。
The lower 16 bits are in the flag field 180
It is. The flag field 180 has eight flags. Among them, the F0 flag 181 and the F1 flag 182 control the validity / invalidity of the operation. The value of each flag changes depending on the result of the comparison operation or the arithmetic operation, and also changes by initializing by a flag initialization operation or writing an arbitrary value to the flag field 180 by a flag value writing operation. Further, the value of the flag field 180 can be read by the flag value read operation.

【0110】この発明のシステムLSI1、即ち、マイ
クロプロセッサの命令一覧を以下に示す。 A. MCU function instructions A-1. Load/Store instructions LDB Load one byte to a register with sign extension LDBU Load one byte to a register with zero extension LDH Load one half-word to a register with sign extension LDHH Load one half-word to a register high with sign extension LDHU Load one half-word to a register with zero extension LDW Load one word to a register LD2W Load two words to registers LD4BH Load four bytes to four half-word in two registers with sign extension LD4BHU Load four bytes to four half-word in two registers with zero extension LD2H Load two half-word to two word in two registers with sign extension STB Store one byte from a register STH Store one half-word from a register STHH Store one half-word from a register high STW Store one word from a register ST2W Store two words from registers ST4HB Store four bytes from four half-word from two registers ST2H Store two half-word from two registers MODDEC Decrement a register value by a 5-bit immediate value MODINC Increment a register value by a 5-bit immediate value
The system LSI 1 of the present invention, that is, a list of instructions of the microprocessor is shown below. A. MCU function instructions A-1.Load / Store instructions LDB Load one byte to a register with sign extension LDBU Load one byte to a register with zero extension LDH Load one half-word to a register with sign extension LDHH Load one half- word to a register high with sign extension LDHU Load one half-word to a register with zero extension LDW Load one word to a register LD2W Load two words to registers LD4BH Load four bytes to four half-word in two registers with sign extension LD4BHU Load four bytes to four half-word in two registers with zero extension LD2H Load two half-word to two word in two registers with sign extension STB Store one byte from a register STH Store one half-word from a register STHH Store one half-word from a register high STW Store one word from a register ST2W Store two words from registers ST4HB Store four bytes from four half-word from two registers ST2H Store two half-word from two registers MODDEC Decrement a register value by a 5-bit immediate value MODINC Increment a register value by a 5-bit immediate value

【0111】 A-2. Transfer instructions MVFSYS Move a control register to a general purpose register MVTSYS Move a general purpose register to a control register MVFACC Move a word from an accumulator MVTACC Move two general purpose registers to an accumulatorA-2. Transfer instructions MVFSYS Move a control register to a general purpose register MVTSYS Move a general purpose register to a control register MVFACC Move a word from an accumulator MVTACC Move two general purpose registers to an accumulator

【0112】 A-3. Compare instructions CMPcc Compare cc = EQ, NE, GT, GE, LT, LE, PS(both positive), NG(both negative ) CMPUcc Compare unsigned cc = GT, GE, LT, LEA-3. Compare instructions CMPcc Compare cc = EQ, NE, GT, GE, LT, LE, PS (both positive), NG (both negative) CMPUcc Compare unsigned cc = GT, GE, LT, LE

【0113】 [0113]

【0114】 A-5. Arithmetic operation instructions ABS Absolute ADD Add ADDC Add with carry ADDHppp Add half-word ppp = LLL, LLH, LHL, LHH, HLL, HLH, HHL, HHH ADDS Add register Rb with the sign of the third operand ADDS2H Add sign to two half-word ADD2H Add two pairs of half-words AVG Average with rounding towards positive infinity AVG2H Average two pairs of half-words rounding towards positive infinity JOINpp Join two half-words pp = LL, LH, HL, HH SUB Subtract SUBB Subtract with borrow SUBHppp Subtract half-word ppp = LLL, LLH, LHL, LHH, HLL, HLH, HHL, HHH SUB2H Subtract two pairs of half-wordsA-5. Arithmetic operation instructions ABS Absolute ADD Add ADDC Add with carry ADDHppp Add half-word ppp = LLL, LLH, LHL, LHH, HLL, HLH, HHL, HHH ADDS Add register Rb with the sign of the third operand ADDS2H Add sign to two half-word ADD2H Add two pairs of half-words AVG Average with rounding towards positive infinity AVG2H Average two pairs of half-words rounding towards positive infinity JOINpp Join two half-words pp = LL, LH, HL, HH SUB Subtract SUBB Subtract with borrow SUBHppp Subtract half-word ppp = LLL, LLH, LHL, LHH, HLL, HLH, HHL, HHH SUB2H Subtract two pairs of half-words

【0115】 A-6. Logical operation instructions AND logical AND OR logical OR NOT logical NOT XOR logical exclusive OR ANDFG logical AND flags ORFG logical OR flags NOTFG logical NOT a flag XORFG logical exclusive OR flagsA-6. Logical operation instructions AND logical AND OR logical OR NOT logical NOT XOR logical exclusive OR ANDFG logical AND flags ORFG logical OR flags NOTFG logical NOT a flag XORFG logical exclusive OR flags

【0116】 A-7. Shift operation instructions SRA Shift right arithmetic SRAHp Shift right arithmetic a half-word p = L(0), H(1) SRA2H Shift right arithmetic two half-words SRC shift right concatenated registers SRL Shift right logical SRLHp Shift right logical a half-word p = L(0), H(1) SRL2H Shift right logical two half-words ROT Rotate right ROT2H Rotate right two half-wordsA-7.Shift operation instructions SRA Shift right arithmetic SRAHp Shift right arithmetic a half-word p = L (0), H (1) SRA2H Shift right arithmetic two half-words SRC shift right concatenated registers SRL Shift right logical SRLHp Shift right logical a half-word p = L (0), H (1) SRL2H Shift right logical two half-words ROT Rotate right ROT2H Rotate right two half-words

【0117】 [0117]

【0118】 A-9. Branch instructions BRA Branch BRATZR Branch if zero BRATNZ Branch if not zero BSR Branch to subroutine BSRTZR Branch to subroutine if zero BSRTNZ Branch to subroutine if not zero DBRA Delayed Branch DBRAI Delayed Branch immediate DBSR Delayed Branch to subroutine DBSRI Delayed Branch immediate to subroutine DJMP Delayed Jump DJMPI Delayed Jump immediate DJSR Delayed Jump to subroutine DJSRI Delayed Jump immediate to subroutine JMP Jump JMPTZR Jump if zero JMPTNZ Jump if not zero JSR Jump to subroutinee JSRTZR Jump to subroutine if zero JSRTNZ Jump to subroutine if not zero NOP No operationA-9. Branch instructions BRA Branch BRATZR Branch if zero BRATNZ Branch if not zero BSR Branch to subroutine BSRTZR Branch to subroutine if zero BSRTNZ Branch to subroutine if not zero DBRA Delayed Branch DBRAI Delayed Branch immediate DBSR Delayed Branch to subroutine DBSRI Delayed Branch immediate to subroutine DJMP Delayed Jump DJMPI Delayed Jump immediate DJSR Delayed Jump to subroutine DJSRI Delayed Jump immediate to subroutine JMP Jump JMPTZR Jump if zero JMPTNZ Jump if not zero JSR Jump to subroutinee JSRTZR Jump to subroutine if zero JSRTNZ Jump to subroutine if not zero NOP No operation

【0119】 A-10. OS-related instructions TRAP Trap REIT Return from exception, interrupts, and trapsA-10. OS-related instructions TRAP Trap REIT Return from exception, interrupts, and traps

【0120】 B. DSP function instructions B-1. Arithmetic operation instructions MUL Multiply MULX Multiply with extended precision MULXS Multiply and shift to the right by one with extended precision MULX2H Multiply two pairs of half-words with extended precision MULHXpp Multiply two half-words with extended precision pp = LL, LH, HL, HH MUL2H Multiply two pairs of half-words MACa Multiply and add a = 0, 1 MACSa Multiply, shift to the right by one, and add a = 0, 1 MSUBa Multiply and subtract a = 0, 1 MSUBSa Multiply, shift to the right by one, and subtract a = 0, 1 SAT Saturate SATHH Saturate word operand into high half-word SATHL Saturate word operand into low half-word SATZ Saturate into positive number SATZ2H Saturate two half-words into positive number SAT2H Saturate two half-word operandsB. DSP function instructions B-1. Arithmetic operation instructions MUL Multiply MULX Multiply with extended precision MULXS Multiply and shift to the right by one with extended precision MULX2H Multiply two pairs of half-words with extended precision MULHXpp Multiply two half- words with extended precision pp = LL, LH, HL, HH MUL2H Multiply two pairs of half-words MACa Multiply and add a = 0, 1 MACSa Multiply, shift to the right by one, and add a = 0, 1 MSUBa Multiply and subtract a = 0, 1 MSUBSa Multiply, shift to the right by one, and subtract a = 0, 1 SAT Saturate SATHH Saturate word operand into high half-word SATHL Saturate word operand into low half-word SATZ Saturate into positive number SATZ2H Saturate two half-words into positive number SAT2H Saturate two half-word operands

【0121】 B-2. Repeat instructions REPEAT Repeat a block of instructions REPEAT Repeat a block of instructions with immediateB-2. Repeat instructions REPEAT Repeat a block of instructions with immediate

【0122】パイプライン動作 図9は、一つの命令実行でなされる各処理を4段のパイ
プラインステージに割当てたパイプライン処理を示す説
明図である。図において、システムLSI1のプロセッ
サコア4では命令を実行するのに通常IF,D/A,E
/M,Wの4段のパイプラインステージで実行する。
Pipeline Operation FIG. 9 is an explanatory diagram showing a pipeline process in which each process performed by executing one instruction is assigned to four pipeline stages. In the figure, a processor core 4 of a system LSI 1 normally executes an IF, D / A, E
Execution is performed in four pipeline stages of / M and W.

【0123】順次発行される命令の各パイプラインステ
ージは、オーバーラップして並行して実行可能であるた
め、近年の高性能マイクロプロセッサでは、このパイプ
ライン手法を必ず使用している。各パイプラインステー
ジは、クロックのハイレベル(Hレベル)の期間(前
半)とロウレベル(Lレベル)の期間(後半)に同期し
たレジスタで構成されており、各種処理はこれらレジス
タ間で実行される。そのため、各パイプラインステージ
の処理は前半、後半に分けて考えることができる。
Since the pipeline stages of sequentially issued instructions can overlap and be executed in parallel, recent high-performance microprocessors always use this pipeline method. Each pipeline stage is composed of registers synchronized with a high level (H level) period (first half) and a low level (L level) period (second half) of a clock, and various processes are executed between these registers. . Therefore, the processing of each pipeline stage can be considered separately in the first half and the second half.

【0124】まず、IFステージで命令フェッチが実行
され、D/Aステージでその命令のデコードが実行され
る。そして、同じくD/Aステージの前半から汎用レジ
スタ300からデータの読み出処理が開始され、後半で
データアクセスのためのオペランドアドレス計算がなさ
れる。
First, an instruction fetch is executed in the IF stage, and the instruction is decoded in the D / A stage. Then, data read processing from the general-purpose register 300 is started in the first half of the D / A stage, and operand address calculation for data access is performed in the second half.

【0125】E/Mステージでは、演算及びデータメモ
リアクセスが実行される。そして、Wステージの後半で
演算結果の汎用レジスタ300への書き込みが実行され
る。これが1命令を実行する際のパイプライン的な処理
の概要である。
In the E / M stage, operation and data memory access are executed. Then, in the latter half of the W stage, the operation result is written into the general-purpose register 300. This is an outline of a pipeline-like process for executing one instruction.

【0126】図7で示した制御レジスタCR0〜CR1
7へのリード/ライト処理は、E/Mステージの後半で
行われる。
The control registers CR0 to CR1 shown in FIG.
7 is performed in the latter half of the E / M stage.

【0127】プロセッサコア4の詳細なブロック図 図10〜14は、図1に示したこの発明のシステムLS
I1内のプロセッサコア4を中心とした詳細なブロック
構成を示すブロック図である。図10〜14では、主と
して、図1で示したプロセッサコア4内のコアデータパ
ス部5とコア制御部6内の詳細なブロック構成が示され
ている。コア制御部6にはこの発明の特徴の1つである
周辺制御部7が内蔵されている。
Detailed Block Diagram of Processor Core 4 FIGS. 10 to 14 show the system LS of the present invention shown in FIG.
FIG. 2 is a block diagram showing a detailed block configuration centered on a processor core 4 in I1. FIGS. 10 to 14 mainly show detailed block configurations in the core data path unit 5 and the core control unit 6 in the processor core 4 shown in FIG. The core control unit 6 has a built-in peripheral control unit 7, which is one of the features of the present invention.

【0128】データパス部5は、図9で示した4段のパ
イプラインステージ(IF、D/A、E/M、W)に基
づいて命令の実行を行うブロックである。図10〜14
に示すシステムLSI1の詳細図において、汎用レジス
タ300を境にして左側の部分(図12、図13)がメ
モリアクセス制御やプログラム制御を行うメモリアクセ
スユニットであり、汎用レジスタ300を境にして右側
の部分(図14)が全ての乗算命令も含む全ての整数演
算を行う整数演算ユニットである。これらメモリアクセ
スユニットと整数演算ユニットでは、図3で示した命令
コードに含まれる2個の副命令が並行して実行される。
The data path unit 5 is a block for executing an instruction based on the four pipeline stages (IF, D / A, E / M, W) shown in FIG. Figures 10-14
12 is a memory access unit for performing memory access control and program control on the left side of the general-purpose register 300 (FIGS. 12 and 13), and on the right side of the general-purpose register 300. The part (FIG. 14) is an integer operation unit that performs all integer operations including all multiplication instructions. In these memory access unit and integer operation unit, two sub-instructions included in the instruction code shown in FIG. 3 are executed in parallel.

【0129】図12、図13に示すメモリアクセスユニ
ットには、ALU301、シフタ302がある。またそ
の他メモリアクセス制御、プログラム制御等を行なうた
めの各種演算器やレジスタ等が含まれている。30は、
命令フェッチ処理の際に、命令RAMへ命令アドレスバ
ス20を介して命令アドレスを出力する命令レジスタで
ある。
The memory access unit shown in FIGS. 12 and 13 includes an ALU 301 and a shifter 302. In addition, various arithmetic units and registers for performing memory access control, program control, and the like are included. 30 is
An instruction register that outputs an instruction address to the instruction RAM via the instruction address bus 20 during instruction fetch processing.

【0130】IFステージで命令フェッチが完了する
と、インクリメンタ31で8バイトアドレス分インクリ
メントし、レジスタ32を介して命令レジスタ30を更
新する。
When the instruction fetch is completed in the IF stage, the instruction is incremented by 8 bytes by the incrementer 31, and the instruction register 30 is updated via the register 32.

【0131】36はメモリへのストア処理を行なう際
に、ストアデータの整値を行なうためのデータ整値部で
ある。37,38はメモリからのロードデータの符合拡
張を行なうための符号拡張部である。
Numeral 36 denotes a data integer section for performing integer adjustment of stored data when performing a store process to a memory. 37 and 38 are sign extension units for sign extension of load data from the memory.

【0132】303は、メモリ領域を循環バッファとし
て利用するモジュロアドレッシングで使用するロードと
ストア命令実行時のポストインクリメント/デクリメン
ト処理を行なうためのインクリメンタである。33は、
ロード/ストア処理のデータアドレスの計算や分岐命令
の飛び先アドレスの計算を行なうための加算器である。
またCR0〜CR17は、図7で示した制御レジスタで
あり、制御レジスタCR0〜CR17の一部はコア制御
部6に内蔵されている。
Reference numeral 303 denotes an incrementer for performing post-increment / decrement processing at the time of executing load and store instructions used in modulo addressing using a memory area as a circular buffer. 33 is
This is an adder for calculating the data address of the load / store processing and the jump address of the branch instruction.
Further, CR0 to CR17 are the control registers shown in FIG. 7, and a part of the control registers CR0 to CR17 is built in the core control unit 6.

【0133】304はプログラムカウンタCR0をイン
クリメントするためのインクリメンタである。305は
リピート命令やディレイド分岐命令を実行する際に、リ
ピートカウントレジスタCR6の値やリピートエンドア
ドレスレジスタCR8の値を計算するための加算器であ
る。306は、リピートカウントレジスタの値をデクリ
メントするためのデクリメンタである。310は、命令
ブレークアドレスレジスタCR11の値とプログラムカ
ウンタCR0の値を比較し、同じ値であれば一致信号を
出力する32ビット比較器である。
Reference numeral 304 denotes an incrementer for incrementing the program counter CR0. Reference numeral 305 denotes an adder for calculating the value of the repeat count register CR6 and the value of the repeat end address register CR8 when executing a repeat instruction or a delayed branch instruction. 306 is a decrementer for decrementing the value of the repeat count register. A 32-bit comparator 310 compares the value of the instruction break address register CR11 with the value of the program counter CR0, and outputs a coincidence signal if the values are the same.

【0134】311は、リピートカウントレジスタCR
6の値が0以上であれば有効となる信号を出力する32
ビット比較器である。312は、リピートエンドアドレ
スレジスタCR8の値と命令レジスタ30の値を比較
し、同じ値であれば一致信号を出力する32ビットの比
較である。313は、モジュロエンドアドレスレジスタ
CR10の値とインクリメンタ303の値が同じであれ
ば一致信号を出力する32ビット比較器である。
Reference numeral 311 denotes a repeat count register CR.
If the value of 6 is 0 or more, a signal that becomes valid is output 32
It is a bit comparator. Numeral 312 is a 32-bit comparison for comparing the value of the repeat end address register CR8 with the value of the instruction register 30 and outputting a coincidence signal if the values are the same. A 32-bit comparator 313 outputs a coincidence signal if the value of the modulo end address register CR10 is equal to the value of the incrementer 303.

【0135】314は、モジュロアドレッシング次にイ
ンクリメント/デクリメントされたアドレスを保持して
いるレジスタe1rmincの値が0であれば有効とな
る信号を出力する32ビット比較器である。315は、
D1S6BUSバスの値が0であれば有効となる信号を
出力するための32ビット比較器である。
Reference numeral 314 denotes a 32-bit comparator which outputs a signal which becomes valid if the value of the register e1rminc holding the address incremented / decremented next is 0. 315 is
This is a 32-bit comparator for outputting a signal that becomes valid if the value of the D1S6BUS bus is 0.

【0136】また、図14に示した整数演算ユニットに
は、乗算命令の実行を行う乗算部320、ALU32
1、シフタ322、そして飽和演算を行うための演算部
323がある。またA0,A1は、図6で示した積和演
算等を行なう際の累積加算等を行なうための2本のアキ
ュムレータである。
The integer operation unit shown in FIG. 14 includes a multiplication unit 320 for executing a multiplication instruction and an ALU 32
1, a shifter 322, and an operation unit 323 for performing a saturation operation. Also, A0 and A1 are two accumulators for performing cumulative addition and the like when performing the product-sum operation and the like shown in FIG.

【0137】また、D1S1BUS,D1S2BUS,
D1S3BUS,D1S4BUS,D1S5BUS,D
1S6BUSは、汎用レジスタ300からのリードバス
であり、D1S1BUSのD1とはDステージの前半に
バスがドライブされることを示している。これら先頭に
D1の付いているバスをD1同期バス群と呼ぶ。
D1S1BUS, D1S2BUS,
D1S3BUS, D1S4BUS, D1S5BUS, D
1S6BUS is a read bus from the general-purpose register 300, and D1 of D1S1BUS indicates that the bus is driven in the first half of the D stage. These buses with D1 at the beginning are called a D1 synchronous bus group.

【0138】また、W1W1BUS,W1W2BUS,
W1W3EBUS,W1W3OBUSは、汎用レジスタ
300へのライトバスであり、W1W1BUSのW1と
はWステージの前半にバスがドライブされることを示し
ている。これら先頭にW1の付いているバスは同様にW
1同期バス群である。
Also, W1W1BUS, W1W2BUS,
W1W3EBUS and W1W3OBUS are write buses to the general-purpose register 300, and W1 of W1W1BUS indicates that the bus is driven in the first half of the W stage. These buses with W1 at the top
One synchronous bus group.

【0139】また、D2S1BUS,D2S2BUS,
D2S3BUS,D2S4BUS,D2S5MBUS,
D2S5IBUS,D2S6BUSは、D1同期バス群
のデータを、クロックのLレベルの期間に同期したレジ
スタに取り込んだ値を出力しているバスであり、Dステ
ージの後半にバスがドライブされる。
Further, D2S1BUS, D2S2BUS,
D2S3BUS, D2S4BUS, D2S5MBUS,
D2S5IBUS and D2S6BUS are buses that output values obtained by taking data of the D1 synchronous bus group into registers synchronized with the period of the L level of the clock, and the buses are driven in the latter half of the D stage.

【0140】また、E2D1BUS,E2D3BUS,
E2D4BUSは、制御レジスタの値や演算器の値を保
持するレジスタの値をEステージの後半に出力するバス
である。これらステージとその前半、後半の異なるバス
間におけるデータのやり取りは、タイミングを調整する
ためのレジスタを介して行われる。
Further, E2D1BUS, E2D3BUS,
E2D4BUS is a bus that outputs the value of the control register and the value of the register that holds the value of the arithmetic unit to the latter half of the E stage. Data exchange between these stages and the different buses in the first half and the second half thereof is performed via a register for adjusting timing.

【0141】また、330はコア制御部6で命令コード
より切り出された即値データである。43はコア制御部
内ののPSWレジスタCR1の値をE2D1BUSに読
み出すための経路である。47はE1CRBUSの値を
コア制御部内の制御レジスタに書き込むための経路であ
る。これらコア制御部6内の制御レジスタもコアデータ
パス部内にある制御レジスタと同様に、制御レジスタア
クセス専用命令MVFSYS,MVTSYS命令を用い
てウェイトなしでリード/ライト処理可能である。
Reference numeral 330 denotes immediate data cut out from the instruction code by the core control unit 6. Reference numeral 43 denotes a path for reading the value of the PSW register CR1 in the core control unit to the E2D1BUS. 47 is a path for writing the value of E1CRBUS to a control register in the core control unit. Similarly to the control registers in the core data path unit, these control registers in the core control unit 6 can perform read / write processing without waiting by using the control register access dedicated instructions MVFSYS and MVTSYS instructions.

【0142】340〜349は、連続処理命令間で発生
するデータ干渉によるパイプライン処理のウェイトを回
避するためのバイパス処理を行うための経路である。先
行命令の各種演算結果は、汎用レジスタ300へ書き戻
されると同時に、後続命令で使用するためにD2バス同
期群に出力される。
Reference numerals 340 to 349 denote paths for performing bypass processing for avoiding the wait of pipeline processing due to data interference occurring between consecutive processing instructions. The various operation results of the preceding instruction are written back to the general-purpose register 300, and are simultaneously output to the D2 bus synchronization group for use in the subsequent instruction.

【0143】コア制御部6は、命令バス25から出力さ
れる命令コードをデコード処理し、コアデータパス部5
の制御を行うための各種制御信号を生成する。命令バス
25から入力された命令コードは、セレクタ350で選
択され、即値生成や汎用レジスタ300のリード/ライ
トの制御信号を生成するプリデコード部352に転送さ
れる。これと同時に命令レジスタ351に取り込まれ、
図12、図13に示したメモリアクセスユニットと図1
4に示した整数演算ユニット用のそれぞれのDステージ
のデコーダ部353,354に出力される。
The core control unit 6 decodes the instruction code output from the instruction bus 25, and
Various control signals for performing the control are generated. The instruction code input from the instruction bus 25 is selected by the selector 350 and is transferred to a predecode unit 352 that generates a control signal for generating an immediate value or reading / writing the general-purpose register 300. At the same time, it is taken into the instruction register 351,
The memory access unit shown in FIGS.
4 are output to the decoder units 353 and 354 of the respective D stages for the integer operation unit.

【0144】図3で示したように、命令コードのFMビ
ットがFM=01かFM=10であった場合、命令コー
ドに含まれる2個の副命令がそれぞれシリアルに実行さ
れる。この制御を行うためにシリアル実行用の命令レジ
スタ355を備えており、シリアル実行時には、2番目
に実行される副命令を一度レジスタ355に保持し、経
路356でセレクタ350にフィードバック制御を行
う。また連続処理命令間で発生するデータ干渉をパイプ
ラインのウェイト処理で回避するパイプライン・インタ
ーロック処理のための命令レジスタ357も備えてお
り、この処理実行時にも命令コードをフィードバック制
御する。
As shown in FIG. 3, when the FM bit of the instruction code is FM = 01 or FM = 10, each of the two sub-instructions included in the instruction code is serially executed. In order to perform this control, an instruction register 355 for serial execution is provided. During serial execution, a sub-instruction to be executed second is once held in the register 355, and feedback control is performed on the selector 350 through the path 356. Also provided is an instruction register 357 for pipeline interlock processing for avoiding data interference occurring between successive processing instructions by pipeline weight processing, and also performs feedback control of the instruction code during execution of this processing.

【0145】コア制御部6には命令デコード部ばかりで
なく、図1で示した周辺制御部7を内蔵している。周辺
制御部7内には周辺状態レジスタ45と割り込み有効レ
ジスタ(割込有効制御手段)44が内蔵されている。周
辺状態レジスタ(状態監視制御レジスタ)45には、周
辺ブロック部9から得られた状態ビット信号41が入力
される。これら周辺状態レジスタ45と割り込み有効レ
ジスタ44は、他の制御レジスタCR1,CR3,CR
5と同様に、コアデータパス部のE1CRBUSの値を
バス47を介して書き込み可能であり、これら制御レジ
スタの一つをセレクトしてバス43からコアデータパス
部内のE2D1BUSに読み出し可能である。
The core control unit 6 incorporates not only the instruction decoding unit but also the peripheral control unit 7 shown in FIG. The peripheral control unit 7 includes a peripheral state register 45 and an interrupt valid register (interrupt valid control means) 44. The state bit signal 41 obtained from the peripheral block unit 9 is input to the peripheral state register (state monitoring control register) 45. The peripheral state register 45 and the interrupt enable register 44 include other control registers CR1, CR3, CR
Similarly to 5, the value of E1CRBUS in the core data path can be written via the bus 47, and one of these control registers can be selected and read from the bus 43 to the E2D1BUS in the core data path.

【0146】これら制御レジスタへのアクセスは、制御
レジスタアクセス専用命令MVFSYS、MVTSYS
命令を用いてウェイトなしで可能である。
The access to these control registers is performed by the control register access dedicated instructions MVFSYS, MVTSYS.
This is possible without a wait using an instruction.

【0147】図15は、図10〜14で示した周辺状態
レジスタ45の詳細を示すブロック図であり、図におい
て、周辺状態レジスタ45は、制御レジスタ転送命令で
読み出し処理可能であり、32ビットで構成されてい
る。周辺状態レジスタの0〜11ビットまでは周辺ブロ
ック部9内の各部の動作状態を示す状態ビットの値を示
している。15ビット目(SEI)は外部割り込み信号
の値を示している。リセット後は、プロセッサコアが各
周辺ブロック部内の各部の周辺制御レジスタにコマンド
を書き込み何かの処理を起動しない限り周辺ブロック部
9内の各部10〜17はアイドル状態であり、各部では
DMA処理が完了した状態を示し、その状態ビットは1
である。すなわちSB,SL0,SL1,SV,SA,
SS0,SS1,ST,SHビットは1である。
FIG. 15 is a block diagram showing the details of the peripheral state register 45 shown in FIGS. 10 to 14. In the figure, the peripheral state register 45 can be read out by a control register transfer instruction, and has 32 bits. It is configured. Bits 0 to 11 of the peripheral status register indicate status bit values indicating the operation status of each unit in the peripheral block unit 9. The fifteenth bit (SEI) indicates the value of the external interrupt signal. After the reset, the units 10 to 17 in the peripheral block unit 9 are in an idle state unless the processor core writes a command to the peripheral control register of each unit in each peripheral block unit and starts any processing. Indicates a completed state, the status bit of which is 1
It is. That is, SB, SL0, SL1, SV, SA,
The SS0, SS1, ST, and SH bits are 1.

【0148】プロセッサコア4が、周辺ブロック部9内
の各部の周辺制御レジスタにコマンドを書き込み処理の
起動をかけると、図15に示す周辺状態レジスタ内の各
状態ビットは0になり各種専用処理中であることを示
す。そして周辺ブロック部9内の各部に応じた専用処理
が完了すれば、これら状態ビットが1になり専用処理が
完了したことを示す。
When the processor core 4 writes a command to the peripheral control register of each unit in the peripheral block unit 9 and starts the process, each status bit in the peripheral status register shown in FIG. It is shown that. When the dedicated processing corresponding to each unit in the peripheral block unit 9 is completed, these status bits become 1, indicating that the dedicated processing is completed.

【0149】また、SHEは、VLCD部でハフマンコ
ードの符号復号処理でエラーが発生したときに1にな
る。またSMTは、MUTE#信号がアサートされた時
に1となる。またSVDは、VO_NPBの書き込みが
有効である時に1となる。
SHE becomes 1 when an error occurs in the Huffman code decoding process in the VLCD unit. SMT becomes 1 when the MUTE # signal is asserted. SVD becomes 1 when writing of VO_NPB is valid.

【0150】図16は、図10〜14で示したシステム
LSI1内の割り込み有効レジスタの詳細を示す説明図
であり、図において、割り込み有効レジスタ44は、制
御レジスタ転送命令で読み出し可能であり、32ビット
で構成されている。割り込み有効レジスタ44の0〜1
1ビットに割り込み有効ビットが存在し、これらの値は
それぞれ周辺状態レジスタの0〜11ビットに対応して
いる。すなわち割り込み有効レジスタの割り込みビット
が1であり、かつ周辺状態レジスタのその割り込みビッ
トに対応する状態ビットが1である時に、プロセッサコ
ア4内で割り込み処理が発生する。
FIG. 16 is an explanatory diagram showing details of the interrupt enable register in the system LSI 1 shown in FIGS. 10 to 14. In the figure, the interrupt enable register 44 can be read by a control register transfer instruction. Consists of bits. 0 to 1 of the interrupt enable register 44
One bit has an interrupt valid bit, and these values correspond to bits 0 to 11 of the peripheral status register, respectively. That is, when the interrupt bit of the interrupt enable register is 1 and the status bit corresponding to the interrupt bit in the peripheral status register is 1, an interrupt process occurs in the processor core 4.

【0151】図16に示した割り込み有効レジスタのリ
セット後は、割り込み有効レジスタの割り込みビットは
0であり、周辺状態レジスタの状態ビットが1であるが
割り込みは発生しない。周辺ブロック部9内の各部の専
用処理の完了時点で割り込み処理を起こしたい場合に
は、プロセッサコア4が周辺ブロック部9に対して専用
処理の起動をかけた後に、その周辺ブロック部9の状態
ビットに対応した割り込みビットに1をセットしておく
必要がある。
After the reset of the interrupt enable register shown in FIG. 16, the interrupt bit of the interrupt enable register is 0 and the status bit of the peripheral status register is 1, but no interrupt occurs. If it is desired to cause an interrupt process at the time of completion of the dedicated processing of each unit in the peripheral block unit 9, the processor core 4 activates the dedicated processing to the peripheral block unit 9 and then sets the state of the peripheral block unit 9. It is necessary to set 1 to the interrupt bit corresponding to the bit.

【0152】図17は、プロセッサコア4内における、
割り込み有効レジスタと周辺状態レジスタとを内蔵した
周辺制御部7の詳細な構成を示すブロック図であり、図
において、44は割り込み有効レジスタ、45は周辺状
態レジスタである。
FIG. 17 is a block diagram of the processor core 4.
FIG. 4 is a block diagram showing a detailed configuration of a peripheral control unit 7 having a built-in interrupt enable register and a peripheral state register. In the figure, reference numeral 44 denotes an interrupt enable register, and 45 denotes a peripheral state register.

【0153】周辺状態レジスタ45には、周辺ブロック
部9内の各部10〜17の周辺制御レジスタの状態ビッ
トの値が転送される専用信号線41が接続されている。
この専用信号線41の値は、状態ビット値保持レジスタ
77に取り込まれる。また割り込み有効レジスタ44に
は、この状態ビット保持レジスタに対応した割り込みレ
ジスタ76が内蔵されており、この割り込みレジスタに
は図10〜14で説明したようにE1CRBUSバスの
値が転送されるバス47を介して、制御レジスタアクセ
スの専用命令を実行することで、プロセッサコア4が値
を書き込みできる。
The peripheral status register 45 is connected to a dedicated signal line 41 to which the value of the status bit of the peripheral control register of each of the units 10 to 17 in the peripheral block unit 9 is transferred.
The value of the dedicated signal line 41 is taken into the status bit value holding register 77. The interrupt enable register 44 includes an interrupt register 76 corresponding to the status bit holding register. The interrupt register 76 includes a bus 47 to which the value of the E1CRBUS bus is transferred as described with reference to FIGS. The processor core 4 can write a value by executing a dedicated instruction for access to the control register through the CPU.

【0154】割り込み有効レジスタ44中の割り込みレ
ジスタ76の値と、周辺状態レジスタ45中の状態ビッ
ト値保持レジスタの値は、プロセッサコア4の制御レジ
スタアクセスの専用命令により、セレクタ70を介して
バス43からE2D1BUSバス上へ読み出し可能であ
る。
The value of the interrupt register 76 in the interrupt enable register 44 and the value of the status bit value holding register in the peripheral status register 45 are changed by the dedicated instruction for access to the control register of the processor core 4 via the selector 70 via the bus 43. To the E2D1BUS bus.

【0155】セレクタ70には、制御レジスタCR1,
CR3,CR5の値もまたバス78を介して同様に読み
出し可能である。このように、周辺ブロック部9内の各
部の動作状態を示す状態ビットの値を、プロセッサコア
4が、パイプラインのウェイト無しで制御レジスタアク
セスの専用命令を実行し、読出しをすることにより、周
辺ブロック部9の処理状況に即座に対応した処理を、プ
ロセッサコア4が開始可能である。
The selector 70 has a control register CR1,
The values of CR3 and CR5 can be similarly read out via the bus 78. As described above, the processor core 4 executes the dedicated instruction for access to the control register without waiting for the pipeline and reads the value of the state bit indicating the operation state of each unit in the peripheral block unit 9. The processor core 4 can start processing immediately corresponding to the processing status of the block unit 9.

【0156】また、割り込み有効レジスタ76の値と状
態ビット値保持レジスタ77の値は、ANDゲート71
でAND処理され、その処理結果である出力72aは、
ORゲート73で割り込み信号として出力される。OR
ゲート73には、他の割り込みレジスタ値と状態ビット
値保持レジスタとの値がAND処理された信号72b,
72cへも入力されている。このように割り込み有効レ
ジスタ44の値を制御することにより、周辺ブロック部
9での状態の変化に基づいて、割り込みを発生の有無を
容易に制御することが可能である。
The value of the interrupt enable register 76 and the value of the status bit value holding register 77 are
And the output 72a, which is the processing result,
The OR gate 73 outputs the signal as an interrupt signal. OR
The gate 73 outputs to the signals 72b, 72b, the AND values of the other interrupt register values and the status bit value holding registers.
72c is also input. By controlling the value of the interrupt valid register 44 in this way, it is possible to easily control whether or not an interrupt has occurred based on a change in the state of the peripheral block unit 9.

【0157】図18は、周辺状態レジスタを用いてプロ
セッサコア4と周辺ブロック部9との間の通信手順を示
すタイミングチャートであり、図において、(a)は、
プロセッサコア4から周辺ブロック部9へ出力される信
号を示しており、(b)は、周辺ブロック部9からプロ
セッサコア4へ出力される信号を示している。
FIG. 18 is a timing chart showing a communication procedure between the processor core 4 and the peripheral block unit 9 using the peripheral state register.
The signal output from the processor core 4 to the peripheral block unit 9 is shown, and (b) shows the signal output from the peripheral block unit 9 to the processor core 4.

【0158】クロック(1)でプロセッサコアが周辺ブ
ロック部9内のあるブロック部(A)に対して制御レジ
スタライトリクエストを出力し、周辺ブロック部(A)
内の周辺制御レジスタにコマンドの書き込みを行う。こ
の制御レジスタへのデータライト処理の手順は、従来例
の場合を示した図26で説明したものと同様である。
At clock (1), the processor core outputs a control register write request to a certain block section (A) in the peripheral block section 9, and the peripheral block section (A)
Write a command to the peripheral control register inside the device. The procedure of data write processing to the control register is the same as that described with reference to FIG. 26 showing the case of the conventional example.

【0159】この制御レジスタライト処理が完了したク
ロック(5)から、周辺ブロック部(A)の稼動が始ま
り、周辺ブロック部(A)内の周辺制御レジスタの状態
ビットがLレベルとなる。この状態ビットがLレベルで
ある期間が、周辺ブロック部Aの稼動期間と一致する。
周辺ブロック部(A)の稼動期間が終了するクロック
(16)の辺りで、他の周辺ブロック部(B)が内部デ
ータRAMに対してDMA転送を行っている場合、従来
例の場合を示した図27で説明したように、プロセッサ
コア4は周辺ブロック部(A)内の周辺制御レジスタに
アクセスすることは不可能である。
The operation of the peripheral block (A) starts from the clock (5) after the completion of the control register write processing, and the state bit of the peripheral control register in the peripheral block (A) becomes L level. The period during which this status bit is at the L level coincides with the operation period of the peripheral block unit A.
The case where the other peripheral block unit (B) is performing the DMA transfer to the internal data RAM around the clock (16) at which the operation period of the peripheral block unit (A) ends is shown in the case of the conventional example. As described with reference to FIG. 27, the processor core 4 cannot access the peripheral control register in the peripheral block (A).

【0160】しかし、プロセッサコア制御部6に位置す
る周辺状態レジスタ45へ専用命令でアクセスすれば、
最速で、即ち、クロック(14)でこの命令を発行した
場合に、パイプラインのEステージで状態ビットがHレ
ベルであることを検知できる。これにより、プロセッサ
コア4は、周辺ブロック部(A)の処理完了を考慮した
処理をプロセッサコア4は、即座に開始可能であり、プ
ロセッサコア4が中心となって行うシステム処理をスム
ーズに行うことが可能である。特に、MPEG2規格の
ような高性能処理が要求される動画像復号処理を実時間
で行う実施の形態1のシステムLSI1においては、プ
ロセッサコア4だけの性能では全ての処理を効率良く、
高速で実行することは不可能であり、専用的な処理を行
う周辺ブロック部9を内蔵することは不可欠である。
However, if the peripheral state register 45 located in the processor core control unit 6 is accessed by a dedicated instruction,
At the highest speed, that is, when this instruction is issued at the clock (14), it is possible to detect that the status bit is at the H level at the E stage of the pipeline. Accordingly, the processor core 4 can immediately start the processing in consideration of the processing completion of the peripheral block unit (A), and smoothly perform the system processing performed mainly by the processor core 4. Is possible. In particular, in the system LSI 1 according to the first embodiment, which performs a moving image decoding process requiring a high-performance process such as the MPEG2 standard in real time, all processes can be efficiently performed only with the performance of the processor core 4.
It is impossible to execute at high speed, and it is indispensable to incorporate the peripheral block unit 9 for performing dedicated processing.

【0161】そして、上記した構成を備えた実時間処理
を行うシステムLSIでは、プロセッサコア4と周辺ブ
ロック部9とが、DMA転送処理により、内部データR
AM3を介して高速にデータのやり取りを実行でき、か
つプロセッサコア4は、周辺ブロック部9内の各部の処
理状況を高速に把握できる。
In the system LSI having the above-described configuration and performing real-time processing, the processor core 4 and the peripheral block unit 9 transfer the internal data R by DMA transfer processing.
Data can be exchanged at a high speed via the AM 3 and the processor core 4 can grasp the processing status of each unit in the peripheral block unit 9 at a high speed.

【0162】以上のように、この実施の形態1によれ
ば、プロセッサコア4と周辺ブロック部9において、周
辺ブロック部9内のブロック部10〜17の各々で実行
された専用処理が完了したことを示すデータ、即ち、周
辺ブロック部9内の専用処理状況を反映した状態ビット
を、専用信号線を介してプロセッサコア4内の制御レジ
スタである周辺状態レジスタ45内に取り込み、プロセ
ッサコア4が制御レジスタ45の内容を読み出すための
専用命令、例えば、制御レジスタ転送命令等を実行する
ことで、この制御レジスタ45内に格納された周辺ブロ
ック部での動作状況を示すデータを獲得できるので、周
辺ブロック部で実行される専用の処理状況を、プロセッ
サコア4はパイプライン動作をウェイトすることなく、
即座に把握できるという効果がある。また、周辺ブロッ
ク部で実行される専用の処理が完了したことを示すデー
タ、即ち、周辺ブロック部の専用処理状況を反映した状
態ビットを、専用信号線を介してプロセッサコア4内の
制御レジスタである周辺状態レジスタ45内に取り込
み、さらにプロセッサコア4が、割り込み有効レジスタ
44に対してデータを書き込む専用命令を用いて、周辺
状態レジスタ45内の値に対応した値、即ち、割り込み
有効レジスタ44内の割り込みレジスタ76内へ値をセ
ットするように構成したので、周辺ブロック部9の専用
処理状況に応じて割り込み処理等を即座に開始でき、プ
ロセッサコア4は、周辺ブロック部9内の各部の処理状
況を即座に高速で把握し、また制御できるという効果が
ある。
As described above, according to the first embodiment, the processor core 4 and the peripheral block 9 complete the dedicated processing executed by each of the blocks 10 to 17 in the peripheral block 9. , That is, a status bit reflecting the status of the dedicated processing in the peripheral block unit 9 is taken into a peripheral status register 45 which is a control register in the processor core 4 via a dedicated signal line, and the processor core 4 performs control. By executing a dedicated instruction for reading the contents of the register 45, for example, a control register transfer instruction, it is possible to obtain data indicating the operation status of the peripheral block portion stored in the control register 45, The processor core 4 does not wait for the pipeline operation,
This has the effect that it can be grasped immediately. Further, data indicating that the dedicated processing executed in the peripheral block unit has been completed, that is, a status bit reflecting the dedicated processing status of the peripheral block unit is transmitted to the control register in the processor core 4 via the dedicated signal line. A value corresponding to the value in the peripheral state register 45, that is, the value in the interrupt valid register 44, Is configured to set a value in the interrupt register 76 of the peripheral block unit 9 so that an interrupt process or the like can be immediately started in accordance with the exclusive processing status of the peripheral block unit 9. This has the effect that the situation can be immediately grasped and controlled at high speed.

【0163】実施の形態2.図19は、この発明の実施
の形態2,3に係わるシステムLSIを示すブロック図
であり、主としてプロセッサコア4、内部命令RAM
2,内部データRAM3を示している。図19に示す実
施の形態2のシステムLSIでは、プロセッサコア4と
周辺ブロック部9との間の高速通信を実現するものであ
る。このプロセッサコア4は、周辺状態レジスタ(PS
T2、状態監視制御手段)89を内蔵している双方向バ
ッファ部8−1を含んでおり、これにより周辺ブロック
部9との間で高速のデータ転送を実行する。その他の構
成要素は、実施の形態1のシステムLSIのものと同じ
なので、同一参照番号を用いてそれらの説明を省略す
る。
Embodiment 2 FIG. 19 is a block diagram showing a system LSI according to the second and third embodiments of the present invention.
2, the internal data RAM 3 is shown. In the system LSI according to the second embodiment shown in FIG. 19, high-speed communication between the processor core 4 and the peripheral block unit 9 is realized. The processor core 4 has a peripheral status register (PS
T2, a state monitoring control means) 89, and a high-speed data transfer with the peripheral block unit 9 is carried out. The other components are the same as those of the system LSI according to the first embodiment, and thus the same reference numerals are used and the description thereof will be omitted.

【0164】実施の形態2のシステムLSIは、プロセ
ッサコア4と内部データRAM3、そして周辺ブロック
部9との間のデータ転送を制御する双方向バッファ部8
−1内に、周辺ブロック部9内の各部の状態を示した情
報を保持するレジスタを組み込んでいる。そして、周辺
ブロック部9から内部データRAM3へのDMAライト
転送のライトデータの最後に、周辺ブロック部9内の各
部の状態情報を付加することにより、DMAライト転送
処理によって終了する周辺ブロック部9の処理に対する
プロセッサコア4の状況把握を高速に実行するものであ
る。
The system LSI according to the second embodiment includes a bidirectional buffer unit 8 for controlling data transfer between the processor core 4, the internal data RAM 3, and the peripheral block unit 9.
A register for holding information indicating the state of each unit in the peripheral block unit 9 is incorporated in -1. Then, by adding the status information of each unit in the peripheral block unit 9 to the end of the write data of the DMA write transfer from the peripheral block unit 9 to the internal data RAM 3, the peripheral block unit 9 ending with the DMA write transfer process is completed. This is to execute the situation of the processor core 4 for the processing at a high speed.

【0165】図1に示した実施の形態1のシステムLS
I1で説明したように、プロセッサコア4と内部命令R
AM2との間は、命令アドレスバス20とデータバス2
2で接続されており、読み出された命令コードはバス2
3で出力される。またプロセッサコア4と内部データR
AM3との間は、データアドレスバス21とデータバス
22で接続されている。また、プロセッサコア4と周辺
ブロック部9との間は、アドレスバス26とデータバス
27で接続されている。
The system LS of the first embodiment shown in FIG.
As described in I1, the processor core 4 and the internal instruction R
AM2, the instruction address bus 20 and the data bus 2
2 and the read instruction code is
3 is output. The processor core 4 and the internal data R
The data address bus 21 and the data bus 22 are connected to AM3. The processor core 4 and the peripheral block unit 9 are connected by an address bus 26 and a data bus 27.

【0166】命令フェッチを行うために命令アドレスバ
ス20には、セレクタ88を介して命令レジスタ30内
に保持されている命令アドレスが出力される。内部命令
RAM2は、命令アドレスを受け取るとバス23に命令
コードを出力する。命令フェッチは64ビット単位で行
われるため、一度、命令フェッチが行われるとインクリ
メンタ31によって命令アドレスに8が加算され、加算
された命令アドレスは、次の命令フェッチのために使用
される。
The instruction address held in the instruction register 30 is output to the instruction address bus 20 via the selector 88 in order to perform the instruction fetch. Upon receiving the instruction address, the internal instruction RAM 2 outputs an instruction code to the bus 23. Since the instruction fetch is performed in units of 64 bits, once the instruction fetch is performed, 8 is added to the instruction address by the incrementer 31, and the added instruction address is used for the next instruction fetch.

【0167】また、データアクセスを行うためのアドレ
スバス21には、アドレス計算用の加算器33で加算さ
れたデータアドレスがラッチ34,35と3ステートバ
ッファ66を介して出力される。
The data address added by the address calculation adder 33 is output to the address bus 21 for performing data access via the latches 34 and 35 and the three-state buffer 66.

【0168】データアクセスがリード処理であった場
合、内部データRAM3は3ステートバッファ62を介
して所望のデータをバス22に出力する。プロセッサコ
ア4はそのデータを符号拡張部37,38を介してその
データを取り込む。
When the data access is a read process, the internal data RAM 3 outputs desired data to the bus 22 via the three-state buffer 62. The processor core 4 captures the data via the sign extension units 37 and 38.

【0169】データアクセスがライト処理であった場
合、プロセッサコア4は、データ整値部36と3ステー
トバッファ39を介してデータをバス22に出力する。
内部データRAM3では、そのデータを3ステートバッ
ファ63を介して所定のアドレス位置に格納する。
When the data access is a write process, the processor core 4 outputs the data to the bus 22 via the data adjustment unit 36 and the three-state buffer 39.
The internal data RAM 3 stores the data at a predetermined address position via the three-state buffer 63.

【0170】データアドレスバス21は、内部データR
AM3に出力されるばかりでなく、周辺ブロック部9へ
のアクセスを行うために双方向バッファ部8−1へも出
力される。そのデータアドレスは、3ステートバッファ
82を介して周辺ブロック部9のアドレスバス26に出
力される。周辺ブロック部9へのデータアクセスが制御
レジスタ等のリード処理であった場合、バス27を介し
て読み出された制御レジスタの内容は、3ステートバッ
ファ68を介してバス22に出力される。
The data address bus 21 is connected to the internal data R
Not only is output to the AM 3, but also to the bidirectional buffer unit 8-1 to access the peripheral block unit 9. The data address is output to the address bus 26 of the peripheral block unit 9 via the three-state buffer 82. If the data access to the peripheral block unit 9 is a read operation of a control register or the like, the contents of the control register read via the bus 27 are output to the bus 22 via the three-state buffer 68.

【0171】プロセッサコア4は、符号拡張部37,3
8からそのデータを取り込む。また周辺ブロック部9へ
のデータアクセスが制御レジスタ等のライト処理であっ
た場合、プロセッサコア4がデータ整値部36と3ステ
ートバッファ39を介してバス22に出力したデータ
は、3ステートバッファ69を介して周辺データバス2
7に出力され、所定の制御レジスタ内へ格納される。
The processor core 4 includes the sign extension units 37 and 3
8 to fetch the data. When the data access to the peripheral block unit 9 is a write process of a control register or the like, the data output from the processor core 4 to the bus 22 via the data integer unit 36 and the three-state buffer 39 is transmitted to the three-state buffer 69. Peripheral data bus 2 via
7 and stored in a predetermined control register.

【0172】またプロセッサコア4が、内部命令RAM
2から命令コードをデータとして読み出したり、命令コ
ードを格納したりする場合には、まず、データアドレス
を経路87とセレクタ88を介して内部命令RAM2へ
出力する。そのアクセスがリード処理である場合には、
3ステートバッファ60,65を介してバス22に出力
された命令コードを符号拡張部37,38から取り込
む。
Further, the processor core 4 has an internal instruction RAM.
When the instruction code is read as data from or the instruction code is stored in the instruction code, the data address is first output to the internal instruction RAM 2 via the path 87 and the selector 88. If the access is a read operation,
The instruction codes output to the bus 22 via the three-state buffers 60 and 65 are fetched from the sign extension units 37 and 38.

【0173】またアクセスがライト処理であった場合に
は、データ整値部36と3ステートバッファ39を介し
てバス22に出力された命令コードを3ステートバッフ
ァ64,61を介して命令RAM2の所定の位置に格納
する。
When the access is a write process, the instruction code output to the bus 22 via the data integer value unit 36 and the three-state buffer 39 is transferred to the instruction RAM 2 via the three-state buffers 64 and 61. Stored in the position of.

【0174】さらに周辺ブロック部9が、直接に内部デ
ータRAM3内の領域に対してDMA転送を行う場合に
は、周辺ブロック部9がプロセッサコア4からアドレス
バス21とデータバス22とのバス権を獲得した後に処
理が開始される。
Further, when the peripheral block unit 9 directly performs the DMA transfer to the area in the internal data RAM 3, the peripheral block unit 9 transfers the bus right of the address bus 21 and the data bus 22 from the processor core 4. Processing is started after the acquisition.

【0175】周辺ブロック部9がバス26に出力したデ
ータアドレスは、経路87とレジスタ87と3ステート
バッファ81を介してデータアドレスバス21に出力さ
れ、内部データRAM3内へ転送される。DMA転送が
リード処理であった場合には、内部データRAM3から
3ステートバッファ62を介してバス22に出力された
データは、3ステートバッファ69を介してデータバス
27に出力され周辺ブロック部9に転送される。
The data address output from the peripheral block unit 9 to the bus 26 is output to the data address bus 21 via the path 87, the register 87 and the three-state buffer 81, and is transferred into the internal data RAM 3. When the DMA transfer is a read process, the data output from the internal data RAM 3 to the bus 22 via the three-state buffer 62 is output to the data bus 27 via the three-state buffer 69 and transmitted to the peripheral block unit 9. Will be transferred.

【0176】DMA転送がライト処理であった場合に
は、周辺ブロック部9がデータバス27に出力したデー
タは、3ステートバッファ68を介してバス22に出力
される。内部データRAM3では、3ステートバッファ
63を介して所定の位置にそのデータを格納する。この
DMA転送ライト処理を行う場合に、周辺状態レジスタ
(PST2)89に周辺ブロック部9の処理状況の情報
を取り込む。
When the DMA transfer is a write process, data output from the peripheral block unit 9 to the data bus 27 is output to the bus 22 via the three-state buffer 68. The internal data RAM 3 stores the data at a predetermined position via the three-state buffer 63. When performing this DMA transfer write processing, information on the processing status of the peripheral block unit 9 is taken into the peripheral state register (PST2) 89.

【0177】この周辺状態レジスタ(PST2)89を
含む双方向バッファ部8−1は、プロセッサコア4と周
辺ブロック部9間に位置し、周辺ブロック部9内の制御
レジスタのリード処理を実行する場合より高速でアクセ
スすることが可能である。
The bidirectional buffer section 8-1 including the peripheral state register (PST2) 89 is located between the processor core 4 and the peripheral block section 9 and executes a process of reading a control register in the peripheral block section 9. It is possible to access at higher speed.

【0178】そして、これらDMAリード/ライト転送
は、大量のデータを高速で転送するために使用される場
合が多く、通常はデータRAM3内の連続領域に対して
アクセスが発生する場合が多い。その場合には、その連
続領域のアドレス加算を加算器80が行い、双方向バッ
ファ部8−1内のアドレス加算機構が周辺ブロック部9
の代わりに連続アドレスを出力する。
The DMA read / write transfer is often used to transfer a large amount of data at high speed, and usually, a continuous area in the data RAM 3 is often accessed. In this case, the adder 80 performs the address addition of the continuous area, and the address adding mechanism in the bidirectional buffer 8-1 operates the peripheral block 9
Output consecutive addresses instead of.

【0179】図20は、双方向バッファ8−1内の周辺
状態レジスタ(PST2)89を用いた場合の、プロセ
ッサコア4と周辺ブロック部9との間の通信手順を示す
タイミングチャートであり、図において、(a)は、プ
ロセッサコア4から周辺ブロック部9へ出力される信号
を示しており、(b)は、周辺ブロック部9からプロセ
ッサコア4へ出力される信号を示している。
FIG. 20 is a timing chart showing a communication procedure between the processor core 4 and the peripheral block unit 9 when the peripheral state register (PST2) 89 in the bidirectional buffer 8-1 is used. 5A shows a signal output from the processor core 4 to the peripheral block unit 9, and FIG. 6B shows a signal output from the peripheral block unit 9 to the processor core 4.

【0180】プロセッサコア4は、クロック(1)で制
御レジスタライト処理を発行し、周辺ブロック部(A)
の制御レジスタに専用処理起動用のコマンドを書き込
む。この制御レジスタライト処理はクロック(1)〜
(4)の期間に行われ、図26に示した従来例で説明し
た手順と同様に行われる。
The processor core 4 issues a control register write process at the clock (1), and issues a control block write process to the peripheral block (A).
The command for starting the dedicated processing is written in the control register of. This control register write processing is performed from clock (1) to
This is performed during the period (4), and is performed in the same manner as the procedure described in the conventional example shown in FIG.

【0181】周辺ブロック部(A)では、プロセッサコ
ア4から専用処理が起動されるとクロック(5)から専
用処理を行うための稼動期間となる。そして周辺ブロッ
ク部(A)では、目的である専用処理を実行し、得られ
た処理結果を内部データRAM3内へ書き込むために、
クロック(14)からDMAライト転送処理リクエスト
を出力する。
In the peripheral block (A), when the dedicated processing is started from the processor core 4, the operation period for performing the dedicated processing from the clock (5) is started. Then, in the peripheral block (A), the purposed exclusive processing is executed, and the obtained processing result is written into the internal data RAM 3.
A DMA write transfer processing request is output from the clock (14).

【0182】このDMA転送リクエストに対して、プロ
セッサコア4は、クロック(15)からDMAアクノリ
ッジ信号を周辺ブロック部9へ送信する。周辺ブロック
部(A)では、クロック(16)〜(19)期間中にD
MAアドレス有効信号とDMAライト信号を出力すると
ともに、周辺アドレスバス26にアドレスA21とDM
Aライト用データD21,D22,D23,D24を出
力する。これらDMAライト転送用のアドレスは、双方
向バッファ部8−1のアドレス加算機構によりアドレス
インクリメントされて、クロック(17)〜(20)期
間中にコアアドレスバスに出力される。そして、DMA
ライト転送用のデータもコアデータバスに出力され、内
部データRAM3内の所定のアドレス領域に書き込まれ
る。
In response to the DMA transfer request, the processor core 4 transmits a DMA acknowledge signal to the peripheral block unit 9 from the clock (15). In the peripheral block section (A), D
An MA address valid signal and a DMA write signal are output, and an address A21 and a DM
The A-write data D21, D22, D23, and D24 are output. These DMA write transfer addresses are incremented by the address addition mechanism of the bidirectional buffer section 8-1, and output to the core address bus during the clock (17) to (20). And DMA
Data for write transfer is also output to the core data bus and written to a predetermined address area in the internal data RAM 3.

【0183】図26で示した従来例の場合と比較する
と、図20に示す実施の形態2のシステムLSIの場合
のDMAライト転送の手順が、従来のDMAライト転送
と異なる点は、DMAアドレス有効信号がクロック(2
0)でネゲートされても、周辺ブロック部AからのDM
Aライトリクエストがクロック(20)もアサートされ
続けるためであり、このクロック(20)で、周辺ブロ
ック部(A)は処理状況を示すデータPSTを周辺デー
タバス27上へも出力する。すなわち、DMAライト転
送処理データに処理状況データPSTを付加する。
Compared with the case of the conventional example shown in FIG. 26, the procedure of the DMA write transfer in the case of the system LSI of the second embodiment shown in FIG. The signal is a clock (2
0), the DM from the peripheral block A
This is because the A write request also keeps asserting the clock (20). At this clock (20), the peripheral block unit (A) also outputs data PST indicating the processing status to the peripheral data bus 27. That is, the processing status data PST is added to the DMA write transfer processing data.

【0184】そしてクロック(21)で、プロセッサコ
ア4は、PST2レジスタライト信号をアサートし、こ
の処理状況データを双方向バッファ部8−1の周辺状態
レジスタ(PST2)89内に格納する。プロセッサコ
ア4は、周辺ブロック部(A)のDMAライト転送が完
了したクロック(22)内で、双方向バッファ部8−1
内の周辺状態レジスタに対する制御レジスタリードアク
セスを行う。このアクセスは、ウェイト処理なしで実行
可能であるためクロック(22)期間中にプロセッサコ
ア4は読み出し動作を実行できる。
At the clock (21), the processor core 4 asserts the PST2 register write signal, and stores the processing status data in the peripheral status register (PST2) 89 of the bidirectional buffer 8-1. In the clock (22) in which the DMA write transfer of the peripheral block unit (A) is completed, the processor core 4 transmits the bidirectional buffer unit 8-1.
Performs a control register read access to the peripheral status register inside the device. This access can be performed without wait processing, so that the processor core 4 can execute a read operation during the clock (22).

【0185】通常、周辺ブロック部9では、プロセッサ
コア4が起動をかけた後に、所定の専用処理を行った後
にDMAライト転送で処理結果を内部データRAM3内
へ格納する場合が多い。このような場合に、DMAライ
ト転送手順の転送データの後続に周辺処理状況データを
付加し、そのデータをプロセッサコア4がウェイトなし
で読み出せる双方向バッファ部8−1内の周辺状態レジ
スタ89内等に格納することで、プロセッサコア4が、
即座に周辺ブロック部9内の各部の専用処理状況を把握
することができ、それに対応した処理を開始可能であ
る。この周辺処理状況データとしては、現在行ったDM
Aライト転送がどの周辺ブロック部で実行されたもので
あるか、何回目のDMAライト転送であるか、周辺処理
は完了したか等の情報がある。
Normally, in the peripheral block unit 9, after the processor core 4 is activated, a predetermined dedicated process is performed, and then the processing result is often stored in the internal data RAM 3 by DMA write transfer. In such a case, the peripheral processing status data is added after the transfer data of the DMA write transfer procedure, and the data is stored in the peripheral status register 89 in the bidirectional buffer unit 8-1 from which the processor core 4 can read the data without waiting. And the like, the processor core 4
The dedicated processing status of each unit in the peripheral block unit 9 can be immediately grasped, and the processing corresponding thereto can be started. The peripheral processing status data includes the currently performed DM
There is information such as in which peripheral block portion the A write transfer was executed, what number of DMA write transfer was performed, and whether peripheral processing was completed.

【0186】以上のように、この実施の形態2によれ
ば、プロセッサコア4と周辺ブロック部9との間の通信
手順において、プロセッサコア4と内部データRAM
3、そして周辺ブロック部9との間のデータ転送を制御
する双方向バッファ部8−1内に、周辺ブロック部9内
の各ブロック部10〜17の動作状態を示すデータを保
持する周辺状態レジスタ89を設け、周辺ブロック部9
と内部データRAM3との間で実行されるDMAライト
転送におけるライトデータの最後に、各ブロック部10
〜17の動作状態を示すデータを付加し、プロセッサコ
ア4は、各周辺ブロック部でのDMAライト転送等の処
理の状況を、即座かつ高速に把握できる効果がある。
As described above, according to the second embodiment, in the communication procedure between processor core 4 and peripheral block unit 9, processor core 4 and internal data RAM
3. A peripheral state register that holds data indicating the operation state of each of the blocks 10 to 17 in the peripheral block 9 in a bidirectional buffer 8-1 that controls data transfer to and from the peripheral block 9. 89 and the peripheral block 9
At the end of the write data in the DMA write transfer executed between the
In addition, the processor core 4 has the effect of being able to immediately and quickly grasp the status of processing such as DMA write transfer in each peripheral block unit.

【0187】実施の形態3.以下では、この発明の実施
の形態3に係わるシステムLSIの説明を行う。この実
施の形態3のシステムLSIでは、図19および以下で
説明する図21〜23に示すように、プロセッサコア4
と周辺ブロック部9との間で高速通信を実行するもので
ある。即ち、実施の形態3のシステムLSIでは、プロ
セッサコア4と内部データRAM3、そして周辺ブロッ
ク部9との間のデータ転送を制御する双方向バッファ部
8−1内にプロセッサコアから書き込み可能なアドレス
レジスタとこのアドレス加算機構80を付加するととも
に、プロセッサコア制御部6内に周辺ブロック部9に対
して起動をかける周辺起動制御レジスタ90を持たせ、
内部データRAM3から周辺ブロック部9へのDMAリ
ード転送を高速に開始するものである。その他の構成要
素は、実施の形態2のシステムLSIのものと同じなの
で、同一参照番号を用いてそれらの説明を省略する。
Embodiment 3 Hereinafter, a system LSI according to the third embodiment of the present invention will be described. In the system LSI of the third embodiment, as shown in FIG. 19 and FIGS.
And high-speed communication between the peripheral block unit 9 and the peripheral block unit 9. That is, in the system LSI according to the third embodiment, an address register writable from the processor core in the bidirectional buffer unit 8-1 for controlling data transfer between the processor core 4, the internal data RAM 3, and the peripheral block unit 9. And a peripheral activation control register 90 for activating the peripheral block unit 9 in the processor core control unit 6.
The DMA read transfer from the internal data RAM 3 to the peripheral block unit 9 is started at a high speed. The other components are the same as those of the system LSI according to the second embodiment, and the description thereof will be omitted using the same reference numerals.

【0188】さらに、このDMAリード転送の先頭デー
タに、周辺ブロック部9で専用処理を行うための処理モ
ード情報を付加し、周辺ブロック部9内の各部では、こ
の先頭データである処理モード情報に基づいて後続デー
タに対する処理モードを決定する機構を備えることで、
周辺ブロック部9での処理開始のための手順も高速化し
ようとするものである。
Further, processing mode information for performing dedicated processing in the peripheral block unit 9 is added to the head data of the DMA read transfer, and each unit in the peripheral block unit 9 adds the processing mode information as the head data. By providing a mechanism to determine the processing mode for subsequent data based on
The procedure for starting processing in the peripheral block unit 9 is also to speed up.

【0189】図19は、実施の形態2,3に係わるシス
テムLSIにおけるアドレスレジスタとアドレス加算機
構を備える双方向バッファ部8−1およびデータ転送経
路を示したブロック図である。図19に示す双方向バッ
ファ部8−1では、実施の形態2のシステムLSI内の
双方向バッファ部8−1のように、周辺ブロック部9か
ら内部データRAM3へDMA転送を行う際に、周辺ア
ドレスバス26に出力された先頭アドレスをレジスタ8
3に取り込み、連続するアドレスはアドレス加算器80
でインクリメントするアドレス加算機構を内蔵する。こ
の実施の形態3における双方向バッファ部8−1では、
さらに、この先頭アドレスを格納するレジスタとしての
アドレスレジスタ83に対して、プロセッサコア4が直
接アドレスをセットするためのアドレス転送経路88か
らの入力経路を備えている。これにより、プロセッサコ
ア4は、ウェイト処理なしでアクセス可能な、双方向バ
ッファ部8−1内のアドレスレジスタ83に、コアアド
レスバス21のアドレスを経路88を介して書き込み可
能となる。
FIG. 19 is a block diagram showing a bidirectional buffer unit 8-1 having an address register and an address addition mechanism and a data transfer path in the system LSI according to the second and third embodiments. In the bidirectional buffer unit 8-1 shown in FIG. 19, when performing DMA transfer from the peripheral block unit 9 to the internal data RAM 3, like the bidirectional buffer unit 8-1 in the system LSI of the second embodiment, The head address output to the address bus 26 is stored in the register 8
3 and successive addresses are added to the address adder 80.
A built-in address addition mechanism that increments with. In the bidirectional buffer unit 8-1 according to the third embodiment,
Further, an input path from an address transfer path 88 for the processor core 4 to directly set an address is provided for an address register 83 as a register for storing the head address. As a result, the processor core 4 can write the address of the core address bus 21 via the path 88 to the address register 83 in the bidirectional buffer unit 8-1, which can be accessed without waiting processing.

【0190】図21は、周辺ブロック部9内の各部に対
して処理の起動をかける機構を備えた周辺起動制御レジ
スタを示すブロック図であり、図において、90は周辺
起動制御レジスタ、44は割り込み有効レジスタであ
る。この割り込み有効レジスタ44は、図17で説明し
たように、プロセッサコア4内に組み込まれた周辺制御
部7内の割り込み有効レジスタ44と同じ構成を持つも
のである。同様に、周辺起動制御レジスタ90は周辺制
御部7内に組み込まれている。
FIG. 21 is a block diagram showing a peripheral start control register provided with a mechanism for activating a process in each unit in the peripheral block unit 9. In FIG. 21, reference numeral 90 denotes a peripheral start control register, and 44 denotes an interrupt. This is a valid register. The interrupt enable register 44 has the same configuration as the interrupt enable register 44 in the peripheral control unit 7 incorporated in the processor core 4, as described with reference to FIG. Similarly, the peripheral start control register 90 is incorporated in the peripheral control unit 7.

【0191】これらの割り込み有効レジスタ44と起動
レジスタ90は、制御レジスタ転送専用命令によりE1
CRBUSの内容をバス47を介して、それぞれ割り込
みレジスタ76と起動ビットレジスタ91内へ書き込み
可能である。また、これら割り込みレジスタ76と起動
ビットレジスタ91の内容は、制御レジスタ転送専用命
令によりセレクタ70からバス43を介して、図10〜
14で説明したシステムLSI内のE2D1BUSバス
上へ読み出し可能である。
The interrupt enable register 44 and the activation register 90 are controlled by the control register transfer dedicated instruction.
The contents of the CRBUS can be written into the interrupt register 76 and the activation bit register 91 via the bus 47, respectively. Further, the contents of the interrupt register 76 and the activation bit register 91 are transferred from the selector 70 via the bus 43 by the control register transfer dedicated instruction.
The data can be read out onto the E2D1BUS bus in the system LSI described in 14.

【0192】セレクタ70は、コア制御部6内の他の制
御レジスタの値をも経路78を介して読みだし可能であ
る。起動ビットレジスタ91にプロセッサコア4から値
がセットされると、周辺ブロック部9に接続された起動
信号線48がアサートされ周辺ブロック部9内の各部で
の専用処理に対して起動がかけられる。
The selector 70 can also read out the values of other control registers in the core control unit 6 via the path 78. When a value is set from the processor core 4 to the start bit register 91, the start signal line 48 connected to the peripheral block unit 9 is asserted, and the dedicated processing in each unit in the peripheral block unit 9 is started.

【0193】周辺ブロック部9内の状態ビット信号線4
1は、この起動ビットレジスタ91のクリア端子に接続
されており、状態ビット信号線41がアサートされると
起動ビットレジスタの値はネゲートされる。起動ビット
レジスタ91の出力の反転信号は、割り込み有効レジス
タ76の値とANDゲート71でAND処理されてお
り、その出力72aは、ORゲートに入力されて割り込
み信号74として出力される。
State bit signal line 4 in peripheral block section 9
1 is connected to the clear terminal of the activation bit register 91. When the status bit signal line 41 is asserted, the value of the activation bit register is negated. The inverted signal of the output of the activation bit register 91 is AND-processed with the value of the interrupt enable register 76 by the AND gate 71, and the output 72a is input to the OR gate and output as the interrupt signal 74.

【0194】ORゲート73には、他の割り込み有効レ
ジスタの出力と起動ビットレジスタ91の反転出力のA
ND処理結果72b,72cが入力されており、割り込
み信号74がアサートされるとプロセッサコア4では割
り込み処理が発生する。
The OR gate 73 outputs the output of the other interrupt enable register and the inverted output of the activation bit register 91.
When the ND processing results 72b and 72c are input and the interrupt signal 74 is asserted, an interrupt processing occurs in the processor core 4.

【0195】図22は、双方向バッファ部8−1内のア
ドレスレジスタとアドレス加算機構80、そして起動ビ
ットレジスタ91を用いた場合の、プロセッサコア4と
周辺ブロック部9との間の通信手順を示すタイミングチ
ャートであり、図において、(a)は、プロセッサコア
4から周辺ブロック部9へ出力される信号を示してい
る。
FIG. 22 shows a communication procedure between the processor core 4 and the peripheral block unit 9 when the address register and the address addition mechanism 80 in the bidirectional buffer unit 8-1 and the activation bit register 91 are used. FIG. 4A is a timing chart illustrating a signal output from the processor core 4 to the peripheral block unit 9 in FIG.

【0196】実施の形態3のシステムLSIにおける通
信手順では、プロセッサコア4が周辺ブロック部9へD
MAリード転送で処理が開始される専用処理の起動をか
ける場合、まず、クロック(3)でプロセッサコア4
は、制御レジスタライトリクエストを発行し、1クロッ
クサイクルで双方向バッファ部8−1内のアドレスレジ
スタ83にアドレスA11を格納する。
In the communication procedure in the system LSI of the third embodiment, the processor core 4
When starting a dedicated process in which processing is started by MA read transfer, first, the processor core 4
Issues a control register write request and stores the address A11 in the address register 83 in the bidirectional buffer unit 8-1 in one clock cycle.

【0197】次に、クロック(4)で、プロセッサコア
4は、内部データRAM3のアドレスA11内に、周辺
ブロック部9の処理モード情報であるPGをストア処理
を用いて格納する。さらにクロック(5)では、プロセ
ッサコア4は、周辺制御部7内の起動レジスタに、制御
レジスタアクセスの専用命令で起動ビットレジスタをセ
ットする。周辺制御部7内の起動レジスタ内に起動ビッ
トがセットされると、周辺ブロック部9に対する起動信
号が、周辺ブロック部9に対してアサートされる。
Next, at clock (4), the processor core 4 stores PG, which is the processing mode information of the peripheral block unit 9, in the address A11 of the internal data RAM 3 by using a store process. Further, at clock (5), the processor core 4 sets the start-up bit register in the start-up register in the peripheral control unit 7 with a dedicated instruction for control register access. When the activation bit is set in the activation register in the peripheral control unit 7, the activation signal for the peripheral block unit 9 is asserted for the peripheral block unit 9.

【0198】この起動信号を受信すると、周辺ブロック
部9は、クロック(6)からDMAリード転送リクエス
トを発行する。クロック(7)で、DMAリード転送ア
クノリッジ信号を周辺ブロック部9が受け付けると、周
辺ブロック部9は、高速DMAアドレス有効信号を出力
する。この信号でDMAリード転送を行う場合は、周辺
ブロック部9は、このDMAリード転送の先頭アドレス
を出力せずに、双方向バッファ部8−1が周辺ブロック
部9に代わってアドレスA11を出力し、その後のアド
レスインクリメント処理も行う。
Upon receiving this start signal, the peripheral block unit 9 issues a DMA read transfer request from the clock (6). When the peripheral block unit 9 receives the DMA read transfer acknowledge signal at the clock (7), the peripheral block unit 9 outputs a high-speed DMA address valid signal. When performing the DMA read transfer with this signal, the peripheral block unit 9 does not output the head address of the DMA read transfer, and the bidirectional buffer unit 8-1 outputs the address A11 instead of the peripheral block unit 9. , And the subsequent address increment processing is also performed.

【0199】DMAリード転送処理で内部データRAM
から読み出された先頭データは、クロック(4)で、プ
ロセッサコア4がセットした処理モード情報PGであ
り、処理されるデータD11〜D15はこれに続く。そ
して、DMAリード処理転送では、読み出された一連の
データ群の先頭に処理モード情報が埋め込まれ、これに
続くデータ群が周辺ブロック部9で処理されるべきデー
タとなる。
Internal data RAM in DMA read transfer processing
Is the processing mode information PG set by the processor core 4 at the clock (4), and the data D11 to D15 to be processed follow this. In the DMA read processing transfer, processing mode information is embedded at the head of a series of read data groups, and the subsequent data groups become data to be processed by the peripheral block unit 9.

【0200】図23は、DMA転送データの先頭データ
により処理モードを決定する機構を備えた周辺ブロック
部200を示すブロック図である。この実施の形態3に
おける周辺ブロック部200は、図1に示した周辺ブロ
ック部9内の各ブロック部10〜17内に、周辺制御レ
ジスタ等を含む周辺ブロック制御部201と周辺データ
処理部202とを内蔵したものである。
FIG. 23 is a block diagram showing a peripheral block unit 200 provided with a mechanism for determining a processing mode based on the leading data of DMA transfer data. The peripheral block unit 200 according to the third embodiment includes a peripheral block control unit 201 including a peripheral control register and the like and a peripheral data processing unit 202 in each of the block units 10 to 17 in the peripheral block unit 9 shown in FIG. Is built-in.

【0201】周辺ブロック制御部201には、周辺起動
信号48と周辺状態信号41とDMA転送信号線群と周
辺アドレスバス26により構成されるプロセッサコアイ
ンタフェースを備えている。さらに周辺ブロック制御部
201には、周辺データバスからのデータ入力経路20
3と、周辺データ処理部を制御するための制御信号線2
04と、外部アドレスバス210が接続されている。
The peripheral block control unit 201 has a processor core interface including a peripheral start signal 48, a peripheral state signal 41, a group of DMA transfer signal lines, and a peripheral address bus 26. Further, the peripheral block control unit 201 has a data input path 20 from the peripheral data bus.
3 and a control signal line 2 for controlling the peripheral data processing unit
04 and the external address bus 210 are connected.

【0202】また、周辺処理データ部202には、周辺
データバス27と外部データバス211が接続されてい
る。図22で示したプロセッサコア4から送信された処
理起動手順のように、DMAリード処理で転送されてい
くるデータの先頭に、処理モード情報が付加されている
場合には、周辺ブロック部(A)200は、この処理モ
ード情報を経路203を介して周辺ブロック制御部20
1内へ取り込む。そして、周辺ブロック部(A)200
は、この取り込まれた処理モード情報を解釈して得られ
た情報を基にして、転送されてくる後続データの処理を
実行する。
The peripheral processing data section 202 is connected to the peripheral data bus 27 and the external data bus 211. When the processing mode information is added to the head of the data transferred in the DMA read processing as in the processing start procedure transmitted from the processor core 4 shown in FIG. 22, the peripheral block (A) 200 transmits the processing mode information to the peripheral block control unit 20 via the path 203.
Take it into 1. Then, the peripheral block part (A) 200
Performs processing of the transferred subsequent data based on information obtained by interpreting the fetched processing mode information.

【0203】以上のように、この実施の形態3によれ
ば、プロセッサコア4と周辺ブロック部9と間のデータ
通信手順において、プロセッサコア4、内部データRA
M3、周辺ブロック部9との間のデータ転送を制御する
双方向バッファ8−1部内に、プロセッサコア4による
書込み可能なアドレスレジスタ83と、このアドレスを
インクリメントするアドレス加算機構80を備え、か
つ、プロセッサコア制御部6内に、周辺ブロック部に起
動を行うためのデータを格納する周辺起動制御レジスタ
90を設け、内部データRAM3と周辺ブロック部9と
の間のDMAリード転送を、ウェイト無しで高速に開始
できるという効果がある。また、周辺ブロック部9内の
各ブロック部は、プロセッサコア4による処理起動に対
して、DMAリード転送等の処理を開始し、このDMA
リード転送の先頭データに付加された周辺ブロック部で
専用処理を行うための処理モードを、周辺ブロック部9
内の周辺ブロック制御部201内に取り込み、この先頭
データに基づいて、後続データの処理モードを決定する
ので、周辺ブロック部9における処理開始手順を高速に
開始できるという効果がある。
As described above, according to the third embodiment, in the data communication procedure between processor core 4 and peripheral block unit 9, processor core 4, internal data RA
M3, a bidirectional buffer 8-1 for controlling data transfer between the peripheral block 9 and a writable address register 83 by the processor core 4 and an address adder 80 for incrementing this address, and In the processor core control unit 6, a peripheral start control register 90 for storing data for starting in the peripheral block unit is provided, and DMA read transfer between the internal data RAM 3 and the peripheral block unit 9 can be performed at high speed without waiting. There is an effect that can be started. In addition, each block unit in the peripheral block unit 9 starts processing such as DMA read transfer in response to activation of processing by the processor core 4, and
The processing mode for performing the dedicated processing in the peripheral block added to the leading data of the read transfer is changed to the peripheral block 9
Since the processing mode of the subsequent data is determined based on the leading data, the processing start procedure in the peripheral block unit 9 can be started at high speed.

【0204】[0204]

【発明の効果】以上のように、この発明によれば、プロ
セッサコアと周辺ブロック部とは、周辺ブロック部内の
各ブロック部で実行される専用処理の完了を示すデー
タ、即ち、周辺ブロック部内の専用処理状況を反映した
状態ビットを、専用信号線を介してプロセッサコア内の
制御レジスタである周辺状態レジスタ内に取り込み、プ
ロセッサコアが、制御レジスタを読み出す制御レジスタ
転送命令等の専用命令を実行して、この周辺状態レジス
タ内に格納された値を読出し獲得するように構成したの
で、各周辺ブロック部の専用処理状況を、プロセッサコ
アはウェイトなしで高速に把握できるという効果があ
る。
As described above, according to the present invention, the processor core and the peripheral block are provided with data indicating the completion of the dedicated processing executed in each block in the peripheral block, that is, in the peripheral block. The status bits reflecting the special processing status are taken into a peripheral status register which is a control register in the processor core via a dedicated signal line, and the processor core executes a special instruction such as a control register transfer instruction for reading the control register. Since the configuration is such that the value stored in the peripheral state register is read out and obtained, there is an effect that the processor core can quickly grasp the dedicated processing status of each peripheral block unit without waiting.

【0205】この発明によれば、プロセッサコアと周辺
ブロック部とは、周辺ブロック部での専用処理の完了を
示すデータ、即ち、周辺ブロック部内の専用処理状況を
反映した状態ビットを、専用信号線を介して、プロセッ
サコア内の制御レジスタである周辺状態レジスタ内に取
り込み、さらに、制御レジスタに対してデータを書込む
専用命令等を用いて、プロセッサコアは、周辺状態レジ
スタ内の値に対応して、割り込み有効レジスタ内の割り
込みレジスタに値をセットするように構成したので、周
辺ブロック部の専用処理状況に応じて、割り込み処理を
発生させることができるという効果がある。
According to the present invention, the processor core and the peripheral block unit transmit the data indicating the completion of the dedicated processing in the peripheral block unit, that is, the status bit reflecting the state of the dedicated processing in the peripheral block unit, to the dedicated signal line. Through the peripheral state register, which is a control register in the processor core, and further, using a dedicated instruction or the like for writing data to the control register, the processor core responds to the value in the peripheral state register. Since the value is set in the interrupt register in the interrupt enable register, an interrupt processing can be generated according to the dedicated processing status of the peripheral block unit.

【0206】この発明によれば、プロセッサコアと周辺
ブロック部との間のデータ通信において、プロセッサコ
アと、内部データRAMと、周辺ブロック部との間のデ
ータ転送を制御する双方向バッファ部内に、周辺ブロッ
ク部内の動作状態を示すデータを保持する周辺状態レジ
スタを設け、周辺ブロック部から内部データRAMへの
DMAライト転送のライトデータの最後に周辺ブロック
部の動作状態を示すデータを付加するように構成したの
で、プロセッサコアは、周辺ブロック部でのDMAライ
ト転送等の動作状態を、ウェイト無しで高速に把握でき
るという効果がある。
According to the present invention, in the data communication between the processor core and the peripheral block, the bidirectional buffer for controlling the data transfer between the processor core, the internal data RAM, and the peripheral block is provided. A peripheral state register for holding data indicating the operation state in the peripheral block is provided, and data indicating the operation state of the peripheral block is added to the end of write data of DMA write transfer from the peripheral block to the internal data RAM. With this configuration, the processor core has an effect that the operating state such as the DMA write transfer in the peripheral block unit can be quickly grasped without any wait.

【0207】この発明によれば、プロセッサコアと周辺
ブロック部と間のデータ通信において、プロセッサコ
ア、内部データRAM、周辺ブロック部との間のデータ
転送を制御する双方向バッファ内に、プロセッサコアに
より書き込み可能なアドレスレジスタと、このアドレス
をインクリメントするアドレス加算機構を備え、かつ、
プロセッサコア制御部内に、周辺ブロック部に起動を行
うためのデータを格納する周辺起動制御レジスタを持た
せるように構成したので、内部データRAMから周辺ブ
ロック部へのDMAリード転送を、ウェイト無しで高速
に開始できるという効果がある。
According to the present invention, in the data communication between the processor core and the peripheral block, the bidirectional buffer for controlling the data transfer between the processor core, the internal data RAM, and the peripheral block is provided by the processor core. It has a writable address register and an address adding mechanism for incrementing this address, and
In the processor core control unit, a peripheral start control register for storing data for starting in the peripheral block unit is provided, so that DMA read transfer from the internal data RAM to the peripheral block unit can be performed at high speed without waiting. There is an effect that can be started.

【0208】この発明によれば、周辺ブロック部内の各
ブロック部は、プロセッサコアからの起動に対して、D
MAリード転送等の処理を開始し、このDMAリード転
送の先頭データに付加された周辺ブロック部で専用処理
を行うための処理モードを、周辺ブロック部内の周辺ブ
ロック制御部内に取り込み、この先頭データに基づい
て、後続データの処理モードを決定するように構成した
ので、周辺ブロック部における処理開始手順を高速に開
始できるという効果がある。
According to the present invention, each of the block units in the peripheral block unit receives D from the processor core.
Processing such as MA read transfer is started, and a processing mode for performing dedicated processing in the peripheral block added to the head data of the DMA read transfer is fetched into the peripheral block controller in the peripheral block, and Since the configuration is such that the processing mode of the subsequent data is determined based on this, there is an effect that the processing start procedure in the peripheral block can be started at high speed.

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

【図1】 この発明の実施の形態1係わるシステムLS
Iを示すブロック図である。
FIG. 1 shows a system LS according to a first embodiment of the present invention.
It is a block diagram which shows I.

【図2】 図1に示す実施の形態1システムLSIにお
けるMPEG2規格の画像復号処理を示すフローチャー
トである。
FIG. 2 is a flowchart showing MPEG2 standard image decoding processing in the system LSI according to the first embodiment shown in FIG. 1;

【図3】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
FIG. 3 is an explanatory diagram showing an instruction format executed by a processor core.

【図4】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
FIG. 4 is an explanatory diagram showing an instruction format executed by a processor core.

【図5】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
FIG. 5 is an explanatory diagram showing an instruction format executed by a processor core.

【図6】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
FIG. 6 is an explanatory diagram showing an instruction format executed by a processor core.

【図7】 プロセッサコアのレジスタ構成を示す説明図
である。
FIG. 7 is an explanatory diagram showing a register configuration of a processor core.

【図8】 プロセッサコアのレジスタ構成を示す説明図
である。
FIG. 8 is an explanatory diagram showing a register configuration of a processor core.

【図9】 プロセッサコアで実行されるパイプライン処
理を示す説明図である。
FIG. 9 is an explanatory diagram showing pipeline processing executed by a processor core.

【図10】 プロセッサコアの詳細な構成を示す回路図
である。
FIG. 10 is a circuit diagram showing a detailed configuration of a processor core.

【図11】 プロセッサコアの詳細な構成を示す回路図
である。
FIG. 11 is a circuit diagram showing a detailed configuration of a processor core.

【図12】 プロセッサコアの詳細な構成を示す回路図
である。
FIG. 12 is a circuit diagram showing a detailed configuration of a processor core.

【図13】 プロセッサコアの詳細な構成を示す回路図
である。
FIG. 13 is a circuit diagram showing a detailed configuration of a processor core.

【図14】 プロセッサコアの詳細な構成を示す回路図
である。
FIG. 14 is a circuit diagram showing a detailed configuration of a processor core.

【図15】 周辺状態レジスタの詳細な構成を示す説明
図である。
FIG. 15 is an explanatory diagram showing a detailed configuration of a peripheral state register.

【図16】 割込み有効レジスタの詳細な構成を示す説
明図である。
FIG. 16 is an explanatory diagram showing a detailed configuration of an interrupt enable register.

【図17】 周辺制御部の詳細な構成を示すブロック図
である。
FIG. 17 is a block diagram illustrating a detailed configuration of a peripheral control unit.

【図18】 周辺状態レジスタを用いた通信手順を示す
タイミングチャートである。
FIG. 18 is a timing chart showing a communication procedure using a peripheral state register.

【図19】 この発明の実施の形態2,3に係わるシス
テムLSI内の主として双方向バッファ部の詳細な構成
を示すブロック図である。
FIG. 19 is a block diagram mainly showing a detailed configuration of a bidirectional buffer unit in a system LSI according to the second and third embodiments of the present invention;

【図20】 双方向バッファ部内の周辺状態レジスタを
用いてプロセッサコアと周辺ブロック部との間の通信手
順を示すタイミングチャートである。
FIG. 20 is a timing chart showing a communication procedure between a processor core and a peripheral block unit using a peripheral state register in the bidirectional buffer unit.

【図21】 この発明の実施の形態3に係わるシステム
LSI内の主として周辺起動制御レジスタ等を示すブロ
ック図である。
FIG. 21 is a block diagram mainly showing peripheral activation control registers and the like in a system LSI according to a third embodiment of the present invention;

【図22】 双方向バッファ内のアドレスレジスタ、ア
ドレス加算機構、起動レジスタを用いて実行されるプロ
セッサコアと周辺ブロック部と間の通信手順を示すタイ
ミングチャートである。
FIG. 22 is a timing chart showing a communication procedure between a processor core and a peripheral block unit which is executed using an address register, an address addition mechanism, and a start register in a bidirectional buffer.

【図23】 この発明の実施の形態3に係わるシステム
LSI内の主として周辺ブロック部を示すブロック図で
ある。
FIG. 23 is a block diagram mainly showing peripheral block units in a system LSI according to a third embodiment of the present invention;

【図24】 従来のシステムLSIを示すブロック図で
ある。
FIG. 24 is a block diagram showing a conventional system LSI.

【図25】 従来のプロセッサコアと、内部命令RAM
および内部データRAMと、周辺ブロック部との間で実
行されるデータ転送経路を示す図である。
FIG. 25 shows a conventional processor core and an internal instruction RAM.
FIG. 4 is a diagram showing a data transfer path executed between an internal data RAM and a peripheral block unit.

【図26】 図25に示したデータ転送経路を用いて実
行される従来の典型的なデータ転送のタイミングチャー
トである。
FIG. 26 is a timing chart of a conventional typical data transfer executed using the data transfer path shown in FIG. 25;

【図27】 従来のプロセッサコアと周辺ブロック部と
の間の通信手順を示すタイミングチャートである。
FIG. 27 is a timing chart showing a conventional communication procedure between a processor core and a peripheral block unit.

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

2 内部命令RAM(内部メモリ手段)、3 内部デー
タRAM(内部メモリ手段)、4 プロセッサコア(処
理手段)、9 周辺ブロック部(周辺ブロック手段)、
45 周辺状態レジスタ(状態監視制御レジスタ)、8
0 アドレス加算機構、90 周辺起動制御レジスタ、
201 周辺ブロック制御部(周辺制御レジスタ)。
2 internal instruction RAM (internal memory means), 3 internal data RAM (internal memory means), 4 processor core (processing means), 9 peripheral block section (peripheral block means),
45 peripheral status register (status monitoring control register), 8
0 address adder, 90 peripheral start control register,
201 Peripheral block control unit (peripheral control register).

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 命令をデコードする命令デコーダと、命
令の実行を制御する情報を格納する制御レジスタと、デ
ータを記憶する複数のレジスタと、算術演算を行う演算
回路と、前記命令デコーダに接続され前記命令デコーダ
の出力に従って命令を実行する命令実行部とを有し、前
記演算回路等がプログラムに記述された複数の命令を前
記命令デコーダでデコードして実行することで、前記プ
ログラムに従うデータ処理を実行し、前記制御レジスタ
内に格納された制御情報を読み出し、前記制御情報の更
新を行う制御レジスタ転送命令を有する処理手段と、前
記命令を格納する内部命令RAMおよび前記命令の処理
結果を格納する内部データRAMとからなる内部メモリ
手段と、前記処理手段と前記内部メモリ手段内の前記内
部データRAMに接続され、前記処理手段によりデータ
の読出しとデータの更新が可能な周辺制御レジスタを有
し、前記処理手段の動作と独立して、前記内部メモリ手
段との間でデータの転送を実行して前記データに対する
専用処理を行う複数の周辺ブロック部を備えた周辺ブロ
ック手段とを備え、前記処理手段は、前記周辺制御レジ
スタに格納された前記複数の周辺ブロック部の各々の動
作情報を読出し格納するための状態ビットで構成される
状態監視制御レジスタをさらに有し、前記制御レジスタ
転送命令を実行し、前記状態監視制御レジスタの内容を
参照し、前記複数の周辺ブロック部の各々の処理状態の
変化を検知することを特徴とするシステムLSI。
An instruction decoder for decoding an instruction; a control register for storing information for controlling the execution of the instruction; a plurality of registers for storing data; an arithmetic circuit for performing an arithmetic operation; An instruction execution unit that executes an instruction in accordance with an output of the instruction decoder, wherein the arithmetic circuit and the like decode and execute a plurality of instructions described in the program with the instruction decoder, thereby performing data processing according to the program. A processing unit having a control register transfer instruction for executing, reading control information stored in the control register, and updating the control information; an internal instruction RAM for storing the instruction; and a processing result of the instruction. An internal memory means comprising an internal data RAM; a processing means; and an internal data RAM in the internal memory means. A peripheral control register capable of reading data and updating data by the processing means, and performing data transfer with the internal memory means independently of the operation of the processing means; A peripheral block unit having a plurality of peripheral block units for performing dedicated processing on data, wherein the processing unit reads and stores operation information of each of the plurality of peripheral block units stored in the peripheral control register. A status monitor control register configured with status bits of the above, executing the control register transfer instruction, referring to the contents of the status monitor control register, and determining a change in the processing status of each of the plurality of peripheral block units A system LSI characterized by detecting.
【請求項2】 処理手段は、前記複数の周辺ブロック部
の各々の動作情報を読出し格納するための前記状態ビッ
トに対応した割り込み有効ビットより構成される割り込
み有効制御レジスタをさらに有し、前記割り込み有効ビ
ットがセットされている時に、前記状態ビットに対応し
た前記周辺ブロック部に対する割り込み処理を実行する
ことを特徴とする請求項1記載のシステムLSI。
2. The processing means further comprises an interrupt enable control register including an interrupt enable bit corresponding to the status bit for reading and storing operation information of each of the plurality of peripheral block units, and 2. The system LSI according to claim 1, wherein when the valid bit is set, interrupt processing for the peripheral block corresponding to the status bit is executed.
【請求項3】 処理手段は、内部データRAMにアクセ
スするためのアドレスバス及びデータバスに接続された
双方向バッファ部をさらに有し、周辺ブロック手段は、
前記双方向バッファ部を介して前記処理手段と接続さ
れ、前記周辺ブロック手段内の前記複数の周辺ブロック
部の各々の周辺制御レジスタ内に格納されたデータは、
前記処理手段により読出し、更新され、前記周辺ブロッ
ク手段内の各周辺ブロック部は、前記双方向バッファ部
を介して、前記処理手段から独立して前記内部データR
AMとの間で直接にメモリ転送を実行し、前記メモリ転
送により読込んだデータに対して専用処理を実行し、さ
らに前記内部データRAMへのデータ書込みを実行する
前記メモリ転送において、最終データに続いて前記周辺
ブロック部の処理状態を示す情報を付加し、前記双方向
バッファ部は、前記処理状態情報を保持するための状態
レジスタを、前記双方向バッファ部内のデータ転送経路
上に備え、前記処理手段は、前記双方向バッファ部内の
前記状態レジスタに格納された前記周辺ブロック部の処
理状態情報を読出すことを特徴とする請求項1記載のシ
ステムLSI。
3. The processing unit further includes a bidirectional buffer unit connected to an address bus and a data bus for accessing an internal data RAM, and the peripheral block unit includes:
The data stored in the peripheral control registers of each of the plurality of peripheral block units in the peripheral block unit, which is connected to the processing unit via the bidirectional buffer unit,
Each peripheral block in the peripheral block is read and updated by the processing unit, and the internal data R is independent of the processing unit via the bidirectional buffer unit.
A memory transfer is directly performed with the AM, a dedicated process is performed on the data read by the memory transfer, and a data write to the internal data RAM is performed. Subsequently, information indicating a processing state of the peripheral block unit is added, and the bidirectional buffer unit includes a state register for holding the processing state information on a data transfer path in the bidirectional buffer unit, 2. The system LSI according to claim 1, wherein the processing unit reads processing status information of the peripheral block unit stored in the status register in the bidirectional buffer unit.
【請求項4】 双方向バッファ部は、周辺ブロック手段
内の複数の周辺ブロック部の各々が内部データRAMと
の間で直接にメモリ転送を実行する時に、前記内部デー
タRAMに対して出力するアドレスを、処理手段が指定
可能なアドレスレジスタと、前記アドレスレジスタの値
を加算できるアドレス加算機構とをさらに備え、前記処
理手段は、前記複数の周辺ブロック部が前記内部データ
RAMとの間で直接に実行する前記メモリ転送におい
て、前記内部データRAMからデータの読出しを起動す
るためのデータを格納する起動ビットで構成される周辺
起動制御レジスタを備え、前記処理手段は、前記双方向
バッファ部内の前記アドレスレジスタに前記メモリ転送
のためのアドレスを書込むと共に、制御レジスタ転送命
令を用いて前記起動ビットを更新することで、前記起動
ビットに対応した前記周辺ブロック部は、前記メモリ転
送の動作を前記内部データRAMとの間で実行すること
を特徴とする請求項3記載のシステムLSI。
4. The bi-directional buffer section outputs an address to be output to the internal data RAM when each of the plurality of peripheral block sections in the peripheral block means directly performs memory transfer with the internal data RAM. Further comprising an address register that can be designated by a processing means, and an address addition mechanism that can add the value of the address register, wherein the processing means allows the plurality of peripheral block units to directly communicate with the internal data RAM. The memory transfer to be executed includes a peripheral start control register including a start bit for storing data for starting reading of data from the internal data RAM, wherein the processing unit includes the address in the bidirectional buffer unit. The address for the memory transfer is written in a register, and the start-up window is transmitted using a control register transfer instruction. 4. The system LSI according to claim 3, wherein the peripheral block corresponding to the activation bit executes the memory transfer operation with the internal data RAM by updating a start bit.
【請求項5】 処理手段は、内部データRAMにアクセ
スするためのアドレスバス及びデータバスに接続された
双方向バッファ部をさらに備え、周辺ブロック手段は、
前記双方向バッファ部を介して前記処理手段と接続さ
れ、前記周辺ブロック手段内の複数の周辺ブロック部の
各々が備えている周辺制御レジスタ内に格納されたデー
タは、前記処理手段により読出しおよび更新され、前記
複数の周辺ブロック部の各々は、前記双方向バッファ部
を介して前記処理手段から独立して前記内部データRA
Mとの間で直接にメモリ転送を実行し、前記メモリ転送
により読込んだデータに対して専用処理を実行し、前記
読込んだ前記データの先頭データを取込み、前記先頭デ
ータに応じた専用処理を、前記先頭データに続いて読込
まれたデータに対して実行することを特徴とする請求項
1記載のシステムLSI。
5. The processing means further comprises a bidirectional buffer unit connected to an address bus and a data bus for accessing an internal data RAM, and the peripheral block means comprises:
Data that is connected to the processing unit via the bidirectional buffer unit and stored in a peripheral control register provided in each of the plurality of peripheral block units in the peripheral block unit is read and updated by the processing unit. Wherein each of the plurality of peripheral block units is independent of the processing means via the bidirectional buffer unit and independent of the internal data RA.
M, directly performing a memory transfer, performing a dedicated process on the data read by the memory transfer, taking in the leading data of the read data, and performing a dedicated process in accordance with the leading data. 2. The system LSI according to claim 1, wherein the step (c) is performed on data read after the head data.
JP10146178A 1998-05-27 1998-05-27 System lsi Pending JPH11338735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10146178A JPH11338735A (en) 1998-05-27 1998-05-27 System lsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10146178A JPH11338735A (en) 1998-05-27 1998-05-27 System lsi

Publications (1)

Publication Number Publication Date
JPH11338735A true JPH11338735A (en) 1999-12-10

Family

ID=15401909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10146178A Pending JPH11338735A (en) 1998-05-27 1998-05-27 System lsi

Country Status (1)

Country Link
JP (1) JPH11338735A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107041A (en) * 2004-10-04 2006-04-20 Hitachi Ltd Hardware event handling module
JP2011191937A (en) * 2010-03-12 2011-09-29 Yamatake Corp Device starting device and cpu
JP2013041402A (en) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and circuit state monitoring circuit
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE48845E1 (en) 2002-04-01 2021-12-07 Broadcom Corporation Video decoding system supporting multiple standards
JP2006107041A (en) * 2004-10-04 2006-04-20 Hitachi Ltd Hardware event handling module
JP2011191937A (en) * 2010-03-12 2011-09-29 Yamatake Corp Device starting device and cpu
US9152137B2 (en) 2010-03-12 2015-10-06 Azbil Corporation Device activating unit and CPU
JP2013041402A (en) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd Semiconductor integrated circuit and circuit state monitoring circuit

Similar Documents

Publication Publication Date Title
US6003129A (en) System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture
EP0992907B1 (en) Trace fifo management
JP4934356B2 (en) Video processing engine and video processing system including the same
JP2000222206A (en) Data processor
JPH0477925A (en) Microprocessor
US20210294639A1 (en) Entering protected pipeline mode without annulling pending instructions
US20240036876A1 (en) Pipeline protection for cpus with save and restore of intermediate results
US20210326136A1 (en) Entering protected pipeline mode with clearing
US6738837B1 (en) Digital system with split transaction memory access
US7051146B2 (en) Data processing systems including high performance buses and interfaces, and associated communication methods
JP4502532B2 (en) Data processing device
JPH11338735A (en) System lsi
JP2002229779A (en) Information processor
JP2754825B2 (en) Microprocessor
US20210089305A1 (en) Instruction executing method and apparatus
JP2710994B2 (en) Data processing device
CN111813447B (en) Processing method and processing device for data splicing instruction
JP2000122919A (en) Processor and memory control method
US20020069351A1 (en) Memory data access structure and method suitable for use in a processor
JPH08249175A (en) Method and apparatus for selective support of nonarchitectural instruction at inside of superscalar processor device
JP2000172628A (en) Data transfer device
JP2532560B2 (en) Data processing device for high-performance exception handling
JP2667864B2 (en) Data processing device
Marzal et al. A N-best sentence hypotheses enumeration algorithm with duration constraints based on the two level algorithm
JP3102399B2 (en) Data processing apparatus and method