Back
MASM : CACHE : LBA
LBA:

Syntax:

  • LBA
Description:

The LBA (load base address) instruction sets the base addresses and summation modes on the various register file ports. The value of the base address, and the selection of the summation mode and specific register file ports are decoded from the value on the AGU. The encoding of this information is as follows:

  • 000000FF — Base address

  • 003F0000 — Ports selector

  • 01000000 — Summation mode selector

  • FEC0FF00 — Unused bits

The ports selector code is:

  • 00010000 — Port 0

  • 00020000 — Port 1

  • 00040000 — Port 2

  • 00080000 — Port 3

  • 00100000 — Port 4

  • 00200000 — Port 5

The summation mode selector is:

  • 01000000 — Clever summation

  • 00000000 — Naive summation

Setting the base address allows indirect run-time register file addressing by summing the micro-code address (ma) to the base address (ba), according to the specified mode of summation:

  • Naive summation:

    The port address (pa) is given by:

    • pa = (ma+ba)%256

    It should be noted that:

    • The mapping is one to one
    • The subset of register file addresses which are accessible through port 5, i.e., addresses from 0 to 63, is not invariant under naive summation.

  • Clever summation:

    The port address (pa) is given by:

    • pa = ma if ma < 64
    • pa = ma + ba if ma >= 64 and ma + ba < 256
    • pa = (ma+ba+64)%256 if ma >= 64 and ma + ba >= 256

    It should be noted that:

    • The subset of register file addresses which are accessible through port 5 is invariant under the clever summation.
    • To preserve the one-to-one correspondence between pa and ma, the base address should be restricted to:

      0 <= ba <= 192

Microcode Pattern:

Takes 1 cycles to execute.
    Example: LBA

	  
DISP     C5  MCC STKC FLW IOC AGU ASEL BS5 P5 BS4 C4 P4 MPC
-----------------------------------------------------------
01180055  0   -   -    -   -   E   -   0  00  0    0 00  - 
00000000  0   -   -    -   -   -  LBA  0  00  0    0 00  - 

	  
Exceptions :

NONE

Example :

AGU_ED ZERO 0x01180055
	!! AGU value that encodes: base address = 0x55
	!! ports = Port 3 and Port 4
	!! summation mode = Clever summation 
LBA 
	!! Load the base addresses according to the above 
	!! encoding

APE Group Zeuthen. 2003
$Id: lba_masm.php,v 1.2 2004/08/04 09:33:43 noe Exp $
$Id: syntax.php,v 1.8 2004/08/04 09:25:34 noe Exp $