转换方法及电子系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种转换方法及电子系统。
【背景技术】
[0002]在计算机中,endian模式(又称为“字节序模式”或“大小端模式”,以下称“字节序模式”)是指在单一 16位、32位或64位字中如何对字节排序。简言之,字节序模式表示字节顺序。采用大字节序(big-endian)设计的电子模块首先存储最高有效字节,采用小字节序(little-endian)设计的电子模块首先存储最低有效字节。一般而言,计算模块可能需要不同字节序模式的数据,该计算模块诸如是CPU(Central Processing Unit,中央处理单元)、电子系统的系统元件(例如SoC(System-On-Chip,片上系统))。例如,INTEL (英特尔)设计的计算模块可能需要小字节序的数据,HP(惠普)、IBM(Internat1nal BusinessMachine,国际商业机器)或MOTOROLA(摩托罗拉)设计的电子模块可能需要大字节序的数据。进一步,计算模块可能使用不同字节序模式来访问(access)具有不同文件格式的文件的数据。例如,文件格式BMP (bitmap)、GIF (Graphics Interchange Format,图像互换格式)和RTF(Rich Text Format,多信息文本格式)采用小字节序,文件格式PSD (adobephotoshop)、IMG (image)和 JPG (Joint Photographic Experts Group)米用大字节序。如此,电子系统需要适用于不同模块的转换机制(swap mechanism),该转换机制用于转换访问的数据。如此,当计算模块和系统元件需要不同字节序模式的数据时,可能需要通过转换机制在不同字节序模式之间转换该数据。
[0003]在现有技术中,电子系统可以使用特殊指令(诸如CPU的编译器中的特殊指令)作为该转换机制。但是,当该电子系统设计于不同平台(如ARM的CPU和INTEL的CPU)上时,需要改变该特殊指令。换言之,当电子系统的平台变化时,设计者不得不手动地产生该特殊指令,导致不方便和低效率。另一方面,设计者也可以在高级语言中使用指令(诸如C代码)作为转换机制。与在CPU的编译器中设计转换机制的指令相比,在高级语言中设计的转换机制的指令数目显著的增加,导致电子系统低效率。
[0004]根据数据转换前后的逻辑关系,也可由硬件来实现该转换机制。例如,当数据关联于特定的文件格式时,设计者可观察需要被转换的数据,使得当数据关联于特定的文件格式时可以指定硬件转换机制来转换该数据。当电子系统制成时,该硬件转换机制即固定。但是,在不同的操作条件(例如不同协议、不同计算模块和系统元件)下,相同文件格式的数据可能被安排于不同的字节序模式中。如此,难以明确的定义(well-defined)适用于不同的操作条件的硬件。可以从上面看出,现有技术需要改进。
【发明内容】
[0005]有鉴于此,本发明实施例提供了一种转换方法及电子系统,可以降低计算模块的软件工作量并且使用灵活。
[0006]为了解决上述技术问题,本发明实施例提供了如下技术方案:
[0007]本发明实施例提供了一种转换方法,用于电子系统,包括:产生访问信号和产生转换信号,所述转换信号用于指示所述访问信号的转换模式;根据所述访问信号,从所述电子系统中的存储模块访问数据;以及根据所述转换信号,转换所述数据。
[0008]其中,所述访问信号中包含地址信号,所述转换信号包括:所述地址信号中的至少一个未定义的位。
[0009]其中,所述电子系统包括:计算模块、访问模块和转换模块,由所述计算模块执行所述产生访问信号和转换信号的步骤,由所述访问模块执行所述访问数据的步骤,由所述转换模块执行所述转换所述数据的步骤。
[0010]其中,根据所述转换信号,转换所述数据,包括:当所述数据是在所述访问模块和存储模块之间传送时,所述转换模块根据所述转换信号转换所述数据。
[0011]其中,根据所述转换信号,转换所述数据,包括:当所述数据是在所述访问模块和计算模块之间传送时,所述转换模块根据所述转换信号转换所述数据。
[0012]其中,所述转换模式包括:不转换所述数据、按字节转换所述数据、按半字转换所述数据或者按字转换所述数据。
[0013]本发明实施例还提供了一种电子系统,包括:存储模块;计算模块,用于产生访问信号和指示所述访问信号的转换模式的转换信号;访问模块,耦接至所述计算模块,用于根据所述访问信号,从所述存储模块访问数据;以及转换模块,用于根据所述转换信号,转换所述数据。
[0014]其中,所述访问信号中包含地址信号,所述转换信号包括:所述地址信号中的至少一个未定义的位。
[0015]其中,所述转换模块耦接在所述访问模块和所述存储模块之间。
[0016]其中,所述转换模块耦接在所述访问模块和所述计算模块之间。
[0017]其中,所述转换模式包括:不转换所述数据、按字节转换所述数据、按半字转换所述数据或者按字转换所述数据。
[0018]本发明实施例的有益效果是:
[0019]上述转换方法及电子系统,通过转换信号来指示访问信号的转换模式,从而可以依据不同的需求,通过简单的调整转换信号就可以改变转换模式,因此使用灵活。此外,上述电子系统由转换模块来转换访问的数据,因此计算模块不需要在转换访问的数据上浪费时间,从而可以降低计算模块的软件计算量。
【附图说明】
[0020]图1是根据本发明实施例的电子系统的示意图;
[0021]图2是当图1中的转换模块运作时,相关信号的实施例的示意图;
[0022]图3是根据本发明另一实施例的电子系统的示意图;
[0023]图4是根据本发明实施例的转换方法的流程示意图。
【具体实施方式】
[0024]为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0025]请参考图1,是根据本发明实施例的电子系统100的示意图。该电子系统10可以是片上系统(SoC)或集成电路(Integrated Circuit,IC),但是不限制于此。该电子系统10包括:存储模块100、计算模块102、访问模块104和转换模块106。该存储模块100可以是外部存储设备,诸如DRAM (Dynamic Random Access Memory,动态随机存取存储器)或SRAM(Static Random Access Memory,静态随机存取存储器),但是不限制于此。该计算模块102用于产生访问信号(Accessing Signal,即ACC,以下称“访问信号ACC”)和转换信号(Swap Signal,即SWA,以下称“转换信号SWA”),该转换信号SWA指示访问信号ACC的转换模式。在这个实施列中,该计算模块102可以是CPU或者DMA (Direct Memory Access,直接存储器存取)。该访问模块104(例如总线阵列)耦接于该计算模块102,用于根据该访问信号ACC,从该存储模块100中访问数据(data,即DAT,以下称“数据DAT”)。该转换模块106耦接于访问模块104和存储模块100之间,用于根据转换信号SWA转换数据DAT。通过转换模块106,计算模块102不需要在转换数据DAT为恰当的字节序模式和数据长度上浪费额外的周期(cycles)。此外,当计算模块102需要的封包数据被分为几个部分封包(packet parts)并且每个部分封包需要通过不同的转换模式转换时,计算模块102通过简单的转变该转换信号SWA,就可以适应性的改变访问的数据的转换模式。简言之,根据计算模块102的需要,通过调整转换信号SWA来恰当的改变数据DAT的转换模式。
[0026]详细的,当计算模块102需要数据DAT时,计算模块102产生带地址信号(addresssignal,即ADD,以下称“地址信号ADD”)的访问信号ACC,该地址信号ADD指示存储模块100中存储的数据DAT的地址。该计算模块102进一步产生转换信号SWA,该转换信号SWA指示访问信号ACC的转换模式。当无需转换根据访问信号ACC访问的数据DAT时(如当计算模块102需要的数据DAT的字节序模式与从存储模块100访问的数据DAT的字节序模式相同时),该转换信号SWA指示转换模块106不转换该数据DAT并且直接输出该数据DAT至访问模块104。当需要转换根据访问信号ACC访问的数据DAT时(如当计算模块102需要的数据DAT的字节序模式不同于从存储模块访问的数据DAT的字节序模式时),可以通过不同的数据长度(如字节、半字和字)来转换从存储模块100访问的数据DAT。如此,在这个实施例中,转换信号SWA可以是用于指示四种转换模式的2比特的信号,例如该四种转换模式包括:不需要转换数据DAT、按字节转换数据DAT、按半字转换数据DAT和按字转换数据DAT?在转换信号SWA中指示对应的访问信号ACC的转换模式之后,访问模块104根据访问信号ACC中指示的地址访问数据DAT,然后转换模块106根据转换信号SWA转换数据DAT。
[0027]如此一来,数据DAT被转换为符合计算模块102的需求,如此计算模块1
02不需要在转换从存储模块100访问的数据上浪费时钟周期。而且,当计算模块102需要的封包的数据具有多个部分封包并且每个部分封包或者该封包的几个部分需要通过不同转换模式转换时,计算模块102可以适应性地调整访问信号ACC(如具有的地址信号ADD)和转换信号SWA,以在恰当的转换模式中访问对应于每个部分封包的数据。电子系统100写数据DAT至存储模块100的操作流程可以参考上述,出于简洁此处不再叙述。
[0028]请参考图2,是当图1所示的转换模块106运作时,相关信号的实施例的示意图。在这个例子中,当转换信号SWA是“00”时,转换模块106不转换数据DAT ;当转换信号SWA是“01”时,转换模块106按字节转换数据DAT ;当转换信号SWA是“10”时,转换模块106按半字转换数据DAT ;当转换信号SWA是“II”时,转换模块106按字转换数据DAT。如图2所示,当计算模块102写数据DAT (如:0xl2345678)至存储模块100并且转换信号SWA是“00”时,转换模块106不转换该数据DAT,然后将该数据DAT存储在存储模块100中。当计算模块102需要来自存储模块100的数据DAT并且转换信号SWA是“01”时,按字节转换该数据DAT (如数据DAT从0x12345678变为0x78563412)并且传送至访问模块104。当计算模块102需要来自存储模块100的数据DAT并且转换信号SWA是“ 10”时,按半字转换该数据(如数据DAT从0x12345678变为0x56781234)并且传送至访问模块104。
[0029]请注意,为了简化电子系统10的设计,转换信号SWA可以是访问信号ACC中的地址信号ADD中的未定义的位(undefined bits)。例如,当地址信号ADD是32位信号并且存储模块100具有256MB可寻址(addressed)时,该地址信号ADD使用32位信号中的28位来对存储模块100中的256MB进行寻址。如此,在地址信号ADD中未定义的4位中的2位可以定义为转换信号SWA。在另一个例子中,只要转换信号SWA可以对应访问信号ACCjP么转换信号SWA也可以是计算模块102产生的其它信号中的未定义的位。另外,转换信号可以扩展为N位信号,其中N依赖于在不同的字节序模式之间传递数据的转换方式的数目。
[0030]明显的,本发明实施例在转换信号SWA中指示对应的访问数据的恰当的转换模式,从而电子系统的转换模块106可以根据计算模块102的需要(如数据长度)来转换数据。如此一来,电子系统的计算模块102不需要在传输访问的数据上花费时钟周期,这降低了计算模块102的负载。此外,访问的数据的转换模式是灵活的,以适合于计算模块102的各种操作条件。当访问不同文件格式的数据时,电子系统的设计者可以容易的切换转换模式,例如通过调整转换信号。相比于在软件中实现该转换方法,通过在电子系统中增加转换模块106,可以降低计算模块102的软件工作量(software effort)。计算模块102可以通过调整转换信号SWA来转变转换模块106的转换模式,而不是在硬件中定义对应于不同操作条件的数据的转换模式。根据不同应用,本领域技术人员可以根据观察做合适的选择和修改。另外,本发明实施例的转换模块106可以是硬件模块,即采用硬件电路来实现数据的各种转换(如不转换、按字节转换、按半字转换、按字转换);由于本发明实施例可以采用硬件电路来实现各种转换,因此转换速度快,并且计算模块102通过改变转换信号就能够控制转换模块106的转换模式,因此使用灵活。
[0031]请参考图3,是根据本发明另一实施例的电子系统30的示意图。该电子系统30类似于图1所示的电子系统10,因此具有相似功能的元件用相同的符号表示。与电子系统10不同的是,该电子系统30包括计算模块302_1至302_i以及转换模块306_1至306_i。该转换模块306_1至306_i配置于计算模块302_1至302_i和访问模块304之间。如图3所示,转换模块306_1至306」涉及转换信号SWA_1至SWA_i,该转换信号SWA_1至SWA_i可以相同。例如,转换信号SWA_1至SWA_i可以是访问信号ACC_1至ACC_i中的地址信号ADD_1至ADD_i的第(m+1)位和第m位。该转换信号SWA_1至SWA_i也可以互相不同。例如,转换信号SWA_1可以是访问信号ACC_1中的地址信号ADD_1的第(m+1)位和第m位;转换信号SWA_2可以是访问信号ACC_2中的地址信号ADD_2的第(n+1)位和第η位,等等。请注意:地址信号ADD_1的第(m+1)位和第m位均可以是地址信号ADD_1的未定义的位。相似的,地址信号ADD_2的第(n+1)位和第η位均可以是地址信号ADD_2的未定义的位。如此一来,根据计算模块302_1至302」的需要,可以在恰当的转换模式中转换反馈至计算模块302_1至302_i的数据。
[0032]上述的根据计算模块指示的转换信号来转换数据的处理可以概括为转换方法40,如图4所示。明显的,如果得到的结果相同,转换方法40并不限制于图4所示的顺序。参考图4,该转换方法40包括:
[0033]步骤400:开始。
[0034]步骤402:电子系统的计算模块产生访问信号。
[0035]步骤404:该计算模块产生用于指示访问信号的转换模式的转换信号。
[0036]步骤406:电子系统的访问模块根据访问信号从电子系统的存储模块中访问数据。
[0037]步骤408:电子系统的转换模块根据转换信号转换该数据。
[0038]步骤410:结束。
[0039]根据转换方法40,访问的数据可以根据计算模块的需要被恰当的转换。该转换方法40的细节操作流程可以参考上述,出于简洁不再叙述。
[0040]总之,通过在转换信号中指示对应于访问数据的合适的转换模式,以上例子的转换模块根据计算模块的需要,转换访问的数据。如此一来,可以降低计算模块的计算量,如软件工作量(Software effort),并且访问的数据的转换模式是灵活的,以适应于不同的系统需要。
[0041]以上实施例所述的转换方法及电子系统,能够在转换信号中指示根据访问信号访问的数据是否需要被转换,如此根据访问信号访问的数据可以被转换模块恰当的转换。
[0042]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种转换方法,用于电子系统,其特征在于,包括: 产生访问信号和转换信号,所述转换信号用于指示所述访问信号的转换模式; 根据所述访问信号,从所述电子系统中的存储模块访问数据;以及 根据所述转换信号,转换所述数据。2.如权利要求1所述的转换方法,其特征在于,所述访问信号中包含地址信号,所述转换信号包括:所述地址信号中的至少一个未定义的位。3.如权利要求1所述的转换方法,其特征在于,所述电子系统包括:计算模块、访问模块和转换模块,由所述计算模块执行所述产生访问信号和转换信号的步骤,由所述访问模块执行所述访问数据的步骤,由所述转换模块执行所述转换所述数据的步骤。4.如权利要求3所述的转换方法,其特征在于,所述转换模块根据所述转换信号,转换所述数据,包括: 当所述数据是在所述访问模块和存储模块之间传送时,所述转换模块根据所述转换信号转换所述数据; 或者,当所述数据是在所述访问模块和计算模块之间传送时,所述转换模块根据所述转换信号转换所述数据。5.如权利要求1?4中任一项所述的转换方法,其特征在于,所述转换模式包括:不转换所述数据、按字节转换所述数据、按半字转换所述数据或者按字转换所述数据。6.一种电子系统,其特征在于,包括: 存储模块; 计算模块,用于产生访问信号和指示所述访问信号的转换模式的转换信号; 访问模块,耦接至所述计算模块,用于根据所述访问信号,从所述存储模块访问数据;以及 转换模块,用于根据所述转换信号,转换所述数据。7.如权利要求6所述的电子系统,其特征在于,所述访问信号中包含地址信号,所述转换信号包括:所述地址信号中的至少一个未定义的位。8.如权利要求6所述的电子系统,其特征在于,所述转换模块耦接在所述访问模块和所述存储模块之间。9.如权利要求6所述的电子系统,其特征在于,所述转换模块耦接在所述访问模块和所述计算模块之间。10.如权利要求6所述的电子系统,其特征在于,所述转换模式包括:不转换所述数据、按字节转换所述数据、按半字转换所述数据或者按字转换所述数据。
【专利摘要】本发明实施例公开了一种转换方法及电子系统。该电子系统包括:计算模块、转换模块、访问模块和存储模块,该计算模块产生访问信号和转换信号,该转换信号用于指示该访问信号的转换模式;该访问模块根据该访问信号,从存储模块访问数据;以及转换模块根据该转换信号,转换数据,使转换后的数据的字节序模式(endian mode)满足计算模块需要的字节序模式。本发明实施例,可以降低计算模块的软件工作量并且具有灵活性。
【IPC分类】G06F9/30
【公开号】CN104881269
【申请号】CN201510087098
【发明人】吴卓强, 余庆华
【申请人】联发科技股份有限公司
【公开日】2015年9月2日
【申请日】2015年2月25日
【公告号】US20150248345
转载请注明原文地址:https://www.famiwei.com/read-8138804.html