Veri Akış Grafiği – Multimedya Bölümü – Multimedya Bölümü Ödevleri – Multimedya Bölümü Tez Yaptırma –Multimedya Bölümü Ödev Ücretleri
Veri Toplayıcılar
Yalnızca bir toplayıcının ve bir çarpanın mevcut olduğunu varsayalım; o zaman bir uygulamanın yürütülmesi daha uzun sürer. Bir örnek verilir. Toplam yürütme süresinin 6’dan 8 zaman birimine yükseldiğini unutmayın. Ancak, donanımın yalnızca yarısı gereklidir. Donanım tarafından işlenecek bir veri örnekleri akışı olduğunda, Algoritma 4’ün başka bir olası uygulamasını ele alalım.
Algoritma 5, Algoritma 4 ile aynı döngü gövdesine sahip sonsuz bir döngü içerir. Döngü i’nin çıktısı (tmp0(i), y(3,i), y(7,i)) diğer yinelemelerin çıktısına bağlı olmadığından Algoritma 5’in karşılık gelen DG’si, gösterilen tek yinelemenin DG’sinin sonsuz sayıda kopyasını içerecektir.
Farklı yineleme indeksi i’nin DG’leri bağımsız olduğundan, tek bir yinelemenin DG’sinin gerçekleştirilmesine odaklanmamız gerekir. Ardından, diğer yinelemeleri gerçekleştirmek için bir yinelemenin uygulamasını çoğaltabiliriz. Özellikle, x(3,i) ve x(4,i) girdi veri örnekleri, i arttıkça sıralı olarak örneklenirse, bu algoritmanın çoklu iterasyonları, iki toplayıcı ve üç çarpan kullanılarak uygulanabilir.
Bu uygulamada, her tip kutu gölgeleme, belirli bir yineleme indeksine (i) karşılık gelir. Bu uygulama, önceki iki uygulamadan birkaç yönden farklıdır: (1) Aynı donanım aygıtları setinde birden çok yineleme gerçekleştirilir. (2) Her toplayıcı veya çarpan, her yinelemede aynı görevi veya görevleri gerçekleştirir.
Başka bir deyişle, her görev bir donanım aygıtına statik olarak atanır ve program periyodiktir. Ayrıca, ardışık yinelemelerin görevlerinin yürütülmesinin örtüştüğüne dikkat edin. Böylece, bir örtüşme programımız var.
Her yinelemenin hesaplanması toplamda yedi zaman birimi alırken, birbirini izleyen her yineleme iki zaman biriminde bir başlatılabilir. Bu nedenle, bu uygulamanın verim oranı yineleme başına iki zaman birimidir. Ardışık yinelemelerin başlatılması arasındaki ortalama süre, başlatma aralığı olarak bilinir.
Bu üç uygulama karşılaştırıldığında, kullanılan kaynak miktarı (örneğin donanım cihazlarının sayısı) ile elde edilen performans (bu durumda toplam gecikme) arasında açık bir şekilde dengeler vardır.
Genel olarak, bu iki kısıtlı optimizasyon probleminden biri olarak formüle edilebilir:
• Kaynak kısıtlamalı sentez problemi — Maksimum kaynak miktarı göz önüne alındığında, performansını en üst düzeye çıkaracak şekilde bir A algoritmasının uygulamasını türetin.
• Performans kısıtlamalı sentez problemi — İstenen performans hedefi göz önüne alındığında, donanım kaynaklarının toplam maliyeti en aza indirilecek şekilde bir A algoritmasının uygulanmasını türetin.
Kaynak kısıtlamalı sentez probleminin avantajı, mevcut donanım kaynağı A algoritmasında gerekli her görevi yerine getirebildiği sürece bir çözümü garanti etmesidir.
Öte yandan, istenen performans hedefi göz önüne alındığında, kaç donanım kaynağı kullanılırsa kullanılsın bir uygulama mevcut olmayabilir. Örneğin, performans hedefi, x(3) ve x(4) girdi verileri kullanıma sunulduktan sonra dört zaman birimi içinde y(3) ve y(7) çıktılarını hesaplamaksa, o zaman bir türetmek imkansızdır.
Veri akış Diyagramı Örnekleri
Veri akış diyagramı çizim programı
Veri akış Diyagramı sembolleri
0 Seviye veri akış Diyagramı
KAVRAMSAL veri akış şeması
İş akış ŞEMASI
Malzeme akış diyagramı
Akış diyagramı
Algoritma Veri Akış Grafiği
kalın oklar, yinelemeler arası bağımlılık ilişkilerini gösterir. Dolayısıyla, i’inci yinelemenin yürütülmesi (i – 1)’inci yinelemenin tamamlanmasını beklemek zorunda kalacaktır. Veri akış grafiği, yalnızca bir yineleme içeren, ancak yinelemeler arası bağımlılık yayını pozitif bir tamsayı olan bir bağımlılık mesafesi d ile etiketleyen yinelemeli bir hesaplama bağımlılık grafiği (ICDG) olarak uygun şekilde ifade edilebilir.
Bu resimli. Yinelemeli olmayan bir algoritma için, sonsuz sayıda yinelemeye sahip olsa bile (örneğin, Algoritma 4), tam veri akış grafiğinin, her yinelemenin DG’sinin ayrı kopyalarını içerdiğini not ediyoruz. Bu DG’ler, onları birbirine bağlayan yinelemeler arası bağımlılık yayına sahip değildir.
Özyinelemeli bir algoritmanın uygulanmasındaki zorluk, karşılıklı yineleme bağımlılık ilişkilerinin dikkate alınması gerektiğidir. Bu amaca yönelik birçok tasarım teorisi geliştirilmiştir [4], [23]–[25]. Çalışmanın odak noktası, performans kısıtlamalı sentezin uygulanabilirliği olmuştur.
İstenen bir verim oranı (başlatma aralığı) verildiğinde, minimum sayıda donanım modülü kullanarak istenen performansı elde edebilen bir uygulama elde etmek istenir.
Çarpmanın iki saat devri sürdüğünü ve toplamanın bir saat devri sürdüğünü varsayalım. y(i) hesaplandıktan sonra üç saat çevrimine kadar y(i)’nin hesaplanamayacağını görmek kolaydır. Başka bir deyişle, minimum başlatma aralığı (2+1) = 3 saat çevrimidir. Birden fazla sıkı bağlı döngü içeren daha karmaşık bir ICDG’de, minimum başlatma aralığı formüle göre bulunabilir.
Burada τi (k), ICDG’deki k’inci döngünün i’inci düğümünün hesaplama süresi ve j (k), k’inci döngüdeki j’inci yinelemeler arası bağımlılık mesafesidir. Şimdi örneği ele alalım. Bu şekilde ICDG’de iki döngü vardır.
İstenen başlatma aralığı, minimum başlatma aralığından daha büyükse, ICDG’nin tek bir yinelemesinin herhangi bir verimli uygulaması düşünülebilir ve ardından farklı yinelemelerin hesaplamalarını gerçekleştirmek için bu uygulamayı basitçe kopyalayabilirsiniz.
Örneğin, Algoritma 6 söz konusu olduğunda, örneğin istenen verim oranı dört saat döngüsü başına bir veri örneği ise, algoritmayı uygulamak için tek bir toplayıcı ve bir çarpan modülü kullanılabilir. İlgili uygulama oldukça basittir.
Burada x(i)’nin her dördüncü saat döngüsünde mevcut olduğunu varsayıyoruz: 4, 8, 12, . . . . Böylece toplama işlemi yalnızca bu saat döngülerinde gerçekleşebilir. öğesinin toplayıcı satırındaki gölgeli kutular da ilgili saat döngüsünün sonunda hesaplanan karşılık gelen y(i) ile etiketlenir. Çarpma daha sonra hemen sonraki iki saat döngüsünde gerçekleştirilebilir. Ancak ekleme, x(i) hazır olana kadar beklemelidir.
Şimdi, istenen verim oranının, üç saat döngüsünün minimum başlatma aralığından daha küçük olan iki saat döngüsü başına bir örneğe yükseltildiğini varsayalım. Ne yapmalıyız?
Çözüm, ileriye dönük dönüşüm olarak bilinen bir algoritma dönüştürme tekniği kullanmaktır. Özünde, ileriye dönük dönüşüm, her yinelemede daha fazla hesaplama pahasına minimum başlatma aralığını azaltmak için bir yinelemenin yineleme ifadesini bir sonrakiyle değiştirmektir. Örneğin Algoritma 6, ileriye dönük dönüşümü bir kez uyguladıktan sonra şu şekilde gösterilebilir.
0 Seviye veri akış Diyagramı Akış diyagramı İş akış ŞEMASI KAVRAMSAL veri akış şeması Malzeme akış diyagramı Veri akış diyagramı çizim programı Veri akış Diyagramı Örnekleri Veri akış Diyagramı sembolleri