Vulcan'ı İnceleyelim

Jaime Lannister

Kıdemli Üye
1 Ara 2020
3,692
806
Casterly Rock
Merhaba TurkHackTeam üyeleri bugün Vulcan'ı inceleyeceğiz.

qludCv.png

YHOrwJ.gif

qludCv.png


images


Vulcan, Broadcom tarafından tasarlanan ve daha sonra sunucu pazarı için Cavium tarafından tanıtılan 16 nm yüksek performanslı 64-bit ARM mikromimarisidir. 2018'de tanıtılan Vulcan tabanlı mikroişlemciler, ThunderX2 ailesinin bir parçası olarak markalanmıştır.

Vulcan, köklerini 2006'dan itibaren Raza Microelectronics XLR MIPS işlemci ailesine kadar almıştır. 2009'da XLR ailesinin piyasaya sürülmesiyle Raza (ve daha sonra NetLogic), ince taneli 4'lü yüksek performanslı bir süperskalar tasarıma geçti. Yol çoklu iş parçacığı desteği ile birlikte. 2011'de Broadcom, NetLogic Microsystems'i satın aldı ve bunları Broadcom'un Gömülü İşlemci Grubuna entegre etti.

2013'te Broadcom, ARMv7 ve ARMv8 ISA'larını lisansladıklarını ve kendi mikro mimarilerini geliştirmelerine izin verdiğini duyurdu. ISA. Vulcan, mevcut çekirdeği MIPS yerine ARM ISA'ya uyarlamayı ve çekirdekleri çeşitli şekillerde geliştirmeyi içeren bu çabanın sonucudur. Vulcan'ın gelişimi 2012'nin başlarında başladı ve 2015'in ortalarında seri üretime geçmesi bekleniyordu.

2016 yılında Cavium, ertesi yıl piyasaya sürülen Broadcom'dan Vulcan'ı satın aldı. 2018'in başlarında, Vulcan tabanlı mikroişlemci ThunderX2 markası altında genel kullanıma girdi.

images


Tüm vektörlerde (performans, alan ve TDP) önceki mimarilerden ölçeklendirilen Vulcan, Xeon sınıfı ARM tabanlı bir sunucu mikroişlemcisi olarak tasarlanmıştır. Vulcan, eşlik eden 1 MiB seviye 3 önbellek dilimi (toplam 32 MiB paylaşılan son seviye önbellek için) ile birlikte ARMv8.1 ile tamamen uyumlu 32 yüksek performanslı özel tasarımlı ARM çekirdeğine sahiptir. Her bir çekirdek dört adede kadar eşzamanlı iş parçacığını desteklediğinden, tam yapılandırma 128 adede kadar iş parçacığını destekleyebilir. Çok sayıda çekirdeği destekleyen, 2.666 MT/sn'ye varan veri hızlarına sahip sekiz DDR4 kanalı ve 170,7 GB/sn birleştirilmiş bant genişliğine olanak tanır.

İşlemci, tam olarak yapılandırılabilir 14 PCIe ile birlikte gelir. 56 kullanılabilir şeritli Gen3 kontrolörleri vardır. Çipte ayrıca 2 USB 3 ve 2 SATA 3 bağlantı noktası bulunur.

Vulcan, aynı anda dört adede kadar donanım iş parçacığını destekleyen sıra dışı bir süperskalardır. Vulcan, XLP II'den biraz daha uzun olan 13-15 aşamalı bir ardışık düzene sahiptir.

images


Vulcan'ın ön ucu, hazır bir iş parçacığı talimat akışından talimatları almak ve bunları beslemekle görevlendirilmiştir. Yürütme birimlerine teslim edilmek üzere kod çözme işlemine alınır. Vulcan dörde kadar iş parçacığını desteklediğinden, hangi iş parçacığının talimat akışından çalışılacağını bir iş parçacığı zamanlayıcı belirler. Bu belirleme, herhangi bir ek maliyet olmadan şube tahmincisi yardımıyla her döngüde yapılır.

Vulcan, 8 yollu küme ilişkisel olan 32 KiB L1 önbelleğe ve özel bir L1 talimatı TLB'ye sahiptir. O' Vulcan'daki tüm çekirdek önbelleklerin, önbellek çizgisi adım modellerinde çalışan dal tahmincisine yardımcı olmak için 8 yollu küme ilişkisel olduğunu belirtmekte fayda var. Normal akış altında, getirilecek veriler önceden tahmin edildi ve L2'den L1'e ulaştı. L1 talimat önbelleğinin bant genişliği, döngü başına 64 bayttır.

Talimat getirme işlemi 32 baytlık bir pencerede veya 8 (4 baytlık) ARM komutunda yapılır. Bu, önceki mimarinin veriminin iki katıdır ve boru hattındaki kabarcıkları daha iyi emmek için tasarlanmıştır. Talimat akışı, kod çözücüye gitmek üzere kuyruğa alındıkları kurucu talimatlarına ayrıştırılır. Kuyruk tüm iş parçacıkları tarafından paylaşılır. Kuyruğun boyutu açıklanmadı.

images


Her döngü, kod çözücüye en fazla dört talimat gönderilir. Önceki tasarımda, Broadcom'un ürünleri MIPS talimatlarının kodunu çözüyordu. Vulcan ile ARM'ye geçiş, kod çözücünün orijinal talimatın kodunu çözen ve mikro işlemler yayan çok daha karmaşık bir mantıkla değiştirilmesi gerektiği anlamına geliyordu. Çoğunlukla, talimatlar ve µOP arasında 1:1 bir eşleme vardır ve talimatlardan ortalama %15 daha fazla µOP yayılır. Ekstra karmaşıklık, kod çözme işlemine başka bir işlem hattı aşaması ekledi TurkHackTeam üyeleri.

Kod çözücü ile programlayıcı arasında 128 girişli bir döngü arabelleği bulunur. Döngü arabelleği, dal tahmincisi ile birlikte, son sıkı döngü işlemlerini sıraya alacaktır. Tampon, bir dallanma gerçekleşene kadar işlemleri tekrar tekrar oynatır. Bu gerçekleştiğinde, ön uç (talimat getirme, kod çözme, vb.) güçten tasarruf etmek için büyük ölçüde güç kontrollüdür.

Vulcan'ın arka ucu, sıra dışı işlemlerin yürütülmesini yönetir. Vulcan'ın arka ucu, programlayıcının tamamen yeniden tasarımı dahil olmak üzere önceki tasarımlardan önemli ölçüde geliştirilmiştir. Geliştirmelerin çoğu, ek talimat düzeyinde paralellik fırsatlarını daha verimli bir şekilde çıkarmak için zamanlayıcıyı tamamen yeniden çalışmakla ilgiliydi. Kod çözme işleminden, talimatlar her döngüde 4 µOP'ye kadar hızda Yeniden Sıralama Tamponuna (ROB) gönderilir.

images


8BfzfS111434df5fdd155e.md.png

zcIPpR.gif
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.