Perkuliahan 4: ORKOM - Cara Kerja Memori Komputer
Meskipun memori secara teknis adalah segala bentuk penyimpanan elektronik, ia paling sering digunakan untuk mengidentifikasi bentuk penyimpanan sementara yang cepat. Jika CPU komputer Anda harus terus-menerus mengakses hard drive untuk mengambil setiap bagian data yang dibutuhkannya, itu akan beroperasi sangat lambat. Ketika informasi disimpan dalam memori, CPU dapat mengaksesnya dengan lebih cepat. Sebagian besar bentuk memori dimaksudkan untuk menyimpan data sementara.
Seperti yang Anda lihat pada diagram di atas, CPU mengakses memori menurut hierarki yang berbeda. Baik itu berasal dari penyimpanan permanen (hard drive) atau input (keyboard), sebagian besar data masuk ke memori akses acak (RAM) terlebih dahulu. CPU kemudian menyimpan potongan data yang perlu diaksesnya, seringkali dalam cache, dan memelihara instruksi khusus tertentu di register. Kita akan membahas cache dan register nanti.
Semua komponen di komputer Anda, seperti CPU, hard drive, dan sistem operasi, bekerja sama sebagai satu tim, dan memori adalah salah satu bagian terpenting dari tim ini. Dari saat Anda menyalakan komputer hingga saat Anda mematikannya, CPU Anda terus-menerus menggunakan memori. Mari kita lihat skenario tipikal:
Anda menyalakan komputer.
Komputer memuat data dari read-only memory (ROM) dan melakukan power-on self-test (POST) untuk memastikan semua komponen utama berfungsi dengan baik. Sebagai bagian dari pengujian ini, pengontrol memori memeriksa semua alamat memori dengan operasi baca / tulis cepat untuk memastikan bahwa tidak ada kesalahan dalam chip memori. Baca / tulis berarti data ditulis ke bit dan kemudian dibaca dari bit itu.
Komputer memuat sistem input / output dasar (BIOS) dari ROM. BIOS menyediakan informasi paling dasar tentang perangkat penyimpanan, urutan boot, keamanan, kemampuan Plug and Play (pengenalan perangkat otomatis) dan beberapa item lainnya.
Komputer memuat sistem operasi (OS) dari hard drive ke dalam RAM sistem. Umumnya, bagian penting dari sistem operasi dipertahankan dalam RAM selama komputer menyala. Hal ini memungkinkan CPU untuk memiliki akses langsung ke sistem operasi, yang meningkatkan kinerja dan fungsionalitas sistem secara keseluruhan.
Saat Anda membuka aplikasi, aplikasi tersebut dimuat ke dalam RAM. Untuk menghemat penggunaan RAM, banyak aplikasi yang memuat hanya bagian penting dari program pada awalnya dan kemudian memuat bagian lain sesuai kebutuhan.
Setelah aplikasi dimuat, semua file yang dibuka untuk digunakan dalam aplikasi itu dimuat ke dalam RAM.
Saat Anda menyimpan file dan menutup aplikasi, file tersebut ditulis ke perangkat penyimpanan yang ditentukan, lalu file tersebut dan aplikasi dihapus dari RAM.
Dalam daftar di atas, setiap kali sesuatu dimuat atau dibuka, itu ditempatkan ke dalam RAM. Ini
berarti bahwa itu telah ditempatkan di area penyimpanan sementara komputer sehingga CPU
dapat mengakses informasi itu dengan lebih mudah. CPU meminta data yang dibutuhkan dari RAM,
memprosesnya, dan menulis data baru kembali ke RAM dalam siklus berkelanjutan.
Di kebanyakan komputer, pengocokan data antara CPU dan RAM ini terjadi jutaan kali setiap detik.
Ketika sebuah aplikasi ditutup, itu dan file yang menyertainya biasanya dibersihkan (dihapus) dari RAM
untuk memberi ruang bagi data baru. Jika file yang diubah tidak disimpan ke perangkat penyimpanan
permanen sebelum dihapus, file tersebut akan hilang.
Satu pertanyaan umum tentang komputer desktop yang muncul setiap saat adalah, "Mengapa komputer
membutuhkan begitu banyak sistem memori?"
Mengapa banyak sekali? Jawaban atas pertanyaan ini dapat mengajari Anda banyak hal tentang ingatan!
CPU yang cepat dan bertenaga membutuhkan akses cepat dan mudah ke data dalam jumlah besar untuk
memaksimalkan kinerjanya. Jika CPU tidak bisa mendapatkan data yang dibutuhkannya, CPU akan
berhenti dan menunggu. CPU modern yang berjalan dengan kecepatan sekitar 1 gigahertz dapat
mengonsumsi data dalam jumlah besar - berpotensi miliaran byte per detik. Masalah yang dihadapi
para perancang komputer adalah bahwa memori yang dapat mengimbangi CPU 1-gigahertz sangatlah
mahal - jauh lebih mahal daripada yang mampu dibeli siapa pun dalam jumlah besar.
Perancang komputer telah memecahkan masalah biaya dengan "meningkatan" memori - menggunakan
memori mahal dalam jumlah kecil dan kemudian mencadangkannya dengan jumlah yang lebih besar
dari memori yang lebih murah.
Bentuk memori baca / tulis termurah yang digunakan secara luas saat ini adalah hard disk.
Hard disk menyediakan penyimpanan permanen dan murah dalam jumlah besar. Anda dapat membeli
ruang hard disk dengan harga sen per megabyte, tetapi perlu waktu yang cukup lama (mendekati satu detik)
untuk membaca satu megabyte dari hard disk. Karena ruang penyimpanan pada hard disk sangat murah
dan berlimpah, ini merupakan tahap akhir dari hierarki memori CPU, yang disebut memori virtual.
Tingkat hierarki berikutnya adalah RAM. Kami membahas RAM secara rinci di Cara Kerja RAM,
tetapi beberapa poin tentang RAM penting di sini.
Ukuran bit CPU memberi tahu Anda berapa banyak byte informasi yang dapat diaksesnya dari
RAM pada saat yang sama. Misalnya, CPU 16-bit dapat memproses 2 byte sekaligus
(1 byte = 8 bit, jadi 16 bit = 2 byte), dan CPU 64-bit dapat memproses 8 byte sekaligus.
Megahertz (MHz) adalah ukuran kecepatan pemrosesan CPU, atau siklus clock, dalam
jutaan per detik. Jadi, Pentium III 32-bit 800-MHz berpotensi dapat memproses 4 byte
secara bersamaan, 800 juta kali per detik (mungkin lebih berdasarkan pipelining)!
Tujuan dari sistem memori adalah untuk memenuhi persyaratan tersebut.
RAM sistem komputer saja tidak cukup cepat untuk menyamai kecepatan CPU.
Itulah mengapa Anda membutuhkan cache (dibahas nanti). Namun, semakin cepat RAM,
semakin baik. Kebanyakan chip saat ini beroperasi dengan kecepatan siklus 50 hingga
70 nanodetik. Kecepatan baca / tulis biasanya merupakan fungsi dari jenis RAM yang
digunakan, seperti DRAM, SDRAM, RAMBUS. Kita akan membicarakan berbagai
jenis memori ini nanti.
Sistem RAM Kecepatan RAM sistem dikendalikan oleh lebar bus dan kecepatan bus. Lebar bus mengacu
pada jumlah bit yang dapat dikirim ke CPU secara bersamaan, dan kecepatan bus mengacu
pada berapa kali sekelompok bit dapat dikirim setiap detik. Siklus bus terjadi setiap kali data
berjalan dari memori ke CPU. Misalnya, bus 32-bit 100 MHz secara teoritis mampu mengirim
4 byte (32 bit dibagi 8 = 4 byte) data ke CPU 100 juta kali per detik, sedangkan bus 66-MHz 16-bit
dapat mengirim 2 byte data 66 juta kali per detik. Jika Anda menghitungnya, Anda akan menemukan
bahwa hanya dengan mengubah lebar bus dari 16 bit menjadi 32 bit dan kecepatan dari 66 MHz
menjadi 100 MHz dalam contoh kami memungkinkan data tiga kali lebih banyak
(400 juta byte versus 132 juta byte) untuk melewati ke CPU setiap detik.
Pada kenyataannya, RAM biasanya tidak beroperasi pada kecepatan optimal. Latensi mengubah
persamaan secara radikal. Latensi mengacu pada jumlah siklus jam yang diperlukan untuk
membaca sedikit informasi. Misalnya, RAM dengan rating 100 MHz mampu mengirim
sedikit dalam 0,00000001 detik, tetapi mungkin memerlukan 0,00000005 detik untuk memulai
proses pembacaan untuk bit pertama. Untuk mengimbangi latensi, CPU menggunakan teknik
khusus yang disebut mode burst.
Mode burst bergantung pada harapan bahwa data yang diminta oleh CPU akan disimpan dalam
sel memori berurutan. Pengontrol memori mengantisipasi bahwa apa pun yang sedang dikerjakan
CPU akan terus berasal dari rangkaian alamat memori yang sama ini, sehingga ia membaca beberapa
bit data yang berurutan bersama-sama. Ini berarti bahwa hanya bit pertama yang terkena efek latensi
penuh; membaca bit berturut-turut membutuhkan lebih sedikit waktu. Mode memori burst terukur
biasanya dinyatakan sebagai empat angka yang dipisahkan oleh tanda hubung. Angka pertama
memberi tahu Anda jumlah siklus jam yang diperlukan untuk memulai operasi baca; angka kedua,
ketiga dan keempat memberi tahu Anda berapa banyak siklus yang diperlukan untuk membaca setiap
bit yang berurutan dalam baris, juga dikenal sebagai baris kata. Misalnya: 5-1-1-1 memberi tahu
Anda bahwa dibutuhkan lima siklus untuk membaca bit pertama dan satu siklus untuk setiap bit
setelah itu. Jelas, semakin rendah angka-angka ini, semakin baik kinerja memori.
Mode burst sering digunakan bersama dengan pipelining, cara lain untuk meminimalkan efek latensi.
Pipelining mengatur pengambilan data menjadi semacam proses jalur perakitan. Pengontrol memori
secara bersamaan membaca satu atau lebih kata dari memori, mengirimkan kata atau kata saat ini ke
CPU dan menulis satu atau lebih kata ke sel memori. Digunakan bersama, mode burst dan pipelining
dapat secara dramatis mengurangi jeda yang disebabkan oleh latensi.
Comments
Post a Comment