2012-04-09 14 views
10

Superscalr ve OoO'da bazı materyaller okuyorum ve kafam karıştı.
Bence mimarlık grafikleri aynı görünüyor.Superscalar ve OoO yürütmesi arasındaki genel fark nedir?

+0

Ayrıca bakınız: ** [Modern Mikro işlemci: Bir 90 Dakikalık Kılavuzu] (http://www.lighterra.com/papers/modernmicroprocessors/) **. Bu makale, basit boru hatlarından, derin boru hattından süperskalara, diyagramlara ve örneklere dayanmaktadır. Daha sonra talimat gecikmeleri ve bağımlılıkları, dalları (ve tahmini) ve sipariş dışı yürütme devam eder. (Ve dalları değiştirmek için önceliği (veri bağımlılıkları).) Sonra "brainiac'a karşı hız iblisi (örneğin Pentium 4)" ve neden frekans/güç ölçeklendirmesi P4'ü öldürdü ve neden daha hızlı tek çekirdekler yerine çoklu çekirdeklerimiz var. Şiddetle tavsiye edilir. –

cevap

21

Süperscalar mikroişlemciler aynı anda iki veya daha fazla komutlar olabilir. Örneğin. tipik olarak en az 2 ALU'ları vardır (her ne kadar süperşarjlı bir işlemci, 1 ALU'ya ve bir kaydırma veya atlama birimi gibi başka bir yürütme birimine sahip olsa da.)

(Daha açık bir ifadeyle, süper ölçekli işlemci iki veya daha fazla komut dosyasını aynı anda çalıştırmaya başlayabilir. . döngüsü Boruhatlı işlemciler bir seferde birden fazla talimat yürütebileceği, ama olmayan bir superscalar pipelined işlemci için sadece verilen döngüsünde tek talimat başlayacak Boruhatlı yürütme birimleri uçtan uca yürütmek için birden döngüleri almak koy başka bir yol.:. superscalar işlemciler genellikle, döngü başına tek döngülü gecikme ile iki boru-dışı talimatı yürütme kapasitesine sahipken süper-süper-olmayan boru hattı işlemcileri, aynı zamanda ALU'larda yürütme sırasında iki adet tek çevrim komutuna sahip olamazlar.)

Sipariş dışı işlemciler, orijinal siparişin dışında talimatlar uygulayabilirler. Örneğin, ÇOĞALMADIKÇA 5 devir alır Aşağıda, içinde, talimat 3 talimatı 2 önce çalıştırabilir - talimatı 2 talimatı 1 çarpın 5 döngü sonucu beklediği için:

1: MULTIPLY reg1 := reg2 * reg3 
2: ADD reg4 := reg1 + 5 
3: ADD reg6 := reg2 + 1 

En dışı olma sipariş işlemcileri de süper ölçeklerdir. Bununla birlikte, süper ölçek olmayan bir sıra dışı işlemci oluşturmayı hayal edebilirsiniz; bu, döngü başına yalnızca bir boru hattındaki ALU üzerinde bir işlem başlatabilir. Intel tarafından istihdam zaman (ben 2 alarak, düşük güç cips. Heck, sadece 16 bitlik bir veri ALU var mesela sadece yarı yolda sayıl, out-of-sipariş işlemciler inşa edebilirsiniz, önerilen bu tür operasyonları var 32 bit döngüleri, vb eklemek Ama bu germe gelir.)

Birçok superscalar işlemciler ise dışı sipariş değildir. Yukarıdaki örnekte, sıralı bir süper-ölçek ilk önce talimatı [1] uygulayacaktır. NOT başlatma talimatı 3'dür, ancak 2. komutun başlayabilmesini bekleyecektir - bu sırada 2 ve 3 komutlarını birlikte başlatacaktır.

Bu yardımcı olur umarım.

Bazen böyle 1 genelindeki veya yarım geniş OOO makineleri gibi, kavramları anlamaya, olası sınır durumlar hakkında düşünmek zorunda.

İlgili konular