KR100647526B1 - 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트 - Google Patents

태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트 Download PDF

Info

Publication number
KR100647526B1
KR100647526B1 KR1020067003806A KR20067003806A KR100647526B1 KR 100647526 B1 KR100647526 B1 KR 100647526B1 KR 1020067003806 A KR1020067003806 A KR 1020067003806A KR 20067003806 A KR20067003806 A KR 20067003806A KR 100647526 B1 KR100647526 B1 KR 100647526B1
Authority
KR
South Korea
Prior art keywords
task
interrupt
present
latch
tasks
Prior art date
Application number
KR1020067003806A
Other languages
English (en)
Other versions
KR20060024029A (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 KR20060024029A publication Critical patent/KR20060024029A/ko
Application granted granted Critical
Publication of KR100647526B1 publication Critical patent/KR100647526B1/ko

Links

Images

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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
    • 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
    • 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

Abstract

본 발명은 컴퓨터 아키텍처에서 태스크 변경 프로세싱 오버헤드 지연같은 인터럽트 대기시간을 감소시키거나 제거시킨 단일 하드웨어 제로 오버헤드 인터럽트 및 태스크 변경 시스템으로 구성된다. 시간의 손실 및 소프트웨어의 개입이 없이, 시스템은 일 사이클 및 다음 사이클의 사이 동안에 태스크 상태를 완전하게 저장하며 복원한다. 각각의 중앙 처리 장치(1)에서, 본 발명은 일 이상의 보조 래치를 사용하며, 일 래치(4)는 "실행" 래치로서 사용되면, 보조 래치 중의 하나는 태스크 저장 메모리에 접속된다. 본 발명은 기타 태스크가 태스크 저장 메모리(2)로 전송되고 태스크 저장 메모리(2)로부터 전송되는 동안 대체 "실행" 레지스터 및 보조 레지스터 사이의 접속을 스왑한다. 본 발명은 연결된 태스크의 명령 순차 수행을 위해 태스크를 연결하는 태스크 링크 시스템을 제공한다. 더 나아가, 본 발명은 다양안 태스크들이 그들의 태스크 데드라인에 가까워짐에 따라서 상대적인 우선 순위를 증가시키는 우선 순위 "대기(impatience)" 카운터 시스템을 포함한다.
Figure 112006013636212-pat00001
태스크, 래치, 우선 순위, 인터럽트

Description

태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트{ZERO OVERHEAD COMPUTER INTERRUPTS WITH TASK SWITCHING}
본 발명의 상기 및 기타 목적, 특징 및 이점은 첨부도면을 참조로 하기의 본발명의 상세한 설명을 고려하면 더 용이하게 이해될 것이다.
도 1은 본 발명에 따른 태스크 레지스터의 비트 슬라이스의 실시예의 회로 다이어그램.
도 2는 태스크 스위칭을 도시한 흐름도.
도 3은 인터럽트 및 태스크 변경 프로세싱 회로의 블록도.
도 4는 두개의 래치 대신에 세개의 래치를 사용하는 인터럽트 및 태스크 변경 시스템의 대안적인 실시예의 회로 다이어그램.
도 5는 추가적인 추적 회로를 구비한 태스크 레지스터의 회로 블록도.
도 6은 추적 제어 시스템의 실시예의 블록도.
도 7은 샘플 태스크 스위칭용 제어 시퀀스를 도시한 타이밍도.
본 발명은 데이터 처리 시스템에서 인터럽트 처리 및 태스크 스위칭 회로 및 방법에 관한 것이다.
현대의 컴퓨터는 인터럽트 프로세싱 및 태스크 스위칭을 자동화하는 특별한 하드웨어를 사용한다. 인터럽트는 I/O 전송, 클록, 하드웨어 고장, 소프트웨어 인터럽트 및 제로 나눔과 같은 소프트웨어 오류등의 이벤트를 포함한다. 인터럽트 프로그램이 실행 프로그램을 변경하지 않도록, 인터럽트된 태스크의 모든 상태는 저장되어야 한다. 그리고나서, 모든 새로운 인터럽팅 태스크 상태를 가지고 메모리로부터 검색되어야 하고, 프로세싱은 새로운 인터럽팅 태스크 상태로 계속되어야 한다. 일단 인터럽트 태스크가 완료되면, 상태 저장 프로세스를 반대로 해서 이전의 태스크를 복원시키도록 상태 저장 프로세스를 동작시킴으로써 인터럽트로부터의 복귀가 통상적으로 실행된다.
가장 최근의 컴퓨터는, 우선 추가적인 인터럽트를 금지시키고, 특수 인터럽트 서비스 프로그램으로 점프하기 전에 최소의 수의 상태 레지스터를 저장하는 하드웨어 인터럽트 메카니즘을 사용해서 태스크 변경 프로세스를 실행한다. 특수 인터럽트 서비스 프로그램은 나머지 태스크 레지스터를 필요에 따라서 저장한다. 그리고 나서 특수 인터럽트 서비스 프로그램은 인터럽트 태스크용 레지스터를 로드한다. 이 프로세스는 인터럽트로부터 복귀되기 위해 반전되어서 컴퓨터는 그 원래의 태스크로 복귀할 수 있다.
레지스터가 저장하고 복원하는 동안, 임의로 더 시도된 인터럽트는 시스템에 존재하는 데이터가 상실되는 것을 방지하기 위해 금지되어야 한다. 이와같이 컴퓨터는 인터럽트 대기시간이라고 알려진 이 기간동안의 입터럽트를 감지할 수 없다.
종래의 컴퓨터 아키텍처는 인터럽트에 응답하기 전에 현재의 명령을 완수한다. 전형적으로, 상기 명령은 그 기간동안 폭넓게 변화한다. 게다가, 다양한 컴퓨터 아키텍처는 현재 실행중인 프로세스의 모드 및 인터럽트 프로세스의 모드에 의존해서 상이한 인터럽트 대기시간을 가지고 있다. 이 두가지 요소는 서로 결합되어서 비-결정성 인터럽트 대기시간 지연 및 오버헤드를 야기시킨다.
각각의 새로운 인터럽트 태스크를 개시하는 것과 연관된 대기시간 지연외에 , 최신 컴퓨터도 태스크 사이의 스위칭을 하는데에도 시간이 걸린다. 이 스위칭 시간은 인터럽트 및 태스크 변경 프로세싱 오버헤드이다. 상기 시간은 레지스터를 저장하고 복원시키는 시간이며, 프로세싱에는 사용할 수 없는 시간이다. 상기 인터럽트 및 태스크 변경 프로세싱 오버헤드에는 많은 현대 컴퓨터에서 수십 또는 수백 사이클이 소요된다. 심지어 멀티-메가헤르츠 클록 속도로, 대기시간 지연 및 오버 헤드를 스위칭하는 것과 연관되어 요구되는 시간의 조합은 컴퓨터가 단지 수십 또는 수백 킬로헤르츠로 인터럽트를 프로세스 할 수 있게 한다. 한편, 멀티미디어 데이터 전송은 수십 내지 수백 메가헤르츠로 발생한다.
인터럽트 및 태스크 변경 대기시간 및 프로세싱 오버헤드에 있어서의 상기 현대 컴퓨터의 제한의 결과, 현재의 컴퓨터는 저장 버퍼를 과도하게 사용하거나 보조 특수 프로세서를 사용하지 않고서는 소망의 데이터 속도를 다룰 수가 없었다. 상기 버퍼의 크기로 인해서, 멀티 미디어 시스템에는 수십개의 칩 및 각 칩에 따른 비용이 요구된다. 기술적인 향상에 의해 더 많은 메모리가 각각의 집적회로에 장착 될 수 있슴에도 불구하고, 현재의 버퍼링된 데이터의 전송 방법의 큰 크기 및 복잡 성 때문에 컴퓨터의 성능은 저하되면서도 제조비용은 과도해진다. 현대의 응용방식은 상기 문제를 더 악화시키는 수많은 인터럽트를 필요로하고 있다.
많은 레지스터 인터럽트 및 태스크 스위치 시스템이 이전부터 제안되어 왔지만, 모두 여러가지 제한에 부딪혔다. 특히, 대형 레지스터 세트를 사용함으로써, 배선 및 커패시턴스 관련 지연의 동시 증가로 인해 전체 컴퓨터의 처리속도가 늦어진다. 기타 방법은 데이터를 저장하기 위해 별개 레지스터를 사용하는 것이었지만, 이것은 인터럽트를 실행하기 이전에, 태스크 저장 레지스터로 및 태스크 저장 레지스터로부터의 테이터가 이동하는 동안의 시간을 낭비시켰다. 그리고나서, 인터럽트 프로세싱이 개시될 수 있기 이전에, 작업중인 데이터를 일반용 레지스터에 로드하는 추가적인 시간이 사용되어야 한다.
종래의 컴퓨터 아키텍처의 추가적인 단점은, 비싼 하드웨어 에뮬레이터 또는 논리 분석기를 구비하지 않는 한 태스크 변경을 포함한 프로세서의 흐름을 추적하는 효과적인 방법을 가지고 있지 않다는 것이다. 한편, 종래의 하드웨어 에뮬레이터는 에뮬레이터가 테스트하는 컴퓨터만큼 빠르게 동작하지 않으면, 실 동작 중에는 컴퓨터를 테스트할 수 없다.
또한, 컴퓨터는 순차적인 실행시스템과 인터럽트가 경시적으로 그들의 우선 순위를 자동적으로 증가시킬 수 있도록하는 하드웨어 기반 테스크 링킹 순차 실행 시스템 및 대드라인 우선 순위 "대기" 카운터가 부족하다.
한편, 멀티사이클 인터럽트 불가능 명령은 인터럽트 대기시간의 지연을 증가시킨다. 상기 대기시간 지연은 현대의 정교한 컴퓨터에서 수백 또는 수천 사이클이 될 수 있다.
더 나아가, 최신 기술의 CPU는 각 사이클 마다 더 많은 데이터 및 명령이 프로세스될 수 있기 위한 데이터 및 명령의 프로세싱을 파이프라인 방식으로 처리한다. 상기 CPU는 수 많은 결점을 가지고 있다. 인터럽트가 들어올 때마다, 파이프라인 CPU는 파이프라인 내의 종료되지 않은 것은 무엇이든지 포기해야 하며, 그것이 다시 시작될 때, 다양한 카운터를 리셋해서 프로세싱을 재개한다. 이것이 소위 파이프라인 "기능정지"이다. 분기 명령이 수행될 때, 파이프라인 CPU는 분기가 진행될, 기능정지될 또는 다중 가능 분기 결과를 따를지를 판단해야 한다. 이런 모든 다양한 파이프라인 CPU의 상황에 의해서, 프로세스 리소스를 낭비하고 더 나아가 지연을 발생시킨다.
게다가, 종래의 컴퓨터 시스템은 고 데이터 속도에 적합한 방대한 버퍼링을 요구한다. 따라서, 비용, 낮은 에너지 및 냉각 비용, 및 증가된 성능면에서 이점을 지닌 싱글-칩 즉 단일 구조물을 제조하기에 이점이 없다.
발명의 개요
종래 컴퓨터의 동작 방법 및 현재 구조에 관해 상기한 문제점 및 제한상하에 관한 관점에서, 본 발명의 목적은 백그라운드에서의 인터럽트를 탐지하고, 태스크 메모리 엑세스 시간에 관계없이 메카니즘의 제로 오버헤드를 유지하면서 그리고 단지 태스크 저장 메모리 시스템의 크기에 의해서만 태스크의 수를 제한하면서, 소프트웨어의 개입없이 일 프로세서 사이클과 다음 프로세서 사이클의 사이에 완전한 상태의 저장 및 복원을 수행하기 위해 컴퓨터 구조에서 사용하기 위한 고유한, 제로 오버헤드 인터럽트 및 태스크 변경 매커니즘을 제공하는 것이다.
본 발명의 추가 목적은 인터럽트 및 태스크 변경의 이벤트시에 요구되어서 실행 태스크의 데이터를 별개 태스크 상태 저장요소에 전송할 필요성을 제거함으로써 시간의 손실을 방지하는 것이다.
본 발명의 다른 목적은 컴퓨터 프로그래밍 디버깅에서, 최고 속도 및 실-시간으로의 사용을 위해 컴프로세서의 흐름을 효율적으로 추적하기 위해서 시스템의 태스크 메모리의 일부를 사용하도록 하는 것이다.
본 발명의 다른 목적은 멀티 태스킹 시스템에서 요구되는, 링크된 태스크를 강제로 순차수행하기 위해서 태스크를 연결시키는 태스크 링크 시스템을 제공하는 것이다.
본 발명의 다른 목적은 다양한 태스크들의 상대적 우선 순위가 그들의 태스크 우선 순위 대드라인이 가까와 옴에 따라서 증가되는 우선 순위 "대기" 카운터 시스템을 제공하는 것이다.
본 발명의 추가 목적은 대용량 저장 버퍼와 특정한 보조 프로세서가 그것들과 연관된 비용 및 지연을 갖출 필요를 제거하는 것이다.
본 발명의 추가 목적은 CPU 레지스터의 상태뿐만 아니라 태스크의 전체 상태를 스위칭함으로써, 이전에 인터럽트 불가능 명령을 받도록 고려되었던 인터럽트가, 대기시간을 제거하거나 긴 멀티 사이클 인터럽트 불가능 명령에 포함되도록 하는 것이다.
*본 발명의 다른 목적은 대기시간의 예측불능성을 제거하기 위해 결정성 컴퓨터 아키텍처 구조를 만드는 것이다.
본 발명의 인터럽트 및 태스크 변경 메카니즘의 다른 목적은 컴퓨터 기능 정지 및 지연을 더 완전하게 제거하기 위해 이전에 요구된 CPU 파이프라인 및 분기-예측 회로의 일부를 제거하는 것이다.
더 나아가, 본 발명의 목적은 컴퓨터 프로세싱 속도를 높이면서 본 발명의 회로 에너지 및 냉각의 필요성을 감소시키기 위해, 시스템이 종래의 제조 과정으로 CPU내에 장착될 수 있는 단일의, 작은 집적회로의 범위내에서 시스템의 목적을 달성하기 위해서 시스템의 회로에 적합하도록 심플하게 소형으로 디자인되는 것이다.
본 본 발명의 이점은 컴퓨터가 인터럽트 및 태스크의 변경을 제로 오버 헤드, 및 국부 메모리로부터의 1 또는 2인 최소 수의 사이클의 대기시간으로 프로세스하게 하는 것이다. 이것은 백그라운드에서의 인터럽트를 탐지하고 태스크 메모리 엑세스 시간에 관계없이, 메카니즘의 제로 오버헤드를 유지하면서 그리고 단지 태스크 저장 메모리 시스템의 크기에 의해서만 태스크의 수를 제한하면서, 소프트웨어의 개입없이 일 프로세서 사이클과 다음 프로세서 사이클의 사이에 완전한 상태의 저장 및 복원을 수행함으로써, 전체 인터럽트 및 태스크 변경 프로세스를 완전히 자동화한 하드웨어를 사용함으로써 달성될 수 있다.
본 발명은 대형 레지스터 뱅크와 연관된 배선 및 커패시턴스 지연을 기피한다. 본 발명은 대형 메모리 기억장치로부터 레지스터 상태를 저장하고 복원하는 컴퓨터의 백그라운드 프로세스로부터 전기적으로 분리된 상대적으로 작은 레지스터 세트를 사용한다. 이것은 레지스터 뱅크와 비교해서 메모리 저장 장치의 밀도가 더 높다는 점에서 상당한 이점이다. 또한, 대기 시간을 소모하더라도, 레지스터 상태를 저장하기 위해서 외부 메모리 저장장치가 사용될 수 있다. 이것은 추가의 이용가능한 제로 오버헤드 태스크를 증가시키기 위한 시스템의 용량을 상당히 증가시킬 수 있다.
인터럽트 및 태스크 변경 메카니즘은 태스크 레지스터 비트 마다 두개 이상의 태스크 래치를 사용하여 상기 목적을 달성한다. 각각의 상기 래치는 대형 태스크 메모리 또는 CPU에 교대로 접속될 수 있다. 이와 같이 CPU가 하나의 래치를 사용하는 동안 기타 래치내로 데이터를 저장할 수 있으며, 추가의 태스크 데이터는 동시에 로드될 수 있다. 작은 상태 머신이 태스크 변경의 순서화를 제어한다.
인터럽트 및 태스크 변경 메카니즘의 아키텍처는 심플 레지스터 상에 2이하의 게이트 지연을 추가시킨다. 태스크 저장 임의 접근 기억 장치(RAM)으로의 엑세스 시간은 인터럽트 및 태스크 변경 오버헤드에 추가되지 않는다. 현재 집적회로 프로세스는 태스크 RAM이 일 사이클 이내에 동작될 수 있게 하고 "최악의" 인터럽트 및 태스크 변경 대기시간이 2사이클이 될 수 있도록 한다.
종래의 컴퓨터 시스템과는 대조적으로, 결정성 시스템은 동작 또는 인터럽트 모드, 및 현재의 명령의 존속기간과 무관하게 고정 대기시간을 가지고 있다.
본 발명에 있어서, 머신의 전체 상태가 인터럽트에 의해 유지된 후, 임의의 순간에 시스템은 인터럽트 가능하다. 인터럽트 지연은 2 사이클의 대기 시간중 한 사이클이며, 종래의 컴퓨터에 비해서 더욱 더 결정성이 있다.
본 발명의 추가 이점은 본 발명의 시스템이 결정성 인터럽트 구조를 사용하여 더욱 용이하게 디자인, 테스트 및 디버깅될 수 있다는 것이다.
본 발명의 다른 이점은 각각 단계적인 디버깅을 가능하게 하는 모드에 스스로 두어질 수 있는 오류 허용한계이거나 두어질 수 있는 오류허용한계라는 것이다.
또 다른 이점은 더 적은 비용을 프로세서의 배열에 사용하는 비-결정성 아키텍처에 반대해서 결정성을 사용하도록 유지하기 위해 더 적은 프로세싱 전력 및 더 적은 디버깅이 요구되는 것이다.
또 다른 이점은 본 발명이 결정성이기 때문에, 본 발명은 새로운 잠재적인 인터럽트 응용 기회를 용이하게 하는 것이다.
본 발명의 인터럽트 및 태스크 변경 메카니즘은 태스크 래치중의 하나를 CPU에 접속된 레지스터로 사용하기 때문에, 다른 방법에서와 같이, 별개의 태스크 상태 저장 요소로의 데이터 전송을 더이상 필요치 않다. 그 결과, 일련의 프로세스 동안 시간이 절약된다는 이점이 있다.
상기 인터럽트 및 태스크 변경 시스템의 또다른 이점은 본 시스템에 근거한 컴퓨터의 최고 속도 및 실-시간으로 디버깅하게 함으로써 일부 태스크 메모리의 일부 추적 메모리를 만드는 능력이다,
본 발명의 추가적인 이점은 그 태스크 링크 시스템은 태스크가 연결되어서 순차적으로 실행되어야 하는 태스크 링크 시스템이다. 이것은 소프트웨어 방법상에 비해 시간을 절약한다.
본 발명은 그 태스크 데드라인 우선 순위 카운터 시스템이 하드웨어 인터럽 트임을 신호전달하는 태스크가 그 우선 순위를 경시적으로 자동적으로 증가시킬 수 있게 하는 추가 이점을 제공한다. 특히, 이것은 오디오 태스크같은 더 느린 태스크에 적절하며, 오디오 태스크는 하위의 우선 순위에서 개시될 수 있다. 보통, CPU는 다음의 샘플 주기 이전의 임의의 시간이 짧기 때문에 더 하위의 우선 순위의 태스크를 수행할 시간을 검색한다. 그러나, 때때로 CPU는 다수의 상위의 우선 순위 태스크를 가진다. 상기 경우에, 본 발명의 태스크 데드라인 우선 순위 카운터 시스템은 하위 우선 순위 태스크의 데드라인이 접근함에 따라서 이들 태스크의 우선 순위를 점차적으로 증가시킨다.
본 발명의 다른 이점은 상기 인터럽트 및 태스크 변경 메카니즘으로 디자인된 컴퓨터 시스템이 상당한 버퍼링 및 부수적인 제어 회로 없이 멀티미디어 데이터 속도를 조정할 수 있다는 것이다. 이것은 더욱 더 적은 회로로 더욱 큰 I/O 기능성을 가능하게 한다.
본 발명의 주요 이점은 본 발명은 단지 CPU 레지스터의 상태 뿐만아니라 태스크의 전체 상태를 스위칭함으로써, 이전에 인터럽트 불가능 명령인 것으로 되어 있던 인터럽션이 대기시간을 제거하거나 그렇지않으면 장기 멀티사이클 인터럽트 가능 명령에 포함되도록 하는 것이다.
본 발명의 인터럽트 및 태스크 스위칭 시스템의 추가적인 이점은 CPU의 파이프라인 및 분기 예측 기능을 대치할 수 있다는 것이다. 제안된 발명은 파이프라인된 CPU에 존재하는 현재의 문제를 풀수 있다. 본 발명은 이것을 태스크를 스위칭함으로써 파이프라인 또는 분기 예측 회로 없이 달성할 수 있다. 어떠한 분기 예측도 필요없다. CPU는 분기 명령이 발생함에 따라서 분기 명령을 프로세스한다. 만약 분기 명령이 국부메모리에 존재하지 않는 데이터를 요구한다면 분기 태스크는 대기 태스크와 스와핑되고 프로세싱은 계속된다.
본 발명의 추가 이점은 기존의 제조 프로세스와 양립하는 단일의 소형 집적회로에 배치될 수 있기에 충분한 심플하고 콤팩트하다는 것이다. 결과적으로, 실제 회로를 위한 에너지 요구조건이 감소되고, 여분의 전기 냉각 에너지를 위한 동시적 요구조건을 갖춘 냉각 장비를 위한 가능한 요구조건을 감소시키거나 제거하며, CPU의 처리속도는 회로의 복잡도 및 감소에 의해 향상되어, 시스템의 침의 수 및 침 상호연결부의 감소를 가져온다.
본 발명을 수행하기 위한 최상의 모드
도 1은 컴퓨터(1)용 태스크 레지스터의 일 비트 슬라이스를 개략적으로 도시한다. 32개의 슬라이스가 각 32 비트 레지스터에서 사용된다. 전형적으로, CPU는 복수의 32 비트 레지스터를 사용한다. CPU(1) 및 정적 램(SRAM, 2)은 래치(3, 4)에 교대로 접속될 수 있다(결코 동일한 래치에는 접속되지 않는다). 검토 목적으로, 우리는 래치(3)를 CPU에, 래치(4)를 SRAM(2)에 접속시켰다. 이런 구성에서 CPU는 래치(3)에 저장된 태스크를 수행한다. CPU(1)가 태스크 래치(3)를 사용하여 프로그램을 실행하는 동안에 하드웨어는 백그라운드내에 있는 인터럽트를 프로세스한다.
도 3은 인터럽트 프로세싱 회로를 개략적으로 도시한다. 하드웨어 인터럽트(90)는 외부 핀, 내부 주변 장치 및 예외 발생기를 포함한 인터럽트를 위한 모든 가능한 하드웨어 소스를 포함한다. 바람직한 실시예에서, 각각의 주요 인터럽트 소스에는 고정된 하드웨어 태스크 번호가 할당된다. 대안적으로, 하드웨어, 소스, 및 태스크 사이에 매핑을 유연하게 할 수 있다. 타임-아웃 카운터 레지스터(91)가 종료 카운트에 도달하면, 타임-아웃 카운터 레지스터(91)는 임의의 하드웨어 인터럽트(90)와 같은 인터럽트 소스를 출력한다. 타임-아웃 카운터 레지스터(91)에 의해 제어되는 태스크는 타임-아웃 카운터 레지스터(91)가 종료된 후에 실행될 것이며, 실행은 타임-아웃 카운터 레지스터(91)로부터 새로운 타임-아웃 값을 자동적으로 전송할 것이다. 인터럽트의 가능 소스, 타임-아웃 카운터 레지스터(91) 및 하드웨어 인터럽트(90)는 OR 게이트(99)에 접속되어서 인터럽트 해금(enable) 제어(96)로 전송된다.
인터럽트 해금 제어 스위치(96)는 태스크 링크 시스템에 의해 제어된다. 태스크 링크 시스템은 태스크 복호기(82) 및 AND 게이트(100)를 통하여 저장된 태스크의 링크된 래치(83)를 토글하기 위해서 실행 태스크의 링크 레지스터(81)를 사용한다. 링크 레지스터(81)에 기록하는 동안에는 지정된 태스크는 금지된다. 링크된 래치가 세트된 후에, 필요한 태스크가 다시 실행될 때, 링크된 래치는 링크 레지스터(81)에 지정된 태스크를 다시 가능하게 한다. 그리고 나서 지정된 태스크는 실행될 수 있다. 링크된 태스크의 실행의 종료시에서, 만약 링크된 래치(83)가 태스크 복호기(102), AND 게이트(103) 및 OR 게이트(104)를 통해서 세트되었다면, 링크된 태스크는 자신의 인터럽트 인에이블 래치(97)를 디스에이블하게 할 것이다. 상기 회로의 논리도가 도 3a에 도시되어 있다. 이와 같이 상기 회로는 링크된 태스크 및 필요한 태스크가 실행을 교대하는 것 및 링크된 태스크가 항상 선필수 태스크 후에 실행되는 것을 보증할 것이다. 링크된 태스크의 긴 체인이 가능하다.
이것을 가능하게 하는 인터럽트 신호는 인터럽트 해금 제어(96)를 지나서 그들의 태스크 우선 순위 카운터 레지스터(95)로 입력된다. 상기 레지스터는 태스크의 개시 우선 순위를 가지고 수행될 때, CPU BUS를 통해서 태스크로부터 로딩된다. 대드라인 속도 래치(94) 역시 태스크가 수행될 때 마다 로딩되고 이것은 태스크 데드라인 우선 순위 카운터(93)에 로딩된다. 인터럽트 해금 제어(96)를 지나는 인터럽트는 태스크 데드라인 우선 순위 카운터(93)를 개시시킨다. 태스크 데드라인 우선 순위 카운터(93)는 행해질 때까지 카운트하며, 그리고나서 신호를 태스크 우선 순위 카운터(93)로 출력함으로써, 태스크 우선 순위를 1씩 증가시킨다. 이 동일한 신호는 데드라인 속도 래치(94)를 태스크 우선 순위 카운터(93)에 리로드하기 위해 사용된다. 이런 식으로 태스크는 데드라인이 접근함에 따라서 인터럽트된 후의 자신의 우선 순위를 증가시키도록 세트될 수 있다.
각각의 태스크는 태스크 우선 순위 카운터 레지스터(95)로부터 우선 순위 선택기(19)로 자신의 우선 순위를 전달한다. 상기 회로는 가장 높은 우선 순위를 선택해서 태스크 번호 및 우선 순위를 태스크 스위치 컨트롤러(20)로 전달한다. 태스크는 래치(4) 또는 래치(3) 중의 하나에서 실행을 대기하는 동안에 시간을 소비할 수 있기 때문에, 대기하는 태스크용 태스크 우선 순위 데드라인 우선 순위 카운터(93)는 MUX(92)를 지나서 태스크 스위치 컨트롤러(20)로 전송된다. 이런식으로 태스크 컨트롤러(20)는 대기 태스크의 우선 순위와 실행 태스크의 우선 순위를 초과 할 때 까지 대기 태스크의 우선 순위를 지속적으로 증가시킬 수 있고 그후 태스크 스왑을 개시시킨다.
동등한 우선 순위 태스크가 동시에 우선 순위 선택기(19)로 주어지는 이벤트시, 우선 순위 선택기(19)는 우선 순위를 결정해서 태스크를 순차적으로 선택할 것이다. 태스크 스위치 컨트롤러(20)는 태스크 스위치를 수행하기 위해서 태스크 컨트롤러 버스를 순차화하는 소형 상태 머신을 사용할 것이다. 도 2는 태스크 스위치를 수행하기 위해서 태스크 스위치 컨트롤러(20)에 의해 수행되는 단계를 도시하는 흐름도를 도시한다.
도 1에 있어서 타임 제로에서, 회로는 하기와 같이 세트된다: CPU(1)이 래치에 접속된다; 태스크 제어 버스 A/B 신호 라인이 B에 세트된다; 래치(3)의 Q출력은 멀티플렉서(MUX)를 통해서 CPU(1)의 입력으로 전송된다; CPU(1)의 출력은 MUX(14)를 통해서 래치(3)의 입력(D)으로 전송된다; 래치(4)의 출력은 MUX(13)를 통해서 SRAM(2)의 입력으로 들어간다; SRAM(2)의 출력은 MUX(15)를 통해서 래치(4)의 입력(D)로 전송된다.
태스크를 스위칭하는 제 1 단계는 SRAM(2)으로부터 CPU(1)에 의해 사용되지 않는 래치, 상기 경우에는 래치(4)로 전송되는 태스크를 판독하는 것이다. 상기 과정은 인터럽트 태스크 어드레스를 태스크 제어 버스 중에 TASK TO READ 주소 버스에 위치시킴으로써 수행된다. 클록 B 신호는 이때의 상태를 래치(4)에 저장한다. (우리의 예는 콜드 스타트에 의한 시작이기 때문에 래치(4)에 태스크가 없다. 일반적으로는 태스크가 있을 것이다. 이 태스크는 TASK TO WRITE에 목적지 주소를 표명 하고 클록 SRAM라인을 표명함으로써, 새로운 인터럽트 태스크가 SRAM(2)로부터 판독되는 것과 동시에 SRAM(2)에 다시 기록될 것이다.) 새로운 태스크는 시간(T2)에서 래치(4)에 로딩될 것이다(도 2). 동일한 클록 에지 또는 이후의 한 사이클의 일부에서, A/B 제어 신호는 B로 변경고, 이에의해 랫치(4)는 출력하거나 CPU(1)로부터 입력을 취하고, 랫치(3)는 입력을 취하여 SRAM(2)으로의 입출력이 행해진다. 이때, 만약 오리지널 태스크가 다시 인터럽트되면, A/B 라인은 SRAM(2)으로 부터 판독될 필요없이 태스크를 스위치하기 위해 다시토글된다.
상기 예는 스타트-업 되는 경우의 예이다. 일반적으로 일단 스타트되면, 새로운 인터럽트가 들어오는 경우 실행을 대기하는 태스크가 있다. 따라서 대기하는 태스크는 "플러시"(버려짐)된다. 그러나 바람직한 실시예에서, 새로운 인터럽트 태스크가 SRAM(2)으로부터 인출되는 동안 대기 태스크는 적어도 일사이클 동안 항상 실행되며 이전의 실행 태스크는 SRAM(2)에 저장된다. 순차적으로, 래치(3)가 CPU(1)에 접속되어서 태스크를 실행시킬 때, 및 래치(4)가 실행되도록 스케줄된 다음 태스크를 보류하고 잇는 동안, 만약 같거나 더 높은 우선 순위의 새로운 인터럽트가 우선 순위 검출기(19)에 의해서 검출되면(도 3), T1(도 2)에서, A/B라인은 B로 토글되어 래치(4)내의 태스크 데이터가 CPU(1)로 접속되어지게하고, 한편 래치(3)은 이제 SRAM(2)에 접속된다. 새로운 인터럽트 테스크 주소는 TASK TO READ 테스크 제어 버스에 놓여지고 이전의 실행 태스크 주소는 TASK TO WRITE 라인에 놓여진다. T2에서(도 2), 이전의 인터럽트 태스크 데이터는 SRAM(2)로 클록킹되고, 새로운 인터럽트 태스크 데이터는 래치(3)에 클록킹되고, CPU(1)는 임의의 데이터를 래치(4)에 클록킹할 것이다(만약 그렇게 프로그램되었다면). A/B라인은 래치(3)로부터 새로운 인터럽트 태스크를 실행하기 위해서 다시 A로 토글된다.
본 발명은 대안적인 실시예가 가능하다. 도 4는 2개의 래치 대신에 3개의 래치로 구현된 레지스터 비트를 도시한다. 여기서 3-입력 MUX(40, 41)는 2개의 래치의 디자인(도 1)의 2-입력 MUX를 대신한다. 추가 MUX(42)는 SRAM(2) 또는 CPU(1)을 선택하도록 추가된다. 여분의 래치에 의해 3 태스크가 단지 일 사이클의 대기시간을 가지게 된다. 그러나, 회로는 추가적인 배선 및 커패시턴스 때문에 비트당 더 크며, 다소 느리다. 더 간단한 MUX(13, 17)(도 1)에 비해서 MUX(40, 41)를 지나는 추가적인 게이트 지연이 존재한다. 주어진 응용분야에 대한 최적 구성은 사용되는 집적회로 제조과정의 특정한 특성 및 응용분야의 요구사항에 좌우된다.
도 5는 추적 기능의 실시예를 도시한다. 도 1에 도시되고 상기 설명된 바와 같은 테스크 스위칭 기능에 더해서, MUX(50) 및 3-상태 스위치(51)가 추가되었다. 추적 SRAM(2a)은 어드레싱 및 추적/태스크 제어 라인을 MUX(50)으로 변경시킴으로써, 추적 SRAM(2a) 또는 태스크 스위칭 SRAM(2)로서 사용된다. CPU(1)가 래치(3, 4)에 저장할 때, 만약 추적하면 MUX(50)는 추적 SRAM(2a)에 데이터를 전송시킬 것이다. 도 6은 추적 컨트롤러의 블록도를 도시한다. 다양한 테스트 포인트가 테스트 로직(61)에 의해 논리적으로 테스트되기 위해 MUX(60)에 의해 선택된다. 만약 테스트 로직이 그 상황이 사용자 테스트 세트 포인트에 매치된다는 것을 지시하면, 추적 컨트롤러(62)는 추적을 시작한다. 추적 컨트롤러(62)의 가장 간단한 이용은, 추적 신호를 표명하면서, 순차적인 추적 기록 어드레스를 출력한다. 추적 컨트롤러 (62)는 이벤트가 발생할 때까지 계속해서 추적하고 나서 추적을 멈추거나 멈추기전에 몇단계 동안 추적하도록 디자인될 수 있다. 추적 데이터의 판독은 추적 판독 비트에 접속되는 각각의 비트에 대해 3-상태(51, 도 5)로 제어를 전달한다는 것을 표명함으로써 수행된다. 추적 판독이 시간임계 태스크도 아니고 더 광범위한 버스를 사용함으로써 레지스터 출력을 위해 서로 그룹될 수도 없기 때문에 상기 데이터는 한번에 한 비트씩 판독될 수 있다.
본 발명의 다양한 실시예가 상기에 설명되었지만, 제한을 두지않고 예시의 방법으로 제시될 수 있슴은 이해될 것이다. 이와같이 본 발명의 사상 및 범위는 상기 설명된 실시예에 한정되지 않고, 첨부된 청구 범위와 그들의 균등물에 의해 규정하는 발명의 사상 또는 범위를 벗어남이 없이 다양한 수정이 가능하다.
상기 명세서에 사용된 용어 및 표현은 그 사용에 있어서 도시되고 설명된 균등물을 배제할 의도는 없으며, 이것은 청구의 범위에 의해서만 한정되고 제한된다.
상기와 같은 구성에 의해, 본 발명은 백그라운드에서의 인터럽트를 탐지하고, 태스크 메모리 엑세스 시간에 관계없이 메카니즘의 제로 오버헤드를 유지하면서 그리고 단지 태스크 저장 메모리 시스템의 크기에 의해서만 태스크의 수를 제한하면서, 소프트웨어의 개입없이 일 프로세서 사이클과 다음 프로세서 사이클의 사이에 완전한 상태의 저장 및 복원을 수행할 수 있고, 또한 인터럽트 및 태스크 변경의 이벤트시에 요구되어서 실행 태스크의 데이터를 별개 태스크 상태 저장요소에 전송할 필요성을 제거함으로써 시간의 손실을 방지하는 등의 효과가 있다.

Claims (1)

  1. 실행된 명령어의 레코드를 저장하도록 응용된 컴퓨터에 있어서,
    (a) 메모리 블록 입력 핀 셋트 및 출력 핀 셋트를 갖는 메모리 블록;
    (b) CPU 출력 핀 셋트를 갖는 중앙처리장치;
    (c) 집합적으로 랫치 출력 핀 셋트를 갖는 랫치 셋트;
    (d) 적어도 제1 입력 핀 셋트 및 제2 입력 핀 셋트, 멀티플렉서 출력 핀 셋트 및 스위칭 핀을 갖는, 멀티플렉서 어셈블리를 포함하고, 상기 제1 입력 핀 셋트는 상기 CPU 출력 핀에 전기적으로 접속되고, 상기 제2 입력 핀 셋트는 상기 랫치 출력 핀에 전기적으로 접속되고, 상기 멀티플렉서 출력 핀은 상기 메모리 블록 입력 핀에 전기적으로 접속됨으로써, 상기 CPU의 상기 출력은 이후의 검사를 위해 상기 메모리 블록에 선택적으로 저장될 수 있는 것을 특징으로 하는 컴퓨터.
KR1020067003806A 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트 KR100647526B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/023,333 1998-02-13
US09/023,333 US5987601A (en) 1997-02-14 1998-02-13 Zero overhead computer interrupts with task switching
PCT/US1999/002575 WO1999041661A1 (en) 1998-02-13 1999-02-05 Zero overhead computer interrupts with task switching

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020007008888A Division KR100617357B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트

Publications (2)

Publication Number Publication Date
KR20060024029A KR20060024029A (ko) 2006-03-15
KR100647526B1 true KR100647526B1 (ko) 2006-11-23

Family

ID=21814484

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020067003804A KR100635519B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
KR1020007008888A KR100617357B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
KR1020067003806A KR100647526B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020067003804A KR100635519B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
KR1020007008888A KR100617357B1 (ko) 1998-02-13 1999-02-05 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트

Country Status (14)

Country Link
US (2) US5987601A (ko)
EP (1) EP1062572A4 (ko)
JP (1) JP2002503845A (ko)
KR (3) KR100635519B1 (ko)
CN (1) CN1116639C (ko)
AU (1) AU2659899A (ko)
BR (1) BR9907848A (ko)
CA (1) CA2320913C (ko)
HK (1) HK1036663A1 (ko)
ID (1) ID26818A (ko)
MX (1) MXPA00007850A (ko)
NO (1) NO20004043L (ko)
TW (1) TW448366B (ko)
WO (1) WO1999041661A1 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845419B1 (en) * 2000-01-24 2005-01-18 Freescale Semiconductor, Inc. Flexible interrupt controller that includes an interrupt force register
KR100852563B1 (ko) 2000-10-18 2008-08-18 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 디지털 신호 처리 장치 및 방법
US20030014474A1 (en) * 2001-05-30 2003-01-16 Mckaig Ray S. Alternate zero overhead task change circuit
US20040172631A1 (en) * 2001-06-20 2004-09-02 Howard James E Concurrent-multitasking processor
US7136419B2 (en) * 2002-06-20 2006-11-14 Lightfleet Corporation Pulse width communications using precision timing
US6920632B2 (en) * 2002-08-23 2005-07-19 Xyron Corporation Dynamic multilevel task management method and apparatus
JP2005165961A (ja) * 2003-12-05 2005-06-23 Matsushita Electric Ind Co Ltd 動的再構成論理回路装置、割込制御方法、及び、半導体集積回路
US9286445B2 (en) * 2003-12-18 2016-03-15 Red Hat, Inc. Rights management system
US8533716B2 (en) 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US7779239B2 (en) * 2004-07-28 2010-08-17 Intel Corporation User opt-in processor feature control capability
US9038070B2 (en) 2004-09-14 2015-05-19 Synopsys, Inc. Debug in a multicore architecture
US7149129B2 (en) * 2004-10-25 2006-12-12 Lattice Semiconductor Corporation Memory output data systems and methods with feedback
JP4529661B2 (ja) * 2004-12-02 2010-08-25 株式会社アドヴィックス Abs制御装置
US7224622B2 (en) * 2005-02-14 2007-05-29 Himax Technologies, Inc. Method for writing data into memory and the control device
CN100361049C (zh) * 2005-03-08 2008-01-09 华硕电脑股份有限公司 计算机系统及其清除控制电路和清除环境设定内存的方法
JP4068106B2 (ja) * 2005-08-05 2008-03-26 三菱電機株式会社 リアルタイム組込み簡易モニタプログラム
US7937706B2 (en) * 2005-08-22 2011-05-03 Runtime Design Automation, Inc. Method and system for performing fair-share preemption
KR100679050B1 (ko) * 2005-12-12 2007-02-06 삼성전자주식회사 태스크간 빠른 문맥 교환을 위해 레지스터 문맥을 저장,복구하는 방법 및 장치
KR100663709B1 (ko) * 2005-12-28 2007-01-03 삼성전자주식회사 재구성 아키텍처에서의 예외 처리 방법 및 장치
KR100681199B1 (ko) * 2006-01-11 2007-02-09 삼성전자주식회사 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치
US8125243B1 (en) 2007-03-12 2012-02-28 Cypress Semiconductor Corporation Integrity checking of configurable data of programmable device
US8341641B2 (en) 2007-08-16 2012-12-25 Kernelon Silicon Inc. Task processor
US20110072247A1 (en) * 2009-09-21 2011-03-24 International Business Machines Corporation Fast application programmable timers
KR20150002129A (ko) * 2013-06-28 2015-01-07 에스케이하이닉스 주식회사 반도체 장치, 그를 포함하는 반도체 시스템 및 그 반도체 시스템의 테스트 방법
KR20170065845A (ko) 2015-12-04 2017-06-14 삼성전자주식회사 프로세서 및 제어 방법
US9971516B2 (en) 2016-10-17 2018-05-15 International Business Machines Corporation Load stall interrupt
CN108874517B (zh) * 2018-04-19 2021-11-02 华侨大学 固定优先级待机备用系统利用率划分能耗优化方法
CN111506531B (zh) * 2020-03-27 2023-06-02 上海赛昉科技有限公司 一种easy-master微码模块及其配置方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE634161A (ko) * 1962-07-03
US3789365A (en) * 1971-06-03 1974-01-29 Bunker Ramo Processor interrupt system
US3757306A (en) * 1971-08-31 1973-09-04 Texas Instruments Inc Computing systems cpu
US4010448A (en) * 1974-10-30 1977-03-01 Motorola, Inc. Interrupt circuitry for microprocessor chip
US4009470A (en) * 1975-02-18 1977-02-22 Sperry Rand Corporation Pre-emptive, rotational priority system
US4034349A (en) * 1976-01-29 1977-07-05 Sperry Rand Corporation Apparatus for processing interrupts in microprocessing systems
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
US4507727A (en) * 1982-02-11 1985-03-26 Texas Instruments Incorporated Microcomputer with ROM test mode of operation
US4628158A (en) * 1982-07-16 1986-12-09 At&T Bell Laboratories Stored program controller
US4642756A (en) * 1985-03-15 1987-02-10 S & H Computer Systems, Inc. Method and apparatus for scheduling the execution of multiple processing tasks in a computer system
US5142677A (en) * 1989-05-04 1992-08-25 Texas Instruments Incorporated Context switching devices, systems and methods
US4888691A (en) * 1988-03-09 1989-12-19 Prime Computer, Inc. Method for disk I/O transfer
JP3333196B2 (ja) * 1991-07-08 2002-10-07 セイコーエプソン株式会社 トラップ処理方法
US5557766A (en) * 1991-10-21 1996-09-17 Kabushiki Kaisha Toshiba High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
US5682554A (en) * 1993-01-15 1997-10-28 Silicon Graphics, Inc. Apparatus and method for handling data transfer between a general purpose computer and a cooperating processor

Also Published As

Publication number Publication date
HK1036663A1 (en) 2002-01-11
EP1062572A4 (en) 2003-06-25
CA2320913A1 (en) 1999-08-19
KR20060024029A (ko) 2006-03-15
MXPA00007850A (es) 2002-08-20
CN1116639C (zh) 2003-07-30
CA2320913C (en) 2008-10-14
EP1062572A1 (en) 2000-12-27
CN1293776A (zh) 2001-05-02
US6981133B1 (en) 2005-12-27
KR100635519B1 (ko) 2006-10-17
AU2659899A (en) 1999-08-30
KR20010040959A (ko) 2001-05-15
BR9907848A (pt) 2002-05-07
NO20004043D0 (no) 2000-08-11
US5987601A (en) 1999-11-16
KR100617357B1 (ko) 2006-08-28
NO20004043L (no) 2000-10-11
WO1999041661A1 (en) 1999-08-19
KR20060031883A (ko) 2006-04-13
JP2002503845A (ja) 2002-02-05
TW448366B (en) 2001-08-01
ID26818A (id) 2001-02-15

Similar Documents

Publication Publication Date Title
KR100647526B1 (ko) 태스크 스위칭에 의한 제로 오버헤드 컴퓨터 인터럽트
US6256775B1 (en) Facilities for detailed software performance analysis in a multithreaded processor
US6629236B1 (en) Master-slave latch circuit for multithreaded processing
US6539500B1 (en) System and method for tracing
JP3105223B2 (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
JP3609603B2 (ja) マルチスレッド・プロセッサ内でパフォーマンスを監視する方法およびシステム
US5983335A (en) Computer system having organization for multiple condition code setting and for testing instruction out-of-order
US7082518B2 (en) Interruptible digital signal processor having two instruction sets
EP0272036A2 (en) Methods and apparatus for providing a microprocessor test interface
JPH1097461A (ja) メモリ用マルチ・スレッド・セル
US6691268B1 (en) Method and apparatus for swapping state data with scan cells
US4403287A (en) Microprocessor architecture having internal access means
NZ201809A (en) Microprocessor
US7120915B1 (en) Thread switch circuit design and signal encoding for vertical threading
US7200773B2 (en) Reproducing errors via inhibit switches
US6594741B1 (en) Versatile write buffer for a microprocessor and method using same
US20060193260A1 (en) Preemptive packet flow controller
US7100027B1 (en) System and method for reproducing system executions using a replay handler
EP0806723A2 (en) Method and apparatus for handling multiple precise events in a pipelined digital processor
CN115777097A (zh) 清除寄存器数据
Li Online self-test, diagnostics, and self-repair for robust system design
US20030014474A1 (en) Alternate zero overhead task change circuit
KR100214644B1 (ko) 프로세서의 메모리 다중 액세스 회로
EP0271986A2 (en) Data processing system having a hierarchy of service computer
Harmin et al. Enabling multithreading executions on the XILINX microkernel with a hardware scheduler

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee