第一代的Nios®嵌入式处理器是一个用户可配置的,16位指令集结构(ISA)的,通用的RISC嵌入式处理器,它是一个非常灵活的和强大的处理器方案。它的易用性和灵活性使得它成为了世界上最流行的嵌入式处理器,目前已有数千用户购买了许可。如果设计者需要更高的性能,更小的FPGA占用或更丰富的开发软件的支持,可以使用Nios II嵌入式处理器系列。
嵌入式设计师使用SOPC Builder系统开发工具可以很容易的创建一个定制的处理器系统。利用SOPC Builder将一个或多个可配置的Nios CPU与许多标准外设集成在一起,并将这些模块通过Avalon™ 交换式总线粘和在一起。
Nios嵌入式处理器针对Altera®可编程逻辑和可编程单芯片系统(SOPC)而优化。使用SOPC Builder用户可以很容易的将Nios处理器和用户逻辑组合在一起,并编程到FPGA之中。Nios处理器已包含在开发套件中。
可配置的Nios CPU(16位或32位数据宽度)是基于Nios处理器系统的核心,它可以被配置成各种广泛的应用。例如,一个16位数据位宽度的Nios CPU,配合一个很小的片内ROM(芯片内的存储器块可以被配置成ROM)而实现的序列发生器或控制器,可以替代一个硬核的状态机。另外一个例子是,一个32位数据宽度的Nios CPU配合流外设、硬件加速单元,还有定制指令,就可以实现一个强大的32位的嵌入式处理器系统。
Nios嵌入式处理器不同于目前市场上其它的软核处理器方案,它具有独有的特性如定制指令和并发的支持多主设备的Avalon交换式总线。这些特性使用户可以使用简单的非传统的方法来加速和优化他们的设计。关于利用这些特性来加速系统设计的信息请参考 Nios处理器文档页面。
表1是32位和16位Nios嵌入式处理器在典型配置情况下的对照表。
| 表1. 典型Nios处理器配置的对比 | ||
| 特性 | 32位Nios CPU | 16位Nios CPU |
| 数据总线宽度(比特) | 32 | 16 |
| 算数逻辑单元(ALU)位宽(比特) | 32 | 16 |
| 内部寄存器位宽(比特) | 32 | 16 |
| 地址总线宽度(比特) | 32 | 16 |
| 指令位宽(比特) | 16 | 16 |
| 逻辑单元(LE)(典型)(1) | 少于1,400 | 少于1,000 |
| fMAX (1) | 超过180 MHz | 超过180 MHz |
注释:
- 基于目标器件结构的性能变化。
Nios嵌入式处理器的指令集结构的设计基于以下的原理:
- 在Altera FPGA中有效的实现效率
- 最小的逻辑单元(LE)利用率
- 最小的存储器利用率
- 最大的时钟速度
- 使用SOPC Builder来轻松集成系统
- 简化存储器接口
- 标准的 可配置的外设库
- 自动产生 Avalon™ 交换式总线 及接口逻辑用以连接CPU、外设和存储器
- 优化的 指令集结构 适合嵌入式软件的编译
- 灵活的寻址模式
- 大的内部寄存器文件的高效率使用
- 快速的中断处理
- 硬件加速模块
- 高效的算数运算
- MSTEP 指令—每周期单比特的乘法运算单元
- MUL 指令—快速的整数乘法运算单元
- 定制指令
器件支持
Nios嵌入式处理器支持Altera的所有的FPGA系列。表2列出了可以支持的器件。
| 表2. Nios嵌入式处理器及其软件支持 | ||
| 器件 | 设计软件 | 说明 |
| Stratix™ II | Quartus II | 最高性能,最高密度,特性丰富的平台,丰富的存储器资源 |
| Stratix | 高性能,高密度,性能丰富的平台,丰富的存储器资源 | |
| Stratix GX | 高性能,带有高速穿行收发器的结构 | |
| Cyclone™ | 低成本,ASIC的替代品–适合价格敏感的应用 | |
| APEX™ II | 高密度,高性能平台,带有高速差分I/O标准的支持 | |
| Mercury™ |
高性能,高带宽, 中密度平台,包含有时钟恢复(CDR)电路 |
|
| Excalibur™ | 高性能,硬核处理器方案 | |
| APEX 20K APEX 20KE APEX 20KC |
高性能,中高密度平台 | |
| FLEX® 10K FLEX 10KE |
低成本,中低密度平台 | |
| ACEX® 1K | 地成本,中低密度平台 | |
| HardCopy™ | 高密度,大批量,ASIC的替代品 | |
