数据处理方法及电子设备的制造方法_3

文档序号:9489395阅读:来源:国知局
>[0067] 计时?目息的优先级与计时?目息进入轮询队列缓存的先后顺序一致,也就是先进入 轮询队列缓存的计时信息的优先级高于后进入轮询队列缓存的计时信息的优先级。
[0068] 下面再结合电子设备进行数据处理的具体示例进行说明,包括以下步骤:
[0069] 步骤501,指令管理器200首先从主机端(处理器600)读取指令放到指令队列缓 存,建立指令队列缓存。
[0070] 步骤502,指令管理器200根据存储器400中各存储单元的状态(各存储单元的状 态由接口控制器300传递给指令管理器200),从指令队列缓存中选取可执行的指令,向仲 裁器100提出总线请求。
[0071] 步骤503,仲裁器100进行总线仲裁。
[0072] 如果当前总线空闲,并且只接收到来自指令管理器200的总线请求,则为指令管 理器200分配总线;
[0073] 如果同时接收到两个或多个总线请求,则根据前述步骤105的方式进行总线仲 裁。
[0074] 步骤504,指令管理器200获取到总线后,由接口控制器300执行指令的可执行 部分生成对应指令的时序给目标存储单元;如果轮询标识为1 (表征需要查询指令对应的 目标存储单元是否执行完毕),则将指令标识、计时信息存储至轮询队列缓存;指令管理器 200将该指令删除,从主机端读取一条指令(如果存在)填入指令队列缓存
[0075] 步骤501至步骤504每执行一次会在轮询队列缓存中添加一个计时信息(以及计 时信息对应的可执行指令的标识),在执行指令的同时建立起轮询队列缓存。
[0076] 后续步骤对轮询管理器500针对轮询队列缓存的处理进行说明。
[0077] 步骤505,轮询管理器500在轮询队列缓存每添加一个计时信息后,则启动对应的 计时器对计时信息对应的时间参数进行计时。
[0078] 步骤505,当轮询队列存储队列中的计时信息达到时,产生一个总线请求给仲裁 器100,申请占用总线读取计时信息对应的目标存储单元的状态。
[0079] 步骤506,轮询管理器500获取到总线后,则使接口控制器300执行(使接口控制 器300执行查询目标存储单元状态的指令对应的时序)查询目标存储单元是否处于装备状 态;若是,说明该指令完成,则将到时的计时信息从轮询队列缓存删除。
[0080] 若查询到目标存储单元繁忙,说明指令尚未完成,则更新到时的计时信息并重新 计时,在计时时间到达后满后重新从仲裁器1〇〇提出总线请求。
[0081] 本发明实施例中通过纯硬件实现(FPGA或CPLD实现)的数据处理结构对来自主 机端的写指令和读指令进行响应,由仲裁器100基于预设策略对空闲的总线进行仲裁,以 根据仲裁结果将可执行指令发送至目标存储单元以实现数据读写,或根据仲裁结果查询目 标存储单元是否执行完毕已发送的指令;从而实现了对不同存储单元的交互操作,执行效 率和实时性高;
[0082] 与相关技术中单一依赖处理器和软件配合的方式相比,由于需要处理器维护队 列,通过中断来与存储单元的进行交互,以及查询存储单元的状态(存储单元是否执行完 毕已经发送的指令),导致执行效率较低;本实施例中基于独立于处理器之外的纯硬件实 现对不同存储单元的交互操作,不需要依赖中断与存储单元交互,执行效率和实时性高,不 会导致处理器的高功耗;
[0083] 与相关技术通过微码方式相比,由于发送给存储单元的每一个周期的状态都需要 实现在缓存中维护,因此需要很大的存储空间来存储每个命令在每一周期的状态,而本实 施例中通过具有独立数据处理结构和数据存储结构的硬件方式实现,不会占用电子设备中 额外的缓存空间,同时通过硬件方式具有设计简单以及便于修改的优点。
[0084] 本发明实施例还记载一种电子设备,参见图1,电子设备包括:
[0085] 指令管理器100,用于基于指令队列缓存中指令的优先级选取可执行指令,针对所 选取的指令发送总线请求以请求总线;
[0086] 接口控制器300,用于在指令管理器100请求到总线时通过总线发送可执行指令 至存储器400中对应的目标存储单元,并将可执行指令的计时信息读取至轮询队列缓存;
[0087] 轮询管理器500,用于在轮询队列缓存中任意的计时信息到达后发送总线请求以 请求总线,以在请求到总线时,通过接口控制器300、经由总线查询计时信息归属的指令所 对应的目标存储单元是否执行完毕;
[0088] 仲裁器200,用于在总线空闲时基于预设策略对接收到的总线请求进行仲裁,并基 于仲裁结果分配总线。
[0089] 示例性地,接口控制器300,还用于向指令管理器100上报存储器400中各存储单 元的状态信息;
[0090] 指令管理器100,还用于基于接口控制器300上报的存储器400中各存储单元的状 态信息,判断指令队列缓存中最高优先级的指令对应的目标存储单元是否处于准备状态,
[0091] 若是,则判定最高优先级的指令为可执行指令;
[0092] 若否,则继续判断次高优先级的指令对应的目标存储单元是否处于准备状态,直 至判断出处于准备状态的目标存储单元,并将操作目标为处于准备状态的目标存储单元的 最高优先级的指令确定为可执行指令。
[0093] 示例性地,指令管理器100,还用于从读取待执行的指令至指令队列缓存中,其中, 指令队列缓存中的指令的优先级与指令被读取至指令队列缓存中的先后顺序一致;
[0094] 在接口控制器300发送可执行指令至存储器400中对应的目标存储单元时,在指 令队列缓存删除可执行指令,并继续从处理器读取待执行的指令至指令队列缓存中。
[0095] 示例性地,接口控制器300,还用于解析可执行指令,得到可执行指令的轮询标 识;
[0096] 接口控制器300,还用于当轮询标识表征可执行指令需要查询对应的目标存储单 元的状态,则将可执行指令的计时信息读取至轮询队列缓存,并在指令队列缓存中删除可 执行指令;
[0097] 接口控制器300,还用于当轮询标识表征可执行指令不需要查询对应的目标存储 单元的状态,在指令队列缓存中删除可执行指令;其中,轮询队列缓存中的计时信息的优先 级排序与计时信息被读取至指令队列缓存中的先后顺序对应。
[0098] 示例性地,轮询管理器500,还用于在计时信息被读取至轮询队列缓存时,对计时 信息进行计时处理;当计时信息到达时向仲裁器200请求总线。
[0099] 示例性地,仲裁器200还用于在同时接收到来自指令管理器100针对可执行指令 的总线请求、以及轮询管理器500针对轮询队列缓存中的计时信息到达后发送的总线请求 时,为针对可执行指令的总线请求分配总线;
[0100] 仲裁器200还用于在同时接收到轮询管理器500针对轮询队列缓存中的至少两个 计时信息到达后同时发送的至少两个总线请求时,为针对至少两个计时信息中最高优先级 的计时信息的总线请求分配总线。
[0101] 示例性地,轮询管理器500,还用于通过接口控制器300查询到计时信息归属的指 令所对应的目标存储单元执行完毕时,从轮询队列缓存中删除计时信息;
[0102] 轮询管理器500,还用于通过接口控制器300查询到计时信息归属的指令所对应 的目标存储单元未执行完毕时,更新轮询队列缓存中的计时信息并针对更新后的计时信息 进行计时处理,其中更新后的计时信息的等待时间小于更新前计时时间的等待时间。
[0103] 基于本发明实施例中对上述功能单元的执行的功能的描述,上述的功能单元可以 有其他形式的实现(如合并为两个功能单元,或拆分为四个或以上的功能单元);因此,本 发明实施例中结合图1示出的电子设备对本发明实施例记载方法的进行说明,不构成对本 发明的限定。
[0104] 本发明实施例中,通过纯硬件实现(FPGA或CPLD实现)的数据处理结构对来自主 机端的写指令和读指令进行响应,由仲裁器基于预设策略对空闲的总线进行仲裁,以根据 仲裁结果将可执行指令发送至目标存储单元以实现数据读写,或根据仲裁结果查询目标存 储单元是否执行完毕已发送的指令;从而实现了对不同存储单元的交互操作,执行效率和 实时性高。
[0105] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读 存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或 者光盘等各种可以存储程序代码的介质。
[0106] 或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品 销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施 例的技术方案本质上或者说对现有技
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1