NDS32

NDS32 is a new high-performance 32-bit RISC microprocessor core.

http://www.andestech.com/

AndeStar ISA

AndeStar is a patent-pending 16-bit/32-bit mixed-length instruction set to achieve optimal system performance, code density, and power efficiency.

It contains the following features:
  • Intermixable 32-bit and 16-bit instruction sets without the need for mode switch.
  • 16-bit instructions as a frequently used subset of 32-bit instructions.
  • RISC-style register-based instruction set.
  • 32 32-bit General Purpose Registers (GPR).
  • Upto 1024 User Special Registers (USR) for existing and extension instructions.
  • Rich load/store instructions for…
    • Single memory access with base address update.
    • Multiple aligned and unaligned memory accesses for memory copy and stack operations.
    • Data prefetch to improve data cache performance.
    • Non-bus locking synchronization instructions.
  • PC relative jump and PC read instructions for efficient position independent code.
  • Multiply-add and multiple-sub with 64-bit accumulator.
  • Instruction for efficient power management.
  • Bi-endian support.
  • Three instruction extension space for application acceleration:
    • Performance extension.
    • Andes future extensions (for floating-point, multimedia, etc.)
    • Customer extensions.

AndesCore CPU

Andes Technology has 4 families of CPU cores: N12, N10, N9, N8.

For details about N12 CPU family, please check below N1213 features. N1213 is a configurable hard/soft core of NDS32’s N12 CPU family.

N1213 Features

CPU Core
  • 16-/32-bit mixable instruction format.
  • 32 general-purpose 32-bit registers.
  • 8-stage pipeline.
  • Dynamic branch prediction.
  • 32/64/128/256 BTB.
  • Return address stack (RAS).
  • Vector interrupts for internal/external. interrupt controller with 6 hardware interrupt signals.
  • 3 HW-level nested interruptions.
  • User and super-user mode support.
  • Memory-mapped I/O.
  • Address space up to 4GB.
Memory Management Unit
  • TLB
    • 4/8-entry fully associative iTLB/dTLB.
    • 32/64/128-entry 4-way set-associati.ve main TLB.
    • TLB locking support
  • Optional hardware page table walker.
  • Two groups of page size support.
    • 4KB & 1MB.
    • 8KB & 1MB.
Memory Subsystem
  • I & D cache.
    • Virtually indexed and physically tagged.
    • Cache size: 8KB/16KB/32KB/64KB.
    • Cache line size: 16B/32B.
    • Set associativity: 2-way, 4-way or direct-mapped.
    • Cache locking support.
  • I & D local memory (LM).
    • Size: 4KB to 1MB.
    • Bank numbers: 1 or 2.
    • Optional 1D/2D DMA engine.
    • Internal or external to CPU core.
Bus Interface
  • Synchronous/Asynchronous AHB bus: 0, 1 or 2 ports.
  • Synchronous High speed memory port. (HSMP): 0, 1 or 2 ports.
Debug
  • JTAG debug interface.
  • Embedded debug module (EDM).
  • Optional embedded program tracer interface.
Miscellaneous
  • Programmable data endian control.
  • Performance monitoring mechanism.

The NDS32 ports of u-boot, the Linux kernel, the GNU toolchain and other associated software are actively supported by Andes Technology Corporation.