10
WWW.ANDESTECH.COM Driving Innovations™ Andes Company Overview

Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

WWW.ANDESTECH.COM

Driving Innovations™

Andes Company Overview

Page 2: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 2

Andes: Converting 10+ Years Investments into RISC-V Community

• 80%+ in RISC V in ‘18

• AIoT, Storage, Networking 150+ commercial licensees

150 people; 80% in R&D • R&D center in Taiwan and (now) US

Found in 2005;

Public since 2017

• MIPS-like 32-/64-bit RISC & DSP

• Complete ecosystem

Founding member and Major Contributor to RISC-V

• Tool chain contribution

• ISA extensions

Page 3: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 3

ISA Expansion

CPU

Evolution of Computing Acceleration

Specialized peripherals

I/O controller, crypto engines

Co-processors

Floating point (FPU)

ISA expansion

Intel’s MMX, SSE, AVX, etc.

User extensions

Old: ARC, Tensilica

New: RISC-V open opcode

Acceleration Engine

CPU

System Bus

Co-Processor User

Extension

Page 4: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 4

Comparison of Acceleration Methods

Peripheral Co-Processor ISA Expansion User Extension

Start-up latency Longest Long None None

Resource sharing None Decode/Control Control & RF Control & RF

Implementation Freedom

A TON Lots None Restricted

Proprietary advantage Yes Yes None Yes

Best for Very heavy Semantic

Medium Semantic

Commoditized Computation

Low-Medium Semantic

Medium Semantic Acceleration Long start-up Latency

Page 5: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 5

RISC-V ROCC Interface for ISA Extension

Loosely coupled transaction model

Command queues starts in order

Response not guaranteed to be in-order

Memory model same as baseline ISA

Ideal for light-semantic operations

Custom ALU/data format

Dependent on host for resource/schedule

Page 6: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 6

Andes Custom Extension (ACE) Illustrated

RISC-V compliant 25-bit

ACR can be arbitrarily wide

Multiple ACMs

Automated RISC-V to ACE signals

User-written

Auto-generated (IF)

Auto-generated

IF II EX MM WB

Insn. Data

Decode

GPR

Decode

Vec

GPR

ACR

Insn. Logic

ACR

ALU

Branch Interrupt, Stall

Baseline

ACE Engine

Load/Store

Execute

CPU

Page 7: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 7

Summary of ACE Capabilities

Items Description

Instructions

scalar single-cycle, or multi-cycle

vector for loop, or do-while loop

background option

retire immediately, and continue execution in the background. Applicable to scalar and vector.

Operands

standard immediate, GPR, baseline memory (thru CPU)

custom - ACR (ACE Register), ACM (ACE Memory) - Arbitrary width and number - ACR operands can be “implied” to save opcode

Page 8: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 8

ACE and COPILOT Environment

CPU ISS (near-cycle accurate)

CPU RTL

Extensible Baseline Components

Compiler Asm/Disasm

Debugger

Source file Executable or library

C O P I L O T ™

Custom-OPtimized Instruction deveLOpment Tools

Extended Tools

Concise RTL

Extended ISS

Extended RTL Automated Env. For Cross

Checking

Test Case Generator

Extended RTL

Extended ISS

Semantics, operands, test-case spec

Verilog user.v

Script user.ace

Page 9: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 9

Items ROCC Andes

Capability Low-level process signals availability Yes Yes ++

Assignment of opcode & operands Manually assigned Auto assigned

RTL to decode the instructions Manually developed Auto-generated

RTL to check instruction dependences Manually developed Auto-generated

Function verification tools, patterns and flow Manually developed Auto-generated

Compiler/debugger for the new instructions Manually developed Auto-generated

Programming with the new instructions Inline assembly high-level intrinsic

Support for custom registers/memory ports No Yes

RTL to do repeated operations on new data Manually developed Auto-generated

ACE: More Capability, MUCH More Automated

Page 10: Andes Company Overview - content.riscv.org · Andes Custom Extension (ACE) Illustrated RISC-V compliant 25-bit ACR can be arbitrarily wideData Multiple ACMs Automated RISC-V to ACE

Confidential 10

ACE Use Case in Embedded Datapath

RISC-V calculates pointers, kick-starts DMA, coordinates systems

ACE instructions pass GPR pointers to ACE engines

All signals wired automatically

All tools generated by COPILOT

User-written

Auto-generated (IF)

Auto-generated

IF II EX MM WB

Insn. Data

Decode

GPR

Decode

Vec

GPR

ACR

Insn. Logic

ACR

ALU

Branch Interrupt, Stall

Baseline

ACE Engine

Load/Store

Memory Source

SoC ACM ACM

GPR1 GPR2 GPR3 ACM

Execute

DMA

CPU