计算机组成原理期末笔记(简答题)

第二章

  • 小阶向大阶对齐的原因:
    减小误差
  • 什么叫溢出?
    超出了机器的表示范围
  • 计算机内部为什么大部分
  • 全加器公式

  • 全加器的时间延迟
  • 行波进位补码加法器为什么m=0为加法,m=1为减法?
  • 默写对2求补电路

alt text

  • 直接补码阵列乘法器
    最高位权值-1
  • 间接补码阵列乘法器
    算前求补的目的:补码变原码,扣掉符号位
    算后求补的目的:原码变补码,存入计算器
  • 原码除法:符号位单独运算
  • 阵列除法器CAS用的是加减交替法
  • ALU电路的基本概念
  • 先行进位
  • 流水线特点:并行进行运算,速度快

[x]补+[y]补=[x+y]补的证明

补码加法的公式为:

</span>

证明:设x和y均为定点小数,且运算结果没有溢出。即

  • (1)x﹥0,y﹥0,则x+y﹥0。正数的补码和原码是一样的,可得:

[x]补+[y]补=x+y=[x+y]补 (mod 2)

  • (2)x﹥0,y﹤0,x+y≥0或x+y﹤0。
    [x]补=x,
    [y]补=2+y
    [x]补+[y]补=x+2+y=2+(x+y)
    • 当x+y≥0时,2 +(x+y) ≥2,对于模2来说,2被丢掉,于是
      [x]补+[y]补=x+y=[x+y]补 (mod 2)
    • 当x+y﹤0时,2 +(x+y) ﹤2,于是
      [x]补+[y]补=2+(x+y)=[x+y]补
      (mod 2)
  • (3)x﹤0,y﹥0。
    这种情况和第2种情况证明方法相同。
  • (4)x﹤0,y﹤0,则x+y﹤0。
    [x]补=2+x,
    [y]补=2+y
    [x]补+[y]补=2+x+2+y=2+(2+x+y)
    (2+x+y) 小于2而大于1的数,第一个2作为进位被舍弃。于是
    [x]补+[y]补=2+(x+y)=[x+y]补 (mod 2)
    至此我们证明了在模2意义下,两数的补码之和等于这两个数之和的补码。

第三章

  • 高速缓冲存储器cache的目的
    提升访问速度,使存取速度和CPU的运算相匹配
  • 双译码结构优点
    减少线的数目
  • 刷新->行
  • 地址复用技术
  • CDRAM DRAM里放一个SRAM
    SRAM->静态存储器,比较小但快
    DRAM->动态存储器
    读取时高位不变,低9位连续变化
    在SRAM读出期间同时对DRAM阵列进行刷新
    写和读可以同时
  • SDRAM:同步DRAM-CPU在SDRAM执行请求CPU同时,CPU能先去做别的
  • DDR SDRAM:上升沿和下降沿均可读数据
  • SRAM和DRAM
SRAM DRAM
存储容量
功率
速度
集成率
价格 便宜
缓冲 高速缓冲 需要定期刷新
  • 解决CPU和贮存之间速度差异的主要途径
    • CPU内部设置更多通用寄存器
    • CPU和主存之间插入高速缓冲存储器(cache)
    • 采用并行操作的存储器(如双端口存储器)
    • 主存储器采用更高速的技术来缩短读出时间,或加长存储器的字长
  • 相连存储器:按内容访问所有存储器,主要用来存放cache的行地址
  • 程序局部性:时间局部性和空间局部性
    • 时间局部性:如果一个存储单元被访问,则可能该单元会很快被再次访问(因为程序存在着循环)
    • 空间局部性:如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。(因为程序中大部分指令是顺序存储、顺序执行的,数据也是以向量、数组、树、表等形式簇聚地存储在一起的。)
  • 主存与cache的地址映射(p94)
    • 全相联映射方式
    • 直接映射方式
    • 级相连映射方式
  • cache的替换策略(p100)
    • 最不经常使用(LFU)算法
    • 近期最少使用(LRU)算法
    • 随机替换

主存与cache的地址映射(p94)

全相联映射方式 直接映射方式 组相联映射方式
主存地址长度 (s+w)位
页内地址 w位
寻址单元数 2s+w
块大小 2w
行大小
主存的块数 2s
标记位数 s位 (s-r)位 (s-d)位
组内块号 r位 d位
cache的行数 不由地址格式确定 m=2r m=uv
主存区内块号 cache行号 cache组号
每组的行数 v
cache的组数 u=2d

PPT例题

一个四路组相联的Cache共有64行,主存有8192块,每块32个字,则主存地址中的主存字块标记(tag)为_位,组地址(组号)为_位,字块内地址为___位。
v=4
m=64=uv =>u=16
u=2^d => d=4
2^w=32 => w=5
2^s=8192=2^13 => s=13
∴ans: 9 4 5

某8位机主存1M字节,分成512块,Cache分8行,地址采用全相联映像方式,如图。

  1. Cache容量多大? 16KB
    2^(s+w)=1M=2^20
    s+w=20
    2^s=512
    s=9
    w=20-9=11
    2^w*8=2^14=16k
  2. Cache的页内地址有多少位? 11位
    w=11
  3. Cache的标记有多少位? 9位
    s=9

第四章

  • RISC和CISC的区别
    CISC:复杂指令系统计算机
    RISC:精简指令系统计算机
    CISC比RISC指令系统庞大
  • 为什么不同指令执行不同?
    OP字段(操作码)不同。不同的op对应不同的指令

    第四章拓展知识

    |比较|RISC|CISC|
    |-|-|-|
    |名称|精简指令系统计算机|复杂指令系统计算机|
    |时钟周期|通常1个|更多|
    |控制|硬布线逻辑|微程序控制|
    |指令种类|少|多|
    |寻指方式|少|多|

两者都可以采用流水线技术,RISC更适合而已。


第五章

  • CPU的功能(p145)
    • 指令控制
    • 操作控制
    • 时间控制
    • 数据加工
  • 同步/异步控制方式
    • 各项操作采用/不采用统一的时钟信号控制
  • PC为什么加1?
    为下一条指令做准备。
  • 方框图中,为什么第一个方框能共用,后面的不行?
    第一个方框是取指周期。
  • 一个方框代表一个CPU周期
  • 为什么取完指令后会有一个菱形框
    判定测试,做的是指令译码,根据OP字段不同分析测试
  • 微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合
  • 微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的
  • 为什么软件可以控制硬件?
    指令的OP字段不一样。
  • 为什么机器指令码的OP字段不一样?
    地址转移后,强制置1的位置不一样,后面的分支和跳转不一样
  • 机器指令和微程序的关系
    • 一条机器指令对应的一个微程序,这个微程序由若干条微指令序列组成的
    • 指令存放在存储器中;微指令存放在控制器中
    • 一个CPU周期对应一条微指令,一个指令周期至少包含两个CPU周期(取指令,执行)
  • RISC的全称和特点
    • 全称:精简指令系统计算机
    • 一个有限的简单的指令系统
    • CPU配备大量的通用寄存器
    • 强调对指令流水线的优化

第五章拓展知识

  • 同步/异步传输
    • 同步传输:CPU↔内存储器、CPU↔PCI、CPU↔I/O
    • 异步传输:I/O↔打印设备(基于缓存池)

第六章

  • 总线分类(p189)
    • 内部总线:CPU内部连接各寄存器及运算部件之间的总线,称为内部总线
    • 系统总线:CPU同计算机系统的其他高速功能部件,如存储器、通道等互相连接的总线
    • I/O总线:中、低速I/O设备之间相互连接的总线
  • 总线带宽=总线位宽×总线工作频率
    • 总线带宽:单位时间内总线上可传送的数据量
    • 总线位宽:总线上能同时传送的数据位数。1/8/16/32位
    • 总线工作频率:用于控制总线操作周期的时钟信号的频率
  • 单总线结构特点:简单,易于扩充
  • 双总线结构:ppt7
  • 直接存储器DMA(Direct Memory Access)
    如果由外围设备指定的地址对应于一个主存单元,则主存予以响应,于是在主存和外设之间将进行直接存储器传送
  • 简单总线结构的不足之处
    • CPU是总线上唯一的主控者
    • 总线结构紧密与CPU相关,通用性较差
  • 信息传送方式(p195)
    • 串行传送
    • 并行传送
    • 分时传送
  • 总线仲裁部件:以某种方式选择其中一个主设备作为总线的下一个主方(p198)
  • 集中式仲裁:每个功能模块都有两条线连到总线控制器
    • 总线请求信号线BR:送往仲裁器
    • 总线授权信号线BG:仲裁器送出
  • 在查询链中,离总线仲裁器最近的设备具有最高优先级
  • 分布式仲裁:不需要集中的总线仲裁器
  • 同步总线必须按最慢的模块来设计时钟