论文部分内容阅读
随着计算机技术的快速发展和应用需求的持续增长,多屏显示技术得到广泛应用。在多媒体教学、多屏监控、公共窗口服务等领域,应用程序往往需要为多个使用者提供不同显示窗口,多屏显示技术能够高效地满足此类需求。 本文基于北京大学微处理器研发中心设计开发的PKUnity86系统芯片,针对该系统芯片显示子系统特性,设计并实现了多屏显示机制,完成的主要工作包括: 1.调研并总结了Linux平台当前主流的多屏显示机制,重点分析了硬件平台和软件平台对多屏显示机制的支持。在硬件平台,需要多通道的显示控制器和足够容量的显示存储器等支持多屏显示;在软件平台,需要X窗口系统和操作系统内核中显示驱动的支持。 2.设计了面向Linux操作系统的多屏显示机制,通过XRandR扩展实现多屏显示。该机制X窗口系统设备相关层的显示驱动框架采用直接硬件访问方式,即不通过操作系统内核而直接通过X窗口系统的标准函数接口控制显示控制器进行图形、光标和视频的多屏显示。 3.实现了硬件加速的多屏显示机制,包括通过XVideo扩展控制PKUnity86片内集成的显示控制器的视频显示层,实现视频加速;通过片内集成的图形处理单元拷贝视频解码后的数据来降低CPU负载;通过片内集成的视频编解码部件加速高清视频的解码。另外,还通过减少显示存储器与显示控制器输出视频缓冲区之间的数据拷贝,降低视频输出过程中的访存压力。 4.完成了多屏显示机制的功能测试和性能评测。实验结果表明,上述机制能够正确实现克隆模式和扩展模式的图形、光标和视频的多屏显示;使用硬件加速机制后,视频播放软件通过XVideo扩展的视频输出机制比使用纯软件机制的CPU占用率降低了29.65%,利用片内集成的视频编解码部件解码比纯软件解码CPU占用率降低了44.01%。