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

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

Addressing Modes ธนวัฒน์ แซ่เอียบ.

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


งานนำเสนอเรื่อง: "Addressing Modes ธนวัฒน์ แซ่เอียบ."— ใบสำเนางานนำเสนอ:

1 Addressing Modes ธนวัฒน์ แซ่เอียบ

2 Addressing เราสามารถพบ operand ได้ที่ไหน ? 1. 2. 3.

3 Addressing **** **** opcode operand (address field) location content
**** **** location content ฟิลด์ที่ใช้ระบุ address ใน instruction มีขนาดเล็ก เนื่องจากพื้นที่ส่วนหนึ่งสูญเสียให้กลับส่วนที่เป็น opcode

4 Addressing ดังนั้นต้องมีเทคนิคที่สามารถอ้างถึง location ในหน่วยความจำทั้งหมดได้ ซึ่งมีเทคนิคดังต่อไปนี้ Immediate Direct Indirect Register สถาปัตยกรรมทั้งหมดของคอมพิวเตอร์มี addressing mode มากกว่า 1 โหมดขึ้นไป Addressing mode กำหนดได้ที่ opcode ในส่วนที่เรียกว่า mode field

5 Immediate Addressing Instruction Operand เป็นรูปแบบที่ง่ายที่สุดของ addressing นั่นคือ operand ปรากฏอยู่ใน instruction OPERAND = A ส่วนมากใช้นิยามค่าคงที่หรือค่าเริ่มต้นให้กับตัวแปร ข้อดี ไม่มีการอ้างถึงหน่วยความจำทำให้ไม่ต้องใช้ cycle เพื่อเข้าถึงหน่วยความจำเพิ่มเติม

6 Immediate Addressing ข้อเสีย
ขนาดของ operand ขึ้นอยู่กับขนาดของฟิลด์ address ตัวอย่าง Operand = (1318) (8910) Instruction

7 Direct Addressing Memory Operand
Instruction A Operand ในฟิลด์ address เก็บ effective address ของ operand EA = A Effective address (EA) คือ address จริงๆของ location ที่มี operand การคำนวณ EA เพื่อให้ address จริงใช้กลไกของ paging และเกิดขึ้นเองภายในเครื่อง

8 Direct Addressing

9 Direct Addressing การกำหนดโหมด direct ในเครื่อง PDP8 สามารถกำหนดได้จากการกำหนดบิตตำแหน่งที่ 4 เท่ากับ 0 และถ้ากำหนดบิตตำแหน่งที่ 5 เท่ากับ 1 จะหมายถึงใช้ page ปัจจุบัน ตัวอย่างคำสั่ง TAD 2078 ปรากฏอยู่ใน location ที่ 02028 location content TAD(001) direct mode(0) current page(1) offset( )

10 Direct Addressing location content EA = page ของ location + offset
EA = page ของ location + offset (02078)

11 Direct Addressing

12 Direct Addressing การกำหนดโหมด direct ในเครื่อง PDP8 สามารถกำหนดได้จากการกำหนดบิตตำแหน่งที่ 4 เท่ากับ 0 และถ้ากำหนดบิตตำแหน่งที่ 5 เท่ากับ 0 จะหมายถึงใช้ page ที่ 0 ตัวอย่างคำสั่ง TAD 108 ปรากฏอยู่ใน location ที่ 02048 location content TAD(001) direct mode(0) zero page(0) offset( )

13 Direct Addressing location content EA = page ที่ 0 + offset
EA = page ที่ 0 + offset (00108)

14 Direct Addressing

15 Direct Addressing (x) คือ content ของ location ที่ x
ดังนั้น operand = (EA) TAD 2078 Operand = (02078) = 00228 TAD 108 Operand = (00108) = 00178

16 Indirect addressing จากรูปแบบของ direct เราสามารถอ้างถึง location ได้เฉพาะ page ปัจจุบันและ page ที่ 0 ดังนั้นปัญหาคือเราสามารถอ้างถึง location ตำแหน่งอื่นได้หรือไม่

17 Indirect addressing วิธีการคือ
มีกำหนดฟิลด์ address ให้ชี้ไปยัง location หนึ่ง ซึ่ง location นี้สามารถชี้ไปยัง location อื่นๆได้ทั้งหน่วยความจำ เพราะ location สามารถมีพื้นที่ว่างพอจัดเก็บ address ได้ทั้งหมด Memory Instruction A Operand

18 Indirect addressing การกำหนดโหมด indirect ในเครื่อง PDP8 สามารถกำหนดได้จากการกำหนดบิตตำแหน่งที่ 4 เท่ากับ 1 และถ้ากำหนดบิตตำแหน่งที่ 5 เท่ากับ 1 จะหมายถึงใช้ current page ตัวอย่างคำสั่ง TAD 6108 ปรากฏอยู่ใน location ที่ 02048 location content TAD(001) indirect mode(1) current page(1) offset( )

19 Indirect addressing location content A = page ของ location + offset
A = page ของ location + offset (02108)

20 Indirect addressing

21 Indirect addressing EA = (A) EA = (02108)
Page ที่ 2

22 Indirect addressing

23 Indirect addressing Operand = (EA) = (05128) = 33338

24 ที่มา William Stalling, Computer Organization and Architecture, USA
Yale N. Patt, Sanjay J. Patel, Introduction to Computing Systems: From Bits and Gates to C and Beyond, USA


ดาวน์โหลด ppt Addressing Modes ธนวัฒน์ แซ่เอียบ.

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


Ads by Google