KR20040056293A - 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템 - Google Patents

프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템 Download PDF

Info

Publication number
KR20040056293A
KR20040056293A KR1020020082895A KR20020082895A KR20040056293A KR 20040056293 A KR20040056293 A KR 20040056293A KR 1020020082895 A KR1020020082895 A KR 1020020082895A KR 20020082895 A KR20020082895 A KR 20020082895A KR 20040056293 A KR20040056293 A KR 20040056293A
Authority
KR
South Korea
Prior art keywords
bus
processor
multiprocessor
master
register
Prior art date
Application number
KR1020020082895A
Other languages
English (en)
Other versions
KR100452325B1 (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-2002-0082895A priority Critical patent/KR100452325B1/ko
Publication of KR20040056293A publication Critical patent/KR20040056293A/ko
Application granted granted Critical
Publication of KR100452325B1 publication Critical patent/KR100452325B1/ko

Links

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/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
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • 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
    • G06F13/4031Coupling between buses using bus bridges with arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 AMBA(Advanced Micro-controller Bus Architecture) 버스를 연결 매체로 하여 프로세서 코어를 두개 이상 사용하는 시스템온칩(System On-Chip: SoC)에서 각 프로세서에게 고유번호를 할당하고, 복수개의 프로세서간에 순차적인 부팅을 지원할 수 있는 멀티프로세서 시스템에 관한 것이다. 이러한 본 발명은 다수의 마스터들; 상기 마스터들과 다른 자원들이 연결되는 어드레스 및 제어신호선과, 읽기 데이터 신호선, 및 쓰기 데이터 신호선을 제공하는 버스; 상기 마스터로부터 버스 요구신호를 입력받아 버스 활성화 신호에 따라 내부 버스 요구신호를 발생하고, 이에 따라 각 버스 마스터의 버스 사용권 허가 여부를 제어하며, 버스 사용이 허락된 마스터의 버스사용자 번호를 출력하는 버스 중재기; 및 상기 버스 중재기에 버스 활성화 신호를 제공하고, 상기 버스 중재기로부터 버스 사용자 번호를 입력받아 저장하는 멀티프로세서 지원 슬레이브로 구성된다.
따라서 본 발명은 AMBA버스를 연결매체로 하여 복수개의 ARM코어를 이용한 공유버스 기반형 멀티프로세서 시스템 구현을 용이하게 하며, 추후 멀티프로세서용 운영체제 탑재를 가능하게 하는 효과가 있다.

Description

프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템{ AMBA-based Multiprocessor system for processor identification number allocation and sequential booting }
본 발명은 AMBA(Advanced Micro-controller Bus Architecture) 버스를 연결 매체로 하여 프로세서 코어를 두개 이상 사용하는 시스템온칩(System On-Chip: SoC)에서의 멀티프로세서 시스템에 관한 것으로, 상세하게는 멀티프로세서 기능 구현을 위하여 각 프로세서에게 고유번호를 할당하고, 복수개의 프로세서간에 순차적인 부팅을 지원할 수 있는 에이엠비에이(AMBA) 버스 기반 멀티프로세서 시스템에 관한 것이다.
일반적으로, 복수개의 프로세서를 이용한 멀티프로세서 시스템을 구성하기 위해서는 각 프로세서는 시스템에서 고유번호를 할당받아야 한다. 각 프로세서의 고유번호는 멀티프로세서 시스템에서 부하 분배 및 프로세서간 통신에 있어서 필수적이다. 또한 복수개의 프로세서가 하나의 시스템 버스를 공유하는 공유버스 기반형 멀티프로세서 시스템에서는 일반적으로 시스템 부팅 및 초기화를 위하여 부팅 프로세서(BSP: Bootstrap processor)가 부팅 및 시스템 초기화를 수행한 후에 다른 프로세서들을 부팅시키는 순차적 부팅을 통하여 시스템을 부팅한다.
인텔(Intel)사의 기술문서인 "멀티 프로세서 규격(Multiprocessor Specification)"을 통하여 공유버스 기반형 멀티프로세서 시스템에서 프로세서 고유번호 할당 및 순차적 부팅 기능을 인텔(Intel) 프로세서(X86 구조)를 예를 들어 설명하면 다음과 같다.
인텔(Intel) 프로세서들은 프로세서 내부에 인터럽트 제어기(APIC: Advanced Programmable Interrupt Controller)라는 장치를 내장하고 있으며, 이 장치를 통하여 인터럽트 버스를 공유하고 있다. 인터럽트 제어기(APIC)는 인터럽트 버스상에서 자신의 위치 정보를 찾아서 내부 레지스터에 저장하게 되며, 프로세서는 동 레지스터에 대해서 읽기 동작을 수행하여 인터럽트 버스상에서의 고유번호를 알 수 있게 된다. 각 프로세서가 인터럽트 제어기(APIC)를 통하여 확보한 고유번호는 추후에 운영체제 탑재후 프로세서 고유번호로 사용되며, 이를 이용하여 멀티프로세서 운영체제는 프로세서간 통신(IPC), 부하분산과 같은 기능을 구현하게 된다.
인터럽트 제어기(APIC)는 프로세서 고유번호 할당외에 시스템 부팅에 있어서 프로세서들의 순차적 부팅을 가능하게 한다. 우선, 가장 큰 값을 고유번호로 사용하는 프로세서는 부팅 프로세서(BSP)로 지정되어 시스템 부팅 및 초기화를 수행하며, 부팅 프로세서(BSP)에 의해서 나머지 프로세서들은 순차적으로 부팅된다.
시스템 온칩(System On-Chip)의 내부버스로 많이 사용되는 AMBA 버스와 AMBA버스 기반형 ARM 프로세서 코어의 경우에는 상기에서 설명한 프로세서 고유번호 할당 기능 및 순차적 부팅 기능 하드웨어를 지원하지 않으며, 이로 인하여 AMBA 버스 기반형 멀티프로세서 시스템 구현이 용이하지 않는 문제점이 있다.
도 1은 AMBA버스인 종래의 AHB 버스의 구성을 도시한 개략도이다.
ARM사에서 개발하여 공개한 시스템온칩의 버스구조인 AMBA(Advanced Micro-controller Bus Architecture)버스는 AHB(Advanced High-performance Bus)버스와, ASB(Advanced System Bus)버스, APB(Advanced Peripheral Bus)버스로 이루어진다. AHB버스는 고속의 클럭으로 동작하는 고성능 시스템의 백본 버스로서, 이에 기반한 멀티프로세서 연결은 도 1에 도시된 바와 같이, ARM 코어 프로세서 또는 DMA 장치와 같이 버스를 통하여 읽기 및 쓰기 요청을 발생하는 버스 마스터(10-1~10-3)와 메모리 콘트롤러와 같이 버스를 통하여 읽기 및 쓰기 동작에 대한 응답을 수행하는 슬레이브(11-1~11-3)들은 어드레스 및 제어신호 먹스(13), 쓰기 데이터 신호 먹스(14), 읽기 데이터 신호 먹스(15)를 통하여 상호 연결되어 통신하게 된다. 이때 각 마스터들(10-1~10-3)은 버스 사용권 획득을 위하여 버스 중재기(12)에 버스 사용 요청을 하고, 요청이 수락되면 버스를 통하여 쓰기 또는 읽기 동작을 수행한다.
중재기(12)는 버스 사용 요청을 마스터(10-1~10-3)로부터 수신하여 특정 마스터에게 버스 사용 허가를 주고, 어드레스 및 제어 신호 먹스(13)와 쓰기 데이터 신호 먹스(14)의 경로 설정을 위하여 제어 신호를 발생한다. 버스를 통하여 읽기 또는 쓰기 요청을 수신한 슬레이브(11-1~11-3)는 해당 동작을 수행한 후에, 읽기동작일 경우에는 읽기 데이터를 읽기 데이터 먹스(15)를 통하여 마스터(10-1~10-3)에게 전달하며, 읽기 데이터 먹스(15)는 어드레스 및 제어신호 먹스(13)의 출력중에서 어드레스 신호를 사용하여 슬레이브(11-1~11-3)중에 하나를 선택하는 디코더(16)에 의해서 제어된다.
그런데, 도 1과 같은 연결도에서 보면 버스 사용자인 마스터(10-1~10-3)들은 버스를 구성하는 하드웨어로부터 고유번호를 할당 받을 수 있는 자원이 존재하지 않으므로 각 마스터(10-1~10-3)가 고유번호를 유지할 수 없으며, 또한 각 마스터가 프로세서일 경우에는 부팅시에 상호 경쟁하게 되어 시스템 부팅 및 초기화에 대한 권한 설정이 불가능하다. 따라서 멀티프로세서 시스템 구현에 있어서 가장 기본적인 프로세서 고유번호 할당 및 순차적 부팅이 불가능한 문제점이 있다.
본 발명은 상기한 문제점을 해결하기 위하여 제안된 것으로, 복수개의 ARM 프로세서를 이용하여 AMBA버스 기반으로 멀티프로세서 시스템을 구성할 경우에 프로세서 고유번호를 할당하고 순차적인 부팅을 가능하게 하여 공유버스 기반형 멀티프로세서 시스템 구현을 용이하게 하며, 추후 멀티프로세서용 운영체제 탑재를 가능하게 하는 AMBA 버스 기반 멀티프로세서 시스템을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템은, 다수의 마스터들; 상기 마스터들과 다른 자원들이 연결되는 어드레스 및 제어신호선과, 읽기 데이터 신호선, 및 쓰기 데이터 신호선을 제공하는 버스; 상기 마스터로부터 버스 요구신호를 입력받아 버스 활성화 신호에 따라 내부 버스 요구신호를 발생하고, 이에 따라 각 버스 마스터의 버스 사용권 허가 여부를 제어하며, 버스 사용이 허락된 마스터의 버스사용자 번호를 출력하는 버스 중재기; 및 상기 버스 중재기에 버스 활성화 신호를 제공하고, 상기 버스 중재기로부터 버스 사용자 번호를 입력받아 저장하는 멀티프로세서 지원 슬레이브를 포함하는 것을 특징으로 한다.
그리고 상기 버스 중재기는 상기 마스터들로부터 입력되는 버스 요구신호와 상기 멀티프로세서 지원 슬레이브로부터 입력되는 버스 활성화신호를 논리곱 연산하여 내부 버스 요구신호를 발생하는 다수의 엔드게이트와, 상기 엔드게이트의 출력에 따라 버스 사용을 중재하여 해당 마스터에게 버스 사용 허락신호를 출력하고 버스 사용권을 획득한 마스터의 버스 사용자 번호를 제공하는 중재로직으로 구성되고, 상기 멀티프로세서 지원 슬레이브는, 상기 버스와 인터페이스하기 위한 버스 인터페이스부; 상기 버스 인터페이스부를 통해 입력된 주소를 해독하여 레지스터를 제어하기 위한 제어신호를 발생하는 주소 해독 및 레지스터 제어기; 상기 버스 활성화 신호를 제공하기 위한 버스 활성화 레지스터; 상기 버스 중재기로부터 버스 사용자 번호를 입력받아 저장하기 위한 버스 사용자 번호 레지스터; 및 마스터들이 레지스터 읽기를 요구하면, 상기 주소 해독 및 레지스터 제어기의 제어에 따라 해당 데이터를 상기 버스 인터페이스부를 통해 제공하기 위한 읽기 데이터용 먹스로 구성된다.
도 1은 종래의 AHB 기반형 버스 연결도,
도 2는 본 발명에 따른 중재기와 멀티프로세서 기능 지원 하드웨어를 사용하는 AHB 기반 멀티프로세서 시스템 구성도,
도 3은 본 발명에 따라 순차적 부팅을 지원하는 중재기를 도시한 구성 블럭도,
도 4는 본 발명에 따른 멀티프로세서 기능 지원 하드웨어 구성도,
도 5는 본 발명이 적용되는 AHB 기반형 버스의 기본 사이클을 도시한 타이밍도,
도 6은 본 발명이 적용되는 AHB 기반형 버스의 중재 사이클을 도시한 타이밍도.
* 도면의 주요부분에 대한 부호의 설명 *
210-1~210-3;프로세서 220-1,220-2;슬레이브
230;중재기 240;어드레스 및 제어 먹스
250;쓰기 데이터 먹스 260;읽기 데이터 먹스
270;디코더 280;멀티프로세서 지원 슬레이브
231~233;엔드게이트 235;중재로직
281;AHB버스 슬레이브 인터페이스 282;주소해독 및 레지스터제어기
283;버스 사용자번호 레지스터 284;버스활성화 레지스터
285;읽기 데이터용 먹스
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 2는 본 발명에 따른 중재기와 멀티프로세서 기능 지원 하드웨어를 사용하는 AHB 기반 멀티프로세서 시스템 구성도이다.
도 2를 참조하면, 본 발명이 적용된 AHB 기반 멀티프로세서 시스템은 버스 마스터(210-1~210-3)와, 슬레이브(220-1,220-2), 개선된 중재기(230), 어드레스 및 제어신호 먹스(240), 쓰기 데이터 신호 먹스(250), 읽기 데이터 신호 먹스(260), 디코더(270), 및 멀티프로세서 지원 슬레이브(280)로 이루어진다.
여기서, 각 마스터들(210-1~210-3)은 멀티프로세서를 구현하기 위한 CPU 코어들이고, 멀티프로세서 지원 슬레이브(280: MP Supporting slave)는 본 발명에 따라 멀티 프로세서 부팅을 지원하는 기능이 탑재된 개선된 슬레이브이며, 개선된 중재기(230)와 버스사용자번호(Bus_ID), 버스 활성화신호(Bus_enable)로 서로 연결된 것을 알 수 있다.
즉, 본 발명은 종래의 AHB기반 구조에서 프로세서 고유번호 할당 및 순차적 부팅 기능 지원을 위하여 본 발명에서는 중재기 기능을 개선한 개선된 중재기(230)와, 중재 기능 제한을 위한 제어 레지스터의 읽기 및 쓰기 기능을 지원하는 멀티프로세서 기능 지원 하드웨어(280)를 사용한다.
도 3은 본 발명에 따른 순차적 부팅을 지원하는 중재기를 도시한 구성 블럭도이다.
본 발명에 따른 중재기(230)는 기존의 EASY(AHB Example AMBA System)에서 사용하는 중재기를 개량한 것으로, 마스터 모듈(210-1~210-3)로부터 버스 사용 요청 신호(Bus_Req0~Bus_Reqn)을 수신하고, 멀티프로세서 기능 지원 하드웨어(280)로부터 버스 활성화 신호(Bus_en0~Bus_enn)를 수신한다. 버스 요청 신호와 버스 활성화 신호는 개선된 중재기 내부의 AND 게이트 로직(231,232, 233)을 통해서 내부에서 사용되는 버스 요청 신호를 발생한다.
이때 멀티프로세서 기능 지원 하드웨어(280)로부터 수신된 버스 활성화 신호(Bus_en0~Bus_enn)가 로직'0' 인 경우에는 해당 버스요청 신호(Bus_Req0~Bus_Reqn)가 로직'1' 로 구동되더라도 중재로직(235)으로 입력되는 버스 요청신호는 로직'0'으로 구동되어 버스 요청이 무시된다.
이와 같이 멀티프로세서 기능 지원 하드웨어(280)로부터 입력되는 버스 활성화 신호(Bus_en0~Bus_enn)을 사용하여 시스템의 초기 부팅 및 초기화시에 특정 버스 사용자만 버스 사용권을 허용하여 부트 프로세서(BSP)로 기능을 수행하게 하고, 부트 프로세서(BSP)의 부팅이 완료되면 멀티프로세서 기능 지원 하드웨어(280)의 버스 활성화 레지스터(도 4의 224)에 쓰기 동작을 수행하여 다른 버스 사용자들의 버스 사용을 순차적으로 활성화하여 순차적 부팅을 가능하게 한다.
개선된 중재기(230)는 또한 매 중재시점 마다 선택된 버스의 사용자 번호(Bus_Master_ID)를 멀티프로세서 기능 지원 하드웨어(280)에 전달하는 기능을 수행하고, 멀티프로세서 기능 지원 하드웨어(280)는 개선된 중재기(230)로부터 중재 결과를 수신하여 버스 사용자 번호 레지스터(도4의 223)에 저장하게 된다.
도 4는 본 발명에 따른 멀티프로세서 기능 지원 하드웨어 구성도이다. 도 4를 참조하면, 멀티프로세서 기능 지원 하드웨어(280)는 AHB 버스 슬레이브 인터페이스(281), 주소해독 및 레지스터 제어기(282), 읽기 데이터용 먹스(285), 버스 활성화 레지스터(284)와 버스 사용자 번호 레지스터(283)로 구성된다.
AHB버스 슬레이브 인터페이스 로직(281)은 주소및 제어신호 (Address & Control), 쓰기 데이터 신호(Wdata), 그리고 읽기 데이터 신호(Rdata)를 사용하여 AHB 버스 프로토콜에 따라 읽기 및 쓰기 요청을 수신하고 응답하는 로직으로서 EASY의 슬레이브용 인터페이스와 동일하다. 셀렉트신호(Select)는 어드레스 맵에 따라 AMBA버스 디코더(270)로부터 수신되는 슬레이브 선택 신호이며, 현재 버스에 구동되는 주소가 멀티프로세서 기능 지원 하드웨어(280)를 지정할 경우 디코더(270)에 의해서 로직'1'로 구동된다.
주소해독 및 레지스터 제어기(282)는 수신된 주소 정보와 버스 제어 신호를 사용하여 내부의 버스 활성화 레지스터(284)와 버스 사용자 번호 레지스터(283)의 읽기 및 쓰기 제어 신호를 생성하고, 주소해독을 통하여 읽기 데이터용 먹스(285)를 제어한다.
버스 활성화 레지스터(284)는 마스터(210-1~210-3)에 의해서 읽기 및 쓰기가 가능한 레지스터로, 각 비트는 버스 사용자별로 활성화 마스크 신호로 사용된다. 버스 활성화 레지스터(284)의 내용은 각 버스 마스터의 버스 활성화 신호(Bus_en0~Bus_enn)로 개선된 중재기(230)로 전달되어 버스 사용권의 활성화 여부를 나타내게 된다.
버스 활성화 레지스터(284)는 리셋후 초기값은 최하위 비트만 로직'1'로 설정되고 나머지는 모두 로직'0'로 초기화되며, 따라서 버스 활성화 신호(Bus_en0~Bus_enn)중 버스 사용자 0번에게만 버스 사용권이 주어지게 된다. 따라서 버스 사용자 0번에 연결된 프로세서는 버스를 독점적으로 사용하며, 부팅 및 시스템 초기화를 수행한 후에, 쓰기 동작을 통하여 버스 활성화 레지스터(284)의 최하위 비트를 제외한 다른 상위 비트들을 순차적으로 로직'1'로 셋팅하여 다른 프로세서들에게 순차적으로 버스 사용권을 허가하여 멀티프로세서의 순차적 부팅을 가능하게 한다.
버스 사용자 번호 레지스터(283)는 디코더(270)로부터 수신된 셀렉트 신호(Select)가 로직'1'일 때 개선된 버스 중재기(230)로부터 수신된 버스 사용자 번호(Bus_Master_ID)를 래치하는 기능을 수행한다. 특정 버스 마스터가 읽기 동작으로 버스 사용자 번호 레지스터(283)에 대한 읽기를 수행하면, 디코더(270)는 멀티프로세서 기능 지원 하드웨어(280)로 셀렉트 신호(Select)를 로직'1'로 구동하게 되고, 멀티프로세서 기능 지원 하드웨어(280)의 AHB 슬레이브 인터페이스 로직(281)은 읽기 요청을 수신하게 된다.
셀렉트 신호(Select)가 로직'1'로 구동됨에 따라 버스 사용자 번호 레지스터(283)는 개선된 중재기(230)로부터 수신된 버스 사용자 번호(Bus_Master_ID)를 래치하게 되고, 래치된 내용을 읽기 데이터용 먹스(285)를 통하여 응답하게 된다. 따라서 특정 마스터는 버스 사용자 번호 레지스터(283)에 대한 읽기 동작을 수행함으로서 자연스럽게 자신의 버스 사용자 번호를 인지할 수있게 되며, 이를 프로세서 고유번호로 사용할 수 있다.
도 5는 본 발명이 적용되는 AHB기반형 버스의 기본 사이클을 도시한 타이밍도이다.
도면을 참조하면, 하나의 버스 사이클은 어드레스 기간(Address phase)과 데이터 기간(Data phase)으로 이루어지고, 어드레스 기간에서 동작의 대상이 되는 어드레스(ADDR[31:0])와 제어신호(Control)가 활성화된 후 데이터 기간에서 쓰기 데이터(WDATA[31:0])나 읽기 데이터(RDATA[31:0])가 활성화되는 것을 알 수 있다. 이때 읽기 동작일 경우 데이터를 제공할 장치는 레디(READY)신호를 통해 데이터가 준비된 것을 알려준다.
도 6은 본 발명이 적용되는 AHB 기반형 버스에서 중재 사이클을 도시한 타이밍도이다.
도면을 참조하면, 버스를 사용할 마스터(210-1~210-3)는 중재기(230)에 버스 사용을 요청하는 버스 사용 요청신호(BUSREQx)를 활성화시키고, 이에 따라 중재기(230)는 소정 알고리즘에 따라 중재한 후 해당 마스터에게 버스 사용허락신호(GRANTx)를 활성화한다. 이에 따라 해당 마스터는 버스 사용권을 획득하여 읽기 혹은 쓰기 동작을 수행하게 된다.
이상에서 설명한 바와 같이, 본 발명에 따르면 복수개의 ARM 프로세서를 사용하는 SoC 설계에서 AMBA버스 기반형 멀티프로세서 시스템 구현을 위하여, 각 프로세서에게 고유번호를 할당하고 또한 순차적 부팅을 지원할 수 있다. 본 발명은 AMBA버스를 연결매체로 하여 복수개의 ARM코어를 이용한 공유버스 기반형 멀티프로세서 시스템 구현을 용이하게 하며, 추후 멀티프로세서용 운영체제 탑재를 가능하게 하는 효과가 있다.
이상에서 설명한 것은 본 발명에 따른 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템을 설명한 하나의 실시 예에 불과한 것으로써, 본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허 청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 사상이 미친다고 할 것이다.

Claims (5)

  1. 다수의 마스터들;
    상기 마스터들과 다른 자원들이 연결되는 어드레스 및 제어신호선과, 읽기 데이터 신호선, 및 쓰기 데이터 신호선을 제공하는 버스;
    상기 마스터로부터 버스 요구신호를 입력받아 버스 활성화 신호에 따라 내부 버스 요구신호를 발생하고, 이에 따라 각 버스 마스터의 버스 사용권 허가 여부를 제어하며, 버스 사용이 허락된 마스터의 버스사용자 번호를 출력하는 버스 중재기; 및
    상기 버스 중재기에 버스 활성화 신호를 제공하고, 상기 버스 중재기로부터 버스 사용자 번호를 입력받아 저장하는 멀티프로세서 지원 슬레이브;
    를 포함하는 것을 특징으로 하는 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템.
  2. 제 1항에 있어서, 상기 버스 중재기는,
    상기 마스터들로부터 입력되는 버스 요구신호와 상기 멀티프로세서 지원 슬레이브로부터 입력되는 버스 활성화신호를 논리곱 연산하여 내부 버스 요구신호를 발생하는 다수의 엔드게이트와, 상기 엔드게이트의 출력에 따라 버스 사용을 중재하여 해당 마스터에게 버스 사용 허락신호를 출력하고 버스 사용권을 획득한 마스터의 버스 사용자 번호를 제공하는 중재로직으로 구성된 것을 특징으로 하는 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템.
  3. 제 1항에 있어서, 상기 멀티프로세서 지원 슬레이브는,
    상기 버스와 인터페이스하기 위한 버스 인터페이스부;
    상기 버스 인터페이스부를 통해 입력된 주소를 해독하여 레지스터를 제어하기 위한 제어신호를 발생하는 주소 해독 및 레지스터 제어기;
    상기 버스 활성화 신호를 제공하기 위한 버스 활성화 레지스터;
    상기 버스 중재기로부터 버스 사용자 번호를 입력받아 저장하기 위한 버스 사용자 번호 레지스터; 및
    마스터들이 레지스터 읽기를 요구하면, 상기 주소 해독 및 레지스터 제어기의 제어에 따라 해당 데이터를 상기 버스 인터페이스부를 통해 제공하기 위한 읽기 데이터용 먹스;로 구성된 것을 특징으로 하는 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템.
  4. 제 3항에 있어서, 상기 버스 활성화 레스터의 내용을 리셋 초기화값으로 특정 비트만 로직'1'로 하고 나머지는 로직'0'로 하여, 특정 프로세서가 연결된 버스마스터에 대한 독점적 허가를 제공하고, 독점적 허가를 받은 프로세서가 부트 프로세서로서 부팅 및 시스템 초기화를 수행한 후에, 순차적으로 버스 활성화 레지스터의 특정 비트를 로직'1'으로 셋팅하여 다른 프로세서들에게 순차적으로 버스 사용을 허가하며, 이에 따라 각 프로세서들이 순차적으로 부팅되는 것을 특징으로 하는 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템.
  5. 제 3항에서, 상기 멀티프로세서 시스템은,
    특정 프로세서가 상기 버스 사용자 번호 저장 레지스터에 대한 읽기 동작을 통하여 버스 사용자 번호를 취득하고, 상기 버스 사용자 번호를 프로세서 고유번호로 할당하여 프로세서간 통신 및 기타 멀티프로세서용 프로그램 개발에 사용하는 것을 특징으로 하는 프로세서 번호 할당 및 순차적 부팅이 가능한 에이엠비에이 버스 기반 멀티프로세서 시스템.
KR10-2002-0082895A 2002-12-23 2002-12-23 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템 KR100452325B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082895A KR100452325B1 (ko) 2002-12-23 2002-12-23 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082895A KR100452325B1 (ko) 2002-12-23 2002-12-23 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템

Publications (2)

Publication Number Publication Date
KR20040056293A true KR20040056293A (ko) 2004-06-30
KR100452325B1 KR100452325B1 (ko) 2004-10-12

Family

ID=37348690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082895A KR100452325B1 (ko) 2002-12-23 2002-12-23 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템

Country Status (1)

Country Link
KR (1) KR100452325B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070099834A (ko) * 2006-04-05 2007-10-10 엘지전자 주식회사 Amba ahb의 버스 트래픽 감소 장치 및 감소 방법
KR101226389B1 (ko) * 2005-11-10 2013-01-24 삼성전자주식회사 시스템 온 칩에서의 독점 접근 제어 방법 및 시스템
US8819310B2 (en) 2010-10-19 2014-08-26 Samsung Electronics Co., Ltd. System-on-chip and data arbitration method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101121641B1 (ko) 2006-07-03 2012-04-16 엘지전자 주식회사 시스템 동작 제어 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101226389B1 (ko) * 2005-11-10 2013-01-24 삼성전자주식회사 시스템 온 칩에서의 독점 접근 제어 방법 및 시스템
KR20070099834A (ko) * 2006-04-05 2007-10-10 엘지전자 주식회사 Amba ahb의 버스 트래픽 감소 장치 및 감소 방법
US8819310B2 (en) 2010-10-19 2014-08-26 Samsung Electronics Co., Ltd. System-on-chip and data arbitration method thereof

Also Published As

Publication number Publication date
KR100452325B1 (ko) 2004-10-12

Similar Documents

Publication Publication Date Title
KR0185966B1 (ko) 복식 프로세서 시스템의 프로세서 및 캐시 제어기의 독립 리세팅 장치 및 방법
US7062587B2 (en) Unidirectional bus architecture for SoC applications
US7958298B2 (en) System and method for providing address decode and virtual function (VF) migration support in a peripheral component interconnect express (PCIE) multi-root input/output virtualization (IOV) environment
JP5241737B2 (ja) プロセッサ・システムにおいて命令レベルでのリソース割り当ての識別を可能にする方法および装置
JP5137171B2 (ja) データ処理装置
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
JPH11513150A (ja) Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
JP4562107B2 (ja) 複数の仮想ダイレクトメモリアクセスチャネルをサポートするためのダイレクトメモリアクセスエンジン
EP0595960A4 (en) Computer workstation expansion chassis
US6601130B1 (en) Memory interface unit with programmable strobes to select different memory devices
KR950008231B1 (ko) 퍼스널 컴퓨터 시스템
US5859987A (en) Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
JP2001043180A (ja) マイクロプロセッサおよびそのための記憶装置
JP2010055440A (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
US7006521B2 (en) External bus arbitration technique for multicore DSP device
KR100452325B1 (ko) 프로세서 번호 할당 및 순차적 부팅이 가능한에이엠비에이 버스 기반 멀티프로세서 시스템
KR950008229B1 (ko) 퍼스널 컴퓨터 시스템
JP2854474B2 (ja) バス使用要求調停装置
JPH0954748A (ja) コンピュータシステムおよびこのシステムに設けられるdmaコントローラ
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
US5799160A (en) Circuit and method for controlling bus arbitration
Nadir et al. Bus arbiter streamlines multiprocessor design
JP2593935B2 (ja) ダイレクトメモリアクセス装置
JPH1083373A (ja) プログラマブルコントローラ
JPH11212903A (ja) データ処理システム、周辺装置及びマイクロコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20081001

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee