ORGANISASI DAN ARSITEKTUR KOMPUTER
Microprocessor Intel 80x86
C
(C
)
Central Processing Unit (CPU)
y CPU merupakan prosesorC U e upa a p oseso Æ untuk memproses data
y Terpusat (central)p ( )
Æ merupakan pusat pemroses data pada komputer
y Merupakan unitp
Æ suatu chip atau IC yang mengandung jutaan transistor.
Perkembangan Prosesor
y Terkait dengan perusahaan IBM dan Intel y Prosesor Intel pertama kali diperkenalkan 4004 tahun 1971 y Konsep kompatibilitas menjadi penting selama proses perkembangan CPU perkembangan CPU rsp‐oak‐informatika 4Perkembangan Prosesor Intel dan lainnya
Generasi Prosesor Tahun Jumlah Transistor 1st 8086, 8088 1978-1981 22.000 2nd 80286 1984 128.000 3rd 80386DX, 80386SX 1987-1988 250.000 4th 80486DX, 80486DX2, 80386DX4 1990-1992 1.200.000
5th Pentium, IBM, AMD K5,
Pentium MMX
1993,1996 3.100.000 Pentium MMX
6th Pentium Pro, PII, Celeron,
AMD Athlon, Duron 1996-2000
5.000.000 – 25.000.000
7th Pentium IV 2000 42 000 000
rsp‐oak‐informatika 5
7th Pentium IV 2000 42.000.000 8th Itanium(64 bit), AMD
Register-register
Register Data
R i bi ( d ) y Register 16 bit ( satuan word ) AX, BX, CX, dan DX y Register 8 bit ( satuan byte ) AL AH BL BH CL CH DL d DH AL, AH, BL, BH, CL, CH, DL, dan DH L = Low ( 8 bit pertama ) H High ( 8 bit kedua ) H = High ( 8 bit kedua ) rsp‐oak‐informatika 7y AX ( Akumulator ) Di gunakan untuk perkalian, pembagian dan operasi I/O ( k l / k ) k d I/O ( keluaran/masukan) ukuran word Register AL digunakan operasi yang sama dalam ukuran byte serta dalam operasi translasi dan ukuran byte, serta dalam operasi translasi dan aritmatika. Register AH juga mempunyai fungsi yang sama dengan AL.g rsp‐oak‐informatika 8
y BX ( Register Basis )
Digunakan untuk membawa data alamat memori
y CX ( Pencacah / Counter ) Digunakan untuk menyimpan cacah pengulangan d i i pada operasi string. Register CL biasanya digunakan untuk menyimpan cacah penggeseran untuk instruksi penggeseran dan cacah penggeseran untuk instruksi penggeseran dan rotasi rsp‐oak‐informatika 10
y DX ( Data ) Digunakan dalam operasi perkalian dan pembagian k d J di k b i ukuran word. Juga digunakan sebagai nomor port dalam operasi I/O. rsp‐oak‐informatika 11
Register – register Segmen
y CS ( Code Segment/Segmen Kode) Digunakan untuk menyimpan kode program y DS ( Data Segment/Segmen Data) Digunakan untuk menyimpan data‐data atau variabel‐ variabel yang digunakan dalam program. rsp‐oak‐informatika 12y SS ( Stack Segment/ Segmen Stak )
Digunakan untuk menyimpan struktur data khusus ik di k k
atau unik, dinamakan stack.
FILO – First In Last Out LIFO L I Fi O LIFO – Last In First Out
y ES ( Extra Segment/Segment Ekstra )
Digunakan sebagai segmen data cadangan, biasa di k d l i i i
digunakan dalam operasi‐operasi string
Register-register Pointer dan Indeks
y Mikroprosesor 80x86 melakukan akses datamenggunakan cara yang sama dengan mengkombinasikan segmen dan offset mengkombinasikan segmen dan offset.
y Untuk mengakses segmen data segmen nya diperoleh
y Untuk mengakses segmen data, segmen‐nya diperoleh dari DS, dan offsetnya dari BX atau register indeks SI
(Source Index) atau DI (Destination Index).
y Untuk mengakses stack, segmen‐nya diperoleh dari register SS dan offset‐nya dari register penunjuk SP (Stack Pointer) atau BP (Base Pointer) (Stack Pointer) atau BP (Base Pointer). y Sedangkan untuk segmen ekstra menggunakan y Sedangkan untuk segmen ekstra, menggunakan segmen dari ES dan digabung dengan SI atau DI.
Penunjuk Instruksi (Instruction Pointer)
y Mikroprosesor 80x86 menghitung alamat suatu instruksi yang akan dikerjakan dengan cara mengkombinasikan segmen CS dan Offset IP (CS:IP) mengkombinasikan segmen CS dan Offset IP (CS:IP), sehingga dalam hal ini IP merupakan register yang digunakan untuk menyimpan penunjuk atau offset g y p p j instruksi yang akan dikerjakan prosesor. y Dengan demikian IP didedikasikan untuk menyimpan alamat lokasi instruksi berikutnya. rsp‐oak‐informatika 17Bendera Status ( Status Flags )
y Untuk pengambilan keputusan, misalnya suatu proses jika hasil penjumlahan adalah NOL akan dilakukan proses pencetakan string “Hasilnya NOL” dan
proses pencetakan string Hasilnya NOL , dan melakukan proses lain jika hasilnya bukan NOL.
y IF … = 0 Then “ Hasilnya NOL” ELSE …
ELSE …
Register Flags
y Bit 0, CF ( Carry Flag ) Akan berisi 1 jika suatu penjumlahan menghasilkan i ( ) b hk sisa (carry) atau suatu pengurangan membutuhkan pinjaman (borrow), selain itu akan bernilai 0. y Bit 2 PF ( Parity Flag ) y Bit 2, PF ( Parity Flag ) Akan berisi 1 jika hasil dari suatu operasi memiliki cacah genap dari logika 1, selain itu akan berisi 0. cacah genap dari logika 1, selain itu akan berisi 0. rsp‐oak‐informatika 20
y Bit 4, AF ( Auxiliary Carry Flag ) Sama seperti bit CF, kecuali AF digunakan untuk i dik i i j d i bi i i indikator sisa atau pinjaman dari bit 3, yaitu operasi‐ operasi BCD (Binary Coded Decimal), yaitu sistem bilangan desimal ( 0 sampai 9 ) bilangan desimal ( 0 sampai 9 ). y Bit 6, ZF ( Zero Flag ) Bernilai 1 jika hasil dari suatu operasi adalah nol, Bernilai 1 jika hasil dari suatu operasi adalah nol, selain itu bernilai 0. rsp‐oak‐informatika 21
y Bit 7, SF ( Sign Flag )
Hanya akan berarti selama operasi bilangan bertanda ( i d b ) Ak b i i jik h il i (signed number). Akan berisi 1 jika hasil suatu operasi (aritmatika, logika, rotasi atau penggeseran) merupakan bilangan negatif merupakan bilangan negatif. y Bit 8, TF ( Trap Flag ) Digunakan untuk menjalankan instruksi langkah Digunakan untuk menjalankan instruksi langkah demi langkah pada progran DEBUG. rsp‐oak‐informatika 22
y Bit 9, IF ( Interrupt Enable Flag )
Jika diisi dengan 1, maka membolehkan prosesor li i i i d i i i 80x86 mengenali permintaan interupsi dari piranti‐ piranti eksternal sistem. Dan jika diisi 0 maka semua perintah interupsi di abaikan
perintah interupsi di abaikan.
y Bit 10, DF ( Direction Flag ) Akan menaikan (increment, DF=0) atau menurunkan (d DF ) i i i d k l h (decrement, DF=1) register‐register indeks setelah dikerjakan suatu indeks strings rsp‐oak‐informatika 24
y Bit 11, OF ( Overflow Flag ) Merupakan indikator adanya kesalahan (error) selama i bil b d operasi bilangan bertanda. Misal : operasi tipe word, paling kecil ‐32767 dan paling besar 32768 paling besar 32768 Jika 32760 + 20, maka hasil 32790 tidak cukup disimpan pada register (AX, BX, CX atau DX). OF=1 disimpan pada register (AX, BX, CX atau DX). OF 1 (terjadi overflow) rsp‐oak‐informatika 25
Pengenalan Emu 8086
Apa?? Emu8086
y Mempelajari bahasa Assembly gampang atau susah??
y Membuat bahasa mesin untuk memprogram mesin l i h d
lain atau hardware??
y Mengkompile tanpa adanya Interface?? Mungkin??
E 8 86 k k l k l (PC
y Emu8086… merupakan perangkat lunak emulator (PC
Semu) + debugger.
y www emu8086 com
y www.emu8086.com
Memulai Emu8086
Ada beberapa sampel source code
Selanjutnya Klik Continue
Menu
y Pada jendela bagian atas terdapat Menu Bar, antara lain File, Edit, Bookmarks, Makro, Compile, Emulator, Math Help dan beberapa Sub Menu yang lain Math, Help dan beberapa Sub Menu yang lain. y Jika kita akan membuat file baru, maka pilih File – New ( COM EXE BIN BOOT Template )New ( COM, EXE, BIN, BOOT Template )
y Atau tekan Icon NEW, maka akan muncul :
Pilihan Template File
CO k fil b k y .COM, merupakan file berkas sederhana yang bisa di eksekusi eksekusi. y .EXE, seperti file .COM tetapi lebih kompleksp y .BIN, berkas sederhana yang akan disimpan y .BOOT, membuat jalur atau track pertama (sektor boot ) rgs‐oak‐undip 32Text Editor
y Digunakan untuk menuliskan program assembly
Kompilasi & Pemrosesan Kesalahan
y Klik Tombol Emulate untuk Mengkompiley Jika selama proses kompilasi terjadi kesalahan, maka kompiler menampilkan :
y Jika Sukses maka :
y Untuk melihat hasilnya, klik Run
y Setelah Program Selesai