fbpx
ウィキペディア

Blackfin

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仕様

外部リンク

  • Blackfin processor ウェブサイト
  • blackfin.uclinux.org Blackfin 向けの Linux カーネルとオープンソースのツール群

Blackfin
blackfin, デジタルシグナルプロセッサ, 機能を組み込んだ16, 32ビットマイクロプロセッサファミリであり, 小型で省電力のマイクロコントローラとして使われている, オペレーティングシステムを動作させ, 同時にh, 264ビデオエンコーディングのような複雑な数値的タスクを並行して行う, 低消費電力の統合プロセッサアーキテクチャである, 開発キットがいくつか存在し, linuxもサポートされている, 現在は, アナログ, デバイセズが製造している, 目次, アーキテクチャ, 機能, コア機能, メモリとdm. Blackfin は デジタルシグナルプロセッサ DSP 機能を組み込んだ16 32ビットマイクロプロセッサファミリであり 小型で省電力のマイクロコントローラとして使われている オペレーティングシステムを動作させ 同時にH 264ビデオエンコーディングのような複雑な数値的タスクを並行して行う 低消費電力の統合プロセッサアーキテクチャである 開発キットがいくつか存在し Linuxもサポートされている 現在は アナログ デバイセズが製造している 目次 1 アーキテクチャ 2 機能 2 1 コア機能 2 2 メモリとDMA 2 3 マイクロコントローラとしての機能 3 周辺機器 4 開発ツール 5 サポートOS 6 外部リンクアーキテクチャ 編集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 24BF5221 600 1 64 16 64 32 4 Yes Yes 1 0 SDRx16 1 1 2 48 BF5251 2 0OTGBF5271 1BF542 1 DDRx16 1 2 3 152BF544 533 64 Yes 1 2BF548 600 128 1 2 0OTG 1 3 4BF549 533 1BF531 400 32 16 16 16 4 SDRx16 1 2 16 BF532 48 16 32 32 4BF533 600 80 16 64 32 4BF534 500 64 16 1 1 48BF536 32 32 4 1BF537 600 64 32 4BF538 500 80 16 2 3 4 54BF538F 5121024BF539 38 1BF539F 5121024BF561 600 2 64 16 per core 64 32 4per core 128 2 SDRx32 1 2 48 BF535 350 1 16 324 256 SDRx16 1 1 2 161 BF52xC ファミリには 48kHz ステレオ音声CODEC 2xADCs 2xDACs が内蔵されている 上の表に付け加えると Blackfin プロセッサには共通して以下の周辺機器が内蔵されている デバッグ JTAGインタフェース リアルタイムクロック コア電圧スイッチング電源 ウォッチドッグタイマー タイマー PWM 出力 PWM 入力ポート コアタイマー コアのクロック周波数で動作するタイマー 機能 編集コア機能 編集 Blackfin のコアが何であるかは 見方によって異なる 一部の人にとっては デジタルシグナルプロセッサがコアである 16ビットMACを2個 40ビットALUを2個 40ビットバレルシフタ1個備えている そのため 同時に3個の命令を実行できる コンパイラ最適化またはプログラマの技量による 他の人にとっては 新たなRISCコアである メモリ保護機能を持ち CPUモード ユーザー カーネル があり シングルサイクル オペコードで データキャッシュと命令キャッシュを内蔵し ビット バイト ワードテスト命令があり 各種オンチップ周辺機器がある 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 商用NucleusFusion RTOSµC OS II 商用 ソース利用可能velOSity 商用INTEGRITYRTEMS オープンソース GPLT2 SDEVDK 商用 アナログ デバイセズのリアルタイム カーネル VisualDSP に同梱TOPPERS JSP オープンソース mITRON4 0仕様外部リンク 編集Blackfin processor ウェブサイト blackfin uclinux org Blackfin 向けの Linux カーネルとオープンソースのツール群 https ja wikipedia org w index php title Blackfin amp oldid 85651993 から取得, ウィキペディア、ウィキ、本、library、

論文

、読んだ、ダウンロード、自由、無料ダウンロード、mp3、video、mp4、3gp、 jpg、jpeg、gif、png、画像、音楽、歌、映画、本、ゲーム、ゲーム。