CN102033734B - 数据处理引擎 - Google Patents

数据处理引擎 Download PDF

Info

Publication number
CN102033734B
CN102033734B CN201010121354.3A CN201010121354A CN102033734B CN 102033734 B CN102033734 B CN 102033734B CN 201010121354 A CN201010121354 A CN 201010121354A CN 102033734 B CN102033734 B CN 102033734B
Authority
CN
China
Prior art keywords
end order
address space
data processing
processing engine
address
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.)
Expired - Fee Related
Application number
CN201010121354.3A
Other languages
English (en)
Other versions
CN102033734A (zh
Inventor
赖吉昌
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.)
Andes Technology Corp
Original Assignee
Andes Technology Corp
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 Andes Technology Corp filed Critical Andes Technology Corp
Publication of CN102033734A publication Critical patent/CN102033734A/zh
Application granted granted Critical
Publication of CN102033734B publication Critical patent/CN102033734B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30025Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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 or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供了一种数据处理引擎。数据处理引擎包括一端序寄存器、一端序控制装置和一字节交换器。端序寄存器储存多个端序控制比特。每一端序控制比特标示允许数据处理引擎存取的地址空间的一类型的预设数据端序。每个端序控制比特处于一大端序状态或一小端序状态。端序控制装置连接至端序寄存器。端序控制装置根据端序控制比特和被数据处理引擎执行的一指令来提供一端序信号。端序信号处于大端序状态或小端序状态。字节交换器连接至端序控制装置。字节交换器发送被指令使用或产生的数据,且当数据的字节次序不符合端序信号的状态时,改变数据的字节次序。

Description

数据处理引擎
技术领域
本发明涉及一种数据端序控制机制,特别涉及一种数据处理引擎。
背景技术
传统的数据处理引擎(例如一般用途的微处理器)可存取至少一地址空间。每一地址空间可用来存取存储器或I/O装置,或两者皆可。通过不同的读取/储存指令可分辨存储器和I/O装置的地址空间。例如,Loadmemory指令用来存取存储器地址空间,而LoadIO指令用来存取I/O地址空间。另外也可根据实体地址空间片段(无地址转换)或虚拟地址空间片段(有地址转换)来分辨存储器和I/O装置的地址空间。上述每一片段具有不同的地址范围。
计算机结构领域中,”数据端序”这个词是用以将字节数据的一序列置入一终点(destination)储存处(例如寄存器、存储器或数据总线)的数据字节次序,终点储存处具有超过一字节的数据宽度。大端序次序和小端序次序最常见。图1是表示大端序字节次序和小端序字节次序的传统概念的一示意图。图1示出了一小端序字节次序110、一大端序字节次序120及用来储存数据字节D0-D11的一存储器150。根据小端序字节次序110,来自存储器150的最低地址的数据字节D0被置于终点储存处的最低有效字节(LSB),而朝着终点储存处的最高有效方向放置具有较高地址的数据字节。根据大端序字节次序120,来自存储器150的最低地址的数据字节D0被置于终点储存处的最高有效字节(MSB),朝着终点储存处的最低有效方向放置具有较高地址的数据字节。
由于硬件实现的差异,不同的地址空间可使用不同的数据端序。例如,个人电脑(PC)使用小端序字节次序,而网路通讯使用大端序字节次序。因此需要端序转换。储存数据的端序转换是指数据被转换至不同储存场所,而且来源和终点场所使用不同数据大小单位时,数据字节次序的转换。例如,一个32比特寄存器和一个以字节为单位来定址(byte-addressable)的存储器之间的数据转换,就需要数据端序转换。数据端序决定32-bit寄存器的哪个字节(最低有效字节或最高有效字节)要被写入至或被读取自存储器的第一字节地址。
支持双向端序数据处理的数据处理引擎使用下列其中一种机制来控制数据端序转换。
第一种控制机制是分开的两组读取/储存指令。一组指令用来执行大端序读取/储存的操作,而另一组用来执行小端序读取/储存的操作。
第二种控制机制是特定的端序转换指令。当数据储存于一寄存器,一组特定指令可用来转换此数据的端序。
第三种控制机制利用一专属的软件可写入(software-programmable)的端序控制寄存器来决定所有读取/储存操作的端序。控制寄存器储存一个比特,其值决定所有读取/储存操作的当前端序。软件能更改此比特值以切换于大端序字节次序和小端序字节次序之间。
第四种控制机制是用分开的实体地址范围对应不同端序。其中一些地址范围用于大端序读取/储存的存取,而另一些地址范围用于小端序读取/储存的存取。例如,地址范围0000h-BFFFh被分配给小端序且地址范围C000h-FFFFh被分配给大端序,其中最后的″h″表示十六进位制的数字。
上述的全部传统控制机制以同样方式处理存储器和I/O装置的地址空间。这些传统控制机制并不特别区分存储器地址空间和I/O地址空间。
发明内容
据此,本发明提供一种具有整合性数据端序控制机制的数据处理引擎。此数据处理引擎储存多个可程序化的端序控制比特。利用端序控制比特的状态,每个地址空间类型的数据端序能被独立地设定。每个数据转移的地址空间类型可由指令的类型、地址空间的范围或地址空间的属性来决定。此控制机制的特征是更有弹性的数据端序管理和更简单的软件开发。
本发明提供一种数据处理引擎。数据处理引擎包括一端序寄存器、一端序控制装置和一字节交换器。端序寄存器储存多个端序控制比特。每一端序控制比特标示允许数据处理引擎存取的地址空间的一类型的预设数据端序。地址空间的类型可如一存储器空间和一装置空间般简单,或如多个存储器空间和多个装置空间般复杂。每个端序控制比特处于一大端序状态或一小端序状态。端序控制装置连接至端序寄存器。端序控制装置根据端序控制比特和被数据处理引擎执行的一指令来提供一端序信号。端序信号处于大端序状态或小端序状态。字节交换器连接至端序控制装置。字节交换器传送被指令使用或产生的数据,且当数据的字节次序不符合端序信号的状态时,改变数据的字节次序。
当一预决条件为真,数据处理引擎将端序控制比特存入一储存装置,例如一程序状态字寄存器(process status word register),将预设值载入端序寄存器以作为新端序控制比特,执行一预决程序,并从储存装置回复先前端序控制比特至端序寄存器。例如,预决条件可为一例外的发生且预决程序可为例外处理程序(exception handler)。
数据处理引擎还可包括一空间解码器。空间解码器连接至端序控制装置。空间解码器解码指令和/或其相关地址,并基于解码结果提供一解码器信号。解码器信号决定地址空间的一类型且端序控制装置使用它以选取并输出对应已决地址空间类型的端序控制比特以作为端序信号。
数据处理引擎还可建立用于地址空间的每一片段的多个属性,其中属性代表更多地址空间的微调类型。端序控制装置可根据地址空间属性来输出端序信号。这些属性的种类可被建立于虚拟地址空间层(level)或实体地址层(level)或两者。属性可决定至少,但不限于,相关地址空间片段的可缓存性(cacheability)、可暂存性(bufferability)和可接合性(coalesceability)的至少其中之一。
地址空间属性的组合值可对应地址空间的类型之一,且端序控制装置可输出对应地址空间的一类型的端序控制比特以作为端序信号。
地址空间的每一片段还可包括处于大端序状态、小端序状态或一禁能状态的一端序选取属性。在此,当端序选取属性处于大端序状态或小端序状态,端序控制装置根据端序选取属性的状态输出端序信号。当端序选取属性处于禁能状态,端序控制装置根据地址空间属性的组合值来输出端序信号。
指令可为多个软件可程序指令的一指令或可为执行载入或储存操作从或至一地址的一当前程序的一些隐含(implicit)硬件操作,且端序控制比特、地址空间属性及端序选取属性与当前程序一起进行背景切换(context-switch)。
当指令存取同时越过一第一和一第二地址空间的一数据,且第二地址空间的多个地址高于第一地址空间的多个地址,端序控制装置可输出对应第一地址空间或第二地址空间的端序控制比特,但并非同时对应两者,以作为端序信号。或者,数据处理引擎可因此产生一例外。
附图说明
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
图1是表示大端序字节次序和小端序字节次序的传统概念的一示意图;
图2是根据本发明的一实施例示出的用以建立一数据端序控制机制的一数据处理引擎的一部分的示意图;
图3是根据本发明的另一实施例示出的用以建立另一数据端序控制机制的另一数据处理引擎的一部分的示意图;
图4是一种用以控制被图3中的端序控制装置执行的控制数据端序的方法的一流程图。
附图中主要元件符号说明:
110-小端序字节次序;    120-大端序字节次序;
150-存储器;            210-端序寄存器;
220-端序控制比特;      230-预设值;
240-空间解码器;        245-解码器信号;
250-端序控制装置;      255-端序信号;
260-寄存器纵列;        270-读取/储存单元;
280-字节交换器;        340-属性;
350-端序控制装置;      360-属性提供器;
410~470-步骤。
具体实施方式
图2是根据本发明的一实施例示出的用以建立一数据端序控制机制的一数据处理引擎的一部分的示意图。数据处理引擎包括一端序寄存器210、空间解码器240、一端序控制装置250、寄存器纵列260和读取/储存单元270。读取/储存单元270包括一字节交换器280。
读取/储存单元可为数据处理引擎的标准(regular)功能单元,其执行由此引擎的使用者所程序化的读取/储存指令,或是被引擎操作的一种隐含数据移动功能,以存取某些非指令(non-instruction)的特定数据,例如转换后备(look-aside)缓冲(buffer)数据或除虫(debugging)数据。
端序寄存器210储存多个端序控制比特220。每一端序控制比特220标示允许该数据处理引擎存取的多个地址空间的一类型的一预设数据端序。每一端序控制比特220处于一大端序状态或一小端序状态。例如,比特值1可代表大端序状态且比特值0可代表小端序状态。另外,比特值1可代表小端序状态且比特值0可代表大端序状态。
空间解码器240解码被数据处理引擎执行的指令及/或其相关地址,并基于解码结果来提供一解码器信号245。解码器信号245的每一个值决定地址空间的一类型。端序控制装置250连接至端序寄存器210及空间解码器240。端序控制装置250输出对应由解码器信号245的值所决定的地址空间的类型的端序控制比特以作为端序信号255。与端序控制比特220相似,端序信号255处于大端序状态或小端序状态。
寄存器纵列260包括数据处理引擎的多个内部寄存器。读取/储存单元270处理寄存器纵列260的内部寄存器和地址空间之间的读取/储存操作。数据处理引擎的地址空间可用来存取缓存(cache)、局部(local)存储器,或连接外部存储器或I/O装置的寄存器的总线接口。字节交换器280连接至端序控制装置250、寄存器纵列260及上述被地址空间存取的硬件部件。字节交换器280发送被寄存器纵列260的内部寄存器和上述硬件部件之间的操作所使用或产生的数据。此外,当该数据的字节次序不符合端序信号255的状态时,字节交换器280则更改数据的字节次序。
为了有效地控制数据端序,字节交换器280知道所有的内部寄存器、缓存、局部存储器、外部存储器和I/O装置的硬件应用,其包括最高有效字节和最低有效字节的位置。因此,字节交换器280能决定数据字节次序是否符合端序信号255。
端序控制比特220的状态可被数据处理引擎执行的软件设定。由于地址空间的每一类型的数据端序被对应的端序控制比特控制,地址空间的每一类型的数据端序可独立地被控制。例如,地址空间的一类型可用来存取连接至数据处理引擎的存储器,而地址空间的另一类型而可用来存取连接至数据处理引擎的I/O装置的寄存器。由于此配置,软件能根据不同的规则来控制存储器地址空间和I/O地址空间的数据端序。
可用指令类型或地址范围来区别地址空间的类型。当此区别是基于指令类型,数种指令的集合(或类型)的可用来存取地址空间的一类型。空间解码器240根据指令的集合/类型来提供解码器信号245。当此区别是基于地址范围,地址空间的一类型被分配给一地址范围,而数个地址范围可被设定为同样地址空间类型。在此,空间解码器240根据被指令存取的地址空间类型来提供解码器信号245。解码器信号245决定地址空间的类型,其地址范围包括被指令存取的存储器地址。
端序寄存器210接收多个预设值230。每个端序控制比特220具有一对应的预设值230。当一预决条件为真,数据处理引擎将端序控制比特存入一暂时储存装置(未示出),用预设值230取代端序控制比特220,执行一预决(predetermined)程序,并从暂时储存装置回复先前端序控制比特220至端序寄存器210。例如,预决条件可为硬件重设、例外、陷阱(trap)、错误或中断的发生,使数据处理引擎进入一超级使用者(superuser)或特许状态,或类似的已知状态。预决程序可为例外、陷阱、错误或中断的处理程序。超级使用者状态或特许状态中,端序控制比特220得为常数控制值以确保正确的系统行为。预设值230在超级使用者状态或特许状态中提供常数控制值。更可利用数据处理引擎芯片的外部接脚选择来设定预设值230,因此能通过数据处理引擎芯片被安装的电路版的跳线(jumper)调整预设值230。
一些罕见的情况中,指令的读取/储存操作存取同时越过两个地址空间的一数据。例如,被存取的数据字(word)可延展,越过一地址空间片段的边界而进入另一地址空间片段。在此,空间解码器240可输出解码器信号245以选取具有较低地址或较高地址的地址空间片段,端序控制装置250分别输出对应具有较低地址或较高地址的地址空间片段的唯一(unique)端序控制比特以作为端序信号255。另外,若有一应用不打算在解码器中处理这个情况,空间解码器240可产生一例外。
图3是根据本发明的另一实施例示出的用以建立另一数据端序控制机制的另一数据处理引擎的一部分的示意图。图2中的空间解码器240和端序控制装置250分别被属性提供器360和端序控制装置350取代。属性提供器360和端序控制装置350互相连接。图3中的其他部件与图2中的相同。
在图3的实施例中,被数据处理引擎存取的地址空间片段被分为实体地址空间或虚拟地址空间的片段。每个片段与至少一地址空间属性和一端序选取属性相关。地址空间属性可决定相关地址空间片段的可缓存性(cacheability)、可暂存性(bufferability)和可接合性(coalesceability),或用于标准读取/储存操作的其他能力限制(现有技术,故在此不再赘述)。端序选取属性处于大端序状态、小端序状态或一禁能状态。属性提供器360可储存一表格(table),其包括所有地址空间片段的地址空间属性和端序选取属性。当数据处理引擎执行一指令,属性提供器360解码指令并基于解码结果来查询上述表格。属性提供器360提供对应被指令存取的地址空间片段的地址空间属性和端序选取属性以作为属性340,并给端序控制装置350。端序控制装置350根据属性340而输出端序控制比特220之一以作为端序信号255。
图4是一种用以控制被图3中的端序控制装置执行的控制数据端序的方法的一流程图。第一,确认被指令存取的地址空间片段的端序选取属性是否处于禁能状态(步骤410)。当端序选取属性不处于禁能状态,确认端序选取属性处于大端序状态或小端序状态(步骤450)。当端序选取属性处于大端序状态,端序控制装置350输出端序信号255处于大端序状态(步骤460)。当端序选取属性处于小端序状态,端序控制装置350输出端序信号255处于小端序状态(步骤470)。
回到步骤410,当端序选取属性处于禁能状态,端序控制装置350根据上述地址空间属性的组合值(combined value)来输出端序信号255,其决定被当前指令存取的地址空间片段的可缓存性(cacheability)、可暂存性(bufferability)及/和可接合性(coalesceability)(步骤430)。
例如,不可缓存(non-cacheable)、不可缓冲(non-bufferable)和不可接合(non-coalesceable)是地址空间属性的一组合值,而可缓存(cacheable)、可缓冲(bufferable)和可接合(coalesceable)是地址空间属性的另一组合值。每个地址空间属性具有一同意(affirmative)状态和一否定(negative)状态。总的来说,有八种二进位状态的组合,其对应八种地址空间属性的组合值。八种组合值的每一种代表允许数据处理引擎存取的地址空间的一类型。当数据处理引擎执行一指令且此指令执行一读取/储存操作,端序控制装置350接收被读取/储存操作存取的地址空间片段的地址空间属性。地址空间属性的组合值被用来选取端序控制比特220之一。据此,端序控制装置350输出对应上述组合值的端序控制比特以作为端序信号255。
一简单的例子为,当只使用两个端序控制比特,则施加第一端序控制比特至具有不可缓存(non-cacheable)、不可缓冲(non-bufferable)和不可接合(non-coalesceable)属性的地址空间的一片段,而施加第二端序控制比特至具有其他属性组合值的地址空间的另一片段。一般应用中,地址空间属性可被作业系统(operating system)或甚至其他应用软件设定,以控制每个地址空间片段的数据端序。
用以选取端序控制比特的属性是否与实体地址空间或虚拟地址空间相关是取决于数据处理引擎的地址转换功能。当地址转换功能被禁能,读取/储存操作是基于实体地址,而使用实体地址片段的属性。当地址转换功能被使能,读取/储存操作是基于虚拟地址,而使用虚拟存储器片段的属性。
根据相关地址空间属性的组合值,每一端序控制比特220代表一地址空间的类型的预设数据端序。端序选取属性可用来覆盖用于每一单独的地址空间片段的预设数据端序。换言之,端序控制比特220提供粗调(coarse-grained)数据端序控制,而地址空间片段的端序选取属性提供微调(fine-grained)数据端序控制。在本发明的其他实施例中,可忽略端序选取属性以提供一简化(simplified)数据端序控制机制。
在一多重程序(multi-process)电脑中,背景切换(context-switching)是常见的且必要的(mandatory)。端序控制比特、地址空间属性和端序选取属性全部皆可与被数据处理引擎执行的当前程序一起做背景切换。当作业系统切换至另一程序,端序控制比特、地址空间属性和端序选取属性可被储存至当前程序的背景。当作业系统切换回当前程序,端序控制比特、地址空间属性和端序选取属性可从当前程序的背景中被回复。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种数据处理引擎,包括:
一端序寄存器,储存多个端序控制比特,其中每一端序控制比特标示允许该数据处理引擎存取的一地址空间一类型的一预设数据端序,每一上述端序控制比特处于一大端序状态或一小端序状态,其中所述地址空间的类型是根据所述地址空间的可缓存性、可暂存性与可接合性的至少其中之一来决定;
一端序控制装置,连接至该端序寄存器,根据被该数据处理引擎执行的一指令所存取的地址空间的可缓存性、可暂存性与可接合性的至少其中之一来选择所述端序控制比特以提供一端序信号,其中该端序信号处于该大端序状态或该小端序状态;以及
一字节交换器,连接至该端序控制装置,传送被该指令使用或产生的一数据,且当该数据的一字节次序不符合该端序信号的该状态时,该字节交换器则改变该数据的该字节次序。
2.根据权利要求1所述的数据处理引擎,其中当一预决条件为真,该数据处理引擎将多个预设值载入该端序寄存器以作为所述端序控制比特。
3.根据权利要求2所述的数据处理引擎,其中当该预决条件为真,该数据处理引擎将所述端序控制比特存入一储存装置,将所述预设值载入该端序寄存器以作为新端序控制比特,执行一预决程序,然后从该储存装置回复所述先前端序控制比特至该端序寄存器。
4.根据权利要求1所述的数据处理引擎,其中所述地址空间的所述类型的至少一类型被用来存取连接至该数据处理引擎的一存储器,且所述地址空间的所述类型的至少另一类型被用来存取连接至该数据处理引擎的多个I/O装置的多个寄存器。
5.根据权利要求1所述的数据处理引擎,还包括:
一空间解码器,连接至该端序控制装置,解码该指令和/或其相关地址,并基于该解码结果提供一解码器信号,其中该解码器信号决定所述地址空间的一类型且该端序控制装置使用该些地址空间的该类型以选取并输出对应该已决地址空间类型的该端序控制比特以作为该端序信号。
6.根据权利要求5所述的数据处理引擎,其中该空间解码器根据该指令的一类型来提供该解码器信号。
7.根据权利要求5所述的数据处理引擎,其中该空间解码器根据被该指令存取的一地址所落入的一范围来提供该解码器信号,且该解码器信号选取包括该地址的该地址范围的该地址空间的该类型。
8.根据权利要求1所述的数据处理引擎,其中该指令存取该地址空间片段中的一地址,该地址空间片段包括多个地址空间属性,该端序控制装置根据所述地址空间属性来输出该端序信号。
9.根据权利要求8所述的数据处理引擎,其中所述地址空间属性的一组合值对应所述地址空间的所述类型之一,且该端序控制装置输出对应所述地址空间的该类型的该端序控制比特以作为该端序信号。
10.根据权利要求8所述的数据处理引擎,其中该地址空间片段是一实体地址片段或一虚拟地址片段。
11.根据权利要求8所述的数据处理引擎,其中所述地址空间属性决定该地址空间片段的该可缓存性、该可暂存性和该可接合性的至少其中之一。
12.根据权利要求8所述的数据处理引擎,其中该地址空间片段还包括处于该大端序状态、该小端序状态或一禁能状态的一端序选取属性;当该端序选取属性处于该大端序状态或该小端序状态,该端序控制装置根据该端序选取属性的该状态来输出该端序信号;当该端序选取属性处于该禁能状态,该端序控制装置根据所述地址空间属性输出该端序信号。
13.根据权利要求12所述的数据处理引擎,其中该指令是一当前程序的多个指令之一,且所述端序控制比特、所述地址空间属性及该端序选取属性与该当前程序一起进行背景切换。
14.根据权利要求1所述的数据处理引擎,其中当该指令同时存取所述地址空间的一第一地址空间及一第二地址空间,且该第二地址空间的地址高于该第一地址空间的地址,该端序控制装置则输出对应该第一地址空间或该第二地址空间的该端序控制比特,但并非同时对应两者,以作为该端序信号,或该数据处理引擎产生一例外。
CN201010121354.3A 2009-10-07 2010-02-23 数据处理引擎 Expired - Fee Related CN102033734B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/575,468 2009-10-07
US12/575,468 US20110082999A1 (en) 2009-10-07 2009-10-07 Data processing engine with integrated data endianness control mechanism

Publications (2)

Publication Number Publication Date
CN102033734A CN102033734A (zh) 2011-04-27
CN102033734B true CN102033734B (zh) 2014-05-14

Family

ID=43824070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010121354.3A Expired - Fee Related CN102033734B (zh) 2009-10-07 2010-02-23 数据处理引擎

Country Status (3)

Country Link
US (1) US20110082999A1 (zh)
CN (1) CN102033734B (zh)
TW (1) TWI464675B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576739A (zh) * 2012-08-02 2014-02-12 中兴通讯股份有限公司 数字芯片、具有数字芯片的设备和大小端模式配置方法
CN103680507B (zh) * 2012-09-04 2016-06-22 晨星软件研发(深圳)有限公司 线性脉冲编码调制数据格式判断方法
US9304954B2 (en) * 2012-10-24 2016-04-05 Texas Instruments Incorporated Multi processor bridge with mixed Endian mode support
US10120682B2 (en) * 2014-02-28 2018-11-06 International Business Machines Corporation Virtualization in a bi-endian-mode processor architecture
US10671387B2 (en) * 2014-06-10 2020-06-02 International Business Machines Corporation Vector memory access instructions for big-endian element ordered and little-endian element ordered computer code and data
US20170123792A1 (en) * 2015-11-03 2017-05-04 Imagination Technologies Limited Processors Supporting Endian Agnostic SIMD Instructions and Methods
US10101997B2 (en) 2016-03-14 2018-10-16 International Business Machines Corporation Independent vector element order and memory byte order controls
US11755224B2 (en) * 2017-07-27 2023-09-12 EMC IP Holding Company LLC Storing data in slices of different sizes within different storage tiers
US11893423B2 (en) * 2019-09-05 2024-02-06 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors
US11663036B2 (en) 2019-09-05 2023-05-30 Nvidia Corporation Techniques for configuring a processor to function as multiple, separate processors
US11579925B2 (en) 2019-09-05 2023-02-14 Nvidia Corporation Techniques for reconfiguring partitions in a parallel processing system
CN112835842B (zh) * 2021-03-05 2024-04-30 深圳市汇顶科技股份有限公司 端序处理方法、电路、芯片以及电子终端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1788252A (zh) * 2003-06-11 2006-06-14 Arm有限公司 数据处理系统内地址偏移量的产生

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2915680B2 (ja) * 1992-03-10 1999-07-05 株式会社東芝 Riscプロセッサ
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
WO1997044739A1 (en) * 1996-05-23 1997-11-27 Advanced Micro Devices, Inc. Apparatus for converting data between different endian formats and system and method employing same
US5898896A (en) * 1997-04-10 1999-04-27 International Business Machines Corporation Method and apparatus for data ordering of I/O transfers in Bi-modal Endian PowerPC systems
EP1182558A1 (en) * 2000-08-21 2002-02-27 Texas Instruments Incorporated MME descriptor having big/little endian bit to control the transfer data between devices
US7404019B2 (en) * 2003-03-07 2008-07-22 Freescale Semiconductor, Inc. Method and apparatus for endianness control in a data processing system
US20050066146A1 (en) * 2003-09-19 2005-03-24 Intel Corporation Endian conversion
GB2409066B (en) * 2003-12-09 2006-09-27 Advanced Risc Mach Ltd A data processing apparatus and method for moving data between registers and memory
US7721077B2 (en) * 2006-12-11 2010-05-18 Intel Corporation Performing endian conversion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1788252A (zh) * 2003-06-11 2006-06-14 Arm有限公司 数据处理系统内地址偏移量的产生

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开5-250156A 1993.09.28

Also Published As

Publication number Publication date
CN102033734A (zh) 2011-04-27
TW201113807A (en) 2011-04-16
US20110082999A1 (en) 2011-04-07
TWI464675B (zh) 2014-12-11

Similar Documents

Publication Publication Date Title
CN102033734B (zh) 数据处理引擎
US7089391B2 (en) Managing a codec engine for memory compression/decompression operations using a data movement engine
JP5654056B2 (ja) 階層的な変換テーブル制御
US6230259B1 (en) Transparent extended state save
US5075846A (en) Memory access serialization as an MMU page attribute
US20020147882A1 (en) Universal serial bus flash memory storage device
US20080270707A1 (en) Data processor
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
JPH08202563A (ja) コンピュータシステム
CN111886575A (zh) 用于存储器配置的动态变换的体系结构
JPH0512454A (ja) キヤツシユメモリ内蔵マイクロプロセツサ
US20130238859A1 (en) Cache with scratch pad memory structure and processor including the cache
US6014739A (en) Increasing general registers in X86 processors
JP2010500682A (ja) フラッシュメモリアクセス回路
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
JP2009271606A (ja) 情報処理装置およびコンパイル方法
US20040059848A1 (en) Device for automatically switching endian order
US6542955B1 (en) Microcontroller virtual memory system and method
JP6143841B2 (ja) コンテキストスイッチを伴うマイクロコントローラ
CN105404591A (zh) 处理器系统及其存储器控制方法
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
CN111209220B (zh) 一种非对齐地址访存的融合编码状态机实现方法
JP2000207203A (ja) マイクロコントロ―ラ
JP4895264B2 (ja) 記憶装置および情報処理装置
JPH10293684A (ja) コンピュータシステムおよびその立ち上げ制御方法

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140514

Termination date: 20200223