• 2024-07-12搭建NEMU与QEMU的DiffTest环境(Socket方式)
    搭建NEMU与QEMU的DiffTest环境(Socket方式)1简述2编译NEMU2.1配置2.2修改NEMU/scripts/build.mk2.3修改isa_difftest_checkregs函数2.4修改isa_pmp_check_permission函数2.5编译3编译qemu-socket-difftest3.1修改NEMU/scripts/isa.mk3.2修改NEMU/scripts/build.
  • 2024-07-11ysyx: 指令规则的匹配
    dummy的反汇编表:80000000<_start>:80000000:00000413lis0,080000004:00009117auipcsp,0x980000008:ffc10113addisp,sp,-4#80009000<_end>8000000c:00c000ef
  • 2024-04-21NEMU PA3 - 穿越时空的旅程: 批处理系统
    frompixiv最简单的操作系统最简单的操作系统有:批处理功能有一个后台程序,当一个前台程序执行结束的时候,后台程序就会自动加载一个新的前台程序来执行这样的一个后台程序,其实就是操作系统用户程序执行结束之后,可以跳转到操作系统的代码继续执行操作系统可以加载
  • 2024-04-10PA2 - 简单复杂的机器: 冯诺依曼计算机系统
    [いちご飴--放課後]RTFSC(2)exec_once()函数函数覆盖了指令周期的所有阶段:取指,译码,执行,更新PC//nemu/src/isa/riscv32/inst.c/**可以看到每一次我们都是从内存中取出32位(uint32_t)作为指令,然后也让我们的pc+4,因为我们的内存定义为uint8_tpmem[].*/intisa_e
  • 2024-02-01PA1:nemu相关讲义
    编译中出错:提示没有<SDL2/SDL.h>头文件查看错误信息,出错的文件在abstract-machine文件夹里,叫input.c,里面引用了SDL2/SDL.h 这个头文件,但是我只在fceux文件夹里搜到了sdl.h,考虑到linux区分大小写,搜索以后,我觉得我应该是系统缺少了SDL库。sudoaptinstalllibsdl2-dev  安
  • 2024-01-26一生一芯-Linux环境搭建
    1.gdb调试1.gdb-qFilename进入gdb调试器2.(gdb)b3 在第三行添加断点 breakpoint3.(gdb)run 执行程序4.(gdb)whatisiNum 查看iNum的数据类型5.(gdb)c 继续执行程序(直到下一个断点或者之后没有断点就运行完整个程序)6.(gdb) n 一步一步执行程序7.(gdb)piNu
  • 2023-02-26NEMU PA 4 实验报告
    一、实验目的在前面的PA123中,我们分别实现了基本的运算单元,实现了各种指令和程序的装载,实现了存储器的层次结构。而在PA4中,为了让NEMU可以处理异常情况以及和外设交互,我们
  • 2023-02-26NEMU PA 3-3 实验报告
    一、实验目的在上一章PA3-2中,我们实现了分段机制,将48位的虚拟地址vaddr转换成了laddr。为什么不是paddr呢?这就要说到这一章要完成的东西:**分页机制**。从80386开始,计算
  • 2023-02-25NEMU PA 3-2 实验报告
    一、实验目的在上一章节我们完成了Cache的实现,但是这只是在速度上提高了取指和存取操作数的效率,而在访问的安全性上没有得到有效提升。在PA3-2中我们要完成的,就是在NEMU
  • 2023-02-25NEMU PA 3-1 实验报告
    一、实验目的在前面的PA1中,我们实现了CPU和FPU,在PA2中我们实现了对指令的解码和对ELF的装载,以及进一步完善了CLI调试器。那么在整个PA3中,我们将要着力于内存的相关处理,如C
  • 2023-02-24NEMU PA 1 实验报告
    课程地址:PA1-1https://www.bilibili.com/video/BV1JE411J7AKPA1-2https://www.bilibili.com/video/BV1EE411J7Y6PA1-3https://www.bilibili.com/video/BV1fE411H7nS
  • 2023-02-24NEMU PA 2-2 实验报告
    课程地址:https://www.bilibili.com/video/BV1f7411D7P6一、实验目的在PA2-1中,我们实现了了解了程序的装载和对指令的解码和执行,在这一章节我们将继续深入了解程序的装
  • 2023-02-24NEMU PA 2-1 实验报告
    课程地址:https://www.bilibili.com/video/BV1TE411P7tq一、实验目的通过PA2-0了解了汇编基础知识和如何去阅读i386手册后,在这个阶段我们就需要:了解程序执行的宏观过
  • 2023-02-24NEMU PA 2-3 实验报告
    课程地址:https://www.bilibili.com/video/BV1yC4y1s74C一、实验目的了解ELF符号表的解析进一步完善调试器的功能,理解编译器的设计原理二、实验步骤在PA2-1中实现
  • 2023-01-10一生一芯/NEMU PA3.1随笔
    保存上下文处理异常的时候需要保存寄存器内容(上下文的一部分),需要将这些内容保存下来。但是硬件不负责这些内容的保存,因此需要用软件代码来保存这些寄存器的值。riscv采用s
  • 2022-10-28yzh第六课(NEMU代码导读)笔记
    了解程序/工具行为的两种方法:1.看源码:可以得知每一处静态细节,但较繁琐2.看踪迹:容易了解运行动态行为,但不全面下手要选容易的方式:看踪迹啊啊