Bahasa Assembly
10
Gambar 1.4 Struktur CPU
1.6 Fungsi Komputer
Fungsi dasar sistem komputer adalah sederhana seperti terlihat pada gambar 1.5. Pada prinsipnya terdapat empat buah fungsi operasi, yaitu
¾ Pemindahan Data ¾ Penyimpanan Data
¾ Pengolahan Data ¾ Kontrol
Gambar 1.5 Fungsi Komputer
Computer Arithmetic
and Login Unit
Control Unit
Internal CPU Interconnection
Registers CPU
IO Memory
System Bus
CPU
Data Movement
Apparatus Control
Mechanism Data
Storage Facility
Data Processing
Facility
Bahasa Assembly
11
Komputer harus dapat memproses data. Representasi data di sini bermacam-macam, akan tetapi nantinya data harus disesuaikan dengan mesin
pemrosesnya. Dalam pengolahan data, komputer memerlukan unit penyimpanan sehingga diperlukan suatu mekanisme penyimpanan data. Walaupun hasil
komputer digunakan saat itu, setidaknya komputer memerlukan media penyimpanan untuk data prosesnya. Dalam interaksi dengan dunia luar sebagai
fungsi pemindahan data diperlukan antarmuka interface, proses ini dilakukan oleh unit InputOutput I0 dan perangkatnya disebut peripheral. Saat interaksi
dengan perpindahan data yang jauh atau dari remote device, komputer melakukan proses komunikasi data.
1.7. Aritmatika dan Kontrol.
Bagian Aritmatika dan Kontrol dari computer biasanya disebut sebagai
Central Processing Unit CPU. Mungkin istilah ini muncul ketika awal-awal
computer mainframe yang besar di mana bagian computer masih terpusat. Fungsi Utama CPU adalah :
• Mengambil atau menjemput instruksi dari memori dan menerjemahkannya
decode kemudian mengeksekusi perintah yang sudah diterjemahkan
tersebut. • Mentransfer informasi ke dan dari memori data atau unit masukan-keluaran
IO yang dibutuhkan pada eksekusi suatu instruksi.
• Menanggapi sinyal control dari luar, yang dikenal sebagai interrupt yang
mungkin dapat menginterupsi operasi yang normal dan mungkin dapat menyebabkan urutan-urutan program atau instruksi yang baru yang harus
dilakukan oleh computer.
Bahasa Assembly
12
Dalam melakukan fungsi-fungsi tersebut maka CPU dilengkapi dengan : 1. Pada bagian Aritmatika :
• ALU Arithmetic Logic Unit • Akumulator
2. Pada bagian Kontrol : • Register Instruksi
• Decoder Segala operasi aritmatika dan Logika dilakukan di dalam ALU. Operasi-
operasi yang dapat dilakukan ALU adalah : 1. Penjumlahan Add, Penambahan Satu Increment
2. Pengurangan Subtract, Pengurangan Satu Decrement 3. Logika OR, EX-OR, AND, dan NOT Complement
4. Perbandingan Compare 5. Pergeseran ke kiri atau ke kanan atu bit Shift
6. Berputar ke kiri atau ke kanan Rotate. Pada Mikroprosessor 8085 mempunyai 10 buah register, dan register
merupakan tempat penyimpanan data sementara. Register-register ini dibagi atas dua kelompok, yaitu :
- General Purpose Register Register Serba Guna. - Special Purpose register Register Khusus.
Dimana dikatakan dengan Register Serba Guna General Purpose Register karena pemakaian register ini bersifat umum. Susunan dari Register-
register ini aperti sebuah RAM kecil 8-bit atau 16-bit di dalam CPU. Register ini dapat digunakan sebagai tempat penyimpanan hasil operasi mikroprosessor.
Bahasa Assembly
13
Register serba guna ini terdiri dari 6 buah register 8-bit yang disebut dengan regisr B, C, D, E, H, dan L. Untuk pengoperasian 16-bit register ini dapat
digunakan berpasangan menjadi pasangan register BC, DE, HL.
Kemudian dikatakan dengan Register Khusus Sepecial Purpose Register karena fungsinya yang sangat khusus, register ini terdiri dari 4 bagian
yaitu : Akumulator, Register bendera, Program Counter PC, Stack PointerSP. • Akumulator AccumulatorAcc.
Akumulator disebut juga dengan register A yang merupakan register yang amat penting, karena register ini berfungsi sebagai tempat penyimpanan hasil setiap
operasi aritmatika maupun operasi logika dan juga sebagai tempat masukan ALU. Data Bus internal yang dihubungkan ke Acc ini merupakan dua arah
bidirectional yang berartyi akumulator dapat mengirim dan menerima data. Di dalam penggunaan akumulator ini berpasangan dengan register Bendera Flag.
• Register Bendera Flag Register, F Register Bendera berfungsi sebagai indicator atau menyatakan kedaan dari hasil
operasi ALU. Register ini terdiri dari 8-bit tetapi hanya 5-bit yang dipakai
yaitu: Zero Z, Sign S, Parity P, Carry Cy dan Auxilary Carry AC.
Susunan bit dari register Bendera digambarkan sebagai berikut :
Gambar 1.6. Register Bendera Flag
S Z
x AC
x P
x Cy
D7 D6 D5 D4 D3 D2 D1 D0
X = tidak dipakai don’t care
Bahasa Assembly
14
Isi register bendera akan berubah sesuai dengan hasil operasi aritmatika-logika. - Sign Bit S : S = 0 ; bila hasilnya positif
S = 1 ; bila hasilnya negative - Zero Bit Z : Z = 1 ; bila hasilnya sama denga 0
Z = 0 ; bila hasilnya tidak sama dengan 0 - Auxilary Carry Bit AC :
AC = 1 ; Jika terjadi carry dari 4 bit rendah low nible ke 4 bit tinggi high nible dan Jika ada borrow dari high
nible ke low nible. AC = 0 ; Jika sebaliknya.
- Parity Bit P : P = 1 ; bila hasil operasi berparity genap.
P = 0 ; bila hasil operasi berparity ganjil. - Carry Bit Cy :
Cy = 1 ; bila hasil penjumlahan melebihi 8-bit, dan bila hasil pengurangan ada borrow.
Cy = 0 ; bila tidak terjadi borrow atau carry. • Program Counter PC
Pengeksekusian suatu program adalah pelaksanaan instruksi, dimana instruksi ini telah terlebih dahulu disimpan di dalam memori. Jadi untuk melaksanakan
instruksi tersebut dibutuhkan suatu alamat yang menunjukkan lokasi penyimpanan instruksi tersebut di dalam memori. Alamat lokasi memori yang
akan dituju ini diambil dari Program counter. Rogram counter ini merupakan register 16-bit, dengan demikian jangkauan alamatnya adalah 2
16
= 64 kByte.
Bahasa Assembly
15
• Stack Pointer SP Stack merupakan bagian dari memori yang dialokasikan untuk penyimpanan
data dan alamat. Misalnya saat instruksi PUSH dan CALL. Alamat awal dari stack ini ditandai oleh Stack Pointer. Stack dapat diakses dengan menggunakan
program. Penumpukan data pada stack ini mempunyai sifat LIFO Last In First Out. Pemindahan data dari register CPU ke Stack dapat dilaksanakan
dengan instruksi PUSH dan yang sebaliknya adalah POP. Stack Pointer SP merupakan register 16-bit dengan demikian jangkauan alamat adalah sebesar
2
16
= 64 kByte.
1.8. Media Penyimpan Memori