随笔分类 - 计算机系统原理

摘要: 引言 对于程序猿来讲,似乎越接近底层,就越显得高大上。这也算是程序猿们的共同认知吧,虽然不是所有人。今天LZ就和各位一起探讨一下TCP/IP中最高大上的一层,也就是最底层的链路层。 这一层LZ了解的还不够深刻,但是LZ还没有做硬件的打算,因此LZ觉得只要能够大致明白其原理即可,有的时候太执着了并不是阅读全文
posted @ 2014-11-02 02:19 左潇龙 阅读(9120) | 评论 (15) 编辑
摘要: 引言 最近LZ有了一点时间,于是便拿出TCP/IP的书本开始啃。开始的时候,啃起来枯燥无味,现在好不容易有点开窍,于是赶忙记录一下,生怕自己一转眼就给忘了。不过计算机系统原理就有点可惜了,最近一直没时间看,选来选去,还是觉得TCP更加重要一些,或者说现阶段更加重要一些。 好了,废话不多说,我们开始记阅读全文
posted @ 2014-09-21 01:56 左潇龙 阅读(2925) | 评论 (12) 编辑
摘要: 引言 这个系列已经很久没更新了,记得上一篇博文已经是三月份了,实在是抱歉。最近业余时间没有以前充裕了,因此更新一篇博文已经变成了一种奢侈。记得以前刚开始写的时候,最多的时候LZ一天写过3篇博文,现在想想,往事如梦。 好了,好不容易写一次,就不多说废话了,本文主要介绍一下硬件以及HCL语言的内容。 从阅读全文
posted @ 2014-06-25 01:12 左潇龙 阅读(2562) | 评论 (3) 编辑
摘要: 引言 各位猿友们好,计算机系统系列很久没更新了,实在是抱歉之极。新的一年,为了给计算机系统系列添加一些新的元素,LZ将其更改为书的原名《深入理解计算机系统》。这本书非常厚,而且难度较高,LZ看了很久才看了四章。当然,这跟LZ最近很久没翻书有关系,最近公司的事情比较多,可让LZ愁了个愁,尤其是招人的事阅读全文
posted @ 2014-03-16 20:26 左潇龙 阅读(3045) | 评论 (1) 编辑
摘要: 几个特殊的算术操作指令。阅读全文
posted @ 2013-10-28 23:44 左潇龙 阅读(2867) | 评论 (0) 编辑
摘要: 汇编当中算术与逻辑运算指令的魅力。阅读全文
posted @ 2013-10-23 23:23 左潇龙 阅读(2145) | 评论 (0) 编辑
摘要: 汇编世界的魅力。阅读全文
posted @ 2013-10-19 16:35 左潇龙 阅读(2059) | 评论 (5) 编辑
摘要: 前言 上一章我们简单介绍了IEEE浮点标准,本次我们主要讲解一下浮点运算舍入的问题,以及简单的介绍浮点数的运算。 之前我们已经提到过,有很多小数是二进制浮点数无法准确表示的,因此就难免会遇到舍入的问题。这一点其实在我们平时的计算当中会经常出现,就比如之前我们提到过的0.3,它就是无法用浮点小数准确表阅读全文
posted @ 2013-10-03 04:51 左潇龙 阅读(2862) | 评论 (0) 编辑
摘要: 2.6我们进行了二进制整数运算的最后一役,本次LZ将和各位一起进入浮点数的世界,这里没有无符号,没有补码,但是有各种各样的惊奇。倘若你真正的进入了浮点数的世界,一定会发现它原来是这么有意思,而不是像之前一样,觉得了解浮点数的内容没什么用,只要会简单的使用就行了。当然,这其中也可能有部分猿友是觉得这部阅读全文
posted @ 2013-10-01 00:22 左潇龙 阅读(6264) | 评论 (2) 编辑
摘要: 2.5我们着重介绍了二进制整数的加、减运算,本次我们继续介绍乘、除运算。本章是迄今为止最难的一章,希望各位猿友有所收获,也别忘了“点个推荐哦”。 引言 运算一直是程序运行当中一个重要的环节,而在二进制的运算过程当中,加法运算又是重中之重,它基本上奠定了二进制运算的基础。因为无论是减法还是乘法,都可以阅读全文
posted @ 2013-09-30 02:39 左潇龙 阅读(13091) | 评论 (6) 编辑
摘要: 开篇请各位猿友允许LZ啰嗦几句,最近一直在写计算机系统原理这系列文章,也已经下定决心要把这本书的内容写完。主要目的其实是为了巩固LZ的理解,另外也想把这些内容分享给猿友们,毕竟LZ觉得这些内容对程序猿的实力还是有着很大的潜在提高的。 只是这种原理性的文章写起来相对复杂与繁琐,较对起来也比较困难,因为阅读全文
posted @ 2013-09-27 22:34 左潇龙 阅读(1857) | 评论 (2) 编辑
摘要: 上一章我们简单的介绍了布尔代数以及C语言的位运算,本次我们主要来看,二进制如何表示整数,这是很重要的一章,希望各位猿友莫要错过。 C语言中的整数类型及范围 我们依然以C语言为例,C语言当中提供了多种整数类型,一共十种,位数为1、2、4、8,其中32位机器上,4位的有两种,在64位机器上,8位的有两种阅读全文
posted @ 2013-09-24 00:20 左潇龙 阅读(1732) | 评论 (2) 编辑
摘要: 布尔代数上的位运算 布尔代数是一个数学知识体系,它在0和1的二进制值上演化而来的。 我们不需要去彻底的了解这个知识体系,但是里面定义了几种二进制的运算,却是我们在平时的编程过程当中也会遇到的。这四种运算分别是或、与、非和异或。下图展示了在布尔代数的知识体系中,对这四种运算的定义。 从左至右依次是非、阅读全文
posted @ 2013-09-22 10:05 左潇龙 阅读(1918) | 评论 (0) 编辑
摘要: 上一章(1.1-1.4)LZ和各位简单的探讨了一下计算机系统中的一些基本概念,本次我们将进入一个崭新的世界。在1.1那一章当中,我们已经简单的提及了信息的概念,本次我们会逐渐深入的讨论信息的相关内容。 引言 我们很难想象,1和0这两个再简单不过的数字,给计算机科学带来了彻底的改变。对于无法与人脑相比阅读全文
posted @ 2013-09-21 19:06 左潇龙 阅读(1790) | 评论 (0) 编辑
摘要: 引言 并发与并行一直是IT界炙手可热的词汇,相信各位猿友都不会陌生。在计算机系统这本书当中,对并发与并行的解释是,并发是指一个同时具有多个活动的系统,而并行则是指的用并发使得一个系统运行的更快。 这与LZ之前的理解应该是不冲突的,在LZ之前看来,并发是一种模式,而并行是实现这种模式的手段之一。 线程阅读全文
posted @ 2013-09-21 12:59 左潇龙 阅读(2153) | 评论 (2) 编辑
摘要: 上一章LZ给各位展示了一下hello程序的简单执行过程,可以看出在这一过程当中,系统在数据的传输上花费了大量的时间。硬件开发商为了减少这种数据传输的时间成本,采用一种高速缓存的技术去减少这种时间成本。 高速缓存被置放于处理器当中,与处理器中的寄存器文件直接进行数据交换,这样大大减少了数据传输的时间成阅读全文
posted @ 2013-09-21 00:12 左潇龙 阅读(3693) | 评论 (5) 编辑
摘要: 在写本章的内容之前,LZ先做个小广告。其实也不算是什么广告,就是LZ为了和各位猿友交流方便,另外也确实有个别猿友留言或者在博客里发短消息给LZ要联系方式。因此LZ斗胆建立了一个有关《深入理解计算机系统》这本书的交流群,当然了,如果有哪位猿友有其它方面的问题,也可以在群里提出,如果LZ有能力帮忙的话会阅读全文
posted @ 2013-09-20 18:04 左潇龙 阅读(4120) | 评论 (3) 编辑
摘要: 本来LZ是打算好好研究一下JVM源码的,不过想来想去,LZ觉得应该先了解计算机系统的原理,再去研究JVM源码的精妙。因此LZ决定潜下心来好好研究下计算机系统原理,这是一个漫长的过程,因为《深入理解计算机系统》这本书很厚,而且这种书一般看起来速度不会太快。因此LZ打算做好每一个阶段的记录,有兴趣的猿友阅读全文
posted @ 2013-09-20 01:39 左潇龙 阅读(5077) | 评论 (16) 编辑