Sabit nokta ve Floating-point Dsp Processors: Uygulamanız için daha iyi olan nedir?
Table of Contents
Dijital Signal Processors (DSP) yüksek hızlı sayısal hesaplamalar için mühendisi olan mikroişlemcilerdir - modern ses işlemenin arka kemiği, telekomünikasyon, endüstriyel kontrol ve görüntü analizi. DSP seçiminin kalbinde gerçek zamanlı dijital sinyal işleme görevlerine karşı sabit nokta.
Sabit nokta ve Floating-point Representations
Her iki sabit nokta ve yüzen DSP'ler gerçek sayılarda arithmetic operasyonları gerçekleştirmek için tasarlanmıştır, ancak bu sayıları farklı olarak kodlar. temsil yöntemi doğrudan hesaplama hızı, enerji verimliliği, dinamik aralığı ve hassas.
Sabit nokta Arithmetic
Sabit nokta DSP'ler, tam ve kesik parçalar için önceden belirlenmiş sayıda sayıyı temsil eder. Örneğin, Q15 formatı 1 işaret ve 15 katal bitleri kullanır, yaklaşık 1 ila 0.9999 arası bir dizi sağlar - 1 ila 0.9999 arasında bir dizi olasılık noktası sabitlenir, çünkü decimal noktası sabit ve çok fazla işlem minimum donanımla idam edilebilir.
- [FONT:0]Simple datapaths[[[Dönetici: 1)) – No need for exponenteks Donanım, Kapı sayılarını ve gücünü azaltma.
- [FONT:0)Deterministic zamanlama[[Dönemli saat döngüleri, gerçek zamanlı kontrol çevrimleri için önemli olan Talimatlar.
- [FONT=0) Alçak bellek ayak izi [[Dönetici: 1 ) - Küçük kelime genişliği (genellikle 16 bit veya 24bit) yüzen nokta 32-bit veya 64-bit formatlarla kıyaslanır.
Ancak, sabit nokta kısıtları yükler. Programcılar aşırı akıştan veya alttan kaçınmak için dikkatlice ölçeklendirmeli değerler, a process known asurFLT:0)Q-format yönetimi) Bu, gelişim çabasını ekler ve ölçeklendirmenin tam olarak ele alınamaması durumunda niceleme hataları tanıtabilir.
Yüzen nokta Arithmetic
DSP'ler, bilimsel notasyona bir temsilsel olarak kullanır: bir işaret, bir mantissa (veya işaretli ve), ve bir exponent. IEEE 754 standart, tek-precision (32-bit) ve çift-precision (64-bit) gibi ortak biçimleri tanımlar.
- [FONT=0]Wide dinamik aralığı[[Döncüm: 1) Tek-precision, birçok algoritmada aşırı akış/kırıklık endişelerini ortadan kaldırmak için ~1.2 ×1038'den rakamlar temsil edebilir.
- [FONT:0)Built-in normalizasyon[[DÜT:1) – Donanım otomatik olarak ölçeklendirmeyi, programlama karmaşıklığını azaltmayı ele alır.
- [FONT:0) Yüksek hassaslık[[[Döncükler:0)[[Dönetici:0))
Yüzen nokta işlemcileri genellikle daha pahalı, daha fazla güç tüketiyor ve sabit nokta meslektaşlarından daha büyük silikon ayak izi var. Ayrıca, arithmetic mantık ünitesinin karmaşıklığı nedeniyle verilen bir işlem için biraz yavaş saat hızları var (ALU).
Performans ve Verimlilik Karşılaştırma
DSP'lerde performans sadece ham saat hızıyla değil, aynı zamanda aritik işlemler, operasyon başına güç tüketimi ve sistem seviyesindeki maliyetle ölçülmektedir.
Hız ve Güç
Sabit nokta DSPs geleneksel olarak sabit noktalı devreler (MAC) operasyonları - birçok DSP algoritmalarının çekirdeği - en az boru hattı tezgahları ile tek bir döngüde.Çünkü sabit nokta donanım daha basit, aynı işlem teknolojisi daha yüksek saat frekansları ve daha düşük güç dağılımı elde edebilir. Örneğin, Texas Instruments' TMS320C55x ailesi, daha büyük ALU'ya kadar frekanslarda çalışır.
Bir görev-to-task temelinde performansı karşılaştırırken, yüzen nokta genellikle daha az operasyon gerektirir, çünkü her iki hızda ve enerji verimliliği algoritmaları için sabitlenebilir ve azaltılabilir:0(Texas Instruments, “Fixed vs Floating Point” (e.g., audio, tone algılama, motor kontrolü), sabit nokta her iki hızda ve enerji verimliliğinde yüzer nokta için sabitlenebilir.)
Maliyet ve Kompleksi
Silikon emlak doğrudan maliyet üretmek için tercüme eder. Sabit noktalı bir MAC ünitesi, 16-bitkili bir veriye kadar yaklaşık üçte birini kapsar, aynı işlemdeki eşdeğer yüzen MAC ünitesine mal olur. yüksek hacimli tüketici elektronik için, bu fark sabit noktaya kadar dengeyi ipucu verebilir.[DSP0)[değiştir | kaynağı değiştir]
Ancak, geliştirme maliyeti de dikkate alınmalıdır. Floating-point programlama, ölçeklendirme ve sayısal analizde harcanan süreyi azaltır, potansiyel olarak düşük yazılım mühendisliği maliyeti ve zaman piyasaları için. Düşük hacimli, yüksek değerli sistemler (medical görüntüleme, savunma, bilimsel araçlama), daha hızlı gelişim döngüleriyle sağlanabilir.
Hassasiyet ve Dinamik Aralığı
Hassasiyet, bir sayının temsil edilebilir olduğu bir miktarla ilgili olarak ifade eder, dinamik aralık en küçük ve en büyük temsil edilebilir pozitif sayılar arasındaki süreyi açıklarken, tek nokta işlemcileri, kelime genişliği tarafından belirlenen sabit bir dinamik aralığı vardır: 16-bit sabit nokta numarası 96 dB (20·log2(216).
Uygulamada, birçok DSP uygulaması aşırı dinamik aralığı gerektirmez. Örneğin, 16-bit ses (96 dB) çoğu tüketici ses sistemleri için yeterlidir. tersine, FIR veya IIR filtrelerde olduğu gibi, sabit noktanın sınırlı hassaslığı ile birlikte, 1.523 dB aralığının başına gelen gürültüyü veya gürültüyü azaltmak için otomatik olarak azaltılabilir.
Ayrıca, belirli bir algoritma için yüzen bir algoritma için doğrulanmış bir sistemdir, ticarete açılan yüksek çözünürlükte kalır.(Xilinx, “DSP için sabit noktalı nokta, DSP için yüzen bir algoritma için doğrulanabilir.[DDDDDDönetici aralığı içinde kalır).
Uygulamayı dikkate alır
Sabit nokta ve yüzen nokta arasında seçim yapmak, sonuçta belirli alan gereksinimlerine bağlıdır. Aşağıda, çeşitli ortak uygulama alanlarını inceleyeceğiz.
Ses ve Ses İşleme
Ses sinyalleri doğal olarak sınırlı bir dinamik aralığına sahiptir (tipik olarak 60-100 dB müzik için). Birçok profesyonel ses sistemleri, sinyal-to-noise dönüştürücüler ile eşleşmek için 24bit sabit noktalı işlemciler kullanır, dönüştürücüler için algoritma geliştirme, eşitleme ve sıkıştırma, sabit nokta, sabit-düzeltme sabit ve güç-enerji-enerji-enerji-enerji-malzeme cihazı.
Kablosuz İletişim
Bazband işlemcileri, çeşitli sinyal seviyelerindeki birçok değişkenli işlemden oluşmaktadır. Sabit noktalı eller, maliyet ve güç kısıtlamaları nedeniyle genellikle, Qualcomm'un Hexagon DSP'si mobil çiplerde sabit noktalı hızlayıcıları kullanarak çalışır ve birçok sabit ayarlı radyo (SDR) platformları ve ağ altyapısı, 5G tabanlı eller için baskı sağlar.
Endüstriyel Kontrol
Motor kontrolü, inverterler ve güç elektronikleri, belirsiz gerçek zamanlı döngülere güveniyor. TMS320F28335 ailesi endüstriyel sürücülerde nadiren ihtiyaç duyuyor; PID kontrolleri ve flux gözlemcileri 16 veya 32-bit sabit nokta ile birleştirir.
Görüntü ve Video İşleme
Görüntü pikselleri genellikle 8 veya 10bit tamsayılar olarak temsil edilir (örneğin, filtreleme gibi basit işlemler için, ölçeklendirme ve sıkıştırma, sabit nokta DSPs (veya SIMD-enhanced sabit nokta mimarisi ile) verimlidir. ancak, gelişmiş video analizleri, makine öğreniminin dahil edilmesi gerekenleri - örneğin, konvolutional sinir ağları - genellikle eğitim sırasında daha yüksek hassasiyet gerektirir ve uyarım sırasında. Birçok vizyon işlemcisi (veya anlık olarak sabit noktalı sabit sabit sabit sabit sabit sabit sabit sabit sabit sistemlerle entegre edilir).
Geliştirici Deneyimi
Programlanabilirlik ve araç zincir olgunluğu kararı etkiler. Sabit nokta DSP'ler genellikle uzman kütüphaneleri kullanmak için geliştiriciler gerektirir (örneğin, Q-format matematik, saturasyon işlemi) ve veri türlerini manuel olarak yönetmeye olanak sağlar. Birçok satıcı C/C++'da sabit nokta sağlar.
Ayrıca, modern yüzücü DSP'ler genellikle tüm sistem maliyetinin (hardware + yazılım) ayrıntılı bir değerlendirmesini gerektirir. Sabit nokta işlemcileri, bağlantı için dış bileşenleri gerektiren daha özel olma eğilimindedir.
Hybrid Processors'un Rolü
DSP tasarımdaki son trendler sabit nokta ve yüzen nokta arasındaki çizgiyi bulanıklaştırıyor. Bazı cihazlar, Analog Cihazlar Blackfin+ ailesi gibi, sabit noktalı ALU ile sabit bir donanım desteği ile sabitlenebilir ve hassas nokta işlemleri için diğer birçok bölüm gibi, sabit nokta için geri dönerken, düşük güç yolları da dahil.
Seçim Nasıl Yapılır
En iyi DSP mimarisini seçmek, bu adımları takip etmek için sistematik bir uygulama kısıtlamaları değerlendirme gerektirir:
- [FONT=0)Gön sinyal özellikleri[[Dönetici 1] – Analog cephe son ve algoritmaları tarafından gerekli olan dinamik aralığı ve sinyal-noise oranını belirleme.Eğer veriler 80-100 dB aralığına asla geçmezse, sabit nokta makul değildir.
- [FONT=0)Characterize arithmetic operations[Dönetici:0)[[Döneticileri ikinci başına MAC’lar sayısı (MIPS/MFLOPS), gerekli olan ve ölçüm hatalarının etkisi. Run sabit nokta simülasyonları erken.
- [FONT:0]Assess güç bütçeleri[[Dönetici: 1) - batarya destekli cihazlar için sabit nokta genellikle MAC başına enerjide 3-10x avantajı sunar.
- [FONT:0]Evaluate gelişim kaynakları[[Döntilmiş: 1) Takım derin sabit nokta deneyimi ve sıkı donanım bütçesi varsa, sabit nokta tercih edilebilir. Hızlı prototipleme veya karmaşık algoritmaları için, yüzen nokta riski azaltır.
- [FONT:0)Gelecek ölçeklenebilirlik[[Dönetici: 1) Kablosuz standartlar, ses kodlar ve görüntü işleme algoritmaları. Floating-point sistemleri, donanım yeniden tasarım olmadan gereksinimleri değiştirmek için daha kolay.
- [FONTT:0]Prototype both[[DÜT:1) – Değerlendirme kurulları kullanın (örneğin, TI Deca Series, Analog Cihazlar EZ-KIT Lite) gerçek uygulama kodunızla gerçek zamanlı performans ve güç tüketimi test etmek için.
Son olarak, saygın kaynaklardan gelen değerlendirme sonuçları. The JusticeI DSP Core Benchmarks, sabit nokta ve yüzen uygulamalarını farklı mimariler ile karşılaştıran standart ölçümler sunar:0)(EDN, “How to Select a DSP Processor Using Benchmarks”, 2021).
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Sabit nokta ve yüzen DSP işlemciler her biri sinyal işleme ekosisteminde farklı nişler işgal ediyor. Sabit nokta mimarisi, rakipsiz maliyet verimliliği, düşük güç tüketimi ve iyi yönlü, yüksek hacimli uygulamalar için, iki yönlülükli yüksek hacimli uygulamalar için yüksek hacimli uygulamalar, tüketici ses ve hücresel eller sunar.