Arsitektur set instruksi

Set Instruksi didefinisikan sebagai suatu aspek dalam arsitektur komputer yang dapat dilihat oleh para pemrogram, atau dengan kata lain Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set). Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions)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).

-Jenis-jenis set instruksi
1.Data procecessing: Arithmetic dan Logic Instructions
Data processing adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan.Setelah diolah, data ini biasanya mempunyai nilai yang informative, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi.

2. Data storage: Memory instructions
Sering disebut sebagai memori komputer, merujuk kepada komponen komputer, perangkat komputer, dan media perekaman yang mempertahankan data digital yang digunakan untuk beberapa interval waktu. Dalam penggunaan kontemporer, memori komputer merujuk kepada bentuk media penyimpanan berbahan semikonduktor, yang dikenal dengan sebutan Random Access Memory (RAM).Akan tetapi, istilah “computer storage” sekarang secara umum merujuk kepada media penyimpanan massal seperti halnya hard disk.

3. Data Movement: I/O instructions
Proses data movement ini adalah memindahkan (dapat dikatakan membackup juga) data – data dari database yang berupa data, indeks, grand, schema, dan lain – lain ketempat baru. Data movement terdiri dari 2 bagian besar yaitu: Load & Upload dan Export & Import. Load berfungsi untuk memasukan data / transaksi ke sebuah table. Sedangkan upload berfungsi untuk membuat dari data table ke fisik / file.

4. Control: Test and branch instructions
CU diimplementasikan sebagai sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control store).Control Unit – CU) 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.

Teknik Pengalamatan



A.      Immediate Addressing (Pengalamatan Segera)
        Pengalamatan yang paling sederhana.
        Operand benar-benar ada dalam instruksi atau bagian dari intsruksi
        Operand sama dengan field alamat
        Umumnya bilangan akan disimpan dalam bentuk complement dua
        Bit paling kiri sebagai bit tanda
        Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data
        Keuntungan :
        Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand
        Menghemat siklus instruksi sehingga proses keseluruhanakan akan cepat
        Kekurangan :
        Ukuran bilangan dibatasi oleh ukuran field
        Contoh :
        ADD 7 ; tambahkan 7 pada akumulator

B.      Direct Addressing (Pengalamatan Langsung)
        Teknik ini banyak digunakan pada komputer lama dan komputer kecil
        Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus
        Kelebihan :
        Field alamat berisi efektif address sebuah operand
        Kekurangan :
        Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word
        Contoh :
        ADD A ; tambahkan isi pada lokasi alamat A ke akumulator

C.      Indirect Addressing (Pengalamatan tak langsung)
        Merupakan mode pengalamatan tak langsung
        Field alamat mengacu pada alamat word di alamat memori, yang pada gilirannya akan berisi alamat operand yang panjang
        Kelebihan :
        Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
        Kekurangan :
        Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi
        Contoh :
        ADD (A) ; tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator

D.      Register addressing (Pengalamatan Register)
        Metode pengalamatan register mirip dengan mode pengalamatan langsung
        Perbedaanya terletak pada field alamat yang mengacu pada register, bukan pada memori utama
        Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose
        Keuntungan :
        Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori
        Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat
        Kerugian :
– Ruang alamat menjadi terbatas

E.       Register indirect addressing (Pengalamatan tak-langsung register)– Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung
        Perbedaannya adalah field alamat mengacu pada alamat register
        Letak operand berada pada memori yang dituju oleh isi register
        Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung
        Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak
        Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung

F.       Displacement addressing
        Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung
        Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit
        Operand berada pada alamat A ditambahkan isi register
        Tiga model displacement
        Relative addressing : register yang direferensi secara implisit adalah Program Counter (PC)
        Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat
        Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya
        Base register addressing : register yang direferensi berisi sebuah alamat memori dan field alamat berisi perpindahan dari alamat itu
        Referensi register dapat eksplisit maupun implisit
        Memanfaatkan konsep lokalitas memori
Indexing  : field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut
        Merupakan kebalikan dari mode base register
        Field alamat dianggap sebagai alamat memori dalam indexing
        Manfaat penting dari indexing adalah untuk eksekusi program-pprogram iteratif
        Contoh :
        Field eksplisit bernilai A dan field imlisit mengarah pada register

G.     Stack addressing
        Stack adalah array lokasi yang linier = pushdown list = last-in-firs-out
        Stack merupakan blok lokasi yang terbaik
        Btir ditambahkan ke puncak stack sehingga setiap blok akan terisi secara parsial
        Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack
        Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack
        Stack pointer tetap berada dalam register
        Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung

Desain set instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
Kelengkapan set instruksi
Ortogonalitas (sifat independensi instruksi)
Kompatibilitas : Source code compatibility dan 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 olah Instruction Format: panjangnya, banyaknya alamat, dsb.
Register: Banyaknya register yang dapat digunakan
Addressing: Mode pengalamatan untuk operand.

Membahas CPU,System bus, cental logic unit, set register

a. Pengertian CPU
CPU  merupakan  singkatan  dari  Central  Prosessor  Unit  yang  sering  diartikan  oleh  manusia sebagai  tubuh  maupun  dari  otak  sikomputer.  Selain  dapat  mengolah  berbagai  hitungan 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-funsinya
Perangkat  pengolah  atau  pemroses  data  dalam  komputer  adalah  prosesor  atau  lengkapnya adalah  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.

I. Control Unit
Unit  kontrol  (bahasa  Inggris:  Control  Unit  –  CU)  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).


Tugas dari CU adalah sebagai berikut:
1.  Mengatur dan mengendalikan alat-alat input dan output.
2.  Mengambil instruksi-instruksi dari memori utama.
3.  Mengambil data dari memori utama kalau diperlukan oleh proses.
4.  Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan
5.  logika serta mengawasi kerja.
6.  Menyimpan hasil proses ke memori utama.

Proses tiga langkah karakteristik unit control:
1.  Menentukan elemen dasar prosesor
2.  Menjelaskan operasi mikro yang akan dilakukan prosesor
3.  Menentukan fungsi-fungsi yang harus dilakukan unit control agar menyebabkan pembentukan operasi mikro

Masukan-masukan unit control:
1.  Clock / pewaktu
Pewaktu adalah cara unit control dalam menjaga waktunya. Unit control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang bersamaan) dibentuk bagi setiap pulsa waktu. Pulsa ini dikenal sebagai waktu siklus prosesor.

2.  Register instruksi
Opcode instruksi saat itu digunakan untuk menentukan operasi mikro mana yang akan dilakukan selama siklus eksekusi.

3.  Flag
Flag ini diperlukan oleh unit control untuk menentukan status prosesor dan hasil operasi ALU sebelumnya.

4.  Sinyal control untuk mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit control, seperti sinyalsinyal interupsi dan acknowledgement.

Keluaran-keluaran unit control:
• Sinyal control didalam prosesor: terdiri dari dua macam: sinyal -sinyal yang menyebabkan data dipindahkan dari register yang satu keregister yang lainnya, dan sinyal-sinyal yang dapat mengaktifasi fungsi-fungsi ALU tertentu.

II. 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.

III. 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.

IV. 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.

V. Input output
Terdapat dua jenis interface input dan output pada FPGA untuk komunikasi dengan device di luar FPGA: data port serial dan data port paralel.  Interface komunikasi serial biasa disebut UART  (Universal  Asynchronous  Receiver-  Transmitter).  Sedangkan  untuk  interface komunikasi parallel disebut PIO (Parallel Input-Output).

VI. UART
UART  merupakan  suatu  piranti  asinkron  yang  memerlukan  bit  awal  dan  bit  akhir  untuk setiap  kata  digital  yang  dikirimkan  dari  dan  ke  CPU.  UART  dapat  deprogram  untuk menentukan mode operasinya.

UART memiliki dua mode operasi:
1.Mode  pengiriman,  dimana  UART  akan  mengambil  data  paralel  dan  mengubahnya  dalam aliran data seri yang berisi karakter start, stop,dan karakter yang sama.

2.Mode  penerimaan,  dimana  UART  akan  mengambil  aliran  bit  seri  dan  mengubahnya  ke dalam data paralel.

VII. Bus
Suatu sistem digital pada umumnya memiliki banyak komponen register. Interkoneksi antar komponen  diperlukan  untuk  transfer  data  dari  satu  komponen  ke  komponen  yang  lainnya. Untuk  efesiensi  dalam  transfer  data  tersebut  digunakan  suatu  sistem  untuk  berbagi  saluran yang disebut bus. Bus adalah sekelompok kawat penghubung yang digunakan sebagai jalur untuk  menyalurkan  bit-bit  biner.  Ada  tiga  jenis  bus  pada  sistem  prosesor  :  bus  data,  bus alamat, dan bus kontrol.

1.  Bus  data  digunakan  untuk  mentransfer  data  antara  CPU  dengan  elemen  elemen  lain  di dalam sistem. Bus data bersifat bidirectional, bisa menerima data dan juga mengirimkan data. Juga terdapat internal data bus untuk transfer data sesama elemen CPU, yang dihubungkan ke bus data sistem melalui Memory Buffer Register (MBR). MBR merupakan buffer dua arah.

2. Bus alamat membawa alamat dari lokasi memori, untuk mengambil data agar dapat dibaca
atau untuk menyimpan agar dapat ditulis. Bus alamat dapat juga mengalamati elemen elemen lain di dalam sistem seperti unit antarmuka masukan/keluaran. Bus alamat dapat membawa 16 bit informasi digital secara serempak.

3.Bus kontrol membawa semua isyarat kontrol dari CPU. Fungsi utama bus kontrol adalah:
sinkronisasi memori dan I/O, penjadwalan CPU (misalnya interupsi), dan  tugas lain seperti reset dan clock. Sebelum memasuki address bus sistem maupun control bus sistem, informasi terlebih  dahulu  melewati  Memory  Address  Register  (MAR),  yang  merupakan  buffer  satu arah.

VIII. Clock

Bagian CPU yang lain adalah sistem waktu. Sistem terbuat dari sirkuit waktu untuk mengukur tugas yang dilakukan oleh CPU. Kinerja prosesor umumnya diukur dalam “hertz.”

referensi:
https://triazis13.wordpress.com/2016/11/06/arsitektur-set-instruksi/

https://mahmudiuye.blogspot.co.id/2015/04/struktur-cpu-fungsi-cpu-alu-control.html
Share This Article Facebook +Google Twitter Digg Reddit