260 likes | 572 Views
Arsitektur Komputer “ Instruksi Set Arsitektur ”. Kurniawan Teguh Martono Sistem Komputer UNDIP. Pendahuluan. Instruksi Bahasa yang digunakan untuk memerintahkan obyek untuk beraksi . Instruksi set arsitektur kumpulan susunan perintah
E N D
ArsitekturKomputer“Instruksi Set Arsitektur” KurniawanTeguhMartono SistemKomputer UNDIP
Pendahuluan • Instruksi Bahasa yang digunakanuntukmemerintahkanobyekuntukberaksi. • Instruksi set arsitektur kumpulansusunanperintah • Karenabicaramengenaikomputermaka ISA merupakanbahasa yang digunakanuntukmemerintahmesinuntukdapatmelakukanoperasi • Sehingga : • Operasidari CPU ditentukanolehinstruksi yang dilaksanakanataudijalankan
JenisIntruksi • CISC, Complex Instruction Set Computer • Sebuaharsitekturdari set instruksikomputerdimanasetiapinstruksiakanmenjalankanbeberapaoperasitingkatrendah, sepertipengambilandarimemori, operasiaritmetika, danpenyimpanankedalam memory, semuanyasekaligushanya di dalamsebuahinstruksi • RICS, Reduce Instruction Set Computer • Rancanganarsitektur CPU yang mengambildasarfilosofibahwaprosesordibuatdenganarsitekturyang tidakrumitdenganmembatasijumlahinstruksihanyapadainstruksidasaryang diperlukansaja.
Instruksi Set Architecture • Harusmemilikispesifikasi • Format instruksinya • Dalamberapa bit panjanginstruksinya? • Lokasi operand dan result • Data type dan size • Operation • Kondisi
Diagram eksekusiIntruksi Set Arsitektur Instruction fetch Instruction Decode Operand Fetch Next Instruction Execute Store Result
Basic ISA class • Load and Store • Load darimemori • Store ke Memory • OperasiLogika • And / or • Negation • Shift • OperasiAritmatik • Add, sub • Branch • SpesialInstruksi • Data Processing • Data Storage • Data Movement • Control
ElemenInstruksi Set • Operation Code (opcode) • Nilai yang menentukanoperasisatu set intruksi. • Source Operand Reference • Nilaiasal yang akandioperasikan • Result Operand Reference • Hasildarioperasi • Next Instruction Reference
Lokasi source dan result operand • Main memory atau virtual memory • CPU Register • I/O Device
Format Instruksi • Suatuinstruksiterdiriatasbeberapa field yang sesuaidenganelemendalaminstruksitersebut. • Layout darisuatuinstruksiseringdisebutsebagai Format instruksi OPCODE ResultReference Operand Reference
Jenis Operand • Address • Number • Character • Logical Data
Operand disimpan? • Ingat : semuainstruksidieksekusi di dalam CPU • Sebuahoperasihanyamembutuhkan register sebagaitempatmembacadanmenyimpan • Adakalanyajuga operand disimpandilokasi lain melalui register yang berisialamattempatpenyimpanan. (dibahas di lain harimode pengalamatan)
Transfer Data • Memindahkan data darisatulokasikelokasi lain • Menetapkanlokasi operand sumberdan operand tujuan • Lokasidapatberupa : • Memory • Register • Menetapkanpanjang data yang dipindahkan • Menetapkan mode pengalamatan
Opcode transfer data • MOVE • STORE • LOAD • EXCHANGE • CLEAR/RESET • SET PUSH • POP
OperasiAritmatika • Tindakan CPU : • Transfer data sebelumatausesudah • Melakukanfungsidalam ALU • Operasi : • ADD • SUBTRACT • MULTIPLY • DIVIDES • ABSOLUTE • NEGATIVE • DECREMENT • INCREMENT
OperasiLogika • Operasinya : • AND • OR • NOT • EXOR • COMPARE • SHIFT • ROTATE
Input / Output • Operasi yang dilakukan • Input • Output • Start I/O • Test I/O
Transfer control • Mengupdate PC untukSubrutin, call, return • Operasi • Jump • Jump bersyarat • Return • Skip • Halt • Wait • NOP
Penggunaanalamatdan ISA • Zero Operand • One Operand • Two Operand • Three Operand
Zero Operand • A, B, C, D, E, Y adalah register • Misal : Y = (A - B) / (C + D x E) • Instruksi : PUSH A #S[tos]A PUSH B #S[tos]B SUB #S[tos]A-B PUSH C #S[tos]C PUSH D #S[tos]D PUSH E #S[tos]E MPY #S[tos]D x E ADD #S[tos]C +S[tos] DIV #S[tos](A-B) / S[tos] POP Y #outS[tos] Jadidengan zero operand memerlukan 10 operasi
One Operand • A, B, C, D, E, Y adalahregister • Menggunakan AC (Accumulator sebagaitempatpenyimpansementara) • Misal : Y = (A - B) / (C + D x E) • Instruksi : LOAD D MPY E ADD C STOR Y LOAD A SUB B DIV Y STOR Y Sehinggamemerlukan 8 operasi
Two Operand • Menggunakan Temporary • A, B, C, D, E, T, Y adalah register • Program Y= (A - B) / (C + D x E) • Instruksi : MOVE Y, A SUB Y, B MOVE T, D MPY T, E ADD T, C DIV Y, T Sehinggamemerlukan 6 operasi
Three operand • Menggunakan Temporary • A, B, C, D, E, T, Y adalah register • Program Y= (A - B) / (C + D x E) • Instruksi : SUB Y, A, B MPY T, D, E ADD T, T, C DIV Y, Y, T Sehinggamemerlukan4 operasi
Big endian dan little endian • Big Endian : • alamat yang digunakanadalah MSB • Nilaiterkecilberada di MSB • Contoh : • IBM 360/370 • Motorla 68K • MIPS • SPARC • Little Endian : • Alamat yang digunakandalah LSB • Nilaiterkecilberada di LSB • Contoh : • Intel 80x86 • DEC Vax • DEC Alpha