本申请涉及数据传输领域,尤其涉及一种基于emif的数据传输方法及处理器。
背景技术:
1、emif(external memory interface,外部设备接口)是一种用于连接处理器和外部设备的接口技术,emif允许处理器通过总线与外部设备进行数据交换,实现数据的读取和写入操作。在现代计算机系统中,emif被广泛应用于各种设备,如微处理器、嵌入式系统、通信设备。emif包括16位异步总线接口(简称16位接口,支持16位数据的读写)和32位异步总线接口(简称32位接口,支持32位数据的读写),emif在读写32位数据时,由于32位接口所占用的总线位宽较大,相应占用的信号管脚会越多,使得信号干扰增强,导致数据传输的信号质量变差。目前,为了确保32位数据传输的信号质量,现有技术通常会对emif的32位数据传输进行降速,导致32位数据读写效率降低。
技术实现思路
1、本申请提供了一种基于emif的数据传输方法及处理器,目的在于提高emif的32位数据读写效率。
2、为了实现上述目的,本申请提供了以下技术方案:
3、一种基于emif的数据传输方法,应用于包含第一总线、数据缓存以及第二总线的系统中,所述第一总线包括外部设备接口的16位异步总线接口,所述数据缓存包括先进先出队列,所述第二总线包括与外部设备对接的先进可扩展接口,所述方法包括:
4、当所述系统进行32位数据读操作时,所述第二总线将32位数据发送至所述先进先出队列中;
5、所述第一总线从所述先进先出队列中,异步获得两个16位数据,以实现所述32位数据读操作;
6、当所述系统进行32位数据写操作时,所述第一总线将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中;
7、所述第二总线从所述先进先出队列中,同步获得两个16位数据,以实现所述32位数据写操作。
8、可选的,所述第一总线从所述先进先出队列中,异步获得两个16位数据,以实现所述32位数据读操作,包括:
9、所述第一总线按照预设读时序,从所述先进先出队列中,异步获得两个16位数据,以实现所述32位数据读操作;
10、其中,所述预设读时序为:当读操作响应后,置于等待状态直至进入第n个时钟周期时,访问所述先进先出队列,以实现第一个16位数据的读取;在所述第一个16位数据成功读取结束时,再次置于等待状态直至第m个时钟周期结束时,再次访问所述先进先出队列,以实现第二个16位数据的读取;n和m为正整数,且m大于n。
11、可选的,所述第一总线将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中,包括:
12、所述第一总线按照预设写时序,将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中;
13、其中,所述预设写时序为:当写操作响应后,置于等待状态直至进入第k个时钟周期时,将32位数据中的部分数据发送至所述先进先出队列,以实现第一个16位数据的写入;在所述第一个16位数据成功写入结束时,将所述32位数据中的剩余数据发送至所述先进先出队列,以实现第二个16位数据的写入。
14、可选的,所述方法还包括:
15、当所述系统进行16位数据读操作时,所述第二总线将16位数据发送至所述第一总线。
16、可选的,所述方法还包括:
17、当所述系统进行16位数据写操作时,所述第一总线将16位数据发送至所述第二总线。
18、一种处理器,包括:
19、主接口模块、数据缓存模块以及从接口模块;
20、其中,所述主接口模块包括外部设备接口的16位异步总线接口,所述数据缓存模块包括先进先出队列,所述从接口模块包括与外部设备对接的先进可扩展接口;
21、所述从接口模块用于:当所述处理器进行32位数据读操作时,将32位数据发送至所述先进先出队列中;
22、所述主接口模块用于:从所述先进先出队列中,依次获得两个16位数据,以实现所述32位数据读操作;
23、所述主接口模块还用于:当所述处理器进行32位数据写操作时,所述主接口模块将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中;
24、所述从接口模块还用于:从所述先进先出队列中,依次获得两个16位数据,以实现所述32位数据写操作。
25、可选的,所述主接口模块具体用于:
26、按照预设读时序,从所述先进先出队列中,异步获得两个16位数据,以实现所述32位数据读操作;
27、其中,所述预设读时序为:当读操作响应后,置于等待状态直至进入第n个时钟周期时,访问所述先进先出队列,以实现第一个16位数据的读取;在所述第一个16位数据成功读取结束时,再次置于等待状态直至第m个时钟周期结束时,再次访问所述先进先出队列,以实现第二个16位数据的读取;n和m为正整数,且m大于n。
28、可选的,所述主接口模块具体用于:
29、按照预设写时序,将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中;
30、其中,所述预设写时序为:当写操作响应后,置于等待状态直至进入第k个时钟周期时,将32位数据中的部分数据发送至所述先进先出队列,以实现第一个16位数据的写入;在所述第一个16位数据成功写入结束时,将所述32位数据中的剩余数据发送至所述先进先出队列,以实现第二个16位数据的写入。
31、可选的,所述从接口模块还用于:当所述处理器进行16位数据读操作时,将16位数据发送至所述主接口模块。
32、可选的,所述主接口模块还用于:当所述处理器进行16位数据写操作时,将16位数据发送至所述从接口模块。
33、本申请提供的技术方案,当系统进行32位数据读操作时,第二总线将32位数据发送至先进先出队列中。第一总线从先进先出队列中,异步获得两个16位数据,以实现32位数据读操作。当系统进行32位数据写操作时,第一总线将32位数据拆分为两个16位数据,异步发送至先进先出队列中。第二总线从先进先出队列中,同步获得两个16位数据,以实现32位数据写操作。本申请借助数据缓存提供的先进先出队列,辅助第一总线所示的16位异步总线接口,实现与第二总线所示先进可扩展接口之间的32位数据传输,从而能够在保证32位数据的信号质量的前提下,提高emif的32位数据读写效率。
1.一种基于emif的数据传输方法,其特征在于,应用于包含第一总线、数据缓存以及第二总线的系统中,所述第一总线包括外部设备接口的16位异步总线接口,所述数据缓存包括先进先出队列,所述第二总线包括与外部设备对接的先进可扩展接口,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一总线从所述先进先出队列中,异步获得两个16位数据,以实现所述32位数据读操作,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一总线将32位数据拆分为两个16位数据,异步发送至所述先进先出队列中,包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.一种处理器,其特征在于,包括:
7.根据权利要求6所述的处理器,其特征在于,所述主接口模块具体用于:
8.根据权利要求6所述的处理器,其特征在于,所述主接口模块具体用于:
9.根据权利要求6所述的处理器,其特征在于,所述从接口模块还用于:当所述处理器进行16位数据读操作时,将16位数据发送至所述主接口模块。
10.根据权利要求6所述的处理器,其特征在于,所述主接口模块还用于:当所述处理器进行16位数据写操作时,将16位数据发送至所述从接口模块。
