Sabtu, 14 April 2012 |
1 komentar
Untuk mempelajari bagaimana cara komputer IAS bekerja terlebih dahulu kita mengetahui register-register yang digunakan, set instruksi dan struktur pada komputer IAS.
Register Komputer IAS
Memory buffer register (MBR)
berisi data yang akan disimpan di memori, atau digunakan untuk menerima data dari memori.
Memory address register (MAR)
berisi alamat memori suatu data yang hendak ditulis dari MBR atau dibaca ke MBR.
Instruction register (IR)
berisi 8 bit kode instruksi yang hendak dieksekusi.
Instruction buffer register (IBR)
tempat menyimpan instruksi sementara.
Program counter (PC)
berisi alamat dari instruksi yang hendak diambil dari memori.
Accumulator (AC) dan multiplier quotient (MQ)
Tempat penyimpanan sementara operand dan hasil operasi ALU.
Beberapa set instruksi dari komputer IAS
Baik, mari kita bahas bagaimana komputer IAS ini bekerja. Untuk mempermudahkan pemahaman, mari kita buat sebuah permasalahan perhitungan pada komputer IAS ini.
Contoh :
Jumlahkan data pada memori 0100 dengan data pada memori 0101, simpan hasil penjumhannya pada memori 0102. Instruksi program terdapat pada memori 0010
Jawaban: (dalam bahasa IAS)
Kita misalkan bahwa bentuk penjumlahannya A + B
LOAD M(0100) --> A
ADD M(0101) --> B
STOR M(0102)
Penjelesan:
LOAD M(0100)
--> Ambil data pada memori 0100 dan disimpan di register AC
ADD M(0101)
--> Jumlahkan data pada memori 0101 dengan data pada register AC dan hasilnya disimpan pada register AC
STOR M(0102)
--> Simpan data pada register AC ke memori 0102.
Untuk menjalan instruksi set diatas, komputer IAS melakukan dengan dua langkah yang disebut dengan instruction cycle, dua langkah tersebut adalah fetch dan execute.
Instruction cycle program diatas.
Fetch 1
- PC (Program Counter) berada pada memori dengan alamat 0010
- Alamat memori pada PC à dicopykan pada MAR sehingga MAR berisi alamat memori 0010 dan menginstruksi kan MBR untuk membaca data pada alamat memori 0010
- Data alamat memori pada M(MAR) à dicopykan ke MBR sehingga MBR berisikan baris instruksi seperti terlihat dibawah ini
- LOADM(0100)ADDM(0101)0781920272839
Data pada alamat memori MBR(20 : 39) --> dicopy ke IBR(0 : 7) - Data pada alamat memori MBR(0 : 7) --> dicopykan ke IR, IR berisikan instruksi LOAD
- Data pada alamat memori MBR(8 : 19) --> dicopykan ke MAR
Execute 1
M(0100) --> MBR, sehingga MBR mempunyai data = A
MBR --> AC, data pada MBR disimpan pada register AC
Fetch 2
- IBR(0 : 7) --> IR, IR berisikan instruksi ADD
- IBR(8 : 19) --> MAR, MAR berisikan alamat memori M(0101)
- PC = PC + 1 --> untuk mengeksekusi baris program berikutnya pada alamat memori M(0011)
Execute 2
- M(0101) --> MBR, MBR membaca/mengcopy data pada alamat memori M(0101)
- MBR + AC --> AC, data pada alamat memori M(0101) dijumlahkan dengan data pada register AC dan hasilnya disimpan pada register AC
Fetch 3
- PC --> MAR
- M(MAR) --> MBR --> MBR berisi seperti terlihat pada tabel dibawah
- STORM(0102)
0781920272839 - MBR(0 : 7) --> IR
- MBR(8 : 19) --> MAR
Execute 3
1 komentar:
Terima kasih atas penjelasannya. Saya jadi tambah paham dengan perhitungan dan urutan proses komputer IAS
Posting Komentar