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)
PMP8区域
中断控制器平台级中断控制器(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字节。
• 支持数据预取。

  • 内存管理单元(MMU)

◇ 支持Sv39虚拟内存系统。
◇ 32/17项全相联的指令翻译缓冲区(I-uTLB)/数据翻译缓冲区(D-uTLB)。
◇ 1024项4路组相联的共享TLB。
◇ 硬件页表行走器。
◇ 对全地址空间的虚拟内存支持以及快速地址转换的简单硬件支持。
◇ 代码/数据共享。
◇ 支持像Linux这样的功能完善的操作系统。
◇ XMAE(XuanTie Memory Attributes Extension)技术扩展了页表项的附加属性。

  • 物理内存保护(PMP)

具有低成本的8个区域基本读取/写入/执行内存保护。

  • 性能监视单元(PMU)

程序代码性能调优。

  • 平台级中断控制器(PLIC)

◇ 支持多核中断控制。
◇ 144个PLIC中断源。
◇ 可选择边沿触发或电平触发。

  • JTAG调试

◇ 支持T-Head多核调试。
◇ JTAG调试接口支持多个触发器。
◇ 支持软件断点。
◇ 检查和修改CPU寄存器资源。
◇ 灵活支持单步或多步执行。
◇ 通过JTAG进行高速程序下载。

  • 浮点计算单元(FPU)

◇ 支持RISC-V F和D扩展。
◇ 支持半精度/单精度/双精度。
◇ 完全符合IEEE-754标准。
◇ 不会产生浮点异常。
◇ 用户可配置的舍入模式。

  • 分支预测器

◇ 分支目标缓冲区(BTB)和分支历史表(BHT)以加快控制代码的执行速度。
◇ 返回地址栈(RAS)以加快过程返回的速度。
◇ 循环缓冲区以加快短循环的速度。

  • 自定义扩展对RV的兼容性

C910与RV64GC指令集完全兼容,并支持标准的M/S/U特权程序模型。C910包括标准的8区域PMP和Sv39 MMU,与RISC-V Linux完全兼容。C910还包括标准的CLINT和PLIC中断控制器以及与RV兼容的PMU。

  • RV兼容性

组件RV版本
ISARV64GC
特权1.10
MMUSv39
中断控制器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架构进行移植的贡献。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531910.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

友思特应用 | 高精度呈现:PCB多类型缺陷检测系统

导读 PCB等电子产品的精密生产制造过程中,往往需要将缺陷问题100%高精度暴露。友思特 PCB 多类型缺陷检测系统,借由Neuro-T深度学习模型自动排查全部微小缺陷,为工业 PCB 生产制造提供了先进可靠的质量保障。 在现代制造业中,尤其…

TLF9471 - High-Speed CAN FD Transceiver

1 框图描述 2 功能描述 CAN收发器被设计用来承受汽车应用的恶劣条件,并支持12V应用。   SBC的控制器区域网络(CAN)收发器部分在汽车和工业应用中提供高速(HS)差分模式数据传输(最高可达2Mbaud&#xff09…

kali使用msf+apkhook520+cploar实现安卓手的攻击

学习网络安全的过程中,突发奇想怎么才能控制或者说是攻击手机 边找工作边实验 话不多说启动kali 一、使用msfapktool生成简单的木马程序 首先使用kali自带的msfvenom写上这样一段代码 选择安卓 kali的ip 一个空闲的端口 要输出的文件名 msfvenom -p android/met…

【软件测试】个人博客系统测试

个人博客系统测试 一、项目背景1.1 技术背景1.2 功能背景 二、自动化测试2.1 什么是自动化测试2.2 通过使用selenium进行自动化测试的编写(Java实现)2.3 编写测试用例,执行自动化测试2.3.1 输入用户名:test,密码:123,登录成功2.3.…

深度学习图像处理04:图像分类模型训练实战——动物分类

这篇博文不涉及理论知识,主要通过一个完整的深度学习模型训练流程,直观地了解深度学习图像分类任务。有关理论的部分,之前几篇博文已经涉及基础部分,之后也会对一些理论进行补充。 本文将结合代码,主要介绍三部分内容…

halcon缺陷检测-印刷品检测(差异化模型),键盘字符缺陷检测

前言 在实际项目中,印刷品缺陷检测是缺陷检测中的难点项目。通常印刷品检测往往具备缺陷小,缺陷所在位置不固定,出现少印或者多印的情况。并且由于产线原因,大量的印刷品在视野中的大小并不是完全一致的,可能出现细微…

【UE5 C++】访问修饰符public/protected/private继承

限制类与类之间访问级别的方法 public 在类中创建一个public的部分,即" public: ",public之下的所有内容都是公共的,可以在类之间访问 private(最常见) 如若没有指明修饰符,则默认为private 不能在类的外…

文本处理常见命令

目录 前言-了解Linux目录结构 一、cat-查看文件内容 1.表现形式 2.常用选项 3.示例 二、more-查看文件内容 1.表现形式 2.交互操作方法 3.示例 三、less-查看文件内容 1.表现形式 2.交互操作方法 四、head-从头查看文件内容 五、tail-从尾查看文件内容 六、wc-统…

【石上星光】context,go的上下文存储并发控制之道

目录 1 引言2 What?3 How? 3.1 用法一、上下文数据存储3.2 用法二、并发控制 3.2.1 场景1 主动取消3.2.2 场景2 超时取消 3.3 用法三、创建一个空Context(emptyCtx) 4 Why? 4.1 go中的上下文思想 4.1.1 上下文是什么…

17 - Games101 - 笔记 - 材质与外观

**17 **材质与外观 材质与BRDF 自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等 图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的…

体验Docker快速部署微信机器人

找到一个 Docker 部署微信机器人的镜像,简单测试一下。 1 使用 Docker 部署 1.1 拉取最新镜像 docker pull dannicool/docker-wechatbot-webhook1.2 Docker 部署 docker run -d --name wxBotWebhook -p 3001:3001 \ -v ~/wxBot_logs:/app/log \ dannicool/docker…

【C++基础】运算符和流程控制语句

C中的运算符和流程控制语句 一、运算符1. C和Java在通用运算符中的不同之处对比2. C中的位运算符2.1 移位运算符2.2 位逻辑运算符 3. 运算时的类型转换总结3.1 隐式类型转换3.2 显式类型转换(强制类型转换) 4. 注意 二、流程控制语句1. C和Java在通用流程…

网工内推 | 安全运维、服务工程师,软考中级、CISP优先,六险一金

01 华成峰科技 招聘岗位:安全运维工程师 职责描述: 1、负责安全产品的运维管理,包括设备升级变更、策略配置优化、设备巡检等; 2、负责7*24小时安全监控与应急响应,包括态势感知日志监测、安全事件分析及处置等&#…

【Keil5-报错】

Keil5-报错 ■ 调试烧录出现问题■ 烧录程序失败■ 编译报错 .\Objects\stm32h7_tms.axf: Error: L6218E: Undefined symbol __heap_base (referred from alloc.o).■ Keil5 load 出错■ No Space in execution regions with .ANY selector matching startup ...■ Execution r…

selenium自动化测试实战

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

SSD涨价停不下来!

随着HBM内存产能短缺问题的出现,存储市场正遭遇另一波供应短缺。在2021年存储市场陷入低迷后,SSD价格已连续下滑约两年。面对市场变化,存储厂商减少了NAND闪存的生产。随着减产策略的有效执行,需求部分回升,导致SSD供应…

Hot100【十一】:最大子数组和

// 定义dp:以i结尾的最大子数组和 dp[i] max(dp[i-1] nums[i],nums[i]) class Solution {public int maxSubArray(int[] nums) {// 1. 不需要特殊处理// 2. 定义dpint[] dp new int[nums.length];dp[0] nums[0];int maxResult nums[0];// 3. dp递推for (int i …

Oracle 在线回缩表

Oracle 在线回缩表 conn scott/tiger DROP TABLE EMP1 PURGE; CREATE TABLE EMP1 AS SELECT * FROM EMP; alter table emp1 enable row movement; -- 启动回缩特性 insert into emp1 select * from emp1; / / commit; -- 增加到14000行 -- 分析表的结构 analyz…

Vue2 —— 学习(五)

一、生命周期 &#xff08;一&#xff09;引入案例 我们想让一行文字按一定频率逐渐变得透明 1. Vue 实例外写法 函数写在 Vue 实例外面也能实现但是不推荐 <body><div id"root"><h2 :style"{opacity}">欢迎学习Vue</h2><…

ELK大型日志收集分析系统

目录 一、 ELK日志分析系统 1.1ELK介绍 1.2ELK各组件介绍 1.2.1ElasticSearch 1.2.2Kiabana 1.2.3Logstash 1.2.4可以添加的其它组件 1.2.4.1Filebeat filebeat 结合logstash 带来好处 1.2.4.2缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09; 1.2.4…