Fujitsu Limited
4-1-1 Kamikodanak a
Nahahara-ku, Ka w as ak i, 211 -858 8
Japan
SPARC JPS1
Implementation Supplement:
Fujitsu SPARC64 V
Fujitsu Limited
Release 1.0, 1 July 2002
Part No. 806-6755-1.0
Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, California 94303 U.S.A. All rights reserved.
Portions of this document are protected by copyright 1994 SPARC International, Inc.
This product or document is protected by copyright and distributed under lic enses restricting its use, copying, distributio n, and decompilation. No part of this
product or document may be reprod uced in any form by any means without prior written authorization of Sun and its lic ensors, if any. Thir d-party software,
including font technology, is copyrighted and license d from Sun suppliers.
Parts of the product may be derived fr om Berkeley BSD systems, licensed from the University of California. UNIX is a r egistered trademark in the U.S. and other
countries, exclusively licensed through X/Open C ompany, Ltd.
Sun, Sun Microsystems, the Sun logo, SunSoft, SunDocs, SunExpres s, and Solaris are trademarks, registered trademarks, or service marks of Sun Microsy stems,
Inc. in the U.S. and other countries. All SP ARC trademarks ar e used under license and are trademarks or r egistered trademarks of SPARC International, Inc. in the
U.S. and other countries. Products bearing SP ARC trademarks are based upon an architec ture developed by Sun Microsystems, Inc.
The OPEN LOOK and S un™ Graphi cal Use r Interfac e was devel oped by Su n Micr osystems, Inc. for its users a nd license es. Sun ac knowledges the pioneering
efforts of Xerox in r esearching and developing the con cept of visual or graphical user interfaces for the computer industry. Sun holds a non-exclusive license from
Xerox to the Xerox Graphical User Interface, which lice nse also covers Sun’s licensees who implement OPEN LOOK GUIs and otherwise comply with Sun’s
written license agreements.
RESTRICTED RIGHTS: Use, duplication, or disclosure by the U.S. Government is subject to restrictions of F AR 52.227-14(g)(2)(6/87) and F AR 52.227-19(6/87),
or DFAR 252.227-7015(b)(6/95) and DF AR 227.7202-3(a).
DOCUMENTATION IS P ROVIDED “AS I S” AND ALL EXPR ESS OR IMPLIED CO NDITIONS, REP RESENTATIONS AND WARRANTIES, INCLUDING
ANY IMPLIED W ARRANTY OF MERCHANTABILITY , FITNESS FOR A P AR TICUL AR PURPOSE OR NON-INFRINGEMENT , ARE DISCL AIMED, EXCEPT
TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
Copyright 2002 Sun Microsystems, Inc., 901 San Antonio Road • Palo Alto, CA 94303-4900 Etats-Unis. Tous droits r éservés.
Ce produit ou document est protégé par un copy right et distribué avec des licences qui en r estreignent l’utilisation, la copie, la distribution, et la décompilation.
Aucune partie de ce produit ou document ne peut être reproduite sous aucune forme, par quelque moyen que ce soit, sans l’autorisation préalable et écrite de Sun
et de ses bailleurs de licence, s’il y en a. Le logiciel détenu par des tiers, et qu i comprend la technologie r elative aux polices de caractèr es, est protégé par un
copyright et licencié par des fournisseurs de Sun.
Des parties de ce produit pourront êtr e dérivées des systèmes Berkeley BS D licenciés par l’Université de Californie. UN IX est une marque déposée aux E tats-Unis
et dans d’autres pays et licenciée exclusivement par X/Open C ompany, Ltd. La notice suivante est applicable à Netscape Communicator™: Copyright 1995
Netscape Communications Corporation. T ous droi ts réservés.
Sun, Sun Microsystems , the Sun logo, Ans werBook2, docs.s un.com, et Sol aris sont des mar ques de fab rique ou des mar ques déposées, ou marques de service, de
Sun Microsystems, Inc. aux Etats-Unis et dans d’autr es pays. Toutes les marques SP ARC sont utilisées so us licence et sont des marques de fabrique ou des
marques déposées de SP ARC International, Inc. aux Etats-Unis et dans d ’autres pays. Les produits portant les mar ques SP ARC sont bas és sur une ar chitecture
développée par Sun Microsystems, Inc.
L ’interface d’utilisation graphique OPEN LOOK et Sun™ a été dévelo ppée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés. Sun r econnaît les eff orts
de pionniers de Xerox pour la r echerche et le développement d u concept des interfaces d’utilisation visuelle o u graphique pour l’industrie de l’informatique. Sun
détient une licence non exclusive de Xerox sur l’interface d’utilis ation graphique Xerox, ce tte licence couvrant également les licenciés d e Sun qui mettent en place
l’interface d’utilisation graphique OPEN LOOK et qui en outre se con forment aux licences écrites de Sun.
CETTE PUBLICATION EST FOURNIE "EN L’ETAT" ET AUCUNE GARANTIE, EXPRESSE OU IMPLICITE, N’EST ACCORDEE, Y COMPRIS DES
GARANTIES CONCERNANT LA VALEUR MARCHANDE, L ’APTITUDE DE LA PUBL ICA TION A REPOND RE A UNE UTILISA TI ON P AR TICUL IERE, OU
LE FAIT QU’ELLE NE SOIT PAS CONTREFAISA NTE DE PRO DUIT DE TIERS . CE DENI DE GARANTI E NE S’APPLIQU ERAIT PAS, DANS LA MESURE
OU IL SERAIT TENU JURIDIQUEMENT NUL ET NON AVENU.
No part of this product or related documentation may be r eproduced in any form by any means without prior written authorization of Fujits u Limited and its
licensors, if any.
Portions of this product may be derived from the UNIX and Berk eley 4.3 BSD Systems, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary
of Novell, Inc., and the University of California, respectively.
The product described in this book may be pro tected by one or more U.S. patents, f oreign patents, or pending applications.
Fujitsu and the Fujitsu logo are trademarks of Fujitsu Limited.
This publication is provided “as is” without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of
merchantability, fitness for a particular purpose, or noninfringement.
This publication could include technical inaccuracies or typographical errors. changes are periodically added to the inf ormation herein; these chang es will be
incorporated in new editions of the publication. Fujitsu limited may make impr ovements and/or changes in the pr oduct(s) and/or the pr ogram(s) described in
this publication at any time.
Sun Microsystems, Inc.Fujitsu Limited
901 San Antonio 4-1-1 Kamikodanaka
Palo Alto, California, 94303Nakahara-ku, Kawasaki, 211-8588
U.S.A.Japan
http://www.sun.comhttp://www.fujitsu.com/
Release 1.0, 1 July 2002F. Chapter 2
3SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
F.CHAPTER
Contents
1.Ove r v iew 1
Navigating the SPARC64 V Implementation Supplement 1
Fonts and Notational Conventions 1
The SPARC64 V processor 2
Component Overview 4
Instruction Control Unit (IU) 6
Execution Unit (EU) 6
Storage Unit (SU) 7
Secondary Cache and External Access Unit (SXU) 8
2.Def i n i t ions 9
3.Architectura l Ov e rvi ew 13
4.Data Formats 15
5.Registers 17
Nonprivileged Registers 17
Floating-Point State Register (FSR) 18
Ti ck (TICK) Reg ister 19
Privileged Registers 19
Trap State (TSTATE) Register 19
Ver sion (VER) Re g i ster 20
Ancillary State Registers (ASRs) 20
Registers Referenced Through ASIs 22
i
Floating-Point Deferred-Trap Queue (FQ) 24
IU Deferred-Trap Queue 24
6.Instructions 25
Instruction Execution 25
Data Prefetch 25
Instruction Prefetch 26
Syncing Instructions 27
Instruction Formats and Fields 28
Instructi o n Categories 29
Details of Supported Tr aps 39
Trap Processing 39
Exception and Interrupt Descriptions 39
SPARC V9 Implementation-Dependent, Optional Traps That Are
Mandatory in SPARC JPS1 39
iiSPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
SPARC JPS1 Implementation-Dependent Traps 39
8.Mem ory Models 41
Overview 42
SPARC V9 M em or y Mo de l 42
Mode Control 42
Synchronizing Instruction and Data Memo ry 42
A. Instruction Definitions: SPARC64 V Extensions 45
Block Load and Store Instructions (VIS I) 47
Call and Link 49
Implementation-Dependent Instructions 49
Floating-Point Multiply-Add/Subtract 50
Jump and Link 53
Load Quadword, Atomic [Physical] 54
Memory Barrier 55
Partial Store (VIS I) 57
Prefetch Data 57
Read State Register 58
SHUTDOWN (VIS I) 58
Wr ite St at e Re gis t er 59
Deprecated I ns tru c ti on s 59
Store Barrier 59
B. IEEE S td 754 - 198 5 Re qu ir eme nt s fo r SPARC V9 61
Definition of an Implementation Depend ency 69
Hardware Characteristics 70
Implementation Dependency Categories 70
List of Implementation Dependencies 70
Release 1.0, 1 July 2002F. Chapter Contentsiii
D. Forma l S pe cifi c atio n o f t he M emo ry M od els 81
Faults and Traps 89
Reset, Disable, and RED_state Behavior 91
Internal Register s an d ASI ope rat ion s 92
Accessing MMU Registers 92
I/D TLB Data In, Data Access, and Tag Rea d Regis ters 93
I/D TSB Extension Registers 97
I/D Synchronous Fault Status Registers (I-SFSR , D-SF SR) 97
MMU Bypass 104
TLB Replacement Policy 105
G. Assembly Language Syntax 107
H. Software Considerations 109
I. Extending the SPARC V9 Architecture 111
J. Changes from SPARC V8 to SPARC V9 113
K. Programming with the Memory Models 115
L. Addre ss S pa ce Id enti fi er s 117
SPARC64 V ASI Assignments 117
Special Memory Ac ce ss AS Is 119
Barrier Assist for Parallel Processing 121
Interface Definition 121
ASI Registers 122
M. Cache Orga nizat io n 125
Cache Types 125
Level-1 Instruction Cache (L1I Cache) 126
ivSPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
Registers Related to Error Handling 153
Summary of Actions Upon E rror Detection 154
Extent of Automatic Source Data Correction for Correctable Error 157
Error Marking for Cacheable Data Error 157
ASI_EIDR 161
Cont rol of E rror A c tion (ASI_ERROR_CONTROL) 161
Fatal Er ro r and e r ro r_s t a t e Tran s i tion Erro r 1 63
ASI_STCHG_ERROR_INFO 163
Fatal Error Types 164
Types of error_state Tra nsition Errors 164
Urgent Error 165
URGENT ERROR STATUS (ASI_UGESR) 165
Action of
async_data_error
(ADE) Trap 168
Instruction End-Method at ADE Trap 170
Expected Soft w are Hand ling of ADE Trap 171
Register Error Handling (Excluding ASRs and ASI Registers) 181
ASR Error Handling 182
ASI Register Error Handling 183
Cache Error Handling 188
Handling of a Cache Tag Error 188
Handling of an I1 Cache Data Error 190
Handling of a D1 Cache Data Error 190
Handling of a U2 Cache Data Error 192
Automatic Way Reduction of I1 Cache, D1 Cache, and U2 Cache 193
viSPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
TLB Error Handling 195
Handling of TLB Entry Errors 195
Automatic Way Reduction of sTLB 196
Handling of Extended UPA Bus Interface Error 197
Handling of Extended UPA Address Bus Error 197
Handling of Extended UPA Data Bus Error 197
Q. Perform anc e Ins trume nt atio n 20 1
Performance Monitor Overview 201
Sample Pseudo co des 2 01
Performance Monitor Description 203
Instruction Statistics 204
Trap-R el at ed S tat istic s 2 06
MMU Event Counters 207
Cache Event Counters 208
UPA Event Counters 210
Miscellaneous Counters 211
R. UPA Programmer’s Model 213
Mapping of the CPU’s UPA Port Slave Area 213
UPA Por tID Re gist er 214
UPA Conf ig Re giste r 215
S. Summary of Differences between SPARC64 V and UltraSPARC-III 219
Bibliography 223
General References 223
Index 225
Release 1.0, 1 July 2002F. Chapter Contentsvii
viiiSPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Rele a se 1. 0, 1 July 20 02
F.CHAPTER
1
Overview
1.1Navigating the SPARC64 V
Implementation Supplement
We sugg est that you approach this Impl ementation Suppl ement SPARC Joint
Programming Specification as follows.
1. Familiarize yourself with the SPARC64 V processor and its components by
reading these sections:
■
The SPARC64 V processor on page 2
■
Component Overview on page 4
■
Processor Pipel ine on page 31
2. Study the terminology in Chapter 2, Definitions:
3. For details of architectural changes, se e the remaining cha pters in this
Implementation Supplement as your interests direct.
For this revision, we added new appendixes: Appendix R,
and Appendix S, Summary of Differences between SPARC64 V and UltraSPARC-III.
UPA Programmer’s Model
1.2Fonts and Notational Conventions
Please refer to Section 1.2 of Commonality for font a nd notational conventions.
,
1
1.3The SPARC64 V processor
The SPARC64 V processor is a high-performance, high-reliability, and high-integrity
processor that fully implements the instruction set architecture that conforms to
SPARC V9, as described in JPS1 Commonality. In addition, the SPARC64 V processor
implements the following features:
64-bit virtual a ddress space and 4 3-bit physical address space
■
Advanced RAS features that enable high-integrity error handling
■
Microarchitecture for High Performance
The SPARC6 4 V is an out-of-order execution superscala r processor that issues up to
four instructions per cycle. Instructions in the predicted path are issued in program
order and are stored temporarily in
of program order to appropriate execution units. Instructions commit in program
order when no exceptional conditions occur during execution and all prior
instructions commit (that is, the result of the instruction execution becomes visible).
Out-of-order execution in SPARC64 V contributes to high performance.
SPARC64 V implements a large branch history buffer to predict its instruction path.
The history buffer is large enough to sustain a good prediction rate for large-scale
programs such as DBMS and to support the advanced instruction fetch mechanism
of SPARC64 V. This instruction fetch scheme predicts the execution path beyond the
multiple conditional branches in accordance with the branch history. It then tries to
prefetch instructions on the predicted path as much as possible to reduce the effect
of the performance penalty caused by instruction cache misses.
reservation st ations
until they are dispatched out
High Integration
SPARC64 V integrates an on-board, associative, level-2 cache. The level-2 cache is
unified for instruction and data. It is the lowest layer in the cache hierarchy.
This integration contributes to both performance and reliability of SPARC64 V. It
enables shorter access time and more associativity and thus contributes to higher
performance. It contributes to higher reliability by eliminating the external
connections for level-2 cache.
High Reliability and High Integrity
SPARC64 V implements the following advanced RAS features for reliability and
integrity beyond that of ordinary microprocessors.
2SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
1. Advanced RAS features for caches
■
Strong cache error protection:
ECC protection for D1 (Data level 1) cache data, U2 (unified level 2) cache data,
■
and the U2 cache tag.
Parity protection for I1 (Instruction level 1) cache data.
■
Parity protection and duplication for the I1 cache tag and the D1 cache tag.
■
■
Automatic correction of all types of single-bit error:
Automatic single-bit error correction for the ECC protected data.
■
Invalidation and refilling of I1 cache data for the I1 cache data parity error.
■
Copying from duplicated tag for I1 cache tag and D1 cache tag parity errors.
■
■
Dynamic way reduction while cache consistency is maintained.
■
Error marking for cacheable data uncorrectable errors:
Special error-marking pattern for cacheable data with uncorrectable errors. The
■
identification of the module that first detects the error is embedded in the
special pattern.
Error-source isolation with faulty module identification in the special error-
■
marking. The identification information enables the processor to avoid
repetitive error logging for the same error cause.
2. Advanced RAS features for the core
■
Strong error protection:
Parity protection for all data paths.
■
Parity protection for most of software-visible registers and internal temporary
■
registers.
Parity predicti on or residue che cking for t he accumula tor output.
■
■
Hardware instruction retry
■
Support for software instruction retry (after failure of hardware instruction retry)
■
Error isolation for software recovery:
Error indication for each programmable register group.
■
Indication of retryability of the trapped instruction.
■
Use of different error traps to differentiate degrees of adverse effects on the
■
CPU and the system.
3. Extended RAS interface to software
■
Error classification according to the severity of the effect on program execution:
Urgent error (nonmaskable): Unable to continue execution without OS
■
intervention; reported through a trap.
Restrainable error (maskable): OS controls whether the error is reported
■
through a trap, so error does not directly affect program execution.
■
Isolated error indication to determine the effect on software
Release 1.0, 1 July 2002F. Chapter 1Overview3
■
Asynchronous data error (
Relaxed i nstruct ion en d method (precise , retryab le, not ret ryable ) for the
■
async_data_error
exception to indicate how the instruction should end; depends
ADE
) trap for additional errors:
on the executing instruction and the detected error.
ADE
Some
■
Simultaneous reporting of all detected
■
traps that are deferred but retryable.
handling of retryability.
1.3.1Component Overview
The SPARC64 V processor contains these components.
Instruction control Unit (IU)
■
Execution Unit (EU)
■
Storage Unit (SU)
■
Secondary cache and eXternal access Unit (SXU)
■
ADE
errors at the error barrier for correct
FIGURE 1-1
illustrates the major units; the following subsections describe them.
4SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
Extended UPA Bus
SX-Unit
UPA interface logic
MoveIn buffer
S-Unit interface
S-Unit
SX interface
I-TLB tag data
2048
+ 32
entry
Level-1 I cache
128 KB, 2-way
MoveOut buffer
U2$ U2$ data
tag 2M 4-way
SX order queueStore queue
D-TLB tag data
2048
+ 32
entry
Level-1 D cache
128 KB, 2-way
E-Unit
ALU
Input
Registers
and
Output
Registers
GUBFUB
GPRFPR
ALUs
EXA
EXB
FLA
FLB
EAGA
EAGB
I-Unit
Instruction Instruction
fetch buffer
pipeline
Commit stack entry
Reservation stations
PC
nPC
CCR
E-unit
control
logic
FSR
Branch
history
FIGURE 1-1
Release 1.0, 1 July 2002F. Chapter 1Overview5
SPARC64 V Major Units
1.3.2Instruction Control Unit (IU)
The IU predicts the instruction execution path, fetches instructions on the predicted
path, distributes the fetched instructions to appropriate reservation stations, and
dispatches the instructions to the execution pipeline. The instructions are executed
out of order, and the IU commits the instructions in order. Major blocks are defined
Branch history16K entries, 4-way set associative.
Instruction bufferSix entries, 32 bytes/entry.
Reservation s tationSix reservation s tations to ho ld instructio ns until the y can
Commit stack entriesSixty-four ent ries; basica lly one inst ruction/ent ry, to hold
PC, nPC, CCR, FSRProgram-vi sible regist ers for in structio n execu tion con trol.
Instruction Control Unit Major Blocks
I-Cache fetch, and a write to I-buffer.
execute: RSBR for branch and the other control-transfer
instructions; RSA for l oad/sto re instruction s; RSEA and RSEB for
integer arithmetic instructions; RSFA and RSFB for floating-point
arithmetic and V IS instructio ns.
information about instructions issued but not yet committed.
1.3.3Execution Unit (EU)
The EU carries out execution of all integer arithmetic, logical, shift instructions, all
floating-point instructions, and all VIS graphic instructions.
EU major blocks.
TABLE 1-2
Execution Un it Major B locks
TABLE 1-2
describes the
NameDescription
General register (gr) renaming
regis te r fi le (GUB: gr update
buffer)
Gr a rch ite ctu re re gis te r fi le ( GPR) 160 entries, 1 read port, 2 write ports
Floating-point (fr) renaming
regis te r fi le (FUB: fr update
buffer)
Fr arc hi tec ture reg is ter fil e (FPR )Thirty-two entries,
EU control logicControls the in struction exe cution sta ges: instru ction
6SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
Thirty-two entries, 8 read ports, 2 write ports
Thirty-two entries, 8 read ports, 2 write ports
6 read ports, 2 write ports
selection, register read, and execution.
TABLE 1-2
NameDescription
Execution Un it Major B locks (C o n tinued)
Interface registersInput/output registers to other units.
Tw o integer ex ecution pipelin es
(EXA, EXB)
Two floating-point and graphics
execution pipelines (FLA, FLB)
Two virtual address adders for
memory access pipeline (EAGA, EAGB)
1.3.4Storage Unit (SU)
The SU handles all sourcing and sinking of data for load and store instructions.
TABLE 1-3
describes the SU major blocks.
64-bit ALU and shifters.
Each floating-point execution pipeline can execute floating
point multiply, floating point add/sub, floa ting-point
multiply and add, floating point div/sqrt, and floatingpoint graphi cs instruction .
Movein bufferSixteen entries, 64-bytes/entry; catches returning data from
Moveout bufferEight entries, 64-bytes/entry; holds writeback data. A maximum
Extended UPA interface
control logic
Secondary Cache and External Access Unit Major Blocks
latency data s ource for both instruction l evel-1 c ache and data
level-1 cache.
memory system in response to the cache line read request. A
maximum of 16 outstanding cache read operations can be issued.
of 8 outstanding writeback requests can be issued.
Send/receive transaction packets to/from Extended UPA
interface connected to the system.
8SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
F.CHAPTER
2
Definitions
This chapter defines concepts unique to the SPARC64 V, the Fujitsu implementation
of SPARC JPS1. For definition of terms that are common to all implementations,
please refer to Chapter 2 of Commonality.
committedTerm applied to an instruction when it has completed w ithout error and all
prior instructions have completed without error and have been committed. When
an instruction is committ ed, the state of the machine is permanently change d
to reflect the result of the ins truction; the previously existing state is no longer
needed and can be disca rded.
completedTerm applied to an instruction after it has finished, has sent a no nerror stat us to
the issue unit, and all of its source operands are nonspeculative. Note:
Although the state of the machine has been temporarily altered by completion
of an instruction, th e state has not y et been permanentl y changed and the old
state can be recovered until the instruction has been committed.
executedTe rm applied to an instru ction that ha s been proces sed by an execution u nit
such as a load unit. An instruction is in execution as long as it is still being
processed by an execution unit.
fetchedTerm applied to an instruction that is obtained from the I2 instruction cache or
from the on-chip internal cache an d sent to the i ssue unit.
finishedTerm applied to an instruction when it has completed execution in a functional
unit and has forwarded its result onto a result bus. Results on the result bus are
transferred to the register file, as are the waiting instructions in the instruction
queues.
initiatedTerm applied to an inst ruct ion wh en it ha s al l of t he resources that it nee ds (fo r
example, source operands) and has been selected for execution.
instruction issuedTerm applied to an instruction whe n it has bee n dispatched to a reservation
station.
9
instruction retiredTerm applied to an instruct ion when all machine resources (s erial numbers,
renamed registers) have been reclaimed and are avai lable for use by o ther
instructions. An instruc tion can only be retired after it has been committed.
instruction stallTerm applied to an instruc tion that is not allowed to be issu ed. Not every
instruction can be issued in a given cycle. The SPARC64 V implementation
imposes certain issue constraints bas ed on resource availability and program
requirements.
issue-stalling
instructionAn instruction that prevents ne w instructions from being is sued until it has
committed.
machine syncThe state of a machine when all previously executing instructions have
committed; that is, when no i ssued but uncommitted instructions are in the
machine.
Memory Manageme nt
Unit (MMU)Refers to the address translation h ardware in SPARC6 4 V that translates 64-bit
virtual address in to physica l address. The MMU is co mposed of the mITLB,
mDTLB, uITLB, uDTLB, and the ASI registers used to manage address
translation.
mTLBMain TLB. Sp lit into I and D, cal led m ITLB and mD TLB, respe ctive ly. Contains
address translations for the uITLB and uDTLB . When the uITLB o r uDTLB do
not contain a translatio n, they ask the mTLB for the translation. If the mTLB
contains the translation, it sends the tran slation to the respective uTLB. If the
mTLB does not contain the translation, it ge nerates a fast access exceptio n to a
software translation trap handler, which will load the translation information
(TTE) into the mTLB and retry the access. See alsoTLB.
uDTLBMicro Data TLB. A small, fully associative buffer that contains address
translations for data accesses. Misses in the uDTLB are handled by the mTLB.
uITLBMicro Instruction TLB. A small , fully associ ative buffer that contai ns address
translations for instruction accesses. Misses in the uTLB are han dled by th e
mTLB.
nonspeculativeA distri bution syst em whereby a result i s guaranteed known cor rect or an
operand stat e is known to be valid . SPARC64 V employs sp eculative
distribution, meaning that results can be distributed from functional units
before the point at which guaranteed validity of the result is known.
reclaimedThe status when all instruction-related resources that were held until commit
have been released and are availabl e for subsequent instructions. Instruct ion
resources are usually reclaimed a few cycles after they are committed.
rename registersA large set of hardware registers implemented by SPARC64 V that are invisible
to the programmer. Before instructions are issued, source and destination
registers are mapped on to this s et of rename registers. This al lows inst ructions
that normally would be blocked, waiting for an architected register, to proceed
10SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
in parallel . When i nstruction s are committed, results in renamed registers are
posted to the architected registers in the proper sequence to produce the correct
program results.
scanA method used to initialize all of the machine state within a chip. In a chip that
has been desi gned to be scann able, a ll of t he machin e state is conne cted i n one
or several loops c alled “scan ri ngs.” Initi alization data can be sca nned into the
chip through the scan rings. The state of the machine also can be s canned out
through the scan rings.
reservation stationA holding location that b uffers di spatc h ed in struc ti ons u nt il al l i nput o pera nds
are available. SPARC64 V implements dataflow execution based on operand
availability. When opera nds are availabl e, the in structions in the reservation
station are scheduled for ex ecution. Reservati on stations also contai n special
tag-matching logic that captures the appropriate operand data. Reservation
stations are sometimes referred to as queues (for example, the integer queue).
speculativeA distribution syst em whereby a result is not g uaranteed as kn own to be
correct or an operan d state is not known to be valid. SPARC64 V employs
speculative distribution, meaning results can be distributed from functional
units before the point at which guaranteed validity of the result is known.
superscalarAn implementation that allows several instructions to be issued, executed, and
committed in one clock cycle. SPARC64 V issues up to 4 instructions per clock
cycle.
syncSynonym: machine sync.
syncing instructionAn instruction that causes a machine sync. Thus, before a syncing instruction is
issued, all previo us instructions (in program order) must hav e been committed.
At that point, the syncing instruction is issued, executed, completed, and
committed by itself.
TLBTranslation l ookaside b uffer.
Release 1.0, 1 July 2002F. Chapter 2Definitions11
12SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
F.CHAPTER
3
Architectural Overview
Please refer to Chapter 3 in the Commonality section of SPARC Joint Programming Specification.
13
14SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
F.CHAPTER
4
Data Formats
Please refer to Chapter 4, Data Formats in Commonality.
15
16SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
F.CHAPTER
5
Registers
The SPARC64 V processor includes two types of registers: general-purpose—that is,
working, data, control/status—and ASI registers.
The SPARC V9 architecture also defines two implementation-dependent registers:
the IU Deferred-Trap Queue and the Floating-Point Deferred-Trap Queue (FQ);
SPARC64 V does not need or contain either queue. All processor traps caused by
instruction executio n are precise, and there are severa l disruptin g traps cause d by
asynchronous events, such as interrupts, asynchronous error conditions, and
RED_state entry traps.
For general information, please see parallel subsections of Chapter 5 in
Commonality. For easier referencing, this chapter follows the organization of
Chapter 5 in Commonality.
For information on MMU registers, please refer to Section F.10, Inte rnal Regist ers and ASI operations, on page 9 2.
The chapter contains these sections:
■
Nonprivileged Regi sters on page 17
■
Privileged Registers on page 19
5.1Nonprivileged Register s
Most of the definitions for the registers are as described in the corresponding
sections of Commonality. Only SPARC64 V-specific features are described in this
section.
17
5.1.7Floating-Point State Register (FSR)
Please refer to Section 5.1.7 of Commonality for the description of FSR.
The sections below describe SPARC64 V-specific features of the FSR regi st er.
FSR_nonstandard_fp (NS)
SPARC V 9 defines th e FSR.NS bit which, when set to 1, causes the FPU to produce
implementation-dependent results that may not conform to IEEE Std 754-1985.
SPARC 64 V implements th is bit.
When FSR.NS = 1, denormal input operands and denormal results that would
otherwise trap are flushed to 0 of the same sign and an inexact exception is signalled
(that may be masked by FSR.TEM.NXM). See Section B.6, Floating-Point Nonstandard Mode, on page 61 for details.
When FSR.NS = 0, the normal IEEE Std 754-1985 behavi or is implemented.
FSR_version (
For each SPARC V9 IU implementation (as identified by its VER.impl field), there
may be one or more FPU implementations or none. This field identifies the
particular FPU implementation present. For the first SPARC64 V, FSR.ver =0 (impl.
dep. #19); however, future versions of the architecture may set FSR.ver to other
values. Consult the SPARC64 V Data Sheet for the setting of FSR.ver for your
chipset.
FSR_floating-point_trap_type (
The complete conditions under which SPARC64 V triggers
trap type
on page 61 (impl. de p. #248).
unfinished_FPop
)
ver
)
ftt
fp_exception_other
is described in Section B.6, Floating-Point Nonstandard Mode,
with
FSR_current_exception (cexc)
Bits 4 through 0 indicate that one or more IEEE_754 f loating-point exceptions were
generated b y the most recent ly execute d FPop inst ruction. Th e absence of an
exception causes the corresponding bit to be cleared.
In SPAR C64 V, the cexc bits are set according to the following pseudocode:
if (<LDFSR or LDXFSR commits>)
<update using data from LDFSR or LDXFSR>;
else if (<FPop commits with ftt = 0>)
<update using value from FPU>
18SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
else if (<FPop commits with IEEE_754_exception>)
<set one bit in the CEXC field as supplied by FPU>;
else if (<FPop commits with unfinished_FPop error>)
<no change>;
else if (<FPop commits with unimplemented_FPop error>)
<no change>;
else
<no change>;
FSR Conformance
SPARC V 9 allow s th e TEM, cexc, and aexc fields to be implemented in hardware in
either of two ways (both of which co mply with IEEE Std 754-1985) . SPAR C64 V
follows case (1); that is, it implements all t hree fields in conformance with IEEE Std
754-1985. See FSR Conform ance in Section 5.1.7 of Commonality for more
information about other implementation methods.
5.1.9Tick (TICK) Register
SPARC64 V impl ements TICK.counter register as a 63-bit register (impl. dep.
#105).
Implementation Note –
when the TICK register is read is the value of TICK.counter when the RDTICK
instruction is executed. The difference between the counter values read from the
TICK register on two reads reflects the number of processor cycles executed between
the executions of the RDTICK instructions, not their commits. In longer code
sequences, the difference between this value and the value that would have been
obtained when the instructions are committed would have been small.
On SPARC64 V, the counter part of the value returned
5.2Privileged Registers
Please refer to Section 5.2 of Commonality for the description of privileged registers.
5.2.6Trap State (TSTATE) Register
SPARC64 V implem ents onl y bits 2: 0 of the TS TATE.CWP field. Writes to bits 4 and 3
are ignored, and reads of these bits always return zeroes.
Release 1.0, 1 July 2002F. Chapter 5Registers19
Loading...
+ 225 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.