马哥Linux学习第一天第一课

一:计算机是怎样进行加法运算的

计算机是电设备,所以可以使用有电(表示1)和没电(表示0)两种状态来进行运算,也就是常说的二进制,如下图表示的是一个加法器,加入要计算2+3,就要通过通知针脚上的开关有电没电来表示0和1,进而表示输入的数字,在输入被加数的时候,要将加数放到存储起来,否则加数就会消失(因为是电信号,重新输入就以为着重新关闭合开关,之前的输入的数字就会消失),这时候就需要将加数存储到寄存器中。


二:解空间和问题空间

问题空间:对我们想要解决问题的描述,其实就是我们想要解决的问题。

解空间:CPU上能够解决该问题的指令。

要让结算及解决我们的问题,就要将问题空间映射到解空间。将问题空间总的问题映射到解空间解决办法的过程就叫做解析,也可以称为编程。

不同系列的芯片,可能会实现相同的运算结果,但内部的实现逻辑可能是不同的,也就是内部的指令集(就是解决问题的在芯片上的解决方法)是不相同的。利用芯片上的指令进行编程叫做微码编程。

三:为什么32为CPU只能识别4G内存

CPU要提取存储器中的数据,可以通过和存储器建立连线来读取,假如CPU和内存之前有4根连线,那就是只能有2的4次方16种结果,假如说有32根连线,那就是会有2^32 = 4 294 967 296种结果,

1024B=1KB 1024KB=1MB 1024MB=1GB

2^32B=2^32/1024/1024/1024=4GB

那就是说32位的CPU只能支持4G内存,64位的可以支持无限大的内存。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。