460 likes | 465 Views
บทที่ 5. ภาษาเครื่อง. Machine Language. หัวข้อเรื่อง. โครงสร้างเลขที่อยู่ (Address Structure) รูปแบบคำสั่งเครื่อง (Instruction Formats) ชนิดคำสั่งเครื่อง (Instruction Types) การควบคุมสายงาน (Flow of Control). วัตถุประสงค์การเรียนรู้.
E N D
บทที่ 5 ภาษาเครื่อง Machine Language
หัวข้อเรื่อง • โครงสร้างเลขที่อยู่ (Address Structure) • รูปแบบคำสั่งเครื่อง (Instruction Formats) • ชนิดคำสั่งเครื่อง (Instruction Types) • การควบคุมสายงาน (Flow of Control)
วัตถุประสงค์การเรียนรู้วัตถุประสงค์การเรียนรู้ • อธิบายความสำคัญของภาษาเครื่องคอมพิวเตอร์ได้ • ยกตัวอย่างรูปแบบคำสั่งเครื่องได้ไม่น้อยกว่า 5รูปแบบ • ยกตัวอย่างโครงสร้างเลขที่อยู่ของคำสั่งเครื่องได้ไม่น้อยกว่า 5แบบ • อธิบายขั้นตอนการควบคุมสายงานของคำสั่งเครื่องได้ถูกต้อง
เอกสารอ้างอิง • อำไพ พรประเสริฐสกุล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.
เอกสารอ้างอิง • 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.
บทที่ 5 ภาษาเครื่อง Address Structure โครงสร้างเลขที่อยู่
ภาษาคอมพิวเตอร์ต่างๆ • 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.)
โครงสร้างภาษาคอมพิวเตอร์โครงสร้างภาษาคอมพิวเตอร์ • Character Set • Data Types • Data Structures • Naming and Language Rules • Operators and Internal Functions • Structure of Statements • Module of Programs
Computer Languages Natural Language 4GL 3GL Assembly Machine 1950 1960 1970 1980 1990
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
Languages Translation Interpretters Executable Command Source Program Interpretter Diagnostic Message
Languages Translation Compiler Diagnostic Message Source Program Compiler Listing File Object Module Load Module Library Routines Linkage Editor
High-leveled Languages Phase I Translator Program Source Program (Text Files) Object Program Data Structures (Machine Table, Symbol Table, Literal Table, etc.)
High-leveled Languages Phase II Translator Program Source Program (Text Files) Object Program Data Structures (Reduction Rules, Intermediate Form, Code Production, Identifier Table, etc.)
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.)
คำสั่งเครื่อง(Machine Instruction) องค์ประกอบของคำสั่งเครื่อง • Operation Code • รหัสดำเนินการ • Operand Reference • ตัวถูกดำเนินการที่อ้างอิง a bits b bits Op-Code Operand Instruction format
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)
Machine Instruction Sample of Machine Instruction • Operation Code • Source Operand Reference • Result Operand Reference • Next Instruction Reference Op-Code S_Operand R_Operand Next
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
Instruction Set Fundamental Design Issues • Operation Repertoire • Data Types • Instruction Formats • Registers • Addressing
Addressing Modes • Immediate Addressing • Direct Addressing • Indirect Addressing • Register Addressing • Register Indirect Addressing • Displacement Addressing • Stack Addressing Fig 11.1
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
Immediate Addressing OPERAND = A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 ระบุค่าข้อมูลที่จะให้ดำเนินการ คือค่า 0011 0000 1101 0110 ในตัวคำสั่งเลย
Direct Addressing Effective Address = A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 จะต้องไปอ่านค่าข้อมูลที่จัดเก็บ ณ ตำแหน่ง 0011 0000 1101 0110 ในหน่วยความจำหลัก จึงจะได้ค่า Operand ตามที่ต้องการ
Indirect Addressing Effective Address = (A) ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0000 1101 0110 ค่าที่จัดเก็บ ณ ตำแหน่ง 0011 0000 1101 0110 ในหน่วยความจำหลัก เป็นค่าตำแหน่งอีกตำแหน่งที่จะจัดเก็บค่า Operand ตามที่ต้องการ จึงต้องไปอ่านต่ออีกครั้ง
Register Addressing Effective Address = Register ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 จะต้องไปอ่านค่าข้อมูลที่จัดเก็บอยู่ในรีจีสเตอร์หมายเลข 0011 (310) จึงจะได้ค่า Operand ตามที่ต้องการ
Register Indirect Addressing Effective Address = (R) ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 ข้อมูลที่จัดเก็บอยู่ในรีจีสเตอร์ หมายเลข 0011 (310) จะเป็นค่าตำแหน่งในหน่วยความจำหลักที่จะต้องไปอ่านอีกครั้ง จึงจะได้ค่า Operand ตามที่ต้องการ
Displacement Addressing Effective Address = (R) + A ตัวอย่างเช่น Op-Code Operand 0110 0111 0011 0101 1000 0001 ต้องนำค่าตำแหน่งที่จัดเก็บอยู่ในรีจีสเตอร์หมายเลข 0011 (310) มาบวกกับค่า 0101 1000 0001 จะเป็นค่าตำแหน่งในหน่วยความจำหลักที่จะต้องไปอ่านอีกครั้ง จึงจะได้ค่า Operand ตามที่ต้องการ
Displacement Indirect Addressing Effective Address = (A + (R)) • Relative Addressing • Base-register Addressing • Indexing ค่าตำแหน่งต้องคำนวณมาจาก
Stack Addressing Effective Address = T ตัวอย่างเช่น Op-Code 0110 0111 Operand ตัวตั้งจะอยู่ที่ตำแหน่ง Top of Stack หากมีการกระทำกับข้อมูลตัวกระทำ ก็จะกระทำกับข้อมูลในตำแหน่งที่อยู่ข้างใต้ถัดไป
IBM Addressing Modes • Immediate Addressing • Register Addressing • Displacement Addressing
PowerPC Addressing Modes นิยาม
PowerPC Addressing Modes • Immediate Addressing • Register Addressing • Indirect Addressing • Indirect Indexed Addressing • Absolute Addressing • Relative Addressing
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
Pentium Addressing Modes นิยาม
โปรดติดตาม บทที่ 5 ภาษาเครื่อง Instruction Formats