Anda di halaman 1dari 13

BAB 2

ARSITEKTUR SISTEM
2.1 Perangkat Keras Sistem

- Video Display (tidak dibahas lagi)


- Keyboard (tidak dibahas lagi)
- Drive disk
- Unit sistem, adalah “jantung” komputer sesungguhnya. Board sistem
(yang lebih dikenal motherboard) terhampar mendatar pada bagian
bawah unit sistem. Di dalamnya terdapat banyak chip mikroprosessor.
Prosesor Pendukung. Satu prosesor adalah chip pengendali interupt CPU.
Chip pengendali menangani transfer data ke dan dari memori melalui bus
data.
- ROM Bios (tidak dibahas lagi)
- RAM (tidak dibahas)
- CMOS RAM (tidak dibahas)
- Slot tambahan, paralel port dll.
2.2 Arsitektur 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)

Bus data Jalur keluaran

Register data Unit kendali ALU (Arithmetic


Register Flag
(control unit) Logic Unit)
Register alamat

Bus alamat Jalur keluaran


CPU dibagi menjadi dua bagian: Arithmatic Logic Unit (ALU)
dan Control Unit (CU). ALU melaksanakan operasi aritmatik,
logic, dan penggeseran, CU mengambil data dan instruksi serta
menerjemahkan kode (decode) alamat untuk ALU. Seluruh sisi
chip adalah pin yang ditancapkan ke dalam soket dalam board
sistem, menghubungkannya ke bagian sistem komputer yang
lain.
Register berada dalam CPU, yaitu area penyimpanan
kecepatan tinggi yang langsung terhubung ke unit kendali dan
ALU. Oleh karenanya penggunaan register untuk eksekusi lebih
cepat daripada penggunaan memori konvensional. 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.
Bus data. Bus, adalah kabel paralel yang mengirimkan data
antara berbagai bagian CPU. Sinyal kendali dan bit data
digunakan pada saat word memori dan menempatkannya
dalam register.
Clock. Setiap operasi yang dilakukan di CPU harus disinkronisasikan
oleh clock, unit waktu yang paling dasar untuk instruksi mesin yang
disebut siklus mesin (machine cycle).

Register. Register adalah lingkungan kerja khusus CPU, dirancang


untuk diakses pada kecepatan tinggi. Ran register adalah sebagian
kecil memori komputer yang digunakan sebagai tempat
penampungan data dengan ketentuan bahwa data yang terdapat
dalam register bisa diproses dalam berbagai operasi. Register
memilik panjang 16 bit. Pengaksesan 4 register data dibagi dua
bagian, yaitu setengah bagian atasnya dan setengah bagian bawah.
Register Data AX, BX, CX, DX, (16 bit)
AH, AL, BH, BL, CH, CL, DH, DL, (8 bit)
Register Segmen CS, DS, SS, ES
Register Indeks SI, DI, BP
Register khusus IP, SP
Register flag overflow, direction, interupt, tmp, sign, zero,
auxiliary carry, parity dan carry.
Register data. Empat register, dinamai register data register tujuan
umum, digunakan untuk perhitungan aritmatik dan pemindahan
data. Perhitungan setiap register dapat dialamati sebagai 16 bit
atau 8 bit. Conth; register AX adalah register 16-bit, 8 bit atasnya
disebut AH dan 8 bit dibawahnya disebut AL. Posisi bit selalu
diberi nomor dari kanan ke kiri dimulai dari nol.

Bit 15 …………….. …………..0


16-bit register AX
Register AH Register AL
Bit 7 ……………………….0 7………………….…………..0

Instruksi mungkin menunjukkan 16 bit atau 18 bit register data


dari daftar berikut:
AX BX CX DX
AH AL BH BL CH CL DH DL
Masing-masing register dengan tujuan umum memiliki atribut-atribut
khusus;
1. AX (Akumulator) , disebut register akumulator karena digunakan oleh
CPU untuk operasi aritmatik.
2. BX (Basis), register BX dapat melaksanakan operasi aritmatik dan
perpindahan data dan BX memiliki kemampuan pengalamat khusus,
dapat menyimpan alamat memori yang menunjuk kepada variabel lain.
3. CX (Counter), register CX bekerja sebagai counter untuk instruksi
pengulangan atau looping. Instruksi tersebut secara otomatis
mengulangi dan mengurangi CX dan keluar ketika CX sama dengan nol.
4. DX (Data register), register DX mempunyai peranan khusus dalam
operasi perkalian dan pembagian.
Register Segmen. Register mengandung 4 register segmen, digunakan
sebagai lokasi basis untuk instruksi program, dan stack. Register segmen
adalah:
5. CS (Code segment), register CS mempunyai lokasi basis semua instruksi
yang dapat dieksekusi dalam program.
6. DS (Data segment), adalah lokasi basis default untuk variabel-variabel
CPU menghitung lokasi variabel menggunakan nilai segmen dalam DS.
3. SS (Stack segment), register mengandung lokasi basis stack.
4. ES (Extra segment), register ES adalah lokasi basis tambahan untuk
variabel memori.
Register Index, register index mengandung offset variabel. Istilah ini 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 index antara lain:
1. SI (Source index), register ini mengambil nama dari instruksi pemindahan
string, yang mana string sumber dittunjuk oleh register SI.
2. DI (Destination index), register ini bekerja sebagai tujuan instruksi pemindahan
string.
Register khusus, ada dua register khusus antara lain:
1. IP (Instruction pointer), register IP selalu mengandung offset instruksi
berikutnya yang akan dieksekusi.
2. SP (Stack pointer), register ini mengandung offset atau jarak dari awal stack ke
puncak stack.
Register flag, adalah register 16-bit khusus dengan posisi bit sendiri dibuat untuk
menunjukkan status CPU atau hasil operasi aritmatik.
FLAG
Flag adalah bit memori tunggal yang digunakan CPU untuk menahan Track pada
kondisi tertentu. Track adalah jalur dalam disk yang digunakan untuk pemberian
alamat bagi data-data yang disimpan di dalamnya. Misalnya; disket 1.4 MB terdiri
dari 80 track dan 18 sector. Komputer memiliki beberapa flag, diantaranya:
1. Flag Kendali, yaitu sebuah bit yang di set dalam flag oleh komputer untuk
mengendalikan operasi CPU. Flag kendali terdapat tiga jenis yaitu; flag
Direction, Interrupt dan Trap. Flag Direction mengendalikan petunjuk asumsi
yang digunakan oleh instruksi pemroses string. Nilai flag 1 = up dan 0 = down.
Flag Interrupt memungkinkan terjadinya interrupt dari eksternal. Interrupt ini
disebabkan oleh perangkat keras seperti keyboard, disk drive dan timer clock
sistem. Dan flag Trap menentukan apakah CPU berhenti atau tidak setelah
instruksi. Debugger telah menset flag ini sehingga pemrogram dapat menelusuri
setiap instruksi programnya satu per satu.
2. Flag Status, Bit-bit flag status menggambarkan keluaran operasi aritmatik dan
logic yang dilaksanakan CPU. Beberapa flag yang terdapat pada flag status
diantaranya adalah: flag overflow, Sign , Zero, Auxiliary Carry, Parity dan Carry.
• Overflow adalah kondisi kesalahan yang muncul ketika hasil operasi perhitungan
merupakan bilangan yang terlalu besar untuk di tampilkan komputer (1 or 0).
• Sign adalah bit terakhir dari word komputer yang kadangkala digunakan untuk
mengidentifikasikan apakah angka yang terkandung bernilai positif atau negatif.
• Flag Zero diset ketika hasil operasi aritmatik dan logic menghasilkan nilai 0. flag
ini sering digunakan oleh instruksi jump dan loop, untuk dapat mencabang ke
lokasi baris dalam program berdasarkan perbandingan dua buah nilai. Flag 1 =
nol, 0 = bukan nol.
• Flag Auxiliary Carry, memori tambahan di samping memori utama. Diset ketika
operasi komputer menjumlahkan dua angka dan mendapatkan keluaran melebihi
kapasitas register.
• Flag parity adalah menggambarkan jumlah bit dalam hasil operasi yang diset,
yang dimaksudkan supaya jumlah jumlah bit 1 dalam word selalu bernilai genap
atau ganjil. Flag ini digunakan oleh sistem operasi untuk memeriksa integritas
memori atau memeriksa kebenaran transmisi data oleh perangkat lunak
komunikasi.

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

Sebelum high memory Sesudah high memory

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)

Setelah operasi POP dilakukan, register AX mengandung nilai yang


berasal dari puncak stack (0002). Stack pointer pindah ke nilai stack
sebelumnya yaitu 0001. Nilai yang diambil (0002) tidak lagi berada
dalam stack.
SEKIAN

‫واسالم‬

Anda mungkin juga menyukai