微运算处理系统及其数据写入方法技术方案

技术编号:7270911 阅读:220 留言:0更新日期:2012-04-15 17:05
本发明专利技术提供一种用于一微运算处理系统的数据写入方法,该微运算处理系统适可存取多个暂存器,各该暂存器界定至少一逻辑储存区域,该方法包含下列步骤:执行一第一微运算,该第一微运算的一目标区域为该等逻辑储存区域其中之一,该目标区域前次被一第二微运算更新,该第一微运算及该第二微运算各自具有一识别编号;根据该第一微运算的该识别编号及该第二微运算的该识别号码,判断该第一微运算的执行顺序是晚于该第二微运算的执行顺序;以及记录该目标区域被该第一微运算更新。

【技术实现步骤摘要】

本专利技术是关于一种;更明确地说,本专利技术是关于一种能防止写后写(write after witre)数据危障(data hazard)的。
技术介绍
已知技术中,中央处理单元(Central Processing Unit)为增进数据处理的效益, 便有了管线(pipe line)的发展与设计,而基础的管线设计原理主要将中央处理单元的动作分为取出基本指令(fetch)、将基本指令解码成微指令(decode)、取出操作元(fetch operands)、执行微指令(execute)以及执行结果写回(write back)五部分。中央处理单元则可利用此设计,于基本指令进行完第一步的动作且欲进行第二步动作时,同步进行下一基本指令的第一步动作,如此一来,则可免除于传统中央处理单元中,需等待基本指令完整执行过后,才能进行下一基本指令的操作的时间延迟。而随着管线的设计与发展,除了最初基本指令依序执行的态样,随后更发展出能够进行乱序执行(Out-Of-Order)的中央处理单元,其主要特征在于将基本指令解码为数个微运算后,可不需依序将微运算交由中央处理单元处理,而仅需通过重新排序缓冲器 (Reorder Buffer)记录微运算整体的执行过程,并在微运算的结果欲写回暂存器时,根据执行过程的记录重新安排其写回顺序,藉以确认数据的正确性。如此一来,利用乱序执行的中央处理单元即可更有弹性地进行工作的分派,且更进一步地增加中央处理单元使用的效率。然而,使用乱序执行的中央处理单元,必须确保上述重新排序缓冲器的正常运作, 以避免写后写数据危障的发生。换句话说,使用乱序执行的中央处理单元必须能确保微运算分散于管线中处理时,不会产生后续数据写回暂存器的错误问题,则乱序执行的中央处理单元必须注意电路的设计与安排,因若数据产生错误,轻微者可清除管线中全部的指令重新处理,严重者可导致程序后续的错误。而为了更提升中央处理单元的执行效率,乱序执行的复杂度也相对地提升,除了硬件上电路的设计将会以等比级数的复杂度成长之外,也不能够保证其效益会成正比的成长,因若乱序执行的过程太过于复杂,意味着中央处理单元将花费更多的时间于处理微指令之间写回动作的协调。鉴于上述,如何解决乱序执行时过度复杂的电路设计且能同时确保数据处理的正确性及效益乃业界亟需解决的问题。
技术实现思路
本专利技术的一目的在于提供一种微运算处理系统,其包含多个暂存器、一处理器以及一控制模块。各该暂存器界定至少一逻辑储存区域。该处理器用以执行一第一微运算, 其中该第一微运算的一目标区域为该等逻辑储存区域其中之一,该目标区域前次被一第二微运算更新,且该第一微运算及该第二微运算各自具有一识别编号。该控制模块用以根据该第一微运算的该识别编号及该第二微运算的该识别号码,判断该第一微运算的执行顺序是晚于该第二微运算的执行顺序,且用以于该处理器执行该第一微运算后,记录该目标区域被该第一微运算更新。 本专利技术的另一目的在于提供一种用于一微运算处理系统的数据写入方法。该微运算处理系统适可存取多个暂存器,各该暂存器界定至少一逻辑储存区域。该方法包含下列步骤(a)执行第一微运算,该第一微运算的一目标区域为该等逻辑储存区域其中之一,该目标区域前次被第二微运算更新,该第一微运算及该第二微运算各自具有一识别编号;(b) 根据该第一微运算的该识别编号及该第二微运算的该识别号码,判断该第一微运算的执行顺序是晚于该第二微运算的执行顺序;以及(c)记录该目标区域被该第一微运算更新。本专利技术的又一目的在于提供一种微运算处理系统,其包含多个暂存器、一处理器以及一控制模块。各该暂存器界定至少一逻辑储存区域。该处理器用以执行一微运算,其中该微运算的一目标区域为该等逻辑储存区域其中之一。该控制模块用以判断该目标区域的该目标区域未被更新,且用以于该处理器执行该微运算后,记录该目标区域被该微运算更新。本专利技术的再一目的在于提供一种用于一微运算处理系统的数据写入方法。该中央处理器适可存取多个暂存器,各该暂存器界定至少一逻辑储存区域。该方法包含下列步骤 (a)执行一微运算,该微运算的一目标区域为该等逻辑储存区域其中之一;(b)判断该微运算的该目标区域未被更新;以及(C)记录该目标区域被该微运算更新。本专利技术的,能够基于微运算的顺序关系,确保数据写入时,不会发生写入后写入的错误。更者,本专利技术不需使用到重新排序缓冲器,因此大幅地降低使用乱序执行的中央处理单元的电路复杂度,并同时能确保中央处理单元的有效正常运作。在参阅图式及随后描述的实施方式后,所属
具有通常知识者便可了解本专利技术的其它目的、优点以及本专利技术的技术手段及实施态样。附图说明图IA是本专利技术的第一实施例的微运算处理系统的示意图;图IB是本专利技术的第一实施例的加法暂存器的示意图;图IC是本专利技术的第一实施例的更新记录的示意图;图2A是本专利技术的第一实施例的第一微运算执行示意图;图2B是本专利技术的第一实施例的第二微运算执行示意图;图2C是本专利技术的第一实施例的第三微运算执行示意图;图3A是本专利技术的第二实施例的微运算处理系统的示意图;图3B是本专利技术的第二实施例的旗标暂存器的示意图;图3C是本专利技术的第二实施例的更新记录的示意图;图4A是本专利技术的第二实施例的第一微运算执行示意图;图4B是本专利技术的第二实施例的第二微运算执行示意图;图4C是本专利技术的第二实施例的第三微运算执行示意图;以及图5A-5B是本专利技术的第三1 微运算指令处理系统111 第一微运算1111 识别编号112a:执行结果113:第三微运算1131 识别编号121 加法暂存器1212 第二逻辑储存区域122 基底暂存器124 数据暂存器14:写入模块1511 第一字段1521 第一字段1531 第一字段3 微运算指令处理系统311 第一微运算3111 识别编号312a 执行结果313 第三微运算3131 识别编号33 控制模块35 缓冲存储器352 第二字段施例的流程图。11处理器 Illa:执行结果 112 第二微运算 1121 识别编号 113a 执行结果12通用暂存器1211 第一逻辑储存区域 1213 第三逻辑储存区域 123 计数暂存器 13 控制模块 15 缓冲存储器 1512 第二字段 1522 第二字段 1532 第二字段31处理器 311a 执行结果 312 第二微运算 3121 识别编号 313a 执行结果32旗标暂存器 34 写入模块 351 第一字段具体实施例方式以下将通过实施例来解释本专利技术的内容,关于实施例的说明仅为阐释本专利技术的目的,并非用以限制本专利技术。需说明者,以下实施例及图式中,与本专利技术非直接相关的元件均已省略而未绘示;且图式中各元件间的尺寸关系仅为求容易了解,非用以限制实际比例。为易于理解,以下实施例及说明皆以htel公司所推出的80x86系列的中央处理单元为范例,并假设所有程序指令的执行逻辑是属正常,且在程序指令分解成微运算后, 其于计算期间将不会产生例外(exc印tion)的情况,以便于说明本专利技术的。所属
中具有通常知识者应了解80x86系列的中央处理单元所包含的暂存器,可为通用目的暂存器(general purpose register)、指针与索引暂存器(pointer andindex regist本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:郑成棠
申请(专利权)人:金丽科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术