<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zeewee1986的专栏]]></title><description><![CDATA[记录学习过程中的点点滴滴，与各位达人交流，鞭策自己不断前进！]]></description><link>https://blog.youkuaiyun.com/zeewee1986</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zeewee1986]]></copyright><item><title><![CDATA[电子世界里的频率是怎么来的]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/46129407</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/46129407</guid><author>zeewee1986</author><pubDate>Thu, 28 May 2015 21:40:49 +0800</pubDate><description><![CDATA[一直都很好奇，计算机到底是如何工作的。
简单说起来，程序语言经过编译，变成计算机认识的机器语言，然后CPU去取指令，然后执行，就得到了想要的结果。但是，CPU取指令，执行的过程是怎样的？
另一个简单的答案，不同架构的CPU有不同的指令集，这些指令集都是按照特定的格式（0、1组合）组织在一起的，每个bit都有特定的含义，CPU的作用就是根据这样的0、1组合去做不同的事情，例如加减乘除，或者跳转。]]></description><category></category></item><item><title><![CDATA[FAT32学习笔记（三）文件的删除，目录的删除，FAT32表的用途，FsInfo的作用]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/41831989</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/41831989</guid><author>zeewee1986</author><pubDate>Tue, 09 Dec 2014 22:49:04 +0800</pubDate><description><![CDATA[文件的删除
在前面已经说过如何通过BPB里的各项参数去找到Data Area，从而得到文件对应的Directory Entry，最后找到文件的内容；对于目录，也是大同小异，不同之处只是更“曲折”一点，会先找到目录，去目录的“内容”里找到文件的Directory Entry，进一步，才可以找到文件内容。那么，在FAT32里，文件如何删除？
实际上非常简单，FAT32文件系统在删除文件的时候，仅仅]]></description><category></category></item><item><title><![CDATA[FAT32学习笔记（二）长文件名的处理，文件内容的查找，目录的处理]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/41810669</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/41810669</guid><author>zeewee1986</author><pubDate>Mon, 08 Dec 2014 23:49:14 +0800</pubDate><description><![CDATA[长文件名的处理
在FAT32的directory entry里，所预留的文件名的长度是8.3格式的，也就是说，文件名是8个字符，后缀名是3个字符，长于这个的就被认为不合法。不太确定这个规定是从FAT12开始的，还是从FAT16开始的，总之在FAT32里依旧有这个限制的影子，但FAT32同样也有机制去处理更长的文件名。
下面是按照第一篇文章一样的方式创建出来的FAT32文件格式的image文件，]]></description><category></category></item><item><title><![CDATA[FAT32学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/41625659</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/41625659</guid><author>zeewee1986</author><pubDate>Sun, 30 Nov 2014 21:01:05 +0800</pubDate><description><![CDATA[从最简单的开始，如何在FAT32格式的U盘里找到一个文件？
如果有U盘，那么可以拿实际的U盘做试验，这里可以使用一个image文件来做试验，效果一样。
在整个实验过程当中，会不停的用到如下几条命令：
mount test.img /mnt/
umount /mnt
hexdump -C -s xxxx -n xxxx test.img
具体含义请自行man。
1 首先，创建一个FAT]]></description><category></category></item><item><title><![CDATA[网络时间协议（NTP）]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/25165057</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/25165057</guid><author>zeewee1986</author><pubDate>Tue, 06 May 2014 23:57:27 +0800</pubDate><description><![CDATA[j]]></description><category></category></item><item><title><![CDATA[Intel x86服务器架构中的memory访问之旅]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/24433105</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/24433105</guid><author>zeewee1986</author><pubDate>Thu, 24 Apr 2014 20:27:16 +0800</pubDate><description><![CDATA[在X86]]></description><category></category></item><item><title><![CDATA[PCIE初始化时，下游设备还未分配到bus，如何访问它们？]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/10241263</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/10241263</guid><author>zeewee1986</author><pubDate>Fri, 23 Aug 2013 22:00:46 +0800</pubDate><description><![CDATA[学BIOS的都知道，访问PCI设备是通过bus:device:function来访问的。如果是CF8/CFC的方式，bus:device:function是向CF8里写，然后从CFC里读，或者向CFC里写数据；如果是memory map的方式，则直接去PCIEBase+bus:device:function的方式去读写。这里的访问是在设备已经初始化，分配了bus之后，那么，在整个系统刚启动时，是如]]></description><category></category></item><item><title><![CDATA[什么是IO]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/10126655</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/10126655</guid><author>zeewee1986</author><pubDate>Fri, 23 Aug 2013 21:09:11 +0800</pubDate><description><![CDATA[CPU发出来的指令请求有memory和IO，对于memory请求，很容易理解，对应的有实际的线路，那么IO的话我就搞不明白到底是什么了。
为什么发出一个IO请求，就能知道某个device需要回应？为什么是这个device响应，不是那个device呢？
一个device如果有两个IO port，为什么是这个port而不是那个port？
port address到底是如何发挥作用的？
http]]></description><category></category></item><item><title><![CDATA[CPU架构学习心得（一）]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/9822351</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/9822351</guid><author>zeewee1986</author><pubDate>Mon, 12 Aug 2013 08:14:48 +0800</pubDate><description><![CDATA[CPU从产生之初就追求更快的速度，那么提高CPU速度的方法到底有哪些？下面就从简单到复杂大致的记录下最近的一些学习心得：

流水线技术。把指令细分作更小的部分，又不同的功能部件来完成。假设每条指令都可以分作4步：取指，译码，执行，写回。这4步分别由不同的功能部件来完成，流水线技术带来的好处就是：取指部件在做完指令1的取指之后，可以立即开始指令2的取指，而不需要等待指令1的“写回”完成。从单条指]]></description><category></category></item><item><title><![CDATA[X86架构下Intel CPU的power management]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/9198543</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/9198543</guid><author>zeewee1986</author><pubDate>Fri, 28 Jun 2013 17:32:06 +0800</pubDate><description><![CDATA[这里不提power management的重要性，只说如何理解Intel CPU所提供的对于power management的支持。



在计算机系统里，几乎所有的设备在工作的时候都需要一个时钟频率，即clock，对于CPU来说也不例外。在Intel CPU里，和clock相关的东西有以下几个：


core clock：这个是CPU中运算单元实际运行的频率；core refere]]></description><category></category></item><item><title><![CDATA[Implement EDKII maintain old directory]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8840840</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8840840</guid><author>zeewee1986</author><pubDate>Tue, 23 Apr 2013 17:39:58 +0800</pubDate><description><![CDATA[EDKII中的shell在执行起来的时候，并不会去检测当前的image（即shell.efi）是从哪个路径invoke起来的，我想是因为Intel在porting EDKII的时候就没想到会有人在shell的基础上去修改成另外一个程序，默认的就是BIOS POST结束，接着invoke这个shell.efi，从而不需要考虑当前的shell.efi是从哪里执行起来的。
但在我们实际使用时，是把sh]]></description><category></category></item><item><title><![CDATA[EDKII中的memset]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8678440</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8678440</guid><author>zeewee1986</author><pubDate>Fri, 15 Mar 2013 16:08:10 +0800</pubDate><description><![CDATA[最近遇到了好几次这样的问题：unresolved external symbol memset
但在程序体中又没有使用memset这个函数。第一次的时候mark掉一个while函数后不报错了，百思不得其解为什么while循环会和memset有关，但事情紧急，也就让它先过去了。今天又出现了，注释while循环已经无济于事，看来非得把它解决掉不可，就到网上搜索“edkii memset”，没想到还真]]></description><category></category></item><item><title><![CDATA[C语言中的头文件]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8678430</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8678430</guid><author>zeewee1986</author><pubDate>Fri, 15 Mar 2013 16:02:13 +0800</pubDate><description><![CDATA[说来惭愧，居然知道现在才算是对C语言中的头文件做了一次总结，也算是编程功力的一点提升吧：
C语言中的头文件（.h)大体上有两个作用：

.c文件中需要用到的定义，是在.h文件中申明的。例如结构体，变量等。.c文件中需要提供出去的子程序的申明，需要在.h文件中。
这样，我认为.h文件应该清晰的分开，.c文件自身要用的那部分放在一个.h文件中，要提供出去的子程序申明放在另外一个.h文件中。这样]]></description><category></category></item><item><title><![CDATA[Implement EDKII internal command（一）]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8557419</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8557419</guid><author>zeewee1986</author><pubDate>Wed, 30 Jan 2013 20:16:44 +0800</pubDate><description><![CDATA[最近在EDK II的基础上开发一个程序，实际上是把现有的基于EDK的代码移植到EDK II上。稍微写点心得。


第一步，当然就是搭环境。EDK II申明的是可以在Windows，Linux下编译，支持的编译工具则非常多，在tools_def.txt 里可以看到分别的名称，例如VS2003， VS2005， GCC， DDK3790等，找到自己喜欢的，改到target.txt里的TOOL_C]]></description><category></category></item><item><title><![CDATA[智能家居之语音控制家电]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8508901</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8508901</guid><author>zeewee1986</author><pubDate>Wed, 16 Jan 2013 12:48:58 +0800</pubDate><description><![CDATA[楼主现在还住在合租的房子里，现在的季节真心冷，晚上睡觉都要开电热毯，不然真不敢把衣服脱了往冰冷的被窝里钻。
      电热毯不敢一直开着睡，因为在初中的时候听说过一起事故：一位大爷70大寿的时候，他的几个女儿送他一床电热毯，晚上开着睡觉，结果失火被烧死了！从那以后就对电热毯产生了深深的恐惧，一定要在睡着之前把它断电，不然心里不踏实。
      从暖暖的被窝里爬出去关电热毯真是一件折磨人的事]]></description><category></category></item><item><title><![CDATA[x86架构下Intel CPU里的Multi Processor的学习记录]]></title><link>https://blog.youkuaiyun.com/zeewee1986/article/details/8454452</link><guid>https://blog.youkuaiyun.com/zeewee1986/article/details/8454452</guid><author>zeewee1986</author><pubDate>Wed, 16 Jan 2013 12:33:37 +0800</pubDate><description><![CDATA[X86架构下的产品包括Notebook， Desktop，Server，Workstation等。Notebook和Desktop里一般都只有一颗CPU，Server和Workstation则会有多颗。而随着生活水平的提高，对于CPU速度的要求越来越高，但由于工艺的原因，速度提升到一定阶段之后就无法再提升，此时，工业界想出了另外一个办法：集成多个核。这就是多核CPU的来历。这里的核称作core。]]></description><category></category></item></channel></rss>