![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PA实验
DuskWatcher
这个作者很懒,什么都没留下…
展开
-
PA0-PA开发环境配置
PA开发环境配置为什么要学习PA首先进行LINUX的安装为什么要学习PA2019年3月29日,重新拾起自己最初的梦想,硬件设计。我是商学院毕业的,但是我想为中国芯片做点什么。在某位老师的指导下,决心完成整个PA实验,为了自己想做的事情疯狂一回。首先进行LINUX的安装使用的实验环境版本VM_PRO_14+CentOS-7-x86_64-Minimal-1810...原创 2019-03-30 11:19:58 · 2792 阅读 · 0 评论 -
PA1--在开始之前(运行LiteNES)
PA1–在开始之前这篇文章用来记录在愉块的PA实验之前所遇到的坑,和如何去填坑。XDG_RUNTIME_DIR not set in the environment.这个坑很明显是一个环境变量配置不全的问题,对于这个问题Google给了很多不同的方法,但是大多数都不生效。后来找到了一个可以解决问题的方法:mkdir -pv ~/.cache/xdgrexport XDG_RUNTIME_...原创 2019-04-08 11:22:08 · 2823 阅读 · 0 评论 -
PA1--实现基础设施、表达式求值和监视点
PA1 总结基础设施在实现基础实施前需要的是进行源码的阅读,并且实现寄存器的模拟。实验中已经给了提示,如果需要实现寄存器的模拟需要掌握什么是匿名。只有在了解了什么是union后才可以实现寄存器的模拟,下附实现的代码(代码永远不唯一)。 typedef struct { union{ union { uint32_t _32; ...原创 2019-04-19 15:02:48 · 26272 阅读 · 26 评论 -
PA3.2用户程序和系统调用
用户程序和系统调用加载第一个用户程序系统调用标准输出和堆栈管理!!!!!!实验手册是最好的教材!!!!!!加载第一个用户程序实验指引中说到:目前的loader只需要做一件事情: 将ramdisk中从0开始的所有内容放置在0x4000000, 并把这个地址作为程序的入口返回即可。所以这部分,我们需要用到如下两个函数size_t ramdisk_read(void *buf, size_t ...原创 2019-05-05 10:06:44 · 4345 阅读 · 1 评论 -
PA3.1 实现自陷操作
实现自陷操作操作系统中的等级制度陷发自陷操作操作系统中的等级制度首先我们需要知道的是计算机中的指令分为特权指令和非特权指令。其中特权指令大多是和操作系统底层相关的操作,如果任何程序都可以使用特权指令,那么个操作系统也就距离崩溃不久了。实验指南中用了一个银行取钱的例子来帮助大家理解什么操作系统中的等级制度。这里我话了一个简单的图片来说明如何访问非特权指令和特权指令。当一个程序需要访问非特...原创 2019-04-29 14:54:34 · 4041 阅读 · 0 评论 -
PA3 开始之前的坑
这个微博只是想记录一个大坑在nanos-lite中make ARCH=x86-nemu run时,一直报错!!显示的是nexus-am中的makefile.app生成app出错,我调试了一个小时,但是就是改不好,最后灵机一动。。是不是自己的nanos-lite文件不完整,然后重新clone了个工程把nanos-lite覆盖一下,哈哈哈,成了。。。气气气!!!!...原创 2019-04-28 10:36:12 · 3114 阅读 · 1 评论 -
PA2.3 随时更新
实现输入输出前提NEMU设备功能实现串口功能前提首先要明白实现输入输出的关键是什么!输入输出的关键时访问设备,而访问设备中的关键时实现I/O端口的编码、指令实现等。I/O的编址的主要方式分为端口映射和内存映射。这两种映射的区别优劣势就不赘述了,在任意一本OS书上或者谷歌一下都可以。接下来进入正提。NEMU设备这里主要分析的是nemu/src/device/中的代码:mmio.c(内...原创 2019-04-25 11:00:42 · 5309 阅读 · 4 评论 -
PA2.1 运行dumy
PA2.1实现dumy实现思路实现思路在进行代码编写之前,最重要的就是阅读实验手册,确保自己真的理解了实验手册中的内容,再下手也不迟,正所谓磨刀不误砍柴工。PA2实验对我来说还是有一点点的新奇,因为自己并没有接触过编译,所幸自己对计算机组成原理有一点的学习,知道指令的执行和操作过程,理解起来也就变的容易很多啦。首先,我先根据实验手册中的指示,阅读dumy-x86-nemu.txt文件,弄清楚...原创 2019-04-23 11:47:27 · 14740 阅读 · 4 评论 -
PA2.2 碎碎念
PA2.2 实现更多的指令一些碎碎念一些碎碎念其实在做PA2.1的时候就已经开始着手PA2.2的操作了,这里需要实现的指令很多,所以弄了很长的时间,并且自己不是科班出身,很多知识都只是听过,但是没有学过。对于很多指令自己在阅读386手册后还需要去谷歌再去搜索学习。做PA2.2时我还是模仿PA2.1的思路。我先把整个cputest中的文件make一边,通过查看反汇编文件列出自己需要实现的指令。...原创 2019-04-25 09:53:59 · 3543 阅读 · 0 评论