CN101116053A - 适用于高效数字信号处理的数据处理器及其方法 - Google Patents

适用于高效数字信号处理的数据处理器及其方法 Download PDF

Info

Publication number
CN101116053A
CN101116053A CNA2006800044677A CN200680004467A CN101116053A CN 101116053 A CN101116053 A CN 101116053A CN A2006800044677 A CNA2006800044677 A CN A2006800044677A CN 200680004467 A CN200680004467 A CN 200680004467A CN 101116053 A CN101116053 A CN 101116053A
Authority
CN
China
Prior art keywords
coprocessor
instruction
interface
list
processor core
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.)
Pending
Application number
CNA2006800044677A
Other languages
English (en)
Inventor
T·L·科尔
J·尼古拉斯
W·M·约翰逊
H·库塔古洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101116053A publication Critical patent/CN101116053A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Abstract

一种数据处理器(200),包含处理器核心(300)、耦合至该处理器核心(300)的接口(210)、以及协处理器(coprocessor)(500)。该协处理器(500)系通过该接口(210)而耦合至该处理器核心(300)且包含第一列表内存(list memory)(522)。为响应预定指令,该处理器核心(300)通过该接口(210)提供操作数至该协处理器(500)。该协处理器(500)存储该操作数于该第一列表内存(522)内且使用多个来自该第一列表内存(522)的数值执行对应到该预定指令的运算以提供结果。

Description

适用于高效数字信号处理的数据处理器及其方法
技术领域
一般而言,本发明系有关于数据处理器,且更特别的是,有关于能够执行数字信号处理功能的数据处理器。
背景技术
过去数十年以来,集成电路制造技术的进步已使以微处理器为基底的计算机系统由大型仓库移到桌上且目前已变成手持装置,例如个人数字助理(PDA)、行动电话、智能型行动电话(smart phone)、视讯游戏机、及其类似物。标准计算机系统系以3种主要的组件定义:中央处理单元(CPU)、内存、以及输入/输出周边。不过,CPU与现在甚至内存及有些输入/输出电路已被组合于单一集成电路芯片内。这些极其复杂的装置(有时被称作系统单芯片(systems-on-chip,SOC))已大幅降低手持装置的成本同时提供许多有用的功能。
同时也已改变处理工作(processing task)的类型。先前的微处理器系以整数、布尔数据类型执行整数算术及逻辑指令。尽管仍然需要此类运算,对某些装置而言,附加的特别处理(specialized processing)也很有用。特别处理之一例子为浮点算术(floating point arithmetic)。浮点算术在数学导向的运算中很有用,例如复杂的图形。不过,在设计成处理整数及布尔数据类型的通用微处理器上执行浮点算术需要复杂的软件例程(software routine),且处理相对慢。为了符合此需求,微处理器设计者发展出浮点协处理器(floating-point coprocessor)。协处理器为一种数据处理器,其系经设计成特别处理特定的工作(task)以便分担另一处理器(通常为系统内的CPU)的一些处理工作。浮点算术协处理器,例如最早由圣克拉拉(美国加州)的英特尔公司制造的80287浮点算术协处理器在1980年代的桌上型计算机系统很常见。浮点协处理器能改善计算机系统效能系藉由以专用电路高效地处理复数的浮点计算。
手持装置也需要数种特别处理工作。例如,经常要使用数字信号处理器(DSP)处理频域内的语音讯号(speech signal)。因此,手持装置中似乎自然要添加DSP协处理器至通用数据处理器。
手持装置较佳也使用高度整合的SOC以减少组件数及成本。迄今为止,SOC中已经难以整合DSP协处理器与通用CPU。SOC的设计哲学需要可模块化的电路板(circuit block)以便能重复使用。设计时通常以CPU为“核心”且用计算机辅助设计(CAD)技术用高阶描述(high leveldescription)进一步予以合成。然而,协处理器与CPU的指令管线(instruction pipeline)需要复杂的互动,而且为适应DSP协处理器而改变CPU的设计会破坏模块性(modularity)。
由于有此困难,有些设计已使用与CPU并排的分离式通用DSP。该DSP系与CPU类似,因为它是存取它自己的内存,有它自己的指令集(instruction set),以及它自己的操作系统,且需要一组它自己的开发工具。不过,这些特征会增加手持装置的成本。此外,CPU与DSP之间的通讯要使用共享内存,而且在两种装置之间传送操作数及结果的负荷(overhead)量相当大。因此,专用DSP处理的优点部份被额外的复杂性及成本抵销。
为了克服这些困难,在SOC设计中使用模块化的处理器核心,有些制造商最近已设计出带有外加“挂钩”的处理器核心以便用于具有视需要之协处理器的系统。例如,美普思(MIPS)科技公司(山景城,美国加州)所售之4KESTM RISC微处理器核心包含一组特殊的协处理器指令与专用接口以便容许指令及资料可在CPU核心与协处理器之间流通。因此,当CPU核心译码此类特殊协处理器指令中之一个时,它由寄存器文件(register file)撷取适当的操作数且通过特殊接口将操作数与指令一起传送到协处理器。在协处理器执行指令时暂停CPU核心的管线。当协处理器送回指令的结果时,CPU核心存储该结果于寄存器文件内且继续管线中的处理指令。
因此,需要一种利用RISC微处理器核心之此一新性能的数据处理器以提供更小、耗电量更低、可用于手持电子装置及其类似物的SOC。
发明内容
因此,本发明之一形式系提供一种数据处理器,其包含:处理器核心、耦合至该处理器核心的接口、以及协处理器。该协处理器系通过该接口而耦合至该处理器核心且包含第一列表内存(list memory)。为响应预定指令,该处理器核心通过该接口提供操作数至该协处理器。该协处理器系存储该操作数于该第一列表内存内且使用多个来自该第一列表内存的数值而执行对应到该预定指令的运算以提供结果。
本发明的另一形式系提供用于数据处理器的协处理器,该数据处理器包含执行指令的中央处理单元。该协处理器包含控制逻辑、第一列表内存、以及算术电路(arithmetic circuitry)。该控制逻辑系适于通过接口而耦合至该中央处理单元,且通过该接口接收指令及操作数。该第一列表内存存储多个包含此类操作数的数值。该算术电路系耦合至该第一列表内存。为响应预定指令,该控制逻辑使得该算术电路使用多个来自该第一列表内存的数值而执行对应到该预定指令的运算以提供结果。
本发明的另一形式系提供一种数据处理器,其包含处理器核心、耦合至该处理器核心的接口、以及耦合至该接口的协处理器。为响应第一预定指令,该处理器核心通过该接口提供指令与操作数数值至该协处理器,而且该协处理器根据该第一预定指令而初始化第一预定运算。为响应第二预定指令,在该第一预定运算完成后该协处理器即提供结果至该接口。
本发明的另一形式系提供一种数据处理系统,其包含中央处理单元、耦合至该中央处理单元之用以存储多个操作数的内存、耦合至该中央处理单元的接口、以及耦合至该接口的协处理器。该协处理器包含第一列表内存。为响应预定指令,该中央处理单元通过该接口提供操作数至该协处理器。该协处理器存储该操作数于第一列表内存内且使用多个来自该第一列表内存的数值而执行对应到该预定指令的运算以提供结果。
本发明的另一形式系提供一种用于高效地操作数据处理系统的方法。为响应第一指令而将操作数加载于中央处理单元的寄存器内。为响应第二指令而由该寄存器提供该操作数至接口。为响应该第二指令而将该操作数存储于该协处理器的第一列表内存内。使用多个来自该第一列表内存的数值而在该协处理器中执行对应至该第二指令的预定运算以提供结果。
附图说明
参考以下附图可更容易明白本揭示内容,以及对熟谙此艺者而言为显而易见的许多特征及优点,附图中类似或相同的组件以相同的组件符号表示。
图1为先前技术习知数据处理系统的方块图;
图2为根据本发明之数据处理系统的方块图;
图3为图2之RISC处理器核心的方块图;
图4为图3之RISC处理器核心所使用之协处理器指令格式的方块图;以及
图5为图2之DSP列表协处理器的方块图。
主要组件符号说明
100,200  数据处理系统
102       精简指令集计算机(RISC)微处理器
104       随机存取内存                   106    低速非挥发性内存
108       共享内存                       110    通用数字信号处理器
204       内存                           205    RAM
206       NVM                            210    接口
212,214,216,218信号线                 220    控制总线
300       RISC处理器核心                 302    寄存器文件
304       组态寄存器                     306    位
308       执行单元                       310    UDI接口控制器
400       协处理器指令
402,404,406,408,410,412,414字段
500       DSP列表协处理器                510    控制及定序逻辑
520       列表内存                       522    Y内存
524       X内存                          530    算术逻辑单元
532,534  寄存器                         540    多任务器
542,544  乘法累加运算单元                546    修补逻辑
548    较低16位部份    550    较高16位部份
具体实施方式
图1为先前技术习知数据处理系统100的方块图。数据处理系统100包含精简指令集计算机(reduced instruction set computer,RISC)微处理器102,其系形成系统100之中央处理单元(CPU)。RISC微处理器102系连接至形式为随机存取内存(RAM)104的高速挥发性内存以及形式可为屏蔽只读存储器(ROM)的低速非挥发性内存(NVM)106、快闪电子可抹除可程序化只读存储器(“FLASH”)、或其类似物。系统100也包含数个未图标于图1的输入/输出装置,其系直接或通过输入/输出配接器而连接至RISC微处理器102。
为了执行手持装置(例如,PDA、行动电话、手持视讯游戏系统、及其类似物)所要求的特别处理,系统100包含通用数字信号处理器(DSP)110,其系具有分别用于资料与程序储蓄的RAM 112与NVM114。为了在RISC微处理器102与DSP 110之间传递工作(task)及结果,系统100包含共享内存108。
当计算机系统100用于低成本手持装置时有数种缺点。首先,RISC微处理器102与DSP 110为分开的芯片,这会增加系统成本。第二,各处理器需要各自分开的内存,这会增加芯片数,因而增加系统成本。第三,由于各处理器有各自的指令集,因此各需要各自分开的组译器(assembler)、编译器(compiler)、及开发工具,从而增加复杂度且降低最快的上市速度(time-to-market)。
图2为根据本发明之数据处理系统200的方块图。数据处理系统200包含RISC处理器核心300、包含RAM 205与NVM 206的内存204、接口210、以及特殊DSP列表协处理器500。跟以前一样,NVM 206可采用的形式为屏蔽ROM、快闪EEPROM、等等。在示范具体实施例中,其系将RISC处理器核心300、接口210、及DSP列表协处理器500组合于单一集成电路。不像图1的RISC处理器核心102,将RISC处理器核心300设计成可与包含协处理器的其它系统组件整合。因此,RISC处理器核心300包含特殊功能,其系用于识别使用者所界定的协处理器指令且通过接口210提供此等特殊指令至协处理器。在图标具体实施例中,RISC处理器核心300为一种与4KESTM处理器核心家族(售自美普思科技公司,山景城,美国加州)兼容的核心,但可换为有类似功能的等价处理器核心。
接口210为RISC处理器核心300与DSP列表协处理器500之间的互动地点。互动的实现系通过传输处理器之间的资料且控制该接口的信号线。相关信号线以下将予以描述,但这些显然只是用来示范。一组标示为“INSTRUCTION”的32条信号线212系对应至RISC处理器核心202的指令集中之一或更多指令。就4KESTM核心的情形而言,此时将一些先前被保留的指令给协处理器专用。在此类指令(称作使用者所界定的接口(UDI)指令)中,有一部份的指令字段是用来识别它是UDI指令,而另一部份的指令字段是用来识别待执行的运算的类型。RISC处理器核心300系使用该INSTRUCTION字段以(至少)表示将被传送到DSP列表协处理器500的UDI指令的类型。因此,该INSTRUCTION字段可与RISC处理器核心指令一样,但也可包含较少的位数,只要数目足以识别该指令。此外,该INSTRUCTION字段可编码该指令,而方式与RISC处理器核心300所认定之指令的不同。
接口210使用用以传输以“rs”标示的第一操作数的第一组32条信号线以及用以传输以“rt”标示的第二操作数的第二组32条信号线,传送达两个操作数至DSP列表协处理器500。有些UDI指令可能不需要这两组信号线中之一组或两组。
接口210包含一组信号线218,其系用来传送以“rd”标示的32位结果操作数,藉此DSP列表协处理器500将INSTRUCTION的结果传回到RISC处理器核心300。
接口210也包含标示为“CONROL”的控制总线220,其系用于传输数个控制接口210的运算的控制信号。
RISC处理器核心300与DSP列表协处理器500均与其它输入/输出装置(未图标于图2)一起整合于SOC中。RISC处理器核心300可与DSP列表协处理器500透过接口连接而不因UDI之可用性而修改它的管线(pipeline)。
系统200只包含单一内存系统204而不需要专用于DSP列表协处理器500的额外内存或者是在RISC处理器核心300与DSP列表协处理器500之间的通讯内存。以下说明操作数的流通。RISC处理器核心300首先为响应移动指令而移动资料到其通用寄存器(general-purposeregister)中之一个。资料可在内存204中,或可已自输入/输出装置接收该资料(未图标于图2)。然后,RISC处理器核心300执行移动资料至DSP列表协处理器500的UDI指令。DSP列表协处理器500包含它自己的列表内存以使它可执行许多不同类型的DSP工作而不需存取不同的内存。除了因许多DSP例程有相继性(sequential nature)以外,DSP列表协处理器500在它收到指令的同时要保存及更新数值,因此要求RISC处理器核心300的负荷与介入(intervention)要最少而保留额外的处理能力。DSP列表协处理器500通过rd信号线218送回结果,且RISC处理器核心300存储结果于以UDI指令界定之rd字段所指示的寄存器内。
为了实现有效率、不需额外内存结构的DSP处理,DSP列表协处理器500包含内部列表内存其系存储许多DDSP及相关指令所需要之一列的资料数值。在遇到某些UDI指令时,DSP列表协处理器500存储新的操作数数值于列表内存内且使用该数值及其它已在列表内存内的数值而执行该指令。不过,在其它具体实作中,当前的计算可能不使用实际所传送的数值,而只将该数值存下来供以后使用。
尽管未实际以DSP列表协处理器500具体实作,此项技术可用于其它特殊用途的计算。例如,有些数据通讯的工作(task)需要计算形式为循环冗余检查(cyclic redundancy check,CRC)的框检查顺序(framecheck sequence)。有数种习知的CRC多项式,但都应用多项式(polynomial)于一序列的资料样本以得到数字。该列表内存可用来存储计算当前CRC之资料样本的历史记录。此外,特定的CRC产生多项式(CRC generator polynomial)可预先建立或者是通过其它的指令先行予以编程。同样,可修改DSP列表协处理器500以高效地使用该列表内存作为通用多项式求值(polynomial evaluation)的一部份。
图3为图2之RISC处理器核心300的方块图。图3系图标RISC处理器核心300中对了解本发明为重要且省略其它习知特性的细节。RISC处理器核心300包含通用寄存器文件302。该通用寄存器文件302包含32个各有32个位宽(bit wide)的寄存器,分别依序以“r0”、“r1”、“r2”、...、“r31”标示。此外,RISC处理器核心300包含组态寄存器304,其系具有标示为“UDI”的位306,该位306系用于或去(enable or disable)使用者所界定之接口的运算。执行单元(execution unit)308可存取UDI位306及寄存器文件302内的寄存器两者,其系根据软件程序执行指令目录(instruction repertoire)中之指令。
有一类指令为UDI指令集。为响应UDI指令的接收,当以UDI位306致能UDI指令时,执行单元308传送表示该指令且需要寄存器数值作为操作数的字段至UDI接口控制器310。然后,UDI接口控制器310通过UDI接口210控制RISC处理器核心300与DSP列表协处理器500之间的数值交换。
当被UDI位306致能时,执行单元308译码及执行图4所示之UDI指令,图4系图标图3之RISC处理器核心300所用之协处理器指令400的格式(format)。指令400为带有7个不同位长度之字段402、404、406、308、410、412、414的32位指令。位3至0包含习知为“SET CODE”字段的字段402。该SET CODE字段系识别UDI指令的主要类型,这包括ALU运算、MAC运算、列表运算(以下将予以详述)、移至及移自运算(move to and from operation)、以及延伸ALU运算。
位5与4包含习知为“BLOCK”字段的字段404。DSP列表协处理器500的BLOCK字段404永远被设定为01。
位10至6包含习知为“SUBSET CODE”字段的字段406。SUBSETCODE字段406系界定DSP列表协处理器500认得的特定运算码(opcode),且基于SET CODE字段402的数值而有不同意思。
对大部份的SET CODE数值而言,指令系使DSP列表协处理器500执行习知的数据处理运算。不过,DSP列表协处理器500能够执行一组特殊的运算,习知为列表运算(list operation),从而可利用许多DSP运算的相继性。因此,当SET CODE字段402表示列表运算时,SUBSETCODE字段406有列于表I的编码。
表I
SUBSEICODE 助忆码 说明
00000 MFXH_COMPLEX   由X头移除32位紧缩带正负号复数(32-bit packed signed complexnumber)(两个实数的16位半字符)且开始长度为XLENGTH的管线点乘积(pieplined dot product)。送回先前的X头(40位c9b31累计值)
00001 MFXH_COMPLEX_CX   在点乘积之前X-列表为共轭
00010 MFXH_COMPLEX_CXY X与Y为逻辑共轭
00011 MTYH_COMPLEX   在Y头上放入32位紧缩带正负号复数且开始用40位c9b31累计值长度为XLENGTH/2的管线点乘积(ETSI不使用复数算术,故所有MAC均为c9b31)
00100 MIYH_COMPLEX_CX   在点乘积之前X-列表为共轭
00101 MIYH_COMPLEX_CXY X与Y为逻辑共轭
00110 MFXH_REAL   由X列表头移除一实数int16且开始管线实数点乘积
00111 MFXH_REAL32   由X列表头移除一实数int16且开始用lb31(32位)累计值管线实数点乘积(pipelined real product))以及溢位/饱和的测试(依照ETSI规定)
01000 MIYH_REAL   Y列表头上放入一实数int16且开始管线实数点乘积,继续平行进行乘法运算,得一结果(XLENGTH可为奇数)
01001 MIYH_REAL32   Y列表头上放入一实数int16且开始管线实数1b31 ETSI规格之点乘积(pipelined real 1b31ETSI-spec dot product)
01010 MFXH1   由X头移动短资料(short data),以*rd送回到呼叫程序,递减XLENGTH
01011 MFXH2   由X头移动资料对(data pair),XLENGTH减2,以*rd送回先前的XHEAD资料对到呼叫程度
01100 MFYH1   由Y头移动短(16位)资料组件,以*rd送回先前YHEAD的资料到呼叫程序
01101 MFYH2   由Y头移动list Data(紧缩2×16)的资料,以*rd送回先前YHEAD的资料到呼叫程序
01110 MTXT1   加载int16数值到X尾
01111 MTXT2   加载紧缩2×16到X尾(表示1个复数或2个实数),此功能系用来复原X-列表的上下文故永远成对加载以维持效率
10000 MTYH1   Y头放入int16数值,不进行列表完整性检查(list integrity checking
10001 MTYH2   Y头放入资料对,不进行列表完整性检查
表II列出在列表指令期间传送于RISC处理器核心300与DSP列表协处理器500之间的操作数:
表II
  SUBSET CODE 助忆码 Rs Rt Rd 周期
  00000   MFXH_COMPLEX   X     X   N/A   多个
  00001   MFXH_COMPLEX_CX   X     X   N/A   多个
  00010   MFXH_COMPLEX_CXY   X     X   N/A   多个
  00011   MTYH_COMPLEX   操作数     X   N/A   多个
  00100   MTYH_COMPLEX_CX   操作数     X   N/A   多个
  00101   MTYH_COMPLEX_CXY   操作数     X   N/A   多个
  00110   MFXH_REAL   X     X   结果   多个
  00111   MFXH_REAL32   X     X   结果   多个
  01000   MTYH_REAL   操作数     X   N/A   多个
  01001   MTYH_REAL32   操作数     X   N/A   多个
  01010   MFXH1   X     X   结果   1
  01011   MFXH2   X     X   结果   1
  01100   MFYH1   X     X   结果   1
  01101   MFYH2   X     X   结果   1
  01110   MTXT1   操作数     X   N/A   1
  01111   MTXT2   操作数     X   N/A   1
  10000   MTYH1   操作数     X   N/A   1
  10001   MTYH2   操作数     X   N/A   1
其中“X”表示忽略不计(don’t care),而“多个”表示周期数取决于X内存524及/或Y内存522内之诸列表的元素个数(亦即,列表的长度)。
位31至26系形成具有二进制数值为“011100”以表示所谓之“SPECIAL 2”指令格式的指令型字段414以表示当BLOCK字段也有01值时,该指令为想要用于DSP列表协处理器500的UDI指令。
其余的位字段包含数个操作数寄存器指定符(operand registerdesignator),各为5个位长以选定32个通用寄存器中之一个。位25-21包含第一来源操作数识别符字段412,标示为“rs”。位20至16包含第二来源操作数识别符字段410,标示为“rt”。位15至11包含目的地操作数识别符字段408,标示为“rd”。是否使用此类字段取决于该指令的类型。
图5系图标图2之DSP列表协处理器500的方块图。DSP列表协处理器500通常包含控制及定序逻辑(control and sequencing logic)510、列表内存520、以及算术逻辑单元(ALU)530。控制及定序逻辑510系管理UDI接口210,且译码以INSTRUCTION字段表示的指令。它也保存指向列表内存520的指针。此类指针包含“Y”内存522与“X”内存524中之每一内存的起始指针(head pointer)与末尾指针(tail pointer)。因此,控制及定序逻辑510输出标示为“YH”的Y起始指针、标示为“YT”的Y末尾指针、标示为“XH”的X起始指针、以及标示为“XT”的X末尾指针。如以下将进一步予以描述的,起始及末尾指针系界定数值之连续列表的开始及结束地址。控制及定序逻辑510也输出标示为“ADDRESSA”供索引Y内存522内之列表的地址、标示为“ADDRESSB”供索引X内存524内之列表的地址、标示为“DATAY”且待存储于Y内存的资料数值、以及标示为“DATAX”且待存储于X内存的资料数值。
列表内存520包含Y内存522与X内存524两者,各存储数个16位数值。就执行一个特别有用的DSP运算的目的而言,亦即,有限脉冲响应(FIR)滤波器计算,X内存524内的数值系与该滤波器的系数相对应,而Y内存522内数值与资料样本相对应。
ALU 530包含寄存器532与534、多任务器(MUX)540、乘法累加运算(multiply-and-accumulate,MAC)单元542与544、以及修补逻辑(fix-up logic)546。寄存器532系连接至Y内存522的输出且有“A”部份与“B”部份,其系用于各自存储Y内存522所输出之16位字符(16-bitword)的高字节与低字节。同样,寄存器534连接至X内存524的输出且有“C”部份与“D”部份,其系用于各自存储X内存524所输出之16位字符的高字节与低字节。MUX 540有连接至A、B、C、D寄存器之输出的输入以及4个输出。MUX 540为有利于紧缩算术运算(packedarithmetic operation)的完全4×4 MUX,如以下所做之更完整描述。MAC542有连接至MUX 540的第一与第二输出端子的第一与第二输入端子以及40位输出端子。MAC 544有连接至MUX 540之第三与第四输出端子的第一与第二输入端子以及40位输出端子。如以下所做之更完整描述,MAC 542与544各有数个可选择之饱和模式(saturation mode)以便提供不同的饱和假定(saturation assumption)给两种习知类型的信号处理。
ALU 530包含修补逻辑546电路546,其系具有连接至MAC 542之输出端子的第一输入端子、连接至MAC 544之输出端子的第二输入端子、以及连接至接口210用来提供rd数值的输出端子。更具体言之,修补逻辑546包含累加器,其系具有标示为“ACC0”的较低(lower)16位部份548与标示为“ACC1”的较高(upper)16位部份550(548与550在本文中亦有称为“累加器部份”或“累加器”)。累加器部份548与550图标成分开的部份,这是因为彼等系分开存储执行紧缩运算时的结果。不过,在执行全32位算术(full 32-bit arithhmetic)时,会将结果的下半部存储于累加器548而将上半部存储于累加器550。修补电路546系完成该指令所界定之正规化(normalization)、定标(scaling)、舍入(rounding)、及饱和。
现在请一起参考图4与图5,显然数据处理系统200系执行数个可用来作为有效率信号处理例程之一部份的协处理器指令。第一指令为所谓的点乘积型指令(dot product type instruction)。点乘积指令系将第一列表中的每一数值乘上第二列表中的对应数值,且加总乘积。因此,例如,DSP列表协处理器500可高效地执行FIR滤波器计算且对RISC处理器核心300的运算有最少的中断(disruption)。运行于RISC处理器核心300的代码系执行指令,例如MTYH REAL32指令,其系传送新的资料样本到保存于Y内存522内的列表,且开始点乘积运算(dotproduct operation)。DSP列表协处理器500首先藉由递增起始指针YH而将资料样本加到列表且存储数据样本于其中,且藉由递增末尾指针YT而移除最早的资料样本。然后,使用地址指针ADDRESSB与ADDRESSA分别从X内存524读取系数以及从数据存储器522读取对应的资料样本,再分别将彼等存储于寄存器532与534。MUX 540发送此类操作数到MAC单元542与544中之一个,在此进行相乘。通过列表的其余系数与资料数值继续该序列,直到到达LENGTH。然后,提供该结果至修补逻辑546以便进行适当的舍入与饱和。藉由在DSP列表协处理器500中维持数个列表内存,数据处理器200使得RISC处理器核心300与DSP列表协处理器500易于整合且以需要少数外部内存存取的方式成为可能。此外,将新操作数加到列表的传送以及开始计算新的计算可同时开始。
系统200的重要特征在于:DSP列表协处理器500能够为响应一INSTRUCTION(例如,MTYH_REAL32)而开始点乘积计算,且为响应另一INSTRUCTION(例如,MFXH1)而撷取结果并且将它存储于通用寄存器。因此,软件编译器可使RISC微处理器核心300可继续做有用的工作同时DSP列表协处理器500执行长点乘积计算(long dot productcalculation)。不允许起头的INSTRUCTION(MTYH_REAL32)延迟(stall)管线,然而如果结果还没备妥则收尾的INSTRUCTION(MFXH1)可延迟该管线。因此,有效率的编译器可使用这两种指令以避免浪费与协处理器潜伏(coprocessor latency)有关的周期。
另一重要的特征是在于:DSP列表协处理器500包含两种分开的MAC,各可选定以提供不同的舍入及饱和假定。其中之一为32位饱和模式,习知为ETSI(欧洲电信标准协会)算术。处于32位饱和模式时,DSP列表协处理器500使部份结果饱和至32个位。另一模式为40位饱和模式。处于40位饱和模式时,DSP列表协处理器500累积部份结果于40位累加器且只在计算结束时使最后的总和饱和至32位。这两种技术有时会产生不同的结果,且DSP列表协处理器500维持这两种算法中的每一个的位准确度(bit accuracy)。在其它具体实施例中,也支持DSP列表协处理器500的可额外选定的舍入及饱和模式。此类可选定模式可支持范围广泛的数学表式(mathematical representation),不一定是线性,这对像图形变换、影像处理、以及密码学这类的应用系统很有用。
另一重要的特征为所谓的序列MAC模式(serial MAC mode)。在许多DSP算法中,一MAC指令系立即接着另一MAC指令。在这种情形下,将MAC结果饱和至32位可能无法令人满意,而是组合第一MAC指令的未饱和40位结果与第二MAC指令的未饱和40位结果。DSP列表协处理器500使用双乘法累加(DMAC)指令而高效地提供此类型的运算。修补逻辑546系组合MAC单元542与544的两个40位结果于饱和结果为32位之前。
有两个MAC使得DSP列表协处理器500可高效地进行紧缩算术(packed arithmetic)。例如,可将此类操作数当作两个16位操作数或4个8位操作数处理。这两个MAC使得两个独立的相乘可同时进行。
此外,DSP列表协处理器500包含许多指令,包括也有利于特殊列表与紧缩算术运算的标准ALU与操作数移动指令。为了设定列表的长度,移动至长度寄存器(move to length register,MTL)的指令可用来移动rd信号线上的数值到内部的LENGTH寄存器。
因此,本文所述之数据处理器实现了有效率的信号处理。数据处理器提供许多超过习知数据处理器的优点。第一,它大幅提升通用RISC处理器的性能,包括单一大型内存集用区(memory pool)的内存管理、一大组的通用寄存器、通用指令、RISC的哈佛架构(Harvardarchitecture)、以及控制流(control flow)。
第二,藉由包含带有DSP运算专用电路的专用协处理器,数据处理器可更高效地执行DSP功能同时消耗更少的电力。
第三,由于不需要特殊的引擎提取(engine fetch)、存储、冲突(conflict)、异常(exception)、等等,DSP列表协处理器不会中断RISC的管线。
第四,藉由提供两种不同尺寸的替代MAC单元,数据处理器使得程序设计员可保持DSP算法的位准确度,不论是用ETSI标准计算或者是AMD型计算。
第五,数据处理器大幅提升用于RISC处理器核心的极先进编译器技术,其系提供可内含于线内(in-line)作为组合或C语言代码的低阶及高阶宏。
第六,DSP列表协处理器包含相对小型的局部列表内存用以存储常用于DSP运算的操作数。数据处理器可一次由主存储器以相对高的电力成本提取此类操作数,然后在DSP列表协处理器内以相对低的电力成本重复使用此类操作数。
第七,藉由使开始及结束指令可用于冗长的DSP运算,数据处理器允许CPU的管线与DSP列表协处理器管线继续平行运算,稍后只在结果还没备妥时才会延迟CPU的管线。
第八,DSP列表协处理器有可扩充式(scalable)ALU。在图标具体实施例中,DSP列表协处理器包含两个MAC单元,但可减少MAC单元的数目为只有一个或增加为较大的个数,例如4个,以满足不同的设计取舍。
第九,数据处理器使用以列表为基底的内存,这对DSP运算,例如FIR滤波器与卷积(convolution)特别有效率。此架构提供内部列表内存的显著重复使用性且减少从主存储器加载新资料的要求,以致可节省电力且使处理有效率。
第十,DSP列表协处理器支持不同的操作数长度及格式,使得可高效地执行有用的DSP计算。因此,例如DSP列表协处理器可计算单一实数点乘积、两个平行点乘积、或单一复数点乘积。
第十一,数据处理器便于支持紧缩算术。因此,数据处理器利用现存的32位寄存器接口即可使DSP列表协处理器同时加载两个16位大小的DSP变量(两个实数或者是一个复数)于DSP列表协处理器的列表内存内。
第十二,数据处理器的架构容易通过列表内存的构造支持上下文交换(context switching)。因此,可扩展此架构以支持硬件内的多重上下文(multiple contexts)以避免与上下文交换有关的正常负荷(normaloverhead)。
第十三,在处理时间和电力消耗方面,数据处理器进一步最佳化RISC处理器核心的整体性能,此系藉由提供一组可被DSP列表协处理器执行的丰富指令以完成有用的功能。此类功能的例子包含:包装地址于指定范围内且由输入数组计算出自相关数组(autocorrelationarray),该输入数组系经加载于在DSP列表协处理器内部里的列表。至于许多其它有用的功能,熟谙此艺者也可由以上指令集的说明了解。
尽管以上的详细说明描述了至少一示范具体实施例,应了解仍有许多变化。也应了解,此类示范具体实施例都只是实施例,且不希望以任何方式限定本发明的范畴、适用范围、或组态。反而是,以上的详细描述系提供熟谙此艺者一个便于具体实施此类示范具体实施例的蓝图。应了解,对于功能及组件的排列可做成各种改变而不脱离依照附上之申请专利范围及其合法等价陈述所界定的本发明范畴。

Claims (10)

1.一种数据处理器(200),包含:
处理器核心(300);
耦合至该处理器核心(300)的接口(210);以及
通过该接口(210)而耦合至该处理器核心(300)的协处理器(500),该协处理器(500)包含第一列表内存(522),
其中为响应预定指令(400),该处理器核心(300)通过该接口(210)提供操作数至该协处理器(300),
其中该协处理器(500)存储该操作数于该第一列表内存(522)内且使用多个来自该第一列表内存(522)的数值执行对应到该预定指令(400)的运算以提供结果。
2.如权利要求1所述的数据处理器(200),其中该协处理器(500)进一步包含第二列表内存(524),且进一步使用多个来自该第二列表内存(524)的数值执行对应到该预定指令的该运算以提供该结果。
3.如权利要求2所述的数据处理器(200),其中此类多个来自该第一列表内存(522)的数值包含多个样本数据值,此类多个来自该第二列表内存(524)的数值包含多个滤波器系数,且对应到该预定指令的该运算包含有限脉冲响应滤波器输出计算。
4.如权利要求1所述的数据处理器(200),其中该协处理器(500)包含第一乘法累加运算单元(542)。
5.如权利要求4所述的数据处理器(200),其中该协处理器(500)进一步包含第二乘法累加运算单元(544),且其中该第一(542)与第二(544)乘法累加运算单元中的每一个有可选择饱和模式。
6.一种数据处理器(200),包含:
处理器核心(300);
耦合至该处理器核心(300)的接口(210);以及
耦合至该接口(210)的协处理器(500),
其中为响应第一预定指令,该处理器核心(300)提供指令与操作数数值通过该接口(210)到该协处理器(500),且该协处理器(500)根据该第一预定指令,初始化第一预定运算;
为响应第二预定指令,该协处理器(500)在该第一预定运算完成后即提供该结果至该接口(210)。
7.如权利要求6所述的数据处理器(200),其中该第一预定指令包含有限脉冲响应滤波器激活指令,且该第二预定指令包含有限脉冲响应滤波器终止指令。
8.如权利要求7所述的数据处理器(200),其中为响应该有限脉冲响应滤波器激活指令,该处理器核心(300)继续执行指令,且为响应该有限脉冲响应滤波器终止指令,该处理器核心(300)暂停做进一步的指令处理直到该协处理器(500)发出该预定运算系完成的信号。
9.一种用于高效地运算数据处理系统(200)的方法,该方法包含以下步骤:
为响应第一指令,加载操作数于中央处理单元(300)的寄存器中;
为响应第二指令(400),由该寄存器提供该操作数至接口(210);
为响应该第二指令(400),存储该操作数于耦合至该接口(210)的协处理器(500)的第一列表内存(522)中;以及
在该协处理器(500)中,使用多个来自该第一列表内存(522)的数值执行与该第二指令相对应的预定运算以提供结果。
10.如权利要求9所述的方法,其中执行该预定运算的该步骤包含以下步骤:使用此类多个来自该第一列表内存(522)的数值以及多个来自该协处理器(500)的第二列表内存(524)的数值执行该预定运算。
CNA2006800044677A 2005-02-09 2006-01-17 适用于高效数字信号处理的数据处理器及其方法 Pending CN101116053A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/054,220 US20060179273A1 (en) 2005-02-09 2005-02-09 Data processor adapted for efficient digital signal processing and method therefor
US11/054,220 2005-02-09

Publications (1)

Publication Number Publication Date
CN101116053A true CN101116053A (zh) 2008-01-30

Family

ID=36593622

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800044677A Pending CN101116053A (zh) 2005-02-09 2006-01-17 适用于高效数字信号处理的数据处理器及其方法

Country Status (8)

Country Link
US (1) US20060179273A1 (zh)
JP (1) JP2008530689A (zh)
KR (1) KR20070105328A (zh)
CN (1) CN101116053A (zh)
DE (1) DE112006000340T5 (zh)
GB (1) GB2437684B (zh)
TW (1) TW200636571A (zh)
WO (1) WO2006086122A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777037A (zh) * 2010-02-03 2010-07-14 中兴通讯股份有限公司 一种查找引擎实时系统内数据传输的方法和系统
CN102023841A (zh) * 2009-09-09 2011-04-20 威盛电子股份有限公司 微处理器以及相关指令执行方法
CN102262608A (zh) * 2011-07-28 2011-11-30 中国人民解放军国防科学技术大学 基于处理器核的协处理器读写操作控制方法及装置
CN102707988A (zh) * 2011-04-07 2012-10-03 威盛电子股份有限公司 执行模式备份寄存器的模拟
TWI478065B (zh) * 2011-04-07 2015-03-21 Via Tech Inc 執行模式備份暫存器之模擬
CN110489356A (zh) * 2019-08-06 2019-11-22 上海商汤智能科技有限公司 信息处理方法、装置、电子设备及存储介质

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7586904B2 (en) * 2004-07-15 2009-09-08 Broadcom Corp. Method and system for a gigabit Ethernet IP telephone chip with no DSP core, which uses a RISC core with instruction extensions to support voice processing
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor
US8914618B2 (en) * 2005-12-29 2014-12-16 Intel Corporation Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
US7865808B2 (en) 2007-05-09 2011-01-04 Harris Corporation Fast error detection system and related methods
CN101521960B (zh) * 2009-02-11 2013-12-11 北京中星微电子有限公司 一种基带和协处理器间的通信方法、装置及系统
JP5445147B2 (ja) * 2010-01-07 2014-03-19 富士通株式会社 リスト構造制御回路
KR101849702B1 (ko) 2011-07-25 2018-04-17 삼성전자주식회사 외부 인트린직 인터페이스
CN102523374B (zh) * 2011-12-19 2014-02-19 北京理工大学 一种实时并行的电子稳像系统设计方法
US9760371B2 (en) 2011-12-22 2017-09-12 Intel Corporation Packed data operation mask register arithmetic combination processors, methods, systems, and instructions
US9582287B2 (en) 2012-09-27 2017-02-28 Intel Corporation Processor having multiple cores, shared core extension logic, and shared core extension utilization instructions
US9785444B2 (en) 2013-08-16 2017-10-10 Analog Devices Global Hardware accelerator configuration by a translation of configuration data
US11449452B2 (en) * 2015-05-21 2022-09-20 Goldman Sachs & Co. LLC General-purpose parallel computing architecture
JP6816027B2 (ja) 2015-05-21 2021-01-20 ゴールドマン サックス アンド カンパニー エルエルシー 多目的の並列処理アーキテクチャ
CN107615389B (zh) 2016-02-25 2021-04-13 慧与发展有限责任合伙企业 忆阻乘法器件、用于复数乘法累加运算的方法及忆阻阵列
WO2019005115A1 (en) 2017-06-30 2019-01-03 Intel Corporation APPARATUS AND METHOD FOR MULTIPLICATION AND CUMULATION OF COMPLEX VALUES
WO2019005132A1 (en) * 2017-06-30 2019-01-03 Intel Corporation APPARATUS AND METHOD FOR MULTIPLICATION AND CUMULATION OF COMPLEX VALUES
US10884953B2 (en) 2017-08-31 2021-01-05 Hewlett Packard Enterprise Development Lp Capability enforcement processors
TWI719786B (zh) 2019-12-30 2021-02-21 財團法人工業技術研究院 資料處理系統與方法
CN111158756B (zh) * 2019-12-31 2021-06-29 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置
CN111400986B (zh) * 2020-02-19 2024-03-19 西安智多晶微电子有限公司 一种集成电路计算设备及计算处理系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4897779A (en) * 1988-07-20 1990-01-30 Digital Equipment Corporation Method and apparatus for optimizing inter-processor instruction transfers
EP0442041A3 (en) * 1990-01-18 1991-09-04 National Semiconductor Corporation Integrated digital signal processor/general purpose cpu with shared internal memory
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
TW439380B (en) * 1995-10-09 2001-06-07 Hitachi Ltd Terminal apparatus
US5909463A (en) * 1996-11-04 1999-06-01 Motorola, Inc. Single-chip software configurable transceiver for asymmetric communication system
US6530014B2 (en) * 1997-09-08 2003-03-04 Agere Systems Inc. Near-orthogonal dual-MAC instruction set architecture with minimal encoding bits
US6189094B1 (en) * 1998-05-27 2001-02-13 Arm Limited Recirculating register file
DE69901556T2 (de) * 1998-05-27 2002-11-21 Advanced Risc Mach Ltd Rückführender registerspeicher
US6754804B1 (en) * 2000-12-29 2004-06-22 Mips Technologies, Inc. Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions
US8090928B2 (en) * 2002-06-28 2012-01-03 Intellectual Ventures I Llc Methods and apparatus for processing scalar and vector instructions

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023841A (zh) * 2009-09-09 2011-04-20 威盛电子股份有限公司 微处理器以及相关指令执行方法
CN102023841B (zh) * 2009-09-09 2013-10-30 威盛电子股份有限公司 微处理器以及相关指令执行方法
CN101777037A (zh) * 2010-02-03 2010-07-14 中兴通讯股份有限公司 一种查找引擎实时系统内数据传输的方法和系统
CN102707988A (zh) * 2011-04-07 2012-10-03 威盛电子股份有限公司 执行模式备份寄存器的模拟
TWI478065B (zh) * 2011-04-07 2015-03-21 Via Tech Inc 執行模式備份暫存器之模擬
CN102707988B (zh) * 2011-04-07 2015-09-09 威盛电子股份有限公司 微处理器及其操作方法
CN102262608A (zh) * 2011-07-28 2011-11-30 中国人民解放军国防科学技术大学 基于处理器核的协处理器读写操作控制方法及装置
CN110489356A (zh) * 2019-08-06 2019-11-22 上海商汤智能科技有限公司 信息处理方法、装置、电子设备及存储介质
CN110489356B (zh) * 2019-08-06 2022-02-22 上海商汤智能科技有限公司 信息处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2006086122A1 (en) 2006-08-17
TW200636571A (en) 2006-10-16
GB2437684B (en) 2009-08-05
JP2008530689A (ja) 2008-08-07
US20060179273A1 (en) 2006-08-10
DE112006000340T5 (de) 2007-12-27
KR20070105328A (ko) 2007-10-30
GB2437684A (en) 2007-10-31
GB0716020D0 (en) 2007-09-26

Similar Documents

Publication Publication Date Title
CN101116053A (zh) 适用于高效数字信号处理的数据处理器及其方法
KR102549680B1 (ko) 벡터 계산 유닛
US6944747B2 (en) Apparatus and method for matrix data processing
CN101751244B (zh) 微处理器
US5880981A (en) Method and apparatus for reducing the power consumption in a programmable digital signal processor
CN100545804C (zh) 一种基于cisc结构的微控制器及其指令集的实现方法
CN113032012B (zh) 用于低能加速器处理器架构的设备
JP2024038122A (ja) 行列演算アクセラレータの命令のための装置、方法、およびシステム
KR19980018072A (ko) 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리
JPH10134036A (ja) マルチメディア信号プロセッサの単一命令多重データ処理
JP2005525651A (ja) 拡張可能なプロセッサアーキテクチャ中にアドバンスド命令を追加するための方法および装置
JPH1091443A (ja) 情報処理回路、マイクロコンピュータ及び電子機器
JP3819686B2 (ja) マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置
JP2021057004A (ja) 行列演算アクセラレータの命令のための装置、方法、及びシステム
CN111045728A (zh) 一种计算装置及相关产品
JPS6124729B2 (zh)
KR19980041758A (ko) 축소 데이타 경로 폭을 갖는 2-비트 부스 곱셈기
KR19980018065A (ko) 스칼라/벡터 연산이 조합된 단일 명령 복수 데이터 처리
Ezer Xtensa with user defined DSP coprocessor microarchitectures
US20020120830A1 (en) Data processor assigning the same operation code to multiple operations
Lin et al. A unified processor architecture for RISC & VLIW DSP
KR100639146B1 (ko) 카테시안 제어기를 갖는 데이터 처리 시스템
CN112130899A (zh) 一种堆栈计算机
CN115469931B (zh) 一种循环程序的指令优化方法、装置、系统、设备及介质
CN111930672B (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
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES INC.

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100730

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA STATE, USA TO: CAYMAN ISLANDS GRAND CAYMAN ISLAND

TA01 Transfer of patent application right

Effective date of registration: 20100730

Address after: Grand Cayman, Cayman Islands

Applicant after: Globalfoundries Semiconductor Inc.

Address before: American California

Applicant before: Advanced Micro Devices Inc.

AD01 Patent right deemed abandoned

Effective date of abandoning: 20080130

C20 Patent right or utility model deemed to be abandoned or is abandoned