E3165 Sistem Elektronik Berdigit UNIT2

37
E3165 / UNIT 2 / 1 SENIBINA MIKROPEMPROSES Objektif Am : Mengetahui dan memahami senibina mikropemproses. Objektif Khusus: Pada akhir modul ini, anda seharusnya boleh: melukis dan menerangkan rajah blok sistem komputer. menerangkan evolusi mikropemproses. menjelaskan maksud istilah Nibble, Byte, Word, Long Word menerangkan kitar pengambilan dan perlaksanaan menerangkan binaan dalaman dan pengoperasian asas mikropemproses menerangkan system bas menerangkan system klok mikropemproses 2.1 menerangkan komponen-komponen asas sistem komputer dalam gambarajah blok 2.2 menerangkan evolusi mikropemproses 2.3 menjelaskan maksud istilah saiz-saiz data 2.4 menerangkan kitar pengambilan dan perlaksanaan 2.5 menerangkan binaan dalaman dan pengoperasian asas mikropemproses. 2.5.1 Unit arithmatik dan logik 2.5.2 Unit kawalan 2.5.3 Set-set alatdaftar 2.5.4 Accumulator 2.5.5 Condition Code register 2.5.6 Program counter 2.5.7 Stack Pointer 2.5.8 Sistem Pemasaan (Timing system) 2.6 menerangkan sistem bas 2.7 menerangkan sistem klok mikropemproses UNIT 2 OBJEKTIF:

Transcript of E3165 Sistem Elektronik Berdigit UNIT2

Page 1: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 1

SENIBINA MIKROPEMPROSES

Objektif Am :

Mengetahui dan memahami senibina mikropemproses.

Objektif Khusus:

Pada akhir modul ini, anda seharusnya boleh:

• melukis dan menerangkan rajah blok sistem komputer. • menerangkan evolusi mikropemproses. • menjelaskan maksud istilah Nibble, Byte, Word, Long Word • menerangkan kitar pengambilan dan perlaksanaan • menerangkan binaan dalaman dan pengoperasian asas mikropemproses • menerangkan system bas • menerangkan system klok mikropemproses

2.1 menerangkan komponen-komponen asas sistem komputer dalam gambarajah

blok

2.2 menerangkan evolusi mikropemproses

2.3 menjelaskan maksud istilah saiz-saiz data

2.4 menerangkan kitar pengambilan dan perlaksanaan

2.5 menerangkan binaan dalaman dan pengoperasian asas mikropemproses.

2.5.1 Unit arithmatik dan logik

2.5.2 Unit kawalan

2.5.3 Set-set alatdaftar

2.5.4 Accumulator

2.5.5 Condition Code register

2.5.6 Program counter

2.5.7 Stack Pointer

2.5.8 Sistem Pemasaan (Timing system)

2.6 menerangkan sistem bas

2.7 menerangkan sistem klok mikropemproses

UNIT 2

OBJEKTIF:

Page 2: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 2

SENIBINA MIKROPEMPROSES

2.0 PENGENALAN Apakah komputer? (C:P How to program, Deitel, 1994) Komputer adalah satu peranti yang berkeupayaan melaksanakan pengiraan dan membuat keputusan logik pada suatu kelajuan yang sangat-sangat tinggi berbanding manusia. Komputer memproses data di bawal kawalan suatu set arahan yang dinamakan aturcara (program) komputer. Aturcara ini akan memandu sistem komputer melakukan tindakan-tindakan mengikut urutan yang ditetapkan oleh manusia yang dinamakan pengaturcara (programmer). Apakah komputer digit? (Tocci, 1991) Komputer digit ialah satu kombinasi litar-litar dan peranti-peranti digit yang berupaya melaksanakan suatu urutan operasi, dengan penglibatan langsung manusia yang minima. Urutan operasi ini dinamakan aturcara atau program. Program adalah satu set arahan-arahan yang dikodkan dan disimpan dalam ingatan dalaman komputer bersama-sama data-data yang diperlukan oleh program tersebut. Apabila komputer diarahkan untuk melaksanakan program tersebut, komputer akan melaksanakan arahan-arahan dalam urutan yang disusun dalam ingatan satu demi satu sehingga ke arahan terakhir dalam program tersebut. Proses ini dilaksanakan dalam kelajuan yang sangat tinggi. Bagaimana komputer berfikir? (Tocci, 1991) Komputer tidak berfikir! Tetapi pengaturcara yang membekalkan arahan-arahan yang terperinci dalam bentuk program dan data-data yang meliputi: Apakah yang perlu dilakukan?, Untuk apakah yang perlu dilakukan? dan Bilakah perlu dilakukan? Komputer hanyalah satu mesin yang sangat laju yang boleh memanipulasi data, selesaikan masalah, dan buat keputusan, kesemuanya di bawah kawalan suatu program. Jika pengaturcara membuat kesilapan dalam program atau membekalkan data yang salah, komputer juga akan menghasilkan keputusan yang salah. (Kesimpulan: Komputer itu sendiri tidak bijak, tetapi hanya berupaya bekerja dengan tekun dan pantas. Sebaliknya pengaturcara yang lebih bijak, di mana ianya mengetahui bagaimana mengarah komputer untuk memenuhi keperluan manusia (Pengaturcara) ) Apakah yang anda tahu tentang komputer peribadi (PC) di rumah atau di pejabat anda? Apakah kemudahan yang disediakan oleh sistem komputer anda? Untuk mengetahui kemudahan bagi suatu komputer, cara yang paling mudah ialah merujuk kepada helaian spesifikasi yang disediakan di kebanyakan kedai komputer, atau suratkhabar, majalah, dan lain-lain. Satu sistem komputer yang lengkap secara fizikalnya mempunyai beberapa litar atau peranti elektronik, seperti motherboard, memory chips, interface cards dan sebagainya. Kita akan mempelajari sistem komputer dalam bentuk blok atau unit fungsi.

INPUT-2A

Page 3: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 3

SENIBINA MIKROPEMPROSES

2.1 GAMBARAJAH BLOK SISTEM KOMPUTER ASAS

Setiap komputer mengandungi lima elemen atau unit yang utama: the aritmetic logic unit (ALU), the memory unit, the control unit, the input unit, and the output unit. Rajah 2.1-1a menunjukkan hubungan antara kesemua unit utama ini, di mana ALU menjadi pusat pemprosesan data menerima data dari Unit Masukan dan setelah memprosesnya akan dikeluarkan melalui Unit Keluaran. Unit Ingatan pula menjadi storan semetara semasa proses ALU dilaksanakan. Unit Kawalan menjadi pusat kawalan yang berhubung kepada kesemua Unit. Gabungan ALU dan Unit Kawalan akan membentuk CPU. Namun demikian, sistem komputer selalunya dirujuk kepada CPU (ALU+Unit Kawalan) sebagai jantung dan dihubungkan kepada unit-unit lain melalui sistem bas sebagai laluan yang berkongsi seperti yang ditunjukkan dalam Rajah 2.1-1b. Dengan kata lain, Rajah 2.1-1b lebih teknikal sebagai rajah blok sistem komputer (menyeluruh), manakala Rajah 2.1-1a lebih memfokus kepada aliran data dan Unit kawalan memberi isyarat kepada semua unit.

Rajah 2.1-1a Rajah Block asas sistem komputer asas

MEMORY

Primary:

♦ RAM

♦ ROM

Secondary:

♦ Floppy

♦ CDROM

♦ Etc.

I/O

Interface

Input

Unit

Data Bus

Address Bus

Control Bus

Unidirectional:

Signals flow in

one direction.

Bidirectional:

Signals flow in

both direction

(one at a time).

Rajah 2.1-1b Rajah Block sistem komputer asas

CPU

ALU

Unit

Kawalan

Output

Unit

Input

Device

Output

Device

Keyboard Mouse

Monitor Printer

Unit Aritmetik Dan Logik

(ALU)

Unit Kawalan

Unit Ingatan

Unit Input Unit

Output

(CPU)

Page 4: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 4

SENIBINA MIKROPEMPROSES

FUNGSI BAGI SETIAP KOMPONEN/UNIT SISTEM KOMPUTER ASAS :

Unit Aritmetik dan Logik (ALU):

� Unit yang melaksanakan operasi komputer. Ia menerima suruhan-suruhan dan data untuk melaksanakan proses arithmetik dan logik.

� Proses arithmetik ialah seperti campur, tolak, darab dan bahagi (+, -, x, /). � manakala proses logik ialah menentukan samada sama atau tidak sama melalui operasi

logik AND, OR, NOT, EXOR dan sebagainya. � Dalam sistem industri perkilangan, Unit ALU seperti Bahagian pembuatan

(manufacuring). Unit Kawalan:

� Unit ini mengarah operasi kesemua unit dengan menyediakan isyarat pemasaan dan kawalan (timing and control signal).

� Unit ALU hanya melaksanakan sesuatu tugas hanya dengan arahan daripada unit kawalan dalam bentuk: Apakah? Dari manakah? Ke manakah? Bilakah? Berapa lamakah?

� Unit ini mengandungi litar logik dan pemasaan yang menjana isyarat yang sesuai untuk memantau perlaksanakan setiap arahan dalam aturcara.

� Unit ini melaksanakan dua kitar utama iaitu kitar capai (fetch) dan kitar laksana (execute), dan dua proses ini sahaja sebenarnya akan diulang-ulang sepanjang perlaksaan sistem komputer.

� Dalam sistem industri perkilangan, Unit keluaran seperti Bahagian pentadbiran (administartive).

Central Processing Unit (CPU):

� Gabungan kedua-dua unit ALU dan Kawalan akan membentuk CPU, dan menjadi elemen utama sistem komputer seperti jantung untuk manusia.

� CPU selalu dibina dalam satu chip tunggal untuk mengasingkan lain-lain unit dalam satu sistem komputer. Chip CPU ini selalunya dipanggil mikroprocessor atau microprocessor chip.

Unit masukan:

� Unit ini memperolehi/menerima maklumat (data dan aturcara komputer) dari pelbagai peranti masukan seperti keyboard, scanner, joystick dan lain-lain.

� Unit ini juga menyediakan maklumat ini untuk dicapai oleh unit-unit yang lain contohnya ALU, ingatan.

� Dalam sistem industri perkilangan, unit masukan seperi Bahagian penerimaan.

Unit Keluaran: � Unit ini memindah data dan maklumat yang telah diproses oleh komputer (ALU) atau

maklumat dalam ingatan ke persekitaran luar komputer melalui peranti-peranti keluaran, seperti monitor, pencetak dll.

� Dalam sistem industri perkilangan, Unit keluaran seperti Bahagian penghantaran. Unit I/O:

� Unit ini sebenarnya ialah gabungan kedua-dua unit masukan dan keluaran (Input/Output). � I/O interface menjadi perantara (antaramuka) antara Unit Masukan/ Unit Keluaran dengan

system computer. � Bentuk isyarat/maklumat di luar dan dalam computer mungkin berbeza oleh itu I/O

interface diperlukan mengubah bentuk isyarat supaya setara dengan peringkat yang digandingkan.

Unit ingatan:

� Unit ini menyimpan maklumat yang telah dimasukkan melalui unit masukan supaya maklumat ini sedia dicapai terus untuk diproses apabila diperlukan.

� Unit ini juga menyimpan maklumat yang telah diproses oleh komputer (ALU) sehingga maklumat ini bersedia diterima oleh unit keluaran.

Page 5: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 5

SENIBINA MIKROPEMPROSES

� Unit ini mengandungi RAM dan ROM yang selalu dipanggil ingatan utama/primer. � Dalam sistem industri perkilangan, Unit ingatan seperti Bahagian gudang/ warehouse. � Selain ingatan utama (dalaman) sistem komputer biasanya disokong oleh ingatan

tambahan yang biasanya dikenali sebagai ingatan sekunder (luaran) seperti floppy disk, CD-ROM dan lain-lain.

Sistem Bas (Bus system)

♦ Dawai biasanya digunakan untuk memindahkan suatu isyarat dari satu titik ke titik yang lain. Satu kumpulan dawai-dawai dinamakan bas.

♦ Dalam sistem mikrokomputer, terdapat 3 bas iaitu data (data), alamat (address), and kawalan (control) untuk menghubungkan mikropemproses (CPU) kepada setiap peranti dalam sistem mikrokomputer seperti ingatan dan peranti I/O.

♦ Bas-bas ini akan membawa (hantar atau terima) kesemua maklumat dan isyarat yang terlibat dalam operasi sistem dari satu peranti ke peranti yang lain.

Data bus:

♦ Membawa isyarat yang mewakili data dari satu peranti ke pertanti yang lain: Dari CPU ke ingatan, dan sebaliknya. Dari CPU ke Unit Keluaran. Dari Ingatan ke Unit Keluaran Dari Unit Masukan ke CPU/Ingatan.

♦ Bas dua hala (Bidirectional bus), kerana data boleh mengalir ke atau dari CPU. ♦ Saiz bas data ditentukan oleh bilangan talian (bit) data yang juga dipanggil saiz data. ♦ Saiz data:

Saiz sel individu dalam ingatan Bilangan bit yang boleh dikendalikan oleh CPU pada satu-satu ketika.

♦ Mikropemproses MC68000 mempunyai bas data 32 bit, oleh itu:

Saiz Data, n = 32 bits, Talian Data dilabel, Dn : D0, D1, ….. D30, D31

♦ Dengan kata lain, CPU boleh mengendalikan, atau bas data boleh memindahkan, data 8 bit secara selari/serentak, seterusnya menjadi penentu kelajuan pemindahan data.

♦ Bas (Bit) data yang sama boleh diset menjadi samada masukan atau keluaran bergantung kepada proses CPU melaksanakan operasi samada membaca (read) atau menulis (write) masing-masing.

CPU

R/W

Control signal is

Logic-1 =

R: READ

Input (from

Memory or

I/O devices)

CPU

R/W

Control signal is

Logic-0 = W:

WRITE

Output (to Memory

or I/O

devices)

Data bus Data bus

CPU

Memory I/O

Devices

CPU to other elements DATA BUS

From other elements

to CPU

Page 6: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 6

SENIBINA MIKROPEMPROSES

Bas alamat (Address bus):

♦ Membawa isyarat yang mewakili alamat sesuatu lokasi ingatan. ♦ Bas satu hala (Unidirectional bus), ini disebabkan maklumat dipindahkan dari CPU ke

ingatan atau peranti I/O.

♦ Bilangan talian alamat (saiz bas alamat) menentukan bilangan sel ingatan yang boleh dikendalikan oleh CPU.

♦ Sebagai contoh, Intel 8085 mempunyai bas dengan alamat 16 bit:

n = 16 bits (Size of address bus): Address bus is labelled An : A0, A1, ….. A14, A15

2

n = 2

16 = 65536:

♦ Oleh itu, 16 talian/bit alamat mewakili 65536 lokasi ingatan. Dengan kata lain, CPU boleh mengendalikan atau mengalamatkan sebanyak 0 hingga 65535 (0000h to FFFFh) sel individu (setiap satu sel mempunyai saiz data 8 bit) dalam unit ingatan.

Bas kawalan (Control bus):

♦ Talian-talian yang membawa isyarat kawalan dari satu peranti ke peranti yang lain. ♦ Isyarat kawalan berfungsi menyegerakkan aktiviti-aktiviti bagi elemen-elemen

mikropemproses supaya komputer berfungsi dengan sempurna. ♦ Bas kawalan adalah dua hala (Bidirectional). ♦ Namun demikian, tidak seperti bas data yang menggunakan talian-talian yang sama untuk

hantar dan terima data, Bas kawalan mengandungi beberapa talian-talian individu untuk menghantar, manakala sebahagian lagi menerima isyarat dari CPU.

♦ Oleh itu dalam Rajah 2.1-1, dua anak panah satu hala dalam arah berlawanan menunjukkan bas kawalan adalah bas dua hala. (Manakala bas data menggunakan anak panah 2 hala).

♦ Sebagai contoh, CPU menghantar isyarat kawalan (Read/Write) ke ingatan atau peranti I/O untuk memberitahu samada ianya diset untuk terima atau hantar data.

♦ Sebaliknya, CPU menerima isyarat dari peranti lain; sebagai contoh, isyarat RESET untuk memberitahu CPU supaya memberhentikan operasi yang sedang dilaksanakan; atau isyarat INTR menyebabkan CPU menyampuk satu operasi yang sedang berlaku.

CPU

Memory I/O Devices

CPU to other elements ADDRESS BUS

Saiz data dan talian data akan dibincangkan

lebih terperinci dalam Bab 5.

Saiz alamat dan talian alamat akan

dibincangkan lebih terperinci dalam Bab 5.

Page 7: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 7

SENIBINA MIKROPEMPROSES

Rajah 2.1-2 menerangkan sistem komputer asas secara lebih teknikal atau terperinci. Anak panah dalam rajah ini menunjukkan arah aliran isyarat data, maklumat, dan kawalan. Dua jenis saiz anak panah digunakan; di mana anak panah lebar mengandungi banyak talian selari yang membawa data atau maklumat, manakala anak panah sempit mengandungi bilangan talian yang sedikit berfungsi membawa isyarat kawalan. Penomboran pada anak panah membolehkan rujukan yang lebih mudah semasa penerangan. Rajah ini menunjukkan bagaimana Blok Kawalan sebagai pusat kawalan yang menghantar (atau menerima) isyarat kepada kesemua elemen yang membentuk sistem komputer; dan bagaimana blok-blok lain berinteraksi antara satu dengan yang lain.

Rajah 2.1-2 Gambarajah Block lengkap sistem komputer

From outside world

Page 8: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 8

SENIBINA MIKROPEMPROSES

2.2 EVOLUSI MIKROPEMPROSES

Untuk mengetahui kemudahan bagi suatu komputer, cara yang paling mudah ialah merujuk kepada helaian spesifikasi yang disediakan di kebanyakan kedai komputer, atau suratkhabar, majalah, dan lain-lain. Kebiasanya item yang pertama dalam senarai tersebut ialah mikropemproses bagi sistem komputer tersebut. Sebagai contoh: “Intel Pentium-4 1.7G” ialah mikropemproses sistem komputer tersebut. Kapasiti pemproses menentukan kapasiti bagi sistem komputer. Dengan kata lain, pemproses adalah elemen utama atau jantung kepada sistem komputer. Selain daripada komputer peribadi, mikropemproses digunakan dalam sistem berasakan komputer dalam pelbagai bidang; sebagai contoh, automasi industri. Unit ini akan memperkenalkan senibina dan binaan bagi mikropemproses.

Salah satu kapasiti cip mikropemproses (µP) ditentukan oleh bilangan bit yang boleh

dikendalikan serentak pada satu-satu ketika, oleh itu kemajuan teknologi cip µP berkait terus kepada peningkatan bilangan bit yang disokong oleh µP tersebut . Cip µP yang pertama telah dibangunkan oleh Intel ialah cip 4-bit. Ianya kemudian dipertingkatkan kepada 8-bit, 16-bit dan seterusnya, yang mematuhi satu persamaan yang mudah 2

n (di mana n ialah interger : 0, 1,2, ....).

Jadual 2.2-1 menunjukkan evolusi µP dengan membandingkan pengeluar cip mikropemproses yang paling terkenal iaitu Intel dan Motorola. Jadual ini adalah tidak mutlak, ianya masih boleh

dikembangkan sejajar dengan perkembangan evolusi µP

Jadual 2.2-1: Evolusi mikropemproses antara Intel dan Motorola

Pengeluar/ Tahun

INTEL MOTOROLA

1971 4004, 4 bit, 108 kHz, contains 2300 transistors 6800, 8 bit 1979 8088, 8 bit, 2 MHz, contains 29000 transistors 68000, 16 bit 1982 80286, 16 bit, 8-12 MHz, contains 80286 transistors 1985 80386, 32 bit, 16-20 MHz, contains 275000 transistors 1989 80486, 32 bit, 25-66 MHz, contains 1.2 million

transistors

1993 Pentium, 64 bit, 60-166 MHz, contains 3.1 million transistors

1997 Pentium II, 300 MHz :

Page 9: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 9

SENIBINA MIKROPEMPROSES

Rajah 2.2-1 membandingkan µP Intel dan Motorola dalam bentuk grafik. Anda boleh perhatikan dengan jelas bilakah suatu model dibangunkan dan siri setara yang dihasilkan oleh pengeluar yang lain. Sebahagian model mempunyai versi yang telah ditambahbaikkan, yang ditandakan dengan garisan cabang. Sebagai contoh, Intel 8086 mempunyai versi penambahbaikan iaitu 8088 dan 80186, sementara pada masa yang sama, model seterusnya 80286 telah dibangunkan.

Rajah 2.2-1 Evolution of Microprocessor between Intel and Motorola (Source: Muhammad Mu’nim, Asas Organisasi Sistem Komputer, UTM, 1996)

Keluaraga M68000 Sesuatu cip Mkropemproses juga boleh dibandingkan melalui ciri-ciri teknikal. Jadual 2.2 membandingkan ahli-ahli keluaraga M68000 dibandingkan berdasarkan ciri-ciri utamanya. Walaupun kesemua cip mempunyai pendaftar-pendaftar CPU 32-bit, namun siri 68000, 68008, 68010 ialah sistem 16-bit, sementara mikropemproses yang bermula dari 68020 dan seterusnya ialah 32-bit. Manakala 68008 mempunyai senibina yang sama seperti 68000, tetapi mempunyai bas data luaran 8-bit.

Jadual 2.2 M68000 family summary

4004

8008

8080

8085

8086

80286

80386

80486

Pentium

80186

8088

80188

80386SX

6800

68000

68020

6809

68010

68012 68008

68030

68040

68060

1970

1975

1980

1985

1990

1995

Attribute MC68000 MC68008 MC68010 MC68020 MC68030 MC68040

Data bus size (bits) 16 8 16 8, 16, 32 8, 16, 32 32

Address bus size (bits) 24 20 24 3 32 32

Instruction cache

(in byte)

- - 3*

(words)

256 256 4096

Data cache (in byte) - - - - 256 4096

Clock MHz 8 - 16 16 - 33 16 - 50 25, 33, 40

Note: * The MC68010 supports a three-word cache for the loop mode.

Page 10: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 10

SENIBINA MIKROPEMPROSES

2.3 SAIZ DATA: NIBBLE, BYTE, WORD, LONG WORD

Kapasiti suatu mikropemproses biasanya dirujuk kepada Berapakah bit data yang boleh

dikendalikan pada satu-satu ketika, atau Apakah saiz ingatan (bilangan sel-sel data bagi ingatan, yang ditentukan oleh bilangan talian/bit alamat) yang boleh dicapai oleh sistem. Oleh itu, adalah penting untuk memahami tentang saiz data.

Saiz data ialah satu kaedah pengukuran untuk menentukan berapa banyak data yang boleh disimpan dalam satu sel individu dalam ingatan. Bayangkan anda sedang memerhati peti-peti surat di pejabat pos. Setiap peti boleh menyimpan sesuatu bilangan surat yang tertentu (anggapkan kesemua surat mempunyai saiz yang sepunya). Setiap peti dalam rak yang sama mempunyai saiz dan dimensi yang sama.

Jika saiz setiap peti dibesarkan maka setiap peti individu boleh menyimpan bilangan surat yang lebih banyak. Begitu juga dalam sistem storan ingatan, satu storan ingatan boleh dibahagikan kepada banyak sel-sel individu dengan saiz data yang sama. Dalam bentuk digit, saiz sel individu yang paling kecil dinamakan bit.

Jika satu sel individu boleh menyimpan data 4-bit, saiz sel tersebut dinamakan Nibble.

Seterusnya 8 bits dipanggil Byte, 16 bit ialah Word, dan 32 bit dinamakan Long Word. Satu sel individu yang mempunyai saiz 1 bit boleh menyimpan samada logik-0 atau logik-1.

Dengan kata lain, dua keadaan yang berlainan boleh disimpan atau diwakili. Oleh itu julat data ialah 0 – 1.

Saiz Data (Data size) : n = 1 Kapasiti Data (Data capacity) : 2

n = 2

1 = 2

Julat (Range) : 0 – 1 Satu sel individu yang mempunayi saiz 4 bit (Nibble) boleh menyimpan 16 keadaan berlainan.

Data size : n = 4 Data capacity : 2

n = 2

4 = 16

Range : 0 - 15

Kaedah yang sama dikenakan kepada saiz-saiz data yang lain, dan keputusannya dirumuskan dalam Jadual 2.3-1.

Rajah 2.3-1 menunjukkan saiz-saiz data yang berbeza dibandingkan dalam bentuk grafik. Perhatikan saiz data ditentukan oleh bilangan bit (n), dan dilabelkan dari 0 hingga n-1. Untuk jenis data Byte, Word, dan Long Word menetapkan bit terkiri (MSB) sebagai bit tanda (Sign Bit), untuk menentukan bahawa nilai yang diwaikili oleh bit-bit berikutnya adalah bernilai samada positif atau negatif. Jadual 2.3-1 : PARTICULAR OF DIFFERENT DATA SIZE.

Data size n

Data type Data capacity 2

n

Range 0 → 2

n-1

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

Untuk data yang mempunyai lebih banyak bit, adalah lebih mudah jika dibahagikan kepada dua bahagian iaitu Upper portion (MSB section) and lower portions (LSB section).

1 Byte consists of two nibbles, upper nibble and lower nibble. 1 Word consists of two bytes, upper byte and lower byte. 1 Long Word consists of two word, upper word and lower word.

Page 11: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 11

SENIBINA MIKROPEMPROSES

Rajah 2.3-1 Different Data sizes Jadual 2.3-2 : Bilangan bit setiap jenis saiz data

Jadual 2.3-2 : Hubungan antara jenis saiz data

0

0 3

0 7

0 15

0

Bit = 1 bit (n=0) Range: 0 -1

Nibble = 4 bit (n= 0-3) Range: 0 -15

Byte = 8 bit (n = 0-7) Range: 0 -255

Word = 16 bit (n= 0-15) Range: 0 -65,535

Long Word = 32 bit (n = 0-31) Range: 0 -4,294,967,295

MSB (Most significant Bit)

LSB(Least significant Bit)

Upper word Lower word

Upper byte Lower byte

Upper Nibble

Lower Nibble

Sign bit

Sign bit

31 Sign bit

4 3

7 8

15 16

Bn 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Bit x

nibble x x x x

Byte x x x x x x x x

Word x x x x x x x x x x x x x x x x

Long Word x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x

Bn 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Bit B2 B1 B0

nibble Nibble-7 Nibble-6 Nibble-5 Nibble-4 Nibble-3 Nibble-2 Nibble-1 Nibble-0

Byte Byte-3 Byte-2 Byte-1 Byte-0

Word Word-0 Word-0

Long Word Longword-0

Page 12: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 12

SENIBINA MIKROPEMPROSES

1 Bit = 1 bit 1 Nibble = 4 bit 1 Byte = 8 bit 1 Word = 16 bit 1 Longword = 32 bit 1 long word = 2 Word = 4 Byte = 8 Nibble = 32 Bit 1 Word = ½ Longword = 2 Byte = 4 Nibble = 16 Bit 1 Byte = ¼ Longword = ½ Word = 2 Nibble = 8 Bit 1 Nibble = 1/8 Longword = ¼ Word = ½ Byte = 4 Bit 32 Bit: 1 Nibble = 4 bit: 32 Bit = (32/4) Nibble = 8 Nibble 1 Byte = 8 bit : 32 Bit = (32/8) Byte = 4 Byte 1 Word = 16 bit : 32 Bit = (32/16) Word = 2 Word 1 Longword = 32 bit : 32 Bit = (32/32) Longword = 1 Long word 32 Bit = (32/32) LW = (32/16) Word = (32/8) Byte = (32/4) Nibble = 1 LW = 2 Word = 4 Byte = 8 Nibble 16 Bit = (16/32) LW = (16/16) Word = (16/8) Byte = (16/4) Nibble = 1/2 LW = 1 Word = 2 Byte = 4 Nibble 8 Bit = (8/32) LW = (8/16) Word = (8/8) Byte = (8/4) Nibble = 1/4 LW = 1/2 Word = 1 Byte = 2 Nibble 4 Bit = (4/32) LW = (4/16) Word = (4/8) Byte = (4/4) Nibble = 1/8 LW = 1/4 Word = 1/2 Byte = 1 Nibble 1 Bit = (1/32) LW = (1/16) Word = (1/8) Byte = (1/4) Nibble = 1/32 LW = 1/16 Word = 1/8 Byte = 1/4 Nibble Jika menilai saiz kapasiti: bilangan bit = n; kapasiti ialah = 2n.

n = 1 bit; kapasiti = 21 = 2 ; 1 bit mewakili 2 keadaan. n = 4 bit; kapasiti = 24 = 16 ; 4 bit mewakili 16 keadaan. n = 8 bit; kapasiti = 28 = 256 ; 8 bit mewakili 256 keadaan. n = 16 bit; kapasiti = 216 = 65536 ; 16 bit mewakili 65536 keadaan. n = 32 bit; kapasiti = 232 =4294967296 ; 32 bit mewakili 4294967296 keadaan. Perhatikan hubungan antara bilangan bit dengan kapasiti adalah secara eksponen. Contoh, tambahan 4 bit dari 4 ke 8, menghasilkan tambahan kapasiti 16 kali ganda (256/16). Kapasiti sesuatu sistem komputer selalunya dirujuk kepada bilangan bit yang boleh disokong. Kesimpulannya, semakin besar bilangan bit, semakin banyak maklumat dapat dikendalikan. Teknologi komputer hari ini mungkin menggunakan teknologi 64 bit, tapi esok lusa akan bertambah besar lagi.

<Unit 2.4 telah dibuang>

Page 13: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 13

SENIBINA MIKROPEMPROSES

2.5 KENDALIAN SISTEM KOMPUTER : FETCH AND EXECUTE CYCLES

Bagaimana sistem komputer bekerja?

• Sebelum satu sistem komputer disuis ON, CPU dan RAM tidak menyimpan apa-apa data. Sebaliknya, ROM tersedia menyimpan satu program ringkas secara kekal untuk permulaan (initializing) sistem komputer.

• Apabila komputer disuis ON, CPU akan membaca (READ) data/program yang disimpan dalam ROM, dua tugas akan dilaksanakan. Pertama, peranti-peranti yang sedia tersambung kepada sistem komputer akan direset ke mod siap-sedia (standby). Kedua, program sistem tersimpan dalam storan kekal akan dipindahkan ke RAM.

• Program sistem akan memaparkan arahan-arahan untuk memandu pengguna meneruskan proses.

Apabila sistem mikrokomputer melaksanakan satu tugas, secara amnya terdapat dua jenis kitar untuk dilaksanakan. Rajah 2.5-1 menunjukkan dua kitar tersebut dilaksanakan.

INPUT-2D

1: Microprocessor fetch instruction representing the signal carried by

the address bus.

2: Microprocessor execute the instruction.

3) Microprocessor continue the next instruction.

START

Fetch (next)

Instruction

Execute

Instruction

Is

it a HALT

instruction?

STOP

Yes

No

Figure 2.5-1 Fetch and execute cycles

1. Mikropemproses mengambil

arahan yang mewakili isyarat

yang dibawa oleh bas alamat.

2. Mikropemproses laksanakan

arahan.

3. Mikropemproses teruskan ke

arahan berikutnya.

CPU

MC68000

Page 14: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 14

SENIBINA MIKROPEMPROSES

a.) Add two data which are stored in memory at address 0001 and 0002.

b.) Store the result in the memory at address 0003.

Show the the above process in terms of fetch and execute cycles.

Example 2-1

Solution 2-1

START

Step 1: CPU fetches the instruction “ADD” stored in the memory (in binary codes), CPU then decodes the instruction code.

Step 2: First data is fetched from the memory (at address 0001).

Step 3: Second data is fetched from the memory (at address 0002).

Step 4: The two data are added. This operation is carried out by ALU. The result will be stored in the memory (at address 0003).

END

Fetch cycle

Execute cycle

Page 15: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 15

SENIBINA MIKROPEMPROSES

Dalam fetch cycle, terdapat 2 operasi atau sub kitar, i.e. Read and write.

Rajah 2.5-3 menunjukkan keseluruhan Read Cycle dalam bentuk grafik.

READ CYCLE (a) CPU hantar satu isyarat melalui bas kawalan. [1] (b) Jika bas itu sibuk, CPU akan diset pada ‘Wait state’. (c) Jika bas itu bersedia (free), CPU akan letak alamat arahan pada bas alamat. [2] (d) Alamat ini akan dinyahkod atau diterjemahkan oleh litar dalam ingatan atau

pengantaramuka I/O (I/O interface). (e) Akhirnya data pada alamat tertentu akan diperolehi, dan diletakkan pada bas data

dan diihantar ke CPU. [3] (f) CPU akan menghantar isyarat kawalan (Signal OK) menandakan tamat proses.

Figure 2.5-3 Read cycle

Address Bus

Control Bus

Data Bus

MEMORY

RAM ROM

MPU

1 2

SY

ST

EM

BU

S

Step 1 : Read Request

Step 2 : Send Address

REQUEST

Address Bus

Control Bus

Data Bus

RAM ROM

4 3

SY

ST

EM

BU

S

MEMORY

MPU Step 3 : Receive Data

Step 4 : Signal OK

DATA TRANSFER

Page 16: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 16

SENIBINA MIKROPEMPROSES

Rajah 2.5-4 menunjukkan keseluruhan Write Cycle dalam bentuk grafik.

WRITE CYCLE

a) Write cycle aktifkan CPU untuk hantar data ke ingatan atau peranti I/O. b) CPU akan hantar satu isyarat permintaan untuk Tulis (request to write) ke

bas kawalan. [1] c) Jika bas data bersedia (free), alamat lokasi akan diletakkan pada bas alamat

[2]; d) dan data diletakkan pada bas data; CPU kemudiannya hantar data ke

destinasi merujuk kepada alamat. [3] e) Ingatan akan menghantar isyarat kawalan menandakan data telah diterima.

Address Bus

Control Bus

Data Bus

Step 1 : Write Request

SY

ST

EM

BU

S

RAM ROM

MEMORY

MPU

1

REQUEST

Address Bus

Control Bus

Data Bus

Step 2 : Send Address

Step 3 : Send Data

Step 4 : Signal OK

SY

ST

EM

BU

S

RAM ROM

MEMORY

MPU

4

2

3

Figure 2.5-4 Write cycle

DATA TRANSFER

Page 17: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 17

SENIBINA MIKROPEMPROSES

2.6 STRUKTUR DALAMAN DAN OPERASI ASAS BAGI MIKROPEMPROSES

Kita telah mengetahui dalam sistem komputer asas, CPU mengandungi ALU dan unit kawalan.

Dalam sistem mikrokomputer, kedua-dua komponen bagi CPU ini dibina dalam satu cip yang dinamakan mikropemproses. Dengan kata lain, mikropemproses ialah satu cip CPU yang biasanya digunakan dalam sistem mikrokomputer. Terdapat juga sistem yang menggandingkan beberapa cip tambahan kepada cip mikropemproses untuk membentuk CPU tersebut. Rajah 2.6-1 menunjukkan kedudukan mikropemproses dalam satu sistem mikrokomputer. Jika dibandingkan dengan Rajah 2.1-1, sistem mikrokomputer sebenarnya ialah satu sistem komputer asas tetapi ianya yang menggunakan CPU dalam bentuk chip. Dengan kata laian, sistem komputer yang menggunakan CPU dalam bentuk cip mikropemproses dinamakan mikrokomputer. Mikrokomputer memiliki keupayaan (capabilities) yang lebih terhad berbanding sistem komputer biasa. Namun demikian, kemajuan dalam teknologi mikropemproses telah meningkatkan keupayaan mikrokomputer.

Rajah 2.6-1 Basic element Of a microcomputer

INPUT-2E

Page 18: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 18

SENIBINA MIKROPEMPROSES

2.6-1 Microcomputer system with microprocessor Intel 8085

Rajah 2.6.1-1 menunjukkan satu sistem mikrokomputer yang menggunakan cip

mikropemproses Intel 8085. Rajah ini menunjukkan nama pin-pin cip 8085 dan bagaimana pin-pin ini disambungkan kepada peranti-peranti lain yang membentuk sistem mikrokomputer tersebut.

Label pin-pin Intel 8085 dalam rajah ini disusun mengikut kumpulan fungsi tertentu (berbeza daripada susunatur pin-pin yang sebenar) untuk memudahkan penerangan. Sebagai contoh, "A15 - A0" ialah talian-talian alamat; talian-talian data dikumpulkan sebagai "D0-D7" ; talian-talian kawalan mempunyai nama secara individu. Ketiga-tiga kumpulan talian disambungkan kepada tiga sistem bas alamat, data dan kawalan masing-masing dan seterusnya disambungkan kepada blok ingatan (RAM dan ROM), peranti pengataramukaan masukan/keluaran (I/O interfaces-devices). Pada sebelah kiri MPU tersebut ialah satu litar klok yang berfungsi membekalkan pemasaan dan kawalan urutan (timing and sequence control) kepada MPU dan bahagian-bahagian lain dalam sistem tersebut.

Rajah 2.6-2 Microcomputer system with microprocessor Intel 8085

Rajah 2.61-1 menunjukkan satu sistem komputer yang sebenar dan terperinci. Walaubagaimanapun, litar ini adalah menepati rajah blok sistem komputer yang ditunjukkan dalam Rajah 2.1-1 yang lebih ringkas dan mudah difahami. Untuk mendapatkan gambaran yang lebih jelas, membandingkan Rajah 2.6.1-1 dan Rajah 2.1-1 seperti ditunjukkan di bawah.

Page 19: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 19

SENIBINA MIKROPEMPROSES

Rajah 2.6-2 Microcomputer system with microprocessor Intel 8085

MEMORY ♦ RAM

♦ ROM

I/O Interface

Input Unit

Data Bus

Address Bus

Control Bus

Rujuk kepada Rajah 2.1-1 Rajah Block sistem komputer asas

CPU

ALU

Unit

Kawalan

Output Unit

Input Device Output Device

Keyboard Mouse

Monitor Printer

Page 20: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 20

SENIBINA MIKROPEMPROSES

2.6.2 Microcomputer system with microprocessor Motorola MC68000

Satu lagi keluarga mikropemproses yang terkenal ialah Motorola MC68000. Rajah

2.6.2-1 menunjukkan rajah sistem mikrokomputer yang berasaskan mikropemproses MC68000. Seperti juga dalam sistem Intel 8085, cip mikropemproses ini mengandungi tiga kumpulan pin-pin iaitu alamat, data dan kawalan, yang disambung kepada peranti-peranti lain untuk membentuk satu sistem mikrokomputer. Di sini, kita tidak menganalisa secara terperinci tentang penyambungan setiap pin MPU, tetapi sekadar mengetahui peranti-peranti luaran yang boleh disambungkan kepada MPU serta melalui yang mana satu kumpulan pin-pin atau pin individu.

Figure 2.6-2-1 Microcomputer system with microprocessor Motorola MC68000. (Source: Figure 7-2 in the Book Yu Cheng Liu, page 200)

Seperti sistem Intel 8085 di atas, sistem MC68000 juga menepati rajah blok asas sistem

komputer dalam Rajah 2.1-1. Cuba anda kaitkan kedua-dua rajah terhadap elemen-elemen CPU, Ingatan (RAM/ROM), sistem bas, I/O interface/devices. Walaubagaimanapun, rajah di atas lebih tertumpu kepada bahagian ingatan tetapi bahagian I/O tidaj ditunjukkan dengan terperinci.

I/O

Interface

ROM

RAM

Data Bus

Address

Bus

CPU

MC68000

Page 21: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 21

SENIBINA MIKROPEMPROSES

2.6.3 Pins configuration of a microprocessor chip

Seperti juga cip IC yang lain, cip mikropemproses mengandungi senibina dalaman dan disambungkan kepada persekitaran luaran melalui pin-pin yang disusun dalam satu pattern spesifik mengelilingi badan cip tersebut. Setiap pin mempunyai fungsi dan label tersendiri. Susunatur pin (pin configuration) ialah suatu rajah menunjukkan bagaimana pin-pin disusunaturkan secara fizikal. Biasanya terdapat dua bentuk rajah susunatur pin. Rajah susunatur pin yang disediakan oleh pengeluar selalunya mengikut urutan pin sebenar pada cip, manakala rajah susunatur pin untuk tujuan penerangan atau penganalisaan kendalian selalunya disusun mengikut fungsi supaya dapat memberi gambaran yang lebih jelas. Rajah 2.6.3-1 dan Rajah 2.6.3-2 menunjukkan susunatur pin-pin untuk cip µP Intel 8085 dan Motorola MC68000 microprocessor masing-masing. Terdapat banyak jenis µP, namun demikian kita akan memilih salah satu jenis iaitu Motorola MC68000 untuk diterangkan dengan terperinci seterusnya. Sebelum itu, adalah baiknya kita meneliti struktur kasar (overview) susunatur bagi perkakasan (hardware) dan perisian (software) bagi suatu sistem mikrokomputer dan pernyataan format data yang digunakan dalam pemprosesan data di dalam MC68000 microprocessor.

Page 22: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 22

SENIBINA MIKROPEMPROSES

Figure 2.6.3-1 Intel 8085 microprocessor chip (a) Pins configuration (b) Internal structure

(a) Pins configuration

(b) Internal structure

Page 23: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 23

SENIBINA MIKROPEMPROSES

Figure 2.6.3-2 Pins configuration for Motorola MC68000 microprocessor chip.

Functional group of MC68000 pins

Page 24: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 24

SENIBINA MIKROPEMPROSES

2.6.4 Internal structure of microprocessor MC68000

Sebelum kita menganalisa bagaimana suatu mikropemproses (µP) bekerja, ada baiknya kita mengetahui senibina µP dalam bentuk blok fungsi (function block), walaupun kita mungkin tidak perlu mengetahui binaan dalaman litar yang kompleks dalam cip tersebut. Secara amnya, µP mengandungi 3 bahagian yang utama: control and timing section, the register section, and the ALU, seperti ditunjukkan dalam Rajah 2.6.4-1.

Rajah 2.6.4-1 Major function of a microprocessor chip

Arithmetic Logic Unit (ALU) section:

♦ Melaksanakan pelbagai operasi arithmetic and logic ke atas data, seperti campur (addition), tolak (subtraction), AND, OR, EX-OR, shifting, incrementing, and decrementing.

♦ MPU yang lebih maju mempunyai ALU yang boleh melaksanakan operasi darab (multiplication) and bahagi (divisions).

Registers section:

♦ Internal registers ini bertindak sebagai temporary data storage, sebelum, semasa dan selepas proses yang dilaksanakan oleh ALU. Pemindahan data antara register ini adalah jauh lebih laju jika dibandingkan dengan ingatan.

♦ Bahagian ini mengandungi pelbagai register (dalam MPU), setiap satu melaksanakan suatu fungsi tertentu.

♦ Registers ini ialah: general purpose registers array, accumulator, instruction register, program counter, and flag register.

Control and timing section:

♦ Fungsi utama ialah mencapai (fetch) kod-kod arahan dari ingatan program. ♦ Kemudian nyahkod/ terjemah kod-kod arahan untuk menjanakan isyarat kawalan tertentu

dari MPU. ♦ Kemudian melaksanakan arahan-arahan. ♦ Bahagian ini juga menjana isyarat “timing and control” (eg. R/W clock), yang diperlukan oleh

external RAM, ROM, and I/O devices.

Microprocessor (µP) ialah jantung kepada setiap mikrokomputer. Ianya melaksanakan pelbagai fungsi seperti:

a) Providing timing and control signals for all elements of the microcomputer. b) Fetching instruction and data from memory. c) Transfering data to and from memory and I/O devices. d) Decoding instructions. e) Performing arithmetic and logic operations called for by instructions. f) Responding to I/O-generated control signals such as RESET and INTERRUPT.

ALU

Register Section

Control and timing section

Address bus

Data bus

Control bus

Microprocessor

CPU

ALU

Unit

Kawalan

Rajah 2.6.4-1 sebenarnya ialah

salah satu komponen dalam Rajah

2.1-1, iaitu elemen CPU (Register

Section dan sistem bas dalaman

tidak ditunjukkan)

Page 25: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 25

SENIBINA MIKROPEMPROSES

2.6.5 Register Set of MC68000 Bahagian kerja sesuatu µP ialah internal registers, yang merupakan tempat di mana data mentah dan alamat disimpan (stored), digerak (moved around) dan dipindah (transferred) untuk diproses dalam ALU. MC68000 merupakan “internal 32-bit processor”, iaitu setiap register mempunyai 32 bit dan processor boleh melaksanakan operasi “arithmetic and logic” ke atas 32-bit operands. Rajah 2.6.5-1 ialah satu rajah blok menunjukkan kesemua registers dalam MC68000 yang boleh dicapai terus oleh pengguna.

Register set dibahagikan kepada dua kumpulan, data registers dan address registers. Data registers:

♦ Terdapat 8 registers, dinamakan D0-D7. ♦ Setiap satu boleh digunakan sebagai source operand atau destination operand dalam

arahan-arahan yang lazim (typical instruction). ♦ Data register boleh dicapai sebagai Byte (.B), Word (.W), atau Longword (.L).

♦ Untuk operasi byte, hanya “least significant byte”, i.e. bits 7-0, digunakan sebagai operand. Baki 24 bits tidak dipengaruhi/diubah oleh hasil operasi.

♦ Begitu juga dalam operasi Word, hanya separuh kanan “least significant half” register boleh digunakan.

__ D0

__ D1

__ D2

__ D3

__ D4

__ D5

__ D6

__ D7

__

__

__

__

__

__

__

__

31 16 15 8 7 0

Eight

Data

Registers

__ A0

__ A1

__ A2

__ A3

__ A4

__ A5

__ A6

__

__

__

__

__

__

__

31 16 15 8 7 0

Seven

Address

Registers

User Stack Pointer

Supervisor Stack Pointer A7

Two

Stack

Pointers

PC Program

Counter

System Byte User Byte SR Status

Register

15 8 7 0

PROGRAMMING MODEL

Figure 2.6.5-1 Registers in the MC68000

Page 26: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 26

SENIBINA MIKROPEMPROSES

Address registers:

♦ Address registers, tugas utama ialah menjana alamat operand ingatan “memory operand addresses”. Oleh itu, capaian (accesses) address registers adalah lebih terhad berbanding data registers.

♦ 9 address registers, dilabel sebagai A0-A7, di mana A7 mengandungi 2 registers yang juga bertindak sebagai Stack Pointer (either SSP or the USP).

♦ Address register tidak boleh dirujuk sebagai satu byte operand. ♦ Apabila suatu operand dinyatakan sebagai source, maka address register tersebut boleh

dicapai sebagai word operand (its lower 16 bits) atau longword operand.

♦ Tetapi jika digunakan sebagai destination dalam operasi word, “operand word” ialah “sign-extended” menjadi suatu longword sebelum disimpan dalam “destination address register”.

♦ Ini bermakna keseluruhan register akan dipengaruhi tanpa mengira samada saiz operasi tersebut dalam Word atau Longword.

♦ Walaupun ‘program counter’ dan ‘address registers’ mempunyai 32 bits long, hanya 24 bit rendah (lower 24 bits) digunakan untuk mengalamatkan ingatan. Ini menghadkan ruang pengaturcaraan kepada 16 megabytes.

Stack Pointer (SP):

♦ Address register A7 juga berfungsi sebagai SP samaada ‘supervisor stack pointer’ (SSP) atau ‘user stack pointer’ (USP), bergantung kepada ‘supervisor bit’ dalam ‘status register’.

♦ Dalam ‘subroutine call’ atau arahan-arahan yang lain, ‘active system SP’ digunakan secara automatik untuk ‘saving and restoring’ ‘return address’ dan lain-lain maklumat.

♦ ‘Active system SP’ ialah SSP dalam ‘supervisor mode’ dan USP dalam ‘user mode’. Program counter (PC):

♦ PC selalu menunjuk (points to) arahan yang akan dilaksanakan seterusnya. ♦ Tidak seperti ‘general purpose register’ PC tidak boleh dirujuk terus sebagai satu operand

dalam sebarang arahan kecuali sebagai ‘index register’. ♦ Dalam arahan jenis ‘branch’, ‘destination’ akan dimuatkan ke PC. ♦ Untuk lain-lain arahan, kandungan PC akan ditambah (incremented) dengan panjang arahan

(instruction length) semasa arahan dilaksanakan. Status Register (SR):

♦ ‘Status register’ (SR) mempunyai 16 bits dan dibahagikan kepada ‘system byte’ dan ‘user byte’.

♦ ‘User byte’ mengandungi 5 bendera kedudukan (condition flags). Baki 3 bit tidak digunakan dan dikekalkan sifar.

♦ ‘Condition flags’ mengandungi maklumat terhadap hasil kendalian processor yang terkini/terakhir. ‘Setting’ boleh diuji dengan ‘conditional branch instructions’.

♦ Oleh kerana setiap bit bagi ‘condition flags register’ mempunyai maksud tersendiri, oleh itu satu penganalisaan terperinci adalah perlu dan dibincangkan dalam unit/bab seterusnya.

Page 27: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 27

SENIBINA MIKROPEMPROSES

2.7 Microprocessor clock system

Selain daripada bekalan kuasa yang disambung kepada mikropemproses (µP) sebagai syarat asas membolehkan cip ini berkendali, µP memerlukan satu litar luaran (walaupun sesetengah cip secara dalamannya mempunyai litar ini) iaitu litar pemasa/klok (clock system) untuk membekal pemasaan dan kawalan urutan (timing and sequence control) yang tepat untuk memantau dan menyegerakkan keseluruhan operasi µP tersebut. 2.7.1 Intel 8085 clock system and bus cycle timing

Rajah 2.7-1 menunjukkan sistem mikrokomputer yang menggunakan microprocessor Intel 8085. Cip ini mempunyai satu litar pemasaan dalam cip µP yang akan menjanakan isyarat klok yang asas untuk menyegerakkan pemasaan kesemua operasi.

Dalam operasi yang normal, satu crystal disambungkan ke terminal pin masukan X1 dan X2 bagi cip µP untuk menghasilkan satu isyarat yang mempunyai frekuensi klok sebanyak 2 kali nilai frekuensi yang dikehendaki, seperti yang ditunjukkan dalam Rajah 2.7-1. Frekuensi ini secara dalamannya dibahagikan kepada 2 untuk menjana isyarat klok µP, yang mana diperluakan secara dalaman dan juga disediakan untuk kegunaan luaran daripada cip µP seperti bas kawalan. Frekuensi crystal yang biasa digunakan ialah 6MHz, yang akan menghasilkan satu isyarat klok dengan frekuensi 3MHz.

♦ Kesemua mikropemproses dan mikrokomputer 8085 disegerakkan kepada isyarat klok 3-MHz.

♦ Kitar individu bagi isyarat klok dinamakan T-state. ♦ Setiap operasi ‘read’ atau ‘write’ yang dilaksanakan oleh CPU dirujuk sebagai kitar

mesin (machine cycle).

X1

CLOCK

X2

20pF

20pF

1 - 6 MHzClock

Crystal

Extract of

Intel 8085 µµµµP

3 MHz

6 MHz

6 MHz 2

Clock signals are

1. Used internally and 2. as output for control bus

Figure 2.7-1 Clock system of microprocessor chip Intel 8085

INPUT-2F

Page 28: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 28

SENIBINA MIKROPEMPROSES

♦ Setiap arahan 8085 dicapai (fetched) dan dilaksana (executed) oleh CPU mengambil mana-mana 1 hingga 5 machine cycles, dan setiap ‘machine cycle’ memerlukan mana-mana 3 hingga 6 ‘T-states” (clock cycles).

♦ Dengan mengambil satu sampel arahan dalam program, contohnya, "STA $0300" yang dismpan di alamat $0007.

STA $0300 ; op code = 32 00 03

♦ 2.7-2 menunjukkan pemasaan untuk arahan tersebut.

♦ Kitar arahan yang lengkap mengambil masa 4 machine cycles (M1 - M4), dan jumlah 13 T-states.

♦ Setiap ‘machine cycles’ mengandungi samada 3 atau 4 ‘T-states’. ♦ Rajah ini juga apakah alamat diletakkan pada bas-bas data dan alamat semasa

setiap ‘machine cycle’.

Address bus

Type of machine cycle

T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 T1 T2 T3

M2 M3 M4 M1

Instruction Cycle

Memory Read Memory Read Memory Read Memory write

Hex address 0007 from PC; address of op code for STA.

0008 from PC; address of low byte of the operand address.

0009 from PC; address of high byte of the operand address.

0300, the operand address.

Hex data 32, the op code for STA.

Hex 00, the low byte of the operand address.

03, the high byte of the operand address.

Data byte from accumulator register of the CPU.

Data bus

CLOCK

T state

Machine Cycle

Figure 2.7-2 The timing sequence for 8085's STA $0300 instruction. (Figure 13-9)

000A

32 0007

00 0008

03 0009

0006

Data Addr

Memory

Page 29: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 29

SENIBINA MIKROPEMPROSES

2.7.2 Motorola MC68000 clock system and bus cycle timing

2.7.2.1 MC68000 Clock system Rajah 2.7.2-1 menunjukkan sistem klok untuk mikropemproses Motorola MC68000. Litar ini sebenarnya adalah merujuk litar sistem mikrokomputer lengkap MC68000 yang ditunjukkan dalam Rajah 2.6.2-1, tetapi fokus kepada bahagian klok sahaja. Perhatikan, blok “4MHz crystal clock oscillator” berperanan membekalkan satu isyarat klok 4MHz kepada cip mikropemproses MC68000 melalui pin “CLK”.

Figure 2.7.2-1 Clock system of microprocessor chip Motorola MC68000

Page 30: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 30

SENIBINA MIKROPEMPROSES

2.7.2.2 Bus cycle timing

♦ MC68000 memerlukan lebih banyak kitar bas (bus cycle), dan setiap ‘bus cycle’ digabungkan oleh beberapa ‘clock cycle’. Processor perlu mencapai arahan dari ingatan, dan tambahan ‘bus cycle’ mungkin diperlukan, bergantung kepada bilangan operasi pemindahan data yang diperlukan ke atau dari ingatan. Oleh kerana MC68000 ialah processor 16 bit luaran dan 32 bit dalaman, proses ‘reading’ atau ‘writing’ satu ‘longword’ dari atau ke ingatan memerlukan 2 ‘bus cycles’. Panjang ‘bus cycle’ untuk MC68000 mempunyai nilai minima 4 ‘clock cycles’, ditandakan sebagai S0/S1, S2/S3, S4/S5, and S6/S7.

♦ Rajah masa (timing diagram) untuk satu ‘word read’ dan satu ‘word write’ (tanpa satu ‘wait cycle state’) ditunjukkan dalam Rajah 2.7.2-1.

Read cycle:

♦ Semasa ‘clock cycle’ pertama (S0/S1), processor meletakkan satu alamat pada pin-pin alamat A1-A23, menyatakan lokasi untuk dicapai.

♦ Ianya juga set pin R/W yang asalnya logik-1 untuk menunjukkan suatu operasi ‘read’ dan menghantar satu “kod fungsi 3 bit” pada pin-pin FC0-FC2.

♦ Pada permulaan ‘clock cycle’ kedua (S2/S3), processor ‘asserts’ pin AS untuk menandakan suatu alamat sah dan mengekalkan keadaan RENDAH (logik-0) untuk keseluruhan ‘bus cycle’.

♦ Pada ketika S2/S3 untuk ‘read cycle’, processor kekalkan isyarat R/W TINGGI; keluaran UDS and LDS diset RENDAH, dan meletakkan pin-pin data D0-D15 pada mod galangan tinggi.

Write cycle:

♦ Ketika ‘write cycle’, processor menukar keluran R/W ke RENDAH dan meletakkan data pada D0-D7, dan/atau D8-D15 bergantung kepada UDS and LDS.

♦ Isyarat UDS dan LDS bukan keluaran sebelum tempoh S3 tamat. ♦ JIka isyarat ‘acknowledge’ (DTACK) diterima dari peranti yang dialamatkan sebelum

S5, processor teruskan operasi ke ‘clock cycle’ keempat (S6/S7). ♦ Dalam tempoh klok ini, data adalah dicapai (latched) oleh processor untuk operasi

‘read’ atau data dicapai oleh peranti yang dialamatkan untuk operasi ‘write’ ♦ Kemudian processor kembalikan keadaan (deactivates) isyarat AS, UDS, and LDS,

kembali semula ke keadaan ‘clock cycle’ pertama (S0/S1), data dikeluarkan dari pin-pin data, seterusnya menamatkan ‘bus cycle’; dan bersedia untuk ‘read/write cycle’ berikutnya.

♦ Cartalir bagi perhubungan antara processor dan peranti yang dialamatkan dalam operasi ‘read’ dan ‘write’ ditunjukkan dalam Rajah 2.7.2-2

Microprocessor (µP) mengandungi litar logik iaitu perkakasan (Hardware) untuk melaksanakan pelbagai operasi dan fungsi, tetapi litar logik dalamannya biasanya tidak dicapai secara terus dari luaran oleh pengguna atau programmers. Sebaliknya, kita boleh mengawal apa yang berlaku µP oleh aturcara (arahan-arahan) yang disimpan

dalam ingatan untuk dilaksanakan oleh µP.

Ini menyebabkan µP sangat ‘versatile’ dan ‘flexible’. Apabila kita hendak mengubah operasinya, kita hanya perlu mengubah program yang dismpan dalam RAM (software) atau ROM (firmware) daripada membuat pendawaian semula (hardware).

You will learn further about program of instructions, the so-called

“µµµµP program-ming” in subsequent unit.

Page 31: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 31

SENIBINA MIKROPEMPROSES

Figure 2.7.2-1 Basic bus cycle timing (Courtesy of Motorola inc. (Source: Figure 7-4, Pg 202 Yu-Cheng Liu)

Read cycle:

Semasa ‘clock cycle’ pertama (S0/S1), processor meletakkan satu alamat pada pin-pin alamat A1-A23, menyatakan lokasi untuk dicapai. ♦ Ianya juga set pin R/W yang asalnya

logik-1 untuk menunjukkan suatu operasi ‘read’ dan menghantar satu “kod fungsi 3 bit” pada pin-pin FC0-FC2.

♦ Pada permulaan ‘clock cycle’ kedua (S2/S3), processor ‘asserts’ pin AS untuk menandakan suatu alamat sah dan mengekalkan keadaan RENDAH (logik-0) untuk keseluruhan ‘bus cycle’.

♦ Pada ketika S2/S3 untuk ‘read cycle’, processor kekalkan isyarat R/W TINGGI; keluaran UDS and LDS diset RENDAH, dan meletakkan pin-pin data D0-D15 pada mod galangan tinggi.

Page 32: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 32

SENIBINA MIKROPEMPROSES

Figure 2.7.2-2 Control flow of basic bus cycles. (Source: Fig 7-5, pg 202, Yu Cheng)

Page 33: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 33

SENIBINA MIKROPEMPROSES

Page 34: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 34

SENIBINA MIKROPEMPROSES

Page 35: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 35

SENIBINA MIKROPEMPROSES

Page 36: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 36

SENIBINA MIKROPEMPROSES

Page 37: E3165 Sistem Elektronik Berdigit UNIT2

E3165 / UNIT 2 / 37

SENIBINA MIKROPEMPROSES

Jadual 2.7.2-1 menunjukkan beberapa contoh ‘read bus cycle’ dan ‘write bus cycles’ yang diperlukan untuk ‘fetching’ dan ‘executing’ pelbagai arahan.

JADUAL 2.7.2-1 Read and write bus cycle of some instructions.

Instruction No. of Read cycle

No. of Write cycle

MOVE.L D2,D3 1 0 MOVE.W 34(A1),D2 3 0 MOVE.B D3,60(A2) 2 1 ADD.L 56(A3),D4 4 0 ADD.L D4,56(A3) 4 2 ADDI.W #$1234,56(A3) 4 1 JMP XXXX.W 2 0 JSR XXXX.W 2 2 TRAP #5 4 3