Upload
eugenia-lang
View
63
Download
0
Embed Size (px)
DESCRIPTION
บทที่ 4 สถาปัตยกรรมคอมพิวเตอร์เบื้องต้น. สถาปัตยกรรมทั่วไปของระบบคอมพิวเตอร์ หน่วยประมวลผลกลาง หน่วยความจำ สถาปัตยกรรมของหน่วยประมวลผลตระกูล 80x86 ความเป็นมา ลักษณะทั่วไปของไมโครโปรเซสเซอร์ 8086 ระบบบัส การจัดการหน่วยความจำ แสต็ก รายละเอียดของส่วนประกอบภายใน ALU Registers - PowerPoint PPT Presentation
Citation preview
บทท�� 4 สถาปัตยกรรมคอมพิ�วเตอร�เบ��องต�น
• สถาปัตยกรรมท��วไปัของระบบคอมพิ�วเตอร�– หน วยปัระมวลผลกลาง– หน วยความจำ$า
• สถาปัตยกรรมของหน วยปัระมวลผลตระก%ล 80x86– ความเปั'นมา– ล�กษณะท��วไปัของไมโคร
โปัรเซสเซอร� 8086• ระบบบ�ส• การจำ�ดการหน วยความจำ$า• แสต.ก
– รายละเอ�ยดของส วนปัระกอบภายใน• ALU• Registers
– โหมดการอ�างแอดเดรส– การอ�นเตอร�ร�พิท�
• สถาปัตยกรรมของหน วยปัระมวลผลสม�ยใหม
หน วยปัระมวลผลกลาง
• ข��นตอนการท$างาน– อ านค$าส��ง (Fetch)– ต�ความ (Decode)– ปัระมวลผล (Excute)
• CPU จำะท$างานตามชุ2ดค$าส��งท��อ่�านขึ้��นมาจากหน�วยความจ�าหลั�กเท่�าน��น
Stored Program Architecture (หร�อ von Neumann Architecture)
• ชุ2ดค$าส��ง Opcode + Operand
– Opcode : ระบ2ปัระเภทของการปัระมวลผล
– Operand : ระบ2ข�อม%ลท��น$ามาปัระมวลผล
Fetch
DecodeExcute
OperandOpcode
หน วยความจำ$า
• บ�ต : หน วยท��เล.กท��ส2ดในการเก.บข�อม%ล• ไบต� : หน วยท��ใชุ�ในการอ�างถ3งข�อม%ลใน
หน วยความจำ$า– หน วยย อยจำะม�หมายเลขเฉพิาะต�ว
แอ่ดเดรส [Address]
• การอ�างถ3งข�อม%ลในหน วยความจำ$า– หน วยปัระมวลผลจำะต�องสามารถระบ2
แอดเดรสของข�อม%ลน��นด�วย
บ�ส : ชุ องทางส งส�ญญาณ• อ2ปักรณ�ต าง ๆ จำะเชุ��อมต อก�นโดย
ผ านทางกล2 มของสายส�ญญาณ ท�� เราเร�ยกว า บั�ส
• เราสามารถแบ งกล2 มของบ�สออก เปั'น 3 กล2 ม
– บ�สข�อม%ล– บ�สต$าแหน ง หร�อ แอดเดรสบ�ส– บ�สควบค2ม
CPUCPU Memory I/O I/OI/O
Data busAddress busControl bus
สถาปัตยกรรมของระบบ ไมโครโปัรเซสเซอร�ตระก%ล
80x86• ความเปั'นมา
– 4040 4 บ�ต– 8080 8 บ�ต– 8086 16 บ�ต อ�างหน วยความจำ$าได� 1 MB– 8088 ภายใน 16 บ�ต ภายนอก 8 บ�ต– 80186 ไมโครโปัรเซสเซอร�ส$าหร�บระบบ
ความค2ม– 80286 16 บ�ต อ�างหน วยความจำ$าได� 16
MB เร��มม�ความสามารถในการจำ�ดการหน วยความจำ$า
– 80386 32 บ�ต อ�างหน วยความจำ$าได� 4 GB ม�ความสามารถในการจำ�ดการหน วยความ
จำ$า ชุ�ดค�าส��งแลัะโครงสร�างท่างซอ่ฟต์#แวร#ย�งคงเป็%นมาต์รฐานอ่ย'�ในป็)จจ�บั�น
– 80486 เพิ��มหน วยปัระมวลผลทางคณ�ตศาสตร�
– Pentium พิ�ฒนาการปัระมวลผลให�เร.วย�งข3�น
• หน วยปัระมวลผลตระก%ลอ��น ๆ เชุ น– 68000, PowerPC, Alpha, SPARC,
MIPS
การจำ�ดการหน วยความจำ$า
• 8086 ม�แอดเดรสบ�สขนาด 20 บ�ตอ�างแอดเดรสได� 2 แบบแตกต างก�นอ�างแอดเดรสได� 1 MB
แอ่ดเดรสขึ้นาด 20 บั+ต์น,� ค-อ่แอ่ดเดรสท่,�แท่�จร+ง (physical address) ท่,�หน�วยป็ระมวลัผลัอ่�างจากหน�วยความจ�า
• 8086 ม�ร�จำ�สขนาด 16 บ�ตไม พิอเพิ�ยงในการอ�างแอดเดรสต�องใชุ�ร�จำ�สเตอร� 2 ต�วในการอ�าง
แอดเดรส• อ�างแอดเดรสแบบ เซกเมนต์# :
อ่อ่ฟเซ/ต์• แบ งหน วยความจำ$าท��งหมดออกเปั'น
ส วนย อย ๆ ท��เร��มต�นแตกต างก�น [segment] แล�วระบ2ระยะจำากจำ2ดเร��มต�นน��น [offset]
การอ�างแอดเดรสแบบเซกเมนต� : ออฟเซ.ต
• การแปัลงจำากการอ�างแบบ เซกเมนต� : ออฟเซ.ต เปั'น physical address
• เล��อนบ�ตของเซกเมนต� ไปัทางซ�าย 4 บ�ต (-> ม�ขนาด 20 บ�ต)
• น$าค าของออฟเซ.ตมาบวก
memory
segment offset
ต์�วอ่ย�าง แปัลงจำาก 12ADh : 3A3Eh
12AD0h เซกเมนต�ท��เล��อนบ�ตไปัทางซ�าย 4 บ�ต
3A3Eh ออฟเซ.ต1650Eh physical
address
– ในทางกล�บก�น physical address 1650Eh สามารถอ�างแอดเดรสแบบ segment : offset ได�เปั'น 12ADh : 3A3Eh เชุ นก�น แลัะย�งสามารถอ่�างแบับัอ่-�นได�ด�วย เชุ�น 1650h :000Eh 1200h : 450Eh 1000h : 650Eh แลัะ ค'� segment : offset อ่-�น ๆ อ่,กหลัายค'�
การเหล��อมก�นของเซกเมนต�
• เซกเมนต�หน3�ง ๆ ม�ขอบเขตต��งแต offset ท�� 0000h จำนถ3ง FFFFh [16 บ�ต]
เซกเมนต�ม�ขนาด = 64 KB [65536 bytes]
• จำ2ดเร��มต�นของเซกเมนต�ต าง ๆ – เซกเมนต�ท�� 0000h เร��มต�นท�� physical
address 00000h– เซกเมนต�ท�� 0001h เร��มต�นท�� physical
address 00010h– เซกเมนต�ท�� 0002h เร��มต�นท�� physical
address 00020h
• ล�กษณะของการเร�ยงต�วของเซกเมนต�จำะเหล��อมก�น
segment0000hsegment0001hsegment0002hsegment0003h
เซกเมนต�ร�จำ�สเตอร�
• CS : Code segment ชุ��ไปัย�งหน วยความจำ$าท��เก.บโปัรแกรม
• DS : Data segment ชุ��ไปัย�งหน วยความจำ$าท��เก.บข�อม%ล
• ES : Extra segment ชุ��ไปัย�งหน วยความจำ$าท��เก.บข�อม%ล
อ��น ๆ• SS : Stack segment ชุ��
ไปัย�งหน วยความจำ$าท��เปั'น stack
Code segment
Data segment
Stack segment
Extra segment
• 8086 สามารถอ�างหน วยความจำ$า ท��งหมดได� 1 MB แต สามารถอ�าง
ได�พิร�อมก�นแค 4 เซกเมนต�เท าน��น
แสต.ก• เปั'นหน วยความจำ$าส$าหร�บเก.บข�อม%ล ท��
ม�ล�กษณะเปั'นแบบ เข�าก อนออก ท�หล�ง (First In Last Out :FILO)
รายละเอ�ยดของส วนปัระกอบภายในไมโคร
โปัรเซสเซอร� 8086• ALU : ม�ขนาด 16 บ�ต
• ท$าให�เร�ยก 8086 ว าเปั'น CPU 16 บ�ต• ร�จำ�สเตอร�
• ร�จำ�สเตอร�ท��วไปั (General-Purpose Registers)
– 16 บ�ต : AX BX CX และ DX– 8 บ�ต : AH AL BH BL CH CL DH และ
DL
• ร�จำ�สเตอร�ส$าหร�บอ�างอ�ง (Index Registers)– ม�ขนาด 16 บ�ต : SI และ DI
• ร�จำ�สเตอร�ส$าร�บการชุ�� (Pointer Registers)– ม�ขนาด 16 บ�ต : BP และ SP
• เซกเมนต�ร�จำ�สเตอร� (Segment Registers)– CS DS ES และ SS
• แฟล.ก (Flags)– สถานะของผลล�พิธ์�จำากการค$านวณ
• ร�จำ�สเตอร�อ��น ๆ ท��ผ%�ใชุ�ไม สามารถใชุ�ได�โดยตรง
– IP (Instruction Pointer) : เก.บต$าแหน งของค$าส��งถ�ดไปั
– IR (Instrcution Register) : เก.บค$าส��งปัจำจำ2บ�น– etc.
ค% ร �จำ�สเตอร� 16 บ�ต และ 8 บ�ต
• AX (Accumulator Register)
• BX (Base Register)
• CX (Counter Register)
• DX (Data Register)
AXAH AL
BXBH BL
CXCH CL
DXDH DL
โหมดการอ�างแอดเดรส• โหมดการอ�างแอดเดรส
(Addressing Mode) ค�อร%ปัแบบท��CPU อ�างถ3งข�อม%ล แบ งเปั'น 3 กล2 ม– อ�างถ3งข�อม%ลใน ร�จำ�สเตอร�– อ�างถ3งข�อม%ลจำากท��ระบ2ในค$าส��ง– อ�างถ3งข�อม%ลในหน วยความจำ$า
การข�ดจำ�งหวะ• การส��งให�หน วยปัระมวลผลหย2ด
ท$างานปัจำจำ2บ�นชุ��วคราว แล�วกระโดด ไปัตอบสนองการข�ดจำ�งหวะน��น
เม��อตอบสนองเสร.จำแล�ว CPU จำะกล�บมาปัระมวลผลงานเด�มท��ค�างไว�
• ต�วอย าง เชุ น อ2ปักรณ�บางชุ��นได�ร�บ ข�อม%ล ข�อม%ลเข�ยนลงในฮาร�ดด�สก�
เร�ยบร�อย หร�อ ม�การกดปั2<มบนแปั=น พิ�มพิ� เปั'นต�น
• การข�ดจำ�งหวะสามารถสร�างได�จำาก– ฮาร�ดแวร� : ฮาร�ดแวร�อ�นเตอร�ร�พิท�
• ใชุ�ในการแจำ�งการเปัล��ยนสถานะของ อ2ปักรณ�รอบข�างต างๆ และต�องการการ
จำ�ดการจำาก CPU
– ซอฟต�แวร� : ซอฟต�แวร�อ�นเตอร�ร�พิท�• ใชุ�ในการเร�ยกใชุ�บร�การของระบบ
(system library)
สถาปัตยกรรมของระบบคอมพิ�วเตอร�สม�ย
ใหม • เทคโนโลย�ของหน วยปัระมวลผลก
ลาง– หน วยปัระมวลผลแบบ RISC– การปัระมวลผลแบบ ไปัปั>ไลน�– การปัระมวลผลแบบซ%เปัอร�สเกลาร�
• ระบบบ�สสม�ยใหม – หน วยความจำ$าแคชุ