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架构进行移植的贡献。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【游戏逆向】游戏全屏捡物的实现

0x0前言: 在角色对战类中,拾取怪物掉落的装备是一项必备的工作,由于装备位置掉落的不确定性,玩家想要拾取离角色距离较远的装备需要一定的时间,这一段时间往往会影响游戏的评分或是玩家的心态,基于此&…

二分查找-排序数组中查找元素的第一个和最后一个位置

前言 二分查找的思想是简单易懂的,但是在具体实现的时候能被一些细节给逼疯。今天学习了一下二分查找相关的知识与小细节,听取同学的推荐,参考了大神“灵茶山艾府”的教学视频。 下面就以一道算法题为例子,来写一下二分查找的方…

Peaks:每周至少要进行一次用户访谈?

名字:Peaks 开发者 / 团队:Vogelhaus Apps GmbH 平台:iOS、watchOS 请简要介绍下这款产品 每个人生活的节奏都有一个内置的生理时钟,这就是所谓的昼夜节律。它不仅控制着我们何时感到疲倦或者精力旺盛,更加深远的意义在…

探索314协议代币合约开发:解析AVE热搜上币与项目推广

在加密货币领域,新兴的项目和协议不断涌现,而314协议代币合约开发正是其中的一种创新。本文将深入探讨314协议代币合约开发的意义和关键性,以及如何利用AVE热搜上币与项目推广来推动其发展。 1. 314协议代币合约开发的意义 创新性&#xff1…

杨辉三角形(蓝桥杯,acwing)

题目描述: 下面的图形是著名的杨辉三角形: 如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列: 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, ... 给定一个正整数 N,请你输出数列中第一次出现…

保姆级教程带你实现HarmonyOS手语猜一猜元服务(一)

🚀前言 最近HarmonyOS NEXT大火,这个纯血鸿蒙吸引力了大家的关注。虽然现在还没面向个人开发者开放,但我们可以基于最新的API9及开发工具来尝试开发鸿蒙新的应用形态——元服务。来体验下未来在HarmonyOS NEXT上实现的应用开发。 HarmonyOS…

算法学习 | day38/60 零钱兑换/组合总和IV

今天主要是完全背包的一个专题,完全背包相对于 01 背包,主要区别在于物品可以取出无限次,其他关于 dp 的状态定义和状态转移都是一样的,体现在代码上,最重要的是遍历的一个先后顺序以及遍历开始的位置。 一、题目打卡…

Canal的使用场景!!!

1、保持redis和mysql连接的一致性:通常使用延迟双删功能(具有弊端) 解决方案:可以使用canal监听数据库的变化(删改),一旦出现此类操作,立即删除redis中的对应数据,直至下…

从0到1实现RPC | 08 异常码和异常超时

定义RpcException RpcException继承RuntimeException,定义特定错误码,专用于远程过程调用过程中产生的异常。 X: 技术类异常Y: 业务类异常Z: 未知异常 在使用时,使用rpc专用的异常错误码,方便定位排查。 超时异常重试 在发生网…

【汇编语言实战】统计个数(创新版)

内存中有10个分布在0至100内的正整数&#xff0c; 求小于60的数的个数num1&#xff0c;大于或等于60且小于80的数的个数num2&#xff0c;大于或等于80且小于100的数的个数num3 C语言描述该程序流程&#xff1a; #include <stdio.h> int main() {int a[]{1, 20, 95, 32,…

基于Java+SpringBoot+Vue游戏账号估价交易平台(源码+文档+部署+讲解)

一.系统概述 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对游戏账号估价交易的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用…

基于SSM的课程进度管理系统的设计与实现

摘要&#xff1a; 在信息技术飞速发展的当下&#xff0c; 借助互联网平台以及功能性系统的支持&#xff0c;人们获取信息以及信息整合的通道越来越多元化。系统和平台帮助人们实现了信息的共享&#xff0c;同时帮助人们更加直观的看到成果和过程的变动。以课程进度管理为例&…

服务器数据恢复—ext3文件系统下raid5数据恢复案例

服务器数据恢复环境&故障情况&#xff1a; 某企业光纤存储上有一组由16块硬盘组建的raid5阵列。管理员发现该光纤存储上的卷无法挂载&#xff0c;经过检查发现raid5阵列中有2块硬盘离线&#xff0c;于是联系我们数据恢复中心要求数据恢复工程师到现场恢复服务器存储上的数据…

Canal--->准备MySql主数据库---->安装canal

一、安装主数据库 1.在服务器新建文件夹 mysql/data&#xff0c;新建文件 mysql/conf.d/my.cnf 其中my.cnf 内容如下 [mysqld] log_timestampsSYSTEM default-time-zone8:00 server-id1 log-binmysql-bin binlog-do-db mall # 要监听的库 binlog_formatROW2.启动数据库 do…

数据交换格式

一、什么是数据交换格式 在计算机的不同程序之间&#xff0c;或者不同的编程语言之间进行交换数据&#xff0c;也需要一种大家都能听得懂得‘语言’&#xff0c;这就是数据交换格式&#xff0c;它通过文本以特定的形式来进行描述数据。 二、常用的几种数据交换格式 客户端常…

C++ //练习 11.32 使用上一题定义的multimap编写一个程序,按字典打印作者列表和他们的作品。

C Primer&#xff08;第5版&#xff09; 练习 11.32 练习 11.32 使用上一题定义的multimap编写一个程序&#xff0c;按字典打印作者列表和他们的作品。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /**********************…

Vue2 —— 学习(五)

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

大型连锁企业异地组网稳定性提升指南

随着时代的发展&#xff0c;连锁企业在网络方面面临着越来越多的挑战。这些企业在不同的地理位置设有分支机构和门店&#xff0c;可能是同城也可能是异地&#xff0c;因此需要确保各个地点之间的网络连接稳定可靠。然而&#xff0c;由于不同地区网络基础设施、延迟和带宽等方面…

代码随想录:栈与队列4-6

20.有效的括号 题目 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一…

打卡--MySQL8.0 四 (索引及执行计划)

一、索引的创建与使用 1、索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 &#xff08;1&#xff09;从 功能逻辑 上说&#xff0c;索引主要有 4 种&#xff0c;分别是普通索引、唯一索引、主键索引、全文索引。 &#xff08;…