计算机组成原理(二)

1.2计算机的基本组成原理

一、冯诺依曼计算机特点

  1. 计算机由五大部件组成:运算器ALU、控制器CU、存储器、输入设备、输出设备(I/O设备)
  2. 指令和数据以同等地位存于存储器,可按地址寻访
  3. 指令和数据用二进制表示
  4. 指令由操作码和地址码组成
  5. 存储程序
  6. 以运算器为中心

二、系统复杂化管理的方法

  1. 层次化:让被设计得系统划分为多个模块或者子模块
  2. 模块化:有明确定义的功能和接口
  3. 规则性:让模块更容易被重用,不仅仅在自己的系统上用,在其他地方也能用,比如现在市面上卖的内存,可以只关心某部件的生产而不用再去顾及计算机其他部分的生产

Q1一个现实中的问题,如何用计算机解决

Q2是不是所有的问题都可以用计算的方法来解决

三、计算机的工作步骤

1、上机前的准备

  • 建立数学模型
  • 确定计算方法
  • 编制解题程序

                程序---运算的全部步骤

                指令---每一个步骤

编程举例:

ax^2+bx+c

假设我们使用的是一个累加器型的机器,即再计算运行加减乘除操作的时候,参与运算的数有两个,其中的一个操作数要把它保存在累加器当中,另外的一个操作数来自于计算机的主存储器。另外,我们假设,我们使用的机器包含了6条指令,加法指令、乘法指令、从内存中取出数据放到累加器的指令、存储指令(存储计算结果)、打印指令、停机指令

步骤:

ax^2+bx+c

  1. 将x取出,送到运算器当中(实际上是把x保存在运算器中的累加器里面,累加器是一个寄存器)
  2. 乘以x在运算器中
  3. 乘以a在运算器中
  4. 存ax^2在存储器中
  5. 取b到运算器中
  6. 乘以x在运算器中
  7. 加ax^2在运算器中
  8. 加c在运算器中

(ax+b)x+c

  1. 取x到计算器中
  2. 乘以a在运算器中
  3. 加b在运算器中
  4. 乘以x在运算器中
  5. 加c在运算器中

  • 运算包含:操作码+地址码
  • 都是用二进制表示
  • 指令和数据都是保存在存储器中的

2、计算机的解题过程

(1)存储器的基本组成

MAR

存储地址寄存器

反应存储单元个数

MDR

存储器数据寄存器

反应存储字长

比如

MAR=4位 MDR=8位

MAR有4位,说明从0000到1111可以有2^4种可能,存储个数位2^4=16位

存储单元个数2^4=16位,存储字长8位

运算器的结构功能如何工作的?

(2)运算器的基本组成及操作过程

加/减法指令:被加/减数ACC 加/减数X 运算ALU 结果存入ACC

[M]-->X                             [M]表示加/减数M里的内容

[ACC]+-[X]--->ACC           将M取出来放到X里去之后进行调用

乘法指令:被乘数ACC-->X 乘数MQ 运算ALU 结果存入ACC和MQ

[M]-->MQ      [ACC]-->X   0-->ACC 

[X]*[MQ]-->ACC//MQ       高位放在ACC低位放在MQ

操作顺序:需要对ACC进行清零操作,所以ACC里的东西必须要先存入X,才能对ACC清零,不然数据不久清没了

这个操作顺序是由控制器来控制的

除法指令:被除数ACC 除数X 运算ALU 结果存入ACC和MQ

[M]-->X

[ACC]/[X]-->MQ 结果放在MQ种,余数放在ACC

(3)控制器基本组成

功能:解释指令,保证指令按序执行

完成一条指令:取指令PC 分析指令IR 执行指令CU

PC存放反潜与执行之林的地址,具有计数功能(PC)+1-->PC

IR存放当前欲执行的指令

一条指令在主机上的完成过程?

程序在主机上是如何执行的?

主机+I/O组成硬件系统

ax^2+bx+c程序运行过程:

  • 将程序通过输入设备送至计算机
  • 程序首地址-->pc
  • 启动程序运行
  • 取指令 PC-->MAR-->M(存储体)-->MDR-->IR    ,     (PC)+1-->PC
  • 分析指令OP(IR)-->CU          OP(IR)表示IR指令寄存器里保存的指令的操作码部分
  • 执行指令AD(IR)-->MAR-->M-->MDR-->ACC AD(IR)表示IR指令寄存器里保存的指令的地址码部分
  • 打印结果:取值分析执行
  • 停机
  • 21
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值