1
0
mirror of https://github.com/Didnelpsun/CS408.git synced 2026-11-03 05:43:42 +08:00

更新输入输出

This commit is contained in:
Didnelpsun
2021-09-10 23:38:17 +08:00
parent 2d5e30099c
commit 8af646e48f
4 changed files with 496 additions and 262 deletions

View File

@@ -2,6 +2,32 @@
## 总线概述
### 总线类型
**例题** 在系统总线的数据线上,不可能传输的是()。
$A.$指令
$B.$操作数
$C.$握手(应答)信号
$D.$中断类型号
解:$C$。不是数据线上传输的就代表不是数据。指令和操作数都是数据。中断类型号用来指出中断向量的地址,$CPU$响应中断请求后,将中断应答信号$INTR$发回数据总线,$CPU$从数据总线上读取中断类型号后查找中断向量表找到对应中断处理程序入口。而握手应答信号属于同学联络控制信号,所以应该控制总线上传输。
**例题** 下列关于总线设计的叙述中,错误的是()。
$A.$并行总线传输比串行总线传输速度快
$B.$采用信号线复用技术可减少信号线数量
$C.$采用突发传输方式可提高总线数据传输率
$D.$采用分离事务通信方式可提高总线利用率
解:$A$。并不是绝对的,由于并行导线随着时钟频率不断变高,相互干扰越来越严重,所需要的恢复时间远比串行总线的恢复时间长。
### 性能指标
**例题** 某同步总线采用数据线和地址线复用方式,其中地址/数据线有$32$根,总线时钟频率为$66MHz$,每个时钟周期传送两次数据(上升沿和下降沿各传送一次数据)。
@@ -23,3 +49,55 @@
首先传输一个地址就占用一个时钟周期。而后面需要传输$128$位,按一次传输$32$位,则一共需要传输$4$次,每个时钟周期传输两次数据,所以需要花费两个时钟周期,加在一起一共需要三个时钟周期。
又一个时钟周期$=1\div66MHZ\approx15ns$,所以总耗时$45ns$。
## 总线仲裁
**例题** 在计数器定时查询方式下,以下描述中正确的是()。
$A.$总线设备的优先级可变
$B.$设备越靠近控制器,优先级越高
$c.$各设备的优先级相等
$D.$各设备获得总线控制权的机会均等
解:$A$。在计数器定时查询方式下,根据计数值的初始值的不同,总线设备的优先级是可变的。若计数值从“$0$”开始,则离总线控制器最近的设备具有最高的优先级。若计数值从上一次的中止点开始,则各个设备使用总线的机会均等。
## 总线操作与定时
**例题** 在异步总线中,传送操作()。
$A.$由设备控制器控制
$B.$由$CPU$控制
$C.$由统一时序信号控制
$D.$按需分配时间
解:$D$。异步总线即采用异步通信方式的总线。在异步方式下,没有公用的时钟,完全依靠传送双方相互制约的“握手”信号来实现定时控制。传送操作是由双方按需求分配时间的。
**例题** 在异步串行传输方式下,起始位为$1$位,数据位为$7$位,偶校验位为$1$位,停止位为$1$位,如果波特率为$1200bit/s$,求这时的有效数据传输率为多少?
解:波特率就是单位时间内传送的二进制数据的位数。而比特率是单位时间内传送的有效二进制数据的位数。
所以:比特率÷波特率=数据位数÷(数据位数+其他附加位数)。
从而有效数据传输率$=1200\times7\div(1+7+1+1)=840bit/s$。
## 总线标准
如果不知道选什么就选$USB$。
**例题** 在现代微机主板上,采用局部总线技术的作用是()。
$A.$节省系统的总带宽
$B.$提高抗干扰能力
$C.$抑制总线终端反射
$D.$构成紧耦合系统
解:$A$。

View File

@@ -45,7 +45,7 @@
+ 双总线结构:
+ 双总线结构有两条总线,一条是主存总线,用于$CPU$、主存和通道之间进行数据传送;另一条是$I/O$总线(因为$I/O$速度较慢),用于多个外部设备与通道之间进行数据传送。
+ 通道是具有特殊功能的处理器,能对$I/O$设备进行统一管理。通道程序放在主存中。
+ 支持突发(猝发)传送:送出一个地址,收到多个地址连续的数括。
+ 支持突发(猝发)传送:送出一个地址,收到多个地址连续的数据。
+ 优点:将较低速的$I/O$设备从单总线上分离出来,实现存储器总线和$I/O$总线分离。
+ 缺点:需要增加通道等硬件设备。
+ 三总线结构:
@@ -95,7 +95,7 @@
可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒($B/s$)表示。
总线带宽=总线工作频率×总线宽度($bit/s$)=总线工作频率×(总线宽度$\div8$)($B/s$)=总线宽度÷总线周期($bit/s$)=总线宽度÷8÷总线周期($B/s$)。
总线带宽=总线工作频率×总线宽度($bit/s$)=总线工作频率×(总线宽度$\div8$)($B/s$)=总线宽度÷总线周期($bit/s$)=总线宽度$\div8\div$总线周期($B/s$)。
总线带宽是指总线本身所能达到的最高传输速率。
@@ -141,13 +141,13 @@
+ 总线与控制线:
+ 数据线。
+ 地址线。
+ 无论多少个设备,只用三根,控制线。
+ BG:总线允许,1条。
+ BR:总线请求,1条。
+ BS:总线忙,1条。
+ 控制线:
+ $BG$:总线允许(响应),$1$条。
+ $BR$:总线请求,$1$条。
+ $BS$:总线忙,$1$条。
+ 流程:
+ 总线上所有的部件共用一根总线请求线,当有部件请求使用总线时,需经此线发总线请求信号到总线控制器。
+ 由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线BG串行地从一个部件传送到下一个部件,依次查询。
+ 由总线控制器检查总线是否忙,若总线不忙,则立即发总线响应信号,经总线响应线$BG$串行地从一个部件传送到下一个部件,依次查询。
+ 若响应信号到达的部件无总线请求,则该信号立即传送到下一个部件;若响应信号到达的部件有总线请求,则信号被截住,不再传下去。
+ 优先级:离总线控制器越近的部件,其优先级越高,离总线控制器越远的部件,其优先级越低。
+ 优点:链式查询方式优先级固定。只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。
@@ -162,18 +162,19 @@
+ 数据线。
+ 地址线。
+ 设备地址线。
+ 若设备有$n$个,则需要$\lceil\log_2n\rceil+2$条控制线。(还有BS、BR)
+ BG:总线允许,$\lceil\log_2n\rceil$条。
+ BR:总线请求,1条。
+ BS:总线忙,1条。
+ 结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG;它仍共用一根总线请求线。
+ 控制线:
+ $BG$:总线允许,$\lceil\log_2n\rceil$条。
+ $BR$:总线请求,$1$条。
+ $BS$:总线忙,$1$条。
+ 若设备有$n$个,则需要$\lceil\log_2n\rceil+2$条控制线。(还有$BS$、$BR$)
+ 结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线$BG$;它仍共用一根总线请求线。
+ 过程:
+ 当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。
+ 当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。
+ 同时,中止计数器的计数及查询。
+ 优点:
+ 计数初始值可以改变优次序:
+ 计数每次从“0”开始,设各的优先级就按顺序排列,固定不变。
+ 计数每次从“$0$”开始,设各的优先级就按顺序排列,固定不变。
+ 计数从上一次的终点开始,此时设备使用总线的优先级相等。
+ 计数器的初值还可以由程序设置。
+ 对电路的故障没有链式敏感。
@@ -186,16 +187,17 @@
+ 总线与控制线:
+ 数据线。
+ 地址线。
+ 若设备有$n$个,则需要$2n+1$条控制线。其中+1为BS线,用于设备向总线控制部件反馈已经使用完毕总线。
+ BG:总线允许,$n$条。
+ BR:总线请求,$n$条。
+ BS:总线忙,1条。
+ 结构特点:每一个设备均有一对总线请求线BRi和总线允许线BGi。由排队器控制优先级。
+ 控制线:
+ $BG$:总线允许,$n$条。
+ $BR$:总线请求,$n$条。
+ $BS$:总线忙,$1$条。
+ 若设备有$n$个,则需要$2n+1$条控制线。其中$+1$为$BS$线,用于设备向总线控制部件反馈已经使用完毕总线。
+ 结构特点:每一个设备均有一对总线请求线$BR_i$和总线允许线$BG_i$。由排队器控制优先级。
+ 过程:
+ 当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队。
+ 当总线控制器按一定的优先次序决定批准某个部件的请求时,则给该部件发送总线响应信号。
+ 优点:
+ 响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或者查询。
+ 响应速度快,总线允许信号$BG$直接从控制器发送到有关设备,不必在设备间传递或者查询。
+ 对优先次序的控制相当灵活。
+ 缺点:
+ 控制线数量多。
@@ -232,13 +234,13 @@
+ 时钟产生相等的时间间隔,每个间隔构成一个总线周期。
+ 在一个总线周期中,发送方和接收方可进行一次数据传送。
+ 因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。
+ 上升沿:数字电平从0变为1的一瞬间。
+ 下升沿:数字电平从1变为0的一瞬间。
+ 上升沿:数字电平从$0$变为$1$的一瞬间。
+ 下升沿:数字电平从$1$变为$0$的一瞬间。
+ 读命令过程:
1. $CPU$在T1时刻的上升沿给出地址信息。
2. 在T2的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在T3的上升沿来之前将$CPU$所需的数据送到数据总线上。
3. $CPU$在T3时钟周期内,将数据线上的信息传送到其内部寄存器电中。
4. $CPU$在T4的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。
1. 取指:$CPU$在$T_1$时刻的上升沿给出地址信息。
2. 间址:在$T_2$的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在$T_3$的上升沿来之前将$CPU$所需的数据送到数据总线上。
3. 执行:$CPU$在$T_3$时钟周期内,将数据线上的信息传送到其内部寄存器电中。
4. 撤销:$CPU$在$T_4$的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。
+ 优点:
+ 传送速度快,具有较高的传输速率。
+ 总线控制逻辑简单。
@@ -251,7 +253,7 @@
+ 也称为异步通信。
+ 在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
+ 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
+ 主设备提出交换信息的“请求”信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。
+ 根据“请求”和“回答”信号的撤销足否互锁,分为:
1. 不互锁方式:
+ 主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。
@@ -272,14 +274,6 @@
+ 比同步控制方式稍复杂。
+ 速度比同步定时方式慢。
**例题** 在异步串行传输方式下,起始位为1位,数据位为7位,偶校验位为1位,停止位为1位,如果波特率为1200bit/s,求这时的有效数据传输率为多少?
波特率就是单位时间内传送的二进制数据的位数。而比特率是单位时间内传送的有效二进制数据的位数。
所以:比特率÷波特率=数据位数÷(数据位数+其他附加位数)。
从而有效数据传输率=1200×7÷(1+7+1+1)=840bit/s。
#### 半同步通信
同步与异步的混合,统一时钟的基础上,增加一个“等待”响应信号$\overline{WAIT}$。
@@ -291,8 +285,8 @@
+ 从模块准备数据,不使用总线,总线空闲。
+ 从模块向主模块发数据,使用总线。
+ 分离式通信的一个总线传输周期:
+ 子周期1:主模块申请占用总线,使用完后后放弃总线的使用权。
+ 子周期2:从模块申请占用总线,将各种信息发送至总线上。
+ 子周期一:主模块申请占用总线,使用完后后放弃总线的使用权。
+ 子周期二:从模块申请占用总线,将各种信息发送至总线上。
+ 特点:
1. 各模块均有权申请占用总线。
2. 采用同步方式通信,不等对方回答。
@@ -305,11 +299,11 @@
+ 总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范。
+ 按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。
+ 系统总线标准:ISA、EISA、VESA、PCI、PCI-Express等。
+ 设备总线标准:IDE、AGP、RS-232C、USB、SATA、SCSI、PCMCIA等。
+ 局部总线标准:在ISA总线和$CPU$总线之间增加的一级总线或管理层,如PCI、PCI-E、VESA、AGP等,可以节省系统的总带宽。
+ 即插即用(Plug-and-Play)的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。
+ 热插拔(hot-plugging或Hot Swap)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。
+ 系统总线标准:$ISA$、$EISA$、$VESA$、$PCI$、$PCI-Express$等。
+ 设备总线标准:$IDE$、$AGP$、$RS-232C$、$USB$、$SATA$、$SCSI$、$PCMCIA$等。
+ 局部总线标准:在$ISA$总线和$CPU$总线之间增加的一级总线或管理层,如$PCI$、$PCI-E$、$VESA$、$AGP$等,可以节省系统的总带宽。
+ 即插即用($Plug-and-Play$)的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么。把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道。
+ 热插拔($hot-plugging$或$Hot\,Swap$)即带电插拔,热插拔功能就是允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的硬盘、电源或板卡等部件,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等,例如一些面向高端应用的磁盘镜像系统都可以提供磁盘的热插拔功能。
### 标准总览
@@ -335,10 +329,10 @@ SCSI|Small Computer System Interface|||640MB/s|智能通用接口
ISA|Industry Standard Architecture|8MHz|8/16|8MB/s|系统总线
EISA|Extended ISA|8MHz|32|32MB/s|系统总线
+ ISA和EISA都是并行系统总线。
+ ISA数据传送需要$CPU$或$DMA$接口来管理,传输速率过低、$CPU$占用率高、占用硬件中断资源,不支持总线仲裁。
+ EISA从$CPU$中分离出了总线控制权,支持多个总线主控器和突发传送。
+ 被PCI淘汰了。
+ $ISA$和$EISA$都是并行系统总线。
+ $ISA$数据传送需要$CPU$或$DMA$接口来管理,传输速率过低、$CPU$占用率高、占用硬件中断资源,不支持总线仲裁。
+ $EISA$从$CPU$中分离出了总线控制权,支持多个总线主控器和突发传送。
+ 被$PCI$淘汰了。
### 局部总线标准
@@ -348,7 +342,7 @@ EISA|Extended ISA|8MHz|32|32MB/s|系统总线
:------:|:--:|:------:|:----:|:------:|:--:
PCI|Peripheral Component Interconnect|33/66MHz|32/64|133/528MB/s|局部总线
PCI也是并行局部总线,可以将高速外部设备直接挂到$CPU$总线上。
$PCI$也是并行局部总线,可以将高速外部设备直接挂到$CPU$总线上。
特点:
@@ -367,7 +361,7 @@ PCI也是并行局部总线,可以将高速外部设备直接挂到$CPU$总线
:------:|:--:|:------:|:----:|:------:|:--:
AGP|Accelerated Graphics Port|||X1:266MB/s X8:2.1GB/s|局部总线
AGP即加速图形接口,是并行局部总线,是显卡专用的局部总线。
$AGP$即加速图形接口,是并行局部总线,是显卡专用的局部总线。
#### PCI-E
@@ -395,15 +389,15 @@ VESA|Video Electronics Standard Architecture|33MHz|32|132MB/s|局部总线
:------:|:--:|:------:|:----:|:------:|:--:
USB|Universal Serial Bus|||1280MB/s|设备总线、串行
USB属于设备总线,是设备和设备控制器之间的接口。
$USB$属于设备总线,是设备和设备控制器之间的接口。
特点:
1. 可以热插拔、即插即用。
2. 具有很强的连接能力和很好的可扩充性。采用菊花链形式将众多外设连接起来,可使用USB集线器链式连接127个外设。
3. 标准统一。以前大家常见的是IDE接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了USB之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了USB硬盘、USB鼠标、USB打印机等等。
2. 具有很强的连接能力和很好的可扩充性。采用菊花链形式将众多外设连接起来,可使用$USB$集线器链式连接$127$个外设。
3. 标准统一。以前大家常见的是$IDE$接口的硬盘,串口的鼠标键盘,并口的打印机扫描仪,可是有了$USB$之后,这些应用外设统统可以用同样的标准与个人电脑连接,这时就有了$USB$硬盘、$USB$鼠标、$USB$打印机等等。
4. 高速传输。
5. 连接电缆轻巧,可为低压(5V)外设供电。
5. 连接电缆轻巧,可为低压($5V$)外设供电。
#### IS-232C
@@ -411,7 +405,7 @@ USB属于设备总线,是设备和设备控制器之间的接口。
:------:|:--:|:------:|:----:|:------:|:--:
RS-232C|Recommended Standard|||20Kbps|串行通信总线
应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)。
应用于串行二进制交换的数据终端设备($DTE$)和数据通信设备($DCE$)。
#### IDE(ATA)
@@ -419,7 +413,7 @@ RS-232C|Recommended Standard|||20Kbps|串行通信总线
:------:|:--:|:------:|:----:|:------:|:--:
IDE(ATA)|Integrated Drive Electronics|||100MB/s|硬盘光驱接口
硬盘、光驱都通过IDE接口与主板连接。
硬盘、光驱都通过$IDE$接口与主板连接。
#### SATA
@@ -439,23 +433,23 @@ PCMCIA|Personal Computer Memory Card International Association|||90Mbps|便携
:------:|:--:|:------:|:----:|:------:|:--:
SCSI|Small Computer System Interface|||640MB/s|智能通用接口
1. IDE工作需要$CPU$参与,而SCSI通过独立高速SCSI卡控制读写,$CPU$就不需要等待。
2. SCSI扩充性高。
1. $IDE$工作需要$CPU$参与,而$SCSI$通过独立高速$SCSI$卡控制读写,$CPU$就不需要等待。
2. $SCSI$扩充性高。
### 视频线标准
#### VGA
即Video Graphics Array,也称为D-sub端口,传输模拟信号,所以要先将数字信号转换为模拟信号。
即$Video\,Graphics\,Array$,也称为$D-sub$端口,传输模拟信号,所以要先将数字信号转换为模拟信号。
#### DIV
即Digital Visual Interface,传输数字信号,但是在分辨率1024×768以下时与VGA差别不大。
即$Digital\,Visual\,Interface$,传输数字信号,但是在分辨率$1024\times768$以下时与$VGA$差别不大。
#### HDML
即High Definition Multimedia Interface,可以传输音讯,源于DVI技术,分为三种类型:
即$High\,Definition\,Multimedia\,Interface$,可以传输音讯,源于$DVI$技术,分为三种类型:
+ A型:高清电视,投影仪等。
+ C型:平板电脑,MP4等。
+ D型:智能手机,平板电脑等。
+ $A$型:高清电视,投影仪等。
+ $C$型:平板电脑,$MP4$等。
+ $D$型:智能手机,平板电脑等。

View File

@@ -0,0 +1,197 @@
# 输入输出系统习题
## 输入输出基本概念
**例题** 在微型机系统中,$I/O$设备通过()与主板的系统总线相连接。
$A.DMA$控制器
$B.$设备控制器
$C.$中断控制器
$D.I/O$端口
解:$B$。$I/O$设备不可能直接与主板总线相连,它总是通过设备控制器来相连的。
## 外部设备
### 输入设备
**例题** 下列关于$I/O$设备的说法中,正确的是()。
Ⅰ.键盘、鼠标、显示器、打印机属于人机交互设备
Ⅱ.在微型计算机中,VGA代表的是视频传输标准
Ⅲ.打印机从打字原理的角度来区分,可分为点阵式打印机和活字式打印机
Ⅳ.鼠标适合于用中断方式来实现输入操作
$A.$Ⅱ、Ⅲ、Ⅳ
$B.$Ⅰ、Ⅱ、Ⅳ
$C.$Ⅰ、Ⅱ、Ⅲ
$D.$Ⅰ、Ⅱ、Ⅲ、Ⅳ
解:$B$。键盘、鼠标、显示器、打印机等都属于机器与人交互的媒介(用户使用键盘、鼠标来控制计算机,计算机使用显示器和打印机来向用户传递信息),因此Ⅰ正确。$VGA$是一个用于显示的视频传输标准,因此Ⅱ正确。打印机从打字原理的角度来分,可分为击打式和非击打式两种,按照能否打出汉字来分,可分为点阵式打印机和活字式打印机,因此Ⅲ错误。键盘、鼠标等输入设备一般都采用中断方式来实现,原因在于$CPU$需要及时响应这些操作,否则容易造成输入的丢失,因此Ⅳ正确。
**例题** $CRT$的分辨率为$1024\times1024$像素,像素的颜色数为$256$,则刷新存储器的每单元字长为(),总容量为()。
$A.8B$,$256MB$
$B.8bit$,$1MB$
$C.8bit$,$256KB$
$D.8B$,$32MB$
解:$B$。刷新存储器中存储单元的字长取决于显示的颜色数,颜色数为$m$,字长为$n$,二者的关系为$2^n=m$。本题中的颜色数为$256=2^8$,因此刷新存储器单元字长为$8$位。刷新存储器的容量是每个像素点的位数和像素点个数的乘积,因此刷新存储器的容量为$1024\times1024\times8bit=1MB$。
### 外存设备
**例题** 若磁盘转速为$7200$转/分,平均寻道时间为$8ms$,每个磁道包含$1000$个扇区,则访问一个扇区的平均存取时间大约是()。
$A.8.1ms$
$B.12.2ms$
$C.16.3ms$
$D.20.5ms$
解:$B$。存取时间=寻道时间+延迟时间+传输时间。存取一个扇区的平均延迟时间为旋转半周的时间,即$(60\div7200)\div2=4.17ms$,传输时间为$(60\div7200)\div1000=0.01ms$,因此访问一个扇区的平均存取时间为$4.17+0.01+8=12.18ms$,保留一位小数则为$12.2ms$。
## I/O接口
### I/O总线
**例题** 下列选项中,在$I/O$总线的数据线上传输的信息包括()。
Ⅰ.$I/O$接口中的命令字
Ⅱ.$I/O$接口中的状态字
Ⅲ.中断类型号
$A.$仅Ⅰ、Ⅱ
$B.$仅Ⅰ、Ⅲ
$C.$仅Ⅱ、Ⅲ
$D.$Ⅰ、Ⅱ、Ⅲ
解:$D$。$I/O$总线分为三类:数据线、控制线和地址线。数据缓冲寄存器和命令/状态寄存器的内容都是通过数据线来传送的。地址线用以传送与$CPU$交换数据的端口地址。而控制线用以给IO端口发送读/写信号,只是用来对端口进行读/写控制的。因此Ⅰ、Ⅱ和Ⅲ均正确。
### I/O地址
<!-- #### 统一编制方式 -->
**例题** $I/O$的编址方式采用统一编址方式时,进行输入/输出的操作的指令是()。
$A.$控制指令
$B.$访存指令
$C.$输入/输出指令
$D.$都不对
解:$B$。统一编址时,直接使用指令系统中的访存指令来完成输入/输出操作。独立编址时,则需要使用专门的输入/输出指令来完成输入/输出操作。
### I/O端口
**例题**$I/O$指令实现的数据传送通常发生在()。
$A.I/O$设备和$I/O$端口之间
$B.$通用寄存器和$I/O$设备之间
$C.I/O$端口和$I/O$端口之间
$D.$通用寄存器和$I/O$端口之间
解:$D$。$I/O$端口是指$I/O$接口中用于缓冲信息的寄存器,由于主机和$I/O$设备的工作方式和工作速度有很大差异,$I/O$端口应运而生。在执行一条指令时,$CPU$使用地址总线选择所请求的$I/O$端口,使用数据总线在$CPU$寄存器和端口之间传输数据。
## I/O方式
### 程序查询方式
**例题** 在程序查询方式的输入/输出系统中,假设不考虑处理时间,每一个查询操作需要$100$个时钟周期,$CPU$的时钟频率为$50MHz$。现有鼠标和硬盘两个设备,而且$CPU$必须每秒对鼠标进行$30$次查询,硬盘以$32$位字长为单位传输数据,即每$32$位被$CPU$查询一次,传输率为$2\times2^{20}B/s$。求$CPU$对这两个设备查询所花费的时间比率,由此可得出什么结论?
解:
从时间来看:
因为$CPU$时钟频率为$50MHz$,所以一个时钟周期就是其倒数为$20ns$。
而一个查询操作需要$100$个时钟周期,所以一个查询操作需要$100\times20=2000ns$。
对于鼠标:
每秒需要对鼠标进行$30$次查询,所以一秒内查询鼠标的时间为$30\times2000=60000ns$。
所以查询鼠标所花费的时间比率为$60000ns÷1s=0.006\%$。
从而对鼠标的查询基本上不影响$CPU$性能。
对于硬盘:
因为每$32$位需要查询一次,每秒传送$2\times2^{20}B$,所以每秒需要查询$2\times2^{20}\div4=2^{19}$次。
查询硬盘时间为$2^{19}\times2000=512\times1024\times2000ns\approx1.05\times10^9ns$。
查询硬盘花费时间比率为$105\%$。也就是说即使$CPU$将全部时间都用于对硬盘的查询也不能满足磁盘传输要求。
从频率来看:
$CPU$的时钟频率为$50MHz$,即每秒需要$50\times10^6$个时钟周期。
对于鼠标:
每秒查询鼠标占用时钟周期数为$30×100=3000$,所以查询鼠标花费的时间比率为$3000\div(50\times10^6)=0006\%$。
从而对鼠标的查询基本上不影响$CPU$性能。
对于硬盘:
因为每$32$位需要查询一次,所以每秒需要查询$(2\times2^{20})\div4=2^{19}$次。
所以每秒查询硬盘占用时钟周期数位$2^{19}\times100\approx5.24\times10^7$。
产线硬盘花费时间比例为$(5.24\times10^7)\div(50\times10^6)\approx105\%$。
也就是说即使$CPU$将全部时间都用于对硬盘的查询也不能满足磁盘传输要求。
### 程序中断方式
#### 多重中断技术
**例题** 设某机有$4$个中断源$A$、$B$、$C$、$D$,其硬件排队优先次序为$A>B>C>D$,现要求将中断处理次序改为$D>A>C>B$。
1)写出每个中断源对应的屏蔽字。
解:在写当前中断源屏蔽字时,如果当前中断源的优先级大于屏蔽字,则是$1$,否则是$0$:
中断源|A|B|C|D
:-:|:-:|:-:|:-:|:--:
A|1|1|1|0
B|0|1|0|0
C|0|1|1|0
D|1|1|1|1
如若中断源为$A$,因为$A$必须屏蔽它自己,所以$A$的屏蔽字为$1$,而$A$的优先级大于$B$和$C$,所以$BC$屏蔽字也为$1$,$D$的优先级大于$A$,所以$D$的屏蔽字为$0$。
2)若中断源进入程序如表格。设每个中断源的中断服务程序时间均为$20\mu s$。写出$CPU$执行程序的流程。
中断源|进入程序时间点
:----:|:------------:
B|5
D|10
A|35
C|60
解:首先$B$在时刻$5$进入,开始执行,执行到时刻$10$时$D$进入,而$D$的优先级高于$B$,所以时刻$10$开始执行$D$,时刻$30$此时$D$结束,开始重新执行$B$,直到时刻$35A$进入,此时$B$已经执行了$10$个时间单位,$A$优先级高于$B$,所以$A$开始执行,时刻$55$时$A$完成,$B$开始执行,直到时刻$60$时$C$进入,而$C$优先级大于$B$,所以$C$开始执行,$B$此时已经执行了$15$个单位,$80$时$C$结束,$B$开始,时刻$85$时$B$完成,整个结束。

View File

@@ -16,7 +16,7 @@
1. $I/O$软件:
+ 包括驱动程序、用户程序、管理程序、升级补丁等。
+ 通常采用IO指令和通道指令实现$CPU$和$I/O$设备的信息交换:
+ 通常采用$I/O$指令和通道指令实现$CPU$和$I/O$设备的信息交换:
+ $I/O$指令:
+ $CPU$指令的一部分。
+ 分为操作码(表明识别$I/O$指令)+命令码(执行的操作)+设备码(操作的设备)。
@@ -59,59 +59,69 @@
#### 显示器
+ 按显示设备所用的显示器件分类:
+ 阴极射线管($CRT$)显示器:CRT显示器主要由电子枪、偏转线圈、荫罩、高压石墨电极和荧光粉涂层及玻璃外壳5部分组成。具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等目前$LCD$难以超过的优点。
+ 液晶显示器($LCD$):利用液晶的电光效应,由图像信号电压直接控制薄膜晶体管,再间接控制液品分子的光学特性来实现图像的显示。特点:体积小、重量轻、省电、无辐射、绿色环保、画面柔、不伤眼等。
+ $LED$显示器:通过控制半导体发光二极管进行显示,用来显示文字、图形、图像等各种信息。
+ $LCD$、$LED$是两种不同的显示技术,$LCD$是由液态晶体组成的显示屏,而$LED$则是由发光二极管组成的显示屏。与$LCD$相比,$LED$显示器在亮度、功耗、可视角度和刷新速率等方面都更具优势。
+ 按所显示的信息内容分类:
+ 字符显示器:
+ 显示字符的方法以点阵为基础。点阵是指由m×n个点组成的阵列。点阵的多少取决于显示字符的质量和字符窗口的大小。字符窗口是指每个字符在屏幕上所占的点数,它包括字符显示点阵和字符间隔。
+ 将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中0和1代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。对应于每个字符窗口,所需显示字符的ASCII代码被存放在视频存储器VRAM中,以备刷新。
+ 按扫描方式不同可分为:光栅扫描显示器、随机扫描显示器。
+ 图形显示器:
+ 将所显示图形的一组坐标点和绘图命令组成显示文件存放在缓冲存储器中,缓存中的显示文件传送给矢量(线段)产生器,产生相应的模拟电压,直接控制电子束在屏幕上的移动。为了在屏幕上保留持久稳定的图像,需要按一定的频率对屏幕进行反复刷新。
+ 这种显示器的优点是分辨率高且显示的曲线平滑。目前高质量的图形显示器采用这种随机扫描方式。
+ 缺点是当显示复杂图形时,会有闪烁感。
+ 图像显示器。
+ 屏幕大小:以对角线长度表示,常用的有12~29英寸等。
+ 分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽、高的像素的乘积表示,例如,800×600、1024×768和1280×1024等。
+ 灰度级:指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有8位(256级)、16位等。$n$位可以表示$2^n$种不同的亮度或颜色。
按显示设备所用的显示器件分类:
+ 阴极射线管($CRT$)显示器:$CRT$显示器主要由电子枪、偏转线圈、荫罩、高压石墨电极和荧光粉涂层及玻璃外壳$5$部分组成。具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等目前$LCD$难以超过的优点。
+ 液晶显示器($LCD$):利用液晶的电光效应,由图像信号电压直接控制薄膜晶体管,再间接控制液品分子的光学特性来实现图像的显示。特点:体积小、重量轻、省电、无辐射、绿色环保、画面柔、不伤眼等。
+ $LED$显示器:通过控制半导体发光二极管进行显示,用来显示文字、图形、图像等各种信息。
+ $LCD$、$LED$是两种不同的显示技术,$LCD$是由液态晶体组成的显示屏,而$LED$则是由发光二极管组成的显示屏。与$LCD$相比,$LED$显示器在亮度、功耗、可视角度和刷新速率等方面都更具优势。
按所显示的信息内容分类:
+ 字符显示器:
+ 显示字符的方法以点阵为基础。点阵是指由$m\times n$个点组成的阵列。点阵的多少取决于显示字符的质量和字符窗口的大小。字符窗口是指每个字符在屏幕上所占的点数,它包括字符显示点阵和字符间隔。
+ 将点阵存入由$ROM$构成的字符发生器中,在$CRT$进行光栅扫描的过程中,从字符发生器中依次读出某个字符的点阵,按照点阵中$0$和$1$代码不同控制扫描电子束的开或关,从而在屏幕上显示出字符。对应于每个字符窗口,所需显示字符的$ASCII$代码被存放在视频存储器$VRAM$中,以备刷新。
+ 按扫描方式不同可分为:光栅扫描显示器、随机扫描显示器。
+ 图形显示器:
+ 将所显示图形的一组坐标点和绘图命令组成显示文件存放在缓冲存储器中,缓存中的显示文件传送给矢量(线段)产生器,产生相应的模拟电压,直接控制电子束在屏幕上的移动。为了在屏幕上保留持久稳定的图像,需要按一定的频率对屏幕进行反复刷新。
+ 这种显示器的优点是分辨率高且显示的曲线平滑。目前高质量的图形显示器采用这种随机扫描方式。
+ 缺点是当显示复杂图形时,会有闪烁感。
+ 图像显示器。
参数:
+ 屏幕大小:以对角线长度表示,常用的有$12\sim29$英寸等。
+ 分辨率:所能表示的像素个数,屏幕上的每一个光点就是一个像素,以宽、高的像素的乘积表示,例如,$800\times600$、$1024\times768$和$1280\times1024$等。
+ 灰度级:指黑白显示器中所显示的像素点的亮暗差别,在彩色显示器中则表现为颜色的不同,灰度级越多,图像层次越清楚逼真,典型的有$8$位($256$级)、$16$位等。$n$位可以表示$2^n$种不同的亮度或颜色。
+ 刷新:光点只能保持极短的时间便会消失,为此必须在光点消失之前再重新扫描显示一遍,这个过程称为刷新。
+ 刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新频率大于30Hz时才不会感到闪烁,通常显示器刷新频率在60到120Hz。
+ 显示存储器(VRAM):也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
+ VRAM容量=分辨率×灰度级位数。
+ VRAM带宽=分辨率×灰度级位数×帧频。
+ 刷新频率:单位时间内扫描整个屏幕内容的次数,按照人的视觉生理,刷新频率大于$30Hz$时才不会感到闪烁,通常显示器刷新频率在$60$到$120Hz$。
+ 显示存储器($VRAM$):也称刷新存储器,为了不断提高刷新图像的信号,必须把一帧图像信息存储在刷新存储器中。其存储容量由图像分辨率和灰度级决定,分辨率越高,灰度级越多,刷新存储器容量越大。
+ $VRAM$容量=分辨率×灰度级位数。
+ $VRAM$带宽=分辨率×灰度级位数×帧频。
#### 打印机
+ 打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上。
+ 按印字原理不同可分为:
+ 击打式打印机:
+ 利用机械动作使印字机构与色带和纸相撞而打印字符。
+ 优点:设备成本低;印字质量好。
+ 缺点:噪声大;速度慢。
+ 非击打式打印机:
+ 采用电、磁、光、喷墨等物理、化学方法来印刷字符。
+ 优点:速度快;噪声小。
+ 缺点:成本高。
打印机是计算机的输出设备之一,用于将计算机处理结果打印在相关介质上。
按印字原理不同可分为:
+ 击打式打印机:
+ 利用机械动作使印字机构与色带和纸相撞而打印字符。
+ 优点:设备成本低;印字质量好。
+ 缺点:噪声大;速度慢。
+ 非击打式打印机:
+ 采用电、磁、光、喷墨等物理、化学方法来印刷字符。
+ 优点:速度快;噪声小。
+ 缺点:成本高。
+ 按打印机工作方式不同可分为:
+ 串行打印机:
+ 逐字打印。
+ 速度慢。
+ 逐字打印。
+ 速度慢。
+ 行式打印机:
+ 逐行打印。
+ 速度快。
+ 按工作方式可分为:
+ 针式打印机:
+ 原理:在联机状态下,主机发出打印命令,经接口、检测和控制电路,间歇驱动纵向送纸和打印头横向移动,同时驱动打印机间歇冲击色带,在纸上打印出所需内容。
+ 特点:针式打印机擅长“多层复写打印”,实现各种票据或蜡纸等的打印。它工作原理简单,造价低廉,耗材(色带)便宜,但打印分辨率和打印速度不够。
+ 喷墨式打印机:
+ 原理:带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。彩色喷墨打印机基于三基色原理,即分别喷射3种颜色墨滴,按一定的比例混合出所要求的颜色。
+ 特点:打印噪声小,可实现高质量彩色打印,通常打印速度比针式打印机快;但防水性差,高质量打印需要专用打印纸。
+ 激光打印机:
+ 原理:计算机输出的二进制信息,经过调制后的激光束扫描,在感光鼓上形成潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。
+ 特点:打印质量高、速度快、噪声小、处理能力强;但耗材多、价格较贵、不能复写打印多份,且对纸张的要求高。激光打印机是将激光技术和电子显像技术相结合的产物。感光鼓(也称为硒鼓)是激光打印机的核心部件。
+ 逐行打印。
+ 速度快。
按工作方式可分为:
+ 针式打印机:
+ 原理:在联机状态下,主机发出打印命令,经接口、检测和控制电路,间歇驱动纵向送纸和打印头横向移动,同时驱动打印机间歇冲击色带,在纸上打印出所需内容。
+ 特点:针式打印机擅长“多层复写打印”,实现各种票据或蜡纸等的打印。它工作原理简单,造价低廉,耗材(色带)便宜,但打印分辨率和打印速度不够。
+ 喷墨式打印机:
+ 原理:带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。彩色喷墨打印机基于三基色原理,即分别喷射$3$种颜色墨滴,按一定的比例混合出所要求的颜色。
+ 特点:打印噪声小,可实现高质量彩色打印,通常打印速度比针式打印机快;但防水性差,高质量打印需要专用打印纸。
+ 激光打印机:
+ 原理:计算机输出的二进制信息,经过调制后的激光束扫描,在感光鼓上形成潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。
+ 特点:打印质量高、速度快、噪声小、处理能力强;但耗材多、价格较贵、不能复写打印多份,且对纸张的要求高。激光打印机是将激光技术和电子显像技术相结合的产物。感光鼓(也称为硒鼓)是激光打印机的核心部件。
### 外存设备
@@ -129,19 +139,19 @@
3. 对工作环境要求较高。
+ 原理:当磁头和磁性记录介质有相对运动时,通过电磁转换完成读/写操作。
+ 编码方法:按某种方案(规律),把一连串的二进制信息变换成存储介质磁层中一个磁化翻转状态的序列,并使读/写控制电路容易、可靠地实现转换。
+ 磁记录方式:通常采用调频制(FM)和改进型调频制(MFM)的记录方式。
+ 磁记录方式:通常采用调频制($FM$)和改进型调频制($MFM$)的记录方式。
#### 磁盘存储器
+ 磁盘设备的组成:
+ 存储区域:一块硬盘含有若干个记录面,每个记录面划分为若干条磁道,而每条磁道又划分为若干个扇区,扇区(也称块)是磁盘读写的最小单位,也就是说磁盘按块存取。
+ 磁头数(Heads):即记录面数,表示硬盘总共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。
+ 柱面数(Cylinders):表示硬盘每一面盘片上有多少条,一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面。
+ 扇区数(Sectors):表示每一条磁道上有多少个扇区。
+ 磁头数($Heads$):即记录面数,表示硬盘总共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。
+ 柱面数($Cylinders$):表示硬盘每一面盘片上有多少条磁道,一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面。
+ 扇区数($Sectors$):表示每一条磁道上有多少个扇区。
+ 硬盘存储器:
+ 硬盘存储器由磁盘驱动器、磁盘控制器和盘片组成。
+ 磁盘驱动器:核心部件是磁头组件和盘片组件,温彻斯特盘是一种可移动头固定盘片的硬盘存储器。
+ 磁盘控制器:是硬盘存储器和主机的接口,主流的标准有IDE、SCSI、SATA等。
+ 磁盘控制器:是硬盘存储器和主机的接口,主流的标准有$IDE$、$SCSI$、$SATA$等。
+ 磁盘的性能指标:
+ 磁盘容量:一个磁盘所能存储的字节总数称为磁盘容量。
+ 非格式化容量是指磁记录表面可以利用的磁化单元总数。
@@ -155,21 +165,21 @@
+ 数据传输率:磁盘存储器在单位时间内向主机传送数据的字节数,称为数据传输率。
+ 磁盘地址:
+ 主机向磁盘控制器发送寻址信息,磁盘的地址=驱动器号+柱面(磁道)号+盘面号+扇区号。
+ 若系统中有4个驱动器,每个驱动器带一个磁盘,每个磁盘256个磁道、16个盘面,每个盘面划分为16个扇区,则每个扇区地址要18位二进制代码:驱动器号(2bit)+柱面(磁道)号(8bit)+盘面号(4bit)+扇区号(4bit)。
+ 若系统中有$4$个驱动器,每个驱动器带一个磁盘,每个磁盘$256$个磁道、$16$个盘面,每个盘面划分为$16$个扇区,则每个扇区地址要$18$位二进制代码:驱动器号($2bit$)+柱面(磁道)号($8bit$)+盘面号($4bit$)+扇区号($4bit$)。
+ 磁盘工作过程:
+ 硬盘的主要操作是寻址、读盘、写盘。每个操作都对应一个控制字,硬盘工作时,第一步是取控制字,第二步是执行控制字。
+ 硬盘属于机械式部件,其读写操作是串行的,不可能在同一时刻既读又写,也不可能在同一时刻读两组数据或写两组数据。
#### 磁盘阵列
+ RAID(廉价冗余磁盘阵列)是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。
+ RAID的分级如下所示。在RAID1到RAID5的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏:
+ RAID0:无冗余和无校验的磁盘阵列。
+ RAID1:镜像磁盘阵列。
+ RAID2:采用纠错的海明码的磁盘阵列。
+ RAID3:位交叉奇偶校验的磁盘阵列。
+ RAID4:块交叉奇偶校验的磁盘阵列。
+ RAID5:无独立校验的奇偶校验磁盘阵列。
+ $RAID$(廉价冗余磁盘阵列)是将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。
+ $RAID$的分级如下所示。在$RAID1$到$RAID5$的几种方案中,无论何时有磁盘损坏,都可以随时拔出受损的磁盘再插入好的磁盘,而数据不会损坏:
+ $RAID0$:无冗余和无校验的磁盘阵列。
+ $RAID1$:镜像磁盘阵列。
+ $RAID2$:采用纠错的海明码的磁盘阵列。
+ $RAID3$:位交叉奇偶校验的磁盘阵列。
+ $RAID4$:块交叉奇偶校验的磁盘阵列。
+ $RAID5$:无独立校验的奇偶校验磁盘阵列。
#### 光盘存储器
@@ -190,31 +200,49 @@
+ 存储期限长。
+ 容易保存。
+ 光盘的类型如下:
+ CD-ROM:只读型光盘,只能读出其中内容,不能写入或修改。
+ CD-R:只可写入一次信息,之后不可修改。
+ CD-RW:可读可写光盘,可以重复读写。
+ DVD-ROM:高容量的CD-ROM,DVD表示通用数字化多功能光盘。
+ $CD-ROM$:只读型光盘,只能读出其中内容,不能写入或修改。
+ $CD-R$:只可写入一次信息,之后不可修改。
+ $CD-RW$:可读可写光盘,可以重复读写。
+ $DVD-ROM$:高容量的$CD-ROM$,$DVD$表示通用数字化多功能光盘。
#### 固态硬盘
+ 在微小型高档笔记本电脑中,采用高性能Flash Memory作为硬盘来记录数据,这种“硬盘”称固态硬盘。
+ 固态硬盘除了需要Flash Memory外,还需要其他硬件和软件的支持。
+ 闪存(Flash Memory)是在E2PROM的基础上发展起来的,本质上是只读存储器。
+ 在微小型高档笔记本电脑中,采用高性能$Flash\,Memory$作为硬盘来记录数据,这种“硬盘”称固态硬盘。
+ 固态硬盘除了需要$Flash\,Memory$外,还需要其他硬件和软件的支持。
+ 闪存($Flash\,Memory$)是在$E2PROM$的基础上发展起来的,本质上是只读存储器。
## I/O接口
是主机和外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换。
### 接口的功能与结构
### 接口基本概念
#### 接口功能
1. 设备选址:设备选择电路、控制逻辑电路。
2. 传送命令:命令寄存器、命令译码器。
3. 传送数据:数据缓冲寄存器DBR(格式转换)。
3. 传送数据:数据缓冲寄存器$DBR$(格式转换)。
4. 反映$I/O$设备的工作状态:设备状态标记:
+ 完成触发器D。
+ 工作触发器B。
+ 中断请求触发器INTR。
+ 屏蔽触发器MASK。
+ 完成触发器$D$。
+ 工作触发器$B$。
+ 中断请求触发器$INTR$。
+ 屏蔽触发器$MASK$。
#### 接口类型
+ 按数据传送方式:
+ 并行接口:一个字节或一个字所有位同时传送。
+ 串行接口:一位一位地传送。
+ 这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。
+ 按主机访问$I/O$设备的控制方式:
+ 程序查询接口。
+ 中断接口。
+ $DMA$接口。
+ 按功能选择的灵活性:
+ 可编程接口。
+ 不可编程接口。
#### 接口结构
+ 内部接口:部接口与系统总线相连,实质上是与内存、$CPU$相连。数据的传输方式只能是并行传输。
+ 外部接口:外部接通过接口电缆与外设相连,外部接口的数据传输可能是串行方式,因此$I/O$接口需具有串/并转换功能。
@@ -239,8 +267,8 @@
### 端口与地址
+ $I/O$端口是指接口电路中可以被$CPU$直接访问的寄存器。
+ 接口Interface:
+ 端口Port:实际上是寄存器:
+ 接口$Interface$:
+ 端口$Port$:实际上是寄存器:
+ 数据端口:可读可写。
+ 控制端口:只写。
+ 状态端口:只读。
@@ -252,10 +280,10 @@ $I/O$端口要想能够被$CPU$访间,必须要有端口地址,每一个端
+ 把$I/O$端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问$I/O$端口,又称存储器映射方式。
+ 靠不同的地址码区分内存$I/O$设备,$I/O$地址要求相对固定在地址的某部分。
+ 如系统总线中地址线共10根,则可以访问的存储单元个数为1024个,假设要给10个$I/O$端口编址:
+ 0到9表示$I/O$地址,10到1023为主存单元地址。
+ 0到1013表示主存单元地址,1014到1023为$I/O$地址。
+ 10到19表示$I/O$地址,0到9、20到1023为主存单元地址。
+ 如系统总线中地址线共$10$根,则可以访问的存储单元个数为$1024$个,假设要给$10$个$I/O$端口编址:
+ $0$到$9$表示$I/O$地址,$10$到$1023$为主存单元地址。
+ $0$到$1013$表示主存单元地址,$1014$到$1023$为$I/O$地址。
+ $10$到$19$表示$I/O$地址,$0$到$9、20$到$1023$为主存单元地址。
+ 优点:
+ 不需要专门的输入/输出指令,可使$CPU$访间$I/O$的操作更灵活、更方便。
+ 使端口有较大的编址空间。
@@ -272,22 +300,10 @@ $I/O$端口要想能够被$CPU$访间,必须要有端口地址,每一个端
+ 输入/输出指令少,一般只能对端口进行传送操作。
+ 需要$CPU$提供存储器读/写、$I/O$设备读/两组控制信号,增加了控制的复杂性。
### 接口类型
+ 按数据传送方式:
+ 并行接口:一个字节或一个字所有位同时传送。
+ 串行接口:一位一位地传送。
+ 这里所说的数据传送方式指的是外设和接口一侧的传送方式,而在主机和接口一侧,数据总是并行传送的。接口要完成数据格式转换。
+ 按主机访问$I/O$设备的控制方式:
+ 程序查询接口。
+ 中断接口。
+ $DMA$接口。
+ 按功能选择的灵活性:
+ 可编程接口。
+ 不可编程接口。
## I/O方式
即主机和$I/O$设备之间的数据传送的控制方式。
### 程序查询方式
+ 过程:
@@ -297,85 +313,44 @@ $I/O$端口要想能够被$CPU$访间,必须要有端口地址,每一个端
+ $CPU$不断查询$I/O$设备状态,直到外设准备就绪。$CPU$一旦启动$I/O$,必须停止现行程序的运行,并在现行程序中插入一段程序。主要特点:$CPU$有“踏步”等待现象,$CPU$与$I/O$串行工作。
+ 状态就绪后传输一次数据,一般为一个字。
+ 修改地址和计数器参数。
+ 判断传送是否结束(一般计数器为0时结束)。如果没有结束则继续回到停止等待状态。
+ 判断传送是否结束(一般计数器为$0$时结束)。如果没有结束则继续回到停止等待状态。
+ 优点:接口设计简单、设备量少。
+ 缺点:$CPU$在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。
**例题** 在程序查询方式的输入/输出系统中,假设不考虑处理时间,每一个查询操作需要100个时钟周期,$CPU$的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且$CPU$必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被$CPU$查询一次,传输率为$2\times2^{20}$B/s。求$CPU$对这两个设备查询所花费的时间比率,由此可得出什么结论?
从时间来看:
因为$CPU$时钟频率为50MHz,所以一个时钟周期就是其倒数为20ns。
而一个查询操作需要100个时钟周期,所以一个查询操作需要100×20=2000ns。
对于鼠标:
每秒需要对鼠标进行30次查询,所以一秒内查询鼠标的时间为30×2000=60000ns。
所以查询鼠标所花费的时间比率为60000ns÷1s=0.006%。
从而对鼠标的查询基本上不影响$CPU$性能。
对于硬盘:
因为每32位需要查询一次,每秒传送$2\times2^{20}$B,所以每秒需要查询$2\times2^{20}\div4=2^{19}$次。
查询硬盘时间为$2^{19}\times2000=512\times1024\times2000$ns$\approx1.05\times10^9$ns。
查询硬盘花费时间比率为105%。也就是说即使$CPU$将全部时间都用于对硬盘的查询也不能满足磁盘传输要求。
从频率来看:
$CPU$的时钟频率为50MHz,即每秒需要$50\times10^6$个时钟周期。
对于鼠标:
每秒查询鼠标占用时钟周期数为30×100=3000,所以查询鼠标花费的时间比率为$3000\div(50\times10^6)$=0006%。
从而对鼠标的查询基本上不影响$CPU$性能。
对于硬盘:
因为每32位需要查询一次,所以每秒需要查询$(2\times2^{20})\div4=2^{19}$次。
所以每秒查询硬盘占用时钟周期数位$2^{19}\times100\approx5.24\times10^7$。
产线硬盘花费时间比例为$(5.24\times10^7)\div(50\times10^6)\approx$ 105%。
也就是说即使$CPU$将全部时间都用于对硬盘的查询也不能满足磁盘传输要求。
+ 缺点:$CPU$在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。
### 程序中断方式
#### 中断系统
1. 中断请求:中断源向$CPU$发送中断请求信号。
2. 中断响应:响应中断的条件。中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源。
3. 中断处理:
+ 中断隐指令。
+ 中断服务程序。
#### 中断和异常
操作系统中主要涉及。
+ 程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,$CPU$暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后$CPU$又自动返回到现行程序的断点处,继续执行原程序。
+ 工作流程:
1. 中断请求:中断源向$CPU$发送中断请求信号。
2. 中断响应:响应中断的条件。中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源。
3. 中断处理:
+ 中断隐指令。
+ 中断服务程序。
+ 中断(广义中断):
+ 内中断(异常、例外、陷入)$CPU$内部与当前执行的指令有关:
+ 自愿中断:指令中断。
+ 强迫中断:硬件故障、软件中断。
+ 自愿中断:指令中断(自陷)。
+ 强迫中断:硬件故障(终止)、软件中断(故障)。
+ 外中断(中断)$CPU$外部与当前执行的指令有关:
+ 外设请求。
+ 人工干预。
+ 非屏蔽中断:关中断(中断标志位IF=O)时也会被响应。(IF为Interrupt Flag,在PSW中)。
+ 非屏蔽中断:关中断(中断标志位$IF=0$)时也会被响应。($IF$为$Interrupt\,Flag$,在$PSW$中)。
+ 可屏蔽中断:关中断时不会被响应。
+ 异常由指令在执行种产生,而中断不与指令相关,也不阻止指令的完成。
+ 异常的检测由$CPU$完成,不需要外部信号通知。中断必须$CPU$通过总线获取中断源标记信息才能知道中断的类型。
+ 异常是不可屏蔽的中断,而通过$INTR$信号线发出的中断是可屏蔽的中断。
#### 中断请求
+ 中断请求标记:
+ 每个中断源向$CPU$发出中断请求的时间是随机的。
+ 为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,当其状态为“1"时,表示中断源有请求。
+ 为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器$INTR$,当其状态为“$1$"时,表示中断源有请求。
+ 这些触发器可组成中断请求标记寄存器,该寄存器可集中在$CPU$中,也可分散在各个中断源中。
+ 对于外中断,$CPU$是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取$I/O$的中断请求,也就是说,$CPU$响应中断的时间是在每条指令执行阶段的结束时刻。
+ $CPU$响应中断必须满足以下三个条件:
+ 中断源有中断请求。
+ $CPU$允许中断即开中断。
+ 一条指令执行完毕,且没有更紧迫的任务。
+ 对于外中断,$CPU$是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取$I/O$的中断请求,也就是说,$CPU$响应中断的时间是在每条指令执行阶段的结束时刻。
+ 中断判优,即多个中断发生时处理顺序的训责:
+ 中断判优既可以用硬件实现,也可用软件实现。
+ 硬件实现是通过硬件排队器实现的,它既可以设置在$CPU$中,也可以分散在各个中断源中。
@@ -385,31 +360,47 @@ $CPU$的时钟频率为50MHz,即每秒需要$50\times10^6$个时钟周期。
2. 非屏蔽中断优于可屏蔽中断。
3. $DMA$请求优于$I/O$设备传送的中断请求。
4. 高速设备优于低速设备。
5. 输入设各优于输出设备。
6. 实时设各优于普通设备。
+ 中断处理过程:
1. 取指令:进入中断服务程序的方法是把该程序第一条指令的地址放入PC。
2. 执行指令。
3. 判断是否中断。
4. 若没有中断则执行取指令,回到步骤一。
5. 若有中断则进入中断周期,使用中断隐指令。
6. 进行中断服务程序。
7. 回到步骤一。
+ 中断隐指令的主要任务:
5. 输入设备优于输出设备。
6. 实时设备优于普通设备。
#### 中断响应
+ $CPU$响应中断必须满足以下三个条件:
+ 中断源有中断请求。
+ $CPU$允许中断即开中断。
+ 一条指令执行完毕,且没有更紧迫的任务。
中断隐指令指$CPU$在响应中断后在执行中断服务程序前的准备操作。由硬件实现,不是指令系统的真实指令,没有操作码,也不能被用户使用。
#### 中断处理
1. 关中断。
2. 保存断点。
3. 引出中断服务程序。
4. 保存现场和中断屏蔽字。现场是用户可见的寄存器的内容,由软件实现。屏蔽字是$CPU$中断响应开始保存到栈或专门寄存器,由硬件实现。
5. 开中断。
6. 执行中断服务程序。
7. 关中断。
8. 恢复现场和屏蔽字。
9. 开中断,中断返回。
+ 中断隐指令的主要任务($1$到$3$):
1. 关中断:在中断服务程序中,为了保护中断现场(即$CPU$主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。
2. 保存断点:为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器PC的内容)保存起来。可以存入堆栈,也可以存入指定单元。
3. 引出中断服务程序:引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器PC。
2. 保存断点:为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器$PC$的内容)保存起来。可以存入堆栈,也可以存入指定单元。
3. 引出中断服务程序:引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器$PC$。
+ 软件查询法。
+ 硬件向量法:由中断向量地址形成硬件产生向量地址(中断类型号),再由向量地址找到入口地址。
+ 中断服务程序的任务:
+ 硬件向量法:每个中断有类型号,每个中断类型号对应一个中断服务程序,每个程序有一个入口地址,$CPU$需要找到这个地址,这就是中断向量。由中断向量地址形成硬件产生中断向量地址(中断类型号),再由向量地址找到入口地址。系统种保存中断向量的存储器就是中断向量表。(中断向量就是服务程序的入口地址,中断向量地址是入口地址的地址)
+ 中断服务程序的任务($4$到$9$):
1. 保护现场:
+ 保存程序断点PC,已由中断隐指令完成。
+ 保存程序断点$PC$,已由中断隐指令完成。
+ 二是保存通用寄存器和状态寄存器的内容,由中断服务程序完成。
+ 可以使用堆栈,也可以使用特定存储单元。
2. 中断服务(设备服务):主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。
3. 恢复现场:通过出栈指令或取数指令把之前保存的信息送回寄存器中。
4. 中断返回:通过中断返回指令回到原程序断点处。
#### 多重中断技术
+ 单重中断:执行中断服务程序时不响应新的中断请求。
+ 多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。
@@ -431,41 +422,15 @@ $CPU$的时钟频率为50MHz,即每秒需要$50\times10^6$个时钟周期。
+ 优先级别高的中断源有权中断优先级别低的中断源。
+ 所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。
+ 屏蔽字设置规律:
+ 1表示屏蔽该中断源的请求,0表示可以正常申请。
+ $1$表示屏蔽该中断源的请求,$0$表示可以正常申请。
+ 每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)。
+ 屏蔽字中1越多,优先级越高。每个屏蔽字中至少有一个'1'(至少要能屏蔽自身的中断)。
**例题** 设某机有4个中断源A、B、C、D,其硬件排队优先次序为A>B>C>D,现要求将中断处理次序改为D>A>C>B。
1)写出每个中断源对应的屏蔽字。
在写当前中断源屏蔽字时,如果当前中断源的优先级大于屏蔽字,则是1,否则是0:
中断源|A|B|C|D
:-:|:-:|:-:|:-:|:--:
A|1|1|1|0
B|0|1|0|0
C|0|1|1|0
D|1|1|1|1
如若中断源为A,因为A必须屏蔽它自己,所以A的屏蔽字为1,而A的优先级大于B和C,所以BC屏蔽字也为1,D的优先级大于A,所以D的屏蔽字为0。
2)若中断源进入程序如表格。设每个中断源的中断服务程序时间均为20μs。写出$CPU$执行程序的流程。
中断源|进入程序时间点
:----:|:------------:
B|5
D|10
A|35
C|60
首先B在时刻5进入,开始执行,执行到时刻10时D进入,而D的优先级高于B,所以时刻10开始执行D,时刻30D结束,开始重新执行B,直到时刻35A进入,此时B已经执行了10个时间单位,A优先级高于B,所以A开始执行,时刻55A完成,B开始执行,直到时刻60C进入,而C优先级大于B,所以C开始执行,B此时已经执行了15个单位,80C结束,B开始,时刻85B完成,整个结束。
+ 屏蔽字中$1$越多,优先级越高。每个屏蔽字中至少有一个$1$(至少要能屏蔽自身的中断)。
#### 程序中断方式实现
1. $CPU$遇到$I/O$指令,就去启动外设,然后$CPU$再回来执行现有程序,外部设备进行准备。
2. 外设准备完成后向$CPU$发出中断请求,$CPU$接收后进行响应,进行中断隐指令操作:关中断、保存断电、引出中断服务程序。$CPU$响应中断,运行中断服务程序:保护现场、中断服务程序控制数据传送。外设准备下一个请求。
3. $CPU$通过中断服务程序进行中断返回,若从K个程序开始中断,则返回到K+1个程序。
3. $CPU$通过中断服务程序进行中断返回,若从K个程序开始中断,则返回到$K+1$个程序。
**例题** 假定$CPU$主频为5OMHz,CPI为4。设备D采用异步串行通信方式向主机传送7位ASCIl字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入$I/O$端口需要0.5ms。请回答下列问题,要求说明理由。