SPARC JPS1
Implementation Supplement:
Fujitsu SPARC64 V
Fujitsu Limited
Release 1.0, 1 July 2002
Fujitsu Limited
4-1-1 Kamikodan ak a
Nahahara-ku, Kawasaki, 211-858 8
Japan
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 SP ARC International, Inc.
This product or document is protected by copyright and distributed under licenses restricting its use, copy ing, distribution, and decompilation. No part of this
product or document may be repr oduced in any form by any means without prior written authorization of Sun and its licensors, if any. Third-party software,
including font technology, is copyrighted and licensed from Sun suppliers.
Parts of the product may be derived fr om Berkeley BSD systems, l icensed from the U niversity of California. UNIX is a r egistered trademark in the U.S. and other
countries, exclusively licensed throug h X/Open Company, Ltd.
Sun, Sun Microsystems, the Su n logo, SunSoft, SunDocs, SunExpr ess, and Solaris are trad emarks, register ed trademarks, or service ma rks of Sun Micr osystems,
Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the
U.S. and other countries. Products bearing SP ARC trademarks are based upon an ar chitecture developed by Sun Microsystems, Inc.
The OPEN LOOK a nd Sun™ Grap hical Use r Interfa ce was deve loped by Sun Micr osystems, Inc. fo r its users and lice nsees. Sun acknowledges the pioneering
efforts of Xerox in r esearching and developing the con cept of visual or graphical user interfaces for the computer ind ustry. Sun holds a non-exclusive license from
Xerox to the Xerox Graphical User Interface, w hich license also covers Sun’s licensees who implement OPEN LOOK GUIs and ot herwise 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 PR OVIDED “AS IS” AND ALL EXPRESS O R IMPLIED CO NDITIONS, REPR ESENTATIONS A ND WARRANTIES, INCLUDING
ANY IMPLIED W ARRANTY OF MERCHANTABILITY , FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE DISCLAIMED, 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 dro its réservés.
Ce produit ou document est protég é par un copyright et distribué avec des licences qui en r estreignen t 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 qui comprend la technolo gie relative 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ème s Berkeley BSD licenciés par l’Université de Califo rnie. UNIX est une mar que déposée aux Etats-Unis
et dans d’autres pays et licenciée exclusiveme nt par X/Open Company, Ltd. La notice suivante est applicable à Netscape Communicator™: Copyright 1995
Netscape Communications Corporation. T ous dr oits réservés.
Sun, Sun Microsys tems, the Sun logo, AnswerBook2, docs.s un.com, et Sol aris sont des ma rques de fabrique ou des ma rques dépo sées, ou marqu es de service, d e
Sun Microsystems, Inc. aux Etats-Unis et dans d’autres pays. Toutes les marques SPARC sont utilisées sous licence et sont des marques de fabrique ou des
marques déposées de SPARC International, Inc. aux Etats-Unis et dans d’autres pays. Les produits portant les marques 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éveloppée par Sun Microsystems, Inc. pour ses utilisateurs et licenciés . Sun reconnaît les ef forts
de pionniers de Xerox pour la r echerche et le développem ent du concept des interfaces d’utilisatio n visuelle ou graphique pour l’industrie de l’informatique. Sun
détient une licence non exclusive de Xer ox sur l’interface d’utilisation graphique Xer ox, cette licence couvrant également les licen ciés de Sun qui mettent en place
l’interface d’utilisation graphique OPEN LOOK et qui en outre se conforment 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 ’APTIT UDE DE LA PUBLICATION A REPONDRE A UNE UTILISA TION PARTICULIERE, OU
LE FAIT QU’ELLE NE SOIT PAS CONTREFAISANTE DE PRODUIT DE TIERS. CE DENI DE GARANTIE NE S’APPLIQUERAIT 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 w ritten authorization of Fujitsu Limited and its
licensors, if any.
Portions of this product may be derived fr om the UNIX and Berkeley 4.3 BSD Systems, licensed fr om 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, foreign 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 err ors. changes are periodically add ed to the information herein; thes e changes will be
incorporated in new editions of the publication. Fujitsu limited may mak e improvements and/or changes in the pr oduct(s) and/or the program(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 view 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 itio n s 9
3.Architectu ra l Ove rv iew 13
4.Data Formats 15
5.Registers 17
Nonprivileged Registers 17
Floating-Point State Register (FSR) 18
Ti ck (TICK) Register 19
Privileged Registers 19
Trap State (TSTATE) Register 19
Ver sion (VER) Re g i s t e r 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
Instruct ion Categories 29
Details of Supported Traps 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.Memory Models 4 1
Overview 42
SPARC V 9 Mem o ry Mo de l 42
Mode Control 42
Synchronizing Instruction and Data Me mory 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
Writ e Sta te Re gi s ter 59
Deprecated In st ruc t io n s 59
Store Barrier 59
B. IEEE Std 754 -198 5 R e qui rem e nts for SPARC V9 61
Definition of an Implementation Depe nde ncy 69
Hardware Characteristics 70
Implementation Dependency Categories 70
List of Implementation Dependencies 70
Release 1.0, 1 July 2002F. Chapter Contentsiii
D. Form a l Spe c ific at io n of t he Mem ory Mod e ls 81
Faults and Traps 89
Reset, Disable, and RED_state Behavior 91
Internal Regist ers an d A SI op era tion s 92
Accessing MMU Registers 92
I/D TLB Data In, Data Access, and Tag Read Regis ters 93
I/D TSB Extension Registers 97
I/D Synchronous Fault Status Registers (I-SF SR, 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. Addr e ss Spa c e Iden ti fier s 117
SPARC64 V ASI Assignments 117
Special Memor y Acc e ss ASI s 119
Barrier Assist for Parallel Processing 121
Interface Definition 121
ASI Registers 122
M. Cache Orga n izatio 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 Error Detection 154
Extent of Automatic Source Data Correction for Correctable Error 157
Error Marking for Cacheable Data Error 157
ASI_EIDR 161
Control o f E r ro r Actio n ( ASI_ERROR_CONTROL) 161
Fatal Error a n d erro r_state Transi t ion Error 1 63
ASI_STCHG_ERROR_INFO 163
Fatal Error Types 164
Types of error_state Transition Errors 164
Urgent Error 165
URGENT ERRO R STATUS (ASI_UGESR) 165
Action of
async_data_error
(ADE) Trap 168
Instruction End-Method at ADE Trap 170
Expected So ftw are Hand li ng of AD E 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 Erro r 197
Q. Perfo rman ce In strum e ntat io n 201
Performance Monitor Overview 201
Sample Pseudo co d es 2 01
Performance Monitor Description 203
Instruction Statistics 204
Trap-R el ate d St atisti cs 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 PortI D Reg iste r 214
UPA Config Regi ster 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 • Relea se 1. 0, 1 July 20 02
F.CHAPTER
1
Overview
1.1Navigating the SPARC64 V
Implementation Supplement
We sugges t that you approach this Imple mentation Supple ment 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 a rchitectural changes, see the remaining chapters i n 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 and 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 physic al address space
■
Advanced RAS features that enable high-integrity error handling
■
Microarchitecture for High Performance
The SPARC64 V i s an out-of-order execution supersc alar 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 stations
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 Integri ty
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 featur es for the core
■
Strong error protection:
Parity protection for all data paths.
■
Parity protection for most of software-visible regist ers and internal temporary
■
registers.
Parity predic tion or residue ch ecking for t he accumula tor outpu t.
■
■
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 inte rface 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 report ed
■
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 instruc tion en d metho d (precise , retryab le, not retryable ) for th e
■
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
MoveOut buffer
U2$ U2$ data
tag 2M 4-way
SX order queueStore queue
D-TLB tag data
E-Unit
ALU
Input
Registers
and
Output
Registers
GUBFUB
ALUs
EXA
EXB
FLA
FLB
EAGA
EAGB
2048
+ 32
entry
Level-1 I cache
128 KB, 2-way
2048
+ 32
entry
Level-1 D cache
128 KB, 2-way
GPRFPR
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 Contro l 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 stationSix reservation stations to h old instruct ions until th ey can
Commit stac k entriesSixty-four en tries; bas ically one ins truction/en try, to h old
PC, nPC, CCR , FSRProgram-vi sible regi sters for instructio 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 fo r load/st ore instruct ions; RSEA and RSEB for
integer arithmetic instructions; RSFA and RSFB for floating-point
arithmetic and VIS instruct ions.
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
describes the
TABLE 1-2
NameDescription
General register (gr) renaming
regi ste r fi le (GUB: gr update
buffer)
Gr a rch ite ctu re re gi ste r fi le ( GPR) 160 entries, 1 read port, 2 write ports
Floating-point (fr) renaming
regi ste r fi le (FUB: fr update
buffer)
Fr a rchi te ctu re re gis ter fi le ( FPR)Thirty-two entries,
EU control logicControls the i nstruction e xecution s tages: instru ction
6SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
Execution Un it Major B locks
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 (Continued)
Interface registersInput/output registers to other units.
Two i nteger execu tion pipeline s
(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 fo r 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 multipl y, floatin g point add/ sub, floatin g-point
multiply and add, floating point div/sqrt, and floatingpoint graph ics instruct ion.
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 source for bo th instruction level-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 whe n it has co mpleted with out error and all
prior instructions have completed without error and have been committed. When
an instruction is committ ed, the state of the machin e is permanently chang ed
to reflect the result of the i nstruction; th e previously existi ng state i s no longe r
needed and can be disca rded.
completedTerm applied to an instruction after it has finished, has sent a none rror status 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 no t yet been permane ntly changed and the old
state can be recovered until the instruction has been committed.
executedTerm applied to an instruct ion that ha s been proces sed by an ex ecution un it
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 and sent to the issue 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 i nst ructi on wh en i t h as all of t he resources that it ne e ds ( for
example, source operands) and has been selected for execution.
instruction issuedTerm applied to an in struction when it has been d ispatched to a reservation
station.
9
instruction retiredTerm applied to an instructi on when all machine resources (seri al numbers,
renamed registers) have been reclaimed and are available for use b y other
instructions. An instru ction can only be retired after it has been c ommitted.
instruction stallTerm applied to an instructi on that is not allowed to be issued . Not every
instruction can be issued in a given cycle. The SPARC64 V implementation
imposes certain issue constrain ts based on resource availability and program
requirements.
issue-stalling
instructionAn instruction that prevents ne w instructio ns 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 issued but uncommitt ed instructions are in the
machine.
Memory Manag ement
Unit (MMU)Refers to the address translation h ardware in SPARC64 V that tr anslates 64-bit
virtual address into physica l address. T he MMU is c omposed of the mITLB,
mDTLB, uITLB, uDTLB, and the ASI registers used to manage address
translation.
mTLBMain TLB. Split i nto I and D, c alled mITL B and m DTLB, respectiv ely. Contai ns
address translations for the uITLB and uDT LB. When the uITL B or uDTLB do
not contain a transl ation, they ask the mTLB for th e translation. If the mTLB
contains the translatio n, it sends the translation to th e respective uTLB. If the
mTLB does not contain the translation , it generates a fast access excep tion 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 s mall, fully asso ciative buffer that co ntains address
translations fo r instructio n accesses . Misses i n the uTLB are handled by th e
mTLB.
nonspeculativeA distribution syst em whereby a result i s guaranteed known correct or an
operand stat e is known to be vali d. SPAR C64 V employ s speculati ve
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 available for subse quent instructions. Ins truction
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 onto this s et of renam e register s. This al lows ins tructions
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 nstructi ons 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 t o be scann able, all of t he mac hine stat e is co nnected i n one
or several loops called “scan rings.” Initialization data can be scanne d into the
chip through the scan rings. The sta te of the machine also can be scanned out
through the scan rings.
reservation stationA holding location that b uffers disp atch ed in structi on s unt il all i np ut o pera nds
are available. SPARC64 V implements dataflow execution based on operand
availability. When operands are available, the instruc tions in the reservation
station are scheduled for ex ecution. Reserv ation stations also con tain 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 no t guaranteed 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 previous instructions (in program order) must have been committed.
At that point, the syncing instruction is issued, executed, completed, and
committed by itself.
TLBTranslation lo okaside buffer.
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
instructio n executi on are precise, and there are severa l disrupti ng traps caus ed 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, Internal Registers a nd ASI operations, on page 92.
The chapter contains these sections:
■
Nonprivileged Re gisters on page 17
■
Privileged Registers on page 19
5.1Nonprivile ged 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 regis ter.
FSR_nonstandard_fp (NS)
SPARC V9 defines the 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.
SPARC64 V im plements thi s 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 behavior 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 F SR.v er for your
chipset.
FSR_floating-point_trap_type (
The complete conditions under which SPARC64 V triggers
trap type
on page 61 (impl. dep. #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 floating-point exceptions were
generated b y the most rece ntly execu ted FPop in struction. T he absence of an
exception causes the corresponding bit to be cleared.
In SPARC64 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 V9 a llows the TEM, cexc, and aexc fields to be implemented in hardware in
either of two ways (both of whi ch comply with IEEE Std 754-19 85). SPARC 64 V
follows case (1); that is, it implements al l three fields in conformance with IEEE Std
754-1985. See FSR Con formance in Section 5.1. 7 of Commonality for more
information about other implementation methods.
5.1.9Tick (TICK) Register
SPARC64 V implements 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 executi ons 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 i mpleme nts only bits 2:0 of t he TSTATE.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.