OS_lab0
Lab0实验报告思考题Thinking 0.1题面1234567思考下列有关 Git 的问题:• 在前述已初始化的 ~/learnGit 目录下,创建一个名为 README.txt 的文件。执行命令 git status > Untracked.txt(其中的 > 为输出重定向,我们将在 0.6.3 中详细介绍)。• 在 README.txt 文件中添加任意文件内容,然后使用 add 命令,再执行命令 git status > Stage.txt。• 提交 README.txt,并在提交说明里写入自己的学号。• 执行命令 cat Untracked.txt 和 cat Stage.txt,对比两次运行的结果,体会README.txt 两次所处位置的不同。• 修改 README.txt 文件,再执行命令 git status > Modified.txt。• 执行命令 cat Modified.txt,观察其结果和第一次执行 add 命令之前的 status 是否一样,并思考原因。
回答1.cat Untracked.txt与cat Stage.txt命令输出内 ...
信号处理与信息推断
信号处理与信息推断贝叶斯定理信息推断从观察到的现象推断背后的原因
最大似然估计参考概统
ML
机器学习机器学习概念监督学习与无监督学习本质区别在于在训练数据中是否有标签,部分数据有标签的称为半监督学习。
监督学习中,输出数据分散的,称为分类问题;连续的,称为回归问题。其本质是为了最小化错误率或者残差平方和。
常会出现过拟合或欠拟合的问题。
同时需要尽量降低模型的**泛化误差(噪声+误差+偏差)**。
贝叶斯决策最小错误率贝叶斯决策已知条件类别数一定
已知各类在这d维的先验概率以及类条件概率密度
以最大后验概率作为判决函数
找后验概率最大的进行分类
目标使错误概率P(e)达到最小,
根据错误概率定义以及图像分析,后验概率曲线交点为最优点。
最小风险贝叶斯决策目标使期望风险最小
若对每个决策,都使其条件风险最小
朴素贝叶斯决策属性条件独立性假设:假设各属性独立地分类结果产生影响
贝叶斯估计将待估计参数当作符合某种先验概率分布的随机变量,在对样本观测过程中,将先验概率密度修正为后验概率密度。
ML往年题涉及方面2019秋
贝叶斯决策,最小风险和最小错误率。
决策树中ID3和C4.5的两种算法区别,预剪枝和后剪枝基本思想和优缺点。
SVM基本思想,模型表达式,软硬间隔的物理含义,如何解 ...
OS实验
OS实验OS采用MIPS32的相关补充MIPS Calling Convention
一个栈帧一般由5个部分组成:
用于本地数据存储的部分,函数会为此区域内所有局部变量保留足够存储空间,包括要在函数调用前后保留的任何临时寄存器值的空间
(Pad,空白填充)作用是为了确保栈帧总大小是8字节的倍数,确保上方局部数据存储部分是双字对齐,与64位体系结构的双字读取指令兼容。不一定存在,需要根据具体情况给出分配。一般来说是一个字,因为假若原本的字的个数是偶数,则字节数一定能整除8(一个字4个字节的话);若为奇数,只需要Pad填充一个字即可得到偶数字,因此至多只需要一个Pad。
返回地址部分,即存储$ra值的部分。只有在函数内部需要调用其他函数的时候才需要。
保留寄存器部分,保存当前子函数被调用时,当前子函数需要保存的寄存器(如:$S0 到 $s7)的值,在当前函数中就可以随意使用这些寄存器了,注意:在当前子函数返回前需要将相应寄存器的值给返回回去。这样一来父函数认为完全没有发生改变。
参数部分,父函数调用子函数时会将子函数需要的参数传入此处,实现对函数调用时的传参。注意:由于$a0-$a3只要 ...
算法
算法杂项滑动窗口与双指针定长滑动窗口将窗口长度固定,移动左右边界left和right来维护长度。一些基础题:leetcode:定长字串中元音字母的最大数目等。进阶题:存在重复元素|||等。
KMP算法前缀函数某一字符串的所有不包含自身的相同前后缀中长度最长的值,记为Π。例如:ATAATA的前缀值Π = 3.对于一个字符数组,可以用数组Π[i]表示到第(i + 1)个字符形成的字符串的Π值。例如:对ATAATA的Π[] = [0, 0, 1, 1, 2, 3].那么想要对于主串S判断其中是否存在字串s,只需要将s和S通过特殊的字符’#’连接起来,并计算Π数组,其中只要有数组值刚好等于s.len即可说明s存在于S中,否则不存在;注意:此处的特殊字符不一定一定是’#’,但一定是不存在于主串中的字符。接下来就是对于Π数组的计算,由于对于第一个字符没有前后缀,因此其Π值刚好是0,而此后的字符stri,可以比较str[Π[i - 1]]与str[i]的关系。若相等,则说明,Π[i]就是在Π[i - 1]的基础上加1;反之,进一步去比较str[Π[Π[i - 1] - 1 ...
CO理论重点与易错点
计组理论重点与易错点Cache1.时间局部性:最近的未来要用到的信息,很可能是现在正在使用的数据,因为程序中存在循环和需要多次重复执行的子程序段,以及对数组的存储和访问操作。
空间局部性:最近的未来要用到的信息,很可能与现在正在使用的信息在存储空间上是邻近的,因为指令通常是顺序存放、执行指令的,数据也一般是以向量、数组等形式簇聚地存储的。
2.Cache与主存间按数据块为单位进行数据交换,Cache与CPU之间以字为单位进行数据交换。
3.CPU与Cache间数据交换以字为单位,而Cache与主存间的数据交换以Cache块为单位。
4.当集中访问的存储区超过Cache组的大小时,命中率可能变得很低,这种现象被称为抖动。
5.Cache一致性问题:主要针对写操作。
一、写命中:
1).全写法/直写法:CPU对Cache写命中时,必须将数据同时写入Cache和主存,实现简单,能够随时保持主存数据的正确性。但增加了访存次数。改进:写缓冲,CPU写命中时同时写入Cache和写缓冲(位于Cache和主存之间的一个FIFO队列)中,其可解决速度不匹配问题,但若出现频繁写会使写缓冲饱和溢出 ...
P7_L0_document
P7_L0_document设计草稿任务清单新增加指令:
eret:COP0== 010000、func ==011000,PC <- CP0[EPC]
mfc0:COP0== 010000、rs(原来rs的地方)== 00000,GRF[rt] <- CP0[rd]
mtc0:COP0 == 010000、rs(原来rs的地方) == 00100,CP0[rd] <- GRF[rt]
syscall:op == 000000、func == 001100
任务
解释
计时器
课程组提供代码,理解应用即可
系统桥
为CPU提供统一的访问外设的接口,需按规格自行实现
协处理器CP0
设置CPU的异常处理功能,反馈CPU的异常信息,需按规格自行实现
内部异常检测与流水
CPU需可检测内部指令执行错误的能力
外部中断响应
CPU需有初步相应外部中断信号的能力
异常处理指令
异常处理程序 ...
P6_L0_document
P6_L0_document设计草稿设计说明支持如下指令集:
add, sub, and(op==0, func==100100), or(func == 100101), slt(func == 101010), sltu(func == 101011), lui ,addi(op ==001000), andi(op==001100), ori ,lb(op == 100000), lh(op==100001), lw, sb(op == 101000), sh(op == 101001), sw, mult(func == 011000), multu(func==011001), div(func == 011010), divu(func == 011011), mfhi(func ...
P5_L0_document
P5设计草稿设计要求使用Verilog语言设计一个支持add、sub、ori、lw、sw、beq、lui、jal、jr、nop指令集的五级流水线设计。
1.对于b类和j类指令,流水线设计必须支持延迟槽,需要注意使用PC@D+8或PC@F+4(跳转指令在D阶段时)。
2.为了解决数据冒险而设计的转发数据来源应是是某一级流水线寄存器,不允许对功能部件的输出直接进行转发。
3.IM:容量为 16KiB(4096 × 32bit)。DM:容量为 12KiB(3072 × 32bit)。
大致思路先不考虑数据冒险问题,将正常运行的流水线CPU框架搭起来,再根据相关指令添加相应的冒险解决通路(如重定向、阻塞和刷新等方式),并且并不把因冒险导致增加的相关数据通路(除冲突判断信号的产生外)模块化,减轻课上加指令时的压力。
数据通路通过将单周期处理器分解成由5个流水线阶段(F(取指)、D(译码)、E(运算)、M(访存)、W(回写))构成的流水线处理器来提高CPU的吞吐量。
为保证每一个流水线阶段相应的指令时间下的状态值正确,需要在不同阶段间增加流水线寄存器堆来维持相应阶段的状态,以提供数据的流水级的简 ...
P4_L0_document
P4课下目标将P3中使用Logisim搭建的MIPS单周期CPU电路转用Verilog HDL描述,并在其基础上支持更多指令。
完成的只是从Logisim电路到Verilog代码的映射。
设计草稿整体设计
具体模块化与层次化设计单周期处理器顶层模块、控制器和数据通路,放置在顶层目录下。code.txt存储相应的机器码。处理器为32位单周期处理器,不考虑延迟槽,支持指令为add, sub, ori, lw, sw, beq, lui, jal, jr, nop,nop为空指令,不进行任何操作,add, sub 按无符号加减法处理(不考虑溢出)。
控制器模块用一个独立的Verilog HDL文件,实现控制器这个单一的职责,降低模块间耦合度。
顶层目录其中每个module都由一个独立的Verilog HDL文件组成。
顶层文件为mips.v,有效驱动信号要求包括且仅包括同步复位信号 reset 和时钟信号 clk,接口定义如下:
1234module mips( input clk, input reset);
数据通路设计P3遗产(我的丑陋的数据通路图)
注意根据设计的数据通 ...





