最近有幸得到机会,可以参与到公司比较核心的业务,需要经常关注服务器的CPU,内存,磁盘IO方面的知识,遂对以前的东西,进行总结和梳理。
(一) 计算机中的硬件组成
大家仔细看看上图,认真体会,想想我们程序是怎么和计算机打交道的。
(二)冯诺依曼计算机
冯诺依曼体系结构的特点:采用二进制,硬件由五个部分组成(运算器,控制器,存储器,输入设备和输出设备),提出了“存储程序”的原理,使用同一个存储器,经由同一总线传输,程序和数据统一存储在程序的控制下自动工作。
需要特别指出的是,它的程序指令存储器和数据存储器是合并在一起的,特别要指出,它的程序指令存储器和数据存储器是合并在一起的,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。因为程序指令和数据都是用二进制码表示,且程序指令和被操作数据的地址又密切相关,所以早先选择这样的结构是合理的。
这种设计的不合理地方在于,1、随着计算机处理速度和内存容量的成长速度远大于两者之间的流量,将大量数值内存搬入搬出的操作占用了大部分的执行时间,也造成了总线的瓶颈。2、程序执行的指令是串行的,由程序计数器控制,这样使得即时相关数据准备好了,也必须遵循指令序列,影响了系统的运行速度;3、存储器是线性偏址,按顺序排序的地址访问,这样是有利于存储和执行机器语言,适用于数值计算。但高级语言中的每个操作对于任何数据类型都是通用的,不管采用何种数据结构,多维数组,二叉树还是图,最终存储器上都必须转换为一维的线性存储模型进行存储。这些因素都导致了机器语言和高级语言之间存在很大的语义差距,这些语义差距之间的映射大部分都要由编译程序来完成,在很大程度上增加了编译程序的工作量。4、冯诺依曼体系结构计算机是为逻辑和数值运算而诞生的,它以CPU为中心,IO设备与存储器间的数据传输都要经过运算器,在数值处理方面已经达到了很高的速度和精度,但对非数值数据处理效率比较低,需要在体系结构方面有改革性的突破。
主要改进如下:1、多个处理器并行执行,依靠时间上的重叠来提高处理效率,形成支持多指令流,多数据流的并行算法结构。
2、改变传统的计算机控制流的驱动工作方式,设计数据流驱动的工作方式,只要数据准备好,就可以采取并行执行相关指令。
3、跳出电信号二进制的范畴,选取其他物质作为执行部件和信息载体,如光子,量子,生物分子等。
抽空了解了一下,计算机的硬件组成,收获很多...
原文地址:https://www.cnblogs.com/gdouzz/p/8534666.html