1 Mikrop Unit Kawalan CU menjanakan semua isyarat

  • Slides: 25
Download presentation
1

1

Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar 2 ketika

Mikrop Unit Kawalan (CU) menjanakan semua isyarat dalaman CPU. Ia memeriksa daftar 2 ketika power on, janakan isyarat utk ambil arahan ke ALU. CU mungkin keseluruhannya dibina drpd hw (hardwired controller spt state counter & PLA) atau campuran arahan 2 sw (kodmikro tersimpan dlm CPU) & hw (kawalan aturcaramikro). Intel famili 8086 dan motorola famili 68000 menggunakan kawalan aturcaramikro. l Daftar – kecil, memori laju yg selalunya utk simpan data & alamat yg bersekutu dgn arahan yg sedang dilaksanakan. l ALU melaksanakan operasi aritmetik dan logik. l 2

Kitaran Perlaksanaan Arahan l Dua langkah utama dlm kitaran ini – Ambil arahan berikutnya

Kitaran Perlaksanaan Arahan l Dua langkah utama dlm kitaran ini – Ambil arahan berikutnya drpd memori utama – Nyahkod dan Laksanakan arahan tersebut l 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 l Kitaran perlaksanaan mengandungi: – Nyahkod arahan dan janakan jujukan yg betul bg isyarat dalaman dan luaran. – Laksanakan arahan dan ulang semula kitaran ambilan. 3

4

4

Kitaran Ambilan & Perlaksanaan Bertalianpaip Bus Interface Unit (BIU) ambil arahan 2 drpd memori

Kitaran Ambilan & Perlaksanaan Bertalianpaip Bus Interface Unit (BIU) ambil arahan 2 drpd memori berikan kpd instruction stream byte queue dan mula ambil arahan berikutnya serta merta l Execution Unit (EU) keluarkan arahan 2 drpd instruction stream byte queue l Kedua-dua boleh beroperasi serentak (ini dinamakan pipelined parallel processing) l 5

6

6

7

7

Mikrop Intel 8086/8088 8086 dan 8088 lbh kurang sama kecuali 8088 mempunyai 8 talian

Mikrop Intel 8086/8088 8086 dan 8088 lbh kurang sama kecuali 8088 mempunyai 8 talian data luaran manakala 8086 mempunyai 16 talian. l Kedua 2 nya ada: l – 16 bit lebar bus data dalaman – 20 pin alamat (16 alamat/data + 4 alamat/status) bg m’blhkan alamat memori maksima ialah 1 Mbyte – Pin 2 alamat/data multipleks (8088 hy ada 8 pin multipleks) – 2 mod operasi (mod maksima dan minima) – Set arahan yg sama 8

Senibina Dalaman 8088 Kedua 2 nya 8088/8086 proses selari l Ada dua unit pemproses:

Senibina Dalaman 8088 Kedua 2 nya 8088/8086 proses selari l Ada dua unit pemproses: EU & BI; beroperasi pd waktu yg sama l 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 bus 2 utk EU. l EU memberitahu BIU drpd mana utk ambil arahan atau data, nyahkod arahan dan laksanakan arahan. l 9

10

10

11

11

BIU l l l Laksana operasi bus spt ambil arahan, baca/tulis operan data utk

BIU l l l 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 8 bit (16 bit) data bus dua hala utk 8088 (8086) 20 bit 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 kod 2 tersebut dlm tertib FIFO 12

EU l l l B’t/jwb utk menyahkod & melaksanak’ inst. Ada: ALU, status &

EU l l l 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 falg 2 ini mengikut keputusan perlaksanaan. 13

At first - What are this registers ? Think of them as places where

At first - What are this registers ? 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. 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 14

Organisasi Register 8086 l Daftar – Tujuan am & khusus l l Am diguna

Organisasi Register 8086 l Daftar – Tujuan am & khusus l l Am diguna sbg daftar 8 bit au 16 bit: pegang data, pembolehubah, keputusan sementera, counter, alamat offset Khas digunakan sbg daftar segmen, penuding, indeks dan alamat offset – 16 bit l Daftar Tujuan Am l l Ada 8, dilabelkan AH, AL, BH, BL, CH, CL, DH, DL, setiap daftar blh memegang data sebanyak 8 bit. Utk menyimpan 16 bit 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 15 m’dptk’ data.

Organisasi Register • AX , BX , CX and DX are data-registers. • They

Organisasi 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. 16

Organisasi Register 8086 l Daftar Segmen – Tiada dlm 8085, 8086 ada – 1

Organisasi Register 8086 l Daftar Segmen – Tiada dlm 8085, 8086 ada – 1 Mb blh dialamatkan, dbhg kpd 10 segmen logikal, setiap satu b’saiz 16 kb – Ada empat: l l Code (CS) –tempat dimana kod disimpan (program & procedure). Daftar CS memberitahu permulaan alamat bagi seksyen bagi memori yang memegang kod. 64 k. B dlm 808880286 dan 4 G 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 17 tempat dimana data stack disimpan

Organisasi Daftar 8086 l Daftar Pointer – Mengandungi offset bg daftar segmen tertentu. –

Organisasi Daftar 8086 l Daftar Pointer – Mengandungi offset bg daftar segmen tertentu. – IP, BP dan SP masing 2 selalunya ada offset bg segmen code, data dan stack. l 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. 18

Organisasi Daftar 8086 l Daftar Flag – Flag menunjukkan keadaan mikrop berserta mengawal operasinya.

Organisasi Daftar 8086 l 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. 16 bit 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. 19

20

20

Organisasi Daftar 8086 l Daftar Flag Keadaan – Carry flag (CF) menunjuk’ bawaan slps

Organisasi Daftar 8086 l 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 21 – Overflow flag (OF) keadaan yg wujud pabila nom

Organisasi Daftar 8086 l Daftar Flag Kawalan – Flag kawalan diset atau direset dengan

Organisasi Daftar 8086 l 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’ l Interrupt flag – digunak’ utk membolehk’atau tidak sampukan bg program l Direction flag – digunakan dgn inst string l 22

Pengsegmenan Memori l Dlm 8086, daftar hy 16 bit shj, kita perlu dua daftar

Pengsegmenan Memori l Dlm 8086, daftar hy 16 bit shj, kita perlu dua daftar utk 20 bit alamat. l Skim ini dibhg’ kpd bbrp segmen logikal yg bersaiz 64 Kb yg dialamat oleh daftar segmen 16 bit yg menunding kpd titik mula bg segmen tersebut. l Utk mencari lokasi spesifik dlm segmen kita perlu alamat offset bersaiz 16 bit. 23

Pengsegmenan Memori l Utk mendapat alamat fizikal daripada dua daftar ini, langkah 2 beikut

Pengsegmenan Memori l Utk mendapat alamat fizikal daripada dua daftar ini, langkah 2 beikut dijalankan: Alamat segmen: 1005 h Alamat offset: 5555 h Alamat segmen: 1005 h 0001 0000 0101 Anjakan 4 bit: 0001 0000 0101 0000 + Alamat offset: 0101 Alamat fizikal: 0001 0101 1010 0101 24

Pengsegmenan Memori l Kelebihan – Memblh’ kapasiti memori menjadi 1 Mb w/p alamat yg

Pengsegmenan Memori l Kelebihan – Memblh’ kapasiti memori menjadi 1 Mb w/p alamat yg mengendalikannya ialah 16 bit – 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. 25