twitter


SISTEM MEMORY

&

CACHE

1.1 SISTEM MEMORI
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


SISTEM MEMORY

&

CACHE

1.1 SISTEM MEMORI
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


I/O DEVICE

1. PENGERTIAN
Unit Input/Output (I/O) adalah bagian dari sistem mikroprosesor yang digunakan oleh mikroprosesor itu untuk berhubungan dengan dunia luar. Unit input adalah unit luar yang digunakan untuk memasukkan data dari luar ke dalam mikroprosesor ini, contohnya data yang berasal dari keyboard atau mouse. Sementara unit output biasanya digunakan untuk menampilkan data, atau dengan kata lain untuk menangkap data yang dikirimkan oleh mikroprosesor, contohnya data yang akan ditampilkan pada layar monitor atau printer.
Bagian input (masukan) dan juga keluaran (output) ini juga memerlukan sinyal kontrol, antara lain untuk baca I/O (Input/Ouput Read [IOR]) dan untuk tulis I/O (Input/Output Write [IOW]). Port I/O yang berarti gerbang konektor Input/Output pada komputer, seperti pada keyboard, mouse paralel/serial ataupun USB. Menyediakan koneksi untuk piranti eksternal seperti kamera digital, printer dan scanner.

2. KEYBOARD
Papan ketik (bahasa Inggris: keyboard) atau kibor adalah peranti untuk mengetik atau memasukkan huruf, angka, atau simbol tertentu ke perangkat lunak atau sistem operasi yang dijalankan oleh komputer.








Papan ketik terdiri atas tombol-tombol berbentuk kotak dengan huruf, angka, atau simbol yang tercetak di atasnya. Dalam beberapa sistem operasi, apabila dua tombol ditekan secara bersamaan, maka akan memunculkan fungsi khusus atau pintasan yang telah diatur sebelumnya.
Ada berbagai jenis tata letak tombol pada papan ketik. Akan tetapi, yang paling populer dan umum digunakan adalah tata letak QWERTY, meniru sistem tata letak mesin ketik.
Papan ketik tipe baru biasanya mempunyai tombol tambahan di atas tombol fungsi (F1, F2, dst.) untuk mempermudah pengguna dalam mengoperasikan komputer. Selain itu, papan ketik baru juga sudah banyak yang mendukung teknologi nirkabel.

3. MOUSE
Mouse adalah alat yang digunakan untuk memasukkan data ke dalam komputer selain papan ketik. Tetikus memperoleh nama demikian karena kabel yang menjulur berbentuk seperti ekor tikus.
Mouse pertama kali dibuat pada tahun 1963 oleh Douglas Engelbart berbahan kayu dengan satu tombol. Model kedua sudah dilengkapi dengan 3 tombol. Pada tahun 1970, Douglas Engelbart memperkenalkan mouse yang dapat mengetahui posisi X-Y pada layar komputer, mouse ini dikenal dengan nama X-Y Position Indicator (indikator posisi X-Y).
Bentuk mouse yang paling umum mempunyai dua tombol, masing-masing di sebelah kiri atas dan kanan atas yang dapat ditekan. Walaupun demikian, komputer-komputer berbasis Macintosh biasanya menggunakan mouse satu tombol.
Mouse bekerja dengan menangkap gerakan menggunakan bola yang menyentuh permukaan keras dan rata. Mouse yang lebih modern sudah tidak menggunakan bola lagi, tetapi menggunakan sinar optikal untuk mendeteksi gerakan. Selain itu, ada pula yang sudah menggunakan teknologi nirkabel, baik yang berbasis radio, sinar inframerah, maupun bluetooth.
Saat ini, teknologi terbaru sudah memungkinkan tetikus memakai sistem laser sehingga resolusinya dapat mencapai 2.000 titik per inci (dpi), bahkan ada yang bisa mencapai 4.800 titik per inci.


4. PRINTER
Printer atau pencetak adalah alat yang menampilkan data dalam bentuk cetakan, baik berupa teks maupun gambar/grafik, di atas kertas. Printer biasanya terbagi atas beberapa bagian, yaitu picker sebagai alat mengambil kertas dari tray. Tray ialah tempat menaruh kertas. Tinta atau toner adalah alat pencetak sesungguhnya, karena ada sesuatu yang disebut tinta atau toner yang digunakan untuk menulis pada kertas. Perbedaan toner dan tinta ialah perbedaan sistem; toner atau laser butuh pemanasan, sedangkan tinta atau inkjet tak butuh pemanasan, hanya pembersihan atau cleaning pada print-head printer tersebut.
Ada pula kabel fleksibel untuk pengiriman sinyal dari prosesor printer ke tinta atau toner. Kabel ini tipis dan fleksibel, namun kuat. Pada bagian belakang printer biasanya ada port paralel atau USB untuk penghubung ke komputer.
Pencetak modem merupakan alat canggih. Perkakasan elektronik yang terdapat dalam sebuah pencetak sama dengan perkakasan elektronik yang terdapat dalam komputer itu sendiri. Pencetak mempunyai 6 jenis yaitu jenis Dot-Matrix, jenis Daisy Wheel, jenis Ink-Jet / jenis Bubble Jet, jenis Chain, jenis Drum dan jenis Laser.


5. SCANNER

Pemindai atau scanner merupakan suatu alat yang digunakan untuk memindai suatu bentuk maupun sifat benda, seperti dokumen, foto, gelombang, suhu dan lain-lain. Hasil pemindaian itu pada umumnya akan ditransformasikan ke dalam komputer sebagai data digital. Terdapat beberapa jenis pemindai bergantung pada kegunaan dan cara kerjanya, antara lain :
• Pemindai Gambar
• Pemindai Barcode
• Pemindai Sinar-X
• Pemindai Cek
• Pemindai Logam
• Pemindai Optical Mark Reader (Omr)
Di antara jenis-jenis pemindai tersebut, pemindai gambar adalah yang paling sering disebut sebagai pemindai. Seperti halnya pada pemindai OMR, pemindai gambar juga dapat digunakan sebagai pemindai Lembar Jawaban Komputer (LJK). Agar hal tersebut dapat tercapai, dibutuhkan perangkat lunak dengan teknologi Digital Mark Reader (DMR).
Bila dikelompokkan berdasarkan cara memasukkan kertas, pemindai gambar terdiri atas 2 jenis, yaitu :

5.1. FLATBED
Pada pemindai gambar Flatbed, kertas diletakkan di atas kaca pemindai, kemudian lampu dan sensor pemindai akan bergerak menyusuri kertas tersebut untuk memperoleh gambarnya.

5.2. AUTOMATIC DOCUMENT FEEDER (ADF)

Pada pemindai gambar Automatic Document Feeder (ADF), kertas diletakkan pada baki/tray, lalu satu per satu kertas akan dimasukkan oleh bagian mekanik pemindai dengan adanya pad assy dan roller. Pada saat kertas bergerak di atas lampu pemindai, sensor pemindai bekerja untuk memperoleh gambar yang merepresentasikan kertas tersebut. Keunggulan pemindai Automatic Document Feeder (ADF) adalah :
• Kecepatannya tinggi, dapat mencapai > 10.000 lembar per jam.
• Dapat membaca dua sisi kertas sekaligus pada saat yang bersamaan.
• Dengan imprinter, pemindai dapat memberikan tanda pada lembaran yang telah dipindai.
• Sangat tepat dipasangkan dengan perangkat lunak berteknologi Digital Mark Reader serta untuk - pengarsipan dan manajemen dokumen.

6. MONITOR
Monitor atau sering kita sebut Layar tampilan Komputer. Istilah monitor biasanya digambarkan pada sebuah kotak layar yang dapat menampilkan sesuatu dari komputer. Selain itu pula istilah monitor terkadang digambarkan untuk menilai kemampuan grafis.
Ada banyak cara untuk menggolongkan monitor. Tetapi cara yang paling sering digunakan adalah dengan melihat kemampuan dari warna yang dihasilkan monitor tersebut. Minitor dapat di bagi menjadi 3 kelas, diantaranya :
• Monochrome
Monitor Monokrom biasanya menampilkan dua warna, warna background dan satu lagi adalah warna foreground. Warna tersebut adalah warna hitam dan putih, hijau dan hitam dan Kuning dan hitam.
• Gray Scale
Gray Scale monitor adalah jenis special dari monitor monochrome yang dapat menampilkan bayangan ungu yang berbeda.
• Color
Monitor Color adalah monitor berwarna yang memiliki 16 hingga 1 juta warna yang berbeda. Monitor berwarna ini terkadang disebut monitor RGB karena monitor tersebut dapat menerima 3 sinyal yang berbeda, Merah (Red), Hijau (Green) dan Biru (Blue).
Setelah mengetahui penjelasan diatas, aspek paling penting dari sebuah monitor adalah ukuran atau sering kita kenal dengan istilah screen atau ukuran layar. Seperti sebuah televisi, ukuran layar adalah perbandingkan lebar dalam satuan inci. Jarak antara satu sudut dengan sudut berlawanan lainnya. Pada umumnya ukuran minimal dari sebuah layar monitor adalah 14 inci, Sedangkan untuk monitor yang berkukuran 16 inci atau bahkan lebih sering disebut dengan monitor yang berlayar penuh. Selain itu berdasarkan ukuran, monitor pula dapat berbentuk portrait atau ukuran tinggi lebih besar dibandingkan dengan ukuran lebar atau dalam bentuk landscape ukuran lebar lebih besar dibandingkan ukuran tinggi. Monitor landscape dapat menampilkan dua halaman penuh yang saling berdampingan satu sama lain.
Resolusi dari monitor mengidentifikasikan seberapa padat pixel yang ada, Pada umumnya, semakin banyak pixel (sering di ungkapkan dengan titik per inci), semakin tajam hasil gambar yang dapat ditampilkan. Banyak monitor saat ini sudah dapat menampilkan 1024 hingga 764 pixels, untuk penggunaan kartu grafis standar. Beberapa model monitor high end sudah dapat menampilkan 1289 hingga 1024, atau bahkan 1600 hingga 1200 pixel.

Selain itu ada beberapa cara umum lainnya yang dapat dilakukan untuk menggolongkan monitor, yaitu dengan berdasarkan istilah pada tipe sinyal yang diterima oleh monitor tersebut, apakah itu analog ataukah digital. Kebanyakan monitor saat ini menerima sinyal analog, yang mensyaratkan penggunaan VGA, SVGA, 8514/A dan beberapa resolusi pewarnaan standar lainnya.
Sedikit monitor yang memiliki frekwensi yang tetap, yang berarti bahwa monitor tersebut hanya menerima inputan hanya pada satu frekwensi. Kebanyakan monitor adalah “Multiscanning” yang berarti bahwa monitor tersebut secara otomatis menyesuaikan pada frekwensi sinyal yang mereka terima. Dan hal itu menandakan bahwa monitor tersebut dapat menampilkan gambar dengan resolusi yang berbeda, tergantung dari data yang mereka terima dari video adapters.
Beberapa faktor yang mempengaruhi kualitas dari sebuah monitor adalah :
• Bandwidth
Jarak frekuensi sinyal yang dapat di atasi oleh monitor. Hal ini di tentukan dari seberapa banyak data yang dapat di proses, dan selain itu seberapa cepat monitor tersebut dapat memproses resolusi yang tinggi.
• Refresh Rate
Seberapa kali persatuan detik layar dapat di “refresh”. Untuk menghindari adanya kejapan, maka proses refresh setidaknya harus 72 Hz.
• Interlaced
Interlacing adalah teknik yang dapat dilakukan oleh monitor untuk memiliki resolusi yang lebih, tetapi hal itu dapat mengurangi kecepatan reaksi pada monitor.
• Dot Pitch
Jumlah ruang antara pixel. Semakin kecil dot pitch, maka akan semakin tajam warna yang dihasilkan.
• Convergence
Kejernihan dan ketajaman akan setiap pixel.


Perkembangan

Perangkat lunak

Kita ketahui, komputer membutuhkan data atau fakta, dimana data ini pada saat diinput akan diterjemahkan menjadi bilangan biner. Mesin komputer memproses fakta atau data menjadi suatu informasi yang berguna bagi penggunanya. Dengan Komputer diharapkan dapat meningkatkan hasil kerja dan memecahkan berbagai masalah. Sebelum menjadi informasi data tersebut diproses melalui hardware yang terletak pada CPU dengan menggunakan perangkat lunak. Perangkat lunak atau software adalah program dari komputer. Perangkat lunak adalah program yang berisi instruksi untuk melakukan proses pengolahan data. Saat ini, tingkat pemrosesan yang dikerjakan perangkat lunak bersifat machine-like (keinginan mesin) mulai berubah dengan sifat human-like (keinginan manusia). Di dalam teori informasi, disusun hirarki informasi, mulai dari data/ fakta, kemudian setelah proses seleksi dan pengurutan menjadi sesuatu yang berguna menjadi informasi. Informasi yang di susun secara sistematis dengan suatu alur logika tertentu menjadi knowledge (pengetahuan). Perangkat Keras tidak akan berfungsi tanpa adanya perangkat lunak begitu pula sebaliknya perangkat lunak tidak berfungsi tanpa adanya perangkat keras. Kedua perangkat tersebut memang saling berkaitan sehingga komputer dapat berfungsi dengan baik. Perkembangan teknologi terutama dalam perangkat keras terus diimbangi oleh perangkat lunaknya sehingga penggunaan komputer lebih maksimal. Kemampuan komputer dirasakan sangat berkaitan dengan perangkat keras dan perangkat lunaknya, maka dari itu diperlukan perangkat lunak yang benar-benar mendukung perangkat kerasnya.Bentuk paling sederhana dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar) atau 0 (salah), cara ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (16 bit), double word (32 bit). Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya. Berdasarkan perkembangannya perangkat lunak sampai dengan sekarang dibagi menjadi beberapa era yaitu :

  • Era Pemula (Pioneer) Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, Cara dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer dilakukan secara langsung dan hasil yang selesai di kerjakan komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris instruksi yang secara berurutan di proses.
  • Era Stabil Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses).
  • Era Mikro Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunanya untuk keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan.
  • Era Modern Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 processor-nya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang ditunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar