CN1277183C - 用以防止微处理器管线中的停滞的装置及方法 - Google Patents
用以防止微处理器管线中的停滞的装置及方法 Download PDFInfo
- Publication number
- CN1277183C CN1277183C CNB2004100683993A CN200410068399A CN1277183C CN 1277183 C CN1277183 C CN 1277183C CN B2004100683993 A CNB2004100683993 A CN B2004100683993A CN 200410068399 A CN200410068399 A CN 200410068399A CN 1277183 C CN1277183 C CN 1277183C
- Authority
- CN
- China
- Prior art keywords
- micro
- order
- queued
- sent
- microcode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/264—Microinstruction selection based on results of processing
- G06F9/267—Microinstruction selection based on results of processing by instruction selection on output of storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
Abstract
本发明涉及一种装置及方法,该装置及方法用以防止由于微码只读存储器(ROM)存取延迟所造成的微处理器管线中的停滞。此装置包括微指令队列及及早存取逻辑器。微指令队列可提供数个队列项目到寄存器逻辑器。每一个这些队列项目均包括若干第一微指令及一微码进入点。所有第一微指令对应于一指令。微码进入点耦接至这些第一微指令。微码进入点组态为指向储存于微码ROM内的一些第二微指令。及早存取逻辑器耦接至该微指令队列。在将每一个这些队列项目提供给寄存器逻辑器之前,及早存取逻辑器会使用微码进入点,来存取微码ROM,藉此当寄存器逻辑器要求第二微指令中的第一个时,这些第二微指令中的第一个会被传送到寄存器逻辑器。
Description
技术领域
本发明涉及微电子学的领域,尤其涉及一种用以防止微处理器管线中的停滞的装置及方法,该装置及方法用以防止由于微码只读存储器存取延迟所造成的微处理器管线中的停滞。
背景技术
现今的微处理器用以执行包含一连串指令的应用程序,并且这些指令符合特定指令集架构(instruction set architecture,简称ISA)。例如,x86兼容的微处理器会执行已使用符合x86ISA的指令来编码的应用程序。这些指令一般会储存于内存中,并且当微处理器执行所需时,才会被提取出来。
借助从任何已知的ISA中所取得的指令所指定的运算的型式及其对应的复杂度是相当多样化的。处于一个极端的是,一指令会指示补足一寄存器的内容,而为了执行此指令,微处理器需要执行一单一而且简单的运算。处于另一极端的是,从相同ISA内的另一指令会指示对一寄存器的内容进行正切(tangent)运算,而为了计算正切,也许需要执行数百次的运算。
由于许多不同的原因(包括以上提及的那些),大部分的微处理器不会实施直接执行ISA层级的指令的逻辑器。更确切地说,微处理器会实施执行一组较低层级指令的逻辑器。这些较低层级指令由微处理器的设计者而特别设计而成,以利用已知微处理器的架构的有利特性,其为ISA层级所见不到的,而更会导致执行速度增加、效率增加、以及其它优点。本领域技术人员将这些特别设计的指令称为微指令、原有指令、或微码。因此,当上述微处理器之一从内存中,提取ISA层级指令来执行时,指令首先会被转译成一对应的微指令序列,该微指令序列用以指定由微处理器来执行的一个或多个次运算,并且在完整执行所有次运算之后,即可达成由该指令所指定的运算。紧接于该转译阶段之后,微处理器会执行该对应的微指令序列,以执行这些次运算。
两种类型的技术用来将指令转译成对应序列的微指令。这些类型通常称为直接转译及微码只读存储器(ROM)查询。直接转译利用专用逻辑器(称为“转译逻辑器”),来估算提取的指令内的各种字段,并且会对应地产生用以指定由微处理器所执行的次运算的一个或多个微指令。对于微码ROM查询而言,提取的指令会映像至一地址,该地址用以指定一微码ROM中的一位置,并且该微码ROM包含用以指定这些次运算的一个或多个微指令。此地址会被传送到微码ROM,并且微指令会由微码ROM所送出,而借助微处理器来执行。
直接转译的优点是快速的专用逻辑器。在送出指令的相同周期期间,专用逻辑器会开始产生微指令。但是如本领域技术人员将了解的是,就组件复杂度、功率需求、以及芯片上的实际存在物(real-estate)而论,提供可确认及直接转译典型ISA中的所有指令的专用逻辑器是非常昂贵的。此外,因为对于典型ISA内的每个指令而言,需要特有逻辑器设计,所以一旦特有逻辑器设计完成,会难以了解,并且实施较小的微指令序列变化,会需要显著的设计变化。
微码ROM查询的优点是此种转译技术可轻易地了解,并且极具弹性而易于进行改变。因为微指令程序化于一ROM组件中,所以可以借助只改变ROM组件的程序的非常简单的方式来实施变化。通常根本不必对电路做任何改变。但是微码ROM查询的缺陷是此种转译技术比直接转译慢上许多。更特别而言,ROM会出现一延迟,该延迟发生在一地址被送出时,与对应微指令序列的一第一微指令被从ROM中送出的时间之间。
因此,常用的解决方法是结合以上两种技术,以将指令转译成对应的微指令序列。例如,直接转译时常用以转译可被直接转译的指令,可被直接转译的指令指这些可在一延迟时间之内完成转译的指令,并且这些指令具有包含数个微指令的微指令序列,并且该延迟时间本来会消耗在将这些可被直接转译的指令传送到微码ROM。而对于具有微指令数目多于可在微码ROM存取延迟时间的期间所产生的微指令的指令而言,一地址会传送到微码ROM以供一对应的微指令序列的一第二部份使用,而同时,该微指令序列的第一部份会被直接转译。因此,在紧接于该微指令序列的第一部份的最后指令被直接产生之后的频率周期期间,一微指令序列的第二部份的第一指令被从该微码ROM送出。以此方式,微码ROM的存取延迟可有效地由直接转译来吸收,而得以最佳化其对应微处理器的转译效率。
如以上所略微提及的,实施某些ISA层级指令的一序列的微指令的变化可轻易地为使用微码ROM查询,或直接转译及微码ROM查询的组合的设计所因应。然而,本发明已观察到有已知微码ROM的属性(例如,全部容量或入口(entry)大小)不足以实施这些变化的情况。在这样的情况中,使用属性足以实施这些变化的微码ROM以取代属性不足以实施这些变化的微码ROM是必要的。为实施这些变化常会需要有较大容量或入口大小的微码ROM,而提供这些较大属性的ROM则会出现较大的存取延迟。
所以,本发明提及的问题是使用会出现较大延迟的新微码ROM更需要与现有的直接转译逻辑器进行有效率地互算。直接转译逻辑器组态为用以在先前的微码ROM的存取延迟时间期间,产生一序列微指令的第一部份,由于与新微码ROM的互算,而导致在直接转译逻辑器完成产生此序列的第一部份的时间,与在新微码ROM开始送出此序列的第二部份的时间之间的微处理器管线中的停滞或空闲(void)。
因此,需要一种可防止由于微码ROM存取延迟所造成的指令转译期间的管线停滞(stall)的微处理器装置。
发明内容
为了克服上述及其它公知技术的问题与缺陷,本发明的目的在于提出一种用以吸收额外的管线滑移(slip)的装置及方法,该管线滑移起因于大于使用现有直接转译逻辑器的微码只读存储器(ROM)存取延迟。
为了实现上述目的,本发明提出一种用以防止由于微码ROM存取延迟所造成的管线停滞的微处理器装置。此微处理器装置包括数个微指令队列项目与及早存取逻辑器。该数个微指令队列项目中的每一个对应于一指令,并且该数个微指令队列项目中的每一个均具有数个微指令及一微码进入点。该及早存取逻辑器耦接至该微指令队列。在将该微码进入点提供给寄存器逻辑器之前,及早存取逻辑器使用该微码进入点,来存取一微码ROM。因此,当该寄存器逻辑器需要该第一微指令时,微码ROM会将该第一微指令传送到该寄存器逻辑器。
本发明还提供一种用以吸收对应于微码ROM存取延迟的管线停滞的装置。该装置包括微指令队列及及早存取逻辑器。微指令队列用以将数个队列项目传送到寄存器逻辑器。这些队列项目中的每一个均包括数个第一微指令及一微码进入点。所有第一微指令对应于一指令。微码进入点耦接至这些第一微指令。微码进入点组态为指向储存于微码ROM内的数个第二微指令。及早存取逻辑器耦接至该微指令队列。在将这些队列项目中的每一个传送到寄存器逻辑器时之前,及早存取逻辑器会使用微码进入点,来存取微码ROM,藉此当寄存器逻辑器需要这些第二微指令中的第一个时,该第一个第二微指令会被传送到寄存器逻辑器。
本发明又提供一种用以防止起因于微码ROM存取延迟所造成的微处理器管线停滞的方法。此方法包括从一数个微指令队列项目中的一个项目内,取得一微码进入点,该被取得的项目中包括数个第一微指令;以及使用该微码进入点,来存取一微码ROM内的数个第二微指令,其中该被取得的项目被传送到一其后管线阶段之前,会先执行使用该微码进入点的存取,使得第二微指令被传送到该其后管线阶段,而不会造成微处理器管线延迟。
本发明的前述与其它目的、特征及优点,在配合下列说明及附图后,将可获得更好的理解。
附图说明
图1为一解说一目前微处理器内的实施例阶段的方框图;
图2为一表格,其说明借助图1的微处理器,将许多指令转译成对应的微指令序列;
图3为一方框图,其详述本发明用以防止由于微码ROM存取延迟所造成的管线停滞的微处理器装置;
图4为本发明另一实施例的方框图,其显示可支持旁路的空微指令队列;
图5为一表格,其说明借助本发明的微处理器,将许多指令转译成对应的微指令序列。
其中,附图标记说明如下:
100:微处理器 101:提取阶段
102:转译阶段 103:寄存器阶段
104:地址阶段 105:加载阶段
106:执行阶段 107:储存阶段
108:写回阶段 110、301、401:转译器
111、302、402:微码ROM 112、304、404:微指令队列
113:存取总线 200,500:表格
300:微处理器装置 303,403:及早存取逻辑器
305,405:项目 306,406:寄存器逻辑器
400:另一实施例 407:旁路队列项目
408:多路复用器
具体实施方式
有鉴于用以产生微指令序列的目前管线微处理器内所使用的指令转译及对应的技术的以上的背景讨论,本发明所提及的问题的更详细的讨论将配合图1,图2来进行。紧接于此,本发明的讨论将配合图3至图5而显现出来。在对应的微码进入点送到下个管线阶段的时候之前,当用以存取符合的微码ROM的验证逻辑器送出微指令时,本发明能有效地吸收由于微码ROM存取延迟所造成的管线停滞。
参照图1,所显示的方框图为一解说一目前微处理器内的实施例阶段的方框图。微处理器100包括八个实施例阶段101-108:提取阶段101、转译阶段102、寄存器阶段103、地址阶段104、加载阶段105、执行阶段106、储存阶段107、以及写回阶段108。
在运作时,提取阶段101内的逻辑器会从内存(未显示)中,提取指令,而借助微处理器100来执行。提取的指令会传送到转译阶段102。如以上所讨论的,转译阶段102内的逻辑器用来产生借助微处理器100来执行的每个指令的一对应的微指令序列。转译阶段102包括用以执行某些指令的直接转译的转译器110,以及如上述,会送出微指令序列的微码ROM 111。转译器110耦接至微指令队列112,并且对于每个提取的指令,能产生1)微指令;2)微码ROM进入点;或3)微指令与微码ROM进入点。微码ROM进入点为用以指定会送出微指令的微码ROM 111内的一位置的一地址。微指令队列112会使转译阶段102耦接至寄存器阶段。此外,寄存器阶段会经由存取总线113,来存取微码ROM 111。
寄存器阶段103内的逻辑器用来存取寄存器文件(未显示)内的操作数。当来自于微指令队列112的项目(entry)传送到寄存器阶段103时,其微码进入点会经由存取总线113,而传送到微码ROM 111。若借助转译器110所产生的微指令没有位于此项目中,则寄存器阶段会将停滞(也称为“洞”、“停滞(stall)”、或“空闲(void)”)插入到与管线频率信号(未显示)同步的微处理器100的管线,直到微码ROM 111开始送出对应于位于总线113上的微码进入点的微指令。若微码进入点没有位于此项目中,则寄存器阶段103会存取如借助产生的微指令所指示的寄存器文件内的操作数,并且会与管线频率信号同步,而将微指令及操作数传送到地址阶段104。若微指令及微码进入点皆由此项目所提供,则寄存器阶段103会存取如借助微指令所指示的寄存器文件内的操作数,并且当等待微码ROM 111经由存取总线113,而送出用以执行的额外微指令时,会与管线频率信号同步,而将微指令及操作数传送到地址阶段104。以此方式,结合的直接转译及微码ROM查询借助保持微指令至微处理器100的其后阶段103-108的一致性流程,而用来改善管线效率。
从寄存器阶段103所送出的微指令会传送到地址阶段104,其中会产生内存地址,用以存取(亦即,储存或检索)内存中的操作数。内存地址的计算可使用检索自寄存器文件的操作数、或由微指令所产生的立即操作数、或寄存器及立即操作数的组合。内存地址(伴随其对应的微指令)会与管线频率信号同步,而传送到加载阶段105。
加载阶段105会从内存中,检索内存操作数。通常,内存操作数是从数据高速缓存(未显示)(其经由内存总线而耦接至内存)中,检索出来。内存操作数(伴随其它操作数及对应的微指令)会传送到执行逻辑器106。
执行逻辑器106会执行由使用如从先前阶段101-105往下传送的操作数的微指令所指定的运算,如将二个操作数相加在一起,补充操作数等。这些运算会牵涉整数运算、浮点运算、单一指令/多重数据(SIMD)运算、或可由目前指令所指定的任何一些不同型式的运算。然后,这些运算的结果会与管线频率信号同步,而传送到储存阶段107。
储存阶段107内的逻辑器用来将结果及操作数写入内存,如产生的微指令所指示的。如同加载阶段105,储存阶段一般耦接至用以执行储存运算的数据高速缓存。储存阶段107会将微指令传送到写回阶段108。
写回阶段108内的逻辑器用来以运算的预定操作数或结果,来更新寄存器文件内的寄存器。因此,微指令会与频率信号同步,而流经上述管线阶段102-108中的每一阶段,以至于运算可以实质上与装配线(assembly line)上所执行的运算类似的方式,而同时执行。当阶段102-108中的每一阶段同时执行其中的微指令时,会达成最高效率的运算。借助任何阶段,将停滞插入管线,会产生无效率的运算,其以降低对应的应用程序的执行速度的形式而可观察得知。
图1的方框图用以教导本发明的必要组件,因此,为了清楚的目的,已省略目前微处理器100内的许多逻辑器。然而,本领域技术人员将了解的是,目前微处理器100包括根据特定实施的许多阶段及逻辑器组件,其某些在此已合在一起。例如,加载阶段105会包含紧接于高速缓存线校正阶段的高速缓存接口阶段。
如以上所提及,本发明已观察到当由于微码ROM存取延迟,而将停滞插入管线时,会出现管线没有效率的情形。此问题现在将配合图2进行更详细的讨论。
参考图2,所显示的表格200其说明借助图1的微处理器100,将许多指令转译成对应的微指令序列。表格200绘示三列,转译、寄存器、地址,其对应于微处理器100的相似名称的阶段102、103、104。为了专注于本发明所要处理的问题,对应于提取阶段,以及紧接于地址阶段104的阶段105-108的列未显示出来。此外,所显示的列周期显示微处理器100所使用的管线频率信号的周期,用以将指令及微指令传经其管线阶段101-108。在重要的指令之前或之后的指令表示为“---”。插入的管线停滞表示为“***”。
在周期1的期间,第一指令INST_1会从提取阶段101传送到转译阶段102。其中,第一指令INST_1会直接转译成单一对应的微指令MIC_1.1,其会传送到微指令队列112中的项目。为了教导的目的,此例假设微指令队列112只有一个项目。本领域技术人员将了解的是,目前的微指令队列112的大小可从一个项目变化到约10个项目,并且会送出这样的指令队列,以至于当在提取阶段101或转译阶段102中,发生停滞事件时,微指令可持续传送到微处理器100的其后的阶段103-108。
在周期2的期间,第一微指令MIC_1.1会传送到寄存器阶段103。此外,第二指令INST_2会传送到转译阶段102。其中,INST_2借助转译器110,而直接转译成对应微指令序列的第一部份,其中对应微指令序列具有三个微指令MIC_2.1:3,并且伴随着指向包含对应微指令序列的第二部份MIC_2.4:5的微码ROM 111中的位置的微码进入点MEP_2。在此例中,虽然本领域技术人员将了解到第二部份可能包含约数百个微指令,但是为了清楚的目的,对应微指令序列的第二部份MIC_2.4:5包含二个微指令MIC_2.4,MIC_2.5。然后,伴随着微码进入点MEP_2的三个微指令MIC_2.1:3用来当作微指令队列112中的项目。
在周期3的期间,MIC_1.1会传送到地址阶段104。再有,在周期3的期间,寄存器阶段103会检索周期2的期间所产生的队列项目,并且会经由存取总线113,而将微码进入点MEP_2传送到微码ROM 111。当微指令MIC_2.2及MIC_2.3保持于保持寄存器(未显示)或其它缓冲装置中时,在此周期的期间,微指令MIC_2.1借助寄存器阶段103来处理。此外,转译阶段102会开始将第三指令INST_3直接转译成对应微指令MIC_3.1,其会置入微指令队列112中。
在周期4的期间,来自于对应于第二指令INST_2的微指令序列的第一部份MIC_2.1:3的第一微指令MIC_2.1会传送到地址阶段104。再有,在此周期的期间,当仍保持微指令MIC_2.3时,寄存器阶段103会处理微指令MIC_2.2。此外,寄存器阶段103会持续等待微码ROM 111,送出对应于微码进入点MEP_2的微指令序列的第二部份MIC2.4:5。
在周期5的期间,来自于第一部份MIC_2.1:3的第二微指令MIC_2.2会传送到地址阶段104,用以执行。此外,在此周期的期间,寄存器阶段103会执行微指令MIC_2.3,并且会持续等待微码ROM 111,送出对应于微码进入点MEP_2的微指令序列的第二部份MIC2.4:5。
在周期6的期间,来自于第一部份MIC_2.1:3的第三微指令MIC_2.3会传送到地址阶段104,用以执行。此外,在此周期的期间,寄存器阶段103会持续等待微码ROM 111,送出对应于微码进入点MEP_2的微指令序列的第二部份MIC2.4:5。因此,寄存器阶段103会遭受到停滞***。
在周期7的期间,因为直接转译只产生关于第一部份的三个微指令MIC_2.1:3,所以在周期6的期间所产生的停滞***会传送到地址阶段104。此外,在此周期的期间,寄存器阶段103会接收来自于微码ROM 111的MIC_2.4。
在周期8的期间,MIC_2.4会传送到地址阶段104,并且MIC_2.5会从微码ROM 111传送到寄存器阶段103。
在周期9的期间,MIC_2.5会传送到地址阶段104,并且寄存器阶段103会从微指令队列112中,检索MIC_3.1。
在周期10的期间,MIC_3.1会传送到地址阶段。
图2的例子用以突显本发明所提及的有关微码ROM存取延迟的问题。更特别的是,在周期7的期间,传送到地址阶段104的停滞***会导致降低应用程序速度,以及其它管线没有效率,这是因为指令队列配置只提供达到三个微指令,并且微码进入点必须与出现4个周期存取延迟的微码ROM进行互算。然而,要注意的是,已选择实施例的微指令队列112内的特定数目的微指令,以及微码ROM 111的存取延迟,来突显本发明所要处理的问题。本发明考虑防止存取延迟,其相当于其它微指令队列的项目大小及微码ROM存取延迟。例如,若实施例的微码ROM 111出现10个周期存取延迟,以及实施例的微指令队列项目提供五个微指令及对应的微码进入点,则需微码ROM查询的指令每次要转译时,会将至少五个停滞***插入管线。
如以上所讨论,结合的直接转译及微码ROM查询的使用通常是借助设计与微码ROM存取延迟匹配的转译器110及对应的微指令队列112,而实施于微处理器100中。例如,若微码ROM 111出现2个周期延迟,则转译器配置用以将二个微指令直接转译,并且队列112中的每个项目配置用以保持二个微指令加上对应的微码进入点。以此方式,来自于微码ROM 111的第一微指令在其需要的周期期间,会传送到寄存器阶段103。
但是本发明已观察到的是,微指令序列的变化(伴随此项技术中所已知的其它设计变化)绘出图2中所绘示的情况,其中转译器110及微指令队列112内的项目不能提供可补偿存取微码ROM时所造成的延迟的直接转译。在这样的情况中,要注意的是,显著的管线没有效率会出现。
本发明借助提出一种可防止直接转译装置未与特定微码ROM的存取延迟匹配的那些情况中的管线停滞的装置及方法,来克服以上所讨论的缺陷。本发明现在将配合图3至图5来进行讨论。现在参照图3,所提供的方框图为详述本发明用以防止由于微码ROM存取延迟所造成的管线停滞的微处理器300的方框图。微处理器装置300包括转译器301,其耦接至微指令队列304。转译器301包括逻辑器、电路、组件、或微码(亦即,微指令或原有指令)、或逻辑器、电路、组件、或微码的组合、或用来将指令直接转译成对应序列的微指令的等效组件。用来执行转译器301内的直接转译的组件可与用来执行根据本发明的微处理器内的其它功能的其它电路,微码等共享。微指令队列304包括数个项目305,其中项目305中的每一个会送出伴随着对应的微码进入点MEP的数个微指令。在一实施例中,微指令队列304包括四个项目305,并且四个项目305中的每一个会提供三个微指令M1-M3,以及对应的微码进入点MEP。及早存取逻辑器303运作上经由总线EA而耦接至微指令队列304,以及经由总线MEP1及忙碌信号而耦接至微码ROM 302。队列项目305经由总线MIC1,而传送到根据本发明的寄存器阶段内的寄存器逻辑器306。此外,微指令会经由总线MIC2,而从微码ROM 302传送到寄存器逻辑器306。
在运作时,根据本发明的微处理器内的提取阶段逻辑器(未显示)会从内存(未显示)中,提取指令来执行。提取的指令会传送到转译器301。对于要执行的每个指令而言,与微码ROM 302结合的转译器301会产生对应序列的微指令。转译器301会执行某些指令的直接转译,而微码ROM 302会产生微指令序列的第二部份,如先前已提及的。对于每个提取的指令,转译器301能产生:1)微指令M1-M3;2)微码ROM进入点MEP;或3)微指令M1-M3与微码ROM进入点MEP。微码ROM进入点MEP为用以指定会送出微指令的微码ROM302内的一位置的一地址。
及早存取逻辑器303配置用以经由总线EA,来估算微指令队列304中的项目305,并且在项目305传送到寄存器逻辑器306时之前,会经由总线MEP1而将微码进入点MEP传送到微码ROM 302。当对应的队列项目305仍储存于微指令队列304内时,这能有效地吸收对应于特定微码ROM 302的存取延迟。若微码ROM 302处于送出对应于先前送出的进入点MEP的微码序列的第二部份的过程中时,会使忙碌信号致能。及早存取逻辑器303包括逻辑器、电路、组件、或微码(亦即,微指令或原有指令)、或逻辑器、电路、组件、或微码的组合、或用来估算微指令队列304中的项目305,并且将微码进入点MEP传送到微码ROM 302的等效组件。用来执行及早存取逻辑器303内的这些功能的组件可与用来执行根据本发明的微处理器内的其它功能的其它电路,微码等共享。
寄存器逻辑器306用来存取寄存器文件(未显示)内的操作数。当来自于微指令队列304的项目305传送到寄存器逻辑器306,而不会根据目前实施,经由存取总线而将其微码进入点MEP传送到微码ROM 111时,寄存器逻辑器306会开始执行对应于微指令序列的第一部份的送出的微指令M1-M3,并且会等待微码ROM 302,开始送出对应于微指令序列的第二部份的微指令。若借助转译器301所产生的微指令没有位于项目305中,则寄存器逻辑器306会将停滞插入到与管线频率信号(未显示)同步的微处理器的管线,直到微码ROM302开始送出对应于位于总线MEP1上的及早存取逻辑器303所产生的微码进入点的微指令。若微码进入点MEP没有位于项目305中,则寄存器逻辑器306会存取如借助产生的微指令M1-M3所指示的寄存器文件内的操作数,并且会与管线频率信号同步,而将微指令M1-M3及操作数传送到根据本发明的微处理器内的接下来的阶段。若微指令M1-M3及微码进入点MEP皆由项目305所提供,则寄存器逻辑器306会存取如借助微指令M1-M3所指示的寄存器文件内的操作数,并且当等待微码ROM 302经由存取总线MIC2,而送出用以执行的额外微指令时,会与管线频率信号同步,而将微指令M1-M3及操作数传送到接下来的阶段。以此方式,结合的直接转译及微码ROM查询借助保持微指令至微处理器的其后阶段(未显示)的一致性流程,而用来改善管线效率。然而,与目前设计相反的是,及早存取逻辑器303用以在项目305传送到寄存器逻辑器306时之前,启动微码ROM 302内的存取周期,因此可防止由于微码ROM存取延迟大于转译器301及微指令队列304的配置所产生的微码ROM存取延迟,而另外将任何停滞插入到管线。在图3中所显示的实施例中,及早存取逻辑器303会估算队列304内的最后项目305,来补偿四个频率周期的微码ROM存取延迟。对于用以将三个微指令M1-M3加上微码进入点MEP传送到类似配置的微指令队列304的转译器301而言,此实施例将允许微指令传送到寄存器逻辑器306的一致性流程。本发明额外包含用以防止管线停滞的转译器301、微码ROM 302、以及微指令队列304的其它配置。在一实施例中,来自于选择的项目305的微码进入点MEP借助及早存取逻辑器303,而及早传送到微码ROM 302,其中选择的项目305位于队列304中,在转移到寄存器逻辑器306之前的项目305的数量等于超过已经借助转译器301及微指令队列304所补偿的微码ROM存取延迟所出现的过多频率周期的数量。例如,若必须吸收二个过多的频率周期,则及早存取逻辑器303会从紧邻着最后项目305,而不会从紧接着寄存器逻辑器306之前的最后项目305中。取得进入点MEP。以此类推。
除了吸收过多的微码ROM存取延迟的优点之外,本发明提供可克服由于除了在此所讨论的那些之外的原因,而传送到寄存器阶段的多个周期停滞的优点。参考图4,所显示的方框图是若所有的项目405皆为空时,可支持旁路的微指令队列404的本发明的另一实施例400。另一实施例400包括转译器401,其耦接至微指令队列404。转译器401包括旁路队列项目407,并且包括逻辑器、电路、组件、或微码(亦即,微指令或原有指令)、或逻辑器、电路、组件、或微码的组合、或用来将指令直接转译成对应序列的微指令的等效组件。用来执行转译器401内的直接转译的组件可与用来执行根据本发明的微处理器内的其它功能的其它电路,微码等共享。微指令队列404包括数个项目405,其中项目405中的每一个会送出伴随着对应的微码进入点MEP的数个微指令。在一实施例中,微指令队列404包括四个项目405,并且四个项目405中的每一个会提供三个微指令M1-M3,以及对应的微码进入点MEP。队列404的最后项目405经由总线M2,而传送到多路复用器408。此外,旁路队列项目407经由总线M1而传送到多路复用器408。由转译器401所送出的旁路信号BYPASS会指示多路复用器408,经由总线MIC1,而将最后项目405或旁路项目407传送到寄存器逻辑器406。及早存取逻辑器403运作上经由总线EA而耦接至总线MIC1,以及经由总线MEP1及忙碌信号而耦接至微码ROM 402。微指令会经由总线MIC2,而从微码ROM 402传送到寄存器逻辑器406。
在运作时,根据本发明的另一实施例400的组件以实质上与配合图3所述的实施似的类似标号及类似名称的组件类似的方式来运行,其中百位的数字为“4”,而不是“3”。两个实施例300,400之间的差异是当微指令队列404为空时,会使其旁路在一起。当从转译器401往上停滞会导致在停滞期间,所有的队列项目405转移到寄存器逻辑器406时,这种情况会发生。
在另一实施例400中,微码进入点MEP从多路复用器408的输出,而不是从队列404中的项目405中,借助及早存取逻辑器403来取得。因此,进入点MEP来自于队列项目405,或来自于旁路项目407。要注意的是,虽然最后队列项目405经由总线M2,而耦接至多路复用器408,但是本发明考虑经由M2而耦接至多路复用器408的其它项目405,以补偿如配合图3所述的借助ROM 402所出现的较多延迟。
现在参照图5,所显示的表格500其说明借助本发明的微处理器,将许多指令转译成对应的微指令序列。表格500绘示三列,转译、寄存器、地址,其对应于根据并入图4或图5的实施例的本发明的微处理器的相似名称的阶段。为了专注于本发明如何克服配合目前微处理器的先前讨论的问题,对应于提取阶段,以及紧接于地址阶段的列未显示出来。此外,所显示的列周期显示微处理器所使用的管线频率信号的周期,用以将指令及微指令传经其管线阶段。在重要的指令之前或之后的指令表示为“---”。插入的管线停滞表示为“***”。
在周期1的期间,第一指令INST_1会从提取阶段传送到转译阶段。其中,第一指令INST_1会直接转译成单一对应的微指令MIC_1.1,其会传送到微指令队列304,404中的项目305,405。虽然要注意的是,本发明考虑与根据本发明的微处理器中的管线阶段相称的任何指令队列的大小,以防止由于向上停滞事件所造成的管线停滞,但是为了说明的目的,此实施例假设微指令队列304,404只有一个项目305,405。
在周期2的期间,第一微指令MIC_1.1会传送到寄存器阶段103。此外,第二指令INST_2会传送到转译阶段102。其中,INST_2借助转译器301,401,而直接转译成对应微指令序列的第一部份,其中对应微指令序列具有三个微指令MIC_2.1:3,并且伴随着指向包含对应微指令序列的第二部份MIC_2.4:5的微码ROM 302,402中的位置的微码进入点MEP_2。在此例中,虽然本领域技术人员将了解到第二部份可能包含约数百个微指令,但是为了清楚的目的,对应微指令序列的第二部份MIC_2.4:5包含二个微指令MIC_2.4,MIC_2.5。然后,伴随着微码进入点MEP_2的三个微指令MIC_2.1:3用来当作微指令队列304,404中的项目305,405。此外,在周期2的期间,微码进入点MEP_2借助及早存取逻辑器303,403来估算,并且在项目305,405传送到寄存器逻辑器306,406之前的周期之前,会传送到微码ROM 302,402。因此,会及早启动微码ROM存取,以防止管线中的停滞。
在周期3的期间,MIC_1.1会传送到地址阶段。再有,在周期3的期间,寄存器阶段会检索周期2的期间所产生的队列项目305,405。在其后的周期中,寄存器逻辑器306,406会执行三个微指令的第一个MIC_2.1,并且将另外二个微指令MIC_2.2:3保持于保持寄存器(未显示)或其它缓冲器装置,用以执行。此外,转译阶段102会开始将第三指令INST_3直接转译成对应微指令MIC_3.1,其会置入微指令队列304,404中。
在周期4的期间,来自于对应于第二指令INST_2的微指令序列的第一部份MIC_2.1:3的第一微指令MIC_2.1会传送到地址阶段。在此周期的期间,寄存器逻辑器306,406会执行第二微指令MIC_2.2,并且会持续等待微码ROM302,402,送出对应于微码进入点MEP_2的微指令序列的第二部份MIC2.4:5。
在周期5的期间,来自于第一部份MIC_2.1:3的第二微指令MIC_2.2会传送到地址阶段,用以执行。在此周期的期间,寄存器逻辑器306,406会执行第三微指令MIC_2.3,并且会持续等待微码ROM 302,402,送出对应于微码进入点MEP_2的微指令序列的第二部份MIC2.4:5。
在周期6的期间,来自于第一部份MIC_2.1:3的第三微指令MIC_2.3会传送到地址阶段104,用以执行。此外,在此周期的期间,因为在将项目305,405传送到寄存器逻辑器306,406之前,MEP_2会传送到微码ROM 302,402,所以寄存器逻辑器306,406在此周期的期间,会接收来自于微码ROM 302,402的MIC_2.4。与配合图1-图2所述的微处理器100相反的是,根据本发明的微处理器在此周期的期间,不会造成停滞。
在周期7的期间,MIC_2.4会传送到地址阶段,并且MIC_2.5会从微码ROM 302,402传送到寄存器逻辑器306,406。
在周期8的期间,MIC_2.5会传送到地址阶段,并且寄存器逻辑器306,406会从微指令队列304,404中,检索MIC_3.1。
图5的例子用以说明本发明所提及的有关微码ROM存取延迟的问题如何借助本发明来克服。更特别的是,根据本发明,现在借助在将项目传送到寄存器逻辑器306,406之前,存取微码ROM 302,402而吸收配合图2所讨论的例子的在周期7的期间,传送到地址阶段104的停滞***。由于指令队列配置只提供达到三个微指令,并且微码进入点必须与出现4个周期存取延迟的微码ROM进行互算而造成降低应用程序速度,以及其它管线没有效率现在借助本发明来克服。然而,要再次注意的是,已选择实施例的微指令队列304,4042内的特定数目的微指令M1-M3,以及微码ROM 302,402的存取延迟,来教导本发明的相关观点。本发明考虑防止存取延迟,其相当于其它微指令队列的项目大小,以及除了显示的那些之外的微码ROM存取延迟。例如,若实施例的微码ROM 302,402出现10个周期存取延迟,以及实施例的微指令队列项目305,405提供五个微指令及对应的微码进入点,则及早存取逻辑器303,403将配置用以将微码进入点MEP传送到微码ROM 302,402,其相当于项目305,405,其为从最后项目305,405往上的五个项目。
以上的说明,在一特定实施例及其必要条件的脉络下而提供,可使一般本领域技术人员能够利用本发明。然而,各种对该较佳实施例所作的修改,对本领域技术人员而言是显而易见的,并且,在此所讨论的一般原理,亦可应用至其它实施例。因此,本发明并不限于此处所展出与叙述的特定实施例,而是具有与此处所揭示的原理与新颖特征相符的最大范围。
Claims (19)
1.一种微处理器装置,用以防止由于微码只读存储器存取延迟所造成的一管线停滞,该微处理器装置包括:
数个微指令队列项目,该数个微指令队列项目中的每一个对应于一指令,并且该数个微指令队列项目中的每一个包括数个微指令及一微码进入点;以及
及早存取逻辑器,耦接至该微指令队列,组态为在将该微码进入点提供给一寄存器逻辑器之前,使用该微码进入点,来存取一微码只读存储器,藉此当该寄存器逻辑器需要一第一微指令时,该微码只读存储器会将该第一微指令传送到该寄存器逻辑器。
2.根据权利要求1所述的微处理器装置,其中,达到该寄存器逻辑器的该数个微指令队列项目中的每一个均会被送出。
3.根据权利要求1所述的微处理器装置,其中,当该微码进入点位于一底部微指令队列项目内时,该及早存取逻辑器会使用该微码进入点,该底部微指令队列项目包括该数个微指令队列项目其中的一个,并且其中在下一个频率周期的期间,该底部微指令队列项目将会传送到该寄存器逻辑器。
4.根据权利要求1所述的微处理器装置,其中,还包括:
一转译器,耦接至该数个微指令队列项目,组态为用以产生该数个微指令队列项目中的每一个。
5.根据权利要求4所述的微处理器装置,其中,该转译器组态为将一产生的微指令队列项目传送到一顶端微指令队列项目,其中该顶端微指令队列项目包括该数个微指令队列项目其中之一。
6.根据权利要求4所述的微处理器装置,其中,该转译器组态为将一产生的微指令队列项目传送到一多路复用器,并且当该数个微指令队列项目为空时,该多路复用器则在下一个频率周期的期间,将该产生的微指令队列项目传送到该寄存器逻辑器。
7.根据权利要求6所述的微处理器装置,其中,该及早存取逻辑器会使用对应于该产生的微指令队列项目的一旁路微码进入点。
8.一种用以吸收对应于微码只读存储器存取延迟的管线停滞的装置,包括:
一微指令队列,用以将数个队列项目传送到一寄存器逻辑器,该数个队列项目的每一个均包括:数个第一微指令,所有这些第一微指令对应于一指令;以及一微码进入点,耦接至这些第一微指令,组态为指向储存于一微码只读存储器内的数个第二微指令;以及
及早存取逻辑器,耦接至该微指令队列,组态为在将该数个队列项目中的每一个传送到该寄存器逻辑器之前,使用该微码进入点,来存取该微码只读存储器,藉此当寄存器逻辑器需要这些第二微指令中的一第一个时,这些第二微指令中的该第一个会传送到该寄存器逻辑器。
9.根据权利要求8所述的装置,其中,达到该寄存器逻辑器的该数个队列项目中的每一个均会被送出。
10.根据权利要求8所述的装置,其中,当该微码进入点位于一底部队列项目内时,该及早存取逻辑器会使用该微码进入点,该底部队列项目包括该数个微指令队列项目其中的一个,并且其中在下一个频率周期的期间,该底部队列项目将会传送到该寄存器逻辑器。
11.根据权利要求8所述的装置,其中,还包括:
一转译器,耦接至该数个队列项目,组态为用以产生该数个队列项目中的每一个。
12.根据权利要求11所述的装置,其中,该转译器组态为将一产生队列项目传送到一顶端队列项目,其中,该顶端队列项目包括该数个队列项目其中之一。
13.根据权利要求11所述的装置,其中,该转译器组态为将一产生的队列项目传送到一多路复用器,并且当该数个队列项目为空时,该多路复用器则在下一个频率周期的期间,将该产生的队列项目传送到该寄存器逻辑器。
14.根据权利要求13所述的装置,其中,该及早存取逻辑器会使用对应于该产生的微指令队列项目的一旁路微码进入点。
15.一种用以防止起因于微码只读存储器存取延迟所造成的微处理器管线停滞的方法,该方法包括:
从数个微指令队列项目中的一个内,取得一微码进入点,该数个微指令队列项目中的该一个包括数个第一微指令;以及
使用该微码进入点,来存取一微码只读存储器内的数个第二微指令,其中当该数个微指令队列项目中的该一个传送到一其后管线阶段时,使用该微码进入点的动作会被执行,并且藉此该使用能致使该数个第二微指令被传送到该其后管线阶段,而不会造成微处理器管线延迟。
16.根据权利要求15所述的方法,其中,还包括:
达到该其后管线阶段的该数个微指令队列项目会被送出。
17.根据权利要求15所述的方法,其中,该取得该微码进入点的动作包括:
从一底部微指令队列项目内,选择该微码进入点,该底部微指令队列项目包括该数个微指令队列项目中的该一个,其中,该底部微指令队列项目在下一个频率周期的期间,将会被传送到该其后管线阶段。
18.根据权利要求15所述的方法,其中,还包括:
产生一目前微码进入点,并且其中,该产生动作会将该目前微码进入点传送到一顶端微指令队列项目,并且其中,该顶端微指令队列项目包括该数个微指令队列项目中的另一个。
19.根据权利要求15所述的方法,其中,还包括:
产生一目前微码进入点,其中该产生会将该目前微码进入点传送到一多路复用器,并且当这些微指令队列项目为空时,该多路复用器则在下一个频率周期的期间,将该目前微码进入点传送到该其后管线阶段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/735,996 US20040128477A1 (en) | 2002-12-13 | 2003-12-15 | Early access to microcode ROM |
US10/735,996 | 2003-12-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1570856A CN1570856A (zh) | 2005-01-26 |
CN1277183C true CN1277183C (zh) | 2006-09-27 |
Family
ID=34523109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100683993A Active CN1277183C (zh) | 2003-12-15 | 2004-09-02 | 用以防止微处理器管线中的停滞的装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080016323A1 (zh) |
CN (1) | CN1277183C (zh) |
TW (1) | TWI232457B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185838A (zh) * | 2011-12-30 | 2014-12-03 | 英特尔公司 | 使用精减指令集核 |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676294B2 (en) * | 2007-09-27 | 2010-03-09 | Rockwell Automation Technologies, Inc. | Visualization of workflow in an industrial automation environment |
US8131984B2 (en) * | 2009-02-12 | 2012-03-06 | Via Technologies, Inc. | Pipelined microprocessor with fast conditional branch instructions based on static serializing instruction state |
US8521996B2 (en) * | 2009-02-12 | 2013-08-27 | Via Technologies, Inc. | Pipelined microprocessor with fast non-selective correct conditional branch instruction resolution |
US9280352B2 (en) * | 2011-11-30 | 2016-03-08 | Apple Inc. | Lookahead scanning and cracking of microcode instructions in a dispatch queue |
WO2013101147A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Configurable reduced instruction set core |
US10108420B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on long load cycles in an out-of-order processor |
KR101819316B1 (ko) | 2014-12-14 | 2018-01-16 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 비순차 프로세서에서 캐시 불가의존 로드 리플레이를 억제하는 메커니즘 |
KR101837816B1 (ko) | 2014-12-14 | 2018-03-12 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 비순차 프로세서에서 i/o의존 로드 리플레이를 불가능하게 하는 메커니즘 |
US10083038B2 (en) | 2014-12-14 | 2018-09-25 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on page walks in an out-of-order processor |
KR101819315B1 (ko) | 2014-12-14 | 2018-01-16 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 비순차 프로세서에서 작성 결합 메모리 공간 접근에 따라 로드 리플레이를 억제하기 위한 장치 및 방법 |
WO2016097815A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude x86 special bus cycle load replays in out-of-order processor |
WO2016097814A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude shared ram-dependent load replays in out-of-order processor |
US10228944B2 (en) | 2014-12-14 | 2019-03-12 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
JP6286067B2 (ja) | 2014-12-14 | 2018-02-28 | ヴィア アライアンス セミコンダクター カンパニー リミテッド | アウトオブオーダープロセッサでの長いロードサイクルに依存するロードリプレイを除外するメカニズム |
US10209996B2 (en) | 2014-12-14 | 2019-02-19 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method for programmable load replay preclusion |
US10089112B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on fuse array access in an out-of-order processor |
US10114794B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10088881B2 (en) | 2014-12-14 | 2018-10-02 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude I/O-dependent load replays in an out-of-order processor |
KR101837817B1 (ko) | 2014-12-14 | 2018-03-12 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 비순차 프로세서에서 페이지 워크에 따라 로드 리플레이를 억제하는 메커니즘 |
US10175984B2 (en) | 2014-12-14 | 2019-01-08 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude non-core cache-dependent load replays in an out-of-order processor |
US10114646B2 (en) | 2014-12-14 | 2018-10-30 | Via Alliance Semiconductor Co., Ltd | Programmable load replay precluding mechanism |
US10127046B2 (en) | 2014-12-14 | 2018-11-13 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude uncacheable-dependent load replays in out-of-order processor |
WO2016097797A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
US10108421B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude shared ram-dependent load replays in an out-of-order processor |
WO2016097811A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Mechanism to preclude load replays dependent on fuse array access in out-of-order processor |
US9804845B2 (en) | 2014-12-14 | 2017-10-31 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude X86 special bus cycle load replays in an out-of-order processor |
US10146540B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd | Apparatus and method to preclude load replays dependent on write combining memory space access in an out-of-order processor |
WO2016097790A1 (en) | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Apparatus and method to preclude non-core cache-dependent load replays in out-of-order processor |
US9703359B2 (en) | 2014-12-14 | 2017-07-11 | Via Alliance Semiconductor Co., Ltd. | Power saving mechanism to reduce load replays in out-of-order processor |
US10108430B2 (en) | 2014-12-14 | 2018-10-23 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10120689B2 (en) | 2014-12-14 | 2018-11-06 | Via Alliance Semiconductor Co., Ltd | Mechanism to preclude load replays dependent on off-die control element access in an out-of-order processor |
US10146539B2 (en) | 2014-12-14 | 2018-12-04 | Via Alliance Semiconductor Co., Ltd. | Load replay precluding mechanism |
CN111679857B (zh) * | 2020-06-15 | 2024-01-23 | 上海兆芯集成电路股份有限公司 | 高效能复杂指令译码的微处理器 |
CN112596790B (zh) * | 2020-12-10 | 2022-11-22 | 海光信息技术股份有限公司 | 执行访存微指令的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3130387A (en) * | 1958-02-06 | 1964-04-21 | Int Standard Electric Corp | Buffer system for transferring data between two asynchronous data stores |
US5222244A (en) * | 1990-12-20 | 1993-06-22 | Intel Corporation | Method of modifying a microinstruction with operands specified by an instruction held in an alias register |
US6378061B1 (en) * | 1990-12-20 | 2002-04-23 | Intel Corporation | Apparatus for issuing instructions and reissuing a previous instructions by recirculating using the delay circuit |
US5870553A (en) * | 1996-09-19 | 1999-02-09 | International Business Machines Corporation | System and method for on-demand video serving from magnetic tape using disk leader files |
US5864690A (en) * | 1997-07-30 | 1999-01-26 | Integrated Device Technology, Inc. | Apparatus and method for register specific fill-in of register generic micro instructions within an instruction queue |
-
2004
- 2004-04-27 TW TW093111667A patent/TWI232457B/zh active
- 2004-09-02 CN CNB2004100683993A patent/CN1277183C/zh active Active
-
2007
- 2007-09-27 US US11/862,492 patent/US20080016323A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104185838A (zh) * | 2011-12-30 | 2014-12-03 | 英特尔公司 | 使用精减指令集核 |
CN104185838B (zh) * | 2011-12-30 | 2017-12-22 | 英特尔公司 | 使用精减指令集核 |
Also Published As
Publication number | Publication date |
---|---|
CN1570856A (zh) | 2005-01-26 |
TW200519953A (en) | 2005-06-16 |
TWI232457B (en) | 2005-05-11 |
US20080016323A1 (en) | 2008-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1277183C (zh) | 用以防止微处理器管线中的停滞的装置及方法 | |
CN1230759C (zh) | 进行最佳数据传送的多总线信息处理系统的总线-总线桥 | |
CN101034470A (zh) | 指令解析器以及图形处理单元及其方法 | |
CN1664776A (zh) | 于一微处理器中处理一分离式载入作业的装置与方法 | |
US20080163215A1 (en) | Thread queuing method and apparatus | |
CN1851682A (zh) | 一种串行外设接口的实现方法 | |
CN1806231A (zh) | 提供软件实现的高速缓冲存储器的方法与装置 | |
CN1842771A (zh) | 动态配置虚拟处理器资源的机制 | |
CN1940861A (zh) | 在信息处理系统的处理器中发布指令的方法及设备 | |
CN101046786A (zh) | 一种实现高效dma传输的dma控制器及传输方法 | |
CN102446087B (zh) | 指令预取方法与预取装置 | |
CN1570907A (zh) | 多处理器系统 | |
CN1741026A (zh) | 一种快速生成逻辑电路的方法 | |
CN1021147C (zh) | 具有共用控制存储器的多处理机控制器 | |
CN105528193A (zh) | 用以改善在处理器中重新执行加载的装置与方法 | |
CN105511839B (zh) | 用以改善在处理器中重新执行加载的装置与方法 | |
CN111008042B (zh) | 基于异构流水线的高效通用处理器执行方法及系统 | |
JP2005310168A (ja) | マルチプロセッサパイプラインの並行処理のための方法及び装置 | |
CN111653317A (zh) | 基因比对加速装置、方法及系统 | |
CN1860436A (zh) | 用于处理指令循环的方法和系统 | |
JP2006268857A (ja) | データ処理装置からレジスタ記憶システムにデータを書き込む方法、データ・レジスタおよびレジスタ・アクセス・システム | |
CN100340976C (zh) | 一种实现计算机多线程控制的方法及装置 | |
CN1278242C (zh) | 信息处理装置和存储器存取安排方法 | |
CN1744042A (zh) | 自动改变计算机启动顺序的实现方法 | |
CN1256664C (zh) | 等待管线式总线要求的占用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |