[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR100664334B1 - Data processing arrangement and memory system - Google Patents

Data processing arrangement and memory system Download PDF

Info

Publication number
KR100664334B1
KR100664334B1 KR1020007013445A KR20007013445A KR100664334B1 KR 100664334 B1 KR100664334 B1 KR 100664334B1 KR 1020007013445 A KR1020007013445 A KR 1020007013445A KR 20007013445 A KR20007013445 A KR 20007013445A KR 100664334 B1 KR100664334 B1 KR 100664334B1
Authority
KR
South Korea
Prior art keywords
data
data set
memory
memory circuit
processor
Prior art date
Application number
KR1020007013445A
Other languages
Korean (ko)
Other versions
KR20010052435A (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
Priority claimed from US09/282,325 external-priority patent/US6349378B1/en
Priority claimed from US09/316,560 external-priority patent/US6874013B2/en
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20010052435A publication Critical patent/KR20010052435A/en
Application granted granted Critical
Publication of KR100664334B1 publication Critical patent/KR100664334B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

데이터 처리 장치(1)는 연속적인 입력 데이터 세트를 제공하는 제 1 처리기(PROC1)와, 연속적인 출력 데이터 세트를 수신하는 제 2 처리기(PROC2)와, 입력 및 출력 데이터를 기억하는 다수의 메모리 회로(MEM)를 구비하는 메모리 시스템(2)을 포함한다. 본 발명에 따르면, 데이터 처리 장치는 입력 데이터 세트 및 출력 데이터 세트와 연관된 제어 커맨드(CC)에 의해 메모리 시스템을 셋업하는 주 제어기(MCP)를 더 포함한다. 이 제어 커맨드는 제어 유닛(MCU)에 의해 메모리 시스템에 수신된다. 제 1 처리기에 의해 입력 데이터 세트로부터 데이터(Di)가 제공될 때, 이 제어 유닛은, 제어 커맨드에 근거하여, 제 1 메모리 회로를 선택하고, 상기 제 1 메모리 회로에서 기입 데이터(AD_W)를 발생한다. 동일한 방법으로, 제 2 처리기에 의해 출력 데이터 세트로부터 데이터(Do)가 요구될 때, 제어 유닛은, 제어 커맨드에 근거하여, 제 2 메모리 회로를 선택하고, 상기 제 2 메모리 회로에서 판독 어드레스(AD_R)를 발생한다. 따라서, 데이터를 요구 또는 전송할 때 프로세서가 어드레스를 제공할 필요가 없어져서, 간단한 데이터 처리 장치가 달성된다.

Figure 112000025271089-pct00002

The data processing apparatus 1 includes a first processor PROC1 that provides a continuous set of input data, a second processor PROC2 that receives a continuous set of output data, and a plurality of memory circuits that store input and output data. And a memory system 2 having (MEM). According to the invention, the data processing apparatus further comprises a main controller MCP for setting up the memory system by a control command CC associated with the input data set and the output data set. This control command is received by the control unit (MCU) to the memory system. When data Di is provided from the input data set by the first processor, the control unit selects a first memory circuit based on a control command and generates write data AD_W in the first memory circuit. do. In the same way, when data Do is requested from the output data set by the second processor, the control unit selects the second memory circuit based on the control command, and read-out address AD_R in the second memory circuit. Will occur). Thus, there is no need for a processor to provide an address when requesting or transmitting data, thereby achieving a simple data processing apparatus.

Figure 112000025271089-pct00002

Description

데이터 처리 장치, 데이터 처리 방법 및 메모리 시스템{DATA PROCESSING ARRANGEMENT AND MEMORY SYSTEM}DATA PROCESSING ARRANGEMENT AND MEMORY SYSTEM}

본 발명은, 연속하는 입력 데이터 세트를 제공하는 제 1 처리기와, 연속하는 출력 데이터 세트를 수신하는 제 2 처리기와, 연속하는 입력 데이터 세트를 수신하여 연속하는 출력 데이터 세트를 제공하는 다수의 메모리 회로를 구비하는 메모리 시스템을 포함하는 데이터 처리 장치에 관한 것이다.The present invention provides a first processor for providing a continuous set of input data, a second processor for receiving a continuous set of output data, and a plurality of memory circuits for receiving a continuous set of input data and providing a continuous set of output data. It relates to a data processing apparatus including a memory system having a.

또한 본 발명은 데이터를 수신할 수도 있고 데이터를 몇 개의 처리기에 제공할 수도 있는 메모리 시스템과, 이러한 데이터 처리 장치에서 데이터를 처리하는 방법에 관한 것이다. 본 발명은 특히 데이터 스트림을 수반하는 멀티미디어 관련 응용에 적합하다. The invention also relates to a memory system capable of receiving data and providing the data to several processors and a method for processing data in such a data processing apparatus. The invention is particularly suitable for multimedia related applications involving data streams.

미국 특허 제 4,930,066 호는 페이지 어드레스를 제공하는 다수의 데이터 입/출력 포트와, 데이터 페이지를 기억하는 다수의 메모리 뱅크와, 데이터 입/출력 포트와 메모리 뱅크 사이에서 접속을 순환하는 스위칭 네트워크를 포함하는 메모리 시스템을 개시한다. 어드레스는 데이터와 관련하여 메모리 시스템으로 전송된다. 그러므로, 개시된 시스템은 각각의 입/출력 포트에 대해서 데이터 및 관련 어드레스를 수신하는 인터페이스를 포함한다. 이것은 데이터 기억시에 지연을 초래한다. 더욱이, 이러한 인터페이스는 하드웨어적으로 복잡하다. 게다가, 메모리 뱅크는 판독과 기입중 어느 하나를 위해서만 액세스 가능할 뿐, 둘 다를 위해 액세스될 수 없다. 메모리 액세스 충돌은 메모리 뱅크가 기입 데이터 수신과 판독 데이터 제공을 둘 다하기 위해 선택될 때 발생할 수 있다. 전술한 인용 문헌에 개시된 구성은, 동일한 뱅크에 위치된 두 개의 페이지를 액세스하기 위해 두 개의 다른 포트가 요구될 때 충돌이 발생하기 쉽다.U. S. Patent No. 4,930, 066 includes a plurality of data input / output ports for providing page addresses, a plurality of memory banks for storing data pages, and a switching network for cycling connections between the data input / output ports and memory banks. Start the memory system. The address is sent to the memory system in association with the data. Therefore, the disclosed system includes an interface for receiving data and associated addresses for each input / output port. This causes a delay in data storage. Moreover, this interface is complex in hardware. In addition, the memory bank is only accessible for either read or write, and cannot be accessed for both. Memory access conflicts can occur when a memory bank is selected for both write data reception and read data provision. The configuration disclosed in the above cited document is prone to collisions when two different ports are required to access two pages located in the same bank.

본 발명의 목적은 서두에서 전술한 것과 같은 데이터 처리 장치를 훨씬 더 간단하게 제공하는 것이다.It is an object of the present invention to provide a data processing device as described above at the outset much more simply.

본 발명에 따르면, 이러한 데이터 처리 장치는, 입력 데이터 세트 및 출력 데이터 세트와 연관된 제어 커맨드에 의해 메모리 시스템을 셋업(setting up)하는 주 제어기(master controller)를 포함하고, 메모리 시스템은, 제 1 처리기가 입력 데이터 세트의 데이터를 제공할 때, 제어 커맨드에 의거하여 제 1 메모리 회로를 선택하여 상기 제 1 메모리 회로에 기입 어드레스를 발생하고, 제 2 처리기가 출력 데이터 세트의 데이터를 요구할 때에는, 제어 커맨드에 의거하여 제 2 메모리 회로를 선택하여 상기 제 2 메모리 회로에 판독 어드레스를 발생하는 제어 유닛(control unit)을 포함한다. According to the invention, such a data processing apparatus comprises a master controller for setting up a memory system by a control command associated with an input data set and an output data set, the memory system comprising: a first processor; Selects a first memory circuit based on a control command to generate a write address to the first memory circuit when the second processor provides the data of the input data set, and when the second processor requests data of the output data set, And a control unit for selecting a second memory circuit based on the second memory circuit and generating a read address in the second memory circuit.

입력 데이터 세트 및 출력 데이터 세트와 연관된 제어 커맨드는 이 두 세트의 데이터에 대해 자율적으로 어드레스를 발생하도록 메모리 시스템을 셋업한다. 메모리 시스템의 제어 유닛은 이러한 입력 및 출력 데이터의 어드레스를 내부적으로 계산하여, 각각의 데이터에 대해 메모리 회로를 선택한다. 따라서, 프로세서가 데이터를 제공하거나 수신하기 위한 어드레스를 전송할 필요가 없다. 사실상, 처리기는 데이터 세트를 요구하거나 제공할 때 메모리 시스템의 내부 동작에 대해 어떤 것도 알 필요가 없다. 그 결과, 처리기와 이러한 메모리 시스템 사이에 존재할 수 있는 통신 프로토콜과 그로 인한 하드웨어 구현이 종래에 비해 상당히 간이화된다.The control commands associated with the input data set and the output data set set up the memory system to autonomously generate addresses for these two sets of data. The control unit of the memory system internally calculates addresses of such input and output data, and selects a memory circuit for each data. Thus, there is no need for the processor to send an address for providing or receiving data. In fact, the processor does not need to know anything about the internal workings of the memory system when requesting or providing a data set. As a result, the communication protocols that can exist between a processor and such a memory system and the resulting hardware implementations are significantly simplified compared to the prior art.

본 발명의 또다른 이점은 다음의 양상들과 관계있다. 본 발명에 따른 데이터 처리 장치에서, 메모리 시스템은 제 1 처리기로부터 입력 데이터를 수신할 수도 있고, 그와 동시에 이 메모리 시스템은 제 2 처리기에 출력 데이터를 제공할 수도 있다. 제어 유닛은 입력 및 출력 데이터를 위해 두 개의 상이한 메모리 회로를 선택함으로써 액세스 충돌에 대항할 수 있게 했다. 이것은 기억된 데이터의 파손을 막아준다. 메모리 회로는 또한 소정 순간에 판독과 기입중 하나는 허용하지만 둘다는 허용하지 않는 유형의 것일 수도 있다. 이러한 메모리 회로는 비교적 저렴하고, 따라서 비용 효율을 본 발명의 또다른 이점으로 들 수 있다.Another advantage of the present invention relates to the following aspects. In the data processing apparatus according to the present invention, the memory system may receive input data from the first processor, and at the same time, the memory system may provide output data to the second processor. The control unit made it possible to combat access conflicts by selecting two different memory circuits for input and output data. This prevents the destruction of the stored data. The memory circuit may also be of a type that allows one of reading and writing at a given moment but not both. Such memory circuits are relatively inexpensive, and thus cost efficiency is another advantage of the present invention.

판독 및 기입 어드레스가 상이한 방법으로 발생될 수도 있다. 이러한 어드레스를 얻는 한 가지 방법은 입력 데이터 세트와 출력 데이터 세트와 연관된 모든 어드레스를 룩업 테이블에 싣는 것이다. 그러나 이러한 룩업 테이블은 구현이 복 잡하고, 큰 칩 면적을 필요로 한다.Read and write addresses may be generated in different ways. One way to get this address is to put all addresses associated with the input data set and the output data set into a lookup table. However, these lookup tables are complex to implement and require a large chip area.

청구항 제 2 항에 청구된 본 발명의 바람직한 실시예는 데이터가 기억되거나 페치(fetched)될 위치를 각기 결정하는 판독 및 기입 어드레스를 발생하기 위한 판독 카운터와 기입 카운터를 포함한다. 이러한 두 개의 카운터는 판독 어드레스와 기입 어드레스를 제공하기 위해 간단히 구현되는 수단이다.A preferred embodiment of the invention as claimed in claim 2 comprises a read counter and a write counter for generating read and write addresses that respectively determine where data is to be stored or fetched. These two counters are simply implemented means to provide a read address and a write address.

제 1 처리기가 입력 데이터 세트의 데이터를 제공하는 때와 제 2 처리기가 출력 데이터 세트의 데이터를 요구하는 때를 메모리 시스템이 알기 위한 방법은 여러 가지가 있다. 한가지 해결법은 전술한 두 개의 카운터가 클록 신호의 클록 펄스에 따라 한 단위씩 증가 혹은 감소하면서 계수하는 것이다. 이것은 입력 및 출력 데이터가 클록 신호에 의해 결정되는 고정된 속도로 수신되거나 제공됨을 의미한다.There are several ways for the memory system to know when the first processor provides data in the input data set and when the second processor requires data in the output data set. One solution is to count the two counters described above, incrementing or decrementing by one unit according to the clock pulses of the clock signal. This means that the input and output data are received or provided at a fixed rate determined by the clock signal.

청구항 제 3 항에 청구된 본 발명의 또다른 실시예는 처리기로부터 판독 신호 및 기입 신호를 받아들인다. 처리기는 새로운 출력 데이터를 요구하거나 혹은 새로운 입력 데이터를 제공할 때에 판독 혹은 기입 신호를 메모리 시스템으로 보낸다. 이 신호들은 처리기가 데이터를 비동기적으로 수신 혹은 제공할 수 있게 한다. 이 실시예의 데이터 처리 장치에서는, 두 개의 처리기가 자체 속도로 메모리 시스템에 액세스할 수 있다. 이것은 다양한 처리기가 자체 처리 속도를 가지고 있고 이들이 동일한 속도로 데이터를 수신 또는 제공할 수 없는 경우에 특히 유리하다. 데이터가 클록 신호에 따라 전송되는 해결법과 비교하면, 청구항 제 3 항에 청구된 실시예는 더 큰 융통성을 갖는다는 주요 이점을 제공한다.Another embodiment of the invention claimed in claim 3 receives a read signal and a write signal from a processor. The processor sends a read or write signal to the memory system when requesting new output data or providing new input data. These signals allow the processor to asynchronously receive or provide data. In the data processing apparatus of this embodiment, two processors can access the memory system at their own speed. This is particularly advantageous if the various processors have their own processing speed and they cannot receive or provide data at the same rate. Compared to the solution in which data is transmitted in accordance with the clock signal, the embodiment claimed in claim 3 provides the main advantage of greater flexibility.

또한 본 발명은, 연속하는 입력 데이터 세트를 수신하고 연속하는 출력 데이터 세트를 제공하는 다수의 메모리 회로를 포함하는 메모리 시스템과 관계있으며, 또한 이 메모리 시스템은, 입력 데이터 세트 및 출력 데이터 세트와 연관된 제어 커맨드에 의해 프로그램 가능한 제어 유닛을 포함하고, 이들 제어 커맨드에 근거하여, 입력 데이터 세트로부터 데이터가 수신될 때에는 제 1 메모리 회로가 선택되어 상기 제 1 메모리 회로에서 기입 어드레스가 발생되는 반면, 출력 데이터 세트로부터 데이터가 제공될 때에는 제 2 메모리 회로가 선택되어 상기 제 2 메모리 회로에서 판독 어드레스가 발생된다. 더 전반적으로 본 발명은 청구된 데이터 처리 장치에서 수행되는 데이터 처리 방법에도 관련있다. The invention also relates to a memory system comprising a plurality of memory circuits for receiving a continuous set of input data and providing a continuous set of output data, the memory system further comprising a control associated with the input data set and the output data set. A control unit programmable by a command, and based on these control commands, when data is received from an input data set, a first memory circuit is selected so that a write address is generated in the first memory circuit, while an output data set When data is provided from the second memory circuit is selected to generate a read address in the second memory circuit. More generally, the present invention also relates to a data processing method performed in the claimed data processing apparatus.

본 발명의 구체적인 양상은 첨부 도면과 연계하여 이후에 설명되는 실시예를 참조하여 설명될 것이다.Specific aspects of the present invention will be described with reference to the embodiments described below in connection with the accompanying drawings.

도 1은 본 발명에 따른 데이터 처리 장치의 일 실시예의 블록도이다.1 is a block diagram of an embodiment of a data processing apparatus according to the present invention.

도 2는 본 발명에 따른 데이터 처리 장치의 바람직한 실시예의 블록도이다2 is a block diagram of a preferred embodiment of a data processing apparatus according to the present invention.

도 3은 다양한 구성 요소간의 내부 접속을 보여주는 메모리 시스템의 블록도이다.3 is a block diagram of a memory system illustrating internal connections between various components.

도 4는 8비트 워드 MC_W를 도시한다.4 shows an 8-bit word MC_W.

본 발명에 따른 데이터 처리 장치(1)는 도 1에 도시되어 있다. 이 장치는 메모리 시스템(2), 연속하는 입력 데이터 세트를 메모리 시스템(2)에 제공하는 제 1 처리기 PROC1, 메모리 시스템(2)으로부터 연속하는 출력 데이터 세트를 수신하는 제 2 처리기 PROC2를 포함한다. PROC1은 크로스바(6)와 메모리 시스템(2)의 입력 포트(3)를 통해 데이터 Di를 제공한다. PROC2는 크로스바(5)와 메모리 시스템(2)의 출력 포트(4)를 통해 데이터 Do를 수신한다. 메모리 시스템(2)은 메모리 제어 유닛 MCU롸 메모리 블록 MB을 포함한다. 이 메모리 블록 MB에는 데이터가 물리적으로 기억되는데, 임의 개(여기에서는 5개)의 독립적인 메모리 회로 MEM1, MEM2, MEM3, MEM4, MEM5로 구성된다. 이들 메모리 회로는 본 발명의 바람직한 실시예에서 예를 들면 10비트의 256워드 구성의 SRAM(Static Random Access Memory)이다. 데이터 Di가 여기에 기입될 때, 각각의 메모리 회로 MEM1,...,MEM5는 각각의 입력 포트 I1, I2, I3, I4, I5를 통해 액세스 가능하며, 데이터 Do가 판독될 때에는, 각각의 메모리 회로 MEM1,...,MEM5는 각각의 출력 포트 O1, O2, O3, O4, O5를 통해 액세스 가능하다. The data processing apparatus 1 according to the invention is shown in FIG. 1. The apparatus comprises a memory system 2, a first processor PROC1 for providing a continuous set of input data to the memory system 2, and a second processor PROC2 for receiving a continuous set of output data from the memory system 2. PROC1 provides data Di through crossbar 6 and input port 3 of memory system 2. PROC2 receives data Do via crossbar 5 and output port 4 of memory system 2. The memory system 2 includes a memory control unit MCU # memory block MB. Data is physically stored in this memory block MB, and is composed of arbitrary (in this case five) independent memory circuits MEM1, MEM2, MEM3, MEM4, and MEM5. These memory circuits are, for example, static random access memory (SRAM) in a 256 word configuration of 10 bits, in a preferred embodiment of the present invention. When data Di is written here, each memory circuit MEM1, ..., MEM5 is accessible through each input port I1, I2, I3, I4, I5, and when data Do is read, each memory The circuits MEM1, ..., MEM5 are accessible through their respective output ports O1, O2, O3, O4 and O5.

데이터 처리 장치(1)는 또한 주 제어기 MCP를 포함하는제, 이것은 제어 버스 CB를 통해 제어 커맨드 CC를 제어 유닛 MCU로 전송한다. 이 제어 커맨드 CC는 메모리 블록 MB에 기입하기 위해 PROC1로부터 수신된 입력 데이터 세트와 연관된다. 도한 이 제어 커맨드는 PROC2에 의해 요구된 출력 데이터 세트와도 연관되는데, 이 출력 데이터 세트는 메모리 블록 MB로부터 페치되는 것이다. 커맨드 CC는 PROC1과 PROC2가 각각 입력 데이터 세트와 출력 데이터 세트를 처리하기 이전에 제어 유닛 MCU로 전송된다. 커맨드 CC는 제어 유닛 MCU의 셋업을 동작시킨다. 메모리 시스템(2)의 제어 유닛 MCU의 주 기능은 메모리 블록 MB내에 데이터를 기억하는 것을 관리하는 것이다. 제어 커맨드에 응답하여, 유닛 MCU는 메모리 블록 MB로 전송되는 커맨드 세트 COM을 발생하는데, 이 커맨드 세트 COM은 MB로부터 데이터 Do가 페치되는 위치나 혹은 MB에 데이터 Di가 삽입되는 위치를 나타내는다. 따라서, 데이터 Di가 기입을 위해 PROC1에 의해 포트(3)에 제공되면, MCU는 우선, 데이터 Di가 메모리 회로 MEM1, MEM2, MEM3, MEM4, MEM5 중 어디에 기입되어야 하는지를 대응하는 입력 포트 I1, I2, I3, I4, I5를 활성화시킴으로써 나타내는 세트 COM을 메모리 시스템(2)으로 전송한다. 또한, 이 COM 세트는 선택된 메모리 회로에서 데이터가 기입되는 위치인 기입 어드레스를 포함한다. 마찬가지로, 출력 포트(4)에서 PROC2에 의해 데이터 Do가 요구되면, MCU는, 어떤 메모리 회로 MEM이 선택되었는지를 메모리 블록 MB에게 나타내고 요구된 데이터가 페치될 메모리 회로내의 위치인 판독 어드레스를 포함하고 있는 세트 COM을 전송한다. The data processing apparatus 1 also comprises a main controller MCP, which sends a control command CC to the control unit MCU via the control bus CB. This control command CC is associated with the input data set received from PROC1 for writing to the memory block MB. This control command is also associated with the output data set required by PROC2, which is fetched from the memory block MB. The command CC is sent to the control unit MCU before PROC1 and PROC2 process the input data set and output data set, respectively. The command CC operates the setup of the control unit MCU. The main function of the control unit MCU of the memory system 2 is to manage storing data in the memory block MB. In response to the control command, the unit MCU generates a command set COM to be transmitted to the memory block MB, which indicates the position at which data Do is fetched from the MB or the position at which data Di is inserted into the MB. Therefore, when data Di is provided to port 3 by PROC1 for writing, the MCU firstly inputs the corresponding input ports I1, I2, The set COM indicated by activating I3, I4 and I5 is transferred to the memory system 2. The COM set also includes a write address which is a position where data is written in the selected memory circuit. Similarly, when data Do is requested by PROC2 at output port 4, the MCU indicates to the memory block MB which memory circuit MEM has been selected and contains a read address which is the location in the memory circuit to which the requested data is to be fetched. Send the set COM.

기입과 판독 동작은 동일한 메모리 회로에서 동시에 수행될 수 없음을 유의하자. 게다가, 판독과 기입을 위해 동시에 요구된 데이터를 파손하지 않기 위해서, 이 두 동작은 동시에 허용되지 않는다. 동일한 메모리 회로가 동시 기입 및 판독을 위해 선택되면, 판독 동작은 비활성화되고, 기입 동작은 평상시대로 수행된다. 동시 기입 및 판독 동작은 오로지 두 개의 상이한 메모리 회로에서 수행될 수 있다. 그 결과, 본 발명에 따른 데이터 처리 장치에서는 액세스 충돌이 해소된다. 이후의 설명에서는, 발생할 수 있는 액세스 충돌이 검출 및 방지되는 방법을 상세히 설명하겠다. Note that write and read operations cannot be performed simultaneously in the same memory circuit. In addition, these two operations are not allowed at the same time, in order not to destroy data required simultaneously for reading and writing. If the same memory circuit is selected for simultaneous write and read, the read operation is inactivated and the write operation is performed as usual. Simultaneous write and read operations can only be performed in two different memory circuits. As a result, the access conflict is eliminated in the data processing apparatus according to the present invention. In the following description, a detailed description will be given of how an access conflict that may occur is detected and prevented.

메모리 블록이 몇 개의 처리기와 연계하여 이용될 수도 있다. 그렇지만, 두 개의 처리기는 기입을 위해 메모리 시스템(2)를 동시에 액세스할 수 없다. 그러나, 몇 개의 유닛이 동일한 데이터 세트를 (4)를 통해 판독하기 위해 메모리 블록 MB에 동시에 액세스할 수도 있다. 본 명세서에서 설명한 바와 같이 메모리 블록은 처리 연쇄(processing chain)에서 두 개의 처리기 사이에 버퍼 메모리로서 종종 이용된다.Memory blocks may be used in conjunction with several processors. However, two processors cannot simultaneously access the memory system 2 for writing. However, several units may simultaneously access the memory block MB to read the same data set via (4). As described herein, memory blocks are often used as buffer memory between two processors in a processing chain.

본 발명의 바람직한 실시예에서, 도 2에 도시된 제어 유닛 MCU는 4개의 신호 MS, R/W, AD_W, AD_R로 이루어진 커맨드 세트 COM를 전송한다. 더욱이, 이 바람직한 실시예에서, 제어 유닛 MCU는 데이터가 판독 또는 기입될 때 제어 커맨드 CC에 의한 셋업 이후에 신호 MS를 메모리 블록 MB로 전송하는 제어기 CTRL를 포함한다. 이 신호 MS는 메모리 회로 MEM1, MEM2, MEM3, MEM4, MEM5 중 하나를 선택할 수 있게 한다. 제어기 CTRL은 또한 메모리 블록 MB에 R/W 신호를 공급하는데, 이 R/W 신호는 선택된 메모리 회로가 판독에 필요한지 기입에 필요한지를 나타내며, 메모리 회로가 판독을 위해 선택되었는지 혹은 기입을 위해 선택되었는지에 따라서 그 입력 포트 I1,...,I5나 혹은 그 출력 포트 O1,...,O5의 활성화를 허용한다. 예를 들어, 선택된 메모리 회로가 기입에 필요하면 이 신호는 1이고, 반면에 판독에 필요하면 0일 수도 있다. In a preferred embodiment of the present invention, the control unit MCU shown in FIG. 2 sends a command set COM consisting of four signals MS, R / W, AD_W, AD_R. Moreover, in this preferred embodiment, the control unit MCU comprises a controller CTRL which transmits the signal MS to the memory block MB after setup by the control command CC when data is read or written. This signal MS allows one of the memory circuits MEM1, MEM2, MEM3, MEM4, and MEM5 to be selected. The controller CTRL also supplies an R / W signal to the memory block MB, which indicates whether the selected memory circuit is required for reading or for writing, and whether the memory circuit has been selected for reading or for writing. This allows the activation of its input ports I1, ..., I5 or its output ports O1, ..., O5. For example, this signal may be 1 if the selected memory circuit is needed for writing, while 0 may be required for reading.

또한, 메모리 제어 유닛 MCU는 외부적으로 적재(loaded)될 수 있는 두 개의 내부 카운터 CNT_R과 CNT_W를 포함한다. 카운터 CNT_W의 값은 제어 유닛 MCU의 기입 입력 포트(7)를 통해 수신된 신호 NXT_W에 응답하여 변경`되며, 제어기 CTRL에 의해 선택된 메모리 회로에 기입될 데이터 Di의 판독 어드레스인 신호 AD_W를 제공한다. 따라서, 프로세서 PROC1이 데이터 Di를 제공할 때, 이 PROC1은 크로스바(6)과 기입 입력 포트(7)를 통해 신호 NXT_W도 전송한다. 데이터 Di는 제어기 CTRL에 의해 선택된 메모리 회로내에서 AD_W에 의해 지시된 위치에 기입된다. 다음, 카운터 CNT_W는 NXT_W에 응답하여 증가되어, PROC1에 의해 제공되는 다음 데이터 Di를 위해 다음에 이용할 수 있는 위치를 나타내는 새로운 어드레스 AD_W를 제공할 준비를 한다. 그러므로, 신호 NXT_W는, 데이터 Di의 연속적인 비동기 기입을 위해서, 선택된 메모리 회로내에서 어드레스를 증가시키는 것을 허용한다. 본 발명의 이 실시예에서 카운터 CNT_W는 데이터가 선택된 메모리 회로에 기입된 이후에 증가된다. CNT_W는 데이터가 기입되기 이전에 NXT_W에 응답하여 감소될 수도 있다.The memory control unit MCU also includes two internal counters CNT_R and CNT_W that can be externally loaded. The value of the counter CNT_W is changed in response to the signal NXT_W received through the write input port 7 of the control unit MCU, and provides a signal AD_W which is a read address of data Di to be written to the memory circuit selected by the controller CTRL. Thus, when processor PROC1 provides data Di, this PROC1 also transmits signal NXT_W via crossbar 6 and write input port 7. The data Di is written to the position indicated by AD_W in the memory circuit selected by the controller CTRL. The counter CNT_W is then incremented in response to NXT_W to prepare to provide a new address AD_W indicating the next available location for the next data Di provided by PROC1. Therefore, the signal NXT_W allows to increase the address in the selected memory circuit for the continuous asynchronous writing of data Di. In this embodiment of the present invention the counter CNT_W is incremented after data is written to the selected memory circuit. CNT_W may be reduced in response to NXT_W before data is written.

유사하게, PROC2가 메모리 블록 MB로부터 새로운 데이터 D0을 요구할 때, PROC2는 신호 NXT_R을 크로스바(5)와 제어 유닛 MCU의 판독 입력 포트(8)를 통해서 카운터 CNT_R로 전송한다. 신호 NXT_R에 응답하여, 카운터 CNT_R은 증가하고 판독 어드레스 AD_R을 MB로 제공한다. 이 어드레스 AD_R은 제어기 CTRL에 의해 판독용으로 선택된 메모리 회로에서 PROC2에 의해 요구된 데이터 D0의 어드레스이다. 카운터 CNT_R은 선택된 메모리 회로로부터 데이터가 취해지기 전에 증가된다. 본 발명의 일 실시예에서, 신호 NXT_W와 NXT_R은 카운터의 각 클록 입력에 제공되고, 그러므로 이들은 카운터 CNT_W와 CNT_R에 대해 각기 비동기 클록으로서 작용한다. 이 바람직한 실시예의 주 이점은 메모리 시스템이 상이한 처리 속도의 처리기에 의해 액세스될 수 있도록 해주는 데이터 처리 장치(1)의 비동기적 동작이다. 본 발명의 가능한 구현으로서, 두 개의 카운터가 하나의 클록 신호에 접속되어, 예를 들면 클록 신호의 각각의 상승 에지에서 판독 및 기입 어드레스를 제공하는 것도 가능하다. 이 구현은 클록의 고정된 주파수로 데이터를 수신 및 제공해야 하는 프로세서의 동기적 동작을 필요로 한다.Similarly, when PROC2 requests new data D0 from memory block MB, PROC2 sends signal NXT_R to counter CNT_R via crossbar 5 and read input port 8 of control unit MCU. In response to the signal NXT_R, the counter CNT_R increments and provides the read address AD_R in MB. This address AD_R is the address of data D0 requested by PROC2 in the memory circuit selected for reading by the controller CTRL. The counter CNT_R is incremented before data is taken from the selected memory circuit. In one embodiment of the present invention, signals NXT_W and NXT_R are provided at each clock input of the counter, and therefore they act as asynchronous clocks respectively for counters CNT_W and CNT_R. The main advantage of this preferred embodiment is the asynchronous operation of the data processing apparatus 1 which allows the memory system to be accessed by processors of different processing speeds. As a possible implementation of the invention, it is also possible for two counters to be connected to one clock signal, for example to provide read and write addresses at each rising edge of the clock signal. This implementation requires synchronous operation of the processor, which must receive and provide data at a fixed frequency of the clock.

본 발명의 개선된 일 실시예는 도 3에 도시된다. 이 도면은 도 2의 두 개의 카운터 CNT_W, CNT_R을 포함하는 메모리 제어 유닛 MCU를 도시한다. 본 발명의 이 개선된 실시예에서, 도 2에 설명된 제어기 CTRL는 두 개의 독립된 제어기 CTRL_W 및 CTRL_R과, 메모리 시스템(2)내에서 발생할 수도 있는 액세스 충돌을 검출 및 해결하는 독립된 유닛 COMP로 구성된다. 제어 유닛 MCU는 4개의 레지스터 REG1, REG2, REG3, REG4로 구성된다. 이 레지스터는 주 제어기 MCP로부터 제어 커맨드 세트 CC를 수신한다. 이 세트 CC는 이 경우에 4개의 주 커맨드 워드 Strt_W, MC_W, MC_R, Strt_R로 이루어진다. 커맨드 MC_W와 MC_R은 주 제어기 MCP에 의해 제어 버스 CB로 전송된 적재 신호 ld_conf에 응답하여 각각 REG2와 REG3에 기억된다. Strt_W와 Strt_R은 각기 제어기 CTRL_W와 CTR_R로부터의 ld신호에 응답하여 각기 REG1와 REG4에 적재된다. REG1의 내용은 접속 라인(10)을 통해 카운터 CNT_W에 전송된다. REG2의 내용은 접속 라인(11)을 통해 제어기 CTRL_W에 전송된다. REG3의 내용은 접속 라인(12)을 통해 제어기 CTRL_R에 전송된다. REG4의 내용은 접속 라인(13)을 통해 카운터 CNT_R에 전송된다. 제어 버스 CB로 전송된 ld_conf 신호는 메모리 제어 유닛 MCU의 셋업을 활성화시킨다. 이 신호 ld_conf에 응답하여, 레지스터 REG2와 REG3의 내용은 제어 버스 CB상에서 수신된 새로운 제어 커맨드 CC로 갱신된다.One improved embodiment of the present invention is shown in FIG. 3. This figure shows a memory control unit MCU comprising two counters CNT_W, CNT_R in FIG. In this improved embodiment of the present invention, the controller CTRL described in FIG. 2 consists of two independent controllers CTRL_W and CTRL_R, and an independent unit COMP that detects and resolves access conflicts that may occur within the memory system 2. . The control unit MCU consists of four registers REG1, REG2, REG3, and REG4. This register receives the control command set CC from the main controller MCP. This set CC consists of four main command words Strt_W, MC_W, MC_R and Strt_R in this case. Commands MC_W and MC_R are stored in REG2 and REG3, respectively, in response to the load signal ld_conf sent to the control bus CB by the main controller MCP. Strt_W and Strt_R are loaded into REG1 and REG4 respectively in response to ld signals from controllers CTRL_W and CTR_R. The contents of REG1 are transmitted to the counter CNT_W via the connection line 10. The contents of REG2 are transmitted to the controller CTRL_W via the connection line 11. The contents of REG3 are transmitted to the controller CTRL_R via the connection line 12. The contents of REG4 are transmitted to the counter CNT_R via the connection line 13. The ld_conf signal sent to the control bus CB activates the setup of the memory control unit MCU. In response to this signal ld_conf, the contents of registers REG2 and REG3 are updated with a new control command CC received on the control bus CB.

도 3에 도시된 메모리 블록은 대칭인데, 이 메모리 블록의 상부 부분은 메모리 블록의 기입 기능과 관련있고, 상부 부분과 대칭인 그 하부 부분은 메모리 블록의 판독 기능과 관련있다. 다음의 설명은 주로 기입 기능과 관련있는 메모리 블록의 소자들을 중점적으로 다루지만, 이들 소자대한 설명은 판독 기능과 관련있는 대칭 소자에 대해서도 그대로 유효하다.The memory block shown in Fig. 3 is symmetrical, where the upper part of the memory block is related to the write function of the memory block, and the lower part that is symmetric to the upper part is related to the read function of the memory block. The following discussion focuses primarily on the elements of the memory block that relate to the write function, but the descriptions for these devices remain valid for symmetrical elements that relate to the read function.

Strt_W, MC_W, MC_R, Strt_R은 8비트 워드로서, 이 비트들은 이후에 설명되는 의미를 갖는다. 신호 MC_R과 MC_W는 각각 판독 처리 사이클동안의 판독 패턴과, 기입 처리 사이클동안의 기입 패턴을 정의한다. 처리 사이클은 셋업 단계동안 제어기 CTRL_W와 CTRL_R에 적재된 새로운 제어 커맨드 세트 CC로 시작한다. 도 4에 도시된 8비트 워드 MC_W의 각 비트의 정확한 의미는 다음과 같다.Strt_W, MC_W, MC_R, Strt_R are 8-bit words, and these bits have the meaning described later. The signals MC_R and MC_W respectively define a read pattern during the read processing cycle and a write pattern during the write processing cycle. The processing cycle starts with a new control command set CC loaded in the controllers CTRL_W and CTRL_R during the setup phase. The exact meaning of each bit of the 8-bit word MC_W shown in FIG. 4 is as follows.

최하위 비트 MC_W[0]는, 기입 동작이 인에이블되었는지를 나타낸다. 이 비트가 "1"로 설정되면, 기입 동작이 허용되고, 이 비트가 "0"으로 설정되면, 기입 동작은 비활성화 되고, 카운터 CNT_W는 증가되지 않으며, MC_W의 다른 비트들은 무시된다.The least significant bit MC_W [0] indicates whether the write operation is enabled. If this bit is set to "1", a write operation is allowed, and if this bit is set to "0", the write operation is disabled, the counter CNT_W is not incremented, and other bits of MC_W are ignored.

MC_W[1]과 MC_W[2]는 4개의 가능한 패턴중에 기입 동작 패턴을 선택한다. 표 1은 기입 동작용 패턴을 제공하는 내부 제어기 CTRL_W에 기억된 코드를 정의한다. MC_W [1] and MC_W [2] select a write operation pattern from four possible patterns. Table 1 defines the code stored in the internal controller CTRL_W that provides the pattern for the write operation.                 

Figure 112000025271089-pct00001
Figure 112000025271089-pct00001

MC_W[3], MC_W[4], MC_W[5]는 기입 사이클 동안 기입용 시작 메모리 회로 번호 값을 나타낸다. 본 발명의 이 실시예에서 메모리 블록 MB는 5개의 독립적인 메모리 회로를 포함하므로, 1에서 5까지인 메모리 회로의 번호는 이 경우에 3비트로 2진수로 엔코드된다.MC_W [3], MC_W [4], and MC_W [5] represent the starting memory circuit number values for writing during the write cycle. In this embodiment of the present invention, the memory block MB includes five independent memory circuits, so that the numbers of the memory circuits 1 to 5 are encoded in this case as 3 bits in binary.

MC_W[6]은 사용되지 않는다.MC_W [6] is not used.

최상위 비트 MC_W[7]은 기입 사이클동안에 메모리 회로 번호의 변경에 대한 필요성을 나타낸다. 이 비트가 "0"으로 설정되면, 8비트 어드레스 카운터 CNT_W가 메모리 회로의 처음에서 끝까지 진행했을 때 메모리 회로 번호는 자동적으로 증가된다. 만약 메모리 회로 번호가 최고값(여기에서는 5임)과 동일하면, MC_W[3], MC_W[4], MC_W[5]에 코드화된 메모리 회로 번호는 1로 설정된다. 제어기 CTRL_W는 전송 라인(14)를 통해 검사하기 위해 CNT_W의 현재값에 대해 액세스한다. 이 비트가 "1"로 설정되면, MC_W[3], MC_W[4], MC_W[5]에 코드화된 메모리 회로 번호는 기입 사이클 동안 변경되지 않는다. The most significant bit MC_W [7] indicates the need for a change of the memory circuit number during the write cycle. If this bit is set to "0", the memory circuit number is automatically incremented when the 8-bit address counter CNT_W advances from the beginning to the end of the memory circuit. If the memory circuit number is equal to the highest value (here 5), the memory circuit number coded in MC_W [3], MC_W [4], MC_W [5] is set to one. The controller CTRL_W accesses the current value of CNT_W for checking through transmission line 14. If this bit is set to "1", the memory circuit numbers coded in MC_W [3], MC_W [4], MC_W [5] are not changed during the write cycle.                 

8비트 워드 MC_R에 대해서도 유사한 설명이 유효하다. 그 비트들은 이번에는 판독 사이클에 대해 MC_W의 비트들과 동일한 의미를 갖는다. 따라서, 제어기 CTRL_R은 접속 라인(17)을 통해 CNT_R의 값을 검사 및 리셋하고, 카운터 CNT_R이 커맨드 ld에 응답하여 새로운 값을 적재할 수 있게 한다.Similar explanation is valid for the 8-bit word MC_R. The bits this time have the same meaning as the bits of MC_W for the read cycle. Thus, controller CTRL_R checks and resets the value of CNT_R via connection line 17 and allows counter CNT_R to load a new value in response to command ld.

액세스 충돌은, 판독 동작동안 선택된 메모리 회로와 기입 동작 동안 선택된 메모리 회로가 동일할 때, 즉, MC_W[3]=MC_R[3], MC_W[4]=MC_R[4], MC_W[5]=MC_R[5]일 때 발생할 수 있다. 갈등은 또한 기입과 판독 동작이 둘 다 인에이블될 때, 즉, MC_W[0]=1, MC_R[0]=1일 때 실재한다. 유닛 COMP는 라인(15)상에 전송된 비트 MC_W[0], MC_W[3], MC_W[4], MC_W[5]를 CTRL_W로부터 수신하고, 라인(16)상에 전송된 비트 MC_R[0], MC_R[3], MC_R[4], MC_R[5]를 CTRL_R로부터 수신한다. 유닛 COMP는 수신된 비트들을 비트 단위로 비교하고, 실제 메모리 액세스 충돌(판독과 기입을 위해 선택된 메모리 회로 번호가 동일하고, 판독과 기입 동작이 둘다 인에이블됨)이 검출하면, 라인(16)을 통해, 판독 동작이 인에이블되었음을 말하고 있는 비트 MC_R[0]이 CTRL_R에 의해 0으로 판독되도록 한다. 사실상, 유닛 COMP은 정확히 말해서 MC_R[0]을 변경하는 것이 아니라, MC_R[0]은 여전히 1이지만, 이것이 제어기 CTRL_R에 의해 0으로 판독되도록 만든다. 판독과 기입 동작중 하나가 새로운 셋업 단계동안 디스에이블되기 때문에, 혹은 판독이나 기입을 위해 액세스되는 메모리 회로의 번호가 새로운 셋업 동안이나 판독 또는 기입 동작의 과정에서 변경되기 때문에 충돌은 중단된다. 이러한 경우, 유닛 COMP는 더 이상 충돌을 검출하지 않으며, 기입 동작이 평상시대로 수행된다. An access collision is caused when the memory circuit selected during the read operation and the memory circuit selected during the write operation are the same, that is, MC_W [3] = MC_R [3], MC_W [4] = MC_R [4], MC_W [5] = MC_R Can occur when [5]. Conflicts also exist when both write and read operations are enabled, that is, when MC_W [0] = 1, MC_R [0] = 1. Unit COMP receives bits MC_W [0], MC_W [3], MC_W [4], MC_W [5] transmitted on line 15 from CTRL_W, and transmits bits MC_R [0] transmitted on line 16. , MC_R [3], MC_R [4], MC_R [5] are received from CTRL_R. Unit COMP compares the received bits bit by bit and, if a real memory access conflict (memory circuit number selected for read and write is the same and both read and write operations are enabled) detects line 16 By doing this, bit MC_R [0] that says the read operation is enabled is read as 0 by CTRL_R. In fact, the unit COMP does not exactly change MC_R [0], but MC_R [0] is still 1, but this causes it to be read as 0 by the controller CTRL_R. The collision is interrupted because one of the read and write operations is disabled during the new setup phase, or because the number of memory circuits accessed for read or write is changed during the new setup or during the read or write operation. In this case, the unit COMP no longer detects a collision, and the write operation is performed as usual.                 

데이터 Di가 메모리 시스템(2)에 기입되는 것이 필요한 경우를 생각해보자. Di는 포트(3)에 제공되고, 동시에 CTRL_W와 CNT_W는 그들 각각의 신호 MS, R/W, AD_W를 전송한다. MS 신호는, 예를 들면, 선택될 메모리 회로 번호를 나타내는 3개의 코드화된 비트이다. 이 신호는 디멀티플렉서 DEMUX에 전송되고, DEMUX의 출력은 각각의 메모리 회로 MEM에 접속되어 있다. 디멀티플렉서 DEMUX는 번호가 MS에 코드화된 메모리 회로에게는 1을 전송하고, 다른 모든 회로에게는 0을 전송한다. R/W 신호는 모든 메모리 회로로 전송되지만, 선택된 메모리 회로에 의해서만 고려되고, 또한 Di 기입용 메모리 회로의 입력 포트의 활성화를 초래한다. 기입 어드레스 AD_W도 모든 메모리 회로로 전송되지만, 오로지 선택된 메모리 회로에 의해서만 고려된다. 다음, 데이터는 메모리 블록에서 활성화된 입력 포트를 향해, 그리고 선택된 메모리 회로내의 지시된 위치로 전송된다.Consider a case where it is necessary for data Di to be written to the memory system 2. Di is provided to port 3, and at the same time CTRL_W and CNT_W transmit their respective signals MS, R / W, AD_W. The MS signal is, for example, three coded bits representing the memory circuit number to be selected. This signal is transmitted to the demultiplexer DEMUX, and the output of the DEMUX is connected to each memory circuit MEM. The demultiplexer DEMUX sends a 1 to the memory circuit whose number is coded in the MS and 0 to all other circuits. The R / W signal is sent to all memory circuits, but only considered by the selected memory circuit, and also results in activation of the input port of the Di write memory circuit. The write address AD_W is also sent to all memory circuits, but only considered by the selected memory circuit. The data is then transferred towards the active input port in the memory block and to the indicated location in the selected memory circuit.

본 발명의 개선된 실시예에서, 메모리 시스템(2)은 데이터를 수신하거나 제공할 준비가 되었는지를 프로세서에게 나타내는 신호를 전송할 수도 있다. 이것은 프로세서가 판독용 메모리가 비어있을 때 이 메모리에 액세스하거나 혹은 기입용 메모리가 이미 가득 차 있을 때 이 메모리에 액세스하는 것을 막아준다.In an improved embodiment of the invention, the memory system 2 may transmit a signal indicating to the processor whether it is ready to receive or provide data. This prevents the processor from accessing this memory when the read memory is empty or when the write memory is already full.

도면과 그 설명은 본 발명을 한정하는 것이 아니라 예시하는 것이다. 첨부된 특허 청구 범위의 사상을 유지하는 다양한 대체물이 존재할 수 있음이 자명할 것이다. 이런 견지에서 다음의 맺음말이 작성되었다The drawings and their descriptions are intended to illustrate, not limit, the invention. It will be apparent that various alternatives may exist that maintain the spirit of the appended claims. In this respect the following conclusion was made:

다양한 유닛에 대해서 기능 혹은 기능적 요소를 물리적으로 분산시키는 다양한 방법이 존재한다. 이런 견지에서, 도면은 단순히 도식적인 것이고, 그 각각은 단지 본 발명의 가능한 실시예를 표시하고 있다. There are various ways of physically distributing the functions or functional elements across the various units. In this respect, the drawings are merely schematic, each of which merely represents a possible embodiment of the present invention.

Claims (5)

데이터 처리 장치(1)에 있어서,In the data processing apparatus 1, 연속적인 입력 데이터 세트(successive sets of input data)를 제공하는 제 1 처리기(PROC1)와, A first processor PROC1 for providing successive sets of input data, 연속적인 출력 데이터 세트(successive sets of output data)를 수신하는 제 2 처리기(PROC2)와, A second processor PROC2 that receives successive sets of output data, 상기 연속적인 입력 데이터 세트를 수신하고 상기 연속적인 출력 데이터 세트를 제공하는 다수의 메모리 회로(MEM)를 구비하는 메모리 시스템(2)을 포함하되,A memory system (2) having a plurality of memory circuits (MEM) for receiving said continuous input data set and providing said continuous output data set, 상기 데이터 처리 장치는 입력 데이터 세트와 출력 데이터 세트에 연관된 제어 커맨드(control commands;CC)에 의해 상기 메모리 시스템을 셋업하는 주 제어기(master controller;MCP)를 더 포함하며,The data processing apparatus further includes a master controller (MCP) for setting up the memory system by control commands (CC) associated with an input data set and an output data set, 상기 메모리 시스템은,The memory system, 상기 제 1 처리기에 의해 상기 입력 데이터 세트로부터 데이터(Di)가 제공될 때에는, 상기 제어 커맨드에 근거하여 제 1 메모리 회로를 선택하고 상기 제 1 메모리 회로에 기입 어드레스(AD_W)를 발생하고, 상기 제 2 처리기에 의해 출력 데이터 세트로부터 데이터(Do)가 요구될 때에는, 상기 제어 커맨드에 근거하여 제 2 메모리 회로를 선택하고 상기 제 2 메모리 회로에 판독 어드레스(AD_R)를 발생하는 제어 유닛(control unit;MCU)를 더 포함하는 When data Di is provided from the input data set by the first processor, a first memory circuit is selected based on the control command and a write address AD_W is generated in the first memory circuit. A control unit for selecting a second memory circuit based on the control command and generating a read address AD_R in the second memory circuit when data Do is requested from the output data set by the second processor; More including MCU) 데이터 처리 장치.Data processing unit. 제 1 항에 있어서,The method of claim 1, 상기 제어 유닛은,The control unit, 상기 입력 데이터 세트로부터 수신된 데이터와 연계하여 그 값이 변경되며, 상기 제 1 메모리 회로내의 상기 데이터의 상기 기입 어드레스를 나타내는 기입 카운터(CNT_W)와,A write counter CNT_W indicating a value of the write address of the data in the first memory circuit, the value being changed in association with data received from the input data set; 상기 출력 데이터 세트로부터 제공된 데이터와 연계하여 그 값이 변경되며, 상기 제 2 메모리 회로내의 상기 데이터의 상기 판독 어드레스를 나타내는 판독 카운터(CNT_R)를 포함하는 데이터 처리 장치.And a read counter (CNT_R) whose value is changed in association with data provided from the output data set, the read counter indicating the read address of the data in the second memory circuit. 제 1 항에 있어서,The method of claim 1, 상기 제어 유닛은, The control unit, 상기 제어 유닛이 상기 기입 어드레스를 발생하는 것에 응답하여, 상기 제 1 처리기로부터 기입 데이터 신호(NXT_W)를 수신하는 기입 입력 포트(7)와,A write input port 7 for receiving a write data signal NXT_W from the first processor in response to the control unit generating the write address; 상기 제어 유닛이 상기 판독 어드레스를 발생하는 것에 응답하여, 상기 제 2 처리기로부터 판독 데이터 신호(NXT_R)를 수신하는 판독 입력 포트(8)를 더 포함하는 데이터 처리 장치. And a read input port (8) for receiving a read data signal (NXT_R) from said second processor in response to said control unit generating said read address. 연속적인 입력 데이터 세트를 수신하고 연속적인 출력 데이터 세트를 제공하는 다수의 메모리 회로(MEM)를 포함하는 메모리 시스템(2)에 있어서,A memory system (2) comprising a plurality of memory circuits (MEM) for receiving a continuous set of input data and providing a continuous set of output data, 입력 데이터 세트 및 출력 데이터 세트와 연관된 제어 커맨드(CC)에 의해 프로그램 가능한 제어 유닛(MCU)을 더 포함하고,Further comprising a control unit (MCU) programmable by a control command (CC) associated with the input data set and the output data set, 상기 제어 커맨드에 근거하여, 상기 입력 데이터 세트로부터 데이터(Di)가 수신될 때에는, 제 1 메모리 회로가 선택되어 상기 제 1 메모리 회로에 기입 어드레스(AD_W)가 발생되는 반면, 상기 출력 데이터 세트로부터 데이터(Do)가 제공될 때에는, 제 2 메모리 회로가 선택되어 상기 제 2 메모리 회로에 판독 어드레스(AD_R)가 발생되는 Based on the control command, when data Di is received from the input data set, a first memory circuit is selected to generate a write address AD_W in the first memory circuit, while data from the output data set is received. When Do is provided, a second memory circuit is selected so that a read address AD_R is generated in the second memory circuit. 메모리 시스템.Memory system. 연속적인 입력 데이터 세트를 제공하는 제 1 처리기(PROC1)와, 연속적인 출력 데이터 세트를 수신하는 제 2 처리기(PROC2)와, 상기 연속적인 입력 데이터 세트를 수신하고 상기 연속적인 출력 데이터 세트를 제공하는 다수의 메모리 회로(MEM)를 구비하는 메모리 시스템(2)을 포함하는 데이터 처리 장치(1)에서 데이터를 처리하는 방법에 있어서,A first processor PROC1 for providing a continuous input data set, a second processor PROC2 for receiving a continuous output data set, and receiving the continuous input data set and providing the continuous output data set A method of processing data in a data processing apparatus 1 comprising a memory system 2 having a plurality of memory circuits MEM, 입력 데이터 세트와 출력 데이터 세트에 대해, For input data set and output data set, 상기 입력 데이터 세트 및 상기 출력 데이터 세트와 연관된 제어 커맨드로 상기 메모리 시스템을 셋업(set up)하는 구성 단계(configuration step)와,A configuration step of setting up the memory system with control commands associated with the input data set and the output data set; 상기 제어 커맨드에 근거하여, 데이터가 상기 입력 데이터 세트에 속하는 경우에는, 상기 메모리 시스템이 제 1 메모리 회로를 선택하여 상기 제 1 메모리 회로에 기입 어드레스를 발생하고, 데이터가 상기 출력 데이터 세트에 속하는 경우에는, 상기 메모리 시스템이 제 2 메모리 회로를 선택하여 상기 제 2 메모리 회로에 판독 어드레스를 발생하는 실행 단계(execution step)를 포함하는 Based on the control command, when data belongs to the input data set, when the memory system selects a first memory circuit to generate a write address to the first memory circuit, and when data belongs to the output data set And an execution step in which the memory system selects a second memory circuit to generate a read address in the second memory circuit. 데이터 처리 방법.How data is processed.
KR1020007013445A 1999-03-31 2000-03-09 Data processing arrangement and memory system KR100664334B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/282,325 US6349378B1 (en) 1999-03-31 1999-03-31 Data processing using various data processors
US09/282,325 1999-03-31
US09/316,560 1999-05-24
US09/316,560 US6874013B2 (en) 1999-05-24 1999-05-24 Data processing arrangement and memory system

Publications (2)

Publication Number Publication Date
KR20010052435A KR20010052435A (en) 2001-06-25
KR100664334B1 true KR100664334B1 (en) 2007-01-02

Family

ID=26961375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007013445A KR100664334B1 (en) 1999-03-31 2000-03-09 Data processing arrangement and memory system

Country Status (7)

Country Link
EP (1) EP1084466B1 (en)
JP (1) JP2002541543A (en)
KR (1) KR100664334B1 (en)
CN (1) CN1185573C (en)
DE (1) DE60019519T2 (en)
TW (1) TW525084B (en)
WO (1) WO2000060448A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0353942A3 (en) * 1988-08-02 1991-01-16 Advanced Micro Devices, Inc. A ripple-through fifo memory
US5546347A (en) * 1994-07-22 1996-08-13 Integrated Device Technology, Inc. Interleaving architecture and method for a high density FIFO
CA2150151A1 (en) * 1994-08-05 1996-02-06 John H. Baldwin First-in first-out memory

Also Published As

Publication number Publication date
KR20010052435A (en) 2001-06-25
DE60019519T2 (en) 2006-02-23
EP1084466A1 (en) 2001-03-21
EP1084466B1 (en) 2005-04-20
WO2000060448A1 (en) 2000-10-12
CN1185573C (en) 2005-01-19
JP2002541543A (en) 2002-12-03
DE60019519D1 (en) 2005-05-25
TW525084B (en) 2003-03-21
CN1306638A (en) 2001-08-01

Similar Documents

Publication Publication Date Title
US4780812A (en) Common memory system for a plurality of computers
KR950035193A (en) Computer network and how to communicate voice and data information
JPH03131945A (en) Staggered-access-memory
US6029233A (en) Circuit for moving data between remote memories and computer comprising such a circuit
US6931462B2 (en) Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
US5146560A (en) Apparatus for processing bit streams
EP1109102B1 (en) Memory system comprising multiple memory devices and memory access method
KR20010050236A (en) Arrangement with a plurality of processors sharing a collective memory
KR100664334B1 (en) Data processing arrangement and memory system
US6874013B2 (en) Data processing arrangement and memory system
US5289426A (en) Dual port memory having address conversion function
JPS61165170A (en) Bus controlling system
KR20110014988A (en) Method for controlling access to regions of a storage comprising a plurality of processes and communication module having a message storage for implementing the method
EP1096384B1 (en) Bridge unit between a system bus and a local bus
KR950009763B1 (en) A method of data transmission and synchronization between two cpu's
US6175881B1 (en) Microcontroller having a memory, a dedicated multitask memory, and switching circuit for selectively connecting the multitask memory to the internal or external bus
JPH0373039A (en) Processor and multiprocessor system
US5357619A (en) Paged memory scheme
EP0344915A2 (en) Apparatus for processing bit streams
KR920004415B1 (en) A circuit and a method for transfering data
KR100192774B1 (en) Apparatus for identifying structure of memory in a computer system
JPS6037933B2 (en) Computer memory access method
JPH0851682A (en) Method and device for setting line
KR20020010754A (en) Apparatus for memory share in the digital signal processor
JPH03237549A (en) Memory access control system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20091210

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee