固定小数点プログラム開発の手間を省ける組み込み機器向けDSPコアを開発 ──15人日でMP3デコーダを開発可能に

小林士朗

tag: 半導体

技術解説 2003年9月16日

●実装上のトレードオフがブロック浮動小数点の課題

 ブロック浮動小数点算術方式が指数を設定する方法を,図4を用いて説明します.ブロック浮動小数点は,固定小数点演算器の入力部においてブロック正規化処理を行うことで実現されます.まず,アキュムレータ・レジスタに格納された演算結果を考えます.ここではFFTの第1ステージの計算結果とします.固定小数点のアキュムレータ・レジスタは乗算結果を保持するための倍語長に加え,累積用のガード・ビットを含むため,拡張倍精度で表現されます.ブロック浮動小数点FFTでは,この計算結果をメモリにストアする際に,各計算結果について冗長符号ビットの個数を調べます.これを,1ステージのすべての計算結果(データ・ブロック)について行うことで,計算結果内の最大値を正規化するために必要なシフト量(ブロック指数)を算出します.計算結果は,冗長符号ビットを含んだままメモリにストアします.

 FFTの第2ステージの計算を行うために,メモリに格納した第1ステージの計算結果を入力データとして,順に演算器にロードします.このとき,ブロック指数に基づいて個々の入力データをすべてシフトします.この操作により,第1ステージの計算結果内で最大値を持つデータが演算器入力のところで正規化されます.ただし,シフトのとき,下位ビット側にシフト量に応じた分の無効ビットが挿入されます.この無効ビットは,入力データの精度と信号処理品質を低下させます.

f04_01.gif
〔図4〕 単精度ブロック浮動小数点の構成
従来のブロック浮動小数点のうち,単精度ブロック浮動小数点と呼んでいるもののアプローチ.データを単精度でメモリに格納する.固定小数点よりも高精度の計算を実現できるが,下位にある無効ビットにより精度が低下する.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日