Arsitektur Set Instruksi
1. Jenis-jenis
instruksi
1. Data processing: Arithmetic
dan Logic Instructions
2. Data storage: Memory
instructions
3. Data Movement: I/O
instructions
4. Control: Test
and branch instructions
Instruksi
aritmetika (arithmetic instruction) memiliki kemampuan untuk mengolah
data numeric. Sedangkan instruksi logika (logic instruction) beroperasi
pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut
dilakukan terutama dilakukan untuk data di register CPU. Instruksi-inslruksi
memori diperlukan untuk memindah data yang terdapat di memori dan register. Instruksi-instruksi
I/O diperlukan untuk memindahkan program dan data kedalam memori dan
mengembalikan hasil komputasi kepada pengguna. Instruksi-instruksi control
digunakan untuk memeriksa nilai data, status komputasi dan mencabangkan ke set
instruksi lain.
2.
Teknik
pengalamatan
Untuk menyimpan data ke dalam memori
komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/
address) agar ketika data tersebut diperlukan kembali, komputer bisa
mendapatkannya sesuai dengan data yang pernah diletakkan di sana. Untuk media
penyimpanan yang bersifat sequential access storage device (SASD) seperti kaset
(magnetic tape), alamat tersebut tidak terlalu dipusingkan karena pasti data
disimpan secara berurutan (sequential/ consecutive) mulai dari depan hingga ke
akhir bagian dari pita kaset. Begitu juga dengan data yang diorganisasi secara
sequential, di alamat manapun data disimpan, data akan tetap diakses secara
berurutan pula, mulai dari record pertama hingga ke record terakhir.
Teknik pengalamatan ini hampir sudah tidak
diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software
yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana
datanya akan disimpan (semua sudah otomatis dilakukan oleh si software). Jadi,
yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan
teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di
alamat memori tertentu dan dapat diambil kembali dengan tepat.
Ada 3 teknik dasar untuk pengalamatan, yakni
1.
Pemetaan langsung (direct mapping) yang
terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan
Pengalamatan relatif (relative addressing)
2.
Pencarian Tabel (directory look-up)
3.
Kalkulasi (calculating).
3. 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
CPU (Central Processing Unit)
System BUS
System bus atau bus
sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem
komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya.
Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam
komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara
dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat
diakses dan dieksekusi oleh CPU melalui perantara sistem bus.
Sebuah komputer memiliki beberapa bus, agar
dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari
arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah
1.
Organisasi BUS
1.
Jalur Kontrol
·
Berisi signal request dan sinyal
acknowledgements
·
Mengindikasikan tipe informasi pada jalur
data.
2.
Jalur Data
·
Membawa informasi antara sumber dan tujuan
data dan alamat dan perintah-perintah
kompleks
Struktur BUS
1.
BUS DATA
·
Saluran data memberikan lintasan bagi
perindahan data antara dua modul sistem .
·
Besar jalur bus data mempengaruhi kinerjanya,
contoh : 8, 16, 32 dan 64 bit
2.
BUS ALAMAT
·
Identifikasi sumber atau tujuan data pada bus
data
·
Mengalamati port-port I/O
·
Contoh : jika CPU akan membaca word ( 8, 16
atau 32 bit) data dari memori maka CPU akan menaruh alamat word yang dimaksud
pada saluran alamat
3.
BUS KONTROL
·
Mengontrol akses ke saluran alamat dan penggunaan
data dan saluran alamat.
·
Mengendalikan dan mengatur timing informasi :
a.
Sinyal read /write
b.
Interrupt request
c.
Sinyal clock
4.
Koneksi BUS
1.
Bus
data
·
Membawa data : Dalam hal ini
tidak ada perbedaan antara data dan instruksi.
·
Besar jalur ini mempengaruhi
kinerjanya, contoh : 8, 16, 32, 64 bit.
2. Bus alamat
·
Identifikasi sumber atau
tujuan data
·
Contoh : CPU perlu membaca
instruksi (data) dari lokasi yang diberikan dalam memori.
·
Lebar Bus menunjukkan
kapasitas maksimum memori suatu sistem, contoh : 8080 memiliki 16 bit bus
alamat yang memberikan 64k space alamat
3.
Control
BUS
·
Mengendalikan dan mengatur
timing informasi :
1. Sinyal read/write memori.
2. Interrupt request
3. Sinyal Clock
- Tipe BUS
Menurut Berkeley :
1. Processor-Memory Bus (desain spesifik)
·
pendek dan berkecepatan
tinggi
·
Hanya dibutuhkan untuk
berpasangan dengan sistem memori.
·
Memaksimalkan bandwidth
memori-ke-prosesor.
·
Menghubungkan secara
langsung dengan prosesor.
·
Mengoptimalkan transfer blok
cache.
2. I/O Bus ( standard industri)
·
Pada umumnya adalah lebih
lambat dan panjang
·
Diperlukan untuk berpasangan
dengan berbagai macam device I/O.
·
Menghubungkan antara
processor-bus memori atau dengan bus backplane.
3.
Backplane
Bus ( kepemilikan atau standard)
·
Backplane: suatu struktur
interkoneksi di dalam chasis
·
Mengijinkan prosesor,
memori, dan device I/O untuk dapat eksis pada waktu bersamaan
·
Keuntungan harga: satu bus
untuk semua komponen
ALU (Arithmetic
And Logic Unit)
ALU, singkatan dari Arithmetic
And Logic Unit (Bahasa indonesia: unit
aritmatika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitunga aritmtika 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:
- sama dengan (=)
- tidak sama dengan (<>)
- kurang dari (<)
- kurang atau sama dengan dari (<=)
- lebih besar dari (>)
- lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
1. REPRESENTASI BILANGAN FIXED-POINT
Utk representasi bilangan fixed-point
diperlukan :
- lokasi atau register penyimpanan computer yg ukurannya memadai utk menyimpan seluruh digit bilangan
- kemungkinan utk menjaga track tempat beradanya point tersebut
contoh:
contoh
desimal utk representasi 5 digit. Jika diasumsikan posisi point adalah
3 klasifikasi dasar representasi
fixed-point
- representasi mid-point dimana terdapat digit baik sebelum dan sesudah point tersebut
- representasi integer dimana tidak terdapat digit setelah point desimal
- representasi pecahan dimana tidak ada digit sebelum point decimal
2. REPRESENTASI BILANGAN FLOATING-POINT
Utk merepresentasikan floating-point
diperlukan :
- lokasi atau register penyimpanan computer dgn ukuran memadai utkmenyimpan semua digit signifikan dari bilangan tersebut
- ruang penyimpanan tambahan utk menyimpan posisi ppoint tersebut, ruang tambahan ini biasanya berada di dalam lokasi yg sama atau terpisah.
CU (Control Unit)
Kontrol unit adalah proses yang sulit, terutama dalam merancang. Tapi hari ini skenario telah berubah. Sebuah unit kontrol dijalankan dalam bentuk microprograms
yang tetap berada dalam toko kontrol. Ada
sequencer mikro yang memilih kata-kata dan bagian-bagian tertentu dari
kata-kata secara langsung mengelola berbagai baian komputerr. Bagian
ini aritmatika dan logika unit, bus, register instruksi, register dan input /
output. Hari ini komputer terbaru
mungkin memiliki anak perusahaan pengendali untuk setiap subsistem, yang akan
diawasi oleh unit kontrol utama.
Fungsi Control Unit:
Sebuah control unit dapat digambarkan sebagai semacam circuit yang
mengawasi jalur informasi yang berjalan diatas prosesor dan mengatur berbagai
kegiatan dari unit-unit yang berada didalamnya
•
Ini membawa keluar banyak tugas seperti decoding, mengambil,
penanganan eksekusi dan akhirnya menyimpan hasil.
•
Hal ini mengontrol eksekusi instruksi secara berurutan.
•
Ini panduan aliran data melalui berbagai bagian komputer.
•
Ini menafsirkan instruksi.
•
Ini mengatur waktu kontrol dari prosesor.
REGISTER
Register prosesor,
dalam arsitektur kompute,
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.
1.
Register set
Prosesor
memiliki 16 register 16-bit, meskipun hanya 12 dari mereka adalah tujuan yang
benar-benar umum. Empat pertama telah mendedikasikan menggunakan:
- r0 (alias PC) adalah program counter. Anda bisa melompat dengan menentukan r0, dan konstanta yang diambil langsung dari aliran instruksi menggunakan pasca-kenaikan mode pengalamatan r0. PC selalu bahkan.
- r1 (alias SP) adalah stack pointer. Ini digunakan oleh panggilan dan instruksi dorong, dan dengan penanganan interupsi. Hanya ada satu stack pointer; MSP430 tidak memiliki apa pun yang menyerupai mode supervisor. Pointer stack selalu bahkan; Tidak jelas apakah LSB bahkan diimplementasikan.
- r2 (alias SR) adalah register status. Bit yang ditugaskan sebagai berikut:
- SCG (sistem clock generator), OSCOFF (off osilator), dan CPUOFF digunakan untuk mengontrol daya-rendah berbagai modus.
Gie adalah mengaktifkan interrupt global. Mematikan masker
bit ini menyela. (CATATAN:.. Mungkin tertunda oleh 1 siklus, sehingga
interrupt dapat diambil setelah instruksi setelah Gie dibersihkan Tambahkan PDN
atau jelas Gie satu instruksi lebih awal dari yang sebenarnya "bagian
kritis" Anda)
N, Z, C dan V adalah bit status yang biasa prosesor, ditetapkan
sebagai efek samping untuk eksekusi instruksi. Jika r2 ditentukan sebagai
tujuan, bit eksplisit ditulis mengesampingkan efek samping. Sebuah set
instruksi semua 4 bit, atau tidak satupun dari mereka. Instruksi logis
diatur C untuk kebalikan dari Z (C diatur jika hasilnya TIDAK nol), dan V yang
jelas ke 0.
C adalah “membawa” sedidkit sebagai lawn sedikit “meminjam’ ketika
dikurangkan. Artinya, kurangi dengan membawa AB menghitung A + ~ B +
Carry. (~ Adalah C "tidak" atau "bitwise invert"
operator.)
Perhatikan bahwa instruksi dasar bergerak TIDAK mengatur bit-bit
(kecuali jika pindah ke r2).
- r3 ini didesain untuk 0. Jika ditetapkan sebagai sumber, nilainya adalah 0. Jika ditetapkan sebagai tujuan, nilai tersebut akan dibuang.
2. Control REGISTER
|