用于多处理器阵列的线程感知分布式软件系统技术方案

技术编号:2839667 阅读:220 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种具有多可编程处理器的单芯片结构。每个处理器具有小的并且快速的基于内核的操作系统,该系统具有仅执行多重处理方式的基本功能的原语。很多分布式线程可以在很多处理器上同时执行,并允许设备象单个单片系统一样进行编程。

【技术实现步骤摘要】

本专利技术涉及单芯片阵列中的多个分布式处理器,尤其涉及用于在多处理器中执行基本功能的并行处理的小的、基于内核的操作系统。
技术介绍
嵌入式系统包括特定目的计算系统,典型地由其控制的设备完全封装。嵌入式系统和设备越来越流行并且数量日益增加地被使用在办公和家庭环境中。嵌入式系统的例子范围从便携式音乐播放器到对类似通信网络的系统的实时控制。由于嵌入式系统变得更加智能,多处理器、分布式结构正在变成主导,而非少数。本专利技术提供了一种具有多个CPU核心的单芯片结构,所述多个CPU核心是可编程的指令组处理器,每个处理器在微内核(或外核(exokernel))分布式结构中运行非常快速的、轻量级的操作系统(OS)镜像。基于内核(kernel)的操作系统通常实现一些操作系统的硬件抽象以隐藏潜在的复杂度,并为硬件提供简单并统一的接口。有四种主要类型的基于内核的操作系统,即单内核(monolithic kernels)、微内核、混合内核、以及外核。本专利技术涉及微内核和/或外核。微内核提供一小组简单的硬件抽象并利用称为应用软件的服务器来提供更多的功能。外核提供最小的抽象,允许低级硬件访问。在外核系统中,库操作系统提供典型地存在于其他基于内核的系统中的抽象。相信没有现行的解决方案提议使用带有运行在多阵列处理器中的分布式微内核或外核的片上结构,其中微内核(外核)在每个处理器内部运行。公认的,本专利技术本身的每个方面,即多处理器、微内核及分布式处理并不是独特的,然而将这些方面结合成独特而有用的结构的方法是新的。尽管下面的讨论中使用术语微内核,术语超微(纳)内核或外核操作系统可能能更确切地说明本专利技术的主要概念。本专利技术之前,计算能力和运营商级可用性都在众所周知的标准多架路由器结构中的不同的“包”中出现过,其中,计算能力通过向机架/机箱内增加更多的处理卡或线卡而增加,而运营商级特征(高可用性、故障恢复、自愈等)从在线卡或处理卡的每个处理器上运行分布式微内核获得。在可重配置的计算系统中有些类似的技术,该系统执行一组复制的块(tile),其中每个块包括通过静态二维互连连接的处理元件和少量存储器。每个块包括简单的类RISC处理器、少量可配置的逻辑及用于指令和数据的一部分存储器。每个块具有以宽通道点对点相互连接的方式与该块连接的关联的可编程开关。专有的编译器区分这些块中的指令级并行处理并静态地调度所述相互连接上的通信。这现有技术提案可以看作巨大的FPGA,由于低级硬件的细节非常清楚,使编译器编制(orchestration)也很容易。然而,在这些块上没有OS微内核运行。在嵌入系统的另一现有技术的构思中,使用的是中央分发器而不是如本构思中使用的分布式微内核操作系统。
技术实现思路
本专利技术探索将多处理器和网络处理器的计算能力与高级分布式编程技术结合起来,不需要每个处理器独立的编码,而提供单个的单片编程环境,这样看起来像单CPU。这样,难题是在提供自动处理、共享存储器和线程管理时,实现多核芯片的计算能力的增加而又不导致巨大的开发成本。因此,根据本专利技术的第一方面,在集成电路上提供微处理器阵列,每个微处理器具有基于内核的操作系统,该操作系统具有用于仅执行并行处理的基本功能的软件原语(software primitive)。根据本专利技术的第二方面,提供处理系统,包括集成电路上的多处理器阵列,每个微处理器具有用于执行并行处理基本功能的基于内核的操作系统;外部存储器和控制器;用于在微处理器和外部存储器及控制器之间进行通信的外围接口。根据本专利技术的另一方面,提供在通信系统中处理数据包的方法,该通信系统使用集成电路上的微处理器阵列,每个微处理器具有用于执行并行处理基本功能的基于内核的操作系统,该方法包括基本的并行处理功能的协同执行,该并行处理功能由所述阵列的独立的微处理器执行。附图说明下面参考附图对本专利技术进行更加详细的描述,其中附图为单芯片结构的高级视图。具体实施例方式如图1所示,多处理器被分布在单芯片结构上。与每个微处理器相关联的是本地数据存储器、总线接口和数据缓存及指令缓存。每个处理器具有基于内核的操作系统。此外,芯片外元件包括存储器控制器和外部RAM。本专利技术广泛涉及为多处理器设备提供基于微内核的“操作系统”的芯片结构、硬件和软件机制。本专利技术中的术语操作系统指带有用于支持线程构造、通信和硬件接口的设备的简单硬件抽象层。该结构努力实现更通用的硬件和软件解决方案,在性能上比普通的结构更高级,并且足够的通用以适用于各种类型的软件应用和快速应用程序开发。该软件系统似乎就是向程序员隐藏了分布式计算和多处理器技术的单一的镜像操作系统。本专利技术不是关于并行处理方式(即,将单一任务分成多个部分)而是多重处理方式(用于同时处理多个不同的包)。本专利技术是关于允许在很多小CPU上同时执行多个分布式线程,每个CPU具有小内核,同时允许该设备作为单个单片系统进行编程。这里没有用于线程的中央分发/调度,它以协同、对等的方式完成。前面提到的现有技术NPU并不具有这种能力并且在其核上不运行小O/S(即,没有用户模式指令空间并且所有程序驻留在数据存储器中)。在本专利技术中,小OS具有能使线程透明地运行、停止、初始化、复制和移动的功能,从数据存储器中读出线程代码以使该设备能够执行的应用程序不受到限制。本专利技术考虑的小OS内核是小于8K的软件内核,速度快并且其仅包含用于分布处理的最基本的软件原语进程/线程库、调度、消息传送服务、计时器、信号、时钟、中断处理器、信标(semaphore)、任务发现和发送以及代码加载。全部其他OS部件,例如驱动器、文件系统、协议栈等,如果在运行时间需要的话就加载,并且在用户空间、微内核外部作为后台驻留程序程序(daemon)/服务器来运行,如同独立的受保护存储器的进程。芯片上的微内核协同决定谁来运行这些应用软件&用户程序中的哪一个。如图1所示,芯片中的每个处理器独立地执行来自本地指令和数据存储器的微内核代码。微内核具有固定的数据资源,因此数据存储器具有小的固定的容量。消息传送和其他分布式计算机制用来使设备执行其功能并且将这些并行操作对程序员隐藏。处理器通过硬件支持的软件中的共用资源共享算法来共享一些资源。通过消息接发,每个微处理器确定其已经完成了处理任务,并且可能有下一个需要处理的任务。对等的处理器将接收并确定其能够继续处理任务并且接受用于当前数据的堆栈。由于初始处理器已经完成处理,它将开始监听将要承担的下一任务的消息。每个处理器不需要接受全部任务,因为处理工作的分布可以在程序设计层或者在资源管理层确定。如果处理器要改变任务,可以通过向库管理消息请求代码块来加载新的应用程序代码。多阵列处理器结构不排除在每个CPU中使用外核,代替微内核镜像。外核是将微内核概念发挥到极点的一种尝试,使内核除了对硬件进行多路复用外几乎不做什么事情。在外核方法中,内核仅以安全方式通过低级接口简单地输出硬件资源。高级分离和功能由在用户级上执行的库操作系统提供。这种结构通过对库进行扩展、专业化或替代,允许操作系统服务的特定于应用程序的用户定制,得到性能上的好处。本专利技术的结构从微内核(外核)操作系统和多处理器设备带来益处,提供了新的有益效果。这些包括1、大规模计算能力和多处理。通过增加处理器的数本文档来自技高网
...

【技术保护点】
一种集成电路上的微处理器阵列,每个所述微处理器具有基于内核的操作系统,所述操作系统具有用于执行多重处理方式的基本功能的软件原语。

【技术特征摘要】
US 2005-11-16 11/274,3021.一种集成电路上的微处理器阵列,每个所述微处理器具有基于内核的操作系统,所述操作系统具有用于执行多重处理方式的基本功能的软件原语。2.如权利要求1所述的微处理器阵列,其中基于内核的操作系统是微内核。3.如权利要求1所述的微处理器阵列,其中于内核的操作系统是外核。4.如权利要求1所述的微处理器阵列,其中内核的基本功能包括进程/线程库功能。5.如权利要求1所述的微处理器阵列,其中内核的基本功能包括调度功能。6.如权利要求1所述的微处理器阵列,其中内核的基本功能包括消息传递功能。7.如权利要求1所述的微处理器阵列,其中内核的基本功能包括计时器功能。8.如权利要求1所述的微处理器阵列,其中内核的基本功能包括信令功能。9.如权利要求1所述的微处理器阵列,其中内核的基本功能包括时钟功能。10.如权利要求1所述的微处理器阵列,其中内核的基本功能包括中断处理器功能。11.如权利要求1所述的微处理器阵列,其中内核的基本功能包括信标功能。12.如权利要求1所述的微处理器阵列,其中内核的基本功能包括发现和发送功能13.如权利要求...

【专利技术属性】
技术研发人员:LM塞尔吉B麦克布赖德DJ威尔松G哈内斯
申请(专利权)人:阿尔卡特公司
类型:发明
国别省市:FR[法国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1