计算机组成原理要点|计算机系统概述|数的表示|存储系统|指令系统|中央处理器|总线系统|外围设备|IO系统

计组要点


  • 这个笔记纯属是为了考试而作的。完整版的只更新了两章就不发出来了😭

这学期遇到了一个超级好的计组老师,不拘泥于课本上的知识,总是用<系统思维>来教我们,这里再次感谢。
老师语录:(还有的上课划水可能没听到~)

  • 学习的知识不重要,重要的是其背后的思维
  • 用有限的长度表示复杂的现实世界 – 编码
  • 控制的本质:在恰当的时间(时钟),在恰当的地方(模板),给出恰当的命令(开还是关)。(当上职场高层后,控制下层道理一样)

系统思维:

系统思维
功能:需求
结构:模块化
原理:具体设计

第一章
1、性能指标

性能参数

  • 吞吐量:一段时间内能够处理的信息量
  • 响应时间:从输入到产生响应之间的时间
  • 利用率:一段时间内,计算机被实际使用的时间所占的比率
  • 处理机字长:运算器中一次能够完成二进制运算的位数。**32位操作系统指这里 ** 32位机也指这里
  • 总线宽度:运算器与存储器之间总线二进制宽度。
  • 存储器容量:存储器中存储单元的数目
  • 存储器带宽:单位时间内从存储器中读出的二进制信息量(不是一次读取出来的信息量)
  • 主频/时钟周期:cpu的工作节拍受主时钟的控制,主时钟的频率叫cpu的主频。30MHz主频,说明1秒内CPU完成30M个动作。
  • cpu执行时间:指执行程序所占的cpu时间
  • CPI:表示执行一条指令所需的平均周期数
  • MIPS:平均每秒执行多少百万条指令(衡量整体性能)
  • FLOPS:每秒执行浮点数操作的次数(衡量操作性能)
  • 各个总线宽度
    • 数据(内部)总线宽度:指芯片内部数据传送的宽度,决定一次能够处理二进制的位数 (处理器字长)
    • 外部总线宽度:芯片内和芯片外交换数据的宽度 (总线宽度)
    • 地址总线宽度:专用于传送地址的总线宽度,决定寻址空间的大小

例题
在这里插入图片描述
在这里插入图片描述

2、硬件组成元素
  • 运算器:进行算术及逻辑运算,通常称为ALU(算术逻辑运算部件)
  • 存储器:存储指令和数据
  • 控制器:根据指令控制计算机各部件进行工作
  • 输入设备:把人们熟悉的某种信息形式变换为机器能识别的二进制形式
  • 输出设备:把计算机处理的结果变换为人或其他机器设备所能接收和识别的信息形式
  • (输入输出设备体现了 “人与机器之间的交流” (我乱编的))
  • 适配器:相当于一个转换器,可以保证外围设备用计算机系统特性所要求的形式发送或接收信息
3、系统程序

系统程序:用来简化程序的设计。相对于应用程序来说。

  • 各种服务性的程序,如诊断,排错程序
  • 语言程序,如汇编程序、编译程序、解释程序
  • 操作系统
  • 数据库管理系统
  • 实用程序是系统软件中的一组常用程序,它向操作系统、应用软件和用户提供经常需要的功能,如编辑程序、连接装配程序、文卷操作程序和调试程序等
4、层次结构

从编程角度:

在这里插入图片描述

从软件硬件角度:

在这里插入图片描述

第二章
1、定点数

基本概念

  • 定点格式,即约定机器中所有数据的小数点的位置是固定不变的

  • 格式图如下:

在这里插入图片描述

纯小数

  • 点在Xn 到 Xn-1 之间
  • 范围:0 <= |X| <= 1 - 2^(-n)

纯整数

  • 点在X0右边
  • 范围:0 <= |X| <= 2^(n) - 1
2、原反补移码

机器码

太简单了,不解释。

  1. 原码
  2. 反码
  3. 补码
  4. 移码
    • 符号位与补码相反,其它相同
    • 移码是补码的偏移

表示范围

在这里插入图片描述

3、IEEE32位浮点格式

普通浮点数 相关概念

  1. 定义:数的小数点随着比例因子的不同而在一定范围内可以自由浮动,称为浮点表示法

  2. 格式:
    在这里插入图片描述

  3. 机器浮点数表示法应该有的部分(以-2.7 * 10^(-3) 为例):

    • 阶符:-3前面的符号
    • 阶码:3
    • 数符:-2.7前面的符号
    • 尾数:2.7

IEEE754 32位标准

  • 相关规则:

    • 位数分配:1符号S,8阶码E,23尾数M
    • 尾数用原码 , 指数用移码
    • 浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127
    • 在尾数最前面有一个隐藏位 1
    • 特殊数值:
    阶码尾数(别忘记隐藏位)强制规定意义
    255不为0NaN(no a number)
    2550正负无穷(正负看符号位)
    00正负零(由于隐藏位1,实际上只是无限接近0)
    0 < E < 255任意正常规格数
  • 表示范围:10^(-38) ~10^(38) 即 2^(-127) ~ 2^(128)

  • 求标准化所能表示的最大数与最小数思路:

    注意尾数隐藏位
    正数
    最大正数
    绝对值最大:E全部置1,尾数全1
    最小正数
    绝对值最小:E全部置0,尾数全0
    负数
    最大负数
    绝对值最小:E全部置0,尾数全0
    最小负数
    绝对值最大:E全部置1,尾数全1
4、汉字编码

基本概念

  1. 输入编码:是用来将汉字输入到计算机中的一组键盘符号。如拼音输入编码,五笔输入编码
  2. 机内码:指计算机内部存储,处理加工和传输汉字时所用的由0和1符号组成的代码
  3. 字模码:用点阵表示汉字字形代码,是汉字的输出形式
  4. 三者分别代表着:输入、内部处理 和 输出

关系图

核心:汉字
IO输入现实汉字到机器的表示:输入编码
汉字01机器内表示:机内码
IO显示:字模码
5、定点加减法

加减法

  1. 补码加法

    • [X]补 + [Y]补 = [X + Y]补 (mod 2^(n + 1) 相当于把高位的进位舍去
  2. 补码减法

    • [X - Y]补(减完后再补) = [X]补 - [Y]补(补完后再减) = [X]补 + [-Y]补(减号内提)
    • [-Y]补 = ~[Y]补 + 2^(-n) (纯小数)(~代表全部位按位取反)
    • [-Y]补 = ~[Y]补 + 1 (纯整数) (~代表全部位按位取反)
    • 即负数的补码 是 原正数原码 取反 加 1 (这里指包括符号位)

溢出及检测

两种方法:

  1. 变形补码
    • 用两位表示一个符号,00代表正数,11代表负数
    • 加减过程中,如果符号为变成01为正溢(上溢);10为负溢(下溢)
    • 可以数的表示范围扩大一倍。这里的扩大一位指的是结果数的扩大,而不是原来表示数的扩大。
  2. 单符号位法
    • 溢出逻辑表达式:V = 符号进位Cf最高有效位进位C0
    • 01和10在Cf 和 C0 中表示上下溢出跟变形补码一样。如Cf = 1, C0 = 0, 则是10,负溢出。
5、浮点加减法

基本步骤

  1. 0操作数检查
  2. 比较阶码大小,完成对阶(小阶向大阶看)
  3. 尾数进行加或减运算
  4. 结果规格化
  5. 舍入处理(l超一半进,否则舍)

规格化细节

在这里插入图片描述
在这里插入图片描述

例题

  • 一定要注意[Y]浮点数表示是负数,所以是负数的补码,要变形!

在这里插入图片描述

6、浮点流水线
  • 流水线原理在第三章中有详细描述。
  • 4级浮点加法器包含四个部件 :求阶差,对阶,相加,规格化
  • 加速比:
    • 周期相等时:串行所需周期数 / 并行所需周期数, kn / k + (n - 1)
    • 周期不相等时,要用 串行所需时间 / 并行所需时间。 (当周期不等时,并行的时间是按最大的那个时间来定周期的)
  • 吞吐率:任务总数 / 总时间,即单位时间内任务完成的数目

在这里插入图片描述

第三章存储系统
1、存储系统概述

多级储存结构

  1. 使用的原因:解决成本和性能之间的矛盾

  2. 内存储器:正在执行的程序的指令和数据存储在CPU能直接访问的存储器中,这种存储器称为内存

  3. 外存储器:在内存储器之外,容量更大,但访问速度稍慢

  4. 内存和外存构成了两级存储系统

  5. 高速缓冲存储器:在常规内存和CPU之间增加一个cache

  6. 三级存储系统的组成:cache-主存-外存

在这里插入图片描述

  1. 多级存储系统的组成:

在这里插入图片描述

存储器分类

  1. 存储位元:可以存储一位二进制代码数据
  2. 存储单元:由若干存储位元组成一个存储单元,然后由许多存储单元组成存储器
  3. 按存取方式分类:
    • 随机存取存储器:如果存储器中任何存储单元的内容都能被随机存取,且存取时间和存储元的物理位置无关
    • 顺序存取存储器:只能按某种顺序来存取,如磁带
    • 半顺序(直接)存取存储器:如磁盘,沿磁道方向顺序,垂直半径方向随机
  4. 按读写功能分类:
    • ROM:read only memory 只能读出,不能写入
    • RAM:random access memory 能读能写
  5. RAM:
    • SRAM(static): 用半导体的“导通”和“截止”来记忆,不掉电,储存信息不会丢失
    • DRAM(dynamic): 用电荷储存在电容上,要周期性刷新,否则信息丢失

端模式

  1. 小端模式:将一个字的低有效字节放在内存的低地址端
  2. 大端模式:将一个字的高有效字节放在内存的低地址端
2、静态随机存取存储器

基本静态存储元阵列

  • 地址线:决定了存储器的存储单元总容量(即有几个字)
  • 数据线:决定了存储器一个字是几位(位数)
  • 控制线:控制读写
  • 行线:选择线0~63称为行线,作用是打开一个字(4个存储位元)逻辑门

在这里插入图片描述

基本SRAM逻辑结构

  • 采用双译码方式,把地址分为x、y两个方向,在存储阵列中完成第二级交叉译码
  • 控制线含义(低电平有效):
    • CS:片选信号
    • OE:读出使能(out enable)
    • WE:写入使能(write enable)

在这里插入图片描述

容量扩充

  1. 位扩展:若给定的芯片地址数符合要求,但位数较短,需要把多片存储器芯片组合起来,让多片芯片并行工作。

    控制线、地址线共用。数据线分成高、低位。

在这里插入图片描述

  1. 字扩展:让多片芯片分时工作

    地址线高几位用于片选(译码器),低几位直接打入地址选择。控制线共用。数据线共用。

    MREQ:memory request

在这里插入图片描述

  1. 字位扩展:先进行位扩展,再进行字扩展
3、动态随机存取存储器

基本概念

  1. DRAM:存储密度很高,通常用作计算机的主存储器。但读写速度比DRAM慢。
  2. 与DRAM不同的是,增加了行地址锁存器和列地址锁存器

刷新操作

  1. DRAM的读操作是破坏性的,读操作会使电容器上的电荷流失,所以读出后要刷新。
  2. 没有读的存储元也要定时刷新,原因是电荷会逐渐泄漏
  3. 从外部看,刷新操作与读操作类似,只是刷新时无须送出数据,并且可以将一行的所有存储元同时刷新
  4. 刷新周期:DRAM器件的刷新间隔时间。主流为64ms。
  5. 集中式刷新策略:
    • 每一个刷新周期中集中一段时间对所有行进行刷新
    • 刷新周期分为两个部分:一是进行正常读写,二是刷新操作
    • 刷新操作的优先级比读写高,当刷新时,数据线输出被封锁。称为“死时间”
  6. 分散式刷新策略:
    • 每一行的刷新操作被均匀地分配到刷新周期时间内。
    • 例如对一片有8192行,刷新周期为64ms的DRAM来说,由于64ms / 8192 = 7.8μs,所以DRAM每隔7.8μs刷新一行

突发传输模式

  • 突发(Burst,猝发)访问指的是在存储器同一行中对相邻的存储单元进行连续访问的方式。(有点像局部性原理)
  • 只需要向存储器发送一次访问地址,然后会按照一定的顺序依次发出列选择信号
  • 第一次存取后,一系列数据能够快速地输出,消除地址建立时间及第一次存取之后的行、列预充电时间

同步DRAM(SDRAM)

  • 传统的DRAM是异步工作的,即处理器送地址和控制信号到存储器后,要等待存储器内部操作(如地址行和列解析选择存储单元),处理器这里会等待,影响系统性能
  • 同步DRAM(SDRAM Synchronous):在DRAM接口上增加时钟信号,降低了存储器芯片与控制器同步的开销,优化了DRAM与CPU之间的接口
  • DDR:DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思
  • CDRAM:cached DRAM 是一种附带高速缓冲存储器的动态存储器。在常规的DRAM芯片封闭内又集成了一个小容量SRAM作为高速缓冲存储器
4、并行存储器

顺序存储

  1. 内存地址分配特点:高位选择模块,低位选择一个模块内的字
  2. 优点:
    • 某个模块存取时,其他模块不工作,因而某一模块出现故障时,不影响其它模块工作
    • 通过增添模块扩容也很方便
  3. 缺点:
    • 由于是串行工作,因而带宽受到了限制

在这里插入图片描述

交叉存储器

  1. 内存地址分配特点:低位选择模块,高位选择模块内的字

  2. 优点:

    • 可以同时取出一整块的内容,做到并行处理,提高速度
  3. 缺点:

    • 每个模块都有自己的读写控制电路、地址寄存器和数据寄存器,设计复杂度高

在这里插入图片描述

  1. 流水工作模式:

    • 连续读取m个字所需时间为:t = T + (m - 1) · τ

      其中,T为模块存取一个字的存储周期,τ为总线传送周期,m为交叉模块数

在这里插入图片描述

带宽计算

  1. 先算总比特数q
  2. 再算所用时间t
  3. 带宽 = q / t

(这里 1M = 10^6 )

在这里插入图片描述

5、cache存储器

概述

  1. cache本身是一种存储器,是为了解决cpu和主存之间速度不匹配而设计的技术
  2. 原理是:程序运行中具有的空间局部性 和 时间局部性原理
  3. 全部由硬件实现,对程序员透明
  4. cache和cpu之间的数据交换是以为单位的,与主存之间的数据交换是以为单位的
  5. 当cache缺失(未命中)时,CAM程序(看图2)会把包含缺失的字从主存中取,并由其前后相继的4个字组成的一行数据送入cache

在这里插入图片描述
在这里插入图片描述

命中率

在这里插入图片描述

三种地址映射
  • 应用某种方法把主存地址定位到cache中,称为地址映射。映射是为了确定位置的对应关系,由硬件实现

  • 当CPU访问存储器时,它所给出的一个字的内存地址会自动地变换成cache的地址,称为cache的地址变换

  • 名词定义:

    • cache的数据块大小称为
    • 主存的数据块大小称为
  • 字母的表示(下面出现了就不解释了):

    字母十进制含义用二进制表示所需位数
    mcache的行数r (即 m = 2^r)
    n主存块数s
    kcache一行中字个数w
    icache行号
    j主存块号
    u组数d
    v组中行数

全相联映射方式

  1. 将主存的块号(块的地址)和字(块的内容)一起存于cache中

  2. 主存地址格式: 块号(标记) + 字地址

  3. 优点:主存的一个块直接复制到cache中的任意一行上,非常灵活

  4. 缺点:高速比较器电路难以实现,只适合小容量cache采用

  5. 示意图

在这里插入图片描述

  1. 检索方式

在这里插入图片描述

直接映射方式

  1. 也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定的行中

  2. cache行号i和主存块号j关系 : i = j mod m

  3. 主存地址格式:

    • 块号 + 字地址,块号又分为区号 和 区内块号(等于cache的行号)
    • 所以总的格式为:区号 + 区内块号 + 字地址 (标记为区号)
    • 理解(看不懂就不用看了~):由于块号要模m(作除法取余数),所以块号的低位是余数(区内块号,0~m-1),决定在cache中的行号,;块号的高位是得数,决定分区(区别相同余数的不同行数)。
  4. 优点:硬件简单,成本低,地址变换速度快

  5. 缺点:每个主存块只有一个固定的行位置,容易冲突产生频繁置换,降低效率。适合在容量大的cache

  6. 示意图:

在这里插入图片描述

  1. 检索方式

    首先用r位区内块号找到cache中的特定一行,然后用地址中的s-r位区号部分与此行的标记作比较。

    即上面所说,行是代表余数一样(模一样),区号是区分余数一样但块号的不一样(看不懂别看)。

在这里插入图片描述

组相联映射

  1. 将cache分成u组,每组v行,主存块存放到哪个组是固定的,存到哪一行是灵活的

  2. 函数关系如下:

    • m = u * v (称为v路组相联cache)
    • 组号 q = j mod u
  3. 与前两种方式关系:

    • 全相联:u = 1, v = 16
    • 直接映射:u = 16, v = 1(所以模16,有16组。组相联是模u,u组)
  4. 主存地址格式:

    • 块号 + 字地址,块号又分为区号 和 组号 (思路和直接映射方式相同(模行数),这里模组数)
    • 所以总的格式为:区号 + 组号 + 字地址 (标记为区号)
  5. 优缺点:组相联映射方式是前两种方式的折中方案,它适度地兼顾了二者的优点又尽量避免二者的缺点,被普遍采用

  6. 示意图:

在这里插入图片描述

  1. 检索方式

    用d位区内块号找到cache的组,然后主存地址高s-d位区号部分与该组v行中的所有标记同时进行比较,命中后用w低位取字。

在这里插入图片描述


第四章
1、C/R ISC

Reduced/Comprehended Instruction Set Computing

一、存储器操作不同

1、CISC:CISC机器的存储器操作指令多,操作直接。

2、RISC:RISC对存储器操作有限制,使控制简单化。

二、汇编语言程序不同

1、CISC:CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。

2、RISC:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计

三、响应中断不同

1、CISC:CISC机器在一条指令执行的适当地方可以响应中断。

2、RISC:RISC是在一条指令执行结束后响应中断。

2、兼容性理解

上下兼容

直白来说,向上兼容就是低档机上开发的程序可以直接拿到高档机上运行,反过来从高档机上开发的能直接在低档机上运行就是向下兼容。

前后兼容

严格意义上,向后兼容是时间概念,指当前某类机器上编写的程序可以直接在将来出现的机器上运行,就是向后兼容。向前兼容,则是当前的程序可以直接运行在以前的机器上。

3、指令格式与类型

格式

指令 = 操作码 + 操作数(0到多个)

在这里插入图片描述

类型

S:storage

R:register

速度:RR > RS > SS

在这里插入图片描述

看提纲。

4、寻址方式

指令寻址

  1. 顺序寻址:用PC来计数,按顺序取指令
  2. 跳跃寻址:下一条指令的地址码不是由程序计数器给出的,而由本条指令给出的。跳跃后,更新pc,又按顺序寻址方式执行程序。

操作数的寻址

  1. 隐含地址:指令中给出一个操作数,另一个操作数隐含在寄存器中
  2. 立即寻址:指令中直接给出操作数
  3. 直接寻址:指令中直接给出操作数在内存中的地址
  4. 间接寻址:指令中给出操作数地址的指示器,要两次访存,速度慢
  5. 寄存器(直接)寻址:指令中给出寄存器编号,寄存器内容即为操作数
  6. 寄存器间接寻址:指令中给出寄存器编号,寄存器内容为操作数在内存中的地址
  7. 偏移寻址:(四种)
    • 相对寻址:指令给出偏移量A, EA = A + (PC)
    • 基址寻址:指令中给出偏移量D,D是相对于基址寄存器的偏移,EA = (R基址寄存器) ± D
    • 变址寻址:同上,把基址寄存器变成变址即可
    • 段寻址:16变20。(这里不重要,但汇编中主要是这种方式)
  8. 堆栈寻址(不重要)

看书上135习题。

在这里插入图片描述


第五章中央处理器
1、CPU功能和组成

功能

  1. 指令控制
  2. 操作控制
  3. 时间控制
  4. 数据加工

组成

  1. 控制器
    1. 组成
      • 程序计数器
      • 指令寄存器
      • 指令译码器
      • 时序产生器
      • 操作控制器
    2. 主要功能
      • 从指令cache中取指令,并指出下一条指令位置
      • 对指令进行译码,产生相应控制信号,以便启动规定的动作
      • 指挥并控制CPU、数据cache、IO设备之间数据流动的方向
  2. 运算器
    1. 组成
      • 算术逻辑单元
      • 通用寄存器
      • 数据缓冲寄存器
      • 程序状态字寄存器
    2. 主要功能
      • 执行所有算术运算
      • 执行所有逻辑运算,并进行逻辑测试

在这里插入图片描述

数据通路

  1. 通常把许多寄存器之间传送信息的通路,称为数据通路
  2. 在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的。即操作控制器通过产生各种操作控制信号,以便正确地选择数据通路
2、指令周期

基本概念

  1. 指令周期:CPU每取出一条指令并执行这条指令,都要完成一系列的操作,所需的时间称为一个指令周期。即指令周期是取出一条指令并执行这条指令的时间

  2. CPU周期:指令周期常常用若干个CPU周期表示,CPU周期又称为机器周期。CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期

  3. 时钟周期(T周期):一个节拍脉冲,是处理操作的最基本单位

  4. 上述三者关系图:

在这里插入图片描述

  1. 单周期CPU:在一个时钟周期内完成从指令取出到得到结果的所有工作。指令系统中所有指令执行时间都以最长时间的指令为准,因而效率低。

  2. 多周期CPU:把指令的执行分成多个阶段,每个阶段在一个时钟周期内完成,因而时钟周期短,武当山一指令所用周期数可以不同(章节主要讨论对象)

3、数据通路图

看书158到159这两个图。

方框图 和 周期流程图。

4、微程序

基本概念

图5.24 5.27 ?

  1. 微命令:控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令称为微命令
  2. 微操作:执行部件接受微命令后进行的操作,称为微操作(在执行部件中是最基本的操作
  3. 相容性微操作:是指在同时或同一个cpu周期内可以并行执行的微操作。(由于数据通路的结构关系)
  4. 相斥性微操作:是指不能在同时或不能在同一个cpu周期内并行执行的微操作
  5. 微指令:在一个cpu周期中,一组实现一定操作功能的微命令的组合,构成一条微指令
  6. 微程序:一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常称为微程序
  7. 机器指令:一条机器指令对应一个微程序。(可看成两者是等价的)
发出控制命令
一组来实现特定功能
一组序列来实现特定功能
微命令
微操作,最基本的,如门的开关
微指令,如ADD指令中的取数操作
微程序,对应一条机器指令. 如ADD指令

硬布线控制器

  1. 概念:硬布线控制器是将控制部件做成产生专门固定时序控制信号的逻辑电路,产生各种控制信号,因而又称为组合逻辑控制器。这种逻辑电路以使用最少元件和取得最高操作速度为设计目标,因为该逻辑电路由门电路和触发器构成的复杂树型网络,所以称为硬布线控制器。

  2. 优点:

    • 使用最少元件和取得最高操作速度
  3. 缺点:

    • 一旦控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的
    • 当执行不同的机器指令时,通过激活一系列彼此很不相同的控制信号来实现对指令的解释,其结果使得控制器往往很少有明确的结构而变得杂乱无章,使得设计、调试、维修较困难,难以实现设计自动化。

微程序控制器

采用微程序控制方式的控制器称为微程序控制器。所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。一条机器指令往往分成几步执行,将每一步操作所需的若干位命令以代码形式编写在一条微指令中,若干条微指令组成一端微程序,对应一条及其指令。在设计CPU时,根据指令系统的需要,事先编制好各段微程序 ,且将它们存入一个专用**存储器(称为控制存储器)**中。微程序控制器由指令寄存器IR、程序计数器PC、程序状态字寄存器PSW、时序系统、控制存储器CM、微指令寄存器以及微地址形成电路。微地址寄存器等部件组成。执行指令时,从控制存储器中找到相应的微程序段,逐次取出微指令,送入微指令寄存器,译码后产生所需微命令,控制各步操作完成。

微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。微程序控制器的设计思想和组合逻辑设计思想截然不同。

它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。但是,由于

它增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。

但是,在同样的半导体工艺条件下,硬布线控制器速度要比微程序控制的快,随着新一代机器及VLSI技术的发展与不断进步,硬布线的随机逻辑设计思想又得到了重视,现代新型计算机体系结构如RISC中多采用硬布线控制逻辑。

  1. 概念:所谓微程序控制方式是指微命令不是由组合逻辑电路产生的,而是由微指令译码产生。
  2. 优点:
    • 设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。
  3. 缺点:
    • 增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。
5、流水CPU

并行处理概念

  1. 并行性:两层含义
    • 同时性:指两个以上事件在同一时刻发生
    • 并发性:指两个以上事件在同一时间间隔内发生。即宏观同时,微观串行。
  2. 时间并行:指时间重叠,让多个处理过程在时间上错开,轮流重叠地使用同一套硬件设备,即流水处理部件
  3. 空间并行:指资源重叠,用“数据取胜”为原则来提高计算机的处理速度
  4. 时间并行+空间并行:指时间重叠和资源重复的综合应用。例如奔腾cpu用超标量流水技术

流水线中的问题

  1. 资源相关:是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突
  2. 数据相关:在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的
    • 写后读(RAW)A:after
    • 读后写(WAR)
    • 写后写(WAW)
  3. 控制相关:由转移指令引起的,从而使流水线发生断流
第六章总线系统
1、总线概念
  1. 总线是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。不要简单理解成“线”,它是一个繁杂的的系统。
  2. 功能:计算机借助总线,可以在各系统功能部件之间实现地址、数据和控制信息的交换,并在争用资源的基础上进行工作
  3. 三大分类:
    • 内部总线:CPU内部连接各寄存器及运算部件之间的总线
    • 系统总线:CPU同计算机系统的其他高速功能部件,如存储器,通道等互相连接的总线
    • IO总线:中、低速IO设备之间互相连接的总线
  4. 总线带宽:衡量总线性能的重要指标是总线带宽,定义为总线本身所能达到的最高传输速率,单位是兆字节每秒(MB/s,1M=10^6)
2、总线接口
  1. 接口:使用适配器来实现实现高速CPU和低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制。适配器也称为接口(对接口的理解又上升了~,对比java的接口和适配器设计模式,又是一个谈资)。
  2. 串行传送:
    • 当信息以串行方式传送,通常以位方式传送
    • 优点:只用一条传输线,对长距离传送特别重要
    • 缺点:速度较慢
    • 波特率 = 字符所占位数 * 每秒传输字符数,即每秒传送多少个比特数即为波特率
  3. 并行传送:
    • 用并行方式传送二进制数据时,对个数据位都需要单独一条传输线
    • 优点:传送速度快;缺点:传输线多,成本高
3、总线仲裁

基本概念

  1. 连接到总线上的功能模块有主动和被动两种形态
    • 主方:可以启动一个总线周期
    • 从方:只能响应主方的请求
  2. 总线仲裁部件:为了解决多个主设备同时竞争总线控制权的问题
  3. 总线占用期:主方持续控制总线的时间称为总线占用期
  4. 按照总线仲裁电路的位置不同,仲裁方式分为集中式仲裁(有主持人)和分布式仲裁(自己评价自己)两类
  5. 集中式仲裁:仲裁控制器有两条信号线:BR(request)送往仲裁器的总线请求信号线;BG(grant)仲裁器送出的总线授权信号。BS表示总线正在被某外设使用
  6. 以下介绍的都是集中式仲裁方式

菊花链式查询方式

  1. 特点:总线授权信号BG串行地查询设备,若有请求则让设备获得控制权。离总线仲裁器最近的设备具有最高优先级
  2. 优点:只用很少几根线就能按一定优先次序实现总线仲裁,并且这种链式结构很容易扩充
  3. 缺点:对电路故障很敏感;优先级是固定了,若高优先级设备频繁发请求,则低优先级设备会饥饿

在这里插入图片描述

计数器定时查询方式

  1. 特点:
    • 设备发出BR请求后,在BS为0时,开始计数查询,直到计数值与请求总线的设备地址相一致时,获得控制权。计数值就是设备的地址
    • 如果计数每次从“0”开始,则各设备优先级与链式查询方式相同
    • 如果计数每次从中止点开始,则每个设备优先级相等
    • 计数器原初值可以用程序来设置,可以方便地改变优先次序
    • 这种灵活性(优点)是以增加线数(缺点)为代价的

在这里插入图片描述

独立请求方式

  1. 特点:每一个设备都有独立的BR和BG线。总线仲裁器有一个排除电路,能给设备按优先级排队
  2. 优点:
    • 响应快,即确定优先响应的设备所花费的时间少,不用一个接一个查询
    • 优先次序控制相当灵活,可以用电路固定实现,也可以用程序控制
    • 可以屏蔽某个设备的请求
    • 是当代总线标准普遍采用的
  3. 缺点:线多

在这里插入图片描述

4、定时与数据传送
  1. 定时:是指事件出现在总线上的时序关系
  2. 为了同步主方、从方的操作,必须制订定时协定

同步总线定时协定

  1. 定义:事件出现在总线上的时刻由总线时钟信号来确定,所以总线中包含时钟信号线。一次IO传送被称为时钟周期或总线周期
  2. 优点:由于采用了公共时钟,每个功能模块发送和接收信息的时间都由统一时钟规定,因此有较高的传输效率
  3. 缺点:由于同步总线必须按最慢的模块来设计公共时钟,当功能模块存取时间相差很大时,会大大损失总线效率。所以同步定时适用于总线长度较短,各功能模块存取时间比较接近的情况

异步总线定时协定

  1. 定义:后一事件出现在总线上的时刻取决于前一事件的出现时刻,即建立在应答式或互锁机制基础上
  2. 不需要统一的公共时钟信号,总线周期的长度是可变的
  3. 优点:总线周期长度可以,不把响应时间强加到功能模块上,因而允许快速和慢速的功能模块连接到同一总线上
  4. 缺点:增加总线的复杂性和成本
第七章外围设备
1、温彻斯特盘

磁存储设备概念

  1. 磁表面存储:是用某些磁性材料薄薄地涂在金属铝或塑料表
  2. 优点:
    • 存储容量大,位价格低
    • 记录介质可以反复使用
    • 记录信息可以长期保存而不丢失,可以脱机存档
    • 非破坏性读出
  3. 缺点:
    • 存取速度慢
    • 机械结构复杂
    • 工作环境要求高
  4. 信息的写入与清除:写1:磁化,写0,用碰头把磁层上记录的信息抹去;读:电磁感应现象。

磁存储相关描述

  1. 记录面:盘面的上下两面都能记录信息,通常把磁盘片表面称为记录面
  2. 磁道:记录面上一系列同心圆称为磁道
  3. 扇区:每个磁道又分为若干个扇区。注意,扇区是一条磁道上的连续线,而不是一块“面积”
  4. 格式:磁盘上的这种磁道和扇区的排列称为格式
  5. 磁道的编址:从外到内依次编号,最外一个同心圆称为0磁道
  6. n磁道内面积:n磁道内面积是不存储信息的
  7. 扇区作用:磁盘存储器的每个扇区记录定长的数据,因此读写操作是以扇区为单位一位一位串行进行的。第一个扇区记录一个记录块。(扇区除基本数据外,会附加一些必要的信息,如头空,校验字,序标,尾空等)

磁盘技术指标

  1. 存储密度

    • 道密度:沿磁盘半径方向单位长度上的磁道数,道/英寸
    • 位密度:磁道单位长度上能记录的二进制代码位数,位/英寸
    • 面密度:位密度与道密度的乘积:位/英寸^2
  2. 存储容量:一个磁盘存储器所能存储的字节总数

    • 格式化容量:是指按照某种特定的记录格式所能存储信息的容量,也就是用户可以真正使用的容量
    • 非格式化容量:是磁记录表面可以利用的磁化单元总数
    • 格式化容量一般是非格式化容量的60%~70%
  3. 平均寻址时间:指从读写命令发出后,碰头从某一起始位置移动至新的记录位置,再到磁道上需要访问的扇区移动到磁头下方所需的时间。

    平均寻址时间 = 平均找道时间 + 平均等待时间

  4. 寻道/找道/定位时间:磁盘接到读/写命令后,将磁头定位至所要访问的磁道上所需的时间

  5. 等待/寻区时间、潜伏期、旋转延迟:寻道完成后,磁道上需要访问的扇区移动到磁头下方所需的时间

  6. 平均存取时间:存取(访问)时间是从读写指令发出到开始第一笔数据读写时所用的平均时间,包括寻道时间、等待时间和相关内务操作时间(可忽略)。

    平均存取时间 近似等于 平均寻道时间 + 平均等待时间

  7. 数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数

    • 外部数据传输率:单位时间内从硬盘cache向主机传送的数据信息量
    • 内部数据传输率:在磁盘存储器盘片上读写数据的速率,即碰头找到要访问的位置后,单位时间读写的字节数,等于每个磁道上的字节数/磁盘旋转一周的时间
  8. 重要公式:

在这里插入图片描述

2、显示器
  1. 分辨率:是指显示器所能表示的像素个数
  2. 灰度级:是指黑白显示器中所显示的像素点的亮暗差别。即一个像素点可以用多少位的表示。
  3. 刷新:电子束不断重复扫描整个屏幕,让图像更新
  4. 刷新存储器/视频存储器:为了不断提供刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。存储容量M = 分辨率r * 灰度级C (即整个屏幕一共要多少位比特位表示)。1M = 1024 * 1024 B = 1024KB
第八章IO系统
1、CPU与外设的交互
  1. IO接口:是由半导体介质构成的逻辑电路,作为一个转换器,保证外部设备用计算机系统特性所要求的形式发送或接收信息

  2. 端口:在接口内部设置一些可以被cpu直接访问的寄存器

    • 命令口
    • 状态口
    • 数据口
  3. 连接结构图:

在这里插入图片描述
在这里插入图片描述

2、程序查询方式
  • 程序查询方式又称为程序控制IO方式。在这种方式中,数据在CPU和外围设备之间的传送完全靠计算机程序控制,是在CPU主动控制下进行的
  • 会不断询问外围设备的状态
    在这里插入图片描述
    在这里插入图片描述
3、程序中断方式

基本概念

  1. 中断是一种程序随机切换的方式,有时也称为异常。可以通过中断响应的方式暂停正在执行的主程序的执行,转而执行另外一段中断服务程序

  2. 中断执行流程:

在这里插入图片描述

  1. 中断处理进一步说明:

    • cpu只有在当前一条指令执行完毕后,即转入公操作时才受理设备的中断请求
    • 要正确返回原程序,要保护现场
    • 要正确设置标志位,如cpu屏蔽位
    • 中断周期是由硬件实现(由于程序员看不见,又称为中断处理的隐操作),中断服务子程序是由软件(指令序列)来实现
    • 中断分为内中断和外中断
  2. 引起中断的事件称为中断源

基本中断方式

  • IM:整级屏蔽。IM=0,cpu允许进入中断周期。interrupt mask
  • EI:对某个设备进行屏蔽。EI=1,设备允许向cpu发送中断请求。enable interrupt
  • IR:暂存中断请求线上由设备发出的中断请求信号

在这里插入图片描述

单级中断

  • 不允许其他中断源再打断中断服务程序
  • 中断源都在同一级,但离cpu近的优先次序高

在这里插入图片描述

多级中断

  • 即中断嵌套
  • 同一级内是不能嵌套的
  • 在某一级中断被响应后,本级和优先权低于本级的中断屏蔽器IM要置1,高级的要开放置0
  • 在不同级中,采用了独立请求的方式。在同一级中,采用了链式查询的方式,即靠近cpu的优先级更高

在这里插入图片描述

4、DMA方式

基本概念

  • DMA: direct memory access,直接内存访问,是一种完全由硬件执行的IO交换方式
  • DMA控制器完全接管总线的控制,数据交换不经过cpu。cpu仅仅在传输的开始和结束进行处理
  • 优点
    • 速度快
    • 不用做保存现场、恢复现场之类的工作
    • 由硬件电路直接实现
  • 缺点:
    • 只能处理简单的数据传送,不能在传送数据的同时进行判断和计算

成组连续传送方式

  • 当要传送数据时,DMA发一个停止信号给cpu,使cpu放弃对总线的使用权。数据传送完毕后,再通知cpu可以使用内存
  • 在这种传送过程中,cpu基本处于不工作状态或者保持状态
  • 优点:控制简单,适用于数据传输率很高的设备进行成组传送
  • 缺点:内存的效能没有充分发挥,因为外围设备传送数据的间隔大于内存存储周期,因此许多空闲的存储周期不能被cpu利用

在这里插入图片描述

周期挪用方式

  • DMA借用cpu的一两个内存周期。挪用是对于内存周期来说的,而不是cpu周期
  • 两种情况
    • cpu没有访内:如执行乘法指令,DMA直接那用一两个内存周期对cpu执行没有什么影响
    • cpu和DMA同时访内:DMA优先,意味着cpu延缓了对指令的执行,即在cpu执行访内指令的过程中插入DMA请求,即挪用了一两个内存周期
  • 优点:与停止cpu访内的dma方式相比,周期挪用的方法既实现了IO传送,又较好地发挥了内存和CPU的效率
  • 缺点:每一次周期挪用都有总线控制权归还建立的过程,所以传送一个字对内存来说要占用一个周期,但对DMA控制器来说一般要2~5个内存周期,即多了一些无必要的时间浪费
  • 适用于IO设备读写周期大于内存存储周期的情况(不都是?)

在这里插入图片描述

透明DMA方式

  • 将一个cpu周期分为C1和C2两个分周期,其中C1专供DMA控制器访内;C2专供CPU访内
  • 优点:
    • 在透明CPU工作下,cpu不会停止工作或进入等待状态,是一种高效率工作方式
    • 不需要总线使用权申请建立归还的过程
    • 对于总线,利用的是C1和C2控制的一个多路转换器,这种总线控制权转移几乎不需要什么时间
  • 缺点:
    • 相应的硬件逻辑也就更加复杂

在这里插入图片描述

5、通道方式

在这里插入图片描述

  1. 通道的功能:
    • 是一个特殊功能的处理器,它有自己的指令和程序专门负责数据输入输出的传输控制
    • 基本功能是执行通道指令,组织外围设备和内存进行数据传输
  2. 通道的类型有两种,一是选择通道,二是多路通道
  3. 选择通道:
    • 选择通道又称为高速通道
    • 在物理上可以连接多个设备,但是这些设备不能同时工作
    • 当有设备使用时,其它设备必须等待到当前设备所有的数据传送完毕,所以整个通道的利用率不是很高
  4. 多路通道:多路通道又称多路转换通道,在同一时间能处理多个IO设备的数据传输。有两类
    • 数组多路通道:
      • 连接的是高速设备
      • 当某设备进行数据传送时,通道只为该设备服务;当设备进行寻址等其它慢动作时,挂起该设备,去为其它设备服务。很低一个多道程序的处理器。
      • 既保留了选择通道高速传送数据的优点,又充分利用了控制性操作的间隔为其它设备服务,效率得到充分发挥
    • 字节多路通道
      • 连接的是低速设备
      • 也可以交替执行多个设备的通道程序,使这些设备同时工作
    • 两者区别:
      • 数组多路通道只允许一个设备进行传输型操作,其他设备进行控制型操作。但字节多路通道允许多个设备同时进行传输型操作
      • 数组传送的基本单位是数据块,必须为一个设备传送完后,才能为别的设备传送数据块。而字节 多路 通道传送的基本单位是字节,在各设备之间以字节的方式交替传送
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meow_Sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值