自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

every step

今天做不成的,明天也不会做好!

  • 博客(91)
  • 收藏
  • 关注

原创 使用 C++23 从零实现 RISC-V 模拟器(6):权限支持

本节内容增加了权限表示,设置了三种权限。当 cpu 初始化时默认的权限为 Machine 模式。此外增肌了 sret 和 mret 两个指令的对应代码及其单元测试。RISC-V定义了三种特权等级,分别是用户态(User Mode)、监管态(Supervisor Mode)、和机器态(Machine Mode)。这三种特权等级对应着不同的操作系统和应用场景,提供了不同级别的访问权限。接下来实现这三种特权模式,随后实现 sret 和 mret 指令。我们将继续直接拓展 A 和 M 标准。

2024-02-16 17:20:02 1252 1

原创 使用 C++23 从零实现 RISC-V 模拟器(5):CSR

这部分内容增加了 CSR 相关的寄存器,通过 CPU 可以直接读取,此外增加了六个 CSR 相关的指令解析及其对应的单元测试。

2024-02-16 15:23:23 1307

原创 使用 C++23 从零实现 RISC-V 模拟器(4):完善 log 支持并支持更多指令

👉🏻 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc这一节内容解析了更多的指令,并且提供了更详细的 log 输出从而进一步的定位问题。具体代码可以参考这个分支的代码:https://github.com/weijiew/crvemu/tree/lab4-load-store。

2024-02-13 17:35:17 1739

原创 使用 C++23 从零实现 RISC-V 模拟器(3):指令解析

这章内容进一解析更多的指令,此外将解析指令的过程拆分为一个单独的类,采用表格驱动的方式,将数据和逻辑分离,降低了 if else 嵌套层数过多。这部分依旧改动不多,只增加了七个指令。此外代码中细碎的变动没有完全列出来,下面只是主体部分的更新,可以尝试自己动手实现,如果简单抄一遍是没有成长的,总之需要在解决问题中加深印象。可以参考这个分支的代码:https://github.com/weijiew/crvemu/tree/lab3-inst。

2024-02-12 12:22:20 1372

原创 使用 C++23 从零实现 RISC-V 模拟器(2):内存和总线

综上,这一章节将 dram 拆分出来作为一个单独的类,为了链接 dram 又引入了 bus。并且将手动编译的过程改成函数,避免了手动执行,后续可以很方便的测试更多的指令。下一节会将解析指令的过程单独拆分为一个类,然后进一步的解析更多的指令。👉🏻 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」:https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc。

2024-02-12 12:20:19 1419

原创 使用 C++23 从零实现 RISC-V 模拟器(1):最简CPU

本节实现一个最简的 CPU ,最终能够解析add和addi两个指令。如果对计算机组成原理已经有所了解可以跳过下面的内容直接看代码实现。,本章节尾有运行的具体指令。

2024-02-12 12:19:48 1885

原创 使用 C++23 从零实现 RISC-V 模拟器

使用 C++23 从零实现的 RISC-V 模拟器,最终的模拟器可以运行操作系统。本教程参考了所写的 Rust 版本的模拟器,但是原版只写了前三章。此外也参考了对 rvemu 的改进这也是一个 Rust 版本的并且已经完结了,对 rust 版本感兴趣的可以参考上面所给出对应的链接。接下来我将会用 C++ 23 来实现,原则是即能用上的新特性全部都用上。以循序渐进的方式,最终实现一个可以运行操作系统的 RISC-V 模拟器。此外重新组织了实现方式,一定程度上降低了难度梯度。

2024-02-12 12:19:16 1181

原创 F - 喜欢下棋吗 POJ - 1321

棋盘问题Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 86480 Accepted: 39939Description在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。...

2019-08-23 21:48:17 92

原创 C - 走迷宫哈 POJ - 3984

迷宫问题Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 45885 Accepted: 25153Description定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0...

2019-08-23 21:26:33 98

原创 B - 签到+1 HRBUST - 2179(DFS)

组合Time Limit: 1000 MS Memory Limit: 32768 KTotal Submit: 508(161 users) Total Accepted: 279(153 users) Rating: Special Judge: NoDescription给出一个正整数N,从集合{1,2,3…N} 中找出所有大小为k的子集, 并按照字典序从小到大输出。Input...

2019-08-23 21:23:29 91

原创 A - 签到哈 HDU - 1241(DFS/BFS/连通域)

Oil DepositsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 54250 Accepted Submission(s): 31161Problem DescriptionThe GeoSurvComp geologi...

2019-08-23 21:16:07 118

原创 J - map容器写 HDU - 1004

Let the Balloon RiseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 166374 Accepted Submission(s): 66291Problem DescriptionContest time a...

2019-08-21 21:16:04 80

原创 I - 看病要排队 HDU - 1873

看病要排队Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17253 Accepted Submission(s): 7312Problem Description看病要排队这个是地球人都知道的常识。不过经过细心的0068的...

2019-08-21 21:14:43 119

原创 H - 愚人节的礼物 HDU - 1870

愚人节的礼物Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 16148 Accepted Submission(s): 9498Problem Description四月一日快到了,Vayko想了个愚人的好办法——送礼物。嘿嘿...

2019-08-21 21:12:44 107

原创 F - A + B HDU - 1228

A + BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20995 Accepted Submission(s): 12558Problem Description读入两个小于100的正整数A和B,计算A+B.需要注意的是...

2019-08-21 21:11:34 76

原创 G - 单词数 HDU - 2072

单词数Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 79866 Accepted Submission(s): 20286Problem Descriptionlily的好朋友xiaoou333最近很空,他想了一件没有什么意...

2019-08-21 20:48:18 88

原创 E - Tram CodeForces - 116A

E - Tram CodeForces - 116AA. Tramtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputLinear Kingdom has exactly one tram line. It has n stops, n...

2019-08-21 20:23:17 170

原创 C - u Calculate e HDU - 1012

u Calculate eTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 59314 Accepted Submission(s): 27196Problem DescriptionA simple mathematical ...

2019-08-21 19:59:47 157

原创 B - {A} + {B} HDU - 1412

{A} + {B}Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33944 Accepted Submission(s): 13626Problem Description给你两个集合,要求{A} + {B}.注:同一个...

2019-08-21 19:58:02 122

原创 A - Climbing Worm HDU - 1049

Climbing WormTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 24984 Accepted Submission(s): 17063Problem DescriptionAn inch worm is at the...

2019-08-21 19:51:28 166

原创 HDU412{A} + {B}(STL)

{A} + {B}Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33929 Accepted Submission(s): 13618Problem Description给你两个集合,要求{A} + {B}.注:同一个...

2019-08-18 20:29:34 71

原创 HDUOJ1106排序(STL)

排序Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 83261 Accepted Submission(s): 25138Problem Description输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一...

2019-08-17 16:10:50 95

原创 HDUOJ1381Crazy Search(STL/map)

Crazy SearchTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3632 Accepted Submission(s): 1314Problem DescriptionMany people like to solv...

2019-08-17 15:12:11 125

原创 HDUOJ1425sort(哈希)

sortTime Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 72971 Accepted Submission(s): 19350Problem Description给你n个整数,请按从大到小的顺序输出其中前m大的数。Inpu...

2019-08-17 10:05:28 209

原创 HDUOJ前m大的数1280(哈希)

前m大的数Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 27870 Accepted Submission(s): 9277Problem Description还记得Gardon给小希布置的那个作业么?(上次比赛的1005...

2019-08-17 09:12:26 116

原创 HDUOJ1029Ignatius and the Princess IV(排序)

Ignatius and the Princess IVTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K (Java/Others)Total Submission(s): 51690 Accepted Submission(s): 23268Problem Description“OK, yo...

2019-08-16 20:59:54 91

原创 HDUOJ1166敌兵布阵(树状数组)

敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 151598 Accepted Submission(s): 62866Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子D...

2019-08-16 19:40:05 130

原创 I - HDU - 1065

I Think I Need a HouseboatTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 16362 Accepted Submission(s): 4521Problem DescriptionFred Mappe...

2019-08-13 17:23:23 181

原创 H - HDU - 1840

EquationsTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 1992 Accepted Submission(s): 888Problem DescriptionAll the problems in this cont...

2019-08-13 17:04:13 132

原创 G - 模拟笔算过程 HDU - 1002

A + B Problem IITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 487749 Accepted Submission(s): 94133Problem DescriptionI have a very simp...

2019-08-13 16:39:44 84

原创 D - 两军交锋 HDU - 2548

两军交锋Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11052 Accepted Submission(s): 6679Problem Description话说辽军与MCA相峙多年,终于在一个秋日的早晨爆发了一次大规模的...

2019-08-13 16:33:31 386

原创 F - 2^x mod n = 1 HDU - 1395

2^x mod n = 1Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 21451 Accepted Submission(s): 6725Problem DescriptionGive a number n, find t...

2019-08-13 16:21:26 114

原创 LeetCode:#1两数之和

class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> a; for(int i=nums.size()-1;i>=0;i--){ for(int j=0;j&lt...

2019-07-30 19:06:55 175

原创 SpringMVC

需求前端点击后跳转页面的过程。用SpringMVC来实现。环境搭建流程在web.xml文件中设置依赖在web.xml文件中配置核心控制器编写SpringMVC.xml文件编写页面,和控制器类编写跳转后的页面配置tomcat服务器配置SSM的环境真恶心!!!一个BUG改一上午,找出来后发现一条语句导入错误,IDEA 的自动导入确实强大,但要仔细审慎,小心入坑。以后在总结吧。...

2019-07-30 14:18:48 79

原创 Core Java 笔记(2)

卷二第三章:XML是什么: xml 是可扩展的标记语言。类似于HTML,但又有区别。做什么: xml 文件用来传输或存储数据。XML 和 HTML 的区别:二者有本质的不同,HTML用来显示数据,而XML用于传输数据。XML是对HTML 的补充,而非替代品。结构树结构: XML采用树结构,从根部向上拓展。父元素拥有子元素,子元素之间同级,类似家族图谱,元素内包含文本内容和属性。语法...

2019-07-29 15:35:48 98

原创 Spring 实战 笔记(1)

第一章:Spring之旅为什么而生?Spring是为了替代重量级的企业级的Java技术而诞生的。尤其是EJB,提供了更为轻量级且简单的编程模型。增强了POJO的功能。而EJB随即也吸收了Spring的依赖注入(DI),面向切面编程(AOP)的优点。EJB/POJO :EJB 即 Enteprise JavaBean,是企业级应用的服务器端的组件。POJO即 Plain Ordinar...

2019-07-28 21:32:53 76

原创 Core Java 笔记(1)

前言大一下期学习了Java 这门语言,我感觉学习发的教材很烂。学起来很费解,前期一直看视频学习,虽然学到不少,但总感觉学的不扎实,前期的博客也有细碎的Java知识点,前两天基于Hexo做了一个个人博客,近期打算总结一下,把文章转移到博客上。期末的时候买了本《Java Core》 ,现在是暑假,打算把JSE的每一部分再仔细过一遍。下星期还要把Struct2搞定,学习Spring。JAVA优于C+...

2019-07-28 16:37:41 97

原创 SSH/SSM 框架

框架什么是框架?简而言之,框架是软件的半成品,将繁琐的代码封装起来,简化了开发过程中代码的重复利用,提高了效率。三大框架:SSH/SSMSSH分别是srtuct2/spring/HibernateSSM分别是Springmvc/spring/Mybats老项目使用的是SSH,现在项目一般使用SSM,二者各有优缺。三层架构web表现层MVC架构M: model封装数据库V: v...

2019-07-26 21:39:27 201

原创 Struct2框架学习

为什么使用这个框架?框架的出现是为了解决软件设计过程中的某个痛点,而struct2的出现恰恰解决了笔者在做的项目中涉及到了用户管理部分,需要做注册登陆部分,用到了struct2.Struct2 的简介有很多,这里不再赘述。学这框架的原因,个人理解为这个struct2连接了web层和业务逻辑层,实现了数据间的交互响应。而Hibernate衔接了数据库和业务逻辑层,对JDBC进行了轻量级的封...

2019-07-24 21:04:30 177

原创 Hibernate+sql2008+idea 框架搭建

框架框架是半成品的软件,具备软件的特性,作为工具使用。Hibernate一种对象映射机制,对JDBC进行了轻量级的封装。

2019-07-22 20:25:10 192

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除