KR101328944B1 - 제어 정보 처리 장치 및 방법 - Google Patents

제어 정보 처리 장치 및 방법 Download PDF

Info

Publication number
KR101328944B1
KR101328944B1 KR1020070017852A KR20070017852A KR101328944B1 KR 101328944 B1 KR101328944 B1 KR 101328944B1 KR 1020070017852 A KR1020070017852 A KR 1020070017852A KR 20070017852 A KR20070017852 A KR 20070017852A KR 101328944 B1 KR101328944 B1 KR 101328944B1
Authority
KR
South Korea
Prior art keywords
control
peripheral device
command sequence
control information
processor
Prior art date
Application number
KR1020070017852A
Other languages
English (en)
Other versions
KR20080078163A (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 KR1020070017852A priority Critical patent/KR101328944B1/ko
Publication of KR20080078163A publication Critical patent/KR20080078163A/ko
Application granted granted Critical
Publication of KR101328944B1 publication Critical patent/KR101328944B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • 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

Abstract

본 발명은 프로세서가 주변장치들을 제어하는 방법에 있어서, 상기 주변장치들을 제어하는 기능을 별도의 기능 모듈을 통해 구현하는 방법, 장치 및 시스템에 대한 것이다. 즉, 상기 프로세서는 상기 주변장치들을 제어하는데 사용되는 정보들을 상기 별도의 기능 모듈로 전송하여 저장하도록 한다. 상기 주변장치들을 제어하는데 사용되는 정보들을 저장한 상기 기능 모듈은 상기 정보들을 이용하고, 보다 바람직하게는 상기 정보들에 대한 소정의 연산작업들을 수행하여 상기 주변장치들로 전송한다. 상기 정보들은 제어의 일 과정을 수행하기 위한 순서에 따라 순차적으로 전송됨이 바람직하다.
버스, 다중일괄 처리 장치, 제어 정보 처리 장치, 브릿지

Description

제어 정보 처리 장치 및 방법{apparatus and method for processing control information}
도 1은 종래 기술에 따른 시스템의 구조에서의 주변장치 제어 방법을 설명하기 위한 도면이다.
도 2a 및 도 2b는 본 발명의 일 실시 형태를 설명하기 위한 도면이다.
도 3은 본 발명의 다른 실시 형태를 설명하기 위한 도면이다.
도 4는 본 발명의 또 다른 실시 형태를 설명하기 위한 도면이다.
도 5는 본 발명의 또 다른 실시 형태를 설명하기 위한 도면이다.
본 발명은 시스템 내의 디바이스 제어에 관한 것으로 보다 구체적으로 시스템 내의 디바이스를 제어하기 위한 제어 정보 처리 장치 및 방법에 관한 것이다.
도 1은 종래 기술에 따른 시스템의 구조에서의 주변장치 제어 방법을 설명하기 위한 도면이다.
도 1을 참조하면, 종래 기술에 따른 시스템 구조는 프로세서(10), 제1 주변장치(11), 제2 주변장치(12), 제3 주변장치(13), 제4 주변장치(14), 메모리(15) 및 버스(16)로 구성된다.
종래의 기술은 프로세서(10)가 여러 주변 장치를 제어함에 있어서 내부 또는 외부 메모리(15)에서 미리 저장된 명령어를 읽어 들여 순차적으로 여러 주변 장치를 제어한다. 상기 내부 또는 외부 메모리(15)에 저장된 명령어 들은 주변 장치의 제어뿐만 아니라 프로세서(10) 내부에서 계산해야 하는 연산 명령어도 포함된다. 이러한 명령어 들은 동시에 수행할 수 없으며, 순차적 수행한다. 일반적으로 이러한 명령어들은 프로세서(10) 내부 연산에 비해 주변 장치 제어에 보다 많은 시간이 걸린다. 이 말은 주변장치 제어 빈도가 높을수록 프로세서의 수행 시간이 길어지고, 시스템의 성능이 저하됨을 의미한다. 특히, 제어하는 주변 장치가 많아질수록 이러한 성능 저하는 쉽게 예측할 수 있다.
상기한 일련의 명령어 수행은 프로세서(10)가 주변장치들(예를 들어, 내부 IP들 및 외부장치)(11, 12, 13, 14)를 제어할 때마다 버스(102)에 접근하면 성능 열화를 가져 온다는 것은 자명하다. 현재 대부분의 프로세서를 포함한 장치에서는 보다 많은 기능을 지원하기 위하여 포함된 주변 장치의 수가 늘어나고 있다. 이러한 기술적 발전은 프로세서에 주변장치 제어를 위해 보다 많은 작업을 요구하게 되고 결국 많은 제어 신호로 인한 병목 현상을 야기하여 전체적인 성능을 떨어뜨리는 문제점이 있다.
본 발명은 종래 기술의 문제를 해결하기 위해 제안된 것으로서, 본 발명의 목적은 개선된 방법으로 제어할 수 있는 시스템을 제안하는 것이다.
본 발명은 프로세서가 주변장치들을 제어하는 방법에 있어서, 상기 주변장치들을 제어하는 기능을 별도의 기능 모듈을 통해 구현하는 방법, 장치 및 시스템에 대한 것이다. 즉, 상기 프로세서는 상기 주변장치들을 제어하는데 사용되는 정보들을 상기 별도의 기능 모듈로 전송하여 저장하도록 한다. 상기 주변장치들을 제어하는데 사용되는 정보들을 저장한 상기 기능 모듈은 상기 정보들을 이용하고, 보다 바람직하게는 상기 정보들에 대한 소정의 연산작업들을 수행하여 상기 주변장치들로 전송한다. 상기 정보들은 제어의 일 과정을 수행하기 위한 순서에 따라 순차적으로 전송됨이 바람직하다.
본 발명의 일 양상으로서, 제어 정보 처리 장치는 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스를 포함하는 제어 정보가 저장되는 적어도 하나 이상의 저장부를 포함하는 제어 기능 모듈과, 상기 제어 정보를 프로세서로부터 수신하여 상기 신호 저장소로 전달하는 프로세서 인터페이스 및 상기 제어 정보를 상기 신호 저장소로부터 수신하여 상기 주변장치로 전송하는 주변장치 인터페이스를 포함하여 이루어진다.
상기 제어 정보 처리 장치는, 다수의 제어 정보에 대한 실행 요청 신호가 상기 제어 기능 모듈에서 상기 주변장치 인터페이스로 전달되는 경우, 각각의 상기 제어 정보에 포함된 상기 명령어 시퀀스가 순차적으로 전송되도록 중재하여 상기 주변장치 인터페이스로 전달하는 중재기를 더 포함할 수 있다.
상기 제어 기능 모듈은, 상기 저장된 제어 정보에 포함된 각각의 상기 명령 어 시퀀스에 대한 제어 값이 저장되고, 상기 제어 값을 이용하여 상기 명령어 시퀀스를 처리하는 제어부를 더 포함할 수 있다.
상기 제어부는, 쓰기, 읽기, 읽은 후 읽은 값 쓰기 및 읽은 후 읽은 값에 연산 수행후 쓰기 등을 포함하는 데이터 연산 제어 기능 및 각각의 상기 명령어 시퀀스 제어 기능을 수행할 수 있다.
상기 프로세서 및 상기 주변장치는 버스를 통해 연결되되, 상기 프로세서를 연결하는 버스와 상기 주변장치를 연결하는 버스의 구조가 서로 달라 버스 브릿지(bridge)의 기능을 수행할 수 있다.
상기 저장부는 메모리(memory) 및 레지스터(register)가 될 수 있고, 상기 저장부에는, 복수의 명령어 시퀀스가 저장되되, 상기 복수의 명령어 시퀀스 중 각각은 서로 동일한 길이의 명령어 시퀀스 및 서로 다른 길이의 명령어 시퀀스 중 적어도 하나가 될 수 있다.
본 발명의 다른 양상으로서, 제어 정보 처리 방법은 프로세서로부터 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스 및 상기 명령어 시퀀스에 대한 제어 값을 수신하여 저장하는 단계 및 상기 저장된 제어 값을 이용하여 상기 명령어 시퀀스를 순차적으로 처리하여 상기 주변장치를 제어하는 단계를 포함하여 이루어진다.
본 발명의 또 다른 양상으로서, 버스 브릿지는 프로세서 및 주변장치 중 적어도 하나와 인터페이스 할 수 있는 인터페이스와, 상기 프로세서로부터 상기 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스 및 상기 명령어 시퀀스에 대한 제어 값이 저장되는 저장부 및 상기 저장된 제어 값을 이용하여 상기 명령어 시퀀스를 순차적으로 처리하여 상기 주변장치를 제어하는 제어부를 포함하여 이루어진다.
상술한 본 발명의 목적, 구성 및 다른 특징들과 관련한 바람직한 실시 형태의 예들을 첨부된 도면을 참조하여 다음의 상세한 설명을 통해서 상세히 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시 형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시 형태를 나타내고자 하는 것이 아니다.
도 2a는 본 발명의 일 실시 형태에 따른 제어 정보 처리 장치의 구성도이다.
도 2a를 참조하면, 상기 제어 정보 처리 장치(201)는 프로세서 인터페이스(21), 주변장치 인터페이스(22), 적어도 하나 이상의 제어 기능 모듈(25~27)을 포함하는 제어 기능 모듈부(24) 등을 포함한다. 그리고, 필요한 경우 중재기(23)를 더 포함할 수도 있다.
상기 프로세서 인터페이스(21)는 적어도 하나 이상의 프로세서와 인터페이스가 가능하게 하는 구성요소이다. 상기 주변장치 인터페이스(22)는 적어도 하나 이상의 주변장치와 인터페이스가 가능하게 하는 구성요소이다. 상기 제어 기능 모듈(25~27)은, 상기 주변장치를 제어하기 위한 적어도 하나 이상의 제어 정보를 저장하고 제어를 수행하기 위한 기능 모듈이다. 하나의 제어 정보 처리 장치에는 다수의 제어 기능 모듈이 포함되어 구성될 수 있다. 즉, 상기 다수의 제어 기능 모듈 각각은 하나의 제어 정보 처리 단위별로 구성될 수 있다. 만약 하나의 제어 기능 모듈에 하나의 제어 단위를 처리하기 위한 저장 공간이 부족한 경우에는 두 개 이상의 제어 기능 모듈을 사용하는 것이 가능함은 자명하다.
그리고, 상기 중재기(23)는 다수의 주변장치에 대한 제어 정보가 동시 또는 유사한 시간에 수신되고, 처리되도록 요청된 경우에 상기 각 주변장치에 대한 제어 정보 예를 들어, 명령어 시퀀스들을 일괄적으로 처리하여 제어 정보 처리를 조정하는 기능을 수행한다.
도 2b는 본 발명의 실시 형태에 따른 상기 제어 기능 모듈을 설명하기 위한 도면이다.
도 2b를 참조하면, 상기 제어 명령어 정보 예를 들어, 명령어 시퀀스를 저장하기 위한 적어도 하나 이상의 저장부를 포함하여 이루어진다. 그리고 바람직하게는 상기 저장된 명령어 시퀀스에 대한 제어 값을 저장하고, 상기 제어 값을 이용하여 상기 명령어 시퀀스를 처리하기 위한 제어부를 더 포함할 수 있다. 상기 명령어 시퀀스 및 해당 제어 값은 하나의 제어 과정을 수행하기 위해 처리되는 단위별로 저장될 수 있다. 즉, 위에서 설명한 바와 같이 상기 하나의 제어 과정에 대한 명령어 시퀀스를 저장하는 저장부 및 상기 저장부에 저장된 명령어 시퀀스를 제어하기 위한 제어 값을 저장하는 제어부는 하나의 처리 단위별로 구성될 수 있다.
예를 들어, 하나의 제어 기능 모듈이 하나 이상의 저장부와 제어부를 포함하여 이루어지도록 구성하여 하나의 제어 과정이 하나의 제어 기능 모듈을 통해 처리되도록 할 수 있다. 또한, 상기 하나의 제어 과정을 처리하기에 필요한 명령어 시퀀스 등을 저장하기 위해 하나의 제어 기능 모듈에 포함된 저장부의 공간이 부족한 경우에는 하나 이상의 제어 기능 모듈을 이용하여 하나의 제어 과정이 처리되도록 할 수도 있다.
여기서 각 제어 기능 모듈에 포함된 각 저장부는 동일한 크기의 시퀀스(Sequence)를 저장할 수도 있고 서로 다른 크기의 시퀀스(sequence)를 저장할 수도 있다. 상기 저장부에 저장되는 명령어 시퀀스의 일례로 해당 주변장치를 지시하는 주소값과 상기 해당 주변장치에 쓰기 또는 읽기 등을 수행할 데이터 값을 들 수 있다. 상기 제어 기능 모듈에 포함된 각 제어부는 각 명령어 시퀀스의 실행을 요청할 수 있다. 또한, 쓰기, 읽기, 읽은 후 읽은 값 쓰기 및 읽은 값에 연산 후 쓰기 등과 같이 데이터 연산 제어 기능을 수행할 수 있다. 그리고, 각 시퀀스 간 간격 즉, 각 시퀀스가 처리되는 타이밍 등을 제어하는 기능을 수행할 수도 있다.
상기 제어 정보 처리 장치 또는 제어 정보를 처리하는 기능 모듈을 포함하여 종래의 프로세서가 수행하던 주변장치에 대한 제어를 상기 제어 정보 처리 장치에서 수행할 수 있는 효과가 있다. 순차적인 정보 처리가 필요한 상기 주변장치 제어 정보를 별도의 기능 모듈 등을 통해 처리함으로써 상기 프로세서의 부담을 줄여 그 외의 기능을 더욱 효율적으로 수행할 수 있도록 할 수 있다. 따라서, 전체적인 시스템의 속도를 높일 수 있고, 효율적인 정보 처리를 수행할 수 있다.
도 3은 본 발명의 일 실시 형태를 설명하기 위한 블록 구성도이다.
도 3에 나타난 바와 같이, 본 발명에 따른 제어 정보 처리 장치를 포함하는 시스템은 상기 제어 정보 처리 장치(31)뿐만 아니라 프로세서(30), 프로세서 메모리(36), 적어도 하나 이상의 주변장치(32~35), 상기 각 시스템 구성요소들이 버스 로 연결되어 있는 경우에는 버스(37)를 포함하여 이루어질 수 있다.
일 시스템은 상기 메모리(36)로부터 명령어를 읽어 순차적으로 주변장치를 제어하는 프로세서(30)와 이 프로세서에 의해 제어되며 독립적인 기능을 수행하는 여러 주변 장치들(32~35)로 구성되어 있으며 이들은 버스(37)라는 공통된 통로를 통해 결합될 수 있다. 여기서 상기 프로세서(30)는 하나 또는 그 이상의 프로세서로 볼 수 있으며, 주변 장치는 내부에 있는 여러 IP, 외부 장치 및 내부/외부 메모리(36)를 포함한 것으로 이미 잘 알려진 범용의 기능을 제공하는 것 일 수도 있고, 새로운 기능을 지원하는 독자적인 것 일 수도 있다. 또한, 각 주변 장치로 접근하는 속도는 각 주변 장치별로 다를 수 있다.
상기 제어 정보 처리 장치(31)는 시스템 내에서 프로세서와 주변장치들과 연결되되, 버스(Bus)를 통해서 연결될 수 있다. 상기 버스(37)는 전기적 신호의 통로로 어드레스, 데이터, 컨트롤 신호를 포함하는 연결선을 의미한다. 즉, 시스템을 구성하는 프로세서와 비디오 카드, 각종 입출력 장치, 주변 기기 사이에 주고받는 정보가 전달되는 정보의 통로 또는 전송로이다. 상기 버스를 통해 동시에 전달될 수 있는 비트의 수를 버스 폭(bus width)이라고 하며, 버스 폭에 따라 16비트, 32비트 등 한 번에 전달될 수 있는 데이터의 크기가 일정하게 정해진다. 버스의 규격, 즉 버스 폭과 버스의 동작 주파수 등에 따라 버스의 데이터 전송 능력(초당 데이터 전송 속도)이 결정되며, 어느 방식의 버스를 채택하느냐에 따라 컴퓨터의 전체 처리 속도가 달라진다. 개인용 컴퓨터(PC)의 버스로는 16비트 폭의 ISA 버스, 32비트 폭의 EISA 버스, MCA 버스 등이 있다. 이들 버스와는 별도로 i486 이상의 높은 주파수로 동작하는 고속의 CPU와 고속으로 동작하는 장치 사이에 직접 대용량의 데이터를 전달하는 32비트 또는 64비트 폭의 버스를 로컬 버스라고 한다. 널리 사용되는 로컬 버스로는 VL-버스, PCI 버스, PCI 버스를 확장한 AGP 등이 있다.
상기 제어 정보 처리 장치(31)는 위 도 2를 통해 설명한 바와 같이 프로세서 인터페이스, 주변장치 인터페이스, 제어 기능 모듈 등을 포함한다. 그리고, 필요한 경우 다수의 주변장치에 대한 다수의 제어 정보를 순차적으로 처리하기 위한 중재기를 더 포함할 수도 있다.
즉, 상기 제어 정보 처리 장치 내에 구비된 프로세서 인터페이스를 통해 상기 프로세서(30)와 인터페이스 할 수 있다. 상기 프로세서 인터페이스는 하나 또는 그 이상의 프로세서 인터페이스를 지원한다. 마찬가지로 주변장치 인터페이스를 통해서 상기 여러 주변 장치들(32~35)과 인터페이스 할 수 있다.
그리고, 상기 제어 정보 처리 장치 내에 구비된 상기 제어 기능 모듈을 통해서 프로세서로부터 일괄처리 시퀀스(sequence)를 전달받아 저장하고, 각 시퀀스(sequence)에 대한 제어 값들을 저장하여 시퀀스를 순차적으로 실행할 수 있다. 또한, 상기 제어 정보 처리 장치는 중재기를 더 포함하여 상기 제어 기능 모듈로부터 요청되는 작업을 순서에 의해서 중재하여 주변장치로 전송할 수 있다. 상기 중재기는 상기 제어 기능 모듈과 주변장치 인터페이스를 연결하도록 구성될 수 있다.
도 4는 본 발명의 실시 형태에 따른 제어 정보 처리 방법을 설명하기 위한 흐름도이다. 이하 도 3 및 도 4를 참조하여 제어 정보 처리 장치를 이용하여 제어 정보를 처리하는 방법을 설명한다.
이하 보다 상세한 이해를 돕기 위하여 제1 주변장치(32)에 대한 제어 과정이 수행 제어된 후에 제2 주변장치(33)에 대한 제어 과정이 수행된다고 가정한다. 또한, 상기 제1 주변장치(32)는 느린 동작 속도로 동작하고 프로세서가 제어할 때 제어를 끝내기 위해 많은 시간을 기다려야 한다고 가정한다. 그리고, 프로세서(30)가 제1 주변장치(32)에서 데이터를 읽어서 읽은 데이터를 제2 주변장치(33)에 쓰기 과정을 수행하고자 하는 경우라고 가정한다.
프로세서(30)에 의해서 버스(37)를 통해 제1 주변장치(32)를 제어하기 위한 명령어 시퀀스 등이 메모리(36)로부터 상기 제어 정보 처리 장치(31)로 전달된다(S40, S41).
보다 구체적으로 설명하면, 상기 명령어 시퀀스는 상기 프로세서(30)에 의해서 상기 제어 정보 처리 장치(31)의 프로세서 인터페이스를 통하여 제어 기능 모듈에 포함된 저장부에 저장된다(S42). 그리고, 상기 명령어 시퀀스를 제어하는 제어 값은 상기 제어 정보 저리 장치(31) 내에 포함된 제어부에 각각 저장된다(S42). 상기 제어부는 위에서 설명한 바와 같이 상기 제어부에 저장된 값들을 이용하여 명령어 시퀀스의 실행 여부를 지시할 수 있고 또한, 간단한 연산 작업도 수행할 수 있다.
이 경우에는 상기 과정을 수행하기 위해서는 상기 명령어 시퀀스들 중 하나는 상기 제1 주변장치(32)에서 데이터를 읽어오기 위해 필요한 상기 제1 주변장치(32)의 어드레스(address) 정보가 될 수 있다. 그리고, 상기 명령어 시퀀스를 제어하는 제어 값은 상기 제1 주변장치의 어드레스 정보에 대한 명령어 시퀀스에 대 해 해당 어드레스에 접근하여 데이터를 읽어 오는 것을 지시하는 제어 정보(read)가 될 수 있다.
그리고, 상기 명령어 시퀀스들 중 다른 하나는 상기 제1 주변장치에서 읽은 데이터를 상기 제2 주변장치(33)로 전달하여 상기 제2 주변장치(33)에 저장하기 위한 상기 제2 주변장치(33)의 어드레스 정보가 될 수 있다. 그리고, 상기 명령어 시퀀스를 제어하는 제어 값은 상기 제1 주변장치(32)로부터 읽은 데이터를 상기 명령어 시퀀스에 따른 제2 주변장치(33)의 어드레스에 저장할 것을 지시하는 제어 정보(write)가 될 수 있다.
상기 제어 기능 모듈에 포함된 저장부와 제어부에 저장된 정보에 따라 상기 제1 주변장치(32) 및 제2 주변장치(33)에 대한 제어 과정의 일례를 설명한다.
제1 주변장치 및 제2 주변장치 어드레스와 읽기 및 쓰기 할 제어 값 등을 저장한다. 다음으로 각 명령어 시퀀스(sequence)에 대한 제어 값을 설정한 후 실행한다. 이때 제어 기능 모듈에 저장된 명령어 시퀀스에 따라 제1 주변장치(103)의 어드레스 정보 및 해당 제어 값에 따라 상기 제1 주변장치 내에 저장된 데이터를 읽어오는 동작을 수행한다(S43~S45). 위 제1 주변장치에 저장된 데이터를 읽어오는 동작이 완료되면 순차적으로 제2 주변장치에 대한 제어 동작이 수행된다. 즉, 상기 제어 기능 모듈에 저장된 명령어 시퀀스에 따라 제2 주변장치(103)의 어드레스 정보 및 해당 제어 값에 따라 상기 제1 주변장치로부터 읽어온 데이터를 상기 제2 주변장치에 기록 즉, 저장하는 동작을 수행한다(S46~S47).
위와 같이 제1 주변장치 및 제2 주변장치를 제어하기 위한 정보를 상기 제어 기능 모듈에 저장하여 상기 제어 기능 모듈을 통해 제어 기능을 분담함으로써 프로세서의 부담이 줄 수 있다.
특히, 제1 주변장치에 대해 동일한 동작을 다시 수행할 경우 이 경우에는 단순하게 상기 제어 기능 모듈의 제어부에 실행에 대한 부분만 재설정하면 상기 제어 기능 모듈은 이미 저장된 명령어 시퀀스를 이용하여 동일한 동작을 수행할 수 있게 된다.
다시 말해서 반복적으로 수행되는 것이 요구되는 경우에는 매번 메모리로부터 제어 정보를 읽어와서 순차적으로 주변장치를 제어해야하는 수고를 덜어 상기 제어 기능 모듈에 제어 정보를 저장하여 제어부의 제어 값을 설정 및 변경 설정함으로써 반복적인 제어 수행시에도 매우 유리한 효과가 있다.
다른 실시 예로 상기 제1 주변 장치(32) 및 제2 주변 장치(33)에 대한 제어 정보가 한번에 저장되고 저장된 순서에 따라 순차적으로 수행되는 경우뿐만 아니라 상기 제1 주변장치(32)에 대한 제어가 이루어지는 동작 중에 제2 주변장치(33)에 대해 프로세서(30)가 상기 제1 주변장치(32)에서 데이터를 읽어서 읽은 데이터를 상기 제2 주변장치(33)에 쓰기를 원한다면, 상기 프로세서(30)는 상기 제1 주변장치(32)에 대한 제어 동작 중에 상기 제어 정보 처리 장치(31)의 프로세서 인터페이스를 통하여 제어 기능 모듈의 저장부에 제1 주변장치(32) 및 제2 주변장치(33)의 어드레스를 기록, 저장하고 제어부에 필요한 제어 값들을 저장 또는 설정한 후 실행을 시킨다. 이 경우 다중 일괄 처리가 요청되기 때문에 상기 제어 정보 처리 장치(31)는 중재기를 더 포함하여 각각의 저장부 및 제어부의 요청을 적절히 중재하 여 수행할 수 있도록 하는 것이 바람직하다.
도 5는 본 발명의 다른 실시 형태를 설명하기 위한 구성도이다.
도 5를 참조하여 상기 제어 정보 처리 장치가 버스 브릿지(bridge) 기능을 수행하는 경우를 설명한다. 여기에서 본 발명의 제어 정보 처리 장치 등 시스템을 구성하는 장치 및 모듈 등은 각각 버스(57)를 통해 연결되어 있다고 가정한다. 그리고, 상기 프로세서 및 주변장치들이 동일한 구조의 버스를 사용할 수도 있지만 본 발명의 다른 실시 형태를 설명하기 위해서 상기 프로세서 및 주변장치는 서로 다른 구조의 버스를 사용한다고 가정한다. 서로 다른 구조의 버스를 사용하는 경우에는 서로 다른 버스를 서로 연결하고 데이터 등의 신호를 서로 주고 받기 위해서 동작 클록 등의 기본 동작을 맞추기 위한 브릿지가 구비되는 것이 바람직하다.
본 발명에서는 상기 이종 즉, 서로 다른 구조의 버스가 연결되는 경우 사용될 수 있는 브릿지의 기능을 상기 제어 정보 처리 장치를 이용하여 구현하는 방법을 제안한다. 즉, 상기 제어 정보 처리 장치는 상기 프로세서의 제어 기능을 수행하는 기능뿐만 아니라 서로 다른 구조의 버스 사이에 연결되어 버스 브릿지의 기능도 수행할 수 있다.
도 5를 참조하면, 상기 버스 브릿지의 기능을 수행할 수 있는 제어 정보 처리 장치는 상기 프로세서(50)와 주변장치들(52, 53) 사이에 연결되는 것이 바람직하다. 즉, 본 발명의 제어 정보 처리 장치(51)는 기존의 프로세서의 버스(57)와 별개의 버스(58)를 구성할 수 있다. 상기 제어 정보 처리 장치(51)에 의해 구성된 버스(58)는 다시 복수의 주변장치(제1 주변장치, 제2 주변장치 등)(52, 53)와 연결된 다. 상기 여기에서 제어 정보 처리 장치에 의해 구성된 버스(58)는 프로세서의 버스(57)와 다른 이종의 버스 구조일 수 있으며, 다른 클럭을 사용할 수도 있다. 이는 상기 제어 정보 처리 장치(51)가 버스 브리지(bridge)의 기능도 포함할 수 있음을 의미한다.
도 6은 본 발명의 또 다른 실시 형태를 설명하기 위한 구성도이다.
도 6을 참조하면, 제1 디바이스(601)가 본 발명의 제어 정보 처리 장치를 포함한 제2 디바이스(602)와 연결되어 있다. 이하 설명의 편의를 위해서 상기 제1 디바이스(601)는 제2 디바이스(602)의 제1 주변장치(63), 제2 주변장치(64) 및 제4 주변장치(66)에 순차적으로 데이터 쓰기 작업을 반복적으로 수행하고, 상기 제2 디바이스는 제1 주변장치(63)에서 데이터를 읽어서 제3 주변장치(65)에 읽은 데이터 쓰기를 반복적으로 수행하고자 한다고 가정한다. 상기 제1 내지 제4 주변장치들은 시스템 내부에 구비된 IP 또는 시스템 외부 장치가 될 수 있다.
제1 디바이스(601)는 먼저 제2 디바이스(602)에 포함된 제어 정보 처리 장치(61)의 프로세서 인터페이스를 통하여 제어 정보 처리 장치 내의 제어 기능 모듈에 상기 제1 주변장치(63), 제2 주변장치(64), 제4 주변장치(66)에 해당하는 어드레스(address) 및 쓰기 할 데이터 등의 명령어 시퀀스(sequence)를 저장한다. 각각의 상기 명령어 시퀀스에 대한 제어 값을 설정한 후 실행한다. 이때 상기 제어 정보 처리 장치는 제어 기능 모듈에 저장된 명령어 시퀀스에 따라 제1 주변장치(63), 제2 주변장치(64), 제4 주변장치(66)에 쓰기 동작을 수행한다. 제1 디바이스(601)가 다시 동일한 동작을 즉, 위 4개의 주변장치에 대한 쓰기 동작을 수행하고자 하 는 경우에는 단순히 상기 제어 기능 모듈의 제어부에 실행에 대한 부분만 설정 또는 재설정하면 다중 일괄처리 장치는 이미 저장된 시퀀스에 따라 동작하게 된다.
이러한 동작 중에 제2 디바이스(602)의 프로세서(60)가 제1 주변장치(63)에서 데이터를 읽어서 읽은 데이터를 제3 주변장치(65)에 쓰기를 원한다면, 제2 디바이스(602)의 프로세서(60)는 제어 정보 처리 장치(61)의 프로세서 인터페이스를 통하여 제어 기능 모듈의 저장부에 상기 제1 주변장치 및 제3 주변장치의 어드레스(address)를 기록하고 제어부에 필요한 제어 값들을 설정한 후 실행하도록 한다.
이 경우에는 위에서 설명한 바와 같이 다중 일괄 처리가 요청되기 때문에 중재기를 더 포함하여 각 제어 기능 모듈의 요청을 적절히 중재하여 수행할 수 있도록 하는 것이 바람직하다.
본 발명은 상기와 설명된 것뿐만 아니라 다른 여러 가지의 조합으로 동작이 가능할 것이다. 또한, 이상에서 사용된 용어들은 다른 것들로 대치될 수 있고, 이상에서 설명한 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 형태는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해할 것이다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 동일한 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석될 것이다.
본 발명의 장치를 이용하면 프로세서가 처리해야 하는 복수의 주변장치 제어를 일괄적으로 처리하여 프로세서의 작업량을 줄일 수 있으며 이로 인하여 고성능의 집적회로 설계가 가능한 효과가 있다.

Claims (9)

  1. 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스를 포함하는 제어 정보가 저장되는 적어도 하나 이상의 저장부 및 상기 저장된 제어 정보에 포함된 각각의 상기 명령어 시퀀스에 대한 제어 값이 저장되고, 상기 제어 값을 이용하여 상기 명령어 시퀀스를 처리하는 제어부를 포함하는 제어 기능 모듈;
    상기 제어 정보를 프로세서로부터 수신하여 상기 저장부로 전달하는 프로세서 인터페이스; 및
    상기 제어 정보를 상기 저장부로부터 수신하여 상기 주변장치로 전송하는 주변장치 인터페이스
    를 포함하고,
    상기 제어 기능 모듈은, 상기 주변장치를 반복적으로 제어할 경우, 상기 명령어 시퀀스에 대한 제어 값만 재설정하여 상기 저장부에 기 저장된 명령어 시퀀스를 이용하는 제어 정보 처리 장치.
  2. 제 1 항에 있어서,
    다수의 제어 정보에 대한 실행 요청 신호가 상기 제어 기능 모듈에서 상기 주변장치 인터페이스로 전달되는 경우,
    각각의 상기 제어 정보에 포함된 상기 명령어 시퀀스가 순차적으로 전송되도록 중재하여 상기 주변장치 인터페이스로 전달하는 중재기
    를 더 포함하는 것을 특징으로 하는 제어 정보 처리 장치.
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제어부는, 쓰기, 읽기, 읽은 후 읽은 값 쓰기 및 읽은 후 읽은 값에 연산 수행후 쓰기 등을 포함하는 데이터 연산 제어 기능 및 각각의 상기 명령어 시퀀스 제어 기능을 수행하는 것을 특징으로 하는 제어 정보 처리 장치.
  5. 제 1 항에 있어서,
    상기 프로세서 및 상기 주변장치는 버스를 통해 연결되되, 상기 프로세서를 연결하는 버스와 상기 주변장치를 연결하는 버스의 구조가 서로 달라 버스 브릿지(bridge)의 기능을 수행하는 것을 특징으로 하는 제어 정보 처리 장치.
  6. 제 1 항에 있어서,
    상기 저장부는 메모리(memory) 및 레지스터(register)인 것을 특징으로 하는 제어 정보 처리 장치.
  7. 제 1 항에 있어서,
    상기 저장부에는, 복수의 명령어 시퀀스가 저장되되, 상기 복수의 명령어 시퀀스 중 각각은 서로 동일한 길이의 명령어 시퀀스 및 서로 다른 길이의 명령어 시퀀스 중 적어도 하나인 것을 특징으로 하는 제어 정보 처리 장치.
  8. 프로세서로부터 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스 및 상기 명령어 시퀀스에 대한 제어 값을 수신하여 저장하는 단계; 및
    상기 저장된 제어 값을 이용하여 상기 명령어 시퀀스를 순차적으로 처리하여 상기 주변장치를 제어하는 단계
    를 포함하고,
    상기 주변장치를 반복적으로 제어할 경우, 상기 명령어 시퀀스에 대한 제어 값만 재설정하여 상기 저장된 명령어 시퀀스를 이용하는 제어 정보 처리 방법.
  9. 프로세서 및 주변장치 중 적어도 하나와 인터페이스 할 수 있는 인터페이스;
    상기 프로세서로부터 상기 주변장치를 제어하기 위한 적어도 하나 이상의 명령어 시퀀스 및 상기 명령어 시퀀스에 대한 제어 값이 저장되는 저장부; 및
    상기 저장된 제어 값을 이용하여 상기 명령어 시퀀스를 순차적으로 처리하여 상기 주변장치를 제어하는 제어부
    를 포함하고,
    상기 주변장치를 반복적으로 제어할 경우, 상기 명령어 시퀀스에 대한 제어 값만 재설정하여 상기 저장부에 기 저장된 명령어 시퀀스를 이용하는 버스 브릿지.
KR1020070017852A 2007-02-22 2007-02-22 제어 정보 처리 장치 및 방법 KR101328944B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070017852A KR101328944B1 (ko) 2007-02-22 2007-02-22 제어 정보 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070017852A KR101328944B1 (ko) 2007-02-22 2007-02-22 제어 정보 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080078163A KR20080078163A (ko) 2008-08-27
KR101328944B1 true KR101328944B1 (ko) 2013-11-13

Family

ID=39880395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070017852A KR101328944B1 (ko) 2007-02-22 2007-02-22 제어 정보 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101328944B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109706A (ja) 1999-10-12 2001-04-20 Nec Ic Microcomput Syst Ltd Dma転送方法およびそのシステム
JP2003228549A (ja) 2002-02-05 2003-08-15 Oki Electric Ind Co Ltd バスブリッジ回路のアクセス制御方法及び装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109706A (ja) 1999-10-12 2001-04-20 Nec Ic Microcomput Syst Ltd Dma転送方法およびそのシステム
JP2003228549A (ja) 2002-02-05 2003-08-15 Oki Electric Ind Co Ltd バスブリッジ回路のアクセス制御方法及び装置

Also Published As

Publication number Publication date
KR20080078163A (ko) 2008-08-27

Similar Documents

Publication Publication Date Title
EP1646925B1 (en) Apparatus and method for direct memory access in a hub-based memory system
US11163710B2 (en) Information processor with tightly coupled smart memory unit
US20050210221A1 (en) Microcomputer and microcomputer system
JP5578713B2 (ja) 情報処理装置
EP2804106A1 (en) Inter-processor communication system
US7386642B2 (en) IO direct memory access system and method
US5463740A (en) Data control device generating different types of bus requests and transmitting requests directly to one of a number of arbiters for obtaining access to a respective bus
US7409486B2 (en) Storage system, and storage control method
US6487617B1 (en) Source-destination re-timed cooperative communication bus
US20030217218A1 (en) Interface for devices having different data bus widths and data transfer method using the interface
US20060218313A1 (en) DMA circuit and computer system
JP6294732B2 (ja) データ転送制御装置及びメモリ内蔵装置
JPH06214945A (ja) コンピュータシステム及び情報の高速転送方法
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
KR101328944B1 (ko) 제어 정보 처리 장치 및 방법
JP2831083B2 (ja) マルチプロセッサシステムおよび割り込み制御装置
WO2001025941A1 (en) Multiprocessor computer systems with command fifo buffer at each target device
CN107807888B (zh) 一种用于soc架构的数据预取系统及其方法
US20050223129A1 (en) Arbitration of data transfer requests
CN114281726B (zh) 用于soc芯片的系统架构及外设通信方法
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
JPH11110342A (ja) バス接続方法及び装置
KR0145932B1 (ko) 고속중형 컴퓨터시스템에 있어서 디엠에이제어기
JPH1185673A (ja) 共有バスの制御方法とその装置
KR100496652B1 (ko) 고성능 병렬신호처리 시스템을 위한 hpi-emif 브릿지

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
LAPS Lapse due to unpaid annual fee