Anda di halaman 1dari 16

ARSITEKTUR KOMPUTER Set-set Instruksi: Mode dan Bentuk Pengalamatan

Di Susun Oleh : RINI ANDINI 1129040148 PTIK 02

JURUSAN PENDIDIKAN TEKNIK ELEKTRO PROGRAM STUDI PTIK UNIVERSITAS NEGERI MAKASSAR 2014

BAB 11 SET- SET INSTRUKSI: MODE DAN BENTUK PENGALAMATAN A. Jenis-jenis Pengalamatan 1. Pengalamatan Segera Bentuk yang paling sederhana dari pengalamatan adalah pengalamatan segera, dimana operand benar-benar diberikan pada instruksi : OPERAND = A Mode ini dapat digunakan untuk mendefinisikan dan menggunakan nilai awal variable tetap atau yang di-set. Secara umum, bilangan akan disimpan dalam bentuk komplemen dua ; bit paling kiri bidang operand digunakan sebagai bit tanda. Ketika operand terisi dalam register data, bit tanda diperluas ke kiri sepenuhnya ukuran word data. Keuntungan pengalamatan segera adalah bahwa tidak ada acuan memori selain dari pengambilan instruksi yang diperlukan untuk memperoleh operand, sehingga menghemat satu memori atau siklus cache dalam siklus instruksi. Kerugiannya adalah bahwa ukuran bilangannya terbatas pada ukuran bidang alamat, yang mana dalam kebanyakan set instruksi lebih kecil dibandingkan dengan panjang word. 2. Pengalamatan Langsung Bentuk pengalamatan yang sangat sederhana adalah pengalamatan langsung, dimana bidang alamat terdiri dari alamat efektif operand : EA = A Teknik ini adalah umum pada generasi awal computer tetapi tidak umum pada arsitektur kontemporer. Teknik tersebut memerlukan hanya satu acuan memori dan tidak ada kalkulasi khusus. Pembatasan yang jelas adalah bahwa teknik tersebut memberikan hanya sebuah ruang alamat terbatas. 3. Pengalamatan Tidak Langsung Dengan pengalamatan langsung, panjang bidang alamat pada umumnya kurang dari panjang word, sehingga membatasi cakupan alamat. Penyelesaiannya adalah mempunyai bidang alamat yang mengacu pada alamat word dalam memori, yang pada gilirannya terdiri dari sepanjang alamat operand. Pengalamatan ini dikenal sebagai pengalamatan tidak langsung : EA = (A) 2

Set-set Instruksi: Mode dan Bentuk Pengalamatan

Seperti pada awal pembahasan, tanda kurung digunakan untuk diinterpretasikan sebagai arti yang terdiri dari. Keuntungan yang jelas nyata dari pendekatan ini adalah bahwa untuk panjang word N, suatu ruang alamat 2N kini tersedia. Kerugiannya adalah bahwa eksekusi instruksi memerlukan dua acuan memori untuk mengambil operand tersebut : satu untuk mendapatkan alamatnya dan kedua untuk mendapatkan nilainya. Meskipun jumlah word yang dapat dialamati kini sama dengan 2N, jumlah alamat efektif berbeda yang dpaat diacu pada senbarang waktu yang dibatasi pada 2 K, di mana K adalah panjang bidang alamat. Secara umum, ini bukanlah pembatasan yang membebani dan merupakan sebuah asset. Pada lingkungan memori virtual, semua lokasi alamat efektif dapat terbatas pada halaman 0 sembarang proses. Karena bidang alamat suatu instruksi kecil, bidang alamat secara alami akan menghasilkan alamat langsung bernomor rendah, yang akan mucul pada halaman 0. (satu-satunya pembatasan ini adalah bahwa ukuran halaman haus lebih besar atau sama dengan 2K). Ketika proses aktif, terdapat acuan yang akan diulangi sampai halaman 0, menyebabkan acuan tersebut untuk tinggal di dalam memori riil. Jai, acuan memori tidak langsung akan melibatkan, paling banyak satu halaman salah bukannya dua halaman. Varian pengalamatan tidak langsung yang jarang digunakan adalah bertingkat-tingkat atau berlapis. : EA = (..(A)) Dalam kasus ini, satu bit alamat penuh word adalah bendera tidak langsung (I). jika bit I sama dengan 0, maka word terdiri dari EA. Jika bit I sama dengan 1, maka dilibatkan tingkat tidak langsung lainnya. Disana tidak muncul sembarang keuntungan tertentu pada pendekatan ini, dan kerugiannya adalah bahwa tiga acuan memori lebihx diperlukan untuk mengambil operand. 4. Pengalamatan Register Tidak Langsung Seperti halnya pengalamatan register yang dapat dianologkan dengan penglamatan langsung, pengalamata register tidak lansung dapat disamakan dengan dengan pengalamatan tidak lansung. Pada kedua kasus satu-satunya perbedaan adalah apakah bidang alamat mengacu ke lokasi memori atau register .Jadi, untuk alamat register tidak lansung , EA = (R). Keuntungan dan pembatasan pengalamatan register tidak lansung pada dasarnya sama dengan pengalamatan tidak lansung .Pada kedua kasus ,pembatasan ruang alamat (cakupan 3

Set-set Instruksi: Mode dan Bentuk Pengalamatan

alamat terbatas) dari bidang alamat diatasi dengan pemberian bidang itu mengacu pada lokasi panjang word yang berisi alamat. Sebagai tambahan, register pengalamatan tidak lansung menggunakan satu lebih sedikit acuan memori dibanding pengalamatan tidak lansung. 5. Pengalamatan Penggantian Mode pengalamatan yang sangat handal diproleh dengan mengkombinasikan kemampuan pengalamatan lansung dan register pengalamatan tidak lansung. Hal tersebut dikenal dengan berbagai macam nama tergantung pada konteks yang digunakannya, tetapi mekanisme dasarnya adalah sama . Kita akan mengacu pada mekanisme dasar ini sebagai pengalamatan penggantian : EA = A + ( R ) Pengalamatan penggantian memerlukan instruksi yang mempunyai dua bidang alamat, yang salah satunya eksplisit . Nilainya terdiri dari satu bidang alamat (nilai = A) digunakan secara langsung . Bidang alamat yang lain, atau opcode yang di dasarkan pada acuan implisit, mengacu pada register yang terdiri dari penambahan ke A untuk menghasilkan alamat efektif. Kita akan menguraikan tiga penggunaan paling umum terhadap pengalamatan penggantian : Pengalamatan relative Pengalamatan register dasar Peng-indeks-an

a. Pengalamatan Relatif Untuk pengalamatan relatif, register di acu secara implisit adalah pencacah program (Program Counter-PC). Yaitu, alamat instruksi tertentu ditambahkan kebidang alamat untuk menghasilkan EA. Secara umum, bidang alamat diperlakukan sebagai bilangan komplemen dan untuk operasi ini. Jadi, alamat efektif merupakan penggantian relatif dengan alamat instruksi tersebut. Pengalamatan relatif memanfaatkan konsep lokalitas yang telah dibahas pada bab 4 dan 8. Jika kebanyakan acuan secara relatif dekat pada instruksi yang dieksekusi, maka penggunaan pengalamatan relatif menyimpan bit alamat pada instruksi.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

b. Pengalamatan Register Dasar Untuk pengalamatan register dasar, interpretasinya adalah sebagai berikut : Register yang diacu berisi alamat memori, dan bidang alamat berisi penggantian (pada umumnya representasi integer tidak bertanda) dari alamat tersebut. Acuan register dapat berupa eksplisit atau implisit. Pengalamatan register dasar juga dapat memanfaatkan lokalitas acuan memori. Hal ini merupakan alat yang menyenangkan terhadap pengimplementasian segmentasi, yang telah dibahas pada bab 8. Dalam beberapa implementasi, register berbasis segmen tunggal dilakukan dan digunakan secara implisit. Di pihak lain, pemrogram dapat dipilih register untuk menampung alamat dasar segmen, dan instruksi perlu mengacunya secara eksplisit. Pada kasus yang belakangan, jika panjang bidang alamat sama dengan K dan jumlah register yang mungkin sama dengan N, maka satu instruksi dapat mengacu sembarang area N terhadap word 2. c. Peng-indeks-an Untuk peng-indeks-an, interpretasinya secara umum sebagai berikut : Acuan bidang alamat suatu alamat memori utama, dan register yang diacu berisi penggantian positif dari alamat tersebut. Perlu dicatat bahwa penggunaannya hanya merupakan kebalikan dari interpretasi untuk pengalamatan register dasar. Tentu saja, hal itu lebih dari sekedar interpretasi pengguna . Karena bidang alamat dianggap sebagai alamat memori dalam peng-indeks-an, secara umum terdiri dari lebih banyak bit dibandung dengan bidang alamat pada instruksi register dasar yang dapat dibandingkan. Juga kita akan mengetahui bahwa terdapat beberapa perbaikan bagi peng-indeks-an yang tidak akan bermanfaat pada konteks register dasar. Meskipun demikian, metode penghitungan EA adalah sama untuk pengalamatan register dasar dan peng-indeks-an, dan pada kedua kasus acuan register kadang-kadang eksplisit dan kadang-kadang implisit (untuk jenis CPU yang berbeda). Penggunaan peng-indeks-an penting adalah memberikan mekanisme yang efisien untuk pembentukan operasi yang berulang-ulang. Sebagai contoh, perhatikan register bilangan-bilangan disimpan dengan mulai pada lokasi A. Anggap bahwa kita bermaksud menambahkan 1 ke masing-masing elemen pada daftar tersebut. Kita ahrus mengambil nilainya masing-masing, menabahkan 1, dan menyimpannya kembali. Urutan alamat-alamat efektif yang kita perlukan adalah A,A+1,A+2a,........, sampai ke lokasi terakhir pada daftar itu. Dengan peng-indeks-an, hal ini dengan
Set-set Instruksi: Mode dan Bentuk Pengalamatan

mudah dilakukan. Nilai A disimpan, diinisialisasikan dengan 0. Setelah masingmasing operasi, register indeks dinaikkan 1. Karena register indeks biasanya digunakan untuk tugas yang berulang-ulang seperti itu, maka register indeks secara umum diperlukan untuk menaikkan atau menurunkan register indeks setelah masing-masing acuannya. Karena hal ini merupakan operasi umum, beberapa sistem secara otomatis akan melakukan hal ini sebagai bagian dari siklus instruksi yang sama. Hal ini di kenal sebagai peng-indeksan otomatis. Dapat dilibatkan secara implisit dan secara otomatis. Jika register bertujuan umum digunakan, operasi indeks otomatis dapat diperlukan untuk disinyalkan oleh bit pada instruksi tersebut. Peng-indeks-an otomatis menggunakan kenaikan yang dapat dilukiskan sebagai berikut :

EA = A+(R) (R) (R)+1

Pada beberapa mesin. Baik pengalamatan tidak langsung maupun peng-indeksan diberikan, dan dimungkinkan untuk melakukan kedua instruksi yang sama. Terdapat dua kemungkinan: Peng-indeks-an dilakukan sebelum maupun setelah indirection. Jika peng-indeks-an dilakukan setelah indirection, maka disebut post peng-indeks-an.

EA = (A)+(R)

Pertama muatan bidang alamat digunakan untuk mengakses lokasi memori yag terdiri dari alamat langsung. Alamat ini kemudian di-indeks oleh nilai register. Teknik ini berguna untuk mengakses salah satu dari sejumlah blok data bentuk tertentu. Sebagai contoh, hal ini telah di uraikan pada bab 8 bahwa sistem operasi diperlukan untuk melakukan blok kontrol proses bagi masing-masing proses. Operasi yang dilakukan adalah sama dengan mengabaikan blok yang dimanipulasi. Sehingga alamat pada perintah yang mengacu blok dapat menujuk lokasi (nilai = A) yang terdiri dari pointer variabel unutk awal dari blok kontrol proses. Register indeks terdiri dari penggantian di dalam blok.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

Pada preindexing, peng-indeks-an dibentuk sebelum indirection :

EA = (A+(R))

Alamat dikalkulasi seperti halnya pada peng-indeks-an sederhana. Pada kasus ini, bagaimanapun, alamat yang di kalkulasikan tidak berisi operand, tetapi hanya alamat operand. Ontoh penggunaan teknik ini adalah untuk membangun banyak cara tabek cabang. Pada titik tertentu pada program, mungkin terdapat cabang bagi salah satu dari sejumlah lokasi yang tergantung pada kondisi-kondisi. Tabel alamat dapat diberikan permulaan lokasi A. Dengan peng-indeks-an ke dalam tabel ini, lokasi yang diperlukan dapat ditemukan. Secara khusus, set instruksi tidak akan meliputi keduanya pre peng-indeks-an dan post peng-indeks-an. 6. Pengalamatan Stack Mode pengalamatan terakhir yang kita pertimbangkan adalah pengalamatan stack. Seperti yang telah dibahas dalam lampiran 9A ,stack merupakan larik lokasi linier.Stack kadang-kadang dikenal sebagai daftar pushdown atau antrian last-in-first-out. Stack merupakan blok lokasi yang dipesan. Materi ditambahkan ke puncak stack sehingga, di setiap waktu, blok secara persial diisi. Pointer yang nilainya alamat pada puncak stack dihubungkan dengan stack . Sebagai alternative puncak dua elemen stack dapat berada dalam register CPU, dalam kasus dimana pointer stack mengacu pada elemen ketiga stack . Pointer stack dirawat dalam register. Sehingga ,acuan ko lokasi stack dalam memori kenyataannya register alamat tidak lansung. Mode pengalamatan stack merupakan bentuk implikasi pengalamatan. Instruksiinstruksi mesin tidak perlu meliputi acuan memori tetapi secara implisit beroperasi di atas stack tersebut. B. Mode-mode Pengalamatan Pentium Dan Power Pc 1. Mode-Mode Pengalamatan Kembali ke gambar 8.21 bahwa mekanisme terjemahan alamat pentium menghasilkan sebuah alamat, yang disebut alamat efektif atau alamat virtual, yang merupakan offset kedalam segmen. Penjumlahan yang dimulai dari alamat segmen dan alamat efektif menghasilkan alamat linear. Jika pemberian nomor halaman digunakan, alamat linear harus 7

Set-set Instruksi: Mode dan Bentuk Pengalamatan

menerobos mekanisme terjemahan halaman untuk menghasilkan alamat fisik. Pada apa yang diikutinya., kita mengabaikan langkah terakhir ini., karena langkah tersebut transparan bagi setinstruksi dan bagi pemrogramnya. Pentium dilengkapi dengan berbagai macam mode pengalamatan yang diharapkan memungkinkan dilakukannya eksekusi efisisenterhadap bahasa tingkat tinggi. Gambar 11.2 mengindikasikan adanya logika yang dilibatkan. Register segmen menetukan segmen pokok acuan. Terdapat 6 register segmen: yang satu digunakan untuk acuan tertentu tergantung pada konteks eksekusi dan instruksi. Setiap register segmen menampung alamat awal yang bersesuaian dengan alamat segmen. Yang dihubungkan dengan masing-masing register

segmen terlihat pengguna adalah register desriptor segmen (tidak terlihat oleh pemprograman) arsip yang diakses cocok untuk segmen seperti halnya alamat awal dan batas panjang segment itu. Sebagai tambahan, terdapat dua register yang dapat digunakan dalam membangun alamat; register dasar dan register indeks. Tabel. 11.2 mendaftar mode pengalamatan pentium 12. Mari kita pertimbangkan masing-masingnya pada gilirannya. Untuk mode segera, operand dimasukkan dalam instruksi. Operan dapat berupa bit, word, atau double word data. Untuk mode operand register, operand terletak pada register. Bagi instruksi-instruksi umum, seperti perpindahan data, aritmatika, dan perintah logis, operand dapat menjadi salah satu dari register umum 32bit, salah satu dari register umum 16bit atau salah satu dari register umum 8bit. Untuk operasi titik mengambang, operand 64 bit dibentuk dengan menggunakan 2 pasang register 32bit. Terdapa t juga beberapa instruksi yang mengacu register segmen. Lokasi acuan mode pengalamatan sisanya berada dalam memory. Penempatan memory harus dispesifikasikan dalam kaitannya dengan segmen yang berisi lokasi dan opset dari awal segmen. Dalam beberapa hal, segmen dispesiofikasikan secara eksplisit; dipihak lain, segmen dispesiifikasikan oleh aturan sedrhana yang menentukan segmen dengan nilai default. Pada mode penggantian, opset operand dimasukkan sebagai bagian instruksi sebagai penggantian 8bit, 16bit, atau 32 bit. Pada segmentasi, semua alamat dalam instruksi selalu mengacu ke opset pentada segmen. Mode pengalamatan penggantian ditentukan pada sedikit mesin karena, seprti yang telah disebutkan lebih awal, mode pengalamatan penggantian mengarahkan keperintah yang panjang. Pada kasus pentium , nilai penggantian dapat menjadi sepanjang 32 bit, pembuatan instruksi 6-byte. Pengalamatan penggantian dapat bergunauntuk pengacuan variabel global.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

Tabel 11.2 Mode Pengalamatan PENTIUM II

MODE Segera Operand register Penggantian Basis Basis dengan penggantian Indeks yang terskala dengan penggantian Basis dengan indeks dan penggantian Basis dengan indeks terskala Operand = A LA = R LA = (SR) + A

ALGORITMA

LA = (SR) + (B) LA = (SR) +(B) + A LA = (SR) + (I) x S + A LA = (SR) + (B) + (I) + A dan LA = (SR) + (I) x S + (B) + (A)

penggantian Relatif LA = (PC) + A

LA= alamat linear (X)= muatan X SR= register segmen PC= penghitung program A= muatan bidang alamat dalam instruksi R= register B= register basis I= register indeks S= faktor skala Mode pengalamatan sisanya adalah tidak langsung, pada pengertian bahwa bagian alamat instruksi memberitahukan prosesor dimana untuk menemukan alamat. Mode basis mengspesifikasikan bahwa salah satu register 8bit, 16bit, atau 32 bit terdiri dari alamat efektif. Hal ini sama dengan apa yang kita dikenal sebagai register pengalamatan tidak langsung. Pada basis dengan mode penggantian, instruksi meliputi penggantian untuk ditambahkan ke register basis. Yang mungkin merupakan sembarang register bertujuan umum. Contoh kegunaan dari mode ini meliputi hal-hal berikut: 9

Set-set Instruksi: Mode dan Bentuk Pengalamatan

Digunakan oleh kompiler untuk menunjuk awal dari area variabel lokal. Sebagai contoh, register basis dapat menunjuk permulaan dari bingkai stick; yang terdiri dari variabel lokal untuk menyesuaikan prosedur. Indeks digunakan ke dalam larik ketika ukuran elemen bukanlah 1, 2, 4, atau 8 byte dan yang oleh karena itu tidak bisa diindeks dengan menggunakan register indeks. Pada kasus ini penggantian menunjuk kepada permulaan larik dan register basis menampung hasil kalkulasi untuk menentukan offset ke elemen spesifik di dalam larik. Digunakan untuk mengakses bidang rekaman. Register basis mengarahkan ke permulaan rekaman, disamping itu penggantian merupakan offset ke bidang. Pada indeks berskala dengan mode penggantian, instruksi meliputi penggantian untuk ditambahkan pada register, dalam hal ini disebut register indeks. Register indeks dapat berupa sembarang register bertujuan umum kecuali yang disebut ESP, yang digunakan secara umum untuk memproses stack. Pada perhitungan alamat efektif, isi register indeks merupakan perkalian dengan factor skala dari 1,2,4, atau 8, dan kemudian menambahnya untuk penggantian. Mode ini sangan menyenangkan untuk pengindeksian larik. Pengskalaan 2 dapat digunakan untuk larik integer 16 bit. Factor skala 4 dapat digunakan untuk bilangan integer atau titik mengambang 32 bit. Akhirnya, factor skala 8 dapat digunakan untuk larik bilangan-bilangan titik mengambang ketepatan ganda. Basis dengan indeks dan mode penggantian menjumlahkan isis register basis, register indeks, dan penggantian untuk membentuk alamat efektif. Lagi, register basis dapat berupa sembarang register bertujuan umun kecuali ESP. Sebagai contoh mode pengalamatan ini dapat digunakan untuk mengakses larik local pada frame stack. Mode ini juga dapat diggunakan untuk mendukung larik dua dimensi; pada kasus ini, penggantian menunjuk ke permukaan larik, dan masing-masing register menangani satu dimensi larik. Indeks berskala basis dengan mode penggantin menjumlahkan isi register indeks dikalikan dengan factor skala, isi register basis, dan penggantian. Hal ini berguna jika larik disimpan pada frame stack; dalam hal ini, elemen-elemen larik masing-masing panjangnya 2,4 atau 8 byte. Mode ini juga memberikan pengindeksan larik dua dimensi yang efisien ketika elemen-elemen larik yang panjangnya adalah 2,4 atau 8 byte. Akhirnya, pengalamatan relative dapat digunakan dalam induksi transfer of control. Penggantian ditambahkan ke nili pencacah program konter, poin-poin yang mana bagi instruksi berikutnya. Dalam kasus ini penggantian diperlukan sebagai byte, bertanda word,
Set-set Instruksi: Mode dan Bentuk Pengalamatan

10

atau nilai double word, dan itu nilai baik peningkatan maupun pengurangan alamat dalam pencacah program. 2. Mode Pengalamatan Power PC Secara umum pada kebanyakan mesin RISC, dan tidak sama dengan Pentium dan kebanyakan mesin CICS, Power PC menggunakan set mode pengalamatan sederhana dan relative secara langsung. seperti diindikasikan pada Tabel 11.3, mode ini diklasifikasikan dengan mudah berkenan dengan jenis instruksi. 3. Arsitektur Load/Store PowerPc memberikan dua alternative mode pengalamatan untuk instruksi load/store. Pada pengalamatan tidak langsung, instruksi meliputi penggantian 16 bit ditambahkan ke register basis, yang memungkinkan berupa sembarang register bertujuan umum. Sebagai tambahan, instruksi dapat dispesifikasikan berupa alamat efektif yang baru dihiting dapat diumpan-balikkan ke register basis, membarui isi terakhir. Membarui pilihan bermanfaat untuk pengindeksan progresif terhadap larik dalam pengulangan. Teknik pengalamatan lainnya untuk instruksi load/store adalah pengalamatan terindeks tidak langsung. Dalam kasus ini, acuan instruksi register basis dan register indeks, keduanya mungkin berupa sembarang register bertujuan umum. Alamat efektif merupakan penjumlahan isi dua register ini. Lagi, membarui pilihan menyebabkan register basis untuk dibarui ke alamat efektif yang baru. Tabel 11.3 Mode-mode Pengalamatan PowerPC Mode Algoritma Pengalamatan Load/Store Tidak langsung Terindeks tidak langsung EA = (BR) + D EA = (BR) + (IR) Pengalamatan cabang Mutlak Relative Tidak langsung EA = I EA = (PC)+I EA = (L/CR) Komputasi Titik Tetap Register EA = GPR

Set-set Instruksi: Mode dan Bentuk Pengalamatan

11

Segera Komputasi titik mengambang Register EA = FPR

EA = Alamat Efektif (X) = Isi dari X BR = Register basi IR = Register indeks L/CR = Register link atau perhitungan GPR= Register bertujuan umum FPR= Register tidak mengambang D= Pengantian I= Nilai segera PC= Pencacah program 4. Pengalamatan Cabang Diberikan tiga pengalamatan cabang. Ketika pengalamatan mutlak digunakan dengan instruksi-instruksi cabang tanpa syarat, alamat efektif instruksi berikutnya berasal dari nilai segera 24 bit dalam instruksi tersebut. Nilai 24 bit dikembangkan ke dalam nilai 32 bit dengan menambahkan dua 0 ke terakhir paling sedikit signifikan dan perpanjangan tanda. Untuk instruksi cabang bersyarat, alamat efektif instruksi berikutnya berasal dari nilai segera 16 bit di dalam instruksi. Nilai 16 bit diperluas ke nilai 32 bit dengan menambahkan dua 0 ke akhir paling sedikit signifikan dan perpanjangan tanda. Pengalamatan relative, nilai segera 24 bit atau nilai segera 14 bit diperluas sama seperti sebelumnya. Nilai hasilnya kemudian ditambahkan ke pencacah program untuk mendefenisikan lokasi relative terhadap instruksi terakhir. Mode pengalamatan bersyarat lainnya adalah pengalamatan tidak langsung. Mode ini memperoleh alamat efektif instruksi berikutnya dari baik register link maupun register perhitungan. Perlu dicatat dibanding dengan hal ini register perhitungan digunakan untuk menampung alamat instruksi cabang. Register ini juga dapat digunakan untuk pengulangan, seperti diterangkan sebelumnya.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

12

5. Instruksi Aritmatika Untuk aritmatika integer, semua operand harus dimasukkan dalam register atau bagian instruksi manapun. Pada pengalamatan register, operand sumber atau operand tujuan dispesifikasikan sebagai salah satu register bertujuan umum. Pada pengalamatan segera, operand sumber muncul sebagai kualitas tanda 16 bit pada instruksi tersebut. Untuk aritmatika titik mengambang, semua operand merupakan register titik mengambang; yaitu, hanya digunakan pengalamatan register.

C. Bentuk-Bentuk Instruksi Suatu bentuk instruksi mendefinisikan layout bit instruksi, dalam kaitannya dengan bagian utamanya. Suatu bentuk instruksi harus meliputi sebuah opcode dan secara implisit atau secara eksplisit, operand nol atau lebih. Masing-masing operand eksplisit diacu dengan menggunakan salah satu mode pengalamatan. Secara implisit atau eksplisit, bentuk harus mengindikasikan adanya mode pengalamatan untuk masing-masing operand. Untuk kebanyakan set instruksi, digunakan bentuk instruksi lebih dari satu. Rancangan bentuk instruksi merupakan suatu seni yang kompleks, dan suatu variasi yang mengagumkan dalam rancangan yang telah diimplementasikan. 1. Panjang Instruksi Hal-hal paling mendasar yang dihadapi untuk merancang adalah panjang bentuk instruksi. Keputusan ini mempengaruhi oleh, kapasitas memory, organisasi memory, struktur bus, kompleksitas CPU, dan kecepatan CPU. Keputusan ini menentukan kesempurnaan dan fleksibilitas dari mesin seperti dilihat oleh pemrogram bahasa asembli. Kerugian yang paling jelas disini adalah antara keinginan untuk repertoire instruksi yang handal dan kebutuhan untuk menyimpan ruang. Pemrogram menginginkan opcode yang lebih, operand yang lebih, mode pengalamatan yang lebih, dan cakupan alamat yang lebih besar. Opcode yang lebih dan operand yang lebih, membuat lebih mudah bagi pemrogram, karena program yang lebih pendek dapat ditulis untuk memenuhi tugas yang diberikan. Dengan cara yang sama, mode pengalamatan yang lebih memberikan fleksibilitas lebih besar bagi pemrogram dalam pengimplementasian fungsi tertentu, seperti manipulasi tabel dan percabangan banyak cara. Dan tentu saja, dengan peningkatan penggunaan memori virtual, pemrograman ingindapat mencakup alamat memori lebih besar. Panjang instruksi yang lebih

Set-set Instruksi: Mode dan Bentuk Pengalamatan

13

panjang, bias sja tidak berguna. Sebuah instruksi 64 bit menduduki 2 kali lebih ruang instruksi 32 bit tetapi mungkin manfaatnya kurang dari dua kali. Selain kekurangan mendasar ini, terdapat pertimbangan yang lain. Salah satu panjang instruksi harus sama dengan panjang transfer memori atau panjang instruksi harus berbagai macam berbeda. Cara lainnya, kita tidak akan mendapatkan kesatuan bilangan instruksi selama siklus pengambilan. Sebuah pertimbangan yang terkait adalah kelajuan transfer memori. Kelajuan ini belum mengikuti peningkatan kecepatan prosesor. Maka, memori dapat menjadi suatu kemacetan jika prosesor dapat mengeksekusi instruksi lebih cepat dari pada memori dapat mengambilnya. 2. Alokasi Bit Faktor saling berhubungan berikut menentukan penggunaan pengalamatan bit : a. Jumlah mode pengalamatan. Kadang-kadang mode pengalamatan dapat diindikasikan secara implisit. Sebagai contoh, opcode tertentu mungkin selalu meminta untuk pengindeksan. Pada kasus yang lain, mode pengalamatan harus eksplisit, dan satu atau lebih bit mode akan diperlukan. b. Jumlah operand. Kita sudah melihat bahwa lebih sedikit alamat dapat dibuat bagi program lebih panjang, yang lebih canggung. Instruksi umum pada mesin saat ini memberikan dua operand. Masing-masing alamat operand pada instruksi mungkin memerlukan indikator mode, atau penggunaan indicator mode dapat dibatasi pada hanya satu bidang alamat saja. c. Register versus memori. Sebuah mesin harus mempunyai register sehingga data dapat dibawa kedalam CPU pengolahannya. Dengan register tunggal terlihat oleh pengguna, satu alamat operand adalah implisit dan mengkonsumsi bukan bit instruksi. Semakin register itu dapat digunakan untuk acuan operand, lebih sedikit bit yang diperlukan. Sejumlah penelitian mengindikasikan bahwa total register yang terlihat oleh pengguna dari 8 sampai 32 dapat diinginkan [LUND77, HUCK83]. Arsitektur yang paling kontemporer mempunyai sedikitnya 32 register. d. Jumlah set register. Mesin yang paling kontemporer mempunyai satu set register bertujuan umum, pada umumnya dengan register 32 atau lebih dalam satu set. Register ini dapat digunakan untuk menyimpan data dan dapat digunakan untuk menyimpan alamat untuk pengalamatan penggantian.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

14

e. Cakupan alamat. Untuk alamat yang mengacu memori, cakupan alamat yang dapat diacu dihubungkan dengan jumlah bit alamat. Karena pembebanan ini sebuah pembatasan sederhana, pengalamatan langsung jarang digunakan. Pada pengalamatan penggantian, cakupan dibuka sampai kepanjang register alamat. f. Granularitas alamat. Untuk alamat yang mengacu memori dari pada register, faktor lainnya adalah granularitas pengalamatan. Pada system dengan word 16 bit atau 32 bit, alamat dapat mengacu word atau byte pada pilihan perancang. Pengalamatan byte menyenangkan untuk manipulasi karakter tetapi diperlukan, untuk memori berukuran tetap, bit alamat yang lebih.

3. PDP-8 Salah satu rancangan instruksi paling sederhana untuk computer bertujuan umum adalah PDP-8. PDP-8 menggunakan instruksi 12 bit dan beroperasi pada word 12 bit. Terdapat register bertujuan umum tunggal, akumulator. Bentuk instruksi PDP-8 sungguh efisien. Bentuk tersebut mendukung pengalamatan tidak langsung, pengalamatan penggantian, dan pengindeksan. Dengan menggunakan opcode perluasan, mendukung total kira-kira 35 instruksi. Dengan batasan panjang instruksi 12 bit, perancang dengan susah payah dapat melakukannya dengan lebih baik. 4. PDP-10 Perbedaan yang jauh bagi set instruksi PDP-8 adalah PDP-10. PDP-10 dirancang untuk system berbagi waktu skala besar, dengan penekanan pada membuat system mudah bagi program, sekalipun biaya perangkat keras tambahan dilibatkan. Diantara prinsip rancangan yang telah dilakukan pada perancangan set instruksi adalah [BELL78C]. a. Orthogonalitas. Merupakan prinsip dengan 2 variabel independen satu sama lain. Dalam konteks set instruksi, istilah mengindikasikan bahwa elemen-elemen lain instruksi adalah tidak terikat pada opcode. b. Kelengkapan. Masing-masing jenis data aritmetika seharusnya mempunyai set operasi lengkap dan identik. c. Pengalamatan langsung. Basis ditambah pengalamatan penggantian, tempat dimana organisasi memori membebankan pada pemrogram, telah dihindarkan menuju ke pengalamatan langsung. 15

Set-set Instruksi: Mode dan Bentuk Pengalamatan

5. Instruksi-instruksi Panjang Variabel Biaya prinsip besar instruksi panjang variable adalah suatu peningkatan dalam kompleksitas CPU. Turunnya harga perangkat keras, penggunaan pemrograman mikro, dan peningkatan umum dalam pemahaman prinsip-prinsip rancangan CPU mempunyai semua dukungan dalam penurunan biayanya. Bagaimanapun, kita akan mengetahui bahwa mesinmesin RISC dan superscalar dan memanfaatkan penggunaan dari instruksi panjang tetap untuk memberikan kinerja yang ditingkatkan. 6. PDP-11 PDP-11 dirancang untuk memberikan set instruksi yang handal dan fleksibel dalam batasan computer mini 16 bit [BELL70]. PDP-11 menjalankan set delapan register bertujuan umum 16 bit. Dua register ini mempunyai arti tambahan: satu digunakan sebagai pointer stack untuk operasi stack bertujuan khusus, dan salah satunya digunakan sebagai pencacah program, yang terdiri dari alamat instruksi berikutnya. Instruksi-instruksi PDP-11 pada umumnya satu word (16 bit) panjang. Untuk beberapa instruksi, satu atau dua alamat memori ditambahkan, sehingga instruksi 32 bit dan 48 bit menjadi bagian repertoire. 7. VAX Kebanyakan arsitektur memberikan relative lebih sedikit jumlah bentuk instruksi tetap. Hal ini dapat menyebabkan dua permasalahan bagi pemrogram. Pertama, mode pengalamatan dan opcode tidak orthogonal. Kedua, hanya jumlah operand terbatas yang dapat diakomodasikan secara umum sampai kedua atau tiga. Untuk menghindari permasalahan ini, dua kriterian telah digunakan dalam merancang bentuk instruksi VAX: Semua perintah perlu mempunyai jumlah operand yang alami Semua operand perlu mempunyai spesifikasi keadaan umum yang sama. Hasilnya adalah bentuk instruksi yang sangat variable. Sebuah instruksi terdiri dari opcode 1 byte atau 2 byte yang diikuti dari nol hingga 6 operand spesifier, tergantung pada opcode.

Set-set Instruksi: Mode dan Bentuk Pengalamatan

16

Anda mungkin juga menyukai