一、计算机系统概论

简介: 一、计算机系统概论

一、计算机系统简介

1.计算机软硬件概念

总结如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3NTLuFCk-1673351761520)(D:\Typora图片\image-20230110185843038.png)]

(1)硬件进行了相应的封装,对软件提供了接口。

比如提供了指令集。

(2)软件可以利用这些指令集编写能够完成这些指令功能的软件。

系统软件为硬件提供了接口,完成自己的功能。比如说对系统中的软硬件资源进行管理,为用户提供人机交互界面。

应用软件应用系统软件提供的接口,调用系统软件的功能,实现自己的功能。

2.计算机系统的层次结构

(1)现代计算机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3CIGlcCy-1673351761521)(D:\Typora图片\image-20230110190033098.png)]

(2)发展

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9efML0Z-1673351761521)(D:\Typora图片\image-20230110190056219.png)]

多层次结构:

微指令之间有一定的先后顺序,多条微指令构成了一个微程序,一个微程序对应一个机器指令。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9nKgw30-1673351761521)(D:\Typora图片\image-20230110190113369.png)]

(3)软硬件分布

(虚线为软硬件的接口)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8A7QDQhF-1673351761522)(D:\Typora图片\image-20230110190204807.png)]

3.计算机组成和计算机体系结构

区别如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vToxWZDd-1673351761523)(D:\Typora图片\image-20230110190252916.png)]

二、计算机的基本组成

1.冯诺依曼计算器

特点:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wYZ8WDrC-1673351761523)(D:\Typora图片\image-20230110190417856.png)]

以运算器为中心:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gvdczkBK-1673351761524)(D:\Typora图片\image-20230110190439800.png)]

2.计算机硬件框图

以存储器为中心:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jVTMMJvI-1673351761524)(D:\Typora图片\image-20230110190526757.png)]

现代计算机组成:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bncyfIOt-1673351761525)(D:\Typora图片\image-20230110190601587.png)]

3.计算机工作

(1)指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qAWRvzDL-1673351761525)(D:\Typora图片\image-20230110190753653.png)]

(2)计算机组成框图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xevoMlSP-1673351761526)(D:\Typora图片\647293669050711230.jpg)]

(3)思维导图(重点)

这里我将这些概念都整合在了一张思维导图里面,可能有不全的地方。

如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5JC1494Z-1673351761526)(D:\Typora图片\image-20230110190946438.png)]

(4)加减乘除操作

约定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S1St0ifG-1673351761526)(D:\Typora图片\image-20230110191212716.png)]

步骤

这里不做过多解释了,图里面写的很清楚。

记得对照框图分析。(有点糊,不懂的可以去看书或者视频)

请添加图片描述

4.分析

(1)主机完成 一条指令

有三个步骤:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QSVwtnw6-1673351761527)(D:\Typora图片\67507984698728895.jpg)]

主机结构包含了运算器、控制器和存储器。

①运算器的核心是ALU,还有三个寄存器(ACC\X\MQ)。

②控制器包含了CU,还有两个寄存器(IR\PC)。

③存储器主要包含三部分,存储体、MAR、MDR。

主机+I\O --> 计算机的硬件系统

记住这个图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vl4gnvcJ-1673351761528)(D:\Typora图片\image-20230110191758382.png)]

取数指令

==取数指令的功能==

把保存在内存单元M中的数据,取到ACC寄存器中。

为了完成这个操作,在控制器(CU)的控制之下,需要把指令中的地址部分(PC)送给存储器(MAR)。以便我们将数据从存储体中取出来。


<1> 取指令

刚才对控制器进行分析的时候,已经指出,要执行的指令的地址,保存在PC中。

指令是保存在存储体中的。

所以取指令的第一个操作,就是PC要把指令的地址送给MAR。

①PC将指令的地址送给MAR;再由MAR送给存储体。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UsUhovVZ-1673351761528)(D:\Typora图片\image-20230110191943087.png)]

②在控制器的控制下,存储体把指定存储单元中保存的那一条”取数指令”取出来,送入MDR中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-momOSbw3-1673351761528)(D:\Typora图片\image-20230110192005888.png)]

③此时指令已经在MDR中了。取出来的指令最终送入IR里面。因为IR的功能,就是保存当前正在执行的指令。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IgHM1Ten-1673351761529)(D:\Typora图片\image-20230110192030542.png)]


<2> 分析指令

把指令寄存器中保存的“指令操作码”部分送给CU。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JcHuKzxj-1673351761529)(D:\Typora图片\image-20230110192117458.png)]

在图上表示是非常简单的。

实际上大量的操作是在控制单元内部进行的。

后面再慢慢探讨。


经过译码以后,可以看见,在CU上面,有很多信号,就是有由这些信号,去控制相应的执行部件去执行指令、要求。

现在从IR开始,因为IR中保存了当前指令,同时也保存了当前这条指令操作数的地址。(IR中有指令的操作码也有地址码)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGerVXt4-1673351761529)(D:\Typora图片\image-20230110192240403.png)]

把IR的地址码部分把地址取出,送入MAR。

再由MAR将地址送入存储体。

在控制器的控制之下,从存储器中,把取数指令要取的数取出来,存入MDR中。

然后送入ACC。


解释:

第一次从PC中取指令,交给IR。

IR反馈给CU,CU经过分析发现该指令是取数指令。

数的地址在IR的取数指令中存着,然后CU告诉IR去取数,所以第二次从IR开始是取数并把数存到ACC中。

存数指令

==功能==

将ACC中保存的数据放入存储体中指定的单元。

要执行的指令的地址保存在PC中,指令保存在存储体中。


<1> 取指令

把指令从存储体中取出来。

必须要知道指令的地址(指令的地址保存在PC中)。

所以还是从PC开始。

①把指令的地址送给MAR

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCytECoo-1673351761530)(D:\Typora图片\image-20230110192528577.png)]

②由MAR送给存储体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pXTac5qs-1673351761530)(D:\Typora图片\image-20230110192547572.png)]

③在控制单元CU的控制下,从存储体指定的存储单元中,把指令取出来,放入MDR中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aOzraAgh-1673351761531)(D:\Typora图片\image-20230110192608884.png)]

④再次由控制单元控制下,把MDR取出来的指令送入IR(控制器)中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dg8dywrY-1673351761531)(D:\Typora图片\image-20230110192630455.png)]


<2> 分析指令

将IR中保存的指令的操作码部分,送给CU。由CU对指令进行分析。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-289HqQsm-1673351761531)(D:\Typora图片\image-20230110192702176.png)]

通过分析,就能知道指令要做什么样的操作。

CU就会发出相应的控制信号来完成指令要求的操作。

现在的指令是存数指令。


<3> 存数

①在CU的控制下,把IR中地址码部分送入MAR。

在这里插入图片描述

②再由MAR送入送入存储体,告诉存储体现在有一个数据要存进来,地址是多少。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jsTR81nX-1673351761532)(D:\Typora图片\image-20230110192818994.png)]

③将ACC中的内容送入MDR。

因为ACC中保存了从存储体中输入和输出的数据。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FcZxKbMb-1673351761532)(D:\Typora图片\image-20230110192837989.png)]

④在控制器的控制下,将MDR中的数据,保存到存储体中。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-viHqKqRC-1673351761533)(D:\Typora图片\image-20230110192856768.png)]


除此之外,还有加法减法乘数指令等。可以自行试一下,在这里如何进行的。

(2)完成编写的程序

下面再来看一下编写的程序是如何运行的。

比如:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VkpPRA6e-1673351761535)(D:\Typora图片\image-20230110193014933.png)]

将程序和数据保存到计算机(内存)中,是通过输入设备来做的。

控制器要知道程序的首地址,所以要把程序的首地址送到指定寄存器中(PC)。

PC中就保存了要执行指令的地址。 然后启动机器,开始执行程序。 程序是由一条一条指令构成的。执行程序的过程,实际上就是执行多条指令的过程总和。


比如现在执行第一条指令(取数指令),要进行三步。(把X的值从内存单元中取出来,保存在ACC中。)

<1> 取指令

将指令从给定的内存单元中取出,放在IR中。

具体操作:

PC给出“取数指令”这个指令所在内存单元的地址,PC将该地址送给MAR。

然后MAR将地址送给M(存储体)。

M存储体将指令拿出来之后,送入MDR,再由MDR送入IR。

<2> 分析指令

将指令的操作码部分,送给CU。

IR是指令寄存器,里面保存了指令。可以将它的操作码用OP表示。即:OP(IR)。

将操作码部分送给CU,就是这样写:OP(IR)->CU。

由CU对操作码进行分析。

<3>执行指令

这是一个取数指令。要取的数据的地址保存在IR的地址码部分。

AD表示地址码部分:AD(IR)。

将地址送给MAR。

再由MAR送给存储体M。

把数据从给定的存储单元中取出之后,再放入MDR寄存器。

(MDR和MAR实际上是接口寄存器。)

MDR获得数据之后,要完成取数指令的功能,就要把数据送入ACC。


经过这三步,取数指令就完成了。

剩下的乘法指令,从取指令、分析、执行,具体应该做什么操作。大家可以自己试一下。

如果直接进行下一条乘法指令,是取不出来的。

因为当前PC中,保存的地址,还是第一条指令(取数指令)的地址。

执行完取数指令之后,需要对PC的值进行调整。

实际上,在取址操作结束以后,PC的值在分析指令和执行指令中没有用到。

所以,在取指令结束之后,就可以对PC的值进行调整了。

让PC加1,再送到PC中。

其他的指令都可以用这种方式进行分析。

每三条对应完成一条指令的过程。

最后保存指令之后,就可以进行打印。

当然打印指令也要进行取指令、分析和执行三步。

最后停机。

三、硬件技术指标

1.机器字长

CPU一次能够处理数据的位数。(8位)

与CPU中的寄存器位数有关。

在之前介绍的模型机中,机器字长和ACC寄存器、X寄存器、MQ寄存器的长度相同。

为了简化问题,存储单元的长度(存储字长)和寄存器的长度也是相同的。

并不是所有计算机都是这样,这里是之前模型机的假设而已。

一般来说,机器字长越长,机器的性能越好。


比如:

64位操作:两个64位相加,它们的和保存在64位寄存器中。

如果机器字长是8位,寄存器的位数也是8位。那么要完成64位加法,就要做8次加法运算。

如果机器字长是64位,寄存器的位数也是64位。那么要完成64位加法,就要做1次加法运算。

2.运算速度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wxOrqH5p-1673351761536)(D:\Typora图片\361229103611487291.jpg)]

(1)主频和核数

主频核数并不是机器速度的直接指标。

(2)吉普森法

机器是用来执行指令的。

机器的速度,可以用指令执行的速度来进行衡量。

一台机器的指令集中可能有很多指令,这些指令,哪一条指令可以代表计算机的速度呢?

①把指令集中每一条指令的执行时间加在一起,然后计算平均值。

有问题!

不同指令的执行频率不一致,有的指令虽然执行很慢,但是出现频率非常低。它对整个机器执行性能影响并不大。

②按照每一条指令出现的频率,来计算指令执行时间的加权平均值。即吉普森法

fi:每一条指令在程序中出现的频率。

动态使用频率(执行后,计算在执行过程中,每一条指令出现的频率)、静态使用频率(直接计算每一条指令出现的频率,不用执行)

(3)时钟周期数

时钟周期数:越少越好。最好一条指令只需要一个时钟周期就可以完成。

计算机里面的时间是离散的,机器由时钟来进行驱动。

CPI指标是指:执行一条指令需要多少个时钟周期。

C:时钟周期 P:每一个 I:指令

也需要计算平均值。

把指令集中所有的指令的CPI计算出来,然后根据它的静态使用频率或者动态使用频率,采用加权平均的方法来计算每一条指令需要多少使用周期。

现代计算机(比如超标量计算机),同时可以有多条指令进入流水线。每一个周期可以完成多条指令。为了衡量这种指令的机器性能。另外的指标叫做IPC,就是和CPI相反,指一个时钟周期能够完成多少条指令。

(4)MIPS

MIPS:每秒执行百万条指令

M:百万

I:指令

P:每

S:秒

每秒执行的指令数越多,说明机器速度越快。

这里面其实还要看每一条指令,具体执行了多少算数运算,或者多少逻辑运算,指令的复杂程度如何等。

(5)FLOPS

以上都是从指令执行的角度来衡量计算机的速度。

实际上,在执行程序的时候。执行指令只是一个手段,目的是要完成算数或者逻辑运算。

衡量机器的运行速度,一个更合理的指标是在相同时间里面,完成了多少算数或者逻辑运算。

FLOPS:每一秒完成了多少浮点运算。

(机器能够做多少操作的角度来进行衡量。)

3.存储容量

存储容量:越大越好。

存放二进制信息的总位数进行衡量。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aDDi8lVG-1673351761536)(D:\Typora图片\image-20230110194132970.png)]


四、写在最后

《计算机组成原理》系列参考书籍:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4iO3oaMb-1673351761536)(D:\Typora图片\image-20230110194345543.png)]

参考视频:

计算机组成原理(哈工大刘宏伟)

请添加图片描述

相关文章
|
算法 网络虚拟化 内存技术
408王道计算机组成原理强化——存储系统大题
408王道计算机组成原理强化——存储系统大题(下)
2332 2
408王道计算机组成原理强化——存储系统大题
|
6月前
|
存储
第 1 章 计算机系统概论
第 1 章 计算机系统概论
|
存储 数据处理 调度
计算机组成原理(1)概论
1.1.定义 计算机,一种可以存储程序,并且通过执行程序指令,可以自动、高速、精确地对数字信息进行各种复杂处理,然后输出运算结果的电子设备。1.2.发展史 1944年,“冯诺依曼”加入美国军方一个名叫“ENIAC”的计算机研制项目,1945年他提出了一个名叫“存储程序通用电子计算机”的方案——“EDVAC”。该方案中定义了计算机的工作方式以及几大组成部分,后来将该方案中提出的这一套对于计算机的整体架构称为——“冯诺依曼体系”。 1946年参照冯诺依曼体系,在宾夕法尼亚大学诞生了世界上第一台计算机。如今世界上的计算机都是参照冯诺依曼体系进行的实现。
121 0
|
存储 Java Unix
程序员必知必会之计算机系统概论
程序员必知必会之计算机系统概论
102 0
|
数据处理 芯片
|
存储 内存技术
408王道计算机组成原理强化——存储系统大题(上)
408王道计算机组成原理强化——存储系统大题
979 2
408王道计算机组成原理强化——存储系统大题(上)
|
算法 编译器 数据格式
计算机组成原理/计算机硬件基础 第四章
计算机组成原理/计算机硬件基础 第四章
231 0
计算机组成原理/计算机硬件基础 第四章
计算机组成原理/计算机硬件基础第六章:指令系统
计算机组成原理/计算机硬件基础第六章:指令系统
391 0
计算机组成原理/计算机硬件基础第六章:指令系统
计算机组成原理,计算机系统概论,计算机基本组成
计算机组成原理,计算机系统概论,计算机基本组成
171 0
计算机组成原理,计算机系统概论,计算机基本组成
|
存储 物联网 程序员
#计算机组成原理# chapter 1 计算机系统概论(上)
#计算机组成原理# chapter 1 计算机系统概论
217 0
#计算机组成原理# chapter 1 计算机系统概论(上)