03 2023 档案

摘要:asm volatile("movl %%eax, %%cr3\n" ::"a"(pde)); // 约束:在执行这行汇编代码之前,把pde的值移入eax寄存器中 阅读全文
posted @ 2023-03-27 07:13 yinhuachen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:# 测试 system.bin 小于 100k,否则需要修改下面的 count 相当于 Makefile 中的 assert test -n "$$(find $(BUILD)/system.bin -size -100k)" 阅读全文
posted @ 2023-03-27 03:22 yinhuachen 阅读(15) 评论(0) 推荐(0) 编辑
摘要:参考:https://www.qemu.org/download/#source 0. 如果之前使用 apt 安装了qemu,先使用如下命令把qemu卸载 sudo apt --purge remove "qemu-system-*" 1. git clone https://gitlab.com/ 阅读全文
posted @ 2023-03-26 21:53 yinhuachen 阅读(134) 评论(0) 推荐(0) 编辑
摘要:答案来自chatgpt gUiw 单词转成大写 guiw 单词转成小写 阅读全文
posted @ 2023-03-26 00:15 yinhuachen 阅读(18) 评论(0) 推荐(0) 编辑
摘要:如果可以使用 vscode,安装插件 git graph, 使用图形化git工具,直接观看所有commits log。 右键选中要 checkout 的 commit,然后点击 checkout 即可 如果不能使用 vscode,参考这个回答: https://stackoverflow.com/q 阅读全文
posted @ 2023-03-25 03:35 yinhuachen 阅读(25) 评论(0) 推荐(0) 编辑
摘要:1. 符号表,符号-地址分布 使用 nm 处理 kernel.bin,就可以得到内核中每个符号对应的内存地址 阅读全文
posted @ 2023-03-25 02:21 yinhuachen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:这次经历对以后配环境挺有帮助的,打算记录下来 bochs 2.6 无法观看 GDT,要升级到 bochs 2.7,所以得想办法安装 bochs 2.7 学到的东西: 1. 不同的 Linux 版本,比如 ubuntu 和 ARCH,包的名字很可能是不同的,因此当使用 ubuntu apt 去下载 A 阅读全文
posted @ 2023-03-25 00:06 yinhuachen 阅读(621) 评论(0) 推荐(0) 编辑
摘要:-exec display/16xw $sp 阅读全文
posted @ 2023-03-24 11:16 yinhuachen 阅读(12) 评论(0) 推荐(0) 编辑
摘要:https://askubuntu.com/questions/87314/how-to-move-the-user-cache-directory-cache-out-of-the-home-directory-to-an 阅读全文
posted @ 2023-03-22 17:06 yinhuachen 阅读(25) 评论(0) 推荐(0) 编辑
摘要:TODO1:为什么果壳不在 IDU 阶段读出寄存器?而要在后端?是跟超标量、乱序有关系吗? TODO2: 修改PC难道比修改其它寄存器更快吗? TODO3: 长流水线有什么缺点? TODO4: 需要两个存储器吗?优缺点? TODO5: 气泡指令是什么?为什么可以起到阻塞的作用?比起直接阻塞有什么优缺 阅读全文
posted @ 2023-03-21 16:58 yinhuachen 阅读(66) 评论(0) 推荐(0) 编辑
摘要:https://coderwall.com/p/nckasg/map-w-to-w-in-vim vim 中支持 :command WQ wq 但是vscode的vim模式不支持,可以尝试添加 nnoremap ; :(用分号代替冒号),这样就可以避免再打出 :Wa 了 阅读全文
posted @ 2023-03-21 06:36 yinhuachen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:https://developer.aliyun.com/article/1139558?spm=a2c6h.14164896.0.0.658a70a3UaEhQO tar xf nasm-2.14.02.tar.bz2 cd nasm-2.14.02/ BUILD_LIBS=${HOME}/bui 阅读全文
posted @ 2023-03-21 05:32 yinhuachen 阅读(69) 评论(0) 推荐(0) 编辑
摘要:https://zhuanlan.zhihu.com/p/105069730 在能够使用 qemu + gdb 调试内核之后,怎么连上 vscode 呢? 看看参考的知乎文章,再看看这个视频: https://www.bilibili.com/video/BV19Y41157bK/?spm_id_f 阅读全文
posted @ 2023-03-21 01:55 yinhuachen 阅读(253) 评论(0) 推荐(0) 编辑
摘要:参考:https://foxsen.github.io/archbase/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E6%80%A7%E8%83%BD%E8%AF%84%E4%BB%B7%E4%B8%8E%E6%80%A7%E8%83%BD%E5%8 阅读全文
posted @ 2023-03-20 20:23 yinhuachen 阅读(296) 评论(0) 推荐(0) 编辑
摘要:写了个这样的代码:a[0] = 1'b1; a[5:1] = '0;结果发现整个 a 信号都会被赋值为0,以后要注意点 阅读全文
posted @ 2023-03-20 11:13 yinhuachen 阅读(205) 评论(0) 推荐(0) 编辑
摘要:git reset --soft [出错之前的 commitID] git stash git checkout 正确的分支 git stash apply git commit .... git push origin 正确的分支 --force (这个操作会直接把远端仓库的相应分支给覆盖掉,所以 阅读全文
posted @ 2023-03-18 03:25 yinhuachen 阅读(43) 评论(0) 推荐(0) 编辑
摘要:https://github.com/microsoft/WSL/issues/6389 sudo apt-get install -y bochsbiosandsudo apt-get install -y vgabiosmight help 阅读全文
posted @ 2023-03-17 02:41 yinhuachen 阅读(252) 评论(1) 推荐(1) 编辑
摘要:sudo apt --purge remove ... https://askubuntu.com/questions/151941/how-can-you-completely-remove-a-package 阅读全文
posted @ 2023-03-17 02:32 yinhuachen 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://stackoverflow.com/questions/1737095/how-do-i-disassemble-raw-16-bit-x86-machine-code objdump -D -b binary -mi386 -Maddr16,data16 mbr 注意,这个用来反汇 阅读全文
posted @ 2023-03-16 05:29 yinhuachen 阅读(185) 评论(0) 推荐(0) 编辑
摘要:x/10x 地址 即可 阅读全文
posted @ 2023-03-16 05:28 yinhuachen 阅读(14) 评论(0) 推荐(0) 编辑
摘要:使用 make -nB 把动态执行过程中的命令打印出来,然后再配合 Makefile 源码阅读 这样会好很多 阅读全文
posted @ 2023-03-15 04:10 yinhuachen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:/** Format bits as Decimal */ case class Decimal(bits: Bits) extends FirrtlFormat('d') /** Format bits as Hexidecimal */ case class Hexadecimal(bits: 阅读全文
posted @ 2023-03-15 04:10 yinhuachen 阅读(23) 评论(0) 推荐(0) 编辑
摘要:C语言、scala语言等等使用 // 作为注释的语言 find playground -iname "*.scala" | xargs cat | grep -v "^\s*//\|^$" | wc -l 阅读全文
posted @ 2023-03-14 15:07 yinhuachen 阅读(53) 评论(0) 推荐(0) 编辑
摘要:这个网站由操作系统爱好者维护 阅读全文
posted @ 2023-03-14 02:56 yinhuachen 阅读(38) 评论(0) 推荐(0) 编辑
摘要:啊 回忆一下写CPU的过程,CPU里的时序电路基本都有一个 reset 的过程 正是这个 reset 的过程,建立了程序员和硬件之间的桥梁 啊 啊 回忆一下我们买的电脑: 电脑的品牌是 惠普HP, CPU是Intel的,主板是华硕的 当开机的时候,屏幕上会显示 惠普HP 的商标 所以,firmwar 阅读全文
posted @ 2023-03-14 02:30 yinhuachen 阅读(243) 评论(0) 推荐(0) 编辑
摘要:我还以为是讲怎么设计 ALU, MDU, LSU的,结果是在讲 加法器、乘法器、除法器的设计,先skip吧 阅读全文
posted @ 2023-03-13 15:35 yinhuachen 阅读(36) 评论(0) 推荐(0) 编辑
摘要:apt-get install xorriso 来源:https://stackoverflow.com/questions/45991142/os-programming-using-grub 阅读全文
posted @ 2023-03-13 05:01 yinhuachen 阅读(56) 评论(0) 推荐(0) 编辑
摘要:来源:https://stackoverflow.com/questions/56409944/vscode-how-to-undo-split-screen-and-show-just-current-file 把命令改成下面这个 "command": "workbench.action.clos 阅读全文
posted @ 2023-03-12 23:16 yinhuachen 阅读(44) 评论(0) 推荐(0) 编辑
摘要:报错如下: Unable to init server: Could not connect: Connection refusedgtk initialization failed 原因很可能是你没有连接VGA 可以使用 echo $DISPLAY 来看看是否连接VGA 如果连接了VGA,会输出 阅读全文
posted @ 2023-03-11 17:04 yinhuachen 阅读(1359) 评论(0) 推荐(0) 编辑
摘要:啊 第一类:缓存第二类:功能单元(乘除法器) 第三类:并行/预测 第四类:指令流水线 更年轻的指令指的是更晚取到的指令 阅读全文
posted @ 2023-03-09 14:36 yinhuachen 阅读(68) 评论(0) 推荐(0) 编辑
摘要:Ctrl + Shift + R "Reload Waveform" 阅读全文
posted @ 2023-03-08 15:13 yinhuachen 阅读(43) 评论(0) 推荐(0) 编辑
摘要:啊 生产者-消费者模型可以帮助我们解决 99% 的并发问题 啊 啊 啊 啊 n=3: 有限缓冲区 啊 pc-check.py: 10W个 10W个 地检查字符,如果正确打印OK啊 上面的生产者-消费者模型还有一个问题:那就是无论队列里有没有产品(或有没有满),每个消费者和生产者都会拿锁,然后看看,这 阅读全文
posted @ 2023-03-08 05:09 yinhuachen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:很可能是因为 metals 自带的 millw 太慢了,ctrl+P -> settings, 然后给 mill 路径 设置 本机的 mill 绝对路径。 这样会快不少 阅读全文
posted @ 2023-03-07 21:44 yinhuachen 阅读(66) 评论(0) 推荐(0) 编辑
摘要:这个错误产生的原因通常是,你报错的地方使用了一个结构体,而这个结构体对于这个地方不可见 解决方案:把这个结构体的声明/头函数 include 进来,就可以了 阅读全文
posted @ 2023-03-07 20:04 yinhuachen 阅读(53) 评论(0) 推荐(0) 编辑
摘要:解决方案: 原因是,编译的时候 VERILATOR_CFLAGS 没有加上 option --trace, 加上就好了 答案来源:https://github.com/verilator/verilator/issues/903 阅读全文
posted @ 2023-03-07 19:59 yinhuachen 阅读(328) 评论(0) 推荐(0) 编辑
摘要:```make # Include variables and rules generated by menuconfig -include $(NPC_HOME)/include/config/auto.conf -include $(NPC_HOME)/include/config/auto.c 阅读全文
posted @ 2023-03-07 19:58 yinhuachen 阅读(20) 评论(0) 推荐(0) 编辑
摘要:视频:https://www.bilibili.com/video/BV1ja411h7jt/?spm_id_from=333.999.0.0&vd_source=7a1a0bc74158c6993c7355c5490fc600 啊 啊 Peterson算法实现互斥的效率其实很低 如何正确地在多处理 阅读全文
posted @ 2023-03-07 05:35 yinhuachen 阅读(110) 评论(0) 推荐(0) 编辑
摘要:地址:https://www.bilibili.com/video/BV1364y117ZB/?spm_id_from=333.788.recommend_more_video.-1&vd_source=7a1a0bc74158c6993c7355c5490fc600 AXI4-Lite 传输的三种 阅读全文
posted @ 2023-03-06 20:49 yinhuachen 阅读(119) 评论(0) 推荐(0) 编辑
摘要:x86_64 中,在刚刚调用了callq时,返回地址其实是刚好被压栈的,所以此时正好被 rsp 寄存器指向 答案来源:https://stackoverflow.com/questions/18311242/retq-instruction-where-does-it-return 阅读全文
posted @ 2023-03-05 04:53 yinhuachen 阅读(81) 评论(0) 推荐(0) 编辑
摘要:https://github.com/torvalds/linux/blob/v4.3/arch/x86/entry/syscalls/syscall_64.tbl 阅读全文
posted @ 2023-03-05 01:55 yinhuachen 阅读(21) 评论(0) 推荐(0) 编辑
摘要:先只考虑读请求: 以取指模块和内存模块为例,取指模块是发出请求的模块,因此为 Master,属于AXI4MasterModule;内存模块是响应请求的模块,因此为 Slave,属于AXI4SlaveModule 相关的通道有两个: 1. Read Address Channel 2. Read Da 阅读全文
posted @ 2023-03-03 16:43 yinhuachen 阅读(65) 评论(0) 推荐(0) 编辑
摘要:原因:python3.9 支持对 dict 类型使用 |, 而较老的版本不支持 解决方案 :1. 用更新的 python 2. 把 | 操作替换成 {**d1, **d2} 来源:https://stackoverflow.com/questions/13361510/typeerror-unsup 阅读全文
posted @ 2023-03-02 20:51 yinhuachen 阅读(587) 评论(0) 推荐(1) 编辑
摘要:啊 多一个线程,在状态机里也可以理解为多一个栈帧 啊 啊 啊 错误如下图所示 啊 啊 当只有一个人想上厕所时,只有一个旗子被举起来,因此举旗的人可以直接进厕所 当两个人都想上厕所时,看门上的名字可以判断谁先抢厕所,先抢厕所的人可以先使用厕所 啊 同时举旗时,手快的人贴的标签会被覆盖掉,从而让自己能够 阅读全文
posted @ 2023-03-02 20:38 yinhuachen 阅读(85) 评论(0) 推荐(0) 编辑
摘要:回答:最可能的原因是你新增的模块是 DPI-C 模块,在 setInLine 那里指定的 .v 文件名指定错了 记得要修改指定的 .v 文件名,还要修改 verilog 模块的模块名 阅读全文
posted @ 2023-03-02 17:28 yinhuachen 阅读(34) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示