KR20050001295A - Method for managing memory embedded in processor and device thereof - Google Patents
Method for managing memory embedded in processor and device thereof Download PDFInfo
- Publication number
- KR20050001295A KR20050001295A KR1020030042899A KR20030042899A KR20050001295A KR 20050001295 A KR20050001295 A KR 20050001295A KR 1020030042899 A KR1020030042899 A KR 1020030042899A KR 20030042899 A KR20030042899 A KR 20030042899A KR 20050001295 A KR20050001295 A KR 20050001295A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- signal
- processor
- clock
- managing
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- 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
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
Abstract
Description
본 발명은 메모리에 관한 것으로, 보다 상세하게는 프로세서에 내장된 메모리를 관리하는 방법 및 장치에 관한 것이다.The present invention relates to a memory, and more particularly, to a method and apparatus for managing a memory embedded in a processor.
CPU, DSP(Digital signal processor), 또는 ASIP(Application specific instruction processor)등의 프로세서에는 프로그램과 데이터를 저장하기 위한 메모리가 내장된(embedded) 경우가 많다. 이러한 내장된 메모리는 평소에 프로세서에 의해 관리되며, 프로세서로부터 시스템의 동기화를 위한 클록 및 데이터의 기록이나 판독을 위한 관리정보를 받는다.Processors such as a CPU, a digital signal processor (DSP), or an application specific instruction processor (ASIP) are often embedded with memory for storing programs and data. This built-in memory is normally managed by the processor and receives management information from the processor for recording or reading the clock and data for synchronization of the system.
그러나, 프로그램의 최초 로딩(loading), 테스팅, 또는 디버깅(debugging)을 위해서, 외부 응용기기에서 내장된 메모리에 프로그램이나 데이터를 기록하거나, 이를 판독할 필요가 있는 경우가 있다. 특히, 프로세서가 에러상태인 경우에 디버깅을 위해서는, 프로세서로부터 클록이나 관리정보를 받지 않고도, 외부 응용기기에서 내장된 메모리에 데이터를 기록하거나 판독할 필요가 있다.However, in order to initially load, test, or debug a program, it may be necessary to write or read a program or data to an internal memory in an external application. In particular, for debugging when the processor is in an error state, it is necessary to write or read data to an internal memory from an external application without receiving clock or management information from the processor.
이러한 필요를 만족시키기 위한 방법으로, JTAG(Joint Test Action Group) 방식을 이용하여 메모리를 관리하는 방법이 있다. 도 1은 종래의 JTAG 방식에 의한 메모리를 관리하는 방법이 적용된 시스템의 구성도를 도시한다. 도 1을 참조하면, JTAG 응용기기(101)는 프로세서(104)에 내장된 메모리(103)에 데이터를 기록/판독한다. 이때, 동기화를 위해 별도의 클록(102)이 필요하며, 관리정보를 전달하기 위한 전용핀(TCK, TDL, DO, TMS, TRST)이 필요하다. 전용핀을 통해, 메모리의 기록/판독을 위한 관리정보로서, 주소, 데이터, 및 제어명령을 포함하는 정보가JTAG 응용기기(101)로부터 메모리(103)로 전달된다.As a method for satisfying such a need, there is a method of managing memory using a Joint Test Action Group (JTAG) method. 1 is a block diagram of a system to which a method of managing a memory by a conventional JTAG method is applied. Referring to FIG. 1, the JTAG application 101 writes / reads data to a memory 103 embedded in the processor 104. At this time, a separate clock 102 is required for synchronization, and a dedicated pin (TCK, TDL, DO, TMS, TRST) for transmitting management information is required. Through the dedicated pins, as management information for writing / reading the memory, information including an address, data, and a control command is transferred from the JTAG application device 101 to the memory 103.
그러나 이 경우, 도 1에 나타난 것과 같이, 메모리의 관리를 위해서는 별도의 클록(102)이 있어야 하며, 관리정보를 메모리에 전달하기 위해 4-5개의 별도의 전용핀이 필요하다. 또한, JTAG 방식은 테스트나 디버깅 용도 외에는 일반 메모리 기록/판독을 위한 버스(bus)로는 사용할 수 없는 문제점이 있다.In this case, however, as shown in FIG. 1, a separate clock 102 is required for memory management, and 4-5 separate dedicated pins are required to transfer management information to the memory. In addition, there is a problem that the JTAG method cannot be used as a bus for general memory writing / reading except for test or debugging purposes.
따라서, 본 발명의 목적은 전술한 문제점을 해결하기 위해, 프로세서로부터 클록이나 관리정보를 받지 않으면서 별도의 클록 없이도, 프로세서에 내장된 메모리를 관리하는 방법 및 그 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a method and an apparatus for managing a memory embedded in a processor without a separate clock without receiving a clock or management information from the processor.
도 1은 종래의 JTAG 방식에 의한 메모리를 관리하는 방법이 적용된 시스템의 구성도,1 is a configuration diagram of a system to which a method of managing a memory by a conventional JTAG method is applied;
도 2는 본 발명에 따른 메모리 관리방법이 적용된 시스템의 구성도,2 is a configuration diagram of a system to which a memory management method is applied according to the present invention;
도 3은 본 발명에 따른 메모리 관리부(201)의 블록 구성도,3 is a block diagram of a memory management unit 201 according to the present invention;
도 4a 및 4b는 본 발명에 따라 메모리 관리정보를 받는방식에 따른 SCL 신호, SDA 신호 및 프레임 구조를 나타낸 다이어그램,4A and 4B illustrate memory management information according to the present invention. Diagram showing SCL signal, SDA signal and frame structure according to the scheme,
도 5a 및 5b는 본 발명에 따라 메모리 기록/판독 및 관리모드 변환을 위한 HIGH 및 LOW 신호 조건을 나타낸 다이어그램,5A and 5B are diagrams showing HIGH and LOW signal conditions for memory write / read and management mode conversion in accordance with the present invention;
도 6a는 본 발명에 따라 메모리에 데이터를 기록하는 방법을 나타낸 다이어그램,6A is a diagram illustrating a method of writing data to a memory in accordance with the present invention;
도 6b는 본 발명에 따라 메모리의 데이터를 판독하는 방법을 나타낸 다이어그램,6B is a diagram illustrating a method of reading data from a memory in accordance with the present invention;
도 7은 본 발명에 따른 메모리 관리방법을 나타낸 플로우챠트이다.7 is a flowchart illustrating a memory management method according to the present invention.
상기 목적은, 본 발명에 따라, 프로세서에 내장된 메모리를 관리하는 방법에 있어서, (a)버스 프로토콜의 SCL 신호 및 SDA 신호를 통해, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하는 단계; (b) 수신된 정보 중 제어명령 정보에 의해, 프로세서 관리모드를 응용기기 관리모드로 변경하는 단계; (c) 응용기기 관리모드에서, SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 경우, 메모리에 데이터를 기록하거나 판독하는 단계; 및 (d) 기록 또는 판독 후에, SCL 신호 및 SDA 신호가 LOW 조건을 만족하는 경우, 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 단계를 포함하는 것을 특징으로 하는 방법에 의해 달성된다.The above object is, in accordance with the present invention, a method of managing a memory embedded in a processor, the method comprising: Receiving information for managing a memory from an application through an SCL signal and an SDA signal of a bus protocol; (b) changing the processor management mode to the application device management mode according to the control command information among the received information; (c) in the application device management mode, when the SCL signal and the SDA signal satisfy the HIGH condition, writing or reading data into the memory; And (d) if the SCL signal and the SDA signal satisfy the LOW condition after writing or reading, changing the application management mode back to the processor management mode.
(a)단계는, 메모리를 관리하기 위한 정보로서, 메모리에 데이터를 기록하거나 판독하기 위한 주소, 데이터, 또는 제어명령을 포함하는 정보를 수신하는 단계인 것이 바람직하며,Step (a) is information for managing the memory, and preferably receiving information including an address, data, or a control command for writing or reading data in the memory.
(b)단계는, (b1) 수신된 제어명령 정보가 ACTIVE 제어명령이면, 메모리에 기록 또는 판독 중임을 나타내는 스위치 레지스터를 세트하는 단계; 및 (b2) 메모리를 관리하기 위한 클록으로서, 응용기기로부터 받는 SCL 신호를 선택하는 단계를 포함하는 것이 바람직하다.Step (b) comprises: (b1) setting a switch register indicating that writing or reading is being performed in the memory if the received control command information is an ACTIVE control command; And (b2) selecting a SCL signal received from an application as a clock for managing the memory.
(c)단계의 HIGH 조건은, 응용기기가 메모리를 기록/판독할 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL 신호 레벨이 0인 상태에서 SDA 신호 레벨이 0에서 1로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것이 바람직하다.The HIGH condition in step (c) is a signal condition that generates a clock for synchronizing the timing at which the application device writes / reads the memory. It is preferable that it is a signal condition in the case where the SDA signal level is kept as it is, and the SCL signal level is 1.
(d)단계는, (d1) SCL 신호 및 SDA 신호가 LOW 조건을 만족하는지 확인하는 단계; (d2) 메모리를 관리하기 위한 클록으로서, 프로세서로부터 받는 클록 신호를 선택하는 단계; (d3) 스위치 레지스터를 리셋하는 단계; 및 (d4) 데이터를 판독한 경우이면, 판독한 데이터를 응용기기로 전송하는 단계를 포함하는 것이 바람직하며,Step (d) may include: (d1) confirming whether the SCL signal and the SDA signal satisfy a LOW condition; (d2) selecting a clock signal received from a processor as a clock for managing the memory; (d3) resetting the switch register; And (d4) if the data has been read, transmitting the read data to an application device,
LOW 조건은, 응용기기가 메모리의 기록/판독을 종료한 후 프로세서 관리모드로 변경되는 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL신호 레벨이 0인 상태에서 SDA 신호레벨이 1에서 0으로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것이 바람직하다.The LOW condition is a signal condition that generates a clock for synchronizing the timing at which the application device changes to the processor management mode after completing the writing / reading of the memory. The SDA signal level is changed when the SCL signal level is 0 after the STOP signal. It is preferable that it is a signal condition in the case where the SDA signal level is kept intact while changing from 1 to 0 and the SCL signal level is 1.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 프로세서에 내장된 메모리를 관리하는 장치에 있어서, 프로세서의 클록 신호 또는 응용기기의 SCL 신호 중 어느 하나를, 메모리를 관리하기 위한 클록으로 선택하는 클록 제어부; 및버스 프로토콜의 SCL 신호 및 SDA 신호를 이용하여, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하고, 프로세서 관리모드를 응용기기 관리모드로 변경하고, 응용기기 관리모드에서 HIGH 조건이 되면 메모리에 데이터를 기록하거나 판독하며, 기록 또는 판독 후에 LOW 조건이 되면 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 신호 처리부를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.On the other hand, according to another field of the present invention, the above object is a clock for selecting any one of the clock signal of the processor or the SCL signal of the application device in the device for managing the memory embedded in the processor as a clock for managing the memory Control unit; And By using the SCL signal and the SDA signal of the bus protocol, it receives information for managing the memory from the application, changes the processor management mode to the application management mode, and when the HIGH condition is reached in the application management mode, the data is stored in the memory. It is also achieved by an apparatus comprising a signal processing section for recording or reading and for changing the application management mode back to the processor management mode when the LOW condition is reached after writing or reading.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 메모리를 내장한 프로세서; 및 상기 메모리를 관리하기 위한 장치가 탑재되어 있는 시스템 온 칩에 의해서도 달성된다.On the other hand, according to another field of the present invention, the object is a processor with a built-in memory; And a system-on-chip equipped with a device for managing the memory.
상기 프로세서는 CPU, DSP, 및 ASIP 중 적어도 하나를 포함하는 것이 바람직하다.The processor preferably includes at least one of a CPU, a DSP, and an ASIP.
이하에서는 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 2는 본 발명에 따른 메모리 관리방법이 적용된 시스템의 구성도이다.2 is a configuration diagram of a system to which a memory management method according to the present invention is applied.
도 2를 참조하면, 메모리 관리부(201)는 프로세서(204)에 내장된 메모리(203)를 관리한다. 즉, 응용기기(202)로부터버스 방식에 따른 SCL 신호 및 SDA 신호를 통해, 클록 및 메모리의 기록/판독을 위한 관리정보를 수신하여, 이를 기초로 메모리를 관리한다. 평소에는 주로 프로세서로부터 클록 및 관리정보를 받아 메모리를 관리(이하 '프로세서 관리모드'라 함)하나, 응용기기(202)로부터의 요청이 있는 경우에는, 프로세서로부터 오는 클록이나 관리정보 대신 응용기기(202)로부터 오는 클록이나 관리정보에 의해 메모리를 관리(이하 '응용기기 관리모드'라 함)한다. 여기서 관리정보란, 메모리에 데이터를 기록/판독하는 데 필요한 정보로서, 기록/판독할 메모리의 주소(ADDR), 기록할 데이터(DATA), 및 제어명령(CONTROL) 정보를 말한다. 제어명령 정보에는 기록 또는 판독 명령(RW), 프로세서관리모드에서 응용기기 관리모드로 변환하여 메모리 기록/판독을 실행하라는 ACTIVE 명령(또는 'CE(Chip Enable) 명령'이라고도 함)이 포함된다. 클록은 프로세서(204)로부터 공급되는 클록(CLK)와 응용기기(202)로부터 공급되는 클록(SCL)이 있으며, 메모리 관리부(201)에서 어느 클록을 사용할지 선택할 수 있다.버스 방식은 필립스사에 의해 제안된 IC간의 통신 방식으로 클록(SCL)과 데이터(SDA)의 2 라인을 사용하는 동기 양방향 2선식 버스 방식이다. 이 방식을 통해 구체적으로 통신하는 방법은 후술한다.Referring to FIG. 2, the memory manager 201 manages a memory 203 embedded in the processor 204. That is, from the application 202 Through the SCL signal and the SDA signal according to the bus method, management information for writing / reading a clock and a memory is received, and the memory is managed based on this. Usually, the memory is usually managed by receiving clock and management information from the processor (hereinafter referred to as a processor management mode). However, when a request from the application device 202 is requested, the application device (instead of the clock or management information from the processor) is used. The memory is managed by a clock or management information from 202 (hereinafter referred to as an 'application device management mode'). Herein, the management information is information necessary for recording / reading data in the memory, and refers to the address ADDR of the memory to be recorded / read, the data DATA to be recorded, and the control command (CONTROL) information. The control command information includes a write or read command (RW) and an ACTIVE command (also referred to as a CE (Enable Chip) command) to switch from the processor management mode to the application device management mode to execute memory write / read. The clock includes a clock CLK supplied from the processor 204 and a clock SCL supplied from the application device 202, and may select which clock to use in the memory manager 201. The bus method is a synchronous bidirectional two-wire bus method using two lines of clock (SCL) and data (SDA) as an IC-to-IC communication method proposed by Philips. The method of specifically communicating through this method will be described later.
이하에서는 본 발명에 따른 메모리 관리부(201)에 대하여 상세히 살펴본다.Hereinafter, the memory manager 201 according to the present invention will be described in detail.
도 3은 본 발명에 따른 메모리 관리부(201)의 블록 구성도이다.3 is a block diagram of the memory management unit 201 according to the present invention.
도 3를 참조하면, 메모리 관리부(201)는 클록제어부(302) 및 신호처리부(301)를 구비한다.Referring to FIG. 3, the memory manager 201 includes a clock controller 302 and a signal processor 301.
클록제어부(302)는 응용기기로부터 요청(ACTIVE 명령)이 있는 경우, 프로세서(204)로부터의 클록(CLK)대신 응용기기(202)로부터의 클록(SCL)을 메모리(203)에 공급한다.When there is a request (ACTIVE instruction) from the application, the clock controller 302 supplies the clock SCL from the application 202 to the memory 203 instead of the clock CLK from the processor 204.
신호처리부(301)는 응용기기(202)로부터버스 방식에 따른 SCL 신호 및 SDA 신호를 통해 메모리 관리정보를 수신한다. 메모리 관리정보에는 기록 또는 판독할 메모리의 주소, 데이터, 및 제어명령 정보 등이 포함된다. 수신된 정보는 응용기기(202)로부터 요청이 있는 경우 메모리(203)로 제공된다.The signal processor 301 is provided from the application device 202. Memory management information is received through the SCL signal and the SDA signal according to the bus method. The memory management information includes the address of the memory to be written or read, data, control command information, and the like. The received information is provided to the memory 203 upon request from the application 202.
또한, 신호처리부(301)는 응용기기(202)로부터 ACTIVE 명령을 수신하면, 프로세서 관리모드를 응용기기 관리모드로 변경하고, 응용기기 관리모드에서 HIGH 조건이면 메모리에 데이터를 기록하거나 판독하며, 기록 또는 판독 후에 LOW 조건이면 응용기기 관리모드를 다시 프로세서 관리모드로 변경한다.In addition, when the signal processing unit 301 receives the ACTIVE command from the application device 202, the signal processing unit 301 changes the processor management mode to the application device management mode. Or, if the condition is LOW after reading, change the application management mode back to the processor management mode.
여기서, 프로세서 관리모드를 응용기기 관리모드로 변경한다는 의미는, 프로세서(204)로부터 오던 클록 및 메모리 관리정보에 의해 메모리에 기록/판독을 하던 것을, 응용기기(202)부터의 클록 및 메모리 관리정보에 의해 메모리를 기록/판독하게 되는 것을 말한다. 즉, ACTIVE 제어명령을 수신하면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트하고, 응용기기(202)로부터 받는 SCL 신호를, 상기 메모리를 관리하기 위한 클록으로 선택한다. 스위치 레지스터(SW)는 메모리 관리부에서 메모리에 데이터를 기록/판독 중에 프로세서나 다른 기기에서 기록/판독을 시도하지 않도록 래치(latch)하는 역할을 한다. 즉, 스위치 레지스터(SW)를 세트하면, 다른 기기에서의 메모리 기록/판독이 불가능하며, 이 레지스터를 리셋하여야 프로세서나 다른 기기로부터 메모리의 기록/판독이 가능하게 된다.In this case, the change of the processor management mode to the application device management mode means that the clock and memory management information from the application device 202 is written or read from the memory by the clock and memory management information from the processor 204. Memory is written / read by That is, upon receiving the ACTIVE control command, a switch register (SW) indicating that recording / reading is being performed is set in the memory, and the SCL signal received from the application device 202 is selected as a clock for managing the memory. The switch register SW serves to latch the memory manager so that the processor or another device does not attempt to write / read data while writing / read data to the memory. That is, when the switch register SW is set, memory writing / reading is impossible on another device, and this register must be reset to enable memory writing / reading from a processor or other device.
또한, 응용기기 관리모드에서 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하게되면, 응용기기(202)부터 수신된 SCL 클록 및 메모리 관리정보, 즉, 주소, 데이터, 제어명령 정보에 따라 메모리에 데이터를 기록하거나 판독한다.In addition, when the SCL signal and the SDA signal satisfy the HIGH condition in the application device management mode, data is stored in the memory according to the SCL clock and memory management information received from the application device 202, that is, address, data, and control command information. Write or read.
전술한 기록/판독 과정이 종료되고, SCL 신호 및 SDA 신호가 LOW 조건을 만족하게 되면, 다시 프로세서 관리모드로 변경하며, 프로세서(204)로부터 받는 클록 및 메모리 관리정보에 따라 메모리에 데이터를 기록/판독하게 된다.When the above-described writing / reading process is completed and the SCL signal and the SDA signal satisfy the LOW condition, the controller changes to the processor management mode again and writes data to the memory according to the clock and memory management information received from the processor 204. Will be read.
이하,방식에 따른 SCL 신호 및 SDA 신호를 이용하여 응용기기로부터 클록 및 메모리 관리정보를 받아 메모리를 관리하는 방법을 설명한다.Below, A method of managing memory by receiving clock and memory management information from an application using the SCL signal and the SDA signal according to the scheme will be described.
도 4a 및 4b는 본 발명에 따라 메모리 관리정보를 받는방식에 따른 SCL 신호 및 SDA 신호 및 프레임 구조를 나타내는 다이어그램이다.4A and 4B illustrate memory management information according to the present invention. Diagram showing SCL signal and SDA signal and frame structure according to the scheme.
도 4a를 참조하면, 응용기기로부터 메모리 관리부로 관리정보를 전송하기 위한 신호 조건으로 START 조건과 STOP 조건이 나타나 있다. 이 조건은표준 방식에 따르므로 별도로 설명하지 않는다.표준 방식에 따르면, 메모리 관리부는 슬레이브(SLAVE)에 해당하며, 응용기기는 마스터(MASTER)에 해당한다. START 조건이 되면, 메모리 관리부는 기록/판독을 위한 메모리의 주소(ADDRESS), 기록할지 판독할지를 알려주는 R/W 제어명령, 판독할 데이터(DATA) 등을 전송받는다. STOP 조건은 관리정보의 전송이 종료되었음을 알려준다.Referring to FIG. 4A, a START condition and a STOP condition are shown as signal conditions for transmitting management information from an application to a memory manager. This condition It follows the standard method and will not be described separately. According to the standard method, the memory manager corresponds to a slave, and the application device corresponds to a master. When the START condition is reached, the memory manager receives an address ADDRESS of the memory for writing / reading, an R / W control command indicating whether to write or read, and data to be read. The STOP condition indicates that the transmission of management information has ended.
이를 프레임구조로 표시한 것이 도 4b이다. 도 4b를 참조하면, 1바이트의 데이터 뿐 아니라 여러 바이트의 데이터도 기록/판독할 수 있다.4b shows the structure of the frame. Referring to FIG. 4B, not only one byte of data but also several bytes of data may be recorded / read.
도 5a 및 5b는 본 발명에 따라 메모리 기록/판독 및 관리모드 변환을 위한HIGH 및 LOW 신호 조건를 나타내는 다이어그램이다.5A and 5B are diagrams showing HIGH and LOW signal conditions for memory write / read and management mode conversion in accordance with the present invention.
도 5a를 참조하면, 관리정보의 전송이 종료되는 STOP 조건(P)과 다음번 START 조건(S) 사이에 HIGH 조건(H) 및 LOW 조건(L)이 새롭게 정의된 것을 알 수 있다. HIGH 조건은 응용기기 관리모드에서 메모리에 데이터를 기록/판독할 클록 신호를 나타낸다. 즉, 메모리 관리부는 HIGH 조건에 동기화하여 1바이트의 데이터를 메모리에 기록한다. 한편, LOW 조건은 메모리 기록/판독을 종료하고 프로세서 관리모드로 변환할 시점을 알려준다. 메모리 관리부는 LOW 조건에서 스위치 레지스터(SW)를 리셋하고, 프로세서 관리모드로 변경한다.Referring to FIG. 5A, it can be seen that the HIGH condition H and the LOW condition L are newly defined between the STOP condition P where the transmission of management information is terminated and the next START condition S. FIG. The HIGH condition indicates the clock signal to write / read data to memory in the application management mode. That is, the memory manager writes one byte of data into the memory in synchronization with the HIGH condition. On the other hand, the LOW condition indicates when to end the memory write / read and transition to the processor management mode. The memory manager resets the switch register SW in the LOW condition and changes to the processor management mode.
구체적으로 HIGH 조건은, 응용기기가 메모리를 기록/판독할 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL 신호 레벨이 0인 상태에서 SDA 신호 레벨이 0에서 1로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건으로 정의한다. 이에 비해 LOW 조건은, 응용기기가 메모리의 기록/판독을 종료한 후 프로세서 관리모드로 변경되는 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL신호 레벨이 0인 상태에서 SDA 신호레벨이 1에서 0으로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건으로 정의한다.Specifically, the HIGH condition is a signal condition for generating a clock for synchronizing the time when the application device writes / reads the memory. The SDA signal level is changed from 0 to 1 while the SCL signal level is 0 after the STOP signal. It is defined as a signal condition when the SDA signal level is maintained while the signal level is 1. On the other hand, the LOW condition is a signal condition for generating a clock for synchronizing the time when the application device is changed to the processor management mode after finishing writing / reading the memory. The SDA signal with the SCL signal level 0 after the STOP signal is 0. It is defined as a signal condition when the level is changed from 1 to 0 and the SDA signal level is maintained while the SCL signal level is 1.
이에 따라, 메모리 관리부는 프로세서로부터 클록(CLK)을 공급받지 않더라도, SCL 신호 및 SDA 신호에 의해 정의되는 HIGH 조건에 동기화하여 데이터를 기록/판독하게 됨으로써, 별도의 클록이 없이도 메모리를 관리할 수 있게 된다.Accordingly, even though the clock management unit does not receive the clock CLK, the memory manager may write / read data in synchronization with the HIGH condition defined by the SCL signal and the SDA signal, thereby managing the memory without a separate clock. do.
도 5b는 4바이트의 데이터를 기록/판독하는 경우의 신호조건을 나타낸다.HIGH 조건마다 1바이트의 데이터를 기록하고, LOW 조건이 되면 스위치 레지스터(SW)를 리셋한 후 프로세서 관리모드로 변경한다.Fig. 5B shows a signal condition in the case of recording / reading 4 bytes of data. One byte of data is written for each HIGH condition, and when the LOW condition is reached, the switch register SW is reset and the processor management mode is changed.
상기와 같은 구성 및 통신방법을 기초로 본 발명의 바람직한 실시예에 따른, 프로세서에 내장된 메모리를 관리하는 방법을 설명하면 다음과 같다.A method of managing a memory embedded in a processor according to a preferred embodiment of the present invention based on the configuration and communication method as described above is as follows.
도 6a는 본 발명에 따라 메모리에 데이터를 기록하는 방법을 나타낸 다이어그램이다.6A is a diagram illustrating a method of writing data to a memory in accordance with the present invention.
도 6a를 참조하면, 메모리 관리부(201)는 응용기기(202)로부터 데이터를 기록할 메모리 주소 정보, 기록할 데이터, 및 제어명령 정보를 수신한다(①, ②, 및 ③). 제어명령 정보에는 메모리에 데이터를 기록하기 위한 WRITE 제어명령, 또는 ACTIVE 제어명령(CE 명령) 등이 포함될 수 있다.Referring to FIG. 6A, the memory manager 201 receives memory address information, data to be recorded, and control command information to record data from the application device 202 (①, ②, and ③). The control command information may include a WRITE control command or an ACTIVE control command (CE command) for recording data in the memory.
다음으로 메모리 관리부(201)는 ACTIVE 제어명령이 수신되면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트한다(④). 그리고, 기록/판독을 위한 클록으로서 프로세서의 클록(CLK) 대신에 응용기기의 클록(SCL)을 사용하도록 응용기기 관리모드로 변경한다(⑤). 이제, 응용기기로부터 받은 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 때에, 메모리(203)에 데이터를 기록한다(⑥). 전술한 신호가 LOW 조건을 만족하는 때에는, 응용기기의 클록(SCL)대신에 프로세서의 클록(CLK)을 사용하도록 프로세서 관리모드로 변경하고(⑦), 스위치 레지스터(SW)를 리셋한다(⑧).Next, when the ACTIVE control command is received, the memory manager 201 sets the switch register SW indicating that recording / reading is being performed in the memory (4). Then, the application device management mode is changed to use the clock SCL of the application device instead of the clock CLK of the processor as the clock for writing / reading (5). Now, when the SCL signal and the SDA signal received from the application apparatus satisfy the HIGH condition, data is written to the memory 203 (6). When the above signal satisfies the LOW condition, the processor register mode is changed to the processor management mode so as to use the clock CLK of the processor instead of the clock SCL of the application device (7), and the switch register SW is reset (8). .
도 6b는 본 발명에 따라 메모리의 데이터를 판독하는 방법을 나타낸 다이어그램이다.6B is a diagram illustrating a method of reading data from a memory in accordance with the present invention.
도 6b를 참조하면, 메모리 관리부(201)는 응용기기(202)로부터 데이터를 판독할 메모리 주소 정보 및 제어명령 정보를 수신한다(① 및 ③). 제어명령 정보에는 메모리에 데이터를 판독하기 위한 READ 제어 명령, 또는 ACTIVE 제어명령 등이 포함될 수 있다.Referring to FIG. 6B, the memory manager 201 receives memory address information and control command information for reading data from the application device 202 (1 and 3). The control command information may include a READ control command or an ACTIVE control command for reading data into the memory.
다음으로 메모리 관리부(201)는 ACTIVE 제어명령이 수신되면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트한다(④). 그리고, 프로세서의 클록(CLK) 대신에, 응용기기의 클록(SCL)을 사용하도록 응용기기 관리모드로 변경한다(⑤). 이제, 응용기기로부터 받은 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 때에, 메모리(203)를 판독한다(⑥). 전술한 신호가 LOW 조건을 만족하는 때에는, 응용기기의 클록(SCL)대신에 프로세서의 클록(CLK)을 사용하도록 프로세서 관리모드로 변경하고(⑦), 스위치 레지스터(SW)를 리셋한다(⑧). 마지막으로, 판독한 데이터를 응용기기(202)로 전송한다(⑨).Next, when the ACTIVE control command is received, the memory manager 201 sets the switch register SW indicating that recording / reading is being performed in the memory (4). Instead of the clock CLK of the processor, the application device management mode is changed to use the clock SCL of the application device (5). Now, when the SCL signal and the SDA signal received from the application satisfy the HIGH condition, the memory 203 is read (6). When the above signal satisfies the LOW condition, the processor register mode is changed to the processor management mode so as to use the clock CLK of the processor instead of the clock SCL of the application device (7), and the switch register SW is reset (8). . Finally, the read data is transmitted to the application device 202 (9).
도 7은 본 발명에 따른 메모리 관리방법을 나타낸 플로우챠트이다.7 is a flowchart illustrating a memory management method according to the present invention.
도 7을 참조하면, 응용기기로부터 수신한 SCL 신호 및 SDA 신호가 START 조건을 만족하면(701 단계), 메모리 제어부는 메모리 관리정보로서, 주소, 데이터, 또는 제어명령정보를 수신한다(702 단계). 수신한 제어명령 정보 중 ACTIVE 제어명령이 있으면(703 단계), 스위치 레지스터(SW)를 세트하고(704 단계), 응용기기 관리모드로 변경하기 위해 프로세서로부터 받는 클록(CLK) 대신에 응용기기로부터 오는 클록(SCL)을 메모리에 공급한다(705 단계). 이제 응용기기로부터 수신한 SCL 신호 및 SDA 신호가 STOP 조건을 만족하면(706 단계), 전술한 신호가 HIGH 조건인지 판단하고(707 단계), 제어명령어가 WRITE이면(708단계) 메모리에 데이터를 기록하고(709 단계), 제어명령어가 READ이면 메모리로부터 데이터를 판독한다(709'). 만약 전술한 신호가 LOW 조건을 만족하면(710 단계 또는 710' 단계), 프로세서 관리모드로 변경하기 위해, 응용기기로부터 받는 클록(SCL) 대신에 프로세서로부터 오는 클록(CLK)을 메모리에 공급하고(711 단계 또는 711' 단계), 스위치 레지스터(SW)를 리셋한다(712 단계 또는 712' 단계). READ 제어 명령의 경우, 판독한 데이터를 응용기기에 전송한다(713' 단계).Referring to FIG. 7, when the SCL signal and the SDA signal received from the application device satisfy the START condition (step 701), the memory controller receives address, data, or control command information as memory management information (step 702). . If there is an ACTIVE control command among the received control command information (step 703), the switch register (SW) is set (step 704), and it is returned from the application device instead of the clock CLK received from the processor to change to the application device management mode. The clock SCL is supplied to the memory (step 705). If the SCL signal and the SDA signal received from the application satisfy the STOP condition (step 706), it is determined whether the aforementioned signal is a HIGH condition (step 707), and if the control command is WRITE (step 708), the data is written to the memory. If the control command is READ (step 709), data is read from the memory (709 '). If the above-described signal satisfies the LOW condition (step 710 or 710 '), the clock CLK from the processor is supplied to the memory instead of the clock SCL from the application device to change to the processor management mode ( Step 711 or step 711 '), the switch register SW is reset (step 712 or step 712'). In the case of the READ control command, the read data is transmitted to the application (step 713 ').
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.The above description is only one embodiment of the present invention, and those skilled in the art may implement the present invention in a modified form without departing from the essential characteristics of the present invention. Therefore, the scope of the present invention should not be limited to the above-described examples, but should be construed to include various embodiments within the scope equivalent to those described in the claims.
전술한 바와 같이 본 발명에 따르면, 프로세서로부터 클록이나 관리정보를 받지 않고도, 프로세서에 내장된 메모리를 관리할 수 있다. 즉,방식에 따라 SCL 신호 및 SDA 신호를 이용하여 HIGH 조건이나 LOW 조건을 만들어 메모리의 기록/판독 시점을 동기화할 수 있으므로, 별도의 클록이 없이도 메모리에 데이터를 기록하거나 판독할 수 있다.As described above, according to the present invention, the memory built in the processor can be managed without receiving a clock or management information from the processor. In other words, Depending on the method, the SCL signal and the SDA signal can be used to create a HIGH condition or a LOW condition to synchronize the write / read points of the memory, so that data can be written to or read from the memory without a separate clock.
특히, 종래의 JTAG 방식의 경우 별도의 클록 및 4-5개의 전용핀이 필요하고 테스트용도로만 한정되어 사용되는데 비하여, 별도의 클록이 필요없으며, SCL 신호및 SDA 신호를 위한 2개의 핀만으로 메모리를 관리할 수 있다. 또한, 테스트나 디버깅 후에도 일반 버스로도 사용할 수 있어, 종래 방식에 비해 활용도가 높아진다.In particular, the conventional JTAG method requires a separate clock and 4-5 dedicated pins, and is limited to test purposes only, and does not require a separate clock, and only two pins for the SCL signal and the SDA signal can be used. Can manage It can also be used as a regular bus after testing and debugging, which makes it more versatile than conventional methods.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0042899A KR100532104B1 (en) | 2003-06-28 | 2003-06-28 | Method and device for managing memory embedded in processor and SoC equipped with the device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0042899A KR100532104B1 (en) | 2003-06-28 | 2003-06-28 | Method and device for managing memory embedded in processor and SoC equipped with the device thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050001295A true KR20050001295A (en) | 2005-01-06 |
KR100532104B1 KR100532104B1 (en) | 2005-11-29 |
Family
ID=37217115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0042899A KR100532104B1 (en) | 2003-06-28 | 2003-06-28 | Method and device for managing memory embedded in processor and SoC equipped with the device thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100532104B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100996A (en) * | 2022-07-21 | 2022-09-23 | 北京数字光芯集成电路设计有限公司 | Display configuration circuit, method, micro display panel and electronic device |
-
2003
- 2003-06-28 KR KR10-2003-0042899A patent/KR100532104B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115100996A (en) * | 2022-07-21 | 2022-09-23 | 北京数字光芯集成电路设计有限公司 | Display configuration circuit, method, micro display panel and electronic device |
CN115100996B (en) * | 2022-07-21 | 2022-12-13 | 北京数字光芯集成电路设计有限公司 | Display configuration circuit, method, micro display panel and electronic device |
Also Published As
Publication number | Publication date |
---|---|
KR100532104B1 (en) | 2005-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6145099A (en) | Debugging system | |
JP4335999B2 (en) | Semiconductor integrated circuit device with built-in processor | |
US6922795B2 (en) | Microcomputer, electronic equipment, and debugging system | |
US7636870B2 (en) | Semiconductor integrated circuit device, and debugging system and method for the semiconductor integrated circuit device | |
TWI338835B (en) | Method and apparatus for controlling a data processing system during debug | |
JP5467891B2 (en) | Information processing apparatus, debugging apparatus, and debugging method | |
WO2016106935A1 (en) | Flash memory controller and control method for flash memory controller | |
US20060161818A1 (en) | On-chip hardware debug support units utilizing multiple asynchronous clocks | |
US5815509A (en) | Method and system for testing memory | |
CN113901754A (en) | FPGA-based Ethernet MACIP board-level verification structure and method | |
US7913026B2 (en) | Data transfer apparatus, information processing apparatus, and data transfer method | |
CN116893991B (en) | Storage module conversion interface under AXI protocol and conversion method thereof | |
US6877113B2 (en) | Break determining circuit for a debugging support unit in a semiconductor integrated circuit | |
JPH10116187A (en) | Microcomputer | |
KR100532104B1 (en) | Method and device for managing memory embedded in processor and SoC equipped with the device thereof | |
JP2001184212A (en) | Trace control circuit | |
JP2001282704A (en) | Device, method and system for processing data | |
US7231568B2 (en) | System debugging device and system debugging method | |
JP2008122374A (en) | Serializer/de-serializer bus controller inferface | |
KR20140113175A (en) | Bus Protocol Checker, System on Chip having the same and Method for checking bus protocol | |
KR20000011226A (en) | Memory control method, memory unit and controller | |
WO2024031798A1 (en) | High-bandwidth ddr dual-in-line memory module, and memory system and operation method therefor | |
CN117768809A (en) | Concentrator clock synchronization method and device | |
TWI470421B (en) | Microprocessor and debugging method thereof | |
JP2010231818A (en) | Debugging system |
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 | ||
FPAY | Annual fee payment |
Payment date: 20081031 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |