Set Instruksi

download Set Instruksi

of 30

Transcript of Set Instruksi

Set Set InstruksiInstruksiPertemuanPertemuan 44Politeknik Elektronika Negeri Surabaya - ITS2005OlehOleh : : RiyantoRiyanto SigitSigit, S.T, , S.T, M.KomM.KomNurNur RosyidRosyid Mubtada'iMubtada'iS.KomS.KomSetiawardhanaSetiawardhana , S.T, S.THero Hero YudoYudo MartonoMartono, S.T, S.TTujuanTujuan NemahamiNemahami representasirepresentasiset set instruksiinstruksi, , dandanjenisjenis--jenisjenis format format instruksiinstruksi NengetahuiNengetahui jenisjenis--jenisjenis type operand type operand digunakandigunakan NacamNacam--macammacam Node Node pengalamatanpengalamatan Format Format !nstruksi!nstruksi Format Format !nstruksi!nstruksi padapada PentiumPentium NemahamiNemahami !mplementasi!mplementasi Set Set !nstruksi!nstruksi padapadaPentium !!Pentium !!SasaranSasaran PengetahuanPengetahuan mengenaimengenai set set instruksiinstruksi sangatsangatdirasakandirasakan manfaatnyamanfaatnya oleholeh programerprogramer bahasabahasatinggattinggat rendahrendah, , sepertiseperti bahasabahasa asemblerasembler. . BagiBagi programerprogramer bahasabahasa tingkattingkat rendahrendah sangatsangatmemerlukanmemerlukan informasiinformasi tentangtentang penggunaanpenggunaanregister register dandan spesifikasinyaspesifikasinya, , strukturstruktur memorimemori, , maupunmaupun format format instruksinyainstruksinya. . BabBab iniini akanakan mengupasmengupas tentangtentang karakteristikkarakteristikmesinmesin instruksiinstruksi, , tipetipe -- tipetipe operasioperasi, mode , mode pengalamatanpengalamatan dandan format format instruksiinstruksi3.1. 3.1. KarakteristikKarakteristik MesinMesin InstruksiInstruksi !nstruksi!nstruksi mesinmesin (machine (machine intructionintruction) yang ) yang dieksekusidieksekusi membentukmembentuk suatusuatu operasioperasi dandanberbagaiberbagai macammacam fungsifungsi CPU. CPU. KumpulanKumpulan fungsifungsi yang yang dapatdapat dieksekusidieksekusi CPU CPU disebutdisebut set set instruksiinstruksi (instruction set) CPU. (instruction set) CPU. NempelajariNempelajari karakteristikkarakteristik instruksiinstruksi mesinmesin, , meliputimeliputi ElemenElemen -- elemenelemen intruksiintruksi mesinmesin RepresentasiRepresentasi instruksinyainstruksinya JenisJenis -- jenisjenis instruksiinstruksi PenggunaanPenggunaan alamatalamat RancanganRancangan set set instruksiinstruksi1. 1. ElemenElemen !nstruksi!nstruksi NesinNesin UntukUntuk dapatdapat dieksekusidieksekusi PCU PCU suatusuatu instruksiinstruksi harusharus berisiberisielemenelemen informasiinformasi yang yang diperlukandiperlukan CPU CPU secarasecara lengkaplengkapdandan jelasjelas , , ApaApa sajasaja elemennyaelemennya ??1. 1. Operation code (Op code)Operation code (Op code) Nenspesifikasi Nenspesifikasi operasi operasi yangyangakan akan dilakukan dilakukan..Kode Kode operasi operasiberbentuk berbentuk kode kode biner biner2. 2. Source Operand referenceSource Operand reference Operasi Operasi dapat dapat berasal berasal dari dari lebih lebih satu satu sumber sumber. Operand. Operandadalah adalahinputinput operasi operasi3. 3. Result Operand referenceResult Operand reference Nerupakan Nerupakan hasil hasil atau atau keluaran keluaran operasi operasi+. +. Next !nstruction ReferenceNext !nstruction Reference Elemen Elemenini ini menginformasikan menginformasikanCPUCPUposisi posisi instruksi instruksi berikutnya berikutnyayangyang harus harus diambil diambil dan dan dieksekusi dieksekusiOperand Operand daridari operasioperasi NelihatNelihat daridari sumbernyasumbernya, operand , operand suatusuatuoperasioperasi dapatdapat beradaberada didi salahsalah satusatu daridariketigaketiga daerahdaerah berikutberikut iniini :: NemoriNemori utamautama atauatau memorimemori virtualvirtual Register CPURegister CPU PerangkatPerangkat !fO!fO2. 2. RepresentasiRepresentasi !nstruksi!nstruksi !nstruksi!nstruksi komputerkomputer direpresentasikandirepresentasikan oleholehsekumpulansekumpulan bit. bit. !nstruksi!nstruksi dibagidibagi menjadimenjadibeberapabeberapa field. field. Field Field -- field field iniini diisidiisi oleholeh elemenelemen -- elemenelemeninstruksiinstruksi yang yang membawamembawa informasiinformasi bagibagioperasioperasi CPU. CPU. Layout Layout instruksiinstruksi dikenaldikenal dengandengan format format instruksiinstruksiFormat Format instruksiinstruksiAlamat Opcode- Kode operasi (opcode) direpresentasi kan dengan singkatan - singkatan, yang disebut mnemonic. - Nnemonic mengindikasikan suatu operasi bagi CPU. - Contoh mnemonic adalah :ADD = penambahanSUB = substract (pengurangan) LOAD = muatkan data ke memori ContohContoh representasirepresentasi operand operand secarasecarasimboliksimbolik : : ADD X, Y ADD X, Y artinyaartinya : : tambahkantambahkan nilainilai yang yang beradaberada padapada lokasilokasi Y Y keke isiisi register X, register X, dandansimpansimpan hasilnyahasilnya didi register X. register X. ProgramerProgramer dapatdapat menuliskanmenuliskan program program bahasabahasa mesinmesin dalamdalam bentukbentuk simboliksimbolik. . SetiapSetiap opcodeopcode simboliksimbolik memilikimemilikirepresentasirepresentasi binerbiner yang yang tetaptetap dandanprogramerprogramer dapatdapat menetapkanmenetapkan lokasilokasimasingmasing -- masingmasing operandoperand3. 3. JenisJenis -- JenisJenis !nstruksi!nstruksi ContohContoh suatusuatu ekspresiekspresi bilanganbilangan : : X = X + Y ; X = X + Y ; X X dandan Y Y berkorespondensiberkorespondensi dengandengan lokasilokasi 210 210 dandan 211. 211. PernyataanPernyataandalamdalambahasabahasatingkattingkattinggitinggitersebuttersebutmengintruksikanmengintruksikankomputerkomputeruntukuntukmelakukanmelakukanlangkahlangkahberikutberikut iniini : : - - NuatkanNuatkan sebuahsebuah register register dengandengan isiisi lokasilokasi memorimemori 210. 210. - - TambahkanTambahkan isiisi lokasilokasi memorimemori 211 211 keke register. register. - - SimpanSimpan isiisi register register keke lokasilokasi memorimemori 210210KorelasiKorelasi TerlihatTerlihat hubunganhubungan antaraantara ekspresiekspresi bahasabahasatingkattingkat tinggitinggi dengandengan bahasabahasa mesinmesin. . DalamDalam bahasabahasa tingkattingkat tinggitinggi, , operasioperasidinyatakandinyatakan dalamdalam bentukbentuk aljabaraljabar singkatsingkatmenggunakanmenggunakan variabelvariabel. . DalamDalam behasabehasa mesinmesin halhal tersebuttersebutdiekpresikandiekpresikan dalamdalam operasioperasi perpindahanperpindahanantarantar registerregisterDapat Dapat ditarik ditarik kesimpulan kesimpulan bahwa bahwa instruksi instruksi - - instruksi instruksi mesin mesin harus harus mampu mampumengolah mengolah datadata sebagai sebagai implementasi implementasi keinginan keinginan - - keinginan keinginan kita kita.. Terdapat Terdapat kumpulan kumpulan unik unik setset instruksi instruksi, yang, yang dapat dapat digolongkan digolongkan dalam dalam jenis jenis- - jenisnya jenisnya,, yaitu yaituPengolahan Pengolahan data (data processing),data (data processing), meliputi meliputi operasi operasi - - operasi operasi aritmetika aritmetika dan dan logika logika.. Operasi Operasi aritmetika aritmetika memiliki memilikikemampuan kemampuan komputasi komputasi untuk untuk pengolahan pengolahan datadata numerik numerik.. Sedangkan Sedangkan instruksi instruksilogika logika beroperasi beroperasi terhadap terhadap bitbit - - bit wordbit word sebagai sebagai bit,bit, bukannya bukannya sebagai sebagaibilangan bilangan,, sehingga sehingga instruksi instruksi ini ini memiliki memiliki kemampuan kemampuan untuk untuk pengolahan pengolahan data lain data lainPerpindahan Perpindahan data (data movement),data (data movement), berisi berisi instruksi instruksi perpindahan perpindahan datadata antar antar registerregister maupun maupun modul modul !fO.!fO. Untuk Untuk dapat dapatdiolah diolah oleh oleh CPUCPU maka maka diperlukan diperlukan instruksi instruksi - - instruksi instruksi yangyang bertugas bertugasmemindahkan memindahkan data operand yangdata operand yang diperlukan diperlukanPenyimpanan Penyimpanan data (data storage),data (data storage), berisi berisi instuksi instuksi - - instruksi instruksi penyimpanan penyimpanan ke ke memori memori.. !nstuksi !nstuksi penyimpanan penyimpanan sangat sangatpenting penting dalam dalam operasi operasi komputasi komputasi,, karena karena datadata tersebut tersebut akan akan digunakan digunakan untuk untukoperasi operasi berikutnya berikutnya, minimal, minimal untuk untuk ditampilkan ditampilkan pada pada layar layar harus harus diadakan diadakanpenyimpanan penyimpanan walaupun walaupun sementara sementaraKontrol Kontrol aliran aliran program (program flow control),program (program flow control), berisi berisi instruksi instruksi pengontrolan pengontrolan operasi operasi dan dan pencabangan pencabangan.. !nstruksi !nstruksi ini ini berguna bergunauntuk untuk pengontrolan pengontrolan statusstatus dan dan mengoperasikan mengoperasikan pencabangan pencabangan ke ke setset instruksi instruksilain lain+. +. JumlahJumlah AlamatAlamat JumlahJumlah register register atauatau alamatalamat yang yang digunakandigunakandalamdalam operasioperasi CPU CPU tergantungtergantung format format operasioperasimasingmasing -- masingmasing CPU. CPU. AdaAda format format operasioperasi yang yang menggunakanmenggunakan 3, 2, 1 3, 2, 1 dandan 0 register. 0 register. UmumnyaUmumnya yang yang digunakandigunakan adalahadalah 2 register 2 register dalamdalam suatusuatu operasioperasi. . DesainDesain CPU CPU saatsaat iniini telahtelahmenggunakanmenggunakan 3 3 alamatalamat dalamdalam suatusuatu operasioperasi, , terutamaterutama dalamdalam N!PS (million instruction per N!PS (million instruction per seconsecon).).Alamat Alamat perper instruksi instruksi yangyang lebih lebih sedikit sedikit akan akan membuat membuat instruksi instruksi lebih lebihsederhana sederhana dan dan pendek pendek,, tetapi tetapi lebih lebih sulit sulit mengimplementasikan mengimplementasikanfungsi fungsi - - fungsi fungsi yangyang kita kita inginkan inginkan.. Karena Karena instruksi instruksi CPUCPU sederhana sederhana maka maka rancangan rancangan CPUCPU juga juga lebih lebihsederhana sederhana.. Jumlah Jumlah bitbit dan dan referensi referensi perper instruksi instruksi lebih lebih sedikit sedikit sehingga sehingga fetchfetch dan dan eksekusi eksekusi lebih lebih cepat cepat.. Jumlah Jumlah instruksi instruksi per programper program biasanya biasanya jauh jauh lebih lebih banyak banyakPada Pada jumlah jumlah alamat alamat perper instruksi instruksi banyak banyak,, jumlah jumlah bitbit dan dan referensi referensiinstruksi instruksi lebih lebih banyak banyak sehingga sehingga waktu waktu eksekusi eksekusi lebih lebih lama.lama. Diperlukan Diperlukan register CPU yangregister CPU yang banyak banyak,, namun namun operasi operasi antar antar registerregister lebih lebih cepat cepat.. Lebih Lebih mudah mudah mengimplementasikan mengimplementasikan fungsi fungsi - - fungsi fungsi yangyang kita kitainginkan inginkan.. Jumlah Jumlah instruksi instruksi per programper program jauh jauh lebih lebih sedikit sedikit.. Untuk Untuk lebih lebih jelas jelas perhatikan perhatikan contoh contoh instruksi instruksi - - instruksi instruksi dengan denganjumlah jumlah registerregister berbeda berbeda untuk untuk menyelesaikan menyelesaikan persoalan persoalan yang sama yang sama ContohContoh penggunaanpenggunaan set set instruksiinstruksi dengandenganalamatalamat 1, 2, 1, 2, dandan 3 3 untukuntuk menyelesaikanmenyelesaikanoperasioperasi hitunganhitunganY = (A Y = (A -- B) (C + D* E) B) (C + D* E) ContohContoh instruksiinstruksi 2 2 dandan 3 3 alamatalamat!nstruksi!nstruksi 1 1 alamatalamat SpesifikasiSpesifikasi instruksiinstruksi 3 3 alamatalamat : : - - SimbolikSimbolik : a = b + c. : a = b + c. - Format - Format alamatalamat : : hasilhasil, operand 1, , operand 1, operand 2 operand 2 - - DigunakanDigunakan dalamdalam arsitekturarsitektur N!PS. N!PS. - - NemerlukanNemerlukan word word panjangpanjang dalamdalam suatusuatuinstruksiinstruksi.. SpesifikasiSpesifikasi instruksiinstruksi 2 2 alamatalamat : : - - SimbolikSimbolik : a = a + b. : a = a + b. - - SatuSatu alamatalamat diisidiisi operand operand terlebihterlebih dahuludahulukemudiankemudian digunakandigunakan untukuntuk menyimpanmenyimpan hasilnyahasilnya. . - - TidakTidak memerlukanmemerlukan instruksiinstruksi yang yang panjangpanjang. . - - JumlahJumlah instruksiinstruksi per program per program akanakan lebihlebih banyakbanyakdaripadadaripada 3 3 alamatalamat. . - - DiperlukanDiperlukan penyimpananpenyimpanan sementarasementara untukuntukmenyimpanmenyimpan hasilhasil. . SpesifikasiSpesifikasi instruksiinstruksi 1 1 alamatalamat : : - - NemerlukanNemerlukan alamatalamat implisitimplisit untukuntuk operasioperasi. . - - NenggunakanNenggunakan register register akumulatorakumulator (AC) (AC) dandandigunakandigunakan padapada mesinmesin lama. lama. SpesifikasiSpesifikasi instruksiinstruksi 0 0 alamatalamat : : - - SeluruhSeluruh alamatalamat yang yang digunakandigunakan implisitimplisit. . - - DigunakanDigunakan padapada organisasiorganisasi memorimemori, , terutamaterutamaoperasioperasi stackstack5. 5. RancanganRancangan Set Set !nstruksi!nstruksi AspekAspek paling paling menarikmenarik dalamdalam arsitekturarsitektur komputerkomputeradalahadalah perancanganperancangan set set instruksiinstruksi, , karenakarenarancanganrancangan iniini berpengaruhberpengaruh banyakbanyak padapada aspekaspeklainnyalainnya. . Set Set instruksiinstruksi menentukanmenentukan banyakbanyak fungsifungsi yang yang harusharus dilakukandilakukan CPU. CPU. Set Set instruksiinstruksi merupakanmerupakan alatalat bagibagi paraparapemrogrampemrogram untukuntuk mengontrolmengontrol kerjakerja CPU. CPU. PertimbanganPertimbangan : : KebutuhanKebutuhan pemrogrampemrogram menjadimenjadibahanbahan pertimbanganpertimbangan dalamdalam merancangmerancang set set instruksiinstruksiNasalahNasalah rancanganrancangan yang fundamental yang fundamental meliputimeliputi :: Operation repertoire : Operation repertoire : Berapa Berapa banyak banyak dan dan operasi operasi - - operasi operasi apa apa yangyang harus harus tersedia tersediaSekompleks Sekompleks apakah apakah operasi operasi itu itu seharusnya seharusnya Data types :Data types :Jenis Jenis datadata Format data Format data !nstruction format!nstruction formatPanjang Panjang instruksi instruksi,, Jumlah Jumlah alamat alamat,, Ukuran Ukuran field field Registers Registers Jumlah Jumlah register CPU yangregister CPU yang dapat dapat direferensikan direferensikan oleh oleh instruksi instruksi,, dan dan fungsinya fungsinya Addressing Addressing modemode untuk untuk menspesifikasi menspesifikasi alamat alamat suatu suatu operand operand3.2. 3.2. TipeTipe OperasiOperasi DalamDalam perancanganperancangan arsitekturarsitektur komputerkomputer, , jumlahjumlah kodekode operasioperasi akanakan sangatsangat berbedaberbedauntukuntuk masingmasing masingmasing komputerkomputer, , tetapitetapiterdapatterdapat kemiripankemiripan dalamdalam jenisjenis operasinyaoperasinyaJenisJenis OperasiOperasi KomputerKomputer Transfer data. Transfer data. KonversiKonversi AritmetikaAritmetika. . -- nput/Output nput/Output LogikaLogika. . -- KontrolKontrol sistemsistem dandan transfer transfer kontrolkontrolOperasiOperasi set set instruksiinstruksi secarasecara umumumumOperasiOperasi set set instruksiinstruksi secarasecara umumumumOperasiOperasi set set instruksiinstruksi secarasecara umumumumOperasiOperasi set set instruksiinstruksi secarasecara umumumumOperasiOperasi set set instruksiinstruksi secarasecara umumumumTransfer DataTransfer Data nstruksinstruksi tranfertranfer data data harusharus menetapkanmenetapkan : : Lokasi Lokasi operandoperand sumber sumberLokasi Lokasi operandoperand tujuan tujuanPanjang Panjang data yangdata yang akan akan dipindahkan dipindahkanModeMode pengalamatannya pengalamatannya ApabilaApabila sebuahsebuah atauatau keduakedua operand operand beradaberada didi dalamdalammemorimemori, , makamaka CPU CPU harusharus melakukanmelakukan sebagiansebagian atauatauseluruhseluruh tindakantindakan berikutberikut ::1. 1. Menghitung Menghitung alamat alamat memori memori, yang, yang didasarkan didasarkan pada pada modemode alamatnya alamatnya. .2. 2. Apabila Apabila alamat alamat mengacu mengacu pada pada virtualvirtual memori memori harus harus dicari dicari alamat alamatmemori memori sebenarnya sebenarnya.. 3. 3. Menentukan Menentukan apakah apakah alamat alamat berada berada dalam dalam cachecache memori memori.. 4. 4. Bila Bila di di cachecache tidak tidak ada ada,, dikeluarkan dikeluarkan perintah perintah ke ke modul modul memori memori