CN101118523A - 存储器访问控制装置及其方法、存储器访问控制器及其方法 - Google Patents
存储器访问控制装置及其方法、存储器访问控制器及其方法 Download PDFInfo
- Publication number
- CN101118523A CN101118523A CNA2006101091037A CN200610109103A CN101118523A CN 101118523 A CN101118523 A CN 101118523A CN A2006101091037 A CNA2006101091037 A CN A2006101091037A CN 200610109103 A CN200610109103 A CN 200610109103A CN 101118523 A CN101118523 A CN 101118523A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory access
- hlen
- signal
- burst
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种通过增强型AHB总线协议提高SDRAM访问性能的存储器访问控制器,包括:至少一个存储器访问主控,用于发出存储器访问指令,该指令包括HLEN信号,表示所传输数据的突发长度;以及存储器访问控制器,用于基于由该存储器访问主控产生的HLEN信号控制对存储器的访问。
Description
技术领域
本发明通常涉及一种用于改善存储器访问性能的增强型AHB总线协议,特别地,本发明涉及一种能够利用增强型AHB总线协议改善SDRAM访问性能的存储器访问控制装置、存储器访问控制方法、计算机程序及其存储介质。
背景技术
随着对更强大和更灵活的计算设备的需求的增加,已开发出越来越多的片上系统(SoC)。许多SoC包含由多个公司提供的专用集成电路(ASIC)。
先进RISC机器(ARM)微处理器在SoC解决方案中被普遍应用。可以说,目前普遍认为ARM嵌入技术是用于便携应用的ASIC设计的工业标准。因此,创造并使用强大、便携而且同时可重复利用的、能够增强ARM内核的知识产权(IP),对于任何ASIC设计中心都是至关重要的。
先进微控制器总线体系结构(AMBA)是一种开放标准的片上总线规范,该规范详细说明了构成SoC的功能块之间互连和管理的策略。AMBA定义了一种在SoC内部多个块之间连接的信号协议。它便于带有多个外围设备的嵌入式处理器(例如:ARM微处理器)的开发。AMBA通过为SoC模块定义一种公共总线结构提高了可重用设计方法。
SoC,尤其是基于ARM的SoC,很适合于通信应用,包括电缆调制解调器、xDSL、IP通话(VoIP)和因特网应用产品、手持设备(例如:个人数字助理)、GSM和UMTS系统、数字摄像机、手机等等。SoC也能被用于汽车工业,例如车内处理任务。
随着SoC在上述通信和多媒体领域的普及,对高带宽的需求成为SoC的瓶颈。先进高性能总线(AHB)是被广泛应用于工业的高性能系统总线,而SDRAM是大部分SoC系统的主要存储器。因而,提高SoC的存储器访问速度是很有价值的。
AMBA AHB适用于高性能、高时钟频率的系统模块。AHB担当高性能的系统中枢总线。通过低功率外围宏单元功能,AHB支持处理器、片上存储器和片外外部存储器接口之间的高效连接。AHB还专门用于确保采用综合和自动化测试技术的高效设计流程的易用性。
AHB支持多个总线主控并提供高带宽操作,AMBA AHB实现了高性能、高时钟频率系统所要求的特性,包括突发传输、分段处理、单周期总线主控切换、单个时钟边沿操作、非三态的实现方式和更宽的数据总线配置(64/128位)。
一个AMBA AHB设计可以包含一个或多个总线主控,通常一个系统至少包含处理器和测试接口。然而,包含直接存储器访问(DMA)或数字信号处理器(DSP)作为总线主控也很常见。
外部存储器接口、先进外围总线(APB)桥和任何内部存储器是最常见的AHB受控。AHB受控也可以包含系统中任何其他的外围设备。但是,低带宽外围设备通常位于APB上.
一个典型的AMBA AHB系统设计包含以下组件:
AHB主控-总线主控能够通过提供地址和控制信息发起读写操作。在任一时刻只允许一个总线主控主动使用总线。
AHB受控-总线受控在给定的地址空间范围内对读或写操作做出响应。总线受控向主动的主控返回成功、失败或等待数据传输的信号。
AHB仲裁器-总线仲裁器确保在某一时刻只允许一个总线主控发起数据传输。尽管仲裁协议是固定的,根据应用要求仍能够实现任何仲裁算法,例如最高优先级或公平访问。一个AHB可仅包含一个仲裁器,尽管对于单总线主控系统而言仲裁器是没有意义的。
AHB译码器-AHB译码器用于译码每一次传输的地址,并为这一传输所涉及的受控提供选中信号。所有AHB实现都需要一个中央译码器。
AMBA AHB总线协议被设计用于中央多路复用器互连方案。利用这一方案,所有总线主控发出指明它们所希望执行的传输的地址和控制信号,并且仲裁器决定哪一个主控将其地址和控制信号发送到所有受控。中央译码器被用于控制读数据并响应信号多路复用器,该译码器从这一传输所涉及的受控中选择适当的信号。图1示出了实现一个具有三个主控和四个受控的AMBA AHB设计所需的结构。
在开始AMBA AHB传输前,总线主控必须被授权访问总线。这一过程由主控向仲裁器声明一个请求信号开始。然后仲裁器指明该主控何时将被授权使用总线。
被授权的总线主控通过驱动地址和控制信号开始一次AMBAAHB传输。这些信号提供关于地址、方向和传输宽度的信息,还指明这一传输是否构成一次突发的一部分。允许两种不同的突发传输方式:一种是递增突发,该突发在地址边界不环回,另一种是环回(wrap)突发,该突发在特定地址边界处进行环回。
利用写数据总线将数据从主控转移到受控,同时利用读数据总线将数据从受控转移到主控。
每个传输包含一个地址和控制周期以及一个或多个数据周期。
地址不能被延展,因此所有受控必须在此期间内对地址进行采样。然而,使用HREADY信号能够延展数据。当该信号为低时,等待状态被插入传输,并给受控以额外的时间来提供或采样数据。
在传输中,受控利用响应信号显示状态,该信号为HRESP[1:0]:
OKAY:响应OKAY表明传输进展正常,当HREADY变为高时该响应表示传输已成功完成。
ERROR:响应ERROR表明发生了一个传输错误,传输不成功。
RETRY和SPLIT:传输响应RETRY和SPLIT都表明该传输不能立即完成,但总线主控应继续尝试进行该传输。
正常操作过程中,在仲裁器授权另一主控访问总线之前,允许一个主控完成一次特定突发中的所有传输。然而,为了避免过长的仲裁等待时间,仲裁器可能中断一次突发,这种情况下,该主控必须对总线重新进行仲裁以完成这次突发中的剩余传输。
一次AHB传输具有两个不同的部分:地址部分,它仅持续一个周期,数据部分,它可能需要多个周期。这是通过HREADY信号实现的。图2示出了最简单的传输,该传输没有等待状态。
在没有等待状态的简单传输过程中,主控在HCLK的上升沿之后向总线驱动地址和控制信号,然后受控在时钟信号的下一个上升沿对地址和控制信息进行采样。受控对地址和控制信息进行采样之后,开始驱动适当的响应信号,该响应信号在时钟信号的第三个上升沿被总线主控采样。
这个简单的例子说明了地址部分和数据部分的传输如何在不同的时钟周期内发生。事实上,任何传输的地址部分都发生在前一传输的数据部分。这种地址和数据的重叠是总线的流水线特性的基本原理,并能带来高性能操作,同时还给受控提供充足的时间来对传输作出响应。
每个传输都可以被归类为四种不同类型之一,这些类型由表1所示的HTRANS[1:0]信号表示。
表1传输类型译码
HTRANS[1:0] | 类型 | 说明 |
00 | IDLE | 表示没有请求数据传输。传输类型IDLE被用于当一个总线主控得到总线授权但并不希望执行数据传输时。受控必须始终对IDLE传输提供零等待状态OKAY响应,并且受控忽略该传输。 |
01 | BUSY | 传输类型BUSY允许总线主控在突发传输的中间插入IDLE周期。这种传输类型表明总线主控正在继续一次突发传输,但下一个传输不能立即发生。当主控使用传输类型BUSY时,地址和控制信号必须反映突发中的下一次传输。受控应忽略该传输。受控必须始终提供零等待状态OKAY响应,与对IDLE传输作出的响应一样。 |
10 | NONSEQ | 表示一个突发的第一次传输或一次单个传输。地址和控制信号与上一次的传输无关。总线上的单个传输被视为一次突发,因此传输类型是NONSEQUENTIAL。 |
11 | SEQ | 一次突发中的剩余传输是SEQUENTIAL类型,其地址与前一次传输相关。控制信息与前一次传输相同。地址等于前一次传输的地址加上数据尺寸(字节)。对于环回突发,传输的地址在地址边界环回,所述地址边界等于数据尺寸(字节)乘以该传输中的拍次(4、8或16)。 |
此外,AHB支持突发传输。在AMBA AHB协议中,不仅定义了未定义长度突发和单个传输,也定义了4、8和16拍突发。协议中既支持递增突发也支持环回突发。递增突发访问连续的位置并且突发中每一次传输的地址都是前一地址的递增。对于环回突发,如果传输的起始地址不与突发中的总字节数(数据尺寸×拍次)相对齐,那么当到达边界时突发中的传输的地址将会环回。例如,一个4拍环回字(4字节)突发访问会在16字节边界处环回。因此,如果传输的起始地址是0x34,那么它有四次传输,地址分别为0x34、0x38、0x3c和0x30。突发信息由HBURST[2:0]提供,其八种可能的类型如表2定义。
表2突发信号编码
HBURST[2:0] | 类型 | 说明 |
000 | SINGLE | 单个传输 |
001 | INCR | 未定义长度的递增突发 |
010 | WRAP4 | 4拍环回突发 |
011 | INCR4 | 4拍递增突发 |
100 | WRAP8 | 8拍环回突发 |
101 | INCR8 | 8拍递增突发 |
110 | WRAP16 | 16拍环回突发 |
111 | INCR16 | 16拍递增突发 |
突发的尺寸表示突发中的拍次,而不是所传输的字节的数量。一次突发中所传输的数据总量等于拍次乘以每拍的数据量,如
HSIZE[2:0]所示。
在不允许突发完成的某些情况下,如果突发被提前终止,那么每一个利用突发信息的受控设计能够采取正确的动作过程是很重要的。
例如,图3显示了一个4拍环回突发,其第一次传输中加入了一个等待状态。由于该突发是字传输的4拍突发,其地址将在16字节边界处环回,因此对于地址0x3C的传输之后是对地址0x30的传输。递增突发的唯一区别是地址超过16字节边界而继续。
由图3可见,通过监测HTRANS信号并确保突发开始后每个传输都被标以SEQUENTIAL或BUSY,受控能够确定突发已在何时提前终止。如果发生了一次NONSEQUENTIAL或IDLE传输,则表明一次新的突发已经开始,那么前一传输必定已经被终止。
如果一个总线主控由于失去了总线所有权而不能完成突发,那么当它再次获权访问总线时,它必须适当地重新建立突发。例如,如果一个主控仅仅完成一个4拍突发中的一拍,那么它必须利用一个未定义长度突发来完成剩余的三次传输。
至于SDRAM,其时序与AHB传输相比相对复杂。对于相邻的命令,如果它们的访问类型或访问地址不同,它们的时序也不同。在SDRAM中,两个命令之间或命令与数据之间有固有的等待时间。
图4示出了最简单的连续读取突发的时序,其中CAS为2。理想情况下,从命令到数据需要两个时钟周期。至于其他情况,则需要更长的等待时间。由图4还可见,在命令和数据之间SDRAM仅有一个确定的等待时间,而且对于同一个突发操作命令SDRAM仅触发一次。此外,SDRAM支持流水线操作,即在当前的数据传输完成前,就可发出下一个命令。由于对SDRAM的同一个页面的访问速度最快,突发传输是最有效的传输方式。
然而,SDRAM的两个命令之间或命令与数据之间有固有的等待时间,因而AHB主控访问SDRAM有两个缺点:
一是AHB不支持地址部分和数据部分分离传输,这意味着如果仅有一个AHB主控访问SDRAM,那么SDRAM的访问等待时间就不能被隐藏,因为在当前命令完成前不能发送下一个命令。解决方法是片上存储器控制器支持多个AHB主控访问外部SDRAM,并且存储器控制器能够计算并且在其他命令完成前向SDRAM发送命令以隐藏等待时间。
AHB协议的另一个缺点是它支持的突发长度固定为4、8、16或利用递增类型的不定长度,而大部分多媒体应用传输的突发长度不是4,8或16。这一缺点会浪费访问周期并降低系统性能。
基于原始的AHB协议,对于4、8或16之外的突发长度,AHB主控将定义比实际值大的突发长度,或利用递增突发类型,然后通过在地址部分中发送传输类型NONSEQUENCE和IDLE来中断该传输。该中断只在突发的最后一个AHB地址部分有效,这就造成不论突发操作是什么,总会浪费数个周期。对于固定突发长度,下一个命令在中断之前已被发送。对于递增传输,下一个命令直到当前传输完成后才能发送。
对于4、8或16之外的突发长度,下一个命令也要等到当前传输完成后才能发送。由于SDRAM只能获取最后一个AHB地址部分的相关信息,并且SDRAM通常需要4到8个时钟周期,因此存储器控制器也不能屏蔽等待时间。从而,它将导致浪费访问周期并降低系统性能。
发明内容
因此,本发明的目的之一是提供一种克服前文所述的现有技术中的缺点的存储器访问控制器和存储器访问控制方法。
为实现上述目的,根据本发明的一个方面,提供一种存储器访问控制装置,该装置通过总线与存储器相连,所述装置包括:至少一个与该总线相连的存储器访问主控,用于发出存储器访问指令,该指令包括HLEN信号,表示将要在该总线上传输的数据的突发长度;和存储器访问控制器,该控制器与该至少一个存储器访问主控相耦合,用于基于该存储器访问主控产生的HLEN信号控制对存储器的访问。
为达到上述目的,根据本发明的另一个方面,提供一种存储器访问控制器,包括:至少一个存储器访问受控,用于接收由相应的存储器访问主控发出的存储器访问指令,产生存储器访问请求,并向相应的存储器访问主控提供该存储器访问控制器的信息,其中由相应的存储器访问主控发出的该存储器访问指令包括HLEN信号,其表示正在传输的数据的突发长度;至少一个HLEN信号译码器,其分别与至少一个存储器访问受控相耦合,用于对包含在由相应的存储器访问主控发出的存储器访问指令中的HLEN信号进行译码;仲裁器,用于接收由该至少一个存储器访问受控产生的存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;命令缓冲器,用于连续地存储由该仲裁器产生的访问命令;和命令控制器,用于读取存储在命令缓冲器中的访问命令,并产生一个存储器访问指令以控制数据的传输。
为达到上述目的,根据本发明的另一个方面,提供一种存储器访问控制方法,用于控制对存储器的访问,所述方法包含以下步骤:发出至少一个存储器访问指令,该指令包括HLEN信号,表示将通过总线传输的数据的突发长度;和基于该HLEN信号控制对存储器的访问。
为达到上述目的,根据本发明的再一个方面,提供一种存储器访问控制方法,包括:接收存储器访问指令,该存储器访问指令包含HLEN信号,表示正在传输的数据的突发长度;基于存储器访问指令,产生存储器访问请求;译码该HLEN信号;接收该存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;连续地存储访问命令;和读取访问命令,并产生存储器访问指令,以控制数据的传输。
本发明还提供用于实现上述存储器访问控制方法的计算机程序。
另外,本发明还提供在至少一个计算机可读介质中的计算机程序产品,该产品包含用于实现上述存储器访问控制方法的程序代码。
本发明的其他目的、特征和优点将在下面结合附图的描述中变得更加清楚,其中整个附图中相似的附图标记表示相同或相似的部分。
附图说明
被包含在说明书中并构成说明书的一部分的附图,阐明了本发明的实施例,并且与说明书一起,用于解释发明的原理。图中:
图1示出了实现一个具有三个主控和四个受控的AMBA AHB设计所需的结构;
图2示出了一个AHB传输的最简单传输,该传输没有等待状态;
图3作为一个例子,示出了一个带有等待状态的4拍环回突发,该等待状态加入在AHB传输过程中的第一次传输中;
图4示出了一个最简单的连续读取突发的时序,其中对于SDRAM,CAS为2;
图5示出了根据本发明的增强型AHB总线的读取操作;
图6示出了根据本发明的增强型AHB总线的有多个AHB主控的存储器控制器的方框图;
图7示出了根据本发明的增强型AHB总线的存储器控制器中的译码器的结构;
图8是根据本发明的增强型AHB的存储器访问过程的流程图;
图9是分别根据增强型AHB和现有技术的SDRAM的页面读取时序图,其中CAS=2。
具体实施方式
在下面的具体描述中,为了提供对本发明的深入理解,规定了大量的特定细节。然而,对于本领域的技术人员,本发明不仅限于这些特定细节。
根据本发明,增强型AHB加入了一个由AHB主控向受控发出的HLEN[3:0]信号,用于表示传输的实际突发长度,其数值为1到16。根据本发明,增强型AHB解决了周期浪费问题,并对1、4、8或16传输以外的那些传输简单地提高了性能,而且它向前兼容AHB协议,且仅需要很小的改动。
根据本发明,增强型AHB的细节简要总结如下:
1)给出了另一个信号HLEN[3:0],该信号分别表示突发长度1到16。突发长度=HLEN+1。HLEN保持与HBURST相同的周期。它由AHB主控在AHB地址部分声明,并由AHB受控在第一个数据部分中当HTRANS=NONSEQ时采样。
2)对于固定突发长度传输,如果某些情况下AHB主控不知道突发长度传输,HLEN应该等于最初的HBURST长度。
3)对于递增的不定突发长度传输,AHB受控将忽略HLEN。除非突发长度大于16,否则建议避免使用递增。
4)存储器控制器可以选择增加HLEN_EN,该信号选择究竟HLEN还是HBURST被用作突发长度,以向前兼容AHB。
5)将保留HBURST以向前兼容AHB,并且给出关于环回、递增和单个传输的信息。
图5示出了根据本发明的增强型AHB总线的读取操作。如图5所示,HLEN信号与其他控制信号一样,将在第一个地址部分被发送,并且在同一突发传输期间保持不变。AHB受控将判断HTRANS信号是否为NONSEQ。如果是,AHB受控采样HLEN信号,否则,忽略HLEN信号。
现在将结合附图说明通过使用根据本发明的增强型AHB总线实现高速SDRAM访问的系统结构。图6示出了根据本发明的增强型AHB总线的具有多个AHB主控的存储器控制器的方框图,图7示出了根据本发明的增强型AHB总线的上述存储器控制器中的译码器的结构。
如图6和图7所示,具有根据本发明的增强型AHB总线的存储器访问系统主要包括AHB主控部分,AHB接口部分和控制器核心部分。
AHB主控部分具有多个AHB主控601-1,...,601-n,这些主控对SDRAM存储器控制器600发出访问请求。
AHB接口部分包括:多个AHB受控602-1,...,602-n,分别与多个AHB主控601-1,...,601-n对应设置,这些受控接收来自AHB主控601-1,...,601-n的访问请求,并当HTRANS为NONSEQ时向仲裁器604发出请求;多个HLEN译码器603-1,...,603-n,分别与多个AHB主控601-1,...,601-n对应设置,这些译码器对AHB控制信号和HLEN信号进行译码,并向存储器控制器600的仲裁器604发送译码后的信号和其它AHB控制信号。AHB接口部分还接收来自控制器核心部分的反馈信息、处理收到的信息并发回给AHB主控部分。
控制器核心部分主要包括:仲裁器604,用于接收来自各个AHB受控602-1, ...,602-n的请求,对这些请求进行分类,选择并通过命令&地址复用器605向命令缓冲器607发送AHB命令;命令缓冲器607,用于连续地存储来自AHB接口部分的多个命令;和命令控制器608,用于读取存储在命令缓冲器607中的命令,产生相应的存储器访问命令来访问存储器以及控制数据传输。
另外,根据本发明的增强型AHB,图7示出了HLEN译码器的具体结构。
下面,将结合图8中的流程图说明存储器访问过程。
如图8所示,在步骤S801中,AHB主控在时钟的上升沿驱动总线地址、控制信号和HLEN信号。各个AHB主控能根据其情况决定是否发出HLEN信号。
下一步,在步骤S802中,AHB受控在时钟的下一个上升沿采样总线地址、控制信号和HLEN信号。在步骤S803中,如果HTRANS信号为NONSEQ,AHB受控向仲裁器发出一个请求。
然后,在步骤S803中,HLEN译码器判断HLEN_EN信号是否为1。如果HLEN_EN为1,AHB受控选取HLEN作为突发长度。否则,AHB受控选取译码后的HBURST信号作为突发长度。如图7所示,HBURST信号的译码器还产生上表2中所述的有关INCR、WRAP、FULL_PAGE信号,用于表明突发的类型。所有这些信号和其它AHB控制信号被送入命令&地址复用器。
然后,在步骤S804中,存储器控制器中的仲裁器采样AHB受控的请求信号,对所有传输请求进行分类,选择一个请求并向存储器控制器中的命令缓冲器发送与所选请求相关的控制信号。
下一步,在步骤S805中,存储器控制器600中的命令控制器608在存储器的当前操作状态和命令缓冲器中的未执行命令状态(对于读或写命令,还包括指明属于哪一存储器库(bank)哪一线的信息,和指明HLEN长度的信息)的基础上,利用最优算法对命令重新分类,并在适当的时刻发出下一命令以屏蔽等待周期。如果当前操作的AHB请求的类型是INCR,由于不知道当前命令将于何时结束,因此禁止发出下一命令,并且忽略突发长度。同时,存储器控制器还监视当前正在执行存储器访问的AHB主控的HTRANS信号。如果该HTRANS信号是NONSEQ或IDLE,则表明AHB请求中断当前传输,然后存储器控制器发出下一命令(如果下一命令尚未被发出)。
然后,在步骤S806中,存储器控制器根据存储器的时序,从存储器读取数据或向存储器写入数据。存储器控制器读取数据后,向AHB发送所读取的数据。然后,AHB受控进行采样并驱动响应信号以设定HREADY为1,从而通知AHB主控数据传输已经完成。
下一步,在步骤S807中,AHB主控采样HREADY信号。在步骤S808中,AHB主控判断HREADY信号是否为1。如果该HREADY信号为1,AHB主控发出下一个命令并且过程返回步骤S801。
图9示出了分别根据增强型AHB和现有技术的SDRAM的页面读取时序图,其中CAS=2。
图9中,突发长度为2,CAS也为2。HTRANS信号属于AHB信号,命令属于存储器控制器信号,并且DATA是从SDRAM返回到AHB主控的所读取的数据。虚线之上的部分是根据现有AHB的时序,虚线之下的部分是根据本发明的增强型AHB的时序。
在现有AHB中,只有当第一数据到达时,才能知道突发传输的结束,从而数据D1在发出命令后的第三个周期被接收。然而,根据本发明的增强型AHB,由于在突发的第一周期就知道结束时间,其他主控的命令能够预先发出,从而数据D1能够比现有AHB提前两个周期到达。因此,提高了SDRAM访问性能。
根据本发明的增强型AHB总线已经通过修改原有的AHB存储器控制器而在RTL层得以实现。一个典型的H.264模式QCIF图像AVC译码运行中,QCIF AVC译码模拟时间由0.076s下降到0.064s。SDRAM总线利用率由31%提高到34%。这意味着性能提高了约10%。许多其它的多媒体应用模拟也显示了良好的性能提高。根据不同的应用实例,性能提高了5%到15%不等。模拟建立在仅有三个AHB主控同时工作的基础上,如果增加更多的主控,估计典型的多媒体应用的总线利用率将提高10~20%。
因为目前大部分设计都基于AHB设计,而增强型AHB协议能够仅通过很小的改变大幅度地提高存储器系统性能,因此增强型AHB协议很有价值,并且对于存储器访问成为系统瓶颈的多媒体应用来说它尤其重要。AXI主控也能很方便地用于具有这样的增强总线性能的AHB总线系统中,而与AXI协议相比仅有很小的性能损失。
除了本发明的方法和装置的上述具体实施例之外,发明的目的也可以通过在任何一个信息处理设备上执行一个或一组程序实现,该设备可与任何一个后续处理装置相连。上述的信息处理设备和后续处理装置可以是众所周知的通用设备。
因此必须注意,本发明包括这样一种情况,其中发明通过直接或远程地提供在一个系统或装置中实现了上述实施例的功能的软件程序(与实施例中所说明的流程图相应的程序),由该系统或装置的计算机读出并执行所提供的程序代码来实现本发明。在这种情况下,只要能够提供程序功能,本发明的形式不仅限于程序。
因此,安装于计算机,以利用计算机实现本发明的功能处理的程序代码本身实现了本发明。换言之,本发明包括用于实现本发明的功能处理的计算机程序本身。
在这种情况下,不特别限制程序的形式。只要具有程序功能,可以利用目标代码,由解释器执行的程序,向OS提供的脚本数据等等。
也可以使用提供程序的记录介质,例如磁盘、硬盘、光盘、磁光盘、MO、CD-ROM、CD-R、CD-RW、磁带、非易失性存储器卡、ROM、DVD(DVD-ROM、DVD-R)等。
作为另一种提供程序的方法,可以利用客户计算机上的浏览器建立到互联网上的给定主页的连接,本发明的计算机程序本身或者文件可以从该主页下载到记录介质上,例如硬盘等,从而提供程序,所述文件是被压缩的并且包含自动安装功能。组成本发明的程序的程序代码也可以被分割为多个文件,这些文件可以从不同的主页下载。换言之,本发明也包括一个WWW服务器,该服务器使得多个用户下载程序文件以利用计算机实现本发明的功能处理。
存储本发明的加密程序的存储介质,例如CD-ROM等,也可以分发给用户,满足预定条件的用户可以被允许通过互联网从主页上下载解密该程序的密钥信息,并可以利用该密钥信息执行解密程序以将程序安装在计算机上,从而实现本发明。
上述实施例的功能不仅可以通过由计算机执行读出的程序代码实现,也可以通过一些或全部的实际处理操作实现,这些操作基于该程序的一个指令由在计算机上运行的OS等执行。
此外,上述实施例的功能可以通过一些或全部的实际过程实现,这些过程由设置在功能扩展版或功能扩展单元上的CPU等在从记录介质中读出的程序被写入该扩展板或单元的存储器后执行,该扩展板或单元被插入计算机或与计算机连接。
此处已描述的仅仅是对本发明的原理的应用示例。例如,作为执行本发明的最佳模式实现的上述功能,仅仅出于说明的目的。作为一个特别的例子,例如,其他设计可能被用来获取和分析波形数据以确定速度。本发明也可以用于检测速度以外的目的。因此,本领域技术人员可以在不背离本发明的范围和实质的基础上实现其他装置和方法。
Claims (22)
1.一种存储器访问控制装置,该装置通过总线与存储器相连,所述装置包括:
至少一个与该总线相连的存储器访问主控,用于发出存储器访问指令,该指令包括HLEN信号,表示将要在该总线上传输的数据的突发长度;和
存储器访问控制器,该控制器与该至少一个存储器访问主控相耦合,用于基于该存储器访问主控产生的HLEN信号控制对存储器的访问。
2.根据权利要求1的存储器访问控制装置,进一步包含HLEN使能线,用于把HLEN使能信号施加给该存储器访问控制器。
3.根据权利要求2的存储器访问控制装置,其中该存储器访问控制装置支持AHB系统总线,并且该存储器访问主控进一步依照该AHB系统总线产生HBURST信号。
4.根据权利要求3的存储器访问控制装置,其中对于固定突发长度传输,如果不知道突发长度传输,则HLEN等于HBURST长度。
5.根据权利要求3的存储器访问控制装置,其中对于递增的不定突发长度传输,使用HBURST信号,忽略HLEN信号。
6.根据权利要求1至5中任何一项的存储器访问控制装置,其中所述存储器访问控制器包括:
至少一个存储器访问受控,用于基于由相应的存储器访问主控发出的存储器访问指令产生存储器访问请求,并将该存储器访问控制器的信息反馈给相应的存储器访问主控;
至少一个HLEN信号译码器,其分别与至少一个存储器访问受控相耦合,用于对包含在由相应的存储器访问主控发出的存储器访问指令中的HLEN信号进行译码;
仲裁器,用于接收由该至少一个存储器访问受控产生的存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;
命令缓冲器,用于连续地存储由该仲裁器产生的访问命令;和
命令控制器,用于读取存储在命令缓冲器中的访问命令,并产生存储器访问指令以控制数据的传输。
7.一种存储器访问控制器,包括:
至少一个存储器访问受控,用于接收由相应的存储器访问主控发出的存储器访问指令,产生存储器访问请求,并向相应的存储器访问主控提供该存储器访问控制器的信息,其中由相应的存储器访问主控发出的该存储器访问指令包括HLEN信号,其表示正在传输的数据的突发长度;
至少一个HLEN信号译码器,其分别与至少一个存储器访问受控相耦合,用于对包含在由相应的存储器访问主控发出的存储器访问指令中的HLEN信号进行译码;
仲裁器,用于接收由该至少一个存储器访问受控产生的存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;
命令缓冲器,用于连续地存储由该仲裁器产生的访问命令;和
命令控制器,用于读取存储在命令缓冲器中的访问命令,并产生存储器访问指令以控制数据的传输。
8.根据权利要求7的存储器访问控制器,进一步包含HLEN使能线,用于把HLEN使能信号施加给该存储器访问控制器。
9.根据权利要求8的存储器访问控制器,其中该存储器访问控制器支持AHB系统总线,并且该存储器访问主控进一步依照该AHB系统总线产生HBURST信号。
10.根据权利要求9的存储器访问控制器,其中对于固定突发长度传输,如果不知道突发长度传输,则HLEN等于HBURST长度。
11.根据权利要求9的存储器访问控制器,其中对于递增的不定突发长度传输,使用HBURST信号,忽略HLEN信号。
12.一种存储器访问控制方法,用于控制对存储器的访问,所述方法包含以下步骤:
发出至少一个存储器访问指令,该指令包括HLEN信号,表示将通过总线传输的数据的突发长度;和
基于该HLEN信号控制对存储器的访问。
13.根据权利要求12的存储器访问控制方法,还包含发出HLEN使能信号的步骤,其中存储器访问依赖该HLEN信号。
14.根据权利要求13的存储器访问控制方法,其中该存储器访问控制方法支持AHB系统总线,并且进一步包括依照该AHB系统总线产生HBURST信号的步骤。
15.根据权利要求14的存储器访问控制方法,其中对于固定突发长度传输,如果不知道突发长度传输,则HLEN等于HBURST长度。
16.根据权利要求14的存储器访问控制方法,其中对于递增的不定突发长度传输,使用HBURST信号,忽略HLEN信号。
17.根据权利要求12至16中任何一项的存储器访问控制方法,其中控制步骤包括:
基于存储器访问指令,产生存储器访问请求;
对包含在存储器访问指令中的HLEN信号进行译码;
接收该存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;
连续地存储访问命令;和
读取访问命令,并产生存储器访问指令,以控制数据的传输。
18.一种存储器访问控制方法,包括:
接收存储器访问指令,该存储器访问指令包含HLEN信号,表示正在传输的数据的突发长度;
基于存储器访问指令,产生存储器访问请求;
译码该HLEN信号;
接收该存储器访问请求,并对接收到的存储器访问请求分类,以产生连续的访问命令;
连续地存储访问命令;和
读取访问命令,并产生存储器访问指令,以控制数据的传输。
19.根据权利要求18的存储器访问控制方法,进一步包括发出HLEN使能信号的步骤,以允许根据该HLEN信号进行存储器访问。
20.根据权利要求18的存储器访问控制方法,其中该存储器访问控制方法支持AHB系统总线,并进一步包括依照该AHB系统总线产生HBURST信号的步骤。
21.根据权利要求20的存储器访问控制方法,其中对于固定突发长度传输,如果不知道突发长度传输,则HLEN等于HBURST长度。
22.根据权利要求20的存储器访问控制方法,其中对于递增的不定突发长度传输,使用HBURST信号,忽略HLEN信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101091037A CN101118523B (zh) | 2006-08-01 | 2006-08-01 | 存储器访问控制装置及其方法、存储器访问控制器及其方法 |
US11/829,956 US20080034139A1 (en) | 2006-08-01 | 2007-07-30 | Memory access controller and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101091037A CN101118523B (zh) | 2006-08-01 | 2006-08-01 | 存储器访问控制装置及其方法、存储器访问控制器及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101118523A true CN101118523A (zh) | 2008-02-06 |
CN101118523B CN101118523B (zh) | 2011-10-19 |
Family
ID=39030615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101091037A Expired - Fee Related CN101118523B (zh) | 2006-08-01 | 2006-08-01 | 存储器访问控制装置及其方法、存储器访问控制器及其方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20080034139A1 (zh) |
CN (1) | CN101118523B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788963A (zh) * | 2010-03-18 | 2010-07-28 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
CN102708074A (zh) * | 2011-03-18 | 2012-10-03 | 飞思卡尔半导体公司 | 同步数据处理系统和方法 |
CN102819509A (zh) * | 2012-04-28 | 2012-12-12 | 珠海欧比特控制工程股份有限公司 | SimpCon/AHB总线接口及Java处理器系统 |
CN106575274A (zh) * | 2014-09-26 | 2017-04-19 | 英特尔公司 | 用于低功率存储器设备的公用管芯实现 |
CN107113245A (zh) * | 2014-12-12 | 2017-08-29 | 英特尔公司 | 用于在基于分组的网络中编码命令信息的方法、装置和系统 |
CN107368440A (zh) * | 2017-07-06 | 2017-11-21 | 沈阳理工大学 | 一种同位控制猝发总线 |
CN108153699A (zh) * | 2017-12-21 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种ahb转axi协议转换控制器设计方法 |
WO2018157569A1 (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种存储器的控制方法及装置 |
CN112965924A (zh) * | 2021-02-26 | 2021-06-15 | 西安微电子技术研究所 | 一种AHB-to-AXI桥接器及激进式处理方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743191B1 (en) * | 2007-12-20 | 2010-06-22 | Pmc-Sierra, Inc. | On-chip shared memory based device architecture |
WO2010065290A2 (en) * | 2008-12-03 | 2010-06-10 | Rambus Inc. | Memory system with command filtering |
US7895381B2 (en) * | 2009-02-16 | 2011-02-22 | Himax Media Solutions, Inc. | Data accessing system |
US20110164685A1 (en) * | 2010-01-04 | 2011-07-07 | Vixs Systems, Inc. | Entropy decoder with entropy decoding interface and methods for use therewith |
JP2012128627A (ja) * | 2010-12-15 | 2012-07-05 | Toshiba Corp | データ転送システム |
JP5759276B2 (ja) * | 2011-06-09 | 2015-08-05 | キヤノン株式会社 | 処理装置及び情報処理方法 |
JP2013122713A (ja) * | 2011-12-12 | 2013-06-20 | Toshiba Corp | 半導体装置 |
US9891986B2 (en) * | 2016-01-26 | 2018-02-13 | Nxp Usa, Inc. | System and method for performing bus transactions |
IT201800003373A1 (it) * | 2018-03-08 | 2019-09-08 | St Microelectronics Srl | Procedimento e circuito di decrittazione, dispositivo corrispondente |
CN114416621B (zh) * | 2021-12-29 | 2023-08-15 | 苏州雄立科技有限公司 | 一种基于axi协议的总线通信方法及装置 |
CN117807000B (zh) * | 2024-02-29 | 2024-05-28 | 浪潮电子信息产业股份有限公司 | 通道总线仲裁电路、加速装置、方法、系统、装置及介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW384445B (en) * | 1997-04-11 | 2000-03-11 | Ibm | Method for bursting processor data to or from an I/O device |
CN1180357C (zh) * | 2001-01-09 | 2004-12-15 | 深圳市中兴集成电路设计有限责任公司 | 多总线系统中桥接的方法与多端口pci桥 |
JP2004030765A (ja) * | 2002-06-25 | 2004-01-29 | Fujitsu Ltd | 自己診断機能内蔵の半導体記憶装置 |
US6996651B2 (en) * | 2002-07-29 | 2006-02-07 | Freescale Semiconductor, Inc. | On chip network with memory device address decoding |
US7000045B2 (en) * | 2002-08-28 | 2006-02-14 | Lsi Logic Corporation | Byte-enabled transfer for a data bus having fixed-byte data transfer |
US7231476B2 (en) * | 2002-11-18 | 2007-06-12 | Arm Limited | Function control for a processor |
US7062577B2 (en) * | 2002-12-18 | 2006-06-13 | Lsi Logic Corporation | AMBA slave modular bus interfaces |
US7114041B2 (en) * | 2002-12-20 | 2006-09-26 | Lsi Logic Corporation | AMBA modular memory controller |
US6981088B2 (en) * | 2003-03-26 | 2005-12-27 | Lsi Logic Corporation | System and method of transferring data words between master and slave devices |
US7219777B2 (en) * | 2003-04-11 | 2007-05-22 | Warren Lin | Reinforced brake rotor |
US7219209B2 (en) * | 2003-08-29 | 2007-05-15 | Motorola, Inc. | Bus filter for memory address translation |
KR100618817B1 (ko) * | 2003-12-17 | 2006-08-31 | 삼성전자주식회사 | 소비 전력을 절감시키는 amba 버스 구조 시스템 및 그방법 |
US7240144B2 (en) * | 2004-04-02 | 2007-07-03 | Arm Limited | Arbitration of data transfer requests |
US7133958B1 (en) * | 2004-07-23 | 2006-11-07 | Atheros Communications, Inc. | Multiple personality I/O bus |
US7797467B2 (en) * | 2005-11-01 | 2010-09-14 | Lsi Corporation | Systems for implementing SDRAM controllers, and buses adapted to include advanced high performance bus features |
-
2006
- 2006-08-01 CN CN2006101091037A patent/CN101118523B/zh not_active Expired - Fee Related
-
2007
- 2007-07-30 US US11/829,956 patent/US20080034139A1/en not_active Abandoned
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788963A (zh) * | 2010-03-18 | 2010-07-28 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
CN102708074A (zh) * | 2011-03-18 | 2012-10-03 | 飞思卡尔半导体公司 | 同步数据处理系统和方法 |
CN102708074B (zh) * | 2011-03-18 | 2016-07-06 | 飞思卡尔半导体公司 | 同步数据处理系统和方法 |
CN102819509A (zh) * | 2012-04-28 | 2012-12-12 | 珠海欧比特控制工程股份有限公司 | SimpCon/AHB总线接口及Java处理器系统 |
CN106575274A (zh) * | 2014-09-26 | 2017-04-19 | 英特尔公司 | 用于低功率存储器设备的公用管芯实现 |
CN107113245A (zh) * | 2014-12-12 | 2017-08-29 | 英特尔公司 | 用于在基于分组的网络中编码命令信息的方法、装置和系统 |
CN107113245B (zh) * | 2014-12-12 | 2021-12-10 | 英特尔公司 | 用于在基于分组的网络中编码命令信息的方法、装置和系统 |
WO2018157569A1 (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种存储器的控制方法及装置 |
CN107368440A (zh) * | 2017-07-06 | 2017-11-21 | 沈阳理工大学 | 一种同位控制猝发总线 |
CN108153699A (zh) * | 2017-12-21 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种ahb转axi协议转换控制器设计方法 |
CN112965924A (zh) * | 2021-02-26 | 2021-06-15 | 西安微电子技术研究所 | 一种AHB-to-AXI桥接器及激进式处理方法 |
CN112965924B (zh) * | 2021-02-26 | 2023-02-24 | 西安微电子技术研究所 | 一种AHB-to-AXI桥接器及激进式处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101118523B (zh) | 2011-10-19 |
US20080034139A1 (en) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101118523B (zh) | 存储器访问控制装置及其方法、存储器访问控制器及其方法 | |
US6587905B1 (en) | Dynamic data bus allocation | |
EP1389760A2 (en) | Data transfer control system, program and data transfer control method | |
US6301632B1 (en) | Direct memory access system and method to bridge PCI bus protocols and hitachi SH4 protocols | |
US7035958B2 (en) | Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target | |
JP3247076B2 (ja) | Scsi−ideバス変換アダプタ | |
JPH09190406A (ja) | 直接メモリアクセス制御装置及びこれを用いた伝送システム | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
JP2008521080A (ja) | マルチメディア・カード・インターフェース方法、コンピュータ・プログラム及び装置 | |
US7096290B2 (en) | On-chip high speed data interface | |
JP4724494B2 (ja) | Pciブリッジ及pciブリッジを搭載するシステム | |
WO1998043173A1 (fr) | Systeme d'emulation et processeur de donnees | |
CN101021821A (zh) | 先进高性能系统总线连接装置及先进高性能系统总线装置 | |
US20050240706A1 (en) | Peripheral device control system | |
JPH11272603A (ja) | バスブリッジ装置及びトランザクションフォワード方法 | |
US20070005847A1 (en) | Data transfer control device and electronic instrument | |
US7925799B2 (en) | Serial ATA interface control circuit and power management method wherein start and completion of data transfer is monitored during DMA operations using memory control unit | |
JP2002149591A (ja) | プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置 | |
US8214569B2 (en) | Method for reading and writing non-standard register of serial advanced technology attachment (SATA) device | |
US20050086459A1 (en) | Method and apparatus for driving a non-native SATA hard disk | |
CN100369023C (zh) | 直接存储器访问传输装置及其方法 | |
KR100961965B1 (ko) | 버스 시스템과 이를 이용한 데이터 전송 방법 | |
JP2000112878A (ja) | デ―タ処理装置内の転送要求タイミングを制御するための装置および方法 | |
JPH11110342A (ja) | バス接続方法及び装置 | |
JP4485064B2 (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: 20111019 Termination date: 20140801 |
|
EXPY | Termination of patent right or utility model |