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

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

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

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

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

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

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

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

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

posted on   唯心、tt  阅读(148)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示