CN103218322B - 片上系统、电子系统以及操作其的方法 - Google Patents
片上系统、电子系统以及操作其的方法 Download PDFInfo
- Publication number
- CN103218322B CN103218322B CN201210345514.1A CN201210345514A CN103218322B CN 103218322 B CN103218322 B CN 103218322B CN 201210345514 A CN201210345514 A CN 201210345514A CN 103218322 B CN103218322 B CN 103218322B
- Authority
- CN
- China
- Prior art keywords
- main piece
- qos
- block
- bus
- main
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本申请提供了片上系统、包括该片上系统的电子系统以及操作其的方法。该方法包括:将指示主块是否是实时块的实时信息设置在主块的实时信息寄存器中。权重被设置在主块的权重寄存器中。检查主块的缓冲区信息。使用缓冲区信息和权重信息生成服务质量(QoS)信号。基于QoS信号确定主块使用总线的优先级。
Description
相关申请的交叉引用
本申请要求2011年9月16日提交的第10-2011-0093653号韩国专利申请的优先权,其公开通过引用整体结合于此。
技术领域
本公开涉及片上系统,更具体地,涉及片上系统、包括该片上系统的电子系统以及操作其的方法。
背景技术
本发明构思的实施例涉及片上系统(system-on-chip,SoC),更具体地,涉及根据服务质量(QoS)确定总线或从块(slave block)的访问优先级的SoC,包括该SoC的系统以及控制该SoC的方法。
随着片上总线系统的演进,QoS信息被用作总线和存储控制器的调度信息,该QoS信息包括,例如,关于连接的各个方面的信息,诸如主块(master block)的服务响应时间、衰减(loss)、信噪比、串扰、回声、中断、频率响应、响度级等。因此,已经提供了使用判优(arbitration)来为连接维持可接受的QoS的总线系统。因此,在实现可接受的性能的过程中,QoS信息从主块到总线系统的转移是有用的。
用于多媒体数据处理的SoC包括各种类型的主块和从块。SoC被以各种方式使用。例如,单个SoC可以用于视频摄像机、电话听筒、或台式计算机(PC)。这些产品中的每一个都具有不同的操作模式。例如,视频摄像机具有诸如视频拍摄模式、视频显示模式和静态图像显示模式之类的操作模式。因此,SoC中所包括的主块、总线、存储器系统等需要被设计为以各种操作模式正常操作。在SoC的结构很重要的芯片间总线/存储器系统的领域中,已经引入了网络系统的QoS的概念,并且已经开发出满足诸如带宽、延迟和实时的系统性能的需求的方法。
特别地,当需要实时但是需求未得到满足时,QoS下降。例如,控制液晶显示器(LCD)设备的LCD控制器是具有实时限制的主块,并且在需求未得到满足时会在画面质量方面退化。
发明内容
根据本发明构思的示范性实施例,提供了操作包括主块、从块和总线的片上系统(SoC)的方法。该方法包括将实时信息设置在主块的实时信息寄存器中,该实时信息指示主块是否是实时块。权重被设置在主块的权重寄存器中。检查主块的缓冲区信息。使用缓冲区信息和权重信息生成服务质量(QoS)信号。基于QoS信号确定主块使用总线的优先级。
该方法还可以包括基于QoS信号确定主块访问从块的优先级。
确定主块使用总线的优先级可以包括,主块将包括QoS信号的总线使用请求信号发送到总线判优器,以及总线判优器基于分别包括在输入到总线判优器的至少两个总线使用请求信号中的QoS信号,允许具有较高优先级的主块使用总线。
根据本发明构思的示范性实施例,提供了操作包括主块、从块和总线的SoC的方法,主块和从块通过总线彼此通信。该方法包括:将包括多个服务质量(QoS)信号的查找表存储在主块中。检查主块的缓冲区信息。从查找表获取与缓冲区信息相对应的QoS信号。基于QoS信号确定主块使用总线的优先级。
查找表可以根据主块的操作模式改变。
该方法还可以包括,当提供多个查找表时,根据主块的操作模式,从多个查找表当中选择查找表。
根据本发明构思的示范性实施例,提供了包括多个主块、从块和总线的SoC,而且总线被配置为连接主块和从块。多个主块中的每一个都可以包括:实时信息寄存器,其被配置为存储指示每个主块是否是实时块的实时信息;权重寄存器,其被配置为存储主块的权重信息;缓冲区,其被配置为存储将被发送的或从总线接收到的数据;以及QoS发生器,其被配置为检查缓冲区的信息并且使用该缓冲区信息生成QoS信号。
总线可以包括总线判优器,其被配置为基于QoS信号来确定主块使用总线的优先级。
从块可以基于QoS信号确定主块访问从块的优先级。
从块可以包括存储器调度器,其被配置为调度对存储器的访问。
根据本发明构思的示范性实施例,提供了一种电子系统,其包括片上系统(SoC)以及非易失性存储器,该非易失性存储器被配置为存储由SoC使用的数据。
一种操作片上系统(SoC)的方法,包括:将指示第一主块是否是实时块的实时信息存储在第一主块的第一寄存器中。将指示第二主块是否是实时块的实时信息存储在第二主块的第一寄存器中。基于指示第一主块是否是实时块的实时信息,将第一主块的权重信息存储在第一主块的第二寄存器中。基于指示第二主块是否是实时块的实时信息,将第二主块的权重信息存储在第二主块的第二寄存器中。检查第一主块和第二主块的缓冲区信息。使用第一主块的缓冲区信息和权重信息,生成第一主块的服务质量(QoS)信号。使用第二主块的缓冲区信息和权重信息,生成第二主块的服务质量(QoS)信号。基于生成的第一主块的QoS信号和第二主块的QoS信号,确定第一主块和第二主块使用总线的相对优先级。
附图说明
通过参照附图对本发明构思的示范性实施例的详细描述,本发明构思的以上和其他特征和方面将变得更加显而易见,在附图中:
图1是示出根据本发明构思的示范性实施例的包括片上系统(SoC)的电子设备的框图;
图2A是示出根据本发明构思的示范性实施例的操作SoC的方法的概念图;
图2B是图2A中示出的服务质量(QoS)发生器的框图;
图3是示出根据本发明构思的示范性实施例的操作SoC的方法的概念图;
图4是示出根据本发明构思的示范性实施例的生成QoS信息的方法的表格;
图5是示出根据本发明构思的示范性实施例的缓冲区信息、权重和QoS信号之间的关系的图;
图6A至图6C是示出根据本发明构思的示范性实施例的先入先出(First In FirstOut,FIFO)级别与QoS信息之间的关系的图;
图7A至图7C是分别与图6A至图6C中示出的图相对应的查找表(look-up table,LUT);
图8是示出根据本发明构思的示范性实施例的操作SoC的方法的流程图;以及
图9是示出根据本发明构思的示范性实施例的操作SoC的方法的流程图。
具体实施方式
现在将参照附图更加充分地描述本发明构思,附图中示出了本发明的示范性实施例。然而,本发明可以以许多不同形式来具体实施并且不应当被释为对这里所阐述的实施例进行限制。而是,提供这些实施例以使得本公开更加全面和完整,并且向本领域的技术人员充分传达本发明的范围。在附图中,为了清楚起见,会夸大层和区的大小和相对大小。贯穿本公开,相同的参考标号可以表示相同的元素。
将理解的是,当一个元素被称为被“连接”或“耦接”到另一元素时,它可以直接连接或耦接到其他元素,或者可以存在中间元素。
图1是示出根据本发明构思的示范性实施例的包括片上系统(SoC)100的电子设备10的框图。电子系统10可以被实现为手持式设备,诸如移动电话、智能电话、平板计算机、个人数字助理(PDA)、企业数字助理(EDA)、数字静态照相机、数字视频摄像机、便携式多媒体播放器(PMP)、个人导航设备或便携式导航设备(PND)、手持式游戏机、电子书阅读器等。
电子系统10可以包括SoC 100、显示设备190和外部存储器195。SoC 100可以包括中央处理单元110、只读存储器(ROM)120、随机存取存储器(RAM)130、存储器调度器140、存储器控制器150、加速器160、显示设备控制器170、以及总线180。SoC 100还可以包括其它元件,例如,电源管理单元、电视(TV)处理器等。
CPU 110(其可以被称为处理器)可以处理或运行存储在存储器120、130或195中的程序和/或数据。例如,CPU 110可以响应于从时钟信号发生器(图中未示出)输出的时钟信号,处理或执行程序和/或数据。
CPU 110可以包括多核处理器。多核处理器是具有两个或更多个独立的实际处理器(以下称为核)的一个计算组件。每个处理器都可以读取和运行程序指令。多核处理器能够同时驱动多个加速器,因此,包括多核处理器的数据处理系统可以执行多重加速(multi-acceleration)。
必要时,存储在存储器120、130或195中的程序和/或数据可以被加载到CPU 110中的存储器。
ROM 120可以永久地存储程序和/或数据。ROM 120可以包括可擦除可编程ROM(EPROM)或电可擦除可编程ROM(EEPROM)。
RAM 130可以暂时存储程序、数据或指令。根据CPU 110的控制或存储在ROM 120中的引导代码,存储在存储器120或195中的程序和/或数据可以暂时存储在RAM 130中。RAM130可以包括,例如,动态RAM(DRAM)或静态RAM(SRAM)。
加速器160可以是指硬件设备或协处理器(co-operator),其用于提高处理多媒体或多媒体数据(诸如文本、音频、静态图像、动画、视频、二维数据或三维数据)的性能。
为了便于描述,图1中只示出了一个加速器160,但是SoC 100可以包括多个加速器。至少一个应用程序可以驱动单一加速器。
存储器控制器150被用于与外部存储器195相连。存储器控制器150控制外部存储器195的整体操作,并控制主机与外部存储器195之间的数据通信。存储器控制器150可以根据主机的请求来控制外部存储器195写或读数据。主机可以是诸如CPU 110、加速器160或显示设备控制器170之类的主设备。
外部存储器195是用于存储数据的存储空间,并且可以存储操作系统(OS)以及各种程序和数据。外部存储器195可以包括DRAM,但本发明构思并不限于该布置。外部存储器195可以包括非易失性存储器,诸如闪存、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(ReRAM)或铁电RAM(FeRAM)。根据示例性实施例,外部存储器195可以被嵌入SoC 100中。
存储器调度器140对访问外部存储器195的优先级顺序进行调度。例如,当同时从多个主块(例如,CPU 110、加速器160和显示设备控制器170)接收访问请求信号时,存储器调度器140可以确定哪个主块具有高于其他主块的访问优先级,并且可以对访问外部存储器195的优先级顺序进行调度。
元件110、120、130、140、160和170可以通过总线180彼此通信。
显示设备190可以显示由加速器160或加载到CPU 110的软件加速器加速的或处理的多媒体。显示设备190可以是液晶显示器(LCD)设备,但是本发明构思并不限于这种结构。在示范性实施例中,显示设备190可以是发光二极管(LED)显示设备、有机发光二极管(OLED)显示设备、或其他类型的显示设备之一。
显示设备控制器170控制显示设备190的操作。
图2A是示出根据本发明构思的示范性实施例的操作SoC 100的方法的概念图。图2B是图2A中示出的服务质量(QoS)发生器211的框图。参照图1、图2A和图2B,总线180可以包括总线判优器181和多路复用器182。多个块210、220和230被连接到总线180。块210、220和230被称为智能特性(intellectual property,IP),并被划分为从块和主块。从块只接收来自其它块的请求,而主块能够请求从块进行数据通信。必要时,单一块可以具有主块和从块二者的功能。
虽然在图2A中示出了三个主块210、220和230以及一个从块140,但是本发明构思并不限于此特定配置。主块可以是图1中所示的CPU 110、加速器160和显示设备控制器170中的任意一个。尽管未示出,但是TV处理器或照相机接口可以是主块。
图1中所示的存储器调度器140可以是从块。存储器调度器可以确定存储器访问优先级并且可以在其中保持存储器访问请求队列141。
根据示范性实施例,主模块210、220和230可以分别包括QoS发生器211、221和231,并且分别包括缓冲区215、225和235。
缓冲区215、225和235中的每一个都可以使用先入先出(FIFO)方法来处理数据。缓冲区215、225和235中的每一个都可以从主块210、220或230的输入端口接收传输数据,根据数据的输入顺序来排列并管理数据,从最先到来的数据开始顺序地读数据,并将数据顺序地发送到主块210、220或230的输出端口。可替换地,缓冲区215、225和235可以包括队列、存储器、寄存器或触发器。
缓冲区215、225和235中的每一个都可以包括用于存储将被发送到从块的数据的写缓冲区,以及用于存储接收自从块的数据的读缓冲区。
QoS发生器211、221和231可以使用缓冲区信息来生成QoS信息。缓冲区信息指示缓冲区占用的程度。例如,缓冲区信息可以指示每个主块中多少缓冲区被数据填充或者没有数据。例如,写缓冲区的缓冲区信息可以指示缓冲区被数据填充的程度,而读出缓冲区的缓冲区信息可以指示多少缓冲区没有数据。
参照图2B,QoS发生器211可以包括查找表(LUT)251和选择器252,LUT 251包括多个QoS信息条目LUT_0[3:0]至LUT_15[3:0]。
QoS发生器211可以从存储在LUT 251中的QoS信息条目LUT_0[3:0]至LUT_15[3:0]选择与缓冲区信息FIFO级别(Fifo_level)相对应的条目,并且输出所选择的条目作为QoS信息QR1[3:0]。
虽然如图2B所示,LUT 251包括16个QoS信息条目LUT_0[3:0]至LUT_15[3:0],而且每个QoS信息条目是4比特数据,但是本发明构思并不限于该布置。例如,可以使用更多或更少的QoS信息条目,并且每个条目可以使用任意数目比特的数据。虽然图2B中只示出了一个QoS发生器211,但是其它QoS发生器221和231可以具有与QoS发生器211相同的结构。
这里,根据主块210制造时的特性,可以预先确定LUT 251。主块210的特性可以指示主块210是否是实时块。QoS发生器211、221和231中的每一个都可以被编程,以使得LUT251可以根据主块210、220或230的操作模式进行改变。例如,QoS发生器211、221和231中的每一个都可以包括多个预定的LUT,并且可以根据操作模式选择多个LUT中的一个。可替换地,QoS发生器211、221和231中的每一个都可以根据操作模式生成并存储LUT。
操作模式可以根据使用SoC 100的产品的各种功能进行定义。例如,当SoC 100用于视频摄像机中时,视频拍摄、视频显示、静态图像显示等可以被定义为操作模式。当SoC100用于便携式电话中时,通信模式、照相机模式、MP3模式等可以被定义为操作模式。操作模式可以使用使用SoC 100的产品的用户界面(未示出)来设置或改变。例如,当使用SoC100的产品是便携式电话时,用户可以在用户界面的菜单上选择照片拍摄模式或者视频拍摄模式,而且SoC 100的操作模式可以按照用户的选择进行改变。当操作模式通过用户界面被改变时,CPU 110可以向其他主块通知改变的操作模式。
第一主块210的QoS发生器211响应于第一主块210的缓冲区信息,基于LUT生成第一QoS信息QR1,该LUT是根据第一主块210的特性或操作模式设置的。以类似的方式,第二主块220的QoS发生器221和第三主块230的QoS发生器231分别生成第二QoS信息QR2和生成第三QoS信息QR3。
下面将参照图6A至图7C详细描述LUT。
第一至第三QoS信息QR1、QR2和QR3被提供给总线判优器181和存储器调度器140。总线判优器181基于第一至第三QoS信息QR1、QR2和QR3确定总线使用优先级。
主块210、220和230中的每一个都可以将用于请求使用总线180的请求信号输出到总线判优器181,以便通过总线180发送数据。第一至第三QoS信息QR1、QR2和QR3中的每一个都可以被包括在请求信号中,并且被发送到总线判优器181。
总线判优器181基于各个主块210、220和230的QoS信息QR1、QR2和QR3来确定总线使用优先级。总线判优器181可以确定总线使用优先级,从而具有更高值的QoS信息QR1、QR2和QR3具有更高的优先级。
当来自两个主块的总线使用请求信号是活跃的时,总线判优器181如上所述基于QoS信息来确定具有高于其他主块的更高优先级的主块,并且允许具有更高优先级的主块使用总线180。如果存在两个或更多个主块具有相同的优先级,则总线判优器181可以允许多个主块以轮转方式(round robin)使用总线180。
总线判优器181可以包括优先级寄存器,其存储主块210、220和230中的每一个的优先级信息。
多路复用器182响应于总线判优器181的输出信号来复用从主块210、220和230接收到的数据,而且主块210、220和230以它们优先级的降序次序使用总线180。
与总线判优器181一样,存储器调度器140也可以使用各个主块210、220和230的QoS信息QR1、QR2和QR3来确定存储器访问的优先级。
例如,主块210、220和230可以分别向存储器调度器140发送分别包括QoS信息QR1、QR2和QR3的存储器访问请求信号。当接收到两个或更多个存储器访问请求信号时,存储器调度器140可以基于QoS信息QR1、QR2和QR3来允许主块210、220或230具有最高优先级存储器访问。
图3是示出根据本发明构思的示范性实施例的操作SoC 100的方法的概念图。图3中所示的许多特征在结构和操作方面与图2中所示的特征相似,因此为了避免冗余将描述它们之间的差异。
参照图3,主块210可以包括QoS发生器211’、寄存器212和213以及缓冲区215。主块220可以包括QoS发生器221’、寄存器222和223以及缓冲区225。主块230可以包括QoS发生器231’、寄存器232和233以及缓冲区235。
寄存器212、213、222、223、232和233可以包括实时信息寄存器212、222和232以及权重寄存器213、223和233。
实时信息寄存器212、222和232中的每一个都存储实时信息,该实时信息指示主块210、220或230是实时主块还是非实时主块。
权重寄存器213、223和233中的每一个都存储主块210、220或230的权重。权重可以根据实时信息来确定,但是本发明构思并不限于该配置。例如,权重可以根据系统的带宽或延迟来确定。主块210、220和230中的每一个的实时信息和权重可以根据每个主块210、220或230的特性或操作模式来预先确定。实时信息和权重也可以由制造商或用户设置。制造商可以是SoC100的制造商,并且用户可以是将SoC 100应用于产品的产品提供者。
QoS发生器211’、221’和231’中的每一个都可以使用权重和缓冲区信息来生成QoS信息。缓冲区信息指示缓冲区占用的程度,例如,每个主块中多少缓冲区被数据填充或者没有数据。
例如,第一主块210的QoS发生器211’可以使用公式生成第一QoS信息QR1,该公式基于第一主块210的权重、缓冲区信息和操作特性被预先编程。以类似的方式,第二主块220的QoS发生器221’和第三主块230的和QoS发生器231’分别生成第二QoS信息QR2和第三QoS信息QR3。
第一至第三QoS信息QR1、QR2和QR3被提供给总线判优器181和存储器调度器140。如上所述,总线判优器181可以基于第一至第三QoS信息QR1、QR2和QR3确定总线使用优先级。存储器调度器140也可以基于第一至第三主块210、220和230的第一至第三QoS信息QR1、QR2和QR3确定存储器访问优先级。已确定的存储器访问优先级可以被存储在存储器调度器140的队列141中。
图4是示出根据本发明构思的示范性实施例的生成QoS信息的方法的表格。参照图4,权重是针对第一至第三主块(master)M1、M2和M3中的每一个预先确定的。例如,各个主块M1、M2和M3的权重可以分别是60%、10%和30%。60%、10%和30%可以被分别表示为值0.6、0.1和0.3。当权重较高时,紧急性(urgency)也会较高。缓冲区的缓冲区信息可以被定期检查,或者根据其变化进行检查。各个主块M1、M2和M3的缓冲区信息分别由M1_FL、M2_FL和M3_FL指示。
主块M1、M2和M3可以通过将权重60%、10%和30%分别与缓冲区信息M1_FL、M2_FL和M3_FL相乘来生成QoS信号QRx(其中x=1、2、3)。QoS信号QRx可以是0.6×M1_FL、0.1×M2_FL和0.3×M3_FL。
图5是示出根据本发明构思的示范性实施例的缓冲区信息、权重和QoS信号QRx之间的关系的图。参照图5,QoS信号QRx可以是与缓冲区信息(例如,FIFO级别)成比例的值。比例度可以由权重来定义。权重可以具有如图5中的曲线W1和W2所示的线性曲线(linearcurve),或者如曲线W3所示的分段线性曲线(piece-linear curve)。然而,本发明构思不限于该特定布置。例如,权重可以具有非线性曲线。
缓冲区信息、权重和QoS信号之间的关系可以被预先确定为公式或者以表格的形式存储。
图6A至图6C是示出根据本发明构思的示范性实施例的FIFO级别与QoS信息之间的关系的图。图7A至图7C是分别与图6A至图6C中示出的图相对应的LUT。
图6A示出了FIFO级别与QoS信息之间的线性映射关系。参照图6B,QoS信息的值相对于对FIFO级别的中值(例如,大约12)的级(binning)快速增长然后稳定,这是灵敏度高的情况。参照图6C,QoS信息的值相对于对FIFO级别的中值(例如,大约12)的分级缓慢增长然后急剧增长,这是灵敏度低的情况。
参照图7A至图7C,可以预先提供与图6A至图6C中所示的图相对应的LUT。在图7A至图7C中,LUT索引对应于FIFO级别,而且LUT值对应于QoS信息。
图8是示出根据本发明构思的示范性实施例的操作SoC的方法的流程图。参照图8,在操作S110中,指示主块是实时主块还是非实时主块的实时信息被设置在主块的实时信息寄存器中。
主块的实时或非实时可以由用户根据主块的特性或操作模式来设置。实时信息寄存器可以在制造时被设置为一定的值(例如,默认值),并且随后可以被用户改变。
此后,在操作S120中,权重寄存器被设置。与实时信息一样,权重可以由用户根据主块的特性或操作模式来设置。此外,权重可以在制造时被设置为一定的值(例如,默认值),并且随后可以被用户改变。权重也可以依赖于实时信息来确定。
在操作S130中,主块检查缓冲区信息。
主块的QoS发生器在操作S140中使用缓冲区信息和权重来生成QoS信号,并且将该QoS信号发送到总线判优器181和存储器调度器140。
在操作S150中,总线判优器181可以使用QoS信号来判优总线使用,而且存储器调度器140可以使用QoS信号来调度存储器访问。
图9是示出根据本发明构思的示范性实施例的操作SoC的方法的流程图。参见图9,主块在操作S210中检查操作模式,并且在操作S220中确定操作模式是否已经改变。
当确定操作模式已经改变时(是,S220),在操作S230中主块的QoS发生器改变LUT。改变LUT可以通过基于已改变的操作模式从多个预先确定的LUT当中选择另一个LUT来执行,或者基于操作模式来生成并存储新的LUT来执行。
在操作S240中,主块检查缓冲区信息。当确定操作模式没有改变时(否,S220),可以跳过改变LUT的步骤(步骤S230)。
主块的QoS发生器在操作S250中从LUT获取与缓冲区信息相对应的QoS信号,并且将该QoS信号发送到总线判优器181和存储器调度器140。
在操作S260中,总线判优器181可以使用QoS信号来判优总线使用,而且存储器调度器140可以使用QoS信号来调度存储器访问。
已经描述了针对实时请求提高QoS的实施例,但是本发明构思不限于这些实施例。例如,可以基于系统的带宽或延迟来生成QoS信号,而且可以基于QoS信号来确定总线使用优先级或访问从块的优先级,从而针对系统的带宽或延迟提高QoS。
如上所述,根据本发明构思的示范性实施例,主块将QoS信息当中的操作紧急信息以实时请求的方式发送给存储器调度器或总线判优器。因此,在调度过程中实时使用主块的紧急性,并因此提高了QoS。
此外,根据使用主块的产品或主块的操作模式生成不同的QoS信息,从而QoS被管理为高于预先确定的级别,或者QoS被提高。
虽然已经参照本发明构思的示范性实施例具体示出并描述了本发明构思,但是本领域技术人员将理解的是,可以在形式和细节上对其进行各种改变而不偏离本发明构思的精神和范围。
Claims (21)
1.一种操作包括主块和从块的片上系统SoC的方法,所述主块和所述从块通过总线彼此通信,该方法包括:
将指示所述主块是否是实时块的实时信息存储在所述主块的实时信息寄存器中;
基于所述实时信息,将权重信息存储在所述主块的权重寄存器中;
检查所述主块的缓冲区信息;
使用所述缓冲区信息和所述权重信息,生成服务质量QoS信号;以及
基于所述QoS信号确定所述主块使用所述总线的优先级。
2.如权利要求1所述的方法,还包括基于所述QoS信号确定所述主块访问所述从块的优先级。
3.如权利要求2所述的方法,其中,确定所述主块使用所述总线的优先级包括:
将包括所述QoS信号的总线使用请求信号从所述主块发送到总线判优器;以及
由所述总线判优器基于作为请求信号的一部分提供给所述总线判优器的QoS信号,允许所述主块先于具有较低优先级的另一个主块使用所述总线。
4.如权利要求2所述的方法,其中,确定所述主块访问所述从块的优先级包括:
将包括所述QoS信号的访问请求信号从所述主块发送到所述从块;以及
由所述从块基于作为访问请求信号的一部分提供给所述从块的QoS信号,允许具有比其他主块更高优先级的主块访问所述从块。
5.如权利要求4所述的方法,其中,所述从块包括存储器调度器,其被配置为调度对存储器的访问。
6.如权利要求1所述的方法,其中,所述QoS信号与所述缓冲区信息具有线性、非线性或分段线性关系。
7.一种操作包括主块和从块的片上系统SoC的方法,所述主块和所述从块通过总线彼此通信,该方法包括:
将包括多个服务质量QoS信号的查找表存储在所述主块中;
检查所述主块的缓冲区信息;
从所述查找表获取与所述缓冲区信息相对应的QoS信号;以及
基于所述QoS信号确定所述主块使用所述总线的优先级,
其中,所述查找表根据所述主块的操作模式改变。
8.如权利要求7所述的方法,还包括,当提供多个查找表时,根据所述主块的操作模式,从多个查找表当中选择查找表。
9.如权利要求7所述的方法,还包括,根据所述主块的操作模式,生成并存储查找表。
10.如权利要求7所述的方法,还包括基于所述QoS信号确定所述主块访问所述从块的优先级。
11.如权利要求10所述的方法,其中,确定所述主块使用所述总线的优先级包括:
将包括所述QoS信号的总线使用请求信号从所述主块发送到总线判优器;以及
由所述总线判优器基于作为总线使用请求信号的一部分提供给所述总线判优器的QoS信号,允许所述主块先于具有较低优先级的另一个主块使用所述总线。
12.如权利要求10所述的方法,其中,确定所述主块访问所述从块的优先级包括:
将包括所述QoS信号的访问请求信号从所述主块发送到所述从块;以及
由所述从块基于作为访问请求信号的一部分提供给所述从块的QoS信号,允许具有比其他主块更高优先级的主块访问所述从块。
13.如权利要求12所述的方法,其中,所述从块包括存储器调度器,其被配置为调度对存储器的访问。
14.一种片上系统,包括:
多个主块;
从块;以及
总线,其被配置为在多个主块和从块之间运送通信信号,
其中,多个主块中的每一个都包括:
缓冲区,其被配置为存储将被发送到总线的数据或从所述总线接收到的数据;以及
服务质量QoS发生器,其被配置为检索所述缓冲区的信息并且使用检索到的缓冲区信息生成QoS信号,
其中,所述总线包括总线判优器,其被配置为基于多个主块中的每一个的QoS信号来确定多个主块中的每一个使用所述总线的优先级,以及
其中,多个主块中的每一个的QoS信号具有根据多个主块中的每一个的操作模式设置的值。
15.如权利要求14所述的片上系统,其中,多个主块中的每一个还包括:
实时信息寄存器,其被配置为存储指示多个主块中的每一个是否是实时块的实时信息;以及
权重寄存器,其被配置为基于所述实时信息存储多个主块中的每一个的权重信息,
其中,所述QoS发生器使用所述缓冲区信息和所述权重信息生成QoS信号。
16.如权利要求14所述的片上系统,其中,所述QoS发生器包括多个查找表,多个查找表中的每一个都包括多个QoS条目,所述QoS发生器基于所述主块的操作模式来选择所述查找表其中之一,而且所述QoS发生器从所选择的查找表获取与所述缓冲区信息相对应的QoS条目。
17.如权利要求14所述的片上系统,其中,所述QoS发生器根据主块的操作模式来生成并存储查找表,并且从该查找表中获取与所述缓冲区信息相对应的QoS信息。
18.如权利要求14所述的片上系统,其中,所述从块基于所述QoS信号确定多个主块中的每一个访问从块的优先级。
19.如权利要求14所述的片上系统,其中,所述从块包括存储器调度器,其被配置为调度对存储器的访问。
20.一种操作片上系统SoC的方法,包括:
将指示第一主块是否是实时块的实时信息存储在第一主块的第一寄存器中;
将指示第二主块是否是实时块的实时信息存储在第二主块的第一寄存器中;
基于指示第一主块是否是实时块的实时信息,将第一主块的权重信息存储在第一主块的第二寄存器中;
基于指示第二主块是否是实时块的实时信息,将第二主块的权重信息存储在第二主块的第二寄存器中;
检查第一主块的缓冲区信息和第二主块的缓冲区信息;
使用第一主块的缓冲区信息和权重信息,生成第一主块的服务质量QoS信号;
使用第二主块的缓冲区信息和权重信息,生成第二主块的服务质量QoS信号;以及
基于生成的第一主块的QoS信号和第二主块的QoS信号,确定第一主块和第二主块使用总线的相对优先级。
21.一种电子系统,包括:
片上系统SoC;以及
非易失性存储器,其被配置为存储由所述SoC使用的数据,
其中,所述SoC包括:
多个主块;
从块;以及
总线,其被配置为在多个主块和从块之间运送通信信号,
其中,多个主块中的每一个都包括:
缓冲区,其被配置为存储将被发送到总线的数据或从所述总线接收到的数据;以及
服务质量QoS发生器,其被配置为检索所述缓冲区的信息并且使用检索到的缓冲区信息生成QoS信号,
其中,所述总线包括总线判优器,其被配置为基于多个主块中的每一个的QoS信号来确定多个主块中的每一个使用所述总线的优先级,以及
其中,多个主块中的每一个的QoS信号具有根据多个主块中的每一个的操作模式设置的值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110093653A KR101861768B1 (ko) | 2011-09-16 | 2011-09-16 | 시스템 온칩, 이를 포함하는 전자 시스템, 및 그 동작 방법 |
KR10-2011-0093653 | 2011-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103218322A CN103218322A (zh) | 2013-07-24 |
CN103218322B true CN103218322B (zh) | 2017-10-24 |
Family
ID=47881733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210345514.1A Active CN103218322B (zh) | 2011-09-16 | 2012-09-17 | 片上系统、电子系统以及操作其的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8793420B2 (zh) |
KR (1) | KR101861768B1 (zh) |
CN (1) | CN103218322B (zh) |
TW (1) | TWI563392B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353747B2 (en) | 2015-07-13 | 2019-07-16 | Futurewei Technologies, Inc. | Shared memory controller and method of using same |
KR102360214B1 (ko) * | 2015-08-26 | 2022-02-08 | 삼성전자주식회사 | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 |
CN114490457B (zh) * | 2015-10-01 | 2024-06-21 | 瑞萨电子株式会社 | 半导体装置 |
CN105630716B (zh) * | 2015-12-21 | 2018-06-12 | 北京航天测控技术有限公司 | 一种多卡校准方法 |
KR20180074197A (ko) | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 버스 트래픽 컨트롤 장치 및 이를 갖는 버스 시스템 |
CN110391960B (zh) * | 2018-04-18 | 2021-10-15 | 珠海全志科技股份有限公司 | 总线传输控制装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1052563A (zh) * | 1989-12-15 | 1991-06-26 | 国际商业机器公司 | 调节优先级仲裁的装置 |
US5761452A (en) * | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
CN1913477A (zh) * | 2005-08-10 | 2007-02-14 | 三星电子株式会社 | 仲裁对共享资源的访问的系统、方法和计算机程序产品 |
CN101873272A (zh) * | 2010-06-30 | 2010-10-27 | 天津市视讯软件开发有限公司 | 满足互通性和公平性的以太无源光网络动态带宽分配方法 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5805840A (en) | 1996-03-26 | 1998-09-08 | Advanced Micro Devices, Inc. | Bus arbiter employing a transaction grading mechanism to dynamically vary arbitration priority |
US5802330A (en) | 1996-05-01 | 1998-09-01 | Advanced Micro Devices, Inc. | Computer system including a plurality of real time peripheral devices having arbitration control feedback mechanisms |
GB0031763D0 (en) | 2000-12-29 | 2001-02-07 | Mitel Semiconductor Ltd | Arbiter for a queue management system |
KR100455396B1 (ko) * | 2002-10-14 | 2004-11-06 | 삼성전자주식회사 | 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법. |
KR100839494B1 (ko) | 2006-02-28 | 2008-06-19 | 삼성전자주식회사 | 버스 중재 시스템 및 버스 중재 방법 |
-
2011
- 2011-09-16 KR KR1020110093653A patent/KR101861768B1/ko active IP Right Grant
-
2012
- 2012-09-05 US US13/604,516 patent/US8793420B2/en active Active
- 2012-09-06 TW TW101132528A patent/TWI563392B/zh active
- 2012-09-17 CN CN201210345514.1A patent/CN103218322B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1052563A (zh) * | 1989-12-15 | 1991-06-26 | 国际商业机器公司 | 调节优先级仲裁的装置 |
US5761452A (en) * | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
CN1913477A (zh) * | 2005-08-10 | 2007-02-14 | 三星电子株式会社 | 仲裁对共享资源的访问的系统、方法和计算机程序产品 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN101873272A (zh) * | 2010-06-30 | 2010-10-27 | 天津市视讯软件开发有限公司 | 满足互通性和公平性的以太无源光网络动态带宽分配方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI563392B (en) | 2016-12-21 |
KR101861768B1 (ko) | 2018-05-28 |
TW201329728A (zh) | 2013-07-16 |
US8793420B2 (en) | 2014-07-29 |
US20130073762A1 (en) | 2013-03-21 |
CN103218322A (zh) | 2013-07-24 |
KR20130030108A (ko) | 2013-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103218322B (zh) | 片上系统、电子系统以及操作其的方法 | |
CN102939596B (zh) | 用于多核处理器的多线程应用识别存储器调度方案 | |
CN107332902B (zh) | 在线客服系统的用户请求分配方法、装置和计算设备 | |
CN107092573B (zh) | 用于异构计算系统中的工作窃取的方法和设备 | |
CN107679620A (zh) | 人工神经网络处理装置 | |
CN107704922A (zh) | 人工神经网络处理装置 | |
US10255105B2 (en) | Parallel computing architecture for use with a non-greedy scheduling algorithm | |
CN107003905A (zh) | 针对可配置计算资源的本地服务链而动态分配资源的技术 | |
CN102541661B (zh) | 实现等待地址同步接口的方法和设备 | |
US10037225B2 (en) | Method and system for scheduling computing | |
CN105320608A (zh) | 用于控制存储器设备处理访问请求的存储器控制器和方法 | |
CN103778085A (zh) | 存储器体系结构 | |
CN106502782A (zh) | 异构计算系统及其方法 | |
CN105210038B (zh) | 核亲和性位掩码变换 | |
CN107315717A (zh) | 一种用于执行向量四则运算的装置和方法 | |
CN109308191A (zh) | 分支预测方法及装置 | |
TW202207031A (zh) | 用於記憶體通道控制器之負載平衡 | |
CN111860806A (zh) | 分形计算装置、方法、集成电路及板卡 | |
WO2023113969A1 (en) | Methods and apparatus for performing a machine learning operation using storage element pointers | |
CN116685943A (zh) | 可编程原子单元中的自调度线程 | |
CN102484130A (zh) | 存储器请求调度的应用程序选择 | |
US20110191258A1 (en) | Method and apparatus for processing logistic information | |
CN109981732A (zh) | 海量文件传输控制方法及装置 | |
KR20200066774A (ko) | 반도체 장치 | |
US10990444B2 (en) | Device and method for controlling data request |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |