1.什么叫计算机结构?

电脑系统结构是什么_电脑系统的组成及作用

计算机系统结构主要研究计算机系统的基本工作原理,以及在硬件、软件界面划分的权衡策略,建立完整的、系统的计算机软硬件整体概念。

计算机系统结构指的是什么? 是一台计算机的外表? 还是是指一台计算机内部的一块块板卡安放结构? 都不是,那么它是什么? 计算机系统结构就是计算机的的机器语言程序员或编译程序编写者所看到的外特性。所谓外特性,就是计算机的概念性结构和功能特性。用一个不恰当的比喻一,比如动物吧,它的"系统结构"是指什么呢? 它的概念性结构和功能特性,就相当于动物的器官组成及其功能特性,如鸡有胃,胃可以消化食物。至于鸡的胃是什么形状的、鸡的胃部由什么组成就不是"系统结构"研究的问题了。系统结构只管到这一层。关于计算机系统的多层次结构,用"人"这种动物的不恰当的例子列表对比如下:(这种联系很不科学,只是大家轻松一下)。

计算机系统

应用语言级

为人民服务级

高级语言级

读书、学习级

汇编语言级

语言、思维级

操作系统级

生理功能级

传统机器级

人体器官级

微程序机器级

细胞组织级

电子线路级

分子级

传统机器级以上的所有机器都称为虚拟机,它们是由软件实现的机器。软硬件的功能在逻辑上是等价的,即绝大多部分硬件的功能都可用软件来实现,反之亦然。

计算机系统结构的外特性,一般应包括以下几个方面(这也就是我们要分章学习的几个章节)把这几个方面弄清了,系统结构也就基本明确了:

(1)指令系统 (2)数据表示 (3)作数的寻址方式 (4)寄存器的构成定义 (5)中断机构和例外条件 (6)存储体系和管理 (7)I/O结构 (8)机器工作状态定义和切换 (9)信息保护。

所以在以后的学习中常回头想想这是系统结构的哪一方面,这对把握全局有好处。

这里提一下计算机系统结构的内部特性,计算机系统结构的内特性就是将那些外特性加以"逻辑实现"的基本属性。所谓"逻辑实现"就是在逻辑上如何实现这种功能,比如"上帝"给鸡设计了一个一定大小的胃,这个胃的功能是消化食物,这就是鸡系统的某一外特性,那怎么消化呢,就要通过鸡喙吃进食物和砂石,再通过胃的蠕动、依靠砂石的研磨来消化食物,这里的吃和蠕动等操作就是内特性。

还有一个就是计算机实现,也就是计算机组成的物理实现。它主要着眼于器件技术和微组装技术。拿上面的例子来说,这个胃由哪些组织组成几条肌肉和神经来促使它运动就是"鸡实现"。

据此我们可以分清计算机系统的外特性、内特性以及物理实现之间的关系。 在所有系统结构的特性中,指令系统的外特性是最关键的。因此,计算机系统结构有时就简称为指令集系统结构。我们这门课注重学习的是计算机的系统结构,传统的讲,就是处在硬件和软件之间介面的描述,也就是外特性。

这些不恰当的比喻只是帮助理解,不可强求对应,不然会有损科学的严密性。

计算机系统结构的分类

按"流"分类的方法,这是Flynn教授提出的按指令流和数据流的多倍性概念进行分类的方法。共有四大类,即:(S-single 单一的 I-instruction 指令 M-multiple 多倍的 D-data 数据)

SISD 单指令流单数据流,传统的单处理机属于SISD计算机。

SIMD 单指令流多数据流,并行处理机是SIMD计算机的典型代表。我国的YH-I型是此类计算机型。

MISD 多指令流单数据流,实际上不存在,但也有学者认为存在。

MIMD 多指令流多数据流,包括了大多数多处理机及多计算机系统。我国的YH-II型计算机是这种类型的计算机。

一般将标量流水机视为SISD类型,把向量流水机视为SIMD类型。

按"并行级"和"流水线"分类:这是在计算机系统中的三个子系统级别上按并行程度及流水线处理程度进行分类的方法。

--------------------------------------------------------------------------------

二、计算机系统的设计准则

1.只加速使用频率高的部件

这是最重要也是最广泛采用的计算机设计准则。因为加快处理频繁出现事件对系统的影响远比加速处理很少出现事件的影响要大。

2.阿姆达尔(Amdahl)定律

这个定律就是一个公式:即

应会运用此公式做一些计算或分析,所以要记住并理解其意义。

3.程序访问的局部性规律

程序访问的局部性主要反映在时间和空间局部性两个方面,时间局部性是指程序中近期被访问的信息项可能马上将被再次访问,空间局部性指那些在访问地址上相邻近的信息项很可能被一起访问。

三、计算机系统结构的发展

冯·诺依曼计算机的主要特点是:存储程序方式;指令串行执行,并由控制器加以集中控制;单元定长的一维线性空间的存储器;使用低级机器语言,数据以二进制表示;单处理机结构,以运算器为中心。

改进后的冯·诺依曼计算机使其从原来的以运算器为中心演变为以存储器为中心。 从系统结构上讲,主要是通过各种并行处理手段高提高计算机系统性能。

软件、应用和器件对系统结构发展的影响

软件应具有可兼容性,即可移植性。为了实现软件的可移植性,可用以下方法:

模拟:用软件方法在一台现有的计算机上实现另一台计算机的指令系统,这种用实际存在的机器语言解释实现软件移植的方法就是模拟。

仿真:用A机(宿主机)中的一段微程序来解释实现B机(目标机)指令系统中每一条指令而实现B机指令系统的方法称仿真,它是有部份硬件参与解释过程的。

一般将两种方法混合作用,对于使用频率高的指令用仿真方法,而对于频率低而且难于仿真实现的指令使用模拟的方法加以实现。

采用系列机的方法,可以这么说,系列机的系统结构都是一致的,如我们使用的INTEL 的80X86微机系列及其兼容机,系统结构都是一致的,当然在发展过程中它的系统结构可以得到了新的扩充,比如原来的586机器不支持MMX多媒体扩展指令集,但是后来的芯片中扩充了这些指令,使指令系统集扩大,但它们仍是同一系列的机器。这种系列机的方法主要是为了软件兼容。如上面的扩展指令,将使得以后针对这些指令优化的软件不能在以前的机子上运行(或不能发挥相应功能)导致向前兼容性不佳。但重要的是保证做到向后兼容,也就是在按某个时期推到市场上的该档机上编制的软件能不加修改地在它之后投入市场的机器上运行。

在系列机上,软件的可称植性是通过各档机器使用相同的高级语言、汇编语言和机器语言,但使用不同的微程序来实现的。

统一标准的高级语言

采用与机器型号无关的高级程序设计语言标准如FORTRAN、COBOL等,这种方法提供了在不同硬件平台、不同操作系统之间的可移植性。

开放系统:是指一种独立于厂商,且遵循有关国际标准而建立的,具有系统可移植性、交互操作性,从而能允许用户自主选择具体实现技术和多厂商产品渠道的系统集成技术的系统。

应用需求对系统结构发展的影响

计算机应用对系统结构不断提出的基本要求是高的运算速度、大的存储容量和大的I/O吞吐率。(我们要更快的主板CPU和内存、我们要更大的硬盘我们要更大的显示器更多的色彩更高的刷新频率...这就是需求)

计算机应用从最初的科学计算向更高级的更复杂的应用发展,经历了从数据处理、信息处理、知识处理以及智能处理这四级逐步上升的阶段。

器件对系统结构发展的影响

由于技术的进步,器件的性能价格比迅速提高,芯片的功能越来越强,从而使系统结构的性能从较高的大型机向小型机乃至微机下移。

综上所述:

软件是促使计算机系统结构发展的最重要的因素(没有软件,机器就不能运行,所以为了能方便地使用现有软件,就必须考虑系统结构的设计。软件最重要)

应用需求是促使计算机系统结构发展的最根本的动力(机器是给人用的,我们追求更快更好,机器就要做得更快更好。所以需求最根本)

器件是促使计算机系统结构发展最活跃的因素(没有器件就产不出电脑,器件的每一次升级就带来计算机系统结构的改进。没看见上半年刚买的机子,下半年就想把它扔进历史的垃圾堆么^_^,所以器件最活跃) 。

什么叫计算机结构?

计算机系统由三大部分构成。分别为硬件,软件,计算机网络。

硬件包括主机(主板,CPU,内存,硬盘,电源光驱等),显示器,键盘,鼠标,外部设备(打印机,扫描仪,U盘等)。

软件包括系统软件(操作系统),应用软件。

网络包括服务器,光纤,光猫,路由器等。

计算机系统的硬件结构主要由四部分组成:控制器、运算器、内存和输入输出设备,其中,控制器和运算器统称为中央处理器。简称CPU.它是计算机硬件系统的指挥中心.它包括控制器和运算器两个部件,其中,控制器的功能是控制计算机各部分协调工作,运算器则是负责计算机的算术运算和逻辑运算.

(一) 运算器

1、 算术逻辑运算单元ALU(Arithmetic and Logic Unit)

ALU主要完成对二进制数据的定点算术运算(加减乘除)、逻辑运算(与或非异或)以及移位操作。在某些CPU中还有专门用于处理移位操作的移位器。

通常ALU由两个输入端和一个输出端。整数单元有时也称为IEU(Integer Execution Unit)。我们通常所说的“CPU是XX位的”就是指ALU所能处理的数据的位数。

2、 浮点运算单元FPU(Floating Point Unit)

FPU主要负责浮点运算和高精度整数运算。有些FPU还具有向量运算的功能,另外一些则有专门的向量处理单元。

3、通用寄存器组

通用寄存器组是一组最快的存储器,用来保存参加运算的操作数和中间结果。

在通用寄存器的设计上,RISC与CISC有着很大的不同。CISC的寄存器通常很少,主要是受了当时硬件成本所限。比如x86指令集只有8个通用寄存器。所以,CISC的CPU执行是大多数时间是在访问存储器中的数据,而不是寄存器中的。这就拖慢了整个系统的速度。而RISC系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术使寄存器资源得到充分的利用。

对于x86指令集只支持8个通用寄存器的缺点,Intel和AMD的最新CPU都采用了一种叫做“寄存器重命名”的技术,这种技术使x86CPU的寄存器可以突破8个的限制,达到32个甚至更多。不过,相对于RISC来说,这种技术的寄存器操作要多出一个时钟周期,用来对寄存器进行重命名。

4、 专用寄存器

专用寄存器通常是一些状态寄存器,不能通过程序改变,由CPU自己控制,表明某种状态。

(二) 控制器

运算器只能完成运算,而控制器用于控制着整个CPU的工作。

1、 指令控制器

指令控制器是控制器中相当重要的部分,它要完成取指令、分析指令等操作,然后交给执行单元(ALU或FPU)来执行,同时还要形成下一条指令的地址。

2、 时序控制器

时序控制器的作用是为每条指令按时间顺序提供控制信号。时序控制器包括时钟发生器和倍频定义单元,其中时钟发生器由石英晶体振荡器发出非常稳定的脉冲信号,就是CPU的主频;而倍频定义单元则定义了CPU主频是存储器频率(总线频率)的几倍。

3、 总线控制器

总线控制器主要用于控制CPU的内外部总线,包括地址总线、数据总线、控制总线等等。

4、中断控制器

中断控制器用于控制各种各样的中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。