ディー・クルー・テクノロジーズ Blog

bookmark_borderハードウェアアクセラレーションの徹底比較

システムインテグレーター(SIer)やソリューション企業にとって、クライアントからの要望は多岐にわたります。最近の技術トレンドであるAIやIoTの普及に伴い、データを活用して業務価値を最大化し、新たなビジネスモデルを構築したいというニーズが急増しています。しかしながら、データ処理の遅さや秘匿性の確保といった課題は、クライアントの生産性向上のボトルネックとなっています。こうしたニーズに対して、SIerやソリューション企業の提案として有効な「ハードウェアアクセラレーション」についてご紹介します。

どんな種類のハードウェアアクセラレーションがあるのか?

クライアントが速度に関して課題を挙げるとき、高速処理のためのハードウェア導入(ハードウェアアクセラレーション)が有効な場合があります。

ここでは主なハードウェアアクセラレーションの手法について比較してみましょう。

1. CPU(Central Processing Unit)

CPUは一般的なプロセッサで、小数の高性能コアを持つため、シリアル処理に強みがあります。オフィスアプリケーションや軽量なウェブブラウジングなど、一般的な作業に利用されますが、並列処理には限界があります。

2. GPU(Graphics Processing Unit)

GPUは、多数のコアを持つため、大量のデータを並列処理するのに優れています。主にグラフィックスの生成や機械学習に利用されることが多く、処理速度を大幅に向上させられます。TensorFlowやPyTorchなどのライブラリからも活用され、大量データの高速処理を実現します。

3. FPGA(Field-Programmable Gate Array)

FPGAはプログラマブルなハードウェアで、特定の処理に特化した効率的な処理が可能です。特にリアルタイムデータ処理や医療イメージングに用いられ、高速かつ柔軟なソリューションを提供します。

4. ASIC(Application-Specific Integrated Circuit)

ASICは特定のアプリケーション向けに設計された集積回路で、高速で効率的な処理が可能です。ただし、設計や初期投資に高コストが必要で、柔軟性に欠ける点もあります。

ハードウェアアクセラレーションの選択で何を重視すべきか?

これらのハードウェア技術はそれぞれ異なる強みを持っています。最適な選択とは、求められる性能、コスト、開発リソースによって異なるため、各シナリオに応じた評価が不可欠です。いずれの対策でも、投資には限りがあるため、コストパフォーマンスを考慮した導入が求められます。

1. CPU(Central Processing Unit)

アーキテクチャは 一般的なプロセッサであり、少数の高性能なコアを持つ。複雑なタスクを順次処理するのに優れている。シリアル処理に強いが、並列処理能力は限定的で 一般的なコンピュータアプリケーションや制御タスクに利用されます。例えばシングルスレッド性能が求められるため、高速なプロセッサが必要なWordやExcelなどのオフィスアプリケーションはCPUで動作します。また、ウェブブラウザはHTML、JavaScript、CSSなどの軽量な処理を行うため、CPUの能力が重要です。さらに、家電製品や自動車の制御に使われる 組み込みシステムやIoTデバイスな制御システムでは、一定の処理をシリアルに実行する必要があります。

2. GPU(Graphics Processing Unit)

CPUの通常処理では重すぎる演算や並列タスク処理を、GPU(Graphics Processing Unit)に肩代わりさせ、効率良く管理・実行する技術です。CPUと連携して、重要な処理や重い処理、またタスクの依存関係を考慮して、効率よく順序だててGPUへ割り当てる手法をGPUスケジューリングと呼びます。

GPUは多数のコアを持っており、同時に多くのスレッドを処理することができるため、大量のデータ処理や並行処理に向いています。用途としては、ゲームや映画のグラフィックスの生成に使用され、高速な3Dレンダリングを実現します。例えばNVIDIAのGeForceシリーズは、リアルタイムグラフィックスレンダリングに特化しています。また、大量のデータを並列処理する能力を活かして、機械学習・ディープラーニングにおいて、トレーニングプロセスを加速します。例えばTensorFlowやPyTorchなどのライブラリでは、GPUを活用することでモデルのトレーニング時間を大幅に短縮します。また膨大なデータセットを高速に処理して分析するため、HadoopやApache Sparkなどのフレームワークと組み合わせてビッグデータで利用されます。

2. FPGA(Field-Programmable Gate Array)

アーキテクチャ: プログラマブルなハードウェア、「FPGA」を用いて、特定の処理の重いタスクを効率的に処理する方法です。四則演算や命令分岐などGPUでは効率的に処理できない特定のアルゴリズムに対するパフォーマンスを最大化できます。

音声認識や画像処理、通信でデータをリアルタイムにデジタル信号処理するために使用されます。また、超音波診断装置やMRI装置など、高速かつ柔軟な処理が求められる医療イメージングに使用されます。また高速取引(HFT)では、取引アルゴリズムをFPGA上で実行することで、ミリ秒単位での取引が可能になります。このような特定の計算処理に非常に効果的ですが、設計にはある程度の時間とFPGAにおけるハードウェア・ソフトウェアの専門知識が必要です。しかしそうした専門家による工夫次第ではスパコンを凌駕する演算能力を発揮させることができることがFPGAの大きな特長です。

3. ASIC

ASIC(Application-Specific Integrated Circuit)は、特定のアプリケーションや用途向けに設計された集積回路です。特定のタスクに最適化して設計されているため、一般的なプロセッサに比べて処理速度が非常に高速です。これにより、高度な演算やデータ処理が迅速でかつ省電力です。特定の機能に特化した設計のため、必要な回路だけを集約でき、チップのサイズを小さくすることができます。

一方ASICの開発には高額な設計費用と時間がかかり、小ロット生産に向かないので、少量生産や汎用性の低い用途には不向きです。またASICは一度設計すると変更が難しく新たな機能追加や改善ができないので、設計段階での柔軟な設計変更にも対応しづらいです。さらに設計から製造までには時間がかかるためスピードが求められる設計開発には不向きです。このようにASICは特定のアプリケーションに対して非常に優れた性能を発揮しますが、設計コストや柔軟性の面でのトレードオフに注意する必要があります。

ハードウェアアクセラレーションで最も重視すべきポイント

それぞれのハードウェアアクセラレーション技術は、特定の用途や要件に応じて強みが異なります。最適な選択は、求められる性能、コスト、開発リソースなどによって異なるため、具体的なニーズに応じて評価することが重要です。これらの用途を理解することで、プロジェクトや研究において最適なコンピューティングリソースを選択する際の指針となります。ただしいずれの手段でも、クライアントが重視するのは、秘匿性が担保されていること、高速化が実現できること、それでいてリーズナブルなコストであることは重要な選択ポイントとなります。

ディー・クルー・テクノロジーズのFPGAソリューション

弊社には極めて専門性の高いFPGA設計ができるエンジニアが在籍しております。演算処理の圧倒的な高速化を求める方に、2タイプのハードウェアアクセラレーションでデータ処理の未来を切り開くソリューションをご提供できます。クライアントが直面しているデータ処理の課題に対して、是非私たちの革新的なハードウェア及びファームウェアソリューションをお試しください。

1. 低コストでの導入

大規模な投資は不要。コスト効率の高いソリューションで、企業の利益を最大化します。

2. 高い秘匿性

データを社内で処理するため、セキュリティの確保が可能。機密性の高い情報を安心して扱えます。

3. 高速化の実現

大量かつ複雑なデータ処理において、従来の方法に比べて数倍から数十倍の処理速度を誇ります。

⓵ FPGA高速化ソリューション

FPGAで難解な科学計算を高速で解きたい。元々柔軟性やカスタマイズ性の高いこのハードウェアをベースにし、演算処理の実行は弊社開発の専用プログラムで表現した「ソフトウェアとハードウェアの融合」した方式です。このメリットは特定の計算タスクに特化したハードウェアプログラム構成により、GPUよりも高速な処理速度を実現。カスタマーに要求されるリアルタイムでのデータ処理が可能です。

② QALMOⓇ

最先端の疑似量子アニーリング技術を駆使し、FPGAで複雑なデータセットの最適化を実現します。従来のアルゴリズムでは対処しきれない問題に対して、効率的かつ迅速な解を提供します。

bookmark_borderAI×IoTでトイレ見守りシステムを作る(1)

急速に変化する日本社会、求められるデジタル変革

日本社会は大きな変革の時を迎えています。若年層と高齢層の人口バランスが変化し、労働可能な人口が減少する一方で、高齢者の割合は急速に増加しています。このような社会構造の変化に対応するため、今生活設備の自動化やデジタル変革(DX)が不可欠になっています。デジタル変革にはコストが重要な課題の1つです。新しいソリューションを導入する際は、初期費用だけでなく、長期的なサポートコストも考慮し、費用対効果の高い選択をすることが求められます。

こんにちは。私は、ディー・クルー・テクノロジーズで「ハードウェア、センサー、処理技術(アルゴリズム・AI)、そして通信技術(ワイヤレスなど)」を組み合わせることで、コストの課題に対応できるソリューションを提供可能と考えているエンジニアです。 今回は、テクノロジーの力で、変化する社会に柔軟に適応し、より持続可能な未来を実現していけることを皆様にも感じてもらいたく、このブログを寄稿いたしました。

トイレみまもりシステムとは? ー今、トイレ監視が求められる理由

近年、病院や高齢者介護施設、パチンコ店、カフェ などでのトイレ監視システムの重要性が高まっています。それらの目的はシンプルで、利用者の異常な状態をできるだけ早く検知し、迅速な対処を可能にすることです。もし命に係わるような緊急時であったときは、わずかな遅れが健康や深刻な影響を及ぼす可能性がありますので、なおさらこうした対策が求められているのです。

トイレは 人目の届かない空間 であり、利用者が困っていても気づきにくい場所です。病院の患者、介護施設を利用する高齢者、パチンコ店などの娯楽施設やカフェのお客様 などが、万一お一人でトイレを利用中に急な体調不良が発生した場合、気づかずに放置されてしまい、場合によっては命にかかわるという高いリスクが常に伴います。

だからこそ、そこにトイレにIoTがあれば、お一人で利用していても、それぞれの環境で 迅速な異常検出を行って場合によっては命を救うこともできるかもしれない、と考えています。

盗撮と勘違いされないようにトイレを見守るには?

トイレの監視システムでは利用者の状態をセンサーで検出するという仕組みが必要です。しかし、盗撮・盗聴などの悪質行為と勘違いされないように配慮しなければなりません。ここが以前ブログでお伝えしたカメラを使った駐車場監視とは違ったトイレ見守りの難しいところです。

カメラ・マイクはご法度!

さて、利用者の行動を監視するには、結論から言うと次のような検知機能が求められます。

  • 占有検知 – トイレが利用者によって使用中かどうか
  • 動作検知 – 利用者に異常な動きがみられないか
  • 転倒検知 – トイレ内で利用者が倒れていないか

これらの検知を、カメラやマイクを用いずに、実施すること。これができれば、異常時に適切な対応ができる仕組み を作ることが可能になります。

トイレ見守りにたいする街の施設の課題感とは?

  • 病院・高齢者介護施設の課題
    • 病院では、看護師がナースステーションから複数の病室を監視 することが一般的です。しかし、監視システムの届かない、トイレの中で患者に異変があったとしても、すぐには気づけません。
    • 患者さんのプライバシーを守りつつ、異常な静止状態や転倒を自動で検知し、看護師に通知できるシステムを導入すれば、これによりプライバシーを守りながら患者さんの安全を確保 できます。
  • パチンコ店などの娯楽施設の課題
    • 医療・介護スタッフが常駐しているような設備であれば、まだ人的にリスク回避が可能ですが、医療スタッフが常駐しているわけではない、パチンコ店では、長時間座って遊技するお客様が多く、トイレをずっと我慢していたり、たまに立ち上がってトイレに行って用を足しているときに、お客様の中には体調を崩されてトイレ内で倒れるといったケースがあるそうです。

実際に娯楽施設の運営サイドでは、こうしたシチュエーションにおいてお客様の健康を守るために、異常検知システムが求められているようです。私もパチンコ店のような環境でこそ、IoTシステムによる異変の早期発見がより重要なキーになるのでは、と考えています。

パチンコ店が求めているトイレ見守りシステムとは?

さて、お店では、大きく分けて3つのお客様の異常を検知できるシステムを求めているそうです。

  1. トイレ内での体調不良による意識喪失
  2. 異常に長い滞在時間による健康リスク
  3. 転倒・転落事故の発生
トイレで慌てて転倒!

こうした緊急事態をプライバシーに配慮した環境でシステムが検知し、スタッフに通知すれば、迅速な対応が可能です。パチンコ施設側も安心安全なお手洗いの提供という付加価値も提供できます。

スマートなトイレ見守りシステムはどうあるべきか

さて、こうした状況をカバーする、スマートな見守りシステムとはどうあるべきでしょうか?

何はなくともプライバシー配慮型であること

繰り返しになりますが、トイレ監視システムの導入にあたっては、プライバシーの確保が最優先事項 です。監視にはカメラを使用せず、高解像度のRGBカメラやサーマルカメラの導入は避けるべき です。その代わりに、最近進化した別のセンサー技術を活用することで、プライバシーを守りながら監視を行えます。また、大規模施設もおおいこうした設備では量導入が見込まれるため、システムには 低コストでスケーラブルな設計 も求められます。優れた監視システムにするには以下の条件が必要です。

加えて3つのシステム条件が必要

  • 低コスト – IoTシステムの導入において、最も重要な点の一つは低コストです。病院や企業は限られた予算内で効率的に運営を行う必要があります。そのため、導入時のコストが抑えられ、手頃な価格設定であることが求められます。これにより、さらなる機会を捉えやすくなります。
  • スケーラブル – もう一つの条件はスケーラビリティです。多くの施設や部門に対して、スムーズにシステムを展開できる能力があることが重要です。つまり、必要に応じて規模を拡大したり、異なる環境に適応することができるシステムが望まれています。
  • 高精度 – 最後に、高精度もIoTシステムの重要な要素です。過検知や誤検知を防ぎ、正確に異常を検出する能力は、信頼性のある運用に欠かせません。特に医療機関では、患者の安全を守るためにも、精度の高いデータ収集が求められます。

これらの条件を考慮しながら、IoTシステムの導入を進めることで、より効率的で安全な運用の可能性が広がると考えます。

スマートトイレ見守りを可能にする技術とは?

プライバシーに配慮しながら、コストを抑え、確実に異常を検知できる仕組みを構築する技術が進化することで、病院やパチンコ店、に限らず、介護施設などさまざまなレベルの個室の安全性が向上します。 次回は、それら技術の進化についてみていきましょう。

bookmark_border東京大学大学院 青西教授が、ディー・クルー・テクノロジーズ(株)がFPGA技術協力したコヒーレント・イジングマシン(量子人工脳)をIEEEに論文投稿

コヒーレント・イジングマシン(量子人工脳)の研究者で、非常に汎用性の高いFPGA実装型サイバーコヒーレントイジングマシン(サイバーCIM)を開発した、東京大学大学院 新領域創成科学研究科の青西教授が、このたび共同研究者とともにその成果をIEEEに論文投稿されました。

 今回発表のサイバーCIMは、従来のFPGAシステムでは実現できなかったCDMAマルチユーザー検出器やL0圧縮センシングなどのアプリケーションを可能となり、その汎用性の高さが特長です。GPU実装に比べ演算速度が10倍以上となり、クラスタリングなどの並列処理によりさらなる演算速度向上も期待されます。
 ディー・クルー・テクノロジーズ(株)は、CTO長澤が中心となって今回発表のサイバーCIMへFPGA実装技術を提供。青西教授のご指導のもと、サイバーCIMの高速演算実現をサポートし、本論文にも名を連ねさせていただきました。本研究へ技術貢献する機会を与えてくださった大西先生はじめ共同研究者の皆様に感謝いたしますとともに、本論文発表を契機に青西先生の量子人工脳研究がさらに発展することを祈念いたします。

論文掲載サイト (IEEE Access)

linkedin.com(IEEE Access)

X(IEEE Access)

Facebook(IEEE Access)

bookmark_borderシステムLSIのブレイクスルー技術③ 動的電圧周波数スケーリング(DVFS)(3)

こんにちは。今日は、DVFSの元となった、動的電圧スケーリング(DVS)開発の背景をお伝えします。

動的電圧スケーリング(DVS)とは?

近年マーケットからLSIの低消費電力化が強く求められていく時代でありながら、従来SoCのSPECで規定されていた設計補償動作電圧では、本来欲しい動作電圧に比べて大きなマージンを含んだ電圧が必要となり、それが低消費電力化の障害となっていました。

そこでDVSが登場したのです。一言で言うと、DVSは、SoC内のクリティカルパスが動作するぎりぎり最小の電源電圧Vddを適応的にSoCに供給する技術です。どういうことか分かりやすくするため、動的電圧スケーリング(DVS)開発の背景を図示しました。

図1 動的電圧スケーリング(DVS)開発の背景

左側が従来の設計補償動作電圧、右側がDVSです。SoCにおけるプロセスばらつき、温度変動、電源電圧変動、経年劣化等のworst条件を満足させるため、本来必要な動作電圧に比べ無駄に大きかった動作保証電圧の閾値を、右のDVSではクリティカルパスが動作するギリギリ+αの最小電圧をアダプティブにSoCに供給するため、動作電圧を低減し省電力化に貢献できます。

レプリカによるクリティカルパス監視がDVS技術の肝

図2にプロセスばらつき/温度変動等に対応したDVSを紹介します。SoC内部のクリティカルパスと同等の遅延時間を有するレプリカ回路を用意し、レプリカの遅延時間がクロック1周期内に入るギリギリ最小の電源電圧をSoCに供給します。

図2 DVS(プロセスバラツキ/変動対応)SoCの構成(特開2000-216337を参考に弊社作成)

無論電源電圧供給ではTsu/Thを考慮しますが、こうしたレプリカによるクリティカルパスモニターが、設計マージンの最小化を可能した結果、低消費電力化が実現しています。

DVSの効果

DVSは従来型に比べどの程度省電力化に効果があるのでしょうか?

図3にDVSの効果を示します。近年はMOS トランジスタの微細化により、サブスレッシュホールド・リーク電流が無視できなくなります。従来の固定電圧方式では、低Vthサンプルでリーク電流の増大に伴う消費電力増加が大きな問題になります。一方でDVSを採用すると、低Vthであっても回路の高速化を図れるため、電源電圧を低減でき、低消費電力化が図れますので、製品の消費電力SPEC低減に貢献できます。

  • MOS動作周波数 Fmax ∝ VddVth)・μ/ L2
  • 微細化するとリーク電流増大→リークが問題となるVth小サンプルをDVSで補償
図3 DVS有り、無しにおける消費電力効果の比較

DVFSによる最小電源電圧供給

DVSとDVFSの違いは、一言で言うとプロセスばらつき等のworst条件において、電圧だけでなく、動作周波数も考慮に入れて最小電源電圧を供給できる点です。図4にばらつき対応DVFSのブロック図、図5にばらつき対応のDVFSによる最小電源電圧供給を示します。

図4 ばらつき対応DVFSのブロック図

DVFSは、プロセスばらつき/温度変動/動作周波数に応じて、SoCが動作する最小限の電圧を適用的に供給します。SoC内蔵のCPUがレプリカからの遅延情報を電圧指示に変えるのですが、これがMPU/GPUの場合は負荷検出部及びVt検出部(Ring Osc)からの情報がレプリカに与えられます。

図5 ばらつき対応のDVFSによる最小電源電圧供給

ばらつき対応DVFSであれば、動作周波数に応じリーク電流が大きくなる条件で電源電圧を下げるので、リーク電力が保証されます。すなわち、Worst条件に応じて動的にLSIが動作可能な最低限の電圧を供給します。この結果リーク電流を含めて消費電力を最小化できます。

まとめ

最後にDVFSのまとめを示します。

1.プロセッサ系のMPU/GPU/SoCでは素子バラツキ対応を含めたDVFSが幅広く使われている。
2.DVFSは負荷状態に応じて、動的に電源電圧、クロック周波数を制御する。
3. 素子バラツキを考慮したDVFSは低消費電力化の効果が大きい。
4. DVFSは、今後プロセッサのみならず各種SoC(ASIC)にも幅広く使われていく。

いかがでしたでしょうか。この記事がLSIの低電力化における皆様のご理解の一助に慣れればうれしいです。

bookmark_borderUVをセンサで計測してみよう!⑦ ~外で実際に動作を確認してみよう ~実験編

なかなか実験の日程の調整ができず、実験日は2024/9/26(木)。夏?のぎりぎりになってしまいました。

作成したUVセンサを傘につけ実験

気象庁の計測値でみると、こんな感じです。

12時から20分ほど、会社近くの日産スタジアムに行くまでの見晴らしがよいところで実験しました。

ただ当日は晴れではあったのですが、太陽の周辺に雲がありまた風もあったのでなかなか同環境での実験ができませんでした。秋晴れ! という日にも実験してみたいですね。

気象庁での紫外線情報をリファレンスにオフセットをかける予定でしたが、実際に外にでて試しに測定してみたところセンサ値の紫外線情報にかなり差があり、今回はオフセットなしにして紫外線対策グッズでどうセンサ値が変わるかを確認したいと思います。

やっぱりリファレンスになるデバイスほしいですねー。

試した日傘(私物)はこの2つ

同環境での実験が難しかったので、試したのは2種の日傘だけになってしまいました。

①裏地が黒の日傘

②麻生地の日傘

麻生地のほうはデザインが気に入っておりましてかれこれ3年以上は使用しています。なので紫外線対策という面では効果が薄くなっている自覚はしています。。。デザインが好きなので買い替える予定はありませんが(^^)

では実験結果です。

実験結果

①裏地が黒で99.9%カットと保証がされていた日傘UVインデックス値の結果

②麻生地の日傘のUVインデックス値の結果

日傘(内)は、日傘(外)のUVインデックス値より大きく下がることが確認できました! しっかり紫外線防止効果があることが分かります。

また、お気に入りの麻生地の日傘も外に比べ約90%近く下がっているのは、個人的に大満足です。また快晴のときにまたいろいろなパターンで実験してみたいですね。

最後に、IoTの設計開発についてご相談したいことがございましたら、遠慮なくこちらのフォームにてお伝えください。

秋も紫外線はまだまだ強い日がありますから、日傘を使いつつ気を付けて過ごそうと思います。いつか、来年の夏の暑い晴れた日に実験再チャレンジしてご報告したいです! ではでは!

bookmark_borderUVをセンサで計測してみよう!⑥ ~外で実際に動作を確認してみよう ~準備編Ⅲ

組み立てたLeafonyをケースに入れよう

組み立てたLeafonyを目立たないようケースに入れて外で実験できるようにしたいと思います。ケースに入れなくても実験はできますが、都会は人の目も多いですし、持ち歩いて怪しまれないように。

って、よっぽどあやしいわ これ

さて、普段の業務だとケースというと”タカチケース”を購入して加工しているのですが、

 「今回はスピード重視で簡単に加工できる」

 「失敗してもすぐやり直せる」 をテーマに掲げて行います!

なぜって、いくら10月で30℃超えの気候とはいえ、ゆっくりしてると冬になってしまうので。

というわけで、何をするかは、ガジェット好きな皆様はもうお分かりですね。

私の大好きな100円ショップ ダイソー様で物色ですルンルン

ダイソーで発見した”便利ケース”

おなじみの収納ケースのエリア、衛生用品、キッチン用品…うろうろしたところ良さそうなものがありました!!

これです

お弁当を毎日作るお母さんお父さんの味方、マヨネーズケース!!

推しポイントは、3つ。

  • カッターで簡単に加工ができます。
  • サイズもスポっときれいには入りませんが少し押し込めば入りそうなところ。
  • しかも、蓋もあるのでここにUVセンサーを固定するのもできそう。

(この創造力を掻き立てるSPECが尊い…)

これに組み立てたLeafonyを入れて実験できるように少し加工していこうと思います!!
で、できあがったのがこちら!!

透明な蓋にセンサー用の穴をあけ、マスキングテープで固定にしました。

さらにさらに、傘にぶら下げるといったことができるように手持ちのチェーンをつけてみました。

え?「マスキングテープ、素敵に貼れませんか」ですって?

(想定よりうまく固定できなかったので試行錯誤しちゃったんですよね。。アハハ。。)

ままま、すごい手作り感満載ですが、これも味ですよアジ! <゜)))彡
準備は完了!! 実際に外で実験してきましょう!!

bookmark_borderシステムLSIのブレイクスルー技術② 動的電圧周波数スケーリング(DVFS)(2)

こんにちは。今日はDVFS機能搭載プロセッサとDVFSの動作原理についてお伝えします。

DVFS機能搭載プロセッサのブロック図

まず、DVFS機能搭載プロセッサについてです。図1に弊社が電源ICで用いているDVFS機能搭載プロセッサのブロック図を事例として示します。

図1 DVFS機能搭載プロセッサのブロック図

CPU内にクロック周波数/電源テーブルが配置され、負荷の大きさに対応するクロック周波数及び電源電圧Vddの指示情報をテーブルから出力します。

指示情報に基づきPLL及び可変電源を制御し、DVFSを実行します。すなわち、負荷の大きさに適合したクロック周波数、電源電圧を用いてDVFSが最適な値を選択実行することになります。

半導体企業の可変電源(DVFS対応電源IC)の製品例

半導体企業の可変電源(DVFS対応電源IC)の製品例を以下に示します。

半導体企業製品例
  1. TI LM25066A
  2. リニアテクノロジーLTC3886
3. ダイアログ・セミコンダクタDA9063
4. ルネサスISL69269
  5. オンセミコンダクタNCP81022
  6. ADI  LTM4680 
7. ディークルーテクノロジーズ DCT013C(開発品)
半導体企業のDVFS対応製品(2024年9月 弊社調べ)

また、Appleは、iOSなどのソフトウェアとAシリーズチップなどのハードウェアを密接に統合し、DVFSを効果的に活用しています。

Apple Mobile Processor における動的電圧スケーリング技術(DVFS)(2024年9月 弊社調べ)

  • プロセッサの負荷監視: プロセッサ内部のセンサーやモニタリング機能が、プロセッサの負荷状況を定期的に監視する。これには、タスクの実行中の処理負荷や電力消費の推定が含まれる。
  • 電圧と周波数の調整: 負荷の高い場面では、プロセッサの動作周波数を上げ、同時に電圧も増加させることで性能を最大限に引き出す。一方、負荷が低いときには、動作周波数を下げ、電圧を低く保ちながらも十分な処理能力を維持する。
  • スケーリングアルゴリズム: モバイルプロセッサには、動的電圧スケーリングを行う専用のアルゴリズムが組み込まれている。これらのアルゴリズムは、プロセッサの状態を評価し、最適な電圧と周波数の組み合わせを決定する。
  • バッテリー管理: バッテリーの残量や充電状態なども考慮に入れながら、電圧と周波数を調整する。

DVFSの動作原理

図2にDVFSの原理を示します。

図2 DVFSの原理

まず上段の説明です。一般に低消費電力化を図るため、SoCではゲーテッドクロックが用いられます。Gated Clockは負荷が軽い場合、所要の処理が終了するとクロックを止めます。これで、タスク処理割当時間後半にはクロックを止めるので、1動作時間を半分=消費電力1/2を図れます。

次に下段の説明です。DVFSではタスク処理割当時間丁度で処理が終了する様に、1/2の電源電圧、1/2のクロック周波数でSoCを動作させます。 すなわちDVFSはゲーテッドクロックに比べて、さらに1/4の消費削減を図れます。

なお、CMOSの特性から、クロック周波数に比例して電源電圧を下げる事ができます。

プロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPU

次に図3にプロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPUのブロック図を示します。

図3 プロセスバラツキを考慮したDVFS機能搭載SoC/MPU/GPUのブロック図

リングオシレータ(Ring Osc)の発振周波数からMOSトランジスタの閾値(Vth)を推定します。例えばVthが低い方向に0.05Vばらついた場合、回路の動作周波数が上がります。同一周波数で動作させる場合、電源電圧(Vdd)を下げる事ができるので、消費電力を更に低減できます。一般にVthが低下するとトランジスタのリーク電流が増加しますが、Vdd低減による低消費電力化により相殺できます。こうした工夫によりプロセスバラツキを考慮した設計ができます。

なお、SoCの作りに応じて、リングオシレータは複数個所に挿入されることがあります。

参考までに各CMOS世代におけるVthのプロセスバラツキを示します。

図4 各CMOS世代におけるVthのプロセスバラツキ(2024年9月 弊社調べ)

いかがでしょうか。
次は、動的電圧スケーリング(DVS)開発の背景をお伝えしようと思います。

bookmark_borderUVをセンサで計測してみよう!⑤ ~外で実際に動作を確認してみよう ~準備編Ⅱ

ついにセンサー情報をBLEで飛ばし、無線化しますよ~

動作結果イメージ

今回は、こんな風にUVインデックスが出てくるようにしたいですね。

スマホアプリ画面

ハードウェア

使用するLeafonyのリーフが1枚、追加になります。

AC02 BLE Sugar

Al01 4-Sensors

AP01 AVR MCU

AZ01 USB

AV01 CR2032

AZ01 USBは、ソフトウェア書き込み時のみ使用し、動作時には外します。AV01 CR2032は前回同様、ねじ止めとして使用します。

leafの積み重ね方

重ね方は、こんな感じです。

ソフトウェア書き込み時ソフトウェア書き込み後
上から順に
29pin header, USB, AVR MCU, BLE Sugar, CR2032の順につなげてねじ止めします。
上から順に
29pin header, 4-Sensors, AVR MCU, BLE Sugar, CR2032の順につなげてねじ止めします。

書き込み時に4-Sensorsのリーフを抜いた理由としては付属のネジだと物理的に長さが足りなかったからです。なお、今回、センサーからのデータを取得するのに29pin headerのリーフを使用しました。

このAX018にした理由としては

  • 3.3V出力ピンがあること
  • ピンヘッダーがすでにあるので、リーフに追加で半田しないで使用できること

というメリットがあったからです。

もともとピンヘッダーが付属しているGrove&5Vのリーフを考えていて、高さも取らないし丁度いいかーと考えていたのですが、改めて仕様書みたとき”5V”出力じゃん”というのに気づきまして今回は3.3V出力ピンがあるAX018になりました…

さらにピンヘッダーがすでにあるので、リーフに追加で半田しないで使用できること。これは大きいです。同じく29pin のリーフだとAX02 29 pinもあるのですが、こちらはセンサからの線を直接半田することになるので、ほかのセンサーや実験に使用しづらくなるためAX018にしました。

ヘッダー分の高さを取らないのでいいのですが、ぶっちゃけきれいに半田を取る自信がなく。。。

リスクヘッジも実力よ..

ソフトウェア

前回、Leafonyを動かしてみようで使用したソフトウェアをベースに実装していきます。

まず、記事 # UVをセンサで計測してみよう ~センサを実際に動かしてみる~で実装したプログラムから蛍光ペンで示した箇所の処理をベースのプロジェクトに追加します。

Arduino側のプログラム動作手順概要:

(以下引用)  >

  1. 初期設定
    • PCとのHardwareSerial通信を開始
    • センサのイネーブルピンにHigh出力
    • 1secのタイマを開始
  2. タイムアウト時にセンサの出力ピンからアナログ値を取得
  3. 取得した値を電圧値に変換
  4. 電圧値からUVインデックス値に変換してシリアルで表示

追加した箇所は、こうなります。

変更箇所➡変更後
センサのイネーブルピンにHigh出力setupPort() 関数内に追加
・センサの出力ピンからアナログ値を取得
・取得した値を電圧値に変換
・電圧値からUVインデックス値に変換
loopSensor() 関数内に追加

これで定期的にUVインデックス値を求めることができるようになりました。(注) 基本的には上記の処理をベースのプロジェクトに追加すればよいのですが、以下の点は修正が必要です。

また、以下の設定変更も必要です。

  • アナログ値を電圧値に変換する際のリファレンス電圧を5Vから3.3Vにする
  • センサーとの接続ピンをベースのプログラムで使用していないピンに変更する
ピン変更箇所➡ピン変更後
センサ値の入力ピン      A0  A3
センサへのイネーブル出力ピン D7  D5

UVインデックスの定期無線送信設定

最後に定期的に取得したUVインデックスを無線で送信できるようにします。

ベースのソースコードを読むとbt_sensData() 関数内において無線で送信するデータを設定しているようです。そこで、そのうちもともと照度データを設定している箇所をUVインデックス値に差し替えします。

合わせて小数点以下の値も表示したいのでdstorfの引数の値も変更します。

これでソフトウェアの実装は完了です。

今までに作成したコードのコピペと少ない修正で無線化のプログラムができました!! 

動作結果

UVをセンサで計測してみよう ~センサを実際に動かしてみる~のときと同じようにUV LEDネイルライトで実験してみました。動作するかな。。。

スマホアプリ画面

照度の欄にUVインデックス値が表示されていますね!!

無事無線化できました!!

次は組み立てたLeafonyを手ごろなケースに入れたいと思います! ケースに入れればこれで準備編も終了です!実計測までもう少しです!!

bookmark_borderUVをセンサで計測してみよう!④ ~外で実際に動作を確認してみよう ~準備編Ⅰ~

こんにちは。あたふた仕事に追われていたら、10月になっていました💦
相変わらず外は30℃超える日もあってアチチ。。秋っぽい高い青空が待ち遠しい~

## センサ値を無線で飛ばそう

さて、前回は、PCでセンサ値を表示することができましたが、実際に外で実験する場合、PCを持ち歩かないといけないというのは大変なので無線化して、スマートフォンで確認できるようにしたい!と申しておりました。 (PC持ち歩いてしたら不審な行動に見られそうですし。。)

それを今回やります! ↓前回の記事はこちらから。

無線化するにあたっていろいろな方法がありますが、今回はArduinoと互換性がある”Leafony”を使用してBLEでセンサ値を飛ばしてスマートフォンに表示したいと思います。

Leafonyを選択した理由としては、前回でArduinoを使用してUVインデックスを求めた時のコードをそのまま使用できる点で便利!!という点と、基板サイズが一円玉サイズと小さいので外で実験したとき怪しまれづらいかなーという思いで。(^^)

Leafonyの一円玉との比較

## Leafonyを動かしてみよう

Leafonyが動作することをまず確認してみようと思います。

Leafonyの公式HPにあるクイックスタートの”BLEで環境センシング”を試してみます。

Basic Kit スタートガイド | Leafony

## ハードウェア

今回使用するリーフはこれら5つです。AV01はleafを重ねて”ねじ止め”するだけに使い、電源はAZ01 USBから供給します。

AC02 BLE Sugar

Al01 4-Sensors

AP01 AVR MCU

AZ01 USB

AV01 CR2032

上から順に ①4-Sensors, ②USB, ③AVR MCU, ④BLE Sugar, ⑤CR2032の順につなげてねじ止めします。

## ソフトウェア

Sample-Sketches/4-Sensors_BLE at master · Leafony/Sample-Sketches · GitHub

を使用。

但し、使用したライブラリがこのサンプルのバージョンとあっていないか、違うライブラリを使用したのか以下の点をサンプルから変更しました。

変更前➡ 変更後
#include <HTS221.h>#include <Arduino_HTS221.h>
#include <ST7032.h>#include <LCD_ST7032.h>
ST7032 lcd;LCD_ST7032 lcd;
lcd.begin(8, 2);   lcd.begin();
lcd.setContrast(30); lcd.setcontrast(30);
smeHumidity.begin();HTS.begin();
dataTemp = (float)smeHumidity.readTemperature(); dataTemp = (float)HTS.readTemperature();
dataHumid = (float)smeHumidity.readHumidity(); dataHumid = (float)HTS.readHumidity();

## 動作結果

Andoridスマホのブラウザからセンサ値がきちんと表示されました!

Leafonyが正常に動作することを確認できましたので、次はとうとう今回の本題、UVインデックスの値を無線で飛ばして確認できるようにしたいと思います!

bookmark_borderシステムLSIのブレイクスルー技術① 動的電圧周波数スケーリング(DVFS)(1)

久々にシステムLSI記事を更新します。今回は動的電圧周波数スケーリング(DVFS)の概要についてお伝えします。

DVFSとは

動的電圧周波数スケーリング(Dynamic Voltage and Frequency Scaling, DVFS)は、プロセッサの処理量(負荷)の大小に応じて、電源電圧およびクロック周波数を動的(適応的)に切り替える技術です。これにより、必要な性能を維持しつつ、消費電力を最適化し、発熱を抑えることができます。

このDVFSによるクロック周波数/電源電圧の動的切り替えについて、表1に示します。

表1 DVFSのクロック周波数/電源電圧動的切り替えとアプリケーション

各種システムLSI(SoC)やプロセッサでは低消費電力化を図るために動的電圧周波数スケーリング(DVFS)が広く導入されています。例えば、SoCの負荷が低いときには動作周波数及び電源電圧を下げ、低消費電力化を図ります。一方、高負荷時には高性能を必要とするアプリケーションに対して、周波数及び電源電圧を上げて高速処理を可能にします。DVFSは負荷の大小に応じて動的に最適な電圧/周波数を割り当て、低消費電力化を図る手法です。

各クロック周波数/電圧における具体的なアプリケーションは概ね下記の通りです。

2GHz/1.2V:AIモデルの学習や推論、ゲーム、ビデオ編集、画像認識、画像生成、画像処理タスク(高解像度)など、高負荷の作業時に切り替えます。
1.5GHz/1V:自然言語処理や音声認識など、中程度の負荷の作業時に切り替えます。
0.8GHz/0.5V:画像処理タスク(低解像度)、長時間かけて良い推論、Office作業、Web閲覧、スリープモードなど、低負荷の作業時に動的切り替えを実施します。

DVFSで用いられている負荷検出手段(MPUの例)

MPUにおいてDVFSで用いられている負荷検出手段を表2に示します。DVFSはMPUのみならず、モバイルプロセッサ、GPU, ECU 等で広く実用化されています。

負荷検出手段内容
CPU使用率プロセッサがどれだけ稼働しているかを示す指標
命令カウント一定時間以内に実行した命令の数
キャッシュミス率高いキャッシュミス率はメモリアクセスが頻繁に
コンテキストスイッチの頻度プロセッサが異なるタスク間で切替を行う頻度を測定
メモリバンド幅の使用率メモリに対するデータの読み書きの頻度
パフォーマンスカウンタ命令の実行数、分岐予測ミス(例外、割り込み)、キャッシュミス
センサーデータのモニタリング温度センサ、電力センサ(IVセンサ)の監視
表2 DVFSで用いられている負荷検出手段(MPUの例)

各半導体企業のソリューション例

各半導体企業が得意なアプリケーション、ハードウェアの競争力を高めるDVFS技術を提供しています。それぞれ簡単に説明します。

DVFSの種類概要
NVIDIA 「GPU Boost」GPUの電力管理を実現のための技術で、一部のGPUシリーズに搭載されています。
AMD GPU 「PowerTune」AMDの「PowerTune」は、エネルギー消費の削減に加え、コンピュータの冷却によって発生する騒音レベルを下げ、モバイルデバイスのバッテリー寿命を延ばすのに役立ちます。(wikipedia)
Intel MPU, GPU「DVFS」Intelは、MPU(マイクロプロセッサユニット)およびGPU(グラフィックスプロセッサユニット)においてDVFS技術を採用しています。これにより、プロセッサの動作周波数と電圧を動的に調整し、効率的な電力管理を実現しています。
Appleスマホ用プロセッサ Aシリーズ「DVFS」AppleのAシリーズプロセッサもDVFS技術を活用しています。これにより、iPhoneやiPadのパフォーマンスを最適化しつつ、バッテリー寿命を延ばすことができます。

DVFSは、現代のプロセッサにおいて不可欠な技術であり、各企業が独自のソリューションを提供しています。これにより、パフォーマンスと電力効率のバランスを取ることが可能となり、ユーザーにとって快適な使用体験を提供します。

次回はDVFSのブロック図、及び動作原理についてご説明します。