CN117971320A - 用于显示系统的微处理器及寄存器写入方法 - Google Patents
用于显示系统的微处理器及寄存器写入方法 Download PDFInfo
- Publication number
- CN117971320A CN117971320A CN202410370400.5A CN202410370400A CN117971320A CN 117971320 A CN117971320 A CN 117971320A CN 202410370400 A CN202410370400 A CN 202410370400A CN 117971320 A CN117971320 A CN 117971320A
- Authority
- CN
- China
- Prior art keywords
- register
- display
- data
- microprocessor
- instruction
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012544 monitoring process Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 8
- 239000004973 liquid crystal related substance Substances 0.000 claims description 3
- 239000002096 quantum dot Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 101100442482 Drosophila melanogaster ldbr gene Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100148606 Caenorhabditis elegans pst-1 gene Proteins 0.000 description 1
- 235000000434 Melocanna baccifera Nutrition 0.000 description 1
- 241001497770 Melocanna baccifera Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 101150108487 pst2 gene Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
本发明提供了一种用于显示系统的微处理器及寄存器写入方法,其中,该微处理器包括:指令寄存器,指令寄存器中的基地址寄存器用于在多个数据写入指令执行期间临时存储基地址;以及执行模块,用于连续执行多个数据写入指令,根据基地址和偏移量将多个配置数据连续写入显示控制器中的第一系统寄存器中,该第一系统寄存器用于作为多个数据写入指令的执行结果存储多个显示控制参数的配置数据。由此利用通过设计的数据写入指令,可以实现寄存器连续写入,且除配置基地址操作之外,每写入一个寄存器只需要一次存储器访问,省去了设置地址和设置数据的两次通用寄存器操作,使得显示控制参数的配置数据在系统寄存器中的配置效率得到极大地提升。
Description
技术领域
本申请涉及集成电路设计领域,具体涉及用于显示系统的微处理器及寄存器写入方法。
背景技术
处理器的指令集是一组处理器能够理解和执行的指令的集合。根据兼容指令集的类型不同,可以将处理器分别不同的指令集架构(Instruction Set Architecture,以下简称为ISA)。指令集架构例如包括:x86架构、ARM架构、MIPS架构、RISC-V架构等。在指令集中定义了处理器可以执行的操作,例如算术运算、逻辑运算、数据传输等。
在执行指令时,处理器使用寄存器暂存数据和中间结果。处理器执行的指令通常包括对寄存器的操作,例如将数据加载到寄存器、在寄存器之间进行运算、将寄存器中的数据存储到内存等。不同类型的指令集架构中寄存器的配置方式和读写指令不同。例如,在x86架构中,有通用寄存器、浮点寄存器、标志寄存器等不同类型的寄存器,而在ARM架构中,则有通用寄存器、状态寄存器、向量寄存器等不同类型的寄存器。
随着微处理器逐渐应用于特定场景,越来越希望对微处理器的指令集架构和寄存器进行定制以优化特定场景下的性能。例如,在用于显示驱动芯片时,现有的微处理器受到指令集架构的限制,将显示控制数据加载至显示系统配置寄存器的写入过程包括经由通用寄存器的数据中转步骤,导致显示系统配置寄存器的写入操作占用过多的时钟周期,对显示系统配置寄存器的存储器访问操作效率过低。
对于显示系统而言,随着显示分辨率和帧率的提高,处理器需要以更快的速度将显示控制数据写入系统配置寄存器。因此,期望在用于显示系统的微处理器中优化配置数据的寄存器写入方法,以提高显示系统配置寄存器的配置效率及其存储器访问的操作效率。
发明内容
因此,本发明公开了一种用于显示系统的微处理器及寄存器写入方法,可以优化显示系统的配置数据的寄存器写入方法,以提高显示系统配置寄存器的配置效率及其存储器访问操作效率。
一方面本发明提供了一种用于显示系统的微处理器,其中,所述微处理器用于将配置数据连续写入显示控制器中,所述显示控制器根据所述配置数据处理显示数据以生成显示时序信息提供到显示驱动芯片,所述微处理器包括:
指令寄存器,所述指令寄存器包括通用寄存器和基地址寄存器,其中,所述基地址寄存器用于在多个数据写入指令执行期间临时存储基地址;以及
执行模块,用于连续执行所述多个数据写入指令,根据所述基地址和偏移量将所述多个配置数据连续写入所述显示控制器中,
所述显示控制器中包括第一系统寄存器,所述第一系统寄存器用于作为所述多个数据写入指令的执行结果存储多个显示控制参数的配置数据,以及根据所述多个配置数据产生相应的控制信息。
在一些实施例中,所述执行模块在连续执行所述多个数据写入指令之前,执行基地址写入指令,用于将所述基地址写入所述基地址寄存器中。
在一些实施例中,所述基地址写入指令是指令集架构中的基础指令。
在一些实施例中,所述执行模块在连续执行所述多个数据写入指令期间,每次数据写入指令的执行过程包括:
从所述基地址寄存器中读取所述基地址;
从所述数据写入指令中获取多个显示控制参数的配置数据和偏移量;
将所述基地址和所述偏移量相加以获得目标地址;以及
在所述第一系统寄存器中与所述目标地址相对应的位置写入所述配置数据。
在一些实施例中,所述配置数据和所述偏移量是所述数据写入指令的立即数。
在一些实施例中,所述数据写入指令是指令集架构的扩展指令,且采用硬件逻辑实现。
在一些实施例中,所述微处理器还包括:第二系统寄存器,用于存储所述显示系统运行过程中的状态和参数。
在一些实施例中,所述第二系统寄存器包括:
状态寄存器,用于存储所述微处理器的状态标示;
数据帧寄存器,用于存储数据帧的第一计数值;以及
帧内加载使能计数器,用于存储数据帧内的加载使能的第二计数值。
在一些实施例中,所述状态寄存器用于监测所述微处理器的系统状态,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机。
在一些实施例中,所述数据帧寄存器和所述帧内加载使能计数器共同用于实时监测所述显示系统中的显示时序信息的输出进度。
在一些实施例中,所述微处理器读取所述数据帧寄存器和所述帧内加载使能计数器,以获得所述第一计数值和所述第二计数值,并且在所述第一计数值和所述第二计数值分别达到第一预设值和第二预设值时,定时读取所述状态寄存器,从而实时监测所述显示系统中的显示时序信息的输出进度。
在一些实施例中,所述实时监测的定时精度为加载使能宽度。
在一些实施例中,所述显示控制器微处理器连接显示驱动芯片,用于根据高速接口写入的显示数据和所述第一系统寄存器生成的所述控制信息生成显示时序信息,用于通过所述第一系统寄存器向并将所述显示时序信息提供给所述显示驱动芯片提供所述控制信息,
所述显示驱动芯片根据所述显示时序信息生成驱动信号,并将所述驱动信号提供给显示面板。
另一方面本发明还提供了一种用于显示系统的寄存器写入方法,包括:
获得多个显示控制参数的配置数据;
执行基地址写入指令,将基地址寄存器中写入基地址;
连续执行多个数据写入指令,根据第一系统寄存器写入指令的立即数,获取配置数据和偏移量,并根据所述基地址和偏移量将所述多个显示控制参数的配置数据连续写入所述第一系统寄存器中。
在一些实施例中,每次数据写入指令的执行过程包括:
从所述基地址寄存器中读取所述基地址;
从所述数据写入指令中获取多个显示控制参数的配置数据和偏移量;
将所述基地址和所述偏移量相加以获得目标地址;以及
在第一系统寄存器中与所述目标地址相对应的位置写入所述显示控制参数的配置数据,
所述显示控制参数的配置数据和所述偏移量是所述数据写入指令的立即数。
在一些实施例中,所述基地址写入指令是指令集架构中的基础指令。
在一些实施例中,所述数据写入指令是指令集架构的扩展指令,且可以由数字电路实现。
在一些实施例中,所述寄存器写入方法还包括:
利用第二系统寄存器存储所述微处理器执行指令期间的状态和参数。
在一些实施例中,所述利用第二系统寄存器存储所述微处理器执行指令期间的状态和参数的步骤包括:
读取数据帧寄存器以获得第一计数值;
在所述第一计数值达到第一预设值后,读取帧内加载使能计数器以获得第二计数值;
在所述第二计数值达到第二预设值后,
读取状态寄存器中存储的所述微处理器的状态标示,以监测所述显示系统中的显示时序信息的输出进度。
在一些实施例中,所述读取状态寄存器中存储的所述微处理器的状态标示的步骤还包括:
读取所述状态寄存器以监测所述微处理器的系统状态,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机。
另一方面本公开还提供了一种显示系统,其中,包括:
显示面板;
显示驱动芯片,用于向所述显示面板提供数据信号和扫描信号;
显示控制器,用于根据多个显示控制参数的配置数据处理显示数据以生成显示时序信息提供到所述显示驱动芯片;
如前所述的微处理器,所述微处理器用于将配置数据连续写入所述显示控制器中。
在一些实施例中,所述显示面板为选自液晶显示面板、一次毫米二极管发光显示面板、一微米二极管发光显示面板、一量子点二极管发光显示面板和一有机发光二极管显示面板中的任意一种。
另一方面本公开还提供了一种信息处理装置,其中,所述信息处理装置搭载有如前所述的显示系统。
在一些实施例中,所述信息处理装置为选自携带型电脑、车用电脑、智慧型手表、智慧型手环和智慧型手机中的任意一种。
本发明的有益效果是:本发明提供了一种用于显示系统的微处理器及寄存器写入方法,其中,该微处理器用于根据外部系统信号将配置数据连续写入显示控制器中,所述显示控制器根据所述配置数据处理显示数据以生成显示时序信息提供到显示驱动芯片,该微处理器包括:指令寄存器,所述指令寄存器包括通用寄存器和基地址寄存器,其中,所述基地址寄存器用于在多个数据写入指令执行期间临时存储基地址;以及执行模块,用于连续执行所述多个数据写入指令,根据所述基地址和偏移量将所述多个配置数据连续写入所述显示控制器中,所述显示控制器中包括第一系统寄存器,所述第一系统寄存器用于作为所述多个数据写入指令的执行结果存储多个显示控制参数的配置数据,以及根据所述多个配置数据产生相应的控制信息。由此利用硬件逻辑设计的数据写入指令(PST),可以实现寄存器连续写入,且除配置基地址操作之外,每写入一个寄存器只需要一次存储器访问(通过总线访问第一系统寄存器),省去了设置地址和设置数据的两次通用寄存器操作,使得显示控制参数的配置数据在系统寄存器中的配置效率得到极大地提升,提升了指令的执行效率并节约程序代码空间。同时提高了存储器访问操作效率,可满足配置寄存器操作密集型的系统需求,提升在分辨率和帧率较高的显示应用场景中的显示效果。
而且,本发明实施例方案提供了更为精准的监测定时能力,利用对数据帧计数器和帧内加载使能计数器的访问,可以支持精确到一帧内一个LE(加载使能脉冲)宽度的监测和控制,可以对显示系统进行更精准的状态监测和实时控制。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚。
图1示出本公开实施例提供的一种用于显示系统的微处理器的结构示意图;
图2示出图1所示微处理器所在的显示系统的结构示意图;
图3示出现有技术中的微处理器执行的寄存器写入方法的流程示意图;
图4示出本公开实施例提供的一种用于显示系统的寄存器写入方法的流程示意图;
图5示出图4所示寄存器写入方法中步骤S130的执行流程示意图;
图6示出图1所示微处理器执行的寄存器写入方法的应用模型图;
图7示出图1所示微处理器中指令寄存器的指令格式示意图;
图8示出图1所示微处理器中第二系统寄存器的指令格式示意图;
图9示出图1所示微处理器执行对第二系统寄存器的访问和中断监测的流程示意图。
具体实施方式
为了便于理解本公开,下面将参照相关附图对本公开进行更全面的描述。附图中给出了本公开的较佳实施例。但是,本公开可以通过不同的形式来实现,并不限于本文所描述的实施例。相反的,提供这些实施例的目的是使对本公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。
微处理器(microprocessor)包括指令集,该指令集是为该微处理器的指令集架构(Instruction Set Architecture,以下简称为ISA)的一部分,在本文可称为微处理器的宏架构(Macroarchitecturc)。该指令集定义了微处理器可执行的合法指令集。程序设计师利用该指令集中的指令写入程序,以被该微处理器执行。该程序设计师可为撰写应用程序的应用程序设计师,或者为撰写操作系统或可执行软件的系统程序设计师。ISA亦包括寄存器等资源,其可被该指令集中的指令存取。常用的ISA如IntelIA-32与IA-64 ISA,可参照x86架构,其包括指令集与具有一般功用寄存器的用户可存取寄存器、数据段寄存器(SegmentRegisters)、堆栈与基底指针寄存器...等习知的寄存器。
许多新型的微处理器包括微架构(Microarchitecture),其无法直接以写入程序直接存取至微处理器ISA中。该微架构包括其本身支持微指令的微指令集,其与上述ISA的用户可存取指令集不同。该ISA指令集的用户可存取指令有时可参照宏架构,以分辨其与微指令集的微指令的不同。微指令比宏指令简单,且可较直接地控制微处理器的硬件。微处理器设计者写入微代码,且在微处理器的微架构内执行。
微处理器(Microprocessor)是由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。
微处理器与传统的中央处理器相比,具有体积小、重量轻和容易模块化等优点。微处理器的基本组成部分有:寄存器堆、运算器、时序控制电路,以及数据和地址总线。
一般的,16位微处理器可分成两个部分,一部分是执行部件(EU),即执行指令的部分;另一部分是总线接口部件(BIU),与8086总线联系,执行从存储器取指令的操作。微处理器分成EU和BIU后,可使取指令和执行指令的操作重叠进行。EU部分有一个寄存器堆,由8个16位的寄存器组成,可用以存放数据、变址和堆栈指针、算术运算逻辑单元(ALU)执行算术运算和逻辑操作,标志寄存器寄存这些操作结果的条件。
一般的,在显示系统中,显示驱动芯片连接显示面板,用于向显示面板提供驱动信号(如源极驱动信号和栅极驱动信号),以控制显示面板的画面显示,而显示驱动芯片与显示控制器相连接,接入的信号可以包括:时序控制信号、表征显示控制参数的控制信息(如显示频率、显示像素行数/列数等),以及包含像素信息的显示数据,其中,时序控制信号由时序控制器提供,而像素信息数据量庞大且复杂,一般借由高速接口进行写入显示控制器,显示控制器根据显示系统的配置数据(即控制信息)处理显示数据,进而生成显示时序信息提供至显示驱动芯片中,而控制信息的寄存器配置写入可依赖于微处理器(MPU)来执行。但现有的寄存器写入方法不支持连续写入,且写入的位数较低,如图3所示,每写入一个寄存器,就需要两次通用寄存器操作和一次存储器访问操作(通过总线访问外部系统寄存器),灵活性差,资源利用率低,系统配置效率受限,进一步的存储器的访问效率低,不适用于高分辨率高帧率的显示场景。
基于此,本公开以下实施例提供了一种用于显示系统的微处理器及寄存器写入方法,可以优化显示系统的配置数据的寄存器写入方法,以提高显示系统的配置寄存器的配置效率及其存储器访问操作效率。
下面,参照附图对本公开进行详细说明。
图1示出本公开实施例提供的一种用于显示系统的微处理器的结构示意图,图2示出图1所示微处理器所在的显示系统的结构示意图。
本公开实施例提出的是一种应用于显示系统的轻量级微处理器指令集架构(ISA),可支持10bit立即数连续写入,更便捷高效地进行寄存器配置。结合图1和图2,微处理器100用于根据外部系统信号将配置数据连续写入显示控制器210中,所述显示控制器210根据所述配置数据处理显示数据以生成显示时序信息提供到显示驱动芯片220。
参考图1,本公开实施例提供了一种用于显示系统的微处理器100,其包括:总线访问控制器130、译码模块140、执行模块150、指令寄存器160、第二系统寄存器170、PC生成模块110和存储器读写控制模块120,所述微处理器100通过总线(BUS)201对显示控制器210(主要是位于其中的第一系统寄存器211)和存储器240进行访问/写入操作。
其中,该微处理器(MPU)100的架构可用于对读取到的程序指令的类型进行判断,并根据判断结果执行程序指令,对储存数据进行相应的读取和写入;存储器240用于存放程序指令和程序数据,以及存放各模块数据、各模块运行的中间结果、预设的程序以及重要信息;所述显示控制器210中至少包括第一系统寄存器211(其余结构或模块在下文中展开描述),该第一系统寄存器211用于存储显示系统的配置和状态等信息;总线(BUS)101是芯片内部数据和控制传输的通道,各模块遵循一致的总线协议进行通信;总线访问控制器130用于根据程序起始地址和PC指针,从微处理器架构外部关联模块读取程序指令,并在相应指令控制下完成数据搬运,以及从某个地址读取数据再写到另一个地址。
当然,上述中仅以总线通信协议示出,而总线协议可以包括通用异步收/发器(Universal Asynchronous Receiver and Transmitter,UART)协议、RS232协议、RS485协议、集成电路总线(Inter Integrated Circuit,IIC)协议和串行外设接口(SerialPeripheral Interface,SPI)协议等,在实际应用中可以物理链路的布局和通信要求选择合适的总线协议进行通信,在此不作限制。
具体的,存储器240是芯片内部提供给系统中各模块使用的静态随机存储器(SRAM),或者是用途相同的芯片外部的动态随机存储器(DRAM)或芯片外部的其它形式的存储器,用于存放数据和运行的中间结果等。
进一步地,存储器240是以地址映射作为访问形式的存储,都能实现相近的功效,包括但不限于静态随机存储器(SRAM),动态随机存储器(DRAM),非易失性存储器,新型存储器(如MRAM)等。
译码模块140用于对指令进行译码,并识别出不同功能的程序指令、程序指令中的寄存器号以及立即数数据,本实施例中,该译码模块140将识别出的指令数据和程序指令中的寄存器号分别提供至指令寄存器160中,以及将对应的立即数数据提供至执行模块150,指令寄存器160和第二系统寄存器170分别包括本公开实施例对应若干指令架构定义的寄存器,用于程序指令执行过程中的数据交互;执行模块150用于执行译码模块140和第二系统寄存器170分发的指令集指令,并返回执行结果;PC生成模块110用于根据执行结果生成PC指针;存储器读写控制模块130在PC指针生成的阶段根据执行结果生成有存储器240的读/写控制信号,并通过总线访问控制器130进行读写控制的操作。
指令寄存器160和第二系统寄存器170一方面用于执行译码模块140分发的基础指令,另一方面还用于执行本公开实施例中微处理器100的新增数据存储扩展指令,并返回执行结果。
如下表所示,为本公开实施例中提供的一种16位轻量级指令集架构(ISA),该指令集架构由基础指令集和可选指令集两部分组成,其中,在基础指令集中关于PST指令:PSTToffset’x, imm’y,的描述为:2’01, 4’xxxx,10’yyyyyyyyyy,其中“01”表征指令的类型,“4’xxxx”表征写入的立即数的位数,“10’yyyyyyyyyy”表征10bit的内容(立即数)写入,因此,在本实施例中面向配置寄存器操作密集型的系统需求时提出的PST指令可支持在可配置基地址上的连续10bit立即数写入,且最多可连续写入16次,相比现有技术中的一次配置一个寄存器的方式,本实施例的连续写入配置更加高效便捷。
该指令集架构具体包括:
(1)基础指令集
指令名称 | 指令格式 | 指令描述 |
B label’x | 6’000000, 10’xxxxxxxxxx | 无条件跳转 |
BL label’x | 6’000001, 10’xxxxxxxxxx | 无条件函数跳转 |
B c’x, label’y | 6’000010, 2’xx, 8’yyyyyyyy | 条件跳转,c=2’00时代表相等;c=2’01时代表不相等;c=2’10时代表大于等于;c=2’11时代表小于。 |
BL c’x, label’y | 6’000011, 2’xx, 8’yyyyyyyy | 条件函数跳转,c’x定义同上 |
ADDI Rd’x, uimm’y | 7’0001000, 4’xxxx, 5’yyyyy | 立即数加 |
SUBI Rd’x, uimm’y | 7’0001001, 4’xxxx, 5’yyyyy | 立即数减 |
ADD Rd’x, Rn’y | 8’00011010, 4’xxxx, 4’yyyy | 寄存器加 |
SUB Rd’x, Rn’y | 8’00011011, 4’xxxx, 4’yyyy | 寄存器减 |
AND Rd’x, Rn’y | 8’00011101, 4’xxxx, 4’yyyy | 寄存器按位与 |
OR Rd’x, Rn’y | 8’00011110, 4’xxxx, 4’yyyy | 寄存器按位或 |
MOV Rd’x, Rn’y | 8’00100000, 4’xxxx, 4’yyyy | 寄存器传送 |
INV Rd’x, Rn’y | 8’00100001, 4’xxxx, 4’yyyy | 寄存器按位取反 |
TST Rd’x, Rn’y | 8’00100010, 4’xxxx, 4’yyyy | 寄存器比较 |
ADR Rd’x, [PC+simm’y] | 5’00101, 3’xxx, 8’yyyyyyyy | 计算PC相对偏移量的绝对值并写入到Rd中 |
PST Toffset’x, imm’y | 2’01, 4’xxxx,10’yyyyyyyyyy | 以PB为基地址,向Toffset写入立即数imm |
LD Rt’x, [PC+simm’y] | 4’1000, 4’xxxx, 8’yyyyyyyy | 从PC相对地址取32bit数据到Rt,addr=pc+simm*2 |
LDH Rt’x, [PC+simm’y] | 4’1001, 4’xxxx, 8’yyyyyyyy | 从PC相对地址取16bit数据到Rt,addr=sp+simm*2 |
LD Rt’x, [SP+simm’y] | 4’1010, 4’xxxx, 8’yyyyyyyy | 从SP相对地址取32bit数据到Rt,addr=sp+simm*2 |
ST Rt’x, [SP+simm’y] | 4’1100, 4’xxxx, 8’yyyyyyyy | 将Rt的32bit数据写入到SP相对地址,addr=sp+simm*2 |
STH Rt’x, [SP+simm’y] | 4’1101, 4’xxxx, 8’yyyyyyyy | 将Rt的16bit数据写入到SP相对地址,addr=sp+simm*2 |
LDR Rt’x, [Rn’y] | 8’11100000, 4’xxxx, 4’yyyy | 从Rn指向的地址装载32bit数据到Rt |
LDR Rt’x, [Rn’y], 1! | 8’11100001, 4’xxxx, 4’yyyy | 从Rn指向的地址装载32bit数据到Rt,Rn自加 |
LDHR Rt’x, [Rn’y] | 8’11100100, 4’xxxx, 4’yyyy | 从Rn指向的地址装载16bit数据到Rt |
LDHR Rt’x, [Rn’y], 1! | 8’11100101, 4’xxxx, 4’yyyy | 从Rn指向的地址装载16bit数据到Rt,Rn自加 |
STR Rt’x, [Rn’y] | 8’11101100, 4’xxxx, 4’yyyy | 将Rt的32bit数据写入Rn指向的地址 |
STR Rt’x, [Rn’y], 1! | 8’11101101, 4’xxxx, 4’yyyy | 将Rt的32bit数据写入Rn指向的地址,Rn自加 |
STHR Rt’x, [Rn’y] | 8’11110000, 4’xxxx, 4’yyyy | 将Rt的低16bit数据写入Rn指向的地址 |
STHR Rt’x, [Rn’y], 1! | 8’11110001, 4’xxxx, 4’yyyy | 将Rt的低16bit数据写入Rn指向的地址,Rn自加 |
xxx | 16’1111111111111111 | 无条件跳转到pc=0 |
(2)可选指令集
指令名称 | 指令格式 | 指令描述 |
MULI Rd’x, uimm’z | 8’00010100, 4’xxxx, 4’zzzz | 立即数乘 |
ANDI Rd’x, uimm’z | 8’00010101, 4’xxxx, 4’zzzz | 立即数按位与 |
ORI Rd’x, uimm’z | 8’00010110, 4’xxxx, 4’zzzz | 立即数按位或 |
EORI Rd’x, uimm’z | 8’00010111, 4’xxxx, 4’zzzz | 立即数按位异或 |
SLI Rd’x, uimm’z | 8’00011000, 4’xxxx, 4’zzzz | 立即数左移位 |
SRL Rd’x, uimm’z | 8’00011001, 4’xxxx, 4’zzzz | 立即数右移位 |
MUL Rd’x, Rn’y | 8’00011100, 4’xxxx, 4’yyyy | 寄存器乘法 |
EOR Rd’x, Rn’y | 8’00011111, 4’xxxx, 4’yyyy | 寄存器按位异或 |
MRS Rd’x, Rs’y | 8’00111100, 4’xxxx, 4’yyyy | 将系统寄存器Rs的32bit数据装载到Rd |
MSR Rs’x, Rd’y | 8’00111101, 4’xxxx, 4’yyyy | 把Rd的32bit数据写入到系统寄存器Rs中 |
WFI mask’x | 8’00111110, 8’xxxxxxxx | 等待中断事件,一共8个事件,7个常用事件(内置)和一个扩展事件(模块配置) |
LDR Rt’x, [Rn’y], -1! | 8’11100010, 4’xxxx, 4’yyyy | 从Rn指向的地址装载32bit数据到Rt,Rn自减 |
LDHR Rt’x, [Rn’y], -1! | 8’11100110, 4’xxxx, 4’yyyy | 从Rn指向的地址装载16bit数据到Rt,Rn自减 |
LDBR Rt’x, [Rn’y] | 8’11101000, 4’xxxx, 4’yyyy | 从Rn指向的地址装载8bit数据到Rt |
LDBR Rt’x, [Rn’y], 1! | 8’11101001, 4’xxxx, 4’yyyy | 从Rn指向的地址装载8bit数据到Rt,Rn自加 |
LDBR Rt’x, [Rn’y], -1! | 8’11101010, 4’xxxx, 4’yyyy | 从Rn指向的地址装载8bit数据到Rt,Rn自减 |
STR Rt’x, [Rn’y], -1! | 8’11101110, 4’xxxx, 4’yyyy | 将Rt的32bit数据写入到Rn指向的地址,Rn自减 |
STHR Rt’x, [Rn’y], -1! | 8’11110010, 4’xxxx, 4’yyyy | 将Rt的16bit数据写入到Rn指向的地址,Rn自减 |
STBR Rt’x, [Rn’y] | 8’11110100, 4’xxxx, 4’yyyy | 将Rt的低8bit数据写入Rn指向的地址 |
STBR Rt’x, [Rn’y], 1! | 8’11110101, 4’xxxx, 4’yyyy | 将Rt的低8bit数据写入Rn指向的地址,Rn自加 |
STBR Rt’x, [Rn’y], -1! | 8’11110110, 4’xxxx, 4’yyyy | 将Rt的低8bit数据写入Rn指向的地址,Rn自减 |
这样,利用上述本公开实施例提出的一种轻量级指令集架构,可以在指令空间比较窄的情况下,通过合理分配(包括跳转条件的精简,堆栈寄存器的单独定义等),可以满足基本的运算和读写需求,硬件占用面积小,提升指令的执行效率并节约程序代码空间。
需要理解的是,上述表格中关于指令集架构的基础指令集和可选指令集并未做穷尽的指令展示,作为微处理器依照前述PST指令相同逻辑执行的类似功能描述的指令,以及单一操作指令的组合、及其功能扩展形成的指令等可以属于本公开记载发明构思的保护范围,本领域普通技术人员可根据需求进行等同逻辑的其他扩展、删减、修改操作,在此不作限制。
参考图1和图7,指令寄存器160用于指令的执行过程,如通用寄存器Rn(0~11)可用于通用指令的执行,如算数运算指令的Rd,Rn,Rt等;程序寄存器PC用于存储当前执行的地址指针;附件基地址(寄存器)PB用于寄存器连续写入指令中存储基地址;堆栈基地址(寄存器)SP为MPU内部模块,包含指令架构定义的一定数量的寄存器,如32个寄存器,用于指令执行过程中数据交互;返回寄存器LR用于存储跳转指令执行前的PC值。
在本实施例中,指令寄存器160中的附件基地址寄存器PB用于在多个数据写入指令(PST)执行期间临时存储基地址;以及执行模块150用于连续执行所述多个数据写入指令(PST),根据所述基地址和偏移量将所述多个显示控制参数的配置数据连续写入所述显示控制器中210中,所述显示控制器210中至少包括第一系统寄存器211,而第一系统寄存器211用于作为所述多个数据写入指令(PST)的执行结果存储多个显示控制参数的配置数据,以及根据所述多个显示控制参数的配置数据产生相应的控制信息Ctrl,如图2所示。
在本实施例中,所述多个数据写入指令(PST)即为新增的数据存储扩展指令,目的是为了系统的配置效率能够满足显示系统在高速率高帧率的应用场景中的高要求,以提升用户的体验效果。
在一些实施例中,所述执行模块150在连续执行所述多个数据写入指令(PST)之前,执行基地址写入指令,用于将所述基地址写入所述附件基地址寄存器PB中。
在一些实施例中,所述基地址写入指令是指令集架构中的基础指令。在本实施例中,所述基础指令为取自前述表格中所述的基础指令集中,如:PST Toffset’x, imm’y。
在一些实施例中,所述执行模块150在连续执行所述多个数据写入指令(PST)期间,每次数据写入指令(PST)的执行过程包括:
从所述附件基地址寄存器PB中读取所述基地址;
从所述数据写入指令(PST)中获取多个显示控制参数的配置数据和偏移量;
将所述基地址和所述偏移量相加以获得目标地址;以及
在所述第一系统寄存器211中与所述目标地址相对应的位置写入所述显示控制参数的配置数据。
可以理解的是,每条指令通常都有一个特定的格式,而指令包括操作码(opcode)和操作数(operand)。操作码指定要执行的操作类型(如加法、减法、数据传输等),而操作数则提供了操作所需的数据或数据的位置信息。指令需要操作数来执行,操作数可以是内存地址、寄存器或立即数。当指令使用立即数时,MPU直接使用指令中包含的值进行操作,无需访问内存。寄存器在指令执行过程中起到临时存储和快速访问的作用,它们可以存储操作数,也可以存储指令执行的结果。在某些情况下,指令会直接操作寄存器中的数据,例如,将一个寄存器的值加到另一个寄存器的值上。
立即数是一种特殊的操作数,它在指令中直接包含了要操作的数据值。这意味着当MPU执行包含立即数的指令时,它不需要从内存中获取数据,可以直接使用指令中给出的值。这种方式简化了某些类型的操作,因为MPU不需要额外的内存访问,从而节省了执行时间。然而,立即数的使用也限制了数据的大小,因为它必须能够直接嵌入到指令中。在本实施例中,所述配置数据和所述偏移量是所述数据写入指令(PST)的立即数。
寄存器是处理器内部的小型存储单元,用于存储指令执行过程中的临时数据。寄存器的访问速度非常快,远高于内存访问速度。在执行指令时,MPU可能会将数据从内存加载到寄存器中,然后在寄存器之间进行操作,最后将结果写回内存。
在一些实施例中,所述数据写入指令(PST)是指令集架构的扩展指令,可以由数字电路加以实现。
参考图1,在本实施例中,所述微处理器100的第二系统寄存器170用于存储所述显示系统运行过程中的状态和参数。所述第二系统寄存器170用于存储与系统相关的状态,与系统操作指令MRS(move register to PSR,将寄存器中的信息保存到PSR状态寄存器中):和MSR(move PSR to register,将PSR状态寄存器中的信息保存到寄存器中)配合使用,可以根据系统实际情况进行定义每个寄存器的状态,最大可以支持16个(前文表格中基础指令集关于PST指令的描述)。其中,MRS指令为对CPSR(当前程序状态寄存器)SPSR(保存的程序状态寄存器)进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器);MSR指令为对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写操作,可以切换处理器模式、或者允许/禁上RQ1Q中断等。
可知的,CPSR(current program status register),叫做当前程序状态寄存器。在本实施例中,微处理器100定义的第二系统寄存器的指令格式如图8所示,其配合图7所示指令寄存器160可以通过代码实现上述的PST指令,支持在可配置基地址上的连续10bit立即数写入,且最多可连续写入16次,相比一次配置一个寄存器的方式,更加高效便捷。
(一)关于寄存器连续配置指令PST的应用示例
在基础指令集中关于PST指令:PST Toffset’x, imm’y,的描述为:2’01, 4’xxxx,10’yyyyyyyyyy,其中“01”表征指令的类型,“4’xxxx”表征写入的立即数的位数,“10’yyyyyyyyyy”表征10bit的内容(立即数)写入,因此,在本实施例中面向配置寄存器操作密集型的系统需求时提出的寄存器连续配置指令PST可以支持在可配置基地址上的连续10bit立即数写入,最多可实现16个寄存器的连续写入。根据现有技术中图3所示的逻辑流程,正常情况下的写入连续地址的寄存器需要执行如下操作:
代码示例1:
ldh r0,addr 0//将寄存器地址addr 0 load到通用寄存器r0中
ldh r1,data 0//将寄存器值data 0 load到通用寄存器r1中
sthr r1,[r0]//将r1的内容(data 0)load到寄存器r0指向的地址空间(addr 0)
ldh r0,addr 0+1//将寄存器地址addr 1 load到通用寄存器r0中
ldh r1,data 1//将寄存器值data 1 load到通用寄存器r1中
sthr r1,[r0]//将r1的内容(data 1)load到寄存器r0指向的地址空间(addr 1)
…
这样每写入一个寄存器,就需要两次通用寄存器操作和一次存储器访问操作(通过总线访问显示系统的配置寄存器,即第一系统寄存器211)。
而本公开实施例中PST指令通过硬核逻辑设计,可以实现寄存器连续写入,代码示例2如下:
ldh pb,addr0//设置寄存器连续配置指令基地址
pst 0, data 0//向基地址偏移量0的地址写入data 0
pst 1, data 1//向基地址偏移量1的地址写入data 1
pst 2, data 2//
pst 3, data 3//
…
pst 15,data 15//
除设置附件基地址寄存器PB操作之外,每写入一个寄存器只需要一次存储器访问,省去了设置地址和设置数据的两次通用寄存器操作,配置效率得到很大的提升。
在本实施例中,第二系统寄存器170用于存储与系统相关的状态,与系统操作指令MRS和MSR配合使用,可以根据系统实际情况进行定义每个寄存器的状态,最大可以支持16个。结合图8,在本实施例中,第二系统寄存器170可以包括:状态寄存器CPSR、数据帧寄存器FCNT、帧内加载使能计数器LCNT、中断状态寄存器INTR以及50MHz计数器比较值寄存器CNTC。
其中,状态寄存器CPSR用于存储所述微处理器100的状态标示,以监测系统状态,可以将系统相关状态信息连接到该寄存器进行监测,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机;数据帧寄存器FCNT用于存储数据帧的第一计数值;帧内加载使能计数器LCNT用于存储数据帧内的加载使能(LE)的第二计数值。
其中,状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。在本实施例中的主状态机表征前述实施例中微处理器的实时操作状态,如写入状态、读取状态、运算状态、检测状态等等。
在一些实施例中,所述数据帧寄存器FCNT和所述帧内加载使能计数器LCNT共同用于实时监测所述显示系统中的显示时序信息的输出进度。
在一些实施例中,所述微处理器100读取所述数据帧寄存器FCNT和所述帧内加载使能计数器LCNT,以获得所述第一计数值和所述第二计数值,并且在所述第一计数值和所述第二计数值分别达到第一预设值和第二预设值时,定时读取所述状态寄存器CPSR,从而实时监测所述显示系统中的显示时序信息的输出进度。
参考图2,在本实施例中,显示控制器210例如还包括:显示数据存储器212、显示时序生成模块213、帧计数寄存器214和行计数寄存器215。
其中,该显示数据存储器212用于获取并存储高速接口din写入的表征像素信息的显示数据Data;第一系统寄存器211一般设置为多个寄存器组成的寄存器组,一方面用于作为所述多个数据写入指令(PST)的执行结果存储多个显示控制参数的配置数据,另一方面还用于根据所述多个配置数据产生相应的控制信息Ctrl;显示时序生成模块213利用所述控制信息Ctrl对显示数据Data进行解析处理,得到显示数据帧的相应信息,如帧数和对应数据帧的显示像素行信息,以及生成对应数据帧的显示时序信息;帧计数寄存器214和行计数寄存器215分别用于对数据帧和对应该数据帧的像素行进行计数,输出计数结果,所述显示控制器210将所述计数结果作为图1中所示外部系统信号提供至所述第二系统寄存器170中,该外部系统信号用于所述显示时序信息的输出进度的监测数据。
显示时序信息输出至显示驱动芯片220中,该显示驱动芯片220用于根据所述显示时序信息生成驱动信号,并将其提供至显示面板230,以进行画面显示。
(二)关于提升显示系统监测和控制能力的代码示例
对显示系统的监测和控制能力主要是通过对第二系统寄存器的访问实现的。
代码示例3
MRS r0,cpsr//将CPSR内容载入到通用寄存器r0
LDH r1,xxx//将mask信号装载到r1(xxx为mask信号)
AND r0,r1//用mask信号获取感兴趣的状态位
xxx //根据状态位信息做后续处理
计数器比较值寄存器CNTC用于存储一个计数阈值,当硬件模块的计数值达到阈值,可以产生中断,然后利用中断事件等待指令即可执行准确的定时任务。
上述代码示例3直接展现了对系统状态的观测,在系统设计时,只需将重要状态信息不断更新到第二系统状态寄存器170中即可。
代码示例4
MSR cntc,200//将计数阈值设置为200
wfi 0x01//假设计数器中断为最低位,mask值位0x01
xxx //执行后续操作
数据帧计数器FCNT和帧内加载使能计数器LCNT用于存储工作模式下已经传输完成的数据帧数量,以及当前帧已经传输完成的LE(load enable)数量,可以实时监测显示系统中当前执行的进度。
上述代码示例4展现了精准的定时能力,要知道时间精度一直是软件操作比较棘手的问题,本公开实施例的方案可拥有精准的定时能力,实现对系统进行更精准的监测。
另外,对数据帧计数器FCNT和帧内加载使能计数器LCNT的访问,可以支持精确到一帧内一个LE宽度的监测和控制。比如,查看第三帧发完10个LE之后系统状态是否有异常。因此,本实施例中实时监测的定时精度为加载使能(LE)的宽度。
代码示例5:
fcnt_loop:
MRS r0, fcnt
subi r0,3
blt fcnt_loop
lcnt_loop:
MRS r0,lcnt
subi r0,10
blt lcnt_loop
check_cpsr:
MRS r0,cpsr
xxx //执行后续操作
结合图9,通过以上代码示例5对以上第二系统寄存器170的访问和中断监测,可以对显示系统进行更精准的状态监测和实时控制。
因此,本公开实施例可通过添加显示系统的相关指令,对显示系统控制和监测更为高效。
进一步的,结合前文所述及图2中显示系统的部分结构示意,在一些实施例中,所述微处理器100连接显示控制器210,该微处理器100用于将多个显示控制参数的配置信息快速且连续写入显示控制器210中的第一系统寄存器211中,显示控制器210还连接显示驱动芯片220,该显示控制器210用于根据高速接口写入的显示数据Data和所述第一系统寄存器211生成的所述控制信息Ctrl生成显示时序信息,显示驱动芯片220用于根据所述显示时序信息生成驱动信号,并将其提供至显示面板230中,以进行画面显示。通过在指令集架构中添加显示系统相关定制指令,由此可支持10bit立即数连续写入,更便捷高效地进行寄存器配置,提升指令的执行效率并节约程序代码空间,进而提升显示系统的配置效率。
图4示出本公开实施例提供的一种用于显示系统的寄存器写入方法的流程示意图,图5示出图4所示寄存器写入方法中步骤S130的执行流程示意图,图6示出图1所示微处理器执行的寄存器写入方法的应用模型图,图7示出图1所示微处理器中指令寄存器的指令格式示意图,图8示出图1所示微处理器中第二系统寄存器的指令格式示意图。
参考图4~图6,并结合前述实施例所述的微处理器进行结合理解,本公开又一实施例提供了一种用于显示系统的寄存器写入方法,包括:
S110:获得多个显示控制参数的配置数据。
可知的,在显示系统中,要实现显示画面不仅需要对应像素阵列的像素数据信息,还需要结合时序控制信号对庞大的像素数据信息进行控制显示,这就需要结合显示系统的硬件参数进行相应的显示控制参数的配置,而这一部分显示控制参数的配置信息相比像素数据信息,数据量小,处理更为简单,一般通过微处理器(MPU)来进行运算处理和配置,相比于现有技术(图3所示)中每写入一个寄存器,就需要两次通用寄存器操作和一次存储器访问操作,本实施例中利用新增的定值指令和对应的硬件逻辑设计,可对获得的多个显示控制参数的配置数据进行快速高效的处理,有效提升指令的执行效率并节约程序代码空间。
S120:执行基地址写入指令,将基地址寄存器中写入基地址。
S130:连续执行多个数据写入指令,根据第一系统寄存器写入指令的立即数,获取配置数据和偏移量,并根据所述基地址和偏移量将所述多个显示控制参数的配置数据连续写入所述第一系统寄存器中。
结合图1和图4~图6,在步骤S130中,指令寄存器160中的附件基地址寄存器PB用于在多个数据写入指令(PST)执行期间临时存储基地址;而第一系统寄存器211用于作为所述多个数据写入指令(PST)的执行结果存储多个显示控制参数的配置数据;执行模块150用于连续执行所述多个数据写入指令(PST),根据所述基地址和偏移量将所述多个配置数据连续写入所述第一系统寄存器211中。
在本实施例中,所述多个数据写入指令(PST)即为新增的数据存储扩展指令,目的是为了系统的配置效率能够满足显示系统在高速率高帧率的应用场景中的高要求,以提升用户的体验效果。
在一些实施例中,所述基地址写入指令是指令集架构中的基础指令。在本实施例中,所述基础指令为取自前述表格中所述的基础指令集中,如:PST Toffset’x, imm’y。
结合图5所示,在本实施例中,所述执行模块150在连续执行所述多个数据写入指令(PST)期间,每次数据写入指令(PST)的执行过程包括:
S131:从所述附件基地址寄存器中读取所述基地址。
S132:从所述数据写入指令中获取多个显示控制参数的配置数据和偏移量。
在步骤S132中,所述显示控制参数的配置数据和所述偏移量是所述数据写入指令的立即数。
S133:将所述基地址和所述偏移量相加以获得目标地址。
S134:在所述第一系统寄存器211中与所述目标地址相对应的位置写入所述显示控制参数的配置数据。
在一些实施例中,所述数据写入指令(PST)是指令集架构的扩展指令,且采用硬件逻辑实现。
结合图4~图6,以及前述实施例中的代码示例2进行理解,本公开实施例中PST指令通过硬核逻辑设计,可以实现寄存器连续写入,相比于现有技术中每写入一个寄存器,就需要两次通用寄存器操作和一次存储器访问操作,本实施例种除设置附件基地址寄存器PB操作之外,每写入一个寄存器只需要一次存储器访问,省去了设置地址和设置数据的两次通用寄存器操作,使得配置效率得到很大的提升,
参考图9,在一些实施例中,所述寄存器写入方法还包括:
利用第二系统寄存器170存储所述微处理器100执行指令期间的状态和参数。
更具体的,结合前述实施例中代码示例3和4,本实施例中所述利用第二系统寄存器170存储所述微处理器100执行指令期间的状态和参数的步骤包括:
读取数据帧寄存器FCNT以获得第一计数值;
在所述第一计数值达到第一预设值后,读取帧内加载使能计数器LCNT以获得第二计数值;
在所述第二计数值达到第二预设值后,
读取状态寄存器CPSR中存储的所述微处理器100的状态标示,以监测所述显示系统中的显示时序信息的输出进度,并完成对第二系统寄存器170的访问和中断监测。本实施例技术方案实现了对系统状态的观测,在系统设计时,只需将重要状态信息不断更新到第二系统状态寄存器170中即可。
同时,本公开实施例的方案可拥有精准的定时能力,实现对系统进行更精准的监测。
另外,对数据帧计数器和帧内加载使能计数器的访问,可以支持精确到一帧内一个LE宽度的监测和控制。
在一些实施例中,所述读取状态寄存器CPSR中存储的所述微处理器100的状态标示的步骤还包括:
读取所述状态寄存器CPSR以监测所述微处理器100的系统状态,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机。
其中,状态机由状态寄存器和组合逻辑电路构成,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。在本实施例中的主状态机表征前述实施例中微处理器的实时操作状态,如写入状态、读取状态、运算状态、检测状态等等。
因此,本公开实施例可通过添加显示系统的相关指令,由此可支持10bit立即数连续写入,使得显示控制参数的配置数据的在系统寄存器中的配置效率得到极大地提升,提升了指令的执行效率并节约程序代码空间。同时提高了存储器访问操作效率,可满足配置寄存器操作密集型的系统需求,提升在分辨率和帧率较高的显示应用场景中的显示效果。
而且,本发明实施例方案提供了更为精准的监测定时能力,利用对数据帧计数器和帧内加载使能计数器的访问,可以支持精确到一帧内一个LE(加载使能脉冲)宽度的监测和控制,可以对显示系统进行更精准的状态监测和实时控制。
基于同一发明构思,另一方面本公开实施例还提供了一种显示系统,其中,包括:
显示面板;
显示驱动芯片,用于向所述显示面板提供数据信号和扫描信号;
显示控制器,用于根据多个显示控制参数的配置数据处理显示数据以生成显示时序信息提供到所述显示驱动芯片;
如前所述的微处理器,所述微处理器用于将配置数据连续写入所述显示控制器中。因此,应用有前述实施例中微处理器的显示系统,同样可实现与之相同的效果。
在一些实施例中,所述显示面板为选自液晶显示面板、一次毫米二极管发光显示面板、一微米二极管发光显示面板、一量子点二极管发光显示面板和一有机发光二极管显示面板中的任意一种。
基于同一发明构思,另一方面本公开实施例还提供了一种信息处理装置,其中,所述信息处理装置搭载有如前所述的显示系统。
在一些实施例中,所述信息处理装置为选自携带型电脑、车用电脑、智慧型手表、智慧型手环和智慧型手机中的任意一种。
因此,搭载有如前所述的显示系统的信息处理装置,同样可实现与之相同的效果。
以上对本公开实施例所提供的一种用于显示系统的微处理器及寄存器写入方法、显示系统和信息处理装置,进行了详细介绍。以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
在说明书及权利要求书当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。
本申请的保护范围当视所附权利要求书所界定者为准。
应当说明的是,在本公开的描述中,需要理解的是,术语“上”、“下”、“内”等指示方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的组件或元件必须具有特定的方位,以特定的方位构造和操作,因此不能理解为对本公开的限制。
此外,在本文中,所含术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本公开所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本公开的保护范围之中。
Claims (24)
1.一种用于显示系统的微处理器,其中,所述微处理器用于将配置数据连续写入显示控制器中,所述显示控制器根据所述配置数据处理显示数据以生成显示时序信息提供到显示驱动芯片,所述微处理器包括:
指令寄存器,所述指令寄存器包括通用寄存器和基地址寄存器,其中,所述基地址寄存器用于在多个数据写入指令执行期间临时存储基地址;以及
执行模块,用于连续执行所述多个数据写入指令,根据所述基地址和偏移量将所述多个配置数据连续写入所述显示控制器中,
所述显示控制器中包括第一系统寄存器,所述第一系统寄存器用于作为所述多个数据写入指令的执行结果存储多个显示控制参数的配置数据,以及根据所述多个配置数据产生相应的控制信息。
2.根据权利要求1所述的微处理器,其中,所述执行模块在连续执行所述多个数据写入指令之前,执行基地址写入指令,用于将所述基地址写入所述基地址寄存器中。
3.根据权利要求2所述的微处理器,其中,所述基地址写入指令是指令集架构中的基础指令。
4.根据权利要求1所述的微处理器,其中,所述执行模块在连续执行所述多个数据写入指令期间,每次数据写入指令的执行过程包括:
从所述基地址寄存器中读取所述基地址;
从所述数据写入指令中获取多个显示控制参数的配置数据和偏移量;
将所述基地址和所述偏移量相加以获得目标地址;以及
在所述第一系统寄存器中与所述目标地址相对应的位置写入所述配置数据。
5.根据权利要求4所述的微处理器,其中,所述配置数据和所述偏移量是所述数据写入指令的立即数。
6.根据权利要求5所述的微处理器,其中,所述数据写入指令是指令集架构的扩展指令,可以由数字电路加以实现。
7.根据权利要求1所述的微处理器,还包括:第二系统寄存器,用于存储所述显示系统运行过程中的状态和参数。
8.根据权利要求7所述的微处理器,其中,所述第二系统寄存器包括:
状态寄存器,用于存储所述微处理器的状态标示;
数据帧寄存器,用于存储数据帧的第一计数值;以及
帧内加载使能计数器,用于存储数据帧内的加载使能的第二计数值。
9.根据权利要求8所述的微处理器,其中,所述状态寄存器用于监测所述微处理器的系统状态,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机。
10.根据权利要求8所述的微处理器,其中,所述数据帧寄存器和所述帧内加载使能计数器共同用于实时监测所述显示系统中的显示时序信息的输出进度。
11.根据权利要求10所述的微处理器,其中,所述微处理器读取所述数据帧寄存器和所述帧内加载使能计数器,以获得所述第一计数值和所述第二计数值,并且在所述第一计数值和所述第二计数值分别达到第一预设值和第二预设值时,定时读取所述状态寄存器,从而实时监测所述显示系统中的显示时序信息的输出进度。
12.根据权利要求10所述的微处理器,其中,所述实时监测的定时精度为加载使能宽度。
13.根据权利要求1所述的微处理器,其中,所述显示控制器连接显示驱动芯片,用于根据高速接口写入的显示数据和所述第一系统寄存器生成的所述控制信息生成显示时序信息,并将所述显示时序信息提供给所述显示驱动芯片,
所述显示驱动芯片根据所述显示时序信息生成驱动信号,并将所述驱动信号提供给显示面板。
14.一种用于显示系统的寄存器写入方法,包括:
获得多个显示控制参数的配置数据;
执行基地址写入指令,将基地址寄存器中写入基地址;
连续执行多个数据写入指令,根据第一系统寄存器写入指令的立即数,获取配置数据和偏移量,并根据所述基地址和偏移量将所述多个显示控制参数的配置数据连续写入所述第一系统寄存器中。
15.根据权利要求14所述的寄存器写入方法,其中,每次数据写入指令的执行过程包括:
从所述基地址寄存器中读取所述基地址;
从所述数据写入指令中获取多个显示控制参数的配置数据和偏移量;
将所述基地址和所述偏移量相加以获得目标地址;以及
在第一系统寄存器中与所述目标地址相对应的位置写入所述显示控制参数的配置数据,
所述显示控制参数的配置数据和所述偏移量是所述数据写入指令的立即数。
16.根据权利要求14所述的寄存器写入方法,其中,所述基地址写入指令是指令集架构中的基础指令。
17.根据权利要求14所述的寄存器写入方法,其中,所述数据写入指令是指令集架构的扩展指令,可以由数字电路加以实现。
18.根据权利要求14所述的寄存器写入方法,其中,还包括:
利用第二系统寄存器存储微处理器执行指令期间的状态和参数。
19.根据权利要求18所述的寄存器写入方法,其中,所述利用第二系统寄存器存储所述微处理器执行指令期间的状态和参数的步骤包括:
读取数据帧寄存器以获得第一计数值;
在所述第一计数值达到第一预设值后,读取帧内加载使能计数器以获得第二计数值;
在所述第二计数值达到第二预设值后,读取状态寄存器中存储的所述微处理器的状态标示,以监测所述显示系统中的显示时序信息的输出进度。
20.根据权利要求19所述的寄存器写入方法,其中,所述读取状态寄存器中存储的所述微处理器的状态标示的步骤中还包括:
读取所述状态寄存器以监测所述微处理器的系统状态,所述系统状态包括总线挂死、数据溢出、中断使能、主状态机。
21.一种显示系统,其中,包括:
显示面板;
显示驱动芯片,用于向显示面板提供数据信号和扫描信号;
显示控制器,用于根据多个显示控制参数的配置数据处理显示数据以生成显示时序信息提供到所述显示驱动芯片;
如权利要求1~13中任一项所述的微处理器,所述微处理器用于将配置数据连续写入所述显示控制器中。
22.根据权利要求21所述的显示系统,其中,所述显示面板为选自液晶显示面板、一次毫米二极管发光显示面板、一微米二极管发光显示面板、一量子点二极管发光显示面板和一有机发光二极管显示面板中的任意一种。
23.一种信息处理装置,其中,所述信息处理装置搭载有如权利要求21或22中所述的显示系统。
24.根据权利要求23所述的信息处理装置,其中,所述信息处理装置为选自携带型电脑、车用电脑、智慧型手表、智慧型手环和智慧型手机中的任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410370400.5A CN117971320A (zh) | 2024-03-28 | 2024-03-28 | 用于显示系统的微处理器及寄存器写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410370400.5A CN117971320A (zh) | 2024-03-28 | 2024-03-28 | 用于显示系统的微处理器及寄存器写入方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971320A true CN117971320A (zh) | 2024-05-03 |
Family
ID=90865977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410370400.5A Pending CN117971320A (zh) | 2024-03-28 | 2024-03-28 | 用于显示系统的微处理器及寄存器写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971320A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999008184A1 (en) * | 1997-08-06 | 1999-02-18 | Advanced Micro Devices, Inc. | An apparatus and method for accessing special registers without serialization |
CN1503121A (zh) * | 2002-11-20 | 2004-06-09 | 智慧第一公司 | 具随机数产生器及用于存储随机数数据的指令的微处理器 |
JP2005122752A (ja) * | 2004-11-08 | 2005-05-12 | Hitachi Ltd | 図形処理装置およびその使用方法ならびにマイクロプロセッサ |
JP2006023501A (ja) * | 2004-07-07 | 2006-01-26 | Seiko Epson Corp | 画像表示装置 |
CN101131719A (zh) * | 2006-08-23 | 2008-02-27 | 北京同方微电子有限公司 | 一种用于密码学运算的微处理器内核 |
CN102141905A (zh) * | 2010-01-29 | 2011-08-03 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
CN103765400A (zh) * | 2011-04-07 | 2014-04-30 | 威盛电子股份有限公司 | 一种乱序执行微处理器中的有条件存储指令 |
US20140122843A1 (en) * | 2011-04-07 | 2014-05-01 | G. Glenn Henry | Conditional store instructions in an out-of-order execution microprocessor |
CN108269518A (zh) * | 2016-12-30 | 2018-07-10 | 霸州市云谷电子科技有限公司 | 像素显示的装置、方法及显示设备 |
CN108369509A (zh) * | 2015-12-21 | 2018-08-03 | 英特尔公司 | 用于基于通道的跨步分散操作的指令和逻辑 |
WO2023016481A1 (zh) * | 2021-08-13 | 2023-02-16 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
-
2024
- 2024-03-28 CN CN202410370400.5A patent/CN117971320A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999008184A1 (en) * | 1997-08-06 | 1999-02-18 | Advanced Micro Devices, Inc. | An apparatus and method for accessing special registers without serialization |
CN1503121A (zh) * | 2002-11-20 | 2004-06-09 | 智慧第一公司 | 具随机数产生器及用于存储随机数数据的指令的微处理器 |
JP2006023501A (ja) * | 2004-07-07 | 2006-01-26 | Seiko Epson Corp | 画像表示装置 |
JP2005122752A (ja) * | 2004-11-08 | 2005-05-12 | Hitachi Ltd | 図形処理装置およびその使用方法ならびにマイクロプロセッサ |
CN101131719A (zh) * | 2006-08-23 | 2008-02-27 | 北京同方微电子有限公司 | 一种用于密码学运算的微处理器内核 |
CN102141905A (zh) * | 2010-01-29 | 2011-08-03 | 上海芯豪微电子有限公司 | 一种处理器体系结构 |
CN103765400A (zh) * | 2011-04-07 | 2014-04-30 | 威盛电子股份有限公司 | 一种乱序执行微处理器中的有条件存储指令 |
US20140122843A1 (en) * | 2011-04-07 | 2014-05-01 | G. Glenn Henry | Conditional store instructions in an out-of-order execution microprocessor |
CN108369509A (zh) * | 2015-12-21 | 2018-08-03 | 英特尔公司 | 用于基于通道的跨步分散操作的指令和逻辑 |
CN108269518A (zh) * | 2016-12-30 | 2018-07-10 | 霸州市云谷电子科技有限公司 | 像素显示的装置、方法及显示设备 |
WO2023016481A1 (zh) * | 2021-08-13 | 2023-02-16 | 华为技术有限公司 | 一种数据处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI476597B (zh) | 資料處理裝置及半導體積體電路裝置 | |
US10241791B2 (en) | Low energy accelerator processor architecture | |
US11341085B2 (en) | Low energy accelerator processor architecture with short parallel instruction word | |
US5584031A (en) | System and method for executing a low power delay instruction | |
JP4602047B2 (ja) | 情報処理装置 | |
KR20210086448A (ko) | 이종 처리 자원들에 대한 작업을 적응적으로 스케줄링하기 위한 장치 및 방법 | |
CN113849433B (zh) | 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质 | |
JP2005528669A (ja) | プロセッサをコプロセッサに接続する方法及び装置 | |
EP3885906A1 (en) | Apparatus and method for dynamic control of microprocessor configuration | |
JPH10187642A (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
KR900004291B1 (ko) | 데이터 프로세서 | |
US6986028B2 (en) | Repeat block with zero cycle overhead nesting | |
US11727530B2 (en) | Instruction storage | |
US20210357227A1 (en) | Risc-v isa based micro-controller unit for low power iot and edge computing applications | |
CN117971320A (zh) | 用于显示系统的微处理器及寄存器写入方法 | |
CN111177067A (zh) | 一种片上系统 | |
US10296338B2 (en) | System, apparatus and method for low overhead control transfer to alternate address space in a processor | |
EP2041645B1 (en) | Microprocessor and method for register addressing therein | |
CN114661349A (zh) | 用于代码预取的指令和逻辑 | |
CN112540789B (zh) | 一种指令处理装置、处理器及其处理方法 | |
WO2021061626A1 (en) | Instruction executing method and apparatus | |
CN117009079A (zh) | 访问临界区的方法以及装置 | |
Gwennap | Hobbit Enables Personal Communicators | |
CN114168193A (zh) | 一种指令处理方法、装置、系统及智能设备 | |
JP2008004132A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |