Ahmad Faizin

"Sebarkan ilmu walau hanya satu ayat ^^"

Breaking

Friday 14 April 2017

Organisasi Processor, Registrasi dan Siklus Intruksi

Assalamu'alaikum Wr. Wb. Selamat siang. Bertemu lagi dengan saya Faiz Ahmad. Saya disini akan berbagi sedikit ilmu tentang Organisasi Processor, Registrasi dan Siklus Intruksi. Nah langsung saja yuk kita bahas dibawah ini !



Organisasi Processor
 Hal-hal yang perlu dilakukan CPU adalah:
  1. Fetch instruction / mengambil instruksi : cpu harus membaca instruksi dari memori.
  2. Interpret instruction / menerjemahkan instruksi : instruksi harus didekode untuk menentukan aksi    apa yang diperlukan.
  3. Fetch data / mengambil data : eksekusi suatu instruksi mungkin memerlukan pembacaan data dari memori atau modul I/O.
  4. Process data / mengolah data : eksekusi suatu instruksi mungkin memerlukan operasi aritmetika atau logika terhadap data.
  5.  Write data / menulis data : hasil eksekusi mungkin memerlukan penulisan data ke memori atau modul i/o.
Organisasi Register
Organisasi register meliputi jenis-jenis register di bawah ini: 
  1. General: terdapat 8 buah register general-purpose 32-bit. Register-register ini juga dapat menampung operand-operand untuk keperluan kalkulasi alamat.
  2. Segment: keenam register segmen 16-bit berisi pemilih segmen, yang diindex ke dalam tabel segmen. 
  3. Flags: register eflag berisi kode kondisi (persyaratan) dan bermacam-macam bit mode. 
  4. Instruction pointer: berisi alamat instruksi saat itu.
 Terdapat juga register-register yang secara khusus ditujukan bagi unit floating point:
  1. Numeric: semua register menampung bilangan floating point 80 bit extended-precision.
  2. Control: register control 16-bit berisi bit-bit yang mengontrol operasi unit floating point.
  3. Status: register status 16-bit berisi bit-bit yang merefleksikan status unit floating point saat itu.
  4. Tag word: register 16-bit ini berisi tag 2-bit bagi semua register numerik floating point, yang mengindikasikan sifat-sifat isi register yang berkaitan. Keempat nilainya adalah valid, nol, special (nan, infinity, denormalized) dan kosong. 
Register pada cpu memiliki 2 fungsi:
  1. User-visible registers: register ini memungkinkan pemrogram bahasa mesin dan bahasa assembler meminimalkan referensi main memori dengan cara mengoptimasi penggunaan register. Register ini adalah register yang dapat direfensikan dengan menggunakan bahasa mesin yang dieksekusi cpu.
  2. Control and status registers: register-register ini digunakan oleh unit kontrol untuk mengontrol operasi cpu dan oleh program sistem operasi untuk mengontrol eksekusi program. Terdapat 4 macam register yang penting bagi eksekusi instruksi :
Program counter (pc) atau pencacah program : berisi alamat instruksi yang akan diambil.
Instruction register (ir) : berisi instruksi yang terakhir diambil.
Memori address register (mar) : berisi alamat sebuah lokasi di dalam memori.
Memori buffer register (mbr) : berisi sebuah word data yang akan dituliskan ke dalam memori atau word yang terakhir dibaca. 

    Siklus Instruksi (Instruction Cycle)

     Sebuah siklus instruksi meliputi subsiklus-subsiklus berikut ini:
    1. Fetch: membaca instruksi berikutnya dari memori ke dalam cpu.
    2. Execute: menginterpretasikan opcode dan melakukan operasi yang diindikasikan.
    3. Interrupt: apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt. 
    Siklus Tak Langsung
    Eksekusi sebuah instruksi melibatkan sebuah operand atau lebih di dalam memori, yang masing-masing operand memerlukan akses memori. Kemudian, apabila digunakan pengalamatan tak langsung, maka diperlukan akses memori tambahan. 

    Machine cycle 
    Machine cycle atau nama lainnya adalah processor cycle atau instruction cyclemerupakan merupakan suatu siklus instruksi dasar yang dikerjakan oleh cpu di dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi instruksi ini dimulai dari proses fetching data dan instruksi yang ada didalam memori hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam memori. 
    Secara garis besar siklus instruksi (machine cycle) dibagi ke dalam beberapa tahapan yaitu: 

    • Proses Fetching
    Merupakan proses dimana instruksi dan data akan di load dari memori ke dalam cpu. Proses ini dimulai dari pengambilan alamat instruksi yang terdapat di dalam pc (program counter). Alamat yang terdapat di dalam pc ini merupakan alamat valid dari instruksi dan data yang disimpan ke dalam memori utama, dan merupakan alamat instruksi yang akan dieksekusi. Berdasarkan alamat instruksi yang terdapat di dalam pc, cpu akan mengambil instruksi tersebut untuk ditempatkan ke dalam register (instruction register/ ir) yang menyimpan instruksi yang akan dieksekusi.

    • Proses Decoding
    Merupakan tahapan dimana instruksi akan di terjemahkan (interpret) ke dalam perintah-perintah bahasa mesin dasar (add, sb, mba, sta, jmp, dll). Proses ini dilakukan oleh instruction decoder.

    • Proses Executing 
    Pada tahapan dimana instruksi akan dieksekusi di dalam cpu, yaitu oleh alu (arithmetic logic unit).
    Setelah tahapan diatas dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori untuk disimpan. proses penyimpanan kembali hasil eksekusi isntruksi terdiri dari beberapa tahapan yaitu: 
    • Proses penempatan alamat memori yang digunakan untuk menyimpan hasil instruksi ke dalam mar
    • Proses penempatan data (hasil instruksi) kedalam mdr
    • Proses mengaktifkan memory write control signal pada control bus
    • Proses menunggu memori untuk melakukan write data pada alamat tertentu
    • Proses untuk menonaktifkan memory write control signal pada bus 
      Dalam menjalakan instruction cycle / machine cycle ada beberapa komponen yang berperan, yaitu:
      • Program Counter (PC)
      Nama lainnya adalah instruction pointer, merupakan suatu pointer (penunjuk), bagi sejumlah instruksi yang ditempatkan di dalam memori dan akan dieksekusi oleh cpu.
      • Memory Address Register (MAR)
      Adalah salah satu register yang terdapat di dalam cpu yang fungsinya adalah untuk menyimpan alamat memori dari data yang akan diambil (fetch) oleh cpu untuk dieksekusi. Selain itu mar juga akan menyimpan alamat memori dari data (hasil instruksi) yang akan ditulis kembali ke dalam memori.
      • Memory Data Register (MDR)
      Merupakan register yang terdapat dalam cpu yang fungsinya adalah menyimpan data sementara yang akan dieksekusi oleh cpu. Setiap kali proses fetching berlangsung, data akan disimpan di dalam mdr sebelum dilakukan proses eksekusi. Demikian juga hasil dari eksekusi instruksi akan disimpan di dalam register ini sebelum dilakukan proses penulisan kembali ke memori.
      • Instruction Register
      Sama seperti mar dan mdr, instruction register (ir) ini terletak di dalam cpu. Ir ini bertanggung jawab untuk menyimpan instruksi yang akan dieksekusi oleh cpu. Pada beberapa jenis prosesor (terutama yang ada sekarang), digunakan konsep pipeline pada ir ini, dimana pada setiap stage pipeline melakukan proses decoding, dan proses yang lain pada waktu instruksi dikerjakan.
      • Control Unit (CU)
      Control unit mengkoordinasi semua komponen-komponen yang ada di sistem computer, terutama yang berkaitan dengan pengolahan data dan eksekusi instruksi. Cu mengatur proses fetching instruksi maupun data dari memori ke cpu. Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control signal.
      • Arithmetic Logic Unit (ALU)
      Merupakan sirkuit digital yang terdapat di dalam cpu yang memiliki fungsi untuk melakukan komputasi aritmatika dan logika. Alu merupakan unit dasar dari pengolah data dan eksekusi instruksi.

      No comments:

      Post a Comment

      Adbox