CN110059035A - 半导体装置和总线发生器 - Google Patents
半导体装置和总线发生器 Download PDFInfo
- Publication number
- CN110059035A CN110059035A CN201811590815.4A CN201811590815A CN110059035A CN 110059035 A CN110059035 A CN 110059035A CN 201811590815 A CN201811590815 A CN 201811590815A CN 110059035 A CN110059035 A CN 110059035A
- Authority
- CN
- China
- Prior art keywords
- control unit
- request
- access
- bus
- main equipment
- 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
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
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- 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
- 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
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
本申请的各实施例涉及半导体装置和总线发生器。每个主设备向存储器发出包括读请求和写请求的访问请求。高速缓存高速缓存由主设备发出的写请求。中央总线控制系统执行针对由每个主设备发出的读请求和由高速缓存输出的写请求的访问控制。中央总线控制系统执行针对由每个主设备发出的写请求的访问控制。中央总线控制系统根据存储器控制器的缓冲器的空闲情况来执行访问控制。中央总线控制系统根据高速缓存的空闲情况来执行访问控制。
Description
相关申请的交叉引用
包括说明书、附图和摘要的、于2017年12月22日提交的日本专利申请号2017-246433的公开以整体通过引用并入本文。
技术领域
本发明涉及半导体装置,并且涉及访问例如存储器的半导体装置。
本发明涉及在上述半导体装置中生成总线的总线发生器。
背景技术
国际公布第2017/056132号公开了总线系统中的访问控制,用于将多个总线主设备耦合到公共总线。在国际公布第2017/056132号中公开的半导体装置具有多个主设备、存储器控制器、用于耦合主设备和存储器控制器的总线和中央总线控制系统。国际公布第2017/056132号公开了中央总线控制系统,其监控每个主设备的传输量,并且基于每个主设备的保留的带宽、所监控的传输量和待授予的权限的可能数目来选择访问权限被授予的目标主设备。在国际公布第2017/056132号中,未被授予访问权限的主设备的请求由存储器控制器和主设备之间的总线来屏蔽。
在国际公布第2017/056132号中,中央总线控制系统监控存储器控制器内的缓冲器,并且根据缓冲器的空闲情况来控制针对每个主设备的访问请求所授予的访问权限。中央总线控制系统在每次授予访问权限时减少待授予的权限的可能数目,并且在每次释放缓冲器时增加待授予的权限的可能数目。访问权限根据缓冲器的空闲情况而被授权,从而实现防止缓冲器充满未处理的访问请求,并且也防止存储器控制器不接受低延迟的访问请求的情况。
发明内容
然而,在国际公布第2017/056132号中,如果高速缓冲存储器被布置在每个主设备和存储器控制器之间,则存储器控制器的缓冲器可以通过写回高速缓冲存储器而被占用。在这种情况下,由存储器控制器接受的访问请求不能从中央总线控制系统来控制。因此,难以保证延迟。
从本说明书的描述和附图,任何其他的目的和新特征将是清楚的。
根据实施例,提供了一种半导体装置,其包括主设备、存储器控制器、高速缓存、第一访问控制单元和第二访问控制单元,该第一访问控制单元控制由主设备向存储器控制器发出的读请求的输出以及控制向存储器控制器的高速缓存的写请求的输出,该第二访问控制单元控制由主设备向存储器控制器发出的写请求的输出。第一访问控制单元根据存储器控制器的高速缓存的空闲情况来执行访问控制,而第二访问控制单元根据高速缓存的空闲情况来执行访问控制。
根据一个实施例,即使高速缓存被布置在主设备和存储器控制器之间,也可以控制由存储器控制器接受的访问请求。
附图说明
图1是图示包括根据第一实施例的半导体装置的电子设备的框图。
图2是图示中央总线控制系统1的配置示例的框图。
图3是图示中央总线控制系统2的配置示例的框图。
图4是图示用于在中央总线控制系统1中授予访问权限的操作过程的框图。
图5是图示用于在中央总线控制系统2中授予访问权限的操作过程的框图。
图6是图示应用在第二实施例中的中央总线控制系统1的配置示例的框图。
图7是图示设置读时间段子时隙和写时间段子时隙的示例的图。
图8A和图8B是各自图示设置读时间段子时隙和写时间段子时隙的另一示例的图。
图9是图示应用在第三实施例中的中央总线控制系统2的配置示例的框图。
图10是图示高速缓存中的空闲条目的数目的等级的图。
图11是图示空闲条目的数目的等级和访问权限被授予的目标主设备之间的关系的图。
图12是图示总线发生器的硬件的配置示例的框图。
图13是图示设置总线的示意流程的流程图。
图14是图示输入设置信息的屏幕示例的图。
图15是图示总线发生器的功能性示例的框图。
图16是图示包括根据第五实施例的半导体装置的电子设备的框图。
图17是图示应用在第五实施例中的中央总线控制系统1的配置示例的框图。
图18A和图18B是各自图示访问存储器的操作示例的定时花费(charges)。
具体实施方式
在下文中将参考附图描述应用用于解决上述问题的装置的优选实施例。为了描述清楚,适当地或部分地省略和简化以下的描述和附图。在附图中被图示为功能块的、用于执行各种进程的那些元件可以使用CPU(中央处理单元)、存储器或任何其他电路以硬件方式而被配置,并且可以使用存储器中加载的程序以软件方式而被实现。本领域的技术人员可以理解的是:那些功能块可以以许多形式而被实现,例如仅通过硬件、软件、或其组合,并且不限于那些形式中的任何一个。在图示中,相同的构成元件由相同的附图标记来标识并且将不反复描述。
上述程序使用各种类型的非暂时性计算机可读介质而被存储,并且可以被供应给计算机。非暂时性计算机可读介质包括各种类型的实质记录介质。非暂时性计算机可读介质的示例包括磁记录介质(例如,软盘、磁带、硬盘)、磁光记录介质(例如,磁光盘)、CD-ROM(只读存储器)CD-R、CD-R/W和半导体存储器(例如,掩模ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪存ROM,RAM(随机存取存储器))。可以使用各种类型的非暂时性计算机可读介质将程序供应给计算机。非暂时性计算机可读介质的示例包括电信号、光信号和电磁波。非暂时性计算机可读介质可以通过诸如有线和光纤或无线通信路径的优先通信路径将程序供应给计算机。
在以下的优选实施例中,如果为了方便而有必要的话,则将对分开的多个部分或优选实施例进行描述,然而,除非另有规定,否则它们不是互不相干的,而是彼此的部分或整体的修改、应用示例、细节、补充解释。此外,在以下的优选实施例中,在提及元件数(包括其数目、数量、量、范围)的情况下,除非另有规定和除非在原理中明确限制,否则本发明不限于指定的数,并且可以使用高于或低于指定的数。
在以下的优选实施例中,构成元件(包括操作步骤)不一定是不可缺少的,除非另有规定和除非认为在原理中明显需要它们。相似地,在以下的优选实施例中,在提及构成元件的形式或位置关系时,除非另有规定和除非认为在原理中明显不需要它们,否则它们旨在包括与形式等基本相似或近似的那些形式等。这对于前述数值(包括其数目、数值、数量、范围)也是成立的。
第一实施例
图1图示了包括根据第一实施例的半导体装置的电子设备。电子设备10具有主设备A 20、主设备B 30、主设备C 40、子总线控制器22R、32R、42R、22W、32W、42W和77、中央总线控制系统50和60、互连70、高速缓存75、存储器控制器80和存储器90。从电子设备10的构成元件中,例如提供主设备A 20、主设备B 30、主设备C 40、子总线控制器22R、32R、42R、22W、32W、42W、77、中央总线控制系统50和60、互连70、高速缓存75和存储器控制器80以形成半导体装置。从半导体装置的构成元件中,例如可以将子总线控制器22R、32R、42R、22W、32W、42W和77、互连70、高速缓存75和存储器控制器80配置为硬件电路。中央总线控制系统50和60可以被配置为包括例如硬件电路的电路。
主设备A 20、主设备B 30和主设备C 40发出针对存储器90的访问请求。针对存储器90的访问请求包括读请求和写请求。存储器90是诸如DDR-SDRAM(双倍数据速率同步动态随机存取存储器)的存储器。主设备A 20、主设备B 30和主设备C 40被配置为例如CPU或GPU(图形处理单元)的处理器。主设备A 20、主设备B 30和主设备C 40通过总线(读请求总线)21R、31R和41R输出读请求并且通过总线(写请求总线)21W、31W、41W输出写请求。
主设备A 20被耦合到与总线21R和21W相对应的子总线控制器22R和22W。子总线控制器(读子总线控制器)22R通过总线24R被耦合到互连70。子总线控制器(写子总线控制器2)22W通过总线24W被耦合到互连70。子总线控制器22R包括请求发出控制单元(读请求发出控制单元)23R。子总线控制器22W包括请求发出控制单元(写请求发出控制单元2)23W。请求发出控制单元23R和23W分别通过总线21R和21W来接收读请求和写请求,并且控制所接收的读请求和写请求到总线24R和24W的输出。
主设备B 30被耦合到与总线31R和31W相对应的子总线控制器32R和32W。子总线控制器32R和32W分别通过总线34R和34W被耦合到互连70。子总线控制器32R和32W分别包括请求发出控制单元33R和33W。相似地,主设备C 40被耦合到与总线41R和41W相对应的子总线控制器42R和42W。子总线控制器42R和42W分别通过总线44R和44W被耦合到互连70。子总线控制器42R和42W分别包括请求发出控制单元43R和43W。
请求发出控制单元23R和23W从主设备A 20分别接收读请求和写请求。当从中央总线控制系统50授予访问权限时,请求发出控制单元23R通过总线24R将由主设备A 20发出的读请求输出到互连。当从中央总线控制系统60授予访问权限时,请求发出控制单元23W通过总线24W将由主设备A 20发出的写请求输出到互连70。当访问权限不被授予时,请求发出控制单元23R和23W抑制到互连70的由主设备A 20发出的读请求和写请求的输出。
请求发出控制单元33R和43R的功能与请求发出控制单元23R的那些功能相同,而请求发出控制单元33W和43W的功能与请求发出控制单元23W的那些功能相同。当访问权限被授予时,并且当没有从对应的主设备接收读请求时,请求发出控制单元23R、33R和43R可以将访问权限返回信号输出到中央总线控制系统50以返回访问权限。当访问权限被授予时,并且当没有从对应的主设备接收写请求时,请求发出控制单元23W、33W和43W可以将访问权限返回信号输出到中央总线控制系统60以返回访问权限。中央总线控制系统50和60可以使用所返回的访问权限以用于将访问权限授予任何其他的请求发出控制单元。
互连70通过总线71R和71W被耦合到高速缓存75。互连70通过总线24R、34R、44R、24W、34W、44W来接收由主设备A 20、主设备B 30和主设备C 40中的每一个发出的读请求和写请求。例如,互连70是是总线仲裁器,并且仲裁从多个主设备输入的读请求和写请求。当从主设备A 20、主设备B 30和主设备C 40接收读请求和写请求时,根据针对每个主设备所设置的优先级,互连70将由具有高优先级的主设备发出的读请求和写请求输出到高速缓存75。当获得对被输出到高速缓存75的读请求或写请求的响应时,互连70选择具有第二高优先级的主设备的读请求或写请求,并且将其输出到高速缓存75。
高速缓存75被布置在存储器控制器80和互连70之间。输入到高速缓存75的是通过总线71R和71W从互连70输出的读请求和写请求。高速缓存75执行响应于写请求的写回并且缓存输入写请求和写数据。高速缓存75缓存根据读请求读取的读数据。高速缓存75具有用于临时存储写数据和读数据的多个条目。
在高速缓存75缓存例如写请求之后,将所缓存的写请求通过总线79和子总线控制器(写子总线控制器1)77输出到存储器控制器80。当例如在缓冲器81中存在空闲空间时,存储器控制器80从高速缓存75接收写请求。子总线控制器77包括请求发出控制单元(写请求发出控制单元1)78。请求发出控制单元78通过总线76W从高速缓存75接收写请求。请求发出控制单元78控制所接收的写请求到总线79W的输出。当从中央总线控制系统50授予访问权限时,请求发出控制单元78将写请求输出到总线79W。当没有授予访问权限时,请求发出控制单元78抑制到写请求总线79W的输出。当访问权限被授予时,并且当没有接收写请求时,请求发出控制单元78可以将访问权限返回信号输出到中央总线控制系统50以返回访问权限。中央总线控制系统50可以使用所返回的访问权限以用于将访问权限授予任何其他的请求发出控制单元。
当读请求被输入时,高速缓存75判断由读请求所请求的数据(读数据)是否被缓存。换言之,高速缓存75判断是否已进行高速缓存命中。当读数据未被缓存时,高速缓存75通过总线76R将读请求输出到存储器控制器80。当读数据被缓存时,高速缓存75将读数据输出到作为读请求的发出源的主设备,作为对读请求的响应。如果读数据被输出到主设备,则高速缓存75可以将表示已经进行高速缓存命中的信息输出到中央总线控制系统50,以将被授予请求发出控制单元23R、33R或43R的访问权限返回到中央总线控制系统50。
存储器控制器80通过总线、高速缓存75和互连70而被耦合到主设备A 20、主设备B30和主设备C 40。然后,存储器控制器80响应于通过高速缓存75所接收的访问请求而访问存储器90。图1图示了电子设备10具有三个主设备的示例。然而,主设备的数目不是被特别限制的。电子设备10可以具有将用于访问存储器90的访问请求发出到存储器控制器80的至少一个主设备。当主设备数是一时,不需要提供用于仲裁的互连70。
存储器控制器80具有缓冲器(请求缓冲器)81。缓冲器81存储由存储器控制器80通过互连70和高速缓存75接收的访问请求。缓冲器81具有多个条目,并且被配置为存储多个访问请求。除了缓冲器81之外,存储器控制器80还具有例如调度器和存储器命令生成单元。调度器选择存储于缓冲器81中的访问请求中的一个访问请求。存储器命令生成单元响应于所选择的访问请求而生成用于访问存储器90的存储器命令(命令信号)。当访问请求从缓冲器81被选择并且被处理时,存储器控制器80将表示释放缓冲器81的条目的缓冲器释放通知输出到中央总线控制系统50。
中央总线控制系统(中央总线控制系统1)50使用子总线控制器22R、32R、42R和子总线控制器77来执行针对读请求和写请求的访问控制。中央总线控制系统50被提供为:除了子总线控制器77之外,还与子总线控制器22R、32R、42R形成访问控制单元(访问控制单元1)。中央总线控制系统50根据缓冲器81的空闲情况来执行针对读请求和写请求的访问控制。
中央总线控制系统50控制例如对请求发出控制单元22R、32R、42R的访问权限的授予,从而执行针对从每个主设备输出到存储器控制器80的读请求的访问控制。中央总线控制系统50控制对于请求发出控制单元78的访问权限的授予,从而执行针对从高速缓存75输出到存储器控制器80的写请求的访问控制。
中央总线控制系统(中央总线控制系统2)60使用子总线控制器22W、32W、42W来执行针对写请求的访问控制。中央总线控制系统60被提供为与子总线控制器22W、32W、42W形成另一访问控制单元(访问控制单元2)。中央总线控制系统60由此获得高速缓存75的空闲条目的数目。中央总线控制系统60基于所获得的空闲条目的数目来监控高速缓存75的空闲情况,并且根据高速缓存75的空闲情况来执行访问控制。中央总线控制系统60控制例如对于请求发出控制单元23W、33W和43W的访问权限的授予,从而执行针对从每个主设备输出到高速缓存75的写请求的访问控制。
用户预先在例如中央总线控制系统50和60中设置每个主设备的频带,并且在恒定的时间段(时隙)中保证QoS(服务质量)。在本实施例中,假设主设备与每种类型的访问请求相关联地存在,并且每个主设备的频带与读请求和写请求相关联地设置。在由中央总线控制系统50执行的访问控制中,输出写请求的高速缓存75被假设为一个主设备。中央总线控制系统50根据例如预定的访问控制的内容,将访问权限授予请求发出控制单元23R、33R、43R和78中的每个请求发出控制单元。中央总线控制系统60根据例如预定的访问控制的内容,将访问权限授予请求发出控制单元23W、33W、43W中的每个请求发出控制单元。访问控制的内容可以与国际公布第2017/056132号中描述的那些内容相同。作为参考,国际公布号2017/056132的内容被并入本说明书中。
基于例如针对每个主设备的读请求和高速缓存75的写请求所设置的QoS信息,中央总线控制系统50确定是否将访问权限授予与主设备和高速缓存75相对应的请求发出控制单元23R、33R、43R和78。此时,中央总线控制系统50使用从总线24R、34R、44R和79W获得的请求监测器(事务监控信号)来监控通过总线运行的事务。在基于事务的传输量执行与每个时隙相关联的修正时,中央总线控制系统50可以将访问权限授予请求监测器。中央总线控制系统50通过授予访问权限来控制由每个主设备和高速缓存75发出的、到存储器控制器80的读请求和写请求的输出。
基于例如每个主设备的写请求所设置的QoS信息,中央总线控制系统60确定是否将访问权限授予与主设备相对应的请求发出控制单元23W、33W和43W。此时,中央总线控制系统60使用从总线24W、34W和44W获得的请求监测器(事务监控信号)来监控通过总线运行的事务。在基于事务的传输量执行与每个时隙相关联的修正时,中央总线控制系统60可以授予访问权限。中央总线控制系统60通过授予访问权限来控制由每个主设备发出的、到高速缓存75的读请求和写请求的输出。
【中央总线控制系统1】
图2图示中央总线控制系统50的配置示例。中央总线控制系统50具有权限授予选择控制单元501、屏蔽信号生成单元502、分配优先级计算电路503、权限授予数目控制单元504、刷新控制单元505、传输量监测器510、时隙设置寄存器521、预留类型寄存器组522、BE(最佳努力)类型寄存器组523以及针对最大可能授权数的设置寄存器524。
传输量监测器510是用于测量针对通过总线传输的读请求和写请求的事务的传输量的功能单元。传输量监测器510具有预留类型传输量监测器511和BE类型传输量监测器512。预留类型传输量监测器511测量针对通过总线24R、34R和44R(参见图1)而被传输到互连70的读请求的事务的传输量。预留类型传输量监测器511还测量针对通过总线79W而被传输到存储器控制器80的写请求的事务的传输量。BE类型传输量监测器512也测量针对通过总线24R、34R和44R而被传输到互连70的读请求的事务的传输量。BE类型传输量监测器512还测量针对通过总线79W而被传输到存储器控制器80的写请求的事务的传输量。
时隙设置寄存器521存储被包括在一个基本时隙中的子时隙的数目和一个子时隙的时间段。基本时隙表示例如存储器90中的刷新时间段。可以改变存储于时隙设置寄存器521的一个基本时隙中的子时隙的数目和一个子时隙的时间段。
刷新控制单元505将刷新请求发送给存储器控制器80并且控制执行存储器90中的刷新操作。刷新控制单元505在子时隙中向存储器控制器80发送刷新请求,其中基本时隙的预定数目例如使用非说明性寄存器来设置。
权限授予选择控制单元501将访问权限授予请求发出控制单元23R、33R、43R和78。在授予访问权限时,权限授予选择控制单元501确定(选择)是否将访问权限授予特定的请求发出控制单元。权限授予选择控制单元501输出访问权限授予信号,其表示访问权限已被获得到访问权限被授予的目标请求发出控制单元。权限授予选择控制单元501认可待输出到访问权限被授予的目标请求发出控制单元的访问权限授予信号,并且否定待输出到未被授予访问权限的请求发出控制单元的信号。
权限授予数目控制单元504计算可以被授予请求发出控制单元的访问权限的数目(待授予的权限的可能数目)。针对待授予的权限的最大可能数目的设置寄存器524存储待授予的访问权限的最大可能数目。根据可以被存储在例如存储器控制器80的缓冲器81中的访问请求数目来设置待授予的访问权限的最大可能数目。权限授予数目控制单元504根据缓冲器81的空闲情况来计算待授予的访问权限的可能数目,而针对可能授权的最大数目的、存储在设置寄存器524中的最大数被假设为上限。权限授予选择控制单元501在权限授予数目控制单元504已计算的待授予的访问权限的可能数目的范围内授予访问权限。
例如,如果权限授予选择控制单元501将(多个)访问权限授予任何请求发出控制单元,则权限授予数目控制单元504将待授予的访问权限的可能数目减少已授予的访问权限的数目。例如,如果存储器控制器80输出缓冲器释放通知,则权限授予数目控制单元504将待授予的访问权限的可能数目增加缓冲器的条目的数目。如果任何请求发出控制单元返回访问权限,则权限授予数目控制单元504将待授予的访问权限的可能数目增加(多个)所返回的访问权限的数目。当高速缓存75输出表示已进行高速缓存命中的通知,则权限授予数目控制单元504将待授予的访问权限的可能数目增加对应于高速缓存命中的读请求的数目。
预留类型寄存器组522包括例如预留带宽设置寄存器和预留类型优先级等级设置寄存器。预留带宽设置寄存器存储与每个主设备和高速缓存75相关联设置的预留带宽。预留带宽设置寄存器针对每个主设备和高速缓存75将每子时隙的预留传输量存储为预留带宽。预留类型优先级等级设置寄存器存储例如每个主设备和高速缓存75的优先级等级。
屏蔽信号生成单元502判断每个主设备和高速缓存75的传输量是否达到每个主设备和高速缓存75的预留传输量。当针对任何主设备和高速缓存75的子时隙的传输量达到预留传输量时,屏蔽信号生成单元502针对主设备和高速缓存75生成表示子时隙的剩余时间段的屏蔽信号。
BE类型寄存器组523包括例如目标传输量设置寄存器、更新传输量寄存器、分配优先级修正时间段设置寄存器和BE类型优先级等级设置寄存器。目标传输量设置寄存器存储与每个主设备和高速缓存75相关联的每子时隙的目标传输量。更新传输量寄存器针对每个主设备和高速缓存75存储表示传输量的累计值的累计传输量。分配优先级修正时间段设置寄存器存储表示用于修正目标传输量的时间段的分配优先级修正时间段。BE类型优先级等级设置寄存器存储针对每个主设备和高速缓存75的优先级等级。
分配优先级计算电路503计算表示用于访问权限分配的优先级等级的分配优先级。分配优先级计算电路503基于例如每个主设备和高速缓存75的目标传输量来计算分配优先级等级。更具体地,分配优先级计算电路503使用通过BE类型传输量监测器512测量的传输量、目标传输量、累计传输量和分配优先级修正时间段来计算分配优先级等级。
每当子时隙过去时,分配优先级计算电路503更新存储在BE类型寄存器组523中包括的更新传输量寄存器中的累计传输量。更具体地,分配优先级计算电路503从更新传输量寄存器读累计传输量直到子时隙。分配优先级计算电路503使用所读的累计传输量和由BE类型传输量监测器512测量的当前子时隙的传输量来计算累计传输量直到当前子时隙。分配优先级计算电路503将所计算的累计传输量存储在更新传输量寄存器中,从而更新累计传输量。分配优先级计算电路503将所计算的分配优先级等级输出到权限授予选择控制单元501。
权限授予选择控制单元501独立地执行使用预留类型寄存器组522来选择访问权限被授予的目标以及使用BE类型寄存器组523来选择访问权限被授予的目标。在使用预留类型寄存器组522来选择访问权限被授予的目标时,权限授予选择控制单元501使用从预留类型寄存器组522读的预留带宽和优先级等级来确定访问权限被授予的请求发出控制单元。在使用BE类型寄存器组523来选择访问权限被授予的目标时,权限授予选择控制单元501使用由分配优先级计算电路503计算的优先级等级和从BE类型寄存器组523读的优先级等级来确定访问权限被授予的请求发出控制单元。【中央总线控制系统2】
图3图示中央总线控制系统60的配置示例。中央总线控制系统60具有权限授予选择控制单元601、屏蔽信号生成单元602、分配优先级计算电路603、权限授予数目控制单元604、传输监测器610、时隙设置寄存器621、预留类型寄存器组622、BE类型寄存器组623以及针对授权的最大可能数目的设置寄存器624。除了刷新控制单元505(参见图2)未被包括之外,中央总线控制系统60可以具有与中央总线控制系统50相同的配置。
传输量监测器610是用于测量针对通过总线传输的写请求的事务的传输量的功能单元。传输量监测器610具有预留类型传输量监测器611和BE类型传输量监测器612。预留类型传输量监测器611测量针对通过总线24W、34W、44W(参见图1)而被传输到互连70的写请求的事务的传输量。BE类型传输量监测器612也测量针对通过总线24W、34W和44W而被传输到互连70的写请求的事务的传输量。时隙设置寄存器621存储一个基本时隙中的子时隙的数目和一个子时隙的时间段。
权限授予选择控制单元601将访问权限授予请求发出控制单元23W、33W和43W。在授予访问权限时,权限授予选择控制单元601确定(选择)是否将访问权限授予特定的请求发出控制单元。权限授予选择控制单元601输出访问权限授予信号,其表示访问权限已被获得到访问权限被授予的目标请求发出控制单元。权限授予选择控制单元601维护例如待输出到访问权限被授予的目标请求发出控制单元的访问权限授予信号,并且使待输出到未被授予访问权限的请求发出控制单元的信号无效。
权限授予数目控制单元604计算将被授予请求发出控制单元的访问权限的数目(待授予的权限的可能数目)。针对授权的最大可能数的设置寄存器624存储最大的待授予的访问权限的数目。根据将由高速缓存75缓存的写请求数(写数据的大小)来设置待授予的权限的最大可能数目。权限授予数目控制单元604例如根据高速缓存75的空闲情况来计算待授予的访问权限的可能数目,而针对授权的最大可能数目的、存储在设置寄存器624中的最大数目被假设为上限。权限授予选择控制单元601在权限授予数目控制单元604已计算的待授予的权限的可能数目的范围内授予访问权限。
例如,如果权限授予选择控制单元601将访问权限授予任何请求发出控制单元,则权限授予数目控制单元604将待授予的权限的可能数目减少访问权限的数目。当高速缓存75的空闲条目的数目增加时,权限授予数目控制单元604将待授予的权限的可能数目增加所增加的条目的数目。如果任何请求发出控制单元返回访问权限,则权限授予数目控制单元604将待授予的权限的数目增加所返回的访问权限的数目。
预留类型寄存器组622包括例如预留带宽设置寄存器和预留类型优先级等级设置寄存器。预留带宽设置寄存器存储例如针对主设备所设置的预留带宽。预留带宽设置寄存器将针对每个主设备的每子块的写请求的事务的预留传输量存储为预留带宽。预留类型优先级等级设置寄存器存储例如每个主设备的优先级等级。注意,中央总线控制系统50中的预留类型寄存器组522(参见图2)的预留带宽设置寄存器可以将例如被存储在预留类型寄存器组622的预留带宽设置寄存器中的主设备的预留传输量的总量存储为针对从高速缓存75输出的写请求的事务的预留带宽。
在每个子时隙中,屏蔽信号生成单元602判断每个主设备的传输量是否达到每个主设备的预留传输量。当任何主设备的子时隙中的传输量达到预留传输量时,屏蔽信号生成单元602生成表示该子时隙中的时间段的剩余的屏蔽信号。
BE类型寄存器组623包括例如目标传输量设置寄存器、更新传输量寄存器、分配优先级修正时间段设置寄存器和BE类型优先级等级设置寄存器。目标传输量设置寄存器存储与每个主设备相关联的每子时隙的目标传输量。更新传输量寄存器存储与每个主设备相关联的表示传输值的累计值的累计传输量。分配优先级修正时间段设置寄存器存储表示修正目标传输量的时间段的分配优先级修正时间段。BE类型优先级等级设置寄存器存储与每个主设备相关联的优先级等级。
分配优先级计算电路603计算表示关于访问权限分配的优先级的分配优先级。分配优先级计算电路603基于每个主设备的目标传输量来计算例如分配优先级。针对分配优先级计算电路603中的分配优先级的计算可以以与中央总线控制系统50的分配优先级计算电路503相同的方式而被执行。分配优先级计算电路603将所计算的分配优先级输出到权限授予选择控制单元601。
权限授予选择控制单元601独立地执行使用预留类型寄存器组622来选择访问权限被授予的目标以及使用BE类型寄存器组623来选择访问权限被授予的目标。在使用预留类型寄存器组622来选择访问权限被授予的目标时,权限授予选择控制单元601使用例如从预留类型寄存器组622读取的预留带宽和优先级等级来确定访问权限被授予的请求发出控制单元。在使用BE类型寄存器组623来选择访问权限被授予的目标时,权限授予选择控制单元601使用例如由分配优先级计算电路603计算的分配优先级和从BE类型寄存器组623读的优先级等级来确定访问权限被授予的请求发出控制单元。
【操作过程】
图4图示在中央总线控制系统50中授予访问权限的操作过程。权限授予数目控制单元504(参见图2)判断缓冲器释放通知是否已从存储器控制器80接收(步骤A1)。当在步骤A1中判断已接收缓冲器释放通知时,权限授予数目控制单元504将待授予的权限的可能数目增加所释放的缓冲器的数目(步骤A2)。当在步骤A1中判断未接收缓冲器释放通知时,权限授予数目控制单元504不改变待授予的权限的可能数目。
权限授予数目控制单元504判断访问权限是否已被返回(步骤A3)。当访问权限返回信号已从例如请求发出控制单元23R、33R、43R和78中的至少一个输出时,权限授予数目控制单元504判断访问权限已被返回。此外,当表示已进行高速缓存命中的通知从高速缓存75输出时,权限授予数目控制单元504判断访问权限已被返回。当在步骤A3中判断访问权限已被返回时,权限授予数目控制单元504将待授予的权限的可能数目增加所返回的访问权限的数目(步骤A4)。当在步骤A3中判断访问权限未被返回时,权限授予数目控制单元504不改变待授予的权限的可能数目。可以首先执行步骤A1和步骤A3中的任何一个。
权限授予选择控制单元501判断访问权限是否可以被授予(步骤A5)。在步骤A5中,权限授予选择控制单元501从权限授予数目控制单元504获得待授予的权限的可能数目,并且基于待授予的权限的可能数目判断访问权限是否可以被授予。如果待授予的权限的可能数目是例如“1”或大于“1”,则权限授予选择控制单元501判断访问权限可以被授予。如果待授予的权限的可能数目是例如
“0”,则权限授予选择控制单元501判断访问权限不可以被授予。权限授予选择控制单元501例如在每个循环中判断访问权限是否可以被授予。当判断访问权限不可以被授予时,过程返回到步骤A1。
当在步骤A5中判断访问权限可以被授予时,权限授予选择控制单元501选择访问权限被授予的目标请求发出控制单元(步骤A6)。在步骤S6中,权限授予选择控制单元501确定是否将访问权限授予与主设备A 20、主设备B 30、主设备C 40和高速缓存75相对应的请求发出控制单元23R、33R、43R和78中的特定请求发出控制单元。基于使用例如预留类型寄存器组522或BE类型寄存器523的选择过程,权限授予选择控制单元501选择(确定)被授予权限的目标请求发出控制单元。
权限授予选择控制单元501将访问权限授予给在步骤S6中所选择的目标(步骤A7)。在步骤A7中,权限授予选择控制单元501将访问权限授予信号输出到访问权限被授予的请求发出控制单元,从而授予访问权限。当从对应的主设备或高速缓存75接收读请求和写请求时,已接收访问权限授予信号的请求发出控制单元将读请求或写请求输出到存储器控制器80方面。当接收访问权限授予信号时,并且当未从对应的主设备或高速缓存75接收读请求和写请求时,请求发出控制单元将访问权限返回信号输出到中央总线控制系统50。
如果权限授予选择控制单元501将访问权限授予请求发出控制单元,则权限授予数目控制单元504减少待授予的权限的可能数目(步骤S8)。此后,过程返回到步骤A1。然后,基于缓冲器81的空闲情况和访问权限的返回来执行待授予的权限的可能数目的计算,并且以重复的方式在待授予的权限的可能数目的范围内授予访问权限。
图5图示用于在中央总线控制系统60中授予访问权限的操作过程。中央总线控制系统60的权限授予数目控制单元604(参见图3)监测高速缓存75的空闲情况,并且判断高速缓存75的(多个)条目是否已被释放(步骤B1)。当在步骤B1中判断高速缓存75的(多个)条目已被释放时,权限授予数目控制单元604将待授予的权限的可能数目增加所释放的条目的数目(步骤B2)。当在步骤B1中判断高速缓存75的条目未被释放时,权限授予数目控制单元604不改变待授予的权限的可能数目。
权限授予数目控制单元604判断访问权限是否已从请求发出控制单元23W、33W或43W返回(步骤B3)。当访问权限返回信号已从例如请求发出控制单元23W、33W和43W中的至少一个输出时,权限授予数目控制单元604判断访问权限已被返回。当在步骤B3中判断访问权限已被返回时,权限授予数目控制单元604将待授予的权限的可能数目增加所返回的访问权限的数目(步骤B4)。当在步骤B3中判断访问权限未被返回时,权限授予数目控制单元604不改变待授予的权限的数目。可以首先执行步骤B1和步骤B3中的任何一个
权限授予选择控制单元601判断访问权限是否可以被授予(步骤B5)。在步骤B5中,权限授予选择控制单元601获得待授予的权限的可能数目,并且基于待授予的权限的可能数目判断访问权限是否可以被授予。只要例如待授予的权限的可能数目是“1”或大于“1”,权限授予选择控制单元601就判断访问权限可以被授予。如果待授予的权限的可能数目是“0”,则权限授予选择控制单元601判断访问权限不可以被授予。权限授予选择控制单元601例如在每个循环中判断访问权限是否可以被授予。当判断访问权限不可以被授予时,过程返回到步骤B1。
当在步骤B5中判断访问权限可以被授予时,权限授予选择控制单元601选择访问权限被授予的目标请求发出控制单元(步骤B6)。在步骤B6中,在与主设备A 20、主设备B 30和主设备C 40相对应的请求发出控制单元23W、33W和43W中,权限授予选择控制单元601确定与主设备中的哪个主设备相对应的请求发出控制单元被授予访问权限。基于使用例如预留类型寄存器组622或BE类型寄存器623的选择过程,权限授予选择控制单元601选择(确定)被授予权限的目标请求发出控制单元。
权限授予选择控制单元601将访问权限授予给在步骤B6中所选择的目标(步骤B7)。在步骤B7中,权限授予选择控制单元601将访问权限授予信号输出到访问权限被授予的请求发出控制单元,从而授予访问权限。当从对应的主设备接收写请求时,已接收访问权限授予信号的请求发出控制单元将写请求输出到存储器控制器80方面。当访问权限授予信号已被接收时,并且当未从对应的主设备接收写请求时,请求发出控制单元将访问权限返回信号输出到中央总线控制系统60。
如果权限授予选择控制单元601将访问权限授予请求发出控制单元,则权限授予数目控制单元604将待授予的权限的可能数目减少1(步骤B8)。此后,过程返回到步骤B1。然后,基于高速缓存75的空闲情况和访问权限的返回来执行待授予的权限的可能数目的计算,并且在待授予的权限的可能数目的范围内授予访问权限。
【总结】
在本实施例中,电子设备10在互连70和存储器控制器80之间具有执行写回的高速缓存75。由每个主设备发出的写请求临时被保留在高速缓存75中。然后,当例如在存储器控制器80中存在空闲空间时,高速缓存75执行写回。高速缓存75主要具有作为数据缓冲器的作用,并且读数据命中高速缓存的期望值很小。在本实施例中,在中央总线控制系统50的访问控制每个主设备的读请求中,基于读请求到达存储器控制器80而读数据未命中高速缓存的假设来执行访问控制。换言之,基于读请求到达存储器控制器80的缓冲器81的假设,中央总线控制系统50响应于每个主设备的读请求而授予访问请求。
在本实施例中,针对存储器90的那些访问请求被划分成临时保留在高速缓存75中的访问请求和无延时地存储在存储器控制器80的缓冲器81中的访问请求。为此分开执行访问控制。更具体地,在本实施例中,中央总线控制系统50执行针对读请求和写请求的访问控制。在这种情况下,预期读请求在无高速缓存75干扰的情况下到达存储器控制器80的缓冲器81,并且由每个主设备发出读请求,并且从高速缓存75输出写请求。中央总线控制系统60执行针对被临时存储在高速缓存75中并且由每个主设备发出的写请求的访问控制。
如国际公布第2017/056132号,假设如果使用一个中央总线控制系统仅在每个主设备和高速缓存75之间执行访问控制,则当高速缓存75执行写回时占用缓冲器81。因此,中央总线控制系统不可以控制缓冲器81的空闲情况。在这种情况下,由存储器控制器
80接收的访问请求不可以从中央总线控制系统来控制。因此,难以保证特别是针对由每个主设备发出的读请求的延迟。在本实施例中,响应于由每个主设备发出的读请求和由高速缓存75执行的回写(写请求),中央总线控制系统50根据缓冲器81的空闲情况来执行访问控制。这实现了从中央总线控制系统50来控制缓冲器81的空闲情况,并且实现了保证针对由每个主设备发出的读请求的延迟。
中央总线控制系统60响应于由每个主设备发出的写请求、根据高速缓存75的空闲情况来执行访问控制。在由高速缓存75接收写请求的阶段时,已发出写请求的主设备可以接收针对写请求的响应。中央总线控制系统60响应于由每个主设备发出的写请求而在高速缓存75可以接收的范围内授予访问权限。因此,即使响应主设备发出的写请求,也可以保证延迟。
第二实施例
现在将对第二实施例进行描述。根据本实施例的电子设备的配置可以与根据图1所示的实施例的电子设备10的配置相同。图6图示了用于本实施例中的中央总线控制系统(中央总线控制系统1)
的配置示例。除了用于图2所示的第一实施例中的中央总线控制系统50的配置之外,用于本实施例中的中央总线控制系统50a还具有分配阶段设置寄存器531、分配重叠设置寄存器532和分配阶段计算电路。其中的任何其他点可以与第一实施例的那些点相同。
在本实施例中,中央总线控制系统50a在不同的时间段中将访问权限专属地授予与主设备的读请求相对应的请求发出控制单元23R、33R和43R以及与高速缓存75的写请求相对应的请求发出控制单元78。在访问权限被授予请求发出控制单元23R、33R和43R的时间段中,中央总线控制系统50a不将访问权限授予请求发出控制单元78。相反地,在访问权限被授予请求发出控制单元78的时间段中,中央总线控制系统50a不将访问权限授予请求发出控制单元23R、33R和43R。
在本实施例中,中央总线控制系统50a具有一些设置时间段:例如以子时隙为单位,针对读请求将访问权限授予请求发出控制单元23R、33R和43R的时间段,以及针对写请求将访问权限授予请求发出控制单元78的时间段。分配阶段设置寄存器531存储指示哪个子时隙是针对读请求授予访问权限的时间段或是针对写请求授予访问权限的时间段的信息。
在本实施例中,在用于针对读请求授予访问权限的子时隙(以下被称为读时间段子时隙)和用于针对写请求授予访问权限的子时隙(以下被称为写时间段子时隙)之间切换时,中央总线控制系统50a可以从切换定时之前的一段预定时间的定时开始取消对访问权限的限制。在读时间段子时隙和写时间段子时隙之间切换时,分配重叠设置寄存器532设置预定时间的长度,在预定时间期间,对访问权限的限制被取消。例如,在读时间段子时隙和写时间段子时隙之间切换时,分配重叠设置寄存器532存储表示从当前子时隙完成之前的若干子时隙开始,针对读请求和写请求两者是否允许授予访问权限的信息。在从读时间段子时隙到写时间段子时隙的切换和从写时间段子时隙到读时间段子时隙的切换之间,分配重叠设置寄存器532可以具有不同的设置定时。
根据被存储在分配阶段设置寄存器531中的信息,分配阶段计算电路533通知权限授予选择控制单元501关于例如表示当前子时隙是读时间段子时隙或写时间段子时隙的信息。在读时间段子时隙中,权限授予选择控制单元501从访问权限被授予的目标的选择中排除请求发出控制单元78。在写时间段子时隙中,权限授予选择控制单元501从访问权限被授予的目标的选择中排除请求发出控制单元23R、33R和43R。
分配阶段计算电路533参考分配重叠设置寄存器532,并且在读时间段子时隙和写时间段子时隙之间的切换定时之前的一段预定时间的定时处,通知权限授予选择控制单元501可以授予针对读请求和写请求的访问权限。当该通知被接收时,权限授予选择控制单元501从请求发出控制单元23R、33R、43R和78中选择访问权限被授予的目标,直到当前子时隙结束。
【设置示例】
图7图示设置读时间段子时隙和写时间段子时隙的示例。在图7的示例中,一个基本时隙包括六个子时隙。分配阶段设置寄存器531存储例如表示子时隙1、2、3和5是读时间段子时隙并且子时隙4和6是写时间段子时隙的信息。在这种情况下,权限授予选择控制单元501在子时隙1、2、3和5中针对读请求授予访问权限,并且限制针对写请求授予访问权限。权限授予选择控制单元501在子时隙4和6中针对写请求授予访问权限,并且限制针对读请求授予访问权限。
在该切换定时之前的预定定时(重叠时间)处,在从子时隙4切换到子时隙4时,分配阶段计算电路533通知权限授予选择控制单元501可以针对读请求和写请求两者授予访问权限,该预定定时在分配重叠设置寄存器532中被设置。如果该通知被接收,则权限授予选择控制单元501在切换定时之前的一段预定时间处,将被限制的读请求添加到将授予访问权限的目标中。在从作为读时间段子时隙的子时隙5切换到作为写时间段子时隙的子时隙6时,权限授予选择控制单元501在切换定时之前的一段预定时间处,将被限制的写请求添加到将授予访问权限的目标中。
在从作为写时间段子时隙的子时隙4切换到作为读时间段子时隙的子时隙5中,在切换定时之前的预定时间,权限授予选择控制单元501将受限的读请求添加到目标中以授予访问权限。在从作为读时间段子时隙的子时隙5切换到作为写时间段子时隙的子时隙6时,在切换定时之前的预定时间,权限授予选择控制单元501将受限的写入请求添加到目标中以授予访问权限。
在这种情况下,具有已授予的访问权限的读请求通过互连70和高速缓存75到达存储器控制器80,而写请求立刻到达存储器控制器。以这种方式,读请求和写请求的延时不同,因为直到到达存储器控制器80才授予访问权限。在每个子时隙中,如果完全以专属的方式来执行访问权限的分配,则由于延迟不同,存储器控制器80的缓冲器81可能是空闲的。如果针对读请求和写请求两者都授予访问权限一段预定时间,直到读和写之间的切换定时,则由此使能降低缓冲器81变成空闲的可能性。
【总结】
在本实施例中,中央总线控制系统50a在不同的时间段针对读请求和写请求而专属地授予访问权限。针对访问诸如DDR的存储器80,当访问类型在读和写之间切换时,有必要在切换访问类型的定时处,提供一段时间内不进行存储器访问的时间段。因此,在访问存储器时,可以通过连续执行相同类型的访问来有效地进行存储器访问。在本实施例中,在读时间段子时隙中,针对读请求授予访问权限。另一方面,在写时间段子时隙中,针对写请求授予访问权限。因此,相同访问类型的访问请求可以连续地到达存储器控制器80,从而实现了提高存储器控制器80中的调度效率。
【修改】
在本实施例中,中央总线控制系统50a可以从高速缓存75获得高速缓存的空闲条目的数目,并且根据空闲条目的数目在基本时隙中动态地改变读时间段子时隙的数目和写时间段子时隙的数目。图8A和图8B中的每一个图示设置读时间段子时隙和写时间段子时隙的示例。在图8A中,子时隙1、2、3、4和5被设置为读时间段子时隙,而子时隙6被设置为写时间段子时隙。在图8B中,子时隙1、3和5被设置为读时间段子时隙,而子时隙2、4和6被设置为写时间段子时隙。
例如,假设分配阶段设置寄存器531(参见图6)存储图7所示的设置。分配阶段计算电路533从高速缓存75获得空闲条目的数目,并且判断空闲条目的数目是否等于或大于上阈值或者空闲条目的数目是否等于或小于下阈值。当空闲条目的数目在正常时间中小于上阈值或大于下阈值时,分配阶段计算电路533以与图7所示的相同的设置方式来设置读时间段子时隙和写时间段子时隙。
当空闲条目的数目等于或大于上阈值时,即当存在许多空闲条目时,分配阶段计算电路533减少写时间段子时隙数,并且将读时间段子时隙和写时间段子时隙设置为与图8A所示的相同的设置。当空闲条目的数目等于或小于下阈值时,即当仅存在少量空闲条目时,分配阶段计算电路533增加写时间段子时隙的数目,并且以与图8B所示的相同的设置方式来设置读时间段子时隙和写时间段子时隙。
如上所述,当存在许多空闲条目时,即当在高速缓存75中仅存在少量的用于执行写回的写请求时,可以在基本时隙中授予比正常时间的情况下更多的针对读请求的访问权限。相反地,当仅存在少量空闲条目时,即当在高速缓存75中存在许多待写回的写请求时,可以在基本时隙中授予比正常时间的情况下更多的针对写请求的访问权限。根据高速缓存75的空闲条目的数目动态地控制读时间段子时隙的数目和写时间段子时隙的数目。因此,当不需要执行写回时,针对读请求可以分配许多访问权限,由此实现提高访问效率。
第三实施例
现在将对第三实施例进行描述。根据本实施例的电子设备可以具有与根据图1所示的第一实施例的电子设备10的配置相同的配置。图9图示用于本实施例中的中央总线控制系统(中央总线控制系统2)的配置示例。用于本实施例中的中央总线控制系统60a具有权限授予选择控制单元601、权限授予数目控制单元604、时隙设置寄存器621、针对授权的最大可能数目的设置寄存器624和QoS寄存器组625。权限授予数目控制单元604、时隙设置寄存器621、针对授权的最大可能数目的设置寄存器624可以与在第一实施例中描述的那些相同。
在第一实施例中,中央总线控制系统60(参见图3)使用预留类型寄存器组622和BE类型寄存器组623来选择访问权限被授予的目标主设备(对应于请求发出控制单元的)。另一方面,在本实施例中,中央总线控制系统60a根据高速缓存75中的空闲条目的数目来确定是否针对多个主设备中的特定主设备的写请求而授予访问权限。
在根据本实施例的中央总线控制系统60a中,QoS寄存器组625存储彼此相关联的那些主设备和高速缓存75中的空闲条目的条件。权限授予选择控制单元601获得高速缓存75的空闲条目的数目,并且基于所获得的空闲条目的数目和存储在QoS寄存器组625中的信息来确定访问权限被授予的目标主设备。权限授予选择控制单元601从与满足被存储在QoS寄存器组625中的条件的所获得的空闲条目的数目相对应的那些主设备中的任何一个选择访问权限被授予的目标主设备。由此,例如,一些主设备可以不管空闲条目的数目而被假设为访问权限被授予的目标,但任何其他的主设备例如只有当存在许多空闲条目时才可以被假设为访问权限被授予的目标。
【设置示例】
图10图示高速缓存75中的空闲条目的数目的等级。基于多个等级来管理高速缓存75中的空闲条目的数目。在图10所示的示例中,高速缓存75中的空闲条目的数目被管理为从最小等级“1”到最大等级“4”的四个等级。权限授予选择控制单元601确定所获得的高速缓存75的空闲条目的数目的等级。例如,当空闲条目的数目等于或小于阈值“A”时,权限授予选择控制单元601确定空闲条目的数目在等级“1”处。例如,当空闲条目的数目大于阈值“A”并且等于或小于阈值“B”时,权限授予选择控制单元601确定空闲条目的数目在等级“2”处。例如,当空闲条目的数目大于阈值“B”并且等于或小于阈值“C”时,权限授予选择控制单元601确定空闲条目的数目在等级“3”处。例如,当空闲条目的数目等于或大于阈值“C”时,权限授予选择控制单元601确定空闲条目的数目在等级“4”处。QoS寄存器组625可以包括存储用于确定等级的阈值的寄存器。
QoS寄存器组625存储彼此相关联的主设备和空闲条目的等级。存储在QoS寄存器组625中的空闲条目的数目的等级表示对应的主设备被假设为授予访问权限的目标的条件。权限授予选择控制单元601参考QoS寄存器组625,并且从与空闲条目的数目相对应的那些主设备中的任何主设备中选择访问权限被授予的目标主设备,该空闲条目的数目被存储在QoS寄存器组625中并且等于或小于所获得的空闲条目的数目。例如,当所获得的空闲条目的数目在等级“2”处时,权限授予选择控制单元601从被存储在QoS寄存器组625中的、与等级“1”和等级“2”相关联的那些主设备中的任何主设备中选择访问权限被授予的目标主设备。
图11图示了空闲条目的数目的等级和访问权限被授予的目标主设备之间的关系。现在,将检查从主设备“A”到主设备“D”的四个主设备。QoS寄存器组625存储用于标识访问权限被授予的目标的条件:主设备“A”在等级“2”处,主设备“B”在等级“1”处,主设备“C”在等级“4”处以及主设备“D”在等级“3”处。在这种情况下,如果所获得的空闲条目的数目在等级“1”处,则权限授予选择控制单元601仅将主设备“B”标识为访问权限被授予的目标。此外,如果空闲条目的数目在等级“2”处,则权限授予选择控制单元601将主设备“A”和“B”标识为访问权限被授予的目标。如果所获得的空闲条目的数目在等级“3”处,则权限授予选择控制单元601将主设备“A”、“B”和“D”标识为访问权限被授予的目标。如果所获得的空闲条目的数目在等级“4”处,则权限授予选择控制单元601将全部主设备标识为访问权限被授予的目标。
【总结】
在本实施例中,权限授予选择控制单元601根据高速缓存75的条目的数目来确定访问权限可以被授予的目标主设备,并且从所确定的目标主设备中选择访问权限被授予的目标主设备。例如,QoS寄存器组625存储用于以下的条件:永远不管高速缓存75的空闲情况而将输入视频信号的主设备标识为访问权限被授予的目标,并且存储用于以下的条件:只有当高速缓存75具有一定空余量时,才将任何其他主设备标识为访问权限被授予的目标。在这种情况下,当高速缓存75仅具有很小的空闲条目的数目时,停止将访问权限授予输入视频信号的主设备之外的任何主设备。这有助于保证输入视频信号的主设备的缓冲器中不出现溢出。除了根据空闲条目的目数的等级来选择访问权限被授予的目标主设备之外,可以在将针对空闲条目的数目的阈值直接设置到QoS寄存器组中之后,基于空闲条目的数目是否等于或大于阈值来选择访问权限被授予的目标主设备。
第四实施例
接着,现在将对第四实施例进行描述。在本实施例中,将对总线发生器进行描述,其从各种设置信息在半导体装置中生成总线的电路信息。图12图示总线发生器800的硬件配置示例。总线发生器800被配置为包括CPU 801、存储器802、键盘804、鼠标805、监测器806和总线807的计算机设备。存储器802存储用于控制计算机设备以作为总线发生器800起作用的总线生成工具803。在计算机设备中,CPU 801根据从存储器802读出的总线生成工具803来执行过程,从而控制计算机设备以作为总线发生器800起作用。
图13图示设计总线的示意流程。首先,假设市场中的用例(步骤S101)。然后,在总线需要的所需性能上进行检查(步骤S102)。接下来,根据所需性能来检查总线结构(步骤S103)。总线结构上的该检查包括关于例如是否将使用中央总线控制系统50和60(参见图1)的检查。
在确定总线结构之后,用于所确定的总线结构的所需设置信息被输入到总线发生器(步骤S104)。总线发生器生成和输出总线的电路信息(步骤S105)。电路信息例如以RTL(寄存器传输等级)来描述。此后,逻辑合成总线的电路信息(步骤S106)并且执行布局设置(步骤S107)。步骤S104和步骤S105示出使用总线发生器来执行设计的阶段。
图14图示输入设置信息的屏幕示例。例如,监测器806(参见图12)显示用于输入设置信息的屏幕。然后,用户使用键盘804或鼠标805以将各种设置给予总线发生器800。例如,在图14所示的屏幕中,在用户从菜单901选择“QoS”之后,子菜单902被显示。在用户在子菜单902中选择“仲裁器”之后,具有仲裁系统的选择屏幕903被显示。用户选择例如选择屏幕903中的中央控制系统并且可以选择是否使用高速缓存。
用户向总线发生器800输入表示每个主设备的访问目标的信息、关于待使用的时钟的信息、关于总线宽度的信息和关于功能安全的信息,例如,作为关于输出针对存储器的访问请求的主设备的信息。用户还输入关于地址区域的信息、关于待使用的时钟的信息、关于总线宽度的信息和关于功能安全的信息,作为关于从主设备访问的从设备的信息。此外,用户输入指定QoS系统的信息和每个系统的特定设置,作为关于仲裁器的信息。
图15图示总线发生器的功能块。总线发生器800具有总线结构信息生成单元811、总线组件生成单元812、中央总线控制单元生成单元813、子总线控制单元生成单元814和合并单元815作为功能块。总线发生器800的输入是时钟信息101、耦合信息102、从设备信息103、主设备信息104、高速缓存信息106、QoS信息初始值107、DDR控制器缓冲器信息108和子功能选项109。这些信息项通过例如图14所示的用于设置信息的输入屏幕而被输入。
总线结构信息生成单元811使用时钟信息101、耦合信息102、从设备信息103和主设备信息104来生成用于在主设备和从设备之间耦合的总线结构信息。基于由总线结构信息生成单元811生成的总线结构信息和存储在子IP(知识产权)组存储单元105中的各种功能块的电路信息,总线组件生成单元812生成各种总线组件的电路信息110。从提供例如各种IP核的供应商提供存储在子IP组存储单元105中的各种功能块的电路信息。总线组件生成单元812生成例如以RTL描述的总线组件的电路信息110。
中央总线控制单元生成单元813的输入是由总线结构信息生成单元811生成的总线结构信息、高速缓存信息106、QoS信息初始值107、DDR控制器缓冲器信息108、子功能选项109和存储在子IP组存储组105中的各种功能块的电路信息。中央总线控制单元生成单元813生成中央总线控制系统的电路信息111,该中央总线控制系统执行针对从主设备输出的读请求、高速缓存的写回和从主设备输出的写请求的访问控制。中央总线控制单元生成单元813生成例如以RTL描述的中央总线控制系统的电路信息111。中央总线控制系统的电路信息111表示例如图1中所示的中央总线控制系统50和60的电路配置。
子总线控制单元生成单元814使用中央总线控制系统的电路信息111来生成在中央总线控制系统的控制下操作的子总线控制系统的电路信息112。子总线控制单元生成单元814生成例如以RTL描述的子总线控制系统的电路信息112。子总线控制系统的电路信息112表示图1所示的总线-总线控制器系统22R、32R、42R、22W、32W、42W和77中的每一个的电路配置。合并单元815合并总线组件的电路信息110、中央总线控制系统的电路信息111和子总线控制系统的电路信息112。然后,合并单元815输出总线的电路信息113。例如,在图1所示的电子设备10中,总线的电路信息113以RTL被写到关于每个主设备和存储器90之间的总线的电路部分中。
【总结】
在本实施例中,总线发生器800被用于生成总线系统。如果将各种设置信息输入到总线发生器800,则可以在例如图1所示的电子设备10的每个主设备和存储器90之间自动生成总线系统。
第五实施例
现在,将对第五实施例进行描述。图16图示包括根据第五实施例的半导体装置的电子设备。在根据图1中所示的第一实施例的电子设备10中,中央总线控制系统50控制待授予与高速缓存75的写回相对应的请求发出控制单元78的访问权限,从而执行针对写回的访问控制。另一方面,在本实施例的电子设备10a中,中央总线控制系统50b控制指示访问许可的信号并且输出到请求发出控制单元78,从而执行针对写回的访问控制。任何其他点与第一至第三实施例的那些点相同。
在本实施例中,中央总线控制系统50b以指示访问许可的信号的形式将许可时间段通知输出到请求发出控制单元78。当允许访问时,认可许可时间段通知。当不允许访问时,否定通知。当认可从中央总线控制系统50b输出的许可时间段通知时,写请求发出控制单元78将从高速缓存75输出的写请求输出到存储器控制器80。当否定许可时间段通知时,请求发出控制单元78抑制写请求到存储器控制器80的输出。如果请求发出控制单元78将写请求输出到存储器控制器80,则请求发出控制单元78将表示该输出的传输通知输出到中央总线控制系统50b。
图17图示中央总线控制系统50b的配置示例。中央总线控制系统50b具有权限授予选择控制单元501、屏蔽信号生成单元502、分配优先级计算电路503、权限授予数目控制单元504、刷新控制单元505、传输量监测器510、时隙设置寄存器521、预留类型寄存器组522、BE(最佳努力)类型寄存器组523以及针对授权的最大可能数目的设置寄存器524。在本实施例中,中央总线控制系统50b的预留类型寄存器组522不是必须存储表示高速缓存75的预留带宽的信息,并且BE类型寄存器组523不是必须存储表示高速缓存75的目标传输量的信息。传输量监测器510不是必须通过在请求发出控制单元78和存储器控制器80之间的总线79W(也参见图16)来监控事务的传输量。
在根据本实施例的中央总线控制系统50b中,权限授予选择控制单元501可以以与第一实施例中描述的方式相同的方式来执行对请求发出控制单元23R、33R和43R的访问权限的授予。权限授予选择控制单元501将许可时间段通知输出到请求发出控制单元78。权限授予数目控制单元504从请求发出控制单元78接收传输通知。如果权限授予数目控制单元504接收传输通知,则认为已经针对高速缓存75的写回授予了访问权限,并且将待授予的权限的可能数目减少所传输的写请求数。权限授予选择控制单元501在待授予的权限的可能数目的范围内将访问权限授予给看请求发出控制单元23R、33R和43R。
【总结】
在由根据第一实施例的中央总线控制系统50授予针对写请求的访问权限时,访问权限被授予的目标仅是高速缓存75的写回,即仅是请求发出控制单元78。当基于访问权限进行高速缓存的写回的访问许可时,仅存在一个访问权限被授予的目标。因此,可以假设在许多情况下持续授予访问权限。总体上,对DDR存储器的访问是必须的访问。此外,针对写请求可以传输数据单元。即使将访问权限被持续地授予请求发出控制单元78,也可以经常在不使用访问权限的情况下将访问权限返回到中央总线控制系统50。在这种情况下,可能增加了任何不必要的待授予的访问权限的数目,并且可能减少了针对读请求的待授予的访问权限的数目。在这种情况下,中央总线控制系统50b使用将被输出到请求发出控制单元78的许可时间段通知来执行针对写请求的访问控制。在本实施例中,当请求发出控制单元78将写请求输出到存储器控制器80时,待授予的权限的可能数目被减少。这防止了授予上述不必要的访问权限。
第六实施例
现在,将对第六实施例进行描述。根据本实施例的电子设备可以具有与根据图1所述的第一实施例的电子设备1相同的配置。在本实施例中,如同第二实施例,访问权限在不同时间段被专属地授予与每个主设备的读请求相对应的请求发出控制单元23R、33R和43R以及与高速缓存75的写请求相对应的请求发出控制单元78。在本实施例中,用于图6所示的第二实施例的中央总线控制系统50a被用作中央总线控制系统1。在本实施例中,中央总线控制系统50a的刷新控制单元505在针对读请求授予访问权限的时间段和针对写请求授予访问权限的时间段之间的切换定时处将刷新请求输出到存储器90。任何其他点与第二实施例的那些点相同。
【操作示例】
图18图示访问存储器90的操作示例。图18A图示了不在(不符合)读和写之间的切换处执行刷新的操作示例,而图18B图示了根据读和写之间的切换来执行刷新的操作示例。
如图18A所示,假设对存储器90的访问例如在时间t11处开始执行读,并且然后访问类型被切换到写。当针对存储器90的访问类型从读切换到写时,必须在完成读之后提供不执行存储器访问的一定的时间段,直到写开始。也就是说,发生R(读)/W(写)切换代价(penalty)以用于在读和写之间切换。在图18A中,由于在时刻t12处完成读直到在时刻13处开始写,因此R/W切换代价发生在时间T1。
在访问类型在时刻t13处被切换到写之后,并且当访问类型又被切换到读时,R/W切换代价发生了时间T1:从时间t14处完成写直到时间t15处开始读。当刷新在时刻t16处开始时,在刷新时间段期间也不能执行对存储器90的访问,并且刷新代价发生在从时刻t16到t17即刷新完成的时间T2。被刷新中断的用于读存储器90的访问在时刻t17处重新开始并且在时刻t18处结束。
如图18B所示,用于读存储器90的访问在时刻t21处开始。假设此后访问类型被切换到写。即使在这种情况下,也可以如同图18A的示例,R/W切换代价发生在从时刻t22到时刻t23的时间T1。在图18B的示例中,在访问类型在时刻t23处被切换到写之后,访问类型的切换和刷新在时刻t24处被同时执行。在这种情况下,从时刻t24到时刻t25的时间T2(刷新代价)隐藏了R/W切换代价(T1)。即使不另外等待R/W切换代价,也可以在时刻t25处将访问类型切换到读。用于读存储器90的访问在时刻t25处开始之后在时刻t26处结束。
在图18A的示例中,从时刻t11到时刻t18,访问类型的切换被执行了两次,并且刷新操作被执行了一次。在图18A的示例中,R/W切换代价发生两次,并且刷新代价发生一次。因此,从时刻t11到时刻t18,存在不能执行对存储器90的访问的“2*T1+T2”时长的时间段。在图18A的示例中,从时刻t21到时刻t26,访问类型的切换被执行了两次,并且刷新被执行了一次。然而,在图18B的示例中,因为刷新代价隐藏了R/W切换代价,所以从时刻t21到时刻t26,不能执行对存储器90的访问的时间段仅是“T1+T2”。当从时刻t11到时刻t18的时间等于从时刻t21到时刻t26的时间时,在访问类型的切换定时执行刷新。这将可以执行对存储器90的访问的时间增加了时间T1。
【总结】
在本实施例中,中央总线控制系统50a控制存储器90以在针对读请求授予访问权限的时间段和针对写请求授予访问权限的时间段之间的切换定时处执行刷新操作。在访问诸如DDR的存储器时,存在在读和写之间切换访问类型的大代价。在本实施例中,可以通过在针对读请求授予访问权限的时间段和针对写请求授予访问权限的时间段之间的切换定时处执行刷新,以使用刷新代价来隐藏R/W代价。以这种方式,可以提高访问存储器90的效率。
【修改】
在上述实施例中,已经对以下示例进行描述:中央总线控制系统50的权限授予选择控制单元501(参见图2)独立地使用预留类型寄存器组522来选择访问权限被授予的目标和使用BE类型寄存器组523来选择访问权限被授予的目标。然而,不限于该示例。权限授予选择控制单元501可以在使用预留类型寄存器组522来选择访问权限被授予的目标和使用BE类型寄存器组523来选择访问权限被授予的目标之间切换。相同的也适用于中央总线控制系统60的权限授予选择控制单元601(参见图3)。
在上述实施例中,已经对以下示例进行描述:使用两个中央总线控制设备,执行对被输出到存储器控制器80的访问请求的访问控制和对被临时存储在高速缓存75中的访问请求(写请求)的访问控制。这些中央总线控制设备不一定在物理上彼此分离。可以使用一个中央总线控制系统来独立地执行对被输出到存储器控制器80的访问请求的访问控制和对被临时存储在高速缓存75中的访问请求(写请求)的访问控制。
基于优选实施例,已经具体描述了本发明人的发明。本发明不限于优选实施例。更不用说,在不脱离本发明的范围的情况下可以进行各种改变。
例如,上述实施例中的一部分或全部可以在以下的附加说明中被描述,但是不限于以下的附加说明。
【附加注释1】
一种半导体装置,包括
向存储器发出包括读请求和写请求的访问请求的主设备;
通过总线被耦合到主设备并且根据访问请求来访问存储器的存储器控制器;
被布置在存储器控制器和主设备之间的高速缓存,并且当访问请求是写请求时,高速缓存该写请求;
第一访问控制单元,其执行用于控制针对由主设备发出的到存储器控制器的读请求的输出和针对被高速缓存在高速缓存中的到存储器控制器的写请求的输出的第一访问控制;以及
第二访问控制单元,其执行用于控制针对由主设备发出的到存储器控制器的写请求的输出的第二访问控制,
其中,存储器控制器具有接收和存储访问请求的请求缓冲器,
其中,第一访问控制单元根据请求缓冲器的空闲情况来执行第一访问控制,以及
其中,第二访问控制单元根据高速缓存的空闲情况来执行第二访问控制。
【附加注释2】
根据附加注释1的半导体装置,
其中,总线包括用于发送读请求的读请求总线和用于发送写请求的写请求总线,
其中,第一访问控制单元包括读子总线控制器、第一写子总线控制器和第一中央总线控制系统,读子总线控制器具有以对应于读请求总线的方式被布置的读请求发出控制单元,第一写子总线控制器具有以对应于在高速缓存和存储器控制器之间的请求总线的方式被布置的第一写请求发出控制单元,第一中央总线控制系统使用读子总线控制器和第一写子总线控制器来执行第一访问控制,以及其中,第二访问控制单元包括第二写子总线控制器和第二中央总线控制系统,第二写子总线控制器具有以对应于在主设备和高速缓存之间的写请求总线的方式被布置的第二写请求发出控制单元,第二中央总线控制系统使用第二写子总线控制器来执行第二访问控制。
【附加注释3】
根据附加注释2的半导体装置,
其中,第一中央总线控制系统通过控制向读请求发出控制单元的访问权限的授予来执行针对读请求的第一访问控制,以及
其中,读请求发出控制单元从主设备接收读请求,当从第一中央总线控制系统授予访问权限时,将读请求输出到存储器控制器,并且当访问权限不被授予时,抑制将读请求输出到存储器控制器。
【附加注释4】
根据附加注释3的半导体装置,
其中,第一中央总线控制系统通过控制向第一写请求发出控制单元的访问权限的授予来执行针对写请求的第一访问控制,以及
其中,第一写请求发出控制单元从高速缓存接收写请求,当从第一中央总线控制系统授予访问权限时,将写请求输出到存储器控制器,并且当访问权限不被授予时,抑制将写请求输出到存储器控制器。
【附加注释5】
根据附加注释3的半导体装置,
其中,第一中央总线控制系统通过控制表示访问许可的信号来执行针对写请求的第一访问权限并且输出到第一写请求发出控制单元,以及
其中,第一写请求发出控制单元从高速缓存接收写请求,当表示访问许可的信号从第一中央总线控制系统输出时,将写请求输出到存储器控制器,并且当表示访问许可的信号不被输出时,抑制将写请求输出到存储器控制器。
【附加注释6】
根据附加注释2的半导体装置,
其中,第二中央总线控制系统通过控制向第二写请求发出控制单元的访问权限的授予来执行第二访问控制,以及
其中,第二写请求发出控制单元从主设备接收写请求,当从第二中央总线控制系统授予访问权限时,将写请求输出到高速缓存,并且在访问权限没有被授予时,控制写请求输出到高速缓存。
【附加注释7】
根据附加注释2的半导体装置,
其中,主设备包括第一主设备,
其中,半导体装置还包括:
第二主设备;以及
互连,仲裁从第一主设备和第二主设备输入的访问请求并且将访问请求输出到存储器控制器。
【附加注释8】
根据附加注释7的半导体装置,
其中,读请求发出控制单元和第二写请求发出控制单元以对应于多个读总线和写总线的方式被布置,以用于在第一主设备和第二主设备中的每个主设备与互连之间耦合。
【附加注释9】
根据附加注释4的半导体装置,
其中,第一中央总线控制系统根据请求缓冲器的空闲条目的数目来管理待授予的权限的可能数目,待授予的权限的可能数目表示待授予的访问权限的可能数目,并且在待授予的权限的可能数目的范围内将访问权限授予读请求发出控制单元和第一写请求发出控制单元。
【附加注释10】
根据附加注释9的半导体装置,
其中,如果请求缓冲器被释放,则存储器控制器输出表示请求缓冲器已被释放到第一中央总线控制系统的缓冲器释放通知,以及其中,当访问权限被授予读请求发出控制单元和第一写请求发出控制单元时,第一中央总线控制系统从待授予的权限的可能数目中减去待授予的访问权限的数目,以及当已接收缓冲器释放通知时,将请求缓冲器中所释放的条目的数数添加到待授予的权限的可能数目。
【附加注释11】
根据附加注释10的半导体装置,
其中,当访问权限被授予时并且当未接收读请求和写请求时,读请求发出控制单元和第一写请求发出控制单元将访问权限返回到第一中央总线控制系统,以及
其中,当访问权限被返回时,第一中央总线控制系统将所返回的访问权限的数目添加到待授予的权限的可能数目。
【附加注释12】
根据附加注释10的半导体装置,
其中,高速缓存还高速缓存已从存储器读取的读数据,以及其中,当从读请求发出控制单元输出的读请求所请求的数据被高速缓存在高速缓存中时,高速缓存将所高速缓存的读数据作为针对读请求的响应而输出到作为读请求的发出者的主设备,并且将被授予读请求发出控制单元的访问权限返回到第一中央总线控制系统。
【附加注释13】
根据附加注释6的半导体装置,
其中,第二中央总线控制系统根据高速缓存的空闲条目的数目来管理待授予的权限的可能数目,待授予的权限的可能数目表示待授予的访问权限的可能数目,并且在待授予的权限的可能数目的范围内将访问权限授予第二写请求发出控制单元。
【附加注释14】
根据附加注释13的半导体装置,
其中,当访问权限被授予第二写请求发出控制单元时,第二中央总线控制系统从待授予的权限的可能数目中减去待授予的访问权限的数目,以及当高速缓存的空闲条目打的数目增加时,将所增加的空闲条目的数目添加到待授予的权限的可能数目。
【附加注释15】
根据附加注释14的半导体装置,
其中,当访问权限被授予时并且当未接收写请求时,第二写请求发出控制单元将访问权限返回到第二中央总线控制系统,以及
其中,当访问权限被返回时,第二中央总线控制系统将所返回的访问权限的数目添加到待授予的权限的可能数目。
【附加注释16】
根据附加注释4的半导体装置,
其中,第一中央总线控制系统在第一时间段内将访问权限授予读请求发出控制单元并且抑制将访问权限授予第一写请求发出控制单元,并且在第二时间段内将访问权限授予第一写请求发出控制单元并且抑制将访问权限授予读请求发出控制单元。
【附加注释17】
根据附加注释16的半导体装置,
其中,当预定的基本时隙的时间段被分成多个时间段作为子时隙,第一中央总线控制系统以子时隙为单位设置第一时间段和第二时间段。
【附加注释18】
根据附加注释17的半导体装置,
其中,第一中央总线控制系统具有用于指定子时隙是被设置在第一时间段还是第二时间段的寄存器。
【附加注释19】
根据附加注释17的半导体装置,
其中,第一中央控制系统根据高速缓存的空闲条目的数目来改变被设置在第一时段中的子时隙的数目和被设置在第二时段中的子时隙的数目。
【附加注释20】
根据附加注释17的半导体装置,
其中,在从被设置在第一时间段中的子时隙切换到被设置在第二时间段中的子时隙和从被设置在第二时间段中的子时隙切换到被设置在第一时间段中的子时隙中的至少一个中,第一中央总线控制系统在该切换定时之前的一段预定时间的定时处取消所抑制的访问权限的授予。
【附加注释21】
根据附加注释16的半导体装置,
其中,存储器被配置为能够执行刷新操作,以及
其中,第一中央总线控制系统控制存储器在第一时间段和第二时间段之间的切换定时处执行刷新操作。
【附加注释22】
根据附加注释6的半导体装置,
其中,主设备包括第一主设备,
其中,半导体装置还包括:
第二主设备;以及
互连,仲裁从第一主设备和第二主设备输入的访问请求并且将访问请求输出到存储器控制器,
其中,第二中央总线控制系统根据高速缓存的空闲条目的数目来确定是否针对第一主设备和第二主设备中的特定主设备的写请求而授予访问权限。
【附加注释23】
根据附加注释22的半导体装置,
其中,第二中央总线控制系统具有寄存器,该寄存器存储彼此相关联的第一主设备和第二设备以及高速缓存的空闲条目的数目的条件,并且从与满足条件的高速缓存的空闲条目的数目相对应的第一主设备和第二主设备中确定访问权限被授予的主设备。
【附加注释24】
一种在半导体装置中生成总线的总线发生器,包括:
总线结构信息生成单元,基于关于将包括读请求和写请求的访问请求输出到存储器的主设备的信息和关于从主设备访问的从设备的信息,该总线结构信息生成单元生成用于在主设备和从设备之间耦合的总线的结构信息;
中央总线控制单元生成单元,该中央总线控制单元生成单元使用总线的结构信息、关于临时存储写请求和执行写回的高速缓存的信息、主设备的服务质量信息和功能块的电路信息来生成中央总线控制系统的电路信息,该中央总线控制系统执行针对从主设备输出的读请求、高速缓存的写回和从主设备输出的写请求的访问控制;
子总线控制单元生成单元,该子总线控制单元生成单元使用中央总线控制系统的电路信息来生成在中央总线控制系统的控制下运行的子总线控制系统的电路信息;
总线部分生成单元,该总线部分生成单元使用总线的结构信息和功能块的电路信息来生成总线部分的电路信息;以及
合并单元,该合并单元合并中央总线控制系统的电路信息、子总线控制系统的电路信息和总线部分的电路信息,并且生成总线的电路信息。
Claims (20)
1.一种半导体装置,包括:
主设备,其向存储器发出包括读请求和写请求的访问请求;
存储器控制器,其通过总线被耦合到所述主设备,并且根据所述访问请求来访问所述存储器;
高速缓存,其被布置在所述存储器控制器和所述主设备之间,并且当所述访问请求是写请求时,高速缓存所述写请求;
第一访问控制单元,其执行第一访问控制,以用于控制针对由所述主设备发出的到所述存储器控制器的所述读请求的输出、以及针对被高速缓存在所述高速缓存中的到所述存储器控制器的所述写请求的输出;以及
第二访问控制单元,其执行第二访问控制,以用于控制针对由所述主设备发出的到所述存储器控制器的所述写请求的输出,
其中,所述第二访问控制单元根据所述高速缓存的空闲情况来执行所述第二访问控制。
2.根据权利要求1所述的半导体装置,
其中所述存储器控制器具有接收和存储所述访问请求的请求缓冲器,以及
其中所述第一访问控制单元根据所述请求缓冲器的空闲情况来执行所述第一访问控制。
3.根据权利要求2所述的半导体装置,
其中所述总线包括用于发送所述读请求的读请求总线、以及用于发送所述写请求的写请求总线,
其中所述第一访问控制单元包括读子总线控制器、第一写子总线控制器和第一中央总线控制系统,所述读子总线控制器具有以对应于所述读请求总线的方式被布置的读请求发出控制单元,所述第一写子总线控制器具有以对应于在所述高速缓存和所述存储器控制器之间的所述写请求总线的方式被布置的第一写请求发出控制单元,所述第一中央总线控制系统使用所述读子总线控制器和所述第一写子总线控制器来执行所述第一访问控制,以及
其中所述第二访问控制单元包括第二写子总线控制器和第二中央总线控制系统,所述第二写子总线控制器具有以对应于在所述主设备和所述高速缓存之间的所述写请求总线的方式被布置的第二写请求发出控制单元,所述第二中央总线控制系统使用所述第二写子总线控制器来执行所述第二访问控制。
4.根据权利要求3所述的半导体装置,
其中所述第一中央总线控制系统通过控制向所述读请求发出控制单元的访问权限的授予,来执行针对所述读请求的所述第一访问控制,以及
其中所述读请求发出控制单元从所述主设备接收所述读请求,当从所述第一中央总线控制系统授予所述访问权限时,将所述读请求输出到所述存储器控制器,并且当所述访问权限不被授予时,抑制所述读请求到所述存储器控制器的输出。
5.根据权利要求4所述的半导体装置,
其中所述第一中央总线控制系统通过控制向所述第一写请求发出控制单元的访问权限的授予,来执行针对所述写请求的所述第一访问控制,以及
其中所述第一写请求发出控制单元从所述高速缓存接收所述写请求,当从所述第一中央总线控制系统授予所述访问权限时,将所述写请求输出到所述存储器控制器,并且当所述访问权限不被授予时,抑制所述写请求到所述存储器控制器的输出。
6.根据权利要求4所述的半导体装置,
其中所述第一中央总线控制系统通过控制表示访问许可的信号来执行针对所述写请求的所述第一访问权限,并且执行对所述第一写请求发出控制单元的输出,以及
其中所述第一写请求发出控制单元从所述高速缓存接收所述写请求,当表示访问许可的所述信号从所述第一中央总线控制系统被输出时,将所述写请求输出到所述存储器控制器,并且当表示访问许可的所述信号不被输出时,抑制所述写请求到所述存储器控制器的输出。
7.根据权利要求3所述的半导体装置,
其中所述第二中央总线控制系统通过控制对所述第二写请求发出控制单元的访问权限的授予,来执行所述第二访问控制,以及
其中所述第二写请求发出控制单元从所述主设备接收所述写请求,当从所述第二中央总线控制系统授予所述访问权限时,将所述写请求输出到所述高速缓存,并且当所述访问权限没有被授予时,控制所述写请求到所述高速缓存的输出。
8.根据权利要求3所述的半导体装置,
其中所述主设备包括第一主设备,
其中所述半导体装置还包括:
第二主设备;以及
互连,其仲裁从所述第一主设备和所述第二主设备输入的访问请求,并且将所述访问请求输出到所述存储器控制器。
其中所述读请求发出控制单元和所述第二写请求发出控制单元以对应于多个读总线和写总线的方式被布置,以用于在所述第一主设备和所述第二主设备中的每一个主设备与所述互连之间耦合。
9.根据权利要求5所述的半导体装置,
其中所述第一中央总线控制系统根据所述请求缓冲器的空闲条目的数目来管理待授予的权限的可能数目,所述待授予的权限的可能数目表示待授予的访问权限的可能数目,并且在待授予的权限的可能数目范围内,将所述访问权限授予给所述读请求发出控制单元和所述第一写请求发出控制单元。
10.根据权利要求9所述的半导体装置,
其中如果所述请求缓冲器被释放,则所述存储器控制器输出表示所述请求缓冲器已被释放到所述第一中央总线控制系统的缓冲器释放通知,以及
其中当所述访问权限被授予给所述读请求发出控制单元和所述第一写请求发出控制单元时,所述第一中央总线控制系统从所述待授予的权限的可能数目中减去待授予的访问权限的数目,以及当所述缓冲器释放通知已经被接收时,将所述请求缓冲器中所释放的条目的数目添加到待授予的权限的所述可能数目。
11.根据权利要求10所述的半导体装置,
其中所述高速缓存还高速缓存已从所述存储器读取的读数据,以及
其中当由从所述读请求发出控制单元输出的读请求所请求的数据被高速缓存在所述高速缓存中时,所述高速缓存将高速缓存的读数据作为针对所述读请求的响应而输出到作为所述读请求的发出者的所述主设备,并且将被授予所述读请求发出控制单元的访问权限返回到所述第一中央总线控制系统。
12.根据权利要求7所述的半导体装置,
其中所述第二中央总线控制系统根据所述高速缓存的空闲条目的数目,来管理表示待授予的访问权限的可能数目的待授予的权限的可能数目,并且在待授予的权限的可能数目的范围内,将所述访问权限授予给所述第二写请求发出控制单元。
13.根据权利要求12所述的半导体装置,
其中当所述访问权限被授予给所述第二写请求发出控制单元时,所述第二中央总线控制系统从待授予的权限的所述可能数目中减去待授予的访问权限的数目,以及当所述高速缓存的空闲条目的数目增加时,将空闲条目的所增加的所述数目添加到待授予的权限的所述可能数目。
14.根据权利要求5所述的半导体装置,
其中所述第一中央总线控制系统在第一时间段内,将所述访问权限授予给所述读请求发出控制单元,并且抑制将所述访问权限授予给所述第一写请求发出控制单元,并且在第二时间段内,将所述访问权限授予给所述第一写请求发出控制单元,并且抑制将所述访问权限授予给所述读请求发出控制单元。
15.根据权利要求14所述的半导体装置,
其中当预定的基本时隙的时间段被分成多个时间段作为子时隙时,所述第一中央总线控制系统以子时隙为单位设置所述第一时间段和所述第二时间段。
16.根据权利要求14所述的半导体装置,
其中所述第一中央控制系统根据所述高速缓存的空闲条目的数目,来改变被设置在所述第一时段中的子时隙的数目、以及被设置在所述第二时段中的子时隙的数目。
17.根据权利要求15所述的半导体装置,
其中在从被设置在所述第一时间段中的所述子时隙切换到被设置在所述第二时间段中的所述子时隙、以及从被设置在所述第二时间段中的所述子时隙切换到被设置在所述第一时间段中的所述子时隙中的至少一个中,所述第一中央总线控制系统在所述切换的定时之前的预定时间的定时处,取消所述访问权限的所抑制的所述授予。
18.根据权利要求14所述的半导体装置,
其中所述存储器被配置为能够执行刷新操作,以及
其中所述第一中央总线控制系统控制所述存储器,以在所述第一时间段和所述第二时间段之间的切换定时处,执行所述刷新操作。
19.根据权利要求7所述的半导体装置,
其中所述主设备包括第一主设备,
其中所述半导体装置还包括:
第二主设备;以及
互连,其仲裁从所述第一主设备和所述第二主设备输入的访问请求,并且将所述访问请求输出到所述存储器控制器,
其中所述第二中央总线控制系统根据所述高速缓存的空闲条目的数目,来确定是否针对所述第一主设备和所述第二主设备中的特定主设备的写请求而授予所述访问权限。
20.一种在半导体装置中生成总线的总线发生器,包括
总线结构信息生成单元,其基于关于将包括读请求和写请求的访问请求输出到所述存储器的主设备的信息、以及关于从所述主设备访问的从设备的信息,生成用于在所述主设备和所述从设备之间耦合的总线的结构信息;
中央总线控制单元生成单元,其使用如下来生成执行针对由所述主设备输出的读请求、所述高速缓存的写回和由所述主设备输出的写请求的访问控制的中央总线控制系统的电路信息:所述总线的所述结构信息、关于临时存储所述写请求和执行所述写回的高速缓存的信息、所述主设备的服务质量信息和功能块的电路信息;
子总线控制单元生成单元,其使用所述中央总线控制系统的所述电路信息,来生成在所述中央总线控制系统的控制下操作的子总线控制系统的电路信息;
总线部分生成单元,其使用所述总线的所述结构信息和所述功能块的所述电路信息来生成总线部分的电路信息;以及
合并单元,其合并所述中央总线控制系统的所述电路信息、所述子总线控制系统的所述电路信息和所述总线部分的所述电路信息,并且生成所述总线的电路信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017246433A JP6946168B2 (ja) | 2017-12-22 | 2017-12-22 | 半導体装置 |
JP2017-246433 | 2017-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110059035A true CN110059035A (zh) | 2019-07-26 |
CN110059035B CN110059035B (zh) | 2023-10-17 |
Family
ID=64755234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811590815.4A Active CN110059035B (zh) | 2017-12-22 | 2018-12-21 | 半导体装置和总线发生器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11188488B2 (zh) |
EP (2) | EP3872644B1 (zh) |
JP (1) | JP6946168B2 (zh) |
KR (1) | KR20190076869A (zh) |
CN (1) | CN110059035B (zh) |
TW (1) | TW201935259A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968881A (zh) * | 2021-02-25 | 2022-08-30 | 精工爱普生株式会社 | 电路装置和电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
CN110299164B (zh) * | 2019-06-28 | 2021-10-26 | 西安紫光国芯半导体有限公司 | 一种自适应dram刷新控制方法和dram刷新控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2341765A (en) * | 1998-09-18 | 2000-03-22 | Pixelfusion Ltd | Bus idle usage |
US6189075B1 (en) * | 1997-02-05 | 2001-02-13 | Sgs-Thomson Microelectronics S.A. | Circuit for the management of memories in a multiple-user environment with access request and priority |
US20040107265A1 (en) * | 2002-11-19 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd | Shared memory data transfer apparatus |
US20110173393A1 (en) * | 2008-09-24 | 2011-07-14 | Panasonic Corporation | Cache memory, memory system, and control method therefor |
US20170270063A1 (en) * | 2015-10-01 | 2017-09-21 | Renesas Electronics Corporation | Semiconductor device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI252409B (en) * | 2004-04-26 | 2006-04-01 | Sunplus Technology Co Ltd | Enhanced expandable time-sharing bus device |
JP2008299438A (ja) * | 2007-05-29 | 2008-12-11 | Yamaha Corp | メモリ制御装置 |
KR101620460B1 (ko) * | 2010-05-04 | 2016-05-13 | 삼성전자주식회사 | 인터커넥트, 그것을 포함하는 버스 시스템 그리고 버스 시스템의 동작 방법 |
US11392517B2 (en) * | 2014-09-10 | 2022-07-19 | Sony Group Corporation | Access control method, bus system, and semiconductor device |
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2017
- 2017-12-22 JP JP2017246433A patent/JP6946168B2/ja active Active
-
2018
- 2018-11-13 US US16/189,355 patent/US11188488B2/en active Active
- 2018-12-14 TW TW107145114A patent/TW201935259A/zh unknown
- 2018-12-18 KR KR1020180164323A patent/KR20190076869A/ko not_active Application Discontinuation
- 2018-12-20 EP EP21164812.6A patent/EP3872644B1/en active Active
- 2018-12-20 EP EP18214763.7A patent/EP3502909B1/en active Active
- 2018-12-21 CN CN201811590815.4A patent/CN110059035B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6189075B1 (en) * | 1997-02-05 | 2001-02-13 | Sgs-Thomson Microelectronics S.A. | Circuit for the management of memories in a multiple-user environment with access request and priority |
GB2341765A (en) * | 1998-09-18 | 2000-03-22 | Pixelfusion Ltd | Bus idle usage |
US20040107265A1 (en) * | 2002-11-19 | 2004-06-03 | Matsushita Electric Industrial Co., Ltd | Shared memory data transfer apparatus |
US20110173393A1 (en) * | 2008-09-24 | 2011-07-14 | Panasonic Corporation | Cache memory, memory system, and control method therefor |
US20170270063A1 (en) * | 2015-10-01 | 2017-09-21 | Renesas Electronics Corporation | Semiconductor device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114968881A (zh) * | 2021-02-25 | 2022-08-30 | 精工爱普生株式会社 | 电路装置和电子设备 |
CN114968881B (zh) * | 2021-02-25 | 2023-12-05 | 精工爱普生株式会社 | 电路装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3872644A1 (en) | 2021-09-01 |
EP3502909A2 (en) | 2019-06-26 |
TW201935259A (zh) | 2019-09-01 |
EP3872644B1 (en) | 2023-05-24 |
JP2019114015A (ja) | 2019-07-11 |
EP3502909B1 (en) | 2021-04-07 |
CN110059035B (zh) | 2023-10-17 |
US11188488B2 (en) | 2021-11-30 |
JP6946168B2 (ja) | 2021-10-06 |
US20190196997A1 (en) | 2019-06-27 |
EP3502909A3 (en) | 2019-09-11 |
KR20190076869A (ko) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4852413B2 (ja) | 機能ブロックの間の調停のさまざまな方法と装置 | |
CN103870394B (zh) | 基于保留优先级的缓存替换策略 | |
CN110059035A (zh) | 半导体装置和总线发生器 | |
CN110178124A (zh) | 划分tlb或缓存分配 | |
US6820152B2 (en) | Memory control device and LSI | |
CN110168502A (zh) | 存储器划分 | |
KR20130031258A (ko) | 액세스 레이턴시를 감소시키기 위한 버스 중재 기술들 | |
WO2012167526A1 (zh) | 一种片上总线仲裁方法及装置 | |
CN110168501A (zh) | 存储器系统资源或性能监测的划分 | |
CN110168500A (zh) | 存储器系统资源或性能监测的划分 | |
US10162757B2 (en) | Proactive cache coherence | |
CN106856663A (zh) | 半导体装置 | |
EP2625619B1 (en) | Arbitrating stream transactions based on information related to the stream transaction(s) | |
CN106844232A (zh) | 一种面向多核处理器的共享末级高速缓存访存方法和装置 | |
CN113826085A (zh) | 处理器中的写入流 | |
JP6687845B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
WO2021122408A1 (en) | Cache snooping mode extending coherence protection for certain requests | |
CN110633232A (zh) | 半导体器件和总线生成器 | |
JP3987750B2 (ja) | メモリ制御装置及びlsi | |
CN114641760A (zh) | 在基于处理器的设备中支持跨连贯颗粒边界的原子存储器访问 | |
US20230044350A1 (en) | Targeting of lateral castouts in a data processing system | |
JP7018834B2 (ja) | 半導体装置 | |
GB2618366A (en) | Interrupt controller, apparatus, interrupt control method and computer-readable medium | |
JP2007304830A (ja) | 情報先行取得による調停方法および調停装置 | |
CN103201728B (zh) | 基于与流事务有关的信息来仲裁流事务 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |