1 / 46

ภาษาเครื่อง

บทที่ 5. ภาษาเครื่อง. Machine Language. หัวข้อเรื่อง. โครงสร้างเลขที่อยู่ (Address Structure) รูปแบบคำสั่งเครื่อง (Instruction Formats) ชนิดคำสั่งเครื่อง (Instruction Types) การควบคุมสายงาน (Flow of Control). วัตถุประสงค์การเรียนรู้.

lisagriffin
Download Presentation

ภาษาเครื่อง

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 5 ภาษาเครื่อง Machine Language

  2. หัวข้อเรื่อง • โครงสร้างเลขที่อยู่ (Address Structure) • รูปแบบคำสั่งเครื่อง (Instruction Formats) • ชนิดคำสั่งเครื่อง (Instruction Types) • การควบคุมสายงาน (Flow of Control)

  3. วัตถุประสงค์การเรียนรู้วัตถุประสงค์การเรียนรู้ • อธิบายความสำคัญของภาษาเครื่องคอมพิวเตอร์ได้ • ยกตัวอย่างรูปแบบคำสั่งเครื่องได้ไม่น้อยกว่า 5รูปแบบ • ยกตัวอย่างโครงสร้างเลขที่อยู่ของคำสั่งเครื่องได้ไม่น้อยกว่า 5แบบ • อธิบายขั้นตอนการควบคุมสายงานของคำสั่งเครื่องได้ถูกต้อง

  4. เอกสารอ้างอิง • อำไพ พรประเสริฐสกุลIntroduction to Computer Organizations SUM Systems Co., Ltd., 2543. หน้า 93 - 125, 145 - 168. • Hamacher, V. Carl and others Computer Organization 4th ed. New York : McGraw-Hill, 1996. P.111 - 151, 302-338.

  5. เอกสารอ้างอิง • Hayes, John P. Computer Architecture and Organization 3rd ed. Malaysia : McGraw-Hill, 1998. P.178 - 222, 303 - 399. • Stallings, William Computer Organization and Architecture : designing for performance 7th ed. NewJersey : Prentice-Hall, 2006. P.319 - 370, 371-399.

  6. บทที่ 5 ภาษาเครื่อง Address Structure โครงสร้างเลขที่อยู่

  7. ภาษาคอมพิวเตอร์ต่างๆ • Low-leveled Languages(as Assembly, G etc.) • High-leveled Languages (as COBOL, C, FORTRAN, PASCAL, PL/I, etc.) • Language Generators (COBOL Generator, Database Language Generator, etc.) • Natural Languages (Language-to-Language, Text-to-Speech, etc.)

  8. โครงสร้างภาษาคอมพิวเตอร์โครงสร้างภาษาคอมพิวเตอร์ • Character Set • Data Types • Data Structures • Naming and Language Rules • Operators and Internal Functions • Structure of Statements • Module of Programs

  9. Computer Languages Natural Language 4GL 3GL Assembly Machine 1950 1960 1970 1980 1990

  10. Computer Languages 1. Machine Language00011001001101111 2. Assembly LanguageAR 6,15 3. High-Level Language (Procedural-Oriented language) ALGOL, FORTRAN, COBOL, PASCAL ,C, PL/I 4. Very-high Level Language (Non-Procedural-Oriented Language) Object-oriented ==> C++, Java 5. Natural Language

  11. Languages Translation Interpretters Executable Command Source Program Interpretter Diagnostic Message

  12. Languages Translation Compiler Diagnostic Message Source Program Compiler Listing File Object Module Load Module Library Routines Linkage Editor

  13. High-leveled Languages Phase I Translator Program Source Program (Text Files) Object Program Data Structures (Machine Table, Symbol Table, Literal Table, etc.)

  14. High-leveled Languages Phase II Translator Program Source Program (Text Files) Object Program Data Structures (Reduction Rules, Intermediate Form, Code Production, Identifier Table, etc.)

  15. Languages Generators Generator Program Source Program (Symbolic Files) Compiler Data Structures (Symbol Mapping, Code Generation,etc.) Object Program Data Structures (Reduction Rules, Intermediate Form,etc.)

  16. คำสั่งเครื่อง(Machine Instruction) องค์ประกอบของคำสั่งเครื่อง • Operation Code • รหัสดำเนินการ • Operand Reference • ตัวถูกดำเนินการที่อ้างอิง a bits b bits Op-Code Operand Instruction format

  17. Number of Addresses จำนวนเลขที่อยู่ Arithmetic or logic Operations are either unary (One Operand) or Binary (Two Operands). The result of an operation must be stored (Third’s Operand). Finally the next instruction must be fetched (Fourth’s Operand)

  18. Machine Instruction Sample of Machine Instruction • Operation Code • Source Operand Reference • Result Operand Reference • Next Instruction Reference Op-Code S_Operand R_Operand Next

  19. Machine Instruction Operands Referencing • Main Memory or virtual memory • Byte Ordering (Little, Big, Bi-Endian) • Bit Ordering • CPU Register • I/O Device • Immediate Value Address Value Address Value 184 12 184 78 185 34 185 56 186 56 186 34 187 78 187 12

  20. Instruction Set Fundamental Design Issues • Operation Repertoire • Data Types • Instruction Formats • Registers • Addressing

  21. Addressing Modes • Immediate Addressing • Direct Addressing • Indirect Addressing • Register Addressing • Register Indirect Addressing • Displacement Addressing • Stack Addressing Fig 11.1

  22. Addressing Modes A : content of an address field in instruction R : Content of an address field in instruction that refers to a register EA : actual (Effective) address of the location containing the referenced operand (X) : content of location X

  23. Immediate Addressing OPERAND = A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 ระบุค่าข้อมูลที่จะให้ดำเนินการ คือค่า 0011 0000 1101 0110 ในตัวคำสั่งเลย

  24. Direct Addressing Effective Address = A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 จะต้องไปอ่านค่าข้อมูลที่จัดเก็บ ณ ตำแหน่ง 0011 0000 1101 0110 ในหน่วยความจำหลัก จึงจะได้ค่า Operand ตามที่ต้องการ

  25. Indirect Addressing Effective Address = (A) ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 ค่าที่จัดเก็บ ณ ตำแหน่ง 0011 0000 1101 0110 ในหน่วยความจำหลัก เป็นค่าตำแหน่งอีกตำแหน่งที่จะจัดเก็บค่า Operand ตามที่ต้องการ จึงต้องไปอ่านต่ออีกครั้ง

  26. Register Addressing Effective Address = Register ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 จะต้องไปอ่านค่าข้อมูลที่จัดเก็บอยู่ในรีจีสเตอร์หมายเลข 0011 (310) จึงจะได้ค่า Operand ตามที่ต้องการ

  27. Register Indirect Addressing Effective Address = (R) ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 ข้อมูลที่จัดเก็บอยู่ในรีจีสเตอร์ หมายเลข 0011 (310) จะเป็นค่าตำแหน่งในหน่วยความจำหลักที่จะต้องไปอ่านอีกครั้ง จึงจะได้ค่า Operand ตามที่ต้องการ

  28. Displacement Addressing Effective Address = (R) + A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0101 1000 0001 ต้องนำค่าตำแหน่งที่จัดเก็บอยู่ในรีจีสเตอร์หมายเลข 0011 (310) มาบวกกับค่า 0101 1000 0001 จะเป็นค่าตำแหน่งในหน่วยความจำหลักที่จะต้องไปอ่านอีกครั้ง จึงจะได้ค่า Operand ตามที่ต้องการ

  29. Displacement Indirect Addressing Effective Address = (A + (R)) • Relative Addressing • Base-register Addressing • Indexing ค่าตำแหน่งต้องคำนวณมาจาก

  30. Stack Addressing Effective Address = T ตัวอย่างเช่น Op-Code 0110 0111 Operand ตัวตั้งจะอยู่ที่ตำแหน่ง Top of Stack หากมีการกระทำกับข้อมูลตัวกระทำ ก็จะกระทำกับข้อมูลในตำแหน่งที่อยู่ข้างใต้ถัดไป

  31. Basic Addressing Mode

  32. IBM Addressing Modes • Immediate Addressing • Register Addressing • Displacement Addressing

  33. IBM Addressing Modes

  34. PowerPC Addressing Modes นิยาม

  35. PowerPC Addressing Modes

  36. PowerPC Addressing Modes • Immediate Addressing • Register Addressing • Indirect Addressing • Indirect Indexed Addressing • Absolute Addressing • Relative Addressing

  37. PowerPC Addressing Modes

  38. Pentium Addressing Modes • Immediate • Register • Displacement • Base • Base with Displacement • Scaled Index with Displacement • Base with Index and Displacement • Base with Scaled Index and Displacement • Relative

  39. Pentium Addressing Modes นิยาม

  40. Pentium Addressing Modes

  41. โปรดติดตาม บทที่ 5 ภาษาเครื่อง Instruction Formats

More Related