Mikromimari - Microarchitecture

Intel Core 2 mikro mimarisinin şeması

Olarak bilgisayar mühendisliği , mikromimarisine olarak da adlandırılan bilgisayar organizasyonu ve bazen olarak kısaltılır μarch veya uarch , belirli bir şekilde talimat kümesi mimarisi (ISA) belirli uygulanmaktadır işlemci . Belirli bir ISA, farklı mikro mimarilerle uygulanabilir; uygulamalar, belirli bir tasarımın farklı amaçları veya teknolojideki değişimler nedeniyle değişebilir.

Bilgisayar mimarisi , mikro mimari ve komut seti mimarisinin birleşimidir.

Komut seti mimarisiyle ilişkisi

Tek bir otobüs etrafında organize edilmiş bir mikro mimari

ISA, bir montaj dili programcısı veya derleyici yazarı tarafından görülen bir işlemcinin programlama modeliyle kabaca aynıdır . ISA, diğer şeylerin yanı sıra talimatları , yürütme modelini , işlemci kayıtlarını , adres ve veri biçimlerini içerir. Mikromimari, işlemcinin kurucu parçalarını ve bunların ISA'yı uygulamak için nasıl birbirine bağlanıp birlikte çalıştığını içerir.

Bir makinenin mikro mimarisi genellikle, makinenin çeşitli mikro mimari öğelerinin, tek kapılardan ve kayıtlardan tam aritmetik mantık birimlerine (ALU'lar) ve hatta daha büyük olana kadar herhangi bir şey olabilen ara bağlantılarını tanımlayan (az ya da çok ayrıntılı) diyagramlar olarak temsil edilir. elementler. Bu diyagramlar, genel olarak ayrı veriyolunu (veriler yerleştirilir) ve kontrol yolu (veri yönlendirmek için söz konusu olabilir).

Bir sistemi tasarlayan kişi genellikle belirli mikromimariyi bir tür veri akış diyagramı olarak çizer . Bir blok diyagram gibi, mikromimari diyagram, aritmetik ve mantık birimi gibi mikromimari öğeleri ve kayıt dosyasını tek bir şematik sembol olarak gösterir. Tipik olarak diyagram, üç durumlu veriyolları (bunlar veri yolunu çalıştıran her aygıt için üç durumlu bir arabellek gerektirir ), tek yönlü veriyolları (her zaman tek bir kaynak tarafından sürülür, örneğin daha basit bilgisayarlarda adres yolunun her zaman bellek adres kaydı ) ve bireysel kontrol hatları tarafından sürülme şekli gibi. Çok basit bilgisayarların tek bir veri yolu organizasyonu vardır  - tek bir üç durumlu veri yolu vardır . Daha karmaşık bilgisayarların diyagramı genellikle, makinenin aynı anda daha fazla işlem yapmasına yardımcı olan birden çok üç durumlu veri yolunu gösterir.

Her bir mikro mimari eleman, sırayla, onu uygulamak için kullanılan mantık kapılarının ara bağlantılarını açıklayan bir şema ile temsil edilir . Her bir mantık kapısı sırayla, onu belirli bir mantık ailesinde uygulamak için kullanılan transistörlerin bağlantılarını açıklayan bir devre şeması ile temsil edilir . Farklı mikro mimarilere sahip makineler aynı komut seti mimarisine sahip olabilir ve bu nedenle aynı programları çalıştırabilir. Yarı iletken üretimindeki ilerlemelerle birlikte yeni mikro mimariler ve/veya devre çözümleri, yeni nesil işlemcilerin aynı ISA'yı kullanırken daha yüksek performans elde etmelerini sağlayan şeydir.

Prensip olarak, tek bir mikro mimari yalnızca küçük değişikliklerle birkaç farklı ISA'yı yürütebilir mikrokoda .

Bakış açıları

Intel 80286 mikro mimarisi

Boruhatlı veriyolu mikromimarisindeki en sık kullanılan veriyolu tasarımı bugün. Bu teknik, çoğu modern mikroişlemcide, mikrodenetleyicide ve DSP'de kullanılır . Ardışık düzen mimarisi, tıpkı bir montaj hattında olduğu gibi, yürütme sırasında birden çok talimatın üst üste binmesine izin verir. Boru hattı, mikro mimari tasarımlarda temel olan birkaç farklı aşama içerir. Bu aşamalardan bazıları talimat getirme, talimat kodunu çözme, yürütme ve geri yazma işlemlerini içerir. Bazı mimariler, bellek erişimi gibi diğer aşamaları içerir. Boru hatlarının tasarımı, merkezi mikro mimari görevlerden biridir.

Yürütme birimleri de mikro mimari için gereklidir. Yürütme birimleri arasında aritmetik mantık birimleri (ALU), kayan nokta birimleri (FPU), yükleme/depolama birimleri, dal tahmini ve SIMD bulunur . Bu birimler işlemcinin işlemlerini veya hesaplamalarını gerçekleştirir. Yürütme birimlerinin sayısının, gecikmelerinin ve verimlerinin seçimi, merkezi bir mikromimari tasarım görevidir. Sistem içindeki belleklerin boyutu, gecikmesi, verimi ve bağlanabilirliği de mikro mimari kararlardır.

Bellek denetleyicileri gibi çevre birimlerinin dahil edilip edilmeyeceği gibi sistem düzeyinde tasarım kararları , mikro mimari tasarım sürecinin bir parçası olarak kabul edilebilir. Bu, bu çevre birimlerinin performans düzeyine ve bağlanabilirliğine ilişkin kararları içerir.

Belirli bir performans seviyesine ulaşmanın ana hedef olduğu mimari tasarımın aksine, mikro mimari tasarım diğer kısıtlamalara daha fazla dikkat eder. Mikro mimari tasarım kararları bir sisteme girenleri doğrudan etkilediğinden, yonga alanı/maliyeti, güç tüketimi, mantık karmaşıklığı, bağlantı kolaylığı, üretilebilirlik, hata ayıklama kolaylığı ve test edilebilirlik gibi konulara dikkat edilmelidir.

Mikromimari kavramlar

talimat döngüleri

Programları çalıştırmak için tüm tek veya çok çipli CPU'lar:

  1. Bir talimatı okuyun ve kodunu çözün
  2. Talimatı işlemek için gereken ilişkili verileri bulun
  3. Talimatı işleyin
  4. Sonuçları yazın

Güç kapatılana kadar talimat döngüsü sürekli olarak tekrarlanır.

Çok döngülü mikromimari

Tarihsel olarak, en eski bilgisayarlar çok çevrimli tasarımlardı. En küçük, en ucuz bilgisayarlar genellikle bu tekniği kullanır. Çok çevrimli mimariler genellikle en az toplam mantık elemanı sayısını ve makul miktarda gücü kullanır. Belirleyici zamanlamaya ve yüksek güvenilirliğe sahip olacak şekilde tasarlanabilirler. Özellikle, koşullu dallar veya kesintiler alırken duracak bir boru hattı yoktur. Bununla birlikte, diğer mikro mimariler genellikle aynı mantık ailesini kullanarak birim zaman başına daha fazla talimat gerçekleştirir. "İyileştirilmiş performans" tartışılırken, bir iyileştirme genellikle çok çevrimli bir tasarıma göredir.

Çok döngülü bir bilgisayarda, bilgisayar, saatin birkaç döngüsü boyunca sırayla dört adımı gerçekleştirir. Bazı tasarımlar, muhtemelen ana döngü dışında meydana gelen daha uzun işlemlerle, alternatif saat kenarlarında ardışık aşamaları tamamlayarak diziyi iki saat döngüsünde gerçekleştirebilir. Örneğin, birinci aşama birinci döngünün yükselen kenarında, ikinci aşama birinci döngünün düşen kenarında vb.

Kontrol mantığında, döngü sayacı, döngü durumu (yüksek veya düşük) ve talimat kod çözme kaydının bitleri, bilgisayarın her bir parçasının tam olarak ne yapması gerektiğini belirler. Kontrol mantığını tasarlamak için, her komutun her döngüsünde bilgisayarın her bir parçasına kontrol sinyallerini açıklayan bir bit tablosu oluşturulabilir. Ardından, bu mantık tablosu, test kodunu çalıştıran bir yazılım simülasyonunda test edilebilir. Mantık tablosu bir belleğe yerleştirilmişse ve gerçek bir bilgisayarı çalıştırmak için kullanılıyorsa, buna mikro program denir . Bazı bilgisayar tasarımlarında, mantık tablosu, genellikle mantığı optimize eden bir bilgisayar programı kullanılarak, mantık kapılarından yapılan birleşimsel mantık biçiminde optimize edilir. Maurice Wilkes bu tablosal yaklaşımı icat edip buna mikro programlama adını verene kadar, ilk bilgisayarlar kontrol için geçici mantık tasarımı kullandılar .

Yürütme hızını artırma

Bu basit görünen adımlar dizisini karmaşık hale getiren şey, önbelleğe alma , ana bellek ve sabit diskler gibi (program talimatlarının ve verilerin bulunduğu) kalıcı depolamayı içeren bellek hiyerarşisinin her zaman işlemcinin kendisinden daha yavaş olmasıdır. Adım (2), veriler bilgisayar veri yolu üzerinden gelirken genellikle uzun (CPU terimleriyle) bir gecikmeye neden olur . Bu gecikmeleri mümkün olduğunca önleyen tasarımlar için önemli miktarda araştırma yapılmıştır. Yıllar boyunca, temel bir hedef, paralel olarak daha fazla talimat yürütmek ve böylece bir programın etkin yürütme hızını artırmaktı. Bu çabalar karmaşık mantık ve devre yapılarını ortaya çıkardı. Başlangıçta, bu teknikler, bu teknikler için gereken devre miktarı nedeniyle, yalnızca pahalı ana bilgisayarlarda veya süper bilgisayarlarda uygulanabildi. Yarı iletken üretimi ilerledikçe, bu tekniklerin çoğu tek bir yarı iletken çip üzerinde uygulanabilir hale geldi. Moore yasasına bakınız .

Komut seti seçimi

Talimat setleri yıllar içinde, başlangıçta çok basitten bazen çok karmaşık (çeşitli açılardan) değişti. Son yıllarda, yük depolama mimarileri , VLIW ve EPIC türleri moda olmuştur. Veri paralelliği ile ilgilenen mimariler arasında SIMD ve Vectors bulunur . CPU mimarisi sınıflarını belirtmek için kullanılan bazı etiketler, özellikle açıklayıcı değildir, özellikle CISC etiketi; Geriye dönük olarak " CISC " olarak adlandırılan birçok erken tasarım , aslında modern RISC işlemcilerinden (birkaç açıdan) önemli ölçüde daha basittir.

Ancak, komut seti mimarisinin seçimi, yüksek performanslı cihazların uygulanmasının karmaşıklığını büyük ölçüde etkileyebilir. İlk RISC işlemcilerini geliştirmek için kullanılan öne çıkan strateji, talimatları yüksek kodlama düzenliliği ve basitliği ile birlikte minimum bireysel anlamsal karmaşıklık sağlayacak şekilde basitleştirmekti. Bu tür tek tip komutlar, yüksek çalışma frekanslarına ulaşmak için mantık seviyelerinin sayısını azaltmak için basit bir strateji ve ardışık düzende kolayca alındı, kodu çözüldü ve yürütüldü; komut önbellekleri, daha yüksek çalışma frekansı ve doğal olarak düşük kod yoğunluğu için telafi edilirken, (yavaş) bellek erişiminin mümkün olduğunca çoğunu dışlamak için büyük kayıt kümeleri kullanıldı.

talimat boru hattı

Performansı iyileştirmeye yönelik ilk ve en güçlü tekniklerden biri, talimat ardışık düzeninin kullanılmasıdır . İlk işlemci tasarımları, bir sonrakine geçmeden önce bir talimat için yukarıdaki tüm adımları gerçekleştirirdi. Devrenin büyük bölümleri herhangi bir adımda boşta bırakıldı; örneğin, komut kod çözme devresi yürütme sırasında boşta olacaktır ve bu böyle devam edecektir.

Ardışık düzen, bir dizi talimatın işlemcide aynı anda çalışmasına izin vererek performansı artırır. Aynı temel örnekte, işlemci, sonuncusu sonuçları beklerken yeni bir talimatın kodunu çözmeye başlar (1. adım). Bu, aynı anda dört adede kadar talimatın "uçuş halinde" olmasına izin vererek işlemcinin dört kat daha hızlı görünmesini sağlar. Herhangi bir talimatın tamamlanması kadar uzun sürse de (hala dört adım vardır), CPU bir bütün olarak talimatları çok daha hızlı "kullanır".

RISC, talimat sürecinin her aşamasını temiz bir şekilde ayırarak ve aynı süreyi (bir döngü) almalarını sağlayarak boru hatlarını daha küçük ve inşa etmeyi çok daha kolay hale getirir. İşlemci bir bütün olarak bir montaj hattı tarzında çalışır , talimatlar bir taraftan gelir ve diğer taraftan sonuçlanır. Klasik RISC ardışık düzeninin azaltılmış karmaşıklığı nedeniyle , ardışık düzen çekirdek ve bir talimat önbelleği, aksi takdirde bir CISC tasarımında çekirdeğe tek başına uyacak şekilde aynı boyuttaki kalıba yerleştirilebilir. RISC'nin daha hızlı olmasının gerçek nedeni buydu. SPARC ve MIPS gibi ilk tasarımlar genellikle aynı saat hızı ve fiyatında Intel ve Motorola CISC çözümlerinden 10 kat daha hızlı çalıştı .

Boru hatları hiçbir şekilde RISC tasarımlarıyla sınırlı değildir. 1986'da, birinci sınıf VAX uygulaması ( VAX 8800 ), ilk ticari MIPS ve SPARC tasarımlarından biraz önce gelen, yoğun bir şekilde boru hattına sahip bir tasarımdı. Modern CPU'ların çoğu (hatta gömülü CPU'lar) artık ardışık düzendedir ve ardışık düzeni olmayan mikro kodlu CPU'lar yalnızca alan kısıtlaması en fazla gömülü işlemcilerde görülür. VAX 8800'den modern Pentium 4 ve Athlon'a kadar büyük CISC makineleri, hem mikro kod hem de boru hatları ile uygulanmaktadır. Ardışık düzen ve önbelleğe almadaki iyileştirmeler, işlemci performansının dayandıkları devre teknolojisine ayak uydurmasını sağlayan iki önemli mikromimari gelişmedir.

önbellek

Çip üretimindeki gelişmelerin kalıba daha fazla devre yerleştirilmesine izin vermesi çok uzun sürmedi ve tasarımcılar bunu kullanmanın yollarını aramaya başladılar. En yaygın olanlardan biri, kalıpta sürekli artan miktarda önbellek eklemekti . Önbellek çok hızlı ve pahalı bir bellektir. Ana belleğe "konuşmak" için gereken çoğu şeyin aksine, birkaç döngüde erişilebilir. CPU, önbellekten okuma ve yazmayı otomatikleştiren bir önbellek denetleyicisi içerir. Veriler zaten önbellekteyse, oradan erişilir - önemli ölçüde zaman tasarrufu sağlarken, değilse, önbellek denetleyicisi onu okurken işlemci "durur".

RISC tasarımları, 1980'lerin ortasından sonuna kadar, genellikle toplamda yalnızca 4 KB olan önbellek eklemeye başladı. Bu sayı zamanla arttı ve tipik CPU'lar artık en az 512 KB'ye sahipken, daha güçlü CPU'lar 1 veya 2 veya hatta 4, 6, 8 veya 12 MB ile birden fazla bellek hiyerarşisi düzeyinde düzenlenmiş olarak gelir . Genel olarak konuşursak, daha fazla önbellek, daha az durma nedeniyle daha fazla performans anlamına gelir.

Önbellekler ve işlem hatları birbirleri için mükemmel bir eşleşmeydi. Önceden, çip dışı belleğin erişim gecikmesinden daha hızlı çalışabilecek bir işlem hattı oluşturmak pek mantıklı gelmiyordu. Bunun yerine çip üzerinde önbellek kullanmak, bir işlem hattının önbellek erişim gecikmesi hızında, yani çok daha kısa bir sürede çalışabileceği anlamına geliyordu. Bu, işlemcilerin çalışma frekanslarının çip dışı belleğe göre çok daha hızlı artmasına izin verdi.

Şube tahmini

Yönerge düzeyinde paralellik yoluyla daha yüksek performans elde etmenin önündeki engellerden biri, boru hattı duraklarından ve dallardan kaynaklanan boşaltmalardan kaynaklanmaktadır. Normalde, bir koşullu dalın alınıp alınmayacağı, bir kayıttan gelen sonuçlara bağlı koşullu dallar olduğundan, ardışık düzenin sonlarına kadar bilinmez. İşlemcinin talimat kod çözücüsünün koşullu bir dal komutuyla karşılaştığını anladığı andan, karar verici kayıt değerinin okunabildiği zamana kadar, boru hattının birkaç döngü için durdurulması gerekir veya eğer değilse ve dal, alındığında, boru hattının yıkanması gerekir. Saat hızları arttıkça, boru hattının derinliği de artar ve bazı modern işlemcilerin 20 veya daha fazla aşaması olabilir. Ortalama olarak, yürütülen her beşinci talimat bir daldır, bu nedenle herhangi bir müdahale olmadan, bu yüksek miktarda oyalamadır.

Bu şube cezalarını azaltmak için şube tahmini ve spekülatif yürütme gibi teknikler kullanılmaktadır. Dal tahmini, donanımın belirli bir dalın alınıp alınmayacağına dair eğitimli tahminler yaptığı yerdir. Gerçekte, dalın bir tarafı veya diğer tarafı diğerinden çok daha sık çağrılacaktır. Modern tasarımlar, geleceği daha doğru bir şekilde tahmin etmek için geçmiş dalların sonuçlarını izleyen oldukça karmaşık istatistiksel tahmin sistemlerine sahiptir. Tahmin, donanımın, kaydın okunmasını beklemeden talimatları önceden getirmesini sağlar. Spekülatif yürütme, öngörülen yol boyunca kodun yalnızca önceden getirilmediği, ayrıca dalın alınması gerekip gerekmediği bilinmeden önce yürütüldüğü bir başka geliştirmedir. Bu, tahmin iyi olduğunda daha iyi performans sağlayabilir ve tahminin kötü olduğu zaman talimatların geri alınması gerektiğinden büyük bir ceza alma riskiyle birlikte.

süperskalar

Yukarıda özetlenen kavramları desteklemek için gereken tüm ek karmaşıklık ve kapılara rağmen, yarı iletken üretimindeki gelişmeler kısa sürede daha fazla mantık kapısının kullanılmasına izin verdi.

Yukarıdaki taslakta, işlemci bir seferde tek bir talimatın parçalarını işler. Birden fazla talimat aynı anda işlenirse bilgisayar programları daha hızlı yürütülebilir. ALU'lar gibi işlevsel birimleri çoğaltarak süperskalar işlemcilerin başardığı şey budur . İşlevsel birimlerin kopyalanması, ancak tek sorunlu bir işlemcinin kalıp alanı artık güvenilir bir şekilde üretilebilecek olanın sınırlarını zorlamadığında mümkün oldu. 1980'lerin sonunda, süperskalar tasarımlar pazara girmeye başladı.

Modern tasarımlarda iki yük birimi, bir depo (birçok talimatın saklanacak sonucu yoktur), iki veya daha fazla tamsayı matematik birimi, iki veya daha fazla kayan nokta birimi ve genellikle bir çeşit SIMD birimi bulmak yaygındır . Komut verme mantığı, bellekten büyük bir talimat listesini okuyarak ve bunları o noktada boşta olan farklı yürütme birimlerine dağıtarak karmaşık bir şekilde büyür. Sonuçlar daha sonra toplanır ve sonunda yeniden sıralanır.

Sıra dışı yürütme

Önbelleklerin eklenmesi, verilerin bellek hiyerarşisinden alınmasını beklemekten kaynaklanan duraklamaların sıklığını veya süresini azaltır, ancak bu duraklardan tamamen kurtulmaz. İlk tasarımlarda bir önbellek kaçırma , önbellek denetleyicisini işlemciyi durdurmaya ve beklemeye zorlardı. Tabii veri programda başka talimat olabileceğini olduğunu o noktada önbellekte mevcut. Sıra dışı yürütme , daha eski bir talimat önbellekte beklerken bu hazır talimatın işlenmesine izin verir, ardından her şeyin programlanmış sırada gerçekleştiğini göstermek için sonuçları yeniden sıralar. Bu teknik aynı zamanda, uzun gecikmeli kayan nokta işlemi veya diğer çok döngülü işlemlerden bir sonuç bekleyen bir talimat gibi diğer işlenen bağımlılığı duraklarından kaçınmak için de kullanılır.

Yeniden adlandırma kaydı

Kayıt yeniden adlandırma, aynı kayıtların bu talimatlar tarafından yeniden kullanılması nedeniyle program talimatlarının gereksiz şekilde serileştirilmiş yürütülmesini önlemek için kullanılan bir tekniği ifade eder. Aynı kaydı kullanacak iki talimat grubumuz olduğunu varsayalım . Bir komut seti, kaydı diğer sete bırakmak için önce yürütülür, ancak diğer set farklı bir benzer sicile atanmışsa, her iki talimat seti paralel (veya) seri olarak yürütülebilir.

Çoklu işlem ve çoklu kullanım

Bilgisayar mimarları, CPU çalışma frekansları ve DRAM erişim sürelerindeki artan uyumsuzluktan dolayı sekteye uğradı . Bir program içinde talimat düzeyinde paralellikten (ILP) yararlanan tekniklerin hiçbiri, verilerin ana bellekten alınması gerektiğinde oluşan uzun duraklamaları telafi edemezdi. Ek olarak, daha gelişmiş ILP teknikleri için gereken büyük transistör sayıları ve yüksek çalışma frekansları, artık ucuza soğutulamayacak güç kaybı seviyeleri gerektiriyordu. Bu nedenlerle, yeni nesil bilgisayarlar, tek bir program veya program iş parçacığının dışında var olan daha yüksek düzeyde paralellikten yararlanmaya başladılar .

Bu eğilim bazen çıktı hesaplama olarak bilinir . Bu fikir, çevrimiçi işlem işlemenin yalnızca bir işlemin yürütme hızını değil, aynı zamanda çok sayıda işlemle başa çıkma kapasitesini de vurguladığı ana bilgisayar pazarından kaynaklandı . Ağ yönlendirme ve web sitesi hizmeti gibi işlem tabanlı uygulamaların son on yılda büyük ölçüde artmasıyla birlikte, bilgisayar endüstrisi kapasite ve verim konularını yeniden vurgulamıştır.

Bu paralelliğin nasıl elde edildiğinin bir tekniği, çok işlemcili sistemler, birden çok CPU'lu bilgisayar sistemleridir. Bir zamanlar üst düzey ana bilgisayarlar ve süper bilgisayarlar için ayrılan küçük ölçekli (2-8) çok işlemcili sunucular, küçük işletme pazarında yaygın hale geldi. Büyük şirketler için büyük ölçekli (16–256) çok işlemciler yaygındır. 1990'lardan beri birden fazla CPU'lu kişisel bilgisayarlar bile ortaya çıktı.

Yarı iletken teknolojisindeki ilerlemelerle sağlanan daha fazla transistör boyutu küçültmesiyle , aynı silikon çip üzerinde birden fazla CPU'nun uygulandığı çok çekirdekli CPU'lar ortaya çıktı. Başlangıçta, daha basit ve daha küçük CPU'ların birden fazla örneklemenin tek bir silikon parçasına sığmasına izin verdiği gömülü pazarları hedefleyen yongalarda kullanıldı. 2005 yılına gelindiğinde, yarı iletken teknolojisi, çift üst düzey masaüstü CPU'larının CMP yongalarının hacim olarak üretilmesine izin verdi . Gibi bazı tasarımlar, Sun Microsystems ' ULTRASPARC T1 (in-order, sayısal alan) daha basit geri intikal silikon tek parça daha çok işlemci sığdırmak için tasarımlar var.

Son zamanlarda daha popüler hale gelen bir diğer teknik ise multithreading . Çoklu kullanımda, işlemcinin yavaş sistem belleğinden veri alması gerektiğinde, verilerin gelmesi için oyalanmak yerine, işlemci yürütülmeye hazır olan başka bir programa veya program iş parçacığına geçer. Bu, belirli bir programı/iş parçacığını hızlandırmasa da, CPU'nun boşta olduğu süreyi azaltarak genel sistem verimini artırır.

Kavramsal olarak, çoklu kullanım, işletim sistemi düzeyinde bir bağlam anahtarına eşdeğerdir . Aradaki fark, çok iş parçacıklı bir CPU'nun normalde bir bağlam anahtarının gerektirdiği yüzlerce veya binlerce CPU döngüsü yerine tek bir CPU döngüsünde bir iş parçacığı anahtarı yapabilmesidir. Bu, her aktif iş parçacığı için durum donanımının ( kayıt dosyası ve program sayacı gibi ) çoğaltılmasıyla elde edilir .

Diğer bir geliştirme ise eşzamanlı çoklu kullanımdır . Bu teknik, süperskalar CPU'ların aynı döngüde aynı anda farklı programlardan/iş parçacıklarından gelen talimatları yürütmesine izin verir.

Ayrıca bakınız

Referanslar

daha fazla okuma