Tampilkan postingan dengan label IAS. Tampilkan semua postingan
Tampilkan postingan dengan label IAS. Tampilkan semua postingan

IAS Computer Programming

Pada edisi kali ini penulis akan membahas membuat program pada komputer IAS, komputer generasi pertama. Bahasa pemrograman yang digunakan yaitu bahasa assembler milik komputer IAS. Komputer IAS merupakan komputer pertama sekali yang menggunakan prinsip store - program dalam pengolahan data. Prinsip ini terus dipakai untuk komputer generasi sekarang. Berikut ini contoh soal yang akan kita buat programnya.

Kalikan data di memori alamat 0551 dengan data pada alamat memori 0552 dan hasilnya disimpan pada alamat memori 0556 untuk MSB-nya dan alamat memori 0557 untuk LSB-nya dan jumlahkan data LSB-nya dengan data pada alamat memori 0553 dan hasilnya disimpan pada alamat memori 0559. Program Counter (PC) berada pada alamat 0011.

Jawaban

LOAD  MQ, M(0551)
MUL   M(0552)
STOR  M(0556)
LOAD  MQ
STOR  M(0557)
ADD   M(0553)
STOR  M(0559)

Penjelasan Program














Berikut adalah peta memori dari komputer IAS dan ilustrasi dari isi memorinya. Isi memori merupakan hasil dari eksekusi program diatas. Memori komputer IAS untuk menampung program (instruksi) dan data. Memori ini mempunyai 1000 alamat, masing-masing alamat dapat menampung 40 bit data yang dibagi menjadi 2 bagian yaitu instruksi kiri dan instruksi kanan.

Cara kerja komputer IAS

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
  • LOAD
    M(0100)
    ADD
    M(0101)
    0
    7
    8
    19
    20
    27
    28
    39


    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

  • 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




Label: , ,

Followers

Total dilihat

Diberdayakan oleh Blogger.

online log book

Cari Blog Ini