一种存储器访问装置及其程序执行方法

文档序号:6773023阅读:211来源:国知局
专利名称:一种存储器访问装置及其程序执行方法
技术领域
本发明涉及嵌入式集成电路设计领域,特别是一种存储器访问装置及其程序执行 方法。
背景技术
在嵌入式系统中,存储器的类型决定整个嵌入式系统的操作和性能,因此存储器 的选择显的尤为重要。嵌入式系统的存储器一般分为内部存储器和外部存储器,外部存储 器多数情况下为非易失存储器。非易失存储器,通常有两种类型,一种是并行非易失存储 器,另一种是串行非易失存储器。使用并行非易失存储器,系统中的程序可以直接在并行非 易失存储器中运行,大大节省随机存储器(RAM)空间,但其缺点是芯片引脚很多,印刷电路 板布线复杂,面积大,导致成本高。而选择串行非易失存储器,可以减少芯片的引脚,而且印 刷电路板布线简单,面积小,但串行非易失存储器的读写,需要软件参与读命令发送等复杂 操作,程序不可以直接在串行非易失存储器中执行,故使用串行非易失存储器的嵌入式系 统,需要把串行非易失存储器中的程序搬运到随机存储器(RAM)中后再运行。这样必然需 要耗费更多随机存储器(RAM)空间,使成本上升。

发明内容
针对上述技术缺陷,本发明旨在提供一种存储器访问装置及其程序执行方法,使 嵌入式系统中的程序可以直接在串行非易失存储器中执行,而无需被搬运到随机存储器 (RAM)中执行,以减少芯片引脚,简化印刷电路板布线,减小面积,同时又不增加随机存储器 (RAM)空间。一种存储器访问装置,包括串行非易失存储器读模块、串行总线选择器和串行非 易失存储器控制器。串行非易失存储器读模块通过第一片上系统总线与片上系统总线控制器相连,并 通过第一串行总线与串行总线选择器相连;串行非易失存储器控制器通过第二片上系统总 线与片上系统总线控制器相连,并且通过第二串行总线与串行总线选择器相连;串行总线 选择器通过第三串行总线与串行非易失存储器相连。当需要对串行非易失存储器进行写操作时,在CPU的控制下,将串行总线选择器 和串行非易失存储器控制器之间的第二串行总线与串行总线选择器和串行非易失存储器 之间的第三串行总线连通。在不进行写操作时,将串行总线选择器和串行非易失存储器读 模块之间的第一串行总线与串行总线选择器和串行非易失存储器之间的第三串行总线连
ο所述串行非易失存储器控制器,根据串行非易失存储器的时序,将其寄存器内的 命令、地址、数据等,通过第二串行总线和第三串行总线发送给串行非易失存储器。串行非 易失存储器控制器内部的寄存器全部由CPU配置,可以对串行非易失存储器进行写入、擦 除等操作。
所述串行非易失存储器读模块,包括串行非易失存储器读命令产生模块、并串转 换模块、串并转换模块以及配置控制模块。其中,串行非易失存储器读命令产生模块与第一片上系统总线相连;并串转换模 块输入端连接串行非易失存储器读命令产生模块,输出端与第一串行总线相连;串并转换 模块输入端连接第一串行总线,输出端与第一片上系统总线相连;配置控制模块分别与非 易失存储器读命令产生模块、并串转换模块、串并转换模块相连。串行非易失存储器读命令产生模块根据串行非易失存储器的读取协议,生成并行 命令地址包。并串转换模块将并行命令地址包,转换成符合第一串行总线时序要求的串行数命 令地址包。串并转换模块根据第一串行总线的时序,将串行的数据,转换成并行的数据。配置控制模块功能包括配置读命令和时钟频率等,同时控制地址/命令发送周 期、串并转换周期等。作为优选,串行非易失存储器读模块还包括高速缓冲存储器,位于串行非易失存 储器读命令产生模块、串并转换模块和第一片上系统总线之间,高速缓冲存储器(cache) 只有读功能,不响应任何写请求,其作用是加快附近地址的数据读取速度。一种存储器访问装置的程序执行方法,其工作步骤如下1)读操作a.当系统对串行非易失存储器进行读操作时,串行总线选择器在CPU的控制下, 将串行总线选择器和串行非易失存储器读模块之间的第一串行总线与串行总线选择器和 串行非易失存储器之间的第三串行总线连通;b.片上系统总线控制器通过第一片上系统总线向串行非易失存储器读模块发送 地址和读请求;c.串行非易失存储器读模块中的串行非易失存储器读命令产生模块接收到地址 和读请求信号后,根据串行非易失存储器的读取协议,生成并行命令地址包,发送给并串转 换模块;d.并串转换模块把接收到的并行命令地址包转换为符合第一串行总线时序的串 行命令地址包,再通过第三串行总线传输到串行非易失存储器;e.当并串转换模块输出串行命令地址包到达配置控制模块设定周期后,串行非易 失存储器开始输出数据;f.串行非易失存储器输出的数据经过第三串行总线和第一串行总线到达串并转 换模块,串并转换模块将输入的串行数据转换为并行数据,再通过第一片上系统总线到达 片上系统总线控制器。2)写操作a.当系统对串行非易失存储器进行写操作时,串行总线选择器在CPU的控制下, 将串行总线选择器和串行非易失存储器控制器之间的第二串行总线与串行总线选择器和 串行非易失存储器之间的第三串行总线连通;b.将写命令置入串行非易失存储器控制器内部寄存器;c.启动串行非易失存储器控制器,寄存器内的写命令通过第二串行总线和第三串行总线,传送至串行非易失存储器;d.将所要写入的地址置入串行非易失存储器控制器的寄存器中,再次启动串行非 易失存储器控制器,寄存器内的地址通过第二串行总线和第三串行总线,传送至串行非易 失存储器;e.将所要写入的数据置入串行非易失存储器控制器的寄存器中,再次启动串行非 易失存储器控制器,寄存器内的数据通过第二串行总线和第三串行总线,传送至串行非易 失存储器。上述的一种存储器访问装置的程序执行方法,还可进一步包括读操作时,片上系 统总线控制器通过第一片上系统总线向串行非易失存储器读模块发送的地址和读请求,首 先到达串行非易失存储器读模块中的高速缓冲存储器,查询地址中的数据是否已存储在高 速缓冲存储器中;若是,则直接将数据通过第一片上系统总线传输给片上系统总线控制器; 若不是,高速缓冲存储器再将地址和读请求信号发送给串行非易失存储器读命令产生模 块。CPU从串行非易失存储器中读取数据后,同时将所读的并行数据更新至高速缓冲存储器 中。本发明的有益效果是通过上述存储器访问装置,CPU可以快速对串行非易失存 储器内的程序进行读操作,无需再搬运到随机存储器(RAM)中执行,可以节省大量随机存 储器(RAM)的空间;同时也不失对串行非易失存储器的写功能;此外,串行存储器引脚较 少,在进行电路设计时,可以简化印刷电路板布线,减小面积,降低成本;本发明还采用高速 缓冲存储器,可以加快串行存储器读取数据的速度,使整个嵌入式系统在运行过程中更加 流畅。


图1为存储器访问装置及外围模块结构示意2为串行非易失存储器读模块结构示意图
具体实施例方式如图1所示,一种存储器访问装置,包括串行非易失存储器读模块200、串行总线 选择器300和串行非易失存储器控制器500。其中,串行非易失存储器读模块200通过第一片上系统总线110与片上系统总线 控制器100相连,并通过第一串行总线210与串行总线选择器300相连;串行非易失存储器 控制器500通过第二片上系统总线120与片上系统总线控制器100相连,并且通过第二串 行总线510与串行总线选择器300相连;串行总线选择器300通过第三串行总线310与串 行非易失存储器400相连。当需要对串行非易失存储器400进行写操作时,在CPTOOO的控制下,串行总线选 择器300将第二串行总线510和第三串行总线310导通,将串行非易失存储器400和串行 非易失存储器控制器500相连。在不进行写操作时,串行总线选择器300将第一串行总线 210和第三串行总线310导通,将串行非易失存储器400和串行非易失存储器读模块210连接。所述串行非易失存储器控制器500,根据串行非易失存储器400的时序,将其寄存器内的命令、地址、数据等,通过第二串行总线510和第三串行总线310发送给串行非易失 存储器400。串行非易失存储器控制器400内部的寄存器全部由系统软件配置,可以对串行 非易失存储器进行任意擦除、写入等操作。如图2所示,串行非易失存储器读模块200,包括高速缓冲存储器201、串行非易失 存储器读命令产生模块202、并串转换模块203、串并转换模块204以及配置控制模块205。其中,高速缓冲存储器201与第一片上系统总线110相连,并依次连接串行非易失 存储器读命令产生模块202、并串转换模块203 ;串并转换模块204的输出通过高速缓冲存 储器201与第一片上系统总线110相连;配置控制模块205分别与高速缓冲存储器201、非 易失存储器读命令产生模块202、并串转换模块203、串并转换模块204相连。串行非易失存储器读命令产生模块202根据串行非易失存储器400的读取协议, 生成并行命令地址包。并串转换模块203将并行命令地址包,转换成符合第一串行总线210时序要求的 串行数命令地址包。串并转换模块204根据第一串行总线210的时序,将串行的数据,转换成并行的数据。配置控制模块205功能包括配置读命令和时钟频率等,同时控制地址/命令发送 周期、串并转换周期等。在本实施例中,上述串行总线选择器300为SPI总线选择器,串行非易失存储器 400为SPI Flash ;第一片上系统总线110和第二片上系统总线120选用AHB总线;第一串 行总线210、第二串行总线510和第三串行总线310为SPI总线。以下为基于SPI存储器访问装置的一种存储器访问装置的程序执行方法1)读操作a.当系统需要对串行非易失存储器400中0x00200100地址读取一条32位的指令 时,串行总线选择器300在CPTOOO的控制下,将第一串行总线210和第三串行总线310导 通;b.片上系统总控制器100经地址译码后,通过第一片上系统总线110将地址和读 请求发送给串行非易失存储器读模块200 ;c.串行非易失存储器读模块200中的高速缓冲存储器201查询上述地址 0x00200100中的数据是否已存储在高速缓冲存储器201中,若是,则直接通过第一片上系 统总线110将数据传输给片上系统总线控制器100 ;d.若不是,高速缓冲存储器201向串行非易失存储器读命令产生模块202发送从 地址0x00200100读取数据的请求信号;e.串行非易失存储器读命令产生模块202接收到读请求信号后,根据串行非易失 存储器400的读取协议,生成并行命令地址包即读取令OxEB和地址0x00200100,发送给 并串转换模块203;f.并串转换模块203把接收到的并行命令地址包转换为符合第一串行总线210时 序的串行命令地址包,再通过第一串行总线210和第三串行总线310传输到串行非易失存 储器400 ;g.当并串转换模块203输出串行命令地址包达到配置控制模块205设定周期后,串行非易失存储器400开始输出数据;h.串行非易失存储器400输出的数据经过第三串行总线310和第一串行总线210 到达串并转换模块204,串并转换模块204将输入的串行数据转换为并行数据,再通过第一 片上系统总线110到达片上系统总线控制器100,同时将该并行数据更新至高速缓冲存储 器201中;i. CPU600通过片上系统总线控制器100,取得0x00200100地址中的32位数据,结 束本次读操作。2)写操作a.当系统需要对串行非易失存储器400中0x00200200地址写入一组32位数据 时,串行总线控制选择器300在CPTOOO的控制下,将第二串行总线510和第三串行总线310 导通;b.将写命令0x02置入串行非易失存储器控制器500配置寄存器;c.启动串行非易失存储器控制器500,将已置入寄存器内的写命令通过第二串行 总线510和第三串行总线310传送至串行非易失存储器400 ;d.将地址0x00200200置入串行非易失存储器控制器500的寄存器中,再次启动 串行非易失存储器控制器500,寄存器内的地址0x00200200被传送至串行非易失存储器 400 ;e.将需要写入的一组32位数据置入串行非易失存储器控制器500的寄存器中,再 次启动串行非易失存储器控制器500,寄存器内的数据被传送至串行非易失存储器400。
权利要求
一种存储器访问装置,其特征在于包括串行非易失存储器读模块(200)、串行总线选择器(300)和串行非易失存储器控制器(500)。
2.如权利要求1所述的一种存储器访问装置,其特征在于串行非易失存储器读模块 (200)通过第一片上系统总线(110)与片上系统总线控制器(100)相连,并通过第一串行总 线(210)与串行总线选择器(300)相连;串行非易失存储器控制器(500)通过第二片上系 统总线(120)与片上系统总线控制器(100)相连,并通过第二串行总线(510)与串行总线 选择器(300)相连;串行总线选择器(300)通过第三串行总线(310)与串行非易失存储器 (400)相连。
3.如权利要求1所述的一种存储器访问装置,其特征在于,所述串行非易失存储器控 制器(500),根据串行非易失存储器(400)的时序,将其寄存器内的命令、地址、数据,通过 第二串行总线(510)和第三串行总线(310)发送给串行非易失存储器(400),串行非易失存 储器控制器(500)内部的寄存器全部由CPU(600)配置,可以对串行非易失存储器(400)进 行写入、擦除操作。
4.如权利要求1所述的一种存储器访问装置,其特征在于所述串行非易失存储器读 模块(200)包括串行非易失存储器读命令产生模块(202)、并串转换模块(203)、串并转换 模块(204)以及配置控制模块(205);其中,串行非易失存储器读命令产生模块(202)与第 一片上系统总线(110)相连;并串转换模块(203)输入端连接串行非易失存储器读命令产 生模块(202),输出端与第一串行总线(210)相连;串并转换模块(204)输入端连接第一串 行总线(210),输出端与第一片上系统总线(110)相连;配置控制模块(205)分别与高速缓 冲存储器(201)、非易失存储器读命令产生模块(202)、并串转换模块(203)、串并转换模块 (204)相连。
5.如权利要求1或4所述的一种存储器访问装置,其特征在于串行非易失存储器读命令产生模块(202)根据串行非易失存储器(400)的读取协议, 生成并行命令地址包;并串转换模块(203)将并行的命令地址包,转换成符合第一串行总线(210)时序要求 的串行命令地址包;串并转换模块(204)根据第一串行总线(210)的时序,将串行的数据,转换成并行的数据;配置控制模块(205)功能包括配置读命令和时钟频率,同时也控制地址/命令发送周 期、串并转换周期。
6.如权利要求1或4所述的一种存储器访问装置,其特征在于,所述串行非易失存储器 读模块(200)还包括高速缓冲存储器(201),其一端连接串行非易失存储器读命令产生模 块(202)和串并转换模块(204),另一端连接第一片上系统总线(110)。
7.如权利要求1或2所述的一种存储器访问装置,其特征在于,所述串行总线选择器 (300)分别通过第一串行总线(210)和第二串行总线(510)与串行非易失存储器读模块 (200)和串行非易失存储器控制器(500)相连,当需要对串行非易失存储器(400)进行写操 作时,串行总线选择器(300)在CPU(600)的控制下,将第二串行总线(510)和第三串行总 线(310)导通,在不进行写操作时,串行总线选择器(300)将第一串行总线(210)和第三串 行总线(310)导通。
8.一种存储器访问装置的程序执行方法,其特征在于,程序执行步骤包括1)读操作a.当系统对串行非易失存储器(400)进行读操作时,串行总线选择器(300)在 CPU(BOO)的控制下,将连接串行非易失存储器(400)的第三串行总线(310)和连接串行非 易失存储器读模块(200)的第一串行总线(210)导通;b.片上系统总线控制器(100)通过第一片上系统总线(110)向串行非易失存储器读模 块(200)发送地址和读请求;c.串行非易失存储器读模块(200)内的串行非易失存储器读命令产生模块(202)接收 到地址和读请求信号后,根据串行非易失存储器(400)的读取协议,生成并行命令地址包, 发送给并串转换模块(203);d.并串转换模块(203)把接收到的并行命令地址包转换为符合第一串行总线(210)时 序的串行命令地址包,再通过第三串行总线(310)传输到串行非易失存储器(400);e.当并串转换模块(203)输出串行命令地址包达到配置控制模块(205)设定周期后, 串行非易失存储器(400)开始输出数据;f.串行非易失存储器(400)输出的数据经过第三串行总线(310)和第一串行总线 (210)到达串并转换模块(204),串并转换模块(204)将输入的串行数据转换为并行数据, 再通过第一片上系统总线(110)到达片上系统总线控制器(100);2)写操作a.当系统对串行非易失存储器(400)进行写操作时,串行总线选择器(300)在 CPU(600)的控制下,将第三串行总线(310)和第二串行总线(510)导通;b.将写命令置入串行非易失存储器控制器(500)内部寄存器;c.启动串行非易失存储器控制器(500),寄存器内的写命令通过第二串行总线(510) 和第三串行总线(310),传送至串行非易失存储器(400);d.将所要写入的地址置入串行非易失存储器控制器(500)的寄存器中,再次启动串 行非易失存储器控制器(500),寄存器内的地址通过第二串行总线(510)和第三串行总线 (310),传送至串行非易失存储器(400);e.将所要写入的数据置入串行非易失存储器控制器(500)的寄存器中,再次启动串 行非易失存储器控制器(500),寄存器内的数据通过第二串行总线(510)和第三串行总线 (310),传送至串行非易失存储器(400)。
9.如权利要求8所述的一种存储器访问装置的程序执行方法,其特征在于在执行所 述读操作时,片上系统总线控制器(100)发送的地址和读请求,首先到达串行非易失存储 器读模块(200)中的高速缓冲存储器(201),查询地址中的数据是否已存储在高速缓冲存 储器(201)中;若是,则直接将数据通过第一片上系统总线(110)传输给片上系统总线控制 器(100);若不是,高速缓冲存储器(201)再将地址和读请求信号发送给串行非易失存储器 读命令产生模块(202)。
10.如权利要求8或9所述的一种存储器访问装置的程序执行方法,其特征在于, CPU(600)从串行非易失存储器(400)中读取数据后,同时将所读的并行数据更新至高速缓 冲存储器(201)中。
全文摘要
本发明公开了一种存储器访问装置及其程序执行方法,所述存储器访问装置包括串行非易失存储器读模块、串行总线选择器和串行非易失存储器控制器。通过上述存储器访问装置,CPU可以快速对串行非易失存储器内的程序进行读操作,无需再搬运到随机存储器(RAM)中执行,可以节省大量随机存储器(RAM)的空间;同时也不失对串行非易失存储器的写功能。本发明还采用高速缓冲存储器,可以加快串行存储器读取数据的速度,使整个嵌入式系统在运行过程中更加流畅。
文档编号G11C16/26GK101950276SQ20101027062
公开日2011年1月19日 申请日期2010年9月1日 优先权日2010年9月1日
发明者梁坚, 江正标, 沈斌, 黄宇钊 申请人:杭州国芯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1