Arsitektur set instruksi
Set Instruksi didefinisikan
sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para
pemrogram, atau dengan kata lain Kumpulan dari instruksi-instruksi yang berbeda
yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set). Operasi
dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau
dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine
instructions) atau instruksi komputer (computer instructions)Secara umum, ISA
ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis
register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi,
dan operasi I/O eksternalnya (jika ada).
-Jenis-jenis set instruksi
1.Data procecessing:
Arithmetic dan Logic Instructions
Data processing adalah jenis
pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan.Setelah
diolah, data ini biasanya mempunyai nilai yang informative, maka istilah pemrosesan
data sering dikatakan sebagai sistem informasi.
2. Data storage: Memory
instructions
Sering disebut sebagai memori
komputer, merujuk kepada komponen komputer, perangkat komputer, dan media
perekaman yang mempertahankan data digital yang digunakan untuk beberapa
interval waktu. Dalam penggunaan kontemporer, memori komputer merujuk kepada
bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan
Random Access Memory (RAM).Akan tetapi, istilah “computer storage” sekarang
secara umum merujuk kepada media penyimpanan massal seperti halnya hard disk.
3. Data Movement: I/O
instructions
Proses data movement ini
adalah memindahkan (dapat dikatakan membackup juga) data – data dari database
yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Data
movement terdiri dari 2 bagian besar yaitu: Load & Upload dan Export &
Import. Load berfungsi untuk memasukan data / transaksi ke sebuah table.
Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file.
4. Control: Test and branch
instructions
CU diimplementasikan sebagai
sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control
store).Control Unit – CU) adalah salah satu bagian dari CPU yang bertugas untuk
memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian
ALU (Arithmetic Logical Unit) di dalam CPU tersebut.
Teknik Pengalamatan
A. Immediate Addressing
(Pengalamatan Segera)
–
Pengalamatan yang paling
sederhana.
–
Operand benar-benar ada dalam
instruksi atau bagian dari intsruksi
–
Operand sama dengan field
alamat
–
Umumnya bilangan akan
disimpan dalam bentuk complement dua
–
Bit paling kiri sebagai bit
tanda
–
Ketika operand dimuatkan ke
dalam register data, bit tanda digeser ke kiri hingga maksimum word data
–
Keuntungan :
–
Tidak adanya referensi memori
selain dari instruksi yang diperlukan untuk memperoleh operand
–
Menghemat siklus instruksi
sehingga proses keseluruhanakan akan cepat
–
Kekurangan :
–
Ukuran bilangan dibatasi oleh
ukuran field
–
Contoh :
–
ADD 7 ; tambahkan 7 pada
akumulator
B. Direct Addressing
(Pengalamatan Langsung)
–
Teknik ini banyak digunakan
pada komputer lama dan komputer kecil
–
Hanya memerlukan sebuah
referensi memori dan tidak memerlukan kalkulus khusus
–
Kelebihan :
–
Field alamat berisi efektif
address sebuah operand
–
Kekurangan :
–
Keterbatasan field alamat
karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
–
Contoh :
–
ADD A ; tambahkan isi pada
lokasi alamat A ke akumulator
C. Indirect Addressing
(Pengalamatan tak langsung)
–
Merupakan mode pengalamatan
tak langsung
–
Field alamat mengacu pada
alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand
yang panjang
–
Kelebihan :
–
Ruang bagi alamat menjadi
besar sehingga semakin banyak alamat yang dapat referensi
–
Kekurangan :
–
Diperlukan referensi memori
ganda dalam satu fetch sehingga memperlambat proses operasi
–
Contoh :
–
ADD (A) ; tambahkan isi
memori yang ditunjuk oleh isi alamat A ke akumulator
D. Register addressing
(Pengalamatan Register)
–
Metode pengalamatan register
mirip dengan mode pengalamatan langsung
–
Perbedaanya terletak pada
field alamat yang mengacu pada register, bukan pada memori utama
–
Field yang mereferensi
register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16
register general purpose
–
Keuntungan :
–
Diperlukan field alamat
berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
–
Akses ke register lebih cepat
daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
–
Kerugian :
– Ruang alamat menjadi
terbatas
E. Register indirect addressing
(Pengalamatan tak-langsung register)– Metode pengalamatan register tidak
langsung mirip dengan mode pengalamatan tidak langsung
–
Perbedaannya adalah field
alamat mengacu pada alamat register
–
Letak operand berada pada
memori yang dituju oleh isi register
–
Keuntungan dan keterbatasan
pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan
tidak langsung
–
Keterbatasan field alamat
diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang
dapat direferensi makin banyak
–
Dalam satu siklus pengambilan
dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan
satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan
tidak langsung
F. Displacement addressing
–
Menggabungkan kemampuan
pengalamatan langsung dan pengalamatan register tidak langsung
–
Mode ini mensyaratkan
instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang
eksplisit
–
Operand berada pada alamat A
ditambahkan isi register
–
Tiga model displacement
–
Relative addressing :
register yang direferensi secara implisit adalah Program Counter (PC)
–
Alamat efektif didapatkan
dari alamat instruksi saat itu ditambahkan ke field alamat
–
Memanfaatkan konsep lokalitas
memori untuk menyediakan operand-operand berikutnya
–
Base register addressing :
register yang direferensi berisi sebuah alamat memori dan field alamat berisi
perpindahan dari alamat itu
–
Referensi register dapat
eksplisit maupun implisit
–
Memanfaatkan konsep lokalitas
memori
Indexing : field alamat mereferensi alamat memori
utama, dan register yang direferensikan berisi pemindahan positif dari alamat
tersebut
–
Merupakan kebalikan dari mode
base register
–
Field alamat dianggap sebagai
alamat memori dalam indexing
–
Manfaat penting dari indexing
adalah untuk eksekusi program-pprogram iteratif
–
Contoh :
–
Field eksplisit bernilai A
dan field imlisit mengarah pada register
G. Stack addressing
–
Stack adalah array lokasi
yang linier = pushdown list = last-in-firs-out
–
Stack merupakan blok lokasi
yang terbaik
–
Btir ditambahkan ke puncak
stack sehingga setiap blok akan terisi secara parsial
–
Yang berkaitan dengan stack
adalah pointer yang nilainya merupakan alamat bagian paling atas stack
–
Dua elemen teratas stack
dapat berada di dalam register CPU, yang dalam hal ini stack pointer
mereferensi ke elemen ketiga stack
–
Stack pointer tetap berada
dalam register
–
Dengan demikian,
referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan
pengalamatan register tidak langsung
Desain set instruksi
Desain set instruksi
merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya
adalah:
Kelengkapan set instruksi
Ortogonalitas (sifat
independensi instruksi)
Kompatibilitas : Source code
compatibility dan Object code Compatibility
Selain ketiga aspek tersebut
juga melibatkan hal-hal sebagai berikut:
Operation Repertoire: Berapa
banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya .
Data Types: tipe/jenis data
yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
Register: Banyaknya register
yang dapat digunakan
Addressing: Mode pengalamatan
untuk operand.
Membahas CPU,System bus,
cental logic unit, set register
a. Pengertian CPU
CPU merupakan
singkatan dari Central
Prosessor Unit yang
sering diartikan oleh
manusia sebagai tubuh maupun
dari otak sikomputer.
Selain dapat mengolah
berbagai hitungan Aritmatika, CPU
juga dapat mengolah
data-data yang telah
masuk kedalam komputer
dan menyimpannya kedalam Hardisk
maupun alat penyimpanan
lainnya melalui perintah prosessor yang ada di CPU. CPU
sendiri terbuat dari lempengan yang
berbahan silicon yang terdiri
atas 10 juta
transitor yang biasa
disebut “chip”. Perkembangan
CPU dari waktu
ke waktu semakin meningkat.
Awal munculnya processor,
yakni hadir dengan microprocessornya yang
di buat oleh
INTEL, satu-satunya produsen
pada masa itu
untuk pembuatan processor. Namun,
sekarang ini sudah
banyak perusahaan-perusahaan yang membuat processor.
b. bagian-bagian CPU dan
Fungsi-funsinya
Perangkat pengolah
atau pemroses data
dalam komputer adalah
prosesor atau lengkapnya adalah mikroprosesor, namun
umumnya pengguna komputer
menyebutnya sebagai CPU (Central Processor Unit). CPU merupakan
otak bagi sebuah system komputer. CPU memiliki 3 komponen utama yang merupakan
bagian tugas utamanya yaitu unit kendali (Control Unit – CU) , unit aritmetika
dan logika (Aritmetic and Logic Unit – ALU) serta komponen register yang
berfungsi membantu melakukan hubungan (interface) dari dan ke memori. Tugas CPU
adalah melaksanakan dan mengawal keseluruhan operasi komputer sehingga bisa
dikatakan hampir keseluruhan pemikiran dilaksanakan disini, sehingga sering
dinamakan sebagai otak komputer. CPU Tempatnya terletak pada papan induk
(motherboard) pada bagian inilah juga terletak
segala pusat perangkat
komputer seperti memori,
port input –output
(I/O) dan
sebagainya.
I. Control Unit
Unit kontrol
(bahasa Inggris: Control
Unit – CU)
adalah salah satu
bagian dari CPU
yang bertugas untuk memberikan
arahan / kendali
/ kontrol terhadap
operasi yang dilakukan
di bagian ALU (Arithmetic
Logical Unit) di
dalam CPU tersebut.
Output dari CU
ini akan mengatur aktivitas dari
bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU
diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang,
CU diimplementasikan sebagai
sebuah microprogram yang
disimpan di dalam
tempat penyimpanan kontrol (control store).
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
5. logika serta mengawasi kerja.
6. Menyimpan hasil proses ke memori utama.
Proses tiga langkah
karakteristik unit control:
1. Menentukan elemen dasar prosesor
2. Menjelaskan operasi mikro yang akan dilakukan
prosesor
3. Menentukan fungsi-fungsi yang harus dilakukan
unit control agar menyebabkan pembentukan operasi mikro
Masukan-masukan unit control:
1. Clock / pewaktu
Pewaktu adalah cara unit
control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro
(atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu.
Pulsa ini dikenal sebagai waktu siklus prosesor.
2. Register instruksi
Opcode instruksi saat itu
digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus
eksekusi.
3. Flag
Flag ini diperlukan oleh unit
control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.
4. Sinyal control untuk mengontrol bus
Bagian bus control bus system
memberikan sinyal-sinyal ke unit control, seperti sinyalsinyal interupsi dan
acknowledgement.
Keluaran-keluaran unit
control:
• Sinyal control didalam
prosesor: terdiri dari dua macam: sinyal -sinyal yang menyebabkan data
dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal
yang dapat mengaktifasi fungsi-fungsi ALU tertentu.
II. ALU (Aritmetic and Logic
Unit)
ALU (Arithmetic and Logic
Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian
pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan
operasi-operasi aritmatika dan
logika sesuai dengan
instruksi yang diberikan.
ALU juga merupakan salah satu
bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit
elektronik yang membuatnya
mampu melaksanakan operasi
aritmatika dan logika.
Ia mengeksekusi instruksi dan
melakukan perhitungan (tambah,
kali, kurang, dan
bagi) dan perbandingan. ALU
bekerja dengan register
yang berbeda untuk
menyimpan data atau informasi tentang
tindakan terakhir yang
dilakukan oleh unit
logika. ALU mampu membandingkan huruf, angka, atau
karakter khusus. Komponen dari rangkaian logika pada ALU adalah
gerbanggerbang logika AND,
OR, XOR, dan
NOT yang dihubungkan
pada multiplexer. Selain itu
juga terdapat juga
operasi shifter yang
komponen dasarnya adalah multiplexer. Komponen ALU mendapatkan
masukan data dari register dan sinyal kontrol dari CU. Untuk
operasi ALU dengan
dua masukan, diperlukan
dua register 8-bit:
ACC (accumulator) untuk masukan pertama dan temp (register sementara)
untuk masukan kedua. Hasil dari operasi
ALU ini adalah
data 8-bit yang
kemudian diteruskan ke
register untuk menyimpan hasil
operasi ini. Selain
itu juga dihasilkan
flag atau bit
status. Flag ini
akan diteruskan ke register
yang menyimpan flag
hasil dari operasi
ALU. Untuk mempercepat pemrosesan data
di dalam prosesor,
selain CU dan
ALU, prosesor juga
membutuhkan memori dengan kecepatan
yang sama dengan
prosesor. Memori khusus
yang diimplementasikan pada prosesor
ini disebut register.
Komponen utama penyusun
register adalah flip-flop.
III. Register
Bagian CPU
berikutnya adalah register.
Register merupakan perangkat
memori sementara yang menyimpan
data. Register membantu
CPU dalam melaksanakan
instruksi. Mereka dikelola oleh
unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan
informasi lainnya yang
sering dibutuhkan ketika
sebuah program sedang
berjalan. Register dimaksudkan
untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya
adalah register uji dan instruksi. Register instruksi berisi instruksi CPU
sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan
oleh CPU.
IV. Memory
Memori merupakan
media penyimpanan program
maupun data. Memori
semikonduktor dapat dibedakan menjadi Read Only Memory (ROM) dan Random Access Memory (RAM). ROM adalah
memori non-volatil yang
digunakan untuk menyimpan
data secara permanen. Data yang disimpan hanya dapat dibaca, tidak dapat
diubah, dan isinya tidak hilang ketika catuan
dimatikan. Sedangkan RAM adalah
tempat penyimpanan sementara
yang berisi alamat yang
isinya dapat dibaca
dan dimodifikasi. Memori
ini bersifat volatil,
isinya akan hilang ketika catuan
dimatikan.
Memori program merupakan
ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh
prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa
membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data
pada prosesor digunakan
untuk menyimpan data-data
hasil pemrosesan dari
instruksiinstruksi yang dijalankan
oleh prosesor. Pada
mikrokontroler 8051, memori
data internal sebesar 128 byte.
Didalamnya terdapat bank register, Spesial Function Register (SFR), dan
general-purpose register.
V. Input output
Terdapat dua jenis interface
input dan output pada FPGA untuk komunikasi dengan device di luar FPGA: data
port serial dan data port paralel.
Interface komunikasi serial biasa disebut UART (Universal
Asynchronous Receiver- Transmitter).
Sedangkan untuk interface komunikasi parallel disebut PIO
(Parallel Input-Output).
VI. UART
UART merupakan
suatu piranti asinkron
yang memerlukan bit
awal dan bit
akhir untuk setiap kata
digital yang dikirimkan
dari dan ke
CPU. UART dapat
deprogram untuk menentukan mode
operasinya.
UART memiliki dua mode
operasi:
1.Mode pengiriman,
dimana UART akan
mengambil data paralel
dan mengubahnya dalam aliran data seri yang berisi karakter
start, stop,dan karakter yang sama.
2.Mode penerimaan,
dimana UART akan
mengambil aliran bit
seri dan mengubahnya
ke dalam data paralel.
VII. Bus
Suatu sistem digital pada
umumnya memiliki banyak komponen register. Interkoneksi antar komponen diperlukan
untuk transfer data
dari satu komponen
ke komponen yang
lainnya. Untuk efesiensi dalam
transfer data tersebut
digunakan suatu sistem
untuk berbagi saluran yang disebut bus. Bus adalah
sekelompok kawat penghubung yang digunakan sebagai jalur untuk menyalurkan
bit-bit biner. Ada
tiga jenis bus
pada sistem prosesor
: bus data,
bus alamat, dan bus kontrol.
1. Bus
data digunakan untuk
mentransfer data antara
CPU dengan elemen
elemen lain di dalam sistem. Bus data bersifat
bidirectional, bisa menerima data dan juga mengirimkan data. Juga terdapat
internal data bus untuk transfer data sesama elemen CPU, yang dihubungkan ke
bus data sistem melalui Memory Buffer Register (MBR). MBR merupakan buffer dua
arah.
2. Bus alamat membawa alamat
dari lokasi memori, untuk mengambil data agar dapat dibaca
atau untuk menyimpan agar
dapat ditulis. Bus alamat dapat juga mengalamati elemen elemen lain di dalam
sistem seperti unit antarmuka masukan/keluaran. Bus alamat dapat membawa 16 bit
informasi digital secara serempak.
3.Bus kontrol membawa semua
isyarat kontrol dari CPU. Fungsi utama bus kontrol adalah:
sinkronisasi memori dan I/O,
penjadwalan CPU (misalnya interupsi), dan
tugas lain seperti reset dan clock. Sebelum memasuki address bus sistem
maupun control bus sistem, informasi terlebih
dahulu melewati Memory
Address Register (MAR),
yang merupakan buffer
satu arah.
VIII. Clock
Bagian CPU yang lain adalah
sistem waktu. Sistem terbuat dari sirkuit waktu untuk mengukur tugas yang
dilakukan oleh CPU. Kinerja prosesor umumnya diukur dalam “hertz.”
referensi:
https://triazis13.wordpress.com/2016/11/06/arsitektur-set-instruksi/
https://mahmudiuye.blogspot.co.id/2015/04/struktur-cpu-fungsi-cpu-alu-control.html