(Translated by https://www.hiragana.jp/)
Blackfin - Wikipedia コンテンツにスキップ

Blackfin

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Blackfin は、デジタルシグナルプロセッサ(DSP)機能きのうんだ16/32ビットマイクロプロセッサファミリであり、小型こがたしょう電力でんりょくマイクロコントローラとして使つかわれている。オペレーティングシステム動作どうささせ、同時どうじH.264ビデオエンコーディングのような複雑ふくざつ数値すうちてきタスクを並行へいこうしておこなう、てい消費しょうひ電力でんりょく統合とうごうプロセッサアーキテクチャである。

開発かいはつキットがいくつか存在そんざいし、Linuxもサポートされている。現在げんざいは、アナログ・デバイセズ製造せいぞうしている。

アーキテクチャ

[編集へんしゅう]

Blackfin プロセッサは、インテルとアナログ・デバイセズが共同きょうどう開発かいはつした MSA(Micro Signal Architecture)というSIMDアーキテクチャにもとづく32ビットRISC MCU プログラミングモデルを使用しようしている。

Blackfin プロセッサアーキテクチャは2000ねん12月に発表はっぴょうされ、2001ねん6がつの Embedded Systems Conference で実物じつぶつはつ公開こうかいされた。

Blackfin アーキテクチャは、アナログ・デバイセズのSHARCアーキテクチャとインテルのXScaleアーキテクチャのそれぞれの長所ちょうしょれ、そこにデジタルシグナルプロセッサ機能きのうとマイクロコントローラ機能きのう統合とうごうしたものである。Blackfin/MSA と XScale/ARM や SHARC には様々さまざま相違そういてんがあるが、統合とうごうによって性能せいのうとプログラム容易よういせい向上こうじょうし、これまでのDSPやRISCにはないてい消費しょうひ電力でんりょく実現じつげんした。

Blackfin アーキテクチャを実装じっそうしたCPUは各種かくしゅあり、それぞれ特定とくてい応用おうよう分野ぶんや想定そうていしている。Blackfin ファミリは下表かひょうとおりである。アナログ・デバイセズの製品せいひん一覧いちらんこちらにある。

プロセッサ

ADSP-

最大さいだい

クロック
(MHz)

コアすう L1

(KB)

L2

(KB)

オンチップ

フラッシュ

ホスト

ポート

コードセキュリティ イーサネット
MAC
SD/
SDIO
PPIs

(ビット)

SD-RAM USB ATAPI CAN I²C (TWI) SPI UART SPORT GPIO

(ピン)

MXVR
命令めいれい

SRAM
(キャッシュ)

データ

SRAM
(キャッシュ)
スクラッチ

SRAM 16 18/

24

BF5221 600 1 64 (16) 64 (32)
4
- - Yes Yes - - 1 0 SDR
x16
- - 1 1 2 48 -
BF5251 2.0
OTG
BF5271 1
BF542 - - 1 DDR
x16
1 2 3 152
BF544 533 64 Yes - 1 - 2
BF548 600 128 1 2.0
OTG
1 3 4
BF549 533 1
BF531 400 32 (16) 16 (16)
4
- - - - SDR
x16
- - - 1 2 16 -
BF532 48 (16) 32 (32)
4
BF533 600 80 (16) 64 (32)
4
BF534 500 64 (16) 1 1 48
BF536 32 (32)
4
1
BF537 600 64 (32)
4
BF538 500 80 (16) - 2 3 4 54
BF538F 512
1024
BF539 - 38 1
BF539F 512
1024
BF561 600 2 64 (16)
per core
64 (32)
4
per core
128 - 2 SDR
x32
- 1 2 48 -
BF535 350 1 16 32
4
256 - SDR
x16
1.1 2 16

1 BF52xC ファミリには、48kHzきろへるつ、ステレオ音声おんせいCODEC (2xADCs, 2xDACs) が内蔵ないぞうされている。

うえひょうくわえると、Blackfin プロセッサには共通きょうつうして以下いか周辺しゅうへん機器きき内蔵ないぞうされている。

機能きのう

[編集へんしゅう]

コア機能きのう

[編集へんしゅう]

Blackfin のコアがなにであるかは、見方みかたによってことなる。

ISA高度こうど表現ひょうげん能力のうりょくゆうし、アセンブラプログラマやコンパイラがハードウェア機能きのう利用りようしてアルゴリズムを高度こうど最適さいてきすることを可能かのうにしている。

メモリとDMA

[編集へんしゅう]

Blackfin はバイト単位たんいのアドレス指定してい可能かのう平坦へいたんなメモリ空間くうかん使つかっている。内蔵ないぞうL1メモリ、内蔵ないぞうL2メモリ、外部がいぶメモリ、メモリマップされた制御せいぎょレジスタぐんなどは、すべてこの32ビットアドレス空間くうかん存在そんざいしている。

L1内蔵ないぞうSRAMメモリは、ハーバード・アーキテクチャであり、コアのクロック速度そくど動作どうさする。命令めいれいメモリとデータメモリは、それぞれ独立どくりつしてコアと専用せんようメモリバスで接続せつぞくされていて、コアとL1メモリあいだでは高速こうそくなデータ転送てんそう可能かのうとなっている。

L1メモリは、命令めいれいとデータそれぞれ独立どくりつしてキャッシュメモリとして使つかうこともできる。

一部いちぶのBlackfinプロセッサには64KBから256KBのL2メモリがある。このメモリはコアのクロック速度そくどよりおそい。L2メモリじょうでは命令めいれいとデータが混在こんざい可能かのうである。

Blackfinプロセッサは外部がいぶメモリとして SDRAM、DDR-SDRAM、NORフラッシュ、NANDフラッシュ、SRAM をサポートしている。また、一部いちぶのBlackfinには ATAPI や SD/SDIO といったインタフェースがサポートされている。これらは、外部がいぶメモリ空間くうかんとしてすうひゃくメガバイトをサポート可能かのうである。

コアとメモリシステムのわせでDMAエンジンを構成こうせいでき、任意にんい周辺しゅうへん機器ききしゅメモリ(および外部がいぶメモリ)とのあいだでやりりが可能かのうである。プロセッサはかく周辺しゅうへん機器きき専用せんようのDMAチャンネルをっていて、リアルタイムの動画どうがエンコーディング/デコーディングなども可能かのうとする程度ていどたかスループット提供ていきょうしている。

マイクロコントローラとしての機能きのう

[編集へんしゅう]

Blackfinアーキテクチャは、マイクロプロセッサやマイクロコントローラに共通きょうつうしてられる特徴とくちょうそなえている。これによってBlackfinは商用しょうようまたはオープンソースの各種かくしゅオペレーティングシステムを効率こうりつてき実行じっこうできるようになっている。

メモリ保護ほごユニット(Memory Protection Unit、MPU)
すべてのBlackfinプロセッサに内蔵ないぞうされている。MPUは、メモリ空間くうかん全体ぜんたいについて保護ほごとキャッシュ戦略せんりゃく提供ていきょうする。これによって、ThreadX、µC/OS-II、Linux といったRTOSやカーネルが動作どうさ可能かのうとなっている。MPU はいわゆるメモリ管理かんりユニット(MMU)にあるようなアドレス変換へんかん機構きこうたないため、仮想かそう記憶きおくやプロセスごとのアドレス空間くうかんはサポートしていない。このため、Blackfinでは仮想かそう記憶きおく前提ぜんていとした WinCE や QNX のようなOSはサポートできない。なお、Blackfin の文書ぶんしょには MPU を MMU とんでいるものがおおいので注意ちゅうい必要ひつようである。
ユーザー/スーパーバイザーモード
Blackfinには、スーパーバイザー、ユーザー、エミュレーションの3つのCPUモードがある。スーパーバイザーモードでは、ぜんプロセッサリソースにアクセス可能かのうである。しかし、ユーザーモードでは、システムリソースやメモリ領域りょういき保護ほごできる(MPUの機能きのう利用りよう)。最近さいきんのOSでは、カーネルがスーパーバイザーモードで動作どうさし、通常つうじょうのスレッド/プロセスはユーザーモードで動作どうさする。スレッドはクラッシュしたり、保護ほごされたリソース(メモリ、周辺しゅうへん機器きき、その)にアクセスしようとしたとき、例外れいがい発生はっせいし、カーネルが問題もんだいのスレッド/プロセスを停止ていしさせる。
可変長かへんちょうRISCふう命令めいれいセット
Blackfinの命令めいれいは、16ビット、32ビット、64ビットのものがある。よく使つかわれる制御せいぎょ命令めいれいは16ビットで、DSPなどの命令めいれいは32ビットや64ビットになっている。これによって、コード密度みつどたかめている。Blackfinの命令めいれいセットには、動画どうが画像がぞう圧縮あっしゅく伸張しんちょうアルゴリズムに使つかわれるピクセル処理しょり補助ほじょとなる media processing extensions がふくまれている。

周辺しゅうへん機器きき

[編集へんしゅう]

Blackfin プロセッサは、様々さまざま周辺しゅうへん機器きき接続せつぞく手段しゅだんゆうする。

  • USB 2.0 OTG (On-The-Go)
  • ATAPI
  • MXVR : MOST (Media Oriented Systems Transport) Network Interface Controller。MOST は SMSCの登録とうろく商標しょうひょうである。
  • PPI (Parallel Peripheral Interface) : パラレル入出力にゅうしゅつりょくポート。LCD、ビデオエンコーダ(ビデオDAC)、ビデオデコーダ(ビデオADC)、CMOSイメージセンサCCDイメージセンサそののデバイスを接続せつぞくできる。PPIは最高さいこう65MHzまでの速度そくど動作どうさし、8ビットから16ビットはば構成こうせい可能かのうである。
  • SPORT : 同期どうきしき高速こうそくシリアルポート。TDM、I2S(Inter-IC Sound)などの転送てんそうモードをサポートし、ADC、DAC、のプロセッサ、FPGA などと接続せつぞくする。
  • CAN : 自動車じどうしゃ産業さんぎょうようエレクトロニクスでよく使つかわれている広域こういきかつ低速ていそくなシリアルバス。
  • UART(Universal Asynchronous Receiver Transmitter): RS-232機器きき(PC、モデム、PC周辺しゅうへん機器ききなど)、MIDI機器ききIrDA機器ききとの双方向そうほうこう通信つうしん可能かのうにする。
  • SPI : みシステムけの高速こうそくシリアルバス。
  • I²C : 低速ていそくシリアルバス。

すべての周辺しゅうへん制御せいぎょレジスタは通常つうじょうのアドレス空間くうかんないメモリマップされているため、設定せってい容易よういである。

開発かいはつツール

[編集へんしゅう]

アナログ・デバイセズは独自どくじ開発かいはつツール CROSSCORE(VisualDSP++)を提供ていきょうしているが、それ以外いがいにも Green Hills Software の MULTI IDE、Blackfin GNUコンパイラコレクション、National Instruments の LabVIEW Embedded Module などがある。

サポートOS

[編集へんしゅう]

Blackfin をサポートするOS下表かひょうしめす。

BlackfinけOS/RTOS/カーネル
名称めいしょう 種類しゅるい 備考びこう
µClinuxディストリビューション オープンソース/GPL 通常つうじょうのLinuxカーネルに統合とうごうされており、各種かくしゅアプリケーションがある。
ThreadX 商用しょうよう
Nucleus
Fusion RTOS
µC/OS-II 商用しょうよう/ソース利用りよう可能かのう
velOSity 商用しょうよう
INTEGRITY
RTEMS オープンソース/GPL
T2 SDE
VDK 商用しょうよう アナログ・デバイセズのリアルタイム・カーネル。VisualDSP++ にどうこり
TOPPERS/JSP オープンソース μみゅーITRON4.0仕様しよう

外部がいぶリンク

[編集へんしゅう]