Lectures
CPU instruction design issues.
Actions
Data movement.
Register to register
Register to/from memory.
Direct or indirect (effective address)
Data conversion
convert type1 to type2
- expands/contracts storage size honoring format
32 bit signed integer to 64-bit, float to double percission, etc.
- convert and pack ASCII/EBCDIC character representation of decimal
values to BCD (packed) sequences.
Math
Integer addition, subtraction, multiplication, division.
Not all operators may be supported on a particular CPU architecture.
Float - note that float is often performed in a dedicated processor
core.
Stack manipulation.
Stack is a dedicated area in memory used as temporary storage. It is
usually accessed with dedicated register, stack pointer, and data is
pushed/popped on and off the 'top' of the stack with this register.
Key aspect of a stack is that you 'always' work from the 'top' of the
stack.
Various CPUs offer instructions to manipulate the stack contents.
Although specific instructions vary with architecture.
push, pop, rotate, duplicate.
Intel offers a 2nd register than can be used to access the contents
of a stack out of order with affecting the stack pointer.
The stack is also used to store return address for calls and interrupts.
See also : Stack machine
Custom processors exist.
Graphics processor
advanced version of floating point processor combined with circuitry
to drive an external display.
Digitial Signal Processor (DSP)
AtoD and DtoA conversion.
Coverts between streaming data, often analog, and digitial encoding,
often in real-time.
Functionality very limited but very fast.
Next