PERTEMUAN : 3
ARSITEKTUR SISTEM
ARSITEKTUR SISTEM
Jurusan Teknik Informatika
STT – PLN
[email protected]
• Mikrokomputer menggunakan CPU tunggal meskipun
dalam kenyataannya terdapat banyak chip yang
mendukung PC, yang paling nampak adalah 80x87
co-prosesor matematika, tapi CPU masih menjadi
pengatur utamanya.
• Tugas yang paling mendasar yang ditangani oleh CPU
CPU
(Central Processing Unit)
• Tugas yang paling mendasar yang ditangani oleh CPU
adalah :
– Menemukan dan load/menempatkan instruksi berikutnya
– Mengeksekusi instruksi :
• Fetch data dari memori/register
• Menyimpan data dalam memori/register
• Melaksanakan penghitungan dan perbandingan • Memperbaharui penunjuk instruksi (pencabangan)
• CPU dibagi menjadi dua bagian : Arithmetic Logic Unit (ALU) dan
Control Unit (CU).
• ALU melaksanakan operasi aritmetik, logic, dan penggeseran
• Control Unit mengambil data dan instruksi dan menerjemahkan
kode (decode) alamat untuk ALU.
• Bus data. Bus adalah kabel parallel yang mengirimkan data antara
berbagai bagian CPU.
CPU
(Central Processing Unit)
• Bus data. Bus adalah kabel parallel yang mengirimkan data antara
berbagai bagian CPU.
• Register. Berada dalam CPU yaitu area penyimpan kecepatan tinggi,
yang langsung terhubung ke unit kendali dan ALU.
• Clock. Setiap operasi yang dilakukan di CPU harus disinkronkan oleh
clock. Unit waktu paling dasar untuk instruksi mesin yang disebut
siklus mesin (machine cycle). Instruksi mesin dalam prosesor Intel
CPU
(Central Processing Unit)
• Register berada dalam CPU. Ketika sesuatu diambil dari memori, alamatnya dihitung oleh unit kendali dan dikirim melalui bus alamat. Nilai
dari memori (baik instruksi atau data) dikirim balik ke CPU melalui bus data. Clock melakukan sinkronisasi setiap operasi CPU.
• Register merupakan sebagian memori dari
mikroprosesor yang dapat diakses dengan
kecepatan yang sangat tinggi. Dalam melakukan
pekerjaannya mikroprosesor selalu menggunakan
register-register sebagai perantaranya, jadi
register dapat diibaratkan sebagai kaki dan
REGISTER
register-register sebagai perantaranya, jadi
register dapat diibaratkan sebagai kaki dan
tangannya mikroprosesor.
• Register memiliki panjang 16 bit.
• Pengaksesan 4 register data dibagi dua bagian
yaitu setengah bagian atasnya dan setengah
bagian bawah.
• Register merupakan sebagian memori dari
mikroprosesor yang dapat diakses dengan
kecepatan yang sangat tinggi. Dalam melakukan
pekerjaannya mikroprosesor selalu menggunakan
register-register sebagai perantaranya, jadi
register dapat diibaratkan sebagai kaki dan
REGISTER
register-register sebagai perantaranya, jadi
register dapat diibaratkan sebagai kaki dan
tangannya mikroprosesor.
• Register memiliki panjang 16 bit.
• Pengaksesan 4 register data dibagi dua bagian
yaitu setengah bagian atasnya dan setengah
bagian bawah.
• Register Data
Register 16 bit ( satuan word )
AX, BX, CX, dan DX
REGISTER
Register 8 bit ( satuan byte )
AL, AH, BL, BH, CL, CH, DL, dan DH
– L = Low ( 8 bit pertama )
– H = High ( 8 bit kedua )
Register Data
• Register data digunakan untuk perhitungan
aritmatik dan pemindahan data.
• Perhitungan setiap register dapat dialamati
sebagai nilai 16-bit atau 8 bit.
REGISTER
sebagai nilai 16-bit atau 8 bit.
• Contoh register AX adalah register 16-bit, 8 bit
atasnya disebut AH dan 8 bit bawahnya dinamai
AL.
• Posisi bit selalu diberi nomor dari kanan ke kiri
dimulai dari nol.
• AX (akumulator)
AX disebut register akumulator karena digunakan oleh CPU untuk operasi
aritmatik. Operasi-operasi lain juga sedkit lebih efisien dengan
menggunakan AX.
• BX (basis)
Seperti register tujuan umum lainnya, register BX dapat melaksanakan
operasi aritmetik dan perpindahan data dan BX memiliki kemampuan
REGISTER DATA
operasi aritmetik dan perpindahan data dan BX memiliki kemampuan
pengalamatan khusus. Dia dapat menyimpan alamat memori yang
menunjuk pada variabel lain. Tiga register lain yang memiliki kemampuan ini adalah SI, DI dan BP.
• CX (counter)
Register CX bekerja sebagai counter untuk instruksi pengulangan atau looping. Instruksi-instruksi tersebut secara otomatis mengulang dan mengurangi CX dan keluar ketika CX sama dengan 0.
• DX (data)
Register DX mempunyai peranan khusus dalam operasi perkalian dan
pembagian. Pada saat perkalian, contohnya, DX menyimpan 16 bit
Register Segmen
CPU mengandung 4 register segmen, digunakan sebagai lokasi basis untuk instruksi program, data dan stack. Register segmen sebagai berikut :
• CS (code segment)
Register CS menyimpan lokasi basis semua instruksi yang dapat dieksekusi
REGISTER
Register CS menyimpan lokasi basis semua instruksi yang dapat dieksekusi dalam program.
• DS (data segment)
Register DS adalah lokasi basis default untuk variabel variabel CPU
menghitung lokasi variabel-variabel menggunakan nilai segmen dalam DS.
• SS (stack segment)
Register SS mengandung lokasi basis stack.
• ES (extra segment)
• Register index mengandung offset variabel.
• Istilah offset mengacu pada jarak variabel, label atau instruksi dari segmen basisnya.
• Register index mempercepat pemrosesan string array dan struktur data lain yang mengandung banyak elemen.
Register-register index adalah :
REGISTER INDEX
Register-register index adalah : • SI (source index)
Register ini mengambil nama dari instruksi pemindahan string, yang mana string sumber ditunjuk oleh register SI. SI biasanya mengandung nilai offset dari register DS.
• DI (destination index)
Register DI bekerja sebagai tujuan instruksi pemindahan string. Biasanya mengandung offset dari register ES, BP (base pointer).
Register khusus sebagai berikut :
• IP (instruction pointer)
Register IP selalu mengandung offset instruksi berikutnya yang
akan dieksekusi. CS dan IP digabung untuk melaksanakan
alamat komplit instruksi berikutnya yang akan dieksekusi.
REGISTER KHUSUS
alamat komplit instruksi berikutnya yang akan dieksekusi.
• SP (stack pointer)
Register SP mengandung offset atau jarak dari awal stack ke
puncak stack. Register SS dan SP bersama melakukan alamat
lengkap puncak stack.
• Register flag adalah register 16-bit khusus dengan
posisi bit sendiri dibuat untuk menunjukan status
CPU atau hasil operasi aritmetik.
• Setiap posisi bit yang relevan diberi nama, posisi lain
tidak didefinisikan.
REGISTER FLAG
• Debug berasal dari istilah bahasa Inggris “bug”
yang berati kutu atau binatang kecil
• Mencari atau melacak kesalahan
• Debug = sebuah program yang digunakan untuk
melihat, mengedit dan menyimpan data kedalam
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
melihat, mengedit dan menyimpan data kedalam
memori atau disk.
• Bisa digunakan untuk membuat program COM dan
EXE. Dan bisa dijadikan sebagai alat bantu dalam
perancangan peralatan berbasis mikroprosesor.
• Program DEBUG dapat digunakan untuk
mengeksplorasi keluarga prosesor 8086 termasuk
PENTIUM pada PC
• Program DEBUG telah disertakan setiap kali user
melakukan instalasi WINDOWS
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
melakukan instalasi WINDOWS
• Untuk menjalankan DEBUG, click Start-Run,
kemudian ketik CMD dan click OK sehingga muncul
pada layar prompt DOS.
• Dari prompt DOS ketikDEBUG:
C:>DEBUG diikuti ENTER
• Prompt DEBUG ditandai dengan tanda minus dikuti
kursor berkedip : -_
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
• Terdapat 19 menu DEBUG, untuk melihatnya ketik -?
diikuti ENTER
• Melihat isi register, ketik -R diikuti ENTER, maka akan
muncul dilayar :
• Hal itu menandakan bahwa isi register AX=0000 atau
AH=00 dan AL=00, BX=0000 atau BH=00 dan BL=00,
CX=0000 atau CH=00 dan CL=00, DX=0000 atau
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
CX=0000 atau CH=00 dan CL=00, DX=0000 atau
DH=00 dan DL=00
• Keadaan set dan reset register flag pada DEBUG
dinyatakan dengan singkatan NV, UP, EI, PL, NZ, NA,
Flag Status
• Bendera overflow:
OV (Overflow atau OF=1=set)
NV (No Overflow atau OF=0=reset)
• Bendera sign:
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
NG (Negative atau SF=1=set) PL (Plus atau SF=0=reset)
• Bendera zero:
ZR (Zero atau ZF=1=set)
NZ (No Zero atau ZF=0=reset)
• Bendera auxiliary carry:
NA (No Auxiliary carry atau AF=0=reset) AC (Auxiliary carry atau AF=1=set)
Flag Status
• Bendera paritas:
PO (Parity Odd = paritas ganjil atau PF=0=reset) PE (Parity Even = paritas genap atau PF=1=set) • Bendera Carry:
EKSPLORASI PROSESOR 8086
DENGAN DEBUG
NC (No Carry atau CF=0=reset) CY (carry atau CF=1=set)
• Contoh jika DEBUG menampilkan keadaan flag :
NV UP EI PL NZ NA PO NC
Artinya : hasil perhitungan ALU tidak overflow (NV), bernilai positif (PL), tidak bernilai 0 (NZ), tidak ada carry pada penjumlahan bit ke-3 (NA), berparitas ganjil(PO) dan tidak ada carry (NC)
Example Analyze
• Analisis :
Misal kita menulis program assembly dengan perintah A dan menjalankannya baris demi baris dengan perintah T (trace) :