RSS
Hello! Welcome to my blog. This blog is purposefully created for you to share knowledge and experience.

Bagaimana Penjumlahan Data di Memori pada Komputer IAS?


Pada kuliah minggu lalu, pada mata kuliah Arsitektur Komputer dan Sistem Operasi saya mendapat materi bagaimana membuat program dalam komputer IAS, yaitu bagaimana menjumlahkan data dimemori alamat 0100 dengan data dialamat 0101 dan simpan hasilnya dialamat memori 0010. Pada dasarnya fungsi dasar komputer adalah mengeksekusi suatu program, yang merupakan kumpulan instruksi tersimpan dalam memori. Dalam bentuk paling sederhana, pengolahan instruksi terdiri dari dua langkah yaitu:
  • Prosesor membaca instruksi dari memori, satu persatu setiap waktu (fetch)
  • Eksekusi setiap instruksi (execute)
Eksekusi suatu program merupakan pengulangan proses fetch dan eksekusi instruksi. Nah, sekarang bagaimana menjumlahkan data di memori alamat 0100 dengan data dialamat 0101 kemudian menyimpan hasilnya dialamat memori 0010. Sebelumnya, perhatikan dulu apa saja register komputer IAS dan bagaimana struktur detail dari komputer IAS itu sendiri.

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.

Struktur Detail Komputer IAS.

Gambar 1: Struktur Detail Komputer IAS

Secara analogi untuk permasalahan di atas dapat saya gambarkan seperti yang terlihat pada Gambar 2 di bawah ini.
Gambar 2 : Memori



Ø  FETCH 1:

  • PC = 0010 
  • PC -> MAR, yang maksudnya MAR = PC = 0010 
  • M(MAR) -> MBR, yang artinya MBR diisi dengan alamat memori M(0010) yang isinya instruksi
  • MBR (20:39) -> IBR, maksudnya pada instruksi (20:39) disimpan sementara di IBR 
  • MBR (0:19) -> IR, maksudnya pada instruksi (0:19) akan dibawa ke IR untuk di eksekusi. 
  • MBR (8:19) -> MAR

Ø  EXECUTE 1:
  • M(0100) -> MBR, maksudnya nilai yang ada pada alamat M(0100) dibawa ke MBR, jadi MBR sekarang berisi nilai dari alamat M(0100) = A
  • MBR -> AC, maksudnya nilai yang ada di MBR di transfer ke AC, jadi sekarang AC = A.


Ø  FETCH 2:
  • IBR (0:7) -> IR, maksudnya instruksi yang tersimpan sebelumnya di IBR dibawa ke IR, dimana isi instruksinya adalah ADD
  • IBR (8:19) -> MAR, maksudnya alamat memori yang sebelumnya tersimpan di IBR dibawa ke MAR, dimana MAR sekarang berisi M(0101).
  • PC = PC + 1, untuk pindah ke alamat memori selanjutnya yaitu kealamat memori M(0011).


Ø  EXECUTE 2:
  • M(0101) -> MBR, maksudnya nilai yang ada di alamat M(0101) ditransfer ke MBR.
  • MBR + PC, maksudnya, karena instruksinya tadi adalah ADD, jadinya sekarang nilai yang tersimpan di MBR dijumlahkan dengan nilai yang tersimpan sebelumnnya di AC, kemudian disimpan lagi di AC.


Ø  FETCH 3:
  • PC -> MAR, maksudnya MAR = PC = 0011
  • M(MAR) -> MBR, maksudnya MBR sekarang berisi instruksi alamat memori M(0011), yang isinya
  • MBR (0:7) -> IR, maksudnya instruksi yang ada di MBR (0:7) di bawa ke IR, yang isinya adalah Stor
  • MBR (8:19) -> MAR , maksudnya alamat memori yang ada di MBR(8:19) di transfer ke MAR yang isinya adalah M(0102).


Ø  EXECUTE 3:

  • AC -> MBR, maksudnya nilai yang sebelumnya tersimpan di AC di transfer ke MBR yang isinya A+B.
  • MBR -> M(MAR), maksudnya alamat memori yang tersimpan di MBR, yang isinya M(0102), yang digunakan untuk menyimpan hasil penjumlahan tadi ke alamat M(0102).


Jadi, demikianlah pemrosesan sebuah instruksi untuk melakukan penjumlahan data di memori alamat 0100 dengan data dialamat 0101, hingga akhirnya menyimpan hasilnya dialamat memori 0010. Pada pemrosesan tersebut terdapat 3 Fetch Cycle dan 3 Execute Cycle.

Itulah tadi materi yang dapat saya pahami pada kuliah minggu lalu, semoga bermanfaat bagi teman-teman sekalian, tidak menutup kemungkinan kalau ada kekurangan atau kesalahan dalam penjelasan tadi, mohon kritik dan sarannya yang membangun untuk penjelasan dan penulisan selanjutnya.

Terima Kasih.

0 komentar:

 
Copyright 2009 Made for you. All rights reserved.