CN114911724B - 一种基于多bank的cache预取技术的访存结构 - Google Patents
一种基于多bank的cache预取技术的访存结构 Download PDFInfo
- Publication number
- CN114911724B CN114911724B CN202210511992.9A CN202210511992A CN114911724B CN 114911724 B CN114911724 B CN 114911724B CN 202210511992 A CN202210511992 A CN 202210511992A CN 114911724 B CN114911724 B CN 114911724B
- Authority
- CN
- China
- Prior art keywords
- cache
- data
- read
- instruction
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 239000002674 ointment Substances 0.000 claims abstract description 8
- 238000013461 design Methods 0.000 claims abstract description 6
- 230000000694 effects Effects 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 5
- 230000009471 action Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- 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/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开的属于集成电路设计与计算机结构技术领域,具体为一种基于多bank的cache预取技术的访存结构,包括处理器系统总线:多个master与salve分布在系统BUS两侧,主从设备之间通过总线相连;cache:处理器与系统总线之间通过cache相连,所述cache采用组相联映射和LRU替换规则,对应地址映射采用Tag、index、offset、no use段,每段的位宽由系统位宽和cache的容量决定;预取逻辑:instruction cache只需要从cache中读取数据,在data cache中需要对数据进行读写操作,读写都将会被预取,预取目的是将读写的cache line保存在cache中;访存:访存结构分为指令读取与数据读写两种结构,指令读取为单通道,该发明,可广泛应用在处理器芯片中,加快外存数据的获取,降低系统总线的使用率,来提高处理器处理性能。
Description
技术领域
本发明涉及集成电路设计与计算机结构技术领域,具体为一种基于多bank的cache预取技术的访存结构。
背景技术
在处理器中,通常存在一种规模很小,速度很快的存储器,位于处理器核心和系统的数据总线或内存之间,该存储器命名为Cache。通常Cache由SRAM组成,其速度要等于或快于系统总线的速度,远快于内存的访问速度。Cache存储处理器内核近期或即将使用的部分数据,若Cache中存储处理器内核所需要的数据则可以直接被处理器访问,避免重复占用总线和消耗时钟周期从内存中搬移数据,降低了总线的占用,减少了处理器核心的等待时间,因而提高了系统的效率。
提升Cache的工作效率即是提高处理器的工作效率,Cache的性能主要由命中时间、缺失率、缺失代价决定。提高Cache的效率通常有:1.通过设计Cache自身结构降低命中时间和缺失率;2.通过构成多级Cache结构减少缺失代价;3.通过预取的方式利用空闲时间将数据存入Cache降低缺失率,因此需要研发一种基于多bank的cache预取技术的访存结构。
发明内容
本部分的目的在于概述本发明的实施方式的一些方面以及简要介绍一些较佳实施方式。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
为解决上述技术问题,根据本发明的一个方面,本发明提供了如下技术方案:
一种基于多bank的cache预取技术的访存结构,其包括:
处理器系统总线:多个master与salve分布在系统BUS两侧,主从设备之间通过总线相连;
cache:处理器与系统总线之间通过cache相连,所述cache采用组相联映射和LRU替换规则,对应地址映射采用Tag、index、offset、no use段,每段的位宽由系统位宽和cache的容量决定;
预取逻辑:instruction cache只需要从cache中读取数据,在data cache中需要对数据进行读写操作,读写都将会被预取,预取目的是将读写的cache line保存在cache中;
访存:访存结构分为指令读取与数据读写两种结构,指令读取为单通道,指令通道直连instruction cache并挂载到系统总线上,数据读写为多通道,通过date cache并挂载到总线上。
作为本发明所述的一种基于多bank的cache预取技术的访存结构的一种优选方案,其中:所述cache可分为相互独立的data cache与instruction cache,作为master的处理器核心和salve的外设均可对cache进行读写。
作为本发明所述的一种基于多bank的cache预取技术的访存结构的一种优选方案,其中:所述预取逻辑中在常规的模式下指令和数据多为顺序访问,使用next line的预取规则成功率越高,处理器内核对指令和数据的访问为master与cache的访问,cache仅有一路地址通道,在读写两端各加一个buffer,该buffer的大小与cache line大小一致,并且该buffer记录相关的Tag信息,在读写操作时优先访问buffer中的数据,当buffer不匹配数据时再去cache中访问,同时更新至buffer中,当相邻的写操作不为同一个cache line时,将buffer中的数据写入cache中,当读操作出现buffer内数据未更新至cache导致与cache数据不一致时,优先从写buffer中读取数据。
作为本发明所述的一种基于多bank的cache预取技术的访存结构的一种优选方案,其中:所述Data cache中采用的多bank的方案,将data cache按照地址分为多个bank,每个bank可以同时进行hit以及miss,master可在读写操作过程中切换已经hit的bank,将预取功能放在空闲的未hit的bank中进行,同时保持master与cache和cache与salve的数据传输,达到连续访存不中断的效果;通道数与bank数相同,可同时进行操作,最大程度上利用cache性能。
作为本发明所述的一种基于多bank的cache预取技术的访存结构的一种优选方案,其中:所述访存架构运用在DSP芯片设计中,负责DSP系统的指令加载与数据读写,DSP采用VLIW技术,每周期读取多条指令,每周期处理器向cache获取128bit的指令数据,当出现miss时向salve获取一个cache line数据为512bit,4倍于指令读取宽度,当下一周期读取仍为相同cache line时,cache将对salve进行预取同时返回指令数据给处理器内核。
作为本发明所述的一种基于多bank的cache预取技术的访存结构的一种优选方案,其中:所述DSP采用多个通道来并行执行VLIW,产生多路的访存信号对总线进行访问,多通道通过优先级和地址仲裁分配给对应的bank,可单独对bank进行hit过miss,数据的宽度为128bit,cache line的长度4倍于数据位宽,但由于存在写cache的行为,在连续地址写入为一个cache line的4次操作中,写操作占用的cache的地址通道,导致无法完成cache对salve的预取操作,通过多bank的访存结构,当产生连续cache line访问时,连续不同的4次cache line访问分别分配至4个不同的bank上,未被访问的bank进行与salve的预取操作。
与现有技术相比,本发明的有益效果是:发明一种基于多通道cache预取技术的访存结构,该结构可广泛应用在处理器芯片中,加快外存数据的获取,降低系统总线的使用率,来提高处理器处理性能。
附图说明
为了更清楚地说明本发明实施方式的技术方案,下面将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为处理器系统总线结构;
图2为cache的结构设计结构;
图3为写预取流程图;
图4为多bank访存结构图;
图5为指令预取效果图;
图6为读数据预取效果图;
图7为写数据预取效果图;
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施方式的限制。
其次,本发明结合示意图进行详细描述,在详述本发明实施方式时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
请参阅图1-图7,本实施方式的一种基于多bank的cache预取技术的访存结构,其包括:
处理器系统总线:多个master与salve分布在系统BUS两侧,主从设备之间通过总线相连,在处理器与系统总线之间通过cache相连,cache可分为相互独立的data cache与instruction cache。作为master的处理器核心和salve的外设均可对cache进行读写。
cache:cache采用组相联映射和LRU替换规则,对应地址映射采用Tag、index、offset、no use段,每段的位宽由系统位宽和cache的容量决定。
预取逻辑:instruction cache只需要从cache中读取数据,在data cache中需要对数据进行读写操作,读写都将会被预取,预取目的是将读写的cache line保存在cache中。在常规的模式下指令和数据多为顺序访问,使用next line的预取规则成功率越高,在本发明中使用该预取方式。预取的本质是cache对salve的访问,处理器内核对指令和数据的访问为master与cache的访问,cache仅有一路地址通道,为了避免两者冲突,在读写两端各加一个buffer,该buffer的大小与cache line大小一致,并且该buffer记录相关的Tag信息,在读写操作时优先访问buffer中的数据,当buffer不匹配数据时再去cache中访问,同时更新至buffer中,当相邻的写操作不为同一个cache line时,将buffer中的数据写入cache中,当读操作出现buffer内数据未更新至cache导致与cache数据不一致时,优先从写buffer中读取数据。图3为写预取流程图。
访存:访存结构分为指令读取与数据读写两种结构,指令读取为单通道,指令通道直连instruction cache并挂载到系统总线上,数据读写为多通道,通过date cache并挂载到总线上。Data cache中采用的多bank的方案,将data cache按照地址分为多个bank,每个bank可以同时进行hit以及miss,master可在读写操作过程中切换已经hit的bank,将预取功能放在空闲的未hit的bank中进行,同时保持master与cache和cache与salve的数据传输,达到连续访存不中断的效果。通道数与bank数相同,可同时进行操作,最大程度上利用cache性能。多bank访存结构如图4。
将本访存架构运用在DSP芯片设计中,负责DSP系统的指令加载与数据读写,DSP采用VLIW技术,每周期读取多条指令,以本方案举例说明,每周期处理器向cache获取128bit的指令数据,当出现miss时向salve获取一个cache line数据为512bit,4倍于指令读取宽度,当下一周期读取仍为相同cache line时,cache将对salve进行预取同时返回指令数据给处理器内核。通过以上过程,在顺序读取指令时仅会产因第一次cache中miss而中断系统流水线的行为,提升IPC。仿真时序如图5.
DSP采用多个通道来并行执行VLIW,产生多路的访存信号对总线进行访问,多通道通过优先级和地址仲裁分配给对应的bank,可单独对bank进行hit过miss,数据的宽度为128bit,cache line的长度4倍于数据位宽,但由于存在写cache的行为,在连续地址写入为一个cache line的4次操作中,写操作占用的cache的地址通道,导致无法完成cache对salve的预取操作,通过多bank的访存结构,当产生连续cache line访问时,连续不同的4次cache line访问分别分配至4个不同的bank上,未被访问的bank进行与salve的预取操作,通过以上过程,在顺序读取数据时,每个bank均只会产生4次中断流水线的行为,提升数据访问带宽。读写预取效果分别见图6、图7。
虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。
Claims (6)
1.一种基于多bank的cache预取技术的访存结构,其特征在于,包括:
处理器系统总线:多个master与salve分布在系统BUS两侧,主从设备之间通过总线相连;
cache:处理器与系统总线之间通过cache相连,所述cache采用组相联映射和LRU替换规则,对应地址映射采用Tag、index、offset、no use段,每段的位宽由系统位宽和cache的容量决定;
预取逻辑:instruction cache只需要从cache中读取数据,在data cache中需要对数据进行读写操作,读写都将会被预取,预取目的是将读写的cache line保存在cache中;
访存:访存结构分为指令读取与数据读写两种结构,指令读取为单通道,指令通道直连instruction cache并挂载到系统总线上,数据读写为多通道,通过date cache并挂载到总线上。
2.根据权利要求1所述的一种基于多bank的cache预取技术的访存结构,其特征在于:所述cache可分为相互独立的data cache与instruction cache,作为master的处理器核心和salve的外设均可对cache进行读写。
3.根据权利要求1所述的一种基于多bank的cache预取技术的访存结构,其特征在于:所述预取逻辑中在常规的模式下指令和数据多为顺序访问,使用next line的预取规则成功率越高,处理器内核对指令和数据的访问为master与cache的访问,cache仅有一路地址通道,在读写两端各加一个buffer,该buffer的大小与cache line大小一致,并且该buffer记录相关的Tag信息,在读写操作时优先访问buffer中的数据,当buffer不匹配数据时再去cache中访问,同时更新至buffer中,当相邻的写操作不为同一个cache line时,将buffer中的数据写入cache中,当读操作出现buffer内数据未更新至cache导致与cache数据不一致时,优先从写buffer中读取数据。
4.根据权利要求1所述的一种基于多bank的cache预取技术的访存结构,其特征在于:所述Data cache中采用的多bank的方案,将data cache按照地址分为多个bank,每个bank可以同时进行hit以及miss,master可在读写操作过程中切换已经hit的bank,将预取功能放在空闲的未hit的bank中进行,同时保持master与cache和cache与salve的数据传输,达到连续访存不中断的效果;通道数与bank数相同,可同时进行操作,最大程度上利用cache性能。
5.根据权利要求1所述的一种基于多bank的cache预取技术的访存结构,其特征在于:所述访存架构运用在DSP芯片设计中,负责DSP系统的指令加载与数据读写,DSP采用VLIW技术,每周期读取多条指令,每周期处理器向cache获取128bit的指令数据,当出现miss时向salve获取一个cache line数据为512bit,4倍于指令读取宽度,当下一周期读取仍为相同cache line时,cache将对salve进行预取同时返回指令数据给处理器内核。
6.根据权利要求5所述的一种基于多bank的cache预取技术的访存结构,其特征在于:所述DSP采用多个通道来并行执行VLIW,产生多路的访存信号对总线进行访问,多通道通过优先级和地址仲裁分配给对应的bank,可单独对bank进行hit过miss,数据的宽度为128bit,cache line的长度4倍于数据位宽,但由于存在写cache的行为,在连续地址写入为一个cache line的4次操作中,写操作占用的cache的地址通道,导致无法完成cache对salve的预取操作,通过多bank的访存结构,当产生连续cache line访问时,连续不同的4次cache line访问分别分配至4个不同的bank上,未被访问的bank进行与salve的预取操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511992.9A CN114911724B (zh) | 2022-05-12 | 2022-05-12 | 一种基于多bank的cache预取技术的访存结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210511992.9A CN114911724B (zh) | 2022-05-12 | 2022-05-12 | 一种基于多bank的cache预取技术的访存结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114911724A CN114911724A (zh) | 2022-08-16 |
CN114911724B true CN114911724B (zh) | 2024-03-19 |
Family
ID=82765907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210511992.9A Active CN114911724B (zh) | 2022-05-12 | 2022-05-12 | 一种基于多bank的cache预取技术的访存结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114911724B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116028388B (zh) * | 2023-01-17 | 2023-12-12 | 摩尔线程智能科技(北京)有限责任公司 | 高速缓存方法、装置、电子设备、存储介质和程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109219805A (zh) * | 2017-05-08 | 2019-01-15 | 华为技术有限公司 | 一种多核系统内存访问方法、相关装置、系统及存储介质 |
CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
-
2022
- 2022-05-12 CN CN202210511992.9A patent/CN114911724B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109219805A (zh) * | 2017-05-08 | 2019-01-15 | 华为技术有限公司 | 一种多核系统内存访问方法、相关装置、系统及存储介质 |
CN111639042A (zh) * | 2020-06-04 | 2020-09-08 | 中科芯集成电路有限公司 | 一种预取buffer数据一致性的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114911724A (zh) | 2022-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3323212B2 (ja) | データプレフェッチの方法およびその装置 | |
US6321296B1 (en) | SDRAM L3 cache using speculative loads with command aborts to lower latency | |
KR100454441B1 (ko) | 전폭캐쉬를가진집적프로세서/메모리장치 | |
US6356990B1 (en) | Set-associative cache memory having a built-in set prediction array | |
KR100395756B1 (ko) | 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서 | |
JP2003504757A (ja) | 外部メモリアクセス用バッファリングシステムバス | |
KR101509628B1 (ko) | 프로세서의 하이 어소시에이티브 캐시 메모리를 위한 scr 매커니즘 | |
US20110029712A1 (en) | Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same | |
WO2000075793A1 (en) | A programmable sram and dram cache interface | |
CN114911724B (zh) | 一种基于多bank的cache预取技术的访存结构 | |
US5467460A (en) | M&A for minimizing data transfer to main memory from a writeback cache during a cache miss | |
JPH11203192A (ja) | 並列プロセッサおよび演算処理方法 | |
US7328311B2 (en) | Memory controller controlling cashed DRAM | |
JPH04102948A (ja) | データ処理システム及び方法 | |
US5287512A (en) | Computer memory system and method for cleaning data elements | |
US6801982B2 (en) | Read prediction algorithm to provide low latency reads with SDRAM cache | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
US5835945A (en) | Memory system with write buffer, prefetch and internal caches | |
US20040078544A1 (en) | Memory address remapping method | |
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
US5953740A (en) | Computer memory system having programmable operational characteristics based on characteristics of a central processor | |
US20010034808A1 (en) | Cache memory device and information processing system | |
KR20030010823A (ko) | 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법 | |
JPH05282208A (ja) | キャッシュメモリ制御方式 | |
US20240086325A1 (en) | DRAM Cache with Stacked, Heterogenous Tag and Data Dies |
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 |