ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.