42
Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

  • Upload
    donal

  • View
    23

  • Download
    2

Embed Size (px)

DESCRIPTION

CPU Architecture. Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB. โครงสร้างหลักของ Microprocessor. ประกอบไปด้วยส่วนสำคัญดังนี้คือ Internal Data Bus A rithmetic L ogic U nit (ALU) Control Logic Register. - PowerPoint PPT Presentation

Citation preview

Page 1: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

Wannachai WannasawadeDepartment of Computer EducationFaculty of Technical Education, KMUTNB

Page 2: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 2

Page 3: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 3

Page 4: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 4

Page 5: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 5

Page 6: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 6

Page 7: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 7

โครงสร�างหลักของ โครงสร�างหลักของ MicroprocessorMicroprocessor

ประกอบไปด้วยส่ วนส่��คั�ญด้�งน��คั�อ Internal Data Bus AArithmetic LLogic UUnit (ALU) Control Logic Register

Page 8: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 8

C Lo on gt ir col

Instruction register

Instruction

decoder

In In

Temp 1 Temp 2

Memory address register

Hi LoSP

PC

Accumulator A Status reg

Reg B Reg C

Reg D Reg E

Reg H Reg L

Out

External

controllines

8-bit internal data bus

16-bit

addressbus

ALU

โครงสร�างหลักของ โครงสร�างหลักของ MicroprocessorMicroprocessor

Page 9: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 9

GeneralRegisters

AH ALBH BLCH CLDH DL

BPDISISP

Flags

ArithmeticLogic Unit

Internal Data Bus

CSESSSDS

Instruction Poiter

Address Generationand Bus Control

123456

Address BusData Bus

SegmentRegisters

InstructionQueue

Execution Unit (EU)Bus Interface Unit (BIU)

โครงสร�างหลักของ โครงสร�างหลักของ MicroprocessorMicroprocessor

Page 10: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 10

เป�น Major Logic function ของ Microprocessor ทุ�กตั�วโด้ยทุ� วไป ALU

จะมี� Input อย# 2 Input และ 1 Output และ IIIII ทุ��ง 2 จะมี� Buffer คั�อ III I orary Register เป�นตั�วเก'บขอมี#ลให้ก�บ ALU และย�งตั ออย# ก�บ Internal Bus เพื่� อร�บ

ห้ร�อส่ งขอมี#ลให้ก�บ ALU โด้ยผ่ �น Temporary Register ทุ��ง 2

ห้น�ทุ� ทุ� ห้น�ทุ� ทุ� ALU ALU จะกระทุ��มี�ด้�งน��จะกระทุ��มี�ด้�งน��Add III IIII IIIIIIIIIII Shift right

AND Shift left

OR Increment

Exclusive OR I IIIII III

จ��ไวว � จ��ไวว � ALU ALU เป�นส่ วนทุ� ใช้ในก�ร เป�นส่ วนทุ� ใช้ในก�ร Process Data Process Data ไมี ใช้ เก'บ ไมี ใช้ เก'บ DataData

ALUALU

Page 11: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 11

เป�นส่ วนทุ� ตัองใช้ใน Microprocessor ทุ�กตั�วซึ่. งเป�น Function ห้ล�กทุ� จะตัองมี� ซึ่. งอ�จจะมี�มี�กกว � แตั Register ทุ� ไมีโคัรโพื่รเซึ่ส่เซึ่อร/ทุ�กตั�วจะตัองมี� คั�อ

1 . Accumulator Register

2. Program Counter Register

3 . Stack Pointer Register

- 4 . General purpose Register

5 . Memory address Register and logic

6 . Instruction Register

7 . Temporary data Register

RegistersRegisters

Page 12: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 12

เป�น Register ห้ล�กของไมีโคัรโพื่รเซึ่ส่เซึ่อร/ • เก'บขอมี#ล ส่��ห้ร�บขอมี#ลทุ� วไป • ก�รเคัล� อนย�ยขอมี#ลตั �ง ๆ เช้ น ขอมี#ลในก�รคั��นวณทุ�งคัณ3ตัศ�ส่ตัร/ และลอจ3ก ซึ่. งใช้ทุ��ง III และ Accumulator

ก�รทุ��ง�นจะแบ งออกเป�น 2Word โด้ยทุ� • Word แรกจะเก'บไวใน Accumulator Register

• อ�ก Word ห้น. ง อ�จจะเก'บทุ� Register อ� นห้ร�อในห้น วยคัว�มีจ��

ผลัลัพธ์�ที่��ได้�จาก ผลัลัพธ์�ที่��ได้�จาก ALUALU จะน��ไปเก'บไวใน Accumulator ก�รทุ��ง�นห้ล�กของ Accumulator คั�อ ก�รเคัล� อนย�ยขอมี#ล

Accumulator Register Accumulator Register

Page 13: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 13

เป�น Register ทุ� มี�คัว�มีส่��คั�ญตั อไมีโคัรโพื่รเซึ่ส่เซึ่อร/ ซึ่. งคั��ส่� งทุ� ใช้ในก�รประมีวลผ่ลจะเร�ยงล��ด้�บคั��ส่� งตั�มีโปรแกรมีทุ� เข�ยน จ�ด้เก'บไวในห้น วยคัว�มีจ��ของ ไมีโคัรโพื่รเซึ่ส่เซึ่อร/ โด้ยทุ� คั��ส่� งตั �งๆ เห้ล �น��เป�นตั�วบอกให้ไมีโคัรโพื่รเซึ่ส่เซึ่อร/ ทุ��ง�น ซึ่. งคั��ส่� งทุ�กคั��ส่� งจะตัองถู#กตัองตั�มีล��ด้�บ ง�นของ Program Counter Program Counter คั�อ เก'บขอมี#ลว �คั��ส่� งใด้เป�นคั��ส่� งเร3 มีตันและคั��ส่� งใด้เป�นคั��ส่� งตั อไปทุ� จะน��มี�ประมีวลผ่ล

Program Counter Register Program Counter Register

Page 14: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 14

เป�น Register ทุ� แส่ด้งคัว�มีแตักตั �งระห้ว �งก�รคั��นวณ ก�รตัรวจส่อบผ่ลของขอมี#ลโด้ยทุ� บ3ตัแตั ละบ3ตั ห้มี�ยถู.ง St at us แตั ละตั�ว โด้ยมี�คัว�มีห้มี�ยจ�ก IIIII ระห้ว �ง 0" "และ 1" " โด้ยเมี� อเป�น 1logic " " จะห้มี�ยถู.ง Set ให้เป�นตั�มีเง� อนไขของแตั ละบ3ตั ซึ่. งมี�ด้�งน�� คั�อ

1. Carry/Borrow bit 2. Zero bit 3. Negation bit 4. Intermediate Carry bit 5. Interrupt bit 6. Overflow bit 7. Parity bit

Status Register Status Register

Page 15: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 15

07

1POIFICNZBit

ตำ�าแหน่�งของบิ�ตำตำ�าง ๆ ของ ตำ�าแหน่�งของบิ�ตำตำ�าง ๆ ของStatus RegisterStatus Register

Page 16: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 16

เป�นตั�วช้��ตั��แห้น งของก�รเก'บขอมี#ลโด้ยล�กษณะก�รเก'บจะเป�นแบบ Last in first out ห้ร�อ เข�ทุ�ห้ล�งออกก อนซึ่. งล�กษณะจะเห้มี�อนก�บ Program Counter แตั จะตั �งก�นทุ� Program Coun

ter จะเป�นก�รเพื่3 มีคั � แตั Stack Pointer จะเป�นก�รลด้คั �ลงและจะทุ��ก�รก��ห้นด้คั �โด้ยอ�ตัโนมี�ตั3 และใช้จ��นวน Byte ในก�รทุ��ง�น

2 byte ซึ่. งห้มี�ยถู.ง Stack Pointer จะลด้คั �ของ Address

คัร��งละ 2 byte ห้ร�อ ลด้ตั��แห้น งลง 2 ตั��แห้น ง เช้ น Stack

คัร��งแรกอย# ทุ� Address 0FF4H ตั��แห้น ง Stack คัร��งตั อไปคั�อ 0

4FF H

Stack Pointer Register Stack Pointer Register

First out

last in

IN

OUT

Page 17: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 17

เป�น Register ทุ� ใช้ส่��ห้ร�บก�รเข�ยนโปรแกรมีของ

Programmer ใช้ง�นโด้ยทุ� วไป ส่�มี�รถูเร�ยกใช้ง�นร วมีก�นได้

เช้ น BC AH AL ห้ร�อ CX ซึ่. งก�รใช้ง�นจะเป�นก�รใช้ง�นขน�ด้

8 1 6bit bit ห้ร�อ 32 bit เช้ นของ III เบอร/

8086 จะแบ ง AX เป�น II ก�บ AL Pentium: EAX

AX AH AL เป�นตัน

- General Purpose Register - General Purpose Register

Page 18: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 18

เป�นตั�วแส่ด้งตั��แห้น งห้น วยคัว�มีจ��ของไมีโคัรโพื่รเซึ่ส่เซึ่อร/ทุ� ตัองก�รใช้ก�รเก'บตั��แห้น งของห้น วยคัว�มีจ��จะเก'บไวในร#ปของเลขฐ�นส่อง ซึ่. งจะมี�ขน�ด้ 16 biI ห้ร�อมี�กกว �ข.�นอย# ก�บขน�ด้ของ

Address bus ซึ่. งใช้เป�นตั�วเล�อกตั��แห้น งห้น วยคัว�มีจ��ห้ร�อในกรณ�ของ input/output post ในก�ร fetch cycle จ�กคั��ส่� งตั �ง ๆ

ใน - 16 bit Memory Address Register จะแบ ง Register เป�น 2 ส่ วน คั�อ High byte ก�บ Low byte และในบ�ง

คั��ส่� งทุ� มี�ก�รก��ห้นด้คั �จ�กก�รคั��นวณ โด้ยคั��นวณจ�กคั �ของ Program Counter บวกห้ร�อลบก�บคั �ของ Memory Address

Register ซึ่. งในกล� มีน��เร�จะเร�ยกว �เป�น “ Offset Addressing”

Memory Address Register and Logic Memory Address Register and Logic

Page 19: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 19

เป�น Register ทุ� เก'บคั��ส่� งทุ� ก��ล�งทุ��ก�ร Execute และจะ Load โด้ยก�รทุ��ง�นข.�นอย# ก�บก�ร fetch/Execute Cycle ซึ่. งรวมี

เร�ยกว � " Instruction Cycle Instruction Cycle"ในล��ด้�บก�รทุ��ง�นเมี� อ fetch คั��ส่� ง Program Counter จะช้��

คั��ส่� งตั อไปทุ� อย# ในห้น วยคัว�มีจ��เมี� อ Instruction Register Instruction Register ทุ��ก�ร fetch คั��ส่� งจะทุ��ก�รน��คั��ส่� งน��นไวทุ� Internal Data bus และเมี� อคั��

ส่� งถู#ก Execute ขณะก��ล�ง Execute อย# น� �นในส่ วนของ Instruction Decoder จะอ �นร�ยละเอ�ยด้ของ Instruction Register Instruction Register โด้ยทุ� II

nstruction Decoder nstruction Decoder จะทุ��ก�ร Decoder คั��ส่� งในร�ยก�รเพื่� อบอกให้ Microprocessor ทุ��ง�นและส่ งคั��ส่� งออกมี� และทุ��ก�รส่ งไปย�งส่ วนของ Microprocessor Control logic ตั อไป เพื่� อส่ งไปคัวบคั�มีก�รทุ��ง�นของส่ วนตั �ง ๆ ข.�นอย# ก�บคั��ส่� งตั �ง ๆ ขน�ด้ของ Instructio

n Register จะข.�นอย# ก�บ Microprocessor

Instruction Register Instruction Register

Page 20: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 20

เป�น Register ทุ� พื่อจะใช้เก'บขอมี#ลได้เพื่�ยง 1Word เทุ �น��น ซึ่. งเป�น Register ทุ� จ��เป�นเพื่ร�ะ ALU น��นได้มี�ทุ� เก'บขอมี#ล ALU มี�โคัรงส่ร�งเป�นก�รรวมี Logic ด้�งน��นเมี� อมี�ขอมี#ลเข�มี�และได้ทุ��ตั�มีเปล� ยนแปลงขอมี#ลทุ��งน��ข.�นอย# ก�บก�รกระทุ��ด้วย จ�กน��นจะส่ งขอมี#ลออกไปย�ง Accumulator พื่��นทุ� ด้�งน��นถู�ไมี มี� Temporary Data Reg Temporary Data Reg

isterister ALU จะไมี ส่�มี�รถูทุ��ง�นได้เลย เพื่ร�ะเมี� อ ALU ร�บขอมี#ลจ�ก In ternal Data bus ทุ��ก�รเปล� ยนขอมี#ลและส่ งขอมี#ลออก ด้�งน��น Temp

orary Data Register จ.งเป�นส่ วนส่��คั�ญของ Microprocessor

Temporary Data Register Temporary Data Register

Page 21: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 21

เป�นส่ วนห้ล�กอ�กส่ วนห้น. งของ Microprocessor ในส่ วนน��จะเป�นก�รรวมีง�นตั �ง ๆ เข�ด้วยก�นและถู#กตัองตั�มีล��ด้�บซึ่. งส่ วนของ Control logic Control logic น��น เร�ยกอ�กอย �งห้น. งว �เป�น " Micro Micro

programprogram " ซึ่. งจะมี�ก�รเร�ยนร# คั��ส่� งก�ร Decode คั��ส่� งทุ� ส่ งมี�จ�ก Instruction Register และจะส่ งส่�ญญ�ณคัวบคั�มีของคั��ส่� งออกไปย�งส่ วนตั �ง ๆ ทุ� คั��ส่� งน��นมี�ก�รเร�ยกใช้ง�น และมี�ส่�ญญ�ณคัวบคั�มีห้ล�ก คั�อ Memory , I/O และ -Read Write และส่�ญญ�ณภ�ยนอกทุ� ส่��คั�ญ คั�อ Clock ซึ่. งจะใช้เป�นพื่��นฐ�นของส่�ญญ�ณตั �ง ๆ และจะแปลงให้เป�นห้ล�ยส่�ญญ�ณ

Control Logic Control Logic

Page 22: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 22

เป�นระบบ III ทุ� ใช้ตั3ด้ตั อภ�ยใน Microprocessor จะมี�ขน�ด้เทุ �ใด้ข.�นอย# ก�บ Microprocessor ด้วยว � มี�ขน�ด้ของ I III III เทุ �ใด้เป�น 8 16bit , bit ห้ร�อ 32 bit

เป�นตัน ซึ่. งช้น3ด้ของ Internal bus จะเป�นแบบ 2 ทุ3ศทุ�ง ( -Bi-Bi

directional bus directional bus)

Internal Data bus Internal Data bus

Page 23: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 23

Page 24: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 24

Page 25: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 25

Page 26: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 26

ในก�รเข�ยนโปรแกรมีส่3 งส่��คั�ญคั�อ โคัรงส่ร�งของ Registers ของ Microprocessor ซึ่. งเป�นส่ วนทุ� ใช้ง�นเป�น

ตั��แห้น งทุ� เก'บขอมี#ลตั �ง ๆ ซึ่. งทุ� น��มี�เป�นของ Microproces

III ในตัระก#ล Intel ประกอบด้วย Registers กล� มี ตั �ง ๆ ด้�งน��

- 1. General Purpose Registers

2. Pointer and Index Registers

3. Flags Registers

4. Segment Registers

Page 27: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 27

Page 28: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 28

- General Purpose Registers - General Purpose Registersเป�น Register ทุ� ใช้ง�นโด้ยทุ� วไป ซึ่. งส่�มี�รถูใช้ง�นได้ทุ��ง 8 bit

(AH,AL,BH,BL,CH,CL,DH,DL ) 1 6 bit (AX,BX,CX,DXI ห้ร�อ 32

III I EAX,EBX,ECX,EDX ) Microprocessor ทุ� ใช้ III 32 ได้แก 80386 และ 80486

ห้น�ทุ� ก�รใช้ง�นของ - General purpose Register AX (Accumulator) AX (Accumulator) ใช้ในก�รคั��นวณห้ร�อเก'บขอมี#ลทุ� ได้จ�กก�รคั��นวณ BX (Base) BX (Base) ใช้ในก�รเก'บตั��แห้น งของขอมี#ลและใช้เก'บตั��แห้น งตั�ร�งของขอมี#ลทุ� ใช้คั��ส่� ง IIIIIIIII IIIIII CX (Count) CX (Count) จะใช้เป�นตั�วน�บจ��นวน ในก�รเล� อนบ3ทุ ก�รวนรอบ ก�รเพื่3 มีคั � - ลด้คั � DX (Data) DX (Data) ใช้เก'บขอมี#ลทุ� มี�เคัร� องห้มี�ยบวก - ลบ ก�รคั#ณเลข III 16

ห้ร�อ III 32 ก�รห้�ร และใช้ก��ห้นด้ตั��แห้น งของ input/output เมี� อใช้คั��ส่� ง IN/OUT

Page 29: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 29

Pointer and Index Registers Pointer and Index Registers II IIIIII IIIII IIIIII IIInnter)ter) ใช้เก'บตั��แห้น งของขอมี#ลในล�กษณะ เข�ทุ� ห้ล�งออกก อน (LIFO Last In First Out) ซึ่. งเก3ด้ข.�นเมี� อใช้คั��ส่� ง PUSH และ POP ห้ร�อในก�รเร�ยกใช้โปรแกรมีย อย (Subroutine) โด้ยคั��ส่� ง CALL และ RET BP (Base Pointer) BP (Base Pointer) ใช้เก'บตั��แห้น งของกล� มีขอมี#ล (Array) ในห้น วยคัว�มีจ�� SI (Source Index) SI (Source Index) ใช้อ�งตั��แห้น งของขอมี#ลโด้ยตัรงซึ่. งใช้ก�บคั��ส่� งทุ� เก� ยวก�บกล� มีตั�วอ�กษร (String Instruction) DI ( Destination Index) DI ( Destination Index) ใช้อ�งตั��แห้น งของขอมี#ลโด้ยทุ�งออมีซึ่. งใช้ก�บคั��ส่� งทุ� เก� ยวก�บกล� มีตั�วอ�กษร (String Instruction) IP (Instruction Pointer) IP (Instruction Pointer) ใช้ช้��ตั��แห้น งของคั��ส่� งถู�ด้ไปให้ก�บ Microprocessor และทุ��ห้น�ทุ� ห้�ตั��แห้น งจร3งของคั��ส่� งโด้ย IP = CS x 1

0 H

Page 30: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 30

Flags Register Flags Register

Flags เป�นตั�วแส่ด้งเง� อนไขก�รทุ��ง�นตั�มีคั��ส่� งของ Microprocessor ซึ่. งใช้ในก�รคัวบคั�มีก�รทุ��ง�น โด้ย Flagsจะเปล� ยนส่ถู�นะห้ล�งจ�กทุ� มี�ก�รประมีวลผ่ลคั��ส่� งทุ�งคัณ3ตั

ศ�ส่ตัร/และลอจ3ก มี�ด้�งน�� C (Carry) C (Carry) ใช้แส่ด้งคั �ตั�วทุด้เมี� อบวกเลข และเป�นตั�วย�มีเมี� อลบ

เลข

Page 31: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 31

Flags Register Flags Register(Cont.)(Cont.) P (Parity) P (Parity) ใช้ในก�รตัรวจส่อบพื่�ร3ตั��ของขอมี#ล โด้ยจะมี�คั �เป�น 1 เมี� อขอมี#ล

เป�นเลขคั# และจะมี�คั �เป�น 0 เมี� อขอมี#ลเป�นเลขคั� I2 I1 I0 Parity

1 0 1 1

1 1 1 0

A (Auxil A (Auxilii ary Carry ary Carry)) ใช้เก'บตั�วทุด้ห้ร�อตั�วย�มีจ�กก�รบวก - ลบทุ� เก3ด้ข.�นระห้ว �งบ3ทุทุ� 3 และบ3ทุทุ� 4 ห้ร�อทุด้ส่อบคั �จ�กก�รบวก - ลบเลขรห้�ส่ BCD

จ�กคั��ส่� ง DAA และ DAS โด้ยใช้ก�รปร�บคั �ใน Register AL

Z (Zero) Z (Zero) ใช้แส่ด้งผ่ลทุ� ได้จ�กก�รใช้คั��ส่� งทุ�งคัณ3ตัศ�ส่ตัร/และลอจ3ก โด้ยตัรวจส่อบผ่ลทุ� ได้ ถู�ผ่ลทุ� ได้เป�น 0 บ3ทุน��จะเป�น 1 แตั ถู�ผ่ลทุ� ได้ไมี เป�น 0บ3ทุน��จะเป�น 0

Page 32: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 32

S (Sign) S (Sign) แส่ด้งผ่ลทุ� ได้จ�กก�รคั��นวณทุ�งคัณ3ตัศ�ส่ตัร/ ถู�บ3ทุน��เป�น 1 แส่ด้งว �คั �ทุ� ได้เป�นคั �ลบ แตั ถู�บ3ทุน��เป�น 0 แส่ด้งว �คั �ทุ� ได้เป�นบวก

T (Trap T (Trap)) ใช้คัวบคั�มีก�รทุ��ง�นทุ�ละ Step เมี� อบ3ทุน��เป�น 1 I (Interrupt) I (Interrupt) ใช้คัวบคั�มีก�รขอข�ด้จ�งห้วะก�รทุ��ง�นของ Microprocessor

ทุ� ข� INTR (Interrupt Request) โด้ยถู�บ3ทุน��เป�น 1 แส่ด้งว �มี�ก�รขอข�ด้จ�งห้วะก�รทุ��ง�นของ Microprocessor ซึ่. งคัวบคั�มีด้วยคั��ส่� ง STI (Set In

terrupt flags) และคั��ส่� ง CLI (Clear Interrupt flags)

D (Direction) D (Direction) ใช้คัวบคั�มีก�รเพื่3 มีห้ร�อลด้คั �ของ Register DI/SI ในขณะทุ� ทุ��ง�นเก� ยวก�บกล� มีตั�วอ�กษร ถู�บ3ทุน��เป�น 1 ห้มี�ยถู.งก�รลด้คั �ลงโด้ยอ�ตัโนมี�ตั3 แตั ถู�บ3ทุน��เป�น ห้มี�ยถู.งก�รเพื่3 มีคั �โด้ยอ�ตัโนมี�ตั3 ซึ่. งคั��ส่� งทุ� ใช้คัวบคั�มีคั�อ STD (

Set Direction) และ CLD (Clear Direction)

Flags Register(Cont.) Flags Register(Cont.)

Page 33: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 33

O (Overflow) O (Overflow) บ3ทุน��เก3ด้ข.�นจ�กเง� อนไขก�รบวกเลขห้ร�อลบเลขทุ� มี�เคัร� องห้มี�ย (Signed) ซึ่. งผ่ลทุ� ได้เก3นคัว�มีส่�มี�รถูของเคัร� องทุ� ส่�มี�รถูคั��นวณได้เช้ น ก�ร

บ�กเลข 7 127FH (+ ) ก�บ 01 1H (+ ) ผ่ลทุ� ได้คั�อ -80 12H (

8) ซึ่. งผ่ลทุ� ได้แส่ด้งโด้ยใช้ Overflow Flag แตั ถู�เป�นตั�วเลขทุ� ไมี มี�เคัร� องห้มี�ย (Unsigned) จะไมี ส่นใจบ3ทุน��

IOPL (Input/Output Privilege Level) IOPL (Input/Output Privilege Level) ใช้ใน Protected Mode เพื่� อใช้เล�อกระด้�บก�รทุ��ง�นอ�ปกรณ/ I/O ทุ� พื่3เศษ โด้ยเปร�ยบเทุ�ยบระด้�บคัว�มีส่��คั�ญก�บอ�ปกรณ/ในป9จจ�บ�นว �ตั�วใด้มี�ระด้�บคัว�มีส่��คั�ญส่#งกว �ก'จะห้ย�ด้ก�รทุ��ง�นในขณะน��นก อนเพื่� อไปทุ��ง�นก�บอ�ปกรณ/ทุ� ส่#งกว � แตั ถู�ระด้�บคัว�มีส่��คั�ญของอ�ปกรณ/น��นมี�ระด้�บคัว�มีส่��คั�ญตั� �กว � จะไมี ส่นใจโด้ยทุ� ระด้�บของ IOPL = 00 จะมี�คัว�มีส่��คั�ญส่#งส่�ด้ และ 11 จะมี�ระด้�บคัว�มีส่��คั�ญตั� �ส่�ด้

Flags Register(Cont.) Flags Register(Cont.)

Page 34: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 34

NT (Nested Task) NT (Nested Task) แส่ด้งก�รทุ��ง�นป9จจ�บ�นโด้ยไมี เก� ยวของก�บง�นอ� นทุ� ทุ��ง�นใน Protected Mode เห้มี�อนก�น ซึ่. งบ3ทุน��จะใช้ Software เป�นตั�วก��ห้นด้

RF (Resume) RF (Resume) ใช้ในก�รคัวบคั�มีประมีวลผ่ลซึ่���ตั อจ�กคั��ส่� งถู�ด้ไป VM (Virtual Mode) VM (Virtual Mode) ใช้เล�อกก�รทุ��ง�นแบบเส่มี�อนใน Protected Mode ซึ่. ง

ก�รทุ��ง�นแบบน��ส่�มี�รถูทุ� จะใช้ง�นห้น วยคัว�มีจ��ของ DOS ได้ห้ล�ย ๆ ส่ วนพื่รอมีก�น

AC (Alignment Check) AC (Alignment Check) ใช้ตัรวจส่อบขอบเขตัของขอมี#ล โด้ยจะมี�ใช้ก�บ 80486SX

VIF (Virtual Interrupt Flag) VIF (Virtual Interrupt Flag) ใช้ก�บ Pentium Processor ข.�นไปVIP (Virtual Interrupt Pending)VIP (Virtual Interrupt Pending) เป�นขอมี#ลร�ยละเอ�ยด้ของก�รทุ��ง�นใน Virtual Mode ของ Pentium Processor ทุ� ทุ��ง�นแบบ Multitasking

ID (Identification)ID (Identification) เป�นตั�วบอกขอมี#ลตั �ง ๆ ของ Pentium Processor

Flags Register(Cont.) Flags Register(Cont.)

Page 35: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 35

Segment Register Segment Registerเป�นก�รใช้ง�น Register ร วมีก�บ Register อ� นภ�ยใน

Microprocessor ซึ่. งมี�ตั��งแตั - 4 6 Register ใน - Microprocessor 8086 80486 ประกอบด้วย

CS (Code Segment) CS (Code Segment) เป�นส่ วนทุ� ใช้เก'บโปรแกรมีตั �ง ๆ Code Segment เป�นส่ วนทุ� ก��ห้นด้ตั��แห้น งของห้น วยคัว�มีจ��ทุ� เก'บโปรแกรมี

DS (Data Segment) DS (Data Segment) เป�นส่ วนทุ� เก'บขอมี#ลทุ� โปรแกรมีตัองก�รใช้ง�น ซึ่. งก�รเข�ถู.งขอมี#ลโด้ยคั � Offset Address ห้ร�อ Register ทุ� เก'บคั � Offset Address ES (Extra Segment) ES (Extra Segment) ใช้ง�นร วมีก�บ Data Segment เมี� อใช้คั��ส่� งเก� ยวก�บกล� มีตั�วอ�กษร SS (Stack Segment) SS (Stack Segment) ใช้ก��ห้นด้พื่��นทุ� ของห้น วยคัว�มีจ��เพื่� อใช้เก'บขอมี#ล FS FS และ และ GSGS มี�ใช้ง�นเฉพื่�ะ Microprocessor ตั��งแตั 80386 ข.�นไป เพื่� อใช้รวมีห้น วยคัว�มีจ��ส่องส่ วนในก�รเข�ถู.งโด้ยโปรแกรมี

Page 36: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 36

Operating System

Page 37: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 37

Page 38: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 38

Page 39: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 39

Page 40: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 40

Page 41: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 41

Page 42: Wannachai Wannasawade Department of Computer Education Faculty of Technical Education, KMUTNB

CPU Architecture 42