Sayısal (Dijital) devreler bir dizi ayrık gerilim düzeyine dayalı elektrik devreleridir. Sayısal devreler Boole cebrinin en yaygın temsilcileri ve bilgisayar, elektronik saat gibi dijital aygıtların temel yapıtaşlarıdır.
Genel olarak sayısal devreler, gerilim seviyeleri “0” ve “1” ifadeli bir, ikili sistem kullanır. Genellik mantık “0” iken düşük gerilim olur ve düşük olarak ifade edilir. Mantık “1” iken yüksek olarak ifade edilir. Bazı sistemler tam tersini de kullanmaktadır. Mühendisler “dijital sistem” ve “mantık” terimlerini sayısal devre bağlamında kullanabilmektedir. Üçlü mantıkta incelenmiş prototip bilgisayarlar yapılmıştır.
Ders Notları
Geçmiş Sınavlar
İşlemcilerde IPS Nedir?
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.
IPC Nedir?
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ı.
IPC Kazancını Nasıl Sağlıyorlar?
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ş:
L2 Önbellek: CPU’larda L1, L2 ve L3 olmak üzere farklı bellek türleri bulunuyor. Bunların görevi işlem birimine en çok ihtiyaç duyulan verileri hızlıca sağlamak.
Execution Engine: Tamsayı ve bellek işlemlerini ve kayan nokta işlemlerini gerçekleştiren birim.
Branch Prediction: İşlem hatlarını kullanarak dallanma talimatlarının işlenmesini hızlandırıyor.
Load/Store: Tüm yükleme ve depolama talimatlarının yürütülmesinden sorumlu özel bir birim.
Front End: Komut getirme ve kod çözme gibi işlemlerle ilgilenen kısım.
IPC ve Saat Hızı İlişkisi
İ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: İnsan Zekasının Bilgisayarlaştırılması
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 Zekanın Temel İlkeleri
Yapay zeka çalışmaları, genellikle aşağıdaki temel ilkeler üzerine kurulmuştur:
1. Makine Öğrenmesi (Machine Learning)
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.
2. Doğal Dil İşleme (Natural Language Processing)
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.
3. Yapay Sinir Ağları (Artificial Neural Networks)
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.
4. Uzman Sistemler (Expert Systems)
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 Uygulamaları
Yapay zeka, birçok farklı alanı etkileyen çeşitli uygulamalara sahiptir:
Sağlık Hizmetleri: Tanı yardımı, ilaç geliştirme, hasta takibi gibi alanlarda yapay zeka kullanılır.
Otomotiv Endüstrisi: Sürücüsüz araç teknolojisi, güvenlik sistemleri gibi alanlarda yapay zeka kullanımı yaygındır.
Finansal Hizmetler: Dolandırıcılık tespiti, portföy yönetimi gibi alanlarda yapay zeka kullanılır.
Perakende ve Ticaret: Müşteri davranışlarını analiz etme, stok yönetimi gibi alanlarda yapay zeka kullanılır.
Eğitim: Öğrenci performansını değerlendirme, kişiselleştirilmiş eğitim sağlama gibi alanlarda yapay zeka kullanımı artmaktadır.
Yapay Zeka ve Etik
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.
Sonuç
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.