JPH11338735A - システムlsi - Google Patents

システム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
English (en)
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/ja
Publication of JPH11338735A publication Critical patent/JPH11338735A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 低速で実行する周辺ブロック部のアクセス完
了まで、プロセッサコアの動作が待機させらて処理サイ
クルの浪費を招くという課題があった。 【解決手段】 プロセッサコア4は、周辺ブロック部9
内の各部の周辺制御レジスタに格納された動作情報を読
出し格納するための状態ビットからなる状態監視制御レ
ジスタ45を備え、制御レジスタ転送命令の実行により
状態監視制御レジスタ45の内容を参照して周辺ブロッ
ク部9内の各部の処理状態の変化を獲得し制御するシス
テムLSI。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、システム全体の
制御を行うプロセッサコアと各種の専用制御を司る周辺
ブロック部より構成され、そのプロセッサコアと周辺ブ
ロック部との間で高速に通信を行うシステムLSIに関
するものである。
【0002】
【従来の技術】コンピュータシステムにおいて、中央演
算処理装置(CPU)と入出力装置との間でデータ通信
を行う場合、CPUが次の入出力動作を実行してよいか
どうかを、入出力装置側の状態ビットを周期的にチェッ
クすることで判断するポーリング方式と、入出力装置側
がCPUに入出力処理を開始すべきタイミングを知らせ
る割り込み方式とが従来において用いられている。当然
のことながら、入出力装置に比べてCPUの動作速度は
格段に高速であるので、ポーリング方式の場合では、C
PU時間を多大に浪費することになる。また、割り込み
の方式の場合では、割り込み処理が発生する度に割り込
み前のCPUの状態を保持する必要がある為に各種レジ
スタ値の退避および回復といったオーバーヘッドが生じ
ることになる。
【0003】近年、半導体プロセスの技術革新は目覚ま
しく、従来では複数のLSIで構成されていたコンピュ
ータシステムが、単体のLSI内に集積されるようにな
ってきた。この集積技術の向上により、システム全体の
制御を行うプロセッサコアと、各種専用的な処理を行う
専用ハードウェア、そして命令およびデータを記憶する
大容量のメモリ等を単体のLSI内に集積でき、この集
積されたシステムLSIが製品化され、広く市場に供給
されてきている。
【0004】これらのシステムLSIにおいては、ホス
トインタフェース(I/F)を備えることにより、シス
テムLSIを含んだシステム全体をホストプロセッサが
管理したり、システムLSI内に組み込まれた専用ハー
ドウェアが独立して、自ブロックの処理が完了すれば次
ブロックに対して起動をかけることで全体の制御を行う
といった制御が行われている。また、システムLSI内
のCPUが全体の制御行う場合でも、周辺専用ハードウ
ェアの処理完了を伝えるための情報の伝達は、従来の割
り込み処理やポーリング処理に基づいて実行されてい
る。
【0005】図24は、従来のシステムLSIの基本構
成を示すブロック図であり、図において、1000はシ
ステムLSIであり、プロセッサコア1001、内部命
令RAM2と、内部データRAM3と、システムバスI
/F1002と、周辺ブロック部1003から構成され
ている。
【0006】次に動作について説明する。プロセッサコ
ア1001から出力される命令アドレスを送信する命令
アドレスバス20は、内部命令RAM2およびシステム
バスI/F1002へ接続されている。また、プロセッ
サコア1001から出力されるデータアドレスを送信す
るデータアドレスバス21は、内部データRAM3へ接
続される。
【0007】また、アクセス対称のデータ領域が、シス
テムバスI/F1002や周辺ブロック部1003に対
するものである場合には、そのデータアドレスはアドレ
スバス26を通してシステムバスI/F1002と周辺
ブロック部1003へ出力され、そのアドレスにより指
定されるデータは、データバス27を介して転送され
る。
【0008】周辺ブロック部1003は、処理状態を示
す状態レジスタ1004を内蔵しており、この状態レジ
スタ1004の内容は、前述のアドレスバス26とデー
タバス27を介してプロセッサコア1001から読み出
し可能である。また、周辺ブロック部1003から割り
込み信号1005がプロセッサコア1001に対して出
力されており、プロセッサコア1001では、この割り
込み信号1005がアクティブになると、割り込み制御
部1006が割り込み処理を起動し、それに従ってプロ
セッサコア1001は動作する。
【0009】プロセッサコア1001は、内部命令RA
M2およびシステムバスI/F1002に対し、命令ア
ドレスバス20を介して命令アドレスを出力する。その
命令アドレスが、システムバスI/F1002に対して
送信されたものである場合、システムバスI/F部10
02は、バス50を通して外部メモリ(図示せず)より
命令コードをフェッチし、バス24を通してプロセッサ
コア1001へ命令コードを転送する。
【0010】また、命令アドレスバス20が、内部命令
RAM2に対するものである場合、内部命令RAM2
は、バス23を通してプロセッサコア1001に命令コ
ードを転送する。プロセッサコア1001は、バス23
およびバス24のいずれかを選択し、バス25を通し
て、次に処理すべき命令コードを獲得する。
【0011】プロセッサコア1001内へ転送されてき
た命令コードは、デコード処理され、そのデコード結果
から演算実行部を制御し、汎用レジスタ(図示せず)か
ら演算対象のデータを読み出す。そして演算実行結果を
汎用レジスタ内に格納する。その演算のためのデータが
汎用レジスタに存在しない場合は、データアドレスバス
21を通して、内部データRAM3へアクセスし、必要
なデータをバス22を通して獲得する。あるいは、アド
レスバス26を通して、システムバスI/F1002を
アクセスする。システムバスI/F1002は、必要な
データをバス50を通して外部メモリから得た後に、デ
ータバス27を通してプロセッサコア1001へ必要な
データを転送する。
【0012】また、演算結果を外部メモリ(図示せず)
内へ格納したい場合にも、プロセッサコア1001は、
各バス26,27を通して、アドレスとデータとをシス
テムバスI/F1002へ送信する。これらのアドレス
およびデータを受け取ったシステムバスI/F1002
は、バス50を通して、外部メモリ内の目的のアドレス
領域に演算結果であるデータを格納する。
【0013】このようにプロセッサコア1001は、目
的のアプリケーションを実行しながら、各種専用的な処
理を周辺ブロック部に実行させる。その際、プロセッサ
コア1001は、周辺ブロック部1003内の制御レジ
スタ(図示せず)内へコマンドを書き込み、周辺ブロッ
ク部1003の処理に起動をかける。周辺ブロック部1
003は、プロセッサコア1001より起動がかけられ
た処理の進行状態を、内蔵の状態レジスタ1004内に
書き込んでいく。すなわち処理に必要なデータをプロセ
ッサコア1001を介して内部データRAM3から取り
込み、その取り込んだデータに加工を施した後に、内部
データRAM3へ格納するような処理を行う。
【0014】通常は、この周辺ブロック部1003と内
部データRAM3との間で実行されるデータ転送は、プ
ロセッサコア1001の動作とは独立して行われる。こ
のデータ転送は、Direct Memory Acc
ess(DMA)転送と呼ばれる。
【0015】そして、プロセッサコア1001は、この
状態レジスタ1004内に格納されたデータを読み出し
ながら、即ち、ポーリング処理を行いながら、随時必要
な処理を行っていく。このように、周辺ブロック部10
03が状態レジスタ1004を内蔵するのは、周辺ブロ
ック部1003が時間的、状態的な正確な情報を持つこ
とが可能であるためである。また、周辺ブロック部10
03では、プロセッサコア1001より起動がかけられ
た処理が完了した時点で、割り込み信号1005をアク
ティブにする。この割り込み信号を受け取ると、プロセ
ッサコア1001内の割り込み制御部1006は、割り
込み処理を起動し、プロセッサコア1001は割り込み
処理を実行する。
【0016】図25は、プロセッサコア1001と、内
部命令RAM2および内部データRAM3、そして周辺
ブロック部1003およびシステムバスI/F1002
間のアドレスおよびデータを転送する転送回路を示すブ
ロック図である。図24に示した従来のシステムLSI
1000で説明した様に、プロセッサコア1001と内
部命令RAM2との間は、命令アドレスバス20とデー
タバス22とを介して接続されており、内部命令RAM
2から読み出された命令コードは、バス23を経由して
プロセッサコア1001へ出力される。
【0017】また、プロセッサコア1001と内部デー
タRAM3との間は、データアドレスバス21とデータ
バス22とを介して接続されている。また、プロセッサ
コア1001と周辺ブロック部1003との間は、アド
レスバス26とデータバス27を介して接続されてい
る。
【0018】命令フェッチを実行するために、命令アド
レスバス20には、プロセッサコア1001内のセレク
タ88を介して、命令レジスタ30内に保持されている
命令アドレスが出力される。内部命令RAM2は、命令
レジスタ30内に保持されていた命令アドレスを、命令
アドレスバス20を介して受け取ると、命令アドレスが
指定するアドレス内に格納されている命令コードをバス
23上に出力する。
【0019】この従来のシステムLSI1000におい
て、命令フェッチは64ビット単位で処理されるため、
一度、命令フェッチが実行されるとインクリメンタ31
によって命令アドレスの値に8が加算され、加算された
命令アドレスは、次の命令フェッチのために使用され
る。また、データアクセスを行うためのデータアドレス
バス21上へ、アドレス計算用の加算器33で加算され
たデータアドレスが、ラッチ34,35と3ステートバ
ッファ66を介して出力される。データアクセスがデー
タリード処理であった場合、内部データRAM3は、3
ステートバッファ62を介して所望のデータをバス22
上へ出力する。
【0020】プロセッサコア1001は、バス2せいち
データを符号拡張部(OP4)37を介して取り込む。
また、データアクセスがデータライト処理であった場
合、プロセッサコア1001は、データ整値部(OP
5)36と3ステートバッファ39を介してデータをバ
ス22上へ出力する。そして、内部データRAM3は、
バス22上のデータを、3ステートバッファ63を介し
て所定のアドレスで示される格納領域内へ格納する。
【0021】データアドレスバス21上のアドレスデー
タは、内部データRAM3へ出力されるばかりでなく、
周辺ブロック部1003へのアクセスを行うために、双
方向バッファ部1020へも出力される。その出力され
たデータアドレスは、3ステートバッファ1022を介
して、周辺ブロック部1003と接続されているアドレ
スバス26上へ出力される。周辺ブロック部1003へ
のデータアクセスが制御レジスタ等に対するデータリー
ド処理である場合、バス27を介して読み出された状態
レジスタ1004内に格納されているデータは、3ステ
ートバッファ1024を介してバス22へ出力される。
【0022】プロセッサコア1001は、プロセッサコ
ア1001内部にある符号拡張部37を経由してそのデ
ータを取り込む。また周辺ブロック部1003へのデー
タアクセスが、制御レジスタ等へデータライト処理であ
った場合、プロセッサコア1001が、データ整値部3
6と3ステートバッファ39を介してバス22上へ出力
したデータは、3ステートバッファ1023を介してバ
ス27上へ出力され、所定の制御レジスタ内に格納され
る。
【0023】また、プロセッサコア1001が、内部命
令RAM2から命令コードをデータとして読み出した
り、命令コードを内部命令RAM2内へ格納したりする
場合には、先ず、データアドレスを経路87とセレクタ
88を介して、内部命令RAM2へ出力する。そして、
アクセスがデータリード処理である場合には、バス22
上へ出力された命令コードを、3ステートバッファ6
0,65を介して符号拡張部37内へ取り込む。また、
アクセスがデータライト処理である場合には、データ整
値部36と3ステートバッファ39を介してバス22上
へ出力された命令コードを、3ステートバッファ64,
61を介して、内部命令RAM2内の所定位置に格納す
る。
【0024】さらに、周辺ブロック部1003が、直接
に内部データRAM2内の領域をアクセスする場合、即
ち、DMA転送の場合には、周辺ブロック部1003
が、プロセッサコア1001から、データアドレスバス
21とデータバス22のバス権(バスを自由に優先的に
使用する権利)を獲得した後に、DMA転送の処理が開
始される。
【0025】周辺ブロック部1003が、アドレスバス
26上へ出力したデータアドレスは、3ステートバッフ
ァ1021を介してデータアドレスバス21上へ出力さ
れ、内部データRAM3へ転送される。DMA転送がデ
ータリード処理であった場合には、内部データRAM3
から3ステートバッファ62を介してバス22上へ出力
されたデータは、プロセッサコア1001内の3ステー
トバッファ1023を介して、データバス27上へ出力
される。この出力されたデータは、データバス27を介
して周辺ブロック部1003へ転送される。
【0026】DMA転送がデータライト処理である場合
には、周辺ブロック部1003がデータバス27に出力
したデータは、3ステートバッファ1024を介してバ
ス22上へ出力される。内部データRAM3では、3ス
テートバッファ63を介して所定の位置にバス22上の
データを格納する。このDMA転送は、高速に大量のデ
ータを転送するために使用される場合が多く、通常は内
部データRAM3内の連続領域に対するアクセスが行わ
れる。その場合には、その連続領域のアドレスを周辺ブ
ロック部1003が出力する必要がある。
【0027】図26は、プロセッサコア1001が、周
辺ブロック部1003内の制御レジスタ(図示せず)に
対してリード/ライト処理を行う場合と、周辺ブロック
部1003が内部データRAM3に対してDMAデータ
リード/データライト処理を行う場合を示すタイミング
チャートである。図において、(a)は、プロセッサコ
ア1001から周辺ブロック部1003へ出力される信
号を示しており、(b)は、周辺ブロック部1003か
らプロセッサコア1001へ出力される信号を示してお
り、(c)は、プロセッサコア1001から内部データ
RAM3へ出力される信号を示している。
【0028】プロセッサコア1001が、周辺ブロック
部1003内の制御レジスタにアクセスを行う場合は、
まず制御信号である制御レジスタリクエスト信号と制御
レジスタライト信号を出力する。制御レジスタライト信
号がロウレベル(Lレベル)の時は、そのアクセスがデ
ータリード処理であることを示し、制御レジスタライト
信号がハイレベル(Hレベル)である時は、そのアクセ
スがデータライト処理であることを示す。
【0029】図26に示すように、プロセッサコア10
01がクロック(1)で制御レジスタリードのリクエス
トを発行すると、データアドレスバス21上にそのアク
セスアドレスA1が出力され、直ちに、周辺アドレスバ
ス26へもそのアクセスアドレスA1が出力される。
【0030】周辺ブロック部1003は、このアクセス
アドレスA1を受け取り、このアクセスアドレスA1が
指定する制御レジスタ(図示せず)からデータD1を読
み出し、クロック(3)で周辺データバス27上へ、そ
の読み出したデータD1を出力する。このデータD1
は、1クロック後のクロック(4)で、データバス22
上へ転送される。このクロック(1)〜(4)までが制
御レジスタのリード期間であり、プロセッサコア100
1は、3クロックサイクルの間その動作を停止すること
になる(ウェイト処理)。
【0031】プロセッサコア1001が、クロック
(5)で制御レジスタライトのリクエストを発行する
と、データアドレスバス21上にそのアクセスアドレス
A2が出力され、直ちに、アクセスアドレスA2は周辺
アドレスバス26上へも出力される。また、同じクロッ
ク(5)期間中に、ライトデータD2もデータバス22
上へ出力される。
【0032】ライトデータD2は、1クロック後のクロ
ック(6)で、周辺データバス27上へ転送される。周
辺ブロック部1003は、アドレスA2とデータD2と
を受け取り、所定の制御レジスタ内にデータを格納す
る。このクロック(5)〜(8)までが制御レジスタに
対するデータライト期間であり、プロセッサコア100
1は、3サイクル期間の間その動作を停止することにな
る(ウェイト処理)。
【0033】このように、プロセッサコア1001が、
周辺ブロック部1003内の制御レジスタ(図示せず)
をアクセスする場合、通常のプロセッサコア1001で
はウェイト処理が必要である。プロセッサコア1001
内部の制御レジスタや内部データRAM3は高速にアク
セス可能であるのに対して、周辺ブロック部1003へ
のアクセスは、低速でアクセスしなければならない。換
言すると、周辺ブロック部1003へのアクセスが完了
するまで、プロセッサコア1001の動作を停止する必
要があるので、プロセッサコア1001の処理サイクル
の浪費を招いてしまうという課題があった。
【0034】周辺ブロック部1003が、内部データR
AM3に対してDMA転送を行う場合では、周辺ブロッ
ク部1003は、プロセッサコア1001に対してDM
Aリクエスト信号をアサートする。
【0035】プロセッサコア1001は、プロセッサコ
ア内部および周辺のアドレスバス,データバスが使用さ
れていない状態である場合は、このリクエスト信号に対
するアクノリッジ信号を生成して返送する。このリクエ
スト信号とアクノリッジ信号とが両方アサートされてい
る期間が、周辺ブロック部1003がDMA転送可能な
期間であることを示す。
【0036】周辺ブロック部1003は、プロセッサコ
ア1001から送信されてきたDMAアクノリッジ信号
を受信した1クロック後から、DMAアドレス有効信号
とDMAライト信号を出力する。DMAアドレス有効信
号がアサートされている期間に、周辺ブロック部100
3は、周辺アドレスバス26上に、毎クロックインクリ
メントされたアドレスを出力する。
【0037】また、周辺ブロック部1003はDMAラ
イト信号もアサートし、このDMAライト信号がLレベ
ルの場合、内部データRAM3からデータリード処理を
実行し、逆に、DMAライト信号がHレベルの場合に
は、内部データRAM3へのライト処理を行う。
【0038】図26に示すように、周辺ブロック部Aが
クロック(9)で、プロセッサコア1001へDMAリ
クエスト信号をアサートし、クロック(10)で、DM
Aアクノリッジ信号がプロセッサコア1001から返送
された場合、周辺ブロック部Aはクロック(11)〜
(16)までDMAアドレス有効信号とライト信号、そ
してアドレスA31〜36を出力する。
【0039】DMAライト信号が、Lレベルである場
合、内部データRAM3に対するデータリード処理が実
行される。即ち、周辺アドレスバス26上のアドレスA
31〜36は、1クロック後にデータアドレスバス21
上へ転送される。そのアドレスに対するデータD31〜
36が、データRAM出力信号により、データバス22
上へ出力され、さらに1クロック後に、周辺データバス
27上へ転送される。
【0040】このクロック(12)〜(17)が、内部
命令RAM2,内部データRAM3に対するDMAリー
ド期間である。また、周辺ブロック部Bが、クロック
(12)でプロセッサコア1001にDMAリクエスト
信号をアサートしても、周辺ブロック部AがDMA転送
を実行しているため、クロック(19)になってからD
MAアクノリッジ信号が返される。
【0041】周辺ブロック部Bは、この1クロック後の
クロック(20)から、DMAアドレス有効信号とライ
ト信号、そしてアドレスA41〜45を出力する。DM
Aライト信号がHレベルであるので、内部データRAM
へのライト処理が行われる。即ち、周辺アドレスバス2
6上のアドレスA41〜45は、1クロック後にデータ
アドレスバス21上へ転送される。アドレスと同時にラ
イトデータD41〜45が周辺データバス27上へ出力
され、アドレスと同様に、1クロック後にデータバス2
2上へ転送される。
【0042】プロセッサコア1001はデータRAMラ
イト信号を出力し、ライトデータD41〜45を内部デ
ータRAM3内へ格納する。このように、DMA転送処
理では、プロセッサコア1001と周辺ブロックA,B
との間でアドレス,データの転送にウェイト期間が発生
するが、連続するメモリ領域に大量のデータをアクセス
が可能であり、プロセッサコア1001の処理と並行し
て、高速大量データ転送が可能である。
【0043】図27は、プロセッサコア1001が周辺
ブロック部1003内の状態レジスタ1004内に格納
されたデータを読み出し、処理進行の状態を監視する、
即ちポーリング処理の場合を示すタイミングチャートで
あり、図において、(a)は、プロセッサコア1001
から周辺ブロック部1003へ出力される信号を示して
おり、(b)は、周辺ブロック部1003からプロセッ
サコア1001へ出力される信号を示している。
【0044】プロセッサコア1001は、通常、周辺ブ
ロック部1003に対して処理の起動をかけて、この処
理が完了したことを周辺ブロック部内の状態レジスタ1
004内のポーリング処理ビット領域でチェックする。
図27に示すように、まずプロセッサコア1001は、
クロック(1)で制御レジスタライトのリクエストを周
辺ブロック部Aにアサートし、周辺ブロック部A内の制
御レジスタに処理コマンドを書き込む。
【0045】この制御レジスタライト処理の手順は、図
26で説明したものと同様である。この処理コマンド書
き込み処理で、周辺ブロック部内の処理が起動され、周
辺ブロック部Aはクロック(5)〜(15)の期間に渡
り要求された処理を行う。周辺ブロック部Aと独立した
周辺ブロック部Bが、クロック(13)からDMAリク
エストを出力し、クロック(14)〜(19)の期間ま
でDMA転送処理を行った場合、プロセッサコア100
1が周辺ブロック部Aの完了状態を知りたい場合でも、
周辺ブロック部BのDMA転送期間では、状態レジスタ
リード処理を行うことは不可能である。
【0046】
【発明が解決しようとする課題】従来のシステムLSI
1000は以上のように構成されているので、プロセッ
サコア1001は、周辺ブロック部BのDMA転送期間
が終了したクロック(21)になって初めて、状態レジ
スタ1004に対する状態レジスタリード処理を開始す
ることができる。このように、周辺ブロック部1003
内の状態レジスタ1004のポーリング処理は、そのア
クセスが低速であるばかりでなく、他のバス利用者が実
行するDMA転送等の処理により、高速で実行可能なプ
ロセッサコア1001の動作が、さらにウェイトさせら
れる場合が少なくないという課題があった。
【0047】また、周辺ブロック部Aが、クロック(1
5)で処理完了した後に、割り込み信号をプロセッサコ
ア1001へアサートした場合でも、その割り込み処理
による割り込みルーチンが外部メモリ(図示せず)にあ
ったり、割り込みルーチンでの先頭でレジスタ待避処理
等が必要となり、プロセッサコア1001の処理サイク
ルが待機させられるといった、プロセッサコア1001
の処理サイクルの消費が避けられないという課題があっ
た。
【0048】この発明は上記のような課題を解決するた
めになされたもので、周辺ブロック部内に組み込まれて
いる各ブロック部の動作状態を示すデータを格納するレ
ジスタを備え、このレジスタと専用線を介してプロセッ
サコアが接続され、これによりプロセッサコアが各ブロ
ック部の動作状態を獲得することで各ブロック部に対し
て高速にアクセス可能な機能を備えたシステムLSIを
得ることを目的とする。
【0049】
【課題を解決するための手段】この発明に係るシステム
LSIは、処理手段と、内部メモリ手段と、周辺ブロッ
ク手段とを備える。処理手段は、命令をデコードする命
令デコーダと、命令の実行を制御する情報を格納する制
御レジスタと、データを記憶する複数のレジスタと、算
術演算を行う演算回路と、前記命令デコーダに接続され
前記命令デコーダの出力に従って命令を実行する命令実
行部とを有し、前記演算回路等がプログラムに記述され
た複数の命令を前記命令デコーダでデコードして実行す
ることで、前記プログラムに従うデータ処理を実行し、
また、前記制御レジスタ内に格納された制御情報を読み
出し、前記制御情報の更新を行う制御レジスタ転送命令
を備える。内部メモリ手段は、前記命令を格納する内部
命令RAMと、前記命令の処理結果を格納する内部デー
タRAMとからなる。周辺ブロック手段は、前記処理手
段と前記内部メモリ手段内の前記内部データRAMに接
続され、前記処理手段によりデータの読出しとデータの
更新が可能な周辺制御レジスタを備え、前記処理手段の
動作と独立して、前記内部メモリ手段との間でデータの
転送を実行して前記データに対する専用処理を行う複数
の周辺ブロック部を備える。また、前記処理手段は、前
記周辺ブロック手段内の前記周辺制御レジスタに格納さ
れた前記周辺ブロック部の動作情報を読出し格納するた
めの状態ビットで構成される状態監視制御レジスタを備
え、前記処理手段は、前記制御レジスタ転送命令を実行
し、前記状態監視制御レジスタの内容を参照し、前記複
数の周辺ブロック部の各々の周辺ブロック部の処理状態
の変化を検知するものである。
【0050】この発明に係るシステムLSIでは、処理
手段が、周辺ブロック手段内の各周辺ブロック部の処理
状態を示す状態ビットより構成される状態監視制御レジ
スタと、前記状態ビットに対応した割り込み有効ビット
より構成される割り込み有効制御レジスタとを有し、前
記割り込み有効ビットがセットされている時に、前記状
態ビットに対応した前記周辺ブロック部に対する割り込
み処理を実行するものである。
【0051】この発明に係るシステムLSIでは、処理
手段が、内部データRAMにアクセスするためのアドレ
スバス及びデータバスに接続された双方向バッファ部を
さらに備える。周辺ブロック手段は、前記双方向バッフ
ァ部を介して前記処理手段と接続され、前記周辺ブロッ
ク手段内の各周辺ブロック部の周辺制御レジスタ内に格
納されたデータは、前記処理手段により読出しおよび更
新され、前記周辺ブロック手段内の各周辺ブロック部
は、前記双方向バッファ部を介して、前記処理手段から
独立して前記内部データRAMとの間で直接にメモリ転
送を実行し、前記メモリ転送により読込んだデータに対
して専用処理を実行し、さらに前記内部データRAMへ
のデータ書込みを実行する前記メモリ転送において、最
終データに続いて前記周辺ブロック部の処理状態を示す
情報を付加する。前記双方向バッファ部は、前記処理状
態情報を保持するための状態レジスタを、前記双方向バ
ッファ部内のデータ転送経路上に備え、前記処理手段
は、前記双方向バッファ部内の前記状態レジスタに格納
された前記周辺ブロック部の処理状態情報を読出すもの
である。
【0052】この発明に係るシステムLSIでは、双方
向バッファ部が、周辺ブロック手段内の複数の周辺ブロ
ック部の各々が内部データRAMとの間で直接にメモリ
転送を行う時に、前記内部データRAMに対して出力す
るアドレスを、処理手段が指定可能なアドレスレジスタ
と、前記アドレスレジスタの値を加算できるアドレス加
算機構とをさらに備える。そして、前記処理手段は、前
記複数の周辺ブロック部が前記内部データRAMとの間
で直接に実行する前記メモリ転送において、前記内部デ
ータRAMからデータの読出しを起動するためのデータ
を格納する起動ビットで構成される周辺起動制御レジス
タを備える。また、前記処理手段は、前記双方バッファ
部内の前記アドレスレジスタに前記メモリ転送のための
アドレスを書込むと共に、制御レジスタ転送命令を用い
て前記起動ビットを更新することで、前記起動ビットに
対応した前記周辺ブロック部は、前記メモリ転送の動作
を前記内部データRAMとの間で実行するものである。
【0053】この発明に係るシステムLSIでは、処理
手段が、内部データRAMにアクセスするためのアドレ
スバス及びデータバスに接続された双方向バッファ部を
さらに備える。そして、周辺ブロック手段が、前記双方
向バッファ部を介して前記処理手段と接続され、前記周
辺ブロック手段内の複数の周辺ブロック部の各々が備え
ている周辺制御レジスタ内に格納されたデータは、前記
処理手段により読出しおよび更新される。前記周辺ブロ
ック手段内の各周辺ブロック部は、前記双方向バッファ
部を介して前記処理手段から独立して前記内部データR
AMとの間で直接にメモリ転送を実行し、前記メモリ転
送により読込んだデータに対して専用処理を実行し、前
記メモリ転送により読込んだ前記データの先頭データを
取込み、前記先頭データに応じた専用処理を、前記先頭
データに続いて読込まれたデータに対して実行すること
を特徴とするものである。
【0054】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.先ず、この発明の高速通信手段を備える
システムLSIの基本構成について説明する。このシス
テムLSIは、プロセッサコア(処理手段)4、内部命
令RAM(内部メモリ手段)2、内部データRAM(内
部メモリ手段)3、各種専用制御を行う複数のブロック
部からなる周辺ブロック部(周辺ブロック手段)9を備
えている。プロセッサコア4は、コアデータパス部5、
コア制御部6,双方向バッファ部8、命令をデコードす
る命令デコーダ、命令の実行を制御する情報を格納する
制御レジスタ、データを格納するデータレジスタ、算術
演算を実行する演算回路等を有しシステム全体の制御を
行う。
【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より構成されている。
【0056】プロセッサコア4は、命令デコーダ、制御
レジスタ、データレジスタ、演算回路、周辺制御部7を
内蔵しているコア制御部6、コアデータパス部5、そし
て双方向バッファ部8等で構成されている。コア制御部
6内の周辺制御部7は、情報をやり取りするために専用
信号線40a〜40hを介して複数の処理部10〜17
からなる周辺ブロック部9と接続されている。
【0057】プロセッサコア4は、内部命令RAM2お
よびシステムバスI/F部10に命令アドレスバス20
を出力する。そのアドレスがシステムバスI/F部10
に対するものである場合、システムバスI/F部10
は、バス50を通して外部メモリ(図示せず)から命令
コードをフェッチし、バス24を介してプロセッサコア
4へ命令コードを転送する。また命令アドレスバス20
が内部命令RAM2に対するものである場合、内部命令
RAM2はバス23を介してプロセッサコア4へ命令コ
ードを転送する。
【0058】プロセッサコア4は、バス23およびバス
24のいずれかを選択し、バス25を通して処理すべき
命令コードを獲得する。プロセッサコア4は、転送され
てきた命令コードに対してデコード処理を行い、デコー
ド結果から演算実行部を制御し、汎用レジスタ300
(図1には図示せず、システムLSIの詳細図である図
10〜14に記載する)から演算対象のデータを読み出
す。そして演算実行結果を汎用レジスタ300内へ格納
する。例えば、上記の演算で用いるデータが汎用レジス
タ300内に存在しない場合は、データアドレスバス2
1を通して、内部データRAM3にアクセスを行い、必
要なデータを内部データRAM3からバス22を介して
獲得する。
【0059】あるいは、プロセッサコア4は、周辺ブロ
ック部9と接続されたアドレスバス26を介して、シス
テムバスI/F部10をアクセスする。システムバスI
/F部10は、必要なデータをバス50を介して外部メ
モリ(図示せず)から得た後に、データバス27を介し
て獲得したデータをプロセッサコア4へ転送する。
【0060】また、プロセッサコア4が、演算結果を外
部メモリ内へ格納したい場合にも、アドレスとデータと
をそれぞれバス26,27を介してシステムバスI/F
部10部へ渡す。これらのデータを受け取ったシステム
バスI/F部10は、バス50を介して、目的のアドレ
スで示される外部メモリ内の領域へ演算結果であるデー
タを格納する。
【0061】また、周辺ブロック部9内のVLCD部1
1、DRAMI/F部12、ビデオ出力部13、オーデ
ィオ出力部14、ブロックローダ部15、入力部16、
CRC部17の各々も、プロセッサコア4がバス26を
介して出力するデータアドレスが、自ブロックに対する
ものであるならば、そのアドレスに対する自ブロック内
の周辺制御レジスタからデータを読み出し、また自ブロ
ックの周辺制御レジスタ内へデータを格納する。
【0062】プロセッサコア4が、周辺ブロック部9内
のこの周辺制御レジスタ内にコマンドを書き込むこと
で、周辺ブロック部9内では各種の処理が起動される。
また各周辺ブロック部9内の各部は、プロセッサコア4
のプログラミング処理を介することなく直接に内部デー
タRAM3との間でデータ転送を実行する。すなわちD
MA転送が可能である。このDMA転送により、プロセ
ッサコア4と周辺ブロック部9との間で、内部データR
AM3を介して効率良くデータ交換が可能となり、高性
能なシステム処理が可能となる。
【0063】次に、動画像規格であるMPEG2をリア
ルタイムでデコード処理するために各周辺ブロック部9
内に内蔵されている各部の処理概要について説明する。
CRC部17は、Cyclic Redundancy
checksを行うブロックである。すなわち、デー
タ転送中に発生するデータ誤りを検出するためのブロッ
クである。特に、高圧縮符号化されているオーディオデ
ータは、1ビットでもデータ誤りが発生すると品質の悪
い音声が復号されてしまう。そのためCRC部17によ
りオーディオデータのデータ誤りを検出し、修復が可能
な誤りであれば修復し、修復不可能であれば再転送を要
求する。
【0064】入力部16は、MPEG2規格で高圧縮さ
れているビットストリームを受け取るための外部インタ
フェースを備えるブロックである。
【0065】ブロックローダ部15は、DRAMI/F
部12が、外部バス51を介してアクセスするフレーム
メモリ(図示せず)と、内部データRAM3との間で効
率よくビデオブロックデータの転送を制御するブロック
である。
【0066】オーディオ出力部14は、外付けのフレー
ムメモリ内に格納されている復号後の音声データを、D
RAMI/F部12を介して読み出し、読み出した音声
データを外部へ出力するための外部インタフェースを備
えるブロックである。
【0067】ビデオ出力部13は、外付けのフレームメ
モリ内に格納されている復号後のビデオデータをDRA
MI/F部12を介して読み出し、読み出したビデオデ
ータを外部に出力するための外部インタフェースを備え
るブロックである。
【0068】DRAMI/F部12は、ブロックローダ
部15とオーディオ出力部14、そしてビデオ出力部1
3から出力されたリクエストを受け付け、そのリクエス
トに応じて、外付けフレームメモリのアクセスを制御す
るブロックである。
【0069】VLCD部11は、Variable L
ength Code Decode部で、高圧縮のた
めに必要な可変長コードであるハフマン符号の復号処理
を行い、またハフマン符号へ符号処理を行うブロックで
ある。
【0070】システムバスI/F部10は、外部メモリ
等が接続されているシステムバスのインタフェースを司
るブロックである。
【0071】図2は、図1に示したシステムLSI1に
よる画像復号処理を示すフローチャートである。可変長
符号に符号化された入力データは、バス54からシリア
ルに入力され、入力部16が入力データを32ビット単
位のパラレルデータに変換し、変換されたデータをDM
Aライト転送により内部データRAM3内へ書き込む
(ステップST20)。
【0072】次に、内部データRAM3内に書き込まれ
たデータを、プロセッサコア4が読み出し、可変長符号
のビデオデータとオーディオデータに分離し、分離され
た可変長ビデオデータを内部データRAM3内に書き戻
す(ステップST21)。
【0073】VLCD部11が、分離された可変長ビデ
オデータをDMAリード転送により読み出し、1画素が
8ビットの固定長データにデコードして、ブロックのビ
デオデータとしてDMAライト転送で、内部データRA
M3内へ書き戻す(ステップST22)。
【0074】固定長にデコードされたブロック単位の画
素データは、プロセッサコア4が読み出し、読み出した
画素データに対して逆量子化処理を行う(ステップST
23)。逆量子化処理において、ステップST23では
各画素データに2つの画素が乗算され、インデックス値
がジグザグ順のマトリクスのブロックがn行m列の画素
がインデックス値(8n+m)となる標準的なインデッ
クス順のマトリクスのブロックに変換される。
【0075】逆量子化されたブロック単位の画素データ
は、プロセッサコア4内の汎用レジスタ300内にそれ
ぞれ保持され、次の逆DCT処理に使用される(ステッ
プST24)。
【0076】逆DCT処理ST24では、8×8画素か
らなる2次元のブロックを、8点の1次元逆DCT高速
アルゴリズムを使用して高速に変換する。次にブロック
の修飾情報により、逆DCT処理された画素データに対
して予測データとの加算を行うか、行わないかが決定さ
れる(ステップST25)。予測データとの加算を行う
場合、ブロックローダ部15が、DRAMI/F部12
を介して外部フレームメモリから、隣接フレームの予測
対象ブロックのデータを読み出し、DMAライト転送を
用いて内部データRAM3へ予測対象ブロックのデータ
を書き込む。
【0077】なお、MPEG標準の動画データでは、予
測データとの加算の必要性がブロックデータ6個毎に付
く修飾情報により示される。このため、ブロックローダ
15による予測対象ブロックデータの読み込みは、ブロ
ックデータのデコード処理開始と同時に開始することが
可能であり、実施の形態1のシステムLSI1では、ブ
ロックローダ部15による予測データの読み込み処理
は、プロセッサコア4の行う逆量子化処理(ステップS
T23)や逆DCT処理(ステップST24)と並列に
行う。
【0078】次に、プロセッサコア4が内部データRA
M3から予測データを読み出し、逆DCT処理(ステッ
プST24)が終了した後のデータと加算して、内部デ
ータRAM3内に書き戻す(ステップST27)。デコ
ード済みデータである加算結果は、ブロックローダ部1
5がDRAM I/F部12を介して外部フレームメモ
リ内へ書き戻す(ステップST28)。
【0079】予測データとの加算を行わない場合(ステ
ップST25)は、ブロックローダ部15が、逆DCT
処理(ステップST24)が行われた画素データを、そ
のままデコード処理済みのデータとして、外部フレーム
メモリ内へ書き込む(ステップST28)。
【0080】外部フレームメモリ内へ書き込まれたデコ
ード済みのビデオデータは、フレーム単位にビデオ出力
部13が、DRAMI/F部12を介して読み出し、バ
ス52を介して外部の画像表示装置へ出力する(ステッ
プST29)。
【0081】プロセッサコア4が行う処理ステップST
21において分離され、内部データRAM3内へ格納さ
れている圧縮されたオーディオデータは、プロセッサコ
ア4により読み出され、アンパック処理がなされる(ス
テップST30)。このアンパック処理後のデータは、
プロセッサコア4の汎用レジスタ300内へ保持され、
引き続き高速フーリエ変換処理がなされてデコード済み
のオーディオデータとして内部データRAM3内へ書き
戻される(ステップST31)。
【0082】このデコード済みのオーディオデータは、
ブロックローダ部15が実行するDMAリード転送によ
り読み出され、DRAMI/F部12を介して外部フレ
ームメモリ内へ格納される。外部フレームメモリ内に書
き込まれたデコード済みのオーディオデータは、オーデ
ィオ出力部14がDRAMI/F部12を介して読み出
し、バス53を介して外部の音声発生装置(図示せず)
へ出力する。
【0083】図2のフローチャートで示された処理の中
において、プロセッサコア4は、太枠で囲まれている処
理(ステップST21,23,24,27,30,3
1)を実行し、周辺ブロック部9は、他の処理(ステッ
プST20,22,25,26,28,29,32)を
実行する。周辺ブロック部9により実行される全ての処
理は、プロセッサコア4が起動をかけることで開始さ
れ、これにより画像処理全体のシーケンス制御が行なわ
れる。
【0084】周辺ブロック部9は、プロセッサコア4に
よる起動処理に応じて、各種専用処理を開始する。この
ような画像処理を実時間で行うシステムLSI1は、全
体のシーケンスの管理と高速データ処理を行うプロセッ
サコア4と各種専用処理を行う周辺ブロック部9が協調
して動く必要があり、従って、これらのプロセッサコア
4、周辺ブロック部9、その他の外部装置との間でデー
タを送受信し、制御するために用いられる高速通信手段
は必要不可欠のものとなる。
【0085】命令セットとレジスタ 図3は、この発明のシステムLSI1内のプロセッサコ
ア4で実行される命令のフォーマットを示す説明図であ
り、図において、101は1つの命令で2つの演算を指
示する2演算命令のフォーマット、102は1つの命令
で1つの演算を指示する1演算命令のフォーマットであ
る。
【0086】2演算命令のフォーマット101には、フ
ォーマットフィールド103とフォーマットフィールド
104からなるフォーマットフィールド、2つの演算フ
ィールド106、107及び各演算フィールドに1つず
つ付属する実行条件フィールド105がある。1演算命
令のフォーマットには、フィールド103とフィールド
104からなるフォーマットフィールド、フィールド1
08とフィールド109とフィールド110とからなる
演算フィールド及びこの演算フィールドに付属する実行
条件フィールド105がある。
【0087】図4は、フォーマットフィールド(FM)
103,104の詳細な内容を示す説明図であり、図に
おいて、フォーマットフィールド103,104の値が
FM=00の場合、この命令は2演算命令であり、演算
フィールド106で指示されたoperation_0
の演算と演算フィールド107で指示されたopera
tion_1の演算がデコード直後のクロックサイクル
で並列に実行される。
【0088】FM=01の場合、この命令は2演算命令
であり、演算フィールド106で指示されたopera
tion_0の演算がデコード直後のクロックサイクル
に実行され、演算フィールド107で指示されたope
ration_1の演算がoperation_0の演
算に対して1クロックサイクル遅れて実行される。
【0089】FM=10の場合、この命令は2演算命令
であり、演算フィールド107で指示されたopera
tion_1の演算がデコード直後のクロックサイクル
に実行され、演算フィールド106で指示されたope
ration_0の演算がoperation_1の演
算に対して1クロックサイクル遅れて実行される。
【0090】FM=11の場合、この命令は1演算命令
であり、演算フィールド108、109、110で指示
された1つの演算がデコード直後のクロックサイクルに
実行される。
【0091】図5は、実行条件フィールド(CC)10
5の詳細を示す。実行条件フィールド(CC)105
は、後述するプロセッサコア4の状態フラグF0及びF
1の値に依存して演算フィールド106,107でそれ
ぞれ示されたoperation_0の演算やoper
ation_1の演算及び演算フィールド108と10
9と110で示された演算が有効であるか無効であるか
を定める。
【0092】演算が有効であるとは、演算結果がレジス
タ、メモリ、フラグに反映され、その演算により定義さ
れた動作結果が残ることを意味し、演算が無効であると
は演算結果がレジスタ、メモリ、フラグに反映されず、
定められた演算の種類には関わらずその演算により無効
演算(NOP:no operation)と同じ結果
がレジスタやフラグに残ることを意味する。
【0093】実行条件フィールド105の値がCC=0
00のとき、演算はフラグF0、F1の値に関わらず常
に有効である。CC=001のとき、演算はF1の値に
は関わらずF0=真のときのみ有効である。CC=01
0のとき、演算はF1の値には関わらずF0=偽のとき
のみ有効である。CC=011のとき、演算はF0の値
には関わらずF1=真のときのみ有効である。
【0094】CC=100のとき、演算はF0の値には
関わらずF1=偽のときのみ有効である。CC=101
のとき、演算はF0=真かつF1=真のときのみ有効で
ある。CC=110のとき、演算はF0=真かつF1=
偽のときのみ有効である。CC=111のときの動作は
未定義であり、この値が命令で用いられることはない。
【0095】図6は、28ビット長で表現される短型の
演算フィールド106、107と54ビット長で表現さ
れる長型の演算フィールド(108、109、110で
構成)の詳細を示す説明図である。図において、短型の
演算フィールドには7つのフォーマット111、11
2、113、114、115、116、117があり、
長型の演算フィールドには1つのフォーマット118が
ある。
【0096】フォーマット111は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、レジスタ番号または6ビッ
ト長の即値を指定するフィールド123、フィールド1
23がレジスタ番号を示すか即値を示すかを指定するフ
ィールド124から構成される。このフォーマット11
1はレジスタ間接アドレッシングのメモリアクセス演算
に使用される。
【0097】フォーマット112は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、レジスタ番号または6ビッ
ト長の即値を指定するフィールド123、フィールド1
23がレジスタ番号を示すか即値を示すかを指定するフ
ィールド125から構成される。このフォーマット11
2は算術演算、論理演算、シフト演算、ビット演算に使
用される。
【0098】フォーマット113は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド126から構成される。このフォーマット113は
レジスタ指定によるジャンプ、分岐命令に使用される。
【0099】フォーマット114は、演算内容を指定す
るフィールド120、18ビット長のディスプレイスメ
ントのフィールド127から構成される。このフォーマ
ット114はジャンプ、分岐命令に使用される。
【0100】フォーマット115は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド121、レジスタ番号または12ビット長の即値を
指定するフィールド128、フィールド128がレジス
タ番号を示すか即値を示すかを指定するフィールド12
9、フィールド121がゼロ判定による条件ジャンプお
よび条件分岐を行うか否かを指定するフィールド130
から構成される。このフォーマット115は条件ジャン
プ、条件分岐命令に使用される。
【0101】フォーマット116は、演算内容を指定す
るフィールド120、レジスタの番号を指定するフィー
ルド121、レジスタ番号または12ビット長の即値を
指定するフィールド128、フィールド128がレジス
タ番号を示すか即値を示すかを指定するフィールド12
9から構成される。このフォーマット116は条件ジャ
ンプ、条件分岐命令、リピート命令に使用される。
【0102】フォーマット117は、演算内容を指定す
るフィールド120、レジスタ番号または12ビット長
の即値を指定するフィールド128、フィールド128
がレジスタ番号を示すか即値を示すかを指定するフィー
ルド129、ディレイド命令のディレイ値を指定するフ
ィールド131から構成される。このフォーマット11
7はディレイドジャンプ、ディレイド分岐命令に使用さ
れる。
【0103】フォーマット118は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、32ビット長の即値を指定
するフィールド132から構成される。このフォーマッ
ト118の演算には複雑な算術演算、大きな即値を用い
る算術演算、大きなディスプレースメント付きレジスタ
間接アドレッシングのメモリアクセス演算や大きな分岐
変位の分岐演算、絶対番地へのジャンプ演算などがあ
る。
【0104】フォーマット119は、演算内容を指定す
るフィールド120、レジスタの番号を指定する2つの
フィールド121、122、32ビット長の即値を指定
するフィールド132、フィールド132がゼロ判定に
よる条件ジャンプおよび条件分岐を行うか否かを指定す
るフィールド133から構成される。このフォーマット
119は大きな分岐変位をもつ条件ジャンプ、条件分岐
命令に使用される。
【0105】図7は、プロセッサコア4に内蔵される各
種レジスタ構成を示す図である。図において、プロセッ
サコア4には64本の32ビット長の汎用レジスタ30
0、18本の制御レジスタ150、および2本のアキュ
ムレータ18がある。汎用レジスタ300内のレジスタ
(R0)140は読み出した場合常に0で、書き込みは
無視される。
【0106】汎用レジスタ300内のレジスタ(R6
3)はスタックポインタであり、プロセッサ状態フラグ
10のSMフィールドの値に依存してユーザスタックポ
インタ(SPU)141または割り込みスタックポイン
タ(SPI)142が動作する。制御レジスタ150に
は、プログラムカウンタ151、プロセッサ状態フラグ
10や各種の専用レジスタが含まれる。
【0107】フォーマット112の演算では、64本の
汎用レジスタ300のそれぞれを上位16ビットと下位
16ビットに分けて別々にアクセスできる。また、2本
のアキュムレータ18はそれぞれ上位32ビットと下位
32ビットを別々にアクセスできる。
【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がある。
【0109】下位16ビットはフラグフィールド180
である。フラグフィールド180には8個のフラグがあ
り、その中のF0フラグ181とF1フラグ182は演
算の有効無効を制御する。各フラグの値は比較演算や算
術演算の結果に依存して変化するほか、フラグ初期化演
算で初期化したり、フラグ値書き込み演算で任意の値を
フラグフィールド180に書き込むことで変化する。ま
た、フラグ値読み出し演算でフラグフィールド180の
値を読み出すこともできる。
【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
【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 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, LE
【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-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 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-words
【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 operation
【0119】 A-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 operands
【0121】 B-2. Repeat instructions REPEAT Repeat a block of instructions REPEAT Repeat a block of instructions with immediate
【0122】パイプライン動作 図9は、一つの命令実行でなされる各処理を4段のパイ
プラインステージに割当てたパイプライン処理を示す説
明図である。図において、システムLSI1のプロセッ
サコア4では命令を実行するのに通常IF,D/A,E
/M,Wの4段のパイプラインステージで実行する。
【0123】順次発行される命令の各パイプラインステ
ージは、オーバーラップして並行して実行可能であるた
め、近年の高性能マイクロプロセッサでは、このパイプ
ライン手法を必ず使用している。各パイプラインステー
ジは、クロックのハイレベル(Hレベル)の期間(前
半)とロウレベル(Lレベル)の期間(後半)に同期し
たレジスタで構成されており、各種処理はこれらレジス
タ間で実行される。そのため、各パイプラインステージ
の処理は前半、後半に分けて考えることができる。
【0124】まず、IFステージで命令フェッチが実行
され、D/Aステージでその命令のデコードが実行され
る。そして、同じくD/Aステージの前半から汎用レジ
スタ300からデータの読み出処理が開始され、後半で
データアクセスのためのオペランドアドレス計算がなさ
れる。
【0125】E/Mステージでは、演算及びデータメモ
リアクセスが実行される。そして、Wステージの後半で
演算結果の汎用レジスタ300への書き込みが実行され
る。これが1命令を実行する際のパイプライン的な処理
の概要である。
【0126】図7で示した制御レジスタCR0〜CR1
7へのリード/ライト処理は、E/Mステージの後半で
行われる。
【0127】プロセッサコア4の詳細なブロック図 図10〜14は、図1に示したこの発明のシステムLS
I1内のプロセッサコア4を中心とした詳細なブロック
構成を示すブロック図である。図10〜14では、主と
して、図1で示したプロセッサコア4内のコアデータパ
ス部5とコア制御部6内の詳細なブロック構成が示され
ている。コア制御部6にはこの発明の特徴の1つである
周辺制御部7が内蔵されている。
【0128】データパス部5は、図9で示した4段のパ
イプラインステージ(IF、D/A、E/M、W)に基
づいて命令の実行を行うブロックである。図10〜14
に示すシステムLSI1の詳細図において、汎用レジス
タ300を境にして左側の部分(図12、図13)がメ
モリアクセス制御やプログラム制御を行うメモリアクセ
スユニットであり、汎用レジスタ300を境にして右側
の部分(図14)が全ての乗算命令も含む全ての整数演
算を行う整数演算ユニットである。これらメモリアクセ
スユニットと整数演算ユニットでは、図3で示した命令
コードに含まれる2個の副命令が並行して実行される。
【0129】図12、図13に示すメモリアクセスユニ
ットには、ALU301、シフタ302がある。またそ
の他メモリアクセス制御、プログラム制御等を行なうた
めの各種演算器やレジスタ等が含まれている。30は、
命令フェッチ処理の際に、命令RAMへ命令アドレスバ
ス20を介して命令アドレスを出力する命令レジスタで
ある。
【0130】IFステージで命令フェッチが完了する
と、インクリメンタ31で8バイトアドレス分インクリ
メントし、レジスタ32を介して命令レジスタ30を更
新する。
【0131】36はメモリへのストア処理を行なう際
に、ストアデータの整値を行なうためのデータ整値部で
ある。37,38はメモリからのロードデータの符合拡
張を行なうための符号拡張部である。
【0132】303は、メモリ領域を循環バッファとし
て利用するモジュロアドレッシングで使用するロードと
ストア命令実行時のポストインクリメント/デクリメン
ト処理を行なうためのインクリメンタである。33は、
ロード/ストア処理のデータアドレスの計算や分岐命令
の飛び先アドレスの計算を行なうための加算器である。
またCR0〜CR17は、図7で示した制御レジスタで
あり、制御レジスタCR0〜CR17の一部はコア制御
部6に内蔵されている。
【0133】304はプログラムカウンタCR0をイン
クリメントするためのインクリメンタである。305は
リピート命令やディレイド分岐命令を実行する際に、リ
ピートカウントレジスタCR6の値やリピートエンドア
ドレスレジスタCR8の値を計算するための加算器であ
る。306は、リピートカウントレジスタの値をデクリ
メントするためのデクリメンタである。310は、命令
ブレークアドレスレジスタCR11の値とプログラムカ
ウンタCR0の値を比較し、同じ値であれば一致信号を
出力する32ビット比較器である。
【0134】311は、リピートカウントレジスタCR
6の値が0以上であれば有効となる信号を出力する32
ビット比較器である。312は、リピートエンドアドレ
スレジスタCR8の値と命令レジスタ30の値を比較
し、同じ値であれば一致信号を出力する32ビットの比
較である。313は、モジュロエンドアドレスレジスタ
CR10の値とインクリメンタ303の値が同じであれ
ば一致信号を出力する32ビット比較器である。
【0135】314は、モジュロアドレッシング次にイ
ンクリメント/デクリメントされたアドレスを保持して
いるレジスタe1rmincの値が0であれば有効とな
る信号を出力する32ビット比較器である。315は、
D1S6BUSバスの値が0であれば有効となる信号を
出力するための32ビット比較器である。
【0136】また、図14に示した整数演算ユニットに
は、乗算命令の実行を行う乗算部320、ALU32
1、シフタ322、そして飽和演算を行うための演算部
323がある。またA0,A1は、図6で示した積和演
算等を行なう際の累積加算等を行なうための2本のアキ
ュムレータである。
【0137】また、D1S1BUS,D1S2BUS,
D1S3BUS,D1S4BUS,D1S5BUS,D
1S6BUSは、汎用レジスタ300からのリードバス
であり、D1S1BUSのD1とはDステージの前半に
バスがドライブされることを示している。これら先頭に
D1の付いているバスをD1同期バス群と呼ぶ。
【0138】また、W1W1BUS,W1W2BUS,
W1W3EBUS,W1W3OBUSは、汎用レジスタ
300へのライトバスであり、W1W1BUSのW1と
はWステージの前半にバスがドライブされることを示し
ている。これら先頭にW1の付いているバスは同様にW
1同期バス群である。
【0139】また、D2S1BUS,D2S2BUS,
D2S3BUS,D2S4BUS,D2S5MBUS,
D2S5IBUS,D2S6BUSは、D1同期バス群
のデータを、クロックのLレベルの期間に同期したレジ
スタに取り込んだ値を出力しているバスであり、Dステ
ージの後半にバスがドライブされる。
【0140】また、E2D1BUS,E2D3BUS,
E2D4BUSは、制御レジスタの値や演算器の値を保
持するレジスタの値をEステージの後半に出力するバス
である。これらステージとその前半、後半の異なるバス
間におけるデータのやり取りは、タイミングを調整する
ためのレジスタを介して行われる。
【0141】また、330はコア制御部6で命令コード
より切り出された即値データである。43はコア制御部
内ののPSWレジスタCR1の値をE2D1BUSに読
み出すための経路である。47はE1CRBUSの値を
コア制御部内の制御レジスタに書き込むための経路であ
る。これらコア制御部6内の制御レジスタもコアデータ
パス部内にある制御レジスタと同様に、制御レジスタア
クセス専用命令MVFSYS,MVTSYS命令を用い
てウェイトなしでリード/ライト処理可能である。
【0142】340〜349は、連続処理命令間で発生
するデータ干渉によるパイプライン処理のウェイトを回
避するためのバイパス処理を行うための経路である。先
行命令の各種演算結果は、汎用レジスタ300へ書き戻
されると同時に、後続命令で使用するためにD2バス同
期群に出力される。
【0143】コア制御部6は、命令バス25から出力さ
れる命令コードをデコード処理し、コアデータパス部5
の制御を行うための各種制御信号を生成する。命令バス
25から入力された命令コードは、セレクタ350で選
択され、即値生成や汎用レジスタ300のリード/ライ
トの制御信号を生成するプリデコード部352に転送さ
れる。これと同時に命令レジスタ351に取り込まれ、
図12、図13に示したメモリアクセスユニットと図1
4に示した整数演算ユニット用のそれぞれのDステージ
のデコーダ部353,354に出力される。
【0144】図3で示したように、命令コードのFMビ
ットがFM=01かFM=10であった場合、命令コー
ドに含まれる2個の副命令がそれぞれシリアルに実行さ
れる。この制御を行うためにシリアル実行用の命令レジ
スタ355を備えており、シリアル実行時には、2番目
に実行される副命令を一度レジスタ355に保持し、経
路356でセレクタ350にフィードバック制御を行
う。また連続処理命令間で発生するデータ干渉をパイプ
ラインのウェイト処理で回避するパイプライン・インタ
ーロック処理のための命令レジスタ357も備えてお
り、この処理実行時にも命令コードをフィードバック制
御する。
【0145】コア制御部6には命令デコード部ばかりで
なく、図1で示した周辺制御部7を内蔵している。周辺
制御部7内には周辺状態レジスタ45と割り込み有効レ
ジスタ(割込有効制御手段)44が内蔵されている。周
辺状態レジスタ(状態監視制御レジスタ)45には、周
辺ブロック部9から得られた状態ビット信号41が入力
される。これら周辺状態レジスタ45と割り込み有効レ
ジスタ44は、他の制御レジスタCR1,CR3,CR
5と同様に、コアデータパス部のE1CRBUSの値を
バス47を介して書き込み可能であり、これら制御レジ
スタの一つをセレクトしてバス43からコアデータパス
部内のE2D1BUSに読み出し可能である。
【0146】これら制御レジスタへのアクセスは、制御
レジスタアクセス専用命令MVFSYS、MVTSYS
命令を用いてウェイトなしで可能である。
【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である。
【0148】プロセッサコア4が、周辺ブロック部9内
の各部の周辺制御レジスタにコマンドを書き込み処理の
起動をかけると、図15に示す周辺状態レジスタ内の各
状態ビットは0になり各種専用処理中であることを示
す。そして周辺ブロック部9内の各部に応じた専用処理
が完了すれば、これら状態ビットが1になり専用処理が
完了したことを示す。
【0149】また、SHEは、VLCD部でハフマンコ
ードの符号復号処理でエラーが発生したときに1にな
る。またSMTは、MUTE#信号がアサートされた時
に1となる。またSVDは、VO_NPBの書き込みが
有効である時に1となる。
【0150】図16は、図10〜14で示したシステム
LSI1内の割り込み有効レジスタの詳細を示す説明図
であり、図において、割り込み有効レジスタ44は、制
御レジスタ転送命令で読み出し可能であり、32ビット
で構成されている。割り込み有効レジスタ44の0〜1
1ビットに割り込み有効ビットが存在し、これらの値は
それぞれ周辺状態レジスタの0〜11ビットに対応して
いる。すなわち割り込み有効レジスタの割り込みビット
が1であり、かつ周辺状態レジスタのその割り込みビッ
トに対応する状態ビットが1である時に、プロセッサコ
ア4内で割り込み処理が発生する。
【0151】図16に示した割り込み有効レジスタのリ
セット後は、割り込み有効レジスタの割り込みビットは
0であり、周辺状態レジスタの状態ビットが1であるが
割り込みは発生しない。周辺ブロック部9内の各部の専
用処理の完了時点で割り込み処理を起こしたい場合に
は、プロセッサコア4が周辺ブロック部9に対して専用
処理の起動をかけた後に、その周辺ブロック部9の状態
ビットに対応した割り込みビットに1をセットしておく
必要がある。
【0152】図17は、プロセッサコア4内における、
割り込み有効レジスタと周辺状態レジスタとを内蔵した
周辺制御部7の詳細な構成を示すブロック図であり、図
において、44は割り込み有効レジスタ、45は周辺状
態レジスタである。
【0153】周辺状態レジスタ45には、周辺ブロック
部9内の各部10〜17の周辺制御レジスタの状態ビッ
トの値が転送される専用信号線41が接続されている。
この専用信号線41の値は、状態ビット値保持レジスタ
77に取り込まれる。また割り込み有効レジスタ44に
は、この状態ビット保持レジスタに対応した割り込みレ
ジスタ76が内蔵されており、この割り込みレジスタに
は図10〜14で説明したようにE1CRBUSバスの
値が転送されるバス47を介して、制御レジスタアクセ
スの専用命令を実行することで、プロセッサコア4が値
を書き込みできる。
【0154】割り込み有効レジスタ44中の割り込みレ
ジスタ76の値と、周辺状態レジスタ45中の状態ビッ
ト値保持レジスタの値は、プロセッサコア4の制御レジ
スタアクセスの専用命令により、セレクタ70を介して
バス43からE2D1BUSバス上へ読み出し可能であ
る。
【0155】セレクタ70には、制御レジスタCR1,
CR3,CR5の値もまたバス78を介して同様に読み
出し可能である。このように、周辺ブロック部9内の各
部の動作状態を示す状態ビットの値を、プロセッサコア
4が、パイプラインのウェイト無しで制御レジスタアク
セスの専用命令を実行し、読出しをすることにより、周
辺ブロック部9の処理状況に即座に対応した処理を、プ
ロセッサコア4が開始可能である。
【0156】また、割り込み有効レジスタ76の値と状
態ビット値保持レジスタ77の値は、ANDゲート71
でAND処理され、その処理結果である出力72aは、
ORゲート73で割り込み信号として出力される。OR
ゲート73には、他の割り込みレジスタ値と状態ビット
値保持レジスタとの値がAND処理された信号72b,
72cへも入力されている。このように割り込み有効レ
ジスタ44の値を制御することにより、周辺ブロック部
9での状態の変化に基づいて、割り込みを発生の有無を
容易に制御することが可能である。
【0157】図18は、周辺状態レジスタを用いてプロ
セッサコア4と周辺ブロック部9との間の通信手順を示
すタイミングチャートであり、図において、(a)は、
プロセッサコア4から周辺ブロック部9へ出力される信
号を示しており、(b)は、周辺ブロック部9からプロ
セッサコア4へ出力される信号を示している。
【0158】クロック(1)でプロセッサコアが周辺ブ
ロック部9内のあるブロック部(A)に対して制御レジ
スタライトリクエストを出力し、周辺ブロック部(A)
内の周辺制御レジスタにコマンドの書き込みを行う。こ
の制御レジスタへのデータライト処理の手順は、従来例
の場合を示した図26で説明したものと同様である。
【0159】この制御レジスタライト処理が完了したク
ロック(5)から、周辺ブロック部(A)の稼動が始ま
り、周辺ブロック部(A)内の周辺制御レジスタの状態
ビットがLレベルとなる。この状態ビットがLレベルで
ある期間が、周辺ブロック部Aの稼動期間と一致する。
周辺ブロック部(A)の稼動期間が終了するクロック
(16)の辺りで、他の周辺ブロック部(B)が内部デ
ータRAMに対してDMA転送を行っている場合、従来
例の場合を示した図27で説明したように、プロセッサ
コア4は周辺ブロック部(A)内の周辺制御レジスタに
アクセスすることは不可能である。
【0160】しかし、プロセッサコア制御部6に位置す
る周辺状態レジスタ45へ専用命令でアクセスすれば、
最速で、即ち、クロック(14)でこの命令を発行した
場合に、パイプラインのEステージで状態ビットがHレ
ベルであることを検知できる。これにより、プロセッサ
コア4は、周辺ブロック部(A)の処理完了を考慮した
処理をプロセッサコア4は、即座に開始可能であり、プ
ロセッサコア4が中心となって行うシステム処理をスム
ーズに行うことが可能である。特に、MPEG2規格の
ような高性能処理が要求される動画像復号処理を実時間
で行う実施の形態1のシステムLSI1においては、プ
ロセッサコア4だけの性能では全ての処理を効率良く、
高速で実行することは不可能であり、専用的な処理を行
う周辺ブロック部9を内蔵することは不可欠である。
【0161】そして、上記した構成を備えた実時間処理
を行うシステムLSIでは、プロセッサコア4と周辺ブ
ロック部9とが、DMA転送処理により、内部データR
AM3を介して高速にデータのやり取りを実行でき、か
つプロセッサコア4は、周辺ブロック部9内の各部の処
理状況を高速に把握できる。
【0162】以上のように、この実施の形態1によれ
ば、プロセッサコア4と周辺ブロック部9において、周
辺ブロック部9内のブロック部10〜17の各々で実行
された専用処理が完了したことを示すデータ、即ち、周
辺ブロック部9内の専用処理状況を反映した状態ビット
を、専用信号線を介してプロセッサコア4内の制御レジ
スタである周辺状態レジスタ45内に取り込み、プロセ
ッサコア4が制御レジスタ45の内容を読み出すための
専用命令、例えば、制御レジスタ転送命令等を実行する
ことで、この制御レジスタ45内に格納された周辺ブロ
ック部での動作状況を示すデータを獲得できるので、周
辺ブロック部で実行される専用の処理状況を、プロセッ
サコア4はパイプライン動作をウェイトすることなく、
即座に把握できるという効果がある。また、周辺ブロッ
ク部で実行される専用の処理が完了したことを示すデー
タ、即ち、周辺ブロック部の専用処理状況を反映した状
態ビットを、専用信号線を介してプロセッサコア4内の
制御レジスタである周辺状態レジスタ45内に取り込
み、さらにプロセッサコア4が、割り込み有効レジスタ
44に対してデータを書き込む専用命令を用いて、周辺
状態レジスタ45内の値に対応した値、即ち、割り込み
有効レジスタ44内の割り込みレジスタ76内へ値をセ
ットするように構成したので、周辺ブロック部9の専用
処理状況に応じて割り込み処理等を即座に開始でき、プ
ロセッサコア4は、周辺ブロック部9内の各部の処理状
況を即座に高速で把握し、また制御できるという効果が
ある。
【0163】実施の形態2.図19は、この発明の実施
の形態2,3に係わるシステムLSIを示すブロック図
であり、主としてプロセッサコア4、内部命令RAM
2,内部データRAM3を示している。図19に示す実
施の形態2のシステムLSIでは、プロセッサコア4と
周辺ブロック部9との間の高速通信を実現するものであ
る。このプロセッサコア4は、周辺状態レジスタ(PS
T2、状態監視制御手段)89を内蔵している双方向バ
ッファ部8−1を含んでおり、これにより周辺ブロック
部9との間で高速のデータ転送を実行する。その他の構
成要素は、実施の形態1のシステムLSIのものと同じ
なので、同一参照番号を用いてそれらの説明を省略す
る。
【0164】実施の形態2のシステムLSIは、プロセ
ッサコア4と内部データRAM3、そして周辺ブロック
部9との間のデータ転送を制御する双方向バッファ部8
−1内に、周辺ブロック部9内の各部の状態を示した情
報を保持するレジスタを組み込んでいる。そして、周辺
ブロック部9から内部データRAM3へのDMAライト
転送のライトデータの最後に、周辺ブロック部9内の各
部の状態情報を付加することにより、DMAライト転送
処理によって終了する周辺ブロック部9の処理に対する
プロセッサコア4の状況把握を高速に実行するものであ
る。
【0165】図1に示した実施の形態1のシステムLS
I1で説明したように、プロセッサコア4と内部命令R
AM2との間は、命令アドレスバス20とデータバス2
2で接続されており、読み出された命令コードはバス2
3で出力される。またプロセッサコア4と内部データR
AM3との間は、データアドレスバス21とデータバス
22で接続されている。また、プロセッサコア4と周辺
ブロック部9との間は、アドレスバス26とデータバス
27で接続されている。
【0166】命令フェッチを行うために命令アドレスバ
ス20には、セレクタ88を介して命令レジスタ30内
に保持されている命令アドレスが出力される。内部命令
RAM2は、命令アドレスを受け取るとバス23に命令
コードを出力する。命令フェッチは64ビット単位で行
われるため、一度、命令フェッチが行われるとインクリ
メンタ31によって命令アドレスに8が加算され、加算
された命令アドレスは、次の命令フェッチのために使用
される。
【0167】また、データアクセスを行うためのアドレ
スバス21には、アドレス計算用の加算器33で加算さ
れたデータアドレスがラッチ34,35と3ステートバ
ッファ66を介して出力される。
【0168】データアクセスがリード処理であった場
合、内部データRAM3は3ステートバッファ62を介
して所望のデータをバス22に出力する。プロセッサコ
ア4はそのデータを符号拡張部37,38を介してその
データを取り込む。
【0169】データアクセスがライト処理であった場
合、プロセッサコア4は、データ整値部36と3ステー
トバッファ39を介してデータをバス22に出力する。
内部データRAM3では、そのデータを3ステートバッ
ファ63を介して所定のアドレス位置に格納する。
【0170】データアドレスバス21は、内部データR
AM3に出力されるばかりでなく、周辺ブロック部9へ
のアクセスを行うために双方向バッファ部8−1へも出
力される。そのデータアドレスは、3ステートバッファ
82を介して周辺ブロック部9のアドレスバス26に出
力される。周辺ブロック部9へのデータアクセスが制御
レジスタ等のリード処理であった場合、バス27を介し
て読み出された制御レジスタの内容は、3ステートバッ
ファ68を介してバス22に出力される。
【0171】プロセッサコア4は、符号拡張部37,3
8からそのデータを取り込む。また周辺ブロック部9へ
のデータアクセスが制御レジスタ等のライト処理であっ
た場合、プロセッサコア4がデータ整値部36と3ステ
ートバッファ39を介してバス22に出力したデータ
は、3ステートバッファ69を介して周辺データバス2
7に出力され、所定の制御レジスタ内へ格納される。
【0172】またプロセッサコア4が、内部命令RAM
2から命令コードをデータとして読み出したり、命令コ
ードを格納したりする場合には、まず、データアドレス
を経路87とセレクタ88を介して内部命令RAM2へ
出力する。そのアクセスがリード処理である場合には、
3ステートバッファ60,65を介してバス22に出力
された命令コードを符号拡張部37,38から取り込
む。
【0173】またアクセスがライト処理であった場合に
は、データ整値部36と3ステートバッファ39を介し
てバス22に出力された命令コードを3ステートバッフ
ァ64,61を介して命令RAM2の所定の位置に格納
する。
【0174】さらに周辺ブロック部9が、直接に内部デ
ータRAM3内の領域に対してDMA転送を行う場合に
は、周辺ブロック部9がプロセッサコア4からアドレス
バス21とデータバス22とのバス権を獲得した後に処
理が開始される。
【0175】周辺ブロック部9がバス26に出力したデ
ータアドレスは、経路87とレジスタ87と3ステート
バッファ81を介してデータアドレスバス21に出力さ
れ、内部データRAM3内へ転送される。DMA転送が
リード処理であった場合には、内部データRAM3から
3ステートバッファ62を介してバス22に出力された
データは、3ステートバッファ69を介してデータバス
27に出力され周辺ブロック部9に転送される。
【0176】DMA転送がライト処理であった場合に
は、周辺ブロック部9がデータバス27に出力したデー
タは、3ステートバッファ68を介してバス22に出力
される。内部データRAM3では、3ステートバッファ
63を介して所定の位置にそのデータを格納する。この
DMA転送ライト処理を行う場合に、周辺状態レジスタ
(PST2)89に周辺ブロック部9の処理状況の情報
を取り込む。
【0177】この周辺状態レジスタ(PST2)89を
含む双方向バッファ部8−1は、プロセッサコア4と周
辺ブロック部9間に位置し、周辺ブロック部9内の制御
レジスタのリード処理を実行する場合より高速でアクセ
スすることが可能である。
【0178】そして、これらDMAリード/ライト転送
は、大量のデータを高速で転送するために使用される場
合が多く、通常はデータRAM3内の連続領域に対して
アクセスが発生する場合が多い。その場合には、その連
続領域のアドレス加算を加算器80が行い、双方向バッ
ファ部8−1内のアドレス加算機構が周辺ブロック部9
の代わりに連続アドレスを出力する。
【0179】図20は、双方向バッファ8−1内の周辺
状態レジスタ(PST2)89を用いた場合の、プロセ
ッサコア4と周辺ブロック部9との間の通信手順を示す
タイミングチャートであり、図において、(a)は、プ
ロセッサコア4から周辺ブロック部9へ出力される信号
を示しており、(b)は、周辺ブロック部9からプロセ
ッサコア4へ出力される信号を示している。
【0180】プロセッサコア4は、クロック(1)で制
御レジスタライト処理を発行し、周辺ブロック部(A)
の制御レジスタに専用処理起動用のコマンドを書き込
む。この制御レジスタライト処理はクロック(1)〜
(4)の期間に行われ、図26に示した従来例で説明し
た手順と同様に行われる。
【0181】周辺ブロック部(A)では、プロセッサコ
ア4から専用処理が起動されるとクロック(5)から専
用処理を行うための稼動期間となる。そして周辺ブロッ
ク部(A)では、目的である専用処理を実行し、得られ
た処理結果を内部データRAM3内へ書き込むために、
クロック(14)からDMAライト転送処理リクエスト
を出力する。
【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内の所定のアドレス領域に書き込まれ
る。
【0183】図26で示した従来例の場合と比較する
と、図20に示す実施の形態2のシステムLSIの場合
のDMAライト転送の手順が、従来のDMAライト転送
と異なる点は、DMAアドレス有効信号がクロック(2
0)でネゲートされても、周辺ブロック部AからのDM
Aライトリクエストがクロック(20)もアサートされ
続けるためであり、このクロック(20)で、周辺ブロ
ック部(A)は処理状況を示すデータPSTを周辺デー
タバス27上へも出力する。すなわち、DMAライト転
送処理データに処理状況データPSTを付加する。
【0184】そしてクロック(21)で、プロセッサコ
ア4は、PST2レジスタライト信号をアサートし、こ
の処理状況データを双方向バッファ部8−1の周辺状態
レジスタ(PST2)89内に格納する。プロセッサコ
ア4は、周辺ブロック部(A)のDMAライト転送が完
了したクロック(22)内で、双方向バッファ部8−1
内の周辺状態レジスタに対する制御レジスタリードアク
セスを行う。このアクセスは、ウェイト処理なしで実行
可能であるためクロック(22)期間中にプロセッサコ
ア4は読み出し動作を実行できる。
【0185】通常、周辺ブロック部9では、プロセッサ
コア4が起動をかけた後に、所定の専用処理を行った後
にDMAライト転送で処理結果を内部データRAM3内
へ格納する場合が多い。このような場合に、DMAライ
ト転送手順の転送データの後続に周辺処理状況データを
付加し、そのデータをプロセッサコア4がウェイトなし
で読み出せる双方向バッファ部8−1内の周辺状態レジ
スタ89内等に格納することで、プロセッサコア4が、
即座に周辺ブロック部9内の各部の専用処理状況を把握
することができ、それに対応した処理を開始可能であ
る。この周辺処理状況データとしては、現在行ったDM
Aライト転送がどの周辺ブロック部で実行されたもので
あるか、何回目のDMAライト転送であるか、周辺処理
は完了したか等の情報がある。
【0186】以上のように、この実施の形態2によれ
ば、プロセッサコア4と周辺ブロック部9との間の通信
手順において、プロセッサコア4と内部データRAM
3、そして周辺ブロック部9との間のデータ転送を制御
する双方向バッファ部8−1内に、周辺ブロック部9内
の各ブロック部10〜17の動作状態を示すデータを保
持する周辺状態レジスタ89を設け、周辺ブロック部9
と内部データRAM3との間で実行されるDMAライト
転送におけるライトデータの最後に、各ブロック部10
〜17の動作状態を示すデータを付加し、プロセッサコ
ア4は、各周辺ブロック部でのDMAライト転送等の処
理の状況を、即座かつ高速に把握できる効果がある。
【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のものと同じなの
で、同一参照番号を用いてそれらの説明を省略する。
【0188】さらに、このDMAリード転送の先頭デー
タに、周辺ブロック部9で専用処理を行うための処理モ
ード情報を付加し、周辺ブロック部9内の各部では、こ
の先頭データである処理モード情報に基づいて後続デー
タに対する処理モードを決定する機構を備えることで、
周辺ブロック部9での処理開始のための手順も高速化し
ようとするものである。
【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を介して書き込み可
能となる。
【0190】図21は、周辺ブロック部9内の各部に対
して処理の起動をかける機構を備えた周辺起動制御レジ
スタを示すブロック図であり、図において、90は周辺
起動制御レジスタ、44は割り込み有効レジスタであ
る。この割り込み有効レジスタ44は、図17で説明し
たように、プロセッサコア4内に組み込まれた周辺制御
部7内の割り込み有効レジスタ44と同じ構成を持つも
のである。同様に、周辺起動制御レジスタ90は周辺制
御部7内に組み込まれている。
【0191】これらの割り込み有効レジスタ44と起動
レジスタ90は、制御レジスタ転送専用命令によりE1
CRBUSの内容をバス47を介して、それぞれ割り込
みレジスタ76と起動ビットレジスタ91内へ書き込み
可能である。また、これら割り込みレジスタ76と起動
ビットレジスタ91の内容は、制御レジスタ転送専用命
令によりセレクタ70からバス43を介して、図10〜
14で説明したシステムLSI内のE2D1BUSバス
上へ読み出し可能である。
【0192】セレクタ70は、コア制御部6内の他の制
御レジスタの値をも経路78を介して読みだし可能であ
る。起動ビットレジスタ91にプロセッサコア4から値
がセットされると、周辺ブロック部9に接続された起動
信号線48がアサートされ周辺ブロック部9内の各部で
の専用処理に対して起動がかけられる。
【0193】周辺ブロック部9内の状態ビット信号線4
1は、この起動ビットレジスタ91のクリア端子に接続
されており、状態ビット信号線41がアサートされると
起動ビットレジスタの値はネゲートされる。起動ビット
レジスタ91の出力の反転信号は、割り込み有効レジス
タ76の値とANDゲート71でAND処理されてお
り、その出力72aは、ORゲートに入力されて割り込
み信号74として出力される。
【0194】ORゲート73には、他の割り込み有効レ
ジスタの出力と起動ビットレジスタ91の反転出力のA
ND処理結果72b,72cが入力されており、割り込
み信号74がアサートされるとプロセッサコア4では割
り込み処理が発生する。
【0195】図22は、双方向バッファ部8−1内のア
ドレスレジスタとアドレス加算機構80、そして起動ビ
ットレジスタ91を用いた場合の、プロセッサコア4と
周辺ブロック部9との間の通信手順を示すタイミングチ
ャートであり、図において、(a)は、プロセッサコア
4から周辺ブロック部9へ出力される信号を示してい
る。
【0196】実施の形態3のシステムLSIにおける通
信手順では、プロセッサコア4が周辺ブロック部9へD
MAリード転送で処理が開始される専用処理の起動をか
ける場合、まず、クロック(3)でプロセッサコア4
は、制御レジスタライトリクエストを発行し、1クロッ
クサイクルで双方向バッファ部8−1内のアドレスレジ
スタ83にアドレスA11を格納する。
【0197】次に、クロック(4)で、プロセッサコア
4は、内部データRAM3のアドレスA11内に、周辺
ブロック部9の処理モード情報であるPGをストア処理
を用いて格納する。さらにクロック(5)では、プロセ
ッサコア4は、周辺制御部7内の起動レジスタに、制御
レジスタアクセスの専用命令で起動ビットレジスタをセ
ットする。周辺制御部7内の起動レジスタ内に起動ビッ
トがセットされると、周辺ブロック部9に対する起動信
号が、周辺ブロック部9に対してアサートされる。
【0198】この起動信号を受信すると、周辺ブロック
部9は、クロック(6)からDMAリード転送リクエス
トを発行する。クロック(7)で、DMAリード転送ア
クノリッジ信号を周辺ブロック部9が受け付けると、周
辺ブロック部9は、高速DMAアドレス有効信号を出力
する。この信号でDMAリード転送を行う場合は、周辺
ブロック部9は、このDMAリード転送の先頭アドレス
を出力せずに、双方向バッファ部8−1が周辺ブロック
部9に代わってアドレスA11を出力し、その後のアド
レスインクリメント処理も行う。
【0199】DMAリード転送処理で内部データRAM
から読み出された先頭データは、クロック(4)で、プ
ロセッサコア4がセットした処理モード情報PGであ
り、処理されるデータD11〜D15はこれに続く。そ
して、DMAリード処理転送では、読み出された一連の
データ群の先頭に処理モード情報が埋め込まれ、これに
続くデータ群が周辺ブロック部9で処理されるべきデー
タとなる。
【0200】図23は、DMA転送データの先頭データ
により処理モードを決定する機構を備えた周辺ブロック
部200を示すブロック図である。この実施の形態3に
おける周辺ブロック部200は、図1に示した周辺ブロ
ック部9内の各ブロック部10〜17内に、周辺制御レ
ジスタ等を含む周辺ブロック制御部201と周辺データ
処理部202とを内蔵したものである。
【0201】周辺ブロック制御部201には、周辺起動
信号48と周辺状態信号41とDMA転送信号線群と周
辺アドレスバス26により構成されるプロセッサコアイ
ンタフェースを備えている。さらに周辺ブロック制御部
201には、周辺データバスからのデータ入力経路20
3と、周辺データ処理部を制御するための制御信号線2
04と、外部アドレスバス210が接続されている。
【0202】また、周辺処理データ部202には、周辺
データバス27と外部データバス211が接続されてい
る。図22で示したプロセッサコア4から送信された処
理起動手順のように、DMAリード処理で転送されてい
くるデータの先頭に、処理モード情報が付加されている
場合には、周辺ブロック部(A)200は、この処理モ
ード情報を経路203を介して周辺ブロック制御部20
1内へ取り込む。そして、周辺ブロック部(A)200
は、この取り込まれた処理モード情報を解釈して得られ
た情報を基にして、転送されてくる後続データの処理を
実行する。
【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における処理開始手順を高速に
開始できるという効果がある。
【0204】
【発明の効果】以上のように、この発明によれば、プロ
セッサコアと周辺ブロック部とは、周辺ブロック部内の
各ブロック部で実行される専用処理の完了を示すデー
タ、即ち、周辺ブロック部内の専用処理状況を反映した
状態ビットを、専用信号線を介してプロセッサコア内の
制御レジスタである周辺状態レジスタ内に取り込み、プ
ロセッサコアが、制御レジスタを読み出す制御レジスタ
転送命令等の専用命令を実行して、この周辺状態レジス
タ内に格納された値を読出し獲得するように構成したの
で、各周辺ブロック部の専用処理状況を、プロセッサコ
アはウェイトなしで高速に把握できるという効果があ
る。
【0205】この発明によれば、プロセッサコアと周辺
ブロック部とは、周辺ブロック部での専用処理の完了を
示すデータ、即ち、周辺ブロック部内の専用処理状況を
反映した状態ビットを、専用信号線を介して、プロセッ
サコア内の制御レジスタである周辺状態レジスタ内に取
り込み、さらに、制御レジスタに対してデータを書込む
専用命令等を用いて、プロセッサコアは、周辺状態レジ
スタ内の値に対応して、割り込み有効レジスタ内の割り
込みレジスタに値をセットするように構成したので、周
辺ブロック部の専用処理状況に応じて、割り込み処理を
発生させることができるという効果がある。
【0206】この発明によれば、プロセッサコアと周辺
ブロック部との間のデータ通信において、プロセッサコ
アと、内部データRAMと、周辺ブロック部との間のデ
ータ転送を制御する双方向バッファ部内に、周辺ブロッ
ク部内の動作状態を示すデータを保持する周辺状態レジ
スタを設け、周辺ブロック部から内部データRAMへの
DMAライト転送のライトデータの最後に周辺ブロック
部の動作状態を示すデータを付加するように構成したの
で、プロセッサコアは、周辺ブロック部でのDMAライ
ト転送等の動作状態を、ウェイト無しで高速に把握でき
るという効果がある。
【0207】この発明によれば、プロセッサコアと周辺
ブロック部と間のデータ通信において、プロセッサコ
ア、内部データRAM、周辺ブロック部との間のデータ
転送を制御する双方向バッファ内に、プロセッサコアに
より書き込み可能なアドレスレジスタと、このアドレス
をインクリメントするアドレス加算機構を備え、かつ、
プロセッサコア制御部内に、周辺ブロック部に起動を行
うためのデータを格納する周辺起動制御レジスタを持た
せるように構成したので、内部データRAMから周辺ブ
ロック部へのDMAリード転送を、ウェイト無しで高速
に開始できるという効果がある。
【0208】この発明によれば、周辺ブロック部内の各
ブロック部は、プロセッサコアからの起動に対して、D
MAリード転送等の処理を開始し、このDMAリード転
送の先頭データに付加された周辺ブロック部で専用処理
を行うための処理モードを、周辺ブロック部内の周辺ブ
ロック制御部内に取り込み、この先頭データに基づい
て、後続データの処理モードを決定するように構成した
ので、周辺ブロック部における処理開始手順を高速に開
始できるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1係わるシステムLS
Iを示すブロック図である。
【図2】 図1に示す実施の形態1システムLSIにお
けるMPEG2規格の画像復号処理を示すフローチャー
トである。
【図3】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
【図4】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
【図5】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
【図6】 プロセッサコアが実行する命令フォーマット
を示す説明図である。
【図7】 プロセッサコアのレジスタ構成を示す説明図
である。
【図8】 プロセッサコアのレジスタ構成を示す説明図
である。
【図9】 プロセッサコアで実行されるパイプライン処
理を示す説明図である。
【図10】 プロセッサコアの詳細な構成を示す回路図
である。
【図11】 プロセッサコアの詳細な構成を示す回路図
である。
【図12】 プロセッサコアの詳細な構成を示す回路図
である。
【図13】 プロセッサコアの詳細な構成を示す回路図
である。
【図14】 プロセッサコアの詳細な構成を示す回路図
である。
【図15】 周辺状態レジスタの詳細な構成を示す説明
図である。
【図16】 割込み有効レジスタの詳細な構成を示す説
明図である。
【図17】 周辺制御部の詳細な構成を示すブロック図
である。
【図18】 周辺状態レジスタを用いた通信手順を示す
タイミングチャートである。
【図19】 この発明の実施の形態2,3に係わるシス
テムLSI内の主として双方向バッファ部の詳細な構成
を示すブロック図である。
【図20】 双方向バッファ部内の周辺状態レジスタを
用いてプロセッサコアと周辺ブロック部との間の通信手
順を示すタイミングチャートである。
【図21】 この発明の実施の形態3に係わるシステム
LSI内の主として周辺起動制御レジスタ等を示すブロ
ック図である。
【図22】 双方向バッファ内のアドレスレジスタ、ア
ドレス加算機構、起動レジスタを用いて実行されるプロ
セッサコアと周辺ブロック部と間の通信手順を示すタイ
ミングチャートである。
【図23】 この発明の実施の形態3に係わるシステム
LSI内の主として周辺ブロック部を示すブロック図で
ある。
【図24】 従来のシステムLSIを示すブロック図で
ある。
【図25】 従来のプロセッサコアと、内部命令RAM
および内部データRAMと、周辺ブロック部との間で実
行されるデータ転送経路を示す図である。
【図26】 図25に示したデータ転送経路を用いて実
行される従来の典型的なデータ転送のタイミングチャー
トである。
【図27】 従来のプロセッサコアと周辺ブロック部と
の間の通信手順を示すタイミングチャートである。
【符号の説明】
2 内部命令RAM(内部メモリ手段)、3 内部デー
タRAM(内部メモリ手段)、4 プロセッサコア(処
理手段)、9 周辺ブロック部(周辺ブロック手段)、
45 周辺状態レジスタ(状態監視制御レジスタ)、8
0 アドレス加算機構、90 周辺起動制御レジスタ、
201 周辺ブロック制御部(周辺制御レジスタ)。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 命令をデコードする命令デコーダと、命
    令の実行を制御する情報を格納する制御レジスタと、デ
    ータを記憶する複数のレジスタと、算術演算を行う演算
    回路と、前記命令デコーダに接続され前記命令デコーダ
    の出力に従って命令を実行する命令実行部とを有し、前
    記演算回路等がプログラムに記述された複数の命令を前
    記命令デコーダでデコードして実行することで、前記プ
    ログラムに従うデータ処理を実行し、前記制御レジスタ
    内に格納された制御情報を読み出し、前記制御情報の更
    新を行う制御レジスタ転送命令を有する処理手段と、前
    記命令を格納する内部命令RAMおよび前記命令の処理
    結果を格納する内部データRAMとからなる内部メモリ
    手段と、前記処理手段と前記内部メモリ手段内の前記内
    部データRAMに接続され、前記処理手段によりデータ
    の読出しとデータの更新が可能な周辺制御レジスタを有
    し、前記処理手段の動作と独立して、前記内部メモリ手
    段との間でデータの転送を実行して前記データに対する
    専用処理を行う複数の周辺ブロック部を備えた周辺ブロ
    ック手段とを備え、前記処理手段は、前記周辺制御レジ
    スタに格納された前記複数の周辺ブロック部の各々の動
    作情報を読出し格納するための状態ビットで構成される
    状態監視制御レジスタをさらに有し、前記制御レジスタ
    転送命令を実行し、前記状態監視制御レジスタの内容を
    参照し、前記複数の周辺ブロック部の各々の処理状態の
    変化を検知することを特徴とするシステムLSI。
  2. 【請求項2】 処理手段は、前記複数の周辺ブロック部
    の各々の動作情報を読出し格納するための前記状態ビッ
    トに対応した割り込み有効ビットより構成される割り込
    み有効制御レジスタをさらに有し、前記割り込み有効ビ
    ットがセットされている時に、前記状態ビットに対応し
    た前記周辺ブロック部に対する割り込み処理を実行する
    ことを特徴とする請求項1記載のシステムLSI。
  3. 【請求項3】 処理手段は、内部データRAMにアクセ
    スするためのアドレスバス及びデータバスに接続された
    双方向バッファ部をさらに有し、周辺ブロック手段は、
    前記双方向バッファ部を介して前記処理手段と接続さ
    れ、前記周辺ブロック手段内の前記複数の周辺ブロック
    部の各々の周辺制御レジスタ内に格納されたデータは、
    前記処理手段により読出し、更新され、前記周辺ブロッ
    ク手段内の各周辺ブロック部は、前記双方向バッファ部
    を介して、前記処理手段から独立して前記内部データR
    AMとの間で直接にメモリ転送を実行し、前記メモリ転
    送により読込んだデータに対して専用処理を実行し、さ
    らに前記内部データRAMへのデータ書込みを実行する
    前記メモリ転送において、最終データに続いて前記周辺
    ブロック部の処理状態を示す情報を付加し、前記双方向
    バッファ部は、前記処理状態情報を保持するための状態
    レジスタを、前記双方向バッファ部内のデータ転送経路
    上に備え、前記処理手段は、前記双方向バッファ部内の
    前記状態レジスタに格納された前記周辺ブロック部の処
    理状態情報を読出すことを特徴とする請求項1記載のシ
    ステムLSI。
  4. 【請求項4】 双方向バッファ部は、周辺ブロック手段
    内の複数の周辺ブロック部の各々が内部データRAMと
    の間で直接にメモリ転送を実行する時に、前記内部デー
    タRAMに対して出力するアドレスを、処理手段が指定
    可能なアドレスレジスタと、前記アドレスレジスタの値
    を加算できるアドレス加算機構とをさらに備え、前記処
    理手段は、前記複数の周辺ブロック部が前記内部データ
    RAMとの間で直接に実行する前記メモリ転送におい
    て、前記内部データRAMからデータの読出しを起動す
    るためのデータを格納する起動ビットで構成される周辺
    起動制御レジスタを備え、前記処理手段は、前記双方向
    バッファ部内の前記アドレスレジスタに前記メモリ転送
    のためのアドレスを書込むと共に、制御レジスタ転送命
    令を用いて前記起動ビットを更新することで、前記起動
    ビットに対応した前記周辺ブロック部は、前記メモリ転
    送の動作を前記内部データRAMとの間で実行すること
    を特徴とする請求項3記載のシステムLSI。
  5. 【請求項5】 処理手段は、内部データRAMにアクセ
    スするためのアドレスバス及びデータバスに接続された
    双方向バッファ部をさらに備え、周辺ブロック手段は、
    前記双方向バッファ部を介して前記処理手段と接続さ
    れ、前記周辺ブロック手段内の複数の周辺ブロック部の
    各々が備えている周辺制御レジスタ内に格納されたデー
    タは、前記処理手段により読出しおよび更新され、前記
    複数の周辺ブロック部の各々は、前記双方向バッファ部
    を介して前記処理手段から独立して前記内部データRA
    Mとの間で直接にメモリ転送を実行し、前記メモリ転送
    により読込んだデータに対して専用処理を実行し、前記
    読込んだ前記データの先頭データを取込み、前記先頭デ
    ータに応じた専用処理を、前記先頭データに続いて読込
    まれたデータに対して実行することを特徴とする請求項
    1記載のシステムLSI。
JP10146178A 1998-05-27 1998-05-27 システムlsi Pending JPH11338735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10146178A JPH11338735A (ja) 1998-05-27 1998-05-27 システムlsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10146178A JPH11338735A (ja) 1998-05-27 1998-05-27 システムlsi

Publications (1)

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

Family

ID=15401909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10146178A Pending JPH11338735A (ja) 1998-05-27 1998-05-27 システムlsi

Country Status (1)

Country Link
JP (1) JPH11338735A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006107041A (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ハードウェアイベントハンドルモジュール
JP2011191937A (ja) * 2010-03-12 2011-09-29 Yamatake Corp デバイス起動装置およびcpu
JP2013041402A (ja) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路及び回路状態監視回路
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 (ja) * 2004-10-04 2006-04-20 Hitachi Ltd ハードウェアイベントハンドルモジュール
JP2011191937A (ja) * 2010-03-12 2011-09-29 Yamatake Corp デバイス起動装置およびcpu
US9152137B2 (en) 2010-03-12 2015-10-06 Azbil Corporation Device activating unit and CPU
JP2013041402A (ja) * 2011-08-15 2013-02-28 Fujitsu Semiconductor Ltd 半導体集積回路及び回路状態監視回路

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 (ja) 映像処理エンジンおよびそれを含む映像処理システム
JP2000222206A (ja) データ処理装置
JPH0477925A (ja) マイクロプロセッサ
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 (ja) データ処理装置
JPH11338735A (ja) システムlsi
JP2002229779A (ja) 情報処理装置
JP2754825B2 (ja) マイクロプロセッサ
US20210089305A1 (en) Instruction executing method and apparatus
JP2710994B2 (ja) データ処理装置
CN111813447B (zh) 一种数据拼接指令的处理方法和处理装置
JP2000122919A (ja) プロセッサ及びメモリ制御方法
US20020069351A1 (en) Memory data access structure and method suitable for use in a processor
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
JP2000172628A (ja) データ転送装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JP2667864B2 (ja) データ処理装置
Marzal et al. A N-best sentence hypotheses enumeration algorithm with duration constraints based on the two level algorithm
JP3102399B2 (ja) データ処理装置及び方法