[go: up one dir, main page]

KR101416248B1 - Data processing apparatus and data processing method thereof - Google Patents

Data processing apparatus and data processing method thereof Download PDF

Info

Publication number
KR101416248B1
KR101416248B1 KR1020070043399A KR20070043399A KR101416248B1 KR 101416248 B1 KR101416248 B1 KR 101416248B1 KR 1020070043399 A KR1020070043399 A KR 1020070043399A KR 20070043399 A KR20070043399 A KR 20070043399A KR 101416248 B1 KR101416248 B1 KR 101416248B1
Authority
KR
South Korea
Prior art keywords
data
processor
cache memory
stored
requested
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
KR1020070043399A
Other languages
Korean (ko)
Other versions
KR20080098120A (en
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 삼성전자 주식회사
Priority to KR1020070043399A priority Critical patent/KR101416248B1/en
Publication of KR20080098120A publication Critical patent/KR20080098120A/en
Application granted granted Critical
Publication of KR101416248B1 publication Critical patent/KR101416248B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 데이터 처리장치 및 그 데이터 처리방법에 관한 것이다. 본 발명은 캐쉬 메모리를 포함하는 복수의 프로세서를 가지는 데이터 처리장치에 있어서, 상기 각 프로세서는, 다른 프로세서가 요청하는 데이터가 당해 프로세서의 상기 캐쉬 메모리에 저장되어 있는지 여부를 저장하는 저장부를 포함하고, 상기 저장된 정보에 기초하여 상기 당해 프로세서가 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬 메모리에 저장되어 있지 않은 경우, 메인메모리에 데이터를 요청하는 것을 특징으로 한다. 이에 의하여, 캐쉬 메모리에 접근하는 회수를 줄여 연산속도를 빠르게 하고 전원의 소비를 절약할 수 있다.

Figure R1020070043399

The present invention relates to a data processing apparatus and a data processing method thereof. The present invention provides a data processing apparatus having a plurality of processors including a cache memory, each of the processors including a storage unit for storing whether or not data requested by another processor is stored in the cache memory of the processor, And requests data to the main memory when the data requested by the processor is not stored in the cache memory of the another processor based on the stored information. Thus, it is possible to reduce the number of accesses to the cache memory, thereby increasing the operation speed and saving power consumption.

Figure R1020070043399

Description

데이터 처리장치 및 그 데이터 처리방법{DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD THEREOF}TECHNICAL FIELD [0001] The present invention relates to a data processing apparatus and a data processing method therefor,

도 1은 본 발명에 따른 데이터 처리장치의 구성을 도시한 도면이며,1 is a diagram showing a configuration of a data processing apparatus according to the present invention,

도 2는 본 발명에 따른 데이터 처리장치의 데이터 처리과정을 도시한 도면이며,2 is a diagram illustrating a data processing process of a data processing apparatus according to the present invention,

도 3은 본 발명에 따른 데이터 처리장치의 데이터 처리방법을 도시한 흐름도이다.3 is a flowchart showing a data processing method of the data processing apparatus according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Description of the Related Art [0002]

10 : 프로세서 20 : CPU10: processor 20: CPU

30 : 캐쉬 메모리 40 : 저장부30: cache memory 40: storage unit

50 : 제1저장부 60 : 제2저장부50: first storage unit 60: second storage unit

70 : 통신버스 80 : 시스템 버스70: communication bus 80: system bus

90 : 메인 메모리90: main memory

본 발명은 데이터 처리장치 및 그 데이터 처리방법에 관한 것이다. 보다 상 세하게는 복수의 프로세서를 가지는 데이터 처리장치 및 그 데이터 처리방법에 관한 것이다.The present invention relates to a data processing apparatus and a data processing method thereof. More particularly, to a data processing apparatus having a plurality of processors and a data processing method therefor.

데이터 처리장치는 프로세서에 의해 데이터 처리를 수행한다. 이 중에서도, 최근의 데이터 처리장치는 복수 개의 프로세서를 포함하여 보다 다양한 동작을 효율적으로 수행할 수 있다. 여기서, 프로세서는 메인 메모리에 접근하는 과정을 줄임으로써 데이터의 처리속도를 향상시키기 위해 캐쉬 메모리를 구비한다.The data processing apparatus performs data processing by the processor. Among them, recent data processing apparatuses can perform more various operations efficiently including a plurality of processors. Here, the processor has a cache memory for reducing the process of accessing the main memory, thereby improving the processing speed of the data.

각 프로세서는 자신이 필요한 정보가 캐쉬 메모리에 존재하지 않는 경우 다른 프로세서에 구비된 캐쉬 메모리에 자신이 필요한 정보가 존재하는지 확인한다. 여기서, 프로세서가 다른 프로세서로 필요한 데이터를 요청하는 동작을 브로드캐스팅(Broadcasting)이라 하고, 요청을 받은 프로세서가 요청된 데이터가 존재하는지 확인하는 동작을 스누핑(Snooping)이라 한다. 그리하여, 각 프로세서는 브로드캐스팅 동작을 수행하여 다른 프로세서에 자신이 필요한 정보가 존재하지 않는 경우, 메인 메모리에 접근하여 자신이 필요한 정보를 참조하게 된다.Each processor checks whether the necessary information exists in the cache memory of the other processor when the necessary information is not present in the cache memory. Herein, an operation for requesting data from another processor by a processor is referred to as broadcasting, and an operation for checking whether a requested processor has requested data exists is referred to as snooping. Thus, each processor performs a broadcasting operation and accesses the main memory to refer to necessary information when the necessary information does not exist in another processor.

그런데, 종래의 데이터 처리장치는 다른 프로세서가 가지고 있지 않음에도 불구하고 다른 프로세서의 캐쉬 메모리로 브로드캐스팅을 수행하기 때문에, 데이터의 처리속도가 낮아지고 불필요한 전원을 소비하는 문제가 있다.However, since the conventional data processing apparatus performs broadcasting to the cache memory of another processor, the data processing speed is lowered and unnecessary power is consumed.

따라서, 본 발명은 프로세서가 요청하는 데이터가 다른 프로세서에 존재하는 경우에 한해 다른 프로세서로 데이터를 요청함으로써, 전원의 소비를 절약하고 데이터의 처리속도를 빠르게 할 수 있는 데이터 처리장치 및 그 데이터 처리방법을 제공하는 것을 목적으로 한다.Accordingly, the present invention provides a data processing apparatus capable of saving power consumption and speeding up data processing by requesting data to another processor only when the data requested by the processor exists in another processor, and a data processing method therefor And to provide the above objects.

상기 목적은, 캐쉬 메모리를 포함하는 복수의 프로세서를 가지는 데이터 처리장치에 있어서, 상기 각 프로세서는, 다른 프로세서가 요청하는 데이터가 당해 프로세서의 상기 캐쉬 메모리에 저장되어 있는지 여부를 저장하는 저장부를 포함하고, 상기 저장된 정보에 기초하여 상기 당해 프로세서가 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬 메모리에 저장되어 있지 않은 경우, 메인메모리에 데이터를 요청하는 것을 특징으로 하는 데이터 처리장치에 의해 달성된다.The above object is achieved by a data processing apparatus having a plurality of processors including a cache memory, wherein each of the processors includes a storage unit for storing whether data requested by another processor is stored in the cache memory of the processor concerned And requests data to the main memory when data requested by the processor is not stored in the cache memory of the other processor based on the stored information.

그리고, 상기 저장부는, 상기 다른 프로세서가 요청하는 데이터가 당해 캐쉬메모리에 저장되어 있는지 여부에 대한 정보를 저장하는 제1저장부와; 상기 요청하는 데이터의 어드레스 정보를 저장하는 제2저장부를 포함하는 것이 바람직하다.The storage unit may include a first storage unit for storing information on whether data requested by the other processor is stored in the cache memory; And a second storage unit for storing address information of the requested data.

여기서, 상기 제1저장부는 통신을 수행하기 위한 통신버스에 의해 상호 연결되는 것이 바람직하다.Here, the first storage unit may be interconnected by a communication bus for performing communication.

한편, 캐쉬메모리를 포함하는 복수의 프로세서를 가지는 데이터처리장치의 데이터 처리방법에 있어서, 다른 프로세서가 요청하는 데이터가 당해 프로세서의 상기 캐쉬메모리에 저장되어 있는지 여부를 저장하는 단계와; 상기 저장된 정보에 기초하여 당해 프로세서가 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬메모리에 저장되어 있는지 여부를 판단하는 단계와; 상기 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬 메모리에 저장되어 있지 않은 경우, 메인메모리에 데이터를 요청하는 단계를 포함하는 것을 특징으로 하는 데이터 처리장치의 데이터 처리방법에 의해서도 상기 목적은 달성된다.According to another aspect of the present invention, there is provided a data processing method for a data processing apparatus having a plurality of processors including a cache memory, the method comprising: storing whether data requested by another processor is stored in the cache memory of the processor; Determining whether data requested by the processor is stored in the cache memory of the another processor based on the stored information; And requesting data to the main memory when the requested data is not stored in the cache memory of the other processor. The above object is also achieved by a data processing method of a data processing apparatus.

여기서, 상기 요청하는 데이터가 상기 캐쉬메모리에 저장되어 있는지 여부를 저장하는 단계는, 상기 다른 프로세서가 요청한 데이터가 당해 캐쉬메모리에 저장되어 있는지 여부에 대한 정보를 저장하는 단계와; 상기 다른 프로세서가 요청한 데이터가 당해 캐쉬메모리에 저장되어 있지 않은 경우, 상기 요청하는 데이터의 어드레스 정보를 저장하는 단계를 포함하는 것이 바람직하다.The step of storing whether the requested data is stored in the cache memory may include storing information on whether data requested by the other processor is stored in the cache memory; And storing the address information of the requested data if the data requested by the other processor is not stored in the cache memory.

이하, 첨부된 도면을 참조하여 본 발명에 따른 데이터 처리장치에 대해 상세히 설명한다.Hereinafter, a data processing apparatus according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 데이터 처리장치(100)의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명에 따른 데이터 처리장치(100)는 CPU(20)와, 캐쉬 메모리(30)와, 저장부(40)를 구비한 복수의 프로세서(10a, 10b, 10c, ...)와 통신버스(70)와, 시스템 버스(80)와, 메인 메모리(90)를 포함한다.1 is a diagram showing a configuration of a data processing apparatus 100 according to the present invention. 1, a data processing apparatus 100 according to the present invention includes a CPU 20, a cache memory 30, and a plurality of processors 10a, 10b, 10c, ..., a communication bus 70, a system bus 80, and a main memory 90.

복수의 프로세서(10a, 10b, 10c, ...)에 포함된 CPU(20)는 데이터 또는 명령어의 읽기, 쓰기 동작을 수행한다.The CPU 20 included in the plurality of processors 10a, 10b, 10c, ... performs read and write operations of data or commands.

캐쉬 메모리(30)는 각 프로세서(10a, 10b, 10c, ...)에 필요한 정보를 저장한다. 캐쉬 메모리(30)는 CPU(20)가 연산을 수행하기 위해 필요한 데이터가 일시적으로 저장되는 L1 캐쉬 메모리(미도시)와, 연산이 수행된 결과값이 저장되는 L2 캐쉬 메모리(미도시)를 포함할 수 있다.The cache memory 30 stores information necessary for each processor 10a, 10b, 10c, .... The cache memory 30 includes an L1 cache memory (not shown) in which data necessary for the CPU 20 to perform the operation is temporarily stored, and an L2 cache memory (not shown) in which the result of performing the operation is stored can do.

저장부(40)는 다른 프로세서(10b, 10c, ...)가 요청하는 데이터가 당해 프로세서(10a)의 캐쉬 메모리(30a)에 저장되어 있는지 여부를 저장한다. 본 발명에 따른 저장부(40)는 다른 프로세서(10b, 10c, ...)가 요청한 데이터가 당해 캐쉬 메모리(30a)에 저장되어 있는지 여부에 대한 정보를 저장하는 제1저장부(50)와, 당해 프로세서가 요청하는 데이터의 어드레스 정보를 저장하는 제2저장부(60)를 포함한다.The storage unit 40 stores whether or not the data requested by the other processors 10b, 10c, ... is stored in the cache memory 30a of the processor 10a. The storage unit 40 according to the present invention includes a first storage unit 50 for storing information on whether data requested by another processor 10b, 10c, ... is stored in the cache memory 30a, And a second storage unit 60 for storing address information of data requested by the processor.

제1저장부(50)는 프로세서(10)가 캐쉬 메모리(30)에 데이터를 요청하는 경우, 해당하는 데이터의 어드레스에 대응하여 카운트를 1씩 증가시킨다. 여기서, 카운트가 0인 경우 프로세서(10)는 어드레스에 대응하는 비트정보를 1로 설정하여 요청하는 데이터가 자신의 캐쉬 메모리(30)에 저장되어 있음을 저장한다.When the processor 10 requests data to the cache memory 30, the first storage unit 50 increments the count by one in correspondence with the address of the corresponding data. Here, when the count is 0, the processor 10 sets the bit information corresponding to the address to 1, and stores that the requested data is stored in the cache memory 30 of the processor 10 itself.

프로세서(10)가 자신이 요청하는 데이터를 캐쉬 메모리(30)로부터 추출하면, 제1저장부(50)는 해당하는 데이터의 어드레스에 대응하는 카운트를 1씩 감소시킨다. 여기서, 카운트가 감소하여 0이 되면 프로세서(10)는 어드레스에 대응하는 비트정보를 0으로 설정하여 요청하는 데이터가 자신의 캐쉬 메모리(30)에 저장되어 있지 않음을 저장한다.When the processor 10 extracts the data requested by the processor 10 from the cache memory 30, the first storage unit 50 decrements the count corresponding to the address of the corresponding data by one. Here, when the count is decreased to 0, the processor 10 sets bit information corresponding to the address to 0, and stores that the requested data is not stored in the cache memory 30 of the processor 10 itself.

복수의 프로세서(10) 중 어느 하나가 데이터를 요청하면, 다른 프로세서(10)는 자신의 제1저장부(50)에 저장된 정보에 기초하여 요청한 데이터가 자신의 캐쉬 메모리(30)에 존재하는지 여부를 통신버스(70)에 의해 전달한다. 즉, 제1저장부(50)에 어드레스에 대응하는 비트정보가 1이면 요청한 데이터가 존재하고, 비트정보가 0이면 요청한 데이터가 존재하지 않는 것이다.When any one of the plurality of processors 10 requests data, the other processor 10 determines whether the requested data exists in its cache memory 30 based on the information stored in its first storage 50 To the communication bus (70). That is, when the bit information corresponding to the address is 1 in the first storage unit 50, the requested data exists, and if the bit information is 0, the requested data does not exist.

제2저장부(60)는 프로세서(10a)가 요청한 데이터가 다른 프로세서(10b, 10c, ...)에 존재하지 않는 경우 요청한 데이터의 어드레스 정보를 저장한다. 그리 하여, 프로세서(10a)는 다른 프로세서(10b, 10c, ...)에 데이터를 요청하기 전에 제2저장부(60)에 저장된 정보를 참조하여, 해당하는 어드레스가 존재하면 브로드캐스팅을 수행하지 않고 직접 시스템 버스(80)를 통해 메인 메모리(90)에 데이터를 요청한다.The second storage unit 60 stores the address information of the requested data when the data requested by the processor 10a does not exist in the other processors 10b, 10c, .... Thus, the processor 10a refers to the information stored in the second storage unit 60 before requesting data to the other processors 10b, 10c, ..., and performs broadcasting when the corresponding address exists And requests data to the main memory 90 directly via the system bus 80.

이로써, 다른 프로세서(10b, 10c, ...)의 캐쉬 메모리(30b, 30c, ...)에 불필요하게 접근하지 않아도 되므로 소비전력을 감소시킬 수 있으며 데이터 처리속도를 증가시킬 수 있다.This makes it unnecessary to access the cache memories 30b, 30c,... Of the other processors 10b, 10c, ... so that the power consumption can be reduced and the data processing speed can be increased.

이하, 도 2를 참조하여 본 발명에 따른 데이터 처리장치(100)가 제1저장부(50) 및 제2저장부(60)에 정보를 저장하는 과정을 설명한다.Hereinafter, a process of storing data in the first storage unit 50 and the second storage unit 60 of the data processing apparatus 100 according to the present invention will be described with reference to FIG.

도 2에 도시된 바와 같이, 제1저장부(50)는 데이터 블록에 해당하는 어드레스 정보와, 이에 대응하는 카운트를 1만큼 증가시킨다. 여기서, 어드레스 정보 및 카운트 정보는 메인 메모리(90)의 어드레스 정보가 캐쉬메모리(30)에 저장되어 있는지 여부와, 메인 메모리(90)로부터 캐쉬 메모리(30)로 데이터가 이동하는 개수를 의미한다. 만일, 카운트가 0인 경우 프로세서(10a)는 P-bit를 1로 설정하여 해당하는 블록이 자신의 캐쉬메모리(30)에 캐쉬되어 있음을 다른 프로세서(10b, 10c, ...)에 알린다.As shown in FIG. 2, the first storage unit 50 increments the address information corresponding to the data block and the corresponding count by one. Here, the address information and the count information indicate whether or not the address information of the main memory 90 is stored in the cache memory 30 and the number of times the data moves from the main memory 90 to the cache memory 30. [ If the count is 0, the processor 10a sets the P-bit to 1 and notifies the other processors 10b, 10c, ... that the corresponding block is cached in its cache memory 30. [

그리고, 프로세서(10a)가 데이터를 요청하는 경우 다른 프로세서(10b, 10c, ...)는 자신의 캐쉬메모리(30b, 30c, ...)에 캐쉬되어 있는지 여부를 통신버스(70)를 통해 전달한다.When the processor 10a requests data, the other processors 10b, 10c,... Communicate with each other via the communication bus 70 whether or not they are cached in their cache memories 30b, 30c, .

그리하여, 데이터를 요청한 프로세서(10a)는 다른 프로세서(10b, 10c, ...) 중 어느 하나가 자신이 요청하는 데이터를 캐쉬메모리(30b, 30c, ...)에 저장하고 있지 않음을 통신버스(70)를 통해 전달하는 경우, 프로세서(10a)는 자신이 요청한 데이터의 어드레스를 제2저장부(60)의 Area Tag에 저장한다. 따라서, 제2저장부(60)에 저장된 어드레스의 데이터가 필요한 경우, 다른 프로세서(10b, 10c, ...)로의 브로드캐스팅 과정을 생략하고 직접 메인 메모리(90)에 요청할 수 있다.Thus, the processor 10a requesting the data notifies any one of the other processors 10b, 10c, ... that the data requested by the processor 10b is not stored in the cache memory 30b, 30c, The processor 10a stores the address of the data requested by the processor 10a in the area tag of the second storage unit 60. [ Therefore, if address data stored in the second storage unit 60 is required, the main memory 90 can be directly requested by omitting the broadcasting process to other processors 10b, 10c,.

여기서, 본 발명에 따른 제1저장부(50)와, 제2저장부(60)는 캐쉬 메모리(30)보다 작은 용량의 저장공간을 가지며, 제1저장부(50)가 통신버스(70)에 의해 상호 통신을 수행할 수 있으므로, 각 프로세서(10a)는 다른 프로세서(10b, 10c, ...)에 접근하지 않아도 자신이 요청하는 데이터가 다른 프로세서(10b, 10c, ...)에 저장되어 있는지 여부를 판단하는 데 있어서, 전원의 소비를 절약할 수 있고 데이터의 처리속도를 증가시킬 수 있다.The first storage unit 50 and the second storage unit 60 according to the present invention have a storage capacity smaller than that of the cache memory 30. The first storage unit 50 is connected to the communication bus 70, Each processor 10a can store data requested by other processors 10b, 10c, ... without accessing other processors 10b, 10c, ..., It is possible to save the power consumption and increase the processing speed of the data.

이하, 도 3을 참조하여 본 발명에 따른 데이터 처리장치(100)의 동작과정에 대해 상세히 설명한다.Hereinafter, an operation process of the data processing apparatus 100 according to the present invention will be described in detail with reference to FIG.

먼저, 각 프로세서(10a)는 다른 프로세서(10b, 10c, ...)가 요청하는 데이터가 당해 프로세서(10a)의 캐쉬메모리(30a)에 저장되어 있는지 여부를 저장한다(S10). 여기서, 단계 S10은 다른 프로세서(10b, 10c, ...)가 요청한 데이터가 당해 캐쉬 메모리(30a)에 저장되어 있는지 여부에 대한 정보를 제1저장부(50a)에 저장하는 단계와, 다른 프로세서(10b, 10c, ...)가 요청한 데이터가 당해 캐쉬 메모리(30a)에 저장되어 있지 않은 경우, 요청하는 데이터의 어드레스 정보를 제2저장부(60a)에 저장하는 단계를 포함할 수 있다.First, each processor 10a stores whether the data requested by the other processors 10b, 10c,... Are stored in the cache memory 30a of the processor 10a (S10). Here, step S10 is a step of storing information on whether or not the data requested by the other processors 10b, 10c, ... is stored in the cache memory 30a in the first storage unit 50a, And storing the address information of the requested data in the second storage unit 60a when the requested data is not stored in the cache memory 30a.

그리고, 단계 S10에서 저장된 정보에 기초하여 자신이 요청하는 데이터가 다른 프로세서(10b, 10c, ...)의 캐쉬메모리(30b, 30c, ...)에 저장되어 있는지 여부를 판단한다(S20).Based on the information stored in step S10, it is determined whether or not the data requested by itself is stored in the cache memories 30b, 30c, ... of the other processors 10b, 10c, ... (S20) .

그리하여, 자신이 요청하는 데이터가 다른 프로세서(10b, 10c, ...)의 캐쉬 메모리(30b, 30c, ...)에 저장되어 있지 않은 경우, 메인메모리(90)에 데이터를 요청한다(S30).When the data requested by the processor 10b is not stored in the cache memories 30b, 30c, ... of the other processors 10b, 10c, ..., the data is requested to the main memory 90 (S30 ).

이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.

이상 설명한 바와 같이, 본 발명에 따른 데이터 처리장치 및 그 데이터 처리방법에 의하면, 프로세서가 요청하는 데이터가 다른 프로세서에 존재하는 경우에 한해 다른 프로세서로 데이터를 요청함으로써, 다른 프로세서로 데이터를 요청하는 회수를 줄여 전원의 소비를 절약하고 데이터의 처리속도를 빠르게 할 수 있다.As described above, according to the data processing apparatus and the data processing method according to the present invention, only when the data requested by the processor exists in another processor, the data is requested to the other processor, To reduce the power consumption and speed up the data processing speed.

Claims (5)

캐쉬 메모리를 포함하는 복수의 프로세서를 가지는 데이터 처리장치에 있어서,A data processing apparatus having a plurality of processors including a cache memory, 상기 각 프로세서는,Wherein each processor comprises: 복수의 프러세서 중 당해 프로세서의 상기 캐쉬 메모리에 다른 프로세서가 요청하는 데이터가 저장되어 있는지 여부를 저장하는 저장부를 포함하고,And a storage unit for storing, among the plurality of processors, whether or not data requested by another processor is stored in the cache memory of the processor, 상기 저장된 정보에 기초하여 상기 당해 프로세서가 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬 메모리에 저장되어 있지 않은 경우, 메인메모리에 데이터를 요청하는 것을 특징으로 하며,And requests data to the main memory when the data requested by the processor is not stored in the cache memory of the another processor based on the stored information, 상기 저장부는,Wherein, 상기 다른 프로세서가 요청하는 데이터가 당해 캐쉬 메모리에 저장되어 있는지 여부에 대한 정보를 저장하는 제1저장부와;A first storage unit for storing information on whether data requested by the other processor is stored in the cache memory; 상기 요청하는 데이터의 어드레스 정보를 저장하는 제2저장부를 포함하는 것을 특징으로 하는 데이터 처리장치.And a second storage unit for storing address information of the requested data. 삭제delete 제1항에 있어서,The method according to claim 1, 상기 제1저장부는 통신을 수행하기 위한 통신버스에 의해 상호 연결되는 것을 특징으로 하는 데이터 처리장치.Wherein the first storage unit is interconnected by a communication bus for performing communication. 캐쉬 메모리를 포함하는 복수의 프로세서를 가지는 데이터처리장치의 데이터 처리방법에 있어서,A data processing method for a data processing apparatus having a plurality of processors including a cache memory, 복수의 프러세서 중 당해 프로세서의 상기 캐쉬 메모리에 다른 프로세서가 요청하는 데이터가 저장되어 있는지 여부를 저장하는 단계와;Storing whether the data requested by another processor is stored in the cache memory of the processor among the plurality of processors; 상기 저장된 정보에 기초하여 당해 프로세서가 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬메모리에 저장되어 있는지 여부를 판단하는 단계와;Determining whether data requested by the processor is stored in the cache memory of the another processor based on the stored information; 상기 요청하는 데이터가 상기 다른 프로세서의 상기 캐쉬 메모리에 저장되어 있지 않은 경우, 메인메모리에 데이터를 요청하는 단계를 포함하며,And requesting data to the main memory if the requesting data is not stored in the cache memory of the other processor, 상기 요청하는 데이터가 상기 캐쉬 메모리에 저장되어 있는지 여부를 저장하는 단계는,Wherein the step of storing whether the requesting data is stored in the cache memory comprises: 상기 다른 프로세서가 요청한 데이터가 당해 캐쉬 메모리에 저장되어 있는지 여부에 대한 정보를 저장하는 단계와;Storing information on whether data requested by the other processor is stored in the cache memory; 상기 다른 프로세서가 요청한 데이터가 당해 캐쉬 메모리에 저장되어 있지 않은 경우, 상기 요청하는 데이터의 어드레스 정보를 저장하는 단계를 포함하는 것을 특징으로 하는 데이터 처리장치의 데이터 처리방법.And storing address information of the requested data when the data requested by the another processor is not stored in the cache memory. 삭제delete
KR1020070043399A 2007-05-04 2007-05-04 Data processing apparatus and data processing method thereof Expired - Fee Related KR101416248B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070043399A KR101416248B1 (en) 2007-05-04 2007-05-04 Data processing apparatus and data processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070043399A KR101416248B1 (en) 2007-05-04 2007-05-04 Data processing apparatus and data processing method thereof

Publications (2)

Publication Number Publication Date
KR20080098120A KR20080098120A (en) 2008-11-07
KR101416248B1 true KR101416248B1 (en) 2014-07-07

Family

ID=40285703

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070043399A Expired - Fee Related KR101416248B1 (en) 2007-05-04 2007-05-04 Data processing apparatus and data processing method thereof

Country Status (1)

Country Link
KR (1) KR101416248B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371140B1 (en) * 2000-01-28 2003-02-07 한국전자통신연구원 Bus snooping apparatus for cache coherency of CC-NUMA and method using thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100371140B1 (en) * 2000-01-28 2003-02-07 한국전자통신연구원 Bus snooping apparatus for cache coherency of CC-NUMA and method using thereof

Also Published As

Publication number Publication date
KR20080098120A (en) 2008-11-07

Similar Documents

Publication Publication Date Title
US8949544B2 (en) Bypassing a cache when handling memory requests
US8015365B2 (en) Reducing back invalidation transactions from a snoop filter
CN107408079B (en) Memory controller with coherent unit for multi-level system memory
US6782453B2 (en) Storing data in memory
US20140089602A1 (en) System cache with partial write valid states
JP6859361B2 (en) Performing memory bandwidth compression using multiple Last Level Cache (LLC) lines in a central processing unit (CPU) -based system
KR20200085522A (en) Main memory device having heterogeneous memories, computer system including the same and data management method thereof
US20110173400A1 (en) Buffer memory device, memory system, and data transfer method
US11599483B2 (en) Dedicated cache-related block transfer in a memory system
KR20100038109A (en) Cache memory having configurable associativity
KR20150057798A (en) Apparatus and method for controlling a cache
US9965397B2 (en) Fast read in write-back cached memory
US20210056030A1 (en) Multi-level system memory with near memory capable of storing compressed cache lines
JP4266629B2 (en) Bus interface selection by page table attribute
KR102353859B1 (en) Computing device and non-volatile dual in-line memory module
US9396122B2 (en) Cache allocation scheme optimized for browsing applications
US10509744B2 (en) Semiconductor system including heterogeneous memory module
CN105874431A (en) Computing system for reducing data exchange load and related data exchange method
US6678800B1 (en) Cache apparatus and control method having writable modified state
CN110221985B (en) Device and method for maintaining cache consistency strategy across chips
CN117389914A (en) Cache system, cache write-back method, system on chip and electronic equipment
US20240061786A1 (en) Systems, methods, and apparatus for accessing data in versions of memory pages
KR101416248B1 (en) Data processing apparatus and data processing method thereof
US7779205B2 (en) Coherent caching of local memory data
US20220229552A1 (en) Computer system including main memory device having heterogeneous memories, and data management method thereof

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070504

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20120502

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20070504

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20131016

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20140414

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140701

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140702

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20170626

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20190701

Start annual number: 6

End annual number: 6

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20210412