【Mark】计算机组成原理

链接 【超详细】计算机组成原理总结及思维导图.
链接 计算机组成原理知识点.
链接 计算机组成原理----思维导图.
链接 【重学计算机】计算机组成原理.
链接 前引_计算机科学导论.
链接 哈工大刘宏伟老师讲课视频.

计算机系统概论(贯穿本书)


  • 计算机系统简介
  • 计算机的基本组成
  • 计算机硬件的主要指标

现在计算机主要是 数字电子计算机

  • 计算机组成原理,讲的就是计算机硬件系统的逻辑实现

计算机系统,包括 硬件 + 软件

软件分为两大类:系统软件 和 应用软件
系统软件:又称系统程序,为了使系统资源得到合理调度,高效运行

  • 标准程序库、语言处理程序(汇编程序、编译程序)、操作系统(批处理、分时、实时)、服务程序(诊断、调试、连接)、数据库管理系统、网络软件等

应用软件 (通用软件、专用软件):用户根据任务需要编制的程序

层次结构:
图片描述?

指令 = 操作码 + 地址码

汇编语言 用助记符代替指令,是符号语言,汇编语言指令与机器指令一一对应
高级语言,编写时硬件不相关,开发效率高,可移植性强,运行效率低 (需要转换成低级语言)

翻译程序,有两种 编译程序 和 解释程序
编译程序:将源程序一次性全翻译成机器语言程序(目标程序),再执行机器语言程序
解释程序:特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译

  • 微指令,指令分解而成,微指令构成的 微程序 = 一条指令

程序,包括运算的全部步骤
指令,是程序中的单个步骤

  • 例:计算程序包括:
    加法指令、乘法指令、取数指令、存数指令、打印指令、停机指令

冯诺依曼计算机,以运算器为中心
冯诺依曼机工作方式的基本特点是:按地址访问并顺序执行指令
现代计算机改进了一下,以存储器为中心

  • 指令和数据以同等地位存于存储器中

有许多运算的结果是无法准确表示的,此时
迭代计算,直到相邻两次的计算差值满足用户的精度要求
例如 求Sin 20.2.18

主存 = 存储体 + MAR + MDR

存储体,若干个存储单元组成 (大楼)

  • 存储单元,存放一串二进制代码 (房间),每个存储单元给一个地址 (房间号)
  • 存储元件,一个二进制代码位 (床位), 有人为1,没人为0
  • 存储字,存储单元中的二进制代码串 (房间中的信息),一个存储单元对应一个存储字
  • 存储字长,存储字的长度,存储单元中二进制代码的位数 (床位数)

MAR,存储器地址寄存器 (Memory Address Rejister)

  • 保存存储单元的地址,其位数反映存储单元的个数(若 n 位,对应 2n 个存储单元地址)

MDR,存储器数据寄存器 (Data)

  • 保存要存入存储体中或刚从存储体中取出的数据,其位数反映存储字长(n 位,对应存储字长 n,因每次取出一个存储字)

  • 在指令字长、存储字长、机器字长相等的情况下,
    ACC = IR = X = MDR位数
    PC = MAR位数;想想为什么

  • 指令字长:一个指令字中包含的二进制位数

  • 存储字长:已经介绍,是一个存储单元的二进制代码串的位数,存储字长通常 ≤ 机器字长,一般相等

  • 机器字长:计算机 (CPU) 能直接处理的二进制数据的位数,通常与CPU寄存器位数有关
    该字长越长,数的表示范围越大,计算精度越高 (若该字长过短,运算时一个运算数要拆开表示的话,也会影响计算机运算速度) 一般为 8位 16位 32位等

运算器 = X + ALU + ACC + MQ
这个运算器的结构只是课本模型机给出的,实际运算器中寄存器的数量根据不同情况设计
——————
ALU,(Arithmetic Logical Unit) 算术逻辑单元

  • 运算器的核心,通常是组合电路,所以一般在其输入端有 两个寄存器
    其中一个就是 ACC 累加器 (Accumulator),另一个是称为 X 的 数据寄存器;
  • 因为乘法得出的结果的长度是操作数的两倍,多出来的长度存放在 MQ 寄存器中,运算结果保存在 ACC 中

CPU和运算器的关系:CPU = 运算器 + 控制器
8086、286、386、奔腾、酷睿、I5等均指CPU
——————
乘法得出的结果一定是 一行为 被乘数,一行为 0
在这里插入图片描述

  • 加法指令中有一个操作数的地址 M,另一个操作数在 ACC 中,

    • 第一个操作:将地址 M 对应的数据 取出 到 X 中
      第二个操作:在 ALU 中执行加法操作,操作数分别来自 ACC 和 X
      第三个操作:结果保存至 ACC
  • 乘法指令的先后顺序,初态 被乘数在 ACC 中,

    • 需要[ACC] → X,然后 0 → ACC,最后[X] × [MQ] → ACC // MQ (加中括号表示其中的数据)
      由 控制器控制 操作执行顺序,在 ALU 中执行乘法操作

控制器 = CU + IR + PC

功能:解释指令(包括 取出 分析 执行 等过程),保证指令的有序执行
——————

  • CU,控制单元,发出控制信号
  • IR,Instruction Register 指令寄存器,保存当前要执行的指令
  • PC,Programming Counter 程序计数器,保存要执行指令的地址 (会自动 +1)

链接 见计算机科学导论第3章.

  • 主机完成一条取数指令
    在这里插入图片描述

  • 一个程序在计算机上的运行过程:(其中OP是指令的操作码字段,Ad是地址码字段)
    在这里插入图片描述
    如何区分从存储器中取出的是指令还是数据?二者是从不同阶段取出,以此区分 20.2.22

机器字长

  • CPU一次能处理数据的位数,通常与CPU中寄存器位数相等
    为简化问题,模型机中存储字长也与之相等

运算速度<

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值