Top Banner

of 38

Mode Pengalamatan

Oct 14, 2015

Download

Documents

orkom
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • ORGANISASI DAN ARSITEKTUR KOMPUTERKELOMPOK 7DELWANTI PITRI12101156110128EKO ADY SAPUTRA12101156110132ISMI MAULIA12101156110141SARDODI MARLIANTO12101156110161SILVIA UTAMI12101156110163NELLY AZRI12101156110259

  • Membatasi keterbatasan format instruksiDapat mereferensi lokasi memori yang besarMode pengalamatan yang mampu menangani keterbatasan tersebutMasing-masing prosessor menggunakan mode pengalamatan yang berbeda-bedaMemiliki pertimbangan dalam penggunaannyaAda beberapa teknik pengalamatanImmediate AddressingDirect AddressingIndirect AddressingRegister addressing

  • Register indirect addressingDisplacement addressingStack addressing

  • Bentuk pengalamatan ini yang paling sederhana?Operand benar-benar ada dalam instruksi atau bagian dari instruksi = operand sama dengan field alamatUmumnya bilangan akan disimpan dalam bentuk kompleent duaBit paling kiri sebagai bit tandaKetika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word dataContoh:ADD 5 ; tambahkan 5 pada akumulator

  • KeuntunganTidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operandMenghemat siklus instruksi sehingga proses keseluruhan akan cepatKekuranganUkuran bilangan dibatasi oleh ukuran field alamat

  • Untuk pemanggilan alamat operand berupa register namanya Register Addressing.Dengan contoh instruksi LOAD C akan menghasilkan Acc
  • KelebihanField alamat berisi efektif address sebuah operandTeknik ini banyak digunakan pada komputer lama dan komputer ecilHanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khususKelemahanKeterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang wordContoh:ADD A ; tambahkan isi pada lokasi alamat A ke akumulator

  • Mode Pegalamatan tak langsungField alamat mengacu pada alamat word di alamat memori, yang pada gilrannya akan berisi alamat operand yang panjangContoh:ADD (A); tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator

  • KelebihanRuang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensiKekuranganDiperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi

  • Metode pengalamatan register mirip dengan mode pengalamatan langsungPerbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utamaField yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose

  • KeuntunganDiperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memoriAkses ke regster lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepatKerugianRuang alamat menjadi terbatas

  • Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsungPerbedaannya adalah field alamat mengacu pada alamat register.Letak operand berada pada memori yang dituju oleh isi registerKeuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsungalamat yang mengacu pada register, bukan pada memori utama.Field yang mereferensi register memilki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose.

  • Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyakDalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung

  • Keuntungan : Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori.Akses keregister lebih cepat dari pada akses ke memori, sehingga proses eksekusi akan lebih cepat.Kekurangan : Ruang alamat menjadi terbatas.

  • Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsungMode in mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisitField eksplisit bernilai A dan field implisit mengarah pada register

  • Operand berada pada alamat A ditambahkan isi registerTiga model displacementRelative addressingBase register addressingIndexing

  • Relative addresingregister yang direferensi secara implisit adalah progra counter (PC)Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamatMemanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnyaBase register addresingregister yang direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat ituReferensi register dapat eksplisit maupun implisitMemanfaatkan konsep lokalitas memori.

  • Indexingadalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebutMerupakan kebalikan dari mode base registerField alamat dianggap sebagai alamat memori dalam indexingManfaat penting dari indexing adalah untuk eksekusi program-program iteratif

  • Stack adalah array lokasi yang linier = pushdown list = last-in-first-outStack merupakan blok lokasi yang terbalikBtir ditambakan ke puncak stack sehingga setiap saat blok akan terisi secara parsialYang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stackDua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stackStack pointer tetap berada dalam registerDengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung

  • Pentium dilengkapi bermacam-macaam mode pengelamatan untuk memudahkan bahasa-bahasa tingkat tinggi mengeksekusinya secara efisien.

  • KeteranganSR = register segmentPC = program counterA = isi field alamatB = register basisI = register indeksS = factor skalaeA = Efektive Adress

  • Mode ImmediateOperand berada di dalam intruksi.Operand dapat berupa data byte, word atau doubleword.Mode Operand Registeryaitu 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 Displacementalamat 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 Basepengalamatan indirect yang menspesifikasi saru register 8, 16 atau 32 bit berbasis alamat efektifnya.Mode Relative Addresingdigunakan dalam intruksi-intruksi transfer control.displacement di tambahkan ke program counter (PC), yang menunjuk ke intruksi berikutnya.

  • Bentuk Instruksi PentiumFormat intruksi menentukan susunan dan tata letak bit suatu intruksi.Format intruksi harus mencangkup opcode serta implisit dan eksplisit operand.Biasanya set intruksi memiliki lebih dari satu format intruksi.Inti dari format intruksi adalah menentukan panjang intruksi dan alokasi bit dalam intruksi tersebut.

  • Panjang Intruksi Penentuan panjang intruksi mempengaruhi dan dipengaruhi oleh :Ukuran MemoryOrganisasi MemoryStruktur busKompleksitas CPUKecepatan CPU

  • Penentuan Panjang Instruksi

    Pertimbangan(INTRUKSI)Intruksi yang kompleks mempengaruhi perancangan perangkat keras prosesor karena fungsi-fungsi yang disajikan CPU harus diimpletasikan dalam perangkat kerasSemakin kompleks perangkat keras, tentunya akan meningkatkan factor biaya, walaupun belum tentu meningkatkan kinerja computer secara keseluruhan.Penentuan anjang intruksi menjadi sangat essensi untuk mencapai kinerja computer yang maksimal.

  • Pertimbangan(PROGRAMER)Menginginkan opcode, operand, dan mode pengalamatan yang lebih banyak serta range alamat yang lebih besar karena semua itu akan mempermudah pemrograman.Opcode, operand dan mode pengalamatan yang lebih banyak akan membutuhkan ruang yang lebih besar.Intruksi 32 bit akan menempati ruang 2x lebih banyak daripada 16 bit, namun kegunaannya belum tentu 2x lebih banyak.

  • Pertimbangan LainPanjang intruksi harus sama dengan panjang perpindahan memori(pada system bus, panjang bus data) dan panjang intruksi seharusnya merupakan kelipatan panjang intruksi lain.Hal yang harus dipertimbnagkan dalam mendapatkan optimalisasi proses eksekusi intruksi natinya baik kecepatan perpindahan maupun aplikasi memori.Kecepatan perpindahan data tidak dapat diatasi dengan menambah kecepatan prosesor.Kecepatan prosesorhanya berhubungan dengan eksekusi internal, sedangkan kecepatan perpindahan tergantung Bus, memori dan data itu sendiri.Cara meningkatkan kecepatan perpindahan data adalah dengan menggunakan chace memori dan menggunakan intruksi yang lebih pendek.

  • Alokasi bit Inti dalam alokasi bit adalah berada pada untung rugi antara jumlah opcode dengan kemampuan pengalamatannya.Opcode yang banyak digunakan akan menyebabkan bit yang lebih banyak pada field opcode, yang secara otomatis akan mengurangi jumlah bit untuk pengalamatan.Faktoryang merupakan hal-hal yang penting dalam menentukan penggunaan bit-bit pengalamatan :Jumlah mode pengalamatanJumlah operandRegister vs memoriJumlah set registerJangkauan alamatGranuralitas alamat

  • Jumlah mode pengalamatan - Mede pengalamatan dapat dilakukan secara implisit atau eksplisit, yang kesemuanya memerlukan jumlah bit yang berbedaJumlah operand - Jumlah operand sangat mempengaruhi kemampuan instruksi - Jumlah operand yang sedikit biasanya akan menjadikan intruksi yang panjang dalam suatu fungsiRegister vs memori - Penggunaan register maupun memori membutuhkan jumlah bit yang berbeda - Paada pengalamatan implisit dengan register akan membutuhkan bit lebih kecil daripada mode pengalamatan langsung ke memori

  • Jangkauan alamat - Untuk alamat alamat yang mereferensi memori secara eksplisit jangkauan ditentukan oleh jumlah bit yang digunakan untuk pengalamatan. - Pertimbangan menggunakan mode displacement patut dipertimbangkan untuk memiliki jangkauan pengalamatan yang besar

  • Jumlah set register - Jumlah set register juga mempengaruhi penggunaan bit-bit intruksi - General perpose register yang umumnya dimiliki hamper seluruh computer dapat digunakan untuk register alamat maupun register intruksiGranuralitas alamatPengalamatan yang mereferansi memori dapat digunakanPengalamatan yang mereferensi word atau byte

  • Format Intruksi Pentium

  • Arsitektur komputer dilengkapi bermacam-macam format instruksi.Instruksi-instruksinya dibangun mulai dari nol hingga empat prefiks instruksi opsional, sebuah opcode satu atau dua byte, specifier alamat opsional, yang terdiri dari mod r/m byte dan scale index byte(SIB), sebuah opsional displacement, dan opsional immidiate.

  • Opcodeopcode dapat mencakup bit-bit yang menspesifikasikan apakah suatu data merupakan byte atau full size, arah operasi data, dan apakah immediate data field harus merupakan sign-extendedMod r/mMemberikan informasi pengalamatanMbytemod r/m memspesifikasikan apakah operand berada di dalam register atau berada di dalam memori. Apabila operand berada di dalam memori, maka field-field yand berada di dalam byte akan menspesifikasi mode pengalamatan yang akan dipakai

  • SIBBerisi skala indeks register dan base register DisplacementBila mode pengalamatan menggunakan mode ini maka akan ditambahkan field displacement integer bertanda 8 bit, 16 bit, atau 32 bit.ImmadiateMemberikan nilai operand 8 bit, 16 bit, atau 32 bit.