ARC学习(1)基本编程模型认识

news/2024/11/28 2:54:44/

笔者有幸接触了arc处理器,今天就来简单了解一下arc的编程模型

1、ARC基本认识

ARC IP是synopsys 新思公司开发的一个系列ARC IP核,其是一家电子设计自动化(EDA)解决方案提供商。其主页地址在这里!业务主要如下:

在这里插入图片描述
今天主要来聊一下其下的一些IP核,主要有如下几种:

  • ARC 600:ARCv1指令集

    • Synopsys 的 DesignWare® ARC® 600 系列处理器芯核为 32 位 RISC 处理器芯核,其针对嵌入式应用和 DSP 任务高性能和低功耗的要求进行了优化。
    • DesignWare ARC 600 系列处理器芯核拥有灵活的存储器选项,例如针对指令和数据的单周期紧密耦合内存 (CCM),以及可配置指令缓存 (I-cache) 和数据缓存 (D-cache),可有效满足各种处理需求。
    • ARC 600 系列包括 ARC 601、ARC 605、ARC 610D 和 ARC 625D 处理器。这些处理器均可高度配置,每个实例均可以进行定制,从而在性能、能耗和面积之间达到理想的平衡,让 SoC 设计人员能够针对具体目标应用对处理器进行优化。此外,ARC 600 处理器还具有可扩展性,可让设计人员添加自己的定制指令,从而大大提高性能。
    • 可选的 DSP 和浮点单元 (FPU) 功能,使得设计人员可利用单一的主机应用处理器满足各类处理需求。使用单一的处理器可简化设计、减少硅面积,实现更快的芯片调试。
    • ARC处理器采用16/32位指令集架构设计,该架构提供了高代码密度,并且在16和32-位指令之间没有切换开销。凭借灵活的寻址模式,ARC 625D提供多达128个双或单操作数指令代码,可用于用户定义指令,以及多达64个可直接寻址核心寄存器和32个条件执行代码。
      在这里插入图片描述
  • ARC 700:ARCv1指令集

    • Synopsys 的 DesignWare® ARC® 700 系列处理器芯核为 32 位 RISC 处理器芯核,是要求高性能和低功耗的深嵌入式应用和 DSP 任务的完美解决方案。DesignWare ARC 700 系列处理器芯核拥有灵活的存储器选项,例如针对指令和数据的单周期紧密耦合内存 (CCM),以及可配置指令缓存 (I-cache) 和数据缓存 (D-cache),可有效满足各种处理需求。
    • DesignWare ARC 700 系列包括 ARC 710D、ARC 725D 和 ARC 770D 处理器,这些处理器均可高度配置,每个实例均可以进行定制,从而在性能、能耗和面积之间达到理想的平衡,让 SoC 设计人员能够针对具体目标应用对处理器进行优化。此外,ARC 700 处理器还具有可扩展性,可让设计人员添加自己的定制指令,从而大大提高性能。
    • 可选的 DSP 和浮点单元 (FPU) 功能,使得设计人员可利用单一的主机应用处理器满足各类处理需求。使用单一的处理器可简化设计、减少硅面积,实现更快的芯片调试。
      在这里插入图片描述
  • ARC EM 系列:针对微控制器,对内存Flash空间以及功耗敏感的场景。

    • 基于 ARCv2 指令集架构 (ISA) 的 DesignWare® ARC® EM 系列包括 ARC EM4 、EM6、EM5D/7D、EM9D/EM11D以及EM22FS等
    • 超紧凑型 EM 内核具有出色的代码密度、小巧的尺寸和非常低的功耗,使其非常适合注重功耗和面积的嵌入式和深度嵌入式应用。
      在这里插入图片描述
      在这里插入图片描述
  • ARC HS系列:针对高性能嵌入式应用

    • 基于高效 ARCv2 指令集架构 (ISA) 的 DesignWare® ARC® HS 系列包括 HS3x、HS4x 和 DSP 增强型 HS4xD 处理器。所有 HS 处理器都支持紧密耦合内存 (CCM),实现单周期访问指令和数据
    • HS 处理器针对GHz+ 的运行速度进行了优化,并具有超小的面积和功耗,使其非常适合对性能要求非常高的嵌入式应用。所有的 HS 处理器都提供单核、双核和四核配置
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • ARC EV系列:针对嵌入式视觉处理器应用

    • 主要有EV74/74FS 、EV72/EV72FS、EV71/EV71FS IP核。
    • DesignWare® ARC EV 处理器是完全可编程和可配置的 IP 核,它针对嵌入式视觉应用进行了优化,融合了软件解决方案的灵活性和硬件的低成本和低功耗等特点。为了快速准确地执行卷积神经网络 (CNN) 或递归神经网络 (RNN),EV 处理器集成了可选的高性能深度神经网络 (DNN) 加速器
    • EV 处理器设计用于无缝集成到 SoC 中,并且能和任何主处理器一同使用,还能和主机并行运行。为了加速应用软件开发,EV 处理器得到了基于现有和新兴嵌入式视觉和神经网络标准的全面软件编程环境的支持,包括 OpenCV、OpenVX™、OpenCL™ C 以及采用 Synopsys 的 ARC MetaWare EV 开发工具包的 Caffe。
      在这里插入图片描述
  • ARC SEM系列:主打安全领域的性能功耗一体的应用场景

    • SEM系列包括性能高效、超低功耗、紧凑型安全处理器,使设计人员能够将安全集成到其SoC中,以抵御逻辑、硬件和物理攻击
    • 基于ARCV2指令集,具有紧密耦合存储器和外围设备的能力。它们集成了非常适合各种嵌入式应用程序的安全功能,可以作为独立的安全核心或同时执行安全和正常功能的单个核心。
    • ARC SEM系列包括SEM110和SEM120D处理器。这两个处理器都包括上面列出的功能,SEM120D增加了一个DSP指令集和统一的乘法/MAC单元。它适用于在同一核心中需要实时处理和安全功能的应用程序
      在这里插入图片描述
      在这里插入图片描述
  • ARC VPX系列:DSP处理器架构,面向嵌入式终端,如物联网以及音频等领域

    • DesignWare® ARC® VPX DSP 系列针对嵌入式工作负载的独特功率、性能和面积 (PPA) 要求进行了优化,例如物联网传感器融合、雷达和激光雷达处理、发动机控制、语音/言语识别、自然语言处理和其他终端 AI 应用。VPX 处理器基于增强型 ARCv2DSP 指令集,在 128 位(VPX2、VPX2FS)和 256 位(VPX3、VPX3FS)矢量字上运行,根据相同的超长指令字 (VLIW)/单指令多数据 (SIMD) 架构补充现有的 512 位 VPX5 和 VPX5FS。
    • 安全增强型 ARC VPXxFS 处理器集成了硬件安全特性,包括针对内存和接口的纠错码 (ECC) 保护、安全监测器和锁步机制,有助于设计人员达到最严格的 ISO 26262 ASIL B、ASIL C 和 ASIL D 功能安全合规水平
      在这里插入图片描述
      在这里插入图片描述
  • ARC NPX系列:面向AI需要神经网络模型支持数据运算的领域,如高级驾驶员辅助驾驶。

    • 全新的 DesignWare® ARC® NPX 神经处理单元 (NPU) IP 系列可为最新、最复杂的神经网络模型提供业界最佳的性能和支持。DesignWare ARC NPX6 NPU IP 提供高达 96K MAC 的能力,支持更高的 MAC 利用率、新的稀疏性和新的可扩展性互连,可满足 AI 应用的超低功耗实时计算需求。
    • 单个 ARC NPX6 NPU IP 实例可在 1.3 GHz, 5nm 工艺最坏情况下 (worst case),提供高达 250 TOPS 的性能,或者通过使用新的稀疏功能提供高达 440 TOPS 的性能,这可以提高神经网络的性能并降低其能源需求。NPU IP 和新的 MetaWare MX 开发工具包都集成了连接特性,可实现多个 NPU 实例的实施,从而在单个 SoC 上实现高达 3,500 TOPS 的性能。
    • 用于功能安全的神经处理器 IP,DesignWare ARC NPX6FS NPU IP 满足严苛的随机硬件故障检测和系统功能安全开发流程要求,可以达到 ISO 26262 ASIL D 安全等级。这些处理器包含全面的安全文档,具有符合 ISO 26262 标准的专用安全机制,可满足下一代区域架构的
      在这里插入图片描述
      在这里插入图片描述
      备注:FS系列:功能安全(Functionality Security)

2、ARC寄存器认识

以ARC HS系列为例,简单介绍其寄存器模型。
在这里插入图片描述
其主要有以上寄存器,都是32位寄存器。
在这里插入图片描述

  • 参数寄存器:r0-r7,8个参数,
  • 暂存器:r10-r15
  • 保存寄存器:r16-r25 调用函数需要保存的寄存器
  • 指针寄存器:gp(全局指针)、fp(栈顶指针)、sp(栈底指针)
  • 链接寄存器:ilink(异常链接寄存器)、blink(分支链接寄存器)
  • 通用目的寄存器:genaral purpose reg,不是暂存器也不是保存寄存器
  • 程序寄存器:PCL = PC & 0xFFFF FFFC ,PC 在arc里面是辅助寄存器,反应的时候实际的指令地址,其是只读半字对齐的寄存器。

3、ARC异常模型认识

在这里插入图片描述
在这里插入图片描述
待续


http://www.ppmy.cn/news/109817.html

相关文章

Go-channel的妙用

系列文章目录 异常处理(defer recover panic) Go-channel的妙用 文章目录 系列文章目录前言一、channel 通过通讯共享内存二、使用场景三、例子1.包 总结 前言 Go语言中,各个协程之间的通信,Go 语言协程之间通信的理念通过通信去共享内存。就是采用cha…

C语言system()函数

文章目录 C语言system()函数system(“pause”)system(“color num1num2”)system(“cls”)system(“title name”)system(“time /T”) & system(“date /T”) C语言system()函数 头文件&#xff1a; #include<stdlib.h>system(“pause”) 作用&#xff1a;暂停程序进…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%,…

【C#图解教程】第四章 类型、存储和变量 学习笔记总结

类型 C#是一组类型声明&#xff0c;这个与第三章&#xff1a;命名空间就是一组类型声明可以一起理解。类型是一个用来创建数据结构的模板&#xff1a; 使用这个模板创建对象的过程叫做实例化&#xff0c;所以创建的对象也叫实例 类型成员 简单类型可能只包含一个数据成员&…

深度剖析 Vue.js 经典知识点之:SPA、SSR与MVVM

SPA 更多精彩内容&#xff0c;请微信搜索“前端爱好者“&#xff0c; 戳我 查看 。‘ 谈一谈你对 SPA 单⻚面的理解&#xff0c;它的优缺点分别是什么 SPA&#xff08; single-page application &#xff09;仅在 Web ⻚面初始化时加载相应的 HTML、JavaScript 和 CSS。 一旦…

mongdb常用查询

mongdb数据库和关系型数据库完全不同&#xff0c; 主要在数据结构存储和查询语法方面。mongdb是把数据存在文档里面&#xff0c;文档里面是一种bson格式的数据(类似json格式)&#xff0c;再通过mongdb的javascript语法取读取符合条件的文档内容用表的形式展示给我们。查询语句为…

数电/数字电子技术期末考前突击复习(小白稳过,看这一篇就够了)

博主&#xff1a;命运之光 专栏&#xff1a;期末考试必过and不挂科and争高分&#x1f636;‍&#x1f32b;️还有其他科目的考试突击日后会陆续更新 ✨✨✨✨✨点赞&#xff0c;关注&#xff0c;收藏不迷路✨✨✨✨✨ &#x1f984;前言&#xff1a;总结了期末数电大概率可能…

基于Html5的在线资料库的设计与实现(asp.NET,SQLServer)

在线资料库系统采用.NET开发平台进行开发&#xff0c;开发工具采用Microsoft Visual Studio 2010集成开发环境&#xff0c;后台编程语言采用C#编程语言来进行编程开发&#xff0c;数据库我们采用当下流行的SQL Server 2008数据库管理系统来存放平台中的数据信息&#xff0c;整个…