CN111459857A - 一种tcm控制器及数据缓存读取方法 - Google Patents

一种tcm控制器及数据缓存读取方法 Download PDF

Info

Publication number
CN111459857A
CN111459857A CN202010245080.2A CN202010245080A CN111459857A CN 111459857 A CN111459857 A CN 111459857A CN 202010245080 A CN202010245080 A CN 202010245080A CN 111459857 A CN111459857 A CN 111459857A
Authority
CN
China
Prior art keywords
address
data
read
cache
processor
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
Application number
CN202010245080.2A
Other languages
English (en)
Other versions
CN111459857B (zh
Inventor
郭娜娜
李红桥
田超
张斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN202010245080.2A priority Critical patent/CN111459857B/zh
Publication of CN111459857A publication Critical patent/CN111459857A/zh
Application granted granted Critical
Publication of CN111459857B publication Critical patent/CN111459857B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种TCM控制器及数据缓存读取方法,根据第一次访问请求信号的地址从TCM中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时获取两组数据,利用缓存设计对其中一组数据进行缓存,实现连续地址访问时,当连续访问地址与缓存地址相同,则直接从缓存中读取数据,第二次访问不通过访问TCM,而是通过访问缓存在寄存器中的数据,直接取到处理器中,将一次完整的连续读访问节省了2个周期的开销,在理想化的连续度访问中可以最大程度节省1/4的执行时间;适用于连续取值的操作,能大大提升访问效率,有效地提高了工作效率,降低芯片功耗,本发明能够实现对连续的读访问进行缓存,提高TCM控制器的访问速度,并提升处理器的访问效率。

Description

一种TCM控制器及数据缓存读取方法
技术领域
本发明属集成电路设计领域,涉及一种TCM控制器及数据缓存读取方法。
背景技术
随着新兴技术的不断涌现以及电子技术的飞速发展,人们对处理器性能在计算速度、存储容量以及传输速度等方面的需求日渐迫切。TCM为片内紧耦合存储器,其紧密地耦合至处理器内核,程序可完全控制紧致内存,因而相较于高速缓冲存储器Cache具有更好的可预测性。
随机存取存储器RAM集成到紧耦合内存TCM端口一般采用两种方式:直接集成到TCM上或通过TCM控制器集成,由于直接集成的RAM需要满足一定的要求,从而设计时一般都采用TCM控制器集成的方式,如“一种基于BMCSPI接口的TCM控制系统及方法”(申请号[201710326170.2])提供了一种基于BMCSPI接口的TCM控制系统及方法,实现了对TCM模块的控制;“一种存储器切换方法及装置”(申请号[201510791122.1])则提供了一种存储器切换的方法,能判断接收到的请求是Cache-RAM还是TCM,并将该种存储器类型的请求发送到对应的RAM中,提出了一种对TCM控制器设计方法。
TCM紧密地耦合至处理器内核,一般处理器都采用直接访问的方式,如图4所示。处理器通过TCM接口发出TCM的访问请求TCM_EN信号,同时发出读写控制信号及地址,通过TCM控制器将时序进行转化,转化为符合TCM的访问时序,同时WAIT信号有效时处理器读出数据,这个时序转化的操作在TCM控制器逻辑中实现。该方式的读操作只是将TCM内的数据从TCM中读出再返给处理器,一次只读取64位数据,即处理器直接访问TCM的访问方式。若芯片设计时TCM控制器逻辑能够满足单周期对TCM的读写访问,则可以实现连续访问,若当片内时序无法满足在一个周期内完成对TCM的读写访问,因而引入2个(或以上)系统时钟的读访问周期,即处理器读取一个数据需要2个(或以上)时钟周期,TCM一般存放的是关键代码如中断处理函数等,因此多周期的消耗,降低了处理器的访问效率,目前芯片时序无法满足单周期的TCM读访问,采用多周期的读访问而易带来时间上的损失问题。
发明内容
本发明的目的在于提供一种TCM控制器及数据缓存读取方法,以克服现有技术的不足。
为达到上述目的,本发明采用如下技术方案:
一种TCM控制器,包括与处理器通过处理器接口逻辑单元连接的读数据选择逻辑单元,读数据选择逻辑单元连接于有读数据命中判断逻辑单元和片内紧耦合存储器;
片内紧耦合存储器用于数据存储;
读数据选择逻辑单元通过处理器接口逻辑单元接收处理器的访问请求信号,若该访问请求信号为第一次访问请求,读数据选择逻辑单元根据访问请求信号的地址从片内紧耦合存储器中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时将与该地址对应的数据直接反馈至处理器,将与该地址连续的下一地址所对应的数据及与该地址连续的下一地址进行缓存,完成本次访问;若该访问请求信号非第一次访问请求,读数据命中判断逻辑单元判断该访问请求信号的地址与缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据最新访问请求信号的地址从片内紧耦合存储器中取出与最新访问请求信号的地址对应的数据及与最新访问请求信号的地址连续的地址所对应的数据,将与最新访问请求信号的地址对应的数据直接反馈至处理器,同时将与最新访问请求信号的地址连续的地址所对应的数据及与最新访问请求信号的地址连续的地址进行缓存,更新之前缓存数据。
进一步的,读数据选择逻辑单元包括读数据选择器单元、缓存寄存器、输出数据单元和输出选择器单元,读数据选择器单元的输入端连接于片内紧耦合存储器和处理器接口逻辑单元,分别用于获取片内紧耦合存储器数据和接收访问控制信号,读数据选择器单元的输出端连接缓存寄存器的输入端和输出数据单元输入端,缓存寄存器的输出端和输出数据单元输出端连接于输出选择器单元的输入端,输出选择器单元的控制端连接于读数据命中判断逻辑单元输出端,读数据命中判断逻辑单元的输入端连接读数据选择器单元的输出端和缓存寄存器的输出端,读数据命中判断逻辑单元为比较器;读数据命中判断逻辑单元的输出端连接输出选择器单元的输入端,输出选择器单元的输出端通过处理器接口逻辑单元连接于处理器。
一种TCM控制器数据缓存读取方法,包括以下步骤:
步骤1)、当处理器第一次发起读操作,根据第一次访问请求信号的地址从片内紧耦合存储器TCM中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据;
步骤2)、将与该地址对应的数据直接反馈至处理器,同时将与该地址连续的下一地址所对应的数据及与该地址连续的下一地址进行缓存,作为下一次读访问的缓存数据,完成本次访问;
步骤3)、连续第二次读访问时,判断第二次读访问请求信号的地址与第一次缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据第二次访问请求信号的地址从TCM中取出与第二次访问请求信号的地址对应的数据及与第二次访问请求信号的地址连续的地址所对应的数据,将与第二次读访问请求信号的地址对应的数据直接反馈至处理器,同时将与第二次读访问请求信号的地址连续的地址所对应的数据及与第二次读访问请求信号的地址连续的地址进行缓存,更新之前缓存数据,作为下一次读访问的缓存数据,重复步骤2)至步骤3),直至访存结束。
进一步的,步骤2)和步骤3)中采用缓存寄存器进行缓存数据。
进一步的,对处理器发起的访问请求信号通过读数据选择逻辑完成数据缓存的判定。
进一步的,具体的,将地址判定选择信号选中的一组数据直接返给处理器,而另一组地址判定选择信号未选中数据存放在缓存寄存器,作为下一次读访问的缓存数据,同时将未选中的另一组数据的地址寄存到寄存器中,完成本次的读访问操作。
进一步的,连续第二次读访问时,通过读数据命中判断逻辑将第二次读访问的地址和上一次缓存数据的地址或者与上一次读地址进行比较。
进一步的,将第二次读访问的地址和上一次缓存数据的地址进行比较,如果第二次读访问的地址和上一次缓存数据的地址相同,则表示地址命中,处理器直接从缓存寄存器取缓存数据;如果第二次读访问的地址和上一次缓存数据的地址不同,处理器依然从TCM中读取数据。
进一步的,将第二次读访问的地址和上一次读地址进行比较,若除参与译码的地址最低位外的其余地址均相同则表示地址命中,此时,处理器直接从缓存寄存器取缓存数据,而不是从TCM中读出;若地址未命中,处理器依然从TCM中读取数据。
与现有技术相比,本发明具有以下有益的技术效果:
本发明一种TCM控制器,采用读数据选择逻辑单元和读数据命中判断逻辑单元对发出的访问请求信号进行地址判定,利用读数据选择逻辑单元根据第一次访问请求信号的地址从TCM中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时获取两组数据,利用缓存设计对其中一组数据进行缓存,实现连续地址访问时,当连续访问地址与缓存地址相同,则直接从缓存中读取数据,不需要增加多余的存储体,且没有复杂的逻辑结构,在节省时间的同时并没有产生冗余的逻辑加大不必要的功耗,在成本上没有增加多余开销;该结构的可扩展性强,可以用于多级缓存的设计,同样,亦能用于其他片上存储控制,通用性强。
本发明一种TCM控制器数据缓存读取方法,根据第一次访问请求信号的地址从TCM中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时获取两组数据,利用缓存设计对其中一组数据进行缓存,实现连续地址访问时,当连续访问地址与缓存地址相同,则直接从缓存中读取数据,第二次连续地址访问可不通过访问TCM,而是通过访问缓存在寄存器中的数据,直接取到处理器中,将一次完整的连续读访问节省了2个周期的开销,在理想化的连续度访问中可以最大程度节省1/4的执行时间;适用于连续取值的操作,能大大提升访问效率,有效地提高了工作效率,降低芯片功耗,便于实现,可用于其他片上存储控制,具有较高的可移植性。本发明能够实现对连续的读访问进行缓存,非常适用于连续取值的操作,可提高TCM控制器的访问速度,并提升处理器的访问效率。
附图说明
图1为TCM控制器模块连接结构示意图。
图2为存储器数据存放方式示意图。
图3为TCM控制器数据传输结构图。
图4为处理器直接访问方式示意图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
如图1至图3所示,一种TCM控制器,包括与处理器通过处理器接口逻辑单元连接的读数据选择逻辑单元,读数据选择逻辑单元连接于有读数据命中判断逻辑单元和片内紧耦合存储器;
片内紧耦合存储器用于数据存储;读数据选择逻辑单元通过处理器接口逻辑单元接收处理器的访问请求信号,若该访问请求信号为第一次访问请求,读数据选择逻辑单元根据访问请求信号的地址从片内紧耦合存储器中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时将与该地址对应的数据直接反馈至处理器,将与该地址连续的下一地址所对应的数据及与该地址连续的下一地址进行缓存,完成本次访问;若该访问请求信号非第一次访问请求,读数据命中判断逻辑单元判断该访问请求信号的地址与缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据最新访问请求信号的地址从片内紧耦合存储器中取出与最新访问请求信号的地址对应的数据及与最新访问请求信号的地址连续的地址所对应的数据,将与最新访问请求信号的地址对应的数据直接反馈至处理器,同时将与最新访问请求信号的地址连续的地址所对应的数据及与最新访问请求信号的地址连续的地址进行缓存,更新之前缓存数据,完成连续的数据读取过程。
读数据选择逻辑单元包括读数据选择器单元、缓存寄存器、输出数据单元和输出选择器单元,读数据选择器单元的输入端连接于片内紧耦合存储器和处理器接口逻辑单元,分别用于获取片内紧耦合存储器数据和接收访问控制信号,读数据选择器单元的输出端连接缓存寄存器的输入端和输出数据单元输入端,缓存寄存器的输出端和输出数据单元输出端连接于输出选择器单元的输入端,输出选择器单元的控制端连接于读数据命中判断逻辑单元输出端,读数据命中判断逻辑单元的输入端连接读数据选择器单元的输出端和缓存寄存器的输出端,读数据命中判断逻辑单元为比较器;读数据命中判断逻辑单元的输出端连接输出选择器单元的输入端,输出选择器单元的输出端通过处理器接口逻辑单元连接于处理器。具体如图3所示,读数据选择器单元包括读数据选择器sel1和读数据选择器sel2,片内紧耦合存储器的输出端分别连接读数据选择器sel1和读数据选择器sel2的输入端,读数据选择器sel1和读数据选择器sel2的控制端连接地址线tcmaddr[3],处理器接口逻辑发出的地址线tcmaddr[3]用于获取访问请求信号的地址,控制读数据选择器sel1和读数据选择器sel2从片内紧耦合存储器读取数据,读数据选择器sel1和读数据选择器sel2的输出端分别连接缓存寄存器r.lastaddr的输入端和输出数据单元v.rdata的输入端,缓存寄存器r.lastaddr的输出端与输出数据单元v.rdata的输出端连接于输出选择器单元sel3的输入端,输出选择器单元sel3的控制端连接读数据命中判断逻辑单元的输出端,读数据命中判断逻辑单元采用比较器,读数据命中判断逻辑单元的输入端连接处理器接口逻辑发出的地址线tcmaddr[3]输出端和缓存寄存器r.lastaddr的输出端,读数据命中判断逻辑单元根据处理器接口逻辑发出的地址线tcmaddr[3]新访问请求的地址与缓存寄存器r.lastaddr缓存数据地址对比输出结果最为输出选择器单元sel3的控制。
一种TCM控制器数据缓存读取方法,包括以下步骤:
步骤1)、当处理器第一次发起读操作时,根据第一次访问请求信号的地址从片内紧耦合存储器TCM中一次性取出与该地址(第一次访问请求信号的地址)对应的数据及与该地址(第一次访问请求信号的地址)连续的下一地址所对应的数据;
步骤2)、将与该地址(第一次访问请求信号的地址)对应的数据直接反馈至处理器,同时将与该地址(第一次访问请求信号的地址)连续的下一地址所对应的数据及与该地址(第一次访问请求信号的地址)连续的下一地址进行缓存,作为下一次读访问的缓存数据,完成本次访问;
步骤3)、连续第二次读访问时,判断第二次读访问请求信号的地址与缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据第二次访问请求信号的地址从片内紧耦合存储器TCM中取出与第二次访问请求信号的地址对应的数据及与第二次访问请求信号的地址连续的下一地址所对应的数据,将与第二次读访问请求信号的地址对应的数据直接反馈至处理器,同时将与第二次读访问请求信号的地址连续的下一地址所对应的数据及与第二次读访问请求信号的地址连续的下一地址进行缓存,更新之前缓存数据,作为下一次读访问的缓存数据,重复步骤2)至步骤3),完成连续的数据读取过程。
片内紧耦合存储器TCM紧密地耦合至处理器内核,可以完成控制紧致存储,有更好的可预测性。
当处理器第一次发起读操作,处理器通过处理器接口逻辑单元与读数据选择逻辑单元获取访问请求信号的地址,读数据选择逻辑单元直接从片内紧耦合存储器TCM中读取对应该地址的数据以及与该地址连续的下一地址对应的数据;具体的如:内紧耦合存储器TCM存储128位数据,从片内紧耦合存储器TCM中一次性完成128位数据的读取,其中一组64位数据为第一次访问请求信号地址对应数据,另一组64位数据为与第一次访问请求信号地址连续的地址所对应的数据;这里第一次访问请求信号地址对应数据为地址译码为低位的64位数据,与第一次访问请求信号地址连续的地址所对应的数据为地址译码为高位的64位数据。对处理器发起的访问请求信号通过读数据选择逻辑完成数据缓存的判定,即完成地址译码的地址判定,将地址判定选择信号选中的64位数据直接返给处理器,而另一组地址判定选择信号未选中的64位数据存放在寄存器里,作为下一次读访问的缓存数据,同时将未选中的64位数据的地址寄存到读数据选择逻辑单元中的缓存寄存器中,完成本次的读访问操作。
连续第二次读访问时,通过读数据命中判断逻辑将第二次读访问的地址和上一次缓存数据的地址或者与上一次读地址进行比较;将第二次读访问的地址和上一次缓存数据的地址进行比较,如果第二次读访问的地址和上一次缓存数据的地址相同,则表示地址命中,处理器直接从缓存寄存器取缓存数据;如果第二次读访问的地址和上一次缓存数据的地址不同,处理器依然从片内紧耦合存储器TCM中读取数据,与步骤1)相同,将对应读操作对应的数据反馈至处理器,另外一组数据存入缓存寄存器中,更新缓存寄存器,缓存寄存器每次只存储最新的地址缓存数据;将第二次读访问的地址和上一次读地址进行比较,若除参与译码的地址最低位外的其余地址均相同则表示地址命中,此时,处理器直接从缓存寄存器取缓存数据,而不是从TCM中读出;若地址未命中,处理器依然从TCM中读取数据,与步骤1)相同,将对应读操作对应的数据反馈至处理器,另外一组数据存入缓存寄存器中,更新缓存寄存器的数据。
处理器发起读操作的地址及控制信号通过读数据命中判断逻辑选择开关,选择开关的选择控制信号hit_flag由读操作的参与译码的地址最低位外的其余地址tcmaddr和上一次存放在缓存寄存器r.lastaddr中的地址进行比较,若两个地址相同且写命中标志wr.hit=0,即保证上次的写访问没有更新存存储器中该地址的数据时,hit_flag=1,否则hit_flag=0;当hit_flag=1时,表示地址命中,处理器直接从缓存寄存器r.lastdata中读取数据,当hit_flag=0时,表示地址未命中,则处理器从片内紧耦合存储器TCM数据v.rdata中读取数据,同时更新缓存寄存器r.lastdata的数据。
片内紧耦合存储器TCM对数据的存放方式如图2、图3所示,mem0为直接访问方式下的存储体,其存储空间为2n word大小,mem1和mem2为加入缓存结构后的存储体,即将mem0拆分成两个2n-1word大小的存储体,其中mem1存放的为地址tcmaddr[3]=0的数据,mem2存放的则为地址tcmaddr[3]=1的数据,拆分后总的空间大小不变;更新的数据由选择器sel2和选择器sel3决定,选择器sel2和选择器sel3的选择控制信号为tcm_addr[3],当tcm_addr[3]=0时,访问读出的为mem1存放的低位地址的64位数据,如0x0,0x8,0x10,…;同时将r.lastdata更新为mem2存放的为高位地址的64位数据,如0x4,0xC,0x14,…;当tcm_addr[3]=1时,访问读出的为mem2存放的为高位地址的64位,如0x4,0xC,0x14,…;同时将r.lastdata更新为mem2存放的为高位地址的64位,如0x0,0x8,0x10,…。
本发明涉及TCM控制器多周期访问的情况下,为了提高TCM控制器的访问速度,通过加入读数据选择逻辑和读数据命中判断逻辑,同时获取两组数据,利用缓存设计对其中一组数据进行缓存,实现连续地址读访问时,当连续访问地址与缓存地址相同,则直接从缓存中读取数据,第二次访问不通过访问TCM,而是通过访问缓存在寄存器中的数据,直接取到处理器中,将一次完整的连续读访问节省了2个周期的开销,在理想化的连续度访问中可以最大程度节省1/4的执行时间;非常适用于连续取指的操作,能大大提升访存效率,降低芯片功耗,便于实现,可用于其他片上存储控制,具有较高的可移植性。

Claims (9)

1.一种TCM控制器,其特征在于,包括与处理器通过处理器接口逻辑单元连接的读数据选择逻辑单元,读数据选择逻辑单元连接于读数据命中判断逻辑单元和片内紧耦合存储器;
片内紧耦合存储器用于数据存储;
读数据选择逻辑单元通过处理器接口逻辑单元接收处理器的读访问请求信号,若该访问请求信号为第一次读访问请求,读数据选择逻辑单元根据访问请求信号的地址从片内紧耦合存储器中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据,同时将与该地址对应的数据直接反馈至处理器,将与该地址连续的下一地址所对应的数据及与该地址连续的下一地址进行缓存,完成本次访问;若该访问请求信号非第一次读访问请求,读数据命中判断逻辑单元判断该访问请求信号的地址与缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据最新访问请求信号的地址从片内紧耦合存储器中取出与最新访问请求信号的地址对应的数据及与最新访问请求信号的地址连续的下一地址所对应的数据,将与最新访问请求信号的地址对应的数据直接反馈至处理器,同时将与最新访问请求信号的地址连续的地址所对应的数据及与最新访问请求信号的地址连续的地址进行缓存,更新之前缓存数据。
2.根据权利要求1所述的一种TCM控制器,其特征在于,读数据选择逻辑单元包括读数据选择器单元、缓存寄存器、输出数据单元和输出选择器单元,读数据选择器单元的输入端连接于片内紧耦合存储器和处理器接口逻辑单元,分别用于获取片内紧耦合存储器数据和接收处理器访问信号,读数据选择器单元的输出端连接缓存寄存器的输入端和输出数据单元输入端,缓存寄存器的输出端和输出数据单元输出端连接于输出选择器单元的输入端,输出选择器单元的控制端连接于读数据命中判断逻辑单元输出端,读数据命中判断逻辑单元的输入端连接读数据选择器单元的输出端和缓存寄存器的输出端,读数据命中判断逻辑单元为比较器;读数据命中判断逻辑单元的输出端连接输出选择器单元的输入端,输出选择器单元的输出端通过处理器接口逻辑单元连接于处理器。
3.一种TCM控制器数据缓存读取方法,其特征在于,包括以下步骤:
步骤1)、当处理器第一次发起读操作,根据第一次访问请求信号的地址从片内紧耦合存储器TCM中一次性取出与该地址对应的数据及与该地址连续的下一地址所对应的数据;
步骤2)、将与该地址对应的数据直接反馈至处理器,同时将与该地址连续的下一地址所对应的数据及与该地址连续的下一地址进行缓存,作为下一次读访问的缓存数据,完成本次访问;
步骤3)、连续第二次读访问时,判断第二次读访问请求信号的地址与第一次缓存数据中的地址是否相同,如果相同,则直接将缓存数据反馈至处理器,若不相同,则根据第二次访问请求信号的地址从TCM中取出与第二次访问请求信号的地址对应的数据及与第二次访问请求信号的地址连续的地址所对应的数据,将与第二次读访问请求信号的地址对应的数据直接反馈至处理器,同时将与第二次读访问请求信号的地址连续的地址所对应的数据及与第二次读访问请求信号的地址连续的地址进行缓存,更新之前缓存数据,作为下一次读访问的缓存数据,重复步骤2)至步骤3),完成连续的数据读取过程。
4.根据权利要求3所述的一种TCM控制器数据缓存读取方法,其特征在于,步骤2)和步骤3)中采用缓存寄存器进行缓存数据。
5.根据权利要求4所述的一种TCM控制器数据缓存读取方法,其特征在于,对处理器发起的访问请求信号通过读数据选择逻辑完成数据缓存的判定。
6.根据权利要求5所述的一种TCM控制器数据缓存读取方法,其特征在于,具体的,将地址判定选择信号选中的一组数据直接返给处理器,而另一组地址判定选择信号未选中数据存放在缓存寄存器,作为下一次读访问的缓存数据,同时将未选中的另一组数据的地址寄存到寄存器中,完成本次的读访问操作。
7.根据权利要求4所述的一种TCM控制器数据缓存读取方法,其特征在于,连续第二次读访问时,通过读数据命中判断逻辑将第二次读访问的地址和上一次缓存数据的地址或者与上一次读地址进行比较。
8.根据权利要求7所述的一种TCM控制器数据缓存读取方法,其特征在于,将第二次读访问的地址和上一次缓存数据的地址进行比较,如果第二次读访问的地址和上一次缓存数据的地址相同,则表示地址命中,处理器直接从缓存寄存器取缓存数据;如果第二次读访问的地址和上一次缓存数据的地址不同,处理器依然从TCM中读取数据。
9.根据权利要求7所述的一种TCM控制器数据缓存读取方法,其特征在于,将第二次读访问的地址和上一次读地址进行比较,若除参与译码的地址最低位外的其余地址均相同则表示地址命中,此时,处理器直接从缓存寄存器取缓存数据,而不是从TCM中读出;若地址未命中,处理器依然从TCM中读取数据。
CN202010245080.2A 2020-03-31 2020-03-31 一种tcm控制器及数据缓存读取方法 Active CN111459857B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010245080.2A CN111459857B (zh) 2020-03-31 2020-03-31 一种tcm控制器及数据缓存读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010245080.2A CN111459857B (zh) 2020-03-31 2020-03-31 一种tcm控制器及数据缓存读取方法

Publications (2)

Publication Number Publication Date
CN111459857A true CN111459857A (zh) 2020-07-28
CN111459857B CN111459857B (zh) 2022-04-19

Family

ID=71685301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010245080.2A Active CN111459857B (zh) 2020-03-31 2020-03-31 一种tcm控制器及数据缓存读取方法

Country Status (1)

Country Link
CN (1) CN111459857B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN115114190A (zh) * 2022-07-20 2022-09-27 上海合见工业软件集团有限公司 基于预测逻辑的sram数据读取系统
WO2024045848A1 (zh) * 2022-08-30 2024-03-07 深圳市中兴微电子技术有限公司 存储器访问控制电路及存储器访问控制方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434641B1 (en) * 1999-05-28 2002-08-13 Unisys Corporation System for reducing the number of requests presented to a main memory in a memory storage system employing a directory-based caching scheme
CN101354641A (zh) * 2008-08-20 2009-01-28 炬力集成电路设计有限公司 一种外部存储器的访问控制方法及访问控制装置
CN103034476A (zh) * 2004-08-27 2013-04-10 高通股份有限公司 用于在总线上发送存储器预取命令的方法和设备
CN103077225A (zh) * 2012-12-31 2013-05-01 华为技术有限公司 数据读取方法、装置及系统
CN103257946A (zh) * 2013-05-24 2013-08-21 浪潮电子信息产业股份有限公司 一种紧耦合多控存储系统控制器之间的高速互联方法
US8891523B2 (en) * 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
CN107526528A (zh) * 2016-06-20 2017-12-29 北京正泽兴承科技有限责任公司 一种片上低延迟存储器的实现机制
CN109254883A (zh) * 2017-07-14 2019-01-22 深圳市中兴微电子技术有限公司 一种片上存储器的调试装置及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434641B1 (en) * 1999-05-28 2002-08-13 Unisys Corporation System for reducing the number of requests presented to a main memory in a memory storage system employing a directory-based caching scheme
CN103034476A (zh) * 2004-08-27 2013-04-10 高通股份有限公司 用于在总线上发送存储器预取命令的方法和设备
CN101354641A (zh) * 2008-08-20 2009-01-28 炬力集成电路设计有限公司 一种外部存储器的访问控制方法及访问控制装置
US8891523B2 (en) * 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
CN103077225A (zh) * 2012-12-31 2013-05-01 华为技术有限公司 数据读取方法、装置及系统
CN103257946A (zh) * 2013-05-24 2013-08-21 浪潮电子信息产业股份有限公司 一种紧耦合多控存储系统控制器之间的高速互联方法
CN107526528A (zh) * 2016-06-20 2017-12-29 北京正泽兴承科技有限责任公司 一种片上低延迟存储器的实现机制
CN109254883A (zh) * 2017-07-14 2019-01-22 深圳市中兴微电子技术有限公司 一种片上存储器的调试装置及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114036096A (zh) * 2021-11-04 2022-02-11 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
CN115114190A (zh) * 2022-07-20 2022-09-27 上海合见工业软件集团有限公司 基于预测逻辑的sram数据读取系统
WO2024045848A1 (zh) * 2022-08-30 2024-03-07 深圳市中兴微电子技术有限公司 存储器访问控制电路及存储器访问控制方法

Also Published As

Publication number Publication date
CN111459857B (zh) 2022-04-19

Similar Documents

Publication Publication Date Title
CN111459857B (zh) 一种tcm控制器及数据缓存读取方法
US5602780A (en) Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
TWI454909B (zh) 減少記憶體裝置之功率消耗之記憶體裝置、方法及系統
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
US6356990B1 (en) Set-associative cache memory having a built-in set prediction array
JPH11501751A (ja) トグル・モード・インクリメント論理回路を使用した線形およびトグル・モードのバースト・アクセス・シーケンスを制御する方法および装置
US5765182A (en) Interleaving memory on separate boards
CN111427805B (zh) 一种基于页模式操作的存储器快速访问方法
KR20170115521A (ko) Cpu(central processing unit)-기반 시스템에서 cmc(compressed memory controller)들에 의한 백-투-백 읽기 동작들을 사용하는 메모리 대역폭 압축 제공
CN102713868B (zh) 存取二级存储器的一部分及一级存储器的系统及方法
US8015329B2 (en) Data transfer coherency device and methods thereof
CN111158753A (zh) 具有数据预取功能的Flash控制器结构及其实现方法
CN105373348B (zh) 一种混合内存的硬件实现系统及方法
CN112463668B (zh) 一种基于stt-mram的多通道高速数据访存结构
KR100398954B1 (ko) 멀티웨이 세트 연관 구조의 캐쉬 메모리 및 데이터 판독방법
US6928003B2 (en) Memory controller controlling cached DRAM
KR20230145254A (ko) 적응형 메모리 액세스 관리
US5765212A (en) Memory control circuit that selectively performs address translation based on the value of a road start address
JP3583844B2 (ja) キャッシュメモリ方式
CN109388344B (zh) 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法
CN111241007B (zh) 数据读写方法及装置、动态随机存储器
US7047363B2 (en) Cache memory and control method thereof
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
KR100877972B1 (ko) 프로세서 사이에 데이터를 직접 전달하는 듀얼 포트 메모리및 데이터 직접 전달 방법
US20230420017A1 (en) Computer memory arrays employing memory banks and integrated serializer/de-serializer circuits for supporting serialization/de-serialization of read/write data in burst read/write modes, and related methods

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