mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-30 06:53:09 +00:00
102 lines
3.2 KiB
ReStructuredText
102 lines
3.2 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0+
|
||
|
|
||
|
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.
|