WO2015018237A1 - 基于超宽总线的芯片架构及其数据访问方法 - Google Patents

基于超宽总线的芯片架构及其数据访问方法 Download PDF

Info

Publication number
WO2015018237A1
WO2015018237A1 PCT/CN2014/080566 CN2014080566W WO2015018237A1 WO 2015018237 A1 WO2015018237 A1 WO 2015018237A1 CN 2014080566 W CN2014080566 W CN 2014080566W WO 2015018237 A1 WO2015018237 A1 WO 2015018237A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
access
bus
data
access unit
Prior art date
Application number
PCT/CN2014/080566
Other languages
English (en)
French (fr)
Inventor
赵立新
兰军强
朱磊
龚大年
章涛
Original Assignee
格科微电子(上海)有限公司
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 格科微电子(上海)有限公司 filed Critical 格科微电子(上海)有限公司
Publication of WO2015018237A1 publication Critical patent/WO2015018237A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip
    • 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

Definitions

  • the invention relates to a chip architecture based on an ultra-wide bus and a data access method thereof.
  • the present invention relates to the field of computers, and in particular, to a chip architecture based on an ultra-wide bus and a data access method of the chip architecture.
  • SoC system-on-a-chip
  • a complete system typically includes a central processing unit (CPU), multiple digital and analog IP cores, memory, and peripheral component circuitry.
  • CPU central processing unit
  • IP cores multiple digital and analog IP cores
  • memory multiple digital and analog IP cores
  • peripheral component circuitry peripheral component circuitry
  • FIG. 1 is a schematic structural diagram of a prior art system level chip architecture.
  • a multi-core central processing unit (CPU), a graphics processing unit (GPU), a video codec, and an image data processor ( Image Signal Processor (ISP) needs to read and write off-chip memory (DDR).
  • CPU central processing unit
  • GPU graphics processing unit
  • ISP Image Signal Processor
  • the system bandwidth requirements are the highest Often multimedia modules, such as: One channel of high-definition video (1920x1080, 30fps) requires up to 500Mbytes/sec. The memory access requests and data of these high-bandwidth modules must go through the data bus with other memory access requests, and the arbitrator wins the opportunity to access the DDR.
  • This architecture has two major drawbacks. First, system performance is limited by the DDR data bus width (for example: 16bit or 32bit is required in mobile phone systems). In order to meet performance requirements, the frequency of the DDR bus must be very high (for example: up to 800MHz). High frequencies are bound to cause high power consumption in the system.
  • a chip architecture chip based on an ultra-wide bus includes: a chip, the chip includes a first operation unit and at least one second operation unit; a memory, the memory a first access unit and at least one second access unit; a first bus configured to connect the first arithmetic unit and the second arithmetic unit to the first access unit; a second bus configured to be adapted Connecting the second arithmetic unit to a corresponding second Access unit.
  • the first bus or the second bus is an ultra-wide bus; or the first bus and the second bus form a branch of an ultra-wide bus or an ultra-wide bus.
  • the first access unit is publicly accessed by the first operation unit or the at least one second operation unit through the ultra-wide bus or the ultra-wide bus.
  • the first operation unit can only access the first access unit.
  • the method further includes: an address management unit, configured to allocate a different address for the first access unit and the second access unit connected to the second operation unit.
  • the method further includes: an address identifying unit, configured to apply, according to the address allocated by the address management unit, the access unit corresponding to the address.
  • the bandwidth of the ultra-wide bus is greater than 64 bits.
  • the memory includes: at least one of SDRAM, DDR, DDR2, DDR3, DDR4, and RDRAM.
  • the bandwidth requirement of the second computing unit is higher than the bandwidth requirement of the first computing unit.
  • the second operation unit includes: one or more of a graphics operation unit, a video decoder, and an image data processor.
  • the number of the second access units is equal to the number of the second operation units.
  • the storage capacity of the second access unit is proportional to the bandwidth requirement of the corresponding second computing unit.
  • the storage capacity of the second access unit is at least one storage array.
  • the method further includes: a data bus arbiter configured to: when the data request to the first access unit is greater than one, determine, by the first bus, according to an arbitration rule Accessing an arithmetic unit of the first access unit.
  • a data access method based on an ultra-wide bus-based chip architecture including: when the data access request is from a second operation unit in the chip, identifying the first data stored in the memory An access unit or a corresponding second access unit; if the data is stored in the second access unit, accessing the second access unit through a second bus; if the data is stored in the first access unit, The first access unit is then accessed through the first bus.
  • the bandwidth of the ultra-wide bus is greater than 64 bits.
  • the memory includes: at least one of SDRAM, DDR, DDR2, DDR3, DDR4, and RDRAM.
  • the identifying, by the first access unit or the second access unit, the data stored in the memory comprises: identifying the first access unit or the second access unit according to an address.
  • the method further includes: accessing the first access unit by using the first bus when the data access request is from a first operation unit in a chip.
  • the method further includes: when the data access request to the first access unit is greater than one, determining, by data bus arbitration, accessing the operation unit of the first access unit by using the first bus.
  • the bandwidth requirement of the second computing unit is higher than the bandwidth requirement of the first computing unit.
  • the technical solution of the present invention has the following advantages: dividing the memory chip into the first access unit and the second access unit, the first access unit is a common space shared by all the operation units, and the second access unit is the second Dedicated unit Space, the data with large bandwidth requirements in the SoC system is offloaded to the dedicated space.
  • the second computing unit accesses the dedicated space through the exclusive ultra-wide bus to realize data reading, and does not need to participate in the memory bandwidth together with other memory access requests, thereby ensuring that the second computing unit with large bandwidth requirement can obtain low access delay and High access efficiency, which greatly improves the overall performance of the system.
  • the access space of the public space can be alleviated, thereby reducing the requirements of the system hardware, thereby reducing the system power consumption.
  • the special space and the public space are distinguished by different addresses, and the operation is simple and reasonable, and only the driver of the corresponding module needs to be modified, thereby largely avoiding the influence on the operating system and the upper layer software.
  • the storage capacity of each dedicated space is allocated according to the bandwidth requirement, so that the access speed of each dedicated space is balanced, the effective bandwidth can be more fully utilized, and the overall performance of the system is more effectively improved.
  • FIG. 1 is a schematic diagram of a prior art structure of a system-on-a-chip architecture
  • FIG. 2 is a circuit diagram of a bus structure
  • FIG. 3 is a schematic structural view of a first embodiment of a chip architecture according to the present invention
  • FIG. 5 is a schematic flowchart of a first embodiment of a data access method according to the present invention
  • FIG. 6 is a schematic flowchart of a second embodiment of a data access method according to the present invention.
  • the inventor proposed a new system-level chip architecture based on the related ultra-wide bus packaging technology, thereby making full use of the memory bandwidth advantage brought by the ultra-wide bus and breaking through the memory. "Wall" doubles the overall performance of a system-on-a-chip system at the same power consumption, or significantly reduces power consumption at the same performance (power consumption is the most important performance in embedded applications such as cell phones, PADs, MIDI, etc.) index).
  • 2 is a circuit diagram of a bus structure. As shown in FIG. 2, the bus structure includes: a memory array 10, a control logic circuit 20, an interface conversion logic circuit 30, an original bus 40, and an ultra-wide bus 40'.
  • the control logic circuit 20 includes: a row address latch, a memory array control circuit, a column address latch, a bit selection logic circuit, etc., for controlling the memory array to implement read and write operations on a specific memory cell in the bank. .
  • the interface conversion logic circuit 30 is configured to serially convert the data read from the bank and transmit it from a specific interface. The data bus width through the interface conversion logic circuit 30 will be greatly limited.
  • the original bus 40 includes: an original address bus and an original data bus. As shown in FIG. 2, the original address bus width is generally about 15 bits, and the original data bus width is generally 4, 8, and 16 bits.
  • the original data bus width before the conversion of the interface logic conversion circuit string is 16 bits, and the original data bus width after the interface logic conversion circuit string is converted to 4 bits.
  • the serial and converted original data bus will eventually be connected to the signal pad (not shown) to meet the tradition.
  • the ultra-wide bus 40 includes: an ultra-wide address bus and an ultra-wide data bus. As shown in FIG. 2, the width of the ultra-wide bus 40' is significantly wider than the original bus 40. Specifically, the ultra-wide address bus can be divided into multiple channels (for example, 2, 4, 8 channels, etc., which are only indicated by 1 way in this embodiment), and each path width is about 32 bits.
  • the ultra-wide data bus can also be divided into multiple channels, each of which can be 64, 128, 256 bits wide or even wider. In this embodiment, the ultra-wide data bus has a width of 128 bits.
  • the ultra-wide data bus does not pass through the interface conversion logic circuit 30, but is directly connected to the micro-pad (not shown) along with the ultra-wide address bus to meet the needs of the conventional chip package.
  • the specific working process of the circuit is as follows: First, the address of the memory cell requiring a read/write operation is directly transferred to the row address latch and the column address via the ultra-wide address bus (width 32 bits) Latch.
  • the row address latch selects a corresponding row of a bank in the memory array via the original address bus.
  • the column address is latched by the bit selection logic to select a memory cell of a corresponding column of the corresponding row.
  • a read/write operation is performed on the storage unit.
  • the data in the memory unit is directly transmitted to the external interface of the chip (ie, the micro pad) via the ultra-wide data bus (width 128 bits). Since this ultra-wide bus is directly taken from the bank of the memory array without serial-to-parallel conversion, the bus bandwidth can be greatly increased. It should be noted that the present invention does not specifically limit the bus structure and the forming method. Those skilled in the art can understand that the ultra-wide bus using other prior art can also be applied to the present invention, for example: applied to the Samsung Wide-IO memory. In the ultra wide bus and so on.
  • FIG. 3 is a schematic structural diagram of a first embodiment of a chip architecture according to the present invention.
  • the chip architecture of this embodiment includes: a chip U11, an off-chip memory U12, a first bus U13, and a second bus U14.
  • the chip U11 includes: one first arithmetic unit U111 and three first Two arithmetic units U112a, U112b, U112C.
  • the first computing unit U111 is a central processing unit CPU.
  • the second computing unit is a multimedia module with high system bandwidth requirements, and the bandwidth requirement is significantly higher than the first computing unit.
  • the second operation unit U112a is a graphics processing unit GPU
  • the second operation unit U112b is a video codec Video Codec
  • the second operation unit U112c is an image data processor ISP.
  • the present invention does not specifically limit the number of second arithmetic units and the implemented logical functions.
  • the second arithmetic unit enumerated in this embodiment is intended to specifically describe the technical solution.
  • the second computing unit can be any hardware module with high bandwidth requirements, such as: network packet processing module, audio processing unit, and the like.
  • the off-chip memory U12 includes: one first access unit U121 and three second access units U122a, U122b, and U122c.
  • the off-chip memory U12 may be at least one of SDRAM, DDR, DDR2, DDR3, DDR4, and RDRAM.
  • the present invention does not specifically limit this.
  • This embodiment takes DDR as an example.
  • the first access unit U121 is a memory space shared by the first operation unit U111 and the second operation units U112a, U112b, and U112C, and is used for data exchange between the operation units, for example: When the second operation unit U112c processes the image or video data and needs to be handed over to the second operation unit U112b to continue processing, the second operation unit U112c writes the processing result to the first access unit U121, the second operation The unit U112b reads the processing result from the first access unit U121.
  • the second access units U122a, U122b, and U122c are the second arithmetic unit
  • the first operation unit U111 does not access the second access units U122a, U122b, and U122c.
  • the second access unit U122a is used exclusively by the second computing unit U112a
  • the second access unit U122b is used by the second computing unit U112b
  • the second access unit U122c is the first
  • the second arithmetic unit U112c is used exclusively.
  • the second access units U122a, U122b, and U122c may store intermediate calculation data required for processing by the respective dedicated second arithmetic unit and do not need to be exchanged with other arithmetic units.
  • the number of the second access units is the same as the number of the second operation units (that is, each second operation unit uses a second access unit separately), but the present invention does not specifically limit this.
  • a plurality of second access units may be allocated to one second computing unit according to different actual requirements of storage capacity, operation speed, etc., or a plurality of second computing units may share one second access unit.
  • the first bus U13 and the second bus U14 may form a split of an ultra-wide bus or an ultra-wide bus. For example: Take the ultra-wide bus shown in Figure 2 as an example. The width of the ultra-wide data bus is 128 bits, which is divided into 4 channels.
  • the first bus U13 connects the first arithmetic unit U111 and the second arithmetic units U112a, U112b, U112c to the first access unit U121.
  • the second bus unit U14 independently connects the second operation unit U112a to the second access unit U122a, the second operation unit U112b is connected to the second access unit U122b, the second operation unit U112c Connected to the second access unit U122c.
  • the chip architecture of the embodiment further includes: an address management unit (not shown), configured to be a first access unit U121 and a second access unit U122a connected to each of the second computing units U112a, U112b, and U112c. , U122b, U122c assign different addresses.
  • the chip architecture of this embodiment further includes: an address identifying unit (not shown), and identifying, according to the allocated different address, whether the second operating unit needs to access the first access unit or the second access unit that is used exclusively by the second computing unit. For example, the first access unit is assigned a lower address between 0 and 32M, and each second access unit is assigned a higher address greater than 32M.
  • the first access unit and the second access unit are distinguished by different addresses, mainly considering minimizing the impact on the entire software system due to changes in the chip architecture.
  • the access unit and the second access unit allocate different addresses, so that the memory management (allocation, release, etc.) provided by the operating system kernel does not need to be changed, and has no effect on the middle layer and application software above the operating system.
  • the only thing that needs to be changed is the software driver for the second unit.
  • the memory address is divided into two types: a public (corresponding to the first access unit) and a private (corresponding to the second access unit).
  • the driver of the second operation unit needs to distinguish between the second operation unit and the second operation unit.
  • the first access unit is also the second access unit.
  • the computing unit is divided into two types according to bandwidth requirements: a general bandwidth requirement and a high bandwidth requirement, and the entire memory is divided into a first access unit and a plurality of second access units. And dividing the entire ultra-wide data bus into a first bus and a second bus, the high-bandwidth computing unit accesses its dedicated second access unit through its dedicated second bus, without having to go through bus arbitration and other computing units. Memory bandwidth, thus enjoying extremely low access latency and extremely high memory access efficiency. At the same time, since the data access bandwidth of the second access unit usually occupies the majority of the entire system-level chip bandwidth, the specialization is made to reduce the bandwidth requirement of the first access unit, thereby greatly improving the access efficiency of the first access unit.
  • FIG. 4 is a schematic structural view of a second embodiment of a chip architecture of the present invention.
  • the same parts as the previous embodiment will not be described again here.
  • the embodiment includes: a chip U21, an off-chip memory U22, a first bus U23, a second bus U24, and a data bus arbiter U25.
  • the chip U21 includes: two first arithmetic units U211a, U211b and three second arithmetic units U212a, U212b, U212c.
  • the first computing unit U211a is a central processing unit CPU, and the first computing unit U211b is an operating system module.
  • the second operation unit 212a is a graphics processing unit GPU, the second operation unit 212b is a video codec Video Codec, and the second operation unit 212c is an image data processor ISP.
  • the off-chip memory U22 is a DDR chip with a storage capacity of 256 Mbytes. Provides a 512-bit data bus width. Specifically, the off-chip memory U22 is composed of 8 storage arrays (shown by dashed lines in the figure), and each storage array has a storage capacity of 32 Mbytes.
  • the off-chip memory U22 is internally divided into a first access unit U221 and three second access units U222a, U222b, and U222c.
  • the first access unit U221 is shared by two first computing units U211a, U211b and three second computing units U212a, U212b, U212c, which are composed of four storage arrays, and have a storage capacity of 128 Mbytes (ie: 32M). *4).
  • the second access unit U222a is dedicated to the second computing unit U212a, and is composed of two storage arrays, and has a storage capacity of 64 Mbytes (ie, 32 M*2).
  • the second access units U222b and U222c are each composed of one storage array, and the storage capacity is 32 Mbytes.
  • the second access units U222b and U222c are memory spaces shared by the second arithmetic units U212b and U212c. It should be noted that, in this embodiment, in order to more fully utilize the memory space, the storage capacity of the second access unit is proportional to the bandwidth requirement of the corresponding second computing unit, and the bandwidth requirement is higher, and the bandwidth is allocated thereto. The second arithmetic unit is larger. Those skilled in the art can understand that the memory allocation storage capacity is generally in units of a storage array, and therefore, the storage capacity of the second access unit is at least one storage array.
  • the data bus arbiter 25 is configured to be adapted to access the first access unit U221 from the first arithmetic unit and the second operational unit having a data access request to the first access unit U221 according to an arbitration rule, and the present invention is directed to arbitration.
  • the rules are not specifically limited.
  • the first bus U23 connects the first arithmetic unit U211a, U211b and the second arithmetic unit U212a, U212b, U212c to the first access unit U221.
  • the first access unit U221 can be accessed by the first computing unit U211a, U211b or the second computing unit U212a, U212b, U212c through the first bus U23.
  • the first computing units U211a, U211b can only access the first access unit U221, but cannot access the second access units U222a, U222b, U222c.
  • the first arithmetic unit U211a, U211b and the second arithmetic unit U212a, U212b, U212c are connected to the bus arbiter U25 via the first bus U23, and the bus arbiter U25 passes through the first bus U23. Connected to the first access unit U221.
  • a plurality of independent second buses U24 are included, the bandwidth of which is proportional to the bandwidth requirement of the corresponding second access unit.
  • a second bus U24 connects the second arithmetic unit U212a to the second access unit U222a.
  • the other second bus U24 connects the second arithmetic unit U212b, U212c to the second access unit U222b, U222c.
  • the bandwidth requirement of the second operation unit U212a is higher than the bandwidth requirement of the second operation units U212b and U212c
  • the bandwidth of the second bus U24 connected to the second operation unit U212a is greater than the connection of the second operation unit.
  • the storage capacity of the corresponding second access unit is allocated according to the bandwidth requirement of the second computing unit, so that the memory access efficiency is further improved, thereby further improving the overall performance of the SoC.
  • the second access unit is also allocated a partially shared second access unit, so that the allocation of the memory is more flexible and reasonable. Accordingly, the present invention also provides a data access method based on a chip architecture of an ultra-wide bus.
  • the ultra-wide bus-based chip architecture may be a chip architecture as shown in FIG. 3 or FIG. 4.
  • the embodiment includes the following steps: Step S101 is performed to determine whether the data access request is from a second operation unit in the chip.
  • the second operation unit includes: one or more of a graphics operation unit, a video decoder, and an image data processor, where a bandwidth requirement of the second operation unit is higher than a bandwidth requirement of the first operation unit. . If yes, proceed to step S102 to identify whether the data is stored in the first access unit in the memory or the corresponding second access unit.
  • the bandwidth of the ultra-wide bus is greater than 64 bits.
  • the memory includes SDRAM, DDR, DDR2, DDR3, DDR4 And one or more of the RDRAMs may be stored in the first access unit or the second access unit according to the address identification data. If the data is stored in the second access unit, step S103 is performed to access the second access unit through the second bus. Specifically, the number of the second operation units is equal to the number of the second access units. The storage capacity of the second access unit is proportional to the bandwidth requirement of the corresponding second computing unit. The storage capacity of the second access unit is at least one storage array. If the data is stored in the first access unit, step S104 is performed to access the first access unit through the first bus.
  • FIG. 6 is a schematic flowchart diagram of a second embodiment of a data access method according to the present invention.
  • Step S201 is performed to determine whether the data access request is from the first operation unit in the chip or the second operation unit. Specifically, the bandwidth requirement of the second computing unit is higher than the bandwidth requirement of the first computing unit. If the data access request is from the second operation unit, step S202 is performed to determine whether the data is stored in the first access unit in the memory or the corresponding second access unit. If the data is stored in the second access unit, step S203 is performed to access the second access unit through the second bus. If the data is stored in the first access unit or the data access request is from the first operation unit, step S204 is performed to determine whether the data access request to the first access unit is greater than one.
  • step S205 is performed to access the first access unit through the first bus. If the data access request for the first access unit is greater than one, step S206 is performed, and the operation unit of the first access unit is accessed through the first bus by data bus arbitration.
  • a machine-readable medium which when executed by one or more machines, such as a computer, computer network, or other electronic device, can cause the one or more machines to perform operations in accordance with embodiments of the present invention.
  • the machine-readable medium can include, but is not limited to, a floppy disk, an optical disk, a CD-ROM (Compact Disk-Read Only Memory), a magneto-optical disk, a ROM (Read Only Memory), a RAM (Random Access Memory), an EPROM (erasable) In addition to programmable read only memory), EEPROM (Electrically Erasable Programmable Read Only Memory), magnetic or optical cards, flash memory, or other types of media/machine readable media suitable for storing machine executable instructions.
  • the invention is applicable to a wide variety of general purpose or special purpose computing system environments or configurations.
  • the invention may be described in the general context of computer-executable instructions executed by a computer, such as a program module.
  • program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types.
  • the present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.
  • PAL Programmable Array Logic
  • GAL Generic Array Logic
  • FPGA Field-Programmable Gate Array
  • CPLD Complex Programmable Logic Device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种基于超宽总线的芯片架构及数据访问方法。所述芯片架构包括:芯片,包括第一运算单元和至少一个第二运算单元;内存,包括第一访问单元和至少一个第二访问单元;第一总线,配置成适于将第一运算单元和第二运算单元连接至第一访问单元;第二总线,配置成适于将第二运算单元连接至相对应的第二访问单元。所述数据访问方法包括:当数据访问请求来自芯片中的第二运算单元时,识别数据存储于第一访问单元或相对应的第二访问单元;若存储于第二访问单元,则通过第二总线访问第二访问单元;若存储于第一访问单元,则通过第一总线访问第一访问单元。所述芯片架构及数据访问方法能提高内存数据的访问效率,提高系统整体性能,降低系统功耗。

Description

基于超宽总线的芯片架构及其数据访问方法 本申请要求 2013 年 8 月 7 日提交中国专利局、 申请号为 201310342607.3 , 发明名称为 "基于超宽总线的芯片架构及其数据访 问方法"的中国专利申请的优先权, 其全部内容通过引用结合在本申 请中。 技术领域 本发明涉及计算机领域,尤其涉及一种基于超宽总线的芯片架构 及所述芯片架构的数据访问方法。 背景技术 系统芯片 (System-on-a-chip, SoC )是在单个芯片上集成一个完 整的系统, 把所有或部分必要的功能集成进单个芯片的半导体技术。 完整的系统一般包括中央处理器(CPU ) 、 多个数字和模拟 IP核、 存 储器以及外围部件电路等。遵循摩尔定律,深亚微米级( 40/28/22nm ) 半导体技术制程已日趋成熟, 系统芯片本身的时钟越来越快 (高达 GHz/秒), 片内集成的 IP核和 CPU个数(多核)越来越多, 使得 SoC 的整体性能越来越多地受限于片外内存的访问速度, 即通常所谓的 "内存墙"问题。
"内存墙"指的是内存性能严重限制 CPU性能发挥的现象。 这是由 于长期以来处理器的计算速度发展得比内存的存取速度快,这种不均 衡的发展速度造成了内存瓶颈, 制约了日益增长的高性能处理器, 难 以发挥出应有的功效。 图 1为一种现有技术系统级芯片架构的结构示意图。在如图 1所示 的典型 SoC系统芯片中, 多核中央处理器( Central Processing Unit , CPU )、 图形运算单元( Graphics Processing Unit, GPU )、 视频编解 码器 (video codec)、 图像数据处理器( Image Signal Processor, ISP ) 都需要对片外内存(DDR )进行读写。 其中, 系统带宽要求最高的通 常是多媒体模块, 例如: 一路高清视频( 1920x1080, 30fps )所需带 宽可高达 500M字节 /秒。 而这些高带宽模块的内存访问请求和数据必 须和其他内存访问请求一起经过数据总线仲裁(data fabric ) , 仲裁 胜者才得到机会去访问 DDR。 这种架构有两大缺陷。 第一、 系统性能 受限于 DDR数据总线宽度(例如: 在手机系统中需要达到 16bit或者 32bit )。 为了达到性能要求, DDR总线的频率必须很高(例如: 高达 800MHz ) 。 而高频率势必会引起系统的高功耗。 第二、 由于总线仲 裁器的介入,多个模块的地址总线来回切换会降低 DDR数据的访问效 率, 而总线仲裁的引入本身也会带来额外的系统访问延时。 本领域技术人员很早就认识到"内存墙"问题,并釆取了多种针 对性的措施。 从最初的单纯依靠提高处理器频率来提升计算性能, 到后来的利用多核心并行计算技术来提升计算性能,再到后来通过 降低内存等待时间、 提升内存带宽的方法。 比如: 公开号为 CN101013407A的中国专利申请中, 披露了一种支持多总线多类型存 储器的内存仲裁实现系统和方法, 通过修改仲裁算法, 提高内存数据 的访问效率。 但上述方法均未能彻底、 有效地解决内存瓶颈问题。 发明内容 本发明所要解决的技术问题是如何提高内存数据的访问效率,提 高系统整体性能, 降低系统功耗。 为了解决上述问题, 根据本发明的一个方面, 提供了一种基于超 宽总线的芯片架构芯片, 包括: 芯片, 所述芯片包括第一运算单元和至少一个第二运算单元; 内存, 所述内存包括第一访问单元和至少一个第二访问单元; 第一总线,配置成适于将所述第一运算单元和第二运算单元连接 至所述第一访问单元; 第二总线,配置成适于将所述第二运算单元连接至相对应的第二 访问单元。 可选地, 所述第一总线或第二总线为超宽总线; 或者, 所述第一 总线和第二总线构成超宽总线或超宽总线的分路。 可选地,所述第一访问单元由所述第一运算单元或至少一个第二 运算单元通过所述超宽总线或超宽总线分路公共访问。 可选地, 所述第一运算单元仅能访问所述第一访问单元。 可选地, 还包括: 地址管理单元, 配置成适用于为与所述第二运 算单元连接的第一访问单元和第二访问单元分配不同的地址。 可选地, 还包括: 地址识别单元, 配置成适用于根据所述地址管 理单元分配的地址识别与所述地址相对应的访问单元。 可选地, 所述超宽总线的带宽大于 64比特。 可选地, 所述内存包括: SDRAM、 DDR、 DDR2、 DDR3、 DDR4 和 RDRAM中的至少一种。 可选地,所述第二运算单元的带宽需求高于所述第一运算单元的 带宽需求。 可选地, 所述第二运算单元包括: 图形运算单元、 视频解编码器 和图像数据处理器中的一种或多种。 可选地,所述第二访问单元的数量与所述第二运算单元的数量相 等。 可选地,所述第二访问单元的存储容量与其相对应的第二运算单 元的带宽需求成正比。 可选地, 所述第二访问单元的存储容量至少为一个存储阵列。 可选地, 还包括: 数据总线仲裁器, 配置成适于当对所述第一访 问单元的数据请求大于 1个时,根据仲裁规则确定通过所述第一总线 访问所述第一访问单元的运算单元。 根据本发明的另一个方面,还提供了一种基于超宽总线的芯片架 构的数据访问方法, 包括: 当数据访问请求来自芯片中的第二运算单元时,识别数据存储于 内存中的第一访问单元或相对应的第二访问单元; 若所述数据存储于所述第二访问单元,则通过第二总线访问所述 第二访问单元; 若所述数据存储于所述第一访问单元,则通过第一总线访问所述 第一访问单元。 可选地, 所述超宽总线的带宽大于 64比特。 可选地, 所述内存包括: SDRAM、 DDR、 DDR2、 DDR3、 DDR4 和 RDRAM中的至少一种。 可选地,所述识别所述数据存储于内存中的第一访问单元或第二 访问单元包括: 根据地址识别所述第一访问单元或第二访问单元。 可选地, 还包括: 当所述数据访问请求来自芯片中的第一运算单 元时, 通过所述第一总线访问所述第一访问单元。 可选地, 还包括: 当对所述第一访问单元的数据访问请求大于 1 个时,经数据总线仲裁确定通过所述第一总线访问所述第一访问单元 的运算单元。 可选地,所述第二运算单元的带宽需求高于第一运算单元的带宽 需求。 与现有技术相比, 本发明的技术方案具有以下优点: 把内存芯片划分第一访问单元和第二访问单元,第一访问单元为 所有运算单元共用的公共空间,第二访问单元为第二运算单元的专用 空间, 把 SoC系统中带宽需求大的数据分流到专用空间。 第二运算单 元通过专享的超宽总线访问专用空间实现数据读取,无需再和其他访 存请求一起参与竟争内存带宽,保证了带宽需求大的第二运算单元能 获得低的访问延迟和高的访存效率, 从而大大提高了系统的整体性 能。 另一方面, 由于将带宽需求大的数据分流出去, 所以公共空间的 访存竟争得以緩解,从而能降低系统硬件的要求,进而降低系统功耗。 可选方案中, 通过地址的不同, 区分专用空间和公共空间, 操作 简单合理, 仅需修改对应模块的驱动程序, 在很大程度上避免了对操 作系统和上层软件的影响。 可选方案中, 根据带宽需求分配各专用空间的存储容量,使得各 专用空间的访问速度趋于平衡, 能更充分地利用有效带宽, 更有效地 提高系统整体性能。 附图说明 图 1为系统级芯片架构的一现有技术的结构示意图; 图 2为一种总线结构的电路示意图; 图 3为本发明芯片架构第一实施例的结构示意图; 图 4为本发明芯片架构第二实施例的结构示意图; 图 5为本发明数据访问方法第一实施例的流程示意图; 图 6为本发明数据访问方法第二实施例的流程示意图。 具体实施方式 在下面的描述中阐述了很多具体细节以便于充分理解本发明。但 是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术 人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受 下面公开的具体实施的限制。 其次,本发明利用示意图进行详细描述,在详述本发明实施例时, 为便于说明, 所述示意图只是实例, 其在此不应限制本发明保护的范 围。 相比上述单纯降低内存等待时间和提升内存带宽的现有技术,发 明人致力于研究内存与处理器集成技术。 随着超宽 DDR数据总线的 出现, 发明人在相关超宽总线封装技术的基础上, 提出了一种全新的 系统级芯片架构, 从而充分利用超宽总线带来的内存带宽优势, 突破 "内存墙", 在相同功耗下成倍提高系统级芯片的系统整体性能, 或者 在相同性能下大幅降低功耗(功耗在嵌入式应用, 例如: 手机、 PAD、 MIDI等中为最重要的性能指标)。 图 2为一种总线结构的电路示意图。 如图 2所示, 所述总线结构 包括: 存储阵列 10、 控制逻辑电路 20、 接口转换逻辑电路 30、 原有 总线 40和超宽总线 40'。 所述存储阵列 10包括: 8个 bank ( bank0~bank7 ) 即: 存储体, bank (数量) =颗粒*位宽 /64bit, 用于存储数据。 所述控制逻辑电路 20包括: 行地址锁存、 存储阵列控制电路、 列地址锁存、 位选择逻辑电路等, 用于控制所述存储阵列, 实现对所 述 bank中特定存储单元的读写操作。 所述接口转换逻辑电路 30用于将从所述 bank中读取出来的数据 经过串并转换, 从特定接口中传输出去。 经过所述接口转换逻辑电路 30的数据总线宽度将大大限缩。 所述原有总线 40包括: 原有地址总线和原有数据总线。 如图 2 所示, 所述原有地址总线宽度一般在 15比特左右, 所述原有数据总 线宽度一般为 4、 8、 16比特。 在本实施例中, 所述接口逻辑转换电 路串并转换前的原有数据总线宽度为 16比特, 经所述接口逻辑转换 电路串并转换之后的原有数据总线宽度缩窄为了 4比特。经串并转换 后的原有数据总线将最终连接到信号焊盘(图未示)上, 以满足传统 芯片封装的需要。 所述超宽总线 40, 包括: 超宽地址总线和超宽数据总线。 如图 2 所示, 所述超宽总线 40'的宽度明显宽于所述原有总线 40。 具体地, 所述超宽地址总线可分为多路(比如: 2、 4、 8路等, 本实施例中仅 以 1路示意), 每一路宽度在 32比特左右。 所述超宽数据总线也可分 为多路, 每路宽度可为 64、 128、 256比特, 甚至更宽。 本实施例中, 所述超宽数据总线的宽度为 128比特。所述超宽数据总线不经过所述 接口转换逻辑电路 30, 而是连同所述超宽地址总线一起, 直接与微 焊盘(图未示)连接, 以满足传统芯片封装的需要。 本电路的具体工作过程如下: 首先, 将需要进行读取 /写入操作的存储单元的地址经所述超宽 地址总线(宽度 32比特)直接传输至所述行地址锁存和所述列地址 锁存。所述行地址锁存经所述原有地址总线选中所述存储阵列中某一 bank 的对应行。 所述列地址锁存经所述位选择逻辑, 选中所述对应 行中的对应列的存储单元。 对所述存储单元进行读取 /写入操作。 所 述存储单元内的数据直接经所述超宽数据总线 (宽度 128比特 )传输 至芯片的对外接口 (即: 微焊盘)。 由于这种超宽总线直接从存储阵 列的 bank中引出, 不经过串并转换, 因此能大幅提高总线带宽。 需要说明的是, 本发明对总线结构的及形成方法不作具体限定, 本领域技术人员可以理解,使用其他现有技术的超宽总线亦可应用本 发明中, 比如: 应用于 Samsung Wide-IO存储器中的超宽总线等。 本发明技术方案提供了一种基于超宽总线的芯片架构。图 3为本 发明芯片架构第一实施例的结构示意图。 如图 3 所示, 本实施例的芯片架构包括: 芯片 Ull、 片外内存 U12、 第一总线 U13和第二总线 U14。 具体地, 所述芯片 U11包括: 1个第一运算单元 U111和 3个第 二运算单元 U112a、 U112b、 U112C。 所述第一运算单元 Ulll为中央 处理器 CPU。 所述第二运算单元为对系统带宽要求高的多媒体模块, 其带宽需求明显高于所述第一运算单元。 本实施例中, 第二运算单元 U112a为图形处理单元 GPU, 第二运算单元 U112b为视频编解码器 Video Codec, 第二运算单元 U112c为图像数据处理器 ISP。 需要说明的是,本发明对第二运算单元的数量和所实现的逻辑功 能均不做具体限定。 本实施例中列举的第二运算单元, 旨在具体说明 本技术方案。 事实上, 第二运算单元可以是任何有高带宽需求的硬件 模块, 比如: 网络数据包处理模块, 音频处理单元等。 继续参考图 3, 具体地, 所述片外内存 U12包括: 1个第一访问 单元 U121和 3个第二访问单元 U122a、 U122b和 U122c。 所述片外 内存 U12可以是 SDRAM、 DDR、 DDR2、 DDR3、 DDR4和 RDRAM 中的至少一种, 本发明对此不作具体限定, 本实施例以 DDR为例。 所述第一访问单元 U121为所述第一运算单元 Ulll和所述第二 运算单元 U112a、 U112b、 U112C所共用的内存空间, 用于各运算单 元之间的数据交换,例如: 当所述第二运算单元 U112c处理完图像或 视频数据,需要交给所述第二运行单元 U112b继续处理时,所述第二 运算单元 U112c把处理结果写入所述第一访问单元 U121, 所述第二 运算单元 U112b从所述第一访问单元 U121中读取所述处理结果。 所述第二访问单元 U122a、 U122b和 U122c为所述第二运算单元
U112a、 U112b、 U112C各自专用的内存空间。所述第一运算单元 Ulll 访问不到所述第二访问单元 U122a、 U122b和 U122c。 具体地, 所述 第二访问单元 U122a为所述第二运算单元 U112a独用, 所述第二访 问单元 U122b为所述第二运算单元 U112b独用, 所述第二访问单元 U122c为所述第二运算单元 U112c独用。 所述第二访问单元 U122a、 U122b和 U122c中可存储各自专用的第二运算单元处理所需的,且不 需要和其他运算单元进行交换的中间计算数据。 需要说明的是,本实施例中第二访问单元的数量与第二运算单元 数量相同 (即: 每个第二运算单元独用一个第二访问单元), 但本发 明对此不做具体限定, 在其他实施例中, 可根据存储容量、 运算速度 等不同的实际需求, 为一个第二运算单元分配多个第二访问单元, 或 者多个第二运算单元共享一个第二访问单元。 继续参考图 3, 所述第一总线 U13和第二总线 U14可以构成超 宽总线或者超宽总线的分路。 比如: 以图 2所示的超宽总线为例, 其 中, 超宽数据总线的宽度为 128比特, 共分为 4路。 可以将其中的 2 路作为第一总线 U13使用, 另 2路作为第二总线 U14使用。 在其他 实施例中,也可以是第一总线或第二总线为超宽总线或者超宽总线的 分路。 所述第一总线 U13将所述第一运算单元 U111和所述第二运算单 元 U112a、 U112b、 U112c连接至所述第一访问单元 U121。 所述第二总线 U14独立地将所述第二运算单元 U112a连接至所 述第二访问单元 U122a,所述第二运算单元 U112b连接至所述第二访 问单元 U122b, 所述第二运算单元 U112c连接至所述第二访问单元 U122c。 需要说明的是, 本实施例的芯片架构还包括: 地址管理单元(图 未示), 用于为与各第二运算单元 U112a、 U112b、 U112c连接的第一 访问单元 U121和第二访问单元 U122a、 U122b、 U122c分配不同的 地址。 本实施例的芯片架构还包括: 地址识别单元(图未示), 根据分 配的不同地址识别第二运算单元需要访问的是第一访问单元,还是其 独用的第二访问单元。 比如: 为第一访问单元分配 0~32M之间的低 位地址, 为各第二访问单元分配大于 32M的高位地址。 通过地址的不同, 区分第一访问单元和第二访问单元, 主要是考 虑到把因芯片架构的改变而对整个软件系统的影响降至最低。为第一 访问单元和第二访问单元分配不同的地址,使得操作系统内核提供的 内存管理(分配和释放等)均不需要改动, 对于操作系统以上的中间 层和应用软件也没有影响。唯一需要改动的是第二运算单元对应的软 件驱动程序。 在本发明的芯片架构下, 内存地址会分为公有(对应第 一访问单元)和私有(对应第二访问单元)两种, 第二运算单元的驱 动程序需要区分第二运算单元需要访问的是第一访问单元,还是第二 访问单元。 本实施例按照带宽需求将运算单元分为一般带宽需要和高带宽 需求两类, 将整个内存划分为第一访问单元和多个第二访问单元。 并 将整个超宽数据总线分割为第一总线和第二总线,高带宽需求的运算 单元通过其专用的第二总线访问其专用的第二访问单元,不用再经过 总线仲裁和其他运算单元竟争内存带宽,因而享有极低的访问延迟和 极高的内存访问效率。 同时, 由于第二访问单元的数据访问带宽通常 占据整个系统级芯片带宽的大多数,将其专用化使得对第一访问单元 的带宽要求也相应降低, 从而大大改善第一访问单元的访存效率, 大 幅提高了系统整体性能, 降低了系统功耗。 图 4为本发明芯片架构第二实施例的结构示意图。与前一实施例 相同的部分, 此处不再赘述。 与前一实施例不同的是, 本实施例中不 仅增加了总线仲裁器,还示出了部分共享的第二访问单元以及存储容 量与带宽需求之间的关系。 如图 4所示, 本实施例包括: 芯片 U21、 片外内存 U22、第一总线 U23、第二总线 U24和数据总线仲裁器 U25。 具体地, 所述芯片 U21包括: 2个第一运算单元 U211a、 U211b 和 3个第二运算单元 U212a、U212b、U212c。所述第一运算单元 U211a 为中央处理器 CPU, 所述第一运算单元 U211b为操作系统模块。 所 述第二运算单元 212a为图形处理单元 GPU,所述第二运算单元 212b 为视频编解码器 Video Codec,所述第二运算单元 212c为图像数据处 理器 ISP。 所述片外内存 U22为一颗存储容量 256M字节的 DDR芯片, 可 提供 512比特的数据总线宽度。 具体地, 所述片外内存 U22由 8个 存储阵列(图中虚线所示)组成, 每个存储阵列的存储容量均为 32M 字节。 所述片外内存 U22内部被分为 1个第一访问单元 U221和 3个第 二访问单元 U222a、 U222b和 U222c。 所述第一访问单元 U221为 2个第一运算单元 U211a、 U211b和 3个第二运算单元 U212a、 U212b、 U212c所共用, 其由 4个存储阵 列组成, 存储容量为 128M字节 (即: 32M*4 )。 所述第二访问单元 U222a为所述第二运算单元 U212a所专用, 其由 2个存储阵列组成, 存储容量为 64M字节 (即: 32M*2 )。 所述 第二访问单元 U222b和 U222c各由 1个存储阵列组成, 存储容量为 32M字节。 所述第二访问单元 U222b和 U222c是由所述第二运算单 元 U212b和 U212c共享的内存空间。 需要说明的是, 本实施例中, 为了更充分地利用内存空间, 所述 第二访问单元的存储容量与其相对应的第二运算单元的带宽需求成 正比, 带宽需求越高, 为之分配的第二运算单元越大。 本领域技术人 员可以理解, 内存分配存储容量一般以存储阵列为单位, 因此, 所述 第二访问单元的存储容量至少为一个存储阵列。 所述数据总线仲裁器 25, 配置成适于根据仲裁规则从对第一访 问单元 U221有数据访问请求的第一运算单元和第二运算单元中择一 访问第一访问单元 U221, 本发明对仲裁规则不做具体限定。 所述第一总线 U23将所述第一运算单元 U211a、 U211b和第二运 算单元 U212a、 U212b、 U212c连接至所述第一访问单元 U221。其中, 所述第一访问单元 U221可由所述第一运算单元 U211a、 U211b或所 述第二运算单元 U212a、 U212b、 U212c通过所述第一总线 U23公共 访问。 所述第一运算单元 U211a、 U211b仅能访问所述第一访问单元 U221 , 而不能访问所述第二访问单元 U222a、 U222b、 U222c。 具体 地,所述第一运算单元 U211a、 U211b和第二运算单元 U212a、 U212b、 U212c经所述第一总线 U23连接至所述总线仲裁器 U25,所述总线仲 裁器 U25经所述第一总线 U23连接至所述第一访问单元 U221。 本实施例中包括多条独立的第二总线 U24,其带宽与相对应的第 二访问单元的带宽需求成正比。 具体地, 一条第二总线 U24将所述 第二运算单元 U212a连接至所述第二访问单元 U222a。另一条第二总 线 U24将所述第二运算单元 U212b、 U212c连接至所述第二访问单元 U222b、 U222c。
由于所述第二运算单元 U212a 的带宽需求高于所述第二运算单 元 U212b和 U212c的带宽需求, 因此连接所述第二运算单元 U212a 的第二总线 U24的带宽大于连接所述第二运算单元 U212b和 U212c 的第二总线 U24的带宽。 本实施例中,根据第二运算单元带宽需求分配对应的第二访问单 元的存储容量, 使得内存的访存效率进一步提升, 从而进一步提高 SoC的整体性能。本实施例还为第二运算单元分配部分共享的第二访 问单元, 使得内存的分配更趋灵活合理。 相应地,本发明还提供了一种基于超宽总线的芯片架构的数据访 问方法。 图 5为本发明数据访问方法第一实施例的流程示意图。 所述 基于超宽总线的芯片架构可以是如图 3或图 4所示的芯片架构。如图 5所示, 本实施例包括以下步骤: 执行步骤 S101, 判断数据访问请求是否来自芯片中的第二运算 单元。 具体地, 所述第二运算单元包括: 图形运算单元、 视频解编码 器、 图像数据处理器中的一种或多种, 所述第二运算单元的带宽需求 高于第一运算单元的带宽需求。 若是, 则继续执行步骤 S102, 识别数据存储于内存中的第一访 问单元, 还是相对应的第二访问单元。 具体地, 所述超宽总线的带宽 大于 64比特。 所述内存包括 SDRAM、 DDR、 DDR2、 DDR3、 DDR4 和 RDRAM中的一种或多种,可根据地址识别数据存储于所述第一访 问单元或第二访问单元。 若所述数据存储于所述第二访问单元, 则执行步骤 S103, 通过 第二总线访问第二访问单元。 具体地, 所述第二运算单元数量与所述 第二访问单元数量相等。所述第二访问单元的存储容量与相对应的第 二运算单元的带宽需求成正比。所述第二访问单元的存储容量至少为 一个存储阵列。 若所述数据存储于所述第一访问单元, 则执行步骤 S104, 通过 第一总线访问第一访问单元。 图 6为本发明数据访问方法第二实施例的流程示意图。如图 6所 示, 本实施例包括以下步骤: 执行步骤 S201, 判断数据访问请求来自芯片中的第一运算单元, 还是第二运算单元。 具体地, 所述第二运算单元的带宽需求高于所述 第一运算单元的带宽需求。 若所述数据访问请求来自所述第二运算单元, 则执行步骤 S202, 判断数据存储于内存中的第一访问单元, 还是相对应的第二访问单 元。 若所述数据存储于所述第二访问单元, 则执行步骤 S203, 通过 第二总线访问第二访问单元。 若所述数据存储于所述第一访问单元或者所述数据访问请求来 自所述第一运算单元, 则执行步骤 S204, 判读对第一访问单元的数 据访问请求是否大于 1个。若对第一访问单元的数据访问请求小于等 于 1个, 则执行步骤 S205, 通过第一总线访问第一访问单元。 若对 第一访问单元的数据访问请求大于 1个, 则执行步骤 S206, 经数据 总线仲裁确定通过第一总线访问所述第一访问单元的运算单元。 需要说明的是, 通过以上的实施方式的描述, 本领域的技术人员 可以清楚地了解到本发明的部分或全部可借助软件并结合必需的通 用硬件平台来实现。基于这样的理解, 本发明的技术方案本质上或者 说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计 算机软件产品可包括其上存储有机器可执行指令的一个或多个机器 可读介质, 这些指令在由诸如计算机、计算机网络或其他电子设备等 一个或多个机器执行时可使得该一个或多个机器根据本发明的实施 例来执行操作。机器可读介质可包括,但不限于,软盘、光盘、 CD-ROM (紧致盘-只读存储器)、 磁光盘、 ROM (只读存储器)、 RAM (随机 存取存储器)、 EPROM (可擦除可编程只读存储器)、 EEPROM (电 可擦除可编程只读存储器)、 磁卡或光卡、 闪存、 或适于存储机器可 执行指令的其他类型的介质 /机器可读介质。 本发明可用于众多通用或专用的计算系统环境或配置中。 例如: 个人计算机、 服务器计算机、 手持设备或便携式设备、 平板型设备、 多处理器系统、 基于微处理器的系统、 置顶盒、 可编程的消费电子设 备、 网络 PC、 小型计算机、 大型计算机、 包括以上任何系统或设备 的分布式计算环境等。 本发明可以在由计算机执行的计算机可执行指令的一般上下文 中描述, 例如程序模块。 一般地, 程序模块包括执行特定任务或实现 特定抽象数据类型的例程、 程序、 对象、 组件、 数据结构等等。 也可 以在分布式计算环境中实践本申请, 在这些分布式计算环境中, 由通 过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境 中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介 质中。 需要说明的是, 本领域技术人员可以理解, 上述部分组件可以是 可编程逻辑器件, 包括:可编程阵列逻辑(Programmable Array Logic, PAL )、 通用阵列逻辑( Generic Array Logic, GAL )、 现场可编程门阵 歹' J ( Field - Programmable Gate Array, FPGA )、 复杂可编程逻辑器件 (Complex Programmable Logic Device, CPLD)中的一种或多种, 本发 明对此不做具体限制。 本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发
明, 任何本领域技术人员在不脱离本发明的精神和范围内, 都可以利
用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和
修改, 因此, 凡是未脱离本发明技术方案的内容, 依据本发明的技术
实质对以上实施例所作的任何简单修改、 等同变化及修饰, 均属于本
发明技术方案的保护范围。
+ +

Claims

权 利 要 求
1、 一种基于超宽总线的芯片架构, 其特征在于, 包括: 芯片, 所述芯片包括第一运算单元和至少一个第二运算单元; 内存, 所述内存包括第一访问单元和至少一个第二访问单元; 第一总线,配置成适于将所述第一运算单元和第二运算单元连接 至所述第一访问单元; 第二总线,配置成适于将所述第二运算单元连接至相对应的第二 访问单元。
2、 如权利要求 1所述的芯片架构, 其特征在于, 所述第一总线 或第二总线为超宽总线; 或者, 所述第一总线和第二总线构成超宽总 线或超宽总线的分路。
3、 如权利要求 2所述的芯片架构, 其特征在于, 所述第一访问 单元由所述第一运算单元或至少一个第二运算单元通过所述超宽总 线或超宽总线分路公共访问。
4、 如权利要求 1所述的芯片架构, 其特征在于, 所述第一运算 单元仅能访问所述第一访问单元。
5、 如权利要求 1所述的芯片架构, 其特征在于, 还包括: 地址管理单元,配置成适用于为与所述第二运算单元连接的第一 访问单元和第二访问单元分配不同的地址。
6、 如权利要求 5所述的芯片架构, 其特征在于, 还包括: 地址识别单元,配置成适用于根据所述地址管理单元分配的地址 识别与所述地址相对应的访问单元。
7、 如权利要求 1所述的芯片架构, 其特征在于, 所述超宽总线 的带宽大于 64比特。
8、 如权利要求 1所述的芯片架构, 其特征在于, 所述内存包括: SDRAM, DDR、 DDR2、 DDR3、 DDR4和 RDRAM中的至少一种。
9、 如权利要求 1至 8任一项所述的芯片架构, 其特征在于, 所 述第二运算单元的带宽需求高于所述第一运算单元的带宽需求。
10、 如权利要求 9所述的芯片架构, 其特征在于, 所述第二运算 单元包括: 图形运算单元、视频解编码器和图像数据处理器中的一种 或多种。
11、 如权利要求 9所述的芯片架构, 其特征在于, 所述第二访问 单元的数量与所述第二运算单元的数量相等。
12、 如权利要求 11所述的芯片架构, 其特征在于, 所述第二访 问单元的存储容量与其相对应的第二运算单元的带宽需求成正比。
13、 如权利要求 12所述的芯片架构, 其特征在于, 所述第二访 问单元的存储容量至少为一个存储阵列。
14、 如权利要求 1至 8任一项所述的芯片架构, 其特征在于, 还 包括: 数据总线仲裁器,配置成适于当对所述第一访问单元的数据请求 大于 1个时,根据仲裁规则确定通过所述第一总线访问所述第一访问 单元的运算单元。
15、一种基于超宽总线的芯片架构的数据访问方法,其特征在于, 包括: 当数据访问请求来自芯片中的第二运算单元时,识别数据存储于 内存中的第一访问单元或相对应的第二访问单元; 若所述数据存储于所述第二访问单元,则通过第二总线访问所述 第二访问单元; 若所述数据存储于所述第一访问单元,则通过第一总线访问所述 第一访问单元。
16、 如权利要求 15所述的数据访问方法, 其特征在于, 所述超 宽总线的带宽大于 64比特。
17、 如权利要求 15所述的数据访问方法, 其特征在于, 所述内 存包括: SDRAM、 DDR、 DDR2、 DDR3、 DDR4和 RDRAM中的 至少一种。
18、 如权利要求 15所述的数据访问方法, 其特征在于, 所述识 别所述数据存储于内存中的第一访问单元或第二访问单元包括:根据 地址识别所述第一访问单元或第二访问单元。
19、 如权利要求 15所述的数据访问方法, 其特征在于, 还包括: 当所述数据访问请求来自芯片中的第一运算单元时,通过所述第 一总线访问所述第一访问单元。
20、 如权利要求 19所述的数据访问方法, 其特征在于, 还包括: 当对所述第一访问单元的数据访问请求大于 1个时,经数据总线 仲裁确定通过所述第一总线访问所述第一访问单元的运算单元。
21、 如权利要求 15所述的数据访问方法, 其特征在于, 所述第 二运算单元的带宽需求高于第一运算单元的带宽需求。
+
PCT/CN2014/080566 2013-08-07 2014-06-24 基于超宽总线的芯片架构及其数据访问方法 WO2015018237A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310342607.3A CN103412823B (zh) 2013-08-07 2013-08-07 基于超宽总线的芯片架构及其数据访问方法
CN201310342607.3 2013-08-07

Publications (1)

Publication Number Publication Date
WO2015018237A1 true WO2015018237A1 (zh) 2015-02-12

Family

ID=49605836

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/080566 WO2015018237A1 (zh) 2013-08-07 2014-06-24 基于超宽总线的芯片架构及其数据访问方法

Country Status (2)

Country Link
CN (1) CN103412823B (zh)
WO (1) WO2015018237A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103412823B (zh) * 2013-08-07 2017-03-01 格科微电子(上海)有限公司 基于超宽总线的芯片架构及其数据访问方法
US20160378551A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Adaptive hardware acceleration based on runtime power efficiency determinations
CN107220208B (zh) * 2017-07-07 2020-11-13 深圳市海谱纳米光学科技有限公司 一种图像处理系统及方法
CN110609805B (zh) * 2018-06-14 2024-04-12 格科微电子(上海)有限公司 系统级芯片的实现方法
CN113805938A (zh) * 2020-06-16 2021-12-17 中科寒武纪科技股份有限公司 基于控制流图推导地址的方法、装置及可读存储介质
CN113112481B (zh) * 2021-04-16 2023-11-17 北京理工雷科电子信息技术有限公司 一种基于矩阵网络的混合异构片上架构

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008027328A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Method and apparatus for optimizing data flow in a graphics co-processor
CN101551761A (zh) * 2009-04-30 2009-10-07 浪潮电子信息产业股份有限公司 一种异构多处理器中共享流内存的方法
CN102298567A (zh) * 2010-06-28 2011-12-28 安凯(广州)微电子技术有限公司 一种集成中央运算和图形加速的移动处理器架构
CN103412823A (zh) * 2013-08-07 2013-11-27 格科微电子(上海)有限公司 基于超宽总线的芯片架构及其数据访问方法
CN203397353U (zh) * 2013-08-07 2014-01-15 格科微电子(上海)有限公司 基于超宽总线的芯片架构

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102323536B (zh) * 2011-05-31 2013-07-17 上海大学 片上系统中高速超宽总线故障测试系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008027328A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Method and apparatus for optimizing data flow in a graphics co-processor
CN101551761A (zh) * 2009-04-30 2009-10-07 浪潮电子信息产业股份有限公司 一种异构多处理器中共享流内存的方法
CN102298567A (zh) * 2010-06-28 2011-12-28 安凯(广州)微电子技术有限公司 一种集成中央运算和图形加速的移动处理器架构
CN103412823A (zh) * 2013-08-07 2013-11-27 格科微电子(上海)有限公司 基于超宽总线的芯片架构及其数据访问方法
CN203397353U (zh) * 2013-08-07 2014-01-15 格科微电子(上海)有限公司 基于超宽总线的芯片架构

Also Published As

Publication number Publication date
CN103412823B (zh) 2017-03-01
CN103412823A (zh) 2013-11-27

Similar Documents

Publication Publication Date Title
WO2015018237A1 (zh) 基于超宽总线的芯片架构及其数据访问方法
US9767028B2 (en) In-memory interconnect protocol configuration registers
JP6373559B2 (ja) メモリ装置及びメモリ装置の動作方法
TWI587209B (zh) 用於針對異構多處理器系統中的共用儲存區域進行動態位址協商的方法、多處理器計算設備及非臨時性電腦可讀取儲存媒體
TWI590047B (zh) 包含線性位址重映射邏輯的記憶體系統以及系統晶片
JP5893632B2 (ja) ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
CN112115090A (zh) 用于事务的多协议支持
US7984246B1 (en) Multicore memory management system
TWI526926B (zh) 平衡對具有不同記憶體種類的記憶體進行存取的技術
JP5448218B2 (ja) オン・ダイ・システム・ファブリック・ブロックの制御
US8661207B2 (en) Method and apparatus for assigning a memory to multi-processing unit
TW201329857A (zh) 用於在共用記憶體通道上實施多位準記憶體階層之裝置及方法
TW201512839A (zh) 用於週邊介面控制器之嵌入式加密/安全記憶體管理單元
US20180115496A1 (en) Mechanisms to improve data locality for distributed gpus
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
WO2014056178A1 (zh) 内存系统、内存模块、内存模块的访问方法以及计算机系统
US8006026B2 (en) Multi-port memory and computer system provided with the same
US20210225430A1 (en) Memory die including local processor and global processor, memory device, and electronic device
US10162522B1 (en) Architecture of single channel memory controller to support high bandwidth memory of pseudo channel mode or legacy mode
WO2023030153A1 (zh) 数据存储装置和数据处理方法
JP2018152112A (ja) メモリ装置及びメモリ装置の動作方法
KR20230094964A (ko) 이종 메모리 타겟의 인터리빙
US20200034318A1 (en) Memory device, processing system, and method of controlling the same
Kim et al. Networked ssd: Flash memory interconnection network for high-bandwidth ssd
KR101533685B1 (ko) 다중 프로세서용 메모리 장치 및 이를 포함하는 메모리 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14833951

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14833951

Country of ref document: EP

Kind code of ref document: A1