计算机为什么能进行计算

来源:互联网 发布:java串口编程实例 编辑:程序博客网 时间:2024/04/30 21:00
  1. 用二进制表示数据
  2. 用布尔代数进行运算
  3. 用电路实现布尔运算

所以电路能够进行计算,计算机就是由这样的电路构成的。已经知道,电路是能完成计算的,所以,可以设计加法,减法,乘法。。。各种电路。。。。用他们来完成各种类型的计算。

所以设计好多个原子电路,需要的时候就把他们临时组装在一起。———–这样就成了ENIAC了。

通过发展,冯洛伊曼提出了新的观点,我们不应该通过重新 ” 组合不同电路“的方式,去完成新的计算任务 .
而是通过某种命令来控制计算机,让计算机按照这种命令来运行,这种命令可以用电信号来表示。
这种命令不是临时输入到计算机,而是存在某个地方,随时可以更改;命令改了,计算机的功能也就改了。

冯洛伊曼计算机的基本组成:

    控制器:统一指挥并控制计算机各个部分协调工作    运算器:对数据进行算数运算和逻辑运算    存储器:存储操作的信息与中间结果,包括机器指令和数据。    输入设备和输出设备

冯洛伊曼计算机的工作过程:

1,在控制器的指挥下,从存储器上取出指令2.分析指令,得到计算命令和待操作数3.从存储器上取出待计算的数放入运算器4.运算器计算结果5.输出到存储器中或者输出设备。

https://d396qusza40orc.cloudfront.net/pkuic%2FA03-2-StoredPC.pdf

存储器:

存储器的度量单位: 2^10=1024 1B(Byte)=8b(bit) 1KB=1024Byte

1MB=1024KB   1GB=1024MB 1TB=1024GB 1PB=1024TB   1YB=2^10ZB=2^20EB=2^30 PB寄存器:CPU内部,用于存放待操作数和结果高速缓存:通常在CPU内部,用做数据缓存区内存:CPU想放多放不下的东东。外存.

CPU读取数据时,先从缓存中查找,找到立即读取,找不到,就用相对慢的速度,从内存中读取并且送给CPU处理,同时把这个
数据所在的数据块调入缓存中,可以使以后对整个数据的读取多从缓存中进行,不必再去内存中读取。

CPU局部性原理:
 
 CPU对数据的访问通常具有一定的局部性,
      时间局部性:如果一个内存地址正在被使用,那么在近期他很有可能还会被再次访问。
      空间局部性: 在最近的将来可能用到的信息很有可能与当前使用的信息相零。

存储器为什么能存得住数据呢?

0 0