Book contents
- Frontmatter
- Contents
- Preface
- 1 Controlling complexity
- 2 A Verilogical place to start
- 3 Defining the instruction set architecture
- 4 Algorithmic behavioral modeling
- 5 Building an assembler for VeSPA
- 6 Pipelining
- 7 Implementation of the pipelined processor
- 8 Verification
- A The VeSPA instruction set architecture (ISA)
- B The VASM assembler
- Index
- VeSPA Instruction Set
A - The VeSPA instruction set architecture (ISA)
Published online by Cambridge University Press: 31 October 2009
- Frontmatter
- Contents
- Preface
- 1 Controlling complexity
- 2 A Verilogical place to start
- 3 Defining the instruction set architecture
- 4 Algorithmic behavioral modeling
- 5 Building an assembler for VeSPA
- 6 Pipelining
- 7 Implementation of the pipelined processor
- 8 Verification
- A The VeSPA instruction set architecture (ISA)
- B The VASM assembler
- Index
- VeSPA Instruction Set
Summary
The instruction set architecture (ISA) of the VeSPA (Very Small Processor Architecture) defines the interface between the hardware designer and the assembly language programmer. It consists of all of the programmer accessible storage, plus all of the instructions.
Notational conventions
The following notation is used in this appendix to describe the ISA.
#. This symbol is used to identify an immediate operand.
rdst. One of the general-purpose registers that will be used as the destination to store the result produced by an instruction.
rs1, rs2. One of the general-purpose registers that will be used as a source value in an operation.
rst. The register that will be written to memory in a store operation.
R[rx]. The contents of general-purpose register rx.
Mem[x]. The contents of memory location x.
immedX. An X-bit immediate value used as a literal.
LABEL. Used in the assembler to symbolically specify a memory location, that is, by name.
;. Used in the assembler to mark the beginning of a comment.
sext(x). Sign-extend the value x by replicating the sign bit as many times as necessary to extend x to a 32-bit value.
setcc(x). Set the condition code bits according to the value x.
Storage elements
The following storage elements are defined in the ISA and are accessible to the assembly language programmer, either directly or indirectly as a side effect of some instructions.
Memory. The main memory consists of 232 locations, each of which is eight-bits wide. The memory uses a big-endian organization so that the most-significant byte of a 32-bit value is stored at the smaller memory address.
[…]
- Type
- Chapter
- Information
- Designing Digital Computer Systems with Verilog , pp. 132 - 146Publisher: Cambridge University PressPrint publication year: 2004