Sable CPU Module Specification
Sable CPU Module Specification
Sable CPU Module Specification
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