本文主要是介绍OpenC910 datasheet 2.0 翻译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
C910是由THEAD半导体有限公司开发的一款RISC-V兼容的64位高性能处理器。它通过架构和微架构创新,在控制流、计算和频率方面提供行业领先的性能。C910处理器基于RV64GC指令集,并实现了XIE(XuanTie指令扩展)技术。C910采用先进的12级乱序多发射超标量流水线,具有高频率、IPC和功率效率。C910支持硬件缓存一致性。每个集群包含2个核心。C910支持AXI4总线接口。C910使用带有XMAE(XuanTie内存属性扩展)技术的Sv39虚拟地址系统。此外,C910包括标准的CLINT和PLIC中断控制器和性能监视器。C910实现了THEAD调试协议。
功能
功能 | 描述 |
---|---|
体系结构 | RV64GC |
SMP(对称多处理器) | 每个集群内2个核心 |
流水线 | 12级(整型) |
浮点计算单元 | 支持RISC-V F,D指令拓展,IEEE 754-2008标准 |
总线接口 | AXI4-128主 |
指令缓存 | 64KB |
数据缓存 | 64KB |
L2缓存 | 1MB 支持多bank并行访问 |
Xuantie拓展 | Xuantie指令拓展(XIE)Xuantie内存属性拓展(XMAE) |
内存管理单元(MMU) | Sv39虚拟内存转换(translation) |
PMP | 8区域 |
中断控制器 | 平台级中断控制器(PLIC)用于支持广泛的系统级事件场景 |
Xuantie C910 组件
-
支持双核同构多核系统。
-
支持MOESI一致性协议。
-
2路集中式嗅探缓冲区。
-
支持独占内存访问指令。
-
集成多核中断控制器、定时器和调试器。
C910拥有64K指令和数据缓存,支持缓存一致性。硬件缓存一致性确保了所有缓存的一致性。共享的L2缓存为1MB。软件和硬件之间的协同优化确保了TLB、I-Cache和D-Cache之间的数据一致性。
◇ L1指令存储系统具有以下关键特性:
• VIPT(虚拟标识物标记),两路组相联的指令缓存。
• 固定的缓存行长度为64字节。
• 从L2内存系统读取的128位接口。
◇ L1数据存储系统具有以下特性:
• PIPT(物理标识物标记),两路组相联的L1数据缓存。
• 固定的缓存行长度为64字节。
• 从L2内存系统读取的128位接口。
• 从数据L1存储系统到数据路径的最多128位读取数据路径。
• 从数据路径到L1存储系统的最多128位写入数据路径。
◇ L2缓存具有以下特性:
• 尺寸:1MB。
• PIPT(物理标识物标记),16路组相联结构。
• 固定的缓存行长度为64字节。
• 支持数据预取。
◇ 支持Sv39虚拟内存系统。
◇ 32/17项全相联的指令翻译缓冲区(I-uTLB)/数据翻译缓冲区(D-uTLB)。
◇ 1024项4路组相联的共享TLB。
◇ 硬件页表行走器。
◇ 对全地址空间的虚拟内存支持以及快速地址转换的简单硬件支持。
◇ 代码/数据共享。
◇ 支持像Linux这样的功能完善的操作系统。
◇ XMAE(XuanTie Memory Attributes Extension)技术扩展了页表项的附加属性。
具有低成本的8个区域基本读取/写入/执行内存保护。
程序代码性能调优。
◇ 支持多核中断控制。
◇ 144个PLIC中断源。
◇ 可选择边沿触发或电平触发。
◇ 支持T-Head多核调试。
◇ JTAG调试接口支持多个触发器。
◇ 支持软件断点。
◇ 检查和修改CPU寄存器资源。
◇ 灵活支持单步或多步执行。
◇ 通过JTAG进行高速程序下载。
◇ 支持RISC-V F和D扩展。
◇ 支持半精度/单精度/双精度。
◇ 完全符合IEEE-754标准。
◇ 不会产生浮点异常。
◇ 用户可配置的舍入模式。
◇ 分支目标缓冲区(BTB)和分支历史表(BHT)以加快控制代码的执行速度。
◇ 返回地址栈(RAS)以加快过程返回的速度。
◇ 循环缓冲区以加快短循环的速度。
C910与RV64GC指令集完全兼容,并支持标准的M/S/U特权程序模型。C910包括标准的8区域PMP和Sv39 MMU,与RISC-V Linux完全兼容。C910还包括标准的CLINT和PLIC中断控制器以及与RV兼容的PMU。
组件 | RV版本 |
---|---|
ISA | RV64GC |
特权 | 1.10 |
MMU | Sv39 |
中断控制器 | CLINT/PLIC |
- ◇ 主 AXI (M-AXI)
- ◇ 调试 (JTAG)
- ◇ 中断
- ◇ 低功耗控制
配置参数
配置项 | 值 |
---|---|
核心数 | 2 |
L1 数据缓存大小 | 64K |
L1 指令缓存大小 | 64K |
L2缓存大小 | 1M |
软件生态
◇ 编译器、汇编器、链接器、调试器和二进制工具已经贡献给GNU,并获得官方支持。
◇ Linux内核已经贡献给Linux基金会,并获得官方支持。
◇ QEMU已经贡献和官方支持。
◇ 芯片集成开发环境(CDS),与Eclipse开发环境兼容。
◇ 基于跟踪数据(模拟器)的图形分析和统计分析工具。
◇ ICE、CK-Link Pro,高速(1.1兆字节/秒)的JTAG调试硬件。
◇ 多核JTAG在线调试。
linux系统
C910支持官方的RISC-V Linux及其软件应用生态系统,例如GNU工具链、Fedora、Debian、buildroot以及基于Linux的数千个开源软件。THEAD将继续在Linux生态系统中对RISC-V架构进行移植的贡献。
这篇关于OpenC910 datasheet 2.0 翻译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!