งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Chapter 11 Instruction Sets: Addressing Modes

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Chapter 11 Instruction Sets: Addressing Modes"— ใบสำเนางานนำเสนอ:

1 Chapter 11 Instruction Sets: Addressing Modes and Formats (การกำหนดที่อยู่และรูปแบบ ) Addresssing Mode จะเป็นการอ้างอิงตัวถูกกระทำภายในคำสั่ง ซึ่งจะประกอบไปด้วยค่าที่แท้จริงของตัวถูกกระทำ การอ้างอิงไปยังที่อยู่ของตัวถูกกระทำ ซึ่งการอ้างอิงมีหลายวิธีขึ้นอยู่กับสภาวะการกำหนดที่อยู่(addressing Mode) ที่กำหนดใช้สำหรับชุดคำสั่งนั้น รูปแบบของคำสั่ง(Instruction Format) ใช้ในการกำหนดโครงสร้างของเขตข้อมูลต่างๆ ของคำสั่งแต่ละคำสั่ง

2 Addressing Modes เป็นการคำนวณ Address ของคำสั่งกับหน่วยความจำ
ข้อมูลที่อยู่ในชุดคำสั่งทั่วๆ ไปมักมีขนาดเล็กเพราะมันมีความจำกัด ในขณะที่บางครั้งการประมวลผลต้องการอ้างอิงข้อมูลที่มีขนาดใหญ่กว่า(เช่นไปอ้างอิงข้อมูลในหน่วยความจำหรือหน่วยความจำภายนอก) ดังนั้นจึงมีการคิดค้นวิธีการอ้างอิงหน่วยความจำขึ้นมาหลายแบบ ดังนี้ Immediate(การใช้ตัวถูกกระทำโดยตรง) Direct(การอ้างอิงโดยตรง) Indirect(การอ้างอิงทางอ้อม) Register(การอ้างอิงผ่าน Register โดยตรง) Register Indirect(การอ้างอิงผ่าน Register ทางอ้อม) Displacement (Indexed) Stack 2

3 Immediate Addressing (การใช้ตัวถูกกระทำโดยตรง)
Operand is part of instruction Operand = address field e.g. ในชุดคำสั่งของ MCS-51 เช่น Add A,#05H No memory reference to fetch data(ไม่มีการอ้างอิงข้อมูลภายนอกเหนือไปจากการอ่านคำสั่งเข้ามาใน CPU ทำให้ประหยัดวงรอบการอ้างอิง) Fast(เร็ว) Limited range ขนาดของตัวเลขถูกจำกัดด้วยขนาดของ เขตข้อมูล ดังนั้นขนาดของข้อมูลมีขนาดเล็ก Operand Opcode Instruction 3

4 Direct Addressing อ้างอิงการ Memory(การอ้างอิงโดยตรง)
คือในส่วนของ Operand จะบรรจุตำแหน่งที่อยู่จริง e.g. ADD 03H คือ 03H เป็นที่อยู่ตำแหน่ง 0003H ของ Memory Single memory reference to access data Address A Opcode Instruction Memory Operand 5

5 Indirect Addressing (memory ชี้ไปยัง memory)(การอ้างอิงทางอ้อม)
เนื่องจากวิธีการ Direct นั้น ความยาวของ Operand จะมีขนาดสั้นกว่า ทำให้อ้างถึงข้อมูลใน Memory ได้จำกัด ดังนั้นวิธีการ Indirect นี้ จึงนำมาใช้ในการแก้ปัญหานั้น Address A Opcode Instruction Memory Operand Pointer to operand e.g. ADD (03h) จะการบวกค่าที่ถูกชี้โดยข้อมูลในตำแหน่ง 0003h ซึ่งข้อมูลภายในตำแหน่ง 0003h ก็จะเป็นข้อมูลที่ชี้ไปยังตำแหน่งที่ต้องการ ข้อเสียคืออ้างอิงวงรอบ 2 รอบ 7

6 Register Addressing (การอ้างอิงผ่าน Register โดยตรง)
จะคล้ายกับวิธี Direct เพียงแต่ข้อมูลของ Direct จะบรรจุตำแหน่งหน่วยความจำ แต่ วิธีนี้จะบรรจุหมายเลข Register ที่อ้างอิง เช่น Add AX ทำการบวกค่าที่ Register AX เก็บอยู่ Register Address R Opcode Instruction Registers Operand 10

7 Register Indirect Addressing(การอ้างอิงผ่าน Register ทางอ้อม)
เช่น Add (Ax) เอาข้อมูลใน Memory ที่ Register ชี้อยู่ มาบวก Register Address R Opcode Instruction Memory Operand Pointer to Operand Registers 13

8 Displacement Addressing
เป็นการรวมเอาการอ้างอิงหน่วยความจำแบบ Direct และการอ้างอิงแบบ Register Indirect EA = A + (R), ADD = (R) + 7 Register R Opcode Instruction Memory Operand Pointer to Operand Registers Address A + 15

9 Operand is (implicitly) on top of stack
Stack Addressing Operand is (implicitly) on top of stack Stack ไม่จำเป็นต้องอ้างอิงตำแหน่งที่อยู่ คำสั่งไม่จำเป็นต้องอ้างอิงหน่วยความจำ e.g. ADD Pop top two items from stack and add 21

10 แนวการสร้างชุดคำสั่งที่ Support การอ้าง Address
Add # Immedia // + กับเลข 7 โดยตรง Add 10H Direct //+กับข้อมูลอยู่ในM emory Add (7) In direct //+กับข้อมูลที่ Memory ชี้อยู่ Add $7 แบบอื่นๆ เราจะรู้ได้ยังไงว่าแบบไหน ตรงชุดคำสั่งเราอาจจะต้องกำหนดใหม่เช่น ชุดคำสั่งขนาด 8 bit เราก็กำหนดเป็น ADD 7 เพิ่ม


ดาวน์โหลด ppt Chapter 11 Instruction Sets: Addressing Modes

งานนำเสนอที่คล้ายกัน


Ads by Google