Dijital sinyal işleme (DSP) modern elektroniklerin temel taşı olmuştur, bu analiz için gerekli olan her şeyin bilgisayar destekli sesten gelen görüntü işlemeye yönelik olarak tıbbi cihazlardaki gerçek zamanlı görüntü işlemeye olanak sağlar.For on yıllardır, mühendisler DSP işlemcileri sadece geliştirilmiş hassasiyet ve dinamik aralıklarda değil, temel olarak yazılımların sinyal işleme sistemleri için nasıl yazılması gerektiğini değiştirdi.
Sabit-Point DSP Süreçors'un Kökenleri
İlk adanmış DSP işlemciler, 1970'lerin sonlarında ve 1980'lerin başlarında tanıtıldı, tüm sabit noktalı bir sayı kullanarak sabit sayımlayıcıları - Texas Instruments TMS3 2010 (günde yayınlandı) ve AT&T DSP1, sanatın durumunu temsil etti. Sabit nokta işlemcileri mağaza numaralarını sabit bir sayı kullanarak - verileri yol için sabit olarak 16 veya 24.
Sabit nokta mimarisi son derece verimliydi. arithmetic mantık birimleri (ALUs) tek bir saat döngüsünde, genel amaçlı CPUlerin bu hızın bir kısmını toplayamadığında, örneğin TMS3 2010, ikinci (MIPS) 5 milyon talimatlarını küçük bir kez yürütebilir.
Erken sabit nokta işlemcileri de çok düşük güç tüketimine sahipti, genellikle sadece birkaç yüz miliwatt'i ayırıyorlardı. makinelere, modem fişlerine ve dijital ses efektlerine cevap vermek için yaygın olarak kullanıldılar. Ancak, küçük veri kelime uzunluğu ağır kısıtlamalar getirdi. 16-bit-point numarası sadece 96 dB hakkında dinamik bir dizi sunuyor ve kullanıcı aşırı akıştan veya alttan kaçınmak için ölçeklendirmek zorunda kaldı.
Sabit-Point Arithmetic in Practice
Sabit nokta numaraları ile çalışmak dikkatli manuel ölçeklendirme gerektirir. Örneğin, sinyal seviyesi 60 dB tarafından değişebilir ancak mevcut aralıklar sadece 96 dB idi, geliştirici algoritma içinde sürekli olarak izlemeli ve aşamaları ayarlamak zorunda kaldı. Overflow, felaket bozulmasına neden olabilir, alt geçiş sadece bilgi kaybetti.Bu, her filtre katını, her orta uç geçiş için analiz edilmesi gerekiyordu ve dourasyon veya ölçeklendirme blokları eklendi.
Quantizasyon gürültü başka bir önemli konuydu. Her bir çok uygulama ve ek olarak, dış kelime büyüklüğüne ve degrad sinyali kalitesine sahip olan hataları tanıttı. Özellikle yüksek sipariş filtrelerinde veya uzun FFT'lerde bu durumu azaltmak için, genellikle daha büyük bir kelime uzunluğu ( 24 veya 32 bitleri gibi) iç içe kullanıldı, ancak son çıktı hala dış kelime büyüklüğüne karşıydı.
Ayrıca, yüksek seviyeli bir yüzen simülasyondan gelen algoritmaları sabit nokta donanımı zor oldu. Mühendisler ölçeklendirme faktörlerini manuel olarak ayarlamak ve sayısal davranışın maçlandığını doğrulamak zorunda kaldılar.Bu işlem hata-prone ve sık sık performans uzlaşmalarına yol açtı. Daha esnek bir yaklaşım için ihtiyaç daha net hale geldi, özellikle de daha yüksek hassasiyet ve daha dinamik bir aralık talep ettiği gibi.
DSPs'lerin Gecikme-Point DSPs'in Ortaya Çıkarılması
Bu atılım 1980'lerin ve 1990'ların sonlarında yarı iletken şirketler yüzen DSP işlemcileri tanıttılar. Texas Instruments TMS320C30 (1989), ilk ticari yüzen DSP'lerin bir parçasıydı, ardından ADSP-21060'ı Analog cihazlardan takip etti ve daha sonra TMS320C67xx serisini temsil etti. Bu işlemciler bilimsel notasyona benzer bir şekilde bir formatta temsil etti: bir mantissa artı bir exponent, manuel ölçeklendirmeden çok dinamik bir aralıkla başa çıkmalarına izin verdi.
Örneğin, tek bir program IEEE 754 yüz, hassaslık rakamlarını ve 1500 dB üzerinde dinamik bir dizi - herhangi bir pratik sinyalin gerekliliklerini aşarak, geliştiricinin normal sinyaller için fazla tutma veya ölçeklendirme sorunlarını ortadan kaldırması için gerekli olan ihtiyacı ortadan kaldırdı.
DSP'ler başlangıçta daha yüksek bir maliyetle geldi ve sabit nokta eşdeğerlerinden daha fazla güç tüketti. Ancak, üretim süreçleri geliştikçe, bu dezavantajlar azaldı. Bugün, birçok DSPs, kayaç nokta birimleri (FPUs) gibi alanlarda, genellikle sabit nokta birimleri ile güç verimliliği için vazgeçilmez hale getirdi.
Sabit-Point ve Floating-Point Architectures ile Karşılaştırma
Sabit nokta ve yüzen nokta arasındaki seçim, DSP sistemi tasarımının en temel kararlarından biri olarak kalır.Her yaklaşım farklı avantajları ve ticaret-offları vardır:
- [FONT:0)Performance:[Döneticileri genellikle MAC işlemleri daha hızlı ve daha düşük gecikmeli bir işlem için daha karmaşık hale getirirler.For deep pipelined, tekrarlayan görevler dijital yukarı / aşağı dönüşüm veya FIR filtreleme gibi, sabit nokta, yüksek akış işlemlerinin aşırı kullanım için daha karmaşık donanım gerektirir, bu yüzden verilen bir işlem için daha yavaş olma eğilimindedirler.
- [FONT=0)Öylege ve Dinamik Aralığı: [Dönetici:0)[Dönetici:0) Doğrusal ve tutarlı bir doğruluk sağlar.Inktr|tavaplar ve sabit nokta hassastır.In algoritmaları gürültüye duyarlı veya yüksek kaliteli bir çıkış gerektirir (e.g., profesyonel ses 03.D:2).DAW işlemciler).
- [FONT=0)Software Kompleksi:[Dönetici:[Dönetici:0)Software Kompleksite:[Dönetici:[Dönetici: 0) Sabit nokta geliştirme talepleri manuel ölçeklendirme ve dourasyon yönetimi. Floating-point, matematiksel modellerin doğrudan çevirisini sağlar, zaman-pazarlama ortamların yeniden kullanımını azaltır ve MATLAB gibi karmaşık sistemler için büyük bir avantajdır.
- [FONT:0]Cost ve Power:[Döneticiler genellikle daha pahalı ve daha fazla güç verimlidir. yüksek hacimli, mobil telefonlar, otomotiv ses veya kitle pazarlama işitme yardımı gibi pahalı uygulamalar, sabit nokta baskındır.
- [FONT:0)Algorithm Suitability: Birçok kontrol ve sinyal işleme görevleri (örneğin, PID kontrolörleri, dalga form nesli) sabit nokta ile iyi çalışır. Ancak, gelişmiş matris işlemleri, eigenvector decompositions ve nonlinear filtrelemesi, yüzen akışların uygulama kolaylığından büyük ölçüde yararlanır.
Uygulamada, birçok modern DSP çipleri hem sabit nokta hem de yüzen noktaları aynı ölülerde sunmaktır. Bu, programcının algoritmanın her bir parçası için en verimli modu kullanmasına izin verir - örneğin, kontrol mantığı veya ölçeklendirme için sabit nokta kullanarak.
Uygulama-Specificceptations
Telekomünikasyon ve Kablosuz
Hücre sistemleri için temel bant işleme, sabit nokta işlemciler, geliştirme sırasında uç nokta ve sıkı güç bütçeleri nedeniyle hala yaygın olarak kullanılmaktadır.Spek ve 5G gibi standartlar sabit nokta arithmetic. ancak, kanal tahminleri ve eşitleştirme algoritmaları genellikle geliştirme sırasında yüzen noktadan yararlanır, daha sonra dağıtım için sabit noktaya dönüştürülür.
Ses ve Konuşma İşleme
MP3 oyuncularından Bluetooth başlarına gelen müşteriler, düşük ve batarya ömrünü uzun süre tutmak için sabit nokta DSP'leri kullanır. Ancak profesyonel ses ekipmanları - konsolları, etki işlemcileri ve yüksek uç DACs - resimleri tanıtmadan karmaşık işlem zincirleri aracılığıyla sinyal kalitesini korumak için.
Tıbbi Görüntüleme ve Radar
Ultrabrasyon gibi uygulamalar, MR rekonksiyonu ve sentetik aperture radarı, yüksek hassasiyetle büyük miktarda hesaplama talep ediyor.Düşük noktası DSPs veya özel GPU tabanlı çözümler genellikle gereklidir.The dynamic range of ham sensör verileri genellikle 100 dB, sabit nokta engelleyicisi olmadan sabitlenir. İşte, yüzen mimariler basit bir algoritma uygulamaları ve hızlı prototipleme sağlar.
Endüstri ve Otomotiv
Motor kontrolü ve güç dönüşümü genellikle sabit nokta veya kontrol-köpek hızlandırıcıları kullanır ve hız için iyi bilinen ve optimize edilir. Ancak, gelişmiş sürücü yardımı sistemleri (ADAS) ve LiDAR işleme gibi uygulamalar, sensör füzyon ve sinir ağının inferencele çalışabilme yeteneği ile ilgilidir.
Yazılım Geliştirme Etkisi
DSP'lerin en önemli faydalarından biri, yazılım geliştirme sürecinin basitleştirilmesidir. Algorithm mühendisleri, C veya hatta doğrudan Simulink veya Python prototipleri gibi yüksek seviyeli dillerde kodlarını tasarlayabilir ve test edebilirler.
Buna karşılık, sabit nokta geliştirme genellikle montaj dili veya FPGAs ve otomatik kod nesli için montaj dili gerektirir (örneğin, gömülü kodlayıcı) birçok şirket geniş sabit nokta matematik kütüphaneleri ve kodlama standartları korur, ancak yüksek seviye sentez (HLS) gibi yüksek seviyeli aletlere bağlıdır.
Modern yüzen DSPler ayrıca olgun derleyici teknolojiden faydalanıyor, genellikle genel amaçlı CPU derleyicilerinden elde ediliyor. Bu, standart C veya C++'da yazılan kod yazılmamış bir montaja ihtiyaç duymadan çok optimize edilebilir. Sonuç, mevcut geliştiricilerin ve daha hızlı prototipleme havuzudur.
Hibrit ve Modern Mimarlıklar
DSP, GPU ve genel amaçlı CPU arasındaki çizgiler bulanıklaştıkça, yeni mimariler ortaya çıktı. Birçok mikrokontrollü şimdi, bir seçenek olarak DSP noktası ünitesi (FPU) ile bir seçenek olarak DSP uzantılı bir DSP hattını içeriyor. Örneğin, ARM Cortex-M4 ve Cortex-M7 çekirdeği tek taraflı talimatlara sahiptir, daha önce ayrı bir DSP noktası olan gömülü sistemlerde etkin bir dijital sinyal işleme izin verir.
Alan programlanabilir kapı dizileri (FPGAs) sertleştirilmiş DSP dilimleri (örneğin Xilinx DSP48) genellikle sabit nokta modunda çalışır, ancak daha yüksek bir tasarımda, mantık kumaş veya özel yüz noktaları IP çekirdeği kullanılarak uygulanabilir. aşırı yüksek çözünürlük uygulamaları için, FPGA tabanlı yüzücü-point işleme bile kullanılabilir.
Grafik işleme birimleri (GPUs) şimdi büyük paralel yüzer nokta işlemleri ele alıyor, büyük ölçüde makine öğrenimi ve işleme tarafından yönlendiriliyor. Ancak, tek zamanlı kontrol için optimize edilmedi ve AI inferncy ile mücadele ediyorlar.Birçok modern sistemlerde, bir heterojen çözüm kullanılıyor: genel amaçlı CPU kontrol mantığı, DSP veya FPGA gerçek zamanlı sinyal işlemeyi yönetiyor ve bir GPU işleme ünitesi için optimize etmiyorlar.
Ayrıca, yapay zekanın yükselişi, bfloat16 ve TensorFloat-32 gibi özel yüzer noktaya yol açtı, bu da programcının uçta hız için hassas bir şekilde arttırmasına izin verdi.
Future Yol Tarifi
Sabit noktanın yüzen noktaya gelen evrim, 5G/6G, otonom araçlar ve gelişmiş tıbbi cihazlarla, yüksek performanslı sinyal işleme talebi büyümeye devam ediyor. Future trendleri şunları içerir:
- [FONT:0] Adaptif bir hassas:[Dönetici:0)[Dönetici:0) Uygulamanın ihtiyaçlarına göre, optimizasyon gücü ve aktarım noktalarına dayanan, dinamik olarak geçiş yapan süreçler.
- [FONT:0)Rekonperatif DSP çekirdeği: Verileri tekrar yapılandırabilecek ve zaman zaman içinde sabit noktanın verimliliğini sağlamak için, yüz noktanın esnekliği ile sabit noktanın verimliliğini sağlamak.
- [FONT:0) AI hızlandırıcıları ile ilgili olarak: DSP yetenekleri ve sinir ağlarının tek bir ölüde sorunsuz bir şekilde işlenmesine izin verir, akıllı gerçek zamanlı sinyal işleme izin verir.
- [FONT:0)Enerji verimli yüzücü nokta: Düşük güçte yükselen yeniliklere devam ediyor, şu anda sabit nokta kullanan batarya-işlemli IoT cihazları için uygulanabilir hale getiriyor.
- [FONT=0) Komplike teknolojisindeki referanslar: Daha iyi otomatik dönüşüm, hacim üretimi için sabit nokta algoritmalarından sabitlenerek, kaliteli bakımı korumak için manuel çabayı azaltır.
Bugün mevcut olan araçları ve ticaret noktasının takdir edilmesine yardımcı olmak için sabit noktadan tarihsel yolculuğu anlamak. Tartışma muhtemelen devam edecek, ancak aşırılık eğilimi, serbest geliştiricilerin belirli bir noktaya odaklanması için daha esnek, daha güçlü donanıma doğru gidiyor. yüksek hacimli bir tüketici ürünü veya bir bilimsel enstrüman için uçan nokta çözümü seçmesi, bu evrim bilgisi, bu evrim hakkında bilgi sahibi olmak için daha önemlidir.