SET INSTRUKSI DAN METODE PENGALAMATAN

Posted: Oktober 29, 2013 in Uncategorized

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 registermode pengalamatanarsitektur memori, penanganan interupsieksepsi, 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 x86IA-64IBM PowerPCMotorola 68000Sun SPARCDEC Alpha, dan lain-lain.
  • ISA kadang-kadang digunakan untuk membedakan kumpulan karakteristik yang disebut di atas dengan mikroarsitektur prosesor, yang merupakan kumpulan teknik desain prosesor untuk mengimplementasikan set instruksi ( mencakup microcodepipelinesistem cache, manajemen daya, dan lainnya). Komputer-komputer dengan mikroarsitektur berbeda dapat saling berbagi set instruksi yang sama. Sebagai contoh, prosesor Intel Pentium dan prosesor AMD Athlon mengimplementasikan versi yang hampir identik dari set instruksi Intel x86, tetapi jika ditinjau dari desain internalnya, perbedaannya sangat radikal. Konsep ini dapat diperluas untuk ISA-ISA yang unik seperti TIMI yang terdapat dalam IBM System/38 dan IBM IAS/400. TIMI merupakan sebuah ISA yang diimplementasikan sebagai perangkat lunak level rendah yang berfungsi sebagai mesin virtual. TIMI didesain untuk meningkatkan masa hidup sebuah platform dan aplikasi yang ditulis untuknya, sehingga mengizinkan platform tersebut agar dapat dipindahkan ke perangkat keras yang sama sekali berbeda tanpa harus memodifikasi perangkat lunak (kecuali yang berkaitan dengan TIMI). Hal ini membuat IBM dapat memindahkan platform AS/400 dari arsitektur mikroprosesor CISC ke arsitektur mikroprosesor POWER tanpa harus menulis ulang bagian-bagian dari dalam sistem operasi atau perangkat lunak yang diasosiasikan dengannya.
  • Ketika mendesain mikroarsitektur, para desainer menggunakan Register Transfer Language (RTL) untuk mendefinisikan operasi dari setiap instruksi yang terdapat dalam ISA.
  • Sebuah ISA juga dapat diemulasikan dalam bentuk perangkat lunak oleh sebuah interpreter. Karena terjadi translasi tambahan yang dibutuhkan untuk melakukan emulasi, hal ini memang menjadikannya lebih lambat jika dibandingkan dengan menjalankan program secara langsung di atas perangkat keras yang mengimplementasikan ISA tersebut. Akhir-akhir ini, banyak vendor ISA atau mikroarsitektur yang baru membuat perangkat lunak emulator yang dapat digunakan oleh para pengembang perangkat lunak sebelum implementasi dalam bentuk perangkat kerasdirilis oleh vendor.

Daftar ISA di bawah ini tidak dapat dikatakan komprehensif, mengingat banyaknya arsitektur lama yang tidak digunakan lagi saat ini atau adanya ISA yang baru dibuat oleh para desainer

Bagian dari instruksi

Satu instruksi mungkin memiliki beberapa bidang, yang mengidentifikasi operasi logis untuk dilakukan, dan bisa juga menyertakan alamat sumber dan tujuan dan nilai-nilai konstan. Ini adalah MIPS “Tambahkan Segera” instruksi yang memungkinkan pemilihan register sumber dan tujuan dan inklusi dari sebuah konstanta kecil. pada arsitektur tradisional, instruksi mencakup opcode menentukan operasi yang akan dilakukan, seperti “isi menambah memori untuk mendaftar”, dan nol atau lebih operan penspesifikasi, yang dapat menentukan register, memori lokasi, atau data harfiah. Para penspesifikasi operan mungkin memiliki mode pengamatan menentukan makna mereka atau mungkin dalam bidang tetap. Dalam (VLIW) arsitektur, yang mencakup banyak microcode arsitektur, opkode simultan dan operan yang ditentukan dalam sebuah instruksi.

Beberapa set instruksi eksotis tidak memiliki bidang opcode (seperti Transportasi Dipicu Arsitektur (TTA) atau mesin Forth maya), hanya operan (s). Lainnya tidak biasa ” 0-operan” set instruksi kekurangan dalam suatu operan bidang specifier.

Metode pengalamatan

Metode pengalamatan merupakan aspek dari set instruksi arsitekturdi sebagian unit pengolah pusat(CPU) desain yang didefinisikan dalam set instruksi arsitektur dan menentukan bagaimana bahasa mesinpetunjuk 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 registerdan / atau konstanta yang terkandung dalam instruksi mesin atau di tempat lain.

Jenis-jenis metode pengamatan

1.Direct Absolute(pengalamatan langsung)

| load | reg address| | Load | reg | alamat

Alamat address = Efektif seperti yang diberikan dalam instruksi)

Hal ini membutuhkan ruang dalam sebuah instruksi untuk cukup alamat yang besar.. Hal ini sering tersedia di mesin CISC yang memiliki panjang instruksi variabel, seperti x86.. Beberapa mesin RISC memiliki Literal khusus Atas instruksi Load yang menempatkan sebuah 16-bit konstan di atas setengah dari register.. Sebuah literal instruksi ATAU dapat digunakan untuk menyisipkan 16-bit konstan di bagian bawah mendaftar itu, sehingga alamat 32-bit kemudian dapat digunakan melalui mode pengalamatan tidak langsung mendaftar, yang itu sendiri disediakan sebagai “base- plus-offset “dengan offset 0.

Syntax Effectif adress
Loc EA=Loc
Add,R1 R1←[R1]+[100]

Kelebihan

  • Field alamat berisi efektif address sebuah operand
  • Teknik ini banyak digunakan pada komputer lama dan komputer ecil
  • Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus

Kelemahan

  • Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word Contoh: ADD A ; tambahkan isi pada lokasi alamat A ke akumulator

2.Immidiate

Bentuk pengalamatan ini yang paling sederhana

  • Operand benar-benar ada dalam instruksi atau bagian dari instruksi = operand sama dengan field alamat
  • Umumnya bilangan akan disimpan dalam bentuk kompleent dua
  • Bit paling kiri sebagai bit tanda
  • Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data Contoh: ADD 5 ; tambahkan 5 pada akumulator
Syntax Effectif adress
#value Operand=value
Add #10,R1 R1←[R1]+10

Keuntungan

Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand Menghemat siklus instruksi sehingga proses keseluruhan akan cepat

Kekurangan

Ukuran bilangan dibatasi oleh ukuran field alamat

3.indirect 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

Syntax Effectif adress
(Ri) EA=[Ri]
Add,(R1),R1 R1←[R1]+[[R1]]

4.indirect- memori

Salah satu mode pengalamatan yang disebutkan dalam artikel ini bisa memiliki sedikit tambahan untuk menunjukkan pengalamatan tidak langsung, yaitu alamat dihitung menggunakan modus beberapa sebenarnya alamat dari suatu lokasi (biasanya lengkap kata) yang berisi alamat efektif sebenarnya. Pengalamatan tidak langsung dapat digunakan untuk kode atau data.. Hal ini dapat membuat pelaksanaan pointer atau referensiatau menanganilebih mudah, dan juga dapat membuat lebih mudah untuk memanggil subrutin yang tidak dinyatakan dialamati. Pengalamatan tidak langsung tidak membawa hukuman performansi karena akses memori tambahan terlibat.

Beberapa awal minicomputer (misalnya Desember PDP-8, Data General Nova) hanya memiliki beberapa register dan hanya rentang menangani terbatas (8 bit).Oleh karena itu penggunaan memori tidak langsung menangani hampir satu-satunya cara merujuk ke jumlah yang signifikan dari memori.

5.Register

Pada beberapa komputer, register dianggap sebagai menduduki 16 pertama 8 atau kata-kata dari memori (misalnya ICL 1900, DEC PDP-10).. Ini berarti bahwa tidak perlu bagi yang terpisah “Tambahkan register untuk mendaftarkan” instruksi – Anda hanya bisa menggunakan “menambahkan memori untuk mendaftar” instruksi. Dalam kasus model awal PDP-10, yang tidak memiliki memori cache, Anda benar-benar dapat memuat sebuah loop dalam ketat ke dalam beberapa kata pertama dari memori (register cepat sebenarnya), dan berjalan lebih cepat daripada  di memori inti magnetik. Kemudian model dari DEC PDP-11seri memetakan register ke alamat di output / area input, tetapi ini ditujukan untuk memungkinkan diagnostik terpencil. register 16-bit dipetakan ke alamat berturut-turut byte 8-bit.

Syntax Effectif adress
Ri EA=Loc
Add,R2,R1 R1←[R1]+[R2]

6.Index

Indexing adalah 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-program iteratif
Syntax Effectif adress
X(R2) EA=[R2]+X
Add 10(R2),R1 R1←[R1]+[[R2]+10]

7.Base index

Base index, register yang direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu Referensi register dapat eksplisit maupun implicit.Memanfaatkan konsep lokalitas memori

Syntax Effectif adress
R1,R2 EA=[R1]+[R2]
Add(R1,R2),R3 R3←[R3]+[[R1+[R2]]

8.base index plus offset

Offset biasanya nilai 16-bit masuk (walaupun 80386 diperluas ke 32 bit). Jika offset adalah nol, ini menjadi contoh dari registerpengalamatan tidak langsung, alamat efektif hanya nilai dalam register dasar. Pada mesin RISC banyak, register 0 adalah tetap sebesar nilai nol.. Jika register 0 digunakan sebagai register dasar, ini menjadi sebuah contoh dari pengalamatan mutlak.. Namun, hanya sebagian kecil dari memori dapat diakses (64 kilobyte, jika offset adalah 16 bit). 16-bit offset mungkin tampak sangat kecil sehubungan dengan ukuran memori komputer saat ini (yang mengapa 80386 diperluas ke 32-bit).. Ini bisa lebih buruk: IBM System/360 mainframe hanya memiliki 12-bit unsigned offset.. Namun, prinsip berlaku: selama rentang waktu yang singkat, sebagian besar item data program ingin mengakses cukup dekat satu sama lain. Mode pengalamatan ini terkait erat dengan mode pengalamatan terindeks mutlak.

Contoh 1: Dalam sebuah sub rutin programmer terutama akan tertarik dengan parameter dan variabel lokal, yang jarang akan melebihi 64 KB, yang satu basis register (yang frame pointer) sudah cukup. Jika rutin ini adalah metode kelas dalam bahasa berorientasi objek, kemudian register dasar kedua diperlukan yang menunjuk pada atribut untuk objek saat ini (ini atau diri dalam beberapa bahasa tingkat tinggi).

Contoh 2: Jika register dasar berisi alamat dari sebuah tipe komposit (record atau struktur), offset dapat digunakan untuk memilih field dari record (catatan paling / struktur kurang dari 32 kB).

Syntax Effectif adress
X(R2) EA=+[R1]+[R2]+X
Add,10(R1,R2),R3 R3←[[R3]+][R1]+[R2]]+10}

9.Relatif

PengalamatanRelative, 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

Syntax Effectif adress
Ri EA=Ri
Add R2,R1 R1←[R1]+[R2]

Referensi : http://id.wikipedia.org/wiki/Set_instruksi

http://thoyaan.blogspot.com/2012/11/metode-pengalamatan.html

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s