DSP DONANIMI Pek çok DSP için temel elemanlar aşağıdaki gibidir. Çarpıcı yada çarpıcı- toplayıcı (MPY/MAC) Aritmetik lojik birim (ALU) Öteleyici (SHIFTER) Adres üreteci (AG) Komut yada program sıralayıcı
Çarpıcılar Bir DSP çarpıcısı 2 adet b-bitlik sayının çarpımını tek bir saat peryodunda gerçekleştirir. Đşaretli, işaretsiz yada karışık modda çarpım işlemleri gerçekleştirebilmeli ve yuvarlatma yapabilmelidir. Çarpıcılardan beklenen özellikler Hız Bellek erişim sürelerinde işlem tamamlama Giriş formatları Đkiye tümleyen yada işaretsiz Kesirli yada tamsayı Karışık mod Đşaretli Đşaretsiz Çıkış formatları Sağa ötelenmiş (tamsayı) Sola Ötelenmiş (kesirli) Genişletilmiş yada çift hassasiyet
Đkinin tümleyeni çarpımındaki fazla bit Đki tane b bitlik işaretli sayının çarpımı yalnızca 2b+1 bir gerektirir Örnek +2, -3 çarpılsın 0 1 0 işaret 1 1 1 1 1 1 0 işaret Oysa iki tane b+1 bitlik ( b bit +işaret) ikinin tümleyeni sayının çarpımı fazladan bir bit getirerek 2(b+1) bir verir. Bu yalnızca Negatif tam ölçekte geçerlidir. Bunun dışında bütün çarpım sonuçları 1 bit sağa ötelenir.
Çarpıcı çıkışındaki yapılar
Çarpıcı Yapıları 4 portlu çarpıcı 3 portlu çarpıcı Giriş ve çıkışları çoğullanmış çarpıcı (oratk veri yolu üzerinde
Genel çarpıcı yapısı
Đşaret kontrolu ve Karışık modlar X ve Y girişlerinin formatına göre 4 değişik durum olabilir bunlar; X Y Sonuç ------------------------------------------------------- Đşaretli Đşaretli Đşaretli Đşaretsiz Đşaretli işaretsiz Đşaretsiz Đşaretsiz Đşaretli (karışık mod) Đşaretsiz işaretli Đşaretli (karışık mod)
Yuvarlatma Eğer çarpıcı çıkışında yalnızca en yüksek ağırlıklı kısım tutulacaksa yuvarlatma yapılır. Pipelined Çarpıcılar Bu tür çarpıcılarda, sonucun formatlanması, ötelenmesi, yuvarlatılması gibi işlemler çarpım işlemiyle aynı anda yapılır Çarpıcı-Toplayıcılar Bir çarpıcı ile birleştirilmiş toplayıcı b( n) x( n k) gibi işlemler gerektiren sayısal işaret işleme uygulamalarında oldukça yararlıdır.
Bir çarpıcı-toplayıcıdan beklenen özellikler Tek saat çevriminde çarpma ve toplam işlemini gerçeklemesi Toplama sırasındaki bit genişlemesini koruyabilmek için 2b bit dışında extra bitlere sahip olması Oluşmadan önce taşma algılama Doyum aritmetiği Yansız yuvarlatma
Şekilde, tekrarlanan MAC işlemlerin yapısı ve bit genişlemesi görülmektedir Şekildeki geri besleme yolu r(n+1)=x(n+1)*y(n+1) ±r(n) biçiminde hesaplama sağlar
Şekilde Çarpıcı-Toplayıcı çıkışı M genişletme biti ile genişletilmiştir böylece 2 M adet MAC işlemi herhangi bir taşma olmaksızın gerçekleştirilebilir. Örneğin 32 bitlik çarpıcılı 40 Bitlik bir MAC 256 adet çarpmatoplama işlemini taşma olmaksızın gerçekleştirilebilir. MAC çıkışı doyma kontrolu sağlayarak sonucu veri yolu genişliğine getirmelidir. Çarpım sonuç kayıtçısı Ex, MSW ve LSW olmak üzere üç kısımdan oluşur. Eğer yuvarlatma yapılacaksa, LSW yok edilerek onun yerine MSW ye 1 eklenir yada eklenmez (yuvarlatma kuralına göre).
Çıkıştaki öteleyici, ikinin tümleyeni çarpma işlemindeki fazladan işaret bitini sola kaydırarak yok eder. Yada sağa kaydırma işlemi ile BFP ayarlaması yapılabilir
ALU Sayısal işaret işleyicilerde ALU, genel bir mikroişlemcideki özelliklere benzer özellikler gösterir. Ancak Çift erişimli kayıtçılar, tek saat çevriminde işlemler gibi özellikler ayırt edicidir. Bir DSP ALU dan beklenen özellikler aşağıdaki gibi olabilir. Yeterli doğruluk ve yüksek hassasiyetli hesaplamalar için zincirlenebilirlik Toplama, çıkarma, eldeli toplama ve çıkarma, mutlak değer Mantıksal fonksiyonlar Đşlem bayrakları DSP ALU işlem bayrakların farkı diğer birimler tarafından farklı yollarda kullanılabilmesidir. Etkin veri aktarımı ve hesabı
Yeterli kayıtçı miktarı Đçerik değiştirme için çift kayıtçı kümesi Ara sonuçlara ulaşabilmek veya saklayabilmek için kayıtçı kümesi Yeterli geri besleme yolları, öteleyici ile etkin bağlantı Bölme yeteneği Doyma kontrol yapısı Esnek iç veri yolları Geri besleme Diğer birimler arasında doğrudan erişim
Çift portlu kayıtçılar kullanılarak veri transferi ve aritmetik işlemler aynı saat çevriminde gerçekleştirebilir.
Tipik DSP ALU Mimarisi
Öteleyiciler ve Ölçekleme Bir DSP Öteleyicisi, Üst ve Alt taşmayı engellemek için sayıları ölçeklendirir. Sabit ve Kayan nokta arasında dönüşümler gerçekleştirir. Genel amaçlı işlemcilerde hersaat çevriminde bir bit öteleme varken, DSP Öteleyicileri N bit öteleme özelliğine sahiptir.
DSP lerde Öteleme işlemi (Barrel Shifter) Daha geniş bir kelimeden R bitlik bir kelimeye öteleme
Alternatif bir yapı D girişi A yada B çıkış alanında herhangi bir yere yerleştirilmiş
Temel Kaydırma Đşlemleri N bir aritmetik ve mantıksal kaydırma Ölçekleme Normalizayson Denormalizasyon Otomatik blok kayan nokta Aritmetik kaydırma Aritmetik kaydırma sayıları işaretlerini koruyarak kaydırır. Mantıksal kaydırma işaretsiz verile üzerindeki ötelemelerdir.
Aritmetik Mantıksal Başlangıç S A B C D E F G A B C D E F G H Sağa kaydırma ½ ölçekleme S S A B C D E F CARRY G CARRY 0 A B C D E F G H Giren işaret Sıfır Dolduma Sola kaydırma 2 ölçekleme s A B C D E F G 0 A A B C D E F G 0 A S Taşma bayrağını aktif yapar Sıfır Dolduma Sıfır Dolduma
Normalizasyon işlemi bir mantıs ve üstel üreterek sabit noktadan kayan noktaya dönüşümdür Denormalizasyon işlemi, Normalizasyon işleminin tersidir. Kayan noktadan sabit noktaya dönüşümdür
BLOK KAYAN NOKTA
Örnek Öteleyici
Veri Adres Üreteci Bir veri adres üreteci, okunacak ve yazılacak veri ve katsayılar için bellekteki yerleri belirten bir yada daha fazla kayıtçı içerir. Veri adres üreteçleri DSP algoritmalarında gerekli esnek ve hızlı adreslemeyi sağlayabilmelidir. Bir DAG bu amaçla, kendi içerisinde bir ALU içerir.
DAG dan beklenen özellikler AND, OR, XOR gibi işlemleri gerçekleyebilme Otomatik adres modifikasyonu Doğrusal ve değişken artımlı adresleme Dairesel tamponlar Y=Y+M ; IF (Y+M) END THEN Y=BEGIN+(Y+M-END); Burada M bir artım değeridir. BEGIN ve END ise tablo sınırlarıdır. Bit terslemeli adresleme
Belirtilen özellikleri sağlayacak veri adres üreteci örneği
Program sıralayıcı Yeterli yığıt boyutu Kesme öncelikleri Doğrudan adresleme Yığıt sınırlarının ayarlanabilmesi Sıfır başlatıcılı şartlı atlama Basit sıralayıcı kontrol yapıları A then B, if W then A else B, while W do A
Adres üretimi