Dijital Sinyal İşlemcisi nedir?
Dijital sinyal işlemcisi (DSP), (genellikle gerçek zamanlı) dijital sinyal işlemeye özel olarak tasarlanmış bir mikroişlemcidir. Mimarisi CPU/ALU, program belleği, veri belleği vb. bileşenleri içerir. Yaygın mimari türleri arasında gelişmiş DSP, VLIW yapısı, süperskaler mimari ve SIMD yapısı ile hibrit yapı sayılabilir. En önemli özelliği, çok sayıda dijital sinyali yüksek hızda işleyebilen dahili özel donanım çarpanı ve Harvard veri yolu yapısıdır.
DSP nasıl çalışır?
DSP, büyük miktarda bilgiyi işlemek için dijital sinyalleri kullanan bir cihazdır. Yani, belirli bir zamanda analog sinyalin "dijitalleştirilmesi" sonucunda elde edilen bilgidir. Daha açık bir ifadeyle, belirli bir zamanda "örnekleme" yapmak ve ardından işlenecek örneklemeli ayrık sinyali "kuantize ederek" onu karşılık gelen sayıya dönüştürmek ve böylece dijitalleştirme işlemini tamamlamaktır.
Dijitalleştirme için çok önemli olan iki işlem vardır: "örnekleme" ve "kuantizasyon"; bunları daha sonra ayrıntılı olarak ele alacağız. Dijital bilgileri elde ettikten sonra, ses sinyali işleme gereksinimlerimizi karşılamak için uygun işlemler gerçekleştirilebilir.
DSP Yapısı
Gerçek zamanlı ve hızlı dijital sinyal işlemeyi sağlamak amacıyla DSP, diğer mikroişlemci yongalarından (CPU vb.) farklı bir mimariye sahiptir. Von Neumann paralel mimarisini terk ederek Harvard mimarisini benimsemiştir. Von Neumann yapısı ile Harvard yapısını ayırt etmek için iki şematik diyagram kullanıyoruz.


Yukarıdaki iki yapısal şemadan da görülebileceği gibi, Harvard yapısı ile von Neumann yapısı arasındaki en büyük fark, bellek birimlerinin alt bölümlere ayrılıp ayrılmadığıdır. Harvard mimarisinde, komutlar, program ve veriler farklı bellek alanlarında depolanır. Komut alma ve komut yürütme işlemleri tamamen çakışabilir ve her bir bellek alanı bağımsız olarak adreslenir ve erişilir. Ayrıca, program alanı ile veri alanı arasında aktarım yapılmasına olanak tanıyarak cihazın esnekliğini artırır.
Aksine, von Neumann yapısında adres, komut, veri ve diğer bilgileri içeren tek bir depolama birimi vardır. Komut sayacı tarafından sağlanan adres, bunun bir komut, veri veya adres olup olmadığını ayırt etmek için kullanılır. Bu tür okuma hızı ve verimlilik nispeten düşüktür, bu da düşük veri aktarım hızına neden olur.
DSP yongası çalışma göstergeleri
- İşlem hattı çalışması:
Boru hattı, Harvard yapısı ile ilgilidir. DSP yongaları, komut yürütme süresini kısaltmak ve böylece işlemcinin işlem gücünü artırmak için yaygın olarak boru hatlarını kullanır. İşlemci, her biri boru hattının farklı aşamalarında bulunan iki ila dört komutu paralel olarak işleyebilir.
- Özel donanım çarpanı:
Çarpma hızı ne kadar yüksekse, DSP işlemcisinin performansı da o kadar yüksek olur. Özel uygulama çarpanı sayesinde, çarpma işlemi tek bir komut döngüsünde tamamlanabilir.
- Özel DSP komutları:
Özel DSP komutları DSP yongaları özel komutlar kullanır.
- Hızlı komut döngüsü:
Hızlı komut döngüsü Harvard yapısı, ardışık işlemler, özel donanım çarpanları, özel DSP komutları ve entegre devrenin optimize edilmiş tasarımı, DSP yongasının komut döngüsünü 200 ns'nin altına indirebilir.
DSP sisteminin özellikleri
Dijital sinyal işleme sistemi, dijital sinyal işlemeye dayanmaktadır ve bu nedenle dijital işlemenin tüm özelliklerini taşımaktadır:
Arayüz kullanımı kolaydır
DSP sistemleri, modern dijital teknolojiye dayanan diğer sistemler veya cihazlarla uyumludur. Bu tür sistemlerin belirli işlevleri yerine getirmek üzere birbirleriyle entegre olması, analog sistemlerin bu sistemlerle entegre olmasından çok daha kolaydır.
Programlama kullanımı kolaydır
DSP sisteminin programlanabilir DSP yongası, tasarımcıların geliştirme sürecinde yazılımı esnek ve kolay bir şekilde değiştirmelerine ve güncellemelerine olanak tanır.
İyi stabilite ve dayanıklılık
DSP sistemi dijital işleme temeline dayanır, ortam sıcaklığı ve gürültüden daha az etkilenir ve yüksek güvenilirliğe sahiptir.
Yüksek doğruluk
16 bitlik sayı sistemiyle elde edilebilen doğruluk.
İyi tekrarlanabilirlik
Analog sistemlerin performansı, bileşen parametrelerindeki değişikliklerden büyük ölçüde etkilenirken, dijital sistemler bu durumdan temelde etkilenmez. Bu nedenle dijital sistemler, test, hata ayıklama ve seri üretim için daha elverişlidir.
Entegre edilmesi kolay
DSP sistemindeki dijital bileşenler yüksek düzeyde standartlaştırılmıştır ve büyük ölçekli entegrasyonu kolaylaştırmaktadır.
DSP yongalarının tarihi
DSP yongalarının ortaya çıkışı, zamanın bir gereğidir. 1960’lı yıllardan itibaren bilgisayarların ve bilgi teknolojisinin hızla gelişmesiyle birlikte dijital sinyal işleme teknolojisi ortaya çıkmış ve hızla gelişmiştir. DSP yongalarının ortaya çıkmasından önce dijital sinyal işleme yalnızca mikroişlemcilerle gerçekleştirilebiliyordu. Ancak mikroişlemcilerin düşük işlem hızı nedeniyle, giderek artan bilgi miktarının yüksek hızlı gerçek zamanlı gereksinimlerini karşılayamıyordu.
1970'lerde, DSP yongalarının teorik ve algoritmik temelleri olgunlaşmıştı. Ancak o dönemde DSP sadece ders kitaplarında yer alıyordu. Geliştirilen DSP sistemleri bile ayrı bileşenlerden oluşuyordu ve uygulama alanları askeri ve havacılık sektörleriyle sınırlıydı.
1978'de AMI, dünyanın ilk tek çipli DSP yongası S2811'i piyasaya sürdü, ancak bu yonga, modern DSP yongaları için gerekli olan donanım çarpanına sahip değildi;
1979'da, ABD'li Intel Corporation tarafından piyasaya sürülen ticari programlanabilir cihaz 2920, DSP yongaları için önemli bir dönüm noktasıydı, ancak yine de donanım çarpanına sahip değildi;
1980 yılında, Japon NEC Şirketi tarafından piyasaya sürülen MPD7720, donanım çarpanına sahip ilk ticari DSP yongasıydı ve bu nedenle ilk monolitik DSP cihazı olarak kabul edildi;
1982'de, dünyanın ilk nesil DSP yongası TMS32010 ve ürün serisi piyasaya sürüldü. Bu DSP cihazı, mikron işlem NMOS teknolojisi kullanılarak üretilmiştir. Güç tüketimi ve boyutu biraz daha büyük olsa da, hesaplama hızı bir mikroişlemciden onlarca kat daha yüksektir.
DSP yongalarının ortaya çıkışı, DSP uygulama sistemlerinin büyük sistemlerden minyatürleşmeye doğru atılmış büyük bir adım olan bir dönüm noktasıdır. 1980'lerin ortalarında, CMOS teknolojisine dayalı DSP yongalarının ortaya çıkmasıyla birlikte, depolama kapasiteleri ve hesaplama hızları iki katına çıkmış ve ses işleme ile görüntü donanım işleme teknolojisinin temeli haline gelmiştir.
1980'lerin sonlarında, üçüncü nesil DSP yongaları piyasaya çıktı, hesaplama hızı daha da artırıldı ve uygulama alanı kademeli olarak iletişim ve bilgisayar alanlarına genişledi;
DSP, 1990'larda en hızlı şekilde gelişti ve dördüncü ve beşinci nesil DSP yongaları arka arkaya ortaya çıktı. Dördüncü nesil ile karşılaştırıldığında, beşinci nesil sistem daha yüksek bir entegrasyon derecesine sahiptir ve DSP çekirdeğini ve çevresel bileşenleri tek bir yongada birleştirir.
21. yüzyıla girildikten sonra, altıncı nesil DSP yongası ortaya çıktı. Altıncı nesil yongalar, performans açısından beşinci nesil yongaları kapsamlı bir şekilde geride bırakmaktadır. Aynı zamanda, farklı iş amaçlarına dayalı olarak birçok kişiselleştirilmiş dal geliştirilmiştir ve bunlar kademeli olarak yeni alanlara yayılmaya başlamıştır.
DSP yongalarının kullanım alanları
Günümüzün dijital çağında, DSP iletişim, bilgisayar, tüketici elektroniği ve diğer alanlarda temel bir bileşen haline gelmiştir.
İletişim alanı
Medya veri iletimi sırasında üretilen bilgi miktarı çok büyüktür. Multimedya ağ terminalleri, tüm süreç boyunca elde edilen bilgileri hızlı bir şekilde analiz edip işlemek zorundadır. Bu nedenle, konuşma kodlaması, görüntü sıkıştırma ve ses iletişimi azaltma işlemlerinde DSP kullanılmaktadır. Günümüzde DSP, konuşma kod çözme hesaplamaları için gerçek zamanlı sonuçlar üretmekte olup, tasarım protokolü gereklilikleri en temel uluslararası standart haline gelmiştir.
Endüstriyel kontrol
Endüstriyel kontrol alanında endüstriyel robotlar yaygın olarak kullanılmaktadır ve robot kontrol sistemlerine yönelik performans gereksinimleri giderek artmaktadır. Robot kontrol sistemi, bir eylemi gerçekleştirirken çok sayıda veri ve hesaplama işlemi üretir; bu durumda yüksek performanslı bir DSP kullanılabilir. DSP, robot kontrol sistemine uygulandıktan sonra, gerçek zamanlı hesaplama hızı özelliklerinden tam olarak yararlanır, böylece robot sistemi sorunları hızlı bir şekilde çözebilir. DSP dijital sinyal yongalarının hızı artmaya devam ettikçe, sistemde paralel işleme ağı oluşturmak kolaylaşır ve bu da kontrol sistemini büyük ölçüde iyileştirir. Bu performans, robot sisteminin daha yaygın bir şekilde geliştirilmesini sağlamıştır.
Araç
DSP'nin zengin yonga içi kaynakları, ölçüm cihazlarının donanım devrelerini büyük ölçüde basitleştirebilir ve cihazların tek yonga (SOC) tasarımını mümkün kılabilir. Ölçüm cihazlarının ölçüm hassasiyeti ve hızı önemli göstergelerdir. Ürün geliştirme sürecinde DSP yongalarının kullanılması, bu iki göstergeyi önemli ölçüde iyileştirebilir. Örneğin, TI'nin TMS320F2810'u, verimli bir 32 bit CPU çekirdeğine, 12 bit A/D dönüştürücüye, zengin çip üzerinde belleğe ve esnek komut sistemine sahiptir ve yüksek hassasiyetli cihazlar için geniş bir platform oluşturur. Yüksek hassasiyetli cihazlar artık DSP'nin önemli bir uygulama alanı haline gelmiştir ve hızlı bir yaygınlaşma dönemindedir; bu da sektördeki teknolojik yenilikleri teşvik edecektir.
Otomotiv sektörü
Kızılötesi ve milimetre dalga radarlarının kurulumu gibi otomotiv elektronik sistemlerindeki artan gelişmeler, analiz amacıyla DSP'lerin kullanılmasını gerektirecektir. Günümüzde araç sayısı giderek artmakta ve çarpışma önleme sistemleri araştırma alanlarında ön plana çıkmaktadır. Ayrıca, kamera tarafından yakalanan görüntü verilerinin, sürücünün bilgisine sunulmak üzere sürüş sisteminde görüntülenebilmesi için önce DSP tarafından işlenmesi gerekmektedir.
Askeri alan
DSP'nin düşük güç tüketimi, küçük boyutu ve gerçek zamanlı tepki hızı, özellikle silah ve teçhizatlarda büyük önem taşımaktadır. Örneğin, havadan havaya füzeler, otomatik hedef kilitleme ve izleme işlemlerini gerçekleştirmek üzere sınırlı bir hacim içinde kızılötesi dedektörler ve bunlara ait DSP sinyal işlemcileriyle donatılmıştır. Gelişmiş savaş uçaklarında bulunan görsel nişangahlar ve piyade personeli tarafından taşınan kask monteli düşük ışık aletleri, görüntü filtreleme ve iyileştirme ile akıllı hedef arama ve yakalama işlemlerini gerçekleştirmek için DSP teknolojisine ihtiyaç duyar. DSP teknolojisi ayrıca otomatik topçu kontrolü, seyir füzeleri, erken uyarı uçakları ve aşamalı dizi antenler gibi radar dijital sinyal işlemede de kullanılır.
Sabit nokta DSP ve Kayan nokta DSP
Genel olarak, sabit komalı DSP işlemcileri yüksek hız, düşük güç tüketimi ve uygun fiyat gibi özelliklere sahipken; kayan komalı DSP işlemcileri ise doğru hesaplamalar, geniş dinamik aralık, yüksek hız, kolay programlama, yüksek güç tüketimi ve yüksek fiyat gibi özelliklere sahiptir.
Dinamik Aralık
Makro bir bakış açısıyla, kayan noktalı DSP, sabit noktalı DSP’ye kıyasla çok daha geniş bir dinamik aralığa sahiptir. Sabit noktalı aritmetikte, programcılar her zaman taşma durumlarına dikkat etmek zorundadır. Taşmayı önlemek için ya kaydırma ve ölçeklendirme işlemlerini sürdürmeleri ya da kesme işlemi uygulamaları gerekir. İlki çok fazla zaman ve alan tüketirken, ikincisi ise doğruluk kaybına yol açar. Buna karşın, kayan nokta işlem DSP'si dinamik aralığı genişletir, doğruluğu artırır, işlem süresinden ve depolama alanından tasarruf sağlar, böylece ölçeklendirme, kaydırma ve taşma kontrollerini büyük ölçüde azaltır.
Donanım
Tamamen teknik bir bakış açısıyla, sabit nokta ve kayan nokta arasındaki fark temel olarak donanım ve yazılım olmak üzere iki alanda yatmaktadır. Donanım farkı şuralardan kaynaklanmaktadır: Kayan nokta DSP işlemcisi, bir kayan nokta/tamsayı çarpanına, bir tamsayı/kayan nokta aritmetik mantık birimine (ALU) ve geniş hassasiyetli kayan nokta sonuçlarını depolamaya uygun bir kayıt alanına sahiptir.
Yazılım
Yazılım geliştirmedeki farklılıklara bir göz atalım. Bu, esas olarak kayan noktalı DSP programlamasının özelliklerini ve dikkat edilmesi gereken hususları; kayan noktalı işlemler gerçekleştirilirken sabit noktalı DSP’nin ölçeklendirme, kaydırma ve taşma algılama işlemlerini içerir. İki kayan noktalı sayıyı karşılaştırırken, eşitliği belirlemek için asla "==" operatörünü kullanmayın. İki sayı tamamen aynı olsa bile, yine de ince farklar olabilir. Tam olarak 0'ı tanımlamak bile çok güvenli değildir. C dilinde 0'ın bir gösterimi olsa da, asla böyle bir kod (x==0) yazmayın, bunun yerine (fabs(x) < TINY) yazmalısınız; burada TINY, çok küçük bir değer olarak tanımlanır, yani işlemcinin kayan nokta formatındaki yuvarlama hatasıdır.




