KR100455396B1 - 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법. - Google Patents

마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법. Download PDF

Info

Publication number
KR100455396B1
KR100455396B1 KR10-2002-0062571A KR20020062571A KR100455396B1 KR 100455396 B1 KR100455396 B1 KR 100455396B1 KR 20020062571 A KR20020062571 A KR 20020062571A KR 100455396 B1 KR100455396 B1 KR 100455396B1
Authority
KR
South Korea
Prior art keywords
short
term
reference time
parameter
term reference
Prior art date
Application number
KR10-2002-0062571A
Other languages
English (en)
Other versions
KR20040033472A (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-0062571A priority Critical patent/KR100455396B1/ko
Priority to TW092126302A priority patent/TWI243327B/zh
Priority to US10/677,666 priority patent/US7028121B2/en
Priority to JP2003352627A priority patent/JP4425598B2/ja
Priority to CNB2003101010892A priority patent/CN100341011C/zh
Publication of KR20040033472A publication Critical patent/KR20040033472A/ko
Application granted granted Critical
Publication of KR100455396B1 publication Critical patent/KR100455396B1/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/16Handling requests for interconnection or transfer for access to memory 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

마스터 블록들의 우선 순위를 결정하는 파라미터 발생 회로 및 파라미터 발생 방법이 개시된다. 본 발명에 따른 중재 파라미터 발생 회로는 카운터, 단기 중재 파라미터 저장부, 단기 기준 시간 측정부, 장기 중재 파라미터 제어부 및 장기 기준 시간 측정부를 구비하는 것을 특징으로 한다. 카운터는 마스터 블록이 시스템 버스를 사용하기 위하여 발생하는 요청 신호 및 중재기가 상기 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호를 수신하고, 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하며, 소정의 단기 기준 시간 신호에 응답하여 리셋 된다. 단기 중재 파라미터 저장부는 상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 중재 파라미터로서 수신하여 저장한다. 장기 중재 파라미터 제어부는 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 된다.
본 발명에 따른 파라미터 발생 회로 및 파라미터 발생 방법은 중재기의 우선 순위나 점유 값을 프로그래밍 하는데 기준이 되는 파라미터를 실시간으로 제공하여 복수개의 마스터 블록들을 구비하는 시스템 온 칩(SOC)이 시스템 버스를 적절하게 사용할 수 있도록 하는 장점이 있다.

Description

마스터 블록들의 우선 순위를 결정하는 파라미터 발생 회로 및 파라미터 발생 방법.{Parameter generating circuit for deciding the priority of master blocks and method there of}
본 발명은 파라미터 발생 회로 및 파라미터 발생 방법에 관한 것으로서, 특히 시스템 버스를 통하여 데이터를 전송하는 복수개의 마스터 블록들 간의 시스템 버스 사용에 관한 우선 순위를 결정하는 파라미터 발생 회로 및 파라미터 발생 방법에 관한 것이다.
칩에 집적되는 시스템의 규모가 커짐에 따라 칩에 포함되는 마스터 블록(master block)의 개수가 많아지고 있어 시스템 버스(system bus)의 효율 적인 점유 및 연결 방식에 대하여 많은 연구가 진행되고 있다.
현재 많은 블록들이 집적된 하나의 칩은 다양한 기능들을 포함하고 있으며 다양한 분야에서 널리 이용되기 때문에, 칩이 사용되는 영역에 따라 주로 사용되는 블록과 마스터 사이의 중재 우선 순위(arbitration priority)등이 다르게 적용될 필요가 있다.
이에 따라 중재 설계(arbitration scheme)에서도 종래의 고정 우선순위(fixed priority)방식에서 벗어나 회전 우선 순위(rotating priority), 라운드 로빙 우선 순위(round-robin priority) 등이 개발되었고 최근에는 우선 순위를 각 마스터 블록마다 융통성(flexible) 있게 프로그래밍 할 수 있는 프로그래머블 고정 우선 순위(programmable fixed priority) 방식이 개발되어 마스터블록이 사용되는 응용 분야(application filed)에 따라 효율적인 중재 설계(arbitration scheme)를 제공하는 단계에까지 이르렀다.
그러나, 프로그래머블 고정 우선 순위(programmable fixed priority)가 구현된 칩을 이용하는 경우 칩을 테스트하면서 시행 착오(trial and error)를 통해 적절한 우선 순위를 설정할 수밖에 없고, 또한 특정 응용 분야에 사용되는 칩이라 하더라도 다양한 마스터 블록들이 실장 되어 있기 때문에 경우에 따라 특정 마스터블록의 데이터 전송이 집중적으로 이루어졌다가 다시 해소되거나 하는 일들이 빈번하게 발생될 수 있다.
이런 경우에는 적절한 우선 순위를 결정했다고 하더라도 변화되는 상황에 적절하게 대응하지 못함으로써 특정 마스터 블록에서 장애(starvation)가 발생해 효율적인 버스운영에 문제가 생긴다.
도 1은 일반적인 시스템 온 칩(SOC)을 나타내는 블록도이다.
도 1을 참조하면, 일반적인 시스템 온 칩(SOC)(100)은 복수개의 마스터 블록들(120 ~ 170)과 슬레이브 블록(180)을 구비한다. 그리고 마스터 블록들(120 ~ 170)이 시스템 버스(110)를 점유하는 것을 중재하기 위한 시스템 버스 중재기(190)가 필요하다.
도 1에서, GDMA(General Purpose Direct Memory Access)(150), PCI(Peripheral Component Interconnect) Host(140), USB(Universal Serial Bus) host(170), Ethernet MAC(Media Access Control)(120), SAR(segmentation and reassembly)(160), CPU(Central Processing Unit)(130) 가 마스터 블록이고, 메모리 컨트롤러(180)가 슬레이브 블록이다.
마스터 블록들(120 ~ 170)은 시스템 버스(110)를 통하여 데이터 전송(data transfer)이 필요할 때마다 시스템 버스 중재기(190)에 시스템 버스(110)를 사용하기를 원한다는 요청 신호를 출력하고, 시스템 버스 중재기(190)의 중재가 끝난 후 시스템 버스 중재기(190)로부터 허여 신호를 받음과 동시에 시스템 버스(110)의 소유권을 획득한다.
이때 시스템 버스(110)는 일반적으로 하나이기 때문에 하나의 마스터 블록만이 시스템 버스(110)를 사용하게 된다. 그러므로 시스템 버스(110)에 많은 마스터 블록들(120 ~ 170)이 연결되면 각 마스터 블록마다 시스템 버스(110)를 점유하기 위하여 요청 신호를 출력하게 되고, 시스템 버스 중재기(190)는 마스터 블록들(120 ~ 170)의 우선 순위(priority)에 따라 허여 신호를 출력하여 시스템 버스(110)의 사용권한을 부여한다.
이 때 시스템 온 칩(100)이 사용되는 분야에 따라 주로 사용되는 마스터블록이 달라지며, 각 분야마다 효율적인 시스템 버스(110)의 사용을 위해서는 시스템 버스 중재기(190)의 중재 방식이 중요하다.
그러므로 우선 순위나 시스템 버스의 점유를 프로그래밍 하여 조절할 수 있는 시스템 버스 중재기(190)가 사용되면 효율 적인 시스템 버스(110) 환경을 제공할 수 있다.
그러나, 프로그래밍 가능한 시스템 버스 중재기(190)를 이용하더라도 적절한 우선 순위나 점유 값을 사용하지 못한다면, 효율적인 시스템 버스(110)의 운영이 될 수 없다. 결국 최적화된 우선 순위나 점유 값을 찾기 위해서는 실제 테스트에서 시행착오를 통한 실험으로 우선 순위나 점유 값을 찾을 수밖에 없고, 적절한 값을 찾았다고 하더라도 문제가 해결되는 것은 아니다.
예를 들어 도 1의 시스템 온 칩(100)이 홈 게이트 웨이(home gateway) 분야에 사용되는 경우, 상황에 따라 USB Host(170)를 이용한 데이터 전송이 많이 이루어지다가, UBS Host(170)의 데이터 전송이 적어지고 PCI Host(140)나 SAR(160)과 같은 마스터 블록의 데이터 전송이 많아 질 수도 있다.
결국 시스템 온 칩(100)이 한 응용 분야에 적용된다 하더라도 상황에 따라 데이터 전송을 요구하는 마스터 블록이 달라진다. 그러므로 시스템 버스 중재기(190)의 특정한 우선 순위나 점유 값은 마스터 블록들의 데이터 전송 환경이 달라 질 경우 최적의 시스템 버스 사용 환경을 제공하지 못하는 문제가 있다.
본 발명이 이루고자하는 기술적 과제는 실시간으로 시스템 버스 중재기의 우선 순위와 점유 값을 프로그래밍 하는데 기준이 되는 파라미터를 제공하는 파라미터 발생 회로를 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 실시간으로 시스템 버스 중재기의 우선 순위와 점유 값을 프로그래밍 하는데 기준이 되는 파라미터를 제공하는 파라미터 발생 방법을 제공하는데 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 시스템 온 칩(SOC)을 나타내는 블록도이다.
도 2는 본 발명의 단기 중재 파라미터 및 단기 버스 이용 파라미터를 발생시키는 동작을 설명하는 타이밍도이다.
도 3은 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 회로를 나타내는 블록도이다.
도 4는 단기 기준 시간 및 장기 기준 시간을 설명하기 위한 도면이다.
도 5는 본 발명의 제 2 실시예에 따른 버스 이용 파라미터 발생 회로를 나타내는 블록도이다.
도 6은 본 발명의 제 3 실시예에 따른 시스템 온 칩을 나타내는 블록도이다.
도 7은 다른 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 방법을 나타내는 플로우 차트이다.
도 8은 도 7의 720 단계를 좀더 설명하는 도면이다.
도 9는 도 7의 740 단계를 좀더 설명하는 도면이다.
도 10은 다른 기술적 과제를 달성하기 위한 본 발명의 제 2 실시예에 따른 버스 이용 파라미터 발생 방법을 나타내는 플로우 차트이다.
도 11은 도 10의 1020 단계를 좀더 설명하는 도면이다.
도 12는 도 10의 1040 단계를 좀더 설명하는 도면이다.
상기 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 회로는 카운터, 단기 중재 파라미터 저장부, 단기 기준 시간 측정부, 장기 중재 파라미터 제어부 및 장기 기준 시간 측정부를 구비하는 것을 특징으로 한다.
카운터는 마스터 블록이 시스템 버스를 사용하기 위하여 발생하는 요청 신호 및 중재기가 상기 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호를 수신하고, 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하며, 소정의 단기 기준 시간 신호에 응답하여 리셋 된다.
단기 중재 파라미터 저장부는 상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 중재 파라미터로서 수신하여 저장한다.
단기 기준 시간 측정부는 클럭 신호에 응답하여 상기 단기 중재 파라미터가 상기 단기 중재 파라미터 저장부에 저장되는 시간 구간을 표시하는 단기 기준 시간이 경과할 때마다 상기 단기 기준 시간 신호를 발생한다.
장기 중재 파라미터 제어부는 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋된다.
장기 기준 시간 측정부는 상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과될 때마다 상기 장기 기준 시간 신호를 발생한다.
상기 장기 중재 파라미터 제어부는 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 연속하여 누적시키는 덧셈기, 상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 및 상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 중재 파라미터로서 저장하는 장기 중재 파라미터 저장부를 구비한다.
상기 장기 기준 시간 측정부는 상기 단기 기준 시간 신호의 발생 횟수를 카운팅 하며 상기 장기 기준 시간 신호에 응답하여 리셋 되는 장기 카운터 및 상기 장기 중재 파라미터가 상기 장기 중재 파라미터 저장부에 저장되는 시간을 장기 기준 시간으로서 미리 저장하고, 상기 장기 카운터의 출력이 상기 장기 기준 시간에 도달하면 상기 장기 기준 시간 신호를 발생하는 장기 비교부를 구비한다.
상기 장기 기준 시간 신호는 상기 단기 기준 시간 신호가 발생되는 시간에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 n은, 상기 덧셈기의 비트 폭(bit width)이며, 여기서 p는, 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터의 비트 수인 것을 특징으로 한다.
상기 단기 기준 시간 측정부는 상기 클럭 신호를 카운팅 하며 상기 단기 기준 시간 신호에 응답하여 리셋 되는 단기 카운터 및 상기 단기 중재 파라미터가 상기 단기 중재 파라미터 저장부에 저장되는 시간을 단기 기준 시간으로서 미리 저장하고, 상기 단기 카운터의 출력이 상기 단기 기준 시간에 도달하면 상기 단기 기준 시간 신호를 발생하는 단기 비교부를 구비한다.
상기 단기 기준 시간 신호는 상기 클럭 신호의 주기에 2m을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 m 은 상기 단기 카운터의 비트 폭(bit-width)인 것을 특징으로 한다.
상기 단기 중재 파라미터는 상기 요청 신호가 제 1 레벨로 발생되는 횟수에서 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 뺀 값인 것을 특징으로 한다. 상기 단기 중재 파라미터는 상기 카운터의 출력 중 상위 p 비트만이 선택된 것인 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 제 2 실시예에 따른 버스 이용 파라미터 발생 회로는 카운터, 단기 버스 이용 파라미터 저장부, 단기 기준 시간 측정부, 장기 버스 이용 파라미터 제어부 및 장기 기준 시간 측정부를 구비한다.
카운터는 데이터가 시스템 버스를 통하여 전송되는 동안 클럭 신호에 응답하여 업 카운팅을 하고, 소정의 단기 기준 시간 신호에 응답하여 리셋 된다.
단기 버스 이용 파라미터 저장부는 상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 버스 이용 파라미터로서 수신하여 저장한다.
단기 기준 시간 측정부는 상기 클럭 신호에 응답하여 상기 단기 버스 이용 파라미터가 상기 단기 버스 이용 파라미터 저장부에 저장되는 시간 구간을 표시하는 단기 기준 시간이 경과할 때마다 상기 단기 기준 시간 신호를 발생한다.
장기 버스 이용 파라미터 제어부는 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 버스 이용 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 된다.
장기 기준 시간 측정부는 상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과될 때마다 상기 장기 기준 시간 신호를 발생한다.
상기 장기 버스 이용 파라미터 제어부는 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 연속하여 누적시키는 덧셈기, 상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 및 상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 버스 이용 파라미터로서 저장하는 장기 버스 이용 파라미터 저장부를 구비하는 것을 특징으로 한다.
상기 장기 기준 시간 측정부는 상기 단기 기준 시간 신호의 발생 횟수를 카운팅 하며 상기 장기 기준 시간 신호에 응답하여 리셋 되는 장기 카운터 및 상기 장기 버스 이용 파라미터가 상기 장기 버스 이용 파라미터 저장부에 저장되는 시간을 장기 기준 시간으로서 미리 저장하고, 상기 장기 카운터의 출력이 상기 장기 기준 시간에 도달하면 상기 장기 기준 시간 신호를 발생하는 장기 비교부를 구비한다.
상기 장기 기준 시간 신호는 상기 단기 기준 시간 신호가 발생되는 시간에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 n은, 상기 덧셈기의 비트 폭(bit width)이며, 여기서 p는, 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터의 비트 수인 것을 특징으로 한다.
상기 단기 기준 시간 측정부는 상기 클럭 신호를 카운팅 하며 상기 단기 기준 시간 신호에 응답하여 리셋 되는 단기 카운터 및 상기 단기 버스 이용 파라미터가 상기 단기 버스 이용 파라미터 저장부에 저장되는 시간을 단기 기준 시간으로서 미리 저장하고, 상기 단기 카운터의 출력이 상기 단기 기준 시간에 도달하면 상기 단기 기준 시간 신호를 발생하는 단기 비교부를 구비하는 것을 특징으로 한다.
상기 단기 기준 시간 신호는 상기 클럭 신호의 주기에 2m을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 m 은 상기 단기 카운터의 비트 폭(bit-width)인 것을 특징으로 한다. 상기 단기 버스 이용 파라미터는 상기 시스템 버스를 통하여 데이터 전송이 이루어지는 총 횟수인 것을 특징으로 한다.
상기 단기 버스 이용 파라미터는 상기 카운터의 출력 중 상위 p 비트만이 선택된 것인 것을 특징으로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 제 3 실시예에 따른 시스템 버스, 상기 시스템 버스를 통하여 데이터를 전송하는 제 1 내지 제 N 마스터 블록들 및 상기 마스터 블록들의 상기 시스템 버스 이용을 제어하는 중재기를 구비하는 시스템 온 칩은 버스 이용 파라미터 제어 회로, 단기 기준 시간 측정부, 장기 기준 시간 측정부를 구비하고, 상기 제 1 내지 제 N 마스터 블록들은 각각 중재 파라미터 제어 회로를 구비한다.
버스 이용 파라미터 제어 회로는 소정의 단기 기준 시간 신호에 응답하고 상기 시스템 버스를 통하여 상기 데이터가 전송되는 회수를 소정의 단기 기준 시간 동안 측정하여 상기 측정된 값을 단기 버스 이용 파라미터로서 발생하고, 소정의 장기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터가 소정의 장기 기준 시간 동안 누적된 값을 장기 버스 이용 파라미터로서 발생한다.
단기 기준 시간 측정부는 클럭 신호에 응답하여 상기 단기 기준 시간마다 발생되는 상기 단기 기준 시간 신호를 발생한다. 장기 기준 시간 측정부는 상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과될 때마다 상기 장기 기준 시간 신호를 발생한다.
상기 제 1 내지 제 N 마스터 블록들은 각각 상기 마스터 블록이 상기 시스템 버스를 사용하기 위하여 발생하는 요청 신호 및 상기 중재기가 상기 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호를 수신하고, 상기 단기 기준 시간 신호에 응답하여 상기 요청 신호 및 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 카운팅하여 단기 중재 파라미터를 발생하고, 상기 장기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 발생하는 중재 파라미터 제어 회로를 구비한다.
상기 버스 이용 파라미터 제어 회로는 상기 데이터가 상기 시스템 버스를 통하여 전송되는 동안 상기 클럭 신호에 응답하여 업 카운팅을 하고, 상기 단기 기준 시간 신호에 응답하여 리셋 되는 버스 카운터, 상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 수신하여 저장하는 단기 버스 이용 파라미터 저장부 및 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 버스 이용 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 상기 장기 버스 이용 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 버스 이용 파라미터 제어부를 구비하는 것을 특징으로 한다.
상기 장기 버스 이용 파라미터 제어부는 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 연속하여 누적시키는 버스 덧셈기, 상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 버스 레지스터 및 상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 버스 이용 파라미터로서 저장하는 장기 버스 이용 파라미터 저장부를 구비하는 것을 특징으로 한다.
상기 중재 파라미터 제어 회로는 상기 요청 신호 및 상기 허여 신호를 수신하고, 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하며, 소정의 단기 기준 시간 신호에 응답하여 리셋 되는 카운터, 상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 중재 파라미터로서 수신하여 저장하는 단기 중재 파라미터저장부 및 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 중재 파라미터 제어부를 구비한다.
상기 장기 중재 파라미터 제어부는 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 연속하여 누적시키는 덧셈기, 상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 및 상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 중재 파라미터로서 저장하는 장기 중재 파라미터 저장부를 구비하는 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 방법은, 시스템 버스를 통하여 데이터를 전송하는 마스터 블록들의 우선 순위를 결정하는 중재 파라미터 발생 방법에 있어서, (a)클럭 신호에 응답하여 소정의 단기 중재 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생하는 단계, (b)상기 시스템 버스의 사용을 요구하는 요청 신호 및 상기 시스템 버스의 사용을 허락하는 허여 신호를 수신하고, 상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 발생하는 단계, (c)상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생하는 단계 및 (d)상기 장기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 한다.
상기 (b) 단계는 (b1) 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하여 카운팅 된 값을 상기 단기 중재 파라미터로서 출력하는 단계 및 (b2)상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 상기 요청 신호 및 상기 허여 신호의 논리 레벨에 따라 카운팅하는 단계를 구비하는 것을 특징으로 한다.
상기 단기 중재 파라미터는 상기 요청 신호가 제 1 레벨로 발생되는 횟수에서 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 뺀 값인 것을 특징으로 한다.
상기 (d) 단계는 (d1) 상기 단기 중재 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 중재 파라미터로서 출력하는 단계 및 (d2) 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 중재 파라미터를 누적시켜 상기 장기 중재 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 한다.
상기 단기 기준 시간 신호는 상기 장기 기준 시간 신호보다 짧은 시간마다 발생되는 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 버스 이용 파라미터 발생 방법은, 시스템 버스를 통하여 데이터를 전송하는 마스터 블록들의 우선 순위를 결정하는 버스 이용 파라미터 발생 방법에 있어서, (a)클럭 신호에 응답하여 소정의 단기 버스 이용 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생하는 단계, (b)상기 클럭 신호 및 상기 단기 기준 시간 신호에 응답하여 데이터가 상기 시스템 버스를 통하여 전송될 때마다 업 카운팅을 하여 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력하는 단계, (c)상기 단기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생하는 단계 및 (d)상기 장기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 버스 이용 파라미터로서 출력하는 단계를 구비한다.
상기 (b) 단계는 (b1) 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅을 하고 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력하는 단계 및 (b2)상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅 하는 단계를 구비한다.
상기 단기 버스 이용 파라미터는 상기 시스템 버스를 통하여 데이터 전송이 이루어지는 총 횟수인 것을 특징으로 한다.
상기 (d) 단계는 (d1) 상기 단기 버스 이용 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 버스 이용 파라미터로서 출력하는 단계 및 (d2) 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 버스 이용 파라미터를 누적시켜 상기 장기 버스 이용 파라미터로서 출력하는 단계를 구비한다.
상기 단기 기준 시간 신호는 상기 장기 기준 시간 신호보다 짧은 시간마다 발생되는 것을 특징으로 한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 본 발명의 단기 중재 파라미터 및 단기 버스 이용 파라미터를 발생시키는 동작을 설명하는 타이밍도이다.
도 2는 도 3의 중재 파라미터 발생 회로(300) 및 도 4의 버스 이용 파라미터 발생 회로(400)의 동작과 함께 설명하기로 한다.
도 3은 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 회로를 나타내는 블록도이다.
도 3을 참조하면, 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 회로(300)는 카운터(305), 단기 중재 파라미터 저장부(310), 단기 기준 시간 측정부(315), 장기 중재 파라미터 제어부(330) 및 장기 기준 시간 측정부(350)를 구비한다.
도 3의 중재 파라미터 발생 회로는(300)의 동작은 도 7내 도 9의 중재 파라미터 발생 방법에 대응되므로 함께 설명한다.
도 7은 다른 기술적 과제를 달성하기 위한 본 발명의 제 1 실시예에 따른 중재 파라미터 발생 방법을 나타내는 플로우 차트이다.
도 7은 도 7의 720 단계를 좀더 설명하는 도면이다.
도 8은 도 7의 720 단계를 좀더 설명하는 도면이다.
도 9는 도 7의 740 단계를 좀더 설명하는 도면이다.
클럭 신호에 응답하여 소정의 단기 중재 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생한다.(710 단계)
단기 기준 시간 측정부(315)는 클럭 신호(HCLK)에 응답하여 단기 중재 파라미터(SAP)가 소정의 단기 중재 파라미터 저장부(310) 에 저장되는 시간 구간을 표시하는 단기 기준 시간이 경과할 때마다 단기 기준 시간 신호(SREFT)를 발생한다.
클럭 신호(HCLK)는 중재 파라미터 발생 회로(300)가 실장 될 시스템 온 칩(미도시)의 시스템 클럭이다.
시스템 버스의 사용을 요구하는 요청 신호 및 시스템 버스의 사용을 허락하는 허여 신호를 수신하고, 상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 발생한다.(720 단계)
좀더 설명하면, 상기 720 단계는 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하여 카운팅 된 값을 상기 단기 중재 파라미터로서 출력하는 단계(810 단계)와 상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 상기 요청 신호 및 상기 허여 신호의 논리 레벨에 따라 카운팅 하는 단계(820 단계)를 구비한다.
720 단계의 동작은 도 3의 카운터(305) 및 단기 중재 파리미터 저장부(310)의 동작에 대응된다. 카운터(305)는 마스터 블록이 시스템 버스를 사용하기 위하여 발생하는 요청 신호(REQ) 및 중재기가 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호(GRA)를 수신하고, 요청 신호(REQ)가 제1 레벨일 경우 업 카운팅을 하고 허여 신호(GRA)가 제 1 레벨일 경우 다운 카운팅을 하며, 단기 기준 시간 신호(SREFT)에 응답하여 리셋 된다.
여기서 제 1 레벨은 하이 레벨 또는 로우 레벨일 수 있다. 그러나 설명의 편의를 위하여 하이 레벨로 설정한다.
단기 중재 파라미터 저장부(310) 는 단기 기준 시간 신호(SREFT)에 응답하여 카운터(305)가 리셋 되기 전까지 카운팅 된 값을 단기 중재 파라미터(SAP)로서 수신하여 저장한다. 단기 중재 파라미터 저장부(310) 는 단기 기준 시간 신호(SREFT)가 발생되면 카운터(305)의 출력을 수신하여 저장하고, 카운터는 단기 기준 시간 신호(SREFT)가 발생되면 단기 기준 시간 신호(SREFT)가 발생되기 전까지 카운팅 된 값을 단기 중재 파라미터 저장부(310) 로 인가하고 리셋 된다.
도 2를 참조하여 동작을 좀더 상세히 설명한다.
중재 파라미터 발생 회로(300)는 요청 신호(REQ)와 허여 신호(GRA)를 참조하여 중재파라미터를 발생하여 시스템 버스 중재기(미도시)의 우선 순위나 점유 값을 프로그래밍하는데 이용함으로써 효율적인 시스템 버스의 운영을 가능케 하는데 있다.
도 2에서는 시스템 온 칩(미도시)에 두 개의 마스터 블록(미도시)이 존재하는 경우를 설명하고 있다. 제 1 마스터 블록(미도시)이 발생하는 요청 신호가 REQ1 이고, 제 2 마스터 블록(미도시)이 발생하는 요청 신호는 REQ2 이다. 제 1 마스터 블록(미도시)이 수신하는 허여 신호가 GRA1 이고, 제 2 마스터 블록(미도시)이 수신하는 허여 신호는 GRA2 이다.
제 1 마스터 블록(미도시)의 경우, 1~2번째 클럭 신호(HCLK)와 4~8번째 클럭 신호(HCLK) 사이에서 시스템 버스(미도시)를 점유하기 위해 요청 신호(REQ1)를 출력하고 있다. 요청 신호(REQ1)가 하이 레벨인 경우 요청 신호(REQ1)가 발생되는 것으로 한다.
제 1 마스터 블록(미도시)은 시스템 버스 중재기(미도시)로부터 2~3번째 클럭 신호(HCLK)와 5번째 클럭 신호(HCLK)에서 허여 신호(GRA1)를 수신하고, 허여 신호(GRA1)보다 한 클럭 늦게 시스템 버스를 이용하여 T0 및 T2의 데이터 전송(Data transaction)을 수행한다.
카운터(305)는 제 1 마스터 블록(미도시)이 요청 신호(REQ1)를 발생하는 동안 클럭 신호(HCLK)의 상승 에지에 응답하여 1을 업 카운팅 하고, 허여 신호(GRA1)를 수신하는 동안 클럭 신호(HCLK)의 상승 에지에 응답하여 1을 다운 카운팅 하여 단기 중재 파라미터(SAP)를 발생한다.
즉, 단기 중재 파라미터(SAP)는 요청 신호(REQ)가 하이 레벨로 발생되는 횟수에서 허여 신호(GRA)가 하이 레벨로 발생되는 횟수를 뺀 값이다.
제 1 마스터 블록(미도시)이 1, 2 번째 클럭 신호(HCLK)에서 요청 신호(REQ)를 발생하고 2, 3 번째 클럭 신호(HCLK)에서는 허여 신호(GRA)를 수신하므로 단기 중재 파라미터(SAP)는 "1+(1-1)-1=0"이 되고 제 1 마스터 블록(미도시)이 4~8번째 클럭 신호(HCLK)동안 요청 신호(REQ)를 발생하고, 5번째 클럭 신호(HCLK)에서 허여 신호(GRA)를 수신하므로 "1+(1-1)+1+1+1=4"가 되어 9번째 클럭 신호(HCLK)에서는 단기 중재 파라미터(SAP)는 4가 된다.
여기서 단기 중재 파라미터(SAP)는 마스터 블록이 시스템 버스(미도시)를 이용하여 데이터 전송을 수행하기 위하여 허여 신호(GRA)를 기다리는 클럭 신호(HCLK)의 누적 값을 의미한다. 각각의 마스터 블록 별로 단기 중재 파라미터(SAP)의 값을 일정한 시간(단기 기준 시간을 의미한다.) 동안 계산하여 단기 중재 파라미터 저장부(310) 에 저장하면, 일정한 시간 동안 어떤 마스터 블록이 허여 신호(GRA)를 기다리는 시간이 큰 지 판단할 수 있다.
따라서 마스터 블록들 간의 단기 중재 파라미터(SAP) 값의 비교를 통하여 시스템 버스 중재기(미도시)의 우선 순위나 점유 값에 비하여 허여 신호(GRA)가 많이 필요 한 마스터 블록(즉, 전송할 데이터의 양은 많지만 우선 순위나 점유 값이 낮게 결정된 마스터 블록)을 찾아 낼 수 있다. 단기 중재 파라미터(SAP)는 각각의 마스터 블록마다 따로 계산되므로, 각각의 단기 중재 파라미터(SAP)를 저장할 단기 중재 파라미터 저장부(310) 가 복수 개 필요하다.
도 4는 단기 기준 시간 및 장기 기준 시간을 설명하기 위한 도면이다.
단기 기준 시간은 카운터(305)로부터 단기 중재 파라미터(SAP)가 발생되는 시간으로서, 단기 기준 시간 측정부(315)의 단기 카운터(320)의 비트 폭(bit-width)에 의해 시간 길이가 결정된다.
즉, 단기 기준 시간이 경과될 때마다 단기 기준 시간 신호(SREFT)가 발생되며, 단기 기준 시간 신호(SREFT)는 클럭 신호(HCLK)의 주기에 2m을 곱한 시간 또는 그 이하의 시간마다 발생된다. 여기서 m 은 단기 카운터(320)의 비트 폭(bit-width)이다. 즉, 단기 기준 시간 신호(SREFT)가 발생되는 시간의 최대 값은 클럭 신호(HCLK)의 주기에 2m을 곱한 값이다.
예를 들어, 클럭 신호(HCLK)의 주기가 7.5ns 이고 32-bit 단기 카운터(320)를 사용한다면 단기 기준 시간의 구간은 약 32.2초가 된다. 이때 각 단기 기준 시간 구간 동안 계산된 단기 중재 파라미터(SAP)의 결과는 32-bit이 되며, 이 값들이 도 4의 단기 기준 시간 신호(SREFT)로 표현된 타이밍에서 단기 중재 파라미터 저장부(310) 에 저장되어 단기 중재 파라미터(SAP)가 된다. 단기 중재 파라미터(SAP)는 카운터(305)의 출력 중 상위 p 비트만이 선택되어 단기 중재 파라미터 저장부(310) 에 저장될 수 있다. 단기 중재 파라미터 저장부(310) 의 크기를 줄이기 위함이며, 상위 p 비트만을 선택하여 단기 중재 파라미터(SAP)로서 저장하더라도 오차율은 매우 작다.
단기 기준 시간 측정부(315)는 클럭 신호(HCLK)를 카운팅 하며 단기 기준 시간 신호(SREFT)에 응답하여 리셋 되는 단기 카운터(320) 및 단기 중재 파라미터(SAP)가 단기 중재 파라미터 저장부(310) 에 저장되는 시간을 단기 기준 시간으로서 미리 저장하고, 단기 카운터(320)의 출력이 단기 기준 시간에 도달하면 단기 기준 시간 신호(SREFT)를 발생하는 단기 비교부(325)를 구비한다.
즉, 단기 비교부(325)에는 단기 기준 시간에 대한 정보가 저장되어 있으며, 단기 카운터(320)의 출력과 단기 기준 시간의 정보를 비교하여 단기 기준 시간이 경과되면 단기 기준 시간 신호(SREFT)를 발생한다. 따라서, 단기 비교부(325)에 저장된 단기 기준 시간에 대한 정보를 변경하면 단기 기준 시간 신호(SREFT)가 발생되는 시간을 조절할 수 있다. 단기 카운터(320)는 단기 기준 시간 신호(SREFT)에 응답하여 리셋 된다.
도 4의 첫 번째 단기 기준 시간동안 발생된 단기 중재 파라미터(SAP)를 이용하여 시스템 버스 중재기(미도시)의 우선 순위나 점유 값을 조절한 후, 두 번째 단기 기준 시간동안 다시 단기 중재 파라미터(SAP)를 구할 수 있다.
따라서, 단기 중재 파라미터(SAP)를 이용하면, 시스템 버스 중재기(미도시)는 짧은 시간 구간동안 빠르게 변화되는 마스터 블록들의 데이터 전송 요구량에 민첩하게 반응하여 시스템 버스 중재기(미도시)의 우선 순위나 점유 값의 조절을 통하여 시스템 버스의 환경 변화에 민첩하게 대응할 수 있다.
첫 번째 단기 기준 시간동안 발생된 단기 중재 파라미터에 의하여 조절된 시스템 버스 중재기(미도시)의 우선 순위나 점유 값이 시스템 온 칩(미도시)에 적용되면 두 번째 단기 기준 시간동안에는 변화된 시스템 버스 환경에 맞게 효율적인 시스템 버스 중재 설계가 제공될 수 있다.
상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생한다.(730 단계) 상기 장기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력한다.(740 단계)
상기 740 단계를 좀 더 설명하면, 상기 740 단계는 상기 단기 중재 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 중재 파라미터로서 출력하는단계(910 단계)와 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 중재 파라미터를 누적시켜 상기 장기 중재 파라미터로서 출력하는 단계(920 단계)를 구비한다.
상기 730 단계 및 740 단계의 동작은 장기 중재 파라미터 제어부(330)와 장기 기준 시간 측정부(350)의 동작에 대응된다.
장기 중재 파라미터 제어부(330)는 단기 중재 파라미터 저장부(310) 에서 출력되는 단기 중재 파라미터(SAP)를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터(LAP)로서 출력하며, 소정의 장기 기준 시간 신호(LREFT)에 응답하여 리셋 된다.
좀더 설명하면, 장기 중재 파라미터 제어부(330)는 단기 중재 파라미터 저장부(310) 에서 출력되는 단기 중재 파라미터(SAP)를 연속하여 누적시키는 덧셈기(340), 덧셈기(340)의 출력을 저장하고 장기 기준 시간 신호(LREFT)에 응답하여 리셋 되는 레지스터(335) 및 장기 기준 시간 신호(LREFT)에 응답하여 레지스터(335)의 출력을 장기 중재 파라미터(LAP)로서 저장하는 장기 중재 파라미터 저장부(345)를 구비한다.
장기 기준 시간 측정부(350)는 단기 기준 시간 신호(SREFT)에 응답하여 소정의 장기 기준 시간이 경과될 때마다 장기 기준 시간 신호(LREFT)를 발생한다.
좀더 설명하면, 장기 기준 시간 측정부(350)는 단기 기준 시간 신호(SREFT)의 발생 횟수를 카운팅 하며 장기 기준 시간 신호(LREFT)에 응답하여 리셋 되는 장기 카운터(355) 및 장기 중재 파라미터(LAP)가 장기 중재 파라미터 저장부(345)에저장되는 시간을 장기 기준 시간으로서 미리 저장하고, 장기 카운터(355)의 출력이 장기 기준 시간에 도달하면 장기 기준 시간 신호(LREFT)를 발생하는 장기 비교부(360)를 구비한다.
장기 기준 시간 신호(LREFT)는 단기 기준 시간 신호(SREFT)가 발생되는 시간에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 n은 덧셈기(340)의 비트 폭(bit width)이며, 여기서 p는, 단기 중재 파라미터 저장부(310) 에서 출력되는 단기 중재 파라미터(SAP)의 비트 수이다. 즉, 장기 기준 시간 신호(LREFT)가 발생되는 시간의 최대 값은 단기 기준 시간 신호(SREFT)가 발생되는 시간에 2n-p을 곱한 값이다.
도 3에서 장기 중재 파라미터(LAP)는 각 단기 기준 시간마다 발생되는 단기 중재 파라미터(SAP)를 누적한 것으로서, 단기 기준 시간보다 훨씬 긴 시간인 장기 기준 시간동안 단기 중재 파라미터(SAP)를 누적한 값이다.
도 4를 참조하면, 장기 기준 시간이 복수개의 단기 기준 시간을 더한 시간 구간에 대응되는 것을 알 수 있으며 장기 기준 시간이 경과되면 장기 기준 시간 신호(LREFT)가 발생된다.
예를 들어, 단기 중재 파라미터 저장부(310) 에 저장된 단기 중재 파라미터(SAP)가 32-bit 중 상위 8-bit라고 한다면 p는 8이다. 단기 중재 파라미터(SAP)를 상위 8 비트만 단축(truncation)하여 저장하는 것은 224으로 정규화(nomalize)하는 것과 동일한 원리이다.
장기 중재 파라미터(LAP)를 구하기 위하여 사용된 덧셈기(340)가 16-bit라고 한다면 n은 16이다. 그러면 총 2n-p배, 즉, 단기 기준 시간의 28배의 시간 구간에 대한 단기 중재 파라미터(SAP)를 누적할 수 있다.
그러므로 클럭 신호(HCLK)의 주기가 7.5ns 라 할 때, 단기 기준 시간은 32.2 초가 되고 장기 기준 시간은 8243.2초가 된다. 즉, 장기 기준 시간 측정부(350)의 장기 카운터(355)는 단기 기준 시간 신호(SREFT)가 28번 입력되는 것을 카운팅 할 수 있고, 장기 비교부(360)에는 장기 기준 시간에 대한 정보가 저장되어 있으며, 장기 카운터(355)의 출력과 장기 기준 시간의 정보를 비교하여 장기 기준 시간이 경과되면 장기 기준 시간 신호(LREFT)를 발생한다. 따라서, 장기 비교부(360)에 저장된 장기 기준 시간에 대한 정보를 변경하면 장기 기준 시간 신호(LREFT)가 발생되는 시간을 조절할 수 있다. 장기 카운터(355)는 장기 기준 시간 신호(LREFT)에 응답하여 리셋 된다.
단기 중재 파라미터(SAP)는 덧셈기(340)에 의하여 8243.2초 동안 레지스터(335)에 저장되고, 장기 기준 시간 신호(LREFT)가 발생되면 레지스터(335)에 저장된 값은 장기 중재 파라미터(LAP)로서 장기 중재 파라미터 저장부(345)에 저장된다. 또한 레지스터(335)는 장기 기준 시간 신호(LREFT)에 응답하여 리셋 된다.
장기 중재 파라미터(LAP)는 단기 중재 파라미터(SAP)들의 합이 되므로, 시스템 온 칩(미도시)이 구동되는 응용 분야에서의 평균적인 중재(arbitration)상황을나타낼 수 있고 시스템 버스 중재기(미도시)의 우선 순위를 결정할 수 있다. 또한 마스터 블록들의 일반적인 데이터 전송 요구 량을 얻을 수 있기 때문에 사용자의 시행착오나 직관을 통해 시스템 버스 중재기(미도시)의 우선 순위나 점유 값을 결정하는 방식에서 벗어나 합리적인 결정을 할 수 있다.
도 5는 본 발명의 제 2 실시예에 따른 버스 이용 파라미터 발생 회로를 나타내는 블록도이다.
도 5의 버스 이용 파라미터 발생 회로(500)의 동작은 도 10 내지 도 12의 버스 이용 파라미터 발생 방법에 대응되므로 함께 설명한다.
도 10은 다른 기술적 과제를 달성하기 위한 본 발명의 제 2 실시예에 따른 버스 이용 파라미터 발생 방법을 나타내는 플로우 차트이다.
도 11은 도 10의 1020 단계를 좀더 설명하는 도면이다.
도 12는 도 10의 1040 단계를 좀더 설명하는 도면이다.
클럭 신호에 응답하여 소정의 단기 버스 이용 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생한다.(1010 단계) 1010 단계는 도 5의 단기 기준 시간 측정부(515)의 동작을 설명한다. 단기 기준 시간 측정부(515)는 도 3의 단기 기준 시간 측정부(315)와 동일한 구성을 가지며 동일한 동작을 한다. 따라서 상세한 설명은 생략한다.
상기 클럭 신호 및 상기 단기 기준 시간 신호에 응답하여 데이터가 상기 시스템 버스를 통하여 전송될 때마다 업 카운팅을 하여 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력한다.(1020 단계)
상기 1020 단계를 좀더 설명하면, 1020 단계는 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅을 하고 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력하는 단계(1110 단계) 및 상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅 하는 단계(1120 단계)를 구비한다.
상기 1020 단계는 도 5의 카운터(505) 및 단기 버스 이용 파라미터 저장부(510)의 동작을 설명한다.
카운터(505)는 데이터가 시스템 버스(미도시)를 통하여 전송되는 동안 클럭 신호(HCLK)에 응답하여 업 카운팅을 하고, 단기 기준 시간 신호(SREFT)에 응답하여 리셋 된다. 단기 버스 이용 파라미터 저장부(510)는 단기 기준 시간 신호(SREFT)에 응답하여 카운터(505)가 리셋 되기 전까지 카운팅 된 값을 단기 버스 이용 파라미터(SBUP)로서 수신하여 저장한다.
도 2에서 T0, T2는 제 1 마스터 블록(미도시)이 시스템 버스(미도시)를 이용하여 데이터 전송을 수행하는 것을 표시하고, T1은 제 2 마스터 블록(미도시)이 시스템 버스(미도시)를 통하여 데이터 전송을 수행하는 것을 표시하는 것이다.
데이터 전송이 이루어지는 3~6번째 클럭 신호(HCLK) 마다 1씩 더하여 단기 버스 이용 파라미터(SBUP)를 구할 수 있다. 결국 단기 버스 이용 파라미터(SBUP)는 시스템 버스(미도시)를 통하여 데이터 전송이 이루어지는 총 횟수이다.
도 2를 참고하면, 3~6번째 클럭 신호(HCLK)에서 1씩 더해 "1+1+1+1=4"를 구할 수 있다. 여기에서 단기 버스 이용 파라미터(SBUP)는 시스템 버스(미도시)를 통하여 데이터 전송이 이루어지는 빈도를 의미하게 되며, 시스템 버스(미도시)가 얼마나 효율적으로 운영되고 있는지를 나타낸다.
단기 버스 이용 파라미터(SBUP)의 값이 클 수록 시스템 버스(미도시)가 효율적으로 운영되고 있음을 나타낸다. 따라서, 버스 이용 파라미터 발생 회로(500)가 실장되는 시스템 온 칩(미도시)의 사용자는 단기 버스 이용 파라미터(SBUP)를 참조하여 현재 시스템 버스(미도시)가 얼마나 효율적으로 운영되고 있는 지와, 어떤 마스터 블록이 시스템 버스(미도시)를 많이 필요로 하는지에 대한 정량적인 기준을 실시간으로 파악할 수 있다.
상기 단기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생한다.(1030단계) 1030 단계는 도 5의 장기 기준 시간 측정부(550)의 동작을 설명한다. 도 5의 장기 기준 시간 측정부(550)는 도 3의 장기 기준 시간 측정부(350)와 동일한 구성을 가지며 동일한 동작을 한다. 따라서 상세한 설명은 생략한다.
상기 장기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 버스 이용 파라미터로서 출력한다(1040 단계)
상기 1040단계는 상기 단기 버스 이용 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 버스 이용 파라미터로서 출력하는 단계(1210 단계) 및 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 버스 이용 파라미터를 누적시켜 상기 장기 버스 이용 파라미터로서 출력하는 단계(1220 단계)를 구비한다.
상기 1040 단계는 도 5의 장기 버스 이용 파라미터 제어부(530)의 동작을 설명한다. 장기 버스 이용 파라미터 제어부(530)의 구성 및 동작은 단기 버스 이용 파라미터(SBUP)를 누적하여 장기 버스 이용 파라미터(LBUP)를 발생한다는 점에서 차이가 있을 뿐 도 3의 장기 중재 파라미터 제어부(330)의 구성 및 동작과 동일하다. 따라서 상세한 설명을 생략한다.
장기 버스 이용 파라미터(LBUP)는 단기 버스 이용 파라미터(SBUP)들의 합이 되므로, 시스템 온 칩(미도시)이 구동되는 응용 분야에서의 평균적인 시스템 버스(미도시)의 이용 상황을 나타낼 수 있고 시스템 버스 중재기(미도시)의 우선 순위를 결정할 수 있다. 또한 마스터 블록들의 일반적인 데이터 전송 요구 량을 얻을 수 있기 때문에 사용자의 시행착오나 직관을 통해 시스템 버스 중재기(미도시)의 우선 순위나 점유 값을 결정하는 방식에서 벗어나 합리적인 결정을 할 수 있다.
도 6은 본 발명의 제 3 실시예에 따른 시스템 온 칩을 나타내는 블록도이다.
도 6을 참고하면, 본 발명의 제 3 실시예에 따른 시스템 버스(610), 시스템 버스(610)를 통하여 데이터를 전송하는 제 1 내지 제 N 마스터 블록들(660, 670, 680) 및 마스터 블록들(660, 670, 680)의 시스템 버스(610) 이용을 제어하는 중재기(620)를 구비하는 시스템 온 칩(600)은 버스 이용 파라미터 제어 회로(650), 단기 기준 시간 측정부(630), 장기 기준 시간 측정부(640)를 구비하고, 상기 제 1 내지 제 N 마스터 블록들(660, 670, 680)은 각각 중재 파라미터 제어 회로(665, 675,685)를 구비한다.
버스 이용 파라미터 제어 회로(650)는 소정의 단기 기준 시간 신호(SREFT)에 응답하고 시스템 버스(610)를 통하여 상기 데이터가 전송되는 회수(DBT)를 소정의 단기 기준 시간 동안 측정하여 상기 측정된 값을 단기 버스 이용 파라미터로서 발생하고, 소정의 장기 기준 시간 신호(LREFT)에 응답하여 단기 버스 이용 파라미터가 소정의 장기 기준 시간 동안 누적된 값을 장기 버스 이용 파라미터로서 발생한다.
버스 이용 파라미터 제어 회로(650)는 도 5의 버스 이용 파라미터 발생 회로(500)에서 단기 기준 시간 측정부(515)와 장기 기준 시간 측정부(550)를 제외한 나머지 구성 요소를 구비하는 회로이다. 버스 이용 파라미터 제어 회로(650)는 단기 기준 시간 측정부(630) 및 장기 기준 시간 측정부(640)로부터 단기 기준 시간 신호(SREFT) 및 장기 기준 시간 신호(LREFT)를 수신하여 도 5의 버스 이용 파라미터 발생 회로(500)와 동일한 기능을 한다. 따라서 상세한 설명은 생략한다.
단기 기준 시간 측정부(630)는 클럭 신호에 응답하여 단기 기준 시간마다 발생되는 단기 기준 시간 신호(SREFT)를 발생한다. 장기 기준 시간 측정부(640)는 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과될 때마다 장기 기준 시간 신호(LREFT)를 발생한다.
단기 기준 시간 측정부(630)는 도 3 및 도 5의 단기 기준 시간 측정부(315, 515)와 동일한 회로이고, 장기 기준 시간 측정부(640)는 도 3 및 도 5의 장기 기준 시간 측정부(350, 550)와 동일한 회로이다. 따라서 상세한 설명은 생략한다.
제 1 내지 제 N 마스터 블록들(660, 670, 680)은 각각 대응되는 제 1 내지 제 N 중재 파라미터 제어 회로(665, 675, 685)를 구비한다. 제 1 내지 제 N 중재 파라미터 제어 회로(665, 675, 685)는 동일한 기능을 하므로 대표적으로 제 1 중재 파라미터 제어 회로(665)에 대해서만 설명한다.
제 1 중재 파라미터 제어 회로(665)는 마스터 블록(660)이 시스템 버스(610)를 사용하기 위하여 발생하는 요청 신호(REQ1) 및 중재기(620)가 마스터 블록(660)이 시스템 버스(610)를 사용하는 것을 허여하기 위하여 발생하는 허여 신호(GRA1)를 수신하고, 단기 기준 시간 신호(SREFT)에 응답하여 요청 신호(REQ1) 및 허여 신호(GRA1)가 제 1 레벨로 발생되는 횟수를 카운팅 하여 단기 중재 파라미터를 발생하고, 장기 기준 시간 신호(LREFT)에 응답하여 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 발생한다.
중재 파라미터 제어 회로(665)는 도 3의 중재 파라미터 발생 회로(300)에서 단기 기준 시간 측정부(315)와 장기 기준 시간 측정부(350)를 제외한 나머지 구성 요소를 구비한다. 중재 파라미터 제어 회로(665)는 단기 기준 시간 측정부(630) 및 장기 기준 시간 측정부(640)로부터 단기 기준 시간 신호(SREFT) 및 장기 기준 시간 신호(LREFT)를 수신하여 도 3의 중재 파라미터 발생 회로(300)와 동일한 기능을 한다. 따라서 상세한 설명은 생략한다.
도 6의 시스템 온 칩(600)은 도 3의 중재 파라미터 발생 회로(300)와 도 5의 버스 이용 파라미터(500)를 구비하여 시스템 버스 중재기(620)의 우선 순위나 점유 값을 적절하게 조절할 수 있는 파라미터들을 실시간으로 구하고, 구해진 값에 응답하여 복수개의 마스터 블록들(660, 670, 680)이 시스템 버스(610)를 가장 적절하게 이용할 수 있도록 한다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 파라미터 발생 회로 및 파라미터 발생 방법은 중재기의 우선 순위나 점유 값을 프로그래밍 하는데 기준이 되는 파라미터를 실시간으로 제공하여 복수개의 마스터 블록들을 구비하는 시스템 온 칩(SOC)이 시스템 버스를 적절하게 사용할 수 있도록 하는 장점이 있다.

Claims (31)

  1. 마스터 블록이 시스템 버스를 사용하기 위하여 발생하는 요청 신호 및 중재기가 상기 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호를 수신하고, 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하며, 소정의 단기 기준 시간신호에 응답하여 리셋 되는 카운터 ;
    상기 단기 기준시간 신호에 응답하여 상기 카운터가 리셋 되기전까지 카운팅 된 값을 단기 중재 파라미터로서 수신하여 저장하는 단기 중재파라미터 저장부 ;
    클럭 신호에 응답하여 상기 단기 중재 파라미터가 상기 단기 중재 파라미터 저장부에 저장되는 시간 구간을 표시하는 단기 기준 시간이 경과할 때마다 상기 단기 기준 시간 신호를 발생하는 단기 기준 시간 측정부 ;
    상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 중재 파라미터 제어부 ; 및
    상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과할 때마다 상기 장기 기준 시간 신호를 발생하는 장기 기준 시간 측정부를 구비하는 것을 특징으로 하는 중재 파라미터 발생 회로.
  2. 제 1항에 있어서, 상기 장기 중재 파라미터 제어부는,
    상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 연속하여 누적시키는 덧셈기 ;
    상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 ; 및
    상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 중재 파라미터로서 저장하는 장기 중재 파라미터 저장부를 구비하는 것을 특징으로 하는 중재 파라미터 발생 회로.
  3. 제 2항에 있어서, 상기 장기 기준 시간 측정부는,
    상기 단기 기준 시간 신호의 발생 횟수를 카운팅 하며 상기 장기 기준 시간 신호에 응답하여 리셋 되는 장기 카운터 ; 및
    상기 장기 중재 파라미터가 상기 장기 중재 파라미터 저장부에 저장되는 시간을 장기 기준 시간으로서 미리 저장하고, 상기 장기 카운터의 출력이 상기 장기 기준 시간에 도달하면 상기 장기 기준 시간 신호를 발생하는 장기 비교부를 구비하는 것을 특징으로 하는 중재 파라미터 발생 회로.
  4. 제 2항에 있어서, 상기 장기 기준 시간 신호는,
    상기 단기 기준 시간 신호가 발생되는 시간에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 n은, 상기 덧셈기의 비트 폭(bit width)이며,
    여기서 p는, 상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터의 비트 수인 것을 특징으로 하는 중재 파라미터 발생 회로.
  5. 제 1항에 있어서, 상기 단기 기준 시간 측정부는,
    상기 클럭 신호를 카운팅 하며 상기 단기 기준 시간 신호에 응답하여 리셋되는 단기 카운터 ; 및
    상기 단기 중재 파라미터가 상기 단기 중재 파라미터 저장부에 저장되는 시간을 단기 기준 시간으로서 미리 저장하고, 상기 단기 카운터의 출력이 상기 단기 기준 시간에 도달하면 상기 단기 기준 시간 신호를 발생하는 단기 비교부를 구비하는 것을 특징으로 하는 중재 파라미터 발생 회로.
  6. 제 5항에 있어서, 상기 단기 기준 시간 신호는,
    상기 클럭 신호의 주기에 2m을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 m 은,
    상기 단기 카운터의 비트 폭(bit-width)인 것을 특징으로 하는 중재 파라미터 발생 회로.
  7. 제 1항에 있어서, 상기 단기 중재 파라미터는,
    상기 요청 신호가 제 1 레벨로 발생되는 횟수에서 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 뺀 값인 것을 특징으로 하는 중재 파라미터 발생 회로.
  8. 제 1항에 있어서, 상기 단기 중재 파라미터는,
    상기 카운터의 출력 중 상위 p 비트만이 선택된 것인 것을 특징으로 하는 중재 파라미터 발생 회로.
  9. 데이터가 시스템 버스를 통하여 전송되는 동안 클럭 신호에 응답하여 업 카운팅을 하고, 소정의 단기 기준 시간 신호에 응답하여 리셋 되는 카운터 ;
    상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 버스 이용 파라미터로서 수신하여 저장하는 단기 버스 이용 파라미터 저장부 ;
    상기 클럭 신호에 응답하여 상기 단기 버스 이용 파라미터가 상기 단기 버스 이용 파라미터 저장부에 저장되는 시간구간을 표시하는 단기 기준 시간이 경과할 때마다 상기 단기 기준 시간 신호를 발생하는 단기 기준 시간 측정부 ;
    상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 버스 이용 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 버스 이용 파라미터 제어부 ; 및
    상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과할 때마다 상기 장기 기준 시간 신호를 발생하는 장기 기준 시간 측정부를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  10. 제 9항에 있어서, 상기 장기 버스 이용 파라미터 제어부는,
    상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 연속하여 누적시키는 덧셈기 ;
    상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 ; 및
    상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 버스 이용 파라미터로서 저장하는 장기 버스 이용 파라미터 저장부를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  11. 제 10항에 있어서, 상기 장기 기준 시간 측정부는,
    상기 단기 기준 시간 신호의 발생 횟수를 카운팅 하며 상기 장기 기준 시간 신호에 응답하여 리셋 되는 장기 카운터 ; 및
    상기 장기 버스 이용 파라미터가 상기 장기 버스 이용 파라미터 저장부에 저장되는 시간을 장기 기준 시간으로서 미리 저장하고, 상기 장기 카운터의 출력이 상기 장기 기준 시간에 도달하면 상기 장기 기준 시간 신호를 발생하는 장기 비교부를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  12. 제 10항에 있어서, 상기 장기 기준 시간 신호는,
    상기 단기 기준 시간 신호가 발생되는 시간에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 n은, 상기 덧셈기의 비트 폭(bit width)이며,
    여기서 p는, 상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터의 비트 수인 것을 특징으로 하는 중재 파라미터 발생 회로.
  13. 제 9항에 있어서, 상기 단기 기준 시간 측정부는,
    상기 클럭 신호를 카운팅 하며 상기 단기 기준 시간 신호에 응답하여 리셋 되는 단기 카운터 ; 및
    상기 단기 버스 이용 파라미터가 상기 단기 버스 이용 파라미터 저장부에 저장되는 시간을 단기 기준 시간으로서 미리 저장하고, 상기 단기 카운터의 출력이 상기 단기 기준 시간에 도달하면 상기 단기 기준 시간 신호를 발생하는 단기 비교부를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  14. 제 13항에 있어서, 상기 단기 기준 시간 신호는,
    상기 클럭 신호의 주기에 2n-p을 곱한 시간 또는 그 이하의 시간마다 발생되며, 여기서 m 은,
    상기 단기 카운터의 비트 폭(bit-width)인 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  15. 제 9항에 있어서, 상기 단기 버스 이용 파라미터는,
    상기 시스템 버스를 통하여 데이터 전송이 이루어지는 총 횟수인 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  16. 제 9항에 있어서, 상기 단기 버스 이용 파라미터는,
    상기 카운터의 출력 중 상위 p 비트만이 선택된 것인 것을 특징으로 하는 버스 이용 파라미터 발생 회로.
  17. 시스템 버스, 상기 시스템 버스를 통하여 데이터를 전송하는 제 1 내지 제 N 마스터 블록들 및 상기 마스터 블록들의 상기 시스템 버스 이용을 제어하는 중재기를 구비하는 시스템 온 칩에 있어서,
    소정의 단기 기준 시간 신호에 응답하고 상기 시스템 버스를 통하여 상기 데이터가 전송되는 회수를 소정의 단기 기준 시간 동안 측정하여 상기 측정된 값을 단기 버스 이용 파라미터로서 발생하고, 소정의 장기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터가 소정의 장기 기준 시간 동안 누적된 값을 장기 버스 이용 파라미터로서 발생하는 버스 이용 파라미터 제어 회로 ;
    클럭 신호에 응답하여 상기 단기 기준 시간이 경과될 때마다 발생되는 상기 단기 기준 시간 신호를 발생하는 단기 기준 시간 측정부 ; 및
    상기 단기 기준 시간 신호에 응답하여 소정의 장기 기준 시간이 경과될 때마다 상기 장기 기준 시간 신호를 발생하는 장기 기준 시간 측정부를 구비하고,
    상기 제 1 내지 제 N 마스터 블록들은 각각
    상기 마스터 블록이 상기 시스템 버스를 사용하기 위하여 발생하는 요청 신호 및 상기 중재기가 상기 마스터 블록이 상기 시스템 버스를 사용하는 것을 허여하기 위하여 발생하는 허여 신호를 수신하고, 상기 단기 기준 시간 신호에 응답하여 상기 요청 신호 및 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 카운팅하여 단기 중재 파라미터를 발생하고, 상기 장기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 발생하는 중재 파라미터 제어 회로를 구비하는 것을 특징으로 하는 시스템 온 칩.
  18. 제 17항에 있어서, 상기 버스 이용 파라미터 제어 회로는,
    상기 데이터가 상기 시스템 버스를 통하여 전송되는 동안 상기 클럭 신호에 응답하여 업 카운팅을 하고, 상기 단기 기준 시간 신호에 응답하여 리셋 되는 버스 카운터 ;
    상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 수신하여 저장하는 단기 버스 이용 파라미터 저장부 ; 및
    상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 상기 장기 버스 이용 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 버스 이용 파라미터 제어부를 구비하는 것을 특징으로 하는 시스템 온 칩.
  19. 제 18항에 있어서, 상기 장기 버스 이용 파라미터 제어부는,
    상기 단기 버스 이용 파라미터 저장부에서 출력되는 상기 단기 버스 이용 파라미터를 연속하여 누적시키는 버스 덧셈기 ;
    상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 버스 레지스터 ; 및
    상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 버스 이용 파라미터로서 저장하는 장기 버스 이용 파라미터 저장부를 구비하는 것을 특징으로 하는 시스템 온 칩.
  20. 제 17항에 있어서, 상기 중재 파라미터 제어 회로는,
    상기 요청 신호 및 상기 허여 신호를 수신하고, 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하며, 소정의 단기 기준 시간 신호에 응답하여 리셋 되는 카운터 ;
    상기 단기 기준 시간 신호에 응답하여 상기 카운터가 리셋 되기 전까지 카운팅 된 값을 단기 중재 파라미터로서 수신하여 저장하는 단기 중재 파라미터 저장부 ; 및
    상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 소정의 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하며, 소정의 장기 기준 시간 신호에 응답하여 리셋 되는 장기 중재 파라미터 제어부를 구비하는 것을 특징으로 하는 시스템 온 칩.
  21. 제 20항에 있어서, 상기 장기 중재 파라미터 제어부는,
    상기 단기 중재 파라미터 저장부에서 출력되는 상기 단기 중재 파라미터를 연속하여 누적시키는 덧셈기 ;
    상기 덧셈기의 출력을 저장하고 상기 장기 기준 시간 신호에 응답하여 리셋 되는 레지스터 ; 및
    상기 장기 기준 시간 신호에 응답하여 상기 레지스터의 출력을 상기 장기 중재 파라미터로서 저장하는 장기 중재 파라미터 저장부를 구비하는 것을 특징으로 하는 시스템 온 칩.
  22. 시스템 버스를 통하여 데이터를 전송하는 마스터 블록들의 우선 순위를 결정하는 중재 파라미터 발생 방법에 있어서,
    (a)클럭 신호에 응답하여 소정의 단기 중재 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생하는 단계 ;
    (b)상기 시스템 버스의 사용을 요구하는 요청 신호 및 상기 시스템 버스의 사용을 허락하는 허여 신호를 수신하고, 상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 발생하는 단계 ;
    (c)상기 단기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생하는 단계 ; 및
    (d)상기 장기 기준 시간 신호에 응답하여 상기 단기 중재 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 중재 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 하는 중재 파라미터 발생 방법.
  23. 제 22항에 있어서, 상기 (b) 단계는,
    (b1) 상기 요청 신호가 제 1 레벨일 경우 업 카운팅을 하고 상기 허여 신호가 제 1 레벨일 경우 다운 카운팅을 하여 카운팅 된 값을 상기 단기 중재 파라미터로서 출력하는 단계 ; 및
    (b2)상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 상기 요청 신호 및 상기 허여 신호의 논리 레벨에 따라 카운팅하는 단계를 구비하는 것을 특징으로 하는 중재 파라미터 발생 방법.
  24. 제 22항에 있어서, 상기 단기 중재 파라미터는,
    상기 요청 신호가 제 1 레벨로 발생되는 횟수에서 상기 허여 신호가 제 1 레벨로 발생되는 횟수를 뺀 값인 것을 특징으로 하는 중재 파라미터 발생 방법.
  25. 제 22항에 있어서, 상기 (d) 단계는,
    (d1) 상기 단기 중재 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 중재 파라미터로서 출력하는 단계 ; 및
    (d2) 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 중재 파라미터를 누적시켜 상기 장기 중재 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 하는 중재 파라미터 발생 방법.
  26. 제 22항에 있어서, 상기 단기 기준 시간 신호는,
    상기 장기 기준 시간 신호보다 짧은 시간마다 발생되는 것을 특징으로 하는 중재 파라미터 발생 방법.
  27. 시스템 버스를 통하여 데이터를 전송하는 마스터 블록들의 우선 순위를 결정하는 버스 이용 파라미터 발생 방법에 있어서,
    (a)클럭 신호에 응답하여 소정의 단기 버스 이용 파라미터를 저장하는 시간을 결정하는 단기 기준 시간 신호를 발생하는 단계 ;
    (b)상기 클럭 신호 및 상기 단기 기준 시간 신호에 응답하여 데이터가 상기 시스템 버스를 통하여 전송될 때마다 업 카운팅을 하여 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력하는 단계 ;
    (c)상기 단기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터가 누적되는 시간을 결정하는 장기 기준 시간 신호를 발생하는 단계 ; 및
    (d)상기 장기 기준 시간 신호에 응답하여 상기 단기 버스 이용 파라미터를 일정한 시간동안 연속하여 누적시키고 누적된 값을 장기 버스 이용 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 방법.
  28. 제 27항에 있어서, 상기 (b) 단계는,
    (b1) 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅을 하고 카운팅 된 값을 상기 단기 버스 이용 파라미터로서 출력하는 단계 ; 및
    (b2)상기 단기 기준 시간 신호에 응답하여 상기 카운팅 된 값을 리셋하고 다시 데이터가 상기 시스템 버스를 통하여 전송될 동안 상기 클럭 신호에 응답하여 업 카운팅 하는 단계를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 방법.
  29. 제 24항에 있어서, 상기 단기 버스 이용 파라미터는,
    상기 시스템 버스를 통하여 데이터 전송이 이루어지는 총 횟수인 것을 특징으로 하는 버스 이용 파라미터 발생 방법.
  30. 제 27항에 있어서, 상기 (d) 단계는,
    (d1) 상기 단기 버스 이용 파라미터를 연속하여 누적시키고 누적된 값을 상기 장기 버스 이용 파라미터로서 출력하는 단계 ; 및
    (d2) 상기 장기 기준 시간 신호에 응답하여 상기 누적된 값을 리셋하고 다시 상기 단기 버스 이용 파라미터를 누적시켜 상기 장기 버스 이용 파라미터로서 출력하는 단계를 구비하는 것을 특징으로 하는 버스 이용 파라미터 발생 방법.
  31. 제 27항에 있어서, 상기 단기 기준 시간 신호는,
    상기 장기 기준 시간 신호보다 짧은 시간마다 발생되는 것을 특징으로 하는 버스 이용 파라미터 발생 방법.
KR10-2002-0062571A 2002-10-14 2002-10-14 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법. KR100455396B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2002-0062571A KR100455396B1 (ko) 2002-10-14 2002-10-14 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.
TW092126302A TWI243327B (en) 2002-10-14 2003-09-24 Parameter generating circuit for deciding priority of master blocks and method of generating parameter
US10/677,666 US7028121B2 (en) 2002-10-14 2003-10-02 Parameter generating circuit for deciding priority of master blocks and method of generating parameter
JP2003352627A JP4425598B2 (ja) 2002-10-14 2003-10-10 仲裁パラメータ発生回路、バス利用パラメータ発生回路、システムオンチップ、仲裁パラメータ発生方法、およびバス利用パラメータ発生方法
CNB2003101010892A CN100341011C (zh) 2002-10-14 2003-10-14 用于判定主块优先权的参数产生电路及产生参数的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0062571A KR100455396B1 (ko) 2002-10-14 2002-10-14 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.

Publications (2)

Publication Number Publication Date
KR20040033472A KR20040033472A (ko) 2004-04-28
KR100455396B1 true KR100455396B1 (ko) 2004-11-06

Family

ID=32064946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0062571A KR100455396B1 (ko) 2002-10-14 2002-10-14 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.

Country Status (5)

Country Link
US (1) US7028121B2 (ko)
JP (1) JP4425598B2 (ko)
KR (1) KR100455396B1 (ko)
CN (1) CN100341011C (ko)
TW (1) TWI243327B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126873A (ja) * 2002-10-01 2004-04-22 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
KR101030509B1 (ko) * 2004-01-30 2011-04-25 삼성전자주식회사 버스 요구 신호 발생 장치 및 그를 포함한 시스템
TWI296084B (en) * 2004-11-30 2008-04-21 Realtek Semiconductor Corp Bus arbiter, bus device, and bus arbitrating method
US7596647B1 (en) * 2006-09-18 2009-09-29 Nvidia Corporation Urgency based arbiter
US8171448B2 (en) * 2006-09-19 2012-05-01 International Business Machines Corporation Structure for a livelock resolution circuit
US7500035B2 (en) * 2006-09-19 2009-03-03 International Business Machines Corporation Livelock resolution method
CN102012881B (zh) * 2010-11-29 2012-09-05 杭州中天微系统有限公司 基于总线监控器的系统芯片总线优先级动态配置装置
KR101841964B1 (ko) 2011-02-22 2018-05-15 삼성전자주식회사 인터커넥터를 포함하는 시스템 온 칩 및 그것의 제어 방법
KR101861768B1 (ko) * 2011-09-16 2018-05-28 삼성전자주식회사 시스템 온칩, 이를 포함하는 전자 시스템, 및 그 동작 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4463445A (en) * 1982-01-07 1984-07-31 Bell Telephone Laboratories, Incorporated Circuitry for allocating access to a demand-shared bus
US5167019A (en) * 1989-06-23 1992-11-24 Digital Equipment Corporation Apparatus and method for interconnecting a plurality of devices to a single node in a node-limited serial data bus computer network
KR19990067681A (ko) * 1996-09-19 1999-08-25 요트.게.아. 롤페즈 가중된 대역폭 할당에 의한 버스 중재 방법 및 장치
KR20000053380A (ko) * 1999-01-05 2000-08-25 루센트 테크놀러지스 인크 다양한 기능 모듈 접속용 포트 매니저 제어기
JP2000267992A (ja) * 1999-03-15 2000-09-29 Matsushita Electric Ind Co Ltd マルチバス制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241632A (en) * 1992-01-30 1993-08-31 Digital Equipment Corporation Programmable priority arbiter
US5598542A (en) * 1994-08-08 1997-01-28 International Business Machines Corporation Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values
US5778200A (en) * 1995-11-21 1998-07-07 Advanced Micro Devices, Inc. Bus arbiter including aging factor counters to dynamically vary arbitration priority
JP2924762B2 (ja) * 1996-02-28 1999-07-26 日本電気株式会社 アダプティブフィルタ及びその適応化方法
US5956493A (en) * 1996-03-08 1999-09-21 Advanced Micro Devices, Inc. Bus arbiter including programmable request latency counters for varying arbitration priority
US5862355A (en) * 1996-09-12 1999-01-19 Telxon Corporation Method and apparatus for overriding bus prioritization scheme
US5862353A (en) * 1997-03-25 1999-01-19 International Business Machines Corporation Systems and methods for dynamically controlling a bus
GB9719047D0 (en) * 1997-09-08 1997-11-12 Sgs Thomson Microelectronics Arbitration system
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6374319B1 (en) * 1999-06-22 2002-04-16 Philips Electronics North America Corporation Flag-controlled arbitration of requesting agents
US6246256B1 (en) * 1999-11-29 2001-06-12 Broadcom Corporation Quantized queue length arbiter
JP4554016B2 (ja) * 2000-01-20 2010-09-29 富士通株式会社 バス使用効率を高めた集積回路装置のバス制御方式
DE60026908D1 (de) * 2000-07-05 2006-05-18 St Microelectronics Srl Arbitrierungsverfahren und Schaltungsarchitektur dazu

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4463445A (en) * 1982-01-07 1984-07-31 Bell Telephone Laboratories, Incorporated Circuitry for allocating access to a demand-shared bus
US5167019A (en) * 1989-06-23 1992-11-24 Digital Equipment Corporation Apparatus and method for interconnecting a plurality of devices to a single node in a node-limited serial data bus computer network
KR19990067681A (ko) * 1996-09-19 1999-08-25 요트.게.아. 롤페즈 가중된 대역폭 할당에 의한 버스 중재 방법 및 장치
KR20000053380A (ko) * 1999-01-05 2000-08-25 루센트 테크놀러지스 인크 다양한 기능 모듈 접속용 포트 매니저 제어기
JP2000267992A (ja) * 1999-03-15 2000-09-29 Matsushita Electric Ind Co Ltd マルチバス制御装置

Also Published As

Publication number Publication date
KR20040033472A (ko) 2004-04-28
TWI243327B (en) 2005-11-11
JP2004133946A (ja) 2004-04-30
US7028121B2 (en) 2006-04-11
US20040073732A1 (en) 2004-04-15
CN100341011C (zh) 2007-10-03
JP4425598B2 (ja) 2010-03-03
TW200405973A (en) 2004-04-16
CN1497721A (zh) 2004-05-19

Similar Documents

Publication Publication Date Title
EP1852783B1 (en) Access arbiter and arbiterable condition verification device
US6016528A (en) Priority arbitration system providing low latency and guaranteed access for devices
KR100420707B1 (ko) 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서버스중재를위한방법및시스템
US7420990B2 (en) Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
KR100420706B1 (ko) 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서i/o제어를위한방법및시스템
US7996586B2 (en) USB port for employing a plurality of selectable data transmission priority rules
KR101582058B1 (ko) 고정된 우선 순위 아비터를 위한 적응 대역폭 할당 제공
US20100318706A1 (en) Bus arbitration circuit and bus arbitration method
US7904666B2 (en) Access control device, access control integrated circuit, and access control method
US8145815B2 (en) Data processing system
US7213084B2 (en) System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
KR100296718B1 (ko) 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템
CN111095220B (zh) 在服务于存储事务时的服务质量控制方法和系统
KR100455396B1 (ko) 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.
US7065595B2 (en) Method and apparatus for bus access allocation
US7054970B2 (en) Bus arbiter for integrated circuit systems
US9223731B2 (en) Arbitration circuit and control method thereof
US7219167B2 (en) Accessing configuration registers by automatically changing an index
US7181558B2 (en) Avoidance of extended bus occupancy through simple control operation
US5557756A (en) Chained arbitration
KR100973419B1 (ko) 버스 중재 방법 및 장치
JP2012168773A (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: 20120925

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee