美文网首页
2计算机的基本组成

2计算机的基本组成

作者: ca8519be679b | 来源:发表于2021-09-06 22:47 被阅读0次

    现在的计算机都是以二进制存储的程序,这样的计算机都叫冯诺依曼计算机。

    冯诺依曼计算机特点

    1冯诺依曼计算机有5大组成部分,运算器,控制器,存储器,输入设备,输出设备

    2指令和数据以同等地位存于存储器,可以按地址寻访

    3指令和数据以二进制表示

    4指令由操作码和地址码组成

    5能存储程序

    6以运算器为中心

    现阶段指令和数据是可以放在不同的cash中,如运算器和控制器整合到CPU中

    1

    如上,我们的计算机硬件框图可以如上,实线表示数据,虚线表示控制指令。

    运算器,进行算术运算和逻辑运算

    控制器,提供控制指令控制程序运行

    输入设备,将信息转换成机器识别形式

    输出设备,将机器信息转换成人熟悉的形式

    存储器,存放数据和程序

    冯诺依曼计算机的瓶颈

    1以运算器为中心,导致运算器成为瓶颈

    2不具有层次划分

    2

    我们创建了以存储器为中心的计算机框图如上,但是这样的系统仍然存在层次不够分明的情况

    3

    如上,我们进行层次划分,运算器ALU,控制器CU,一起构成CPU,存储器分为主存和辅存,又和CPU一起构成主机,输入输出设备作为IO设备,和主机一起构成了硬件

    系统复杂性管理的方法3Y

    层次化Hierachy,将被设计的系统划分为多个模块或子模块

    模块化Modularity,有明确定义的功能和接口

    规则性regularity,模块更容易被重用

    用程序来理解计算机系统模型

    比如说我想一个问题来让计算机解决,我们需要先考虑计算机能否实现,即可计算性的问题,是否存在y=f(x)这样的映射,如果问题就是计算机能解决的,我们就可以加工计算机程序

    1上机前准备:

    建立数学模型,比如我们确定了要计算y=sinx

    确定计算方法,计算机指令集并不包括sin求法,我们可以转为泰勒公式展开计算

    编制解题程序,程序,运算的全部步骤,指令,每个步骤

    举个例子计算y=ax2+bx+c,我们假设a,b,c已经保存到存储器,将x取到运算器,乘x放置运算器中,乘a放到运算器,把ax2放到存储器,b放到运算器中,乘x放到运算器,最后加ax2+c计算结果,输出到输入设备。

    当然我们可以使用因数提取方法,x提取至运算器,乘以a放在运算器+b放在运算器,乘以x放到运算器,最后加c放到运算器,可以看到执行的步骤会减少

    指令格式举例

    操作码           地址码                    实现操作

    000001     0000001000              a-[ACC]

    假设a的地址8,取数操作是000001,则指令实现将a放到累加器中

    当然还有很多指令

    4

    如上,我们对计算多项式结果的指令程序清单放到上面,上面就是冯诺依曼计算机的指定演示。

    存储器的基本组成

    存储体由若干存储单元组成,存储单元又有多个存储元件组成,存储单元存放一串二进制代码,存储单元存放二进制代码的组合称为存储字存储字长-存储单元二进制码

    5

    我们可以看到存储体包含MAR,MDR,其中MAR是存储器地址寄存器,反映存储单元的个数,MDR存储器的数据寄存器,反映存储字长

    我们假设MAR是4位,MDR8位,则存储字长8,设存储单元16,则可按下图的长方体理解

    6

    上面我们就知道了存储器的基本结构和工作过程

    运算器的基本功能

    运算器的功能:完成算数逻辑运算,ALU

    我们需要累加器ACC,还有数据存储器存储数据,如果我们做乘法或还需要考虑MQ来实现处理多出来的位数

    7

    如上x就是放在数据寄存器

    8

    如上,我们计算加法,那X就是放在数据寄存器,被加数是放在ACC中,计算结果也是在ACC中,如果是减法,类似。乘法呢,由于可能会出现越界,把结果放到ACC和MQ分高低位存储,使用累加和移位实现乘法计算。除法则商放到MQ,余数放到ACC

    加法操作过程

    9

    如上加法过程:我们首先有指令  加M(M为X的地址),然后ACC就存储被加数,数据存储器(内存单元)就存放X,我们把X提取,和ACC中的数值相加存储到ACC中(注意,我们所有的操作都默认是被操作数已经被读取到相应的单元)

    减法操作过程

    10

    如上,和加法类似,也是指令为减M,然后ACC存储被减数,M为存放X的地址,取值后放到ACC中减法操作

    乘法操作过程

    11

    乘法过程如上,稍微复杂点。获得指令后,把乘数放到MQ中,把ACC的内容即被乘数放到x中,这是ACC要进行清零,然后将X,MQ的乘积结果高、低位分别放到ACC和MQ中,我们的4条过程是有一定顺序的,但是前两条先后顺序不限,是可以同时进行的,这部分的顺序控制就是控制器CU进行

    除法操作过程

    12

    上面也没什么说的,就是ACC读取被除数,M地址获得X除数,将余数放到ACC中,将商放到MQ中,所以我们看到MQ乘除法都有放结果,也叫乘商寄存器

    相关文章

      网友评论

          本文标题:2计算机的基本组成

          本文链接:https://www.haomeiwen.com/subject/bgljwltx.html