Çok Çekirdekli İşlemciler ve Paralel Yazılım Geliştirme Olanakları Hakkında Bir İnceleme
|
|
- Gizem Erbakan
- 6 yıl önce
- İzleme sayısı:
Transkript
1 Çok Çekirdekli İşlemciler ve Paralel Yazılım Geliştirme Olanakları Hakkında Bir İnceleme Ecem İren1, Halil Can Akince2, Aylin Kantarcı2 1Bilgisayar Müh. Bölümü, Gediz Üniversitesi, İZMİR 2Bilgisayar Müh. Bölümü, Ege Üniversitesi, İZMİR Özet: Bu bildiride Çok Çekirdekli İşlemci mimarileri, bu işlemciler için yazılım geliştirme teknikleri ve bu işlemcilerin performansları incelenmekte ve daha yüksek performans için öngördüğümüz noktalar dile getirilmektedir. Anahtar Sözcükler: Çok çekirdekli işlemciler, OpenMP An Overview on Multicore Processors and Parallel Software Develeopment Abstract: In this paper, we give an overview on the architecture and performance of multicore processors and related software development techniques. Additionally, we provide some recommendations for higher performance. Keywords: Multicore Processors, OpenMP 1. GİRİŞ Bilgisayar mimarilerinin evriliminde rol oynayan önemli bir faktör performans faktörüdür. İlk işlemci sınıfı olan CISC (Complex Instruction Set Computers) işlemcilerinde makine komut setine bir anda birçok işlevi yerine getiren karmaşık komutlar yerleştirilerek yüksek performans sağlanmaya çalışıldı. Ancak, bu komutların işletilebilmesi için gerekli donanım da çok karmaşık, dolayısı ile de yüksek maliyetli idi. Bilgisayarların daha geniş bir kitleye yayılması için fiyatlarının ucuzlaması gerekti. Bu nedenle işlemciler basitleştirilerek karmaşık CISC komutlarının yorumlayıcı (interpreter) vasıtasıyla basit işlemciler üzerinde çalışması sağlandı. Bu da yorumlama işleminin getirdiği performans kaybına sebep oldu. Donanım mühendisleri çözümü komut setini basitleştirmekte gördüler ve bu noktada RISC (Reduced Instruction Set Computers) işlemciler ortaya çıktı. Bu işlemciler basit komut setlerini yorumlayıcı olmadan basit donanım üzerinde çalıştırarak performans artışı sağladılar. Günümüzde CISC mimarilerini geriye uyumluluğu esas alan Intel işlemcilerinde, tamamen modern bir tasarıma sahip olan RISC mimarilerini de SPARC işlemcilerinde görmekteyiz [1, 2]. Sonraki adımda donanım mühendisleri işlemci performansını birim zamanda işletilmeye başlanan komut sayısında arttırmakta gördüler ve boruhattı (pipeline) düzeninde çalışan işlemciler ortaya çıktı. Bu işlemcilerde farklı komut evrelerinin farklı donanım birimlerince işletilmesi sağlandı. Artık aynı anda birçok komutun farklı evreleri farklı donanım birimlerinde eşzamanlı çalışıyordu. Yer ve ısı problemlerinden dolayı boruhattı sayısını 2 den yukarı çıkaramadılar. Çözüm olarak çok sayıda işletim evresi birimine sahip ve diğer evrelere ait birimlerin 1 tane olduğu superskalar işlemciler geliştirildiler ve başarılı oldular [1, 2]. Ancak superskalar işlemciler de performansı 4 kattan yukarı çıkaramadı. Bunun üzerine çoklu işlemciler (multiprocessor) yolu ile performans artışına gidildi. Ancak, bir bilgisayarda 2 den fazla işlemci kullanmak işletim sistemini karmaşıklaştırdı. Isı, hacim ve maliyet problemleri de eklenince donanım mühendisleri yeni arayışlara yöneldiler. Bu arayışlar işlemciler ailesine çok çekirdekli (multicore) işlemcilerin katılmasının önünü açtı. Günümüz işlemci araştırmalarının getirdiği son nokta olan çok çekirdekli işlemcilerde bir bilgisayar içinde çoklu işlemcilerde olduğu gibi birbirinden bağımsız işlemciler yerine çok sayıda çekirdeğe sahip tek bir işlemci kullanılarak hem performans sınırları aşılmaya çalışılmış, hem de maliyet, ısı, hacim problemlerinin önüne geçilmiştir [1, 2]. Bu bildiride sırasıyla çok çekirdekli işlemcilerin yapısı, bu işlemciler üzerinde yazılım geliştirme modelleri ve bu işlemcilerin performanslarını etkileyen faktörler tanıtılmaktadır. Bildirinin bu tür bir platformda uygulama geliştirmeyi planlayan yazılımcılar ve araştırmacılar için bir rehber niteliği taşıması amaçlanmaktadır. 2. ÇOK ÇEKİRDEKLİ İŞLEMCİ MİMARİSİ Bir çok çekirdekli işlemci, her biri bir işlem birimi ve ön bellekten oluşan birden fazla çekirdek ve bu çekirdeklerin tümü tarafından ortaklaşa kul- 19
2 lanılan paylaşımlı bir önbellek içeren bir bütünleşik devredir (Şekil 1). Bir çekirdek sadece bir anda içerisinde sadece bir iş parçacığı ya da süreç çalıştırabilmektedir. Hyperthreading (HT) teknolojisi sayesinde, bir çekirdeğin eş zamanlı olarak iki iş parçacığı ya da süreci çalıştırabilmesi mümkündür [3]. Şekil 1. Çok çekirdekli bir işlemcinin genel yapısı 3. ÇOK ÇEŞİTLİ İŞLEMCİLER İÇİN YAZILIM GELİŞTİRİMİ 3.1 Paralel Yazılım Geliştirme Olanakları Paralel uygulama geliştirmek için mevcut olanaklar Üst Düzeyde olanaklar ve Alt Düzeyde olanaklar olmak üzere 2 sınıfta incelenebilir [3]. Üst Düzeydeki olanaklar POSIX iş parçacıkları gibi iş parçacığı kütüphaneleri ile uygulamacının iş parçacıklarını doğrudan yaratmasını sağlar. Uygulama geliştirici uygulamasını parçalara böler ve her bir parça için kütüphane formatına uygun olacak şekilde iş parçacıkları yaratır. Uygulama çalışmaya başladığında işletim sistemi bu iş parçacıklarını yaratır ve her birini bir çekirdeğe atar. Bu yaklaşımda bellekte kullanıcı uzayında yer alan bir iş parçacığı kütüphanesi iş parçacıklarının yaratımını, sonlandırımını, senkronizasyonunu ve iş dağıtımını üstlenir (Şekil 2). Çok çekirdekli işlemciler, uygulama gereksinimlerine bağlı olarak farklı şekillerde tasarlanabilmektedirler. Heterojen çekirdek grupları, homojen çekirdek grupları veya bunların birleşiminden oluşan sistemler oluşturulabilmektedir. Homojen çekirdek mimarisinde, Merkezi İşlem Biriminde bulunan tüm çekirdekler aynıdır ve böl ve fethet yaklaşımını kullanarak işlemcinin performansını arttırmaya çalışmaktadırlar. Bunu yaparken yüksek miktarda veriyi çekirdeklere dağıtarak uygulamayı paralel çalıştırılmaktadırlar. Diğer yandan heterojen çekirdekler, özel amaçlar için tasarlanmış farklı çekirdeklerden oluşmaktadır [3]. Bir çekirdek üzerinde çalışmakta olan bir iş parçacığı/süreç verileri ve çalıştıracağı komutları kendine ait 1. Seviye Ön Bellekten alır. İstenen veri/komutun burada bulunamaması durumunda daha geniş kapasiteli 2. Seviye Ön Belleğe başvurulur. Orada da bulunamayan veriler/komutlar için Veriyolu Arayüzü aracılığı ile ana belleğe başvurulur. Bir çekirdekten başka bir çekirdeğe ait önbellekte bulunan bir veriye de ihtiyaç duyabilir. Bu durumda çekirdekler arası iletişim gerçekleştirilir. Tüm bu bellek erişimi modelleri işlemci üzerinde yoğun bir bellek trafiği yaratır. Bu nedenle bu işlemcilerin entegrelerine gelişmiş bir Kontrol Ünite si de eklenir. Bu kontrol birimi ayrıca, iş parçacıklarının yaratımı, sonlandırımı, iş dağıtımı vb. işlemleri yerine getirir ve tek çekirdekli işlemcilerin kontrol birimlerine göre çok daha karmaşık bir yapı ve işleyişe sahiptir [4]. Şekil 2. Üst Düzeyde paralel yazılım geliştirme olanaklarına bir örnek: Pthreads Alt Düzeyde olanaklar, seri kod üzerinde paralelleştirmenin yapılabileceği noktalarda kullanılırlar. Bu yaklaşıma en iyi örnek OpenMP kütüphanesidir. Yazılım geliştirici kodunu seri olarak yazar. Sonra parelelleştirme olanaklarını analiz eder. Paralelleştirilecek bölgenin başına derleyiciye direktifler yerleştirir. Uygulama çalıştırılacağı zaman işletimine seri olarak başlar. İşlemci kontrolörü paralleştirme direktiflerine rastladığı anda direktiflere eklenmiş ifadeleri ve parametreleri göz önüne alarak uygun şekilde iş parçacıklarını yaratır ve çekirdeklere atar (Şekil 3) [3]. 20
3 Yazılım geliştiricinin iş parçacıklarını açıkça yaratmasına dayalı Üst Düzeyde paralelleştirme olanakları uygulamaların eş zamanlı çalışacak farklı görevlere sahip modüler bir yapıya sahip olma durumunda daha uygundur. Alt Düzeydeki olanaklar ise görevlerin birbini izleyen paralelleşebilecek adımlar şeklinde gerçekleştirilmeleri durumunda daha uygundurlar. Paralelleştirilmeyen seri kısımlar tek bir çekirdek üzerinde işletilirken paralleleştirilecek noktalara gelince iş parçacıklarının yaratımı ve çekirdeklere atanmalarıyla çok çekirdek olanağından yararlanırlar [3]. paralelleştirme for döngülerinin önüne derleyici direktiflerine karşılık gelen OpenMP pragmaları yerleştirilerek sağlanır. Pragmalar for döngüsü iterasyonlarının farklı çekirdeklere paylaştırılmasını sağlarlar. for döngüsü içindeki komutlar tüm çekirdeklerde çalıştırılırlar. Veriler diziler halinde işleme tabi tutulduğu için çekirdeklere paylaştırılmış olurlar (Şekil 3) [3]. Uygulamaların yapısı 2 tür paralellik paternini de içerebilir. Örneğin, veri dizilerini işleyen döngülerin çok bulunduğu uygulamalarda Görev Seviyesi paralelliğin gerçekleştirilebileceği kod blokları da bulunabilir. Bu durumda, Alt Düzey olanaklarında ilgili kod bloklarının önüne bu tür paralelleştirmenin yapılacağını bildiren pragmalar konur. Çok çekirdekli işlemci kontrolcüsü bu bloklara geldiği zaman her bir blok için bir iş parçacığı yaratır ve bu iş parçacığını bir çekirdeğe atar. Böylece her bir çekirdek üzerinde farklı komut blokları çalıştırılmış olunur (Şekil 4) [3]. Şekil 3. Alt Düzeyde paralel yazılım geliştirme olanaklarına bir örnek: OpenMP 3.2 Paralelleştirme Paternleri Uygulamalar Görev Seviyesi, Veri Seviyesi veya bu iki sınıfı da içeren paralelleştime paternlerine sahip olabilir. Görev seviyesi paralelleştirme birbirinden farklı eş zamanlı görevlerin olduğu durumda kullanılır. Önceki alt başlıkta tanıtılan Üst Düzeyde iş parçacığı kütüphanesi kullanan paralelleştirme olanakları bu tür paralelleştirme paterni için uygundur [3]. Veri Seviyesi paralelleştirme aynı anda farklı veriler üzerinde aynı işlemler gerçekleştirileceği zaman uygundur. Önceki alt başlıkta tanıtılan Alt Düzeydeki olanaklar bu patern için uygundur. OpenMP kütüphanesinde veri seviyesinde Şekil 4. OpenMP kütüphanesinde veri ve görev seviyeli parallelliklerin birlikte gerçekleştirilmesi Öte yandan, Veri Seviyesi paralellik içeren bir kod bloğunu Üst Düzeyde, Alt Düzey mantığına uygun şekilde paralelleştirmek de mümkündür. Bu durumda yazılımcı bir for döngüsünde işletilecek komutları döngüden kaldırır ve bir fonksiyona yerleştirir, for döngüsüne bu fonksiyonu çalıştıracak bir iş parçacığı yaratma çağrısı yerleştirir ve yaratılan iş parçacığının hangi iterasyonları gerçekleştireceğini bu çağrıya parametre olarak verir. İş parçacığı kütüphanesi 21
4 kullanan uygulamalarda Üst Düzey olanaklarının bu şekilde kullanımı çok rastlanılan bir durumdur (Şekil 5) [5]. Şekil 5. Üst Düzey olanaklarıyla Alt Düzey mantığında paralelleştirme: Pthreads kütüphanesiye bir örnek 4. HYPERTHREADING (HT) Geleneksel bir işlemcide ya da HT kullanmayan çok çekirdekli bir işlemcide 1 uygulama iş parçacığı aradığı bilgiyi ön belleklerinde bulamaması nedeniyle bellek transferi başlattığında, botu hattında komutlar arası bağımlılıklar oluştuğunda ve yanlış bir atlama tahminlemesi yapıldığında beklemeye geçer ve işletim birimini bırakır. Bu durumda, OS yeni bir iş parçacığı seçerek işlemciye/çekirdeğe gönderir. Çalışmayı bırakan iş parçacığı o anki durumu (kendisine verilmiş kayıtçıların içeriği), ileride tekrar işletim birimini kullanma hakkı kendisine verildiğinde işletimine kaldığı yerden devam edebilsin diye OS belleğinde saklanır. İşlemci/çekirdek üzerindeki durum depolama ünitesine OS un seçtiği yeni iş parçacığının durum bilgileri yazılır ve yeni iş parçacığı çalışmaya başlar. Bu işleme içerik anahtarlama (context switch) denir. HT bir çekirdek için 1 yerine 2 donanımsal durum depolama ünitesi kullanarak içerik anahtarlama sırasında belleğe durum bilgisi yazma işleminden kaçınmak ve bu yolla performansı arttırmak ümidi ile geliştirilmiş bir teknolojidir [6]. Bu teknolojide OS tarafından 1 çekirdeğe atanmış 2 iş parçacığı aynı işletim birimi, ön bellekleri ve kayıtçıları paylaşır. Çekirdeklere eklenen 2. durum depolama üniteleri işlemci büyüklüğünün %5 oranında artmasına sebep olmuştur. İş parçacıklarından biri çekirdeği bıraktığında diğerinin içerik durum bilgisi anında devreye sokulur ve 2. iş parçacığı hemen çalışmaya başlar. HT bu şekilde bellek trafiğini azaltarak performans artışı sağlanması için geliştirilmiştir. Ancak, pratikte aşağıdaki nedenlerden ötürü beklentilerin istenen düzeyde karşılanması mümkün olamamıştır [7, 8, 9]: 1. İçerik anahtarla işlemi sırasında bellek trafiğinin ortadan kalkması için OS iş dağıtıcısının sürekli aynı 2 iş parçacığını çekirdeğe vermesi gerekir. Oysa oyun programları gibi uygulamaların ve OS süreçlerinin çok sayıda iş parçacığı bulunur. Dolayısıyla OS iş dağıtıcısı sürekli aynı 2 iş parçacığını seçemez. Quantum süresinin 10 milisn. gibi kısa bir süre olduğu düşünülürse sürekli içerik anahtarlama yapılır ve durum depolama ünitelerinin içeriği sık sık değişir. Ayrıca, artık 1 değil, 2 iş parçacığının durum saklama bilgilerinin alışverişi için içerik anahtarlama yapılacaktır. 2. HT desteği için işlemcinin kontrol ünitesinin ve OS iş dağıtım modülünün daha kompleks hale gelmesi kaçınılmazdır. Bu durumda işlemci yavaşlar ve 1 iş parçacığının tamamlanma süresi artar. 3. Donanım yükü artan işlemci daha çok güç harcar ve ısınır. Bu durumda, işlemci saat frekansı ve buna bağlı olarak işlemci hızı düşer. 4. Bazı OSlar (Windows8, Kubuntu Linux) HT desteğine sahip değildirler. Bu durumda iş parçacıkları mevcut çekirdeklere dengeli bir şekilde dağıtılmazlar. HT ile bir fiziksel çekirdeğe 2. bir iş parçacığı da verildiği için mantıksal bir çekirdek eklenmiş gibidir. Dolayısı ile işlemcinin desteklediği çekirdek sayısı 2 katına çıkar. HT desteklemeyen işlemciler fiziksel/mantıksal çekirdek ayırımı yapamazlar. Çalıştırılacak 2 iş parçacığı varsa OS tarafından 2si de aynı fiziksel çekirdeğe atanabilir, diğer çekirdekler ise hiçbir uygulama iş parçacığı çalıştırmamış olur. 5. Çok iş parçacıklı yazılım geliştirme henüz yaygınlaşmamıştır. Dolayısıyla OS iş dağıtıcısı çekirdeğe sadece 1 uygulama iş parçacığı gönderir. OS süreçleri durumlarını çekirdeklerin durum depolama ünitelerine değil, ön belleklere 22
5 yazarlar. Bu nedenlerle günümüzde HT bir miktar performans artışı sağlar. Ancak, en az 3 uygulama iş parçacığının 1 çekirdek üzerinde aynı anda çalışması gerektiğinde performans kötüleşmesi olacaktır. İntel, HT desteği olmayan OSların kullanılması durumunda BIOS ayarlarından HT opsiyonunun iptal edilmesini önermektedir. Bizim düşüncemiz, HT nin tümüyle işlemci teknolojisinden çıkarılarak donanım ve OS yükünün düşürülmesi yönündedir. Aynı işlemcinin HT destekli ve HT desteksiz 2 modelinin inşa edilme durumunda HT desteği olmayan modelin daha hızlı olacağı aşikardır. Ayrıca bu durumda daha az güç tüketimi ve ısı ortaya çıkışı olacağından işlemcinin daha yüksek frekansa sahip bir saatle de çalışabilmesi mümkün olacaktır ki bu muhtemelen HT nin getireceği performans arışından daha yüksek bir performans artışı demektir. 5. ÇOK ÇEKİRDEKLİ MİMARİLERİN PERFOR- MANS PROBLEMLERİ Çok çekirdekli bir işlemcide iş parçacıklarının sürekli olarak paralel çalışmasını engelleyen faktörler bulunmaktadır. İşlemcinin performansı üzerinde olumsuz etkisi olan bu faktörler alt bölümlerde açıklanmaktadır. 5.1 Bağımlılık Çok çekirdekli işlemciler aynı zamanda boruhattı mimarisine sahiptirler. Boruhattında aynı anda birçok komutun farklı evreleri çalıştırılır. Boruhattı mimarilerde bir programın komutlarının eş zamanlı işletimi ile elde edilen sonuçlar seri işletimle aynı sonuçları vermelidir. Eğer boruhattında birbirini izleyen komutlar aynı veriler üzerinde çeşitli işlemler yapıyorsa ve bu kontrol edilmezse seri ve eş zamanlı işletim farklı sonuçlar getirebilir. Bunun sebebi literatürde veri bağımlılığı olarak adlandırılan bir durumdur. Boruhattındaki birkaç komutun aynı veriyi kullanmaları durumunda, tümünün gerçekleştirdiği işlem sadece okuma ise veri değişmediği için hiçbir problem olmaz. En az 1 komutun veriye yazma yapması durumunda aşağıdaki bağımlılık türlerinden biri karşımıza çıkar [3]: 1. Gerçek bağımlılık (True dependency): Literatürde bu bağımlılığa Read-After-Write bağımlılığı da denir. Birbirini izleyen komutlardan ilki değişkene atama yaparken diğeri onu okumaya çalışıyorsa ve ilk komut daha çok işlemci döngüsüne ihtiyaç duyuyorsa, henüz yazma işlemi tamamlanmadan okuma işlemi gerçekleştirilmiş olur. Bu durumda 2. Komut değişkenin son değerini değil önceki değerini kullanır. Halbuki seri akış ile aynı sonuçların alınabilmesi için yeni değerini kullanması gereklidir. Bu durumda 2. komut 1. komutun tamamlanmasını beklemelidir. 2. Zıt bağımlılık (Antidependency): Literatürde bu bağımlılığa Write-After-Read bağımlılığı da denir. Bu durumda öndeki komut veriyi okur ve bir işlemde kullanır. Arkadaki komut ise bu veriyi değiştirir. Arkadaki komut daha az saat döngüsünde tamamlanıyorsa ilk komut okuma işlemini tamamlamadan önce veri değişmiş olur. Bu durumda ilk komut verinin bir önceki değerini işleme alması gerekirken son halini işleme almış olur ve seri işletim kuralı bozulur. 3.Çıktı bağımlılığı (Output dependency): Literatürde bu bağımlılığa Write-After-Read bağımlılığı da denir. Birbirini izleyen 2 komut da veriyi değiştirmek istiyorsa ve ikinci komut ilk komuttan daha az saat döngüsüne ihtiyaç duyan bir komutsa daha önce tamamlanacağı için seri işletim kuralı yine bozulur. Şekil 6 da bu bağımlılıklara örnekler verilmektedir. Veri Bağımlılığı tek/çok çekirdekli olsun olmasın boruhattı mimarisine sahip tüm işlemcilerin sorunudur. Tek çekirdekli işlemciler için bağımlılık sorunun aşılmasına yönelik donanımsal ve derleyiciye bağlı çözümler geliştirilmiştir [1, 2]. Ancak, çok çekirdekli işlemcilerde durum daha vahimdir. Çok çekirdekli işlemcilerin kontrol ünitelerinin veri bağımlılığı ile ilgili bölümü çok daha karmaşıktır ve işlemciyi daha yüksek oranda yavaşlatır. Şekil 6. Veri bağımlılığı türlerine örnekler 5.2 Senkronizasyon Bu problem çok sayıda iş parçacığının paralel çalışması sırasında aynı anda aynı değişkene erişmesi sırasında ortaya çıkar. Tüm iş parçacıkları veriyi okuyorsa problem olmaz, en az birinin veriyi değiştirmesi problemlere yol açar. Bu sorunun aşılması için paylaşılan değişkenleri kullanan komut/komutlar mutex, koşul değişkeni vb. OS olanakları ile korunur. Bu olanaklar bir anda sadece 1 iş parçacığının veri üzerinde işlem yapmasına izin verirler. Diğerlerinin beklemeye alınması sağlanır. Paylaşılan değişkeni kullanan komut tamamlanınca bekleyen iş parçacıklardan birine bu değişkeni kullanma izni verilir. Tüm iş parçacıkları işlerini bitirinceye kadar bu düzende veriye ulaşırlar. Bu sırada yaşanan beklemeler de paralelliği kısıtlamış olur. Önemli bir nokta da, bu korumanın uygulama geliştirici tarafından yapılmasıdır. Üst ve alt düzeyde paralel yazılım 23
6 geliştirme olanaklarının tümünde bu şekilde ortak dışlama ( mutual exclusion ) olanakları bulunur [5]. 5.3 Ön bellek kısıtları Çok çekirdekli işlemcilerde her bir çekirdeğin küçük bir ön belleği bulunur. İşlemci çipinde, tüm çekirdeklerin paylaşımlı kullanıldığı biraz daha geniş kapasiteli 2. bir önbellek daha bulunur. Bu iki ön bellek de ana belleğe göre çok küçük kapasitedirler. Ön bellekler uygulama iş parçacıklarının verilerinden çok OS iş parçacıklarından verilerini içerir. Dolayısı ile uygulama iş parçacıkları sık sık ana belleğe başvurmak zorunda kalırlar. Bir RAM bellek en fazla 4 iş parçacığının eşzamanlı erişim yapabileceği bir arayüze sahiptir. Çok sayıda iş parçacığının bellek üzerindeki verilerle yoğun olarak iş yapması durumunda bellek trafiği çok artar ve bellek kontrolcüsü seri moda geçer. Bu durumda, iş parçacıkları da birer birer bellek işlemi gerçekleştireceği için işletimleri seri moda geçmiş olur. Eğer çok yoğun bellek kullanımı yapılmaktaysa paralel yazılım geliştiriminin hiçbir getirisi olmaz. Bu durum, tarafımızca gerçekleştirilen bir uygulamada yaşanmıştır. Gerçekleştirdiğimiz birinci yazılımda paralel işletim dolayısı ile beklediğimiz kazanç elde edilmişti. Ancak, bellek üzerindeki verilere çok daha yoğun iletişim yapan diğer bir yazılımda seri işletim ile aynı süreleri elde ettik. Dolayısı ile ikinci yazılımımızın seri olarak geliştirilmesinin çok daha uygun bir çözüm olduğu kanısına ulaştık [4,6, 10, 11]. 5.4 Çekirdek sayısı Çok çekirdekli işlemcilerde bir uygulamanın iş parçacıkları ve OS süreçlerinin iş parçacıkları çekirdeklere dağıtılırlar. Uygulama iş parçacıkları, kendi aralarında koordinasyon ve veri paylaşımı nedeniyle sık sık iletişime geçmek zorundadırlar. Aynı durum OS süreçlerinin iş parçacıkları için de geçerlidir. Bu nedenlerden ötürü çekirdekler arasında çok yoğun, muhtemelen sürekli iletişim gereksinimi ortaya çıkacaktır. Bu işlemin kontrollü bir şekilde gerçekleştirilebilmesi, işlemci kontrol ünitesinin karmaşıklığını arttırır. Karmaşıklık yer, güç ve ısı problemlerini beraberinde getirir. Hem çekirdekler arası bilgi alışverişi sırasında yaşanan gecikmeler, hem de ancak saat frekansının düşürülmesi ile güç ve ısı problemlerinin aşılabilmesi nedeniyle işlemci performansı düşer. Dolayısıyla, işlemcide çok sayıda çekirdeğe yer verilmemelidir. Bu şekilde hem çekirdekler arası iletişim yükü azalır, hem de daha yüksek bir saat frekansı ile çalışılabilir. Az sayıda çekirdek kullanımıyla, çok sayıda çekirdekle elde edilen performanstan daha yüksek bir performans elde edilmesi bile mümkündür [7]. 6. SONUÇ Bu bildiride çok çeşitli işlemciler tanıtılmış ve performansları hakkında yorumlar yapılmıştır. Çok iş parçacıklı uygulamaların artışı ile birlikte bu işlemcilerin performansında ciddi düşüşler yaşanacağı beklenmektedir. Daha az problem ve daha yüksek performans için HT teknolojisinin iptalinin uygun olacağını düşünmekteyiz. Birinde OS süreçlerinin diğerinde uygulama süreçlerinin işletileceği 2 çekirdeğin yeterli olacağı düşüncesindeyiz. Bu şekilde hem donanım ve OS basitleşecektir hem de 2 tür süreç grubu için farklı iş dağıtımı stratejileri kullanılabilecektir. Kaynaklar 1. Tanenbaum A. S., Todd A. Structured Computer Organization. Prentice Hall, 6th Edition, Stallings W. Computer Organization and Architecture. Prentice Hall, 9th Edition, Gove D. Multicore Application Programming for Windows, Linux and Solaris. Addison Wesley, İren E. RSA Kripto Algoritmasının Çok Çekirdekli İşlemciler için Paralelleştirilerek Gerçekleştirimi. Yüksek Lisans Tezi, Ege Üni., Lewis B., Berg D.J. Multithreaded Programming with Pthreads. Sun Microsystems Press, Akince H. C. Çok Çekirdekli İşlemciler için AES Şifreleme Algoritmasının Paralelleştirilerek Performansının Çözümlenmesi. Yüksek Lisans Tezi, Ege Üni., Esmaeilzadeh H., Blem E., Amant R. S., Sankaralingam K., Burger D.. Dark Silicon and the End of Multicore Scaling. ACM Symposium on Computer Architecture (ACM ISCA 11), sf: , Saini S., Jin H., Hood R., Barker D. The Impact of Hyperthreading on Processor Resource Utilization in Production Applications. 18th IEEE International Conference on High Performance Computing (IEEE HiPC 2011), sf: Reddy S. K., Ahmed S. M., Manohar K. Improving Performance and Power in Multi-core Processors. IJREAS-International Journal of Research in Engineering & Applied Sciences, Vol:3(3) sf: , Tudor B. G., Teo Y. M., See S. Understanding off-chip memory contention of parallel programs in multicore systems. IEEE International Conference on Parallel Processing (IEEE ICPP 2011), sf ,
7 11. Majo Z., Gross T. R. Memory System Performance in a NUMA Multicore Processor, Proceedings of the 4th ACM Annual International Conference on Systems and Storage (ACM SYSTOR 11),
ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME
ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME Ecem İren Halilcan Can Akince Aylin Kantarcı Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü Bilgisayar Müh. Bölümü
DetaylıSunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı
Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Aylin Kantarcı Ege Üniversitesi Akademik Bilişim 2015 Eskişehir, 2015 GİRİŞ CISC işlemciler Geriye uyumluluk Karmaşık
DetaylıSunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı
Sunucu Bilgisayarlarda Kullanılan CISC ve RISC İşlemcilerin Performans Karşılaştırımı Performance Comparison of CISC and RISC Processors Used in Server Computers Aylin Kantarcı Bilgisayar Mühendisliği
Detaylı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ıBM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
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) Bus
DetaylıBilgisayar Mimarisi ve Organizasyonu Giriş
+ Bilgisayar Mimarisi ve Organizasyonu Giriş Bilgisayar Mimarisi Bilgisayar Organizasyonu Programcının görebileceği bir sistemin nitelikleri Bir programın mantıksal yürütülmesi üzerinde direk bir etkisi
DetaylıBölüm 4: Threads (İş Parçaları)
Bölüm 4: Threads (İş Parçaları) Mehmet Demirci tarafından çevrilmiştir. Silberschatz, Galvin and Gagne 2013 Bölüm 4: Threads (İş Parçaları) Genel bakış Çok çekirdekli programlama Çok iş parçalı modeller
Detaylıİşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş Süreçler ve İş Parçacıkları(Thread) İşletim Sistemlerine Giriş - Ders03 1 Süreç -Tüm modern bilgisayarlarda bir çok iş aynı anda yapılabilir. *kullanıcı programları çalışır *disk
DetaylıMİKROİŞLEMCİ MİMARİLERİ
MİKROİŞLEMCİ MİMARİLERİ Mikroişlemcilerin yapısı tipik olarak 2 alt sınıfta incelenebilir: Mikroişlemci mimarisi (Komut seti mimarisi), Mikroişlemci organizasyonu (İşlemci mikromimarisi). CISC 1980 lerden
DetaylıMimari Esaslar. Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır.
Mimari Esaslar Mikroişlemcinin mimari esasları; Kaydediciler Veriyolları İş hatları dır. Bu unsurların büyüklüğü, sayısı ve yapısı o işlemcinin yeteneklerini belirler. Mimari farlılıklarda; bu konularda
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) 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ı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ş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri
DetaylıBM-311 Bilgisayar Mimarisi
1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Giriş Superscalar mimaride integer ve floating-point aritmetik komutlar, şartlı atlama komutları
Detaylı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ş Donanım performans kriterleri Eş zamanlı çalışma Güç tüketimi Yazılım performans kriterleri
DetaylıBİLGİSAYAR MİMARİSİ. << Bus Yapısı >> Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ > Özer Çelik Matematik-Bilgisayar Bölümü Veri yolu (BUS), anakarttaki tüm aygıtlar arası veri iletişimini sağlayan devrelerdir. Yani bilgisayarın bir bileşeninden diğerine
Detaylıİşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems) 1 Thread (İşlemcik) Thread (İşlemcik) Nedir? Thread (işlemcik-iplik); Belli bir process e bağlıdır. Bağlı bulundukları process in adres uzayını kullanırlar, Thread
DetaylıYazılım Mühendisliğine Giriş 2018 GÜZ
Yazılım Mühendisliğine Giriş 2018 GÜZ 1 İşletim Sistemi (Operating System) 2 Unix İşletim Sistemi Unix AT&T çalışanları tarafından Bell Laboratuvarlarında 1969 yılında geliştirilmiştir. Farklı platformlar
DetaylıBİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama
BİL 542 Paralel Hesaplama Dersi Projesi MPJ Express Java Paralel Programlama Recep Ali YILMAZ 131419106 Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Yüksek Lisans Programı
DetaylıDENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ
DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Bilgisayar Organizasyonu ve Mimarisi BİM-312 3/I 3+0+0 3 4 Dersin
DetaylıVeritabanı. Ders 2 VERİTABANI
Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın
Detaylı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 İşletim Sistemleri BLG 312
Prosesler Bilgisayar İşletim Sistemleri BLG 312 Prosesler ve Proses Yönetimi bilgisayar sisteminde birden fazla iş aynı anda etkin olabilir kullanıcı programı diskten okuma işlemi yazıcıdan çıkış alma
DetaylıBİLGİSAYAR MİMARİSİ. Komut Seti Mimarisi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Komut Seti Mimarisi Özer Çelik Matematik-Bilgisayar Bölümü Komut Seti Mimarisi Bilgisayarın hesaplama karakteristiklerini belirler. Donanım sistemi mimarisi ise, MİB(Merkezi İşlem Birimi),
Detaylı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ıBölüm 4: İş Parçacıkları. Operating System Concepts with Java 8 th Edition
Bölüm 4: İş Parçacıkları 14.1 Silberschatz, Galvin and Gagne 2009 Bölüm 4: İş Parçacıkları Genel Bakış Çoklu İş Parçacığı Modelleri İş Parçacığı Kütüphaneleri İş Parçacıkları ile İlgili Meseleler İşletim
DetaylıBilgisayar İşletim Sistemleri BLG 312
Giriş Bilgisayar İşletim Sistemleri BLG 312 İplikler geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü vardır bazı durumlarda, aynı adres uzayında birden fazla akış kontrolü
DetaylıArş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015
Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari
Detaylı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ıTarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan
BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını
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 Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,
Detaylı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ıYrd.Doç.Dr. Celal Murat KANDEMİR
Bilgisayar Mimarisi Ara Bağlantı Yapıları ve Bus Kavramı Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Ara Bağlantı Yapıları Bir bilgisayar sistemi MİB, bellek ve
DetaylıParalel Programlama Ortamları
Paralel Programlama Ortamları Elis Soylu ESKİŞEHİR OSMANGAZİ ÜNİVERSİTESİ esoylu@ogu.edu.tr Paralel Programlama Ortamları Paralel Programlama Tanımı İş Parçacığı Tabanlı Yöntemler Java Thread ile Paralel
DetaylıBilgisayar İşletim Sistemleri BLG 312
Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)
Detaylı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ıYZM 3102 İşletim Sistemleri
YZM 3102 İşletim Sistemleri Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği BÖLÜM - 5 Bu bölümde, Thread (İş Parçacığı) Thread lerin Faydaları
DetaylıBilgisayarların Gelişimi
Bilgisayarların Gelişimi Joseph Jacquard (1810) Bilgisayar tabanlı halı dokuma makinesi Delikli Kart (Punch Card) Algoritma ve Programlama 6 Bilgisayar Sistemi 1. Donanım fiziksel aygıtlardır. 2. Yazılım
DetaylıDOKUZ EYLÜL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ DEKANLIĞI DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CME 2006
Dersi Veren Birim: Bilgisayar Mühendisliği Dersin Türkçe Adı: BİLGİSAYAR MİMARİSİ Dersin Orjinal Adı: COMPUTER ARCHITECTURE Dersin Düzeyi:(Ön lisans, Lisans, Yüksek Lisans, Doktora) Lisans Dersin Kodu:
DetaylıElbistan Meslek Yüksek Okulu Güz Yarıyılı
HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,
DetaylıİŞLETİM SİSTEMLERİ. (Operating Systems)
İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri
Detaylıİşlem Yönetimi (Process Management)
İşlem Yönetimi (Process Management) 2 Bir işletim sisteminde, temel kavramlardan bir tanesi işlemdir. İş, görev ve süreç kelimeleri de işlem ile eşanlamlı olarak kullanılabilir. Bir işlem temel olarak
DetaylıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,
DetaylıİŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; 1. Performans: İşletim sistemi, makine
DetaylıEmbedded(Gömülü)Sistem Nedir?
Embedded(Gömülü)Sistem Nedir? Embedded Computing System de amaç; elektronik cihaza bir işlevi sürekli tekrar ettirmektir. Sistem içindeki program buna göre hazırlanmıştır. PC lerde (Desktop veya Laptop)
DetaylıPROGRAMLAMA TEMELLERİ
PROGRAMLAMA TEMELLERİ 2.HAFTA Yazılım Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle var olan bir problemi çözmek amacıyla bilgisayar
DetaylıPROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
DetaylıGAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI UYGULAMA ESASLARI
GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI UYGULAMA ESASLARI Haziran 2014 Gazi Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği
DetaylıDr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü
1 BİLGİSAYAR MİMARİSİ Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü http:// http:// Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/
Detaylıİşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems) 1 İşletim Sistemleri (Operating Systems) Genel bilgiler Ders kitabı: Tanenbaum & Bo, Modern Operating Systems:4th ed., Prentice-Hall, Inc. 2013 Operating System Concepts,
DetaylıWilliam Stallings Computer Organization and Architecture 9 th Edition
William Stallings Computer Organization and Architecture 9 th Edition Bölüm 5 İç Hafıza Bir Hafıza Hücresinin Çalışması Bütün hafıza hücrelerinin ortak özellikleri vardır: 0 ve 1 durumundan birini gösterirler
Detaylıİşletim Sistemi. BTEP205 - İşletim Sistemleri
İşletim Sistemi 2 İşletim sistemi (Operating System-OS), bilgisayar kullanıcısı ile bilgisayarı oluşturan donanım arasındaki iletişimi sağlayan ve uygulama programlarını çalıştırmaktan sorumlu olan sistem
DetaylıBilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2
Detaylıİşletim Sistemlerine Giriş
İşletim Sistemlerine Giriş İşletim Sistemleri ve Donanım İşletim Sistemlerine Giriş/ Ders01 1 İşletim Sistemi? Yazılım olmadan bir bilgisayar METAL yığınıdır. Yazılım bilgiyi saklayabilir, işleyebilir
DetaylıBilgisayar Mimarisi ve Örgütleşimi (COMPE 331) Ders Detayları
Bilgisayar Mimarisi ve Örgütleşimi (COMPE 331) Ders Detayları Ders Adı Bilgisayar Mimarisi ve Örgütleşimi Ders Kodu COMPE 331 Dönemi Ders Uygulama Saati Saati Laboratuar Kredi AKTS Saati Güz 3 0 0 3 5
DetaylıGÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1
GÖMÜLÜ SİSTEMLER Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1 Gömülü sistemler için farklı tanımlamalar yapmak mümkün olmakla birlikte genel olarak şu şekilde tanımlama yapabiliriz:
Detaylı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ıWilliam Stallings Computer Organization and Architecture 9 th Edition
William Stallings Computer Organization and Architecture 9 th Edition Bölüm 4 Cache Bellek Bilgisayar Hafıza Sisteminin Ana Karakteristikleri Table 4.1 Key Characteristics of Computer Memory Systems Bilgisayar
DetaylıYazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım
Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.
Detaylı08225 AĞ TEMELLERĠ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 20 EKi Salı, Çarşamba
08225 AĞ TEMELLERĠ Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı 20 EKi. 2014 Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi
DetaylıSİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.
SİSTEM VE YAZILIM o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur. o Yazılım, bilgisayar sistemlerinin bir bileşeni olarak ele alınmalıdır. o Yazılım yalnızca
DetaylıİŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu bulunmaktadır; Performans:
DetaylıBitirme Ödevi Sunumu PLATFORM BAĞIMSIZ BENZETİM PROGRAMI. Danışman : Yrd.Doç.Dr. D Feza BUZLUCA Gökhan Akın ŞEKER
Bitirme Ödevi Sunumu BERKELEY RISC I işlemcisi İÇİN PLATFORM BAĞIMSIZ BENZETİM PROGRAMI Danışman : Yrd.Doç.Dr. D Feza BUZLUCA 0495 0639 Sunum Planı Ödev konusu hakkında Berkeley RISC I işlemcisi hakkında
DetaylıGiriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir
3 İPLİKLER Giriş geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var. aynı adres uzayında birden fazla akış kontrolü gerekebilir aynı adres uzayında çalışan paralel
DetaylıDERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik
DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ İçerik Mikroişlemci Sistem Mimarisi Mikroişlemcinin yürüttüğü işlemler Mikroişlemci Yol (Bus) Yapısı Mikroişlemci İç Veri İşlemleri Çevresel Cihazlarca Yürütülen İşlemler
DetaylıBM 375 Bilgisayar Organizasyonu Dersi Vize Sınavı Cevapları 10 Nisan 2009
1-) Instruction Cycle State Diagram ı çizip herbir state için gerçekleştirilen işlemleri detaylı bir şekilde açıklayınız. Instruction state cycle da üstteki kısımlar CPU dışında alttaki kısımlar CPU içinde
DetaylıBilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ
Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.
DetaylıİŞLETİM SİSTEMLERİ DÖNEMİÇİ SINAVI
İŞLETİM SİSTEMLERİ DÖNEMİÇİ SINAVI 31 Mart 2011 1) (20 puan) Aşağıdaki soruları kısaca cevaplayınız. a) Bir proses çalışmış ve kısa bir süre sonra sonlanmıştır, bu arada sistemde çalışan başka prosesler
DetaylıMerkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB in İç Yapısı. MİB Altbirimleri. MİB in İç Yapısı
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/0/blg-1/ Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi
DetaylıDosya Yönetim Sistemi Hazırlayan : mustafa kaygısız Kaynak: megep.meb.gov.tr
Dosya Yönetim Sistemi Hazırlayan : mustafa kaygısız Kaynak: megep.meb.gov.tr İşletim sisteminin dosyaları organize etme ve yönetme için ne kullandığını gösteren ifadedir. Dosya verilerin toplandığı birimlerdir
Detaylıİleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları
İleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları Ders Adı İleri Bilgisayar Mimarileri Ders Kodu COMPE 532 Dönemi Ders Uygulama Saati Saati Laboratuar Saati Kredi AKTS Güz 3 0 0 3 7.5 Ön Koşul Ders(ler)i
Detaylı4. HAFTA KBT104 BİLGİSAYAR DONANIMI. KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
4. HAFTA KBT104 BİLGİSAYAR DONANIMI Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 Konu Başlıkları Merkezî İşlem Birimi Mikroişlemci(CPU) Çok Çekirdekli Kavramı Çoklu Çekirdek Tasarımı
DetaylıMulticore/Multithread Programlama
Multicore/Multithread Programlama Onur Tolga Şehitoğlu Bilgisayar Mühendisliği 7 Şubat 2008 Başlıklar 1 Gereksinimi Dal ile Süreç Çok İşlemci ve Dal Modelleri Neden Çoklu Dal Programlama? 2 Çok İşlemci/Çok
DetaylıGezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması
Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması E M R U L L A H S O N U Ç A K A D E M I K B I L I Ş I M Ş U B A T 2 0 1 5 E M R U L L A H S O N U Ç,
Detaylıİleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları
İleri Bilgisayar Mimarileri (COMPE 532) Ders Detayları Ders Adı İleri Bilgisayar Mimarileri Ders Kodu COMPE 532 Dönemi Ders Uygulama Saati Saati Laboratuar Saati Kredi AKTS Güz 3 0 0 3 7.5 Ön Koşul Ders(ler)i
Detaylıİşletim Sistemleri (COMPE 431) Ders Detayları
İşletim Sistemleri (COMPE 431) Ders Detayları Ders Adı İşletim Sistemleri Ders Kodu COMPE 431 Dönemi Ders Uygulama Saati Saati Laboratuar Saati Kredi AKTS Güz 3 2 0 4 4 Ön Koşul Ders(ler)i Dersin Dili
DetaylıBilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN
Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İŞLETİM SİSTEMLERİ Bilinen İşletim Sistemleri İşletim Sistemlerinin Görevleri İşletim Sistemlerinin Gelişim Evresi İşletim Sistemi Türleri İşletim
DetaylıBİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER
BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER Dr. Hayrettin Bahşi bahsi@uekae.tubitak.gov.tr 11 Mart 2010 Gündem Bulut Hesaplama Sistemleri ve Bilgi Güvenliği Güvenli Yazılım Geliştirme Hayat Döngüsü
DetaylıBİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ
BİLGİ İŞLEM MSGSU FİZİK BÖLÜMÜ DERS 1 Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ İŞLETİM SİSTEMİ OS(Operating System) İşletim sistemi temel olarak, belli girdileri alıp derleyen ve sonuçları üreten program
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C
DetaylıSPARC v8 İŞLEMCİ SİMÜLASYONU
SPARC v8 İŞLEMCİ SİMÜLASYONU BİTİRME ÖDEVİ SUNUMU D a n ı ş m a n : Yrd. D oç. D r. F eza B U Z L U C A EZGİ ZÜMRÜT ULAŞ 040080194 Sunum Konuları 2 RISC İşlemciler Programlama Dili Seçimi SPARC v8 Yazılım
DetaylıElektronik İstihbarat Algoritma Yazılımlarının OpenMP Kullanılarak Çok Çekirdekli İşlemciler Üzerinde Paralelleştirilmesi
Elektronik İstihbarat Algoritma Yazılımlarının OpenMP Kullanılarak Çok Çekirdekli İşlemciler Üzerinde Paralelleştirilmesi Murat Sever, Alparslan Fişne REHİS, ASELSAN, Ankara, Türkiye {msever,afisne}@aselsan.com.tr
DetaylıBilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları
Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayarlara ve Programlamaya Giriş COMPE 101 Güz 2 2
DetaylıDONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri
DONANIM 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri DONANIM SİSTEM BİRİMİ ÇEVREBİRİMLERİ Ana Kart (Mainboard) Monitör İşlemci
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar
DetaylıMerkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ. MİB Yapısı. MİB Altbirimleri. Durum Kütüğü. Yardımcı Kütükler
Merkezi İşlem Birimi MİKROİŞLEMCİ SİSTEMLERİ Yrd. Doç. Dr. Şule Gündüz Öğüdücü Merkezi İşlem Birimi (MİB): Bilgisayarın temel birimi Hız Sözcük uzunluğu Buyruk kümesi Adresleme yeteneği Adresleme kapasitesi
DetaylıÇ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ıİŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine
İŞLETİM SİSTEMLERİNE GİRİŞ - 2 Kaynakların Paylaşımı (Resource Sharing) Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine sunar. Bir işletim sisteminde paylaşılan kaynaklar
DetaylıAndroid e Giriş. Öğr.Gör. Utku SOBUTAY
Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,
DetaylıBİLGİSAYAR MİMARİSİ. Bilgisayar Bileşenleri Ve Programların Yürütülmesi. Özer Çelik Matematik-Bilgisayar Bölümü
BİLGİSAYAR MİMARİSİ Bilgisayar Bileşenleri Ve Programların Yürütülmesi Özer Çelik Matematik-Bilgisayar Bölümü Program Kavramı Bilgisayardan istenilen işlerin gerçekleştirilebilmesi için gereken işlem dizisi
DetaylıKüme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara
Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme
DetaylıVERİ YAPILARI VE PROGRAMLAMA (BTP104)
VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.
DetaylıBİT in Temel Bileşenleri (Yazılım-1)
Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu
DetaylıGünümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.
I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok
Detaylıİşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü
İşletim Sistemleri Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Bu dersin sunumları, Abraham Silberschatz, Greg Gagne, Peter B. Galvin, Operating System Concepts 9/e, Wiley,
DetaylıEGE Üniversitesi Mühendislik Fakültesi Bilgisayar Müh. Bölümü 2013-2014 Öğretim Yılı Lisans Tezi Önerileri
EGE Üniversitesi Mühendislik Fakültesi Bilgisayar Müh. Bölümü 2013-2014 Öğretim Yılı Lisans Tezi Önerileri Danışman Öğretim Üyesi: Kasım Sinan YILDIRIM 1) Tez Başlığı: Kablosuz Algılayıcı Ağlarında Hareketli
DetaylıBilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı
Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki
DetaylıDers Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS. Bilgisayar Organizasyonu BIL
DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Bilgisayar Organizasyonu BIL321 5 3+2 4 5 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü Türkçe Lisans Zorunlu / Yüz Yüze
DetaylıDers - 1. BİL 221 Bilgisayar Yapısı GİRİŞ. Ders Hakkında. Ders İzlencesi
Ders - 1 BİL 221 Bilgisayar Yapısı GİRİŞ Ders Hakkında Ders İzlencesi Bilgisayar Sınıfları Kişisel Bilgisayarlar$ Genel amaçlı, çok çeşitli yazılımlar$ Performans - maliyet ödünleşmesi hedeflenir$ Sunucular$
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İ Bilgisayar, kendine önceden yüklenmiş program gereğince
DetaylıJava Temel Özellikleri
Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle
Detaylı