bab 1 pengenalan kepada mikropemproses ...°Łnombor asas 10 mengguna 10 simbol yang berlainan iaitu...
TRANSCRIPT
1
BAB 1 PENGENALAN KEPADA MIKROPEMPROSES DAN PENGAWAL MIKRO
1.1 SISTEM NOMBOR
Asas nombor yang biasa digunakan
Asas 10 (desimal)
Asas 2 (binari)
Asas 16 (hexadesimal)
1.1.1 NOMBOR DESIMAL
Manusia menggunakan nombor asas 10 (desimal) dalam aritmetik (pengiraan)
Nombor asas 10 mengguna 10 simbol yang berlainan iaitu 0,1,2,3,4,5,6,7,8,9
1.1.2 NOMBOR BINARI
Terdiri daripada 2 jenis simbol : 0,1
Biasanya diberi nama BIT
Ia hanya difahami oleh komputer
Dalam bidang elektronik, bit 0 bersamaan dengan 0 volt (antara 0 – 0.8v)
dan bit 1 bersamaan dengan 5 volt (antara 2.0v – 5v).
1.1.3 NOMBOR HEXADESIMAL
Sistem nombor ini digunakan untuk mewakili sistem nombor binari.
Ia memudahkan perwakilan satu jujukan nombor yang terdiri daripada
nombor binari (1001011010.....)
LOGIC 1
LOGIC 0
Unused
5.0 V
2.0 V
0.8 V
0V 0 0
1V
t
Logik “1” 2.0V – 5.0V
Logik “0” 0V – 0.8V
2
Ia menggunakan 16 simbol untuk mewakili nombor
Desimal Binari Hex0 0000 01 0001 12 0010 23 0011 34 0100 45 0101 56 0110 67 0111 78 1000 8
1.1.4 PERTUKARAN NOMBOR
Desimal Binary :
Cara 1 : Sentiasa bahagi dengan “2” dan himpunkan bakinya
Contoh: Tukarkan 2510 kepada binari
Hasil bahagi baki
25/2 = 12 1
12/2 = 6 0
6/2 = 3 0
3/2 = 1 1
1/2 = 0 1
Oleh itu 2510 = 110012
Cara 2 : Hasil tambah pemberat setiap bit
24 23 22 21 20
16 8 4 2 1
1 1 0 0 1
2510 = 16 + 8 + 1 = 110012
Binari Hexadesimal : Himpunkan setiap 4 bit dalam satu kumpulan
Contoh : Wakilkan 1001111101012 dalam Hex
1001 1111 0101
= 9 F 5
= 9F516
Desimal Binari Hex9 1001 910 1010 A11 1011 B12 1100 C13 1101 D14 1110 E15 1111 F
LSB (Least Significant Bit)
MSB (Most Significant Bit)
3
Hexadesimal Binari : Pecahkan setiap satu nombor Hex kepada 4 bit
Contoh : Tukarkan 29B16 kepada binari.
2 9 B
= 0010 1001 1011
=0010100110112 (“00” di depan boleh dibuangkan 10100110112)
Desimal Hex : Tukarkan nombor decimal kepada binari dan dari binari tukar kepada Hex
Contoh : Tukarkan 69910 kepada Hex
29 28 27 26 25 24 23 22 21 20
512 256 128 64 32 16 8 4 2 1
1 0 1 0 1 1 1 0 1 1
2 B B
= 2BB16 (kena tambah “00” di depan untuk jadikan 4 bit dalam satu kumpulan)
1.1.5 PERTAMBAHAN 2 NOMBOR HEX
Contoh: 6 B16 0110 10112
+ A F16 + 1010 11112
1 1 A16 1 0001 10102
1.2 ASAS GET LOGIK
1.2.1 GET DAN (AND GATE)
Carry, C = 1
Axiliary Carry, AC = 1
Jumlah bilangan “1” = ganjil, Pariti, P = 1
4
1.2.2 GET ATAU (OR GATE)
1.2.3 GET TAK (NOT GATE)
1.2.4 GET EKSKLUSIF ATAU (XOR GATE)
1.2.5 GET TAK DAN (NAND GATE)
5
1.2.6 GET TAK ATAU (NOR GATE)
Tugasan:
a. Tukarkan nombor berikut kepada nombor asas 16:
i. 110011002 ii. 45610
iii. 0011101011102 iv. 101110
v. 11100010102 vi. 110110
b. Tukarkan nombor berikut kepada nombor asas 2:
i. 5F6A16 ii. 12710
iii. 10110116 iv. 25510
v. FFFF16 vi. 25610
c. Dapatkan keadaan bit Carry (C), Auxiliary Carry (AC) dan Pariti (P) bagi
masalah di bawah:
i. 5AHex ADD (tambah) 36Hex ii. 9DHex ADD(tambah) ABHex
iii. 8B16 AND 9716 iv. A616 AND C316
v. A716 OR C116 vi. 9316 OR C716
vii. 4C16 EX-OR 8A16 viii. 2316 EX-OR EC16
ix. Data 7816 di-ORkan dengan data 5C16 dan kemudian di-ANDkan dengan
data A716
x. Data FA16 di-ANDkan dengan data D816 dan kemudian di-EX-ORkan
dengan data 6716
6
1.3 SAIZ DAN UNIT DATA
`
Maka, Bit : digit binari yang mempunyai nilai hanya 0 atau 1
Byte : 8 bit atau 2 nibble
Nibble : separuh Byte atau 4 bit
Word (perkataan) : 2 Byte atau 4 nibble atau 16 bit
Long Word (perkataan panjang) : 2 Word atau 4 Byte atau 32 bit
Contoh :
5 F 9 A Hex 0101 1111 1001 10102
data 16 bit atau atau data 4 nibble atau data 2 byte atau data
1 Word atau data separuh Long Word
Bit or
Nibble 0 1 0 0
Byte 1 0 1 1 0 0 0 1
Word 1 1 0 0 0 0 1 1
1 0 0 0 1 0 0 0
0 1
Most Significant Bit(MSB)
Least Significant Bit(LSB)
Julat 0 =>1
Julat 0000 => 1111 Ruang 0 => 15
Julat 00000000 => 11111111 Ruang 0 => 255
Julat 00……0 => 11……1 (16 Bit) Ruang 0 => 65535
7
1.3.1 SEBUTAN BAGI KAPASITI INGATAN
Kilobyte (K) : 210 Byte (1024 byte)
Megabyte (M) : 220 byte (1,048576 byte)
Gigabyte (G) : 230 byte (1,073,741,824 byte)
Terabyte (T) : 240 byte (???)
(Cuba bayangkan kapasiti pada pen-drive anda. Berapa banyak data boleh disimpan pada
kapasiti 2 G?)
1.4 ELEMEN ASAS SISTEM MIKROKOMPUTER
Memory
Output InputControl
ALU
Microprocessor
Microcomputer
8
Satu sistem mikrokomputer mempunyai komponen-komponen berikut:
Input
Output
Peranti simpanan
Pusat Pemprosesan
1.4.1 INPUT
Ia merupakan peranti yang digunakan untuk menyediakan data-data atau maklumat
untuk diproses oleh pusat pemprosesan.
Contoh: Joystick, Keyboard, Sensor, Scanner
1.4.2 OUTPUT
Ia merupakan peranti yang digunakan untuk memaparkan data-data atau maklumat
yang telah diproses oleh pusat pemprosesan.
Contoh: Monitor, Pencetak, Speaker.
1.4.3 PERANTI SIMPANAN
Ia merupakan peranti yang digunakan untuk menyimpan data-data atau maklumat
sebelum/selepas diproses oleh pusat pemprosesan.
Contoh: Hardisk, CD-ROM, RAM, ROM, Pen-drive
1.4.4 PUSAT PEMPROSESAN (CPU)
Ia merupakan unit yang utama dalam sistem mikrokomputer.
Ia merupakan unit yang menerima, memproses dan memaparkan data-data.
Ia boleh melakukan kerja-kerja seperti aritmetik, logik dan membuat keputusan.
Binaan dalaman sebuah CPU adalah seperti gambarajah blok di muka surat sebelah:
9
1.4.5 SAMBUNGAN ASAS SISTEM MIKROKOMPUTER
Address Bus (Bas Alatam): Talian wayar yang digunakan untuk menyalurkan data-data yang
mengandungi maklumat alamat (lokasi) bagi data yang hendak
diproses atau data yang hendak disimpan.
Data Bus (Bas Data): Talian wayar yang digunakan untuk menyalurkan data-data yang akan
diproses (dari peranti ingatan ke CPU) atau data yang sudah diproses
(dari CPU ke ingatan/output)
10
Control Bus (Bas Kawalan): Talian wayar yang digunakan untuk menghantar isyarat kawalan
(seperti MEMW, MEMR, IOR, IOW, interrupt and DMA)
antara CPU dengan peranti ingatan dan peranti Input/Output.
1.5 PENGENALAN KEPADA PENGAWAL MIKRO (MC)
Ia merupakan sebuah komputer yang kecil.
Di dalam MC terdapat komponen-komponen yang diperlukan untuk sebuah sistem
mikrokomputer. Ini bererti di dalamnya terdapat komponen-komponen seperti CPU,
RAM, ROM, peranti input/output (I/O).
(Cuba bandingkan gambarajah blok ini dengan gambarajah blok sistem mikrokomputer
sebelum ini)
1.5.1 PERBEZAAN DI ANTARA MIKROPEMPROSES DENGAN PENGAWAL MIKRO
RAM ROM
I/OPort
TimerSerialCOMPort
CPU
Microcontroller
A single chip
Mikropemproses
1. CPU berdiri bersendirian. Peranti ingatan
(ROM dan RAM), timer dan peranti I/O
adalah berasingan.
2. Pencipta sistem boleh menentukan bilangan
kapasitinya (RAM, ROM dan I/O)
3. Kapasiti ingatan dan I/O boleh ditambahkan
(expansive)
4. Untuk penggunaan am (General-purpose)
Pengawal Mikro (MC)
1. CPU, RAM, ROM, timer dan peranti I/O
berada dalam satu chip tunggal
(Embedded).
2. Kapasiti RAM,ROM dan Port untuk I/O
telah ditetapkan.
3. Sesuai untuk aktiviti yang memakan ruang,
kos dan kuasa yang banyak.
4. Untuk penggunaan khas
11
1.5.2 BINAAN DALAMAN PENGAWAL MIKRO (MC)
(i)
(ii)
(iii) (iv)
(v)
12
1.5.3 FUNGSI-FUNGSI SESETENGAH BAHAGIAN
i. ALU (Arithmetic Logic Unit)
Ia merupakan unit yang melakukan kerja-kerja aritmetik seperti tambah,
tolak, darab dan bahagi.
Ia juga merupakan unit yang melakukan kerja-kerja logik seperti ATAU,
DAN dan TAK.
ii. ACC – Accumulator
Ia merupakan sebuah daftar (register) untuk menyimpan data yang hendak
diproses atau sudah diproses oleh ALU untuk sementara waktu.
Oleh itu ia merupakan pintu masuk-keluar data bagi ALU.
iii. PSW – Program Statu Word Register
Daftar ini mengandungi maklumat mengenai keputusan proses yang telah
dilaksanakan oleh ALU.
Ia memberitahu pengguna sama ada keputusan yang dihasilkan oleh ALU itu
mempunyai pembawa atau tidak, pariti ganjil atau genap, mempunyai pembawa
Auxiliary atau tidak, melebihi julat atau tidak dan jalur daftar (register
bank) mana hendak dipilih.
iv. Program Counter
Daftar ini mengandungi alamat suatu suruhan yang seterusnya bagi suatu
aturcara.
Bila sesuatu suruhan dilaksanakan, Program Counter akan memastikan alamat
di dalamnya sentiasa mengandungi alamat untuk suruhan seterusnya. Suruhan
seterusnya itu akan dilaksanakan oleh CPU apabila suruhan semasa habis
dilaksanakan.
13
v. Stack Pointer (Penunjuk Tindan)
Daftar ini merupakan sebuah kawasan yang agak luas biasa di mana kandungan
Program Counter akan diletak padanya buat sementara waktu apabila berlaku
proses subroutine.
Daftar ini akan digunakan apabila suruhan-suruhan seperti PUSH, POP, CALL
dan RET digunakan dalam aturcara.
vi. Daftar (Register)
Ia merupakan tempat kecil untuk menyimpan data. Data ini boleh terdiri
daripada data untuk alamat atau data untuk membuat kerja (suruhan)
Latihan:
a. Nyatakan 4 komponen penting yang terdapat pada sebuah mikrokomputer dan terangkan
dengan ringan setiap komponen tersebut.
b. Nyatakan fungsi-fungsi bagi komponen berikut:
i. Bas Alamat
ii. Bas Data
iii. Bas Kawalan
c. Lukiskan binaan dalaman bagi sebuah pengawal mikro dalam bentuk gambarajah blok.
d. Nyatakan perbezaan-perbezaan yang terdapat pada mikropemproses dan pengawal
mikro.
e. Nyatakan fungsi bagi komponen-komponen berikut yang terdapat pada sebuah pengawal
mikro:
i. ALU
ii. Accumulator
iii. Program Counter
iv. Stack Pointer
v. Program Status Word Register
14
1.6 PROSES MELAKSANAKAN ATURCARA
Untuk proses melaksanakan aturcara, 2 fasa aktiviti akan terlibat iaitu fasa angkut
dan fasa laksana.
Komponen-komponen berikut akan terlibat dalam proses pelaksanaan satu aturcara:
Melaksana sesuatu Aturcara
Sebelum suatu aturcara boleh dilaksanakan, aturcara tersebut akan diletakkan pada
kandungan ingatan RAM. (Aturcara ini telah diterjemahkan kepada bahasa yang
difahami oleh MC iaitu Bahasa Mesin – kod binari).
Aturcara akan dilaksanakan langkah demi langkah bermula dengan alamat pertama,
00000000B (00H).
Alamat pertama ini akan dirujuk setiap kali pengawal mikro direset.
ADDRESS CODE00000000 0111010000000001 0001000000000010 0010010000000011 0000011100000100 1111010100000101 0011000000000110 11110100
RAM
HEX00H01H02H03H04H05H06H07H
MOV A, #10H
ADD A, #07H
MOV 30H, A
MOV A, #10H
ATURCARA
Contoh:
ALU
ControllerSequencer
InstructionDecoder
ACCUMULATOR
PROGRAMCOUNTER
ADDRESSREGISTER
CARRYFLAG
DATAREGISTER
CLOCK andCONTROLLINES
(AR) (DR)
(PC)
Kod Binari yangmewakili aturcara
15
Fasa Angkut
Segala aktiviti (pergerakan data) akan dikawal oleh unit Controller Sequencer. Unit
ini akan mengeluarkan isyarat kawalan untuk memastikan aktiviti-aktiviti di bawah
berjalan dengan baik dan tepat.
i. Bila MC direset, alamat pada PC akan memegang alamat pertama iaitu 00H.
ii. Alamat ini akan dihantar ke Address Register (AR = 00000000B)
iii. Kandungan PC akan bertambah 1 menjadi 01H (00000001B)
iv. Kandungan pada AR akan diletakkan pada Bas Alamat.
v. MC akan mengaktifkan isyarat BACA kepada ingatan RAM
vi. Kandungan pada lokasi terpilih pada RAM (01110100B – MOV A) diletakkan pada
Bas Data dan diletakkan pada Data Register (DR = 01110100B).
vi. Opcode MOV A dinyahkodkan (ditafsirkan) iaitu “menyalinkan sesuatu ke dalam
Accumulator”.
Fasa Laksana
Dalam fasa ini, MC akan menyelesaikan suruhan yang telah dinyahkodkan (dalam
contoh atas iaitu suruhan MOV A). Oleh itu operand (10H = 00010000B) bagi
suruhan akan diambil dan terus diletak pada Accumulator.
i. Kandungan PC akan dipindahkan ke AR (AR = 00000001B)
ii. Kandungan PC akan bertambah 1 menjadi 02H (00000010B).
iii. Kandungan AR diletakkan ke dalam Bas Alamat
iv. Isyarat BACA diaktifkan.
v. Kandungan pada lokasi terpilih pada RAM (10H = 00010000B) diletakkan pada
Bas Data dan seterusnya diletakkan pada Data Register (DR = 00010000B).
vi. Kandungan pada Data Register akan dipindahkan kepada Accumulator (A = 10H)
vii. Maka selesailah pelaksanaan suruhan MOV A, #10H selepas fasa Angkut dan
fasa Laksana.
Latihan:
a. Terangkan dengan ringkas bagaimana suatu suruhan dapat dilaksanakan dalam
MC.