1. 2 mikrop unit kawalan (cu) menjanakan semua isyarat dalaman cpu. ia memeriksa daftar2 ketika...
Post on 22-Dec-2015
240 views
TRANSCRIPT
1
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.
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.
4
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)
6
7
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
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.
10
11
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
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.
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
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.
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.
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
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.
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.
20
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.
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
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.
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
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.