HPC
HPC

| HPC and Data for Lattice QCD

microcode

HPC and Data for Lattice QCD

microcode

Description of APEmille Microcode [hs 7/2000]

A jex file contains different types of records:
 1) Data initialization records to specify the initialization 
    (at load time of the program) of Jn or Tz Data Memory 
    locations 
 2) Initialization of Tz and Jn program memory, i.e. the 
    microcode of the program.
The jex records can be visualized by `disjex file[.jex]` Microcode lines are displayed in the following format:
 PMA:    Tz-microcode  Jn-microcode
where "Tz-microcode" has the following (fixed) fields
      AGU   DISP ALU T0 T1 T2 T3 T4 FLOW IO  
and "Jn-microcode" has the following fixed fields
      J0  J1  J2  J3  J4  FILU WC 
followed by the optional fields
      MC LUT RD
For instance, a NOP line looks as follows:
 00000: .        0  .    0  0  0  0  0 .   .     0   0   0   0   0      CC
 PMA  | <------------Tz-microcode------------> | <----- Jn-microcode------>

The meaning of the various fields is:
 AGU 	= opcode for Address Generation Unit
 DISP 	= Displacement
 AGU 	= opcode for Arithmetic Logical Unit
 T0  	= Address for Port 0 of Tz Register file
 ...
 T4  	= Address for Port 4 of Tz Register file
 FLOW 	= opcode for flow control
 IO	= opcode for IO at Register File Port 4
 J0  	= Address for Port 0 of Jn Register file
 ...
 J4  	= Address for Port 4 of Jn Register file
 FILU	= opcode Floating-point Integer Logical Unit
 WC	= Where condition code
 MC	= Memory controller code
 LUT	= Look-up Table and IO code for Jn
 RD	= Refresh Disable
The values of the various opcodes can be found in microcidici.ps from http://www.ifh.de/apemilledoc/Run_mode_index.html