自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 gem5-parsec benchmark

parsec benchmarkgem5 fs模式运行fs模式,并远程连接运行parsec基准测试首先来梳理下在gem5模拟环境下运行parsec的大致流程:首先parsec需要运行在fs模式下需要使用配置好的parsec disk文件或者可以将parsec中的测试编译成可执行文件,然后mount到fs模式下的系统中。gem5 fs模式首先,运行fs模式需要kernel文件和di...

2019-05-30 11:17:12 1674

原创 gem5--Getting started with gem5

gem5--创建一个简单的配置脚本搭建的结构模型注:关于如何搭建gem5环境,不再进行过多的介绍。直接参照gem5的官方文档即可。http://www.m5sim.org/Main_Page 今天有了一点时间,来搞一下如何进行gem5的配置。搭建的结构模型在这里,我想搭建的是一个如下图的结构模型,这个结构模型中暂时没有考虑cache等复杂结构。首先要做的是在 gem5/configs中新...

2019-05-15 15:40:28 603

原创 PA总结和gem5学习

开个新坑做个总结做个总结PA实验已经做完了,但是目前么有太多的时间去进行后面的总结,这个后期有空再做吧~~目前处于待离职的状态,每天有大量的工作需要交接,自己的学习时间也就越来越短了。目前对于gem5的学习仅限于官网上的指引。不过有个比较有趣的事情,因为自己再企业工作,Linux的发行版本一般都是使用redhat或者redhat的子版本centos,但是再搭建gem5的环境时,发现这个环境对...

2019-05-15 08:54:00 978 2

原创 PA3.2用户程序和系统调用

用户程序和系统调用加载第一个用户程序系统调用标准输出和堆栈管理!!!!!!实验手册是最好的教材!!!!!!加载第一个用户程序实验指引中说到:目前的loader只需要做一件事情: 将ramdisk中从0开始的所有内容放置在0x4000000, 并把这个地址作为程序的入口返回即可。所以这部分,我们需要用到如下两个函数size_t ramdisk_read(void *buf, size_t ...

2019-05-05 10:06:44 4324 1

原创 PA3.1 实现自陷操作

实现自陷操作操作系统中的等级制度陷发自陷操作操作系统中的等级制度首先我们需要知道的是计算机中的指令分为特权指令和非特权指令。其中特权指令大多是和操作系统底层相关的操作,如果任何程序都可以使用特权指令,那么个操作系统也就距离崩溃不久了。实验指南中用了一个银行取钱的例子来帮助大家理解什么操作系统中的等级制度。这里我话了一个简单的图片来说明如何访问非特权指令和特权指令。当一个程序需要访问非特...

2019-04-29 14:54:34 4012

原创 PA3 开始之前的坑

这个微博只是想记录一个大坑在nanos-lite中make ARCH=x86-nemu run时,一直报错!!显示的是nexus-am中的makefile.app生成app出错,我调试了一个小时,但是就是改不好,最后灵机一动。。是不是自己的nanos-lite文件不完整,然后重新clone了个工程把nanos-lite覆盖一下,哈哈哈,成了。。。气气气!!!!...

2019-04-28 10:36:12 3102 1

原创 PA2.3 随时更新

实现输入输出前提NEMU设备功能实现串口功能前提首先要明白实现输入输出的关键是什么!输入输出的关键时访问设备,而访问设备中的关键时实现I/O端口的编码、指令实现等。I/O的编址的主要方式分为端口映射和内存映射。这两种映射的区别优劣势就不赘述了,在任意一本OS书上或者谷歌一下都可以。接下来进入正提。NEMU设备这里主要分析的是nemu/src/device/中的代码:mmio.c(内...

2019-04-25 11:00:42 5254 4

原创 PA2.2 碎碎念

PA2.2 实现更多的指令一些碎碎念一些碎碎念其实在做PA2.1的时候就已经开始着手PA2.2的操作了,这里需要实现的指令很多,所以弄了很长的时间,并且自己不是科班出身,很多知识都只是听过,但是没有学过。对于很多指令自己在阅读386手册后还需要去谷歌再去搜索学习。做PA2.2时我还是模仿PA2.1的思路。我先把整个cputest中的文件make一边,通过查看反汇编文件列出自己需要实现的指令。...

2019-04-25 09:53:59 3520

原创 PA2.1 运行dumy

PA2.1实现dumy实现思路实现思路在进行代码编写之前,最重要的就是阅读实验手册,确保自己真的理解了实验手册中的内容,再下手也不迟,正所谓磨刀不误砍柴工。PA2实验对我来说还是有一点点的新奇,因为自己并没有接触过编译,所幸自己对计算机组成原理有一点的学习,知道指令的执行和操作过程,理解起来也就变的容易很多啦。首先,我先根据实验手册中的指示,阅读dumy-x86-nemu.txt文件,弄清楚...

2019-04-23 11:47:27 14688 4

原创 PA1--实现基础设施、表达式求值和监视点

PA1 总结基础设施在实现基础实施前需要的是进行源码的阅读,并且实现寄存器的模拟。实验中已经给了提示,如果需要实现寄存器的模拟需要掌握什么是匿名。只有在了解了什么是union后才可以实现寄存器的模拟,下附实现的代码(代码永远不唯一)。 typedef struct { union{ union { uint32_t _32; ...

2019-04-19 15:02:48 26033 26

原创 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 2753

原创 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 2777

算法导论(第三版)Thomas H.Cormen

《算法导论》自第一版出版以来,已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。本书全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。所有算法都用英文和伪码描述,使具备初步编程经验的人也可读懂。全书讲解通俗易懂,且不失深度和数学上的严谨性。第二版增加了新的章节,如算法作用、概率分析与随机算法、线性编程等,几乎对第一版的各个部分都作了大量修订。 本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。本书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。 本书内容丰富,

2018-04-14

空空如也

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

TA关注的人

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