AMD ve Intel gibi işlemci üreticileri, her yıl tanıtmış olduğu CPU serileriyle birlikte bazı performans ve verimlilik rakamlarından bahseder. Performans söz konusu olduğunda bazen karşılaştığımız terimlerden birisi de IPC (instructions per cycle/clock). Önemli mi? Evet önemli. Bazen bir önceki nesle göre %15-20 seviyelerine varan kazançlardan söz edilir.
Bu birçok teknoloji meraklısı için yabancı bir şey ve açıklaması da biraz karmaşık. IPC, bir CPU’nun tek bir saat döngüsü içinde işleyebileceği talimat sayısını ifade ediyor. Kısa açıklama yeterli değil biliyoruz, şimdi daha fazla ayrıntıya gireceğiz.
Saat hızı size bir CPU’nun bir saniyede kaç döngü tamamlayabileceğini gösterirken, IPC (döngü/saat başına komut sayısı) bir CPU’nun her döngüde kaç görev gerçekleştirebileceğini tanımlamakta.
Örneğin daha hızlı bir saat hızına sahip bir işlemci saniyede daha fazla döngü tamamlayabilirken, daha yüksek IPC’ye sahip ancak daha düşük saat hızı olan bir işlemci buna rağmen bir saniyede daha fazla görevi tamamlayabilir. Sonuç olarak, daha hızlı bir CPU’dan bahsederken hem saat hızı, hem IPC hem de çekirdek sayılarına değinmek daha doğru.
Dijital devreler, talimatların ne zaman ve nasıl yürütüleceğini bilmek için saat sinyallerine güvenir. Bu nedenle CPU’lar da dahil olmak üzere çoğu elektronik cihazda sabit saat döngüsü sağlamak için dahili bir osilatör (saat) bulunur. Bu saat sinyalleri süreklidir ve yüksek/düşük durumlu basit bir kare dalga gibi görünür.
CPU’daki bir ‘döngü’, bu dahili osilatör tarafından senkronize edilen bu darbelerin ikisi arasındaki zaman aralığıdır. Yani, 1 düşük durumdan yüksek duruma ve tekrar düşük duruma geçmek için geçen süredir.
İşlemcideki bir döngü, dahili osilatör tarafından senkronize edilen darbelerin ikisi arasındaki zaman aralığını göstermekte. Başka bir deyişle, 1 düşük durumdan yüksek duruma ve tekrar düşük duruma geçmek için geçen süre şeklinde tanımlayabiliriz. Saniyede işleyebildiği bu ‘döngülerin’ sayısı, bir işlemcinin ‘saat hızı’ dediğimiz şey.
CPU saat döngüsü ve saat hızı her CPU mimarisi için farklı olabileceğinden, farklı markaların/nesillerin CPU’larını asla sadece saat hızlarını kullanarak karşılaştırmayız. Bunu zaten her fırsatta dile getiriyoruz.
Bir saat döngüsünün ne olduğunu bildiğinize göre IPC’yi tanımlamak çok daha kolay hale geliyor. IPC (saat başına talimat/komut), bir CPU’nun tek bir saat döngüsünde yürütebileceği talimat sayısıdır. Öte yandan işlemcinin saat hızı (GHz şeklinde), bir saniyede tamamlayabildiği saat döngüsü sayısıdır. Yani, 3 GHz’lik bir CPU saniyede 3 milyar döngüyü tamamlayabilir.
Bu arada, herhangi bir işlemci IPC’sinin iş yüküne bağlı olarak değişebileceğini ekleyelim. Ayrıca CPU üreticileri IPC bilgilerini genellikle teknik özellik sayfalarında paylaşmazlar.
Örnek olarak elimizde farklı işlemciler var ve hepsini 3 GHz’e kilitledik diyelim. Bu esnada devreye mimari farkların yanı sıra CPU’ların saat döngüsü başına işleyebileceği talimat sayısı giriyor.
Yukarıda AMD tarafından yıllar içerisindeki IPC gelişimini gösteren bir grafik görüyoruz. Kırmızılılar, 2017 ve 2020 yılları arasında endüstri standardının üstünde IPC kazançları sağladıklarını açıklamıştı.
CPU üreticileri, neredeyse her yeni nesilde az veya çok oranda IPC’yi geliştiriyor. Bu gelişim için birçok faktör bir araya gelebilir fakat kısaca özet geçelim ve bir başka AMD tanıtımına bakalım.
Çip tasarımcısı, Zen 4 mimarisi ile bir önceki mimariye kıyasla %13 IPC artışı sağladığını göstermişti. Sağ tarafta listelenen faktörlerin hepsi bu IPC artışına katkıda bulunmuş:
İki farklı işlemci markası ve nesli arasında saat hızını kıyaslayarak karşılaştırma yapılmaz. Ancak aynı nesil ve mimariden işlemcileri karşılaştırabilirsiniz.
Bu ilişkiyi açıklamak biraz zor ama bir örnek verelim. Diyelim ki iki ayrı kişi iki ayrı çukuru kumla dolduracak ve 1 kürek/saniye sabit hızda çalışıyorlar. IPC’yi bir kürek olarak ve saat hızını da birinin kum kürekleme hızı olarak düşünün. Eğer iki kişi de aynı küreği kullanırsa, görevlerini tam olarak aynı zamanda bitireceklerdir.
Ancak bir küreği daha büyük bir kürekle değiştirirseniz ve her iki kişi de aynı hızda kum atmaya devam ederse, daha büyük küreği olan işi daha hızlı bitirir. CPU’daki IPC ve saat hızlarının ilişkisi de benzer.
Yapay zeka (YZ), bilgisayarların insan benzeri zeka ve yeteneklerle donatılması amacıyla tasarlanan bir alanı ifade eder. Yapay zeka, bilgisayar sistemlerinin karmaşık problemleri çözmek, desenleri tanımak, kararlar almak ve hatta insanlarla etkileşimde bulunmak gibi insan zekasına benzer işlevleri yerine getirmesini sağlar.
Yapay zeka çalışmaları, genellikle aşağıdaki temel ilkeler üzerine kurulmuştur:
Makine öğrenmesi, bilgisayar sistemlerinin veri analizi yaparak kendi kendine öğrenmesini sağlayan bir alandır. Bu, algoritmaların belirli bir görevi yerine getirmek için veri üzerinden kalıplar ve ilişkiler keşfetmesini içerir. Supervised (Denetimli), unsupervised (Denetimsiz) ve reinforcement (Takviyeli) öğrenme gibi farklı teknikler kullanılarak yapılır.
Doğal dil işleme, insanların kullandığı dilleri anlamak ve üretmek için bilgisayarların kullanılmasını sağlar. Metin analizi, metinden anlam çıkarma, dil çevirisi gibi uygulamaları içerir.
Yapay sinir ağları, insan beyninin çalışma şeklini taklit eden matematiksel modellerdir. Bu ağlar, büyük miktarda veri üzerinde eğitilerek desenleri tanıma ve karar verme yetenekleri kazanır.
Uzman sistemler, belirli bir uzmanlık alanında insan uzmanlar gibi düşünebilen bilgisayar tabanlı sistemlerdir. Bu sistemler, genellikle kurallar ve bilgi tabanları aracılığıyla sorunları çözer ve kararlar alır.
Yapay zeka, birçok farklı alanı etkileyen çeşitli uygulamalara sahiptir:
Yapay zeka, gelişmiş yetenekleriyle birlikte bazı etik sorunları da beraberinde getirir. Örneğin, otomatik karar alma süreçlerindeki önyargılar, veri gizliliği ve güvenlik gibi konular önemlidir. Bu nedenle, yapay zeka etik ilkelerine dayalı olarak geliştirilmeli ve kullanılmalıdır.
Yapay zeka, bilgisayar bilimleri ve mühendisliğinde önemli bir alan olup, teknolojik gelişmeler ve veri artışıyla birlikte sürekli olarak ilerlemektedir. İnsan zekasını taklit etmeye yönelik bu çabalar, birçok alanda önemli dönüşümlere neden olmaktadır. Ancak yapay zeka teknolojisinin gelişimiyle birlikte, etik ve güvenlik gibi konular da dikkate alınmalıdır.