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
Multicore organizasyonu
Intel Core Duo
Intel Core i7
2
Giriş
Multicore bilgisayarlar birden fazla işlemciyi (core) birleştirir.
Her bir core bir mikroişlemcinin saghip olduğu tüm bileşenlere sahiptir.
Her core içerisinde, ALU, register’lar, pipeline donanımı, kontrol birimi, L1 komut cache ve L1 data cache bulunur.
Bunun yanısıra, günümüz multicore işlemciler L2 ve L3 cache belleklere de sahiptir.
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
3
Donanım performans kriterleri
Mikroişlemci tasarımındaki organizasyonel geliştirmeler temel olarak instruction-level parallellism’i artırmaya yöneliktir.
Her clock cycle’da olabildiği kadar çok sayıda komut çalıştırılmaya çalışılır.
Instruction-level paralellism’e yönelik ilk geliştirme superscalar mimaridir.
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
4
Eş zamanlı çalışma
Superscalar mimaride, birden fazla pipeline ile execution kaynakları artırılır.
Eş zamanlı çalışma
Simultaneous multithreading mimarisinde, çok sayıda PC ve çok sayıda register bulunur.
Böylelikle birden fazla process arasında geçiş yapılarak programlar çalıştırılır.
5
Eş zamanlı çalışma
Instruction-level paralellism’e yönelik diğer bir geliştirme simultaneous multithreading mimarisidir.
Simultaneous multithreading mimarisinde, çok sayıda PC ve çok sayıda register bulunur.
Eş zamanlı çalışma
Mikroişlemcielrde perforansı artırmak için yapılan her yenilik karmaşıklığı artırmıştır.
Superscalar mimaride birden fazla pipeline ile performans artırılır.
Pipeline sayısı arıtırlırken ortaya çıkacak sorunların gideirlmesi için daha çok mantık devresine ihtiyaç duyulur.
Bir thread ile çok sayıdaki pipeline üzerindeki çalışmada kaynak bağımlığı veya veri bağımlığı gibi diğer sorunlardan dolayı pipeline mimarisinden alınacak performans sınırlanır.
Simultaneous multithreading mimarisinde birden çok thread’in çalıştırılması daha karmaşık hale gelmektedir.
6
Eş zamanlı çalışma
Grafikte Intel mikroişlemcilerin yıllara göre performans artışı görülmektedir (SPEC CPU’da yayınlanmıştır).
Eş zamanlı çalışma
Grafikte Intel’in yayınladığı SPEC CPU değerleri ile clock frekanslarının birleşimi hesaplanan değerin yıllara göre değişimi görülmektedir. Pipelining, superscalar teknikler ve SMT geliştirilmiştir.
Instruction level parallelism limite ulaşılmıştır
Instruction level parallelism geliştirilmemişti.
7
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
Güç tüketimi
Mikroişlemci içersindeki transistör sayısı arttıkça, pipelining, superscalar ve SMT tasarımları geliştirildikçe ve clock frekans artırıldıkça güç gereksinimi artmaktadır.
8
Güç tüketimi
Mikroişlemci içerisindeki yoğunluk arttıkça ve clock frekans arttıkça güç gereksinimi artmaktadır.
Hafızada birim alanda harcanan güç mantık edvrelerinde harcanandan daha fazladır.
Mikroişlemcideki cache bellek alanı artırılmaya başlanmıştır.
Güç tüketimi
2015 yılında 3cm2 işlemci alanında yaklaşık 100 milyar transistör olması bekleniyor.
Cache belleğinin 100 MB olması, mikroişlemci alanının %50’sini kaplaması ve önbellekte 1 milyar transistör olması bekleniyor.
9
Güç tüketimi
Bir mikroişlemcinin karmaşıklığı arttıkça performans karekök oranında artar (Pollack’s rule).
İşlemci core kısmında mantık devreyi iki katına çıkardığımızda performans %40 oranında artar (2 = 1,41).
Çoklu core kullanarak core sayısı arttıkça yaklaşık olarak lineer performans artışını sağlanmaktadır.
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
10
Yazılım performans kriterleri
Multicore organizasyonun performansı çoklu kaynakların çalışmakta olan uygulama tarafından etkin kullanımını artırmakla orantılıdır.
Amdahl’ın kuralına göre hızlanma faktörü aşağıdaki gibidir:
Burada, (1 - f) seri çalıştırılması zorunlu olan program parçasını,
f ise paralel çalıştırılabilen program parçasını göstermektedir.
Yazılım performans kriterleri
Multicore bir mikroişlemcide 8 core bulunmaktadır.
Bir programın %10’u seri çalışırsa, speedup factor 4,70 olur.
70,4
8
9,0)1,0(
1
)1(
1
N
ff
speedup
11
Yazılım performans kriterleri
Bir programda seri çalışn kısım oranı arttıkça hızlanma faktörü azalır.
Yazılım performans kriterleri
Multicore işlemcilerde işlerin dağıtılması, cache coherence sağlanması ve iletişim için overhead oluşur*.
*McDougall, R. “Extreme Software Scaling.” ACM Queue, September 2005.
12
Yazılım performans kriterleri
Veritabanı uygulamaları, işletim sistemleri ve middleware yazılımlarda speedup faktörü yüksektir*.
*McDougall, R. “Extreme Software Scaling.” ACM Queue, September 2005.
Yazılım performans kriterleri
Multicore işlemcilerle aşağıdaki uygulama türlerinde de performans artışı sağlanmaktadır*.
Multithreaded native applications: Lotus Domino ve Siebel CRM (Customer Relationship Manager) yazılımları.
Multiprocess applications: Oracle veritabanı, SAP, Peoplesoft.
Java applications: Java Virtual Machine, Sun Java application server, BEA’s Weblogic, IBM Websphere, Tomcat application server, J2EE (Java 2 Platform, Enterprise Edition) kullanan uygulamalar.
Multiinstance applications: Bir uygulamanın birden fazla örneği paralel çalıştırılarak performans artırılabilir. Sanallaştırma teknolojisi ile ayrı ve güvenilir ortam oluşturulabilir.
*McDougall, R., Laudon, J. “Multi-Core Microprocessors are Here.” ;login, October, 2006.
13
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
Multicore organizasyonu
Multicore organizasyondaki temel değişkenler:
Chip içerisinde core işlemci sayısı
Cache bellek seviye sayısı
Paylaşılan cache bellek miktarı
14
Multicore organizasyonu
Multicore organizasyondaki temel değişkenler:
Chip içerisinde core işlemci sayısı
Cache bellek seviye sayısı
Paylaşılan cache bellek miktarı
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
15
Intel Core Duo
Intel Core Duo 2006 yılında geliştirildi.
İki tane x86 superscalar işlemciye sahiptir.
İşlemciler kendi L1 cache belleklerine sahiptir.
32 kB instruction ve 32 kB data L1 cache bellek
İşlemciler tarafından paylaşılan L2 cache belleğe sahiptir.
Thermal kontrol birimi eşik ısı değeri aşıldığında clock frekansını düşürerek ısı artışını engeller.
Intel Core Duo
Advanced Programmable Interrupt Controller (APIC)
İşlemciler arasında interrupt gönderimini sağlar. Bir işlemci diğerlerine interrupt gönderebilir.
I/O cihazlarından gelen interrupt’ları doğru core’a iletir.
Her APIC timer’a sahiptir ve OS tarafından set edilerek kendi core’ları için interrupt üretir.
Power Management Logic: Özellikle mobil cihazlar için güç tüketimini minimuma indirmeye çalışır. Isı durumunu, CPU aktivitesini izler ve gerilim seviyesi ile güç tüketimini ayarlar.
Core Duo paylaşılmış 2MB cache belleğe sahiptir. L2 cache bellek ile L1 cache bellek tutarlığı için MESI (Modified Exclusive Shared Invalid ) protokolü kullanır.
Bus interface: Main memory, I/O controller’lar ve diğer işlemcilerin bağlantısını sağlayan External bus’a (Front Side Bus) bağlıdır.
16
Konular
Giriş
Donanım performans kriterleri
Eş zamanlı çalışma
Güç tüketimi
Yazılım performans kriterleri
Multicore organizasyonu
Intel Core Duo
Intel Core i7
Intel Core i7
Intel Core i7 2008 yılında geliştirilmiştir.
Dört tane x86 SMT işlemciye sahiptir.
- DDR3 memory controller, 3 tane 8 byte (192 bit) kanala sahiptir. - 32 GB/s data rate
- QPI cache-coherent için işlemciler arasında yüksek hızlı iletişim yapar - 6,4 GT/s - Transfer per second - Her transferde 16 bit aktarılır (12,8 GB/s).
17
Intel Core i7
İşlemciler kendi L1 (32kB) ve L2 (256kB) cache belleklerine sahiptir.
Her core 32 kB instruction ve 32 kB data L1 split cache belleğe sahiptir.
Tüm core’lar tarafından paylaşılan L3 (8MB) cache belleğe sahiptir.
Intel, cache belleği daha etkin kullanmak üzere speculative fill yapan mekanizmayı kullanmıştır.
İşlemcilerin hafıza erişim karakteristiğine göre yakın zamanda kullanılacakları tahmin ederek prefetch yapılır.
Intel Core i7
Core 2 Quad işlemci de Core Duo işlemci gibi paylaşılmış L2 cache bellek kullanır.
Core i7 işlemci ise her core için dedicated L2 cache kullanmaktadır.
Her iki mikroişlemci için cache bellek erişim gecikmeleri clock cycle olarak aşağıda verilmiştir.
Top Related