ARSITEKTUR SISTEM
2.1 Perangkat Keras Sistem
CPU (Central Processing Unit), tugas paling mendasar yang di tangani oleh CPU
adalah menemukan dan load instruksi berikutnya dan mengeksekusi intruksi
berikut:
1. Menyimpan data dalam memori/register
2. Melaksanakan penghitungan dan perbandingan
3. Memperbaharui penunjuk instruksi (pencabangan)
STACK
Stack, adalah memori buffer khusus yang digunakan sebagai temporary yang
menyimpan alamat dan data. Stack pointer menyimpan alamat elemen data terakhir
yang ditambahkan (di-push) ke dalam stack. Nilai terakhir yang dimasukkan ke
dalam stack adalah nilai yang pertama diambil dari stack pada saat di pop. Sistem ini
sering diistilahkan dengan struktur LIFO (last in first out), yang terakhir masuk keluar
duluan.
Ilustrasi stack program yang mengandung satu nilai, 0006 pada kiri dibawah ini stack
pointer menunjuk pada nilai yang terakhir ditambahkan.
0006 SP 0006
00A5 SP
PUSH
Operasi push menyalin nilai ke dalam stack. Contoh berikut menggambarkan operasi
push.
mov ax, 00A5
push ax
Instruksi tidak mengubah isi AX, melainkan hanya menyalin dan memasukkan ke
dalam stack. Sejalan dengan penambahan nilai ke dalam stack maka stack semakin
mengarah bagian bawah memori.
Misalnya, register BX dan CX bernilai 0001 dan 0002, maka instruksi menyalin
nilainya ke dalam stack;
push bx
push cx
Sesudah high memory
0006
00A5
0001
0002 SP
POP
Operasi POP mengeluarkan nilai dari stack dan menempatkannya dalam register
atau variabel. Sesudah nilai diambil dari stack, nilai stack pointer ditambah satu
untuk menunjuk pada nilai sebelumnya dalam stack. Contoh instruksi berikut :
pop ax
Ilustrasi kondisi stack sebelum dan sesudah operasi adalah:
Sebelum high memory Sesudah high memory
0006 0006
00A5 00A5
0001 0001 SP
0002 SP (0002) (AX=0002)
واسالم