CPU通过接口对外设控制实现信息传输的方式有几种。
(1)程序查询方式。在这种方式CPU通过I/O指令询问指定外设当前的状念,如果外设准备就绪则进行数据的输人或输出,否则CPU等待,循环查询。这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速率远远高于外设,因此通常处于等待状态,工作效率很低。
(2)中断处理方式。在这种方式下,CPU不再被动等待,而是可以执行其他程序。一旦外设的数据准各就绪就可以向CPU提出中断服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后再继续执行原来被中断的程序。中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求,但需要为每个I/O设各分配一个中断请求号和编写相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理设各提出的中断请求,例如设置中断屏蔽、中断请求优先级等。此外,中断处理方式的缺点是每传送一个字符都要进行中断,在中断处理程序中还需保留和恢复现场以便能继续原程序的运行,工作量较大。如果需要大量数据交换,系统的性能会很低。
由于计算机的部分中断号码的使用是重复的,在使用ISA卡的情形下,这种情形是不允许的,在使用POI卡的情形下,中断是可以共享的。只要是使用PCI接口的卡片,在引发中断的同时,都可以正确地得到应有的通知,而不必担心中断是否会被其他的设各夺去,这是因为PCI接口芯片在处理的关系。
ISA卡在取得中断信号后,并不会马上释放此中断信号;而PCI卡取得中断信号后,马上将中断信号释放,故PCI卡在中断的使用上要比ISA适配卡灵活。
(3)DMA(直接存储器存取)传送方式。DMA明显的一个特点是采用一个专门的硬件电路DMA控制器来控制内存与外设之间的数据交换,无需CPU介人,大大提高了CPU的工作效率。在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制权,如果CPU允许则将总线控制权交出。因此,在数据交换时,总线控制权由DMA控制器掌握。传输结束后,DMA控制器将总线控制权交还给CPU。
使用DMA的时间就不能太长,否则可能使得CPU无法处理内存,因为DMA在使用过程中占用了总线,CPU在这时候不能对总线作其他操作,也就是说,此时的CPU无法存取资料;由于DMA的传输速率非常快,比CPU或软件的操作都还要快,在传输大量实时数据时(如音乐、语言),此种方式是相当适合的。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。