说明并行的硬件多线程处理器。该处理器包含一个谐调系统功能的通用处理器和支持多个硬件线程和多个微引擎。该处理器还包含具有第1存储控制器和第2存储控制器的存储器控制系统,第1存储控制器根据存储器访问是指向偶数存储组还是指向奇数存储组,将存储器访问加以分类,第2存储控制器则根据存储器访问是读访问还是写访问,对存储器访问进行优化。(*该技术在2020年保护过期,可自由使用*)
【技术实现步骤摘要】
并行处理器中的多线程执行本申请是申请日2000. 08. 17,申请号为00815246. 2(国际申请号为PCT/US 00/22650),名称为"在并行处理器中执行多线程"的申请的分案申请。
技术介绍
本专利技术涉及 一 种并行处理器。并行处理是在计算处理中进行并发事件信息处理的有效形式。并行处理需 要在计算机同时执行许多程序,与串行处理不同。在并行处理器中的环境中, 并行处理涉及同时做多件事。与在一个站串行执行全部任务的串行范例或在专 门的站执行任务的流不机不同,并行处理配备多个站,每个站能执行全部任务。 也就是说,全部的站或多个站对问题的相同或共同要素一般同时且独立地工 作。有些问题适合用并行处理解决。因此,计算机处理类型包括单指令流单数流型,串行的冯.诺依曼型计算 机中存在单一指令流。第2种处理类型是单指令流多数据流处理(SIMD)。这 种处理能有多个算术逻辑处理器和一个控制处理器。每一处理器在锁步执行数 据操作。这些处理器由控制处理器进行同步。第3种类型是多指令流单数据流 (MISD)处理。这种处理具有流经执行不同指令流的线性处理器阵的相同数据 流。第4种是多指令流多数据流(MIMD)处理。这种处理采用多个单元器,每 -一处理器执行自己的指令流,以处理供给各处理器的数据流。多指令流多数据 流(M頂D)处理器可具有若干指令处理单元,因而有若干数据流。
技术实现思路
根据本专利技术的一个方面,微控制功能执行单元包含存放微程序的控制存储 器和保持多个微程序计算器的微引擎控制器。该单元还包含对指令进行译码的 译码逻辑和一个现境事件仲裁器,该仲裁器响应外部标志,判断微控制功能执 行单元中可执行的多个线程中的哪一个升级到执行状态。 本专利技术的一个或多个方面可提供以下一个或多个优点。 微引擎能处理多个硬件线程。每一微引擎保持多个硬件形式的程序计数器和该程序计数器相关联的状态。实际上,相应的多个线程组可在一微引擎上同 时工作,但任何时仅有一个线程真正运作。硬件环境对换使任务完成同步。举 例来说,2个线程可试图存取相同共用资源。资源完成一个微引擎线程环境所 请求的任务时,该资源便回报一通知操作完成的标志。微引擎收到该标志时, 便可判定开通哪一线程。硬件多线程处理可用于使微引擎上的第1线程启动例如存取存储器这种事 务。存储器存取期间,若微引擎例如仅具有一个可运作的线程,该微引擎就会 休眠直到从存储器返回数据为止。通过在微引擎内利用硬件环境对换,该硬件 环境对换使具有独行程序计数器的其他环境能在相同微引擎中执行。因此,第 1线程等待存储器送回读出数据的同时,可执行另一线程。这些特征可扩展到 微引擎中同时工作的多个线程,以便在数据通路中处理更多工作。附图简要说明附图说明图1是采用基于硬件的多线程处理器的通信系统的框图。图2是图1中基于硬件的多线程处理器的具体框图。图3是图1和图2中基于硬件的多线程处理器所用的微引擎功能单元的框图。图3 — 3是图3中微引擎流水线的框图。图3 — 4是表示环境切换指令格式的示意图。图3 — 5是表示通用寄存器地址安排的框图。图4是基于硬件的多线程处理器中所用的强化带宽操作用存储控制器的框图。图4一3是表示图4中SDRAM控制器的仲裁策略的流程图。 图4 — 4是说明对SDRAM控制器进行优化的好处的时序图。 图5是基于硬件的多线程处理器中所用的等待时间有限的操作用存储控制 器的框屈。图5 — 3是表示对SRAM控制器进行优化的好处的时序图。 图6是图1中处理器的通信总线接口的框图。说明体系结构参照图1,通信系统IO包括一并行、基于硬件的多线程处理器12。该基于硬件的多线程处理器12与诸如PCI总线14这种总线、存储器系统16和第 二总线18连接。系统IO对可分解为并行子任务或功能的任务尤其有用。具体 来说,硬件多线程处理器12对那些面向带宽的任务而非面向等待时间的任务 有用。硬件多线程处理器12具有多重微引擎22,分别配备可对一任务同时作 用和独立工作的多重硬件控制的线程。硬件多线程处理器12还包括一中央控制器20,该控制器有助于对硬件多 线程处理器12的其他资源加载微码控制,并执行其他通用计算机类型功能, 诸如处理协议、异常以及微引擎在边界状态等条件下传出数据分组进行更为细 节处理场合对分组处理的额外支持。 一实施例中,处理器20是一基于Strong Arm (Arm是英国Arm有限公司的商标)的体系结构。通用微处理器20具有一 操作系统。通过该操作系统,处理器20可调用功能在微引擎22a 22f上操作。 处理器20可利用任何得到支持的操作系统,最好用实时操作系统。对按Strong Arm结构实现的核心处理器来说,可用诸如微软NT实时、VXWorks和"CUS这 种操作系统和可从互联网得到的免费件操作系统。硬件多线程处理器12还包含多个功能微引擎22a 22f。这些功能微引擎 (微引擎)22a 22f分别在硬件及其关联状态方面保持多个程序计数器。实际 上,各微引擎22a 22f中可同时使相应的多组线程工作,而任何时候仅一个 真正操作。一实施例中,存在6个微引擎22a 22f,如图所示,每一微引擎22a 22f 能处理4个硬件线程。6个微引擎22a 22f以包括存储器系统16以及总线接 口 24和28在内的共用资源进行工作。存储器系统16包含同步动态随机存取 存储器(SDRAM)的控制器26a和静态随机存取存储器(SRAM)的控制器26b。 SDRAM存储器16a和SDRAM控制器26a通常用于处理大量数据,例如处理来自 网络数据分组的网络有效负载。SRAM控制器26b和SRAM存储器16b在网络实 施例当中实现较小等待时间、迅速存取任务,例如存取查找表、核心处理器20 的存储器等。6个微引擎22a 22f根据数据特性存取SDRAM16a或SRAM16b。因此,对 SR雄存入并读取短等待时间且小带宽的数据,而对SDRAM则存入并读取等待时 间不重要的大带宽数据。微引擎22a 22f可对SDRAM控制器26a或SR認控制 器26b执行存储器指针指令。可通过SRAM或SDRAM的存储器存取说明硬件多线程的优点。举例来说, 一线程0所请求的微引擎对SRAM的存取会使SRAM控制器26b启动对SRAM存 储器16b的存取。SRAM控制器控制对SRAM总线的仲裁,对SRAM16进行存取, 从SRAM16b读取数据,并使数据返回至提出请求的微引擎22a-22b。 SRAM存取 期间,若微引擎(例如22a)仅具有一个可运作的线程,该微引擎会休眠直到 从SRAM返回数据。通过采用每一微引擎22a 22f内的硬件环境对换,该硬件 环境对换能使具有独特程序计数器的其他环境在该相同微引擎中执行。因此, 第一线程(例如线程0)等待所读出数据返回的同时,另一线程例如线程1可 起作用。执行期间,线程1可存取SDRAM存储器16a。线程1在SDRAM单元上 运作,线程0在SRAM单元上运作的同时,新线程例如线程2可在微引擎22a 中现场运作。线程2可运作一些时间直到该线程需要存取存储器或执行某些其 他长等待时间操作,诸如对总线接口进行存取。因此,处理器12可同时使总 线运作、SRAM运作和SDRAM运作均得到完成,本文档来自技高网...
【技术保护点】
一种处理引擎处所用的方法,该处理引擎处于一具有多个可编程多线程处理引擎的处理器内,其特征在于,所述方法包括: 执行具有第一程序计数器的第一线程的至少一个指令,所述至少一个指令包括向所述多个处理引擎所共用的资源发出一请求的至少一个指令; 在处理引擎执行所述至少一个指令向所述共用的资源发出所述请求之后,将执行对换至一具有第二程序计数器的第二线程;以及 在检测出响应对所述共用的资源的请求而生成的信号之后,将执行对换至所述第一线程。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:D伯恩斯坦因,DF胡珀,MJ阿迪莱塔,G沃尔里奇,W维勒,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。