欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

复习 - 计算机组成原理

最编程 2024-04-02 08:59:24
...

计算机系统概述

机器指令的组成部分以及各部分的功能

机器指令由操作码和地址码组成:操作码用于指出操作,地址码用于指出操作数的地址

冯诺伊曼机的特点

  1. 由运算器、控制器、存储器、输入、输出组成
  2. 以运算器为核心
  3. 存储程序:提前将程序和数据以二进制的形式存储在存储器中
  4. 指令与数据以二进制以同等地位存储在存储器中,并用地址寻访
  5. 指令由操作码和地址码组成

编译和解释

  1. 编译:将编译性语言转化为机器语言,运行时不需要再次编译
  2. 解释:在解释性语言运行程序的过程中,解释一句运行一句,再次运行仍需要解释
  3. c语言:预处理,编译,汇编,链接

指令执行过程

比如执行加法指令。

  1. 取指:PC->MAR->M->MDR->IR
  2. 分析:op(IR)->指令译码器->控制信号
  3. 执行:ad(IR)->MAR->M->MDR->ACC+(MDR)->ACC

计算机主要的性能指标

  1. 机器字长:计算机一次能处理的二进制位数
  2. 主存容量:主存储器能存储的二进制位数
  3. 主频:CPU时钟频率
  4. 吞吐量:单位时间完成的任务数
  5. CPI,IPS:clock per instruction, instruction per second

CPU为什么多核

可以并行处理任务,提高吞吐率

数据的运算和表示

为什么采用二进制数表示数据

  1. 硬件实现简单,因为只需要开关的亮和灭就可以表示0和1
  2. 便于实现算术逻辑运算

原码怎么转变为反码

若该数为正数,则不变。如该数为负数,则除了符号位全部取反

单精度浮点数和双精度浮点数

  1. 单精度浮点数占32位,1,8,23,符号位,指数(移码127),尾数(规格化,10,01)
  2. 双精度浮点数占64位,1,11,52

什么是上溢,什么是下溢

  1. 结果大于能表示的最大正数,上溢
  2. 结果小于能表示的最小负数,下溢

大端,小端

大端:高位字节储存在低地址,符合人类习惯 小端:低位字节储存在低地址,便于计算机计算

实现乘法

通过加法和移位实现,从乘数的低位开始,随着被乘数和乘数的每一位进行运算,累加器逐渐右移

实现减法

使用加法器实现,只需要用加减法标志代替低位进位,如果是加法就正常运行,如果是减法,就使输入取反,低位进位为1。
A补-B补=A补+(-B)补
(-B)补=B补全部取反+1

多级存储系统

从内到外,速度降低,价格降低,CPU,寄存器,cache,主存,外存。
cache-主存系统解决主存与内存速度不匹配的问题
主存-外存系统解决贮存容量不足的问题
组成了成本低,容量大,速度快的存储系统

存储器结构

  1. 译码驱动
  2. 存储矩阵
  3. 读写电路

半导体随机存储器

组成,速度,用处,刷新,地址复用

  1. SRAM:静态随机存储器,双稳态触发器,速度快,Cache
  2. DRAM:动态随机存储器,栅极电容,速度慢,主存,刷新,地址复用

刷新方式

  1. 集中刷新:选择一段时间进行集中刷新
  2. 分散刷新:存取周期之后加上一段刷新周期
  3. 异步刷新:集中刷新和分散刷新的折衷

存取时间和存取周期

  1. 存取时间:启动一次存储器操作到操作结束所需要的时间
  2. 存取周期:连续两次独立的存储器操作所需要的最短时间间隔

寄存器和存储器

容量,速度,易失

  1. 寄存器一般是8位或8的整数倍,速度快,易失性
  2. 存储器容量大,速度慢,有RAM易失,ROM非易失

Cache

  1. 定义:高速缓冲存储器,和主存形成的Cache-主存体系解决了主存和CPU之间速度不一致的问题
  2. 原理:时间局部性(替换算法),空间局部性(cache行)
  3. 替换算法:FIFO,LRU

Cache的三种映射

  1. 直接映射:一个一组,主存数据块只能放在对应的唯一位置
  2. 组相联映射:分组一组,主存数据块可以放在对应分组中的任意一个位置
  3. 全相联映射:全部一组,主存数据块可以放在任意位置

锁存器、触发器、寄存器

  1. 锁存器:电平触发
  2. 触发器:脉冲触发
  3. 寄存器:由n个锁存器或触发器组成

指令系统

流水线技术

流水线技术:将重复过程拆成若干个子过程,不同子过程之间并行执行。
比如五段流水线取指,分析,执行,访存,写回,在第一条指令的取指阶段结束后,就执行第二条指令的取指阶段,随着时间的推移就能实现不同指令在不同阶段的并行。

影响流水线的因素

流水线冲突:因为相关等原因导致的指令中的某个

  1. 结构相关:硬件资源不满足指令重叠执行的条件。阻塞,增加硬件资源
  2. 数据相关:后续指令的运行需要当前指令执行的结果。阻塞,数据旁路
  3. 控制相关:遇到分支指令或改变PC值的指令。预测转移技术

指令流水线会不会缩短一条指令的执行时间

流水线:将重复过程分解为若干个子过程,不同子过程之间并行执行 流水线只能缩短多段流水线的执行时间,而不能缩短一条指令的执行时间,因为一条指令所经历的过程相同,甚至由于相关,会导致一条指令的执行时间增加。

寻址方式

直接寻址,间接寻址,寄存器寻址,寄存器间接寻址
基址寻址,变址寻址,相对寻址

指令集合

  1. RISC(Reduced instruction set computer,精简指令集)和CISC(Complex instrcution set Computer,复杂指令集)
  2. X-86,ARM,RISC-V, MIPS

CPU的功能

CPU由运算器和控制器组成,运算器的功能是进行算术逻辑运算,控制器的功能是协调计算机各部分的运行。 CPU的具体功能:

  1. 指令控制:取指,分析,执行
  2. 操作控制
  3. 时间控制
  4. 数据加工:算数逻辑运算

流水线越多越快?

  1. 硬件成本和散热成本增加
  2. 不同流水段之间的锁存器增加,使得缓冲时间大于执行时间

总线结构的优点

  1. 结构简单
  2. 便于拓展

为什么定义总线标准

总线标准是不同硬件之间通信所规定的协议。

  1. 提高系统的可靠性:需要遵守相同的标准
  2. 提高系统的灵活性:只要遵循相同的标准就能兼容不同厂商的硬件
  3. 降低维护成本
  4. 提高互操作性:保证不同硬件之间的兼容性和互操作性

系统总线分类

  1. 地址总线:指出数据总线上数据的地址。单向
  2. 数据总线:传输数据。双向
  3. 控制总线:传输来自CPU的控制信号和来自硬件的反馈信号。双向

总线宽度,总线带宽,总线复用

  1. 总线宽度:总线上能够传输的数据位数=数据总线根数
  2. 总线带宽:总线单位时间内传输的数据位数,总线数据传输率
  3. 总线复用:一条总线上分时传输两种信号
  4. 信号线数:地址总线+数据总线+控制总线的根数

I/O系统

中断响应过程

  1. 中断判优
  2. 中断响应:关中断,保存断点,执行中断隐指令
  3. 中断处理:保护现场,开中断,执行中断服务程序,关中断,恢复现场
  4. 中断结束

中断响应优先级和中断处理优先级

  1. 中断响应优先级:多个中断发生时,CPU选择优先响应哪个中断
  2. 中断处理优先级:中断嵌套时优先处理谁

向量中断,中断向量,向量地址

  1. 向量中断:一种识别中断源的办法,识别中断源的目的是引出中断服务程序入口地址的地址
  2. 中断向量:中断服务程序的入口地址
  3. 向量地址:中断向量的地址,中断服务程序入口地址的地址

程序中断和调用子程序

  1. 序中断:在原程序执行的过程中,暂停原程序,转而去处理其他优先级更高的任务,等中断处理结束后再返回执行原程序
  2. 调用子程序:在主程序执行过程中,暂停主程序,转而去执行子程序,等子程序结束后再返回执行原程序

调用子程序的时间和位置是已知的,程序中断是随机发生的。

中断嵌套

在中断服务执行的过程中,暂停原程序,转而去为其他优先级更高的任务执行中断服务程序,等中断处理结束后再返回执行原程序。