CN101373461A - 字节序不同的处理器间共享数据的数据共享装置和处理器 - Google Patents
字节序不同的处理器间共享数据的数据共享装置和处理器 Download PDFInfo
- Publication number
- CN101373461A CN101373461A CNA2008101610184A CN200810161018A CN101373461A CN 101373461 A CN101373461 A CN 101373461A CN A2008101610184 A CNA2008101610184 A CN A2008101610184A CN 200810161018 A CN200810161018 A CN 200810161018A CN 101373461 A CN101373461 A CN 101373461A
- Authority
- CN
- China
- Prior art keywords
- data
- processor
- syllable sequence
- address
- sequence
- 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
- 238000006243 chemical reaction Methods 0.000 claims abstract description 38
- 238000003860 storage Methods 0.000 claims description 72
- 238000013507 mapping Methods 0.000 claims description 52
- 238000012546 transfer Methods 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 7
- 238000000547 structure data Methods 0.000 claims description 2
- 230000014509 gene expression Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 230000003139 buffering effect Effects 0.000 description 10
- 230000001174 ascending effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 241001269238 Data Species 0.000 description 7
- 230000008520 organization Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4013—Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供一种在将大端字节序处理器与小端字节序处理器连接于总线上的情况下、由极简单的结构实现存储器数据共享的处理器及存储器共享装置。字节序不同的第1处理器(10)和第2处理器(20)均按第1处理器10的字节序的字节次序,经数据总线连接于所述存储器。地址变换部(21)在第2处理器(20)对幅度比数据总线小的数据访问共享存储器的情况下,变换地址的下位比特,以指向使数据总线中的相应数据位置逆转的位置,并输出到所述存储器。
Description
本申请是2004年3月18日提交的同名专利申请(申请号200410030047.9)的分案申请。
技术领域
本发明涉及一种具有彼此不同的字节序(endian)的两个处理器与存储器的数据共享装置和其处理器,尤其是涉及处理器间的数据共享。
背景技术
在处理器的基本字长为2字节(16比特)以上的情况下,作为将2字节以上的数据存储在存储器中的字节顺序,有所谓大端字节序(big endian)与小端字节序(little endian)等两种方式。存储器按字节单位分配地址是因为基本字长为2字节以上。
首先说明大端字节序。
所谓大端字节序是在具有字节单位的地址的存储器中存储2字节以上数据时的字节列的排列顺序(字节次序)方式,指大端(bigend)(即MSB(MostSignificant Bit)侧。此时,B不是Bit,应是Byte)的字节开始按存储器的地址升序存储的方式。但是,字节序不是比特列的排列顺序,而是字节列的排列顺序,字节内的比特的排列顺序不变。
图1表示大端字节序的说明图。如图所示,例如在以大端字节序将4字节数据“89ABCDEF”(16进制数,下面的“”内也一样)存储在地址100-103地址号码的存储器区域中的情况下,按100-103地址号码的顺序,存储为“89”、“AB”、“CD”、“EF”。
图2虽是与图1相同的实例,但表示将32比特作为基本字长时的存储图像(存储器数据)。存储器地址是字节单位,在基本字长中,下位地址(由地址下位2比特寻址的字节位置)从左开始顺序升序为“0”、“1”、“2”、“3”。将最上位字节“89”存储在0地址号码中。
这样,通过大端字节序,从MSB侧的字节开始按地址升序地存储在存储器中。
图3表示连接大端字节序CPU2与存储器3b的一般结构。另外,本说明书中将CPU也简称为处理器。
如图所示,CPU2的数据输入输出端子D[31:24]、D[23:16]、D[15:8]、D[7:0]分别通过数据总线连接于存储器3b的下位地址0、1、2、3上。由此,从MSB开始按存储器的地址升序存储字节数据。另外,在该图的存储器3b中,该图的结构例(structure sample)4表示由CPU2内的程序定义时的存储图像。LONG INTEGER w是基本字长(32比特)的字数据,从MSB开始顺序由w3、w2、w1、w0等4个字节构成。SHORT INTEGER x是半字的数据,从MSB开始顺序由x1、x0构成。SHORT INTEGER y也一样。CHAR a、b、c、d分别是字节数据。
下面说明小端字节序。
所谓小端字节序是指从小端部(big end)(即LSB(Least Significant Bit)侧)的字节开始按存储器的地址升序存储的方式。
图4表示小端字节序的说明图。该图是与图1相同的数据例,32比特数据“89ABCDEF”按100-103地址号码的顺序,存储为“EF”、“CD”、“AB”、“89”。
图5表示对与图4相同的实例将32比特设为基本字长的存储图像(memory image)。与图2相比,下位地址的排列相反,从右开始顺序变为“0”、“1”、“2”、“3”。
图6表示连接小端字节序CPU1与存储器3a的一般结构。如图所示,CPU1的数据输入输出端子D[7:0]、D[15:8]、D[23:16]、D[31:24]分别通过数据总线连接于存储器3a的下位地址0、1、2、3上。由此,从LSB的字节开始按存储器的地址升序存储字节数据。另外,在该图的存储器3a中,与图3相同的结构例(structure sample)4表示由CPU1内的程序定义时的存储图像。与图3的存储图像相比,字节列相反。
这样,大端字节序、小端字节序是将2字节以上的数据存储在存储器中时的字节列的次序方式,顺序相反。
因为这种差异,所以在大端字节序CPU与小端字节序CPU混合存在的系统中,为了确保共享数据的同样性,需要有变换字节序的差异的结构。
专利文献1公开了一种具备字节序变换部的信息包通信装置,当在大端字节序CPU与小端字节序CPU之间进行信息包通信时,在大端字节序处理器中将信息包上的数据变换到小端字节序。
另外,专利文献2中公开了一种数据匹配(data align)装置,通过根据访问地址和访问尺寸变换存储数据,吸收数据的尺寸/匹配/字节序差异,进行存储器访问。
专利文献1:特开平06-69978
专利文献2:特开2000-3304
但是,在专利文献1、2公开的技术中,必需向具备字节序变换部的处理器附加特殊的硬件。另外,因为字节序变换引起延迟,所以妨碍存储器访问的高速化,在共享存储器数据的情况下,成为对其它存储器存取的高速化的障碍。
另外,通常通信由小端字节序的处理器处理,图像处理由大端字节序的处理器处理。近年来,便携电话具有了图像处理功能,小端字节序处理器与大端字节序处理器可连接于同一总线上。另外,需要能实时共享数据。
发明内容
本发明的目的在于提供一种在将大端字节序处理器与小端字节序处理器连接于总线上的情况下、由极简单的结构实现存储器数据共享的处理器及存储器共享装置。
为了实现上述目的,本发明的处理器,经数据总线连接于存储器上,其特征在于:具备地址变换装置,在对幅度比数据总线小的数据访问存储器的情况下,变换地址的下位比特,以便指向使数据总线中的对应数据的位置逆转的位置,并输出到所述存储器,连接于所述数据总线,以便按与对应处理器的字节序相反的字节序的字节次序,与所述存储器之间传送数据。
根据该结构,就幅度与数据总线相同的数据而言,第1处理器和第2处理器都以相同的字节次序访问存储器,所以可以极简单的结构来实现幅度与数据总线相同的数据共享。另外,处理器通过地址变换装置,可就幅度比数据总线小的数据访问存储器。并且,因为可由基于地址变换装置的简单硬件构成,所以不构成存储器访问高速化的妨碍。
这里,最好构成为:对于字节序与所述处理器(第1处理器)不同的其它处理器(第2处理器)之间通过所述存储器共享的结构数据,对于在所述其它处理器中执行的程序中的所述结构数据的定义,所述处理器执行在基本字长内由相反次序定义的比基本字长小的数据的程序。
根据该结构,在第1处理器与第2处理器之间,即使对幅度比数据总线小的数据也可经存储器来共享数据。例如,在数据总线幅度为32比特(4字节)的情况下,由于具备地址变换装置,从第1处理器见到的存储器的0地址号码与从第2处理器见到的存储器的3地址号码指向相同的存储器区域(同样,从第1处理器见到的存储器的1、2、3地址号码是从第2处理器见到的存储器的2、1、0地址号码)。并且,在第1处理器将结构数据定义为由B0、B1、B2、B3等4字节构成的情况下,第2处理器将结构数据定义为由B3、B2、B1、B0等4字节构成。针对定义为B0的字节数据B0,第1处理器访问0地址号码,第2处理器访问3地址号码。由此,不仅在幅度与数据总线幅度相同的数据访问的情况下,即使在幅度小的数据访问的情况下,也可共享数据。
并且,最好所述处理器还具备按所述处理器的字节序的字节次序连接于数据总线上的高速缓冲存储器,所述处理器按幅度与数据总线相同的数据单位将数据从所述存储器读入到高速缓冲存储器中。
根据该结构,因为将幅度与数据总线相同的数据从存储器读入到高速缓冲存储器,所以可以极简单的结构来高速缓冲字节序不同的处理器的数据。此外,高速缓冲访问不需要地址变换,并且无论将某个数据放置在共享存储器中还是放置在高速缓冲存储器中,处理器都可通过相同的访问动作来访问数据。
另外,本发明的数据共享装置是具有字节序彼此不同的第1处理器及第2处理器、与存储器的数据共享装置,其特征在于:第1处理器及第2处理器都按第1处理器的字节序的字节次序,经数据总线连接于所述存储器上。
根据该结构,就幅度与数据总线相同的数据而言,第1处理器和第2处理器都以相同的字节次序访问存储器,所以可以极简单的结构来实现对应数据的共享。
这里,所述数据共享装置最好还具备地址变换装置,在第2处理器存储器访问幅度比数据总线小的数据的情况下,变换地址的下位比特,以指向使数据总线中的对应数据的位置逆转的位置,并输出到所述存储器。
根据该结构,通过地址变换装置,第2处理器可就幅度比数据总线小的数据访问存储器。
这里,最好所述储器存储被第1处理器及第2处理器访问的结构数据,所述第1处理器执行定义所述结构数据的第1程序,所述第2处理器执行第2程序,该第2程序通过在基本字长内对所述结构数据以与第1程序相反的次序来定义幅度比基本字长小的数据。
根据该结构,在第1处理器与第2处理器之间,不仅对幅度与数据总线相同的数据,即使对幅度比数据总线小的数据,也可经存储器来共享数据。另外,可在字节序不同的处理器之间共享未高速缓冲的数据(未存储在高速缓冲存储器中的数据)。
这里,所述数据共享装置还具备控制基于直接存储器访问(DMA)的数据传送的传送装置,所述传送装置在需要字节序在传送源与传送目的地不同的数据,并且传送幅度比数据总线小的数据的情况下,在传送源与传送目的地使基本字长内的对应数据的顺序逆转。
根据该结构,可在字节序不同的传送源与传送目的地之间确保各自必需的数据排列顺序后进行DMA传送。另外,处理器在传送目的地也可通过半字单位及字节单位的访问来利用数据。
这里,所述传送装置具备变换部,在需要字节序在传送源与传送目的地不同的数据,并且传送幅度比数据总线小的数据的情况下,变换传送源及传送目的地之一的地址的下位比特,以便指向使数据总线中的对应数据的位置逆转的位置,并输出到所述存储器。
根据该结构,变换部仅变换地址的下位数比特,所以可通过极简单的结构来实现。
这里,具备按第2处理器的字节序的字节次序连接于数据总线上的高速缓冲存储器。
根据该结构,就幅度与数据总线相同的数据而言,将数据从存储器读入高速缓冲存储器,所以可由极简单的结构来高速缓冲字节序不同的第1处理器的数据。
另外,本发明的数据共享方法也与上述数据共享装置一样。
如上所述,根据本发明的数据处理装置,(A)通过将大端字节序的第2处理器按与小端字节序的第1处理器相同的字节次序连接于共享存储器上(参照图7的总线连接点42、43),小端字节序的第1处理器与大端字节序的第2处理器可通过字单位访问共享存储器30来共享数据。此外,可以按字单位从共享存储器高速缓冲到大端字节序处理器的高速缓冲存储器中。
另外,除(A)外,通过(B)地址变换,第2处理器未必能通过半字单位及字节单位的访问来共享数据,但可访问小端字节序用的存储器。
并且,除(A)、(B)外,(C)通过在第1处理器与第2处理器中,就应用程序内的结构定义,在基本字长内逆序定义比基本字长小的变量,不仅小端字节序的第1处理器与大端字节序的第2处理器中可以按字单位访问共享存储器,也可以按半字单位及字节单位来共享数据。
并且,除(A)、(B)外,(D)在DMA传送时,通过进行与(B)相同的地址变换,DMA传送字节序不同的数据,可在传送源与传送目的地进行基于半字单位及字节单位的访问的数据共享。
附图说明
参照说明本发明一特定实施例的附图,本发明的上述和其它目的、优点、和特征将从下述描述中变得清楚。其中,
图1表示大端字节序的说明图。
图2表示大端字节序的说明图。
图3表示连接大端字节序CPU与存储器的一般结构。
图4表示小端字节序的说明图。
图5表示小端字节序的说明图。
图6表示连接小端字节序CPU与存储器的一般结构。
图7是表示实施方式1中数据处理装置的结构框图。
图8是表示基于地址变换部21的地址变换的输入输出逻辑的说明图。
图9是第1处理器10和第2处理器20以字访问共享存储器30时的说明图。
图10中,图10A是第1处理器10和第2处理器20在相同地址以半字访问共享存储器30时的说明图。
图10B是第1处理器10和第2处理器20在不同地址以相同半字访问共享存储器30时的说明图。
图11中,图11A是第1处理器10和第2处理器20在相同地址以字节数据访问共享存储器30时的说明图。
图11B是第1处理器10和第2处理器20在不同地址以相同字节数据访问共享存储器30时的说明图。
图12是表示共享存储器30和高速缓冲存储器23的存储图像的图。
图13是通过结构定义来进行半字单位、字节单位的数据共享的说明图。
图14是表示结构的其它定义例的图。
图15是表示将源程序中的结构定义变为逆序的处理来作为编译预处理的图。
图16是表示本发明实施方式2的数据处理装置的结构框图。
图17是表示DMAC32的详细结构框图。
图18是表示基于地址变换部104的地址变换的输入输出逻辑的说明图。
图19A是表示基于DMAC32的DMA传送的状态的时间图的一例。
图19B是表示传送源存储器与传送目的地存储器的存储图像的图。
具体实施方式
(实施方式1)
图7是表示本实施方式中的数据处理装置的结构框图。如图所示,数据处理装置具备第1处理器10、第2处理器20、共享存储器30、地址变换部21、高速缓冲存储器23,这些部件经数据总线(图中的D总线)连接。
数据处理装置通过:(A)以与小端字节序的第1处理器相同的字节次序将大端字节序的第2处理器20连接于共享存储器30、(B)第2处理器20的地址变换、(C)第1处理器10、第2处理器20各自的结构的定义方法这3点,以极简单的结构来实现基于存储器的数据共享。(A)及(B)是硬件结构,(C)是软件结构。
<A总线连接>
图7中,共享存储器30及高速缓冲存储器23中的3、2、1、0表示由下位地址(这里为地址的下位2比特)寻址的字节位置。
第1处理器10是小端字节序处理器,经总线连接点41、42连接于共享存储器30。该连接与小端字节序处理器的一般存储器连接方法(参照图6)相同,第1处理器10按小端字节序的字节次序连接于共享存储器30。即,第1处理器10中数据输入输出端子的小端部D[7:0]连接于共享存储器30的0地址号码,按存储器的地址升序,从小端部开始存储字节列。
第2处理器20是大端字节序处理器,通过总线连接点43、42连接于共享存储器30。该连接涉及上述(A)。即,该连接方法不是大端字节序处理器的一般存储器连接方法(参照图3),而是与小端字节序处理器的一般存储器连接方法(参照图6)相同。该连接中,第2处理器20的数据输入输出端子不是从大端部,而是从小端部的字节D[7:0]开始按共享存储器30的地址升序连接。换言之,通过总线连接点43、42,将第2处理器20的字节次序从大端字节序改换成小端字节序。
根据该连接,第1处理器10与第2处理器20可通过对共享存储器30的32比特数据(下面称为字)的访问来共享数据。另外,可以32比特单位将数据从共享存储器32高速缓冲(读入)到高速缓冲存储器23。其中,基于16比特数据(称为半字)、8比特数据(字节)的访问的数据共享只通过该连接不能实现。可结合上述(B)、(C)来实现。
共享存储器30中第1处理器的数据输入输出端子D[31:32]、D[24:16]、D[15:8]、D[7:0]对应于作为下位地址(地址的下位2比特(A1、A0))所指的字节位置的3、2、1、0地址号码。
<B地址变换>
地址变换部21变换第2处理器20的下位地址后输出到共享存储器30。该地址变换涉及上述(B),对于作为比基本字长的32比特小的数据,变换下位地址,以指向使基本字长内的相应数据位置逆转的位置。
图8是表示基于地址变换部21的地址变换的输入输出逻辑图。对地址变换部21的输入是[访问尺寸]、[变换前地址],都从第2处理器20输入。访问尺寸表示字访问、半字访问、字节访问之一。变换前地址是从地址总线最下位开始的2比特、即A1、A0。
地址变换部21的输出是变换后地址。变换后地址如图所示,地址变换部21在字访问的情况下,原样输出A1、A0(即无变换)。在半字访问的情况下,仅反转A1,而原样输出A0。在字节访问的情况下,将A1与A0都反转后输出。这里,就字访问、半字访问而言,第2处理器20不访问错误匹配的数据。
图9是第2处理器20访问字时的说明图。第2处理器20以字单位来访问时,可与第1处理器10共享共享存储器30的数据。此时,地址变换部21不进行地址变换。
图10A是第2处理器20访问半字时的说明图。在半字访问中,地址变换部21将变换前的下位地址0地址号码(A1、A0=0、0)变换为下位地址2地址号码(1、0),另外,将下位地址2地址号码(A1、A0=1、0)变换为下位地址0地址号码(0、0)。如图所示,若第2处理器20执行将半字“89AB”存储到存储器的0地址号码中的指令(movhw#89ABh,mem(0)),则如存储图像(存储器数据)4b那样,将“89AB”存储到2地址号码与3地址号码中。相反,若第1处理器10执行同样的指令,则如存储图像4a那样,将“89AB”存储到0地址号码与1地址号码中。
这样,在半字访问中,从第1处理器见到的共享存储器30的下位地址的0地址号码是从第2处理器20见到的共享存储器30的下位地址2地址号码,同样,从第1处理器见到的2地址号码是从第2处理器20见到的0地址号码。
图11A是第2处理器20字节访问时的说明图。在字节访问中,地址变换部21将例如变换前的下位地址0地址号码(A1、A0=0、0)变换为地址3地址号码(1、1),如图所示,若第2处理器20执行将字节“89”存储到存储器的0地址号码中的指令(movhw#89h,mem(0)),则如存储图像(memory image)5b那样,将“89”存储到3地址号码中。相反,若第1处理器10执行同样的指令,则如存储图像5a那样,将“89”存储到0地址号码中。
这样,在字节访问中,第2处理器20通过地址变换部21将下位地址0地址号码变换为3地址号码,将1地址号码变换为2地址号码,将2地址号码变换为1地址号码,将3地址号码变换为0地址号码。即,在字节访问中,从第1处理器10见到的共享存储器30的下位地址的0、1、2、3地址号码是从第2处理器20见到的共享存储器30的下位地址3、2、1、0地址号码。
但是,即使在上述(A)中加入(B)的地址变换,第2处理器20也不能实现经共享存储器30与第1处理器10之间以半字单位和字节单位共享数据。(B)的地址变换在第2处理器20伴随基于(A)的字节次序的改换、以半字和字节来访问上有意义。
即,若不具备地址变换部21,则尽管第2处理器20能以字单位访问共享存储器30,但不能以半字和字节单位来访问。例如,在图10A的实例中,共享存储器30的0、1地址号码如存储图像4a那样,是字的下位侧(图的右侧)半字,但第2处理器20向0、1地址号码、即字的上位侧的半字输出“89AB”。在该状态下,若假定不进行地址变换地将0地址号码指定给共享存储器30,则会在共享存储器30中未输入“89AB”的下位侧半字(0、1地址号码)中写入总线上的无效数据。
这样,(B)的地址变换在消除由(A)的字节次序改换产生的半字、字节访问的缺陷上有意义。另外,因为地址变换部21可由简单组合的电路实现,所以可忽视变换引起的下位地址输出的延迟。
另外,就半字、字节而言,如图10A、图11A所示,从第1处理器10见到的地址与从第2处理器20见到的地址不一致,所以可以认为不能共享半字单位、字节单位的数据。针对该不一致,例如图10B、图11B所示,第1处理器10和第2处理器20若对半字及字节的共享数据直接指定不一致的地址,则不仅字单位、即使是半字单位和字节单位也可共享。在本实施方式中,由上述(C)来实现这点。
高速缓冲存储器23经总线连接点44、通过一般的大端字节序处理器与存储器的连接方法(参照图3)与第2处理器20相连接。图7中,高速缓冲存储器23配备在第2处理器20外部,但也可在第2处理器20内部。高速缓冲存储器23可以按字单位来调整缓冲共享存储器30的数据。这依赖于上述(A)的改换字节次序的连接。
图12是表示共享存储器30和高速缓冲存储器23的存储图像的图。高速缓冲存储器23通过以字单位从共享存储器30高速缓冲数据,去除共享存储器30与下位地址的次序不同的点,保持相同的存储图像。但是,高速缓冲存储器23以半字单位、字节单位从共享存储器30进行高速缓冲不能仅由上述(A)的连接来实现。
<C结构定义>
图13是通过结构定义(上述(C))来进行半字单位、字节单位的数据共享的说明图。图中,根据结构10b那样定义的源程序生成第1处理器10执行的第1程序10a。另外,根据结构20b那样定义的源程序生成第2处理器20执行的第2程序20a。结构20b定义与结构10b一样的变量,但在基本字长的范围内逆序定义比基本字长小的变量的顺序。
例如,就16比特整数型的变量x,y而言,在结构10b中,定义为[SHORTINTEGER y,x;],在结构20b中,逆序定义为[SHORT INTEGER x,y;]。另外,就字符型变量a、b、c、d而言,在结构10b中,定义为[CHAR d、c、b、a;],在结构20b中,逆序定义为[CHAR a、b、c、d;]。这些结构由程序来记述,或由编译器逆序记述。
由此,通过在结构的定义中改换,可允许图10A、图11A所示的半字和字节访问中的地址的不一致。即,如图10B、图11B所示,在第1处理器10和第2处理器半字及字节访问应共享的相同变量的情况下,可指向不一致的地址。
如图13所示,由结构10b定义的共享存储器30的存储图像与由结构20b定义的存储图像一致。但是,从第2处理器20见到的半字、字节的下位地址与第1处理器10顺序相反(不一致)。例如,就变量a而言,从第1处理器10看是存储在下位地址3地址号码中,在第2处理器20内部为下位地址0地址号码。由此,即使通过字节访问也可共享变量a。
另外,变量y从第1处理器10看是存储在下位地址0、1地址号码中,在第2处理器20内部为下位地址2、3地址号码。由此,即使通过半字访问也可共享变量y。
另外,即使在高速缓冲存储器23中,若是定义为应共享的结构的数据,则不仅字单位、即使是半字单位和字节单位也可高速缓冲。
图14是表示结构的其它定义例的图。图中,就第1处理器10用的结构10c而言,通过没有最后的码的8比特变量[CHAR b2;]的定义,在基本字长内余8比特。因此,在结构20c中,插入比特长度与余数相同的空(dummy)字节数据[CHAR bDummy0;]。由此,在结构20c中,还包含8比特的余数地在基本字长内逆序定义。
图15是表示将源程序中的结构定义变为逆序的处理来作为编译预处理的图。
如图所示,预处理部100输入第1处理器10用的第1源程序与第2处理器20用的第2源程序,检测二者中的应共享的结构(S11),改换变量的顺序,使一个源程序中的基本字长内的变量顺序与另一源程序中的变量的顺序相反(S12)。此时,必要时插入图14所示的空字节数据或空半字。之后,由各自的编译器编译两个源程序。
由此,编码者不必挨个考虑应共享结构数据的顺序来编程,只要仅使应共享的变量名一致即可,所以可减小编程者的负担。
如上所述,根据本实施方式的数据处理装置,(A)通过将大端字节序的第2处理器20按与小端字节序的第1处理器10相同的字节次序连接于共享存储器30上(参照图7的总线连接点42、43),小端字节序的第1处理器10与大端字节序的第2处理器20可通过字单位访问共享存储器30来共享数据。此外,可以按字单位从小端字节序的共享存储器30高速缓冲到大端字节序处理器的高速缓冲存储器中。
另外,除(A)外,通过(B)地址变换部21,第2处理器20未必能通过半字单位及字节单位的访问来共享数据,但可访问小端字节序用的存储器。例如,对于由小端字节序连接的第1处理器10与共享存储器30,可通过将小端字节序的第2处理器20成为(A)(B)的简单结构,作为第2处理器20的存储器来访问。
并且,除(A)、(B)外,(C)通过在第1处理器10与第2处理器20中,就结构定义,在基本字长内逆序定义比基本字长小的变量,不仅小端字节序的第1处理器10与大端字节序的第2处理器20中可以按字单位访问共享存储器30,也可以按半字单位及字节单位来共享数据。
另外,上述实施方式中,说明第1处理器10为小端字节序、第2处理器20为大端字节序时的结构,但也可为相反的字节序。此时,从两个处理器开始,作为大端字节序来连接共享存储器30,地址变换部21可以是变换小端字节序处理器的地址的结构。
另外,在上述实施方式中,第1处理器10和第2处理器20将32比特设为基本字长,但也可以是64比特或128比特等其它的基本字长。此时,地址变换部21可以是变换表示基本字长内部的字节位置的下位地址的结构。
(实施方式2)
在上述实施方式中,就通过上述(A)(B)来存储在共享存储器30中的数据而言,通过上述(C)来解决在从第1处理器10看时和从第2处理器20看时在半字地址及字节地址中产生一致的情况。在本实施方式中,说明不通过(C)而由DMA传送来解决该不一致的结构。
图16是表示本发明实施方式2的数据处理装置的结构框图。该图的数据处理装置与图7相比,不同之处在于新追加了SDRAM(Synchronous DynamicRandom Access Memory)31、DMAC(Direct Memory Access Controller)32、I/O(Input/Output device)33、I/O34。对于与图7相同的结构要素附加相同符号,所以省略说明,主要说明不同之处。
本数据处理装置配备在DVD记录器或数字播放接收机等AV(AudioVisual)设备中。此时,第2处理器20进行基于MPEG(Moving Picture ExpertGroup)的压缩动态图像数据的解码或编码等图像处理,第1处理器10进行图像处理装置整体的控制。共享存储器30用于第1处理器10与第2处理器20之间的各种数据的传递。
SDRAM31由第1处理器10和第2处理器20用作作业存储器,保持表示MPEG压缩动态图像的流数据、解码中的图象、解码后的参照图象、解码后的视频数据等。
DMAC32在DMA传送时,传送源数据与传送目的地数据是不同字节序的数据,在传送数据尺寸比字小的情况下,进行改换字节次序的地址变换。另外,DMA传送在存储器-存储器之间和存储器-I/O之间进行。这里,存储器是共享存储器30和SDRAM31,I/O是I/O33、I/O34等。
I/O33、34分别是8比特、16比特的I/O器件,例如,是将解码后的图象数据作为串行视频数据输出的视频输出部、输入解码后的视频数据并作为声音信号输出的音频输出部等。
图17是表示DMAC32的详细结构框图。如图所示,DMAC32具备第1地址计数器101、第2地址计数器102、终端计数器103、数据锁存部105和控制部106。
第1地址计数器101、第2地址计数器102分别保持传送源、传送目的地地址,并在每个传送时进行正计数或倒计数。两个地址计数器同传送源与传送目的地的对应也可相反。
终端计数器103在计数完应在脉冲传送时传送的数据数量时,通知控制部106并使DMA传送结束。
地址变换部104在传送源数据与传送目的地数据之间、或I/O33、34与存储器数据之间字节序不同且传送数据尺寸比字小的情况下,为了在传送源与传送目的地使基本字长内的对应数据的顺序逆转,变换从第1地址计数器101输出的传送源/传送目的地地址。
这里,所谓[字节序不同]是指访问传送源数据与传送目的地数据不同的字节序的处理器,或用于字节序不同的处理器和I/O。例如,是由第2处理器20加载/存储传送源数据、由第1处理器10加载/存储传送目的地数据的情况,或由第2处理器20存储传送源数据、传送目的地是从LSB侧顺序请求字节数据的I/O的情况等。
另外,因为由第2处理器加载存储的数据以小端字节序存储在存储器中,所以字单位的DMA可不通过基于地址变换部104的地址变换而原样进行DMA变换。但是,比字小的半字单位、字节单位的DMA如图10A、图11A所示,从第1处理器10见到的地址与从第2处理器20见到的地址不一致。因此,地址变换部104在传送源与传送目的地必需不同字节序的数据的情况下,为了更正半字单位和字节单位的地址的不一致而变换地址。
图18是表示基于地址变换部104的地址变换的输入输出逻辑的说明图。向地址变换部104的输入是[字节序][访问尺寸][变换前地址]。[字节序]从控制部106输入,表示传送源数据与传送目的地数据是相同字节序还是不同字节序。更正确地,是表示访问传送源数据的处理器与访问传送目的地数据的处理器是相同字节序还是不同字节序。另外,传送源、传送目的地之一是I/O,在该I/O必需的传送数据的字节次序(或半字的次序)是小端字节序的情况下,若访问传送源/传送目的地数据的处理器是第1处理器10,则字节序相同,若是第2处理器20,则字节序不同。[访问尺寸]从控制部106输入,指示字、半字、字节之一。[变换前地址]是从第1地址计数器101输入的地址的下位2比特。
如[变换后地址]所示,地址变换部104在字节序相同的情况下,无论是字传送、半字传送还是字节传送,都原样输出(不变换)变换前地址。另外,即使字节序不同,但是字传送的情况下,也原样输出(不变换)变换前地址。在字节序不同、为半字传送的情况下,仅反转A1后输出。在字节序不同、为字节传送的情况下,反转A1、A0的两比特后输出。
这样,图18中的字节序不同时的输入输出逻辑与图8所示的地址变换部21的输入输出逻辑相同,但重要的是通过地址变换部21对第2处理器20的半字地址及字节地址与第1处理器10不一致进行变换,更正不一致。
数据锁存部(latch)105在存储器-存储器间的DMA传送中暂时保持传送数据。
控制部106在内部具有第1处理器10或第2处理器20可访问的控制寄存器,根据控制寄存器的设定内容来控制DMAC32整体。控制寄存器保持传送源和传送目的地的开始地址(I/O的情况下为其地址或从控制部106输出的I/O选择信号的指定)、传送数据尺寸、传送源和传送目的地的字节序(访问第1处理器10的数据或访问第2处理器20的数据)等。
图19A是表示基于DMAC32的DMA传送的状态的时间图的一例。图中,源存储器(传送源存储器)例如是DSRAM31,目的存储器(传送目的地存储器)是共享存储器30。表示将SDRAM31的100地址号码以后由第2处理器存储的一定量的数据DMA传送到共享存储器30的900地址号码以后的情况的实例。另外,SA表示从第1地址计数器101经地址变换部104输出的源地址,SD表示从传送源存储器读出的半字的源数据,DA表示基于第2地址计数器102的目的地址,DD表示写入传送目的地存储器的半字的目的数据。
此时,第1地址计数器101将100地址号码作为开始地址,每次增加2,第2地址计数器102将900地址号码作为开始地址,每次增加2。地址变换部104在字节序不同的半字DMA传送中仅反转A1。结果,输出到地址总线的源地址SA102、100、106、104、...,目的地址DA输出为900、902、904、906、...。由此,从小端部的半字开始传送传送源数据。
图19B是表示基于19A的DMA传送的传送源存储器与传送目的地存储器的存储图像的图。如图所示,将传送源存储器的下位地址0地址号码的半字传送到传送目的地存储器的下位地址2地址号码,将2地址号码的半字传送到0地址号码。
由此,由大端字节序的第2处理器20存储的传送源数据在经DMA传送后,在传送目的地存储器中可以以半字单位由第1处理器进行访问。这样,DMAC32更正图10A、图11A所示的地址不一致,进行DMA传送。可由第1处理器10以半字单位无地址不一致地访问传送后的数据。另外,若传送目的地的900地址号码为I/O34,则可通过DMA传送从LSB顺序提供半字。图19中,示出半字的DMA传送,但字节传送的情况也一样。
另外,在存储器-I/O之间的DMA传送的情况下,因为控制部106向I/O直接输出芯片选择信号,所以不经数据锁存部105,而将从存储器读出的数据直接(或反方向)传送到I/O。此时,例如也可以字节单位或半字单位将大端字节序的第2处理器20存储的数据从小端部传送到I/O。字节序相反的情况也一样。
如上所述,根据本实施方式的数据处理装置,即使是未定义为上述(C)结构数据的数据,由于在DMA传送时由地址变换部104更正由上述(A)(B)产生的半字地址及字节地址的不一致,所以传送后的数据可通过半字或字节单位的访问由其它处理器正确读出。另外,存储器-I/O之间的DMA传送也一样,可由地址变换部104更正半字地址和字节地址的不一致。I/O在从LSB侧需要数据的情况和从MSB侧需要数据的情况下都可通过DMAC32来传送必需的数据。
另外,地址变换部104也可变换从第2地址计数器102输出的地址,来代替变换从第1地址计数器101输出的地址。
另外,在图17所示的DMAC中,在半字或字节传送时通过地址变换对发送目的地数据改换半字或字节的排列,但也可以按字单位将传送源数据取入数据锁存部105中,在数据锁存部105改换半字或字节的排列,以字单位写入传送目的地存储器。
虽然参照附图以实施例来完整描述了本发明,但值得注意的是,对于本领域的技术人员而言,不同的改变和变更是显而易见的。因此,除非这样的改变或变更脱离了本发明的范围,否则认为它们被包含在其中。
Claims (11)
1.一种数据共享装置,包括:
数据总线,其具有数据宽度;
存储器,
第一字节序的处理器,其在逻辑上经所述数据总线以第一字节序的字节顺序连接到所述存储器;
第二字节序的处理器,其在逻辑上经所述数据总线以第一字节序的字节顺序连接到所述存储器;
地址变换部,用于:
当所述第二字节序的处理器进行8位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的最低两位的值,并将包括所反转后的值的地址输出到所述存储器;
当所述第二字节序的处理器进行16位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的次最低位的值,并将包括所反转后的值的地址输出到所述存储器;和
当所述第二字节序的处理器对具有所述第一数据总线的宽度的数据进行存储器存取时,将来自所述第二字节序的处理器的地址输出到所述存储器,而不经过地址变换,
其中,所述存储器存储由所述第一字节序的处理器和所述第二字节序的处理器存取的结构数据,
所述第一字节序的处理器执行定义所述结构数据的第一程序,
所述第二字节序的处理器执行第二程序,该第二程序所定义的结构数据包括小于基本字长的数据,该数据在所述基本字长内以一顺序被定义,且该顺序与所述第一程序中的顺序相反,和
所述第一字节序的处理器读取或写入所述结构数据以便与所述第二字节序的处理器进行通信,并且所述第二字节序的处理器读取或写入所述结构数据以便与所述第一字节序的处理器进行通信。
2.根据权利要求1所述的数据共享装置,还包括用于对采用直接存储器访问的数据传送进行控制的传送部,
其中,在传送源和传送目的地要求数据具有不同字节序、并且待传送数据的宽度比所述数据总线的宽度小的情况下,对于所述传送源和所述传送目的地,所述传送部将基本字长内的所述数据的顺序逆转。
3.根据权利要求2所述的数据共享装置,
其中,所述传送部包括变换部,用于在传送源和传送目的地要求数据具有不同字节序、并且待传送数据的宽度比所述数据总线的宽度小的情况下,变换所述传送源或者所述传送目的地的地址的至少一个低位比特,以指示所述数据总线中所述数据的逆转位置,并将所变换后的地址输出到所述存储器。
4.一种数据共享装置,包括:
数据总线,其具有数据宽度;
存储器,
第一字节序的处理器,其在逻辑上经所述数据总线以第一字节序的字节次序连接到所述存储器;
第二字节序的处理器,其在逻辑上经所述数据总线以第一字节序的字节次序连接到所述存储器;
地址变换部,用于:
当所述第二字节序的处理器进行8位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的最低两位的值,并将包括所反转后的值的地址输出到所述存储器;
当所述第二字节序的处理器进行16位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的次最低位的值,并将包括所反转后的值的地址输出到所述存储器;和
当所述第二字节序的处理器对具有所述第一数据总线的宽度的数据进行存储器存取时,将来自所述第二字节序的处理器的地址输出到所述存储器,而不经过地址变换,
高速缓冲存储器,其在逻辑上以第二字节序的字节次序连接到所述数据总线,
其中,所述存储器存储由所述第一字节序的处理器和所述第二字节序的处理器存取的结构数据,
所述第一字节序的处理器执行定义所述结构数据的第一程序,和
所述第二字节序的处理器执行第二程序,该第二程序所定义的结构数据包括小于基本字长的数据,该数据在所述基本字长内以一顺序被定义,且该顺序与所述第一程序中的顺序相反,和
所述第一字节序的处理器读取或写入所述结构数据以便与所述第二字节序的处理器进行通信,并且所述第二字节序的处理器读取或写入所述结构数据以便与所述第一字节序的处理器进行通信。
5.根据权利要求4所述的数据共享装置,还包括用于对采用直接存储器访问的数据传送进行控制的传送部,
其中,在传送源和传送目的地要求数据具有不同字节序、并且待传送数据的宽度比所述数据总线的宽度小的情况下,对于所述传送源和所述传送目的地,所述传送部将基本字长内的所述数据的顺序逆转。
6.根据权利要求5所述的数据共享装置,
其中,所述传送部包括变换部,用于在传送源和传送目的地要求数据具有不同字节序、并且待传送数据的宽度比所述数据总线的宽度小的情况下,变换所述传送源或者所述传送目的地的地址的至少一个低位比特,以指示所述数据总线中所述数据的逆转位置,并将所变换后的地址输出到所述存储器。
7.根据权利要求4所述的数据共享装置,其中,所述第一字节序类型是大端字节序,而所述第二字节序类型是小端字节序。
8.根据权利要求4所述的数据共享装置,其中,所述第一字节序类型是小端字节序,而所述第二字节序类型是大端字节序。
9.一种在数据处理装置中共享数据的方法,所述数据处理装置包括第一字节序类型的处理器和第二字节序类型的处理器、以及经数据总线均以第一字节序的字节次序连接这两个处理器的存储器,所述方法包括:
使所述第一处理器执行定义结构数据的程序,使所述第二处理器执行一程序,该程序所定义的结构数据包括小于基本字长的数据,所述结构数据在所述存储器中被共享,所述数据在所述基本字长内以一顺序被定义,且该顺序与所述第一字节序类型的处理器的所述结构数据的定义中的顺序相反,使所述第一字节序的处理器读取或写入所述结构数据以便与所述第二字节序的处理器进行通信,并且使所述第二字节序的处理器读取或写入所述结构数据以便与所述第一字节序的处理器进行通信;
当所述第二字节序的处理器进行8位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的最低两位的值,并将包括所反转后的值的地址输出到所述存储器;
当所述第二字节序的处理器进行16位数据的存储器存取时,反转从所述第二字节序的处理器输出的地址的次最低位的值,并将包括所反转后的值的地址输出到所述存储器;和
当所述第二字节序的处理器对具有所述第一数据总线的宽度的数据进行存储器存取时,将来自所述第二字节序的处理器的地址输出到所述存储器,而不经过地址变换。
10.根据权利要求9所述的方法,其中,所述第一字节序类型是大端字节序,而所述第二字节序类型是小端字节序。
11.根据权利要求9所述的方法,其中,所述第一字节序类型是小端字节序,而所述第二字节序类型是大端字节序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075198A JP4446373B2 (ja) | 2003-03-19 | 2003-03-19 | プロセッサ、データ共有装置 |
JP075198/2003 | 2003-03-19 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100300479A Division CN100428214C (zh) | 2003-03-19 | 2004-03-18 | 字节序不同的处理器间共享数据的数据共享装置和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101373461A true CN101373461A (zh) | 2009-02-25 |
CN101373461B CN101373461B (zh) | 2010-12-08 |
Family
ID=33290567
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101610184A Expired - Fee Related CN101373461B (zh) | 2003-03-19 | 2004-03-18 | 数据共享装置、在数据处理装置中共享数据的方法 |
CNB2004100300479A Expired - Fee Related CN100428214C (zh) | 2003-03-19 | 2004-03-18 | 字节序不同的处理器间共享数据的数据共享装置和处理器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100300479A Expired - Fee Related CN100428214C (zh) | 2003-03-19 | 2004-03-18 | 字节序不同的处理器间共享数据的数据共享装置和处理器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7587557B2 (zh) |
JP (1) | JP4446373B2 (zh) |
CN (2) | CN101373461B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647355A (zh) * | 2018-06-27 | 2020-01-03 | 上海寒武纪信息科技有限公司 | 数据处理器和数据处理方法 |
CN112835842A (zh) * | 2021-03-05 | 2021-05-25 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060004984A1 (en) * | 2004-06-30 | 2006-01-05 | Morris Tonia G | Virtual memory management system |
US7966432B2 (en) * | 2004-07-30 | 2011-06-21 | ST—Ericsson SA | Data processing device adaptable to variable external memory size and endianess |
DE602004012563T2 (de) * | 2004-10-11 | 2009-05-07 | Texas Instruments Inc., Dallas | Mehrfädiges DMA |
US20060106988A1 (en) * | 2004-11-16 | 2006-05-18 | Charbel Khawand | Method and system for exchanging data |
CN1838665B (zh) * | 2005-03-24 | 2010-08-11 | 华为技术有限公司 | 网络通信中不同字节序类型之间的适配方法 |
CN1838666B (zh) * | 2005-03-24 | 2010-04-28 | 华为技术有限公司 | 一种跨操作系统平台的字节序转换方法 |
JP4437464B2 (ja) | 2005-06-01 | 2010-03-24 | 株式会社ルネサステクノロジ | 半導体装置及びデータ処理システム |
CN100357871C (zh) * | 2005-06-30 | 2007-12-26 | 华为技术有限公司 | 一种支持外部存储器接口模式转换的装置和方法 |
JP2008033722A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | エンディアン変換回路を備えたデータ転送制御装置 |
KR100827704B1 (ko) * | 2006-11-29 | 2008-05-07 | 삼성전자주식회사 | 포트별 데이터 입출력 단위가 독립적인 경우에도 데이터 호환을 보장하는 멀티패쓰 억세스블 반도체 메모리 장치 및 그에 따른 데이터 호환방법 |
CN101324868B (zh) * | 2008-07-11 | 2010-06-16 | 中兴通讯股份有限公司 | 处理器与boot flash间的连接装置及实现方法 |
US9524237B2 (en) * | 2008-09-12 | 2016-12-20 | Renesas Electronics Corporation | Data processing device and semiconductor intergrated circuit device for a bi-endian system |
CN101763242B (zh) * | 2010-01-04 | 2011-06-29 | 上海交通大学 | 二进制翻译中的字节序调整方法 |
CN101916235B (zh) * | 2010-08-02 | 2013-09-11 | 凌阳科技股份有限公司 | 一种中央处理单元及其存取数据的方法 |
JP5505192B2 (ja) * | 2010-08-17 | 2014-05-28 | 富士通株式会社 | 競合試験装置 |
JP5875530B2 (ja) * | 2011-01-31 | 2016-03-02 | 株式会社ソシオネクスト | プログラム生成装置、プログラム生成方法、プロセッサ装置及びマルチプロセッサシステム |
US9373182B2 (en) * | 2012-08-17 | 2016-06-21 | Intel Corporation | Memory sharing via a unified memory architecture |
JP6517549B2 (ja) * | 2015-03-13 | 2019-05-22 | 東芝メモリ株式会社 | メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム |
CN108628638B (zh) * | 2017-03-16 | 2021-02-09 | 华为技术有限公司 | 数据处理方法及装置 |
US11755224B2 (en) * | 2017-07-27 | 2023-09-12 | EMC IP Holding Company LLC | Storing data in slices of different sizes within different storage tiers |
JP6950634B2 (ja) * | 2018-07-03 | 2021-10-13 | オムロン株式会社 | 制御装置および制御方法 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0482736A (ja) | 1990-07-25 | 1992-03-16 | Achilles Corp | スエード調シートおよびその製造方法 |
EP0470570B1 (en) | 1990-08-09 | 1997-01-29 | Silicon Graphics, Inc. | Method and apparatus for byte order switching in a computer |
JP2763207B2 (ja) | 1991-04-25 | 1998-06-11 | 株式会社東芝 | 情報処理装置 |
JPH04362738A (ja) | 1991-06-10 | 1992-12-15 | Oki Electric Ind Co Ltd | 変数管理方法 |
JPH0669978A (ja) | 1992-08-24 | 1994-03-11 | Nec Commun Syst Ltd | プロセッサ間通信方式 |
US5519842A (en) * | 1993-02-26 | 1996-05-21 | Intel Corporation | Method and apparatus for performing unaligned little endian and big endian data accesses in a processing system |
US5574923A (en) * | 1993-05-10 | 1996-11-12 | Intel Corporation | Method and apparatus for performing bi-endian byte and short accesses in a single-endian microprocessor |
US5479626A (en) * | 1993-07-26 | 1995-12-26 | Rockwell International Corporation | Signal processor contexts with elemental and reserved group addressing |
US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
US5687337A (en) | 1995-02-24 | 1997-11-11 | International Business Machines Corporation | Mixed-endian computer system |
US5907865A (en) * | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
US5848436A (en) * | 1996-03-06 | 1998-12-08 | International Business Machines Corporation | Method and apparatus for efficiently providing data from a data storage medium to a processing entity |
JPH09330269A (ja) | 1996-06-11 | 1997-12-22 | Sony Corp | アクセス方式 |
JP2000003304A (ja) | 1998-06-12 | 2000-01-07 | Nec Corp | データ処理装置とデータアライン装置 |
KR100283412B1 (ko) * | 1998-12-15 | 2001-03-02 | 김영환 | 프레임버퍼의 인터페이스 제어장치 |
DE60038264T2 (de) * | 1999-05-31 | 2009-04-23 | Thomson Licensing | Verfahren zur Vorverarbeitung von Datenpaketen in einer Busschnittstelle |
US6725369B1 (en) * | 2000-04-28 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Circuit for allowing data return in dual-data formats |
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 |
JP4890681B2 (ja) * | 2001-03-08 | 2012-03-07 | キヤノン株式会社 | 画像処理装置 |
JP2002351672A (ja) | 2001-05-25 | 2002-12-06 | Mitsubishi Electric Corp | アセンブラ処理装置、アセンブラ処理方法およびその方法をコンピュータに実行させるプログラム |
JP2003058361A (ja) * | 2001-08-20 | 2003-02-28 | Oki Electric Ind Co Ltd | データ転送方法およびデータ変換装置 |
CN1282926C (zh) * | 2002-07-23 | 2006-11-01 | 华为技术有限公司 | 一种对利用共享内存对象记录普通进程异常退出的定位方法 |
US6895489B2 (en) * | 2002-08-07 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for operating in endian independent mode |
-
2003
- 2003-03-19 JP JP2003075198A patent/JP4446373B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-18 US US10/802,914 patent/US7587557B2/en not_active Expired - Fee Related
- 2004-03-18 CN CN2008101610184A patent/CN101373461B/zh not_active Expired - Fee Related
- 2004-03-18 CN CNB2004100300479A patent/CN100428214C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647355A (zh) * | 2018-06-27 | 2020-01-03 | 上海寒武纪信息科技有限公司 | 数据处理器和数据处理方法 |
CN110647355B (zh) * | 2018-06-27 | 2021-11-26 | 上海寒武纪信息科技有限公司 | 数据处理器和数据处理方法 |
CN112835842A (zh) * | 2021-03-05 | 2021-05-25 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
CN112835842B (zh) * | 2021-03-05 | 2024-04-30 | 深圳市汇顶科技股份有限公司 | 端序处理方法、电路、芯片以及电子终端 |
Also Published As
Publication number | Publication date |
---|---|
JP4446373B2 (ja) | 2010-04-07 |
US20040230765A1 (en) | 2004-11-18 |
JP2004287481A (ja) | 2004-10-14 |
CN100428214C (zh) | 2008-10-22 |
CN101373461B (zh) | 2010-12-08 |
US7587557B2 (en) | 2009-09-08 |
CN1532722A (zh) | 2004-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101373461B (zh) | 数据共享装置、在数据处理装置中共享数据的方法 | |
EP0646873B1 (en) | Single-chip microcomputer | |
US7246191B2 (en) | Method and apparatus for memory interface | |
AU628533B2 (en) | Interface between a system control unit and a service processing unit of a digital computer | |
JPH05265922A (ja) | ダイレクト・メモリ・アクセス・コントローラ | |
KR100772287B1 (ko) | 대규모 병렬 프로세서 어레이를 메모리 어레이에 비트직렬 방식으로 접속하는 방법 및 장치 | |
US7159083B2 (en) | Programmable transition state machine | |
JP2000029826A (ja) | 多重レベルキャッシングを有する3ポ―トfifoデ―タバッファ | |
US6681273B1 (en) | High performance, variable data width FIFO buffer | |
US20090235010A1 (en) | Data processing circuit, cache system, and data transfer apparatus | |
JP3096576B2 (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
JPH11317070A (ja) | 内容アドレス先入れ先出しデ―タ記憶装置 | |
JP3043861B2 (ja) | データ処理装置 | |
JP2528879B2 (ja) | 通信処理装置 | |
JPH0997211A (ja) | バス制御装置、及びバス制御装置を含む情報処理装置 | |
JP2586134B2 (ja) | Cpu外部バスアクセス方法 | |
JP3800171B2 (ja) | ストア命令実行制御方式、および、ストア命令実行制御方法 | |
JP2004280664A (ja) | ビット演算装置 | |
JPS63174157A (ja) | マイクロプロセツサ装置 | |
JPS6252634A (ja) | バツフアメモリ構造 | |
JPH01161461A (ja) | バス・インタフェース | |
JPH01181145A (ja) | Dma転送装置のデータ組立方式 | |
JPH01161561A (ja) | バス変換装置 | |
JPH01161463A (ja) | バス・インタフェース | |
JPH0314049A (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 |
Granted publication date: 20101208 Termination date: 20180318 |
|
CF01 | Termination of patent right due to non-payment of annual fee |