KR20060132147A - Processor of distribute storage structure - Google Patents
Processor of distribute storage structure Download PDFInfo
- Publication number
- KR20060132147A KR20060132147A KR1020050052308A KR20050052308A KR20060132147A KR 20060132147 A KR20060132147 A KR 20060132147A KR 1020050052308 A KR1020050052308 A KR 1020050052308A KR 20050052308 A KR20050052308 A KR 20050052308A KR 20060132147 A KR20060132147 A KR 20060132147A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- internal
- external
- granule
- external memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
도 1은 종래 기술에 의한 프로세서의 구조를 나타낸 블록도,1 is a block diagram showing the structure of a processor according to the prior art;
도 2는 내부 및 외부 메모리를 사용하는 일반적인 프로세서에서의 메모리 어드레싱 구조를 도시한 메모리 맵2 is a memory map illustrating a memory addressing structure in a typical processor using internal and external memory.
도 3은 도 1의 프로세서를 도 2에 따른 메모리 맵 구조에서 해당 테스크들을 동시에 실행할 때, 내부 버스의 데이터폭 사용 분포를 나타낸 그래프,3 is a graph illustrating a data width usage distribution of an internal bus when the processors of FIG. 1 simultaneously execute the corresponding tasks in the memory map structure of FIG. 2;
도 4는 도 1의 프로세서를 도 2에 따른 메모리 맵 구조에서 해당 테스크들을 동시에 실행할 때, 외부 버스의 데이터폭 사용 분포를 나타낸 그래프,4 is a graph illustrating a data width usage distribution of an external bus when the processors of FIG. 1 simultaneously execute the corresponding tasks in the memory map structure of FIG. 2;
도 5는 본 발명의 일실시예에 따른 프로세서의 구조를 나타낸 블록도,5 is a block diagram showing the structure of a processor according to an embodiment of the present invention;
도 6은 도 5의 프로세서를 도 2에 따른 메모리 맵 구조에서 해당 테스크들을 동시에 실행할 때, 외부 버스의 데이터폭 사용 분포를 나타낸 그래프.FIG. 6 is a graph illustrating a data width usage distribution of an external bus when the processors of FIG. 5 simultaneously execute the corresponding tasks in the memory map structure of FIG. 2; FIG.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
200 : 외부 메모리 500 : 프로세서200: external memory 500: processor
510 : 연산부 520 : 내부 메모리510: calculator 520: internal memory
530 : 외부 메모리 인터페이스 540 : 버추얼 버스 마스터530: external memory interface 540: virtual bus master
550 : 연산부 버스 560 : 내부 메모리 버스550: operation unit bus 560: internal memory bus
본 발명은 내부 메모리 및 외부 메모리를 사용하여 하나 이상의 테스크를 동시에 실행하는 프로세서에 관한 것이다. 특히, 스트림 데이터의 처리가 많은 미디어 프로세서에 유용한 발명이다.The present invention relates to a processor that executes one or more tasks simultaneously using an internal memory and an external memory. In particular, it is an invention useful for a media processor with many processing of stream data.
미디어 프로세서는 영상 및/또는 음성 데이터를 지속적으로 입력받아 처리한다. 이와 같이 스트림 데이터를 다루는 프로세서는 어느 수준 이상의 데이터폭(bandwidth)을 꾸준히 사용한다. 이를 위해 내부 메모리만을 사용할 수도 있지만, 스트림 데이터의 크기가 증가하면 제한된 내부 메모리만으로 데이터를 처리하는데 한계가 발생한다.The media processor continuously receives and processes video and / or audio data. As such, the processor that handles the stream data steadily uses the data bandwidth above a certain level. For this purpose, only internal memory may be used, but when the size of the stream data increases, there is a limit in processing data with limited internal memory.
내부 메모리를 사용하여 스트림 데이터를 처리하는 경우, 시스템 성능 향상, 전원 절약, 데이터폭의 효율적 사용과 같은 장점이 있다. 그러나, 스트림 데이터의 크기가 증가하면 제한된 내부 메모리만으로 데이터를 처리하는데 한계가 발생한다. 이때 외부 메모리를 사용하여 내부 메모리에서 부족한 공간을 할당하는데, 만약 외부 메모리의 데이터폭이 충분히 확보되지 않는다면 시스템의 성능이 떨어지게 된다.Processing stream data using internal memory has advantages such as improved system performance, power savings, and efficient use of data widths. However, when the size of stream data increases, there is a limit in processing data with limited internal memory. At this time, the external memory is used to allocate insufficient space in the internal memory. If the data width of the external memory is not secured enough, the performance of the system is reduced.
도 1은 내부 메모리와 외부 메모리에 엑세스하기 위한 외부 메모리 인터페이스를 가지는 일반적인 프로세서의 구조를 나타낸 것이며, 도 2는 하나 이상의 테스크를 동시에 실행하는 일반적인 멀티태스킹 프로세서가 가지는 일반적인 메모리 맵 을 나타내고 있다.1 illustrates a structure of a general processor having an internal memory interface for accessing an internal memory and an external memory, and FIG. 2 illustrates a general memory map of a general multitasking processor that simultaneously executes one or more tasks.
테스크 A는 스트림 데이터를 저장/처리하기 위해 내부 및 외부 메모리를 모두 사용하는 작업이고, 테스크 B는 외부 메모리만을 사용하는 작업을 가정하기로 한다. 상기 2 테스크가 동시에 처리되는 경우의 내부 버스와 외부 버스의 데이터폭 사용량은 도 3 및 도 4와 같다.Task A is a task that uses both internal and external memory to store / process stream data, and task B is assumed to use only external memory. Data width usage of the internal bus and the external bus when the two tasks are processed at the same time is as shown in FIGS. 3 and 4.
그런데, 도 3의 내부 버스의 데이터폭 사용은 일정한 반면, 도 4의 외부 버스의 데이터폭 사용은 시간축 상에서 고르게 분포되지 않고 일정 기간동안 피크값을 가진다. 따라서, 프로세서가 테스크 A와 테스크 B를 동시에 원할하게 처리하기 위해서는 외부 메모리 버스를 상기 .피크값의 경우의 퍼포먼스를 만족시키도록 제작하여야 한다. 이를 해결하기 위해 추가적인 메모리 버스를 사용하면, 핀수의 증가, 칩사이즈의 증가 뿐만 아니라 비용면에서도 증가되는 부작용이 발생하게 된다.By the way, while the data width usage of the internal bus of FIG. 3 is constant, the data width usage of the external bus of FIG. 4 is not evenly distributed on the time axis and has a peak value for a certain period. Therefore, in order for the processor to smoothly handle task A and task B at the same time, an external memory bus must be manufactured to satisfy the performance of the .peak value. The use of additional memory buses to solve this problem leads to an increase in pin count, chip size, and cost.
본 발명은 상기 문제점들을 해결하기 위해 안출된 것으로서, 외부 데이터 버스의 사용 효율을 높일 수 있는 분산 저장 구조의 프로세서를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems, an object of the present invention is to provide a processor of a distributed storage structure that can increase the use efficiency of the external data bus.
또한, 본 발명은 내부 메모리와 외부 메모리의 사용을 적절하게 분산시킬 수 있는 분산 저장 구조의 프로세서를 제공하는데 다른 목적이 있다.It is another object of the present invention to provide a processor of a distributed storage structure capable of appropriately distributing the use of an internal memory and an external memory.
상기 목적을 달성하기 위한 본 발명의 프로세서는 내부 메모리 및 외부 메모리를 엑세스 할 수 있으며, 2개 이상의 태스크를 동시에 실행시킬 수 있는 멀티태스킹 기능을 지원하며, 어플리케이션(또는, 테스크) 상에서 연속적인 프로그램 어드레스를 가지는 스트림 데이터를 상기 내부 메모리 및 외부 메모리에 분산 저장하는 것을 특징으로 한다. 분산 저장 방법은 한 번에 내부 메모리에 저장되는 데이터 량인 내부 그레뉼 데이터값과, 한 번에 외부 메모리에 저장되는 데이터 량인 외부 그레뉼 데이터값을 설정하여, 상기 스트림 데이터를 해당 그레뉼 데이터값 만큼 잘라서 내부 메모리 및 외부 메모리에 교번하여 저장한다. 따라서, 본 발명의 분산 저장 구조의 프로세서는 상기 메모리의 교번 저장의 수행 및 리드/라이트시 어드레스의 리맵핑을 위한 버추얼 버스 마스터를 구비하는 것을 특징으로 한다.In order to achieve the above object, the processor of the present invention can access an internal memory and an external memory, supports a multitasking function capable of executing two or more tasks simultaneously, and provides a continuous program address on an application (or task). Characterized in that the stream data having a distributed in the internal memory and the external memory. In the distributed storage method, the internal granule data value, which is the amount of data stored in the internal memory at one time, and the external granule data value, which is the amount of data stored in the external memory at one time, are set, and the stream data is changed by the corresponding granule data value. Cut and store alternately in internal memory and external memory. Therefore, the processor of the distributed storage structure of the present invention is characterized by including a virtual bus master for performing alternating storage of the memory and remapping of addresses at read / write.
본 발명을 설명하기에 앞서 그레뉼이라는 개념을 명확히 하고자 한다. 본 발명에 따른 분산 저장을 수행할 때, 내부 메모리로의 저장 동작과 외부 메모리로의 저장 동작이 교번되는 바, 그레뉼은 내부 메모리 또는 외부 메모리에 교번되는 도중의 한 번의 저장시에 저장되는 데이터의 블록을 뜻한다. 내부 메모리와 외부 메모리는 교번되는 빈도수 및 저장용량이 다를 수 있으며, 이에 따라 내부 그레뉼 크기와 외부 그레뉼 크기는 서로 다를 수 있다.Before describing the present invention, the concept of granules will be clarified. When performing distributed storage according to the present invention, the storage operation to the internal memory and the storage operation to the external memory are alternated, so that the granule is used to store the data stored at the time of one storage during the alternation to the internal memory or the external memory. It means a block. The internal memory and the external memory may have alternating frequency and storage capacity, and thus the internal granule size and the external granule size may be different.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원 칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, terms or words used in the specification and claims should not be construed as having a conventional or dictionary meaning, and the inventors should properly explain the concept of terms in order to best explain their own invention. Based on the principle that it can be defined, it should be interpreted as meaning and concept corresponding to the technical idea of the present invention. Therefore, the embodiments described in the specification and the drawings shown in the drawings are only the most preferred embodiment of the present invention and do not represent all of the technical idea of the present invention, various modifications that can be replaced at the time of the present application It should be understood that there may be equivalents and variations.
(실시예)(Example)
도 5에 도시한 바와 같은 본 실시예의 분산 저장 구조의 프로세서는, 외부 메모리 및/또는 내부 메모리를 사용하는 어플리케이션(하나 이상의 태스크)을 실행하기 위한 연산부(510); 소자 내부에 위치하며 작업 중인 데이터를 저장하기 위한 내부 메모리(520); 소자 외부에 연결되는 외부 메모리(200)에 엑세스 하기 위한 외부 메모리 인터페이스(530); 상기 연산부(510)의 메모리 사용 요청을 입력받아, 소정의 비율로 상기 내부 메모리(520) 및 외부 메모리(200)에 분산 처리하기 위한 버추얼 버스 마스터(540); 상기 연산부와 버추얼 버스 마스터간에 통신 경로를 형성하는 연산부 버스(550); 및 상기 버추얼 버스 마스터(540)와 상기 내부 메모리(520) 및 외부 메모리 인터페이스(530) 간에 통신 경로를 형성하는 내부 메모리 버스(560)를 포함한다.The processor of the distributed storage structure of this embodiment as shown in FIG. 5 includes: an
본 실시예는 도 1에 도시한 바와 같은 종래기술의 내부/외부 메모리를 사용하는 프로세서의 설계(design)에서 변형을 최소화하여, 본 발명의 사상에 따른 분산 저장 구조의 프로세서를 설계함으로써, 개발 및 제조 비용을 최소할 수 있는 효 과를 지향한 것이다. 또한, 본 실시예에서는 "내부 그레뉼 - 외부 그레뉼 - 내부 그레뉼 - 외부 그레뉼" 식으로 내부 그레뉼과 외부 그레뉼이 1개씩 교번되어 저장된다.This embodiment is developed by designing a processor of a distributed storage structure according to the spirit of the present invention by minimizing deformation in the design of a processor using a conventional internal / external memory as shown in FIG. The goal is to minimize manufacturing costs. In addition, in this embodiment, the inner granules and the outer granules are alternately stored one by one in the manner of "inner granule-outer granule-inner granule-outer granule".
상기 내부 메모리(520) 및 외부 메모리 인터페이스(530)는 종래기술의 경우와 거의 동일한 구조를 가지며, 심지어 다른 버스 마스터 구성요소(본 실시예에서는 버추얼 버스 마스터)가 호출할 때 사용하는 하드웨어 블록 IP를 그대로 사용할 수도 있다. 상기 IP는 SoC(System on Chip) 칩 설계/제조시에 사용하는 반도체 배치설계 IP를 뜻한다.The
상기 연산부(510)도 종래기술의 버스 마스터인 연산부와 거의 유사한 구조를 가지는데, 다만, 메모리로 엑세스를 수행할 때, 외부 메모리(200)와 내부 메모리(520)를 구분하지 않고, 전체적으로 통일된 하나의 가상 어드레스 공간으로 인식하여, 가상의 단일 메모리에 대한 엑세스로서 수행하게 된다.The
도 1에 도시한 종래기술의 경우에는 연산부와 내부 메모리/외부 메모리 인터페이스가 내부 버스를 통해 직접 통신 채널을 형성하였지만, 본 실시예의 경우에는 연산부(510)에 연결되는 연산부 버스(550)와, 내부 메모리(520) 및 외부 메모리 인터페이스(530)에 연결되는 메모리 버스(560)를 구분하여 구현하고, 상기 연산부 버스(550)와 상기 메모리 버스(560)간에 버추얼 버스 마스터(540)가 데이터 통신을 중계하도록 구현된다.In the prior art illustrated in FIG. 1, the computing unit and the internal memory / external memory interface form a direct communication channel through an internal bus. However, in the present exemplary embodiment, the
본 발명의 특징부를 이루는 버추얼 버스 마스터(540)는 다음과 같은 기능을 수행한다.The
본 실시예의 버추얼 버스 마스터(540)는 스트림 데이터의 분산 저장하는 동작을 가지는 것이 특징이 되지만, 목적에 따라서는 데이터 저장 모드를 상기 분산 저장 모드 및 종래 방법에 의한 단순 저장 모드에서 선택하도록 구현할 수도 있으며, 이 경우 저장 모드를 선택하는 기능도 수행해야 한다.The
또한, 상기 버추얼 버스 마스터(540)는 내부 및 외부 메모리의 그레뉼 사이즈를 설정한다. 내부 메모리의 그레뉼 사이즈는 최소값인 내부 메모리의 엑세스 최소 단위값부터 최대값인 메모리 버스(560)의 웨이트 사이클에 따른 최대 전송값 사이에서 설정한다. 외부 메모리의 그레뉼 사이즈는 최소값인 외부 메모리의 엑세스 최소 단위값부터 최대값인 메모리 버스(560)의 웨이트 사이클에 따른 최대 전송값 사이에서 설정한다.In addition, the
상기 저장 모드 선택이나 그레뉼 사이즈 설정은 가장 간단한 구조의 실시예의 경우에는 하나의 값으로 고정되어 그 의미가 없을 수도 있으며, 설정용 외부 핀에 인가되는 논리값들의 집합에 따라 수행되도록 구현할 수도 있으며, 프로세서 소자 내부 레지스터에 기록된 값에 따라 수행되도록 구현할 수도 있다.In the embodiment of the simplest structure, the storage mode selection or the granule size setting may be fixed to one value and may not have meaning, and may be implemented according to a set of logic values applied to an external pin for setting. It may be implemented to be performed according to the value recorded in the processor element internal register.
연속된 프로그램 어드레스를 가지는 스트림 데이터를 내부 메모리 및 외부 메모리에 분산하여 저장하기 위해서는, 상기 버추얼 버스 마스터(540)는 엑세스를 요청받은 스트림 데이터에 대한 프로그램 어드레스를 실제 내부 메모리의 어드레스 및 외부 메모리의 물리적 어드레스로 변경하는 어드레스 리맵핑을 수행해야 한다.In order to distribute and store stream data having consecutive program addresses in the internal memory and the external memory, the
데이터의 저장시 어드레스 리맵핑 과정은, 스트림 데이터에 대한 최초 그레뉼의 저장 장소를 선택하는 단계; 스트림 데이터를 교번하는 내부 그레뉼 및 외부 그레뉼 단위로 분할하는 단계; 상기 내부 그레뉼 단위로 분할된 스트림 데이터를 내부 메모리에 저장하는 단계; 상기 외부 그레뉼 단위로 분할된 스트림 데이터를 외부 메모리에 저장하는 단계; 및 리맵핑 인덱스를 작성하여 기록하는 단계를 포함한다.The address remapping process upon storage of data includes selecting a storage location of the first granule for the stream data; Dividing the stream data into alternating inner granules and outer granule units; Storing the stream data divided by the internal granule unit in an internal memory; Storing stream data divided by the external granule unit in an external memory; And creating and recording a remapping index.
상기 데이터 저장시 어드레스 리맵핑은 프로그램 어드레스를 입력받아 이에 해당하는 내부/외부 메모리의 물리적 어드레스로 변환하여 출력하는 함수를 수행해야 하는데, 상기 함수는 다음 식 1과 같다.When storing the data, address remapping should perform a function of receiving a program address, converting it into a physical address of an internal / external memory, and outputting the same.
( RAi : 내부 메모리의 실제 물리적 어드레스(RAi: actual physical address of internal memory
RAe : 외부 메모리의 실제 물리적 어드레스RAe: actual physical address of external memory
PA : 프로그램상의 어드레스PA: Program Address
IS : 내부 메모리 그레뉼 사이즈IS: Internal Memory Granule Size
ES : 외부 메모리 그레뉼 사이즈ES: External Memory Granule Size
Of : 어드레싱 옵셋값 )Of: addressing offset value)
상기 리맵핑 인덱스는 데이터의 독출시에 해당 스트림 데이터가 분산 저장된 구조를 표시하기 위한 것으로, 해당되는 프로그램 어드레스 공간(이에 따라 총 스트림 데이터의 크기도 알 수 있다), 분산 저장된 그레뉼들의 식별 기호를 알 수 있도록 하는 값들이 기록된다.The remapping index indicates a structure in which corresponding stream data is distributed and stored when data is read. The remapping index indicates a corresponding program address space (the corresponding size of the total stream data) and identification symbols of distributed and stored granules. The values that are known are recorded.
데이터의 독출시 어드레스 리맵핑 과정은, 독출할 프로그램 어드레스 공간을 입력받는 단계; 상기 어드레스 공간의 시작 어드레스를 리맵핑 인덱스에서 검색하여 해당 그레뉼 식별 기호 및 그레뉼내 어드레스를 알아내는 단계; 상기 어드레스 공간의 종료 어드레스를 리맵핑 인덱스에서 검색하여 해당 그레뉼 식별 기호 및 그레뉼내 어드레스를 알아내는 단계; 상기 시작 어드레스에서 종료 어드레스까지 해당하는 그레뉼들에서 해당 데이터를 읽어내는 단계를 포함한다.The address remapping process when reading data includes: receiving a program address space to be read; Retrieving a start address of the address space from a remapping index to find a corresponding granule identifier and an address within the granule; Retrieving the end address of the address space from a remapping index to find a corresponding granule identifier and an address within the granule; Reading the data from the corresponding granules from the start address to the end address.
상기 독출시 어드레스 리맵핑 과정에서도 소정의 변환 함수에 따라 리맵핑이 수행되는데, 상기 데이터 저장시 어드레스 리맵핑 과정의 설명에서 유추가능하므로 자세한 설명은 생략한다.In the read address remapping process, the remapping is performed according to a predetermined conversion function. Since the data remapping can be inferred from the description of the address remapping process, detailed description thereof will be omitted.
상기 동작을 위해 상기 버추얼 버스 마스터(540)는 그레뉼 버퍼를 구비할 수 있다. 즉, 버스트 리드/라이트 엑세스가 발생하였을 때, 내부 및/또는 외부 메모리와의 효율적인 인터페이스를 위해, 조정가능한 내부 그레뉼 사이즈의 최대값에 해당하는 내부 그레뉼 버퍼 및/또는 조정가능한 외부 그레뉼 사이즈의 최대값에 해당하는 외부 그레뉼 버퍼를 구비할 수 있다. 이 경우 상기 버추얼 버스 마스터(540)는, 메모리로부터의 엑세스 결과물을 그레뉼 버퍼에 임시 저장한 후 엑세스 순서에 맞게 버추얼 버스 마스터를 통해 버스 마스터로 전달한다.The
한편, 내부 메모리만 사용하는 어플리케이션의 수행의 경우에는, 종래의 내부 메모리 인터페이스를 통한 모든 엑세스 동작을 구현할 수 있도록 버추얼 버스 마스터(540)는 종래의 내부 메모리 엑세스 요청과 같은 형식의 메모리 영역의 엑세스 요청을 버스 마스터(510)로부터 입력받아, 내부 메모리(520)로 전달하며, 이와 대칭적으로 버추얼 버스 마스터(540)는 내부 메모리 엑세스의 결과물을 입력받아 버스 마스터(510)로 전달한다. On the other hand, in the case of performing an application using only internal memory, the
또한, 본 발명의 사상에 따른 내부 및 외부로 교번 엑세스를 수행할 때에도, 버스트 사이즈가 내부 메모리의 그레뉼 사이즈를 초과하지 않는 경우 싱글 트랜스퍼 엑세스와 동일함은 물론이다. 반면, 버스트 사이즈가 내부 메모리의 그레뉼 사이즈를 초과하는 경우 초과분에 해당하는 엑세스는 외부 메모리 인터페이스로 전달한다. 메모리에서 엑세스 결과물을 그레뉼 버퍼에 임시 저장한 후 엑세스 순서에 맞게 버추얼 버스 마스터를 통해 버스 마스터로 전달한다.In addition, even when performing alternating accesses to the inside and the outside according to the spirit of the present invention, if the burst size does not exceed the granule size of the internal memory, of course, the same as the single transfer access. On the other hand, if the burst size exceeds the granule size of the internal memory, the excess access is transferred to the external memory interface. The access result is temporarily stored in the granule buffer in memory and transferred to the bus master through the virtual bus master in the order of access.
마찬가지로, 먼저 외부 메모리 그레뉼로 저장이 먼저 발생하는 경우, 버스트 사이즈가 외부 메모리의 그레뉼 사이즈를 초과하지 않는 경우 싱글 트랜스퍼 엑세스와 동일하다. 반면, 버스트 사이즈가 외부 메모리의 그레뉼 사이즈를 초과하는 경우 초과분에 해당하는 엑세스는 외부 메모리 인터페이스로 전달한다. Similarly, if storage first occurs to the external memory granules first, then the same as single transfer access if the burst size does not exceed the granule size of the external memory. On the other hand, if the burst size exceeds the granule size of the external memory, the excess access is transferred to the external memory interface.
본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.Although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited thereto, and the technical spirit of the present invention and the claims to be described below by those skilled in the art to which the present invention pertains. Of course, various modifications and variations are possible within the scope of equivalents.
예컨대, 상기 설명에서는 스트림 데이터에 대하여 분산 저장이 수행되는 것으로 설명하였지만, 구현에 따라서는 프로그램 코드 데이터나 일반적인 데이터를 저장하는 저장 장치에 본 발명을 적용할 수 있다. 이는 어차피 어드레스가 연속되 는 공간에 저장되는 데이타에 해당하면, 본 발명의 사상에 따른 분산 저장을 수행할 실익이 있기 때문이다.For example, in the above description, it has been described that distributed storage is performed on stream data. However, depending on the implementation, the present invention may be applied to a storage device that stores program code data or general data. This is because if the address corresponds to data stored in a contiguous space, there is a real advantage to perform distributed storage according to the spirit of the present invention.
본 발명에 따른 분산 저장 구조의 프로세서를 실시함에 따라, 내부 메모리와 외부 메모리의 사용을 적절하게 분산시킴으로써, 프로세서의 외부 데이터 버스의 사용 효율을 높일 수 있는 효과가 있다. By implementing the processor of the distributed storage structure according to the present invention, by appropriately distributing the use of the internal memory and the external memory, it is possible to increase the efficiency of using the external data bus of the processor.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050052308A KR20060132147A (en) | 2005-06-17 | 2005-06-17 | Processor of distribute storage structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050052308A KR20060132147A (en) | 2005-06-17 | 2005-06-17 | Processor of distribute storage structure |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060132147A true KR20060132147A (en) | 2006-12-21 |
Family
ID=37811758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050052308A KR20060132147A (en) | 2005-06-17 | 2005-06-17 | Processor of distribute storage structure |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060132147A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092328B2 (en) | 2011-09-15 | 2015-07-28 | Samsung Electronics Co., Ltd. | Terminal capable of extending storage space and method extending storage space thereof |
-
2005
- 2005-06-17 KR KR1020050052308A patent/KR20060132147A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092328B2 (en) | 2011-09-15 | 2015-07-28 | Samsung Electronics Co., Ltd. | Terminal capable of extending storage space and method extending storage space thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7171526B2 (en) | Memory controller useable in a data processing system | |
US5784698A (en) | Dynamic memory allocation that enalbes efficient use of buffer pool memory segments | |
US8307053B1 (en) | Partitioned packet processing in a multiprocessor environment | |
US9769081B2 (en) | Buffer manager and methods for managing memory | |
US6754739B1 (en) | Computer resource management and allocation system | |
US9086920B2 (en) | Device for managing data buffers in a memory space divided into a plurality of memory elements | |
KR101812300B1 (en) | Allocation of memory buffers in computing system with multiple memory channels | |
CN115080455B (en) | Computer chip, computer board card, and storage space distribution method and device | |
US20050253858A1 (en) | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams | |
US7865632B2 (en) | Memory allocation and access method and device using the same | |
KR100868395B1 (en) | Readdressable virtual dma control and status registers | |
CN111181874B (en) | Message processing method, device and storage medium | |
US5668975A (en) | Method of requesting data by interlacing critical and non-critical data words of multiple data requests and apparatus therefor | |
CN113126911B (en) | DDR3 SDRAM-based queue management method, medium and equipment | |
KR20050076702A (en) | Method for transferring data in a multiprocessor system, multiprocessor system and processor carrying out this method | |
KR102117511B1 (en) | Processor and method for controling memory | |
US20120198145A1 (en) | Memory access apparatus and display using the same | |
EP1513071B1 (en) | Memory bandwidth control device | |
KR20060132147A (en) | Processor of distribute storage structure | |
EP1449087A1 (en) | Bandwidth enhancement for uncached devices | |
CN108205500A (en) | The memory access method and system of multiple threads | |
JP4440181B2 (en) | DMAC issue mechanism by streaming ID method | |
KR100950356B1 (en) | Data transfer unit with support for multiple coherency granules | |
CN111026680A (en) | Mapping a first identifier to a second identifier | |
US7899957B1 (en) | Memory controller having a buffer for providing beginning and end data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |