CN103389893A - 一种配置寄存器读写方法及装置 - Google Patents

一种配置寄存器读写方法及装置 Download PDF

Info

Publication number
CN103389893A
CN103389893A CN2013102864634A CN201310286463A CN103389893A CN 103389893 A CN103389893 A CN 103389893A CN 2013102864634 A CN2013102864634 A CN 2013102864634A CN 201310286463 A CN201310286463 A CN 201310286463A CN 103389893 A CN103389893 A CN 103389893A
Authority
CN
China
Prior art keywords
write
section
value
enable bit
write enable
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN2013102864634A
Other languages
English (en)
Other versions
CN103389893B (zh
Inventor
陈祖尚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Fuzhou Rockchip Electronics Co Ltd
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 Fuzhou Rockchip Electronics Co Ltd filed Critical Fuzhou Rockchip Electronics Co Ltd
Priority to CN201310286463.4A priority Critical patent/CN103389893B/zh
Publication of CN103389893A publication Critical patent/CN103389893A/zh
Application granted granted Critical
Publication of CN103389893B publication Critical patent/CN103389893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

本发明提供一种配置寄存器读写方法,预先将寄存器的全部位段分配为多个功能位段和多个写使能位段,每个功能位段用于存储一个寄存器内容,并与一个写使能位段对应设置,该方法包括:接收片外发送的针对寄存器的且包括寄存器地址和读写操作指令的操作信号;根据读写操作指令设定相应的写使能位段的值;按照该寄存器地址读取相应的功能位段和写使能位段并判断写使能位段的值是否为有效值;根据写使能位段的值对相应的功能位段的寄存器内容进行读写操作。本发明还提供一种配置寄存器读写装置,利用本发明,通过对写使能位段值的判断对相应的功能位段的寄存器内容进行读写操作,从而有效地解决了增加寄存器读取操作以及容易出现的修改出错的技术问题。

Description

一种配置寄存器读写方法及装置
技术领域
本发明涉及集成电路领域,尤其涉及一种寄存器读写方法及装置。
背景技术
随着科学技术的进步和芯片工艺水平的不断提升,越来越多的SOC( System on Chip,芯片级***)芯片为用户提供了性能更高、集成度更好、成本更低的单芯片解决方案。
一般情况下,SOC芯片中都设置了多个配置寄存器,控制时钟、复位、功能、流程等。通过这些配置寄存器,软件研发人员可以方便地对各个功能模块的时钟、复位等信号进行控制、对芯片的功能进行设置、以及对芯片的流程进行配置,从而使芯片能够正确工作。
现有的单个配置寄存器的位宽一般跟总线宽度相同,但是构成控制时钟、复位、功能、流程等的基本信号通常只需要一比特或几个比特。这样的话,一个配置寄存器往往可以分割成多个寄存器位段,用来分别作控制时钟、复位、流程、功能等的基本信号,一个寄存器位段可以由一比特或是多比特组成,同一个配置寄存器的不同位段,作用不一样。由于读写寄存器的基本单位是单个寄存器而不是单个寄存器位段,对某个寄存器位段的写操作有可能会影响整个寄存器。这样讲导致两个问题:一是对于每个寄存器位段的修改,首先要读取整个寄存器的值,然后做适当的处理,再对寄存器进行写入操作,从而增加了对寄存器的读取操作;二是当两个线程对位于同一寄存器的不同位段进行修改时,由于修改前都需要先读取整个寄存器的值,可能会造成一个线程刚读取的寄存器,马上被另一个线程所修改,从而造成对寄存器位段的修改出错。
发明内容
本发明实施例所要解决的技术问题在于,提供一种配置寄存器读写方法及装置,以解决现有技术中只能通过读取整个寄存器以修改寄存器位段,从而增加寄存器的读取操作以及容易出现对寄存器位段的修改出错的技术问题。
为解决上述技术问题,本发明提供一种配置寄存器读写方法,预先将寄存器的全部位段分配为多个功能位段和多个写使能位段,其中,每个功能位段用于存储一个寄存器内容,并与一个写使能位段对应设置,该方法包括:
接收片外发送的针对寄存器的操作信号,该操作信号包括寄存器地址和读写操作指令。
根据该读写操作指令设定相应的写使能位段的值。
按照该寄存器地址对该寄存器相应的功能位段以及对应的写使能位段的内容进行读取,判断该写使能位段的值是否为有效值。以及
根据该写使能位段的值对相应的功能位段的寄存器内容进行读写操作。
相应地,本发明还提供一种配置寄存器读写装置,通过地址总线与多个寄存器连接,该寄存器的全部位段被预先分配为多个功能位段和多个写使能位段,其中,每个功能位段用于存储一个寄存器内容,并与一个写使能位段对应设置,该装置包括:
接收单元,用于接收片外发送的针对寄存器的操作信号,该操作信号包括寄存器地址以及读写操作指令。
写使能位段控制单元,用于根据该读写操作指令设定相应的写使能位段的值。以及
读写控制单元,用于解析该操作指令以提取出其中的地址信息,根据该地址信息查找相应的寄存器,对该寄存器的功能位段以及写使能位段的内容进行读取,并根据读取的写使能位段的值确定是否修改对应功能位段的值,从而对该功能位段的寄存器内容进行读写操作。
本发明提供的一种配置寄存器读写方法及装置,预先将配置寄存器分配成多个功能位段和对应的写使能位段,通过对写使能位段值的判断对相应的功能位段的寄存器内容进行读写操作,从而有效地解决了增加寄存器读取操作以及容易出现的修改出错的技术问题,达到了在修改配置寄存器某一位段的寄存器内容时节省处理器的操作时间,以及避免了在不同线程对同一配置寄存器的不同位段的寄存器内容进行修改操作时容易相互影响的技术效果。
附图说明
图1为本发明实施例中的配置寄存器的读写装置的功能模块示意图;
图2为图1所示的配置寄存器被分配为功能位段与写使能位段的第一实施方式示意图;
图3为图1所示的配置寄存器被分配为功能位段与写使能位段的第二实施方式示意图;
图4为本发明配置寄存器的读写方法的流程图。  
标号说明:
Figure 2013102864634100002DEST_PATH_IMAGE002
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参考图1,为本发明实施例中的一种配置寄存器读写装置的功能模块示意图,该读写装置10通过地址总线分别与各个寄存器20连接。该读写装置10包括接收单元11和读写控制单元12, 其中,该接收单元11用于接收处理器(图未示)发送的针对寄存器20的操作信号,该操作信号包括寄存器地址以及读写操作指令。该读写控制单元12用于根据该读写指令对与该地址对应的寄存器进行相应地读写操作,得到读写操作结果。
在本实施方式中,在设计时,根据应用需要设计寄存器定义文件,该寄存器定义文件中包括预先设置的各个寄存器的地址、内容以及初始值。其中,各个寄存器的地址是彼此独立的,用于寻址时找到对应的寄存器;寄存器的内容为寄存器中每个位段在电路中所代表的控制功能或者参数意义,例如时钟、复位、流程等;寄存器的初始值为芯片上电复位以后,片外还未对寄存器进行任何读写操作时,寄存器的默认值。在实际应用中,将根据预先设计好的寄存器定义文件,实现对寄存器的读写操作。并且,每个寄存器的寄存器定义文件都具有独立的定义部分,一个寄存器的定义部分对应一个寄存器的地址、内容和初始值,各个寄存器的参数之间互不关联。
请同时参阅图2,为第一实施方式中的寄存器20的位分配示意图,每个寄存器20全部位段被预先分配为n个功能位段Fn和n个写使能位段En。其中,每个功能位段Fn对应一个寄存器内容,每个写使能位段En与一个功能位段Fn对应设置,用于对相应的写使能位段Fn的读写操作进行控制。例如,功能位段F1对应的寄存器内容为复位,对应的写使能位段E1控制功能位段F1的读写操作。每个功能位段Fn与每个写使能位段En可以被分配一个比特或多个比特。在本实施方式中,每个功能位段Fn被分配的比特长度与对应的写使能位段En被分配的比特长度相同。在第二实施方式中,每个写使能位段En被分配的比特长度均为1,每个功能位段Fn可以根据对应寄存器内容被分配相应的比特长度,如图3所示。
该读写装置10还包括写使能位段控制单元13,其中,该写使能位段控制单元13根据处理器发送的读写操作指令设定相应的写使能位段En的值,该读写控制单元12用于解析由处理器发送的操作指令以提取出其中的地址信息,根据该地址信息查找相应的寄存器20,对该寄存器20的功能位段Fn以及写使能位段En的内容进行读取,并根据读取的写使能位段En的值确定是否修改对应功能位段Fn的值,从而对该功能位段Fn进行读写操作。具体地,当处理器发送数据读取指令时,则将各写使能位段En的值设置为无效值,并和各功能位段Fn的值一并读出。当处理器发送数据写入指令时,该数据写入指令还包括待写入数据,其中,该待写入数据包括相应功能位段Fn的值和对应写使能位段En的值。该写使能位段控制单元13根据该待写入数据中的写使能位段En的值设置相应的写使能位段En的值。该读写控制单元12确定该写使能位段En的值为有效值,则将待写入数据写入该功能位段Fn的寄存器内容中;反之,则不对该功能位段Fn的寄存器内容做修改。
在第一实施方式中,该写使能位段En的无效值为全部比特位值均为0,有效值为全部比特位值均为1。在第二实施方式中,该写使能位段En的无效值为0,有效值为1。
请参阅图4,为本发明配置寄存器的读写方法的流程图,该方法包括:
步骤S40,预先将寄存器20的全部位段分配为n个功能位段Fn和n个写使能位段En。其中,每个功能位段Fn存储一个寄存器内容,每个写使能位段En与一个功能位段Fn对应设置。
每个功能位段Fn与每个写使能位段En可以被分配一个比特或多个比特。在第一实施方式中,每个功能位段Fn被分配的比特长度与对应的写使能位段En被分配的比特长度相同。在第二实施方式中,每个写使能位段En被分配的比特长度均为1,每个功能位段Fn可以根据对应寄存器内容被分配相应的比特长度。
在本实施方式中,在设计时,根据应用需要设计寄存器定义文件,该寄存器定义文件中包括预先设置的各个寄存器的地址、内容以及初始值。其中,各个寄存器的地址是彼此独立的,用于寻址时找到对应的寄存器;寄存器的内容为寄存器中每个位段在电路中所代表的控制功能或者参数意义,例如时钟、复位、流程等;寄存器的初始值为芯片上电复位以后,片外还未对寄存器进行任何读写操作时,寄存器的默认值。在实际应用中,将根据预先设计好的寄存器定义文件,实现对寄存器的读写操作。并且,每个寄存器的寄存器定义文件都具有独立的定义部分,一个寄存器的定义部分对应一个寄存器的地址、内容和初始值,各个寄存器的参数之间互不关联。
步骤S41,该接收单元11接收处理器发送的针对寄存器20的操作信号,其中,该操作信号包括寄存器地址以及读写操作指令。
步骤S42,该写使能位段控制单元13根据处理器发送的读写操作指令设定相应的写使能位段En的值。具体地,当该读写操作指令为数据读取指令时,则该写使能位段控制单元13将各写使能位段En的值设置为无效值,并和各功能位段Fn的值一并读出。当该读写操作指令为数据写入指令时,该数据写入指令还包括待写入数据,其中,该待写入数据包括相应功能位段Fn的值和对应写使能位段En的值。该写使能位段控制单元13根据该待写入数据中的写使能位段En的值设置相应的写使能位段En的值。步骤S43,该读写控制单元12按照处理器发送的寄存器地址对该寄存器20相应的功能位段Fn以及写使能位段En的内容进行读取,判断该写使能位段En的值是否为有效值。若是,则进入步骤S44,否则,进入步骤S45。
在第一实施方式中,该写使能位段En的无效值为全部比特位值均为0,有效值为全部比特位值均为1。在第二实施方式中,该写使能位段En的无效值为0,有效值为1。
步骤S44,该读写控制单元12将待写入数据写入该功能位段Fn的寄存器内容中,然后流程结束。
步骤S45,该读写控制单元12获取该功能位段Fn的寄存器内容,然后流程结束。
本发明提供的一种配置寄存器读写方法及装置,预先将配置寄存器分配成多个功能位段和对应的写使能位段,通过对写使能位段值的判断对相应的功能位段的寄存器内容进行读写操作,从而有效地解决了增加寄存器读取操作以及容易出现的修改出错的技术问题,达到了在修改配置寄存器某一位段的寄存器内容时节省处理器的操作时间,以及避免了在不同线程对同一配置寄存器的不同位段的寄存器内容进行修改操作时容易相互影响的技术效果。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种配置寄存器读写方法,其特征在于,预先将寄存器的全部位段分配为多个功能位段和多个写使能位段,其中,每个功能位段用于存储一个寄存器内容,并与一个写使能位段对应设置,所述方法包括:
接收片外发送的针对寄存器的操作信号,所述操作信号包括寄存器地址和读写操作指令;
根据所述读写操作指令设定相应的写使能位段的值;
按照所述寄存器地址对所述寄存器相应的功能位段以及对应的写使能位段的内容进行读取,判断所述写使能位段的值是否为有效值;以及根据所述写使能位段的值对相应的功能位段的寄存器内容进行读写操作。
2.如权利要求1所述的配置寄存器读写方法,其特征在于,所述读写操作指令为数据读取指令,则将所述写使能位段的值设置为无效值,并和各功能位段的值一并读出。
3.如权利要求1所述的配置寄存器读写方法,其特征在于,所述读写操作指令为数据写入指令,所述数据写入指令还包括待写入数据所述待写入数据包含相应功能位段的待写入值和对应写使能位段的值,则根据所述待写入数据中的写使能位段值设定相应的写使能位段的值,所述根据所述写使能位段的值对相应的功能位段的寄存器内容进行读写操作,具体包括:
根据所述写使能位段的值为有效值而将待写入数据写入所述功能位段的寄存器内容中;以及
根据所述写使能位段的值为无效值而不将待写入数据写入所述功能位段的寄存器内容中。
4.如权利要求1、2或3所述的配置寄存器读写方法,其特征在于,每个功能位段被分配的比特长度与对应的写使能位段被分配的比特长度相同,且所述写使能位段的无效值为全部比特位值均为0,有效值为全部比特位值均为1。
5.如权利要求1、2或3所述的配置寄存器读写方法,其特征在于,每个写使能位段被分配的比特长度均为1,每个功能位段根据对应寄存器内容被分配相应的比特长度,且所述写使能位段的无效值为0,有效值为1。
6.一种配置寄存器读写装置,通过地址总线与多个寄存器连接,其特征在于,所述寄存器的全部位段被预先分配为多个功能位段和多个写使能位段,其中,每个功能位段用于存储一个寄存器内容,并与一个写使能位段对应设置,所述装置包括:
接收单元,用于接收片外发送的针对寄存器的操作信号,所述操作信号包括寄存器地址以及读写操作指令;
写使能位段控制单元,用于根据所述读写操作指令设定相应的写使能位段的值;以及
读写控制单元,用于解析所述操作指令以提取出其中的地址信息,根据所述地址信息查找相应的寄存器,对所述寄存器的功能位段以及写使能位段的内容进行读取,并根据读取的写使能位段的值确定是否修改对应功能位段的值,从而对所述功能位段的寄存器内容进行读写操作。
7.如权利要求6所述的配置寄存器读写装置,其特征在于,所述读写操作指令为数据读取指令,则将写使能位段的值置为无效值,并和各功能位段的值一块读出。
8.如权利要求6所述的配置寄存器读写装置其特征在于,所述读写操作指令为数据写入指令,所述数据写入指令还包括待写入数据,所述待写入数据包含相应功能位段的待写入值和对应写使能位段的值,则所述写使能位段控制单元根据所述待写入数据中的写使能位段值设定相应的写使能位段的值,所述读写控制单元确定所述写使能位段的值为有效值而将待写入数据写入所述功能位段的寄存器内容中,确定所述写使能位段的值为无效之而不将待写入数据写入所述功能位段的寄存器内容中。
9.如权利要求7或8所述的配置寄存器读写装置,其特征在于,每个功能位段被分配的比特长度与对应的写使能位段被分配的比特长度相同,且所述写使能位段的无效值为全部比特位值均为0,有效值为全部比特位值均为1。
10.如权利要求7或8所述的配置寄存器读写装置,其特征在于,每个写使能位段被分配的比特长度均为1,每个功能位段根据对应寄存器内容被分配相应的比特长度,且所述写使能位段的无效值为0,有效值为1。
CN201310286463.4A 2013-07-09 2013-07-09 一种配置寄存器读写方法及装置 Active CN103389893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310286463.4A CN103389893B (zh) 2013-07-09 2013-07-09 一种配置寄存器读写方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310286463.4A CN103389893B (zh) 2013-07-09 2013-07-09 一种配置寄存器读写方法及装置

Publications (2)

Publication Number Publication Date
CN103389893A true CN103389893A (zh) 2013-11-13
CN103389893B CN103389893B (zh) 2016-01-13

Family

ID=49534174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310286463.4A Active CN103389893B (zh) 2013-07-09 2013-07-09 一种配置寄存器读写方法及装置

Country Status (1)

Country Link
CN (1) CN103389893B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373501A (zh) * 2015-07-31 2016-03-02 福州瑞芯微电子股份有限公司 一种总线模块与环路滤波模块的时钟轮转控制方法和装置
CN110187919A (zh) * 2019-05-27 2019-08-30 眸芯科技(上海)有限公司 配置寄存器的装置、方法及***
CN110781117A (zh) * 2019-09-12 2020-02-11 广东高云半导体科技股份有限公司 一种基于fpga的spi扩展总线接口以及片上***
CN110795382A (zh) * 2019-10-09 2020-02-14 广东高云半导体科技股份有限公司 一种基于fpga的通用异步收发传输器以及片上***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728109A (zh) * 2005-07-28 2006-02-01 上海大学 基于mcs-51架构的16m字节程序存储器寻址空间扩充方法
CN1770312A (zh) * 2004-09-30 2006-05-10 三星电子株式会社 可检测在电源故障期间发生写入错误的存储器件及其方法
CN101657803A (zh) * 2007-03-26 2010-02-24 模拟设备股份有限公司 具有内部位fifo电路的计算单元
CN102969027A (zh) * 2012-11-28 2013-03-13 中国人民解放军国防科学技术大学 基于存储器内建自测试的片上存储器调试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1770312A (zh) * 2004-09-30 2006-05-10 三星电子株式会社 可检测在电源故障期间发生写入错误的存储器件及其方法
CN1728109A (zh) * 2005-07-28 2006-02-01 上海大学 基于mcs-51架构的16m字节程序存储器寻址空间扩充方法
CN101657803A (zh) * 2007-03-26 2010-02-24 模拟设备股份有限公司 具有内部位fifo电路的计算单元
CN102969027A (zh) * 2012-11-28 2013-03-13 中国人民解放军国防科学技术大学 基于存储器内建自测试的片上存储器调试方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373501A (zh) * 2015-07-31 2016-03-02 福州瑞芯微电子股份有限公司 一种总线模块与环路滤波模块的时钟轮转控制方法和装置
CN105373501B (zh) * 2015-07-31 2018-08-31 福州瑞芯微电子股份有限公司 一种总线模块与环路滤波模块的时钟轮转控制方法和装置
CN110187919A (zh) * 2019-05-27 2019-08-30 眸芯科技(上海)有限公司 配置寄存器的装置、方法及***
CN110781117A (zh) * 2019-09-12 2020-02-11 广东高云半导体科技股份有限公司 一种基于fpga的spi扩展总线接口以及片上***
CN110781117B (zh) * 2019-09-12 2020-11-20 广东高云半导体科技股份有限公司 一种基于fpga的spi扩展总线接口以及片上***
CN110795382A (zh) * 2019-10-09 2020-02-14 广东高云半导体科技股份有限公司 一种基于fpga的通用异步收发传输器以及片上***

Also Published As

Publication number Publication date
CN103389893B (zh) 2016-01-13

Similar Documents

Publication Publication Date Title
US11237808B2 (en) Target architecture determination
US9098402B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US8195845B2 (en) Memory system having high data transfer efficiency and host controller
US9128824B2 (en) In-place change between transient and persistent state for data structures on non-volatile memory
CN110941395B (zh) 动态随机存取存储器、内存管理方法、***及存储介质
CN106445398A (zh) 一种基于新型存储器的嵌入式文件***及其实现方法
CN103389893A (zh) 一种配置寄存器读写方法及装置
CN107463126A (zh) 无人机双核控制***及数据读取与写入方法
CN104657224A (zh) 一种进程间通信的方法和装置
CN103678187A (zh) 一种微控制单元及其控制方法
CN103377135B (zh) 寻址方法、装置及***
CN101504632A (zh) 一种dma数据传输方法、***及一种dma控制器
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
US9146865B2 (en) Operating a dual-ported internal memory
US20190197017A1 (en) Methods and devices for reducing array size and complexity in automata processors
CN102760106A (zh) Pci学业数据挖掘芯片及其运行方法
CN103106097A (zh) 一种即时编译***中的栈运算优化方法
CN104035898A (zh) 一种基于vliw类型处理器的访存***
CN105404591A (zh) 处理器***及其存储器控制方法
CN102141944B (zh) 用来减少无法更正的错误的方法以及记忆装置及其控制器
CN112486904A (zh) 可重构处理单元阵列的寄存器堆设计方法及装置
CN107169313A (zh) Dna数据文件的读取方法及计算机可读存储介质
CN103077069B (zh) 指令解析的方法及装置
CN101859242A (zh) 一种寄存器读写方法及装置
CN105183668A (zh) 缓存刷新方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant after: FUZHOU ROCKCHIP ELECTRONICS CO., LTD.

Address before: 350000 Fuzhou Gulou District, Fujian, software Avenue, building 89, No. 18

Applicant before: Fuzhou Rockchip Semiconductor Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee after: Ruixin Microelectronics Co., Ltd

Address before: 350000 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China

Patentee before: Fuzhou Rockchips Electronics Co.,Ltd.