CN116414770A - 片上系统、处理器及指令处理方法 - Google Patents

片上系统、处理器及指令处理方法 Download PDF

Info

Publication number
CN116414770A
CN116414770A CN202310371674.1A CN202310371674A CN116414770A CN 116414770 A CN116414770 A CN 116414770A CN 202310371674 A CN202310371674 A CN 202310371674A CN 116414770 A CN116414770 A CN 116414770A
Authority
CN
China
Prior art keywords
instruction
read
target
processor
register
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
Application number
CN202310371674.1A
Other languages
English (en)
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.)
Black Sesame Intelligent Technology Shenzhen Co ltd
Original Assignee
Black Sesame Intelligent Technology Shenzhen 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 Black Sesame Intelligent Technology Shenzhen Co ltd filed Critical Black Sesame Intelligent Technology Shenzhen Co ltd
Priority to CN202310371674.1A priority Critical patent/CN116414770A/zh
Publication of CN116414770A publication Critical patent/CN116414770A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

一种片上系统、处理器及指令处理方法,所述片上系统包括:处理器、I2C读写装置以及I2C控制器,其中:所述处理器,适于向所述I2C读写装置写入目标指令;以及,在检测到所述目标指令未成功写入至所述I2C读写装置的连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;N≥2;所述I2C读写装置,适于对所述目标指令进行解析,生成与所述目标指令对应的I2C指令并输出;所述I2C控制器,适于根据所述I2C指令,对连接的从设备进行相应的控制操作。上述方案,能够提高处理器的指令执行效率和性能。

Description

片上系统、处理器及指令处理方法
技术领域
本发明涉及I2C技术领域,尤其涉及一种片上系统、处理器及指令处理方法。
背景技术
集成电路总线(I2C)是一种双向二进制同步串行总线,广泛应用在日常生活领域。
在自动驾驶领域,车辆上安装有多个图像传感器实现对周围环境的感知。图形传感器的配置接口为I2C接口。处理器从I2C接口中获取每一个图像传感器(图像传感器即为从设备)采集的数据。
现有技术中,处理器对从设备的读写过程中,指令执行效率较低、性能较差。
发明内容
本发明实施例解决的是处理器的指令执行效率较低、性能较差的技术问题。
为解决上述技术问题,本发明实施例提供一种片上系统,包括:处理器、I2C读写装置以及I2C控制器,其中:所述处理器,适于向所述I2C读写装置写入目标指令;以及,在检测到所述目标指令未成功写入至所述I2C读写装置的连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;N≥2;所述I2C读写装置,适于对所述目标指令进行解析,生成与所述目标指令对应的I2C指令并输出;所述I2C控制器,适于根据所述I2C指令,对连接的从设备进行相应的控制操作。
可选的,所述I2C读写装置包括:指令接收寄存器、指令缓存先入先出模块、指令读取控制模块以及指令译码模块,其中:所述指令接收寄存器,适于接收所述目标指令;所述指令缓存先入先出模块,适于将所述目标指令输出至所述指令读取控制模块;所述指令读取控制模块,适于缓存所述目标指令;所述指令译码模块,适于对所述目标指令进行译码操作,生成与所述目标指令对应的I2C指令并输出。
可选的,所述处理器,适于获取所述指令接收寄存器的工作状态;检测到所述指令接收寄存器处于空闲状态时,写入所述目标指令;检测到所述指令接收寄存器处于忙碌状态,且检测到所述接收寄存器处于忙碌状态的连续次数达到N次时,停止向所述指令接收寄存器写入所述目标指令。
可选的,所述处理器,适于将满足预设条件的至少两条目标指令连续写入至所述指令接收寄存器;所述I2C读写装置,还适于将所述满足预设条件的至少两条目标指令合并。
可选的,所述预设条件包括以下任一种:至少两条目标指令指向的寄存器地址相邻;或,至少两条目标指令指向的寄存器地址之间的差值为预定步长。
可选的,所述片上系统还包括:数据缓存器,适于缓存从设备返回的数据。
可选的,所述片上系统还包括:中断信号合并模块,适于将所述I2C读写装置以及所述I2C控制器产生的中断信号合并,并输出至所述处理器。
可选的,所述目标指令包括以下至少一种:从设备的寄存器数据域、从设备的寄存器地址域、从设备的标识域、从设备的数据地址格式域、I2C读写方向域以及访问模式域。
本发明实施例还提供了一种指令处理方法,包括:获取目标指令未成功写入至I2C读写装置的连续次数;当检测到所述连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;N≥2;当接收到所述I2C读写装置输出的中断信号时,重新向所述I2C读写装置写入所述目标指令。
可选的,所述指令处理方法还包括:将满足预设条件的至少两条目标指令连续写入至所述I2C读写装置;所述预设条件包括以下任一种:至少两条目标指令指向的寄存器地址相邻;或,至少两条目标指令指向的寄存器地址之间的差值为预定步长。
可选的,所述指令处理方法还包括:检测到从设备返回的数据次数达到预设次数M时,读取从设备返回的M次数据;M≥2。
本发明实施例还提供了一种处理器,包括:获取单元,用于获取目标指令未成功写入至I2C读写装置的连续次数;执行单元,用于在检测到所述连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;当接收到所述I2C读写装置输出的中断信号时,重新向所述I2C读写装置写入所述目标指令。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
处理器在检测到目标指令连续N次未能成功写入至I2C读写装置时,停止向I2C读写装置写入目标指令,并执行其他任务。由此,处理器无需继续等待I2C读写装置的响应,故能够有效提高处理器的指令执行效率和性能。
进一步,目标指令中可以携带从设备的寄存器数据域、从设备的寄存器地址域、从设备的标识域、从设备的数据地址格式域、I2C读写方向域以及访问模式域等中的至少一种,能够实现一条目标指令承载多种信息,而不需要针对一种信息均对应生成一条目标指令,故能够有效提高处理器的指令执行效率和性能。
进一步,处理器将满足预设条件的至少两条目标指令连续发送,I2C读写装置将预设条件的至少两条目标指令合并成一条指令执行,故能够进一步提高处理器的指令执行效率和性能。
此外,处理器在检测到数据缓存器中存储的数据达到一次值时,从数据缓存器中读取从设备返回的数据,无需在从设备每一次返回数据的情况下都读取返回的数据,提高处理器的指令执行效率和性能。
附图说明
图1是本发明实施例中的一种片上系统的结构示意图;
图2是本发明实施例中的一种指令处理方法的流程图;
图3是本发明实施例中的一种数据读取方法的流程图。
具体实施方式
现有技术中,处理器对从设备的读写过程中,若未能成功将指令写入至I2C读写装置,则处理器会查询I2C读写装置的状态,直至能够将指令写入。在此过程中,处理器并不进行其他任务的处理,导致处理器的指令执行效率较低,性能较差。
处理器在检测到目标指令连续N次未能成功写入至I2C读写装置时,停止向I2C读写装置写入目标指令,并执行其他任务。由此,处理器无需继续等待I2C读写装置的响应,故能够有效提高处理器的指令执行效率和性能。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参照图1,给出了本发明实施例中的一种片上系统的结构示意图。
在本发明实施例中,片上系统可以包括处理器1、I2C读写装置3以及I2C控制器4。
在本发明实施例中,I2C读写装置3可以包括指令接收寄存器、指令缓存先入先出(FIFO)模块、指令读取控制模块以及指令译码模块。
在具体实施中,处理器1可以通过内部总线和内部桥2,与I2C读写装置3进行通信。处理器1可以包括微处理器(MCU)、中央处理器(CPU)等具备处理功能的器件。
在工作过程中,处理器1可以生成目标指令,并将所生成的目标指令写入至指令接收寄存器。指令接收寄存器接收到目标指令,将目标指令发送至指令缓存FIFO模块。指令缓存FIFO模块将按照先入先出的顺序,将目标指令输出至指令读取控制模块。指令译码模块从指令读取控制模块中读取目标指令,并对目标指令进行译码处理,获取目标指令中携带的信息,产生相应的I2C指令,并输出至I2C控制器4。I2C控制器4根据接收到的I2C指令,控制从设备执行相应的操作。I2C控制器4可以对n个从设备进行控制。如图1中,仅示出了从设备1、以及从设备n,表征n个从设备。
在本发明实施例中,处理器1生成的目标指令可以具有特定指令格式。也就是说,本发明实施例中,处理器1生成的目标指令的指令格式,可以有别于现有技术中的处理器1生成的指令的指令格式。
在本发明实施例中,目标指令可以包括多个域。具体地,目标指令可以包括从设备的寄存器数据域、从设备的寄存器地址域、从设备的标识域、从设备的数据地址格式域、I2C读写方向域以及访问模式域等中的至少一种,其中:
从设备的寄存器数据域,用于承载从设备的寄存器的数据;
从设备的寄存器地址域,用于承载从设备的寄存器的地址;
从设备的标识域,用于承载从设备的标识(如从设备的ID等);
从设备的数据地址格式域,用于承载从设备的寄存器的地址的位宽以及从设备的寄存器的数据的位宽;
I2C的读写方向域,用于表征I2C读写方向;
访问模式域,用于表征快速访问的方式。
在具体实施中,当I2C读写方向域的数值被配置为第一值时,表征进行I2C数据的写操作;当I2C读写方向域的数值被配置为第二值时,表征进行I2C数据的读操作。
I2C读写方向域的长度可以为1比特。当I2C读写方向域的数值被配置为1时,表征进行I2C数据的读操作;当I2C读写方向域的数值被配置为0时,表征进行I2C数据的写操作。
在具体实施中,当目标指令包括访问模式域时,表征该目标指令配置了快速访问模式,目标指令不需要进入指令缓存先入先出模块,而是直接发送至指令译码模块。
在具体实施中,按照比特位从低到高的顺序,目标指令中各比特域的分布可以如下:从设备的寄存器数据域、从设备的寄存器地址域、从设备的标识域、从设备的数据地址格式域、I2C读写方向域以及访问模式域。
在本发明实施例中,目标指令可以包括上述6个域中的至少两个。由于一条目标指令中可以承载有多个域,每一个域承载了不同的信息,故使用一条目标指令即可发送不同的信息。换言之,在需要发送多种信息时,处理器1仅需要发送一条目标指令即可。而在现有技术中,一条指令只能携带一种信息(也即上述6个域中的某一个域),在需要发送多种信息时,处理器1需要发送多条指令。
可见,相比于现有技术,本发明实施例中的方案能够提高指令的集成度(也即一条目标指令承载多种信息),能够有效提高处理器1的指令执行效率。
在本发明一实施例中,目标指令包括上述的6个域,共占用44比特,依次为:
[15:0],表征从设备的寄存器数据域,长度为16bit;若从设备的地址数据格式域设置数据是8bit格式,则有效数据占用低8位bit;
[31:16],表征从设备的寄存器地址域,长度为16bit;若从设备的地址数据格式域设置地址是8bit格式,则有效地址占用低8位bit;
[39:32],表征从设备的标识域,长度为8比特;若从设备的标识(ID号)只有7bit,则可以将从设备的标识左移1位;例如,从设备的标识为0x33,则左移1位后,从设备的标识为0x6a;
[41:40],表征从设备的地址数据格式域,长度为2比特;当其取值为00时,表征地址占用8bit/数据占用8bit;当其取值为01时,表征地址占用8bit/数据占用16bit;当其取值为10时,表征地址占用16bit/数据占用8bit;当其取值为11时,表征地址占用16bit/数据占用16bit。
[42:42],表征I2C读写方向,长度为1bit;取值为0时表征写,取值为1时表征读;
[43:43],表征是否配置成fast模式,长度为1bit;取值为1时表征配置为fast模式,取值为0时表征为正常模式。
本领域技术人员能够理解,上述目标指令中的44bit的分布可以仅为一示例性的说明。在具体应用中,目标指令中所包括的域的个数、种类、相应域的bit长度等,均可以根据实际应用需求进行相应设定,本发明实施例对此不作赘述。
在具体实施中,处理器1在接收到目标指令之后,可以先查询指令接收寄存器是否处于空闲状态。若处理器1查询到指令接收寄存器处于空闲状态,则可以经过内部总线以及内部桥2,将目标指令写入至指令接收寄存器。若处理器1查询到指令接收寄存器处于忙碌状态,则处理器1可以继续查询指令接收寄存器的工作状态。若处理器1连续N次均查询到指令接收寄存器处于忙碌状态,则处理器1可以停止查询接收指令寄存器的工作状态,并去执行其他操作。处理器1在接收到指令缓存FIFO模块输出的中断信号后,再将目标指令写入至指令接收寄存器。
在具体应用中,N≥2。出于处理器1工作效率较优的考虑,设置N=2。
在具体实施中,指令缓存FIFO模块可以包括FIFO模块以及中断信号产生模块。FIFO模块用于存放指令队列,等待被指令译码模块读取译码。中断信号产生模块可以用于监控指令队列的空满情况。当FIFO模块中存储的指令个数小于预定值时,中断信号产生模块可以生成中断信号,并将中断信号发送至处理器1。处理器1在接收到中断信号后,继续向指令接收寄存器写入目标指令。
总结而言,处理器1在连续N次查询到指令接收寄存器均处于忙碌状态时,可以停止进行指令接收寄存器的工作状态查询,并可以执行其他操作。指令缓存FIFO模块为硬件结构,在处理器1执行其他操作时,对指令队列进行处理。当完成对部分指令的操作后,告知处理器1可以发送目标指令。
可见,处理器1在连续N次查询到接收指令寄存器处于忙碌状态后,停止继续查询指令接收寄存器的工作状态,并去执行其他操作,故能够有效节省处理器1的查询时间,提高处理器1的执行效率。
在具体实施中,指令读取控制模块可以起到缓存作用,将存储的目标指令缓存。指令译码模块在读取到目标指令后,对目标指令进行译码操作。
指令译码模块可以包括译码状态控制机以及I2C指令产生器。
具体地,指令译码模块中的译码状态控制机可以获取目标指令,通过I2C指令产生器,将目标指令中的各个域中承载的信息转换成相应的I2C指令。I2C指令可以包括START指令、STOP指令、ADDRESS指令、ACK指令等,从而驱动I2C控制器4完成I2C传输。
在本发明实施例中,译码控制状态机可以将相邻的多个目标指令进行合并,一个目标指令对应一次I2C传输。也就是说,通过指令译码模块,将相邻的多个目标指令进行合并,实现将多个I2C传输周期合并成一个传输周期,可以大大节省时间。
在具体实施中,两个目标指令相邻,可以是指:传输方向相同,且针对于同一个从设备,在指令队列中的写入时间也相邻。传输方向相同,即两个目标指令均为写方向合并,或者均为读方向合并。
例如,对于同一个从设备的两个寄存器地址0x5和0x6,均需要进行写配置。0x5寄存器对应的目标指令的bit[23:16]的值为0x5,0x6寄存器对应的目标指令的bit[23:16]的值为0x6,0x5寄存器对应的目标指令先写入至FIFO模块中,紧接着,0x6寄存器对应的目标指令也写入至FIFO模块中。两个目标指令在写入FIFO模块的时间相邻,在译码阶段,可以将上述两个目标指令合并,生成一个I2C传输指令。
对于写方向,假设需要写一个从设备的两个寄存器地址:0x5和0x6,寄存器数据为一个字节。
现有技术中的技术方案,需要执行两次I2C写操作,第一次写0x5寄存器,第二次写0x6寄存器。具体的传输过程如下(此处忽略了握手ACK应答过程):
第一次写操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x5→发送从设备0x5寄存器数据→发送STOP指令;
第二次写操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x6→发送从设备0x6寄存器数据→发送STOP指令。
而采用本发明实施例中提供的技术方案,将两次写操作合并为一次写操作,具体的传输过程如下(此处忽略了握手ACK应答过程):
写操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x5→发送从设备0x5寄存器数据→发送从设备0x6寄存器数据→发送STOP指令。
对于读方向,假设需要读一个从设备的两个寄存器地址:0x5和0x6,寄存器数据为一个字节。
现有技术中的技术方案,需要执行两次I2C读操作,第一次读0x5寄存器,第二次读0x6寄存器。具体的传输过程如下(此处忽略了握手ACK应答过程):
第一次读操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x5→发送STOP指令→发送从设备地址→发送读指示→接收从设备0x5寄存器数据→发送STOP指令;
第二次读操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x6→发送STOP指令→发送从设备地址→发送读指示→接收从设备0x6寄存器数据→发送STOP指令。
而采用本发明实施例中提供的技术方案,将两次读操作合并为一次读操作,具体的传输过程如下(此处忽略了握手ACK应答过程):
读操作:发送START指令→发送从设备地址→发送写指示→发送从设备寄存器地址0x5→发送STOP指令→发送从设备地址→发送读指示→接收从设备0x5寄存器数据→接收从设备0x6寄存器数据→发送STOP指令。
可见,通过将相邻的目标指令合并,可以有效节省I2C指令处理的时间和流程,提高I2C指令的处理效率。
在具体实施中,I2C控制器4可以包括传输控制状态机、SCL(串行时钟线)发送器、SDA(串行数据线)发送器、SDA接收器以及中断信号产生器。
在具体应用中,传输控制状态机可以生成I2C接口传输时序,控制I2C的每个传输阶段。SCL发送器产生SCL时钟,SDA发送器发送SDA数据,SDA接收器接收SDA数据,中断信号产生器可以监控与从设备的握手情况。若与从设备的握手信息ACK出错,则可以产生中断信号并通知处理器1。中断信号产生器还可以监控从设备的数据返回情况,若数据返回完成,则也可以产生中断信号并通知处理器1。
在具体实施中,I2C控制器4可以通过I2C总线与多个从设备连接。在自动驾驶领域,从设备可以为感知传感器,如图像传感器、位移传感器、距离传感器等。
可以理解的是,I2C控制器4的具体结构及实现原理、工作过程均可以参照现有技术,本发明实施例不做赘述。
在具体实施中,片上系统还可以包括数据缓存器(图1中未示出)。数据缓存器适于缓存从设备返回的数据。具体地,数据缓存器可以缓存多个数据。I2C控制器4在接收到从设备返回的数据后,通过中断信号通知处理器1,从设备返回的数据存储在数据缓存器中。处理器1可以记录接收到的中断信号的个数。当数据缓存器中缓存的数据量达到一定值时,处理器1从数据缓存器中读取缓存的数据,实现一次性集中读取多个数据。相对于一个返回数据进行一次读操作,将多个返回数据集中读取,也可以提高处理器1的执行效率。
在具体实施中,片上系统还可以包括中断信号合并模块5。通过中断信号合并模块5,将产生的中断信号合并。
在具体实施中,片上系统还可以包括内部存储器。
参照图2,给出了本发明实施例中的一种指令处理方法。以下通过具体步骤进行详细说明。
在具体实施中,下述的指令处理方法可以由上述实施例中所述的片上系统中的处理器所执行。指令处理方法对应的指令可以为上述实施例中描述的目标指令。
步骤201,查询指令接收寄存器的工作状态。
步骤202,判断指令接收寄存器是否处于空闲状态。
在具体实施中,若指令接收寄存器处于空闲状态,则执行步骤203;若指令接收寄存器处于忙碌状态,则执行步骤204。
步骤203,将目标指令写入至指令接收寄存器。
步骤204,判断指令接收寄存器连续处于忙碌状态的次数是否达到2次。
若处理器获知指令接收寄存器连续处于忙碌状态的次数未达到2次,则重新执行步骤201;若处理器获知指令接收寄存器连续处于忙碌状态的次数达到2次,则执行步骤205。
步骤205,等待中断信号,并执行其他任务。
在具体实施中,处理器可以等待指令缓存FIFO模块产生的中断信号。
步骤206,判断是否接收到中断信号。
在具体实施中,若处理器接收到中断信号,则可以重新执行步骤201;反之,处理器继续指令步骤205,继续等待中断信号。
参照图3,给出了本发明实施例中的一种数据读取方法,以下通过具体步骤进行详细说明。
在具体实施中,下述的数据读取方法可以由上述实施例中所述的片上系统中的处理器所执行。
步骤301,等待I2C控制器产生的中断信号。
步骤302,判断是否存在错误中断。
在本发明实施例中,若存在错误中断,则执行步骤303;若不存在错误中断,则执行步骤304。
步骤303,执行错误处理。
在具体实施中,当存在错误中断时,可以执行与错误中断相关的错误处理操作。
步骤304,判断是否接收到数据返回中断。
在具体实施中,若接收到数据返回中断,则可以执行步骤305;若未接收到数据返回中断,则可以继续执行步骤301。
步骤305,统计数据返回中断次数。
在具体实施中,处理器可以统计接收到数据返回中断的总次数。
步骤306,判断总次数是否达到预定值。
在具体实施中,当接收到数据返回中断的总次数达到预定值时,处理器可以执行步骤307;反之,处理器重新执行步骤301。
步骤307,读取数据缓存器。
由此,处理器可以实现一次性读取多个返回数据。
本发明实施例还提供了一种处理器,包括获取单元以及执行单元,其中:获取单元,用于获取目标指令未成功写入至I2C读写装置的连续次数;执行单元,用于在检测到所述连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;当接收到所述I2C读写装置输出的中断信号时,重新向所述I2C读写装置写入所述目标指令。
在具体实施中,上述处理器的具体执行过程可以对应参照上述实施例,此处不做赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指示相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (12)

1.一种片上系统,其特征在于,包括:处理器、I2C读写装置以及I2C控制器,其中:
所述处理器,适于向所述I2C读写装置写入目标指令;以及,在检测到所述目标指令未成功写入至所述I2C读写装置的连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;N≥2;
所述I2C读写装置,适于对所述目标指令进行解析,生成与所述目标指令对应的I2C指令并输出;
所述I2C控制器,适于根据所述I2C指令,对连接的从设备进行相应的控制操作。
2.如权利要求1所述的片上系统,其特征在于,所述I2C读写装置包括:指令接收寄存器、指令缓存先入先出模块、指令读取控制模块以及指令译码模块,其中:
所述指令接收寄存器,适于接收所述目标指令;
所述指令缓存先入先出模块,适于将所述目标指令输出至所述指令读取控制模块;
所述指令读取控制模块,适于缓存所述目标指令;
所述指令译码模块,适于对所述目标指令进行译码操作,生成与所述目标指令对应的I2C指令并输出。
3.如权利要求2所述的片上系统,其特征在于,所述处理器,适于获取所述指令接收寄存器的工作状态;检测到所述指令接收寄存器处于空闲状态时,写入所述目标指令;检测到所述指令接收寄存器处于忙碌状态,且检测到所述接收寄存器处于忙碌状态的连续次数达到N次时,停止向所述指令接收寄存器写入所述目标指令。
4.如权利要求2所述的片上系统,其特征在于,所述处理器,适于将满足预设条件的至少两条目标指令连续写入至所述指令接收寄存器;
所述I2C读写装置,还适于将所述满足预设条件的至少两条目标指令合并。
5.如权利要求4所述的片上系统,其特征在于,所述预设条件包括以下任一种:至少两条目标指令指向的寄存器地址相邻;或,至少两条目标指令指向的寄存器地址之间的差值为预定步长。
6.如权利要求1所述的片上系统,其特征在于,还包括:数据缓存器,适于缓存从设备返回的数据。
7.如权利要求1所述的片上系统,其特征在于,还包括:中断信号合并模块,适于将所述I2C读写装置以及所述I2C控制器产生的中断信号合并,并输出至所述处理器。
8.如权利要求1所述的片上系统,其特征在于,所述目标指令包括以下至少一种:
从设备的寄存器数据域、从设备的寄存器地址域、从设备的标识域、从设备的数据地址格式域、I2C读写方向域以及访问模式域。
9.一种指令处理方法,其特征在于,包括:
获取目标指令未成功写入至I2C读写装置的连续次数;
当检测到所述连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;N≥2;
当接收到所述I2C读写装置输出的中断信号时,重新向所述I2C读写装置写入所述目标指令。
10.如权利要求9所述的指令处理方法,其特征在于,还包括:将满足预设条件的至少两条目标指令连续写入至所述I2C读写装置;所述预设条件包括以下任一种:至少两条目标指令指向的寄存器地址相邻;或,至少两条目标指令指向的寄存器地址之间的差值为预定步长。
11.如权利要求9所述的指令处理方法,其特征在于,还包括:检测到从设备返回的数据次数达到预设次数M时,读取从设备返回的M次数据;M≥2。
12.一种处理器,其特征在于,包括:
获取单元,用于获取目标指令未成功写入至I2C读写装置的连续次数;
执行单元,用于在检测到所述连续次数达到N次时,停止向所述I2C读写装置写入所述目标指令,并执行其他任务;当接收到所述I2C读写装置输出的中断信号时,重新向所述I2C读写装置写入所述目标指令。
CN202310371674.1A 2023-03-28 2023-03-28 片上系统、处理器及指令处理方法 Pending CN116414770A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310371674.1A CN116414770A (zh) 2023-03-28 2023-03-28 片上系统、处理器及指令处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310371674.1A CN116414770A (zh) 2023-03-28 2023-03-28 片上系统、处理器及指令处理方法

Publications (1)

Publication Number Publication Date
CN116414770A true CN116414770A (zh) 2023-07-11

Family

ID=87055956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310371674.1A Pending CN116414770A (zh) 2023-03-28 2023-03-28 片上系统、处理器及指令处理方法

Country Status (1)

Country Link
CN (1) CN116414770A (zh)

Similar Documents

Publication Publication Date Title
US8683093B2 (en) Memory system having high data transfer efficiency and host controller
KR100984981B1 (ko) 계층적 캐시 메모리 시스템
US20060165109A1 (en) Data communication device
US8028116B2 (en) Data transfer apparatus and data transfer method
US8494010B2 (en) Data transfer device, data transmitting device, data receiving device, and data transfer method
US7197590B2 (en) Method and apparatus for connecting LPC bus and serial flash memory
CN112380157A (zh) 一种带fifo缓存和校验功能的iic总线的通信装置
US20060236001A1 (en) Direct memory access controller
US6791953B2 (en) Interface apparatus
US20220365892A1 (en) Accelerating Method of Executing Comparison Functions and Accelerating System of Executing Comparison Functions
US20080028108A1 (en) DMA transfer control apparatus
CN116893991B (zh) 一种axi协议下的存储模块转换接口及其转换方法
US20060184752A1 (en) Memory controller and memory control system predicting non-contiguous access
CN116414770A (zh) 片上系统、处理器及指令处理方法
US20070280224A1 (en) System and method for an output independent crossbar
US20100115323A1 (en) Data store system, data restoration system, data store method, and data restoration method
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
US9621334B2 (en) Data transmission method and system
US11714608B2 (en) Device and method for handling programming language function
CN111047503B (zh) 一种顶点数组类命令的属性存储与组装优化电路
KR20050064568A (ko) 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법
KR20070081981A (ko) 중앙처리 장치가 없는 시스템에서의 인터페이스 방법 및장치
US7370131B2 (en) High-speed data readable information processing device
JP2008021040A (ja) バスマスタ回路、バス制御方法、及びコンピュータプログラム
CN111061658A (zh) 通过cpld实现mdio从机的方法、智能终端及储存介质

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