Skip to main content

架构/微架构

设计

  1. 标量寄存器和向量寄存器统一,支持自动进行转换
  2. 异步单元(SP-PU-L1-DMA)之间都采用异步机制,依赖转移到异步目标
    1. 统一的同步机制
    2. 静态分配同步资源
    3. 原生软硬件支持动态图的执行
    4. LD/ST 避免使用fence功能
  3. Launch:fork
    1. 资源初始化(同步资源,各种存储器,状态)
  4. launch/signal/wait:join
    1. launch pu instrution:  write_back_id  local_id
      1. write_back atomic add/sub
    2. wait instruction: local_id
      1. local_id GE LE counter
    3. wait remote instruction: remote_id
      1. local_id GE LE counter

MAC

  1. Vector计算单元支持乱序和并行
  2. 软件编译指定明确的VR寄存器依赖,RO WO属性
  3. 自动拆解JOIN指令成Vector指令,并行执行
  4. 软件静态排布VR寄存器,生成依赖关系,申请和释放管理
  5. Vector指令支持标量进行动态配置

ISA

  1. 标量
    1. RV64i
  2. 向量
    1. VLD VST VMUL VADD REDUCE_ADD REDUCE_MAX REDUCE_MIN VMUL_REDUCE_ADD
  3. 张量
    1. JOIN
  4. fence
    1. L1 cache line 计数
  5. VR
    1. 软件管理vr data hazard
  6. L1
    1. 软件管理 cache line
    2. cache line硬件计数,自动异步等待
  7. 增加到128个标量寄存器 支持RV64扩展?
  8. 增加指令流控制
  9. 增加配合/加速向量单元的定制指令? 通过兼容RiscV-V的指令来实现??