WO2017036101A1 - 一种更新寄存器的方法及装置 - Google Patents

一种更新寄存器的方法及装置 Download PDF

Info

Publication number
WO2017036101A1
WO2017036101A1 PCT/CN2016/074052 CN2016074052W WO2017036101A1 WO 2017036101 A1 WO2017036101 A1 WO 2017036101A1 CN 2016074052 W CN2016074052 W CN 2016074052W WO 2017036101 A1 WO2017036101 A1 WO 2017036101A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
register
memory area
thread
bit
Prior art date
Application number
PCT/CN2016/074052
Other languages
English (en)
French (fr)
Inventor
邓专
Original Assignee
青岛海信宽带多媒体技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 青岛海信宽带多媒体技术有限公司 filed Critical 青岛海信宽带多媒体技术有限公司
Publication of WO2017036101A1 publication Critical patent/WO2017036101A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode

Definitions

  • FIG. 2 it is a schematic flowchart of an update register according to an embodiment of the present invention. As shown in the figure, the specific steps are as follows:

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optical Communication System (AREA)

Abstract

一种更新寄存器的方法及装置。该方法中,更新寄存器的第一线程包括:读寄存器的数据存到第一内存中(201),更新第一内存中的数据(202),将第一内存中的数据写入寄存器中(203);在第一线程执行期间,若主机请求写寄存器,中断第一线程的第一流程并执行第二线程,根据指令在第二内存中写入数据(204),恢复执行第一线程,在第一线程执行完成后,再次执行第一线程;再次执行的第一线程包括:读寄存器的数据存到第三内存中(205),根据第二内存中的数据更新第三内存中的数据(206),将第三内存中的数据写到寄存器中(207)。可以避免主机写入寄存器的信息被覆盖,进而导致通信失效的情况发生,确保了主机写入信息的正确性与可靠性。

Description

一种更新寄存器的方法及装置
技术领域
[0001] 本发明涉及通信技术领域, 尤其涉及一种更新寄存器的方法及装置。
背景技术
[0002] 光模块的功能是将光信号与电信号互相转换, 并通过 IIC (Inter-Integrated
Circuit, 集成电路总线) 与主机进行信息交互。 根据 INF-8074标准的要求, 光模 块的 IIC总线协议是使用 CMOS (Complementary Metal Oxide Semiconductor, 互 补金属氧化物半导体) EEPROM (Electrically Erasable Programmable Read-Only Memory , 带电可擦写可编程只读存储器) 器件 AT24C02的两线串行协议, 支持 读写操作。
[0003] 光模块中有些特殊的寄存器, 这种特殊的寄存器中存储的比特序列中有用来实 吋反映光模块的状态比特位, 有用于指示关断光模块发射部分的比特位, 该比 特位的值由主机写入。 符合 SFF-8472标准的光模块都有这种特别的寄存器。 例 如, 寄存器地址为 110的寄存器就是这种特殊的寄存器, 该寄存器中存储的比特 序列中的 Bit7是用来实吋反映 TX Disable引脚的状态, 由光模块输出, 为了让主 机能够随吋读取到光模块的当前状态, 光模块需要不断的更新 110寄存器的第 7 比特位。 而该寄存器中存储的比特序列中的第 6比特位是用来关断光模块的发射 部分, 由主机输入。
[0004] 由于寄存器的读写入口只有一个, 在对这种特殊寄存器进行更新吋, 如果同吋 主机对该寄存器进行写操作, 如图 1所示, 这两种操作就会产生冲突, 主机写入 到光模块的信息被覆盖, 导致通信失效。 因此, 如何安全更新寄存器保证其可 靠性, 是目前亟待解决的问题。
技术问题
[0005] 本发明实施例提供一种更新寄存器的方法及装置, 用以提高寄存器更新操作的 可靠性。
问题的解决方案 技术解决方案
[0006] 本发明的一个实施例提供的一种更新寄存器的方法, 包括:
[0007] 执行更新寄存器的第一线程, 所述第一线程对应的操作包括: 读取寄存器的数 据, 将读取到的数据存储到第一内存区域, 更新所述第一内存区域中的数据, 将更新后的数据写入所述寄存器;
[0008] 在所述第一线程执行期间, 若接收到主机发送的请求写寄存器的指令, 则根据 所述请求写寄存器的指令中断执行所述第一线程, 执行第二线程, 所述第二线 程对应的操作包括: 根据所述请求写寄存器的指令在第二内存区域写入数据, 恢复执行所述第一线程, 在所述第一线程执行完成后, 再次执行第一线程; 所 述请求写寄存器的指令的优先级高于所述第一线程的优先级;
[0009] 所述再次执行的第一线程对应的操作包括: 读取寄存器的数据, 将读取到的数 据存储到第三内存区域, 根据所述第二内存区域中的数据更新所述第三内存区 域中的数据, 将所述第三内存区域更新后的数据写入所述寄存器。
[0010] 所述更新所述第一内存区域的数据, 包括: 更新所述第一内存区域中存储的寄 存器数据中的第一比特位数据; 在所述第二内存区域写入的数据为寄存器数据 中的第二比特位数据。
[0011] 所述根据所述第二内存区域中的数据更新所述第三内存区域的数据, 包括: 根 据所述第二内存区域中的所述第二比特位数据, 更新所述第三内存区域中的寄 存器数据中的第二比特位数据, 保持所述第三内存区域中的寄存器数据中的其 余比特位数据不变。
[0012] 所述第一比特位的数据为所述光模块的状态数据或控制数据, 所述第二比特位 的数据为所述光模块的状态和控制数据。
[0013] 所述执行更新寄存器的第一线程, 还包括: 根据设定周期执行所述更新寄存器 的第一线程。
[0014] 本发明的一个实施例提供的一种寄存器的装置, 包括: 控制模块、 寄存器处理 模块和中断处理模块;
[0015] 所述控制模块: 用于指示所述寄存器处理模块执行更新寄存器的第一线程, 所 述第一线程对应的操作包括: 读取寄存器的数据, 将读取到的数据存储到第一 内存区域, 更新所述第一内存区域中的数据, 将更新后的数据写入所述寄存器
[0016] 在所述第一线程执行期间, 若接收到请求写寄存器的指令, 则根据所述请求写 寄存器的指令指示所述寄存器处理模块中断执行所述第一线程, 执行第二线程 , 指示所述中断处理模块根据所述请求写寄存器的指令在第二内存区域写入数 据, 指示所述寄存器处理模块恢复执行所述第一线程, 在所述第一线程执行完 成后, 指示寄存器处理模块再次执行所述第一线程; 所述请求写寄存器的指令 的优先级高于所述第一线程的优先级; 以及
[0017] 所述再次执行的第一线程对应的操作包括: 读取寄存器的数据, 将读取到的数 据存储到第三内存区域, 根据所述第二内存区域中的数据更新所述第三内存区 域中的数据, 将所述第三内存区域更新后的数据写入所述寄存器。
[0018] 所述寄存器处理模块, 具体用于: 更新所述第一内存区域中存储的寄存器数据 中的第一比特位数据; 在所述第二内存区域写入的数据为寄存器数据中的第二 比特位数据。
[0019] 所述寄存器处理模块, 具体用于: 根据所述第二内存区域中的所述第二比特位 数据, 更新所述第三内存区域中的寄存器数据中的第二比特位数据, 保持所述 第三内存区域中的寄存器数据中的其余比特位数据不变。
[0020] 所述第一比特位的数据为所述光模块的状态数据或控制数据, 所述第二比特位 的数据为所述光模块的状态和控制数据。
[0021] 所述寄存器处理模块, 还用于: 根据设定周期执行所述更新寄存器的第一线程 发明的有益效果
有益效果
[0022] 本发明的上述实施例中, 在更新寄存器吋, 执行更新寄存器的第一线程, 读取 寄存器的数据, 将读取到的数据存储到第一内存区域, 更新所述第一内存区域 中的数据, 再将更新后的数据写入所述寄存器。 若在更新寄存器的过程中, 接 收到主机发送的请求写寄存器的指令, 则根据所述请求写寄存器的指令中断执 行所述第一线程, 执行第二线程, 根据所述请求写寄存器的指令在第二内存区 域写入数据, 恢复执行所述第一线程, 在所述第一线程执行完成后, 再次执行 第一线程, 读取寄存器的数据, 将读取到的数据存储到第三内存区域, 根据所 述第二内存区域中的数据更新所述第三内存区域中的数据, 将所述第三内存区 域更新后的数据写入所述寄存器。 根据上述实施例, 主机请求写入的数据不是 直接写入寄存器, 而是先写入第二内存区域, 待寄存器更新完成后再将第二内 存区域中的数据写入寄存器, 避免了在执行第一线程的过程中, 基于接收到的 主机请求写寄存器的指令触发写寄存器操作所导致的主机写入寄存器的信息在 寄存器更新过程中被覆盖进而导致通信失效的情况发生, 确保了主机写入信息 的正确性与可靠性。
对附图的简要说明
附图说明
[0023] 为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例描述中所需要 使用的附图作简要介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些 实施例, 对于本领域的普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
[0024] 图 1为现有技术中更新光模块寄存器的流程示意图;
[0025] 图 2为本发明实施例中提供的更新寄存器的流程示意图;
[0026] 图 3为本发明实施例中提供的更新寄存器的装置示意图。
本发明的实施方式
[0027] 为了使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明作 进一步地详细描述, 显然, 所描述的实施例仅仅是本发明一部份实施例, 而不 是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创 造性劳动前提下所获得的所有其它实施例, 都属于本发明保护的范围。
[0028] 参见图 2, 为本发明实施例提供的更新寄存器的流程示意图, 如图所示, 具体 步骤如下:
[0029] 执行更新寄存器的第一线程, 所述第一线程对应的操作包括: 步骤 201 : 读取 寄存器的数据, 将读取到的数据存储到第一内存区域, 步骤 202: 更新所述第一 内存区域中的数据, 步骤 203: 将更新后的数据写入所述寄存器。
[0030] 在所述第一线程执行期间, 若接收到主机发送的请求写寄存器的指令, 则执行 步骤 204: 根据所述请求写寄存器的指令中断执行所述第一线程, 执行第二线程 , 根据所述请求写寄存器的指令在第二内存区域写入数据, 恢复执行所述第一 线程, 在所述第一线程执行完成后, 再次执行第一线程; 所述主机发送的请求 写寄存器的指令的优先级高于所述第一线程的优先级;
[0031] 所述再次执行的第一线程对应的操作包括: 步骤 205: 读取寄存器的数据, 将 读取到的数据存储到第三内存区域, 步骤 206: 根据所述第二内存区域中的数据 更新所述第三内存区域中的数据, 步骤 207将所述第三内存区域更新后的数据写 入所述寄存器。
[0032] 若在第一线程执行期间, 接收到请求写寄存器的指令, 则中断第一线程, 执行 第二线程, 即转入步骤 204; 待第二线程执行完毕, 返回继续执行第一线程; 待 第一线程执行结束, 再次执行第一线程, 即转入步骤 205至 207。
[0033] 若在第一线程非执行期间, 接收到主机发送的请求写寄存器的指令, 则执行第 二线程, 即步骤 204; 待第二线程执行完毕, 再执行第一线程, 即步骤 205至 207
[0034] 所述更新寄存器的第一线程的第一流程, 是根据预先设定的周期执行。
[0035] 上述步骤 202中, 更新所述第一内存区域中存储的寄存器数据中的第一比特位 数据, 所述第一比特位的数据为所述光模块的状态数据或控制数据。
[0036] 上述步骤 204中, 在所述第二内存区域写入的数据为寄存器数据中的第二比特 位数据, 所述第二比特位的数据为所述光模块的状态和控制数据。
[0037] 上述步骤 206中, 根据所述第二内存区域中的所述第二比特位数据, 更新所述 第三内存区域中的寄存器数据中的第二比特位数据, 保持所述第三内存区域中 的寄存器数据中的其余比特位数据不变。
[0038] 本发明的上述实施例中, 在更新寄存器吋, 读取寄存器的数据并存储到第一内 存区域, 更新所述第一内存区域中的数据, 再将更新后的数据写入所述寄存器
。 若在更新寄存器的过程中, 主机请求写寄存器, 则先将主机写入的数据存储 在第二内存区域中, 待更新寄存器过程结束后, 再读取寄存器中的数据存储到 第三内存区域中, 根据所述第二内存区域中的数据更新第三内存区域中的数据 , 将所述第三内存区域中更新后的数据写入所述寄存器。 根据上述的方法, 主 机请求写入的数据不是直接写入寄存器, 而是先写入第三内存区域, 待寄存器 更新完成后再将第三内存区域中的数据写入寄存器, 避免了主机写入寄存器的 信息在寄存器更新过程中被覆盖进而导致通信失效的情况发生。
[0039] 在本发明实施例中, 数据可分为三种: 状态数据, 即用于反映某种状态的数据 ; 控制数据, 即用于由控制某种功能的数据; 以及状态和控制数据, 既可作为 状态输出的数据, 也可作为控制输入的数据。
[0040] 例如: 光模块中地址为 110寄存器的第 7比特位上的数据属于状态数据, 对应于 前述的第一比特位数据, 用来实吋反映 TX Disable引脚的状态, 由光模块输出。 再例如: 光模块中地址为 110寄存器的第 6比特位上的数据, 属于状态和控制数 据, 对应于前述的第二比特位数据, 既可以用来反映光模块发射部分幵 /关的状 态, 也可以由主机输入用来控制光模块发射部分的幵 /关。 在本发明的实施例中 , 仅有主机写入的数据是状态和控制数据, 其他数据均为状态数据或控制数据
[0041] 上述实施例可应用于光模块中的寄存器的更新过程, 为了更清楚地理解本发明 的上述实施例, 下面以光模块中地址为 110的寄存器的更新过程为例, 对本发明 上述实施例的具体实现过程进行描述。
[0042] 在光模块中, 寄存器地址为 110的寄存器, 其第 7比特位用来实吋反映 TX
Disable引脚的状态, 由光模块输出; 该寄存器的第 6比特位用来反映光模块发射 部分幵 /关的状态, 也可以由主机输入用来控制光模块发射部分的幵 /关。 为了让 主机能够随吋读取到光模块的当前状态, 光模块需要按照设定周期更新 110寄存 器的第 7比特位。 光模块更新 110寄存器的第 7比特位与主机输入寄存器第 6比特 位这两个操作共用一个读写入口, 因此, 在特定情况下采用图 1所示的流程, 这 两个操作会存在冲突, 主机输入 110寄存器第 6比特位的数据会被覆盖。
[0043] 根据本发明提供的实施例的方法, 在光模块 110寄存器按照设定周期更新第 7比 特位吋, 执行更新寄存器第一线程, 读取 110寄存器上的数据存储到第一内存区 域中, 根据 TX Disable引脚的状态更新第 7比特位上的数据; 若此吋主机发送请 求写 110寄存器第 6比特位的指令, 中断更新寄存器的第一线程并执行第二线程 , 根据所述请求写寄存器的指令在第二内存区域写入第 6比特位的数据, 恢复执 行所述第一线程; 在第一线程执行完成后, 再次执行第一线程, 读取第 7比特位 上的数据存储到第三内存区域中, 根据第二内存区域中的数据更新所述第三内 存区域中第 6比特位上的数据, 保持第三内存区域中的其余比特位数据不变, 将 第三内存区域更新后的数据写入光模块 110寄存器。
[0044] 以具体数据为例, 假设 110寄存器上第 7比特位至第 0比特位上的数据依次为 010 10101。 根据现有技术, 在更新寄存器的周期到达吋, 读取 110寄存器上的数据 , 将读取到的数据存储到第一内存区域中, 此吋第一内存区域中的数据为 01010 101。 由于 TX Disable引脚的状态发生变化, 根据其变化更新第一内存区域中第 7 比特位的数据, 即此吋第一内存区域中的数据为 11010101。 若此吋主机发送请 求写 110寄存器第 6比特位的指令, 要在 110寄存器上第 6比特位上写 0, 由于该指 令具有较高优先级, 因此更新寄存器的操作被中断, 根据主机发送请求写寄存 器的指令, 将 110寄存器中第 6比特位上的数据写为 0, 此吋 110寄存器上的数据 变为 00010101。 中断结束后, 继续执行更新寄存器操作, 将第一内存区域中的 数据写入 110寄存器, 此吋 110寄存器上的数据变为 11010101。 由此可见, 主机 写入 110寄存器第 6比特位的数据被覆盖了。
[0045] 仍然假设 110寄存器上第 7比特位至第 0比特位上的数据依次为 01010101。 根据 本发明实施例提供的更新寄存器的方法, 在更新光模块 110寄存器的周期到达吋 , 需要更新该寄存器的第 7比特位上的数据, 此吋执行更新寄存器第一线程, 在 步骤 201中, 读取 110寄存器上的数据, 将读取到的数据存储到第一内存区域, 此吋第一内存区域中的数据为 01010101。 由于 TX Disable引脚的状态发生变化, 在步骤 202中, 根据其变化更新第一内存区域中第 7比特位的数据, 即此吋第一 内存区域中的数据为 11010101。 若此吋主机发送请求写 110寄存器第 6比特位的 指令, 要在 110寄存器上第 6比特位上写 0, 由于该指令具有较高优先级, 因此, 在步骤 204中, 中断更新寄存器的第一线程并执行第二线程, 根据所述请求写寄 存器的指令在第二内存区域写入第 6比特位的数据。 恢复执行更新寄存器的第一 线程, 在步骤 203中, 将所述第一内存区域中更新后的数据写入 110寄存器中, 此吋 110寄存器中是数据为 11010101。 待所述第一线程执行完成后, 执行所述第 二线程, 在步骤 205中, 读取 110寄存器的数据, 将读取到的数据存储到第三内 存区域, 即此吋第三内存区域中的数据为 11010101。 在步骤 206中, 根据所述第 二内存区域中的数据更新所述第三内存区域中第 6比特位上的数据, 此吋第三内 存区域中的数据为 10010101, 在步骤 207中, 再将所述第三内存区域更新后的数 据写入 110寄存器, 最终 110寄存器上的数据为 10010101, 既实现了 110寄存器第 7比特位上数据的更新, 又实现了主机对该寄存器第 6比特位上数据的写入。
[0046] 上述流程中, 在步骤 204中, 可在第二内存区域写入 01000000, 在步骤 206中, 将第二内存区域中存储的 01000000进行按位取反, 然后与存储到第三内存区域 中的 11010101进行按位与的运算, 得到第三内存区域中更新后的数据。
[0047] 本发明实施例以光模块中地址为 110的寄存器的更新过程为例, 但不仅限于光 模块中的地址为 110的寄存器。 本发明实施例提供的更新寄存器的方法可适用于 符合以下条件的寄存器的更新过程: 在同一寄存器中, 既有用来实吋反映光模 块状态或其他状态需要自动更新的比特位, 又有需要主机写入信息以用来实现 功能控制的比特位, 且由于更新寄存器特定比特位吋可能造成主机写入信息丢 失、 被覆盖。
[0048] 应用本发明提供的更新寄存器的方法, 即不影响寄存器的正常更新, 同吋保证 了主机有效地写入寄存器数据, 避免了主机写入寄存器的信息在寄存器更新过 程中被覆盖进而导致通信失效的情况发生, 确保了主机写入信息的正确性与可 靠性。
[0049] 基于相同的技术构思, 本发明实施例还提供了一种更新寄存器的装置, 如图 3 所所示, 包括: 控制模块 302、 寄存器处理模块 301和中断处理模块 303。
[0050] 控制模块 302指示寄存器处理模块 301执行更新寄存器的第一线程, 所述第一线 程对应的操作包括: 读取寄存器的数据, 将读取到的数据存储到第一内存区域 , 更新所述第一内存区域中的数据, 将更新后的数据写入所述寄存器。
[0051] 在所述第一线程执行期间, 若接收到请求写寄存器的指令, 控制模块 302根据 所述请求写寄存器的指令指示寄存器处理模块 301中断执行所述第一线程, 执行 第二线程, 指示所述中断处理模块 303根据所述请求写寄存器的指令在第二内存 区域写入数据, 指示所述寄存器处理模块 301恢复执行所述第一线程, 在所述第 一线程执行完成后, 指示寄存器处理模块再次执行所述第一线程。 其中, 所述 请求写寄存器的指令的优先级高于所述第一线程的优先级; 在所述第一线程执 行完成后, 指示所述寄存器处理模块 301再次执行第一线程, 所述再次执行的第 一线程对应的操作包括: 读取寄存器的数据, 将读取到的数据存储到第三内存 区域, 根据所述第二内存区域中的数据更新所述第三内存区域中的数据, 将所 述第三内存区域更新后的数据写入所述寄存器。
[0052] 在上述流程中, 所述寄存器处理模块 301在更新所述第一内存区域中的数据吋 , 仅更新所述第一内存区域所存储寄存器数据中的第一比特位上的数据, 所述 第一比特位的数据为所述光模块的状态数据或控制数据; 根据所述请求写寄存 器的指令在第二内存区域写入数据吋, 写入的数据为寄存器数据中的第二比特 位数据, 所述第二比特位的数据为所述光模块的状态和控制数据。
[0053] 在上述流程中, 所述寄存器处理模块 301根据所述第二内存区域中的所述第二 比特位数据, 更新所述第三内存区域中的寄存器数据中的第二比特位数据, 保 持所述第三内存区域中的寄存器数据中的其余比特位数据不变。
[0054] 在上述流程中, 所述寄存器处理模块 301根据设定周期执行所述更新寄存器的 第一线程。
[0055] 在上述实施例中, 所述第一比特位为所述光模块中的寄存器数据中的第 7比特 位, 所述第 7比特位的数据用于反映 TX Disable引脚的状态, 所述第二比特位为 所述光模块中的寄存器数据中的第 6比特位, 所述第 6比特位的数据用于指示关 断光模块发射部分。
[0056] 本发明的上述实施例提供的装置, 在更新寄存器吋, 首先读取寄存器的数据并 存储到第一内存区域, 更新所述第一内存区域中的数据, 再将更新后的数据写 入寄存器。 若在更新寄存器的过程中, 主机请求写该寄存器, 则先将主机写入 的数据存储在第二内存区域中, 待更新寄存器过程结束后, 再读取寄存器中的 数据存储到第三内存区域中, 根据所述第二内存区域中的数据更新第三内存区 域中的数据, 将所述第三内存区域中更新后的数据写入所述寄存器。 根据上述 的方法, 主机请求写入的数据不是直接写入寄存器, 而是先写入第三内存区域 , 待寄存器更新完成后再将第三内存区域中的数据写入寄存器, 避免了主机写 入寄存器的信息在寄存器更新过程中被覆盖进而导致通信失效的情况发生。
[0057] 本发明是参照根据本发明实施例的方法、 设备 (系统) 、 和计算机程序产品的 流程图和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图和 /或 方框图中的每一流程和 /或方框、 以及流程图和 /或方框图中的流程和 /或方 框的结合。 可提供这些计算机程序指令到通用计算机、 专用计算机、 嵌入式处 理机或其他可编程数据处理设备的处理器以产生一个机器, 使得通过计算机或 其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程 或多个流程和 /或方框图一个方框或多个方框中指定的功能的装置。
[0058] 这些计算机程序指令也可存储在能弓 I导计算机或其他可编程数据处理设备以特 定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令 产生包括指令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
[0059] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在 计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从 而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或 多个流程和 /或方框图一个方框或多个方框中指定的功能的步骤。
[0060] 尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了基本创 造性概念, 则可对这些实施例做出另外的变更和修改。 所以, 所附权利要求意 欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0061] 显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的 精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等 同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权利要求书
[权利要求 1] 一种更新寄存器的方法, 其特征在于, 包括:
执行更新寄存器的第一线程, 所述第一线程对应的操作包括: 读取寄 存器的数据, 将读取到的数据存储到第一内存区域, 更新所述第一内 存区域中的数据, 将更新后的数据写入所述寄存器;
在所述第一线程执行期间, 若接收到主机发送的请求写寄存器的指令 , 则根据所述请求写寄存器的指令中断执行所述第一线程, 执行第二 线程, 所述第二线程对应的操作包括: 根据所述请求写寄存器的指令 在第二内存区域写入数据, 恢复执行所述第一线程, 在所述第一线程 执行完成后, 再次执行第一线程; 所述请求写寄存器的指令的优先级 高于所述第一线程的优先级;
所述再次执行的第一线程对应的操作包括: 读取寄存器的数据, 将读 取到的数据存储到第三内存区域, 根据所述第二内存区域中的数据更 新所述第三内存区域中的数据, 将所述第三内存区域更新后的数据写 入所述寄存器。
[权利要求 2] 如权利要求 1所述的方法, 其特征在于, 所述更新所述第一内存区域 的数据, 包括: 更新所述第一内存区域中存储的寄存器数据中的第一 比特位数据;
在所述第二内存区域写入的数据为寄存器数据中的第二比特位数据。
[权利要求 3] 如权利要求 2所述的方法, 其特征在于, 所述根据所述第二内存区域 中的数据更新所述第三内存区域的数据, 包括: 根据所述第二内存区域中的所述第二比特位数据, 更新所述第三内存 区域中的寄存器数据中的第二比特位数据, 保持所述第三内存区域中 的寄存器数据中的其余比特位数据不变。
[权利要求 4] 如权利要求 2或 3所述的方法, 其特征在于, 所述第一比特位的数据为 所述光模块的状态数据或控制数据, 所述第二比特位的数据为所述光 模块的状态和控制数据。
[权利要求 5] 如权利要求 1所述的方法, 其特征在于, 所述执行更新寄存器的第一 线程, 包括:
根据设定周期执行所述更新寄存器的第一线程。
[权利要求 6] —种更新寄存器的装置, 其特征在于, 包括: 控制模块、 寄存器处理 模块和中断处理模块;
所述控制模块: 用于指示所述寄存器处理模块执行更新寄存器的第一 线程, 所述第一线程对应的操作包括: 读取寄存器的数据, 将读取到 的数据存储到第一内存区域, 更新所述第一内存区域中的数据, 将更 新后的数据写入所述寄存器;
在所述第一线程执行期间, 若接收到请求写寄存器的指令, 则根据所 述请求写寄存器的指令指示所述寄存器处理模块中断执行所述第一线 程, 执行第二线程, 指示所述中断处理模块根据所述请求写寄存器的 指令在第二内存区域写入数据, 指示所述寄存器处理模块恢复执行所 述第一线程, 在所述第一线程执行完成后, 指示寄存器处理模块再次 执行所述第一线程; 所述请求写寄存器的指令的优先级高于所述第一 线程的优先级; 以及
所述再次执行的第一线程对应的操作包括: 读取寄存器的数据, 将读 取到的数据存储到第三内存区域, 根据所述第二内存区域中的数据更 新所述第三内存区域中的数据, 将所述第三内存区域更新后的数据写 入所述寄存器。
[权利要求 7] 如权利要求 6所述的装置, 其特征在于, 所述寄存器处理模块, 具体 用于: 更新所述第一内存区域中存储的寄存器数据中的第一比特位数 据;
在所述第二内存区域写入的数据为寄存器数据中的第二比特位数据。
[权利要求 8] 如权利要求 6所述的装置, 其特征在于, 所述寄存器处理模块, 具体 用于:
根据所述第二内存区域中的所述第二比特位数据, 更新所述第三内存 区域中的寄存器数据中的第二比特位数据, 保持所述第三内存区域中 的寄存器数据中的其余比特位数据不变。
[权利要求 9] 如权利要求 7或 8所述的装置, 其特征在于, 所述第一比特位的数据为 所述光模块的状态数据或控制数据, 所述第二比特位的数据为所述光 模块的状态和控制数据。
[权利要求 10] 如权利要求 6所述的装置, 其特征在于, 所述寄存器处理模块, 还用 于:
根据设定周期执行所述更新寄存器的第一线程。
PCT/CN2016/074052 2015-08-28 2016-02-18 一种更新寄存器的方法及装置 WO2017036101A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510542101.6A CN105138308B (zh) 2015-08-28 2015-08-28 一种更新寄存器的方法及装置
CN201510542101.6 2015-08-28

Publications (1)

Publication Number Publication Date
WO2017036101A1 true WO2017036101A1 (zh) 2017-03-09

Family

ID=54723667

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/074052 WO2017036101A1 (zh) 2015-08-28 2016-02-18 一种更新寄存器的方法及装置

Country Status (2)

Country Link
CN (1) CN105138308B (zh)
WO (1) WO2017036101A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361027B1 (en) * 2014-12-16 2016-06-07 Texas Instruments Incorporated System and method for fast modification of register content
CN105138308B (zh) * 2015-08-28 2018-02-27 青岛海信宽带多媒体技术有限公司 一种更新寄存器的方法及装置
CN109743105A (zh) * 2019-01-08 2019-05-10 郑州云海信息技术有限公司 智能网卡光模块管理方法、装置、系统及智能网卡和介质
CN112052041B (zh) * 2020-10-10 2022-03-11 乐鑫信息科技(上海)股份有限公司 更新寄存器的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829971A (zh) * 2003-07-30 2006-09-06 皇家飞利浦电子股份有限公司 具有可编程优先级的中断结构且每个优先级与不同的寄存器组相关联的微控制器
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法
WO2011081704A2 (en) * 2009-12-15 2011-07-07 Intel Corporation Handling operating system (os) transitions in an unbounded transactional memory (utm) mode
CN105138308A (zh) * 2015-08-28 2015-12-09 青岛海信宽带多媒体技术有限公司 一种更新寄存器的方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096676B (zh) * 2009-12-11 2014-04-09 中国移动通信集团公司 数据更新及查询控制方法及系统
CN103729166B (zh) * 2012-10-10 2017-04-12 华为技术有限公司 程序的线程关系确定方法、设备及系统
GB2501791B (en) * 2013-01-24 2014-06-11 Imagination Tech Ltd Register file having a plurality of sub-register files
JP6179369B2 (ja) * 2013-11-22 2017-08-16 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829971A (zh) * 2003-07-30 2006-09-06 皇家飞利浦电子股份有限公司 具有可编程优先级的中断结构且每个优先级与不同的寄存器组相关联的微控制器
CN101145113A (zh) * 2007-09-10 2008-03-19 中兴通讯股份有限公司 一种多线程访问间接寄存器的调度方法
WO2011081704A2 (en) * 2009-12-15 2011-07-07 Intel Corporation Handling operating system (os) transitions in an unbounded transactional memory (utm) mode
CN105138308A (zh) * 2015-08-28 2015-12-09 青岛海信宽带多媒体技术有限公司 一种更新寄存器的方法及装置

Also Published As

Publication number Publication date
CN105138308A (zh) 2015-12-09
CN105138308B (zh) 2018-02-27

Similar Documents

Publication Publication Date Title
TWI684868B (zh) 記憶體控制器及其操作方法以及記憶體系統之控制方法
US20190272252A1 (en) Method of processing deadlock of i2c bus, electronic device and communication system
US10482047B2 (en) Slave device connected to master device via I2C bus and communication method thereof
US11940862B2 (en) Storage controller, storage device including the same, and operation method of storage controller
WO2017036101A1 (zh) 一种更新寄存器的方法及装置
WO2016047312A1 (ja) 車両制御装置、リプログラミングシステム
CN104598402A (zh) 一种闪存控制器和闪存控制器的控制方法
US10628234B2 (en) Data processing apparatus, data processing method, and computer readable medium
US10409749B2 (en) Semiconductor device and system provided with a communication interface
JP5332905B2 (ja) バス制御システムおよび半導体集積回路
CN107315449B (zh) 计算机设备、读取时间的方法和写入时间的方法
WO2011099048A1 (ja) 伝送制御装置、メモリ制御装置、及び前記伝送制御装置を備えたplc
US20060010263A1 (en) Direct memory access (DMA) devices, data transfer systems including DMA devices and methods of performing data transfer operations using the same
TW201344444A (zh) 主機板及應用於該主機板的資料處理方法
US20050060690A1 (en) Microprocessor system with software emulation processed by auxiliary hardware
TWI716909B (zh) 記憶體控制系統及操作記憶體控制系統的方法
JP2009163531A (ja) 割り込み管理機構およびマイクロコンピュータ
US20150006765A1 (en) Direct memory access descriptor-based synchronization
JP6416488B2 (ja) 半導体装置
JP2010072888A (ja) Dma転送制御システム
JP5774941B2 (ja) コンフィグレーション装置及びコンフィグレーション方法
CN116701265A (zh) 通信方法及电子设备
KR20140057869A (ko) 차량용 임베디드 시스템의 데이터 제어 방법
CN115658601A (zh) 多核处理器系统及其控制方法
JP2019046531A (ja) シリアルフラッシュメモリのリセット制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16840533

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16840533

Country of ref document: EP

Kind code of ref document: A1