Pertemuan ke – 5 1
BAB IV Sintesis Rangkaian Sekuensial (2) Deskripsi Pada bab ini akan dibahas tentang proses Rangkaian memori terbatas, dan penentuan kelas yang berbeda Manfaat Memberikan kompetensi untuk menjelaskan tentang rangkaian memori terbatas, dan penentuan kelas yang berbeda Relevansi Perkembangan teknologi dibidang elektronika yang demikian pesat menuntut teknologi dan model arsitektur yang kuat dan maju yang berfungsi untuk mensintesis suatu state diagram pada kasus-kasus tertentu menjadi rangkaian sekuensial Learning Outcome Mahasiswa mampu memahami konsep Rangkaian memori terbatas dan penentuan kelas yang berbeda Materi I. Rangkaian Memori Terbatas Menurut mekanisme yang digunakan untuk menyimpan dan memanggil data, memori utama dapat diklasifikasikan atas Random Access Memory dan Content Addressable Memory. 1.
RAM (Random Access Memori)
RAM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random) dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya didalam memori. Terdapat dua jenis RAM, statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. RAM statik menyimpan nilai-nilai biner dengan menggunaan konfigurasi gate logik flip-flop.
Pertemuan ke – 5 2
RAS
CAS
W
OE
Timing and Control
Refresh Counter
A0 A1
.. . A10
MUX
Row Address Buffer
Row Decoder
.. .
Memory Array (2086 x 2048 x 4)
....
Column Address Buffer
Data Input Buffer Data Output Buffer
Sense Amplifier and I/O gate Column Decoder
Organisasi DRAM 16 Mbyte
2.
CAM (Content Addressable Memory)
Pada CAM, memori diakses berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. CAM disebut juga sebagai memori Asosiatif.
n-1
0
A
Argumen Register (A)
0 Input (n) Read (n)
Associative memory
Write (n)
Match Register (M)
M m -1
(n) Output
Diagram awal memori Asosiatif
Implementasi Memori Utama
D1 D2 D3 D4
Pertemuan ke – 5 3
1.
Memori Stack
Memori Stack merupakan struktur data tidak tetap yang digunakan untuk menyimpan alamat kembali dan parameter yang dilalui dalam subroutine call dan return, memanipulasi alamat serta operasi aritmatika.
Data Out (n)
Data In (n)
Register 0 (n)
(n)
Data out of register i + 1 (n)
2 x 1 MUX
Register 1 (n)
Data out of register i - 1 (n)
(n) Register 2
(n) Register i
(n)
PUSH/POP
Load
ENABLE
(n) (n)
Register K - 1
Blok diagram
To 2 x 1 MUXs of registers i + 1 and i - 1
Register control logic
Pada gambar diatas, perintah PUSH dan POP berguna untuk memanipulasi data pada stack.
2.
Memori Modular
Dalam memori modular, RAM dipisah menjadi modul-modul yang berbeda, yaitu MAR dan MBR. Penggunaan memori modular biasanya pada sistem dengan prosesor pipeline dan prosesor array. (Lihat gambar ……..)
3.
Memori Virtual
Pertemuan ke – 5 4
Prinsip dasar memori virtual adalah kemampuan untuk mengalamati ruang penyimpanan logikal yang secara fisik lebih besar daripada ruang penyimpanan riil.
Program in a logical contiguous block
Virtual me mory
Addre ss translation
Re al M e mori
3. MEMORI CACHE Memori utama yang digunakan sistem komputer pada awalnya dirasakan masih lambat kerjanya dibandingkan dengan kerja CPU, sehingga perlu dibuat sebuah memori yang dapat membantu kerja memori utama tersebut. Sebagai
perbandingan waktu akses memori cache lebih cepat 5 sampai 10 kali dibandingkan memori utama. Memori cache dan memori utama
Pertemuan ke – 5 5
Prinsip kerja Cache berisi salinan sebagian isi memori utama. Pada saat CPU membaca sebuah word memory, maka dilakukan
pemeriksaan untuk mengetahui apakah word
tersebut berada di cache. Jika word memori terdapat di cache, maka akan dikirimkan ke CPU yang dikenal sebagai proses HIT. Sedangkan bila tidak ada, maka blok memori utama yang terdiri dari sejumlah word tetap akan diletakkan/dicopikan di cache yang dikenal sebagai proses MISS dan selanjutnya dikirimkan ke CPU.
Elemen-elemen rancangan cache
Ukuran cache Ukuran cache disesuaikan kebutuhannya dalam membantu kerja memori utama. Semakin besar ukuran cache, maka semakin besar jumlah gate yang terdapat pada pengalamatan cache, akibatnya adalah cache yang berukuran besar cenderung untuk lebih lambat dibanding dengan cache berukuran kecil. Berdasarkan penelitian ukuran cache antara 1K sampai 512K word akan lebih optimum dalam membantu kerja memori utama.
Fungsi pemetaan (mapping) Saluran cache lebih sedikit jumlahnya dibandingkan saluran blok memori utama sehingga perlu algoritma untuk pemetaan blok-blok memori ke dalam saluran cache dan perlu juga alat untuk menentukan blok memori utama yang sedang memakai saluran cache. Pemilihan fungsi pemetaan seperti langsung, asosiatif dan asosiatif set akan menentukan bentuk organisasi cache. ^ Pemetaan langsung. Teknik yang paling sederhana, yaitu memetakkan masing-masing blok memori utama hanya ke sebuah saluran cache saja. Fungsi pemetaan mudah diimplementasikan dengan menggunakan alamat. Cache diakses dengan menggunakan alamat memori utama dianggap terdiri tiga field yaitu tag, line, dan word. Kekurangannya yang utama adalah terdapat lokasi cache yang tetap bagi sembarang blok-blok yang diketahui. Dengan demikian, apabila suatu
Pertemuan ke – 5 6
program berulang-ulang melakukan word referensi dari dua blok yang berbeda memetakan ke saluran yang sama, maka blok-blok itu secara terus menerus akan di-swap ke dalam cache, akibatnya hit ratio-nya akan rendah. ^ Pemetaan asosiatif Mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dalam hal ini, cache control logic menginterpretasikan alamat memori hanya sebagai sebuah field tag dan field word Filed tag secara unik mengidentifikasi suatu blok memori utama. Untuk menentukan apakah suatu blok berada di dalam cache, maka cache control logic harus secara simultan memeriksa setiap tag saluran yang sesuai. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika sebuah blok di baca ke dalam cache. Kekurangan pemetaan ini adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel.
Algoritma penggantian Digunakan untuk menentukan blok mana yang harus dikeluarkan dari cache untuk menyiapkan tempat bagi blok baru. Ada 2 metode yaitu :
Write-through : Cache dan memori utama diupdate secara bersamaan waktunya. Keunggulannya salinan data di memori utama dan cache tetap, sedangkan kelemahannya pada proses “write” memerlukan jumlah waktu yang sama dengan proses MISS.
Write-back : Melakukan update data di memori utama hanya pada saat word memori telah dimodifikasi dari cache. Keunggulannya proses update word cache tidak terbatas , sedangkan kelemahannya salinan data di memori utama tidak tetap /konsisten selama data termodifikasi benar-benar ada di memori utama.
Ukuran blok
Pertemuan ke – 5 7
Blok-blok yang berukuran lebih besar mengurangi jumlah blok yang menempati cache. Setiap pengambilan blok menindih isi cache yang lama, maka sejumlah kecil blok akan menyebabkan data menjadi tertindih setelah blok itu diambil. Dengan meningkatnya ukuran blok, maka jarak setiap word tambahan menjadi lebih jauh dari word yang diminta, sehingga menjadi lebih kecil kemungkinannya untuk diperlukan dalam waktu dekat.
Jumlah Cache
II. Penentuan Kelas State yang berbeda Konversi Data VHDL tidak mengijinkan operasi langsung (aritmatika, logis, dll) antara data dari tipe yang berbeda. Oleh karena itu, itu sering perlu untuk mengkonversi data dari satu jenis ke jenis yang lain. Ini dapat dilakukan pada dasarnya dengan dua cara: atau kita menulis sepotong kode VHDL untuk itu, atau kita memanggil FUNGSI dari PAKET yang telah ditetapkan yang mampu melakukannya untuk kita konversi. Jika data yang terkait erat (yaitu, baik operan yang memiliki tipe dasar yang sama, meskipun dinyatakan sebagai milik dua jenis kelas yang berbeda), maka std_logic_1164 dari library ieee menyediakan fungsi konversi langsung. Contoh ditunjukkan di bawah ini. Contoh: Operasi legal dan illegal dengan subset. TYPE long IS INTEGER RANGE -100 TO 100; TYPE short IS INTEGER RANGE -10 TO 10; SIGNAL x : short; SIGNAL y : long; . . . y <= 2*x + 5; y <= long (2*x + 5);
Beberapa fungsi data konversi dapat ditemukan dalam paket std_logic_arith dari library ieee. Mereka adalah: -
-
conv_integer(p): mengkonversi parameter p dari tipe INTEGER, UNSIGNED, SIGNED, atau STD_ULOGIC ke nilai INTEGER. Perhatikan bahwa STD_LOGIC_VECTOR tidak termasuk. conv_unsigned(p, b): mengkonversi parameter p dari tipe INTEGER, UNSIGNED, SIGNED, atau STD_ULOGIC ke nilai UNSIGNED dengan ukuran bit b.
Pertemuan ke – 5 8
-
-
conv_signed(p, b): mengkonversi parameter p dari type INTEGER, UNSIGNED, SIGNED, atau STD_ULOGIC ke nilai SIGNED dengan ukuran bit b. conv_std_logic_vector(p, b): mengkonversi parameter p dari tipe INTEGER, UNSIGNED, SIGNED, atau STD_LOGIC ke nilai STD_LOGIC_VECTOR dengan ukuran bit b.
Alternatif lain sudah disebutkan dalam bagian sebelumnya. Terdiri dari menggunakan paket std_logic_signed atau std_logic_unsigned dari library ieee. Paket tersebut memungkinkan operasi dengan data STD_LOGIC_VECTOR harus dilakukan seolah-olah data bertipe SIGNED atau UNSIGNED, masing-masing. Selain fungsi konversi data yang dijelaskan di atas, beberapa lainnya sering ditawarkan oleh vendor alat sintesis. Latihan dan penyelesaiannya 1. Sebutkan dan jelaskan 2 metode penggantian jawaban Ada 2 metode yaitu :
Write-through : Cache dan memori utama diupdate secara bersamaan waktunya. Keunggulannya salinan data di memori utama dan cache tetap, sedangkan kelemahannya pada proses “write” memerlukan jumlah waktu yang sama dengan proses MISS.
Write-back : Melakukan update data di memori utama hanya pada saat word memori telah dimodifikasi dari cache. Keunggulannya proses update word cache tidak terbatas , sedangkan kelemahannya salinan data di memori utama tidak tetap /konsisten selama data termodifikasi benar-benar ada di memori utama.
Petunjuk Penilaian dan Umpan Balik Penilaian dilaksanakan dari keaktifan mahasiswa dikelas untuk berdiskusi dan bertanya. Tes formatif dilaksanakan pada akhir sesi, penilaian diberikan
Pertemuan ke – 5 9
dengan rentang nilai 0 – 100. Bobot keaktifan dan tes formatif adalah 10 % dari nilai akhir keseluruhan. Umpan balik diberikan oleh dosen sebagai fasilitator, dan sebagai mahasiswa umpan balik dilakukan dengan memberikan pertanyaan atau tanggapan terhadap pertanyaan dari dosen.
Tindak Lanjut Stuli lanjut tentang verilog akan disampaikan pada pertemuan selanjutnya tentang perancangan rangkaian sekuensial menggunakan verilog. Tindak lanjut dari hasil test Formatif adalah meningkatkan pemahaman mahasiswa melalui latihan dan pengaplikasian ilmu pada hardware sesungguhnya pada mata kuliah penunjang praktikum.