Ada dua aspek perkembangan yang sedang berlangsung dari CPU baru – frekuensi clock meningkat dan semakin banyaknya transistor yang digunakan. Sekarang saatnya untuk melihat teknologi yang sangat berbeda namun berkaitan – koneksi prosesor untuk RAM, dan penggunaan cache L1 dan L2.
Konflik Kecepatan
CPU internal bekerja pada frekuensi clock yang sangat tinggi (seperti 3200 MHz), dan RAM tidak dapat bersaing dengan ini.
Kecepatan RAM yang paling umum adalah antara 266 dan 533 MHz. Dan ini hanya sebagian kecil dari kecepatan CPU bekerja. Jadi ada jurang besar antara mesin (CPU) yang mungkin bekrja pada 3200 MHz, dan “terus beroperasi”, yang mungkin hanya bekerja pada 333 MHz, dan yang telah bekerja ke data ke dan dari RAM. Kedua subsistem kurang cocok satu sama lain.
Jika tidak dapat dilakukan dalam masalah ini, tidak akan ada alasan untuk mengembangkan CPU yang lebih cepat. Jika CPU harus menunggu bus, yang bekerja di salah satu dari keenam kecepatan, CPU akan terlambat 5/6 Hz. Dan itu akan menjadi limbah murni.
Solusinya adalah dengan memasukkan komponen kecil yang disebut Cache, penyimpanan menengah RAM berkecepatan tinggi. Buffer ini (RAM cache) menyediakan transisi yang lebih efisien antara CPU yang cepat dan RAM lambat. Cache RAM beroperasi pada frekuensi clock yang lebih tinggi dari RAM normal. Karena itu, data bisa dibaca lebih cepat melalui cache.
Data terus-menerus bergerak
Cache memberikan data register kepada CPU. Ini adalah unit penyimpan kecil yang ditempatkan tepat di dalam inti prosesor, dan mereka adalah RAM tercepat mutlak ada. Ukuran dan jumlah register ini dirancang sangat khusus untuk tiap jenis CPU
CPU dapat memindahkan data dalam paket ukuran berbeda, seperti byte (8 bit), kata (16 bit), dwords (32 bit) atau blok (kelompok yang lebih besar dari bit), dan ini sering melibatkan register. Paket data yang berbeda terus bergerak bolak-balik:
- Dari register CPU untuk cache 1 Tingkat.
- Dari cache L1 untuk register.
- Dari satu mendaftar ke yang lain
- Dari L1 cache ke cache L2, dan seterusnya …
Menyimpan cache adalah dari jembatan utama antara RAM dan register yang melakukan pertukaran data dengan unit eksekusi prosesor.
Situasi yang optimal adalah jika CPU mampu terus bekerja dan sepenuhnya memanfaatkan semua waktu. Ini akan berarti bahwa register harus selalu dapat mengambil data yang memerlukan unit eksekusi. Tapi ini bukan realitas, karena CPU biasanya hanya menggunakan 35% dari waktu clock. Namun, tanpa cache, pemanfaatan ini akan lebih rendah.
Bottlenecks
cache CPU adalah penyelesaian masalah suatu set yang sangat spesifik dari “bottleneck”. Ada banyak “hambatan” di PC – transisi antara sistem cepat dan lambat, di mana perangkat cepat harus menunggu sebelum dapat mengirimkan atau menerima data. Keterlambatan ini dapat memiliki efek yang sangat buruk kinerja total PC, sehingga mereka harus diminimalkan.
Hambatan terburuk absolut ada antara CPU dan RAM. Di sinilah kita memiliki lalu lintas data terberat, dan dalam daerah ini bahwa produsen PC pengeluaran banyak energi pada pembangunan baru. Setiap generasi baru dari CPU membawa perbaikan yang berkaitan dengan front side bus.
Cache CPU adalah “cerdas”, sehingga dapat mengurangi lalu lintas data di bus sisi depan. Pengendali cache selalu memantau pekerjaan CPU, dan selalu berusaha untuk membaca secara tepat kebutuhan data CPU. Ketika berhasil, ini disebut cache hit. Ketika cache tidak berisi data yang diinginkan, ini disebut cache miss.
Ada Dua Level dari Cache
Ide di balik cache adalah bahwa ia harus berfungsi sebagai “Penyimpanan yang dekat” RAM cepat. Sebuah penyimpanan yang selalu bisa dipasok dari CPU.
Dalam prakteknya selalu ada sedikitnya dua penyimpanan yang terdekat. Mereka disebut cache Level 1, Level 2, dan (jika ada) Level 3. Beberapa prosesor (seperti Intel Itanium) memiliki tiga tingkat cache, tetapi ini hanya digunakan untuk aplikasi server yang sangat khusus. Dalam PC standar kita menemukan prosesor dengan cache L1 dan L2.
Cache Level 1 dibangun di dalam inti prosesor yang sebenarnya. Ini adalah bagian dari RAM, biasanya 8, 16, 20, 32, 64 atau 128 Kbytes, yang beroperasi pada frekuensi clock yang sama dengan sisa CPU. Dengan demikian Anda bisa mengatakan cache L1 adalah bagian dari prosesor.
Cache L1 biasanya dibagi menjadi dua bagian, satu untuk data dan satu untuk instruksi. Sebagai contoh, sebuah prosesor Athlon mungkin memiliki 32 KB cache data dan 32 KB cache instruksi. Jika cache adalah umum untuk kedua data dan instruksi, hal itu disebut cache bersatu.
Cache L2
Cache L2 biasanya jauh lebih besar (dan bersatu), seperti 256, 512 atau 1024 KB. Tujuan dari Cache L2 adalah agar terus membaca dalam jumlah yang sedikit lebih besar data dari RAM, sehingga data tersedia untuk cache L1.
Pada prosesor generasi sebelumnya, cache L2 yang ditempatkan di luar chip: baik pada motherboard (seperti pada prosesor Pentium asli), atau pada modul khusus bersama dengan CPU (seperti pada Pentium II pertama).
Cache L2 memakan banyak chip yang tertanam, seperti jutaan transistor yang dibutuhkan untuk membuat cache besar. Cache terpadu ini dibuat dengan menggunakan SRAM (static RAM), sebagai lawan RAM normal yang dinamis (DRAM).
Sementara DRAM dapat dibuat dengan menggunakan satu transistor per bit (plus kapasitor), harganya 6 transistor (atau lebih) untuk membuat satu bit SRAM. Jadi 256 KB dari L2 cache akan membutuhkan lebih dari 12 juta transistor. Sehingga sejak teknologi proses halus (seperti mikron 0,13 dan 0,09) dikembangkan sehingga menjadi layak untuk mengintegrasikan cache L2 besar ke dalam CPU yang sebenarnya.
Cache L1 dan L2 merupakan komponen penting dalam desain prosesor modern. Cache sangat penting untuk pemanfaatan frekuensi clock tinggi untuk proses teknologi modern. cache L1 modern sangat efektif. Sekitar 96-98% kasus, prosesor dapat menemukan data dan instruksi yang dibutuhkan dalam cache. Di masa depan, kita dapat berharap untuk terus melihat CPU dengan cache L2 yang lebih besar dan manajemen memori lebih maju. Karena ini adalah jalan ke depan jika kita ingin mencapai pemanfaatan yang lebih efektif dari waktu jam CPU.
0 comments:
Post a Comment