Instruction Set Architecture

An Instruction Set Architecture (ISA) defines the communication rules between the hardware and software of the computer. The ISA is a design principle (conceptual) and not stored in a computer’s memory.

Some things an ISA defines:
- How binary instructions are formatted
- What instructions are available to be
processed on a specific hardware setup
- How computer memory, (volatile and
non-volatile) is accessed

Complex Instruction Set Computers (CISC)

CISC (Complex Instruction Set Computer) is an ISA design practice that focuses on multi-step instructions and complex, power-consuming hardware. These designs primarily focus on hardware components and binary instruction complexity. Processing components are typically not interchangeable with RISC-designed systems.

CISC Instructions Attributes:
- Single instructions take more than one CPU
cycle to complete
- Instruction length varies based on the
instruction type
- Hardware must be designed to accept more
complicated instructions

Reduced Instruction Set Computers (RISC)

RISC (Reduced Instruction Set Computer) is an ISA design practice of ISAs that focuses on simple, quickly executed instructions to improve efficiency and reduce power consumption. These designs primarily focus on simple hardware components and reducing binary instruction complexity. Processing components are typically not interchangeable with CISC-designed systems.

General RISC Instructions Attributes:
- Single instructions take only one CPU
cycle to complete
- Instruction lengths are fixed, regardless
of the instruction type
- Reduced complexity of hardware leads to less
power consumption at the expense of overall
processing times.

Control Unit (CU)

The Control Unit (CU) on a CPU receives information from the software; then, it distributes and directs the data to the relevant hardware components.

Some functions of the CU:
- Determine what/where the next
instruction must go for processing
- Send clock signals to all hardware to
force synchronous operations
- Send memory taskings if appropriate

Arithmetic and Logic Unit (ALU)

An Arithmetic Logic Unit (ALU) is a digital circuit used to perform arithmetic and logic operations. It is the fundamental building block of the CPU.

Some ALU functions:
- Addition & subtraction
- Determining equality
- AND/OR/XOR/NOR/NOT/NAND logic
gates and more!

Computer Instructions

Computer instructions are written in binary, also known as machine code. Computer hardware operates on a series of these binary instructions through pulsating power signals that signify either OFF or ON based on the binary digits 0 and 1 respectively.

Registers

A register is a volatile memory system that provides the CPU with rapid access to information it is immediately using.

Functions of a register:
- Store temporary data for immediate
processing by the ALU
- Hold "flag" information if an operation
results in overflow or triggers other flags
- Hold the location of the next instruction
to be processed by the CPU