| 2. IJVM Datapath NotesThese notes elaborates Figure 4-1 "The datapath of the example 
micro-architecture used in this chapter" on page 233 of our text. 
 3 types of datapath components: registers, ALU, and shifter. RegistersAll registers are 32 bits wide. The registers mean: 
  SP - stack pointerLV - frame pointerCPP - constant pool pointerTOS - used to hold the value at the top of the stackOPC - scratch register for intermediate values, no strict designated
    useH - holding register for ALU A inputMAR - memory address register, holds address of memory referenceMDR - memory data register, holds data value read from or written to
    memoryPC - program counter, memory address of next instruction to executeMBR - memory data register B, holds data value (an instruction!) at  PC memory location Most register values can be loaded (read) onto the B bus, and changed/written
from the C bus value. Some exceptions are: 
  MBR can only be written from memoryMDR can be written from memory or bus CMAR, MDR, and  PC values are used by memoryMAR register is not connected to B busMBR uses only 1 byte (of 4), holds 1 byte opcode ALUALU is as shown in Figure 3-19 on page 156. This one bit slice is replicated
32 times to handle our 32 bit quantities. 2's complement is used for negative
numbers. Each slice has 2 function inputs, F0 and F1: 
  
  
    
      | F0 | F1 | Function |  
      | 0 | 0 | A and B |  
      | 0 | 1 | A or B |  
      | 1 | 0 | not B |  
      | 1 | 1 | A + B |  The datapath ALU has 6 control inputs: F0, F1 (as above) and 4 others: 
  ENA - enable A input, or use 0 if falseENB - enable B input, or use 0 if falseINVA - invert A input, or just use A if falseINC - increment ALU result if true by forced carry into lowest bit See Fig 4-2 on page 234 for a sampling of "useful" 6 bit control combinations. Shifter2 control bits: 
  SLL8, "Shift left logical 8 bits" - shift left 8 bits, filling
    least significant bits with 0'sSRA1, "Shift right arithmetic 1 bit" - shift right 1 bit, leave
    most significant bit unchanged 
 |