计算机组成原理复习

概论

冯诺依曼体系

冯·诺依曼结构的特点是: 计算机硬件系统由五大部件(存储器、运算器、控制器、输入设备和输出设备)组成计算机中采用二进制形式表示信息采用存储程序的工作方式

冯诺依曼思想包含三个方面

计算机硬件系统由五大部件(存储器、运算器、控制器、输入设备和输出设备)组成;计算机中采用二进制形式表示信息;采用存储程序的工作方式 。

计算机及硬件系统

计算机硬件系统由 CPU存储器输入/输出设备总线接口 部件组成。

计算机软件系统

软件系统分为 系统软件应用软件 两大类。

编译方式和解释方式对源程序处理有什么区别

1、编译程序是整体编译完了,再一次性执行。

2、而解释程序是一边解释,一边执行。

3、编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。

4、而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。

汇编程序、汇编语言(汇编源程序)

控制流驱动和数据流驱动

控制流驱动方式:即,指令控制数据,执行指令即可进行相关操作。著名的冯诺依曼机就是这种模式。

数据流驱动方式:需要的数据准备齐全即可执行操作.

计算机性能的主要评价指标

名词

基本字长:处理器中参加一次定点计算的操作数的位数。

外频:主板上振荡器输出的时钟频率。

存储字长(按字节/字/双字节编址):存储单元的位数。MDR的位数反映了存储字长。

存储单元的个数:存储器中存储单元的个数。MAR的位数反映了存储单元的个数。 如果MAR为N位,则存储单元的个数为2的N次幂。

地址线条数:决定了存储单元的最大寻址范围,决定了MAR的位数和存储单元个数。

存储容量:存储容量=存储单元的个数*存储字长。单位B(byte)。

指令字长:一条指令中包含的二进制代码的位数。指令字长一般是存储字长的整数倍,如果指令字长等于存储字长的2倍,需要2次访存来取出指令,因此,取指周期是机器周期的2倍。

某主存总容量为64MB,按字编址,需要多少条地址线,MAR位数是多少?

若数据传输指令的元和目的操作数都采用变址寻址,指令字长为48bit(包含形式地址),数据总线和地址总线为16bit,则该指令的执行需要从存储器取指令、取源操作数,并送到目的存储单元,需要多少次访存?

CPU综合性能

主频:CPU内核工作频率。

平均每秒执行指令数IPS

平均每条指令的时钟周期数CPI

每秒执行定点/浮点运算的次数FLOPS(标志系统性能)

CPU功耗P:P=CU^2f

数据传输

数据通路宽度:总线一次能并行传输的数据位数。

数据传输率DTR:单位时间内信道的数据传输量。DTR = Wf(bps)

W:数据通路宽度

f:工作频率

数据的表示、运算和校验

数值型数据

进位计数制

带符号数的表示

原码:

最高位是符号位**+:0-:1**。

范围:-127~+127

补码:

整数的补码:与原码相同。

负数的补码:符号位为1,其余各位取反,在末位加一。

范围:-128~+127

( X + Y )补 = X补 + Y补 (1)
( X – Y )补 = X补 + (-Y)补 (2)

反码:

正数的反码:与原码相同。

负数的反码:符号位为1,其余各位变反。

范围:-127~+127

移码:

正数的移码:与原码相同。

负数的移码:补码的符号位取反。

1)若寄存器的内容为111111,若它等于-1,则为(B)
A、原码 B、补码 C、反码 D、移码

2)若寄存器的内容为11111111,若它的真值为+127,则机器数为(D)
A、反码 B、补码 C、原码 D、移码

浮点数与 定点数

IEEE754

IEE754表示法,掌握十进制和IEEE754(32位)之间的相互转换。
浮点数的表示方法(数符、尾数、阶码、阶符、尾数规格化)

定点加减运算

算术移位、逻辑移位规则、溢出判断规则

逻辑移位

对于逻辑移位,就是不考虑符号位,移位的结果只是数据所有的位数进行移位。根据移位操作的目的,左移时,低位补0,右移时,高位补0。

算术移位

算术是带有符号的数据,所以我们不能直接移动所有的位数,这可能会使得符号不正确。

负数补码移位

数符不变 (单:符号位不变;双:第1符号位不变)

左移空位补0

右移空位补1 (第二符号位移至尾数最高位)

一个很重要的知识:
关于数的移位,特别需要注意正数,三码相同,所以无论左移还是右移都是补0.而负数的补码就需要注意,左移在右边补0,右移需要在左边补1,有一个很有趣的误区是,认为符号位保持不变,仅仅移动数据位,这是不对的,因为无论数据位还是符号位,都是二进制,在整体大迁移的过程中,符号位也是要跟随潮流的。只不过,为了保证右移后,和原来的符号数一样,因此,负数在右移时左边补1。

溢出判断

溢出:运算结果超出机器数的表示范围。

正溢:两正数相加绝对值超出允许的表示范围。

负溢:两负数相加绝对值超出允许的表示范围。

数A有4位尾数,1位符号SA

数B有4位尾数,1位符号SB

结果符号Sf

符号位进位Cf

尾数最高位进位C

硬件判断逻辑一(SA SB Sf的关系)

9.jpg

硬件判断逻辑二(Cf 与 C的关系)

3.jpg

硬件判断逻辑三(双符号位)

2.jpg

奇偶校验

CPU子系统

概述

运算部件(多路选择器、锁存器)

数据缓存部件(Cache L1、L2、L3)

寄存器

各种寄存器的作用(R0~R3、PSW 、PC、SP 、IR 、MAR、MDR、C、D):哪些是可编程寄存器,哪些是不能编程访问的。

控制部件

(1)控制部件的输入信号包括 IRPSWPC时序系统I/O请求复位信号

(2)按照微命令产生方式,控制器分为组合逻辑控制器微程序控制器

(3)一般指令的读取和执行分为取指令取源操作数取目的操作数执行阶段。

(4)微命令:在计算机中用来控制微操作(如逻辑门的开或关、寄存器的打入或清除等操作)的控制命令称为微命令,也称为微操作控制信号。

(5)组合逻辑控制:简单地讲,由硬连逻辑电路产生微命令的方式称为组合逻辑控制方式。它的基本思想如下:
综合、化简产生微命令的条件,形成相应逻辑式,并用组合逻辑电路实现;执行指令时,由组合逻辑电路(微命令发生器)在相应时间发出所需微命令,控制有关操作。

(6)微程序控制:简单地讲,由微指令译码产生微命令的方式称为微程序控制方式。它的基本思想如下:
将若干微命令编制成一条微指令,控制实现一步操作;将若干微指令组成一段微程序,解释执行一条机器指令;将微程序事先存放在控制存储器中,执行机器指令时再取出。

时序部件

(1)时序信号:周期、节拍、脉冲
(2)时序系统:产生时序信号的部件,由1个低频振荡器和倍频逻辑组成
(3)指令周期、工作周期、总线周期、时钟周期、时钟信号
(4)同步控制、异步控制、扩展同步控制

数据通路和控制通路

(1)分立寄存器的CPU数据通路

06.jpg

(2)集成寄存器结构的CPU数据通路

44.jpg

1、PSW寄存器的特征位是程序员设置的( )
x

2、MAR寄存器是采用双向三态门或者OC组件构成。( )
x

3、暂存器C用于存放源操作数或者源操作数地址,暂存器D存放目的操作数或者目的操作数地址( )
v

4、IR寄存器适用于存放当前指令地址( )
x

5、现代微处理器缓存采用三级缓存L1、L2和L3,三级缓存都部署与CPU内部。( )
v

6、CM属于CPU的一部分( )
V

7、时序系统里面有一个启停控制逻辑,它的作用是
保证可靠的送出完整脉冲,并且产生一个总清信号/复位信号,对计算机相关部件进行初始化。

8、晶体振荡器产生的时钟频率低于CPU的主频( )
V

9、同步控制的同一时序信号都由CPU产生()
x

10、同步控制的时钟周期长度固定不变()
v

11、异步控制方式是指()
各项操作不受统一时序信号【如时钟周期】的约束,各部件之间数据传输采用应答方式。

12、扩展同步控制根据实际时间分配时钟周期数,时钟周期长度不变( )
V

13、计算机工作的最小时间周期是( )
A、时钟周期 B、指令周期 C、总线周期 D、工作脉冲
D

14、时序控制方式中,有一种方式,是总线周期中允许插入延长周期,其含义是( )
A、将一个总线周期延长为多个总线周期
B、在一个时钟周期内插入新的总线周期
C、在总线周期内增加新的总线周期
D、在一个总线周期内,延长时钟周期长度
B

指令系统

指令格式

简化地址结构、操作码(固定操作码、扩展操作码、复合型操作码)

(1)简化地质结构的基本途径
在指令中减少显地址的数量,即使用隐地址方式给出地址,指令中的地址(段)个数就可减少。

(2)减少指令中地址信息的位数的方法
采用寄存器寻址、寄存器间址等以寄存器为基础的寻址方式可以大大减少指令中一个地址的信息位数。

(3)显地址
在指令代码中明显给出的地址,如在指令中写明操作数的主存单元地址或寄存器号,则这种地址称为显地址。

(4)隐地址
在指令中不明显给出地址码,地址以隐含方式约定,这种隐含约定的地址称为隐地址。

1、指令长度和机器字长有什么关系? 半字长指令、单字长指令、双字长指令分别表示什么意思?
解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于或小于机器字长。通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。

2、假设指令系统的指令字长16位,地址位4位,若两地址指令需要12条,单地址指令需要12条,那么零地址指令最多有( )条。
256

寻址方式

指令中以什么方式提供操作数或操作数地址,称为寻址方式。

立即寻址:由指令直接给出操作数,在取出指令的同时也就取出了可以立即使用的操作数,这种寻址方式称为立即寻址。

直接寻址:由指令直接给出操作数地址,根据该地址可以从主存(或寄存器)中取出操作数,或向主存(或寄存器)写入数据,这种寻址方式称为直接寻址。

寄存器寻址:在指令中给出寄存器号,从该寄存器号所指的寄存器中取出操作数或将数据传送到该寄存器号所指的寄存器中。这种寻址方式实为寄存器直接寻址。

间接寻址:在指令中给出间址单元地址码(即操作数地址的存放单元地址),按照该地址访问主存中该间址单元,从中读取操作数地址,接着按操作数地址再次访问主存,从该单元中读取或向该单元写入操作数。

寄存器间址:由指令给出寄存器号,在该寄存器号所指定的寄存器中存放着操作数地址,按此地址访问主存,读取或写入操作数。

间址单元:在间接寻址方式中,存放操作数地址的主存编址单元称为间址单元。

变址寻址:在指令中的地址部分给出一个形式地址,并且指定一个寄存器作为变址寄存器,将变址寄存器的内容(称为变址量)与形式地址相加,得到操作数地址(称为有效地址);按有效地址访问主存,从相应的主存单元中读得操作数或向该单元写入数据。

基址寻址:在指令中给出一个形式地址(作为位移量),并且指定一个寄存器作为基址寄存器(该基址寄存器内容作为基准地址);将基址寄存器内容和形式地址相加,其和作为操作数有效地址;按有效地址访问主存,从该单元读取操作数或向该单元写入数据。

相对寻址:指用程序计数器PC的内容作为基准地址,指令中给出的形式地址作为位移量的基址寻址方式。

页面寻址:将程序计数器PC的高位段作为操作数有效地址的高位段,指令中给出的形式地址作为操作数有效地址的低位段,将这两部分拼接构成操作数有效地址,这种寻址方式称为页面寻址方式。

堆栈:
一种按“后进先出”(或称“先进后出”)存取顺序进行存取的存储结构。
a)栈顶:堆栈是一个连续的存储区,其一端固定称为栈底,存放最先压入的数;堆栈的另一端是浮动的,称为栈顶,对堆栈的读写都是对栈顶单元进行的;对堆栈的寻址也就是对栈顶单元的寻址,随着堆栈操作的进行,栈顶位置也发生变化。
b)堆栈指针:指用于指向栈顶位置的寄存器SP,堆栈指针SP的内容是栈顶单元地址。

模型机:双重间址@(R)+、变址X(R)

1、若某个主存储器部分的地址单元与主存内容对应关系如下:
地址码 存储内容
1000H A307H
1001H 0B3FH
1002H 1200H
1003H F03CH
1004H D024H
(1)若采用寄存器间接寻址方式读取操作数,指定寄存器R0的内容是1002H,则操作数是多少?
操作数是1200H
(2)若采用自增型寄存器间址方式(R1)+读取操作数,R1内容是1000H,则操作数是多少?指令执行完后R1内容是多少?
操作数是A307H,指令执行后R0的内容变为1001H
(3)若采用自减型寄存器间址-(R2)读取操作数,R2内容为1003H,则操作数是多少?指令执行完后R2内容是多少?
操作数是1200H,指令执行后R1的内容为1002H
(4)若采用变址寻址方式X(R3)读取操作数,指令中给出的形式地址d=3H,变址寄存器R3的内容是1000H,则操作数是多少?
操作数为F03CH。

2、假设R0的内容为2000H,R1的内容为2500H,(2000H)=3000H,
(3000H)=4000H,则指令“MOV R1,@(R0)+”执行后,R0的内容为(),R1的内容为(),(2000H)的内容为(),(3000H)的内容为( )。
2001H,4000H,3000H,4000H

3、若数据传输指令的源和目的操作数都采用变址寻址,指令字长为48bit(包含形式地址),数据总线和地址总线为16bit,则该指令的执行需要从存储器取指令、取源操作数,并送到目的存储单元,需要多少次访存?( )
5 = 3 + 1 + 1

4、隐地址是指()的地址。
A. 用寄存器号表示 B. 存放在主存单元中
C. 事先约定,指令中不必给出 D. 存放在寄存器中
C

5、指令ADD(R0),@(R1)+的指令长度是3字节(存储器按字节编址),则指令从取指开始执行,共需要( )次访问存储器。
7

加法器与运算部件

运算器的核心部件是( ALU ),一般应具有( 算术运算 )与( 逻辑运算 )两大类运算能力。

1、并行加法器的运算速度取决于全加器单元的速度。( x)

2、串行进位链是串行加法器中的进位链。( v)

3、用4片74181和1片74182可组成( )
A、组内并行进位,组间串行进位的16位ALU
B、组内并行进位,组间并行进位的16位ALU
C、组内串行进位,组间串行进位的16位ALU
D、组内串行进位,组间并行进位的16位ALU
B

【例1】已知操作数Ai,Bi,初始进位C0。试写出C6的逻辑表达式

(Ci:本位进位。 Gi:绝对进位。 Pi:条件进位。 Ci-1:传递进位。)

串行进位:
C6 = G6 + P6C5;

并行进位:
C6 = G6 + P6G5 + P6P5G4 + P6P5P4G3 + P6P5P4P3G2 + P6P5P4P3P2G1 + P6P5P4P3P2P1C0

模型机

指令系统、

寻址方式:

寄存器寻址、寄存器间址、自减型寄存器间址、自增型寄存器间址、自增型双重间址、相对寻址、跳步

指令类型:

双地址指令、单地址指令、转移指令

模型机的数据通路结构P133 图3-34

指令流程和微命令P137-P145

传送指令、双操作数指令
​ 中断周期P145

组合逻辑控制器

时序系统(工作周期【6个触发器】、时钟周期【计数器】、工作脉冲)

机器字长:CPU一次能处理数据的位数。通常与CPU的寄存器的位数有关, 单位b(bit)

存储字长(按字节/字/双字节编址):存储单元的位数。MDR的位数反映了存储字长。

存储单元的个数:存储器中存储单元的个数。MAR的位数反映了存储单元的个数。 如果MAR为N位,则存储单元的个数为2的N次幂。

地址线条数:决定了存储单元的最大寻址范围,决定了MAR的位数和存储单元个数。

存储容量:存储容量=存储单元的个数*存储字长。单位B(byte)。

【例1】某主存总容量为64MB,按字编址,需要多少条地址线,MAR位数是多少?
(25,25)

【例2】若数据传输指令的源和目的操作数都采用变址寻址,指令字长为48bit(包含形式地址),数据总线和地址总线为16bit,则该指令的执行需要从存储器取指令、取源操作数,并送到目的存储单元,需要多少次访存?
(5)

【例3】模型机中,MOV (R0), @(R1)+,则该指令的执行需要从存储器取指令、取源操作数,并送到目的存储单元,需要多少次访存?
(4)

【例4】模型机中,执行指令JSR @(R0)+后,PC和SP的值如何改变?
( SP-1->SP ,PC值压栈后,PC值变为子程序入口地址 )
执行RST (SP)+指令后, PC和SP的值如何改变?
(PC出栈,SP+1->SP)

微程序控制器

一条机器指令的执行分为若干步,将每一步操作所需的微命令按照固定格式进行编码,并存储成一条微指令,多条微指令构成一段微程序,这段微程序对应一条机器指令。
​ 机器在执行指令过程中,每一步(时钟周期)取出一条微指令,经过译码后,产生一组控制信号(微命令),控制各个部件的操作。
控制存储器(Control memory,CM,控存):只读存储器,存储可以经过译码产生控制信号的微程序(经过按照一定规则进行编制)。

1、控制存储器CM是()的一种存储器
A、用于存储汇编指令 B、用于存储显示字符
C、位于CPU内部 D、用于存储指令流程
C

2、后续微地址的形成有(增量和断定)两种,其中按照目的操作数寻址方式实现分支属于(断定)方式

3、对微指令编码,采用分段编译法,下面说法正确的是()
A、如果K个字段,则可提供K个微命令
B、微命令的数量与段的数量和各段长度都有关系
C、微命令的数量和段的数量没有关系,只与微指令的总长度有关
D、以上三种都不正确。
B

存储子系统

存储器的层次结构

主存:
CPU可直接访问,存放CPU当前使用的指令和数据。
特点:能随机访问、工作速度快、容量有限。

辅存(外存):
存放大量的后备程序和数据。
特点:速度较慢、容量大。

高速缓冲存储器(Cache):
存放CPU在当前一小段时间内多次使用的程序和数据,以缓解CPU和主存的速度差异。
特点:速度很快、容量小。

存储器的分类

按存储介质(物理存储机制)分类:

半导体存储器

静态存储器:利用双稳态触发器存储信息,功耗较大,速度快,做Cache。
动态存储器:依靠电容上的电荷暂存信息,功耗较小,容量较大,速度较快适合做主存。

磁表面存储器:磁带、存盘、硬盘

利用磁层上不同方向的磁化区域表示信息。
特点:存储容量大;非破坏性读出、永久保存;读写速度比半导体存储器慢;适合用于外存。

光盘存储器

利用光斑的有无存储信息。
特点:容量大;非破坏性读出、永久保存;速度慢;适合用于外存。

按存取方式分类

随机存取存储器(RAM,ROM、Flash memory)

随机存取:可按地址访问存储器中的任一单元,与访问时间和单元地址无关。
技术指标:存取周期、存取时间。

顺序存取存储器(SAM)

访问时读/写部件按顺序查找目标地址,访问时间与数据位置有关。
例如,磁带机 — 与磁带录音机工作原理类似, 但存储信息为数字信息, 而非模拟信息。
技术指标:平均存取时间、数据传输率。

直接存取存储器(DAM)

访问时读/写部件先直接指向一个小区域,再在该区域内顺序查找。访问时间与数据位置有关,如磁盘、硬盘、光盘。
技术指标:平均定位/寻道时间、平均等待/旋转时间、数据传输率。

半导体存储原理

静态存储器SRAM(双极型、静态MOS型): 依靠双稳态电路内部交叉反馈机制,功耗较大,速度快,作Cache、(六管单元构成1位,有VCC供电)非破坏性读出,读出后不需重写。

动态存储器DRAM:依靠电容存储电荷的原理存储信息,功耗较小,容量大,速度较快,作主存。(4管单元、无VCC供电)四管单元是非破坏性读出,读出过程即实现刷新;需定期向电容补充电荷(动态刷新)。

单管单元(无VCC):单管单元是破坏性读出,读出后需重写。

存储器的逻辑设计:
计算芯片数量(位扩展、单元数扩展)、地址分配和片选逻辑、电路连接(数据线、地址线、片选线、读/写线)、3:8译码器或2:4译码器的连线、与门、与非门、或门、或非门的画法。

步骤:

(1)确定芯片数量(先位扩展,然后扩展单元数)

(2)地址分配,确定片选逻辑

(3)画连线图

动态刷新

刷新和重写的区别:刷新是动态存储芯片,需补充电荷以保持原信息;重写是破坏性读出后重写,以恢复原来的信息。

刷新原因:动态存储器依靠电容电荷存储信息。电容电荷随时间推移会缓慢泄放,需定期向电容补充电荷,以保持信息不变。

最大刷新间隔:2ms内,必须对所有动态单元刷新一遍。

刷新方法:各DRAM芯片同时刷新,片内按行刷新(按行读)

刷新周期(存取周期):刷新一行所用的时间。刷新周期数:刷新一块芯片所需的周期数,由芯片矩阵的行数决定。

刷新周期的安排方式:
(a)集中刷新
(b)分散刷新
(c)异步刷新:每隔一定时间(2ms/芯片的行数)提出一次刷新请求(DMA请求),刷新一行。

主存储器校验

奇偶校验编码规则:编码中“1”的个数为奇数或者偶数

1、某计算机主存空间是4GB,字长为32位,按字节编制,采用32位字长的指令格式,则程序计数器PC和指令寄存器IR的位数分别是()
A、30,30 B、30,32 C、32,30 D、32,32
D

2、半导体SRAM的存储信息原理是( )
A、依靠双稳态电路 B. 依靠定时刷新
C. 依靠读后再生 D. 信息不再变化
A

3、下列选项不属于动态刷新的方式为( )
A、集中刷新 B. 分散刷新 C. 同步刷新 D. 异步刷新
C

4、主存按字节编址,地址从A400H到DFFFH,共有容量 15KB ;若用存储容量为3K*4的存储芯片,至少需要( )片
10

5、在计算机系统中存储器按介质分类,它们可以分为( )。
A、半导体存储器,磁表面存储器,光盘存储器; B、硬盘,软盘,光盘;
C、U盘,磁带,RAM; D、RAM,ROM,EPROM。
A

6、存储器按存取方式分为:
随机存取存储器,顺序存取存储器(SAM),直接存取存储器(DAM)。

7、地址总线A0∽A15,用4K*4的存储芯片组成16KB的存储器,则用于存储芯片内部寻址的地址线是( )
A. A16∽A15 B. A0∽A9 C. A0∽A11 D. A4∽A15
C

8、某主存容量为32KB,由16片16K*1位(内部采用128*128存储阵列)的DRAM芯片组成,若采用集中式刷新方式,且刷新周期为2ms,那么所有存储单元刷新一遍需要至少需要安排 个刷新周期。
128

9、16片2K*4位的存储器可以设计存储容量为 的16位存储器
8K

10、磁盘属于( )类型的存储器
A.随机存取存储器(RAM) B.只读存储器(ROM) C.顺序存取存储器(SAM) D.直接存取存储器(DAM)
D

11、下列几种存储器中,CPU不能直接访问的是( )
A、硬盘 B、内存 C、Cache D、寄存器
A

12、DRAM的刷新是以( )为单位进行的。
A、存储单元 B、行 C、列 D、存储字
B

13、某存储器容量为32K×16位,则地址线有 条。
15

14、某DRAM芯片,采用地址复用技术,其容量为1024×8位,除电源和接地外,该芯片的引脚最少是 条(读写控制线为2条)
17

总线与输入/输出子系统

I/O系统包括:

I/O设备:实现与主机的信息交换和人机交互

I/O接口:主机与外设之间的连接逻辑,控制外设的I/O操作

系统总线:连接系统各大部件的公共信息通道

为什么在外设与CPU之间需要接口?

(1)时间同步:不同速度外设如何与CPU之间进行时间同步

(2)数据格式的转换(如果需要):外设数据格式可能与CPU数据格式不同

(3)CPU与外设之间一次数据传送量的控制

(4)其它因素(如电平转换)

接口分类

按数据传送格式划分

并行接口: 接口与系统总线、接口与外设均按并行方式传送数据;数据各位同时传送;适合设备本身并行工作,距主机较近的场合。
串行接口: 接口与系统总线并行传送,接口与外设串行传送;数据逐位分时传送。

按时序控制方式划分

同步接口:连接同步总线,接口与系统总线的信息传送由统一时序信号控制。
异步接口:连接异步总线,接口与系统总线的信息传送采用异步应答方式。

按I/O传送控制方式划分

程序控制接口:通过硬件或软件方式按指定优先级查询各设备是否要进行输入/输出
中断接口:设备提出中断请求,主机响应后与设备交换信息,接口中包含中断控制逻辑
DMA接口:支持高速外设与主机之间进行DMA方式交换数据

I/O接口主要功能

寻址:接收CPU送来的地址码,选择接口中的寄存器供CPU访问
数据缓冲:实现主机与外设的速度匹配;缓冲深度与传送的数据量有关。
预处理:串-并格式转换(串口);数据通路寬度转换(并口);电平转换
控制功能:传送控制命令与状态信息,实现I/O传送控制方式

接口编址

统一编址:将一部分总线地址(高区)分配给设备接口中的寄存器(占用了主存地址)。通用的访存指令
单独编址:为接口中的每个寄存器分配独立的端口号(与主存地址无关),有专门的I/O指令

接口传送信息包括控制命令、数据、状态

总线

定义:一组能为多个部件分时共享的信息传送线路。通常作法:发送部件通过OC组件或三态门分时发送信息,由打入脉冲将信息送入指定接收部件。
实体:一组传送线与相应控制逻辑

总线分类

按时序控制方式划分

同步总线: 由统一时序信号控制总线传送操作;在固定时钟周期内完成数据传送,由同步脉冲定时打入。
**异步总线:**无固定时钟周期划分,以异步应答方式控制传送
扩展同步总线:以时钟周期为时序基础,允许总线周期中的时钟数可变。
时钟周期:CPU执行一步操作的时间
总线周期:经过总线的一次数据传送(访存)时间,通常包含若干时钟周期
工作周期:指令周期中的一个操作阶段;可包含多个总线周期

计算机设计中,不同类型的总线可能采用的时序控制方式和数据传送格式:

CPU内总线:同步、并行
局部总线:同步、异步、扩展同步、并行
系统总线:同步、异步、扩展同步、并行
外总线:异步、并行、串行

总线的技术指标

总线宽度、总线频率、总线数据传输率

总线标准

内总线(典型):ISA、EISA、VESA、PCI、PCI-e
外总线(典型):RS232、RS485、USB、IEEE1394

中断

定义:CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序。处理完毕后自动恢复原程序的执行。
实质:程序切换。在一条指令结束时切换,保证程序的完整性;切换前需保存断点、保护现场,中断服务程序执行结束后,需要恢复现场,返回断点。
特点:随机性

中断与转子程序:

(1)转子程序的执行由程序员事先安排,而中断服务程序的执行则是由随机中断事件触发。
(2)转子程序的执行受主程序或上层程序控制,而中断服务程序一般与被中断的现行程序无关。
(3)一般不存在同时调用多个子程序的情况,但可能发生多个外设同时向CPU发出中断服务请求的情况。

中断分类

硬中断和软中断
内中断和外中断
可屏蔽中断和非屏蔽中断
向量中断和非向量中断

中断组成

软件:中断服务程序和中断向量表
硬件:接口(中断请求、传递、判优逻辑)、CPU(中断响应逻辑)

中断优先级判断

优先顺序: 故障、内中断、DMA、外中断;高速操作优于低速操作,输入优于输出。
CPU现行程序与外设请求的判优
CPU设置允许中断标志
CPU设置程序状态字的优先级字段,为现行程序赋予优先级

中断接口判优:中断请求寄存器、中断屏蔽寄存器、中断服务寄存器,判断是否发出INT请求。

中断响应

响应条件:外设有请求,且未被屏蔽;CPU开中断;中断源优先级高于当前程序的优先级;一条指令(非停机)结束,即ET之后。

如何获取中断程序的入口地址

(a)非向量中断:将服务程序入口组织在查询程序中,CPU响应时,执行查询程序,查询中断源,转入相应的服务程序。
(b)向量中断:将中断源的服务程序入口(中断向量)组织在中断向量表中,CPU响应时,由硬件直接产生相应的向量地址,按地址查表,取得服务程序入口,转入相应的服务程序。
中断向量:中断服务程序入口地址
中断向量表:存放各中断向量的表(一段存储区)
向量地址:访问中断向量表的地址(指向中断向量首址),可通过中断号(中断类型码)计算得到

响应过程

(a)中断周期IT流程(关中断;保存断点;获取服务程序入口地址;转向程序状态1->FT)
(b)中断服务程序流程
单级中断:保护现场、中断服务处理、恢复现场、开中断、返回。
多重中断:保护现场、送屏蔽字和开中断、中断服务处理、关中断、恢复现场及屏蔽字、开中断、返回。

DMA

定义:直接由硬件实现主存与I/O间的数据传送, 传送期间不需CPU程序干预。传送结束以后,通过中断的方式通知CPU。
\1) 传送发生在I/O与主存之间;
\2) 由DMA控制器来控制传送,DMA控制器接管总线权,传送完毕再将总线权交还CPU
\3) 只要CPU不访存, DMA操作与CPU可并行操作
\4) 传送前和传送后需要CPU程序干预。

特点:
(1)响应随机请求
(2)一般不影响CPU程序的执行,仅占用总线、无程序切换
(3)大批量数据的简单传送

应用场景:
(1)主存与高速I/O设备之间的简单数据传送。
(2)大批量数据采集系统
(3)动态存储器(DRAM)的自动刷新

DMA的数据传送操作方式

①单字传送:DMA请求获得批准后,CPU让出一个总线周期用于字或字节的传送,再回收并重新判断下一个周期的总线控制权,也称为周期挪用或窃取。

②成组连续传送方式:DMA被批准后,连续占用若干个总线周期,成组连续批量地传送,结束后将总线的控制权交回给CPU。

CPU初始化DMA步骤

向接口送出I/O设备的寻址信息;
向DMA控制器送出控制字,如传送方向;
向DMA控制器送出主存缓冲区首址;
向DMA控制器送出传送的数据量;

DMA硬件功能

DMA控制器功能:
接收初始化信息(传送方向、主存首址、交换量)
接收外设DMA请求,判优,向CPU申请总线。
接管总线权,发地址、读/写命令。
接口功能
接收初始化信息(外设寻址信息))
向DMA控制器发请求。
传送数据。

1、主设备发送数据,从设备接收数据( )
X

2、串行接口与系统总线串行传送,接口与外设串行传送( )
X

3、有关I/O接口的叙述中,错误的是( )
A、状态端口和控制端口可以合并为同一寄存器
B、I/O接口中CPU可访问的寄存器称为I/O端口
C、采用独立编址方式时,I/O端口地址和主存地址可能相同
D、采用同一编址方式,CPU不能用访存指令访问I/O端口
D

4、下列关于中断I/O方式和DMA方式的叙述中,错误的是( )
A、中断I/O方式请求的是CPU处理时间,DMA方式请求的是总线使用权
B、中断响应发生在一条指令执行结束后,DMA响应发生在一个总线周期完成后
C、中断I/O方式下数据传送通过软件完成,DMA方式下数据传送通过硬件完成
中断I/O方式下适用于所有外部设备,DMA方式仅适用于快速外部设备
D

5、程序控制类指令的功能是( )
A、进行算术和逻辑运算
B、进行主存与CPU之间的数据传送
C、进行CPU和I/O设备之间的数据传送
D、改变程序的执行顺序
D

6、采用向量中断方式,是通过( )来识别中断来源(中断源)
A、中断号或者中断类型号 C、中断优先排队的方式
B、中断源端口地址译码 D、提出中断请求的先后顺序
A

7、中断屏蔽和允许中断的描述,以下说法不正确的是( )
A、中断屏蔽是指向CPU向接口写入控制字,以控制是否让中断源提出中断请求
B、允许中断是指CPU向接口写入控制字,以允许或不允许中断源提出中断请求
C、允许中断是CPU内部状态位,用于决定是否响应中断请求
D、中断屏蔽功能的实施一般在中断接口中。
B

8、中断响应周期结束后,CPU应该转入( )
A、执行周期 B、取指周期 C、取源数据周期 D、取目的数据周期
B

9、为了保证返回主程序后的正常执行,在中断服务程序中,应进行( )操作
A、保存断点地址 B、关中断 C、保存现场 D、开中断
C

10、在有多个中断源的系统中,采用向量中断方式,中断屏蔽字来自于( )
A、中断接口 B、提出中断请求设备 C、CPU D、向量地址
C

11、在单级中断中,中断服务程序执行顺序是( )
a. 保护现场;b. 开中断;c. 关中断 d. 保存断点; e. 中断事件处理;
f. 恢复现场; g. 中断返回
A、a→e→f→b→g B. c→a→e→g
C. c→d→e→f→g D. d→a→e→f→g
A

12、某机有4级中断,优先级从高到低是1→2→3→4。若将优先级顺序修改,修改候1级中断的屏蔽字为1011,2级中断的屏蔽字为1111,3级中断的屏蔽字为0011,4级中断的屏蔽字为0001,则修改后的优先顺序为 。
2→1→3→4

13、有 8个 中断源,优先级为I0>I1>I2>I3>I4>I5>I6>I7,采用多重中断方式,屏蔽字中Di用于屏蔽Ii(为0则屏蔽)。CPU在执行I2所对应的中断服务程序时,应写入接口的屏蔽字是 。
11000000

14、CPU响应中断必须满足的条件是()
A. CPU接收到中断请求信号 B. CPU允许中断
一条指令执行完毕 D. 以上都是
D

15、某计算机有五级中断L4-L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示Li级中断屏蔽,若中断响应优先级顺序是L4 L0 L2L1L3,则L1的中断处理程序中设置的中断屏蔽字是 。
01010

16、关于DMA方式的说法,正确的是( )
A、DMA方式利用软件是新数据传送
B、DMA方式能完全取代中断方式
C、DMA方式在传送过程中需要CPU程序的干预
D、DMA方式一般用于高速外设数据的简单传送
D

17、由于DMA传输发生在外设与内存之间,因此当CPU响应DMA请求以后,CPU应将( )。
A、数据总线交给外设; B、总线控制权交给DMA控制器.;
C、存储器交给外设; D、内存交给外设。
B

18、下列关于中断方式和DMA方式的描述,错误的是( )
A、中断方式请求的是CPU处理时间,DMA方式请求的是总线使用权
B、中断响应发生在一条指令执行结束,DMA响应发生在总线书屋完成
C、中断方式下数据传送通过软件完成,DMA方式下数据传送由硬件完成
D、中断方式适用于外部设备,DMA方式仅适用于快速设备。
D


计算机组成原理复习
https://jason-xy.github.io/2020/11/csp-review/
作者
Jason Hsu
发布于
2020年11月12日
许可协议