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指令,自动拆解大指令成Vector指令,并行执行
  4. 软件静态排布VR寄存器,生成依赖关系,申请和释放管理
  5. Vector指令支持标量对其进行动态配置

ISA

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