Dijital Signal Processors (DSP) gerçek zamanlı sinyal işleme görevlerini olağanüstü verimlilikle yürütmek için uzman mikroişmanlar tarafından tasarlanmaktadır.DSP'lerin görev zamanlama ve şube tahminlerine öncelik veren tüm CPU'ların aksine, DSP'lerin hafıza dışı operasyonlarının ne kadar hızlı bir şekilde toplanıp, otomatik olarak nasıl elde edilebileceğini belirler.

Signal Processing Workloads'taki bellekin temel rolü

Signal processing workloads temel olarak veri yoğun. Algoritmalar sonlu bir dürtü (FIR) filtreler, hızlı Fourier dönüşümleri (FFTs), konvolution ve matrix multiplikasyonu tek bir saat döngüsünde büyük bir MAC işlemi gerçekleştirebilir, ancak sadece katlanarak ve bellekte tekrarlanan bir dizi veri örneği ile tekrarlanır.If the memory pipelines (ALU)

Ayrıca, gerçek zamanlı kısıtlamalar, işlemenin örnekleme oranıyla devam etmesini talep ediyor. 48 kHz'de ses için, bu sonlu bellekte yaklaşık 20 mikrosaniye içinde algoritmayı tamamlamak gerekir.In video için 30 çerçevede 1080p çözünürlükte, bu ihtiyaç her bellek erişimli erişim için on mil erişimli erişim için -ve genellikle çok daha sıkı bir şekilde işlem için yüksek çözünürlük ve bant genişliğine doğrudan erişim için sipariş edilebilir.Bu nedenle, yüksek çözünürlükte en düşük maliyetli bir şekilde kullanım için en düşük maliyetli bir şekilde kullanılabilir.

DSP Sistemlerinde Temel Bellek Türleri

Kayıt Ol Memory

Kayıtlar, herhangi bir DSP'de en hızlı bellektir. Tipik olarak, işlemci çekirdeği içinde geçişleri önlemek için geri dönüşümlü olarak uygulanır, kayıtlar DSP çekirdeğinin aktif olarak hesaplanan bir setine sahiptir. Çoğu DSP çekirdeği, genellikle 256'den az veya 64-bit veya 64-bit kayıt tamamen kontrol altına alınmasıdır (örneğin, DSP'nin notu için kayıt yaptırması için kayıt yaptırması gerekir. Access latency bir saat döngüsü veya daha az, ancak toplam kapasite çok küçüktir).

Anahtarlama

Rehber hafıza, genellikle erişimli verilerin veya talimatların ana bellekten kopyalanması için küçük, hızlı bir SRAM'dır. DSP'ler, gerçek zamanlı sistemler için ayrı talimatlar içerebilir.D-cache) ve veri önbellekleri (D-cache) ve bunları yalnızca “parlak” modundan kaçınmak için kullanır, bu da önbelleksiz kod ve veriler önbellekli olarak, boyutsal hızlarda, DSP'ler tarafından dramatik olarak etkilenebilir.

On-Chip SRAM (Scratchpad Memory)

Ekrandaki statik RAM (SRAM), genellikle sıfırpad bellek olarak adlandırılır, öngörülebilir, düşük çözünürlük depolama depolamayı doğrudan işlemcide ölür.Rektörden farklı olarak, sıfırpad bellek açıkça yazılım tarafından yönetilir - programcı veya derleyici tarafından erişilebilir olmalıdır.Bu deterministik davranış, D-SPe bağlı olarak 32 KBC'ye bağlı olarak tercih edilen gerçek sinyal işleme için tercih eder.

Dış hafıza (DRAM/Flash)

Dış hafıza, genellikle Prat SDRAM (özellikle mobil / ambedd için LPDDR), büyük kapasite sağlar - video çerçeveleri, ses tamponları veya yüksek gecikme masalarının maliyeti gibi.

DSP'lerde bellek Mimari Modelleri

Harvard Architecture

Harvard mimarisi, eğitim hafızasını ve veri hafızasını fiziksel olarak farklı otobüslere ayırıyor, aynı anda tek bir saat döngüsü sırasında aynı anda erişim sağlıyor. Harvard mimarisi ile tipik bir DSP program hafızasını (örneğin, karma flaş veya SRAM) kullanarak, iki veri kelimeyi kullanarak, örneğinden ayrı olarak kullanıyor ve bir tane.Bu, modern DSP'lerin (örneğin, Analog cihazlardan) temelleri (örneğin, TI C55x, C6000) esnek bir şekilde kullanıyor.

Von Neumann Mimarisi

von Neumann (veya Princeton) mimarisi, talimatlar ve veriler için tek paylaşılan bir hafıza alanı kullanır, bir otobüsle servis edilir. Bu, sistem tasarımı ve hafıza haritası oluşturma ancak basit sinyal işleme görevleri için kullanılan temel şişeler oluşturur (örneğin Corneck). DSP bağlamında, saf von Neumann benzeri bir hafıza haritasının her ikisine de sadece çiftleşme performansı için sıkı bir şekilde tedarik edilememesidir.

Harvard Mimarlık'ı Değiştirdi (Eğitim ve Veri Önbellekleri ile)

Harvard'ın paralelliği ve von Neumann'ın esnekliği arasındaki boşlukları köprülemek için, birçok DSP'ler değiştirilmiş bir Harvard mimarisi uyguluyorlar, ancak paylaşılan L2 veya dış hafızadaki ayrı talimat ve veri yollarını kullanarak, örneğin L1 Öğretim önbellekli bir şekilde ayarlandığında, L1 veri önbellekleme sistemi, L1 veri önbellekli olarak kullanılan L2 veya dış bellekte kullanılan bir L2 veya dış bellekte kullanılan bir L1 komut önbellekleme özelliğidir.

VLIW ve SIMD Implications

Çok uzun Öğretim Word (VLIW) işlemcileri, TI C6000 gibi, birden fazla işlem bir talimata (örneğin, iki MAC artı yük / cihazı) VLIW paralelliği sürdürmek için, bellek mimarisinin her iki bankadan da yeterince hafıza portu sağlaması gerekir. Bu genellikle birden fazla banka, her biri kendi okuma limanına sahiptir. Örneğin, C6000, veri hafıza (A-side ve B-side) iki veri yolu ile bağlantı halinde, aynı anda tüm işlevsel birimlerin birden fazla veri akışının veya anahtarını sağlaması gerekir.

Gelişmiş Memory Hierarchies ve Strategies

Çok-Level Cache ve Flamepad Hybrids

Modern DSPler genellikle küçük bir L1 önbellekini birleştirir (örneğin, TI C66x çekirdeği, L2 bellek ve SRAM arasında bir blok-by-block temelindeki L2 SRAM (örneğin, 256 KB) kontrol cihazını önbellek veya sıfır olarak yapılandırabilir. Örneğin, TI C66x çekirdeği, L2'nin çoklu çekirdekleri arasında çok sayıda çekirdek arasında paylaşılabilir.

DMA (Direct Memory Access) Motorlar

DMA kontrolörleri DSP bellek verimliliğine integraldir. Dış hafıza ve A'daki veri transferlerine izin verir, CPU müdahalesi olmadan gerçekleşir. Tipik bir model, dış hafızadaki rollerin sonlu erişimin ve DSP boru hattının yoğun tutulmasıdır.

Memory Bankacılık ve Interleaving

Yüksek bant sağlamak için, çip SRAM genellikle birden fazla bankaya bölünmüştür (örneğin, 8 veya 16). Her banka kendi okuma / yazma limanına sahiptir, bu yüzden birden fazla eşzamanlı erişim, farklı bankalara karşı 8 adet dağıtıldığı gibi mümkündür - bir bankadan gelen başarı adreslerine rağmen - bir bankadan gelen ve başka bir kartvizitten gelen örneklere paralel olarak desteklenebilir.

Ring Buffers (Zero-Overhead Ring Support)

Birçok DSP, özellikle yazılım döngüleri için tasarlanmış küçük, hızlı bellek tamponları içerir. Bir döngü buffer, küçük bir çekirdek tutabilir (örneğin, 128 ila 2048 talimatları) Bu mimarinin bir araya gelmesi olmadan tekrarlanan bir döngüsel tamponlama için bir araya gelir.Bu bellek, bu bellekler sıkı döngüler için kapalıdır. Örneğin, sinyal işlemedeki ortak bir olaydır. Örneğin, TI C5500'in aynı zamanda bir döngü tampon olarak da çalıştırılabilir 4 KB talimatı vardır.

Çokcore DSP'lerde Yeterlik

Birden fazla DSP çekirdeği verileri paylaşırken (örneğin, radar veya MIMO uygulamasında), önbellek tutarlı koherency protokolleri sabit verileri engellemeyi önler. Donanım snoo veya yazılım-managed coherence (e.g., using permissions) kullanılmıştır. Bazı DSPsler veri hareketlerini yönetmek için tamamen tercih edilir. Örneğin, Freescale's MSC81 (şimdi NXP) bir “g önbelleksiz” yaklaşımı kullanır.

Anahtar Performans Metrikleri Üzerine Bellek Mimarisinin Etkisi

Bellek mimarisi doğrudan dört kritik performans ölçümlerine etkiler: ikinci olarak yapılan başvurular (ilk sonuç için zaman), güç tüketimi ve gerçek zamanlı determinizm.Bir çift yük talimat kullanarak, iki kitaplık bir hafıza mimarisi ile azaltılabilir (Harvard + iki kitap + tek yönlü erişim), her bir mod için bir döngü gerekir.Ingerekli FIR için bir MAC için yeterlidir.Ingörüntüde üç döngü için.

FFT işleme için Cooley-Tukey algoritması iki karmaşık değer ve bir twiddle faktörü okuyan iki sonuç yazmaktadır. tek bir bellek portu ile, bu, dört okuma ve iki yazı kelebek başına yaz, en az altı döngü alabilir.Bir çift bankacılık mimarisi ile (biri için, kat kat kat kat kat kat kat kat kat kat kat kat kat kat kat katlanarak) okur, sürekli olarak üç döngüyü sürekli olarak işlemden indirebilir.

Telekomünikasyonda, sembolü algılama algoritmaları (Viterbi, MLSE) devlet metriklerine rastgele erişimle geniş bir gerileme gerektirir. İşte, SRAM düşük gecikmeli olan, gerçek zamanlı sembolü oranını korumak için gereklidir. tek bir önbellekli bir zamanlama ihlaline neden olabilir, bu yüzden tasarımcılar genellikle devlet ölçüm masasını pinpad'de tutabilirler.

Sistem Mühendisleri için Tasarım

DSP tabanlı bir sistem tasarlarken, mühendisler uygulamanın hafıza hiyerarşisi ile ilgili verileri bölmelidir. Anahtar kararlar şunları içerir:

  • [FONT:0)Data yerleştirme: [Döneticileri, yüksek çözünürlükte bulunan tablolara yerleştirilmelidir.)
  • [FONT:0]Memory haritalama:[DDDK 1: 1] DSP'nin hafıza özelliklerini kullanarak, algoritmaları tanımlamaya kayıt yaptırmaya kayıt yaptırır (örneğin, yaz-geriye, yazma, yazma-geriye, kullanılamaz) Paylaşılan veriler için, paylaşılan SRAM'ı ortak olmayan veya tüm ayrılık sorunları çözmek için kullanın.
  • [FONT:0]Sing linker scripts:[DSPT:1] Bağlantılı komut dosyasında bellek bölümlerini tanımlamak. Örneğin, hızlı bir uygulama için iç SRAM'da yer .text ve .data in external DRAM for large buffers. Some DSPs support DMA to copy critical data from flaş to SRAM during boot.
  • [FONT:0] Çift DMA ile tamponlaşma: İki tane dekser SRAM'da iki tamponluluk. DSP işlem diğerini doldururken bir DMA kanalını yapılandırın. DMA transfer boyutunu ve kaynak / kesinti adreslerini en üst düzeylere uygun hale getirmek için.
  • [FONT:0) Dış hafızayı dışlama: [DFLT:1] Yüksek bant genişliği için LPDDR4 veya HBM (yüksek bant genişliği bellek) radar veya 5G taban gibi yoğun uygulamalar için, düşük güç için, DSP'nin desteklediği kod ve yürütme için seri NOR flaş kullanın.
  • [FONT=0)Power yönetim:[Dönetici:[Dönetici:0) Güç yönetimi:[Dönetici:[Dönetici:0) Dinamik gücü azaltmak için saat gating on memory bankaları kullanın.

DSP Memory Architecture'da Future Yol

DSP uygulamaları kenar cihazlarında derin öğrenme, gerçek zamanlı 4K/8K video işleme ve yazılım tanımlı radyo (SDR) hafıza gereksinimleri daha fazla görünür: Birkaç trend görünür:

  • [FONT=0)3D yığınlanmış hafıza (HBM, HBM2E): [DDÜSTÜSÜSÜSTÜSÜSÜSÜSÜSTÜSÜSÜSÜSÜŞÜN, DSP'lere entegre edilmiş ve büyük bant genişliğine sahip sistemler için FPGA'lar için FPGA'ler.
  • [FONT:0]On-çizsiz bellek (eNVM): [Dönetici: MRAM veya ReRAM gibi teknolojiler, kod depolama için çip depolama için çip SRAM'a kadar değişebilir ve dış flaş ihtiyacı ortadan kaldırır. Bu anılar SRAM olmadan neredeyse hızlıdır.
  • [FONT:0] Yerel ağırlık hafızasıyla bazı ağ hızlandırıcıları: DSPs, AI inference için tasarlanmış yerel bir ağırlık tampon (örneğin SRAM veya SRAM benzeri) içerir ve kilo matrisleri dış hafızadan tekrarlanabilir.
  • [FONT:0] Adaptif hafıza hiyerarşileri: Future DSPs, yeniden yapılandırılabilir hafıza (örneğin, eFPGA) olarak yeniden tasarlanabilir,pad veya FIFO iş yüküne bağlı olarak yeniden tasarlanabilir.
  • [[Dönetici:0)Software-managed önbellek:** Bazı araştırma mimarlıkları, kritik bölümler için yazılım kontrollü hafızalarla donanım önbelleklerini değiştirmeyi önerirken, bu karma yaklaşımın her iki dünyanın en iyi teklif edebilir.

Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç

Memory mimarisi, DSP işlemci verimliliğinin arka kemiğidir. Kayıt, önbellek, çip SRAM ve dış bellek sistemi tasarımcılarının veri erişimine geç erişimlerini sağlamak için sistem tasarımcılarının temel aşamalarına olanak sağlar ve güç tüketimine ulaşmada en iyi adımlar atılması.Daha fazla talep edilen Harvard vs von Neumann'ın seçimi, DMA, bankacılık ve döngü tamponları gibi gelişmiş stratejilerin kullanımı, ve hafızadaki tüm temelleri kontrol etmek için, gerçek zamanlı sinyal işleme hedeflerine ulaşmak için en iyi adımlar olacaktır.

  • [0]Texas Instruments: DSP Memory Architecture (SPRAA06)).
  • [FONT:0)Analog Cihazları: SHARC Süreçor Memory Architecture).
  • [0]IEEE Paper: Memory Architecture for DSP Processors – A Survey).
  • [FONT:0)Xilinx White Paper: DSP Uygulamaları için Yüksek Bant genişliği Memory).