1.
Arsitektur Set Instruksi
A. Jenis Instruktur :
Set instruksi merupakan sekumpulan
lengkap instruksi yang dapat dimengerti oleh sebuah CPU lengkap. Karakteristik
instruksi mesin atau didefinisikan sebagai suatu aspek dalam
arsitektur komputer yang dapat dilihat oleh para pemrogram.
Jenis-jenis
struktur :
1. Pengolahan data ( data processing)
Meliputi operasi-operasi aritmetika
dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan
data numeric. Sedangkan instruksi logika beroperasi terhadpa bit-bit word
sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuanuntuk
pengolahan data lain.
2. Perpindahan data ( data movement)
berisi instruksi perpindahan data
antar register maupun modul I/O untuk dapat diolah oleh CPU maka diperlukan
instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
3. Penyimpanan data ( data storage)
berisi instruksi-instruksi penyimpan
ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena
data tersebut akan digunakan untuk operasi berikutnya, minimal untuk
ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
4. Kontrol aliran program ( program flow control)
berisi instruksi pengontrolan operasi dan percabangan ke set
instruksi lain.
Teknik
Pengalamatan
metode pengalamatan merupakan aspek dari set instruksi
arsitektur disebagian CPU disain yang didefinisikandalam set instruksi
arsitektur dan menentukan dan menentukan bagaimana bahasa mesin memberikan
petunjuk dalam arsitektur untuk mengindentifikasi operan dari setiap instruksi.
Desain Set
Instruksi
Desain set instruksi merupakan masalah yang sangat
komplek yang melibatkan banyak aspek, diantaranya adalah :
1. kelengkapan set instruksi
2. ortogonalitas (sifat indepedensi instruksi)
3. kompatibilitas :
- source code compatibility
- object code compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal
sebagai berikut :
a. Operation Repertoire: Berapa banyak dan operasi apa
saja yang disediakan, dan berapa sulit operasinya
b. Data Types : tipe/jenis data yang dapat diolah.
c. Instruction Format : panjangnya, banyaknya alamat,
dsb.
d. Register : Banyaknya register yang dapat digunakan
.
e.Addressing : Mode pengalamatan untuk operand.
2. CPU (
CentralProcessing Unit )
CPU berfungsi
sebagai pusat pengolahan dan eksekusi data berdasarkan routine–routine program
yangdiberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga
sebagai konsekuensinyamemiliki koneksi ke seluruh modul yang menjadi bagian
sistem komputer.
Penghubung bagi keseluruhan komponen komputer dalam
menjalankan tugasnya2
Komponen komputer :
1. CPU
2. Memori
3. Perangkat I/O
4. Bus
BUS
Bus adalah Jalur komunikasi yang
dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan
berbagai subsistemInterkoneksi Bus – Struktur BusSebuah bus biasanya terdiri
atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluransehingga dalam satu waktu dapat mentransfer
data 8 bit. Secara umum fungsi saluran bus dikatagorikandalam tiga bagian, yaitu :
•Saluran data
•Saluran alamat
•Saluran
kontrolSaluran Data
Lintasan bagi perpindahan data
antar modul. Secara kolektif lintasan ini disebut bus data Umumnya jumlah saluran terkait dengan panjang word, misalnya 8,
16, 32 saluran.Tujuan : agar mentransfer word dalam sekali waktu. Jumlah
saluran dalam bus data dikatakan
lebar bus , dengan satuan bit, misal
lebar bus16 bitSaluran Alamat
(Address Bus)
•Digunakan untuk
menspesifikasi sumber dan tujuan data pada bus data.
•Digunakan untuk
mengirim alamat word pada memori yang akan diakses CPU.
•Digunakan untuk
saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
•Semua peralatan
yang terhubung dengan sistem komputer, agar dapat diakses harus
memilikialamat.Contoh : mengakses port I/O, maka port I/O harus memiliki alamat
hardwarenya,Saluran kontrol (Control
Bus)Digunakan untuk mengontrol
bus data,Bus alamat dan seluruh modul yang ada.Karena
bus data dan bus alamat digunakan oleh semua komponen maka
diperlukan suatu mekanismekerja yang dikontrol melalui bus kontrol ini.Sinyal – sinyal kontrol terdiri atas
•Sinyal pewaktuan
adalah Sinyal pewaktuan menandakan validitas data dan alamat
•Sinyal–sinyal
perintah adalah Sinyal perintah berfungsi membentuk suatu operasiType BUS1.
DedicatedPenggunaan alamat terpisah dan jalur Keuntungan : Throughtput yang
tinggi, karena kemacetanlalulintas kecilKerugian : meningkatnya ukuran dan
biaya sistem2. MultiplexedPenggunnan saluran yang sama untuk berbagai keperluan
Keuntungan : Memerlukan saluranyang lebih sedikit, uang menghemat ruang dan
biayaKerugian : Diperlukan rangkaian yang lebih kompleks untuk setiap modul .
ALU (Arithmetic and Logical Unit)
ALU melaksanakan seluruh
perhitungan (penambahan, pengurangan, perkalian atau pembagian) danoperasi
logika. ALU berfungsi melakukan operasi aritmatik dan logik yang terbagi
menjadi empatkelas, yaitu decimal arithmetic, fixed point arithmetic, floating
point aritmetic dan logic operation.
Floating
Point Unit (FPU)
FPU dapat bekerja secara paralel
dengan prosesor. Dengan demikian proses penghitungan bilangan floating
point dapat berjalan lebih cepat.Keberadaan FPU integrated (bersatu dengan
prosesor) sudah menjadi kebutuhan standart komputer masa kini, karena banyak
sekali aplikasi-aplikasi yang beroperasi menggunakan bilangan
floating point.
Unit kontrol (Control Unit)
Unit kontrol ini
adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen
initerdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi
sinkronisasi kerjaantar komponen dalam menjalankan fungsi-fungsi operasinya.
termasuk dalam tanggung jawab unitkontrol adalah mengambil intruksi-intruksi
dari memori utama dan menentukan jenis instruksi tersebut.Bila ada instruksi
untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali
akanmengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari
pengolahan data dibawa olehunit kendali ke memori utama lagi untuk disimpan,
dan pada saatnya akan disajikan ke alat output.Dengan demikian tugas dari unit
kendali ini adalah:• Mengatur dan mengendalikan alat-alat input dan output.•
Mengambil instruksi-instruksi dari memori utama.• Mengambil data dari memori
utama (jika diperlukan) untuk diproses.• Mengirim instruksi ke ALU bila ada
perhitungan aritmatika atau perbandingan logika.• Mengawasi kerja dari ALU.•
Menyimpan hasil proses ke memori utama.
Register
Register merupakan alat
penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yangdigunakan
untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini
bersifatsementara, biasanya di gunakan untuk menyimpan data saat di olah
ataupun data untuk pengolahanselanjutnya. jika dianalogikan, register ini dapat
diibaratkan sebagai ingatan di otak bila kitamelakukan pengolahan data secara
manual, sehingga otak dapat diibaratkan sebagai CPU, yang
berisiingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan
mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Set Register
Apabila bit ini bernilai 0, maka
register data dapat diupdate setiap detiknya, namunapabila bit ini bernilai 1,
maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruhterhadap
kondisi RESET.
Register register Kontrol
- Register
register untuk komunikasi dengan unit unit diluar CPUMAR (Memory Address
Register) untuk menyatakan alamat lokasi operand dalam memory yang akandibaca
atau ditulisi oleh CPU.MBR atau MDR (Memory Buffer atau Data Register)
merupakan tempat penyimpanan (sementara)data yang baru saja dibaca dari atau
data yang akan dituliskan ke memoryPC (Program Counter) untuk menyatakan alamat
lokasi instruksi yang akan dibaca oleh CPU darimemory.
Cache Memory
Cache berasal
dari kata cash yakni sebuah tempat menyembunyikan atau tempat menyimpan
sementara. Sesuai definisi tersebut Cache Memory adalah tempat menyimpan
data sementara. Cara ini dimaksudkan untuk meningkatkan transfer data dengan
menyimpan data yang pernah diakses pada cache tersebut, sehingga apabila ada
data yang ingin diakses adalah data yang sama maka maka akses akan dapat
dilakukan lebih cepat. Cache memori ini terletak antara register dan memory
utama sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Penggunaan cache ditujukan untuk
meminimalisir terjadinya bottleneck dalam aliran data antara processor dan RAM.
Sedangkan dalam terminologi software, istilah ini merujuk pada tempat
penyimpanan sementara untuk beberapa file yang sering diakses (biasanya diterapkan
dalam network).
Jenis - Jenis Cache Memory
Cache umumnya terbagi menjadi
beberapa jenis, seperti L1 cache, L2 cache dan L3 cache. Cache yang dibangun ke
dalam CPU itu sendiri disebut sebagai Level 1 (L1) cache. Cache yang berada
dalam sebuah chip yang terpisah di sebelah CPU disebut Level 2 (L2) cache.
Beberapa CPU memiliki keduanya, L1 cache dan L2 built-in dan menugaskan chip
terpisah sebagai cache Level 3 (L3) cache. Cache yang dibangun dalam CPU lebih
cepat daripada cache yang terpisah. Namun, cache terpisah masih sekitar dua
kali lebih cepat dari Random Access Memory (RAM). Cache lebih mahal daripada
RAM tetapi motherboard dengan built-in cache sangat baik untuk memaksimalkan
kinerja sistem.
Fungsi dan Manfaat Cache Memory
Cache berfungsi sebagai tempat
penyimpanan sementara untuk data atau instruksi yang diperlukan oleh processor.
Secara gampangnya, cache berfungsi untuk mempercepat akses data pada komputer
karena cache menyimpan data/informasi yang telah diakses oleh suatu buffer,
sehingga meringankan kerja processor. Manfaat lain dari cache memory adalah
bahwa CPU tidak harus menggunakan sistem bus motherboard untuk mentransfer
data. Setiap kali data harus melewati bus sistem, kecepatan transfer data
memperlambat kemampuan motherboard. CPU dapat memproses data lebih cepat dengan
menghindari hambatan yang diciptakan oleh sistem bus.
Memori Virtual
Selama bertahun-tahun,
pelaksanaan berbagai strategi managemen memori yang ada menuntut keseluruhan
bagian proses berada di memori sebelum proses dapat mulai dieksekusi. Dengan
kata lain, semua bagian proses harus memiliki alokasi sendiri pada memori
fisiknya.
Pada nyatanya tidak semua
bagian dari program tersebut akan diproses, misalnya:
1. Terdapat
pernyataan-pernyataan atau pilihan yang hanya akan dieksekusi jika kondisi
tertentu dipenuhi. Apabila kondisi tersebut tidak dipenuhi, maka pilihan
tersebut tak akan pernah dieksekusi/ diproses. Contoh dari pilihan itu adalah:
pesan-pesan error yang hanya akan muncul bila terjadi kesalahan dalam eksekusi
program.
2. Terdapat
fungsi-fungsi yang jarang digunakan, bahkan sampai lebih dari 100x pemakaian.
3. Terdapat
pealokasian memori lebih besar dari yang sebenarnya dibutuhkan. Contoh pada: array,
list, dan tabel.
Hal-hal di atas telah
menurunkan optimalitasi utilitas dari ruang memori fisik. Pada memori
berkapasitas besar, hal ini mungkin tidak menjadi masalah. Akan tetapi,
bagaimana jika memori yang disediakan terbatas?
Salah satu cara untuk
mengatasinya adalah dengan overlay dan dynamic loading . Namun
hal ini menimbulkan masalah baru karena implementasinya yang rumit dan
penulisan program yang akan memakan tempat di memori. Tujuan semula untuk
menghemat memori bisa jadi malah tidak tercapai apabila program untuk overlay
dan dynamic loading . malah lebih besar daripada program yang
sebenarnya ingin dieksekusi.
Maka sebagai solusi untuk
masalah-masalah ini digunakanlah konsep memori virtual.
Pengertian
Memori virtual merupakan
suatu teknik yang memisahkan antara memori logis dan memori fisiknya. Teknik
ini mengizinkan program untuk dieksekusi tanpa seluruh bagian program perlu
ikut masuk ke dalam memori.
Berbeda dengan
keterbatasan yang dimiliki oleh memori fisik, memori virtual dapat menampung
program dalam skala besar, melebihi daya tampung dari memori utama yang
tersedia.
Prinsip dari memori
virtual yang patut diingat adalah bahwa: "Kecepatan maksimum eksekusi
proses di memori virtual dapat sama, tetapi tidak pernah melampaui kecepatan
eksekusi proses yang sama di sistem tanpa menggunakan memori virtual."
Konsep memori virtual
pertama kali dikemukakan Fotheringham pada tahun 1961 pada sistem komputer
Atlas di Universitas Manchester, Inggris (Hariyanto, Bambang : 2001).
Keuntungan
Sebagaimana dikatakan di
atas bahwa hanya sebagian dari program yang diletakkan di memori. Hal ini
berakibat pada:
·
Berkurangnya I/O yang dibutuhkan (lalu lintas
I/O menjadi rendah). Misal, untuk program butuh membaca dari disk dan
memasukkan dalam memory setiap kali diakses.
·
Berkurangnya memori yang dibutuhkan (space
menjadi lebih leluasa). Contoh, untuk program 10 MB tidak seluruh bagian
dimasukkan dalam memori. Pesan-pesan error hanya dimasukkan jika terjadi
error.
·
Meningkatnya respon, sebagai konsekuensi dari
menurunnya beban I/O dan memori.
·
Bertambahnya jumlah user yang dapat
dilayani. Ruang memori yang masih tersedia luas memungkinkan komputer untuk
menerima lebih banyak permintaan dari user.
Implementasi
Gagasan dari memori
virtual adalah ukuran gabungan program, data dan stack melampaui jumlah
memori fisik yang tersedia. Sistem operasi menyimpan bagian-bagian proses yang
sedang digunakan di memori utama (main memory) dan sisanya ditaruh di
disk. Begitu bagian di disk diperlukan, maka bagian di memori yang tidak
diperlukan akan disingkirkan (swap-out) dan diganti (swap-in)
oleh bagian disk yang diperlukan itu.
Memori virtual
diimplementasikan dalam sistem multiprogramming. Misalnya: 10 program
dengan ukuran 2 Mb dapat berjalan di memori berkapasitas 4 Mb. Tiap program
dialokasikan 256 KByte dan bagian-bagian proses di-swap masuk dan keluar
memori begitu diperlukan. Dengan demikian, sistem multiprogramming
menjadi lebih efisien.
Memori virtual dapat
dilakukan melalui dua cara:
1. Permintaan
pemberian halaman (demand paging).
2. Permintaan
segmentasi (demand segmentation). Contoh: IBM OS/2. Algoritma dari
permintaan segmentasi lebih kompleks, karenanya jarang diimplementasikan.
Referensi :
http://gha-ronk.blogspot.com/http://www.scribd.com/doc/34681874/2-Set-Instruksihttp://ocw.gunadarma.ac.id/course/industrial-technology/http://eprints.undip.ac.id/22768/1/Pert7.pdf http://agfi.staff.ugm.ac.id/blog/index.php/2009/01/rtc-ds12c887-register-data-register-kontrol/http://belajarit.um.ac.id/index.php/hardware/12-pengenalan-hardware/29-cpu.htmlhttp://gpinkom.wordpress.com/http://sawitri8580.wordpress.com/sistem-bus/
http://ikc.depsos.go.id/umum/ibam/ibam-os-html/x3801.html