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
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
STOR | M(0102) |
|
|
0 | | 7 | 8 | | 19 | 20 | | 27 | 28 | | 39 |
MBR(20 : 39) --> IBR
- MBR(0 : 7) --> IR
- MBR(8 : 19) --> MAR
Execute 3
- AC --> MBR
- MBR --> M(MAR) --> M(0102)
by