本发明专利技术的名称是“提供用户级多线程操作的方法和系统”。公开一种用于提供用户级多线程操作的方法和系统。根据本发明专利技术技术的方法包括接收编程指令以通过指令集体系结构(ISA)来执行一个或多个共享资源的线程(Shred)。通过ISA来配置一个或多个指令指针;并利用微处理器同时执行这一个或多个Shred,其中该微处理器包括多个指令定序器。
【技术实现步骤摘要】
本专利技术的实施例涉及计算机系统领域。具体来说,本专利技术的这些实施例涉及用于提供用户级多线程操作的方法和系统。
技术介绍
多线程操作是程序或操作系统一次执行多于一个指令序列的能力。对程序或系统服务的每个用户请求(其中用户也可以是另一个程序)是作为具有各自身份的线程来被持续跟踪的。当程序代表对该线程的初始请求而工作并由其他请求中断时,代表该线程的工 作的状态被持续跟踪,直到该工作完成为止。计算机处理的类型包括单指令流单数据流,这是包括单指令流的常规串行冯·诺伊曼计算机。第二种处理类型是单指令流多数据流处理(SMD)。该处理方案可以包括多个算术逻辑处理器和单个控制处理器。每个算术逻辑处理器在锁定步骤中对数据执行操作,并由控制处理器对其同步。第三种类型是多指令流单数据流(MISD)处理,这包括通过执行不同指令流的处理器的线性阵列处理相同的数据流。第四种处理类型是多指令流多数据流(MIMD)处理,它使用多个处理器,每个处理器执行各自的指令流以处理馈送到每个处理器的数据流。MMD处理器可以具有多个指令处理单元、多个指令定序器以及由此具有多个数据流。今天的多线程微处理器采用的编程模型与传统共享存储器的多处理器相同多个线程被编程为好像它们运行在独立的CPU上一样。线程之间的通信通过主存储器来执行,并且线程创建/摧毁/调度由操作系统执行。多线程操作不是以程序员可以直接访问线程的结构可视方式提供的。
技术实现思路
根据第一实施例,本专利技术提供了一种在处理器中用于提供用户级多线程的设备,包括第一资源,用于为将由第一非特权用户指令创建的第一共享资源的线程(shred)保存每个共享资源的线程的应用状态;包括所述第一资源的副本的第二资源,所述第二资源用于为将由第二非特权用户指令创建的第二共享资源的线程保存每个共享资源的线程的应用状态;和至少可由所述第一共享资源的线程通过第三非特权用户指令直接访问以及所述第二共享资源的线程通过第四非特权用户指令直接访问的共享的资源,用于在所述第一共享资源的线程和所述第二共享资源的线程之间提供通信。附图说明结合附图根据下文的详细说明,将更全面地理解和认识本专利技术的实施例,其中图I图示根据本专利技术一个实施例利用本专利技术方法和设备的示范计算机系统的框图;图2图示根据本专利技术一个实施例的示范芯片级多处理器;图3图示根据本专利技术一个实施例的示范同时多线程处理器;图4图示根据本专利技术一个实施例的示范非对称多处理器;图5图示根据本专利技术一个实施例用于提供用户级多线程操作的示范执行环境;图6图示根据本专利技术一个实施例的Shred与共享存储器的线程之间的示范关系;以及图7图示根据本专利技术一个实施例的用户级多线程操作的示范过程的流程图。具体实施例方式公开一种用于提供用户级多线程操作的方法和系统。根据本专利技术技术的方法包括接收编程指令以通过指令集体系结构(ISA)来执行一个或多个共享资源的线程(Shred)。通过ISA来配置一个或多个指令指针;并且利用微处理器同时执行这一个或多个Shred,其中该微处理器包括多个指令定序器。在下文描述中,出于解释的目的提出特定的术语。但是,对于本领域技术人员来说,显然这些特定的细节并非是必不可少的。下文详细描述中的一些部分是依据对计算机存储器内的数据位进行操作的算法和符号表示来给出的。这些算法描述和表示是数据处理领域的技术人员向本领域的其他技术人员最有效地表达其工作内容的方式。在本文中以及一般来说,算法被构想为是促成期望结果的独立操作序列。这些操作是需要以物理方式操纵物理量的那些操作。通常但不一定,这些量采用能够被存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的形式。以位、值、元素、符号、字符、术语、数字等提及这些信号时常被证明是方便的,主要是因为常用。但是切记,所有这些和相似的术语均与适合的物理量相关联,并且仅仅是应用于这些量的便于使用的标号。除非明确说明,否则从上面的讨论中来看显然会意识到,整个说明书中,使用诸如“处理”、“计算”、“演算”、“确定”、“显示”等术语的讨论涉及计算机系统或类似电子计算装置的动作和/或处理,这些装置把在计算机系统的寄存器和存储器中的表示成物理(如电子)量的数据处理和/或转换成在计算机系统的存储器、寄存器或其它此类信息存储、传输、或显示装置内的同样表示成物理量的其它数据。所提出的本专利技术实施例还涉及一种用于执行本文的操作的设备。该设备可以是针对所需目的专门设计的,或它可以包括由计算机中存储的计算机程序选择性激活或重新配置的通用计算机。此类计算机程序可以存储在计算机可读存储介质中,例如但不限于包括软盘、光盘、CD-ROM和磁光盘的任何类型的磁盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPR0M、磁卡或光卡、或适于存储电子指令的任何类型的介质,并且它们均耦合到计算机系统总线。本文提出的算法和显示并不固有地与任何特定的计算机或其他设备相关。多种通用系统可以结合根据本专利技术原理的程序来使用,或构造更专用的设备来执行所必需的方法可能证明是便利的。根据下文描述,将明了用于各种此类系统的必需的结构。此外,本专利技术的一个实施例不是参考任何特定的编程语言来描述的。将认识到,可以使用多种编程语言来实施本文所描述的本专利技术实施例的原理。在本说明书中所用的“用户”描述用户级软件,如应用程序、非特权代码和相似的软件。用户级软件与操作系统或相似的特权软件是不同的。根据本专利技术的一个实施例,以下描述适用于如上所述的MMD处理器。图I图示根据本专利技术一个实施例利用本专利技术方法和设备的示范计算机系统100的框图。计算机系统包括处理器105。芯片组110为系统100提供存储和I/O功能。更具体地来说,芯片组110包括图形和存储器控制器集线器(GMCH) 115。GMCH 115作为与处理器105通信的主控制器,还作为主存储器120的控制器。根据本专利技术一个实施例,处理器105使多线程操作能够扩展到用户级。GMCH 115还提供至与之耦合的高级图形端口(AGP)控制器125的接口。芯片组110还包括执行大量I/O功能的I/O控制器集线器(ICH) 135。ICH135耦合到系统管理总线(SM总线)140。ICH 135耦合到外设组件互连(PCI)总线155。超级1/0( “SID”)控制器170耦合到ICH 135,以提供至诸如键盘和鼠标175的输入装置的连接性。通用I/O(GPIO)总线195耦合到ICH 135。如图所示,USB端口 200耦合到ICH 135。可以在该总线上将如打印机、扫描仪、游戏杆等的USB设备添加到系统配置。集成驱动器电子部件(IDE)总线205耦合到ICH 135,以将IDE驱动器210连接到计算机系统。在逻辑上来说,ICH 135看上去像是单个物理组件内的多个PCI设备。包括在处理器105中的是指令集体系结构。指令集体系结构(ISA)是诸如处理器105的微处理器的一种抽象模型,它由状态单元(寄存器)和对那些状态单元操作的指令组成。指令集体系结构通过为程序员和微处理器设计人员提供微处理器行为的抽象规范而作为软件与硬件之间的分界。硅芯片上可提供的晶体管数量上的发展已经能够将多线程操作引入到通用微处理器。多线程操作可采用两种不同的方式来实施芯片级多处理器(CMP)和本文档来自技高网...
【技术保护点】
一种在处理器中用于提供用户级多线程的设备,包括:第一资源,用于为将由第一非特权用户指令创建的第一共享资源的线程(shred)保存每个共享资源的线程的应用状态;包括所述第一资源的副本的第二资源,所述第二资源用于为将由第二非特权用户指令创建的第二共享资源的线程保存每个共享资源的线程的应用状态;和至少可由所述第一共享资源的线程通过第三非特权用户指令直接访问以及所述第二共享资源的线程通过第四非特权用户指令直接访问的共享的资源,用于在所述第一共享资源的线程和所述第二共享资源的线程之间提供通信。
【技术特征摘要】
2004.03.31 US 10/816,1031.ー种在处理器中用于提供用户级多线程的设备,包括 第一资源,用于为将由第一非特权用户指令创建的第一共享资源的线程(shred)保存每个共享资源的线程的应用状态; 包括所述第一资源的副本的第二资源,...
【专利技术属性】
技术研发人员:E·T·格罗乔夫斯基,H·王,J·P·沈,P·H·王,J·D·科林斯,J·P·赫尔德,P·坎杜,R·莱维亚坦,T·F·魏,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。