计算机组成与体系结构
- 计算机系统组成
- 计算机硬件组成
- 控制器
- 运算器
- 主存储器
- 辅助存储器
- 输入设备
- 输出设备
- 计算机系统结构的分类
- 存储程序的概念
- Flynn分类
- 复杂指令集系统与精简指令集系统
- 总线
- 存储器系统
- 流水线
兜兜转转,最后还是回到了4大件,补基础,仅对学习过程中的要点进行记录,方便后面查看。个人感觉,计算机组成与体系结构整体内容是偏向硬件的,所以思考时,从硬件角度出发。
计算机系统组成
计算机硬件组成
控制器
控制器是分析和执行指令的部件,也是统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。
运算器
运算器也称为算术逻辑单元,主要功能是在控制器的控制下完成各种算术运算和逻辑运算。
主存储器
主存储器也称为内存储器(简称为“内存”或“主存”)。存储现场操作的信息与中间结果,包括机器指令和数据。
辅助存储器
辅助存储器也称为外存储器(简称为“外存”或“辅助”)。存储需要长期保存的各种信息。
输入设备
输入设备的任务是把人们编好的程序和原始数据送到计算机中,并将它们转换成计算机内部所能识别和接受的信息方式。常见的输入设备有:键盘、鼠标、扫描仪等,按输入信息的形态可分为:字符输入、图形输入、图像输入、语音输入等。
输出设备
输出设备的任务是将计算机的处理结果以人或者其他设备所能接收多形式送出计算机。常用的输出设备有:打印机、显示器等。有些设备既可以是输入设备,也可以是输出设备,如:辅助存储器、自动控制和检测系统中使用的数模转换装置等
计算机系统结构的分类
存储程序的概念
1946年6月最初由冯·诺依曼等人提出“存储程序”的概念,简要概括如下:
- 计算机(指硬件)由运算器、控制器、存储器、输入设备、输出设备五大基本部件组成,
- 计算机内部采用二进制来表示指令和数据,
- 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
而冯·诺依曼对计算机世界最大的贡献就在于“存储程序控制”概念的提出,目前绝大多数计算机仍然建立在存储程序概念的基础上。因此,通常把符合存储程序概念的计算机统称为冯·诺依曼型计算机。
但随着技术不断发展,冯·诺依曼型计算机也暴露出了其主要弱点:存储器访问会成为瓶颈。故,目前已出现了一些突破存储程序控制的计算机,统称为非冯·诺依曼型计算机,如:数据驱动的数据流计算机、需求驱动的归约计算机、模式匹配驱动的智能计算机等。
Flynn分类
1996年Michael.J.Flynn 提出根据指令流、数据流的多倍性特征对计算机系统进行分类,通常称为Flynn分类法。定义如下:
- 指令流:指机器执行的指令序列;
- 数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。
Flynn 根据不同的指令流-数据流组织方式,把计算机系统分为四类:
- 单指令流单数据流(Single Instruction stream and Single Data stream ,SISD):顺序执行的单处理器计算机,指令部件每次只对一条指令进行译码,并只对一个操作部件分配数据。
- 单指令流多数据流(Single Instruction stream and Multiple Data stream ,SIMD):以并行处理机(又称为"矩阵处理机")为代表,并行处理机包括多个重复的处理单元,由单一指令部件控制,按照同一指令流的要求为它们分配各自所需的不同数据。
- 多指令流单数据流(Multiple Instruction stream and Single Data stream ,MISD):具有n个处理单元,按n条不同指令的要求对同一数据流及其中间结果进行不同处理。一个处理单元的输出又作为另一个处理单元的输入。这类系统实际很少见到,有文献把流水线看作多个指令部件,称流水线计算机为MISD。
- 多指令流多数据流(Multiple Instruction stream and MultipleData stream ,MIMD):指能实现作业、任务、指令等各级全面并行的多机系统,如:多核处理器、多处理机等。
复杂指令集系统与精简指令集系统
指令系统的优化设计有两个截然相反的方向,一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这类计算机系统成为复杂指令系统计算机(Complex Instruction Set Computer ,CISC);
另一种是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机(Reduced Instruction Set Computer ,RISC)。
大多数RISC 采用Cache 方案,使用Cache来提高指令的速度,而且有的RISC使用两个独立的Cache 来改善性能,一个称为指令Cache ,另一个称为数据Cache ,以实现 取指令和取数据可以同时进行,互不干扰。
总线
总线是一组能为多个部件分时共享的公共信息传送线路,
- 共享:是指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;
- 分时:是指同一时刻只允许有一个部件向总线发送信息,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突。
当然,允许多个部件同时从总线上接收相同的信息。
按总线功能来划分,可分为地址总线、数据总线、控制总线三类,地址总线用于传送地址信息,数据总线用来传送数据信息,控制总线用来传送各种控制信号。