KR20200032642A - 버스 제어회로 - Google Patents

버스 제어회로 Download PDF

Info

Publication number
KR20200032642A
KR20200032642A KR1020190111857A KR20190111857A KR20200032642A KR 20200032642 A KR20200032642 A KR 20200032642A KR 1020190111857 A KR1020190111857 A KR 1020190111857A KR 20190111857 A KR20190111857 A KR 20190111857A KR 20200032642 A KR20200032642 A KR 20200032642A
Authority
KR
South Korea
Prior art keywords
bus
information
transmission
switch
circuit
Prior art date
Application number
KR1020190111857A
Other languages
English (en)
Other versions
KR102549085B1 (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 캐논 가부시끼가이샤
Publication of KR20200032642A publication Critical patent/KR20200032642A/ko
Application granted granted Critical
Publication of KR102549085B1 publication Critical patent/KR102549085B1/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
    • G06F13/126Program 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 and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor

Abstract

버스 제어회로는, 복수의 버스 마스터들 각각으로부터의 버스 전송 요구를 수신하고, 우선 순위에 따라, 버스 마스터들 중 한개에 조정 결과 신호를 출력하는 조정회로와, 복수의 버스 스위치들을 구비하고, 각각의 버스 스위치는, 복수의 버스 전송 신호를 수신하기 위한 복수의 입력 단자들, 및 한 개의 버스 전송 신호를 하류측에 전달하기 위한 출력 단자를 포함하는 선택회로와, 조정회로로부터의 조정 결과 신호를 수신하고, 조정 결과 신호에 근거하여 선택회로를 제어하여 복수의 입력 단자들 중 한개를 선택하게 하는 제어회로를 구비하고, 최하류 위치에 배치된 버스 스위치 내부의 선택회로의 출력 단자에 슬레이브 모듈이 접속된다.

Description

버스 제어회로{BUS CONTROL CIRCUIT}
본 발명은 버스 제어회로에 관한 것이다.
CPU와 시스템의 기능을 제어하여 동작하는 모듈을 포함하는 하드웨어 시스템에서는, 공유 버스를 거쳐 주기억 메모리 등의 슬레이브 모듈에 모듈들이 접속되어 있다. 시스템의 동작에 대해, 버스 마스터 모듈이 버스를 거쳐 메모리에 액세스를 발행하여, 시스템의 동작을 실현한다. 이러한 하드웨어 시스템은 일반적으로 반도체 집적회로 위에 실장된다. 반도체 기술의 진전에 따라 반도체 집적회로에 탑재가능한 논리회로는 비약적으로 향상되고, 그것에 따라, 시스템의 규모가 확대의 일로를 걷고 있다.
이렇게 시스템 규모가 확대되면, 탑재가능한 기능의 수가 증가하고, 그것에 따라, 주기억에 액세스하는 버스 마스터 모듈의 수도 증가하게 된다.
복수의 버스 마스터 모듈이 메모리 등에 액세스 요구를 동시에 발행할 경우, 공유 버스 상에서 액세스가 경합한다. 이 때문에, 시스템이 정하는 소정의 동작 사양에 따라 액세스들에 우선도가 부여되어 조정되는 것이 일반적이다. 조정회로는 일반적으로 버스 마스터로부터의 액세스 요구를 접수하고, 동작 사양에 근거하여 정해지는 소정의 조건에 근거하여 액세스 허가할 버스 마스터를 선택한다. 버스 스위치는 조정회로에 의해 선택된 버스 마스터의 정보에 근거하여, 복수의 버스 마스터 모듈의 액세스로부터 한개의 액세스를 선택한다. 일반적으로, 버스 스위치는, 어드레스 등의 액세스 속성을 나타내는 다중 비트의 신호나 액세스 데이터 등의 다중 비트의 신호를 선택하는 논리회로로서 구성된다.
복수의 버스 마스터 모듈과 슬레이브 사이의 접속을 구성하는 버스 시스템으로서, 단일의 조정회로와 버스 스위치로 버스 시스템 구성하는 공유 버스 방식으로 불리는 버스 시스템이 존재한다.
공유 버스 방식에서는, 단일의 조정회로에 의해 버스 액세스가 선택되기 때문에, 소정의 우선도에 근거하여 슬레이브 모듈에 버스 전송이 전달가능하다.
그렇지만, 본 방식에서는, 버스 마스터 수가 증가함에 따라, 복수의 버스 마스터 모듈의 액세스 중에서 한 개를 선택하는 버스 스위치에서 다중 비트의 신호가 집중한다. 이에 따라, 반도체 집적회로 상에서 배선 혼잡이 발생하고, 회로 규모가 커져 버린다. 또한, 복수의 버스 마스터 모듈의 다중 비트의 버스 신호 중에서 한개를 선택하도록 논리구조가 구성되기 때문에, 논리 단의 수가 커지므로, 동작 주파수가 제한된다.
예를 들면, 200을 넘는 버스 마스터 모듈을 단일의 버스 스위치에 의해 실장했을 경우, 버스 시스템 회로 전체에서 배선 집중이 발생한다. 배선 집중을 회피하기 위해서 배치 면적을 확대하면, 회로 규모가 증가한다. 한편, 논리 단의 수가 커지는 것에 의해 타이밍 수속성이 곤란한 논리에 대하여 배치 면적이 증가하면, 배선 지연이 더 커지고, 동작 주파수가 제한된다. 그 결과, 최근의 다기능화에 의한 다수의 버스 마스터 모듈을 포함하는 시스템에서는, 단일의 버스 스위치를 사용하여 버스 시스템의 구축을 실현하는 것은 곤란하다.
이러한 과제에 대응하여, 다수의 버스 마스터 모듈을 취급하는 대규모 시스템에서는, 버스 스위치를 계층적으로 배치하여 다단으로 구성하고, 각 버스 스위치에 접속되는 버스 액세스들 사이에서 액세스 조정을 행하는 계층 버스 방식이 일반화되고 있다(예를 들면, 일본국 특개 2010-282405 공보).
그렇지만, 계층 버스 방식에서는, 버스 스위치를 다단으로 구성하고, 각각의 버스 스위치가 액세스들 사이의 조정을 행한다. 이 때문에, 모든 마스터들에 대해 설정되는 우선 순위와 다단에서 단계적으로 조정을 행한 결과의 우선 순위가 다른 경우가 생긴다.
그 결과, 우선도가 낮은 액세스에 대한 버스 전송이 우선도가 높은 액세스에 앞서 슬레이브 모듈에 전달되는 경우가 있을 수 있다. 한편, 대규모 시스템에서는 복수의 프로세스나 태스크가 경합하여 동작하기 때문에, 시스템 전체 성능을 만족하기 위해서는 버스 전송의 우선 순위에 따라 실현하는 것이 요구되는 경우가 있다. 이러한 경우, 계층 버스 방식에서는, 버스 마스터 모듈과 슬레이브 모듈 사이에, 버스 전송의 액세스 순서를 우선도에 따른 액세스 순서로 재배치하는 논리가 필요하게 된다. 액세스 순서를 재배치하는 논리는, 복수의 어드레스 코맨드와 그것들에 연결된 기록 데이터를 유지할 필요가 있다. 일반적으로 어드레스 코맨드는, 어드레스 신호, 마스터 식별 신호, 전송 방향 신호, 전송 타입 신호 등을 포함하고, 40비트 정도의 신호로 표시된다. 또한, 기록 데이터는, 버스 폭과 버스 프로토콜에 의존하여, 64비트 버스의 경우에는, 데이터와 바이트 인에이블 정보를 포함하는 72비트의 신호로 표시된다. 더구나, 한개의 어드레스 코맨드에 대하여, 버스 전송의 버스트 길이에 따라 복수의 72비트 신호로 데이터가 표시된다. 예를 들면, 버스 전송의 버스트 길이가 16비트일 경우, 1152비트의 신호가 필요하게 된다. 여기에서, 액세스 순서를 재배치하는 논리가 4개의 전송을 유지해서 재배치하도록 구성된 경우, 4768비트의 신호를 유지하고 재배치하는 것이 필요하여, 상당한 회로 규모가 소비된다. 더구나, 재배치 논리는 조건을 비교하여 출력할 폭이 넓은 데이터를 선택하는 논리이기 때문에, 배선 혼잡을 피하고 동작 주파수를 확보하기 위한 스테이지 분할이 필요하게 되어, 코스트 상승을 일으킨다.
본 발명은, 상기한 과제를 감안하여 이루어진 것이며, 계층 버스 방식에 있어서 소정의 우선도에 따라 버스 전송을 슬레이브 모듈에 전달가능한 버스 제어회로를 제공한다.
본 발명의 일면에 따르면, 복수의 버스 마스터들과 슬레이브 모듈 사이의 버스의 접속을 제어하도록 구성된 버스 제어회로로서, 상기 복수의 버스 마스터들 각각으로부터의 버스 전송 요구 신호를 수신하고, 미리 설정된 우선 순위에 따라, 버스 전송 요구 신호를 발행한 버스 마스터들 중에서 한개에 대해 버스 사용권이 부여되는 것을 나타내는 조정 결과 신호를 출력하도록 구성된 조정회로와, 복수의 버스 스위치들을 구비하고, 상기 복수의 버스 스위치들 각각은, 복수의 버스 전송 신호를 수신하도록 구성된 복수의 입력 단자들, 및 상기 복수의 입력 단자들의 한개의 버스 전송 신호를 하류측에 전달하도록 구성된 출력 단자를 포함하는 선택회로와, 상기 조정회로로부터 출력된 상기 조정 결과 신호를 수신하고, 상기 조정 결과 신호에 근거하여 상기 선택회로를 제어하여 상기 복수의 입력 단자들 중 한개를 선택하게 하도록 구성된 제어회로를 구비하고, 최하류 위치에 배치된 버스 스위치에 포함된 상기 선택회로의 상기 출력 단자에 상기 슬레이브 모듈이 접속되는 버스 제어회로가 제공된다.
본 발명에 따르면, 계층 버스 방식에 있어서 소정의 우선도에 따라 버스 전송을 슬레이브 모듈에 전달가능한 버스 제어회로를 제공할 수 있다.
본 발명의 또 다른 특징은 (첨부도면을 참조하는) 이하의 실시형태의 설명으로부터 명백해질 것이다.
도1은 제1 실시형태에 따른 버스 시스템 구성을 나타낸 블록도이다.
도2는 제1 실시형태에 따른 버스 스위치회로의 구성을 나타낸 블록도이다.
도3은 제2 실시형태에 따른 버스 시스템의 구성을 나타낸 블록도이다.
도4는 제2 실시형태에 따른 버스 스위치회로의 구성을 나타낸 블록도이다.
도5는 제2 실시형태에 따른 버스 시스템의 구성을 나타낸 개략 블록도이다.
도6은 실시형태에 따른 버스 전송의 신호 파형예를 도시한 타이밍도이다.
도7은 제2 실시형태의 효과를 설명하기 위한 버스 시스템의 구성을 나타낸 블록도이다.
도8은 도7의 효과의 설명에 있어서의 사이클마다의 버스 스위치의 상태의 설명도이다.
이하, 첨부도면에 따라 본 발명에 따른 실시형태를 상세하게 설명한다. 이때, 이하에 나타내는 실시형태에 따른 구성은 일례에 지나지 않고, 본 발명은 도시된 구성에 한정되는 것은 아니다.
[제1 실시형태]
도1은, 제1 실시형태에 따른 버스 제어회로를 탑재하는 버스 시스템의 구성을 나타낸 블록도다. 도1에 예시하는 버스 시스템은 8개의 버스 마스터 모듈(101)과, 한개의 슬레이브 모듈(102)로 구성되는 시스템이다. 이때, 버스 마스터 모듈 및 슬레이브 모듈의 수에 특별히 제한은 없고, 단지나 예시하는 것을 이해하기 바란다.
각 버스 마스터 모듈(101)은 버스 전송 요구 신호(104)와 버스 전송 신호(103)를 출력한다. 조정회로(100)는 버스 마스터 모듈(101)로부터의 버스 전송 요구 신호(104)를 집약한다. 또한, 조정회로(100)는, 버스 전송 요구를 출력한 버스 마스터 모듈(101)로부터, 미리 설정된 조건에 따라, 이들 버스 전송 요구를 조정하고, 버스 액세스 권을 제공할 대상인 한개의 버스 마스터 모듈(101)을 결정한다.
버스 전송 요구 신호(104)는, 각 버스 마스터 모듈(101)로부터 버스 액세스의 요구의 유무를 나타내는 신호이며, 버스 액세스 요구의 유무 이외에 전송 방향이나 해당 버스 액세스의 우선도 정보를 포함해도 된다.
조정회로(100)는, 각 버스 마스터 모듈(101)로부터의 버스 전송 요구 신호(104)를 받고, 버스 전송 허가를 제공할 한개의 버스 마스터 모듈을 결정한다. 그리고, 조정회로(100)는, 결정한 버스 마스터 모듈에 버스 전송 허가를 주기 위해, 해당하는 버스 마스터 모듈로부터 슬레이브 모듈(102)에 경로를 나타내는 버스 마스터 정보를, 조정 결과 신호(106)로서 출력한다. 이 조정 결과 신호(106)는 버스를 구성하는 모든 버스 스위치회로(105)에 전달된다.
이때, 실시형태에서는, 버스 마스터의 수가 8개인 예를 나타내고 있다. 그중 한개가 슬레이브 모듈에 접속되므로, 한개의 버스 마스터를 특정하기 위해서는 3비트이면 된다. 따라서, 조정회로(100)로부터 출력되는 조정 결과 신호(106)는, 3 정도의 적은 수의 비트의 신호선으로 표시될 수 있다.
버스 마스터 모듈(101)로부터 슬레이브 모듈(102)까지의 경로는 버스 스위치회로(105)를 거쳐 접속되고, 각 버스 마스터 모듈(101)의 버스 전송 신호(103)는 해당하는 버스 스위치회로(105)에 입력된다.
버스 전송 신호(103)는 해당 버스 액세스의 어드레스 정보 및 전송 방향과, 버스 전송 식별 정보 등의 코맨드 정보를 포함한다. 또한, 슬레이브 모듈(102)에의 기록의 경우, 버스 전송 신호(103)는, 코맨드 정보 이외에, 기록할 데이터를 포함한다.
버스 스위치회로(105)는, 복수의 버스 전송 신호(103)를 수신하고, 이들 중에서 한개를 선택해서, 이 신호를 출력 버스에 전달하는 스위치회로다. 본 실시형태에 따른 버스 스위치회로(105)는 2개의 버스 전송 신호(103)를 수신하고, 이들 중에서 한 개를 출력하도록 구성된다. 이하, 버스 스위치회로(105)의 구성을 설명한다.
도2는, 한개의 버스 스위치회로(105)의 구성을 나타낸 블록도다. 조정회로(100)에 의해 전송 허가가 주어진 버스 마스터 모듈의 정보로서 통지되는 조정 결과 신호(106)는 경로 인코딩 회로(202)에 입력된다. 경로 인코딩 회로(202)는, 수신한 조정 결과 신호(106)에 근거하여, 해당 버스 마스터 모듈의 버스 전송이 해당 버스 스위치회로(105)를 거쳐 전송될 것인지 아닌지를 판정한다. 경로 인코딩 회로(202)는, 버스 구성정보로서 해당 버스 스위치회로(105)에 입력되는 2개의 버스 전송 신호(103)의 각각에 대하여, 어느쪽의 버스 마스터 모듈(101)의 전송을 행해야 하는지를 나타내는 버스 마스터 경로 정보(207)를 유지하고 있다. 이 버스 마스터 경로 정보(207)는, 예를 들면, ROM이나 레지스터 파일 등의 메모리에 격납된다.
해당 버스 스위치회로(105)를 거쳐 전송할 경우, 경로 인코딩 회로(202)는, 경로 선택 회로(200)의 어느쪽의 입력 단자를 선택할 것일지를 나타내는 정보를 인코딩하여, 그것을 MUX 제어회로(201)에게 경로 선택 정보(203)로서 통지한다. 해당 버스 스위치회로(105)를 거치지 않는 버스 전송인 경우에는, 경로 인코딩 회로(202)는, 조정 결과 신호(106)에 응답하는 처리를 행하지 않고, MUX 제어회로(201)에게 통지를 행하지 않는다.
MUX 제어회로(201)는, 경로 인코딩 회로(202)로부터의 경로 선택 정보(203)의 통지에 따라, 버스 마스터 경로 정보(207)를 생성한다. 본 예에서는, 경로 선택 회로(200)는 2 입력 단자 및 1 출력 단자를 포함하는 선택회로이기 때문에, 경로 선택 정보(203)는 1 비트의 정보다.
MUX 제어회로(201)는, 경로 인코딩 회로(202)로부터 경로 선택 정보(203)가 통지되면, 입력되는 2개의 버스 전송 신호(103)의 한쪽을 선택하기 위해 사용된 전환 선택신호(204)를, 스위치의 전환정보로서 생성하여 출력한다. 또한, MUX 제어회로(201)는, 유효한 전환 선택신호(204)의 유무를 나타내는 버스 마스터 경로 스테이터스 정보(206)를 출력한다.
경로 인코딩 회로(202)는, 하류측에 출력되는 버스 전송 신호(103)에 의한 최종의 버스 전송을 나타내는 플래그 신호(205)(이하, 최종 전송 플래그 신호라고 한다)를 더 수신하고, 이 최종 전송 플래그 신호(205)의 발행에 따라 전송의 전환 선택신호(204)와 해당 버스 마스터 경로 스테이터스 정보(206)의 출력을 정지한다. 최종 전송 플래그 신호(205)는, 버스 마스터 모듈(101)이 발행한 버스 전송 요구와 관련되는 버스 전송의 최종 전송을 나타내는 플래그 신호이다. 플래그 신호의 생성은 임의이다. 예를 들면, 도6에 도시된 파형으로 나타낸 것과 같이, 버스 전송 신호(103)가 VALID 및 READY인 2선 핸드셰이크에 의한 전송에 있어서, 버스 전송의 페이로드의 최종 사이클을 나타내는 플래그 신호를 실현해도 된다. 도6에 도시된 예는 2개의 버스 전송을 나타내고 있다. 1번째의 일련의 버스 전송은 4사이클의 버스 전송이고, 2번째의 버스 전송은 5사이클의 버스 전송이다. 최종의 페이로드 전송인 4사이클째의 전송과 5사이클째의 전송 각각에서 LAST 신호를 발행함으로써, 일련의 버스 전송의 최종 사이클을 나타내고 있다. 여기에서는, 버스 전송에서 명시적으로 최종 전송을 나타내는 플래그를 부여하는 방법을 예시하고 있다. 그러나, 예를 들면, 페이로드에 전송 길이 데이터 정보가 설치되고, 그 정보를 참조함으로써 플래그 신호를 생성하는 것도 가능하다. 고정된 전송 길이를 사용하는 버스 전송일 경우에는, 고정 사이클 간격으로 플래그 신호를 생성해도 된다.
슬레이브 모듈(102)에 직접 접속되는 최하류 위치에 놓인 버스 스위치회로(105)에 대해 설명한다. 이 슬레이브 모듈(102)은, 최종 전송을 나타내는 플래그 신호(205)를 전송 종료 플래그 신호(107)로서 조정회로(100)에게 통지한다. 조정회로(100)는, 조정 결과 신호(106)를 출력후, 전송 종료 플래그 신호(107)의 수신을 대기하고, 다음의 버스 액세스의 조정 결과를 출력한다. 경로 선택 회로(200)는 전환 선택신호(204)에 표시되는 값에 근거하여 2개의 버스 전송 신호(103) 중 한쪽을 출력(혹은 통과)하도록 제어한다. 또한, 경로 선택 회로(200)는, 경로 선택 정보의 상태인 경로 스테이터스 정보(206)의 입력을 포함한다. 경로 선택 회로(200)는, 경로 스테이터스 정보(206)에 유효한 경로 선택 정보가 없을 경우, 2 입력의 버스 전송 신호(103)의 어느 것도 출력하지 않도록 제어한다. 즉, 경로 선택 회로(200)는, 유효한 버스 경로 선택 정보가 입력되지 않고 있는 상태에서는, 상류측으로부터의 버스 전송 신호(103)의 정보를 하류측으로 전달하지 않도록 제어된다.
이렇게 버스 스위치회로(105)를 구성하면, 조정회로(100)에 의해 결정된 버스 사용권을 취득하기 위한 버스 마스터 모듈(101)들의 순서로 슬레이브 모듈(102)에의 버스 전송의 경로를 구성할 수 있으며, 버스 전송을 실현할 수 있다.
[제2 실시형태]
도3은 제2 실시형태에 따른 버스 시스템의 구성을 나타낸 블록도다. 도3에 도시된 버스 시스템은 8개의 버스 마스터 모듈(101)과 한개의 슬레이브 모듈(102)로 구성되는 시스템이다. 버스 마스터 모듈(101)은 버스 전송 요구 신호(104)와 버스 전송 신호(103)를 출력한다.
조정회로(300)는 버스 마스터 모듈(101)로부터의 버스 전송 요구에 응답하여, 미리 설정된 조건에 따라 복수의 버스 전송 요구를 조정하고, 버스 액세스 권을 부여할 한개의 버스 마스터 모듈을 결정한다. 또한, 조정회로(300)는 버스 마스터 모듈(101)로부터 버스 전송 요구 신호(104)를 집약한다.
버스 전송 요구 신호(104)는, 버스 마스터 모듈(101)이 발행하는 버스 액세스의 요구의 유무를 나타내는 신호이며, 버스 액세스 요구의 유무 이외에 전송 방향이나 해당 버스 액세스의 우선도 정보를 포함해도 된다.
조정회로(300)는, 각 버스 마스터 모듈(101)로부터의 버스 전송 요구를 수신하고, 버스 전송 허가를 부여할 한개의 버스 마스터 모듈을 결정하고, 버스 전송 허가를 부여할 버스 마스터 정보를 조정 결과 신호(106)로서 출력한다. 조정 결과 신호(106)는 버스를 구성하는 모든 버스 스위치회로(305)에 전달된다.
버스 마스터 모듈(101)로부터 슬레이브 모듈(102)까지의 경로는 버스 스위치회로(305)를 거쳐 접속되고, 각 버스 마스터 모듈(101)의 버스 전송 신호(103)는 버스 스위치회로(305)에 입력된다.
버스 전송 신호(103)는 해당 버스 액세스의 어드레스 정보 및 전송 방향과, 버스 전송 식별 정보 등의 코맨드 정보를 포함한다. 또한, 슬레이브 모듈(102)에의 기록의 경우에는, 버스 전송 신호(103)는 그 기록할 데이터를 포함한다. 본 실시형태에서는, 코맨드 정보와 기록 데이터를 포함하는 구성을 예시하고 있다. 그러나, 코맨드 정보와 기록 데이터가 버스 전송 신호로서 분리된 구성도 가능하다.
버스 스위치회로(305)는 복수의 버스 전송 신호(103)를 수신하고, 이들 중에서 한쪽을 선택해서, 이 신호를 출력 버스에 전달하는 스위치회로다. 본 실시형태에서는, 2개의 버스 전송 신호(103)에 대한 입력 버스의 구성을 예시하고 있다. 이하, 버스 스위치회로(305)의 구성을 설명한다.
도4는 제2 실시형태에 따른, 한개의 버스 스위치회로(305)의 구성을 나타낸 블록도다. 조정회로(300)에 의해 전송 허가가 주어진 버스 마스터 모듈의 정보로서 통지되는 조정 결과 신호(106)는 경로 인코딩 회로(402)에 입력된다. 경로 인코딩 회로(402)는, 해당 버스 마스터 모듈의 버스 전송이 해당 버스 스위치회로(305)를 거쳐 전송될 것인지 아닌지를 판정한다. 이 때문에, 경로 인코딩 회로(402)는, 해당 버스 스위치회로(305)에 입력되는 2개의 버스 전송 신호(103)의 각각에 대하여, 어느쪽의 버스 마스터 모듈(101)이 전송을 행할 것인지를 판정하기 위해 사용되는 버스 마스터 경로 정보(407)를 유지하고 있다.
당 버스 스위치회로(305)를 거쳐 전송될 경우, 경로 인코딩 회로(402)는, 어느쪽의 버스 전송 신호(103)로부터 입력을 선택할 것인지를 나타내는 정보로 인코딩하고, 경로 정보 FIFO(401)에게 경로 선택 정보(403)로서 이것을 통지한다. 해당 버스 스위치회로(305)를 거치지 않는 버스 전송인 경우에는, 경로 인코딩 회로(402)는, 조정 결과 신호(106)에 응답하는 처리를 행하지 않고, 경로 정보 FIFO(401)에의 통지를 행하지 않는다.
도5는, 도3에 도시된 각각의 버스 마스터 모듈(101)과 버스 스위치회로(305)를 식별 가능하게 나타내고, 각각의 버스 스위치회로(305)의 경로 선택 논리의 경로를 식별 가능하게 나타낸 것이다. 이하, 도5를 참조하여 버스 스위치회로(305)의 동작을 설명한다.
버스 마스터 모듈의 한개인 "Master-2"에 연결되는 스위치회로인 "스위치-1(500)"에 대해 예시한다. 따라서, 이하에서 설명하는 경로 선택 회로(400) 등은, 스위치-1(500) 내부의 회로인 것에 주목하기 바란다. 전송이 허가된 버스 마스터 모듈의 정보가 Master-0 혹은 Master-1일 경우, 경로 인코딩 회로(402)는 이것이 스위치-1(500)을 거치는 전송이라고 판정한다. 경로 인코딩 회로(402)는 이 버스 전송이 경로 B로부터의 전송으로 판정하고, 이 정보를 경로 선택 정보(403)로서 경로 정보 FIFO(401)에게 통지한다. 전송이 허가되는 버스 마스터 모듈의 정보가 Master-2일 경우도 마찬가지로, 경로 인코딩 회로(402)는 이것이 스위치-1(500)을 거치는 전송이라고 판정한다. 경로 인코딩 회로(402)는 버스 전송이 경로 A로부터의 전송으로 판정하고, 이 정보를 경로 선택 정보(403)로서 경로 정보 FIFO(401)에게 통지한다. 한편, 전송이 허가되는 버스 마스터 모듈의 정보가 Master-3 내지 Master-7 중 한개인 경우에는, 경로 인코딩 회로(402)는 그것이 스위치-1(500)을 거치지 않는 전송인 것으로 판정하고, 경로 선택 정보(203)의 통지를 행하지 않도록 동작한다.
슬레이브 모듈(102)에 직접 접속되는 스위치회로인 스위치-3(501)에 대해 예시한다. 스위치-3에 대해서는, 전송이 허가되는 버스 마스터 모듈의 정보가 Master-0 내지 <aster-7의 어느 한 개인 경우에, 경로 인코딩 회로(402)는 이것이 스위치-3(501)을 거치는 전송이라고 판정한다. 즉, 스위치-3(501)을 거치지 않는 전송으로 판정하는 조건은 존재하지 않는다. 전송이 허가되는 버스 마스터 모듈의 정보가 Master-0 내지 Master-3 중 한개인 경우, 경로 인코딩회로(402)는 버스 전송이 경로 A로부터의 전송인 것으로 판정하고, 이 정보를 경로 선택 정보(403)로서 경로 정보 FIFO(401)에게 통지한다. 한편, 전송이 허가되는 버스 마스터 모듈의 정보가 Master-4 내지 Master-7 중 한개인 경우, 경로 인코딩회로(4020은 버스 전송이 경로 B로부터의 전송인 것으로 판정하고, 이 정보를 경로 선택 정보(403)로서 경로 정보 FIFO(401)에게 통지한다.
경로 정보 FIFO(401)은 경로 선택 회로(400)의 선택 정보를 FIFO 형식으로 유지하도록 구성된다. 경로 인코딩회로(402)에 의해 통지되는 경로 선택 정보(403)는 FIFO에 등록된다. 본 예에서는, 경로 선택 회로(400)는 2 입력의 선택 회로이기 때문에, 경로 선택 정보(403)는 1 비트의 정보이며, 경로 정보 FIFO(401)은 1 비트의 FIFO로서 구성된다.
경로 정보 FIFO(401)은, 경로 인코딩회로(402)로부터 경로 선택 정보(403)가 통지되면, 해당 경로 선택 정보(403)를 FIFO에 등록한다. 경로 정보 FIFO(401)은, 하류측에 출력되는 버스 전송 신호(403)에 의한 최종 버스 전송을 나타내는 플래그 신호(405)의 입력을 더 포함하고, 최종 전송 플래그 신호(405)의 발행에 의해 FIFO로부터 가장 일찍 등록된 엔트리를 삭제하도록 동작한다. 최종 전송 플래그 신호(405)는, 버스 마스터 모듈(101)이 발행한 버스 전송 요구에 관련되는 버스 전송의 최종 전송을 나타내는 플래그 신호이다. 플래그 신호의 생성은 임의이다. 제1 실시형태와 마찬가지로, 예를 들면, 도6에 도시된 파형으로 나타낸 것과 같이, 버스 전송 신호(103)가 VALID 및 READY인 2선 핸드셰이크에 의한 전송에 있어서, 버스 전송의 페이로드의 최종 사이클을 나타내는 플래그 신호를 실현해도 된다.
경로 정보 FIFO(401)은, FIFO의 선두에 유지되어 있는 경로 선택 정보를 경로 선택 회로(400)의 전환 선택신호(404)로서 출력한다. 경로 선택 회로(400)는 전환 선택신호(404)가 나타내는 값에 근거하여 2 입력의 버스 전송 신호(103) 중 한개를 출력하도록 제어한다. 이상에 의해 경로 정보 FIFO(401)은 스위치의 전환 순서 정보를 유지하도록 동작한다.
또한, 경로 선택 회로(400)는 경로 정보 FIFO(401)에 유지되는 경로 선택 정보의 상태인 FIFO 스테이터스 정보(406)의 입력을 가진다. 경로 선택 회로(400)는, FIFO 스테이터스 정보(406)에 FIFO에 유지되어 있는 유효한 경로 선택 정보의 엔트리가 없을 경우, 2 입력의 버스 전송 신호(103)의 어느것도 출력하지 않도록 제어한다. 즉, 경로 정보 FIFO(401)의 엔트리가 비어 있는 경우에는, 상류측으로부터의 버스 전송 신호(103)의 정보를 하류측에 전달하지 않도록 제어가 행해진다.
이렇게 버스 스위치회로(305)를 구성하면, 조정회로(300)에 의해 결정한 버스 사용권을 취득하기 위한 버스 마스터 모듈(101)의 순서로 슬레이브 모듈(102)에의 버스 전송의 경로를 구성할 수 있으며, 버스 전송을 실현할 수 있다.
다음에, 도7에 나타낸 4개의 버스 마스터 모듈(101)의 버스 구성을 사용하여, 버스 전체의 거동을 설명한다. 도8은 사이클마다의 버스를 구성하는 3개의 버스 스위치회로(305)에 있어서의 버스 전송 신호(103)의 상태와, 경로 정보 FIFO(401)의 상태를 나타내고 있다. 또한, 본 예에서는, 설명을 간단하게 하기 위해, 각 버스 전송이 2 사이클의 전송인 것으로 가정하여 설명을 한다. Cycle-0에서는, 4개의 버스 마스터 모듈이 버스 전송 요구를 발행하고, 조정회로(300)는 아직 조정 결과 신호(106)를 발행하지 않고 있다. 이것은, 각 버스 마스터 모듈이 버스 전송 신호(103)를 하류측으로 발행하고 있는 상태이다. 이 상태를 도8에서는 "valid"로 나타내고 있다. 스위치-1과 스위치-3의 경로 A 및 B는 "valid"이다. 각 버스 스위치의 경로 정보 FIFO(401)은 비어 있으므로, 각 버스 스위치는 하류측에 버스 전송 신호(103)를 발행하지 않는다. 따라서, 스위치-2의 경로 A 및 B는 버스 전송이 발행되지 않고 있는 상태 "-"이다.
본 예에서는, 조정회로(300)는 버스 마스터 모듈(101)로부터의 버스 전송 요구에 응답하여, Master-1, Master-2 및 Master-3의 순서로 버스 사용권을 주는 것으로 가정한다. Master-1은 자신의 버스 전송이 종료시 혹은 종료전에 다음 버스 전송 요구를 발행하고, Master-4에 앞서 Master-1에 대하여 버스 사용권이 주어진다. 더구나, Master-3은 Cycle-8에서 버스 전송 요구를 발행하고, Cycle-9에서 조정회로(100)는 Master-3에 대하여 버스 사용권을 주도록 동작하고 있는 것으로 가정한다.
Cycle-1에서 조정회로(300)가 Master-1에 대하여 버스 사용권을 부여하면, 스위치-1의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록된다. 스위치-3에 대해서는, 버스 사용권이 주어진 Master-1은 해당 스위치와는 관련되지 않기 때문에, 경로 정보 FIFO(401)에는 경로 정보가 등록되지 않고, FIFO의 비어 있는 상태가 계속된다. 스위치-1에서는, 경로 정보 FIFO(401)에 정보가 등록되었기 때문에, 경로 선택 회로(400)는 경로 B를 선택하도록 동작하고, 스위치-1에 입력되는 경로 B의 Master-1의 제1전송이 스위치-2에 출력된다. 스위치-2의 경로 정보 FIFO(401)에도 정보가 등록되었기 때문에, 경로 선택 회로(400)는 경로 A를 선택하도록 동작한다. 그러나, 스위치-1로부터의 버스 전송이 입력되기 전에, 하류측에 유효한 버스 전송이 발행되지 않는다.
Cycle-2에서 조정회로(300)가 Master-2에 대하여 버스 사용권을 부여하면, 스위치-1의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록된다. 스위치-1에서는, 경로 B로부터 Master-1의 최종 전송이 전송되고, 경로 선택 회로(400)의 경로는 전환하지 않는다. 한편, 스위치-2는 경로 A를 거쳐 스위치-1로부터 전송된 Master-1의 제1전송을 하류측의 슬레이브 모듈(102)에 전송한다.
Cycle-3에서 조정회로(300)가 Master-3에 대하여 버스 사용권을 부여하면, 스위치-3의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록된다. 스위치-1에 대해서는, 버스 사용권이 주어진 Master-3이 해당 스위치와는 관련되지 않기 때문에, 경로 정보 FIFO(401)에는 정보가 등록되지 않는다. 그러나, Cycle-2에서 경로 B를 거친 Master-1의 최종 전송이 전송되기 때문에, FIFO에서 가장 오래된 경로 B의 엔트리가 삭제되고, 전환 선택신호(404)는 경로 A를 나타내고 경로 선택 회로(400)의 경로가 변경된다. 스위치-3에서는, 경로 정보 FIFO(401)에 정보가 등록되기 때문에, 경로 선택 회로(400)는 경로 A를 선택하도록 동작하고, 스위치-3에 입력되는 경로 A의 Master-3의 제1전송이 스위치-2에 출력된다. 스위치-2에서는, Master-1의 최종 전송이 슬레이브에 전송된다.
Cycle-4에서 조정회로(300)가 Master-1에 대하여 버스 사용권을 부여하면, 스위치-1의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록된다. 스위치-2에서는, 경로 A를 거친 Master-1의 최종 전송이 Cycle-3에서 전송되기 때문에, FIFO의 가장 오래된 경로 A의 엔트리가 삭제된다. 경로 정보 FIFO(401)의 엔트리가 삭제되지만, 전환 선택신호(404)의 다음 엔트리가 경로 A이기 때문에, 경로 선택 회로(400)의 스위치는 경로 A의 선택을 계속하고, Master-2의 제1전송이 슬레이브 모듈(102)에 전송된다.
Cycle-5에서, 조정회로(300)가 Master-4에 대하여 버스 사용권을 부여하면, 스위치-3의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록된다. 스위치-1에 대해서는, 버스 사용권이 주어진 Master-4가 해당 스위치와는 관련되지 않기 때문에, 경로 정보 FIFO(401)에는 정보가 등록되지 않는다. 그러나, Cycle-4에서 경로 A를 거친 Master-2의 최종 전송이 전송되기 때문에, FIFO의 가장 오래된 경로 A의 엔트리가 삭제되고, 전환 선택신호(404)는 경로 B를 나타내고, 경로 선택 회로(400)의 경로가 변경된다. Cycle-5에서, 스위치-2에 있어서, 경로 A를 거친 Master-2의 최종 전송이 슬레이브 모듈(102)에 전송된다.
Cycle-6에서는, 경로 정보 FIFO(401)의 가장 오래된 엔트리가 삭제되고, 경로 선택 회로(400)의 경로가 경로 B로 변경되고, 스위치-3을 거친 전송이 전환된다. 이하, 마찬가지로, Master-3의 전송이 완료하면, 스위치-2는 Cycle-8에서 경로 A로 전환되고, Master-1의 전송이 슬레이브 모듈에 전송된다. Cycle-9에서 새롭게 조정회로(300)가 Master-3에 대하여 버스 사용권을 부여하면, 스위치-3의 경로 정보 FIFO(401)에는 경로 A의 정보가 등록되고, 스위치-2의 경로 정보 FIFO(401)에는 경로 B의 정보가 등록된다. Cycle-9에서 Master-1의 최종 전송이 완료하면, Cycle-10으로부터 Master-4의 버스 전송이 슬레이브 모듈(1200에 전송되고, Cycle-12로부터 Master-3의 버스 전송이 슬레이브 모듈(102)에 전송되도록 동작이 행해진다.
이상의 실시형태에서 나타낸 것과 같이, 복수의 버스 스위치회로(305)를 거쳐 버스 마스터 모듈로부터 슬레이브 모듈로의 경로를 구성하는 버스 시스템에서, 간단한 선택 논리를 사용하여 조정회로에 의한 버스 사용권 부여 순서로 버스 전송을 발행가능하다. 특히, 경로 선택 회로(400)의 입력 수를 줄이고, 적은 비트수의 FIFO에 의해 버스 전체의 경로 선택을 구성할 수 있으며 적은 코스트로 원하는 버스 전송 우선 순위를 제어가능한 버스 시스템을 구축할 수 있다.
또한, 본 실시형태에서는 명시하고 있지 않지만, 조정회로(300)는 각 버스 스위치회로(305)의 경로 정보 FIFO(401)의 상태를 참조하여, 버스 사용권을 부여하는 타이밍을 제어하는 것도 가능하다. 구체적으로는, 조정회로(300)는 경로 정보 FIFO(401)의 FIFO 엔트리의 비어 있는 상태를 참조하여, FIFO가 비어 있지 않는 경우에는, FIFO 엔트리가 비워질 때까지 버스 사용권 부여를 대기하는 것도 가능하다.
또한, 전술한 예는 조정회로(300)로부터의 조정 결과인 버스 사용권 부여 정보를 버스 스위치회로(305)에 전달하는 구성을 나타내고 있다. 본 실시형태에서는, 버스 스위치회로(305)는, 경로 정보 FIFO(401)의 엔트리가 존재하지 않는 경우에는, 경로 선택 회로(400)를 거쳐 하류측에 버스 전송을 발행하지 않도록 제어한다. 따라서, 버스 마스터 모듈(101)은 버스 전송 요구를 발행후에 버스 전송 신호(103)를 거쳐 버스 전송을 발행해도 된다. 한편, 조정회로(300)는 조정 결과인 버스 사용권 부여 정보를 버스 마스터 모듈(101)에 전달해도 된다. 버스 사용권 부여 정보를 버스 마스터 모듈에 전달하는 구성을 채용하면, 버스 마스터 모듈(101)로부터의 버스 전송 신호(103)의 발행을 버스 사용권 부여 정보 수령후에 제어하는 것이 가능해 진다. 이에 따라, 경로 선택 회로(400)는 경로 정보 FIFO(401)의 엔트리가 없을 경우에 제어를 행할 필요가 없다.
[실시형태의 변형예]
제1 및 제2 실시형태는, 버스 마스터 모듈로부터 버스 슬레이브 모듈로의 경로에서 어드레스 정보와 데이터 정보를 동일 경로를 거쳐 전달하는 구성을 나타내고 있다. 그러나, 어드레스 정보와 데이터 정보를 독립하여 전송하는 구성도 적용가능하다. 즉, 어드레스 정보 버스와 데이터 정보 버스가 독립하여 구성되는 형식에 적용가능하다. 본 구성에서는, 버스 마스터 모듈(101)은 버스 전송 요구 신호(104)와 함께 버스 전송 방향 정보를 조정회로(100)(또는 300)에게 통지한다. 조정회로(100)(또는 300)는 조정 결과 신호(106)와 함께, 해당 전송의 버스 전송 방향 정보를 버스 스위치회로(105)(또는 305)에 전달된다. 버스 스위치회로에서는, 어드레스 정보를 전달하는 버스 스위치와 데이터 정보를 전달하는 버스 스위치가 독립하여 구성된다. 데이터 정보를 전달하는 버스 스위치는, 조정 결과 신호(106)와 함께 전달되는 버스 전송 방향 정보를 참조하여, 기록 전송일 경우에만, 버스 스위치의 경로 정보로 이 정보를 변환함으로써 실현된다.
제1 및 제2 실시형태에서는, 조정회로(100)(또는 300)에 의해 발행되는 조정 결과 신호(106)를, 버스 시스템을 구성하는 모든 버스 스위치회로(105)(또는 305)에 일제히 통지되는 구성 예를 나타내고 있다. 한편, 조정 결과 신호(106)는 일부의 버스 스위치회로(105)(또는 305)에만 통지되어도 된다. 예를 들면, 도5에 도시된 구성에서는, Master-0 내지 Master-3에 대한 버스 액세스 권의 조정 결과 신호(106)의 통지는 스위치-0 내지 스위치-3에 대해서만 행해져도 된다.
제1 및 제2 실시형태에서는, 버스 스위치회로(105)(또는, 305)가 2개의 입력 버스를 포함하는 스위치회로 구성을 예시하였다. 그러나, 3개 이상의 입력 버스가 설치되어도 된다. 이 경우, 버스 스위치에 대한 전환 선택신호(204)(또는, 404)는 2비트 이상의 신호로 표시된다.
예시적인 실시형태들을 참조하여 본 발명을 설명하였지만, 본 발명이 이러한 실시형태에 한정되지 않는다는 것은 자명하다. 이하의 청구범위의 보호범위는 가장 넓게 해석되어 모든 변형, 동등물 구조 및 기능을 포괄하여야 한다.

Claims (11)

  1. 복수의 버스 마스터들과 슬레이브 모듈 사이의 버스의 접속을 제어하도록 구성된 버스 제어회로로서,
    상기 복수의 버스 마스터들 각각으로부터의 버스 전송 요구 신호를 수신하고, 미리 설정된 우선 순위에 따라, 버스 전송 요구 신호를 발행한 버스 마스터들 중에서 한개에 대해 버스 사용권이 부여되는 것을 나타내는 조정 결과 신호를 출력하도록 구성된 조정회로와,
    복수의 버스 스위치들을 구비하고,
    상기 복수의 버스 스위치들 각각은,
    복수의 버스 전송 신호를 수신하도록 구성된 복수의 입력 단자들, 및 상기 복수의 입력 단자들의 한개의 버스 전송 신호를 하류측에 전달하도록 구성된 출력 단자를 포함하는 선택회로와,
    상기 조정회로로부터 출력된 상기 조정 결과 신호를 수신하고, 상기 조정 결과 신호에 근거하여 상기 선택회로를 제어하여 상기 복수의 입력 단자들 중 한개를 선택하게 하도록 구성된 제어회로를 구비하고,
    최하류 위치에 배치된 버스 스위치에 포함된 상기 선택회로의 상기 출력 단자에 상기 슬레이브 모듈이 접속되는 버스 제어회로.
  2. 제 1항에 있어서,
    상기 제어회로는, 상기 조정 결과 신호를 버스 스위치의 경로 정보로 변환하고, 상기 경로 정보를 전환 선택신호로서 유지하도록 구성된 메모리를 포함하는 버스 제어회로.
  3. 제 2항에 있어서,
    상기 제어회로에 포함된 상기 메모리는 상기 전환 선택신호를 FIFO 형식으로 유지하는 버스 제어회로.
  4. 제 1항에 있어서,
    버스 스위치는, 어드레스 정보 버스를 전달하도록 구성된 스위치와, 데이터 정보 버스를 전달하도록 구성된 스위치를 포함하는 버스 제어회로.
  5. 제 1항에 있어서,
    상기 조정회로는, 상기 복수의 버스 마스터들로부터, 상기 버스 전송 요구 신호와 함께 버스 전송 방향을 나타내는 정보를 더 수신하고, 버스 사용권을 부여할 것으로 결정한 버스 마스터로부터의 상기 버스 전송 방향을 나타내는 정보를 상기 조정 결과 신호와 함께 출력하는 버스 제어회로.
  6. 제 5항에 있어서,
    상기 제어회로는, 상기 조정 결과 신호와 상기 버스 전송 방향을 나타내는 정보를 버스 스위치의 경로 정보로 변환하고, 상기 경로 정보를 전환 선택신호로서 유지하도록 구성된 메모리를 포함하는 버스 제어회로.
  7. 제 1항에 있어서,
    상기 복수의 버스 스위치들 각각에 있어서의 상기 복수의 입력 단자들은, 나머지 버스 스위치들의 출력 단자들과 상기 복수의 버스 마스터들 중 적어도 한개로부터 상기 복수의 버스 전송 신호를 수신하는 버스 제어회로.
  8. 제 1항에 있어서,
    상기 최하류 위치에 배치된 버스 스위치에 있어서의 복수의 입력 단자들은, 나머지 버스 스위치들의 출력 단자들로부터 상기 복수의 버스 전송 신호를 수신하는 버스 제어회로.
  9. 제 2항에 있어서,
    상기 제어회로는, 버스 전송 신호가 상기 복수의 버스 스위치들 각각을 거쳐 전송되는지 아닌지를 판정하고, 상기 조정 결과 신호를 버스 스위치의 상기 경로 정보로 변환하는 버스 제어회로.
  10. 제 9항에 있어서,
    상기 제어회로는, 버스 전송 신호가 상기 복수의 버스 스위치들 각각을 거치지 않는 전송되는 것으로 판정시, 상기 조정 결과 신호에 응답하는 처리를 행하지 않는 버스 제어회로.
  11. 제 2항에 있어서,
    상기 경로 정보는 1 비트의 정보인 버스 제어회로.
KR1020190111857A 2018-09-18 2019-09-10 버스 제어회로 KR102549085B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018174191A JP7401050B2 (ja) 2018-09-18 2018-09-18 バス制御回路
JPJP-P-2018-174191 2018-09-18

Publications (2)

Publication Number Publication Date
KR20200032642A true KR20200032642A (ko) 2020-03-26
KR102549085B1 KR102549085B1 (ko) 2023-06-29

Family

ID=67734547

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190111857A KR102549085B1 (ko) 2018-09-18 2019-09-10 버스 제어회로

Country Status (5)

Country Link
US (1) US10872051B2 (ko)
EP (1) EP3627331B1 (ko)
JP (1) JP7401050B2 (ko)
KR (1) KR102549085B1 (ko)
CN (1) CN110908936B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752875A (zh) * 2020-06-22 2020-10-09 深圳鲲云信息科技有限公司 一种模块间通信方法及系统
CN113158260B (zh) * 2021-03-30 2023-03-31 西南电子技术研究所(中国电子科技集团公司第十研究所) SoC芯片内部数据分级防护电路

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842104B1 (en) * 1999-03-19 2005-01-11 Matsushita Electric Industrial Co., Ltd. System lsi and a cross-bus switch apparatus achieved in a plurality of circuits in which two or more pairs of a source apparatus and a destination apparatus are connected simultaneously and buses are wired without concentration
US20120269452A1 (en) * 2011-04-25 2012-10-25 Fuji Xerox Co., Ltd. Image data processing apparatus, image data processing method, and computer readable medium
WO2018100376A1 (en) * 2016-11-30 2018-06-07 Nordic Semiconductor Asa Interconnect system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6243829B1 (en) * 1998-05-27 2001-06-05 Hewlett-Packard Company Memory controller supporting redundant synchronous memories
US6323755B1 (en) * 1998-08-19 2001-11-27 International Business Machines Corporation Dynamic bus locking in a cross bar switch
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
JP2005062946A (ja) * 2003-08-12 2005-03-10 Fuji Xerox Co Ltd メモリ制御装置
KR100618817B1 (ko) * 2003-12-17 2006-08-31 삼성전자주식회사 소비 전력을 절감시키는 amba 버스 구조 시스템 및 그방법
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth
US7302510B2 (en) * 2005-09-29 2007-11-27 International Business Machines Corporation Fair hierarchical arbiter
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
US20080082707A1 (en) * 2006-09-29 2008-04-03 Synfora, Inc. Non-blocking bus controller for a pipelined, variable latency, hierarchical bus with point-to-point first-in first-out ordering
JP2008117068A (ja) * 2006-11-01 2008-05-22 Denso Corp 情報処理システム
US7734856B2 (en) * 2007-08-22 2010-06-08 Lantiq Deutschland Gmbh Method for operating a plurality of arbiters and arbiter system
WO2010113291A1 (ja) * 2009-03-31 2010-10-07 富士通株式会社 データ転送回路及びデータ転送方法
JP2010282405A (ja) 2009-06-04 2010-12-16 Renesas Electronics Corp データ処理システム
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US9117022B1 (en) * 2011-10-07 2015-08-25 Altera Corporation Hierarchical arbitration
US8874680B1 (en) * 2011-11-03 2014-10-28 Netapp, Inc. Interconnect delivery process
US9176911B2 (en) * 2012-12-11 2015-11-03 Intel Corporation Explicit flow control for implicit memory registration
CN106301337B (zh) * 2015-05-13 2019-12-06 恩智浦有限公司 双向通信的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842104B1 (en) * 1999-03-19 2005-01-11 Matsushita Electric Industrial Co., Ltd. System lsi and a cross-bus switch apparatus achieved in a plurality of circuits in which two or more pairs of a source apparatus and a destination apparatus are connected simultaneously and buses are wired without concentration
US20120269452A1 (en) * 2011-04-25 2012-10-25 Fuji Xerox Co., Ltd. Image data processing apparatus, image data processing method, and computer readable medium
WO2018100376A1 (en) * 2016-11-30 2018-06-07 Nordic Semiconductor Asa Interconnect system

Also Published As

Publication number Publication date
US20200089635A1 (en) 2020-03-19
JP2020046876A (ja) 2020-03-26
US10872051B2 (en) 2020-12-22
KR102549085B1 (ko) 2023-06-29
CN110908936A (zh) 2020-03-24
JP7401050B2 (ja) 2023-12-19
EP3627331B1 (en) 2024-01-03
CN110908936B (zh) 2023-09-05
EP3627331A1 (en) 2020-03-25

Similar Documents

Publication Publication Date Title
EP1239374B1 (en) Shared program memory for use in multicore DSP devices
EP1775897B1 (en) Interleaving in a NoC (Network on Chip) employing the AXI protocol
US7472213B2 (en) Resource management device
US8719476B2 (en) Communication system, master device and slave device, and communication method, configured to handle plural concurrent requests
US5896516A (en) Method and apparatus for reducing propagation latency in a high speed crossbar switch
KR100951856B1 (ko) 멀티미디어 시스템용 SoC 시스템
US6493784B1 (en) Communication device, multiple bus control device and LSI for controlling multiple bus
US20160292123A1 (en) Semiconductor device
KR20200032642A (ko) 버스 제어회로
US20040199694A1 (en) Interrupt controller and interrupt controlling method for prioritizing interrupt requests generated by a plurality of interrupt sources
US9003092B2 (en) System on chip bus system and a method of operating the bus system
KR20020008955A (ko) 버스 시스템 및 그 실행 순서 조정방법
JP4024484B2 (ja) バスアービタ
CN113867802A (zh) 一种中断分发装置、芯片和电子设备
JPH09153009A (ja) 階層構成バスのアービトレーション方法
US7519848B2 (en) Data transfer apparatus
US20030040230A1 (en) Multimaster bus system
KR100737904B1 (ko) 마스터/슬레이브 디바이스간의 인터페이스 장치 및 그 방법
KR100499350B1 (ko) 다중및단일채널을갖는다이렉트메모리억세스의데이터전송방법
JP3925510B2 (ja) 信号通信装置および多重バス制御装置
JP2984594B2 (ja) マルチクラスタ情報処理システム
JP2000076199A (ja) デバッグ端子を有するマルチプロセッサ装置
JPH09128327A (ja) バス調停回路
JPS6079455A (ja) バス制御方式
JPS5953923A (ja) デ−タ処理システム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant