상기 기술적 과제를 달성하기 위한 프로토콜 변환중재회로는 마스터가 사용 하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호로 변환하는 프로토콜 변환회로; 및 상기 프로토콜 변환회로의 출력신호들을 수신하고, 수신된 신호들을 상기 슬레이브가 사용하는 프로토콜에 따른 신호들로 변환하기 위한 변환회로를 구비한다.
상기 변환회로는 상기 프로토콜 변환회로로부터 출력되는 제어신호들과 데이터를 수신하고, 상기 제어신호들 중에서 적어도 하나의 제어신호에 응답하여 어드레스 디코더 제어신호들을 출력하는 컨트롤러; 상기 어드레스 디코더 제어신호들에 응답하여 상기 프로토콜 변환회로로부터 출력되는 어드레스를 디코딩하고, 상기 마스터가 억세스하고자 하는 외부 메모리에 대한 정보를 출력하는 어드레스 디코더; 및 상기 프로토콜 변환회로부터 출력되는 어드레스, 상기 컨트롤러로부터 출력되는 제어신호들과 상기 데이터, 및 상기 어드레스 디코더로부터 출력되는 상기 외부 메모리에 대한 정보를 수신하고, 수신된 신호들에 기초하여 상기 슬레이브에서 사용되는 프로토콜에 따른 신호들을 출력하는 분배기를 구비한다.
컨트롤러는 상기 프로토콜 변환회로로부터 출력되는 제어신호들 중에서 적어도 하나의 제1제어신호에 응답하여 상기 프로토콜 변환회로부터 출력되는 데이터를 상기 분배기로 전송하거나 상기 분배기로부터 입력되는 데이터를 상기 프로토콜 변환회로로 전송하는 데이터 전송 제어기; 상기 프로토콜 변환회로로부터 출력되는 제어신호들 중에서 적어도 하나의 제2제어신호에 응답하여 상기 어드레스 디코더 제어신호들을 출력하는 어드레스 디코더 제어기; 상기 프로토콜 변환회로로부터 출력되는 제어신호들 중에서 적어도 하나의 제3제어신호에 응답하여 또는 상기 분배 기로부터 출력되는 제어신호들 중에서 적어도 하나의 제어신호에 응답하여 상기 마스터가 억세스하고자 하는 상기 외부 메모리의 상태에 관련된 정보를 수신하고, 수신된 정보를 상기 프로토콜 변환회로로 전송하는 응답 제어기; 및 상기 프로토콜 변환회로로부터 출력되는 제어신호들 중에서 적어도 하나의 제4제어신호에 응답하여 상기 분배기의 동작을 제어하기 위한 제어신호들을 발생하는 포트 분배 제어기를 구비한다.
상기 기술적 과제를 달성하기 위한 신호변환중재 방법은 프로토콜 변환회로가 마스터에서 사용되는 프로토콜에 따른 신호들을 수신하는 단계; 상기 프로토콜 변환회로가 수신된 신호들을 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계; 및 변환회로가 제어신호들에 기초하여 상기 프로토콜 변환회로로부터 출력되는 신호들을 디코딩하고, 상기 상기 변환된 신호들을 상기 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계를 수행한다.
상기 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계는 상기 변환회로가 상기 프로토콜 변환회로로부터 출력되는 상기 제어신호들 중에서 적어도 하나의 제어신호에 응답하여 어드레스 디코더 제어신호들을 출력하는 단계; 상기 변환회로가 상기 어드레스 디코더 제어신호들에 기초하여 상기 프로토콜 변환회로로부터 출력되는 어드레스를 디코딩하고, 상기 마스터가 억세스하고자 하는 상기 외부 메모리에 대한 정보를 출력하는 단계; 및 상기 변환회로가 상기 프로토콜 변환회로부터 출력되는 상기 어드레스, 상기 제어신호들과 데이터, 및 상기 외부 메모리에 대한 정보를 수신하고, 수신된 신호들에 기초하여 상기 슬레이브에서 사 용되는 프로토콜에 따른 신호들을 출력하는 단계를 구비한다.
상기 기술적 과제를 달성하기 위한 마스터가 슬레이브를 통하여 외부 메모리를 억세스하는 방법은 상기 마스터가 상기 외부 메모리를 억세스하기 위하여 상기 마스터에서 사용되는 프로토콜에 따른 신호들을 출력하는 단계; 상기 마스터에서 사용되는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환하는 단계; 제어신호들에 기초하여 변환된 신호들을 디코딩하고, 상기 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계; 및 상기 슬레이브가 자신의 프로토콜에 따른 신호들에 기초하여 상기 마스터가 억세스하고자 하는 상기 외부 메모리를 억세스하는 단계를 구비하는 것을 특징으로 하는 마스터가 슬레이브를 통하여 외부 메모리를 억세스한다.
상기 기술적 과제를 달성하기 위한 프로토콜 변환중재회로는 다수개의 프로토콜 변환회로들; 및 상기 다수개의 프로토콜 변환회로들 각각으로부터 출력되는 신호들을 수신하고, 수신된 신호들을 중재하고, 중재결과에 상응하는 신호들을 슬레이브가 사용하는 프로토콜에 따른 신호들로 변환하기 위한 변환회로를 구비하며, 상기 다수개의 프로토콜 변환회로들 각각은 대응되는 마스터가 사용하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환한다.
상기 기술적 과제를 달성하기 위한 신호변환중재 방법은 다수개의 프로토콜 변환회로들 각각이 대응되는 마스터에서 사용되는 프로토콜에 따른 신호들을 수신 하는 단계; 다수개의 프로토콜 변환회로들 각각이 수신된 신호들을 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계; 및 제어신호들에 기초하여 변환된 신호들을 중재하고 그 중재결과에 기초하여 디코딩하고, 상기 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들을 상기 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계를 수행한다.
상기 기술적 과제를 달성하기 위한 대응되는 마스터가 슬레이브를 통하여 외부 메모리를 억세스하는 방법은 다수개의 마스터들 각각이 상기 외부 메모리를 억세스하기 위하여 자신이 사용하는 프로토콜에 따른 신호들을 출력하는 단계; 다수개의 프로토콜 변환회로들 각각이 대응되는 마스터가 사용하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환하는 단계; 제어신호들에 기초하여 변환된 신호들을 중재하고 디코딩하고, 그 결과로서 상기 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환하는 단계; 및 상기 슬레이브가 자신의 프로토콜에 따른 신호들에 기초하여 대응되는 마스터가 억세스하고자 하는 상기 외부 메모리를 억세스하는 단계를 구비한다.
상기 기술적 과제를 달성하기 위한 프로토콜 변환중재회로는 다수개의 프로토콜 변환회로들, 상기 다수개의 프로토콜 변환회로들 각각은 대응되는 마스터가 사용하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환하고; 상기 다수개의 프로토콜 변환회로들 각각으로부터 출력되는 신호들을 수신하고 수신된 신호들에 기초 하여 제어신호들을 출력하는 중재기; 및 상기 다수개의 프로토콜 변환회로들 각각으로부터 출력되는 신호들과 상기 중재기로부터 출력되는 상기 제어신호들에 기초하여, 상기 다수개의 프로토콜 변환회로들 각각으로부터 출력된 상기 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들을 상기 슬레이브가 사용하는 프로토콜에 따른 신호들로 변환하기 위한 변환회로를 구비한다.
상기 기술적 과제를 달성하기 위한 다수개의 포트들을 구비하는 메모리 컨트롤러, 마스터, 및 시스템 버스를 구비하는 시스템은 상기 다수개의 포트들 중에서 제1포트와 상기 마스터사이에 접속되는 제1프로토콜 변환중재회로; 및 상기 다수개의 포트들 중에서 제2포트와 상기 시스템 버스사이에 접속되는 제2프로토콜 변환중재회로를 구비하며, 상기 제1프로토콜 변환중재회로는 상기 마스터에서 사용되는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 메모리 컨트롤러의 시스템 버스에서 사용되는 프로토콜에 따른 신호로 변환하는 제1프로토콜 변환회로; 및 상기 제1프로토콜 변환회로의 출력신호들을 상기 메모리 컨트롤러에서 사용되는 프로토콜에 따른 신호들로 변환하기 위한 제1변환회로를 구비하며, 상기 제2프로토콜 변환중재회로는 상기 시스템 버스에서 사용되는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 메모리 컨트롤러의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환하는 제2프로토콜 변환회로; 및 상기 제2프로토콜 변환회로의 출력신호들을 상기 메모리 컨트롤러가 사용하는 프로토콜에 따른 신호들로 변환하기 위한 제2변환회로를 구비한다.
상기 기술적 과제를 달성하기 위한 시스템은 다수개의 포트들을 구비하는 메 모리 컨트롤러; 시스템 버스; 다수개의 마스터들; 다수개의 포트들을 구비하는 프로토콜 변환중재회로; 상기 메모리 컨트롤러의 대응되는 포트와 상기 프로토콜 변환중재회로의 대응되는 포트사이에 일대일로 접속되는 다수개의 버스들; 및 상기 다수개의 마스터들 각각과 상기 프로토콜 변환회로의 대응되는 포트사이에 일대일로 접속되는 다수개의 버스들을 구비하며, 상기 프로토콜 변환중재회로는 다수개의 프로토콜 변환회로들; 및 상기 다수개의 프로토콜 변환회로들 각각으로부터 출력되는 신호들을 수신하고, 수신된 신호들을 중재하고, 중재결과에 상응하는 신호들을 상기 메모리 컨트롤러에서 사용되는 프로토콜에 따른 신호들로 변환하기 위한 변환회로를 구비하며, 상기 다수개의 프로토콜 변환회로들 각각은 상기 다수개의 마스터들 중에서 대응되는 마스터에서 사용되는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상기 메모리 컨트롤러의 시스템 버스가 사용하는 프로토콜에 따른 신호들로 변환한다.
상기 다수개의 마스터들 각각에서 사용되는 프로토콜은 적어도 하나이상 서로 다른 프로토콜이다. 상기 다수개의 모듈들 각각에서 사용되는 프로토콜은 동일한 프로토콜이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 하나의 프로토콜 변환중재회로가 하나의 모듈과 접속되는 구조를 갖는 시스템의 블락도를 나타낸다.
도 3을 참조하면, 시스템(300)은 다중포트 메모리 컨트롤러(310), 다수개의 모듈들(320, 346,과 360), 다수개의 프로토콜 변환중재회로들(322_1, 322_2 및 322_3), 다수개의 프로토콜 변환회로들(340, 350, 및 364), 시스템 버스(370), 및 다수개의 버스들(324, 334, 336, 338, 342, 344, 348, 352, 354, 356, 358, 362 및 366)을 구비한다. 또한, 시스템(300)은 적어도 하나의 외부 메모리(미도시)와 소정의 데이터를 주고받기 위한 적어도 하나의 데이터 입출력 핀(미도시)을 구비한다.
상기 다수개의 프로토콜 변환중재회로들(322_1, 322_2 및 322_3)각각의 구조는 서로 다른 프로토콜에 따른 신호들을 변환하기 위한 프로토콜 변환회로(326)만을 제외하면 도 6에 도시된 바와 같은 구조를 갖는다.
본 명세서에서는 다중포트 메모리 컨트롤러(310)와 대응되는 모듈(320과 346)사이에 접속되는 회로(322-1과 322-2), 또는 다중포트 메모리 컨트롤러(310)와 시스템 버스(370)사이에 접속되는 회로(322-3)를 프로토콜 변환중재회로라 한다. 상기 프로토콜 변환중재회로(322_1, 322_2 및 322_3)의 구조는 도 6 또는 도 7에 도시된 바와 같다.
상기 프로토콜 변환중재회로는 마스터에서 사용되는 프로토콜에 따른 신호들을 대응되는 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환한 후, 변환된 신호들을 신호제어과정, 신호중재과정, 및/또는 신호디코딩과정을 통하여 다시 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환한다.
그러나, 서로 다른 프로토콜을 사용하는 모듈들사이에 또는 서로 다른 프로토콜을 사용하는 모듈(360)과 버스(370)사이에 접속되는 회로를 프로토콜 변환회로라 한다. 따라서 상기 프로토콜 변환회로는 마스터에서 사용되는 프로토콜에 따른 신호들을 대응되는 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환하는 동작만을 수행한다.
여기서 설명의 편의상 다중포트 메모리 컨트롤러(310)는 제1종 프로토콜을 사용(또는 지원)하고, 모듈1(320)은 제2종 프로토콜을 사용하고, 모듈2(360)는 제1종 프로토콜을 사용하고, 모듈3(346)은 제4종 프로토콜을 사용하고, 시스템 버스 (370)는 제3종 프로토콜을 사용한다고 가정한다.
다중포트 메모리 컨트롤러(310)는 다수개의 포트들(312, 314, 316 및 318)을 구비하며, 시스템 버스(370)를 통하여 각 모듈(320, 346, 및 360)과 외부 메모리사이의 데이터를 주고받는 동작을 제어한다.
프로토콜 변환중재회로(322_1)는 마스터(예컨대, 모듈1(320))와 메모리 컨트롤러(310)의 제1포트(312)사이에 접속된다.
도 6은 본 발명의 제1실시예에 따른 프로토콜 변환중재회로의 블락도를 나타낸다. 도 6을 참조하면, 프로토콜 변환중재회로(322-1)는 프로토콜 변환회로(326), 컨트롤러(328), 어드레스 디코더(330) 및 분배기(332)를 구비한다. 도 8은 도 3과 도 6에 도시된 프로토콜 변환중재회로의 동작을 설명하기 위한 흐름도를 나타낸다.
도 3, 도 6 및 도 8을 참조하면, 프로토콜 변환회로(326)는 마스터(예컨대, 모듈1(320))가 사용하는 제2종 프로토콜에 따른 신호를 버스(324)를 통하여 수신하고(801단계), 수신된 신호를 슬레이브(예컨대, 메모리 컨트롤러(310))의 시스템 버스(미도시)가 사용하는 프로토콜에 따른 신호들(CNTR1, DATA, 및 ADD)로 변환하고, 변환된 신호들(CNTR1, DATA, ADD)을 컨트롤러(328), 어드레스 디코더(330), 및 분배기(332)로 출력한다(803단계).
컨트롤러(328)는 프로토콜 변환회로(326)로부터 출력되는 제어신호들(CNTR1)에 응답하여 상기 어드레스 디코더(330)와 상기 분배기(332)를 각각 제어하기 위한 각종의 제어신호들(CNTR4와 CNTR5)을 상기 어드레스 디코더(330)와 상기 분배기 (332)로 출력한다.
컨트롤러(328)는 데이터 전송 제어기(3281), 어드레스 디코더 제어기(3282), 응답 제어기(3283), 및 포트분배 제어기(3284)를 구비한다.
데이터 전송 제어기(3281)는 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호에 응답하여 프로토콜 변환회로(326)로부터 출력되는 데이터(DATA)를 분배기(332)로 전송하거나, 또는 상기 분배기(332)로부터 입력되는 데이터(DATA)를 프로토콜 변환회로(326)로 전송한다.
어드레스 디코더 제어기(3282)는 상기 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호에 응답하여 어드레스 디코더(330)의 동작을 제어하기 위한 제어신호들(CNTR5)을 상기 어드레스 디코더(330)로 출력한다.
응답 제어기(8283)는 프로토콜 변환회로(326)로부터 출력되는 제어신호들 (CNTR1)중에서 대응되는 적어도 하나의 제어신호에 응답하여 또는 분배기(332)로부 터 출력되는 제어신호들(CNTR3)중에서 대응되는 적어도 하나의 제어신호에 응답하여 억세스될 외부 메모리의 상태에 대한 정보 또는 데이터(DATA)의 전송상태에 관련된 정보(RES)를 프로토콜 변환회로(326)로 전송한다. 또한, 응답 제어기(8283)는 프로토콜 변환회로(326)의 동작을 제어하기 위한 제어신호들(CNTR2)을 발생한다.
포트분배 제어기(8284)는 프로토콜 변환회로(326)로부터 출력되는 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호에 응답하여 메모리 컨트롤러 (310)의 다중 포트들 각각의 동작상태를 제어하기 위한 제어신호들(CNTR4)을 분배기(332)로 출력한다.
어드레스 디코더(330)는 컨트롤러(328)로부터 출력되는 제어신호들(CNTR5)에 응답하여 프로토콜 변환회로(326)로부터 출력되는 어드레스(ADD)를 디코딩하고, 그 결과로서 마스터(예컨대, 모듈1(320))가 억세스하고자 하는 외부 메모리에 대한 정보(MSEL)를 분배기(332)로 출력한다.
어드레스 디코더(330)는 디코더(3301)와 메모리 선택기(3302)를 구비한다. 디코더(3301)는 컨트롤러(328)로부터 출력되는 제어신호들(CNTR5)중에서 대응되는 적어도 하나의 제어신호에 응답하여 프로토콜 변환회로(326)로부터 출력되는 어드레스(ADD)를 디코딩하고, 그 결과를 메모리 선택기(3302)로 출력한다.
메모리 선택기(3302)는 컨트롤러(328)의 어드레스 디코더 제어기(3282)로부터 출력되는 제어신호들(CNTR5)중에서 대응되는 적어도 하나의 제어신호와 디코더 (3301)의 출력신호에 기초하여, 마스터(예컨대, 모듈1(320))가 억세스하고자 하는 외부 메모리에 대한 정보(MSEL)를 분배기(332)로 출력한다. 상기 외부 메모리에 대 한 정보(MSEL), 예컨대 비트수는 상기 외부 메모리의 개수에 따라 결정된다.
분배기(332)는 프로토콜 변환회로(326)로부터 출력되는 어드레스(ADD), 컨트롤러(328)로부터 출력되는 데이터(DATA)와 제어신호들(CNTR4), 및 어드레스 디코더 (330)로부터 출력되는 외부 메모리에 대한 정보(MSEL)를 수신하고, 이들(ADD, DATA, CNTR4와 MSEL)에 기초하여 슬레이브(예컨대, 메모리 컨트롤러(310))의 대응되는 포트(312)로 상기 외부 메모리를 억세스하기 위하여 필요한 신호들을 전송한다. 따라서 상기 분배기(332)는 스위칭 기능 및/또는 멀티플렉싱 기능을 갖는다.
프로토콜 변환회로(326)로부터 출력된 슬레이브의 시스템 버스가 사용하는 프로토콜에 따른 신호들(CNTR1, DATA, 및 ADD)은 컨트롤러(328), 어드레스 디코더 (330)와 분배기(332)의 상호작동에 의하여 슬레이브(예컨대, 메모리 컨트롤러 (310))에서 사용되는 프로토콜에 따른 신호들로 변환되고, 변환된 신호들은 대응되는 버스(334)와 포트(312)를 통하여 상기 슬레이브(310)로 입력된다(805단계).
따라서 상기 컨트롤러(328)와 어드레스 디코더(330)와 분배기(332)는 프로토콜 변환회로(326)의 출력신호들을 메모리 컨트롤러(310)에서 사용되는 프로토콜에 따른 신호들로 변환하는 기능을 수행한다.
따라서 상기 슬레이브(310)는 프로토콜 변환 중재회로(322-1)로부터 출력되는 신호들에 기초하여 마스터(320)가 억세스하고자 하는 외부 메모리를 억세스한다.
또한, 프로토콜 변환중재회로(322-1)의 컨트롤러(328)는 억세스된 외부 메모리로부터 독출된 데이터(DATA), 즉 슬레이브(310)의 프로토콜에 따른 신호들을 수 신하고, 수신된 데이터(DATA)를 분배기(332)와 컨트롤러(328)를 통하여 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 프로토콜 변환회로(326)로 출력한다.
프로토콜 변환회로(326)는 상기 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들을 마스터(320)가 사용하는 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 마스터로 출력한다.
그리고, 프로토콜 변환중재회로(322_2)는 모듈3(346)과 메모리 컨트롤러 (310)의 제2포트(314)사이에 접속된다. 상기 프로토콜 변환중재회로 (322_2)는 마스터(예컨대, 모듈3(346))가 사용하는 제4종 프로토콜에 따른 신호들을 버스(344)를 통하여 수신하고, 수신된 신호들을 프로토콜 변환회로(미도시)를 이용하여 슬레이브(예컨대, 메모리 컨트롤러(310))의 시스템 버스(미도시)에서 사용되는 프로토콜에 따른 신호들로 변환하고, 상술한 바와 같이 컨트롤러(328), 어드레스 디코더 (330)와 분배기(332)를 통하여 슬레이브(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 버스(342)와 제2포트(314)를 통하여 메모리 컨트롤러(310)로 전송한다. 따라서 모듈3(346)는 대응되는 포트 (314)를 통하여 억세스하고자 하는 외부 메모리(미도시)를 직접 억세스할 수 있다.
또한, 프로토콜 변환중재회로(322_2)는 억세스된 외부 메모리로부터 독출된 제1종 프로토콜에 따른 신호들을 메모리 컨트롤러(310)의 제2포트(314)와 버스 (342)를 통하여 수신하고, 수신된 신호들을 분배기(332), 컨트롤러(328)와 어드레스 디코더(330)를 통하여 메모리 컨트롤러(310)의 시스템 버스(미도시)에서 사용되 는 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 프로토콜 변환회로(미도시)를 이용하여 모듈3(346)에서 사용되는 제4종 프로토콜에 따른 신호들로 다시 변환하고, 변환된 신호들을 버스(344)를 통하여 모듈3(320)으로 전송한다.
프로토콜 변환중재회로(322_3)는 메모리 컨트롤러(310)의 제3포트(316)와 시스템 버스(370)사이에 접속된다. 프로토콜 변환중재회로(322_3)는 상술한 두 번의 변환과정을 통하여 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호들을 메모리 컨트롤러(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하거나, 상기 메모리 컨트롤러(310)에서 사용되는 제1종 프로토콜에 따른 신호들을 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호들로 변환한다.
도 9는 마스터가 본 발명의 제1실시예에 따른 프로토콜 변환중재회로를 통하여 외부 메모리를 억세스하는 방법을 설명하기 위한 흐름도이다. 도 3, 도 6 및 도 9를 참조하여 마스터가 소정의 외부 메모리를 억세스하는 과정을 설명하면 다음과 같다.
각 마스터(320, 346과 370)는 소정의 외부 메모리를 억세스하기 위하여 각 마스터(320, 346과 370)가 사용하는 프로토콜에 따른 신호들을 대응되는 프로토콜 변환중재회로(322-1, 322-2, 및 322-3)로 출력한다(901단계).
각 프로토콜 변환중재회로(322-1, 322-2, 및 322-3)의 프로토콜 변환회로 (326)는 대응되는 마스터(320, 346과 370)가 사용하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 슬레이브(310)의 시스템 버스(미도시)가 사용하는 프로토콜에 따른 신호들로 변환한다(903단계).
각 프로토콜 변환중재회로(322-1, 322-2, 및 322-3)의 프로토콜 변환회로 (326)로부터 출력된 각종의 신호들(CNTR1, DATA, 과 ADD)은 컨트롤러(328), 어드레스 디코더(330)와 분배기(332)에 의하여 슬레이브(310)에서 사용하는 제1종 프로토콜에 따른 신호들로 다시 변환된다(905단계).
상기 슬레이브(310)는 수신된 신호들에 기초하여 상기 각 마스터(320, 346과 370)가 억세스하고자 하는 외부 메모리를 억세스한다(907단계).
도 3을 참조하면, 2-3프로토콜 변환회로(340)는 모듈1(320)과 시스템 버스 (370)사이에 접속되고, 프로토콜 변환회로(340)와 모듈1(320)은 버스(336)를 통하여 서로 접속되고, 프로토콜 변환회로(340)와 시스템 버스(370)는 버스(338)를 통하여 서로 접속된다.
상기 2-3프로토콜 변환회로(340)는 모듈1(320)에서 사용되는 제2종 프로토콜에 따른 신호를 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호로 변환하고, 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호를 모듈1(320)에서 사용되는 제2종 프로토콜에 따른 신호로 변환한다.
4-3프로토콜 변환회로(350)는 모듈3(346)과 시스템 버스(370)사이에 접속되고, 버스(348)는 4-3프로토콜 변환회로(350)와 모듈3(346)을 서로 접속하고, 버스 (352)는 4-3프로토콜 변환회로(350)와 시스템 버스(370)를 서로 접속한다.
상기 4-3프로토콜 변환회로(350)는 모듈3(346)에서 사용되는 제4종 프로토콜에 따른 신호를 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호로 변환하고, 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호를 모듈3(346) 에서 사용되는 제4종 프로토콜에 따른 신호로 변환한다.
1-3프로토콜 변환회로(364)는 모듈2(360)와 시스템 버스(370)사이에 접속되고, 버스(358)는 메모리 컨트롤러(310)의 제4포트(318)와 모듈2(360)를 서로 접속하고, 버스(366)는 1-3프로토콜 변환회로(364)와 시스템 버스(370)를 서로 접속한다.
상기 1-3프로토콜 변환회로(364)는 모듈2(360)에서 사용되는 제1종 프로토콜에 따른 신호를 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호로 변환하고, 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호를 모듈2(360)에서 사용되는 제1종 프로토콜에 따른 신호로 변환한다.
시스템 버스(370)는 온-칩 버스(On-Chip Bus)이다. 그러나 시스템 버스(370)는 온-칩 버스에 한정되는 것이 아니다. 시스템 버스(370)는 오픈 코어 프로토콜 (open Core Protocol)을 사용하거나 AMBA 프로토콜을 사용할 수 있다. 그러나 시스템 버스(370)가 사용할 수 있는 프로토콜은 오픈 코어 프로토콜 또는 AMBA 프로토콜에 한정되는 것은 아니다.
따라서 본 발명에 따른 적어도 하나의 프로토콜 변환중재회로를 구비하는 시스템의 메모리 컨트롤러(310)는 서로 다른 프로토콜을 사용하는 다수개의 모듈들 (320, 346과 360)을 동시에 지원할 수 있고, 다수개의 모듈들(320, 346과 360)각각은 대응되는 포트(312, 314 및 318)를 통하여 외부 메모리에 접근할 수 있으므로, 상기 시스템(300)의 전체적인 성능이 개선되는 효과가 있다.
또한, 각 모듈(320, 346과 360)이 지원하는 프로토콜이 메모리 컨트롤러 (310)가 지원하는 프로토콜과 서로 다른 경우라도, 각 모듈(320, 346과 360)의 설계를 수정하지 않고도 각 모듈(320, 346과 360)이 상기 시스템(300)에 사용될 수 있으므로, 각 모듈(320, 346과 360)을 재사용 할 수 있는 효과가 있다.
도 4는 본 발명의 다른 실시예에 따른 하나의 프로토콜 변환중재회로가 동일한 프로토콜을 사용하는 다수개의 모듈들(420_1 내지 420_N, 여기서 N은 자연수)과 접속되는 구조를 갖는 시스템의 블락도를 나타낸다.
도 4를 참조하면, 시스템은 메모리 컨트롤러(310), 다수개의 프로토콜 변환중재회로(424_1과 424_2), 다수개의 모듈들(420_1 내지 420_N, 448 및 462), 다수개의 프로토콜 변환회로들(438_1 내지 438_N, 및 466), 시스템 버스(370) 및 다수개의 버스들을 구비한다. 상기 시스템은 반도체 칩으로 구현될 수 있다.
메모리 컨트롤러(310)는 다수개의 포트들(412_1 내지 412_N, 414, 416 및 418)을 구비하고, 각 모듈(420_1 내지 420_N, 448과 462)과 시스템 버스(370)에 접속된 적어도 하나의 모듈(미 도시)은 상기 시스템 버스(370)를 통하여 외부 메모리로/로부터 데이터를 기입/독출하는 동작을 제어한다.
여기서, 설명의 편의상 메모리 컨트롤러(310)와 모듈(462)은 제1종 프로토콜을 사용하고, 다수개의 모듈들(420_1 내지 420_N)각각은 제2종 프로토콜을 사용하고, 모듈(448)과 시스템 버스(370)는 제3종 프로토콜을 사용한다고 가정한다.
동일한 프로토콜을 사용하는 다수개의 모듈들(420_1 내지 420_N)각각은 대응되는 버스(422_1 내지 422_N)를 통하여 프로토콜 변환중재회로(424_1)의 대응되는 왼쪽 포트(미도시)에 접속된다. 또한, 프로토콜 변환중재회로(424_1)의 오른쪽 포 트(미도시)는 대응되는 버스(423_1 내지 423_N)를 통하여 대응되는 포트(412_1 내지 412_N)에 접속된다.
따라서 프로토콜 변환중재회로(424_1)는 접속될 모듈들의 수만큼의 왼쪽 포트들과 오른쪽 포트들을 구비한다. 또한, 프로토콜 변환중재회로(424_1)는 접속되는 모듈들의 수만큼의 프로토콜 변환회로들(426_1 내지 426_N), 및 적어도 하나의 중재기(arbiter; 428)를 구비한다.
도 7은 본 발명의 제2실시예에 따른 프로토콜 변환중재회로의 블락도를 나타낸다. 도 7을 참조하면, 프로토콜 변환중재회로(424-1)는 프로토콜 변환회로 블락 (426), 중재기(428), 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)를 구비한다.
프로토콜 변환회로 블락(426)은 접속되는 모듈들의 수만큼의 프로토콜 변환회로들(426_1 내지 426_N)을 구비하며, 상기 프로토콜 변환회로들(426_1 내지 426_N)각각은 대응되는 마스터가 사용하는 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 대응되는 슬레이브의 시스템 버스에서 사용되는 프로토콜에 따른 신호들로 변환한다.
여기서 상기 각 프로토콜 변환회로(426_1 내지 426_N)는 중재기(428), 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)와 서로 작동을 하나, 도 7에서는 설명의 편의를 의하여 프로토콜 변환회로 블락(426)이 중재기(428), 컨트롤러 (430), 어드레스 디코더(432)와 분배기(434)와 작동을 하는 것처럼 도시된다.
중재기(428)는 프로토콜 변환회로 블락(426)으로부터 출력된 제어신호들 (CNTR1)에 기초하여 컨트롤러(430)를 제어하기 위한 제어신호들(CRT1 내지 CTR4)을 출력한다.
컨트롤러(430)는 프로토콜 변환회로 블락(426), 즉 각 프로토콜 변환회로 (426-1 내지 426-N)로부터 출력되는 제어신호들(CNTR1)과 중재기(428)로부터 출력되는 제어신호들(CRT1 내지 CTR4)에 기초하여 상기 어드레스 디코더(432)를 제어하기 위한 제어신호들(CNTR5)과 상기 분배기(434)를 제어하기 위한 제어신호들 (CNTR4)을 발생한다. 컨트롤러(430)는 데이터 전송 제어기(4301), 어드레스 디코더 제어기(4302), 응답 제어기(4303), 및 포트분배 제어기(4304)를 구비한다.
데이터 전송 제어기(4301)는 프로토콜 변환회로 블락(426)으로부터 출력되는 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호와 중재기(428)로부터 출력되는 제어신호(CTR1)에 응답하여 각 프로토콜 변환회로(426_1 내지 426_N)로부터 출력되는 데이터(DATA)를 분배기(434)로 전송하거나, 또는 상기 분배기(434)로부터 입력되는 데이터(DATA)를 대응되는 프로토콜 변환회로(426-1 내지 426-N)로 전송한다.
어드레스 디코더 제어기(4302)는 상기 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호와 중재기(428)로부터 출력되는 제어신호(CTR2)에 응답하여 어드레스 디코더(432)의 동작을 제어하기 위한 제어신호들(CNTR5)을 상기 어드레스 디코더(432)로 출력한다.
응답 제어기(4303)는 프로토콜 변환회로 블락(426)으로부터 출력되는 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호와 중재기(428)로부터 출력되 는 제어신호(CTR3)에 응답하여, 또는 분배기(434)로부터 출력되는 제어신호들 (CNTR3)중에서 대응되는 적어도 하나의 제어신호에 응답하여 억세스될 외부 메모리의 상태에 대한 정보 또는 데이터(DATA)의 전송상태에 관련된 정보(RES)를 프로토콜 변환회로 블락(426)으로 전송한다. 또한, 응답 제어기(4303)는 프로토콜 변환회로 블락(426)의 동작을 제어하기 위한 제어신호들(CNTR2)을 발생한다.
포트분배 제어기(4304)는 프로토콜 변환회로 블락(426)으로부터 출력되는 제어신호들(CNTR1)중에서 대응되는 적어도 하나의 제어신호와 중재기(428)로부터 출력되는 제어신호(CTR4)에 기초하여 메모리 컨트롤러(310)의 포트들의 동작상태를 제어하기 위한 제어신호들(CNTR4)을 분배기(434)로 출력한다. 즉, 상기 포트분배 제어기(4304)는 대응되는 마스터가 사용할 대응되는 포트를 지정하는 기능을 한다.
어드레스 디코더(432)는 컨트롤러(430)로부터 출력되는 제어신호들(CNTR5)에 응답하여 프로토콜 변환회로 블락(426)으로부터 출력되는 어드레스(ADD)를 디코딩하고, 그 결과로서 중재기(428)에 의하여 우선순위를 할당받은 마스터가 억세스하고자 하는 외부 메모리에 대한 정보(MSEL)를 분배기(434)로 출력한다.
어드레스 디코더(432)는 디코더(4321)와 메모리 선택기(4322)를 구비한다. 디코더(4321)는 컨트롤러(430)로부터 출력되는 제어신호들(CNTR5)중에서 대응되는 적어도 하나의 제어신호에 응답하여 프로토콜 변환회로 블락(426)으로부터 출력되는 어드레스(ADD)를 디코딩하고, 그 결과를 메모리 선택기(4322)로 출력한다.
메모리 선택기(4322)는 컨트롤러(430)로부터 출력되는 제어신호들(CNTR5)중에서 대응되는 적어도 하나의 제어신호와 디코더(4321)의 출력신호에 기초하여 중 재기(428)에 의하여 우선순위를 할당받은 마스터가 억세스하고자 하는 외부 메모리에 대한 정보(MSEL)를 분배기(4322)로 출력한다. 상기 외부 메모리에 대한 정보(MSEL), 예컨대 비트수는 상기 외부 메모리의 개수에 따라 결정된다.
분배기(434)는 프로토콜 변환회로 블락(326)으로부터 출력되는 어드레스 (ADD), 컨트롤러(430)로부터 출력되는 데이터(DATA)와 제어신호들(CNTR4), 및 어드레스 디코더(432)로부터 출력되는 외부 메모리에 대한 정보(MSEL)를 수신하고, 이들(ADD, DATA, CNTR4와 MSEL)에 기초하여 슬레이브의 대응되는 포트로 상기 외부 메모리를 억세스하기 위한 신호들을 전송한다. 따라서 상기 분배기(434)는 스위칭 기능 및/또는 멀티플렉싱 기능을 갖는다.
프로토콜 변환회로 블락(426)으로부터 출력된 신호들(CNTR1, DATA, 및 ADD)은 컨트롤러(328), 어드레스 디코더(330)와 분배기(332)의 상호작동에 의하여 슬레이브에서 사용되는 프로토콜에 따른 신호들로 변환되고, 변환된 신호들은 대응되는 버스(334)와 포트(312)를 통하여 상기 슬레이브(310)로 입력된다. 따라서 상기 슬레이브는 프로토콜 변환 중재회로 블락(426)으로부터 출력되는 신호들에 기초하여 마스터가 억세스하고자 하는 외부 메모리를 억세스한다.
도 4 및 도 7을 참조하면, 프로토콜 변환중재회로(424_1)는 마스터(예컨대, 모듈1(420_1))가 사용하는 제2종 프로토콜에 따른 신호들을 버스(422_1)를 통하여 수신하고, 수신된 신호들을 프로토콜 변환회로(426_1)를 이용하여 슬레이브(예컨대, 메모리 컨트롤러(310))의 시스템 버스(미도시)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 중재기(428), 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)를 이용하여 슬레이브(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 다시 변환하고, 변환된 신호들을 메모리 컨트롤러(310)의 대응되는 포트(예컨대 412-1)를 통하여 메모리 컨트롤러(310)로 출력한다.
또한, 프로토콜 변환중재회로(424_1)는 마스터(420-1)가 억세스한 외부 메모리로부터 출력된 데이터를 대응되는 제1포트(412_1)와 버스(423_1)를 통하여 수신하고, 수신된 데이터를 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)를 이용하여 메모리 컨트롤러(310)의 시스템 버스(미도시)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 프로토콜 변환회로(426_1)를 이용하여 모듈1(420_1)에서 사용되는 제2종 프로토콜에 따른 신호들로 다시 변환하고, 다시 변환된 신호들을 버스(422_1)를 통하여 모듈1(420_1)로 전송한다.
그리고, 프로토콜 변환중재회로(424_1)는 마스터(예컨대, 모듈N(420_N))가 사용하는 제2종 프로토콜에 따른 신호들을 버스(422_N)를 통하여 수신하고, 수신된 신호들을 프로토콜 변환회로(426_N)를 이용하여 슬레이브(예컨대, 메모리 컨트롤러(310))의 시스템 버스(미도시)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 중재기(428), 컨트롤러(430), 어드레스 디코더 (432)와 분배기(434)를 이용하여 슬레이브(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 다시 변환하고, 다시 변환된 신호들을 메모리 컨트롤러(310)의 대응되는 포트(예컨대 412-N)를 통하여 메모리 컨트롤러(310)로 출력한다.
또한, 프로토콜 변환중재회로(424_1)는 마스터(420-N)가 억세스한 외부 메모리로부터 출력된 데이터를 대응되는 제N포트(412_N)와 버스(423_N)를 통하여 수신 하고, 수신된 데이터를 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)를 이용하여 메모리 컨트롤러(310)의 시스템 버스(미도시)에서 사용되는 제2종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 프로토콜 변환회로(426_N)를 이용하여 모듈N(420_N)에서 사용되는 제2종 프로토콜에 따른 신호들로 다시 변환하고, 다시 변환된 신호들을 버스(422_N)를 통하여 모듈1(420_N)로 전송한다.
프로토콜 변환중재회로(424_2)의 제1포트와 메모리 컨트롤러(310)의 (N+1)번째 포트(416)는 버스(456)를 통하여 서로 접속되고, 제2포트와 메모리 컨트롤러 (310)의 (N+2)번째 포트(418)는 버스(454)를 통하여 서로 접속되고, 제3포트와 시스템 버스(370)는 버스(458)를 통하여 서로 접속되고, 제4포트와 모듈(448)은 버스(452)를 통하여 서로 접속된다.
프로토콜 변환중재회로(424_2)의 동작은 프로토콜 변환중재회로(424_1)의 동작과 실질적으로 동일하다. 즉, 프로토콜 변환중재회로(424_2)는 제1종 프로토콜에 따른 신호들을 수신하고, 수신된 신호들을 상술한 바와 같은 두 단계의 변환과정을 통하여 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호로 변환하고, 변환된 신호들을 시스템 버스(370)로 전송한다.
그리고 프로토콜 변환중재회로(424_2)는 시스템 버스(370)에서 사용되는 제3종 프로토콜에 따른 신호들을 수신하고, 상술한 바와 같은 두 단계의 변환과정을 통하여 메모리 컨트롤러(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들을 대응되는 포트(416과 418)를 통하여 메모리 컨트롤러(310)로 전송한다.
또한, 프로토콜 변환중재회로(424_2)는 메모리 컨트롤러(310)에서 사용되는 제1종 프로토콜에 따른 신호를 모듈(448)에서 사용되는 제3종 프로토콜에 따른 신호로 변환하고, 모듈(448)에서 사용되는 제3종 프로토콜에 따른 신호를 메모리 컨트롤러(310)에서 사용되는 제1종 프로토콜에 따른 신호로 변환한다. 따라서 본 발명에 따른 프로토콜 변환중재회로(424_2)는 프로토콜을 변환하는 기능, 및 모듈(448)과 시스템 버스(370)로부터 출력된 신호들을 중재하는 기능을 동시에 갖는다.
2-3프로토콜 변환회로(438_1)는 대응되는 버스(436과 440)를 통하여 모듈1(420_1)과 시스템 버스(370)사이에 접속되고, 제2종 프로토콜에 따른 신호를 제3종 프로토콜에 따른 신호로 변환하거나 상기 제3종 프로토콜에 따른 신호를 상기 제2종 프로토콜에 따른 신호로 변환한다.
또한, 2-3프로토콜 변환회로(438_N)는 대응되는 버스(442와 446)를 통하여 모듈N(420_N)과 시스템 버스(370)사이에 접속되고, 상기 제2종 프로토콜에 따른 신호를 상기 제3종 프로토콜에 따른 신호로 변환하거나 상기 제3종 프로토콜에 따른 신호를 상기 제2종 프로토콜에 따른 신호로 변환한다.
제3종 프로토콜을 사용하는 모듈(448)은 대응되는 버스(450과 452)를 통하여 시스템 버스(370)와 프로토콜 변환중재회로(424_2)사이에 접속된다.
제1종 프로토콜을 사용하는 모듈(462)은 대응되는 버스(460과 464)를 통하여 메모리 컨트롤러(310)의 (N+3)번째 포트(414)와 1-3프로토콜 변환회로(466)사이에 접속된다.
1-3프로토콜 변환회로(466)는 대응되는 버스(464와 468)를 통하여 모듈(420_1)과 시스템 버스(370)사이에 접속되고, 제1종 프로토콜에 따른 신호를 제3종 프로토콜에 따른 신호로 변환하거나 상기 제3종 프로토콜에 따른 신호를 상기 제1종 프로토콜에 따른 신호로 변환한다.
따라서 본 발명에 따른 프로토콜 변환중재회로를 구비하는 시스템의 각 모듈 (420_1 내지 420_N, 448과 462)은 시스템 버스(370)를 이용하지 않고도 외부 메모리에 접근할 수 있다. 따라서 상기 시스템의 전체적인 동작은 향상된다.
도 5는 본 발명의 또 다른 실시예에 따른 하나의 프로토콜 변환중재회로가 서로 다른 프로토콜을 사용하는 다수개의 모듈들과 접속되는 구조를 갖는 시스템의 블락도를 나타낸다.
도 5를 참조하면, 본 발명에 따른 시스템은 메모리 컨트롤러(310), 시스템 버스(370), 프로토콜 변환중재회로(424_1), 다수개의 모듈들(516_1 내지 516_N, 및 530), 다수개의 프로토콜 변환회로(522_1 내지 522_N, 및 534), 및 다수개의 버스들을 구비한다. 상기 시스템은 반도체 칩으로 구현될 수 있다.
메모리 컨트롤러(310)는 다수개의 포트들(512_1 내지 512_N, 및 514)을 구비한다. 메모리 컨트롤러(310)와 모듈(530)은 제1종 프로토콜을 사용하고, 다수개의 모듈들(516_1 내지 516_N)각각은 서로 다른 프로토콜을 사용하고, 시스템 버스 (370)는 제3종 프로토콜을 사용한다고 가정한다.
다수개의 모듈들(516_1 내지 516_N)각각은 대응되는 버스(518_1 내지 518_N)를 통하여 프로토콜 변환중재회로(424_1)의 왼쪽 포트들(미도시)각각에 접속되고, 메모리 컨트롤러(310)의 각 포트(512_1 내지 512_N)는 대응되는 버스(526_1 내지 526_N)를 통하여 프로토콜 변환중재회로(424_1)의 오른쪽 포트들(미도시)각각에 접속된다.
도 10은 도 4와 도 5에 도시된 프로토콜 변환중재회로의 동작을 설명하기 위한 흐름도를 나타낸다.
도 5, 도 7 및 도 10을 참조하면, 프로토콜 변환중재회로(424_1)의 각 프로토콜 변환회로(426_1 내지 426_N)는 대응되는 각 마스터(516_1 내지 516_N)에서 사용되는 프로토콜에 따른 신호를 수신한다(1001단계).
각 프로토콜 변환회로(426_1 내지 426_N)는 수신된 신호들을 슬레이브(예컨대, 메모리 컨트롤러(310))의 시스템 버스(미 도시)에서 사용되는 프로토콜에 따른 신호들로 변환하고, 변환된 신호들(CNTR1, DATA와 ADD)을 출력한다(1003단계).
각 프로토콜 변환회로(426_1 내지 426_N)로부터 출력된 신호들(CNTR1, DATA와 ADD)은 중재기(428), 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)의 상호 작동, 즉 제어와 중재와 디코딩을 통하여 슬레이브(310)에서 사용되는 제1종 프로토콜에 따른 신호들로 변환되고, 변환된 신호들은 대응되는 포트를 통하여 슬레이브(310)로 입력된다(1005단계)..
도 11은 다수개의 마스터들이 본 발명의 제2실시예에 따른 프로토콜 변환중재회로를 통하여 외부 메모리를 억세스하는 방법을 설명하기 위한 흐름도이다. 도 5, 도 7 및 도 11을 참조하여 마스터(516-1)가 SRAM0을 억세스하는 동작이 설명된다.
외부 메모리는 SRAM0, SRAM1, SDRAM0과 SDRAM1로 구성되고, SRAM0은 0x00000000 내지 0x1FFFFFFF로 표시되는 어드레스 영역을 사용하고, SRAM1은 0x20000000 내지 0x3FFFFFFF로 표시되는 어드레스 영역을 사용하고, SDRAM0은 0x40000000 내지 0x5FFFFFFF로 표시되는 어드레스 영역을 사용하고, SDRAM1은 0x60000000 내지 0x7FFFFFFF로 표시되는 어드레스 영역을 사용하고, 중재기(428)는 마스터(516-1)에게 우선순위를 부여하고, 제1마스터(516-1)는 0x10000000이라는 어드레스를 출력한다고 가정한다.
각 마스터(516-1 내지 516-N), 및 시스템 버스(370)에 접속된 적어도 하나의 마스터(미도시)는 대응되는 외부 메모리를 억세스하기 위하여, 각 마스터가 사용하는 프로토콜에 따른 신호들을 대응되는 버스를 통하여 프로토콜 변환 중재회로 (424-1)로 출력한다(1101단계)..
대응되는 각 프로토콜 변환회로(426-1 내지 426-N)는 수신된 신호들을 슬레이브(310)의 시스템 버스(미도시)가 사용하는 제1종 프로토콜에 따른 신호들로 변환하고, 변환된 신호들(CNTR1, DARA와 ADD)을 출력한다(1103단계)..
중재기(428)는 각 프로토콜 변환회로(426-1 내지 426-N)로부터 출력된 신호들(CNTR1)을 수신하고, 수신된 신호들(CNTR1)에 기초하여 제1마스터(516-1)에게 슬레이브(310)를 사용할 수 있는 우선순위를 부여한다.
어드레스 디코더(432)는 컨트롤러(430)로부터 출력되는 제어신호들(CNTR5)과 제1마스터(516-1)로부터 출력되는 어드레스(ADD=0x10000000)에 기초하여 제1마스터 (516-1)가 SRAM0을 억세스할 수 있는 정보(MSEL)를 분배기(434)로 전송한다.
분배기(434)는 컨트롤러(430)로부터 출력되는 각종의 신호들(DATA, CNTR4와 MSEL)에 기초하여 메모리 컨트롤러(310)의 대응되는 포트(예컨대 512-1)를 통하여 SRAM0을 억세스할 수 있는 각종의 신호들을 메모리 컨트롤러(310)로 전송한다.
즉, 중재기(428), 컨트롤러(430), 어드레스 디코더(432)와 분배기(434)는 제어신호들(CNTR1, CNTR4, CNTR5와 MSEL)에 기초하여 각 프로토콜 변환회로(426-1 내지 426-N)로부터 출력된 신호들을 중재하고, 중재결과에 기초하여 어드레스(ADD)를 디코딩하고, 슬레이브(310)에서 사용되는 프로토콜에 따른 신호들을 대응되는 포트를 통하여 슬레이브(310)로 전송한다(1105단계).
상기 슬레이브(310)는 본 발명에 따른 프로토콜 변환중재회로에 의하여 변환된 프로토콜에 따른 신호들에 기초하여 대응되는 제1마스터(516-1)가 억세스하고자 하는 외부 메모리(SRAM0)를 억세스할 수 있다(1107단계). 따라서 상기 제1마스터 (516-1)는 시스템 버스(370)를 사용하지 않고 슬레이브(310)를 통하여 억세스하고자하는 외부 메모리를 직접 억세스할 수 있다.
따라서 본 발명의 실시예에 따른 시스템의 시스템 버스(370)의 부담은 감소하므로, 상기 시스템의 전체적인 성능이 개선된다. 또한, 서로 다른 프로토콜을 사용하는(또는 지원하는) 적어도 하나의 모듈을 하나의 시스템에서 사용하고자하는 경우라도 상기 적어도 하나의 모듈에 대한 설계 변경이나 설계의 수정 없이 상기 적어도 하나의 모듈을 상기 시스템에 곧바로 사용할 수 있는 장점이 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.