LEVENSHTEIN MESAFE ALGORİTMASI İÇİN BİR DONANIM MODÜLÜ TASARIMI

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "LEVENSHTEIN MESAFE ALGORİTMASI İÇİN BİR DONANIM MODÜLÜ TASARIMI"

Transkript

1 LEVENSHTEIN MESAFE ALGORİTMASI İÇİN BİR DONANIM MODÜLÜ TASARIMI İbrahim ŞAHİN Bilgisayar Mühendisliği Bölümü, Teknoloji Fakültesi, Düzce Üniversitesi, Düzce, TÜRKİYE Günay TEMÜR Kaynaşlı Meslek Yüksekokulu, Düzce Üniversitesi, Düzce, TÜRKİYE ÖZET Bilgisayar ortamında birçok uygulama kelime arama işlemine ihtiyaç duyar. Bu arama işlemlerini tam eşleşmeli ya da benzerlik tabanlı kelime arama işlemleri olarak iki gruba ayırmak mümkündür. Web sunucularında ve Internet tabanlı arama motorlarında yapılan arama işlemlerinde veya ofis uygulamalarında heceleme kontrolünde yanlış yazılan bir kelimeye en yakın kelimelerin bulunarak, kullanıcıya değişik alternatiflerin sunulmasında, benzerlik tabanlı algoritmalar kullanılmaktadır. Literatürde geliştirilmiş birçok benzerlik tabanlı arama algoritması bulmak mümkündür. Arama motoru gibi aynı anda binlerce kişinin erişerek arama yaptığı ortamlarda algoritmanın performansı çok önemlidir. Geliştirilen algoritmalar her zaman istenen performansı gösterememekteler, ayrıca sistem üzerinde ek yük oluşturmaktadırlar. Diğer taraftan bu algoritmaların donanım tabanlı olarak gerçeklenmesi ile hem daha hızlı sonuç elde etmek hem de algoritmanın üzerinde çalıştırıldığı sistemin yükünü hafifletmek mümkündür. Bu amaçlar doğrultusunda bu çalışmada benzerlik tabanlı kelime arama algoritmalarından Levenshtein Mesafe algoritması için FPGA çipleri üzerinde çalışabilecek bir donanım modülü tasarlanmıştır. Tasarlanan modül Xilinx in Virtex 6 (XC6VLX75T) FPGA çipi için sentezlenerek gerçeklenmiştir. Modülün çalışma performansı seçilen iki farklı bilgisayaralar üzerinde çalışan yazılım versiyonu ile karşılaştırılmıştır. Karşılaştırma sonucunda önerilen modülün yazılım tabanlı Levenshtein mesafe algoritmasına göre ile kat daha hızlı sonuç ürettiği gözlenmiştir. Anahtar Kelimeler: Mesafe Algoritmaları, Heceleme, Levenshtein Uzaklığı, Donanım Modülü, FPGA A HARDWARE MODULE DESIGN FOR LEVENSHTEIN DISTANCE ALGORITHM ABSTRACT Many computer applications require string or word search operations. These search operations can be classified in two groups which are exact and approximate string matching. Approximate string matching is used in search operations performed on web servers, Internet based search engines, and spelling checking on office applications to offer users several alternative results when the users enter misspelled words. It is possible to find several approximate string matching algorithms in the scientific literature. Performance of the matching algorithms is very important in the computing environments such as web servers and search engines where several hundreds of users access to the serves and performs search operations simultaneously. Matching algorithms may not provide sufficient performance and moreover they add additional burden to the systems. On the other hand, these algorithms can be speeded up and the overhead on the computer system can be eliminated when they are implemented as hardware. In this research work, to overcome the disadvantages of the matching algorithms, a hardware module is proposed for Levenshtein Distance algorithm. The module is designed to be used with FPGA chips. It is synthesized and implemented for Xilinx s Virtex-6 (XC6VLX75T) FPGAs. The module s performance is compared to the software version running on two different computers. Results showed that using the module, Levenshtein Distance can be calculated between and times faster than software version. Keywords: Distance Algorithms, Spell Checking, Levenshtein Distance, Hardware Module, FPGA

2 GİRİŞ Bilgisayar ortamında kelime arama işlemi sırasında aranan bir kelimenin var olan bir kelime dizini içerisindeki diğer kelimeler ile benzerliğinin belirlenebilmesinde mesafe algoritmalarından yararlanılmaktadır. Bu algoritmalara, özellikle günümüz arama motorları, kelime işlemci programları, virüs tarama programları veya DNA GEN eşlemeleri gibi işlemlerde ihtiyaç duyulmaktadır. Aranacak kelimenin yanlış, fazla veya eksik girilmesi gibi durumlarda çalışan mesafe algoritmaları bize aradığımız kelime dizisi içerisinde en yaklaşık sonuçları sunabilme özelliğine sahiptir. Edit Distance veya Spell Checking olarak bilinen bu mesafe algoritmaları, iki kelime arasındaki karakter farklılığını sayısal olarak hesaplarlar. Hesaplanan bu değer bize iki kelime arasında kaç karakterin uyumsuz olduğunu söyler. Sonuçta hedef dizi içerisindeki kelimelerden benzerliğin en fazla olduğu kelime (ki bu mesafenin en kısa olduğu kelimedir) bize demek istediğiniz bu mu diye sunulur. Algoritma sonucunun 0 çıkması ise iki kelimenin aynı olması demektir. Sayısal olarak hesaplanan sonuçlar algoritma için işlem maliyeti demektir ve işlem maliyeti arttıkça iki kelime arasındaki benzerlikte azalmaktadır. Internet ortamında kaçınılmaz olarak kullandığımız arama motorlarında, aranmak istenen fakat yanlış yazılmış bir kelimenin arama motoru tarafından düzeltilmesi işlemleri, mesafe algoritmaları sayesinde gerçekleştirilmektedir. Bu algoritmalar, daha önceden gerçekleştirilmiş arama kayıtlarında tutulan kelime bilgileri veya programların geniş kelime veri tabanları sayesinde kullanıcının yanlış yazmış olduğu kelime yerine tahmini en düşük maliyetli kelime sonuçlarını sunmaktadırlar. Şekil 1.1 de görüleceği gibi kullanıcının deneme yerine denme kelimesini yazdığını belirten mesafe algoritmaları, kelime dizisi içerisindeki en yakın kelime için sonuçları bize sunmuştur. Yine Şekil 1.2 de de bir kelime işlemci programı içerisinde yanlış yazılmış bir kelimeye ait maliyeti en düşük önerilerin listelendiği görülmektedir. Literatürde kelimeler arasında benzerlik mesafesini hesaplama konusunda geliştirilmiş birçok algoritma bulmak mümkündür. En çok bilinen algoritmalara örnek olarak Levenshtein Distance [1], Tanimoto Similarty [2], Jaccard Distance [3], Hamming Distance [4] verilebilir. Şekil 1.1: Arama Motorunda Aranan Kelimenin Düzeltilmesi Şekil 1.2: Kelime İşlemci Programı Tahmini Kelime Önerileri

3 Bilindiği gibi mesafe algoritmaları, intihal programları, kelime işlemci programları ve binlerce kişinin aynı anda ulaşmak istediği birçok arama sitesi gibi web sunucuları tarafından ihtiyaç duyulan algoritmalardır. Bu tür uygulamalar için algoritmanın çalışma zamanı, istenilen verilerin en kısa sürede kullanıcılara ulaştırılması bakımından çok önemlidir. Ayrıca mesafe algoritmalarını değerli yapan bir diğer unsurda, geniş bir veri tabanı üzerinde uygulandığında yanlış yazılmış arama veya örneklemeler için istenilen maliyetteki düzeltmelerin sonuçlarını sunmasıdır. Seçilen algoritmanın hızlı dönüt vermesi birincil önceliktir. Fakat bu algoritmalar, yazılımsal olarak gerçeklendiğinde özellikle sonuçların mikro saniye mertebesinde hesaplanması istendiği durumlarda hem uzun zaman almakta hem de üzerinde çalıştıkları web sunucularda veya bilgisayarlarda ekstra yük oluşturmaktadırlar. Diğer bir taraftan bu algoritmalar özel olarak tasarlanmış modüllerle donanımsal olarak gerçeklenebilirler. Böylece hem çok daha kısa sürede sonuç elde edilmesi, hem de sisteme eklenecek ekstra donanım sayesinde sunucu ya da bilgisayar üzerinde yükün hafifletilmesi mümkündür. Bu amaçlar doğrultusunda bu çalışmada yaygın olarak kullanılan mesafe algoritmalarından Levenshtein algoritması için bir donanım modülü tasarlanmıştır. Tasarlanan modül, Alanda Programlanabilir Kapı Dizileri (Field Programmable Gate Array (FPGA)) çipleri kullanılarak gerçeklenmiştir. Çalışma kapsamında geliştirilen modül çeşitli test durumları üzerinde denenmiş ve modülün ürettiği sonuçlar doğrulanmıştır. Aynı veriler, değişik özelliklere sahip genel amaçlı bilgisayarlar üzerinde yazılım olarak denenmiş, elde edilen sonuçlar tasarlanan modülün veri işleme hızı ile karşılaştırılmıştır. Test sonuçları tasarlanan donanım modülünün yazılım tabanlı algoritmaya göre ile kat daha hızlı sonuç verdiğini göstermiştir. GENEL BİLGİLER Mesafe algoritmaları Mesafe algoritmaları, bilgisayar ve matematik dünyasında farklı iki karakter dizisi arasındaki benzerliği hesaplayan algoritmalardır. Bu algoritmaların bir kısmı benzerliği hesaplarken diğer bir kısmı farklılığı hesaplasa da genelde mesafe algoritmaları olarak bilinirler. Günümüzde bu algoritmalar, arama motorları veya kelime işlemci programlarının dışında; kopya içerik tespiti (intihal), parmak izi tanıma, virüs tarama, DNA/RNA analizi gibi alanlarda yoğun bir şekilde kullanılmaktadır. En sık kullanılan algoritmalar bu bölümde kısaca açıklanmıştır. Levenshtein Mesafe Algoritması En çok bilinen mesafe algoritmalarının başında gelen Levenshtein Mesafesi iki kelimeyi harf harf karşılaştırarak, bir kelimenin diğerine dönüştürülmesi için gerekli olan işlem maliyetini hesaplamaktadır. Maliyet hesaplamada kullanılan matematiksel formül (1) de verilmiştir. max(i, j) if min(i, j) = 0, lev a,b (i 1, j) + 1 lev a,b (i, j) = min { lev a,b (i, j 1) + 1 diğer, lev { a,b (i 1, j 1)+1 ai b j Formül de verilen denklemin hesaplanabilmesi için geliştirilen Levenshtein algoritması Şekil 2.1 de verilmiştir. Algoritma hesaplama sonucunda bir tam sayı değeri vermektedir. Bu değer bir kelimenin diğerine dönüştürülmesi için gerekli işlem adedinin değeridir. Bir kelimenin diğerine dönüşmesi için yapılabilecek işlemler ise Silme (Deletion), Yer Değiştirme (Substitution), Ekleme (Insertion) şeklindedir [5]. İşlem türüne bakılmaksızın her bir işlem bir (1) maliyet değerine sahiptir. Şekil 2.2 de bir kelimenin diğerine dönüşüm için gerekli maliyeti gösteren örnek bir uygulama görülmektedir. Verilen örnek girdilere göre tablonun son hücresinde gösterilen maliyet kadar işlem gerçekleştirerek accountatn kelimesi accountants kelimesine dönüştürülmektedir. Böylece algoritma tarafından yanlış yazılmış olabileceği tahmin edilen accountatn kelimesi için accountants mı demek istediniz diye sunulmaktadır. (1)

4 int LevenshteinDistance(char s[1..m], char t[1..n]) { // d bir tablodur, m+1 satır ve n+1 sütun declare int d[0..m, 0..n] for i from 0 to m do d[i, 0] := i for j from 0 to n do d[0, j] := j for i from 1 to m do for j from 1 to n do { if s[i] = t[j] then cost := 0 else cost := 1 d[i, j] := min ( d[i-1, j] + 1, // del. d[i, j-1] + 1, // ins. } } return d[m, n] d[i-1, j-1] + cost) // subs. Şekil 2.1: Levenshtein Mesafe Algoritması [12] j # a c c o u n t a t n i # a c c o u n t a n t s İşlem Maliyeti Şekil 2.2: Levenshtein Mesafesi İçin Örnek Uygulama Hamming Mesafe Algoritması Hamming mesafesi olarak bilinen algoritma, verilen aynı uzunluktaki iki kelimenin birbirinden ne kadar farklı olduğunun belirlemek için kullanılır. Yani verilen bir kelimenin diğerine dönüşümü için gerekli işlem maliyetini hesaplamaktadır. Hamming mesafe algoritması aynı uzunluktaki iki kelimeyi karşılaştırdığından dolayı sadece yer değiştirme yaparak bir kelimeyi diğerine dönüşümü için gerekli maliyeti vermektedir [6]. Jaccard Mesafe Algoritması Jaccard Mesafesi bir matematiksel hesaplama olup dönüşüm içeren bir yaklaşım değildir. Benzerlik hesabı yapan bu algoritma hesaplamalarda Jaccard Index ini kullanmaktadır. Index basit olarak iki dizi için yapılmış olan özellik çıkarımı sonrasında belirlenir. Özellikten kast edilen, iki kelimenin harf harf veya bi-gram yöntemi ile 2 li gruplar halinde karşılaştırılması işlemidir. Ardından ortak olan özelliklerin sayısının, iki kelimedeki toplam özellik sayısına bölünmesi ile Jaccard Index i elde edilmektedir. İşlem sonucu 0-1 arasında değişen değerlerden oluşacaktır. Sonucun 1 olması bu iki kelimenin birbirine tamamen eşit olduğunu, 0 olması ise kelimelerin hiçbir ortak özelliğinin olmadığını gösterir. Hesaplanan Jaccard Mesafesi 1 den çıkarılır. Burada amaç, benzerlik değerinin tersini hesaplamaktır. Böylelikle birbirine yakın olan kelimelerde benzerliğin artması ile birlikte mesafe azalmaktadır. Bu yaklaşıma göre mesafe benzerliğin tam tersidir [7]. Tanimoto Benzerliği Tanimoto benzerlik fonksiyonu resimler arasında kullanılan bir mesafe algoritması olmasına karşın metinler içinde kullanılabilmekte ve Jaccard Mesafesi ile tanım olarak benzerlik göstermektedir lı yıllarda iki resim arasındaki benzerliğin bulunması amacıyla yapılan çalışmalar sonucu ortaya çıkmıştır. Resimlerin bitmap yani 1 ve 0 olarak tutulduğu bir ortamda benzerliklerinin belirlenmesi sırasında, Tanimoto Benzerliği her bir resmin aynı adresinde bulunan mantıksal değerlerin ve, veya operatörleri ile işleme sokularak orantılanmasıyla hesaplanır. Jaccard benzerliğinde de olduğu gibi hesaplama sonucunda 0-1 arasında bir değer bulunur. Benzerliğin 1 olması iki resmin birbirine eşit olduğunu, 0 olması ise resimlerin tamamıyla birbirinden farklı olduğunu gösterir. Yine Jaccard benzerliğinde olduğu gibi Tanimoto mesafesi benzerliğin tersi olarak düşünüldüğünde iki resim veya dizi birbirine ne kadar benzemezse mesafe de o kadar uzaklaşacaktır [8]. FPGA çipleri FPGA çipleri yeniden programlanabilir yapısı ve paralel işlem yapabilme yeteneği ile günümüzde tasarımcılara büyük kolaylık sağlayan tümleşik devrelerdir. FPGA ların son yıllarda gerçek zamanlı ve yüksek başarım gerektiren veri işleme uygulamalarındaki kullanımlarının oldukça yaygınlaştığı

5 görülmektedir [9][10]. Bir FPGA çipi içerisinde bulunan yapılandırılabilir mantıksal bloklar (Configurable Logic Blocks (CLBs)), ara bağlantılar (interconnecting network) ve giriş/çıkış blokları (Input/Output Blocks (IOBs)) kullanıcının tasarladığı devreye göre programlanabilirler. Bu çipler genellikle diğer devre elemanları ile birlikte bir elektronik kart şeklinde bilgisayar sistemlerine monte edilirler. Kartlar üzerinde FPGA çipinin ve bilgisayar sisteminin erişebildiği paylaşımlı hafıza üniteleri mevcuttur. Ana bilgisayar öncelikle işlenecek veriyi kart üzerindeki hafızaya aktarır. FPGA çipi istenen modül ile yapılandırıldıktan sonra çipler hafızadaki veriyi işlerler. Veri işleme süreci tamamlanınca FPGA çipi bir kesme sinyali ile ana bilgisayara sonuçların hazır olduğunu belirtir. Ana bilgisayar sonuçları kart üzerindeki hafızadan alır. Bu yaklaşımın en önemli avantajı, FPGA çipleri verileri işlerken ana bilgisayarın diğer işleri yürütmesidir. Diğer taraftan FPGA çipi içine yüklenen modül konfigürasyonu sadece özel bir işi yapmak için tasarlanmış bir modülü olduğundan genel amaçlı bilgisayarlara göre çok daha hızlı işlem yapar. LEVENSHTEIN MESAFESİ İÇİN FPGA MODÜL TASARIMI Bu çalışmada, Levenshtein algoritmasının mesafe hesaplama işlemlerini PC tabanlı yazılımsal çözümlere göre çok daha hızlı gerçekleştirebilecek FPGA tabanlı bir donanım modülü tasarlanmıştır. Tasarlanan modül, iki kelime arasındaki farklılığın ne kadar işlem maliyeti ile giderilebileceğini yani bir kelimenin diğerine dönüştürülmesindeki gerekli işlem sayısını yazılım versiyonuna göre çok daha kısa sürede hesaplamaktadır. Modül dört farklı seviyede hiyerarşik olarak tasarlanmış olup Şekil 3.1 de en üst seviye (birinci seviye) blok diyagramı görülmektedir. Modül 8 bitlik VeriGirişi girişi ile birlikte birer bitlik LoadA, LoadB, LoadC, Clock, Reset girişlerine sahiptir. Ayrıca hesaplama sonucunda mesafe değerinin alındığı 5 bitlik bir Mesafe çıkışı mevcuttur. VeriGirişi (7:0) Clock LaodA LoadB LoadC Reset LEVENSHTEIN MODÜLÜ Mesafe (7:0) Şekil 3.1: Birinci Seviye Blok Diyagram Şekil 3.2 de modülün ikinci seviye blok diyagramı görülmektedir. A00 - A15 ve B00 B15 kaydedicileri VeriGirişi nden gelen her iki kelimenin karakterlerini tutan kaydedici zincirleridir. İlk kelime LoadA=1 ve LoadB=0 sinyalleri ile A kaydedicilerine yüklenirken sinyallerin değişimi ile (LoadA=0 ve LoadB=1) diğer kelime B kaydedicisine yüklenir. Bu kaydediciler, karakterlerin sıra ile gelerek ilk kaydediciden son kaydediciye doğru ilerleyeceği şekilde tasarlanmıştır. A ve B kaydedicileri birer yürüyen merdiven gibi düşünülebilir. Gelen ilk karakter her clock ile birlikte bir sonraki kaydediciye çıkış olarak aktarılmaktadır. Aktarım bittikten sonra LoadA ve LoadB sinyalleri 0 a çekilir ve LoadC=1 yapılarak mesafe hesaplama işlemi başlatılır. Satır ve sütün hesaplamalarının başlangıcında kullanılan 0 dan 16 ya kadar sıralı değerler bulunmaktadır. Bu değerler modül içinde sabit olarak tanımlanmıştır ve satır ve sütün sıra numaraları ile aynı değerdedirler. Şekil 3.2 de de görüleceği gibi 0 köşe sayısı olup herhangi bir kaydediciyi temsil etmemektedir.

6 Load_A VeriGirişi (7:0) A00 A01 A15 Load_B Load_C B00 1 C 0,0 C 0,1 C 0,15 Hesaplama Dilimi B01 2 C 1,0 C 1,1 C1,15 Hesaplama Dilimi B15 16 C 15,0 C15,1 C 15,15 Hesaplama Dilimi Mesafe (7:0) Şekil 3.2: İkinci Seviye Blok Diyagram İkinci seviye blok içerisinde 16 adet hesaplama dilimi bulunmaktadır. Her dilim, Şekil 2.2 de örnek olarak verilmiş matrisin bir satırını hesaplanmasında sorumludur. Şekil 3.3 de görüldüğü gibi her bir dilimin içerisinde 16 adet (C 00 C 15) hesap hücresi mevcuttur ve bu hücreler Şekil 2.2 de görülen matrisin elemanlarını hesaplamaktan sorumludur. Hesaplama sonucunda elde edilen mesafe değeri hücre içerilerinde bulunan kayıtçılarda tutulur. Sol Üst Üst A 0 Sol Üst Üst A 1 Sol Üst Üst A 2 Sol Üst Üst A 15 B j Sol C j,0 B j C j,1 B j C j,2 B j C j,15 Load_C Diğer Hesaplama Dilimine Giden Çıkışları Şekil 3.3: Bir Hesaplama Diliminin İç Yapısı Şekil 3.4 de bir hücrenin iç yapısı görülmektedir. nin toplam beş girişi vardır. Bu girişler hücrenin bulunduğu konumdaki A i ve B j değerleri, hücrenin üst, sol ve sol-üst çapraz komşularından gelen girişlerdir. öncelikle A i ve B j girişlerinde gelen değerleri karşılaştırır. Karşılaştırma sonucunda eğer bu iki değer eşit ise sol-üst komşudan gelen değer olduğu gibi değil ise 1 arttırılarak yeniden düzenlenir. Ardında yeniden düzenlenmiş sol-üst komşu değeri, üst komşu değeri ve sol komşu değer birlikte karşılaştırılır. Karşılaştırma soncunda bu üç değerden en küçüğü hücre çıkışı olarak belirlenir ve diğer hücrelere iletilir. Modül içinde veri akışı dilimler arasında yukarıdan aşağıya doğru, hücreler arasında ise yukarında aşağıya solda sağa ve sağ-alt köşeye doğrudur. Karşılaştırılacak kelimelerin kaydedicilere yüklenmesinin ardında hesaplama işlemi başlar. Hesaplama aşamasında LoadC=1 yapılarak hücreler içinde veri akışının gerçekleşmesi sağlanır. Her saat darbesinden sonra doğru sonuç hücreler üzerinde sağ ve aşağıya bir birim ilerler. Bunun anlamı sağ alt köşeye mesafe bilgisinin doğru bir biçimde ulaşmasıdır. Buda 48 saat darbesi süre sonra gerçekleşir. ler pipeline (kanal) mantığı ile tasarlandıklarından her saat darbesinde sol üst köşeden yeni iki kelime için mesafe hesaplama işlemi başlatılabilir. İlk iki kelimenin mesafe bilgisi 48 saat darbesinden sonra hesaplanmasına karşın takip eden her saat darbesinde yeni bir sonuç elde edilebilir. Modül içindeki toplam 256 hücre bulunmaktadır ve hücreler 16 ve daha az karakterlik kelimeleri karşılaştırabilecek şekilde tasarlanmıştır.

7 B j A i Karşılaştırıcı (=?) SolÜst Üst Mux 0 En Küçük Çıkışı Sol 1 + Şekil 3.4: Bir nin İç Yapısı KARŞILAŞTIRMALI TEST SONUÇLARI Bu çalışmada kapsamında tasarlanan Levenshtein mesafe modülü, bir donanım tanımlama dili olan VHDL de kodlanmış ve Xilinx firması tarafında üretilen Virtex 6 (XC6VLX75T) çipi için sentezlenerek gerçeklenmiştir. Tablo 1 de modüle ait sentezleme sonuçları verilmiştir. Tablodan da rahatlıkla anlaşılacağı üzere XC6VLX75T çipi için 6 adet modül kopyasının yerleştirilmesi mümkündür. Daha yüksek kapasiteli çipler için daha fazla modülün aynı anda yerleştirilmesi mümkündür. Bu sayede birden fazla modül aynı anda çalıştırılarak tek bir kelimeyi veri tabanındaki birden fazla kelime ile karşılaştırması yada tam tersi işlem yapılması mümkündür. Böylece yazılımsal çözümlere göre mesafe hesaplama süresi daha da kısalmış olacaktır. Tablo 1: Virtex-6 FPGA Çip İstatistikleri Cihaz Slice. Sayısı ve (%) LUTs Sayısı ve (%) Slice FFs Sayısı ve (%) Bounded IOBs Sayısı ve (%) XC6VLX75T 256 (0.27) 7034 (15.10) 99 (1.37) 17 (7.08) Modülün belirlenen iki kelime arasındaki mesafeyi hesaplama süresi ISE benzetim programı kullanılarak elde edilmiş ve farklı özelliklere sahip iki bilgisayar üzerinde çalıştırılan yazılım versiyonunun aynı kelimeler arasındaki mesafeyi hesaplama süreleri ile karşılaştırılmıştır. Karşılaştırma amacıyla seçilen bilgisayarlardan PC-1 4 çekirdekli Hyper Treading (HT) teknolojisine sahip i7 işlemcili, PC-2 ise çift çekirdekli HT teknolojisine sahip olmayan işlemcili bilgisayarlardır. Deneylerde kullanılan test kelimeleri bir.txt dosyası içerisinde tutulmaktadır. Bilgisayarların, oluşturulan bu test verilerinde mesafe hesaplama başarımının ölçülmesi için C++ dilinde yazılan bir Levenshtein algoritması kullanılmıştır. Elde edilen arama süreleri mikro saniye türünden Tablo 2 de verilmiştir. Bu tabloda Kelime 1 ler aramak için girilen kelimeyi Kelime 2 ler ise kelimenin aslını ifade etmektedir. Tabloda ayrıca karşılaştırma amacıyla aynı kelimeler için modülün mesafe hesaplama süreleri de verilmiştir. Modüle kelime uzunluğuna bakmaksızın hep 48 saat darbesi sonunda sonuç ürettiğinden hesaplama süresi değişik uzunluktaki kelimeler için hep aynıdır. Diğer taraftan kelime uzunlukları arttıkça PC lerin hesaplama süreleri de artmaktadır.

8 Tablo 2: PC lerin vevirtex-6 üzerinde modülün Levenshtein mesafesi hesaplama süreleri. Örnek DİZİ İçerik Mesafe Örnek_1 Örnek_2 Örnek_3 Örnek_4 Kelime 1 Kelime 2 Kelime 1 Kelime 2 Kelime 1 Kelime 2 Kelime 1 Kelime 2 alagortime algoritma livensiteyn levenshtein enthusastec enthusiastic yükseokullarımız yüksekokullarımız PC-1 (µs) PC-2 (µs) Modül (µs) Şekil 4.1 deki grafikte modülün tek bir çip üzerinde tek bir kopyasının değişik kelime uzunluklarında PC lere göre hız kazancı görülmektedir. Bu grafikten görüldüğü gibi modül PC lere göre ile kat arasında daha hızlı mesafe hesaplaması yapmaktadır. PC ler aynı anda tek bir kelime çiftinin karşılaştırabilmektedir. Oysa bir FPGA çipine yerleştirilecek birden fazla modül kopyası ile aranan bir kelime aynı anda birde fazla hedef kelime ile karşılaştırılabilir. Bu durumda modülün hız kazancı PC lere göre katlanarak artacaktır. Virtex-6 Çipinin PC'lere Göre Hız Kazançları Hız Kazancı PC1 / Virtex-6 PC2 / Virtex-6 9 karakter 11 karakter 13 karakter 17 karakter Şekil 4.1: Virtex-6 FPGA Çipine Göre Sentezlenmiş Modülün PC lere Göre Hız Kazanç Grafiği SONUÇ VE TARTIŞMA Tam eşleşmeli ya da benzerlik tabanlı kelime arama işlemleri için birçok algoritma geliştirilmiştir. Web sunucusu, arama motoru, virüs taraması gibi bu algoritmaların yoğun olarak kullanıldıkları ortamlarda algoritmanın performansı çok önemlidir. Algoritmalar her zaman istenen performansı gösterememekteler, ayrıca sistem üzerinde ek yük oluşturmaktadırlar. Diğer taraftan bu algoritmaların donanım tabanlı olarak gerçeklenmesi ile hem daha hızlı sonuç elde etmek hem de algoritmanın üzerinde çalıştırıldığı sistemin yükünü hafifletmek mümkündür. Bu amaçlar doğrultusunda bu çalışmada benzerlik tabanlı kelime arama algoritmalarında Levenshtein Mesafe algoritması için bir donanım modülü tasarlanmıştır. Tasarlanan modül Xilinx in Virtex 6 (XC6VLX75T) FPGA çipi için sentezlenerek gerçeklenmiştir. Modülün çalışma performansı seçilen iki farklı PC üzerinde çalışan yazılım versiyonu ile karşılaştırılmıştır. Karşılaştırma sonucunda önerilen modülün yazılıma göre yaklaşık ile kat daha hızlı sonuç ürettiği gözlenmiştir. Tasarlanan modülün çip kullanım istatistiklerine bakıldığında aynı modülün 6 farklı kopyasının tek bir çip üzerine yerleştirilebilmesi mümkün görünmektedir. Çalışanın devamında eşzamanlı birden fazla arama işleminin gerçekleştirilebilmesi için yeni modül tasarımları yapılacaktır.

9 KAYNAKLAR [1]. Levenshtein VI., Binary codes capable of correcting deletions, insertions, and reversals, Soviet Physics Doklady, 10: , (1966). [2]. J. D. Rogers and T. T. Tanimoto, A Computer program for classifying plants. Science, 132(3434): doi: /science , (1960). [3]. P. Jaccard, The distribution of the flora in the alpine zone, New Phytologist 11: 37 50, (1912). [4]. W. R. Hamming, Error detecting and error correcting codes, Bell System Technical Journal, 29 (2): , MR , (1950). [5]. Levenshtein Distance, (2016). [6]. Hamming Distance, (2016). [7]. Jaccard Distance, (2016). [8]. Tanimoto Distance, (2016). [9]. A. Dehon, The Density Advantage of Reconfigurable Computing, IEEE Computer, pp. 33,41-49, (2000). [10]. D. Knuth, The Art of Computer Programming, volume 3, p , (1973). [11]. S. Qasim, A. S.A. ve B. Almashary, An Overview of Advanced FPGA Architectures for Optimized Hardware Realization of Computation Intensive Algorithms, IMPACT 09, (2009). [12]. (2016).

10

DİZE EŞLEŞTİRME BAŞARIMINI İYİLEŞTİRMEK İÇİN FPGA TABANLI BİR DONANIM MODÜLÜ TASARIMI

DİZE EŞLEŞTİRME BAŞARIMINI İYİLEŞTİRMEK İÇİN FPGA TABANLI BİR DONANIM MODÜLÜ TASARIMI İleri Teknoloji Bilimleri Dergisi Cilt 2, Sayı 2, 30-39, 2013 Journal of Advanced Technology Sciences Vol 2, No 2, 30-39, 2013 DİZE EŞLEŞTİRME BAŞARIMINI İYİLEŞTİRMEK İÇİN FPGA TABANLI BİR DONANIM MODÜLÜ

Detaylı

Yüzde tabanlı String Eşleme Problemi için yeni bir donanım modülü tasarımı. A hardware module design for percentage-based String Matching Problem

Yüzde tabanlı String Eşleme Problemi için yeni bir donanım modülü tasarımı. A hardware module design for percentage-based String Matching Problem SAÜ Fen Bil Der 20. Cilt, 3. Sayı, s. 441-450, 2016 Yüzde tabanlı String Eşleme Problemi için yeni bir donanım modülü tasarımı ÖZ İbrahim Şahin 1, Günay Temür 2* 29.05.2015 Geliş/Received, 20.06.2016 Kabul/Accepted

Detaylı

FPGA TABANLI ORTALAMA GÖRÜNTÜ FİLTRESİ TASARIMI FPGA BASED MEAN IMAGE FILTER DESIGN

FPGA TABANLI ORTALAMA GÖRÜNTÜ FİLTRESİ TASARIMI FPGA BASED MEAN IMAGE FILTER DESIGN İleri Teknoloji Bilimleri Dergisi Cilt 2, Sayı 2, 1-13, 2013 Journal of Advanced Technology Sciences Vol 2, No 2, 1-13, 2013 FPGA TABANI ORTAAMA GÖRÜNTÜ FİTRESİ TASARIMI Süleyman ÇAKICI 1 *, İbrahim ŞAHİN

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula Programlanabilir Lojik Basit Programlanabilir Lojik Cihazlar (Simple Programmable Logic Device - SPLD) ** PAL (Programmable

Detaylı

KLASİK ÇARPMA ALGORİTMALARININ DONANIMSAL SİMÜLASYONLARI VE PERFORMANS DEĞERLENDİRİMİ

KLASİK ÇARPMA ALGORİTMALARININ DONANIMSAL SİMÜLASYONLARI VE PERFORMANS DEĞERLENDİRİMİ KLASİK ÇARPMA ALGORİTMALARININ DONANIMSAL SİMÜLASYONLARI VE PERFORMANS DEĞERLENDİRİMİ R. Selami Özbey 1 ve Ahmet Sertbaş 2 1 TUBİTAK/UEKAE (Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü) 2 İstanbul

Detaylı

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır.

İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır. 1 İVME VGA İvme VGA, İvme s_2.1 fiziksel işlemci çekirdeğinin, çalışan iç yapısının herhangi bir simülasyon olmaksızın fiziksel olarak dış dünyaya aktarımıdır. Genel olarak yazmaçlar, hafıza elemanlarından

Detaylı

Gömülü Sistemler. (Embedded Systems)

Gömülü Sistemler. (Embedded Systems) Gömülü Sistemler (Embedded Systems) Tanım Gömülü Sistem (Embedded System): Programlanabilir bilgisayar içeren fakat kendisi genel amaçlı bilgisayar olmayan her türlü cihazdır. Gömülü Sistem (Embedded System):

Detaylı

PERFORMANCE COMPARISON OF KARATSUBA AND NIKHILAM MULTIPLICATION ALGORITHMS FOR DIFFERENT BIT LENGTHS

PERFORMANCE COMPARISON OF KARATSUBA AND NIKHILAM MULTIPLICATION ALGORITHMS FOR DIFFERENT BIT LENGTHS İstanbul Ticaret Üniversitesi Fen Bilimleri Dergisi Yıl:14 Sayı: 27 Bahar 2015 s. 55-64 Araştırma Makalesi KARATSUBA VE NIKHILAM ÇARPMA İŞLEMİ ALGORİTMALARININ FARKLI BİT UZUNLUKLARI İÇİN PERFORMANSLARININ

Detaylı

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ BİTİRME ÖDEVİ YUSUF GÖRÜM 040080379 Bölümü: Elektronik ve Haberleşme

Detaylı

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Veri Yapıları Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Hash Tabloları ve Fonksiyonları Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing

Detaylı

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta, Çift Anahtarlı (Asimetrik Şifreleme) Bilgi Güvenliği: Elektronik iletişim, günümüzde kağıt üzerinde yazı yazarak yapılan her türlü iletişimin yerine geçmeye adaydır. Çok uzak olmayan bir gelecekte kişi/kuruluş/toplumların,

Detaylı

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları

BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları BMB204. Veri Yapıları Ders 12. Dizgi Eşleme (String Matching) Algoritmaları İleri Veri Yapıları Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı Dizgi Eşleme Algoritmaları

Detaylı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1 Algoritmalar Arama Problemi ve Analizi Bahar 2016 Doç. Dr. Suat Özdemir 1 Arama Problemi Sıralama algoritmaları gibi arama algoritmaları da gerçek hayat bilgisayar mühendisliği problemlerinin çözümünde

Detaylı

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ Derya Birant, Alp Kut Dokuz Eylül Üniversitesi Bilgisayar Mühendisliği Bölümü İÇERİK Giriş PLC nedir? PLC lerin Uygulama

Detaylı

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür. İŞLEMCİLER (CPU) Mikroişlemci Nedir? Mikroişlemci, hafıza ve giriş/çıkış birimlerini bulunduran yapının geneline mikrobilgisayar; CPU' yu bulunduran entegre devre çipine ise mikroişlemci denir. İşlemciler

Detaylı

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi Buse Ustaoğlu Berna Örs Yalçın İçerik Giriş Çalişmanın Amacı Mikroişlemciye Hata Enjekte Etme Adımları Hata Üreteci Devresi

Detaylı

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı

VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı VHDL Kullanarak FPGA ile Yüksek Kapasiteli Tam Çıkarıcı Devre Tasarımı Kenan Baysal 1, Deniz Taşkın 2, Eser Sert 3, Nurşen Topçubaşı 4 1 Namık Kemal Üniversitesi, Hayrabolu Meslek Yüksekokulu, Bilgi Yönetimi

Detaylı

T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ

T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ T.C. İZMİR KÂTİP ÇELEBİ ÜNİVERSİTESİ BİLİMSEL ARAŞTIRMA PROJELERİ KOORDİNASYON BİRİMİ PROJE BAŞLIĞI Mühendislik Problemlerinin Bilgisayar Destekli Çözümleri Proje No:2013-2-FMBP-73 Proje Türü ÖNAP SONUÇ

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden

Detaylı

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo Microsoft Excell Excel Nedir? Excel programı; veriler üzerinde hesap yapabilme, verileri tabloya dönüştürebilme, verileri karşılaştırıp sonuç üretebilme, grafik oluşturma, veri yönetimi yapabilir. http://mf.dpu.edu.tr/~eyup

Detaylı

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ

OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ OSPF PROTOKOLÜNÜ KULLANAN ROUTER LARIN MALİYET BİLGİSİNİN BULANIK MANTIKLA BELİRLENMESİ Resul KARA Elektronik ve Bilgisayar Eğitimi Bölümü Teknik Eğitim Fakültesi Abant İzzet Baysal Üniversitesi, 81100,

Detaylı

Bilgisayar Sistemlerine Genel Bakış

Bilgisayar Sistemlerine Genel Bakış Süleyman Demirel Üniversitesi / Mühendislik Fak. / Bilgisayar Mühendisliği Carnegie Mellon Bölümü Bilgisayar Sistemlerine Genel Bakış BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr.

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İçerik Dosya Organizasyonu (File Organization) Veritabanı Sistemleri (Database Systems) BM307 Dosya Organizasyonu (File Organization) İçerik Dosya

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Mikro işlemler Fetch cycle Indirect cycle Interrupt cycle Execute cycle Instruction

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision)

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

Microsoft Office Excel 2007

Microsoft Office Excel 2007 2014 Microsoft Office Excel 2007 Öğr. Gör. Serkan KORKMAZ Harran Üniversitesi Birecik Meslek Yüksekokulu İçindekiler MİCROSOFT OFFİCE EXCEL 2007... 4 EXCEL ORTAMINDA ÇALIŞMAK... 4 EXCEL ÇALIŞMA SAYFASI...

Detaylı

Fırat Üniversitesi Personel Otomasyonu

Fırat Üniversitesi Personel Otomasyonu Fırat Üniversitesi Personel Otomasyonu Fırat Üniversitesi, Enformatik Bölümü, 23119, Elazığ fatihtalu@firat.edu.tr, rdas@firat.edu.tr Özet: Bu çalışmada, Fırat Üniversitesi Personel Daire Başkanlığı için

Detaylı

2. SAHADA PROGRAMLANABİLİR KAPI DİZİLERİ (FPGA)

2. SAHADA PROGRAMLANABİLİR KAPI DİZİLERİ (FPGA) 1. GİRİŞ Analog devrelerden sayısal devrelere geçildiği günümüzde, sayısal işaret işlemede, sayısal filtreler önemli bir rol oynamaktadır. Birçok cihazda kullanılan sayısal filtreleri gerçeklemek için

Detaylı

FPGA ile Gömülü Sistem Tasarımına Giriş

FPGA ile Gömülü Sistem Tasarımına Giriş FPGA ile Gömülü Sistem Tasarımına Giriş Bilg. Yük. Müh. Selçuk BAŞAK SelSistem Bilgi ve İletişim Teknolojileri www.selsistem.com.tr Giriş Gömülü Sistemler Programlanabilir Lojik - SPLD FPGA & CPLD Donanım

Detaylı

Veri Tabanı-I 5.Hafta

Veri Tabanı-I 5.Hafta Veri Tabanı-I 5.Hafta DataBase Oluşturma 1 DATABASE Kolon,özellik,alanColumn,attributes,fields) Sunucu Tablo numarası adı soyadı 0913109001 Ali Can 0913109002 Nuri Koç Database 0913109003 Fatma Kara Satır,Kayıt

Detaylı

Veritabanı Uygulamaları Tasarımı

Veritabanı Uygulamaları Tasarımı Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların

Detaylı

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN

PARALEL HESAPLAMA ÇAĞRI GİDER ENES BİLGİN PARALEL HESAPLAMA ÇAĞRI GİDER 13011016 ENES BİLGİN - 13011004 Paralel Hesaplama Nedir? Paralel Hesaplamanın Avantajları Paralel Hesaplamanın Kullanım Alanları Paralel Hesaplama Yöntemleri, Donanım ve Yazılım

Detaylı

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036. atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİL-341 ALGORİTMALAR BÜYÜK O NOTASYONU AHMET ATAKAN 0904.01036 atakanahmet@hotmail.com KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİŞKEK 2012 Ahmet Atakan

Detaylı

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı

T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI Eğitim Öğretim Yılı T.C. MARDİN ARTUKLU ÜNİVERSİTESİ MİDYAT MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI (UZAKTAN ÖĞRETİM) ÖNLİSANS PROGRAMI 2017-2018 Eğitim Öğretim Yılı ALGORİTMA VE PROGRAMLAMAYA GİRİŞ BPU101 5 AKTS 1. yıl/1.yarıyıl

Detaylı

ISK116 - Bölüm 1. Grup Teknolojisi

ISK116 - Bölüm 1. Grup Teknolojisi ISK - Bölüm Grup Teknolojisi Grup Teknolojisi (GT) Grup teknolojisi benzerliklerden faydalanarak büyük ve karmaşık bir üretim sisteminin, küçük ve kolay kontrol edilebilir sistemlere dönüştürülmesi hedeflenmektedir.

Detaylı

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı

80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi. Özdemir ÇETİN 1. Bölümü, Adapazarı 80C51 Mikrodenetleyicilerinde Timer-Counter Yapılarının FPGA Mimarileri Kullanılarak Geliştirilmesi Özet Murat ÇAKIROĞLU 1 Ahmet Turan ÖZCRİT 1 alil İbrahim SKİKURT 1 Özdemir ÇTİN 1 1 Sakarya Üniversitesi,

Detaylı

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI Hatice YANIKOĞLU a, Ezgi ÖZKARA a, Mehmet YÜCEER a* İnönü Üniversitesi Mühendislik Fakültesi Kimya Mühendisliği

Detaylı

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN

VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI. Yard. Doç. Dr. Özdemir ÇETİN VHDL DONANIM TANIMLAMA DİLİD ve FPGA, CPLD DONANIMLARI Yard. Doç. Dr. Özdemir ÇETİN Sunu Başlıklar kları 1. Amaç 2. Temel Bilgiler 1. SoC (System-On-Chip) nedir? 2. SoC donanım araçları ASIC (Application

Detaylı

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması Sistem Programlama Sistem programlama bilgisayar mühendisliğinin bir alanı olup karmaşık sistemlerin ve bu sistemlerin parçalarının ile ilgilenir. İşletim Sistemlerinin Programlaması Giriş/Cıkış( I/O)

Detaylı

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne

Detaylı

FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU

FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU M. Fatih TALU*, Resul DAŞ* (*) Fırat Üniversitesi, Enformatik Bölümü, 23119, ELAZIĞ fatihtalu@firat.edu.tr, rdas@firat.edu.tr ÖZET Bu çalışmada, Fırat Üniversitesi

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

Ara Katman Yazılımları İçin İşlemci Değer Birimi Lisanslaması

Ara Katman Yazılımları İçin İşlemci Değer Birimi Lisanslaması IBM Software Ara Katman Yazılımları İçin İşlemci Değer Birimi Lisanslaması Geleceğe İlişkin Temelin Sağlam Olabilmesi İçin Yapının Geliştirilmesi Müşteri Sunumu 2006 IBM Corporation Gündem Ara katman yazılımı

Detaylı

Bulanık Mantık Tabanlı Uçak Modeli Tespiti

Bulanık Mantık Tabanlı Uçak Modeli Tespiti Bulanık Mantık Tabanlı Uçak Modeli Tespiti Hüseyin Fidan, Vildan Çınarlı, Muhammed Uysal, Kadriye Filiz Balbal, Ali Özdemir 1, Ayşegül Alaybeyoğlu 2 1 Celal Bayar Üniversitesi, Matematik Bölümü, Manisa

Detaylı

T E M E L K AV R A M L A R. Öğr.Gör. Günay TEMÜR / Teknoloji F. / Bilgisayar Müh.

T E M E L K AV R A M L A R. Öğr.Gör. Günay TEMÜR / Teknoloji F. / Bilgisayar Müh. B İ L G İ S AY A R M Ü H E N D İ S L İ Ğ İ N E G İ R İ Ş T E M E L K AV R A M L A R BAŞLAYALIM BİLGİSAYAR (COMPUTER) NEDİR? Bilgisayar, kullanıcıdan aldığı verilerle aritmetiksel ve mantıksal işlemler

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Tabu Arama (Tabu Search) Doç.Dr. M. Ali Akcayol Tabu Arama 1986 yılında Glover tarafından geliştirilmiştir. Lokal minimum u elimine edebilir ve global minimum u bulur. Değerlendirme

Detaylı

Mikroişlemcili Sistemler ve Laboratuvarı

Mikroişlemcili Sistemler ve Laboratuvarı SAKARYA ÜNİVERSİTESİ Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Bölümü Mikroişlemcili Sistemler ve Laboratuvarı Hafta04 : 8255 ve Bellek Organizasyonu Doç.Dr. Ahmet Turan ÖZCERİT

Detaylı

Çalışma Açısından Bilgisayarlar

Çalışma Açısından Bilgisayarlar Çalışma Açısından Bilgisayarlar Ölçme sistemi ile hesaplama sistemi birbiriyle ilgili olmasına rağmen aynı değillerdir. Suyun sıcaklığı ve gürültünün şiddeti ile evdeki lambaların ölçülmesi aynı değillerdir.

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ Bilgisayar, kendine önceden yüklenmiş program gereğince

Detaylı

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

AKILLI KAVŞAK YÖNETİM SİSTEMİ

AKILLI KAVŞAK YÖNETİM SİSTEMİ AKILLI KAVŞAK YÖNETİM SİSTEMİ 1 1. PROJE ÖZETİ Dünya nüfusu, gün geçtikçe artmaktadır. Mevcut alt yapılar, artan nüfusla ortaya çıkan ihtiyaçları karşılamakta zorlanmaktadır. Karşılanamayan bu ihtiyaçların

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

BİL 423 Bilgisayar Mimarisi 1. Ara Sınavı

BİL 423 Bilgisayar Mimarisi 1. Ara Sınavı MALTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSİĞİ BÖLÜMÜ BİL 423 Bilgisayar Mimarisi 1. Ara Sınavı Öğrenci Adı Soyadı : Öğrenci no : Akademik yıl : 2015-2016 Dönem : Güz Tarih : 4.11.2015 Sınav yeri : MZ-4 Sınav

Detaylı

Bilgisayar Mimarisi Nedir?

Bilgisayar Mimarisi Nedir? BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde

Detaylı

Digital Design HDL. Dr. Cahit Karakuş, February-2018

Digital Design HDL. Dr. Cahit Karakuş, February-2018 Digital Design HDL Dr. Cahit Karakuş, February-2018 NOT, AND, and OR Gates NAND and NOR Gates DeMorgan s Theorem Exclusive-OR (XOR) Gate Multiple-input Gates Basic Logic Gates and Basic Digital Design

Detaylı

Bir ağ içerisinde bulunan tüm cihazların bir IP adresi olmak zorundadır. Cihazlar haberleşmelerini bu IP adresi üzerinden sağlar ancak cihazların

Bir ağ içerisinde bulunan tüm cihazların bir IP adresi olmak zorundadır. Cihazlar haberleşmelerini bu IP adresi üzerinden sağlar ancak cihazların Öğr.Gör. Ümit ATİLA Bir ağ içerisinde bulunan tüm cihazların bir IP adresi olmak zorundadır. Cihazlar haberleşmelerini bu IP adresi üzerinden sağlar ancak cihazların birbirleri ile haberleşebilmeleri için

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Bilgisayar Bileşenleri Bilgisayarın Fonksiyonu Instruction Cycle Kesmeler (Interrupt lar)

Detaylı

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları Programın açılması Ana ekranın tanıtılması Sekmeler menüsünün tanıtılması Seçili sekmeye göre açılan şeritlerin tanıtılması Veri Girişi Formül ekleme

Detaylı

Dicle Üniversitesi Bilgi İşlem Online Talep Takip Sistemi

Dicle Üniversitesi Bilgi İşlem Online Talep Takip Sistemi Dicle Üniversitesi Bilgi İşlem Online Talep Takip Sistemi Cengiz Coşkun 1, Abdullah Baykal 2 1 Dicle Üniversitesi Bilgi İşlem Daire Başkanlığı, Diyarbakır 2 Dicle Üniversitesi Fen Fakültesi, Matematik

Detaylı

Microsoft Excel in Performansını Etkileyen Faktörler Microsoft Excel, hiç şüphesiz milyonlarca kullanıcının kullandığı bir yazılım. İşletim sistemi ayarları, yüklü yazılımlar, Excel dosyaların kullanım

Detaylı

Motivasyon Matrislerde Satır İşlemleri Eşelon Matris ve Uygulaması Satırca İndirgenmiş Eşelon Matris ve Uygulaması Matris Tersi ve Uygulaması Gauss

Motivasyon Matrislerde Satır İşlemleri Eşelon Matris ve Uygulaması Satırca İndirgenmiş Eşelon Matris ve Uygulaması Matris Tersi ve Uygulaması Gauss Motivasyon Matrislerde Satır İşlemleri Eşelon Matris ve Uygulaması Satırca İndirgenmiş Eşelon Matris ve Uygulaması Matris Tersi ve Uygulaması Gauss Jordan Yöntemi ve Uygulaması Performans Ölçümü 2 Bu çalışmada,

Detaylı

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım:

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım: SEÇİM İŞLEMLERİ Windows altında çalışan bütün programlarda bir prensip vardır. Bu da Önce seç sonra yap tır. Ne yapmak istiyorsanız ilk önce onunla ilgili veri alanlarını seçmeli daha sonra istenilen işlemi

Detaylı

ISSN : Duzce-Turkey

ISSN : Duzce-Turkey ISSN:1306-3111 e-journal of New World Sciences Academy 2011, Volume: 6, Number: 4, Article Number: 1A0263 ENGINEERING SCIENCES İsmail Koyuncu Received: September 2011 İbrahim Şahin Accepted: October 2011

Detaylı

ELEKTRONİK TABLOLAMA Aritmetiksel işlemler ve mantısal karşılaştırmaların yapıldığı programlar elektronik tablolama programlarıdır.

ELEKTRONİK TABLOLAMA Aritmetiksel işlemler ve mantısal karşılaştırmaların yapıldığı programlar elektronik tablolama programlarıdır. ELEKTRONİK TABLOLAMA Aritmetiksel işlemler ve mantısal karşılaştırmaların yapıldığı programlar elektronik tablolama programlarıdır. Günümüzde yaygın olarak kullanılan elektronik tablolama programlarından

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

Bilgisayar Programlama. 1.Hafta

Bilgisayar Programlama. 1.Hafta Bilgisayar Programlama 1.Hafta Ders Planı 1. Bilgisayar Programlamaya Giriş 2. C Derleyicileri 3. GCC Kullanımı 4. Veri Tipleri ve Operatörler 5. Kontrol Yapıları 6. Döngüler 7. Döngüler 2. Hafta 8. Fonksiyonlar

Detaylı

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular Önsöz Giriş İçindekiler V VII IX 1.1. Algoritma 1.1.1. Algoritma Nasıl Hazırlanır? 1.1.2. Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular 2.1. Programın Akış Yönü 19 2.2. Başlama

Detaylı

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT

BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ MEHMET ALİ SERT BİLGİSAYAR PROGRAMLARININ TASARIMLARINDAKİ VE KODLARINDAKİ SORUNLARIN BELİRLENMESİ ALPER FİLİZ 040080202 MEHMET ALİ SERT 040090521 SUNUM İÇERİĞİ Problem Tanımı Tespit Edilen Sorunlar Problemin Sonuçları

Detaylı

(Random-Access Memory)

(Random-Access Memory) BELLEK (Memory) Ardışıl devreler bellek elemanının varlığı üzerine kuruludur Bir flip-flop sadece bir bitlik bir bilgi tutabilir Bir saklayıcı (register) bir sözcük (word) tutabilir (genellikle 32-64 bit)

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN MATLAB A GİRİŞ EE-346 Hafta-1 Dr. Ayşe DEMİRHAN MATLAB Teknik ve bilimsel hesaplamalar için yazılmış yüksek performanslı bir yazılım geliştirme aracı MATrix LABoratory (MATLAB) Boyutlandırma gerekmeyen

Detaylı

Gelişmiş Şifreleme Standardının - AES - FPGA Üzerinde Gerçeklenmesi

Gelişmiş Şifreleme Standardının - AES - FPGA Üzerinde Gerçeklenmesi Gelişmiş Şifreleme Standardının - AES - FPGA Üzerinde Gerçeklenmesi K. V. Dalmışlı, B. Örs İstanbul Teknik Üniversitesi Elektrik-Elektronik Fakültesi Maslak, Istanbul dalmisli@itu.edu.tr Siddika.Ors@itu.edu.tr

Detaylı

AES (Advanced Encryption Standard)

AES (Advanced Encryption Standard) ŞİFRELEME ÇEŞİTLERİ AES (Advanced Encryption Standard) AES (Rijndael) algoritması 128 bit veri bloklarını 128, 192, 256 bit anahtar seçenekleri ile şifreleyen bir algoritmadır. 128 bit anahtar için 10

Detaylı

FPGA Mimarisi. Bilgisayar Mimarisinde Yeni Yaklaşımlar. Mehmet AKTAŞ

FPGA Mimarisi. Bilgisayar Mimarisinde Yeni Yaklaşımlar. Mehmet AKTAŞ FPGA Mimarisi Bilgisayar Mimarisinde Yeni Yaklaşımlar Mehmet AKTAŞ 1. Giriş Sigorta Bağlantılı Teknolojiler Karşıt Sigorta Teknolojisi ROM PROM EPROM EEPROM SRAM 2. Programlanabilir Teknolojiler Programlanabilir

Detaylı

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Sıralı erişimli dosya organizasyonu yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Sıralı erişimli dosya organizasyonu yöntemleri Sunum planı Sıralı erişimli dosya organizasyonu yöntemleri Basit sıralı

Detaylı

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1 Algoritmalar Sıralama Problemi ve Analizi Bahar 2017 Doç. Dr. Suat Özdemir 1 Sıralama Problemi ve Analizi Bu bölümde öncelikle bir diğer böl-ve-yönet yöntemine dayalı algoritma olan Quick Sort algoritması

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI AMAÇ: DTMF işaretlerin yapısının, üretim ve algılanmasının incelenmesi. MALZEMELER TP5088 ya da KS58015 M8870-01 ya da M8870-02 (diğer eşdeğer entegreler

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ Algoritma Analizi Çerçevesi Algoritma Analizinde Göz Önünde Bulundurulması Gerekenler Neler? Algoritmanın Doğruluğu (Correctness) Zaman

Detaylı

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları

Fiziksel Tasarım Konuları. Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım Konuları Dosya Organizasyon Teknikleri Kayıt Erişim Yöntemleri Veri Yapıları Fiziksel Tasarım İyi performans için Hızlı cevap zamanı Minimum disk erişimi Disk Yapısı İz(Track) Silindir

Detaylı

Mikroçita. Mikroçita Rapor 2:

Mikroçita. Mikroçita Rapor 2: Mikroçita Rapor 2: İşlemci projemizle ilgili olarak hazırlamış olduğumuz bu ikinci raporda öncelikli olarak vhdl kullanarak tasarladığımız işlemcimizin genel çalışmasını ilk rapora göre daha ayrıntılı

Detaylı

BÖLÜM12. 2- FORMÜLLER ve OTOMATİK TOPLAM. 2.1. Formüller

BÖLÜM12. 2- FORMÜLLER ve OTOMATİK TOPLAM. 2.1. Formüller BÖLÜM12 2- FORMÜLLER ve OTOMATİK TOPLAM 2.1. Formüller Formül, bir sayfadaki verilerin aritmetiksel, mantıksal, istatistiksel vb. işlemleri yapması için kullanılan denklemlerdir ve bize sonuç bildirirler.

Detaylı

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber FPGA ile Kablosuz Görüntü Aktarımı Yusuf Onur Koçberber Seminer 2009 Yaz Plan FPGA Genel bilgiler FPGA nın İç Yapısı, Nasıl Programlanabiliyor?, Nasıl Çalışıyor? Neden bu kadar popüler oldu? MPW Her şeyin

Detaylı

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTUSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİMDALI. I. GENEL BİLGİLER Ders Adı BİM618 Evrimsel Algoritmalar Öğretim Üyesi Prof. Dr. Derviş Karaboğa Görüşme Saatleri 8.00-17.00 E posta: karaboga@erciyes.edu.tr http://abis.erciyes.edu.tr/sorgu.aspx?sorgu=236 Erciyes Üniversitesi, Mühendislik

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. NEDEN BİYOMETRİK?DOĞRULAMA Biyometrik veri taklit edilemez, şifre gibi unutulamaz! Şifre olmadığı için, casus yazılımlara karşı güvenlidir! Biyometrik

Detaylı

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU Bilişim Sistemleri Modelleme, Analiz ve Tasarım Yrd. Doç. Dr. Alper GÖKSU Ders Akışı Hafta 5. İhtiyaç Analizi ve Modelleme II Haftanın Amacı Bilişim sistemleri ihtiyaç analizinin modeli oluşturulmasında,

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU Bilgisayar Nedir? Bilgisayar; Kullanıcıdan aldığı bilgilerle mantıksal ve aritmetiksel işlemler yapabilen, Yaptığı işlemleri saklayabilen, Sakladığı

Detaylı