1. 2 mikrop unit kawalan (cu) menjanakan semua isyarat dalaman cpu. ia memeriksa daftar2 ketika...

25
1

Post on 22-Dec-2015

240 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

1

Page 2: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

2

MikropMikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman

CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU.CU mungkin keseluruhannya dibina drpd hw (hardwired controller spt state counter & PLA) atau campuran arahan2 sw (kodmikro tersimpan dlm CPU) & hw (kawalan aturcaramikro). Intel famili 8086 dan motorola famili 68000 menggunakan kawalan aturcaramikro.

Daftar – kecil, memori laju yg selalunya utk simpan data & alamat yg bersekutu dgn arahan yg sedang dilaksanakan.

ALU melaksanakan operasi aritmetik dan logik.

Page 3: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

3

Kitaran Perlaksanaan ArahanKitaran Perlaksanaan Arahan Dua langkah utama dlm kitaran ini

– Ambil arahan berikutnya drpd memori utama– Nyahkod dan Laksanakan arahan tersebut

Kitaran ambilan mengandungi:– Guna penunding arahan (IP) utk setkan bus alamat dgn alamat arahan

berikutnya dan tingkatkan IP– Tunggu (bbrp ratus nanosaat) utk data dipindahkan ke bus data drpd

memori– Baca data dr bus data

Kitaran perlaksanaan mengandungi:– Nyahkod arahan dan janakan jujukan yg betul bg isyarat dalaman dan

luaran.– Laksanakan arahan dan ulang semula kitaran ambilan.

Page 4: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

4

Page 5: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

5

Kitaran Ambilan & Kitaran Ambilan & Perlaksanaan BertalianpaipPerlaksanaan Bertalianpaip

Bus Interface Unit (BIU) ambil arahan2 drpd memori berikan kpd instruction stream byte queue dan mula ambil arahan berikutnya serta merta

Execution Unit (EU) keluarkan arahan2 drpd instruction stream byte queue

Kedua-dua boleh beroperasi serentak (ini dinamakan pipelined parallel processing)

Page 6: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

6

Page 7: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

7

Page 8: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

8

Mikrop Intel 8086/8088Mikrop Intel 8086/8088

8086 dan 8088 lbh kurang sama kecuali 8088 mempunyai 8 talian data luaran manakala 8086 mempunyai 16 talian.

Kedua2nya ada:– 16bit lebar bus data dalaman– 20 pin alamat (16 alamat/data + 4 alamat/status) bg

m’blhkan alamat memori maksima ialah 1Mbyte– Pin2 alamat/data multipleks (8088 hy ada 8pin

multipleks)– 2 mod operasi (mod maksima dan minima) – Set arahan yg sama

Page 9: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

9

Senibina Dalaman 8088Senibina Dalaman 8088

Kedua2nya 8088/8086 proses selari Ada dua unit pemproses: EU & BI; beroperasi pd

waktu yg sama BIU hantar keluar alamat, ambil arahan drpd

memori, baca data drpd port & memori, dan tulis data ke port & memori dgnkatalain BIU mengawal secara perpindahan data dan alamat pada bus2 utk EU.

EU memberitahu BIU drpd mana utk ambil arahan atau data, nyahkod arahan dan laksanakan arahan.

Page 10: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

10

Page 11: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

11

Page 12: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

12

BIUBIU Laksana operasi bus spt ambil arahan, baca/tulis operan

data utk memori, m’input/m’output data utk persisian IO Lakukan fungsi lain spt inst queiung dan data acquisition 8bit (16bit) data bus dua hala utk 8088 (8086) 20bit bus alamat, blh alamat 220 (1,048,576) bait Ada segment register, inst pointer, address generator adder,

bus control logic dan inst queue. Guna instruction queue utk melaksanakan senibina

talianpaip (praambilan sehingga 4 (6) bait kod arahan utk 8088 (8086) dan seterusnya simpan dan capai kod2 tersebut dlm tertib FIFO

Page 13: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

13

EUEU B’t/jwb utk menyahkod & melaksanak’ inst. Ada: ALU, status & control flag, gen. Purpose register &

temp operand register. EU capai inst drpd output bg inst queue & data drpd gen

purpose register. Ia baca 1 inst pd 1 masa, nyahkodkannya, janakn alamat

operan jk perlu, berikan pd BIU & mohon utk melaksanakan kitaran baca/tulis ke memori atau IO, dan laksanakan operasi yg tlh ditentuk’ o inst pd operan.

Ktk p’laksanaan EU mungkin uji flag status & kawalan & kemaskini falg2 ini mengikut keputusan perlaksanaan.

Page 14: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

14

Think of them as places where you can store data during run-time of the program . They are relatively small and very fast , much faster then RAM or Hard disk .

At first - What are this registers ?

How much of them do i have ? This is a question of which processor you have . If you have something ranging between a 8086 and a 80286 you've got ax,bx,cx,dx,sp,bp,si,di,ip,cs,ds,ss,es and the flag-register . Makes 14 . If you have soemthing starting from a 80386 you've got eax,ebx,ecx,edx,esp,ebp,esi,edi,eip,cs,ds,ss,es,fs,gs and the extended flag-register . Makes 16

Page 15: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

15

Organisasi Register 8086Organisasi Register 8086 Daftar

– Tujuan am & khusus Am diguna sbg daftar 8bit au 16bit: pegang data, pembolehubah,

keputusan sementera, counter, alamat offset Khas digunakan sbg daftar segmen, penuding, indeks dan alamat offset

– 16bit Daftar Tujuan Am

Ada 8, dilabelkan AH, AL, BH, BL, CH, CL, DH, DL, setiap daftar blh memegang data sebanyak 8bit.

Utk menyimpan 16bit data, gabungkan H dan L menjadi AX, BX, CX & DX.

AL dikenali sbg daftar penumpuk (acc) Kebaikan daftar dalaman, ia lbh cepat dicapai drpd memori luaran kerana

tiada rujukan dan memori diperlukan utk m’dptk’ data.

Page 16: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

16

Organisasi RegisterOrganisasi Register•AX , BX , CX and DX are data-registers. •They can be used as multi-purpose registers , but they have their special abilities too :

•AX is often used as accumulator for instruction such as multiplication, division and some adjustment function. •BX is used as base-pointer & holds the offset address of a location in a memory system, •CX as a counter (e.g repeated string instruction (I.e. REP/REPE/REPNE), shift & rotate (use CL as the count) and LOOP/LOOPD (use CX/ECX) •DX for data or holds a part of the result from multiplication or part of dividend before division.

Page 17: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

17

Organisasi Register 8086Organisasi Register 8086

Daftar Segmen– Tiada dlm 8085, 8086 ada– 1Mb blh dialamatkan, dbhg kpd 10 segmen logikal, setiap satu

b’saiz 16kb– Ada empat:

Code (CS) –tempat dimana kod disimpan (program & procedure). Daftar CS memberitahu permulaan alamat bagi seksyen bagi memori yang memegang kod. 64 kB dlm 8088-80286 dan 4G dlm 80368 dan keatas

Data (DS) – merujuk kpd segmen data bg memori, yakni tempat dimana program disimpan.

Extra (ES) – data segmen bg memori yang lain Stack (SS) – mengalamat segmen stack bg memori, yakni tempat

dimana data stack disimpan

Page 18: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

18

Organisasi Daftar 8086Organisasi Daftar 8086

Daftar Pointer– Mengandungi offset bg daftar segmen tertentu.– IP, BP dan SP masing2 selalunya ada offset bg segmen

code, data dan stack. Daftar Index

– Index selalunya digunakan sbg tujuan am dan offset storan dalam kes pengalamat yg membabitkan index.

– SI digunakan utk menyimpan offset bg lokasi sumber dlm segmen data manakala DI utk destinasinya.

– Manipulasi string.

Page 19: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

19

Organisasi Daftar 8086Organisasi Daftar 8086

Daftar Flag – Flag menunjukkan keadaan mikrop berserta mengawal

operasinya.– Ia adlh ff yg menunjukkan bbrp keadaan yg terhasil dr

perlaksanaan inst atau mengawal operasi tertentu bg EU. 16bit flag rergister dlm EU mengandungi 9 flag aktif.

– Flag keadaan: 6 flag keadaan. Mereka diset atau direset o EU berdasar keputusan bbrp operasi aritmetik.

– Flag kawalan: 3 flag selebihnya digunakan utk mengawal operasi tertentu bg mikrop.

Page 20: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

20

Page 21: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

21

Organisasi Daftar 8086Organisasi Daftar 8086 Daftar Flag Keadaan

– Carry flag (CF) menunjuk’ bawaan slps penambah’/pinjam’ slps penolak’. Jg menunjuk’ keadaan ralat.

– Parity flag (PF) adlh logik 0 utk pariti ganjil & logik 1 pariti genap– Auxiliary carry flag (AF) ptg utk penambah’ & penolak’ BCD:

pgg bawaan (pinjaman) slps penambah’ (penolak’) ant posisi bit 3 dan 4. Hy digunakan utk inst DAA & DAS utk menyelaras AL slps penambah’ (penolak’) BCD.

– Zero flag (ZF) menunjuk’ jwpn operasi arit/logik adlh sifar.– Sign flag (SF) menunjuk’ tanda jwpn arit slps operasi arit– Overflow flag (OF) keadaan yg wujud pabila nom bertanda

dicampur/ditolak. Ia menunjukkan bhw jwpn tlh melebihi kapasiti mesin tsbt.

Page 22: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

22

Organisasi Daftar 8086Organisasi Daftar 8086

Daftar Flag Kawalan– Flag kawalan diset atau direset dengan inst yg

diberi oleh anda dlm program. Tiga flag kawalan ialah:

Trap flag (TP) – digunak’ utk ‘single stepping through a program’

Interrupt flag – digunak’ utk membolehk’atau tidak sampukan bg program

Direction flag – digunakan dgn inst string

Page 23: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

23

Pengsegmenan Memori Pengsegmenan Memori

Dlm 8086, daftar hy 16bit shj, kita perlu dua daftar utk 20bit alamat.

Skim ini dibhg’ kpd bbrp segmen logikal yg bersaiz 64Kb yg dialamat oleh daftar segmen 16bit yg menunding kpd titik mula bg segmen tersebut.

Utk mencari lokasi spesifik dlm segmen kita perlu alamat offset bersaiz 16bit.

Page 24: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

24

Pengsegmenan MemoriPengsegmenan Memori

Utk mendapat alamat fizikal daripada dua daftar ini, langkah2 beikut dijalankan:Alamat segmen: 1005hAlamat offset: 5555hAlamat segmen: 1005h 0001 0000 0000 0101Anjakan 4bit: 0001 0000 0000 0101 0000

+Alamat offset: 0101 0101 0101 0101Alamat fizikal: 0001 0101 0101 1010 0101

Page 25: 1. 2 Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU

25

Pengsegmenan MemoriPengsegmenan Memori

Kelebihan– Memblh’ kapasiti memori menjadi 1Mb w/p

alamat yg mengendalikannya ialah 16bit– M’blh’ penempatan bhgn kod, data & stack bg

program yg sama di segmen memori yg berlainan, utk perlindungan data dan kod.

– M’bnr’ program &/ datanya ditempatkan kwsn memori yg berlainan stp kali program dilaksanakan.