计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程

计算机主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程

计算机基本组成:

一、冯诺依曼计算机
1、由五大部件组成:
1.1、输入设备,将人的信息转换为机器可以识别的形式
1.2、输出设备,将机器的信息转换成人可以识别的形式
1.3、存储器,存放数据和程序
1.4、控制器,指挥控制程序的有序运行,是冯诺依曼体系的核心与瓶颈
1.5、运算器,完成算术运算和逻辑运算

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第1张图片

2、指令和数据以同等地位存于存储器,可按地址寻访
3、指令和数据用二进制表示
4、指令由操作码和地址码组成
5、程序存储在存储器中
6、以运算器作为核心

二、现代计算机硬件框图
1、冯诺依曼体系在结构上进行优化,提升了层次性和顺序性后得到现代计算机硬件的结构,新的结构中以存储器作为核心。

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第2张图片

2、系统复杂性管理的方法
2.1、层次化:将被设计的系统划分为多个模块或子模块
2.2、模块化:有明确定义的功能和接口
2.3、规则性:模块更容易被重用,比如满足某种通用标准,或兼容某种体系

三、编程举例
1、完成一个计算

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第3张图片

2、指令的格式
计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第4张图片

3、完成计算的程序清单
3.1、可以看到冯诺依曼体系中,指令和数据是一同存放在存储器中的。

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第5张图片

主机的构成:存储器,运算器,控制器

四、存储器的基本组成
1、存储器由存储体,MAR,MDR组成

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第6张图片

2、存储体由存储单元组成,存储单元由存储元件组成
2.1、存储体,存储单元,存储元件的关系等价于酒店-房间-床位的关系
2.2、存储单元:存放一串二进制代码,每个存储单元有一个地址并按地址寻访
2.3、存储字:存放单元中二进制代码的组合
2.4、存储字长:存储单元中二进制代码的位数

3、MAR和MDR寄存器
3.1、MAR,memory address register,存储器地址寄存器,反映存储单元的个数
3.2、MDR,memory data register,存储器数据寄存器,反映存储字长
3.3、举例,当MAR=4位,MDR=8位时,MAR说明可以存储从0000到1111共16个地址,MDR说明每个地址指向的位置的字长是8位。

五、运算器的基本组成
0、运算器需要完成加乘与或非这样的操作,这些都是双目运算符,需要两个参数,所以有至少两个寄存器提供参数,乘法计算会导致结果的位数翻倍,需要一个额外的寄存器存放多出来的一半的位的值。

1、负责运算的算数单元ALU和负责提供与存储数据的寄存器ACC,MQ,X
1.1、ALU负责从寄存器中获得数据并进行运算,然后将运算得到的结果存放在寄存器中
1.2、ACC和X分别存放两个参数,MQ存放乘法的乘积低位

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第7张图片

2、加法操作的过程,减法同理
2.1、指令A+M
2.2、初始状态:被加数A从内存中读到ACC
2.3、加数M被读到寄存器X
2.4、ALU从ACC和X中得到数据并计算,将结果存入ACC寄存器

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第8张图片

3、乘法操作
3.1、指令A*M
3.2、初始状态:被乘数A被读入X
3.3、乘数M被读入MQ
3.4、ACC将值传递给X
3.5、将ACC的值置0,这是乘法操作通过依次相乘并累加的形式完成,会对ACC进行累加操作,所以提前将其置0
3.6、ALU将X的值和MQ的值进行乘运算并将结果保存在ACC和MQ中,ACC保存高8位,MQ保存低8位,记为ACC//MQ

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第9张图片

4、除法操作
4.1、指令A/M
4.2、初始状态:被除数A被读入ACC
4.3、除数M被读入X
4.4、ALU将ACC的值和X的值进行除运算,将结果存放在MQ中,将余数存放在ACC中

5、在各种运算中,由控制器控制各个步骤的执行顺序。

六、控制器的基本构成
0、控制器的作用是解释指令,保证指令的按序执行
0.1、完成一条指令的步骤:取指令-》分析指令-》执行指令
0.2、取指令:指令保存在内存单元中,需要地址才能将其取出,因此引入程序计数寄存器PC用于保存当前欲执行的指令的地址,PC具有计数功能,通过特定的运算(PC)+1-》PC,这里的加1因计算机具体情况的不同而不同
0.3、分析指令:通过PC得到了欲执行指令的地址,引入指令寄存器IR保存根据PC从内存中得到的指令并进行分析。
0.4、执行指令:通过CU执行指令寄存器IR中存放的指令

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第10张图片

主机如何完成一条取数指令

七、计算机整体框架
1、当主机(控制器,运算器,存储器组成)和IO设备,共同组成了计算机的硬件,整体框架如下

计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第11张图片

八、计算机完成一条取数指令的过程(将数据从内存取到ACC寄存器,全程由控制器控制)
计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第12张图片

1、从PC寄存器开始,通过PC寄存器中的指令地址传递给存储器的MAR
2、存储器的MAR得到指令在存储体中的地址,获得了该指令
3、存储体中的指令送入MDR寄存器中,
4、MDR寄存器中的指令传递给IR
5、IR分析指令的操作码部分并传递给CU
6、IR分析并保存了当前指令,当前指令的地址,当前指令操作数的地址,IR将当前指令操作数的地址传递至MAR
7、MAR通过操作数地址在存储体中获取到操作数
8、存储体中的操作数被读到MDR中
9、MDR中的操作数被读到ACC中

九、计算机完成一条存数指令的过程
计算机组原,主机组成和指令流程,主机组成和指令流程,冯诺依曼体系,现代计算机框图,编程举例,控制器、存储器、运算器的构成,取数指令执行流程_第13张图片

存数指令和取数指令的前7步基本相同
8、ACC中的数据传递给MDR
9、MDR中的数据传递给存储体

你可能感兴趣的:(计算机组成原理,硬件架构)