20.02.2013 Views

Sable CPU Module Specification

Sable CPU Module Specification

Sable CPU Module Specification

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Copyright © 1993 Digital Equipment Corporation.<br />

the branch instruction. The prediction for the first execution of a branch instruction<br />

is based on the sign of the displacement field within the branch instruction itself.<br />

• If the sign bit is negative, the instruction prefetcher predicts the conditional<br />

branches to be taken.<br />

• If the sign is positive, the instruction prefetcher predicts the conditional branches<br />

not to be taken.<br />

• Alternatively, if the history table is disabled, branches can be predicted based on<br />

the sign of the displacement field at all times.<br />

The 21064 provides a four-entry subroutine return stack that is controlled by the hint<br />

bits in the BSR, HW_REI, and jump to subroutine instructions (JMP, JSR, RET, or<br />

JSR_COROUTINE). The chip also provides a means of disabling all branch prediction<br />

hardware.<br />

3.1.3 Instruction Translation Buffers (ITBs)<br />

The Ibox contains two ITBs.<br />

• An eight-entry, fully associative translation buffer that caches recently used<br />

instruction-stream page table entries for 8K byte pages<br />

• A four-entry, fully associative translation buffer that supports the largest granularity<br />

hint option (512 3 8K byte pages) as described in the Alpha Architecture<br />

Handbook.<br />

Both translation buffers use a not-last-used replacement algorithm. They are hereafter<br />

referred to as the small-page and large-page ITBs, respectively.<br />

In addition, the ITB includes support for an extension called the super page, which<br />

can be enabled by the MAP bit in the ICCSR IPR. Super page mappings provide<br />

one-to-one virtual PC [33:13] to physical PC [33:13] translation when virtual address<br />

bits [42:41] = 2. When translating through the super page, the PTE[ASM] bit used<br />

in the Icache is always set. Access to the super page mapping is only allowed while<br />

executing in kernel mode.<br />

PALcode fills and maintains the ITBs. The operating system, through PALcode, is<br />

responsible for ensuring that virtual addresses can only be mapped through a single<br />

ITB entry (in the large page, small page, or super page) at the same time.<br />

The Ibox presents the 43-bit virtual program counter (VPC) to the ITB each cycle<br />

while not executing in PALmode. If the PTE associated with the VPC is cached in<br />

the ITB then the Ibox uses the PFN and protection bits for the page that contains<br />

the VPC to complete the address translation and access checks.<br />

The 21064 ITB supports a single address space number (ASN) via the PTE[ASM]<br />

bit. Each PTE entry in the ITB contains an address space match (ASM) bit. Writes<br />

to the ITBASM IPR invalidate all entries that do not have their ASM bit set. This<br />

provides a simple method of preserving entries that map operating system regions<br />

while invalidating all others.<br />

12 Functions Located on the DECchip 21064

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

Saved successfully!

Ooh no, something went wrong!