Kamis, 14 November 2013

CPU



PENGERTIAN CPU DAN FUNGSI
CPU, singkatan dari Central Processing Unit adalah perangkat keras komputer yang berfungsi untuk menerima dan melaksanakan perintah dan data dari perangkat lunak. Prosesor sering digunakan untuk menyebut CPU pada umumnya. Adapun mikroprosesor adalah CPU yang diproduksi dalam sirkuit terpadu, seringkali dalam sebuah paket sirkuit terpadu-tunggal. Sejak pertengahan tahun 1970-an, mikroprosesor sirkuit terpadu-tunggal ini telah umum digunakan dan menjadi aspek penting dalam penerapan CPU.
Pin mikroprosesor Intel80486DX2. Komponen CPU terbagi menjadi beberapa macam, yaitu sebagai berikut:
Unitkontrol (ControlUnit) Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:
         ·            Mengatur dan mengendalikan alat-alat input dan output.
         ·            Mengambil instruksi-instruksidarimemoriutama.
         ·            Mengambil data dari memori utama (jika diperlukan) untuk diproses.
         ·            Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.
         ·             Mengawasi kerja dari ALU.
         ·             Menyimpan hasil proses ke memori utama.
Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
ALU
ALU merupakan bagian dari CPU yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit aritmatika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan (¹ ), kurang dari (<), kurang atau sama dengan (£ ), lebih besar dari (>), dan lebih besar atau sama dengan (³ ).
CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan /keluaran.
Cara Kerja CPU
Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan akan ditampilkan ke output-devices.

Fungsi CPU
CPU berfungsi seperti kalkulator, hanya saja CPU jauh lebih kuat daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui beberapa perangkat keras, seperti papan ketik, pemindai, tuas kontrol, maupun tetikus. CPU dikontrol menggunakan sekumpulan instruksi perangkat lunak komputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik (RAM), yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori. Selanjutnya, CPU dapat mengakses data-data pada RAM dengan menentukan alamat data yang dikehendaki.
Saat sebuah program dieksekusi, data mengalir dari RAM ke sebuah unit yang disebut dengan bus, yang menghubungkan antara CPU dengan RAM. Data kemudian didekode dengan menggunakan unit proses yang disebut sebagai pendekoder instruksi yang sanggup menerjemahkan instruksi. Data kemudian berjalan ke unit aritmatika dan logika (ALU) yang melakukan kalkulasi dan perbandingan. Data bisa jadi disimpan sementara oleh ALU dalam sebuah lokasi memori yang disebut dengan register supaya dapat diambil kembali dengan cepat untuk diolah. ALU dapat melakukan operasi-operasi tertentu, meliputi penjumlahan, perkalian, pengurangan, pengujian kondisi terhadap data dalam register, hingga mengirimkan hasil pemrosesannya kembali ke memori fisik, media penyimpan, atau register apabila akan mengolah hasil pemrosesan lagi. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai.

Kamis, 24 Oktober 2013

SET INTRUKSI


SET INTRUKSI
Set instruksi adalah sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU. Dan bisa disebut machine code ( bahasa mesin) yang aslinya berbentuk biner( bahasa assembly). Sudah sering kita mendengar debat cukup menareik antara computer personal IBM dan compatiblenya yang berlabel Intel Inside dengan computer Apple yang berlabel PowerPC. Perbedaan utama antara kedua computer itu ada pada tipe prosesor yang digunakannya. Prosesor PowerPC dari Motorola yang menjadi otak utama computer Apple Machintosh dipercaya sebagai prosesor RISC, sedangkan Pentium buatan Intel diyakini sebagai prosesor CISC.Kenyataannya computer personal yang berbasis Intel Pentium saati ini adlah computer personal yang paling banyak populasinya. Tetapi tidak bisa dipungkiri juga bahwa computer yang berbasis RISC sepert Machinthos, SUN adalah computer yang handal dengan sistem pipelining, superscalar, operasi floating point dan sebagainya.
Dengan penggunaan computer yang berbasis Intel, Macintosh, dan IBM, maka akan dikemukakan perbedaan set instruksi CPU.
B. Rumusan Masalah
Dari latar belakang masalah yang telah dijelaskan diatas maka terdapat rumusan masalah dibawah ini:
1. Bagaimana konsep instruksi pada computer?
2. Apa penjelasan dari set instruksi CPU yang berbasis Intel, Macinthos, dan IBM?
3. Bagaimana perbedaan dari masing-masing set instruksi CPU ?

C. Tujuan
1. Mengetahui konsep set instruksi pada komputer
2. Mengetahui penjelasan dari set instruksi CPU berbasis Intel,Macinthos, dan IBM
3. Memahami perbedaan set instruksi CPU yang berbasis Intel, Macinthos, dan IBM.

Set instruksi merupakan sekumpulan lengkap instruksi yang dpaat dimengerti oleh sebuah CPU lengkap. Karakteristik instruksi mesin adalah sebagai berikut:
1. Instruksi mesin yang dieksekusi membentuk suatu operasi dan berbagai macam fungsi CPU
2. Mempelajari karakteristik instruksi mesin, meliputi:
a. Elemen-elemen instruksi mesin
Untuk dapat dieksekusi CPU, suatu instruksi harus berisi elemen informasi yang diperlukan CPU secara lengkap dan jelas. Elemen-elemennya adalah:
- Operation Code ( Opcode): menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner
- Source Operand Reference: Operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.
- Result Operand Reference: merupakan hasil atau keluaran operasi
- Next Instruction Reference: elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi
b. Representasi Instruksi
Instruksi computer direpresentasikan oleh sekumpulan bit. Instruksi dibagi menjadi beberapa field. Field-field ini diisi oleh elemen-elemen instruksi yang membawa informasi bagi operasi CPU. Layout instruksi dikenal dengan format instruksi.
Format Instruksi:
[opcode][alamat]
Kode operasi [opcode] direpresentasikan dengan singkatan-singkatan yang disebut mnemonic. Mnemonic mengindikasi suatu operasi bagi CPU.
Contoh mnemonic :
ADD= penambahan
SUB= pengurangan
LOAD= muatan data ke memori


c. Jenis-jenis Instruksi
Terdapat kumpulan unik set instruksi, yang dapat digolongkan dalam jenis-jenisnya yaitu:
- Pengolahan data ( data processing)
Meliputi operasi-operasi aritmetika dan logika. Operasi aritmetika memiliki kemampuan komputasi untuk pengolahan data numeric. Sedangkan instruksi logika beroperasi terhadpa bit-bit word sebagai bit, bukannya sebagai bilangan, sehingga instruksi ini memiliki kemampuanuntuk pengolahan data lain.
- Perpindahan data ( data movement) berisi instruksi perpindahan data antar register maupun modul I/O untuk dapat diolah oleh CPU maka diperlukan instruksi-instruksi yang bertugas memindahkan data operand yang diperlukan.
- Penyimpanan data ( data storage) berisi instruksi-instruksi penyimpan ke memori. Instruksi penyimpanan sangat penting dalam operasi komputasi, karena data tersebut akan digunakan untuk operasi berikutnya, minimal untuk ditampilkan pada layar harus diadakan penyimpanan walaupun sementara.
- Kontrol aliran program ( program flow control) berisi instruksi pengontrolan operasi dan percabangan ke set instruksi lain.
d. Jumlah Alamat
Jumlah register atau alamat yang digunakan dalam operasi CPU tergantung format masing-masing CPU. Ada format operasi yang menggunakan 3,2,1, dan 0 register. Umumnya yang digunakan adalah 2 register dalam satu operasi. Desain CPU saat itu telah menggunakan 3 alamat dalam satu operasi, terutama dalam MIPS ( million instruction per second). Alamat instruksi yang lebih sedikit akan membuat instruksi lebih sederhana dan pendek, tetapi lebih sulit diimplementasikan fungsi-fungsi yang kita inginkan. Karena instruksi CPU sederhana maka rancangan CPU juga lebih sederhana.

e. Rancangan Set Instruksi 
Aspek paling menarik dalam arsitektur computer adalah perancangan ini berpengaruh banyak pada aspek lainnya. Set instruksi menentukan banyaknya fungsi yang harus dilakukan CPU. Set instruksi merupakan alat bagi pemogram untuk mengontrol kerja CPU. Pertimbangan : kebutuhan pemogram menjadi bahan pertimbangan dalam merancang setinstruksi.
Masalah yang fundamental meliputi:

- Operation Repertoire
- Data Types
- Instruction Format
- Register
- Addresing
Tipe Operasi
Dalam perancangan arsitektur computer, jumlah kode operasi akan sangat berbeda untuk masing-masing computer, tetapi terdapat kemiripan dalam jenis operasinya. Jenis operasi computer:
- Tranfer data –konversi
Instruksi transfer data harus menetapkan:
• Instruksi transfer data harus menetapkan:
 Lokasi operand sumber
v
 Lokasi operand tujuan
v
 Panjang data yang akan dipindahkan
v
 Mode pengalamatannya
v
• Apabila sebuah atau kedua operand berada didalam memori, maka CPU harus melakukan sebagian atau seluruh tindakan berikut:
 Menghitung alamat memori, yang didasarkan pada mode alamat
v
 Apabila alamat mengacu pada virtual memori harus dicari alamat memori sebenarnya.
 Menentukan apakah alamat berada dalam cache memori
v
 Bila di cache tidak ada, dikeluarkan perintahkan ke modul memori
v
- Aritmatika – input/output
- Logika – control sistem dan transfer control
B.SetInstruksi CPU berbasisIntel
1.Pengertian CISC
Complex instruction-set computing atau Complex Instruction-Set Computer (CISC) "Kumpulan instruksi komputasi kompleks") adalah sebuah arsitektur dari set instruksi dimana setiap instruksi akan menjalankan beberapa operasi tingkat rendah, seperti pengambilan dari memory, operasi aritmetika, dan penyimpanan ke dalam memory, semuanya sekaligus hanya di dalam sebuah instruksi. Karakteristik CISC dapat dikatakan bertolak-belakang dengan RISC.Berbeda dengan konsep RISC, prosesor dengan konsep CISC memiliki set instruksi yang jauh lebih kompleks. Konsep CISC lebih menekankan untuk menyediakan kapisatas yang dibutuhkan dengan cara yang lebih efisien. Banyaknya instruksi yang tersedia memudahkan para programmer untuk mengembangkan aplikasi untuk plattform CISC. Prosesor yang digunakan dalam komputer pribadi masa kini, Intel Pentium misalnya, umumnya berbasis CISC. Arsitektur berbasis CISC juga memungkinkan para perancang prosesor untuk menambahkan set instruksi tambahan untuk keperluan tertentu disamping set instruksi standar yang sudah ada, misalnya set instruksi MMX (Multimedia Extension) yang ditambahkan pada prosesor buatan Intel, dan 3Dnow! pada prosesor keluaran AMD. Karena itulah maka keluarga prosesor CISC lebih banyak digunakan dalam komputer pribadi dimana aplikasinya lebih luas, sementara keluarga prosesor RISC hanya digunakan pada workstation yang biasanya memiliki lingkup aplikasi yang lebih sempit.


2. Karakteristik

a. Sarat informasi memberikan keuntungan di mana ukuran program-program yang dihasilkan akan menjadi relatif lebih kecil, dan penggunaan memory akan semakin berkurang. Karena CISC inilah biaya pembuatan komputer pada saat itu (tahun 1960) menjadi jauh lebih hemat
b. Dimaksudkan untuk meminimumkan jumlah perintah yang diperlukan untuk mengerjakan pekerjaan yang diberikan. (Jumlah perintah sedikit tetapi rumit) Konsep CISC menjadikan mesin mudah untuk diprogram dalam bahasa rakitan

3. Ciri-ciri
a. Jumlah instruksi banyak
b. Banyak terdapat perintah bahasa mesin
c. Instruksi lebih kompleks


4.Pendekatan CISC
Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja.

RISC CISC
Penekanan pada perangkat lunak Penekanan pada perangkat kerasSingle-clock,hanya sejumlah kecil instruksi Termasuk instruksi kompleks multi-clockRegister toRegister :”LOAD”&”STORE” adalah instruksi2 terpisah Memori ke Memori:”LOAD”&”STORE” saling bekerjasama Ukuran kode besar (kecepatan relatif tinggi) Ukurang kode kecil, kecepatan rendah Transistor banyak dipakai untuk register memori Transistor digunakan untuk menyimpan instruksi2 kompleks.

 C. Set Instruksi CPU berbasis Machintosh
Sudah sering kita mendengar debat yang cukup menarik antara komputer personal IBM dan kompatibelnya yang berlabel Intel Inside dengan komputer Apple yang berlabel PowerPC. Perbedaan utama antara kedua komputer itu ada pada tipe prosesor yang digunakannya. Prosesor PowerPC dari Motorola yang menjadi otak utama komputer Apple Macintosh dipercaya sebagai prosesor RISC, sedangkan Pentium buatan Intel diyakini sebagai prosesor CISC. Kenyataannya komputer personal yang berbasis Intel Pentium saat ini adalah komputer personal yang paling banyak populasinya. Tetapi tidak bisa pungkiri juga bahwa komputer yang berbasis RISC seperti Macintosh, SUN adalah komputer yang handal dengan sistem pipelining,superscalar,operasi floating point dan sebagainya.

Walaupun pemrosesan berbasis RISC memiliki beberapa kelebihan, dibutuhkan waktu kurang lebih 10 tahunan mendapatkan kedudukan di dunia komersil. Hal ini dikarenakan kurangnya dukungan perangkat lunak. Walaupun Apple’s Power Macintosh menggunakan chip berbasis RISC dan Windows NT adalah kompatibel RISC, Windows 3.1 dan Windows 95 dirancang berdasarkan prosesor CISC Banyak perusahaan segan untuk masuk ke dalam dunia teknologi RISC. Tanpa adanya ketertarikan komersil, pengembang prosesor RISC tidak akan mampu memproduksi chip RISC dalam jumlah besar sedemikian hingga harganya bisa kompetitif.Kemerosotan juga disebabkan munculnya Intel, walaupun chip-chip CISC mereka semakin susah digunakan dan sulit dikembangkan Intel memiliki sumberdaya untuk menjajagi dan melakukan berbagai macam pengembangan dan produksi prosesor-prosesor yang ampuh. Walaupun prosesor RISC lebih unggul dibanding Intel dalam beberapa area, perbedaan tersebut kurang kuat untuk mempengaruhi pembeli agar merubah teknologi yang digunakan.

D.Set Instruksi CPU berbasis IBM
1.Pengertian RISC RISC singkatan dari Reduced Instruction Set Computer. Merupakan bagian dari arsitektur mikroprosessor, berbentuk kecil dan berfungsi untuk negeset istruksi dalamkomunikasi diantara arsitektur yang lainnya.
2.Karakteristik Arsitektur RISC memiliki beberapa karakteristik diantaranya :
a. Siklus mesin ditentukan oleh waktu yang digunakan untuk mengambil dua buah operand dari register, melakukan operasi ALU, dan menyimpan hasil operasinya kedalam register, dengan demikian instruksi mesin RISC tidak boleh lebih kompleks dan harus dapat mengeksekusi secepat mikroinstruksi pada mesin-mesin CISC. Dengan menggunakan instruksi sederhana atau instruksi satu siklus hanya dibutuhkan satu mikrokode atau tidak sama sekali, instruksi mesin dapat dihardwired. Instruksi seperti itu akan dieksekusi lebih cepat dibanding yang sejenis pada yang lain karena tidak perlu mengakses penyimapanan kontrol mikro program saat eksekusi instruksi berlangsung.
b. Operasi berbentuk dari register-ke register yang hanya terdiri dari operasi load dan store yang mengakses memori . Fitur rancangan ini menyederhanakan set instruksi sehingga menyederhanakan pula unit control. Keuntungan lainnya memungkinkan optimasi pemakaian register sehingga operand yang sering diakses akan tetap ada di penyimpan berkecepatan tinggi. Penekanan pada operasi register ke register merupakan hal yang unik bagi perancangan RISC.
c. Penggunaan mode pengalamatan sederhana, hampir sama dengan instruksi menggunakan pengalamatan register,. Beberapa mode tambahan seperti pergeseran dan pe-relatif dapat dimasukkan selain itu banyak mode kompleks dapat disintesis pada perangkat lunak dibanding yang sederhana, selain dapat menyederhanakan selinstruksi dan unitkontrol.
d. Penggunaan format-format instruksi sederhana, panjang instruksinya tetap dan disesuaikan dengan panjang word. Fitur ini memiliki beberapa kelebihan karena dengan menggunakan field yang tetap pendekodean opcode dan pengaksesan operand register dapat dilakukan secara bersama-sama.


3.Ciri-ciri 
a.Instruksi berukuran tunggal   b.Ukuran yang umum adalah 4byte
c. Jumlah pengalamatan data sedikit, biasanyakurang dari 5buah.
d. Tidak terdapat pengalamatan tak langsung yang mengharuskan melakukan sebuah akses memori agar memperoleh alamat operand lainnya dalam memori
e.Tidak terdapat operasi yang menggabungkan operasi load/store dengan operasi aritmatika, seperti penambahan kememori dan penambahan dari memori                                                                                .f. Tidak terdapat lebih dari satu operand beralamat memori per instruksi
g. Tidak mendukung perataan sembarang bagi data untuk operasi load/ store.
h. Jumlah maksimum pemakaian memori manajemen bagi suatu alamat data adalah sebuah instruksi.                                                                                          
i. Jumlah bit bagi integer register spesifier sama dengan 5 atau lebih, artinya sedikitnya 32 buah register integer dapat direferensikan sekaligus secara eksplisit.
j. Jumlah bit floating point register spesifier sama dengan 4 atau lebih, artinya sedikitnya 16 register floating point dapat direferensikan sekaligus secara eksplisit.

Konsep RISC pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada University of California di Berkely. RISC memberikan banyak keuntungan dalam desain sebuah prosor berkaitan dengan sasaran perancangan sebuah prosesor yaitu: seberapa baik sebuah instruksi dapat dipetakan dalam clock speed tertentu; seberapa “sederhana” sebuah arsitektur sistem yang dibutuhkan; dan berapa banyak yang dapat dikerjakan sebuah prosesor sebelum diserahkan pada bantuan software. Dewasa ini, konsep RISC digunakan pada proseor untuk komputer-komputer high-end, misalnya keluarga prosesor Sun SPARC buatan Sun Microsystems dan prosesor Power PC yang digunakan oleh workstation IBMRISC System/6000.
  4.Keunggulan RISC
Saat ini, hanya Intel x86 satu-satunya chip yang bertahan menggunakan arsitektur CISC. Hal ini terkait dengan adanya kemajuan teknologi komputer pada sektor lain. Harga RAM turun secara dramatis. Pada tahun 1977, DRAM ukuran 1MB berharga %5,000, sedangkan pada tahun 1994 harganya menjadi sekitar $6. Teknologi kompailer juga semakin canggih, dengan demikian RISC yang menggunakan RAM dan perkembangan perangkatlunak menjadi semakin banyak ditemukan.
5.Pendekatan RISC
Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu “LOAD”, yang digunakan untuk memindahkan data dari memori ke dalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali ke memori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin)
E. Kelebihan dan Kekurangan
Teknologi RISC relatif masih baru oleh karena itu tidak ada perdebatan dalam menggunakan RISC ataupun CISC, karena tekhnologi terus berkembang dan arsitektur berada dalam sebuah spektrum, bukannya berada dalam dua kategori yang jelas maka penilaian yang tegas akan sangat kecil kemungkinan untuk terjadi.
Kelebihan                                                                                                                                   
1. Berkaitan dengan penyederhanaan kompiler, dimana tugas pembuat kompiler untuk menghasilkan rangkaian instruksi mesin bagi semua pernyataan HLL. Instruksi mesin yang kompleks seringkali sulit digunakan karena kompiler harus menemukan kasus-kasus yang sesuai dengan konsepnya. Pekerjaan mengoptimalkan kode yang dihasilkan untuk meminimalkan ukuran kode, mengurangi hitungan eksekusi instruksi, dan meningkatkan pipelining jauh lebih mudah apabila menggunakan RISC dibanding menggunakan CISC.
2. Arsitektur RISC yang mendasari PowerPC memiliki kecenderungan lebih menekankan pada referensi register dibanding referensi memori, dan referensi register memerlukan bit yang lebih sedikit sehingga memiliki akses eksekusi instruksi lebih cepat.                                                                                                   3. Kecenderungan operasi register ke register akan lebih menyederhanakan set instruksi dan menyederhanakan unit kontrol serta pengoptimasian register akan menyebabkanoperand-operandyangseringdiaksesakantetap beradadipenyimpanberkecepatantinggi.                                                         
  4.Penggunaan mode pengalamatan dan format instruksi yang lebih sederhana.
Kekurangan
1. Program yang dihasilkan dalam bahasa simbolik akan lebih panjang (instruksinya lebih banyak).
2. Program berukuran lebih besar sehingga membutuhkan memori yang lebih banyak, ini tentunya kurang menghemat sumberdaya.                                     
  3. Program yang berukuran lebih besar akan menyebabkan menurunnya kinerja, yaitu instruksi yang lebih banyak artinya akan lebih banyak byte-byte instruksi yang harus diambil. 
  4. Pada lingkungan paging akan menyebabkan kemungkinan terjadinya page fault lebih besar




Sumber:

http://tiaaliasrendy.blogspot.com/2010/12/apa-seh-sebenernya-set-instruksi-itu.html 




METODE PENGALAMATAN


METODE PENGALAMATAN

Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
            Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan
Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:
  1. Operation code (op code)
  2. Source operand reference
  3. Result operand reference
  4. Xext instruction preference
Format instruksi (biner):
Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat    register
Beberapa simbolik instruksi:
ADD               : Add (jumlahkan)
SUB                : Subtract (Kurangkan)
MPY/MUL     : Multiply (Kalikan)
DIV                 : Divide (Bagi)
LOAD             : Load data dari register/memory
STOR              : Simpan data ke register/memory
MOVE             : pindahkan data dari satu tempat ke tempat lain
SHR                : shift kanan data
SHL                : shift kiri data .dan lain-lain

Cakupan jenis instruksi:
                                       Data processing : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT,     SHR, dsb);     konversidata
Data storage (memory)  : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement              : Input dan Output ke modul I/O
Program flow control    : JUMP, HALT, dsb.


Bentuk instruksi:

-   Format instruksi 3 alamat
   Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.

Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B              Y := A – B
MPY T, D, E               T := D × E      
ADD T, T, C               T := T + C
DIV Y, Y, T               Y:= Y / T

Memerlukan 4 operasi
-          Format instruksi 2 alamat

      Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak
.

Contoh :
A, B, C, D, E, T, Y adalah register
      Program: Y = (A – B) / ( C + D × E)
      MOVE Y, A               Y := A
      SUB Y, B                   Y := Y - B
      MOVE T, D   
            T := D
      MPY T, E                    T := T × E
      ADD T, C                   T := T + C
      DIV Y, T                    Y:= Y / T

Memerlukan 6 operasi

-          Format instruksi 1 alamat
 Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu  register, tapi panjang program semakin bertambah.

Contoh :
A, B, C, D, E, Y adalah register
      Program: Y = (A – B) / ( C + D × E)
      LOAD D                     AC := D
      MPY E                        AC := AC × E
      ADD C                       AC := AC + C
      STOR Y                      Y := AC
      LOAD A                     AC := A
      SUB B                        AC := AC – B
      DIV Y                       
   AC := AC / Y
      STOR Y                      Y := AC
Memerlukan 8 operasi

-    Format instruksi 0 alamat

        Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top]  dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.

Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
            PUSH A                      S[top] := A
            PUSH B                      S[top] := B
            SUB                            S[top] := A - B
            PUSH C                      S[top] := C
            PUSH D                      S[top] := D
            PUSH E                      S[top] := E
            MPY                           S[top] := D × E
            ADD                           S[top] := C + S[top]
            DIV                             S[top] := (A - B) /S[top]
            POP Y                         Out := S[top]
Memerlukan 10 operasi

Set instruksi pada CISC:
Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang memiliki arsitektur CISC


Perbandingan set instruksi

Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada terpisah.
Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat range memori dinyatakan oleh bilangan berpangkat dua. 
          
Implementasi hardware

Setiap set instruksi yang berbeda membutuhkan perangkat hardware yang berbeda pula. Hal ini terjadi karena set instruksi yang berbeda menyimpan informasi yang berbeda sehingga dibutuuhkan hardware yang berbeda untuk mengubah set instruksi tersebut ke bentuk sinyal-sinyal control.
Untuk mendapatkan opcode berikutnya prosesor harus mengetahui letak dari opcode tersebut secara pasti pada memory. Karena tipe dari mode addressing sangat mempengaruhi posisi dari operand, maka secara tidak langsung mode addressing mempengaruhi letak opcode selanjutnya. Sehingga dapat disimpulkan kedua cara pendeklarasian mode addressing tersebut turut mempengaruhi arsitektur hardware dari computer.

Pengalamatan

Program biasanya ditulis dalam bahasa tingkat tinggi, yang memunkinkan program untuk menggunakan konstanta, variable local dan global, pointer, dan array. Pada saat mentranslasi program bahsa tingkat tinggi menjadi bahsa assembly, compiler harus mampu mengimplimentasi konstruksi ini menggunakan fasilitas yang disediakan dalam set instruksi computer dimana program akan dijalankan. cara yang berbeda dalam menentukan lokasi suatu operand ditetapkan dalam suatu instruksi yang disebut sebagai mode pengalamatan.

Implementasi variable dan konstanta

Variable dan konstanta adalah tipe data yang paling sederhana dan terdapat dalam hampir setiap program computer. Dalam bahasa assembley, suatu variable dinyatakan dengan mengalokasikan suatu register atau lokasi memori untuk menyimpan nilainya. Sehingga nilai tersebut dapat diubah seperlunya menggunakan instruksi sesuai.

Kita mengakses operand dengan menetapkan nama register atau alamat lokasi memori tempat operand berada. Definisi yang presisi dari dua mode tersebut adalah:
a)      Mode register operand adalah isi register prosesor, nama alamat register dinyatakan dalam instruksi tersebut.
b)       Mode absolute operand adalah lokasi memori, alamat lokasi dinyatakan secara eksplisit didalam instruksi tersebut. (pada bebrapa bahasa assembly, mode ini disebut direct).
c)      Mode immediate operand dinyatakan secara eksplisit dalam instruksi, misalnya, instruksi Move 200 immediete, RO.

Indirection dan pointer

Pada mode pengalamatan berikutnya, instruksi tidak menyatakana operand atau alamatnya secara eksplisit. Sebaliknya, instruksi menyediakan informasi dari nama alamat memori suatu operand dapat ditetapkan. Kita menyebut alamat ini sebagai effective address (EA) suatu operand.
Selain kesederhanaanya yang tampak jelas, pengalamatan indirect melalui memori telah terbukti memiliki keterbatasan pengunaan sebagai mode pengalamatan, dan jarang di gunakan dalam computer modern, pengalamatan indirect melalui register digunakan secara luas. Maka pengalamatan indirect melalui register memungkinkan untuk mengakses variable global dengan terlebih dahulu me-load alamat operand dalam suatu register.

Secara umum teknik addressing yang sering dilakukan adalah:
1. Immediate addressing
Operand (data yang akan dikomputasi) berada langsung pada set instruksi.

2.   Direct Addressing
Operand berada pada memori, set instruksi memegang alamat lokasi memori dimana operand tersebut berada.

3.   Indirect Addresing
Operand berada pada memori, untuk mendapatkan operand ini CPU harus melakukan penelusuran dua kali yaitu dari data alamat memori yang ada pada set instruksi serta alamat yang ditunjuk oleh alamat memori yang diperoleh dari set instruksi tadi.

4.   Register addressing
Operand berada pada register, cara kerjanya mirip dengan direct addressing hanya saja CPU mengakses alamat register bukan alamat memori.

5.   Register Indirect Addressing
Operand berada pada memori, untuk mendapatkan operand CPU harus mengakses register terlebih dahulu karena informasi lokasi operand berada pada register.

6.  Displacement
Operand berada pada memori, cara kerjanya merupakan gabungan dari teknik direct addressing dan register indirect addressing.
7.   Stack
     Operand berada pada stack, operand secara berkala dimasukan ke stack sehingga ketika 
operand dibutuhkan maka operand sudah berada pada “top of the stack”.

Teknik pengalamatan tersebut harus dapat memenuhi kebutuhan komputasi yang dilakukan oleh computer yang secara garis besar dapat dibagi kedalam tiga kategori yaitu:
-         Operasi load (memasukan data).
-         Operasi branch (percabangan).                                                                    
                              -         Operasi aritmatik dan logika.




Sumber:

Referensi : http://www.4shared.com/office/KVurIFSK/SET_INSTRUKSI_MODUS_PENGALAMAT.htm