Ch3 Instruction (1)
Ch3 Instruction (1)
• c=a+b
How Many Addresses
• More addresses
• More complex (powerful?) instructions
• More registers
• Inter-register operations are quicker
• Fewer instructions per program
• Fewer addresses
• Less complex (powerful?) instructions
• More instructions per program
• Faster fetch/execution of instructions
Design Decisions (1)
• Operation repertoire
• How many ops?
• What can they do?
• How complex are they?
• Data types
• Instruction formats
• Length of op code field
• Number of addresses
Design Decisions (2)
• Registers
• Number of CPU registers available
• Which operations can be performed on which registers?
• Addressing modes (later…)
• RISC v CISC
Types of Operand
• Addresses
• Numbers
• Integer/floating point
• Characters
• ASCII etc.
• Logical Data
• Bits or flags
• (Aside: Is there any difference between numbers and characters? Ask a
C programmer!)
x86 Data Types
• 8 bit Byte
• 16 bit word
• 32 bit double word
• 64 bit quad word
• 128 bit double quadword
• Addressing is by 8 bit unit
• Words do not need to align at even-numbered address
• Data accessed across 32 bit bus in units of double word
read at addresses divisible by 4
• Little endian
SMID Data Types
• Integer types
• Interpreted as bit field or integer