SPRESENSEの消費電力を可視化して解析
今回の初心者講座マルチコア編では、汎用コンピュータが採用している電力低減技術(電力削減技術)をはじめ、マルチコア・アーキテクチャのSPRESENSEが低消費電力を達成するために採用した技術、実際にデバイスが動作している最中の電力解析やその結果について詳解いたします。
今回の初心者講座マルチコア編では、汎用コンピュータが採用している電力低減技術(電力削減技術)をはじめ、マルチコア・アーキテクチャのSPRESENSEが低消費電力を達成するために採用した技術、実際にデバイスが動作している最中の電力解析やその結果について詳解いたします。
安価なJTAG-ICEデバッガと、無償の開発環境を接続して、コア間をシームレスにでデバッグする様子や方法を動画にて紹介いたします。特別な開発作業なく簡単に使い始めることができるため、はじめてのマルチコアプログラミングに挑戦される方も、是非お手元でお試しください。
ET&IoT展2019で大盛況だった、SPRESENSEを使ったマルチコア開発を習得できるハンズオン・ワークショップを、好評につき2020年1月下旬から2月上旬に再度開催いたします。忙しいエンジニアの皆さん向けに、「質問・確認しやすい少人数制」かつ「受講日時が選択できる」構成としました。短時間でありながら密度の濃い内容となっておりますので、マルチコア・プログラミングの基礎をしっかりと習得いただけます。
今回は、産業向けアプリケーションのPoCをイメージし、SPRESENSE SDKに同梱されたサンプル・アプリケーションである「マルチコアを使った録音プログラム(Audio Recorder)」を改変し、「自身で設計した信号解析アルゴリズムを実行するサブコアと連携」、高速かつ高精度に周辺状況を分析できるアプリケーションの開発方法を紹介いたします。
SPRESENSEは汎用CPU(サブコアであるCortex-M4)上でWAVやMP3を処理できる「ソフトウェア・エンコーダ/デコーダ」機能を提供しています。ソフトウェア・エンコーダ/デコーダをサブコア上で実行することにより、システムの根幹を担うメインコアに負荷をかけることなく音声処理を実現。また、サブコアは汎用CPUであることから、WAVやMP3の処理をしていない間でも他のタスクを処理するコアとして活用することができます。
今回の初心者講座では、サブコアの内部状態や処理対象となったデータの断片を、順序付けてメインコアへと送出できる『リングバッファ』について紹介いたします。なお、今回紹介する機能に対応したC言語のソースコードはGitHubにて公開しています。解説だけでなく、ソースコード・リーディングも活用し、コア間の連携方法への理解を深めましょう。
現在市場のトレンドとなっているGPUによる高速化の概要やマルチコアのメリットを紹介。エッジコンピューティングに求められている要件を整理した上で、貴社が求める「高速エッジコンピューティングに本当に必要なハードウェア」のイメージを共有。最後に実際のプログラミングを通して、今日から使える開発知識へと還元します。
今回の初心者講座マルチコア編では「関数を呼び出したから、動いた」よりも、さらに一歩先へと踏み込んだ、マルチコアの真髄にフォーカス。サブコアがプログラムを開始する仕組みから、データの交換や同期(コア同士の連携)の方法、プログラムを高速化する際に注意すべきポイントなど、様々な設計技術を紹介いたします。
今回の初心者講座では、どのように処理するか・並列化していくかを学ぶ前段階として、どのようなデータを(What)、どのようにして(How)どこに収集すべきか(Where)を解説いたします。今回の内容を学習することで、IoTシステムの要となる「画像データ」や「音声データ」といったマルチメディアデータの取り扱い方法への理解も深まるでしょう。