Bir PC bilgisayarının mimari türleri nelerdir?

Birkaç mimari türü vardır, ancak hepsi şu anda kullanılmasa da, bazıları basitçe önerildi ve herhangi bir gerçek konseptte gerçekleşmedi, diğerleri ise kendilerinden bekleneni elde edemedikleri veya diğer paradigmalar tarafından ele geçirildiği için terk edildi. mimari.

Bu yazıda, mevcut CPU mikro mimarileri ve GPU mimarileri tarafından kullanılan tüm türleri ve ayrıca kullanılmayan bazılarını gözden geçireceğiz. Ek olarak, bazı popüler işlemcilerin hangi türe dahil edilebileceğini göreceğiz.

Talimatların yoğunluğuna göre mimari türleri

MİMARİ TÜRLERİ

Talimatların yoğunluğu ve formatı göz önüne alındığında, aşağıdaki mimari türleri vurgulanabilir:

  • CISC (Karmaşık Komut Seti Bilgisayarı): Bu, kapsamlı bir talimat seti kullanan ISA türüdür ve talimatlar, bellek veya adresleme modları üzerinde çok sayıda işleme sahip olmasının yanı sıra karmaşık, heterojendir. Bu, karmaşık mikrokod tabanlı kontrol birimleri, birkaç genel amaçlı kayıt bankası ile geliştirmek için karmaşık bir işlem birimi ile sonuçlanır. Bir avantaj olarak, yüksek düzeyde SW/HW soyutlamasına, düşük programlama sürelerine ve kompakt program boyutuna sahiptir. Bu tür ISA’ya örnek olarak IBM z/Architecture, x86, Motorola 68k vb. verilebilir.
  • RISC (Azaltılmış Komut Setli Bilgisayar): CISC’nin karşı tarafında bugün en yaygın olanlardan biri daha var. Daha basit talimatlar ve daha az talimat içeren homojen bir talimat setidir. Bu, daha düşük geliştirme süresi, daha yüksek performans ölçeklenebilirliği, daha verimli sürücüler, birçok genel amaçlı banka ve birkaç adresleme modu ile sonuçlanır. Dezavantajları, daha yüksek derleyici karmaşıklığı, daha büyük program boyutları, düşük SW/HW soyutlaması ve daha yüksek programlama süresidir. Bu mimariye örnek olarak IBM POWER, SPARC, Arm, RISC-V vb. verilebilir.
  • Melezler: Şu anda, ne RISC’ler RISC, ne de CISC’ler CISC kadardır, ancak her iki tasarım birleştirilmiştir. Örneğin, Intel ve AMD işlemcileri CISC benzeri yönergeler kullanır, ancak bunlar daha basit, RISC benzeri mikro işlemlere dönüştürülür. Aslında AMD, 29k RISC işlemcisini temel alarak bir x86 komut çeviricisi ekleyerek K5’i elde etti. Öte yandan, Arm gibi “saf” RISC’ler, çok sayıda talimat uzantısı gibi CISC’lerin bazı özelliklerini de uygulamaktadır.
  • ZISC (Sıfır Komut Setli Bilgisayar): Bu diğer mimari yaygın değildir ve adından da anlaşılacağı gibi komutları kullanmaz (klasik anlamda). Bu türden hiçbir başarılı mimari geliştirilmemiştir, geçmişten bir örnek IBM’in ZISC35’idir.
  • SISC (Specific Instruction Set Computer): Belirli bir görevi gerçekleştirmek için çok azaltılmış ve optimize edilmiş bir dizi veya talimat setidir.
  • VISC (Sanal Komut Seti Bilgisayarı): Soft Machines tarafından tanıtılan ve donanım üzerinde sanal çekirdekler kullanan nadir bir mimaridir.
  • DISC (Dinamik Komut Seti Bilgisayarı): Komut setini programın ihtiyaçlarına göre dinamik olarak değiştirmenizi sağlar. Bu nedenle, yeniden programlanabilir FPGA’larda uygulanmaları gerekir ve talimatlar modül olarak ele alınır.
  • NISC (Komut Setli Bilgisayar Yok): Yüksek verimli cihazlar, donanım hızlandırıcılar vb. geliştirmek için kullanılır.
  • MISC (Minimal Komut Seti Bilgisayarı): Bu sefer azaltılmış sayıda komutla başka bir mimari türüdür. Diğerlerinin aksine, bu durumda yığın genellikle işlenenleri depolamak için kullanılır, yazmaçları değil, tasarımı basitleştirir. Bir örnek, INMOS Transputer’lar olacaktır.
  • EDGE (Explicit Data Graph Execution): Darboğazları çözmek ve CISC’leri iyileştirmek amacıyla tasarlanmıştır. Hiper blok adı verilen bir grupta çok sayıda bireysel talimat içerir ve basit bir şekilde paralel olarak yürütülür. TRIPS gibi bazı birimler için kullanılmıştır.
  • OISC (Tek Komut Setli Bilgisayar) veya URISC (Ultimate RISC): Çalıştırabileceği yazılım miktarını sınırlamadan yalnızca bir komut kullanır. Genellikle öğretim için bir model olarak kullanılır, ancak mevcut bir uygulama bilinmemektedir.
  • VLIW (Very Long Instruction Word): Birçok yazar bunu bu mimariler grubunun dışında görse de ben buraya dahil etmeyi seviyorum. Çok uzun komutlar sayesinde talimat düzeyinde daha fazla paralellik elde etmek için tasarlanmış bir mimaridir, ancak sayıları çok azdır. Bu, karmaşık bir derleyici ile yazılım tarafında karmaşık olmasına rağmen, donanımı basitleştirmeye izin verir. Bu mimarinin pratik bir örneği, genç bir Linus Torvalds’ın Silikon Vadisi’ne yeni geldiği ve amacı, arka planda yürütülen ve x86 talimatlarını VLIW’ye çeviren Code Morphing’i oluşturmak olan Transmeta’nın Crusoe ve Efficeon’uydu. Intel ve AMD ile uyumlu işlemci.

Fizyonomiye göre mimari türleri

CPU mikro mimarisi: bir mikroişlemcinin son hali

Öte yandan, talimatlara dikkat etmek yerine mimarinin kendisine, parçalara ve belleğe bakarsak, bu diğer mimari türlerini ayırt edebiliriz:

  • Von Neumann: Bu mimari, kayıt bankası, ALU, kontrol ünitesi ve PC kaydı (Program Sayacı) ile bir CPU’dan oluşur. Ayrıca, birleşik bir I/O sistemine ve veri ve talimatlar için belleğe sahiptir. CPU, G/Ç ve bellek, bir kontrol veriyolu, bir adres veriyolu ve bir veri/komut veri yolundan oluşan sistem veriyolu aracılığıyla birbirine bağlanır.
  • Harvard: daha karmaşık ve modern. Bu durumda sistem yolu kontrol yolu, adres yolu, veri yolu ve talimat yolu olarak ayrılır. Yani, veriler ve talimatlar ayrılmıştır. Ayrıca CPU ve G/Ç gibi başka öğelerimiz de var, bu durumda bellek de bölünmüş durumda, biri veriler için diğeri yalnızca talimatlar için.
  • Modifiye Harvard: Bir öncekine dayanmaktadır, ancak veri ve talimatların bellekten ayrılması konusunda o kadar katı değildir. Mevcut CPU’ların çoğu, Arm, PowerPC, vb. Gibi buna dayanmaktadır.
  • Veri akışı: bu durumda, sıralı yürütme için bir PC kaydı yoktur, ancak bunlar, gelen talimatların işlenenlerinin kullanılabilirliğine bağlı olarak yürütülür. Bu türün çok iyi bilinen uygulamaları yoktur, ancak mevcut olanlardan bazıları bunun bazı fikirlerini öncekilerle birleştirir.

kelime boyutuna göre

Bir bilgisayarın başa çıkabileceği bit sayısına dikkat etmeniz durumunda, 1 bit, 2 bit, 4 bit, 8 bit, 16 bit, 32 bit, 64- bazı tasarımlardan sahip olabilirsiniz. bit, bit, 128 bit, 256 bit, 512 bit vb. Mevcut tasarımların çoğu, birkaçının birleşimidir. Örneğin, AMD64/EM64T yongaları geriye dönük uyumludur, bu nedenle 64-bit, 32-bit ve 16-bit yazılımları çalıştırabilirler. Ek olarak, 128 bit, 256 bit vb. uzantıları vardır.

Bu, işlevsel birimlerin birlikte çalışabileceği verinin boyutuna veya aynı zamanda, daha fazla veya daha azını adresleyebilen bellek adresinin boyutuna atıfta bulunabilir. Örneğin, 32-bit ile 232 hafıza adresine kadar adreslenebilirken, 64-bit ile 264 farklı hafıza adresine erişebilirsiniz.

Tarih boyunca ortaya çıkmış farklı boyutlardan örnekler isterseniz, işte en öne çıkanlar:

  • 1 bit: Motorola MC14500B
  • 4 bit: Intel 4004, HP Satürn,…
  • 8 bit: Zilog Z80, Intel 8008, Atmel AVR, …
  • 16 bit: Intel 8086, DEC PDP-11, Zilog Z8000, …
  • 32 bit: Pentium, Pentium II, Pentium III, Pentium 4, K5, K6, Athlon, Athlon XP, …
  • 64-bit: Athlon64, Phenom, Sempron, Turion64, Ryzen, EPYC, Opteron, Arm AArch64, SPARCv9, IBM POWER, MIPS64, vb.
  • 128 bit: Bazı Intel ve AMD işlemciler, bu uzunlukta talimat seti uzantıları içerir.
  • 256 bit: Yukarıdakiyle aynı. Bu uzunlukta Transmeta Efficeon gibi tasarımlar da olmuştur.
  • 512 bit: önceki iki duruma benzer. Örneğin, Intel AVX-512 SIMD’ler, ünite 64-bit olmasına rağmen, bu uzantılar, bu uzun talimatlara ayrılmış FPU’lar gibi bazı işlevsel birimlerinin bu boyutlarla çalışabileceği anlamına gelir. Aslında birden çok bağlantılı kayıt kullanıyorlar, bu yüzden vektör birimleri olarak çalışıyorlar ve birden çok veri üzerinde çalışıyorlar.

Paralellik düzeyine bağlı olarak

GPU mimarisi, gpu, mimari türleriNVIDIA Pascal

Son olarak, paralellik düzeyine bağlı olarak diğer mimari türleri şunlar olabilir:

  • Segmentli: İşlem biriminin boru hattı, yürütme sürecini, bir başkasıyla başlamak için tüm aşamaları bitirmiş bir talimatın gerekmeden, aynı anda çalışabilen bağımsız parçalara böldüğü için talimat düzeyinde paralellik seviyesini arttırır.
  • Superscalar: Bu, talimat düzeyinde paralelliği artırmayı amaçlayan bir mimaridir. Bunu yapmak için, aynı anda daha fazla talimat yürütmek için ALU, FPU vb. gibi yürütme birimleri çarpılır.
  • Çoklu iş parçacığı: SMT 2-yollu, 4-yollu, 8-yollu vb. durumlarda olduğu gibi tekniklerin birden fazla iş parçacığına izin verecek şekilde uygulandığı mimari türleri. Bu, iki iş parçacığının aynı anda işlenmesine izin verir. Çoklu iş parçacığı aynı zamanda geçici olabilir, bu, eşzamanlı bir çoklu iş parçacığı olmadığı, bunun yerine işlemcinin zaman içinde işlemek için bir iş parçacığından diğerine değiştiği anlamına gelir.
  • OoOE (Sıra Dışı Yürütme): Sıra dışı yürütme, işlemeyi hızlandırmak için başka bir tür mimari veya algoritmadır (örneğin Tomasulo). Talimatların yürütülmesi için programın sıralı sırasını takip etmek yerine, veriler geldikçe sıra dışı olarak yürütülebilirler. Daha sonra yeniden sıralanmak ve beklenen sonucu almak için bir arabelleğe geçirilirler. Örneğin, birçok eski işlemci sırayla yürütmeyi kullandı. Intel ayrıca, çekirdeği basitleştirmesine izin veren, sırayla yürütmeye dayalı daha yeni bir tasarım yarattı. Bu, ilk modelleri diğer OoOE’ye yol açan Atom’dur. Şu anda, çoğu yüksek performanslı işlemci bu türdendir.

Bir işlemcinin nasıl seçileceğini okumanızı öneririz

Çoğu modern mikroişlemci, tüm bu mimari tiplerinin veya teknolojilerinin bir kombinasyonunu kullanır. Örneğin, bir AMD Ryzen, SMT, OoOE, süperskalar, ardışık düzen, 64-bit ve 128-bit ve 256-bit uzantılara sahip, hibrit mimariye sahip (CISC talimatlarının çevirisine sahip RISC) ve SIMD’de de çalışabilen bir birimdir. modu, vb.

Flynn’in Taksonomisi

Paralelliğe göre mimari türleri içinde, işlem birimlerinin mimarilerinin Flynn’in taksonomisine göre nasıl bölündüğüne de dikkat etmek gerekir:

  • SISD (Single Instruction, Single Data): Adından da anlaşılacağı gibi, bunlar herhangi bir paralellik türü olmaksızın tek bir komut ve tek bir veri kullanan mimarilerdir. En basit ve en düşük performanstır. Eskiden daha çok kullanılırdı, şimdi yok.
  • SIMD (Tek Yönerge, Çoklu Veri): tek bir komut ancak birden çok veri, bu diğer mimari vektör işlemcilerinde, GPU’larda ve birçok mevcut CPU’da vb. popülerdir.
  • MISD (Çoklu Komut, Tek Veri): Bazı Tensör birimlerinde ve diğer özel işlemcilerde yaygındır. Bu durumda, tek bir veriye uygulanan birden çok talimat işlenir.
  • MIMD (Multiple Instruction, Multiple Data): Bu durumda, birden çok talimat akışı ve birden çok veri akışı vardır. Paralelliğin en yüksek şeklidir ve bu nedenle HPC sektöründeki bazı makinelerde kullanılmaktadır. Örneğin, diğerleri arasında Sunway’den Çin çipi SW26010 veya IBM Cell.

*Not: Daha fazla mimari türü olabilir, ancak bunlar en temel olanlardır ve şimdi hepsi hakkında temel bir fikriniz var. Örneğin, Flynn tarafından önerilen sınıflandırmaya ek olarak, daha az popüler olmasına rağmen, Tse-yun Feng tarafından önerilenler gibi, bu durumda biraz paralelliğe yönelik başkaları da vardır.

Bununla bir bilgisayar veya PC mimarisi türleri hakkındaki kılavuzumuzu bitiriyoruz. Eğitimimiz hakkında ne düşünüyorsunuz? Senin için ilginç oldu mu?

Similar Posts

Leave a Reply

Your email address will not be published.