JP3004968B2 - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JP3004968B2
JP3004968B2 JP24353698A JP24353698A JP3004968B2 JP 3004968 B2 JP3004968 B2 JP 3004968B2 JP 24353698 A JP24353698 A JP 24353698A JP 24353698 A JP24353698 A JP 24353698A JP 3004968 B2 JP3004968 B2 JP 3004968B2
Authority
JP
Japan
Prior art keywords
signal
arithmetic
controller
microcontroller
clock
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.)
Expired - Fee Related
Application number
JP24353698A
Other languages
English (en)
Other versions
JPH11167629A (ja
Inventor
卓哉 神保
敏之 荒木
昭彦 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP24353698A priority Critical patent/JP3004968B2/ja
Publication of JPH11167629A publication Critical patent/JPH11167629A/ja
Application granted granted Critical
Publication of JP3004968B2 publication Critical patent/JP3004968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Microcomputers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ依存のクロ
ックゲーティング機能を備えたプロセッサに関するもの
である。
【0002】
【従来の技術】プロセッサの中のある回路ブロックを動
作させる必要がない場合には該回路ブロックへのクロッ
ク信号の供給を停止するクロックゲーティング技術が知
られている。この技術によれば、プロセッサの消費電力
を低減することができる。
【0003】特開平8−65496号公報に開示された
画像処理装置は、2個の回路ブロックを備え、複数の動
作モードの各々において少なくとも一方の回路ブロック
へのクロック信号の供給が停止されるものである。いず
れの動作モードであるかは、画像処理装置の外部から与
えられる動作モード信号により指定される。
【0004】特開平5−324871号公報に開示され
たマイクロコンピュータは、中央処理装置(CPU)と
複数の周辺ハードウェアとを備え、各周辺ハードウェア
の内部にコア部分とクロックコントローラとを設けた構
成を採用したものである。各クロックコントローラは、
CPUによって選択された時点からタイマで決定される
所定の時間内に限ってコア部分へのクロック信号の供給
を許容する。
【0005】
【発明が解決しようとする課題】MPEG(Moving Pic
ture Experts Group)に準拠したビデオエンコーダは、
動き予測、DCT(Discrete Cosine Transform)、量
子化、可変長符号化等のための多数の演算ユニットを備
えたものである。各演算ユニットの処理時間は画像デー
タに依存することが知られている。ところが、上記従来
の画像処理装置及びマイクロコンピュータは、いずれも
データに依存したクロックゲーティングを実現できなか
った。
【0006】本発明の目的は、データ依存のクロックゲ
ーティング機能を備えたプロセッサを提供することにあ
る。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、演算ユニットの動作状況を演算コントロ
ーラで監視し、該演算ユニットが実動作している間だけ
該演算ユニットへのクロック信号の供給を許容すること
としたものである。
【0008】具体的には、本発明に係るプロセッサは、
次のような演算ユニットと、マイクロコントローラと、
演算コントローラと、クロックコントローラとを備えた
構成を採用したものである。すなわち、演算ユニット
は、データに演算処理を施し、かつ該演算処理の状況を
表すステータス信号を供給する機能を有するユニットで
ある。マイクロコントローラは、演算起動信号を発行す
る機能を有するものである。演算コントローラは、マイ
クロコントローラから発行された演算起動信号を受け取
った場合にはリクエスト信号をアサートし、かつ演算ユ
ニットから供給されたステータス信号が所定の終了条件
を満たすか否かを判定して終了条件を満たす場合にはリ
クエスト信号をネゲートするためのコントローラであ
る。クロックコントローラは、リクエスト信号がアサー
トされた場合には演算ユニットが演算処理を実行できる
ように該演算ユニットへクロック信号を供給し、かつリ
クエスト信号がネゲートされた場合には演算ユニットへ
のクロック信号の供給を停止するためのコントローラで
ある。
【0009】本発明によれば、演算ユニットにおいて演
算処理に要する時間はデータに依存する。演算処理が早
く終了した場合には演算コントローラがリクエスト信号
を早期にネゲートする。したがって、クロックコントロ
ーラは、データに依存したクロックゲーティングを実現
できる。
【0010】
【発明の実施の形態】図1は、本発明に係るプロセッサ
の構成例を示している。図1のプロセッサは、マイクロ
コントローラ10と、並列動作可能な第1、第2及び第
3回路ブロック100,200,300と、クロックコ
ントローラ400とを備えている。INITはマイクロ
コントローラ10に与えられる外部起動信号であり、S
YSCLKはマイクロコントローラ10及びクロックコ
ントローラ400に与えられるシステムクロック信号で
ある。マイクロコントローラ10は、プログラム制御可
能であって、演算起動信号INIT1及びパラメータ信
号PRMTR1を第1回路ブロック100へ、演算起動
信号INIT2及びパラメータ信号PRMTR2を第2
回路ブロック200へ、演算起動信号INIT3及びパ
ラメータ信号PRMTR3を第3回路ブロック300へ
それぞれ発行する。第1回路ブロック100はデータ入
力DINを受け取り、第3回路ブロック300はデータ
出力DOUTを供給する。第2回路ブロック200は、
アドレスADRS12を第1回路ブロック100へ、ア
ドレスADRS23を第3回路ブロック300へそれぞ
れ供給する。DATA12は第1回路ブロック100か
ら第2回路ブロック200へ送られるデータであり、D
ATA23は第2回路ブロック200から第3回路ブロ
ック300へ送られるデータである。第1回路ブロック
100は、リクエスト信号REQ1をクロックコントロ
ーラ400へ供給し、クロックコントローラ400から
ノンゲーテッドクロック信号NGCLK1及びゲーテッ
ドクロック信号GCLKA1,GCLKM1を受け取
る。第2回路ブロック200は、リクエスト信号REQ
2をクロックコントローラ400へ供給し、クロックコ
ントローラ400からノンゲーテッドクロック信号NG
CLK2及びゲーテッドクロック信号GCLKA2,G
CLKM2を受け取る。第3回路ブロック300は、リ
クエスト信号REQ3をクロックコントローラ400へ
供給し、クロックコントローラ400からノンゲーテッ
ドクロック信号NGCLK3及びゲーテッドクロック信
号GCLKA3,GCLKM3を受け取る。
【0011】図2は、図1中の第1回路ブロック100
の内部構成を示している。第1回路ブロック100は、
演算コントローラ110と、演算ユニット120と、メ
モリ130とを備えている。演算コントローラ110
は、マイクロコントローラ10からINIT1及びPR
MTR1を、クロックコントローラ400からNGCL
K1をそれぞれ受け取り、クロックコントローラ400
へREQ1を供給する。更に、演算コントローラ110
は、パラメータ設定信号PSET1を演算ユニット12
0へ供給し、演算ユニット120からステータス信号S
TAT1を受け取る。演算ユニット120は、外部から
DINを、クロックコントローラ400からGCLKA
1をそれぞれ受け取り、アドレスADRS11及びデー
タDATA11をメモリ130へ供給する。メモリ13
0は、例えばクロック同期のSRAM(Static Random
Access Memory)であって、第2回路ブロック200か
らADRS12を、クロックコントローラ400からG
CLKM1をそれぞれ受け取り、第2回路ブロック20
0へDATA12を供給する。
【0012】図3は、図2中の演算コントローラ110
の内部構成を示している。演算コントローラ110は、
デコーダ111と、起動ラッチ112と、比較器113
と、論理ゲート114と、リクエストレジスタ115と
を備えている。デコーダ111は、マイクロコントロー
ラ10からINIT1及びPRMTR1を、リクエスト
レジスタ115からREQ1を、クロックコントローラ
400からNGCLK1をそれぞれ受け取り、PSET
1を演算ユニット120へ供給する。更に、デコーダ1
11は、終了条件信号ECOND1を比較器113へ供
給する。REQ1がL(ロー)レベルである場合にIN
IT1及びPRMTR1が有効とされてデコード動作が
開始する。起動ラッチ112は、1段又は複数段のフリ
ップフリップで構成され、パルス信号であるINIT1
をNGCLK1に同期してラッチする。したがって、起
動ラッチ112の出力は、そのフリップフロップ段数に
応じたNGCLK1のサイクル期間だけ、H(ハイ)レ
ベルにアサートされる。比較器113は、演算ユニット
120から供給されたSTAT1と、デコーダ111か
ら供給されたECOND1とを比較する。比較器113
の出力は、STAT1とECOND1とが一致する場合
にHレベルにアサートされ、一致しない場合にLレベル
にネゲートされる。論理ゲート114は、起動ラッチ1
12の出力がHレベルである場合又は比較器113の出
力がLレベルである場合にHレベルの信号を、そうでな
い場合にはLレベルの信号をそれぞれリクエストレジス
タ115へ供給する。リクエストレジスタ115は、N
GCLK1に同期して論理ゲート114の出力をラッチ
する。リクエストレジスタ115の出力がREQ1であ
る。なお、初期状態ではREQ1がLレベルにネゲート
されている。
【0013】図4は、図2中の演算ユニット120の内
部構成を示している。演算ユニット120は、各々クロ
ックコントローラ400から供給されたGCLKA1を
受け取る第1演算器121と、第2演算器122と、ア
ドレスジェネレータ123と、演算状況判定器124
と、制御レジスタ125とを備えている。第1演算器1
21は、外部からDINを受け取り、演算結果を第2演
算器122へ供給する。第2演算器122はメモリ13
0へDATA11を供給する。ただし、第1演算器12
1の演算結果をDATA11とすることもできる。アド
レスジェネレータ123は、メモリ130へADRS1
1を供給する。演算状況判定器124は、第1演算器1
21、第2演算器122及びアドレスジェネレータ12
3の各々の動作状況を監視して演算コントローラ110
へSTAT1を供給する。演算コントローラ110から
供給されるPSET1は、演算ユニット120が有する
複数の資源のうちのいずれの資源が使用されるべきかを
示す情報を含んでいる。制御レジスタ125は、この情
報を保持し、かつ第1演算器121、第2演算器12
2、アドレスジェネレータ123及び演算状況判定器1
24へ伝達する。
【0014】図5は、図1中の第2回路ブロック200
の内部構成を示している。第2回路ブロック200は、
演算コントローラ210と、演算ユニット220と、メ
モリ230とを備えている。演算コントローラ210
は、マイクロコントローラ10からINIT2及びPR
MTR2を、クロックコントローラ400からNGCL
K2をそれぞれ受け取り、クロックコントローラ400
へREQ2を供給する。更に、演算コントローラ210
は、パラメータ設定信号PSET2を演算ユニット22
0へ供給し、演算ユニット220からステータス信号S
TAT2を受け取る。演算ユニット220は、第1回路
ブロック100からDATA12を、クロックコントロ
ーラ400からGCLKA2をそれぞれ受け取り、第1
回路ブロック100へADRS12を供給する。更に、
演算ユニット220は、メモリ230へアドレスADR
S22を、第3回路ブロック300へADRS23及び
DATA23をそれぞれ供給し、メモリ230とデータ
DATA22を交換する。メモリ230は、例えばクロ
ック同期のSRAMであって、クロックコントローラ4
00からGCLKM2を受け取る。演算コントローラ2
10及び演算ユニット220の各々の内部構成は、それ
ぞれ図3及び図4と同様である。ただし、演算ユニット
220は3個のアドレスジェネレータを備えている。
【0015】図6は、図1中の第3回路ブロック300
の内部構成を示している。第3回路ブロック300は、
演算コントローラ310と、演算ユニット320と、メ
モリ330とを備えている。演算コントローラ310
は、マイクロコントローラ10からINIT3及びPR
MTR3を、クロックコントローラ400からNGCL
K3をそれぞれ受け取り、クロックコントローラ400
へREQ3を供給する。更に、演算コントローラ310
は、パラメータ設定信号PSET3を演算ユニット32
0へ供給し、演算ユニット320からステータス信号S
TAT3を受け取る。演算ユニット320は、クロック
コントローラ400からGCLKA3を受け取り、外部
へDOUTを供給する。更に、演算ユニット320は、
メモリ330へアドレスADRS33を供給し、メモリ
330からデータDATA33を受け取る。メモリ33
0は、例えばクロック同期のSRAMであって、第2回
路ブロック200からADRS23及びDATA23
を、クロックコントローラ400からGCLKM3をそ
れぞれ受け取る。演算コントローラ310及び演算ユニ
ット320の各々の内部構成は、それぞれ図3及び図4
と同様である。
【0016】図7は、図1中のクロックコントローラ4
00の内部構成を示している。クロックコントローラ4
00は、互いに同じ内部構成を有する3個の第1ゲート
回路410,420,430と、互いに同じ内部構成を
有する3個の第2ゲート回路440,450,460と
を備えている。これら全てのゲート回路にSYSCLK
が与えられる。演算コントローラ110から供給された
REQ1は、第1ゲート回路410及び第2ゲート回路
440に与えられる。演算コントローラ210から供給
されたREQ2は、第1ゲート回路420及び3個の第
2ゲート回路440,450,460に与えられる。第
2ゲート回路450の1入力はLレベルに固定されてい
る。演算コントローラ310から供給されたREQ3
は、第1ゲート回路430及び第2ゲート回路460に
与えられる。第1ゲート回路410は、演算コントロー
ラ110へNGCLK1を、演算ユニット120へGC
LKA1をそれぞれ供給する。第1ゲート回路420
は、演算コントローラ210へNGCLK2を、演算ユ
ニット220へGCLKA2をそれぞれ供給する。第1
ゲート回路430は、演算コントローラ310へNGC
LK3を、演算ユニット320へGCLKA3をそれぞ
れ供給する。第2ゲート回路440はメモリ130へG
CLKM1を、第2ゲート回路450はメモリ230へ
GCLKM2を、第2ゲート回路460はメモリ330
へGCLKM3をそれぞれ供給する。
【0017】図8は、図7中の第1ゲート回路410の
内部構成を示している。第1ゲート回路410は、リク
エストレジスタ411と、論理ゲート412と、バッフ
ァ413とを備えている。リクエストレジスタ411
は、演算コントローラ110から供給されたREQ1を
SYSCLKに同期してラッチする。論理ゲート412
は、リクエストレジスタ411の出力がHレベルにアサ
ートされた場合にはSYSCLKを演算ユニット120
へGCLKA1として伝達し、リクエストレジスタ41
1の出力がLレベルにネゲートされた場合には演算ユニ
ット120へのSYSCLKの伝達を停止する。SYS
CLKの伝達停止時には、GCLKA1がHレベルに固
定される。バッファ413は、SYSCLKを演算コン
トローラ110へNGCLK1として常に伝達する。
【0018】図9は、図7中の第2ゲート回路440の
内部構成を示している。第2ゲート回路440は、第1
リクエストレジスタ441と、第2リクエストレジスタ
442と、論理ゲート443,444とを備えている。
第1リクエストレジスタ441は、演算コントローラ1
10から供給されたREQ1をSYSCLKに同期して
ラッチする。第2リクエストレジスタ442は、演算コ
ントローラ210から供給されたREQ2をSYSCL
Kに同期してラッチする。論理ゲート443,444
は、第1、第2リクエストレジスタ441,442の出
力のうちのいずれかがHレベルにアサートされた場合に
はSYSCLKをメモリ130へGCLKM1として伝
達し、第1、第2リクエストレジスタ441,442の
出力がいずれもLレベルにネゲートされた場合にはメモ
リ130へのSYSCLKの伝達を停止する。SYSC
LKの伝達停止時には、GCLKM1がHレベルに固定
される。
【0019】図1のプロセッサにおいてINITがアサ
ートされると、マイクロコントローラ10は内蔵命令メ
モリ(不図示)の中に記述されたプログラムに従って動
作を開始する。マイクロコントローラ10は、第1、第
2及び第3回路ブロック100,200,300を並列
に動作させることができる。例えば第1回路ブロック1
00を動作させる場合には、マイクロコントローラ10
から第1回路ブロック100へINIT1及びPRMT
R1が発行される。PRMTR1は、第1回路ブロック
100の中の演算ユニット120が有する複数の資源の
うちのいずれの資源が使用されるべきかを示す信号であ
る。第1回路ブロック100の中の演算コントローラ1
10は、クロックコントローラ400からNGCLK1
を常に受け取っているので、マイクロコントローラ10
からINIT1が発行されると直ちにREQ1をHレベ
ルにアサートすることができる。クロックコントローラ
400は、REQ1のアサートに応答して、演算ユニッ
ト120へのGCLKA1の供給とメモリ130へのG
CLKM1の供給とを開始する。一方、演算コントロー
ラ110の中のデコーダ111は、REQ1がLレベル
である間にPRMTR1を取り込み、これをデコードす
る。このデコードの結果はPSET1及びECOND1
に反映される。PSET1及びECOND1の各ビット
は、演算ユニット120の中の制御可能な資源にそれぞ
れ対応している。つまり、演算コントローラ110は、
PRMTR1に応じて演算ユニット120の内部構成を
設定し、かつPRMTR1に応じてECOND1を変更
する機能を有している。演算ユニット120は、DIN
に演算処理を施し、該演算処理の結果であるDATA1
1をメモリ130へ書き込む。演算ユニット120にお
ける演算処理の状況はSTAT1に反映される。演算コ
ントローラ110は、演算ユニット120から供給され
たSTAT1が所定の終了条件(ECOND1で定義さ
れる。)を満たすか否かを判定して、該終了条件を満た
す場合にはREQ1をLレベルにネゲートする。つま
り、演算ユニット120における演算処理が終了した時
点でREQ1がLレベルに戻される。クロックコントロ
ーラ400は、REQ1のLレベルへのネゲートに応答
して、演算ユニット120へのGCLKA1の供給とメ
モリ130へのGCLKM1の供給とを停止する。
【0020】以上のとおり、図1のプロセッサによれ
ば、演算ユニット120,220,320の各々の動作
状況をそれぞれ演算コントローラ110,210,31
0で監視し、実動作中の演算ユニットのみへのクロック
信号の供給を許容することとしたので、データ依存のク
ロックゲーティング機能を実現できる。したがって、従
来のクロックゲーティングに比べてプロセッサの消費電
力が低減される。
【0021】図10は、本発明に係るプロセッサの他の
構成例を示している。図10のプロセッサは、マイクロ
コントローラ500と、並列動作可能な第1、第2及び
第3回路ブロック101,201,301と、クロック
コントローラ600とを備えている。INITはマイク
ロコントローラ500に与えられる外部起動信号であ
り、LPWRはマイクロコントローラ500に与えられ
るローパワー信号であり、SYSCLKはマイクロコン
トローラ500及びクロックコントローラ600に与え
られるシステムクロック信号である。マイクロコントロ
ーラ500は、プログラム制御可能であって、演算起動
信号INIT1を第1回路ブロック101及びクロック
コントローラ600へ、パラメータ信号PRMTR1を
第1回路ブロック101へ、演算起動信号INIT2を
第2回路ブロック201及びクロックコントローラ60
0へ、パラメータ信号PRMTR2を第2回路ブロック
201へ、演算起動信号INIT3を第3回路ブロック
301及びクロックコントローラ600へ、パラメータ
信号PRMTR3を第3回路ブロック301へそれぞれ
発行する。更に、マイクロコントローラ500は、演算
起動信号INIT1を発行する前にコントローラ起動信
号INITC1を、演算起動信号INIT2を発行する
前にコントローラ起動信号INITC2を、演算起動信
号INIT3を発行する前にコントローラ起動信号IN
ITC3をそれぞれクロックコントローラ600へ発行
する。第1回路ブロック101はデータ入力DINを受
け取り、第3回路ブロック301はデータ出力DOUT
を供給する。第2回路ブロック201は、アドレスAD
RS12を第1回路ブロック101へ、アドレスADR
S23を第3回路ブロック301へそれぞれ供給する。
DATA12は第1回路ブロック101から第2回路ブ
ロック201へ送られるデータであり、DATA23は
第2回路ブロック201から第3回路ブロック301へ
送られるデータである。第1回路ブロック101は、ビ
ジー信号BUSY1をマイクロコントローラ500へ、
リクエスト信号REQ1をクロックコントローラ600
へそれぞれ供給し、クロックコントローラ600からゲ
ーテッドクロック信号GCLKC1,GCLKA1,G
CLKM1を受け取る。第2回路ブロック201は、ビ
ジー信号BUSY2をマイクロコントローラ500へ、
リクエスト信号REQ2をクロックコントローラ600
へそれぞれ供給し、クロックコントローラ600からゲ
ーテッドクロック信号GCLKC2,GCLKA2,G
CLKM2を受け取る。第3回路ブロック301は、ビ
ジー信号BUSY3をマイクロコントローラ500へ、
リクエスト信号REQ3をクロックコントローラ600
へそれぞれ供給し、クロックコントローラ600からゲ
ーテッドクロック信号GCLKC3,GCLKA3,G
CLKM3を受け取る。
【0022】図11は、図10中のマイクロコントロー
ラ500の内部構成を示している。マイクロコントロー
ラ500は、命令メモリ501と、命令レジスタ502
と、命令デコーダ503と、命令シーケンサ504と、
アドレスジェネレータ505と、カウンタ506と、命
令実行コントローラ507と、消費電力テーブル508
とを備えている。命令シーケンサ504は、外部からI
NITを受け取ると動作を開始し、アドレスジェネレー
タ505へアドレス制御信号ACONTを、命令レジス
タ502へフェッチ制御信号FCONTを、命令デコー
ダ503へデコード制御信号DCONTを、カウンタ5
06へカウント制御信号CCONTをそれぞれ供給す
る。命令メモリ501は、アドレスジェネレータ505
から供給された命令アドレスIADRSに応じた命令を
命令レジスタ502へ送る。命令レジスタ502は、F
CONTにより許可されている場合に限り、命令メモリ
501からプリフェッチされた命令を取り込む。命令デ
コーダ503は、DCONTにより許可されている場合
に限り、命令レジスタ502から出力された命令をデコ
ードする。このデコードの結果(いかなる演算処理を要
求する命令であるかを表す情報と、該演算処理がいずれ
の回路ブロックで実行されるべきかを表す情報とを含
む。)は、命令シーケンサ504及び命令実行コントロ
ーラ507へ伝達される。命令デコーダ503は、デコ
ードされた命令が第1回路ブロック101における演算
処理を要求する命令である場合にはBUSY1がネゲー
トされていることを条件としてINITC1を、デコー
ドされた命令が第2回路ブロック201における演算処
理を要求する命令である場合にはBUSY2がネゲート
されていることを条件としてINITC2を、デコード
された命令が第3回路ブロック301における演算処理
を要求する命令である場合にはBUSY3がネゲートさ
れていることを条件としてINITC3をそれぞれ発行
する。命令シーケンサ504は、デコードされた命令が
第1回路ブロック101における演算処理を要求する命
令である場合にはBUSY1がネゲートされていること
を条件としてINIT1及びPRMTR1を、デコード
された命令が第2回路ブロック201における演算処理
を要求する命令である場合にはBUSY2がネゲートさ
れていることを条件としてINIT2及びPRMTR2
を、デコードされた命令が第3回路ブロック301にお
ける演算処理を要求する命令である場合にはBUSY3
がネゲートされていることを条件としてINIT3及び
PRMTR3をそれぞれ発行する。カウンタ506は、
次にプリフェッチされるべき命令を指示するカウンタ値
COUNTを命令シーケンサ504へ供給する。BUS
Y1、BUSY2及びBUSY3は、命令実行コントロ
ーラ507へも供給される。命令実行コントローラ50
7は、外部からLPWRを受け取ると動作を開始し、消
費電力テーブル508を参照して消費電力を予測する。
予測された消費電力がLPWRで指定された最大消費電
力を超える場合には、命令実行コントローラ507から
命令シーケンサ504へのホールド信号HOLDがアサ
ートされる。命令シーケンサ504は、デコードされた
命令が例えば第1回路ブロック101における演算処理
を要求する命令であってもHOLDがアサートされてい
る場合には、INIT1及びPRMTR1の発行を保留
する。この場合には、命令のプリフェッチ及びデコード
が更に進むことがないように、ACONT、FCON
T、DCONT及びCCONTがそれぞれ凍結される。
【0023】図12は、図10中の第1回路ブロック1
01の内部構成を示している。第1回路ブロック101
は、演算コントローラ140と、演算ユニット120
と、メモリ130とを備えている。演算コントローラ1
40は、BUSY1を供給する機能を有し、かつNGC
LK1に代えてGCLKC1を受け取る点で図2の演算
コントローラ110と異なる。
【0024】図13は、図10中の第2回路ブロック2
01の内部構成を示している。第2回路ブロック201
は、演算コントローラ240と、演算ユニット220
と、メモリ230とを備えている。演算コントローラ2
40は、BUSY2を供給する機能を有し、かつNGC
LK2に代えてGCLKC2を受け取る点で図5の演算
コントローラ210と異なる。
【0025】図14は、図10中の第3回路ブロック3
01の内部構成を示している。第3回路ブロック301
は、演算コントローラ340と、演算ユニット320
と、メモリ330とを備えている。演算コントローラ3
40は、BUSY3を供給する機能を有し、かつNGC
LK3に代えてGCLKC3を受け取る点で図6の演算
コントローラ310と異なる。
【0026】図15は、図10中のクロックコントロー
ラ600の内部構成を示している。クロックコントロー
ラ600は、互いに同じ内部構成を有する3個の第1ゲ
ート回路610,620,630と、いずれも図9と同
じ内部構成を有する3個の第2ゲート回路440,45
0,460とを備えている。これら全てのゲート回路に
SYSCLKが与えられる。演算コントローラ140か
ら供給されたREQ1は、第1ゲート回路610及び第
2ゲート回路440に与えられる。演算コントローラ2
40から供給されたREQ2は、第1ゲート回路620
及び3個の第2ゲート回路440,450,460に与
えられる。第2ゲート回路450の1入力はLレベルに
固定されている。演算コントローラ340から供給され
たREQ3は、第1ゲート回路630及び第2ゲート回
路460に与えられる。第1ゲート回路610は、マイ
クロコントローラ500から発行されたINIT1及び
INITC1を受け取り、演算コントローラ140へG
CLKC1を、演算ユニット120へGCLKA1をそ
れぞれ供給する。第1ゲート回路620は、マイクロコ
ントローラ500から発行されたINIT2及びINI
TC2を受け取り、演算コントローラ240へGCLK
C2を、演算ユニット220へGCLKA2をそれぞれ
供給する。第1ゲート回路630は、マイクロコントロ
ーラ500から発行されたINIT3及びINITC3
を受け取り、演算コントローラ340へGCLKC3
を、演算ユニット320へGCLKA3をそれぞれ供給
する。第2ゲート回路440はメモリ130へGCLK
M1を、第2ゲート回路450はメモリ230へGCL
KM2を、第2ゲート回路460はメモリ330へGC
LKM3をそれぞれ供給する。
【0027】図16は、図15中の第1ゲート回路61
0の内部構成を示している。第1ゲート回路610は、
リクエストレジスタ611と、論理ゲート612と、起
動レジスタ613と、論理ゲート614,615とを備
えている。リクエストレジスタ611は、演算コントロ
ーラ140から供給されたREQ1をSYSCLKに同
期してラッチする。論理ゲート612は、INITC
1、INIT1及びREQ1の論理和を起動レジスタ6
13へ供給する。起動レジスタ613は、該論理和をS
YSCLKに同期してラッチする。論理ゲート614
は、リクエストレジスタ611の出力がHレベルにアサ
ートされた場合にはSYSCLKを演算ユニット120
へGCLKA1として伝達し、リクエストレジスタ61
1の出力がLレベルにネゲートされた場合には演算ユニ
ット120へのSYSCLKの伝達を停止する。SYS
CLKの伝達停止時には、GCLKA1がHレベルに固
定される。論理ゲート615は、起動レジスタ613の
出力がHレベルにアサートされた場合にはSYSCLK
を演算コントローラ140へGCLKC1として伝達
し、起動レジスタ613の出力がLレベルにネゲートさ
れた場合には演算コントローラ140へのSYSCLK
の伝達を停止する。SYSCLKの伝達停止時には、G
CLKC1がHレベルに固定される。
【0028】図10のプロセッサにおいてINITがア
サートされると、マイクロコントローラ500は命令メ
モリ501の中に記述されたプログラムに従って動作を
開始する。マイクロコントローラ500は、第1、第2
及び第3回路ブロック101,201,301を並列に
動作させることができる。例えば第1回路ブロック10
1における演算処理を要求する命令が命令デコーダ50
3においてデコードされた場合には、BUSY1がネゲ
ートされていることを条件として、かつ命令シーケンサ
504からINIT1及びPRMTR1が発行される前
に、命令デコーダ503からINITC1が発行され
る。クロックコントローラ600の中の第1ゲート回路
610は、INITC1のアサートに応答して、演算コ
ントローラ140へのGCLKC1の供給を開始する。
したがって、命令シーケンサ504からINIT1が発
行されると、第1回路ブロック101の中の演算コント
ローラ140は直ちにREQ1をHレベルにアサートす
ることができる。クロックコントローラ600は、RE
Q1のアサートに応答して、演算ユニット120へのG
CLKA1の供給とメモリ130へのGCLKM1の供
給とを開始する。演算ユニット120は、DINに演算
処理を施し、該演算処理の結果であるDATA11をメ
モリ130へ書き込む。演算ユニット120における演
算処理の状況はSTAT1に反映される。演算コントロ
ーラ140は、演算ユニット120から供給されたST
AT1が所定の終了条件を満たすか否かを判定して、該
終了条件を満たす場合にはREQ1をLレベルにネゲー
トする。つまり、演算ユニット120における演算処理
が終了した時点でREQ1がLレベルに戻される。クロ
ックコントローラ600は、REQ1のLレベルへのネ
ゲートに応答して、演算コントローラ140へのGCL
KC1の供給と演算ユニット120へのGCLKA1の
供給とメモリ130へのGCLKM1の供給とを停止す
る。
【0029】以上のとおり、図10のプロセッサによれ
ば、演算ユニット120,220,320の各々の動作
状況をそれぞれ演算コントローラ140,240,34
0で監視し、実動作中の演算ユニットのみへのクロック
信号の供給を許容することとしたので、データ依存のク
ロックゲーティング機能を実現できる。しかも、命令デ
コーダ503によって指定された演算コントローラのみ
へのクロック信号の供給を許容することとしたので、図
1の場合に比べてプロセッサの消費電力が更に低減され
る。
【0030】図17は、図11中の消費電力テーブル5
08の内容の例を示している。また、図18は、図10
のプロセッサの実行プログラムの例を示している。図1
0のプロセッサによれば、第1、第2及び第3回路ブロ
ック101,201,301における消費電力の合計が
LPWRで指定された最大消費電力を超えないように制
御することも可能である。図10のプロセッサにおいて
LPWRがアサートされると、命令実行コントローラ5
07に最大消費電力が設定され、かつ回路ブロックごと
の消費電力の現在値が0に初期化される。ここでは、最
大消費電力として80が設定されたものとする。続いて
INITがアサートされると、マイクロコントローラ5
00は図18のプログラムに従って動作を開始する。ま
ず、SET命令が命令デコーダ503でデコードされる
と、命令実行コントローラ507は、消費電力テーブル
508を参照して、SET命令に基づく演算処理を演算
ユニット120に実行させた場合に消費電力が1だけ増
えることを予測する。回路ブロック毎の消費電力現在値
の合計は0であるため、SET命令に基づく演算処理を
演算ユニット120に実行させても消費電力が80を超
えないことが判る。したがって、命令実行コントローラ
507は、HOLDをネゲートする。命令シーケンサ5
04は、SET命令に基づくINIT1及びPRMTR
1を直ちに発行する。この時点で、命令デコーダ503
は次のMPY命令をデコードする。第1回路ブロック1
01の消費電力の現在値は、BUSY1がLレベルから
Hレベルへ遷移する際に、1に更新される。この現在値
は、BUSY1がHレベルからLレベルへ遷移する際
に、0にリセットされる。以下同様にして、1命令がデ
コードされるごとに、命令実行コントローラ507は、
該デコードされた命令に基づく演算処理が実行された場
合に消費電力がどれだけ増えるかを予測する。そして、
消費電力が80を超える場合には、HOLDがアサート
される。図18の例では、DCT命令がデコードされた
時点でHOLDがアサートされる。この時点では、SE
T命令、MPY命令及びADD命令の実行は完了してい
るが、VIF命令が実行中であるので、消費電力現在値
の合計は45である。したがって、DCT命令に基づく
演算処理が実行されると消費電力が88となり、80を
超えることが判る。HOLDがアサートされると、命令
シーケンサ504は演算起動信号及びパラメータ信号の
発行を保留する。これにより、第1、第2及び第3回路
ブロック101,201,301における消費電力の合
計が80を超えないように制御され、消費電力の平準化
が達成される。
【0031】図19は、本発明に係るプロセッサの更に
他の構成例を示している。図19のプロセッサは、MP
EGビデオエンコーダ700と、フレームメモリ800
とで構成されている。フレームメモリ800は、例えば
複数個のシンクロナスDRAM(Dynamic Random Acces
s Memory)で構成される。MPEGビデオエンコーダ7
00は、マイクロコントローラ710と、メモリインタ
フェース720と、並列動作可能な第1、第2及び第3
回路ブロック730,740,750と、クロックコン
トローラ760とを備えている。第1回路ブロック73
0は、ビデオ入力インタフェース(VIF)ブロックで
ある。第2回路ブロック740は、マクロブロック処理
(MBP)ブロックであって、第1の動き予測(第1の
ME)ブロック741と、第2の動き予測(第2のM
E)ブロック742と、モード選択処理(MSP)ブロ
ック743と、DCT量子化(DCTQ)ブロック74
4と、可変長符号化(VLC)ブロック745とを備え
ている。これら5個の回路ブロック741〜745はマ
クロブロックパイプラインを構成している。第3回路ブ
ロック750は、コード/ホストインタフェース(CI
F/HIF)ブロックである。VDINはVIFブロッ
ク730に与えられるビデオデータ入力であり、VDO
UTはCIF/HIFブロック750から供給されるビ
デオデータ出力(エンコード出力)であり、VCONT
は不図示のホストプロセッサからCIF/HIFブロッ
ク750に与えられる制御信号であり、ECLKはクロ
ックコントローラ760に外部から与えられるシステム
クロック信号である。クロックコントローラ760は、
マイクロコントローラ710へノンゲーテッドクロック
信号を、メモリインタフェース720へゲーテッドクロ
ック信号をそれぞれ供給する。また、クロックコントロ
ーラ760は、7個の回路ブロック730,741,7
42,743,744,745,750の各々へゲーテ
ッドクロック信号を供給する。
【0032】マイクロコントローラ710は、プログラ
ム制御可能であって、メモリインタフェース720、V
IFブロック730、MBPブロック740及びCIF
/HIFブロック750の各々と交信する。特にMBP
ブロック740の中の5個の回路ブロック741〜74
5の各々へは、マイクロコントローラ710が演算起動
信号及びパラメータ信号を発行する機能を有する。
【0033】VIFブロック730は、マイクロコント
ローラ710により起動されると、リクエスト信号をア
サートすることによってクロック信号の供給を要求す
る。クロックコントローラ760は、このリクエスト信
号のアサートに応答して、VIFブロック730へのク
ロック信号の供給を開始する。VIFブロック730
は、ビデオデータ入力VDINをMPEG入力形式に変
換するように、データ並び替え等の処理を行う。この処
理の結果を表す現画像データは、メモリインタフェース
720を通じてフレームメモリ800の中に書き込まれ
る。このようにして一連のデータ入力処理が終了する
と、VIFブロック730はリクエスト信号をネゲート
する。クロックコントローラ760は、このリクエスト
信号のネゲートに応答して、VIFブロック730への
クロック信号の供給を停止する。
【0034】第1のMEブロック741は、マイクロコ
ントローラ710から発行された演算起動信号及びパラ
メータ信号を受け取ると、リクエスト信号をアサートす
ることによってクロック信号の供給を要求する。パラメ
ータ信号は、第1のMEブロック741の中の演算ユニ
ットが有する複数の資源のうちのいずれの資源が使用さ
れるべきかを示す信号である。クロックコントローラ7
60は、リクエスト信号のアサートに応答して、第1の
MEブロック741へのクロック信号の供給を開始す
る。第1のMEブロック741の演算ユニットは、メモ
リインタフェース720を通じてフレームメモリ800
から参照画像データ及び現画像データを読み出し、第1
の動き予測、例えば1画素精度の動きベクトル検出を行
って、得られたベクトルデータを第2のMEブロック7
42へ送る。1マクロブロックの処理が終了すると、第
1のMEブロック741はリクエスト信号をネゲートす
る。クロックコントローラ760は、このリクエスト信
号のネゲートに応答して、第1のMEブロック741へ
のクロック信号の供給を停止する。
【0035】第2のMEブロック742は、マイクロコ
ントローラ710から発行された演算起動信号及びパラ
メータ信号を受け取ると、リクエスト信号をアサートす
ることによってクロック信号の供給を要求する。パラメ
ータ信号は、第2のMEブロック742の中の演算ユニ
ットが有する複数の資源のうちのいずれの資源が使用さ
れるべきかを示す信号である。クロックコントローラ7
60は、リクエスト信号のアサートに応答して、第2の
MEブロック742へのクロック信号の供給を開始す
る。第2のMEブロック742の演算ユニットは、動き
ベクトルデータに基づいてメモリインタフェース720
を通じてフレームメモリ800から参照画像データ及び
現画像データを読み出し、第2の動き予測、例えば半画
素精度の動きベクトル検出及び動き補償を行って、得ら
れた差分データをMSPブロック743へ送る。1マク
ロブロックの処理が終了すると、第2のMEブロック7
42はリクエスト信号をネゲートする。クロックコント
ローラ760は、このリクエスト信号のネゲートに応答
して、第2のMEブロック742へのクロック信号の供
給を停止する。
【0036】MSPブロック743は、マイクロコント
ローラ710から発行された演算起動信号及びパラメー
タ信号を受け取ると、リクエスト信号をアサートするこ
とによってクロック信号の供給を要求する。パラメータ
信号は、MSPブロック743の中の演算ユニットが有
する複数の資源のうちのいずれの資源が使用されるべき
かを示す信号である。クロックコントローラ760は、
リクエスト信号のアサートに応答して、MSPブロック
743へのクロック信号の供給を開始する。MSPブロ
ック743の演算ユニットは、差分データに基づいてマ
クロブロックの統計計算、DCT用データの準備を行
い、DCTQブロック744にデータを引き渡す。1マ
クロブロックの処理が終了すると、MSPブロック74
3はリクエスト信号をネゲートする。クロックコントロ
ーラ760は、このリクエスト信号のネゲートに応答し
て、MSPブロック743へのクロック信号の供給を停
止する。
【0037】DCTQブロック744は、マイクロコン
トローラ710から発行された演算起動信号及びパラメ
ータ信号を受け取ると、リクエスト信号をアサートする
ことによってクロック信号の供給を要求する。パラメー
タ信号は、DCTQブロック744の中の演算ユニット
が有する複数の資源のうちのいずれの資源が使用される
べきかを示す信号である。クロックコントローラ760
は、リクエスト信号のアサートに応答して、DCTQブ
ロック744へのクロック信号の供給を開始する。DC
TQブロック744の演算ユニットは、準備されたデー
タに基づいてマクロブロックのDCT演算、量子化を行
い、VLCブロック745にデータを引き渡す。1マク
ロブロックの処理が終了すると、DCTQブロック74
4はリクエスト信号をネゲートする。クロックコントロ
ーラ760は、このリクエスト信号のネゲートに応答し
て、DCTQブロック744へのクロック信号の供給を
停止する。
【0038】VLCブロック745は、マイクロコント
ローラ710から発行された演算起動信号及びパラメー
タ信号を受け取ると、リクエスト信号をアサートするこ
とによってクロック信号の供給を要求する。パラメータ
信号は、VLCブロック745の中の演算ユニットが有
する複数の資源のうちのいずれの資源が使用されるべき
かを示す信号である。クロックコントローラ760は、
リクエスト信号のアサートに応答して、VLCブロック
745へのクロック信号の供給を開始する。VLCブロ
ック745の演算ユニットは、引き渡されたデータに基
づいて可変長符号化処理を行う。この処理の結果を表す
符号化データは、メモリインタフェース720を通じて
フレームメモリ800の中に書き込まれる。1マクロブ
ロックの処理が終了すると、VLCブロック745はリ
クエスト信号をネゲートする。クロックコントローラ7
60は、このリクエスト信号のネゲートに応答して、V
LCブロック745へのクロック信号の供給を停止す
る。
【0039】CIF/HIFブロック750は、マイク
ロコントローラ710により起動されると、リクエスト
信号をアサートすることによってクロック信号の供給を
要求する。クロックコントローラ760は、このリクエ
スト信号のアサートに応答して、CIF/HIFブロッ
ク750へのクロック信号の供給を開始する。CIF/
HIFブロック750は、指定されたタイミングでメモ
リインタフェース720を通じてフレームメモリ800
から符号化データを読み出し、ビデオデータ出力VDO
UTを外部へ供給する。このようにして一連のデータ出
力処理が終了すると、CIF/HIFブロック750は
リクエスト信号をネゲートする。クロックコントローラ
760は、このリクエスト信号のネゲートに応答して、
CIF/HIFブロック750へのクロック信号の供給
を停止する。なお、CIF/HIFブロック750は不
図示のホストプロセッサから与えられた制御信号VCO
NTをマイクロコントローラ710へ伝達する機能をも
有している。
【0040】図20は、図19のプロセッサ中の第1の
MEブロック741、第2のMEブロック742、MS
Pブロック743、DCTQブロック744及びVLC
ブロック745のパイプライン動作を示している。図中
のMB1〜MB8は、各々処理対象のマクロブロックを
表している。パイプラインピッチは、各回路ブロックに
おける1マクロブロックの処理に要する時間の最大値に
設定される。図中の複数のハッチング部分は、それぞれ
アイドル時間を表している。すなわち、5個の回路ブロ
ック741〜745の各々における1マクロブロックの
処理時間は画像データに依存しており、演算処理が早く
終了した回路ブロックはクロックコントローラ760へ
のリクエスト信号を早期にネゲートする。これにより各
アイドル時間においてクロック信号の供給が停止され、
プロセッサの消費電力が低減される。詳細に説明する
と、第1及び第2のMEブロック741,742では、
アドレスジェネレータにより参照画像データが全て探索
されるか、又は演算器により参照画像データ中に現画像
データと最も類似した領域が発見された時点でリクエス
ト信号がネゲートされる。また、VLCブロック745
では、動き予測が成功した場合と失敗した場合とで、デ
ータ処理量が大きく違ってくる。
【0041】なお、本発明はMPEGビデオデコーダな
ど、他の目的を有するプロセッサにも適用可能である。
【0042】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、演算ユニットの動作状況を演算コントローラで監視
し、該演算ユニットが実動作している間だけ該演算ユニ
ットへのクロック信号の供給を許容することとしたの
で、データ依存のクロックゲーティング機能を実現でき
る。
【図面の簡単な説明】
【図1】本発明に係るプロセッサの構成例を示すブロッ
ク図である。
【図2】図1中の第1回路ブロックの内部構成を示すブ
ロック図である。
【図3】図2中の演算コントローラの内部構成を示すブ
ロック図である。
【図4】図2中の演算ユニットの内部構成を示すブロッ
ク図である。
【図5】図1中の第2回路ブロックの内部構成を示すブ
ロック図である。
【図6】図1中の第3回路ブロックの内部構成を示すブ
ロック図である。
【図7】図1中のクロックコントローラの内部構成を示
すブロック図である。
【図8】図7中の第1ゲート回路の内部構成を示すブロ
ック図である。
【図9】図7中の第2ゲート回路の内部構成を示すブロ
ック図である。
【図10】本発明に係るプロセッサの他の構成例を示す
ブロック図である。
【図11】図10中のマイクロコントローラの内部構成
を示すブロック図である。
【図12】図10中の第1回路ブロックの内部構成を示
すブロック図である。
【図13】図10中の第2回路ブロックの内部構成を示
すブロック図である。
【図14】図10中の第3回路ブロックの内部構成を示
すブロック図である。
【図15】図10中のクロックコントローラの内部構成
を示すブロック図である。
【図16】図15中の第1ゲート回路の内部構成を示す
ブロック図である。
【図17】図11中の消費電力テーブルの内容の例を示
す図である。
【図18】図10のプロセッサの実行プログラムの例を
示す図である。
【図19】本発明に係るプロセッサの更に他の構成例を
示すブロック図である。
【図20】図19のプロセッサの動作例を示すタイミン
グチャート図である。
【符号の説明】
10 マイクロコントローラ 100,101 第1回路ブロック 110 演算コントローラ 111 デコーダ 112 起動ラッチ 113 比較器 114 論理ゲート 115 リクエストレジスタ 120 演算ユニット 121,122 演算器 123 アドレスジェネレータ 124 演算状況判定器 125 制御レジスタ 130 メモリ 140 演算コントローラ 200,201 第2回路ブロック 210 演算コントローラ 220 演算ユニット 230 メモリ 240 演算コントローラ 300,301 第3回路ブロック 310 演算コントローラ 320 演算ユニット 330 メモリ 340 演算コントローラ 400 クロックコントローラ 410 第1ゲート回路 411 リクエストレジスタ 412 論理ゲート 413 バッファ 420 第1ゲート回路 430 第1ゲート回路 440 第2ゲート回路 441,442 リクエストレジスタ 443,444 論理ゲート 450 第2ゲート回路 460 第2ゲート回路 500 マイクロコントローラ 501 命令メモリ 502 命令レジスタ 503 命令デコーダ 504 命令シーケンサ 505 アドレスジェネレータ 506 カウンタ 507 命令実行コントローラ 508 消費電力テーブル 600 クロックコントローラ 610 第1ゲート回路 611 リクエストレジスタ 612 論理ゲート 613 起動レジスタ 614,615 論理ゲート 620 第1ゲート回路 630 第1ゲート回路 700 MPEGビデオエンコーダ 710 マイクロコントローラ 720 メモリインタフェース 730 ビデオ入力インタフェース(VIF)ブロック 740 マクロブロック処理(MBP)ブロック 741 第1の動き予測(第1のME)ブロック 742 第2の動き予測(第2のME)ブロック 743 モード選択処理(MSP)ブロック 744 DCT量子化(DCTQ)ブロック 745 可変長符号化(VLC)ブロック 750 コード/ホストインタフェース(CIF/HI
F)ブロック 760 クロックコントローラ 800 フレームメモリ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−140810(JP,A) 特開 平4−302014(JP,A) 特開 平3−123919(JP,A) 特開 平3−100710(JP,A) 特開 平4−127210(JP,A) 特開 平10−116131(JP,A) 特開 平10−340127(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 G06F 1/04 301 G06F 15/78 510

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 データに演算処理を施し、かつ該演算処
    理の状況を表すステータス信号を供給する機能を有する
    演算ユニットと、 演算起動信号を発行する機能を有するマイクロコントロ
    ーラと、 前記マイクロコントローラから発行された前記演算起動
    信号を受け取った場合にはリクエスト信号をアサート
    し、かつ前記演算ユニットから供給された前記ステータ
    ス信号が所定の終了条件を満たすか否かを判定して前記
    終了条件を満たす場合には前記リクエスト信号をネゲー
    トするための演算コントローラと、 前記リクエスト信号がアサートされた場合には前記演算
    ユニットが前記演算処理を実行できるように前記演算ユ
    ニットへクロック信号を供給し、かつ前記リクエスト信
    号がネゲートされた場合には前記演算ユニットへの前記
    クロック信号の供給を停止するためのクロックコントロ
    ーラとを備え 前記マイクロコントローラは、前記演算コントローラの
    ビジー信号がネゲートされていることを条件として前記
    演算起動信号を発行するように構成され たことを特徴と
    するプロセッサ。
  2. 【請求項2】 請求項1記載のプロセッサにおいて、 前記マイクロコントローラは、前記演算ユニットが有す
    る複数の資源のうちのいずれの資源が使用されるべきか
    を示すパラメータ信号を発行する機能を更に有し、 前記演算コントローラは、前記パラメータ信号に応じて
    前記演算ユニットの内部構成を設定し、かつ前記パラメ
    ータ信号に応じて前記終了条件を変更する機能を更に有
    することを特徴とするプロセッサ。
  3. 【請求項3】 請求項記載のプロセッサにおいて、 前記マイクロコントローラは、前記演算起動信号を発行
    する前にコントローラ起動信号を発行する機能を更に有
    し、 前記クロックコントローラは、与えられたシステムクロック信号に同期して前記リクエ
    スト信号をラッチするためのリクエストレジスタと、 前記リクエストレジスタの出力がアサートされた場合に
    は前記演算ユニットへ 前記システムクロック信号を伝達
    し、かつ前記リクエストレジスタの出力がネゲートされ
    た場合には前記演算ユニットへの前記システムクロック
    信号の伝達を停止するための手段と、 前記システムクロック信号に同期して前記コントローラ
    起動信号、前記演算起動信号及び前記リクエスト信号の
    論理和をラッチするための起動レジスタと、 前記起動レジスタの出力がアサートされた場合には前記
    演算コントローラが動作できるように該演算コントロー
    ラへ前記システムクロック信号を伝達し、かつ前記起動
    レジスタの出力がネゲートされた場合には前記演算コン
    トローラへの前記システムクロック信号の伝達を停止す
    るための手段とを更に備えたことを特徴とするプロセッ
    サ。
  4. 【請求項4】 請求項1記載のプロセッサにおいて、 前記マイクロコントローラは、前記演算ユニットに前記
    演算処理を実行させた場合の消費電力が所定の最大消費
    電力を超えるか否かを予測して、前記最大消費電力を超
    えない場合には前記演算起動信号を直ちに発行し、前記
    最大消費電力を超える場合には前記演算起動信号の発行
    を保留する機能を更に有することを特徴とするプロセッ
    サ。
  5. 【請求項5】 請求項1記載のプロセッサにおいて、 前記演算ユニットは、画像データ処理のためのユニット
    であることを特徴とするプロセッサ。
  6. 【請求項6】 各々データに演算処理を施し、かつ該演
    算処理の状況を表すステータス信号を供給する機能を有
    する複数の演算ユニットと、 前記複数の演算ユニットの各々に対して演算起動信号を
    発行する機能を有するマイクロコントローラと、 各々前記マイクロコントローラから発行された対応する
    演算起動信号を受け取った場合にはリクエスト信号をア
    サートし、かつ対応する演算ユニットから供給された前
    記ステータス信号が所定の終了条件を満たすか否かを判
    定して前記終了条件を満たす場合には前記リクエスト信
    号をネゲートするための複数の演算コントローラと、 前記複数の演算コントローラのいずれかにより前記リク
    エスト信号がアサートされた場合には該リクエスト信号
    に対応する演算ユニットへクロック信号を供給し、かつ
    前記リクエスト信号がネゲートされた場合には前記演算
    ユニットへの前記クロック信号の供給を停止するための
    クロックコントローラとを備え 前記マイクロコントローラは、前記複数の演算コントロ
    ーラの各々のビジー信号がネゲートされていることを条
    件として当該演算コントローラに対する前記演算起動信
    号を発行するように構成され たことを特徴とするプロセ
    ッサ。
  7. 【請求項7】 請求項記載のプロセッサにおいて、 前記複数の演算ユニットは、各々MPEG画像データの
    エンコードのための部分処理ユニットであることを特徴
    とするプロセッサ。
  8. 【請求項8】 データに演算処理を施し、かつ該演算処
    理の状況を表すステータス信号を供給する機能を有する
    演算ユニットと、 演算起動信号を発行する機能を有するマイクロコントロ
    ーラと、 前記マイクロコントローラから発行された前記演算起動
    信号を受け取った場合にはリクエスト信号をアサート
    し、かつ前記演算ユニットから供給された前記ステータ
    ス信号が所定の終了条件を満たすか否かを判定して前記
    終了条件を満たす場合には前記リクエスト信号をネゲー
    トするための演算コントローラと、 前記リクエスト信号がアサートされた場合には前記演算
    ユニットが前記演算処理を実行できるように前記演算ユ
    ニットへクロック信号を供給し、かつ前記リクエスト信
    号がネゲートされた場合には前記演算ユニットへの前記
    クロック信号の供給を停止するためのクロックコントロ
    ーラとを備え、 前記マイクロコントローラは、前記演算ユニットが有す
    る複数の資源のうちのいずれの資源が使用されるべきか
    を示すパラメータ信号を発行する機能を更に有し、 前記演算コントローラは、前記パラメータ信号に応じて
    前記演算ユニットの内部構成を設定し、かつ前記パラメ
    ータ信号に応じて前記終了条件を変更する機能を更に有
    することを特徴とするプロセッサ。
  9. 【請求項9】 データに演算処理を施し、かつ該演算処
    理の状況を表すステータス信号を供給する機能を有する
    演算ユニットと、 演算起動信号を発行する機能を有するマイクロコントロ
    ーラと、 前記マイクロコントローラから発行された前記演算起動
    信号を受け取った場合にはリクエスト信号をアサート
    し、かつ前記演算ユニットから供給された前記ステータ
    ス信号が所定の終了条件を満たすか否かを判定して前記
    終了条件を満たす場合には前記リクエスト信号をネゲー
    トするための演算コントローラと、 前記リクエスト信号がアサートされた場合には前記演算
    ユニットが前記演算処理を実行できるように前記演算ユ
    ニットへクロック信号を供給し、かつ前記リクエスト信
    号がネゲートされた場合には前記演算ユニットへの前記
    クロック信号の供給を停止するためのクロックコントロ
    ーラとを備え、 前記マイクロコントローラは、前記演算ユニットに前記
    演算処理を実行させた場合の消費電力が所定の最大消費
    電力を超えるか否かを予測して、前記最大消費電力を超
    えない場合には前記演算起動信号を直ちに発行し、前記
    最大消費電力を超える場合には前記演算起動信号の発行
    を保留する機能を更に有することを特徴とするプロセッ
    サ。
JP24353698A 1997-09-03 1998-08-28 プロセッサ Expired - Fee Related JP3004968B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24353698A JP3004968B2 (ja) 1997-09-03 1998-08-28 プロセッサ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP23801497 1997-09-03
JP9-238014 1997-09-03
JP24353698A JP3004968B2 (ja) 1997-09-03 1998-08-28 プロセッサ

Publications (2)

Publication Number Publication Date
JPH11167629A JPH11167629A (ja) 1999-06-22
JP3004968B2 true JP3004968B2 (ja) 2000-01-31

Family

ID=26533486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24353698A Expired - Fee Related JP3004968B2 (ja) 1997-09-03 1998-08-28 プロセッサ

Country Status (1)

Country Link
JP (1) JP3004968B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195975B2 (en) 2007-12-26 2012-06-05 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device and clock control method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
KR100830747B1 (ko) * 2000-10-25 2008-05-20 텍사스 인스트루먼츠 인코포레이티드 분산된 프로세싱 시스템을 위한 인텔리젼트 전력 관리
WO2006006489A1 (ja) * 2004-07-13 2006-01-19 Matsushita Electric Industrial Co., Ltd. 動き検出装置
US9009451B2 (en) * 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195975B2 (en) 2007-12-26 2012-06-05 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device and clock control method

Also Published As

Publication number Publication date
JPH11167629A (ja) 1999-06-22

Similar Documents

Publication Publication Date Title
EP0901061B1 (en) Clock control
CN108701040B (zh) 用户级别线程暂停的方法、设备、和指令
US8576236B2 (en) Mechanism for granting controlled access to a shared resource
TWI597600B (zh) 在運行狀態下藉由減少每個時脈的指令率之微處理器及其省電方法
JPH06139189A (ja) 共有バス調停機構
US5887129A (en) Asynchronous data processing apparatus
JP3004968B2 (ja) プロセッサ
JP2004511042A (ja) プログラム可能なプロセッサのリセット
US7246220B1 (en) Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state
JP2004512614A (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
US7552269B2 (en) Synchronizing a plurality of processors
US6993674B2 (en) System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
US7054971B2 (en) Interface between a host and a slave device having a latency greater than the latency of the host
US5968166A (en) Information processing apparatus and method, and scheduling device for reducing inactivity due to wait state
KR100457478B1 (ko) 메모리액세스방법및데이터처리시스템
Lafond et al. Interrupt costs in embedded system with short latency hardware accelerators
JP3202654B2 (ja) マイクロプロセッサシステム
JPH11338735A (ja) システムlsi
JP3493768B2 (ja) データ処理装置
JPH07325788A (ja) マルチプロセッサ
JPH10312222A (ja) マイクロコンピュータ及び電子機器
JP4498705B2 (ja) キャッシュシステム
JP2011008617A (ja) マルチスレッド実行装置、オブジェクトプログラムの生成方法、プログラム
JP2002278753A (ja) データ処理システム
JP2927751B2 (ja) 情報処理装置及び情報処理方法及びスケジューリング装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991102

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees