You are on page 1of 9

BAB 1.

0 : PENGENALAN KEPADA MIKROPEMPROSES

1.1 Komponen-komponen asas sistem komputer

Rajah 1.1 : Gambarajah blok sistem komputer (digit)

• Komputer digit ialah sejenis peralatan elektronik yang menggunakan isyarat berdigit untuk
menerima dan memproses data mengikut set arahan dalam storan dan menghasilkan maklumat yang
diperlukan pada peranti keluaran.
• Storan ialah peranti elektronik yang digunakan untuk menyimpan data atau maklumat.
(i) Storan primer / ingatan dalaman (RAM dan ROM)
(ii) Storan sekunder / ingatan luaran (cakera liut, tumb drive, hard disk, cakera padat dsb)

1.1.1 Unit Pemprosesan Pusat (CPU)

• otak komputer
• merupakan pusat kawalan bagi komputer untuk mengawal seluruh operasi di dalam komputer
• memproses data mengikut aturcara yang diperlukan oleh pengguna
• terdiri dari unit aritmetik logik (ALU), daftar dan unit kawalan

i. Unit Arithmetik & Logik


- unit yang melaksanakan semua kiraan aritmetik dan logik
- Data yang diproses di ALU diambil daripada daftar khas yang dinamai Penumpuk. Setelah data
diproses dalam
ALU, data ini disimpan untuk sementara waktu didalam penumpuk
- Operasi arithmetik – penambahan, darab dsb
- Operasi logik – DAN, ATAU, TAK

Unit Pemp
ii. Unit kawalan
- mengawal operasi CPU berdasarkan isyarat kawalan

iii. Daftar
- Ruang ingatan sementara untuk menyimpan keputusan pemprosesan dan maklumat kawalan
- Terdapat sejumlah daftar untuk fungsi-fungsi tertentu
- Antara daftar yang ada seperti :
• daftar pembilang aturcara – memegang suruhan berikutnya
• daftar suruhan – memegang suruhan yang sedang dilaksanakan

1.1.2 Ingatan (Utama dan Sekunder)

i. Unit Ingatan Utama


- berfungsi menyimpan kelompok digit perduaan (words). Digit – digit ini mewakili arahan yang akan
dilaksanakan
oleh komputer. Selain dari itu terdapat data yang akan diproses oleh aturcara
- juga berfungsi sebagai simpanan perantaraan dan hasil akhir operasi aritmetik
- operasi ingatan dikawal oleh unit kawalan
- ingatan utama ini dibina dari bahan separuh pengalir
- dikategorikan kepada RAM dan ROM

ii. Unit Ingatan Sekunder


- storan diluar komputer seperti disket, pen drive, hard disk dsbnya
- berfungsi seperti ingatan utama iaitu menyimpan data, program dan hasil operasi terhadap data
- kebaikan ingatan sekunder berbanding ingatan utama :
• storannya tidak meruap dalam jangka masa panjang
• kos murah
• kandungan mudah dikemaskini
1
1.1.3 Unit Masukan/Keluaran (I/O)

i. Unit Masukan
- unit ini guna untuk mengambil maklumat dan data yang berada di luar komputer dan meletakkan
ke dalam unit ingatan atau unit aritmetik logic (ALU)
- contoh sebahagian peranti masukan yang biasa ialah papan kunci, suis togol, unit pita magnetic,
tetikus, penukar analog ke digit (ADC)

ii. Unit Keluaran


- mengandungi peranti keluaran yang diguna untuk memindahkan data dan maklumat dari
komputer ke dunia luar
- contoh peranti keluaran ialah bacaan LED, pencetak, monitor, penukar digit ke analog (DAC)

1.2 Evolusi mikropemproses (4 bit, 8 bit, 16 bit, 32 bit, 64 bit)

Jadual 1.1 : Evolusi Mikropemproses


Tahun Syarikat Inovasi
1971 Intel 4004 - µ P 4 bit pertama : ingatan 1 K
1972 Intel 8008 - µ P 8 bit pertama : ingatan 16 K
1974 Intel 8080 - µ P 8 bit serbaguna pertama : ingatan 64 K
Motorola 6800 - µ P 8 bit pertama daripada Motorola
1975 MOS 6502 - µ P 8 bit yang diguna dalam
Apple //µ komputer pertama.
Zilog Z80 - µ P 8 bit serasi 8080
1976 Intel 8085 - 8080 yang dipekej semula
1978 Intel 8086 - µ P 16 bit ; ingatan 1M
1979 Motorola 68000 - µ P 16/32 bit ; diguna dalam Apple Macintosh
1980 Intel 8088 - 8086 dengan bas data bit; diguna dalam IBM
PC
1982 Intel 80286 - 8086 dengan ingatan maya ;ingatan 16M
Motorola 68008 - 68000 dengan bas 8 bit ; ingatan 16M
1983 Motorola 68010 - 68000 dengan ingatan maya
1984 Motorola 68020 - µ P 32 bit ; ingatan 4G
1985 Intel 80386 - µ P 32 bit
1987 Motorola 68030 – 68020 dengan unit pengurusan ingatan
(MMU)
1989 Intel 80486 – 80386 yang lebih laju; unit titik-apung (FPU)
bina dalam
Motorola 68040 – 68030 yang lebih laju (FPU) bina dalam
1993 Intel Pentium – 80486 yang lebih laju ; superskalar; FPU +
2 ALU
Motorola/ Power PC - µ P RISC paling popular pada hari ini
IBM/Apple
1994 Motorola 68060 – 68040 yang lebih laju; superskalar; FPU +2
ALU

1.3 Maksud istilah Nibble, Byte, Word, Long Word

• Data size is a mean of measure to determine how much data can be stored in a single cell of
memory

Data Size Data Type Data Capacity Range


n 2n
1 Bit 2 0-1
4 Nibble 16 0 -15
8 Byte 256 0 - 255
16 Word 65536 0 - 65535
32 Long Word 4,294,967,296 0 – 4,294,967,295

2
1.4 Binaan dalaman dan pengoperasian asas mikropemproses

• Mikropemproses adalah satu serpih litar bersepadu (integrated circuit – IC) VLSI dan SLSI (very large
dan super large)
• berupaya menerima, menyahkod suruhan dan melaksanakan suruhan yang diterimanya dalam
bentuk kod binari
• merupakan jantung/otak kepada sistem komputer, ia berfungsi sebagai Unit Pemprosesan
Pusat(CPU)
• 5 Fungsi utama mikropemproses :
i. Menyediakan isyarat pemasaan dan kawalan
ii. Mencapai arahan dan data dari ingatan
iii. Memindahkan data dan arahan dari unit masukan/keluaran
iv. Melakukan operasi arithmetik dan logik mengikut arahan
v. Tindakbalas terhadap sampukan dari luar

• 4 komponen utama mikropemproses : ALU, Unit Kawalan, Daftar-daftar dan penyahkod suruhan

1.4.1 Unit Arithmetik dan Logik (Arithmetic Logic Unit)

- Dianggap sebagai otak sesuatu sistem komputer kerana unit inilah yang menjalankan operasi
pengolahan (manipulation) data.
- ALU terdiri daripada litar-litar logik yang menjalankan operasi campur, tolak, bahagi, darap dan
operasi logic seperti AND, OR dan NOT
- Saiz ALU :
o Menentukan keupayaan komputer
o Saiz lazim :
 8 bit (mikroprngawal seperti Motorola 6805, Intel 8051)
 16 bit (seperti Intel 8086)
 32 bit (seperti Motorola 68000, intel 80486/Pentium, Motorola Power PC 601)
 54 bit (seperti DEC Alpha, MIPS R4400, Motorola Power PC 620)

1.4.2 Unit Kawalan (Control Unit)

- Unit kawalan akan menghasilkan isyarat kawalan dalaman di mana ia akan menentukan arah, punca
dan destinasi pemindahan data. Contohnya ia akan mengawal pergerakan data antara ALU dan
daftar.
- Di dalamnya terdapat litar pemilih iaitu multiplexers dan demultipelxers.
- Unit ini juga akan bertanggungjawab kepada isyarat luar yang diterima dari bas kawalan.

3
1.4.3 Daftar (Registers)

- Pemindahan maklumat perduaan dari satu daftar ke daftar yang lain merupakan yang terpenting
dalam mikropemproses

- Fungsi daftar :
i. menyimpan data
ii. sebagai alamat
iii. kod suruhan
iv. maklumat mengenai pelbagai pengendalian mikropemproses
v. sebagai pembilang yang boleh dikawal oleh perisian (suruhan-suruhan aturcara)

- Daftar (daftar dalaman) berfungsi seperti ‘pigeon holes’ di mana data dan suruhan dalam bentuk
binari akan disimpan secara sementara sebelum atau selepas operasi. Operasi ALU adalah lebih
cepat jika data disimpan didalam daftar berbanding memori.
- Setiap data yang hendak diproses mesti dimasukkan ke dalam daftar sebelum diproses oleh ALU.
Daftar juga akan menyimpan data baru dari ALU.
- Litar daftar dibina dari sekumpulan flip-flop (litar yang berupaya menyimpan data)
- Empat daftar yang sering digunakan ialah :

i. Penumpuk (Accumulator)
o Daftar yang paling aktif dan terlibat dalam kebanyakan pengendalian yang
dilaksanakan oleh ALU
o Data yang diambil dari memori akan disimpan secara sementara di ACC sebelum
diproses oleh ALU
o Di guna untuk meletakkan keputusan selepas pengendalian ALU
o Diguna sebagai daftar simpanan untuk data yang dihantar ke peranti keluaran dan
sebagai daftar penerima untuk data yang dibaca/diambil dari peranti masukan.
o 6800 – ada 2 accumulator; 8085 – ada 1 accumulator

ii. Daftar Arahan (Instruction Register)


o digunakan bagi menyimpan arahan/suruhan yang diambil dari memori sebelum dinyahkod
oleh penyahkod suruhan ke bentuk operasi

iii. Pembilang Aturcara(Program Counter, PC)


o Digunakan untuk memegang alamat bagi suruhan yang akan diambil atau dilaksanakan
(next instruction)
o Alamat yang dipegang oleh PC akan dinaikkan setiap kali suruhan diambil dari ingatan
(memory) bagi memastikan suruhan yang berikutnya diambil pada kitar ambil yang
menyusul.
o Jumlah kenaikkan PC adalah mengikut berapa byte Kod Mesin bagi suatu suruhan yang
dilaksanakan, yaitu bagi mikropemproses 6800 jumlah kenaikkan ialah 1 tetapi bagi
mikropemproses 68000 jumlah kenaikkan ialah 2.
o Contohnya :

Alamat 6800 Alamat 68000


PC = 6000 Suruhan # 1 PC = 6000 Suruhan # 1
PC = 6001 Suruhan # 2 PC = 6002 Suruhan # 2

iv. Daftar Status (Status Register, SR)


o Dikenali daftar bendera atau conditon code register (CCR)
o mengandungi maklumat mengenai hasil operasi ALU yang terakhir berdasarkan bit-bit yang
terletak
dalamnya
o bit-bit (flag) tersebut : Zero (Z), Carry (C), Negatif (N), Extend(X) dan Overflow(V)
o daripada keputusan ini mikropemproses dapat membuat keputusan untuk mengubah
arahalir program yang dilaksanakan
o 6 ‘Flag’ digunakan oleh CPU Motorola 6800.
o 5 ‘Flag’ digunakan oleh CPU Intel 8085

1.4.4 Penyahkod Suruhan (Instruction Decoder)

- Penyahkod suruhan biasanya adalah Ingatan Baca Sahaja (ROM) dimana ia berfungsi bagi
menterjemahkan kod binari ke bentuk operasi atau turutan operasi. Sebagai contoh kod 10111001
bermakna add
4
- fungsi : menterjemah suruhan dan dihantar ke unit kawalan bagi menjalankan proses seterusnya

1.5 Binaan Dalaman Mikropemproses 6800 dan 68000 (Motorola)

1.5.1 Mikropemproses Motorola 6800 (MC6800)

• Ciri-ciri :
- bas alamat : 16 bit
- bas data : 8 bit
- saiz ingatan 216 = 65536 alamat

7 0
AccA Accumulator A

AccB Accumulator B
15 0
IX Index Register

PC Program Counter

SP Stack Pointer

7 0
H I N Z V C Condition Codes Register

C – Carry, V – Overflow, Z – Zero, N – Negative, I – Interrupt, H – Half Carry

Fungsi –fungsi daftar

(i) Accumulator
- memegang data sementara / simpan hasil operasi ALU

(ii) Program Counter


- pegang alamat bagi arahan yang akan dilaksanakan

(iii) Index Register


- digunakan dalam pengalamatan berindeks

(iv) Stack Pointer(Penunjuk tindanan)


- diguna bagi menunjukkan kawasan ingatan yang khas dipanggil tindan / stack
- tindanan adalah kawasan ingatan (RAM) yang disimpan bagi tujuan menyimpan kandungan daftar di
dalam CPU apabila
sampukan (interrupt) berlaku atau apabila arahan yang melibatkan subrutin dilaksanakan.

(v) Condition Codes Register


- Carry Flag : disetkan (C=1) jika carry dihasilkan, bit yang dihasilkan keluar dari 7 bit (contoh :
percampuran dua nombor yang menghasilkan jawapan lebih daripada 255) atau bila berlaku borrow
iaitu keluar dari 7 bit (contoh : operasi penolakan)
- Overflow Flag : disetkan(V=1) apabila berlaku limpahan hasil operasi arithmetik. Bagi nombor
binari 8 bit, nombor yang dapat diwakili adalah (-128) hingga (+ 127). Sekiranya pencampuran dua
nombor positif menghasilkan jawapan lebih 127, maka bendera overflow akan disetkan
- Interrupt : bendera ini digunakan bagi melayan sampukan jenis IRQ. Jika I=1, sampukan IRQ tidak
dilayan, jika I=0 sampukan jenis IRQ akan dilayan. Kesimpulan : Dengan menguji flag (bendera), CPU
akan mengetahui samada arahan bercabang bersyarat perlu dilaksanakan atau tidak.

5
1.5.2 Mikropemproses Motorola 68000 (MC68000)

• Ciri-ciri
- Bas alamat : 24 bit (A0 - A23)
- Bas data : 16 bit (D0 – D15)
- saiz ingatan 224 = 1677216 alamat

Bit 31 16 15 8 7 0
D0
D1
D2
D3 Daftar
D4 Data
D5
D6
D7

A0
A1
A2 Daftar
A3 Alamat
A4
A5
A6

A7 Stack Pointer

PC Program Counter
15 0
CCR Condition Codes

Fungsi –fungsi daftar

(i) Daftar Data (D0 – D7)


- boleh digunakan bagi operasi data samada 8 bit (byte), 16 bit (word) atau 32 bit (longword)
- digunakan bagi memegang data sementara sebelum atau selepas operasi ALU
- operasi ALU yang menggunakan data yang disimpan di dalam daftar adalah lebih cepat
dilaksanakan, ini disebabkan CPU tidak perlu mencapai data daripada memori
- tidak mempengaruhi bit bendera

(ii) Daftar Alamat(A0 – A7)


- berguna apabila dipertengahan operasi data perlu diubah

(iii) Penunjuk Tindanan (SP)


- terdiri drpd USP (User Stack Pointer) dan SSP (Supervisor Stack Pointer)
- jika salah satu daftar aktif pada satu masa, maka kedua-dua dirujuk sebagai A7

(iv) Pembilang Aturcara (PC)


- Memegang alamat operasi berikutnya

(v) Daftar Status

System Byte Condition Codes Register / user byte


T S I2 I1 I0 0 0 0 X N Z V C

C : Carry, V : Overflow, Z : Zero, N : Negative, X : Extend


I0, I1 , I2 : Interrupt Mask
S : Supervisor State
T : Trace Mode

6
- Carry (C)
o C=1 jika berlaku bawaan pada MSB iaitu apabila operasi berlaku
- Overflow (V)
o V=1 jika hasil operasi arithmetik memperolehi limpahan
- Zero (Z)
o Z=1 jika hasil operasi arithmetik adalah 0
- Negative (N)
o N=1 jika hasil operasi arithmetik memperolehi nombor negatif
- Extend (X)
o Multiprecision arithmetic operations
- Interrupt Mask Bits (I0, I1 , I2)
o Merujuk kepada IC 68000, pin IPL0, IPL1 dan IPL2 adalah talian Interrupt Requests
o Apabila talian IPL0, IPL1 dan IPL2 diberi logik rendah, maka jujukan sampukan diminta, tetapi
samada sampukan tersebut perlu dilayan atau tidak bergantung kepada Interrupt Mask Bits
dalam CCR
o Keutamaan layanan terhadap sesuatu isyarat sampukan adalah mengikut 7 paras sampukan
seperti di bawah :

Description Interrupt Interrupt Mask Bits


Levels
I2 I1 I0
No interrupt Level 0 0 0 0
request
Lowest priority Level 1 0 0 1
Level 2 0 1 0
Level 3 0 1 1
Level 4 1 0 0
Level 5 1 0 1
Level 6 1 1 0
Highest priority Level 7 1 1 1
(Nonmaskable Interrupt)
Don’t interrupt

- contoh : jika mikropemproses sedang melaksanakan sampukan Level 4, mask bit diset ke 100.
Sekiranya isyarat sampukan yang diterima di Level 5,6,7 maka mikropemproses akan berhenti
melaksanakan operasinya lalu melayan operasi sampukan baru. Jika level 1,2,3 atau 4 diterima,
maka sampukan baru diabaikan (tamatkan dulu operasi semasa, baru layan sampukan baru)

1.6 Sistem Bas

• untuk menghubungkan CPU dengan ingatan dan I/O ports, satu kumpulan wayar yang dikenali
sebagai ‘bus’ digunakan.
• Semua data, arahan dan isyarat kawalan dihantar melalui sistem bas. Sistem bas terdiri daripada
bas data, bas alamat dan bas kawalan

1.6.1 Bas Data


- apabila CPU telah memilih lokasi menggunakan bas alamat, data atau arahan akan diterima atau
dihantar melalui bas data.
- data akan bergerak di antara CPU-ingatan, CPU-I/O atau ingatan-I/O
- merupakan bas 2 hala (1 arah pada satu-satu masa)

7
- CPU 6800 mempunyai 8 data selari untuk menghantar 8 bit data secara serentak. Saiz bas data
menentukan kelajuan pemindahan data

1.6.2 Bas Alamat


- berfungsi bagi membolehkan CPU memilih lokasi memori (RAM), input atau output port apabila data
hendak dihantar atau dicapai
- isyarat yang dihantar oelh CPU melalui talian ini merupakan alamat dimana maklumat hendak
dihantar atau dicapai
- merupakan bas 1 hala
- saiz bas menentukan saiz lokasi ingatan yang boleh dicapai
- contoh : komputer yang ada 16 talian alamat/bas alamat, lokasi ingatan maksimumnya ialah 216 =
65536. Alamat yang boleh dicapai adalah dalam julat 0000 hingga FFFF

1.6.3 Bas Kawalan


- talian yang mengawal seluruh sistem komputer
- berfungsi bagi menyelaras pemindahan data (membawa isyarat yang menunjukkan talian Ready
atau Wait)
- tiap CPU mempunyai bas kawalan yang berlainan
- contoh : 6800, talian kawalannya ialah R/W*(digunakan bagi menentukan samada CPU perlu
membaca data dari bas data atau menulis data ke bas data) dan RESET

1.7 Kitar pengambilan dan perlaksanaan

• apabila komputer menjalankan sesuatu tugas dua kitar yang akan terlibat ialah Kitar Ambil (fetch
cycle) dan Kitar Laksana (execute cycle)
Mikropemproses ambil Mikropemproses
suruhan mengikut syarat FET EXECU melaksanakan suruhan
yang dibawa oleh bas
CH TE tersebut
alamat

• Bagaimana Program dilaksanakan

- Sekarang cuba bayangkan bahawa program komputer dan data telah dimasukkan ke dalam
komputer. Program dan data ini sebelum diproses oleh komputer akan disimpan di dalam memori
(RAM). Apabila kekunci RUN ditekan, maka proses-proses berikut akan berlaku secara automatik,

1. Alamat ingatan bagi suruhan pertama akan diletakkan ke program counter (PC)
2. PC akan meletakkan alamat ingatan ini ke talian alamat
3. Alamat ingatan ini akan dihantar ke memori.
4. Alamat ingatan ini akan dikesan, iaitu ia akan mengesan kedudukan ingatan yang
dikehendaki.
5. Memori akan menghantar suruhan kembali ke mikropemproses melalui talian bas
data.
6. Suruhan diletakkan di dalam daftar arahan (IR)
7. Mikropemproses menterjemah suruhan tersebut sebelum dilaksanakan.
8. PC akan ditokok dan mikropemproses bersedia menerima suruhan seterusnya.

bas
data

Instruction Instruction
6 Register
5 s and data

7 Instruction
Decoder

8 bas
Memory
Program alamat
Counter 4 address
1 decoder
2 3

lain-lain Istilah
• Penunjuk Tindan (Stack Pointer, SP)

8
- daftar alamat ingatan khas yang mengandungi 16-bit alamat yang dinyatakan teratas tindanan
dimana data akan diletak dan diambil
- tindanan adalah sebahagian dari RAM untuk simpanan dan pengambilan sementara maklumat

• Sistem Pemasaan (Timing System)


- merupakan asas masa yang menentukan pergerakan kesemua komponen sistem komputer
(menunjukkan kepantasan komputer dalam melaksanakan sesuatu arahan)
- litar jam menjana isyarat berkala yang dihantar ke seluruh bahagian sistem, terutamanya unit kawalan
- isyarat berkala ini yang dinamakan denyut-denyut jam dan satu denyut jam memakan satu kitar jam
- panjang kitar-kitar jam diukur dalam milisaat (ms atau 0.001 saat), mikrosaat (p,s atau 10-6 saat)

You might also like