1.
Arsitektur Set
Koputer
Operasi
dari CPU ditentukan oleh instruksi-instruksi yangdilaksanakan atau
dijalankannya. Instruksi ini sering disebutsebagai instruksi mesin (mechine
instructions) atau instruksikomputer (computer instructions).
Defenisi
:
Kumpulan
dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU
disebut set Instruksi (Instruction Set).
Jenis – Jenis dari instruksi mesin (set instruksi) :
-
Operation Code(opcode) :
menentukan operasi yang akan dilaksanakan
-
Source Operand
Reference : merupakan input bagi operasi yang akan dilaksanakan
-
Result Operand
Reference : merupakan hasil dari operasi yang dilaksanakan
-
Next instruction
Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya
setelah instruks yang dijalankan selesai .
Lokasi Set
Instruksi :
Sourcedan result operands dapat berupa salah
satu diantara
tiga
jenis berikut ini:
1. Main or Virtual Memory
2. CPU Register
3. I/O Device
Desain set
instruksi
Desain set instruksi merupakan masalah yang sangat
komplek yang melibatkan banyak aspek, diantaranya adalah:
1.Kelengkapan
set instruksi
2.Ortogonalitas
(sifat independensi 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 olah
c) Instruction Format: panjangnya, banyaknya alamat, dsb.
d) Register: Banyaknya register yang dapat digunakan
e) Addressing: Mode pengalamatan untuk operand
Salah
satu cara tradisional untuk menggambarkan arsitekturprosessor adalah dengan
melihat jumlah alamat yangterkandung dalam setiap instruksinya.
Jumlah
alamat maksimum yang mungkin diperlukan dalam
sebuah
instruksi :
1. Empat Alamat ( dua
operand, satu hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua
operand, satu hasil)
3. Dua Alamat (satu
operand merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan accumulator untuk
menyimpan operand dan hasilnya)
Contoh:
Instruksi untuk menghitung persamaan:
Y = (A – B) / (C + D * E
1. CENTRAL PROCESSINGUNIT
STRUKTUR BUS
Sebuah bus biasanya terdiri atas beberapa saluran.
Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat
mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan dalam tiga
bagian, yaitu saluran data, saluran alamat dan saluran control. Saluran
data(data bus) adalah 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 dengan tujuan agar mentransfer word dalam
sekali waktu. Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan
bit, misal lebar bus 16 bit.
KONEKSI BUS
Bus merupakan listasan yang menghubungkan dua atau
lebih komponen komputer. Sifat penting dan merupakan syarat utama bus adalah media
transmisi yang dapat di gunakan bersama oleh sejumlah perangkat yang terhubung
Karena digunakan bersama, iperlukan aturan main agar tidak terjadi
tabrakan data atau kerusakan data yang ditransmisikan. Walaupun digunakan
bersama namun dalam satu waktu hanya ada sebuah perangkat yang dapat
menggunakan bus.
TIPE BUS
Berdasar jenis busnya, bus dibedakan menjadi bus yang
khusus menyalurkan data tertentu, Misalnya paket data saja, atau alamat
saja, jenis ini disebut dedicated bus. Namun apabila bus dilalukan informasi
yang berbeda baik data, alamat maupun sinyal kontrol dengan metode mulipleks
data maka bus ini disebut multiplexed bus. Keuntungan mulitiplexed bus adalah
hanya memerlukan saluran sedikit sehingga dapat menghemat tempat, namun
kerugiannya adalah kecepatan transfer data menurun dan diperlukan mekanisme
yang komplek untuk mengurai data yang telah dimulitipleks. Saat ini yang
umum, bus didedikasikan untuk tiga macam, yaitu bus data, bus alamat dan
bus kontrol.
ALU
ALU,
singkatan dari Arithmetic And Logic Unit salah satu bagian dalam dari
sebuah mikroprosesoryang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan
dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR.
tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua
perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi
program. ALU melakukan operasi aritmatika yang lainnya. Seperti pengurangan, pengurangan,
dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik
di ALU yang digunakan untuk melaksanakan operasi aritmatika ini
disebutadder. ALU melakukan operasi arithmatika dengan dasar pertambahan,
sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan
pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di
ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebutadder.
Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai
dengan instruksi program. Operasi logika (logical operation) meliputi
perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama
dengan (=)
b. tidak
sama dengan (<>)
c. kurang
dari (<)
d. kurang
atau sama dengan dari (<=)
e. lebih
besar dari (>)
f. lebih
besar atau sama dengan dari (>=)
CU ( CONTROL UNIT )
Tugas
dari CU adalah sebagai berikut:
1. Mengatur dan mengendalikan alat-alat input dan output.
2. Mengambil instruksi-instruksi dari memori utama.
3. Mengambil data dari memori utama kalau diperlukan oleh
proses.
4. Mengirim instruksi ke ALU bila ada perhitungan
aritmatika atau perbandingan logika serta mengawasi kerja.
5. Menyimpan hasil proses ke memori utama.
MACAM-MACAM CU
Single-Cycle CU
Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya setiap instruksi ada pada satu cycle,
maka dari itu tidak memerlukan state. Dengan demikian fungsi boolean
masing-masing control linehanya merupakan fungsi
dari opcode saja. Clock cycle harus mempunyai panjang yang
sama untuk setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu
proses men-decode opcode untuk mengelompokkannya menjadi 4 macam
instruksi (yaitu di gerbang AND), dan pemberian sinyal kontrol berdasarkan
jenis instruksinya (yaitu gerbang OR). Keempat jenis instruksi adalah
“R-format” (berhubungan dengan register), “lw” (membaca memori), “sw” (menulis
ke memori), dan “beq” (branching). Sinyal kontrol yang dihasilkan bergantung
pada jenis instruksinya. Misalnya jika melibatkan memori ”R-format” atau ”lw”
maka akan sinyal ”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw”
atau “sw” maka akan diberi sinyal kontrol ke ALU, yaitu “ALUSrc”.
Desain single-cycle ini lebih dapat bekerja dengan baik dan benar
tetapi cycle ini tidak efisien.
Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle,
unit kontrol yang multi-cycle lebih memiliki banyak fungsi.
Denganmemperhatikan state dan opcode, fungsi boolean dari masing-masing output control
line dapat ditentukan. Masing-masingnya akan menjadi fungsi dari 10
buah input logic. Jadi akan terdapat banyak fungsi boolean, dan
masing-masingnya tidak sederhana. Pada cycle ini, sinyal kontrol
tidak lagi ditentukan dengan melihat pada bit-bit instruksinya.
Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan
dijalankan CPU; bukan instruksi cycle selanjutnya.
Register
Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang
digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat
terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum
digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
Register prosesor berdiri pada tingkat tertinggi
dalam hierarki
memori: ini berarti bahwa
kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan
harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara
yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti
"register 8-bit", "register 16-bit", "register
32-bit", atau "register 64-bit" dan lain-lain. Istilah
register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks
secara langsung untuk melakukan input/output terhadap sebuah instruksi yang
didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register
Arsitektur". Sebagai contoh set
instruksi Intel x86 mendefinisikan sekumpulan delapan buah register
dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat
mengandung lebih dari delapan register 32-bit.
JENIS REGISTER
Register
terbagi menjadi beberapa kelas:
-
Register data, yang digunakan
untuk menyimpan angka-angka dalam bilangan bulat (integer).
-
Register alamat, yang
digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
-
Register general purpose, yang dapat digunakan untuk menyimpan angka dan
alamat secara sekaligus.
-
Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan
titik mengambang (floating-point).
-
Register konstanta (constant register), yang digunakan untuk
menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only),
semacam phi, null, true, false dan lainnya.
-
Register vektor, yang
digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
-
Register special purpose yang dapat digunakan untuk menyimpan data
internal prosesor, seperti halnya instruction pointer, stack pointer, dan
status register.
-
Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa
arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang
berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register
langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register
jenis ini tidak menjadi standar antara generasi prosesor
Virtual Memory
Apa
itu Virtual Memori? Mungkin sebagian dari pengguna Microsoft Windows sudah
tidak asing lagi dengan istilah itu. Karena sering sekali windows memberi
peringatan kepada user tentang “Memory is low”, ini terjadi karena komputer
kekurangan memori untuk menjalankan sebuah program. Hal ini sering terjadi pada
saat komputer ingin menjalankan program yang memerlukan sumber memori yang
besar seperti Game, mungkin banyak gamer sering sekali terganggu dengan masalah
seperti ini.
Sesuai
dengan namanya “Virtual Memori” berarti :
- Memori : Ruang penyimpanan
- Virtual : Tiruan / tidak nyata.
Jadi
Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk
menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia
menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di
dalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan
beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang
disebut dengan page
file. Proses pemakaian Virtual memori di windows umumnya dapat
dilihat di Task manager.
Dalam
sistem operasi berbasis Windows NT, terdapat sebuah komponen yang mengatur
memori virtual yaitu Virtual Memory Manager (VMM) yang memiliki fungsi untuk
dapat memetakan alamat-alamat virtual yang dimiliki oleh sebuah proses yang
berjalan ke dalam page memori fisik di dalam komputer. Dengan cara ini maka
setiap proses dapat memperoleh memori virtual yang cukup agar dapat berjalan
dan tidak mengganggu memori yang sedang digunakan oleh proses lainnya. VMM
menangani paging antara RAM dan page file agar setiap aplikasi 32-bit dapat
mengakses memori hingga 4 Gigabyte, meskipun Windows hanya membatasinya pada
kisaran 2 Gigabyte.
Jadi,
untuk komputer yang mempunyai memori / RAM kecil ada baiknya memperbesar
virtual memori agar tetap dapat menjalankan aplikasi yang membutuhkan memori
yang besar terutama untuk game.
Chache
Memory
Cache
memory
adalah memori yang sangat cepat yang dibangun dalam sebuah central processing
unit komputer
(CPU), atau ditempatkan dalam chip yang terpisah. Fungsi
memori
cache untuk menyimpan instruksi yang berulang kali diperlukan
dan dapat diakses sangat cepat untuk menjalankan program, memperbaiki sistem
secara keseluruhan. Keuntungan dari memori cache 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.
Setelah
sebagian besar program terbuka dan berjalan, mereka menggunakan sumber daya
yang sangat sedikit. Ketika sumber daya ini disimpan dalam cache, program dapat
beroperasi lebih cepat dan efisien. Cache dalam sistem komputer
yang menjalankan CPU dengan cache kecil bisa memiliki benchmark yang lebih
rendah. 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.
Disk
caching menerapkan prinsip yang sama pada hard disk cache memori yang juga
berlaku untuk CPU. Data hard yang sering diakses disk disimpan dalam segmen
terpisah RAM untuk menghindari harus mengambilnya dari hard disk
berulang-ulang. Dalam hal ini, RAM lebih cepat daripada teknologi piringan CD
yang digunakan dalam hard disk konvensional. Situasi ini akan berubah
bagaimanapun, sebab hard disk hybrid sudah ada dimana-mana. Disk ini memiliki
built-in flash memori cache. Akhirnya, hard drive akan 100% mirip flash drive,
menghilangkan kebutuhan untuk RAM disk caching, sebagai flash memory yang lebih
cepat dari RAM.
Referensi :