【RISC-V】站在巨人的肩膀上——看开源芯片、软件生态、与先进计算/人工智能/安全的结合
目录
- 会议议程
- 前言
- 开源处理器芯片的机遇与挑战,孙凝晖,中国工程院院士
- RISC-V原生基础软件栈,武延军,中国科学院软件研究所
- RISC-V推动新型架构创新,孟建熠,浙江大学
- 专题一:开源芯片
- 开源高性能 RISC-V 处理器核香山开发实践,包云岗,香山团队
- RISC-V敏捷设计与验证,张旭,英特尔中国研究院
- 专题二:RISC-V软件生态
- 编译在新型应用发展下的潜力,崔慧敏,中国科学院计算技术研究所
- 专题三:RISC-V与先进计算
- 基于RISC-V的后量子密码芯片设计,刘冬生,华中科技大学
- 存算一体集成芯片,刘琦,复旦大学
- 面向端侧大模型计算的RISC-V矩阵扩展架构,韩军,复旦大学
- 基于RISC-V的神经网络加速运算算法及处理器结构优化,叶涛,南方科技大学
- 专题四:RISC-V与人工智能
- RISC-V+AI算力系统软件栈建设,谢涛,北京大学
- 大模型AI芯片架构探索,郭崎,中国科学院计算技术研究所
- 专题五:RISC-V与安全
- 处理器侧信道攻击 吕勇强 清华大学
- 可信执行环境及关键技术研究,张锋巍,南方科技大学
- 处理器微处理架构安全,邓舒文,清华大学电子工程系
2024年5月19日,雁栖青年论坛 RISC-V生态专题论坛。
站得高,才能看得远,学习前沿知识,用于今后职业发展的方向指导。
会议议程
前言
开源处理器芯片的机遇与挑战,孙凝晖,中国工程院院士
b站视频传送门:开源处理器芯片的机遇与挑战,孙凝晖,中国工程院院士
- 大模型训练、数据中心(万亿参数)
RISC-V原生基础软件栈,武延军,中国科学院软件研究所
b站视频传送门:RISC-V原生基础软件栈,武延军,中国科学院软件研究所
RISC-V推动新型架构创新,孟建熠,浙江大学
RISC-V推动新型架构创新,孟建熠,浙江大学
专题一:开源芯片
开源高性能 RISC-V 处理器核香山开发实践,包云岗,香山团队
开源高性能 RISC-V 处理器核香山开发实践,包云岗,香山团队
RISC-V敏捷设计与验证,张旭,英特尔中国研究院
b站视频传送门:张旭 RISC-V敏捷开发实验室总监(RADL)英特尔中国研究院首席工程师
内容来自RADL团队任永青,高一川,徐刚,李孟明,程宏
- 参数化
专题二:RISC-V软件生态
编译在新型应用发展下的潜力,崔慧敏,中国科学院计算技术研究所
b站视频传送门:编译在新型应用发展下的潜力,崔慧敏,研究员(中国科学院计算技术研究所)
- TD芯片定义:(GPT4o生成,请注意甄别)
在芯片设计中,TD 文件通常指的是 “Timing Definition” 文件或 “Timing Data” 文件。这些文件在芯片设计和验证过程中起着关键作用。以下是一些有关 TD 文件的详细解释:
- 什么是 TD 文件?
TD 文件包含关于芯片设计中的时序约束和规范的信息。这些文件用于定义和管理设计中的时序关系,确保芯片在给定的工作频率下能够可靠运行。它们可以包括各种时序约束,如时钟周期、输入输出延迟、路径延迟等。- TD 文件的作用
- 时序约束:定义芯片中不同模块之间的时序关系,确保信号在正确的时间到达目的地。
- 时钟定义:指定时钟信号的频率、周期和相位关系。
- 延迟约束:设置输入输出延迟和路径延迟,确保数据传输在指定时间内完成。
- 静态时序分析:帮助进行静态时序分析(STA),验证设计在各种工艺、电压和温度(PVT)条件下的时序性能。
- TD 文件的内容
TD 文件的具体内容可能会因设计工具和具体设计流程而异,但通常包括以下部分:
- 时钟定义:定义时钟源、时钟树结构及其频率。
- 路径约束:定义关键路径及其最大和最小延迟要求。
- 输入输出约束:设置输入和输出信号的时序要求。
- 多周期路径:定义那些需要多个时钟周期才能完成的数据路径。
- 假设路径:标识那些不需要考虑时序约束的路径。
- 示例
以下是一个简化的 TD 文件示例,使用了常见的时序约束语法:create_clock -name clk1 -period 10 [get_ports clk1] set_input_delay -clock clk1 2 [get_ports data_in] set_output_delay -clock clk1 3 [get_ports data_out] set_max_delay 5.5 -from [get_ports data_in] -to [get_ports data_out]
create_clock
定义了一个名为clk1
的时钟,周期为 10 单位时间。set_input_delay
设置输入端口data_in
相对于时钟clk1
的输入延迟为 2 单位时间。set_output_delay
设置输出端口data_out
相对于时钟clk1
的输出延迟为 3 单位时间。set_max_delay
设置从data_in
到data_out
的最大路径延迟为 5.5 单位时间。
- 工具支持
TD 文件通常与各种电子设计自动化(EDA)工具结合使用,这些工具包括:
- 静态时序分析工具:如 Synopsys PrimeTime、Cadence Tempus。
- 综合工具:如 Synopsys Design Compiler、Cadence Genus。
- 布局布线工具:如 Cadence Innovus、Synopsys IC Compiler。
总结
TD 文件在芯片设计中起着至关重要的作用,通过定义和管理时序约束,确保设计在预期条件下的可靠运行。理解和正确使用 TD 文件是实现高性能和高可靠性芯片设计的关键步骤。
专题三:RISC-V与先进计算
基于RISC-V的后量子密码芯片设计,刘冬生,华中科技大学
b站视频传送门:基于RISC-V的后量子密码芯片设计,刘冬生,华中科技大学 国家集成电路学院、国家集成电力产教融合创新平台
- 基于格的方案更具优势
- 三种安全等级对应不同维度
存算一体集成芯片,刘琦,复旦大学
b站视频传送门:存算一体集成芯片,刘琦,复旦大学芯片与系统前沿技术研究院 集成芯片与系统全国重点实验室
- 新原理存储器:电荷极化型——铁电存储器、自旋磁矩——自旋磁存储器、晶格结构变化的相变存储器、导电熔丝机制的阻变存储器
- 三明治结构(金属、介质、金属)
- 三种方式,终极目标是存内计算,主要为了解决神经网络-矩阵乘加运算
- 矩阵乘加是神经网络基本算子。模拟存算一体,利用:欧姆定律实现乘法(电压x电导=电流)+ 基尔霍夫定律实现加法(计算电流累加)→ 矩阵乘加,高能效、精度偏低。数字存算一体,定制化乘法器+数字加法器→高精度、高能效
- 阻变存储器(RRAM)性能更具优势
- RRAM耐久性不够,不适合系数频繁刷新。SRAM更适合频繁擦写,两者结合,实现更好的能效
- 优化矩阵乘、线性方程组求解通用算子
- Chiplet模式,
- 集成芯片结构,有希望用14nm工艺将性能接近于5nm芯片性能
- AI芯片的发展离不开:器件、架构、集成技术的创新
面向端侧大模型计算的RISC-V矩阵扩展架构,韩军,复旦大学
b站视频传送门:面向端侧大模型计算的RISC-V矩阵扩展架构,复旦大学,集成芯片与系统全国重点实验室,韩 军
- Transformer Encoder核心是矩阵乘加运算、RISC-V向量扩展架构(平头哥向量处理器)
- 矩阵扩展指令集,更适合端侧大模型计算
- 发展AI电脑、智能移动设备,
- 算力越多越好、端侧的算力却通常较小,算力指标有最低要求
把握新机遇弄潮新基建 平头哥发布1520计划
- RISC-V 矩阵扩展指令集,提供了更大操作数粒度。可设计二维矩阵乘,提升计算效率。支持更高并发度,一起64位访存,加大粒度实现连续访存,有效利用存储带宽。
- 核心架构:二维计算阵列(神经网络加速器都会有)、Matrix RISC-V(多维向量并行访问)、矩阵访存单元(支持连续、高带宽访存,以及访存请求的合并)
- 整合矩阵计算能力+通用计算,需要领域专用处理器接口(指令接口、L1访存接口、L2访存接口),DSA架构
- 接口优点:专用Core与通用Core——实现硬件解耦、专用Core共用软件栈且复用编译环境——实现软件统一,硬件加速与软件统一。
- 采用二级译码结构,将宏指令译码为微指令,再执行
- 三级流水线,访存、Matrix计算、CSR和寄存器堆可配置
- 超标量的思想,支持乱序执行。编译友好、L1L2访存、指令组合代替非线性操作单元
- DSA的通用处理器实现了可接入通用编译流程,
平头哥RISC-V 工具链-HHB神经网络模型部署工具
- AI PC高算力要求的场景,采用多核多die并行;
- 移动端小算力需求场景,采用大小核方式
基于RISC-V的神经网络加速运算算法及处理器结构优化,叶涛,南方科技大学
RISC-V ISA Extension for AI Acceleration,叶涛,南方科技大学
- 三个层面进行优化,实现神经网络的加速:
1、指令集优化,目的是减少运算次数(运算、访存), RISC-V
2、算法层面,减少每次运算的复杂度
3、电路层面,神经运算
专题四:RISC-V与人工智能
RISC-V+AI算力系统软件栈建设,谢涛,北京大学
大模型AI芯片架构探索,郭崎,中国科学院计算技术研究所
b站视频传送门:大模型AI芯片架构探索 中国科学院计算技术研究所 郭崎
- 第二步,提升性能天花板;第三步,访存带宽天花板
专题五:RISC-V与安全
处理器侧信道攻击 吕勇强 清华大学
b站视频传送门:Microarchitectural Side Channels处理器侧信道攻击 吕勇强 清华大学 副研究员
- 处理器漏洞:私密性、完整性、可用性
- 架构指程序员能看到的部分,微架构程序员看不见(为了完成架构的功能)
- 供电(从power状态进行远程密码破译)、
- 常见物理信道:物理、能量等,攻击者在信道上对受害者进行观测,能得出受害者在做什么。所以攻击侧对受害侧所做的行为有一定的白盒知识,才能更好的获取信息
可信执行环境及关键技术研究,张锋巍,南方科技大学
b站视频传送门:可信执行环境及关键技术研究,张锋巍,南方科技大学
处理器微处理架构安全,邓舒文,清华大学电子工程系
b站视频传送门:处理器微处理架构安全,邓舒文,清华大学电子工程系,助理教授
相关文章:

【RISC-V】站在巨人的肩膀上——看开源芯片、软件生态、与先进计算/人工智能/安全的结合
目录 会议议程前言开源处理器芯片的机遇与挑战,孙凝晖,中国工程院院士RISC-V原生基础软件栈,武延军,中国科学院软件研究所RISC-V推动新型架构创新,孟建熠,浙江大学 专题一:开源芯片开源高性能 R…...

test 判断字符串不为空
#!/bin/bash read -p "请输入参数:" name test -z $name if [ $? -eq 1 ]; then echo "入参:$name" else echo "入参为null" fi...

Python数据分析I
目录 注:简单起见,下文中"df"均写为"表名","函数"均写为"HS","属性"均写为"SX","范围"均写为"FW"。 1.数据分析常用开源库 注释…...

Qt5/6使用SqlServer用户连接操作SqlServer数据库
网上下载SQLServer2022express版数据库,这里没啥可说的,随你喜欢,也可以下载Develop版本。安装完后,我们可以直接连接尝试, 不过一般来说,还是下载SQLServer管理工具来连接数据更加方便。 所以直接下载ssms, 我在用的时候,一开始只能用Windows身份登录。 所以首先,我…...

[经验] 场效应管是如何发挥作用的 #知识分享#学习方法#职场发展
场效应管是如何发挥作用的 在现代电子技术领域,场效应管(MOSFET)是一种重要的半导体元器件。它的作用非常广泛,例如在集成电路中扮演着关键的角色。在本文中,我们将详细探讨场效应管的作用及其在实际应用中的意义。 简…...

数据挖掘--分类
数据挖掘--引论 数据挖掘--认识数据 数据挖掘--数据预处理 数据挖掘--数据仓库与联机分析处理 数据挖掘--挖掘频繁模式、关联和相关性:基本概念和方法 数据挖掘--分类 数据挖掘--聚类分析:基本概念和方法 基本概念 决策树归纳 决策树:决策树是一…...
数据结构篇其六-串
数据结构—串 前置说明 由于学习Java面向对象语言走火入魔,试图在C语言中模拟实现面向对象设计。里面加入了大量的函数指针配合结构体来模拟类中的成员方法 故此篇,亦可称: 面向对象的C语言程序设计 用C语言实现串这种数据结构,并将它应用到…...

队列和栈的实现
本节讲解的队列与栈,如果你对之前的线性和链式结构顺利掌握了,那么下边的队列和栈就小菜一碟了。因为我们会用前两节讲到的东西来实现队列和栈。 之所以放到一起讲是因为这两个东西很类似,队列是先进先出结构(FIFO, first in first out)&…...

lua vm 五: upvalue
前言 在 lua vm 中,upvalue 是一个重要的数据结构。upvalue 以一种高效的方式实现了词法作用域,使得函数能成为 lua 中的第一类值,也因其高效的设计,导致在实现上有点复杂。 函数 (proto) upvalue 构成了闭包(closu…...
React Native中集成ArcGIS以显示地图、渲染自定义图层和获取地理信息数据
在您的数据采集上传的应用中集成ArcGIS以显示地图、渲染自定义图层和获取地理信息数据是一项常见需求。下面是如何实现这些功能的详细指南,包括具体步骤和示例代码。 1. 显示地图 原生开发 Android: 使用ArcGIS Android SDK。您需要在AndroidManifest…...

java中的异常-异常处理(try、catch、finally、throw、throws)+自定义异常
一、概述 1、java程序员在编写程序时提前编写好对异常的处理程序,在程序发生异常时就可以执行预先设定好的处理程序,处理程序执行完之后,可以继续向后执行后面的程序 2、异常处理程序是在程序执行出现异常时才执行的 二、5个关键字 1、tr…...

深入了解反射
newInstance 可访问性限制: newInstance()方法只能调用无参的公共构造函数。如果类没有无参公共构造函数,那么newInstance()方法将无法使用。 异常处理: newInstance()方法在创建对象时会抛出受检异常InstantiationException和IllegalAcces…...

5、搭建前端项目
5.1 使用vite vue搭建 win r 打开终端 切换到你想要搭建的盘 npm init vitelatest跟着以下步骤取名即可 cd fullStackBlognpm installnpm run dev默认在 http://localhost:5173/ 下启动了 5.2 用vscode打开项目并安装需要的插件 1、删除多余的 HelloWorld.vue 文件 2、安装…...

LLM之Agent初探
Agent是什么? Agent一词起源于拉丁语中的Agere,意思是“to do”。在LLM语境下,Agent可以理解为在某种能自主理解、规划决策、执行复杂任务的智能体。 Agent并非ChatGPT升级版,它不仅告诉你“如何做”,更会帮你去做。…...

目录穿越漏洞CVE-2018-7171复现 又学到一招小技巧!!!!
还是半夜睡不着,打开靶机开始操作。今天看了文件下载和目录穿越漏洞想结合以及防御方法。半夜来进行操作一波。复现一下漏洞,这个网上的文章页比较的少!!! 开始操作起来!!! 进入到页…...

代码随想录算法训练营day41
题目:01背包理论基础、416. 分割等和子集 参考链接:代码随想录 动态规划:01背包理论基础 思路:01背包是所有背包问题的基础,第一次看到比较懵,完全不知道dp数据怎么设置。具体分析还是dp五部曲ÿ…...
从0~1开发财务软件
1.获取图形验证码接口 功能要求 1、随机生成6位字符 2、将字符生成base64位格式的图片,返回给前端 3、将生成的字符存储到redis中,用匿名身份id(clientId)作为key,验证码作为value。 clientId通过/login/getClien…...

Python实现连连看9
(2)标识选中的图片 在判断出玩家选中的是哪一张图片之后,接下来就可以标识选中的图片了,即在该选中的图片外围画矩形。代码如下所示。 FIRSTCLICK True #FIRSTCLICK是全局变量 if(click_col>0 and click_row>0) and \(no…...

项目验收总体计划书(实际项目验收原件参考Word)
测试目标:确保项目的需求分析说明书中的所有功能需求都已实现,且能正常运行;确保项目的业务流程符合用户和产品设计要求;确保项目的界面美观、风格一致、易学习、易操作、易理解。 软件全套文档过去进主页。 一、 前言 ࿰…...
C++基础与深度解析 | 异常处理 | 枚举与联合 | 嵌套类与局部类 | 嵌套名字空间与匿名名字空间 | 位域与volatile关键字
文章目录 一、异常处理二、枚举与联合三、嵌套类与局部类四、嵌套名字空间与匿名名字空间五、位域与volatile关键字 一、异常处理 异常处理用于处理程序在调用过程中的非正常行为。 传统的处理方法:传返回值表示函数调用是否正常结束。 例如,返回 0 表示…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...