Sabtu, 14 Oktober 2017

ARSITEKTUR SET INSTRUKSI



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 Pullman semua kode-kode biner (opcode) yang diimplementasikan dalam bentuk aslinya (native form) dalam sebuah desain prosesor tertentu. Kumpulan opcode 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.
ELEMEN - ELEMEN DARI SET INSTRUKSI
·         Operation Code (opcode) : menentukan operasi yang akan dilaksanakan.
·         Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan.
·         Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan.
·         Next Instruction Reference : memberitahu CPU untuk mengambil instruksi berikutnya setelah instruksi yang dijalankan selesai
FORMAT INSTRUKSI
Suatu instruksi terdiri dari beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari suatu instruksi sering disebut sebagai Format Instruksi.
Contoh suatu Format Instruksi adalah sbb :

Ilustrasi Format Instruksi Sederhana
(Stallings, W. 1990, hal. 294)  

JENIS - JENIS INSTRUKSI

Ø  Data Processing / Pengolahan Data : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolahdata numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.

Ø  Data Storage / Penyimpanan Data : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.

Ø  Data Movement / Perpindahan Data : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.

Ø  Control / Kontrol : instruksi pemeriksaan dan percabangan. Instruksi-instruksi kontrol digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

TEKNIK PENGALAMATAN
Metode pengalamatan merupakan aspek dari set instruksi arsitektur disebagian unit pengolah pusat (CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesin petunjuk dalam arsitektur untuk mengidentifikasi operan 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.
Ada tiga teknik dasar untuk pengalamatan, yakni
·         Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing),
·         Pencarian Tabel (directory look-up), dan
·         Kalkulasi (calculating).



Ø  Pemetaan Langsung
Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.
Ø  Teknik Pencarian Tabel
Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya.
Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential.
Nilai key field (kunci atribut) bersifat address space independent (tidak terpengaruh terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada di INDEX-nya.
Ø  Teknik Kalkulasi Alamat
Perhitungan (kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat disebut dengan fungsi hash.
Bisa juga fungsi hash digabungkan dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau pencarian tabel saja).







Jenis-jenis metode pengalamatan diantaranya :
1. Immediate Addressing Mode


2. Register Addressing Mode




3. Direct Addressing Mode


4. Indirect Addressing Mode


§  R0 atau R1 digunakan untuk menunjukkan Destination Address
§  MOV A,#30h   ; salin immediate data 30h ke Akumulator
§  MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0
§  MOV @R0,A   ; salin the data in A ke alamat di R0

§  R0 atau R1 digunakan untuk menunjukkan Source Address
§  MOV R0,#7Fh   ; salin immediate data 7Fh ke register R0
§  MOV @R0,#30h  ; salin immediate data 30 ke alamat di R0
§  MOV A,@R0   ; salin isi dari alamat di R0 ke Akumulator



DESAIN SET INSTRUKSI
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya :
·         Kelengkapan set instruksi
·         Ortogonalitas (sifat independensi instruksi)
·         Kompatibilitas :
- Source code compatibility
- Object code compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut :

·         Operation Repertoire, berapa banyak dan operasi apa saja yang disediakan dan berapa sulit operasinya.
·         Data Types, tipe / jenis data yang dapat diolah.
·         Instruction Format, panjangnya, banyaknya alamat, dsb.
·         Register, banyaknya register yang dapat digunakan.
·         Addressing, mode pengalamatan untuk operand.

Membahas tentang CPU,ALU,LOGIC UNIT,SET REGISTER DAN MEMORY

  1.  Pengertian CPU

CPU  merupakan  singkatan  dari  Central  Prosessor  Unit  yang  sering  diartikan  oleh  manusiasebagai  tubuh  maupun  dari  otak  sikomputer.  Selain  dapat  mengolah  berbagaihitungan Aritmatika, CPU  juga  dapat  mengolah  data-data  yang  telah  masuk  kedalam  komputer  dan menyimpannya  kedalam  Hardisk  maupun  alat  penyimpanan  lainnya  melalui  perintah prosessor yang ada di CPU. CPU sendiri terbuat dari lempengan yang  berbahan silicon yang terdiri  atas  10  juta  transitor  yang  biasa  disebut  “chip”.  Perkembangan  CPU  dari  waktu  ke waktu  semakin  meningkat. Awal  munculnya  processor,  yakni  hadir  dengan microprocessornya  yang  di  buat  oleh  INTEL,  satu-satunya  produsen  pada  masa  itu  untuk pembuatan  processor.  Namun,  sekarang  ini  sudah  banyak  perusahaan-perusahaan  yang membuat processor.

·         b. bagian-bagian CPU dan Fungsi-fungsinya
Perangkat  pengolah  atau  pemroses  data  dalam  komputer  adalah  prosesor  atau  lengkapnyaadalah  mikroprosesor,  namun  umumnya  pengguna  komputer  menyebutnya  sebagai  CPU (Central Processor Unit). CPU merupakan otak bagi sebuah system komputer. CPU memiliki 3 komponen utama yang merupakan bagian tugas utamanya yaitu unit kendali (Control Unit – CU) , unit aritmetika dan logika (Aritmetic and Logic Unit – ALU) serta komponen register yang berfungsi membantu melakukan hubungan (interface) dari dan ke memori. Tugas CPU adalah melaksanakan dan mengawal keseluruhan operasi komputer sehingga bisa dikatakan hampir keseluruhan pemikiran dilaksanakan disini, sehingga sering dinamakan sebagai otak komputer. CPU Tempatnya terletak pada papan induk (motherboard) pada bagian inilah juga terletak  segala  pusat  perangkat  komputer  seperti  memori,  port  input  –output  (I/O)  dan sebagainya.
      
    ALU (Aritmetic and Logic Unit)

ALU (Arithmetic and Logic Unit), CU (Control Unit), Register, dan interkoneksinya. ALU merupakan bagian pengolah bilangan biner dari sebuah prosesor. ALU bertugas melakukan operasi-operasi  aritmatika  dan  logika  sesuai  dengan  instruksi  yang  diberikan.  ALU  juga merupakan salah satu bagian yang terpenting. Unit aritmetik logika (ALU) terdiri dari sirkuit elektronik  yang  membuatnya  mampu  melaksanakan  operasi  aritmatika  dan  logika.  Ia mengeksekusi  instruksi  dan  melakukan  perhitungan  (tambah,  kali,  kurang,  dan  bagi)  dan perbandingan.  ALU  bekerja  dengan  register  yang  berbeda  untuk  menyimpan  data  atau informasi  tentang  tindakan  terakhir  yang  dilakukan  oleh  unit  logika.  ALU  mampu membandingkan huruf, angka, atau karakter khusus. Komponen dari rangkaian logika pada ALU  adalah  gerbanggerbang  logika  AND,  OR,  XOR,  dan  NOT  yang  dihubungkan  pada multiplexer.  Selain  itu  juga  terdapat  juga  operasi  shifter  yang  komponen  dasarnya  adalah multiplexer. Komponen ALU mendapatkan masukan data dari register dan sinyal kontrol dari CU.  Untuk  operasi  ALU  dengan  dua  masukan,  diperlukan  dua  register  8-bit:  ACC (accumulator) untuk masukan pertama dan temp (register sementara) untuk masukan kedua. Hasil  dari  operasi  ALU  ini  adalah  data  8-bit  yang  kemudian  diteruskan  ke  register  untuk menyimpan  hasil  operasi  ini.  Selain  itu  juga  dihasilkan  flag  atau  bit  status.  Flag  ini  akan diteruskan  ke  register  yang  menyimpan  flag  hasil  dari  operasi  ALU.  Untuk  mempercepat pemrosesan  data  di  dalam  prosesor,  selain  CU  dan  ALU,  prosesor  juga  membutuhkan memori  dengan  kecepatan  yang  sama  dengan  prosesor.  Memori  khusus  yang diimplementasikan  pada  prosesor  ini  disebut  register.  Komponen  utama  penyusun  register adalah flip-flop.

   Register
Bagian  CPU  berikutnya  adalah  register.  Register  merupakan  perangkat  memori  sementara yang  menyimpan  data.  Register  membantu  CPU  dalam  melaksanakan  instruksi.  Mereka dikelola oleh unit kontrol. Register berfungsi untuk tempat penyimpanan yang berisi data dan informasi  lainnya  yang  sering  dibutuhkan  ketika  sebuah  program  sedang  berjalan.  Register dimaksudkan untuk dapat diakses dengan sangat cepat. Yang termasuk register di antaranya adalah register uji dan instruksi. Register instruksi berisi instruksi CPU sedangkan register uji dimaksudkan untuk menyimpan hasil kerja yang dilakukan oleh CPU.
     Memory
Memori  merupakan  media  penyimpanan  program  maupun  data.  Memori  semikonduktor dapat dibedakan menjadi Read Only Memory (ROM)  dan Random Access Memory (RAM). ROM  adalah  memori  non-volatil  yang  digunakan  untuk  menyimpan  data  secara  permanen. Data  yang disimpan hanya dapat dibaca, tidak dapat diubah, dan isinya tidak hilang ketika catuan  dimatikan.  Sedangkan  RAM  adalah  tempat  penyimpanan  sementara  yang  berisi alamat  yang  isinya  dapat  dibaca  dan  dimodifikasi.  Memori  ini  bersifat  volatil,  isinya  akan hilang ketika catuan dimatikan.
Memori program merupakan ruang memori yang digunakan untuk menyimpan program yang akan dijalankan oleh prosesor. Memori program bersifat read only memory (ROM). Prosesor hanya bisa membaca isi dari memori program tetapi tidak bisa mengubah isinya. Memori data pada  prosesor  digunakan  untuk  menyimpan  data-data  hasil  pemrosesan  dari  instruksiinstruksi  yang  dijalankan  oleh  prosesor.  Pada  mikrokontroler  8051,  memori  data  internal sebesar 128 byte. Didalamnya terdapat bank register, Spesial Function Register (SFR), dan general-purpose register.