Lab3实验报告一、思考题Thinking 3.1请结合MOS中的页目录自映射应用解释代码中e->env_pgdir[PDX(UVPT)] = PADDR(e->env_pgdir) | PTE_V 的含义从虚拟地址UVPT开始往上到ULIM之间是进程自己的页表,因此在二级页表映射机制当中,页目录中也应该含有自己本身的相关映射,由虚拟地址可知其在页目录中的第[PDX(U...
OO第二单元的主题是多线程编程,旨在通过生活中的常见例子来让我们理解并掌握多线程编程思想,同时能够编写代码正确实现多线程的同步和互斥,解决线程安全和线程交互问题。本单元围绕电梯调度这个生活中极为常见的例子开展三次作业,在满足正确性的情况下,我们还需对电梯整体调度进行设计尽可能优化性能。我完成这三次作业的过程不能用轻松来形容,线程安全和线程交互中出现的问题总是让我头疼,甚至一度认为 多线程编程...
Lab2实验报告一、思考题Thinking 2.1在编写的 C 程序中,指针变量中存储的地址被视为虚拟地址,还是物理地址?MIPS 汇编程序中 lw和sw 指令使用的地址被视为虚拟地址,还是物理地址?在编写的C程序中,指针变量存储的地址为虚拟地址,MIPS汇编中lw和sw使用的地址也是虚拟地址
Thinking 2.21)从可重用性的角度,阐述用宏来实现链表的好处。在实验中定义的有关链表的宏...
Lab1实验报告一、思考题Thinking 1.1尝试分别使用实验环境中的原生 x86 工具链(gcc、ld、readelf、objdump 等)和 MIPS交叉编译工具链(带有mips-linux-gnu- 前缀,如 mips-linux-gnu-gcc、mips-linux-gnu-ld),重复其中的编译和解析过程,观察相应的结果,并解释其中向objdump传入的参数的含义objdump...
第一单元的OO在紧张与刺激中落下帷幕,回顾第一单元,真是应了吴际老师上学期在OOPre的最后讲的“一定要好好理解文法分析,不然下学期的第一单元会很痛苦”。整个Unit1就是围绕文法展开,前前后后就是让我们展开表达式,在我们做好这个蛋糕后,再用化简优化去为它裱花点缀。
第一次作业第一次作业较为简单,因为出现的是最基本的常数与幂函数,且括号最多一层,因此实现起来并不困难,只要把词法和语法分析做好...
Lab0实验报告一、思考题Thinking 0.1执行命令cat Modified.txt,观察其结果和第一次执行 add 命令之前的 status 是否一样,并思考原因这两次的结果是不一样的。第一次将git status命令结果重定向至Untracked.txt文件中时,这时的README.txt文件还未被放入暂存区,所以状态是未被追踪,而第二次进行类似操作时,README.txt文件已被...
vim编辑器的使用
命令模式
输入模式
底线命令模式
命令模式下的快捷键
i 在当前光标位置进入输入模式
a 在当前光标之后进入输入模式
I 在当前行开头进入输入模式
A 在当前行结尾进入输入模式
o 在当前光标下一行进入输入模式
O 在当前光标上一行进入输入模式
0 移动光标到当前行的开头
$ 移动光标到当前行的结尾
/ 搜索模式
n 向下继续搜索
N 向上继续搜索
...
Linux目录结构在Linux系统中,目录结构与Windows系统类似,都是树形结构,不同的是,Windows系统可以有多个树,也即其能有很多个磁盘,但Linux系统只有一棵树,即所有文件和目录都放在根目录下。Linux系统中,以“/”表示顶级目录即根目录,层次关系也通过“/”表示
路径格式
绝对路径:即以根目录“/”开头
相对路径:相对于当前工作目录下的路径,...
mips微系统设计文档构建思路本次课下需要我们用verilog语言搭建一个mips微系统。整个系统是建立在P6的基础上的,除了和相关操作相关的指令以外,其余指令均来自P6。但该微系统和我们P6搭建的CPU又是区别极大的,毕竟我们P6只是搭建了一个CPU,而本次我们需要搭建一个系统,CPU只是其中一个部分,我们还需要实现外设(计时器和中断发生器),并将CPU和外设连接起来形成一个整体也即系统。...
流水线CPU设计文档(多指令版)构建思路本次流水线CPU的搭建在上一次的基础上多增了很多指令,其中包括计算型指令,存储型指令,跳转型指令。对于新增指令,我们其实只需考虑增加这条指令后要修改原来电路的哪些东西,想明白这一点之后,我们对代码的修改便会变得得心应手起来。
数据通路图再次附上数据通路图和logisim里的单周期CPU电路搭建图。数据通路:logisim单周期CPU电路:通过这两张图,...