CPU neden tipik olarak sadece bir veri yoluna bağlanıyor?


24

Anakart mimarisini burada buldum:

görüntü tanımını buraya girin

Bu anakartların tipik düzeni gibi görünüyor. EDIT: Evet, görünüşe göre artık o kadar tipik değil.

CPU neden sadece 1 veri yoluna bağlanıyor ? Bu ön taraf otobüsü büyük bir darboğaz gibi görünüyor. 2 veya 3 veri yolunu doğrudan CPU'ya sokmak daha iyi olmaz mıydı?

RAM için bir veri yolu, biri grafik kartı, biri sabit disk sürücüsü, usb bağlantı noktaları ve diğer her şey için bir tür köprü için. Bu şekilde ayırmamın nedeni, sabit disk veri hızlarının belleğe kıyasla daha yavaş olması.

Bu şekilde yapmanın çok zor olduğu bir şey var mı? Maliyetin nasıl ortaya çıktığını anlamıyorum, çünkü mevcut diyagramların zaten yediden az veriyolu yok. Aslında, daha doğrudan otobüsler kullanarak, toplam otobüs sayısını ve hatta köprülerden birini bile azaltabiliriz.

Yani bu konuda yanlış bir şey var mı? Bir yerlerde büyük bir dezavantaj var mı? Düşünebildiğim tek şey CPU ve çekirdeğin belki de daha karmaşık olması, bu darboğaz veri yolu mimarisinin eski günlerde işlerin daha az karmaşık olduğu ve tasarımın standardizasyon için aynı kaldığı şeklinde olduğunu düşündürüyor.

EDIT: Watchdog Monitor'den bahsetmeyi unuttum . Bazı diyagramlarda gördüğümü biliyorum. Muhtemelen bir darboğaz otobüsü, bekçi köpeğinin her şeyi izlemesini kolaylaştıracaktır. Bununla bir ilgisi olabilir mi?


9
Bu çok eski bir yaklaşım. Günümüzde CPU yerleşik kök kompleksi ve bellek kontrol ünitesine sahiptir - bu nedenle doğrudan PCIe cihazlarına, RAM'e ve güney köprüsünün etkili bir şekilde bağlanmasına bağlıdır. Örneğin, bu
Tom Carpenter

@ TomCarpenter Evet, daha çok görünmeye başladı. Yayınladığım diyagram okul dahil "her yerde" gördüğüm şeydi, bu yüzden daha tipik olduğunu düşündüm.
DrZ214

7
Yukarıdaki şema hala geçerlidir. Bugünlerde bu bir anakartın diyagramı değil işlemcinin kendisidir. "CPU" yu "çekirdek" ve "yonga seti" ile "CPU" ile değiştirin.
slebetman

Yanıtlar:


43

Gösterdiğiniz yaklaşım, anakartlar için oldukça eski bir topolojidir - bu, onu 00'lı yıllarda bir yere geri koyan PCIe'yi yüceltir. Bunun nedeni öncelikle entegrasyon zorluklarıdır.

Temel olarak 15 yıl önce, her şeyi tek bir kalıba entegre eden teknoloji, ticari açıdan neredeyse hiç yoktu ve bunu yapmak inanılmaz derecede zordu. Her şeyi entegre etmek, çok daha düşük verime yol açan çok büyük silikon kalıp boyutları ile sonuçlanacaktır. Verim aslında bir gofrette kusurlardan dolayı ne kadar öldüğünüzdür - kalıp ne kadar büyükse, kusur olasılığı o kadar yüksektir.

Bununla mücadele etmek için tasarımı basitçe çoklu fişlere böldünüz - anakartlarda bu işlem CPU, Kuzey Köprüsü ve Güney Köprüsü oldu. CPU sadece yüksek hızlı ara bağlantıya sahip işlemciyle sınırlıdır (hatırladığım kadarıyla ön veri yolu olarak adlandırılır). Daha sonra, bellek denetleyicisini, grafik bağlantısını (örn. AGP, hesaplama terimlerindeki eski bir teknoloji) ve Güney Köprüsü'ne daha yavaş bir bağlantıyı birleştiren Kuzey Köprüsüne sahipsiniz. Güney Köprüsü, genişletme kartlarını, sabit sürücüleri, CD sürücüleri, ses vb. İşlemek için kullanıldı.


Son 20 yılda, daha yüksek ve daha yüksek güvenilirliğe sahip daha küçük ve daha küçük işlem düğümlerinde yarı iletken üretme yeteneği, her şeyi tek bir çip üzerine entegre etmek anlamına gelir. Küçük transistörler daha fazla yoğunluk anlamına gelir, böylece daha fazla uyum sağlayabilirsiniz ve üretimde daha iyi üretim anlamına gelir. Aslında, sadece daha uygun maliyetli olmakla kalmıyor, aynı zamanda modern bilgisayarlardaki hız artışını sürdürmek de hayati bir önem kazanıyor.

Doğru bir şekilde işaret ettiğiniz gibi, bir kuzey köprüsüne bir bağlantıya sahip olmak bir darboğaza dönüşür. PCIe Kök Kompleksi ve sistem belleği denetleyicisi de dahil olmak üzere her şeyi CPU'ya entegre edebilirsiniz, aniden grafikler ve bilgisayarların ana aygıtları arasında son derece yüksek bir bağlantıya sahip olursunuz - PCB'de belki de Gbps'nin hızından bahsediyorsunuz Tbps sırasına göre hızları başarabilirsiniz!

Bu yeni topoloji bu şemaya yansıtılmıştır:

Yeni Topoloji

Görüntü Kaynağı

Bu durumda görebileceğiniz gibi, grafik ve bellek denetleyicilerinin her ikisi de CPU kalıbına entegre edilmiştir. Kuzey köprüsü ve güney köprüsünün bazı kısımlarından (şemadaki yonga seti) oluşan tek bir yonga setinin etkin bir şekilde ne olduğuna dair hala bir bağlantıya sahip olsanız da, bugünlerde inanılmaz hızlı bağlantı - belki 100 + Gbps. Kalıptan daha yavaş, ancak eski ön taraf otobüslerinden çok daha hızlı.

Neden sadece kesinlikle her şeyi bütünleştirmiyorsun? Peki anakart üreticileri hala bazı özelleştirilebilirlik istiyor - kaç tane PCIe yuvası, kaç tane SATA bağlantısı, hangi ses denetleyicisi vb.

Aslında, bazı mobil işlemciler CPU kalıbına daha da fazla entegredir - ARM işlemci varyantlarını kullanan tek kartlı bilgisayarları düşünün. Bu durumda, ARM CPU tasarımını kiraladığı için, üreticiler istediklerini kontrol edip / entegre edebilecekleri şekilde uyum gösterip entegre edebildikleri için kalıplarını özelleştirebilirler.


+1, beni yendin :) Güzel bir cevap, özellikle mimari tasarımın tarihsel nedenlerinden dolayı.
uint128_t

Teşekkürler, özellikle de ikinci paragraf eve geldi. Bununla birlikte, on the die you can achieve speeds on the order of Tbps!Yikes, bu işlemcinin işlemeyi yeterince hızlı bir şekilde işleme koyma yeteneğinden daha fazla kurtulmaya başlamaz mı?
DrZ214

3
@ DrZ214 PCI değiller, paralel olandan ziyade seri veriyolu olan PCIe. PCIe her iki yönde de şerit başına 2.5Gbps, 5Gpbs veya 8Gbps'dir (tam dubleks) - 16 şerit genellikle her iki yönde de teorik olarak maksimum 128Gbps verirken en geniş görülen şerittir. Ve evet, yukarıdaki işlemcinin hızları hakkındaki yorum kasıtlı olarak oldukça basitti, ancak gerçekçi değildi - CPU'larla ilgisi yoktu, şu anda 315Gbps'de veri işleyen bir FPGA tasarımı üzerinde çalışıyorum ve bu mümkün olan en yüksek performansa yakın bir yerde değil. FPGA’nın sınırlayıcı olan veri eksikliği!
Tom Carpenter,

1
İlginç olan, hafızanın ve depolama otobüslerinin (vb.) Doğrudan CPU'ya gittiği eski sistemlerin bile mimarisine doğru bir kaymayı temsil etmesidir.
Chris H,

1
@ DrZ214 "şerit", tek bir bit genişliğinde, iki çift olarak gönderilen bir saat / veri sinyalidir. PCIe ile ilgili DDR veriyoluna kıyasla benzersiz olan şey, PCIe'nin şeritleri serbestçe toplayabilmesi ve kaldırabilmesi, oysa çoğu otobüsün hepsini alması veya alması gerekmiyor.
pjc50

9

Bilgisayar mimarisinde uzman olduğumu söyleyemem, ancak sorularınızı yanıtlarken bir göz atacağım.

Bu anakartların tipik düzeni gibi görünüyor.

Tom'un dediği gibi, bu artık doğru değil. Modern işlemcilerin çoğu entegre bir kuzey köprüsüne sahiptir. Güney köprüsü tipik olarak ya yeni mimari tarafından bütünleştirilmiştir ya da gereksiz hale getirilmiştir; Intel'in yonga setleri, güney köprüsünü DMI veri yolu üzerinden doğrudan CPU ile iletişim kuran Platform Kontrol Merkezi ile değiştiriyor.

CPU neden sadece 1 veri yoluna bağlanıyor? Bu ön taraf otobüsü büyük bir darboğaz gibi görünüyor. 2 veya 3 veri yolunu doğrudan CPU'ya sokmak daha iyi olmaz mıydı?

Geniş (64 bit) veriyolları pahalıdır, çok sayıda veri yolu vericisi ve çok sayıda I / O pini gerektirir. Gerektiren sadece cihazlarDevasa bir çığlık atan hızlı veri yolu grafik kartı ve RAM. Diğer her şey (SATA, PCI, USB, seri vb.) Nispeten yavaş ve sürekli erişilemiyor. Bu nedenle, yukarıdaki mimaride, tüm bu "yavaş" çevre birimler, güney köprüsü boyunca tek bir veri yolu aracı olarak bir araya getiriliyor: işlemci, her küçük veri yolu işleminde hakemlik yapmak istemiyor; ve güney köprüsü tarafından yönetilir ve daha sonra diğer çevre birimlerine daha yavaş bir hızda bağlanır.

Şimdi, yukarıda söylediğimde SATA / PCI / USB / seri'nin "yavaş" olduğunu, bunun temelde tarihi bir nokta olduğunu ve günümüzde daha az gerçekleştiğini söylemek önemlidir. Dönen diskler ve hızlı PCIe çevre birimleri, ayrıca USB 3.0, Thunderbolt ve belki de 10G ethernet (yakında) üzerinden SSD'lerin kullanılmasıyla, "yavaş" çevresel bant genişliği hızla çok önemli hale geliyor. Geçmişte, kuzey köprüsü ve güney köprüsü arasındaki otobüs bir şişe boynundan ibaret değildi, ama bu artık doğru değil. Yani evet, mimariler doğrudan CPU'ya bağlı daha fazla otobüse doğru ilerliyorlar.

Bu şekilde yapmanın çok zor olduğu bir şey var mı? Maliyetin nasıl ortaya çıktığını anlamıyorum, çünkü mevcut diyagramların zaten yediden az veriyolu yok.

İşlemcinin yönetmesi için daha fazla otobüs ve veriyollarıyla başa çıkmak için daha fazla işlemci silikonu olurdu. Hangisi pahalı. Yukarıdaki diyagramda, tüm otobüsler eşit değildir. FSB hızlı bağırıyor, LPC değil. Hızlı otobüsler hızlı silikon gerektirir, yavaş otobüsler gerektirmez, bu nedenle yavaş otobüsleri CPU'dan başka bir yongaya taşıyabilirseniz hayatınızı kolaylaştırır.

Bununla birlikte, yukarıda bahsedildiği gibi, yüksek bant genişlikli cihazların popülaritesinin artmasıyla, gittikçe daha fazla sayıda otobüs, özellikle SoC / daha fazla entegre mimarilerde doğrudan işlemciye bağlanmaktadır. CPU ölçeğine gittikçe daha fazla denetleyici koyarak, çok yüksek bant genişliğine ulaşmak daha kolaydır.

EDIT: Watchdog Monitor'den bahsetmeyi unuttum. Bazı diyagramlarda gördüğümü biliyorum. Muhtemelen bir darboğaz otobüsü, bekçi köpeğinin her şeyi izlemesini kolaylaştıracaktır. Bununla bir ilgisi olabilir mi?

Hayır, bir bekçi köpeği öyle değil. Bir bekçi köpeği basitçe / eğer kilitlenirse çeşitli şeyleri yeniden başlatmaktır; otobüs boyunca hareket eden her şeye gerçekten bakmıyor (bundan çok daha az karmaşık!).


2
Fast buses require fast silicon, slow buses don'tHızlı silikon tam olarak ne anlama geliyor? Daha yüksek saflıkta silikon? Yoksa yavaş otobüslerin silikondan farklı bir element kullanabileceğini mi söylüyorsunuz? Her iki durumda da, silikonun oldukça ucuz bir malzeme olduğunu düşündüm. Ayrıca bekçi köpeği hakkında ilginç bir bit. Bununla ilgili bir soru sorabilirim.
DrZ214

1
Hızlı bir veri yolu, tipik olarak bir CPU gibi yüksek performanslı bir cihazın bir parçası olacaktır. Veriyolu arayüzü yonganın diğer parçalarına alan ve bağlantılar gerektirir. İşlemci kalıbındaki silikon alan çok daha yavaş bir çipten çok daha pahalıdır, çünkü işlem boyutu daha küçüktür ve imalat / paketleme daha zordur. Bu nedenle, FSB'deki cihazları yalnızca gerçekten böyle bir bant genişliği gerektiren cihazlarla sınırlandırmak daha ucuzdur. Bununla birlikte, aynı kalıptaki (bir SoC) CPU ile daha fazla kontrol cihazı entegre edildiğinden, bu artık doğru değildir.
uint128_t

Yavaş otobüsler hızlı silikon gerektirmese de, PCB arayüzünde büyük bir baş ağrısı yaratabilen yavaş arayüzlerde çok hızlı sürücüler bulmak nadir değildir . Satıcılar standart bir G / Ç hücresi kullandıklarından, normal PCI (X-PCI hızda maksimum 133 MHz), 300 ps'den daha az yükselme ve düşme süreleri ile gördüm. Bir arabirim olarak PCI'nin yeni işlemcilerde normalde bulunmadığını biliyorum, ancak bu sorun başka yerlerde de geçerli.
Peter Smith

6

Bir CPU'nun doğrudan bağlanacağı otobüslerin sayısı genellikle CPU'nun eşzamanlı olarak erişebilecek farklı bölümlerinin sayısı ile sınırlı olacaktır. Özellikle gömülü işlemciler ve DSP dünyasında, bir CPU'nun programlar için bir veriyoluna ve veri için bir veri yoluna sahip olması ve aynı anda çalışmasına izin vermek nadir değildir. Bununla birlikte, tipik bir tek işlemci, her bir işlem döngüsü için yalnızca bir komut almaktan faydalanacak ve her bir işlem döngüsü için yalnızca bir veri belleği konumuna erişebilecek, bu nedenle bir program-bellek veriyolunun ve bir kodun ötesine geçmenin pek bir faydası olmayacak. veri belleği İki farklı akıştan toplanan veriler üzerinde belirli matematik türlerinin gerçekleştirilmesini sağlamak,

Birden fazla yürütme ünitesine sahip işlemcilerde, her biri için ayrı bir veri yolunun bulunması yararlı olabilir, böylece birden fazla "dış" veri yolu varsa, farklı "dış" veri yollarından bir şeyler alması gereken üniteleri müdahale etmeden yapabilir. Farklı yürütme birimleri tarafından erişilenlere, CPU dışındaki farklı otobüsler yoluyla erişilebilmesinin mantıklı bir sebebi bulunmadığı sürece, CPU beslemesinden ayrı bir veri yolunun bir seferde yalnızca bir talebi iletebilecek bir tahkim birimine ulaşması belirli harici cihaz hiçbir şeye yardımcı olmaz. Otobüsler pahalıdır, bu nedenle iki yürütme biriminin bir otobüste oturması, genellikle ayrı otobüs kullanmaktan daha ucuzdur. Ayrı otobüslerin kullanılması büyük bir performans iyileştirmesine izin verirse, bu maliyetin haklı çıkmasına neden olabilir, aksi takdirde herhangi bir kaynak (çip alanı vb.)


-1

Birden fazla geniş veri yolu için CPU paketlerinde gereken pin sayısını düşünün. Örneğin, sekiz CPU, her biri 64 bit veri yoluna sahip, ayrıca başka amaçlar için çeşitli pimler kullanır. Bugün 800 pimli herhangi bir CPU paketi mevcut mu?


Neden olmasın ki? 32x32 bilyeli ızgara dizisi ve çok katmanlı PCB, zor bir sorun gibi görünmez (göreceli ölçekte). Donanım mühendisleri harika. // Ne kadar geniş ve sakar RAM kartların olabileceğini ve hala 1,6 GHz'de (625 pikosaniye) çalıştığını düşünün. Elektrik sinyalleri 2/3 c de seyrederse, en uzun iz sadece 6 cm uzunluğunda olabilir ve uzunluktaki birkaç mm'lik fark fark edilebilir zamanlama ofsetlerine neden olur. // Ve sanırım katmanlar arasındaki karışma aynı katmandaki izlerden çok daha kötü olmazdı.
Oskar Skog

"Bugün 800 iğneli CPU paketleri mevcut mu?" Oh evet. Bu cevap yazıldığında 1100 pimli paketler zaten olağandı. Günümüzde, bazı Skylake-EX sunucu işlemcileri için
LGA3647 var
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.