1.接口的功能
(1)选址
(2)传送命令
(3)传送数据
(4)放映I/O设备工作状态
2.主机与I/O设备间设置接口的原因
(1) 一台设备通常配有多台I/O设备,他们各自有各自的设备号,通过接口可实现I/o设备的选择
(2)I/O设备种类繁多,速度不一,与CPU速度相差可能很大,通过接口可实现数据缓冲,达到速度匹配
(3)有些I/O设备可能串行传送数据,而CPU一般为并行传送,通过接口可实现数据串—并格式的转换
(4)I/O设备的输入输出电平可能与CPU的输入输出电平不同,通过接口可实现电平转换
(5)CPU启动I/O设备工作,要向I/O设备发送各种控制指令,通过接口可传送控制指令
(6)I/O设备需要将其工作状态及时向CPU报告,通过接口可见是设备的工作状态,并可保存状态信息,供CPU查询
3.接口与端口的区别和联系
接口可以看作两个系统或两个部件之间的交接部分,它既可以是两个硬件设备之间的连接电路,也可以是两个软件之间的共同逻辑部分
端口是指接口电路中的一些寄存器。若干个接口加上相应的控制逻辑才能组接口
4.总线性能指标
总线带宽、总线宽度,时钟异步/同步,总线复用,信号线数,总线控制方式,负载能力,电源电压
5.引起中断的因素
(1)人为设置的中断
(2)程序性事故
(3)硬件故障
(4)I/O设备
(5)外部事件
6.精简指令集与复杂指令集的特征与功能
复杂指令集(CISC)具有较长的指令,需要分成几个微指令去执行,因此开发程序相对容易。然而,由于指令复杂,执行工作效率较低,处理数据速度较慢。精简指令集(RISC)的指令位数较短,内部还有快速处理指令的电路,使得指令的译码与数据的处理较快,因此执行效率比CISC高。然而,由于其指令系统较为简单,开发程序相对复杂。
7.指令周期,时钟周期,机器周期的概念及其大小关系
指令周期是指CPU每取出并执行一条指令所需的全部时间
时钟周期也称为振荡周期,它表示了计算机主时钟的周期时间,
完成一个基本操作所需要的时间称为机器周期
一个指令周期 = 若干个机器周期 = 若干个时钟周期
8.指令流水概念,为什么需要指令流水,影响指令流水的因素
指令流水是为提高处理器执行指令的效率,把一条指令的操作分成多个细小的步骤,每个步骤由专门的电路完成
指令流水是为提高处理器执行指令的效率。
影响指令流水的因素:
-
结构相关(资源冲突):多条指令在同一时刻争用同一资源而形成的冲突。解决办法包括暂停后一条指令一个时钟周期,或设置两个独立存储器分别存放操作数和指令。
-
数据相关:在流水线中重叠执行指令时,后继指令需要用到前面指令执行的结果。解决方法包括后推法、定向技术(旁路技术、专用通路技术)等。
-
控制相关:由转移指令引起。解决办法包括尽早判别转移是否发生,尽早生成转移目标地址;预取转移成功或失败两个控制流方向上的目标指令;加快和提前形成条件码;提高转移方向猜准率等。
9.程序查询方式,程序中断方式,DMA方式的区别
-
数据传送方式:
程序查询方式是由CPU不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息。
程序中断方式在启动I/O设备后,CPU不查询设备是否已准备就绪,而是继续执行原来的程序。只有当I/O设备准备就绪并向CPU发出中 断请求后,CPU才会给予响应。
DMA(直接内存访问)方式则是由主存与I/O设备之间建立一条数据通道,在二者交换信息时,无需调用中断程序服务程序。
2.数据处理单位:
程序查询和程序中断传送数据的基本单位为字或字节。
DMA方式则以数据块为单位进行传送。
3.CPU与I/O设备的协作方式:
在程序查询方式下,CPU与I/O设备串行工作,即CPU主动查询I/O设备状态。
在程序中断方式下,CPU与I/O设备并行工作,但现行程序与I/O传送是串行进行的。此时,CPU被动接受I/O中断请求。
在DMA方式下,CPU与I/O设备并行工作,且现行程序与I/O传送也是并行进行的。当DMA与CPU同时请求访问主存时,CPU通常会将 总线的占有权让给DMA,因为DMA的优先级更高。
4.传输速度:
程序中断方式由于软件额外开销时间比较大,因此传输速度最慢。
程序查询方式软件额外开销时间基本没有,因此传输速度比中断快。
DMA方式基本由硬件实现传送,因此速度最快。
5.硬件成本:
程序查询接口硬件结构最简单,因此最经济。
程序中断接口硬件结构稍微复杂一些,因此较经济。
DMA控制器硬件结构最复杂,因此成本最高。
10.堆栈是什么?它有什么特点?功能有哪些?
(1)堆栈的概念
是若干个存储单元(或寄存器)的有序集合,它顺序地存放一组元素。
数据的存取都只能在栈顶单元内进行,即数据的进栈与出栈都只能经过栈顶单元这个“出入口”。⁰
堆栈中的数据采用“先进后出”或“后进先出”的存取工作方式。
(2)堆栈结构在计算机中的作用
具有堆栈结构的机器使用零地址指令,这不仅合指令长度短,指令结构简单,机器硬件简化。
实现程序调用,子程序嵌套调用和递归调用。
对于“中断”技术,堆栈更是不可缺少的,保存“断点”和“现场”。
(3)堆栈的操作
设数据进栈方向为从高地址向低地址发展,当向堆栈压入数据时,SP的内容先自动递减而指向一个新的空栈顶单元,再把数据写入此栈顶单元;当数据弹出堆栈时,立即读出SP所指向的栈顶单元内容,再把SP内容自动递增而指向新的栈顶位置。即
PUSH X; (SP)-1SP
(X)(SP)
POP X; ((SP))X
(SP)+1SP