KR20160026599A - Semiconductor device, semiconductor system and system on chip - Google Patents

Semiconductor device, semiconductor system and system on chip Download PDF

Info

Publication number
KR20160026599A
KR20160026599A KR1020140143553A KR20140143553A KR20160026599A KR 20160026599 A KR20160026599 A KR 20160026599A KR 1020140143553 A KR1020140143553 A KR 1020140143553A KR 20140143553 A KR20140143553 A KR 20140143553A KR 20160026599 A KR20160026599 A KR 20160026599A
Authority
KR
South Korea
Prior art keywords
data
memory
cache
unit
processor
Prior art date
Application number
KR1020140143553A
Other languages
Korean (ko)
Other versions
KR102261591B1 (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 US14/792,156 priority Critical patent/US9904626B2/en
Priority to DE102015112598.6A priority patent/DE102015112598A1/en
Priority to JP2015162240A priority patent/JP6641120B2/en
Priority to TW104127599A priority patent/TWI682280B/en
Priority to CN201510536967.6A priority patent/CN105389274B/en
Publication of KR20160026599A publication Critical patent/KR20160026599A/en
Application granted granted Critical
Publication of KR102261591B1 publication Critical patent/KR102261591B1/en

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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/0842Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0893Caches characterised by their organisation or structure
    • 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

Abstract

The present invention provides a semiconductor device, a semiconductor system and a system on a chip. The semiconductor device comprises a DMA module to directly access a memory to write first data on a predetermined address of the memory. The DMA module comprises: a setting unit to set a transmission parameter for writing the first data on the memory; a generation unit to generate the first data to be transmitted to the memory based on the set transmission parameter; and a transmission unit to write the first data on the predetermined address of the memory based on the transmission parameter. The setting unit sets the transmission parameter during a course where a processor flushes second data stored in a cache to the predetermined address of the memory. The transmission unit transmits the first data to the predetermined address of the memory after flushing is completed.

Description

반도체 장치, 반도체 시스템 및 시스템 온 칩{SEMICONDUCTOR DEVICE, SEMICONDUCTOR SYSTEM AND SYSTEM ON CHIP}TECHNICAL FIELD [0001] The present invention relates to a semiconductor device, a semiconductor system, and a system-on-chip (SEMICONDUCTOR DEVICE, SEMICONDUCTOR SYSTEM AND SYSTEM ON CHIP)

본 발명은 반도체 장치, 반도체 시스템 및 시스템 온 칩에 관한 것이다. The present invention relates to a semiconductor device, a semiconductor system, and a system-on-a-chip.

DMA(Direct Memory Access)는, 입출력 장치 제어기가 CPU(Central Processing Unit)에 의한 프로그램의 실행 없이 자료의 이동을 할 수 있도록 한 것을 의미한다. 이 방식에 의해서 입출력 속도를 향상시킬 수 있으며, CPU와 주변 장치간의 속도 차를 줄일 수 있다. 입출력 장치가 DMA를 요구하면 CPU가 주메모리의 제어를 넘겨주게 되는데 CPU는 이 작업을 CPU 사이클이 끝나는 지점마다 허용할 수 있다.DMA (Direct Memory Access) means that an input / output device controller can move data without executing a program by a CPU (Central Processing Unit). With this method, the input / output speed can be improved and the speed difference between the CPU and the peripheral device can be reduced. When an input / output device requests a DMA, the CPU passes control of the main memory, and the CPU can allow this operation every time the CPU cycle ends.

다만, DMA를 내장한 주변 장치 프로세싱 유닛을 이용하여 시스템 메모리의 특정 주소로 최신 데이터를 전송하고자하는 경우, 메모리의 상기 특정 주소로부터 제공받아 캐시(cache)에 저장된 예전 데이터는 유효하지 않기 때문에 먼저 캐시를 무효화(예를 들면, 플러싱(flushing))시키고 난 후 DMA를 시작한다. However, when the latest data is to be transferred to a specific address in the system memory using a peripheral processing unit having a built-in DMA, the old data stored in the cache received from the specific address of the memory is invalid, (E. G., Flushing) the DMA and then starts DMA.

본 발명이 해결하려는 과제는, DMA 기능을 캐시의 무효화(즉, 플러싱) 과정과 동시에 수행함으로써, 성능을 향상시킨 반도체 장치를 제공하는 것이다. A problem to be solved by the present invention is to provide a semiconductor device with improved performance by performing a DMA function simultaneously with a cache invalidation (i.e., flushing) process.

본 발명이 해결하려는 다른 과제는, DMA 기능을 캐시의 무효화(즉, 플러싱) 과정과 동시에 수행함으로써, 성능을 향상시킨 반도체 시스템을 제공하는 것이다. Another problem to be solved by the present invention is to provide a semiconductor system with improved performance by performing a DMA function simultaneously with a cache invalidation (i.e., flushing) process.

본 발명이 해결하려는 또 다른 과제는, DMA 기능을 캐시의 무효화(즉, 플러싱) 과정과 동시에 수행함으로써, 성능을 향상시킨 시스템 온 칩(Systmen on Chip)을 제공하는 것이다. Another problem to be solved by the present invention is to provide a system on chip which improves the performance by performing the DMA function simultaneously with the invalidation (i.e., flushing) of the cache.

본 발명이 해결하려는 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems, and other matters not mentioned can be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 반도체 장치의 일 실시예는, 메모리에 직접 엑세스하여 상기 메모리의 미리 정한 주소에 제1 데이터를 라이트(write)하는 디엠에이 모듈을 포함하되, 디엠에이 모듈은, 메모리에 제1 데이터를 라이트하기 위한 전송 파라미터를 설정하는 설정 유닛과, 설정된 전송 파라미터를 기반으로 메모리로 전송할 제1 데이터를 생성하는 생성 유닛과, 전송 파라미터를 기반으로 메모리의 미리 정한 주소에 생성된 제1 데이터를 라이트하는 전송 유닛을 포함하되, 설정 유닛이 전송 파라미터를 설정하는 것은, 프로세서가 캐시에 저장된 제2 데이터를 메모리의 미리 정한 주소에 플러싱(flushing)하는 구간 동안 수행되고, 전송 유닛이 메모리의 미리 정한 주소에 생성된 제1 데이터를 전송하는 것은, 플러싱이 완료된 후 수행된다.According to an aspect of the present invention, there is provided a semiconductor device including a DME module for directly accessing a memory and writing first data to a predetermined address of the memory, A setting unit for setting a transfer parameter for writing the first data into the memory; a generation unit for generating first data to be transferred to the memory based on the set transfer parameter; Wherein the setting unit sets the transmission parameter during a period in which the processor flushes the second data stored in the cache to a predetermined address in the memory, The transmission of the generated first data to a predetermined address of the memory is performed after the flushing is completed.

상기 제1 데이터는 제2 데이터와 다른 데이터일 수 있다.The first data may be data different from the second data.

상기 생성 유닛이 제1 데이터를 생성하는 것은, 생성 유닛이 제1 데이터를 외부 장치로부터 제공받거나 직접 생성하는 것을 포함할 수 있다.The generation unit may generate the first data by allowing the generation unit to receive or directly generate the first data from the external device.

상기 생성 유닛은 외부 장치로 리드(read) 동작 또는 라이트(write) 동작을 수행할 수 있다.The generating unit may perform a read operation or a write operation to an external device.

상기 제1 데이터가 저장되는 버퍼를 더 포함할 수 있다.And a buffer in which the first data is stored.

상기 생성 유닛은 제1 데이터를 생성하여 버퍼에 저장할 수 있다.The generating unit may generate and store the first data in a buffer.

상기 전송 유닛은 버퍼에 저장된 제1 데이터를 메모리로 전송할 수 있다.The transmitting unit may transmit the first data stored in the buffer to the memory.

상기 전송 파라미터는, 제1 데이터의 크기 또는 제1 데이터가 저장된 버퍼의 주소 또는 메모리의 미리 정한 주소를 포함할 수 있다.The transmission parameter may include a size of the first data or an address of a buffer where the first data is stored or a predetermined address of the memory.

상기 설정 유닛은, 프로세서로부터 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보를 제공받을 수 있다.The setting unit can be provided with information relating to transmission parameters from the processor and information relating to flushing of the cache.

상기 전송 유닛은, 설정 유닛으로부터 캐시의 플러싱과 관련된 정보를 제공받아 캐시가 플러싱되는 구간 동안 비활성화될 수 있다.The transfer unit may be deactivated during a period in which the cache is flushed by receiving information related to flushing of the cache from the setting unit.

상기 전송 유닛은 캐시의 플러싱이 완료된 후 활성화될 수 있다.The transmission unit can be activated after the flushing of the cache is completed.

상기 전송 유닛은 프로세서로부터 캐시의 플러싱과 관련된 정보를 제공받을 수 있다.The sending unit may be provided with information relating to flushing of the cache from the processor.

상기 전송 유닛은 캐시로부터 캐시의 플러싱과 관련된 정보를 제공받을 수 있다.The sending unit may be provided with information related to flushing of the cache from the cache.

상기 프로세서는 CPU(central processing unit)를 포함할 수 있다.The processor may include a central processing unit (CPU).

상기 메모리는 DRAM을 포함할 수 있다.The memory may comprise a DRAM.

상기 생성 유닛이 제1 데이터를 생성하는 것은 설정 유닛이 전송 파라미터를 설정하는 것이 완료된 후 시작될 수 있다.The generation unit may generate the first data after the setting unit has completed setting the transmission parameter.

상기 생성 유닛이 제1 데이터를 생성하는 것은 캐시가 플러싱되는 구간 동안 수행될 수 있다.The generation unit may generate the first data during the interval during which the cache is flushed.

상기 전송 유닛이 메모리의 미리 정한 주소에 생성된 제1 데이터를 전송하는 것은, 생성 유닛이 제1 데이터를 생성하는 것이 완료된 후 시작될 수 있다.The transmitting unit may transmit the generated first data to a predetermined address of the memory after the generating unit is finished generating the first data.

상기 전송 유닛은, 메모리로 리드(read) 동작 또는 라이트(write) 동작을 수행할 수 있다.The transmission unit may perform a read operation or a write operation to the memory.

상기 제1 데이터가 저장되는 버퍼를 더 포함하되, 제1 데이터는 제3 및 제4 데이터를 포함하고, 생성 유닛은 제3 데이터를 생성하여 버퍼에 저장하는 제1 생성 동작과 제2 데이터를 생성하여 버퍼에 저장하는 제2 생성 동작을 수행하고, 생성 유닛은 제1 생성 동작을 완료한 후 제2 생성 동작을 수행할 수 있다.And a buffer for storing the first data, wherein the first data includes third and fourth data, and the generating unit generates a third data by generating and storing the third data in a buffer, And stores it in a buffer, and the generating unit can perform the second generating operation after completing the first generating operation.

상기 미리 정한 주소는 제1 주소와 제2 주소를 포함하고, 전송 유닛은 제3 데이터를 제1 주소로 전송하는 제1 전송 동작과 제4 데이터를 제2 주소로 전송하는 제2 전송 동작을 수행하고, 전송 유닛은 제1 전송 동작을 완료한 후 제2 전송 동작을 수행하고, 제1 전송 동작은 제2 생성 동작이 수행되는 구간 동안 수행될 수 있다.The predetermined address includes a first address and a second address, and the transmission unit performs a first transmission operation for transmitting the third data to the first address and a second transmission operation for transmitting the fourth data to the second address The transmission unit performs the second transmission operation after completing the first transmission operation, and the first transmission operation can be performed during the interval in which the second generation operation is performed.

상기 제1 생성 동작은 캐시가 플러싱되는 구간 동안 수행되고, 제2 생성 동작은 캐시의 플러싱이 완료된 후 수행될 수 있다.The first generating operation may be performed during a period in which the cache is flushed, and the second generating operation may be performed after the flushing of the cache is completed.

상기 과제를 해결하기 위한 본 발명의 반도체 장치의 다른 실시예는, 메모리로 직접 엑세스하는 디엠에이 모듈; 및 메모리에 전송할 제1 및 제2 데이터를 저장하는 버퍼를 포함하되, 디엠에이 모듈은, 메모리에 제1 및 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과, 전송 파라미터를 기반으로 제1 데이터를 생성하여 버퍼에 저장하는 제1 생성 동작과 제2 데이터를 생성하여 버퍼에 저장하는 제2 생성 동작을 순차적으로 수행하는 생성 유닛과, 전송 파라미터를 기반으로 버퍼에 저장된 제1 데이터를 메모리의 제1 주소로 전송하는 제1 전송 동작과 버퍼에 저장된 제2 데이터를 메모리의 제2 주소로 전송하는 제2 전송 동작을 순차적으로 수행하는 전송 유닛을 포함하되, 설정 유닛이 전송 파라미터를 설정하는 것은, 프로세서가 캐시에 저장된 제3 데이터를 제1 주소에 플러싱(flushing)하는 구간 동안 수행되고, 제1 생성 동작은 캐시가 플러싱되는 구간 동안 수행되고, 제2 생성 동작은 캐시의 플러싱이 완료된 후 수행되고, 제1 전송 동작은 캐시의 플러싱이 완료된 후 제2 생성 동작이 수행되는 구간 동안 수행된다.According to another aspect of the present invention, there is provided a semiconductor device comprising: a DME module for directly accessing a memory; And a buffer for storing first and second data to be transferred to the memory, wherein the DMA module comprises: a setting unit for setting transfer parameters for transferring the first and second data to and from the memory; A generation unit that sequentially performs a first generation operation of generating 1 data and storing the data in a buffer and a second generation operation of generating a second data and storing the second data in a buffer, And a second transmission operation for sequentially transmitting the first data to the first address of the memory and the second data stored in the buffer to the second address of the memory, wherein the setting unit sets transmission parameters Is performed during a period in which the processor flushes the third data stored in the cache to the first address, and the first generating operation is performed during a period in which the cache is flushed The second generating operation is performed after the flushing of the cache is completed, and the first transmitting operation is performed during the period in which the second generating operation is performed after the flushing of the cache is completed.

상기 생성 유닛은, 설정 유닛이 전송 파라미터를 설정하는 것을 완료한 후 제1 생성 동작을 수행할 수 있다.The generating unit may perform the first generating operation after the setting unit has completed setting the transmission parameter.

상기 제2 전송 동작은 제2 생성 동작이 완료된 후 수행될 수 있다.The second transmission operation may be performed after the second generation operation is completed.

상기 다른 과제를 해결하기 위한 본 발명의 반도체 시스템의 일 실시예는, 버스(bus)를 통해서 메모리와 연결된 캐시(cache); 캐시에 저장된 제1 데이터를 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 및 제1 데이터와 다른 제2 데이터를 생성하여 메모리의 미리 정한 주소에 전송하는 제2 프로세서를 포함하되, 제2 프로세서는, 생성된 제2 데이터를 저장하는 버퍼와, 메모리에 제2 데이터를 전송하기 위한 전송 파라미터를 설정하고, 전송 파라미터를 기반으로 버퍼에 저장된 제2 데이터를 미리 정한 주소에 전송하는 디엠에이 모듈을 포함하고, 디엠에이 모듈이 전송 파라미터를 설정하는 것은 제1 프로세서가 캐시에 저장된 제1 데이터를 미리 정한 주소에 플러싱하는 구간 동안 수행되고, 디엠에이 모듈이 제2 데이터를 미리 정한 주소에 전송하는 것은, 플러싱이 완료된 후 수행된다.According to another aspect of the present invention, there is provided a semiconductor system comprising: a cache connected to a memory via a bus; A first processor for flushing the first data stored in the cache to a predetermined address in the memory; And a second processor for generating second data different from the first data and transmitting the second data to a predetermined address of the memory, wherein the second processor comprises: a buffer for storing the generated second data; And a DMA module for setting a transmission parameter for transmitting the second data stored in the buffer to a predetermined address based on the transmission parameter, wherein the DMA module sets the transmission parameter in such a manner that the first processor is stored in the cache Flushing the first data to a predetermined address, and the DMA module transmits the second data to the predetermined address after the flushing is completed.

상기 제1 프로세서는, 캐시로 리드(read) 또는 라이트(write) 동작을 수행할 수 있다.The first processor may perform a read operation or a write operation to the cache.

상기 디엠에이 모듈은, 메모리에 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과, 전송 파라미터를 기반으로 메모리로 전송할 제2 데이터를 생성하는 생성 유닛과, 전송 파라미터를 기반으로 메모리의 미리 정한 주소에 제2 데이터를 전송하는 전송 유닛을 포함할 수 있다.The DME module includes a setting unit for setting a transfer parameter for transferring second data to a memory, a generation unit for generating second data to be transferred to the memory based on the transfer parameter, And a transmission unit for transmitting the second data to the determined address.

상기 설정 유닛은, 제1 프로세서로부터 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보를 제공받을 수 있다.The setting unit can be provided with information relating to transmission parameters from the first processor and information relating to flushing of the cache.

상기 제1 및 제2 프로세서는 버스를 통해서 서로 연결될 수 있다.The first and second processors may be connected to each other via a bus.

상기 다른 과제를 해결하기 위한 본 발명의 반도체 시스템의 다른 실시예는, 버스(bus)를 통해서 메모리와 연결된 캐시(cache); 캐시에 저장된 제1 데이터를 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 및 제1 데이터와 다른 제2 데이터를 생성하여 버스를 통해서 메모리의 미리 정한 주소에 전송하는 제2 프로세서를 포함하되, 제2 프로세서는, 제2 데이터를 저장하는 버퍼와, 버퍼에 저장된 제2 데이터를 미리 정한 주소에 전송하는 디엠에이 모듈을 포함하고, 디엠에이 모듈은, 메모리에 제2 데이터를 전송하기 위한 전송 파라미터를 설정하고, 제1 프로세서로부터 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보를 제공받는 설정 유닛과, 전송 파라미터를 기반으로 메모리로 전송할 제2 데이터를 생성하여 버퍼에 저장하는 생성 유닛과, 전송 파라미터를 기반으로 버퍼에 저장된 제2 데이터를 메모리의 미리 정한 주소에 전송하는 전송 유닛을 포함하고, 설정 유닛이 전송 파라미터를 설정하는 것은, 캐시가 플러싱(flushing)되는 구간 동안 수행되고, 전송 유닛이 메모리의 미리 정한 주소에 제2 데이터를 전송하는 것은, 플러싱이 완료된 후 수행된다.According to another aspect of the present invention, there is provided a semiconductor system comprising: a cache connected to a memory via a bus; A first processor for flushing the first data stored in the cache to a predetermined address in the memory; And a second processor for generating second data different from the first data and transmitting the generated second data to a predetermined address of the memory via the bus, wherein the second processor comprises: a buffer for storing the second data; Wherein the DMA module sets transfer parameters for transferring the second data to the memory and transfers information relating to the transfer parameter from the first processor and information relating to the flushing of the cache A generation unit for generating second data to be transmitted to the memory based on the transmission parameter and storing the second data in a buffer based on the transmission parameter and a transmission unit for transmitting the second data stored in the buffer to a predetermined address in the memory based on the transmission parameter, Unit, and the setting unit sets the transmission parameter is the number of times during which the cache is flushing. And, sending unit to send the second data to a predetermined address in memory, is carried out after flushing is complete.

상기 다른 과제를 해결하기 위한 본 발명의 반도체 시스템의 또 다른 실시예는, 버스(bus)를 통해서 메모리와 연결된 캐시(cache); 캐시에 저장된 제1 데이터를 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 제1 데이터와 다른 제2 데이터를 저장하는 제1 버퍼를 포함하는 제2 프로세서; 및 메모리에 직접 엑세스하는 디엠에이 모듈을 포함하는 제3 프로세서를 포함하되, 제2 프로세서는 제2 데이터를 생성하여 제1 버퍼에 저장하고, 디엠에이 모듈은, 메모리에 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과, 전송 파라미터를 기반으로 제1 버퍼에 저장된 제2 데이터를 제공받는 생성 유닛과, 전송 파라미터를 기반으로 메모리의 미리 정한 주소에 제2 데이터를 전송하는 전송 유닛을 포함하되, 설정 유닛이 전송 파라미터를 설정하는 것은 캐시가 플러싱되는 구간 동안 수행되고, 전송 유닛이 메모리의 미리 정한 주소에 제2 데이터를 전송하는 것은, 플러싱이 완료된 후 수행된다.According to another aspect of the present invention, there is provided a semiconductor system comprising: a cache connected to a memory via a bus; A first processor for flushing the first data stored in the cache to a predetermined address in the memory; A second processor including a first buffer for storing second data different from the first data; And a third processor including a DME module for directly accessing the memory, wherein the second processor generates and stores the second data in a first buffer, the DME module comprising: A generating unit receiving second data stored in the first buffer based on the transmission parameter, and a transmitting unit transmitting the second data to a predetermined address of the memory based on the transmission parameter However, the setting unit sets transmission parameters during the period in which the cache is flushed, and the transmitting unit transmits the second data to the predetermined address in the memory after the flushing is completed.

상기 설정 유닛은, 제1 프로세서로부터 전송 파라미터 및 캐시의 플러싱과 관련된 정보를 제공받을 수 있다.The setting unit can be provided with information relating to transmission parameters and flushing of the cache from the first processor.

상기 제3 프로세서는, 제공받은 제2 데이터를 저장하는 제2 버퍼를 더 포함할 수 있다.The third processor may further include a second buffer for storing the second data received.

상기 생성 유닛은, 제1 버퍼로부터 제공받은 데이터를 제2 버퍼에 저장할 수 있다.The generating unit may store the data provided from the first buffer in the second buffer.

상기 전송 유닛은, 제2 버퍼에 저장된 데이터를 메모리의 미리 정한 주소에 전송할 수 있다.The transmission unit may transmit the data stored in the second buffer to a predetermined address in the memory.

상기 생성 유닛이 제2 데이터를 제공받는 것은 설정 유닛이 전송 파라미터를 설정하는 것이 완료된 후 시작될 수 있다.The receiving of the second data by the generating unit can be started after the setting unit has completed setting the transmission parameters.

상기 제2 프로세서가 제2 데이터를 생성하여 제1 버퍼에 저장하는 것은, 캐시가 플러싱되는 구간 동안 수행될 수 있다.The second processor may generate the second data and store the second data in the first buffer during the interval during which the cache is flushed.

상기 생성 유닛이 제2 데이터를 제공받는 것은 캐시가 플러싱되는 구간 동안 수행될 수 있다.The receiving of the second data by the generating unit may be performed during a period in which the cache is flushed.

상기 전송 유닛이 제2 데이터를 미리 정한 주소에 전송하는 것은, 생성 유닛이 제2 데이터를 제공받는 것이 완료된 후 시작될 수 있다.The transmitting unit may transmit the second data to a predetermined address after the generating unit is finished receiving the second data.

상기 제1 내지 제3 프로세서는 버스를 통해서 서로 연결될 수 있다.The first to third processors may be connected to each other via a bus.

상기 제3 프로세서는, 설정 유닛으로부터 전송 파라미터를 제공받고, 전송 파라미터를 기반으로 제2 데이터를 생성할 수 있다. The third processor may receive the transmission parameter from the setting unit and generate the second data based on the transmission parameter.

상기 또 다른 과제를 해결하기 위한 본 발명의 시스템 온 칩의 일 실시예는, 메모리; 메모리와 연결된 캐시(cache); 캐시에 저장된 제1 데이터를 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 제1 데이터와 다른 제2 데이터를 저장하는 제1 버퍼를 포함하는 제2 프로세서; 및 메모리에 직접 엑세스하는 디엠에이 모듈을 포함하는 제3 프로세서를 포함하되, 메모리와 제1 내지 제3 프로세서는 AXI(AMBA Advanced eXtensible Interface) 프로토콜을 따르는 버스를 통해서 서로 연결되고, 제2 프로세서는 제2 데이터를 생성하여 제1 버퍼에 저장하고, 디엠에이 모듈은, 메모리에 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과, 전송 파라미터를 기반으로 제1 버퍼에 저장된 제2 데이터를 제공받는 생성 유닛과, 전송 파라미터를 기반으로 메모리의 미리 정한 주소에 제2 데이터를 전송하는 전송 유닛을 포함하되, 설정 유닛이 전송 파라미터를 설정하는 것은 캐시가 플러싱되는 구간 동안 수행되고, 전송 유닛이 메모리의 미리 정한 주소에 제2 데이터를 전송하는 것은, 플러싱이 완료된 후 수행된다.According to another aspect of the present invention, there is provided a system-on-chip comprising: a memory; A cache associated with memory; A first processor for flushing the first data stored in the cache to a predetermined address in the memory; A second processor including a first buffer for storing second data different from the first data; And a third processor including a DME module for directly accessing the memory, wherein the memory and the first to third processors are connected to each other via a bus conforming to the AMBI Advanced Extensible Interface (AXI) protocol, 2 data and stores the data in the first buffer. The DME module includes a setting unit for setting a transmission parameter for transmitting the second data to the memory, and a setting unit for providing second data stored in the first buffer based on the transmission parameter And a transmission unit for transmitting the second data to a predetermined address of the memory based on the transmission parameter, wherein the setting unit sets transmission parameters for a period during which the cache is flushed, The transmission of the second data to the predetermined address of the second memory is performed after the flushing is completed.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하는 블록도이다.
도 2는 도 1의 디엠에이 모듈을 설명하기 위한 블록도이다.
도 3 및 도 4는 도 1의 반도체 장치의 동작을 설명하기 위한 개략도들이다.
도 5는 본 발명의 일 실시예에 따른 반도체 시스템을 설명하는 블록도이다.
도 6은 도 5의 제2 프로세서를 설명하기 위한 블록도이다.
도 7은 본 발명의 다른 실시예에 따른 반도체 시스템을 설명하는 블록도이다.
도 8은 도 7의 제2 및 제3 프로세서를 설명하기 위한 블록도이다.
도 9는 시스템 온 칩(System on chip)으로 구현된 도 7의 반도체 시스템을 설명하는 도면이다.
도 10 내지 도 12는 본 발명의 몇몇 실시예에 따른 반도체 시스템을 적용할 수 있는 예시적인 전자 시스템들이다.
도 13 및 도 14는 도 1의 반도체 장치의 동작 방법을 설명하는 도면들이다.
도 15 및 도 16은 도 5의 반도체 시스템의 동작 방법을 설명하는 도면들이다.
도 17 및 도 18은 도 7의 반도체 시스템의 동작 방법을 설명하는 도면들이다.
1 is a block diagram illustrating a semiconductor device according to an embodiment of the present invention.
2 is a block diagram for explaining the DME module of FIG.
3 and 4 are schematic views for explaining the operation of the semiconductor device of FIG.
5 is a block diagram illustrating a semiconductor system according to one embodiment of the present invention.
FIG. 6 is a block diagram illustrating the second processor of FIG. 5. FIG.
7 is a block diagram illustrating a semiconductor system according to another embodiment of the present invention.
8 is a block diagram illustrating the second and third processors of FIG.
Figure 9 is a diagram illustrating the semiconductor system of Figure 7 implemented as a system on chip.
10 through 12 are exemplary electronic systems to which a semiconductor system according to some embodiments of the present invention may be applied.
13 and 14 are views for explaining a method of operating the semiconductor device of FIG.
FIGS. 15 and 16 are views for explaining a method of operating the semiconductor system of FIG.
17 and 18 are views for explaining a method of operating the semiconductor system of FIG.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면에서 표시된 구성요소의 크기 및 상대적인 크기는 설명의 명료성을 위해 과장된 것일 수 있다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭하며, "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. The dimensions and relative sizes of the components shown in the figures may be exaggerated for clarity of description. Like reference numerals refer to like elements throughout the specification and "and / or" include each and every combination of one or more of the mentioned items.

소자(elements) 또는 층이 다른 소자 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 소자 또는 층의 바로 위뿐만 아니라 중간에 다른 층 또는 다른 소자를 개재한 경우를 모두 포함한다. 반면, 소자가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 소자 또는 층을 개재하지 않은 것을 나타낸다.It is to be understood that when an element or layer is referred to as being "on" or " on "of another element or layer, All included. On the other hand, a device being referred to as "directly on" or "directly above " indicates that no other device or layer is interposed in between.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 소자 또는 구성 요소들과 다른 소자 또는 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 소자를 뒤집을 경우, 다른 소자의 "아래(below)" 또는 "아래(beneath)"로 기술된 소자는 다른 소자의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 소자는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The terms spatially relative, "below", "beneath", "lower", "above", "upper" May be used to readily describe a device or a relationship of components to other devices or components. Spatially relative terms should be understood to include, in addition to the orientation shown in the drawings, terms that include different orientations of the device during use or operation. For example, when inverting an element shown in the figures, an element described as "below" or "beneath" of another element may be placed "above" another element. Thus, the exemplary term "below" can include both downward and upward directions. The elements can also be oriented in different directions, so that spatially relative terms can be interpreted according to orientation.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element.

비록 제1, 제2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제2 소자나 구성요소 일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various elements or components, it is needless to say that these elements or components are not limited by these terms. These terms are used only to distinguish one element or component from another. Therefore, it is needless to say that the first element or the constituent element mentioned below may be the second element or constituent element within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

이하에서, 도 1 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 반도체 장치에 대해 설명한다. Hereinafter, a semiconductor device according to an embodiment of the present invention will be described with reference to FIGS. 1 to 4. FIG.

도 1은 본 발명의 일 실시예에 따른 반도체 장치를 설명하는 블록도이다. 도 2는 도 1의 디엠에이 모듈을 설명하기 위한 블록도이다. 도 3 및 도 4는 도 1의 반도체 장치의 동작을 설명하기 위한 개략도들이다.1 is a block diagram illustrating a semiconductor device according to an embodiment of the present invention. 2 is a block diagram for explaining the DME module of FIG. 3 and 4 are schematic views for explaining the operation of the semiconductor device of FIG.

이하에서 사용되는 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다. The term "sub-unit" or "module" as used herein refers to a hardware component such as software or an FPGA or ASIC, and a sub-unit or module performs certain roles. However, " part " or " module " is not meant to be limited to software or hardware. The term " part " or " module " may be configured to reside on an addressable storage medium and configured to play one or more processors. Thus, by way of example, 'a' or 'module' is intended to be broadly interpreted as encompassing any type of process, including features such as software components, object-oriented software components, class components and task components, Microcode, circuitry, data, databases, data structures, tables, arrays, and variables, as used herein, Or " modules " or " modules " or " modules " or " modules " Can be further separated.

도 1을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치(100)는 디엠에이 모듈(110)과 버퍼(160)를 포함할 수 있다.Referring to FIG. 1, a semiconductor device 100 according to an embodiment of the present invention may include a DIA module 110 and a buffer 160.

디엠에이 모듈(110)은 메모리(200)에 직접 엑세스(access)할 수 있다.The DME module 110 can access the memory 200 directly.

구체적으로, 디엠에이 모듈(110)은 데이터를 직접 생성하거나 외부 장치로부터 제공받아 버퍼(160)에 저장할 수 있고, 버퍼(160)에 저장된 데이터를 메모리(200)에 전송할 수 있다.Specifically, the DME module 110 may generate data directly or may receive data from an external device, store the data in the buffer 160, and transmit the data stored in the buffer 160 to the memory 200. [

또한 디엠에이 모듈(110)은 메모리(200)에 리드(read) 또는 라이트(write) 동작을 수행할 수 있다. The DME module 110 may also perform a read or write operation to the memory 200. [

버퍼(160)는 디엠에이 모듈(110)에 의해 제공받은 데이터를 저장할 수 있다. 여기에서, 디엠에이 모듈(110)이 데이터 전송시 버스(미도시)를 차지하지 못하는 경우가 발생할 수도 있는바, 디엠에이 모듈(110)이 성능 저하 없이 원활하게 동작할 수 있도록 충분한 크기의 버퍼(160)가 확보되는 것이 바람직하다. The buffer 160 may store data provided by the DMA module 110. In this case, the DMA module 110 may not be able to occupy a bus (not shown) when data is transferred. In this case, the DMA module 110 may buffer a buffer (not shown) 160) is secured.

구체적으로, 버퍼(160)는, 디엠에이 모듈(110)이 한번에 메모리(200)로 전송할 수 있는 데이터의 최대량 보다 큰 여유 공간을 가지는 것이 바람직하다. More specifically, the buffer 160 preferably has a free space larger than the maximum amount of data that the DME module 110 can transfer to the memory 200 at one time.

추가적으로, 메모리(200)는 예를 들어, DRAM을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한 메모리(200)는 일반 데이터를 저장하는 데이터 영역과 스페어 영역을 포함할 수 있다. 메모리(200)의 영역들 각각은 복수의 메모리 블록들로 구성될 수 있다. 이러한 메모리(200)의 상세 구성은 본 기술분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있는바, 자세한 설명은 생략하도록 한다.In addition, the memory 200 may include, but is not limited to, a DRAM, for example. Also, the memory 200 may include a data area and a spare area for storing general data. Each of the areas of the memory 200 may be composed of a plurality of memory blocks. The detailed configuration of the memory 200 is well known to those skilled in the art, and thus a detailed description thereof will be omitted.

도 2를 참조하면, 디엠에이 모듈(110)은 설정 유닛(115), 생성 유닛(120), 전송 유닛(125)을 포함할 수 있다. Referring to FIG. 2, the DMI module 110 may include a setting unit 115, a generating unit 120, and a transmitting unit 125.

설정 유닛(115)은 메모리(200)에 제1 데이터를 라이트하기 위한 전송 파라미터(DP)를 설정할 수 있다.The setting unit 115 can set the transfer parameter DP for writing the first data in the memory 200. [

구체적으로, 설정 유닛(115)은 프로세서(250)로부터 전송 파라미터(DP)와 관련된 정보(DP.I)를 제공받아, 전송 파라미터(DP)를 설정할 수 있다. 여기에서 전송 파라미터(DP)는 예를 들어, 메모리(200)로 전송하고자 하는 제1 데이터의 크기, 메모리(200)로 전송하고자 하는 제1 데이터가 저장된 버퍼(160)의 주소, 제1 데이터를 전송하고자 하는 메모리(200)의 미리 정한 주소를 포함할 수 있으나, 이에 한정되는 것은 아니다. 제1 데이터는 메모리(200)에 전송하고자하는 데이터이다.Specifically, the setting unit 115 can receive the information (DP.I) related to the transmission parameter DP from the processor 250 and set the transmission parameter DP. Here, the transmission parameter DP includes, for example, the size of the first data to be transmitted to the memory 200, the address of the buffer 160 in which the first data to be transmitted to the memory 200 is stored, May include a predetermined address of the memory 200 to be transmitted, but the present invention is not limited thereto. The first data is data to be transferred to the memory 200.

여기에서, 프로세서(250)는 예를 들어, CPU(Central Processing Unit)를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한 제1 데이터는 메모리(200)의 미리 정한 주소에 저장하고자 하는 최신 데이터를 포함할 수 있다. Here, the processor 250 may include, but is not limited to, a Central Processing Unit (CPU), for example. Also, the first data may include the latest data to be stored in a predetermined address of the memory 200.

설정 유닛(115)은 프로세서(250)로부터 전송 파라미터와 관련된 정보(DP.I) 뿐만 아니라 캐시의 무효화(이하에서는, 플러싱이라고 함)와 관련된 정보(CI.I)도 제공받을 수 있으며, 제공받은 캐시의 플러싱과 관련된 정보(CI.I)를 기반으로 전송 파라미터(DP)의 설정 동작을 시작할 수 있다. 즉, 전송 파라미터(DP)는 프로세서(250)로부터 제공받은 전송 파라미터와 관련된 정보(DP.I)를 기반으로 설정되고, 이러한 설정 동작의 시작 시점은 프로세서(250)로부터 제공받은 캐시의 플러싱과 관련된 정보(CI.I)를 기반으로 결정될 수 있다.The setting unit 115 can receive information (CI.I) related to invalidation of the cache (hereinafter referred to as flushing) as well as information (DP.I) related to the transmission parameter from the processor 250, The setting operation of the transmission parameter DP can be started based on the information (CI.I) related to the flushing of the cache. That is, the transmission parameter DP is set based on the information DP.I related to the transmission parameter provided from the processor 250, and the starting point of the setting operation is related to the flushing of the cache provided from the processor 250 Information (CI.I).

여기에서, 캐시의 플러싱과 관련된 정보(CI.I)는 프로세서(250)에서 설정 유닛(115)으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 보다 구체적으로, 캐시의 플러싱과 관련된 정보(CI.I)는 프로세서(250)에서 먼저 설정 유닛(115)으로 제공된 후, 설정 유닛(115)에서 전송 유닛(125)으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 즉, 캐시의 플러싱과 관련된 정보(CI.I)는 프로세서(250)에서 설정 유닛(115)을 거치지 않고 바로 전송 유닛(125)으로 제공될 수도 있고, 캐시(300)의 플러싱이 시작되면, 캐시(300)는 자체적으로 캐시의 플러싱과 관련된 정보(CI.I)를 생성하여, 전송 유닛(125)으로 제공할 수도 있다. 다만, 설명의 편의를 위해 프로세서(250)로부터 설정 유닛(115)으로 캐시의 플러싱과 관련된 정보(CI.I)가 제공되는 것을 예로 들어 설명하도록 한다. Here, information (CI.I) related to the flushing of the cache is shown to be provided from the processor 250 to the setting unit 115, but is not limited thereto. More specifically, information (CI.I) associated with flushing of the cache is shown to be provided to the sending unit 125 in the setting unit 115 after being provided to the setting unit 115 first in the processor 250, But is not limited thereto. That is, the information (CI.I) associated with the flushing of the cache may be provided to the transfer unit 125 directly by the processor 250 without going through the setting unit 115, and when the flushing of the cache 300 begins, (CI. I) related to the flushing of the cache itself, and may provide it to the transfer unit 125. [0050] However, for convenience of explanation, it is assumed that the information (CI.I) related to the flushing of the cache from the processor 250 to the setting unit 115 is provided.

설정 유닛(115)이 전송 파라미터(DP)를 설정하는 것은, 프로세서(250)가 캐시(300)에 저장된 제2 데이터를 메모리(200)의 미리 정한 주소에 플러싱하는 동안 수행될 수 있다. 여기에서, 제2 데이터는 예전 데이터(즉, 업데이트 되지 않은 데이터)로써, 최신 데이터인 제1 데이터와 다른 데이터일 수 있다. 또한 프로세서(250)는 캐시(300)를 플러싱하는 동작 이외에도 캐시(300)로 리드 또는 라이트 동작을 수행할 수 있다.The setting unit 115 may set the transmission parameter DP while the processor 250 flushes the second data stored in the cache 300 to a predetermined address in the memory 200. [ Here, the second data may be old data (i.e., un-updated data), and may be data different from the first data which is the latest data. The processor 250 may also perform a read or write operation to the cache 300 in addition to flushing the cache 300.

설정 유닛(115)은 설정된 전송 파라미터(DP)를 생성 유닛(120)과 전송 유닛(125)으로 제공할 수 있다. 또한 설정 유닛(115)은 캐시의 플러싱과 관련된 정보(CI.I)를 전송 유닛(125)에 제공할 수 있는바, 이에 대한 구체적인 설명은 후술하도록 한다. The setting unit 115 can provide the set transmission parameters DP to the generating unit 120 and the transmitting unit 125. [ Further, the setting unit 115 can provide information (CI.I) related to the flushing of the cache to the transfer unit 125, and a detailed description thereof will be described later.

생성 유닛(120)은 설정된 전송 파라미터(DP)를 기반으로 메모리(200)로 전송할 제1 데이터를 생성할 수 있다.The generating unit 120 may generate first data to be transmitted to the memory 200 based on the set transmission parameters DP.

구체적으로, 생성 유닛(120)은 설정 유닛(115)으로부터 전송 파라미터(DP)를 제공받을 수 있고, 전송 파라미터(DP)를 기반으로 제1 데이터를 생성할 수 있다. 여기에서, 생성 유닛(120)이 데이터를 생성한다는 것은, 생성 유닛(120)이 데이터를 외부 장치(350)로부터 제공받거나(리드하거나) 직접 생성하는 것을 포함할 수 있다. 또한 생성 유닛(120)은 생성한 제1 데이터를 버퍼(160)에 저장(라이트)할 수 있다. Specifically, the generating unit 120 can receive the transmission parameter DP from the setting unit 115 and can generate the first data based on the transmission parameter DP. Here, generation unit 120 generates data may include generation unit 120 receiving (or leading) data from external device 350 directly. The generating unit 120 may also store (write) the generated first data in the buffer 160. [

여기에서, 외부 장치(350)는 예를 들어, MMC(Multi-Media Card)를 포함할 수 있으나, 이에 한정되는 것은 아니다. Here, the external device 350 may include, but is not limited to, for example, a Multi-Media Card (MMC).

즉, 생성 유닛(120)은 전송 파라미터(DP)에서 가리키는 데이터의 크기에 맞추어서 제1 데이터를 생성하고, 생성한 제1 데이터를 전송 파라미터(DP)에서 가리키는 버퍼(160)의 주소에 저장할 수 있다.That is, the generating unit 120 may generate the first data according to the size of the data indicated by the transmission parameter DP, and store the generated first data at the address of the buffer 160 indicating the transmission parameter DP .

생성 유닛(120)은 외부 장치(350)로 리드 또는 라이트 동작을 수행할 수 있다. 앞서 설명한 바와 같이, 생성 유닛(120)은 제1 데이터를 생성하기 위해 외부 장치(350)로부터 제1 데이터를 제공받을 수도 있다고 하였는바, 생성 유닛(120)은 이와 같은 리드 동작 이외에 외부 장치(350)로 데이터를 라이트하는 동작도 수행할 수 있다.The generation unit 120 can perform a read or write operation to the external device 350. [ As described above, the generating unit 120 may receive the first data from the external device 350 to generate the first data, and the generating unit 120 may perform the read operation in addition to the external device 350 ) Can also be performed.

전송 유닛(125)은 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 라이트할 수 있다.The transmission unit 125 can write the first data to a predetermined address of the memory 200 based on the transmission parameter DP.

구체적으로, 전송 유닛(125)은 설정 유닛(115)으로부터 전송 파라미터(DP)를 제공받을 수 있고, 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 전송할 수 있다. 여기에서, 전송 유닛(125)은 버퍼(160)에 저장된 제1 데이터를 메모리(200)로 전송할 수 있다.Specifically, the transmission unit 125 can receive the transmission parameter DP from the setting unit 115 and can transmit the first data to the predetermined address of the memory 200 based on the transmission parameter DP . Here, the transfer unit 125 can transfer the first data stored in the buffer 160 to the memory 200. [

즉, 전송 유닛(125)은 전송 파라미터(DP)에서 가리키는 버퍼(160)의 주소에 저장된 제1 데이터를 리드하여, 전송 파라미터(DP)에서 가리키는 메모리(200)의 미리 정한 주소로 제1 데이터를 전송(라이트)할 수 있다.That is, the transfer unit 125 reads the first data stored in the address of the buffer 160 indicated by the transfer parameter DP and transfers the first data to a predetermined address of the memory 200 indicated by the transfer parameter DP (Write).

전송 유닛(125)이 메모리(200)의 미리 정한 주소에 제1 데이터를 전송하는 것은, 캐시(300)의 플러싱이 완료된 후 수행될 수 있다. The transmission unit 125 may transmit the first data to the predetermined address of the memory 200 after the flushing of the cache 300 is completed.

또한 전송 유닛(125)은 설정 유닛(115)으로부터 캐시(300)의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(300)의 플러싱이 시작된다는 정보)를 제공받아 캐시(300)가 플러싱되는 구간 동안 비활성화될 수 있다. 여기에서, 전송 유닛(125)이 비활성화되는 시점은 캐시(300)의 플러싱이 시작되기 전 또는 시작과 동시 또는 시작된 후 모두 가능하다. The transfer unit 125 also receives information (CI.I) related to the flushing of the cache 300 from the setting unit 115 (e.g., information indicating that the flushing of the cache 300 starts) Lt; / RTI > may be deactivated during the period in which it is flushed. Here, the point in time when the transfer unit 125 is inactivated is possible before or simultaneously with the start of flushing of the cache 300, or both.

캐시(300)의 플러싱이 완료된 후에, 전송 유닛(125)은 설정 유닛(115)으로부터 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(300)의 플러싱이 완료되었다는 정보)를 제공받아 활성화될 수 있다. After the flushing of the cache 300 is completed, the transfer unit 125 sends information (CI.I) related to the flushing of the cache (for example, information indicating that flushing of the cache 300 is completed) to the setting unit 115 And can be activated.

전송 유닛(125)은 메모리(200)로 리드 또는 라이트 동작을 수행할 수 있다. 앞서 설명한 바와 같이, 전송 유닛(125)은 제1 데이터를 메모리(200)의 미리 정한 주소로 전송할 수 있다고 하였는바, 전송 유닛(125)은 이와 같은 라이트 동작 이외에 메모리(200)로부터 데이터를 리드하는 동작도 수행할 수 있다.The transmission unit 125 can perform a read or write operation to the memory 200. [ As described above, it is assumed that the transfer unit 125 can transfer the first data to a predetermined address of the memory 200, and the transfer unit 125 reads data from the memory 200 in addition to the write operation Operation can also be performed.

도 2 및 도 3을 참조하면, 디엠에이 모듈의 동작이 캐시의 무효화(즉, 플러싱)가 완료된 후 시작되는 모습이 도시되어 있다. 도 3은, 본 발명의 일 실시예에 따른 반도체 장치(100)가 적용되지 않은 케이스이다. Referring to FIGS. 2 and 3, the operation of the DMA module is shown after the invalidation (i.e., flush) of the cache is completed. 3 is a case in which the semiconductor device 100 according to the embodiment of the present invention is not applied.

즉, 프로세서가 캐시를 플러싱하는 구간(Cache Invalidation)(시간 t1~t2)에서는 디엠에이 모듈의 동작이 블로킹될 수 있다. 이는 캐시를 플러싱하는 구간(시간 t1~t2) 동안 디엠에이 모듈의 동작이 블로킹되지 않는다면, 캐시가 플러싱되는 메모리의 주소와 디엠에이 모듈이 데이터를 전송하고자 하는 메모리의 주소가 동일한 경우, 디엠에이 모듈이 전송하고자하는 데이터가 최신 데이터인데도 불구하고, 캐시에 의해 플러싱된 데이터(즉, 업데이트되지 않은 데이터 또는 오래된 데이터)가 최신 데이터 위에 오버라이트(over write)될 수도 있기 때문이다. That is, the operation of the DMA module may be blocked during a period in which the processor flushes the cache (Cache Invalidation) (time t1 to t2). If the operation of the DMA module is not blocked during the period (time t1 to t2) during which the cache is flushed, if the address of the memory where the cache is flushed and the address of the memory to which the DMA module transmits data is the same, (I.e., un-updated data or old data) may be overwritten on the latest data even though the data to be transmitted is the latest data.

이에 따라, 캐시를 플러싱하는 구간(시간 t1~t2)에서는 디엠에이 모듈의 동작이 블로킹되고, 캐시의 플러싱이 완료된 시간 t2에서부터는 디엠에이 모듈의 초기 설정 작업(Initial Setup)(즉, 설정 유닛이 전송 파라미터를 설정하는 것)이 시작될 수 있다. Accordingly, the operation of the DMA module is blocked during the period (time t1 to t2) during which the cache is flushed, and the initial setup of the DMA module (Initial Setup) Transmission parameter setting) can be started.

디엠에이 모듈의 초기 설정 작업이 시간 t3에 완료되면, 시간 t3에서부터는 제1 데이터의 생성 작업(Data Creation1)(즉, 생성 유닛이 제1 데이터를 생성하는 것)이 시작될 수 있다. When the initial setting operation of the DME module is completed at the time t3, a data creation operation (Data Creation 1) (i.e., the generation unit generates the first data) can be started from the time t3.

또한 시간 t4에서 제1 데이터의 생성 작업이 완료되면, 시간 t4에서부터는 제2 데이터의 생성 작업(Data Creation2)(즉, 생성 유닛이 제1 데이터와 다른 최신 데이터인 제2 데이터를 생성하는 것)과 제1 데이터의 전송 작업(Data transfer 1)(즉, 전송 유닛이 제1 데이터를 메모리로 전송하는 것)이 동시에 시작될 수 있다. 즉, 디엠에이 모듈의 전송 유닛의 동작과 생성 유닛의 동작은 파이프라인(pipeline)될 수 있다.At the time t4, when the generation of the first data is completed, the generation of the second data (Data Creation 2) from the time t4 (i.e., the generation unit generates the second data which is the latest data different from the first data) And data transfer 1 of the first data (i.e., the transfer unit transfers the first data to the memory) can be started at the same time. That is, the operation of the transmission unit of the DME module and the operation of the generation unit can be pipelined.

이어서, 시간 t5에서 제2 데이터의 생성 작업과 제1 데이터의 전송 작업이 완료되면, 시간 t5에서 제2 데이터의 전송 작업(Data transfer 2)(즉, 전송 유닛이 제2 데이터를 메모리로 전송하는 것)이 시작될 수 있다.Subsequently, when the generation of the second data and the transfer of the first data are completed at the time t5, the transfer of the second data (Data transfer 2) (i.e., the transfer unit transfers the second data to the memory Can be started.

여기에서, 제2 데이터가 전송되는 메모리의 주소는 제1 데이터가 전송되는 메모리의 주소와 다를 수 있다.Here, the address of the memory to which the second data is transmitted may be different from the address of the memory to which the first data is transmitted.

이와 같이 도 3의 경우, 캐시에 의해 플러싱된 데이터(즉, 업데이트되지 않은 데이터 또는 오래된 데이터)가 최신 데이터 위에 오버라이트(over write)되는 것을 방지할 수 있지만, 캐시의 플러싱 시간만큼 디엠에이 모듈의 수행 시간이 늦춰진다는 점에서 전체적인 성능 저하 문제를 야기할 수 있다.3, it is possible to prevent the data flushed by the cache (i.e., the un-updated data or the old data) from being overwritten on the latest data. However, The execution time is slowed down, which may lead to a total performance degradation problem.

한편, 도 2 및 도 4를 참조하면, 디엠에이 모듈의 동작이 캐시의 무효화(즉, 플러싱)와 동시에 시작되는 모습이 도시되어 있다. 도 3은, 본 발명의 일 실시예에 따른 반도체 장치(100)가 적용된 케이스이다. On the other hand, referring to FIGS. 2 and 4, the operation of the DMA module starts at the same time as invalidation (i.e., flushing) of the cache. 3 is a case to which the semiconductor device 100 according to the embodiment of the present invention is applied.

앞서 설명한 도 3과의 차이점을 중심으로 설명하도록 한다.The difference from the above-described FIG. 3 will be mainly described.

즉, 프로세서(250)가 캐시(300)를 플러싱하는 구간(Cache Invalidation)(시간 t1~t2)에서 도 3과 달리, 디엠에이 모듈(110)의 동작이 블로킹되지 않는다는 것을 알 수 있다. That is, unlike FIG. 3, it can be seen that the operation of the DMI module 110 is not blocked during a period in which the processor 250 flushes the cache 300 (Cache Invalidation) (time t1 to t2).

구체적으로, 시간 t1에서 캐시(300)의 플러싱이 시작됨과 동시에, 디엠에이 모듈(110)의 전송 유닛(125)이 비활성화(Data transfer Disable)될 수 있다. 물론, 디엠에이 모듈(110)의 전송 유닛(125)이 비활성화되는 시점은 앞서 설명한 바와 같이, 캐시(300)의 플러싱이 시작되기 전 또는 시작과 동시에 또는 시작된 후 모두 가능하지만, 설명의 편의를 위해 도 4에서는, 캐시(300)의 플러싱이 시작됨과 동시에 진행되는 것으로 설명하기로 한다.Concretely, at the time t1, the flushing of the cache 300 is started, and the transfer unit 125 of the DMA module 110 can be disabled (Data Transfer Disable). Of course, the timing at which the transfer unit 125 of the DMA module 110 is deactivated is possible before or at the start of flushing of the cache 300 as described above, or after the start of flushing of the cache 300. However, In FIG. 4, it will be described that the flushing of the cache 300 starts and proceeds at the same time.

여기에서, 전송 유닛(125)의 비활성화 구간은 시간 t4 즉, 캐시(300)의 플러싱이 완료되는 시점까지 지속될 수 있다. 이는 캐시(300)에 의해 플러싱된 데이터(즉, 업데이트되지 않은 데이터 또는 오래된 데이터)가 최신 데이터 위에 오버라이트(over write)되는 것을 방지하기 위해서이다.Here, the inactivation period of the transfer unit 125 may be continued until time t4, that is, the flushing of the cache 300 is completed. This is to prevent data (i.e., un-updated data or old data) that has been flushed by the cache 300 from being overwritten on the latest data.

캐시(300)의 플러싱이 시작된 시간 t1보다 조금 경과된 시간 t2에서 디엠에이 모듈(110)의 초기 설정 작업(Initial Setup)(즉, 설정 유닛(115)이 전송 파라미터(DP)를 설정하는 것)이 시작될 수 있다. The initial setting operation (initial setting) of the DMA module 110 (that is, the setting unit 115 sets the transfer parameter DP) at a time t2 elapsing from the time t1 at which the flushing of the cache 300 starts, Can be started.

즉, 디엠에이 모듈(110)의 동작이 캐시(300)가 플러싱되는 구간동안 수행될 수 있다. 이에 따라, 앞서 설명한 도 4와 달리, 캐시(300)의 플러싱 시간만큼 디엠에이 모듈의 수행 시간이 늦춰짐으로써 발생하는 전체적인 성능 저하 문제를 방지할 수 있다. 다시 말하자면, 도 4에서 보다 캐시(300)의 플러싱 시간만큼 디엠에이 모듈(110)의 수행 시간을 앞당김으로써 전체적인 성능을 향상시킬 수 있다.That is, the operation of the DMA module 110 may be performed during a period in which the cache 300 is flushed. Accordingly, unlike FIG. 4 described above, it is possible to prevent the overall performance degradation caused by delaying the execution time of the DMA module by the flushing time of the cache 300. In other words, the execution time of the DMA module 110 is advanced by the flushing time of the cache 300 as shown in FIG. 4, thereby improving the overall performance.

디엠에이 모듈(110)의 초기 설정 작업이 시간 t3에 완료되면, 시간 t3에서부터는 제1 데이터의 생성 작업(Data Creation1)(즉, 생성 유닛이 제1 데이터를 생성하는 것)이 시작될 수 있다. 여기에서, 제1 데이터의 생성 작업은 캐시(300)의 플러싱 구간과 파이프라인 될 수 있다. When the initial setting operation of the DME module 110 is completed at time t3, a data creation operation (Data Creation 1) (i.e., the generation unit may generate the first data) may be started from time t3. Here, the generation of the first data may be pipelined with the flushing interval of the cache 300.

구체적으로, 제1 데이터의 생성 작업은 캐시(300)의 플러싱 구간 중 시작되어(즉, 시간 t1에서 시간 t4 사이에 시작되어), 캐시의 플러싱 구간이 종료되기 전 또는 종료와 동시에 또는 종료된 후 종료될 수 있다. Specifically, the generation of the first data is started during the flushing interval of the cache 300 (i.e., starting from time t1 to time t4), before or after the end of the flushing interval of the cache, Can be terminated.

또한 시간 t4에서 캐시(300)의 플러싱이 완료되면, 시간 t4 이후부터는 디엠에이 모듈(110)의 전송 유닛(125)이 활성화(Data transfer Enable)될 수 있다. 이에 따라, 제1 데이터의 생성 작업이 시간 t5에서 완료되면, 시간 t5에서부터는 제2 데이터의 생성 작업(Data Creation2)(즉, 생성 유닛(120)이 제1 데이터와 다른 최신 데이터인 제2 데이터를 생성하는 것)과 제1 데이터의 전송 작업(Data transfer 1)(즉, 전송 유닛(125)이 제1 데이터를 메모리(200)로 전송하는 것)이 동시에 시작될 수 있다. When the flushing of the cache 300 is completed at time t4, the transfer unit 125 of the DMA module 110 may be enabled (Data Transfer Enable) after time t4. Thus, when the generation of the first data is completed at the time t5, the generation of the second data (Data Creation 2) (i.e., the generation unit 120 generates the second data as the latest data different from the first data from the time t5) (I.e., the transfer unit 125 transfers the first data to the memory 200) can be started at the same time.

즉, 디엠에이 모듈(110)의 전송 유닛(125)의 동작과 생성 유닛(120)의 동작은 파이프라인(pipeline)될 수 있다. That is, the operation of the transmission unit 125 of the DME module 110 and the operation of the generation unit 120 may be pipelined.

이어서, 시간 t6에서 제2 데이터의 생성 작업과 제1 데이터의 전송 작업이 완료되면, 시간 t6에서 제2 데이터의 전송 작업(Data transfer 2)(즉, 전송 유닛(125)이 제2 데이터를 메모리(200)로 전송하는 것)이 시작될 수 있다.Subsequently, at the time t6, when the generation of the second data and the transfer of the first data are completed, the transfer of the second data (Data transfer 2) (i.e., the transfer unit 125 transfers the second data to the memory (E.g., transmitting to the base station 200).

본 발명의 일 실시예에 따른 반도체 장치(100)는, 전송 유닛(125)의 비활성화 구간을 캐시(300)의 플러싱이 완료되는 시점까지 유지함으로써, 캐시(300)에 의해 플러싱된 데이터(즉, 업데이트되지 않은 데이터 또는 오래된 데이터)가 최신 데이터 위에 오버라이트되는 것을 방지할 수 있고, 캐시(300)의 플러싱 시간만큼 디엠에이 모듈(110)의 수행 시간을 앞당김으로써 전체적인 성능을 향상시킬 수 있다.The semiconductor device 100 according to the embodiment of the present invention can maintain the deactivation period of the transfer unit 125 until the flushing of the cache 300 is completed, Updated data or old data) can be prevented from being overwritten on the latest data and the overall performance can be improved by advancing the execution time of the DMA module 110 by the flushing time of the cache 300. [

또한 본 발명의 몇몇 실시예에서, 이러한 설정 유닛(115), 생성 유닛(120), 전송 유닛(125)은 하드웨어 형태로 구현되고 있지만, 본 발명이 이에 한정되는 것은 아니다. 즉, 설정 유닛(115), 생성 유닛(120), 전송 유닛(125)은 소프트웨어 형태로 구현되어 디엠에이 모듈(110)에 코드(code) 형태로 저장될 수 있다.Further, in some embodiments of the present invention, the setting unit 115, the generating unit 120, and the transmitting unit 125 are implemented in hardware, but the present invention is not limited thereto. That is, the setting unit 115, the generating unit 120, and the transmitting unit 125 may be implemented in software and stored in the form of a code in the DMI module 110. [

이하에서는, 도 5 및 도 6을 참조하여, 본 발명의 일 실시예에 따른 반도체 시스템에 대해 설명하도록 한다. 앞서 설명한 도 1 및 도 2의 내용과 중복되는 내용은 생략하도록 한다. Hereinafter, a semiconductor system according to an embodiment of the present invention will be described with reference to FIG. 5 and FIG. The contents overlapping with those of FIGS. 1 and 2 described above will be omitted.

도 5는 본 발명의 일 실시예에 따른 반도체 시스템을 설명하는 블록도이다. 도 6은 도 5의 제2 프로세서를 설명하기 위한 블록도이다.5 is a block diagram illustrating a semiconductor system according to one embodiment of the present invention. FIG. 6 is a block diagram illustrating the second processor of FIG. 5. FIG.

도 5를 참조하면, 본 발명의 일 실시예에 따른 반도체 시스템(400)은 제1 프로세서(410), 캐시(420), 제2 프로세서(430), 버스(470)를 포함할 수 있다.5, a semiconductor system 400 according to an embodiment of the present invention may include a first processor 410, a cache 420, a second processor 430, and a bus 470.

제1 프로세서(410)는 캐시(420)에 저장된 데이터(예를 들면, 예전 데이터, 즉, 업데이트 되지 않은 데이터)를 메모리(200)의 미리 정한 주소에 플러싱할 수 있다.The first processor 410 may flush the data stored in the cache 420 (e.g., old data, i.e., un-updated data) to a predetermined address in the memory 200. [

구체적으로, 제1 프로세서(410)는 캐시(420)를 플러싱하는 동작 이외에도 캐시(420)로 리드 또는 라이트 동작을 수행할 수 있다. 또한 제1 프로세서(410)는 제2 프로세서(430)로 전송 파라미터(DP)와 관련된 정보 및 캐시(420)의 플러싱과 관련된 정보를 제공할 수 있다. In particular, the first processor 410 may perform a read or write operation to the cache 420 in addition to flushing the cache 420. [ The first processor 410 may also provide information related to the flushing of the cache 420 and information related to the transmission parameters DP to the second processor 430.

여기에서, 제1 프로세서(410)는 예를 들어, CPU(Central Processing Unit)를 포함할 수 있고, 메모리(200)는 DRAM을 포함할 수 있는바, 이에 한정되는 것은 아니다. Here, the first processor 410 may include, for example, a CPU (Central Processing Unit), and the memory 200 may include a DRAM, but the present invention is not limited thereto.

캐시(420)는 제1 프로세서(410)에 의해 플러싱될 수 있다.The cache 420 may be flushed by the first processor 410.

구체적으로, 캐시(420)는 제1 프로세서(410)에 의해 메모리(200)의 미리 정한 주소로 플러싱될 수 있다. 또한 캐시(420)는 버스(470)를 통해서 메모리(200)와 연결될 수 있다.Specifically, the cache 420 may be flushed to a predetermined address of the memory 200 by the first processor 410. The cache 420 may also be coupled to the memory 200 via a bus 470.

제2 프로세서(430)는 캐시(420)에 저장된 데이터와 다른 데이터(최신 데이터)를 생성하여 메모리(200)의 미리 정한 주소에 전송할 수 있다. The second processor 430 may generate data (latest data) different from the data stored in the cache 420 and transmit the generated data to a predetermined address of the memory 200.

여기에서, 제2 프로세서(430)는 내부적으로 데이터를 직접 생성하거나 외부 장치(350)로부터 제공받을 수 있다.Here, the second processor 430 internally generates data directly or can be provided from the external device 350. [

버스(470)는 제1 프로세서(410), 제2 프로세서(430), 캐시(420)를 서로 연결시켜줄 뿐만 아니라, 반도체 시스템(400)과 메모리(200)를 연결시킬 수 있다. The bus 470 connects the first processor 410, the second processor 430 and the cache 420 as well as the semiconductor system 400 and the memory 200.

구체적으로, 제1 프로세서(410)가 제2 프로세서(430)로 전송 파라미터(DP)와 관련된 정보 및 캐시(420)의 플러싱과 관련된 정보를 제공하는 것, 캐시(420)가 메모리(200)의 미리 저장된 주소로 플러싱되는 것, 제2 프로세서(430)가 메모리(200)의 미리 저장된 주소로 데이터를 전송하는 것 모두 버스(470)를 통해서 이루어질 수 있다.Specifically, the first processor 410 may provide information relating to the transmission parameters DP and information related to the flushing of the cache 420 to the second processor 430, And the second processor 430 may transfer the data to the pre-stored address of the memory 200 via the bus 470. [0050]

추가적으로, 도 5에서는, 반도체 시스템(400)이 제1 프로세서(410), 캐시(420), 제2 프로세서(430), 버스(470)를 포함하는 것으로 도시되었지만, 이에 한정되는 것은 아니다. 즉, 반도체 시스템(400)은 메모리(200)와 외부 장치(350)도 포함할 수 있다.5, semiconductor system 400 is illustrated as including but not limited to a first processor 410, a cache 420, a second processor 430, and a bus 470. That is, the semiconductor system 400 may also include the memory 200 and the external device 350.

도 6을 참조하면, 제2 프로세서(430)는 디엠에이 모듈(440)과 버퍼(450)를 포함할 수 있다. 여기에서, 제2 프로세서(430)는 도 2의 반도체 장치(100)일 수 있다. Referring to FIG. 6, the second processor 430 may include a DMA module 440 and a buffer 450. Here, the second processor 430 may be the semiconductor device 100 of FIG.

따라서, 디엠에이 모듈(440)은 메모리(200)에 버스(470)를 통해서 직접 엑세스할 수 있다.Accordingly, the DME module 440 can directly access the memory 200 through the bus 470. [

구체적으로, 디엠에이 모듈(440)은 메모리(200)에 데이터를 전송하기 위한 전송 파라미터(DP)를 설정하고, 전송 파라미터(DP)를 기반으로 메모리(200)에 전송하고자 하는 데이터를 생성하여 버퍼(450)에 저장할 수 있다. 또한 디엠에이 모듈(440)은 버퍼(450)에 저장된 데이터를 메모리(200)의 미리 정한 주소에 전송할 수 있다. 여기에서, 디엠에이 모듈(440)은 메모리(200)에 전송하고자 하는 데이터를 내부적으로 직접 생성하거나 외부 장치(350)로부터 제공받을 수 있다.Specifically, the DMA module 440 sets a transfer parameter DP for transferring data to the memory 200, generates data to be transferred to the memory 200 based on the transfer parameter DP, (450). The DME module 440 may also transmit the data stored in the buffer 450 to a predetermined address of the memory 200. Here, the DME module 440 internally generates data to be transferred to the memory 200 directly or may be provided from the external device 350.

또한 앞서 설명한 바와 같이, 디엠에이 모듈(440)은 설정 유닛(442), 생성 유닛(445), 전송 유닛(447)을 포함할 수 있는바, 이에 대한 구체적인 설명은 생략하도록 한다. Also, as described above, the DME module 440 may include a setting unit 442, a generating unit 445, and a transmitting unit 447, and a detailed description thereof will be omitted.

추가적으로, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(410)에서 제2 프로세서(430)(예를 들면, 제2 프로세서(430)의 설정 유닛(442))으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 보다 구체적으로, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(410)에서 먼저 설정 유닛(442)으로 제공된 후, 설정 유닛(442)에서 전송 유닛(447)으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 즉, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(410)에서 설정 유닛(442)을 거치지 않고 버스(470)를 통해 바로 전송 유닛(447)으로 제공될 수도 있고, 캐시(420)의 플러싱이 시작되면, 캐시(420)는 자체적으로 캐시의 플러싱과 관련된 정보(CI.I)를 생성하여, 버스(470)를 통해 전송 유닛(447)으로 제공할 수도 있다. In addition, information (CI.I) related to flushing the cache is provided to the second processor 430 (e.g., the configuration unit 442 of the second processor 430) But is not limited thereto. More specifically, information (CI.I) relating to flushing of the cache is shown to be provided to the setting unit 442 in the first processor 410 and then to the sending unit 447 in the setting unit 442 However, the present invention is not limited thereto. That is, information (CI.I) related to flushing of the cache may be provided to the transfer unit 447 directly via the bus 470 without passing through the setting unit 442 in the first processor 410, The cache 420 itself may generate information (CI.I) related to the flushing of the cache and provide it to the transfer unit 447 via the bus 470. [

이하에서는, 도 7 및 도 8을 참조하여, 본 발명의 다른 실시예에 따른 반도체 시스템에 대해 설명하도록 한다. 앞서 설명한 실시예들의 내용과 중복되는 내용은 생략하도록 한다. Hereinafter, a semiconductor system according to another embodiment of the present invention will be described with reference to FIGS. 7 and 8. FIG. The contents overlapping with those of the above-described embodiments will be omitted.

도 7은 본 발명의 다른 실시예에 따른 반도체 시스템을 설명하는 블록도이다. 도 8은 도 7의 제2 및 제3 프로세서를 설명하기 위한 블록도이다.7 is a block diagram illustrating a semiconductor system according to another embodiment of the present invention. 8 is a block diagram illustrating the second and third processors of FIG.

도 7을 참조하면, 본 발명의 다른 실시예에 따른 반도체 시스템(500)은 제1 프로세서(510), 캐시(520), 제2 프로세서(530), 제3 프로세서(580), 버스(595)를 포함할 수 있다.7, a semiconductor system 500 according to another embodiment of the present invention includes a first processor 510, a cache 520, a second processor 530, a third processor 580, a bus 595, . ≪ / RTI >

제1 프로세서(510)는 캐시(520)에 저장된 데이터(예를 들면, 예전 데이터, 즉, 업데이트 되지 않은 데이터)를 메모리(200)의 미리 정한 주소에 플러싱할 수 있다.The first processor 510 may flush the data stored in the cache 520 (e.g., old data, i.e., un-updated data) to a predetermined address in the memory 200. [

구체적으로, 제1 프로세서(510)는 캐시(520)를 플러싱하는 동작 이외에도 캐시(520)로 리드 또는 라이트 동작을 수행할 수 있다. 또한 제1 프로세서(510)는 제2 프로세서(530)로 전송 파라미터(DP)와 관련된 정보 및 캐시(520)의 플러싱과 관련된 정보를 제공할 수 있다. Specifically, the first processor 510 may perform a read or write operation to the cache 520 in addition to flushing the cache 520. [ The first processor 510 may also provide information related to the flushing of the cache 520 and information related to the transmission parameters DP to the second processor 530.

여기에서, 제1 프로세서(510)는 예를 들어, CPU(Central Processing Unit)를 포함할 수 있고, 메모리(200)는 DRAM을 포함할 수 있는바, 이에 한정되는 것은 아니다. Herein, the first processor 510 may include, for example, a CPU (Central Processing Unit), and the memory 200 may include a DRAM, but the present invention is not limited thereto.

캐시(520)는 제1 프로세서(510)에 의해 플러싱될 수 있다.The cache 520 may be flushed by the first processor 510.

구체적으로, 캐시(520)는 제1 프로세서(510)에 의해 메모리(200)의 미리 정한 주소로 플러싱될 수 있다. 또한 캐시(520)는 버스(595)를 통해서 메모리(200)와 연결될 수 있다.Specifically, the cache 520 may be flushed to a predetermined address of the memory 200 by the first processor 510. The cache 520 may also be coupled to the memory 200 via a bus 595.

제2 프로세서(530)는 캐시(520)에 저장된 데이터와 다른 데이터(최신 데이터)를 메모리(200)의 미리 정한 주소에 전송할 수 있다. The second processor 530 may transmit data stored in the cache 520 and other data (latest data) to a predetermined address in the memory 200. [

여기에서, 제2 프로세서(530)는 제3 프로세서(580)에 저장된 데이터를 제공받아(즉, 리드하여) 메모리(200)에 전송할 수 있다. Here, the second processor 530 may receive (i.e., read) the data stored in the third processor 580 and transmit the data to the memory 200. [

제3 프로세서(580)는 외부 장치(350)로부터 메모리(200)에 전송하고자 하는 데이터를 제공받아 저장할 수 있다. The third processor 580 can receive data to be transferred from the external device 350 to the memory 200 and store the received data.

버스(595)는 제1 프로세서(510), 제2 프로세서(530), 제3 프로세서(580), 캐시(520)를 서로 연결시켜줄 뿐만 아니라, 반도체 시스템(500)과 메모리(200)를 연결시킬 수 있다. The bus 595 connects the first processor 510, the second processor 530, the third processor 580 and the cache 520 as well as connects the semiconductor system 500 and the memory 200 .

구체적으로, 제1 프로세서(510)가 제2 프로세서(530)로 전송 파라미터(DP)와 관련된 정보 및 캐시(520)의 플러싱과 관련된 정보를 제공하는 것, 제2 프로세서(510)가 제3 프로세서(580)로 전송 파라미터(DP)를 제공하는 것, 제2 프로세서(530)가 제3 프로세서(580)에 저장된 데이터를 제공받는 것, 캐시(520)가 메모리(200)의 미리 저장된 주소로 플러싱되는 것, 제2 프로세서(530)가 메모리(200)의 미리 저장된 주소로 데이터를 전송하는 것 모두 버스(595)를 통해서 이루어질 수 있다.Specifically, the first processor 510 provides the second processor 530 with information relating to the transmission parameters DP and information relating to the flushing of the cache 520, the second processor 510 providing information relating to the flushing of the cache 520, The second processor 530 is provided with data stored in the third processor 580; the cache 520 is flushed to a pre-stored address of the memory 200; And the second processor 530 transfers data to the pre-stored address of the memory 200 via the bus 595. [

도 8을 참조하면, 제2 프로세서(530)는 디엠에이 모듈(540)과 제1 버퍼(560)를 포함할 수 있다. Referring to FIG. 8, the second processor 530 may include a DMA module 540 and a first buffer 560.

구체적으로, 디엠에이 모듈(540)은 설정 유닛(542), 생성 유닛(545), 전송 유닛(547)을 포함할 수 있다. Specifically, the DME module 540 may include a setting unit 542, a generating unit 545, and a transmitting unit 547. [

설정 유닛(542)은 메모리(200)에 제1 데이터를 라이트하기 위한 전송 파라미터(DP)를 설정할 수 있다.The setting unit 542 can set the transfer parameter DP for writing the first data in the memory 200. [

구체적으로, 설정 유닛(542)은 제1 프로세서(510)로부터 버스(595)를 통해 전송 파라미터(DP)와 관련된 정보를 제공받아, 전송 파라미터(DP)를 설정할 수 있다. 여기에서 전송 파라미터(DP)는 예를 들어, 메모리(200)로 전송하고자 하는 제1 데이터의 크기, 메모리(200)로 전송하고자 하는 제1 데이터가 저장된 제1 버퍼(560)의 주소, 메모리(200)로 전송하고자 하는 제1 데이터가 저장된 제2 버퍼(590)의 주소, 제1 데이터를 전송하고자 하는 메모리(200)의 미리 정한 주소를 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한 제1 데이터는 메모리(200)에 전송하고자하는 최신 데이터를 포함할 수 있다.Specifically, the setting unit 542 can receive the information related to the transmission parameter DP from the first processor 510 via the bus 595, and set the transmission parameter DP. Here, the transmission parameter DP includes, for example, the size of the first data to be transmitted to the memory 200, the address of the first buffer 560 storing the first data to be transmitted to the memory 200, The address of the second buffer 590 storing the first data to be transmitted to the first memory 200, and the predetermined address of the memory 200 to which the first data is to be transmitted, but the present invention is not limited thereto. In addition, the first data may include the latest data to be transmitted to the memory 200.

설정 유닛(542)은 제1 프로세서(510)로부터 버스(595)를 통해 전송 파라미터(DP)와 관련된 정보뿐만 아니라 캐시의 무효화(이하에서는, 플러싱이라고 함)와 관련된 정보(CI.I)도 제공받을 수 있으며, 제공받은 캐시의 플러싱과 관련된 정보(CI.I)를 기반으로 전송 파라미터(DP)의 설정 동작을 시작할 수 있다. 즉, 전송 파라미터(DP)는 제1 프로세서(510)로부터 제공받은 전송 파라미터(DP)와 관련된 정보를 기반으로 설정되고, 이러한 설정 동작의 시작 시점은 제1 프로세서(510)로부터 제공받은 캐시의 플러싱과 관련된 정보(CI.I)를 기반으로 결정될 수 있다.The setting unit 542 also provides information (CI.I) related to invalidation of the cache (hereinafter referred to as flushing) as well as information related to the transmission parameter DP from the first processor 510 via the bus 595 And can start the setting operation of the transmission parameter DP based on the information (CI.I) related to the flushing of the provided cache. That is, the transmission parameter DP is set based on the information related to the transmission parameter DP provided from the first processor 510, and the starting point of the setting operation is the flushing of the cache provided from the first processor 510 RTI ID = 0.0 > (CI. I) < / RTI >

여기에서, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(510)에서 제2 프로세서(530)(예를 들면, 제2 프로세서(530)의 설정 유닛(542))으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 보다 구체적으로, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(510)에서 먼저 설정 유닛(542)으로 제공된 후, 설정 유닛(542)에서 전송 유닛(547)으로 제공되는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다. 즉, 캐시의 플러싱과 관련된 정보(CI.I)는 제1 프로세서(510)에서 설정 유닛(542)을 거치지 않고 버스(595)를 통해 바로 전송 유닛(547)으로 제공될 수도 있고, 캐시(520)의 플러싱이 시작되면, 캐시(520)는 자체적으로 캐시의 플러싱과 관련된 정보(CI.I)를 생성하여, 버스(595)를 통해 전송 유닛(547)으로 제공할 수도 있다. 다만, 설명의 편의를 위해 제1 프로세서(510)로부터 설정 유닛(542)으로 캐시의 플러싱과 관련된 정보(CI.I)가 제공되는 것을 예로 들어 설명하도록 한다.Herein, the information (CI.I) related to the flushing of the cache is provided from the first processor 510 to the second processor 530 (for example, the setting unit 542 of the second processor 530) But is not limited thereto. More specifically, information (CI.I) relating to flushing of the cache is shown to be provided to the setting unit 542 in the first processor 510 and then to the sending unit 547 in the setting unit 542 However, the present invention is not limited thereto. That is, information (CI.I) relating to flushing of the cache may be provided to the transfer unit 547 directly via the bus 595, without the setting unit 542 at the first processor 510, The cache 520 may itself generate information (CI.I) relating to flushing of the cache and provide it to the transfer unit 547 via the bus 595. [ However, for convenience of explanation, it is assumed that information (CI.I) related to the flushing of the cache is provided from the first processor 510 to the setting unit 542. [

설정 유닛(542)이 전송 파라미터(DP)를 설정하는 것은, 제1 프로세서(510)가 캐시(520)에 저장된 제2 데이터를 메모리(200)의 미리 정한 주소에 플러싱하는 동안 수행될 수 있다. 여기에서, 제2 데이터는 예전 데이터(즉, 업데이트 되지 않은 데이터)로써, 최신 데이터인 제1 데이터와 다른 데이터일 수 있다. The setting unit 542 may set the transmission parameter DP while the first processor 510 flushes the second data stored in the cache 520 to a predetermined address of the memory 200. [ Here, the second data may be old data (i.e., un-updated data), and may be data different from the first data which is the latest data.

설정 유닛(542)은 설정된 전송 파라미터(DP)를 생성 유닛(545)과 전송 유닛(547)으로 제공할 수 있다. 또한 설정 유닛(542)은 캐시의 플러싱과 관련된 정보(CI.I)를 전송 유닛(547)에 제공할 수 있다. The setting unit 542 can provide the set transmission parameters DP to the generating unit 545 and the transmitting unit 547. [ The setting unit 542 may also provide to the transfer unit 547 information (CI.I) relating to the flushing of the cache.

생성 유닛(545)은 설정된 전송 파라미터(DP)를 기반으로 메모리(200)로 전송할 제1 데이터를 생성할 수 있다.The generating unit 545 may generate first data to be transmitted to the memory 200 based on the set transmission parameters DP.

구체적으로, 생성 유닛(545)은 설정 유닛(542)으로부터 전송 파라미터(DP)를 제공받을 수 있고, 전송 파라미터(DP)를 기반으로 제3 프로세서(580)의 제2 버퍼(590)에 저장된 제1 데이터를 제공받을 수 있다. 또한 생성 유닛(545)이 제1 데이터를 제공받는 것은 캐시(520)가 플러싱되는 구간 동안 수행될 수 있다. More specifically, the generation unit 545 can receive the transmission parameter DP from the setting unit 542, and can generate the transmission parameter DP based on the transmission parameter DP stored in the second buffer 590 of the third processor 580 1 data can be provided. Also, the receiving unit 545 may be provided with the first data for a period during which the cache 520 is flushed.

여기에서, 생성 유닛(545)은 제3 프로세서(580)의 제2 버퍼(590)로부터 버스(595)를 통해 데이터를 제공받거나 내부적으로 직접 데이터를 생성할 수 있다. Here, the generating unit 545 may receive data from the second buffer 590 of the third processor 580 via the bus 595, or may internally generate data directly.

또한, 생성 유닛(545)은 제1 데이터를 전송 파라미터(DP)에서 가리키는 제1 버퍼(560)의 주소에 저장할 수 있다.The generating unit 545 may also store the first data at the address of the first buffer 560 pointed to by the transmission parameter DP.

전송 유닛(547)은 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 라이트할 수 있다.The transmission unit 547 can write the first data to a predetermined address of the memory 200 based on the transmission parameter DP.

구체적으로, 전송 유닛(547)은 설정 유닛(542)으로부터 전송 파라미터(DP)를 제공받을 수 있고, 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 전송할 수 있다. 여기에서, 전송 유닛(547)은 제1 버퍼(560)에 저장된 제1 데이터를 메모리(200)로 전송할 수 있다.Specifically, the transmission unit 547 can receive the transmission parameter DP from the setting unit 542 and can transmit the first data to the predetermined address of the memory 200 based on the transmission parameter DP . Here, the transfer unit 547 may transfer the first data stored in the first buffer 560 to the memory 200. [

즉, 전송 유닛(547)은 전송 파라미터(DP)에서 가리키는 제1 버퍼(560)의 주소에 저장된 제1 데이터를 리드하여, 전송 파라미터(DP)에서 가리키는 메모리(200)의 미리 정한 주소로 제1 데이터를 전송(라이트)할 수 있다.That is, the transfer unit 547 reads the first data stored in the address of the first buffer 560 indicated by the transfer parameter DP and transfers the first data to the predetermined address of the memory 200 indicated by the transfer parameter DP Data can be transmitted (written).

전송 유닛(547)이 메모리(200)의 미리 정한 주소에 제1 데이터를 전송하는 것은, 캐시(520)의 플러싱이 완료된 후 수행될 수 있다. The transmission unit 547 may transmit the first data to the predetermined address of the memory 200 after the flushing of the cache 520 is completed.

또한 전송 유닛(547)은 설정 유닛(542)으로부터 캐시(520)의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(520)의 플러싱이 시작된다는 정보)를 제공받아 캐시(520)가 플러싱되는 구간 동안 비활성화될 수 있다. 여기에서, 전송 유닛(547)이 비활성화되는 시점은 캐시(520)의 플러싱이 시작되기 전 또는 시작과 동시 또는 시작된 후 모두 가능하다. The transfer unit 547 also receives information (CI.I) related to the flushing of the cache 520 from the setting unit 542 (e.g., information indicating that the flushing of the cache 520 starts) Lt; / RTI > may be deactivated during the period in which it is flushed. Here, the point in time at which the transfer unit 547 is deactivated is possible before or simultaneously with the start of flushing of the cache 520, or both.

캐시(520)의 플러싱이 완료된 후에, 전송 유닛(547)은 설정 유닛(542)으로부터 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(520)의 플러싱이 완료되었다는 정보)를 제공받아 활성화될 수 있다. After the flushing of the cache 520 is completed, the transfer unit 547 sends information (CI.I) related to the flushing of the cache (e.g., information indicating that flushing of the cache 520 is completed) to the setting unit 542 And can be activated.

전송 유닛(547)은 메모리(200)로 리드 또는 라이트 동작을 수행할 수 있다. 앞서 설명한 바와 같이, 전송 유닛(547)은 제1 데이터를 메모리(200)의 미리 정한 주소로 전송할 수 있다고 하였는바, 전송 유닛(547)은 이와 같은 라이트 동작 이외에 메모리(200)로 데이터를 리드하는 동작도 수행할 수 있다.The transfer unit 547 can perform a read or write operation to the memory 200. [ As described above, the transfer unit 547 is capable of transferring the first data to a predetermined address of the memory 200, and the transfer unit 547 reads data to the memory 200 in addition to the write operation Operation can also be performed.

제3 프로세서(580)는 제2 버퍼(590)를 포함할 수 있다.The third processor 580 may include a second buffer 590.

구체적으로, 제3 프로세서(580)는 제1 데이터를 생성하여 제2 버퍼(590)에 저장할 수 있다. 즉, 제3 프로세서(580)는 설정 유닛(542)으로부터 전송 파라미터를 제공받을 수 있고, 제공받은 전송 파라미터를 기반으로 외부 장치(350)로부터 제1 데이터를 제공받거나 내부적으로 제1 데이터를 생성할 수 있다.Specifically, the third processor 580 may generate and store the first data in the second buffer 590. That is, the third processor 580 can receive the transmission parameter from the setting unit 542, receive the first data from the external device 350 based on the received transmission parameter, or internally generate the first data .

즉, 도 8에 도시된 반도체 시스템(500)은, 도 6에 도시된 반도체 시스템(400)과 달리, 외부 장치(350)로부터 데이터를 제공받는 프로세서(즉, 제3 프로세서(580))와 외부 장치(350)로부터 제공받은 데이터를 메모리(200)로 전송하는 프로세서(즉, 제2 프로세서(530))가 별개로 존재한다는 것을 알 수 있다. That is, the semiconductor system 500 shown in FIG. 8 differs from the semiconductor system 400 shown in FIG. 6 in that a processor (that is, a third processor 580) receiving data from the external device 350 and a processor It can be seen that there is a separate processor (i.e., the second processor 530) that transfers the data provided from the device 350 to the memory 200. [

또한 도 6 및 도 8에 도시된 반도체 시스템들(400, 500)은 메모리(200)와 함께 하나의 시스템으로 집적될 수 있다. 예시적으로, 반도체 시스템(400 또는 500) 및 메모리(200)는 하나의 시스템으로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 반도체 시스템(400 또는 500) 및 메모리(200)는 하나의 시스템으로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다. 뿐만 아니라 반도체 시스템(400 또는 500) 및 메모리(200)는 하나의 시스템으로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. The semiconductor systems 400 and 500 shown in FIGS. 6 and 8 may also be integrated together with the memory 200 into one system. Illustratively, semiconductor system 400 or 500 and memory 200 may be integrated into one system to form a memory card. For example, the semiconductor system 400 or 500 and the memory 200 may be integrated into a single system and may be a PC card (PCMCIA), a compact flash card (CF), a smart media card (SM, SMC ), A memory stick, a multimedia card (MMC, RS-MMC, MMCmicro), an SD card (SD, miniSD, microSD, SDHC), and a universal flash memory device (UFS). In addition, the semiconductor system 400 or 500 and the memory 200 may be integrated into a single system to form a solid state drive (SSD).

또한 도 9를 참조하면, 본 발명의 다른 실시예에 따른 반도체 시스템(500)은 제1 프로세서(510), 캐시(520), 제2 프로세서(530), 제3 프로세서(580)를 포함하며, 이들은 하나의 시스템 온 칩(System on Chip)(600)으로 구현될 수도 있고, 이들 각 요소들은 시스템 온 칩 내의 내부 버스, 예컨대 AXI(AMBA Advanced eXtensible Interface) 프로토콜에 따르는 버스를 통해 상호 연결될 수 있다. 또한, 본 발명의 몇몇의 실시예에서. 상기 시스템 온 칩은 단말기에 탑재되는 어플리케이션 프로세서(Application Processor)로 구현될 수 있다. 본 발명의 몇몇의 실시예에서, 상기 시스템 온 칩은 메모리(200)와 외부 장치(350)도 포함하도록 구현될 수 있다.9, a semiconductor system 500 according to another embodiment of the present invention includes a first processor 510, a cache 520, a second processor 530, and a third processor 580, These may be implemented as a single System on Chip 600, and each of these elements may be interconnected via an internal bus in the system-on-chip, e.g., a bus conforming to the AXI Advanced Extensible Interface (AXI) protocol. Also in some embodiments of the invention. The system-on-chip may be implemented as an application processor installed in the terminal. In some embodiments of the present invention, the system-on-chip may be implemented to include memory 200 and external device 350 as well.

물론 도 7의 반도체 시스템(500) 뿐만 아니라 도 5의 반도체 시스템(400) 역시 시스템 온 칩으로 구현될 수 있으며, 이에 대한 구체적인 설명은 생략하도록 한다. Of course, not only the semiconductor system 500 of FIG. 7 but also the semiconductor system 400 of FIG. 5 may be implemented as a system-on-chip, and a detailed description thereof will be omitted.

추가적으로, 반도체 시스템(400 또는 500)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 반도체 시스템(400 또는 500)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.도 10 내지 도 12는 본 발명의 몇몇 실시예에 따른 반도체 시스템을 적용할 수 있는 예시적인 전자 시스템들이다. Additionally, the semiconductor system 400 or 500 may be implemented in various types of packages. For example, the semiconductor system 400 or 500 may include a package on package (PoP), ball grid arrays (BGAs), chip scale packages (CSPs), plastic leaded chip carriers (PLCC) Die in Waffle Pack, Die in Wafer Form, Chip On Board (COB), Ceramic Dual In Line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flatpack (TQFP) (SSOP), Thin Small Outline (TSOP), Thin Quad Flatpack (TQFP), System In Package (SIP), Multi Chip Package (MCP), Wafer-level Fabricated Package WSP), etc. Figures 10-12 are exemplary electronic systems to which a semiconductor system according to some embodiments of the present invention may be applied.

도 10는 태블릿 PC(1200)을 도시한 도면이고, 도 11은 노트북(1300)을 도시한 도면이며, 도 12은 스마트폰(1400)을 도시한 것이다. 본 발명의 몇몇 실시예에 따른 반도체 시스템(400, 500)은 이러한 태블릿 PC(1200), 노트북(1300), 스마트폰(1400) 등에 사용될 수 있다. Fig. 10 shows a tablet PC 1200, Fig. 11 shows a notebook 1300, and Fig. 12 shows a smartphone 1400. Fig. Semiconductor systems 400, 500 in accordance with some embodiments of the present invention may be used with such tablet PC 1200, notebook 1300, smartphone 1400, and the like.

또한, 본 발명의 몇몇 실시예에 따른 반도체 시스템(400, 500)은 예시하지 않는 다른 집적 회로 장치에도 적용될 수 있음은 당업자에게 자명하다. 즉, 이상에서는 본 실시예에 따른 전자 시스템의 예로, 태블릿 PC(1200), 노트북(1300), 및 스마트폰(1400)만을 들었으나, 본 실시예에 따른 전자 시스템의 예가 이에 제한되는 것은 아니다. 본 발명의 몇몇 실시예에서, 전자 시스템은, 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 무선 전화기(wireless phone), 모바일 폰(mobile phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player) 등으로 구현될 수도 있다.It is also apparent to those skilled in the art that the semiconductor system 400, 500 according to some embodiments of the present invention may also be applied to other integrated circuit devices not illustrated. That is, although only the tablet PC 1200, the notebook computer 1300, and the smartphone 1400 are described as examples of the electronic system according to the present embodiment, the electronic system according to the present embodiment is not limited thereto. In some embodiments of the invention, the electronic system may be a computer, an Ultra Mobile PC (UMPC), a workstation, a netbook, a Personal Digital Assistant (PDA), a portable computer, a wireless phone, A mobile phone, an e-book, a portable multimedia player (PMP), a portable game machine, a navigation device, a black box, a digital camera, A digital audio recorder, a digital audio recorder, a digital picture recorder, a digital picture player, a digital video recorder, ), A digital video player, or the like.

이하에서는, 도 13 및 도 14을 참조하여, 도 1의 반도체 장치의 동작 방법을 설명하도록 한다. 앞서 설명한 도 1의 내용과 중복되는 내용은 생략하도록 한다.Hereinafter, an operation method of the semiconductor device of FIG. 1 will be described with reference to FIG. 13 and FIG. The contents overlapping with those of FIG. 1 described above will be omitted.

도 13 및 도 14은 도 1의 반도체 장치의 동작 방법을 설명하는 도면들이다.13 and 14 are views for explaining a method of operating the semiconductor device of FIG.

도 2, 도 13, 도 14을 참조하면, 먼저, 전송 파라미터와 관련된 정보(DP.I) 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공한다(S100).Referring to FIGS. 2, 13 and 14, information (DP.I) related to transmission parameters and information (CI.I) related to flushing of a cache are provided (SlOO).

구체적으로, 설정 유닛(115)은 프로세서(250)로부터 전송 파라미터와 관련된 정보(DP.I) 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공받을 수 있다. Specifically, the setting unit 115 may be provided with information (DP.I) related to transmission parameters and information (CI.I) related to flushing of the cache from the processor 250.

캐시(300)의 플러싱 시작 신호를 제공한다(S105).And provides a flushing start signal of the cache 300 (S105).

구체적으로, 프로세서(250)는 캐시(300)에 플러싱 시작 신호를 제공할 수 있다. Specifically, the processor 250 may provide a flushing start signal to the cache 300.

디엠에이 모듈(110)의 데이터 전송 동작이 비활성화된다(S107).The data transfer operation of the DMA module 110 is inactivated (S107).

구체적으로, 설정 유닛(115)은 캐시의 플러싱과 관련된 정보(CI.I)를 전송 유닛(125)으로 제공할 수 있다. 또한 전송 유닛(125)은 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(300)의 플러싱이 시작된다는 정보)를 제공받아 비활성화될 수 있다.Specifically, the setting unit 115 may provide the transfer unit 125 with information (CI.I) related to the flushing of the cache. Also, the transfer unit 125 may be deactivated by receiving information (CI.I) associated with flushing of the cache (e.g., information indicating that flushing of the cache 300 is to begin).

캐시(300)의 플러싱이 시작된다(S110).Flushing of the cache 300 is started (S110).

구체적으로, 캐시(300)에 저장된 제2 데이터(예전 데이터, 즉, 업데이트 되지 않은 데이터)는 메모리(200)의 미리 정한 주소로 플러싱될 수 있다. In particular, the second data (old data, i.e., un-updated data) stored in the cache 300 may be flushed to a predetermined address of the memory 200. [

본 발명에서, S100, S105, S107, S110가 순차적으로 발생하는 것으로 도시하였지만, 이에 한정되는 것은 아니다. 즉, 프로세서(250)는 캐시(300)에 플러싱 시작 신호를 제공한 후(S105), 설정 유닛(115)으로 전송 파라미터와 관련된 정보(DP.I) 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공(S100)할 수도 있다.In the present invention, S100, S105, S107, and S110 are sequentially generated, but the present invention is not limited thereto. That is, the processor 250 provides the flushing start signal to the cache 300 (S105), and then transmits to the setting unit 115 information (DP.I) related to the transmission parameter and information (CI.I (S100).

따라서, 전송 유닛(125)이 비활성화되는 시점(S107)은 캐시(300)의 플러싱이 시작되는 시점(S110)보다 이전일 수도 있고, 동시일 수도 있으며, 이후일 수도 있다.Thus, the point in time at which the transfer unit 125 is deactivated (S107) may be before, at the same time, or after the point in time at which the flushing of the cache 300 starts (S110).

캐시(300)의 플러싱이 시작된 후, 설정 유닛(115)은 프로세서(250)로부터 제공받은 전송 파라미터와 관련된 정보(DP.I)를 토대로 전송 파라미터(DP)를 설정할 수 있다. 또한 설정 유닛(115)은 전송 파라미터(DP)를 설정하여 생성 유닛(120)으로 제공할 수 있다(S113).After the flushing of the cache 300 is started, the setting unit 115 can set the transmission parameter DP based on the information DP.I related to the transmission parameter provided from the processor 250. [ The setting unit 115 may set the transmission parameter DP and provide it to the generating unit 120 (S113).

데이터를 생성한다(S115).Data is generated (S115).

구체적으로, 생성 유닛(120)은 제공받은 전송 파라미터(DP)를 기반으로 제1 데이터(즉, 메모리(200)의 미리 정한 주소에 전송하고자 하는 최신 데이터)를 생성할 수 있다. 생성 유닛(120)은 내부적으로 직접 제1 데이터를 생성하거나 외부 장치(350)로부터 제1 데이터를 제공받을 수 있다. Specifically, the generating unit 120 may generate the first data (i.e., the latest data to be transmitted to a predetermined address of the memory 200) based on the supplied transmission parameters DP. The generating unit 120 may directly generate the first data internally or may receive the first data from the external device 350. [

버퍼(160)에 데이터를 저장한다(S117).The data is stored in the buffer 160 (S117).

구체적으로, 생성 유닛(120)은 전송 파라미터(DP)가 가리키는 버퍼(160)의 주소에 제1 데이터를 저장할 수 있다. Specifically, the generating unit 120 may store the first data at the address of the buffer 160 indicated by the transmission parameter DP.

프로세서(250)는 캐시(300)의 플러싱이 종료되면(S120), 설정 유닛(115)으로 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(300)의 플러싱이 완료되었다는 정보)를 제공할 수 있다. 그러나, 캐시(300)의 플러싱이 종료되지 않았다면, 전송 유닛(125)의 비활성화 상태가 유지될 수 있다(즉, 디엠에이 모듈의 데이터 전송 동작 비활성화 상태 유지)(S122).The processor 250 determines whether information (CI.I) related to flushing of the cache (e.g., information indicating that the flushing of the cache 300 is complete) to the setting unit 115 ). ≪ / RTI > However, if the flushing of the cache 300 has not ended, the deactivation state of the transfer unit 125 can be maintained (i.e., the data transfer operation of the DMA module is deactivated) (S122).

디엠에이 모듈(110)의 데이터 전송 동작이 활성화된다(S125).The data transfer operation of the DMA module 110 is activated (S125).

구체적으로, 설정 유닛(115)은 프로세서(250)로부터 캐시(300)의 플러싱이 완료되었다는 정보를 제공받으면, 이를 전송 유닛(125)으로 제공할 수 있다.Specifically, when the setting unit 115 is informed from the processor 250 that the flushing of the cache 300 is completed, the setting unit 115 can provide the information to the transfer unit 125. [

전송 유닛(125)은 캐시(300)의 플러싱이 완료되었다는 정보를 제공받고, 활성화될 수 있다. The transmission unit 125 is informed that the flushing of the cache 300 is completed, and can be activated.

버퍼(160)에 저장된 데이터를 리드한다(S127).The data stored in the buffer 160 is read (S127).

구체적으로, 전송 유닛(125)은 전송 파라미터(DP)를 기반으로 버퍼(160)에 저장된 제1 데이터를 리드할 수 있다.Specifically, the transmission unit 125 can read the first data stored in the buffer 160 based on the transmission parameter DP.

메모리(200)로 데이터를 전송한다(S130).Data is transmitted to the memory 200 (S130).

구체적으로, 전송 유닛(125)은 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 전송할 수 있다.Specifically, the transmission unit 125 may transmit the first data to a predetermined address of the memory 200 based on the transmission parameter DP.

이하에서는, 도 15 및 도 16를 참조하여, 도 5의 반도체 시스템의 동작 방법을 설명하도록 한다. 앞서 설명한 도 5의 내용과 중복되는 내용은 생략하도록 한다.Hereinafter, an operation method of the semiconductor system of Fig. 5 will be described with reference to Figs. 15 and 16. Fig. The contents overlapping with those of FIG. 5 described above will be omitted.

도 15 및 도 16는 도 5의 반도체 시스템의 동작 방법을 설명하는 도면들이다.FIGS. 15 and 16 are diagrams illustrating a method of operating the semiconductor system of FIG.

도 6, 도 15, 도 16를 참조하면, 먼저, 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공한다(S200).Referring to FIGS. 6, 15, and 16, information related to a transmission parameter and information (CI.I) related to flushing of a cache are provided (S200).

구체적으로, 제2 프로세서(430)의 디엠에이 모듈(440)에 포함된 설정 유닛(442)은 제1 프로세서(410)로부터 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공받을 수 있다. Specifically, the configuration unit 442 included in the DMA module 440 of the second processor 430 receives from the first processor 410 information relating to transmission parameters and information (CI.I) relating to flushing of the cache Can be provided.

캐시(420)의 플러싱 시작 신호를 제공한다(S205).And provides a flushing start signal of the cache 420 (S205).

구체적으로, 제1 프로세서(410)는 캐시에 무효화(즉, 플러싱) 시작 신호를 제공할 수 있다. Specifically, the first processor 410 may provide an invalidation (i.e., flush) start signal to the cache.

디엠에이 모듈(440)의 데이터 전송 동작이 비활성화된다(S207).The data transfer operation of the DMA module 440 is inactivated (S207).

구체적으로, 설정 유닛(442)은 캐시의 플러싱과 관련된 정보(CI.I)를 전송 유닛(447)으로 제공할 수 있다. 또한 전송 유닛(447)은 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(420)의 플러싱이 시작된다는 정보)를 제공받아 비활성화될 수 있다.Specifically, the setting unit 442 can provide the transfer unit 447 with information (CI.I) related to the flushing of the cache. The transfer unit 447 may also be deactivated by receiving information (CI.I) associated with flushing of the cache (e.g., information indicating that flushing of the cache 420 is to begin).

캐시(420)의 플러싱이 시작된다(S210).Flushing of the cache 420 is started (S210).

구체적으로, 캐시(420)에 저장된 제2 데이터(예전 데이터, 즉, 업데이트 되지 않은 데이터)는 메모리(200)의 미리 정한 주소로 플러싱될 수 있다. In particular, the second data (old data, i.e., un-updated data) stored in the cache 420 may be flushed to a predetermined address of the memory 200. [

본 발명에서, S200, S205, S207, S210가 순차적으로 발생하는 것으로 도시하였지만, 이에 한정되는 것은 아니다. 즉, 제1 프로세서(410)는 캐시(420)에 플러싱 시작 신호를 제공한 후(S205), 설정 유닛(442)으로 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공(S200)할 수도 있다.In the present invention, S200, S205, S207, and S210 are sequentially generated, but the present invention is not limited thereto. That is, after the first processor 410 provides the flushing start signal to the cache 420 (S205), the first processor 410 provides the setting unit 442 with information related to transmission parameters and information (CI.I) related to flushing of the cache (S200).

따라서, 전송 유닛(447)이 비활성화되는 시점(S207)은 캐시(420)의 플러싱이 시작되는 시점(S210)보다 이전일 수도 있고, 동시일 수도 있으며, 이후일 수도 있다.Thus, the point in time at which the transfer unit 447 is deactivated (S207) may be earlier, at the same time, or later than the point in time at which the flushing of the cache 420 starts (S210).

캐시(420)의 플러싱이 시작된 후, 설정 유닛(442)은 제1 프로세서(410)로부터 제공받은 전송 파라미터와 관련된 정보를 토대로 전송 파라미터(DP)를 설정할 수 있다. 또한 설정 유닛(442)은 전송 파라미터(DP)를 설정하여 생성 유닛(445)으로 제공할 수 있다(S213).After the flushing of the cache 420 is started, the setting unit 442 can set the transmission parameter DP based on the information related to the transmission parameter provided from the first processor 410. [ The setting unit 442 may set the transmission parameter DP and provide it to the generating unit 445 (S213).

데이터를 생성한다(S215).Data is generated (S215).

구체적으로, 생성 유닛(445)은 제공받은 전송 파라미터(DP)를 기반으로 제1 데이터(즉, 메모리(200)의 미리 정한 주소에 전송하고자 하는 최신 데이터)를 생성할 수 있다. 생성 유닛(445)은 내부적으로 직접 제1 데이터를 생성하거나 외부 장치(350)로부터 제1 데이터를 제공받을 수 있다. Specifically, the generating unit 445 may generate the first data (i.e., the latest data to be transmitted to the predetermined address of the memory 200) based on the supplied transmission parameters DP. The generating unit 445 may directly generate the first data internally or may receive the first data from the external device 350.

버퍼(450)에 데이터를 저장한다(S217).The data is stored in the buffer 450 (S217).

구체적으로, 생성 유닛(445)은 전송 파라미터(DP)가 가리키는 버퍼(450)의 주소에 제1 데이터를 저장할 수 있다. Specifically, the generating unit 445 may store the first data at the address of the buffer 450 indicated by the transmission parameter DP.

제1 프로세서(410)는 캐시(420)의 플러싱이 종료되면(S220), 설정 유닛(442)으로 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(420)의 플러싱이 완료되었다는 정보)를 제공할 수 있다. 그러나, 캐시(420)의 플러싱이 종료되지 않았다면, 전송 유닛(447)의 비활성화 상태가 유지될 수 있다(즉, 디엠에이 모듈의 데이터 전송 동작 비활성화 상태 유지)(S222).When the flushing of the cache 420 is terminated (S220), the first processor 410 determines whether information (CI.I) related to the flushing of the cache (e.g., flushing of the cache 420) Quot;). ≪ / RTI > However, if the flushing of the cache 420 has not ended, the deactivation state of the transfer unit 447 can be maintained (i.e., the data transfer operation inactivated state of the DMA module) (S222).

디엠에이 모듈(440)의 데이터 전송 동작이 활성화된다(S225).The data transfer operation of the DMA module 440 is activated (S225).

구체적으로, 설정 유닛(442)은 제1 프로세서(410)로부터 캐시(420)의 플러싱이 완료되었다는 정보를 제공받으면, 이를 전송 유닛(447)으로 제공할 수 있다.Specifically, when the setting unit 442 is informed from the first processor 410 that the flushing of the cache 420 is completed, the setting unit 442 can provide the information to the transfer unit 447.

전송 유닛(447)은 캐시(420)의 플러싱이 완료되었다는 정보를 제공받고, 활성화될 수 있다. The transfer unit 447 is informed that the flushing of the cache 420 is completed and can be activated.

버퍼(450)에 저장된 데이터를 리드한다(S227).The data stored in the buffer 450 is read (S227).

구체적으로, 전송 유닛(447)은 전송 파라미터(DP)를 기반으로 버퍼(450)에 저장된 제1 데이터를 리드할 수 있다.Specifically, the transfer unit 447 can read the first data stored in the buffer 450 based on the transfer parameter DP.

메모리(200)로 데이터를 전송한다(S230).And transfers the data to the memory 200 (S230).

구체적으로, 전송 유닛(447)은 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 전송할 수 있다.Specifically, the transmission unit 447 can transmit the first data to the predetermined address of the memory 200 based on the transmission parameter DP.

이하에서는, 도 17 및 도 18을 참조하여, 도 7의 반도체 시스템의 동작 방법을 설명하도록 한다. 앞서 설명한 도 7의 내용과 중복되는 내용은 생략하도록 한다.Hereinafter, an operation method of the semiconductor system of FIG. 7 will be described with reference to FIGS. 17 and 18. FIG. The contents overlapping with those of FIG. 7 described above will be omitted.

도 17 및 도 18은 도 7의 반도체 시스템의 동작 방법을 설명하는 도면들이다.17 and 18 are views for explaining a method of operating the semiconductor system of FIG.

도 7, 도 17, 도 18을 참조하면, 먼저, 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공한다(S300).Referring to FIGS. 7, 17 and 18, information relating to transmission parameters and information (CI.I) related to flushing of the cache are provided (S300).

구체적으로, 제2 프로세서(530)의 디엠에이 모듈(540)에 포함된 설정 유닛(542)은 제1 프로세서(510)로부터 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공받을 수 있다. Specifically, the setting unit 542 included in the DMA module 540 of the second processor 530 receives from the first processor 510 information relating to transmission parameters and information (CI.I) relating to flushing of the cache Can be provided.

캐시(520)의 플러싱 시작 신호를 제공한다(S305).And provides a flushing start signal of the cache 520 (S305).

구체적으로, 제1 프로세서(510)는 캐시에 무효화(즉, 플러싱) 시작 신호를 제공할 수 있다. Specifically, the first processor 510 may provide an invalidation (i.e., flush) start signal to the cache.

디엠에이 모듈(540)의 데이터 전송 동작이 비활성화된다(S307).The data transfer operation of the DMA module 540 is deactivated (S307).

구체적으로, 설정 유닛(542)은 캐시의 플러싱과 관련된 정보(CI.I)를 전송 유닛(547)으로 제공할 수 있다. 또한 전송 유닛(547)은 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(520)의 플러싱이 시작된다는 정보)를 제공받아 비활성화될 수 있다.Specifically, the setting unit 542 may provide the transfer unit 547 with information (CI.I) related to the flushing of the cache. The transfer unit 547 may also be deactivated by receiving information (CI.I) related to flushing of the cache (e.g., information that flushing of the cache 520 is to begin).

캐시(520)의 플러싱이 시작된다(S310).Flushing of the cache 520 is started (S310).

구체적으로, 캐시(520)에 저장된 제2 데이터(예전 데이터, 즉, 업데이트 되지 않은 데이터)는 메모리(200)의 미리 정한 주소로 플러싱될 수 있다. In particular, the second data (old data, i.e., un-updated data) stored in the cache 520 may be flushed to a predetermined address of the memory 200. [

본 발명에서, S300, S305, S307, S310가 순차적으로 발생하는 것으로 도시하였지만, 이에 한정되는 것은 아니다. 즉, 제1 프로세서(510)는 캐시(520)에 플러싱 시작 신호를 제공한 후(S305), 설정 유닛(542)으로 전송 파라미터와 관련된 정보 및 캐시의 플러싱과 관련된 정보(CI.I)를 제공(S300)할 수도 있다.In the present invention, S300, S305, S307, and S310 are sequentially generated, but the present invention is not limited thereto. That is, after providing the flushing start signal to the cache 520 (S305), the first processor 510 provides the setting unit 542 with information related to the transmission parameter and information (CI.I) related to the flushing of the cache (S300).

따라서, 전송 유닛(547)이 비활성화되는 시점(S307)은 캐시(520)의 플러싱이 시작되는 시점(S310)보다 이전일 수도 있고, 동시일 수도 있으며, 이후일 수도 있다.Therefore, the time point S307 at which the transfer unit 547 is deactivated may be before, coincident with, or after the time point S310 at which the flushing of the cache 520 starts.

캐시(520)의 플러싱이 시작된 후, 설정 유닛(542)은 제1 프로세서(510)로부터 제공받은 전송 파라미터와 관련된 정보를 토대로 전송 파라미터(DP)를 설정할 수 있다. 도면에 도시되어 있지는 않지만, 제3 프로세서(580)는 설정 유닛(542)으로부터 전송 파라미터를 제공받을 수 있고, 제공받은 전송 파라미터를 기반으로 외부 장치(350)로부터 제1 데이터를 제공받거나 제1 데이터를 생성할 수 있다(S313).After the flushing of the cache 520 is started, the setting unit 542 can set the transmission parameter DP based on the information related to the transmission parameter provided from the first processor 510. [ Although not shown in the figure, the third processor 580 may be provided with transmission parameters from the setting unit 542, and may receive the first data from the external device 350 based on the received transmission parameters, (S313).

설정 유닛(542)은 전송 파라미터(DP)를 설정하여 생성 유닛(545)으로 제공할 수 있다(S314).The setting unit 542 may set the transmission parameter DP and provide it to the generating unit 545 (S314).

도 18에서는, 제3 프로세서(580)가 설정 유닛(542)으로부터 전송 파라미터를 제공받아 제1 데이터를 생성하는 시점(S313)이 생성 유닛(545)이 설정 유닛(542)으로부터 전송 파라미터(DP)를 제공받는 시점(S314)보다 앞서는 것으로 도시되어 있지만, 이에 한정되는 것은 아니다.18 shows a case where the third processor 580 receives the transmission parameter from the setting unit 542 and generates the first data at step S313 when the generating unit 545 receives the transmission parameter DP from the setting unit 542, (S314), but the present invention is not limited thereto.

즉, 생성 유닛(545)이 설정 유닛(542)으로부터 전송 파라미터(DP)를 제공받는 시점은, 제3 프로세서(580)가 설정 유닛(542)으로부터 전송 파라미터를 제공받는 시점보다 이전이거나 동시이거나 이후일 수 있다. That is, the time when the generation unit 545 receives the transmission parameter DP from the setting unit 542 is earlier than the time when the third processor 580 receives the transmission parameter from the setting unit 542, Lt; / RTI >

제2 버퍼(590)로부터 데이터를 리드한다(S315).Data is read from the second buffer 590 (S315).

구체적으로, 생성 유닛(545)은 제공받은 전송 파라미터(DP)를 기반으로 제1 데이터(즉, 메모리(200)의 미리 정한 주소에 전송하고자 하는 최신 데이터)를 제2 버퍼(590)로부터 리드할 수 있다. 물론 생성 유닛(545)은 내부적으로 직접 제1 데이터를 생성할 수도 있지만, 설명의 편의를 위해 제2 버퍼(590)에 저장된 제1 데이터를 제공받는 경우를 예로 들어 설명하도록 한다. Specifically, the generation unit 545 reads the first data (i.e., the latest data to be transmitted to the predetermined address of the memory 200) from the second buffer 590 based on the supplied transmission parameter DP . Although the generating unit 545 may directly generate the first data internally, the first data stored in the second buffer 590 will be described as an example for convenience of explanation.

제1 버퍼(560)에 데이터를 저장한다(S317).The data is stored in the first buffer 560 (S317).

구체적으로, 생성 유닛(545)은 전송 파라미터(DP)가 가리키는 제1 버퍼(560)의 주소에 제1 데이터를 저장할 수 있다. Specifically, the generating unit 545 may store the first data at the address of the first buffer 560 indicated by the transmission parameter DP.

제1 프로세서(510)는 캐시(520)의 플러싱이 종료되면(S320), 설정 유닛(542)으로 캐시의 플러싱과 관련된 정보(CI.I)(예를 들면, 캐시(520)의 플러싱이 완료되었다는 정보)를 제공할 수 있다. 그러나, 캐시(520)의 플러싱이 종료되지 않았다면, 전송 유닛(547)의 비활성화 상태가 유지될 수 있다(즉, 디엠에이 모듈의 데이터 전송 동작 비활성화 상태 유지)(S322).The first processor 510 determines if the flushing of the cache 520 is complete (S320) and if the information (CI.I) related to flushing the cache (e.g., flushing the cache 520) Quot;). ≪ / RTI > However, if the flushing of the cache 520 has not ended, the deactivation state of the transfer unit 547 can be maintained (i.e., the data transfer operation inactivated state of the DMA module) (S322).

디엠에이 모듈(540)의 데이터 전송 동작이 활성화된다(S325).The data transfer operation of the DMA module 540 is activated (S325).

구체적으로, 설정 유닛(542)은 제1 프로세서(510)로부터 캐시(520)의 플러싱이 완료되었다는 정보를 제공받으면, 이를 전송 유닛(547)으로 제공할 수 있다.Specifically, when the setting unit 542 is informed from the first processor 510 that the flushing of the cache 520 is completed, the setting unit 542 can provide it to the transfer unit 547. [

전송 유닛(547)은 캐시(520)의 플러싱이 완료되었다는 정보를 제공받고, 활성화될 수 있다. The transfer unit 547 can be informed that flushing of the cache 520 is completed and can be activated.

제1 버퍼(560)에 저장된 데이터를 리드한다(S327).The data stored in the first buffer 560 is read (S327).

구체적으로, 전송 유닛(547)은 전송 파라미터(DP)를 기반으로 제1 버퍼(560)에 저장된 제1 데이터를 리드할 수 있다.Specifically, the transfer unit 547 can read the first data stored in the first buffer 560 based on the transfer parameter DP.

메모리(200)로 데이터를 전송한다(S330).The data is transmitted to the memory 200 (S330).

구체적으로, 전송 유닛(547)은 전송 파라미터(DP)를 기반으로 메모리(200)의 미리 정한 주소에 제1 데이터를 전송할 수 있다.Specifically, the transmission unit 547 may transmit the first data to a predetermined address of the memory 200 based on the transmission parameter DP.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It is to be understood that the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (20)

메모리에 직접 엑세스하여 상기 메모리의 미리 정한 주소에 제1 데이터를 라이트(write)하는 디엠에이 모듈을 포함하되,
상기 디엠에이 모듈은,
상기 메모리에 상기 제1 데이터를 라이트하기 위한 전송 파라미터를 설정하는 설정 유닛과,
상기 설정된 전송 파라미터를 기반으로 상기 메모리로 전송할 제1 데이터를 생성하는 생성 유닛과,
상기 전송 파라미터를 기반으로 상기 메모리의 상기 미리 정한 주소에 상기 생성된 제1 데이터를 라이트하는 전송 유닛을 포함하되,
상기 설정 유닛이 상기 전송 파라미터를 설정하는 것은, 프로세서가 캐시에 저장된 제2 데이터를 상기 메모리의 상기 미리 정한 주소에 플러싱(flushing)하는 구간 동안 수행되고, 상기 전송 유닛이 상기 메모리의 상기 미리 정한 주소에 상기 생성된 제1 데이터를 전송하는 것은, 상기 플러싱이 완료된 후 수행되는 반도체 장치.
And a DMA module for directly accessing the memory and writing the first data to a predetermined address of the memory,
The DME module includes:
A setting unit for setting a transfer parameter for writing the first data in the memory;
A generating unit for generating first data to be transmitted to the memory based on the set transmission parameters;
And a transmission unit for writing the generated first data to the predetermined address of the memory based on the transmission parameter,
The setting unit setting the transmission parameter is performed during a period in which the processor flushes the second data stored in the cache to the predetermined address of the memory, Wherein the transmitting of the first data is performed after the flushing is completed.
제 1항에 있어서,
상기 제1 데이터는 상기 제2 데이터와 다른 데이터인 반도체 장치.
The method according to claim 1,
Wherein the first data is data different from the second data.
제 1항에 있어서,
상기 생성 유닛이 상기 제1 데이터를 생성하는 것은, 상기 생성 유닛이 상기 제1 데이터를 외부 장치로부터 제공받거나 직접 생성하는 것을 포함하는 반도체 장치.
The method according to claim 1,
Wherein the generating unit generates the first data by causing the generating unit to receive or directly generate the first data from an external device.
제 1항에 있어서,
상기 제1 데이터가 저장되는 버퍼를 더 포함하는 반도체 장치.
The method according to claim 1,
And a buffer in which the first data is stored.
제 4항에 있어서,
상기 전송 파라미터는, 상기 제1 데이터의 크기 또는 상기 제1 데이터가 저장된 상기 버퍼의 주소 또는 상기 메모리의 상기 미리 정한 주소를 포함하는 반도체 장치.
5. The method of claim 4,
Wherein the transmission parameter includes a size of the first data or an address of the buffer where the first data is stored or the predetermined address of the memory.
제 1항에 있어서,
상기 설정 유닛은, 상기 프로세서로부터 상기 전송 파라미터와 관련된 정보 및 상기 캐시의 플러싱과 관련된 정보를 제공받는 반도체 장치.
The method according to claim 1,
Wherein the setting unit is provided with information relating to the transmission parameter and information relating to flushing of the cache from the processor.
제 1항에 있어서,
상기 전송 유닛은 상기 프로세서로부터 상기 캐시의 플러싱과 관련된 정보를 제공받는 반도체 장치.
The method according to claim 1,
Wherein the transfer unit is provided with information related to flushing of the cache from the processor.
제 1항에 있어서,
상기 전송 유닛은 상기 캐시로부터 상기 캐시의 플러싱과 관련된 정보를 제공받는 반도체 장치.
The method according to claim 1,
Wherein the transfer unit is provided with information related to flushing of the cache from the cache.
제 1항에 있어서,
상기 생성 유닛이 상기 제1 데이터를 생성하는 것은 상기 설정 유닛이 상기 전송 파라미터를 설정하는 것이 완료된 후 시작되는 반도체 장치.
The method according to claim 1,
Wherein said generation unit generates said first data after said setting unit has finished setting said transmission parameter.
제 9항에 있어서,
상기 생성 유닛이 상기 제1 데이터를 생성하는 것은 상기 캐시가 플러싱되는 구간 동안 수행되는 반도체 장치.
10. The method of claim 9,
Wherein the generation unit generates the first data during a period in which the cache is flushed.
제 10항에 있어서,
상기 전송 유닛이 상기 메모리의 상기 미리 정한 주소에 상기 생성된 제1 데이터를 전송하는 것은, 상기 생성 유닛이 상기 제1 데이터를 생성하는 것이 완료된 후 시작되는 반도체 장치.
11. The method of claim 10,
Wherein the transmitting unit starts transmitting the generated first data to the predetermined address of the memory after the generating unit is finished generating the first data.
제 1항에 있어서,
상기 제1 데이터가 저장되는 버퍼를 더 포함하되,
상기 제1 데이터는 제3 및 제4 데이터를 포함하고,
상기 생성 유닛은 상기 제3 데이터를 생성하여 상기 버퍼에 저장하는 제1 생성 동작과 상기 제2 데이터를 생성하여 상기 버퍼에 저장하는 제2 생성 동작을 수행하고,
상기 생성 유닛은 상기 제1 생성 동작을 완료한 후 상기 제2 생성 동작을 수행하는 반도체 장치.
The method according to claim 1,
And a buffer in which the first data is stored,
Wherein the first data comprises third and fourth data,
Wherein the generating unit performs a first generating operation of generating the third data and storing the third data in the buffer and a second generating operation of generating the second data and storing the second data in the buffer,
Wherein the generating unit performs the second generating operation after completing the first generating operation.
제 12항에 있어서,
상기 미리 정한 주소는 제1 주소와 제2 주소를 포함하고,
상기 전송 유닛은 상기 제3 데이터를 상기 제1 주소로 전송하는 제1 전송 동작과 상기 제4 데이터를 상기 제2 주소로 전송하는 제2 전송 동작을 수행하고,
상기 전송 유닛은 상기 제1 전송 동작을 완료한 후 상기 제2 전송 동작을 수행하고,
상기 제1 전송 동작은 상기 제2 생성 동작이 수행되는 구간 동안 수행되는 반도체 장치.
13. The method of claim 12,
Wherein the predetermined address includes a first address and a second address,
The transmission unit performs a first transmission operation for transmitting the third data to the first address and a second transmission operation for transmitting the fourth data to the second address,
Wherein the transmission unit performs the second transmission operation after completing the first transmission operation,
Wherein the first transfer operation is performed during a period in which the second generation operation is performed.
제 12항에 있어서,
상기 제1 생성 동작은 상기 캐시가 플러싱되는 구간 동안 수행되고,
상기 제2 생성 동작은 상기 캐시의 플러싱이 완료된 후 수행되는 반도체 장치.
13. The method of claim 12,
Wherein the first generating operation is performed during a period in which the cache is flushed,
Wherein the second generating operation is performed after the flushing of the cache is completed.
메모리로 직접 엑세스하는 디엠에이 모듈; 및
상기 메모리에 전송할 제1 및 제2 데이터를 저장하는 버퍼를 포함하되,
상기 디엠에이 모듈은,
상기 메모리에 상기 제1 및 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과,
상기 전송 파라미터를 기반으로 상기 제1 데이터를 생성하여 상기 버퍼에 저장하는 제1 생성 동작과 상기 제2 데이터를 생성하여 상기 버퍼에 저장하는 제2 생성 동작을 순차적으로 수행하는 생성 유닛과,
상기 전송 파라미터를 기반으로 상기 버퍼에 저장된 상기 제1 데이터를 상기 메모리의 제1 주소로 전송하는 제1 전송 동작과 상기 버퍼에 저장된 상기 제2 데이터를 상기 메모리의 제2 주소로 전송하는 제2 전송 동작을 순차적으로 수행하는 전송 유닛을 포함하되,
상기 설정 유닛이 상기 전송 파라미터를 설정하는 것은, 프로세서가 캐시에 저장된 제3 데이터를 상기 제1 주소에 플러싱(flushing)하는 구간 동안 수행되고, 상기 제1 생성 동작은 상기 캐시가 플러싱되는 구간 동안 수행되고, 상기 제2 생성 동작은 상기 캐시의 플러싱이 완료된 후 수행되고, 상기 제1 전송 동작은 상기 캐시의 플러싱이 완료된 후 상기 제2 생성 동작이 수행되는 구간 동안 수행되는 반도체 장치.
A DMA module for directly accessing the memory; And
And a buffer for storing first and second data to be transmitted to the memory,
The DME module includes:
A setting unit for setting transmission parameters for transmitting the first and second data to the memory;
A generation unit configured to sequentially generate a first data generation operation for generating the first data based on the transmission parameter and storing the first data in the buffer and a second generation operation for generating the second data and storing the generated second data in the buffer;
A first transmission operation for transmitting the first data stored in the buffer to a first address of the memory based on the transmission parameter and a second transmission for transmitting the second data stored in the buffer to a second address of the memory, And a transmission unit for sequentially performing operations,
Wherein the setting unit sets the transmission parameter during a period in which the processor flushes third data stored in the cache to the first address and the first generating operation is performed during a period in which the cache is flushed Wherein the second generating operation is performed after the flushing of the cache is completed, and the first transmitting operation is performed during a period during which the second generating operation is performed after the flushing of the cache is completed.
버스(bus)를 통해서 메모리와 연결된 캐시(cache);
상기 캐시에 저장된 제1 데이터를 상기 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 및
상기 제1 데이터와 다른 제2 데이터를 생성하여 상기 메모리의 상기 미리 정한 주소에 전송하는 제2 프로세서를 포함하되,
상기 제2 프로세서는,
상기 생성된 제2 데이터를 저장하는 버퍼와,
상기 메모리에 상기 제2 데이터를 전송하기 위한 전송 파라미터를 설정하고, 상기 전송 파라미터를 기반으로 상기 버퍼에 저장된 제2 데이터를 상기 미리 정한 주소에 전송하는 디엠에이 모듈을 포함하고,
상기 디엠에이 모듈이 상기 전송 파라미터를 설정하는 것은 상기 제1 프로세서가 상기 캐시에 저장된 상기 제1 데이터를 상기 미리 정한 주소에 플러싱하는 구간 동안 수행되고,
상기 디엠에이 모듈이 상기 제2 데이터를 상기 미리 정한 주소에 전송하는 것은, 상기 플러싱이 완료된 후 수행되는 반도체 시스템.
A cache connected to the memory via a bus;
A first processor for flushing the first data stored in the cache to a predetermined address in the memory; And
And a second processor for generating second data different from the first data and transmitting the second data to the predetermined address of the memory,
Wherein the second processor comprises:
A buffer for storing the generated second data,
And a DMA module for setting a transmission parameter for transmitting the second data to the memory and transmitting the second data stored in the buffer to the predetermined address based on the transmission parameter,
Wherein the setting of the transmission parameter by the DMA module is performed during a period in which the first processor flushes the first data stored in the cache to the predetermined address,
Wherein the DMA module transfers the second data to the predetermined address after the flushing is completed.
버스(bus)를 통해서 메모리와 연결된 캐시(cache);
상기 캐시에 저장된 제1 데이터를 상기 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서; 및
상기 제1 데이터와 다른 제2 데이터를 생성하여 상기 버스를 통해서 상기 메모리의 상기 미리 정한 주소에 전송하는 제2 프로세서를 포함하되,
상기 제2 프로세서는,
상기 제2 데이터를 저장하는 버퍼와,
상기 버퍼에 저장된 제2 데이터를 상기 미리 정한 주소에 전송하는 디엠에이 모듈을 포함하고,
상기 디엠에이 모듈은,
상기 메모리에 상기 제2 데이터를 전송하기 위한 전송 파라미터를 설정하고, 상기 제1 프로세서로부터 상기 전송 파라미터와 관련된 정보 및 상기 캐시의 플러싱과 관련된 정보를 제공받는 설정 유닛과,
상기 전송 파라미터를 기반으로 상기 메모리로 전송할 상기 제2 데이터를 생성하여 상기 버퍼에 저장하는 생성 유닛과,
상기 전송 파라미터를 기반으로 상기 버퍼에 저장된 상기 제2 데이터를 상기 메모리의 상기 미리 정한 주소에 전송하는 전송 유닛을 포함하고,
상기 설정 유닛이 상기 전송 파라미터를 설정하는 것은, 상기 캐시가 플러싱(flushing)되는 구간 동안 수행되고, 상기 전송 유닛이 상기 메모리의 상기 미리 정한 주소에 상기 제2 데이터를 전송하는 것은, 상기 플러싱이 완료된 후 수행되는 반도체 시스템.
A cache connected to the memory via a bus;
A first processor for flushing the first data stored in the cache to a predetermined address in the memory; And
And a second processor for generating second data different from the first data and transmitting the second data to the predetermined address of the memory via the bus,
Wherein the second processor comprises:
A buffer for storing the second data,
And a DMA module for transmitting the second data stored in the buffer to the predetermined address,
The DME module includes:
A setting unit configured to set a transmission parameter for transmitting the second data to the memory, and receive from the first processor information related to the transmission parameter and information related to flushing of the cache;
A generating unit for generating the second data to be transmitted to the memory based on the transmission parameter and storing the generated second data in the buffer;
And a transmission unit for transmitting the second data stored in the buffer to the predetermined address of the memory based on the transmission parameter,
The setting unit is configured to set the transmission parameter during a period in which the cache is flushed, and the transmitting unit transmitting the second data to the predetermined address in the memory is a state in which the flushing is completed Lt; / RTI >
버스(bus)를 통해서 메모리와 연결된 캐시(cache);
상기 캐시에 저장된 제1 데이터를 상기 메모리의 미리 정한 주소에 플러싱하는 제1 프로세서;
상기 제1 데이터와 다른 제2 데이터를 저장하는 제1 버퍼를 포함하는 제2 프로세서; 및
상기 메모리에 직접 엑세스하는 디엠에이 모듈을 포함하는 제3 프로세서를 포함하되,
상기 제2 프로세서는 상기 제2 데이터를 생성하여 상기 제1 버퍼에 저장하고,
상기 디엠에이 모듈은,
상기 메모리에 상기 제2 데이터를 전송하기 위한 전송 파라미터를 설정하는 설정 유닛과,
상기 전송 파라미터를 기반으로 상기 제1 버퍼에 저장된 상기 제2 데이터를 제공받는 생성 유닛과,
상기 전송 파라미터를 기반으로 상기 메모리의 상기 미리 정한 주소에 상기 제2 데이터를 전송하는 전송 유닛을 포함하되,
상기 설정 유닛이 상기 전송 파라미터를 설정하는 것은 상기 캐시가 플러싱되는 구간 동안 수행되고, 상기 전송 유닛이 상기 메모리의 상기 미리 정한 주소에 상기 제2 데이터를 전송하는 것은, 상기 플러싱이 완료된 후 수행되는 반도체 시스템.
A cache connected to the memory via a bus;
A first processor for flushing the first data stored in the cache to a predetermined address in the memory;
A second processor including a first buffer for storing second data different from the first data; And
And a third processor including a DME module for directly accessing the memory,
The second processor generates the second data and stores the second data in the first buffer,
The DME module includes:
A setting unit for setting a transmission parameter for transmitting the second data to the memory;
A generating unit receiving the second data stored in the first buffer based on the transmission parameter;
And a transmission unit for transmitting the second data to the predetermined address of the memory based on the transmission parameter,
The setting unit setting the transmission parameter is performed during a period in which the cache is flushed, and the transmitting unit transmitting the second data to the predetermined address in the memory is performed after the completion of the flushing system.
제 18항에 있어서,
상기 제3 프로세서는, 상기 제공받은 제2 데이터를 저장하는 제2 버퍼를 더 포함하는 반도체 시스템.
19. The method of claim 18,
And the third processor further comprises a second buffer for storing the second data.
제 18항에 있어서,
상기 제1 내지 제3 프로세서는 상기 버스를 통해서 서로 연결되는 반도체 시스템.

19. The method of claim 18,
And the first to third processors are connected to each other via the bus.

KR1020140143553A 2014-08-29 2014-10-22 Semiconductor device, semiconductor system and system on chip KR102261591B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/792,156 US9904626B2 (en) 2014-08-29 2015-07-06 Semiconductor device, semiconductor system and system on chip
DE102015112598.6A DE102015112598A1 (en) 2014-08-29 2015-07-31 Semiconductor device, semiconductor system and single-chip system
JP2015162240A JP6641120B2 (en) 2014-08-29 2015-08-19 Semiconductor device, semiconductor system and system on chip
TW104127599A TWI682280B (en) 2014-08-29 2015-08-25 Semiconductor device, semiconductor system and system on chip
CN201510536967.6A CN105389274B (en) 2014-08-29 2015-08-27 Semiconductor device, semiconductor system and system on chip

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462043595P 2014-08-29 2014-08-29
US62/043,595 2014-08-29

Publications (2)

Publication Number Publication Date
KR20160026599A true KR20160026599A (en) 2016-03-09
KR102261591B1 KR102261591B1 (en) 2021-06-04

Family

ID=55536943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140143553A KR102261591B1 (en) 2014-08-29 2014-10-22 Semiconductor device, semiconductor system and system on chip

Country Status (3)

Country Link
JP (1) JP6641120B2 (en)
KR (1) KR102261591B1 (en)
TW (1) TWI682280B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045225A (en) * 2016-09-22 2019-05-02 어드밴스드 마이크로 디바이시즈, 인코포레이티드 A lock address contention predictor
KR20220044094A (en) * 2020-09-28 2022-04-06 고려대학교 산학협력단 FPGA based cache invalidation method and apparatus performing the same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258935A (en) * 2003-02-26 2004-09-16 Matsushita Electric Ind Co Ltd Semiconductor device
US20080005465A1 (en) * 2006-06-30 2008-01-03 Matthews Jeanna N Write ordering on disk cached platforms

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376762B2 (en) * 2005-10-31 2008-05-20 Sigmatel, Inc. Systems and methods for direct memory access
US20120151232A1 (en) * 2010-12-12 2012-06-14 Fish Iii Russell Hamilton CPU in Memory Cache Architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258935A (en) * 2003-02-26 2004-09-16 Matsushita Electric Ind Co Ltd Semiconductor device
US20080005465A1 (en) * 2006-06-30 2008-01-03 Matthews Jeanna N Write ordering on disk cached platforms

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045225A (en) * 2016-09-22 2019-05-02 어드밴스드 마이크로 디바이시즈, 인코포레이티드 A lock address contention predictor
US11868818B2 (en) 2016-09-22 2024-01-09 Advanced Micro Devices, Inc. Lock address contention predictor
KR20220044094A (en) * 2020-09-28 2022-04-06 고려대학교 산학협력단 FPGA based cache invalidation method and apparatus performing the same

Also Published As

Publication number Publication date
TWI682280B (en) 2020-01-11
JP2016051471A (en) 2016-04-11
TW201608373A (en) 2016-03-01
KR102261591B1 (en) 2021-06-04
JP6641120B2 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
CN105389274B (en) Semiconductor device, semiconductor system and system on chip
KR20160013351A (en) Storage device and data porcessing method thereof
US8495344B2 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US20070067506A1 (en) Multimedia program download control system and method of apparatus equipped with multimedia processor
KR20140045553A (en) Mobile memory cache read optimization
CN108304334B (en) Application processor and integrated circuit including interrupt controller
CN110046050B (en) Device and method for inter-core data transmission
JP5307133B2 (en) Device emulation support apparatus, device emulation support method, device emulation support circuit, and information processing apparatus
WO2022143295A1 (en) Method for upgrading firmware, and related device
TW202230111A (en) Read optional and write optional commands
CN104460406A (en) Single-line communication method and single chip microcomputer firmware updating method based on single-line communication
KR102261591B1 (en) Semiconductor device, semiconductor system and system on chip
JP2007206933A (en) Information processor, boot loader generation method and program transfer method in information processor
KR101651192B1 (en) Methods and apparatus for improving performance of semaphore management sequences across a coherent bus
US20150177816A1 (en) Semiconductor integrated circuit apparatus
CN113031855A (en) Storage device group, storage system, and method for operating storage device
CN109189705B (en) USB extension method, device, equipment, storage medium and system
CN110968147B (en) Timer creating method and device, electronic equipment and medium
US8321605B2 (en) PIO interjection between beats of a DMA operation
CN114070892A (en) Data transmission method and device
US20060094463A1 (en) Multiprocessing apparatus for a wireless terminal and method thereof
US20140136744A1 (en) Reset method and network device
US20040003145A1 (en) Method and apparatus to transfer information
EP4191419A1 (en) Operating method of an electronic device
US9652413B2 (en) Signal processing system and integrated circuit comprising a prefetch module and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant