CN100533371C - 用于控制处理器与外设之间的通信的控制器和方法 - Google Patents

用于控制处理器与外设之间的通信的控制器和方法 Download PDF

Info

Publication number
CN100533371C
CN100533371C CNB2005800333600A CN200580033360A CN100533371C CN 100533371 C CN100533371 C CN 100533371C CN B2005800333600 A CNB2005800333600 A CN B2005800333600A CN 200580033360 A CN200580033360 A CN 200580033360A CN 100533371 C CN100533371 C CN 100533371C
Authority
CN
China
Prior art keywords
thread
memory
addr
data
memory bank
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.)
Expired - Fee Related
Application number
CNB2005800333600A
Other languages
English (en)
Other versions
CN101040255A (zh
Inventor
奇·Y·恩吉
尼蒂·S·卡布拉
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101040255A publication Critical patent/CN101040255A/zh
Application granted granted Critical
Publication of CN100533371C publication Critical patent/CN100533371C/zh
Expired - Fee Related 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Information Transfer Systems (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及一种基于多线程操作***的数据处理***。所述数据处理***包括:至少一个处理器(PROC),用于基于多线程对数据进行处理;至少一个控制器单元(CU),用于控制所述至少一个处理器(PROC)与外设(PD)之间的通信,其中所述外设与所述至少一个控制器单元(CU)相连。所述至少一个控制器单元(CU)包括:至少一个缓冲存储器(BM),对来自与所述至少一个控制器单元(CU)相连的所述外设(PD)的数据进行缓冲;以及至少一个存储管理单元(MMU),通过把所述至少一个缓冲存储器(BM)映射到N个存储体(C0-C3)来管理对所述至少一个缓冲存储器(BM)的访问,其中每一个存储体都具有专用预取寄存器(Addr_0-Addr_3)。把所述多线程(T0-T3)中至少一个线程映射到所述N个存储体(C0-C3)中的一个存储体和该存储体的专用预取寄存器(Addr_0-Addr_3)。

Description

用于控制处理器与外设之间的通信的控制器和方法
技术领域
本发明涉及一种数据处理***、一种控制器和一种方法,用于对处理器与外设之间的通信进行控制。
背景技术
为了增强基于现代微处理器的数据处理***的性能,使用一般接口(可以是类SRAM接口,即存储映射接口)来扩展***的能力。这种接口的示例可以包括:通用串行总线USB控制器、调制解调器控制器、IEEE 1394控制器等。这些控制器使数据处理***中的微处理器能够和与控制器相连的外设进行通信。例如,像便携式数字助理PDA、移动电话、数码相机和便携式存储设备的外设可以使用USB接口与主机交换数据。然而,如果每一个外设都包括USB接口,那么这些外设还可以彼此通信而不需要主机。所有这些控制器和接口具有共同点,即,它们典型地包含本地存储管理单元MMU,MMU被设计用于:对微处理器向外设中的内部缓冲存储器发出的访问请求进行处理。
存储管理单元MMU对内部缓冲存储器的访问或读取包括预取时间段。这个时间段组成了存储管理单元MMU从缓冲存储器获取数据所需的时间段。应当注意的是,预取时间段典型地比通常的读取时间段长几倍。
在数据处理期间,微处理器可以使用减小的时间以满足预取约束。这里,引入了与每次访问控制器中的缓冲存储器的预取时间段相对应的延迟。可选地,可以使用就绪信号。然而,这些就绪信号可能不能够用于所有的数据处理平台。
为了改进从外部扩展***(即外设)进行读取的能力,使用突发模式来执行读取。这里,微处理器把期望的起始地址(即数据读取应当开始的地址)写入寄存器,该地址用作预取地址。之后,微处理器等待预取时间段并以全速(即正常的操作速度)发起对外设的访问。这同样用于访问连续数据。然而,如果微处理器需要访问外设中其它位置的数据,则必须再次启动预取周期。因此,在不需要就绪信号且不减小外设控制器的可用带宽的情况下满足了预取约束。关于更多信息,请参考Data Sheet of Am29N323D of Advanced Micro Devices,Rev.B,2002年8月8日。
然而,在多线程、多任务数据处理环境中可能会出现问题。如果第一线程正在从512个字节的地址0x1000开始起访问外设,并在读取了256个字节后,数据处理***可能会切换到可能具有更高优先级的第二线程,第二线程把不同的地址写入寄存器作为预取地址。一旦第二线程完成了其处理,对外设的访问将会结束,数据处理***将会切换回第一线程。然而,由于寄存器中作为预取地址的当前值已经被第二线程更改,所以这可能导致数据讹误。
US 2002/0091719涉及计算机与计算机网络之间的数据***环境中的一种消息处理***,它基于多线程数据集操作。不同的线程由费里斯轮队列(ferris wheel queue)来处理。具体地,费里斯轮队列包括处理单元,所述处理单元具有与缓冲空间可用性和输入数据源有关的信息。为了写入数据,线程首先必须为其自身向处理单元进行请求。如果没有可用的缓冲空间,则拒绝该请求。如果处理单元被设置在存储设备(即外设)侧上,则可能会出现问题,这是因为处理单元不会具有与当前线程正在访问缓冲器有关的任何信息。另一方面,如果处理单元拒绝了读/写请求,由于外设不应拒绝读/写,所以数据处理***可能会崩溃。费里斯轮队列可以应用于要求对某些数据进行缓冲并共享同一个物理缓冲器的多线程。需要一种特定的请求/准许/拒绝机制,以确保线程不会干扰其它线程当前正在进行的其它读/写操作。然而,引入这种准许/请求/拒绝机制会降低相应硬件的兼容性,而且会减小可用带宽。这里,仅在第一线程已经完成其处理之后来执行第二线程。
发明内容
本发明的目的是提供多线程环境中的一种数据处理***,所述***能够有效地与外设通信。
这个目的通过根据权利要求1所述的数据处理***、根据权利要求4所述的控制器以及根据权利要求5所述的处理器与外设之间通信的控制方法来解决。
因此,提供了一种基于多线程操作***的数据处理***。该数据处理***包括:至少一个处理器,用于基于多线程对数据进行处理;至少一个控制器单元,用于控制所述至少一个处理器与外设之间的通信,其中所述外设与所述至少一个控制器单元相连。所述至少一个控制器单元包括:至少一个缓冲存储器,用于对来自与所述至少一个控制器单元相连的所述外设的数据进行缓冲;以及至少一个存储管理单元,通过把所述至少一个缓冲存储器映射到多个存储体来管理对所述至少一个缓冲存储器的访问,其中每一个存储体都具有专用预取寄存器。把所述多线程中至少一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器,其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
因此,提供了一种基于多线程操作***的数据处理***,所述***允许对各个线程的预取寄存器进行有效的切换,从而实现了对外设的高速访问。通过避免额外的预取时间段,可以有效地交替执行多个线程。另外,控制器与处理器相连作为存储映射资源。甚至在多个线程的情况下,带宽没有减小并且能够以全速运行读取访问。
根据本发明的一方面,提供了一种用于存储线程标识信息的线程寄存器。基于这个信息,控制器自身将会知晓哪一个线程当前正在访问缓冲存储器BM,并且可以基于这个信息在各个预取寄存器之间切换,避免了额外的预取时间段。
本发明还涉及一种控制器,用于在基于多线程操作***的数据处理环境中,对至少一个处理器与外设之间的通信进行控制,其中所述外设与所述至少一个控制器相连。所述控制器包括:至少一个缓冲存储器,用于对来自与所述至少一个控制器相连的所述外设的数据进行缓冲;以及至少一个存储管理单元,通过把所述至少一个缓冲存储器映射到多个存储体来管理对所述至少一个缓冲存储器的访问,其中每一个存储体都具有专用预取寄存器。把所述多线程中至少一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器,其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
本发明还涉及一种控制方法,用于在基于多线程操作***的数据处理环境中,对至少一个处理器与外设之间的通信进行控制,其中所述外设与所述至少一个控制器相连。基于多线程对数据进行处理。对来自与所述至少一个控制器单元相连的所述外设的数据进行缓冲。通过把所述至少一个缓冲存储器映射到多个存储体来管理对所述至少一个缓冲存储器的访问,其中每一个存储体都具有专用预取寄存器。把所述多线程中至少一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器,其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
本发明基于如下概念:为多线程操作***中的各种外设提供连接性,从而多个线程能够以与访问***共享存储器(即类SRAM存储器)相同的方式有效地对外设进行访问。因此,外设接口包括被存储管理单元映射为N个存储体的缓冲存储器。专用预取寄存器与缓冲存储器的N个存储体中的每一个存储体相关联。这个预取寄存器的附加地址空间用于把特定线程信息传送到接口,从而根据访问接口的不同线程来及时地切换预取寄存器。
附图说明
参考下文描述的实施例,本发明的这些和其它方面将会得以说明。
图1示出了根据第一实施例的数据处理***的基本体系结构;
图2示出了图1中的控制器的基本设置的框图;
图3示出了图2中的缓冲存储器BM的映射的基本表示;以及
图4示出了根据第二实施例的图1中的控制器的基本设置。
具体实施方式
图1示出了根据第一实施例的数据处理***的基本体系结构。至少一个处理器PROC通过***总线B与控制器CU相连。控制器CU可以与至少一个外设PD相连。控制器CU对处理器PROC与外设PD之间的通信进行管理和控制。
图2示出了图1中的控制器的基本设置的框图。控制器CU包括一般接口GI,用于把控制器与处理器PROC相连(例如通过***总线B)。控制器还包括缓冲存储器BM、存储管理单元MMU、存储判决器(MA)和外设接口PDI。具有一般接口GI的控制器允许控制器与不同的处理器相连作为存储映射资源。存储管理单元MMU的使用使得能够通过一般接口GI来访问内部缓冲存储器BM。存储管理单元MMU还用于实现缓冲存储器的虚拟分段,能够根据多任务环境中不同任务的请求来进行存储体切换。
图3示出了图2中的缓冲存储器BM的映射的基本表示。这里,64KRAM的缓冲存储器BM被映射或分段为4个存储体C0、C1、C2和C3。通过把缓冲存储器BM映射到4个不同的存储体C0-C3,同一个物理存储器SRAM在处理器PROC看来是不同的部分。为了对64K RAM进行寻址,需要16比特的地址A15,0。根据第一实施例,处理器PROC上处理的每一个线程T0-T3都与缓冲存储器BM的存储体C0-C3中的一个存储体相关联。如果处理器PROC对4个线程T0-T3进行处理,则4个存储体可以与地址范围400-7FC、800-1BFC、1C00-4BFC和4C00相对应,即4个存储体C0-C3在内部被映射到同一个物理存储器。可以把与哪个线程T0-T3和哪个存储体C0-C3相关联有关的信息编码为2个比特。因此,提供了附加的地址线A17/16(2比特),从而两个附加地址线的具体值0,0;0,1;1,0;1,1分别代表4个存储体C0-C3。
图4示出了根据第二实施例的图1中的控制器的基本设置。控制器包括:缓冲存储器BM;存储判决器MA;存储管理单元MMU;线程寄存器TR;预取寄存器Addr_0、Addr_1、Addr_2和Addr_3;FIFO FIFO0-3;以及解码器DEC。解码器DEC与处理器PROC的接口相连,存储判决器MA与外设的接口相连。这里,仅对解释本发明基本原理所需的单元进行明确的示出。然而,控制器还可以包括其它单元。
预取寄存器Addr_0、Addr_1、Addr_2和Addr_3以及FIFO用于减小缓冲存储器BM的读取访问等待时间,并进行设置从而缓冲存储器BM中的每一个存储体C0-C3都具有专用预取寄存器Addr_0、Addr_1、Addr_2和Addr_3。存储在线程寄存器TR中的4个存储体的2比特地址用于把线程之一映射到根据图3所述的4个存储体C0-C3中的一个存储体。因此,2比特地址为控制器提供了与哪一个线程T0-T3正在访问缓冲存储器BM有关的明确指示。换句话说,每一个线程访问按照2比特地址的指示来访问缓冲存储器BM中的不同扇区或存储体。地址位0至15用于指示缓冲存储器BM中的地址,地址位16-17指示缓冲存储器BM中的不同扇区或存储体。因此,如果对存储在线程寄存器TR中的地址位16和17进行检查,那么控制器将会在不知道处理器或处理器上的处理的情况下,知晓哪一个线程正在访问缓冲存储器。
在下文中,对根据第一和第二实施例的数据处理***中的多线程处理的示例(具体为4个线程)进行描述。第一至第四线程T0-T3分别使用地址寄存器Addr_0至Addr_3。缓冲存储器BM占据了全部存储映射***(即共享存储器)中的256K(起始地址0x2000 0000,结束地址0x2003 FFFF)。如上文所述,这个缓冲存储器空间被分为4个存储体,即C0:0x2000 0000至0x2000 FFFF(64K)、C1:0x20010000至0x2001FFFF(64K)、C2:0x2002 0000至0x2002 FFFF(64K)和C3:0x20030000至0x2003 FFFF(64K)。
处理开始于从地址0x20010400起对缓冲存储器BM进行访问的第一线程T0,因此这个地址被写入预取寄存器Addr_0。根据这个地址,解码器确定第一线程T0访问第一存储体C0,并从与第一存储体C0相关的FIFO0中提取数据。由此递增地址寄存器Addr_0,从而地址寄存器中的内容总是指示要读取的下一位置。例如,如果在第一线程T0正在访问地址0x2000 0408时出现中断,那么处理器切换至在地址0x20010800处对缓冲存储器进行访问的第二线程T1,并把地址0x2001 0800写入第二地址寄存器Addr_1。第二线程T1等待,直到各自的数据被预取到FIFO 1中。解码器DEC确定第二线程T1正在访问第二存储体C1(地址线A17/16的值已经改变),并从与第二存储体C1相关的FIFO 1中提取各个数据。由此递增第二地址寄存器。在第二线程T1完成对缓冲存储器的访问之后,处理器PROC切换回到第一线程T0。由于地址线A17/A16的值已经改变,根据存储在线程寄存器TR中的不同的值来检测处理器PROC所进行的线程切换。因此,由于随后的数据在先前(即中断前)已经被预取,所以再次选择第一地址寄存器Addr_0作为预取寄存器,以及第一线程T0可以继续访问与第一个存储体C0相关的FIFO 0而不需要等待预取时间段。
上述控制器或接口可以用于像便携式数字助理PDA、移动电话、数字摄像机、便携式存储设备等的外设中,作为与主机交换数据的接口。然而,这些外设也可以包括不需要主机而与彼此进行通信的控制器或接口,其中每一个外设包括各自的接口。这些接口可以是IEEE1394控制器、USB控制器、调制解调器控制器等。
虽然在上文的实施例中仅描述了4个存储体和4个线程,应当注意的是同样可以使用任意其它数目的线程。然而,对于USB接口来说,4个存储体是优选的。通过允许两个或多个线程共享存储体及其相应的线程寄存器,在处理器能够处理多于存储体数的线程数的情况下,允许进行适当的降级。
上述概念的唯一缺点是:需要比实际的物理存储器更多的地址空间。
注意的是,本发明的保护范围不限于这里描述的实施例。本发明的保护范围不受权利要求中的附图标记的限制。词“包括”不排除权利要求中提及部分之外的其它部分。元件前的冠词不排除多个所述元件。用于形成本发明一部分的装置可以由专用硬件来实现,或是由可编程通用处理器来实现。本发明在于每一个新的特征或特征的组合。

Claims (5)

1.一种基于多线程操作***的数据处理***,包括:
至少一个处理器(PROC),用于基于多线程(T0-T3)对数据进行处理;
至少一个控制器单元(CU),用于控制所述至少一个处理器(PROC)与外设(PD)之间的通信,其中所述外设与所述至少一个控制器单元(IU)相连,
所述至少一个控制器单元(CU)包括:至少一个缓冲存储器(BM),用于对来自与所述至少一个控制器单元(CU)相连的所述外设(PD)的数据进行缓冲;以及至少一个存储管理单元(MMU),通过把所述至少一个缓冲存储器(BM)映射到多个存储体(C0-C3)来管理对所述至少一个缓冲存储器(BM)的访问,其中每一个存储体都具有专用预取寄存器(Addr_0-Addr_3),把所述多线程(T0-T3)中的每一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器(Addr_0-Addr_3),其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
2.根据权利要求1所述的数据处理***,还包括:
线程寄存器(TR),用于存储线程标识信息。
3.根据权利要求2所述的数据处理***,其中
所述线程标识信息被编码在所述线程寄存器中的附加的地址线(A17/16)中。
4.一种控制器单元(CU),用于在基于多线程操作***的数据处理环境中,对至少一个处理器(PROC)与外设(PD)之间的通信进行控制,其中所述外设(PD)与至少一个所述控制器单元(IU)相连,所述控制器单元(CU)包括:
至少一个缓冲存储器(BM),用于对来自与所述至少一个控制器单元(CU)相连的所述外设(PD)的数据进行缓冲;以及
至少一个存储管理单元(MMU),通过把所述至少一个缓冲存储器(BM)映射到多个存储体(C0-C3)来管理对所述至少一个缓冲存储器(BM)的访问,其中每一个存储体都具有专用预取寄存器(Addr_0-Addr_3),以及把所述多线程(T0-T3)中的每一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器(Addr_0-Addr_3),其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
5.一种控制方法,用于在基于多线程操作***的数据处理环境中,对至少一个处理器(PROC)与外设(PD)之间的通信进行控制,其中所述外设(PD)与至少一个控制器单元(CU)相连,所述方法包括步骤:
基于多线程(T0-T3)来对数据进行处理;
对来自与所述至少一个控制器单元(CU)相连的所述外设(PD)的数据进行缓冲;以及
通过把用于缓冲上述数据的至少一个缓冲存储器(BM)映射到多个存储体(C0-C3)来管理对所述至少一个缓冲存储器(BM)的访问,其中每一个存储体都具有专用预取寄存器(Addr_0-Addr_3),以及把所述多线程(T0-T3)中的每一个线程映射到所述多个存储体中的一个存储体和该存储体的专用预取寄存器(Addr_0-Addr_3),其中所述专用预取寄存器在被映射到它的线程运行时存储该线程的预取地址。
CNB2005800333600A 2004-08-03 2005-07-22 用于控制处理器与外设之间的通信的控制器和方法 Expired - Fee Related CN100533371C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04103727 2004-08-03
EP04103727.6 2004-08-03

Publications (2)

Publication Number Publication Date
CN101040255A CN101040255A (zh) 2007-09-19
CN100533371C true CN100533371C (zh) 2009-08-26

Family

ID=35169523

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800333600A Expired - Fee Related CN100533371C (zh) 2004-08-03 2005-07-22 用于控制处理器与外设之间的通信的控制器和方法

Country Status (6)

Country Link
US (1) US8099533B2 (zh)
EP (1) EP1776632B1 (zh)
JP (1) JP2008509470A (zh)
CN (1) CN100533371C (zh)
AT (1) ATE550720T1 (zh)
WO (1) WO2006016298A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9658976B2 (en) * 2014-11-07 2017-05-23 Mediatek Inc. Data writing system and method for DMA
US10585674B2 (en) * 2016-08-22 2020-03-10 Hewlett-Packard Development Company, L.P. Connected devices information

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69614291T2 (de) * 1995-03-17 2001-12-06 Lsi Logic Corp (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung
US5907702A (en) * 1997-03-28 1999-05-25 International Business Machines Corporation Method and apparatus for decreasing thread switch latency in a multithread processor
AU7728300A (en) 1999-11-22 2001-06-04 Ericsson Inc. Buffer memories, methods and systems for buffering having seperate buffer memories for each of a plurality of tasks
US6988122B2 (en) * 2001-01-09 2006-01-17 International Business Machines Corporation Ferris-wheel queue
US7145913B2 (en) * 2001-02-15 2006-12-05 The Board Of Trustees Of The University Of Illinois Thread based scalable routing for an active router
US6845501B2 (en) * 2001-07-27 2005-01-18 Hewlett-Packard Development Company, L.P. Method and apparatus for enabling a compiler to reduce cache misses by performing pre-fetches in the event of context switch
US7136991B2 (en) 2001-11-20 2006-11-14 Henry G Glenn Microprocessor including random number generator supporting operating system-independent multitasking operation
US7113985B2 (en) * 2002-10-15 2006-09-26 Intel Corporation Allocating singles and bursts from a freelist
US7143267B2 (en) * 2003-04-28 2006-11-28 International Business Machines Corporation Partitioning prefetch registers to prevent at least in part inconsistent prefetch information from being stored in a prefetch register of a multithreading processor

Also Published As

Publication number Publication date
WO2006016298A1 (en) 2006-02-16
US8099533B2 (en) 2012-01-17
CN101040255A (zh) 2007-09-19
EP1776632B1 (en) 2012-03-21
US20110099304A1 (en) 2011-04-28
ATE550720T1 (de) 2012-04-15
EP1776632A1 (en) 2007-04-25
JP2008509470A (ja) 2008-03-27

Similar Documents

Publication Publication Date Title
US20230418759A1 (en) Slot/sub-slot prefetch architecture for multiple memory requestors
JP4652344B2 (ja) 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ
US8010750B2 (en) Network on chip that maintains cache coherency with invalidate commands
KR100708128B1 (ko) 낸드 플래시 메모리 제어 장치 및 방법
US7418540B2 (en) Memory controller with command queue look-ahead
US20140040541A1 (en) Method of managing dynamic memory reallocation and device performing the method
CN108628638A (zh) 数据处理方法及装置
US7444442B2 (en) Data packing in a 32-bit DMA architecture
WO2006134804A1 (ja) 外部デバイスアクセス装置
CN100533371C (zh) 用于控制处理器与外设之间的通信的控制器和方法
EP2128771A1 (en) Method and apparatus for controlling cache memory
US9496009B2 (en) Memory with bank-conflict-resolution (BCR) module including cache
TWI324755B (en) Processing modules with multilevel cache architecture
CN107783909B (zh) 一种内存地址总线扩展方法及装置
US8266417B2 (en) Device having shared memory and method for transferring code data
KR100463205B1 (ko) 시퀀셜 버퍼를 내장하여 디에스피의 데이터 억세스 성능을향상시키는 컴퓨터 시스템 및 그 컴퓨터 시스템의 데이터억세스 방법
JP4192171B2 (ja) メモリアクセス方法及びメモリアクセス装置
US9081673B2 (en) Microprocessor and memory access method
US20140136796A1 (en) Arithmetic processing device and method for controlling the same
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JP2009217714A (ja) データ処理回路、キャッシュシステムおよびデータ転送装置
CN100343839C (zh) 一种用于把外部存储器访问转换成处理核心中局部存储器访问的方法和设备
JP2002278836A (ja) キャッシュメモリ
JP2001273014A (ja) プログラマブルコントローラ
JP2001331370A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20080404

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20080404

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090826

Termination date: 20130722