加入收藏 | 设为首页 | 会员中心 | 我要投稿 潍坊站长网 (https://www.0536zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

为了追赶中国,他们呼吁拜登加速建设5G

发布时间:2021-02-03 15:48:27 所属栏目:动态 来源:互联网
导读:我们先来看第3行的汇编指令。因为存在寄存器引用和通过序号引用的操作数,所以使用两个%引用寄存器。%1引用的是输入操作数val,其中c表示使用rcx寄存器保存val,也就是说在执行这条汇编指令前,首先将val的值赋值到rcx寄存器中,然后汇编指令再将rcx寄存器的

我们先来看第3行的汇编指令。因为存在寄存器引用和通过序号引用的操作数,所以使用两个“%”引用寄存器。%1引用的是输入操作数val,其中c表示使用rcx寄存器保存val,也就是说在执行这条汇编指令前,首先将val的值赋值到rcx寄存器中,然后汇编指令再将rcx寄存器的值赋值到rax寄存器中。

第4行的汇编指令引用的addend是第2个输入操作数的符号名字,因为这是一个立即数,所以这个变量前面使用了c修饰符。这是GCC的一个语法,表示后面是个立即数。

第5条指令求rbx寄存器和rax寄存器的和,并将结果保存到rax寄存器中。

第6条指令中的%0引用的是输出操作数sum,这是C代码中的变量,因为sum是只写的输出操作数,所以使用约束“=”。所以第6行的汇编指令是将计算的结果存储到变量sum中。

从这段代码中我们看到,在汇编代码中使用了rbx寄存器,而rbx寄存器没有出现在输出、输入操作数中,所以内联汇编需要把rbx寄存器列入clobber list中,见第10行代码,告诉GCC汇编指令污染了rbx寄存器,如果有必要,则需要在执行内联汇编指令前自行保存rbx寄存器,执行内联汇编指令后再自行恢复rbx寄存器。

二、虚拟机切入和退出及相关的上下文保存

了解了内联汇编的语法后,接下来我们开始探讨虚拟机切入和退出部分的内联汇编指令:
 

同输出操作数相同,也可以为每个输入操作数指定名字asmSymbolicName,汇编指令中可以使用这个名字引用输入操作数。

除了使用名字引用输入操作数外,还可以使用序号引用输入操作数。输入操作数的序号以最后一个输出操作数的序号加1开始,比如输出操作数有两个,输入操作数有3个,那么需要使用%2引用第1个输入操作数,%3引用第2个输入操作数,以此类推。

除了不必以“=”或者“+”前缀开头外,输入操作数的前缀与输出操作数基本相同。除了寄存器约束外,在后面的代码中我们还会看到“i”这个约束,表示这个输入操作数是个立即数(immediate integer)。

cexpression为代码中的C变量或者表达式,需要使用括号括起来。

5. clobber list

某些汇编指令执行后会有一些副作用,可能会隐性地影响某些寄存器或者内存的值,如果被影响的寄存器或者内存并没有在输入、输出操作数中列出来,那么需要将这些寄存器或者内存列入clobber list。通过这种方式,内联汇编告知GCC,需要GCC“照顾”好这些被影响的寄存器或者内存,比如必要时需要在执行内联汇编指令前保存好寄存器,而在执行内联汇编指令后恢复寄存器的值。

接下来我们来看一个具体的例子。这个例子是一个加法运算,一个加数是val,值为100,另外一个加数是一个立即数400,计算结果保存到变量sum中:
 

2. 数据可视化

能够理解好的数据可视化的基本组成部分。能够使用数据可视化工具,包括Python的matplotlib和seaborn包和R的ggplot2包。应该了解好的数据可视化的基本组成部分:

  • 数据组件:决定如何可视化数据的重要的第一步是了解数据的类型,例如分类数据、离散数据、连续数据、时间序列数据等。
  • 几何组件:决定哪种可视化适合你的数据,例如散点图、线图、条形图、直方图、Q-Q图、平滑密度图、箱形图、多变量图以及热图等。
  • 映射组件:需要确定将什么变量用作x变量,将什么变量用作y变量。这一点很重要,尤其是当数据集是具有多个特征的多维数据集时。
  • 比例组件:决定使用哪种比例,例如线性比例、对数比例等。
  • 标签组件:包括轴标签、标题、图例、要使用的字体大小等内容。
  • 道德构成要素:确保可视化过程是真实的。在清理、汇总、操作和生成数据可视化效果时注意操作,并确保不会使用可视化效果误导或操纵受众。

3. 监督学习(预测连续目标变量)

熟悉线性回归和其他高级回归方法。能够使用scikit-learn和caret等数据包进行线性回归模型构建。具有以下能力:

  • 能够使用NumPy或Pylab执行简单的回归分析
  • 能够使用scikit-learn执行多元回归分析
  • 了解正则化的回归方法,例如Lasso回归、岭回归和弹性网络
  • 了解其他非参数回归方法,例如K近邻回归(KNR)和支持向量回归(SVR)
  • 了解评估回归模型的各种指标,例如MSE(均方误差)、MAE(平均绝对误差)和R2分数
  • 能够比较不同的回归模型

(编辑:潍坊站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!