KR20120106890A - 멀티코어 아키텍처 내의 리소스 관리 - Google Patents
멀티코어 아키텍처 내의 리소스 관리 Download PDFInfo
- Publication number
- KR20120106890A KR20120106890A KR1020127020977A KR20127020977A KR20120106890A KR 20120106890 A KR20120106890 A KR 20120106890A KR 1020127020977 A KR1020127020977 A KR 1020127020977A KR 20127020977 A KR20127020977 A KR 20127020977A KR 20120106890 A KR20120106890 A KR 20120106890A
- Authority
- KR
- South Korea
- Prior art keywords
- controller
- processor
- multicore processor
- client
- thread
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Multi Processors (AREA)
- Advance Control (AREA)
Abstract
Description
도1은 본 발명의 일 실시예에 따라서 리소스 관리 및 태스크 할당 제어기를 통합하고 있는 시스템의 논리적 배치의 개략 블록도를 도시한다;
도2는 도1의 논리적 배치의 일 예시적인 구현의 개략 블록도를 도시하며, 본 발명을 구현하는 제어기는 전용 메모리 디바이스 및 제어기 클라이언트와 함께 범용의 멀티코어 프로세서 아키텍처 내부에 통합된다;
도3은 도2의 엘리먼트들을 통합하는 콘템퍼러리(contemporary) 시스템온칩(SoC) 버스 기반의 아키텍처의 일예를 블록도 형식으로 도시한다;
도4는 도1 내지 도3의 제어기로의 외부 접속의 보다 상세한 도면이다;
도5는 도2 및 도3의 메모리 디바이스의 보다 상세한 도면이다;
도6은 도2 내지 도4의 제어기의 내부 구성의 보다 상세한 도면이다;
도7a는 도2 및 도3에 도시된 제어기 클라이언트의 개략적인 블록도이다;
도7b는 다중 처리 리소스용 프록시로써 작용하는 단일 제어기 클라이언트의 경우에 시스템의 개략적인 블록도를 도시한다;
도8은 하드웨어 제어기 클라이언트의 보다 상세한 개략적인 블록도이다;
도9a 및 도9b는 속(generic) 기술자(descriptor) 및 이의 연관된 필드를 도시한다;
도9c 및 도9d는 스레드 기술자 및 이의 연관된 필드를 도시한다;
도9e 및 도9f는 스케쥴러 층 기술자 및 이의 연관된 필드를 도시한다;
도9g 및 도9h는 디스패치 큐 기술자 및 이의 연관된 필드를 도시한다;
도9i 및 도9j는 계류중인 큐 기술자 및 이의 연관된 필드를 도시한다;
도9k 및 도9l은 스킵 리스트 기술자 및 이의 연관된 필드를 도시한다;
도10은 스레드 기술자, 시스템 관리 제어기, 처리 리소스 및 공유된 시스템 메모리 사이의 일반적인 관계를 도시한다;
도11은 도10의 배치에서 부정(indirection)의 원리를 도시하며, 두 개의 상이한 처리 리소스가 존재한다;
도12는 도4의 제어기 내의 스레드 관리의 일반적인 개관을 도시한다;
도13은 일반적인 계류중인 큐 구조를 도시한다;
도14는 일반적인 계류중인 큐 스킵 리스트를 도시한다;
도15는 일반적인 타이머 큐를 도시한다;
도16은 두 개의 처리 리소스에 대한 일반적인 준비된 큐 구조를 도시한다;
도17은 일반적인 단일 디스패치 큐 구조의 예시적인 실시예를 도시한다;
도18은 스레드 번들링을 포함하는 두 개의 층 스케쥴링 계층구조를 도시한다;
도19는 통신 시스템에서 공통적으로 발견될 수 있는 예시적인 간략화된 큐 구조를 도시한다.
Claims (66)
- 프로세싱 실행가능한 트랜잭션에 대해 리소스를 제공하는 다수의 인터커넥트(interconnect)된 프로세서 요소를 구비하는 멀티코어 프로세서에 설치하기 위한 리소스 관리 및 태스크 할당 제어기로서, 상기 요소의 적어도 하나는 마스터 프로세싱 유닛이고;
상기 제어기는, 설치될 때, 마스터 프로세싱 유닛을 포함하는 각각의 프로세서 요소와 통신하도록 적응되며, 미리정의된 할당 파라미터에 따라서 멀티코어 프로세서내의 실행가능한 트랜잭션들을 특정 프로세서 요소들에 할당하는 제어 로직을 포함하는 리소스 관리 및 태스크 할당 제어기. - 제1항에 있어서, 상기 제어기의 상기 제어 로직내에 포함되는 상기 미리정의된 할당 매개변수의 범위는, 상기 실행가능한 트랜잭션의 실행의 타이밍 및/또는 순서를 상기 프로세서 요소에 의해 스케쥴링하기 위한 다수의 시스템 관리 규칙을 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제1항 또는 제2항에 있어서, 상기 제어기의 상기 제어 로직내에 포함되는 상기 미리정의된 할당 매개변수의 범위는, 상기 실행가능한 트랜잭션이 상기 프로세서 요소에 의해 실행되는 방식을 제어하기 위한 다수의 시스템 관리 규칙을 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제2항 또는 제3항에 있어서, 상기 제어기는 상기 프로세싱 유닛과 통신하기 위한 명령을 생성하도록 더 구성되는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제4항에 있어서, 상기 제어기는 프로세서 요소에 프로세서 요소 구성 명령을 송신하도록 구성되며, 이에 의해 상기 프로세서 요소는 상기 제어기에 의해 상기 프로세서 요소에 할당된 실행가능한 트랜잭션의 이후의 실행을 허용하도록 적응되는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제4항 또는 제5항에 있어서, 상기 제어기는 상기 프로세서 요소로 하나 이상의 인터럽트의 전송하는 것에 의해 명령을 발생시키도록 구성된 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제4항 또는 제5항에 있어서, 상기 제어기는 상기 프로세서 요소로 하나 이상의 폴(poll)을 전송하는 것에 의해 명령을 발생시키도록 구성된 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 선행하는 청구항들 중 어느 한 항에 있어서, 상기 제어 로직은:
실행가능한 트랜잭션 관리자; 및
전용의 메모리 관리자를 더 포함하며,
상기 전용의 메모리 관리자는 상기 실행가능한 트랜잭션 관리자에 의한 상기 전용 메모리로의 액세스를 제어하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기. - 제8항에 있어서, 상기 실행가능한 트랜잭션 관리자는 상기 전용 메모리내에 이용가능한 메모리의 표시를 유지하도록 구성된 실행가능한 트랜잭션 입력 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제9항에 있어서, 상기 실행가능한 트랜잭션 관리자 입력은 상기 전용 메모리내에 이용가능한 메모리 할당의 리스트를 유지하도록 구성된 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제10항에 있어서, 상기 실행가능한 트랜잭션 입력 관리자는 상기 전용 메모리 관리자로부터의 업데이트된 명령의 결과로써 이용가능한 메모리의 표시를 유지하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 선행하는 청구항들 중 어느 한 항에 있어서, 할당될 상기 실행가능한 트랜잭션은 스레드들을 포함하며 - 스레드 각각은 멀티코어 프로세서에서 실행되고 있는 어플리케이션의 일부를 형성함 -, 상기 스레드들의 적어도 일부는 다른 이벤트와 독립적으로 실행가능한 독립 스레드이며, 상기 스레드들의 적어도 일부는 그 실행이 예정된 이벤트의 존재에 종속하는 종속 스레드인 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제12항에 있어서, 상기 제어 로직은 상기 실행가능한 트랜잭션 관리자에게 타이머 기능을 제공하도록 구성된 시간 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제13항에 있어서, 상기 소정의 이벤트는 타이밍 이벤트인 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제12항에 있어서, 상기 소정의 이벤트는 이전 스레드의 실행의 완결, 또는 다른 보다 적임의 스레드의 선취인 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제12항에 있어서, 상기 실행가능한 트랜잭션 관리자는, 소정의 이벤트의 발생을 기다리는 종속 스레드들을 표시하는 상기 전용의 메모리내의 하나 이상의 계류중인 큐 리스트와, 타이밍 이벤트를 기다리는 스레드들을 표시하는 상기 전용의 메모리내의 하나 이상의 타이머 큐 리스트를 유지하도록 구성된, 실행가능한 트랜잭션 동기화 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제16항에 있어서, 상기 실행가능한 트랜잭션 관리자는, 프로세서 요소들 중 관련된 것에서의 실행을 기다리는 스레드들을 표시하는 상기 전용의 메모리내의 다수의 디스패치 큐 구조를 유지하고, 실행을 위한 프로세서 요소들 중 하나로의 할당을 기다리는 스레드들 표시하는 상기 전용의 메모리내의 다수의 준비된 큐 구조를 유지하도록 구성된, 실행가능한 트랜잭션 출력 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제17항에 있어서, 상기 실행가능한 트랜잭션 관리자는, 각각의 프로세서 요소에 대하여 준비된 큐들 내부로부터 상기 디스패치 큐로 스레드들의 디스패치를 우선순위 매기는 스케쥴링 결정들을 제공 및 유지하도록 구성된, 실행가능한 트랜잭션 스케쥴 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 선행하는 청구항들 중 어느 한 항에 있어서, 상기 제어 논리는, 상기 실행가능한 트랜잭션 관리자와 통신하며 상기 멀티코어 프로세서로 상기 제어기에 의한 액세스를 관리하도록 구성된, 시스템 인터페이스 관리자를 더 포함하는 것을 특징으로 하는 리소스 관리 및 태스크 할당 제어기.
- 제19항에 있어서, 상기 시스템 인터페이스 관리자는, 상기 실행가능한 트랜잭션 관리자로의 인터커넥트 인터페이싱 및 구성 및 런타임(run-time) 액세스를 제공하도록 배치된 것을 특징으로 하는, 리소스 관리 및 태스크 할당 제어기.
- 제6항에 있어서, 상기 제어 로직은, 멀티코어 프로세서 내에서 채용된 제1 포맷의 시스템 인터럽트들을, 상기 실행가능한 트랜잭션 관리자에 의해 이해가능한 제2의 상이한 포맷의 제어기 인터럽트들로 변환하기 위한 시스템 인터럽트 관리자를 더 포함하는 것을 특징으로 하는, 리소스 관리 및 태스크 할당 제어기.
- 선행하는 청구항들 중 어느 한 항의 제어기를 포함하는 멀티코어 프로세서 - 상기 멀티코어 프로세서는 다수의 인터커넥트된 프로세서 요소를 구비하며, 상기 요소 각각은 연관된 제어기 클라이언트를 가짐 - 로서, 각각의 제어기 클라이언트는, 상기 제어기로부터의 제어 신호에 의존하여, 상기 프로세싱 유닛과 상기 멀티코어 프로세서의 나머지 사이의 통신을 제어하도록 구성된 것을 특징으로 하는 멀티코어 프로세서.
- 선행하는 청구항들 중 어느 한 항의 제어기를 포함하는 멀티코어 프로세서 - 상기 멀티코어 프로세서는 다수의 인터커넥트된 프로세서 요소와 하나 이상의 제어기 클라이언트를 구비함 - 로서, 상기 제어기 클라이언트는, 상기 제어기로부터의 제어 신호에 의존하여, 상기 프로세싱 유닛과 상기 멀티코어 프로세서의 나머지 사이의 통신을 제어하도록 구성된 것을 특징으로 하는 멀티코어 프로세서.
- 제22항에 있어서, 상기 멀티코어 프로세서는 상기 제어기와 상기 다수의 인터커넥트된 프로세서 요소 모두에 의해 액세스가능한 공유된 시스템 인터커넥트를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제24항에 있어서, 상기 멀티코어 프로세서는 상기 멀티코어 프로세서를 하나 이상의 외부 디바이스로 연결하기 위한 외부 인터페이스를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제22항 내지 제25항에 있어서, 상기 멀티코어 프로세서는 상기 제어기와 통신하는 전용의 메모리를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제26항에 있어서, 상기 전용 메모리는 상기 제어기에 의해서만 배타적으로 액세스가능한 것을 특징으로 하는 멀티코어 프로세서.
- 제22항에 있어서, 상기 전용 메모리는 상기 제어기와 상기 멀티코어 프로세서의 하나 이상의 추가적인 컴포넌트 모두에 의해 액세스가능한 것을 특징으로 하는 멀티코어 프로세서.
- 제22항 내지 제27항에 있어서, 상기 메모리는 다수의 개별 메모리 요소를 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제29항에 있어서, 상기 개별 메모리 요소의 수는 유저 정의가능한 것을 특징으로 하는 멀티코어 프로세서.
- 제30항에 있어서, 각각의 상기 메모리 요소는 유사한 사이즈이며 상기 메모리 요소의 유저 정의가능한 수는 가변 메모리 사이즈로 귀결되는 것을 특징으로 하는 멀티코어 프로세서.
- 제22항에 있어서, 상기 제어기 클라이언트는 상기 연관된 프로세서 요소에서 실행되는 소프트웨어 어플리케이션인 것을 특징으로 하는 멀티코어 프로세서.
- 제22항에 있어서, 상기 제어기 클라이언트는 상기 연관된 프로세서 요소의 기능성에 의존하는 하드웨어 제어기 클라이언트인 것을 특징으로 하는 멀티코어 프로세서.
- 제33항에 있어서, 상기 제어기 클라이언트는 상기 제어기로부터의 제어 신호에 의해 활성화될 때 상기 연관된 프로세서 요소를 제어하기 위한 클라이언트 제어 로직을 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제34항에 있어서, 상기 제어기 클라이언트는 상기 프로세서 요소와 상기 멀티코어 프로세서의 나머지 사이에서 송신되는 통신 메시지의 임시 저장을 위한 다수의 버퍼를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제35항에 있어서, 상기 다수의 버퍼는 선입선출 버퍼인 것을 특징으로 하는 멀티코어 프로세서.
- 제35항에 있어서, 상기 제어기 클라이언트는, 각 메모리 요소가 어드레스를 저장하도록 구성된 다수의 메모리 요소를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제37항에 있어서, 상기 제어기 클라이언트는, 각 비교기가 상기 연관된 프로세서 요소에 의해 생성된 어드레스를 상기 메모리 요소 중 하나에 저장된 어드레스와 비교하도록 구성된 다수의 비교기를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 제37항에 있어서, 상기 제어기 클라이언트는, 상기 연관된 프로세서 요소에 의해 생성된 어드레스로부터 상기 메모리 요소들 중 하나에 저장된 어드레스를 빼도록 구성된 차분기를 더 포함하는 것을 특징으로 하는 멀티코어 프로세서.
- 요소의 하나 이상은 마스터 프로세싱 유닛인 다수의 프로세서 요소를 구비하는 멀티코어 프로세서 내에서 리소스를 제어하고 할당하는 방법으로서;
상기 마스터 프로세서 유닛과는 별도의 리소스 관리 및 태스크 할당 제어기에서 실행가능한 트랜잭션을 수신하는 단계;
상기 실행가능한 트랜잭션을 중앙 처리 유닛 제어와는 독립적으로 상기 프로세서 요소 중 하나에 할당하는 단계를 포함하는 리소스 제어 및 할당 방법. - 제40항에 있어서, 트랜잭션 관리 클라이언트를 경유하여 상기 프로세서 요소 중 하나로 상기 실행가능한 트랜잭션을 보내는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제41항에 있어서, 상기 트랜잭션 관리 클라이언트는 하드웨어 클라이언트인 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제41항에 있어서, 상기 트랜잭션 관리 클라이언트는 소프트웨어 클라이언트인 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제42항에 있어서, 상기 트랜잭션 관리 클라이언트 내부에 미리결정된 어드레스를 저장하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제44항에 있어서,
상기 트랜잭션 관리 클라이언트에서, 정규화된 어드레스를 생성하기 위하여 상기 연관된 프로세싱 요소에 의해 생성된 어드레스로부터 상기 미리결정된 어드레스를 빼는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법. - 제44항에 있어서,
상기 트랜잭션 관리 클라이언트에서, 상기 연관된 프로세서 요소에 의해 생성된 어드레스를 상기 저장된 미리결정된 어드레스와 비교하는 단계; 및
상기 비교의 결과에 의존하여 상기 프로세서 요소를 구성하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법. - 제42항에 있어서,
상기 트랜잭션 관리 클라이언트에서, 상기 멀티코어 프로세서의 나머지로부터 상기 연관된 프로세서 요소로의 통신 메시지의 전체를 저장하는 단계; 및
상기 연관된 프로세서 요소로 상기 전체 메시지를 통과시키는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법. - 제42항에 있어서,
상기 트랜잭션 관리 클라이언트에서, 상기 멀티코어 프로세서의 나머지로부터 상기 연관된 프로세서 요소로 통신 메시지를 스트리밍하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법. - 제41항에 있어서, 제1 트랜잭션 관리 클라이언트에 대한 실행가능한 트랜잭션을 제2 트랜잭션 관리 클라이언트로 생성하거나, 실행하거나, 또는 삭제하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제40항 내지 제49항 중 어느 한 항에 있어서, 미리정의된 스케쥴링 파라미터쌍에 기초하여 상기 실행가능한 트랜잭션을 상기 프로세싱 요소들 중 하나에 할당하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제50항에 있어서, 상기 스케쥴링 파라미터 쌍은 유저 정의가능한 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제50항 또는 제51항에 있어서, 상기 제어기에 의해 사용하기 위한 스케쥴링 파라미터의 리스트를 모니터링하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제50항 내지 제52항 중 어느 한 항에 있어서, 상기 스케쥴링 파라미터쌍을 시간에 따라 변화시키는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제52항에 있어서, 상기 스케쥴링 파라미터의 리스트를 유지하는 단계는 하나 이상의 상기 프로세서 요소에 의해 실행될 수 있는 준비된 태스크들의 리스트를 유지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제50항 내지 제53항 중 어느 한 항에 있어서, 상기 멀티코어 프로세서 내의 프로세서 리소스들을 균형맞추기 위한 요건에 기초하여 상기 실행가능한 트랜잭션을 상기 프로세싱 요소 중 하나에 할당하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제50항 내지 제53항 중 어느 한 항에 있어서, 상기 프로세서 요소가 보다 높은 우선권 태스크를 실행하는 것이 바람직하다고 결정될 때, 상기 실행가능한 트랜잭션이 상기 프로세서 요소 중 하나로 할당되는 것을 방지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제40항 내지 제56항 중 어느 한 항에 있어서, 미리결정된 시간 길이보다 긴 시간 동안 할당되지 않았던 실행가능한 트랜잭션의 리스트를 유지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제52항에 있어서, 상기 스케쥴링 파라미터의 리스트를 모니터링하는 단계는 미리결정된 이벤트를 기다리고 있는 계류중인 태스크의 리스트를 유지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제58에 있어서, 상기 미리결정된 이벤트는 타이머 이벤트거나, 동기화 이벤트거나, 또는 둘 모두인 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제58항에 있어서, 상호 배타적인 미리결정된 이벤트에 따라서 계류중인 태스크들의 다수의 리스트를 유지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제52항에 있어서, 상기 스케쥴링 파라미터의 리스트를 모니터링하는 단계는 특정 프로세싱 리소스에 대한 실행을 기다리고 있는 디스패치된 태스크들의 리스트를 유지하는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제61항에 있어서, 미리결정된 이벤트를 기다리고 있는 실행가능한 트랜잭션을 타임아웃의 만료시에 준비된 큐로 이동시키는 단계를 더 포함하는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 제40항 내지 제62항 중 어느 한 항에 있어서, 상기 제어기는 태스크들의 할당에 배타적으로 전용화되는 것을 특징으로 하는 리소스 제어 및 할당 방법.
- 첨부된 도면을 참조하여 본원에 실질적으로 기재된 멀티코어 프로세서용 리소스 관리 및 태스크 할당 제어기.
- 첨부된 도면을 참조하여 본원에 실질적으로 기재된 멀티코어 프로세서.
- 첨부된 도면을 참조하여 본원에 실질적으로 기재된 멀티코어 프로세서에서 리소스를 제어하고 할당하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0407384.7 | 2004-03-31 | ||
GBGB0407384.7A GB0407384D0 (en) | 2004-03-31 | 2004-03-31 | Resource management in a multicore processor |
PCT/GB2005/001154 WO2005096143A1 (en) | 2004-03-31 | 2005-03-30 | Resource management in a multicore architecture |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117028576A Division KR101248170B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120106890A true KR20120106890A (ko) | 2012-09-26 |
KR101239082B1 KR101239082B1 (ko) | 2013-03-06 |
Family
ID=32247648
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117028576A Expired - Lifetime KR101248170B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
KR1020067022736A Expired - Lifetime KR101258502B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
KR1020127020977A Expired - Lifetime KR101239082B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117028576A Expired - Lifetime KR101248170B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
KR1020067022736A Expired - Lifetime KR101258502B1 (ko) | 2004-03-31 | 2005-03-30 | 멀티코어 아키텍처 내의 리소스 관리 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1730628B1 (ko) |
JP (3) | JP5789072B2 (ko) |
KR (3) | KR101248170B1 (ko) |
CN (1) | CN100517219C (ko) |
GB (1) | GB0407384D0 (ko) |
TW (3) | TWI407373B (ko) |
WO (1) | WO2005096143A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220067289A (ko) * | 2020-11-17 | 2022-05-24 | 이화여자대학교 산학협력단 | Gpgpu의 스레드 블록 스케줄링 방법 및 장치 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0420442D0 (en) * | 2004-09-14 | 2004-10-20 | Ignios Ltd | Debug in a multicore architecture |
JP5088365B2 (ja) * | 2007-03-23 | 2012-12-05 | 富士通株式会社 | 電子機器および負荷分散プログラム |
US8544014B2 (en) * | 2007-07-24 | 2013-09-24 | Microsoft Corporation | Scheduling threads in multi-core systems |
US8327363B2 (en) | 2007-07-24 | 2012-12-04 | Microsoft Corporation | Application compatibility in multi-core systems |
KR100958303B1 (ko) * | 2007-12-12 | 2010-05-19 | 한국전자통신연구원 | 멀티코어 시스템 환경에서 내부 코어 간 통신채널을 이용한 모듈 디바이스의 동적 적재 및 실행을 통한 부하 균등화 시스템 및 방법 |
US8930644B2 (en) | 2008-05-02 | 2015-01-06 | Xilinx, Inc. | Configurable transactional memory for synchronizing transactions |
KR100953968B1 (ko) * | 2008-09-11 | 2010-04-21 | 엘지전자 주식회사 | 멀티 프로세서 및 이를 이용한 전원 절감 방법 |
TWI486048B (zh) * | 2008-09-12 | 2015-05-21 | Chi Mei Comm Systems Inc | 手機圖片轉換系統及方法 |
JP5229326B2 (ja) | 2008-09-24 | 2013-07-03 | 富士通株式会社 | マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム |
TWI381315B (zh) * | 2008-10-24 | 2013-01-01 | Nat Univ Chung Cheng | Synchronization elements for multi-core embedded systems |
KR100981017B1 (ko) * | 2008-12-08 | 2010-09-07 | 재단법인대구경북과학기술원 | 정적 태스크 정의 기능을 가진 시스템을 위한 우선순위 재정의 및 대기큐 관리 방법과 상기 방법을 실행하는 시스템 |
US9785462B2 (en) * | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
JP2011034189A (ja) * | 2009-07-30 | 2011-02-17 | Renesas Electronics Corp | ストリームプロセッサ及びそのタスク管理方法 |
TWI465916B (zh) * | 2010-09-01 | 2014-12-21 | Tatung Co | 異質雙核心之非對稱傳輸系統與方法 |
CN101977313B (zh) * | 2010-09-20 | 2012-11-21 | 中国科学院计算技术研究所 | 视频信号编码装置和方法 |
US20120096292A1 (en) * | 2010-10-15 | 2012-04-19 | Mosaid Technologies Incorporated | Method, system and apparatus for multi-level processing |
CN102012844B (zh) * | 2010-11-29 | 2013-01-09 | 上海大学 | 一种面向cmp系统的线程调度方法 |
TWI432953B (zh) | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
FR2975200B1 (fr) * | 2011-05-12 | 2013-06-14 | Peugeot Citroen Automobiles Sa | Synchronisation de donnees dans un systeme de pilotage |
EP2710480B1 (en) * | 2011-05-20 | 2018-06-20 | Intel Corporation | An interconnect structure to support the execution of instruction sequences by a plurality of engines |
US8335875B1 (en) * | 2011-06-24 | 2012-12-18 | Intel Corporation | System and method for performing isochronous data buffering |
KR101283911B1 (ko) * | 2011-11-08 | 2013-07-16 | 재단법인대구경북과학기술원 | 운영체제의 알람 관리방법 및 그 운영체제, 그 기록매체 |
CN102521036A (zh) * | 2011-12-05 | 2012-06-27 | 苏州希图视鼎微电子有限公司 | 指令驱动协处理器的任务中断方法及系统 |
SE537552C2 (sv) | 2011-12-21 | 2015-06-09 | Mediatek Sweden Ab | Digital signalprocessor |
KR101880452B1 (ko) | 2012-02-06 | 2018-08-17 | 삼성전자주식회사 | 커널 수행 순서 스케줄링 방법 및 장치 |
CN108681519B (zh) * | 2012-03-30 | 2022-04-08 | 英特尔公司 | 用于从多线程发送请求至加速器的机制 |
KR101984635B1 (ko) | 2012-07-19 | 2019-05-31 | 삼성전자주식회사 | 어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 |
KR101421232B1 (ko) | 2012-10-25 | 2014-07-21 | 주식회사 시큐아이 | 패킷 처리 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 |
US9361103B2 (en) * | 2012-11-02 | 2016-06-07 | Advanced Micro Devices, Inc. | Store replay policy |
CN103810223B (zh) * | 2012-11-15 | 2017-03-01 | 中国科学院软件研究所 | 一种基于数据分组的内存数据组织查询方法 |
US9558003B2 (en) | 2012-11-29 | 2017-01-31 | Samsung Electronics Co., Ltd. | Reconfigurable processor for parallel processing and operation method of the reconfigurable processor |
US8984251B2 (en) * | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
US9201791B2 (en) | 2013-01-08 | 2015-12-01 | Apple Inc. | Flow-ID dependency checking logic |
TWI492157B (zh) * | 2013-03-05 | 2015-07-11 | Andes Technology Corp | 處理中斷要求事件的裝置與方法 |
US8959576B2 (en) * | 2013-03-14 | 2015-02-17 | Intel Corporation | Method, apparatus, system for qualifying CPU transactions with security attributes |
DE102013109990B4 (de) * | 2013-08-30 | 2020-08-27 | Fujitsu Ltd. | Computersystem, Verwendung eines Systemmanagement-Bausteins und Verfahren zum bidirektionalen Datenaustausch |
TWI489393B (zh) * | 2013-11-15 | 2015-06-21 | Univ Nat Yunlin Sci & Tech | Applied Assignment Method for Multi - core System |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9552033B2 (en) * | 2014-04-22 | 2017-01-24 | Qualcomm Incorporated | Latency-based power mode units for controlling power modes of processor cores, and related methods and systems |
TWI644253B (zh) * | 2014-07-18 | 2018-12-11 | 軸子研究有限公司 | Data processing device and control method thereof |
US20160092117A1 (en) * | 2014-09-26 | 2016-03-31 | Intel Corporation | Reduction of performance impact of uneven channel loading in solid state drives |
TWI554945B (zh) * | 2015-08-31 | 2016-10-21 | 晨星半導體股份有限公司 | 例行工作的分配方法及應用其之多核心電腦 |
GB2543302B (en) * | 2015-10-14 | 2018-03-21 | Advanced Risc Mach Ltd | Vector load instruction |
GB2547893B (en) * | 2016-02-25 | 2018-06-06 | Advanced Risc Mach Ltd | Combining part of an offset with a corresponding part of a base address and comparing with a reference address |
CN106878389B (zh) * | 2017-01-04 | 2020-02-07 | 北京百度网讯科技有限公司 | 用于在云系统中进行资源调度的方法和装置 |
KR102297512B1 (ko) | 2017-04-04 | 2021-09-03 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
CN110737616B (zh) * | 2018-07-20 | 2021-03-16 | 瑞昱半导体股份有限公司 | 处理中断优先级的电路系统 |
CN111371820A (zh) * | 2018-12-25 | 2020-07-03 | 上海亮衡信息科技有限公司 | 一种基于定时器触发的通信方法、系统及通信设备 |
FR3091363B1 (fr) * | 2018-12-27 | 2021-08-06 | Kalray | Système de synchronisation inter-processeurs configurable |
CN110008123B (zh) * | 2019-03-28 | 2022-04-26 | 武汉达梦数据库股份有限公司 | 一种自动部署测试软件的方法以及相应的装置 |
CN111913809B (zh) * | 2020-07-28 | 2024-03-19 | 阿波罗智能技术(北京)有限公司 | 多线程场景下的任务执行方法、装置、设备和存储介质 |
CN112286863B (zh) | 2020-11-18 | 2023-08-18 | 合肥沛睿微电子股份有限公司 | 处理暨存储电路 |
TWI786476B (zh) * | 2020-11-25 | 2022-12-11 | 大陸商合肥沛睿微電子股份有限公司 | 處理暨儲存電路 |
CN114265808B (zh) * | 2021-12-22 | 2024-12-10 | 杭州和利时自动化有限公司 | 一种通信方法、装置、ProfibusDP主站及介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8711663D0 (en) * | 1987-05-18 | 1987-06-24 | Singer Link Miles Ltd | Multiprocessing architecture |
JPH03138753A (ja) * | 1989-10-25 | 1991-06-13 | Mitsubishi Electric Corp | マルチプロセッサシステムのブートロード装置 |
JPH0635724A (ja) * | 1992-07-21 | 1994-02-10 | Fujitsu Ltd | イベント同期制御方式 |
US5504670A (en) * | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
JP3245500B2 (ja) * | 1994-04-28 | 2002-01-15 | エヌイーシーマイクロシステム株式会社 | マルチプログラミングにおける事象管理方式 |
KR0170506B1 (ko) * | 1995-08-05 | 1999-03-30 | 양승택 | 멀티프로세서 인터럽트 처리기 및 인터럽트 처리 및 구동방법 |
KR100376056B1 (ko) | 1995-12-29 | 2003-07-22 | 엘지엔시스(주) | 멀티 프로세서 인터럽트 처리장치 |
KR970059923A (ko) * | 1996-01-05 | 1997-08-12 | 구자홍 | 마이크로프로세서의 외부 인터럽트 제어장치 |
JP3001461B2 (ja) * | 1997-05-29 | 2000-01-24 | 日本電気ソフトウェア株式会社 | プロセスのディスパッチ装置 |
US6212544B1 (en) * | 1997-10-23 | 2001-04-03 | International Business Machines Corporation | Altering thread priorities in a multithreaded processor |
US6427224B1 (en) | 2000-01-31 | 2002-07-30 | International Business Machines Corporation | Method for efficient verification of system-on-chip integrated circuit designs including an embedded processor |
US7007153B1 (en) | 2000-03-30 | 2006-02-28 | Agere Systems Inc. | Method and apparatus for allocating functional units in a multithreaded VLIW processor |
US6516393B1 (en) * | 2000-09-29 | 2003-02-04 | International Business Machines Corporation | Dynamic serialization of memory access in a multi-processor system |
US20030126416A1 (en) * | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
-
2004
- 2004-03-31 GB GBGB0407384.7A patent/GB0407384D0/en not_active Ceased
-
2005
- 2005-03-30 WO PCT/GB2005/001154 patent/WO2005096143A1/en active Application Filing
- 2005-03-30 CN CNB2005800108015A patent/CN100517219C/zh not_active Expired - Lifetime
- 2005-03-30 EP EP05729094.2A patent/EP1730628B1/en not_active Expired - Lifetime
- 2005-03-30 KR KR1020117028576A patent/KR101248170B1/ko not_active Expired - Lifetime
- 2005-03-30 JP JP2007505624A patent/JP5789072B2/ja not_active Expired - Lifetime
- 2005-03-30 KR KR1020067022736A patent/KR101258502B1/ko not_active Expired - Lifetime
- 2005-03-30 KR KR1020127020977A patent/KR101239082B1/ko not_active Expired - Lifetime
- 2005-03-31 TW TW094110344A patent/TWI407373B/zh not_active IP Right Cessation
- 2005-03-31 TW TW102119397A patent/TWI541725B/zh not_active IP Right Cessation
- 2005-03-31 TW TW102119395A patent/TWI502511B/zh not_active IP Right Cessation
-
2012
- 2012-10-03 JP JP2012221414A patent/JP2013061947A/ja active Pending
-
2013
- 2013-06-11 JP JP2013122998A patent/JP6018021B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220067289A (ko) * | 2020-11-17 | 2022-05-24 | 이화여자대학교 산학협력단 | Gpgpu의 스레드 블록 스케줄링 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP1730628A1 (en) | 2006-12-13 |
JP2013211050A (ja) | 2013-10-10 |
CN100517219C (zh) | 2009-07-22 |
KR20120003014A (ko) | 2012-01-09 |
TWI502511B (zh) | 2015-10-01 |
JP6018021B2 (ja) | 2016-11-02 |
EP1730628B1 (en) | 2018-12-26 |
CN1993674A (zh) | 2007-07-04 |
KR101248170B1 (ko) | 2013-03-27 |
JP2013061947A (ja) | 2013-04-04 |
TW201337768A (zh) | 2013-09-16 |
GB0407384D0 (en) | 2004-05-05 |
TW200602981A (en) | 2006-01-16 |
KR101258502B1 (ko) | 2013-04-26 |
JP2007531137A (ja) | 2007-11-01 |
KR101239082B1 (ko) | 2013-03-06 |
TW201337769A (zh) | 2013-09-16 |
TWI541725B (zh) | 2016-07-11 |
WO2005096143A1 (en) | 2005-10-13 |
TWI407373B (zh) | 2013-09-01 |
JP5789072B2 (ja) | 2015-10-07 |
KR20070022034A (ko) | 2007-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101258502B1 (ko) | 멀티코어 아키텍처 내의 리소스 관리 | |
US9779042B2 (en) | Resource management in a multicore architecture | |
US7925869B2 (en) | Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching | |
JP5651214B2 (ja) | マルチコアアーキテクチャにおけるスケジューリング | |
Vijayakumar et al. | Dynamic resource provisioning for data streaming applications in a cloud environment | |
US8769543B2 (en) | System and method for maximizing data processing throughput via application load adaptive scheduling and context switching | |
WO2012016472A1 (zh) | 多核CPU加载Linux操作系统的方法及系统 | |
WO2012052775A1 (en) | Data processing systems | |
CN117170858A (zh) | 动态可伸缩的拟态计算方法及系统 | |
Parks et al. | Non-preemptive real-time scheduling of dataflow systems | |
De Munck et al. | Design and performance evaluation of a conservative parallel discrete event core for GES | |
WO2024072932A1 (en) | Hierarchical work scheduling | |
CN119917229A (zh) | 一种任务调度方法、装置及计算系统 | |
Wang et al. | The dynamic priority based scheduling algorithm for hard real-time heterogeneous CMP application | |
Verhulst et al. | Requirements and Specifications for the OpenComRTOS Project | |
Yen et al. | System Specification | |
GB2484707A (en) | Data processing systems | |
GB2484708A (en) | Data processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
PA0104 | Divisional application for international application |
Comment text: Divisional Application for International Patent Patent event code: PA01041R01D Patent event date: 20120809 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20120910 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20121129 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20130226 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20130227 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20160127 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170206 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20170206 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20190129 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20200129 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20210202 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20220125 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20240215 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20250210 Start annual number: 13 End annual number: 13 |