6 总线

【总线的性能指标】

1)总线宽度

总线宽度指总线上能够同时传输的数据位数,通常指数据总线的根数

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:A,总线宽度即数据线的根数,故总线宽度为 32bit,传输速率为 4×66 MB/s

2)总线带宽

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:每秒有 36M 个时钟周期,每 4 个时钟周期传输 4B 数据,于是,一秒内共传输 36M/4×4B = 36MB 数据,故总线的带宽为 36MB/s

408 知识点笔记——计组(总线、输入/输出系统)

分析:B,每秒有 10M 个时钟周期,每 2 个时钟周期传输 4B,故一秒内传输 10M/2×4B = 20MB 数据

408 知识点笔记——计组(总线、输入/输出系统)

分析:D,根据题目给出的公式,总线数据传输率 Q = 16bit×8M/2 = 64Mbit/s = 8MB/s

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)最大数据传输率为 (16/8)×(50M/4) = 25MB/s
(2)若想数据传输率提高一倍可采取的措施有两种:将外部数据总线扩大为 32 位,时钟频率不变;或者,将时钟频率扩大为 100MHz,外部数据总线位数不变

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)总线的数据传输率为 (25×64/8)×(100M/10) = 2000MB/s
(2)时钟频率减半后的传输速率为 (25×64/8)×(150M/10) = 1000MB/s

涉及有效数据

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:B,一个字符仅有 8 位(即 1B)有效数据

408 知识点笔记——计组(总线、输入/输出系统)

分析:B,每个字符由 1+7+1+1 = 10 位组成,且每秒传送 480 个字符,故数据传输率为 480×10bit/s

【总线的分类】

总线按连接部件不同被分为片内总线、系统总线(包括数据总线、控制总线、地址总线)和通信总线

片内总线是指芯片内部的总线,如在 CPU 内部,寄存器与寄存器之间,寄存器与 ALU 之间都是由片内总线连接的

根据数据传送格式,总线通常分为并行总线和串行总线。并行总线传输通常比串行总线传输速度快,但不是绝对的。在实际时钟频率比较低的情况下,并行总线因为可以同时传输若干比特,速率确实比串行总线快。但是随着技术的发展,时钟频率越来越高,并行导线之间的相互干扰越来越严重,当时钟频率高到一定程度时,传输的数据已经无法恢复。而串行总线因为导线少,线间干扰容易控制,反而可以通过不断提高的时钟频率来提高传输速率

【总线复用】

总线复用是指一种信号线在不同时间传输不同的信息,可以使用较少的线路传输更多的信息,从而节省了空间和成本。

分离事务通信即总线复用的一种,相比单一的传输线路可以提高总线的的利用率

【不同总线上传输的信息】

指令、操作数、中断信号都是可以在数据线上传输,而握手(应答)信号必须在通信总线中传输

在程序查询方式中,向 I/O 接口发出的命令字和从 I/O 接口取回的状态字,以及中断方式中的中断类型号(确定相应的中断向量)都是通过 I/O 总线的数据线传输的

存储器和 I/O 设备的地址码应该由地址线传送,存储器和 I/O 设备的时序信号、控制信号和响应信号由控制线传送

【总线标准】

总线标准包括:系统总线标准设备总线标准。系统总线标准包括 ISA、EISA、VESA、PCI、PCI-Express;设备总线标准包括 IDE(用于处理器和磁盘驱动器之间)、AGP(用于主存和图形处理器之间)、USB 接口(用于设备和设备控制器之间)、SATA

PCI-Express 总线都采用串行数据包传输数据

【USB 总线】

USB 总线可实现外设的即插即用和热插拔。即插即用:在计算机上加上一个新的外部设备时,能自动检测与配置系统的资源,而不需要重新手动安装驱动。热插拔:不用关闭计算机就可以直接将硬件拔除,并且可以随时再插入,而不必重启计算机就又能被计算机识别

USB 接口最多可以通过级联方式连接 127 台设备

通信总线是用于计算机系统之间或计算机系统与其他系统之间的通信,很明显 USB 接口属于此种用途

USB 总线属于串行总线,即一位一位地传输,不能够同时传输两位数据

【使用总线结构的好处】

使用总线结构减少了传输线的条数,但是不能减少信息的传输量和提高信息的传输速度。另外,总线上也不能在同一时刻传输数据信息和地址信息,不然就全部混乱了,因为在总线传送中数据和地址都是二进制

【单总线结构】

单总线的特点:由于 I/O 设备与主存共用一组地址线,因此主存和 I/O 设备是统一编址的,CPU 可以像访问内存一样访问外部设备

【多总线结构】

多总线结构用速率高的总线连接高速设备,用速率低的总线连接低速设备。一般来讲, CPU 是计算机的核心,是计算机中速度最快的设备之一,所以靠近 CPU 的总线速度较快。现实中一般用支持突发传送方式的总线提高存储器的读写效率,在多总线结构中存储器总线可以支持突发传送方式。各总线通过桥接器相连,桥接器起流量交换的作用。

【突发(猝发)传输方式与常规传输方式的区别】

一次传输一个地址和一个总线宽度的数据的方式称为常规传输。一次传输一个地址和一批数据的方式称为突发(猝发)传输

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:C,传输 128 位数据需要 128/32 = 4 个时钟周期,再加上传送地址的 1 个时钟周期,故一共需要 5 个时钟周期,即 5×(1/100MHz) = 50ns

408 知识点笔记——计组(总线、输入/输出系统)

分析:C,传输 8×4B 的数据共需要 1+3+8 = 12 个时钟周期,故数据传输速率为 8×4B×(50M/12) = 133.3MB/s

【总线通信方式】

1)同步定时方式

在同步通信方式中,采用一个统一的时钟信号,通常由 CPU 的总线控制器部件发出,而不是由各设备提供,不采用握手信号。

总线传输周期如下图所示(数据输入),包含 4 个时钟周期 T 1 T_1 T1 T 2 T_2 T2 T 3 T_3 T3 T 4 T_4 T4,记住一句话:不管输入还是输出,地址信号线一定是全程陪伴的

408 知识点笔记——计组(总线、输入/输出系统)
对于读命令,
T 1 T_1 T1,主模块发出地址地址信息
T 2 T_2 T2,主模块发出读命令
T 3 T_3 T3,从模块提供数据
T 4 T_4 T4,主模块撤销读命令,从模块撤销数据

上面的一个传输周期分为 T 1 T_1 T1 T 2 T_2 T2 T 3 T_3 T3 T 4 T_4 T4,却不包括总线申请阶段,原因是总线传输周期开始计时的前提是主设备已得到总线控制

408 知识点笔记——计组(总线、输入/输出系统)
对于写命令,
T 1 T_1 T1,主模块发出地址地址信息
T 1.5 T_{1.5} T1.5,主模块提供数据
T 3 T_3 T3,主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中
T 4 T_4 T4,主模块撤销写命令和数据等信号

为什么读写命令总是使用低电平有限,而很少使用高电平有效?答:使用低电平时,电路往往要比使用高电平时拥有更低的阻抗,而较低的阻抗其抗干扰能力也较强,所以一般要控制一种操作的时候尽量使用低电平有效,而不会去使用高电平有限,除非有两种操作,才会去选用高电平有效

同步通信的优点:传送速度快,具有较高的传输速率

同步通信的缺点:同步通信必须按最慢的模块来设计公共时钟。一般不允许连接速度差别较大的设备,这样会降低整个通信的效率。

同步通信的使用范围:同步通信的总线长度较短。通常 CPU内部总线、处理器总线都采用同步通信总线

2)异步定时方式

在异步通信方式中,不要求所有部件严格地统一操作时间,而是采用应答的方式(或称握手方式),即当主模块发出请求信号,一直等待从模块反馈响应信号后才开始通信。这就要求主、从模块之间增加两条应答线

在异步通信的应答方式中,全互锁协议最慢,非互锁协议的可靠性最差

注意:异步通信可用于并行传送或串行传送

异步定时方式能保证两个工作速度相差很大的部件或设备之间可靠地交换信息,如 I/O 接口和打印机

3)半同步通信方式

在半同步通信方式中,握手信号的采样由同步时钟控制

【总线周期】

通常将完成一次总线操作的时间成为总线周期,其可分为以下 4 个阶段:申请阶段、寻址阶段、传输阶段和结束阶段。因此不管是同步通信还是异步通信,都是先传地址后传数据

【PCI 总线】

PCI 局部总线是高性能的 32 位或 64 位总线,是为高度集成的外围部件、扩充查办和处理器/存储器系统而设计的互联机制,支持即插即用并且可对数据和地址进行奇偶校验。系统中允许多条 PCI 总线,以此来提升计算机的效率。另外,PCI 设备指插在 PCI 插槽上的设备(如声卡、网卡、MODEM等),所以 PCI 设备不一定都是主设备

【仲裁方式】 (2021大纲删除)

独立请求方式响应最快,是以增加处理器开销和增加控制线数为代价的, n n n 个设备需要 2 n 2n 2n 根控制线

计数器定时查询方式下,有一根总线请求(BR)和一组设备地址线( l o g 2 n log_2n log2n)。计数器有两种技术方式:每次判优都从 0 开始,此时一旦设备的优先顺序被固定后,永远就不可以改变;从上次的终点开始计数,即是一种循环方法,此时所有设备的优先级相等。计数器的初值当然也可以由程序设置,故优先级顺序可以改变

链式查询方式对电路故障最敏感,一共有 3 条控制线:总线请求线、总线忙线和总线同意线。故不管有多少设备,只有一条总线请求线。

分布式仲裁方式不需要中央仲裁器,每个主模块都有自己的仲裁号和仲裁器,多个仲裁器竞争使用总线

【总线控制】

总线控制包括两个方面:判优控制和通信控制。通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调和如何配合

【时钟发生器】

为协调计算机系统各部件的工作,需要一种器件来提供统一的时钟标准,这个器件就是时钟发生器

7 输入/输出系统

【外部设备】

外部设备的定义:除主机以外的硬件装置统称为外部设备,包括 I/O 设备和外存储器

2)输出设备

显示器

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:C,表示 256 的颜色数需要 8bit,即 1B,刷新存储器的容量为 1024×512×1B= 512KB

408 知识点笔记——计组(总线、输入/输出系统)

分析:D
刷新所需带宽 = 分辨率×色深×帧频, 即 1600×1200×24bit×85Hz = 3916.8Mbit/s,显存带宽为 3916.8Mbit/s×2 ≈ 7834Mbit/s

408 知识点笔记——计组(总线、输入/输出系统)

分析:B,每个汉字需要 256bit = 32B,故字库容量为 7500×32B = 240000B

【字符显示器】

对于字符显示器,主机送给显示器的应是显示字符的 ACSII 码

【统一编址和独立编址】

在统一编址情况下,尽管存储单元和 I/O 设备之间共用一个存储空间,但是一般都会规定某块地址空间作为 I/O 设备的地址,凡是在这块地址范围内的访问,就是对 I/O 设备的访问

独立编址指 I/O 端口地址与存储器地址无关,独立编址方式下 CPU 需要设置专门的输入/输出指令来访问端口

【中断向量地址】

在具有中断向量表的计算机中,中断向量地址是中断向量表的地址,由于中断向量表保存着中断服务程序的入口地址,因此中断向量地址是中断服务程序入口地址的地址

【中断服务程序】

中断服务程序的最后一条指令是中断返回指令

其执行顺序为: 保存现场 → \rightarrow 中断事件处理 → \rightarrow 恢复现场 → \rightarrow 开中断 → \rightarrow 中断返回

【中断隐指令】

中断隐指令主要完成3个操作:

  • 保护程序断点( ≠ \neq = 保存通用寄存器的内容,因为保存通用寄存器内容是在处理中断时保护现场完成的)
  • 寻找中断服务程序入口地址并送至 PC
  • 关中断

在中断周期,CPU 完成的任务是执行中断隐指令,所以问 CPU 在中断周期完成的主要工作就是问中断隐指令的3个操作

【中断允许触发器】

禁止中断的功能可以由中断允许触发器来完成,当中断允许触发器为 1 时,说明某设备可以向 CPU 发出中断请求;当中断允许触发器为 0 时,不能想 CPU 发出中断请求

【程序查询方式】

△☼▽
408 知识点笔记——计组(总线、输入/输出系统)

分析:
每秒钟对鼠标查询所需要的时钟周期数为 30×100 = 3000 个,对鼠标的查询占用 CPU 的时间比率为 (3000/50M)×100% = 0.006%,由此可以得出一个结论:CPU 对鼠标的查询基本不影响 CPU 的性能

对硬盘,每秒钟查询次数为 2MB/4B = 219,每秒钟查询的时钟周期数为 219×100 ≈ 512×105 个,对磁盘的查询占用 CPU 的时间比率为 (512×105/50M)×100% ≈ 102 %,得出结论:即使 CPU 将全部时间都用于对磁盘的查询也不能满足磁盘传输的要求,因此 CPU 一般不使用程序查询方式和与磁盘交换信息

408 知识点笔记——计组(总线、输入/输出系统)

分析:C,(500×200)/50M×100% = 0.2%

【程序中断方式】

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:A,一次中断传输 4B 数据,设备每秒传输 50kB数据,故每秒产生 12.5k 次中断,每次中断开销为 1000 个时钟周期,故时间占比为 (12.5k×1000)/1G×100% = 1.25%

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:B,无论怎么延迟,每 400ns 还是花费 100 ns处理中断,故百分比为 (100/400)×100% = 25%

408 知识点笔记——计组(总线、输入/输出系统)

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)中断请求的时间间隔为 2B/20KB/s = 100us,中断服务程序的执行时间为 (1/500MHz)×500 = 1us,因为中断响应过程就是执行一个隐指令的过程,所用时间相对中断处理时间而言,几乎可以忽略不计,因而整个中断响应时间并处理的时间大约为 1us 多一点,远小于中断请求的时间间隔,因此可以采用中断方式进行该外设的输入/输出
(2)若该外设的最大数据传输速率为 2MB/s,则中断请求的时间间隔为 2B/2MB/s = 1us,中断请求的时间间隔小于中断响应及处理的时间,即中断还未结束就会有新的中断到来,因此不可以用中断方式进行该外设的输入/输出

【DMA 方式】

1)DMA 方式的特点

DMA方式是一种完全由硬件进行成组信息传送的控制方式,具有程序中断方式的优点,即在数据准备阶段,CPU 与外设并行。它还降低了 CPU 在传送数据时的开销,这是因为信心传送不再经过 CPU,而在外设与内存之间直接进行,因此称为直接存储器存取方式。这种方式适用于磁盘、磁带等高速设备大批量数据的传送。它的硬件开销比较大,DMA 方式中,中断的作用仅限于故障和正常传送结束时的处理

关于直接存储器存取的解释:DMA 方式下,在主存和外设之间有一条物理通路直接相连吗?

答: 没有,通常所说的 DMA 方式下数据在主存和外设之间直接进行传送,其含义并不是说在主存和外设之间存在一条物理上的直接通路,而是在主存和外设之间通过外设接口、系统总线以及总线桥接部件等连接,建立其一个信息可以互相通达的通路,直接通路一定是逻辑上的含义

2)DMA 的传送方法

① 停止 CPU 访问主存

当外设需要传送一片数据时,由 DMA 接口向 CPU 发出一个信号,要求 CPU 放弃地址线、数据线和有关控制线的使用权,DMA 接口获得总线控制权后,开始进行数据传送。在数据传送结束后,DMA 接口通知 CPU 可以使用主存,并把总线控制权交还给 CPU。在这种传送过程中,CPU 基本处于不工作状态或保持原始状态。由此,该方法最大的缺点是:在访存阶段,主存的效能未充分发挥

408 知识点笔记——计组(总线、输入/输出系统)

② 周期挪用

当 I/O 设备没有 DMA 请求时,CPU 按程序的要求访问主存,一旦 I/O 设备有 DMA 请求,就会遇到三种情况:

  1. CPU 不在访存(如,CPU 正在执行加法指令),故 I/O 的访存请求与 CPU 未发生冲突;
  2. CPU正在访存,必须等待储存周期结束后,CPU 再将总线占有权让出;
  3. I/O 和 CPU 同时请求访存,出现了访存冲突,此刻 CPU 要暂时放弃总线占有权,由 I/O 设备挪用一个或几个存储周期

408 知识点笔记——计组(总线、输入/输出系统)
③ DMA 与 CPU 交替访问

这种法师适用于 CPU 的工作周期比主存存取周期长,例如,CPU 的工作周期是 1.2us,主存的存取周期小于 0.6us,那么可以将一个 CPU 周期分为 C1 和 C2 两个周期,其中 C1 专供 DMA 访存,C2 专供 CPU 访存

408 知识点笔记——计组(总线、输入/输出系统)
这种方式不需要总线使用权的申请、建立和归还过程

3)传送过程

DMA 的传送过程分为预处理、数据传送和后处理

408 知识点笔记——计组(总线、输入/输出系统)

做几点说明:

  • 数据传送时是以数据块为单位进行传送
  • DMA 方式中,首先由外部设备向 DMA 控制器发出 DMA 请求信号,然后由 DMA 控制器向 CPU 发出总线请求信号
  • 当字计数器溢出(全 0)时,表示一批数据交换完毕,由溢出信号通过中断机构向 CPU 提出中断请求
    怎么理解字计数器全 0 溢出呢?一般将字数取反,得到负数,再取补码,不断加 1,直到最高位有进位就会溢出,传输结束。具体考虑下面的例子:字数为 5,取反为 -5,补码为 1011,第一次末尾加一得 1100,第二次末尾加一得 1101,第三次末尾加一得 1110,第四次末尾加一得 1111,第五次末尾加一得 10000,溢出,传输结束

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:D,Ⅰ. 参考操作系统,每类设备都配置一个设备驱动程序,设备驱动程序向上层用户程序提供一组标准接口,负责实现对设备各种具体操作指令,用户程序不能直接和 DMA 打交道;Ⅱ. Ⅲ. Ⅴ. 由上述理论可知,均正确

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

中断处理方式: 在 I/O 设备输入每个数据的过程中,由于无需 CPU 干预,因此可使 CPU 与 I/O 设备并行工作仅当输完一个数据时,才需 CPU 花费极短的时间去做些中断处理。因此中断申请使用的是 CPU 处理时间,发生的时间是在一条指令执行结束之后,数据是在软件控制下完成传送

DMA 方式: DMA 方式的数据传输的基本单位是数据块,即 CPU 与 I/O 设备之间,每次传送至少一个数据块;DMA 方式每次申请的是总线的使用权,所传送的数据是从设备直接送入内存的,或者相反;仅在一个或多个数据块的开始和结束时,才需要 CPU 干预,因此 DMA 的响应发生在一个总线事务完成后,整块数据的传送是在控制器(硬件)的控制下完成的

所以,中断 I/O 方式一般适用于数据传输率比较低的外部设备(不适合快速外部设备),而 DMA 方式一般适用于快速外部设备

下面再来考虑响应时间的问题:CPU 对 DMA 请求和中断请求的响应时间是否一样?

答:不一样。根据上面的描述很清楚,CPU 对 DMA 的响应发生在一个总线事务完成后,所以 DMA 响应时间应该少于一个总线周期;而对中断请求,CPU 总是要等到一条指令执行结束后,才回去查询有无中断请求,所以响应时间少于一个指令周期的时间

最后,程序中断方式没有处理异常事件的能力,而 DMA 方式没有这种能力;DMA 的优先级比程序中断的优先级高

5)若干关于 DMA 的计算题

△☼▽
408 知识点笔记——计组(总线、输入/输出系统)

分析:

(1)每传送一个字符,在异步串行通信线上需要传输 7 + 1 + 1 + 1 = 10 7+1+1+1=10 7+1+1+1=10 位( 7 7 7 位 ASCII 码, 1 1 1 位奇校验位,还有 1 1 1 位起始位)

(2)一个字符的传送时间包括:从 D 接收启动命令到字符送入 I/O 端口时间,中断响应时间,中断服务前 15 条指令执行时间

中断响应和中断服务前 15 条指令执行需要 10 + 15 × 4 = 70 10+15\times4=70 10+15×4=70 个时钟周期。每个时钟周期为 1 50 M = 0.02   u s \frac{1}{50M}=0.02\ us 50M1=0.02 us,从 D 接收启动命令到字符送入 I/O 端口需要 0.5 × 1 0 3   u s 0.02   u s = 2.5 × 1 0 4 \frac{0.5\times10^3\ us}{0.02\ us}=2.5\times10^4 0.02 us0.5×103 us=2.5×104 个时钟周期

故完成这一任务需要 ( 2.5 × 1 0 4 + 70 ) × 1 0 3 = 25070000 (2.5\times10^4+70)\times10^3=25070000 (2.5×104+70)×103=25070000 个时钟周期

CPU 完成这一任务需要 ( 20 × 4 + 10 ) × 1 0 3 = 9 × 1 0 4 (20\times4+10)\times10^3=9\times10^4 (20×4+10)×103=9×104 个时钟周期(注意,对 CPU 来说其执行中断服务程序是执行了 20 20 20 条指令)

在中断响应阶段,CPU 完成了关中断、保护断点和程序状态、识别中断源的操作

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)程序定时向缓存端口查询数据,由于缓存端口大小有限,必须在传输完端口大小的数据时访问端口,以防止部分数据未被及时读出而丢失。设备 A 的数据传输率为 2MB/s,传输 32 位数据需要 4B/2MB/s = 2us,故最多间隔 2 us查询一次才能不丢失数据;1s 内需查询 2MB/4B = 5×105 次,每次查询占用 10×4 = 40 个时钟周期,一共占用 20M 个时钟周期,故 CPU 用于设备 A 输入/输出的时间占 CPU 总时间的 20M/500M×100% = 4%
(2)设备 B 的最大间隔时间为 4B/40MB/s = 0.1us,主频 500MHz,一个时钟周期为 2ns,每次中断响应和中断处理的总时间为 2ns×400 = 0.8us > 0.1us,故设备 B 不能采用中断 I/O 方式,因为会导致数据丢失
(3)为达到设备 B 的传输速率,1s 内会发生 40MB/1000B = 4×104 次DMA,每次 DMA 预处理和后处理需要 500 个时钟周期,一共需要 4×104×500 = 20M 个市州周期,故 CPU 用于设备 B 输入/输出的时间占比为 20M/500M×100% = 4%

408 知识点笔记——计组(总线、输入/输出系统)

分析:
每秒传输 9600bit = 1200B 数据,若采用 DMA 方式,则传输1200B 数据需要 1200 个存取周期,考虑到每 400B 数据发生一次中断,故 DMA 每秒因数据传输占用处理器的时间为 1200×0.2us+(1200/400)×5us = 255us;采用中断方式,每秒因数据传输占用处理器的时间为 1200×5us = 6000us

解释一点:中断方式下为什么不加上 1200×0.2us?中断方式的中断和 DMA 的中断不是一回事,中断方式的中断包含数据的传输时间,而 DMA 的中断仅仅是后处理的时间,并不包含数据传输的时间

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)在中断方式下,CPU 每次用于数据传输的时钟周期数为 5×(18+2) = 100 个,外设每秒申请中断次数为 0.5MB/4B ≈ 125000 次,一秒内用于中断的开销为 125000×100 = 1.25×107 个时钟周期,故 CPU 用于外设 I/O 的时间占整个 CPU 时间的百分比为 (12.5M/500M)×100% = 2.5%
(2)一秒内产生的 DMA 中断次数为 5MB/5000B ≈ 1000 次,CPU 用于 DMA 处理的总开销为 1000×500 = 0.5M 个时钟周期,故 CPU 用于外设 I/O 的时间占整个 CPU 时间的百分比为 (0.5M/500M)×100% = 0.1%

(注意这里给出来的 DMA 的 500 个时钟周期是预处理和后处理的总开销,和上题中的情况是不同)

408 知识点笔记——计组(总线、输入/输出系统)

分析:
(1)每秒钟需要 1MB/4B = 250K 次查询操作,故总共需要 25000K 个时钟周期,CPU 为 I/O 查询所花费的时间比率为 25M/50M×100% = 50%
(2)CPU 为传输硬盘数据花费的时间比率为 50%(同(1))
(3)每秒钟需要 1MB/4KB = 250 次 DMA 传输,处理器用于输出/输出操作的时间比率为 (250×(1000+500))/50M×100% = 0.75%

408 知识点笔记——计组(总线、输入/输出系统)

分析:
数据传输率为 50r/s×8×1KB = 400KB/s,16 位数据的传输时间为 2B/400KB/s = 5 us,由于 5us 远小于 25us,因此不能采用一条指令执行结束时响应 DMA 请求的方案,应采用每个 CPU 机器周期末查询及响应 DMA 的请求方案

【内中断(内部异常)】

内中断是指来自 CPU 和内存内部产生的中断,包括程序运算引起的各种错误,如 地址非法、校验错、页面缺失、非法指令、用户程序执行特权指令自行中断(INT)和除数为 0 等,以上都是在指令的执行过程中产生。这种检验异常的工具肯定是由 CPU(包括控制器和运算器)实现的的。内中断不能被屏蔽,一旦出现应立即处理。考虑一些特殊情况,如除数为 0 和自行中断(INT)都会自动跳过中断指令,所以不会返回到发生异常的指令继续执行

【中断与异常】

中断是指来自 CPU 执行命令意外事件的发生,如 设备发出 I/O 结束中断,表示设备输入/输出处理已经完成,希望处理器能够向设备发出下一个输入/输出请求,同时让完成输入/输出后的程序继续运行。这一类中断通常是与当前程序运行无关的事件,即它们与当前处理器运行的程序无关。

异常也称为内部异常、内中断,其内容如上所述

【I/O 端口】

I/O 端口是 CPU 与设备之间的交界面。由于主机和 I/O 设备的工作方式和速度有很大差异,I/O 端口就应运而生。在执行一条指令时,CPU 使用地址总线选择所请求的 I/O 端口,使用数据总线在 CPU 寄存器和端口之间传输数据。所以,I/O 指令实现的数据传送通常发生在通用寄存器和 I/O 端口之间

【多重中断】

多重中断系统在保护被中断进程现场时关中断,执行中断处理程序时开中断

△☼▽

408 知识点笔记——计组(总线、输入/输出系统)

分析:该中断系统可以实现 5 重中断,中断优先级的顺序是:优先权 1 最高,而现行程序优先权最低(不妨设为优先权 6),图中出现了 4 重中断

相关文章:

  • 2021-12-26
  • 2021-08-21
  • 2021-07-08
  • 2022-12-23
  • 2022-01-25
  • 2021-07-22
  • 2021-12-29
  • 2022-01-31
猜你喜欢
  • 2021-10-31
  • 2022-02-08
  • 2021-04-26
  • 2021-08-27
  • 2021-12-24
  • 2021-08-19
  • 2022-12-23
相关资源
相似解决方案