• Varun Wadekar's avatar
    Add "Project Denver" CPU support · 3a8c55f6
    Varun Wadekar authored
    
    
    Denver is NVIDIA's own custom-designed, 64-bit, dual-core CPU which is
    fully ARMv8 architecture compatible.  Each of the two Denver cores
    implements a 7-way superscalar microarchitecture (up to 7 concurrent
    micro-ops can be executed per clock), and includes a 128KB 4-way L1
    instruction cache, a 64KB 4-way L1 data cache, and a 2MB 16-way L2
    cache, which services both cores.
    
    Denver implements an innovative process called Dynamic Code Optimization,
    which optimizes frequently used software routines at runtime into dense,
    highly tuned microcode-equivalent routines. These are stored in a
    dedicated, 128MB main-memory-based optimization cache. After being read
    into the instruction cache, the optimized micro-ops are executed,
    re-fetched and executed from the instruction cache as long as needed and
    capacity allows.
    
    Effectively, this reduces the need to re-optimize the software routines.
    Instead of using hardware to extract the instruction-level parallelism
    (ILP) inherent in the code, Denver extracts the ILP once via software
    techniques, and then executes those routines repeatedly, thus amortizing
    the cost of ILP extraction over the many execution instances.
    
    Denver also features new low latency power-state transitions, in addition
    to extensive power-gating and dynamic voltage and clock scaling based on
    workloads.
    Signed-off-by: default avatarVarun Wadekar <vwadekar@nvidia.com>
    3a8c55f6
denver.S 4.88 KB