首页 > 代码库 > 计算机的组成

计算机的组成

计算机系统总体是由硬件和软件组成,硬件主要包三大件:运算器,存储器,控制器,然后外加IO设备展示出一个完整的硬件系统。软件从底层来看有操作系统,上面有应用软件,负责各种任务,通过软件硬件相结合为用户解决各种问题。

具体如下导向图:

技术分享

 

CPU包含运算器,控制器协调处理运算数据,运算器想要运算首先要从存储器里来读取数据,主要由控制器来控制完成该操作。

运算器和存储器之间存在很多线,统称为总线,bus,用来控制,三大总线如下:

控制总线:用来控制从存储器中读取数据,或从运算器里输出数据

数据总线:用来做数据传输

地址总线:用来寻址内存空间

 

存储器包括RAM,ROM等,是指具有编址功能的空间,每8位属于一个单元,相当于一个字节,每个字节都有自己的地址,用来控制器精确的读取到数据。

计算机计算1+1的整个过程类似:1 控制器选从存储器中取出加数

2 控制器选从存储器中取出被加数

3 控制器从存储器中取出运算规则,做什么样的运算

4 控制器运算出结果,再从存储器中找个没有用到的地址空间存暂存进去(输出)

CPU运算速度远远大于内存的读取速度,内存的读取速度也远远大于硬盘的读写速度,因此在CPU中存在着很多缓存,类似于1级缓存,2级缓存,3级缓存等(CPU购买时不能只看主频,还要看是否有缓存),所以说电脑的最大瓶颈一般不在CPU上而是在硬盘中,因此目前固态硬盘已经在普及到了个人PC中,硬盘的读写是由机械装置通过磁头寻道读取数据,因此很慢,和CPU的速度相比一个天一个地,因此内存也必须要比较大(如果运行比较重要的业务的时候),控制器读取数据先从硬盘中读取到内存空间上,再由内存传输到运算器中进行运算。

为什么32位的系统最大只能用到4G的内存:

计算机只有二进制,内存的地址就是32位的二进制数,总共的变化就是有2的32次方总变化(可以存储的单元),第一个地址为0000 0000 0000 0000 0000 0000 0000 0000转换为16进制就是0x00000000.

那么2^32到底是多少个? 2^32 = 4 * 1024(G) * 1024(M) * 1024(K) = 4294967296 , 就是4G 啊, 而每1个地址对应1个1个字节, 容量就是1byte, 所以2^32个地址就总共能对应应4GB 的内存容量

如果你给32位的系统配上了8GB的内存, 操作系统最多也只能给其中4GB 分配地址, 其余 4GB 是没有地址, 因为地址不够用, 所以32位系统最多支持4GB内存就是这样来的

那么64位系统呢, 对应地, 64位系统的内存地址是64位的二进制数,  0000 ...640 ~ 1111 ...641, 用十六进表示就是从Ox0000000000000000 ~ OxFFFFFFFFFFFFFFFF ,  每个地址的长度比32位的长度多1倍!   64位系统总共有多少个地址:2^64 = 2^34 *   1024(G) * 1024(M) * 1024(K)    也就是 17179869184 G4G × 4G)个地址,也就是说64位系统配上64cpu理论上支持17多亿GB的内存。

 

技术分享

 

IO设备只是用来对外部进行交互的设备,比如显示器,键盘,鼠标,打印机,复印机等等。

计算机的组成