Komputer IAS memiliki 21 instruksi yang
dikelompokkan menjadi 5 jenis yaitu transfer data, percabangan tanpa kondisi,
percabangan dengan kondisi, aritmatika dan modifikasi alamat.
Berikut ini merupakan set instruksi IAS
Set instruksi diatas nantinya digunakan untuk
memprogram komputer IAS, yang mana program adalah suatu urutan langkah-langkah
yang melakukan sebuah operasi aritmatika atau logika dan memerlukan suatu set
sinyal control yang berbeda. Yang akan mengolah setiap instruksi dari program
adalah prosesor. Prosessor baru akan
bekerja jika ada instruksi berupa program yang mana program ini disimpan
didalam memori.
Ada 3 bus utama yang menghubungkan antara
prosessor, memori, dan I/O saat mengolah instruksi yaitu bus alamat, bus
interkoneksi (data) dan bus control.
ukuran register :
1. Bus alamat
Bus alamat
digunakan oleh prosessor untuk memberikan atau mengirimkan alamat yang akan
diakses oleh prosesor baik itu alamat yang ada di I/O ataupun alamat yang ada
di memori
2. Bus Interkoneksi (Data)
Bus interkoneksi
data ini digunakan sebagai jalur pentransferan data antara memori, prosesor dan
I/O.
3. Bus Kontrol
Bus control ini
digunakan oleh prosesor untuk memberikan sinyal control kepada memori, baik itu
untuk membaca (read) isi memori ataupun menulis/menyimpan (write) ke memori.
Pada saat pengeksekusian program, prosesor
akan membaca instruksi dari memori kemudian memprosesnya sampai disimpan
kembali kedalam memori, proses ini disebut dengan Instruction Cycle. Didalam instruction cycle ini ada terbagi lagi
menjadi 2 proses yaitu :
1. Fetch
Fetch merupakan
proses membaca instruksi dari memori satu persatu setiap waktu. Fetch juga bisa
dikatakan sebagai proses yang “membangunkan” setiap bagian yang akan digunakan
dalam sebuah intruksi (accumulator, memori, dll).
2. Execute
Execute merupakan
kegiatan prosesor dalam memproses instruksi yang tadi telah dibaca pada proses
fetch.
Instruction cycle ini dilakukan tiap 1
instruksi, jadi kesimpulannya jika didalam sebuah program terdapat 100
instruksi, berarti prosesor akan melakukan 100 kali instruction cycle.
Dibawah ini akan diberi contoh bagaimana
proses instruction cycle dijalankan. Sebagai contoh sederhana, akan dibuat
sebuah program yang akan menjumlahkan data yang ada dimemori alamat 0100 dengan
data dialamat 0101 dan kemudian hasilnya disimpan di alamat 0102. Simpan
program di alamat 0010. Untuk lebih memahami perjalanan instruksi silahkan
lihat struktur detail komputer IAS.
Berikut ini adalah program nya :
LOAD M(0100)
ADD M(0101)
STOR M(0102)
Penjelasan program :
-
Instruksi LOAD M(0100), memindahkan data yang ada
pada alamat 0100 ke AC (accumulator)
-
ADD M(0101),
menjumlahkan data yang ada dialamat 0101 dengan data yang ada di AC, kemudian
data tersebut disimpan di AC.
-
STOR M(0102),
memindahkan data yang ada pada AC (hasil penjumlahan tadi) ke alamat 0102.
Berikut ini adalah urutan dari instruction
cycle nya :
1. Instruction cycle I (LOAD M(0100))
·
Fetch
1. PC (program counter) = 0010
Menginisialisasi alamat tempat penyimpanan
instruksi/program
2. PC -->
MAR
Memindahkan data pada PC ke MAR, sehingga isi
MAR sama dengan isi PC yaitu 0010
3. M(MAR) -->
MBR
Memindahkan data pada alamat 0010, ke MBR. Di
MBR akan terjadi 2 pembagian instruksi yaitu instruksi kiri dan intruksi kanan
terhadap program yang tersimpan pada sebuah alamat memori. Instruksi kiri
merupakan instruksi dari bit 0-19 dan instruksi kanan dari bit 20-39.
4. MBR(20:39) -->
IBR
Memindahkan instruksi dari MBR (bit 20-39) ke
IBR yang berguna sebagai buffer/penampung sementara. Hal ini dilakukan karena
prosesor hanya bisa memproses 1 instruksi dalam 1 waktu.
5. MBR (0:7) -->
IR
Mengirimkan instruksi, ke IR yang nantinya
akan diteruskan ke rangkaian control sehingga pada proses inilah proses
“membangunkan” bagian-bagian yang akan terlibat dalam pemrosesan instruksi.
6. MBR(8:19) -->
MAR
Proses pengambilan data dari alamat memori
(0100).
·
Execute
1. M(0100) -->
MBR
Mentransferkan nilai yang ada di memori 0100
ke MBR
2. MBR -->
AC
Memindahkan nilai dari MBR ke AC
2. Insruction cycle II (ADD M(0101))
·
Fetch
1. IBR (0:7) -->
IR
Memindahkan instruksi ADD dari IBR ke IR
2. IBR (8:19) -->
MAR
Memindahkan alamat memori ke MAR
3. PC = PC + 1
Increment data pada PC
·
Execute
1. M(0101) -->
MBR
2. MBR + AC -->
AC
Menjumlahkan data yang ada pada MBR dengan
data yang ada di AC, hasilnya disimpan di AC
3. Instruction cycle III (STOR(M0102))
·
Fetch
1. PC -->
MAR
2. M(MAR) -->
MBR
3. MBR (0:7) -->
IR
4. MBR (8:19) -->
MAR
·
Execute
1. AC -->
MBR
Memindahkan data dari AC ke MBR
2. MBR -->
M(MAR)
Memindahkan data dari MBR ke alamat memori sesuai
dengan yang tersimpan di MAR. yang mana alamat tersebut adalah 0102.
0 komentar:
Posting Komentar