当前位置: 首页 > 专利查询>英特尔公司专利>正文

多线程环境中的读锁定失败控制制造技术

技术编号:2876499 阅读:285 留言:0更新日期:2012-04-11 18:40
管理存储器访问随机访问存储器,包括取得读锁定存储器访问请求和当读锁定存储器访问请求正在请求访问开锁的存储器位置并且读锁定丢失队列包含至少一个读锁定存储器访问请求时,将所述读锁定存储器访问请求放置在读锁定丢失队列的末尾。(*该技术在2020年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及读锁定(read lock)存储器访问。
技术介绍
当计算机指令(线程)需要访问计算机中一个存储器位置时,就进入到存储器控制器。存储器访问指令可以请求对一个特别的存储器位置的读锁定。这种读锁定能防止其它指令访问该存储器位置,直到得到授予该存储器位置的读开锁指令。专利技术概述根据本专利技术的一个方面,管理存储器访问随机访问存储器的方法,包括取得读锁定存储器访问请求,和当读锁定存储器访问请求正在请求访问未锁定(unlock)的存储器位置和读锁定丢失队列(miss queue)包含至少一个读锁定存储器访问请求时,将读锁定存储器访问请求放置在读锁定丢失队列的末尾。由以下的说明和权利要求书,其它的优点成为显然。附图简要说明附图说明图1表示使用基于硬件的多线程处理器的通信系统的方框图。图2表示在基于硬件的多线程处理器中使用的等待时间有限操作的存储器控制器的方框图。图3表示在基于硬件的多线程处理器中存储器控制器的操作流程图。图4表示在基于硬件的多线程处理器中存储器控制器的操作流程图。实施专利技术的最佳形态参照图1,通信系统10包括平行的基于硬件的多线程处理器12。所述基于硬件的多线程处理器12耦合到总线、例如外设元件接口(PCIperipheralcomponent interconnect)总线14,存储器系统16,第2总线18。这种系统10对于能分解成平行子任务或者功能的任务特别有用。特别,基于硬件的多线程处理器12对于面向带宽而不是面向等待的任务是有用的。所述基于硬件的多线程处理器12具有多个微引擎22a-22f,每个具有多硬件控制的线程能同时激活,并能关于任务独立地工作。基于硬件的多线程处理器12还包括中央控制器20,帮助装载用于所述基于硬件的多线程处理器12的其它资源的微码控制,并执行其它的通用计算机类型功能,例如处理协议、异常和对于数据包处理的额外支持,其中微引擎22a-22f对数据顺利完成用于例如边界条件的更加详细的处理。在一个实施例中,处理器20是基于Strong Arm(Arm是Arm Limited,United Kingdom的商标)的结构。通用微处理器20具有操作系统。通过所述操作系统,所述处理器20能调用函数以便在微引擎22a-22f上运行。所述处理器20能使用任何支持的操作系统,最好是实时操作系统。对于执行例如Strong Arm结构的核心处理器,能使用例如MicrosofttNT的实时操作、VXWork和μCUS、以及因特网(Internet)上可得到的免费件操作系统那样的操作系统。基于硬件的多线程处理器12还包括多个功能微引擎22a-22f。每个功能微引擎(微引擎)22a-22f保存多个硬件方式的程序计数器以及与程序计数器相关的状态。有效的是,相应的多个线程组能同时在每个微引擎22a-22f上激活,而在任何时刻仅有一个实际上运行。在一个实施例中,如图所示有6个微引擎22a-22f。每个微引擎22a-22f能处理4个硬件线程。所述6个微引擎22a-22f用共享资源操作,包括存储器系统16和总线接口24和28。所述存储器系统16包括同步动态随机访问存储器(SDRAM)控制器26a和静态随机访问存储器(SRAM)控制器26b。SDRAM16a和SDRAM控制器26a典型地用于处理大的数据量,例如处理来自网络数据包的网络有效负载。SRAM16b和SRAM控制器26b用于在网络中执行低等待、快速访问任务,例如访问查找表、用于核心处理器20的存储器等。所述6个微引擎22a-22f基于数据特征,对于SDRAM16a或者SRAM16b都能进行访问。因此,低等待、低带宽数据存储到和取自SRAM16b,而对于等待时间不重要的高带宽数据存储到和取自SDRAM16a。所述微引擎22a-22f对于SDRAM控制器26a或SRAM控制器26b都能执行存储器访问指令。基于硬件多线程处理器优点能由对SRAM或者SDRAM存储器的访问进行说明。例如,从微引擎22a-22f由线程_0请求的SRAM访问,使SRAM控制器26b初始化对SRAM16b的访问。SRAM控制器26b控制对SRAM总线27的仲裁、访问SRAM16b、从SRAM16b取得数据、以及将数据返回到请求的微引擎22a-22f。当SRAM16b访问时,如果微引擎、例如22a仅有能够运行的单个线程,则微引擎休止,直到数据从SRAM16b返回。在每个微引擎22a-22f中的硬件环境交换,使具有唯一程序计数器的其它环境在相同的微引擎中执行。因此,另一个线程、例如线程_1能在第1线程、例如线程_0等待读数据返回时起作用。在执行期间,线程_1能访问SDRAM存储器16a。当线程_1运行在SDRAM单元26a和线程_0运行在SRAM单元26b时,新的线程、例如线程_2能在微引擎22a中运行。线程_2能运行一定的时间,直到它需要访问存储器或者进行某些其它长的等待时间操作、例如对总线接口的访问。因此,处理器12能同时地具有总线操作、SRAM操作和SDRAM操作,并由一个微引擎22a完成全部或者进行操作,以及再使多一个线程可用于在数据通道中处理更多的工作。硬件环境交换也同步任务的完成、例如,2个线程能命中相同的共享资源、例如SRAM16b。当它们完成来自一个微引擎线程环境请求的任务时,每个这些分离的功能单元、例如FBUS接口28、SRAM控制器26b和SDRAM控制器26a报告返回运行完成的信号标记。当微引擎22a-22f收到标记时,微引擎22a-22f能决定打开哪一个线程。基于硬件多线程处理器12的应用的一个例子是用作网络处理器。作为网络处理器,基于硬件多线程处理器12接口到网络器件,例如介质访问控制器器件、例如10/100BaseT八进制的MAC 13a或者千兆位因特网器件13b。一般地说,作为网络处理器,基于硬件多线程处理器12能接口到任何类型的通信器件或者接收/发送大量的数据的接口。如果通信系统10在网络应用中起作用,则能从器件13a、13b接收多个网络数据包,并以平行方式处理这些数据包。用基于硬件多线程处理器12能独立地处理每个网络数据包。处理器12的应用的另一个例子是作为页面打印引擎处理器,或者作为例如RAID盘存储的存储子系统。进一步的应用还包括匹配引擎。例如在证券业中,电子交易的出现要求使用电子匹引擎,以便匹配买卖之间的定单。在系统10上能完成这些和其它的平行型任务。将每个功能单元,例如、FBUS接口28、SRAM控制器26b和SDRAM控制器26a。耦合到一个或者多个内部总线。内部总线是双32位总线(例如一条总线用于读和一条总线用于写)。还构成基于硬件多线程处理器12,使得在处理器12中的内部总线的带宽的和超过耦合到处理器12的外部总线的带宽。处理器12包括内部核心处理器总线32、例如ASB(Advanced System Bus)总线,将处理器核心20耦合到存储器控制器26a、26b和耦合到ASB变换器30。前述ASB总线32是与Strong Arm处理器核心一起使用的所谓的AMBA总线的子集。前述处理器12还包括个人总线34,将微引擎单元耦合到SRAM控制器26b、ASB变换器30和FBUS接口28。存储器总线38将存储器控制器本文档来自技高网...

【技术保护点】
一种管理存储器访问随机访问存储器的方法,其特征在于,包括 取得读锁定存储器访问请求,和 当读锁定存储器访问请求正在请求访问开锁的存储器位置并且读锁定丢失队列包含至少一个读锁定存储器访问请求时,将所述读锁定存储器访问请求放置在读锁定丢失队列的末尾。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:G沃尔里奇D伯恩斯坦因MJ阿迪莱塔W威勒D卡特
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1