検索
連載

Blackfinへと至る道 40年現役のADI「SHARC」:マイクロプロセッサ懐古録(20)(2/4 ページ)

今回と次回で、Analog Devices(ADI)のDSP+CPUである「Blackfin」を取り上げる。まずはその“前哨戦”として、ADIのDSP「SHARC」が開発された経緯をたどりたい。

Share
Tweet
LINE
Hatena

そして「SHARC」が登場

 SHARCは"Super Harvard ARchitecture Computer"の略である。通常のHarvard Architectureと何が異なるか?というと、命令とデータだけでなくI/Oも異なるバスにしたうえ、Data Busを2つ持つという猛烈に豪華な構成の事を指すらしい。データ幅は最大40bitになり、IEEEの32bit Floating Pointにも対応。Program Address 24bit/Data Address 32bitで、Off-chipのMemory I/Fにもこの32bit Addressが出せるので、最大4G Word(Word長は32/40/48bit)のメモリを接続可能という豪華な構成である。動作周波数は50MHzで、ALU/MAC/Shifterは、いずれも1cycleで処理可能。ADSP-2100と異なり同時に3つのユニットが動作可能となり、ピークでは最大120MFlops、連続的な性能でも80MFlopsを実現できるとされた。ちなみに1024点のFFTの処理に0.37ms(18221cycle)というのは、この当時としては十分高速な部類に入る。

 この3つのユニットが同時に実行可能というのは、要するに同時にこの3つに命令を発行できるという話であり、これを実現するためにSHARCではVLIWが採用された。命令長は48bitであり(図5)、これを利用してかなり複雑な処理もできた。SHARCではDelay Slotも搭載されており、分岐に伴うペナルティを最小限に抑えることが可能で、またProgram Sequencerの中にはLoop Controlの機能も搭載され、Zero-Overhead loopが実現されている。概して良くまとまった構成ではあるが、何となく性能の割に内部構造がリッチすぎる気がしなくもない。

図5:第2世代のADSP-21160の命令フォーマット「の一部」。命令TypeはType 25まで用意されている
図5:第2世代のADSP-21160の命令フォーマット「の一部」。命令TypeはType 25まで用意されている[クリックで拡大]

 ただADIはここからSHARCを段階的に強化してゆく。1998年に発表された第2世代のADSP-21160では動作周波数が100MHz化されると共に、演算ユニットが2つに増強され、しかもこれがSIMD的に同時に動作することでピークで570MFlops、Sustainedでも380MFlopsまで性能が引き上げられた(図6)。

図6:ただ命令フォーマットはアセンブラレベルでADSP-21060と互換性が保たれている
図6:ただ命令フォーマットはアセンブラレベルでADSP-21060と互換性が保たれている[クリックで拡大]

 2003年には第3世代となるADSP-21260シリーズが登場する(図7)。動作周波数は最大200MHzに引き上げられて性能が倍増した事に加え、新たにI/O Processorを搭載。ここにAudio入出力専用回路を追加して、Audioの扱いが容易になった。またDual Port Memoryが2ブロックに増強されたもの特徴的である。Dual化された理由の一つは、I/O Processorが新たに追加され、こちらの動作にもROM/RAMを利用するためと思わえれる。

図7:プロセッサコアの構造そのものは変わらずなので、後方互換性がある
図7:プロセッサコアの構造そのものは変わらずなので、後方互換性がある[クリックで拡大]

 複数のAudio Formatへの対応も行われ(これのために複数のアルゴリズムに対応した3種類のROMが用意される)、1024点のFFTは61.3μsec、FIR Filterは1tapあたり3.3ns(いずれも200MHz動作の数字)と大幅に高速化し、High-end Audio向けとして提供される様になった。

 これからちょっと遅れて、ADSP-21360シリーズ(図8)およびADSP-21370シリーズ(図9)も追加された。これもやはり第3世代に属する製品だ。ADSP-21260シリーズはAudio周りが強化されてはいるものの、一応汎用向け製品である(ただその中でもADSP-21266はホームシアター向けという扱いになっている)が、ADSP-21360シリーズはより高性能な用途向けとされ、その中でADSP-21366のみがホームシアターおよびプロ用オーディオ向けとされた。そしてADSP-21370シリーズは価格性能比を(ADSP-21360シリーズより)引き上げたシリーズとされており、ピンおよびソフトウェア互換でありながら安価に提供されるシリーズとなった。

図8:動作周波数は最大333MHz、2GFlopsまで性能が引き上げられた
図8:動作周波数は最大333MHz、2GFlopsまで性能が引き上げられた。ブルーの部分がI/O Processorとなる[クリックで拡大]
図9:動作周波数は266MHzに抑えられている
図9:動作周波数は266MHzに抑えられている[クリックで拡大]

 これに続き2008年には第4世代製品が投入される。動作周波数を最大450MHzまで引き上げ、5MbitのオンチップSRAMを搭載したほか、VISA(Variable Instruction Set Architecture)が搭載された。従来の48bit VILW命令セットは引き続きサポートされるが、これに加えて16bit/32bitの命令長もサポートされ、命令密度の向上が図られている。Arithmetic Unitの構造は変わらず、2つのArithmetic UnitをSIMD的に動作させる仕組みになっており、性能は2GFlopsを超えている。第3世代との違いはもうSHARCのコアそのものよりもI/O Processor側に集中しており、基本となるADSP-21467/21469がいわば汎用、ADSP-21478/21479が低消費電力向け、ADSP-21483/21486/21487/21488/21489はFIR/IIR/FFT Acceleratorに加え(これはADSP-21467/21469にも搭載されている)DTCP Hardware Acceleratorを搭載するなど、高機能に振った構成になっている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る