Friday, 24 October 2014

Format Instruksi dan Bahasa Assembly Pada Instruction Set Design

FORMAT INSTRUKSI
Sebuah format instruksi mendefinisikan susunan bit-bit dari sebuah instruksi.sebuah format instruksi harus menyertakan sebuah opcode dan, baik secara implisit ataupun eksplisit, 0 atau lebih operan. setiap operan eksplisit direferensikan menggunakan jenis pengalamatan yang telah dibahas sebelumnya. Format yang digunakan harus, baik secara implisit atau eksplisit, mengindikasikanjenis pengalamatan yang digunakan. Sebagian besat set instruksi memiliki lebih dari satu format instruksi.

a.      Panjang instruksi
            Salah satu isu terbesar yang harus dihadapi adalah panjang format instruksi.Keputusan ini berpengaruh dan dipengaruhi oleh, organisasi memori, struktur bus, kompleksitas processor dan kecepatan processor.Keputusan ini juga menentukan kekayaan dan fleksibilitas sebuah mesin dalam pandangan seorang programmer bahasa assembly.
            Pertimbangan dasar panjang instruksi salah satunya terletak pada pilihan apakah memiliki instruksi yang powerful atau memilih untuk menghemat ruang memori.Pertimbangan lainya, adalah pilihan apakah panjang sebuah instruksi harus sama dengan lebar jalur komunikasi memori (data bus) atau salah satunya (panjang instruksi atau lebar jalur) harus merupakan kelipatan dari yang lainya (contoh lebar jalur = 2 x panjang instruksi). feature penting lain yang perlu di perhatikan adalah panjang instruksi harus merupakan kelipatan panjang karakter (word). Dengan demikian, tidak ada bit yang tidak digunakan.


b.      Alokasi Bit

            Isu penting berikutnya setelah panjang bit adalah bagaimana kita mengalokasikan bit-bit dalam sebuah format. Jumlah opcode yang lebih berarti jumlah bit yang lebih pada instruksi, ini juga berarti jumlah bit untuk alamat makin berkurang. Salah satu teknik alokasibit adalah dengan menentukan bit opcode bersifat dinamis (dengan ketentuan minimum jumlah bit). Pada sistem dengan panjang instruksi tetap, ini berarti pengurangan bit untuk operan.

Gambar 1. Format Instruksi PDP-10

Beberapa faktor yang mempengaruhi penentuan bit alamat diantaranya :
  • Jumlah jenis pengalamatan
  • Jumlah Operan
  • Register vs memory
  • Jumlah set register
  • Rentang alamat
  • Granulitas hardware

  
c.      Variasi Panjang Instruksi
            Sesuai dengan namanya, teknik ini mengijinkan instruksi untuk memiliki panjang yang berbeda-beda.Dengan demikian maka teknik ini dapat mengakomodasi format instruksi yang berbeda-beda, bersifat lebih fleksibel, efesien serta ringkas.Penggunaan teknik ini juga tetap memerlukan agar sebuah instruksi berkorelasi secara integral dengan panjang sebuah word.Semua kemampuan teknik ini secara otomatis menaikkan kompleksitas processor.

Gambar 2. Format Instruksi x86



BAHASA ASSEMBLY
Sebuah processor dapat memahami dan mengeksekusi instruksi dalam bahasa mesin.instruksi tersebut pada dasarnya merupakan bilangan biner yang tersimpan dalam komputer. jika seorang programmer ingin membuat program dalam bahasa mesin secara langsung, artinya sama dengan menuliskan semua sintak (berikut data) kedalam bentuk biner. Tentu saja hal ini sangat berpotensi menimbulkan kesalahan.Untuk mengurangi kesalahan, nilai biner bisa kita sederhanakan kedalam bentuk heksadesimal.Namun tetap saja tidak mudah mengingat begitu banyak bilangan sekalipun berbentuk heksadesimal. 
Untuk memudahkan dan lebih manusiawi, kita dapat memberikan simbol berupa nama singkat (disebut juga mnemonic) untuk setiap nilai heksadesimal. Penyimbolan berlaku bukan hanya pada perintah, tetapi juga pada operan.Bahasa hasil dari penyimbolan inilah yang kemudian disebut sebagai bahasa assembly.
Gambar 3. Komputasi Mesin ke Bahasa Assembly

Pengembangan bahasa assembly merupakan cikal bakal terciptanya evolusi teknologi komputer. Bahasa ini merupakan langkah pertama untuk sampai pada bahasa tingkat tinggi seperti yang kita gunakan saat ini.


No comments:

Post a Comment