基础定义
集成电路(Integrated Circuit):CPU 和 内 存 是 由 许 多 晶 体 管 组 成 的 电 子 部 件
CPU 组成: 是用来表示计算机内部元件功能的术语,包含寄存器、控制器、运算器和时钟四个部分,各部分之间由电流信号相互连通
寄存器:用来暂存指令、数据等处理对象
控制器:负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机
运算器:负责运算从内存读入寄存器的数据
时钟:负责发出 CPU 开始计时的时钟信号
补充 时钟信号英文叫作 clock puzzle。Pentium 2 GHz 表示时钟信号的频率为2 GHz(1 GHz = 10 亿次 / 秒)。也就是说,时钟信号的频率越高,CPU 的运行速度越快。
内存:通常所说的内存指的是计算机的主存储器(main memory),主存通过控制芯片等与 CPU 相连,主要负责存储指令和数据。
补充 主存通常使用 DRAM(Dynamic Random Access Memory,动态随机存取存储器)芯片。DRAM 可以对任何地址进行数据的读写操作,但需要保持稳定的电源供给并时常刷新(确保是最新数据),关机后内容将自动清除。
汇编语言: 用助记符(memonic)来编写程序,每一个原本是电气信号的机器语言指令都会有一个与其相应的助记符,助记符通常为指令功能的英语单词的简写
补充 mov 和 add 分别是数据的存储(move)和相加(addition)的简写。汇编语言和机器语言基本上是一一对应的
高级编程语言:是指能够使用类似于人类语言的语法来记述的编程语言的总称(Java,C,C++等) 机器语言:是指 CPU 能够直接解释和执行的语言 汇编:通常我们将汇编语言编写的程序转化成机器语言的过程称为汇编 寄存器详解主要功能 32位 和 64位的操作系统的本质区别? 1 位(bit =binary digit)就是一个位数的二进制数,表示 0 或 1 的数值。32位 CPU 指的就是用 32 位的二进制数来表示数据及地址的数值。 1 位(bit =binary digit)就是一个位数的二进制数,表示 0 或 1 的数值。32位 CPU 指的就是用 32 位的二进制数来表示数据及地址的数值。 根据cpu就一次处理数据的能力,把处理器分为了32位和64位 32位操作系统可以寻址2的32次方个字节的内存范围,64位操作系统则可寻址2的64次方个字节的内存范围。换句话说,32位的操作系统理论上只能使用约4GB的内存,要是程序想使用超过4GB的内存,那么就要选择64位的操作系统。显然,64位比32的内存容量要大很多,内存容量的大小对运算速度有一定的影响,因而64位的运算速度理论上来说比32位快。 为什么通常使用 16 进制数来替代二进制数据? 二进制数的位数较多、不易理解时,通常使用十六进制数来代替二进制数(容易对照,易于理解) 我们用 A~F 来分别表示 10~15,那 么,二进制数的 4 位(0000 ~1111)就可以用十六进制数的 1 位(0~F)来表示 2的4次方是16,16种变化刚好穷尽。 对照表 条件分支和循环机制
顺序执行 是指按照地址内容的顺序执行指令
循环 是指重复执行同一地址的指令
条件分支 是指根据条件执行任意地址的指令
条件与循环方面的设计通常会用到条件限制,而条件当中的比较指令的本质又是什么呢?
比较指令 就是在 CPU 的内部做减法运算,依据计算出的值为 -1,0,1 来进行相应地址跳转
函数调用机制
使用的关键指令及功能
1、函数调用使用的是 call 指令
2、函数处理完毕后,再通过函数的出口来执行 return 命令,return 命令的功能是把保存在栈中的地址设定到程序计数器中
图:
CPU的常见指令汇总
|