节点文献
新型异构多核处理器主核操作系统设计与实现
Design and Implementation of New Type of Master Core Operating System Based on Heterogeneous Multi-core Processor
【作者】 张震;
【导师】 吴翔虎;
【作者基本信息】 哈尔滨工业大学 , 计算机技术(专业学位), 2021, 硕士
【摘要】 随着计算机硬件和软件的发展,可计算设备变得越来越多样化。现代嵌入式平台在通用处理器的基础上,引入一些异构处理器来加速处理特定的计算任务。通常将通用处理器称为主核,用于特定计算任务的处理器称为从核。计算模型从传统的单机计算转向了多机系统、分布式系统的计算,因此设备间的通信能力以及多机任务之间的协作能力成为了现代计算机系统的基础服务。针对嵌入式设备的通信需求以及多机环境下的任务协作需求,本课题组提出了对象模型,并据此提出了在异构多核平台下工作的对象操作系统概念。本课题的工作是设计并实现运行在主核上的对象操作系统。本课题设计并实现了对象模型,包括对象管理模块、对象总线模块、端口管理模块、异构核间通信模块。对象管理模块定义了对象,描述了对象生命周期管理和调度策略。对象总线模块提供在多机环境下对象的寻址服务,屏蔽本地对象和非本地对象的访问差异。端口管理模块利用对象总线,为上层应用提供对象间通信能力。本课题根据不同的端口类型,设计并实现其内部机制。异构核间通信模块为异构核之间提供通信能力,本课题基于共享内存实现了一个通信协议用于异构核间通信。本课题设计并实现了对象操作系统的基础功能模块,包括内存管理模块、中断管理模块、时钟管理模块和内核服务模块。内存管理模块实现了物理内存的管理机制,包括内存块池管理机制和内存堆管理机制。中断管理模块设计了内核使用的中断接口,并实现了ARMv7处理器版本。时钟管理模块设计并实现了内核的时钟驱动以及软件定时器抽象。内核服务模块为内核其他组件的实现提供基础服务,包括互斥锁、信号量和格式化输出的服务。本课题将该对象操作系统移植到了ARM Cortex-A15处理器上,并且完成了部分AM5708硬件平台的功能移植。本课题最后使用四个综合示例来验证主核对象操作系统功能实现的正确性。本文首先介绍课题的来源和背景,解释本课题的现实意义。接下来本文详细介绍了对象操作系统主核部分需要实现的各个组件以及每个组件存在的作用,列出需要实现的软件任务。本文随后介绍对象操作系统各个模块的内部设计和实现。最后本文给出了基本功能的测试结果,利用四个示例将各个模块的功能综合起来展示系统的实现。
【Abstract】 With the development of computer hardware and software,computing devices have become more and more diverse.On the basis of general-purpose processors,modern embedded platforms introduce some heterogeneous processors to accelerate the processing of specific computing tasks.Generally,general-purpose processors are called master cores,and processors used for specific computing tasks are called slave cores.The computing model has shifted from traditional single-computer computing to computing in multi-computer systems and distributed systems.Therefore,the communication between devices and the collaboration between multi-computer tasks have become the basic services of modern computer systems.In response to the communication requirements of embedded devices and the collaboration requirements in a multi-computer environment,this research group proposed an object model,and based on this,proposed the concept of object operating system that works on a heterogeneous multi-core platform.The work of this subject is to design and implement the operating system running on the master core.This subject designs and implements object model,including object management module,object bus module,port management module,and heterogeneous inter-core communication module.The object management module defines the object and describes the life cycle management and scheduling strategy of the object.The object bus module provides addressing services for objects in a multi-computer environment,shielding the difference in access between local objects and non-local objects.The port management module uses the object bus to provide communication capabilities between objects for upper-level applications.This subject designs and implements its internal mechanism according to different port types.The communication module between heterogeneous cores provides communication capabilities between heterogeneous cores,implements a communication protocol for heterogeneous core communication based on shared memory.This subject designs and implements the basic functional modules of the object operating system,including memory management module,interrupt management module,clock management module and kernel service module.The memory management module implements the physical memory management mechanism,including the memory block pool management mechanism and the memory heap management mechanism.The interrupt management module designs and implements the interrupt interface used by the kernel.The clock management module designs and implements the kernel clock drive and software timer abstraction.The kernel service module provides basic services for other components of the kernel,including mutexes,semaphores,and formatted output services.In this subject,the object operating system was transplanted to the ARM CortexA15 processor,and the part of transplantation of the AM5708 hardware was completed.At the end of this subject,four comprehensive examples are used to verify the correctness of the object operating system’s implementation.This article first introduces the source and background of the subject,and explains the practical significance of this subject.Next,this article details the components that need to be implemented the object operating system and the role of each component,and lists the software tasks that need to be implemented.This article then introduces the internal design and implementation of each module.Finally,this article gives the test results of the basic functions,using four examples to show the realization of the system.
【Key words】 Operating system design and implementation; Object model; Communication; ARM Cortex-A15;
- 【网络出版投稿人】 哈尔滨工业大学 【网络出版年期】2022年 03期
- 【分类号】TP332
- 【被引频次】1
- 【下载频次】175