Introduction to Computer Organization and Architecture Instruction Formats ภาษาเครื่อง รูปแบบคำสั่งเครื่อง
2 ประเภทของการ ดำเนินการ Data Transfer Arithmetic Logical I/O System Control Transfer of Control Type of Operations
3 ประเภทของคำสั่ง Data Storage (Memory Instructions) Data Processing (Arithmetic & Logic Instructions) Data Movement (I/O Instructions) Control (Test & Branch Instructions) Instruction Types
4 Data Transfer If one or both operands are in memory, CPU must perform some or all of the following actions : 1. Calculate memory address (Address Mode) 2. If refer to virtual memory, translate from virtual to actual memory address 3. Determine whether addressed item is in cache 4. If not, issue a command to memory module
5 Data Transfer Move (transfer) Transfer word or block from source to destination Store Transfer word from processor to memory Load (fetch) Transfer word from memory to processor Exchange Swap contents of source and destination Clear (reset) Transfer word of 0s to destination Set Transfer word of 1s to destination Push Transfer word from source to top of stack Pop Transfer word from top of stack to destination Common Instruction Set Operations
6
7 Arithmetic and Logical May involve data transfer, before and/or after Perform function in ALU Set condition codes and flags
8 Arithmetic Add Computer sum of two operands Subtract Compute difference of two operands Multiply Compute product of two operands Divide Compute quotient of two operands Absolute Replace operand by its absolute value Negate Change sign of operand Increment Add 1 to operand Decrement Subtract 1 from operand Common Instruction Set Operations
9 Logical AND OR NOT Perform the specified logical (Complement) operation bitwise Exclusive-OR Test Test specified condition; set flag(s) based on outcome Compare Make logical or arithmetic comparison of two or more operands; set flag(s) based on outcome Set Control Variables Class of instructions to set controls for protection purposes, interrupt handling, timer control, etc. Shift Left (right) shift operand, introducing constants at end Rotate Left (right) shift operand, with wraparound end
10 Conversion Similar to arithmetic and logical. May involve special logic to perform conversion between data types and formats
11 Conversion Packed Decimal Unpacked Short ==> Long Form of Binary Decimal Binary EBCDIC ==> ASCII
12 Conversion Translate Translate values in a section of memory based on a table of correspondences Convert Convert the contents of a word from one form to another (e.g., packed decimal to binary)
13 I/O Issue command to I/O module If memory-mapped I/O, determine memory- mapped address
14 I/O Input (read) Transfer data from specified I/O port or device to destination (e.g., main memory or processor register) Output (write) Transfer data from specified source to I/O port or device Start I/O Transfer instructions to I/O processor to initiate I/O operation Test I/O Transfer status information from I/O system to specified destination
15 System Control Read or Alter a Control Registers Read or Modify a storage protection key Access to process control blocks in a multiprogramming system Execute in the privileged state or privileged area of memory and reserve for use of O.S.
16 Transfer of Control Update program counter. For subroutine call/return, manage parameter passing and linkage
17 Transfer of Control Jump (branch) Unconditional transfer; load PC with specified address Jump Conditional Test specified condition; either load PC with specified address or do nothing, based on condition Jump to Subroutine Place current program control information in known location; jump to specified address Return Replace contents of PC and other register from known location Execute Fetch operand from specified location and execute as instruction; do not modify PC
18 Transfer of Control Skip Increment PC to skip next instruction Skip Conditional Test specified condition; either skip or do nothing based on condition Halt Stop program execution Wait (hold) Stop program execution; test specified condition repeatedly; resume execution when condition is satisfied No operation No operation is performed, but program execution is continued
19 Transfer of Control Branch (Conditional, Unconditional)
20 Transfer of Control Procedure Call
21 Transfer of Control Procedure CALL and RETURN
22 Transfer of Control
23 Types of Operands Addresses Numbers Characters Logical Data
24 Types of Operands Intel Data Types
25 Types of Operands Pentium Numeric Data Formats
26 Types of Operands Pentium Numeric Data Formats
27 Instruction Format Number of Addressing Modes Number of Operands Register versus Memory Number of Register Sets Etc. ปัจจัยที่มีผลต่อความยาวของ คำสั่งเครื่อง
28 DEC : Digital Equipment Corporation
29
30 Fig 11.7 VAX More Information at ware/Machines/DEC/vax/sections.html MicroVAXes VAX stations VAX servers VAX 700 series VAX 8000 series VAX 4000 series VAX 6000 series VAX 7000 series DEC : Digital Equipment Corporation
31 Pentium Instruction Prefixes Segment Override Address Size Operand Size Op-code Mode R/m SIB Displacem ent Immediat e SIB Scale factor + Index + Base
32 Pentium Instruction Formats
33 IBM System 360/370 Series Instruction Length 16 bits, 32 bits, 48 bits Op-Code = 8 bits IBM Reference
34 PowerPC Fig 11.9 Instruction Length 32 bits Op-Code = 6 bits เพาเวอร์พีซี (PowerPC) เป็นสถาปัตยกรรมไมโคร โพรเซสเซอร์แบบ RISC ร่วมกันสร้างโดยพันธมิตร AIM (Apple-IBM-Motorola) เมื่อ ค. ศ ในช่วงแรกนั้น เพาเวอร์พีซีออกแบบมาสำหรับเครื่องคอมพิวเตอร์ส่วน บุคคล แต่ภายหลังเพาเวอร์พีซีได้รับความนิยมในวงการ คอมพิวเตอร์ฝังตัว และคอมพิวเตอร์สมรรถนะสูงเช่นกัน เพาเวอร์พีซีถูกในไปใช้ในเครื่องแมคอินทอชของแอปเปิล รุ่นที่ออกระหว่าง ค. ศ ค. ศ และเครื่องเล่น วิดีโอเกมหลายรุ่น เช่น นินเทนโด เกมคิวบ์, เอ็กซ์บ็อกซ์ 360, เพลย์สเตชั่น 3 และนินเทนโด วี สถาปัตยกรรมเพาเวอร์พีซีนั้นพัฒนาต่อมาจาก สถาปัตยกรรม POWER ของไอบีเอ็มเอง
Introduction to Computer Organization and Architecture Flow of Control ภาษาเครื่อ ง การควบคุมสายงาน