KR840007187A - 서브루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치 - Google Patents

서브루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치 Download PDF

Info

Publication number
KR840007187A
KR840007187A KR1019830005727A KR830005727A KR840007187A KR 840007187 A KR840007187 A KR 840007187A KR 1019830005727 A KR1019830005727 A KR 1019830005727A KR 830005727 A KR830005727 A KR 830005727A KR 840007187 A KR840007187 A KR 840007187A
Authority
KR
South Korea
Prior art keywords
address
interrupt
register
return
subroutine
Prior art date
Application number
KR1019830005727A
Other languages
English (en)
Other versions
KR900007565B1 (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 KR840007187A publication Critical patent/KR840007187A/ko
Application granted granted Critical
Publication of KR900007565B1 publication Critical patent/KR900007565B1/ko

Links

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
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

내용 없음

Description

서브루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명을 활용한 데이타처리 시스템의 일반적인 블록아이어그램.
제2도는 본 발명의 원리를 수행하는 제1도의 마이크로프로세서의 제어부에 대한 블록다이어그램.
제4도는 본 발명에 따른 두개의 서브루틴 및 두개의 하드웨어 인터럽트 서비스 루틴을 통해 주루틴에서 마이크로 프로그램의 마이크로 명령의 실행에 대한 시작이 연속적인 순서로 되는 순서도.

Claims (27)

  1. 서브루틴으로부터 인터럽트 서비스루틴으로 그리고 인터럽트 서비스루틴으로부터 서브루틴으로 전환 하기 위한 방법으로서, 서브루틴으로의 브랜치를 확인하는 메모리(24)로부터 루틴의 제1마이크로 명령을 발생하는 단계와, 서브루틴으로의 브랜치를 수행하는 단계와, 인터럽트 서비스루틴으로 인터럽트를 발생하는 단계와, 서브루틴으로부터 또는 인터럽트 서비스루틴으로부터 리턴을 확인하는 메모리(24)로부터의 마이크로명령을 발생하는 단계와, 서브루틴 또는 인터럽트 서비스루틴으로부터 리턴을 수행하는 단계로 구성되며, 상기 서브루틴으로의 브랜치를 수행하는 단계는 금지가능한 인터럽트의 발생을 금지시키는 단계와, 현재 어드레스 레지스터(66)내의 제1마이크로 명령의 현재 어드레스를 인크리멘트(64)에 전송하는 단계와, 현재 어드레스를 인크리멘트하여 인크리멘트된 어드레스를 발생하는 단계와, 리턴 어드레스인 인크리멘트된 어드레스를 푸쉬 다운 스택(70)이 제1레지스터(71)내에 스토어시키는 단계와, 앞서의 리턴 어드레스를 인접레지스터(72,73,74)에 인트리멘트된 어드레스의 스토어와 동시에 푸쉬다운 스택에서 한레벨낮게 전송하는 단계와, 만일 인터럽트가 있지 않든지 또는 모든 상면 인터럽트들이 금지되었다면, 제1마이크로명령내의 다음 어드레스를 다음 어드레스 레지스터(63)내로 전송하는 단계와, 다음 어드레스 레지스터(63)내의 다음 어드레스(64)로 전송하는 단계와, 다음 어드레스 레지스터(63)로부터의 다음 어드레스를 사용하여 메모리(24)로부터 서브루틴의 제1마이크로명령인 제2마이크로명령을 발생하는 단계로 구성되며, 상기 인터럽트 서비스루틴으로 인터럽트를 발생하는 단계는 최상의 우선 순위의 금지되지 않은 당면 인터럽트의 백터인터럽트 어드레스를 당면의 금지안된 인터럽트가 있을때 발생하는 단계와, 인터럽트들이 금지되지 않는다면 다음 어드레스 레지스터(63)로 백터인럽트 어드레스를 전송하는 단계와, 인터럽트들이 금지되어 있을때 리턴 어드레스인 현재 마이크로 명령으로부터 다음 어드레스를 푸쉬다운 스택의 제1레지스터(71)로 스토어하는 단계와, 앞서의 리턴 어드레스를 리턴 어드레스의 스토어와 동시에 푸쉬다운 스택(70)내에서 한 레벨 낮게 인접 레지스트(72,73,74)들로 전송하는 단계와, 다음 어드레스 레지스터(63)내의 백터 인터럽트 어드레스를 현재 어드레스 레지스터(66)으로 전송하는 단계와, 다음 어드레스 레지스터(63)로부터의 백터 인터럽트 어드레스를 사용하여 메모리(24)로부터 제1인터럽트 서비스루틴의 제1마이크로 명령인 제3마이크로 명령을 발생하는 단계로 구성되며, 상기 서브루틴 또는 인터럽트 서비스루틴으로부터 리턴을 수행하는 단계는 푸쉬다운 스택(70)내의 제1레지스터(71)로부터, 인터럽트가 걸려있지 않든지 또는 모든 당면 인터럽트들이 금지되면, 다음 어드레스 레지스터(63)로 전송하는 단계와, 리턴 어드레스를 다음 어드레스 레지스터(63)로 전송함과 동시에 앞서의 리턴어드레스를 인접레지스터(71,72,73)내로 푸쉬다운 스택(70)내에서 한 수준 높게 전송하는 단계와, 만일 당면의 금지 안된 인터럽트가 있다면 최상의 우선순위의 금지안된 당면 인터럽트의 벡터 인터럽트 어드레스를 발생하는 단계와, 만일 인터럽트들이 금지되지 않았다면 벡터 인터럽트 어드레스를 다음 어드레스 레지스터(63)내로 전송하는 단계와, 다음 어드레스 레지스터(63)내로 전송하는 단계와, 다음 어드레스 레지스터(63)로부터의 어드레스를 사용하여 메모리(24)로부터, 만일 금지안된 인터럽트들이 걸려있지 않을때는 서브루틴으로부터 브랜치하는 마이크로명령에 대해 뒤이은 마이크로명령인 제4마이크로명령을 또는 당면의 금지안된 인터럽트가 존재할때는 뒤이은 인터럽트 서비스루틴의 제1마이크로 명령을 발생하는 단계로 구성되는 것을 특징으로 한 서브루틴 및 인터럽트 서시브루틴용 프로그램 카운터 스택킹방법.
  2. 제1항에 있어서, 서브루틴으로의 브랜치를 수행하는 단계는 리턴을 수행하는 단계가 발생되기까지 몇번이고 반복되는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  3. 제1항에 있어서, 인터럽트 서비스루틴으로부터의 리턴단계에 앞선 인터럽트 발생단계는 서브루틴으로부터의 리턴단계가 발생하기 전에 발생하는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램카운터의 스택킹 방법.
  4. 제1항에 있어서, 서브루틴으로의 브랜치를 수행하는 단계가 현재 마이크로명령으로부터 다음 어드레스를 셀렉트하기 위해 제1값을 가지는 메모리(24)로부터 발생된 현재 마이크로 명령의 어드레스난으로서 제1멀티플렉서(60)를 인에이블시키는 단계와, 모든 당면의 인터럽트들이 금지된때 인크리멘티(64)의 출력으로부터 리턴 어드레스를 셀렉트하며, 금지되지 않은 당면의 인터럽트들이 있다면 제1멀티플렉서의 출력으로부터 리턴 어드레스를 셀렉트하는 리턴 멀티플렉서(61)를 인에이블시키는 단계로 구성되는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  5. 제4항에 있어서, 인터럽트 서비스루틴으로 인터럽트를 발생하는 단계는 최상위의 우선순위의 금지안된 당면 인터럽트의 벡터 이터럽트 어드레스가 다음 어드레스가 되도록 선택되는 제2멀티플렉서(62)를 인에이블시키는 단계와, 제1멀티플레서(60)로부터의 출력으로부터 리턴 어드레스를 선택하도록 리턴 멀티플렉서(61)를 인에이블시키는 단계를 포함하는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램카운터 스택킹방법.
  6. 제5항에 있어서, 서브루틴으로부터 인터럽트 서비스 루틴으로부터의 리턴을 수행하는 단계는 푸쉬다운 스택(70)의 제1레지스터(71)로부터 다음 어드레스를 선택하도록 제2값을 갖는 메모리(24)로부터 발생된 현재 마이크로명령의 어드레스난에 의해서, 제1멀티플렉서(60)를 인에이블시키는 것을 포함한 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  7. 제6항에 있어서, 푸쉬다운 스택(70)내에 리턴 어드레스를 스토어하는 단계는 다수의 쉬프트레지스터(70A-70K)들을 한자리씩 제1방향으로 이동시킴으로 이뤄지고, 푸쉬다은 스택(70)으로부터 리턴 어드레스를 전송하는 단계는 제1방향과 반대방향인 제2방향으로 한자리씩 상기 쉬프트 레지스터들(70A-70K)을 이동시킴으로 달성된다는 것을 특징으로 한 서스루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  8. 제1항에 있어서, 금지가능한 인터럽트들의 발생의 금지시키는 단계는, 당면의 금지 불가능한 인터럽트가 없을때 인터럽트 발생단계가 현재 마이크로 명령의 수행기간중에 발생하는 것을 예방하여 현재 마이크로 명령의 수행이 메모리로부터 발생된 뒤이은 마이크로명령의 수행보다 앞서게 되며, 뒤이은 마이크로 명령의 어드레스는 현재 마이크로 명령의 수행에 의해서만 결정되고 금지가능한 인터럽트의 벡터인터럽트 어드레스에 의해서 결정되지 않는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  9. 제1항에 있어서, 다음 어드레스 레지스터(63)내의 다음 어드레스를 현재 어드레스 레지스터(66)로 전송하는 단계는 푸쉬다운 스택의 제1레지스터(71)내의 인크리멘트된 어드레스를 스토어하는 단계와 동시에 일어나는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  10. 제1항에 있어서, 다음 어드레스 레지스터(63)내의 벡터 인터럽트 어드레스를 현재 어드레스 레지스터(66)에 전송하는 단계는 푸쉬 다운 스택(70)의 제1레지스터로 현재 마이크로 명령으로부터의 다음 어드레스를 스토어하는 단계와 동시에 일어나는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램 카운터 스택킹방법.
  11. 제1항에 있어서, 푸쉬다운 스택(70)은 오버팝 서비스루틴으로 초기화되며, 앞서의 리턴 어드레스를 인접 레지스터(71-73)들로 한 레벨 높게 전송하는 단계는 오버팝 서비스 루틴 어드레스를 푸쉬다운 스택(70)의 최종 레지스터(74)로 전송하는 것을 포함하여 푸쉬다운 스택(70)의 제1레지스터(71)로부터 리턴어드레스의 과잉전송을 수행하는 것이 오버팝 서비스루틴의 수행을 일으키도록 한 것을 특징으로 한 서브루틴 및 인터럽트 서비스 루틴용 프로그램 카운터 스택킹방법.
  12. 다수의 서브루틴을 호출하는 루틴을 실행하고, 다수의 인터럽트에 반응하여 다수의 인터럽트 서비스루틴을 실행하기 위한 데이타처리 시스템(10,20,40)으로서, 상기 시스템은 일련의 마이크로 명령을 제공하는 수단(24,63,65)과, 금지불능 인터럽트의 발생에 응답하여 수단(24)을 제공함으로서 제공되는 상기 일련의 마이크로 명령을 변경하는 수단(58,59,62)과, 스토어수단(70)과 스토어수단(7)의 상단 레지스터(71)로부터 수단(24,63,65)까지 리턴 어드레스의 반대순서로 순차적으로 전송하기 위한 일련의 제2형태의 마이크로 명령에 반응하는 전송수단(60,62)으로 구성되는데, 상기 마이크로 명령의 각각은 제공수단(24,63,65)의 마이크로 명령의 어드레스를 정의하는 어드레스난과, 전송로를 정의해 주는 지령난을 포함하고,마이크로 명령의 제1형태는 서브루틴으로의 브랜치를 규정해 주고, 마이크로 명령의 제2형태는 서브루틴 또는 인터럽트 서비스루틴으로부터 리턴을 규정해 주며, 상기 변경을 하는 수단(58,59,62)은 벡터 인터럽트 어드레스를 인터럽트 서비스루틴의 시작 어드레스로서 사용되는 제공수단(24,63,65)에 공급해 주며, 스토어수단(70)은 일군의 레지스터가 상단레지스터(71)이고, 다른 일군의 레지스터는 하단레지스터(74)이고, 그밖의 남은 레지스터(72,73)는 상단과 하단 사이의 중간 레지스터로서 구성되어 1회 리턴어드레스를 유지하도록 직렬결합된 레지스터(71-74)들과, 상단 레지스터(71)와 그밖의 레지스터(72,73,74)와 결합되며, 제공수단과 응답하여 직렬로 리턴 어드레스를 다수의 레지스터(71,72,73,74)들의 하단 레지스터(64)로 전송하기 위한 제1수단과, 하단 레지스터(74) 및 그밖의 레지스터(71,72,73)에 결합되며 제공수단(24,63,65)에 응답하여 리턴 어드레스를 다수의 레지스터(71,72,73,74)의 상단(71)에 직렬로 전송하는 하부수단으로 구성되며, 또한 스토어수단(70)은 앞서의 루틴들의 리턴어드레스와 서브루틴들을 상단레지스터(71)에 순차적으로 스토어하도록 마이크로명령의 한 형태나 금지안되는 인터럽트의 발생에 대해 응답하는 것을 특징으로 한 인터럽트 서비스루틴용 데이타처리 시스템.
  13. 제12항에 있어서, 마이크로명령의 지령난의 제1지령난은 전송수단(60,62)으로부터의 리턴 어드레스를 수신하도록 스토어수단70)을 인에이블하기 위한 제1값을 가지며, 마이크로명령의 어드레스난의 제1어드레스난은 상기 리턴 어드레스를 전송수단(60,62)에 전달하기 위해 스토어수단(70)을 인에이블하기 위한 제1값을 가진 것을 특징으로 한 인터럽트 서비스루틴용 데이타처리 시스템.
  14. 제13항에 있어서, 제공수단(24,63,65)의 어드레스를 미리 규정된 값씩 인크리멘트하는 수단(64)을 또한 포함하며, 상단 레지스터(71)가 제1지령난의 제1값에 응답하여 인크리멘트 수단(64)으로부터 인크리멘트된 어드레스를 수신하는 것을 특징으로 한 언터럽트 서비스 루틴용 데이타처리 시스템.
  15. 제14항에 있어서, 마이크로명령의 지령난중의 제2 지령낭은 인터럽트 금지시키기 위한 제1값의 인터럽트를 이용하기 위한 제2값을 가지며, 제2지령난의 제1값은 제1지령난의 제1값과 연관하여 사용되어 서브루틴중의 하나로 브랜치하는 동안에 리턴 어드레스를 스토어하는 기간에 인터럽트가 발생하는 것을 방지하는 것을 특징으로 한 인터럽트 서비스루틴용 데이타처리 시스템.
  16. 제14항에 있어서, 만일 금지안되는 인터럽트가 서브루틴 또는 인터럽트 서비스루틴으로부터 리턴을 규정하는 마이크로 명령의 제2형태중에 발생한다면, 상단 레지스터(71)로부터 리턴 어드레스를 제공수단(24,63,65)으로의 전송으로부터 스토어수단(70)을 디스에이블시키는 수단(90-95)을 또한 포함하는 것을 특징으로 한 인터럽트 서비스 루틴용 데이타처리 시스템.
  17. 제13항에 있어서, 스토어수단(70)은 다수의 쉬프트 레지스터(71-74)로 구성된 것을 특징으로 한 인터럽트 서비스 루틴용 데이타처리 시스템.
  18. 인터럽트 서비스루틴을 호출하며, 루틴과 서브루틴을 순차적으로 호출하기 위한 데이타처리 시스템에 있어서, 제공수단내에서의 어드레스로 번지 지정되는 각각의 마이크로명령의 시퀸스를 제공수단(24,65)과 제공수단으로부터 어드레스를 수신하는 수신수단(63)과, 스토오수단(70)과 상단 레지스터(71)로부터 수신수단(63)까지 다음 어드레스가 되어지는 리턴 어드레스를 전송하기 위해 제2값을 가지는 제1어드레스난에 응답하는 전송수단(60,62)으로 구성되며, 상기 각 마이크로명령은 제공수단의 마이크로 명령의 다음 어드레스를 정의해 주는 어드레스난과, 전송로를 정의해 주는 지령난을 포함하고 있으며, 어드레스난의 제1어드레스난은 서브루틴으로의 브랜치를 규정하는 제1값을 가지며, 제2어드레스난은 서브루틴이나 인터럽트 서비스루틴으로부터의 리턴을 규정하는 제2값을 가지며, 지령난의 제1지령난은 리턴어드레스의 전송을 규정하는 제1값을 가지며 제2지령난은 인터럽트의 인에이블을 규정하는 제2값을 가지며, 상기 수신수단으로부터의 어드레스는 다음 어드레스가 되고, 상기 스토어수단은 직렬 결합된 상단 및 하단 레지스터 및 다른 레지스들로 된 레지스터터들(71-74)과, 상기 레지스터들과 결합되어 다수의 레지스터(71-74)들 중의 하단 레지스터(74)로 리턴 어드레스를 직렬로 전송하기 위해 제1값을 가진 지령난에 응답하는 제1수단(80-85, 90-95)과, 하단 및 다른 레지스터들에 결합되어 다수의 레지스터(71-74)의 상단레지스터(71)로 리턴 어드레스를 직렬 전송하기 위해 제2값을 가진 제1어드레스난에 응답하는 제2수단(86,88,90-95)과, 제1값을 가진 제1어드레스난과 제1값을 가진 제1지령난에 응당하기 위해 리턴 어드레스난을 수신하는 상단 레지스터(71)로 구성된 것을 특징으로 한 루틴 및 서브루틴을 순차적으로 호출하고, 인터럽트 서비스루틴을 호출하기 위한 데이타처리 시스템.
  19. 제18항에 있어서, 인크리멘트된 현재 어드레스를 발생하기 위해 현재 어드레스를 미리 규정된 수씩 인크리멘트하기 위해 수신수단(63)에 결합되는 인크리멘트수단(64)을 또한 포함하며, 현재의 어드레스가 현재 마이크로명령을 제공하도록 사용된 제공수단(24,65)내에서의 어드레스가 되고, 제1지령난은 상기 인크리멘트된 현재 어드레스를 인에이블하여 상단 레지스터(71)로 전송되도록 하는 제1값을 가지며, 상기 인크리멘트된 어드레스는 리턴 어드레스가 되는 것을 특징으로 한 데이타 처리 시스템.
  20. 제18항에 있어서, 스토어수단(70)은 또한 제2값을 가지는 제1어드레스난과 제2값을 가지는 제2지령난에 응답하는 제1수단(86)을 포함하며, 리턴 어드레스를 유지하도록 금지안되는 인터럽트의 발생이 상단(71), 하단(74), 및 그 밖의 레지스터(72,73)내에 포함되는 것을 특징으로 한 데이타 처리 시스템.
  21. 제20항에 있어서, 제공수단(24,65)은 제1어드레스난, 제1지령난, 및 제2지령난을 가진 현재 마이크로명령을 수신하기 위해 스토어수단(24,65)에 결합된 출력레지스터(65)와, 부분적으로 제1수단(80-85, 90-95)을 인에이블하기 위해 제2값을 가진 제1어드레스난에 응답하며 출력레지스터(65)에 결합된 제1디크우딩수단(86)과, 출력레지스터(65)에 결합되어 부분적으로 제1수단(80-85,90-95)을 인에이블하기 위해 제2값을 가진 제2지령난에 용답하는 제2디코우딩수단(80-83)과, 제1수단(80-85,90-95)에 결합되어 부분적으로 제1수단(80-85,90-95)을 인에이블하기 위해 인터럽트의 발생에 응답하는 인터럽트 수단(54)으로 구성된 것을 특징으로 한 데이타 처리 시스템.
  22. 제21항에 있어서, 제1값을 가진 제1어드레스난, 제1값을 가진 제1지령난, 제1값을 가진 제2지령난은 마이크로명령내에서 서브루틴으로 브랜치하는 것이며, 제2값을 가진 제1어드레스난은 서브루틴과 인터럽트 서비스루틴의 최종 마이크로명령내에 제광되는 것을 특징으로 한 데이타 처리 시스템.
  23. 제18항에 있어서, 상기 지령난들주의 하나가, 제1값을 가진 제1어드레스난에 의해 규정된 서브루틴으로의 브랜치가 어느 규정된 상태가 충족될때만 수행되도록 규정하는 것을 특징으로 한 데이타처리 시스템.
  24. 제18항에 있어서, 제1어드레스난은 제1지령난과 독립된 것을 특징으로 데이타 시스템.
  25. 제24항에 있어서, 제2지령난은 제1지령난과 독립된 것을 특징으로 한 데이타 처리 시스템.
  26. 제18항에 있어서, 다수의 레지스터들(71-74)은 다수의 쉬프트 레지스터(70A-70L)들로 구성된 것을 특징으로 하는 데이타 처리 시스템.
  27. 제1항에 있어서, 상기 브랜치 수행단계 또는 인터럽트 발생단계는 상기 현재 마이크로 명령을 수행하도록 사용되는 동일 마이크로 싸이클내에서 이뤄질 수 있는 것을 특징으로 한 서브루틴 및 인터럽트 서비스루틴용 프로그램카운터 스택킹 방법.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019830005727A 1982-12-03 1983-12-03 서브 루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치 KR900007565B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US446748 1982-12-03
US06/446,748 US4488227A (en) 1982-12-03 1982-12-03 Program counter stacking method and apparatus for nested subroutines and interrupts

Publications (2)

Publication Number Publication Date
KR840007187A true KR840007187A (ko) 1984-12-05
KR900007565B1 KR900007565B1 (ko) 1990-10-15

Family

ID=23773700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019830005727A KR900007565B1 (ko) 1982-12-03 1983-12-03 서브 루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치

Country Status (11)

Country Link
US (1) US4488227A (ko)
EP (1) EP0111407B1 (ko)
JP (1) JPH0666051B2 (ko)
KR (1) KR900007565B1 (ko)
AU (1) AU573194B2 (ko)
BR (1) BR8306655A (ko)
CA (1) CA1205564A (ko)
FI (1) FI83458C (ko)
HK (1) HK64292A (ko)
SG (1) SG67692G (ko)
YU (1) YU45579B (ko)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4636944A (en) * 1984-01-17 1987-01-13 Concurrent Computer Corporation Multi-level priority micro-interrupt controller
US4792890A (en) * 1985-12-31 1988-12-20 International Business Machines Corp. Method for resolving conflicts between interrupt sources sharing the same priority level
US5161217A (en) * 1986-10-14 1992-11-03 Bull Hn Information Systems Inc. Buffered address stack register with parallel input registers and overflow protection
JPS63108457A (ja) * 1986-10-24 1988-05-13 Brother Ind Ltd デ−タ処理装置
US4800491A (en) * 1986-11-17 1989-01-24 General Electric Company Register-stack apparatus
US5179688A (en) * 1987-06-30 1993-01-12 Tandem Computers Incorporated Queue system with uninterrupted transfer of data through intermediate locations to selected queue location
US5193205A (en) * 1988-03-01 1993-03-09 Mitsubishi Denki Kabushiki Kaisha Pipeline processor, with return address stack storing only pre-return processed address for judging validity and correction of unprocessed address
US4965716A (en) * 1988-03-11 1990-10-23 International Business Machines Corporation Fast access priority queue for managing multiple messages at a communications node or managing multiple programs in a multiprogrammed data processor
US5287483A (en) * 1988-07-06 1994-02-15 Kabushiki Kaisha Toshiba Prefetched operand storing system for an information processor
US5321823A (en) * 1988-07-20 1994-06-14 Digital Equipment Corporation Digital processor with bit mask for counting registers for fast register saves
US5117498A (en) * 1988-08-19 1992-05-26 Motorola, Inc. Processer with flexible return from subroutine
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
JPH02190937A (ja) * 1989-01-19 1990-07-26 Sanyo Electric Co Ltd マイクロコンピュータの割り込み回路
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
DE69114321T2 (de) * 1990-02-20 1996-07-18 Nec Corp Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
JPH0437927A (ja) * 1990-06-01 1992-02-07 Sony Corp プロセッサの処理方法
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
JPH0831041B2 (ja) * 1991-09-06 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション プログラム条件処理方法およびコンピュータ・システム
US5455949A (en) * 1991-09-06 1995-10-03 International Business Machines Corporation Method for representing and signaling run-time program conditions
JP3182438B2 (ja) * 1991-10-28 2001-07-03 株式会社日立製作所 データプロセッサ
US5448707A (en) * 1991-10-29 1995-09-05 Intel Corporation Mechanism to protect data saved on a local register cache during inter-subsystem calls and returns
US5274817A (en) * 1991-12-23 1993-12-28 Caterpillar Inc. Method for executing subroutine calls
JP3211423B2 (ja) * 1992-10-13 2001-09-25 ソニー株式会社 分岐命令実行方法および分岐命令実行装置
US5640548A (en) * 1992-10-19 1997-06-17 Motorola, Inc. Method and apparatus for unstacking registers in a data processing system
US5450349A (en) * 1992-10-27 1995-09-12 Digital Equipment Corporation Computer system performance evaluation system and method
JPH0749790A (ja) * 1993-06-01 1995-02-21 Matsushita Electric Ind Co Ltd プロセッサにおける割り込み制御方法及び割り込み制御回路
US5701479A (en) * 1993-06-15 1997-12-23 Xerox Corporation Pipelined image processing system for a single application environment
US5396616A (en) * 1993-06-15 1995-03-07 Xerox Corporation System for emulating multi-tasking pipelines in a single tasking environment
US5995996A (en) * 1993-06-15 1999-11-30 Xerox Corporation Pipelined image processing system for a single application environment
US5553259A (en) * 1993-07-16 1996-09-03 Unisys Corporation Apparatus and method for synchronizing the simultaneous loading of cache program word addresses in dual slice registers
US5922070A (en) * 1994-01-11 1999-07-13 Texas Instruments Incorporated Pipelined data processing including program counter recycling
US5537541A (en) * 1994-08-16 1996-07-16 Digital Equipment Corporation System independent interface for performance counters
US5671422A (en) * 1994-11-14 1997-09-23 Intel Corporation Method and apparatus for switching between the modes of a processor
JP3504355B2 (ja) * 1994-12-06 2004-03-08 松下電器産業株式会社 プロセッサ
US6081880A (en) * 1995-03-09 2000-06-27 Lsi Logic Corporation Processor having a scalable, uni/multi-dimensional, and virtually/physically addressed operand register file
US6052801A (en) * 1995-05-10 2000-04-18 Intel Corporation Method and apparatus for providing breakpoints on a selectable address range
US5966529A (en) * 1995-05-15 1999-10-12 Zsp Corporation Processor having auxiliary operand register file and complementary arrangements for non-disruptively performing adjunct execution
US5659679A (en) * 1995-05-30 1997-08-19 Intel Corporation Method and apparatus for providing breakpoints on taken jumps and for providing software profiling in a computer system
US5740413A (en) * 1995-06-19 1998-04-14 Intel Corporation Method and apparatus for providing address breakpoints, branch breakpoints, and single stepping
US5621886A (en) * 1995-06-19 1997-04-15 Intel Corporation Method and apparatus for providing efficient software debugging
KR100381876B1 (ko) * 1995-07-03 2003-07-18 텍사스 인스트루먼츠 인코포레이티드 프로그램카운팅시스템및카운터의동작방법
US5732272A (en) * 1995-07-31 1998-03-24 Apple Computer, Inc. Subroutine execution time tracer
US5900025A (en) * 1995-09-12 1999-05-04 Zsp Corporation Processor having a hierarchical control register file and methods for operating the same
DE19535546B4 (de) * 1995-09-25 2004-04-08 Siemens Ag Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
CA2159979C (en) * 1995-10-05 1999-05-25 Arthur Lai Methology to link any pci rom based device using a single software or hardware interrupt vector in pc system at runtime
JP2850808B2 (ja) * 1995-10-31 1999-01-27 日本電気株式会社 データ処理装置およびデータ処理方法
US5606703A (en) * 1995-12-06 1997-02-25 International Business Machines Corporation Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures
US5761491A (en) * 1996-04-15 1998-06-02 Motorola Inc. Data processing system and method for storing and restoring a stack pointer
US6070218A (en) * 1998-01-16 2000-05-30 Lsi Logic Corporation Interrupt capture and hold mechanism
US6065088A (en) 1998-08-31 2000-05-16 International Business Machines Corporation System and method for interrupt command queuing and ordering
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US6934939B2 (en) * 2001-02-28 2005-08-23 International Business Machines Corporation Method for unwinding a program call stack
US7231511B2 (en) * 2001-12-20 2007-06-12 Intel Corporation Microinstruction pointer stack including speculative pointers for out-of-order execution
US7206884B2 (en) * 2004-02-11 2007-04-17 Arm Limited Interrupt priority control within a nested interrupt system
US7607133B2 (en) * 2004-02-11 2009-10-20 Arm Limited Interrupt processing control
GB2478733B (en) 2010-03-15 2013-08-14 Advanced Risc Mach Ltd Apparatus and method for handling exception events
DE102011005209B4 (de) 2011-03-07 2016-06-23 Infineon Technologies Ag Programmanweisungsgesteuerte Instruktionsflusskontrolle
US9477834B2 (en) 2012-02-08 2016-10-25 Arm Limited Maintaining secure data isolated from non-secure access when switching between domains
US10210349B2 (en) 2012-02-08 2019-02-19 Arm Limited Data processing apparatus and method using secure domain and less secure domain
US9116711B2 (en) 2012-02-08 2015-08-25 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US9213828B2 (en) * 2012-02-08 2015-12-15 Arm Limited Data processing apparatus and method for protecting secure data and program code from non-secure access when switching between secure and less secure domains
US9202071B2 (en) 2012-02-08 2015-12-01 Arm Limited Exception handling in a data processing apparatus having a secure domain and a less secure domain
US9361115B2 (en) 2012-06-15 2016-06-07 International Business Machines Corporation Saving/restoring selected registers in transactional processing
US9336046B2 (en) 2012-06-15 2016-05-10 International Business Machines Corporation Transaction abort processing
US8682877B2 (en) 2012-06-15 2014-03-25 International Business Machines Corporation Constrained transaction execution
US9367323B2 (en) 2012-06-15 2016-06-14 International Business Machines Corporation Processor assist facility
US9436477B2 (en) 2012-06-15 2016-09-06 International Business Machines Corporation Transaction abort instruction
US9348642B2 (en) 2012-06-15 2016-05-24 International Business Machines Corporation Transaction begin/end instructions
US9772854B2 (en) 2012-06-15 2017-09-26 International Business Machines Corporation Selectively controlling instruction execution in transactional processing
US9384004B2 (en) 2012-06-15 2016-07-05 International Business Machines Corporation Randomized testing within transactional execution
US9317460B2 (en) * 2012-06-15 2016-04-19 International Business Machines Corporation Program event recording within a transactional environment
US9442737B2 (en) 2012-06-15 2016-09-13 International Business Machines Corporation Restricting processing within a processor to facilitate transaction completion
US8688661B2 (en) 2012-06-15 2014-04-01 International Business Machines Corporation Transactional processing
US10437602B2 (en) 2012-06-15 2019-10-08 International Business Machines Corporation Program interruption filtering in transactional execution
US9448796B2 (en) 2012-06-15 2016-09-20 International Business Machines Corporation Restricted instructions in transactional execution
US9740549B2 (en) 2012-06-15 2017-08-22 International Business Machines Corporation Facilitating transaction completion subsequent to repeated aborts of the transaction
US20130339680A1 (en) 2012-06-15 2013-12-19 International Business Machines Corporation Nontransactional store instruction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253425A5 (ko) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3909797A (en) * 1973-12-13 1975-09-30 Honeywell Inf Systems Data processing system utilizing control store unit and push down stack for nested subroutines
JPS50128429A (ko) * 1974-03-28 1975-10-09
US4287559A (en) * 1977-02-09 1981-09-01 Texas Instruments Incorporated Electronic microprocessor system having two cycle branch logic
JPS54106142A (en) * 1978-02-08 1979-08-20 Nec Corp Data processor
JPS5552152A (en) * 1978-10-13 1980-04-16 Hitachi Ltd Control system for program address
US4340933A (en) * 1979-02-12 1982-07-20 Honeywell Information Systems Inc. Data processing system having centralized nonexistent memory address detection
JPS564943A (en) * 1979-06-26 1981-01-19 Nec Corp Noise removing unit
US4398244A (en) * 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US4438492A (en) * 1980-08-01 1984-03-20 Advanced Micro Devices, Inc. Interruptable microprogram controller for microcomputer systems

Also Published As

Publication number Publication date
BR8306655A (pt) 1984-07-17
CA1205564A (en) 1986-06-03
KR900007565B1 (ko) 1990-10-15
FI834414A0 (fi) 1983-12-02
JPH0666051B2 (ja) 1994-08-24
AU2160783A (en) 1984-06-07
FI83458B (fi) 1991-03-28
AU573194B2 (en) 1988-06-02
YU236183A (en) 1986-10-31
EP0111407A3 (en) 1984-07-18
EP0111407B1 (en) 1992-04-29
HK64292A (en) 1992-09-04
YU45579B (sh) 1992-07-20
US4488227A (en) 1984-12-11
FI83458C (fi) 1991-07-10
EP0111407A2 (en) 1984-06-20
SG67692G (en) 1992-12-04
JPS59111542A (ja) 1984-06-27
FI834414A (fi) 1984-06-04

Similar Documents

Publication Publication Date Title
KR840007187A (ko) 서브루틴 및 인터럽트용 프로그램 카운터 스택킹 방법 및 장치
US4179731A (en) Microprogrammed control system
US3988719A (en) Microprogrammed data processing systems
US4636944A (en) Multi-level priority micro-interrupt controller
EP0330226B1 (en) Apparatus of and method for executing subprogram in bank switching data processing system
JPS59133650A (ja) マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法
EP0025087A2 (en) Pipeline Control apparatus for generating Instructions in a Digital Computer
US4821183A (en) A microsequencer circuit with plural microprogrom instruction counters
EP0522513A2 (en) High speed parallel microcode program controller
EP0144779B1 (en) Parallel processing computer
CA1037159A (en) Processing link control system for data processing equipment
US4370729A (en) Microprogram sequencer
US4251862A (en) Control store organization in a microprogrammed data processing system
US5032983A (en) Entry point mapping and skipping method and apparatus
US4674063A (en) Information processing apparatus having a sequence control function
KR920006769B1 (ko) 사전에 결정된-순서대로 두 개의 명령 시이퀀스를 실행하는 방법 및 장치
EP0105125A2 (en) Data processing system
GB2148562A (en) Computers
JPS63141131A (ja) パイプライン制御方式
JP2506874B2 (ja) マイクロプログラム制御装置
KR840003081A (ko) 마이크로 프로그램 제어방식
JPH0290324A (ja) マイクロプログラム制御装置
JPS60181837A (ja) エクスキユ−ト命令処理方式
JPS599759A (ja) マイクロコンピユ−タによる複数処理手続の多重処理方法
CA1217566A (en) Real-time data processing system for processing time period commands

Legal Events

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

Payment date: 19951005

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee