计算机组成原理 — 前四章(期末复习版)

文章目录

  • 计算机系统概论
    • 计算机的性能指标
    • 运算器
    • 存储器
    • 控制器
    • 例题
  • 运算方法和运算器
    • 数据的类型
    • 数据与文字的表示方法
      • 数据格式(定点数表示)
      • 树的机器码表示
      • 数据格式(浮点数表示)
      • 校检码
      • 定点加法、减法运算
      • 定点乘法运算
      • 定点运算器
      • 例题
  • 多层存储器
    • 存储器概述(理解)
      • 存储器分类
      • 存储器的分级结构
      • 存储器的技术指标
    • SRAM存储器(理解)
      • 主存储器的构成
      • 基本的静态存储元阵列
      • 基本的SRAM逻辑结构
      • 读/写周期波形图
    • DRAM存储器(掌握)
      • DRAM控制电路构成
      • 刷新周期
      • 存储器容量的扩充
    • 只读存储器和FLASH存储器(了解)
      • 只读存储器ROM
      • FLASH存储器
    • 并行存储器(理解)
      • 多模块交叉存储器
    • Cache存储器(掌握)
      • Cache基本原理
      • 主存与cache的地址映射
    • 虚拟存储器(理解)
    • 例题
  • 指令系统
    • 指令系统的发展与性能要求
      • 对指令系统的发展
      • 对指令系统性能的要求
    • 指令格式
      • 操作码
      • 地址码
      • 指令字长度
    • 操作数类型
    • 指令和数据的寻址方式
      • 指令的寻址方式
      • 操作数寻址方式
    • 例题

计算机系统概论

通用计算机:单片机,微型机,小型机,中型机,大型机,超级计算机

计算机发展史:电子管(ENIAC) —— 晶体管 —— 中小规模集成电路 —— 大规模、超大规模集成电路 —— (有待发展)

冯.诺依曼:二进制表示方法和存储程序控制(计算机构想),EDVAC(计算机模型)

计算机组成原理 — 前四章(期末复习版)_第1张图片

现代计算机发展方向:巨型化、微型化、网络化、智能化、多媒体化

计算机的性能指标

吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量
响应时间:从输入有效到系统产生响应之间的时间度量,用时间单位来表示
利用率:在给定的时间间隔内,系统被实际使用的时间所占的比率,用百分比表示
处理机字长(机器字长):处理机运算器中一次能够完成二进制运算的位数,与系统数据总线宽度具有一定的相关性
总线宽度:一般指运算器与存储器之间的数据总线宽度
系统总线:构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。

主存储器容量:主存储器所能存储二进制数据的位数,或者说“主存储其中所有存储元(并非存储单元)的总数目”
存储元:用于保存一位0/1二进制数据的物理器件; 存储单元:能够保存一个字数据的器件,由若干个存储元构成;

主存储器带宽:单位时间内从主存储器读出的二进制信息量,一般用字节数/秒表示
主频:主时钟的频率叫CPU的主频,度量单位为MHz、GHz
时钟周期:主频的倒数,度量单位为微妙us、纳秒ns
CPU执行时间:CPU执行一般程序所占用的CPU时间。CPU执行时间 = CPI x 程序指令条数 x 时钟周期数
CPI:执行一条指令所需要的平均时钟周期数。平均CPI = 该程序所包含总的CPU时钟周期数 x 时钟周期数 = 某程序总的CPU时钟周期数 / 该程序包含的指令条数
MIPS:每秒百万指令数,即单位时间内执行的指令数。MIPS = 指令数 / (程序执行时间 x 10^6)
FLOPS:每秒百万次浮点操作数,衡量机器浮点操作的性能

计算机硬件:是指构成计算机的所有实体部件的集合,通常这些部件由电路(电子元件)、机械等物理部件组成

运算器

功能:处理所有的算术及逻辑运算,通常称为ALU

特点:

  • 采用二进制数据进行运算
  • 运算器一次可以处理的数据位数称为机器字长
  • 机器字长一般为8、16、32、64位,机器字长直接决定着运算的精度和能力

存储器

功能:保存所有的程序和数据

特点:

  • 二进制形式保存程序和数据;
  • 存储器是按存储单元组织的,读写存储单元必须给出单元地址

两个与主存相关的寄存器:

  • MAR(存储器地址寄存器):接收由CPU送来的地址信息
  • MDR(存储器数据寄存器):作为外界与存储器之间的数据通路

控制器

功能:根据所要执行指令的功能,按顺序发出各种控制命令,协调计算机各个部件的工作

主要任务:

  • 解释并执行指令
  • 控制指令的执行顺序
  • 负责指令执行过程中,操作数的寻址
  • 根据指令的执行,协调相关部件的工作

指令的形式:

  • 操作码:指出指令所进行的操作,如加、减、数据传送等
  • 地址码:指出进行以上操作的数据存放位置

相关概念:

  • 数据字:该字表示要处理的数据
  • 指令字:该字为一条指令
  • 指令流:取指周期中,从内存读出的信息流
  • 数据流:执行周期中,从内存读出的信息流

例题

例一:

计算机组成原理 — 前四章(期末复习版)_第2张图片

例二:
计算机组成原理 — 前四章(期末复习版)_第3张图片

例三:
冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是: 指令周期的不同阶段

解析:在取指周期中从存储器独处的信息即指令信息;而在执行周期中从存储器中读出的信息即为数据信息。


例四:什么是内存,外存,CPU,适配器,并简述其功能。

解:半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调工作。


补充内容:https://blog.csdn.net/qq_41086461/article/details/84404547

运算方法和运算器

计算机组成原理 — 前四章(期末复习版)_第4张图片

数据的类型

  • 按数制分:
    - 十进制
    - 二进制
    - 十六进制
  • 按数据格式分:
    - 真值:没有经过编码的直观数据表示方式
    - 机器数:符号化后的数值表示
  • 按数据的表示范围分:
    - 定点数:小数点位置固定,数据表示范围小
    - 浮点数:小数点位置不固定,数据表示范围较大
  • 按能否表示负数分:
    - 无符号数:数据所有位均为表示数值,只能表示正数
    - 有符号数:有正负之分,最高位为符号位,其余位表示数值

数据与文字的表示方法

数据格式(定点数表示)

  • 纯小数
    • 表示形式
      有符号数 |x| <= 1-2^(-n)
      无符号数 0 <= x <= 1-2^(-n)
    • 数据表示范围
      0.0···0 = 0 <= |x| <= 1-2^(-n) = 0.1···1
  • 纯整数
    • 表示形式
      有符号数 |x| <= 2^n-1
      无符号数 0 <= x <= 2^(n+1)-1

树的机器码表示

原码

  • 数据表示范围:
    • 定点小数:-1 < X < 1
    • 定点整数:-2^n < X < 2^n

补码

  • 数据表示范围:
    • 定点小数:-1 <= X < 1
    • 定点整数:-2^n <= X < 2^n
  • [[x]补]补 = [x]原,即对补码求补码是原码

求相反数的补码:连同符号位的所有位一起取反,末尾加一

移码

移码通常用于表示浮点数的阶码,与补码符号位相反,表示范围也与补码相同


计算机组成原理 — 前四章(期末复习版)_第5张图片

数据格式(浮点数表示)

浮点数:小数点位置可变,形如科学计数法中的数据表示

浮点数格式定义:N = R^e x M

  • M:尾数,是一个纯小数
  • R:基数,表示当前的数制
  • e:阶码,是一个整数

机器数的一般表示形式:

计算机组成原理 — 前四章(期末复习版)_第6张图片

浮点数规格化

目的:

  • 保证浮点数表示的唯一性
  • 保留更多的有效数字,提高运算的精度

要求:|尾数| >= 0.5

  • 尾数原码表示:最高数值位为1,正数0.1…,负数1.1…
  • 尾数补码表示:最高数值位和符号位相反,正数0.1…,负数1.0…

规格化处理:

  • 尾数向左移n位(小数点右移),阶码减n;—左规
  • 尾数向右移n位(小数点左移),阶码减n;—右规

浮点数的IEEE754标准

标准格式如下:

计算机组成原理 — 前四章(期末复习版)_第7张图片
  • 数符S:表示浮点数的符号,占1位
  • 尾数M:23位,原码纯小数表示,小数点在尾数域的最前面
    • 由于原码表示的规格化浮点数要求,最高数值位始终为1,因此该标准中隐藏最高数值位(1),位数实际值为1.M
  • 阶码E:8位,采用有偏移值的移码表示
    • 移127码,即E = e+(2^7-1) = e+127
  • 浮点数的真值:N = (-1)^s x (1.M) x 2^(E-127)

浮点数的最值:

计算机组成原理 — 前四章(期末复习版)_第8张图片

校检码

数据校验原因:为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的支持

数据校验基本原理:扩大码距

码距:任意两个合法码之间不用的二进制位的最少位数

奇偶校检码

根据数据中“1”的个数,设置1位校验位的值,分为奇校验和偶校验两种。

计算机组成原理 — 前四章(期末复习版)_第9张图片

海明校验码

实现原理:

  • 在一个数据中加入几个校验位,每个校验位和几个特定的信息位构成偶校验的关系
  • 接收端对每个偶关系进行校验,产生校验因子
  • 通过校正因子区分无错和码字中的n个不同位置的错误、

校验过程:

  • 确定校验位的位数
  • 确定校验位的位置
  • 校验分组
  • 校验位的形成
  • 接收端校验

设K为有效信息的位数,r为校验位的位数,则整个码字的位数N应满足不等式:

  • N = K + r <= 2^r - 1
  • 通常称为(N,K)为海明码

分组原则:每个校验位Pi从低到高被分在海明码中位号2^(i-1)的位置

校验原则:海明码的每一位Hi有多个校验位校验,其关系是被校验的每一位位号等于校验它的个校验位的位号之和;每个信息位的位置写成2的幂次之和的形式。

校验位形成公式:第i组中的所有位(除pi)求异或

为了能检测两个错误,增加一位校验P,放在最高位,其中P = 所有位求异或

码距越大,纠错能力越强,但数据冗余也越大,即编码效率低了。

具体流程可参见例题六。

循环冗余检验码(CRC)

无内容


奇偶校验码 海明校验码 循环冗余校验码
只能检错,无纠错能力 具有检错和纠错能力 具有很强的检错纠错能力

定点加法、减法运算

补码加法运算基本公式:

  • 定点整数:[X+Y]补 = [X]补 + [Y]补 (mod2^(n+1))
  • 定点小数:[X+Y]补 = [X]补 + [Y]补 (mod2)

补码减法运算基本公式:

  • 定点整数:[X-Y]补 = [X]补 + [-Y]补 (mod2^(n+1))
  • 定点小数:[X-Y]补 = [X]补 + [-Y]补 (mod2)

溢出:在定点数机器中,数的大小超出了定点数能表示的范围

溢出判别方法

  • 直接判别法
    • 同号补码相加,结果符号位与加数相反
    • 异号补码相减,结果符号位与减数相同
  • 变形补码(模4补码)判别法
    采用双符号位表示补码:00 — 正,01 — 上溢,10 — 下溢,11 — 负
  • 进位判别法
    最高数值位的进位与符号位的进位是否相同。
    溢出标志:V = Cf 异或 Cn-1

基本的二进制加法、减法器

一位二进制数据的全加器的逻辑结构

  • 两个输出端的逻辑表达式
计算机组成原理 — 前四章(期末复习版)_第10张图片
  • 全加运算的逻辑表达式
计算机组成原理 — 前四章(期末复习版)_第11张图片
  • 全加器逻辑结构
计算机组成原理 — 前四章(期末复习版)_第12张图片

定点乘法运算

  1. 分析笔算乘法
    简单的多位乘法计算,不过多描述
  2. 笔算乘法改进
    由乘数的末位决定被乘数是否与原部分积相加;部分积右移一位形成新的部分积;同时乘数右移一位(末位移丢);空出高位存放部分积的低位。

    被乘数为0.1101,乘数为0.1011
计算机组成原理 — 前四章(期末复习版)_第13张图片

串行乘法

原码一位乘法,计算流程参见例题七。

原码两位乘法运算规则表

计算机组成原理 — 前四章(期末复习版)_第14张图片
具体计算流程可参见例题八。

直接补码并行乘法

了解内容:

计算机组成原理 — 前四章(期末复习版)_第15张图片

定点运算器

内部总线:指CPU内各部件的连线
外部总线:指系统总线,即CPU与存储器、I/O系统之间的连线
单向总线:信息只能向一个方向传送
双向总线:信息可以分为两个方向传送,既可以发送数据,也可以接收数据

  • 单总线结构的运送器
    • 同一时间内,只能有一个操作数放在单总线上
    • 缺点:操作速度较慢
    • 优点:控制电路比较简单
  • 双总线结构的运算器
    • 两个操作数同时加到ALU进行运算
  • 三总线结构的运算器
    • ALU的两个输入端分别由两条总线供给

例题

例一
设机器字长16位,定点表示,数值15位,数符1位,问 (1)定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?

解析:
计算机组成原理 — 前四章(期末复习版)_第16张图片

例二
设浮点数的阶码6位(含符号位),尾数为10位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。

解析:这道题在计算最小正数的时候一定要记得规格化
计算机组成原理 — 前四章(期末复习版)_第17张图片

例三
若浮点数x的754标准存储格式为16进制 41360000,求其浮点数的十进制数值

解析:

计算机组成原理 — 前四章(期末复习版)_第18张图片

例四
将10进制 20.59375转换为754标准的32位浮点数的二进制存储格式

解析:
计算机组成原理 — 前四章(期末复习版)_第19张图片

例五
计算机组成原理 — 前四章(期末复习版)_第20张图片

例六
设待校验的数据为D7~D0 = 10101011,写出其海明校验码
解析:
计算机组成原理 — 前四章(期末复习版)_第21张图片

例七
设 X = 00.1101, Y = 0.1011,由原码乘法求[XY]原
解析:
计算机组成原理 — 前四章(期末复习版)_第22张图片

例八
设X = -0.1101,Y = 0.0110,由原码两位乘法求[XY]原
解析:
计算机组成原理 — 前四章(期末复习版)_第23张图片

例九
float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是 2^128 - 2^104
解析:
计算机组成原理 — 前四章(期末复习版)_第24张图片

例十
某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=1111 0100和[y]补=1011 0000,若整型变量z =2*x+y/2,则z的机器数为 1100 0000
解析:

乘以2为左移一位:2x=1110 1000
除以2为右移一位:y/2=1101 1000

例十一
下列有关浮点数加减运算的叙述中,正确的是_I、II、III、IV_ 。 Ⅰ. 对阶操作不会引起阶码上溢或下溢 Ⅱ. 右规和尾数舍入都可能引起阶码上溢 Ⅲ. 左规时可能引起阶码下溢 Ⅳ. 尾数溢出时结果不一定溢出
解析:考查浮点数的加减运算。

计算机组成原理 — 前四章(期末复习版)_第25张图片

多层存储器

存储器概述(理解)

存储器分类

  • 按存储介质分
    • 半导体存储器:系统主存、cache
    • 磁表面存储器:软盘、硬盘、磁带
    • 光盘存储器:光盘
  • 按存取方式分
    • 随机存储器:半导体存储器
    • 顺序存储器:磁带
    • 半顺序存储器:磁盘存储器
  • 按存储内容可变性分
    • 只读存储器(ROM)
    • 随机读写存储器(RAM)
  • 按信息易失性分
    • 易失性存储器:半导体存储器
    • 非易失性存储器:磁盘光盘
  • 按在计算机系统中的作用分
    • 主存储器:能被CPU直接访问,速度较快,用于保存系统当前运行所需的所有程序和数据
    • 辅助存储器:不能被CPU直接访问,速度较慢,用于保存系统中所有的程序和数据
    • 高速缓冲存储器(cache):能够被CPU直接访问,速度快,用于保存系统当前运行中频繁使用的程序和数据
    • 控制存储器:CPU内部的存储我器

EPROM:光擦除可编程的只读存储器
CD-ROM: 串行存取方式,顺序存储

存储器的分级结构

计算机组成原理 — 前四章(期末复习版)_第26张图片

存储器的技术指标

存储容量:指存储器能存放二进制代码的总数

  • 存储容量 = 存储单元个数 x 存储字长
  • 存储容量 = 存储单元个数 x 存储字长 / 8
    单位为B(字节)

存取周期

  • 存储器连续启动两次独立的访问操作所需的最小间隔时间
  • 以ns为单位,存储周期 = 存取时间 + 复原时间

存储器带宽

  • 每秒从存储器进出信息的最大数量
  • 单位为位/秒或者字节/秒,存储带宽 = 每周期的信息量 / 周期时长

SRAM存储器(理解)

主存储器的构成

  • 静态RAM(SRAM)
    • 主要用于构成cache
    • 优点:访问速度快,只要不掉电可以永久保存信息
    • 缺点:集成度低,功耗大,价格高
  • 动态RAM(DRAM)
    • 主要用于构成系统主存
    • 优点:集成度高,功耗约为SRAM的1/6,价格低
    • 缺点:访问速度慢,电容的放电作用会使信息丢失,要长期保存数据必须定期刷新存储单元

基本的静态存储元阵列

地址线:2^n个单元,对应有n根地址线
数据线:每个单元m位,对应有m根数据线
控制线

  • 读写控制信号R/W:1——读,0——写;
  • 片选控制信号CS:1——未选通,0——选通;

基本的SRAM逻辑结构

组成

  • 存储体
    • 存储单元的集合,按位将各存储元组织成一个存储矩阵
    • 不同的存储器采用不同的译码方式来选择存储单元
  • 地址译码器
    将CPU发出的地址信息转换成存储元讯通信号的电路
  • 译码驱动器
    用于增强译码输出选择线的驱动能力
  • I/O控制电路
    一般包括读写电路和放大电路

读/写周期波形图

存储器读/写的原则

  • 读/写信号要在地址和片选均起作用,并经过一段时间后有效;
  • 读写信号有效期间不允许地址、数据发生变化;
  • 地址、数据要维持整个周期内有效;

读周期时间(Trc)、写周期时间(Twc)

  • 存储器进行两次连续的读/写操作所必须的间隔时间;
  • 大于实际的读出/写入时间;

读周期

读出时间(Taq):从地址有效到外部数据总线上的数据信息稳定所经历的时间

片选有效时间(Teq)、读控制有效时间(Tgq):从地址译码后,到数据稳定的时间间隔;片选信号、读控制信号所需要的维持的最短时间,二者相等。

计算机组成原理 — 前四章(期末复习版)_第27张图片

写周期

写入时间(Twd):地址控制信号稳定后,到数据写入存储器所经历的时间

维持时间(Thd):读控制信号失效后的数据维持时间

计算机组成原理 — 前四章(期末复习版)_第28张图片

DRAM存储器(掌握)

DRAM控制电路构成

地址多路开关:刷新时需要提供刷新地址,非刷新时需提供读写地址

刷新定时器:间隔固定的时间提供一次刷新请求

刷新地址计数器:刷新按行进行,用于提供对所要刷新的行进行计数

仲裁电路:对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定

定时发生器:提供行地址选通/RAS、列地址选通/CAS和写信号/WE

DRAM的读写周期与SRAM相似,差别在于:

  • 行列地址分开传送,在同一个读写周期内地址会发生变化
  • 列选通信号/CAS要滞后于行选通信号/RAS一段时间

刷新周期

刷新:在固定时间内对所有存储单元,通过“读出(不输出)— 写入”的方式回复信息的操作过程

刷新方式:以存储矩阵的行为单位刷新

  • 集中式刷新
    • 在一个刷新周期内,利用一段固定时间,依次对存储矩阵的所有行注意刷新,在此期间停止对存储器的读/写操作
    • 存在死区时间,会影响cpu的访存操作
  • 分散式刷新(异步刷新)
    • 在一个刷新周期内,分散的刷新存储器的所有行
    • 既不会产生明显的读写停顿,也不会延长系统的存取周期

存储器容量的扩充

SARM、DRAM、ROM均可进行容量扩展
位扩展
存储单元数不变,每个单元的位数(字长)增加

存储芯片与cpu的引脚连接方式:

  • 地址线:各芯片的地址线直接与CPU地址线连接
  • 数据线:各芯片的数据线分别与CPU数据线的不同位连接
  • 片选及读写线:各芯片的片选及读写信号直接与CPU的访存及读写信号连接

CPU对该存储器的访问是对各位扩展芯片相同地址单元的同时访问

由1K x 4的存储芯片构成1K x 8的存储器:

计算机组成原理 — 前四章(期末复习版)_第29张图片

字扩展
每个单元位数不变,总的单元个数增加

存储芯片与cpu的引脚连接方式:

  • 地址线:各芯片的地址线与CPU的低位地址线直接连接
  • 数据线:各芯片的数据线直接与CPU数据线连接
  • 读写线:各芯片的读写信号直接与CPU的读写信号连接
  • 片选信号:各芯片的片选信号由CPU的高位地址和访存信号产生

CPU对该存储器的访问是某一字扩展芯片的一个单元访问

由1K x 8的存储芯片构成2K x 8的存储器:

计算机组成原理 — 前四章(期末复习版)_第30张图片

字位扩展

每个单元位数和总的单元个数都增加

扩展方法:

  • 先进行位扩展,形成满足为要求的存储芯片组
  • 在使用存储芯片组进行字扩展

要求:能够计算出字位扩展所需的存储芯片的数目
例如:用L X K的芯片构成M X N的存储系统,所需的芯片数为 M / L X N / K


动态RAM和静态RAM的比较:

计算机组成原理 — 前四章(期末复习版)_第31张图片

只读存储器和FLASH存储器(了解)

只读存储器ROM

  • 掩模式ROM
    • 定义:数据在芯片制造过程中写入,不能更改
    • 优点:可靠性、集成度,价格便宜
    • 缺点:通用性差,不能改写内容
  • 一次编程ROM(PROM)
    • 定义:用户第一次使用时写入确定内容
    • 优点:用户根据需要对ROM编程
    • 缺点:只能写入一次,不能更改
  • 多次编程ROM
    • 定义:可用紫外光照射或电擦除多次改写其中内容
    • 优点:通用性较好,可反复使用

FLASH存储器

一种高密度、非易失性的读/写半导体存储器
以E^2PROM为基础,电擦除方式修改其内容

并行存储器(理解)

多模块交叉存储器

多模块交叉存储器采用时间并行技术

存储器的模块化组织方式有两种,分别是顺序方式和交叉方式

顺序方式

  • 优点:通过直接增添模块来扩充存储器容量比较方便
  • 缺点:各模块串行工作,存储器的带宽受到了限制

每个模块上的单元地址是连续的

某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作

存储单元地址:

  • 高位 —— 模块号
  • 低位 —— 模块内的字号
计算机组成原理 — 前四章(期末复习版)_第32张图片

交叉方式

  • 优点:块数据传送时,可大大提高存储器的带宽
  • 缺点:模块间的依赖性强,且不易进行存储器的容量扩充

某个模块的单元地址是不连续的;连续地址分布在相邻的不同模块内

对于数据的成块传送,各模块可以实现多模块流水式并行存取

存储单元地址:

  • 低位 —— 模块号
  • 高位 —— 模块内的字号
计算机组成原理 — 前四章(期末复习版)_第33张图片

Cache存储器(掌握)

Cache基本原理

使用cache的原因:CPU速度越来越快,主存储器与CPU的速度差距越来越大,影响CPU的工作效率

cache的作用:

  • 在CPU和主存之间加一块高速的SRAM(Cache)
  • 主存中将要被访问的数据提前送到Cache中
  • CPU访存时,先访存cache,若没有再进行数据调度

结构模块化:

  • CPU访问cache或主存时,以字为单位
  • cache和主存交换信息时,以块为单位,一次读入一块或多块内容
  • cache的每行都设置有标记,CPU访问程序或数据时,先访问标记

Cache的命中率:

  • 命中率是指CPU要访问的信息在cache中的比率
    命中率 = 访问信息在cache中的次数 / 访问总次数 (一般大于95%)
  • 失效率 = 1 - 命中率
  • 影响命中率的主要因素
    • cache容量:过小时,局部信息装不完,命中率低;过大时,对提高效率不明显,且成本高
    • cache中块的大小:一般用一个主存周期所能调出的单元数(字或字节)作为一个块大小

主存系统的平均访问时间

计算机组成原理 — 前四章(期末复习版)_第34张图片

主存与cache的地址映射

地址映射的方式:全相连映射、直接映射、组相连映射

全相连映射

映射关系:主存中的任意字块可调进cache的任一行中

地址映射:

  • 主存中数据块调入cache时,可以调入cache的任一空行
  • 调入的同时,将主存标记和cache的行号同时写入块表

全相连映射的主存地址格式

计算机组成原理 — 前四章(期末复习版)_第35张图片

优点:灵活性好(最理想)
缺点:成本高;速度太慢;一般较少使用

具体解题步骤见例题八

直接映射

映射关系:

  • 主存中的每一块数据只能调入cache的特定行中
  • 直接映射函数为:i = j mod 2^c
    其中主存块号为j,cache行号为i,c是cache行地址的位数

地址映射:

  • 主存中数据调入cache时,只能调入cache的特定行
  • 同时,将主存标记写入块表中与cache行地址相同的单元

直接映射方式下的主存地址格式

计算机组成原理 — 前四章(期末复习版)_第36张图片

优点:该映射函数实现简单,查找速度快
缺点:灵活性差

具体解题步骤见例题八

组相连映射

映射关系:

  • 将cache中的行等分位若干组,主存中的每一块只能映射到cache的特定组中,但是可调入到该组的任一行中
  • 组间为直接映射,组内为全相连映射

设cache共u组,每组r行,则映射函数如下:
组号 q = j mod u
j —— 主存块号

当cache的一组包含r行时,通常称为r路组相连映射

地址映射

  • 主存中数据块调入cache时,只能调入cache的特定组
  • 在该组内,可选择任一行调入数据
  • 调入的同时,将主存标记和cache的组内行号写入块表

组相连映射的特点

计算机组成原理 — 前四章(期末复习版)_第37张图片
计算机组成原理 — 前四章(期末复习版)_第38张图片

虚拟存储器(理解)

虚拟存储器的使用

  • 物理内存容量有限,难以满足实际使用的需要
  • 利用辅存空间,将数据在辅存与主存之间调度
  • 用户实际访问的仍然是主存,利用辅存的部分空间保存暂时不用的主存内的数据

虚拟存储器、TLB和Cache的关系

计算机组成原理 — 前四章(期末复习版)_第39张图片

理解内容,不多详细介绍了。

例题

例一

设某存储器的存储矩阵为128x128,存取周期为0.5us,RAM刷新周期为2ms
1. 若采用集中式刷新方式,试分析其刷新过程。
2. 若采用分散式刷新方式,试分析其刷新过程。

解析:

1)

计算机组成原理 — 前四章(期末复习版)_第40张图片
2)
计算机组成原理 — 前四章(期末复习版)_第41张图片

例二
17.下列存储器中,在工作期间需要周期性刷新的是 _B_. A.SRAM B.SDRAM C.ROM D.FLASH

解析:

DRAM的数据以电荷的形式保存在电容中,需要以刷新的方式,不断为电容充放电;而SRAM则以双稳态为存储单元,不需要周期性的刷新。

例三
用16K x 8的芯片构成64K x 8的存储器

解析:

计算机组成原理 — 前四章(期末复习版)_第42张图片
计算机组成原理 — 前四章(期末复习版)_第43张图片

例四
CPU有16根地址线,8根数据线,要求主存地址空间满足:最小8k为系统程序区,与其相邻的16k地址为用户程序区,最大4k地址空间为系统程序工作区,画出逻辑图及指出芯片种类及片数
可选存储芯片:1K x 4RAM; 4K 8RAM; 8K x 8RAM; 2K x 8ROM; 4K x 8ROM; 8K x 8ROM

解析:

计算机组成原理 — 前四章(期末复习版)_第44张图片

例五
假定用若干个2k x 4位芯片组成一个8k x 8的存储器,则地址0B1FH所在芯片的最小地址是 _0800H_

解析:考查主存储器扩展的地址分配

计算机组成原理 — 前四章(期末复习版)_第45张图片

例六
设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度64位,总线传送周期T=50ns。问顺序存储器和交叉存储器的带宽各是多少?

解析:

计算机组成原理 — 前四章(期末复习版)_第46张图片

例七
CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间

解析:

计算机组成原理 — 前四章(期末复习版)_第47张图片

例八
设主存容量1MB,Cache容量为16KB,块的大小为512B,分别采用全相连映射方式、直接相连映射

解析:

全相连映射:

计算机组成原理 — 前四章(期末复习版)_第48张图片

直接相连映射:

计算机组成原理 — 前四章(期末复习版)_第49张图片

例九
设主存共512个单元,cache共32个单元,块大小为8个字节,试用直接映射方式组织cache

解析:

计算机组成原理 — 前四章(期末复习版)_第50张图片

例十
某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32字节,按字节编址。主存129号单元所在主存块应装入到的Cache组号是(4 )。

解析:

组相联映射方式下,主存块按模Q(Q为Cache组数)映射到Cache对应组中的任一块;Cache共有16块,采用2路组相联映射,故Cache共分16/2=8组;主存块大小为32字节,按字节编址,故主存129号单元所在主存块为第129/32=4块;4 Mod 8=4,故129号单元所在主存块应装入Cache第4组中任一块

指令系统

指令系统的发展与性能要求

对指令系统的发展

程序 —— 用于解决实际问题的一系列指令
指令 —— 是计算机执行某种操作的命令

计算机指令分为:

  • 微指令:微程序级的命令,属于硬件
  • 机器指令:可完成一个独立的算术或逻辑运算
  • 宏指令:由若干条机器指令组成的软件指令,属于软件

指令系统:一台计算机中所有机器指令的集合

对指令系统性能的要求

  • 完备性
  • 有效性
  • 规整性,包括对称性、匀齐性、指令格式和数据长度的一致性
  • 兼容性

指令格式

指令字:表示一条指令的机器字

指令格式

  • 指令字用二进制代码表示的结构形式,有操作码字段和地址码字段组成
  • 操作码字段:表征指令的操作特性和功能
  • 地址码字段:通常指定参与操作的操作数的地址

操作码

操作码字段的位数取决于指令系统的规模
操作码的类型

  • 固定长度的操作码
  • 可变长度的操作码

地址码

一条指令格式中有几个地址码字段,就称为是几地址指令

零地址指令

无任何操作数运算:如NOP、HALT等指令
单操作数运算:隐含一个操作数,如Acc

一地址指令

单操作数运算:OP(A1) —> A1,如INC指令
双操作数运算:隐含一个操作数

两地址指令

功能:(A1)OP(A2)—> A1,如ADD、XOR等指令

按操作数的寻址方式可分为RR型、RS型、SS型三种

  • 存储器-存储器(SS)型指令
    • A1、A2均为存储单元
    • 这类指令的执行需要多次访存
    • 变址寄存器是存储器
  • 寄存器-寄存器(RR)型指令
    • A1、A2均为寄存器(通用寄存器、专用寄存器)
    • 这类指令执行不需要访存
  • 寄存器-存储器(RS)型指令
    • A1、A2中一个为寄存器,一个为存储单元
    • 执行此类指令时,纪要访问内存单元,又要访问寄存器

RR型指令不需要访问存储器,所花时间最短;
RS型指令需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也需要时间
SS指令虽然也访问存储器,但节省了求有效地址运算的时间开销


三地址指令

功能:(A1)OP(A2)—> A3

多地址指令

这类指令功能强,一般用高档小型机或中大型机,用于实现成批数据处理,字符串处理、向量或矩阵运算指令等

指令字长度

机器字长:运算器一次能处理的二进制的位数

指令字长

  • 一个指令字中包含二进制代码的位数
  • 指令字长由操作码长度、操作数长度和个数共同决定

指令有半子长、单字长、双字长、多字长等不同的长度类型

指令系统可分为等长指令字结构、变长指令字结构两种

指令助记符:使用3~4个英文缩写字母来表示的指令操作码

操作数类型

机器指令对数据进行操作,数据通常分为一下四类:

  • 地址数据(如各指令中的存储器单元寻址方式)
  • 数值数据(如各类指令中的立即数寻址方式)
  • 逻辑数据(如各类指令中的标志位判断部分)

指令和数据的寻址方式

指令的寻址方式

  1. 顺序寻址方式
    由程序计数器/指令指针寄存器记录所要执行指令的地址
  2. 跳跃寻址方式
    程序计数器的内容由本条指令给出,而不是顺序改变
    直接寻址方式:指令中给出要转向的有效地址
    相对寻址方式:指令中给出要转向单元与当前单元的偏移量
    间接寻址方式:指令中给出保存要转向地址的寄存器或存储单元

操作数寻址方式

典型二常用的寻址方式有:

  • 隐含寻址:操作数地址隐含在操作码中
  • 立即寻址:指令执行阶段不需要访存,速度快
  • 寄存器寻址:形式地址字段为寄存器编号
  • 寄存器间接寻址:形式地址字段用于指出存放有效地址的寄存器编号
  • 直接寻址:有效地址由形式地址字段直接给出
  • 间接寻址:有效地址由形式地址字段间接提供
  • 偏移寻址
  • 堆栈寻址:隐含寻址方式的一种变形
  • 基址寻址:由基址寄存器和形式地址形成
  • 变址寻址:由变址寄存器和形式地址形成
  • 相对寻址方式:是基址寻址的一种变通,常用于转移类指令中

例题

例一

采用操作码扩展方法设计一个具有三地址指令15条,双地址指令12条,单地址指令32条以及零地址指令16条的指令系统?

解析:此指令系统共75条指令,还可扩展指令

计算机组成原理 — 前四章(期末复习版)_第51张图片

例二

某机指令字长32位,一个操作数地址为12位,有双地址码、单地址码、零地址码3种格式的指令。若采用扩展操作码的方式来设计指令,已知双地址码指令K条,单地址码指令L条,问零地址码指令有多少条?

解析:

计算机组成原理 — 前四章(期末复习版)_第52张图片
计算机组成原理 — 前四章(期末复习版)_第53张图片

例三

计算机组成原理 — 前四章(期末复习版)_第54张图片

例四

计算机组成原理 — 前四章(期末复习版)_第55张图片

例五

计算机组成原理 — 前四章(期末复习版)_第56张图片

例六

某计算机有16个通用寄存器,采用32位定长指令字操作码字段(含寻址方式位)为8位,Store指令的源操作数和目的操作数分别采用寄存器直接寻址和基址寻址方式,若基址寄存器可使用任一通用寄存器,且偏移量用补码表示,则Store指令中偏移量的取值范围是(-32768~+32767)

例七

某计算机按字节编址,指令字长固定且只有两种指令格式,其中三地址指令29条,二地址指令107条,每个地址字段为6位,则指令字长至少应该是 _24_ 位

解析:
三地址指令有29条,所以它的操作码至少为5位。以5位进行计算,它剩余32-29=3种操作码给二地址。而二地址另外多了6位给操作码,因此它数量最大达3*64=192。所以指令字长最少为23位( 6 + 6 +6 + 5 = 26),因为计算机按字节编址,需要是8的倍数,所以指令字长至少应该是24位。

例八
某计算机字长为32位,主存容量为64KB,采用单字长单地址指令,共有40条指令。试采用直接、立即、变址、相对四种寻址方式设计指令格式

解析:

计算机组成原理 — 前四章(期末复习版)_第57张图片

例九
某计算机字长为32位,CPU中有16个32位通用寄存器,设计一种能容纳64种操作的指令系统,如果采用通用寄存器做基址寄存器,则RS型指令的最大存储空间是多少

解析:

计算机组成原理 — 前四章(期末复习版)_第58张图片

例十

  1. 操作数在寄存器中,为(寄存器寻址)方式;
  2. 操作数地址在寄存器中,为(寄存器间接寻址)方式
  3. 操作数在指令中,为(立即寻址)方式
  4. 操作数地址在指令中,为(直接寻址)方式
  5. 操作数的地址,为某一寄存器内容与位移量之和,可以是(基址、变址、相对)寻址方式

你可能感兴趣的:(计算机组成原理)