İşlemcinin kişisel bilgisayarda ne yaptığı. Bir transistör nasıl çalışır. Entegre grafikler

  • 27.06.2019

İşlemcinin cihazı ve çalışma prensibi

İşlemci, mantıksal ve aritmetik işlemleri gerçekleştiren ve bilgisayarın tüm bileşenlerini kontrol eden ana bilgisayar aygıtıdır. İşlemci, işlemci tarafından gerçekleştirilen tüm işlevleri yerine getiren çok sayıda transistör içeren minyatür bir dikdörtgen ince silikon gofrettir. Bir silikon plaka çok kırılgandır ve herhangi bir hasar, işlemcinin arızalanmasına neden olacağından plastik veya seramik bir kasaya yerleştirilir.

1. Giriş.

Modern bir işlemci, bilgi işlem teknolojisindeki ve ilgili bilim alanlarındaki en son gelişmeleri içeren karmaşık ve yüksek teknoloji ürünü bir cihazdır.

Çoğu modern işlemci şunlardan oluşur:

  • tüm talimatları yürüten bir veya daha fazla çekirdek;
  • işlemcinin RAM ile etkileşimini hızlandıran birkaç önbellek seviyesi (genellikle 2 veya üç seviye);
  • RAM denetleyicisi;
  • sistem veri yolu denetleyicisi (DMI, QPI, HT, vb.);

Ve aşağıdaki parametrelerle karakterize edilir:

  • mikro mimari türü;
  • saat frekansı;
  • bir dizi yürütülebilir komut;
  • önbellek düzeylerinin sayısı ve boyutları;
  • sistem veriyolunun tipi ve hızı;
  • işlenen kelimelerin boyutu;
  • yerleşik bir bellek denetleyicisinin varlığı veya yokluğu;
  • desteklenen RAM türü;
  • adreslenebilir bellek miktarı;
  • yerleşik bir grafik çekirdeğinin varlığı veya yokluğu;
  • enerji tüketimi.

Modern bir çok çekirdekli işlemcinin basitleştirilmiş bir blok şeması Şekil 1'de gösterilmektedir.

Ana parçası olan çekirdek ile işlemci cihazı incelememize başlayalım.

2. İşlemcinin çekirdeği.

İşlemci çekirdeği, tüm işlevsel blokları içeren ve tüm mantıksal ve aritmetik işlemleri gerçekleştiren ana parçasıdır.

Şekil 1, işlemci çekirdek aygıtının bir blok şemasını göstermektedir. Şekilde görebileceğiniz gibi, her işlemci çekirdeği birkaç işlevsel bloktan oluşur:

  • talimat bloğunu getir;
  • kod çözme talimatları için bloklar;
  • veri örnekleme blokları;
  • kontrol bloğu;
  • talimatları yürütmek için bloklar;
  • sonuçları kaydetmek için bloklar;
  • kesintilerle çalışma bloğu;
  • ROM içeren mikro kod;
  • kayıt seti;
  • komut sayacı.

Talimat getirme bloğu komut sayacında belirtilen adresteki talimatları okur. Genellikle saat döngüsü başına birkaç talimat okur. Okunabilir talimatların sayısı, kod çözme bloklarının sayısı ile belirlenir, çünkü her çalışma döngüsünde kod çözme bloklarını mümkün olduğunca yüklemek gerekir. Getirme biriminin en iyi şekilde çalışması için işlemci çekirdeğinde bir dal tahmincisi bulunur.

geçiş tahmincisi geçişten sonra hangi komut dizisinin yürütüleceğini belirlemeye çalışır. Bu, koşullu bir atlamadan sonra işlemci çekirdek boru hattını maksimum düzeyde yüklemek için gereklidir.

Kod çözme blokları, adından da anlaşılacağı gibi, bunlar talimatların kodunu çözen bloklardır, yani. işlemcinin ne yapması gerektiğini ve talimatı yürütmek için hangi ek verilere ihtiyaç olduğunu belirleyin. Bu görev, CISC konseptine dayalı çoğu modern ticari işlemci için çok zordur. Gerçek şu ki, talimatların uzunluğu ve işlenenlerin sayısı sabit değildir ve bu, işlemci geliştiricilerinin ömrünü büyük ölçüde karmaşıklaştırır ve kod çözme işlemini önemsiz olmayan bir görev haline getirir.

Çoğu zaman, tek tek karmaşık talimatların mikro kodla değiştirilmesi gerekir - bir karmaşık talimatla aynı eylemi toplu olarak gerçekleştiren bir dizi basit talimat. Mikrokod seti, işlemcide yerleşik olarak bulunan ROM'a aktarılır. Ek olarak, mikro kod, işlemcinin geliştirilmesini basitleştirir, çünkü bireysel komutları yürütmek için karmaşık çekirdek blokları oluşturmaya gerek yoktur ve mikro kodu düzeltmek, bloğun işleyişindeki bir hatayı ortadan kaldırmaktan çok daha kolaydır.

Modern işlemcilerde, genellikle 2-4 talimat kod çözme bloğu vardır, örneğin Intel Core 2 işlemcilerde, her çekirdek bu tür iki blok içerir.

Veri getirme blokları geçerli talimatları yürütmek için gerekli önbellek veya RAM'den veri alma. Tipik olarak, her işlemci çekirdeği birkaç veri getirme bloğu içerir. Örneğin, Intel Core işlemciler, her çekirdek için iki getirme bloğu kullanır.

Kontrol bloğu kodu çözülmüş talimatlar bazında, talimat yürütme birimlerinin çalışmasını kontrol eder, yükü aralarında dağıtır ve talimatların zamanında ve doğru yürütülmesini sağlar. İşlemci çekirdeğinin en önemli bloklarından biridir.

Talimatları yürütmek için bloklar farklı türlerde birkaç blok içerir:

ALU - aritmetik mantık birimi;

FPU - kayan nokta işlemlerini gerçekleştirmek için bir cihaz;

Komut setlerinin genişletilmesini işlemek için bloklar. Veri akışlarının işlenmesini, şifreleme ve şifre çözmeyi, video kodlamayı vb. hızlandırmak için ek talimatlar kullanılır. Bunun için işlemci çekirdeğine ek kayıtlar ve mantık kümeleri eklenir. Şu anda, komut setlerinin en popüler uzantıları şunlardır:

MMX (Multimedya Uzantıları), akışlı ses ve video verilerinin kodlanmasını ve kodunun çözülmesini hızlandırmak için Intel tarafından geliştirilen bir dizi talimattır;

SSE (Akış SIMD Uzantıları), hesaplama sürecinin paralelleştirilmesiyle bir dizi veri üzerinde aynı işlem sırasını gerçekleştirmek için Intel tarafından geliştirilen bir dizi talimattır. Komut setleri sürekli olarak geliştirilmektedir ve şu anda revizyonlar bulunmaktadır: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator), özel yazılımların çalışmasını hızlandırmak ve bu tür programlarla çalışırken güç tüketimini azaltmak için Intel tarafından geliştirilen bir dizi talimattır. Bu talimatlar, örneğin sağlama toplamlarını hesaplarken veya veri ararken kullanılabilir;

3DNow, AMD tarafından MMX komut setinin yeteneklerini genişletmek için geliştirilmiş bir komut setidir;

AES (Gelişmiş Şifreleme Standardı), aynı algoritmayı kullanarak veri şifreleme kullanan uygulamaların çalışmasını hızlandırmak için Intel tarafından geliştirilen bir dizi talimattır.

Sonuç depolama birimi işlenmiş talimatta belirtilen adreste RAM'de talimat yürütme sonucunun bir kaydını sağlar.

Engelleme bloğu. Kesintilerle çalışmak, işlemcinin olaylara zamanında tepki vermesini, programın çalışmasını kesmesini ve gerekli eylemleri gerçekleştirmesini sağlayan en önemli görevlerinden biridir. Kesintilerin varlığı nedeniyle, işlemci sözde paralel çalışma yeteneğine sahiptir, yani. sözde çoklu görev için.

Kesinti işleme aşağıdaki gibidir. İşlemci, her döngüye başlamadan önce bir kesme isteği olup olmadığını kontrol eder. İşlenecek bir kesinti varsa, işlemci yürütmesi gereken talimatın adresini ve son talimat yürütüldükten sonra alınan verileri yığında saklar ve kesme işleme işlevini yürütmeye devam eder.

Kesinti hizmeti işlevinin yürütülmesinin sona ermesinden sonra, kendisine kaydedilen veriler yığından okunur ve işlemci geri yüklenen görevin yürütülmesine devam eder.

Kayıtlar- komut yürütmenin ara sonuçlarının geçici olarak depolanması için işlemcinin bir parçası olan küçük boyutlu (birkaç yüz bayt) ultra hızlı rastgele erişim belleği (kayıtlara erişim önbelleğe erişimden birkaç kat daha hızlıdır). İşlemci kayıtları iki türe ayrılır: genel amaçlı kayıtlar ve özel kayıtlar.

Genel amaçlı kayıtlar, aritmetik ve mantıksal işlemler veya ek komut setlerinin (MMX, SSE, vb.) belirli işlemleri gerçekleştirilirken kullanılır.

Özel amaçlı kayıtlar, işlemcinin çalışması için gereken sistem verilerini içerir. Bu tür kayıtlar, örneğin kontrol kayıtlarını, sistem adres kayıtlarını, hata ayıklama kayıtlarını vb. içerir. Bu kayıtlara erişim son derece düzenlenmiştir.

Komut sayacı- işlemcinin bir sonraki saat döngüsünde yürütmeye başlayacağı komutun adresini içeren kayıt.

2.1 İşlemci çekirdeği ilkesi.

İşlemci çekirdeğinin çalışma prensibi, John von Neumann tarafından 1946'da açıklanan döngüye dayanmaktadır. Basitleştirilmiş bir biçimde, işlemci çekirdek döngüsünün aşamaları aşağıdaki gibi gösterilebilir:

1. Getirme bloğu kesintileri kontrol eder. Bir kesme varsa, yazmaçların verileri ve komut sayacı yığına itilir ve kesme işleyicisinin komutunun adresi komut sayacına yazılır. Kesinti işleme işlevinin sonunda yığındaki veriler geri yüklenir;

2. Komut sayacından talimat alma bloğu, yürütülecek komutun adresini okur. Bu adreste komut, önbellek veya RAM'den okunur. Alınan veriler kod çözme birimine aktarılır;

3. Komut kod çözme birimi, gerekirse komutu yorumlamak için ROM'da kayıtlı mikro kodu kullanarak komutun şifresini çözer. Bu bir atlama komutuysa, atlama adresi komut sayacına yazılır ve kontrol komut getirme birimine aktarılır (nokta 1), aksi takdirde komut sayacı komut boyutu kadar artar (32 bit komutu olan bir işlemci için) uzunluk - by 4) ve kontrolü veri alma birimine aktarır ;

4. Veri örnekleme birimi, komutu yürütmek için gerekli verileri önbellek veya RAM'den okur ve kontrolü programlayıcıya aktarır;

5. Kontrol bloğu, mevcut görevi işlemek için hangi talimat yürütme bloğunu belirler ve kontrolü bu bloğa aktarır;

6. Talimatları yürütmek için bloklar, komutun gerektirdiği eylemleri gerçekleştirir ve sonuçları depolamak için bloğa kontrolü aktarır;

7. Sonuçları RAM'e kaydetmek gerekirse, sonuçları kaydetme bloğu bunun için gerekli işlemleri gerçekleştirir ve kontrolü komutları getirmek için bloğa aktarır (1. nokta).

Yukarıda açıklanan döngüye süreç denir (bu nedenle bir işlemciye işlemci denir). Yürütülen komut dizisine program denir.

Bir çevrim aşamasından diğerine geçişin hızı, işlemci saat hızı tarafından belirlenirken, her çevrim aşamasının çalışma süresi ve bir talimatın tamamlanması için gereken süre, işlemci çekirdek cihazı tarafından belirlenir.

2.2. İşlemci çekirdeğinin performansını artırmanın yolları.

Saat frekansını yükselterek işlemci çekirdeğinin performansını artırmanın kesin bir sınırı vardır. Saat hızını artırmak, işlemci sıcaklığını ve güç tüketimini artıracak ve işlemcinin kararlılığını ve ömrünü azaltacaktır.

Bu nedenle işlemci geliştiricileri, saat frekansını artırmadan işlemci performansını artırmak için çeşitli mimari çözümler kullanır.

İşlemci performansını artırmanın ana yollarına bir göz atalım.

2.2.1. Boru hattı.

İşlemci tarafından yürütülen her talimat sırayla tüm çekirdek bloklarından geçer ve her birinde talimatı yürütmek için gerekli eylemlerin kendi kısmı gerçekleştirilir. Yeni bir talimatı yalnızca ilk talimat üzerinde çalışmayı tamamladıktan sonra işlemeye başlarsanız, işlemci çekirdek bloklarının çoğu herhangi bir zamanda boşta olacaktır ve bu nedenle işlemcinin yetenekleri tam olarak kullanılmayacaktır.

İşlemcinin, ardışık düzen ilkesini kullanmadan beş komuttan (K1 – K5) oluşan bir programı çalıştıracağı bir örnek düşünün. Örneği basitleştirmek için, işlemci çekirdeğinin her bloğunun 1 saat döngüsünde bir talimat yürüttüğünü varsayalım.

Yani sen Örnek talimatlar Kod çözme talimatları Veri işleniyor Yönergeleri izleyin sonucu kaydetme
1 K1 - - - -
2 - K1 - - -
3 - - K1 - -
4 - - - K1 -
5 - - - - K1
6 K2 - - - -
7 - K2 - - -
8 - - K2 - -
9 - - - K2 -
10 - - - - K2
11 K3 - - - -
12 - K3 - - -
13 - - K3 - -
14 - - - K3 -
15 - - - - K3
16 K4 - - - -
17 - K4 - - -
18 - - K4 - -
19 - - - K4 -
20 - - - - K4
21 K5 - - - -
22 - K5 - - -
23 - - K5 - -
24 - - - K5 -
25 - - - - K5

Tablodan da görebileceğiniz gibi, işlemci beş talimatı yürütmek için 25 saat döngüsü aldı. Aynı zamanda, her döngüde, işlemci çekirdeğinin beş bloğundan dördü boştaydı, yani. işlemci potansiyelinin sadece %20'sini kullandı. Doğal olarak, gerçek işlemcilerde her şey daha karmaşıktır. Farklı işlemci blokları, farklı karmaşıklıktaki görevleri çözer. Talimatların kendileri de karmaşıklık bakımından farklılık gösterir. Ancak genel olarak, durum aynı kalır.

Bu sorunu tüm modern işlemcilerde çözmek için, talimatların yürütülmesi bir boru hattı prensibi üzerine kuruludur, yani çekirdek blokları serbest bırakıldıkça, önceki talimatın tamamen tamamlanmasını beklemeden bir sonraki talimatı işleyerek yüklenirler. uygulanmış.

Beş komuttan oluşan, ancak boru hattı ilkesini kullanan aynı programın yürütülmesine bir örnek düşünelim.

Yani sen Örnek talimatlar Kod çözme talimatları Veri işleniyor Yönergeleri izleyin sonucu kaydetme
1 K1 - - - -
2 K2 K1 - - -
3 K3 K2 K1 - -
4 K4 K3 K2 K1 -
5 K5 K4 K3 K2 K1
6 - K5 K4 K3 K2
7 - - K5 K4 K3
8 - - - K5 K4
9 - - - - K5

Aynı program 9 saat döngüsünde yürütüldü; bu, bir ardışık düzen olmadan neredeyse 2,8 kat daha hızlıdır. Tablodan da görebileceğiniz gibi, maksimum işlemci yükü 5. saat döngüsünde elde edildi. Bu noktada işlemci çekirdeğinin tüm blokları kullanıldı. Ve ilk vuruştan dördüncü vuruşa kadar, konveyör dolduruldu.

İşlemci talimatları sürekli olarak yürüttüğünden, ideal olarak %100 meşgul olabilir ve işlem hattı ne kadar uzun olursa, performans kazancı o kadar yüksek olur. Ama pratikte durum böyle değil.

İlk olarak, işlemci tarafından işlenen talimatların gerçek akışı tutarsızdır. İçinde genellikle geçişler vardır. Aynı zamanda, koşullu dal komutu tamamen işlenene kadar, ardışık düzen, hangi adreste bulunduğunu bilmediğinden yeni bir komut yürütmeye başlayamayacaktır.

Koşullu atlamadan sonra konveyörün yeniden doldurulması gerekir. Ve konveyör ne kadar uzun olursa, o kadar uzun sürer. Sonuç olarak, konveyörün tanıtılmasından elde edilen verimlilik kazancı azalır.

Koşullu dalların boru hattı işlemi üzerindeki etkisini azaltmak için, işlemci çekirdeğine koşullu dal tahmin blokları eklenir. Bu blokların ana görevi, koşullu dallanmanın ne zaman yapılacağını ve koşullu dallanma yapıldıktan sonra hangi komutların yürütüleceğini belirlemektir.

Koşullu dalı tahmin etmek mümkün olsaydı, yeni adreste talimatların yürütülmesi, koşullu dal komutunun işlenmesi bitmeden başlar. Sonuç olarak, konveyörün dolumu etkilenmeyecektir.

İstatistiklere göre, modern işlemcilerdeki koşullu dal tahmin bloklarının doğruluğu% 90'ı aşıyor, bu da oldukça uzun, ancak aynı zamanda iyi doldurulmuş boru hatları yapmayı mümkün kılıyor.

İkincisi, genellikle işlenen talimatlar birbirine bağlıdır, yani talimatlardan biri, ilk veri olarak başka bir talimatın yürütülmesinin sonucunu gerektirir.

Bu durumda, yalnızca ilk talimatın tamamen işlenmesinden sonra yürütülebilir. Bununla birlikte, modern işlemciler, kodu birkaç talimat öncesinde ayrıştırabilir ve örneğin, ilk talimata paralel olarak, ilk ikisine hiçbir şekilde bağlı olmayan üçüncü talimatı işleyebilir.

Çoğu modern işlemcide, talimatların ilişkisini analiz etme ve işlem sırasını oluşturma görevi, kaçınılmaz olarak performansında bir düşüşe ve maliyette bir artışa yol açan işlemcinin omuzlarına düşer.

Bununla birlikte, bir programın bir işlemci tarafından yürütülme sırası, programın derleme aşamasında belirlendiğinde, statik zamanlama popülerlik kazanmaktadır. Bu durumda, paralel olarak çalıştırılabilen komutlar, derleyici tarafından tüm talimatların paralel olduğu bilinen tek bir uzun talimatta birleştirilir. Bu tür talimatlarla çalışan işlemciler, VLIW (Çok uzun talimat kelimesi) mimarisine dayanmaktadır.

2.2.2. Süperskalarite.

Süperskalarite, en çok yüklenen blokların birkaç durumda dahil edilebildiği hesaplama çekirdeğinin mimarisidir. Örneğin, işlemci çekirdeğinde, bir komut getirme birimi aynı anda birkaç kod çözme birimi yükleyebilir.

Bu durumda, birkaç talimatın aynı anda paralel işlenmesi nedeniyle daha karmaşık eylemler gerçekleştiren ve daha uzun çalışan bloklar, tüm boru hattını geciktirmez.

Ancak, talimatların paralel yürütülmesi ancak bu talimatların bağımsız olması durumunda mümkündür.

Bir varsayımsal işlemcinin, skaler üstü ilke kullanılarak oluşturulmuş boru hattı çekirdeğinin blok diyagramı Şekil 1'de gösterilmiştir. Bu şekilde, her işlemci çekirdeğinde birkaç kod çözme birimi, birkaç veri getirme birimi ve birkaç talimat yürütme birimi çalışır.

2.2.3. Paralel veri işleme.

Saat frekansını artırarak işlemcilerin performansını sonsuz olarak artırmak mümkün değildir. Saat frekansındaki bir artış, ısı dağılımında bir artışa, işlemcilerin hizmet ömründe ve güvenilirliğinde bir azalmaya neden olur ve belleğe erişimdeki gecikmeler, saat frekansındaki bir artışın etkisini büyük ölçüde azaltır. Gerçekten de, günümüzde 3,8 GHz'den daha yüksek bir saat hızına sahip işlemcileri pek bulamazsınız.

Hız aşırtma sorunları, geliştiricileri işlemci performansını iyileştirmenin başka yollarını aramaya zorluyor. En popüler yöntemlerden biri paralel hesaplamadır.

Modern işlemcilerin büyük çoğunluğu iki veya daha fazla çekirdeğe sahiptir. En iyi modeller, hiper iş parçacığı teknolojisi desteği ile 8 veya hatta 12 çekirdek içerebilir. Ek çekirdekler sunmanın avantajları oldukça anlaşılabilir, pratikte her bir görevini bağımsız olarak çözebilen birkaç işlemci alıyoruz, doğal olarak performans artıyor. Ancak performans kazanımları her zaman beklentileri karşılamamaktadır.

İlk olarak, tüm programlar hesaplamaların birden çok çekirdek arasında dağıtımını desteklemez. Doğal olarak, programlar çekirdekler arasında bölünebilir, böylece her bir çekirdeğin kendi bağımsız programları vardır. Örneğin, bir dizi yardımcı programa sahip bir işletim sistemi bir çekirdekte, özel programlar diğerinde vb. çalışır.

Ancak bu, tek bir çekirdeğin sağlayabileceğinden daha fazla kaynak gerektiren bir program görünene kadar performans avantajı sağlar. Birden çok çekirdek arasında yük dengelemeyi destekliyorsa iyidir. Ancak şu anda, yükü 12 çekirdek arasında ve hatta Hyper-Threading modunda dağıtabilen halka açık programlar bir elin parmaklarıyla sayılabilir. Elbette abartıyorum, çok iş parçacıklı bilgi işlem için optimize edilmiş programlar var, ancak çoğu sıradan kullanıcının bunlara ihtiyacı yok. Ancak şimdiye kadarki en popüler programlar ve hatta daha fazla oyun, özellikle çekirdek sayısı dörtten fazlaysa, çok çekirdekli işlemcilere "zayıf" uyum sağlar.

İkincisi, birçok çekirdek olduğundan ve hepsinin RAM'e erişmesi gerektiğinden, bellekle çalışmak daha zor hale gelir. İşlemci çekirdeklerinin belleğe ve diğer bilgisayar kaynaklarına erişim sırasını belirleyen karmaşık bir mekanizma gereklidir.

Üçüncüsü, enerji tüketimi artar ve buna bağlı olarak ısı üretimi artar ve güçlü bir soğutma sistemine ihtiyaç duyulur.

Dördüncüsü, çok çekirdekli işlemcilerin üretim maliyeti oldukça büyüktür ve buna göre bu tür işlemcilerin fiyatı "ısırır".

Tüm eksikliklerine rağmen 2-4 çekirdekli işlemcilerin kullanılması şüphesiz önemli bir performans kazancı sağlıyor. Ancak şu anda dörtten fazla çekirdeğe sahip işlemcilerin kullanılması her zaman beklentileri karşılamamaktadır. Ancak, yakın gelecekte durum dramatik bir şekilde değişmelidir. Mutlaka multithreading destekli bir çok program çıkacaktır, tek tek çekirdeklerin performansı artacak, fiyatları düşecektir.

2.2.4. Hyper-Threading Teknolojisi.

Intel Hyper-threading teknolojisi, her bir işlemci çekirdeğinin aynı anda iki görevi yerine getirmesini sağlayarak, esasen bir gerçek çekirdeği iki sanal hale getirir. Bu, bu tür çekirdeklerde, çekirdeğin kendi kayıt kümesine, kendi komut sayacına ve her bir iş parçacığı için kesintilerle kendi çalışma bloğuna sahip olduğundan, aynı anda iki iş parçacığının durumunun kaydedilmesi nedeniyle mümkündür. Sonuç olarak, işletim sistemi böyle bir çekirdeği iki ayrı çekirdek olarak görür ve onlarla çift çekirdekli bir işlemcide olduğu gibi çalışır.

Bununla birlikte, her iki iş parçacığı için kalan temel öğeler ortaktır ve aralarında paylaşılır. Ek olarak, herhangi bir nedenle iş parçacıklarından biri boru hattının öğelerini serbest bıraktığında, diğer iş parçacığı serbest blokları kullanır.

Örneğin, önbelleğe erişirken bir eksiklik varsa ve RAM'den veri okumak gerekiyorsa veya geçiş yanlış tahmin edildiyse veya mevcut talimatın işlenmesinin sonuçları bekleniyorsa, boru hattının öğeleri dahil olmayabilir. , veya bazı bloklar işleme sırasında hiç kullanılmaz, bu kılavuz vb.

Çoğu program işlemciyi tam olarak yükleyemez, çünkü bazıları neredeyse FPU kullanmadan basit tamsayı hesaplamaları kullanır. Diğer programlar, örneğin bir 3D stüdyosu, kayan noktalı sayıları kullanarak çok sayıda hesaplama gerektirir, ancak aynı zamanda diğer bazı yürütme birimlerini serbest bırakır vb.

Ayrıca hemen hemen tüm programlarda çok sayıda koşullu ve bağımlı değişken bulunur. Sonuç olarak, Hyper-threading teknolojisinin kullanılması, çekirdek ardışık düzenin maksimum yüklenmesine katkıda bulunarak önemli bir performans artışı sağlayabilir.

Ama her şey o kadar basit değil. Doğal olarak, performans kazancı, birkaç fiziksel çekirdeğin kullanımından daha az olacaktır, çünkü sonuçta, iş parçacıkları bir boru hattının ortak bloklarını kullanır ve genellikle gerekli bloğun serbest bırakılmasını beklemek zorunda kalır. Ek olarak, çoğu işlemcinin zaten birkaç fiziksel çekirdeği vardır ve Hyper-threading teknolojisini kullanırken, özellikle işlemci dört veya daha fazla fiziksel çekirdek içeriyorsa, sanal çekirdekler çok fazla olabilir.

Şu anda çok sayıda çekirdek üzerinde hesaplamaları dağıtabilen çok az program olduğundan, bu durumda sonuç kullanıcıları hayal kırıklığına uğratabilir.

Hyper-Threading teknolojisiyle ilgili başka bir ciddi sorun daha var - farklı iş parçacıklarından gelen talimatların aynı tip bloklara ihtiyacı olduğunda ortaya çıkan çatışmalar. İki benzer iş parçacığının paralel olarak, genellikle aynı blokları kullanarak çalışacağı bir durum ortaya çıkabilir. Bu durumda, performans kazancı minimum olacaktır.

Sonuç olarak, Hyper-Threading teknolojisi, işlemci yükünün türüne çok bağlıdır ve iyi bir performans artışı sağlayabilir veya pratik olarak işe yaramaz olabilir.

2.2.5. Turbo Boost teknolojisi.

Evdeki çoğu modern işlemcinin performansı biraz yükseltilebilir, basitçe ifade edilebilir, hız aşırtılabilir - nominal değeri aşan frekanslarda çalışmaya zorlanabilir, yani. üretici tarafından beyan edilmiştir.

İşlemci frekansı, sistem veri yolu frekansının çarpan adı verilen bir faktörle çarpılmasıyla hesaplanır. Örneğin, Core i7-970 işlemci, DMI sistem veri yolu ile 133 MHz taban frekansında çalışır ve çarpanı 24'tür. Böylece, işlemci çekirdeğinin saat frekansı: 133 MHz * 24 = 3192 MHz olacaktır.

BIOS ayarlarında çarpanı arttırırsanız veya sistem veriyolunun saat frekansını yükseltirseniz, işlemcinin saat frekansı artacak ve buna bağlı olarak performansı da artacaktır. Ancak bu süreç güvenli olmaktan uzaktır. Hız aşırtma nedeniyle işlemci kararsız hale gelebilir ve hatta arızalanabilir. Bu nedenle, hız aşırtmaya sorumlu bir şekilde yaklaşılmalı ve işlemcinin parametrelerini dikkatlice kontrol etmelidir.

Turbo Boost teknolojisinin gelişiyle işler çok daha kolay hale geldi. Bu teknolojiye sahip işlemciler, kısa bir süre için dinamik olarak saat frekansını artırabilir ve böylece performanslarını artırabilir. Aynı zamanda işlemci, çalışmasının tüm parametrelerini kontrol eder: voltaj, amper, sıcaklık vb., arızaları ve hatta daha fazlasını önler. Örneğin, işlemci kullanılmayan çekirdekleri kapatabilir, böylece genel sıcaklığı düşürebilir ve bunun yerine kalan çekirdeklerin saat hızını artırabilir.

Şu anda veri işleme için tüm işlemci çekirdeklerini kullanan çok fazla program olmadığından, özellikle dörtten fazla varsa, Turbo Boost teknolojisinin kullanılması, özellikle tek iş parçacıklı uygulamalarla çalışırken işlemci performansını önemli ölçüde artırabilir.

2.2.6. Komut yürütme verimliliği.

İşlenen komut türlerine ve yürütülme biçimlerine bağlı olarak işlemciler birkaç gruba ayrılır:

  • klasik CISC işlemcilerde;
  • Azaltılmış komut seti RISC işlemcileri;
  • minimum talimat setine sahip MISC işlemciler için;
  • bir dizi ekstra uzun talimat içeren VLIW işlemciler için.

CISC (Karmaşık komut seti bilgisayarı) Karmaşık bir komut setine sahip işlemcilerdir. CISC mimarisi şu şekilde karakterize edilir:

  • karmaşık ve çok boyutlu talimatlar;
  • çok sayıda farklı talimat;
  • sabit olmayan talimat uzunluğu;
  • çeşitli adresleme modları.

Tarihsel olarak, CISC mimarisine sahip işlemciler ilkti ve görünümleri ilk bilgisayarların geliştirilmesindeki genel eğilimden kaynaklanıyordu. Bilgisayarları daha işlevsel ve aynı zamanda programlamayı daha kolay hale getirmeye çalıştılar. Doğal olarak, başlangıçta programcılar için her bir işlevi tamamen ayrı bir alt program olarak uygulamak yerine geniş bir talimat setine sahip olmak daha uygundu. Sonuç olarak, programların hacmi ve bununla birlikte programlamanın karmaşıklığı büyük ölçüde azaldı.

Ancak bu durum uzun sürmedi. İlk olarak, yüksek seviyeli dillerin ortaya çıkmasıyla, makine kodlarında ve montajcıda doğrudan programlama ihtiyacı ortadan kalktı ve ikincisi, zamanla farklı talimatların sayısı büyük ölçüde arttı ve talimatların kendisi daha karmaşık hale geldi. Sonuç olarak, çoğu programcı, en karmaşık talimatları neredeyse görmezden gelerek, çoğunlukla belirli bir talimat seti kullandı.

Sonuç olarak, program derlemesi otomatik hale geldiğinden ve işlemcilerin kendileri, esas olarak kod çözme ile ilgili sorunlardan dolayı, karmaşık ve çeşitli talimatları yavaş bir şekilde işledikleri için, programcılar artık geniş talimat setinden fazla yararlanamadı.

Ek olarak, işlemci geliştiricileri, zahmetli ve karmaşık bir süreç olduğu için yeni karmaşık talimatlarda daha az hata ayıkladı. Sonuç olarak, bazıları hata içerebilir.

Ve elbette, talimatlar ne kadar karmaşıksa, ne kadar çok eylem gerçekleştirirlerse, yürütmelerini paralelleştirmek o kadar zor olur ve buna bağlı olarak işlemci boru hattını o kadar az verimli yüklerler.

Bununla birlikte, bu zamana kadar, CISC mimarisine sahip işlemciler için çok sayıda program geliştirilmişti, bu nedenle temelde yeni bir mimariye geçmek ekonomik olarak kârsızdı, hatta işlemci performansında bir kazanç sağladı.

Bu nedenle bir uzlaşma sağlandı ve Intel486DX ile başlayan CISC işlemciler RISC çekirdeği kullanılarak üretilmeye başlandı. Yani, yürütmeden hemen önce, karmaşık CISC komutları, daha basit bir dahili RISC komutları kümesine dönüştürülür. Bunu yapmak için, işlemci çekirdeğinin içinde bulunan ROM'da yazılmış mikro talimat setlerini kullanın - aynı eylemleri toplu olarak tek bir karmaşık talimatla gerçekleştiren bir dizi basit talimat.

RISC (İndirgenmiş Komut Setli Bilgisayar)- azaltılmış talimat setine sahip işlemciler.

RISC işlemcileri kavramı, kısa, basit ve standartlaştırılmış talimatları destekler. Sonuç olarak, bu tür talimatların kodunun çözülmesi ve yürütülmesi daha kolaydır ve bu nedenle işlemci tasarımı, standart olmayan ve çok işlevli talimatları yürütmek için karmaşık bloklara gerek olmadığı kadar basit hale gelir. Sonuç olarak, işlemci daha ucuz hale gelir ve dahili yapıyı basitleştirerek ve transistör sayısını azaltarak saat frekansını ek olarak yükseltmek veya güç tüketimini azaltmak mümkün hale gelir.

Ayrıca, basit RISC komutlarının paralelleştirilmesi CISC komutlarından çok daha kolaydır ve bu nedenle, boru hattını daha fazla yüklemek, ek komut işleme blokları eklemek vb. mümkün hale gelir.

RISC işlemciler aşağıdaki ana özelliklere sahiptir:

  • sabit talimat uzunluğu;
  • küçük bir dizi standart talimat;
  • çok sayıda genel amaçlı kayıt;
  • mikro kod eksikliği;
  • benzer performansa sahip CISC işlemcilere kıyasla daha düşük güç tüketimi;
  • daha basit iç yapı;
  • benzer performansa sahip CISC işlemcilere kıyasla daha az transistör;
  • işlemci çekirdeğinde karmaşık özel blokların olmaması.

Sonuç olarak, RISC işlemcileri aynı görevi tamamlamak için CISC işlemcilerinden daha fazla talimat gerektirse de, genellikle daha iyi performans gösterirler. İlk olarak, tek bir RISC komutunun yürütülmesi, bir CISC komutunun yürütülmesinden çok daha az zaman alır. İkinci olarak, RISC işlemcileri paralel yeteneklerin daha kapsamlı kullanımını sağlar. Üçüncüsü, RISC işlemcileri, CISC işlemcilerinden daha yüksek bir saat hızına sahip olabilir.

Ancak, RISC'nin açık avantajına rağmen, işlemciler CISC kadar yaygın bir şekilde benimsenmemiştir. Doğru, bu esas olarak bazı parametrelerde CISC işlemcilerinden daha kötü olabilecekleri gerçeğinden kaynaklanmıyor. Daha kötü değiller. Gerçek şu ki, önce CISC işlemcileri ortaya çıktı ve CISC işlemcileri için yazılım RISC işlemcileriyle uyumlu değil.

Sonuç olarak, çok sayıda kullanıcı tarafından geliştirilmiş, hata ayıklanmış ve kullanılmış tüm programları yeniden yazmak ekonomik olarak son derece kârsızdır. Ve öyle oldu ki şimdi CISC işlemcileri kullanmak zorunda kaldık. Doğru, daha önce de söylediğim gibi, geliştiriciler bu soruna uzlaşmacı bir çözüm buldular ve çok uzun süredir RISC çekirdeğini CISC işlemcilerinde kullanıyorlar ve karmaşık talimatları mikro programlarla değiştiriyorlar. Bu, durumun biraz hafifletilmesine izin verdi. Yine de RISC işlemcileri, çoğu parametrede RISC çekirdekli CISC işlemcilerinden bile daha iyi performans gösterir.

MISC (Minimal Komut Seti Bilgisayarı)- talimatların daha da basitleştirilmesine ve sayılarının azaltılmasına dayalı olarak RISC mimarisinin daha da geliştirilmesi. Bu nedenle, MISC işlemcilerde ortalama olarak 20-30 basit talimat kullanılır. Bu yaklaşım, işlemci tasarımını daha da basitleştirdi, güç tüketimini azalttı ve paralel işleme yeteneklerini en üst düzeye çıkardı.

VLIW (Çok uzun talimat kelimesi)- paralel işleme için derleyici tarafından birleştirilen, aynı anda birkaç işlemi içeren uzun talimatları kullanan işlemci mimarisi. Bazı işlemci uygulamalarında, talimatlar 128 hatta 256 bit uzunluğunda olabilir.

VLIW mimarisi, derin paralellik ile RISC ve MISC mimarisinin daha da geliştirilmesidir.

RISC işlemcilerinde, işlemcinin kendisi paralel veri işlemeyi organize ederken, kaynakların bir kısmını talimatları analiz etmeye, bağımlılıkları belirlemeye ve koşullu dalları tahmin etmeye harcarsa (ve genellikle işlemci, örneğin koşullu dalları tahmin etmede hatalar yapabilir, bu nedenle, işleme talimatlarında ciddi gecikmelere neden olur veya paralel olarak gerçekleştirilebilecek bağımsız işlemleri tanımlamak için program koduna yetersiz bir derinliğe bakar), ardından VLIW işlemcilerinde paralel çalışmayı optimize etme görevi derleyiciye verildi, ancak bu değil zaman veya kaynaklarla sınırlıdır ve işlemci için en uygun kodu derlemek için tüm programı analiz edebilir.

Sonuç olarak, VLIW işlemcisi yalnızca paralel veri işleme ek yükünün ortadan kaldırılmasından faydalanmakla kalmadı, aynı zamanda talimatların paralel yürütülmesinin daha optimal organizasyonu nedeniyle performans kazanımları da aldı.

Ek olarak, işlemcinin tasarımı basitleştirildi, çünkü bağımlılıkları analiz etmekten ve talimat işlemenin paralelleştirilmesini organize etmekten sorumlu bazı bloklar basitleştirildi veya tamamen ortadan kaldırıldı ve bu da güç tüketiminde ve işlemcilerin maliyetinde bir azalmaya yol açtı.

Bununla birlikte, derleyici bile kodun analizi ve paralelleştirme organizasyonu ile başa çıkmakta zorlanıyor. Genellikle program kodu birbirine son derece bağımlıydı ve sonuç olarak derleyici, talimatlara boş talimatlar eklemek zorunda kaldı. Bu nedenle, VLIW işlemciler için programlar, geleneksel mimariler için benzer programlardan çok daha uzun olabilir.

İlk VLIW işlemciler 1980'lerin sonunda ortaya çıktı ve Cydrome tarafından geliştirildi. Bu mimariye sahip işlemciler arasında Philips TriMedia işlemciler, Texas Instruments'ın DSP C6000 ailesi, 2000 yılından bu yana Elbru - MCST tarafından MIPT öğrencileri ve diğerlerinin katılımıyla geliştirilen Rus yapımı bir işlemci de bulunmaktadır. Itanium ailesinin işlemcileri.

2.3. İşlemci güç tüketimini azaltmanın yolları.

Bir işlemci için performans kadar güç tüketimi gibi bir parametre de önemlidir. Taşınabilir cihazların popülaritesinde gerçek bir patlama olduğunda, güç tüketimi sorunu özellikle akut.

Hayatımız artık dizüstü bilgisayarlar, tabletler ve akıllı telefonlar olmadan rahat bir şekilde hayal edilemez. Ancak bu trendi gölgede bırakan tek şey bu tür cihazların pil ömrü. Bu nedenle, dizüstü bilgisayarlar ortalama olarak 3-5 saat, tabletler - biraz daha fazla, akıllı telefonlar tam yükte neredeyse bir gün sürebilir ve hepsi bu kadar değil. Ancak tüm bunlar, onlarla rahat bir çalışma için son derece küçüktür.

Bu cihazların pil ömrü doğrudan güç tüketimlerine bağlıdır ve güç tüketiminin büyük bir kısmı işlemciye düşmektedir. İşlemcilerin güç tüketimini azaltmak için çeşitli yöntem ve teknolojiler kullanılmaktadır. En popüler olanlara bir göz atalım.

Bir işlemcinin güç tüketimini ve ısı yayılımını azaltmanın en kolay yolu, işlemcinin güç tüketimi çalışma voltajının karesi ve saat frekansı ile orantılı olduğundan, saat frekansını ve voltajını azaltmaktır. Enerji tüketimi üzerindeki en faydalı etki voltaj azalmasıdır. Bununla birlikte, azalan voltajla, er ya da geç, saat frekansı da düşer ve bu da doğal olarak performansta bir düşüşe neden olur.

Ancak, güç tüketimi genellikle daha kritik çalışma parametresidir ve bir miktar performans düşüşü kabul edilebilir. Bu nedenle, gömülü sistemler için işlemcilerin ve işlemcilerin çoğu mobil sürümleri, masaüstü sürümleri için benzerlerinden çok daha düşük bir saat hızına ve çalışma voltajına sahiptir.

Ancak üreticiler her zaman optimum voltaj ve saat frekansı kombinasyonunu ayarlamazlar. Sabit bir saat hızına sahip birçok mobil işlemci, dizüstü bilgisayarın pil ömrünü önemli ölçüde uzatacak olan daha düşük bir voltajda çalışabilir.

Performansın güç tüketimine en uygun oranını elde etmek için işlemcinin belirli bir saat frekansında kararlı şekilde çalışacağı bir voltaj seçmek gerekir.

Saat frekansı kullanıcının ihtiyaçlarına göre belirlenir, ardından voltajı kademeli olarak düşürerek ve işlemciyi yük altında test ederek bunun için minimum çalışma voltajı seçilir.

Bu sorunu çözmenin daha az sert yolları da vardır.

Örneğin, teknoloji EIST (Gelişmiş Intel SpeedStep Teknolojisi) işlemci saat frekansını ve voltajını değiştirerek işlemcinin güç tüketimini dinamik olarak değiştirmenizi sağlar. Saat frekansını değiştirmek, çarpma faktörünü azaltarak veya artırarak gerçekleşir.

Çarpma faktöründen yukarıda zaten bahsetmiştim ama kendimi tekrar edeceğim. İşlemci saat hızı, sistem veri yolu saat hızının çarpma faktörü adı verilen bir faktörle çarpılmasıyla hesaplanır. Bu faktörün azaltılması veya arttırılması, işlemci saat frekansının azalmasına veya artmasına ve çalışma voltajının azalmasına veya artmasına neden olur.

İşlemcinin tam olarak kullanılmadığı durumlarda çarpma faktörü düşürülerek saat hızı düşürülebilir. Kullanıcı daha fazla bilgi işlem kaynağına ihtiyaç duyduğu anda, çarpma faktörü nominal değerine kadar artırılacaktır. Böylece, enerji tüketimini bir miktar azaltmak mümkündür.

İşlemci üzerindeki yüke bağlı olarak voltaj ve saat frekansındaki dinamik değişikliklere dayalı olarak güç tüketimini azaltmak için benzer bir teknoloji AMD tarafından da kullanılır, buna - Cool'n'Quiet.

Çoğu durumda, bilgisayarlar ya boşta kalır ya da yalnızca kapasiteleri ölçüsünde kullanılır. Örneğin, bir film izlemek veya yazı yazmak, modern işlemcilerin sahip olduğu muazzam bilgi işlem gücünü gerektirmez. Üstelik bu kapasitelere bilgisayar boştayken, kullanıcı taşındığında veya sadece kısa bir mola vermeye karar verdiğinde bile ihtiyaç duyulmaz. Böyle anlarda işlemcinin saat hızını ve voltajını düşürerek enerji tasarrufunda çok ciddi bir artış sağlayabilirsiniz.

EIST teknolojisi, BIOS ve işletim sistemi yazılımı kullanılarak yapılandırılabilir ve güç yönetimi profilleri belirli bir durum için gerektiği gibi ayarlanabilir, böylece işlemci performansı ve güç tüketimi dengelenir.

Doğal olarak geliştiriciler, güç tüketimini ve işlemcinin ultra düşük voltajlarda çalışma yeteneğini azaltmak için işlemcinin yapısını optimize etmeye çalışıyorlar. Ancak bu görev son derece zor ve zaman alıcıdır. İşlemcilerin prototipleri, minimum çalışma voltajının eşiğine neredeyse yaklaştı ve mantıksal bir birimin voltajını mantıksal sıfırdan neredeyse hiç ayırt etmedi. Ancak buna rağmen, Intel mühendisleri de dahil olmak üzere işlemci geliştiricileri, modern işlemcilerin güç tüketimini önümüzdeki on yıl içinde 100 kata kadar azaltma sözü veriyor. Pekala, bekleyip ne olacağını görelim.

3. Önbellek belleği.

Geliştiricilerin tüm teknolojilerine ve püf noktalarına rağmen, işlemci performansı hala doğrudan bellekten komut ve veri alma hızına bağlıdır. Ve işlemci dengeli ve iyi düşünülmüş bir boru hattına sahip olsa bile, Hyper-Threading teknolojisini vb. bilgisayar beklentilerinizi karşılamayacaktır.

Bu nedenle, işlemci cihazının en önemli parametrelerinden biri, ana RAM'den talimat ve veri alma süresini azaltmak için tasarlanmış ve işlemci ile ana RAM arasında hızlı erişim ile bir ara tampon görevi gören önbellektir.

CACHE belleği, RAM'in temel alındığı DRAM bellek hücrelerinden (dinamik rastgele erişimli bellek) çok daha hızlı bellek hücrelerine erişim sağlayan pahalı SRAM belleği (statik rastgele erişimli bellek) temelinde oluşturulur. Ek olarak, SRAM, performansını da artıran sürekli yenilenme gerektirmez. Ancak, bir sonraki makalede cihaz SRAM, DRAM ve diğer bellek türlerini daha ayrıntılı olarak ele alacağız ve şimdi çalışma prensibine ve önbellek cihazına daha yakından bakacağız.

CACHE belleği birkaç seviyeye ayrılmıştır. Modern işlemcilerde genellikle üç düzey vardır ve bazı üst düzey işlemci modellerinde bazen dört önbellek düzeyi vardır.

Üst düzey önbellek her zaman alt düzey önbellekten daha büyük ve daha yavaştır.

En hızlı ve en küçük önbellek, seviye 1 önbellektir. Genellikle işlemcinin frekansında çalışır, birkaç yüz kilobaytlık bir hacme sahiptir ve veri ve talimat bloklarının hemen yakınında bulunur. Ayrıca, tek olabilir (Princeton mimarisi) veya iki bölüme ayrılabilir (Harvard mimarisi): talimat belleği ve veri belleği. Çoğu modern işlemci, ortak bir L1 önbelleği kullanır, çünkü bu, boru hattının çalışması için son derece önemli olan, alma talimatlarıyla aynı anda veri alınmasına izin verir.

L2 önbelleği daha yavaştır (erişim süresi, ortalama 8-20 işlemci döngüsü), ancak birkaç megabaytlık bir hacme sahiptir.

L3 önbelleği daha da yavaştır, ancak nispeten büyüktür. 24 MB'den fazla L3 önbelleğe sahip işlemciler var.

Çok çekirdekli işlemcilerde, genellikle önbelleğin son seviyesi tüm çekirdekler tarafından paylaşılır. Ayrıca çekirdekler üzerindeki yüke bağlı olarak, çekirdeğe tahsis edilen son seviye CACHE'nin hacmi dinamik olarak değişebilmektedir. Çekirdeğin yüksek bir yükü varsa, daha az yüklü çekirdekler için önbellek miktarı azaltılarak ona daha fazla önbellek tahsis edilir. Tüm işlemcilerde bu özellik yoktur, yalnızca Akıllı Önbellek teknolojisini destekleyenlerde bulunur (örneğin, Intel Akıllı Önbellek veya AMD Dengeli Akıllı Önbellek).

Alt düzey önbellek - genellikle her işlemci çekirdeği için ayrıdır.

Önbelleğin nasıl çalıştığına baktık, şimdi nasıl çalıştığını anlayalım.

İşlemci, ana RAM'den verileri okur ve uzun süredir ve en nadiren erişilen verileri değiştirerek tüm seviyelerin önbellek belleğine yazar.

İşlemci aynı verilere bir daha ihtiyaç duyduğunda, artık ana RAM'den değil, çok daha hızlı olan L1 önbelleğinden okunacaktır. İşlemci bu verilere uzun bir süre erişmezse, o zaman, ilk önce, boyut olarak en küçük olduğu için, daha sonra ikinciden, vb. Ancak, bu veriler yalnızca önbelleğin üçüncü seviyesinde kalsa bile, buna erişim ana belleğe göre daha hızlı olacaktır.

Ancak, ne kadar fazla önbellek seviyesi varsa, eski veri değiştirme algoritması o kadar karmaşıktır ve tüm önbellek seviyelerindeki verileri uzlaştırmak için o kadar fazla zaman gerekir. Sonuç olarak, önbelleğin hızından elde edilen kazanç hızla kaybolur. Ek olarak, SRAM çok pahalıdır ve büyük hacimlidir ve hatırladığınız gibi, her yeni önbellek seviyesi bir öncekinden daha yüksek olmalıdır, fiyat-kalite oranı hızla düşmektedir, bu da üzerinde son derece olumsuz bir etkiye sahiptir. işlemcinin rekabet gücü Bu nedenle, pratikte, dörtten fazla önbellek seviyesi yapılmaz.

Önbellekle ilgili durum, her çekirdeğin kendi önbelleğini içeren çok çekirdekli işlemcilerde daha da karmaşıktır. Farklı çekirdeklerin önbelleğinde depolanan verilerin ek senkronizasyonunu sağlamak gerekir. Örneğin, ana RAM'in aynı veri bloğu, birinci ve ikinci işlemci çekirdeklerinin önbelleğine girildi. Sonra ilk işlemci bu bellek bloğunu değiştirdi. İkinci işlemcinin önbelleğinin eski veriler içerdiği ve güncellenmesi gerektiği ortaya çıktı ve bu, önbellek üzerinde ek bir yüktür ve bu da işlemcinin genel hızında bir azalmaya yol açar. Bu durum daha karmaşıktır, işlemcide ne kadar fazla çekirdek varsa, önbellek seviyeleri o kadar fazla ve hacimleri o kadar büyük olur.

Ancak, önbellekle çalışmanın bu tür zorluklarına rağmen, kullanımı bilgisayarın maliyetinde önemli bir artış olmadan çalışma hızında net bir artış sağlar. Hız açısından SRAM ve fiyat açısından DRAM ile rekabet edebilecek bir RAM icat edilinceye kadar, çeşitli önbellek seviyeleri kullanan hiyerarşik bir RAM organizasyonu kullanılacaktır.

Belki de bu, işlemci cihazının incelemesini bitireceğimiz yerdir, çünkü sistem veri yollarına ve çalışma prensibine genel bir bakış "Anakartın Tasarımı ve Amacı" makalesinde ve ana RAM denetleyicisinin açıklamasında verilmiştir. Genellikle işlemcinin bir parçası olan RAM türleri ve çalışma prensipleri bir sonraki yazıda olacak.


(veya Merkezi işlem birimi, İŞLEMCİ) Herhangi bir bilgisayarın ana bileşenidir. Program kodunu yürütmekten sorumlu olan işlemcidir, bu nedenle işlemci ne kadar hızlı olursa, bilgisayara atanan görevler o kadar hızlı gerçekleştirilir.

  • Hesaplama çekirdeği sayısı... İşlemci çekirdeklerinin sayısı, işlemcinin paralel olarak gerçekleştirebileceği görev sayısını belirler. Şu anda masaüstü bilgisayarlar 1, 2, 4, 6 ve 8 çekirdekli işlemciler kullanıyor. Bir işlemci seçerken, bilgisayarda gerçekleştirilecek belirli görevler için çekirdek sayısı seçilmelidir. Örneğin, basit uygulamalarla çalışmak veya interneti kullanmak için 2 çekirdekli bir işlemci yeterlidir, ancak profesyonel grafik programlarını kullanmak veya zorlu oyunları çalıştırmak için 4 veya 6 çekirdekli bir işlemci gerekir. Ayrıca, bazı Intel işlemciler, gerçekte var olan her bir bilgi işlem çekirdeği (Hyper-threading teknolojisi) için 2 sanal çekirdek oluşturabilir. Bu hile sayesinde, çekirdeği iş ile daha verimli bir şekilde yüklemek mümkündür, bu da hesaplamalı çekirdeklerin performansını artırmak anlamına gelir.
  • Saat frekansı... Bu, bir saniyede gerçekleştirilen işlem sayısıdır. Bu değer megahertz (MHz) cinsinden ölçülür. Saat frekansı ne kadar yüksek olursa, her bir bilgi işlem çekirdeğinin performansı o kadar yüksek olur.
  • Bit derinliği. Bu parametre, işlemcinin 32 veya 64 bit programları yürütme yeteneğini etkiler. Bitlik, 32 bit sistemlerde 4 GB ve 64 bit sistemlerde 16 GB ile sınırlı olan kullanılabilir RAM miktarını da etkiler.
  • önbellek boyutu... Önbellek, işlemci tarafından düzenli olarak kullandığı verileri depolamak için kullanılır. Önbellek sayesinde, işlemci önemli ölçüde daha yavaş olan RAM'e daha az erişime ihtiyaç duyar.
  • Teknolojik süreç... İşlem teknolojisi, işlemcideki transistörlerin boyutudur. Teknik süreç ne kadar küçük olursa, işlemcinin güç tüketimi ve ısı dağılımı o kadar düşük olur. Ek olarak, teknik süreçteki azalma, aynı kalıp alanına daha fazla transistör sığdırmanıza olanak tanır, bu da işlemci performansında bir artış anlamına gelir.
  • İşlemci ısı dağılımı (TDP)... Bu parametre, soğutma sisteminin işlemciden ne kadar ısı atması gerektiğini gösterir.
  • Entegre GPU... Genellikle bir bilgisayar anakartına veya CPU'suna entegre edilir. Entegre grafiklerle, sisteminizin maliyetini ve güç tüketimini önemli ölçüde azaltarak, ayrı grafik kartları olmadan bir bilgisayar oluşturabilirsiniz.
  • Priz. Bu, işlemcinin kurulu olduğu anakart üzerindeki özel bir konektördür. İşlemcinin soketi ve anakart uyuşmuyorsa, işlemci kurulamaz.

Bir PC işlemcisi nasıl görünür?

Başlıca PC İşlemci Üreticileri

Şu anda en büyük CPU üreticileri Intel ve AMD'dir.

Intel şüphesiz bu çiftte liderdir. Intel işlemciler, çekirdek başına daha yüksek performans ve daha düşük ısı dağılımı ile karakterize edilir, ancak aynı zamanda maliyetleri çok daha yüksektir. Ve bu her zaman haklı değildir - örneğin, ucuz bilgisayarları monte ederken.

AMD işlemciler iyi bir fiyat-performans oranına sahiptir, ancak bazı modeller aşırı ısı üretimi ile karakterize edilir. Ancak, bu üreticinin işlemcilerinin teknoloji açısından geride kalmasına ve her zaman yüksek kaliteye sahip olmamasına rağmen, hala çok popülerler.

İşlemci, şüphesiz, herhangi bir bilgisayarın ana bileşenidir. Bilgisayarınızın önüne koyduğunuz tüm karmaşık görevleri gerçekleştiren, birkaç on milimetre boyutundaki bu küçük silikon parçasıdır. Bu, tüm programların yanı sıra işletim sisteminin çalıştığı yerdir. Ama hepsi nasıl çalışıyor? Bugünkü yazımızda bu soruyu analiz etmeye çalışacağız.

İşlemci, bilgisayarınızdaki verileri yönetir ve saniyede milyonlarca talimat yürütür. Ve kelime işlemcisi ile, tam olarak ne anlama geldiğini kastediyorum - aslında bir bilgisayarda tüm işlemleri gerçekleştiren küçük bir silikon çip. İşlemcinin nasıl çalıştığını düşünmeye başlamadan önce, ne olduğunu ve nelerden oluştuğunu ayrıntılı olarak düşünmelisiniz.

Öncelikle işlemcinin ne olduğuna bakalım. CPU veya merkezi işlem birimi (merkezi işlem birimi) - bir silikon kristali üzerinde yapılmış çok sayıda transistöre sahip bir mikro devredir. Dünyanın ilk işlemcisi 1971'de Intel Corporation tarafından geliştirildi. Her şey Intel 4004 modeliyle başladı, sadece hesaplama işlemlerini gerçekleştirebiliyor ve sadece 4 bayt veri işleyebiliyordu. Bir sonraki model 1974'te çıktı - Intel 8080 ve zaten 8 bit bilgiyi işleyebiliyordu. Sonra 80286, 80386, 80486 vardı. Mimarinin adı bu işlemcilerden geldi.

8088, 5 MHz'lik bir saat hızına ve saniyede yalnızca 330.000 işleme sahipti, bu da günümüz işlemcilerinden çok daha az. Modern cihazlar, 10 GHz'e kadar bir frekansa ve saniyede birkaç milyon işleme sahiptir.

Transistörleri dikkate almayacağız, hadi daha yüksek bir seviyeye geçelim. Her işlemci aşağıdaki bileşenlerden oluşur:

  • Çekirdek- tüm bilgi işleme ve matematiksel işlemler burada gerçekleştirilir, birkaç çekirdek olabilir;
  • Komut kod çözücü- bu bileşen çekirdeğe aittir, yazılım talimatlarını çekirdek transistörler tarafından yürütülecek bir dizi sinyale dönüştürür;
  • önbellek- RAM'den okunan verileri depolayan küçük bir hacim olan ultra hızlı bellek alanı;
  • Kayıtlar- bunlar, halihazırda işlenen verilerin depolandığı çok hızlı bellek hücreleridir. Bunlardan sadece birkaçı vardır ve sınırlı boyutları vardır - 8, 16 veya 32 bit, işlemcinin bit kapasitesi buna bağlıdır;
  • yardımcı işlemci- video işleme veya veri şifreleme gibi yalnızca belirli işlemleri gerçekleştirmek için optimize edilmiş ayrı bir çekirdek;
  • Adres veri yolu- anakarta bağlı tüm cihazlarla iletişim için 8, 16 veya 32 bit genişliğinde olabilir;
  • veri yolu- RAM ile iletişim için. Bununla işlemci belleğe veri yazabilir veya oradan okuyabilir. Bellek veri yolu 8, 16 ve 32 bit olabilir, bu bir seferde aktarılabilen veri miktarıdır;
  • Senkronizasyon veriyolu- işlemci frekansını ve saat döngülerini kontrol etmenizi sağlar;
  • Otobüsü yeniden başlat- işlemci durumunu sıfırlamak için;

Ana bileşen, işlemcinin kayıtlarının yanı sıra çekirdek veya bilgi işlem aritmetik birimi olarak kabul edilebilir. Diğer her şey bu iki bileşenin çalışmasına yardımcı olur. Şimdi kayıtların ne olduğuna ve amaçlarının ne olduğuna bakalım.

  • A, B, C Kayıtları- işleme sırasında veri depolamak için tasarlandı, evet, bunlardan sadece üçü var, ancak bu oldukça yeterli;
  • EIP- RAM'deki bir sonraki program talimatının adresini içerir;
  • ESP- RAM'deki veri adresi;
  • Z- son karşılaştırma işleminin sonucunu içerir;

Tabii ki, bunların hepsi bellek kayıtları değildir, ancak bunlar en önemlileridir ve program yürütme sırasında işlemci tarafından en çok kullanılırlar. Artık işlemcinin nelerden oluştuğunu bildiğinize göre, nasıl çalıştığını düşünebilirsiniz.

Bilgisayar işlemcisi nasıl çalışır?

İşlemcinin işlem çekirdeği yalnızca matematik işlemlerini, karşılaştırma işlemlerini ve hücreler ile RAM arasında veri hareketini gerçekleştirebilir, ancak bu, oyun oynamanız, film izlemeniz, web'de gezinmeniz ve çok daha fazlası için yeterlidir.

Aslında, herhangi bir program şu komutlardan oluşur: taşıma, toplama, çarpma, bölme, fark etme ve karşılaştırma koşulu karşılanıyorsa bir komuta git. Tabii ki, bunların hepsi komutlar değil, daha önce listelenenleri birleştiren veya kullanımlarını basitleştiren başkaları da var.

Tüm veri hareketleri bir taşıma talimatı (mov) kullanılarak gerçekleştirilir, bu talimat verileri kayıt konumları arasında, kayıtlar ve RAM arasında, bellek ve sabit disk arasında taşır. Aritmetik işlemler için özel talimatlar vardır. Ve koşulları yerine getirmek için atlama talimatlarına ihtiyaç vardır, örneğin, A kaydının değerini kontrol edin ve sıfıra eşit değilse, istenen adresteki talimata gidin. Ayrıca atlama talimatlarını kullanarak döngüler oluşturabilirsiniz.

Bunların hepsi çok iyi, ancak tüm bu bileşenler birbirleriyle nasıl etkileşime giriyor? Ve transistörler talimatları nasıl anlar? Tüm işlemci bir talimat kod çözücü tarafından kontrol edilir. Her bileşenin yapması gerekeni yapmasını sağlar. Bir programın yürütülmesi gerektiğinde ne olduğuna bir göz atalım.

İlk aşamada, kod çözücü bellekteki ilk program talimatının adresini bir sonraki EIP talimatının kaydına yükler, bunun için okuma kanalını etkinleştirir ve verileri EIP kaydına koymak için mandallı transistörü açar.

İkinci saat döngüsünde, talimat kod çözücü komutu, onu yürüten ve sonucu kayıtlardan birine, örneğin C'ye yazan bilgi işlem çekirdeğinin transistörleri için bir dizi sinyale dönüştürür.

Üçüncü döngüde, kod çözücü bir sonraki talimatın adresini birer birer artırır, böylece bellekteki bir sonraki talimatı işaret eder. Ayrıca, kod çözücü bir sonraki komutu yüklemeye devam eder ve programın sonuna kadar böyle devam eder.

Her komut zaten bir dizi transistörle kodlanmıştır ve sinyallere dönüştürülür, işlemcide fiziksel değişikliklere neden olur, örneğin, verilerin bir bellek konumuna yazılmasına izin veren mandalın konumunda bir değişiklik vb. . Farklı komutların yürütülmesi, farklı sayıda saat döngüsü gerektirir, örneğin, bir komut 5 saat döngüsüne ihtiyaç duyabilir ve diğeri için daha karmaşık olanı 20'ye kadar çıkabilir. Ancak tüm bunlar hala işlemcinin kendisindeki transistörlerin sayısına bağlıdır. .

Eh, bununla her şey açık, ancak tüm bunlar yalnızca bir program çalışıyorsa ve aynı anda birkaçı varsa ve hepsi varsa işe yarayacaktır. İşlemcinin birkaç çekirdeğe sahip olduğu ve ardından her bir çekirdekte ayrı programlar yürütüldüğü varsayılabilir. Ama hayır, aslında böyle bir kısıtlama yok.

Aynı anda sadece bir program çalışabilir. Tüm işlemci zamanı, çalışan tüm programlar arasında bölünür, her program birkaç döngü için yürütülür, ardından işlemci başka bir programa aktarılır ve kayıtların tüm içeriği RAM'e kaydedilir. Kontrol bu programa döndüğünde daha önce kaydedilen değerler registerlara yüklenir.

sonuçlar

Hepsi bu, bu yazıda bir bilgisayar işlemcisinin nasıl çalıştığını, işlemcinin ne olduğunu ve nelerden oluştuğunu inceledik. Biraz zor olabilir, ama her şeye daha basit baktık. Umarım artık bu çok karmaşık cihazın nasıl çalıştığı konusunda daha netsinizdir.

İşlemcilerin yaratılış tarihi hakkındaki videoyu tamamlamak için:

Muhtemelen, bir bilgisayar seçerken ve özelliklerini incelerken, işlemci gibi bir öğeye büyük önem verildiğini fark ettiniz. Neden tam olarak ona değil, modele, güç kaynağına veya? Evet, bunlar aynı zamanda sistemin önemli bileşenleridir ve çoğu da doğru seçimlerine bağlıdır, ancak CPU'nun özellikleri doğrudan ve büyük ölçüde bilgisayarın hızını ve performansını etkiler. Gelin bu cihazın bilgisayardaki anlamına bir göz atalım.

İşlemciyi sistem biriminden çıkararak başlayalım. Sonuç olarak, bilgisayar çalışmayacaktır. Şimdi hangi rolü oynadığını anlıyor musun? Ancak konuya daha yakından bakalım ve bir bilgisayar işlemcisinin ne olduğunu öğrenelim.

bilgisayar işlemcisi nedir

Bütün mesele, merkezi işlemcinin (tam adı), dedikleri gibi, bir bilgisayarın gerçek kalbi ve aynı zamanda beyni olmasıdır. Çalışırken, sistem biriminin diğer tüm bileşenleri ve ona bağlı çevre birimleri çalışıyor. Çeşitli veri akışlarının işlenmesinden sorumludur ve ayrıca sistemin parçalarının çalışmasını düzenler.

Daha teknik bir tanım Wikipedia'da bulunabilir:

İşlemci - makine talimatlarını (program kodu), bir bilgisayar donanımının ana parçasını veya programlanabilir bir mantık denetleyicisini yürüten bir elektronik birim veya bir entegre devre (mikroişlemci).

Gerçek hayatta, CPU, kibrit kutusu boyutunda, birkaç milimetre kalınlığında, üst kısmı genellikle metal bir kapakla (masaüstü sürümlerinde) kaplanmış ve alt kısmında çok sayıda temas bulunan küçük bir kare tahtaya benziyor. Aslında, yalpalamamak için aşağıdaki fotoğraflara bakın:

İşlemci tarafından verilen bir komut olmadan, iki sayı eklemek veya bir megabayt bilgi yazmak gibi basit bir işlem bile yapılamaz. Tüm bunlar CPU'ya anında erişim gerektirir. Oyun başlatma veya video işleme gibi daha karmaşık görevlere gelince.

İşlemcilerin bir video kartının işlevlerini de yerine getirebileceğini yukarıdaki kelimelere eklemeye değer. Gerçek şu ki, modern çiplerde, gerekli tüm işlevleri yerine getiren ve video belleğini kullanan bir video denetleyicisi için bir yer var. Entegre grafik çekirdeklerinin en azından orta sınıf video kartlarıyla rekabet edebileceğini düşünmeyin, bu daha çok güçlü grafiklere ihtiyaç duyulmayan ofis makineleri için bir seçenektir, ancak yine de dişlerinde zayıf bir şey çekebilirler. Entegre grafiklerin ana avantajı fiyattır - ayrı bir ekran kartı satın almanıza gerek yoktur ve bu önemli bir tasarruftur.

işlemci nasıl çalışır

Bir önceki paragrafta, bir işlemcinin ne olduğu ve ne için olduğu sıralanmıştı. Nasıl çalıştığını görmenin zamanı geldi.

CPU'nun etkinliği, aşağıdaki olayların bir dizisi olarak temsil edilebilir:

  • Belirli bir programın yüklendiği RAM'den (örneğin, bir metin düzenleyici), işlemci kontrol birimi gerekli bilgileri ve yürütülmesi gereken bir dizi komutu çıkarır. hepsi gider ara bellek (önbellek) CPU;
  • Önbellekten gelen bilgiler iki türe ayrılır: talimatlar ve anlamları yazmaçlara gönderilenler (bunlar işlemcideki bellek konumlarıdır). Birincisi komut kayıtlarına, ikincisi veri kayıtlarına gider;
  • Kayıtlardan gelen bilgiler işlenir aritmetik mantık Birimi (gelen verilerin aritmetik ve mantıksal dönüşümlerini gerçekleştiren CPU parçası), onlardan bilgi okur ve ardından ortaya çıkan sayılar üzerinde gerekli komutları yürütür;
  • Ortaya çıkan sonuçlar ikiye ayrılır bitmiş ve bitmemiş , ilk grubun CPU önbelleğine gönderildiği kayıtlara gidin;
  • Bu noktaya iki ana önbellek seviyesi olduğu gerçeğiyle başlayalım: üst ve daha düşük ... Hesaplamaları gerçekleştirmek için gereken son alınan komutlar ve veriler üst düzey önbelleğe, kullanılmayanlar ise alt düzey önbelleğe gönderilir. Bu işlem şu şekilde ilerler - tüm bilgiler önbelleğin üçüncü seviyesinden ikincisine gider ve daha sonra şu anda ihtiyaç duyulmayan verilerle birinciye gider ve bunları daha düşük seviyeye gönderir, bunun tersi doğrudur;
  • Hesaplama döngüsünün sonunda, yeni işlemler için CPU önbelleğini boşaltmak için nihai toplam sistemin RAM'ine yazılacaktır. Ancak arabellek dolu olabilir, daha sonra kullanılmayan veriler ana belleğe veya önbelleğin alt düzeyine gidebilir.

Yukarıdaki adımların adım adım adımları, işlemcinin operasyonel iş parçacığı ve sorunun cevabı - işlemci nasıl çalışır.

İşlemci türleri ve ana üreticileri

Zayıf tek çekirdekten güçlü çok çekirdeğe kadar birçok işlemci türü vardır. Oyunlardan ve işçilerden her bakımdan ortalamaya. Ancak iki ana CPU kampı var - AMD ve ünlü Intel. Bunlar piyasada en çok aranan ve popüler mikroişlemcileri yapan iki şirket. AMD ve Intel ürünleri arasındaki temel fark, çekirdek sayısı değil, mimari - iç yapıdır. Rakiplerin her biri, rakipten kökten farklı olan kendi işlemci tipi olan kendi "iç" yapısını sunar.

Tarafların her birinin ürünlerinin artıları ve eksileri var, kısaca onlara aşina olmayı öneriyorum.

Intel işlemcilerin artıları:

  • Daha düşük enerji tüketimine sahiptir;
  • Geliştiriciler AMD'den çok Intel'e odaklanıyor;
  • Daha iyi oyun performansı;
  • Intel işlemciler ve RAM arasındaki bağlantı AMD'ninkinden daha iyidir;
  • Sadece bir program çerçevesinde gerçekleştirilen işlemler (örneğin, sıkıştırmayı açma) daha iyidir, AMD bu konuda oynar.

Intel işlemcilerin eksileri:

  • En büyük dezavantajı fiyatıdır. Bu üreticinin CPU'ları genellikle ana rakiplerininkinden daha yüksektir;
  • İki veya daha fazla "ağır" program kullanıldığında performans düşer;
  • Tümleşik grafik çekirdekleri AMD'den daha düşüktür;

AMD işlemcilerin artıları:

  • En büyük artı - Intel'in en büyük eksi - fiyattır. AMD'den sağlam bir 4, hatta belki 5 için modern oyunları idare edebilecek ve bir rakipten benzer performansa sahip bir işlemciden çok daha ucuza mal olacak iyi bir orta seviye satın alabilirsiniz;
  • Yeterli kalite/fiyat oranı;
  • Sistemin yüksek kalitede çalışmasını sağlamak;
  • İşlemciyi overclock etme, böylece gücünü %10-20 oranında artırma yeteneği;
  • Entegre grafikler Intel'den üstündür.

AMD işlemcilerin eksileri:

  • AMD işlemciler RAM ile daha kötü etkileşime girer;
  • Intel'den daha fazla güç tüketimi;
  • Tampon bellek, ikinci ve üçüncü seviyelerde daha düşük bir frekansta çalışır;
  • Oyun performansı rekabetin gerisinde kalıyor

Ancak, yukarıdaki avantaj ve dezavantajlara rağmen, şirketlerin her biri gelişmeye devam ediyor, işlemcileri her nesilde daha güçlü hale geliyor ve bir önceki satırın hataları dikkate alınıyor ve düzeltiliyor.

İşlemcilerin ana özellikleri

Bilgisayar işlemcisinin ne olduğunu, nasıl çalıştığını inceledik. İki ana türünün ne olduğunu öğrendik, özelliklerine dikkat etmenin zamanı geldi.

Başlangıç ​​olarak bunları sıralayalım: marka, seri, mimari, belirli bir soket desteği, işlemci saat hızı, önbellek, çekirdek sayısı, güç tüketimi ve ısı dağılımı, entegre grafikler. Şimdi açıklamalarla analiz edelim:

  • Marka - işlemciyi kim yapar: AMD veya Intel. Bu seçim, bir önceki bölümden tahmin edilebileceği gibi, yalnızca satın alma fiyatını ve performansını değil, aynı zamanda diğer PC bileşenlerinin, özellikle de anakartın seçimini de etkiler. AMD ve Intel işlemciler farklı tasarım ve mimarilere sahip olduklarından, tek tip işlemci için tasarlanmış bir sokete (anakart üzerine işlemci takmak için bir soket) ikinci bir işlemci takmak mümkün olmayacaktır;
  • Seri - her iki rakip de ürünlerini birçok türe ve alt türe ayırır. (AMD - Ryzen, FX ,. Intel - i5, i7);
  • İşlemcinin mimarisi aslında CPU'nun iç organlarıdır, her işlemci türünün kendi mimarisi vardır. Buna karşılık, bir tür birkaç alt türe ayrılabilir;
  • Belirli bir soket desteği, işlemcinin çok önemli bir özelliğidir, çünkü soketin kendisi, işlemciyi bağlamak için anakartta bir "soket"tir ve her işlemci tipi karşılık gelen bir soket gerektirir. Aslında bu yukarıda belirtilmişti. Ya anakartınızda tam olarak hangi soketin bulunduğunu bilmeniz ve bunun için bir işlemci seçmeniz ya da tam tersi (ki bu daha doğru);
  • Saat hızı, en önemli CPU performans ölçütlerinden biridir. İşlemci saat hızı nedir sorusuna cevap verelim. Bu zorlu terim için cevap basit olacaktır - megahertz (MHz) cinsinden ölçülen, birim zaman başına gerçekleştirilen işlem hacmi;
  • Önbellek - doğrudan işlemciye takılan bellek, arabellek olarak da adlandırılır, iki düzeyi vardır - üst ve alt. Birincisi aktif bilgi alır, ikincisi şu anda kullanılmayan. Bilgi edinme süreci üçüncü seviyeden ikinci seviyeye geçer ve daha sonra ilk gereksiz bilgi geri döner;
  • Çekirdek sayısı - CPU'da bir ile birkaç arasında olabilir. Numaraya bağlı olarak, işlemci çift çekirdekli, dört çekirdekli vb. Buna göre, güç, sayılarına bağlı olacaktır;
  • Güç tüketimi ve ısı dağılımı. Burada her şey basit - işlemci ne kadar yüksek enerji "tüketirse", o kadar fazla ısı üretir, uygun soğutma soğutucusunu ve güç kaynağını seçmek için bu öğeye dikkat edin.
  • Entegre grafikler - AMD'nin bu tür gelişmeleri ilk olarak 2006'da, Intel 2010'da ortaya çıktı. İlki, rakiplerden daha iyi sonuçlar gösteriyor. Ama yine de hiçbiri amiral gemisi ekran kartlarına henüz ulaşamadı.

sonuçlar

Zaten anladığınız gibi, bilgisayarın merkezi işlem birimi sistemde kritik bir rol oynamaktadır. Bugünkü yazımızda bilgisayar işlemcisinin ne olduğunu, işlemci frekansının ne olduğunu, ne olduklarını ve ne işe yaradıklarını sıraladık. Bazı CPU'lar diğerlerinden ne kadar farklıdır, ne tür işlemciler vardır. Rakip iki kampanyanın ürünlerinin artılarını ve eksilerini konuştuk. Ancak işlemcinin sistem biriminizde hangi özelliği ile duracağı size kalmış.

Hemen hemen herkes bir bilgisayarda, tüm "demir" bileşenler arasındaki ana unsurun merkezi işlemci olduğunu bilir. Ancak işlemcinin nasıl çalıştığını hayal eden insan çevresi çok sınırlı. Çoğu kullanıcının bu konuda hiçbir fikri yoktur. Ve sistem aniden "yavaşlamaya" başladığında bile, çoğu kişi bu işlemcinin iyi çalışmadığına inanıyor ve diğer faktörlere önem vermiyor. Durumu tam olarak anlamak için CPU'nun bazı yönlerine bakalım.

Merkezi işlem birimi nedir?

İşlemci nelerden oluşur?

Bir Intel işlemcinin veya rakibi AMD'nin nasıl çalıştığından bahsedecek olursak, bu çiplerin nasıl çalıştığına bakmanız gerekiyor. İlk mikroişlemci (bu arada, Intel'dendi, model 4040) 1971'de ortaya çıktı. Sadece 4 bitlik bilgiyi işleyerek en basit toplama ve çıkarma işlemlerini gerçekleştirebiliyordu, yani 4 bit mimariye sahipti.

İlk doğanlar gibi modern işlemciler, transistörlere dayanır ve çok daha hızlıdır. Fotolitografi yöntemiyle, içine transistörlerin olduğu gibi basıldığı tek bir kristal oluşturan belirli sayıda ayrı silikon gofretten yapılırlar. Devre, hız aşırtmalı bor iyonları ile özel bir hızlandırıcı üzerinde oluşturulmuştur. İşlemcilerin iç yapısında ana bileşenler çekirdekler, veri yolları ve revizyon adı verilen işlevsel parçacıklardır.

Temel özellikleri

Diğer herhangi bir cihaz gibi, işlemci de işlemcinin nasıl çalıştığı sorusuna cevap verirken göz ardı edilemeyecek belirli parametrelerle karakterize edilir. Her şeyden önce, bunlar:

  • Çekirdek sayısı;
  • iş parçacığı sayısı;
  • önbellek boyutu (dahili bellek);
  • saat frekansı;
  • lastiğin hızı.

Şimdilik, saat frekansı üzerinde duralım. İşlemciye bilgisayarın kalbi denmesi boşuna değil. Kalp gibi, saniyede belirli sayıda vuruşla titreşimli bir modda çalışır. Saat frekansı MHz veya GHz cinsinden ölçülür. Ne kadar yüksekse, cihaz o kadar fazla işlem gerçekleştirebilir.

İşlemcinin hangi frekansta çalıştığını, beyan edilen özelliklerinden öğrenebilir veya ancak komutların işlenmesi sırasında frekans değişebilir ve hız aşırtma (overlock) sırasında aşırı sınırlara yükselebilir. Bu nedenle, belirtilen sadece ortalama bir göstergedir.

Çekirdek sayısı, işlemcinin bilgi işlem merkezlerinin sayısını belirleyen bir göstergedir (dişlerle karıştırılmamalıdır - çekirdek ve iş parçacığı sayısı çakışmayabilir). Bu dağıtım, işlemleri diğer çekirdeklere yönlendirmeyi mümkün kılar ve böylece genel performansı artırır.

İşlemci nasıl çalışır: komut işleme

Şimdi yürütülebilir komutların yapısı hakkında biraz. İşlemcinin nasıl çalıştığına bakarsanız, herhangi bir komutun iki bileşeni olduğunu açıkça anlamanız gerekir - operasyonel ve işlenen.

İşletim kısmı bilgisayar sisteminin o anda ne yapması gerektiğini belirtir, işlenen işlemcinin ne üzerinde çalışması gerektiğini belirler. Ek olarak, işlemci çekirdeği, bir komutun yürütülmesini birkaç aşamaya bölen iki bilgi işlem merkezi (kaplar, iş parçacıkları) içerebilir:

  • üretme;
  • şifre çözme;
  • komut yürütme;
  • işlemcinin kendi belleğine erişim
  • sonucu kaydetme.

Bugün, ayrı önbelleğe alma, bellek bloklarından birine erişmek için iki veya daha fazla talimatın müdahalesini önleyen iki önbellek seviyesi kullanma şeklinde kullanılmaktadır.

Komut işleme türüne göre, işlemciler doğrusal (talimatların yazı sırasına göre yürütülmesi), döngüsel ve dallanmaya (dallanma koşullarını işledikten sonra talimatların yürütülmesi) ayrılır.

Yapılan işlemler

İşlemciye atanan ana işlevler arasında, yürütülen komutlar veya talimatlar açısından üç ana görev ayırt edilir:

  • aritmetik mantık aygıtına dayalı matematiksel işlemler;
  • verileri (bilgileri) bir bellek türünden diğerine taşıma;
  • komutun yürütülmesine ve buna dayanarak - diğer komut setlerinin yürütülmesine geçme seçimine karar vermek.

Bellek ile etkileşim (ROM ve RAM)

Bu süreçte, depolama cihazlarına bağlı olan veri yolu ve okuma ve yazma kanalı gibi bileşenlere dikkat edilmelidir. ROM, sabit bir bayt kümesi içerir. İlk olarak, adres yolu ROM'dan belirli bir bayt talep eder, ardından bunu veri yoluna aktarır, ardından okuma kanalı durumunu değiştirir ve ROM istenen baytı sağlar.

Ancak işlemciler yalnızca RAM'den veri okuyamaz, aynı zamanda yazabilir. Bu durumda, kayıt kanalı kullanılır. Ancak, genel olarak bakarsanız, modern bilgisayarlar tamamen teorik olarak RAM olmadan yapabilirdi, çünkü modern mikrodenetleyiciler gerekli veri baytlarını doğrudan işlemci yongasının belleğine yerleştirebilir. Ama ROM olmadan yapamazsınız.

Diğer şeylerin yanı sıra, sistem donanım test modundan (BIOS komutları) başlatılır ve ancak o zaman kontrol yüklenen işletim sistemine aktarılır.

İşlemcinin çalışıp çalışmadığı nasıl kontrol edilir?

Şimdi işlemci sağlık kontrolünün bazı yönlerine bakalım. İşlemci çalışmıyorsa, bilgisayarın hiç yüklenmeye başlayamayacağını açıkça anlamanız gerekir.

Başka bir şey, belirli bir anda işlemci yeteneklerinin kullanım oranına bakmanız gerektiğidir. Bu, standart "Görev Yöneticisi" nden yapılabilir (herhangi bir işlemin karşısında, işlemci yükünün yüzde kaçını verdiği belirtilir). Bu parametreyi görsel olarak tanımlamak için değişikliklerin gerçek zamanlı olarak izlendiği performans sekmesini kullanabilirsiniz. Genişletilmiş parametreler, CPU-Z gibi özel programlar kullanılarak görüntülenebilir.

(msconfig) ve gelişmiş önyükleme seçeneklerini kullanarak birden çok işlemci çekirdeği kullanmak da mümkündür.

Olası sorunlar

Son olarak, sorunlar hakkında birkaç söz. Birçok kullanıcı genellikle işlemcinin neden çalıştığını soruyor, ancak monitör açılmıyor mu? Bu durumun merkezi işlemci ile ilgisi yoktur. Gerçek şu ki, herhangi bir bilgisayarı açtığınızda, önce grafik bağdaştırıcısı ve ancak o zaman her şey test edilir. Belki de sorun tam olarak grafik yongasının işlemcisinde yatmaktadır (tüm modern video hızlandırıcıların kendi grafik işlemcileri vardır).

Ancak insan vücudunun işleyişi örneğinde, kalp durması durumunda tüm vücudun öldüğünü anlamalısınız. Yani bilgisayarlarda öyle. İşlemci çalışmıyor - tüm bilgisayar sistemi "ölüyor".