JP6207818B2 - システムオンチップ及びその動作方法並びに携帯用装置 - Google Patents
システムオンチップ及びその動作方法並びに携帯用装置 Download PDFInfo
- Publication number
- JP6207818B2 JP6207818B2 JP2012189619A JP2012189619A JP6207818B2 JP 6207818 B2 JP6207818 B2 JP 6207818B2 JP 2012189619 A JP2012189619 A JP 2012189619A JP 2012189619 A JP2012189619 A JP 2012189619A JP 6207818 B2 JP6207818 B2 JP 6207818B2
- Authority
- JP
- Japan
- Prior art keywords
- accelerator
- cpu
- default
- software
- application program
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 230000001133 acceleration Effects 0.000 claims description 129
- 230000008859 change Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 9
- 238000011017 operating method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 30
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 9
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- User Interface Of Digital Computer (AREA)
Description
ハードウェア加速器は、CPUより迅速に多様な機能を行うために、専用ハードウェア又は専用ハードウェア装置を使う。すなわち、ハードウェア加速器は、CPUの負荷(load)を増加させずに迅速にマルチメディアを加速することができるが、別途のハードウェアを必要とするので、製造コストが増加するという短所がある。
前記比較信号を生成する段階は、前記アプリケーションプログラムに対してデフォルトとして設定された加速器が、前記ハードウェア加速器であり、前記受信する段階において受信した前記加速要請信号が生成される原因となった前記アプリケーションプログラムとは異なるアプリケーションプログラムのために、前記ハードウェア加速器が動作中である時に行われることが好ましい。
前記比較信号を生成する段階は、前記アプリケーションプログラムに対してデフォルトとして設定された加速器が、前記ソフトウェア加速器である時に行われることが好ましい。
前記ソフトウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定されている時、前記加速器コントローラモジュールを実行する前記CPUは、前記CPUの現在使用量に対応する前記CPUの遊休時間が、前記CPUの基準使用量に対応する前記CPUの遊休時間より短い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ソフトウェア加速器から前記ハードウェア加速器に変更することが好ましい。
前記ハードウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定され、他のマルチメディアを加速している時、前記加速器コントローラモジュールを実行する前記CPUは、前記CPUの現在使用量に対応する前記CPUの動作周波数が、前記CPUの基準使用量に対応する前記CPUの周波数より低い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ハードウェア加速器から前記ソフトウェア加速器に変更することが好ましい。
前記ソフトウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定されている時、前記加速器コントローラモジュールを実行する前記CPUは、前記CPUの現在使用量に対応する前記CPUの動作周波数が、前記CPUの基準使用量に対応する前記CPUの周波数より高い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ソフトウェア加速器から前記ハードウェア加速器に変更することが好ましい。
前記加速器制御モジュールを実行する前記CPUは、ユーザ入力インターフェースから入力された情報に基づいて、前記基準使用量を調節することが好ましい。
異種の加速器を含むシステムオンチップで、電力消耗量及び/または性能に基づいて、上記スイッチングが行われることによって、システムオンチップの電力消耗量を減少させながら、性能を向上させることができるという効果がある。
また、マルチ加速を行い、異種の加速器を含むシステムオンチップは、異種の加速器を同時に駆動させることができ、したがって、加速能力が増加するという効果がある。
ハードウェア加速器又はソフトウェア加速器として具現可能なビデオコーデックは、デジタルビデオ(digital video)を圧縮(compression)及び/又は復元(decompression)することができる装置又はソフトウェアを意味する。
また、ハードウェア加速器として具現可能なオーディオコーデックは、アナログオーディオをデジタル信号にエンコードし、デジタル信号をアナログオーディオにデコードすることができる1つの装置を意味する。
ハードウェア加速器として具現可能なグラフィックスプロセッシングユニット又はグラフィックス加速器は、専用グラフィックスレンダリング装置を意味する。
ソフトウェア加速器として具現可能な加速器(ライブラリー(library))は、グラフィックスプロセッシングユニットのためのプログラムが書き込まれるライブラリーを意味する。
ハードウェア加速器として具現可能なウェブ加速器(web accelerator)は、ウェブサイトを迅速にアクセスできるプロキシサーバを意味する。
また、オーディオエンコーダ、オーディオデコーダ、ビデオエンコーダ、及びビデオデコーダも、加速器に含まれうる。
図1を参照すると、データ処理システム1は、携帯電話、スマートフォン、タブレットコンピュータ、PDA(Personal Digital Assistant)、EDA(EnterpriseDigital Assistant)、デジタルスチルカメラ、デジタルビデオカメラ、PMP(Portable Multimedia Player)、PND(Personal Navigation Device、またはPortable Navigation Device)、携帯用ゲームコンソール、またはイーブック(e−book)ような携帯用装置として具現可能である。
プロセッサ(processor)とも呼ばれるCPU12は、ROM14又はRAM16に保存されたプログラム及び/又はデータを処理または実行することができる。
例えば、CPU12は、クロック信号発生器(図示せず)から出力されたクロック信号に応答して、プログラム及び/又はデータを処理または実行することができる。
ROM14は、恒久的なプログラム及び/又はデータを保存することができる。ROM14は、EPROM(Erasable Programmable Read−Only Memory)又はEEPROM(Electrically Erasable Programmable Read−Only Memory)として具現可能である。
図1では、説明の便宜上、1つのハードウェア加速器18のみを示すが、実施形態によっては、SoC10は、1つ又はそれ以上のハードウェア加速器を含みうる。例えば、少なくとも1つのアプリケーションプログラムは、1つのハードウェア加速器を実行させることができる。
メモリ21は、CPU12によって処理されるプログラム、機能(functions)及び/又はマルチメディアデータを保存することができる。メモリ21は、不揮発性メモリとして具現可能である。不揮発性メモリは、フラッシュ(flash)メモリ又は抵抗性メモリとして具現可能である。この際、入出力インターフェース20は、メモリコントローラとして具現可能である。
この際、加速コントローラモジュール(12−2)は、テーブル(12−3)に保存された加速器情報を参照して、デフォルト加速器を判断することができる。
したがって、ハードウェア加速器18は、アプリケーションプログラム(12−1)によって要求される(または、実行される)マルチメディアを加速し、該加速されたマルチメディアをディスプレイコントローラ24を通じてディスプレイ26に伝送する。
したがって、ソフトウェア加速器(12−4)は、アプリケーションプログラム(12−1)によって要求される(または、実行される)マルチメディアを加速し、該加速されたマルチメディアをディスプレイコントローラ24を通じてディスプレイ26に伝送する。
図4では、ステップS10が、ステップS20より先行される実施形態を示すが、実施形態によっては、ステップS10よりステップS20が先行されることもある。
例えば、ソフトウェア加速器の消費電力Pswが、ハードウェア加速器の消費電力Phwより多い時、加速コントローラモジュール(12−2)は、第1アプリケーションプログラムAPP1に対しハードウェア加速器ACChwをデフォルト加速器ACCdef_powとして選択する(ステップS40)。
加速コントローラモジュール(12−2)は、ステップS40の結果又はステップS50の結果によって選択された加速器情報SIをテーブル(12−3)に保存する(ステップS60)。
また、加速コントローラモジュール(12−2)は、第3アプリケーションプログラムAPP3に対するデフォルト加速器としてソフトウェア加速器ACCswを選択し、加速器情報SI(例えば、0)をテーブル(12−3)に保存する。加速コントローラモジュール(12−2)は、第nアプリケーションプログラムAPPnに対するデフォルト加速器としてソフトウェア加速器ACCswを選択し、加速器情報SI(例えば、0)をテーブル(12−3)に保存する。
したがって、テーブル(12−3)は、加速コントローラモジュール(12−2)によって参照されうる。
図6に示した動作方法は、電力消費量を基準にハードウェア加速器とソフトウェア加速器とのうちの何れか1つをデフォルト加速器として設定した後、各加速器の性能を基準に、デフォルト加速器を非デフォルト加速器にスイッチングする動作を表わす。
比較信号は、異種の加速器(ハードウェア加速器18とソフトウェア加速器12−4)間のスイッチングのための信号(例えば、ACC_CTR)として使われる。
これにより、非デフォルト加速器は、第1アプリケーションプログラム(12−1)に対応するマルチメディアを加速することができる。
加速コントローラモジュール(12−2)は、加速要請信号によって、テーブル(12−3)から第3アプリケーションプログラムAPP3についての加速器情報SIを読み取る。したがって、加速コントローラモジュール(12−2)は、加速器情報SIに基づいて、第3アプリケーションプログラムAPP3によって実行されるマルチメディアを加速することができるデフォルト加速器を判断することができる。
これにより、非デフォルト加速器は、第3アプリケーションプログラムAPP3に対応するマルチメディアを加速することができる。
現在使用量と基準使用量のそれぞれは、CPU12の遊休時間(idle time)であり得る。
また、現在使用量と基準使用量のそれぞれは、CPU12の動作電圧とCPU12の動作周波数とのうちの少なくとも1つであり得る。
図7は、図1に示したデータ処理システムの動作方法の他の実施形態を説明するためのフローチャートである。
上述したように、デフォルト加速器ACCdefは、ハードウェア加速器の電力消費量とソフトウェア加速時の電力消費量との比較の結果によって決定された加速器である。
加速コントローラモジュール(12−2)は、現在遊休時間Idle_curと基準使用量に対応する基準遊休時間Idle_thrとを互いに比較する(ステップS222)。
すなわち、加速コントローラモジュール(12−2)は、CPU12の過負荷(over load)を避けるために、ソフトウェア加速器(12−4)の代わりに、ハードウェア加速器(ACChw)18を選択する。したがって、ハードウェア加速器ドライバー(12−5)は、第1アプリケーションプログラム(12−1)に対応するマルチメディアを加速するために、ハードウェア加速器(ACChw)18を駆動させる。
しかし、ソフトウェア加速器(12−4)が、現在動作中である場合、すなわち、他のアプリケーションプログラムに対応するマルチメディアを加速している時、ソフトウェア加速器(12−4)は、加速動作が終了するまで待った後(ステップS230)、加速コントローラモジュール(12−2)からの制御信号ACC_CTRによって、ソフトウェア加速器(12−4)は、第1アプリケーションプログラム(12−1)に対応するマルチメディアを加速する。
DVFSプログラム(12−6)は、CPU12の負荷を考慮して、CPU12の動作電圧と動作周波数とを制御することができる。
DVFSプログラム(12−6)が、実行中である時、加速コントローラモジュール(12−2)は、DVFSプログラム(12−6)からCPU12の現在動作電圧についての情報とCPU12の現在動作周波数についての情報とを得て、CPU12の負荷を確認する。
したがって、ハードウェア加速器ドライバー(12−5)は、第1アプリケーションプログラム(12−1)に対応するマルチメディアを加速するために、ハードウェア加速器(ACChw)18を駆動させる(ステップS316)。
遊休時間が短ければ短いほど、CPU12の負荷は増加する。
したがって、ハードウェア加速器ドライバー(12−5)は、第1アプリケーションプログラム(12−1)に対応するマルチメディアを加速するために、ハードウェア加速器(ACChw)18を駆動させる(ステップS316)。
判断の結果、ソフトウェア加速器(12−4)が、現在動作していない場合、加速コントローラモジュール(12−2)は、ソフトウェア加速器(12−4)を実行させる(ステップS328)。
例えば、MP3プレーヤーとビデオプレーヤーとを同時に実行させる時、MP3プレーヤーのためのMP3デコーダ加速器とビデオプレーヤーとが実行される時、オーディオを再生するための別途のMP3デコーダ加速器は、同時に駆動されてマルチ加速が可能である。
図9に示したフローチャートは、ハードウェア加速器の性能とソフトウェア加速器の性能との比較結果を基準にデフォルト加速器を設定する方法を示す。
そして、加速コントローラモジュール(12−2)は、アプリケーションプログラムに割り当てられたソフトウェア加速器が、加速動作を行うのに必要な加速時間Tswを測定(又は、予測)する(ステップS420)。
例えば、ハードウェア加速器の加速時間Thwが、ソフトウェア加速器の加速時間Tswより長い時、加速コントローラモジュール(12−2)は、アプリケーションプログラムに対しソフトウェア加速器ACCswをデフォルト加速器ACCdef_perfとして選択する(ステップS440)。
すなわち、加速コントローラモジュール(12−2)は、ソフトウェア加速器の加速時間とハードウェア加速器の加速時間とのうち、短い加速時間を有する加速器をアプリケーションプログラムに対するデフォルト加速器として選択する。
例えば、テーブルは、テーブル(12−3)と別途のテーブルであり、同じテーブルでもあり得る。テーブルは、ROM14又はメモリ21に保存された後、RAM16にロードされた後、CPU12にロードされうる。
図1〜図10を参照すると、加速コントローラモジュール(12−2)は、プログラム又はユーザの要請信号によって、図4の電力消費を基準に設定されたデフォルト加速器を選択するか、または図9の性能を基準に設定されたデフォルト加速器を選択することができる。
変更信号ACC_facは、ユーザインターフェースを通じて入力された信号であるか、又はCPU12から出力された信号であり得る。
デフォルト加速器が、電力消費を基準に設定されたか、または性能を基準に設定されるかについての情報は、ROM14又はメモリ21に保存することができる。
したがって、加速コントローラモジュール(12−2)は、ブーティング時又はアプリケーションプログラムが実行される時、ROM14又はメモリ21に保存された情報を参照して、アプリケーションプログラムに対するデフォルト加速器が、電力消費量を基準に設定されたか、又は性能を基準に設定されたかを判断する。
例えば、図7又は図8に示したように、各デフォルト加速器ACCdef_pow又はACCdef_perfは、非デフォルト加速器にスイッチングされる。
i)電力消費量を基準に選択されたデフォルト加速器ACCdef_powを選択、
ii)性能を基準に選択されたデフォルト加速器ACCdef_perfを選択、
iii)電力消耗量を基準に選択されたデフォルト加速器ACCdef_pow、例えば、ハードウェア加速器とソフトウェア加速器とのうちの何れか1つをハードウェア加速器とソフトウェア加速器のそれぞれの性能によって、非デフォルト加速器、例えば、ハードウェア加速器とソフトウェア加速器とのうち、他の1つに変更、
iv)性能を基準に選択されたデフォルト加速器ACCdef_perf、例えば、ハードウェア加速器とソフトウェア加速器とのうちの何れか1つをハードウェア加速器とソフトウェア加速器のそれぞれの電力消費量によって、非デフォルト加速器、例えば、ハードウェア加速器とソフトウェア加速器とのうち、他の1つに変更。
この場合、加速コントローラモジュール(12−2)は、上述した4種の方法を行うことができる。
10 SoC(システムオンチップ)
12 CPU
12−1 (第1)アプリケーションプログラム
12−2 加速コントローラモジュール
12−3 テーブル
12−4 ソフトウェア加速器
12−5 ハードウェア加速器ドライバー
12−6 DVFSプログラム
14 ROM
16 RAM
18 ハードウェア加速器
21 メモリ
22 バス
24 ディスプレイコントローラ
26 ディスプレイ
Claims (17)
- アプリケーションプログラムの実行によって生成された加速要請信号を受信する段階と、
前記加速要請信号の受信に応答して、CPUの現在使用量と基準使用量とを比較し、比較信号を生成する段階と、
前記比較信号に応答して、前記アプリケーションプログラムによって実行されるマルチメディアを加速するために、異種の加速器の間でスイッチングを行うことにより、前記アプリケーションプログラムのために用いる加速器を定める段階と、を有し、
前記CPUの現在使用量と前記CPUの基準使用量のそれぞれは、
前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの遊休時間(idle time)、前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作電圧、又は前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作周波数のうちのいずれか1つであることを特徴とするシステムオンチップの動作方法。 - 前記異種の加速器は、ハードウェア装置として具現されたハードウェア加速器と、前記CPUで実行可能なプログラムコードとして具現されたソフトウェア加速器とを含み、
前記ソフトウェア加速器は、メモリから前記CPUに読み込まれた後に実行されることを特徴とする請求項1に記載のシステムオンチップの動作方法。 - 前記比較信号を生成する段階は、前記アプリケーションプログラムに対してデフォルトとして設定された加速器が、前記ハードウェア加速器であり、前記受信する段階において受信した前記加速要請信号が生成される原因となった前記アプリケーションプログラムとは異なるアプリケーションプログラムのために、前記ハードウェア加速器が動作中である時に行われることを特徴とする請求項2に記載のシステムオンチップの動作方法。
- 前記比較信号を生成する段階は、前記アプリケーションプログラムに対してデフォルトとして設定された加速器が、前記ソフトウェア加速器である時に行われることを特徴とする請求項2に記載のシステムオンチップの動作方法。
- アプリケーションプログラムの実行によって生成された加速要請信号を受信する段階と、
前記加速要請信号によって、前記アプリケーションプログラムによって実行されるマルチメディアを加速するためのデフォルト加速器が、ハードウェア加速器であるか、またはCPUで実行可能なプログラムとして具現されたソフトウェア加速器であるかを判断する段階と、
前記デフォルト加速器が、前記ソフトウェア加速器である時、または前記ハードウェア加速器でありながら、他のマルチメディアを加速している時、前記CPUの現在使用量と基準使用量とを比較し、比較信号を生成する段階と、
前記比較信号によって、前記アプリケーションプログラムのために用いる加速器を、前記デフォルト加速器から、非デフォルト(non−default)加速器に変更する段階と、を有し、
前記CPUの現在使用量と前記CPUの基準使用量のそれぞれは、
前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの遊休時間(idle time)、前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作電圧、又は前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作周波数のうちのいずれか1つであることを特徴とするシステムオンチップの動作方法。 - 前記デフォルト加速器が、ハードウェア加速器であるかソフトウェア加速器であるかを判断する段階は、テーブルに保存された加速器情報に基づいて判断することを特徴とする請求項5に記載のシステムオンチップの動作方法。
- 異種の加速器と、
アプリケーションプログラムによって実行されるマルチメディアを加速するために、前記異種の加速器の間でスイッチングを行って、前記アプリケーションプログラムのために用いる加速器を定めるための比較信号を生成するための加速器コントローラモジュールを実行するCPUと、を有し、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量と基準使用量とを比較して、前記比較信号を出力し、
前記異種の加速器は、ハードウェア装置として具現されたハードウェア加速器と、前記CPUで実行可能なプログラムコードとして具現されたソフトウェア加速器と、を含み、
前記ソフトウェア加速器は、メモリから前記CPUに読み込まれた後に実行され、
前記CPUの現在使用量と前記CPUの基準使用量のそれぞれは、
前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの遊休時間、前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作電圧、又は前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作周波数のうちのいずれか1つであることを特徴とするシステムオンチップ。 - 前記ハードウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定され、他のマルチメディアを加速している時、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量に対応する前記CPUの遊休時間が、前記CPUの基準使用量に対応する前記CPUの遊休時間より長い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ハードウェア加速器から前記ソフトウェア加速器に変更することを特徴とする請求項7に記載のシステムオンチップ。 - 前記ソフトウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定されている時、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量に対応する前記CPUの遊休時間が、前記CPUの基準使用量に対応する前記CPUの遊休時間より短い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ソフトウェア加速器から前記ハードウェア加速器に変更することを特徴とする請求項7に記載のシステムオンチップ。 - 前記ハードウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定され、他のマルチメディアを加速している時、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量に対応する前記CPUの動作周波数が、前記CPUの基準使用量に対応する前記CPUの周波数より低い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ハードウェア加速器から前記ソフトウェア加速器に変更することを特徴とする請求項7に記載のシステムオンチップ。 - 前記ソフトウェア加速器が、前記マルチメディアを加速するためのデフォルト加速器として設定されている時、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量に対応する前記CPUの動作周波数が、前記CPUの基準使用量に対応する前記CPUの周波数より高い時に生成された前記比較信号によって、前記マルチメディアを加速するための加速器を、前記ソフトウェア加速器から前記ハードウェア加速器に変更することを特徴とする請求項7に記載のシステムオンチップ。 - マルチメディアを保存する不揮発性メモリと、
ディスプレイと、
異種の加速器と、
アプリケーションプログラムによって実行される前記マルチメディアを加速するために、前記異種の加速器の間でスイッチングを行って、前記アプリケーションプログラムのために用いる加速器を定めるための比較信号を生成するための加速器コントローラモジュールを実行するCPUと、を有し、
前記加速器コントローラモジュールを実行する前記CPUは、
前記CPUの現在使用量と基準使用量とを比較して、前記比較信号を出力し、
前記異種の加速器のうち、前記比較信号によって選択された加速器に基づいて処理されたマルチメディアデータは、前記ディスプレイを通じて表示され、
前記異種の加速器は、ハードウェア装置として具現されたハードウェア加速器と、前記CPUで実行可能なプログラムコードとして具現されたソフトウェア加速器とを含み、
前記ソフトウェア加速器は、メモリから前記CPUに読み込まれた後に実行され、
前記CPUの現在使用量と前記CPUの基準使用量のそれぞれは、
前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの遊休時間、前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作電圧、又は前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作周波数のうちのいずれか1つであることを特徴とする携帯用装置。 - ハードウェア加速器と、
アプリケーションプログラム、加速器制御モジュール、及びソフトウェア加速器を保存するメモリと、
前記ハードウェア加速器と前記メモリとを制御するためのCPUとを有し、
前記CPUによって、前記アプリケーションプログラム、前記加速器制御モジュール、及び前記ソフトウェア加速器が実行されることによって、
前記加速器制御モジュールを実行する前記CPUは、
前記アプリケーションプログラムの実行によって生成された加速要請信号を受信し、
前記加速要請信号によって、前記アプリケーションプログラムによって実行されるマルチメディアを加速するためのデフォルト加速器が、ハードウェア加速器であるか、または前記CPUで実行可能なプログラムとして具現されたソフトウェア加速器であるかを判断し、
前記デフォルト加速器が、前記ソフトウェア加速器である時、または前記ハードウェア加速器でありながら、他のマルチメディアを加速している時、前記CPUの現在使用量と基準使用量とを比較して、比較信号を生成し、
前記比較信号によって、前記アプリケーションプログラムのために用いる加速器を、前記デフォルト加速器から非デフォルト加速器に変更し、
前記CPUの現在使用量と前記CPUの基準使用量のそれぞれは、
前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの遊休時間、前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作電圧、又は前記現在使用量と前記基準使用量のそれぞれに対応する前記CPUの動作周波数のうちのいずれか1つであることを特徴とするシステムオンチップ。 - 前記加速器制御モジュールを実行する前記CPUは、前記メモリに保存されている、前記デフォルト加速器についての加速器情報に基づいて、前記デフォルト加速器を判断することを特徴とする請求項13に記載のシステムオンチップ。
- 前記加速器制御モジュールを実行する前記CPUは、ユーザ入力インターフェースから入力された情報に基づいて、前記基準使用量を調節することを特徴とする請求項13に記載のシステムオンチップ。
- 変更信号を受信する段階と、
前記変更信号が、電力消費量を基準に選択されたデフォルト加速器を選択する指示信号であるか、または性能を基準に選択されたデフォルト加速器を選択する指示信号であるかを判断する段階と、
前記判断の結果に基づいて、複数のテーブルのうちの何れか1つに保存された加速器情報を参照する段階と、
前記加速器情報に基づいて、ハードウェア装置として具現されたハードウェア加速器と、CPUで実行可能なプログラムコードとして具現されたソフトウェア加速器との内からデフォルトとして設定された加速器を前記デフォルト加速器として駆動させる段階とを有することを特徴とするシステムオンチップの動作方法。 - 前記変更信号が、電力消費量を基準に選択されたデフォルト加速器を選択する指示信号である時、前記CPUの現在使用量と基準使用量とを比較し、比較信号を生成させる段階と、
前記比較信号によって、用いる加速器を、前記デフォルト加速器から非デフォルト加速器に変更する段階と、をさらに有することを特徴とする請求項16に記載のシステムオンチップの動作方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0087411 | 2011-08-30 | ||
KR1020110087411A KR101861742B1 (ko) | 2011-08-30 | 2011-08-30 | 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013050953A JP2013050953A (ja) | 2013-03-14 |
JP6207818B2 true JP6207818B2 (ja) | 2017-10-04 |
Family
ID=47665337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012189619A Active JP6207818B2 (ja) | 2011-08-30 | 2012-08-30 | システムオンチップ及びその動作方法並びに携帯用装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9223581B2 (ja) |
JP (1) | JP6207818B2 (ja) |
KR (1) | KR101861742B1 (ja) |
CN (1) | CN103164215B (ja) |
DE (1) | DE102012106830A1 (ja) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014116206A1 (en) * | 2013-01-23 | 2014-07-31 | Empire Technology Development Llc | Management of hardware accelerator configurations in a processor chip |
US8782265B1 (en) | 2013-03-14 | 2014-07-15 | Dmitry Bokotey | Network visualization system and method of using same |
KR102114388B1 (ko) * | 2013-10-18 | 2020-06-05 | 삼성전자주식회사 | 전자 장치의 메모리 압축 방법 및 장치 |
CN104795072A (zh) * | 2015-03-25 | 2015-07-22 | 无锡天脉聚源传媒科技有限公司 | 一种音频数据的编码方法及装置 |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US9792154B2 (en) * | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US20160378551A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Adaptive hardware acceleration based on runtime power efficiency determinations |
KR102402672B1 (ko) * | 2015-09-01 | 2022-05-26 | 삼성전자주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템에서 연산들을 처리하는 방법 |
CN111865657B (zh) * | 2015-09-28 | 2022-01-11 | 华为技术有限公司 | 一种加速管理节点、加速节点、客户端及方法 |
US9911417B2 (en) * | 2016-04-01 | 2018-03-06 | Tai-An Lu | Internet of things system with voice-controlled functions and method for processing information of the same |
CN107592287A (zh) * | 2016-07-07 | 2018-01-16 | 深圳市中兴微电子技术有限公司 | 一种报文加速方法及装置 |
US10355945B2 (en) | 2016-09-21 | 2019-07-16 | International Business Machines Corporation | Service level management of a workload defined environment |
US10572310B2 (en) | 2016-09-21 | 2020-02-25 | International Business Machines Corporation | Deploying and utilizing a software library and corresponding field programmable device binary |
US10599479B2 (en) | 2016-09-21 | 2020-03-24 | International Business Machines Corporation | Resource sharing management of a field programmable device |
US10417012B2 (en) * | 2016-09-21 | 2019-09-17 | International Business Machines Corporation | Reprogramming a field programmable device on-demand |
US10740152B2 (en) * | 2016-12-06 | 2020-08-11 | Intel Corporation | Technologies for dynamic acceleration of general-purpose code using binary translation targeted to hardware accelerators with runtime execution offload |
WO2018111224A1 (en) * | 2016-12-12 | 2018-06-21 | Hitachi, Ltd. | System and method of dynamic allocation of hardware accelerator |
KR102034660B1 (ko) * | 2017-07-31 | 2019-10-21 | 서울대학교산학협력단 | 이종 시스템의 가속기 제어 방법 및 이를 수행하기 위한 이종 시스템 |
CN109426529B (zh) * | 2017-08-16 | 2023-03-21 | 龙芯中科技术股份有限公司 | 基于x窗口系统图形绘制的方法、装置及终端 |
JP7346401B2 (ja) | 2017-11-10 | 2023-09-19 | エヌビディア コーポレーション | 安全で信頼できる自動運転車両のためのシステム及び方法 |
WO2019168869A1 (en) | 2018-02-27 | 2019-09-06 | Nvidia Corporation | Real-time detection of lanes and boundaries by autonomous vehicles |
US11537139B2 (en) | 2018-03-15 | 2022-12-27 | Nvidia Corporation | Determining drivable free-space for autonomous vehicles |
EP3791274B1 (en) * | 2018-05-08 | 2024-05-01 | Telefonaktiebolaget LM Ericsson (publ) | Method and node for managing a request for hardware acceleration by means of an accelerator device |
US11144357B2 (en) * | 2018-05-25 | 2021-10-12 | International Business Machines Corporation | Selecting hardware accelerators based on score |
US10892944B2 (en) | 2018-11-29 | 2021-01-12 | International Business Machines Corporation | Selecting and using a cloud-based hardware accelerator |
WO2020140049A1 (en) | 2018-12-28 | 2020-07-02 | Nvidia Corporation | Distance to obstacle detection in autonomous machine applications |
US11648945B2 (en) | 2019-03-11 | 2023-05-16 | Nvidia Corporation | Intersection detection and classification in autonomous machine applications |
DE112020004139T5 (de) | 2019-08-31 | 2022-05-12 | Nvidia Corporation | Erstellung von karten und lokalisierung für anwendungen im bereich des autonomen fahrens |
US11978266B2 (en) | 2020-10-21 | 2024-05-07 | Nvidia Corporation | Occupant attentiveness and cognitive load monitoring for autonomous and semi-autonomous driving applications |
KR102559658B1 (ko) * | 2020-12-16 | 2023-07-26 | 한국과학기술원 | 스케줄링 방법 및 장치 |
CN114860353A (zh) * | 2022-05-31 | 2022-08-05 | 苏州浪潮智能科技有限公司 | 一种程序执行方法、系统、设备以及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04367337A (ja) | 1991-06-11 | 1992-12-18 | Raiden:Kk | 鋼板コイルの口開き装置 |
JP4212676B2 (ja) * | 1998-02-12 | 2009-01-21 | 富士ゼロックス株式会社 | 情報処理システムおよび情報処理方法 |
US9195784B2 (en) * | 1998-08-31 | 2015-11-24 | Cadence Design Systems, Inc. | Common shared memory in a verification system |
KR20000032335A (ko) | 1998-11-13 | 2000-06-15 | 구자홍 | 휴대용 컴퓨터의 디스플레이 성능 향상방법 |
US6925641B1 (en) * | 2000-02-04 | 2005-08-02 | Xronix Communications, Inc. | Real time DSP load management system |
JP4367337B2 (ja) | 2004-12-28 | 2009-11-18 | セイコーエプソン株式会社 | マルチメディア処理システム及びマルチメディア処理方法 |
JP2007328461A (ja) * | 2006-06-06 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 非対称マルチプロセッサ |
JP2009122925A (ja) | 2007-11-14 | 2009-06-04 | Toshiba Corp | データ処理プログラム、データ処理方法およびデータ処理システム |
US8055872B2 (en) * | 2008-02-21 | 2011-11-08 | Arm Limited | Data processor with hardware accelerator, accelerator interface and shared memory management unit |
US8432405B2 (en) | 2008-06-26 | 2013-04-30 | Microsoft Corporation | Dynamically transitioning between hardware-accelerated and software rendering |
CN101441564B (zh) * | 2008-12-04 | 2011-07-20 | 浙江大学 | 为程序定制的可重构加速器实现方法 |
US8368702B2 (en) | 2010-01-06 | 2013-02-05 | Apple Inc. | Policy-based switching between graphics-processing units |
KR101115708B1 (ko) | 2010-01-26 | 2012-03-06 | 한국원자력연구원 | 단결정 성장용 앰플 및 이를 포함하는 단결정 성장장치 |
US20110249022A1 (en) * | 2010-04-08 | 2011-10-13 | Rajesh Poornachandran | Techniques for managing power use |
US8839256B2 (en) * | 2010-06-09 | 2014-09-16 | International Business Machines Corporation | Utilization of special purpose accelerators using general purpose processors |
JP5772948B2 (ja) * | 2011-03-17 | 2015-09-02 | 富士通株式会社 | システムおよびスケジューリング方法 |
-
2011
- 2011-08-30 KR KR1020110087411A patent/KR101861742B1/ko active IP Right Grant
-
2012
- 2012-07-27 DE DE102012106830A patent/DE102012106830A1/de active Pending
- 2012-08-30 JP JP2012189619A patent/JP6207818B2/ja active Active
- 2012-08-30 US US13/599,042 patent/US9223581B2/en active Active
- 2012-08-30 CN CN201210315767.4A patent/CN103164215B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9223581B2 (en) | 2015-12-29 |
CN103164215A (zh) | 2013-06-19 |
US20130061033A1 (en) | 2013-03-07 |
JP2013050953A (ja) | 2013-03-14 |
CN103164215B (zh) | 2017-08-11 |
DE102012106830A1 (de) | 2013-02-28 |
KR101861742B1 (ko) | 2018-05-30 |
KR20130024155A (ko) | 2013-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6207818B2 (ja) | システムオンチップ及びその動作方法並びに携帯用装置 | |
JP6062438B2 (ja) | タイル単位レンダラーを用いてレイヤリングするシステムおよび方法 | |
EP3137985B1 (en) | Method and system to create a rendering pipeline | |
CN110832457B (zh) | 用于虚拟化加速处理装置的提前虚拟化上下文切换 | |
CA2885995C (en) | A hybrid engine for central processing unit and graphics processor | |
US20140189708A1 (en) | Terminal and method for executing application in same | |
US9563466B2 (en) | Method and apparatus for supporting programmable software context state execution during hardware context restore flow | |
KR20120083365A (ko) | 디바이스를 디스에이블시키는 방법 및 장치 | |
WO2022089040A1 (zh) | 一种窗口展示效果的控制方法及计算设备 | |
JP2020513613A (ja) | 電力パフォーマンス管理のためのアプリケーションプロファイリング | |
US9830731B2 (en) | Methods of a graphics-processing unit for tile-based rendering of a display area and graphics-processing apparatus | |
KR102521654B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템에서 타일-기반 렌더링의 그래픽스 파이프라인을 수행하는 방법 | |
WO2019126976A1 (zh) | 虚拟现实场景模型建立方法、装置、电子设备和存储介质 | |
KR102248787B1 (ko) | Gpu의 리소스에 대한 전력 소비 제어방법 및 장치 | |
JP2008269094A (ja) | 情報処理装置、情報処理装置の最適化方法、プログラム | |
WO2022237083A1 (zh) | 信息显示方法、装置、终端、存储介质及计算机程序产品 | |
JP2022546250A (ja) | 電力に基づいたsramの適応割り当て | |
JP2020525914A (ja) | 仮想化デバイス用のファームウェアの変更 | |
TWI807301B (zh) | 適應於圖形處理器的二次卸載的編譯裝置和方法和電腦程式產品 | |
CN112214443B (zh) | 设置于图形处理器中的二次卸载装置和方法 | |
JP6141073B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
KR20210022850A (ko) | 반도체 장치의 성능 부스팅 제어 방법 및 이를 수행하는 반도체 장치 | |
CN111858036A (zh) | 基于FPGA设备的TensorFlow系统加速方法、装置、设备及存储介质 | |
CN116483643A (zh) | 一种gpu调试方法、装置、设备及存储介质 | |
WO2019028596A1 (zh) | 一种虚拟机的启动方法、装置和智能终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160829 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170906 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6207818 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |