Evolusi mikroarsitektur CPU Samsung Exynos

Posted on

[ad_1] Evolusi mikroarsitektur CPU Samsung Exynos

ISCA, Simposium Internasional tentang Arsitektur Komputer, adalah konferensi IEEE yang biasanya tidak ingin kita dengar di depan umum. Alasan utama untuk ini adalah bahwa sebagian besar sesi dan artikel lebih bersifat akademis dan oleh karena itu umumnya sedikit lebih jauh dari apa yang kita lihat dalam produk nyata. Tahun ini, konferensi telah mengubah formatnya dengan menambahkan jalur pertemuan industri, dengan presentasi dan artikel dari berbagai perusahaan di industri, yang mencakup produk komersial dunia nyata.

Selama pertemuan, Tim Pengembangan SARC CPU (Pusat Penelitian dan Pengembangan Samsung Austin) mempresentasikan artikel berjudul “Evolusi Arsitektur Prosesor Samsung Exynos” yang merinci upaya tim selama 8 tahun masa pakainya dan beberapa fitur utama. lengan kustom sendiri. Inti CPU dari Exynos M1 hingga CPU Exynos M5 terbaru serta desain M6 yang tidak dipublikasikan.

Sebagai latar belakang, tim CPU Samsung SARC didirikan pada tahun 2011 untuk mengembangkan core CPU kustom yang kemudian digunakan Samsung LSI dalam SoC Exynos-nya, dari Exynos 8890 generasi pertama yang dirilis pada tahun 2015 di Galaxy S7 secara maksimal. Exynos 990 baru-baru ini dengan inti M5-nya di Galaxy S20. SARC menyelesaikan mikroarsitektur M6 sebelum tim CPU menerima berita pembubarannya pada Oktober 2019, yang mulai berlaku Desember lalu.

Artikel ISCA adalah hasil dari keinginan Samsung untuk mempublikasikan beberapa ide tim pengembangan yang layak dipertahankan di domain publik, yang pada dasarnya mewakili 8 tahun pengembangan tingkat tinggi.

Dari M1 hingga M6: Microarch CPU yang terus berkembang

Artikel ini memberikan ikhtisar tentang perbedaan mikroarsitektur antara inti CPU kustom Samsung:

Pengungkapan ini mencakup beberapa fitur desain terkenal yang diluncurkan oleh Samsung dalam arsitektur mikro CPU M1 awal di Hot Chips 2016, hingga penyelaman M3 yang lebih dalam di HotChips 2018. Ini memberi kita wawasan tentang yang baru. Mikroarsitektur M4 dan M5 yang kami ukur dalam survei S10 dan S20 kami, serta sekilas tentang apa itu M6.

Salah satu fitur desain utama Samsung selama bertahun-tahun adalah bahwa hal itu didasarkan pada desain RTL asli yang sama yang dimulai dengan inti M1 pada tahun 2011, dengan peningkatan berkelanjutan dari blok kinerja inti selama bertahun-tahun. M3 adalah perubahan desain utama, memperluas inti secara signifikan dalam beberapa hal, seperti dari desain lebar 4 inci ke lebar tengah 6 inti.

Pengungkapan baru, yang sebelumnya tidak dipublikasikan, menyangkut inti M5 dan M6 baru. Untuk M5, Samsung membuat perubahan besar pada hierarki cache kernel, seperti mengganti cache L2 pribadi dengan cache bersama yang lebih besar, serta memperlihatkan perubahan pada struktur L3 dari desain 3-bank ke desain 2-bank. Desain bank dengan sedikit penundaan

Inti M6 yang tidak dipublikasikan yang sedang dikembangkan tampaknya merupakan lompatan yang lebih besar dalam hal mikroarsitektur. Tim SARC telah membuat peningkatan besar di sini, seperti menggandakan instruksi L1 dan cache data dari 64 KB menjadi 128 KB – pilihan desain yang saat ini hanya diterapkan oleh inti CPU Apple dengan A12.

L2 dikatakan telah menggandakan kemampuan bandwidthnya menjadi 64B/siklus, dan L3 juga diperkirakan akan meningkat dari 3 menjadi 4MB.

M6 harus menjadi kernel decoding 8-bit, yang sejauh yang kami tahu adalah mikroarsitektur komersial paling luas yang kami ketahui – setidaknya dalam hal decoding.

Menariknya, meskipun intinya jauh lebih lebar, unit eksekusi integer tidak akan banyak berubah, hanya dengan melihat pipa kompleks yang menambahkan kemampuan untuk membagi integer kedua, sementara pipa beban/penyimpanan tetap sama. M5 dengan 1 unit muat, 1 unit gudang, dan 1 unit muat/toko.

Dalam pipa floating point / SIMD, kami melihat unit keempat tambahan dengan kemampuan FMAC.

TLB melihat perubahan besar, seperti peningkatan L1 DTLB dari 48 halaman menjadi 128 halaman, dan TLB asli berlipat ganda dari 4K halaman menjadi 8K halaman (cakupan 32 MB).

M6 juga merupakan yang pertama setelah M3 yang memiliki jendela out-of-core dengan bilangan bulat floating point yang lebih besar dan ROB (buffer penataan ulang) dari 228 menjadi 256.

Salah satu kelemahan utama dari inti SARC tampaknya masih ada di inti M5 dan M6, dan tahap pipa yang lebih dalam itu menyebabkan denda penalti palsu 16 siklus yang relatif mahal, jauh lebih tinggi daripada desain Arm 11 baru-baru ini. siklus

Makalah ini menggali lebih dalam desain prediksi cabang dan menunjukkan desain peringatan perceptron berdasarkan nukleus. Desain terus ditingkatkan selama bertahun-tahun dan implementasi, meningkatkan akurasi cabang dan dengan demikian terus mengurangi MPKI (peramalan yang salah per kilo instruksi).

Tabel menarik yang ditampilkan adalah jumlah struktur penyimpanan yang diambil oleh prediktor direktori front-end di KBytes:

Kami tidak tahu bahwa vendor lain telah mengungkapkan angka seperti itu, jadi menarik untuk menempatkan hal-hal di dalam apa yang dimiliki front-end modern dalam hal penyimpanan (dan ini * hanya * perkiraan cabang).

Artikel ini membahas lebih detail tentang metode pra-pengambilan kernel, dan memperkenalkan cache generasi M5, serta upaya tim untuk membuat kernel lebih rentan terhadap kerentanan keamanan seperti Spectre.

Peningkatan IPC generasi – 20% per tahun – 2,71 kali dalam 6 tahun

Artikel ini menjelaskan sebagian besar upaya tim SARC untuk meningkatkan latensi memori dari generasi ke generasi. Di inti M4, tim menyertakan mekanisme kaskade beban-beban yang mengurangi penundaan efektif siklus L1 dari 4 siklus menjadi 3 pada beban berikutnya. M4 juga memperkenalkan jalur pintas dengan antarmuka baru dari inti CPU langsung ke pengontrol memori, yang mencegah lalu lintas melalui koneksi internal, yang menjelaskan beberapa peningkatan latensi yang lebih besar yang terlihat di Exynos 9820. M5 diperkenalkan. Spekulasi melewati pencarian cache, mengeluarkan permintaan untuk tag koneksi dan cache pada saat yang sama, mungkin menghemat waktu jika terjadi penundaan cache karena permintaan memori sudah berlangsung. Penundaan beban rata-rata terus ditingkatkan dari generasi ke generasi, dari 14,9 siklus di M1 menjadi 8,3 siklus di M6.

Dalam hal peningkatan IPC, tim SARC mampu mencapai rata-rata 20% kemajuan tahunan selama 8 tahun pengembangan. Seperti yang dapat dilihat pada diagram, M3 telah mengalami lompatan besar di IPC. M5 sekitar 15 hingga 17 persen lebih baik daripada yang kami lihat di benchmark kami. IPC rata-rata 2,71 untuk M6 versus 1,06 untuk M1, dan grafik di sini umumnya menunjukkan peningkatan 20% dari M5.

Selama sesi tanya jawab, pembawa acara surat kabar Brian Grayson menjawab pertanyaan tentang pembatalan tersebut. Dia mengungkapkan bahwa tim selalu terarah dan terencana dengan peningkatan kinerja dan efisiensi di setiap generasi. Dinyatakan bahwa masalah terbesar tim adalah akurasi ekstrim dari perubahan desain di masa depan, karena tim tidak pernah memiliki sumber daya untuk memulai sepenuhnya dari awal atau sepenuhnya menulis ulang sebuah blok. Dikatakan bahwa melihat ke belakang, tim membuat pilihan yang berbeda di masa lalu dengan beberapa orientasi desain. Metodologi desain serial ini kontras dengan posisi Arm, yang memiliki beberapa pusat desain lompatan dan tim CPU yang memungkinkan mereka melakukan tugas seperti desain ulang darat, seperti Cortex-A76.

Tim memiliki banyak ide untuk meningkatkan core masa depan seperti M7, tetapi dikatakan bahwa keputusan untuk membatalkan program dibuat di level tertinggi di Samsung. Inti CPU SARC tidak pernah sekompetitif ini, dan mengalami penurunan efisiensi daya, kinerja, dan pemanfaatan area dibandingkan dengan desain Arm. Mengingat bahwa Cortex-X1 Arm terbaru diluncurkan minggu lalu dan memiliki performa yang serba bisa, saya pikir desain SARC M6 memiliki masalah untuk bersaing dengannya.

Penulis sangat berterima kasih atas izin Samsung untuk menerbitkan artikel ini dan berterima kasih kepada pimpinan SARC yang telah mengelolanya selama bertahun-tahun pada proyek CPU “Moonshot” ini. SARC masih merancang konektor khusus, pengontrol memori, dan mengerjakan arsitektur GPU khusus.

Pos terkait:

[ad_2]

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *