Thursday, 20 February 2014

Register Komputer



Apa Itu Register? 

Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi (5 - 10 kali lebih cepat dari main memory), dan digunakan untuk menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama. Setiap register dapat menyimpan satu bilangan hingga jumlah maksimum tertentu tergantung pada ukurannya. Register dapat dibaca dan ditulis dengan kecepatan tinggi karena berada pada CPU. 
1. Fungsi Register
a. User Visibel Register
           Register ini memungkinkan pemrograman bahasa mesin dan bahasa assembler meminimalkan refrensi main memory dengan cara mengoptimasi penggunaan register.
b. Control dan Status Register
           Register ini digunakan oleh unit control untuk mengontrol operasi CPU dan oleh program sistem operasi untuk mengontrol eksekusi program.
2. Jenis Register
a. Program Counter (PC)
          Merupakan register yang menunjuk ke instruksi berikutnya yang harus diambil dan dijalankan.
b. Instruction Register (IR)
         Merupakan register yang menyimpan instruksi yang sedang dijalankan.
c. General Purpose Register
         Merupakan register yang memiliki kegunaan umum yang berhubungan dengan data yang diproses.
d. Memory Data Regirter (MDR)
      Merupakan register yang digunakan untuk menampung data atau instruksi hasil pengiriman dari memori utama ke CPU atau menampung data yang akan direkam ke memori utama dari hasil pengolahan CPU.
e. Memory Address Register (MAR)
Merupakan register yang digunakan untuk menampung alamat data atau instruksi pada memori utama yang akan diambil atau yang akan diletakkan.
3. KELAS REGISTER
Register terbagi menjadi beberapa kelas:
  1. Register data, digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer)
  2. Register alamat, digunakan untuk menyimpan alamat-alamat memori dan juga untuk mengakses memori.
  3. Register general purpose, yang dapat digunakan untuk menyimpan angka dan alamat secara sekaligus.
  4. Register floating-point, yang digunakan untuk menyimpan angka-angka bilangan titik mengambang.
  5. Register konstanta (constant register), yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat read-only), semacam phi, null, true, false dan lainnya.
  6. Register vektor, yang digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
  7. Register special purpose yang dapat digunakan untuk menyimpan data internal prosesor, seperti halnya instruction pointer, stack pointer, dan status register.
  8. Register yang spesifik terhadap model mesin (machine-specific register), dalam beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar antara generasi prosesor. 
4. Golongan Register 
Register dapat dibagi dalam 5 golongan, yaitu:
A.  General Purpose Register (Scratch-Pad Register)
General Purpose Register terdiri dari emapt buah (4) register yang mempunyai kemampuan 16 bit dan dapat dibagi menjadi Register Low dan High Bits yang masing-masing berkemampuan 8 bit.
  • AX (AH + AL) = Accumulator Register
Register AX merupakan register aritmatik, karena register ini selalu dipakai dalam operasi penambahan, pengurangan, perkalian dan pembagian.
Setiap register general purpose mempunyai Register Low dan Register High, maka untuk AX register low-nya adalah AL dan register high-nya adalah AH. Register AH merupakan tempat menaruh nilai service number untuk beberapa Interrupt tertentu.
  • BX (BH + BL) = Base Register 
Register BX adalah salah satu dari dua register base Addressing Mode yang dapat mengambil atau menulis langsung dari/ke memori.
  • CX (CH + CL) = Counter Register 
Register CX merupakan suatu counter untuk meletakkan jumlah lompatan pada Loop yang anda lakukan.
  • DX (DH + DL) = Data Register 
Register DX mempunyai tiga tugas, yaitu:
  • Membantu AX dalam proses perkalian dan pembagian, terutama perkalian dan pembagian 16 bit.
  • DX merupakan register offset dari DS 
  • DX bertugas menunjukkan nomor port pada operasi port 
B.  Segment Register
  • CS = Code Segment Register
Tugas register CS yang penting adalah menunjukkan segment program berada. Pasangan register ini adalah register IP.
  • DS = Data Segment Register
Tugas register DS dan SS adalah menunjukkan segmen dari segment data dan segment stack. Pasangan dari register DS adalah DX.
  • SS = Stack Segment Register
Sedangkan pasangan register SS adalah SP.
  • ES = Extra Segment Register
Register ini tidak mempunyai tugas, namun berguna untuk pemrograman pada saat melakukan operasi ke segment lain.
C.  Pointer Register
Pointer Register bertugas untuk menyimpan offset dari relative address.
  •  IP = Instruction Pointer Register
Pasangan register IP adalah register CS yang merupakan register terpenting untuk menunjukkan baris perintah program. Pada pertama program dijalankan register ini akan langsung menunjuk pada awal program.
  • SP = Stack Pointer Register
Pasangan register SP adalah register SS yang digunakan untuk operasi stack. Pada saat program pertama dijalankan register ini akan menunjuk pada byte terakhir stack.
  • BP = Base Pointer Register
Register BP mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan membaca ke atau dari memori secara langsung. Perbedaannya adalah BX menulis dan membaca dengan segment SS (Stack Segment). Register BP digunakan juga dalam komunikasi anatara bahasa komputer, seperti PASCAL dengan Assembler ataupun Turbo C dengan Assembler.
D. Index Register
Index Register terdiri dari dua register yaitu register DI dan SI, dimana kedua register ini merupakan register yang dipakai untuk melakukan Operasi String. Kedua register ini sering digunakan untuk menulis dan membaca ke atau dari memori seperti BX dan BP.
  SI = Source Index Register
  DI = Destination Index Register
E. Flag Register
Flag register ini merupakan suatu komposisi register 16 bit, dimana komposisi bitnya dapat mengecek apakah sesuatu berfungsi atau tidak.
Contoh :   Interrupt Flag mengecek apakah pada saat operasi Interupt sedang aktif atau tidak, bila tidak aktif, Interrupt tidak akan dijalankan.
Carry Flag mengecek apakah pada saat operasi terjadi kesalahan atau tidak.
Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak dan sebagainya.
Flag Bits :

  • O = Overflow Flag
  • D = Direction Flag
  • I = Interrupt Flag
  • T = Trap Flag
  • S = Sign Flag
  • Z = Zero Flag
  • A = Auxiliary Carry Flag
  • P = Parity Flag
  • C = Carry Flag
  • X=Reserved(koso


5. Penggunaan register-register pada SIC
Register A : register yang digunakan untuk proses perhitungan
Register X : register yang digunakan untuk mode pengalamatan berindex
Register PC : register yang menyimpan alamat instruksi berikutnya
Register L : register yang menyimpan alamat asal sebelum melakukan subroutines
Register IR : register yang menyimpan instruksi yang sedang dikerjakan
Register MBR : register yang digunakan untuk proses masukan atau keluaran data dari memori
Register MAR : register yang menyimpan alamat memori untuk proses pembacaan atau penulisan
Register SW: register yang berisi informasi status relative terhadap instruksi sebelumnya
Register C : register yang membangkitkan signal waktu t0, t1, t2, t2, t3
Register INT : register yang menentukan apakah signal interruo telah diterima
Register F : register yang digunakan dalam proses ‘siklus fetch’
Register E : register khusus yang digunakan dalam proses ‘siklus eksekusi’
Register S: register yang akan mengaktifkan register C
6. Ukuran Register
Tabel berikit berisi ukuran register dan padanan prosesornya:
Register
Prosessor
4-bit
Intel 4004
8-bit
Intel 8080
16-bit
Intel 8086, Intel 8088, Intel 80286
32-bit
Intel 80386, Intel 80486, Intel Pentium Pro, Intel Pentium, Intel Pentium2, Intel Pentium3, Intel Pentium4, Intel Celeron, Intel Xeon, AMD K5, AMD K6, AMD Athlon, AMD Athlon MP, AMD Athlon XP, AMD Athlon4, AMD Duron, AMD Sempron
64-bit
Intel Itanium, Intel Itanium2, Intel Xeon, Intel Core, Intel Core2, AMD Athlon64, AMD Athlon X2, AMD Athlon FX, AMD Turion64, AMD TurionX2, AMD Sempron

Semoga Bermanfaat!!!!!

No comments:

Post a Comment