专利汇可以提供Dynamic Data Transfer Control Method and Apparatus for Shared SMP Computer Systems专利检索,专利查询,专利分析的服务。并且As a performance critical (high or full speed) request for a computer system data bus travels down a central pipeline, the system detects whether the interface data bus is currently empty or there is an ongoing half-speed transfer. If there is an ongoing low speed transfer, the system dynamically time shift or slows down the read rate out of the interleave buffer to half speed, and utilizes the free half of the bandwidth. This dynamic “zippering” or time shifting of data prevents a pipe pass from being rejected because the whole data bus is unavailable.,下面是Dynamic Data Transfer Control Method and Apparatus for Shared SMP Computer Systems专利的具体信息内容。
What is claimed is:
This invention relates to computer system design and particularly to data transfers through a shared chip to chip interface.
Heretofore, allocating usage for a shared interface that sends data between two chips at two different speeds depending on the type of transfer resulted in all transfers taking place at a slower rate of speed. This solution is for scenarios where an interface is shared by several different requesters, some which transfer data at one data shot every clock cycle (full or high speed), and some which transfer data at one data shot every other cycle (half or low speed). Requests that are designed to transfer data at full speed are more critical to system performance than requests that are designed to transfer data at half speed.
A simple solution is to block a high speed transfer request when an ongoing low speed transfer is going on. However, this would result in a solution that has performance critical requests stuck behind less critical half speed transfers that last twice as long and only use half the available bus bandwidth. This is a severe performance degradation.
The shortcomings of such prior arrangements are overcome and additional advantages are provided through the utilization of the extra half of bus bandwidth for performance critical data transfers. Performance critical data transfers are transfers from the cache interleaves to the chip interface. Access to the interface is serialized via a central pipeline. As a performance critical (high or full speed request for the data bus travels down the central pipeline, the system detects whether the interface data bus is currently empty or there is an ongoing half-speed transfer. If there is an ongoing low speed transfer, the system will dynamically slow down the read rate out of the interleave buffer to half speed, and utilize the free half of the bandwidth. This dynamic zippering or time shifting of data prevents a pipe pass from being rejected because the whole data bus is unavailable.
Additionally, a new interface request that arrives during an ongoing half speed transfer can be skewed by one cycle to line up with the unused bus cycles. This prevents the request that arrives in the ‘busy’ cycle from being rejected and having to retry its pipe pass.
Some of the puts of the invention having been stated, others will appear as the description proceeds, when taken in connection with the accompanying drawings, in which:
While the present invention will be described more fully hereinafter with reference to the accompanying drawings, in which a preferred embodiment of the present invention is shown, it is to be understood at the outset of the description which follows that persons of skill in the appropriate arts may modify the invention here described while still achieving the favorable results of the invention. Accordingly, the description which follows is to be understood as being a broad, teaching disclosure directed to persons of skill in the appropriate arts, and not as limiting upon the present invention.
Turning now to the drawings in greater detail, it will be seen in
The remaining portion of the flowchart handles the decisions required to determine whether or not to dynamically slow down the data. A decision point 121 determines if the full data bus is available or if half the bus is currently in use. If it is determined that the full bus is available, and a hardware disable switch 122 is set to enable full speed transfers, the data is read out of the buffer and sent across the interface at full speed as indicated at 130.
However, if the determination is that only half the bus is available the hardware will have to trigger a dynamic data slowdown and enable the new request to be “zippered” onto the available half of the bus, interleaving with the ongoing data transfer. Since this interleaving can be selectively disabled, the interface arbitration hardware first must determine the setting of a zipper enable disable switch via a decision point indicated at 140. If the zipper or time shifting function is disabled, the request is rejected and the data transfer is cancelled as indicated at 180. The request 101 will not gain access to the interface at this time. The request 101 for use of the interface must then be retried as indicated at 181. If the zipper function is enabled, a special zipper signal is sent to the buffer dataflow read controls and interface muxing, as indicated at 141, indicating that the read rate should be decreased to one data entry every other cycle. At this point, the logic knows half the bus is available, but since there is a fixed timing between the arrival of the request 101 and the cycle in which the data is read out of the buffer and onto the interface data bus, the request 101 has a fifty percent chance of arriving in a cycle that lines up with the free half of the data bus. The bus arbitration hardware must decide if the request arrival lines up with the free half of the bus as indicated at 150. If it does, no further action is required; the zipper signal 141 will trigger the dataflow to send the data over the interface at half speed as indicated at 170.
If it is determined at step 150 that the arrival of the request 101 does not line up with the free portion of the bus, a one cycle ‘skew’ is required. The ‘skew’ involves delaying the first cycle of the response and data bus access for request 101 by one cycle to avoid data collisions between the new request's data and the ongoing data transfer. The timing relationship between the response and the data bus must be maintained, so the response bus must be delayed as well. As long as the skew is enabled as indicated at 151, the response and data will be sent with a one cycle delay as indicated at 161. The bus arbitration logic delays the response bus on its own, and notifies the dataflow buffer read controls and interface multiplexers of the delay by sending a unique ‘skew’ signal 160 to the dataflow. If however, the ‘skew’ functionality is disabled for any reason, the request 101 is rejected and the data transfer is cancelled 180. The request 101 will not gain access to the interface at this time. The request 101 for use of the interface must then be retried 181.
Due to narrow chip interface data bus wits, data transfers require multiple cycles to complete. In addition, due to varying transfer rates, the control flow logic described previously must decide what rate to transfer the data (full speed or half speed) and whether to skew the data return relative to the request (1 cycle delayed or no delay).
In this embodiment, the cache array is sliced into multiple interleaves and each interleave has a dedicated cache interleave data bus 201. This allows multiple cache army reads to be active simultaneously. A data transfer request may source data from one or more of the cache interleave buses. The access delay of the cache interleaves 201 is fixed relative to the request passing through the pipe. In addition, the data is always supplied at a fixed rate equivalent to the full-speed interface rate. The data flow is able to accommodate the differences in timing and bandwidth between the data source and destination.
Data returns at full speed with no time delay 130 occur when the bus is fully available. For this data transfer type, data moves from the appropriate cache interleave buses 201 to the chip interface 212 through one of the cache interleave multiplexers 202, 203, the bypass multiplexer 206, the bypass staging register 207, and the interface multiplexer 211. All subsequent data shots—the second through the last data shots—follow the same path through the dataflow until the data transfer completes. The data buffer register files 204, 205, which can store an entire data transfer, are bypassed in this case to avoid incurring the write and read access delay associated with these storage elements, thus this path is referred to as the “bypass” data path.
Data returns at half-speed with no time delay 170 occur when the transfer request aligns with an available cycle on the interface and there is already another half-speed transfer in progress. In this scenario, the data flow will return the first cycle of data using the “bypass” data path, which is the same path used by the full speed with no delay return so the first cycle of data is not delayed. All subsequent data, shots—the second through last data shots—are written Into and read out one of the cache interleave (ILV) data buffers 204, 205, to store the cache Interleave data read from the cache arrays at full-speed. Data read out of the ILV buffers passes through a multiplexer 209 and stage 210 before being multiplexed with the “bypass” data 211. The stage 210 at the output of the data buffers 204, 205 is to accommodate the read access delay incurred when reading the storage element.
Data returns at half-speed with a one cycle delay are used to align a new half-speed transfer with an existing half-speed transfer. To align the first data shot to the available interface cycle, the cache interleave data 201 is written into an available ILV buffer 204, 205 and staged 210 before being passed to the chip interface. The ILV buffer is written with the entire data transfer at the full-speed rate, while the buffer is read at the half-speed rate.
There are two parallel data paths 202, 203 and data buffers 204, 205 from the cache interleaves to the chip interface in order to support two half-speed transfers simultaneously. Selection between the two data paths and data buffers is determined by availability. The control flow will prevent collisions between an existing data transfer and a new transfer.
The first beat of the two cycle response 331 which always accompanies the data transfer is active on the chip to chip Interface the same cycle the ‘zipper’ signal 313 is sent to the dataflow controls. The second response beat 332 follows one cycle afterwards. The interface specification requires that the first shot of data 335 follow the second response beat 332 by two cycles. The buffer outgate multiplexer select 322 activation triggers the arrival of the data on the free half of the interface 334 two cycles later.
The first beat of the two cycle response 431 which always accompanies the data transfer is active on the chip to chip interface the cycle after the ‘zipper’ signal 413 and the ‘skew’ signal 414 are sent to the dataflow controls. The second response beat 432 follows one cycle after the first response beat. The interface specification requires that the first shot of data 435 follow the second response beat 432 by two cycles. The buffer outgate multiplexer select 422 activation triggers the arrival of the data on the free half of the interface 434 two cycles later. The response arbitration logic remembers that the ‘skew’ signal 414 was sent to the dataflow and delays the launch of each of the response beats (431, 432) by one cycle.
The capabilities of the present invention can be implemented. In software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media, indicated at 500 in
The flow diagrams depicted herein are just examples. There nay be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
In the drawings and specifications there has been set forth a preferred embodiment of the invention and, although specific terms are used, the description thus given uses terminology in a generic and descriptive sense only and not for purposes of limitation.
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种显示设备视频信号转换方法及转换装置 | 2020-05-08 | 818 |
用于实施近场通信的电路、方法和设备 | 2020-05-08 | 758 |
存储装置及数据访问方法 | 2020-05-11 | 724 |
一种港口起重机大车轨道在线检测系统 | 2020-05-11 | 736 |
半导体器件以及包括其的半导体系统 | 2020-05-08 | 173 |
一种热敏打印模块 | 2020-05-08 | 311 |
存储器访问装置、图像处理装置和摄像装置 | 2020-05-08 | 371 |
执行确定性推理的组合处理装置、芯片和方法 | 2020-05-08 | 364 |
基于LoRa的无线扬尘采集系统 | 2020-05-08 | 602 |
油田高压注水机械仪表数据采集传输装置 | 2020-05-08 | 653 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。