Anda di halaman 1dari 37

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 1

UNIT 2
OBJEKTIF:

Objektif Am : Mengetahui dan memahami senibina mikropemproses.

Objektif Khusus: Pada akhir modul ini, anda seharusnya boleh: 2.1 2.2 2.3 2.4 2.5 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 menerangkan komponen-komponen asas sistem komputer dalam gambarajah blok menerangkan evolusi mikropemproses menjelaskan maksud istilah saiz-saiz data menerangkan kitar pengambilan dan perlaksanaan 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) menerangkan sistem bas menerangkan sistem klok mikropemproses

2.6 2.7

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 2

INPUT-2A

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 3

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.

Unit Ingatan

Unit Input

Unit Aritmetik Dan Logik (ALU)

Unit Output

Unit Kawalan

(CPU)
Rajah 2.1-1a Rajah Block asas sistem komputer asas Data Bus Address Bus Control Bus Unidirectional: Signals flow in one direction. Bidirectional: Signals flow in both direction (one at a time).

CPU ALU Unit Kawalan MEMORY Primary: RAM ROM Secondary: Floppy CDROM Etc. I/O Interface Input Output Unit Unit Input Device
Keyboard Mouse

Output Device
Monitor Printer

Rajah 2.1-1b Rajah Block sistem komputer asas

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 4

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 5

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.

DATA BUS CPU

CPU to other elements From other elements to CPU

Memory

I/O Devices

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. Data bus Data bus

Control signal is Logic-1 = R: READ

CPU R/W

Input (from Memory or I/O devices)

Control signal is Logic-0 = W: WRITE

CPU R/W

Output (to Memory or I/O devices)

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 6

Saiz data dan talian data akan dibincangkan lebih terperinci dalam Bab 5.

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. CPU to other elements

ADDRESS BUS CPU

Memory

I/O Devices

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 2n = 216 = 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.

Saiz alamat dan talian alamat akan dibincangkan lebih terperinci dalam Bab 5.

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 7

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.

From outside world

Rajah 2.1-2 Gambarajah Block lengkap sistem komputer

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 8

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 n seterusnya, yang mematuhi satu persamaan yang mudah 2 (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: Pengeluar/ Tahun 1971 1979 1982 1985 1989 1993 1997 : Evolusi mikropemproses antara Intel dan Motorola INTEL 4004, 4 bit, 108 kHz, contains 2300 transistors 8088, 8 bit, 2 MHz, contains 29000 transistors 80286, 16 bit, 8-12 MHz, contains 80286 transistors 80386, 32 bit, 16-20 MHz, contains 275000 transistors 80486, 32 bit, 25-66 MHz, contains 1.2 million transistors Pentium, 64 bit, 60-166 MHz, contains 3.1 million transistors Pentium II, 300 MHz

MOTOROLA 6800, 8 bit 68000, 16 bit

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 9

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. 1970 4004 8008 8080 8085 8086 6809 1980 8088 80188 80286 80186 1985 80386 68030 80386SX 80486 1990 Pentium 68060 1995 Rajah 2.2-1 Evolution of Microprocessor between Intel and Motorola (Source: Muhammad Munim, Asas Organisasi Sistem Komputer, UTM, 1996) 68040 68008 68020 68000
68010 68012

1975

6800

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
Attribute

M68000 family summary


MC68000 MC68008 MC68010 MC68020 MC68030 MC68040

16 8 16 8, 16, 32 Data bus size (bits) 24 20 24 3 Address bus size (bits) 3* 256 Instruction cache (words) (in byte) Data cache (in byte) 8 - 16 16 - 33 Clock MHz Note: * The MC68010 supports a three-word cache for the loop mode.

8, 16, 32 32 256 256 16 - 50

32 32 4096 4096 25, 33, 40

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 10

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 petipeti 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) : 2n = 21 = 2 Julat (Range) : 01 Satu sel individu yang mempunayi saiz 4 bit (Nibble) boleh menyimpan 16 keadaan berlainan. Data size : n=4 Data capacity : 2n = 24 = 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 Data type Data capacity n n 2 1 Bit 2 4 Nibble 16 8 Byte 256 16 Word 65536 32 Long Word 4,294,967,296

Range n 0 2 -1 01 0 - 15 0 255 0 65535 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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 11

Bit = 1 bit (n=0) Range: 0 -1 0 Nibble = 4 bit (n= 0-3) Range: 0 -15 3 Byte = 8 bit (n = 0-7) Range: 0 -255 Sign bit 7 4 3 0 Upper Lower Nibble Nibble 0

Word = 16 bit (n= 0-15) Range: 0 -65,535 Sign bit 15 Upper byte 8 7 Lower byte 0

Sign bit

31

Upper word

16 15

Lower word

MSB (Most significant Bit)

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

LSB (Least significant Bit)

Rajah 2.3-1 Different Data sizes


Jadual 2.3-2 : Bilangan bit setiap jenis saiz data 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 Bit nibble Byte Word 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 Jadual 2.3-2 : Hubungan antara jenis saiz data 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 nibble Byte Word Long Word
B2 B1 B0 7 6 5 4 3 2 1 0

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

Nibble-7 Nibble-6 Nibble-5 Nibble-4 Nibble-3 Nibble-2 Nibble-1 Nibble-0 Byte-3 Byte-2 Byte-1 Byte-0 Word-0 Word-0 Longword-0

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

E3165 / UNIT 2 / 12

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. 4 n = 4 bit; kapasiti = 2 = 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>

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 13

INPUT-2D

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.

START

Fetch (next) Instruction


3) Microprocessor continue the next instruction.

1: Microprocessor fetch instruction representing the signal carried by the address bus.

Execute Instruction

2: Microprocessor execute the instruction.

No CPU MC68000

Is it a HALT instruction?
Yes

1. Mikropemproses mengambil arahan yang mewakili isyarat yang dibawa oleh bas alamat. 2. Mikropemproses laksanakan arahan. 3. Mikropemproses teruskan ke arahan berikutnya.

STOP
Figure 2.5-1 Fetch and execute cycles

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 14

Example 2-1 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.

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).

Fetch cycle

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).

Execute cycle

END

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 15

Dalam fetch cycle, terdapat 2 operasi atau sub kitar, i.e. Read and write.
READ CYCLE (a) (b) (c) (d) CPU hantar satu isyarat melalui bas kawalan. [1] Jika bas itu sibuk, CPU akan diset pada Wait state. Jika bas itu bersedia (free), CPU akan letak alamat arahan pada bas alamat. [2] 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.

Rajah 2.5-3 menunjukkan keseluruhan Read Cycle dalam bentuk grafik. Address Bus Data Bus Control Bus
2 1 REQUEST Step 1 : Read Request Step 2 : Send Address

SYSTEM BUS

MEMORY
RAM ROM

MPU

Address Bus Data Bus Control Bus


3 4 DATA TRANSFER

SYSTEM BUS

MEMORY

MPU
RAM ROM

Step 3 : Receive Data Step 4 : Signal OK

Figure 2.5-3 Read cycle

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 16

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.

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

Address Bus Data Bus Control Bus


1

SYSTEM BUS

MEMORY

MPU
RAM ROM

REQUEST Step 1 : Write Request

Address Bus
3

SYSTEM BUS

Data Bus Control Bus

MEMORY

DATA TRANSFER

MPU
RAM ROM

Step 2 : Send Address Step 3 : Send Data Step 4 : Signal OK

Figure 2.5-4 Write cycle

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 17

INPUT-2E

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

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 18

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 pinpin 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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 19

Rajah 2.6-2 Microcomputer system with microprocessor Intel 8085

CPU Data Bus ALU Unit Kawalan Address Bus Control Bus

MEMORY RAM ROM

I/O Interface Input Unit Output Unit

Input Device
Keyboard Mouse

Output Device
Monitor Printer

Rujuk kepada Rajah 2.1-1 Rajah Block sistem komputer asas

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 20

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 pinpin 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. I/O Interface

ROM

Data Bus

Address Bus

RAM

CPU MC68000

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 21

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 22

(a) Pins configuration

(b) Internal structure

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

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 23

Functional group of MC68000 pins

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

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 24

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. CPU Address bus

ALU

Register Section

ALU Data bus Unit Kawalan

Control and timing section


Microprocessor

Control bus

Rajah 2.6.4-1 Major function of a microprocessor chip

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)

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.

SENIBINA MIKROPEMPROSES
2.6.5 Register Set of MC68000

E3165 / UNIT 2 / 25

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. PROGRAMMING MODEL
31 16 15 8 7 0

__ __ __ __ __ __ __ __
31 16 15 8 7

__ __ __ __ __ __ __ __
0

D0 D1 D2 D3 Eight D4 Data D5 Registers D6 D7

__ __ __ __ __ __ __ User Stack Pointer Supervisor Stack Pointer

__ __ __ __ __ __ __

A0 A1 A2 Seven A3 Address A4 Registers A5 A6 Two A7 Stack Pointers Program PC Counter

15 8 7 0 System Byte User Byte

Status SR Register

Figure 2.6.5-1

Registers in the MC68000

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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 26

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 signextended 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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 27

INPUT-2F

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. Extract of Intel 8085 P 1 - 6 MHz Clock Crystal X1 20pF X2 20pF 6 MHz 2 3 MHz CLOCK Clock signals are 1. Used internally and 2. as output for control bus

6 MHz

Figure 2.7-1 Clock system of microprocessor chip Intel 8085 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).

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 28

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). Memory Dengan mengambil satu sampel arahan dalam program, Addr Data contohnya, "STA $0300" yang dismpan di alamat $0007. 0006 STA $0300 ; op code = 32 00 03 2.7-2 menunjukkan pemasaan untuk arahan tersebut. 0007 32 0008 00 0009 03 000A

Machine Cycle T state CLOCK Type of machine cycle T1 T2

Instruction Cycle
M1 T3 T4 T1 M2 T2 T3 T1 M3 T2 T3 T1 M4 T2 T3

Memory Read

Memory Read 0008 from PC; address of low byte of the operand address. Hex 00, the low byte of the operand address.

Memory Read 0009 from PC; address of high byte of the operand address. 03, the high byte of the operand address.

Memory write 0300, the operand address.

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

Data bus

Hex data 32, the op code for STA.

Data byte from accumulator register of the CPU.

Figure 2.7-2 The timing sequence for 8085's STA $0300 instruction. (Figure 13-9)
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.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 29

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

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 30

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 pinpin 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 pinpin 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 programming in subsequent unit.

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 31

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 FC0FC2. 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.

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

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 32

Figure 2.7.2-2 Control flow of basic bus cycles.


(Source: Fig 7-5, pg 202, Yu Cheng)

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 33

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 34

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 35

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 36

SENIBINA MIKROPEMPROSES

E3165 / UNIT 2 / 37

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 No. of Read cycle 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

Anda mungkin juga menyukai