12.07.2015 Views

Geode GXLV Processor Series Low Power Integrated x86 Solutions

Geode GXLV Processor Series Low Power Integrated x86 Solutions

Geode GXLV Processor Series Low Power Integrated x86 Solutions

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Geode</strong> <strong>GXLV</strong> <strong>Processor</strong> <strong>Series</strong><strong>Integrated</strong> Functions (Continued)4.1.5 Display Driver InstructionsWhile the majority of the <strong>GXLV</strong>’s integrated function interfaceis memory mapped, a few integrated function registersare accessed via four <strong>GXLV</strong> specific instructions.Table 4-6 shows these instructions.Adding CPU instructions does not create a compatibilityproblem for applications that may depend on receivingillegal opcode traps. The solution is to make these instructionsgenerate an illegal opcode trap unless a compatibilitybit is explicitly set. The <strong>GXLV</strong> processor uses thescratchpad size field (bits [3:2] in GCR, Index B8h) toenable or disable all of the graphics instructions.Note:If the scratchpad size bits are zero, meaning thatnone of the cache is defined as scratchpad, thenhardware will assume that the graphics controlleris not being used and the graphics instructionswill be disabled.Any other scratchpad size will enable all of the newinstructions. Note that the base address of the memorymap in the GCR register can still be set up to allow accessto the memory controller registers4.1.6 CPU_READ/CPU_WRITE InstructionsThe <strong>GXLV</strong> processor has several internal registers thatcontrol the BLT buffer and power management circuitry inthe dedicated cache subsystem. To avoid adding additionalinstructions to read and write these registers, the<strong>GXLV</strong> processor has a general mechanism to accessinternal CPU registers with reasonable performance. The<strong>GXLV</strong> processor has two special instructions to read andwrite CPU registers: CPU_READ and CPU_WRITE. Bothinstructions fetch a 32-bit register address from EBX asshowninTable4-6andTable4-7. CPU_WRITE uses EAXfor the source data, and CPU_READ uses EAX as thedestination. Both instructions always transfer 32 bits ofdata.These instructions work by initiating a special I/O transactionwhere the high address bit is set. This provides a verylarge address space for internal CPU registers.The BLT buffer base registers define the starting physicaladdresses of the BLT buffers located within the dedicatedL1 cache. The dedicated cache can be configured for upto 4 KB, so 12 address bits are required for each baseaddress.Table 4-6. Display Driver InstructionsSyntax Opcode Registers DescriptionBB0_RESET 0F3A N/A Reset the BLT Buffer 0 pointer to the base.BB1_RESET 0F3B N/A Reset the BLT Buffer 1 pointer to the base.CPU_WRITE 0F3C EBX = Register Address (see Table 4-7) Write data to CPU internal register.EAX = Source DataCPU_READ 0F3D EBX = Register Address (see Table 4-7)EAX = Destination DataRead data from CPU internal register.Table 4-7. Address Map for CPU-Access RegistersRegister EBX Address DescriptionL1_BB0_BASE FFFFFF0Ch BLT Buffer 0 base address (see Table 4-5 on page 101).L1_BB1_BASE FFFFFF1Ch BLT Buffer 1 base address (see Table 4-5 on page 101).L1_BB0_POINTER FFFFFF2Ch BLT Buffer 0 pointer address (see Table 4-5 on page 101).L1_BB1_POINTER FFFFFF3Ch BLT Buffer 1 pointer address (see Table 4-5 on page 101).PM_BASE FFFFFF6Ch <strong>Power</strong> management base address (see Table 5-3 on page 183).PM_MASK FFFFFF7Ch <strong>Power</strong> management address mask (see Table 5-3 on page 183).www.national.com 102 Revision 1.3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!