CN105988773A - 硬件接口组件和用于硬件接口组件的方法 - Google Patents
硬件接口组件和用于硬件接口组件的方法 Download PDFInfo
- Publication number
- CN105988773A CN105988773A CN201510069258.1A CN201510069258A CN105988773A CN 105988773 A CN105988773 A CN 105988773A CN 201510069258 A CN201510069258 A CN 201510069258A CN 105988773 A CN105988773 A CN 105988773A
- Authority
- CN
- China
- Prior art keywords
- hardware interface
- register
- interface module
- programming
- memorizer
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000006399 behavior Effects 0.000 claims description 7
- 230000005055 memory storage Effects 0.000 claims description 5
- 238000000429 assembly Methods 0.000 claims description 2
- 230000000712 assembly Effects 0.000 claims description 2
- 238000000151 deposition Methods 0.000 claims description 2
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 abstract description 20
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000011469 building brick Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
- G06F9/3881—Arrangements for communication of instructions and data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
一种硬件接口组件被设置为可操作地将至少一个运算单元耦合至处理***的互连组件。硬件接口组件包括多个编程可见寄存器以及至少一个操作解码器组件。至少一个操作解码器组件被设置为,在通过互连组件收到对应于硬件接口组件的布置的存储器映射的地址范围的写入访问请求时,解码所接收的写入访问请求的目标地址的寄存器标识符部分以标识所述编程可见寄存器中的至少一个,解码所接收的写入访问请求的目标地址的布置部分以标识执行的运算操作,以及配置运算单元以对在标识的至少一个编程可见寄存器内的至少一个输入操作数执行标识的运算操作。
Description
技术领域
本发明涉及硬件接口组件,以及更具体的涉及被设置为可操作地将至少一个运算单元耦合至处理***的互连组件的硬件接口组件。
背景技术
在诸如功率计量的深嵌入式应用空间中,对于高动态范围运算操作的硬件支持对最大化***性能以及最小化装置功耗是重要的。常规的通用处理核心对于通用应用进行优化,以及由于缺少对于高动态范围运算操作(诸如像除法、平方根、乘法以及饱和分数信号处理的64位运算操作)的硬件支持而通常不能支持许多深嵌入式应用空间需要的计算性能。
领先的微控制器单元(MCU)提供者已经解决了对于这样的高动态范围运算操作在嵌入式应用内硬件支持的需要,这是通过提供例如具有FPU(浮点单元)模块的ARMTM CortexTM-M4的更先进的处理核心体系结构,或者通过将专用的、存储器映射的运算硬件单元与更通用处理核心进行集成而实现的。然而更先进的处理核心体系结构可以适合于高端应用,它们的高单位成本通常使得它们对于低端应用是过于昂贵的。因此,将专用的存储器映射的运算硬件单元与通用处理核心集成对于提供指定尺寸和功率约束内的低端嵌入式应用内的硬件支持是需要的。
常规地,专用存储器映射运算单元通过硬件接口连接到微控制器核。运算单元通常被实现为硬线连接逻辑电路,其被设计为在单个时钟周期中计算诸如乘、乘加和乘减的基本操作,以及在若干时钟周期中计算诸如除和平方根的更高级的操作。虽然用于高动态范围计算的独立运算单元的性能可以提供相较于最常用微控制器核的好几倍的增加,但是利用运算硬件单元的这样的计算性能的能力通常受限于将运算单元接口至通用微控制器核的硬件接口的能力,以及反之亦然。
图1示出用于存储器映射运算硬件单元110的常规基本硬件接口实现方式。存储器映射运算单元110显示为32位设计。因此,编程模型寄存器的宽度是32位。对于64位运算操作加速,两个32位寄存器级联在一起以形成需要的64位数据操作数。按照惯例,引用的32位寄存器被命名为<REG>_H{igh}和<REG>_L{ow}。
图1中示出的基本硬件接口120包括:输入操作数寄存器(OP1_L、OP1_H、OP2_L和OP2_H)、用于通过运算单元110执行的64位运算操作的输入操作数被写到该输入操作数寄存器中,控制寄存器,用于选择和启动操作和结果寄存器(RES_L和RES_H),从所述结果寄存器读取通过运算单元110执行的64位运算操作的结果。
将64=64/64除法操作用作通过运算单元110执行的64位运算操作的示例。为完整起见,64=64/64除法操作包括64位分母除以64位分子,以及计算的结果64位商。由图1中示出的基本硬件接口120实现的64=64/64编程模型包括以下用于64=64/64除法操作的存储器映射‘访问’:
1.ADDR(0x00)←NUMERATOR_L //将分子的最低有效32位写到OP1_L
2.ADDR(0x04)←NUMERATOR_H //将分子的最高有效32位写到OP1_H
3.ADDR(0x08)←DENOMINATOR_L //将分母的最低有效32位写到OP2_L
4.ADDR(0x0C)←DENOMINATOR_H //将分母的最高有效32位写到OP2_H
5.ADDR(0x10)←CONTROL(0x01) //写控制寄存器以选择&触发操作
6.QUOTIENT_L←ADDR(0x14) //从RES_L读结果商的最低有效32位
7.QUOTIENT_H←ADDR(0x18) //从RES_H读结果商的最高有效32位
基本硬件接口120被设计成用每个访问执行一个动作。控制寄存器被设置为选择需要的操作以及触发其执行。例如,控制寄存器可以包括用于支持运算的位映射,由此如所示出的,通过控制寄存器内的单个位标识每个支持的运算。
所有操作数、控制和结果寄存器在地址空间中连续地映射,这允许利用自动导致地址寄存器的递增的间接寻址来使用存储器装载和存储多个指令。使用这样的间接寻址装载和存储多个指令增加了基本硬件接口120的计算吞吐量。然而,使用基本硬件接口120执行单个64位运算操作需要附加的访问,所述访问是通过写控制寄存器来选择和触发运算单元以执行需要的运算操作来执行的。
应当注意,在此提供的编程模型示例对应于“低位优先”的存储器常规。然而,应当明白,其它实现方式可以遵循替代的存储器常规和组织,例如高位优先。
图2示出对于存储器映射运算硬件单元110的已知的先进的硬件接口实现方式。图2中示出的先进的硬件接口220包括:将输入操作数写到其中的一系列成对的第一输入操作数寄存器(OP1)、将输入操作数写到其中的一对第二输入操作数寄存器(OP2)和从其中读取通过运算单元110执行的64位运算操作的结果的一对结果寄存器(RES_L和RES_H)。先进的硬件接口220还使用对第一OP1操作数寄存器对的写入来选择通过运算单元110执行的操作以及对第二OP2操作数寄存器对的写入来启动操作。
再次将64=64/64除法操作用作通过运算单元110执行的64位运算操作的示例。通过图2中示出的先进的硬件接口220实现的64=64/64编程模型包括以下存储器映射‘访问’:
1.ADDR(0x00)←NUMERATOR_L //将分子的最低有效32
位写到OP1_L&选择64=64/64操作
2.ADDR(0x04)←NUMERATOR_H //将分子的最高有效32位写到OP1_H
3.ADDR(0x44)←DENOMINATOR_L //将分母的最低有效32位写到OP2_L
4.ADDR(0x48)←DENOMINATOR_H //将分母的最高有效32位写到OP2_H&触发64=64/64操作
5.QUOTIENT_L←ADDR(0x4C) //从RES_L读取结果商的最低有效32位
6.QUOTIENT_H←ADDR(0x50) //从RES_H读取结果商的最高有效32位
先进的硬件接口220被设计成与每个特定的访问一起执行多个动作;基于第一输入操作数寄存器地址选择操作类型,以及通过对第二操作数的最后写入来触发操作。以这样的方式,图1中示出的基本硬件接口120所需的对控制寄存器的单独访问是不需要的,将执行单个64位运算操作以及取回结果所需进行的访问的数量减少到六。
然而,原则上先进的硬件接口220的寄存器映射不能对于所有操作顺序地寻址,以及因此利用自动张贴地址寄存器的递增的间接寻址的指令的使用是非常受限或甚至是不适用的。此外,由于需要对每个支持操作设置的单独的第一输入操作数寄存器(OP1),与基本硬件接口120相比,在先进的硬件接口220内需要实现的寄存器的数量极大地增加。
在图1和图2中示出的专用运算单元的这些已知的硬件接口介绍了使用特定的寄存器选择和触发运算操作或者非顺序寄存器布局所导致的不同的性能低效。
发明内容
如在所附权利要求中描述的,本发明提供一种硬件接口组件和处理***,所述处理***包括这样的硬件接口组件以及在运算单元和处理***的互连组件之间交流的方法。
在从属权利要求中陈述本发明的特定实施例。
本发明的这些以及其它方面从参考在下文中描述的实施例将是明显的,以及将参考在下文中描述的实施例阐明本发明的这些以及其它方面。
附图说明
仅举例来说,将参考附图描述本发明的更多细节、方面和实施例。在附图中,类似的参考数字被用来标识类似的或者功能上相似的元件。图中的元件为简单和清楚起见而示出并且没有必要按比例绘制。
图1示出存储器映射运算硬件单元的常规的基本硬件接口实现方式。
图2示出存储器映射运算硬件单元的已知的先进的硬件接口实现方式。
图3示意性地示出处理***的一部分的简化框图。
图4示意性地示出硬件接口组件的示例的简化框图。
图5示出布置的(decorated)存储器映射的地址范围的示例。
图6示出代表通过图4的运算硬件单元支持的运算操作的集合的布置存储器映射的一部分的示例的表。
图7和8示出在处理***的互连组件和运算单元之间接口的方法的示例的简化流程图。
具体实施方式
现在将参考附图描述本发明的示例。然而,应当明白,本发明不限于在此描述的和如附图中所示出的特定的示例。此外,因为可能在极大程度上使用本领域技术人员已知的电子组件和电路实现本发明示出的实施例,所以不会以比如在下面示出的为理解和领会本发明潜在的概念考虑所需要的任何更大的程度说明细节,以及为了不混淆或分散本发明的教导。
根据本发明的第一方面的一些示例,提供被设置为可操作地将至少一个运算单元耦合至处理***的互连组件的硬件接口组件。硬件接口组件包括多个编程可见寄存器(program-visible register)以及至少一个操作解码器组件。至少一个操作解码器组件被设置为,在通过互连组件收到对应于硬件接口组件的布置的存储器映射的地址范围的写入访问请求时,基于布置的存储器映射的地址范围解码接收的写入访问请求的目标地址的寄存器标识符部分以标识所述编程可见寄存器中的至少一个,基于布置的存储器映射的地址范围解码接收的写入访问请求的目标地址的布置部分以标识执行的运算操作,以及配置运算单元以对在标识的至少一个编程可见寄存器内的至少一个输入操作数执行标识的运算操作。
有利地,以及如以下更详细地描述的,通过实现这样的硬件接口组件的布置的存储器映射的地址范围,不需要用于选择以及触发运算操作的对控制寄存器的单独访问,而仍然允许硬件接口的寄存器映射对于所有操作顺序地寻址,由此允许以地址寄存器的自动公告递增(automatic post incrementing)的间接寻址使用装载和存储多个指令。此外,在硬件接口组件内不需要提供对于每个操作的不同的寄存器。
现在参考图3,示意性地示出处理***300的一部分的简化框图,在示出的示例中所述处理***300实现在集成电路装置305内,所述集成电路装置305包括在单个集成电路封装内的至少一个管芯。处理***300包括一个或多个处理器模块,例如微控制器单元(MCU)核心330。处理***300进一步包括至少一个运算硬件单元310,所述运算硬件单元310被设置为向高动态范围运算操作(诸如像除、平方根、乘以及饱和分数信号处理的64位运算操作)提供硬件支持。运算硬件单元310可操作地耦合到硬件接口组件320,所述硬件接口组件320被设置为可操作地将运算单元310耦合到***总线340或处理***300的其它互连组件。以这样的方式,MCU核330能够通过***总线340和硬件接口320访问由运算硬件单元310提供的运算资源。
图4示意性地示出硬件接口组件320的示例的简化框图。图4中示出的硬件接口组件320包括多个编程可见寄存器:用于传递输入操作数的四个寄存器410到440和用于累加操作或从示出的示例中的运算硬件单元310取回输出结果的两个累加器/结果寄存器450、460。硬件接口组件320进一步包括操作解码器组件470。在下文中描述的示例中,操作解码器组件包括用于由运算硬件单元310支持的运算操作集合的一个或多个布置的存储器映射地址范围。布置的存储器映射地址范围(一个或多个)可以被限定在存储在操作解码器组件470可访问的存储元件475内的查找表(LUT)内,在操作解码器组件470内硬线连接,或被以任何其它合适的方式限定。
布置的器件是实现地址范围操作的器件,以及施加‘布置’到在地址范围上执行的操作。布置可以被指定提供关于操作如何执行的语义信息。在本发明的示例的背景中,硬件接口组件320可以被考虑为布置的器件,由此,由运算硬件单元310支持的运算操作是存储器映射的,映射地址范围(或多个范围)包括操作布置。
图5示出布置的存储器映射地址范围510的示例。布置的存储器映射地址范围510通常覆盖诸如地址520的多个地址。在示出的示例中,在布置的存储器映射地址范围510内的每个地址520包括标识被访问的寄存器的寄存器标识符(ID)组件530,例如标识图4中示出的示例中的寄存器410到460中的一个。布置的存储器映射地址范围510内的每个地址520进一步包括至少一个布置部分540,在示出的示例中的布置部分540包括操作布置。图6示出代表用于由运算硬件单元310支持的运算操作集合的布置的存储器映射的一部分的示例的表。应当注意,图6中的表使用2数字数字标识符后缀表示64位寄存器。例如,A10指的是级联的{A1,A0}寄存器组合,X32指的是级联的{X3,X2}寄存器组合,等等。此外,由于所有的寄存器是32位(4字节)值,所以低阶二字节地址位(地址位[1:0])总是0以及因此没有被包括在表内。
图6中示出的布置的存储器映射的一部分显示用于64位平方根、32位×64位乘法以及64位/64位除法操作的映射。在图6中示出的示例中,地址位2到4被用来标识输入操作数和累加器/结果寄存器410到460,而地址位5到11被用来限定被执行的运算操作。以这样的方式,输入操作数和累加器/结果寄存器410到460对于每个运算操作在地址空间中被映射。
诸如饱和、数据限制和舍入的运算操作的附加属性还可以被映射在布置部分540内。例如,可以在适当的情况下由地址位[11]=1使能饱和。
在示出的示例中,通过在地址内使用较低有效位(即位2到4)映射输入操作数和累加器/结果寄存器410到460,输入操作数和累加器/结果寄存器410到460可以对于每个操作被连续地映射。此外,通过首先排序寄存器输入操作数寄存器的映射并以上升数字顺序排序,即X0、X1、X2、X3、A0、A1,这允许以地址寄存器的自动公告递增的间接寻址来使用存储器装载和存储多个指令,使硬件接口组件的计算吞吐量增加。
参考回图4,操作解码器组件470被设置为,在通过***总线340收到对应于硬件接口组件320的布置的存储器映射地址范围的写入访问请求时,解码接收的写入访问请求的目标地址的寄存器标识符部分530,以标识输入操作数寄存器410到440中的一个,以及将接收的写入访问请求的数据装载到标识的输入操作数寄存器中。操作解码器组件470进一步被设置为解码接收的写入访问请求的目标地址的布置部分540,以标识将被执行的运算操作,以及配置运算单元以执行标识的运算操作,例如通过操作选择信号410。
可以想到以降序使用输入操作数寄存器410到440。以该方式,总是使用最高编号的输入操作数寄存器X3 440(例如,如果只需要一个32位输入操作数,或者如果需要64位或更多输入操作数,则装载最后的输入操作数寄存器)。照此,将数据装载到输入操作数寄存器X3 440中可以被用作对于触发运算单元310以执行配置的运算操作的提示。因此,操作解码器组件470可以被设置为,在将数据装载到最后映射的输入操作数寄存器(即在示出的示例中的输入操作数寄存器X3 440)中时,触发运算单元310以执行配置的运算操作。
有利地,通过在硬件接口组件320内实现这样的布置的存储器映射,不需要执行用于选择和触发运算单元以执行需要的运算操作的附加访问,这是因为可以在将最后的输入操作数装载到最后映射的输入操作数寄存器中之后基本上立即触发和执行需要的运算操作。
图4中示出的硬件接口组件320的附加的特性包括,举例来说:
(i)对输入操作数寄存器X0、X1和X2410、420、430的写入访问在***总线340上从不停止;
(ii)如果运算单元310忙于之前的计算,则可以停止对最后映射的输入操作数寄存器X3 440的写入访问,直到运算单元310完成操作以及在累加器/结果寄存器A0和A1 450、460中结果变为可用。
(iii)在***总线340上不停止对输入操作数寄存器X0、X1、X2和X3 410、420、440、440的读取访问;
(iv)可以停止对累加器/结果寄存器A0和A1 450、460的读取访问,直到运算单元310完成操作以及用刚刚新计算的值更新累加器/结果寄存器A0和A1 450、460。
如在上文中描述的硬件接口组件320允许发展简单、短和有效的软件包以装载操作数以及从存储器映射的运算单元310取回结果。
将64=64/64除法操作用作通过运算单元310执行的64位运算操作的示例。通过图4中示出的硬件接口组件310实现的64=64/64编程模型包括以下存储器映射的‘访问’:
1.ADDR(0x780)←NUMERATOR_L//将分子的最低有效32位写入到X0
2.ADDR(0x784)←NUMERATOR_H//将分子的最高有效32位写入到X1
3.ADDR(0x788)←DENOMINATOR_L//将分母的最低有效32位写入到X2
4.ADDR(0x78C)←DENOMINATOR_H//将分母的最高有效32位写入到X3,选择&触发64=64/64操作
5.QUOTIENT_L←ADDR(0x790)//从A0读取结果商的最低有效32位
6.QUOTIENT_H←ADDR(0x794)//从A1读取结果商的最高有效32位
注意,数据值的最低有效32位也被称为最低有效字(LSW)以及最高有效32位也被称为最高有效字(MSW)。
凭借在对输入操作数寄存器410到440的写入访问的地址位[11:5]中指定执行的运算操作类别,以及在将数据装载到最后映射的输入操作数寄存器(即示出的示例中的X3 440)完成时触发的运算操作的执行,与图1中示出的现有技术的基本硬件接口120相比,图4中示出的硬件接口组件320用每个特定的访问能够执行更多动作。另外,对于每个映射运算操作,输入操作数以及累加器/结果寄存器410到460在地址空间中连续地映射,这允许以地址寄存器的自动公告递增的间接寻址使用装载和存储多个指令。
如将被本领域技术人员理解的,运算单元310可以支持对先前操作的结果执行的操作,例如对存储在累加器/结果寄存器450、460内的值执行的操作。可以通过对存储器映射的目标地址的读取访问来访问这样的操作,所述存储器映射的目标地址包括操作布置540和寄存器标识符部分530,所述操作布置540限定对存储在累加器/结果寄存器450、460内的一个或多个值执行的这样的操作,以及所述寄存器标识符部分530对应于累加器/结果寄存器450、460,将被用作输入操作数的结果值被存储在该累加器/结果寄存器450、460内。例如,在解码接收的读取访问请求的目标地址的寄存器标识符部分530和操作布置部分540时,如果操作布置部分540对应于对累加器/结果寄存器450、460内存储的一个或多个值执行的操作,则操作解码器组件470可以被设置为配置运算单元310以对标识的累加器/结果寄存器450、460内存储的值来执行由目标地址的操作布置部分540标识的运算操作。在收到这样的读取访问请求时,可以在***总线340上停止实际的读取访问,直到完成相应的运算操作以及将有效的结果值装载到累加器/结果寄存器450、460中。一旦有效的结果值已经被装载到累加器/结果寄存器450、460中,可以通过将相应的累加器/结果寄存器450、460内的计算的结果值传输到***总线340上完成实际的读取访问。
除了提供对通过运算单元310支持的运算操作的访问之外,硬件接口组件320进一步被设置为通过累加器/结果寄存器450、460的读取访问使这样的操作的结果(存储在累加器/结果寄存器450、460内)变得可用。例如,操作解码器组件470可以被设置为,在通过***总线340接收到读取访问请求时,解码接收的读取访问请求的目标地址以标识编程可见寄存器中的至少一个(例如,累加器/结果寄存器450、460中的一个),以及将标识的编程可见寄存器内的数据传输到***总线340。在一些示例中,操作解码器组件470可以被设置为停止***总线操作直到有效数据出现在标识的编程可见寄存器内,以及在有效数据出现在标识的编程可见寄存器内时,从标识的编程可见寄存器传输数据到***总线340。
现在参考图7和8,示出在例如可以被实现在图4中示出的硬件接口组件320内的处理***的互连组件和运算单元之间接口的方法的示例的简化流程图700、800。
首先参考图7,方法的该部分在705处开始,收到通过处理***的互连组件接收的写入访问请求。在710处随后确定,是否接收的写入访问请求包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)(或该地址范围中的一个)内的目标地址。如果确定接收的写入访问请求不包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)内的目标地址,在760处,方法结束。然而,如果确定接收的写入访问请求包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)内的目标地址,方法移到715,在那里,解码目标地址的寄存器标识符部分以标识在硬件接口组件内的寄存器,将接收的写入访问的数据写入到该寄存器中,例如在图4中将数据写入到输入操作数寄存器410到440中的哪一个寄存器中。在720处,随后将接收的写入访问的数据装载到标识的寄存器中。在示出的示例中,方法随后包括确定在其内装载数据的标识的寄存器是否包括最后映射的输入操作数寄存器(例如在图4中示出的示例中的寄存器X3 440)。如果确定标识的寄存器不是最后映射的输入操作数寄存器,则在760处方法结束。相反地,如果确定标识的寄存器是最后映射的输入操作数寄存器,则方法移到735,在那里,解码接收的写入访问请求的目标地址的布置部分以标识将被执行的运算操作。在740处,随后配置运算单元(AU)设置,以配置运算单元对硬件接口组件的输入操作数寄存器内存储的输入操作数执行标识的运算操作。在745处,随后触发运算单元以执行配置的运算操作。在750处,从运算单元接收运算操作的结果,以及在755处,将结果装载到一个或多个结果寄存器中。随后方法在760处结束。
现在参考图8,方法的该部分在805处开始,收到通过处理***的互连组件接收的读取访问请求。在810处随后确定,是否接收的读取访问请求包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)(或该地址范围中的一个)内的目标地址。如果确定接收的读取访问请求不包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)内的目标地址,在870处,方法结束。然而,如果确定接收的读取访问请求包括在硬件接口组件的布置的存储器映射的地址范围(一个或多个)内的目标地址,方法移到815,在那里,解码接收的读取访问请求的目标地址的寄存器标识符部分以标识在硬件接口组件内将从其中读取数据的寄存器,例如从结果寄存器450到460中的哪一个寄存器数据被传输到图4中的***总线340上。在示出的示例中,在820处,解码接收的读取访问请求的目标地址的布置部分。在825处,随后确定在标识的寄存器内有效数据是否存在。如果例如基于标识的寄存器的有效数据标志是否未置位而确定在标识的寄存器内有效数据不存在,则在830处方法停止总线操作,直到有效数据出现在标识的寄存器内(例如,直到对于标识的寄存器,有效数据标志被置位)。当确定有效数据在标识的寄存器内出现时,方法移到835,在那里基于目标地址的解码的布置部分确定是否需要对标识的寄存器内的数据执行运算操作。
如果确定不需要对标识的寄存器内存储的数据执行运算操作,方法跳到860,在那里,将标识的寄存器内的数据传输到***互连的数据总线组件,以及在870处方法结束。然而,在835处,如果确定需要对在标识的寄存器内存储的数据执行运算操作,则方法移到840,在那里,运算单元(AU)设置被配置为配置运算单元,以对硬件接口组件的标识的寄存器内存储的数据执行需要的运算操作。在850处,随后触发运算单元执行配置的运算操作。在示出的示例中,方法随后循环返回到825。
在前述说明书中,已经参考本发明的实施例的具体示例而描述了本发明。然而,将明显的是可以在没有脱离如所附权利要求中陈述的本发明的范围的情况下在其中进行各种修改和变化,以及权利要求不限于上面描述的特定的示例。
如在此所讨论的连接可以是例如通过中间装置适合于传输来自相应的节点、单元或装置的信号或者传输至相应的节点、单元或装置的信号的任何类型的连接。因此,除非暗指或者另外声明,连接例如可以是直接连接或者间接连接。可以将连接参考为单独连接、多个连接、单向连接或者双向连接来示出或者描述。然而,不同的实施例可以改变连接的实现方式。例如,可以使用单独的单向连接而不是双向连接,并且反之亦然。同时,可以用串行地或者以时分多路复用的方式传输多个信号的单连接来替换多个连接。同样地,携载多个信号的单独连接可以被分出到携载这些信号的子集的各种不同的连接中。因此,对于传输信号存在多种选择。
虽然在示例中已经描述特定的导电类型或者电势极性,但是应当明白,导电类型以及电势极性可以被反向。
在此描述的每个信号可以被设计为正或者负逻辑。在负逻辑信号的情况下,信号是低电平有效,其中逻辑真状态对应于逻辑电平零。在正逻辑信号的情况下,信号是高电平有效,其中逻辑真状态对应于逻辑电平一。注意,可以将在此描述的任何信号设计为或者负或者正逻辑信号。因此,在可替代实施例中,被描述为正逻辑信号的信号可以被实现为负逻辑信号,以及那些被描述为负逻辑信号的信号可以被实现为正逻辑信号。
此外,当分别指的是将信号、状态位或者类似设备译成其逻辑真或者逻辑假状态时,在此使用术语“有效”或者“设置”和“否定”(或者“无效”或者“清除”)。如果逻辑真状态是逻辑电平一,则逻辑假状态是逻辑电平零。以及如果逻辑真状态是逻辑电平零,则逻辑假状态是逻辑电平一。
本领域技术人员将认识到在逻辑块之间的边界仅仅是示例性的而可替代实施例可以合并逻辑块或电路元件或者强迫可替代的分解各种逻辑块或电路元件上的功能。因此,应当理解,在此描绘的体系结构仅仅是示例性的,而事实上可以实现达到相同功能的许多其它体系结构。例如,在示出的示例中,已经关于运算单元将硬件接口组件示出和描述为单独的功能组件。然而应当明白,硬件接口组件和运算单元可以被实现为集成组件。
任何获得相同功能的组件的设置被有效地‘关联’,以致获得期望的功能。因此,在此结合来达到特定功能的任何两个组件可以被视为彼此“相联系”使得达到期望的功能,而不管体系结构或者中间组件。同样地,任何这样联系的两个组件还可以被看作彼此‘可操作地连接’或者‘可操作地耦合’以获得期望的功能。
此外,本领域技术人员将认识到在以上所述描述的操作之间的边界仅仅是说明性的。多个操作可以被结合成单个操作,单个操作可以被分配在附加的操作中,以及可以在时间上至少部分地重叠地执行操作。此外,可替代实施例可以包括特定操作的多个实例,并且在各个其它实施例中可以改变操作的顺序。
还例如,示例或其部分可以被以任何适当类型的硬件描述语言实现为代表物理电路或者代表能转变为物理电路的逻辑表示的软件或者代码。
并且,本发明不限于以非可编程硬件实现的物理设备或者单元,而是还可以应用于通过根据合适的程序代码操作的能够执行期望的设备功能的可编程装置或者单元,诸如大型机、小型机、服务器、工作站、个人计算机、笔记本、个人数字助理、电子游戏机、汽车以及其它嵌入式***、蜂窝电话以及各种其它的无线装置,在本申请中通常表示为‘计算机***’。
然而,其它修改、变化和替换物也是可能的。因此,说明书和附图要被当作是示例性的而不是限制性的。
在权利要求中,置于括号内的任何参考标记不应该被认为是限制权利要求。词‘包括’不排除在权利要求中列出的那些之外的其它元件或者步骤的存在。此外,如在此使用的术语或‘一个’被定义为一个或多于一个。此外,即使当同一权利要求包括引导短语‘一个或更多个″或″至少一个″以及不定冠词(例如‘一’或‘一个″)时,在权利要求中使用引导短语(introductory phrase)(例如,“至少一个”和“一个或更多个”)也不应该被解释为暗示由不定冠词“一”或“一个”引导的另一个权利要求要素把包含这样引入的权利要求要素的任何特定权利要求限制为仅仅包含一个这样的要素的发明。这也适用于定冠词的使用。除非另有说明,诸如‘第一’和‘第二’的术语被用来任意地区分这样的术语描述的元件。因此,这些术语不一定意图指示这种元件的时间的或其它的优先级。在互相不同的权利要求中叙述某些测量值的名义事实不表示这些测量值的组合不能被有利地利用。
Claims (19)
1.一种硬件接口组件,被设置为可操作地将至少一个运算单元耦合至处理***的互连组件,所述硬件接口组件包括:
多个编程可见寄存器;以及
至少一个操作解码器组件,
其中所述至少一个操作解码器组件被设置为,在通过互连组件收到对应于所述硬件接口组件的布置的存储器映射的地址范围的写入访问请求时:
基于所述布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的寄存器标识符部分,以标识所述编程可见寄存器中的至少一个;
基于所述布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的布置部分,以标识将被执行的运算操作;以及
配置所述运算单元以对所标识的至少一个编程可见寄存器内的至少一个输入操作数执行所标识的运算操作。
2.根据权利要求1所述的硬件接口组件,其中所述寄存器标识符部分被映射在所接收的写入访问请求的目标地址的较低有效位内,以及所述布置部分被映射在所接收的写入访问请求的目标地址的较高有效位内。
3.根据权利要求2所述的硬件接口组件,其中每个运算操作包括在硬件接口组件的布置的存储器映射的地址范围内的地址空间,以及所述编程可见寄存器被映射在对于每个运算操作的地址空间内。
4.根据前述权利要求中的任何一个所述的硬件接口组件,其中所述编程可见寄存器对于每个运算操作被连续地映射在所述硬件接口组件的布置的存储器映射的地址范围内。
5.根据前述权利要求中的任何一个所述的硬件接口组件,其中所述编程可见寄存器包括至少一个输入操作数寄存器和至少一个累加器/结果寄存器。
6.根据权利要求5所述的硬件接口组件,其中通过首先并且以上升的数字顺序排序所述输入操作数寄存器来将所述编程可见寄存器映射在硬件接口组件的布置的存储器映射的地址范围内。
7.根据权利要求6所述的硬件接口组件,其中所述编程可见寄存器包括被设置为以降序使用的多个输入操作数寄存器。
8.根据权利要求7所述的硬件接口组件,其中至少一个操作解码器组件被设置为,在通过互连组件收到对应于硬件接口组件的布置的存储器映射的地址范围的写入访问请求时:
基于布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的寄存器标识符部分,以标识所述编程可见寄存器中的至少一个;
如果所标识的至少一个标识的编程可见寄存器包括输入操作数寄存器,则将用于所接收的写入访问请求的数据装载到所标识的至少一个编程可见寄存器中;
基于布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的布置部分,以标识将被执行的运算操作;以及
配置所述运算单元以对所标识的至少一个编程可见寄存器内的至少一个输入操作数执行所标识的运算操作。
9.根据权利要求7所述的硬件接口组件,其中所述至少一个操作解码器组件被设置为,在通过所述互连组件收到对应于所述硬件接口组件的布置的存储器映射的地址范围的写入访问请求时:
解码所接收的写入访问请求的目标地址的寄存器标识符部分,以标识所述编程可见寄存器中的至少一个;
如果所标识的至少一个标识的编程可见寄存器包括输入操作数寄存器,则将用于所接收的写入访问请求的数据装载到所标识的至少一个编程可见寄存器中;
确定所标识的至少一个编程可见寄存器是否是最后映射的输入操作数寄存器;以及
如果确定所标识的至少一个编程可见寄存器是最后映射的输入操作数寄存器,则解码所接收的写入访问请求的目标地址的布置部分,以标识将被执行的运算操作,以及配置所述运算单元以执行所标识的运算操作。
10.根据权利要求7所述的硬件接口组件,其中至少一个操作解码器组件被设置为,在通过所述互连组件收到对应于所述硬件接口组件的布置的存储器映射的地址范围的读取访问请求时:
解码所接收的读取访问请求的目标地址的寄存器标识符部分,以标识所述编程可见寄存器中的至少一个;
基于所布置的存储器映射的地址范围解码所接收的读取访问请求的目标地址的布置部分,以确定是否对在所述至少一个标识的编程可见寄存器内存储的数据执行运算操作;以及
如果确定对所述至少一个标识的编程可见寄存器内存储的数据执行运算操作,则配置所述运算单元以对所标识的至少一个编程可见寄存器内的至少一个输入操作数执行所标识的运算操作。
11.根据前述权利要求中的任何一个所述的硬件接口组件,其中所述至少一个操作解码器组件被设置为,在通过所述互连组件收到对应于所述硬件接口组件的布置的存储器映射的地址范围的读取访问请求时:
解码所接收的读取访问请求的目标地址,以标识所述编程可见寄存器中的至少一个;以及
将所述至少一个标识的编程可见寄存器内的数据传输到所述互连组件。
12.根据权利要求11所述的硬件接口组件,其中所述至少一个操作解码器组件被设置为,在通过所述互连组件收到对应于所述硬件接口组件的布置的存储器映射的地址范围的读取访问请求时:
解码所接收的读取访问请求的目标地址,以标识所述编程可见寄存器中的至少一个;
停止总线操作直到在所标识的至少一个编程可见寄存器内出现有效数据;以及
在所标识的至少一个编程可见寄存器具有在其中储存的有效数据时,将所述至少一个标识的编程可见寄存器内的数据传输到所述互连组件。
13.根据前述权利要求中的任何一个所述的实现在集成电路装置内的硬件接口组件,包括在单个集成电路封装内的至少一个管芯。
14.一种处理***,包括根据前述权利要求中的任何一个的至少一个硬件接口组件。
15.根据权利要求14所述的处理***,其中所述处理***是包括处理器核心以及数学协处理器的微处理器,以及其中所述硬件接口组件被设置为可操作地将所述处理器核心耦合到所述数学协处理器。
16.根据权利要求15所述的处理***,其中在所述微处理器中是微控制器。
17.根据权利要求14-16中任何一个所述的处理***,包括***总线,以及其中所述硬件接口组件将所述运算单元耦合到所述***总线。
18.一种电力计量***,包括根据权利要求14-17中任何一个所述的处理***。
19.一种在处理***的互连组件和运算单元之间接口的方法,所述方法包括,在硬件接口组件内包括多个编程可见寄存器:
通过所述互连组件接收对应于硬件接口组件的布置的存储器映射的地址范围的写入访问请求;
基于所布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的寄存器标识符部分,以标识所述编程可见寄存器中的至少一个;
基于所布置的存储器映射的地址范围解码所接收的写入访问请求的目标地址的布置部分,以标识将被执行的运算操作;以及
配置所述运算单元以对在所标识的至少一个编程可见寄存器内的至少一个输入操作数执行所标识的运算操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069258.1A CN105988773B (zh) | 2015-02-10 | 2015-02-10 | 硬件接口组件和用于硬件接口组件的方法 |
US14/708,969 US10481795B2 (en) | 2015-02-10 | 2015-05-11 | Hardware interface component for processing write access requests that identify a register using lesser significant bits of a target address and identify an arithmetic operation to be performed using greater significant bits of the target address |
EP15199223.7A EP3065056B1 (en) | 2015-02-10 | 2015-12-10 | Hardware interface component and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510069258.1A CN105988773B (zh) | 2015-02-10 | 2015-02-10 | 硬件接口组件和用于硬件接口组件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105988773A true CN105988773A (zh) | 2016-10-05 |
CN105988773B CN105988773B (zh) | 2021-03-09 |
Family
ID=55024747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510069258.1A Active CN105988773B (zh) | 2015-02-10 | 2015-02-10 | 硬件接口组件和用于硬件接口组件的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10481795B2 (zh) |
EP (1) | EP3065056B1 (zh) |
CN (1) | CN105988773B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245096A (zh) * | 2019-06-24 | 2019-09-17 | 苏州硅岛信息科技有限公司 | 一种实现处理器直接连接扩展计算模块的方法 |
CN113220238A (zh) * | 2021-05-19 | 2021-08-06 | 无锡众星微***技术有限公司 | 一种通用sas控制器接口实现方法 |
CN113297111A (zh) * | 2021-06-11 | 2021-08-24 | 上海壁仞智能科技有限公司 | 人工智能芯片及其操作方法 |
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420989A (en) * | 1991-06-12 | 1995-05-30 | Cyrix Corporation | Coprocessor interface supporting I/O or memory mapped communications |
US6230278B1 (en) * | 1997-05-02 | 2001-05-08 | Texas Instruments Incorporated | Microprocessor with functional units that can be selectively coupled |
US7130963B2 (en) * | 2003-07-16 | 2006-10-31 | International Business Machines Corp. | System and method for instruction memory storage and processing based on backwards branch control information |
CN101286342A (zh) * | 2007-04-10 | 2008-10-15 | 炬力集成电路设计有限公司 | Mcu+dsp结构***中的数字多媒体编解码方法和相应的*** |
CN101334766A (zh) * | 2008-06-30 | 2008-12-31 | 东软飞利浦医疗设备***有限责任公司 | 一种并行微处理器及其实现方法 |
US20100106872A1 (en) * | 2008-10-28 | 2010-04-29 | Moyer William C | Data processor for processing a decorated storage notify |
US7831812B2 (en) * | 2007-08-31 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for operating an age queue for memory request operations in a processor of an information handling system |
CN102147777A (zh) * | 2010-01-05 | 2011-08-10 | 索尼公司 | 访问控制装置、数据处理装置、访问控制方法和程序 |
CN102859600A (zh) * | 2009-09-14 | 2013-01-02 | 美商新思科技有限公司 | 用于通过选择性偏置来降低高容量存储器中存储器阵列漏电的***和方法 |
CN103391228A (zh) * | 2012-05-10 | 2013-11-13 | 中兴通讯股份有限公司 | 个人网设备组网方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974539A (en) * | 1993-11-30 | 1999-10-26 | Texas Instruments Incorporated | Three input arithmetic logic unit with shifter and mask generator |
US6505290B1 (en) | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US7805590B2 (en) | 2006-06-27 | 2010-09-28 | Freescale Semiconductor, Inc. | Coprocessor receiving target address to process a function and to send data transfer instructions to main processor for execution to preserve cache coherence |
US8700878B2 (en) * | 2009-06-16 | 2014-04-15 | Freescale Semiconductor, Inc. | Event triggered memory mapped access |
EP2996034B1 (en) * | 2014-09-11 | 2018-08-15 | Nxp B.V. | Execution flow protection in microcontrollers |
-
2015
- 2015-02-10 CN CN201510069258.1A patent/CN105988773B/zh active Active
- 2015-05-11 US US14/708,969 patent/US10481795B2/en active Active
- 2015-12-10 EP EP15199223.7A patent/EP3065056B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420989A (en) * | 1991-06-12 | 1995-05-30 | Cyrix Corporation | Coprocessor interface supporting I/O or memory mapped communications |
US6230278B1 (en) * | 1997-05-02 | 2001-05-08 | Texas Instruments Incorporated | Microprocessor with functional units that can be selectively coupled |
US7130963B2 (en) * | 2003-07-16 | 2006-10-31 | International Business Machines Corp. | System and method for instruction memory storage and processing based on backwards branch control information |
CN101286342A (zh) * | 2007-04-10 | 2008-10-15 | 炬力集成电路设计有限公司 | Mcu+dsp结构***中的数字多媒体编解码方法和相应的*** |
US7831812B2 (en) * | 2007-08-31 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for operating an age queue for memory request operations in a processor of an information handling system |
CN101334766A (zh) * | 2008-06-30 | 2008-12-31 | 东软飞利浦医疗设备***有限责任公司 | 一种并行微处理器及其实现方法 |
US20100106872A1 (en) * | 2008-10-28 | 2010-04-29 | Moyer William C | Data processor for processing a decorated storage notify |
CN102859600A (zh) * | 2009-09-14 | 2013-01-02 | 美商新思科技有限公司 | 用于通过选择性偏置来降低高容量存储器中存储器阵列漏电的***和方法 |
CN102147777A (zh) * | 2010-01-05 | 2011-08-10 | 索尼公司 | 访问控制装置、数据处理装置、访问控制方法和程序 |
CN103391228A (zh) * | 2012-05-10 | 2013-11-13 | 中兴通讯股份有限公司 | 个人网设备组网方法及*** |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245096A (zh) * | 2019-06-24 | 2019-09-17 | 苏州硅岛信息科技有限公司 | 一种实现处理器直接连接扩展计算模块的方法 |
CN113220238A (zh) * | 2021-05-19 | 2021-08-06 | 无锡众星微***技术有限公司 | 一种通用sas控制器接口实现方法 |
CN113220238B (zh) * | 2021-05-19 | 2022-08-09 | 无锡众星微***技术有限公司 | 一种通用sas控制器接口实现方法 |
CN113297111A (zh) * | 2021-06-11 | 2021-08-24 | 上海壁仞智能科技有限公司 | 人工智能芯片及其操作方法 |
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
EP3065056B1 (en) | 2017-11-15 |
EP3065056A1 (en) | 2016-09-07 |
CN105988773B (zh) | 2021-03-09 |
US20160231937A1 (en) | 2016-08-11 |
US10481795B2 (en) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101933005B (zh) | ***模块寄存器访问方法和装置 | |
CN109643233B (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
CN105988773A (zh) | 硬件接口组件和用于硬件接口组件的方法 | |
CN104040487B (zh) | 用于合并掩码模式的指令 | |
CN103150146A (zh) | 基于可扩展处理器架构的专用指令集处理器及其实现方法 | |
CN107077334A (zh) | 从多维阵列预取多维元素块的硬件装置和方法 | |
CN104978284B (zh) | 处理器子程序高速缓冲存储器 | |
US20130024654A1 (en) | Vector operations for compressing selected vector elements | |
CN102520760B (zh) | 一种用于任意波形产生***的处理器 | |
US9946659B2 (en) | Near-memory accelerator for offloading pointer chasing operations from a processing element | |
CN106406820A (zh) | 一种网络处理器微引擎的多发射指令并行处理方法及装置 | |
CN101211256A (zh) | 一种专用双流水线risc指令***及其操作方法 | |
CN104090740A (zh) | 微控制器指令集的执行方法 | |
CN115640047A (zh) | 指令操作方法及装置、电子装置及存储介质 | |
CN107870780A (zh) | 数据处理装置和方法 | |
CN103460180B (zh) | 带有断言寄存器的处理器***、计算机***和用于管理断言的方法 | |
CN101206561B (zh) | 一种专用运算单元alu | |
Gal et al. | FPGA implementation of 8-bit RISC microcontroller for embedded systems | |
CN107451038A (zh) | 硬件事件采集方法、处理器和计算*** | |
CN104699460A (zh) | 线程偏差计数器 | |
Chen et al. | Design and verification of RISC-V CPU based on HLS and UVM | |
CN1898641B (zh) | 微控制器指令集 | |
CN103186977B (zh) | 微处理器中实现遥控信号发射指令控制的电路结构 | |
CN109683959A (zh) | 处理器的指令执行方法及其处理器 | |
CN204117448U (zh) | 用于示教的处理器*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Texas in the United States Applicant after: NXP America Co Ltd Address before: Texas in the United States Applicant before: Fisical Semiconductor Inc. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |