Sabtu, 28 Mei 2011

Prosesor DLX

A. Pengertian Prosesor

Processor sering disebut sebagai otak dan pusat pengendali komputer yang didukung oleh komponen lainnya. Processor adalah sebuah IC yang mengontrol keseluruhan jalannya sebuah sistem komputer dan digunakan sebagai pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan menjalankan tugas. Processor terletak pada socket yang telah disediakan oleh motherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor. Processor adalah chip yang sering disebut “Microprosessor” yang sekarang ukurannya sudah mencapai Gigahertz (GHz). Ukuran tersebut adalah hitungan kecepatan processor dalam mengolah data atau informasi. Merk processor yang banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel. Bagian terpenting dari processor terbagi 3 yaitu :
1. Aritcmatics Logical Unit (ALU)
2. Control Unit (CU)
3. Memory Unit (MU)

B. Pengertian Processor DLX

Prosesor DLX adalah prosesor dengan tujuan umum (general purpose prosessor) yang dirancang oleh John Hennssy dan David Peterson (desainer utama dari MIPS dan RISC Berkeley, dua contoh Benchmark desain RISC) dalam bukunya “Computer Architecture A Quantitative Approach” pada tahun 1996. Prosesor DLX pada dasarnya adalah versi sederhana dari arsitektur MIPS dan sangat mirip dengan itu, dengan 32-bit sederhana load arsitektur. Arsitektur dan instruksinya tidak terlalu rumit tapi sudah mewakili komputer modern yang lengkap. Prosesor DLX adalah prosesor yang bertipe-RISC (Reduce Instruction Set Computer) yang memiliki 32 buah register dengan masing-masing panjangnya 32 bit. Dua buah register mempunyai fungsi khusus, yaitu register 0 selalu bernilai nol. Register ini digunakan sebagai operand sumber jika memerlukan nilai nol. DLX juga memiliki program counter dengan panjang 32 bit.

C. Kegunaan Prosesor DLX

Prosesor DLX merupakan salah satu prosesor modern yang digunakan untuk pembelajaran di perguruan tinggi. Prosesor ini juga disebut prosesor Delux dan memberikan gambaran yang lebih menyeluruh tentang suatu prosesor modern. Bagian penting yang dipelajari prosesor ini adalah jalur data, instruksi, dan bagian kendali.


D. Arsitektur Prosesor DLX

Prosesor DLX menggunakan arsitektur ambil-simapan (load-store) dengan lima tahap pipeline (seperti desain MIPS ) untuk meneyelesaikan suatu instruksi. Kelima tahap tersebut adalah: Instruction Fetch (IF), Instruction Decode (ID), Execute (EX), Memory Access (MEM), dan Write Back (WB). Manfaat dari rancangan ini adalah ketika proses fetch instruksi dari memori akan lebih mudah. Pengambilannya pun dilakukan dengan membaca 4-byte data dalam memory.

Tahapan pipeline

1. IF - Instruksi Fetch unit
Biasanya disebut sebagai "unit beban" dalam terminologi modern. Instruksi yang ditunjuk oleh PC diambil dari memori ke register instruksi CPU, dan PC bertambah untuk menunjuk ke instruksi berikutnya dalam memori.

2. ID - Instruksi Decode unit
Unit ini mendapat instruksi dari IF, dan ekstrak opcode dan operand dari instruksi. Instruksi yang diterjemahkan, dan pada paruh kedua dari tahap Operand ditransfer dari register file ke input ALU register. Ini juga mengambil nilai-nilai mendaftar jika diminta oleh operasi

3. EXE – Excute (Pelaksanaan) unit
Menjalankan instruksi, biasanya disebut sebagai ALU dalam terminologi modern.
Logika dan operasi aritmatika yang dijalankan pada operand yang berasal dari ID stage. Hasil dari operasi dapat menjadi nilai yang akan ditulis kembali dalam register file atau alamat dari data memori untuk diakses pada tahap berikutnya.

4. MEM - Memory unit akses
Unit yang MEM menjemput data dari memori utama, di bawah kontrol instruksi dari ID dan EX.
Data memori diakses (baik membaca atau menulis).

5. WB – Write Back unit
Biasanya disebut sebagai “load-store” dalam terminologi modern. Pada tahapan ini, disediakan saluran bagi DLX sehingga dapat menyimpan kembali register untuk tahap eksekusi (EX). Hal ini dapat mempercepat pelaksanaan operasi register ke register oleh ALU yang berada dalam tahap eksekusi.


Lima komponen utama prosesor DLX masing-masing memiliki fungsi yang berbeda yaitu :

1. PC (Program Counter) : register yang berfungsi menampung nilai yang digunakan untuk meniunjuk alamat instruksi yang akan dieksekusi. Register ini merupakan offset dari alamat dasar instruksi sekaligus data.

2. Memori : terdiri dari dua bagian yaitu memori untuk instruksi yang berisi kumpulan seluruh instruksi dan memori untuk data yang berfungsi untuk menyimpan data.

3. Register : kumpulan register 32 bit tempat menyimpan nilai semsntara.

4. ALU (Arithmatic and Logical Unit) : tempat dilakukannya operasi aritmatika dan logic.

5. Unit Kendali (Control Unit) : unit kendali terdiri dari dua bagian yaitu register instruksi (instruction register): register tempat menyimpan sementara instruksi, dan pengendali (controller): bagian yang menerjemahkan instruksi dan mengeluarkan set kendali pada seluruh register untuk menjalankan suatu instruksi.

Prosesor ini merupakan prosesor dengan sistem yang berorientasi pada 32-bit word. Maksudnya adalah CPU mengandung ALU 32-bit, 32 buah Register dengan panjang 32 bit dalam register file, tiga buah bus 32-bit, register khusus masing-masing 32-bit (PC, IR, MAR, MDR, IAR, TEMP) dan tiga buah register (A,B dan C).

E. Karakteristik Prosesor DLX

Secara umum prosesor DLX memiliki karakteristik yang dapat dibedakan dari prosesor lain :
1.Perangkat instruksi ambil/simpan (Load/Store) sederhana.
2.Memiliki teknik pipeline untuk meningkatkan kinerjanya.
3.Memiliki register file yang dapat digunakan untuk tujuan umum.
4.Skema penerjemahan instruksi yang sederhana.
5.Teknik kompilasi yang efisien.

Kelas instruksi dalam prosesor DLX antara lain :

1.Instruksi yang mengacu memori (Load/Store)
Setiap dari GPRS atau FPRs dapat dimuat dan disimpan kecuali bahwa pemuatan R0 tidak memiliki pengaruh.

2.Instruksi aritmatik dan logika (ALU )
Operasi adalah : Menambahkan, Mengurangkan, AND, OR, XOR, dan Shift. Bandingkan instruksi dua register (=,!=,<,>,=<,=>). Jika kondisi benar, menempatkan petunjuk ini 1 dalam register tujuan, kalau tidak, mereka menempatkan sebuah 0.

3.Instruksi lompat dan pencabangan (Jump dan Branch) 
Kondisi cabang ditetapkan oleh instruksi, yang dapat menguji sumber mendaftar nol atau nol. Operasi Floating-Point : Menambahkan, Mengurangkan, Multiply dan Membagi.
Salah satu ciri arsitektur RISC adalah memiliki panjang instruksi yang sama. DLX memiliki panjang instruksi 32 bit dengan 5 tahapan pipeline yaitu : IF, ID, EX, MEM dan WB.

F. Format Instruksi 

Ada tiga format instruksi di DLX : Tipe-R, Tipe-I, dan Tipe-J. Semua format instruksi dibedakan oleh kode operasi (operation code-opcode), namun informasi lain dalam instruksi bervariasi menurut format.

1.Tipe-R (register)
Instruksi menetapkan tiga register pada instruksi, dua register sumber dan satu register tujuan terdapat dalam 32-bit word.
Bagian-bagian instruksi tipe-R :
•Kode opersai : 6 bit dari bit 0 – 5
•Register sumber 1 (rs1) : 5 bit dari bit 6 – 10
•Register sumber 2 (rs 2) : 5 bit dari bit 11 – 15
•Fungsi : 11 bit dari 21 - 31

2.Tipe-I (Immediate)
Instruksi membutuhkan dua register dalam sebuah intruksi yaitu satu register sumber, satu register tujuan, dan 16-bit.
Bagian-bagian instruksi tipe-I :
•Kode operasi : 6 bit dari 0 – 5
•Register sumber (rs) : 5 bit dari bit 6 – 10
•Register tujuan (rd) : 5 bit dari bit 11 - 15
•Nilai : 16 bit dari bit 16 - 31

3.Tipe-J (jump)
Instruksi hanya terdiri dari :
Kode operasi (opcode) : 6 bit dari 0 – 5
Alamat (operand) : 26 bit dari 6 – 31, yang digunakan untuk menghitung alamat tujuan.

Selasa, 24 Mei 2011

MEMORI DAN CACHE

Sistem Memori ( Memori ) adalah komponen-komponen elektronik yang menyimpan perintah- perintah yang menunggu untuk di eksekusi oleh prosesor,data yang diperlukan oleh insruksi (perintah) tersebut dan hasil-hasil dari data yang diproses ( informasi ). Memori biasanya terdiri atas satu chip atau beberapa papan sirkuit lainnya dalam prosesor. Memori komputer bisa diibaratkan sebagai papan tulis, dimana setiap orang yang masuk kedalam ruangan bisa membaca dan memanfaatkan data yang ada dengan tanpa merubah susunan yang tersaji. Data yang diproses oleh komputer, sebenarnya masih tersimpan didalam memori, dan dalam hal ini komputer hanya membaca data dan kemudian memprosesnya. Satu kali data tersimpan didalam memori komputer, maka data tersebut akan tetap tinggal disitu selamanya. Setiap kali memori penuh, maka data yang ada bisa dihapus sebagian ataupun seluruhnya untuk diganti dengan data yang baru.
1. Karakteristik sistem-sistem memori secara umum:
a. Lokasi
• CPU
Memori ini built-in berada dalam CPU (mikroprosesor) dan diperlukan untuk semua kegiatan CPU. Memori ini disebut register.
• Internal (main)
Memori ini berada di luar chip processor tetapi bersifat internal terhadap sistem komputer dan diperlukan oleh CPU untuk proses eksekusi (operasi) program, hingga dapat diakses secara langsung oleh prosesor (CPU) tanpa modul perantara. Memori internal sering juga disebut sebagai memori primer atau memori utama. Memori internal biasanya menggunakan media RAM
• External (secondary)
Memori ini bersifat eksternal terhadap sistem komputer dan tentu saja berada di luar CPU dan diperlukan untuk menyimpan data atau instruksi secara permanen. Memori ini, tidak diperlukan di dalam proses eksekusi sehingga tidak dapat diakses secara langsung oleh prosesor (CPU). Untuk akses memori eksternal ini oleh CPU harus melalui pengontrol/modul I/O. Memori eksternal sering juga disebut sebagai memori sekunder. Memori ini terdiri atas perangkat storage peripheral seperti : disk, pita magnetik,dll.
a. Kapasitas
• Ukuran word
Kapasitas memori internal maupun eksternal biasanya dinyatakan dalam bentuk byte (1 byte = 8 bit) atau word.
• Banyaknya word
Panjang word umumnya 8, 16, 32 bit.

b. Satuan Transfer
Satuan transfer sama dengan jumlah saluran data yang masuk ke dan keluar dari modul memori. Konsep satuan transfer adalah :
• Word, merupakan satuan “alami” organisasi memori. Ukuran word biasanya sama dengan jumlah bit yang digunakan untuk representasi bilangan dan panjang instruksi.
• Addressable units, pada sejumlah sistem, adressable units adalah word. Namun terdapat sistem dengan pengalamatan pada tingkatan byte. Pada semua kasus hubungan antara panjang A suatu alamat dan jumlah N adressable unit adalah 2A =N.
• Unit of tranfer, adalah jumlah bit yang dibaca atau dituliskan ke dalam memori pada suatu saat. Pada memori eksternal, tranfer data biasanya lebih besar dari suatu word, yang disebut dengan block.

c. Metode Akses
Terdapat empat jenis pengaksesan satuan data, yaitu sebagai berikut.:
• Sequential access
Memori diorganisasikan menjadi unit-unit data, yang disebut record. Aksesnya dibuat dalam bentuk urutan linier yang spesifik. Informasi pengalamatan dipakai untuk memisahkan record-record dan untuk membantu proses pencarian. Mekanisme baca/tulis digunakan secara bersama (shared read/write mechanism), dengan cara berjalan menuju lokasi yang diinginkan untuk mengeluarkan record. Waktu access record sangat bervariasi. Contoh sequential access adalah akses pada pita magnetik.
• Direct access
Seperti sequential access, direct access juga menggunaka shared read/write mechanism, tetapi setiap blok dan record memiliki alamat yang unik berdasarkan lokasi fisik. Aksesnya dilakukan secara langsung terhadap kisaran umum (general vicinity) untuk mencapai lokasi akhir. Waktu aksesnya pun bervariasi. Contoh direct access adalah akses pada disk.
• Random access
Setiap lokasi dapat dipilih secara random dan diakses serta dialamati secara langsung. Waktu untuk mengakses lokasi tertentu tidak tergantung pada urutan akses sebelumnya dan bersifat konstan. Contoh random access adalah sistem memori utama.
• Associative access
Setiap word dapat dicari berdasarkan pada isinya dan bukan berdasarkan alamatnya. Seperti pada RAM, setiap lokasi memiliki mekanisme pengalamatannya sendiri. Waktu pencariannya pun tidak bergantung secara konstan terhadap lokasi atau pola access sebelumnya. Contoh associative access adalah memori cache.
a. Kinerja
Ada tiga buah parameter untuk kinerja sistem memori, yaitu :
• Access time (Waktu Akses)
Bagi RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan operasi baca atau tulis. Sedangkan bagi non RAM, waktu akses adalah waktu yang dibutuhkan untuk melakukan mekanisme baca tulis pada lokasi tertentu
• Cycle time (Waktu Siklus)
Waktu siklus adalah waktu akses ditambah dengan waktu transien hingga sinyal hilang dari saluran sinyal atau untuk menghasilkan kembali data bila data ini dibaca secara destruktif.
• Transfer rate (Laju Pemindahan)
Transfer rate adalah kecepatan pemindahan data ke unit memori atau ditransfer dari unit memori. Bagi RAM, transfer rate sama dengan 1/(waktu siklus). Sedangkan, bagi non-RAM, berlaku persamaan sbb.:

TN = Waktu rata-rata untuk membaca / menulis sejumlah N bit.
TA = Waktu akses rata-rata
N = Jumlah bit
R = Kecepatan transfer, dalam bit per detik (bps)
a. Tipe Fisik
Ada dua tipe fisik memori, yaitu :
• Memori semikonduktor
Memori ini memakai teknologi LSI atau VLSI (very large scale integration). Memori ini banyak digunakan untuk memori internal misalnya RAM.
• Memori permukaan magnetik
Memori ini banyak digunakan untuk memori eksternal yaitu untuk disk atau pita magnetik.
b. Karakteristik Fisik
Ada dua kriteria yang mencerminkan karakteristik fisik memori, yaitu:
• Volatile dan Non-volatile
Pada memori volatile, informasi akan rusak secara alami atau hilang bila daya listriknya dimatikan. Selain itu, pada memori non-volatile, sekali informasi direkam akan tetap berada di sana tanpa mengalami kerusakan sebelum dilakukan perubahan. Pada memori ini daya listrik tidak diperlukan untuk mempertahankan informasi tersebut. Memori permukaan magnetik adalah non volatile. Memori semikonduktor dapat berupa volatile atau non volatile.
• Erasable dan Non-erasable
Erasable artinya isi memori dapat dihapus dan diganti dengan informasi lain. Memori semikonduktor yang tidak terhapuskan dan non volatile adalah ROM.
1. Hirarki Memori
Tiga pertanyaan dalam rancangan memori, yaitu : Berapa banyak? Hal ini menyangkut kaspasitas. Berapa cepat? Hal ini menyangkut waktu akses, dan berapa mahal yang menyangkut harga? Setiap spektrum teknologi mempunyai hubungan sbb:
• Semakin kecil waktu access, semakin besar harga per bit.
• Semakin besar kapasitas, semakin kecil harga per bit.
• Semakin besar kapasitas, semakin besar waktu access.
Untuk mendapatkan kinerja terbaik, memori harus mampu mengikuti CPU. Artinya apabila CPU sedang mengeksekusi instruksi, kita tidak perlu menghentikan CPU untuk menunggu datangnya instruksi atau operand. Sedangkan untuk mendapatkan kinerja terbaik, memori menjadi mahal, berkasitas relatif rendah, dan waktu access yang cepat. Untuk memperoleh kinerja yang optimal, perlu kombinasi teknologi komponen memori. Dari kombinasi ini dapat disusun hirarki memori sebagai berikut:
Semakin menurun hirarki, maka hal-hal di bawah ini akan terjadi:
a) Penurunan harga per bit
b) Peningkatan kapasitas
c) Peningkatan waktu akses
d) Penurunan frekuensi akses memori oleh CPU.
Kunci keberhasilan hirarki ini pada penurunan frekuensi aksesnya. Semakin lambat memori maka keperluan CPU untuk mengaksesnya semakin sedikit. Secara keseluruhan sistem komputer akan tetap cepat namun kebutuhan kapasitas memori besar terpenuhi.


1.2 TEKNOLOGI DAN BIAYA SISTEM MEMORI
Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu :
a. Memori Magnetic Core (tahun 1960)
Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja.
Para pembuat(pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori)
b. Memori Solid State
Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana :
• CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal.
• Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit)
2. ORGANISASI MEMORI
Yang dimaksud dengan organisasi adalah pengaturan bit dalam menyusun word secara fisik.
• Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar.
• Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori
Contoh : Cross bar switch
Sistem penyimpanan menggunakan Interleave High Order
• Setiap bank (penyimpanan) berisi blok alamat yang berurutan.
• Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak.
Sistem penyimpanan menggunakan Interleave Low Order
• Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data.
Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU.
• Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi.
• Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order
3. SISTEM MEMORI UTAMA
• Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar.
• Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu)
• Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat)
• Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memori dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memori memori sekunder.
4. RELOKASI PROGRAM DAN PROTEKSI MEMORI
Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan.
Berhasilnya multiprogramming ditentukan antara lain oleh :
o Relokasi Program
Dengan cara menmpatkan program dimana saja dalam memori
Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program
tempat system pengoperasian pertama kali.
Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan.
o Proteksi Program
Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain.
Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600
IBM System/360
Menggunakan Register Base untuk merelokasi program
Menggunakan relokasi program awal
Menggunakan key-controlled memori protection untuk proteksi memori.
CDC 6600
Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program.
Menggunakan relokasi program awal
5. JENIS MEMORI
A. Memori Internal
1. Random Accses Memory (RAM)


RAM dibungkus dalam paket berbentuk chip. Satuan penyimpanan dasar adalah sel (1 bit per sel). Pada RAM proses baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan cepat. RAM bersifat volatile dan perlu catu daya listrik. Kecepatan RAM diukur dalam ns (nano seconds). Makin kecil ns semakin cepat RAM . Dulu kecepatan RAM sekitar 120, 100 dan 80 ns. Sekarang sekitar 15, 10, sampai 8 ns. Kecepatan RAM sangat berkaitan erat dengan system bus, apakah system bus kita efektif untuk menggunakan RAM yang cepat. Struktur RAM dapat dibagi menjadi 4 bagian, yaitu:
• Input Area, digunakan untuk menampung input yang dimasukkan lewat alat input
• Program Area, digunakan untuk menyimpan semua instruksi-instruksi program yang akan diproses.
• Working Area, digunakan untuk menyimpan data yang akan diolah dan hasil dari pengolahan
• Output Area, digunakan untuk menampung hasil akhir dari pengolahan data yang akan ditampilkan ke alat output
Berdasarkan bahan dasar pembuatan, RAM dikelompokkan dalam dua bagian utama, yaitu (a) Dynamic RAM (DRAM), dan (b) Static RAM (SRAM).
a. RAM dinamik (DRAM)
Disusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. Ada dan tidak ada muatan listrik pada kapasitor dinyatakan sebagai bilangan biner 1 dan 0. Disebut dynamic, karena hanya menampung data dalam periode waktu yang singkat dan harus di-refresh secara periodik. Sedangkan jenis dan bentuk dari DRAM atau memori chip ini sendiri cukup beragam. Secara internal, setiap sel yang menyimpan 1 bit data memiliki 1 buah transistor dan 1 buah kondensator. Kondensator ini yang menjaga tegangan agar tetap mengaliri transistor sehingga tetap dapat menyimpan data. Oleh karena penjagaan arus itu harus dilakukan setiap beberapa saat (yang disebut refreshing) maka proses ini memakan waktu yang lebih banyak daripada kinerja Static RAM.
b. RAM Static (SRAM)
Secara internal, setiap sel yang menyimpan n bit data memiliki 4n buah transistor yang menyusun beberapa buah rangkaian Flip-Flop. Dengan karakteristik rangkaian Flip-Flop ini, data yang disimpan hanyalah berupa Hidup (High state) atau Mati (Low state) yang ditentukan oleh keadaan suatu transistor. Kecepatannya dibandingkan dengan Dynamic RAM tentu saja lebih tinggi karena tidak diperlukan sinyal refresh untuk mempertahankan isi memori.
Baik SRAM maupun DRAM adalah volatile. Sel memori DRAM lebih sederhana dibanding SRAM, karena itu lebih kecil. DRAM lebih rapat (sel lebih kecil = lebih banyak sel per satuan luas) dan lebih murah. DRAM memerlukan rangkaian pengosong muatan. DRAM cenderung lebih baik bila digunakan untuk kebutuhan memori yang lebih besar. DRAM lebih lambat.
Berikut disajikan perbedaan umum dari SRAM dan DRAM :

2. Read Only Memory (ROM)
ROM adalah chip-chip memori yang menyimpan data dan perintah secara permanen jadi jenis memori ini hanya biasa di baca saja datanya atau programnya.ROM bersifat nonvolatil dan pada PC, ROM terdapat pada BIOS ( Basic Input Output System ) yang terdapat pada mother board yang berfungsi untuk men-setting peripheral yang ada pada system. ROM dapat menyimpan data secara permanenanya dan hanya bisa dibaca. Namun, dua masalah yang terdapat pada ROM adalah langkah penyisipan data memerlukan biaya tetap yang tinggi dan tidak boleh terjadi kesalahan (error).
• Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU
Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama).
• PROM (Programming Read Only Memori)
PROM adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
Bersifat non volatile dan hanya bisa ditulisi sekali saja. Proses penulisannya dibentuk secara elektris dan memori ini memerlukan peralatan khusus untuk proses penulisan atau “pemrograman”. Prosesnya adalah PROM awalnya terhubung (status=on, 1). Programmer akan memutuskan hubungan tersebut (status=off, 0) dengan mengirimkan voltase tinggi pada baris dan kolom yang tepat. Proses ini disebut "burning".

• EPROM (Erasable PROM)
EPROM adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali. Program yang ada di dalam chip ini dapat dihapus dan diisi kembali dengan menggunakan sinar infrared.
Dapat dibaca secara optis dan ditulisi secara elektris. Sebelum operasi write, seluruh sel penyimpanan harus dihapus menggunakan radiasi sinar ultra-violet terhadap keping paket. Proses penghapusannya dapat dilakukan secara berulang, setiap penghapusan memerlukan waktu 20 menit. Untuk daya tampung data yang sama EPROM lebih mahal dari PROM.
Kelebihan :
 Virus tidak dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan didalam Bios tersebut.
 Isi dari program Bios ini baik sebagian maupun keseluruhannya tidak dapat dirusak atau diubah oleh pulsa listrik, selama stiker yang terdapat pada Bios tersebut tidak cacat atau rusak.
Kelemahan :
 Tidak dapat di upgrade atau dimodifikasi secara umum isi dari program Bios tersebut baik itu sebagian maupun keseluruhannya. Sehingga suatu saat segala perhitungan yang berhubungan dengan tanggal, bulan dan tahun seperti program aplikasi Microsoft exel atau lotus akan menyimpang bila tanggal, bulan, dan tahun dari.

• EEPROM ( Electrically Erasable Programmable Read Only Memori )
Program yang ada di dalam chip ini dapat dihapus dan diisi kembali dengan menggunakan pulsa listrik.
Dapat ditulisi kapan saja tanpa menghapus isi sebelumnya. Operasi write memerlukan waktu lebih lama dibanding operasi read. Gabungan sifat kelebihan non-volatilitas dan fleksibilitas untuk update dengan menggunakan bus control, alamat dan saluran data. EEPROM lebih mahal dibanding EPROM.
Kelebihannya :
 Dapat di upgrade atau di modifikasi sebagian atau keseluruhan isi dari program Bios tersebut sesusi dengan keinginan kita.
 Dapat di backup atau di buat cadangannya, bila suatu saat master dari Bios tersebut rusak atau programnya sebagian atau keseluruhannya terhapus.
Kelemahannya :
 Virus dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan didalam Bios tersebut.
 Arus listrik yang tudak stabil dapat merusak sebagian atau keseluruhan isi dari program yang tersimpan di dalam Bios tersebut.
• EAROM(Electrically Alterable ROM)
ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi.
B. Memori Read / Write
Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah :
a. Sifat Fisik
Statis dan Dinamis
 Static RAM (SRAM)
• Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya.
• Tidak perlu penyegaran
• Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya.
• Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi.
• Merupakan sirkuit memori semikonduktor yang cepat dan mahal.
 Dynamic RAM (DRAM)
• Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor
• Menggunakan sirkuit pembangkit
• Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan.
• Perlu penyegaran
Volatil dan Non-Volatil
 Memori Volatile
Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic
 Memori Non Volatile
Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya.
Contoh : ROM
Read Destruktif lawan Read Non-Destruktif
 Memori Read Destruktif
• Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya.
• Mempunyai 2 fase operasi yaitu read cycle dan restore cycle
• Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis. Contoh : DRAM
 Memori Read Non-Destruktif
• Dalam proses membaca word, memori tersebut tidak dapat dihancurkan.
• Contohnya : SRAM dan ROM
Removable dan Permanenan
 Memori Removable
• Memori yang elemen aktifnya dapat dikeluarkan dari hardware system.
• Contoh : disket.
 Memori Non Removable
• Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system.
• Contoh : RAM dan hard disk
b. Organisasi Logis
• Teralamatkan (addressed)
Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis.
• Asosiatif
Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis
• Akses Urut
Memori yang menggunakan piya magnetis untuk mengakses data secara urut.

c. Memori Archival
• Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis
• Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah.
• WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM.
1.2 CACHE MEMORI
Cache memory merupakan memori yang memiliki kecepatan sangat tinggi, digunakan sebagai perantara antara RAM dan CPU atau perangkat untuk pergerakan data antara memori utama dan register prosesor untuk meningkatkan kinerja.
Memori ini mempunyai kecepatan lebih tinggi daripada RAM, tetapi harganya lebih mahal. Memori ini digunakan untuk menjembatani perbedaan kecepatan CPU yang sangat tinggi dengan kecepatan RAM yang jauh lebih rendah. Dengan menggunakan cache, sejumlah data dapat dipindahkan ke memori ini dalam sekali waktu, dan kemudian ALU akan mengambil data tersebut dari memori ini. Dengan pendekatan seperti ini, pemrosesan data dapat dilakukan lebih cepat daripada kalau CPU mengambil data secara langsung dari RAM.
A. MEMORI CACHE
Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori. Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat.
Memori Cache terbagi menjadi 2 :
• Internal Chache yaitu memori yang terdapat didalam prosesor, sering dikenal dengan nama first level ( L1)
Chache L1 dipasang langsung pada cip prosesor. Chache L1 biasanya memiliki kapasitas sangat kecil, berkisar antara antara 8 KB sampai 128 KB.

• External Chache yaitu memori yang terdapat didalam motherboard, sering dikenaal dengan nama second level ( L2 )
Chache L2 sedikit lebih lambat daripada chache L1 tetapi memiliki kapasitas yang jauh lebih besar, berkisar antara 64 KB sampai 16 MB.
Kegunaan Memori Cache adalah :
 Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.
 Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.
 Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.
 Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.
Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu:
 Memori Cache
merupakan SRAM berkecepatan tinggi
data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.
 Address Tag (Tag Alamat)
Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid.
Tugas dari cache memori :
Mengatasi kesenjangan kecepatan chip memori biasa dengan CPU
Mengurangi waktu tunggu CPU mendapatkan data dari memori, sehingga dapat mengolah instruksi lebih bnayak.
Pada sistem cache, CPU mengambil sekelompok instruksi sekaligs dari memori primer dan menaruhnya ke dalam cache. Sementara CPU sedang melakukan instruksi yang ada dalam register instruksi, bagian lain dari CPU mengambil sebagian sekelompok instruksi lagi dari memori primer.
Cara kerja Cache adalah :
o Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
o Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
o Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta.
o Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit.
o Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
o Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.
Ada 2 sebab mengapa cache bekerja dengan baik :
 Cache beroperasi secara paralel dengan CPU
• Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU.
 Prinsip Lokalitas Referensi
• CPU akan meminta data baru
Setiap cache mempunyai dua sub system yaitu :
 Tag Subsystem
Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta.
 Memori subsistem
Menyimpan dan mengantarkan data.

Gambar direct mapping cache
Prinsip-prinsip
Cache memori diujukan untuk memberikan kecepatan memori yang mendekati kecepatan memori tercepat yang bisa diperoleh, sekaligus memberikan ukuran memori yang besar dengan harga yang lebih murah dari jenis-jenis memori semikonduktor. Konsepnya adalah sebagai berikut :

Terdapat memori utama yang relatif lebih besar dan lebih lambat dan cache memori yang berukuran lebih kecil dan lebih cepat. Cache berisi salinan sebagian memori utama. Pada saat CPU membaca sebuah word memori, maka dilakukan pemeriksaan untuk mengetahui apakah word itu terdapat pada cache. Bila sudah ada, maka word akan dikirimkan ke CPU. Sedangkan bila tidak ada, blok memori utama yang terdiri dari sejumlah word yang tetap akan dibaca ke dalam cache dan kemudian akan dikirimkan ke CPU.
Elemen-elemen Rancangan Cache
Walaupun terdapat banyak implementasi cache, hanya terdapat sedikit elemen-elemen dasar rancangan yang dapat mengklasifikasikan dan membedakan arsitektur cache. Adapun elemen yang akan dibahas pada subbab ini adalah elemen pertama yaitu ukuran cache. Semakin besar 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 (walaupun dibuat dengan teknologi rangkaian terintegrasi yang sam adan pitaruh pada tempat pada keping dan board yang sama. Kinerja cache juga sangat sensitif terhadap sifat beban kerja, maka tidaklah mungkin untuk mencapai ukuran cache yang ‘optimum’.

Fungsi Pemetaan (Mapping)
Karena saluran cache lebih sedikit dibandingkan dengan blok memori utama, diperlukan algoritma untuk pemetaan blok-blok memori utama ke dalam saluran cache. Selain itu diperlukan alat untuk menentukan blok memori utama mana yang sedang memakai saluran cache. Pemilihan fungsi pemetaan akan menentukan bentuk organisasi cache. Dapat digunakan tiga jenis teknik, yaitu sebagai berikut :
a. Pemetaan Langsung (Direct Mapping)
Pemetaan ini memetakan masing-masing blok memori utama hanya ke satu saluran cache saja. Jika suatu block ada di cache, maka tempatnya sudah tertentu. Keuntungan dari direct mapping adalah sederhana dan murah. Sedangkan kerugian dari direct mapping adalah suatu blok memiliki lokasi yang tetap (Jika program mengakses 2 block yang di map ke line yang sama secara berulang-ulang, maka cache-miss sangat tinggi).
b. Pemetaan Asosiatif (Associative Mapping)
Pemetaan ini mengatasi kekurangan pemetaan langsung dengan cara mengizinkan setiap blok memori utama untuk dimuatkan ke sembarang saluran cache. Dengan pemetaan asosiatif, terdapat fleksibilitas penggantian blok ketika blok baru dibaca ke dalam cache. Kekurangan pemetaan asosiatif yang utama adalah kompleksitas rangkaian yang diperlukan untuk menguji tag seluruh saluran cache secara paralel, sehingga pencarian data di cache menjadi lama.
o Disebut juga Fully Associative Cache.
o Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional
o Cache dapat menempatkan sembarang jalur refill selama akses memori
o Membandingkan alamat yang ada dengan semua alamat yang disimpan
b. Pemetaan Asosiatif Set (Set Associative Mapping)
Pada pemetaan ini, cache dibagi dalam sejumlah sets. Setiap set berisi sejumlah line. Pemetaan asosiatif set memanfaatkan kelebihan-kelebihan pendekatan pemetaan langsung dan pemetaan asosiatif
• Jumlah Cache !
a. Cache Satu Tingkat VS Cache Dua Tingkat
Dengan meningkatkan kepadatan logik, telah memungkinkan menempatkan cahce pada keping yang sama seperti processor: the on-chip cache. Dibandingkan dengan suatu cache yang dapat dijangkau via bus eksternal, on-chip cache mengurangi aktivitas bus eksternal processor dan akibatnya meningkatkan waktu eksekusi dan meningkatkan kinerja sistem secara keseluruhan.

Memori yang bernama L1 Cache ini adalah memori yang terletak paling dekat dengan prosesor (lebih spesifik lagi: dekat dengan blok CU [Control Unit]). Penempatan Cache di prosesor dikembangkan sejak PC i486. Memori di tingkat ini memiliki kapasitas yang paling kecil (hanya 16KB), tetapi memiliki kecepatan akses dalam hitungan nanodetik (sepermilyar detik). Data yang berada di memori ini adalah data yang paling penting dan paling sering diakses. Biasanya data di sini adalah data yang telah diatur melalui OS (Operating System) menjadi Prioritas Tertinggi (High Priority).
Memori L2 Cache ini terletak terletak di MotherBoard (lebih spesifik lagi: modul COAST : Cache On A STick. Bentuk khusus dari L2 yang mirip seperti Memori Module yang dapat diganti-ganti tergantung motherboardnya). Akan tetapi ada juga yang terintegrasi langsung dengan MotherBoard, atau juga ada yang terintergrasi dengan Processor Module. Di L2 Cache ini, kapasitasnya lebih besar dari pada L1 Cache. Ukurannya berkisar antara 256KB—2MB. Biasanya, L2 Cache yang besar diperlukan di MotherBoard untuk Server. Kecepatan akses sekitar 10ns.

Organisasi DRAM Tingkat Lanjut
a. Enhanced DRAM
EDRAM (Enhanched DRAM) merupakan model DRAM yang paling simple, dan memiliki SRAM cache yang terintegrasi di dalamnya. Dalam model EDRAM 4 bit, SRAM cache-nya akan menyimpan seluruh isi dari baris terakhir yang dibaca, dimana terdiri dari 2048 bit, atau 512 4-bit potongan. Sebuah komparator menyimpan 11-bit nilai dari alamat baris yang sering diakses. Jika akses selanjutnya pada baris yang sama, maka hanya butuh akses terhadap SRAM cache yang cepat.
b. Cache DRAM
Cache DRAM (CDRAM), yang dibuat oleh Mitsubishi [HIDA90], sama dengan EDRAM. CDRAM mencakup cache SRAM cache SRAM yang lebih besar dari EDRAM (16 vs 2 kb).
SRAM pada CDRAM dapat digunakan dengan dua cara. Pertama, dapat digunakan sebagai true cache, yang terdiri dari sejumlah saluran 64-bit. Hal ini sebaliknya dengan EDRAM, di mana cache SRAM hanya berisi sebuah blok, yaitu the most recently accessed row. Mode cache CDRAM cukup efektif untuk access random ke memori.
c. Synchronous DRAM (SDRAM)
Tidak seperti DRAM biasa, yang bersifat asinkron, SDRAM saling bertukar data dengan processor yang disinkronkan dengan signal pewaktu eksternal dan bekerja dengan kecepatan penuh bus processor/memori tanpa mengenal keadaan wait dan menunggu state.
Dengan menggunakan mode akses synchronous, pergerakan data masuk dan keluar DRAM akan dikontrol oleh clock system. Processor akan meminta informasi instruksi dan alamat, yang diatur oleh DRAM. DRAM akan merespon setelah clock cycle tertentu. Dengan demikian, processor dapat dengan aman melakukan tugas lain sementara SDRAM memproses request
Pada SDRAM juga dikenal istilah SDR (Single Date Rate) dan DDR (Double Date Rate). SDR SDRAM dapat diartikan sebagai DRAM yang memiliki kemampuan transfer data secara single line (satu jalur saja). Sementara DDR SDRAM memiliki kemampuan untuk melakukan transfer data secara double line.

d. Rambus DRAM
RDRAM merupakan memori yang melakukan pendekatan lebih kepada masalah bandwidth. Rambus DRAM dikembangkan oleh RAMBUS, Inc., Pengembangan ini menjadi polemik karena Intel© berusaha memperkenalkan PC133MHz. RDRAM memiliki chip yang terpasang secara vertikal, dimana semua pin berada pada satu sisi. Chips akan melakukan pertukaran data dengan processor melalui 28 jalur (kabel) yang tidak lebih pangajng dari 12 cm. Busnya dapat menampung alamat lebih dari 320 RDRAM chip dan dengan rata-rata kecepatan sekitar 500Mbps. Oleh karena itulah, RDRAM memiliki kecepatan yang jauh lebih besar dibanding tipe DRAM lainnya.
e. RamLink
Ramlink merupakan inovasi radikal pada DRAM tradisional. RamLink berkonsentrasi pada interface processor/memori dibandingkan pada arsitektur internal keping DRAM. RamLink adalah memori interface yang memiliki koneksi point-to-point yang disusun dalam bentuk cincin. Lalu lintas pada cincin diatur oleh pengontrol memori yang mengirimkan pesan ke keping-keping DRAM, yang berfungsi sebagai simul-simpul pada jaringan cincin. Data saling dipertukarkan dalam bentuk paket.
B. MEMORI VIRTUAL
Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :
1. Paging
 Adalah teknik yang berorientasi hardware untuk mengelola memori fisik
 Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil.
 Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset.
 Membagi alamat logis dan memori menjadi page yang berukuran tertentu.

Gambar Pengalamatan Halaman

Implementasi RAM pada sebuah tabel halaman

Implementasi memori asosiatif pada sebuah tabel halaman.
2. Segmentasi
 Adalah teknik yang berorientasi pada struktur logis dari suatu program.
 Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah.
 Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen
 Keuntungan pokok penggunaan segmentasi atas paging adalah bahwa segmen merupakan entitas logikal dan dengan demikian semuanya mempunyai parameter akses yang sama.
 Kerugian pokok segmentasi adalah fragmentasi eksternal yang terjadi ketika segmen dipindahkan ke dalam dan luar memori riil.
Perbedaan Paging dengan Segmentasi adalah :
 Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program.
 Segmen cenderung jauh lebih besar dari paging.
 Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu.
 Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit
 Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset.
3. Manajeman Memori Virtual
Tabel halaman dan segmen tidak cukup agar suatu memori virtual dapat sukses. Tetapi juga dibutuhkan untuk mangtur transfer informasi ke dan dari memori riil. Manajemen ini berjalan atas dasar jurisdiksi sistem operasi.
 Alokasi memori riil.
Mengelolah sebuah daftar bingkai yang kosong (free frame list) bagi paging atau sebuah daftar ruang kosong (free space list) bagi segmentasi untuk menetukan tempat penyimpanan halaman (page) atau segmen di dalam memori rill dan menentukan jumlah halaman atau segmen suatu program yang akan disimpan ke dalam memori riil.
 Startegi pemindahan (replacement strategy)
Menentukan halaman atau segmen mana yang akan dipindahkan jika memori riil penuh dan membuat referensi bagi halaman atau segmen yang tidak terdapat dalam memori (disebut sebagi fault halaman atau segmen) yang harus dipindahkan ke dalam memori riil.
 Kebijakan penulisan ( write policy)
Menentukan kapan harus memperbaharui word-word yang bersesuaian di daalm memori virtual dan kapan menulis ke word di dalam memori riil.
2. MASALAH DESIGN MEMORI
• Kecepatan Memori lawan kecepatan CPU :
Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.
Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.
CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.
VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU
Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY
Keuntungan dari perubahan ini adalah :
Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.
CPU yang paling cepat merupakan pipelined.
• Ruang Alamat Memori :
Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun.
• Keseimbangan antara kecepatan dan biaya :
Sifat dari Teknologi Memori
 Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat.
Adanya berbagai kecepatan dan biaya dalam peralatan memori.
Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah :
o Peralatan lambat, murah untuk memori utama
o Peralatan cepat untuk cache
o Peralatan sangat cepat, mahal untuk register

Sabtu, 21 Mei 2011

Perbedaan Arsitektur RISC dengan CISC

Ditinjau dari jenis set instruksinya, ada 2 jenis arsitektur komputer, yaitu:
  • Arsitektur komputer dengan kumpulan perintah yang rumit
    (Complex Instruction Set Instruction Computer = CISC)
    • Arsitektur komputer dengan kumpulan perintah yang sederhana
      (Reduced Instruction Set Computer = RISC)
      CISC dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit). Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan, tetapi konsep ini menyulitkan dalam penyusunan compiler bahasa pemrograman tingkat tinggi. Dalam CISC banyak terdapat perintah bahasa mesin.
      Konsep RISC menyederhanakan rumusan perintah sehingga lebih efisien dalam
      penyusunan kompiler yang pada akhirnya dapat memaksimumkan kinerja program yang ditulis dalam bahasa tingkat tinggi. Arsitektur RISC banyak menerapkan proses eksekusi pipeline. Meskipun jumlah perintah tunggal yang diperlukan untuk melakukan pekerjaan yang diberikan mungkin lebih besar, eksekusi secara pipeline memerlukan waktu yang lebih singkat daripada waktu untuk melakukan pekerjaan yang sama dengan menggunakan perintah yang lebih rumit. Mesin RISC memerlukan memori yang lebih besar untuk mengakomodasi program yang lebih besar. IBM 801 adalah prosesor komersial pertama yang menggunakan pendekatan RISC.
      Eksekusi Instruksi
      Waktu eksekusi dapat dirumuskan sebagai berikut :
      Waktu eksekusi = N x S x T
      Dengan
      N adalah jumlah perintah
      S adalah jumlah rata-rata langkah per perintah
      T adalah waktu yang diperlukan untuk melaksanakan satu langkah
      Kecepatan eksekusi dapat ditingkatkan dengan menurunkan nilai dari ketiga variabel di atas. Arsitektur CISC berusaha menurunkan nilai N, sedangkan Arsitektur RISC berusaha menurunkan nilai S dan T.
      Proses pipeline dapat digunakan untuk membuat nilai efektif S mendekati 1 (satu) artinya komputer menyelesaikan satu perintah dalam satu siklus waktu CPU. Nilai T dapat diturunkan dengan merancang perintah yang sederhana.
      Reduce Instruction Set Computer (RISC)
      Beberapa elemen penting pada arsitektur RISC :
      • Set instruksi yang terbatas dan sederhana
      • Register general-purpose yang berjumlah banyak, atau penggunaan
      teknologi kompiler untuk mengoptimalkan pemakaian registernya
      • Penekanan pada pengoptimalan pipeline instruksi
      Lebih lanjut untuk memahami RISC, diawali dengan tinjauan singkat
      tentang karakteristik eksekusi instruksi.
      Aspek komputasi yang ditinjau dalam merancang mesin RISC adalah sebagai berikut:
      • Operasi-operasi yang dilakukan:
      Hal ini menentukan fungsi-fungsi yang akan dilakukan oleh CPU dan interaksinya dengan memori
      • Operand-operand yang digunakan:
      Jenis-jenis operand dan frekuensi pemakaiannya akan menentukan organisasi memori untuk menyimpannya dan mode pengalamatan untuk mengaksesnya
      • Pengurutan eksekusi:
      Hal ini akan menentukan kontrol dan organisasi pipeline
      Implikasi
      Hasil-hasil penelitian secara umum dapat dinyatakan bahwa terdapat tiga
      buah elemen yang menentukan karakter arsitektur RISC
      • Pertama, penggunaan register dalam jumlah yang besar. Hal ini dimaksudkan untuk mengoptimalkan pereferensian operand
      • Kedua, diperlukan perhatian bagi perancangan pipeline instruksi. Karena tingginya proporsi instruksi pencabangan bersyarat dan prosedur call, pipeline instruksi yang bersifat langsung dan ringkas akan menjadi tidak efisien
      • Ketiga, terdapat set instruksi yang disederhanakan (dikurangi)
      Keinginan untuk mengimplementasikan keseluruhan CPU dalam keping tunggal akan merupakan solusi Reduced Instruction Set.
      Ciri-ciri RISC :
      • Instruksi berukuran tunggal Ukuran yang umum adalah 4 byte
      • Jumlah mode pengalamatan data yang sedikit, biasanya kurang dari lima buah
      • Tidak terdapat pengalamatan tak langsung
      • Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika (misalnya, penambahan dari memori, penambahan ke memori)
      Penggunaan File Register Besar
      • Terdapat statement assignment yang jumlahnya banyak dalam program-program HLL (High Level Language), dan banyak diantaranya berupa statement assignment sederhana seperti A=B
      • Di samping itu, terdapat pula akses operand per statement HLL dalam jumlah yang cukup besar
      • Apabila kita menghubungkan kedua di atas dengan kenyataan bahwa sebagian besar akses adalah menuju ke skalar-skalar lokal, maka sangat mungkin kita memerlukan penyimpanan register yang besar
      • Alasan diperlukannya penyimpanan register adalah register merupakan perangkat penyimpanan yang paling cepat, yang lebih cepat dibandingkan dengan memori utama dan memori cache
      • Dimungkinkan untuk menerapkan dua buah pendekatan dasar, yaitu berdasarkan perangkat lunak dan perangkat keras :
        • Pendekatan perangkat lunak mengandalkan kompiler untuk memaksimalkan pemakaian register. Pendakatan ini membutuhkan algoritma analisis program yang canggih
        • Pendekatan perangkat keras dilakukan hanya dengan memperbanyak jumlah register sehingga akan lebih banyak variabel yang dapat ditampung di dalam register dalam periode waktu yang lebih lama
      Register Windows
      • Jendela register dibagi menjadi tiga buah daerah yang berukuran tetap :
        • Register-register parameter
      Menampung parameter-parameter yang dilewatkan dari prosedur
      • Register-register local
      Digunakan untuk variable lokal, setelah di-assign oleh compiler
      • Register-register temporer
      Digunakan untuk pertukaran parameter
      • Overlap ini memungkinkan parameter-parameter dapat dilewatkan tanpa perpindahan aktual data
      Variabel-variabel Global
      Teknik Register Windows memberikan organisasi yang efisien untuk penyimpanan variable skalar lokal di dalam register. Akan tetapi teknik ini tidak dapat memenuhi kebutuhan penyimpanan variabel global, yang diakses oleh lebih dari sebuah prosedur (misalnya, variabel COMMON dalam FORTRAN). Terdapat dua pilihan untuk memenuhi hal tersebut :
      • Pertama, Variabel-variabel yang dideklarasikan sebagai global pada HLL dapat disediakan lokasi-lokasi oleh kompiler. Namun, bagi yang sering mengakses variabel-variabel global, teknik tersebut tidaklah efisien
      • Alternatifnya adalah melibatkan kumpulan register global di dalam CPU. Register-register ini harus memiliki jumlah yang tetap dan dapat dipakai oleh semua prosedur
      CISC (Complex Intruction Set Computer)
      CISC adalah singkatan dari Complex Intruction Set Computer dimana prosessor tersebut memiliki set instruksi yang kompleks dan lengkap, dan dirasa ber4pengaruh pada kinerjanya yang lebih lambat. CISC menawarkan set instruksi yang powerful kuat, tangguh, maka tidak heran jika CISC memang hanya mengenal bahasa assembly yang sebenarnya ditujukan bagi para programmer. Oleh karena itu, CISC memerlukan sedikit instruksi untuk berjalan
      Jadi sebenarnya tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin.
      Mengapa CISC?
      Jumlah instruksi yang banyak dan instruksi yang lebih kompleks. Dua alasan utama yang menjadi motivasi kecenderungan ini adalah adanya keinginan untuk menyederhanakan kompiler dan keinginan untuk meningkatkan kinerja. Alasan penting lainnya adalah harapan bahwa CISC akan menghasilkan program yang lebih kecil dan lebih cepat.
      Karakteristik CISC versus RISC
      Rancangan RISC dapat memperoleh keuntungan dengan mengambil sejumlah feature CISC dan Rancangan CISC dapat memperoleh keuntungan dengan mengambil sejumlah feature RISC. Hasilnya adalah bahwa sejumlah rancangan RISC yang terbaru, yang dikenal sebagai PowerPC, tidak lagi “murni” RISC dan rancangan CISC yang terbaru, yang dikenal sebagai Pentium, memiliki beberapa karakteristik RISC.
      RISCCISC
      Penekanan pada perangkat lunakPenekanan pada perangkat keras
      Single-clock,hanya sejumlah kecil instruksiTermasuk instruksi kompleks multi-clock
      Register toRegister :”LOAD”&”STORE” adalah instruksi2 terpisahMemori ke Memori:”LOAD”&”STORE” saling bekerjasama
      Ukuran kode besar(kecepatan relatif tinggi)Ukurang kode kecil,kecepatan rendah
      Transistor banyak dipakai untuk register memoriTransistor digunakan untuk menyimpan instruksi2 kompleks
      Bagaimanapun juga,strategy pada RISC meberikan beberapa kelebihan. Karena masing-masing instruksi hanya membutuhkan satu siklus detak untuk eksekusi,maka seluruh program(yang sudah dijelaskan sebelumnya)dapat dikerjakan setara dengan kecepatan eksekusi,instruksi”MULT”. Secara perangkat keras,prosesor RISC tidak terlalu banyak membutuhkan transistor dibandingkan dengan CISC. Sehingga menyisakan ruangan untuk register-register serbaguna (general purpose registers). Selain itu,karena semua instruksi dikerjakan dalam waktu yang sama (yaitu satu detak),maka dimungkinkan untuk melakukan pipelining.
      Memisahkan instruksi “L0AD” dan “STORE” sesungguhnya mengurangi kerja yang harus dilakukan oleh prosesor. Pada CISC,setelah intruksi “MULT” dieksekusi,prosesor akan secara otomatis menghapus isi register,jika ada operan yang dibutuhkan lagi untuk operasi berikutnya,maka prosesor harus menyimpan ulang data tersebut dari memori ke register. Sedangkan pada RISC operan tetap berada dalam register yang bersangkutan.
      Persamaan untuk kerja (PEFORMANCE)
      Persamaan berikut biasa digunakan sebagai ukuran unjuik kerja suatu komputer :
      Time/Program = Time/Cycle x cycles/Instruction x instructions/Program
      Pendekatan CISC bertujuan untuk meminimalkan jumlah instruksi per program,dengan cara mengorbankan kecepatan eksekusi sekian siklus/detik. Sedangkan RISC bertolak belakang,tujuannya mengurangi jumlah siklus/detik setiap instruksi dibayar dengan bertambahnya jumlah instruksi per program
      Penghadang jalan (Roadblocks) RISC
      Walaupun pemrosesan berbasis RISC memiliki beberapa kelebihan, dibutuhkan waktu kurang lebih 10 tahunan mendapatkan kedudukan di dunia
      komersil. Hal ini dikarenakan kurangnya dukungan perangkat lunak.
      Walaupun Apple’s Power Macintosh menggunakan chip berbasis RISC dan Windows NT adalah kompatibel RISC, Windows 3.1 dan Windows 95 dirancang berdasarkan prosesor CISC Banyak perusahaan segan untuk masuk ke dalam
      dunia teknologi RISC. Tanpa adanya ketertarikan komersil, pengembang prosesor RISC tidak akan mampu memproduksi chip RISC dalam jumlah besar sedemikian hingga harganya bisa kompetitif.Kemerosotan juga disebabkan
      munculnya Intel, walaupun chip-chip CISC mereka semakin susah digunakan dan sulit dikembangkan Intel memiliki sumberdaya untuk menjajagi dan melakukan berbagai macam pengembangan dan produksi prosesor-prosesor yang ampuh. Walaupun prosesor RISC lebih unggul dibanding Intel dalam beberapa area, perbedaan tersebut kurang kuat untuk mempengaruhi pembeli agar merubah teknologi yang digunakan.
      Keunggulan RISC
      Saat ini, hanya Intel x86 satu-satunya chip yang bertahan menggunakan arsitektur CISC. Hal ini terkait dengan adanya kemajuan teknologi komputer pada sektor lain. Harga RAM turun secara dramatis. Pada tahun 1977, DRAM ukuran
      1MB berharga %5,000, sedangkan pada tahun 1994 harganya menjadi sekitar $6. Teknologi kompailer juga semakin canggih, dengan demikian RISC yang
      menggunakan RAM dan perkembangan perangkat lunak menjadi semakin banyak ditemukan.
      KETERANGAN TENTANG MULT 2:3, 5:2
      MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan. Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa
      tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.
      CISC
      Contoh mikroprosesor dengan arsitektur CISC adalah Intel 8088, 8085, 8086, Zilog Z-80 CPU, NS 32016, MC6800. Karena jumlah instruksi lebih banyak jenis dan ragamnya maka kelemahan CISC terletak pada sulitnya mengembangkan interpreter dan kompiler.
      RISC
      Merupakan arsitektur instruction set yang menekankan kepada kesederhanaan instruksi “bekerja sedikit” tetapi tetap memberikan hasil performansi yang tinggi. Hal ini bisa terjadi karena
      Proses eksekusi instruksinya sangat cepat. Arsitektur ini lebih baru dibandingkan dengan arsitektur CISC. Arsitektur RISC memiliki sedikit instruksi banyak register. Contoh mikroprosesor dengan artsitektur RISC adalah AMD 2900, MIPS R2000, SUN ,SPARC, MC 8800, ATMET 90S1200, 90S2313, 90S2323, 90S2343, 90S4434,90S8515

      Standarisasi Protokol Jaringan

      Standar adalah suatu hal yang penting dalam penciptaan dan pemeliharaan sebuah kompetisi pasar daripada manufaktur perangkat komunikasi dan menjadi jaminan interoperabilitas data dalam proses komunikasi.
      Standar komunikasi data dapat dikategorikan dalam 2 kategori yakni kategori de facto (konvensi) dan de jure (secara hukum atau regulasi).
      Di bawah ini adalah beberapa organisasi yang concern dengan perkembangan standar teknologi telekomunikasi dan data internasional maupun dari Amerika.
      Selain itu terdapat pula organisasi yang bersifat forum ilmiah seperti Frame Relay Forum dan ATM Forum. Kemudian ada pula organisasi yang berfungsi sebagai agen regulasi, misalnya Federal Communications Commision (FCC).
      Pentingnya standarisasi adalah untuk menjamin interoperabilitas antar perangkat keras dan perangkat lunak yang digunakan. Gambar berikut mengilustrasikan pentingnya standarisasi protokol. Gambar a menunjukkan protokol tanpa standarisasi dan gambar b protokol dengan standarisasi.

      Lapisan-Lapisan Menurut OSI

      1. Lapisan Fisik

      Karakteristik perangkat keras yang mentransmisikan sinyal data. Lapisan fisik melakukan fungsi pengiriman dan penerimaan bit stream dalam medium fisik. Dalam lapisan ini kita akan mengetahui spesifikasi mekanikal dan elektrikal daripada media transmisi serta antarmukanya. Hal-hal penting yang dapat dibahas lebih jauh dalam lapisan fisik ini adalah:
      • Karakteristik fisik daripada media dan antarmuka.
      • Representasi bit-bit. Maksudnya lapisan fisik harus mampu menterjemahkan bit 0 atau 1, juga termasuk pengkodean dan bagaimana mengganti sinyal 0 ke 1 atau sebaliknya.
      • Data rate (laju data).
      • Sinkronisasi bit.
      • Line configuration (Konfigurasi saluran). Misalnya: point-to-point atau point-to-multipoint configuration.
      • Topologi fisik. Misalnya: mesh topology, star topology, ring topology atau bus topology.
      • Mode transmisi. Misalnya : half-duplex mode, full-duplex (simplex) mode.
      Gambar
      Gambar 3.5 Lapisan Fisik / Physical Lyer


      2. Lapisan Data-Link

      Pengiriman data melintasi jaringan fisik. Lapisan data link berfungsi mentransformasi lapisan fisik yang merupakan fasilitas transmisi data mentah menjadi link yang reliabel. Lapisan ini menjamin informasi bebas error untuk ke lapisan di atasnya.
      Gambar 3.6 Lapisan Data Link
      Gambar 3.6 Lapisan Data Link
      Tanggung jawab utama lapisan data link ini adalah sebagai berikut :
      • Framing. Yaitu membagi bit stream yang diterima dari lapisan network menjadi unit-unit data yang disebut frame.
      • Physical addressing. Jika frame-frame didistribusikan ke sistem lainpada jaringan, maka data link akan menambahkan sebuah header di muka frame untuk mendefinisikan pengirim dan/atau penerima.
      • Flow control. Jika rate atau laju bit stream berlebih atau berkurang maka flow control akan melakukan tindakan yang menstabilkan laju bit.
      • Error control. Data link menambah reliabilitas lapisan fisik dengan penambahan mekanisme deteksi dan retransmisi frame-frame yang gagal terkirim.
      • Access control. Jika 2 atau lebih device dikoneksi dalam link yang sama, lapisan data link perlu menentukan device yang mana yang harus dikendalikan pada saat tertentu.

      3. Lapisan Network

      Hubungan lintas jaringan dan mengisolasi layer yang lebih tinggi. Pengalamatan dan pengiriman data.  Lapisan network bertanggung jawab untuk pengiriman paket dengan konsep source-to-destination. Adapun tanggung jawab spesifik lapisan network ini adalah:
      • Logical addressing. Bila pada lapisan data link diimplementasikan physical addressing untuk penangan pengalamatan/addressing secara lokal, maka pada lapisan network problematika addressing untuk lapisan network bisa mencakup lokal dan antar jaringan/network. Pada lapisan network ini logical address ditambahkan pada paket yang datang dari lapisan data link.
      • Routing. Jaringan-jaringan yang saling terhubung sehingga membentuk internetwork diperlukan metoda routing/perutean. Sehingga paket dapat ditransfer dari satu device yang berasal dari jaringan tertentu menuju device lain pada jaringan yang lain.
      Gambar 3.7 Lapisan Network
      Gambar 3.7 Lapisan Network

      4. Lapisan Transport

      Menjamin penerima mendapatkan data seperti yang dikirimkan. Lapisan transport bertanggung jawab untuk pengiriman source-to-destination (end-to-end) daripada jenis message tertentu. Tanggung jawab spesifik lapisan transport ini adalah:
      • Sevice-point addressing. Komputer sering menjalankan berbagai macam program atau aplikasi yang berlainan dalam saat bersamaan. Untuk itu dengan lapisan transport ini tidak hanya menangani pengiriman/delivery source-to-destination dari computer yang satu ke komputer yang lain saja namun lebih spesifik kepada delivery jenis message untuk aplikasi yang berlainan. Sehingga setiap message yang berlainan aplikasi harus memiliki alamat/address tersendiri lagi yang disebut service point address atau port address.
      • Segmentation dan reassembly. Sebuah message dibagi dalam segmen-segmen yang terkirim. Setiap segmen memiliki sequence number. Sequence number ini yang berguna bagi lapisan transport untuk merakit/reassembly segmen-segman yang terpecah atau terbagi tadi menjadi message yang utuh.
      • Connection control. Lapisan transport dapat berperilaku sebagai connectionless atau connection-oriented.
      • Flow control. Seperti halnya lapisan data link, lapisan transport bertanggung jawab untuk kontrol aliran (flow control). Bedanya dengan flow control di lapisan data link adalah dilakukan untuk end-to-end.
      • Error control. Sama fungsi tugasnya dengan error control di lapisan data link, juga berorientasi end-to-end.
      Gambar 3.8 Lapisan Transport
      Gambar 3.8 Lapisan Transport

      5. Lapisan Sesi

      Hubungan antar aplikasi yang berkomunikasi. Layanan yang diberikan oleh tiga layer pertama (fisik, data link dan network) tidak cukup untuk beberapa proses. Maka pada lapisan session ini dibutuhkan dialog controller. Tanggung jawab spesifik:
      • Dialog control.
      • Sinkronisasi
      Gambar 3.9 Lapisan Sesi
      Gambar 3.9 Lapisan Sesi

      6. Lapisan Presentasi

      Rutin standard mempresentasikan data. Presentation layer lebih cenderung pada syntax dan semantic pada pertukaran informasi dua sistem. Tanggung jawab spesifik:
      • Translasi
      • Enkripsi
      • Kompresi
      Gambar 3.10 Lapisan Presentasi
      Gambar 3.10 Lapisan Presentasi

      7. Lapisan Aplikasi

      interface antara aplikasi yang dihadapi user and resource jaringan yang diakses. Sesuai namanya, lapisan ini menjembatani interaksi manusia dengan perangkat lunak/software aplikasi.
      Gambar Lapisan Aplikasi
      Gambar 3.11 Lapisan Aplikasi
      Setiap layer menyediakan layanan bagi layer yang ada di atasnya, dan membutuhkan layanan dari layer di bawahnya.
      Gambar 3.12
      Gambar 3.12 Hubungan antara satu lapisan dengan lainnya