计算机组成原理复习(2)

接着上一篇:计算机组成原理复习(1),本节主要介绍存储器和I/O
注:本文的所有图片参考自“哈尔滨工业大学,计算机组成原理课程张丽杰PPT”

3. 存储器

基本概念

与往常一样,先来看看基本概念:

  • 存储系统的层次结构:

    • Cache-主存:用于解决主存与CPU速度不匹配的问题;
    • 主存-辅存:主存容量较小,辅存容量较大;
      在这里插入图片描述
  • 半导体存储芯片结构(主要记忆片选线以及读写控制线的符号
    在这里插入图片描述

  • 静态RAM:利用触发器进行存储;读写满足先行后列再选,最后输出
    在这里插入图片描述

  • 动态RAM:利用电容进行存储;

    • 三管MOS
      在这里插入图片描述
      读出和原数据相反,写入和输入的数据相同;

    • 单管MOS
      在这里插入图片描述
      读出与写入均保持一致;

    • 动态RAM的刷新:由于动态RAM是利用电容存储电荷的原理存储信息,为了避免电容放电,需要对RAM进行刷新,刷新方式有三种:
      1). 集中刷新:在一个统一的时间段刷新;
      2). 分散刷新:把一个时钟周期分为读写+刷新两个部分;
      3). 异步刷新:集中刷新和分散刷新的结合。一个刷新分布在多个读写周期之后,共同组成一个异步刷新周期

  • 动态RAM和静态RAM比较:
    在这里插入图片描述
    基于上述事实,动态RAM常被用于主存,静态RAM常被用于Cache

我们来看看重难点:

重难点

存储器与CPU的连接

  • 字拓展与位拓展:字拓展主要扩大芯片的寻址空间;位拓展主要扩大数据位数。简单的乘除法即可解决;

下面,给出一个例题以说明存储器与CPU的连接:
在这里插入图片描述

  1. 首先,我们需要根据题目要求,写出地址空间:
    系统程序区(选用ROM,只读的,不许修改的)
    0110 0000 0000 0000

    0110 0111 1111 1111
    用户程序区(选用RAM,可修改的)
    0110 1000 0000 0000

    0110 1011 1111 1111
  2. 挑选元件
    系统程序区
    通过简单分析得:
    大小: 2 11 B = 2 K B 2^{11}B = 2KB 211B=2KB(因为有8根数据线,所以是B
    选用ROM为: 1 片 2 K × 8 b i t 1片2K\times8bit 12K×8bit
    用户程序区
    大小: 2 10 B = 1 K B 2^{10}B = 1KB 210B=1KB
    选用RAM为: 2 片 1 K × 4 b i t 2片1K\times4bit 21K×4bit
  3. 绘制图:
    在这里插入图片描述
  4. 注意点:
    1). MREQ信号一定要连上;
    2). PD信号一定要连上,表明ROM不可编程;
    3). WR信号一定不能忘,表明RAM可读写;
    4). 74LS138芯片运行时必须满足 G 1 , G 2 A , G 2 B ( 省 去 上 面 的 横 ) G_1,G_{2A},G_{2B}(省去上面的横) G1,G2A,G2B的输入情况为1,0,0;

存储器校验

汉明码构成:

  1. 补充 k k k位代码,利用公式
    2 k ≥ n + k + 1 2^{k} \ge n+k+1 2kn+k+1
  2. 检验位放在
    C 2 i = 2 i ( i ≤ k − 1 , i ∈ N ) C_{2^{i}} = 2^{i}(i\le k-1, i\in N) C2i=2i(ik1,iN)
  3. 配偶原则:添加了校验位后, C i C_i Ci小组1的个数为偶数个
  4. 配奇原则:添加了校验位后, C i C_i Ci小组1的个数为奇数个
  5. C i C_i Ci小组成员记忆法:卡诺图法

给出一个例子:
在这里插入图片描述
汉明码纠错原则:仅仅纠正一位错误,举例如下
在这里插入图片描述

多体并行系统

  • 高位交叉系统
    在这里插入图片描述
  1. 描述:顺序编址
  2. 优点:访存方便
  3. 缺点:存储体利用率低;因为程序一般是保存在一段连续的空间中,因此对存储体的访问一般集中在某一个存储体,故存储体利用率低
  • 低位交叉系统
    在这里插入图片描述
  1. 描述:各个体轮流编址
  2. 优点:执行效率高,可流水化;CU控制存储器的打开和关闭,在取一段程序时,完全可以在启动 M 0 M_0 M0的后启动 M 1 M_1 M1……从而实现快速取指
    在这里插入图片描述
    注意:上图中说到的总线传输周期,事实上就是控制器对存储器的控制信号的传输时间,所以每隔 τ \tau τ才启动一个存储体。
  3. 缺点:不易于控制;

Cache映射方式

要了解Cache,首先了解Cache机制:
CPU给出主存地址,先访问Cache,Cache查找比对该地址,如果命中块i,则返回块i;如果未命中,则访问主存,将主存中对应的块放入Cache中,再返回;

  • 直接映射
    在这里插入图片描述

  • 全相联映射
    在这里插入图片描述

  • 组相联映射
    在这里插入图片描述

这都没什么好说的,看例题最为关键:
在这里插入图片描述
1). Cache容量有 4 K B 4KB 4KB,有 4 K 4K 4K个地址,故Cache地址有 log ⁡ 2 4 K = 12 \log_2{4K}=12 log24K=12位;
2). 一个块有 16 × 4 B = 64 B 16\times 4B = 64B 16×4B=64B,故Cache可容纳 4 K B ÷ 64 B = 2 6 4KB \div 64B = 2^{6} 4KB÷64B=26 个块;
3). 主存有 512 K 512K 512K个地址,故主存地址有 log ⁡ 2 512 K = 19 \log_2{512K}=19 log2512K=19位;
4). 主存可容纳 512 K B ÷ 64 B = 8 K 512KB \div 64B = 8K 512KB÷64B=8K 个块;
5). 主存标记块实质是主存能够分得的区数,简单来说,主存一共能够分得几个Cache体。一个Cache体有64块,主存有 8 K 8K 8K块,故能够分得 8 K ÷ 64 = 2 7 8K \div 64 = 2^{7} 8K÷64=27个Cache体,所以能够分成 2 7 2^{7} 27个区,故主存标记位数为 log ⁡ 2 2 7 = 7 \log_2{2^7}=7 log227=7位;
6). 缓存字块地址即 log ⁡ 2 2 6 = 6 \log_22^6=6 log226=6
7). 前面求得一个块有 64 B 64B 64B,所以有 log ⁡ 2 64 = 6 \log_2 64=6 log264=6位;
最后,检验7+6+6=19=主存地址数,答案初步判断正确;

4. I/O

先来讲讲I/O的三种基本方式

  • 程序查询方式
  1. CPU执行现行程序;
  2. CPU查询到某I/O的请求;
  3. CPU等待I/O数据准备与传输;
  4. CPU恢复执行;
  5. 程序查询方式的接口电路:
    在这里插入图片描述
    首先CPU向接口发出启动命令,用于启动I/O,此时至B为1,D为0,设备启动;设备启动后,等待I/O输入数据至DBR(Data Buffer Register,数据缓冲区),输入后,设备发起设备工作结束信号,该信号置B为0,D为1,向CPU发出准备就绪命令,最后将DBR的数据送至数据线上。
  • 中断请求方式
  1. CPU执行现行程序;
  2. I/O进行数据准备,I/O发起中断请求;
  3. CPU响应中断请求,执行中断程序;
  4. CPU从中断程序返回,恢复执行;
  5. 中断请求方式接口电路:
    在这里插入图片描述
    注意排队器可以连接高一级的排队器以及低一级的排队器
  6. 中断隐指令:非指令,包括中断响应、程序断点进栈、关中断、向量地址送PC
  • DMA方式
  1. 停止CPU访问主存 :
    描述:DMA访问主存时停止CPU对主存的访问。
    优点:控制简单;
    缺点:未充分发挥CPU对主存的利用率;
  2. 周期窃取(挪用)
    DMA申请访问主存时分为三种情况:CPU没有访问主存、CPU正在访问主存、CPU和DMA同时访问主存。对于情况1,DMA可以直接占用CPU的存取周期;对于情况2,DMA需要等待CPU完成主存的访问;对于情况3,CPU将总线控制权让给DMA。
    总之,DMA最大。
  3. CPU和DMA交替访问主存
  4. DMA接口电路:
    在这里插入图片描述
    首先设备将数据送到BR(Buffer Register)中,然后向DMA控制逻辑单元发送数据请求(Data Request),之后DMA控制逻辑单元发送HRQ(估计是DMA占用请求)给到CPU,CPU返回应答信号HLDA,收到信号后,DMA接口将AR送至CPU,DMA控制逻辑单元发送DACK请求给设备,说明DMA传输已经准备完毕,数据可以开始进行传输了,随着WC不断增加直至溢出,中断机构发送中断请求,CPU执行后处理阶段
  • DMA方式与中断方式对比
    在这里插入图片描述
    注意两种方式的中断请求功能
  • 接口与端口
    端口(Port)是指接口中的一些寄存器,是用于存放控制信息、状态信息以及数据信息的
    接口(Interface)是由多个端口以及相应的控制逻辑组成;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值