计算机组成原理-计算机系统概述
1.计算机系统的软硬件概念
1)硬件:计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外部设备等。
2)软件:由人们事先编制的具有各类特殊功能的程序组成,分为系统软件和应用软件。
上图将计算机的软件部分划分成了 “应用软件” 与 “系统软件” ,通过图片中的注释不难看出,“应用软件” 是无法访问 “硬件” 提供的接口的,除非通过系统软件这层介质才可以。
2、计算机系统的层次结构:
1)硬联逻辑级:第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。2)微程序级:第一级是微程序级。这级的机器语言是微指令集,程序员用微指令编写的微程序,一般是直接由硬件执行的。3)传统机器级:第二级是传统机器级,这级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释。操作4)系统级:第三级是操作系统级,从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。5)汇编语言级:第四级是汇编语言级,这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做汇编程序。6)高级语言级:第五级是高级语言级,这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。7)应用语言级:第六级是应用语言级,这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。把计算机系统按功能分为多级层次结构,就是有利于正确理解计算机系统的工作过程,明确软件,硬件在计算机系统中的地位和作用。
3.计算机组成和计算机体系结构概念
1)计算机体系结构:是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性。2)计算机系统的属性:是指站在不同计算机层级下看到的指令集、数据类型、寻址技术等。3)计算机组成:是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。eg.是否有乘法指令是结构问题,乘法指令的具体实现是组成问题。
4.计算机的基本组成
1 冯诺依曼结构特点:
冯·诺依曼计算机的特点可归结如下:
现代计算机的体系结构都被称为 “冯·诺依曼” 计算机。冯·诺依曼也是最早提出“存储程序”这个概念。什么是存储程序呢?
存储程序概念解释:就是将运行的电脑程序,以二进制代码存储在电脑的主存里面,然后运行。
上图中的 “实线” 代表计算机里面的数据线(也就是数据在计算机中要走的路)。
在上文中也明确给讲到,冯诺依曼机器是以 “运算器” 为中心的计算机。
设想数据从 “输入设备” 进入计算机之后,想要从计算机输出就必须要经过 “运算器”,这无疑让 “运算器” 变成了整个计算机中最忙的一个部件,这样一来运算器就变成了该硬件结构计算机的瓶颈。 所以要对该机型进行改进:改为以存储器为中心的机器。
上图所示,将以 “运算器” 为中心的计算机,改进成以 “以存储” 器为中心的机器。图中各个部件的功能如下:
-
运算器:用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内。
-
存储器:用来存放数据和程序。
-
控制器:用来控制、只会程序和数据的输入、运行以及处理运算结果。
-
输入设备:用来将人们熟悉的信息形式转换为机器能识别的信息形式。
-
输出设备:用来将机器运算结果转换为人民熟悉的信息形式打印或输出到显示器。
由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这量大部件往往集成在同一芯片上,因此,通常将它们合起来统称为中央处理器(CPU)。把输入设备与输出谁被简称为I/O设备。这样,现代计算机可以认为由三大部分组成:CPU、I/O、主存储器。将上图的计算机硬件从新规划一下:
现代计算机主要分为 “主机” 与 “I/O”两部分。
“主机” 是由 “主存” 与 “CPU” 构成
“CPU” 是由 “ALU” 与 “CU” 构成
了解了现代计算机的硬件分层之后,可以用一张新图示来代表现代计算机:
2 机器码 指令码
我们已经对现代计算机有了一个大致的了解,而计算机在运行过程中就需要有指令。机器的指令分为两部分组成,有“操作码”与“地址码”组成。
操作码:操作码表示机器所执行的各种操作,如取数、存数、加、减、乘、除、停机、打印等。
地址码:表示参加运算的数在存储器内的位置。
注意:机器指令的操作码和地址码都采用0、1代码的组合表示。
举例:如某机器的指令字长为16位,其中操作码占6位,地址码占10位。 如图所示:
下面以让计算机去解决一个问题的方式、让计算机去执行一个程序的方式来初体验一下机器的运行。
可见,不包括停机、输出打印工需要8不,若将上式改变,则期步骤可简化为以下5步
方式二:将上式改为
上面两种解题方式,属于我们人类的方式。将上述的运算步骤写成计算机一一对应的机器指令,就完成了运算程序的编写。前文已经讲过指令是有操作码和地址码组成的,操作码有自己的操作性质(说白了就是操作码代表着机器要干些啥活或有什么动作),下面对操作码与操作性质做举例:
操作码只是一串二进制的数字,二这串由0、1代表的数组具有明确的意义。对于上文中提到的运算例程,可以用上表中的指令写出一份运算程序的清单,方便大家理解
上面的例子就是将数据与指令都保存在了主存单元当中,这就可以认为是存储程序的计算机结构。
下面对计算机硬件进行更加细致的讲解。
3 存储器 运算器
4 控制器
5 主机完成一条指令的过程
以取数指令为例
以存数指令为例
6 总线
5.计算机硬件的主要技术指标