深入理解计算机系统【三】

  机器级表示。今天断断续续看了2小时,粗读了这章一半的内容。

  计算机底层是01;但可读性不好,所以有了汇编语言。但汇编语言可读性也很差,所以又有了编译器,形成了各种贴近人类语言的Java、C之类的。

  还一直以为自己干的是把人语言翻译成计算机呢,原来也是个中间层。

  为什么要理解汇编?我想到了平常工作时的需求理解。现场的需求先和现场实施说,实施再找我们这边的设计,最后才到我们开发这里。这样子的需求往往就失真了许多。做出来的效果往往就不是很好,我一般都会采用开发完后多次发现场验证的方式来解决。

  汇编在计算机中的角色可能就相当于现场实施吧,编译器翻译我们的代码,但不一定是效率最高的写法,所以得看懂编译后的代码才能针对性优化代码性能。然而日常工作并没用到,工作中的系统似乎最大的性能问题还是SQL执行过慢。

  历史故事是我最喜欢看的,Intel是做处理器的,性能是平均18个月性能就会提升一倍,已经持续50多年,这是计算机革命基础。

  指令集,似乎也是一种抽象,用的最多的指令抽象成指令集?内存里面则是虚拟地址,抽象成一个巨大的字节数组。

  数据存放在寄存器或内存,操作数的可能有三种:立即数、寄存器、内存引用。嗯,,可能就是平常写代码时头疼的引用对象出现的原因吧。

原文地址:https://www.cnblogs.com/weixin-tt/p/11567958.html