PA1 - 开天辟地的篇章: 最简单的计算机

在开始愉快的PA之旅之前

超级马里奥真好玩(bushi)
搞了一波ccache,没搞好,从一点弄到两点,自闭了硬是没在/.bashrc下面找到他说的那个环境变量,打算明天(10.13)去请教一下学长了
发现时间不对,折腾了下时间$ sudo systemctl restart systemd-timesyncd.service
https://zhuanlan.zhihu.com/p/77905195
10.14又重新试了一下,发现好了???在~/.bashrc的最后一行加入export PATH=/usr/lib/ccache:$PATH,但是我记得昨天也是这么做的(好像我把他加在PATH后面了?)不知道为啥今天又可以了。
image
image
可以看到确实快了不少

开天辟地的篇章

image
感觉计算机是可以没有寄存器的,毕竟图灵机就没有寄存器。事实上我觉得可以直接拿一块硬盘当寄存器()
image
计算机执行应该就是寻址-执行的循环
状态机如下
(0, x, x) -> (1, 0, x) -> (2, 0, 0) -> (3, 0, 1) -> (4, 1, 1) -> (5, 1, 2) ... -> (201, 4950, 100) -> (202 , 5050, 100)


image
至少感觉会比较容易调试,比如在使用gdb的时候

RTFSC

image

根据错误信息注释掉两行代码
image
读代码什么的还是等二周目吧
image
看来我还没太理解,先放着之后再写吧

打印寄存器

image
注意nemu/src/isa/riscv32/reg.c里面引用的这个头文件,这里折腾了好久,真心自闭
image

扫描内存

这回学聪明了,我们得先找到内存在哪,如下图
image
用对应的函数进行访问即可vaddr_read

posted @ 2022-10-15 13:04  520Enterprise  阅读(174)  评论(0编辑  收藏  举报