Theses supervised by Doç. Dr. Oğuz Ergin
12 theses · TOBB Economics and Technology University
Grafik işleme birimi önbelleklerinde yerelliğe bağlı dinamik yazma politikası
GPU Önbelleklerinde Yerelliğe Bağlı Dinamik Yazma Politikası önerilen yazma yerelliği detektörü kullanarak uygulamaların belli bölgelerindeki yerellik yoğunluklarına bakarak uygun görülen önbellek yazma politikasına aktif geçişi sağlamaktadır. GPU mimarilerinde kullanılan farklı yazma politikalarının birbirlerine göre belli durumlarda avantajları bulunmaktadır. Uygulamaların çalışma anında tercih edilebilecek yazma politikası uygulamanın ve donanımın birçok parametrelerine göre değişiklik gösterebilmektedir. Günümüz GPU mimarilerinde derleyiciler tarafından sabit bir yazma politikası seçilmektedir. Bu çalışmada saat periyot çözünürlüğünde çalışabilen GPU simülatörü üzerinde uygulamaların çalışma anında yerellik yoğunluklarına göre kullanılan yazma politikaları arasında dinamik geçişler yapılarak sabit bir yazma politikasına göre başarım artışı sağlanabildiği gösterilmiştir.
Donanım tabanlı dram operasyon hızlandırıcı tasarımı
DRAM bellek işlem süreleri için kullanılan toplam süre, bellek içeren sistemlerin başarımında önemli bir etkiye sahiptir. Bu tez çalışmasında "Yedek Dize" adı verilen yeni bir yöntem sunulmaktadır. Yedek dize yöntemi, alt dizeye erişimin zamansal yerellik özelliği gösterdiği gözlemi üzerine kurulmuştur. Bu gözlemden yararlanılarak, erişilecek dizenin bir kopyasının yedek bir dizede daha tutulmasıyla DRAM işlem sürelerinin azalabileceği fikri geliştirilmiştir. Aynı alt dizede yer alan ve aynı veriyi tutan DRAM hücrelerinin eş zamanlı aktif hale gelmesi, bellek işlemlerinin daha hızlı gerçekleşmesini sağlayacaktır. Bu yöntem, başta algılama ve geri yükleme olmak üzere erişim sürelerini azaltacaktır. Bu çalışmada, her bir alt dizeye fazladan bir (yedek) dize eklenmesi ve bu yedek dizeye zamansal yerellik açısından kullanılabilir dizelerin verilerinin saklanması önerilmektedir. Geliştirilen denetim mekanizması, yakın gelecekte erişilebilir dize verilerini yedek dizeye kopyalamaktadır. Yedek dizede tutulan veri ile hedef dize verisi aynı olduğu durumda, yedek dize mekanizması hedef ve kopyalanmış dizeyi aynı anda aktif hale getirerek DRAM erişiminin düşük gecikmelerle tamamlanmasını sağlamaktadır. Eğer saklanan dize ile hedef dize birbirlerinden farklı ise sadece hedef dize aktif hale gelmektedir ve mekanizma yakın gelecekte kullanılabilir olarak o an işlenen dizeyi yedek dizeye kopyalar. Tez çalışması süresince geniş bir test verisi ile yedek dize yöntemi geliştirilmiştir. Ortalama DRAM erişim gecikmelerinin azaldığı ve sistem başarımının daha iyi bir duruma ulaştığı gözlenmiştir.
İşlemci yapılarının hatalara karşı hassasiyetini karşılaştırmak için yeni bir bit etki katsayısı tanımlanması ve kullanılması
Üretim teknolojisinin ilerlemesi ile birlikte mikroişlemcilerde kullanılan transistörlerin boyutları da küçülmektedir. Bu küçülme sayesinde hem çalışma gerilimleri daha düşük seviyelere çekilebilmekte, hem de tümleşik devrelere daha fazla sayıda transistör yerleştirilerek, mikroişlemcilerin işlem ve hafıza kapasiteleri artırılabilmektedir. Ancak transistör boyutlarındaki bu küçülme, mikroişlemcilerin geçici hatalara karşı hassasiyetini arttırmıştır. Günümüzde işlemci mimarlarının oluşturdukları yapıların hassasiyetlerini tasarım aşamasında ölçebilmeleri için en çok kullandıkları katsayı Mimari Hassasiyet Katsayısıdır (MHK). Mimarlar bu katsayıya bakarak sistemlerinin güvenilirliği konusunda üretimden önce fikir edinirler. MHK sistemdeki bitleri hataya karşı hassas veya dayanıklı gibi iki farklı kategoride inceler. Ancak hassas bir bitteki değişimin sistemde ne kadar etki yarattığı konusunda herhangi bir bilgi vermez. Bu tezde, TÜBİTAK'ın 112E004 numaralı "Geçici Hatalara Karşı Dayanıklı Mikroişlemciler" projesi dâhilinde MHK da kullanılarak bir bitte oluşabilecek hatanın sisteme ne kadar etki ettiğini belirlemek amacıyla yeni bir katsayı tanımı yapılmıştır ve analiz sonuçları diğer katsayılarla karşılaştırılmıştır.
Çoklu iş parçacıkları ile çalışma zamanında AVF tahmini yapılması
İşlemci tasarımlarının giderek karmaşık hale gelmesi ve uzay boşluğunda radyoaktif maddelerden kopan alfa parçacıklarının yongalara çarpması sistemlerde bit hatalarının oluşmasına neden olabilmektedir. Bazı durumlarda oluşan bu tür hatalar göz ardı edilebilirken, bazı durumlarda sistemin beklenenden farklı bir sonuç vermesine neden olabilmektedir. Bir bit hatasının sistemin çalışmasını ne derecede etkileyeceği, üzerinde çalışan buyruk kümesine ve bit hatasının sistemin hangi bölümünde olduğuna göre değişebilmektedir. Günümüzde bazı işlemcilerde bu tür hatalara karşı koruma sağlayan sistemler bulunmaktadır. Ancak işlemcilerin bu tür hatalara karşı korunması yüksek kaynak ve enerji tüketimine sebep olmaktadır. Bu nedenle buyruk kümelerinin hatalara karşı daha kırılgan olan bölümlerinin belirlenmesi ve bu sayede sadece gerekli görülen zamanlarda sistemin hatalara karşı korunması, çok daha verimli bir kaynak ve enerji kullanımını mümkün kılacaktır. Bu şekilde dinamik olarak oluşabilecek hatalara karşı önlem alabilmesi sağlanarak işlemcilerin bit hatalarına karşı çok daha verimli bir koruma gerçekleştirilmesi mümkün hale gelecektir. Bu çalışmada çoklu iş parçacıkları kullanılarak, buyruk kümelerinin çalışma zamanında hatalara karşı dinamik olarak kırılganlığını ölçen bir sistem tasarlanmıştır. Buyruk kümelerinin hatalara karşı kırılganlığının ölçülmesi için AVF (Architectural Vulnerability Factor) tahmini yapılmaktadır. Tasarlanan sistemin geliştirilmesinde M-Sim simülatörü ve ALPHA mimarisi üzerinde çalışılmıştır. Sonuçların analizi SPEC 2006 buyruk kümeleri üzerinde yapılmıştır.
Radar sinyal işleme algoritmalarının FPGA ve GPU üzerinde uygulanmasının başarım analizi
Gerçek zamanlı ve paralel işlem gerektiren bir çok sivil ve askeri uygulama FPGA üzerinde gerçekleştirilmektedir. FPGA, radar uygulamalarında gerçek zamanlı verinin yüksek hızlarda alınıp işlenmesi için kullanılmaktadır. Ayrıca FPGA donanım üzerinde tekrar tekrar programlanabilmesi geliştirme esnasında büyük bir avantajdır. GPU'lar, grafik işlemleri yapmanın yanı sıra veri paralelliğinin yoğun olduğu işlemlerde kullanılmaya başlanmıştır. Bir çok uygulama grafik işlemciler sayesinde hızlandırılmış ve paralel işlemlerin yoğun olduğu uygulamalarda genel amaçlı işlemcilere karşı üstünlük sağlamışlardır. Bu tez kapsamında, radar sinyal işleme algoritmaları, sayısal aşağı indirgeme, darbe sıkıştırma, doppler işleme ve sayısal hüzmeleme FPGA ve GPU üzerinde uygulanıp karşılaştırılmıştır. Bu algoritmalar FPGA için Xilinx System Generator kullanılarak, GPU için OpenCL ile tasarlanmıştır. Tasarlanmış olan benzetim modelinde sinyal varış yönü, sinyalin menzili ve doppler frekansı kestirilmektedir. Sonuçlar gerçek zamanlı veri işleme konusunda FPGA'nın GPU'lara göre avantajlı olduğunu göstermektedir. Fakat varış yönü tahmini için kullanılan tasarımda anten sayısının ve bakılacak açı sayısının artması, tasarımda çarpıcı sayısının artmasına dolayısıyla tasarımın bir FPGA üzerine sığmamasına neden olmaktadır.
Gömülü grafik işlemcileri için opencl tabanlı görüntü işleme kütüphanesi ve insan yüzü tespit etme uygulaması
Grafik işlemciler genel amaçlı işlemler için kullanılmaya başladığından beri, kullanım yaygınlığı artmıştır. Yalnızca 3 boyutlu grafik oluşturmak, hareket ettirmek ve simüle etmek için kullanılan grafik işlemciler artık veri paralelliğinin olduğu her alanda kullanılabilmektedir. İçerdiği yüzlerce çekirdek sayesinde, aynı anda normal bir işlemcinin ulaşamadığı kadar iş parçacığını çalıştırabilecek kapasiteye sahip olmuştur. Veri paralel uygulama alanları arasında en başta görüntü işleme uygulamaları, matris ve vektör içerikli lineer cebir uygulamaları, akışkanlar mekaniği, biyoinformatik gibi alanlar gelmektedir. Bu alanlardaki uygulamaların hızlandırılması için grafik işlemcilerin kullanımı halihazırda söz konusudur. Gelişen ve küçülen teknoloji sayesinde, bahsi geçen grafik işlemciler mobil platformlara uyumlu hale gelmiş ve cep telefonu, tablet bilgisayar başta olmak üzere gömülü birçok sistemde kullanılmaya başlanmıştır. Bu çalışmada, gömülü sistemlerde kullanılmak üzere bir görüntü işleme kütüphanesi geliştirilmiş ve gömülü platformlar için üretilen grafik işlemcisi için eniyilemesi yapılmıştır. Geliştirilen kütüphane, görüntü işleme konularında standart haline gelmiş OpenCV (Open Computer Vision) kütüphanesi ile karşılaştırılmıştır. Günlük hayatta sıkça kullanılan bir görüntü işleme uygulaması olan "İnsan Yüzü Tespit Etme" uygulamasının geliştirilen kütüphane kullanılarak gerçeklenmesi ve başarım sonuçları da bu çalışmanın kapsamındadır. Anahtar Kelimeler: Genel Amaçlı Grafik İşlemciler, Gömülü Yazılım Geliştirme, Görüntü İşleme, Başarım Eniyilemesi, Paralel İşleme
Mikroişlemcilerde sanal adreslerden yararlanılarak geçici hatalara karşı koruma sağlanması
Bu tez çalışmasında bir sistemdeki etkin sayfalar önbelleği, fiziksel yazmaç dosyası ve program sayacı gibi sanal adressaklayan yapıların oluşabilecek geçici hatalara karşı korunmasını sağlayan yeni bir yöntem önerilmektedir. Çalışmageçici hataların sanal adres saklayan yapılardaki etkilerini göstererek yola çıkmaktadır. Önerilen çözüm,bağlama zamanında sanal adreslerin atanmasında doğrusal blok kodlayıcı kulllanılmasıdır. Bahsi geçen kodlayıcınınsanal adreslerin sayfa numarası kısmının atanmasında kullanılması ve bu kodlayıcının sayfa hatası kotarıcısınayerleştirilmiş bir çözücü ile desteklenmesi sayesinde sistemin hatalara karşı tahammüllünün artırıldığı gözlemlenmiştir.Ayrıca, donanımda gerçeklenmiş çözücüler kullanılarak program sayacı ve fiziksel yazmaç dosyasına kodlama yükü getirmedenhata düzeltici kodların sağladığı faydadan yararlanılabilinmesi öngörülmüştür.Bu tezin temel katkısı incelenen işlemci yapılarının MHAE'lerinde elde edilen düşüştür.etkin veri sayfaları önbelleği 42.5%, etkin buyruk sayfaları önbelleği40.3%, program sayacında 69.2% ve fiziksel yazmaçdosyasında 33.3% düzeyinde bir iyileştirme sağlanmıştır.
İşlemci yazmaçlarının güç ve güvenilirlik açısından verimsizliğinin engellenmesi
İşlemcinin yazmaç öbeği birçok bileşenle çeşitli aşamalarda etkileşim içinde olduğundan, işlemci veri-yolunun en aktif yapılarından birisidir. Buna rağmen yazmaç öbeği enerji ve veri yedekliliği bağlamında yeterince optimize edilmemiştir. Çalışmalarımızda hedefimiz ilk kısımda yazmaç öbeğinin enerji verimsizliğini optimize etmek ve ikinci kısımda gereksiz yazmaç yedekliliğinden daha yüksek güvenilirlik için istifade etmektir. Çağdaş mimarilerde yazmaç öbeği işlemcinin en çok enerji harcayan ve en çok kullanılan bileşenlerinden biridir. Bu nedenle yazmaç öbeğinin güç tüketimini azaltmak son derece önemlidir. Bu tezde, değişmeyen bitlere yazmayarak yazmaç öbeğinin enerji sarfiyatını azaltan tasarımlar öneriyoruz. Tasarımlarımız, yazmaç bitlerinin her işlemde ortalama sadece % 10'unun değiştiği gözlemine dayanmaktadır. Çalışmamızda, yazmaç öbeğinin yazma gücünü güncelleme-tabanlı bir yapıyla azaltmak için bu verimsizliği asgariye indiren mimari ve devresel teknikler önermekteyiz. 64-bitlik bir veri-yolunda, yazmaç öbeğinin enerji kaybının bazı gösterge programlar için % 24,85'e kadar ve tümünün ortalamasında % 20,59 seviyesinde azaltılabilmesinin ihmal edilebilir bir başarım kaybıyla mümkün olduğunu göstermekteyiz. Kozmik parçacıklar veya tümdevrenin paketleme malzemesinden kaynaklı radyasyon nedeniyle oluşan geçici hatalar, giderek önemi artan bir tasarım problemidir. Küçülen transistör kapı uzunluklarıyla birlikte sırasız çok-yollu boru-hattındaki veri-yolu bileşenleri geçici hatalara karşı daha da yatkın hale gelmektedir. Çağdaş mikro-işlemcilerdeki veri saklayan başlıca yapı olan yazmaç öbeği, araştırmacıların geçici hatalara karşı korumak için çok sayıda tasarım önerdikleri önemli işlemci kısımlarından olmuştur. Çalışmamıza yazmaç öbeğindeki kayıtlı değerlerin birçoğunun birbiriyle arasındaki Hamming uzaklıklarının çok az olduğu gözlemiyle başladık. Bu analiz sonuçlarını gösterdikten sonra sıfır Hamming uzaklığındaki yazmaç değerlerinin varlığından istifade eden bir geçici hata düzeltme yöntemi önerisi ortaya koyduk. Zaten mevcut olan bu yedekliliği parite korumasıyla birlikte kullanarak kaydedilmiş bir çok değeri düzeltme imkanını yakalamaktayız. Yöntemimizin kapsamasını genişletmek için aynı zamanda aralarındaki Hamming uzaklığı az olan değerler için de koruma sağlamayı öneriyoruz. Sonuçlarımız, yazmaç öbeğinde zaten mevcut olan kopyalardan istifade eden mekanizmaları kullanarak yazmaçların % 20,5'inin güç tüketiminde yalnızca % 2,8 artışla geçici hatalardan korunabildiğini göstermektedir. Bu yönteme aktif yazmaçları boşta olan yazmaçlara kopyalayan bir ilave mekanizmayı da eklersek, % 18,9 artan bir güç tüketimiyle yazmaç öbeğinin koruma kapsamı % 44,1'e yükselir. Kopyalama yerine en alt baytında sadece birkaç biti birbirinden farklı olan değerlerden istifade ederek kapsamayı önemsiz bir güç artışıyla % 39,8'e çıkarmak da mümkündür.
İşlemcilerde yazmaç numarası saklama alanlarını, ortaklaşa gösterim yöntemi ile, geçici hatalara karşı dayanıklı hale getirme
Günümüz teknolojisi, çok düşük kaynak gerilimlerinde çalışabilen, gittikçe ufalan boyutlarda transistör üretilebilmesine ve içerisinde çok daha sık transistör olan işlemcilerin üretilebilmesine olanak sağlamıştır. Fakat bu işlemciler enerji yüklü parçacık çarpması sonucu oluşan geçici hatalara karşı daha hassas hale gelmiştir. Bu durum özellikle elektromanyetik gürültünün fazla olduğu uzay gibi yerlerde önemli bir güvenilirlik problemine dönüşmektedir. Günümüzde işlemcileri bu tarz hatalara karşı korumak için çeşitli hata düzeltme algoritmaları ve koruyucu donanımlar geliştirilmiştir. İşlemcilerde yazmaç numarasını saklayan alanlarda oluşabilecek geçici hatalar, işlemci üzerinde çalışmakta olan programın farklı yazmaç numarasındaki veriyi kullanması sonucu çok büyük hatalara sebep olabilmektedir. Bu tez çalışmasında, TÜBİTAK'ın 112E004 nolu "Geçici Hatalara Karşı Dayanıklı Mikroişlemciler" projesi kapsamında işlemcilerde yazmaç numarasını saklayan alanları korunaklı hale getirmek için tasarladığımız bir tekniğe ve analiz sonuçlarına yer verilmiştir.
Fpga tabanlı sayısal sinyal işleme algoritmalarına özelleştirilmiş yardımcı işlemci tasarımı
Sayısal sinyal işlemede yaygın olarak büyük veri setleri üzerinde kullanılan fonksiyonların hızlandırılması için günümüzde çok çekirdekli işlemciler, grafik işlemciler, FPGA tabanlı sistemler ve ASIC tasarımlar kullanılarak paralel hesaplama ile sağlanır. Bu tez çalışması, ASELSAN - TOBB ETÜ iş birliğinde yürütülen ve çıktısı FPGA tabanlı ve OpenCL destekli, ölçeklenebilir ve özelleştirilebilir tasarıma sahip bir yardımcı işlemci ünitesi olan projenin donanım tasarımı kısmını kapsar. Bu çalışmada sinyal işleme uygulamalarında yaygın olarak kullanılan fonksiyonlar için özelleştirilmiş, OpenCL destekli ve ölçeklenebilir bir paralel işlemci mimarisi tasarlanmış ve FPGA platformunda gerçeklenmiştir.
Mobil platformlarda fır filtre tasarımı için FPGA ve GPU uygulamalarının enerji ve başarım analizi
Doğrusal faz cevabı ve istikrarlı olması itibariyle FIR filtreler sayısal sinyal işleme uygulamalarında çokça kullanılmaktadırlar. Gömülü sistemlerde kullanılan ve paralel uygulanma yapısındaki FIR filtreleri gerçeklemek için FPGA?lar en gözde çözüm olarak gözükmektedirler. Son zamanlarda büyük ölçekte paralellik özelliği gösteren ve yüksek hesaplama gücü gerektiren problemlerin çözümü için GPGPU etkili bir yöntem olarak ortaya çıkmıştır. Fakat GPGPU?lar yüksek güç tüketimleriyle kötü bir üne sahiptirler. Mobil platformlar için düşük güç tüketimi her zaman gerekli olduğu için çok çekirdekli güce aç GPGPU?lar mobil uygulamalarda çok etkili bir çözüm olmamışlardır. Xilinx?in Virtex serisi gibi güçlü FPGA?lar da aşırı enerji harcamaları nedeniyle mobil platformlarda kullanılması uygun gözükmemektedir. Bu çalışmada, değişik tap büyüklüklerine sahip FIR filtreler Spartan 3A DSP FPGA ve ARM Cortex-A9 ve orta sınıf Vivante GPU?dan oluşan bir mobil heterojen sistem üzerinde gerçeklenmiştir. Gerçeklenen FIR filtreler enerji harcamaları ve başarım yönlerinden karşılaştırılmıştır. Spartan FPGA enerji harcaması Xilinx?in Xpower Estimator yazılım aracı kullanılarak hesaplanırken heterojen sistemin enerji harcaması sisteme giren akımın ölçülmesiyle hesaplanmıştır. FIR filtre gerçeklenirken FPGA için değişik mimariler ve GPGPU için de birçok kod eniyilemesi kullanılmıştır. Sonuçlar Spartan 3A DSP FPGA?nın başarım ve enerji harcama yönünden GPGPU?ya göre daha üstün olduğunu göstermektedir. GPGPU, FPGA?lara göre henüz daha yeni bir saha olduğundan dolayı ilerleyen yıllarda yeni tekniklerle birlikte GPGPU tasarımlarının FPGA?lara yetişip geçmesi beklenebilir.
Durağan enerji kaybına karşı geliştirilen içerik uyarlamalı bit hücreleri ile özgün sram tasarımı: CSRAM
Gelişen teknoloji ile küçülen transistör boyutları, hem direkt olarak azalan boyutların etkisi ile hem de transistör yoğunluğundan kaynaklanan ısıl problemler gibi etkilerle transistör sızdırma akımlarını artırmakta ve kendi içinde beslemeli bu döngü ise durağan enerji kaybının güç tüketimi üzerine etkisini giderek daha da artırmaktadır. Modern işlemcilerde bu soruna karşı, derleyici seviyesinden işlemci birimleri seviyesine, SRAM seviyesinden transistör seviyesine kadar her seviyeden birçok teknik geliştirilmiştir. Fazla transistör yoğunluğuna ve işlemci içerisinde önemli paya sahip bellek yapıları ve özellikle SRAM üzerine transistör seviyesinde tasarımlara halen ihtiyaç duyulmaktadır. Bu amaçlarla durağan enerji kaybına karşı geliştirilen İçerik Uyarlamalı Bit Hücreleri ve bu bit hücrelerinin kullanıldığı özgün bir SRAM tasarımı olan CSRAM tez kapsamında anlatılacaktır. Önerilen bit hücresi, kendi transistörlerinin bias gerilimlerini, içinde tuttuğu bit değerine uyarlamaktadır ve uyarlanan bias gerilimleri ile mantık 0 veya 1 tutulurken kapalı transistörlerin eşik değeri voltajları daha yüksek ayarlanmaktadır. Sonuç olarak, geliştirilen İçerik Uyarlamalı CSRAM Bit Hücresi sayesinde her durumda sızdırma akımları önemli oranda azaltılmaktadır. Tez içerisinde ayrıca, bazı üretim teknolojilerinde NMOS transistörler için farklı alttaş gerilimlerine izin verilmemesi ve NMOS bias gerilimi için gerekli negatif güç besleme devresinin karmaşıklığından kurtulmak için geliştirilen ve durağan enerji kaybında %35 oranlarına kadar azalma sağlayan yalınlaştırılmış CSRAM bit hücresinden; yazmaç öbeği gibi birimlerin ihtiyaç duyduğu çok portlu devrelerde azalan alan maliyetinin, önbellek gibi birimlerde kullanılacak az portlu devrelerde oldukça yükselmesi sorununa karşı geliştirilen ve alan maliyetini %6?lara kadar düşürebilen Çoklu İçerik Uyarlamalı CSRAM bit hücrelerinden bahsedilecektir.