ARC EM处理器嵌入式系统开发与编程
上QQ阅读APP看书,第一时间看更新

2.2 可配置性及可扩展性

2.2.1 可配置性

ARC EM系列的可配置性针对不同的应用需要有不同的功能需求。固定功能的芯片结构或许可以面面俱到,但是在将其设计投入产品之后,某些部分的功能可能完全没有使用到的机会,但即使没有使用,开发商仍需支付这些“多余”部分的成本,这就造成了浪费。与之相对应的,ARC EM可根据应用“量身剪裁”,提供更加节省资源的解决方案。ARC EM既支持对可选择功能部件进行可配置,还支持对相关功能部件的属性参数根据应用需求进行配置。ARC EM的可配置性具体如下。

处理器基本配置:地址总线宽度、程序指针PC宽度、循环计数器宽度、复位暂停、大小端、中断向量表复位基地址。

寄存器配置:寄存器数量、写口数量、寄存器组(Bank)以及备份组中寄存器数量。

总线接口协议:根据应用需求,ARC EM可进行4种总线接口的配置(BVCI和不同版本的AHB)。

中断:可对处理器内核可获取的中断个数以及外部中断管脚、中断优先级以及快速中断等进行配置。

Cache或外存访问主端:处理器可以通过Cache或者外存接口主端访问外存,并可对Cache大小、关联度等参数进行配置。

CCM:紧耦合存储器可配置大小和从端访问接口。

JTAG接口:支持2线和4线JTAG协议,能够访问所有内核资源。其中,2线JTAG是一个可选的接口组件,作为标准的4线JTAG的补充。

Debug接口:外部主机(或调试器)使用调试端口接口访问处理器资源,包括内部寄存器和整个存储器空间。在实际设计中,既可以从JTAG调试端口进行访问,也可以只是连接到仿真模型进行验证(使用-fast_rascal选项)。

定时器:Timer0、Timer1及RTC(Real-Time Counter)计数器都可以根据需要进行配置。

其他:还可以根据应用需要,配置以下特性,代码保护、堆栈保护、存储保护MPU、实时程序追踪、硬件断点和观察点、性能监视器、看门狗定时器、存储器错误保护、DSP指令支持、FPU指令支持、用户AUX接口等。

在标准指令集基础上,ARC EM还提供6组可选的指令集包给用户,用户可根据应用需求来进行配置。ARC EM处理器提供了一套完整的流程用来配置指令集,从而能够在性能、复杂性、工作频率、能耗间达到适当的平衡。ARC EM系列还包含了大量的配置检查功能以及工具链,程序库支持,能即时反馈,加快和优化处理器配置。表2-1总结了ARC EM指令集支持的可配置选项。详细的指令集介绍参见第3章。关于使用工具对ARC处理器进行配置,及配置过程对软件开发的影响等内容,参见第10章。

表2-1 ARC EM处理器指令集的可配置选项

2.2.2 用户可扩展性

ARC EM系列处理器提供了一个APEX接口支持可扩展性,针对目标应用,用户可通过APEX向导很方便地为处理器添加硬件,可极大地改善性能、功耗和面积。

用户可使用APEX接口,通过添加专用指令、通用扩展寄存器和具有特殊访问权限的辅助寄存器、状态代码和标志来扩展处理器体系结构。

支持用户添加信号用于集成外部设备,如扩展第三方知识产权IP。此功能可以使数据从外部IP直接向处理器发送数据和指令,而不需要通过总线。

APEX包含一个或多个指令、通用或辅助寄存器、条件代码或信号。APEX存储在一个扩展程序库中,可以通过拖曳的方式添加到模型中。

1.APEX的优点

APEX允许用户将自定义指令添加到现有的处理器框架中,而不用担心控制逻辑以及指令将作何处理。

使用APEX可接入第三方的IP或用户之前的设计,并且不需要构建总线或其他硬件处理器指令即可直接访问。例如,一个独立的DSP协处理器可以直接集成在处理器级别,而不需要考虑总线、相关延迟和流水线问题。

APEX很难被破解,因此可使用户的代码更安全。

2.APEX特点

1)扩展指令用以实现自定义功能。例如,自定义加法器,以缓解应用程序代码中的瓶颈。

2)扩展通用寄存器。这些扩展寄存器可用于所有的指令,通常用来处理经常变化和必须快速访问的信息。

3)扩展辅助寄存器可通过软件使用LR和SR指令访问,通常在不经常更改及不需要快速访问的情况下使用。

4)根据处理器标志的值或标志组合来决定条件代码是否用于条件执行。

5)使用APEX添加信号到处理器的内核顶层,增加内核外围端口。这些端口可定义为输入、输出或双向。

APEX的详细功能和使用参见第11章。