Modul E4160 Unit 1 Micropemprosesan

  • Uploaded by: RAJA ARIF SHAH BIN RAJA OSMAN
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Modul E4160 Unit 1 Micropemprosesan as PDF for free.

More details

  • Words: 2,763
  • Pages: 9
• •

• •

BAB 1.0 : PENGENALAN KEPADA MIKROPEMPROSES 1.1

Komponen-komponen asas sistem komputer

Rajah 1.1 : Gambarajah blok sistem komputer (digit)



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

Unit Pemprosesan Pusat (CPU)

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

-

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

ii. -

Unit kawalan mengawal operasi CPU berdasarkan isyarat kawalan

iii. -

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

-

1.1.2 i.

-

Unit Pemp

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

ii. Unit Ingatan Sekunder - storan diluar komputer seperti disket, pen drive, hard disk dsbnya berfungsi seperti ingatan utama iaitu menyimpan data, program dan hasil operasi terhadap data - kebaikan ingatan sekunder berbanding ingatan utama : • storannya tidak meruap dalam jangka masa panjang • kos murah • kandungan mudah dikemaskini

1

1.1.3 i.

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

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

Evolusi mikropemproses (4 bit, 8 bit, 16 bit, 32 bit, 64 bit) Tahun 1971 1972 1974 1975

Syarikat Intel Intel Intel Motorola MOS

1976 1978 1979 1980

Zilog Intel Intel Motorola Intel

1982

1.3

1983 1984 1985 1987

Intel Motorola Motorola Motorola Intel Motorola

1989

Intel

1993

Motorola Intel

1994

Motorola/ IBM/Apple Motorola

Jadual 1.1 : Evolusi Mikropemproses Inovasi 4004 - µ P 4 bit pertama : ingatan 1 K 8008 - µ P 8 bit pertama : ingatan 16 K 8080 - µ P 8 bit serbaguna pertama : ingatan 64 K 6800 - µ P 8 bit pertama daripada Motorola 6502 - µ P 8 bit yang diguna dalam Apple //µ komputer pertama. Z80 - µ P 8 bit serasi 8080 8085 - 8080 yang dipekej semula 8086 - µ P 16 bit ; ingatan 1M 68000 - µ P 16/32 bit ; diguna dalam Apple Macintosh 8088 - 8086 dengan bas data bit; diguna dalam IBM PC 80286 - 8086 dengan ingatan maya ;ingatan 16M 68008 - 68000 dengan bas 8 bit ; ingatan 16M 68010 - 68000 dengan ingatan maya 68020 - µ P 32 bit ; ingatan 4G 80386 - µ P 32 bit 68030 – 68020 dengan unit pengurusan ingatan (MMU) 80486 – 80386 yang lebih laju; unit titik-apung (FPU) bina dalam 68040 – 68030 yang lebih laju (FPU) bina dalam Pentium – 80486 yang lebih laju ; superskalar; FPU + 2 ALU Power PC - µ P RISC paling popular pada hari ini 68060 – 68040 yang lebih laju; superskalar; FPU +2 ALU

Maksud istilah Nibble, Byte, Word, Long Word



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

Data Type

Data Capacity 2n

Range

1

Bit

2

0-1

4

Nibble

16

0 -15

8

Byte

256

0 - 255

16

Word

65536

0 - 65535

32

Long Word

4,294,967,296

0 – 4,294,967,295

2

1.4

Binaan dalaman dan pengoperasian asas mikropemproses

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

4 komponen utama mikropemproses : ALU, Unit Kawalan, Daftar-daftar dan penyahkod suruhan Unit Arithmetik dan Logik (Arithmetic Logic Unit)

-

o o

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

-

-

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

3

1.4.3

Daftar (Registers)

-

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

-

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

-

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

-

-

i.

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

ii. Daftar Arahan (Instruction Register) o digunakan bagi menyimpan arahan/suruhan yang diambil dari memori sebelum dinyahkod oleh penyahkod suruhan ke bentuk operasi

iii. Pembilang Aturcara(Program Counter, PC) o o o

o

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

Alamat PC = 6000 PC = 6001

6800 Suruhan # 1 Suruhan # 2

Alamat PC = 6000 PC = 6002

68000 Suruhan # 1 Suruhan # 2

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

Penyahkod Suruhan (Instruction Decoder) Penyahkod suruhan biasanya adalah Ingatan Baca Sahaja (ROM) dimana ia berfungsi bagi menterjemahkan kod binari ke bentuk operasi atau turutan operasi. Sebagai contoh kod 10111001 bermakna add

4

-

fungsi : menterjemah suruhan dan dihantar ke unit kawalan bagi menjalankan proses seterusnya

1.5

Binaan Dalaman Mikropemproses 6800 dan 68000 (Motorola)

1.5.1

Mikropemproses Motorola 6800 (MC6800)

• -

-

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

0 AccA

Accumulator A

AccB

Accumulator B

15

0 IX

Index Register

PC

Program Counter

SP

Stack Pointer 7 H

I

N

Z

V

0 C

Condition Codes Register

C – Carry, V – Overflow, Z – Zero, N – Negative, I – Interrupt, H – Half Carry Fungsi –fungsi daftar (i) Accumulator - memegang data sementara / simpan hasil operasi ALU (ii) Program Counter - pegang alamat bagi arahan yang akan dilaksanakan (iii) Index Register - digunakan dalam pengalamatan berindeks (iv) Stack Pointer(Penunjuk tindanan) - diguna bagi menunjukkan kawasan ingatan yang khas dipanggil tindan / stack - tindanan adalah kawasan ingatan (RAM) yang disimpan bagi tujuan menyimpan kandungan daftar di dalam CPU apabila sampukan (interrupt) berlaku atau apabila arahan yang melibatkan subrutin dilaksanakan. (v) Condition Codes Register - Carry Flag : disetkan (C=1) jika carry dihasilkan, bit yang dihasilkan keluar dari 7 bit (contoh : percampuran dua nombor yang menghasilkan jawapan lebih daripada 255) atau bila berlaku borrow iaitu keluar dari 7 bit (contoh : operasi penolakan) - Overflow Flag : disetkan(V=1) apabila berlaku limpahan hasil operasi arithmetik. Bagi nombor binari 8 bit, nombor yang dapat diwakili adalah (-128) hingga (+ 127). Sekiranya pencampuran dua nombor positif menghasilkan jawapan lebih 127, maka bendera overflow akan disetkan - Interrupt : bendera ini digunakan bagi melayan sampukan jenis IRQ. Jika I=1, sampukan IRQ tidak dilayan, jika I=0 sampukan jenis IRQ akan dilayan. Kesimpulan : Dengan menguji flag (bendera), CPU akan mengetahui samada arahan bercabang bersyarat perlu dilaksanakan atau tidak.

5

1.5.2 •

-

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

Bit 31

16 15

8 7

0 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6

15

Daftar Data

Daftar Alamat

A7

Stack Pointer

PC

Program Counter

CCR

Condition Codes

0

Fungsi –fungsi daftar (i) -

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

(ii) Daftar Alamat(A0 – A7) -

berguna apabila dipertengahan operasi data perlu diubah

(iii) Penunjuk Tindanan (SP) terdiri drpd USP (User Stack Pointer) dan SSP (Supervisor Stack Pointer) jika salah satu daftar aktif pada satu masa, maka kedua-dua dirujuk sebagai A7 (iv) Pembilang Aturcara (PC) Memegang alamat operasi berikutnya (v) Daftar Status System Byte T

S

I2

I1

I0

0

Condition Codes Register / user byte 0 0 X N Z V

C

C : Carry, V : Overflow, Z : Zero, N : Negative, X : Extend I0, I1 , I2 : Interrupt Mask S : Supervisor State T : Trace Mode

6

-

-

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

Highest priority

Interrupt Levels

Interrupt Mask Bits

Level 0

I2 0

I1 0

I0 0

Level Level Level Level Level Level Level

0 0 0 1 1 1 1

0 1 1 0 0 1 1

1 0 1 0 1 0 1

1 2 3 4 5 6 7

(Nonmaskable Interrupt) Don’t interrupt

-

1.6

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

• • 1.6.1

-

untuk menghubungkan CPU dengan ingatan dan I/O ports, satu kumpulan wayar yang dikenali sebagai ‘bus’ digunakan. Semua data, arahan dan isyarat kawalan dihantar melalui sistem bas. Sistem bas terdiri daripada bas data, bas alamat dan bas kawalan Bas Data apabila CPU telah memilih lokasi menggunakan bas alamat, data atau arahan akan diterima atau dihantar melalui bas data. data akan bergerak di antara CPU-ingatan, CPU-I/O atau ingatan-I/O merupakan bas 2 hala (1 arah pada satu-satu masa)

7

1.6.2

1.6.3 -

-

1.7

CPU 6800 mempunyai 8 data selari untuk menghantar 8 bit data secara serentak. Saiz bas data menentukan kelajuan pemindahan data Bas Alamat berfungsi bagi membolehkan CPU memilih lokasi memori (RAM), input atau output port apabila data hendak dihantar atau dicapai isyarat yang dihantar oelh CPU melalui talian ini merupakan alamat dimana maklumat hendak dihantar atau dicapai merupakan bas 1 hala saiz bas menentukan saiz lokasi ingatan yang boleh dicapai contoh : komputer yang ada 16 talian alamat/bas alamat, lokasi ingatan maksimumnya ialah 216 = 65536. Alamat yang boleh dicapai adalah dalam julat 0000 hingga FFFF Bas Kawalan talian yang mengawal seluruh sistem komputer berfungsi bagi menyelaras pemindahan data (membawa isyarat yang menunjukkan talian Ready atau Wait) tiap CPU mempunyai bas kawalan yang berlainan contoh : 6800, talian kawalannya ialah R/W*(digunakan bagi menentukan samada CPU perlu membaca data dari bas data atau menulis data ke bas data) dan RESET Kitar pengambilan dan perlaksanaan



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

EXECU TE

FET CH

Mikropemproses melaksanakan suruhan tersebut



Bagaimana Program dilaksanakan

-

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

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

2. 3. 4. 5. 6. 7. 8.

bas data

6

Instruction Register

7

Instruction Decoder

8 1

bas alamat

Program Counter

2

3

5

Instruction s and data

4

Memory address decoder

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

8

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

Sistem Pemasaan (Timing System)

- merupakan asas masa yang menentukan pergerakan kesemua komponen sistem komputer (menunjukkan kepantasan komputer dalam melaksanakan sesuatu arahan)

- litar jam menjana isyarat berkala yang dihantar ke seluruh bahagian sistem, terutamanya unit kawalan - isyarat berkala ini yang dinamakan denyut-denyut jam dan satu denyut jam memakan satu kitar jam - panjang kitar-kitar jam diukur dalam milisaat (ms atau 0.001 saat), mikrosaat (p,s atau 10-6 saat)

9

Related Documents


More Documents from "RAJA ARIF SHAH BIN RAJA OSMAN"