Sabtu, 03 November 2012

Arsitektur Set Instruksi


Set Instruksi (bahasa Inggris: Instruction Set, atau Instruction Set Architecture (ISA) didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram.Secara umum, ISA ini mencakup jenis data yang didukung, jenis instruksi yang dipakai, jenis register, mode pengalamatan, arsitektur memori, penanganan interupsi, eksepsi, dan operasi I/O eksternalnya (jika ada). ISA merupakan sebuah spesifikasi dari kumpulan semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulanopcode tersebut, umumnya disebut sebagai bahasa mesin (machine language) untuk ISA yang bersangkutan. ISA yang populer digunakan adalah set instruksi untuk chip Intel x86, IA-64, IBM PowerPC, Motorola 68000, Sun SPARC, DEC Alpha, dan lain-lain.

  •  Jenis-jenis Instruksi
Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.
Jenis-jenis intruksi operasi-operasi yang dilakukan teutama untuk data di register CPU yaitu :

1.     Data Processing/Pengolahan Data : instruksi-instruksi aritmetika dan logika.
2.     Data Storage/Penyimpanan Data : instruksi-instruksi memori.
3.     Data Movement/Perpindahan Data : instruksi I/O.
4.     Control/Kontrol : instruksi pemeriksaan dan percabangan.

 Instruksi aritmetika (arithmetic instruction) memiliki kemampuan untuk mengolah data numeric. Sedangkan instruksi logika (logic instruction) beroperasi pada bit-bit word sebagai bit, bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama dilakukan untuk data di register CPU. Instruksi-instruksi memori diperlukan untuk memindahkan data yang terdapat di memori dan register. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data kedalam memori dan mengembalikan hasil komputasi kepada pengguna.


  • Teknik  Pengalamatan
Teknik  pengalamatan merupakan aspek dari set instruksi arsitektur di sebagian unit pengolah pusat(CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesin petunjuk dalam arsitektur untuk mengidentifikasi operand dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori yang efektif dari operand dengan menggunakan informasi yang diadakan di register dan / atau konstanta yang terkandung dalam instruksi mesin atau di tempat lain.
Beberapa cara teknik pengalamatan, diantaranya :
      1.    Pengalamatan Langsung
Teknik pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung. Untuk melaksankan teknik pengalamatan langsung digunakan tanda #.

      2.    Pengalamatan Tak Langsung
Teknik pengalamatan tidak langsung menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Lokasi yang sebenarnya tergantung pada isi register saat instruksi dijalankan. Untuk melaksanakan pengalamatan tidak langsung digunakan simbol @. 

      3.    Pengalamatan Bit
Teknik pengalamatan bit adalah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat keras. Untuk melakukan pengalamatan bit digunakan simbol titik (.), misalnya FLAGS.3, 40.5, 21H.5, dan ACC.7. Sebagai contoh instruksi:

      4.    EQU (Equate)
Equ digunakan untuk mendefinisikan sebuah simbol atau lambang assembler secara bebas.

      5.    Delay Time
Program delay merupakan program tunda yang ditentukan oleh waktu.

Desain Set Instruksi
Aspek paling menarik dalam arsitektur komputer adalah perancangan set intruksi, karena rancangan ini berpengaruh banyak pada aspek lainnya. Set instruksi menentukan banyak fungsi yang harus dilakukan CPU, dan merupakan alat bagi para pemrogram untuk mengontrol kerja CPU.
Dalam pembuatan desain set instruksi perlu memperhatikan segala aspek, diantaranya

     1.    Kelengkapan set instruksi
     2.    Ortogonalitas (sifat indepedensi instruksi)
     3.    Kompatibilitas ,source code compatibility & object code compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :
      a.  Operation Repertoire :   berapa banyak dan operasi apa saja yang disediakan, 
                                                    dan berapa sulit  operasinya
      b.  Data Types                 :   tipe/jenis data yang dapat diolah
      c.  Instruction Format       :  panjangnya, banyaknya alamat, dsb
      d.  Register                       :  banyaknya register yang dapat digunakan
      e. Addressing                  :  mode pengalamatan untuk operand


     Central Processing Unit ( CPU )
      Central processing unit (CPU) adalah bagian dari sebuah komputer sistem yang melaksanakan instruksi dari program komputer , untuk melakukan aritmatika, logis, dan dasar input / output dari sistem operasi.

  • Sistem Bus

System bus atau bus sistem, dalam arsitektur komputer merujuk pada bus yang digunakan oleh sistem komputer untuk menghubungkan semua komponennya dalam menjalankan tugasnya. Sebuah bus adalah sebutan untuk jalur di mana data dapat mengalir dalam komputer. Jalur-jalur ini digunakan untuk komunikasi dan dapat dibuat antara dua elemen atau lebih. Data atau program yang tersimpan dalam memori dapat diakses dan dieksekusi oleh CPU melalui perantara sistem bus. Sebuah komputer memiliki beberapa bus, agar dapat berjalan. Banyaknya bus yang terdapat dalam sistem, tergantung dari arsitektur sistem komputer yang digunakan. Sebagai contoh, sebuah komputer PC dengan prosesor umumnya Intel Pentium 4 memiliki bus prosesor (Front-Side Bus), bus AGP, bus PCI, bus USB, bus ISA dan bus-bus lainnya.

  • ALU (Arithmatic Logic Unit)
ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmatika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmatika dan logika. Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua perhitungan aritmatika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi aritmatika yang lainnya.
Seperti pengurangan, pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
a.    sama dengan (=)
b.     tidak sama dengan (<>)
c.     kurang dari (<)
d.     kurang atau sama dengan dari (<=)
e.     lebih besar dari (>)
 f.     lebih besar atau sama dengan dari (>=) 


  • CLU (Central Logic Unit)
 Central Logic Unit adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut. Pada awal-awal desain komputer, CU diimplementasikan sebagai ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit yang datang dari word-word tersebut akan secara langsung mengontrol bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah register, ALU, register instruksi, bus dan peralatan input/output di luar chip. Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya masing-masing, dengan CU sebagai pemantaunya (supervisor).

  • Set Register
 Register prosesor, dalam arsitektur komputer, adalah sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program komputer dengan menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu tertentu.
 Register prosesor berdiri pada tingkat tertinggi dalam hierarki memori: ini berarti bahwa kecepatannya adalah yang paling cepat; kapasitasnya adalah paling kecil; dan harga tiap bitnya adalah paling tinggi. Register juga digunakan sebagai cara yang paling cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya diukur dengan satuan bit yang dapat ditampung olehnya, seperti "register 8-bit", "register 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain. Istilah register saat ini dapat merujuk kepada kumpulan register yang dapat diindeks secara langsung untuk melakukan input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi. untuk istilah ini, digunakanlah kata "Register Arsitektur". Sebagai contoh set instruksi Intel x86 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit, tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.

Register terbagi menjadi beberapa kelas:
      1.     Register data, yang digunakan untuk menyimpan angka-angka dalam bilangan 
           bulat (integer).
      2.     Register alamat, yang 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 
            titikmengambang (floating-point).
      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


  •    Cache Memory

Cache memori adalah memori berkapasitas terbatas, berkecepatan tinggi yang lebih mampu mahal daripada memiri utama. Cache memori ini ada diantara memori utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu pada memori utama agar kinerja dapat ditingkatkan.
Cache memori ini ada dua macam yaitu :

      1.     Cache Memori yang terdapat pada internal processor, 
           Cache memori jenis ini kecepatan aksesnya sangat tinggi, dan harganya sangat
           mahal. Hal ini bisa terlihat pada processor yang berharga mahal. semakin tinggi 
           kapasitas cache  memori maka semakin mahal dan semakin cepat processor.

      2.     Cache memori yang terdapat diluar processor, 
           yaitu berada pada motherboard. Cache memori jenis ini kecepatan aksesnya 
           sangat tinggi, meskipun tidak secepat cache memori jenis pertama (yang ada 
           pada internal processor).semakin besar kapasitasnya maka semakin mahal dan
           cepat. Hal ini bisa kita lihat pada motherboard dengan beraneka ragam kapasitas 
           cache memori yaitu 256kb, 512kb, 1Mb, 2Mb dll.




  •       Virtual Memory

Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan page file. Proses pemakaian Virtual memori di windows umumnya dapat dilihat di Task manager.
Dalam sistem operasi berbasis Windows NT, terdapat sebuah komponen yang mengatur memori virtual yaitu Virtual Memory Manager (VMM) yang memiliki fungsi untuk dapat memetakan alamat-alamat virtual yang dimiliki oleh sebuah proses yang berjalan ke dalam page memori fisik di dalam komputer. Dengan cara ini maka setiap proses dapat memperoleh memori virtual yang cukup agar dapat berjalan dan tidak mengganggu memori yang sedang digunakan oleh proses lainnya. VMM menangani paging antara RAM dan page file agar setiap aplikasi 32-bit dapat mengakses memori hingga 4 Gigabyte, meskipun Windows hanya membatasinya pada kisaran 2 Gigabyte.
  

    


Sumber :
http://ismail-adhari.blogspot.com/2012/10/arsitektur-set-instruksi-dan-cpu.html







Tidak ada komentar:

Posting Komentar