计算机组成与原理(第一篇 概论)
一 、这门课的组成
计算机组成与原理分为四个部分,在第一篇中主要介绍的是计算机系统的基本组成,以及它的应用与发展。在之后的章节中会按照自顶向下,由表及里的的层次结构来了解计算机的组成及其工作原理。
- 这门课与计算机组织与体系结构的不同之处在于计算机体系结构这门课里我们讲的是架构,emmmm…简单的说就是计算机组成与原理这门课讲的是对结构的具体的实现方法。
- 体系结构指的是能被程序员所见到的计算机系统的属性,计算机组成对程序员来说是透明的硬件细节;(比方说:“实现2×2”,对于底层的电路来说,到底是用一个乘法器来实现,还是用一个累加器来实现。)
二、计算机系统简介
-
计算机系统由硬件与软件组成。
-
软件分为系统软件与应用软件;系统软件用来管理整个计算机系统,合理调度系统资源(具体的内容操作系统那门课中会讲解到),应用程序就是我们平时所使用的app,它是根据用户需求所编制的各种程序。
-
计算机系统的层次结构。
- 随着不断的改进,现在的计算机结构多为五级计算机系统结构。
- 我们在这门课里主要介绍传统机器M1与微程序机器M0的组成原理及其设计思想。(M1一般用微程序解释机器指令,而M0一般由硬件直接执行微指令。)
三、计算机的基本组成。
- 第一台计算机为1945年数学家冯诺依曼在研究EDVAC(Electronic Eiscrete Variable Automatic Computer)时所提出的概念模型,它的特点可归结为:
1.1 计算机由运算器,存储器,控制器,输入设备,输出设备五大部件组成。
1.2 指令和数据以同等地位存放于存储器内,并且按地址寻访。
1.3 指令与数据均用二进制表示,执行的时候按照顺序执行。
1.4指令由操作码与地址码组成。(操作码表示操作的性质,地址码表示即将操作的数在存储器当中的位置)。
1.5 以运算器为中心。
- 现代计算机的改进
随着不断的使用,我们发现以运算器为中心的计算机系统结构因为运算器的限制达到了瓶颈,为了解决这一问题,人们提出以存储器为中心的计算机系统结构。
改进之后的计算机系统在工作时将数据与程序都存放在存储器中,运算器用来完成算术运算与逻辑运算,并将运算的结构暂时存放在运算器内,控制器用来控制数据的输入、运行及处理与运算结果。
- 现代计算机一般由三大部分组成,即-cpu、IO设备、及主存储器。
- cpu与主存储器合起来成为所说的主机。IO设备即所说的外部设备,键盘,鼠标,显示器都为IO设备。
- 存储器除了所说的主存储器,还有辅助存储器,简称辅存。
四、计算机的工作步骤
- 上机前的准备
1.1建立数学模型->1.2确定计算方法->1.3编制解题程序。
编制解题程序时一般用到四则运算、取数、存数、打印、停机等5个操作
- 主存储器
- 从图中可以看出主存储器包括存储体M、各种逻辑部件及控制电路等。
- 每个存储体由许多存储单元组成,每个存储单元包含多个存储元件(存储元或存储基元)。
每个存储元件能存储一位二进制代码0或者1;一个存储单元存储的一串二进制代码称为一个存储字,这串 二进制代码的位数称为存储字长,(存储字长一般为2的n次)一个存储字还可以表示一条指令。如上图中的存储单元个数为16,存储字长为8即一串这样的存储字一次最多容纳8个01代码。
主存的工作方式一般按照存贮单元的地址来实现存取操作,即按地址存取,
- 图中的MDR(Memoray Address Register)是存储器地址寄存器,用来存放欲访问的存储单元的地址,它的位数对应存储单元的个数。(这个应该很好想)
- MAR(Memoray Data Register)是存储器数据寄存器,存放欲存放或取出的代码,其位数当然对应的是存储字的位数。
- 运算器
运算器最少包括三个寄存器(现代计算机多设有通用寄存器)和一个ALU(算数逻辑单元);其中ACC为累加器,MQ为乘商寄存器,X为操作数寄存器。emmm…可能比较难懂,进行一遍操作即可。
- 四则运算的操作过程。
- 一次加法操作过程为:[M】->X ;[ACC]+[X]->ACC (即先把存放在M地址号单元内的加数[M]取出来,送至X寄存器中,等待操作,然后将被加数[ACC]与加数[X]相加,结果保留在ACC中。)
- 减法操作同上。
- 一次乘法操作的操作过程为:[M]->MQ;[ACC]->X;0->ACC;[X]x[MQ]->ACC//MQ
即将[ACC]看作被乘数,先取出M号地址单元中的乘数[M]并送入到乘商寄存器MQ中,再把被乘数送入X寄存器中,并将ACC清零,然后[X]和[MQ]相乘,并且结果的高位保留在ACC中,低位保留在MQ中。
- 一次除法操作过程如下:
[M]->X;[ACC]➗[X]->MQ;余数R在ACC中 (即将[ACC]看成被除数,先取出存放在主存M号地址的[M[并送入X寄存器中,然后[ACC]除以[X],结果商保留MQ中,[ACC]为余数R)
- 控制器
- 控制器是计算机的神经中枢,由程序计数器PC、指令寄存器IR以及控制单元CU组成。
- 控制器一般控制执行三个阶段:取指过程、分析过程、执行过程。
每次执行的大概操作为:PC用来存放欲执行操作的地址,其与主存的MAR之间有一条直接连通并且具有自动加1的功能,自动形成下一条指令的地址,IR用来存放当前的指令,其内容来自MDR;IR中的操作码(OP(IR))送至CU,用来分析指令;其地址(Ad(IR)作为操作数的地址送至存储器的MAR;CU用来分析所需完成的操作,并且发出各种微操作命令序列。
- IO设备
接收CU发出的各种控制命令,并完成相应的操作。 - 一次完整的操作过程(总结)
上图为存操作
上图为取操作
五、计算机硬件的主要技术指标。
- 机器字长即cpu一次能处理数据的位数,通常与cpu的寄存器位数有关。改变机器字长,除了造价之外,它将直接影响ALU、数据总线及存储字长的位数,所以不能但从机器字长考虑。
- 存储容量
存储容量=存储单元个数X存储字长
MAR的位数反映了存储单元的个数,MDR的位数反映了存储字长;
例如:MAR为16位,2^16=65536,表示存储体内有65536个存储单元;
MDR位32位,表示存储容量位2^16*32=2的21次方=2M位;
- 一字节也就是1B(Byte),一个字节等于8bit位
- 1KB=2^10B;1MB=2的10次方KB
- 运算速度
现代机器的运算速度采用单位时间内执行指令的平均条数来衡量。
1.1主频
1.2 吉普森法,综合考虑每条指令的执行时间以及他们在全部操作中的所占的百分比;
1.3CPI:即执行一条指令所需的时钟周期。
1.4MIPS:单位时间内执行指令的平均条数
1.5FLOPS(了解)浮点运算次数每秒。
晚上写课后题!!!加油!2022上岸!