通知
  • 关于网站更多信息请加QQ群(1061691290)
  • jpress升级到4.x,显示有些问题,修复中
  • 网站还会持续更新

23考研复试-计算机组成原理知识点总结

400人浏览 / 0人评论 / | 作者:whisper  | 分类: 计算机组成原理  | 标签: 计算机组成原理  | 

作者:whisper

链接:https://www.proprogrammar.com/article/1059

声明:请尊重原作者的劳动,如需转载请注明出处


一、计算机系统概论

(一)计算机发展历程

(二)计算机系统层次结构

1、计算机系统的基本组成

2、计算机硬件的基本组成

3、计算机软件和硬件的关系

4、计算机系统的工作过程

(三)计算机性能指标

吞吐量、响应时间;

CPU时钟周期、主频、CPI、CPU执行时间;

MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS。

1.1计算机的发展历程

1946年 美国 ENIAC 1955年退役

十进制运算 用手工搬动开关和拔插电缆来编程

image.png

image.png

微型计算机的出现和发展

1.2 计算机系统层次结构-虚拟机

计算机的软硬件概念

1.计算机系统的组成

image.png

image.png

image.png

image.png

各种语言

机器语言面向机器(二进制、机器能直接执行,速度快)

汇编语言面向机器(符号化机器语言,经汇编后执行)

高级语言面向问题(类自然语言,经编译连接后执行)

FORTRAN 科学计算和工程计算

C语言 结构化程序设计

C++ 面向对象

Java 适应网络环境

image.png

image.png

2.系统软件

语言处理程序 汇编程序编译程序解释程序

操作系统 DOS UNIX Windows

服务性程序 装配调试诊断排错

数据库管理系统 数据库和数据库管理软件

网络软件

3.计算机硬件的基本组成和工作原理

冯·诺依曼计算机的特点

(1)运算器、控制器、存储器、输入和输出设备。

(2)采用存储程序的方式。

(3)数据以二进制码表示。

(4)指令由操作码和地址码组成。

(5)指令在存储器中按执行顺序存放,由PC指明要执行的指令的单元地址,一般按顺序递增。

(6)机器以运算器为中心

image.png

冯·诺依曼计算机硬件框图

image.png

image.png

运算器

算术运算和逻辑运算

在计算机中参与运算的数是二进制的

运算器的长度一般是8、16、32或64位

image.png

存储器

存储数据和程序(指令)

存储体– 存储单元– 存储元件(0/1)

大楼– 房间– 床位(无人/ 有人)

存储单元存放一串二进制代码

存储字存储单元的中二进制代码

存储字长存储单元中二进制代码的位数

每个存储单元赋予一个地址号

按地址寻访

image.png

image.png

image.png

image.png

存储容量

存放二进制信息的总位数

存储单元个数×存储字长

image.png

控制器

指令和程序

指令的形式(操作和地址码、存储程序的概念、指令中程序和数据的存放、指令系统)

指令和数据存储

PC Program Counter

IR Instruction Register

CU Control Unit

基本任务:按照一定的顺序一条接着一条取指令、指令译码、执行指令。

取指周期和执行周期 ?指令字,还是数据字。

1、取指周期中从内存读出的信息流是指令流,流向控制器;

2、执行器周期中从内存读出的信息流是数据流,流向运算器

image.png

计算机工作的全过程

输入程序和数据

程序首地址→PC

启动运行程序

取指令 PC→MAR→M→MDR→IR (PC)+1→PC

分析指令 OP(IR)→CU

执行指令 Ad(IR)→MAR→M→MDR→ACC

打印结果

停机

image.png

1.3计算机性能指标

机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。

数据总线一次所能并行传送信息的位数,称为数据通路宽度。

一个主存储器所能存储的全部信息量称为主存容量。

以字节数来表示存储容量,也可以用字数乘以字长来表示存储容量

吞吐量是指系统在单位时间内处理请求的数量。

响应时间是指系统对请求作出响应的时间

包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)的总和。

CPU的主频又称为时钟频率,表示在CPU内数字脉冲信号振荡的速度。

主频的倒数就是CPU时钟周期,CPU中最小的时间元素。

每个动作至少需要一个时钟周期。

主频 = 时钟周期数/s

CPI 是指每条指令执行所用的时钟周期数。

IPC 每个时钟周期执行的指令数

CPI=1/IPC

二、数据的表示和运算

(一)数制与编码

1、进位计数制及其相互转换

2、真值和机器数

3、BCD码

4、字符与字符串

5、校验码

(二)定点数的表示和运算

1、定点数的表示无符号数的表示;带符号整数的表示。

2、定点数的运算

定点数的移位运算;原码定点数的加/减运算;补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。

(三)浮点数的表示和运算

1、浮点数的表示IEEE754标准

2、浮点数的加/减运算

(四)算术逻辑单元ALU

1、串行加法器和并行加法器

2、算术逻辑单元ALU的功能和结构

2.1数制与编码

2.1.1进位计数制机器相互转换

1)R进制转换成十进制的方法

按权展开法:先写成多项式,后计算十进制结果

image.png

2)十进制转换成二进制方法

整数部分的转换

除2取余法(基数除法)

减权定位法

小数部分的转换

乘2取整法(基数乘法)

除基2取余法(整数部分)

image.png

减权定位法(整数部分)

image.png

image.png

乘基取整法(小数部分的转换)

image.png

3)二进制、八进制和十六进制之间的转换

image.png

以小数点为界,对小数点前后的数分别分组处理,不足的位数用0补足,对整数部分将0补在数的左侧,对小数部分将0补在数的右侧。

2.1.2 真值和机器数

(1)真值: 正、负号加某进制数绝对值的形式称为真值

X=+1011B y= -1011B

(2)机器数:符号数码化的数称为机器数如:

X=01011 Y=11011

一般用“0”表示“+”,“1”表示“-”。

无符号数的表示---寄存器的位数

反映无符号数的表示范围

image.png

有符号数

机器数与真值

真值 机器数

带符号的数 符号数字化的数

定点表示

小数点按约定方式标出

image.png

三种有符号数的表示方法:

原码、补码、反码、移码

正数的编码值与真值一样

负数具有不同的编码。

编码的最高位为符号位:

0 表示正

1 表示负

原码表示法

最高位作为符号位,用“0”表示正号,用“1”表示负号,有效值部分用二进制的绝对值表示。

简单地说:原码=符号+绝对值

定义

整数

image.png

image.png

小数

image.png

image.png

真值零

小数0的原码有正零和负零两种形式:

image.png

若字长为n+1

image.png

原码的特点: 简单、直观

但是用原码作加法时,会出现如下问题

image.png

能否只作加法?

找到一个与负数等价的正数来代替这个负数

就可使减→加

补码表示法

image.png

(1) 补的概念

时钟 逆时针 顺时针

(2) 正数的补数即为其本身

image.png

(2) 补码定义

整数

image.png

小数

image.png

(3) 求补码的快捷方式

当真值为负时,补码可用原码除符号位外每位取反,末位加1 求得

求补码的方法:

正数补码等于其原码,符号+绝对值。

负数的补码:

1、先写出该数的原码,保持符号位不变,其余各位对应求反,且在末尾加1。

2、先写出与该负数对应的正数的补码表示,将其按位求反(包括符号位),且在末尾加1。

真值零的补码是唯一的

[+0]补=[-0]补=0………0

反码表示法

整数

image.png

小数

image.png

三种机器数的小结

最高位为符号位,一般用“,”(整数)或“.”(小数)将数值部分和符号位隔开

**对于正数,原码 = 补码 = 反码

对于负数 ,符号位为 1,其 数值部分

原码除符号位外每位取反末位加 1→补码

原码除符号位外每位取反→反码**

设机器数字长为 8 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?

image.png移码表示法

补码表示很难直接判断其真值大小

(1) 移码定义

image.png

移码在数轴上的表示

image.png

(2) 移码和补码的比较

image.png

补码与移码只差一个符号位

(3) 真值、补码和移码的对照表

image.png

最小真值的移码为全 0

用移码表示浮点数的阶码

能方便地判断浮点数的阶码大小

2.1.3 BCD码- 十进制数的编码与运算

image.png

image.png

8421码:自然BCD码,简称NBCD码,4位二进制代码的位权从高到低分别为8,4,2,1,

① 它是一种有权码,设其各位的值为b3b2b1b0,则它所表示的十进制数为D=8b3+4b2+2b1+1b0。

② 简单直观。每个代码与它所代表的十进制数之间符合二进制数和十进制数相互转换的规则。

③ 不允许出现1010~1111。这6个代码在8421码中是非法码。

2421码

① 有权码,所表示的十进制数为D=2b3+4b2+2b1+1b0。

② 是一种对9的自补码,即某数的2421码,只要自身按位取反,就能得到该数对9补数的2421码。例如:3的2421码是0011,3对9的补数是6,而6的2421码是1100,即将3的2421码自身按位取反可得到6的2421码。

③ 不允许出现0101~1010。这6个代码在2421码中是非法码。

余3码是一种无权码,是在8421码的基础上加0011形成的,因每个数都多余“3”,故称余3码。:

① 它是一种无权码,在这种编码中各位的“1”不表示一个固定的十进制数值,因而不直观,且容易搞错。

② 它也是一种对9的自补码。

③ 不允许出现0000~0010、1101~1111。这6个代码在余3码中是非法码。

十进制编码的加法运算

BCD码运算应将每4位二进制数分为一组,组与组之间直接运算,逢十进一。

但计算机中无法区分BCD码,一概作为二进制数处理,计算机做此运算后须进行调整。

调整方法:

image.png

2.1.4 字符与字符串

(1) 字符: ASCII码, 用7位表示,外加一位校验位,共128个, 10个数字及26个大小写英文字母的ASCII码

(2) 字符串占用主存中连续的多个字节, 每个字节存储一个字符

高字节地址:高位字符

高字节地址:低位字符

(1)汉字的输入

输入码:为使输入设备能将汉字输入到计算机而专门编制的一种代码。

国标码、区位码、拼音码和五笔字型等

国标码=区位码(十六进制)+2020H

(2)汉字在机内的表示

机内码:是指机器内部处理和存储汉字的一种代码。用2个字节表示一个汉字的。

汉字机内码=汉字国标码+8080H

(3)汉字的输出与汉字字库

显示器是采用图形方式(即汉字是由点阵组成)来显示汉字的。

2.1.5 校验码

(1) 奇偶校验码

(2) 海明校验码

(3) 循环冗余校验码(CRC码)

数据校验码是一种常用的带有发现某些错误或自动改错能力的数据编码方法。

基本原理:加进一些冗余码,使合法数据编码出现某些错误时,就成为非法编码。

码距:是根据任意两个合法码之间至少有几个二进制位不相同而确定的,若仅有一位不同,称其码距为1。

任意两组合法代码之间二进制位数的最少差异编码的纠错 、检错能力与编码的最小距离有关

L–1 = D + C ( D≥C )

L —— 编码的最小距离L = 3

D —— 检测错误的位数具有 一位 纠错能力

C —— 纠正错误的位数

汉明码是具有一位纠错能力的编码

(1) 奇偶校验码

原理 :是使原来合法编码码距由1增加到2。

方法: 通常是为一个字节补充一个二进制位,称为校验位,通过设置校验位的值为0或1的方式,使字节自身的8位和该校验位含有1值的位数一定为奇数或偶数。

在使用奇数个1的方案进行校验时,称为奇校验,反之则称为偶校验。

只能发现一位错或奇数个位出错,但不能确定是哪一位错。

字母 “A” 的ASCII码为0100 0001, 有偶数个“1”,因此:

使用偶校验时,校验位记为 0 , 即:

0 0 1 0 0 0 0 0 1

使用奇校验时,校验位记为 1 ,这样1的总数为奇数个,即:

1 0 1 0 0 0 0 0 1

(2)汉明/海明校验码

image.png

组成汉明码的三要素

image.png

image.png

image.png

按配偶原则配置 0011 的汉明码

image.png

汉明码的纠错过程

image.png

已知接收到的汉明码为 010 0111

image.png

image.png

(3) 循环冗余校验(CRC)码

CRC(Cyclic Redundancy check)码可以发现并纠正信息串行读写、存储或传送过程中出现的一位、多位错误,因此在磁介质存储器读写和计算机之间通信方面得到广泛应用。

CRC码一般是指k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码)的值,以及如何从k+r位信息码判断是否出错。

CRC码的编码方法

模2运算是指以按位模2相加为基础的四则运算,运算时不考虑进位和借位。

模2加减:即按位加,可用异或逻辑实现。

模2加与模2减的结果相同,即 0±0=0 0±1=1 1±0=1 1±1=0。

两个相同的数据的模2和为0。

image.png

CRC码的编码方法。

image.png

image.png

image.png

CRC码的译码与纠错

将收到的循环校验码用约定的生成多项式G(x)去除,如果码字无误则余数应为0,如有某一位出错,则余数不为0,且不同数位出错余数会不同。

更换不同的待测码字可以证明:余数与出错位的对应关系是不变的,只与码制和生成多项式有关。对于其他码制或选用其他生成多项式,出错模式将发生变化

2.2 定点数的表示与运算

2.2.1 定点数的表示

无符号数的表示---寄存器的位数

反映无符号数的表示范围

image.png

有符号数

机器数与真值

image.png

定点表示

小数点按约定方式标出

image.png

image.png

2.2.2 定点数的运算

一、 移位运算

机器用语 15 相对于小数点 左移 2 位

小数点不动

左移 绝对值扩大

右移 绝对值缩小

在计算机中,移位与加减配合,能够实现乘除运算

算术移位规则

符号位不变

image.png

算术移位的硬件实现

image.png

image.png

算术移位和逻辑移位的区别

image.png

二、加减法运算

补码加减运算公式

(1) 加法

image.png

(2) 减法

image.png

连同符号位一起相加,符号位产生的进位自然丢掉

溢出判断

(1) 一位符号位判溢出

参加操作的 两个数(减法时即为被减数和“求补”以后的减数)符号相同,其结果

的符号与原操作数的符号不同,即为溢出

硬件实现

image.png

image.png

(2) 两位符号位判溢出-变形补码,以4为模

image.png

(3)进位判断法

当两个单符号位的补码进行加减运算时,若最高数值位向符号位的进位值C与符号位产生的进位输出值S相同,则没有溢出发生。如果两个进位值不同,则有溢出发生。其判断溢出的表达式为

image.png

若V=1,则有溢出发生;

若V=0,则无溢出发生;

注:上面三个方法其实说得是一件事

补码加减法的硬件配置

image.png

扩展操作

存储方式

小端方式:先存储低位字节,后存储高位字节

大端方式:先存储高位字节,后存储低位字节

三、 乘法运算

分析笔算乘法

笔算乘法改进

改进后的笔算乘法过程(竖式)

原码乘法

(1) 原码一位乘 运算规则

(2) 原码一位乘递推公式

(3) 原码一位乘的硬件配置

补码乘法

(1) 补码一位乘 运算规则

Booth 算法 (被乘数、乘数符号任意)

补码一位乘法

乘法小结

整数乘法与小数乘法完全相同

可用 逗号 代替小数点

原码乘 符号位 单独处理

补码乘 符号位 自然形成

原码乘去掉符号位运算 即为无符号数乘法

不同的乘法运算需有不同的硬件支持

四、 除法运算

分析笔算除法

笔算除法和机器除法的比较

原码除法

(1) 恢复余数法

(2) 不恢复余数法(加减交替法)

(3) 原码加减交替除法硬件配置

补码除法

(1) 商值的确定

(2) 商符的形成

(3) 新余数的获得

(4) 小结

补码除法共上商 n +1 次(末位恒置 1)

第一次为商符

第一次商可判溢出

加 n 次 移 n 次

用移位的次数判断除法是否结束

精度误差最大为 2^-n

(5) 补码除和原码除(加减交替法)比较

image.png

image.png

注:乘除法较难,随便略过了

2.3 浮点数的表示和运算

2.3.1 浮点数表示

浮点数的表示形式

image.png

image.png

浮点数的表示范围

上溢 阶码 > 最大阶码

下溢 阶码 < 最小阶码 按 机器零 处理

image.png

浮点数的规格化形式

r = 2 尾数最高位为 1-规格化数

r = 4 尾数最高 2 位不全为 0

r = 8 尾数最高 3 位不全为 0

机器零

当浮点数 尾数为 0 时,不论其阶码为何值按机器零处理

当浮点数 阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理

四、IEEE 754 标准

image.png

尾数为规格化表示—原码 1.ffff…ffff

非 “0” 的有效位最高位为 “1”(隐含)

image.png

阶码—移码表示

32位浮点数的移码(8位)计算方法是

E=e+127

机器0 阶码全0 尾数为0/非0 非规格化

无穷大 阶码全1 尾数为0 /非0 NaN

阶码范围: [1 ,254]

一个规格化的32位浮点数x的真值表示为:

image.png

64位的浮点数中符号位1位,阶码域11位,尾数域52位,指数移码偏移值是1023。

规格化的64位浮点数x的真值为:

image.png

2.3.2 浮点数加减运算

image.png

对阶

(1) 求阶差

image.png

(2) 对阶原则

小阶向大阶看齐

尾数求和

规格化

规格化数的定义

image.png

(2) 规格化数的判断

image.png

(3) 左规

尾数左移一位,阶码减 1,直到数符和第一数位不同为止

上例 [x+y]补 = 00, 11; 11. 1001

左规后 [x+y]补 = 00, 10; 11. 0010

(4) 右规

当 尾数溢出(>1)时,需 右规

即尾数出现 01. ××…×或 10. ××…×时

尾数右移一位,阶码加 1

舍入

在 对阶 和 右规 过程中,可能出现 尾数末位丢失引起误差,需考虑舍入

(1) 0 舍 1 入法

(2) 恒置 “1” 法

溢出判断

设机器数为补码,尾数为 规格化形式,并假设阶符取 2 位,阶码的数值部分取 7 位,

数符取 2 位,尾数取 n 位,则该 补码 在数轴上的表示为

image.png

运算结果

阶码上溢:

一个正指数超过了最大允许值 =〉+∞/-∞/溢出

阶码下溢:

一个负指数超过了最小允许值 =〉+0/-0

尾数溢出

最高有效位有进位 =〉右规 结果不一定溢出

非规格化尾数:数值部分高位为0 =〉左规

右规或对阶时,右段有效位丢失 =〉尾数舍入

2.4 算术逻辑单元

一、ALU 电路

image.png

image.png

M = 0 算术运算

M = 1 逻辑运算

S3 ~ S0 不同取值,可做不同运算

二、快速进位链

并行加法器

image.png

串行进位链

image.png

并行进位链(先行进位,跳跃进位)

image.png

(1) 单重分组跳跃进位链

image.png

(2) 双重分组跳跃进位链

image.png

三、 存储器层次结构

(一) 存储器的分类

(二) 存储器的层次化结构

(三) 半导体随机存取存储器

  1. SRAM 存储器

  2. DRAM 存储器

  3. 只读存储器

  4. Flash 存储器

    (四) 主存储器与CPU 的连接

    (五) 双口RAM 和多模块存储器

    (六) 高速缓冲存储器(Cache)

  5. Cache 的基本工作原理

  6. Cache 和主存之间的映射方式

  7. Cache 中主存块的替换算法

  8. Cache 写策略

(七) 虚拟存储器

  1. 虚拟存储器的基本概念
  2. 页式虚拟存储器
  3. 段式虚拟存储器
  4. 段页式虚拟存储器
  5. TLB(快表)

3.1 存储器分类

按存储介质分类

image.png

按存取方式分类

(1) 存取时间与物理地址无关(随机访问)

随机存储器 在程序的执行过程中 可 读 可 写

只读存储器 在程序的执行过程中 只 读

(2) 存取时间与物理地址有关(串行访问)

顺序存取存储器 磁带

直接存取存储器 磁盘

按在计算机中的作用分类

image.png

3.2 存储器的层次结构

存储器三个主要特性的关系

image.png缓存 主存层次和主存 辅存层次

image.png

主存的基本组成

image.png

主存和 CPU 的联系

image.png

主存中存储单元地址的分配

image.png

image.png

主存的技术指标

(1) 存储容量 主存 存放二进制代码的总位数

(2) 存储速度

存取时间 存储器的 访问时间

读出时间 写入时间

存取周期 连续两次独立的存储器操作

(读或写)所需的 最小间隔时间

读周期 写周期

(3) 存储器的带宽 位/秒

3.3 半导体随机存取存储器( RAM )

半导体存储芯片的基本结构

image.png

image.png

存储芯片片选线的作用

用 16K × 1位 的存储芯片组成 64K × 8位 的存储器

image.png

半导体存储芯片的译码驱动方式

(1) 线选法 16*1字节

image.png

(2) 重合法 1k*1bit 线选法 1024根

image.png

根据信息存储的机理不同可以分为两类:

(1)静态读写存储器(SRAM):由双稳态管做存储元件,不掉电的前提下,信息不会丢失,存取速度快,但不宜构造大容量存储器。

(2)动态读写存储器(DRAM):由电容做存储元件,即使不掉电也需要通过刷新保持所存储的信息,存取速度较慢,易构造较大容量存储器。

静态 RAM (SRAM)

(1) 静态 RAM 基本电路

image.png

① 静态 RAM 基本电路的 读 操作

② 静态 RAM 基本电路的 写 操作

(2) 静态 RAM 芯片举例

① Intel 2114 外特性

image.png

(3) 静态 RAM 读 时序

(4) 静态 RAM (2114) 写 时序

动态 RAM ( DRAM )

(1) 动态 RAM 基本单元电路

image.png

读出与原存信息相反 读出时数据线有电流 为 “1”

写入与输入信息相同 写入时 CS 充电 为 “1” 放电 为 “0”

单管动态 RAM 4116 (16K × 1位) 外特性

image.png

动态 RAM 时序

行、列地址分开传送

image.png

(2) 动态 RAM 刷新

刷新与行地址有关 2ms=4000*0.5

① 集中刷新

image.png

image.png

② 分散刷新

以 128 ×128 矩阵为例

image.png

③ 分散刷新与集中刷新相结合(异步刷新)

动态 RAM 和静态 RAM 的比较

image.png

四、只读存储器(ROM)

掩模 ROM ( MROM )

PROM (一次性编程)

EPROM

EEPROM (多次性编程 )

Flash Memory (闪速型存储器)

3.4 主存储器与 CPU 的连接

存储器容量的扩展

(1) 位扩展(增加存储字长)

(2) 字扩展(增加存储字的数量)

(3) 字、位扩展

存储器与 CPU 的连接

(1) 地址线的连接

(2) 数据线的连接

(3) 读/写命令线的连接

(4) 片选线的连接

(5) 合理选择存储芯片

(6) 其他 时序、负载

3.5 双口RAM和多模块存储器

——提高访存速度的措施

采用高速器件 调整主存结构

采用层次结构 Cache –主存

单体多字系统 增加存储器的带宽

image.png

双端口存储器

逻辑结构

双端口存储器由于同一个存储器具有两组相互独立的读写控制电路而得名。

由于进行并行的独立操作,因而是一种高速工作的存储器

image.png

无冲突读写控制

当两个端口的地址不相同时,在两个端口上进行读写操作,一定不会发生冲突。当任一端口被选中驱动时,就可对整个存储器进行存取,每一个端口都有自己的片选控制(CE)和输出驱动控制(OE)。读操作时,端口的OE(低电平有效)打开输出驱动器,由存储矩阵读出的数据就出现在I/O线上。

有冲突读写控制

当两个端口同时存取存储器同一存储单元时,便发生读写冲突。为解决此问题,特设置了BUSY标志。在这种情况下,片上的判断逻辑可以决定对哪个端口优先进行读写操作,而对另一个被延迟的端口置BUSY标志(BUSY变为低电平),即暂时关闭此端口

多体并行系统

(1) 高位交叉 顺序编址

image.png

(1) 高位交叉 各个体并行工作

image.png

(2) 低位交叉 各个体轮流编址

image.png

image.png

低位交叉的特点

在不改变存取周期的前提下,增加存储器的带宽

image.png

设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足 T = 4τ。

image.png

连续读取 4 个字所需的时间为 T+(4 -1)τ

高性能存储芯片

(1) SDRAM (同步 DRAM)

在系统时钟的控制下进行读出和写入CPU 无须等待

(2) RDRAM

由 Rambus 开发,主要解决 存储器带宽 问题

(3) 带 Cache 的 DRAM

在 DRAM 的芯片内集成了一个由 SRAM 组成的 Cache ,有利于猝发式读取

3.6 高速缓冲存储器(CACHE)

一、概述

问题的提出

避免 CPU “空等” 现象

CPU 和主存(DRAM)的速度差异

image.png

程序访问的局部性原理

Cache 的工作原理

(1) 主存和缓存的编址

image.png

从功能上看,是主存的缓冲存储器,由高速的SRAM组成。

Cache的设计依据 局部性原理

CPU这次访问过的数据,下次有很大的可能也是访问附近的数据。

CPU与Cache之间的数据传送是以字为单位

主存与Cache之间的数据传送是以块为单位

主存称为块,Cache称为行,实质相同

并行工作模式

CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU ,

否则,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。

串行工作模式

(2) 命中与未命中

缓存共有 C 块

主存共有 M 块 M >> C

命中 主存块 调入 缓存

主存块与缓存块 建立 了对应关系

用 标记记录 与某缓存块建立了对应关系的 主存块号

未命中 主存块 未调入 缓存

主存块与缓存块 未建立 对应关系

(3) Cache 的命中率

CPU 欲访问的信息在 Cache 中的 比率

命中率 与 Cache 的 容量 与 块长 有关

一般每块可取 4 ~ 8 个字

块长取一个存取周期内从主存调出的信息长度

CRAY_1 16 体交叉 块长取 16 个存储字

IBM 370/168 4 体交叉 块长取 4 个存储字

(64 位×4 = 256 位)

命中率 假设Nc 为访问Cache 的总命中次数,Nm 为访问内存的总次数,则命中率h

h=Nc/(Nc+Nm)

设 Cache 命中率 为 h,访问 Cache 的时间为 tc ,访问 主存 的时间为 tm

平均访问时间(同步)= h × tc+ (1-h)× tm

平均访问时间(异步)= h + (1-h)× tm

(4) Cache –主存系统的效率

效率 e 与 命中率 有关

image.png

设 Cache 命中率 为 h,访问 Cache 的时间为 tc,访问 主存 的时间为 tm

image.png

Cache 的基本结构

image.png

Cache 的 读写 操作

image.png

Cache 和主存的一致性

写直达法(Write–through)

写操作时数据既写入Cache又写入主存

写操作时间就是访问主存的时间,读操作时不涉及对主存的写操作,更新策略比较容易实现

写回法(Write–back)

写操作时只把数据写入 Cache 而不写入主存当 Cache 数据被替换出去时才写回主存

写操作时间就是访问 Cache 的时间,读操作 Cache 失效发生数据替换时,被替换的块需写回主存,增加了 Cache 的复杂性

Cache 的改进

(1) 增加 Cache 的级数

片载(片内)Cache

片外 Cache

(2) 统一缓存和分立缓存

指令 Cache 数据 Cache

与主存结构有关

与指令执行的控制方式有关 是否流水

Pentium 8K 指令 Cache 8K 数据 Cache

PowerPC620 32K 指令 Cache 32K 数据 Cache

二、Cache – 主存的地址映射

直接映射

i = j mod C

image.png

每个缓存块 i 可以和若干个主存块对应

每个主存块 j 只能和一个缓存块对应

映射方法(一对多)如:

i= j mod m

主存第j 块内容拷贝到Cache 的i 行

一般I 和m 都是2N 级

特点

优点:比较电路少m 倍线路,所以硬件实现简单,Cache 地址为主存地址的低几位,

不需变换。

缺点:冲突概率高(抖动)

应用场合

适合大容量Cache

全相联映射

image.png

主存 中的 任一块 可以映射到 缓存 中的 任一块

特点:

优点:冲突概率小,Cache 的利用高。

缺点:比较器难实现,需要一个访问速度很快的相联存储器

应用场合:

适用于小容量的Cache

前两者的组合

Cache分组,组间采用直接映射方式,组内采用全相联的映射方式

Cache分U组,组内容量为V

映射方法(一对多)

q= j mod U

主存第j块内容拷贝到Cache的q组中的某行

分析:比全相联容易实现,冲突低

v=1,则为直接相联映射方式

u=1,则为全相联映射方式

V的值一般比较小, 取2的幂,称之为v路组相联cache.

如 2路组相联,4路组相联,8路组相联

组相联映射

image.png

三、替换算法

先进先出 ( FIFO )算法

近期最少使用( LRU)算法

最不经常用LFU算法

3.7 虚拟存储器

程序员在比实际主存空间大得多的逻辑地址空间中编写程序

程序执行时,把当前需要的程序段和相应的数据块调入主存,其他暂不用的部分存放在磁盘上

指令执行时,通过硬件将逻辑地址(也称虚拟地址或虚地址)转化为物理地址(也称主存地址或实地址)

在发生程序或数据访问失效(缺页)时,由操作系统进行主存和磁盘之间的信息交换

3.7.1 页式虚拟存储器

在页式虚拟存储系统中,把虚拟空间分成页,称为虚页或逻辑页,主存空间也分成同样大小的页,称为实页或物理页。

把虚拟地址分为两个字段,高位字段为虚页号,低位字段为页内字地址。

虚拟地址到主存实地址的变换是由页表来实现的.

虚拟存储技术的实质

image.png

“主存--磁盘”层次

与“Cache--主存”层次相比:

页大小(2KB~64KB)比Cache中的Block大得多! Why?

采用全相联映射!Why?

因为缺页的开销比Cache缺失开销大的多!缺页时需要访问磁盘(约几百万个时钟周期),而cache缺失时,访问主存仅需几十到几百个时钟周期!因此,页命中率比cache命中率更重要!“大页面”和“全相联”可提高页命中率。

通过软件来处理“缺页”!Why?

缺页时需要访问磁盘,慢!不能用硬件实现。

采用Write Back写策略! Why?

避免频繁的慢速磁盘访问操作。

地址转换用硬件实现!Why?

加快指令执行

image.png

image.png

未分配页:进程的虚拟地址空间中“空洞”对应的页(如VP0、VP4)

已分配的缓存页:有内容对应的已装入主存的页(如VP1、VP2、VP5等)

已分配的未缓存页:有内容对应但未装入主存的页(如VP3、VP6)

image.png

TLB

假设页表已调入主存储器中,在访问存储器时,先访问一次主存去查页表,再访问主存才能取得数据,这就相当于主存速度降低了一倍.

把页表的最活动部分存放在快速存储器中组成快表,这是减少时间开销的一种方法。

快表由硬件组成,通常称为转换旁路缓冲器(translation lookaside table, TLB), 它是慢表(页表)的小小副本。

image.png

image.png

CPU访存时,地址中虚页号被分成tag+index,tag用于和TLB页表项中的tag比较,index用于定位需要比较的表项

TLB全相联时,没有index,只有Tag,虚页号需与每个Tag比较;TLB组相联时,则虚页号高位为Tag,低位为index,用作组索引。

image.png

问题:引入TLB的目的是什么? 减少到内存查页表的次数!

image.png

image.png

3.7.2 段式虚拟存储器

在段式虚拟存储器中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异。

虚地址由段号和段内地址组成。段式虚拟存储器通过段表实现。

image.png

3.7.3 段页式虚拟存储器

在段页式虚拟存储器中,把程序按逻辑结构分段以后,再把每段分成固定大小的页。程序对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。它可以兼取页式和段式系统的优点。

缺点是在地址映像过程中需要多次查表,在这种系统中,虚拟地址转换成物理地址是通过一个段表和一组页表来进行定位的。

image.png

四、指令系统

(一) 指令格式

  1. 指令的基本格式

  2. 定长操作码指令格式

  3. 扩展操作码指令格式

    (二) 指令的寻址方式

  4. 有效地址的概念

  5. 数据寻址和指令寻址

  6. 常见寻址方式

    (三) CISC 和RISC 的基本概念

4.1 指令格式

4.1.1 指令的基本格式

一、指令的一般格式

image.png

操作码 反映机器做什么操作

(1) 长度固定

用于指令字长较长的情况,RISC

如 IBM 370 操作码 8 位

(2) 长度可变

操作码分散在指令字的不同字段中

一条指令必须包含下列信息:

(1)操作码

(2)操作数的地址

(3)操作结果的存储地址

(4)下一条指令的地址.

一条指令实际上包括两种信息即操作码和地址码。

操作码用来表示该指令所要完成的操作;地址码用来描述该指令的操作对象。

零地址指令

image.png

指令中只有操作码,而没有地址码。

一地址指令

image.png

A——操作数的存储器地址或寄存器名

即可以是操作数的地址,又是操作结果的存储地址。

二地址指令

image.png

A1:第一个源操作数的存储器地址或寄存器地址。

A2:第二个源操作数和存放操作结果的存储器地址或寄存器地址。

三地址指令

image.png

A1——第一个源操作数的存储器地址或寄存器地址

A2——第二个源操作数的存储器地址或寄存器地址

A3——操作结果的存储器地址或寄存器地址

多地址指令

大、中型机甚至高档小型机中,往往设置一些功能很强的,用于处理成批数据的指令。

4.1.2 定长操作码指令格式

image.png

指令字长 固定

指令字长 = 存储字长

若操作码长度为K位,最多只能有2^k条不同指令

指令字长 可变

按字节的倍数变化

4.1.3 扩展操作码指令格式

即操作码的长度可变,且分散地放在指令字的不同字段中。

操作码长度不固定将增加指令译码和分析的难度,使控制器的设计复杂化,因此对操作码的编码至关重要。

通常是在指令字中用一个固定长度的字段来表示基本操作码,而对于一部分不需要某个地址码的指令,把它们的操作码扩充到该地址码字段。

image.png

若都是三地址指令,有16条。

若三地址指令需15条,两地址指令需要15条,一地址指令需要15条,零地址指令需要16 条,共61条指令,则操作码的长度需向地址码扩展。

(1) 15条三地址指令的操作码由4位基本操作码从0000~1110给出,剩下一个码点(组合)1111用于把操作码扩展到A1,即4位扩展到8位;

(2) 15条二地址指令的操作码由8位操作码从11110000~11111110给出,剩下一个码点11111111用于把操作码扩展到A2,即从8位扩展到12位;

(3) 15条一地址指令的操作码由12位操作码从111111110000~111111111110给出,剩下一个码点111111111111用于把操作码扩展到A3,即从12位扩展到16位;

(4) 16条零地址指令的操作码由16位操作码从1111111111110000~1111111111111111给出。

操作码的位数随地址数的减少而增加

image.png

操作码的位数随地址数的减少而增加

image.png

4.2 指令的寻址方式

寻址方式 :确定本条指令的操作数地址及下一条欲执行指令的指令地址。

有效地址: 操作数的真实地址称为有效地址, 记作EA。

image.png

有效地址的含义

操作数所在存储单元的地址(可能是逻辑地址或物理地址),可通过指令的寻址方式和地址码计算得到

基本寻址方式

立即 / 直接 / 间接 / 寄存器 / 寄存器间接 / 偏移(相对,变址和基址三种) / 堆栈

寻 址 方 式

一、指令寻址

顺序 ( PC ) + 1→PC

跳跃 由转移指令指出

image.png二、数据寻址

image.png

形式地址 指令字中的地址

有效地址 操作数的真实地址

约定 指令字长 = 存储字长 = 机器字长

寻址方式的确定

(1)没有专门的寻址方式位(由操作码确定寻址方式)

如:MIPS指令,一条指令中最多仅有一个主(虚)存地址,且仅有一到两种寻址方式,Load/store型机器指令属于这种情况。

(2)有专门的寻址方式位

如:X86指令,一条指令中有多个操作数,且寻址方式各不相同,需要各自说明寻址方式,因此每个操作数有专门的寻址方式位。

立即寻址

形式地址 A 就是操作数

image.png可正可负 补码

指令执行阶段不访存

A 的位数限制了立即数的范围

直接寻址

EA = A 有效地址由形式地址直接给出

image.png

隐含寻址

操作数地址隐含在操作码中

image.png

如 8086

MUL 指令 被乘数隐含在 AX(16位)或 AL(8位)中

MOVS 指令 源操作数的地址隐含在 SI 中

目的操作数的地址隐含在 DI 中

指令字中少了一个地址字段,可缩短指令字长

间接寻址

EA =(A)有效地址由形式地址间接提供

image.png

执行指令阶段 2 次访存

可扩大寻址范围 多次访存

便于编制程序

image.png

寄存器寻址

EA = Ri 有效地址即为寄存器编号

image.png

执行阶段不访存,只访问寄存器,执行速度快

寄存器个数有限,可缩短指令字长

寄存器间接寻址

EA = ( Ri ) 有效地址在寄存器中

image.png

有效地址在寄存器中, 操作数在存储器中,执行阶段访存

便于编制循环程序

基址寻址

(1) 采用专用寄存器作基址寄存器

EA = ( BR ) + A BR 为基址寄存器

image.png

可扩大寻址范围

有利于多道程序

BR 内容由操作系统或管理程序确定

在程序的执行过程中 BR 内容不变,形式地址 A 可变

(2) 采用通用寄存器作基址寄存器

image.png

由用户指定哪个通用寄存器作为基址寄存器

基址寄存器的内容由操作系统确定

在程序的执行过程中 R0 内容不变,形式地址 A 可变

变址寻址

EA = ( IX ) +A IX 为变址寄存器(专用)

通用寄存器也可以作为变址寄存器

image.png

可扩大寻址范围

IX 的内容由用户给定

在程序的执行过程中 IX 内容可变,形式地址 A 不变

便于处理数组问题

设数据块首地址为 D,求 N 个数的平均值

相对寻址

EA = ( PC ) + A

A 是相对于当前指令的位移量(可正可负,补码)

image.png

A 的位数决定操作数的寻址范围

程序浮动

广泛用于转移指令

(2) 按字节寻址的相对寻址举例

image.png

设 当前指令地址 PC = 2000H

转移后的目的地址为 2008H

因为 取出 JMP * + 8 后 PC = 2002H

故 JMP * + 8 指令 的第二字节为 2008H - 2002H = 06H

堆栈寻址

(1) 堆栈的特点

image.png

先进后出(一个入出口) 栈顶地址 由 SP 指出

image.png

(2) 堆栈寻址举例

(3) SP 的修改与主存编址方法有关

① 按 字 编址

② 按 字节 编址

基本寻址方式的算法和优缺点

image.png

image.png

偏移寻址:EA=A+(R) R可以明显给出,也可以隐含给出

R可以为PC、基址寄存器B、变址寄存器 I

相对寻址: EA=A+(PC) 相对于当前指令处位移量为A的单元

基址寻址: EA=A+(B) 相对于基址(B)处位移量为A的单元

变址寻址: EA=A+(I) 相对于首址A处位移量为(I)的单元

4.3 CISC和RISC的基本概念

一、RISC 的产生和发展

RISC(Reduced Instruction Set Computer)

CISC(Complex Instruction Set Computer)

80 — 20 规律 —— RISC技术

典型程序中 80% 的语句仅仅使用处理机中 20% 的指令

执行频度高的简单指令,因复杂指令的存在,执行速度无法提高

?能否用 20% 的简单指令组合不常用的80% 的指令功能

二、RISC 的主要特征

选用使用频度较高的一些 简单指令,复杂指令的功能由简单指令来组合

指令 长度固定、指令格式种类少、寻址方式少

只有 LOAD / STORE 指令访存

CPU 中有多个 通用 寄存器

采用 流水技术 一个时钟周期 内完成一条指令

采用 组合逻辑 实现控制器

采用 优化 的 编译 程序

三、CISC 的主要特征

系统指令 复杂庞大,各种指令使用频度相差大

指令 长度不固定、指令格式种类多、寻址方式多

访存 指令 不受限制

CPU 中设有 专用寄存器

大多数指令需要 多个时钟周期 执行完毕

采用 微程序 控制器

难以 用 优化编译 生成高效的目的代码

四、RISC和CISC 的比较

  1. RISC更能 充分利用 VLSI 芯片的面积

  2. RISC 更能 提高计算机运算速度

    指令数、指令格式、寻址方式少,通用 寄存器多,采用 组合逻辑,便于实现 指令流水

  3. RISC 便于设计,可 降低成本,提高 可靠性

  4. RISC 有利于编译程序代码优化

  5. RISC 不易 实现 指令系统兼容

五、 中央处理器(CPU)

(一) CPU 的功能和基本结构

(二) 指令执行过程
(三) 数据通路的功能和基本结构
(四) 控制器的功能和工作原理

  1. 硬布线控制器
  2. 微程序控制器 微程序、微指令和微命令;微命令格式,微命令的编码方式;微地址的形式方式。
    (五) 指令流水线
  3. 指令流水线的基本概念
  4. 指令流水线的基本实现
  5. 超标量和动态流水线的基本概念

5.1 CPU 的功能和基本结构

一、 CPU 的功能

控制器的功能

取指令 指令控制
分析指令 操作控制
执行指令,发出各种操作命令
控制程序输入及结果的输出 时间控制
总线管理 处理中断
处理异常情况和特殊请求 数据加工

运算器的功能

实现算术运算和逻辑运算

二、CPU 结构框图

CPU 与系统总线

image.png

image.png

CPU 的内部结构

image.png

三、 CPU 的寄存器

用户可见寄存器

(1) 通用寄存器 存放操作数
可作 某种寻址方式所需的 专用寄存器
(2) 数据寄存器 存放操作数(满足各种数据类型)
两个寄存器拼接存放双倍字长数据
(3) 地址寄存器 存放地址,其位数应满足最大的地址范围
用于特殊的寻址方式 段基值 栈指针
(4) 条件码寄存器 存放条件码,可作程序分支的依据
如 正、负、零、溢出、进位等

控制和状态寄存器

(1) 控制寄存器

PC MAR M MDR IR
控制 CPU 操作
其中 MAR、MDR、IR 用户不可见
PC 用户可见

(2) 状态寄存器

状态寄存器 存放条件码
PSW 寄存器 存放程序状态字

CPU的主要寄存器

程序计数器PC(Programming Counter)
1、用来存放正在执行的指令的地址或接着将要执行的下一条指令的地址
2、顺序执行时,每执行一条指令,PC的值应加1
3、转移类指令将转移目标地址送往PC ,可实现程序转移
指令寄存器IR(Instruction Register)
1、用来存放从存储器中取出的待执行的指令
2、在执行该指令的过程中,指令寄存器的内容不允许发生变化,以保证实现指令的全部功能
CPU的主要寄存器
程序状态字寄存器(PSW)

image.png

指令译码器ID(Instruction Decoder)
1、指令中的操作码经译码后才能识别出是一条怎样的指令
2、译码器经过对指令进行分析和解释,产生相应的控制信号
地址形成部件
1、根据指令的不同寻址方式,用来形成操作数的有效地址
2、指令流向的控制,即下条指令地址的形成控制
时序产生器
1、机器周期、工作节拍、脉冲及启停控制线路

2、由脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲
微操作信号发生器
1、根据指令部件提供的操作信号、时序部件提供的时序信号、被控制功能部件所反馈的状态及条件综合形成真正控制各部件工作的微操作信号

5.2 指令执行的过程

指令周期:指取指令、分析指令到执行完该指令所需的全部时间
机器周期:通常把一条指令周期划分为若干个机器周期,每个机器周期完成一个基本操作不同的指令,可能包含不同数目的机器周期
时钟周期:在一个机器周期内,要完成若干个微操作,因而需要分为若干个时间段,称为节拍,节拍的宽度取决于CPU完成一次基本的微操作的时间

一、 指令周期的基本概念

指令周期

取出并执行一条指令所需的全部时间

image.png

image.png

每条指令的指令周期不同

image.png

具有间接寻址的指令周期

image.png

带有中断周期的指令周期

image.png

指令周期流程

image.png

CPU 工作周期的标志

CPU 访存有四种性质
取 指令 取指周期
取 地址 间址周期 CPU 的4个工作周期
取 操作数 执行周期
存 程序断点 中断周期

image.png

二、 指令周期的数据流

取指周期数据流

image.png

间址周期数据流

image.png

执行周期数据流

不同指令的执行周期数据流不同

中断周期数据流

image.png

5.3 数据通路的功能和基本结构

指令执行过程中,数据所经过的路径,包括路径中的部件。
指令的执行部件。
MIPS计算机系统
TEC-2008计算机系统
TH-FPGA计算机系统
操作命令的分析
完成一条指令分 4 个工作周期
取指周期
间址周期
执行周期
中断周期

一、取指周期

PC →MAR→地址线
1→R
M ( MAR ) → MDR
MDR →IR
OP(IR)→CU
( PC ) + 1 →PC

image.png

二、间址周期

指令形式地址→ MAR
Ad ( IR ) →MAR
1→R
M ( MAR ) →MDR
MDR→Ad ( IR )
可省略

image.png

三、执行周期

非访存指令

(1) CLA 清A 0→ ACC

(2) COM 取反 ACC→ACC
(3) SHR 算术右移 L(ACC) →R(ACC), ACC0→ACC0
(4) CSL 循环左移 R(ACC) →L(ACC), ACC0→ACCn
(5) STP 停机指令 0→G

访存指令

(1) 加法指令 ADD X
Ad(IR) →MAR
1→R
M(MAR) →MDR
(ACC) + (MDR) →ACC
(2) 存数指令 STA X
Ad(IR) →MAR
1→W
ACC→MDR
MDR→M(MAR)
(3) 取数指令 LDA X
Ad ( IR ) →MAR
1→R
M ( MAR ) →MDR
MDR→ACC

转移指令

(1) 无条件转 JMP X
Ad ( IR ) →PC
(2) 条件转移 BAN X (负则转)
A0 •Ad ( IR ) + A0 ( PC ) →PC

三类指令的指令周期

image.png

二、控制信号举例

5.4 控制器的功能和工作原理

5.4.1 硬布线控制器-组合逻辑设计

5.4.2 微程序控制器-微程序设计

一、控制单元的外特性

image.png

输入信号

(1) 时钟
CU 受时钟控制
一个时钟脉冲
发一个操作命令或一组需同时执行的操作命令
(2) 指令寄存器 OP ( IR )→CU
控制信号 与操作码有关
(3) 标志
CU 受标志控制
(4) 外来信号
如 INTR 中断请求
HRQ 总线请求

输出信号

(1) CPU 内的各种控制信号
Ri →Rj
(PC) + 1→PC
ALU +、-、与、或……

(2) 送至控制总线的信号

image.png

三、多级时序系统

机器周期
(1) 机器周期的概念
所有指令执行过程中的一个基准时间
(2) 确定机器周期需考虑的因素
每条指令的执行 步骤
每一步骤 所需的 时间
(3) 基准时间的确定
以完成 最复杂 指令功能的时间 为准
以访问一次存储器 的时间 为基准
若指令字长 = 存储字长 取指周期 = 机器周期

时钟周期(节拍、状态)
一个机器周期内可完成若干个微操作
每个微操作需一定的时间
将一个机器周期分成若干个时间相等的时间段(节拍、状态、时钟周期)
时钟周期是控制计算机操作的最小单位时间
用时钟周期控制产生一个或几个微操作命令

image.png

多级时序系统

机器周期、节拍(状态)组成多级时序系统
一个指令周期包含若干个机器周期
一个机器周期包含若干个时钟周期

image.png

机器速度与机器主频的关系

机器的主频 f 越快机器的速度也越快
在机器周期所含时钟周期数相同的前提下,两机 平均指令执行速度之比等于两机主
频之比

image.png

机器速度不仅与主频有关 ,还与机器周期中所含时钟周期(主频的倒数)数以及指令周期中所含的机器周期数有关

四、控制方式

产生不同微操作命令序列所用的时序控制方式

同步控制方式

任一微操作均由 统一基准时标 的时序信号控制

image.png

(1) 采用定长的机器周期
以最长的微操作序列和最繁的微操作作为标准机器周期内节拍数相同
(2) 采用不定长的机器周期
机器周期内 节拍数不等

image.png

(3) 采用中央控制和局部控制相结合的方法

image.png

异步控制方式

无基准时标信号
无固定的周期节拍和严格的时钟同步
采用 应答方式

联合控制方式

同步与异步相结合

人工控制方式

(1) Reset
(2) 连续 和 单条 指令执行转换开关
(3) 符合停机开关

5.4.1 组合逻辑设计

一、组合逻辑控制单元框图

CU 外特性

image.png

节拍信号

image.png

二、微操作的节拍安排

采用 同步控制方式

一个 机器周期 内有 3 个节拍(时钟周期)
CPU 内部结构采用非总线方式

image.png

安排微操作时序的原则

原则一 微操作的 先后顺序不得 随意 更改
原则二 被控对象不同 的微操作
尽量安排在 一个节拍 内完成
原则三 占用 时间较短 的微操作
尽量 安排在 一个节拍 内完成
并允许有先后顺序

取指周期 微操作的 节拍安排

T0 PC→MAR 原则二
1→R
T1 M ( MAR ) →MDR 原则二
( PC ) + 1→PC
T2 MDR→IR 原则三
OP ( IR ) → ID

间址周期 微操作的 节拍安排

T0 Ad ( IR ) →MAR
1→R
T1 M ( MAR ) →MDR
T2 MDR→Ad (IR)

执行周期 微操作的 节拍安排

太多,略

中断周期 微操作的 节拍安排

T0 0→MAR 1→W 硬件关中断
T1 PC→MDR
T2 MDR→M ( MAR ) 向量地址→PC

中断隐指令完成

三、组合逻辑设计步骤

5.4.2微程序设计

一、微程序设计思想的产生

1951 英国剑桥大学教授 Wilkes

image.png微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。
例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。
微命令是控制计算机各部件完成某个基本微操作的命令。

微操作:是微命令的操作过程。
微命令和微操作是一一对应的。
微命令是微操作的控制信号
微操作是微命令的操作过程。
微操作是执行部件中最基本的操作

微操作命令
由于数据通路的结构关系,微操作可分为相容的和互斥的两种:
1、互斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。
可以编码表示。
2、相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。
必须各占一位
3、微指令:把在同一CPU周期内并行执行的微操作控制信息,存储在控制存储器里,称为一条微指令。

一条微指令通常至少包含两大部分信息:
1)操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。
2)顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。
4、微程序

一系列微指令的有序集合就是微程序。
一段微程序对应一条机器指

二、微程序控制单元框图及工作原理

  1. 机器指令对应的微程序
  2. 微程序控制单元的基本框图

image.png

image.png

image.png

地址转移逻辑
如果微程序不出现分支:下一条微指令地址直接由微地址寄存器给出
如果微程序出现分支:通过判别测试字段P和执行部件的“状态条件”反馈信息,修改微地址寄存器内容。

image.png

  1. 工作原理

三、微指令的编码方式(控制方式)

直接编码(直接控制)方式

在微指令的操作控制字段中,每一位代表一个微操作命令

image.png

某位为 “1” 表示该控制信号有效

字段直接编码方式

将微指令的控制字段分成若干 “段”,每段经译码后发出控制信号

image.png显式编码 微程序执行速度较慢

每个字段中的命令是 互斥 的

n个微命令可以采用编码法表示,占log2(n+1)位
缩短 了微指令 字长,增加 了译码 时间

字段间接编码方式

image.png

混合编码

直接编码和字段编码(直接和间接)混合使用

其他

四、微指令序列地址的形成

  1. 微指令的 下地址字段 指出
  2. 根据机器指令的 操作码 形成
  3. 增量计数器
    ( CMAR ) + 1→CMAR
  4. 分支转移

操作控制字段
转移方式
转移地址
转移方式 指明判别条件
转移地址 指明转移成功后的去向

  1. 通过测试网络

image.png

  1. 由硬件产生微程序入口地址

第一条微指令地址 由专门 硬件 产生
中断周期 由 硬件 产生 中断周期微程序首地址

后续微指令地址形成方式原理图

image.png

image.png

image.png

五、微指令格式

水平型微指令

一次能定义并执行多个并行操作
如 直接编码、字段直接编码、字段间接编码、
直接和字段混合编码

垂直型微指令

类似机器指令操作码 的方式
由微操作码字段规定微指令的功能

两种微指令格式的比较

(1) 水平型微指令比垂直型微指令 并行操作能力强,灵活性强
(2) 水平型微指令执行一条机器指令所要的微指令 数目少,速度快
(3) 水平型微指令 用较短的微程序结构换取较长的微指令结构
(4) 水平型微指令与机器指令 差别大

六、微程序设计举例

5.5 指令流水线

一、如何提高机器速度

  1. 提高访存速度
    高速芯片 Cache 多体并行
  2. 提高 I/O 和主机之间的传送速度
    中断 DMA 通道 I/O 处理机 多总线
  3. 提高运算器速度
    高速芯片 改进算法 快速进位链
    提高整机处理能力
    高速器件 改进系统结构 ,开发系统的并行性

二、系统的并行性

并行的概念

image.png

并行性的等级

image.png

三、指令流水原理

指令的串行执行

image.png

指令的二级流水

image.png

若 取指 和 执行 阶段时间上 完全重叠
指令周期 减半 速度提高 1 倍

影响指令流水效率加倍的因素

(1) 执行时间 > 取指时间

image.png

(2) 条件转移指令 对指令流水的影响

必须等 上条 指令执行结束,才能确定 下条 指令的地址,
造成时间损失 猜测法
解决办法 ?

指令的六级流水 取值-译码-计算操作数地址-取数-执行-写回

image.png

四、影响指令流水线性能的因素

结构相关

程序的相近指令之间出现某种关联
使指令流水出现停顿,影响流水线效率

不同指令争用同一功能部件产生资源冲突

解决办法

• 停顿
• 指令存储器和数据存储器分开
• 指令预取技术 (适用于访存周期短的情况)

数据相关

不同指令因重叠操作,可能改变操作数的 读/写 访问顺序

写后读相关(RAW)

读后写相关(WAR)

写后写相关(WAW)

解决办法 后推法 采用 旁路技术

控制相关

由转移指令引起

五、流水线性能

吞吐率

单位时间内 流水线所完成指令 或 输出结果 的 数量
设 m 段的流水线各段时间为Δt
最大吞吐率

image.png

实际吞吐率
连续处理 n 条指令的吞吐率为

image.png

加速比 Sp

m 段的 流水线的速度 与等功能的 非流水线的速度 之比
设流水线各段时间为Δt
完成 n 条指令在 m 段流水线上共需
T = m·Δt+ (n-1)·Δt
完成 n 条指令在等效的非流水线上共需
T’= nmΔt

image.png

效率

流水线中各功能段的 利用率
由于流水线有 建立时间 和 排空时间
因此各功能段的 设备不可能 一直 处于 工作 状态

image.pngimage.png

image.png

六、流水线的多发技术

超标量技术

每个时钟周期内可 并发多条独立指令
配置多个功能部件
不能调整 指令的 执行顺序
通过编译优化技术,把可并行执行的指令搭配起来

image.png

超流水线技术

在 一个时钟周期 内 再分段 ( 3 段)
在一个时钟周期内 一个功能部件使用多次( 3 次)
不能调整 指令的 执行顺序
靠编译程序解决优化问题

image.png

超长指令字技术

由编译程序 挖掘 出指令间 潜在 的 并行性,
将 多条 能 并行操作 的指令组合成 一条
具有 多个操作码字段 的 超长指令字(可达几百位)
采用 多个处理部件

image.png

七、流水线结构

指令流水线结构

完成一条指令分 7 段, 每段需一个时钟周期

image.png

若 流水线不出现断流 1 个时钟周期出 1 结果
不采用流水技术 7 个时钟周期出 1 结果
理想情况下,7 级流水 的速度是不采用流水技术的 7 倍

运算流水线

完成 浮点加减 运算 可分
对阶、尾数求和、规格化 三段

image.png

分段原则 每段 操作时间 尽量 一致

六、总线

(一) 总线概述

  1. 总线的基本概念
  2. 总线的分类
  3. 总线的组成及性能指标
    (二) 总线仲裁
  4. 集中仲裁方式
  5. 分布仲裁方式
    (三) 总线操作和定时
  6. 同步定时方式
  7. 异步定时方式
    (四) 总线标准

6.1 总线概述

6.1.1 总线的基本概念

一、为什么要用总线

二、什么是总线

总线是连接各个部件的信息传输线,是各个部件共享的传输介质

三、总线上信息的传送

image.png

总线结构的计算机举例

面向 CPU 的双总线结构框图

image.png

单总线结构框图

image.png

以存储器为中心的双总线结构框图

image.png

6.1.2 总线的分类

片内总线 芯片内部 的总线

系统总线 计算机各部件之间 的信息传输线

数据总线 双向 与机器字长、存储字长有关
地址总线 单向 与存储地址、 I/O地址有关
控制总线 有出 有入

image.png

通信总线

用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信

image.png

6.1.3 总线特性及性能指标

一、总线物理实现

image.png

二、总线特性

image.png

三、总线的性能指标

  1. 总线宽度 数据线 的根数
  2. 总线带宽 每秒传输的最大字节数(MBps)
    总线带宽=总线宽度×总线频率
  3. 时钟同步/异步 同步、不同步
  4. 总线复用 地址线 与 数据线 复用
  5. 信号线数 地址线、数据线和控制线的 总和
  6. 总线控制方式 并发、自动、仲裁、逻辑、计数
  7. 其他指标 负载能力

总线结构

一、单总线结构

image.png

二、多总线结构

双总线结构

image.png

三总线结构

image.png

三总线结构的又一形式

image.png

四总线结构

image.png

6.2 总线仲裁(总线控制)

一、总线判优控制

基本概念

image.png

链式查询方式

image.png

计数器定时查询方式

image.png

独立请求方式

image.png

6.3 总线操作和定时 (总线通信控制)

目的 解决通信双方 协调配合 问题

总线传输周期

image.png

总线通信的四种方式

image.png

(1) 同步式数据输入

image.png

(2) 同步式数据输出

image.png

异步通信

image.png

image.png

(4) 半同步通信 (同步、异步 结合)

image.png

image.png

上述三种通信的共同点

一个总线传输周期(以输入数据为例)
主模块发地址 、命令 占用总线
从模块准备数据 不占用总线 总线空闲
从模块向主模块发数据 占用总线

(5) 分离式通信

充分挖掘系统总线每个瞬间的潜力

一个总线传输周期

image.png

分离式通信特点

  1. 各模块有权申请占用总线
  2. 采用同步方式通信,不等对方回答
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲充分提高了总线的有效占用

6.4 总线标准

image.png

image.png

image.png

七、输入输出(I/O)系统

(一) I/O 系统基本概念
(二) 外部设备

  1. 输入设备:键盘、鼠标
  2. 输出设备:显示器、打印机
  3. 外存储器:硬盘存储器、磁盘阵列、光盘存储器
    (三) I/O 接口(I/O 控制器)
  4. I/O 接口的功能和基本结构
  5. I/O 端口及其编址
    (四) I/O 方式
  6. 程序查询方式
  7. 程序中断方式
    中断的基本概念;中断响应过程;中断处理过程;多重中断和中断屏蔽的概念。
  8. DMA 方式
    DMA 控制器的组成;DMA 传送过程。

7.1 I/O系统的基本概念

一、输入输出系统的发展概况

早期

分散连接
CPU 和 I/O设备 串行 工作 程序查询方式

接口模块和 DMA 阶段

image.png

具有通道结构的阶段

具有 I/O 处理机的阶段

二、输入输出系统的组成

I/O 软件

(1) I/O 指令 CPU 指令的一部分

image.png

(2) 通道指令 通道自身的指令

指出数组的首地址、传送字数、操作命令
如 IBM/370 通道指令为 64 位

I/O 硬件

设备 I/O 接口
设备 设备控制器 通道

三、I/O 设备与主机的联系方式

I/O 设备编址方式

(1) 统一编址 用取数、存数指令
(2) 不统一编址 有专门的 I/O 指令

设备选址

用设备选择电路识别是否被选中

传送方式

(1) 串行 (2) 并行

联络方式

(1) 立即响应 (2) 异步工作采用应答信号

image.png

(3) 同步工作采用同步时标

I/O 设备与主机的连接方式

(1) 辐射式连接

image.png

(2) 总线连接

便于增删设备

四、I/O设备与主机信息传送的控制方式

程序查询方式

CPU 和 I/O 串行工作
踏步等待

image.png

程序中断方式

image.png

image.png

image.png

DMA 方式

主存和 I/O 之间有一条直接数据通道
不中断现行程序
周期挪用(周期窃取)
CPU 和 I/O 并行工作

image.png

三种方式的 CPU 工作效率比较

image.png

7.2 I/O设备

一、概述

image.png

外部设备大致分三类

  1. 人机交互设备 键盘、鼠标、打印机、显示器
  2. 计算机信息存储设备 磁盘、光盘、磁带
  3. 机 机通信设备 调制解调器等

7.2.1 输入设备

  1. 键盘
    按键
    判断哪个键按下
    将此键翻译成 ASCII 码 (编码键盘法)
  2. 鼠标
    机械式 金属球 电位器
    光电式 光电转换器
  3. 触摸屏

7.2.2 输出设备

  1. 显示器
    (1) 字符显示 字符发生器
    (2) 图形显示 主观图像
    (3) 图像显示 客观图像

  2. 打印机
    (1) 击打式 点阵式(逐字、逐行)
    (2) 非击打式 激光(逐页) 喷墨(逐字)
    分辨率:显示器所能显示的像素个数。
    灰度级:像素点的亮暗差别(黑白)颜色的不同(彩色)。每个像素对应的刷新存储器的位数。
    刷新:反复不断地扫描整个屏幕。50Hz
    刷新存储器(视频存储器、显存):容量取决于分辨率和灰度级。如1024768,32位真彩色,需要102476832/8B=3MB
    设刷新频率为75Hz,则刷新存储器的总带宽为75
    3MBps=225MBps

  3. 显示器
    (1) 字符显示 字符发生器
    (2) 图形显示 主观图像
    (3) 图像显示 客观图像

  4. 打印机
    (1) 击打式 点阵式(逐字、逐行)
    (2) 非击打式 激光(逐页) 喷墨(逐字)
    分辨率:显示器所能显示的像素个数。
    灰度级:像素点的亮暗差别(黑白)颜色的不同(彩色)。每个像素对应的刷新存储器的位数。
    刷新:反复不断地扫描整个屏幕。50Hz
    刷新存储器(视频存储器、显存):容量取决于分辨率和灰度级。如1024768,32位真彩色,需要102476832/8B=3MB
    设刷新频率为75Hz,则刷新存储器的总带宽为75
    3MBps=225MBps

四、其他

  1. A/D、D/A 模拟/数字(数字/模拟)转换器
  2. 终端 由键盘和显示器组成
    完成显示控制与存储、键盘管理及通信控制
  3. 汉字处理 汉字输入、汉字存储、汉字输出

五、多媒体技术

  1. 什么是多媒体
  2. 多媒体计算机的关键技术

7.2.3 外存储器

磁盘存储器
磁盘阵列:多台磁盘存储器组成的大容量外存系统,它实现数据的并行存储、交叉存储,单独存储,改善了I/O性能,增加了存储容量
光盘存储器:光盘上的信息以坑点形式分布,有坑点表示为“1”,无坑点表示为“0”,一系列的坑点〗(存储元)形成信息记录道。

磁盘存储设备

image.png

image.png

image.png

磁盘上信息的分布 记录面、圆柱面、磁道和扇区
盘片的上下两面都能记录信息,通常把磁盘片表面称为记录面。
记录面上一系列同心圆称为磁道。
每个盘片表面通常有几百到几千个磁道,每个磁道又分为若干个扇区。
磁盘上的这种磁道和扇区的排列称为格式。
磁盘上信息的分布

image.png

数据在磁盘上的记录格式

image.png

主要技术指标

存储密度:
道密度:沿磁盘半径方向单位长度上的磁道数,单位为道/英寸。
位密度:磁道单位长度上能记录的二进制代码位数,单位为位/英寸。
面密度:位密度和道密度的乘积,单位为位/平方英寸。
存储容量:一个磁盘存储器所能存储的字节总数,称为磁盘存储器的存储容量。
存取时间:存取时间是指从发出读写命令后,磁头从某一起始位置移动至新的记录位置,到开始从盘片表面读出或写入信息加上传送数据所需要的时间。
1、寻道时间:磁头定位至磁道上所需的时间;
2、等待时间:磁道上访问的信息到达磁头下的时间。两个时间是随机变化的,使用平均值
平均找道时间:是最大找道时间与最小找道时间的平均值。
平均等待时间:和磁盘转速有关,它用磁盘旋转一周所需时间的一半来表示。
3、数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,叫数据传输率,传输率与存储设备和主机接口逻辑有关

从存储设备考虑,假设磁盘旋转速度为r 转/秒,每条磁道容量为N 个字节,则数据传
输率:

image.png

7.3 I/O 接 口(I/O控制器)

一、概述

为什么要设置接口?

  1. 实现设备的选择
  2. 实现数据缓冲达到速度匹配
  3. 实现数据串—并格式转换
  4. 实现电平转换
  5. 传送控制命令
  6. 反映设备的状态(“忙”、“就绪”、“中断请求”)

二、接口的功能和组成

1.总线连接方式的 I/O 接口电路
(1) 设备选择线
(2) 数据线
(3) 命令线
(4) 状态线

image.png

7.3.1 接口的功能和基本结构

功能 组成
选址功能 设备选择电路
传送命令的功能 命令寄存器、命令译码器
传送数据的功能 数据缓冲寄存器
反映设备状态的功能 设备状态标记

image.png

image.png

7.3.2 I/O 端口及其编址

I/O 端口

I/O端口是指接口电路中可以被CPU直接访问的寄存器,若干个端口加上相应的控制逻辑电路组成接口

I/O 端口编址方式

独立编址方式
统一编址方式

7.4 I/O方式

7.4.1 程序查询方式

一、程序查询流程

查询流程

image.png

程序流程

保存 寄存器内容

image.png

二、程序查询方式的接口电路

7.4.2 程序中断方式

一、中断的概念

image.png

二、I/O 中断的产生

引起中断的各种因素

(1) 人为设置的中断
如 转管指令

image.png

(2) 程序性事故 溢出、操作码不能识别、除法非法
(3) 硬件故障
(4) I/O 设备
(5) 外部事件 用 键盘中断 现行程序

中断分类

1、软件中断:不是随机产生的中断,而是在程序中安排软件中断指令使机器进入中断处理的过程。
2、硬件中断:由随机产生的硬件事件事产生的中断
3、内中断:是指由于CPU内部硬件或软件原因引起的中断。
4、外中断:是指CPU以外的部件引起的中断。
5、可屏蔽中断:可以被CPU内部中断允许标志禁止的中断
6、非屏蔽中断:不受CPU内部中断允许标志影响的中断。

中断系统需解决的问题

(1) 各中断源 如何 向 CPU 提出请求 ?
(2) 各中断源 同时 提出 请求 怎么办 ?
(3) CPU 什么 条件、什么 时间、以什么 方式响应中断 ?
(4) 如何 保护现场 ?
(5) 如何 寻找入口地址 ?
(6) 如何 恢复现场,如何 返回 ?
(7) 处理中断的过程中又 出现新的中断 怎么办 ?

硬件 + 软件

主要部件

1、中断请求寄存器:中断系统为每一个中断源设置一个中断请求触发器。当某一个中断源有中断请求时,相应的中断请求触发器置成“1”状态。多个中断请求触发器构成一个中断请求寄存器。
2、中断屏蔽寄存器: 每个中断源对应一位屏蔽位,构成中断屏蔽寄存器,可以选择要响应和不响应的中断请求。
3、中断允许触发器:位于CPU内部的一个触发器,是CPU是否响应中断的标记。

中断响应的条件

1、中断源提出中断请求
2、中断未被屏蔽:中断屏蔽寄存器的相应位为0
3、中断源具有高的硬件优先级
4、CPU允许中断(可屏蔽中断)
5、一条指令执行完毕(可屏蔽中断)
6、没有更高级的中断服务程序正在执行。

中断处理过程注意几个问题:

1、响应中断时机:外界中断请求是随机的,但CPU只有在当前指令执行完毕后,才转至公操作
2、断点保护问题(PC,寄存器内容和状态的保存)
3、原子操作:开中断和关中断问题。

中断是由软硬件结合起来实现的

二、中断请求标记和中断判优逻辑

中断请求标记 INTR
一个请求源 一个 INTR 中断请求标记触发器

image.png

INTR 分散 在各个中断源的 接口电路中
INTR 集中 在 CPU 的中断系统 内

程序中断方式的接口电路

配置中断请求触发器和中断屏蔽触发器

三、中断服务程序入口地址的寻找

硬件向量法

软件查询法

四、中断响应

响应中断的 条件

允许中断触发器 EINT = 1

响应中断的 时间

指令执行周期结束时刻由CPU 发查询信号

中断隐指令

(1) 保护程序断点
断点存于 特定地址( 0 号地址) 内 断点 进栈
(2) 寻找服务程序入口地址
向量地址→PC (硬件向量法)
中断识别程序 入口地址 M→PC (软件查询法)
(3) 硬件 关中断
INT 中断标记
EINT 允许中断
R–S 触发器

中断服务程序流程

中断服务程序的流程

(1) 保护现场
程序断点的保护 中断隐指令完成
寄存器内容的保护 进栈指令
(2) 中断服务
对不同的 I/O 设备具有不同内容的设备服务
(3) 恢复现场 出栈指令
(4) 中断返回 中断返回指令

五、保护现场和恢复现场

image.png

image.png

中断处理过程总结

执行中断隐指令

保存断点、关中断、转入中断服务程序

转入中断服务程序
①保护现场:CPU的主要状态,通用寄存器入栈保存
②开中断:为响应其他更高级别的中断请求,另外在中断服务程序执行完毕,再次响应
③中断处理:
④结尾部分:关中断,以防止在恢复现场过程中被新的中断打断;恢复现场;开放中断;中断返回。

六、中断屏蔽技术

多重中断的概念

image.png

程序断点 k+1 , l+1 , m+1

实现多重中断的条件

(1) 提前 设置 开中断 指令
(2) 优先级别高 的中断源 有权中断优先级别低 的中断源

image.png

单重中断和多重中断的服务程序流程

image.png

屏蔽技术

(1) 屏蔽触发器的作用

image.png

image.png

image.png

(3) 屏蔽技术可改变处理优先等级

响应优先级 不可改变
处理优先级 可改变(通过重新设置屏蔽字)image.png

响应优先级 A→B→C→D 降序排列
处理优先级 A→D→C→B 降序排列

image.png

CPU 执行程序轨迹(原屏蔽字)
处理优先级 A→D→C→B 降序排列

image.png

image.png

CPU 执行程序轨迹(新屏蔽字)

(4) 屏蔽技术的其他作用
可以 人为地屏蔽 某个中断源的请求 便于程序控制

7.4.3 DMA 方式

一、DMA 方式的特点

DMA 和程序中断两种方式的数据通路

image.png

直接存储器访问(Direct Memory Address)DMA方式是为了在主存储器与I/O设备间高速交换批量数据而设置的。
基本思想是:通过硬件控制实现主存与I/O设备间的直接数据传送,在传送过程中无需CPU的干预。数据传送是在DMA控制器控制下进行的,
优点:速度快。有利于发挥CPU的效率

DMA 与主存交换数据的三种方式

(1) 停止 CPU 访问主存

控制简单
CPU 处于不工作状态或保持状态
未充分发挥 CPU 对主存的利用率

image.png

(2) 周期挪用(或周期窃取)

DMA 访问主存有三种可能
CPU 此时不访存
CPU 正在访存
CPU 与 DMA 同时请求访存
此时 CPU 将总线控制权让给 DMA

image.png

(3) DMA 与 CPU 交替访问

image.png

image.png

不需要 申请建立和归还 总线的使用权

二、DMA 接口的功能和组成

DMA 接口功能

(1) 向 CPU 申请 DMA 传送
(2) 处理总线 控制权的转交
(3) 管理 系统总线、控制 数据传送
(4) 确定 数据传送的 首地址和长度
修正 传送过程中的数据 地址 和 长度

(5) DMA 传送结束时,给出操作完成信号

DMA 接口组成

image.png

三、DMA 的工作过程

DMA 传送过程

预处理、数据传送、后处理
(1) 预处理
通过几条输入输出指令预置如下信息
通知 DMA 控制逻辑传送方向(入/出)
设备地址→DMA 的 DAR
主存地址→DMA 的 AR
传送字数→DMA 的 WC
(2) DMA 传送过程示意

image.png

(3) 数据传送过程(输入)

image.png

(4) 数据传送过程(输出)

image.png

(5) 后处理

校验送入主存的数是否正确
是否继续用 DMA
测试传送过程是否正确,错则转诊断程序
由中断服务程序完成

DMA 接口与系统的连接方式

(1) 具有公共请求线的 DMA 请求

image.png

(2) 独立的 DMA 请求

image.png

DMA 方式与程序中断方式的比较

image.png

四、DMA 接口的类型

选择型

在 物理上 连接 多个 设备
在 逻辑上 只允许连接 一个 设备

image.png

多路型

在 物理上 连接 多个 设备

在 逻辑上 允许连接 多个 设备同时工作

image.png

多路型 DMA 接口的工作原理


亲爱的读者:有时间可以点赞评论一下

点赞(1) 打赏

全部评论

还没有评论!