Sabtu, 15 November 2014

1. Arsitektur Set Instruksi



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 (Opcode)
menspesifikasikan operasi yang akan dilakukan. Kode operasi berbentuk kode biner.

2. Source Operand Reference
operasi dapat berasal dari lebih satu sumber. Operand adalah input instruksi.

3. Result Operand Reference
Merupakan hasil atau keluaran operasi.

4. Next Instruction Reference
elemen ini menginformasikan CPU posisi instruksi berikutnya yang harus diambil dan dieksekusi

Format Instruksi

[opcode] [alamat]

* Kode operasi (opcode) direpresentasikan dengan singkatan-singkatan yang disebut mnemonic.
* Mnemonic mengindikasikan suatu operasi bagi CPU.
* Contoh mnemonic:
- ADD = penambahan
- SUB = subtract (pengurangan)
- LOAD = muatkan data ke memori


*Contoh representasi operand secara simbolik:
- ADD X, Y
artinya: tambahkan nilai yang berada pada lokasi Y dengan isi register X dan simpan hasilnya di register X.
*Programmer dapat menuliskan program bahasa mesin dalam bentuk simbolik.
*Setiap opcode simbolik memiliki representasi biner yang tetap dan programmer dapat menetapkan lokasi masing-masing operand.

a. jenis-jenis struktur.
1.                  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.

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

3. 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.
4. Kontrol aliran program ( program flow control) berisi instruksi pengontrolan operasi dan percabangan ke   set instruksi lain.
b. Lokasi Set Instruksi :
Sourcedan result operands dapat berupa salah satu diantara
tiga jenis berikut ini:
1.      Main or Virtual Memory
2.      CPU Register
3.      I/O Device

  •   Teknik Pengalamatan
Mode pengalamatn Pentium
Pentium dilengkapi bermacam-macam mode pengalamatan untuk memudahkan bahasa-bahasa tingkat tinggi mengeksekusinya secara efisien.
Macam-macam mode pengalamatanpentium :
·         Mode Immediate
·         Operand berada di dalam intruksi.
·         Operand dapat berupa data byte, word atau doubleword.
·         Mode Operand Register
yaitu operand adalah isi register.
·         Register 8 bit (AH, BH, CH, DH, AL, BL, CL, DL)
·         Register 16 bit (AX, BX, CX, DX, SI, DI, SP, BP)
·         Register 32bit (EAX, EBX, ECX, ESI, EDI, ESP, EBP)
·         Register 64 bit yang dibentuk dari register 32 bit secara berpasangan.
Ø  Register 8, 16, 32 bit merupakan register untuk penggunaan umum (general purpose register).
·         Register 14 bit biasanyan untuk operasi floating point.
·         Register segmen (CS, DS, ES, SS, FS, GS)
Ø  Mode Displacement
·         alamat efektif berisi bagian-bagian intruksin dengan displacement 8, 16, atu 32 bit.
·         dengan segmentasi, seluruh alamat dalam intruksi mengacu ke sebuah offset di dalam segmen.
·         dalam Pentium, mode ini digunakan untuk mereferensi variable-variabel global.
·         Mode Base
·         pengalamatan indirect yang menspesifikasi saru register 8, 16 atau 32 bit berbasis alamat   efektifnya.



  •   Desain Set Instruksi
Instruksi pelaksanaannya diatur Setiap set instruksi yang diberikan dapat diimplementasikan dalam berbagai cara. Semua cara melaksanakan instruksi set yang sama memberikan model pemrograman , dan mereka semua mampu menjalankan executable biner yang sama. Berbagai cara menerapkan set instruksi memberikan timbal balik yang berbeda antara biaya,, konsumsi kinerja daya, ukuran, dll.
Ketika merancang mikroarsitektur prosesor, insinyur menggunakan blok dari "terprogram" elektronik sirkuit (sering dirancang secara terpisah) seperti penambah, multiplexer, counter, register, ALUS dll Beberapa jenis bahasa mentransfer mendaftar yang kemudian sering digunakan untuk menggambarkan decoding dan urutan setiap instruksi dari ISA menggunakan mikroarsitektur fisik. Ada dua cara dasar untuk membangun sebuah unit kontrol untuk melaksanakan deskripsi ini (walaupun banyak desain menggunakan cara-cara tengah atau kompromi:
1. Desain komputer awal dan beberapa komputer RISC sederhana "terprogram" instruksi menyelesaikan set decoding dan sekuensing (seperti sisa mikroarsitektur tersebut).
2. Desain lain menggunakan microcode rutinitas dan / atau tabel untuk melakukan ini-biasanya seperti pada ROM chip dan / atau Plas (walaupun RAM terpisah telah digunakan historis).
Ada juga beberapa desain CPU baru yang mengkompilasi set instruksi untuk dapat ditulis RAM atau lampu kilat di dalam CPU (seperti Rekursiv prosesor dan Imsys Cjip ), [2] atau FPGA ( reconfigurable komputasi ). Para Western Digital MCP-1600 adalah contoh yang lebih tua, menggunakan ROM, khusus terpisah untuk microcode.

  •   Desain Set Instruksi
Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah :
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.
                                   http://rynaldobisnis.blogspot.com/2011/09/teknik-pengalamatan.html

Tidak ada komentar:

Posting Komentar