Memori akses acak internal (RAM) adalah memori komputer yang dibangun langsung ke dalam chip mikrokontroler, seperti unit pemrosesan pusat (CPU) komputer. Ini dapat digunakan oleh pemrogram untuk meningkatkan kecepatan fungsi program dengan secara langsung menangani RAM internal, memastikan bahwa proses kritis diantrekan dan diproses lebih cepat dan pada prioritas yang lebih tinggi oleh CPU. Ini dapat sangat mempercepat aplikasi intensif prosesor karena instruksi yang sering digunakan dapat diteruskan ke CPU jauh lebih cepat daripada mengambilnya dari ram eksternal.
CPU memiliki tiga tingkat cache, atau RAM internal. Cache prosesor terdiri dari RAM statis (SRAM), yang tidak sama dengan memori biasa yang terpasang pada motherboard, yang disebut RAM dinamis (DRAM). Saat CPU mencari data, CPU akan memeriksa cache Level 1 (L1) terlebih dahulu, lalu Level 2 (L2), lalu Level 3 (L3). Hanya setelah itu akan menarik data dari DRAM.
Di dalam prosesor, cache L1 ditetapkan ke setiap inti pada prosesor itu sendiri. Ini adalah RAM internal tercepat, karena bertindak sebagai buffer untuk instruksi yang diserahkan ke setiap inti prosesor seperti yang ditentukan oleh program yang meminta pemrosesan. Dalam prosesor multi-core, ini secara substansial dapat mempercepat pemrosesan jika beberapa core ditangani secara individual melalui permintaan cache L1.
Cache L2 ada dalam paket CPU dan dengan demikian masih dianggap sebagai RAM internal. Itu tidak dibangun langsung ke chip CPU yang sebenarnya seperti cache L1. Setiap inti masih memiliki cache L2 sendiri yang didedikasikan untuknya dan dengan demikian dapat beroperasi secara paralel, memanfaatkan kecepatan L2. L2 cache lebih lambat dari L1 cache, namun.
Cache L3 tidak ada dalam paket CPU, sehingga tidak dianggap sebagai RAM internal tetapi berfungsi di sampingnya. Ini adalah RAM eksternal tercepat yang tersedia di dalam komputer. Semua inti CPU berbagi cache L3.
Seluruh proses dapat dilihat sebagai antrian dan pemecahan data dari DRAM eksternal, ke RAM internal dan akhirnya ke instruksi pemrosesan yang sebenarnya. Fungsi-fungsi tertentu dalam program apa pun ditetapkan pada prioritas yang lebih tinggi daripada yang lain, dan itu dipindahkan ke depan antrian sebagai bagian dari pengoptimalan program individu. Data prioritas tertinggi ditujukan langsung ke cache L1 untuk pemrosesan tercepat, dan antrian prioritas terendah melalui seluruh proses. Perbedaan utama adalah di mana cache diproses dalam metode “tarik dari antrian menunggu”, RAM internal dapat dialamatkan oleh perangkat lunak, sehingga data dapat secara khusus ditetapkan ke tingkat RAM internal individu.