Instruction Set Architecture Design

1  Introduction

2  Designing an Instruction Set and CPU

3  Basic ISA Issues

3.1  Registers

3.2  Bus Sizes

3.3  Operations

3.4  How Many Operands?

3.5  Literal Values

3.6  Instruction Format

3.7  A Hypothetical Example

Inst Type Operation Size Rdest Rsrc1 Rsrc2
0 5 bits 1 bit 3 bits 3 bits 3 bits


Inst Type Operation Size Register Literal Value
10 2 bits 1 bit 3 bits 8 bits
Inst Type Operation Size Register Memory Location
11 2 bits 1 bit 3 bits 24 bits

3.8  Decision Making

4  CISC: Complex Instruction Set Computing

5  RISC: Reduced Instruction Set Computing

6  The MIPS Instruction Set Architecture

Figs/R3000.jpg

6.1  R-type Instructions

op rs rt rd shamt func
6 bits 5 bits 5 bits 5 bits 5 bits 6 bits
Instruction op rt rt rd shamt func
add $1, $2, $3 0 2 3 1 0 32
addu $1, $2, $3 0 2 3 1 0 33
subu $1, $2, $3 0 2 3 1 0 35
mfc0 $1, $epc 16 0 1 14 0 0
mult $2, $3 0 2 3 0 0 24
multu $2, $3 0 2 3 0 0 25
div $2, $3 0 2 3 0 0 26
and $1, $2, $3 0 2 3 1 0 36
or $1, $2, $3 0 2 3 1 0 37

6.2  I-type Instructions

op rs rt address/immediate
6 bits 5 bits 5 bits 16 bits
Instruction op rs rt immed
addi $1, $2, 64 4 2 1 100
Instruction op rs rt immed
lh $1, 400 33 0 1 400

6.3  I-type Branches

Instruction op rs rt immed
bne $19, $20, 2 5 19 20 2

6.4  J-type Instructions

op target address
6 bits 26 bits
Figs/mipsasmtable.jpg



File translated from TEX by TTH, version 3.85.
On 25 Jan 2012, 18:37.