BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi...

17
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

Transcript of BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi...

Page 1: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 2: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 3: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 4: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 5: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 6: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 7: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 8: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 9: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 10: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 11: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 12: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 13: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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ı

Page 14: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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

Page 15: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.

Page 16: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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).

Page 17: BM-311 Bilgisayar Mimarisi · BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Donanım performans kriterleri

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.