3. Sunum
Transkript
3. Sunum
BLG2109 – BİLGİSAYAR DONANIMI DERS 3 Öğr. Grv. Aybike ŞİMŞEK Haftanın Konuları Giriş İşlemciler İşlemci Tarihçesi İşlemci Parametreleri Saat Hızı Komut Seti Cache Bellek Bus Giriş Bir mikroişlemci bağımsız çalışabilen, tek yongalı bir mikrobilgisayardır. Merkezi işlem birimi (CPU) Kalıcı ve program hafıza Giriş çıkış birimleri Bu bileşenleri barındıran bir yapı uygun bir programlama dili ile programlanabilir. Dış dünya ile giriş/çıkış portları aracılığıyla iletişim kurabilir. Genelde CPU olarak isimlendirilir. İşlemciler Bilgisayarın en önemli bileşenidir. Transistor denilen yarıiletken elektronik malzemelerden oluşurlar. Kendisine sırasıyla verilen aritmetik ve mantıksal komutları yapar. Tüm donanım birimlerini emrinde kullanabilir ve yönetebilir. İşlemcinin matematiksel ve mantıksal işlemleri yapan birimine ALU(Arithmetic Logic Unit) denir. İşlemcinin ALU dan geriye kalan yapısını, hafıza birimleri, veriyoları, çeşitli kontrol ve denetleme bileşenleri oluşturur. Günümüzde Intel, AMD, Motorola, VIA gibi işlemci üreticileri vardır. İşlemciler (dvm) Diğer önemli özellikler: Göreceli olarak basit Makul derecede küçük Özellikleri ile sınırlı – hafıza, işlem gücü ve hızı, adresleme aralığı ve etkileşimde bulunabileceği I/O cihazlarının sayısı Tasarımcı mikroişlemcinin bütün özelliklerine erişmelidir – bus (yol), hafıza, registerler ve bütün I/O portları Özetle, bir mikroişlemci mühendislerin görev veya görevler serisini konfigüre edebileceği ve programlayacağı esnek özelliklere sahip bileşenlerden oluşur. İşlemciler (dvm) Mikroişlemciler bilgisayarın en önemli parçalarıdır. Bilgisayardan beklediğimiz işlerin hemen hepsi gerçekte mikroişlemci tarafından gerçekleştirilir. Bilgisayarın diğer bölümleri mikroişlemciye bilgi aktarmak ve mikroişlemciden gelen bilgileri kullanıcıların anlayacağı bir şekilde düzenlemek işiyle uğraşırlar. CPU'nun bilgisayarlarımızın temel parçasıdır. Bir sistemdeki herhangi bir parça ne işe yararsa yarasın mutlaka işlemciye bağımlı olarak çalışır. Klavyedeki tuşlara her basışınız, yaptığınız her fare hareketi işlemciye uğrar. Kullandığınız işlemci, her şeyden önce sisteminizin performansını ve kullanabileceğiniz işletim sistemlerini belirler. Hatta çoğumuz bilgisayar alırken ilk önce işlemciyi belirleriz. İşlemci Tarihçesi İlk mikroişlemci 1970’lerin başında ortaya çıkmıştır ve 4 bit kelimeler üzerinde BCD aritmetiğini kullanan elektronik bir hesap makinesidir. Mimariler 8-bit 16-bit 32-bit 64-bit Multicore RISC Mimariler (dvm) ARM family Altera Nios, Nios II Atmel AVR architecture (purely microcontrollers) EISC RCA 1802 (aka RCA COSMAC, CDP1802) DEC Alpha Intel 4004, 4040 8080, 8085 8048, 8051 iAPX 432 i860, i960 Itanium LatticeMico32 M32R architecture MIPS architecture Motorola Motorola 6800 Motorola 6809 Motorola 68000 family, ColdFire [[MotoG4, G5 NSC 320xx OpenCores OpenRISC architecture PA-RISC family National Semiconductor SC/MP ("scamp") Signetics 2650 SPARC SuperH family Transmeta Crusoe, Efficeon (VLIW architectures, IA-32 32-bit Intel x86 emulator) INMOS Transputer x86 architecture Intel 8086, 8088, 80186, 80188 (16-bit real mode-only x86 architecture) Intel 80286 (16-bit real mode and protected mode x86 architecture) IA-32 32-bit x86 architecture x86-64 64-bit x86 architecture XAP processor from Cambridge Consultants Xilinx MicroBlaze soft processor PowerPC405 embedded hard processor in Virtex FPGAs Zilog Z80, Z180, eZ80 Z8, eZ8 and others Intel 4004 1969 Saat hızı : 108 KHz Transistör sayısı : 2300 4-bit register ve 4-bit veri yolu Dünyanın ilk mikroişlemcisi Intel 8008 1972 Saat hızı : 800 KHz Transistor Sayısı :3500 8-bit register ve 8-bit veri yolu. Intel 8080 1974 Saat hızı: 2 MHz Transistor Sayısı : 4500 8-bit register ve veri yolu. Intel 8086 1978 Saat hızı : 4.47 MHz Transistor Sayısı : 29000 16-bit register ve veri yolu. Intel 8088 1981 Saat hızı : 4,47 MHz Transistor Sayısı : 29000 16-bit register ve veri yolu. Dünyanın ilk kişisel bilgisayarı 8088 mikroişlemcisini kullanmıştır Intel 286 1982 Saat hızı : 12 MHz Transistor Sayısı : 134000 16-bit register ve veri yolu. Intel 386 1985 Saat hızı : 16 MHz Transistor Sayısı : 275 000 32-bit register ve veri yolu. Intel 486 1989 Saat hızı : 25 MHz Transistor Sayısı : 1,200,000 32-bit register ve veri yolu. Intel Pentium 1993 Saat hızı : 66 MHz Transistor Sayısı : 3,300,000 32-bit register ve veri yolu. Intel Pentium Pro 1995 Saat hızı : 200 MHz Transistor Sayısı : 5,500,000 32-bit register ve veri yolu. Intel Pentium II 1997 Saat hızı : 300 MHz Transistor Sayısı : 7,500,000 32-bit register ve veri yolu. Intel Pentium III 1999 Saat hızı : 500 MHz Transistor Sayısı : 9,500,000 32-bit register ve veri yolu. Intel Pentium 4 2000 Saat hızı : 1 GHz Transistor Sayısı : 15,500,000 64-bit register ve veri yolu. Intel Pentium D 2005 Saat hızı : 3.6 GHz Transistor Sayısı : 47,500,000 32-bit register ve veri yolu. Intel Core 2 / Quad 2006/2007 Saat hızı : 3.6 GHz Transistor Sayısı :214,500,000 32-bit register ve veri yolu. Intel Core i3 Core i5 Core i7 Core i9 (Gelecek) Video kodlama işlemlerinde ek çekirdekler büyük fark yaratıyor. Benchmark sonuçlarına göre işlem şeridi sayısını 6 çekirdekten 12'ye çıkartan bu işlemci, 2.4 Ghz frekansında çalışarak, video işleme performansında 2.6 Ghz frekansta çalışan Core i7'ye göre yüzde 50 performans artışı sağlıyor. AMD İşlemciler AMD2900 serisi – 1975 AMD K6 mimarisi – 1997 AMD Athlon, Duron, Sempron 1999-2005 AMD K7 serisi – 2007 Opteron Phenom Athlon II AMD K10 serisi – 2011 İşlemcinin Temel Bileşenleri 1. ALU(Aritmetik ve Mantıksal İşlem Birimi): Toplama çıkarma, çarpma, bölme, mantıksal ve,veya, değil komutları ve kaydırma komutları. 2. Komut Çözücü(Instruction Decoder): İşlemcinin yapması gereken kodların icrası için gerekli işlemleri başlatır ve komutun çalıştırılması için gerekli işlemleri belirler. 3. Kaydediciler(Registers): İşlemci içerisinde sayıları depolamak için kullanılan hafıza çeşididir. İşlemci veri uzunluğu kadar genişliğe(32, 64 bit) sahiptirler. Literatürde test, EBX, EAX, BX, ES, IP gibi isimler alan kaydedici hafıza gözleri vardır. 4. Bayraklar(Flags): İşlemlerin sonucuna göre 1 ya da 0 değerlerini alan 1 bit genişliğe sahip hafıza gözleridir. Sıfır, işaret, elde, eşlik, taşma gibi çeşitleri vardır. Örneğin bir çıkarma işleminde sonuç sıfır çıkarsa sıfır bayrağı 1 değerini alır. 5. Veriyolları(Buses): İşlemcinin diğer donanım birimleri ile bağlantısını sağlayan iletken elektriksel yollardır. Üç adet veriyolu bulunur. Bunlar veri(data), adres(address) ve kontrol(control) veriyollarıdır. İşlemcinin Temel Bileşenleri (dvm) CPU Bütün hesaplamaların ve mantıksal işlemlerin yapıldığı birimdir. Veri işleme işlemlerini yerine getirir. Ana bileşenleri: Aritmetik Lojik Birim (ALU ) Kontrol birimi (CU) Registerlar ALU Komutları çalıştırmak için gerekli olan Toplama, çıkarma, kaydırma, vs. gibi mikroişlemleri yerine getirir. ALU işlemleri yerine getirir ve elde ettiği sonuçlar bir hedef registar’a transfer edilir. Kontrol Birimi Kontrol birimi registerlar ve ALU arasında bilgi taşınmasını ve ALU’nun hangi işlemi yapacağına dair yönetilmesini sağlar. Registerlar Register bir grup flip-floptur. Her flip-flop 1 bitlik bilgi saklayabilir. CPU İç Yapısı İşlemciler üretilirken kendilerine yüklenen komutları istenildiğinde yapabilme kabiliyetine sahiptirler. Bu komutlar genel işlemlerin icrası için üç gruba ayrılırlar. Bir bilgisayar kendisinde tanımlı olmayan komutları icra edemez. Matematiksel ve Mantıksal İşlem komutları. Toplama çıkarma, çarpma, bölme, mantıksal ve, veya, değil komutları ve kaydırma komutları. Verilerin hafıza veya kaydediciler arasında transfer edilmesini sağlayan komutlar. Hafıza ve kaydediciler kendi aralarında veya karşılıklı veri transferi. Karar verme ve istenen komut satırına dallanma komutları. Sayıların karşılaştırılarak, pozitif, sıfır, eşitlik, negatif… durumlarının oluşumuna göre istenen komuta dallanabilme. İşlemciler komutları yürütürken öncelikle işletilen komut sırasını üzerinde tutan program sayacının (PC=program counter) gösterdiği adresteki komut RAM den alınır(Fetch). Alınan komut, komut çözücü tarafından, nasıl yürütüleceği ve ne anlama geldiği belirlenir(Decode). Sonunda ise çözülen komut doğrultusunda ALU ya verilen direktifler yardımıyla istenen işlemler yaptırılır(Execute). Elde edilen sonuçlar istenen hafıza gözlerine yazılır(Write Back). Bu işlemler bir sonraki komut için benzer şekilde devam ederek işletilmesi gereken komutlar bitene kadar sürer. Temelde Fetch-Decode-Execute adımları bu sırayla sürekli gerçekleşir. Fetch(F), Decode(D), Execute(E) ve WriteBack(WB) aşamaları komutların icra edilmesi için sırasıyla gerçekleşmelidir. Eğer bir komutun icrası önceki komutun write back aşamasından sonra başlarsa burada zaman kayıpları oluşur. Çünkü örneğin fetch sırasında ALU çalışmaz boşta kalmış olur. Zaman kayıplarını önlemek için pipeline(kesintisiz iş akışı) denilen bir yapı kullanılır. Yani aynı anda işlemcinin boşta kalan tüm birimleri kullanılmış olur. Bu kayıp aşağıda gösterilmiştir. 3 komut 12 saat frekansında icra edilirken, pipeline yapıda 4 komutun icrası 7 saat frekansında halledilir. İŞLEMCİ PARAMETRELERİ Saat Hızı Saat aralığı (clock rate) olarak da isimlendirilir. İşlemcinin komutları çalıştırma hızıdır. Her bilgisayar dahili bir saate sahiptir. Dahili saat komutların çalıştırılma hızını ve çeşitli bilgisayar bileşenleri ile senkronizasyonu düzenler. Saat ne kadar hızlı olursa işlemcinin saniyede çalıştıracağı komut sayısı da o kadar artar. Mikroişlemci her komutu işlemek için sabit bir saat çevrimine (clock cycle) sahiptir. Saat hızı MHz veya GHz ile ölçülür. 1 MHz = saniyede 1 milyon çevrim 1 GHz = saniyede 1 milyar çevrim Saat Hızı (dvm) İşlemcinin en önemli parametresi komutları işleme hızıdır. Birimi frekans olarak GHz katsayısı(10003) ile değerlendirilir. İşlemcinin hızlı olması işlemlerini daha kısa sürede tamamlaması anlamına gelmektedir. Günümüzde 1.8, 2.0, 2.2, 2.4, 2.6, 3.0, 3.2, 3.6, 3.8 GHz vs. hızlarında olanları vardır. Komut Seti İşlemcinin gerçekleştirebileceği temel işlemler onun komut setine bağlıdır. Örneğin, SIMP 10 komutu anlar, bu bilgisayar için yazılan herhangi bir program bu 10 komutu çeşitli şekillerde kullanarak yazılabilir. Bu da karmaşıklığı artırır. Gelişmiş işlemciler 200 ün üzerinde komuta sahip olabilirler. Pentium 4 ve Pentium 5 arasındaki farklardan birisi Pentium 5’in daha geniş bir komut setine sahip olmasıdır. 2GHz bir P4 ile 2 GHz bir P5’i karşılaştırdığımızda aynı saat hızlarında olmalarına rağmen P5 daha iyi performans gösterecektir. Fakat karşılaştırma ikisinde de ortak bulunan kodlar ile yapıldığında bir fark görünmeyecektir. Cache (Keş) Çoğu program çalışırken bir veriye defalarca ulaşmak isteyebilir. Keş hafızalar bu amaç için geliştirilmiştir. Keş bellek yüksek hızlı depolama mekanizmasıdır. Ana hafızadan en son okunan veri ve komutları tutar. Program istediği veri için öncelikle keş belleğe bakar. Eğer keş bellekte istenilen veri tutuluyorsa keş bellek bilgiyi mikroişlemciye gönderir. Ana hafıza by-pass edilir. Mikroişlemci çalışma süresinin %95’inde keş bellekten bilgi alır. Üç tip keş vardır, L1, L2 ve L3 L1 keş(birincil keş) doğrudan mikroişlemci içine yerleştirilmiştir. L2 ve L3’den daha küçüktür, fakat mikroişlemci ile aynı hızda çalışır. L1<L2<L3 Bus Hızı (Yol hızı) Mikroişlemci diğer cihazlarla veri yolu aracılığıyla iletişim kurar. Yol hızı MHz ile ölçülür. İşlemci hızlı olsa da , genellikle bilgisayarın performansı veri yolu hızı sınırlanır. Günümüzde işlemci ile aynı hızda veri yolu sağlamak için çalışmalar yapılmaktadır. Bit Genişliği İşlem yapabilme boyutunu gösterir. Günümüzde 64 ve 32 bit işlemciler vardır. İşlemcinin sahip olduğu kaydediciler, veri hattı ve adres hattının genişliğini gösterir. FSB Hızı İşlemcinin, kuzey köprüsü ile iletişim hızını gösterir. Günümüzde 1333, 1066, 800, 533 Mhz değerlerine sahip işlemciler vardır. Çekirdek(Core) Sayısı İşlemci paketi içerisinde birbirinden bağımsız olarak komutları çalıştırabilen her yapıya çekirdek ismi verilmektedir. Gerçek zamanlı olarak kendisine verilen iş akışı görevlerini aynı anda yerine getirerek performansı artırır. Her çekirdek birbirinden bağımsız FSB ye sahiptir. Tüm çekirdekler L2 yi ortak kullanırlar. Günümüzde masaüstü bilgisayarlarda 2, 4 ve 6 çekirdekli işlemciler bulunmaktadır. Sunucular için tasarlanan Intel Xeon E7 tek chip üzerinde 15 çekirdeğe kadar destek verecek şekilde geliştirilmiştir.