论文部分内容阅读
设备驱动是特定硬件设备或架构平台与操作系统交互的关键支持性软件部件,对硬件设备或架构平台的操作系统兼容性具有决定性影响。PKUnity86系统芯片独特的AMBA-x86架构使得针对其内部集成的基于AMBA总线设备Linux驱动的开发面临一系列特殊问题与挑战,这在PKUnity86系统芯片对Linux操作系统的支持方面是一个极大的障碍。本文基于以上背景,对面向PKUnity86系统芯片中AMBA总线设备的Linux驱动相关问题进行研究,设计并实现相应的解决方案。论文主要工作包括以下三个方面。 第一,结合PKUnity86系统芯片的架构特点,分别对x86体系结构的设备访问方式、存储系统与Cache相关机制、PCI总线设备与驱动架构,以及AMBA总线的架构特性、面向系统芯片的驱动架构支持等相关技术进行了研究,对相关问题进行定位,并针对深层次架构原因进行分析。 第二,对PKUnity86系统芯片中AMBA总线设备Linux驱动进行方案设计与实现,其中主要包括基于Platform总线驱动与PCI总线驱动的驱动架构机制设计与实现;针对PKUnity86系统芯片独特存储系统架构,对GPU及其它硬件模块的Cache一致性机制设计与实现;设备驱动的模块化机制方案设计与实现等。 第三,在上述工作基础上,基于PKUnity86系统芯片的Linux操作系统环境对MMC/SD控制器、以太网控制器等设备及其驱动的性能和稳定性进行评测,验证了本文相关方案设计与实现的有效性以及可靠性。此外,还评估了PKUnity86系统芯片存储系统中,外设访存性能指标,为后续开发工作提供参考。 本文结合PKUnity86系统芯片的硬件特性与软件资源,高效、可靠地实现了其AMBA总线设备的Linux驱动,并解决了其存储系统带来的Cache一致性问题,另外通过驱动模块化显著提高了其对基于传统x86体系结构的通用Linux发行版的适应性。本文中相关方法与结果对于今后同平台操作系统开发具有一定指导意义,并能为类似平台的相关工作提供借鉴和参考。