Rabu, 12 Juli 2017

MODEL KOMPUTER SECARA SEDERHANA

MODEL KOMPUTER SECARA SEDERHANA


Keterangan gambar :

  •         System bus (warna kuning) menghubungkan dengan bermacam - macam komponen komputer.
  •         CPU merupakan jantung computer, hampir seluruh perhitungan dilakukan didalam CPU.
  •         RAM merupakan tempat dimana program di loading untuk di eksekusi

1.      CPU (Central Processing Unit)


A.    General Purpose Register
General Purpose Register CPU 8086 mempunyai 8 general purpose register, dimana tiap register mempunyai namanya sendiri-sendiri:
Ø  AX - the accumulator register (dibagi menjadi AH/AL)
Ø  BX - the base address register (dibagi menjadi BH/BL)
Ø  CX - the count register (dibagi menjadi CH/CL)
Ø  DX - the data register (dibagi menjadi DH/DL)
Ø  SI - source index register
Ø  DI - destination index register
Ø  BP - base pointer
Ø  SP - stack pointer
Tujuan  utama  dari  register  adalah  untuk menyimpan angka (variable). Ukuran register diatas adalah 16 bit. Empat general purpose register (AX, BX, CX, DX) dibuat dari dua 8 bit register yang terpisah, contoh :
Jika AX=011000000111001b, maka AH=00110000b dan AL=00111001b. "H" berarti bagian high dan "L" berarti bagian low. Karena register berada dalam CPU, mereka lebih cepat dibandingkan dengan memory.

B.    Segment Register
Ø  CS - menunjuk pada segmen yang berisi program sekarang (current program)
Ø  DS - biasanya  menunjuk  pada  segmen  dimana  variable didefinisikan
Ø  ES - register   segmen   extra,    tergantung    programmer mendefinisikan penggunaannya
Ø  SS - menunjuk pada segmen yang berisi stack
Segmen register mempunyai tujuan yang sangat khusus, yaitu menunjuk blok memori yang dapat diakses. Segment register bekerjasama dengan general purpose register untuk mengakses setiap nilai memory.
Contohnya, jika kita akan mengakses memori pada physical address 12345h (hexadecimal), kita perlu mengeset DS=1230h dan SI=0045h. Dengan cara ini kita dapat mengakses lebih banyak memory daripada register tunggal yang terbatas pada nilai 16 bit. CPU membuat kalkulasi dari physical address dengan   mengalikan   segment   register   dengan   10h   dan menambahkan general purpose register (1230h * 10h + 45h = 12345h).

C.     MEMORY ACCESS
Untuk mengakses memory kita dapat menggunakan 4 register yaitu BX, SI, DI, BP. Register-register tersebut dapat dikombinasikan didalam simbol tanda kurung kotak [], kita bisa mendapatkan lokasi memori yang berbeda. Kombinasi ini didukung dengan mode pengalamatan (addressing modes) sebagai berikut:
 





Ø  d8 - merupakan penggantian nilai yang terdekat untuk 8 bit signed (contoh: 22, 55h, -1, etc...)
Ø  d16 - merupakan penggantian nilai terdekat untuk 16 bit signed (contoh: 300, 5517h, -259, etc...)

Penggantian dapat menjadi nilai yang terdekat atau offset dari variable atau keduanya. Jika ada beberapa nilai, assembler mengevaluasi semua  nilai tersebut dan mengkalkulasi sebagai nilai  terdekat tunggal. Umumnya compiler memperhatikan perbedaan antara d8 dan d16 dan men-generate kode mesin yang diperlukan.
Contoh, diasumsikan DS=100, BX=30, SI=70. Mode pengalamatannya adalah [BX + SI] + 25 yaitu dikalkulasi oleh processor ke physical address: 100 * 16 + 30 +70 + 25 =1725. Defaultnya segmen register DA adalah digunakan untuk semua mode kecuali dengan register BP, untuk hal tersebut segmen register SS digunakan.
Cara mudah untuk mengingat semua kemungkinan tersebut dengan cara dibawah ini: