Struktur main memori
CPU hanya dapat menyimpan data dan instruksi di register
yang berukuran kecil sehingga tidak dapat menyimpan semua informasi yang
dibutuhkan untuk keseluruhan proses program. Untuk mengatasi hal ini, maka CPU
harus dilengkapi dengan alat penyimpan yang berkapasitas lebih besar yaitu
memori utama. Unit ini dapat dibayangkan sebagai sekumpulan kotak-kotak yang
masing-masing dapat menyimpan sepenggal informasi baik berupa data maupun
instruksi. Tiap-tiap lokasi dari kotak ditunjukkan oleh suatu alamat (address),
yaitu berupa nomor yang menunjukkan lokasi tertentu dari kotak memori.
Ukuran memori ditunjukkan oleh satuan byte, misalnya 1 Mb, 4
Mb, 8 Mb, atau bahkan ada yang sampai 2Gb. Pada umumnya 1 byte memori terdiri
dari 8 – 32 bit (binary digit), yaitu banyaknya digit biner (0 atau 1) yang
mampu disimpan dalam satu kotak memori.
A. Random Access Memory (RAM)
Semua data dan program yang dimasukkan melalui alat input
akan disimpan terlebih dahulu di memori utama, khususnya RAM, yang dapat
diakses secara acak (dapat diisi/ditulis, diambil, atau dihapus isinya) oleh
pemrogram. Struktur RAM terbagi menjadi empat bagian utama, yaitu:
1.
Input storage, digunakan untuk menampung input
yang dimasukkan melalui alat input.
2.
Program storage, digunakan untuk menyimpan semua
instruksi-instruksi program yang akan diakses.
3.
Working storage, digunakan untuk menyimpan data
yang akan diolah dan hasil pengolahan.
4.
Output storage, digunakan untuk menampung hasil
akhir dari pengolahan data yang akan ditampilkan ke alat output.
Input yang dimasukkan melalui alat input akan ditampung
terlebih dahulu di input storage. Bila input tersebut berupa program maka akan
dipindahkan ke program storage, dan bila berbentuk data maka akan dipindahkan
ke working storage. Hasil dari pengolahan juga ditampung terlebih dahulu di
working storage dan bila akan ditampilkan ke alat output maka hasil tersebut
dipindahkan ke output storage.
B. Read Only Memory (ROM)
Dari namanya, ROM hanya dapat dibaca sehingga pemrogram
tidak bisa mengisi sesuatu ke dalam ROM. ROM sudah diisi oleh pabrik pembuatnya
berupa sistem operasi yang terdiri dari program-program pokok yang diperlukan
oleh sistem komputer, seperti misalnya program untuk mengatur penampilan
karakter di layar, pengisian tombol kunci papan ketik untuk keperluan kontrol
tertentu, dan bootstrap program. Program bootstrap diperlukan pada saat pertama
kali sistem komputer diaktifkan. Proses mengaktifkan komputer pertama kali ini
disebut dengan booting, yang dapat berupa cold booting atau warm booting.
Cold booting merupakan proses mengaktifkan sistem komputer
pertama kali untuk mengambil program bootstrap dari keadaan listrik komputer
mati (off) menjadi hidup (on). Sedangkan warm booting merupakan proses
pengulangan pengambilan program bootstrap pada saat komputer masih hidup dengan
cara menekan tiga tombol tombol pada papan ketik sekaligus, yaitu Ctrl, Alt,
dan Del. Proses ini biasanya dilakukan bila sistem komputer macet, daripada
harus mematikan aliran listrik komputer dan menghidupkannya kembali.
Instruksi-instruksi yang tersimpan di ROM disebut dengan
microinstruction atau firmware karena hardware dan software dijadikan satu oleh
pabrik pembuatnya. Isi dari ROM ini tidak boleh hilang atau rusak karena bila
terjadi demikian, maka sistem komputer tidak akan bisa berfungsi. Oleh karena
itu, untuk mencegahnya maka pabrik pembuatnya merancang ROM sedemikian rupa
sehingga hanya bisa dibaca, tidak dapat diubah-ubah isinya oleh orang lain.
Selain itu, ROM bersifat non volatile supaya isinya tidak hilang bila listrik
komputer dimatikan.
Pada kasus yang lain memungkinkan untuk merubah isi ROM,
yaitu dengan cara memprogram kembali instruksi-instruksi yang ada di dalamnya.
ROM jenis ini berbentuk chip yang ditempatkan pada rumahnya yang mempunyai
jendela di atasnya. ROM yang dapat diprogram kembali adalah PROM (Programmable
Read Only Memory), yang hanya dapat diprogram satu kali dan selanjutnya tidak
dapat diubah kembali. Jenis lain adalah EPROM (Erasable Programmable Read Only
Memory) yang dapat dihapus dengan sinar ultraviolet serta dapat diprogram
kembali berulang-ulang. Disamping itu, ada juga EEPROM (Electrically Erasable
Programmable Read Only Memory) yang dapat dihapus secara elektronik dan dapat
diprogram kembali.
C. BUS
Hubungan antara CPU dengan memori utama ataupun dengan
alat-alat input/output (I/O) dilakukan melalui suatu jalur yang disebut dengan
bus. Hubungan antara CPU dengan memori utama melalui jalur bus yang dilekatkan
pada MDR, MAR, dan unit kendali dalam CPU. Sedangkan bus yang menghubungkan CPU
dengan alat-alat I/O tidak dilekatkan langsung ke alat-alat I/O, tetapi dapat
dilakukan melalui suatu alat I/O port atau DMA controller atau I/O channel.
Bus merupakan suatu sirkuit yang merupakan jalur
transportasi informasi antara dua atau alat-alat dalam sistem komputer. Bus
yang menghubungkan antara CPU dengan memori utama disebut dengan internal bus,
sedang yang menghubungkan CPU dengan alat-alat I/O disebut external bus. Di
dalam internal bus, hubungan antara CPU dengan memori utama dilakukan melalui
data bus yang dihubungkan dengan MDR, dan melalui address bus yang dihubungkan
dengan MAR, serta melalui control bus yang dihubungkan dengan control unit.
D. PEMROSESAN INSTRUKSI
Jika pemrogram menginginkan CPU untuk mengerjakan sesuatu,
maka harus ditulis suatu instruksi yang dapat dipahami oleh CPU. Kumpulan dari
instruksi inilah yang disebut dengan program. Program yang akan diproses dan
data yang akan diolah oleh CPU harus diletakkan terlebih dahulu di memori
utama. Proses ini yang biasa kita lakukan dengan mengetikkan nama program pada
prompt DOS, atau meng-klik ikon pada sistem operasi Windows.
Instruksi-instruksi yang dapat diproses oleh CPU adalah instruksi-instruksi
yang sudah dalam bentuk bahasa mesin.
Tahap pertama dari pemrosesan suatu instruksi oleh CPU
disebut dengan instruction fetch, yaitu proses CPU mengambil atau membawa
instruksi dari memori utama ke CPU. Tahap selanjutnya (kedua) disebut
instruction execute, yaitu proses dari CPU untuk mengerjakan instruksi yang
sudah diambil dari memori utama dan sudah berada di IR register.
Waktu yang dibutuhkan untuk menyelesaikan tahap pertama
disebut waktu instruksi (instruction time), dan waktu yang dibutuhkan untuk
menyelesaikan tahap kedua disebut waktu eksekusi (execution time). Sedangkan
total waktu yang dibutuhkan untuk kedua tahap tersebut dinamakan waktu siklus
(cycle time).
Beberapa pabrik komputer mengukur kecepatan CPU berdasarkan
lamanya melakukan satu siklus mesin yang diukur dengan satuan megahertz (Mhz),
dimana satu Mhz berarti dapat diselesaikan satu juta siklus per detiknya. Suatu
pengukur waktu yang disebut dengan clock akan berdetak untuk tiap-tiap siklus
yang dilakukan. Misalnya suatu pemroses 16 Mhz berarti clock akan berdetak
sebanyak 16 juta kali tiap detiknya.
Umumnya sistem operasi mempunyai device driver untuk
setiap device controller. Dalam memulai pengoperasian I/O, device driver
me-load register yang tepat melalui device controller. Kemudian device
controller memeriksa isi dari register tersebut untuk menentukan jenis aksi apa
yang harus dilakukan (contoh pembacaan karakter dari keyboard). Controller
mulai mentransfer data dari peralatan ke buffer lokal. Ketika selesai
mentransfer, controller memberitahukan kepada device driver bahwa pekerjaan
telah selesai melalui interrupt. Device driver kemudian mengembalikan
pengontrolan ke sistem operasi atau mengirimkan informasi status.
Ada dua macam tindakan jika ada operasi I/O . Kedua macam tindakan itu adalah:
Ada dua macam tindakan jika ada operasi I/O . Kedua macam tindakan itu adalah:
1. Setelah proses I/O
dimulai, kendali akan kembali ke user program saat proses I/O selesai
(Synchronous). Instruksi wait menyebabkan CPU idle sampai interrupt berikutnya.
Akan terjadi Wait loop (untuk menunggu akses berikutnya). Paling banyak satu
proses I/O yang berjalan dalam satu waktu.
2. Setelah proses I/O
dimulai, kendali akan kembali ke user program tanpa menunggu proses I/O selesai
(Asynchronous). System call permintaan pada sistem operasi untuk mengizinkan
user menunggu sampai I/O selesai.Device-status table mengandung data masukkan
untuk tiap I/O device yang menjelaskan tipe, alamat, dan keadaannya. Sistem
operasi memeriksa I/O device untuk mengetahui keadaan device dan mengubah tabel
untuk memasukkan interrupt. Jika I/O device mengirim/mengambil data ke/dari
memory hal ini dikenal dengan nama (Direct Memory Access) DMA.
Dalam format ini operasi interrupt
driven I/O hanya melakukan transfer data dengan jumlah yang kecil, bila terjadi
pemindahan data yang besar akan terjadi overhead. Solusi masalah dapat
dipecahkan melalui penggunaan DMA (Direct Memory Access). Sesudah setting up
buffer-buffer, pointer dan penghitung I/O device, device controller mentransfer
sejumlah blok data secara langsung ke/dari buffer penyimpannya ke memori tanpa
campur tangan CPU. Hanya satu interrupt dibangkitkan per blok, untuk
memberitahukan device driver bahwa operasinya selesai, daripada satu interrupt
per byte dibangkitkan pada peralatan dengan kecepatan rendah. Sementara
controller melakukan operasinya, CPU dapat mengerjakan proses yang lain.
direct memori access
Digunakan untuk I/O device yang dapat memindahkan data dengan kecepatan tinggi (mendekati frekuensi bus memori). Device controller memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. Interrupt hanya terjadi tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC) . DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke DMA Controller . . Interrupt pada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaan bus memory yang diperlukan DMA controller didapatkan dengan bantuan bus arbiter yang dalam PC sekarang berupa chipset Northbridge .
bus
Suatu jalur transfer data yang menghubungkan setiap device pada komputer. Hanya ada satu buah device yang boleh mengirimkan data melewati sebuah bus, akan tetapi boleh lebih dari satu device yang membaca data bus tersebut. Terdiri dari dua buah model: Synchronous bus di mana digunakan dengan bantuan clock tetapi berkecepatan tinggi, tapi hanya untuk device berkecepatan tinggi juga; Asynchronous bus digunakan dengan sistem handshake tetapi berkecepatan rendah, dapat digunakan untuk berbagai macam device .
direct memori access
Digunakan untuk I/O device yang dapat memindahkan data dengan kecepatan tinggi (mendekati frekuensi bus memori). Device controller memindahkan data dalam blok-blok dari buffer langsung ke memory utama atau sebaliknya tanpa campur tangan prosesor. Interrupt hanya terjadi tiap blok bukan tiap word atau byte data. Seluruh proses DMA dikendalikan oleh sebuah controller bernama DMA Controller (DMAC) . DMA Controller mengirimkan atau menerima signal dari memori dan I/O device. Prosesor hanya mengirimkan alamat awal data, tujuan data, panjang data ke DMA Controller . . Interrupt pada prosesor hanya terjadi saat proses transfer selesai. Hak terhadap penggunaan bus memory yang diperlukan DMA controller didapatkan dengan bantuan bus arbiter yang dalam PC sekarang berupa chipset Northbridge .
bus
Suatu jalur transfer data yang menghubungkan setiap device pada komputer. Hanya ada satu buah device yang boleh mengirimkan data melewati sebuah bus, akan tetapi boleh lebih dari satu device yang membaca data bus tersebut. Terdiri dari dua buah model: Synchronous bus di mana digunakan dengan bantuan clock tetapi berkecepatan tinggi, tapi hanya untuk device berkecepatan tinggi juga; Asynchronous bus digunakan dengan sistem handshake tetapi berkecepatan rendah, dapat digunakan untuk berbagai macam device .
.register
Tempat penyimpanan beberapa buah data volatile
yang akan diolah langsung di prosesor yang berkecepatan sangat tinggi. Register
ini berada di dalam prosesor dengan jumlah yang sangat terbatas karena
fungsinya sebagai tempat perhitungan/komputasi data
cache memori
Tempat penyimpanan sementara ( volatile ) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Misalnya pipeline burst cache yang biasa ada di komputer awal tahun 90-an. Akan tetapi seiring menurunnya biaya produksi die atau wafer dan untuk meningkatkan kinerja, cache ditanamkan di prosesor. Memori ini biasanya dibuat berdasarkan desain static memory.
random access memory - main memory
cache memori
Tempat penyimpanan sementara ( volatile ) sejumlah kecil data untuk meningkatkan kecepatan pengambilan atau penyimpanan data di memori oleh prosesor yang berkecepatan tinggi. Dahulu cache disimpan di luar prosesor dan dapat ditambahkan. Misalnya pipeline burst cache yang biasa ada di komputer awal tahun 90-an. Akan tetapi seiring menurunnya biaya produksi die atau wafer dan untuk meningkatkan kinerja, cache ditanamkan di prosesor. Memori ini biasanya dibuat berdasarkan desain static memory.
random access memory - main memory
Tempat penyimpanan sementara sejumlah data
volatile yang dapat diakses langsung oleh prosesor. Pengertian langsung di sini
berarti prosesor dapat mengetahui alamat data yang ada di memori secara
langsung. Sekarang, RAM dapat diperoleh dengan harga yang cukup murah dangan
kinerja yang bahkan dapat melewati cache pada komputer yang lebih lama.
extension memory
Tambahan memory yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini memberi gambaran kasar kemampuan dari perangkat tersebut, sebagai contoh misalnya jumlah VGA memory, soundcard memory.
secondary storage
extension memory
Tambahan memory yang digunakan untuk membantu proses-proses dalam komputer, biasanya berupa buffer. Peranan tambahan memori ini sering dilupakan akan tetapi sangat penting artinya untuk efisiensi. Biasanya tambahan memori ini memberi gambaran kasar kemampuan dari perangkat tersebut, sebagai contoh misalnya jumlah VGA memory, soundcard memory.
secondary storage
Media penyimpanan data yang non-volatile yang
dapat berupa Flash Drive, Optical Disc, Magnetic Disk, Magnetic Tape. Media ini
biasanya daya tampungnya cukup besar dengan harga yang relatif murah.
Portability-nya juga relatif lebih tinggi.