Page 2
ชดคาสง คอ กลมของคาสงทใชในการบอกขนตอนการ
ทางานอยางเปนลาดบใหกบ CPU
ชดคาสง เชน ADD (บวก), SUBTRACT (ลบ),
MULTIPLY (คณ), DIVIDE (หาร), COMPARE
(เปรยบเทยบ), MOVE (ยาย), INPUT (นาเขา) และ
OUTPUT (แสดงผล)
Page 3
หนาทของ Instruction Set จะชวย Complier ทาการ
แปลง Source Code ของโปรแกรมภาษาระดบสง ใหเปน
Object Code ของภาษาระดบตา
เมอแปลงเสรจแลว จะนา Object Code ไปเกบใน
หนวยความจาหลก เพอรอสงไปประมวลผลท CPU
Page 4
ภาษาระดบตา
หนวยความจา
Compiler Object Code CPUSource Code
ภาษาระดบสง
Instruction Set
Page 5
CISC (Complex Instruction Set Computer)
RISC (Reduced Instruction Set Computer)
Presenter
Presentation Notes
CISC มชดคำสงทซบซอนเปนจำนวนมาก RISC มแนวคดทจะลดความซบซอน ลดคำสงทไมจำเปน
Page 6
เปนสถาปตยกรรมทมขนาดใหญ และซบซอน
ม Instruction Set จานวนมากและซบซอน
Object Code มขนาดเลก เพอประหยดเนอทของ
หนวยความจา
หนวยความจาทางานไดชา
CPU มความซบซอน
Presenter
Presentation Notes
เปนสถาปตยกรรมทมขนาดใหญ และซบซอน - ในการทำงานแตละครง จะตองกระทำผาน Instruction ทงหมด ทำใหตองมการเตรยม Instruction ไวเปนจำนวนมากเพอรองรบสนบสนนการทำงานทกงาน ม Instruction Set จำนวนมากและซบซอน ทำใหโปรแกรมเมอรทเขยนภาษาระดบสง สะดวกตอการเขยนโปรแกรม Object Code มขนาดเลก เพอประหยดเนอทของหนวยความจำ หนวยความจำทำงานไดชา เพราะ Object Code ของแตละโปรแกรมมขนาดไมเทากน จงทำใหหนวยความจำหลกตองเสยเวลาในการถอดรหส Instruction ทอยภายใน Object Code CPU มความซบซอน เนองจาก CISC ม Instruction Set ทซบซอน ดงนน CPU ทควบคมการทำงานของ Instruction จงมความซบซอนและตองใชแผงวงจรขนาดใหญตามไปดวย ทำใหคาใชจายสงขน
Page 7
เปนสถาปตยกรรมทมขนาดเลก
Instruction Set มขนาดเลก
Object Code มขนาดใหญ
หนวยความจาทางานไดเรว
CPU ไมซบซอน
Presenter
Presentation Notes
เปนสถาปตยกรรมทมขนาดเลก เพราะ มการลดจำนวนคำสงและความซบซอนของ Instruction ลง โดยกำหนดใหคำสงทสามารถเขาถงหนวยความจำได คอ คำสง Load และ Store เทานน สวนคำสงอน ๆ จะกระทำกบขอมล ใน Register Instruction Set มขนาดเลก ทำให Instruction Set ไมซบซอนเหมอนกบ CISC Object Code มขนาดใหญ RISC กำหนดให Object Code มความยาวคงท ซงกคอ ความยาวของ Object Code มขนาดเทากบจำนวน Instruction ทงหมด จงทำให Object Code ของบางโปรแกรม มขนาดใหญกวาการใชงานจรง หนวยความจำทำงานไดเรว เนองมาจากการกำหนดขนาด Object Code ใหมความยาวคงท ทำใหหนวยความจำ สามารถถอดรหส Instruction ไดอยางรวดเรว CPU ไมซบซอน เมอ Instruction Set มขนาดเลก และไมซบซอน CPU จงไมจำเปนทจะตองมความซบซอน
Page 8
การสอสารระหวาง CPU กบหนวยความจา สามารถทาได
ทงอานและเขยนขอมล
CPU หนวยความจา
Address
Memory Read
Data
Presenter
Presentation Notes
1. CPU สง Address เพอระบตำแหนงของขอมลทตอง 2. CPU สงสญญาณ เพอระบจดประสงคของการตดตอสอสารกบหนวยความจำ โดยกรณน CPU ตองการอานขอมลบนหนวยความจำ 3. หลงจากทหนวยความจำไดรบสญญาณดงกลาว กจะเรมอานขอมลตามตำแหนง Address ท CPU สงมา แลวนำขอมลนนสงกลบไปยง CPU
Page 9
ขนตอนการสอสาร เพอทาการเขยนขอมลลงบน
หนวยความจา
CPU หนวยความจา
Address
Memory Write
Data
Presenter
Presentation Notes
1. CPU สง Address เพอระบตำแหนงของขอมลทตอง 2. CPU สงสญญาณ เพอระบจดประสงคของการตดตอสอสารกบหนวยความจำ โดยกรณน CPU ตองการเขยนขอมลบนหนวยความจำ 3. หลงจากทหนวยความจำไดรบสญญาณดงกลาว กจะเรมอานขอมลตามตำแหนง Address ท CPU สงมา แลวนำขอมลทถกสงมาเขยนลงบนหนวยความจำทนท
Page 10
Synchronous Interface ใชชวงเวลาเปนตวกาหนดใน
การอานหรอเขยนขอมล ไมมสญญาณตอบกลบ
CPU หนวยความจา
Address
Memory Write
Data
Memory Read
Presenter
Presentation Notes
เปนรปแบบการสอสารทนำชวงเวลามาใชกำหนดการอานหรอ การเขยนขอมลบนหนวยความจำ จงทำใหไมมสญญาณตอบกลบจากหนวยความจำไปยง CPU
Page 11
Asynchronous Interface หนวยความจาจะมการแจง
กลบไปยง CPU เมอขอมลถกเขยนหรออานเรยบรอยแลว
CPU หนวยความจา
Address
Memory Write
Data
Memory Read
MFC
Presenter
Presentation Notes
ลกษณะเดนของการสอสารรปแบบนคอ หนวยความจำจะแจงกลบไปยง CPU เมอขอมลนนไดอานหรอเขยนเรยบรอยแลว โดยใชสญญาณสถานะ (Status Signal) ทมชอวา Memory Function Complete : MFC
Page 12
ระยะ Fetch เปนระยะท CPU ดงชดคาสง (Instruction)
ขนมาจากหนวยความจาหลก
ระยะ Execute เปนระยะท CPU แปลความหมายชดคาสง
(Instruction) เพอประมวลผล
Presenter
Presentation Notes
ระยะ Fetch เปนระยะท CPU ทำหนาทดง Instruction (Fetch Instruction) ขนมาจากหนวยความจำหลกกอน ระยะ Execute เปนระยะท CPU ทำหนาทตความ Instruction (Execute Instruction) เพอปฏบตงานตาม Instruction จากนนจงเตรยมทำ Instruction ถดไป การดง Instruction และตความ Instruction จะกระทำวนรอบไปเรอย ๆ ลกษณะการทำงาน ดงกลาวน เรยกวา “กระบวนการ Instruction Cycle”
Page 13
รปแบบปกตของ Instruction ทใชกบ Instruction Cycle
OpCode Operand
Fetch Instruction
Execute Instruction
NextInstruction
Presenter
Presentation Notes
Operation Code หรอ OpCode เปนรหสคำสงทตองการดำเนนการ เชน ADD SUB STORE LOAD Operand ทำหนาทเกบ Address ทใชอางองขอมลทอยในหนวยความจำทตองการ
Page 14
รปแบบ Instruction ชนด ADD
Add OpCode Operand Address 1 Operand Address 2
Presenter
Presentation Notes
Operation Code หรอ OpCode เปนรหสคำสงทตองการดำเนนการ เชน ADD SUB STORE LOAD Operand ทำหนาทเกบ Address ทใชอางองขอมลทอยในหนวยความจำทตองการ
Page 15
Fetch Instruction
Decode Instruction
Fetch Operands
Do Addition
Store Result
NextInstruction
Presenter
Presentation Notes
Fetch Instruction ดง Instruction จากหนวยความจำหลก Decode Instruction ตความ Instruction วาตองการทำงานอะไร Fetch Operands ดงขอมล (ตวถกดำเนนการ) ทตองการจากหนวยความจำหลก หรอ CPU Register แลวสงไปยง ALU Do Addition คำนวณทางคณตศาสตร โดยกระทำในสวนของ ALU Store Result เกบผลลพธลงในหนวยความจำหรอ Register
Page 16
Fetch the first word of Instruction
Analyze
Instruction Fetch Completion
Go to Execute Phase
IL <= 1 Word
Fetch One More Word
Analyze
Fetch Instruction
จนครบ
Fetch Instruction
ยงไมครบ
IL >1 Word
Presenter
Presentation Notes
การ Fetch คำสงแตละครง จะตองวเคราะหวา ขนาดความยาวของ Instruction เปนเทาไร หากขนาดความยาวของ Instruction <=1 word แสดงวาคำสงนน ถก Fetch อยางสมบรณแลว แตหากขนาดความยาวของ Instruction มากกวา 1 word ให Fetch คำสง ออกมากอนหนงครง และวเคราะหคำสงอกรอบ หากยงไมครบให Fetch อกรอบ ทำเชนนไปเรอย ๆ จนกวาจะ Fetch Instruction จนครบถวนสมบรณพรอมทจะ นำเขาไปสระยะ Execute ตอไป
Page 17
คาสงในการเคลอนยายขอมล
ตวดาเนนการ คาอธบาย
MOVE ยายขอมลจากหนวยความจาหรอ Register ไปยงแหลงปลายทาง
LOAD ดงขอมลจากหนวยความจาไปยง Register
STORE ยายขอมลจาก Register ไปเกบลงในหนวยความจา
PUSH ยายขอมลจากแหลงขอมล เขาไปยง Stack
POP ยายขอมลจาก Stack ไปยงแหลงปลายทาง
XCHG แลกเปลยนขอมลระหวางแหลงตนทางกบปลายทาง
Presenter
Presentation Notes
เปนชนดของ Instruction สำหรบเคลอนยายขอมลจากหนวยความจำ หรอ Register จากทหนงไปยงอกทหนง
Page 18
คาสงการคานวณ
ตวดาเนนการ คาอธบาย
ADD การบวก สาหรบหาผลรวมระหวางตวถกดาเนนการ 2 ตว
SUB การลบ สาหรบหาผลตางระหวางตวถกดาเนนการ 2 ตว
MUL การคณ สาหรบหาผลตางระหวางตวถกดาเนนการ 2 ตว
DIV การหาร สาหรบหาผลตางระหวางตวถกดาเนนการ 2 ตว
INC เพมคา ทละหนงลงใน Register
DEC ลดคา ทละหนงลงใน Register
NEG นเสธ สาหรบเปลยนเครองหมายของตวถกดาเนนการ
Presenter
Presentation Notes
เปนชนดของ Instruction ทใชสำหรบคำนวณทางคณตศาสตรตาง ๆ เชน บวก ลบ คณ และหาร เปนตน
Page 19
คาสงทางตรรกะ
ตวดาเนนการ คาอธบาย
NOT คลายกบนเสธ เปลยนจากคาจรงเปนเทจ / เทจเปนจรง
OR การเปรยบเทยบดวย “หรอ”
AND การเปรยบเทยบดวย “และ”
Presenter
Presentation Notes
เปนชนดของ Instruction ทใชสำหรบคำนวณทางตรรกศาสตรตาง ๆ
Page 20
คาสงการเคลอนยาย
ตวดาเนนการ คาอธบาย
JUMP เปนการกระโดดไปทางานอกคาสงทถกระบ
โดย Program Counter
JUMPIF เปนการยายไปทางานแบบมเงอนไข
INT เปนการกระโดดไปทางานกบอปกรณอนทเขามาขดจงหวะ
LOOP การทางานซ าแบบวนรอบ
Presenter
Presentation Notes
เปนชนดของ Instruction ทควบคมลำดบการประมวลผล
Page 21
คาสง Input / Output
ตวดาเนนการ คาอธบาย
IN อานขอมลจาก Input เขาสระบบคอมพวเตอร
OUT เขยนขอมลจากระบบคอมพวเตอร แลวสงออกส Output
TEST I/O อานสถานะจากอปกรณ I/O
START I/O เปนสญญาณจาก I/O เพอเรมคาสงการทางานของโปรแกรม I/O
HALT I/O เปนสญญาณจาก I/O เพอยกเลกคาสงการทางานของโปรแกรม
I/O
Presenter
Presentation Notes
เปนชนดของ Instruction ทใชสำหรบแลกเปลยน ขอมลระหวางอปกรณภายนอก และภายในระบบคอมพวเตอร
Page 22
คาสงจดการกบขอมลทเปนตวอกษร
ตวดาเนนการ คาอธบาย
MOVS เคลอนยายขอความ
LODS โหลดขอความ
CMPS เปรยบเทยบขอความ
STOS เกบบนทกขอความ
SCAS ตรวจสอบขอความ
Presenter
Presentation Notes
เปนชนดของ Instruction ทใชสำหรบจดการกบกลมตวอกษร (String) ซงโดยสวนใหญขอความทเกบภายในหนวยความจำ จะมความยาว Word เทากบจำนวนบตของสถาปตยกรรมคอมพวเตอรนน ๆ เชน คอมพวเตอรขนาด 32 บต จะมความยาวของขอมลเปน 32 บตเชนกน
Page 23
คาสงการแปลง
ตวดาเนนการ คาอธบาย
PACK การแปลงเลขฐานสบ แบบ Unpacked ใหเปนแบบ Packed
UNPACK การแปลงเลขฐานสบ แบบ Packed ใหเปนแบบ Unpacked
Presenter
Presentation Notes
เปนชนดของ Instruction ทใชในการแปลงรปแบบขอมล ใหเปนอกรปแบบหนง
Page 24
คาสงควบคมการประมวลผล
ตวดาเนนการ คาอธบาย
HLT หยดกระบวนการ Instruction Cycle (Halt)
WAIT หยดกระบวนการ Instruction Cycle และคอยจนกวาจะม
สญญาณใหทางานตอไปได
NOOP ไมมการทาคาสงใด ๆ
Presenter
Presentation Notes
เปนชนดของ Instruction ทสามารถควบคมการทำงานของ CPU ได
Page 25
Instruction จะมขนาดทคอนขางจากด จงทาใหไม
สามารถเกบขอมลจรงลง Operand ไดทงหมด
จงมการเกบ Address ของ Operand แทน
Operand ของจรงจะอยบนหนวยความจาหรอ Register
Presenter
Presentation Notes
จากการออกแบบ Instruction พบวา Instruction จะมขนาดคอนขางจำกด จงทำใหบาง Instruction ไมสามารถเกบขอมลจรงลงใน Operand ทงหมดได แตจะเกบเปน Address ของ Operand แทน เพอใชบอกตำแหนงของ Operand ทอยบนหนวยความจำหรอ Register แทน
Page 26
เปนวธการอางองขอมลแบบงาย โดยเกบขอมลลงในพนท
ของ Operand ภายใน Instruction โดยตรง
โหลดขอมล 101011 ลงไปใน Register
OpCode Operand (#101011)
Presenter
Presentation Notes
# แทนสญลกษณทบอกวาเปนขอมล ไมใช Address
Page 27
เปนวธการอางองขอมล โดยเกบ Address ไวใน
Instruction ซงเปนตวระบไปยง Operand ทถกจดเกบ
อยในหนวยความจาไดโดยตรง
OpCode Operand Address (100100)
Operand (101011)100100
หนวยความจา
Presenter
Presentation Notes
# แทนสญลกษณทบอกวาเปนขอมล ไมใช Address ขอด Operand ถกเกบอยในหนวยความ จงทำใหขนาดของ Operand ไมถกจำกดดวยขนาดของ Instruction เหมอน Immediate ขอเสย หาก Address มขนาดใหญกวาพนทใน Instruction อาจทำใหเกดความ ผดพลาดในการอางองขอมลได ทำใหใชเวลาในกระบวนการ Instruction Cycle มากกวา Immediate เพราะ มการเกบ Address อางอง
Page 28
เปนวธการอางองขอมล โดยเกบ Address ไวใน
Instruction ซงเปนตวระบไปยง Operand Address ท
ถกจดเกบอยในหนวยความจา และอางองไปยง Operand
ทอยในหนวยความจาอกท
OpCode Address (100100)
Operand Address(101101)
100100
หนวยความจา
Operand (101011)100101
Presenter
Presentation Notes
ขอด มความยดหยนในทางการเขยนโปรแกรม เพราะ สามารถเปลยน Address ระหวางทโปรแกรม กำลงทำงานอยได โดยทขนาดของ Instruction ไมเปลยนแปลง
Page 29
เปนวธการอางองทคลายกบ Direct Addressing แตจะ
อางองขอมลผาน Register โดยตรง
OpCode Register Number (R)
Operand (101011)R
Register
Presenter
Presentation Notes
ขอด Register Number มขนาดทเลกมาก จงสามารถเกบตำแหนงของ Operand ทอยใน Register ไวใน Instruction ไดอยางไมมปญหา เรองขนาด -การ Fetch คา Operand จาก Register ยงทำไดเรวกวา Fetch จากหนวยความจำ ขอเสย - ขนาดความจของ Register จำนวนนอย
Page 30
เปนวธการอางองทคลายกบ Indirect Addressing แตจะ
อางอง Operand Address ผาน Register ทจะอางองไป
ยงขอมลทอยในหนวยความจา
OpCode Register Number (R)
Operand Address(101101)
หนวยความจา
Operand (101011)
100101Register
Presenter
Presentation Notes
ขอด Register Number มขนาดทเลกมาก จงสามารถเกบตำแหนงของ Operand ทอยใน Register ไวใน Instruction ไดอยางไมมปญหา เรองขนาด -มความยดหยนในการเขยนโปรแกรม เพราะสามารถเปลยน Address ระหวางทโปรแกรมกำลงทำงานอยได โดยทขนาดของ Instruction ไมเปลยนแปลง ขอเสย การเขาถงขอมล จะตองอางองผาน Register และหนวยความจำ ตามลำดบ จงทำใหใชเวลาในกระบวนการ Instruction Cycle มาก