简要龙芯体系架构
引言
概述
LoongArch为RISC的指令集架构,绝大多数指令只含有两个源操作数和一个目的操作数。
分为32位和64位两个版本。LA64应用级向下兼容LA32:采用LA32 架构的应用软件的二进制可以直接运行在兼容LA64 架构的机器上并获得相同的运行结果,但也只局限于应用软件,系统软件如OS内核不一定可以。
龙芯架构:
基础指令
非特权指令集:定义了常用的整数和浮点运算
特权指令集
扩展部分
二进制翻译扩展LBT
虚拟化扩展LVZ
向量扩展LSX
高级向量扩展LASX
指令编码格式
龙芯架构32位精简版中的所有指令均采用32位固定长度,且指令的地址都要求4字节边界对齐。不对其时发生地址异常。
指令编码的风格是:
所有寄存器操作数域都从第0比特开始从低到高依次摆放
操作码都是从第31 比特开始从高到低依次摆放。
如果指令中包含有立即数操作数,那么立即数域位于寄存器域和操作码域之间,根据不同指令类型有不同的长度。
具体来说,包含9种典型的指令编码格式
3种不含立即数的编码格式2R、3R、4R
6种含立即数的编码格式2RI8、2RI12、2RI14、2RI16、1 ...
强化学习攻防概述
深度强化学习
不同于传统机器学习的单步预测任务, 深度强化学习系统利用多步决策完成特定任务, 且连续决策之间具有高度相关性
强化学习
强化学习指的是一种智能体在环境中探索,以达成最大化特定目标的学习范式。
强化学习中最重要的两个要素分别为环境与智能体:
智能体基于环境中的状态进行探索,给出动作
智能体的动作将对环境的状态产生改变,并产生探索的奖励
强化学习可以使用马尔可夫决策过程进行建模
其数学形式表示:
环境的状态
环境的状态转移函数:使用马尔可夫的转台转移概率进行表述
智能体在与环境交互过程中获得的奖励
目标衰减因子:与环境的交互越复杂(时间/空间),获得的奖励越少
智能体与环境进行交互,通过多次尝试(epoch)尝试得到最大的奖励
基于值函数的DRL
主要通过深度神经网络逼近目标动作价值函数, 表示到达某种状态或执行某种动作得到的累积回报
基于策略梯度的DRL
将策略参数化,利用深度神经网络逼近策略
沿着策略梯度方向来调整动作,最终找到最优策略
强化学习的攻击分类
对抗样本:在训练的样本中加入特定的、人类无法分别的噪声,能对训练效果产生显著影响。
在强化学习领域。对抗样本 ...
社会计算-利用元胞自动机模拟复杂网络中的信息传递
利用元胞自动机模拟复杂网络中的信息传递
在学习网络及其存在的环境一章节时,我使用元胞自动机来对谢林模型进行了一定的探索。元胞自动机能以一种简单的方式,用数量较大的小单元来模拟复杂情景下的社会问题。
在之后的学习中,我进一步了解到了社交网络中的信息传递,对复杂网络中的信息传递,如在互联网上的信息传递产生了一定的探索兴趣。但是,社交网络具有参与人数众多、信息传递复杂的特点,难以通过直接建模对社交网络中的信息传递进行模拟。
能否使用元胞自动机对复杂网络中的信息传递进行一定的模拟?我阅读了相关文献,了解到答案是肯定的,可以使用元胞自动机来模拟复杂社交网络中的信息传递。
复杂系统
复杂系统可以认为具有两个共通的特征:由大量简单元素或主体组成、元素间存在着往往非线性的不平凡的关系。任何领域的系统只要满足了上述两点条件都可以被称为复杂系统,如大脑的神经网络、社交网络等等。在不同的场景中可以有定制的模型来描述其中的复杂性,但是是否有一种更为普适的方式来研究系统中的复杂性。
即需要一个工具,面对普遍的场景,在没有特定假设的情况下刻画系统的复杂性。信息论就可以担当这一角色:绕过复杂的非线性关系,只要能够获 ...
面向对象-Unit4-UML
UNL
希望有一种语言,可以直接提供有针对性的、分离的结构与行为描述手段,而且可以将描述元素整合起来。
面向对象中的诸多基本概念,例如封装,继承,多态,都可以使用 UML 表示。UML 与面向对象软件开发方法有着十分紧密的联系,它的诞生也是融合了众多其他面向对象图形建模技术的结果。
UML 具有极强的表达能力,为系统中不同场景及粒度下的建模提供了相应的图表语言。 UML 图表大致可以分为结构性图标和行为性图表。
提供一种面向对象式的抽象又直观的描述逻辑
抽象:把系统抽象表示为类和类之间的协同
直观:通过可视化的模型图来描述和展示系统功能、结构和行为
类图
类图的主要作用是用来显示系统中的类、接口以及它们之间的静态结构和关系。
类和接口
类图中的基本元素当然是类与接口,其中类里有类名,属性,方法三种元素,与类相类似,接口也有接口名,方法两种元素。
泛化和实现
描述类与类,类与接口,接口与接口之间两种**“纵向关系”**的是:
泛化(Generalization),使用空心三角形+实线表示
实现(Realization),使用空心三角形+虚线表示
依赖、关联、聚合、组合
类与 ...
面向对象-Unit3-JML
JML荣耀!
JML基本语法
JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言,是一种行为接口规格
语言,提供了对方法和类型的规格定义手段。所谓接口即一个方法或类型外部可见的内容。
一般而言,JML有三种主要的用法:
开展规格化设计。这样交给代码实现人员的将不是可能带有内在模糊性的自然语言描述,而是逻辑严格的规格。
针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性。这在遗留代码的维护方面具有特别重要的意义。
基于规格和源代码实现,设计覆盖性更好的自动化测试,能够自动对测试执行结果进行判断,形成测试预言(test oracle)。
注释结构
JML使用javadoc风格的注释来表达规格,这些注释通常以’@'符号开始。有两种注释方式,行注释和块注释。其中行注释的表示方式为//@annotation,块注释的方式为/* @ annotation @*/ 。
12345//@ public model non_null int [] elements/*@ contents @ @*/
关键词
pure:方法的执行 ...
操作系统-理论-文件系统
文件系统
一个进程在运行的时候,可以将一些数据保存在进程的地址空间中。但是保存到内存中的数据是临时的,当进程运行结束后,这些数据就丢失了。
因此有些数据必须保存在磁盘、光盘等外部存储设备上,长期地保存大量的数据。
三个基本要求:
能够存储大量的数据(突破地址空间限制)
长期保存:进程终止以后,数据依然存在
可以共享数据:有些数据可能会被多个不同的进程所访问;
为解决这些问题,提出“文件”的概念,把数据组织成文件的形式,用文件作为数据的存储和访问单位。
文件
文件是一组带有标识(即文件名)的、在逻辑上有完整意义的信息项的序列。
信息项:构成文件内容的基本单位,各信息项之间具有顺序关系
文件的意义由创建者和使用者进行解释
文件包含两个部分:
文件体:文件本身的内容
文件说明:文件存储和管理的相关信息
如:文件名、文件内部标识、文件存储地址、访问权限、访问时间等
文件是一个抽象概念,是一组信息的集合。其本质是一组字节序列,源于用户程序对所要输入处理的原始数据和输出结果的持久化保存的需求,并按一定规范呈现。
所有“需要长期保存”的文件都按某种组织形式存放(映射)到磁盘中。
...
操作系统-理论-磁盘管理
磁盘的工作原理
磁盘是使用最多的外部存储系统。
基本结构
基本结构为盘片+磁头。每个磁盘有多个盘片、多个磁头,对应关系是每个盘片对应两个磁头(正反两面)。
扇区:盘片被划分为多个扇区,同个磁盘中的各个盘片扇区数相同。每个磁道有着相同的扇区数。
磁道:盘片上以盘片中心为圆心,不同半径的同心圆。
柱面:==不同盘片相同半径的磁道==所组成的圆柱。
读写的顺序是:==按照柱面从外到内进行读写,在柱面内的顺序为先读同一盘面的各个扇区,再从上到下读不同盘面==(不严谨,仅代表盘片的顺序)。
磁盘的划分
硬盘实际扇区数比硬盘标签上标定的大:
固件区:于存储硬盘的固件(硬盘控制器使用);
工作区 :用户存储数据的区域,也就是硬盘标定容量的扇区
保留区:超过在固件里定义的硬盘容量的扇区部分
对于磁盘,每个磁道可利用的扇区数并不是常量。绝大多数磁盘都有一些缺陷扇区。这些无法使用的扇区会破坏地址空间的连续性,因此必须用磁盘上的其他空闲扇区来替代这些缺陷扇区。
P表:又称为永久缺陷列表,用于记录硬盘生产过程中产生的缺陷
G表:又称为增长缺陷列表,用于记录硬盘使用过程中由于磁介质性能变弱而引起的缺 ...
西瓜书读书笔记
傍晚小街路面上沁出微雨后的湿润,和煦的细风吹来,抬头看看天边的晚霞,嗯,明天又是一个好夭气。走到水果摊旁,挑了个根蒂蜷缩、敲起来声音浊响的青绿西瓜,一边满心期待着皮薄肉厚瓢甜的爽落感,一边愉快地想着,这学期狠下了工夫,基础概念弄得清清楚楚,算法作业也是信手拈来,这门课成绩一定差不了!
绪论
基本概念
通过对经验的利用,对新情况做出决策
模型:泛指从学习中获取的结果
数据集:收集到的一组数据
示例/样本:关于一个事件或对象的描述
属性:事件或对象在某方面的表现或性质
属性空间/样本空间/输入空间:属性张成的空间,是讨论的基础
特征向量:属性值组成的在样本空间中的向量
数据集包含m个示例,每个示例由d个属性描述。则每个示例由xi⃗=(xi1,xi2,...,xid)\vec{x_i}=(x_{i1},x_{i2},...,x_{id})xi=(xi1,xi2,...,xid)是d维样本空间S中的一个向量。
学习/训练:从数据中学得模型
训练数据:训练过程中使用的数据
训练样本:训练数据中的每个样本
训练集:训练样本组成的集合
假设:学的模型关于数据的某种潜在规律假设
...
《超标量处理器》读书笔记
先mark,目前读书没留电子笔记,都是纸质笔记,还没整理。这书实在是太难读了。
操作系统-理论-IO管理
IO管理概述
目的
外设管理目的
提高效率:提高IO访问效率,匹配CPU和多种不同处理速度的外设
方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用
方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型
外设管理功能
提供设备使用的用户接口:命令接口和编程接口。
设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。
设备的访问和控制:包括并发访问和差错处理。
IO缓冲和调度:目标是提高IO访问效率。
方式
CPU/Mem–接口适配器–设备控制器–外部设备
总线
总线是接入IO设备的主要方式。
总线带宽=频率*宽度,字节/秒
软件角度
用户进程在运行过程中,提出IO请求,一旦请求被操作系统接受,操作系统则负责完成该请求。
把硬件设备抽象为控制器。控制器中包含控制寄存器、状态寄存器,以及一些数据的寄存器。
从操作系统角度,是通过对这些寄存器进行相应的控制,达到控制设备的目的。
在OS中,IO 设备管理可直接从应用程序或文件系统得到请求,并负责完成这个请求。它具体包括:
逻辑IO:完成设备本身无关的操作,如设备分配,设备回收,数据 ...