KR20030019235A - 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및액세스 제어 회로 - Google Patents

컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및액세스 제어 회로 Download PDF

Info

Publication number
KR20030019235A
KR20030019235A KR1020020051825A KR20020051825A KR20030019235A KR 20030019235 A KR20030019235 A KR 20030019235A KR 1020020051825 A KR1020020051825 A KR 1020020051825A KR 20020051825 A KR20020051825 A KR 20020051825A KR 20030019235 A KR20030019235 A KR 20030019235A
Authority
KR
South Korea
Prior art keywords
access
value
called
zero
collective resource
Prior art date
Application number
KR1020020051825A
Other languages
English (en)
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 KR20030019235A publication Critical patent/KR20030019235A/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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

본 발명은 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법에 관한 것이다. 상기 방법으로 기능부는 두개의 연속 액세스 사이에 최소 클록 사이클CLK의 수, 소위 대기 시간[LAT] 동안 대기하고, 나누어져 있는, 적어도 대기 시간의 값을 가지고 있는 주어진 연속 액세스의 수가 미리 발생했을 때, 두개의 연속 액세스 사이에 대기 시간보다 더 큰 다수의 사이클, 소위 패널티[PEN]를 둔다.
더 상세하게는 본 발명은 각각의 클록 사이클을 가지고, 감소된(또는 증가된) 및 컬렉티브 리소스로의 기능부의 각각의 액세스를 가지고 감소된(또는 증가된)레지스터[REG1, REG2]를 사용한다. 테스트[T1, T2, T3]는 레지스터의 컨텐츠를 사용해서 행해져서 컬렉티브 리소스로의 액세스를 인증[GRT]한다.

Description

컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및 액세스 제어 회로{DYNAMIC ACCESS CONTROL OF A FUNCTION TO A COLLECTIVE RESOURCE}
본 발명은 컬렉티브 리소스(collective resource)로의 기능부의 액세스를 제어하는 방법에 관한 것이다. 본 발명은 예를 들어, 매우 상이한 메모리 액세스를 필요로 할 수 있는 다양한 기능부를 가진 데이터 처리 장치에 적용될 수 있다. 오디오, 비디오 또는 그래픽 데이터가 될 수 있는 데이터의 처리 블록에 연결된, 프로세서와 같은, 적어도 계산 기능부를 포함하고 있는 회로가 이런 장치의 예이다. 어떤 오디오, 비디오 또는 그래픽 데이터 처리 블록은 실시간 동작(그래픽유닛...) 및 그에 따른 실질적으로 연속 메모리 액세스를 요구한다. 반면에, 다른 데이터 처리 블록은, 상기 블록으로의 특정수의 액세스가 보장되어 있는 소정의 시간이 경과된 한, 연속성이 적은 메모리 액세스로도 만족될 수 있다. 계산 기능부는 일반적으로 액세스 버스트에 의해 메모리에 액세스해서 예를 들어, 캐시 메모리를 채운다. 계산 기능부의 액세스에 제한이 없다면, 데이터 처리 프로세스는 블록된다. 이는 특히 실시간 처리에 있어서의 문제이다. 따라서, 계산기능부의 메모리 액세스를 제어하는 것은 필수적이다.
컬렉티브 리소스로의 액세스를 인터페이스를 통해서 관리할 수 있다. 인터페이스는 액세스 자체 및 사이클의 두가지 레벨의 액세스 방식을 사용한다. 본 발명은 액세스의 조정에 관한 것이다.
유용한 액세스 방식은 횟수가 지나치게 많은 기능부의 액세스를 금지시킴으로써 메모리로의 기능부의 액세스를 제한한다. 실제로, 레지스터는 두개의 연속 액세스 사이의 최소 클록 사이클의 수를 두도록 인터페이스에 프로그래밍된다. 두 액세스 사이의 사이클의 수가 레지스터에 기록되어 있는 값보다 작다면, 이 값에 도달될 때까지 액세스는 연기될 것이다. 액세스를 요청해 온, 예를 들어 계산 기능부와 같은 기능부는 허가되기 이전에 몇 사이클 동안 대기할 것이다. 레지스터에 기록되어 있는 값은 메모리를 공유하는 다른 기능부가 필요로 하는 기능이다.
이러한 액세스 방식은 유럽 특허 출원 EP 0921468에 개시되어 있다. 이 특허출원은 컬렉티브 리소스로의 두개의 연속 액세스 사이에 정해진 사이클의 수를 두는 대기 시간 크기(latency magnitude)를 포함하고 있는 레지스터가 사용되는 메모리 액세스 제어 회로에 관한 것이다.
본 발명의 목적은 전도대의 동적인 사용을 가능하게 하는 것이다. 본 발명은 하기의 태양을 고려하고 있다. 계산 기능부는 일반적으로 메모리로의 특정 액세스가 필요하다. 필요한 데이터는 예를 들어, 캐시 메모리와 같은 것에 속하는 다른 메모리에 저장되기 때문에, 대부분의 시간 동안, 계산기능부는 메모리를 액세스할 필요가 없다. 때때로, 계산 기능부는 캐시 메모리에는 존재하지 않는 명령어를 액세스할 필요가 있다. 이 경우에, 계산 기능부는 캐시 메모리를 완료하기 위해 외부 메모리로의 액세스의 버스트를 필요로 할 것이다. 주어진 기능부의 액세스의 필요는 시간 경과에 따라 첨예하게 변할 수 있다. 전술된 정해진 액세스 방식은 컬렉티브 리소스가 제공하는 액세스 성능을 사전정의된 방식에 따라 다양한 기능부에 분배한다. 이 때문에 본 실시예에서 계산 기능부는 필요한 데이터로 액세스하기 위해 장시간 대기하게 된다. 이로써, 본 발명은 액세스의 버스트가 요구될 때까지의 임의의 시간 동안 어떤 액세스도 요구되지 않는 기능부에 의한 컬렉티브 리소스로의 액세스에 관심을 가지고 있다.
실제로, 개시된 파라그래프와 관련된, 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법은 본 발명에 따른 하기의 단계를 포함하는 것을 특징으로 한다.
- 기능부의 두개의 연속(successive) 액세스 사이에 대기 시간(latency)이라고 불리는 최소 수의 클록 사이클을 두는 단계,
- 대략 대기 시간에 의해 그리고 적어도 대기 시간과 같은 값에 의해 분리된, 주어진 수의 연속 액세스가 이전에 발생했을 때, 두 연속 액세스 사이에 대기 시간보다 더 큰 갯수의 사이클-패널티라고 불림-을 두는 단계.
본 발명은 기능부의 이전 액세스를 고려해서 액세스 권한을 할당하거나 하지 않는 것을 가능하게 한다. 실제로, 본 발명은 가까운 과거의 계산 기능부의 액세스 수를 고려하여, 가까운 과거의 이 액세스의 수가 주어진 수보다 더 클 때, 대기 시간 보다 더 큰 다수의 사이클을 두 연속 액세스 사이에 둔다.
본 발명에 따른 방법은 계산 기능부의 대부분의 액세스를 나타내는 짧은 액세스 버스트를 최적화하는 것을 가능하게 하는 메모리로의 액세스 조건을 정해진 액세스 조건에 추가한다. 바람직한 실시예에서, 평균적으로, 다른 기능부의 적절한 동작을 위해 최적화된 정해진 액세스 방식에서와 같은 수로 계산 기능부로의 액세스를 제안하도록 새로운 조건이 계산된다. 특히, 본 발명에 있어서, 정해진 액세스 방식에 의해 두개의 연속 액세스 사이의 가장 짧은 간격을 결정하는 대기 시간 크기는 정해진 액세스의 방식에서의 대기 시간의 크기보다 더 작다.
실제로, 본 발명은 본 발명에 따른 방법을 구현하는 컴퓨터 프로그램, 레지스터를 처리하는 메모리 액세스 제어 회로 및 본 발명에 따른 방법을 구현하는 비교 수단, 및 본 발명에 따른 회로가 유익하게 사용되는 데이터 처리 장치에 관한 것이도 하다.
본 발명의 이들 및 기타 태양은 한정되지 않은 실시예를 통해서, 및 후술되는 실시예를 참조로 해서 자명해지고 명료해질 것이다.
도 1은 본 발명에 따른 단일 처리 장치를 도시한 도면,
도 2는 본 발명에 따른 메모리 액세스 제어 회로의 동작으로 도시한 도면,
도 3은 본 발명에 따른 컬렉티브 리소스로의 계산 기능부의 액세스를 도시한 도면.
도 1은 본 발명에 따른 신호 처리 장치를 도시한 도면이다. 이 도면은 본 발명이 유익하게 사용될 수 있는 바람직한 실시예에 관한 것이다. 그 액세스가 본 발명에 따라 제어되는 기능부는 프로세서CPU와 같은 계산 기능부이다. 컬렉티브 리소스, 여기서는 메모리MEM는 다른 기능부, 소위 AVG와 함께 기능부CPU에 의해 공유된다. 도 1에 도시된 바람직한 실시예에 따라서, 이들 다른 기능부는 오디오, 비디오 또는 그래픽 데이터 처리 기능부(AVG[1] 내지 AVG[N])이다. 유닛CDU은 이들 기능부 사이의 제 1 인터페이스와 메모리MEM로의 액세스의 제어 인터페이스SIF를 실시한다. 프로세서CPU는 주변 접속 버스BUS를 통해서 인터페이스SIF로 요청을 전송한다. 바람직한 실시예에서 메모리MEM인 컬렉티브 리소스로의 액세스 요청은 본 발명에 따라 메모리MEM로의 엑세스를 제어하는 인터페이스SIF에 의해 수신된다. 메모리MEM는 예를 들어, 다이나믹 메모리(SDRAM, DRAM), 정적 메모리(SRAM), 비휘발성 메모리(FLASH, ROM,...) 또는 대용량 저장 장치(HDD, CD,...)...와 같은 다양한 기능부에 의해 공유될 수 있는 임의의 종류의 메모리가 될 수 있다.
도 2는 본 발명에 따른 메모리 액세스 제어 방법의 동작을 도시하고 있다. 도 2는 도 1에 도시된 바와 같은 인터페이스SIF에 유익하게 구현된 바람직한 실시예를 도시하고 있다.
본 바람직한 실시예에서, 대기 시간을 두는 단계는, 계산 소자가 메모리에 액세스하지 않고 제 1 값이 제로보다 큰 각각의 메모리 사이클에서, 1만큼 감소된 제 1 값의 제로와의 비교를 통해서 실현되고, 상기 제 1 값은 계산 소자의 각각의액세스에서 대기시간이라 불리는 크기만큼 증가된다. 바람직한 실시예에서, 패널티를 두는 단계는, 계산 소자가 메모리를 액세스하지 않고 제 2 값이 제로보다 큰 각각의 메모리 사이클에서, 1만큼 감소된 제 2 값의, 주어진 연속 액세스의 수의 함수로서 계산되는, 제로가 아닌 정해진 크기, 소위 어카운트와의 비교를 통해 실현되고, 상기 제 2 값은 각각의 계산 소자의 액세스에서 소위 패널티의 크기만큼 증가된다. 바람직한 실시예에서, 상기 제 1 값이 제로이고, 상기 제 2 값이 어카운트 이하이면, 계산 소자에 의한 요청시의 계산 소자의 메모리로의 액세스 권한이 부여된다.
바람직한 실시예에서, 본 발명에 따른 원리는 실제로는, 어카운트ACC, 대기 시간LAT 및 패널티PEN인 각각의 구성 크기를 포함하고 있는 세개의 구성 레지스터를 사용해서 컬렉티브 리소스로의 기능부의 액세스 제어 회로에 사용될 수 있다. 본 발명은 또한 프로세서가 메모리를 액세스하지 않는 각각의 사이클에서, 제로가 아닐 때 1만큼 감소된 값을 포함하고 있는 두개의 임시 레지스터REG1, REG2를 사용한다. 본 발명에 따른 방법은 도 2에 도시된 바와 같은 각각의 사이클을 가지고, 일련의 테스트를 수행하는 클록CLK에 의해 규칙적으로 된다. 각각의 사이클을 사용해서, 제 1 테스트T1에서는 레지스터REG1에 포함되어 있는 값을 제로와 비교한다. 이 값REG1이 제로가 아닌 경우에, 프로세서CPU의 메모리MEM로의 액세스는 항상 권한인증될 수는 없다. 이와 같이, 요청이 프로세서에 의해 조직화(formulate)되는지를 아는 것은 이 단계에서 차이가 없다. 따라서 요청은 마치 마스크되는 것과 같다. 반면에, 패널티PEN가 대기 시간LAT보다 더 크기 때문에, REG1이 제로가 아니라면 REG2는 제로가 될 수 있다. 여기서 두개의 레지스터는 시스템이 다음 사이클을 대기한 이후에 A1에서 1만큼 감소된다.
도 3은 점선으로 표시된 REG1과 직선으로 표시된 REG2의 두개의 레지스터의 감소를 도시하고 있다. REG1이 제로는 아닌 반면에 요청 라인REQ에서 프로세서는 액세스를 요청하고 있을 때, 이 요청은 REG1이 제로가 아닐 때까지 액세스 권한 라인GRT상에서 만나지 않는다. 이는 도 3의 제 2 액세스 요청EX1의 경우이다. 대기 시간LAT은 당업계에 공지되어 있는 바와 같은 정해진 액세스 방식에서의 동등물에 대응한다. 여기서, 대기 시간LAT보다 더 큰 패널티PEN를 가질 필요성이 나타난다. 그러나, 본 발명은 짧은 액세스 버스트로 인해 프로세스에 의한 액세스용으로 상술한 바와 같은 이점을 제공하는 일정한 방식으로 정해진 대기 시간의 크기를 감소시킬 수 있다는 것을 알 수 있을 것이다.
REG1이 제로일때, 바람직한 실시예는 프로세서의 요청REQ이 존재하는지에 대해 테스트T2를 행한다. 현재의 클록 사이클CLK에서 요청REQ이 프로세서CPU로부터 들어오는 버스BUS에 존재하지 않으면, REG2가 제로인지를 확인하기 위해 테스트T3가 행해진다. 만약, REG2가 제로이면, 시스템은 본 발명에 따라 방법을 재시작하기 위해 다음 사이클을 대기한다. REG2가 제로가 아니면, REG2는 A2에서 1만큼 감소하고, 다음 사이클을 대기한다. 이는 도 3의 EX2의 경우이다. 실제로, EX2동안 REG1은 제로이고, REG2는 제로가 아니므로 새로운 요청까지 또는 REG2가 취소될 때까지 각각의 클록 사이클CLK에서 감소된다. 요청REQ이 프로세서CPU로부터 들어오는 버스BUS를 통해서 메모리 인터페이스SIF에 제공된다면, 테스트T4에서 REG2와 구성크기, 소위 어카운트ACC를 비교한다. 이 구성 크기는 구성 레지스터에 저장되는 것이 바람직하고, 간단한 비교기로 레지스터에 각각 존재하는 두 값을 비교한다. 우리는 후술되는 바에 의해 구성 크기가 결정되는 방법을 알 것이다. REG2가 어카운트ACC보다 더 크면, 본 발명에 따라 액세스는 인증되지 않고, REG2는 A2에서 감소된다. 이 시스템은 다음 사이클을 대기한다. 이는 도 3의 EX3의 경우이다. REG2는 ACC보다 크고, 액세스는 REG1이 제로더라도 인증되지 않는다. REG2가 ACC보다 작거나 같을 때, 액세스는 단계GRT에서 인증되고, 크기REG1, REG2는 A3에서 각각 대기 시간LAT 및 패널티PEN만큼 증가된다. 이후에 시스템은 다음 클록 사이클CLK을 대기한다. 도 3에서 이는 예를 들어 REG2가 ACC보다 작기 때문에 액세스가 인증되는 EX4의 경우에 해당된다.
도시된 도 2는 단지 바람직한 실시예를 나타내는 것이다. 값을 다른 순서로 테스트하고 비교하며, 레지스터가 더 많거나 더 적게 사용되는 다른 실시예가 가능하다. 따라서, 예를 들어 레지스터의 값을 0이 될 때까지 주어진 값만큼 감소시키기 보다는 주어진 값이 될 때까지 이들 값을 증가시킬 수 있다. 이 경우에, 기능부에 의한 컬렉티브 리소스로의 액세스는 예를 들어, 변화하는 레지스터 값과 구성 레지스터 값을 비교함으로써 인증된다. 구해진 이 원리는 동일하고, 최소 대기 시간 상태 및 가까운 과거의 액세스의 존재에 대한 상태 두가지 상태에서의 액세스 권한 인증과 관련이 있다. 본 발명에 따른 방법에 의해 사용되는 레지스터는 도 1에 도시된 바와 같은 메모리 인터페이스SIF의 내부에서 구현되는 것이 바람직하다. 인터페이스는 본 발명의 구현을 위해 세개의 구성 레지스터 및 하나 또는 바람직하게는 두개의 변화 레지스터를 포함한다. 단일 레지스터가 사용되는 경우에, 메모리에 기록되어 있는 값은 기능부의 각각의 액세스를 위해 저장된 값 및 기록된 현재의 값과 저장된 값의 차를 사용해서 테스트T와 유사한 테스트에 사용될 수 있다. 유사하게, 인터페이스는 예를 들어, 테스트 결과에 따라서 각각의 레지스터REG1, REG2에 추가되어야 하는 값(-1, LAT 또는 PEN)을 선택하기 위해 예를 들어, 적어도 하나의 크기 테스트용 비교기, 가산기 및 멀티플렉서를 포함한다. 가산기-멀티플렉서 쌍은 단계(A1, A2, A3)를 수행시킬 수 있다.
더 전체적으로, 본 발명에 따른 방법을 구현하기 위한 제어 회로는 도 2에 도시된 바와 같은 본 발명에 필요한 크기를 가지고 동작을 수행하기 위해 레지스터, 비교기, 멀티플렉서, 가산기를 포함한다. 이들 소자는 본 발명에 따른 방법을 수행하도록 이들 소자를 설치할 수 있는 당업자에게 공지되어 있다. 당업자는 본 발명에 따른 방법을 수행하기 위해 소프트웨어 요소 또는 하드웨어 요소를 사용할 수 있다. 유리하게는 구성 크기가 하드웨어 레지스터내의 하드웨어로서 정의된다. 하드웨어 구성 레지스터의 사용으로 인해 클록 속도에 적합한 소프트웨어 수단이 사용될 때보다 더 빨라질 수 있다. 프로세서CPU가 더 짧은 시간동안 더 연장된 메모리 액세스를 가질 때, 프로세서의 속도는 고정된 액세스 방식에 비해서 증가되기 때문에, 본 발명은 특히 프로세서를 가속시킬 수 있다. 이와 같이, 본 발명으로 인해 기능부의 동작의 속도 저하를 피할 수 있다는 사실이 주어지므로, 액세스 제어 방법의 속도는 본 발명의 이점을 잃지 않도록 하기 위한 중요한 이슈이다.
본 발명은 특히 코딩, 디코딩, 압축 및 데이터 스트림(DVD, 레코딩, 채널 디코딩, 실시간 레코딩, 부재를 달기 위한 그래픽 인터페이스를 갖춘 디지털TV)의 보정을 통해 디지털 비디오 데이터를 처리하는 장치에서 구현될 수 있다. 상기 장치는 데이터를 실시간으로 기록하고 판독하는 하드웨어 및 디스플레이 장치와의 인터페이스를 구비하고 있다. 이 인터페이스 및 장치의 기능부는 이들을 재그룹화하는 특정 회로내에서 관리되는 것이 바람직하다. 상기 회로는 데이터를 수신하고 처리하는 주변 기기 및 회로의 모든 기능부에 사용되는 컬렉티브 메모리와 링크되어 있다. 따라서, 회로의 일부가 데이터 처리 회로에 존재하는 프로세서와 컬렉티브 메모리 사이의 인터페이스를 관리한다는 것은 흥미있다. 상기 프로세서의 액세스는 본 발명에 따라 제어되는 것이 유리하다.
하기에, 상술한 바와 같은 데이터 처리를 수행하는 회로의 경우에 있어서의 본 발명 특히 대기 시간, 패널티, 및 어카운트 크기가 더 상세하게 설명될 것이다.
도 1을 참조하면, 메모리MEM는 여기서 SDRAM이고, 블록 AVG는 상술한 바와 같이 오디오, 비디오 및 그래픽 처리 블록이고, CPU는 오디오, 비디오 및 그래픽 데이터용 프로세서인 것이 바람직하다. 이러한 CPU는 소정의 포맷에 따라서, 요청, 어드레스 및 커맨드를 포함하고 있는 매크로 커맨드를 전송한다. SIF는 유닛CDU를 통해서 블록AVG에 의해 생성되는 요청으로 부터 나오는 매크로 커맨드를 정기적으로 수신한다. 블록 AVG에는 데이터를 수신하는 시간은 장치의 동작에 중요한 실시간 블록이 있다. 이는 예를 들어, 디스플레이 블록을 구비한 경우이다. AVG내에는 다른 블록으로의 액세스 타임이 동작에 중요하지 않지만, 그럼에도 불구하고 긴 시간이 아닌 특정수의 데이터를 송수신하는 다른 블록이 존재한다. 블록AVG의 수는장치의 가용 기능부의 수 및 사용되는 프로세스의 복합성(complexity)에 따라 증가한다. 기술의 향상에 따라, 이는 더 많은 블록AVG의 전도대를 제공하기 위해 적용되고 있고, 적용될 것이다. 따라서, 프로세서의 가용 전도대는 감소된다. 메모리로의 프로세서의 액세스를 제어하는 방법이 당업자에게 공지된 바와 같이, 정해진 방식으로 구성된다면, 프로세서는 더 감소된 권한인증 회수를 가진다. AVG로부터의 요청의 스트림은 전체적으로 연속적이고 규칙적이다. 실제로, 디스플레이 및 기타 데이터 처리 기능부는 메모리로의 액세스에 있어서의 연속성 및 규칙성을 가질 필요가 있다. 블록AVG의 수가 증가함에 따라 AVG용 메모리로의 액세스의 전도대가 증가하기 때문에 처리되기를 기다리는 데이터 AVG의 저장 성능의 제한은 확실하다. 따라서, 간단한 구성에 있어서, 500M바이트의 전도대를 사용할 수 있고, 블록 AVG는 그 동작에 400M바이트를 가질 필요가 있다고 하면, CPU에는 100M바이트가 남는다. 이로 인해 8개의 워드 액세스를 가지기 위한 CPU의 대기 시간 사이클의 수는 40이 된다. CPU는 일반적으로 캐시 메모리에 많은 데이터를 가지고 있지 않을 때보다 더 자주 액세스 버스트를 통해서 메모리로의 액세스를 요청한다. 반면에 캐시 메모리를 완성해야 한다면, CPU는 매 40 사이클마다 메모리를 액세스할 수 있다는 것은 유감스러운 일이다. CPU의 속도는 유사한 경우에 중요한 방식에서 감소될 수 있다. 반면에, CPU가 거의 액세스할 필요가 없고 일반적으로 비교적 짧은 액세스 버스트를 가지고, 반면에 실시간 블록 및 시간의 중요성이 덜한 블록에서의 블록AVG의 분할로 인해 임의로 추가적인 전도대를 가질 수 있기 때문에, 본 발명의 사용은 특히 유익하다. 실제로 간단히 블록AVG의 절반이 실시간으로 동작하는 경우에, 200M바이트만이 액세스 버스트에 대응하는 적당한 시간으로 필요할 것이다. CPU로부터의 액세스 요청이 최고인 경우에, 즉 짧은 액세스 버스트 동안에, 동작에 어떤 장애를 주지 않고 짧은 기간에 CPU에 300M바이트를 할당할 수 있다. 이는 본 발명이 실제로 할 수 있는 것이다. 더욱이, 8워드의 액세스를 위해, 모두 14=(500*8)/300 사이클을 획득하는 것이 가능하다. 이는 두개의 연속 액세스 사이의 최소 사이클의 수를 정하는 대기 시간LAT의 하한이다. 그러나, 이 값은 상수이고, 값을 14로 고정하는 것은 장기간의 수행에서 블록AVG이 정확하게 동작하기에는 CPU로 너무 중요한 액세스를 제공한다. 게다가, 회로의 동작은 관련된 대역폭의 감소를 야기시키기 때문에, 특정 사이클의 손실을 발생시킬 수 있다(예를 들어, 50사이클마다 500이 손실될 수 있다). 만약, 이전의 시스템이 대기 시간동안 낮은 값(예를 들어 14)을 취하면서 적용된다면, CPU에 의한 대역폭 점유율은 60이다. 이 값은 너무 과하다. 더욱이 최종으로 선택된 값 및 그 비율이 비-실시간 AVG를 지연시킬 수 있는 기간을 고려하는 것을 가능하게 할 수 있어야 한다. 이 기간 동안, CPU에 의해 점유되는 대역폭은 즉, 이 시간 동안 계산 기능부에 의해 행해진 연속 요청을 위해 최대 액세스의 수가 취해지는 반면에, 액세스의 수와 액세스의 길이(8, 16, 32워드)를 곱함으로써 계산된다. 약 90사이클과 같은 기간에 프로세스 AVG의 일부를 지연시키는 것이 가능하다면, 이 기간 동안 CPU에 전도대의 평균 40%를 적절하게 제공할 수 있다. 최적화시키기 바라는 고속 액세스의 수가 선택된다. 최적의 액세스의 수는 네개의 8워드일 것이다. 90 사이클동안만 대기 시간은 메모리로의 액세스를 제한한다고 생각하면, 이는 22 사이클의 대기 시간의 값을 제공한다.패널티의 값은 장기간 동안 계산 기능부(여기서는 CPU)의 점유율이 약 20인 것과 같이 블록AVG의 적절한 동작을 위해 20이다. 이는 AVG의 이상적인 동작이 얻어지는 정해진 값인 40에 가까운 패널티의 값의 선택을 유도한다. 어카운트ACC는 비 실시간 액세스 AVG를 지연시킬 수 있는 횟수 및 최적화하기 원하는 피크의 액세스의 수의 함수로 결정된다. CPU에 의한 메모리로의 N개의 연속 액세스의 피크를 최적화 시키기 원한다면, ACC는 다음 식 N*(PEN-LAT)~ACC에 의해 정해진다. 여기서 ACC는 4*(40-22)=72가 될 것이다. 그러나, 그 값과 상대적인 비는 예를 들어, 도 1을 참조하여 설명된 바와 같은 본 발명에 따른 디바이스의 데이터 처리 프로세스에 크게 의존한다. 블록AVG의 요구사항에 따라서, 이 값은 본 발명의 원리를 배제한 모든 것이 없다면, 상기 설명된 것과 매우 상이할 것이다.
본 발명에 따른 방법의 단계에 나타나는 기능부 엔티티(entity)를 당업자에게 용이한 소프트웨어 수단 및/또는 하드웨어 수단에 의해 사용하는 다수의 방법이 존재한다. 따라서, 도면은 개략적이다. 따라서, 도면이 다양한 블록으로 구현된 다양한 기능부 엔티티를 도시했지만, 이는 다양한 기능부 엔티티가 단일 소프트웨어 및/또는 하드웨어 수단으로 도시되는 것을 배제하는 것은 아니다. 소프트웨어 및/또는 하드웨어 수단의 조합이 하나의 기능부 엔티티를 실현하게 하는 것도 배제하는 것은 아니다.
비록 본 발명이 개시된 실시예에 따라서 설명되었지만. 당업자는 개시된 다양한 실시예가 존재하고, 변형이 본 발명의 사상 및 범주에 든다는 것을 즉시 인식할 것이다. 따라서, 하기의 청구의 범위에 의해 한정되는 사상 및 범주를 벗어남없이 많은 변형이 당업자에 의해 실시될 수 있다.
본 발명에 의해 컬렉티브 리소스로의 기능부의 액세스를 제어할 수 있다.

Claims (10)

  1. 기능부의 컬렉티브 리소스로의 액세스를 제어하는 방법에 있어서,
    - 기능부에 의한 두개의 연속 액세스 사이에 최소 수의 클록 사이클, 소위 대기 시간을 두는 단계,
    - 대략 대기 시간에 의해 및 적어도 대기 시간과 같은 값만큼 분리된, 주어진 연속 액세스의 수가 이전에 발생했을 때, 두 연속 액세스 사이에 대기 시간보다 더 큰 사이클의 수, 소위 패널티를 두는 단계
    를 포함하는 액세스 제어 방법.
  2. 제 1 항에 있어서,
    상기 기능부는 계산 기능부인 것을 특징으로 하는 액세스 제어 방법.
  3. 제 1 항에 있어서,
    상기 컬렉티브 리소스는 메모리인 것을 특징으로 하는 액세스 제어 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 대기 시간을 두는 단계는, 기능부가 컬렉티브 리소스에 액세스하지 않고, 제 1 값이 제로보다 큰 경우, 각각의 메모리 사이클에서 1만큼 감소된 제 1 값의 제로와의 비교를 통해서 수행되고, 상기 제 1 값은 계산 소자의 각각의 액세스에 대한 크기, 소위 대기 시간만큼 증가되고, 상기 패널티를 두는 단계는, 기능부가 컬렉티브 리소스를 액세스하지 않고, 제 2 값이 제로보다 큰 경우, 각각의 메모리 사이클에서 1만큼 감소된 제 2 값의, 주어진 연속 액세스의 수의 기능부에 따라서 계산된, 제로가 아닌 정해진 크기, 소위 어카운트와의 비교를 통해 실현되고, 상기 제 2 값은 각각의 기능부의 액세스에서 크기 소위 패널티의 크기만큼 증가되고, 기능부의 요청시에, 상기 제 1 값이 제로이고, 상기 제 2 값이 어카운트이하이면, 기능부의 컬렉티브 리소스로의 액세스 권한이 인증되는 것을 특징으로 하는 액세스 제어 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    기능부의 컬렉티브 리소스로의 평균 액세스의 함수로서 소위 대기 시간 및 패널티인 수가 계산되고, 상기 평균 액세스는 다른 기능부에 의한 컬렉티브 리소스로의 액세스를 고려한 것을 특징으로 하는 액세스 제어 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항의 액세스 제어 방법을 실시하는 명령어를 포함하는 컴퓨터 프로그램 제품.
  7. 회로에 연결된 컬렉티브 리소스로의 기능부의 액세스 제어 회로에 있어서, 상기 회로는
    - 기능부의 두개의 연속 액세스 사이에 최소 수의 사이클, 소위 대기 시간을 두는 수단인 소위 대기 시간 수단,
    - 대략 대기 시간에 의해 및 적어도 대기 시간과 같은 값만큼 분리된, 주어진 연속 액세스의 수가 이전에 발생했을 때, 두 연속 액세스 사이에 대기 시간보다 더 큰 사이클의 수, 소위 패널티를 두는 수단, 소위 패널티 수단을 포함하는 액세스 제어 회로.
  8. 제 7 항에 있어서,
    상기 대기 시간 수단은, 기능부가 컬렉티브 리소스에 액세스하지 않고, 제 1 값이 제로보다 큰 경우, 각각의 메모리 사이클에서 1만큼 감소된 제 1 값을 포함하도록 프로그래밍된 제 1 레지스터를 포함하고, 상기 제 1 값은 기능부의 각각의 액세스에 대한 크기, 소위 대기 시간만큼 증가되고, 상기 대기 시간 수단은, 제 1 값을 제로와 비교하는 비교 수단을 더 포함하고,
    패널티 수단은 기능부가 컬렉티브 리소스를 액세스하지 않고, 제 2 값이 제로보다 큰 경우, 각각의 메모리 사이클에서 1만큼 감소된 제 2 값을 포함하도록 프로그래밍된 제 2 레지스터를 포함하고, 상기 제 2 값은 각각의 기능부의 액세스에서 크기 소위 패널티의 크기만큼 증가되고, 상기 패널티 수단은 제 2 값을, 주어진 연속 액세스의 수의 함수로서 계산되는, 제로가 아닌 정해진 크기 소위 어카운트와 비교하는 비교 수단을 더 포함하고, 기능부의 요청시에, 상기 제 1 값이 제로이고, 상기 제 2 값이 어카운트이하이면, 기능부의 컬렉티브 리소스로의 액세스 권한이 인증되는 것을 특징으로 하는 액세스 제어 회로.
  9. 제 7 항 내지 제 8 항 중 어느 한 항에 있어서, 기능부의 컬렉티브 리소스로의 평균 액세스의 함수로서 크기, 소위 패널티가 계산되고, 상기 평균 액세스는 다른 기능부의 컬렉티브 리소스로의 액세스를 고려한 것을 특징으로 하는 액세스 제어 회로.
  10. 다양한 기능부에 분할된 컬렉티브 리소스를 포함하고, 컬렉티브 리소스로의 상기 기능부 중 적어도 하나의 액세스는 제 7 항 내지 제 9 항 중 어느 한 항의 액세스 제어 회로의 도움으로 제어되는 데이터 처리 장치.
KR1020020051825A 2001-08-31 2002-08-30 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및액세스 제어 회로 KR20030019235A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR01/11321 2001-08-31
FR0111321A FR2829253A1 (fr) 2001-08-31 2001-08-31 Controle d'acces dynamique d'une fonction a ressource collective

Publications (1)

Publication Number Publication Date
KR20030019235A true KR20030019235A (ko) 2003-03-06

Family

ID=8866868

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020051825A KR20030019235A (ko) 2001-08-31 2002-08-30 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및액세스 제어 회로

Country Status (7)

Country Link
US (1) US6959371B2 (ko)
EP (1) EP1293909B1 (ko)
JP (1) JP2003131937A (ko)
KR (1) KR20030019235A (ko)
AT (1) ATE487985T1 (ko)
DE (1) DE60238237D1 (ko)
FR (1) FR2829253A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2488516A (en) * 2011-02-15 2012-09-05 Advanced Risc Mach Ltd Using priority dependent delays to ensure that the average delay between accesses to a memory remains below a threshold
CN106383694A (zh) * 2016-09-09 2017-02-08 合普新能源科技有限公司 一种虚拟定时器定时方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0267464A2 (en) * 1986-11-12 1988-05-18 International Business Machines Corporation Method for controlling processor access to input/output devices
EP0439987A2 (en) * 1990-01-31 1991-08-07 International Business Machines Corporation Arbitration system limiting high priority successive grants
JPH04251366A (ja) * 1990-12-27 1992-09-07 Oki Electric Ind Co Ltd バスアービタ
JPH08278943A (ja) * 1995-04-05 1996-10-22 Fanuc Ltd 共有バス制御方式
KR19980081526A (ko) * 1997-04-18 1998-11-25 가네꼬히사시 Pci 버스 시스템
KR19990007462A (ko) * 1997-06-30 1999-01-25 빈센트 비. 인그라시아 페이지 모드에서의 메모리 소자 제어 방법 및 장치
US20010013092A1 (en) * 1997-09-13 2001-08-09 Thomas Henkel Memory latency compensation
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5679324A (en) * 1979-11-30 1981-06-29 Fujitsu Ltd Memory access system
JPS57153323A (en) * 1981-03-17 1982-09-21 Nec Corp Information process controller
JPS63245551A (ja) * 1987-03-31 1988-10-12 Toshiba Corp マルチプロセツサシステムのメモリアクセス方式
JPH01255042A (ja) * 1988-04-04 1989-10-11 Hitachi Ltd 優先制御回路
JPH01263762A (ja) * 1988-04-13 1989-10-20 Mitsubishi Electric Corp マルチプロセッサシステム
US5163140A (en) * 1990-02-26 1992-11-10 Nexgen Microsystems Two-level branch prediction cache
JPH07200386A (ja) * 1993-12-28 1995-08-04 Toshiba Corp 共有メモリのアクセス制御装置および画像形成装置
US6112019A (en) * 1995-06-12 2000-08-29 Georgia Tech Research Corp. Distributed instruction queue
EP0921468B1 (en) 1997-12-05 2018-01-31 Texas Instruments Incorporated Memory control using memory state information for reducing access latency
JPH11345165A (ja) * 1997-12-05 1999-12-14 Texas Instr Inc <Ti> アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ
US6266741B1 (en) * 1998-06-15 2001-07-24 International Business Machines Corporation Method and apparatus to reduce system bus latency on a cache miss with address acknowledgments
US6282614B1 (en) * 1999-04-15 2001-08-28 National Semiconductor Corporation Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches
US6324643B1 (en) * 1999-10-01 2001-11-27 Hitachi, Ltd. Branch prediction and target instruction control for processor

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0267464A2 (en) * 1986-11-12 1988-05-18 International Business Machines Corporation Method for controlling processor access to input/output devices
EP0439987A2 (en) * 1990-01-31 1991-08-07 International Business Machines Corporation Arbitration system limiting high priority successive grants
JPH04251366A (ja) * 1990-12-27 1992-09-07 Oki Electric Ind Co Ltd バスアービタ
JPH08278943A (ja) * 1995-04-05 1996-10-22 Fanuc Ltd 共有バス制御方式
KR19980081526A (ko) * 1997-04-18 1998-11-25 가네꼬히사시 Pci 버스 시스템
KR19990007462A (ko) * 1997-06-30 1999-01-25 빈센트 비. 인그라시아 페이지 모드에서의 메모리 소자 제어 방법 및 장치
US20010013092A1 (en) * 1997-09-13 2001-08-09 Thomas Henkel Memory latency compensation
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device

Also Published As

Publication number Publication date
DE60238237D1 (de) 2010-12-23
JP2003131937A (ja) 2003-05-09
EP1293909A1 (fr) 2003-03-19
FR2829253A1 (fr) 2003-03-07
EP1293909B1 (fr) 2010-11-10
US6959371B2 (en) 2005-10-25
US20030046506A1 (en) 2003-03-06
ATE487985T1 (de) 2010-11-15

Similar Documents

Publication Publication Date Title
US8063907B2 (en) Apparatus and method for selectable hardware accelerators in a data driven architecture
US5796413A (en) Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
JP4456490B2 (ja) Dma装置
JP4910022B2 (ja) 低バンド幅で局所集中アクセスを保証する調停装置、調停方法、調停装置を含む動画処理装置、及び集積回路
WO2012167526A1 (zh) 一种片上总线仲裁方法及装置
CN110059035B (zh) 半导体装置和总线发生器
KR101050019B1 (ko) 다수의 프로세서 및 하나의 메모리 시스템을 갖는 시스템용메모리 인터페이스
JP2000347987A (ja) Dma転送装置
JP3803196B2 (ja) 情報処理装置、情報処理方法および記録媒体
KR20030019235A (ko) 컬렉티브 리소스로의 기능부의 액세스를 제어하는 방법 및액세스 제어 회로
JP4728083B2 (ja) メディア処理装置
JPH11308114A (ja) コーデック
JP2011034214A (ja) メモリ制御装置
EP1513069A2 (en) Resource management apparatus
JP4335327B2 (ja) 調停装置および方法
JP2006215621A (ja) Dma制御装置
US6681277B1 (en) Data processing apparatus and data transfer control method
JP2009037639A (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP2007304830A (ja) 情報先行取得による調停方法および調停装置
JP7062142B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US7689781B2 (en) Access to a collective resource in which low priority functions are grouped, read accesses of the group being given higher priority than write accesses of the group
JPH07114496A (ja) 共有メモリ制御回路
KR100546678B1 (ko) 데이터 처리 시스템의 리프레시 동작 제어장치 및 그 방법
US20230244623A1 (en) Arbitration Allocating Requests During Backpressure
JP3353368B2 (ja) バス中継装置

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application