KR100532104B1 - 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩 - Google Patents

프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩 Download PDF

Info

Publication number
KR100532104B1
KR100532104B1 KR10-2003-0042899A KR20030042899A KR100532104B1 KR 100532104 B1 KR100532104 B1 KR 100532104B1 KR 20030042899 A KR20030042899 A KR 20030042899A KR 100532104 B1 KR100532104 B1 KR 100532104B1
Authority
KR
South Korea
Prior art keywords
memory
signal
processor
management mode
clock
Prior art date
Application number
KR10-2003-0042899A
Other languages
English (en)
Other versions
KR20050001295A (ko
Inventor
오재원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR10-2003-0042899A priority Critical patent/KR100532104B1/ko
Publication of KR20050001295A publication Critical patent/KR20050001295A/ko
Application granted granted Critical
Publication of KR100532104B1 publication Critical patent/KR100532104B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-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

프로세서에 내장된 메모리를 관리하는 방법 및 그 장치가 개시된다.
본 발명에 따라 프로세서에 내장된 메모리를 관리하는 방법은, (a) 버스 프로토콜의 SCL 신호 및 SDA 신호를 통해, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하는 단계; (b) 수신된 정보 중 제어명령 정보에 의해, 프로세서 관리모드를 응용기기 관리모드로 변경하는 단계; (c) 응용기기 관리모드에서, SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 경우, 메모리에 데이터를 기록하거나 판독하는 단계; 및 (d) 기록 또는 판독 후에, SCL 신호 및 SDA 신호가 LOW 조건을 만족하는 경우, 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 단계를 포함하는 것을 특징으로 한다.
이에 의해, 프로세서로부터 클록이나 관리정보를 받지 않으면서, 별도의 클록 없이도, 프로세서에 내장된 메모리를 관리할 수 있다.

Description

프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩{Method and device for managing memory embedded in processor and SoC equipped with the device thereof}
본 발명은 메모리에 관한 것으로, 보다 상세하게는 프로세서에 내장된 메모리를 관리하는 방법 및 장치에 관한 것이다.
CPU, DSP(Digital signal processor), 또는 ASIP(Application specific instruction processor)등의 프로세서에는 프로그램과 데이터를 저장하기 위한 메모리가 내장된(embedded) 경우가 많다. 이러한 내장된 메모리는 평소에 프로세서에 의해 관리되며, 프로세서로부터 시스템의 동기화를 위한 클록 및 데이터의 기록이나 판독을 위한 관리정보를 받는다.
그러나, 프로그램의 최초 로딩(loading), 테스팅, 또는 디버깅(debugging)을 위해서, 외부 응용기기에서 내장된 메모리에 프로그램이나 데이터를 기록하거나, 이를 판독할 필요가 있는 경우가 있다. 특히, 프로세서가 에러상태인 경우에 디버깅을 위해서는, 프로세서로부터 클록이나 관리정보를 받지 않고도, 외부 응용기기에서 내장된 메모리에 데이터를 기록하거나 판독할 필요가 있다.
이러한 필요를 만족시키기 위한 방법으로, JTAG(Joint Test Action Group) 방식을 이용하여 메모리를 관리하는 방법이 있다. 도 1은 종래의 JTAG 방식에 의한 메모리를 관리하는 방법이 적용된 시스템의 구성도를 도시한다. 도 1을 참조하면, JTAG 응용기기(101)는 프로세서(104)에 내장된 메모리(103)에 데이터를 기록/판독한다. 이때, 동기화를 위해 별도의 클록(102)이 필요하며, 관리정보를 전달하기 위한 전용핀(TCK, TDL, DO, TMS, TRST)이 필요하다. 전용핀을 통해, 메모리의 기록/판독을 위한 관리정보로서, 주소, 데이터, 및 제어명령을 포함하는 정보가 JTAG 응용기기(101)로부터 메모리(103)로 전달된다.
그러나 이 경우, 도 1에 나타난 것과 같이, 메모리의 관리를 위해서는 별도의 클록(102)이 있어야 하며, 관리정보를 메모리에 전달하기 위해 4-5개의 별도의 전용핀이 필요하다. 또한, JTAG 방식은 테스트나 디버깅 용도 외에는 일반 메모리 기록/판독을 위한 버스(bus)로는 사용할 수 없는 문제점이 있다.
따라서, 본 발명의 목적은 전술한 문제점을 해결하기 위해, 프로세서로부터 클록이나 관리정보를 받지 않으면서 별도의 클록 없이도, 프로세서에 내장된 메모리를 관리하는 방법 및 그 장치를 제공하는 것이다.
상기 목적은, 본 발명에 따라, 프로세서에 내장된 메모리를 관리하는 방법에 있어서, (a) 버스 프로토콜의 SCL 신호 및 SDA 신호를 통해, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하는 단계; (b) 수신된 정보 중 제어명령 정보에 의해, 프로세서 관리모드를 응용기기 관리모드로 변경하는 단계; (c) 응용기기 관리모드에서, SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 경우, 메모리에 데이터를 기록하거나 판독하는 단계; 및 (d) 기록 또는 판독 후에, SCL 신호 및 SDA 신호가 LOW 조건을 만족하는 경우, 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 단계를 포함하는 것을 특징으로 하는 방법에 의해 달성된다.
(a)단계는, 메모리를 관리하기 위한 정보로서, 메모리에 데이터를 기록하거나 판독하기 위한 주소, 데이터, 또는 제어명령을 포함하는 정보를 수신하는 단계인 것이 바람직하며,
(b)단계는, (b1) 수신된 제어명령 정보가 ACTIVE 제어명령이면, 메모리에 기록 또는 판독 중임을 나타내는 스위치 레지스터를 세트하는 단계; 및 (b2) 메모리를 관리하기 위한 클록으로서, 응용기기로부터 받는 SCL 신호를 선택하는 단계를 포함하는 것이 바람직하다.
(c)단계의 HIGH 조건은, 응용기기가 메모리를 기록/판독할 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL 신호 레벨이 0인 상태에서 SDA 신호 레벨이 0에서 1로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것이 바람직하다.
(d)단계는, (d1) SCL 신호 및 SDA 신호가 LOW 조건을 만족하는지 확인하는 단계; (d2) 메모리를 관리하기 위한 클록으로서, 프로세서로부터 받는 클록 신호를 선택하는 단계; (d3) 스위치 레지스터를 리셋하는 단계; 및 (d4) 데이터를 판독한 경우이면, 판독한 데이터를 응용기기로 전송하는 단계를 포함하는 것이 바람직하며,
LOW 조건은, 응용기기가 메모리의 기록/판독을 종료한 후 프로세서 관리모드로 변경되는 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL신호 레벨이 0인 상태에서 SDA 신호레벨이 1에서 0으로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것이 바람직하다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 프로세서에 내장된 메모리를 관리하는 장치에 있어서, 프로세서의 클록 신호 또는 응용기기의 SCL 신호 중 어느 하나를, 메모리를 관리하기 위한 클록으로 선택하는 클록 제어부; 및 버스 프로토콜의 SCL 신호 및 SDA 신호를 이용하여, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하고, 프로세서 관리모드를 응용기기 관리모드로 변경하고, 응용기기 관리모드에서 HIGH 조건이 되면 메모리에 데이터를 기록하거나 판독하며, 기록 또는 판독 후에 LOW 조건이 되면 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 신호 처리부를 포함하는 것을 특징으로 하는 장치에 의해서도 달성된다.
한편, 본 발명의 다른 분야에 따르면, 상기 목적은 메모리를 내장한 프로세서; 및 상기 메모리를 관리하기 위한 장치가 탑재되어 있는 시스템 온 칩에 의해서도 달성된다.
상기 프로세서는 CPU, DSP, 및 ASIP 중 적어도 하나를 포함하는 것이 바람직하다.
이하에서는 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 대해 상세히 설명한다.
도 2는 본 발명에 따른 메모리 관리방법이 적용된 시스템의 구성도이다.
도 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선식 버스 방식이다. 이 방식을 통해 구체적으로 통신하는 방법은 후술한다.
이하에서는 본 발명에 따른 메모리 관리부(201)에 대하여 상세히 살펴본다.
도 3은 본 발명에 따른 메모리 관리부(201)의 블록 구성도이다.
도 3를 참조하면, 메모리 관리부(201)는 클록제어부(302) 및 신호처리부(301)를 구비한다.
클록제어부(302)는 응용기기로부터 요청(ACTIVE 명령)이 있는 경우, 프로세서(204)로부터의 클록(CLK)대신 응용기기(202)로부터의 클록(SCL)을 메모리(203)에 공급한다.
신호처리부(301)는 응용기기(202)로부터 버스 방식에 따른 SCL 신호 및 SDA 신호를 통해 메모리 관리정보를 수신한다. 메모리 관리정보에는 기록 또는 판독할 메모리의 주소, 데이터, 및 제어명령 정보 등이 포함된다. 수신된 정보는 응용기기(202)로부터 요청이 있는 경우 메모리(203)로 제공된다.
또한, 신호처리부(301)는 응용기기(202)로부터 ACTIVE 명령을 수신하면, 프로세서 관리모드를 응용기기 관리모드로 변경하고, 응용기기 관리모드에서 HIGH 조건이면 메모리에 데이터를 기록하거나 판독하며, 기록 또는 판독 후에 LOW 조건이면 응용기기 관리모드를 다시 프로세서 관리모드로 변경한다.
여기서, 프로세서 관리모드를 응용기기 관리모드로 변경한다는 의미는, 프로세서(204)로부터 오던 클록 및 메모리 관리정보에 의해 메모리에 기록/판독을 하던 것을, 응용기기(202)부터의 클록 및 메모리 관리정보에 의해 메모리를 기록/판독하게 되는 것을 말한다. 즉, ACTIVE 제어명령을 수신하면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트하고, 응용기기(202)로부터 받는 SCL 신호를, 상기 메모리를 관리하기 위한 클록으로 선택한다. 스위치 레지스터(SW)는 메모리 관리부에서 메모리에 데이터를 기록/판독 중에 프로세서나 다른 기기에서 기록/판독을 시도하지 않도록 래치(latch)하는 역할을 한다. 즉, 스위치 레지스터(SW)를 세트하면, 다른 기기에서의 메모리 기록/판독이 불가능하며, 이 레지스터를 리셋하여야 프로세서나 다른 기기로부터 메모리의 기록/판독이 가능하게 된다.
또한, 응용기기 관리모드에서 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하게 되면, 응용기기(202)부터 수신된 SCL 클록 및 메모리 관리정보, 즉, 주소, 데이터, 제어명령 정보에 따라 메모리에 데이터를 기록하거나 판독한다.
전술한 기록/판독 과정이 종료되고, SCL 신호 및 SDA 신호가 LOW 조건을 만족하게 되면, 다시 프로세서 관리모드로 변경하며, 프로세서(204)로부터 받는 클록 및 메모리 관리정보에 따라 메모리에 데이터를 기록/판독하게 된다.
이하, 방식에 따른 SCL 신호 및 SDA 신호를 이용하여 응용기기로부터 클록 및 메모리 관리정보를 받아 메모리를 관리하는 방법을 설명한다.
도 4a 및 4b는 본 발명에 따라 메모리 관리정보를 받는 방식에 따른 SCL 신호 및 SDA 신호 및 프레임 구조를 나타내는 다이어그램이다.
도 4a를 참조하면, 응용기기로부터 메모리 관리부로 관리정보를 전송하기 위한 신호 조건으로 START 조건과 STOP 조건이 나타나 있다. 이 조건은 표준 방식에 따르므로 별도로 설명하지 않는다. 표준 방식에 따르면, 메모리 관리부는 슬레이브(SLAVE)에 해당하며, 응용기기는 마스터(MASTER)에 해당한다. START 조건이 되면, 메모리 관리부는 기록/판독을 위한 메모리의 주소(ADDRESS), 기록할지 판독할지를 알려주는 R/W 제어명령, 판독할 데이터(DATA) 등을 전송받는다. STOP 조건은 관리정보의 전송이 종료되었음을 알려준다.
이를 프레임구조로 표시한 것이 도 4b이다. 도 4b를 참조하면, 1바이트의 데이터 뿐 아니라 여러 바이트의 데이터도 기록/판독할 수 있다.
도 5a 및 5b는 본 발명에 따라 메모리 기록/판독 및 관리모드 변환을 위한 HIGH 및 LOW 신호 조건를 나타내는 다이어그램이다.
도 5a를 참조하면, 관리정보의 전송이 종료되는 STOP 조건(P)과 다음번 START 조건(S) 사이에 HIGH 조건(H) 및 LOW 조건(L)이 새롭게 정의된 것을 알 수 있다. HIGH 조건은 응용기기 관리모드에서 메모리에 데이터를 기록/판독할 클록 신호를 나타낸다. 즉, 메모리 관리부는 HIGH 조건에 동기화하여 1바이트의 데이터를 메모리에 기록한다. 한편, LOW 조건은 메모리 기록/판독을 종료하고 프로세서 관리모드로 변환할 시점을 알려준다. 메모리 관리부는 LOW 조건에서 스위치 레지스터(SW)를 리셋하고, 프로세서 관리모드로 변경한다.
구체적으로 HIGH 조건은, 응용기기가 메모리를 기록/판독할 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL 신호 레벨이 0인 상태에서 SDA 신호 레벨이 0에서 1로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건으로 정의한다. 이에 비해 LOW 조건은, 응용기기가 메모리의 기록/판독을 종료한 후 프로세서 관리모드로 변경되는 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL신호 레벨이 0인 상태에서 SDA 신호레벨이 1에서 0으로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건으로 정의한다.
이에 따라, 메모리 관리부는 프로세서로부터 클록(CLK)을 공급받지 않더라도, SCL 신호 및 SDA 신호에 의해 정의되는 HIGH 조건에 동기화하여 데이터를 기록/판독하게 됨으로써, 별도의 클록이 없이도 메모리를 관리할 수 있게 된다.
도 5b는 4바이트의 데이터를 기록/판독하는 경우의 신호조건을 나타낸다. HIGH 조건마다 1바이트의 데이터를 기록하고, LOW 조건이 되면 스위치 레지스터(SW)를 리셋한 후 프로세서 관리모드로 변경한다.
상기와 같은 구성 및 통신방법을 기초로 본 발명의 바람직한 실시예에 따른, 프로세서에 내장된 메모리를 관리하는 방법을 설명하면 다음과 같다.
도 6a는 본 발명에 따라 메모리에 데이터를 기록하는 방법을 나타낸 다이어그램이다.
도 6a를 참조하면, 메모리 관리부(201)는 응용기기(202)로부터 데이터를 기록할 메모리 주소 정보, 기록할 데이터, 및 제어명령 정보를 수신한다(①, ②, 및 ③). 제어명령 정보에는 메모리에 데이터를 기록하기 위한 WRITE 제어명령, 또는 ACTIVE 제어명령(CE 명령) 등이 포함될 수 있다.
다음으로 메모리 관리부(201)는 ACTIVE 제어명령이 수신되면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트한다(④). 그리고, 기록/판독을 위한 클록으로서 프로세서의 클록(CLK) 대신에 응용기기의 클록(SCL)을 사용하도록 응용기기 관리모드로 변경한다(⑤). 이제, 응용기기로부터 받은 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 때에, 메모리(203)에 데이터를 기록한다(⑥). 전술한 신호가 LOW 조건을 만족하는 때에는, 응용기기의 클록(SCL)대신에 프로세서의 클록(CLK)을 사용하도록 프로세서 관리모드로 변경하고(⑦), 스위치 레지스터(SW)를 리셋한다(⑧).
도 6b는 본 발명에 따라 메모리의 데이터를 판독하는 방법을 나타낸 다이어그램이다.
도 6b를 참조하면, 메모리 관리부(201)는 응용기기(202)로부터 데이터를 판독할 메모리 주소 정보 및 제어명령 정보를 수신한다(① 및 ③). 제어명령 정보에는 메모리에 데이터를 판독하기 위한 READ 제어 명령, 또는 ACTIVE 제어명령 등이 포함될 수 있다.
다음으로 메모리 관리부(201)는 ACTIVE 제어명령이 수신되면, 메모리에 기록/판독 중임을 나타내는 스위치 레지스터(SW)를 세트한다(④). 그리고, 프로세서의 클록(CLK) 대신에, 응용기기의 클록(SCL)을 사용하도록 응용기기 관리모드로 변경한다(⑤). 이제, 응용기기로부터 받은 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 때에, 메모리(203)를 판독한다(⑥). 전술한 신호가 LOW 조건을 만족하는 때에는, 응용기기의 클록(SCL)대신에 프로세서의 클록(CLK)을 사용하도록 프로세서 관리모드로 변경하고(⑦), 스위치 레지스터(SW)를 리셋한다(⑧). 마지막으로, 판독한 데이터를 응용기기(202)로 전송한다(⑨).
도 7은 본 발명에 따른 메모리 관리방법을 나타낸 플로우챠트이다.
도 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' 단계).
이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다.
전술한 바와 같이 본 발명에 따르면, 프로세서로부터 클록이나 관리정보를 받지 않고도, 프로세서에 내장된 메모리를 관리할 수 있다. 즉, 방식에 따라 SCL 신호 및 SDA 신호를 이용하여 HIGH 조건이나 LOW 조건을 만들어 메모리의 기록/판독 시점을 동기화할 수 있으므로, 별도의 클록이 없이도 메모리에 데이터를 기록하거나 판독할 수 있다.
특히, 종래의 JTAG 방식의 경우 별도의 클록 및 4-5개의 전용핀이 필요하고 테스트용도로만 한정되어 사용되는데 비하여, 별도의 클록이 필요없으며, SCL 신호 및 SDA 신호를 위한 2개의 핀만으로 메모리를 관리할 수 있다. 또한, 테스트나 디버깅 후에도 일반 버스로도 사용할 수 있어, 종래 방식에 비해 활용도가 높아진다.
도 1은 종래의 JTAG 방식에 의한 메모리를 관리하는 방법이 적용된 시스템의 구성도,
도 2는 본 발명에 따른 메모리 관리방법이 적용된 시스템의 구성도,
도 3은 본 발명에 따른 메모리 관리부(201)의 블록 구성도,
도 4a 및 4b는 본 발명에 따라 메모리 관리정보를 받는 방식에 따른 SCL 신호, SDA 신호 및 프레임 구조를 나타낸 다이어그램,
도 5a 및 5b는 본 발명에 따라 메모리 기록/판독 및 관리모드 변환을 위한 HIGH 및 LOW 신호 조건을 나타낸 다이어그램,
도 6a는 본 발명에 따라 메모리에 데이터를 기록하는 방법을 나타낸 다이어그램,
도 6b는 본 발명에 따라 메모리의 데이터를 판독하는 방법을 나타낸 다이어그램,
도 7은 본 발명에 따른 메모리 관리방법을 나타낸 플로우챠트이다.

Claims (9)

  1. 프로세서에 내장된 메모리를 관리하는 방법에 있어서,
    (a) 버스 프로토콜의 SCL 신호 및 SDA 신호를 통해, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하는 단계;
    (b) 수신된 상기 정보 중 제어명령 정보에 의해, 프로세서 관리모드를 응용기기 관리모드로 변경하는 단계;
    (c) 응용기기 관리모드에서, 상기 SCL 신호 및 SDA 신호가 HIGH 조건을 만족하는 경우, 메모리에 데이터를 기록하거나 판독하는 단계; 및
    (d) 기록 또는 판독 후에, 상기 SCL 신호 및 SDA 신호가 LOW 조건을 만족하는 경우, 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  2. 제1항에 있어서,
    상기 (a)단계는 상기 메모리를 관리하기 위한 정보로서, 메모리에 데이터를 기록하거나 판독하기 위한 주소, 데이터, 또는 제어명령을 포함하는 정보를 수신하는 단계임을 특징으로 하는 메모리 관리 방법.
  3. 제1항에 있어서,
    상기 (b)단계는
    (b1) 수신된 제어명령 정보가 ACTIVE 제어명령이면, 메모리에 기록 또는 판독 중임을 나타내는 스위치 레지스터를 세트하는 단계; 및
    (b2) 상기 메모리를 관리하기 위한 클록으로서, 상기 응용기기로부터 받는 SCL 신호를 선택하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  4. 제1항에 있어서,
    상기 (c)단계의 상기 HIGH 조건은, 상기 응용기기가 상기 메모리를 기록/판독할 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL 신호 레벨이 0인 상태에서 SDA 신호 레벨이 0에서 1로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것을 특징으로 하는 메모리 관리 방법.
  5. 제1항에 있어서,
    상기 (d)단계는
    (d1) 상기 SCL 신호 및 SDA 신호가 LOW 조건을 만족하는지 확인하는 단계;
    (d2) 상기 메모리를 관리하기 위한 클록으로서, 상기 프로세서로부터 받는 클록 신호를 선택하는 단계;
    (d3) 상기 스위치 레지스터를 리셋하는 단계; 및
    (d4) 데이터를 판독한 경우이면, 판독한 데이터를 응용기기로 전송하는 단계를 포함하는 것을 특징으로 하는 메모리 관리 방법.
  6. 제1항에 있어서,
    상기 (d)단계의 상기 LOW 조건은, 상기 응용기기가 상기 메모리의 기록/판독을 종료한 후 프로세서 관리모드로 변경되는 시점을 동기화하기 위한 클록을 발생시키는 신호조건으로서, STOP 신호 후에 SCL신호 레벨이 0인 상태에서 SDA 신호레벨이 1에서 0으로 변하고, SCL 신호 레벨이 1인 상태에서 SDA 신호 레벨이 그대로 유지되는 경우의 신호조건인 것을 특징으로 하는 메모리 관리 방법.
  7. 프로세서에 내장된 메모리를 관리하는 장치에 있어서,
    상기 프로세서의 클록 신호 또는 응용기기의 SCL 신호 중 어느 하나를, 메모리를 관리하기 위한 클록으로 선택하는 클록 제어부; 및
    버스 프로토콜의 SCL 신호 및 SDA 신호를 이용하여, 응용기기로부터 메모리를 관리하기 위한 정보를 수신하고, 프로세서 관리모드를 응용기기 관리모드로 변경하고, 응용기기 관리모드에서 HIGH 조건이 되면 메모리에 데이터를 기록하거나 판독하며, 기록 또는 판독 후에 LOW 조건이 되면 응용기기 관리모드를 다시 프로세서 관리모드로 변경하는 신호 처리부를 포함하는 것을 특징으로 하는 메모리 관리 장치.
  8. 메모리를 내장한 적어도 하나 이상의 프로세서; 및 상기 메모리를 관리하기 위한 제7항의 장치가 탑재되어 있는 시스템 온 칩.
  9. 제8항에 있어서,
    상기 적어도 하나 이상의 프로세서 중에는 CPU, DSP, 및 ASIP 중 어느 하나가 포함되는 것을 특징으로 하는 시스템 온 칩.
KR10-2003-0042899A 2003-06-28 2003-06-28 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩 KR100532104B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0042899A KR100532104B1 (ko) 2003-06-28 2003-06-28 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0042899A KR100532104B1 (ko) 2003-06-28 2003-06-28 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩

Publications (2)

Publication Number Publication Date
KR20050001295A KR20050001295A (ko) 2005-01-06
KR100532104B1 true KR100532104B1 (ko) 2005-11-29

Family

ID=37217115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0042899A KR100532104B1 (ko) 2003-06-28 2003-06-28 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩

Country Status (1)

Country Link
KR (1) KR100532104B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115100996B (zh) * 2022-07-21 2022-12-13 北京数字光芯集成电路设计有限公司 显示配置电路、方法、微显示面板和电子设备

Also Published As

Publication number Publication date
KR20050001295A (ko) 2005-01-06

Similar Documents

Publication Publication Date Title
US6145099A (en) Debugging system
JP4335999B2 (ja) プロセッサ内蔵半導体集積回路装置
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
US6959365B2 (en) Microcomputer including a flash memory and a flash memory rewrite program stored therein
WO2016106935A1 (zh) 一种闪存控制器和闪存控制器的控制方法
CN112559267B (zh) 集成电路间总线i2c从机以及i2c控制器测试方法
US5815509A (en) Method and system for testing memory
US20060236001A1 (en) Direct memory access controller
CN113901754B (zh) 基于fpga的以太网macip的板级验证结构和方法
JP2008287319A (ja) 半導体デバイス、電子装置及びアクセスログ取得方法
CN116893991B (zh) 一种axi协议下的存储模块转换接口及其转换方法
US6877113B2 (en) Break determining circuit for a debugging support unit in a semiconductor integrated circuit
JPH10116187A (ja) マイクロコンピュータ
US20080052424A1 (en) Data access system, data access apparatus, data access integrated circuit, and data access method
KR100532104B1 (ko) 프로세서에 내장된 메모리를 관리하는 방법 및 장치와 그 장치를 탑재한 시스템 온 칩
JP2001184212A (ja) トレース制御回路
US7231568B2 (en) System debugging device and system debugging method
US7526691B1 (en) System and method for using TAP controllers
JP4806747B2 (ja) シリアライザ/デシリアライザ・バスコントローラ・インターフェース
US7028237B2 (en) Internal bus testing device and method
JP3929559B2 (ja) シリアルインタフェースバス送受信回路
KR20000011226A (ko) 메모리제어방법,메모리장치및콘트롤러
TWI470421B (zh) 微處理器及其除錯方法
JP2009193604A (ja) 半導体情報処理装置

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