Dijital sinyal işlemcisi. Dijital sinyal işlemcileri

  • 29.07.2019

DSP nedir?

Dijital Sinyal İşlemcileri (DSP'ler) ses, video, sıcaklık, basınç ve konum gibi önceden sayısallaştırılmış fiziksel sinyalleri kabul eder ve bunlar üzerinde matematiksel işlemler gerçekleştirir. Sayısal sinyal işlemcilerin iç yapısı, “toplama”, “çıkarma”, “çarpma” ve “bölme” gibi matematiksel fonksiyonları çok hızlı bir şekilde yerine getirebilecek şekilde özel olarak tasarlanmıştır.

Sinyaller, içerdikleri bilgilerin grafiksel olarak görüntülenebilmesi, analiz edilebilmesi veya başka türden faydalı bir sinyale dönüştürülebilmesi için işlenmelidir. Gerçek dünyada, ses, ışık, sıcaklık veya basınç gibi fiziksel olaylara karşılık gelen sinyaller, analog bileşenler tarafından algılanır ve manipüle edilir. Ardından, analogdan dijitale dönüştürücü gerçek sinyali alır ve onu sıfırlar ve birler dizisi olarak dijital formata dönüştürür. Bu aşamada, sayısallaştırılmış bilgileri toplayan ve işleyen bir dijital sinyal işlemcisi sürece girer. Daha sonra sayısallaştırılmış bilgiyi daha fazla kullanım için gerçek dünyaya geri gönderir. Bilgi verilmesi iki yoldan biriyle gerçekleştirilir - dijital veya analog formatta. İkinci durumda, sayısallaştırılmış sinyal bir sayısaldan analoğa dönüştürücüden geçirilir. Tüm bu eylemler çok yüksek bir hızda gerçekleştirilir.

Bu kavramı göstermek için, bir MP3 müzik çalarda dijital sinyal işlemcisinin nasıl kullanıldığını gösteren aşağıdaki blok diyagramı göz önünde bulundurun. Kayıt aşamasında, bir alıcıdan veya başka bir kaynaktan sisteme bir analog ses sinyali girer. Bu analog sinyal, bir A/D dönüştürücü tarafından dijital bir sinyale dönüştürülür ve bir dijital sinyal işlemcisine gönderilir. DSP, MP3 formatına kodlar ve dosyayı hafızada saklar. Oynatma aşaması sırasında, dosya bellekten alınır, dijital sinyal işlemcisi tarafından kodu çözülür ve bir dijital-analog dönüştürücü tarafından hoparlör sisteminde çalınabilecek bir analog sinyale geri dönüştürülür. Daha karmaşık bir örnekte, dijital sinyal işlemcisi, ses kontrolü, frekans telafisi ve kullanıcı arabirimi gibi ek işlevleri yerine getirebilir.

Dijital sinyal işlemcisi tarafından üretilen bilgiler, örneğin güvenlik sistemlerini, telefonları, ev sinema sistemlerini veya video görüntü sıkıştırmasını kontrol etmek için bir bilgisayar tarafından kullanılabilir. Sinyaller, bir yerden diğerine daha hızlı ve daha verimli iletim için sıkıştırılabilir (sıkıştırılabilir) (örneğin, telefon hatları üzerinden ses ve video görüntülerini iletmek için telekonferans sistemlerinde). Sinyaller, kalitelerini iyileştirmek veya başlangıçta insan algısı için mevcut olmayan bilgileri sağlamak için (örneğin, cep telefonlarında yankı giderme veya bilgisayar görüntü kalitesini iyileştirme görevlerinde) ek işlemeye tabi tutulabilir. Fiziksel sinyaller de analog biçimde işlenebilir, ancak dijital işleme, gelişmiş kalite ve performans sağlar.

Dijital sinyal işlemcisi programlanabilir olduğundan çok çeşitli uygulamalarda kullanılabilir. Proje oluştururken kendi yazılımınızı yazabilir veya Analog Devices veya üçüncü şahıslar tarafından sağlanan yazılımları kullanabilirsiniz.

Gerçek dünya sinyal işlemede DSP kullanmanın faydaları hakkında daha fazla bilgi için, Dijital Sinyal İşleme 101 - DSP Tasarımına Giriş başlıklı makalenin ilk bölümüne bakın, “Neden Dijital Sinyal İşlemci Kullanılır?”


Dijital sinyal işlemcisinin (DSP) içinde ne var?

Dijital sinyal işlemcisi aşağıdaki temel bileşenleri içerir:

  • Program hafızası: Dijital sinyal işlemcisinin verileri işlemek için kullandığı programları içerir.
  • Veri belleği:İşlenecek bilgileri içerir
  • Hesaplama çekirdeği: Program belleğinde bulunan programa ve veri belleğinde bulunan verilere erişerek matematiksel işlem gerçekleştirir.
  • G/Ç alt sistemi: Dış dünyayla arayüz oluşturmak için bir dizi işlev uygular

Analog Cihaz işlemcileri ve hassas mikro denetleyiciler hakkında ayrıntılı bilgi için sizi aşağıdaki kaynakları incelemeye davet ediyoruz:

Dijital sinyal işleme karmaşık bir konudur ve en deneyimli DSP profesyonellerini bile bunaltabilir. Burada yalnızca kısa bir genel bakış verdik, ancak Analog Devices, dijital sinyal işleme hakkında daha fazla bilgi için ek kaynaklar da sunuyor:

  • - teknolojilerin ve pratik uygulama sorularının gözden geçirilmesi
  • Analog Dialogue dergisindeki bir dizi makale: (İngilizce)
    • Bölüm 1: Neden bir dijital sinyal işlemcisine ihtiyacınız var? Dijital sinyal işlemci mimarileri ve dijital sinyal işlemenin geleneksel analog devrelere göre avantajları
    • Bölüm 2: Dijital filtreler hakkında daha fazla bilgi edinin
    • Bölüm 3: Bir donanım platformunda algoritmaların uygulanması
    • Bölüm 4: Gerçek zamanlı G/Ç desteği için programlama konuları
  • : Sık kullanılan kelimeler ve anlamları

DSP uygulamalı laboratuvarı, Analog Cihaz DSP'lerinin kullanımına aşina olmanın hızlı ve etkili bir yoludur. Dersler ve uygulamalı alıştırmalar yoluyla size Analog Devices DSP'leri ile sağlam bir uygulamalı deneyim sunacaklar. Program ve kayıt bilgilerine Eğitim ve Gelişim sayfasından ulaşabilirsiniz.

DSP'ler sorunları çözmek için tasarlanmış özel bir mikroişlemci sınıfıdır. dijital sinyal işleme(DSP), ses sinyali işleme, görüntü işleme, konuşma tanıma, örüntü tanıma, dijital filtreleme, spektral analiz vb.

Literatürde genellikle bu tür mikroişlemcilere denir. dijital sinyal işlemcileri(DSP) veya DSP (Dijital Sinyal İşlemcileri).

Bu sınıfın ilk işlemcileri 1970'lerin sonlarında ortaya çıktı. Bir yandan mobil kablosuz iletişimin yaygın gelişimi, sabit geniş bant iletişim sistemleri, tüketici ses ve video ekipmanlarında ve bilgisayar çevre birimlerinde dijital sinyal işlemenin kullanımı ve diğer yandan elektronik endüstrisinin muazzam ilerlemesi ile ilgili uygulama talepleri. , bugüne kadar DSP performansının saniyede yüz milyonlarca işleme çıkmasına ve fiyatın %90'dan fazla düşmesine ve en güçlü işlemciler için bile şu anda 20 doların altına düşmesine neden oldu. Düşük güç tüketimi (işlemcinin maksimum frekansında 1 W'tan az), tüketici elektroniğinden özel amaçlı yerleşik sistemlere kadar çeşitli gömülü cihazlarda yaygın olarak kullanılmasını sağlar.

Dijital sinyal işleme düzenli aralıklarla elde edilen bir dizi sinyal genlik değerlerinin aritmetik olarak işlenmesidir. Bu bilgiyi ayıran en önemli şey, mutlaka bellekte saklanmaması ve bu nedenle gelecekte kullanılamayacak olmasıdır. Bu nedenle, gerçek zamanlı olarak (RTW) işlenmesi gerekir.

DSP işlemcilerinin mimarisini büyük ölçüde belirleyen dijital sinyal işlemenin ana özellikleri şunları içerir:

    RWM'de büyük miktarda veri işlemenin akış niteliği;

    harici cihazlarla yoğun değişim imkanı sağlar.

Dijital sinyal işleme algoritmalarının verimli bir şekilde uygulanması için temel DSP işlemleri için donanım desteği gereklidir. Bu nedenle, önce DSP mimarisi üzerinde özel bir etkisi olan dijital sinyal işleme ilkelerini ele alalım.

Herhangi bir analog sinyal, genlik-zaman veya frekans-genlik gibi özellikler biçiminde temsil edilebilir. Bir temsil biçiminden diğerine geçmek için şunu kullanın: Fourier dönüşümü. Bu dönüşümü gerçekleştiren işlemler temel dijital sinyal işleme.

Fourier dönüşümü genel durumda, sürekli işlevi olan bir işi temsil eder. Sürekli Fourier dönüşümü teoride çalışmak için uygundur, ancak pratikte genellikle ayrık verilerle ilgileniriz. Ses ve video sinyallerinin bir bilgisayarda işlenmesi için öncelikle sayısal forma dönüştürülür ve belirli zaman aralıklarında (örnekleme periyodu) alınan belirli bir frekans ve genlik örnekleri seti olarak sunulur. Bu nedenle, burada integral hakkında değil, hakkında konuşmaya değer. ayrık Fourier dönüşümü(DFT).

Sonlu bir x 0 ,x 1 ,x 2 , ..., x N-1 (genel durumda karmaşık) sayı dizisi verilsin. Ayrık gj Fourier dönüşümü elemanları aşağıdaki formülle hesaplanan başka bir X 0 , X 1 , X 2 , ..., X N-1 dizisini aramaktır:

Genel durumda, Şekil 2'de gösterilen forma sahip olan harmonik salınım. 16.1, aşağıdaki ifadeyle tanımlanır:

Pirinç. 16.1. Harmonik salınımın genel görünümü

sinyalin dairesel frekansı nerede. Bu ifadeye harmonik denir.

Son ifadeyi forma çevirelim:

Her karmaşık sayı X k'yi ters Fourier dönüşümünün (16.2) ifadesinden hayali ve gerçek bileşenlere ve üssü - Euler formülüne göre gerçek argümanın sinüs ve kosinüsüne ayrıştırırız. Alırız:

Şimdi bir ses veya başka bir salınım olan x = f(t) fonksiyonunu düşünün. Bu dalgalanma bir zaman aralığında bir grafikle açıklansın (Şekil 16.2).

Bu sinyali bir bilgisayarda işlemek için onu örneklemeniz gerekir. Bu amaçla zaman aralığı N-1 kısımlara ayrılmıştır.

Pirinç. 16.2. Bir harmonik fonksiyonun ayrıklaştırılması

ve aralık sınırları üzerindeki N noktaları için x 0 ,x 1 ,x 2 , ..., x N-1 fonksiyonunun değerleri saklanır.

Sonuç olarak doğrudan ayrık Fourier dönüşümü X k için N değerleri (16.1)'e göre elde edilebilir.

şimdi başvurursak ters ayrık Fourier dönüşümü, ardından orijinal diziyi (x n ) alırsınız. Orijinal dizi gerçek sayılardan oluşuyordu ve dizi (X k ) genellikle karmaşıktır. Hayali kısmını sıfıra eşitlersek, şunu elde ederiz:

Bu formülü harmonikler için (16.4) ve (16.6) formülleriyle karşılaştırdığımızda, (16.8) ifadesinin farklı frekans, faz ve genliğe sahip N harmonik salınımının toplamı olduğunu görüyoruz. Fiziksel anlamı budur ayrık Fourier dönüşümü harmoniklerin bir toplamı olarak bazı ayrık sinyalleri temsil etmektir. Her harmoniğin parametreleri doğrudan Fourier dönüşümü ile hesaplanır ve harmoniklerin toplamı tersi ile hesaplanır.

Şimdi, örneğin, sinyalden belirli birinden daha yüksek tüm frekansları "kesen" "düşük geçişli filtre" işlemi, çıkarılması gereken frekanslara karşılık gelen katsayıları basitçe sıfırlayabilir. Daha sonra işlemden sonra ters dönüşüm gerçekleştirilir.

özellikler dijital sinyal işlemeÖzyinelemeli olmayan bir filtreleme algoritması örneğini düşünün. Bu algoritmayı uygulayan cihazın yapısı Şekil 1'de gösterilmektedir. 16.3.

Pirinç. 16.3.Özyinelemeli olmayan filtrenin şeması

İşlem, belirli bir T zaman aralığından sonra cihazın girişinde alınan son giriş örneklerinin x[k] N değerlerine dayalı olarak Y[k] çıkış sinyalinin üretilmesinden oluşur. Alınan okumalar dairesel tamponun hücrelerinde saklanır. Bir sonraki numune alındığında, tüm tampon hücrelerinin içeriği bitişik konuma yazılır, en eski numune tampondan ayrılır ve yenisi en alttaki hücreye yazılır.

Analitik olarak, özyinelemeli olmayan bir filtrenin çalışması için algoritma şu şekilde yazılır:

burada bir i - filtre tipi tarafından belirlenen katsayılar.

Tampon elemanlarının çıktılarından gelen okumalar, ikinci girdileri a i katsayılarını alan çarpanlara beslenir. Ürünlerin sonuçları eklenir ve çıkış sinyali sayısı Y[k]'yi oluşturur, ardından tampon içeriği 1 pozisyon kaydırılır ve filtre çalışma döngüsü tekrarlanır. Çıkış sinyali Y[k], bir sonraki giriş sinyali gelmeden önce, yani T aralığı için hesaplanmalıdır. Bu, cihazın gerçek zamanlı çalışmasının özüdür. t zaman aralığı, filtrenin kapsamı tarafından belirlenen örnekleme oranı ile verilir. Kotelnikov teoreminin doğal sonucuna göre, ayrı bir sinyalde, temsil edilebilir en yüksek frekansa karşılık gelen periyot, iki örnekleme periyoduna karşılık gelir. Bir ses sinyali işlenirken örnekleme frekansı 40 kHz olarak alınabilir. Bu durumda, 50. mertebeden bir dijital özyinelemeli olmayan filtre uygulamak gerekirse, o zaman 50 çarpma ve çarpma sonuçlarının 50 birikimi, 1/40 kHz = 25 µs'lik bir sürede gerçekleştirilmelidir. Video sinyali işleme için, bu eylemlerin gerçekleştirilmesi gereken zaman aralığı, birkaç büyüklük sırası daha küçük olacaktır.

Giriş dizisinin DFT'sini doğrudan, kesinlikle orijinal formüle göre yaparsanız, çok zaman alacaktır. Tanıma göre sayarak (N terimi toplamak için N kez), N 2 mertebesinde bir değer elde ederiz.

Ancak, önemli ölçüde daha az sayıda işlemle idare edebilirsiniz.

DFT'nin hızlandırılmış hesaplanması için algoritmaların en popüleri, N \u003d 2k numune sayısı için DFT'yi N * sırasına göre hesaplamanıza izin veren Cooley-Tukey yöntemidir (Cooley-Tukey). log 2 N (dolayısıyla adı - hızlı Fourier dönüşümü, FFT veya İngilizce FFT - Hızlı Fourier Dönüşümü). Bu yöntemin ana fikri, bir sayı dizisini özyinelemeli olarak iki alt diziye bölmek ve tüm diziden DFT'nin hesaplanmasını alt dizilerden DFT'nin ayrı ayrı hesaplanmasına indirgemektir. Bu durumda orijinal diziyi alt dizilere ayırma işlemi bit ters sıralama yöntemine (bit ters sıralama) göre gerçekleştirilir.

İlk olarak, girdi dizisi çift ve tek sayılarla iki alt diziye bölünür. Alt dizilerin her biri yeniden numaralandırılır ve tekrar çift ve tek sayılarla iki alt diziye bölünür. Bu sıralama, her bir alt dizinin boyutu 2 elemana ulaşana kadar devam eder. Sonuç olarak (matematiksel olarak gösterilebilir), ikili sistemdeki her orijinal öğenin sayısı çevrilir. Yani, örneğin, tek baytlı sayılar için, 00000011 ikili sayısı 110000000 sayısı, 01010101 sayısı 10101010 sayısı olacaktır.

N'nin keyfi bir asal sayının (sadece 2 değil) kuvveti olduğu durumlar için ve ayrıca N'nin herhangi bir sayıda örneğin asallarının kuvvetlerinin bir ürünü olduğu durumlar için FFT algoritmaları vardır. Ancak, N = 2k durumu için Cooley-Tukey yöntemi ile uygulanan FFT en yaygın kullanılanıdır. Bunun nedeni, bu yöntemle oluşturulan algoritmanın çok sayıda çok iyi teknolojik özelliklere sahip olmasıdır:

    algoritmanın yapısı ve temel işlemleri örnek sayısına bağlı değildir (yalnızca temel işlemin çalıştırma sayısı değişir);

    algoritma, temel işlem kullanılarak kolayca paralel hale getirilebilir ve ardışık düzenlenebilir ve ayrıca kolayca basamaklandırılabilir (2N numuneler için FFT katsayıları, iki FFT'nin katsayılarının N numuneye dönüştürülmesiyle elde edilebilir, orijinal 2N numunelerin bir tek üzerinden "inceltilmesi" ile elde edilir) ;

    algoritma basit ve kompakttır, "yerinde" veri işlemeye izin verir ve ek RAM gerektirmez.

Tek çipli mikro denetleyiciler ve hatta genel amaçlı mikroişlemciler, DSP'ye özgü işlemleri gerçekleştirirken nispeten yavaştır. Ek olarak, analog sinyallerin dönüştürülmesinin kalitesine ilişkin gereksinimler sürekli olarak artmaktadır. V sinyal mikroişlemcileri bu tür işlemler donanım düzeyinde desteklenir ve sırasıyla yeterince hızlı bir şekilde gerçekleştirilir. Gerçek zamanlı işlem, işlemcinin ayrıca kesme işleme, donanım düzeyinde yazılım döngüleri gibi eylemleri desteklemesini gerektirir.

Bütün bunlar, mimari olarak evrensel mikroişlemciler olarak birçok özelliği içeren DSP işlemcilerinin, özellikle de RISC mimarisi, ve tek çipli mikrodenetleyiciler, aynı zamanda onlardan önemli ölçüde farklıdır. Evrensel bir mikroişlemci, tamamen hesaplama işlemlerine ek olarak, tüm mikroişlemci sisteminin, özellikle bir bilgisayarın birleştirici bir bağlantısının işlevini yerine getirir.

Tutarlı çalışmalarını sağlamak için disk sürücüleri, grafik ekranlar, ağ arabirimi gibi çeşitli donanım bileşenlerinin çalışmasını yönetmelidir. Bu, tamsayı aritmetik ve kayan nokta işlemleriyle birlikte bellek koruması, çoklu programlama, vektör grafik işleme vb. gibi temel işlevleri desteklemesi gerektiğinden, oldukça karmaşık bir mimariye yol açar. Sonuç olarak, CISC'li tipik bir genel amaçlı mikroişlemci. ve genellikle RISC mimarisi, tüm bu işlevleri ve ilgili donanım desteğini sağlayan birkaç yüz talimattan oluşan bir sisteme sahiptir. Bu, böyle bir MP'de on milyonlarca transistöre sahip olma ihtiyacına yol açar.

Aynı zamanda DSP işlemci son derece özel bir cihazdır. Tek işi, bir dijital sinyal akışını hızlı bir şekilde işlemek. Öncelikle, büyük miktarda veriyi hızlı bir şekilde işlemek için optimize edilmiş yüksek hızlı aritmetik ve bit manipüle eden donanım devrelerinden oluşur. Bu nedenle, DSP komut seti, genel amaçlı bir mikroişlemcininkinden çok daha küçüktür: sayıları genellikle 80'i geçmez. Bu, DSP'nin hafif bir komut kod çözücü ve çok daha az sayıda çalıştırıcı gerektirdiği anlamına gelir. Ayrıca, tüm yürütme cihazlarının sonunda desteklemesi gerekir. yüksek performans Aritmetik işlemler. yani tipik DSP işlemci birkaç yüz binden fazla olmayan (ve modern CISC-MP'de olduğu gibi on milyonlarca değil) transistörden oluşur. Bu nedenle, bu tür MP'ler daha az güç tüketir ve bu da pille çalışan ürünlerde kullanılmalarını sağlar. Üretimleri son derece basitleştirilmiştir, bu nedenle ucuz cihazlarda uygulama bulurlar. Düşük güç tüketimi ve düşük maliyetin birleşimi, yalnızca üst düzey telekomünikasyonda değil, aynı zamanda cep telefonlarında ve robot oyuncaklarda da kullanılmalarını sağlar.

Ana not ediyoruz dijital sinyal işlemcilerinin mimari özellikleri:

    Harvard mimarisi, talimat belleği ve veri belleğinin fiziksel ve mantıksal olarak ayrılmasına dayanır. Tuş komutları DSP işlemciçok işlenendir ve çalışmalarını hızlandırmak, birkaç bellek hücresinin aynı anda okunmasını gerektirir. Buna göre çipin ayrı adres ve veri yolları vardır (bazı işlemci türlerinde birkaç adres ve veri yolu vardır). Bu, işlenenlerin eşzamanlı olarak alınmasına ve talimatların yürütülmesine izin verir. kullanım değiştirilmiş Harvard mimarisi işlenenlerin yalnızca veri belleğinde değil, programlarla birlikte komut belleğinde de saklanabileceğini varsayar. Örneğin, dijital filtrelerin uygulanması durumunda, katsayılar program belleğinde ve veri değerleri veri belleğinde saklanabilir. Bu nedenle, katsayı ve veriler bir makine çevriminde seçilebilir. Aynı makine döngüsünde bir talimatın getirilmesini sağlamak için ya program önbelleği kullanılır ya da makine döngüsü sırasında program belleğine iki kez erişilir.

    Dijital sinyal işlemenin ana işlemlerinden birinin yürütme süresini azaltmak için - çarpma - bir donanım çarpanı kullanılır. Genel amaçlı işlemcilerde bu işlem birkaç vardiya ve ekleme döngüsünde gerçekleştirilir ve çok zaman alır ve DSP işlemcilerözel bir çarpan sayesinde sadece bir döngü gereklidir. Yerleşik donanım çarpma devresi, temel DSP işlemini 1 döngüde gerçekleştirmenizi sağlar - birikim ile çarpma(MultIPly-Accumulate - MAC) 16 ve/veya 32 bit işlenenler için.

    Dairesel arabellekler için donanım desteği. Örneğin, Şekil 2'de gösterilen filtre için. 16.3, çıkış örneği her hesaplandığında, en eskisinin yerine bellekte saklanan yeni bir giriş sinyali örneği kullanılır. Böyle bir dolaşım tamponu için sabit bir RAM alanı kullanılabilir. Bu durumda, hesaplamalar sırasında, şu anda hangi işlemin - yazma veya okuma - gerçekleştirildiğine bakılmaksızın, yalnızca RAM adreslerinin sıralı değerleri oluşturulur. Döngüsel arabelleklerin donanım uygulaması, programdaki arabellek parametrelerini (başlangıç ​​adresi, uzunluk) filtreleme döngüsünün gövdesi dışında ayarlamanıza izin verir, bu da programın döngüsel bölümünün yürütme süresini azaltmanıza olanak tanır.

    Komut döngüsünün süresini azaltmak. Bu, büyük ölçüde RISC işlemcilerine özgü tekniklerle sağlanır. Bunların başında, çoğu talimatın işlenenlerinin kayıtlara yerleştirilmesi ve ayrıca talimatlar ve mikro talimatlar düzeyinde boru hattı oluşturulması yer alır. Boru hattı, 2 ila 10 aşamaya sahiptir ve bu, çeşitli yürütme aşamalarında aynı anda 10'a kadar komutun işlenmesine izin verir. Bu, aritmetik işlemlerin yürütülmesine paralel olarak kayıt adreslerinin oluşturulmasını ve ayrıca çok bağlantı noktalı bellek erişimini kullanır. Bu aynı zamanda evrensel mikroişlemcilerin özelliği olan böyle bir tekniği de içerir. EPIC mimarisi, program derleme aşamasında oluşturulan çok uzun kelime uzunluğu (VLIW) talimatlarının kullanımı olarak. Bu aynı zamanda yukarıdakiler için de geçerlidir. Harvard mimarisi işlemci, tek çipli mikrodenetleyicilerin özelliği.

    DSP'leri tek çipli MK'lerle ilişkilendiren çip üzerinde dahili bir bellek işlemcisinin varlığı. İşlemcide yerleşik olan bellek genellikle harici bellekten çok daha hızlıdır. Yerleşik belleğin varlığı, sistemi bir bütün olarak önemli ölçüde basitleştirebilir, boyutunu, güç tüketimini ve maliyetini azaltabilir. Dahili bellek kapasitesi, belirli bir uzlaşmanın sonucudur. Artışı, işlemcinin maliyetinde bir artışa yol açar ve güç tüketimini artırır ve program belleğinin sınırlı kapasitesi, karmaşık algoritmaların depolanmasına izin vermez. Sabit noktalı DSP'lerin çoğu, tipik olarak 4 ila 256 KB arasında küçük dahili belleğe ve işlemciyi harici belleğe bağlayan küçük harici veri yollarına sahiptir. Aynı zamanda, kayan noktalı DSP'ler genellikle büyük veri dizileri ve karmaşık algoritmalarla çalışır ve harici belleği (ve bazen her ikisini de) bağlamak için yüksek kapasiteli yerleşik belleğe veya büyük adres yollarına sahiptir.

    Aşağıdakiler dahil olmak üzere harici cihazlarla donanım etkileşimi için geniş fırsatlar:

    CAN endüstriyel LAN denetleyicileri, yerleşik iletişim (SCI) ve çevresel (SPI) arabirimleri, I2C, UART dahil olmak üzere çok çeşitli arabirimler;

    analog sinyaller için birkaç giriş ve buna bağlı olarak yerleşik bir ADC;

    darbe genişlik modülasyonunun (PWM) çıkış kanalları;

    gelişmiş harici kesinti sistemi;

    doğrudan bellek erişim denetleyicileri.

Bazı DSP aileleri, performansı artırmak için paralel veri işleme ile çok işlemcili sistemler oluşturmayı kolaylaştıran özel donanım sağlar.

DSP işlemciler, güç tüketiminin ana özellik olduğu mobil cihazlarda yaygın olarak kullanılmaktadır. Sinyal işlemcileri, besleme voltajını düşürmek ve saat hızını dinamik olarak değiştirmek, uyku veya bekleme moduna geçmek veya şu anda kullanılmayan çevre birimlerini kapatmak gibi güç yönetimi özelliklerini tanıtmak dahil olmak üzere güç tüketimini azaltmak için çeşitli teknikler kullanır. Bu önlemlerin işlemcinin hızı üzerinde önemli bir etkisi olduğu ve yanlış kullanılması durumunda tasarlanan cihazın çalışmazlığına yol açabileceği unutulmamalıdır (örnek olarak, bazen açılmayı durduran bazı cep telefonlarından bahsedilebilir). güç yönetimi programlarındaki hataların bir sonucu) veya çalışma özelliklerinde bir bozulma (örneğin, uyku modundan çıkarken önemli bir kurtarma süresi).

Sinyal işlemcilerinin komut sistemi evrensel mikroişlemcilerin (özellikle RISC mimarisi ile) ve tek çipli mikrodenetleyicilerin komut sistemlerinin birçok özelliğine sahiptir. Temel aritmetik ve mantıksal işlemleri ve geçiş komutlarını içerir, ancak evrensel MP'lerden daha az miktarda. İşlenen adresleme modlarının sayısı da nispeten azdır. Komutun basit, iyi tanımlanmış bir formatı vardır. Komut uzunluğu bir, nadiren iki 16 bitlik kelimedir. Bununla birlikte, azaltılmış bir talimat setinin kullanılmasıyla birlikte, DSP işlemcileri ayrıca minimum ve maksimumu bulma, mutlak değeri elde etme, doygunluk ile toplama, ki, iki sayı eklenirken taşma olması durumunda, sonuca belirli bir bit ızgarasında mümkün olan maksimum değer atanır. Bu, boru hattındaki çakışmaların sayısında bir azalmaya yol açar ve işlemcinin verimliliğini artırır.

Öte yandan, DSP'ler, uygulamalarının özelliklerinden kaynaklanan ve sonuç olarak, diğer türlerdeki mikroişlemcilerde nadiren bulunan bir dizi talimat içerir. Her şeyden önce, elbette, bu DSP'nin temeli olan MAC toplamının birikimi ile çarpma talimatıdır: A \u003d B * C + A. Bazı sinyal işlemcilerin komut sistemlerinde, bu komutun bir döngüdeki yürütme sayısını ve programlama sırasında B ve C işlenenlerini adreslemek için indeks değiştirme kurallarını belirtmek mümkündür.Bu durumda, geleneksel işlemcilerin tekrar talimatlarının aksine. , sinyal işlemcisi, döngü sonlandırma koşulunun donanım kontrolünü destekleyebilir. Bu aynı zamanda, bir sonraki döngüde çarpma hazırlamak için dairesel bir tamponun çalışmasını destekleyen bitişik veri RAM hücresine kaydırma (yeniden yazma) komutlarını da içerir.

FFT algoritmalarını verimli bir şekilde uygulamak için, bazı DSP işlemcileri, talimat setinde adres biti ters çevirmeli adresleme yetenekleri içerir.

Bu sınıfın programlama mikroişlemcilerinin de kendine has özellikleri vardır. Genellikle yüksek seviyeli dillerin kullanımıyla ilişkilendirilen önemli geliştirici kolaylığı, çoğu durumda daha az kompakt ve daha hızlı kod ile sonuçlanır. DSP'nin özellikleri gerçek zamanlı çalışmayı içerdiğinden, bu aynı sorunları çözmek için daha güçlü ve pahalı DSP'lerin kullanılması ihtiyacına yol açar. Bu durum, daha güçlü bir DSP veya ek bir işlemcinin maliyet farkının önemli bir rol oynadığı yüksek hacimli ürünler için özellikle kritiktir. Aynı zamanda, modern koşullarda, geliştirme hızı (ve dolayısıyla yeni bir ürünün piyasaya sürülmesi), assembler'da bir program yazarken kod optimizasyonu için harcanan zamandan daha fazla fayda sağlayabilir.

Buradaki bir uzlaşma yaklaşımı, programın en kritik ve kaynak yoğun kısımlarını yazmak için assembler kullanmaktır, programın ana kısmı ise genellikle C veya C++ gibi yüksek seviyeli bir dilde yazılır.

Bu makale, TMS320C6678 çok çekirdekli dijital sinyal işlemcilerine ayrılmış bir dizi yayını açar. Makale, işlemci mimarisi hakkında genel bir fikir vermektedir. Makale, Ryazan Devlet Radyo Mühendisliği Üniversitesi'nde düzenlenen "Texas Instruments'tan çok çekirdekli dijital sinyal işlemcileri C66x" programı için ileri eğitim kurslarının bir parçası olarak öğrencilere sunulan dersi ve pratik materyali yansıtmaktadır.

TMS320C66xx dijital sinyal işlemcileri, KeyStone mimarisine dayalıdır ve hem sabit hem de kayan noktada çalışan yüksek performanslı çok çekirdekli sinyal işlemcileridir. KeyStone mimarisi, Texas Instruments tarafından geliştirilen ve yeterli bant genişliğine sahip çok sayıda DSP ve RISC tipi çekirdeğin, hızlandırıcının ve çevresel cihazların verimli bir şekilde ortak çalışmasının organize edilmesini sağlayan çok çekirdekli bir çip üzerinde sistemler üretme ilkesidir. donanım bileşenlerine dayalı dahili ve harici veri aktarım kanalları: Çok Çekirdekli Navigatör (dahili arayüzler için veri değişim denetleyicisi), TeraNet (dahili veri aktarım yolu), Çok Çekirdekli Paylaşılan Bellek Denetleyicisi (paylaşılan bellek erişim denetleyicisi) ve HyperLink (harici cihazlarla arayüz çip hızında).

TMS320C66xx ailesindeki en yüksek performanslı işlemci olan TMS320C6678 işlemcinin mimarisi Şekil 1'de gösterilmektedir. Mimari aşağıdaki ana bileşenlere ayrılabilir:

  • işletim çekirdeği seti (CorePack);
  • paylaşılan dahili ve harici bellekle çalışmak için alt sistem (Bellek Alt Sistemi);
  • çevre birimleri;
  • ağ yardımcı işlemcisi (Ağ Yardımcı İşlemcisi);
  • dahili yönlendirme denetleyicisi (Multicore Navigator);
  • servis donanım modülleri ve TeraNet dahili veri yolu.

Resim 1. Genel işlemci mimarisi TMS320C6678

TMS320C6678 işlemci, 1,25 GHz saat frekansında çalışır. İşlemci, sayısı ve bileşimi belirli işlemci modeline bağlı olan bir dizi C66x CorePack işletim çekirdeğine dayanır. TMS320C6678 DSP, 8 DSP tipi çekirdek içerir. Çekirdek, temel bir bilgi işlem öğesidir ve bilgi işlem birimlerini, kayıt kümelerini, bir program makinesini, programı ve veri belleğini içerir. Çekirdeğin bir parçası olan belleğe yerel bellek denir.

Yerel belleğe ek olarak, tüm çekirdekler tarafından paylaşılan bellek vardır - çok çekirdekli bir işlemcinin paylaşılan belleği (Çok Çekirdekli Paylaşılan Bellek - MSM). Paylaşılan belleğe, işlemci ve harici bellek yongaları arasında veri alışverişi için bir EMIF harici bellek arabirimi de içeren Bellek Alt Sistemi aracılığıyla erişilir.

Ağ yardımcı işlemcisi, bu alan için donanıma özgü veri işleme görevlerini uygulayarak çeşitli telekomünikasyon cihazlarının bir parçası olarak işlemcinin verimliliğini artırır. Yardımcı işlemci, Packet Accelerator ve Security Accelerator'ı temel alır. İşlemci belirtimi, bu hızlandırıcılar tarafından desteklenen protokoller ve standartlar kümesini listeler.

Çevre birimleri şunları içerir:

  • Seri RapidIO (SRIO) sürüm 2.1 - hat sayısı (kanallar) ile hat başına 5 GBaud'a kadar veri aktarım hızı sağlar - 4'e kadar;
  • PCI Express (PCIe) Gen2 sürümleri - hat sayısı (kanal) ile hat başına 5 GBaud'a kadar veri aktarım hızı sağlar - 2'ye kadar;
  • hiperbağ– KeyStone mimarisine göre oluşturulmuş işlemcileri doğrudan birbirleriyle değiştirmeye ve çip üzerinde bir hızda değiş tokuş etmeye izin veren dahili bir veri yolu arayüzü; veri aktarım hızı - 50 Gbaud'a kadar;
  • Gigabit Ethernet (GbE) aktarım hızları sağlar: 10/100/1000 Mbps ve bir donanım ağı iletişim hızlandırıcısı (ağ yardımcı işlemcisi) tarafından desteklenir;
  • EMIF DDR3– DDR3 harici bellek arayüzü; 64 bit veri yolu genişliğine sahiptir ve 8 GB'a kadar adreslenebilir bellek alanı sağlar;
  • EMIF– genel amaçlı harici bellek arayüzü; 16 bit veri yolu genişliğine sahiptir ve 256MB NAND Flash veya 16MB NOR Flash bağlamak için kullanılabilir;
  • TSIP (Telekom Seri Bağlantı Noktaları)– telekomünikasyon seri bağlantı noktası; 8 hatta kadar hat başına 8 Mbps'ye kadar iletim hızları sağlar;
  • UART– evrensel asenkron seri bağlantı noktası;
  • I2C– dahili iletişim veriyolu;
  • GPIO– genel amaçlı I/O – 16 pin;
  • SPI– evrensel seri arayüz;
  • zamanlayıcılar- periyodik olaylar oluşturmak için kullanılır.
Servis donanım modülleri şunları içerir:
  • hata ayıklama ve izleme modülü (Hata Ayıklama ve İzleme)– hata ayıklama araçlarının çalışan bir işlemcinin dahili kaynaklarına erişmesine izin verir;
  • önyükleme ROM'u (önyükleme ROM'u) - önyükleme programını saklar;
  • donanım semaforu- ortak işlemci kaynaklarına paralel süreçlerin ortak erişiminin organizasyonunun donanım desteğine hizmet eder;
  • güç yönetimi modülü- işlemcinin tam kapasitede çalışmadığı zamanlarda güç tüketimini en aza indirmek için işlemci bileşenlerinin güç modlarının dinamik kontrolünü uygular;
  • PLL– harici referans saat sinyalinden işlemcinin dahili saat frekanslarını oluşturur;
  • doğrudan bellek erişimi (EDMA) denetleyicisi– veri aktarımı sürecini yönetir, DSP'nin işletim çekirdeklerini boşaltır ve Multicore Navigator'a alternatif olur.
Dahili Aktarım Denetleyicisi (Multicore Navigator), çeşitli işlemci bileşenleri arasındaki veri aktarımlarını yönetmekten sorumlu güçlü ve verimli bir donanım modülüdür. Çip üzerinde çok çekirdekli sistemler TMS320C66xx çok karmaşık cihazlardır ve böyle bir cihazın tüm bileşenleri arasında bilgi alışverişini düzenlemek için özel bir donanım birimi gereklidir. Multicore Navigator, çekirdeklerin, çevre birimlerin, ana cihazların veri alışverişinin kontrolünü devralmamasını sağlar. Bir işlemci bileşeninin başka bir bileşene bir dizi veri göndermesi gerektiğinde, denetleyiciye neyi nereye göndereceğini söyler. Transferin kendisi ve gönderici ile alıcının senkronizasyonu için tüm fonksiyonlar Multicore Navigator tarafından üstlenilir.

TeraNet dahili veri yolu, çok çekirdekli TMS320C66xх işlemcinin tüm çok sayıda işlemci bileşeni ve ayrıca harici modüller arasında yüksek hızlı veri alışverişi açısından işleyişi için temel görevi görür.

Bir sonraki yazıda C66x işletim çekirdeğinin mimarisi detaylı olarak ele alınacaktır.

1. Çok Çekirdekli Programlama Kılavuzu / SPRAB27B - Ağustos 2012;
2. TMS320C6678 Çok Çekirdekli Sabit ve Kayan Noktalı Dijital Sinyal İşlemci Veri Kılavuzu / SPRS691C - Şubat 2012.


"Bilimsel ve teknik makaleler"- derleme bilimsel ve teknik makaleler elektronik temalar: yenilikler elektronik parçalar, radyo mühendisliği ve elektronik alanındaki bilimsel gelişmeler, nesneüzerinde hikayeler radyo mühendisliği ve elektroniğin gelişimi, yeni teknolojiler ve yapım yöntemleri ve gelişim elektronik cihazlar, umut verici teknolojiler radyo mühendisliği ve elektroniğin tüm alanlarının geleceği, yönleri ve gelişim dinamikleri, sergi incelemeleri elektronik konular.

Makale, dijital sinyal işlemcilerinin (DSP) ana parametrelerini ve bunların uygun bir çip seçimi üzerindeki etkilerini tartışıyor ve ayrıca DSP pazarının mevcut durumunu açıklıyor.

Ayakkabı seçerken modaya uygun, rahat ve kaliteli olmalarını istiyoruz, bu nedenle tanınmış markaları, zaten iyi bilinen ve pazardaki son yerlerden çok uzakta olan şirketleri tercih ediyoruz. Şimdi karar vermemiz gerekiyor: neden bu ayakkabılara ihtiyacımız var? Bir sabah koşusu için, sonuçta spor ayakkabı ve kurumsal bir akşam için ayakkabı satın almak daha iyidir. Dağlarda ne giyilir? Bu durumda, sert tabanlı vibramlara sahip özel güçlü ayakkabılara ihtiyacınız var. DSP'nin nesi var? Dijital sinyal işlemcisi seçerken mevcut DSP pazarını temsil etmek, ana üreticileri ve oluşturdukları işlemcilerin geliştirme yönlerini bilmek fena olmazdı.

DSP işlemcileri, dijital sinyal işleme - sayısallaştırılmış sinyaller üzerinde matematiksel manipülasyonlar yapmak üzere tasarlanmıştır. Kablosuz sistemlerde, ses ve video işlemede, kontrol sistemlerinde yaygın olarak kullanılırlar. DSP'leri kullanan uygulamaların sayısındaki artış ve işleme algoritmalarının karmaşıklığı ile, performansı artırma ve arabirim ve diğer özel düğümlerle donatma açısından bunlara yönelik gereksinimler de artmaktadır. Bugüne kadar, hem evrensel hem de oldukça dar bir görev yelpazesine odaklanan birçok DSP türü ortaya çıktı.

Tablo 1. Başlıca DSP üreticileri ve pazar payları

Pazar lideri şirketler Şirket Adı DSP pazar payı
1 Texas Instruments 54,3%
2 Serbest Ölçekli Yarı İletken 14,1%
3 Analog cihazlar 8,0%
4 Philips Yarı İletkenler 7,5%
5 Agere Sistemleri 7,3%
6 Toshiba 4,9%
7 DSP Grubu 2,2%
8 NEC Elektronik 0,6%
9 Fujitsu 0,4%
10 intersil 0,3%

Diğer şirketler 0,5%

Toplam 100,0%

Doğal olarak, işlemcilerin hiçbiri tüm uygulamalar için uygun olmayabilir. Bu nedenle geliştiricinin ilk görevi performans, fiyat, belirli çevre birimlerinin bulunabilirliği, güç tüketimi, kullanım kolaylığı ve diğer kriterler açısından en uygun işlemciyi seçmektir.

Örneğin, cep telefonları, taşınabilir dijital oynatıcılar gibi taşınabilir aygıtlar için maliyet, entegrasyon derecesi ve güç tüketimi çok önemlidir ve maksimum performansa genellikle ihtiyaç duyulmaz (çünkü genellikle işlemede avantaj sağlamadan güç tüketiminde önemli bir artışa neden olur). nispeten düşük bit hızlı ses verileri). Aynı zamanda, hidroakustik veya radar sistemleri için belirleyici parametreler çalışma hızı, yüksek hızlı arayüzlerin mevcudiyeti ve uygun bir geliştirme sistemidir ve maliyet ikincil bir kriterdir.

Ek olarak, çoğu durumda işlemci tedarikçisinin o zamandan beri pazarda işgal ettiği yeri hesaba katmak mantıklıdır. tüm üreticiler size tüm ihtiyaçlarınızı karşılayan bir dizi işlemci sağlayamaz. Pazarın önde gelen tedarikçiler arasındaki mevcut dağılımı (bkz. Tablo 1), listenin başındaki 4 şirketin dünyada kullanılan tüm DSP'lerin %80'inden fazlasını tedarik ettiğini göstermektedir. Rusya pazarında en iyi bilinen bu şirketler ve ürünlerinden sıklıkla dergimizde bahsediliyor, örneğin Texas Instruments tarafından üretilen DSP'nin ana özellikleri ? Analog Cihazlar #7 2005 ve #1 2006'da ele alındı.

DSP üreticilerinin yeni mikro devreler tasarlarken bunları çeşitli uygulamalarda kullanım için oldukça net bir şekilde konumlandırdıkları unutulmamalıdır. Bunun mimarileri ve performansları üzerinde ve işlemcinin bir veya daha fazla çevresel modül seti ile donatılması üzerinde etkisi vardır. Tablo 2, DSP'lerin yaratıcılarının bakış açısından konumlandırılmasını göstermektedir.

Tablo 2. Farklı üreticilerin sinyal işlemci ailelerinin uygulamaları

Video işleme, video gözetimi, dijital kameralar, 3D grafikler TMS320DM64x/DaVinci, TMS320C64xx, TMS320C62xx (TI), PNX1300, PNX1500, PNX1700 (Philips), MPC52xx (Serbest Ölçekli)
Ses işleme, konuşma tanıma, ses sentezi TMS320C62xx, TMS320C67xx (TI), SHARC (Analog Cihazlar)
Taşınabilir medya cihazları TMS320C54xx, TMS320C55xx (TI), Blackfin (Analog Cihazlar)
Kablosuz, telekomünikasyon, modemler, ağ cihazları TMS320C64xx, TMS320C54xx, TMS320C55xx (TI), MPC7xxx, MPC86xx, MPC8xx PowerQUICC I, MPC82xx PowerQUICC II, MPC83xx PowerQUICC II Pro, MPC85xx PowerQUICC III (Serbest Ölçek), Blackfin, TigerSHARC (Analog Cihazlar), PNX1300 (Philips)
Sürücü kontrolü, güç dönüştürme, otomotiv elektroniği, ev eşyaları, ofis ekipmanları TMS320C28xx, TMS320C24xx (TI), ADSP-21xx (Analog Cihazlar), MPC55xx, MPC55xx (Serbest Ölçekli)
Tıp, biyometri, ölçüm sistemleri TMS320C62xx, TMS320C67xx, TMS320C55xx, TMS320C28xx (TI), TigerSHARC, SHARC (Analog Cihazlar)

Veri formatı ve bit derinliği

Dijital sinyal işlemcilerinin temel özelliklerinden biri, işlenen verinin formatıdır.

Tüm DSP'ler, tamsayıların 16 veya 32 bit genişliğinde ve kayan nokta bitlerinin 32 olduğu tamsayılarla veya kayan noktalı sayılarla çalışır. Bir veri biçimi seçerken aşağıdakileri aklınızda bulundurun: Tamsayı verili (veya sabit noktalı veri) DSP'ler, genellikle daha ucuzdur ve eşit bit derinliği ile daha yüksek mutlak doğruluk sağlar (çünkü 32 bit sabit noktalı işlemcide tüm 32 bit mantise atanır ve kayan noktalı işlemcide yalnızca 24). Aynı zamanda, işlemcilerin bozulma olmadan çalışabileceği dinamik sinyal aralığı, sabit noktalı işlemciler için (birkaç büyüklük sırası ile) çok daha dardır. Nispeten basit işleme algoritmaları ile bu önemli olmayabilir, çünkü Gerçek giriş sinyallerinin dinamik aralığı genellikle DSP'nin izin verdiğinden daha azdır, ancak bazı durumlarda program yürütme sırasında taşma hataları meydana gelebilir. Bu, analog devrelerdeki kırpmadan kaynaklanan bozulmaya benzer şekilde, çıkış sinyalinin temelde kaçınılmaz doğrusal olmayan bozulmasına yol açar.

Bu nedenle, bir DSP seçerken, doğru bit derinliği ve aritmetik türü seçimi için işleme algoritmasını ve giriş sinyallerini dikkatlice analiz etmek gerekir. Bazen, uygun bir kayan nokta işlemcisi seçmek mümkün değilse (yüksek maliyeti veya güç tüketimi nedeniyle), sabit noktalı bir DSP ve dinamik işlenmiş sinyallerin (sıkıştırma) aralığının sıkıştırılması kullanılır, ancak bu bir artışa yol açar. sinyal işleme algoritmasının karmaşıklığında ve performans gereksinimlerini artırır. Elbette, tamsayı aritmetiği olan bir işlemcide kayan nokta işlemlerini taklit edebilir veya çift basamaklı sayıları işlemeye geçebilirsiniz, ancak bu aynı zamanda programı büyük ölçüde karmaşıklaştırır ve performansı önemli ölçüde azaltır.

Tüm sınırlamalara rağmen, çoğu gömülü uygulama, daha düşük maliyet ve güç tüketimi nedeniyle sabit noktalı işlemciler kullanır.

Bit sayısını artırmak, gerekli harici bellek miktarının yanı sıra maliyeti, kalıp boyutunu ve gereken işlemci pin sayısını artırır. Bu nedenle geliştiriciler, mümkün olan en düşük bit derinliğine sahip bir kristal kullanma eğilimindedir.

Verinin bit derinliğinin ve işlemci komutlarının bit uzunluğunun her zaman eşdeğer olmadığını belirtmekte fayda var.

Hız

Bir işlemci seçerken anahtar parametre hızdır. Giriş sinyalinin işlem süresini etkiler ve bu nedenle maksimum frekansını belirler. En yaygın geliştirici hatalarından biri, çoğu durumda yanlış olan saat frekansı ve performansının belirlenmesidir.

Çok sık olarak, DSP'nin hızı MIPS (saniyede milyonlarca talimat) olarak belirtilir. Bu en kolay ölçülen parametredir.

Ancak, farklı DSP'lerin hızlarını karşılaştırma sorunu, işlemcilerin farklı komut sistemlerine sahip olması ve farklı işlemcilerin aynı algoritmayı yürütmek için farklı sayıda bu komutları gerektirmesidir. Ek olarak, bazen tek bir işlemci, farklı talimatları yürütmek için farklı sayıda saat döngüsü gerektirir. Sonuç olarak, 1000 MIPS hızına sahip bir işlemci, özellikle farklı bit derinliklerine sahip 300 MIPS hızına sahip bir işlemciden birkaç kat daha yavaş olabilir.

Bu soruna bir çözüm, işlemcileri, çoklu biriktirme (MAC) işlemleri gibi belirli işlemlerin gerçekleştirilme hızına göre karşılaştırmaktır. Bu tür işlemlerin hızı, dijital filtreleme, korelasyon ve Fourier dönüşümlerini kullanan algoritmalar için kritik öneme sahiptir. Ne yazık ki, böyle bir tahmin, işlemcinin gerçek hızı hakkında da tam bilgi sağlamaz.

En doğru olanı, belirli algoritmaların yürütme hızının tahminidir - örneğin, FIR ve IIR filtreleme, ancak bu, uygun programların geliştirilmesini ve test sonuçlarının kapsamlı bir analizini gerektirir.

Pirinç. 1 Farklı üreticilerin modern DSP'lerinin hız karşılaştırması

İşlemcilerin hız da dahil olmak üzere temel özellikleri açısından analizi ve karşılaştırması yapan şirketler var. Bu tür şirketler arasında lider, BDTI - Berkeley Design Technology, Inc. (www.bdti.com). Örnek olarak, Şekil 1, farklı üreticilerin modern DSP'lerinin hız karşılaştırmasını göstermektedir.

Dijital Sinyal İşlemci

DSP (D dijital S sinyal P işlemci) (İngilizce'den çevrilmiştir, bir dijital sinyal işlemcisi (DSP) anlamına gelir veya aynı zamanda, mimarisi dijital sinyal işlemenin operasyonel ihtiyaçları için optimize edilmiş bir sinyal mikroişlemcisi (SMP) olarak adlandırılır) - özelliği olan özel bir mikroişlemci büyük miktarda veriyi gerçek zamanlı olarak işleyen ve genellikle diğer harici cihazlarla yoğun veri alışverişi yapan bir akış karakteri. (Sayılarla temsil edilen sinyalleri, genellikle gerçek zamanlı olarak dönüştürmek için gereklidir).

Gerçek zamanlı ölçek(gerçek zamanlı çalışma, Gerçek Zamanlı Ölçek) - bu, verilerin kayıt ve aritmetik işlenmesinin (ve gerekirse analiz, görselleştirme, kaydetme, sistematizasyon, sentez ve iletişim kanalları üzerinden iletim) yapıldığı cihazın bir çalışma modudur. kaynağından gelen bilgi kaybı olmadan gerçekleştirilir.

Açıklama

DSP'nin Amacı

Bir DSP'nin amacı, sürekli, gerçek dünya analog sinyallerini tipik olarak ölçmek, filtrelemek ve/veya sıkıştırmaktır. Çoğu genel amaçlı mikroişlemci, dijital sinyal işleme algoritmalarını da başarılı bir şekilde yürütebilir, ancak özel bir DSP genellikle daha iyi bir verimlilik derecesine sahiptir, bu nedenle güç tüketimi sınırlamaları nedeniyle cep telefonları gibi taşınabilir cihazlarda daha uygundurlar. DSP genellikle aynı anda birden fazla veri ve/veya talimat getirebilen özel bir bellek mimarisi kullanır.

Tipik dijital işleme sistemi

dijital işleme

Dijital sinyal işleme algoritmaları, tipik olarak, çok sayıda veri örneği üzerinde hızlı ve yinelemeli olarak gerçekleştirilecek çok sayıda matematiksel işlemi gerektirir. Sinyaller (belki ses veya videodan) sürekli olarak analogdan dijitale dönüştürülür, dijital biçimde kullanılır ve sonra tekrar analoga dönüştürülür. Birçok DSP uygulamasının gecikme sınırları vardır; şunlar. sistemin çalışması için DSP işleminin belirli bir zamanda tamamlanması gerekir ve gecikmeli işleme uygun değildir.

DSP'nin Avantajları

Çoğu genel amaçlı mikroişlemci ve işletim sistemi, DSP algoritmalarını başarıyla yürütebilir, ancak güç verimliliği sınırlamaları nedeniyle cep telefonları gibi taşınabilir cihazlarda kullanım için uygun değildir. Ancak özel bir dijital sinyal işlemcisi, daha iyi performans, daha düşük gecikme süresi ve özel soğutmaya veya büyük pillere ihtiyaç duymadan daha düşük maliyetli bir çözüm sağlama eğilimindedir.

Mimari

Dijital sinyal işlemcisinin mimarisi, özellikle dijital sinyal işleme için optimize edilmiştir. Bir uygulama işlemcisi veya bir mikro denetleyici gibi bazı işlevler de en çok desteklenir, çünkü sinyal işleme nadiren bir sistemin tek görevidir. DSP algoritmalarını optimize etmek için bazı yararlı özellikler aşağıda özetlenmiştir.

Mimari ve özellikleri

DSP mimarisi, genel amaçlı mikroişlemcilerin aksine bir takım özelliklere sahiptir. Dijital sinyal işlemede (sinyal arama, Fourier dönüşümü vb.) aynı tür görevlerin maksimum hızlandırılmasından oluşur. Matematikte bu tür problemler "böl ve yönet" kuralına göre daha basit problemlere indirgenir. Bizim durumumuzda, bu tür bir alt problem, gerçek sayıların çok bileşenli vektörlerinin elemanlarının eleman bazında ürünüdür (bunlar, sonlu veya sonsuz (periyodik veya periyodik olmayan) ondalık kesir olarak yazılabilen sayılardır.) ve sonraki toplamadır. ürünün sonuçlarından.

Buna dayanarak, işlemciler belirli işlemler için özel olarak optimize edilmiştir (bizim durumumuzda çarpma ve toplama için). Sonuç olarak, performans ve hız artar. Her şeyden önce, DSP'ler, çoğaltılan dizi öğelerinin adreslerinin çok hızlı bir şekilde hesaplanmasıyla çoklu çarpmaya yöneliktir:

  1. "Birikimli çarpma" (genellikle donanımda uygulanır ve bir makine döngüsünde gerçekleştirilir) (M = M + X × Y), burada M, X ve Y, dizi öğelerinin adreslerinin otomatik olarak hesaplanmasıyla gerçek dizilerin öğeleridir. (MAC)
  2. Belirli bir komut dizisinin tekrarlanan tekrarının donanım uygulaması.
  3. Biriktirme ile hızlı çarpma için eşzamanlı (bir makine döngüsünde) talimat seçimi ve iki işlem argümanı için birden çok DSP bellek erişim bağlantı noktası kullanma.
  4. Adres dizisi üreteçlerini kullanarak vektör-boru hattı işleme yeteneği.

Ancak mimari, ilk DSP'lerin sınırlı donanım kaynakları nedeniyle değişti. Bellek bağımsız bölümlere ayrıldı, komutların deterministik çalışması (yürütme süresi biliniyor), küçük boru hattı nedeniyle gerçek zamanlı iş planlamasına yol açtı, yetkisiz geçişler evrenselden çok daha hızlı gerçekleşir, nadir bir kayıt seti ve Talimatlar.

Yazılım mimarisi

Genel amaçlı işlemcilerin standartlarına göre, DSP talimat sistemleri genellikle yanlıştır. Yazılım mimarisi için bir çıkarım, temel algoritmaları işlemek için gelişmiş derleyici teknolojilerine güvenmek yerine, elle optimize edilmiş derleme kodu rutinlerinin tipik olarak yeniden kullanım için kitaplıklarda paketlenmesidir.

Dijital sinyal işlemcileri bazen donanımı basitleştirmek ve kodlama verimliliğini çoğaltmak için zamana bağlı kodlama kullanır. Birden çok aritmetik birim, bellek mimarisinin komut döngüsü başına birden çok yürütmeyi desteklemesini gerektirebilir. Komut çağırma veya çıkış testi için herhangi bir ek yük olmaksızın, çok sert bir döngüde birden çok komut sözcüğünü yürütmek için mimari destek gibi özel döngü kontrolleri.

donanım mimarisi

bellek mimarisi

DSP genellikle veri akışı için optimize edilmiştir ve ayrı program ve veri bellekleri (hatta bazen paralel) kullanan Harvard veya değiştirilmiş von Neumann mimarileri gibi aynı anda birden fazla veri ve/veya talimatı getirebilen özel bir bellek mimarisi kullanır. birden fazla otobüse erişim). veri).

DSP bazen önbellek hiyerarşilerinden ve ilgili gecikmelerden haberdar olmak için kod desteğine güvenebilir. Bu, daha iyi performans sağlayan bir uzlaşmadır. Ayrıca, doğrudan bellek erişimi yaygın olarak kullanılmaktadır.

Adresleme ve sanal bellek

DSPS genellikle çoklu görev işletim sistemlerini kullanır, ancak herhangi bir sanal bellek desteği veya korumasına sahip değildir. Sanal bellek kullanan işletim sistemleri, işlemler arasında geçiş yapmak için daha fazla zamana ihtiyaç duyar ve bu da gecikmeyi artırır.

  • Modulo adresleme donanımı
    • Paketleme için test etmeye gerek kalmadan dairesel tamponların uygulanmasına izin verir
  • Bit ters adresleme, özel adresleme yöntemi
    • Hızlı Fourier Dönüşümünü hesaplamak için kullanışlıdır
  • Bellek yönetimi bloğu istisnası
  • Bellek adresi hesaplama modülü

Örnekler: TMS320Cхххх, ADSP-21XX

Pirinç. 1. ADSP-218x ailesi işlemcilerin mimarisi

DSP Özellikleri

DSP'nin (DSP) karakteristik özellikleri:

  • rastgele erişimli bellek, salt okunur bellek;
  • hem seri hem de paralel arabirimler;
  • kesinti işleme şeması;
  • merkezi kontrol noktası, tekrarlayan gerçek zamanlı matematik işlemleri için optimize edilmiştir.

Ana DSP parametreleri

DSP'nin ana parametreleri:

  1. Aritmetik tip (sabit/kayan nokta).
  2. Veri bit derinliği (sabit/değişken için - sırasıyla 16/32 bit).
  3. verim.
  4. Saat frekansı (dahili ve/veya harici) ve Komut çevrim süresi (komutun bir adımını yürütme süresi).
  5. Birim zaman başına yürütülen komutların sayısı.
  6. Birim zaman başına gerçekleştirilen işlem sayısı (MIPS).
  7. Birim zaman başına gerçekleştirilen kayan nokta işlemlerinin sayısı.
  8. Birim zamanda gerçekleştirilen çarpma ve toplama işlemlerinin sayısı.
  9. Türler (RAM ve flash bellek) ve dahili bellek miktarı (DSP'nin harici belleğe erişmeden ne kadar veri işleyebileceği).
  10. Adreslenebilir bellek miktarı.
  11. Giriş-çıkış portlarının sayısı ve parametreleri.
  12. Dahili ek cihazların bileşimi (zamanlayıcılar, kompresörler vb.).
  13. Besleme gerilimi ve güç tüketimi.
  14. Geliştirme ve destek araçlarının bileşimi ve işlevselliği.
  15. Bu sistem için derleyicilerin bulunduğu programlama dillerinin listesi;
  16. Bitmiş programlar için hata ayıklama araçlarının mevcudiyeti ve yetenekleri;
  17. Dokümantasyon ve teknik desteğin mevcudiyeti;
  18. Standart rutinler ve matematiksel işlevler kitaplıklarının mevcudiyeti;
  19. Uyumlu cihazların kullanılabilirliği, kullanılabilirliği ve yetenekleri - ADC, DAC, güç kontrolörleri vb.
  20. İzin verilen çevresel parametreler.
  21. Diğerleri, hedefe bağlı olarak.

Uygulamalar

DSP'lerin birkaç uygulama alanı vardır.

DSP Uygulamaları:

  1. İletişim (Bilgi kodlama ve/veya kanal çoğullama (spektral))
  2. Bir şeyin tanınması
  3. Spektrum analizörü (frekans bandındaki elektriksel (elektromanyetik) salınımların nispi enerji dağılımını gözlemlemek ve ölçmek için bir cihaz), vb.

Genellikle bunlar, herhangi bir sinyalin (bilginin) yüksek hızda işlenmesinin gerekli olduğu alanlardır.

Öykü

DSP yongaları bulunmadan önce, birçok DSP uygulaması, kesit mikroişlemciler kullanılarak uygulandı. BS Chip (bit-modüler kristal) AMD 2901, bileşen seti ile popülerdi. AMD de benzer modeller yarattı, ancak belirli bir tasarımın karakteristik özellikleri çok sık bulundu. Bu kesit mimariler zaman zaman çevresel bir çarpan çipi içeriyordu. Bu çarpanlara örnek olarak TDC1008 ve TDC1010 dahil olmak üzere TRW'den alınan ve bazıları bir akümülatör içeren ve gerekli çoğaltma-biriktirme (MAC) işlevini sağlayan bir sayı verilebilir.

1976 yılında Richard Wiggins, Dallas'taki Texas Instruments Ar-Ge Merkezi'nde Paul Bredlow, Larry Brantingham ve Gene Franz'a "Speak & Spell" konseptini sundu. İki yıl sonra, 1978'de, endüstrinin ilk dijital sinyal işlemcisi olarak teknoloji çekirdeği TMS5100 olan ilk "Speak & Spell"i yarattılar. Ayrıca, konuşma sentezini gerçekleştirmek için doğrusal tahmin kodlamasını kullanan ilk çip olarak diğer aşamalara öncülük etti.

Sırayla, Intel 1978. "analog sinyal işlemcisi" -2920'yi üretti. Dahili sinyal işlemcili bir çip üzerinde analogdan dijitale ve tersi bir dönüştürücü içeriyordu, ancak donanım çarpanı yoktu ve piyasada talep yoktu. 1979 yılında AMI, çevresel bir veri işleme cihazı-S2811'i piyasaya sürdü. Sahibi tarafından özelleştirilebilen bir mikroişlemci arabirim aygıtı olarak tasarlanmıştır. S2811 de benzer şekilde piyasada talep görmedi.

1980 yılında ilk bağımsız işlemci uygulandı: DSP - NEC µPD7720 ve AT&T DSP1 - MK (Uluslararası Konferans) Katı Hal Devreleri "80'de sunuldu. Bu iki işlemci, PSTN telekomünikasyon araştırmalarına ilham verdi.

AltamiraDX1, gecikmeli dallar ve dal tahmini ile dörtlü tamsayı ardışık düzenlerini kullanan başka bir erken DSP'dir.

1983 yılında piyasaya sürülen Texas Instruments (TI) tarafından üretilen başka bir DSP olan TMS32010 büyük bir başarıydı. Harvard mimarisine dayanıyordu ve bu nedenle bireysel bir talimat ve veri belleği içeriyordu. Talimatları olan özel bir komut sistemi vardı: birikimle yükle veya biriktirerek çoğalt. 16 bitlik sayılar üzerinde nasıl çalışacağını biliyordu ve bununla çarpmak 390 ns aldı. TI artık genel amaçlı DSP'lerde pazar lideridir.