① 区块链入门必备108知识点
区块链入门必备108知识点
(欢迎同频者交流)
1、什么是区块链
把多笔交易的信息以及表明该区块的信息打包放在一起,经验证后的这个包就是区块。
每个区块里保存了上一个区块的 hash值,使区块之间产生关系,也就是说的链了。合起来就叫区块链。
2.什么是比特币
比特币概念是2009年 中本聪提出的,总量是2100万个。比特币链大约每10分钟产生一个区块,这个区块是矿工挖了10分钟挖出来的。作为给矿工奖励,一定数量的比特币会发给矿工们,但是这个一定数量是每四年减半一次。现在是12.5个。照这样下去2040年全部的比特币问世。
3.什么是 以太坊
以太坊与比特币最大的区别是有了智能合约。使得开发者在上边可以开发,运行各种应用。
4.分布式账本
它是一种在网络成员之间共享,复制和同步的数据库。直白说,在区块链上的所有用户都有记账功能,而且内容一致,这样保证了数据不可篡改性。
5.什么是准匿名性
相信大家都有钱包,发送交易都用的钱包地址(一串字符串)这就是准匿名。
6.什么是开放透明性/可追溯
区块链存储了从 历史 到现在的所有数据,任何人都可以查看,而且还可以查看到 历史 上的任何数据。
7.什么是不可篡改
历史 数据和当前交易的数据不可篡改。数据被存在链上的区块上,有一个hash值,如果修改该区块信息,那么它的 hash值也变了,它后边的所有区块的hash值也必须修改,使成为新的链。同时主链还在进行交易产生区块。修改后链也必须一直和主链同步产生区块,保证链的长度一样。代价太大了,只为修改一条数据。
8.什么是抗ddos攻击
ddos:黑客通过控制许多人的电脑或者手机,让他们同时访问一个网站,由于服务器的宽带是有限的,大量流量的涌入可能会使得网站可能无法正常工作,从而遭受损失。但区块链是分布式的,不存在一个中心服务器,一个节点出现故障,其他节点不受影响。理论上是超过51%的节点遭受攻击,会出现问题。
9.主链的定义
以比特币为例,某个时间点一个区块让2个矿工同时挖出来,然后接下来最先产生6个区块的链就是主链
10.单链/多链
单链指的是一条链上处理所有事物的数据结构。多链结构,其核心本质是公有链+N个子链构成。只有一条,子链理论上可以有无数条,每一个子链都可以运行一个或多个DAPP系统
11.公有链/联盟链/私有链
公有链:每个人都可以参与到区块链
联盟链:只允许联盟成员参与记账和查询
私有链:写入和查看的权限只掌握在一个组织手里。
12.共识层数据层等
区块链整体结构有六个:数据层,网络层,共识层,激励层,合约层,应用层。数据层:记录数据的一层,属于底层技术; 网络层:构建区块链网络的一种架构,它决定了用户与用户之间通过何种方式组织起来。共识层:提供了一套规则,让大家接收和存储的信息达成一致。激励层:设计激励政策,鼓励用户参与到区块链生态中;合约层:一般指“智能合约”,它是一套可以自动执行,根据自己需求编写的合约体系。应用层:区块链上的应用程序,与手机的app类似前分布式存储研发中心
13.时间戳
时间戳是指从1970年1月1日0时0分0秒0...到现在的当前时间的总秒数,或者总纳秒数等等很大的数字。每个区块生成时都有一个时间戳,表明生成区块的时间。
14.区块/区块头/区块体
区块是区块链的基本单元,区块头和区块体是区块链的组成部分。区块头里面包含的信息有上一个区块的hash,本区块的hash,时间戳等等。区块体就是区块里的详细数据。
15.Merkle树
Merkle树,也叫二叉树,是存储数据的一种数据结构,最底层是所有区块包含的原始数据,上一层是每个区块的hash值,这一层的hash两两组合产生新的hash值,形成新的一层,然后一层层往上,-直到产生一个hash值。这样的结构可以用于快速比较大量的数据,不需要下载全部的数据就可以快速的查找你想要的最底层的 历史 数据。
16什么是扩容
比特币的一个区块大小大约是1M左右,可以保存4000笔交易记录。扩容就是想把区块变大,能保存更多的数据。
17.什么是链
每个区块都会保存上一个区块的 hash,使区块之间产生关系,这个关系就是链。通过这个链把区块交易记录以及状态变化等的数据存储起来。
18.区块高度
这个不是距离上说的高度,它指是该区块与所在链上第一个区块之间相差的区块总个数。这个高度说明了就是第几个区块,只是标识作用。
19.分叉
同一时间内产生了两个区块(区块里的交易信息是一样的,只是区块的hash值不一样),之后在这两个区块上分叉出来两条链,这两条链接下来谁先生成6个区块,谁就是主链,另外的一条链丢弃。
20. 幽灵协议
算力高的矿池很容易比算力低的矿机产生区块速度快,导致区块链上大部分区块由这些算力高的矿池产生的。而算力低的矿机产生的区块因为慢,没有存储到链上,这些区块将会作废。
幽灵协议使得本来应该作废的区块,也可以短暂的留在链上,而且也可以作为
工作量证明的一部分。这样一来,小算力
的矿工,对主链的贡献比重就增大了,大型矿池就无法独家垄断对新区块的确认。
21.孤块
之前说过分叉,孤块就是同一时间产生的区块,有一个形成了链,另一个后边没有形成链。那么这个没形成链的块就叫
孤块。
22.叔块
上边说的孤块,通过幽灵协议,使它成为工作量证明的一部分,那它就不会被丢弃,会保存在主链上。这个区块就是下
23重放攻击
就是黑客把已经发送给服务器的消息,重新又发了一遍,有时候这样可以骗取服务器的多次响应。
24.有向无环图
也叫数据集合DAG(有向非循环图),DAG是一种理想的多链数据结构。现在说的区块链大都是单链,也就是一个区块连一个区块,DAG是多个区块相连。好处是可以同时生成好几个区块,于是网络可以同时处理大量交易,吞吐量肯定就上升了。但是缺点很多,目前属于研究阶段。
25.什么是挖矿
挖矿过程就是对以上这六个字段进行一系列的转换、连接和哈希运算,并随着不断一个一个试要寻找的随机数,最后成功找到一个随机数满足条件:经过哈希运算后的值,比预设难度值的 哈希值小,那么,就挖矿成功了,节点可以向邻近节点进行广播该区块,邻近节点收到该区块对以上六个字段进行同样的运算,验证合规,再向其它结点转播,其它结点也用同样的算法进行验证,如果全网有51%的结点都验证成功,这个区块就算真正地“挖矿”成功了,每个结点都把这个区块加在上一个区块的后面,并把区块中与自己记录相同的列表删除,再次复生上述过程。另外要说的是,不管挖矿成不成功每个节点都预先把奖励的比特币50个、所有交易的手续费(总输入-总输出)记在交易列表的第一项了(这是“挖矿”最根本的目的,也是保证区块链能长期稳定运行的根本原因),输出地址就是本结点的地址,但如果挖矿不成功,这笔交易就作废了,没有任何奖励。而且这笔叫作“生产交易”的交易不参与“挖矿”计算。
26.矿机/矿场
矿机就是各种配置的计算机,算力是他们的最大差距。矿机集中在一个地的地方就是矿场
27.矿池
就是矿工们联合起来一起组成一个团队,这个团队下的计算机群就是矿池。挖矿奖励,是根据自己的算力贡献度分发。
28.挖矿难度和算力
挖矿难度是为了保证产生区块的间隔时间稳定在某个时间短内,如比特币10分钟出
块1个。算力就是矿机的配置。
29.验证
当区块链里的验证是对交易合法性的一种确认,交易消息在节点之间传播时每个节点都会验证一次这笔交易是否合法。比如验证交易的语法是否正确,交易的金额是否大于0,输入的交易金额是否合理,等等。验证通过后打包,交给矿工挖矿。
30.交易广播
就是该节点给其他节点通过网络发送信息。
31.矿工费
区块链要像永动机一样不停的工作,需要矿工一直维护着这个系统。所以要给矿工们好处费,才能持久。
32.交易确认
当交易发生时,记录该笔交易的区块将进行第一次确认,并在该区块之后的链上的每一个区块进行再次确认:当确认数达到6个及以上时,通常认为这笔交易比较安全并难以篡改。
33.双重交易
就是我有10块钱,我用这10块钱买了一包烟,然后瞬间操作用这还没到付的10块钱又买了杯咖啡。所以验证交易的时候,要确认这10块钱是否已花费。
34.UTXO未花费的交易输出
它是一个包含交易数据和执行代码的数据结构,可以理解为存在但尚未消费的数字货币。
35.每秒交易数量TPS
也就是吞吐量,tps指系统每秒能处理的交易数量。
36.钱包
与支付宝类似,用来存储数字货币的,用区块链技术更加安全。
37.冷钱包/热钱包
冷钱包就是离线钱包,原理是储存在本地,运用二维码通信让私钥永不触网。热钱包就是在线钱包,原理是将私钥加密后存储在服务器上,当需要使用时再从服务器上下载下来,并在浏览器端进行解密。
38.软件钱包/ 硬件钱包
软件钱包是一种计算机程序。一般而言,软件钱包是与区块链交互的程序,可以让用户接收、存储和发送数字货币,可以存储多个密钥。硬件钱包是专门处理数字货币的智能设备。
39.空投
项目方把数字货币发送给各个用户钱包地址。
40.映射
映射跟区块链货币的发行相关,是链与链之间的映射。比如有一些区块链公司,前期没有完成链的开发,它就依托于以太坊发行自己的货币,前期货币的发行、交易等都在以太坊上进行操作。随着公司的发展,公司自己的链开发完成了公司想要把之前在以太坊上的信息全部对应到自己的链上,这个过程就是映射。
41.仓位
指投资人实有投资和实际投资资金的比例
42.全仓
全部资金买入比特币
43.减仓
把部分比特币卖出,但不全部卖出
44.重仓
资金和比特币相比,比特币份额占多
45.轻仓
资金和比特币相比,资金份额占多
46.空仓
把手里所持比特币全部卖出,全部转为资金
47.止盈
获得一定收益后,将所持比特币卖出以保住盈利
48.止损
亏损到一定程度后,将所持比特币卖出以防止亏损进一步扩大
49.牛市
价格持续上升,前景乐观
50.熊市
价格持续下跌,前景黯淡
51.多头(做多)
买方,认为币价未来会上涨,买入币,待币价上涨后,高价卖出获利了结
52.空头(做空)
卖方,认为币价未来会下跌,将手中持有的币(或向交易平台借币)卖出,待币价下跌后,低价买入获利了结
53.建仓
买入比特币等虚拟货币
54.补仓
分批买入比特币等虚拟货币,如:先买入1BTC,之后再买入1BTC
55.全仓
将所有资金一次性全部买入某一种虚拟币
56.反弹
币价下跌时,因下跌过快而价格回升调整
57.盘整(横盘)
价格波动幅度较小,币价稳定
58.阴跌
币价缓慢下滑
59.跳水(瀑布)
币价快速下跌,幅度很大
60.割肉
买入比特币后,币价下跌,为避免亏损扩大而赔本卖出比特币。或借币做空后,币价上涨,赔本买入比特币
61.套牢
预期币价上涨,不料买入后币价却下跌;或预期币价下跌,不料卖出后,币价却上涨
62.解套
买入比特币后币价下跌造成暂时的账面损失,但之后币价回升,扭亏为盈
63.踏空
因看淡后市卖出比特币后,币价却一路上涨,未能及时买入,因此未能赚得利润
64.超买
币价持续上升到一定高度,买方力量基本用尽,币价即将下跌
65.超卖
币价持续下跌到一定低点,卖方力量基本用尽,币价即将回升
66.诱多
币价盘整已久,下跌可能性较大,空头大多已卖出比特币,突然空方将币价拉高,诱使多方以为币价将会上涨,纷纷买入,结果空方打压币价,使多方套牢
67.诱空
多头买入比特币后,故意打压币价,使空头以为币价将会下跌,纷纷抛出,结果误入多头的陷阱
68.什么是NFT
NFT全称“Non-Fungible Tokens” 即非同质化代币,简单来说,即区块链上一种无法分割的版权证明,主要作用数字资产确权,转移,与数字货币区别在于,它独一无二,不可分割,本质上,是一种独特的数字资产。
69.什么是元宇宙
元宇宙是一个虚拟时空间的集合, 由一系列的增强现实(AR), 虚拟现实(VR) 和互联网(Internet)所组成,其中数字货币承载着这个世界中价值转移的功能。
70.什么是DeFi
DeFi,全称为Decentralized Finance,即“去中心化金融”或者“分布式金融”。“去中心化金融”,与传统中心化金融相对,指建立在开放的去中心化网络中的各类金融领域的应用,目标是建立一个多层面的金融系统,以区块链技术和密码货币为基础,重新创造并完善已有的金融体系
71.谁是中本聪?
72.比特币和Q币不一样
比特币是一种去中心化的数字资产,没有发行主体。Q币是由腾讯公司发行的电子货币,类似于电子积分,其实不是货币。Q币需要有中心化的发行机构,Q币因为腾讯公司的信用背书,才能被认可和使用。使用范围也局限在腾讯的 游戏 和服务中,Q币的价值完全基于人们对腾讯公司的信任。
比特币不通过中心化机构发行,但却能够得到全球的广泛认可,是因为比特币可以自证其信,比特币的发行和流通由全网矿工共同记账,不需要中心机构也能确保任何人都无法窜改账本。
73.矿机是什么?
以比特币为例,比特币矿机就是通过运行大量计算争夺记账权从而获得新生比特币奖励的专业设备,一般由挖矿芯片、散热片和风扇组成,只执行单一的计算程序,耗电量较大。挖矿实际是矿工之间比拼算力,拥有较多算力的矿工挖到比特币的概率更大。随着全网算力上涨,用传统的设备(CPU、GPU)挖到比特的难度越来越大,人们开发出专门用来挖矿的芯片。芯片是矿机最核心的零件。芯片运转的过程会产生大量的热,为了散热降温,比特币矿机一般配有散热片和风扇。用户在电脑上下载比特币挖矿软件,用该软件分配好每台矿机的任务,就可以开始挖矿了。每种币的算法不同,所需要的矿机也各不相同。
74.量化交易是什么?
量化交易,有时候也称自动化交易,是指以先进的数学模型替代人为的主观判断,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下做出非理性的投资决策。量化交易有很多种,包括跨平台搬砖、趋势交易、对冲等。跨平台搬砖是指,当不同目标平台价差达到一定金额,在价高的平台卖出,在价低的平台买入。
75.区块链资产场外交易
场外交易也叫OTC交易。用户需要自己寻找交易对手,不通过撮合成交,成交价格由交易双方协商确定,交易双方可以借助当面协商或者电话通讯等方式充分沟通。
76.时间戳是什么?
区块链通过时间戳保证每个区块依次顺序相连。时间戳使区块链上每一笔数据都具有时间标记。简单来说,时间戳证明了区块链上什么时候发生了什么事情,且任何人无法篡改。
77.区块链分叉是什么?
在中心化系统中升级软件十分简单,在应用商店点击“升级”即可。但是在区块链等去中心化系统中,“升级”并不是那么简单,甚至可能一言不合造成区块链分叉。简单说,分叉是指区块链在进行“升级”时发生了意见分歧,从而导致区块链分叉。因为没有中心化机构,比特币等数字资产每次代码升级都需要获得比特币社区的一致认可,如果比特币社区无法达成一致,区块链很可能形成分叉。
78.软分叉和硬分叉
硬分叉,是指当比特币代码发生改变后,旧节点拒绝接受由新节点创造的区块。不符合原规则的区块将被忽略,矿工会按照原规则,在他们最后验证的区块之后创建新的区块。 软分叉是指旧的节点并不会意识到比特币代码发生改变,并继续接受由新节点创造的区块。矿工们可能会在他们完全没有理解,或者验证过的区块上进行工作。软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。向后兼容是指新软件接受由旧软件所产生的数据或者代码,比如说Windows 10可以运行Windows XP的应用。而软分叉还可以"向前兼容"。
79.区块链项目分类和应用
从目前主流的区块链项目来看,区块链项目主要为四类:第一类:币类;第二类:平台类;第三类:应用类;第四类:资产代币化。
80.对标美元的USDT
USDT是Tether公司推出的对标美元(USD)的代币Tether USD。1USDT=1美元,用户可以随时使用USDT与USD进行1:1兑换。Tether公司执行1:1准备金保证制度,即每个USDT代币,都会有1美元的准备金保障,对USDT价格的恒定形成支撑。某个数字资产单价是多少USDT,也就相当于是它的单价是多少美元(USD)。
81.山寨币和竞争币
山寨币是指以比特币代码为模板,对其底层技术区块链进行了一些修改的区块链资产,其中有技术性创新或改进的又称为竞争币。因为比特币代码开源,导致比特币的抄袭成本很低,甚至只需复制比特币的代码,修改一些参数,便可以生成一条全新的区块链。
82.三大交易所
币安
Okex
火币
83.行情软件
Mytoken
非小号
84.资讯网站
巴比特
金色 财经
币世界快讯
85.区块链浏览器
BTC
ETH
BCH
LTC
ETC
86.钱包
Imtoken
比特派
MetaMask(小狐狸 )
87. 去中心化交易所
uniswap
88. NFT交易所
Opensea
Super Rare
89. 梯子
自备,购买靠谱梯子
90. 平台币
平台发行的数字货币,用于抵扣手续费,交易等
91. 牛市、熊市
牛市:上涨行情
熊市:下跌行情
92. 区块链1.0
基于分布式账本的货币交易体系,代表为比特币
93. 区块链2.0
以太坊(智能合约)为代表的合同区块链技术为2.0
94. 区块链3.0
智能化物联网时代,超出金融领域,为各种行业提供去中心化解决方案
95. 智能合约
智能合约,Smart Contract,是一种旨在以信息化方式传播、验证或执行合同的计算机协议,简单说,提前定好电子合约,一旦双方确认,合同自动执行。
96. 什么是通证?
通证经济就是以Token为唯一参考标准的经济体系,也就是说相当于通行证,你拥有Token ,就拥有权益,就拥有发言权。
97. 大数据 和 区块链 的 区别
大数据是生产资料,AI是新的生产力,区块链是新的生产关系。大数据指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。简单理解为,大数据就是长期积累的海量数据,短期无法获取。区块链可以作为大数据的获取方式,但无法取代大数据。大数据只是作为在区块链运行的介质,没有绝对的技术性能,所以两者不能混淆。(生产关系简单理解就是劳动交换和消费关系,核心在于生产力,生产力核心在于生产工具)
98. 什么是ICO?
ICO,Initial Coin Offering, 首次公开代币发行,就是区块链数字货币行业中的众筹。是2017最为热门的话题和投资趋势,国家9.4出台监管方案。说到ICO,人们会想到IPO,两者有着本质不同。
99. 数字货币五个特征
第一个特征:去中心化
第二个特征:有开源代码
第三个特征:有独立的电子钱包
第四个特征:恒量发行的
第五个特征:可以全球流通
100.什么叫去中心化?
没有发行方,不属于任何机构或国家,由互联网网络专家设计、开发并存放于互联网上,公开发行的币种。
101. 什么叫衡量(稀缺性)?
发行总量一旦设定,永久固定,不能更改,不能随意超发,可接受全球互联网监督。因挖掘和开釆难度虽时间数量变化,时间越长,开采难度越大,所开釆的币就越少,因此具有稀缺性。
102. 什么叫开源代码?
用字母数字组成的存放在互联网上,任何人都可以查出其设计的源代码,所有人都可以参与,可以挖掘,全球公开化。
103. 什么叫匿名交易? 专有钱包私密?
每个人都可以在网上注册下载钱包,无需实名认证,完全由加密数字代码组成,全球即时点对点发送、交易,无需借助银行和任何机构,非本人授权任何人都无法追踪、查询。
104.什么是合约交易?
合约交易是指买卖双方对约定未来某个时间按指定价格接收一定数量的某种资产的协议进行交易。合约交易的买卖对象是由交易所统一制定的标准化合约,交易所规定了其商品种类,交易时间,数量等标准化信息。合约代表了买卖双方所拥有的权利和义务。
105.数字货币产业链
芯片厂家 矿机厂商 矿机代理 挖矿 出矿到交易所 散户炒币
106.北 枫 是谁?
北 枫 :数字货币价值投资者
投资风格:稳健
建立社区 :北斗 社区 (高质量价投社区 )
107.北斗 投资策略
长短结合,价投为主,不碰合约,不玩短线
合理布局,科学操作,稳健保守,挣周期钱
108.北 枫 ?
欢迎币友,共谋发展
② AMD CPU 算力表
不多解释自己查
上面型号,下面算力
AMD THREADRIPPER 1950X (16C/32T)
1800
AMD RYZEN 1950X THREADRIPPER
1450
THREADRIPPER 1950X
1370
AMD THREADRIPPER 1950X
1367
RYZEN THREADRIPPER 1950X
1340
AMD THREADRIPPER 1950X
1333
AMD RYZEN THREADRIPPER 1950X
1280
RYZEN THREADRIPPER 1950X @3.9 GHZ
1265
RYZEN THREADRIPPER 1950X
1196
THREADRIPPER 1920X
1091
AMD THREADRIPPER 1950X @4GHZ
995
THREADRIPPER 1900 ONLY CPU (8THREADS)
780
AMD RYZEN 7 1800X
704
RYZEN 7 1700
700
AMD RYZEN 1700X
670
RYZEN 7 1700
662
RYZEN 7 1800X (OC TO 4.0GHZ)
660
AMD THREADRIPPER 1900X
655
RYZEN R7 1700X @4.0 GHZ
640
AMD RYZEN 7 1700X (4GHZ, 1.35V)
640
RYZEN 7 1700X 3875MHZ
638
AMD RYZEN 7 1700X
635
AMD RYZEN 7 1800X
632
AMD RYZEN 1700X
630
RYZEN 7 1800X
630
RYZEN 1700 @3.89GHZ
630
RYZEN 7 [email protected]
626
AMD RYZEN 5 1600
625
RYZEN 1800X AT 3.9MHZ (OC)
620
AMD RYZEN 7 1700
620
RYZEN 7 1700
620
RYZEN 1800X (OC TO 3,9GHZ)
620
AMD RYZEN 7 1800X 4.2GHZ
620
AMD RYZEN 7 1700
620
RYZEN 7 1700
615
RYZEN 7 1700
610
RYZEN 7 1700 @4.0GHZ
610
AMD RYZEN-7 1700 (@3700 MHZ)
605
RYZEN 1700X
605
AMD RYZEN 1700
601
AMD RYZEN 7 1700X 3.8GHZ
595
RYZEN R7 1700
594
RYZEN R5 1600X @4GHZ
592
RYZEN 5 1600X @4.0GHZ
587
RYZEN 5 1600 (3.95GHZ OC)
585
RYZEN 7 1700 @3.6GHZ
580
RYZEN 5 1600
575
RYZEN 5 1600 @3.9 GHZ 1.304 VOLTS
570
RYZEN 1700 (3.6GHZ)
570
AMD RYZEN 1700
570
RYZEN R5 1600X
565
AMD RYZEN 7 1700
565
RYZEN 7 1700
560
AMD RYZEN 5 1600@4GHZ
560
RYZEN 5 1600
560
AMD RYZEN 5 1600X
560
RYZEN 7 1700X
558
AMD RYZEN7 1700
555
RYZEN R5 1600X
550
AMD R5 1600 @3.925 MHZ 1.224V
550
RYZEN 7 1700X (STOCK)
550
AMD RYZEN 5 1600
545
AMD RYZEN 5 1600 [email protected]
540
AMD RYZEN R7 1700
536
RYZEN 5 1600 @3700 MHZ
527
RYZEN 1700
520
AMD RYZEN 5 1600X @ 4.1 GHZ
520
RYZEN 5 1600X
520
RYZEN 7 1700
520
RYZEN 7 1700
515
RYZEN 7 1700 @3.2GHZ
513
RYZEN 7-1700
510
RYZEN 5 1600X
510
RYZEN 5 1600X
510
RYZEN 5 1600
508
RYZEN 1700 (3.7GHZ OC)
506
R7 1700 @O 3,7GHZ
505
AMD RYZEN 5 1600 + 2400MHZ RAM
503
AMD RYZEN 7 1700 @3.1GHZ
503
RYZEN 5 1600 @3.8GHZ
500
RYZEN 1700X
500
RYZEN 5 1600 @3750 MHZ
500
AMD FX-9590
497
RYZEN 5 1600 @ STOCK
495
AMD RYZEN 7 1700
492
AMD RYZEN 5 1600
485
RYZEN 5 1600X
477
RYZEN 5 1600
475
FX-8350@4,5GHZ (22,5*200)
473
AMD RYZEN 5 1600
470
RYZEN 5 1600X AMD
470
RYZEN 5 1600 - OVERCLOCKED TO 3.7
470
RYZEN 5 1600
470
FX8320E@4,5GHZ
470
AMD OPTERON 6376
469
RYZEN 7 1700
466
RYZEN 7 1800X
465
AMD RYZEN 5 1500X
460
RYZEN 5 1600
460
AMD FX 8350
457
AMD FX 8350
457
RYZEN 1700X
455
AMD RYZEN 5 1600
453
FX-8350 (OVERCLOCK: 5.0 GHZ, DISABLED 4 CORES, 1 CORE = 2MB CACHE)
450
AMD RYZEN 5 1600
450
RYZEN 6 1600
450
RYZEN 5 1600
450
AMD [email protected]
445
FX-8350 (OVERCLOCKED: 4.8GHZ, OVERCLOCKED: DDR3 RAM 1600MHZ))
444
AMD RYZEN 5 1600X
440
AMD FX-8350 (4.6GHZ CORE / 2.4GHZ CPU NORTHBRIDGE)
440
FX-8350 @ 4.4GHZ
440
RYZEN 5 1600 - STOCK
436
AMD RYZEN 5 1600X
435
RYZEN 5 1600 (STOCK)
431
AMD FX-8350 OC 4.7GHZ
430
AMD RYZEN 5 1500X @ 3.5GHZ
429
RYZEN R7 1700
427
FX 9590
425
AMD FX-8300 OC 4.4GHZ
425
AMD FX-8300 OC 4.4GHZ
425
RYZEN 5 1500X @3.5GHZ
425
FX-9590
423
AMD FX-8350 OC 4.3 GHZ
423
AMD FX-8350 (USING 7 OF 8 CORES)
420
AMD FX 9590
420
AMD RYZEN 1600X
420
FX-8320 @ 4.2GHZ
415
[email protected] GHZ
415
FX8320@4200
412
RYZEN 7 1800 (STOCK)
412
AMD RYZEN 5 1500X @ 3.9 GHZ | DDR4 2933 CL16
410
AMD 8320 @4.3 GHZ
408
FX 8350 OVERCLOCKED 4.2
406
FX-8320E
405
FX-9370
404
AMD FX 8350 OVERCLOCKED 4.2(21X200)
400
MD RYZEN 7 1800X
400
FX-8320
400
AMD FX-8350 BLACK EDITION
400
RYZEN R7 1700 @ 3800 MHZ
400
AMD FX-8350
400
AMD RYZEN 5 1600 STOCK 3.4 GHZ
400
RYZEN 5 1600
400
AMD FX 8320 @4.1GHZ
399
AMD FX 8350
399
FX 8350
399
AMD RYZEN 1500X
396
FX8320E@4GHZ
395
AMD RYZEN R7 1800X (STOCK)
395
AMD 8350-FX @ 4300GHZ
393
AMD FX-8120 @OC 4010
393
AMD FX-8350
390
FX 8350
390
AMD FX8320E - 3,9GHZ OC
385
FX-8320E @3,9GHZ
383
AMD FX-8120
380
AMD FX 8370
379
OPTERON 4334
375
AMD RYZEN R7 1700
375
AMD RYZEN R5 1600 (STOCK)
370
FX 8320
368
AMD FX-8350 (DOWNCLOCK TO 3.6 GHZ)
360
AMD FX 8320
360
AMD FX-8370E EIGHT-CORE PROCESSOR
359
AMD [email protected]
358
FX-8150 (DEFAULT, NO OVERCLOCK)
356
RYZEN 1500X
354
FX 8300 @ 4400
354
FX 8350 @ 4.7 GHZ
350
AMD OPTERON PROCESSOR 4171 HE
345
FX 8300 (OC 4200)
340
FX-8320E
340
RYZEN 7 1700X
340
AMD 8370E
337
AMD RYZEN 5 1500X @3.57GHZ
334
AMD FX 8300
332
AMD FX-6350 @4.6 GHZ
332
AMD RYZEN 1700 3.8GHZ
330
AMD FX-8150 8X3.6 GHZ @ 4.1 GHZ
330
AMD FX 8320 BONE STOCK
330
FX8320-E
327
AMD FX 8370
320
AMD FX(TM)-8350 EIGHT-CORE PROCESSOR OC (8CPUS),~ @ 4.32GHZ
320
AMD FX 8370E
320
AMD RYZEN 7 1700 @ 3.8GHZ
320
AMD FX(TM)-8350 EIGHT-CORE PROCESSOR
316
FX-6300
315
AMD RYZEN 5 1600
313
AMD FX 6300 @ 4.7GHZ
310
AMD FX 8320
310
RYZEN 1500X
310
AMD FX-8350
310
AMD FX-6350
306
AMD FX-8320 4.0GHZ
305
AMD FX 6300
305
RYZEN X1700
302
AMD FX-8370
301
AMD FX-8320
300
RYZEN 5 1400X
300
AMD FX-6300
300
FX 8320
300
AMD RYZEN 3 1200 (3.1 GHZ BASE)
300
RYZEN 3 1200 OC TO 3.9GHZ
300
AMD FX-8320
300
RYZEN 5 1400X
300
AMD FX 6350
300
RYZEN 3 1200@3750
292
FX 8350
290
RYZEN 5 1400 @3.8 GHZ
289
AMD FM 8120 @3110
284
AMD3+ FX-6300 3.5GHZ
282
RYZEN 5 1400
280
AMD FX 8350
279
AMD FX 8300
279
AMD FX 6300
275
FX 6300
275
AMD FX6300
271
RYZEN 1300X (STOCK)
270
AMD 8320 (4.2)
269
AMD OPTERON(TM) 3280
266
AMD FX 6300
265
AMD FX-4350 (OVERCLOCKED TO 4.8MHZ)
264
RYZEN 5 1400
262
AMD FX-6300
260
AMD FX-6300 @ 4GHZ
255
AMD FX-6300
250
AMD FX 6300
250
FX 6300
250
FX-6100
249
FX 6300
245
RYZEN 3 1200
241
OPTERON 4334
240
AMD FX 6100 OC 4.0 GHZ
240
RYZEN 1800X
239
FX-6300
237
AMD OPTERON(TM) PROCESSOR 4274 HE
236
AMD FX 6300 @4.1 GHZ
230
FX-9370
230
FX 8350
230
AMD FX-8320E
226
AMX FX-8350
224
AMD FX-8150 8-CORE PROCESSOR 8X3.6GHZ UP TO 3.96GHZ
220
RYZEN 5 1400
220
AMD FX 8300
220
AMD FX-6350 HEXA-CORE 3.9GHZ
220
FX 8350
220
AMD FX-6100
220
FX 8350
220
AMD FX 6300
219
AMD A8-7650K, OC 4.5
219
AMD FX-8370E
216
FX 6300
216
AMD FX 4350
214
AMD FX 8320 4GHZ
210
AMD FX - 4100
210
AMD FX 8320E
210
AMD FX 4100 @4.40 GHZ
207
A8 7650K (OC 4.4GHZ)
207
A10 7850K
202
FX 4100
200
AMD A10-6800K APU
198
FX 4100
196
FX 4100
195
AMD FX-4300 @ 3.8 GHZ
194
AMD FX6300
188
FX 6300 (5 CORES)
181
AMD FX-8350 VISHERA
180
AMD FX 4300 3.8GZ
180
I5-4570S
180
AMD 7650K @ 4.0 GHZ 1.395V 95W
179
FX 6300 VISHERA
175
AMD FX-8350
175
AMD ATHLON X4 860K
175
AMD FX 4300 3800MHZ
172
AMD A8 5600K
170
AMD FX-4100
166
AMD FX-6300
165
AMD FX-6300
165
FX-4300
164
AMD A8-7650K
160
ATHLON X4 870K UP TO 4.2GHZ
157
AMD A10-6700
156
AMD A10 6800K
155
AMD FX 4350
154
AMD A8-6600K
152
FX 4300
150
AMD FX-6300
150
FX-4100 4,2GHZ
150
AMD FX4100
146
FX-6300
137
FX6300
135
ATHLON X4 760K
121
A8 7600
120
AMD FX6300
120
AMD A8-7600 RADEON R7 3.10GHZ
120
A10 7850
117
AMD FX 4100
108
AMD A8-7600 3.1GHZ 4 CORES
105
AMD PHENOM II X4 B60 @ 3.6GHZ
95
PHENOM 1090T X6 @ 3.6GHZ
90
AMD PHENOM(TM) II X6 1055T PROCESSOR, L3 6.0 MB, 3.9 GB RAM
90
AMD PHENOM II X4 965
89
AMD PHENOM(TM) II X6 1035T
86
AMD PHENOM II X4 965 BE
80
A6-7400K + GPU R3 128 BIT OC
75
AMD ATHLON II X4 740 3.2GHZ
75
PHENOM II X2 555BE
73
AMD RYZEN 5 1400 @ 3.2GHZ
70
AMD PHENOM II X6 1055T
70
AMD PHENOM II X4 960T
69
AMD ATHLON X4 860K
69
AMD PHENOM II X4 940
66
AMD A10 5800K
63
AMD A10 5800K 4.6GHZ
60
AMD A8 7600 3.8GHZ
55
AMD A8-5500
55
AMD ATHLON X4 860K
52
AMD PHENOM N830
50
AMD PHENOM II X6 1035T
50
AMD PHENOM II X6 1055T (2.8GHZ)
50
QUAD-CORE AMD OPTERON 1385
48
AMD A8 3870K @ 3,5GHZ
47
AMD PHENOM II X4 840
42
AMD ATHLON II X4
40
A6-5200
40
AMD PHENOM II X4 945
40
ATHLON X4 635
35
QUADCORE AMD A6-3620, 2272 MHZ
33
AMD A6 3400M
30
AMD ATHLON X4 630 3.1GHZ
29
AMD ATHLON X3 405E
29
PHENOM X4 9500
28
AMD SEMPRON(TM) 3850 APU
25
PHENOM II N930 (MOBILE) QUAD-CORE 2GHZ
25
AMD A4 6300
25
AMD ATHLON 7850
24
AMD A6-6400K APU
22
AMD ATHLON(TM) II X2 245
22
AMD A10-9600P
21
AMD OPTERON X2150
21
AMD A10-9600P
21
AMD A6 6400K
20
ATHLON II X2 240
20
AMD A4 6300
19
AMD FM1 A6-3670K @ 2.5GHZ (2.7 STOCK)
18
AMD ATHLON 64 X2 5400+ 2.8GHZ
15
AMD A4 6300 (1 CORE)
15
AMD A4 6300 (1 CORE)
15
AMD TURION X2 DUAL CORE MOBILE RM-75
14
AMD TURION X2 RM-75
12
AMD ATHLON(TM) II X2 245
12
ATHLON X2 2.00 GHZ
12
AMD ATHLON 64 DUAL CORE 4200+
11
AMD ATHLON 64 X2 4000+
11
AMD APU A4-3400
10
AMD SEMPRON 2650, 1.4GHZ, 1MB, DUAL-CORE
10
TURION TL-58
8
AMD OPTERON 1210
8
AMD ATHLON LE-1600
6
③ 缇庡浗绠楀姏鎬昏勬ā
缇庡浗鍦ㄥ叏鐞冨熀纭绠楀姏鎺掑悕绗涓锛屽叾浠介濊揪43锛呫
鍏ㄧ悆绠楀姏绔炰簤鎰堝姞鐧界儹鍖栥傜畻鍔涙按骞虫柟闈锛岀編鍥姐佷腑鍥姐佹ф床銆佹棩鏈鍦ㄥ叏鐞冪畻鍔涜勬ā涓鐨勪唤棰濆垎鍒涓36锛呫31锛呫11锛呭拰6锛咃紝鍏朵腑鍏ㄧ悆鍩虹绠楀姏绔炰簤浠ョ編鍥藉拰涓鍥戒负绗涓姊闃熴
涓斾腑缇庡樊璺濅笉鏂缂╁皬锛岀編鍥藉湪鍏ㄧ悆鍩虹绠楀姏鎺掑悕绗涓锛屽叾浠介濊揪43锛咃紝涓鍥戒互26锛呬唤棰濇帓鍚嶇浜岋紱鏅鸿兘绠楀姏鏂归潰锛屼腑鍥姐佺編鍥藉勪簬棰嗗厛锛岀畻鍔涘叏鐞冨崰姣斿垎鍒涓52锛呭拰19锛
鎴戝浗绠楀姏瑙勬ā鎸佺画鎵╁ぇ銆傗滃崄涓変簲鈥濇湡闂存垜鍥界畻鍔涜勬ā鏁翠綋淇濇寔楂橀熷為暱鎬佸娍锛屽崟鍙扮畻鍔涜惧囩殑鎬ц兘涔熶笉鏂鎻愬崌銆
2020骞存垜鍥界畻鍔涙昏勬ā杈惧埌135EFlops锛堟瘡绉15000浜娆℃诞鐐硅繍绠楁℃暟锛夛紝鍏ㄧ悆鍗犳瘮绾︿负31锛呫傚伐淇¢儴鏁版嵁鏄剧ず锛屾埅鑷2022骞6鏈堝簳锛屾垜鍥界畻鍔涙昏勬ā瓒呰繃銆150EFlops銆戯紝鎺掑悕鍏ㄧ悆绗浜屻
鎴戝浗绠楀姏鎬昏勬ā灞呭叏鐞冨墠鍒
鎴戝浗宸插缓鎴愬叏鐞冭勬ā鏈澶с佹妧鏈棰嗗厛鐨勭綉缁滃熀纭璁炬柦銆傛埅鑷充粖骞6鏈堝簳锛5G鍩虹珯鏁拌揪鍒185.4涓囦釜锛5G绉诲姩鐢佃瘽鐢ㄦ埛鏁拌秴杩4.5浜挎埛锛屾墍鏈夊湴绾у競鍏ㄩ潰寤烘垚鍏夌綉鍩庡競锛屽崈鍏嗗厜绾ょ敤鎴锋暟绐佺牬6100涓囨埛銆
宸插惎鍔ㄥ缓璁惧氭潯鈥滀笢鏁拌タ绠椻濆共绾垮厜缂嗭紝鎺ㄨ繘涓浣撳寲澶ф暟鎹涓蹇冧綋绯汇佸伐涓氫簰鑱旂綉澶ф暟鎹涓蹇冧綋绯诲缓璁撅紝绠楀姏浜т笟瑙勬ā蹇閫熷為暱锛岃繎浜斿勾骞冲潎澧為熻秴杩30锛呫傚叾涓锛屽湪鍏ㄧ悆绠楀姏鍒嗗竷缁熻′腑锛屾垜鍥芥櫤鑳界畻鍔涙昏勬ā鍗犳瘮26锛呫
浜т笟鍗忓悓涓嶆柇娣卞寲銆傜畻鍔涗骇涓氶摼鏉℃寔缁瀹屽杽锛屽寘鎷绠楀姏鍩虹璁炬柦銆佺畻鍔涘钩鍙般佺畻鍔涙湇鍔$瓑鍦ㄥ唴鐨勶紝鍏锋湁鍥介檯绔炰簤鍔涚殑绠楀姏浜т笟鐢熸佸垵姝ュ舰鎴愶紝涓鎵瑰叿鏈夌ず鑼冩晥搴旂殑绠楀姏骞冲彴銆佹柊鍨嬫暟鎹涓蹇冧互鍙婁骇涓氬熀鍦扮浉缁ц惤鍦般
④ 52单片机的算力有多大
8K字节。其52单片机的算力有8K字节这么大,在同等级的单片机算力上属于排名非常靠前的层次。单片机又称微控制器,由中央处理器、存储器、输入输出端口、计时器和计数器等组成,具有完整数字处理功能的大规模集成电路。
⑤ 如何增强对数字的敏感
1、认识数字的重要性 “在商业世界里,数字非常重要。”这句话看似抽象,却很真切。数字就像体检表,是行动的结果和评量的工具;数字也像仪表板,可指引方向和预测未来。
2、养成凡事附上数据与参考资料的习惯 数字是沟通、说服及谈判的重要依据。例如,如果想申请增加设备,试着加上“可达到总费用节省多少钱”,让数字为你说话,或许就能提高通过的机率。
3、在评估或分析任何情况时,都试着将其数字化 简单明了的数字,十分有助于记录、资讯传达、比较检讨及分析等商业行为。这就像是学习做一个“重视金额”的人,凡事不以感情(感觉、印象、善恶)做判断,而是以“金额”“数字”“比率”,作为衡量的尺度。
例如,如果认为举办宣传活动可提升产品知名度,那就试着将知名度,换算成“金额”。
4、将PDC循环应用在工作上 在采取任何行动前,都要拟定计划(Plan),然后实际执行(Do),接着再检核(Check)结果与计划之间的落差,作为修正行动(Action)的参考。
5、经常以矩阵图思考问题 面临错综复杂的问题时,可以矩阵图加以展开,从中可发掘出未曾发现的问题点,然后再依据问题点的急迫性与重要性,研拟对策。
6、有时间观念 假设A公司1小时能处理1单位的工作量,B公司则是1小时10单位,这个10倍的差异,可换算成B公司1年处理的工作量,A公司得耗时10年。时间既可以换算成金钱、效率,更速度的展现。因此,有数字力的人不会虚度光阴,也会守时、守信用。
7、有效运用资金 要发挥金钱的价值,就必须在使用金钱之前,预测效果或效益如何,使用之后更要详细确认。在日常生活中,养成大小事情都必以“损益计算”的方式来思考。
8、养成计算(合计值)的习惯 许多人都有类似经验,那就是错误的数字往往像滚雪球一般,进货量、销售量或库存量的登记,有时候是一个项目出错,就连带一直错下去一样。因此,对于图表内的数字或金额,习惯性地进行加总,方便于在做整体控管时,能够依重要程度判定优先顺序。
9、将所有目标都数据化 日产汽车(Nissan)执行长卡洛斯·高恩(Carlos Ghosn)曾说:“无法数据化的目标,我无法执行。”
有时候,组织的愿景或任务,都是较为抽象的,因此要落实为具体的数字,才能执行与评量。 例如,可将“拓展人脉”这项目标,转化为“每个月与人交换30张名片,而且日后与其中5位保持联系”或是将“加强广告活动”转化为“向15家媒体宣传,达到8家确实刊载”。
如果目标较为远大,最好能区分为近程、中程和长程三阶段,然后再决定每一段时期要达成的目标。这个过程就是所谓的“倒算力”,亦即为了达成远程的目标,往回推算中程、近程应该做什么,甚至近到这个月、这星期或现在就该做什么,作为达成目标的查核点。
(5)52除以8的算力扩展阅读
在中国古代思想中,3为基数,9为极数,除了5和3、9外,12在古代文化中也有重要的地位,在我们的生活中除了五行、五味、五脏、五色等和5有关的物质外,还有很多和12有关的,如12生肖、12时辰、12个月……
这种思想在麻将中也得到了充分的体现,144是12的平方,108也是12的倍数。另外,在麻将规则中,规定每人抓13张牌,而13乘以4等于52,这正暗合了一年有52个星期的规律。反映了物质的存在形式,数字则代表了物质存在的数量。
计算过程中的一种数据特征,以二进制数字(零和一)表示。表示时要看它与一些特殊的数的关系。如...16、8、4、2、1等。
例:9 用二进制表达就是 1001 。因为它有1个8和1个1。
⑥ 如何在c++定义一个学生类以实现平均成绩的计算和查询功能
一.中间件的定义与作用
1.什么是中间件?
图片摘自公众号“筋斗云与自动驾驶”
笔者在交流中发现,不同的人对中间件的理解并不一样,甚至可以说,到现在,这个概念还是模糊不清的。比如:
(1)有的人认为中间件仅指位于OS内核之上、功能软件之下的那部分组件,为上层提供进程管理、升级管理等服务;而有的人则认为中间件还应包括功能软件和应用软件中间的那部分(参见上图)。按茅海燕的说法,前者是“通用中间件”,而后者是“专用中间件”。本文中提到的“中间件”,若不做专门说明,便特指“通用中间件”。
(2)有一些人提到的自动驾驶中间件,包括了AUTOSAR(又分为AUTOSAR CP和AUTOSAR AP),还有一些人口中的中间件,特指ROS2、Cyber RT、DDS等。
(3)未动科技VP萧猛认为,“中间”一词是相对的,当有多层堆叠的时候,每一层都是其上下两层的中间层,因此,在用“中间件”这个词的时候,我们需要特别指明它究竟位于“哪两层之间”。按萧猛的说法,当我们称“ROS/ROS2 为中间件”时,其含义与 “AUTOSAR AP为中间件”并不是对等的关系。
(4)Vector产品专家蔡守群说,他理解的中间件,“是给App开发提供功能支撑的,对外是没有功能表征的;但是站在操作系统内核的角度,中间件跟App并没有本质的区别”。
2.中间件的作用
汪浩伟说:“专用中间件原本是应用程序的一部分,只是很多公司做自动驾驶都需要用到,就被抽象出来了。”
那么,它究竟有什么用?
毕晓鹏认为,自动驾驶中间件最主要的作用是:对下,它能够去适配不同的OS内核和架构;对上,它能够提供一个统一的标准接口,负责各类应用软件模块之间的通信以及对底层系统资源的调度。
据毕晓鹏解释,前者,使开发者们无需考虑底层的OS内核是什么,也无需考虑硬件环境是什么,即不仅实现了应用软件与OS的解耦,也实现了应用软件与硬件的解耦;而后者则确保了数据能够安全实时地传输、资源进行合理的调度。
为什么要通过中间件来支持软硬件解耦?毕晓鹏解释道:
我开发一个应用软件,其中很多内容都是与具体应用逻辑无关的,包括数据通信、通信安全、系统资源调度等,比如,有十个进程需要数据交互,完全没有必要在十个程序的软件代码里各自进行实现和配置。针对这种情况,我们就可以把重复的部分抽象成一种服务,单独封成一层东西(这就是中间件),并提供统一的库、接口和配置方法,供上层去调用。这样的话,有一部分人专门去做中间件的,而做上层应用的人也不需要考虑跟底层交互的事情。
举例说,如果要做一个自动泊车系统,它有各个模块或业务逻辑独立的不同软件,在进行通信、数据交互,或者调用底层资源时,只需要中间件的一个接口就可以实现,其他事情不需要考虑,这样开发人员就可以专注于自己的业务逻辑。
又比如,一个摄像头需要感知前面的车道线、红绿灯等,开发人员就专门做红绿灯和车道线检测算法,与外界的数据交互只需要使用中间件的通信服务(例如订阅摄像头信息,发布检测结果),而不必关心数据从哪里来、发给谁。
Nullmax纽劢科技系统平台总监苗乾坤博士在此前的一篇文章中写道:
“芯片算力大幅增长,摄像头像素呈翻倍之势,激光雷达出现在更多新车规划上……没有谁能够断言车上的传感器应该有多少,又或者是将来的汽车还会增加哪些硬件,但所有人都知道硬件的变化将会来得更加猛烈。
“所以我们也可以看到,汽车对软硬件架构的要求也越来越高,既要能满足当下的需求,还要具备相当的前瞻性、兼容性和扩展性,能够支持接下来软硬件升级换代、增减模块的需求。而自动驾驶的中间件,就正是这样一个可以按需调整、满足各样需求的现代温室。
“在早期开发中,中间件可以化整为零,将巨大的软件工程分解成若干小任务,分散解决。在后期应用时,它又可以化零为整,像拼积木一样,根据需求将一个个模块组合成一个整体,严丝合缝。”
在春节前的一场直播中,东软睿驰产品销售总监安志鹏说,在软硬件解耦、模块化管理后,再遇到问题,就不用整个系统都改,只改相对应的部分就行了。这样,软件的可复用程度就极大地提升了,同时,验证的工作量也会减少许多,整体开发效率也会因此提升。
相反,没有中间件的话,应用层就得直接调用操作系统的接口,后期要是换了操作系统,应用层的代码和算法可能就要推倒重来。
简言之,中间件通过对计算平台、传感器等资源进行抽象,对算法、子系统、功能采取模块化的管理,并提供统一接口,让开发人员能够专注于各自业务层面的开发,无需了解无关细节。
按东软睿驰产品销售总监安志鹏的说法,搞AUTSOAR这样的中间件,并不是只对OEM有利,“零部件供应商的选择面也大了——应用做好了,下面的软件、芯片可以选好几家供应商的,要比传统的开发模式快很多,因而,零部件供应商也是受益者”。
用萧猛的话说,中间件最直接的好处就是“为上层屏蔽底层的复杂性”,软件开发人员可以忽略芯片、传感器等硬件的差异,从而高效、灵活地将上层应用及功能算法在不同平台上实现、迭代、移植。萧猛认为,中间件可以看做是自动驾驶应用背景下的一项“新基建”。
(图片摘自冯占军博士的《AUTOSAR对基础软件开发是喜还是忧?》一文。AUTOSAR只是中间件的一种,但这里写的“AUTOSAR开发优势”基本也适用于其他中间件。)
不过,站在开发者的角度看,中间件的意义也未必全部是正面的。如冯占军博士在《AUTOSAR对基础软件开发是喜还是忧?》一文中就提到了如下两点:
底层软件工程师变成了工具人,“只要你去点点鼠标,用工具配合就可以了”,很多原本由自己做的测试也改由供应商来做,进而导致工程师的成就感严重降低;时间久了,工程师从0到1开发的能力也会降低。
(图片摘自冯占军博士的文章。尽管文章说的是Autosar,但实际上这些问题在ROS等其他中间件的使用过程中也会存在。)
对软件工程师来说,中间件造成的“能力退化”这一问题几乎是无解的。但冯占军博士认为,“如果这个中间件在开发过程中,有使用公司的工程师深度参与,提出需求并一起实施,会好一些”。
此外,殷玮在一篇文章提到,使用AUTOSAR这样的中间件,Tier 1们应该是很不情愿的,“因为不到增加了成本,还有可能逐步沦为硬件生产商”。但这个也不能说是中间件的锅,在软件定义汽车大大趋势下,这几乎是必然的。
二.常见的基本概念
1. AUTOSAR CP 与 AUTOSAR AP
在所有的中间件方案中,最著名的非AUTOSAR莫属了。
严格地说,AUTOSAR并非特指由某一家软件公司开发出来的某款操作系统或中间件产品,而是由全球的主要汽车生产厂商、零部件供应商、软硬件和电子工业等企业共同制定的汽车开放式系统架构标准。不过,在实践中,各公司基于AUTOSAR标准开发出来的中间件也被被称为“AUTOSAR”。
当前,AUTOSAR可分为Classic Platform和Adaptive Platform两个平台,两者分别被简称为AUTOSAR CP与AUTOSAR AP。
简单地说,AUTOSAR CP主要跑在8bit、16bit、32bit的MCU上,对应传统的车身控制、底盘控制、动力系统等功能,如果涉及到自动驾驶的话,AUTOSAR CP可能无法实现;而AUTOSAR AP主要跑在64bit以上的高性能MPU/SOC上,对应自动驾驶的高性能电子系统。
严格地说,AUTOSAR CP并不只是个“中间件”,它是相当于“OS内核+中间件”的一套完整的“操作系统”。 AUTOSAR CP定义了基本的上层任务调度、优先级调度等。
在基于分布式架构的ADAS功能中,AUOTSAR CP便是最常见的“操作系统”。在AUTOSAR的生态形成后,很多芯片厂商的MCU上标配的就是AUTOSAR CP,主机厂没有什么选择权。
由于分布式架构下的芯片主要是MCU,因此,便有了“AUTOSAR CP主要跑在MCU上”的说法。
在分布式架构下,不同的功能对应着不同的MCU,而每一个MCU上都需要跑一套AUTOSAR CP,若传感器的类型比较多,则仅ADAS相关功能就需要很多套AUTOSAR CP,那怎么收费呢?
常规的做法是:根据MCU的类型来收费——如果MCU是两个异构的MCU,那AUTOSAR CP就按两套来收费;如果MCU是同构的,那AUTOSAR CP就按一套来收费。
随着EE架构从分布式向集中式演进、芯片由MCU向SOC演进,计算量及通信量成数量级地上升,另外,多核处理器、GPU、FPGA以及专用加速器的需求,还有OTA等,都超出了AUTOSAR CP的支持范围。
(图片摘自安志鹏的直播课)
2017年,为更好地满足集中式架构+SOC时代的高等级自动驾驶对中间件的需求,AUTOSAR联盟推出了通信能力更强、软件可配置性更灵活、安全机制要求更高的AUTOSAR AP平台。
需要强调的是,不同于AUTOSAR CP自身已经包含了基于OSEK标准的OS,AUTOSAR AP只是一个跑在Lunix、QNX等基于POSIX标准的OS上面的中间件——它自身并不包含OS。
结合aFakeProgramer于2020年发表在CSDN上的《为什么要用AP?Adaptive AutoSAR到底给企业提供了一些什么?》一文及东软睿驰安志鹏在2022年春节前的一场直播中讲的内容,AUTOSAR CP与AUTOSAR AP最主要的区别有如下几点:
1).编程语言不同——AUTOSAR CP基于C语言,而AUTOSAR AP基于C++语言;
2).架构不同——AUTOSAR CP 采用的是FOA架构(function-oriented architecture),而AUTOSAR AP采用的则是SOA架构(service-oriented architecture);
3).通信方式不同——AUTOAR CP采用的是基于信号的静态配置通信方式(LIN\CAN...通信矩阵),而AUTOSAR AP采用的是基于服务的SOA动态通信方式(SOME/IP);
4).连接关系不同——在AUTOSAR CP中,硬件资源的连接关系受限于线束的连接,而在AUTOSAR AP中,硬件资源间的连接关系虚拟化,不局限于通信线束的连接关系;
5).调度方式不同——AUTOSAR CP采用固定的任务调度配置,模块和配置在发布前进行静态编译、链接,按既定规则顺序执行,而AUTOSAR CP则支持多种动态调度策略,服务可根据应用需求动态加载,并可进行单独更新。
6).代码执行和地址空间不同——AUTOSAR CP中,大部分代码静态运行在ROM,所有application共用一个地址空间,而在AUTOSAR AP中,应用加载到RAM运行,每个application独享(虚拟)一个地址空间。
这些区别,带给AUTOSAR AP的优势有如下几点——
1).ECU更加智能:基于SOA通信使得AP中ECU可以动态的同其他ECU同其他ECU进行连接,提供或获取服务;
2).更强大的计算能力:基于SOA架构使得AP能够更好地支持多核、多ECU、多SoCs并行处理,从而提供更强大的计算能力;
3).更加安全:基于SOA架构使得AP中各个服务模块独立,可独立加载,IAM管理访问权限;
4).敏捷开发:Adaptive AUTOSAR服务不局限于部署在ECU本地可分布于车载网络中,使得系统模块可灵活部署,后期也能灵活独立更新(FOTA);
5).高通信带宽:可实现基于Ethernet等高通信带宽的总线通信;
6).更易物联:基于以太网的SOA通信,更易实现无线、远程、云连接,方便部署V-2-X应用。
(图片摘自东软睿驰)
当然了,在某些方面,AUTOSAR AP与AUTOSAR CP相比是有一些“劣势”的。比如,AUTOSAR CP的时延可低至微秒级、功能安全等级达到了ASIL-D,硬实时;而AUTOSAR AP的时延则在毫秒级,功能安全等级则为ASIL-B,软实时。
上述区别也导致了两者应用领域的不同:AUTOSAR CP一般应用在对实时性和功能安全要求较高、对算力要求较低的场景中,如引擎控制、制动等传统ECU;而AUTOSAR则应用在对实时性和功能安全有一定要求,但对算力要求更高的场景中,如ADAS、自动驾驶,以及在动态部署方面追求较高自由度的信息娱乐场景。
尽管AUTOSAR AP有种种优点,但总的来说,它目前还不够成熟——主要是信息安全及UCM等模块不成熟。量产车上装AUTOSAR AP的不少,但主要用在娱乐场景,真正用在自动驾驶场景的还很少。
此外,由于SOC+MCU组合的现象会长期存在,因而,在今后相当长一段时间内,AUTOSAR AP都不可能彻底取代AUTOSAR CP——最常见的分工会是,需要高算力的工作交给AUTOSAR AP,而需要高实时性的工作则交给AUTOSAR CP。
(图片摘自超星未来)
2.ROS 2
ROS是机器人操作系统(Robot Operating System)的英文缩写,原生的ROS本是机器人OS,并不能直接满足无人驾驶的所有需求,用作自动驾驶中间件的是ROS 2。
ROS 2与ROS 1的主要区别如下:
(1).ROS 1主要构建于Linux系统之上,主要支持Ubuntu;ROS 2采用全新的架构,底层基于DDS(Data Distribution Service)通信机制,支持实时性、嵌入式、分布式、多操作系统,ROS 2支持的系统包括Linux、windows、Mac、RTOS,甚至是单片机等没有操作系统的裸机。
(2).ROS 1的通讯系统基于TCPROS/UDPROS,强依赖于master节点的处理;ROS 2的通讯系统是基于DDS,取消了master,同时在内部提供了DDS的抽象层实现,有了这个抽象层,用户就可以不去关注底层的DDS使用了哪个商家的API。
(3).ROS运行时要依赖roscore,一旦roscore出现问题就会造成较大的系统灾难,同时由于安装与运行体积较大,对很多低资源系统会造成负担;ROS2基于DDS进行数据传输,而DDS基于RTPS的去中心化的通信框架,这就去除了对roscore的依赖,系统的稳定性强,对资源的消耗也得到了降低。
(4).由于ROS 缺少Qos机制,topic的稳定性与质量难以保证;ROS2则提供了Qos机制,对通信的实时性、完整性、历史追溯等功能有了支持,这便大幅加强了框架功能,避免了高速系统难以适用等问题。
不过,ROS2的QoQ配置较为复杂,目前主要是国外一些专业的大学或实验室在使用,国内仅有极少数公司在尝试;此外,ROS 2的生态成熟度远不如ROS,这也给推广应用带来了不便。
跟AUTOSAR AP一样,ROS 2也是跑在soc芯片上、用于满足高等级自动驾驶的需求的。不过,萧猛在去年的一批文章中却特别强调:当我们称 “ROS/ROS2 为中间件”时,其含义与 “AUTOSAR AP为 中间件”并不是对等的关系。
萧猛的文章称:
当我们说 AutoSar是中间件时,这个中间件是很明确的 L.BSW层语义,即处于计算机OS与车载ECU特定功能实现之间,为 ECU功能实现层屏蔽掉特定处理器和计算机OS相关的细节,并提供与车辆网络、电源等系统交互所需的基础服务;
ROS/ROS2 是作为机器人开发的应用框架,在机器人应用和计算机OS之间提供了通用的中间层框架和常用软件模块(ROS Package),而且, ROS团队认为这个框架做得足够好,可以称作操作系统(OS)了。
ROS 2尽管在功能上跟AUTOSAR AP有不少重叠之处,但两者的思路是不一样的:
(1).从表现形式上看,AUTOSAR AP首先是一套标准,这个标准定义了一系列基础平台组件,每个平台组件定义了对应用的标准接口,但没有定义实现细节,和平台组件之间的交互接口(这些部分留给AUTOSAR AP供应商实现);ROS2则从一开始就是代码优先,每个版本都有完整的代码实现,也定义有面向应用标准API接口。
(2)AUTOSAR AP从一开始就面向ASIL-B应用;ROS 2不是根据ASIL的标准设计的,ROS 2实现功能安全的解决方案是,把底层换为满足ASIL要求的RTOS和商用工具链(编译器)。
ROS 2“过不了车规”似乎已成为一个很广泛的行业共识。但在萧猛看来,ROS2本来就不是为实时域设计的,如果一定要把实时性要求高的车辆控制算法运行在 ROS2中,“那是软件设计的错误,而不是ROS2的问题”。
萧猛认为,只要能补齐 L.BSW层所需要完成的所有功能、补齐 A 轴所有切面要求的特性,ROS 2就能用于自动驾驶量产车。如前段时间刚拿到采埃孚等多家巨头投资的Apex.AI公司基于ROS 2定制开发的Apex.OS就已经通过了最高等级的ASIL D认证。
萧猛说:“这实际上是基于 ROS 2的架构去实现一套 AUTOSAR AP 规范。这可以成为一个单独的产品,投入时间+人+钱可以开发出来,只是看有没有必要,值不值得”。
在具体的实践中,ROS 2跟AUTOSAR AP存在直接竞争关系——尽管对用户来说,并不存在严格意义上的“二选一”问题,但通常来说,若选了ROS 2,就不会选AUTOSAR AP了;若选了AUTOSAR AP,就不会选ROS 2了。
3. CyberRT
Cyber RT是网络Apollo开发出来的中间件,在Apollo 3.5中正式发布。Cyber RT和ROS2是比较像的, 其底层也是使用了一个开源版本的DDS。
网络最早用的是ROS 1,但在使用的过程中逐渐发现了ROS 1存在“若ROS Master出故障了,则任何两个节点之间的通信便受到影响”的问题,所以就希望使用一个“没有中间节点”的通信中间件来代替ROS 1,那时还没有ROS2,所以自己去做了一个Cyber RT。
为了解决 ROS 遇到的问题,Cyber RT删除了master机制,用自动发现机制代替,这个通信组网机制和汽车网络CAN完全一致。此外,Cyber RT的核心设计将调度、任务从内核空间搬到了用户空间。
(图片出处:https://blog.csdn.net/xhtchina/article/details/118151673)
其相对于其他系统,Cyber RT的一大优势是,专为无人架驶设计。网络已将Cyber RT开源,某互联网巨头的自动驾驶团队使用的中间件便是网络开源出来的Cyber RT。
Cyber RT跟ROS 2之间也存在竞争关系。
在谈到AUTOSAR AP、ROS 2与Cyber RT这些中间件的关系时,Vector产品专家蔡守群的解释是:
“不需要很机械地去分类,你可以把AUTOSAR AP, ROS和Cyber RT都想象成一个提供一组中间件的超市,用户可以按需从不同的超市购买,并不是说从一个超市买过一个中间件,就不能从其他超市买了。
蔡守群说:AUTOSAR AP中也包含了对ROS接口的支持。说不准哪天ROS和Cyber RT就会加入AUTOSAR AP的组件,或者 AUTOSAR AP会引入Cyber RT的组件。
4.DDS(通信中间件)
(1)什么是DDS?
在自动驾驶领域,中间件的功能涉及到通信、模块升级、任务调度、执行管理,但其最主要的功能就是通信。当前市场上,无论是Cyber RT还是 ROS,基本上90%的功能就是通信,狭义上说就是通信中间件。
通信中间可以分成开源和闭源的两种。开源的为OPEN DDS、FAST DDS、Cyclone等,闭源的就RTI的DDS和Vector的SOME/IP。DDS的全称为Data Distribution Service ,指一种数据分发服务标准,由对象管理组织(OMG)制定。
DDS能够实现低延迟、高可靠、高实时性的数据融合服务,能够从根本上降低软件的耦合性、复杂性,提高软件的模块化特性。高等级自动驾驶现在基本上都在探索依靠DDS来解决异构通信、低时延等CP解决不了的挑战。
融合了DDS的汽车软件能够更好地运行在下一代汽车的体系架构中,更能降低开发的成本、缩短研发的时间,更快地将产品推向市场。
(2)DDS与ROS 2、AUTOSAR AP之间的关系
ROS 2和Cyber RT的底层都使用了开源的DDS,将DDS作为最重要的通信机制。但也有自动驾驶公司的工程师认为,DDS可以起到替代ROS 2的作用,站在用户的角度看,两者之间其实存在“二选一”的关系。
AUTOSAR CP里一直没有包含跟DDS有关的东西,但AUTOSAR AP在 2018年3月的最新版(版本18-10)里开始支持DDS标准。将DDS与AUTOSAR AP结合使用,不仅可以保证和扩展AUTOSAR AP系统内部互操作性的功能,而且还可以将其开放给来自不同的生态系统(即ROS 2)。
从工程角度来看,将AUTOSAR和DDS结合起来的最大优势是,功能域和网络拓扑不再是对手,而是车辆中的盟友。网络拓扑结构能够更好地适应车辆的物理约束,功能域在物理车辆的顶部提供了一个灵活的覆盖层,这就是所谓的分区体系结构。
当然,DDS仅是通信中间件的一种。关于各类通信中间件之间的异同,我们将在本系列的第二篇做更详细的阐释。
三.AUTOSAR AP的地位正在弱化?
尽管AUTOSAR是当下最有名的自动驾驶中间件,但《九章智驾》在对诸多中间件厂商们的调研中得出一个结论:AUTOSAR在产业链中的地位可能正在弱化。 当然了,那些专注于AUTOSAR系统的厂商们并不认同这一观点。
我们在上文已经提到,随着EE架构从分布式向集中式演进、MCU被SOC取代,CP AUTSAR被AUTOSAR AP、ROS 2和Cyber RT等取代已是大势所趋,在下文,我们主要谈的是“AUTOSAR AP的地位会不会弱化”。
2021年12月中旬,两家AUTOSAR发起公司大陆集团、丰田联合采埃孚、捷豹路虎、沃尔沃、海拉等多家汽车行业龙头企业宣布投资车载操作系统初创公司Apex.AI,而Apex.AI的主力产品Apex.OS则是基于ROS 2发展起来的。
拿到了Apex.AI公司15%股权的采埃孚方面在接受媒体采访时说:“这意味着,我们可以为客户提供AUTOSAR AP的替代方案。”
尽管AUTOSAR AP已经有了标准,但还没有落地。安波福、采埃孚、大陆这些公司提供的方案,仍然是基于AUTOSAR CP标准的接口。事实上,越来越多的OEM不太想完全用AUTOSAR去解决智能驾驶操作系统的问题。
不仅特斯拉没有用AUTOSAR AP,国内的几大造车新势力也没有用(他们用的是AUTOSAR CP+DDS)。甚至,连一些正在转型的传统车企也没打算用AUTOSAR AP。
从产业链中各方的反应来看,AUTOSAR AP“地位不稳”的原因主要有以下几个:
1.使用成本太高
冯占军博士在《AUTOSAR对基础软件开发是喜还是忧?》一文中透露,AUTOSAR的费用通常是“几百万起”,并且,针对不同的域控制器、不同的芯片需要“重复收费”,一般小厂根本吃不消。“可能还没有什么产出,几百万就花出去了”。
除购买成本高外,毕晓鹏和萧猛都提到,AUTOSAR前期的学习难度很大、学习成本也非常高。为了学会如何使用AUTOSAR,企业甚至不得不专门培训一批人,如果受培训的人临时离职了,那培训费用就打了水漂。
2.效率不高
毕晓鹏认为,AUTOSAR AP的配置非常多,它是通过配置加上一部分代码去实现自己的功能,但配置多了之后,效率不高,而且代码臃肿。
3.静态部署与动态部署的理念冲突
毕晓鹏博士提到,AUTOSAR AP其实是从AUTOSAR CP发展而来的,AUTOSAR CP是静态部署,只适用于相对简单的业务逻辑和功能,其代码是固化的,有点像以前的功能手机——功能无法改变,不可能往里面再加一个APP;但AUTOSAR AP有点像现在的智能手机,软件开发人员开发一个APP,跨平台就可以用不同手机上了,这种动态部署的理念和之前的静态部署概念不甚相同,而其方法论却是基于静态部署衍生而来的,因此在实践层面会遇到不少问题。
4.无法满足智能网联的需求
由于云端跟车端所使用的操作系统不一样,AUTOSAR只能负责车内的通信,不能支持车端到云端的通信,因而无法支持车路协同场景(车端跟云端的通信,是通过MQTT、kafka等中间件来实现的)。除此之外,AUTOSAR能否兼容车辆网联化中需要用到的数据平台、通信平台和地图平台,也存在很大的疑问。
毕晓鹏说,在发现了这些问题后,有一些OEM开始逐渐放弃AUTOSAR架构,“转而自己去研发一套更适合动态部署、成本较低的新型软件架构”。
传统车厂是从使用CP过来的,所以在惯性上,他们可能还会考虑AP是否适合智能驾驶,但慢慢地也在尝试转型。如奥迪和TTTech合作做的通信中间件——zFAS,也没有采用AP。
不同于AUTOSAR CP已经是非常标准化的东西,大家用起来没什么问题,AUTOSAR AP现在的标准也不是很完善,每年也在更新,具体AP能发展成什么样,这个谁也不知道,大家更多也是观望的态度。
毕晓鹏认为,AUTOSAR标准并不能很好地支撑自动驾驶应用和创新的发展,因此,我们有必要建立一套更适合中国智能驾驶发展、且自主可控的技术架构和生态体系。
萧猛认为,由于从AUTOSAR CP到AUTOSAR AP一脉相承,一些已经对AUTOSAR形成路径依赖的公司会坚持使用AUTOSAR AP,但在经历过招人难、开发周期长等教训之后,他们有可能转向ROS 2。
当然,以AUTOSAR为主业的公司,显然不会认可上述“涉嫌唱衰”AUTOSAR AP的观点的。
比如,Vector蔡守群就认为,AUTOSAR AP只会越来越重要,因为它是顺应车载技术不断发展的一套规范,覆盖面会越来越广。
东软睿驰茅海燕也认为,要将整车域控制器和智驾域控制器合并到统一的中央计算平台上,没有AUTOSAR AP的支持很难搞定。“不是每家公司都能像特斯拉一样自己从头搭建系统的,目前,最好的工具还是AUTOSAR AP”。