- 第一章 CPU 简介
- 第二章 Hello,world!
- 第三章 函数开始和结束
- 第四章 栈
- Chapter 5 printf() 与参数处理
- Chapter 6 scanf()
- CHAPER7 访问传递参数
- Chapter 8 一个或者多个字的返回值
- Chapter 9 指针
- Chapter 10 条件跳转
- 第 11 章 选择结构 switch()/case/default
- 第 12 章 循环结构
- 第 13 章 strlen()
- Chapter 14 Division by 9
- chapter 15 用 FPU 工作
- Chapter 16 数组
- Chapter 17 位域
- 第 18 章 结构体
- 19 章 联合体
- 第二十章 函数指针
- 第 21 章 在 32 位环境中的 64 位值
- 第二十二章 SIMD
- 23 章 64 位化
- 24 章 使用 x64 下的 SIMD 来处理浮点数
- 25 章 温度转换
- 26 章 C99 的限制
- 27 章 内联函数
- 第 28 章 得到不正确反汇编结果
- 第 29 章 花指令
- 第 30 章 16 位 Windows
- 第 31 章 类
- 三十二 ostream
- 34.2.2 MSVC
- 34.2.3 C++ 11 std::forward_list
- 34.3 std::vector
- 34.4 std::map and std::set
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
第一章 CPU 简介
CPU 就是执行所有程序的工作单元。
词汇表
- Instruction :CPU 的原指令,例如:将数据在数据区与寄存器之间进行转移操作,对数据进行操作,算术操作。原则上每种 CPU 会有自己独特的一套指令构架(Instruction Set Architecture(ISA))。
- Machine code : CPU 的指令码(机器码),每条指令都会被译成指令码。
- Assembly Language : 汇编语言,助记码和其他一些例如宏那样的特性组成的便于程序员编写的语言。
- CPU register :CPU 寄存器,每个 CPU 都有一些通用寄存器(General Purpose Registers(GPR))。X86 有 8 个,x86-64(amd64) 有 16 个,ARM 有 16 个,最简单去理解寄存器的方法就是,把寄存器想成一个不需要类型的临时变量。想象你在用高级编程语言,并且只有 8 个 32bit 的变量。只用这些可以完成非常多的事情。
那么机器码跟程序语言有什么区别那?对于人类来讲,使用例如 C/C++, Java, Python 这样编程语言会比较简单,但是 CPU 更喜欢低级抽象的东西。但愿有一天 CPU 也能直接来执行高级语言的语句,但那肯定会非常的复杂。相反人类使用汇编语言会感觉不很方便,因为它非常的低级。而且很难用它写非常长的代码并不出现错误。有一种将高级语言转换到汇编语言的程序,它被叫做编译器。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论