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

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

07/06/47Machine Structure, Machine Language, and Assembly Language 1 บทที่ 2 Machine Structure, Machine Language, and Assembly Language.

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


งานนำเสนอเรื่อง: "07/06/47Machine Structure, Machine Language, and Assembly Language 1 บทที่ 2 Machine Structure, Machine Language, and Assembly Language."— ใบสำเนางานนำเสนอ:

1 07/06/47Machine Structure, Machine Language, and Assembly Language 1 บทที่ 2 Machine Structure, Machine Language, and Assembly Language

2 07/06/47Machine Structure, Machine Language, and Assembly Language 2 จุดมุ่งหมาย 2. โครงสร้างเครื่อง ภาษาเครื่อง และภาษาแอสเซมบลี้ 21 รู้โครงสร้างเครื่องทั่วไป 211 อธิบายหน่วยประมวลผลกลาง 212 อธิบายหน่วยความจำ 213 อธิบายรีจิสเตอร์ 214 อธิบายชุดคำสั่ง 22 รู้โครงสร้างของภาษาเครื่อง 221 เขียนโปรแกรมด้วยภาษาเครื่องกรณีไม่มีลูป วน 222 อธิบายการแอดเดรสโดยตรง

3 07/06/47Machine Structure, Machine Language, and Assembly Language 3 จุดมุ่งหมาย ( ต่อ ) 223 อธิบายการแอดเดรส โดยใช้อินเด็กส์ รีจิสเตอร์ 224 เขียนโปรแกรมด้วยภาษาเครื่องกรณีมี ลูปวน 23 รู้ภาษาแอสเซมบลี้ 232 เขียนโปรแกรม ด้วยภาษาแอสเซมบลี้

4 07/06/47Machine Structure, Machine Language, and Assembly Language 4 โครงสร้างของเครื่อง

5 07/06/47Machine Structure, Machine Language, and Assembly Language 5 Instruction Format Operation Code Register Number Memory Location (Op)(Reg)(Address) ตัวอย่าง Instruction Format ของเครื่อง SC ซึ่งมี 4 Registers Add2, 176

6 07/06/47Machine Structure, Machine Language, and Assembly Language 6 Instruction Format Operation Code Register Number Memory Location (Op)(Reg)(Address) ตัวอย่าง Instruction Format ของเครื่อง SC ซึ่งมี 4 Registers Add2, 176 นำค่าในแอดเดรสที่ ค่าใน Reg 2 ไปเก็บไว้ ใน Reg 2

7 07/06/47Machine Structure, Machine Language, and Assembly Language 7

8 07/06/47Machine Structure, Machine Language, and Assembly Language เมื่อเปลี่ยนไปใช้เครื่อง ใหม่ สิ่งที่เราจะต้องรู้เพื่อเป็นข้อมูลสำสำหรับเครื่อง ใหม่ ที่ใช้ CPU แตกต่างกันไป 1. หน่วยความจำ (Memory) 2. รีจิสเตอร์ (Registers) 3. ข้อมูล (Data) 4. คำสั่ง (Instructions) 5. องค์ประกอบอื่นๆ

9 07/06/47Machine Structure, Machine Language, and Assembly Language 9 1. หน่วยความจำ (Memory) • หน่วยของหน่วยความจำคืออะไร ? • ขนาดของหน่วยความจำเป็นอย่างไร ? และ • รูปแบบการอ้างแอดเดรสของหน่วยความจำเป็น อย่างไร ?

10 07/06/47Machine Structure, Machine Language, and Assembly Language รีจิสเตอร์ (Registers) • มีรีจิสเตอร์กี่ตัว ? • ขนาดและ หน้าที่ของรีจิสเตอร์แต่ละตัว • ความสัมพันธ์ระหว่างกัน

11 07/06/47Machine Structure, Machine Language, and Assembly Language ข้อมูล (Data) • ข้อมูลชนิดอะไรบ้าง ที่คอมพิวเตอร์ สามารถใช้ งานได้ ? • สามารถเก็บตัวเลข ตัวอักษร หรือข้อมูลทาง ตรรกศาสตร์ได้หรือไม่ ? • ข้อมูลเหล่านี้ มีวิธีการเก็บอย่างไร ?

12 07/06/47Machine Structure, Machine Language, and Assembly Language คำสั่ง (Instructions) • ชั้น (Classes) ของกลุ่มคำสั่ง มีอะไรบ้าง ? • มีคำสั่งคำนวณทางคณิตศาสตร์ และ ตรรกศาสตร์หรือไม่ ? • คำสั่งเหล่านี้ มีวิธีการเก็บในหน่วยความจำ อย่างไร ?

13 07/06/47Machine Structure, Machine Language, and Assembly Language องค์ประกอบอื่นๆ • โครงสร้างของ Interrupt เป็นอย่างไร ? • มีระบบป้องกัน รักษาความปลอดภัย ของข้อมูล ให้กับผู้ใช้หรือไม่ ?

14 07/06/47Machine Structure, Machine Language, and Assembly Language โครงสร้างของเครื่อง IBM 360/ หน่วยความจำ 2.Registers 3. ข้อมูล (Data) 4. คำสั่ง (Instructions) 5. ส่วนพิเศษอื่นๆ

15 07/06/47Machine Structure, Machine Language, and Assembly Language หน่วยความจำ หน่วยของหน่วยความจำ ไบท์ ความยาวเป็นบิท (Unit of Memory)(Bytes)(Lengt in Bits) Byte18 Halfword216 Word432 Doubleword864

16 07/06/47Machine Structure, Machine Language, and Assembly Language หน่วยความจำ ( ต่อ ) • หน่วยของหน่วยความจำ ประกอบไปด้วย 4 บิท เรียกว่า นิบเบิ้ล (Nibble) • ขนาด (Size) หน่วยความจำของ IBM 360 คือ 2 24 ไบท์ ( ประมาณ 16 ล้าน )

17 07/06/47Machine Structure, Machine Language, and Assembly Language หน่วยความจำ ( ต่อ ) การอ้างแอดเดรสในหน่วยความจำของ 360 ประกอบด้วย 3 องค์ประกอบคือ อ๊อฟเซท (Offset) รวมกับค่าของ อินเด็กรีจิสเตอร์ (Index Register) และค่าของเบสรีจิสเตอร์ (Base Register) แอดเดรสรวม = ค่าของเบสรีจิสเตอร์ + ค่าของอ๊อฟเซท + ค่าของอินเด็กรีจิสเตอร์ ( เราจะนำเสนอตัวอย่าง ในหัวข้อการแอดเดรสถัดไป )

18 07/06/47Machine Structure, Machine Language, and Assembly Language Registers •360 มี รีจิสเตอร์วัตถุประสงค์ทั่วไป (General- Purpose Register) ขนาด 32 บิท จำนวน 16 ตัว • มีรีจิสเตอร์ที่คำนวณทางทศนิยม (Floating- Point Registers) จำนวน 4 ตัว • มี Program Status Word (PSW) ขนาด 64 บิท ที่บรรจุ ค่าของ Location Counter (LC) ข้อมูลที่ถูกป้องกัน และ Interrupt

19 07/06/47Machine Structure, Machine Language, and Assembly Language 19 รีจิสเตอร์วัตถุประสงค์ทั่วไป (General-Purpose Register) • สามารถทำการคำนวณทางคณิตศาสตร์ ตรรกศาสตร์ และ • ใช้เป็น Base Register

20 07/06/47Machine Structure, Machine Language, and Assembly Language 20 Base Register Index Register Base Register A 1, 901 (2, 15) Offset แอดเดรสรวม = ค่าของเบสรีจิสเตอร์ + ค่าของอ๊อฟเซท + ค่าของอินเด็กรีจิสเตอร์

21 07/06/47Machine Structure, Machine Language, and Assembly Language 21 ข้อดี Base Register 1) ช่วยในการ โปรเซสใน เรื่องของ Relative address ( ย้ายโปรแกรม ไปมาในหน่วยความจำ ได้ โดยไม่มีผลกระทบ ต่อการอ้างแอดเดรส ใน หน่วยความจำ เพียงแต่ เปลี่ยนค่าของ Base register เท่านั้น ) Base Reg. = 1000 Base Reg. = โปรแกร ม

22 07/06/47Machine Structure, Machine Language, and Assembly Language 22 ข้อดี Base Register ( ต่อ ) 2) ประการสำคัญก็คือ เราสามารถอ้างแอดเดรสได้ ตลอดทั้งหน่วยความจำ ยกตัวอย่าง ถ้าต้องการอ้างแอดเดรส ในหน่วยความจำ ตลอดทั้งย่าน 2 24 ( ประมาณ 16 ล้านที่ ) ถ้าไม่ใช้ Base register เราต้องใช้ที่สำหรับอ้าง แอดเดรส 24 บิท ดังนั้น คำสั่งบวกจากตัวอย่างที่ แล้ว ก็จะใช้ที่เก็บชุดคำสั่ง 40 บิท

23 07/06/47Machine Structure, Machine Language, and Assembly Language 23 ข้อดี Base Register ( ต่อ ) แต่ถ้าใช้ Base register เราจะใช้ที่เก็บชุดคำสั่ง เพียง 32 บิท

24 07/06/47Machine Structure, Machine Language, and Assembly Language 24 ข้อเสีย Base Register • การโปรเซสของเครื่องจะช้าลง เพราะต้อง คำนวณแอดเดรส • การอ้างแอดเดรส จะทำได้แคบลง เพราะอ๊อฟ เซท เหลือเพียงแค่ 12 บิท ทำให้อ้างแอดเดรส ได้เพียง 0 – 4095 ดังนั้น ถ้าเราไม่ใช้อินเด็ก รีจิสเตอร์ เราจะไม่สามารถอ้างแอดเดรส ได้เกิน กว่า 4095 จากค่าของแอดเดรส ที่เก็บใน Base register

25 07/06/47Machine Structure, Machine Language, and Assembly Language ข้อมูล (Data) S หมายถึง Sign Bit => 1 bit หรือ 4 bit D หมายถึง Binary Coded Decimal => 4 bits Z หมายถึง Zone Code => 4 bits C หมายถึง Characteristic of Exponent => 7 bits F หมายถึง Fraction of Mantissa => 24 bits or 56 bits Ch หมายถึง 1 character symbol => 8 bits

26 07/06/47Machine Structure, Machine Language, and Assembly Language ข้อมูล (Data) ( ต่อ )

27 07/06/47Machine Structure, Machine Language, and Assembly Language คำสั่ง (Instructions)

28 07/06/47Machine Structure, Machine Language, and Assembly Language 28 ตัวอย่าง ของคำสั่ง RR-format • คำสั่ง AR 3,4

29 07/06/47Machine Structure, Machine Language, and Assembly Language 29 Storage operand เลข Fixed-point แบบ Fullword ขนาด 32 บิท ค่า +267 ( 10B ในฐานสิบหก ) จะเก็บที่แอดเดรส 1016 ดังรูป

30 07/06/47Machine Structure, Machine Language, and Assembly Language 30 แอดเดรสของ Storage operand Address = c(Bi) + c(Xi) + Di (RX format) หรือ c(Bi) + Di (RS, SI, SS format) • โดยที่ c(Bi) และ c(Xi) แสดงข้อมูลที่บรรจุ อยู่ใน รีจิสเตอร์ Bi และ Xi ตามลำดับ • ยกเว้นแต่ว่า ถ้า Xi = 0 ดังนั้น c(Xi) จะมีค่าเป็น 0 และ Bi ก็เช่นเดียวกัน

31 07/06/47Machine Structure, Machine Language, and Assembly Language 31 ตัวอย่าง ของคำสั่ง RX-format คำสั่ง A 3, 16(0,5) สมมติว่า รีจิสเตอร์ 5 เก็บค่าของ 1000 จะทำให้ค่า ของข้อมูลชนิด Word ที่อยู่ที่แอดเดรส = c(B2) + c(X2) + D2 = c(5) + c(0) + 16 = c(0) + 16 = 1016

32 07/06/47Machine Structure, Machine Language, and Assembly Language 32 ตัวอย่าง ของคำสั่ง SS-format คำสั่ง MVC 32(79,5),300(5) สมมติว่า รีจิสเตอร์ 5 เก็บค่าของ 1000 Storage operand 1 address = c(B1) + D1 = c(5) + 32 = = 1032 Storage operand 2 address = c(B1) + D1 = c(5) + 32 = = 1300

33 07/06/47Machine Structure, Machine Language, and Assembly Language 33 คำสั่งของเครื่อง 360/370 ( ดู Appendix A) กลุ่มที่ 1 Load Instruction และ store Instructions Hexa code MnemonicFormat of Instruction op-code 58LRX 48LHRX 98LMRS 18LRRR 12LTRRR 50STRX 40STHRX 90STMRS

34 07/06/47Machine Structure, Machine Language, and Assembly Language 34 กลุ่มที่ 2 คำนวณ Hexa code Mnemonic Format of Instruction op-code 5AARX 4AAHRX 1AARRR 59CRX 49CHRX 19CRRR 5DDRX 1DDRRR 5CMRX 1C MRRR 5BSRX 1BSRRR

35 07/06/47Machine Structure, Machine Language, and Assembly Language 35 กลุ่มที่ 3 Logical Hexa code Mnemonic Format of Instruction op-code 55CLRX 15CLRRR D2MVCSS 92MVISI 8DSLDLRX

36 07/06/47Machine Structure, Machine Language, and Assembly Language 36 กลุ่มที่ 4 Branch and Link Hexa code Mnemonic Format of Instruction op-code 47BCRX 07BCRRR 45BALRX

37 07/06/47Machine Structure, Machine Language, and Assembly Language ส่วนพิเศษอื่นๆ • เครื่อง 360 ยังมีส่วน Hardware ที่ช่วยป้องกัน ข้อมูลเป็น Block ขนาด 2,048 ไบท์ และยังมี ระบบ Interrupt อีกด้วย จะกล่าวระเอียด ในบท ที่ 9


ดาวน์โหลด ppt 07/06/47Machine Structure, Machine Language, and Assembly Language 1 บทที่ 2 Machine Structure, Machine Language, and Assembly Language.

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


Ads by Google