存储器访问方法及系统与流程

文档序号:16468218发布日期:2019-01-02 22:54阅读:516来源:国知局
存储器访问方法及系统与流程

本发明涉及计算机系统技术领域,具体而言,涉及一种存储器访问方法及系统。



背景技术:

一般来说,计算机系统的内部设备与外部设备间的数据传输需要通过中央控制器来控制,计算机系统的内部设备间的数据传输也需要通过中央控制器来控制。中央控制器可以通过预设的程序来控制内部设备与外部设备间及内部设备与内部设备间的数据传输。然而,当大量数据进行传输时,会造成中央控制器的运算量过大,降低计算机系统传输效率。



技术实现要素:

鉴于上述问题,本发明提供了一种存储器访问方法及系统,能够有效增加存储器的传输效率。

为了实现上述目的,本发明采用如下的技术方案:

第一方面,本发明提供了一种存储器访问方法,所述存储器访问方法应用于存储器访问系统,所述存储器访问系统包括中央控制器、数据总线、直接存储器存取(directmemoryaccess,dma)控制器、外部设备、内部设备及模数转换(analogdigitalconverter,adc)控制器,所述外部设备包括外设数据寄存器的存储器地址,所述内部设备包括内设数据寄存器的存储器地址,所述存储器访问方法包括:

通过所述dma控制器接收所述外部设备发送的请求信号;

接收到所述请求信号后,通过所述dma控制器发送应答信号至所述外部设备;

接收到所述应答信号后,从所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址读取数据;

将读取到的数据存储至所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址;

判断由所述读取到的数据组成的数据集合是否通过所述数据总线的传输通道发送完毕,若是,结束,若否,则再次从所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址读取所述数据。

作为一种可选的实施方式,所述存储器访问方法还包括:

在由所述dma控制器接收外部设备发送的所述请求信号后,由所述中央控制器根据运算量判断是否初始化所述dma控制器以进行数据传输。

作为一种可选的实施方式,所述存储器访问方法还包括:

在通过所述dma控制器接收所述外部设备发送的所述请求信号后,通过所述dma控制器根据所述数据总线的传输通道优先权来安排所述请求信号的发送顺序。

作为一种可选的实施方式,所述存储器访问方法还包括:

于预设的周期时间内,当所述外部设备接收到所述应答信号以后,通过所述外部设备释放发送给所述dma控制器的所述请求信号,同时通过所述dma控制器撤销所述应答信号。

作为一种可选的实施方式,所述存储器访问方法还包括:

当所述dma控制器接收所述外部设备发送的多个请求信号后,通过所述dma控制器于相应的周期时间内执行各请求信号。

作为一种可选的实施方式,所述存储器访问方法还包括:

对存储至所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址的所述数据根据解密密钥进行解密。

作为一种可选的实施方式,所述存储器访问方法还包括:

对存储至所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址的所述数据根据解密密钥进行解密。

作为一种可选的实施方式,所述存储器访问方法还包括:

在从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据时,通过所述dma控制器从模数转换器adc数据寄存器的存储器地址读取经过adc转换程序的adc数据。

作为一种可选的实施方式,所述存储器访问方法还包括;通过所述dma控制器检测所述数据总线的各传输通道的通道传输率,并根据所述通道传输率来安排各传输通道的传输优先顺序。

第二方面,本发明提供了一种存储器访问系统,包括:

直接存储器存取(directmemoryaccess,dma)控制器;

外部设备,所述外部设备包括外设数据寄存器的存储器地址,所述dma控制器接收所述外部设备发送的请求信号,所述dma控制器发送应答信号至所述外部设备;

内部设备,所述内部设备包括内设数据寄存器的存储器地址;

数据总线,所述dma控制器通过所述数据总线收发数据于所述外部设备及内部设备;

其中,所述dma控制器从所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址读取数据,所述dma控制器将读取到的数据存储至所述外设数据寄存器的存储器地址或所述内设数据寄存器的存储器地址;

其中,所述dma控制器判断所述读取到的数据组成的数据集合是否通过所述数据总线的传输通道发送完毕。

根据本发明提供了一种存储器访问方法,包括:通过dma控制器接收外部设备发送的请求信号;通过dma控制器发送应答信号至外部设备;从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据;存储数据至外设数据寄存器的存储器地址或内设数据寄存器的存储器地址;判断由读取到的数据组成的数据集合是否通过数据总线的传输通道发送完毕。本发明提供的存储器访问方法,能够由dma控制器来直接控制读取数据及存储数据,有效增加数据传输的效率。另外,通过加密密钥及解密密钥来增加数据传输的安全性。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明范围的限定。

图1是本发明实施例1提供的存储器访问方法的方法流程图。

图2是本发明实施例2提供的存储器访问方法的方法流程图。

图3是本发明实施例3提供的存储器访问系统的系统示意图。

主要元件符号说明:

300-存储器访问系统;310-dma控制器;320-外部设备;330-内部设备;340-系统总线。

具体实施方式

下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

请参阅图1,图1是本发明实施例1提供的存储器访问方法的方法流程图。存储器访问方法应用于存储器访问系统。存储器访问系统包括中央控制器、数据总线、直接存储器存取(directmemoryaccess,dma)控制器、外部设备、内部设备及模数转换(analogdigitalconverter,adc)控制器,所述外部设备包括外设数据寄存器的存储器地址,所述内部设备包括内设数据寄存器的存储器地址。其中,存储器访问方法包括:

s101、通过dma控制器接收外部设备发送的请求信号。

dma控制器可以接收外部设备(例如,笔记本电脑、平板电脑、智能手机、u盘、磁盘等等)发送的请求信号。dma控制器也可以接收内部设备(例如,随机存取存储器、只读存储器等等)发送的请求信号。dma控制器可以内建于计算机系统中,由dma控制器与外部设备进行收发信号。例如,当用户将u盘连接笔记本电脑的usb接口时,dma控制器接收u盘发送的请求信号,请求信号可以为将u盘存储的数据读出,请求信号也可以为将数据写入u盘,用户可以通过无线鼠标来控制dma控制器读取u盘存储的数据,用户也可以通过无线鼠标来控制dma控制器将数据写入u盘。

s103、接收到请求信号后,通过dma控制器发送应答信号至外部设备。

接收到请求信号后,通过dma控制器发送应答信号至外部设备(例如,办公电脑或行动硬碟)。dma控制器也可以发送应答信号至内部设备(例如,静态随机存取存储器或动态随机存取存储器)。换句话说,dma控制器接收外部设备或内部设备发送的请求信号后,dma控制器根据请求信号来发送应答信号至外部设备或内部设备,以令dma控制器选取特定的存储器地址通过连续模式来读取数据及存储数据。

s105、接收到应答信号后,从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据。

dma控制器接收到的请求信号可以包括预设的存储器地址。接收到应答信号后,dma控制器可以从外部设备的外设数据寄存器的存储器地址(dma_cparx,directmemoryaccess_channelxperipheraladdressrequest)读取数据。dma控制器也可以从内部设备的内设数据寄存器的存储器地址(dma_cmarx,directmemoryaccess_channelxmemoryaddressrequest)读取数据。进一步来说,请求信号可以包括外部设备的外设数据寄存器的存储器地址,请求信号也可以包括内部设备的内设数据寄存器的存储器地址,以令dma控制器读取到预设长度的数据。

s107、将读取到的数据存储至外设数据寄存器的存储器地址或内设数据寄存器的存储器地址。

dma控制器可以读取到外部设备的外设数据寄存器的存储器地址的预设长度的数据,dma控制器也可以读取到内部设备的内设数据寄存器的存储器地址的预设长度的数据。dma控制器可以将预设长度的数据存储至外部设备的外设数据寄存器的存储器地址,dma控制器也可以将预设长度的数据存储至内部设备的内设数据寄存器的存储器地址。

s109、判断由读取到的数据组成的数据集合是否通过数据总线的传输通道发送完毕,若是,结束,若否,则再次从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据。

通过dma控制器判断读取到的数据组成的数据集合是否通过数据总线的传输通道发送完毕,另一方面,dma控制器判断数据集合内是否为空集合。当dma控制器判断数据集合内为空集合,访问方法结束;当dma控制器判断数据集合内并非为空集合,回到s105,进入下个传输数据周期,dma控制器可以从外部设备的外设数据寄存器的存储器地址读取预设长度的数据。dma控制器也可以从内部设备的内设数据寄存器的存储器地址读取预设长度的数据。

实施例2

请参阅图2,图2是本发明实施例2提供的存储器访问方法的方法流程图。存储器访问方法应用于存储器访问系统。存储器访问系统包括中央控制器、数据总线、直接存储器存取(directmemoryaccess,dma)控制器、外部设备、内部设备及模数转换(analogdigitalconverter,adc)控制器,所述外部设备包括外设数据寄存器的存储器地址,所述内部设备包括内设数据寄存器的存储器地址。其中,存储器访问方法包括:

s201、通过dma控制器接收外部设备发送的请求信号。

dma控制器接收外部设备或内部设备发送的请求信号,请求信号包括优先权因子,通过dma控制器根据数据总线的传输通道优先权来安排请求信号的发送顺序。

s202、由中央控制器根据运算量判断是否初始化dma控制器以进行数据传输。

当dma控制器接收到外部设备或内部设备发送的请求信号后,中央控制器根据运算量判断是否初始化dma控制器以进行数据传输,若是,进入s203,若否,进入s2021,中央控制器不初始化dma控制器。例如,中央控制器可以为cpu(centerprocessorunit)。例如,当中央控制器在高运算量状态(75%)时,中央控制器可以初始化dma控制器以进行数据传输。当中央控制器在低运算量状态(35%)时,中央控制器可以不初始化dma控制器。在另一方面,系统的数据传输功能可以依据运算量来判定由中央控制器执行或由dma控制器,以增加灵活性。

s203、接收到请求信号后,通过dma控制器发送应答信号至外部设备。

中央控制器初始化dma控制器以进行数据传输后,由dma控制器发送应答信号至外部设备或内部设备。换句话说,dma控制器接收外部设备或内部设备传送的请求信号及dma控制器发送应答信号至外部设备或内部设备为进行数据传输的必要条件。

在s201、s202及s203中,于预设的周期时间内,当外部设备或内部设备接收到dma控制器传送的应答信号以后,通过外部设备或内部设备释放发送给dma控制器的请求信号,且dma控制器同时撤销从外部设备或内部设备接收到的应答信号,以维持通道净空率,避免通道堵塞,有效提升数据传输的效率。另外,当dma控制器接收外部设备或内部设备发送的多个请求信号后,通过dma控制器于相应的周期时间内执行各请求信号。dma控制器可以根据请求信号的时序因子来对各请求信号进行相应的周期时间排程,dma控制器也可以根据请求信号的权重因子来对各请求信号进行相应的周期时间排程,有效提升数据传输的灵活性。

s205、对从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取的数据根据加密密钥进行加密。

dma控制器可以对从外部设备的外设数据寄存器的存储器地址读取的数据根据加密密钥进行加密,dma控制器也可以对从内部设备的内设数据寄存器的存储器地址读取的数据根据加密密钥进行加密,dma控制器控制加密的数据传输于系统总线,可以防止骇客窃取数据,提升数据传输的安全性。其中,当外部设备或内部设备为adc数据寄存器时,在从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据时,通过dma控制器从adc数据寄存器的存储器地址读取经过adc转换程序的adc数据,换句话说,只有通过adc转换程序的adc数据才能被dma控制器读取于adc数据寄存器的存储器地址。

s207、对存储至外设数据寄存器的存储器地址或内设数据寄存器的存储器地址的数据根据解密密钥进行解密。

dma控制器可以对存储至外部设备的外设数据寄存器的存储器地址的数据根据解密密钥进行解密,dma控制器也可以对存储至内部设备的内设数据寄存器的存储器地址的数据根据解密密钥进行解密,dma控制器对传输于系统总线的数据进行解密,提升数据传输的安全性。其中,通过dma控制器检测数据总线的各传输通道的通道传输率,dma控制器根据通道传输率来排序各传输通道的传输优先权,以提升数据传输率。

s209、判断由读取到的数据组成的数据集合是否通过数据总线的传输通道发送完毕,若是,结束,若否,则再次从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据。

当dma控制器判断由多组的数据组成的数据集合已经通过数据总线的传输通道全部发送完毕时,数据传输结束。当dma控制器判断由多组的数据组成的数据集合并没有通过数据总线的多个传输通道全部发送完毕时,回到s205,dma控制器可以对从外部设备的外设数据寄存器的存储器地址读取的数据根据加密密钥进行加密,dma控制器也可以对从内部设备的内设数据寄存器的存储器地址读取的数据根据加密密钥进行加密。

实施例3

请参阅图3,图3是本发明实施例3提供的存储器访问系统的方块示意图。存储器访问系统300包括:

直接存储器存取(directmemoryaccess,dma)控制器310;

外部设备320,包括外设数据寄存器的存储器地址,dma控制器310接收外部设备320发送的请求信号,dma控制器310发送应答信号至外部设备320;

内部设备330,包括内设数据寄存器的存储器地址;

数据总线340,dma控制器310通过数据总线340收发数据于外部设备310及内部设备320;

其中,dma控制器310从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据,dma控制器310将读取到的数据存储至外设数据寄存器的存储器地址或内设数据寄存器的存储器地址;

其中,dma控制器310判断读取到的数据组成的数据集合是否通过数据总线340的传输通道发送完毕。

本发明所提出的了一种存储器访问系统,包括dma控制器、数据总线、外部设备及内部设备。通过dma控制器接收外部设备发送的请求信号。通过dma控制器发送应答信号至外部设备。通过dma控制器从外设数据寄存器的存储器地址或内设数据寄存器的存储器地址读取数据。通过dma控制器存储数据至外设数据寄存器的存储器地址或内设数据寄存器的存储器地址。通过dma控制器判断数据集合是否通过数据总线的传输通道发送完毕,另外,dma控制器通过连续传输模式将数据集合中的数据连续发送完毕。本发明提供的存储器访问方法,能够由dma控制器来直接控制外部设备及内部设备的读取数据模式及存储数据模式,有效增加数据传输率。另外,通过加密密钥及解密密钥来增加数据传输的安全性。另外,dma控制器根据数据总线的传输通道优先权来依序排列请求信号而增加功能性。

为使本发明实施例的目的、技术方案和优点更加清楚,上面结合本发明实施例中的附图,对本发明实施例中的技术方案进行了清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以上对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1