John Simmons's Wiki Site

 

CPUSimMachineStructure

Page history last edited by John Simmons 2 yrs ago


 

Machine options

 

Shows some options such as the comment character. This section looks new.

 

Registers

 

Individual registers. These can be special purpose registers such as program counter, instruction register, memory address register, memory decrement register, and status register. For a simple machine, this could an accumulator. Specify the number of bits in each register.

 

Register arrays

 

This gives groups of registers that could be addressed as r[1], and so on. Specify the number of registers in each array and the number of bits in each register in an array.

 

Condition bits

 

Specifies bits of registers that have special meaning, such as a halt bit.

 

RAMs

 

Specify the name and length of a block of memory. A machine can have multiple blocks of memory, say for a stack and a heap.

 

Microcode instructions

 

Set instructions

 

Instructions that set portions of registers.

 

Test instructions

 

Instructions that test portions of registers.

 

Increment instructions

 

Instructions that increment the value in a register by a specified amount.

 

Shift instructions

 

Instructions that shift the value in a register into a possibly different register.

 

Logical instructions

 

Instructions that perform logical operations on the values in registers.

 

Arithmetic instructions

 

Instructions that perform arithmetic operations on the values in registers.

 

Branch instructions

 

Instructions that branch, apparently by a fixed amount.

 

TransferRtoR Transfer register to register instructions

 

Instructions that transfer parts or all of one individual register to another.

 

TransferRtoA Transfer register to array register instructions

 

Instructions that transfer parts or all of an individual register to an array register.

 

TransferAtoR Transfer array register to register instructions

 

Instructions that transfer parts or all of an array register to an individual register.

 

Decode instructions

 

Instructions that run an instruction in a register, such as the instruction register.

 

Set condition bit instructions

 

Instructions that set a condition bit, such as the halt bit.

 

I/O instructions

 

Instructions that read a value from a connection into a register, or write a value from a

register out to a connection.

 

Memory access instructions

 

Instructions that move values between memory and registers.

 

EQUs

 

Assembly language equivalences.

 

Fetch sequence

 

The sequence of microcode instructions run to fetch the next instruction and run it.

 

Machine instructions

 

Definitions of machine language instructions, with the opcode, field lengths, and the sequence of microinstructions that are run to carry out the machine instruction. Each microcode instruction sequence ends with the End pseudo-instruction.

Comments (0)

You don't have permission to comment on this page.