1.DMA方式与中断方式的主要区别是什么?
(1)中断方式是在数据缓冲寄存器满之后发中断要求CPU进行中断处理;
DMA方式则是在所要求转送的数据块全部传送结束时要求CPU进行中断处理。(大大减少了CPU进行中断处理的次数)
(2)中断方式的数据传送是在中断处理时由CPU控制完成的;
DMA方式是在DMA控制器的控制下不经过CPU控制完成的。
2.通道控制方式与DMA方式的主要区别是什么?
(1)在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制;
在通道方式中,这些都由专管输入输出的硬件—通道来进行控制。
(2)在DMA方式中,每台设备至少一个DMA控制器;
在通道方式中,一个通道可以控制多台设备与内存进行数据交换。
(进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度)
Ps. 通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。
3.内中断与外中断 ?
(1)内中断:指在处理机和内存内部产生的中断,一般称为陷阱(Trap)。包括程序运算引起的各种错误,例如地址非法、校验错、页面失效、存取访问控制措、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特权指令、分时系统中的时间片中断以及从用户态到核心态的切换等。
(2)外中断:指来自处理机和内存外部的中断,狭义上一般被称为中断。包括I/O设备发出的I/O中断、外部信号中断、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断等。
以上中断和陷阱都是可以看作是硬中断,因为这些中断和陷阱要通过硬件产生相应的中断请求。
那么软中断是什么?
软中断:指通信进程之间用来模拟硬中断的一种信号通信方式。
在中断源发中断请求或软中断信号后,CPU或接受进程在适当的时机自动进行中断处理或完成软中断信号所对应的功能。
即在接收软中断信号的进程不一定正好在接收时占有处理机,由此导致两种情况。
(1)正好占有处理机,与中断处理相同,该接收进程在接收到软中断信号后将立即转去执行该软中断信号所对应的功能。
(2)尚未占有处理机,相应的处理必须等到该进程得到处理机之后才能进行。