自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zeewee1986的专栏

记录学习过程中的点点滴滴,与各位达人交流,鞭策自己不断前进!

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

原创 电子世界里的频率是怎么来的

一直都很好奇,计算机到底是如何工作的。简单说起来,程序语言经过编译,变成计算机认识的机器语言,然后CPU去取指令,然后执行,就得到了想要的结果。但是,CPU取指令,执行的过程是怎样的?另一个简单的答案,不同架构的CPU有不同的指令集,这些指令集都是按照特定的格式(0、1组合)组织在一起的,每个bit都有特定的含义,CPU的作用就是根据这样的0、1组合去做不同的事情,例如加减乘除,或者跳转。

2015-05-28 21:40:49 1425

原创 FAT32学习笔记(三)文件的删除,目录的删除,FAT32表的用途,FsInfo的作用

文件的删除在前面已经说过如何通过BPB里的各项参数去找到Data Area,从而得到文件对应的Directory Entry,最后找到文件的内容;对于目录,也是大同小异,不同之处只是更“曲折”一点,会先找到目录,去目录的“内容”里找到文件的Directory Entry,进一步,才可以找到文件内容。那么,在FAT32里,文件如何删除?实际上非常简单,FAT32文件系统在删除文件的时候,仅仅

2014-12-09 22:49:04 6516

原创 FAT32学习笔记(二)长文件名的处理,文件内容的查找,目录的处理

长文件名的处理在FAT32的directory entry里,所预留的文件名的长度是8.3格式的,也就是说,文件名是8个字符,后缀名是3个字符,长于这个的就被认为不合法。不太确定这个规定是从FAT12开始的,还是从FAT16开始的,总之在FAT32里依旧有这个限制的影子,但FAT32同样也有机制去处理更长的文件名。下面是按照第一篇文章一样的方式创建出来的FAT32文件格式的image文件,

2014-12-08 23:49:14 4420

原创 FAT32学习笔记(一)

从最简单的开始,如何在FAT32格式的U盘里找到一个文件?如果有U盘,那么可以拿实际的U盘做试验,这里可以使用一个image文件来做试验,效果一样。在整个实验过程当中,会不停的用到如下几条命令:mount test.img /mnt/umount /mnthexdump -C -s xxxx -n xxxx test.img具体含义请自行man。1 首先,创建一个FAT

2014-11-30 21:01:05 1926 1

原创 网络时间协议(NTP)

j

2014-05-06 23:57:27 2136

原创 Intel x86服务器架构中的memory访问之旅

在X86

2014-04-24 20:27:16 2015

原创 PCIE初始化时,下游设备还未分配到bus,如何访问它们?

学BIOS的都知道,访问PCI设备是通过bus:device:function来访问的。如果是CF8/CFC的方式,bus:device:function是向CF8里写,然后从CFC里读,或者向CFC里写数据;如果是memory map的方式,则直接去PCIEBase+bus:device:function的方式去读写。这里的访问是在设备已经初始化,分配了bus之后,那么,在整个系统刚启动时,是如

2013-08-23 22:00:46 2959

原创 什么是IO

CPU发出来的指令请求有memory和IO,对于memory请求,很容易理解,对应的有实际的线路,那么IO的话我就搞不明白到底是什么了。为什么发出一个IO请求,就能知道某个device需要回应?为什么是这个device响应,不是那个device呢?一个device如果有两个IO port,为什么是这个port而不是那个port?port address到底是如何发挥作用的?http

2013-08-23 21:09:11 4879

原创 CPU架构学习心得(一)

CPU从产生之初就追求更快的速度,那么提高CPU速度的方法到底有哪些?下面就从简单到复杂大致的记录下最近的一些学习心得:流水线技术。把指令细分作更小的部分,又不同的功能部件来完成。假设每条指令都可以分作4步:取指,译码,执行,写回。这4步分别由不同的功能部件来完成,流水线技术带来的好处就是:取指部件在做完指令1的取指之后,可以立即开始指令2的取指,而不需要等待指令1的“写回”完成。从单条指

2013-08-12 08:14:48 2376

原创 X86架构下Intel CPU的power management

这里不提power management的重要性,只说如何理解Intel CPU所提供的对于power management的支持。在计算机系统里,几乎所有的设备在工作的时候都需要一个时钟频率,即clock,对于CPU来说也不例外。在Intel CPU里,和clock相关的东西有以下几个:core clock:这个是CPU中运算单元实际运行的频率;core refere

2013-06-28 17:32:06 4481

原创 Implement EDKII maintain old directory

EDKII中的shell在执行起来的时候,并不会去检测当前的image(即shell.efi)是从哪个路径invoke起来的,我想是因为Intel在porting EDKII的时候就没想到会有人在shell的基础上去修改成另外一个程序,默认的就是BIOS POST结束,接着invoke这个shell.efi,从而不需要考虑当前的shell.efi是从哪里执行起来的。但在我们实际使用时,是把sh

2013-04-23 17:39:58 651

原创 EDKII中的memset

最近遇到了好几次这样的问题:unresolved external symbol memset但在程序体中又没有使用memset这个函数。第一次的时候mark掉一个while函数后不报错了,百思不得其解为什么while循环会和memset有关,但事情紧急,也就让它先过去了。今天又出现了,注释while循环已经无济于事,看来非得把它解决掉不可,就到网上搜索“edkii memset”,没想到还真

2013-03-15 16:08:10 1980

原创 C语言中的头文件

说来惭愧,居然知道现在才算是对C语言中的头文件做了一次总结,也算是编程功力的一点提升吧:C语言中的头文件(.h)大体上有两个作用:.c文件中需要用到的定义,是在.h文件中申明的。例如结构体,变量等。.c文件中需要提供出去的子程序的申明,需要在.h文件中。这样,我认为.h文件应该清晰的分开,.c文件自身要用的那部分放在一个.h文件中,要提供出去的子程序申明放在另外一个.h文件中。这样

2013-03-15 16:02:13 670

原创 Implement EDKII internal command(一)

最近在EDK II的基础上开发一个程序,实际上是把现有的基于EDK的代码移植到EDK II上。稍微写点心得。第一步,当然就是搭环境。EDK II申明的是可以在Windows,Linux下编译,支持的编译工具则非常多,在tools_def.txt 里可以看到分别的名称,例如VS2003, VS2005, GCC, DDK3790等,找到自己喜欢的,改到target.txt里的TOOL_C

2013-01-30 20:16:44 1346

原创 智能家居之语音控制家电

楼主现在还住在合租的房子里,现在的季节真心冷,晚上睡觉都要开电热毯,不然真不敢把衣服脱了往冰冷的被窝里钻。      电热毯不敢一直开着睡,因为在初中的时候听说过一起事故:一位大爷70大寿的时候,他的几个女儿送他一床电热毯,晚上开着睡觉,结果失火被烧死了!从那以后就对电热毯产生了深深的恐惧,一定要在睡着之前把它断电,不然心里不踏实。      从暖暖的被窝里爬出去关电热毯真是一件折磨人的事

2013-01-16 12:48:58 1921 1

原创 x86架构下Intel CPU里的Multi Processor的学习记录

X86架构下的产品包括Notebook, Desktop,Server,Workstation等。Notebook和Desktop里一般都只有一颗CPU,Server和Workstation则会有多颗。而随着生活水平的提高,对于CPU速度的要求越来越高,但由于工艺的原因,速度提升到一定阶段之后就无法再提升,此时,工业界想出了另外一个办法:集成多个核。这就是多核CPU的来历。这里的核称作core。

2013-01-16 12:33:37 2861

空空如也

空空如也

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

TA关注的人

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