KR100313261B1 - 저전력형다중작업제어기(명칭정정) - Google Patents

저전력형다중작업제어기(명칭정정) Download PDF

Info

Publication number
KR100313261B1
KR100313261B1 KR1019940702926A KR19940702926A KR100313261B1 KR 100313261 B1 KR100313261 B1 KR 100313261B1 KR 1019940702926 A KR1019940702926 A KR 1019940702926A KR 19940702926 A KR19940702926 A KR 19940702926A KR 100313261 B1 KR100313261 B1 KR 100313261B1
Authority
KR
South Korea
Prior art keywords
task
microprocessor
controller
event
tasks
Prior art date
Application number
KR1019940702926A
Other languages
English (en)
Other versions
KR950700572A (ko
Inventor
진-패릭스패로토
크리스찬라모데
Original Assignee
앙드래베이너,조엘브르리아드
썬트레일래크트로닉호로거쏘시에떼아노님
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 앙드래베이너,조엘브르리아드, 썬트레일래크트로닉호로거쏘시에떼아노님 filed Critical 앙드래베이너,조엘브르리아드
Publication of KR950700572A publication Critical patent/KR950700572A/ko
Application granted granted Critical
Publication of KR100313261B1 publication Critical patent/KR100313261B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Abstract

본 발명은 각각이 일련의 지시로 이루어진 N개 작업 (P0, P1, P2, P3)까지를 저장하기 위한 작업저장수단(2), 시분할에 의해 다수의 상기 N개 작업을 처리하기 위한 마이크로프로세서, 그리고상기 마이크로프로세서에 의해 발생되고 사용된 가변자료를 저장하기 위한 자료저장수단(12)를 포함하는 다중작업 조정기에 관한 것이다. 이같은 마이크로프로세서는 상기 처리에 의해 마이크로프로세서 사용을 조정하기 위해 하드웨어내에서 실현되는 스케듈러(7), 그리고 각각이 상기 N개 처리중 한 처리의 지시순서를 제어하기 위해 상기 스케듈러(7)에 의해 사용하기 위한 N개프로그램 제수기(Pc0, Pc1, Pc2, Pc3)를 저장하기 위한 프로그램계수기 저장수단을 더욱더 포함하여 상기 마이크로프로세서에 의해처리된 작업이 상기 자료저장수단(12)로부터 자료전달을 요구하지 않고 변경 되는데 스케듈러(7)이 상기 프로그램 계수기(Pc0, Pc1, Pc2, Pc3)중 각기 다른 하나를 선택할 수 있도록 한다.

Description

저전력형 다중작업제어기
제1도는 본 발명 다중작업제어기의 한 실시형태의 작동원리를 보인 개략 설명도.
제2도는 제1도의 다중작업제어기에 의하여 처리되는 작업의 관리를 설명하는 개략 설명도
제3도는 상이한 레벨의 서브루틴에 대하여 제1도 제어기 작업구성을 보인 개략 설명도.
제4도는 제1도 제어기에 의하여 제3도에서 설명되는 서브루틴의 관리를 설명하는 개략 설명도.
제5도는 내부 및 외부 사건이 제1도의 제어기에 의하여 실행되는 작업의 초기화를 요구하도록 경유되고 사용되는 방법을 보인 개략 설명도.
도면의 주요부분에 대한 부호설명
1... 제어기 5... 사건뱅크
6... 작업관리기 7... 스케줄러
8... 사건경로기 9,10... 스택포인터
본 발명은 저전력형 다중작업제어기에 관한 것으로, 특히 일련의 명령으로구성되는 다수의 작업을 시분할하여 처리하기 위한 마이크로프로세서, 상기 다수의 작업을 저장하기 위한 ROM과 같은 작업저장수단과, 상기 마이크로프로세서에 의하여 생성되고 사용되는 여러 데이터를 저장하기 위한 RAM과 같은 데이터저장수단으로 구성되는 다중작업제어기에 관한 것이다. 이러한 다중작업제어기는 시계산업분야에 적합하게 사용될 수 있는 것으로, 본 발명에 있어서는 이러한 예시적인 분야에 관련하여 설명될 것이다. 그러나, 본 발명은 이러한 분야에 국한되는 것은 아니다.
대부분의 시계산업분야의 작업은 일련의 순차명령으로 구성되는 작업에 기초하고 있다. 이러한 작업을 수행하고 요구된 기능을 갖는 시계를 제공하기 위하여 마이크로컴퓨터가 주로 사용된다. 기존의 마이크로컴퓨터는 수행될 각 작업의 명령을 저장하기 위한 판독전용메모리 ROM, 이들 명령을 수행하는데 필요한 작동을 수행하기 위한 마이크로프로세서와, 마이크로프로세서에 의하여 생성되고 사용되는 여러 데이터를 저장하기 위한 랜덤 액세스 메모리 RAM으로 구성된다. 마이크로프로세서는 산술 및 논리작업을 수행하기 위한 산술논리장치 ALU와 이들 작업결과를 저장하기 위한 일련의 레지스터로 구성된다. 제어버스, 데이터 버스 및 어드레스 버스가 마이크로프로세서, ROM, RAH 및 I/O 인터페이스를 서로 연결하여 이들 구성요소와 외부장치사이의 통신이 이루어질 수 있도록 한다.
마이크로컴퓨터를 이용하여 이러한 작업을 실현하는 것은 여러 가지 심각한 제약 때문에 달성하기 어려운 경우가 있다. 각 작업은 실시간에 수행되어야 할뿐만 아니라 마이크로컴퓨터는 내부에서 생성되거나 사용자로부터 제공되는 신호에 대하여 신속히 반응하여야 한다. 이상적으로는 이들 작업이 가능한 한 적은 전력을 소비하도록 구성되고 실행되어야 한다.
시계디자이너에게 주어지는 다른 요구사항은 동시에 이루어지도록 요구되는 다수의 시계기능의 작동을 일련의 명령의 순차수행을 요구하는 작업으로 재구성하는 것이다. 예를 들어, 시계의 푸쉬버튼의 작용은 스텝모터의 작동이 동시에 이루어지는 한편 동시에 시간표시기가 회전될 수 있도록 하는 것이 요구될 수 있다.
이러한 문제를 해결하기 위하여, 일분의 시계는 마이크로컴퓨터가 다중작업 또는 시분할 기술에 의하여 동시에 여러 작업을 수행하는데 사용될 수 있도록 설계되었다. 다중작업에 있어서, 수행되에야 할 ROM내의 각 작업의 일부는 차례로 마이크로프로세서의 사용이 허용된다. 실행된 작업의 신속한 순환은 사용자로 하여금 각 작업이 다른 작업과 함께 연속적으로 동시에 수행되는 것 처럼 보이도록 한다.
마이크로프로세서에 의한 작업의 동시실행은 통상적으로 스케줄러로 불리는 소프트웨어기구에 의하여 이루어진다. 이러한 기구는 ROM에 저장된 일련의 명령으로서 실현되고, 마이크로프로세서에 의하여 수행된 여러 작업의 상기 순서를 관리한다.
컴퓨터산업분야에서는 통상적으로 사용되고 있기는 하지만 그럼에도 불구하고 이러한 실행방법은 시계산업분야에서는 적합하지 않다. 스케줄러에 의하여 도입된 특정명령의 부담으로 마이크로프로세서에 의하여 수행되는 작업의 유효크기가 증가되고 속도와 전력소비면에서 그 성능이 감소된다. 작업관리에서 수행되어야 하는 부가적인 명령에 의한 처리속도의 감소를 최소화하기 위하여, 마이크로프로세서에 의하여 차례로 순행되는 작업부분의 크기는 기다란 여러 개의 명령으로 이루어져 작업이 거의 변경되지 않는다. 그러나, 이는 작업을 초기화하는 사용자 입력과 기타 다른 요구에 대한 시계의 반응시간을 줄이는 바, 이러한 사용자 입력과 요구는 다른 작업의 여러 명령이 실행된 후에만 순행될 수 있다.
더욱이, 마이크로프로세서에 의하여 순행된 많은 작업의 실행은 이러한 작업내에서 명령의 하나 이상의 서브루틴의 실행을 요구한다. 서브루틴이 기존의 다중작업제어기의 작업으로부터 초기화될 때, 서브루틴의 실행후 작업이 지연재개되는 명령의 어드레스를 나타내는 프로그램 카운터의 값이 초기에 RAM에 저장될 수 있도록 부가적인 명령이 요구된다. 누산기 레지스터와 인덱스 레지스터의 값들도 저장되는 것이 요구된다. 또한 이들 데이터전송작업을 수행하는데 요구되는 특별한 명령은 마이크로프로세세에 의하여 수행되는 작업의 유효크기를 증가시키고 그 작동속도와 전력소비를 증가시킨다.
본 발명의 목적은 종래 기술의 결점을 해소하는 다중작업제어기를 제공하는데 있다.
이러한 목적을 달성하기 위하여, 본 발명의 다중작업제어기는 각각 일련의 명령으로 구성되는 N개까지의 작업을 저장하기 위한 작업저장수단, 시분할로 상기 다수의 N 작업을 처리하기 위한 마이크로프로세서와, 상기마이크로프로세서에 의하여 생성되고 사용되는 여러 데이터를 저장하기 위한 데이터저장수단으로 구성되는 것에 있어서, 상기 마이크로프로세서가 상기 작업에 의하여 상기 마이크로프로세서의 사용을 제어하기 위하여 하드웨어에서 실현되는 스케줄러와, 상기 N 작업중 하나의 명령순서를 제어하도록 상기 스케줄러에 의하여 각각 사용하기 위한 N 프로그램 카운터를 저장하는 프로그램 카운터 저장수단으로 구성되어, 상기 스케줄러가 상지 마이크로프로세서에 의하여 처리된 작업이 상기 데이터저장수단으로부터의 데이터전송을 요구함이 없이 변경될 때 상기 프로그램 카운터의 다른 하나를 선택할수 있게 되어 있음을 특징으로 한다.
각 작업을 위한 별도의 프로그램 카운터와 하드웨어에서 실현되는 스케줄러의 제공은 데이터저장수단에 대한 데이터의 전송을 요구함이 없이 프로그램 카운터가 변경될 순 있도록 하여 ROM에 저장된 명령의 수를 줄일 수 있도록 함으로서 마이크로프로세서에 의하여 처리된 작업의 보다 효율적인 관리가 이루어질 수 있도록 한다. 작업의 관리중 다수의 부가적인 명령을 실행할 필요성이 배제됨으로서 제어기의 전력소비를 줄이고 작업이 수행되는 속도를 높이며 마이크로프로세서에 의하여 처리되는 부분의 크기를 줄일 수 있다. 실행된 작업은 보다 신속히 순환될 수 있어 제어기의 응답시간을 개선한다.
또한 다중작업제어기는 각 작업에 대한 별도의 누산값을 저장하기 위한 별도 누산값저장수단을 포함함으로서 상기 마이크로프로세서에 의하여 처리된 작업이 변경될 때 상기 데이터저장수단으로부터의 데이터전송을 요구함이 없이 상기 마이크로프로세서가 상기 누산값의 다른 하나를 선택할수 있도록 한다.
더욱이, 다중작업제어기는 각 작업에 대한 별도의 인덱스값을 저장하기 위한 인덱스값저장수단을 포함함으로서 상기 마이크로프로세서에 의하여 처리된 작업이 변경될 때 상기 데이터저장수단으로부터의 데이터전송을 요구함이 없이 상기 마이크로프로세서가 상기 인덱스값의 다른 하나를 선택할수 있도록 한다.
본 발명의 또 다른 실시형태에서, 마이크로프로세서는 상기 각 X 개의 작업의 일부를 처리할 수 있도록 구성될 수 있으며(여기에서 1 < X < N), 나머지 N-X 작업중 하나 이상의 프로그램 카운터가 상기 X 작업으로부터 호출된 서브루틴의 명령순서를 제어하도록 상기 마이크로프로세서에 의하여 사용된다.
이와 같이, 처리되도록 요구된 작업의 수가 마이크로프로세서가 처리할 수 있는 최대작업수보다 작을 때, 나머지 사용되지 않은 작업중 하나 이상의 프로그램 카운터는 작업으로부터 호출된 서브루틴의 명령순서의 진로를 유지하는데 사용될 수 있다. 따라서, 서브루틴이 호출되었을 때 사용되었던 프로그램 카운터는 서브루틴이 실행될 때 사용토록 유지된다. 본 발명의 스케줄러의 사용은 서브루틴이 호출될 때 요구되는 데이터전송과 이러한 데이터전송을 수행하는데 필요한 부가적인 명령의 수를 최소화할 수 있다. 상기 언급된 바와 같이, 이는 제어기에 의하여 소비되는 전력을 줄이고 응답시간을 빠르게 하며 그 작업의 관리가 보다 효율적이 되도록 한다.
본 발명을 첨부도면에 의거하여 보다 상세히 설명하면 다음과 같다. 제1도는 기본적으로 ROM(2), 명령레지스터/디코우더(3), 자원그룹(4), 사건뱅크(5), 작업관리기(6)와. 4개의 각 프로그램 카운터 Pc0, Pc1, Pc2, Pc3를 저장하기 위한 별도의 레지스터로 구성되는 다중작업제어기(1)를 보이고있다. ROM(2)은 요구된 기능을 수행토록 제어기(1)에 의하여 사용되는 4개까지 작업의 일련의 명령을 저장한다. 이들 각 작업은 그 명령순서의 진로를 유지하기 위하여 각각의 프로그램 카운터 Pc0,Pc1, Pc2, Pc3를 사용한다. 이와 같이 각 프로그램 카운터는 실행될 작업내의 다음 명령을 내장하고 있는 ROM(2)의 메모리장소를 지시하도록 사용된다. 비록 이 실시형태에서는 4개의 작업과 4개의 프로그램 카운터가 사용되었으나 다른 수의 작업과 프로그램 카운터가 본 발명의 다른 실시형태에서 사용될 수 있음을 이해할 것이다.
ROM(2)에 내장된 각 작업은 제어기(1)의 주변장치로부터 보내온 외부사건신호에 의하여 또는 제어기(1)로부터 보내온 내부사건신호의 하여 작동될 수 있다. 이러한 많은 신호는 시계산업분야에서 사용되는 다중작업제어기에 제공될 수 있다. 이들 사건신호는 이들을 그룹으로 처리하는 사건뱅크(5)에 보내어진다. 그룹의 수는 ROM(2)에 저장된 작업의 수와 일치하나, 다른 실시형태에 있어서는 다른 그룹수가 제공될 수도 있다. 어느 특정 그룹으로부터의 어떠한 사건신호의 수신시에, 사건뱅크(5)는 사건그룹신호를 작업관리기(6)에 보낸다.
작업관리기(6)는 스케줄러(7), 사건경로기(8)와, 두개의 스택포인터(9)(10)로 구성된다. 사건경로기(8)는 사건뱅크(5)로부터 보내온 각 사건그룹을 수신하여 ROM(2)에 저장된 작업중 하나의 초기화를 요구하는 작업요구신호를 발생한다. 사건경로기(8)는 각 작업요구신호에 의하여 초기화가 요구되는 작업이 선택될 수 있도록 구성될 수 있다.
스케줄러(7)는 사건경로기(8)로부터 보내온 작업요구신호를 수신하여 이와 같이 요구된 각 작업의 실행을 관리한다. 각 작동하는 작업의 일부(즉,그 초기화가 요구된 것)가 스케줄러(7)에 의하여 지시된 작업에 따라서 제어기(1)에 의하여 차례로 처리된다. 각 작업이 실행될 때, 그 프로그램 카운터는 ROM(2)의 명령이 수행되는 진로를 유지하는데 사용된다. 제1 작업의 일부가 실행되었을 때, 스케줄러(7)는 제2 작업의 일부가 처리될 다음의 명령을 지시하기 위하여 제1 작업의 프로그램 카운터를 이용하여 처리될 수 있도록 한다. 각 작업은 그 자신의 프로그램 카운터를 가지므로 각 작업의 실행은 용이하게 중지될 수 있고 보정명령시 다시 시작될 수 있다.
특히, 각 프로그램 카운터의 값은 이에 상응하는 작업의 일부가 실행될 때 마다 제어기(1)의 데이터 레지스터에 전달되어 저장될 필요가 없고 또한 그 작업의 새로운 일부가 실행될 때 마다 공통프로그램 카운터에 다시 전달되어 저장될 필요가 없다. 이는 제어기(1)의 응답시간을 최소화하기 위하여 제어기(1)에 의하여 실행되는 하나 이상의 작업이 단 하나의 명령만으로 실행될 수 있도록 한다.
이후 상세히 설명되는 바와 같이, 하나 이상의 프로그램 카운터는 작업내부로부터의 서브루틴을 초기화하는데 사용될 수 있다. 서브루틴이 호출될 때, 현재 사용되고 있는 프로그램 카운터는 서브루틴이 실행되었을 때 다음의 명령이 수행될 수 있도록 하기 위하여 저장된다. 스택포인터(9)(10)는 서브루틴이 초기화되었을 때 사용되지 않은 프로그램 카운터를 지시하도록 사용되며, 프로그램 카운터는 이러한 서브루틴에서 명령순서의 진로를 유지하는데 사용된다. 이와 같이 서브루틴이 호출되었을 때 사용중인 프로그램카운터는 서브루틴이 실행되었을 때 연속되어야 하는 명령순서의 진로를 유지하기 위하여 보존된다.
자원그룹(4)은 산술논리장치 ALU(11), 랜덤 액세스 메모리 RAM(12),누산기그룹(13)과, 인덱스 레지스터 그룹(14)으로 구성된다. 이러한 레지스터그룹은 색인주소지정, 즉 인덱스 어드레싱이 제어기(1)에 의하여 실행된 작업에 의하여 사용되는 경우에만 필요하다.
ALU(11)와 RAM(12)는 공유자원이고 제어기(1)에 의하여 실행되는 모든 작업에 의하여 액세스될 수 있다. 2진신호가 다음과 같은 방법으로 제어기(1)의 공유자원에 대한 액세스를 제어하는데 사용된다. 작업이 공유자원을 이용할 때 선택된 데이타 레지스터의 비트가 사용중인 것으로 설정된다.
이 작업이 공유자원을 이용하여 완료되었을 때 이 비트는 사용가능한 상태로 설정된다. 비트의 이러한 상태는 공유자원에 액세스되고자 하는 모든 작업에 의하여 검사되며, 만약 비트가 선행 작업에 의하여 사용중인 것으로 설정된 경우 나중의 작업은 비트가 사용가능하게 설정될 때까지 대기하여야 한다.
누산기 레지스터 그룹(13)은 4개의 누산기(13a)(13b)(13c)(13d)로 구성되는 반면에, 인덱스 레지스터 그룹(14)은 4개의 인덱스 레지스터(14a)(14b)(14c)(14d)으로 구성된다. 프로그램 카운터 Pc0-Pc3와 함께, 누산기(13a-13d)와 인덱스 레지스터(14a-14d)는 여러 작업이 공유할 수는 없고 어느 주어진 분야에서만 한 특정작업에 의하여 사용될 수 있는 제어기(1)내의 자원을 구성한다.
현재의 작업이 제어기(1)에 의하여 실행될 때, 프로그램 카운터가 프로세스지시에 의하여 사용되는 명령이 ROM(2)에 의하여 명령레지스터/디코우더(3)에 보내어진다. 여기에서, 명령이 시험되고 그 비트가 ALU(11), 데이터 버퍼, 어드레스 버퍼, 타이밍 회로 및 제어기(1)의 여러 레지스터에 의하여 이해되는 언어로 변환된다.
ALU(11)는 명령레지스터/디코우더(3)로부터의 해독된 명령을 수신하고 이러한 명령을 수행하는데 필요한 산술 또는 논리작업을 수행한다. 현재의 작업에 관련된 누산기는 데이터를 ALU(11)에 제공하여 이들 산술 밑 논리작업이 수행될 수 있도록 한다. 이러한 작동의 결과는 눈산기로 다시 보내진다. RAM(12)은 생성된 데이터를 저장하는데 사용되고 이들 작동의 수행에 사용된다.
제어기(1)에 의하여 실행되는 현재의 작업과 관련된 인덱스 레지스터는 실행되는 작업에 의하여 사용되는 어드레스를 오프셋트 값으로서 저장하는데 사용된다. 특정 어드레스가 ALU(11)를 위하여 요구된 피연산자 또는달리 요구된 데이터를 저장하는 제어기(1)의 다른 어드레스를 지시하기 위하여 이러한 오프셋트 값으로 증가된다.
별도 누산기의 제공과 필요한 경우 제어기(1)에 의하여 실행된 각 작업에 대한 별도의 인덱스 레지스터는 작업이 제어기(1)내에서 순환될 때 RAM(12)에 대한 데이터의 전송 또는 이로부터의 데이터 전송을 요구함이 없이 각 작동하는 작업이 그 자신의 누산기와 인덱스 값을 사용하고 유지할수 있도록 한다.
상기 언급된 바와 같이, 명령 레지스터/디코우더(3)는 제어기(1)에서 선택된 내부사건의 발생시 사건뱅크(5)로 신호를 보낸다.
스케줄러(7)는 ROM(2)과 RAM(12)으로부터 분리된 하드웨어장치의 형태로 구성되어 저장에 관련된 데이터의 전송과, 프로그램 카운터, 누산기값 및 RAM(12)에서 각 작업의 인덱스값의 호출을 요구함이 없이 작업의 변경이 이루어질 수 있다. 하드웨어형 유한상태기계(finite state machine), 프로그래머블 논리어레이, 별도의 ROM, 또는 기타 유사한 장치와 같은 하드웨어장치가 스케줄러(7)를 구성하는데 사용될 수 있다.
이제 제어기(1)에 의하여 ROM(2)에 저장된 작업의 관리에 대하여 상세히 설명키로 한다. 제2도는 제1도의 사건뱅크(5), 사건경로기(8) 및 스케줄러(7)를 보인 것이다. 제어기(1)에 의하여 실행될 수 있는 4개의 작업에 각각 P0, P1, P2, P3의 부호를 붙였다. 스케줄러(7)는 원형의 우선순위방식에 따라 각 작동하는 작어◎ 명령을 실행한다. 이와 같이 각 4개의 작업이 작동하면 스케줄러(7)는 순차적으로 각 작업의 한 명령을 실행한다. 그러나, 단 하나의 작업만이 작동한다면 스케줄러(7)는 지체없이 이러한 작업의 명령을 순차적으로 실행하고 이러한 방법으로 모노프로세서와 같이 작동한다.
작업 P0, P1, P2, P3가 각각 부호 PE0, PE1, PE2, PE3를 붙인 별도의 쌍안정 작업가능스위치에 의하여 사건경로기(8)에 연결된다. 각 작업은 해당 작업의 초기화요구신호가 사건경로기(8)로부터 수신될 때 실행된다. 작업가능스위치 PE0, PE1, PE2, PE3는 이들의 개방 또는 폐쇄상태에 따라서 작업 P0, P1, P2, P3이 각각 작업요구신호 Req0, Req1, Req2, Req3를 수신하는 것이 허용되거나 방지된다. 어떤 조건하에서는 하나 이상의 작업가능스위치를 개방상태로 설정함으로서 작업요구신호가 스케줄러(7)에 액세스되는 것을 방지하는 것이 바람직하다. 예를 들어, 이러한 구성은 하나의 작업(예를들어, 시간조절기능)이 하나 이상의 다른 작업(예를 들어 초침의 운동)의 작동을 일시적으로 중지시킬 수 있도록 하는데 사용될 수 있다. 작업가능스위치는 작업관리기(6)의 데이터 레지스터내에서 개별적으로 설정가능한 비트로 실현될 수 있다.
제3도는 4개의 각 작업 P0, P1, P2, P3이 제어기(1)에 의하여 사용되는 여러 방법중의 일부를 보인 것이다. 제3도 (a)의 경우에 있어서, 작업 P0만이 작동한다. 이후 상세히 설명되는 바와 같이, 작업 P1, P2, P3의 비공유자원은 이러한 구성에서 작업 P0의 서브루틴 레벨을 생성하는데 유용한다.
제3도 (b)의 청운에 있어서, 작업 P0, P3이 작동한다. 애 경우에 있어서 나머지 두 작업의 비공유자원은 서브루틴 레벨을 생성하는데 사용될 수있으며, 작업 P0, P3 사이에서 3가지 상이한 방법으로 공유될 수 있다. 첫째로, 두개의 각 작업 P1, P2의 비공유자원이 작업 P0으로부터 서브루틴을 호출하는데 사용될 수 있는 반면에, 작업 P3는 애에 유용한 서브루틴 레벨을 가지지 않는다. 둘째로, 두개의 각 작업 P1, P3의 비공유자원은 작업 P3의 서브루틴을 호출하는데 사용될 수 있는 반면에, 작업 P0는 이에 유용한 서브루틴 레벨을 가지지 않는다. 끝으로, 두개의 각 작업 P0, P3이 단일 서브루틴을 호출하기 위하여 나머지 두 작업중에서 다른 하나의 비공유자원을 사용할 수 있다.
제3도 (c)의 경우에 있어서, 3개의 작어비 작동하고 나머지 하나의 작업의 비공유자원이 작동하는 작업 P0 또는 P3의 하나에 의하여 서브루틴을 호출하는데 사용될 수 있다. 제3도 (d)에서, 4개의 각 작업 P0, P1, P2, P3이작동하고 비공유자원은 서브루틴을 호출하는데 유용하지 않다.
여러 작업의 관리가 스케줄러(7), 스택포인터(9)(10), 작업 P0, P1, P2,P3 및 이들에 관련된 프로그램 카운터 Pc0, Pc1, Pc2, Pc3를 보인 제4도를 참조하여상세히 설명될 것이다. 제어기(1)는 4개의 각 작업 P0, P1, P2, P3을 구성하는 일련의 명령에서 나타날 수 있는 명령 CALL 및 RETURN과같은 분기제어명령을 수행할 수 있게 되어 있다.
제4도 (a)에서 보인 실시형태에서, 작업 P0으로부터만 서브루틴을 호출하는 것이 가능하다. 제어기(1)는 스택포인터(9)가 작업 P0에 기여하도록 구성된다. 이러한 구성에 있어서, 유용한 경우 각 작업 P1, P2, P3의 비공유자원이 작업 P0의 서브류틴을 호출하는데 사용될 수 있다. 제어기(1)는 작업가능스위치 PE0 만인 폐쇄상태에 놓일 수 있도록 구성되어 작업요구신호 Rcq0 만이 작업을 실행할 수 있도록 한다.
따라서, 이 실시형태에서 스케줄러(7)는 항상 작업 P0을 지시한다. 초기화시에, 스택포인터(9)는 프로그램 카운터 Pc0가 저장되는 어드레스를 지시하도록 설정된다. CALL 명령과 같은 분기제어명령의 실행은 ROM(2)에 저장된 일련의 명령이 작업 P0으로부터의 서브루틴으로서 초기화되도록 한다. 본 발명의 기술분야에 전문가라면 잘 알 수 있는 바와 같이, CALL 명령과 같은 분기제어명령은 초기화되어야 하는 서브루틴의 스타팅 어드레스를 포함한다. 서브루틴이 이러한 작업에서 초기화될 때, 서브루틴이 초기화된 어드레스가 서브루틴이 종료될 때 작업이 다시 계속될 분기제어명령을 따라 리턴 어드레스를 지시하도록 먼저 증가된다. 그리고 스택포인터(9)의 값이 사용되지 않은 프로그램 카운터중의 하나(Pc1, Pc2 또는 Pc3)를 지시하도록 조절된다. 서브루틴의 실행중에 이러한 미사용의 선행 프로그램 카운터는 서브루틴에서 실행되는 명령의 진로를 유지한다. 서브루틴의 실행이 완료될때, 스택포인터(9)는 다시 프로그램 카운터 Pc0를 지시하도록 재조절되고 작업의 실행이 계속된다.
하나 이상의 서브루틴 레벨이 사용되는 경우, 스택포인터(9)의 값은 새로운 서브루틴이 초기화되어 사용되지 않은 프로그램 카운터를 지시할 때마다 조절된다. 이러한 방법으로, 제어기(1)는 RAM(12)의 데이터 스택에 리턴 어드레스를 저장할 필요없이 작업으로부터 서브루틴을 초기화할 수 있도록 되어 있다.
프로그램 카운터 Pc0, Pc1, Pc2, Pc3은 리턴 어드레스가 저장될 때 스택포인터(9)가 간단히 증분되고 서브루틴의 실행이 완료되었을 때 감분될수 있도록 연속어드레스를 갖는 것이 좋다.
제4도의 (a)는 제어기(1)의 모든 배공유자원이 작업 P0내로븐테 사용될 수 있고, 제어기(1)가 적용분야에 따라 상이하게 구성될 수 있는 구조를 보이고 있다. 제3도에서 보인 바와 같이, 작업 P0는 셋, 둘 또는 하나의 서브루틴 레벨을 사용하거나 또는 서브루틴 레벨을 사용하지 않을 수 있다. 이들각각의 경우, 스택포인터(9)는 이러한 구성에서 작업 P0에 할당된 대공유자 원과 관련하여 사용하는데 유용할 뿐이다. 예를 들어, 작업 P0가 서브루틴의 레벨을 한정하기 위하여 작업 P1의 비공유자원을 사용하는 구성에 있어서, 스택포인터(9)는 다만 작업 Pl의 프로그램 카운터와 함께 사용하는 것이 유용할 뿐이다.
제4도 (b)에서 보인 본 발명의 실시형태에 있어서, 제어기(1)는 스태고인터(10)가 작업 P3내에서 사용하기에 유용하도록 구성된다. 이러한 구성에 있어서, 스택포인터(10)는 프로그램 카운테 Pc0, Pc1, Pc2, Pc3 중에서 어느 것이이러한 작업에 사용되는 지를 지시하도록 사용될 수 있다. 각 작업 P0와 P3가 하나의 서브루틴 레벨을 갖는 경우에 두 스택포인터(9)(10)가 사용됨을 알 수 있다.
스택포인터(9)(10)가 작업 P0와 P3에 관련하여서만 설명되었으나, 다른 실시형태에 있어서는 이들 스택포인터중의 하나 또는 둘 모두가 다른 작업에도 관련될 수 있다. 마찬 가지로, 다른 실시형태의 제어기(1)가 작업 P1 과/또는 P2에 관련된 부가적인 스태포인터를 포함할 수 있어 서브루틴을 호출하는데 나머지 작업의 비공유자원이 유용한 경우 어떤 수의 작업 P0, P1, P2 또는 P3가 이들 자원을 사용할 수 있다.
본 발명의 분야에 전문가라면 이이해할 수 있는 바와 같이, 무제한수의 서브루틴과 서브루틴 레벨이 분기제어명령의 상기 언급된 기능을 모사하는 일련의 명령의 구성으로 각 작업 P0, P1, P2, P3에 동시에 기여할 수있다.
다시 제3도로 돌아가서, 제어기(1)에 의하여 수신된 내외사건의 관리와 적당한 작업요구신호의 생성이 설명될 것이다. 사건뱅크(5)로 향하는 사건은 4개의 그룹 gr0, gr1, gr2, gr3으로 나누어질 수 있다. 이들 사건은 그 상이한 작업의 처리를 개시하기 위하여 제어기(1)에 의하여 사용된다. 이들 각 사건그룹마다 6개의 사건이 관련되며, 그 4개의 내분사건이고 2개는 외부사건이다. 이들 각 사건그룹에 대하여 그 6개의 사건이 사건그룹신호를 발생하기 위하여 OR 기능으로 사건뱅크(5)에 가산된다. 이와 같이, 어느 특정 사건그룹의 6개 사건중의 어느 하나가 도달함으로서 사건뱅크(5)가 그 사건그룹에 해당하는 사건그룹신호를 발생토록 한다.
이와 같이 발생된 각 사건그룹신호는 사건경로기(8)의 구성에 따라서 작업P0, P1, P2, P3 중의 하나에 해당하는 작업요구신호를 발생하는 사건경로기(8)로 보내어진다. 각 작업요구신호는 특정의 작업으로 향하는 하나 이상의 사건의 존재를 나타내는 작동상태, 또는 이러한 작업으로 향하는 사건이 없음을 나타내는 비작동상태를 가질 수 있다.
특정의 작업과 관련된 사건이 존재하지 않을 때, 이에 따라 작업의 작동을 중단시킬 수 있다. 따라서, 제어기(1)에 의한 이러한 작업의 실행은 계속되지 아나한다. 모든 작업요구신호가 작동되지 않을 때, 제어기(1)는 휴지상태에 들어가며 이 경우 전력소비는 거의 제로상태이다. 그러나, 하나 이상의 사건이 존재할 때, 해당 작업요구신호는 작동될 수 없다.
사건경로기(8)에 의하여 제공되는 여러 구성모드가 제5도에서 설명된다. 본 발명의 경우와 같은 예시에서는 이러한 모드는 5가지 이다. 제5도(a)에서 보인 모드 0에서, 모든 사건그룹신호와 이에 따른 모든 사건은 작업 P0을 향한다. 이와 같이 다중작업제어기(1)는 작업 P0의 명령을 순차적으로 실행하는 모노프로세서와 같이 작동한다. 작업 P1, P2, P3의 실행은 사건뱅크(5)의 사건에 의하여 요구될 수 없어 서브루틴이 제어기(1)에 의하여 수행되는 단일작업으로부터 호출될 수 있도록 하는 이들 작업의 비공유자원을 제거 한다.
제5도(b)의 모드 1에서, 사건그룹 gr0, gr1, gr2로부터 사건그룹신호는 작업 P0를 향하는 반면에 사건그룹 gr3로부터의 사건그룹신호는 작업 P3를향한다. 작업 P1과 P2의 비공유자원은 작업 P0 및 P3내로부터 호출하는데 유용하다. 제5도(c)에서 보인 모드 2에서, 작업 P0 및 P3는 각각 사건그룹 gr0 및 gr1으로부터, 그리고사건그룹 gr2 및 gr3로부터의 사건그룹신호에 의하여 발생된 작업요구신호를 수신한다. 다시, 작업 P1과 P2의 비공유자원은 작업 P0와 P3로부터 서브루틴을 호출하는데 유용하다.
제5도(d)에서 보인 모드 3에서, 사건그룹 gr0와 gr1으로부터의 사건그룹신호는 작업 P0를 향하고, 사건그룹 gr2로부터의 사건그룹신호와 사건그룹 gr3로부터의 사건그룹신호는 배타적으로 작업 P3를 향한다. 다만 작업 P1의 비공유자원이 서브루틴을 호출하는데 유용하다. 끝으로, 제5도(e)에서 보인보트 4에서, 각 작업 P0, P1, P2, P3는 각각 사건그룹 gr0, gr1, gr2, gr3로부터의 사건그룹신호를 수신한다. 이와 같이, 제어기(1)의 사용자는 특정분야에 상응하는 최상의 사검경로모드를 선택할 수 있다.
끝으로, 본 발명의 다중작업제어기(1)는 그 발명의 사상을 벗어남이 없이 여러 가지 수정이나 변경이 가능한 것임을 이해할 것이다.

Claims (12)

  1. 일련의 명령으로 구성되는 N개까지의 작업(P0,P1,P2,P3)을 저장하기 위한 저장수단(2), 시분할을 이용하여 상기 다수의 N 작업을 처리하기 위한 마이크로프로세서와, 상기 마이크로프로세서에 의하여 생성되고 사용되는 여러 데이터를 저장하기 위한 데이터저장수단(12)으로 구성되는 다중 작업제어기에 있어서, 상기 마이크로프로세서가 상기 작업에 의하여 상기 마이크로프로세서의 사용을 제에하기 위하여 하드웨어에서 실현되는 스케줄러(7)와, 상기 N 작업중 하나의 명령순서를 제어하도록 상기 스케줄러에 의하여 각각 사용하기 위한 N 프로그램 카운터(Pc0,Pc1,Pc2,Pc3)를 저장하는 프로그램 카운터 저장수단으로 구성되어, 상기 스케줄러(7)가 상기 마이크로프로세서에 의하여 처리된 작업이 상기 데이터저장순단(12)으로부터의 데이터전송을 요구함이 없이 변경될 때 상기 프로그램 카운터(Pc0,Pc1,Pc2,Pc3)의 다른 하나를 자동적으로 선택할 수 있게 되어 있음을 특징으로 하는 제전력형 다중작업제어기.
  2. 제1항에 있어서, 상기 마이크로프로세서가 상기 각 N 작업에 대한 별도의 누산값을 저장하기 위한 별도 누산값저장순단(13)을 포함하고, 상기 마이크로프로세서에 의하여 처리된 작업이 변경될 때 상기 데이터저장수단(12)으로부터의 데이터전송을 요구함이 없이 상기 마이크로프로세서가 상기 누산값의 다른 하나를 선택할 수 있도록 되어 있음을 특징으로 하는 다중작업 제어기.
  3. 제1항에 있어서, 상기 마이크로프로세서가 상기 각 N 작업에 대한 별도의 인덱스값을 저장하기 위한 인덱스값저장수단(14)을 포함하고, 상기 마이크로프로세서에 의하여 처리된 작업이 변경될 때 상기 데이터저장수단(12)으로부터의 데이터전송을 요구함이 없이 상기 마이크로프로세서가 상기 인덱스값의 다른 하나를 선택할 수 있도록 되어 있음을 특징으로 하는 다중작업제어기.
  4. 제1항에 있어서, 상기 스케줄러(7)가 하드웨어형 유한상태기계로 구성됨을 특징으로 하는 다중작업제어기.
  5. 제1항에 있어서, 상기 스케줄러(7)가 프로그래머블 논리어레이로 구성됨을 특징으로 하는 다중작업제어기.
  6. 제1항에 있어서, 상기 스케줄러(7)가 ROM으로 구성됨을 특징으로 하는 다중작업제어기.
  7. 제1항에 있어서, 상기 마이크로프로세서가 상기 각 X 개의 작업의 일부를 처리할 수 있도록 구성되고(여기에서 1 < X < N), 나머지 N-X 작업중 하나 이상의 프로그램 카운터가 상기 X 작업으로부터 호출된 서브루틴의 명령순서를 제어하도록 상기 마이크로프로세서에 의하여 사용됨을 특징으로 하는 다중작업제어기.
  8. 제7항에 있어서, 상기 마이크로프로세서가 상기 X 작업의 하나를 처리하기 위하여 사용된 상기 프로그램 카운터 Pc0,Pc1,Pc2,Pc3)의 사용을 각각 제어하기 위한 하나 이상의 스택포인터(9,10)를 포함함을 특징으로 하는 다중작업제어기.
  9. 제1항에 있어서, 상기 마이크로프로세서가 하나 이상의 사건신호의 그룹으로부터 사건그룹신호를 수신하고 상기 작업중 선택된 하나에 상응하는 작업요구신호(Req0,Req1,Req2,Req3)를 발생하기 위한 사건경로기(8)를 포함하고, 상기 사건요구신호는 상기 스케줄러가 상기 선택된 작업을 실행토록 요구함을 특징으로 하는 다중작업제어기.
  10. 제9항에 있어서, 상기 각 사건신호가 상기 제어기의 주변장치로부터의 외부사건신호 또는 상기 마이크로프로세서에 의하여 발생된 내부사건신호로 구성됨을 특징으로 하는 다중작업제어기.
  11. 제10항에 있어서, 상기 사건경로기(8)가 사건신호의 각 N 그룹(gr0,gr1,gr2,gr3)으로부터 사건그룹신호를 수신함을 특징으로 하는 다중작업제어기.
  12. 제11항에 있어서, 상기 사건경로기(8)가 상기 선택된 작업에 상응하는 작업요구신호(Req0,Req1,Req2,Req3)가 사건신호의 하나 이상의 선택된 그룹(gr0,gr1,gr2,gr3)으로분터 수신된 사건그룹신호에 응답하여 발생될 수 있도록 구성됨을 특징으로 하는 다중작업제어기.
KR1019940702926A 1992-12-23 1993-12-10 저전력형다중작업제어기(명칭정정) KR100313261B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CH393592 1992-12-23
CH3935/92-3 1992-12-23
PCT/EP1993/003498 WO1994015287A2 (en) 1992-12-23 1993-12-10 Multi-tasking low-power controller

Publications (2)

Publication Number Publication Date
KR950700572A KR950700572A (ko) 1995-01-16
KR100313261B1 true KR100313261B1 (ko) 2002-02-28

Family

ID=4266665

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940702926A KR100313261B1 (ko) 1992-12-23 1993-12-10 저전력형다중작업제어기(명칭정정)

Country Status (12)

Country Link
US (1) US5630130A (ko)
EP (1) EP0627100B1 (ko)
JP (1) JP3776449B2 (ko)
KR (1) KR100313261B1 (ko)
CN (1) CN1043932C (ko)
AT (1) ATE188559T1 (ko)
CA (1) CA2128393C (ko)
DE (1) DE69422448T2 (ko)
DK (1) DK0627100T3 (ko)
HK (1) HK1012453A1 (ko)
TW (1) TW250549B (ko)
WO (1) WO1994015287A2 (ko)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3097434B2 (ja) * 1994-01-25 2000-10-10 ヤマハ株式会社 効果付加用ディジタル信号処理装置
JPH09505922A (ja) * 1994-09-19 1997-06-10 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 多数のマイクロ制御器の演算を実行するマイクロ制御器システム
FR2725054B1 (fr) * 1994-09-26 1997-01-17 Suisse Electronique Microtech Dispositif multitache de traitement de sequences d'instructions, a basse consommation d'energie
GB2296352A (en) * 1994-12-22 1996-06-26 Motorola Gmbh Microprocessor for executing multiplexed streams of instructions
JPH08320797A (ja) * 1995-05-24 1996-12-03 Fuji Xerox Co Ltd プログラム制御システム
DE19530483A1 (de) * 1995-08-18 1997-02-20 Siemens Ag Einrichtung und Verfahren zur Echtzeit-Verarbeitung einer Mehrzahl von Tasks
GB2311882B (en) * 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
DE69841526D1 (de) * 1997-03-04 2010-04-15 Panasonic Corp Zur effizienten Ausführung vieler asynchronen Ereignisaufgaben geeigneter Prozessor
US5938708A (en) * 1997-07-03 1999-08-17 Trw Inc. Vehicle computer system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of vehicle processes
US6188340B1 (en) * 1997-08-10 2001-02-13 Hitachi, Ltd. Sensor adjusting circuit
US6697935B1 (en) * 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6567839B1 (en) * 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
EP0926596B1 (en) * 1997-12-23 2007-09-05 Texas Instruments Inc. Processor and method for reducing its power usage
JP3407859B2 (ja) * 1998-04-24 2003-05-19 富士通株式会社 コーデック
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US7546444B1 (en) 1999-09-01 2009-06-09 Intel Corporation Register set used in multithreaded parallel processor architecture
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
AU7099000A (en) 1999-09-01 2001-03-26 Intel Corporation Branch instruction for processor
US6889319B1 (en) * 1999-12-09 2005-05-03 Intel Corporation Method and apparatus for entering and exiting multiple threads within a multithreaded processor
US6496925B1 (en) 1999-12-09 2002-12-17 Intel Corporation Method and apparatus for processing an event occurrence within a multithreaded processor
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6631430B1 (en) 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6307789B1 (en) 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US7296271B1 (en) * 2000-06-28 2007-11-13 Emc Corporation Replaceable scheduling algorithm in multitasking kernel
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
EP1199632A1 (en) * 2000-10-20 2002-04-24 Sun Microsystems, Inc. Method and apparatus for resource access synchronization
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US7225281B2 (en) 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7216204B2 (en) 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
DE10158774A1 (de) * 2001-11-30 2003-06-18 Infineon Technologies Ag Basisband-Chip mit integrierter Echtzeit-Betriebssystem-Funktionalität und Verfahren zum Betreiben eines Basisband-Chips
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7434222B2 (en) * 2001-12-20 2008-10-07 Infineon Technologies Ag Task context switching RTOS
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) * 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7610451B2 (en) * 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7437724B2 (en) 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7337275B2 (en) 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7672965B2 (en) * 2003-02-24 2010-03-02 Avaya, Inc. Finite-state machine augmented for multiple evaluations of text
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US20060095719A1 (en) * 2004-09-17 2006-05-04 Chuei-Liang Tsai Microcontroller having partial-twin structure
US8230144B1 (en) * 2004-10-19 2012-07-24 Broadcom Corporation High speed multi-threaded reduced instruction set computer (RISC) processor
US7793160B1 (en) 2005-03-29 2010-09-07 Emc Corporation Systems and methods for tracing errors
ITRM20060139A1 (it) 2006-03-13 2007-09-14 Micron Technology Inc Sistema ad unita di controllo distribuito di dispositivo di memoria
CN100437482C (zh) * 2006-12-31 2008-11-26 中国建设银行股份有限公司 应用软件的开发系统、生成方法及运行系统、运行方法
US8639913B2 (en) * 2008-05-21 2014-01-28 Qualcomm Incorporated Multi-mode register file for use in branch prediction
JP6117120B2 (ja) * 2014-01-17 2017-04-19 株式会社東芝 イベント管理装置、イベント管理方法およびモータシステム
GB2563587B (en) * 2017-06-16 2021-01-06 Imagination Tech Ltd Scheduling tasks
CN113326221B (zh) * 2021-06-30 2024-03-22 上海阵量智能科技有限公司 数据处理装置、方法、芯片、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57161941A (en) * 1981-03-30 1982-10-05 Fujitsu Ltd Data processing device
JPS6352241A (ja) * 1986-08-22 1988-03-05 Hitachi Ltd マイクロプロセツサ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT986411B (it) * 1973-06-05 1975-01-30 Olivetti E C Spa Sistema per trasferire il control lo delle elaborazioni da un primo livello prioritario ad un secondo livello prioritario
JPS5430074A (en) * 1977-08-10 1979-03-06 Seiko Epson Corp Time measuring system
JPS578853A (en) * 1980-06-17 1982-01-18 Mitsubishi Electric Corp Digital computer
EP0243402B1 (en) * 1985-10-15 1991-01-02 Unisys Corporation A special purpose processor for off-loading many operating system functions in a large data processing system
US4779194A (en) * 1985-10-15 1988-10-18 Unisys Corporation Event allocation mechanism for a large data processing system
US4796178A (en) * 1985-10-15 1989-01-03 Unisys Corporation Special purpose processor for off-loading many operating system functions in a large data processing system
JPH02254544A (ja) * 1989-03-29 1990-10-15 Matsushita Electric Ind Co Ltd マルチタスク型シーケンスプロセッサおよびその起動方法
US5237700A (en) * 1990-03-21 1993-08-17 Advanced Micro Devices, Inc. Exception handling processor for handling first and second level exceptions with reduced exception latency
US5317745A (en) * 1992-01-10 1994-05-31 Zilog, Inc. Minimal interrupt latency scheme using multiple program counters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57161941A (en) * 1981-03-30 1982-10-05 Fujitsu Ltd Data processing device
JPS6352241A (ja) * 1986-08-22 1988-03-05 Hitachi Ltd マイクロプロセツサ

Also Published As

Publication number Publication date
CA2128393A1 (en) 1994-07-07
DK0627100T3 (da) 2000-06-26
WO1994015287A2 (en) 1994-07-07
DE69422448T2 (de) 2001-08-23
DE69422448D1 (de) 2000-02-10
JP3776449B2 (ja) 2006-05-17
EP0627100A1 (en) 1994-12-07
HK1012453A1 (en) 1999-07-30
KR950700572A (ko) 1995-01-16
EP0627100B1 (en) 2000-01-05
CN1043932C (zh) 1999-06-30
TW250549B (ko) 1995-07-01
CN1089740A (zh) 1994-07-20
CA2128393C (en) 2001-10-02
WO1994015287A3 (en) 1994-08-18
US5630130A (en) 1997-05-13
ATE188559T1 (de) 2000-01-15
JPH07504058A (ja) 1995-04-27

Similar Documents

Publication Publication Date Title
KR100313261B1 (ko) 저전력형다중작업제어기(명칭정정)
US4414624A (en) Multiple-microcomputer processing
JP2514296B2 (ja) パ―ソナルコンピュ―タのためのディジタル信号処理サブシステム
US6301634B1 (en) Real time control method for a robot controller
US4109311A (en) Instruction execution modification mechanism for time slice controlled data processors
US6223279B1 (en) Single chip microcomputer having a dedicated address bus and dedicated data bus for transferring register bank data to and from an on-line RAM
US4837682A (en) Bus arbitration system and method
US20050022196A1 (en) Controller for multiple instruction thread processors
US5473763A (en) Interrupt vector method and apparatus
CN100440151C (zh) 用于并行多线程处理的方法和装置
KR20010041142A (ko) 단일 프로세서 동작 방법 및 프로세서의 네트워크를동작시키는 방법
JPH0550022B2 (ko)
US5949994A (en) Dedicated context-cycling computer with timed context
KR20010070469A (ko) 고속의 낮은 오버헤드 콘텍스트 스위치를 실행하는디바이스 및 방법
MXPA00007850A (es) Interrupciones de computadora de cero tiempo de procesamiento con conmutacion de trabajo.
US7565659B2 (en) Light weight context switching
CA1272295A (en) Multi-channel shared resource processor
EP0052713B1 (en) A process management system for scheduling work requests in a data processing system
US7562207B2 (en) Deterministic microcontroller with context manager
US6795911B1 (en) Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction
US5828861A (en) System and method for reducing the critical path in memory control unit and input/output control unit operations
JP2601359B2 (ja) 並行処理マイクロプロセッサ
Gracon et al. A high performance computing system for time critical applications
JPH02184925A (ja) 仮想計算機システム
SU896625A1 (ru) Устройство дл обработки данных

Legal Events

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

Payment date: 20101015

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee