Merkezi işlem birimleri (CPU'lar) bilgisayarlarımızın beynidir. Bir uygulama açmaktan film izlemeye kadar her gün yaptığımız her şeyi işlerler. Ama tam olarak bir CPU nedir? O nasıl çalışır? Ve CPU'lar ile giderek daha popüler hale gelen vCPU'lar arasındaki fark nedir?
Bilgisayarların Beyinlerini Anlamak
İlk elektronik bilgisayarlar, tam tarih kılavuzuna göre 1800'lerin başında oluşturuldu. G2 tarafından yayınlandı. Ancak bu bilgisayarlar büyük ve pahalıydı ve sadece eğitimli matematikçiler ve bilim adamları tarafından kullanılabilirlerdi.
Charles Babbage, elle yapılabilecek herhangi bir hesaplamayı yapmak üzere programlanabilen ilk bilgisayar makinesi olan Fark Motorunu icat ettiği için kredilendirildi. Ancak, Fark Motoru projesi finansman yetersizliğinden dolayı hiçbir zaman tamamlanamadı. Bilgisayar Tarihi Müzesi'ne göre.
1937'de Babbage, dünyanın ilk genel amaçlı mekanik bilgisayarı olacak olan Analitik Motordan ilk kez bahsetti. “Analitik Motor, günümüz bilgisayarının tüm unsurlarını içeriyordu: bir aritmetik mantık birimi, koşullu dallanma ve döngüler biçimindeki kontrol akışı ve entegre bellek” (
Elektronik Notlar).Günümüz bilgisayarının önemli bir bileşeni CPU veya merkezi işlem birimidir. CPU, işletim sistemi veya uygulama gibi yazılımlar tarafından kendisine verilen talimatların yürütülmesinden sorumludur. Meslekten olmayanların terimleriyle, CPU'yu bilgisayarınızın beyni olarak düşünebilirsiniz. CPU iki ana bölümden oluşur: kontrol ünitesi ve aritmetik mantık ünitesi (ALU). Bu kısaltmalar kafanızı karıştırıyorsa, bkz. APU'ların, CPU'ların ve GPU'ların nasıl farklılaştığına genel bakış.
Kontrol birimi, komutları bellekten almaktan, bunları çözmekten ve daha sonra yürütülmek üzere aritmetik mantık birimine göndermekten sorumludur. ALU, CPU içindeki dahili depolama birimleri olan kayıtlarda depolanan veriler üzerinde aritmetik ve mantıksal işlemler gerçekleştirir.
Modern CPU'lar ayrıca bir önbellek içerir, sık kullanılan talimatları ve verileri depolayan az miktarda yüksek hızlı bellektir. Önbellekler seviyelere ayrılmıştır; Seviye 1 (L1) önbellek CPU kalıbının içine yerleştirilmiştir, Seviye 2 (L2) önbellek CPU ve Seviye 3 (L3) önbellek, kendi yongasında veya hatta kendi devresinde CPU'dan daha uzağa oturur yazı tahtası.
CPU vs. vCPU
Bulut hizmetlerinin yükselişi ile sanal merkezi işlem biriminin veya kısaca vCPU'nun ortaya çıkışı geldi. TechTarget, vCPU'yu tanımlar “bir sanal makineye (VM) atanan fiziksel bir merkezi işlem birimi (CPU)” olarak.
Sanal makineler, temel olarak, başka bir işletim sisteminin içinde uygulamalarmış gibi çalışan bağımsız işletim sistemleridir. VM'ler, yeni yazılımı güvenli bir ortamda test etmek, birden fazla işletim sistemini çalıştırmak (örn. Windows ve Linux) aynı bilgisayarda veya birden çok fiziksel sunucuyu tek bir sunucuda birleştirerek yerden tasarruf etmek ve maliyetler.
Dolayısıyla vCPU, bir CPU'nun yazılım uygulamasıdır; gerçek bir CPU'nun yaptığı gibi bilgisayarınızın içinde fiziksel olarak mevcut değildir. VM'leri oluşturan ve yöneten yazılım olan hipervizör, sanal makineye vCPU'lar atar. Her vCPU, VM içindeki işletim sistemi tarafından gerçek bir CPU çekirdeği olarak görülür. Bkz. hipervizörlerin açıklaması daha fazla öğrenmek için.
Ancak vCPU'lar yazılım tabanlı oldukları için gerçek CPU'lar kadar verimli değildirler. Bu nedenle, kaç tane olduğunu belirtmek önemlidir. işlemcinizin sahip olduğu çekirdekler bir bilgisayar satın alırken (örneğin, "dört çekirdekli", dört çekirdek anlamına gelir). Aynı kural, bir sanal özel sunucu (VPS) veya özel sunucu barındırma planı seçerken de geçerlidir.
CPU'lar ve vCPU'lar arasındaki temel fark, CPU'ların donanım tabanlı, vCPU'ların ise yazılım tabanlı olmasıdır. Bu, vCPU'ların olmadığı, ancak CPU'ların bilgisayarınızın içinde fiziksel olarak bulunduğu anlamına gelir; bunun yerine, gerektiğinde hiper yöneticiler tarafından oluşturulurlar. Uygulamadaki bu farklılık nedeniyle, CPU'lar vCPU'lardan çok daha verimlidir; yazılımda çalıştırmayla ilgili ek yükleri yoktur.
2000'lerin başından beri vCPU'lar, fiziksel CPU'lardan daha ucuz ve atanması daha kolay olduğu için giderek daha popüler hale geldi; ancak performans arıyorsanız, her bir çekirdek talimatları bağımsız olarak işleyebildiğinden, birden çok CPU çekirdeğine sahip bir bilgisayar kullanmak en iyisidir.
Çekirdekler vs. İş Parçacığı
Bir CPU, belirli bir zamanda görevleri gerçekleştiren işlem birimi olan bir veya daha fazla çekirdeğe sahip olabilir. Çekirdek, görev yürütme sırasını, kayıtları ve önbelleği (varsa) koruyacak ve işlemleri ALU aracılığıyla gerçekleştirecektir. CPU, çekirdekleri kontrol eder, ancak çekirdek, işletim sisteminin planladığı her bir yazılım işlemini veya iş parçacığını yürütür. Bir iş parçacığı, bir CPU tarafından işlenebilen bağımsız bir talimat dizisidir.
Aynı işlem içinde birden fazla iş parçacığı bulunabilir ve aynı bellek alanını paylaşabilir. Bu, ayrı süreçler içinde çalışıyorlarsa, birbirleriyle daha kolay iletişim kurmalarını sağlar. İş parçacıkları genellikle programın farklı bölümlerinin farklı çekirdekler veya işlemciler üzerinde aynı anda çalışmasına izin vererek çok iş parçacıklı uygulamaların performansını artırmak için kullanılır.
"İş parçacığı" terimi, bilgisayar terminolojisinde uzun yıllardır kullanılmaktadır; ancak, işlemcilerde iş parçacığı için donanım düzeyinde destek 2000'lerin başına kadar değildi. Bu, birden fazla iş parçacığının aynı anda ayrı çekirdeklerde yürütülmesine izin verdi. Daha önce, işlemcide kaç tane çekirdek bulunduğuna bakılmaksızın, tek bir çekirdek üzerinde aynı anda yalnızca bir iş parçacığı yürütülebiliyordu. Çok çekirdekli işlemciler artık yaygın ve çoğu işletim sistemi, programları birden çok iş parçacığı olarak çalıştırmak için bir miktar destek sağlıyor.
Temel Sorunları Özetlemek
Özetle, CPU'lar bilgisayarlarımızın donanım tabanlı beyinleridir, sanal muadili vCPU'lar ise yazılım tabanlıdır ve sanal makinelerde çalışmak üzere hipervizörler tarafından oluşturulur. Çekirdekler, bir CPU içindeki donanım tabanlı işlem birimleridir, iş parçacıkları ise bir CPU tarafından işlenebilen yazılım tabanlı talimatlardır.
İş parçacıkları, programın farklı bölümlerinin aynı anda çalışmasına izin veren ayrı çekirdeklerde aynı anda yürütülebilir. Bu, donanım performansını artırabilir, çünkü birden çok görev sırayla yerine aynı anda işlenebilir.
Artık CPU'lar, vCPU'lar, çekirdekler ve iş parçacıkları arasındaki farkı anladığınıza göre, bir bilgisayar veya sunucu seçerken bilinçli bir karar verebilirsiniz. Performans arıyorsanız, her bir çekirdek talimatları bağımsız olarak işleyebildiğinden, birden çok CPU çekirdeğine sahip bir bilgisayar seçmek en iyisidir. Ancak, uygun maliyetli bir çözüm arıyorsanız, vCPU'lar gidilecek yol olabilir.