Exynos M1'i İnceleyelim

Jaime Lannister

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

qludCv.png

YHOrwJ.gif

qludCv.png


images


Exynos Mongoose 1 (M1), Samsung tarafından tüketici elektroniği için tasarlanmış bir ARM mikro mimarisidir. Bu, Samsung'un kendi bünyesinde geliştirdiği ilk yüksek performanslı düşük güçlü ARM mikro mimarisiydi.

Mongoose 1 (M1) mikro mimarisi, Samsung'un tamamen sıfırdan yapılan ilk şirket içi tasarımıydı. Bir tasarım ekibi kuruldu ve yaklaşık 3 yıl içinde gereksinimlerden bantlama aşamasına geçtiler. Tasarım, yalnızca yüksek performanslı, düşük güçlü, karmaşık CPU ve Sistem IP'leri geliştirmek amacıyla 2010 yılında kurulan Samsung'un Austin Ar-Ge Merkezi'nde (SARC) yapıldı. Tasarım ekibinin büyük bir kısmı, birçok eski AMD Austin mühendisinin yanı sıra eski IBM'cilerden oluşuyor. Mongoose 1 mikro mimarisi, baş mimar Brad Burgess tarafından yönetildi. Burgess daha önce bir AMD üyesiydi ve AMD'nin düşük güçlü bir x86 tasarımı olan Bobcat mikro mimarisinin baş mimarıydı.

Mongoose 1, ARMv8 ISA'yı uygulayan sıfırdan tamamen yeni bir mimariydi. Mimari, Thumb modları dahil olmak üzere hem AArch64 hem de AArch32'yi destekler. Mimari, başka bir düşük güçlü ARM IP çekirdeği ile eşleştirilmesi amaçlanan dört çekirdekli bir tasarımdır.

Adres üretmek için şube tahmincisi için iki işlem hattı aşaması vardır. Talimat önbelleğinden talimat almak ve bunları talimat kuyruğuna teslim etmek için üç döngü vardır. Üç kod çözme aşaması, iki yeniden adlandırma aşaması ve tek bir gönderme aşaması vardır.

images


Yürütme aşaması için her iki boru da bir zamanlama döngüsünden ve ardından bir kayıt okuma döngüsünden geçer. Komut yürütme, yürütülmekte olan ARM komutuna bağlı olarak bir döngü veya daha fazla sürebilir. Geri yazma ve iletme için tek bir döngü vardır. Yükleme işlemi durumunda, ek bir çeviri etiketi döngüsü, veri döngüsü ve bir hizalama ve geri yazma döngüsü vardır. Son satır (mavi renkte) yükleme için 22 döngü gecikme yoludur.

Ön uç, şube tahmincisi tarafından trafik akışı tahminlerine dayalı olarak önbellekten doğru bayt akışını almaktan ve talimatların kodunu çözen kod çözücüleri basit sinyallere beslemekten sorumludur. Ön ucun amacı, nihayetinde arka ucu mümkün olduğunca fazla talimat yürütmekle meşgul etmektir.

Dal tahmincisi yardımıyla, talimatlar seviye 1 talimat önbelleğinde zaten bulunmalıdır. L1I önbelleği 64 KiB, 4 yollu küme ilişkiseldir ve 256 girişten oluşan kendi iTLB'sine sahiptir. Her döngüden talimat kuyruğuna 24 bayta kadar okunur ve bu da çok kısa dal baloncuklarını gizlemelerine olanak tanır. Talimat kuyruğu, basit bir arabellekten biraz daha karmaşık bir bileşendir. Bayt akışı, başparmak modunda olduğu gibi çeşitli yanlış hizalanmış ARM talimatlarıyla uğraşmak da dahil olmak üzere, yaptığı ARM talimatlarına bölünür.

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.